diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index 75a7940e3..d63679ccb 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -1,72 +1,107 @@ -# Welcome to the Reactime contributing guide! +# Contributing to Reactime :sparkles: -Thank you for investing your time in contributing to our project! :sparkles:. +Thank you for your interest in making Reactime even better! :heart_eyes: Your help is invaluable, and we appreciate every contribution, big or small. This guide will walk you through the process of opening issues, creating pull requests, and navigating our workflow. -In this guide you will get an overview of the contribution workflow from opening an issue, creating a PR, reviewing, and merging the PR. +## New Contributor Guide :hatching_chick: -## New contributor guide +Whether you’re brand new to open source or a seasoned pro, we encourage you to: -To get an overview of the project, read the [README](README.md). Here are some resources to help you get started with open source contributions: +- **Check out our [README](README.md).** + It’ll give you a birds-eye view of what Reactime does and how you can get involved. +- **Explore these helpful resources:** + - [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) + - [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) + - [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) + - [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) -- [Finding ways to contribute to open source on GitHub](https://docs.github.com/en/get-started/exploring-projects-on-github/finding-ways-to-contribute-to-open-source-on-github) -- [Set up Git](https://docs.github.com/en/get-started/quickstart/set-up-git) -- [GitHub flow](https://docs.github.com/en/get-started/quickstart/github-flow) -- [Collaborating with pull requests](https://docs.github.com/en/github/collaborating-with-pull-requests) +## Getting Started :rocket: -## Getting started +If you want to understand the codebase in more detail, take a look at our [Developer Guidelines](src/DEVELOPER_README.md). :confetti_ball: -To navigate our codebase with confidence, see the [Developer Guidelines](src/DEVELOPER_README.md) :confetti_ball:. +### Issues :eyes: -### Issues +#### Creating a New Issue :new: -#### Create a new issue +1. **Check existing issues.** + Before opening a new issue, please [search if it already exists](https://github.com/open-source-labs/reactime/issues). -If you spot a problem with the docs, [search if an issue already exists](https://github.com/open-source-labs/reactime/issues). If a related issue doesn't exist, you can open a new issue using a relevant [issue form](https://github.com/open-source-labs/reactime/issues/new). +2. **Open your own issue.** + If you can’t find an existing issue, feel free to [open a new one](https://github.com/open-source-labs/reactime/issues/new) to report bugs, request features, or suggest improvements. -#### Solve an issue +#### Solving an Issue :wrench: -Scan through our [existing issues](https://github.com/open-source-labs/reactime/issues) to find one that interests you. As a general rule, we don’t assign issues to anyone. If you find an issue to work on, you are welcome to open a PR with a fix. +1. **Pick an issue.** + Browse through our [open issues](https://github.com/open-source-labs/reactime/issues). We don’t officially assign them, so if something sparks your interest, go for it! -### Make Changes +2. **Open a pull request.** + Once you’re ready to propose a fix or feature, you can open a PR referencing the issue you’re solving. -#### Make changes in the UI +### Make Changes :rainbow: -Click **Make a contribution** at the bottom of any docs page to make small changes such as a typo, sentence fix, or a broken link. This takes you to the `.md` file where you can make your changes and [create a pull request](#pull-request) for a review. +#### Small Edits in the UI :pencil2: -#### Make changes locally +- Click **Make a contribution** at the bottom of any documentation page to quickly fix typos, broken links, or small wording changes. +- This will take you directly to the `.md` file, where you can make edits and open a pull request. -1. [Install Git LFS](https://docs.github.com/en/github/managing-large-files/versioning-large-files/installing-git-large-file-storage). +#### Larger Changes Locally :computer: -2. Fork the repository. +1. **Install Git LFS.** + Follow the instructions [here](https://docs.github.com/en/github/managing-large-files/versioning-large-files/installing-git-large-file-storage). -- Using GitHub Desktop: +2. **Fork the Repository.** - - [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) will guide you through setting up Desktop. - - Once Desktop is set up, you can use it to [fork the repo](https://github.com/open-source-labs/reactime.git)! + - **GitHub Desktop:** + [Getting started with GitHub Desktop](https://docs.github.com/en/desktop/installing-and-configuring-github-desktop/getting-started-with-github-desktop) walks you through setup. Then, you can [fork the repo](https://github.com/open-source-labs/reactime.git) right from GitHub Desktop! + - **Command Line:** + [Fork the repo](https://github.com/open-source-labs/reactime.git) and clone your fork locally so you can work on your own copy. -- Using the command line: - - [Fork the repo](https://github.com/open-source-labs/reactime.git) so that you can make your changes without affecting the original project until you're ready to merge them. +3. **Create a working branch.** + Name it something descriptive (e.g., `feature/new-feature` or `fix/typo-in-docs`). -3. Create a working branch and start with your changes! +### Commit Your Changes :white_check_mark: -### Commit your update +When you’re happy with your updates: -Commit the changes once you are happy with them. +1. **Commit them locally.** + Write clear commit messages describing _what_ you changed and _why_. -### Pull Request +2. **Push to your branch.** + This makes your changes visible on GitHub. -When you're finished with the changes, create a pull request, also known as a PR. +### Open a Pull Request :arrows_counterclockwise: -- Fill the "Ready for review" template so that we can review your PR. This template helps reviewers understand your changes as well as the purpose of your pull request. -- Don't forget to [link PR to issue](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) if you are solving one. -- Enable the checkbox to [allow maintainer edits](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/allowing-changes-to-a-pull-request-branch-created-from-a-fork) so the branch can be updated for a merge. - Once you submit your PR, a Docs team member will review your proposal. We may ask questions or request additional information. -- We may ask for changes to be made before a PR can be merged, either using [suggested changes](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/incorporating-feedback-in-your-pull-request) or pull request comments. You can apply suggested changes directly through the UI. You can make any other changes in your fork, then commit them to your branch. -- As you update your PR and apply changes, mark each conversation as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations). -- If you run into any merge issues, checkout this [git tutorial](https://github.com/skills/resolve-merge-conflicts) to help you resolve merge conflicts and other issues. +Once you’ve finished working and pushed your code: -### Your PR is merged! +1. **Create the PR.** + Click on **Compare & pull request** on your branch to open a new PR. -Congratulations :tada::tada: The Reactime team thanks you! :sparkles:. +2. **Fill the “Ready for review” template.** + This helps reviewers quickly understand the context and purpose of your changes. -Once your PR is merged, your contributions will be publicly visible on [Reactime](https://github.com/open-source-labs/reactime)! +3. **Link Issues.** + If your PR fixes or relates to an existing issue, [link it](https://docs.github.com/en/issues/tracking-your-work-with-issues/linking-a-pull-request-to-an-issue) in the PR description. + +4. **Allow Maintainer Edits.** + Check the box so our team can help update your branch if needed. + +5. **Address Feedback.** + If reviewers suggest changes, you can: + + - Apply **suggested changes** directly on the GitHub UI. + - Make edits in your local branch and push them. + +6. **Resolve Conversations.** + Mark each PR comment as [resolved](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/commenting-on-a-pull-request#resolving-conversations) once you’ve addressed it. + +7. **Handle Merge Conflicts.** + Check out [this tutorial](https://github.com/skills/resolve-merge-conflicts) if you get stuck. + +## Your PR is Merged! :tada: + +**Congratulations and thank you!** :dancer: :dancer: Once we merge your PR, your contributions become part of Reactime. We appreciate every contribution, and we hope you’ll stick around for more. + +> If you have any further questions or ideas, don’t hesitate to open another issue or join the conversation in the repo! + +--- + +Happy coding and welcome to the Reactime community! :sparkles: diff --git a/README.fr.md b/README.fr.md index ca9f0a2a5..86ac9d8e2 100644 --- a/README.fr.md +++ b/README.fr.md @@ -1,217 +1,269 @@ +

-
- -
+ + Outil de Performance React
- Outil de Performance pour React -
- Nominé aux React Open Source Awards 2020 + 🏆 Nominé pour les React Open Source Awards 2020

-

Reactime est un outil de performance et de débogage pour les développeurs React. Reactime enregistre un snapshot à chaque fois que l'état d'une application cible est modifié et permet à l'utilisateur de passer à tout état précédemment enregistré.

- +

Une puissante extension Chrome qui améliore le développement React grâce au débogage avec retour dans le temps et à la surveillance avancée des performances


+

- - GitHub + + Chrome Web Store - - Build Status + + Utilisateurs sur le Chrome Web Store - - npm version + + Évaluation sur le Chrome Web Store - BabelPresetPrefs - LintPrefs

- -

- 🇷🇺   РУССКАЯ ВЕРСИЯ   •   🇺🇸   ENGLISH VERSION + 🇷🇺   РУССКАЯ ВЕРСИЯ   •   🇺🇸   ENGLISH VERSION   •   👩‍💻 README Développeur

- +

-

Website -

+##

✨ Fonctionnalités Clés

-##

Caractéristiques

+### 🔍 Visualisation de l'État -### 🔹 L'Exposition +- **Vues Multiples** : Visualisez l’état de votre application via des Graphiques de Composants, des Arborescences JSON, des Graphiques de Performances et des Arbres d’Accessibilité +- **Historique Chronologique** : Suivez l’évolution de l’état dans le temps grâce à une représentation intuitive de l’historique +- **Métriques Web** : Surveillez en temps réel les métriques de performance essentielles +- **Aperçus d’Accessibilité** : Analysez l’arbre d’accessibilité de votre application pour chaque changement d’état +
-Vous pouvez afficher la structure des fichiers de votre application et cliquer sur un instantané pour afficher l'état de votre application. L'état peut être visualisé dans un graphique de composants, une arborescence JSON ou un graphique de performances. Les instantanés peuvent être comparés à l'instantané précédent, qui peut être visualisé en mode Diff. -
-
+

Sur la page principale, vous disposez de deux choix principaux depuis le menu déroulant :

+ +- **Timejump** : Consultez et naviguez dans l’historique des snapshots de l’état de votre application. Vous pouvez revenir à n’importe quel point dans le temps pour observer l’évolution de l’état au fil des modifications. Vous pouvez également utiliser le bouton de lecture pour rejouer chaque changement d’état automatiquement. +- **Providers / Consumers** : Comprenez mieux les dépendances de contexte de votre application et leurs interactions grâce à une visualisation des relations entre fournisseurs et consommateurs. +

- +


-### 🔹 Enregistrement +### ⏱️ Débogage avec Retour dans le Temps -Chaque fois que l'état est modifié (chaque fois que setState, useState est appelé), cette extension créera un instantané de l'arborescence d'état actuelle et l'enregistrera. Chaque instantané sera affiché dans Chrome DevTools sous le panneau Reactime. -
+- **Snapshots d’État** : Capturez et naviguez à travers l’historique d’état de votre application +- **Commandes de Lecture** : Rejouez automatiquement les changements d’état avec une vitesse ajustable +- **Points de Saut** : Naviguez instantanément vers n’importe quel état antérieur +- **Comparaisons Diff** : Comparez l’état entre différents snapshots +
+ +

+ +


-### 🔹 Série d'Instantanés et Comparaison d'Actions +### 📊 Analyse de Performance -Vous pouvez enregistrer une série d'instantanés d'état et l'utilizer pour analyser les changements dans les performances de rendu des composants entre la série d'instantanés actuelle et la série précédente. Vous pouvez également nommer les instantanés spécifiquement et comparer tous les instantanés avec le même nom. -
-
+- **Métriques de Composants** : Mesurez les temps de rendu et identifiez les goulets d’étranglement +- **Comparaison de Séries** : Comparez les performances sur différentes séries de changements d’état +- **Détection de Re-rendu** : Identifiez et corrigez les rendus inutiles +- **Web Vitals** : Surveillez les Core Web Vitals et d’autres métriques de performance +
+
-### 🔹 Comparaison des Composants +### 🔄 Prise en Charge des Frameworks Modernes -Lorsque vous avez sélectionné un instantané, un visualisation des composants individuels de l'instantané sera affichée. Cela peut être fait sous le même onglet de performances où les instantanés sont rendus. Vous pouvez également voir les détails d'un composant lorsque vous le survolez avec votre souris. -
+
-### 🔹 Importer/Exporter des Instantanés +### 💾 Persistance & Partage d’État -Vous pouvez exporter les instantanés sous forme de fichier JSON et les importer pour accéder aux arborescences d'état sur différentes sessions. -
-
+Reactime facilite la sauvegarde et le partage de l’historique d’état de votre application : + +- **Exporter l’Historique d’État** : Enregistrez vos snapshots sous forme de fichier JSON pour une analyse ultérieure ou pour les partager +- **Importer des Sessions Précédentes** : Chargez des snapshots enregistrés précédemment pour comparer les changements d’état entre différentes sessions +- **Analyse Inter-Session** : Comparez les performances et les changements d’état entre différentes sessions de développement +

- +


-### 🔹 Reconnexion et Statut +### 📚 Documentation Interactive -Si Reactime se déconnecte de l'application que vous surveillez, cliquez sur le bouton « Reconnect » pour reprendre votre travail. Il y a un petit cercle sur le bouton. Il sera vert si vous êtes connecté et rouge si vous êtes déconnecté. -
-
+Reactime propose une documentation complète pour aider les développeurs à comprendre son architecture et ses APIs. +Après avoir cloné ce référentiel, les développeurs peuvent simplement exécuter `npm run docs` à la racine et servir le fichier `/docs/index.html` généré dynamiquement, offrant : -

- -

+
-### 🔹 Optimisation du Rendu +

🎉 Nouveautés !

-L'un des problèmes les plus courants affectant les performances dans React est rednu plusieurs fois. Ce problème peut être résolu en vérifiant vos rendus dans le Onglet Performances dans Chrome DevTools sous le panneau Reactime. -
-
+La version 26.0 de Reactime propose une refonte complète de l’expérience de débogage React, avec : -### 🔹 Jumping +- **Nouvelle Visualisation des Données de Contexte** -Un utilisateur peut accéder à n'importe quel instantané précédemment enregistré à l'aide de la barre latérale d'actions. Si un utilisateur appuie sur le bouton « Jump » sur un instantané, il pourra voir les informations d'état à partir du moment où cet instantané a été créé pour la première fois. -
-
+ - Première visualisation des changements d’état du hook useContext + - Cartographie claire des relations fournisseur-consommateur + - Surveillance en temps réel de la valeur d’état du contexte + - Visualisation détaillée des données du fournisseur -### 🔹 Gatsby +- **Débogage avec Retour dans le Temps Amélioré** -Reactime offre un support complet pour les applications Gatsby. -
-
+ - Interface du curseur de temps repensée, positionnée à côté des snapshots + - Contrôles de vitesse de lecture variables + - Navigation plus intuitive dans l’état + - Visualisation de snapshot améliorée -### 🔹 Next.js +- **Refonte Complète de l’UI Moderne** -Reactime propose des outils de débogage et de performances pour les applications Next.js : débogage de voyage dans le temps, évitant les rendus de composants inutiles et rendant votre application plus rapide. -
-
+ - Design élégant et contemporain avec composants arrondis + - Améliorations de la disposition pour une meilleure intuitivité + - Nouveau mode sombre + - Hiérarchie visuelle améliorée -### 🔹 Remix +- **Améliorations Techniques Majeures** + - Correction de la persistance de connexion lors de périodes d’inactivité et de changements d’onglet + - Restauration de la visualisation de l’arbre d’accessibilité + - Résolution de problèmes de capture d’état pour les hooks useState basés sur des fonctions + - Fiabilité et performance globales de l’extension grandement améliorées -Reactime propose des outils de débogage et de performances pour les applications Remix (en version bêta). +Ces mises à jour rendent Reactime plus puissant, plus fiable et plus convivial que jamais, établissant un nouveau standard pour les outils de débogage React. + +Pour en savoir plus sur les versions précédentes, cliquez ici !

-### 🔹 TypeScript +

🚀 Bien Commencer

-Reactime offre la prise en charge des applications TypeScript utilisant des composants de classe avec état et des composants fonctionnels. Des tests et un développement supplémentaires sont nécessaires pour les hooks personnalisés. -
-
+### Installation -### Documentation +1. Installez l’[extension Reactime](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) depuis le Chrome Web Store +2. Installez l’extension requise [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) si vous ne l’avez pas déjà -Après avoir cloné ce référentiel, les développeurs peuvent simplement exécuter `npm run docs` au niveau racine et servir le fichier `/docs/index.html` généré dynamiquement sur un navigateur. Cela fournira une vue GUI lisible, extensible et interactive de la structure et des interfaces de la base de code. -
-
+### Prérequis -### Caractéristiques Supplémentaires +- Votre application React doit fonctionner en **mode développement** +- L’extension React Developer Tools doit être installée +- Navigateur Chrome (version 80 ou supérieure recommandée) -- Tutoriels pour des onglets spécifiques -- Passez la souris sur un composant pour afficher les détails de l'état -- Double-cliquez pour masquer les composants enfants -- Cliquez pour vous concentrer sur une partie de la carte des composants -- A dropdown to support the development of projects on multiple tabs -- Une liste déroulante pour accompagner le développement de projets sur plusieurs onglets -- Fonctionnalité verrouillée/déverrouillée permettant une pause temporaire de la surveillance de l'état -- Visualisation des propriétés à la fois en couleur et en épaisseur des branches reliant les composants -- Barre de chaleur sous le menu supérieur +### Lancer Reactime -

Quoi de Neuf!

+Il existe deux manières d’ouvrir le panneau Reactime : -Reactime 25.0 comprend une nouvelle fonctionnalité de visualisation des propriétés et une barre de chaleur pour les développeurs ! +1. **Menu Contextuel** -Nous avons également résolu les problèmes de gel signalés précédemment au démarrage et avons amélioré la bibliothèque Jest, qui est maintenant en bien meilleur état qu'avant, avec la plupart des tests fonctionnant correctement. + - Faites un clic droit n’importe où dans votre application React + - Sélectionnez "Reactime" dans le menu contextuel -Une partie de l'interface utilisateur a été réorganisée pour être plus esthétiquement agréable et pour rendre la fenêtre principale plus grande pour l'affichage de l'arbre des composants dans le processus. +2. **DevTools** + - Ouvrez les DevTools de Chrome (F12 ou ⌘+⌥+I) + - Naviguez jusqu’à l’onglet "Reactime" -Regarder Plus Profondément +Une fois lancé, Reactime commencera automatiquement à surveiller les changements d’état et les métriques de performance de votre application. +
+
-En résolvant les problèmes persistants de déconnexion/d'écran noir qui affectaient parfois les utilisateurs lors de l'utilisation régulière de l'application, nous avons apporté des améliorations décisives en supprimant la fonction « keepAlive » et en implémentant une logique robuste pour résoudre le problème principal. Cela nous a permis d'affiner le protocole de communication entre notre application et le navigateur, offrant ainsi une connexion plus cohérente et stable. Cela offre aux utilisateurs une voie de récupération rapide et constitue également une couche de protection supplémentaire contre toute déconnexion inattendue à l'avenir. +

🤝 Contribuer à Reactime

-Pour améliorer la maintenabilité, l'évolutivité et la longévité, nous avons mis à jour et supprimé progressivement certaines dépendances. Nous nous sommes éloignés de la bibliothèque Immer et avons transféré notre gestion d'état pour utiliser Redux Toolkit, tout en mettant à niveau l'API Web Vitals de la version 1.1.2 à 3.5.0, nous permettant d'utiliser une gamme plus large de métriques Web. Dans le cadre de cette transition, nous avons également converti tous les tests existants pour qu'ils fonctionnent avec le système de gestion d'état mis à jour, tout en élargissant encore les suites de tests pour augmenter la couverture globale des tests. Enfin, nous avons obtenu une augmentation notable de la couverture TypeScript, renforçant la qualité du code et la détection précoce des problèmes de développement potentiels. +Nous accueillons avec joie les contributions de développeurs de tous niveaux ! Voici comment vous pouvez aider à améliorer Reactime: 🙋 Contributing README -Nous avons apporté de nombreux changements destinés à améliorer l'expérience utilisateur. Le premier est la fonction de reconnexion, conçue comme une mesure de protection pour les moments inattendus où un utilisateur est déconnecté. Lorsque cela se produit, une boîte de dialogue contextuelle intuitive apparaîtra instantanément, offrant aux utilisateurs un moyen transparent de replonger directement dans leur session, tout en offrant également la possibilité de télécharger des instantanés d'état enregistrés sous forme de fichier JSON. Nous avons également intégré un indicateur d'état dynamique qui affiche de manière transparente l'état actuel de l'application d'un utilisateur, indiquant s'il est en ligne ou hors ligne. Nous avons également enrichi l'application avec deux mesures de performances Web essentielles : « Cumulative Layout Shift » (CLS) et « Interaction to Next Paint » (INP). Ces mesures sont essentielles, car elles fournissent aux développeurs des informations sur la stabilité et la réactivité de la mise en page, leur permettant ainsi d'optimiser les interactions des utilisateurs avec précision. +1. **Commencer** -Si vous souhaitez en savoir plus sur les versions précédentes, cliquez ici ! + - Forkez le dépôt + - Consultez notre README Développeur détaillé + - Mettez en place votre environnement de développement local -

+2. **Processus de Build** -

Installation

+ - Suivez les instructions de build dans le README Développeur + - Testez soigneusement vos modifications + - Soumettez une Pull Request -Pour commencer, installer l’[extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) Reactime depuis le Chrome Web Store. +Rejoignez notre communauté grandissante de contributeurs et participez à façonner l’avenir des outils de débogage React ! Pour des lignes directrices de contribution plus détaillées et des informations sur l’architecture du projet, veuillez vous référer à notre 👩‍💻 README Développeur. +
+
-REMARQUE: L'[extension](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) React Developer Tools est également requise pour que Reactime s'exécute, si vous ne l'avez pas déjà installé sur votre navigateur. +

🛠️ Dépannage

-### Installation Alternative +### ❓ Pourquoi Reactime n’enregistre-t-il pas les nouveaux changements d’état ? -Utilisez `src/extension/build/build.zip` pour une installation manuelle en [mode Développeur](https://developer.chrome.com/extensions/faq#faq-dev-01). Activez "Autoriser l'accès aux URL de fichiers" dans la page des détails de l'extension si vous effectuez un test local. +Reactime a perdu sa connexion avec l’onglet que vous surveillez ; il vous suffit de cliquer sur le bouton "reconnecter" +pour reprendre votre travail. -### Voulez-vous contribuer à Reactime ? +### ❓ Pourquoi Reactime ne trouve-t-il pas mes hooks ? -Veuillez vous référer à la documentation du développeur pour un guide détaillé : +Reactime détecte et surveille les hooks en parcourant le code React non minifié de votre application en mode développement. Si votre processus de build minifie ou "uglifie" votre code — même pour les builds de développement — Reactime risque de ne pas pouvoir localiser et suivre correctement vos hooks. Pour résoudre ce problème : -Consultez [DEVELOPER README](src/README.md) pour plus d'informations sur le projet et des instructions sur la construction à partir des sources. +1. **Assurez-vous d’une vraie build de développement** : Vérifiez la configuration de votre bundler ou outil de build (par ex. Webpack, Babel, Vite, etc.) pour vous assurer que votre application n’est pas minimisée ou "uglifiée" en mode développement. -### Manuel + - Par exemple, avec Webpack, assurez-vous d’exécuter le mode : 'development', ce qui devrait désactiver la minification par défaut. + - Dans un projet Create React App, il suffit d’exécuter `npm start` ou `yarn start` pour configurer automatiquement une build de développement non minifiée. -Après avoir installé l’extension Chrome Reactime, ouvrez votre application dans le navigateur. +2. **Vérifiez les surcharges** : Assurez-vous qu’aucun plugin Babel ou Webpack personnalisé ne minifie votre code, surtout si vous utilisez des frameworks comme Next.js ou Gatsby. Parfois, des plugins ou scripts supplémentaires peuvent s’exécuter en arrière-plan. -Ensuite, ouvrez vos Chrome DevTools et accédez au panneau Reactime. +3. **Redémarrez & recompilez** : Après avoir modifié toute configuration de build, recompilez ou redémarrez votre serveur de développement pour vous assurer que la nouvelle configuration est prise en compte. Ensuite, rafraîchissez l’onglet de votre navigateur afin que Reactime puisse détecter vos hooks non minifiés. -## Diagnostic des anomalies +Après avoir modifié toute configuration de build, recompilez ou redémarrez votre serveur de développement pour vous assurer que la nouvelle configuration est prise en compte. Ensuite, rafraîchissez l’onglet de votre navigateur afin que Reactime puisse détecter vos hooks non minifiés. -### ❓ Que faire quand Reactime ne trouve pas d’application React? +### ❓ Pourquoi Reactime m’indique qu’aucune application React n’a été trouvée ? -Reactime s'exécute initialement à l'aide du hook global des outils de développement de l'API Chrome. Leur chargement dans Chrome peut prendre du temps. Essayez d'actualiser votre application plusieurs fois jusqu'à ce que Reactime s'exécute. +Reactime s’exécute initialement grâce au hook global des dev tools de Chrome. +Il faut du temps à Chrome pour le charger. Essayez de rafraîchir votre application plusieurs fois jusqu’à ce que vous voyiez Reactime en fonctionnement. -### ❓ Un écran noir s’affiche à la place de l’extension Reactime +### ❓ Pourquoi dois-je avoir les React Dev Tools activées ? -Essayez d'actualiser l'application que vous souhaitez tester et actualisez les DevTools en cliquant sur le bouton droit de la souris «Recharger le cadre». +Reactime fonctionne de concert avec les React Developer Tools pour accéder à l’arbre Fiber d’une application React ; en interne, Reactime parcourt l’arbre Fiber via le hook global des React Dev Tools, récupérant toutes les informations pertinentes à afficher au développeur. ### ❓ J’ai trouvé un bug dans Reactime -Reactime est un projet open source, et toute aide de vore part sera grandement appréciée pour nous aider à améliorer l'expérience utilisateur. Veuillez créer une pull request (ou un problème) pour proposer et collaborer sur les modifications apportées à un référentiel. +Reactime est un projet open-source, et nous serions ravis d’avoir vos retours pour améliorer l’expérience utilisateur. Veuillez consulter le 👩‍💻 README Développeur, +et créer une Pull Request (ou une issue) pour proposer et collaborer sur des modifications de Reactime. -## En savoir plus +### ❓ Compatibilité avec les versions Node -- [Reactime: Real-time Debugging, Timeless Results](https://medium.com/@kelvinmirhan/reactime-real-time-debugging-timeless-results-3f163b721d01) +Depuis la sortie de Node v18.12.1 (LTS) le 04/11/22, le script a été mis à jour avec +`npm run dev` | `npm run build` pour assurer une rétrocompatibilité.
+Pour la version Node v16.16.0, veuillez utiliser les scripts `npm run devlegacy` | `npm run buildlegacy` +
+
-## Auteurs +

✍️ Auteurs

+- **Garrett Chow** - [@garrettlchow](https://github.com/garrettlchow) +- **Ellie Simens** - [@elliesimens](https://github.com/elliesimens) +- **Ragad Mohammed** - [@ragad-mohammed](https://github.com/ragad-mohammed) +- **Daniel Ryczek** - [@dryczek14](https://github.com/dryczek01) +- **Patrice Pinardo** - [@pinardo88](https://github.com/pinardo88) - **Haider Ali** - [@hali03](https://github.com/hali03) - **Jose Luis Sanchez** - [@JoseSanchez1996](https://github.com/JoseSanchez1996) - **Logan Nelsen** - [@ljn16](https://github.com/ljn16) @@ -224,6 +276,14 @@ Reactime est un projet open source, et toute aide de vore part sera grandement a - **Eric Yun** - [@ericsngyun](https://github.com/ericsngyun) - **James Nghiem** - [@jemzir](https://github.com/jemzir) - **Wilton Lee** - [@wiltonlee948](https://github.com/wiltonlee948) +- **Louis Lam** - [@llam722](https://github.com/llam722) +- **Samuel Tran** - [@leumastr](https://github.com/leumastr) +- **Brian Yang** - [@yangbrian310](https://github.com/yangbrian310) +- **Emin Tahirov** - [@eminthrv](https://github.com/eminthrv) +- **Peng Dong** - [@d28601581](https://github.com/d28601581) +- **Ozair Ghulam** - [@ozairgh](https://github.com/ozairgh) +- **Christina Or** - [@christinaor](https://github.com/christinaor) +- **Khanh Bui** - [@AndyB909](https://github.com/AndyB909) - **David Kim** - [@codejunkie7](https://github.com/codejunkie7) - **Robby Tipton** - [@RobbyTipton](https://github.com/RobbyTipton) - **Kevin HoEun Lee** - [@khobread](https://github.com/khobread) @@ -233,7 +293,8 @@ Reactime est un projet open source, et toute aide de vore part sera grandement a - **Daljit Gill** - [@dgill05](https://github.com/dgill05) - **Ben Michareune** - [@bmichare](https://github.com/bmichare) - **Dane Corpion** - [@danecorpion](https://github.com/danecorpion) -- **Harry Fox** - [@StackOverFlowWhereArtThou](https://github.com/StackOverFlowWhereArtThou) +- **Harry Fox** - + [@StackOverFlowWhereArtThou](https://github.com/StackOverFlowWhereArtThou) - **Nathan Richardson** - [@BagelEnthusiast](https://github.com/BagelEnthusiast) - **David Bernstein** - [@dangitbobbeh](https://github.com/dangitbobbeh) - **Joseph Stern** - [@josephiswhere](https://github.com/josephiswhere) @@ -264,18 +325,19 @@ Reactime est un projet open source, et toute aide de vore part sera grandement a - **Bryan Lee** - [@mylee1995](https://github.com/mylee1995) - **Josh Kim** - [@joshua0308](https://github.com/joshua0308) - **Sierra Swaby** - [@starkspark](https://github.com/starkspark) -- **Ruth Anam** - [@peachiecodes](https://github.com/peachiecodes) +- **Ruth Anam** - [@nusanam](https://github.com/nusanam) - **David Chai** - [@davidchaidev](https://github.com/davidchai717) - **Yujin Kang** - [@yujinkay](https://github.com/yujinkay) -- **Andy Wong** - [@andywongdev](https://github.com/andywongdev) -- **Chris Flannery** - [@chriswillsflannery](https://github.com/chriswillsflannery) +- **Andy Wong** - [@andynullwong](https://github.com/andynullwong) +- **Chris Flannery** - + [@chriswillsflannery](https://github.com/chriswillsflannery) - **Rajeeb Banstola** - [@rajeebthegreat](https://github.com/rajeebthegreat) - **Prasanna Malla** - [@prasmalla](https://github.com/prasmalla) - **Rocky Lin** - [@rocky9413](https://github.com/rocky9413) - **Abaas Khorrami** - [@dubalol](https://github.com/dubalol) - **Ergi Shehu** - [@Ergi516](https://github.com/ergi516) - **Raymond Kwan** - [@rkwn](https://github.com/rkwn) -- **Joshua Howard** - [@Joshua-Howard](https://github.com/joshua-howard) +- **Joshua Howard** - [@joshua-howard](https://github.com/joshua-howard) - **Lina Shin** - [@rxlina](https://github.com/rxlina) - **Andy Tsou** - [@andytsou19](https://github.com/andytsou19) - **Feiyi Wu** - [@FreyaWu](https://github.com/FreyaWu) @@ -283,7 +345,7 @@ Reactime est un projet open source, et toute aide de vore part sera grandement a - **Alex Gomez** - [@alexgomez9](https://github.com/alexgomez9) - **Edar Liu** - [@liuedar](https://github.com/liuedar) - **Kristina Wallen** - [@kristinawallen](https://github.com/kristinawallen) -- **Quan Le** - [@blachfog](https://github.com/Blachfog) +- **Quan Le** - [@Blachfog](https://github.com/Blachfog) - **Robert Maeda** - [@robmaeda](https://github.com/robmaeda) - **Lance Ziegler** - [@lanceziegler](https://github.com/lanceziegler) - **Ngoc Zwolinski** - [@ngoczwolinski](https://github.com/ngoczwolinski) @@ -297,11 +359,21 @@ Reactime est un projet open source, et toute aide de vore part sera grandement a - **James McCollough** - [@j-mccoll](https://github.com/j-mccoll) - **Mike Bednarz** - [@mikebednarz](https://github.com/mikebednarz) - **Sergei Liubchenko** - [@sergeylvq](https://github.com/sergeylvq) +- **Yididia Ketema** - [@yididiaketema](https://github.com/yididiaketema) +- **Morah Geist** - [@morahgeist](https://github.com/morahgeist) +- **Eivind Del Fierro** - [@EivindDelFierro](https://github.com/EivindDelFierro) +- **Kyle Bell** - [@KyEBell](https://github.com/KyEBell) +- **Sean Kelly** - [@brok3turtl3](https://github.com/brok3turtl3) - **Christopher Stamper** - [@ctstamper](https://github.com/ctstamper) - **Jimmy Phy** - [@jimmally](https://github.com/jimmally) - **Andrew Byun** - [@AndrewByun](https://github.com/AndrewByun) - **Kelvin Mirhan** - [@kelvinmirhan](https://github.com/kelvinmirhan) +- **Jesse Rosengrant** - [@jrosengrant](https://github.com/jrosengrant) +- **Liam Donaher** - [@leebology](https://github.com/leebology) +- **David Moore** - [@Solodt55](https://github.com/Solodt55) +- **John Banks** - [@Jbanks123](https://github.com/Jbanks123) +
-## License +

⚖️ Licence

-Ce projet est sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails +Ce projet est distribué sous licence MIT - voir le fichier [LICENSE](LICENSE) pour plus de détails. diff --git a/README.md b/README.md index 186b6a7c6..f2a4a34ac 100644 --- a/README.md +++ b/README.md @@ -1,240 +1,238 @@

-
- -
-
+ React Performance Tool
- Nominated for React Open Source Awards 2020 + 🏆 Nominated for React Open Source Awards 2020

-

Reactime is an open-source Chrome developer tool for time travel debugging and performance monitoring in React applications. Reactime enables developers to record snapshots of application state, jump between and inspect state snapshots, and monitor performance metrics such as component render time and render frequency.

+

A powerful Chrome extension that enhances React development with time-travel debugging and advanced performance monitoring

+

Read our Medium Article to learn more about Reactime’s behind-the-scenes and development process!


+

- - GitHub + + Chrome Web Store + + + Chrome Web Store Users + + + Chrome Web Store Rating - LintPrefs


- 🇷🇺   РУССКАЯ ВЕРСИЯ   •   🇫🇷   VERSION FRANÇAISE   •   DEVELOPER README + 🇷🇺   РУССКАЯ ВЕРСИЯ   •   🇫🇷   VERSION FRANÇAISE   •   👩‍💻 Developer README

- +

-

- Website -

+##

✨ Key Features

-##

Features

+### 🔍 State Visualization -### 🔹 Viewing - -You can view your application's file structure and click on a snapshot to view -your app's state. State can be visualized in a Component Graph, JSON Tree, -Performance Graph, or the Accessibility Tree. Snapshot history can be visualized in the History tab. -The Web Metrics tab provides some useful metrics for site performance. The accessibility tab -visualizes an app's accessibility tree per state change. -Snapshots can be compared with the previous snapshot, which can be viewed in Diff mode. +- **Multiple Views**: Visualize your application state through Component Graphs, JSON Trees, Performance Graphs, and Accessibility Trees +- **History Timeline**: Track state changes over time with an intuitive history visualization +- **Web Metrics**: Monitor critical performance metrics in real-time +- **Accessibility Insights**: Analyze your app's accessibility tree for each state change +

On the main page, there are two main selections from the dropdown panel:

- -
-
+- **Timejump**: View and navigate through the snapshot history of your application's state. You can jump to any point in time to see how the state evolves across changes. You can also use the play button to replay each state change automatically. +- **Providers / Consumers**: Understand your application's context dependencies and their interactions better through visualizing its provider and consumer relationships. +

- +


-### 🔹 Recording +### ⏱️ Time-Travel Debugging -Whenever the state is changed (whenever setState, useState is called), this -extension will create a snapshot of the current state tree and record it. Each -snapshot will be displayed in Chrome DevTools under the Reactime panel. -
+- **State Snapshots**: Capture and navigate through your application's state history +- **Playback Controls**: Automatically replay state changes with adjustable speed +- **Jump Points**: Instantly navigate to any previous state +- **Diff Comparisons**: Compare states between snapshots +
+ +

+ +


-### 🔹 Snapshot Series and Action Comparison +### 📊 Performance Analysis -You can save a series of state snapshots and use it to analyze changes in -component render performance between the current and the previous series of snapshots. -You can also name specific snapshots and compare all snapshots with the same -name. -
-
+- **Component Metrics**: Track render times and performance bottlenecks +- **Series Comparison**: Compare performance across different sets of state changes +- **Re-render Detection**: Identify and fix unnecessary render cycles +- **Web Vitals**: Monitor Core Web Vitals and other performance metrics +
+
-### 🔹 Components Comparison +### 🔄 Modern Framework Support -When toggled to a specific snapshot, a visualization of the individual -components of the snapshot will be displayed. This can be done under the same -Performance tab where the snapshots are rendered. You will also find details of -each component upon hovering. -
-
+ +
-### 🔹 Download/Upload Snapshots +### 💾 State Persistence & Sharing -Download the recorded snapshots as a JSON file and upload them to access state trees across different sessions. -
-
+Reactime makes it easy to save and share your application's state history: + +- **Export State History**: Save your recorded snapshots as a JSON file for later analysis or sharing +- **Import Previous Sessions**: Upload previously saved snapshots to compare state changes across different sessions +- **Cross-Session Analysis**: Compare performance and state changes between different development sessions +

- +


-### 🔹 and Status +### 📚 Interactive Documentation -If Reactime loses its connection to the tab you're monitoring, simply click the "reconnect" button to resume your work. You'll notice a circle located to the right of the button, which will appear as either red (indicating disconnection) or green (signifying a successful reconnection). -
-
- -### 🔹 Re-render Optimization +Reactime provides comprehensive documentation to help developers understand its architecture and APIs: +After cloning this repository, developers can simply run `npm run docs` at the +root level and serve the dynamically generated `/docs/index.html` provding: -One of the most common issues that affects performance in React is unnecessary -render cycles. This problem can be fixed by checking your renders in the -Performance tab in Chrome DevTools under the Reactime panel. -
-
+ +
-### 🔹 Jump through your snapshots +

🎉 What's New!

-Each recorded snapshot comes with its own corresponding vertical slider. -By adjusting the slider a user can jump to any previously recorded snapshots. -Hitting the jump button on any snapshot will allow a user to view state data at -any point in the history of the target application. -
-
+Reactime 26.0 brings a complete overhaul to the React debugging experience, featuring: -### 🔹 Play through your snapshots +- **New Context Data Display** -Users can play through recorded snapshots using the Play/Pause button below the snapshots panel and adjust the playback speed to suit their needs. -
-
+ - First-ever visualization of useContext hook state changes + - Clear mapping of provider-consumer relationships + - Real-time context state value monitoring + - Detailed provider data visualization -### 🔹 Gatsby +- **Enhanced Time Travel Debugging** -Reactime offers full support for Gatsby applications. You would be able to -identify unnecessary renders, duration of each rendering, travel-debugging -features and visual representation of the tree components. -
-
+ - Redesigned slider interface positioned alongside snapshots + - Variable playback speed controls + - More intuitive state navigation + - Improved snapshot visualization -### 🔹 Next.js +- **Modern UI Overhaul** -Reactime offers debugging and performance tools for Next.js apps: time-traveling -debugging, preventing unnecessary component re-renders and making your -application faster. -
-
+ - Sleek, contemporary design with rounded components + - Intuitive layout improvements + - New dark mode support + - Enhanced visual hierarchy -### 🔹 Remix +- **Major Technical Improvements** + - Fixed connection persistence during idle time and tab switches + - Restored accessibility tree visualization + - Resolved state capture issues for function-based useState hooks + - Improved overall extension reliability and performance -Reactime offers debugging and performance tools for Remix apps (in beta). Support still -needs to be added for multi-route time traveling. Every other feature works. +These updates make Reactime more powerful, reliable, and user-friendly than ever before, setting a new standard for React debugging tools.

-### 🔹 TypeScript Support +

🚀 Getting Started

-Reactime offers support for TypeScript applications using stateful class -components and functional components. Further testing and development is -required for custom hooks and Concurrent Mode. -
-
+### Installation -### 🔹 Documentation +1. Install the [Reactime extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) from the Chrome Web Store +2. Install the required [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) extension if you haven't already -After cloning this repository, developers can simply run `npm run docs` at the -root level and serve the dynamically generated `/docs/index.html` file on a -browser. Doing so will provide a readable, extensible, and interactive GUI view -of the structure and interfaces of the codebase. -
-
+### Prerequisites -### Additional Features +- Your React application must be running in **development mode** +- React Developer Tools extension must be installed +- Chrome browser (version 80 or higher recommended) -- In-app tab-specific tutorial walkthroughs -- Hover over a component to view tooltip details on state visualizations -- Double-click to collapse child components -- Click to focus on a portion of the component map -- A dropdown to support the development of projects on multiple tabs -- Intuitive navigation between state snapshots -- Locked/unlocked feature allowing temporary pause of state monitoring -- Prop visualization both in color and tickness of the branches of connecting the components -- Heatmap bar underneath the top menu +### Launch Reactime -

What's New!

+There are two ways to open the Reactime panel: -Reactime 25.0 includes a new prop visualization feature and heatmap bar for developers! +1. **Context Menu** -We also addressed the previously reported freezing issues on start and brought up the Jest Library in much better condition as it was before; from 20% of the tests working to more than 85% now working correctly. + - Right-click anywhere on your React application + - Select "Reactime" from the context menu -Some of the UI was rearranged to be more aesthetically pleasing and render the main window bigger for the diplay of the component tree in the process. +2. **DevTools** + - Open Chrome DevTools (F12 or ⌘+⌥+I) + - Navigate to the "Reactime" tab -If you would like to read more about previous releases, click here! +Once launched, Reactime will automatically begin monitoring your application's state changes and performance metrics. +
+
-

+

🤝 Contributing to Reactime

-

Installation

+We welcome contributions from developers of all skill levels! For detailed guidelines on how to contribute: -To get started, install the Reactime -[extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) -from Chrome Web Store. +1. **Get Started** -After installing Reactime, you can test its functionalities with your React -application in development mode. + - Fork the repository + - Review our comprehensive Developer README + - Set up your local development environment -Please note, the time jumping feature will ONLY work when your -application is running in development mode. In production mode, you are -able to view your application’s component map but no additional features. +2. **Build Process** -NOTE: The React Developer Tools -[extension](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) -is also required for Reactime to run, if you do not already have it installed on -your browser. + - Follow our build instructions in the Developer README + - Test your changes thoroughly + - Submit a pull request -### Manual Installation +Join our growing community of contributors and help shape the future of React debugging tools! For detailed contribution guidelines and project architecture information, please refer to our 👩‍💻 Developer README and 🙋 Contributing README +
+
+ +

🛠️ Troubleshooting

-Go to Chrome Extensions (make sure Chrome Extension is in Developer Mode) for -manual installation in (https://developer.chrome.com/extensions/faq#faq-dev-01) -and click on Load Unpacked. Use `src/extension/build/` to load this extension. -Turn on 'Allow access to file URLs' in the extension details page if testing -locally. +### ❓ Why is Reactime not recording new state changes? -### Looking to contribute to Reactime? +Reactime lost its connection to the tab you're monitoring, simply click the "reconnect" button to resume your work. -Please refer to Developer Install for a detailed guide: +### ❓ Why isn’t Reactime finding my hooks? -Refer to the [DEVELOPER README](src/DEVELOPER_README.md) for more info on the project, and -instructions on building from source. +Reactime detects and monitors hooks by traversing your application’s unminified React code in development mode. If your build process is minifying or uglifying your code—even for development builds—Reactime may not be able to properly locate and track your hooks. To fix this: -### How to Use +1. **Ensure a true development build**: Double-check your bundler or build tool configuration (e.g., Webpack, Babel, Vite, etc.) to make sure that your application is not minimized or uglified in development mode. -After installing the Chrome extension, just open up your project in the browser. + - For example, with Webpack, make sure you’re running in mode: 'development', which should disable default minification. + - In a Create React App project, simply running npm start or yarn start will automatically configure a non-minified development build. -Then right click on your application and choose the 'Reactime' context menu item to open up a Reactime panel. +2. **Check for overrides**: Ensure there are no custom Babel or Webpack plugins that minify your code, especially if you’re using frameworks like Next.js or Gatsby. Sometimes additional plugins or scripts might be running under the hood. -Alternatively, you can open up your Chrome DevTools and navigate to the Reactime panel. +3. **Restart & rebuild**: After changing any build configuration, rebuild or restart your development server to ensure the new configuration is applied. Then refresh your browser tab so Reactime can detect your unminified hooks. -## Troubleshooting +After changing any build configuration, rebuild or restart your development server to ensure the new configuration is applied. Then refresh your browser tab so Reactime can detect your unminified hooks. ### ❓ Why is Reactime telling me that no React application is found? @@ -246,15 +244,10 @@ times until you see Reactime running. Reactime works in tandem with the React Developer Tools to access a React application's Fiber tree; under the hood, Reactime traverses the Fiber tree through the React Developer Tool's global hook, pulling all relevant information needed to display to the developer -### ❓ There is a black screen instead of the Reactime extension - -Try refreshing the application you want to test and refresh the DevTools by -clicking the right mouse button “Reload frame”. - ### ❓ I found a bug in Reactime Reactime is an open-source project, and we'd love to hear from you about -improving the user experience. Please read [DEVELOPER README](src/DEVELOPER_README.md), +improving the user experience. Please read the 👩‍💻 Developer README, and create a pull request (or issue) to propose and collaborate on changes to Reactime. ### ❓ Node version compatibility @@ -262,12 +255,11 @@ and create a pull request (or issue) to propose and collaborate on changes to Re With the release of Node v18.12.1(LTS) on 11/4/22, the script has been updated to 'npm run dev' | 'npm run build' for backwards compatibility.
For version Node v16.16.0, please use script 'npm run devlegacy' | 'npm run buildlegacy' +
+
-## Read More - -- [Relaunching Reactime: Updates and a New Accessibility Feature!](https://medium.com/@evaury/relaunching-reactime-updates-and-a-new-accessibility-feature-1f0fd3a5bd8c) +

✍️ Authors

-## Authors - **Garrett Chow** - [@garrettlchow](https://github.com/garrettlchow) - **Ellie Simens** - [@elliesimens](https://github.com/elliesimens) - **Ragad Mohammed** - [@ragad-mohammed](https://github.com/ragad-mohammed) @@ -381,8 +373,8 @@ Node v16.16.0, please use script 'npm run devlegacy' | 'npm run buildlegacy' - **Liam Donaher** - [@leebology](https://github.com/leebology) - **David Moore** - [@Solodt55](https://github.com/Solodt55) - **John Banks** - [@Jbanks123](https://github.com/Jbanks123) +
-## License +

⚖️ License

-This project is licensed under the MIT License - see the [LICENSE](LICENSE) file -for details. +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/README.rus.md b/README.rus.md index da2824f10..380f9f819 100644 --- a/README.rus.md +++ b/README.rus.md @@ -1,105 +1,258 @@ -

- -

- Отладка стейтов для приложений React - -
Номинирован на премию -
React Open Source Awards 2020 - + + Инструмент для анализа производительности React +
+ 🏆 Номинант на React Open Source Awards 2020 +

-[![GitHub](https://img.shields.io/github/license/oslabs-beta/reactime)](https://github.com/oslabs-beta/reactime) [![Build Status](https://travis-ci.com/oslabs-beta/reactime.svg?branch=master)](https://travis-ci.com/oslabs-beta/reactime) [![npm version](https://badge.fury.io/js/reactime.svg)](http://badge.fury.io/js/reactime) ![BabelPresetPrefs](https://img.shields.io/badge/babel%20preset-airbnb-ff69b4) ![LintPrefs](https://img.shields.io/badge/linted%20with-eslint-blueviolet) +

Мощное расширение Chrome, которое улучшает процесс разработки React за счёт отладки с путешествиями во времени и углублённого мониторинга производительности

+
+ +

+ + Chrome Web Store + + + Chrome Web Store Users + + + Chrome Web Store Rating + +


- 🇺🇸   ENGLISH VERSION   •   🇫🇷   VERSION FRANÇAISE + 🇺🇸   ENGLISH VERSION   •   🇫🇷   VERSION FRANÇAISE   •   👩‍💻 Руководство для разработчиков

- +

-Reactime 25.0 +##

✨ Ключевые особенности

-Reactime 25.0 включает в себя новую функцию визуализации свойств и тепловую панель для разработчиков! +### 🔍 Визуализация состояния -Мы также решили ранее сообщенные проблемы с зависанием при старте и значительно улучшили состояние библиотеки Jest, теперь большинство тестов работают корректно. +- **Разнообразные представления**: Отображение состояния приложения в виде графов компонентов, JSON-деревьев, графиков производительности и деревьев доступности +- **История изменений**: Отслеживайте изменения состояния во времени с удобной визуализацией истории +- **Метрики веб-приложения**: Отслеживайте важные метрики производительности в реальном времени +- **Аналитика доступности**: Анализируйте дерево доступности вашего приложения на каждом этапе изменения состояния +
-Некоторые элементы пользовательского интерфейса были перераспределены для более эстетически приятного вида и для отображения главного окна большего размера для отображения дерева компонентов в процессе. +

На главном экране доступны два основных выбора из выпадающего списка:

-Reactime - расширение для дебаггинга/отладки React приложений. Оно создает снэпшоты при каждом изменении состояния (state) и позволяет пользованию прыгать на любое предыдущее состояние (state).  -В настоящее время Reactime поддерживает React приложения с классовыми, функциональными компонентами, хуками и Context API. +- **Timejump**: Просматривайте и перемещайтесь по истории снимков состояния (snapshot) вашего приложения. Можно переместиться в любую точку во времени, чтобы увидеть, как состояние эволюционировало при изменениях. Также доступна кнопка воспроизведения, чтобы автоматически проиграть каждое изменение состояния. +- **Providers / Consumers**: Глубже понимайте зависимости контекста приложения и его взаимодействия, визуализируя отношения провайдеров и потребителей. +
+ +

+ +

+
-После загрузки Reactime вы можете протестировать его полную функциональность на любом вашем React приложении в режиме разработки (dev mode). В продакшен режиме вы можете только работать с картой компонентов. +### ⏱️ Отладка с путешествиями во времени -## Установка +- **Снимки состояния**: Фиксируйте и перемещайтесь по истории состояния приложения +- **Элементы управления воспроизведением**: Автоматически воспроизводите изменения состояния с регулировкой скорости +- **Точки мгновенного перехода**: Мгновенно возвращайтесь к любому предыдущему состоянию +- **Сравнение состояний**: Сравнивайте разницу между снимками состояния +
-Для начала использования приложения, скачайте Reactime [extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) из Chrome Web Store. +

+ +

+
-Внимание: Вам понадобится React Developer Tools [extension](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en) Вам не нужно запускать React DevTools, но расширение должно быть установлено в вашем браузере. +### 📊 Анализ производительности -### Альтернативная установка +- **Метрики компонентов**: Отслеживайте время рендера и узкие места в производительности +- **Сравнение серий**: Сопоставляйте производительность при разных наборах изменений состояния +- **Определение перерисовок**: Находите и исправляйте избыточные циклы рендера +- **Web Vitals**: Следите за Core Web Vitals и другими метриками +
+
-Используйте `src/extension/build/build.zip` для мануальной установки в [Developer mode](https://developer.chrome.com/extensions/faq#faq-dev-01). Включите 'Allow access to file URLs' в разделе с расширениями. +### 🔄 Поддержка современных фреймворков + + +
-## Как использовать +### 💾 Сохранение и обмен состоянием -После установки Chrome extension, просто откройте ваш проект в браузере. +Reactime упрощает сохранение и обмен историей состояния вашего приложения: -Затем откройте Chrome DevTools и найдите панель Reactime. +- **Экспорт истории**: Сохраняйте записанные снимки в JSON-файл для дальнейшего анализа или передачи +- **Импорт предыдущих сессий**: Загружайте ранее сохранённые снимки, чтобы сравнивать изменения состояния между разными сессиями +- **Межсессионный анализ**: Сопоставляйте производительность и изменения состояния между разными этапами разработки +
-## Устраняем проблемы +

+ +

+
-### Почему Reactime говорит, что приложение React не найдено? +### 📚 Интерактивная документация + +Reactime предлагает обширную документацию, помогающую разработчикам разобраться в архитектуре и API инструмента. После клонирования репозитория достаточно запустить `npm run docs` в корневой директории, а затем открыть сгенерированный файл `/docs/index.html`, в котором представлены: + + +
-Reactime работает при использовании глобального хука DevTools, его загрузка может занимать некоторое время у Chrome браузера. Попробуйте обновить ваше приложение. +

🎉 Что нового!

-### Вместо Reactime - черный экран +Версия Reactime 26.0 предлагает полное обновление инструмента отладки React, включая: -Попробуйте обновить приложение, которые вы хотите отладить или обновите панель Reactime. Сделать это можно кликом правой кнопки “Reload the frame”. +- **Новый показ данных контекста** -### Я нашел ошибки при работе Reactime + - Первая в своём роде визуализация состояния, основанного на хуке useContext + - Чёткое отображение отношений «провайдер – потребитель» + - Мониторинг значений контекста в реальном времени + - Подробная визуализация данных провайдеров -Reactime это open source project, поэтому мы будем рады, если вы поможете нам сделать его лучше. Если вы знаете как устранить баг - запросите pull request. Также вы можете сообщить об ошибках в разделе “Issues”. +- **Улучшенная отладка с путешествиями во времени** -## Функциональность + - Переработанный интерфейс слайдера, размещённого вместе со снимками + - Элементы управления скоростью воспроизведения + - Более интуитивная навигация по состояниям + - Улучшенная визуализация снимков -### Оптимизация рендеринга +- **Современный переработанный интерфейс** -Одна из самых распространенных проблем, которая влияет на производительность приложения React - ненужный циклы ре-рендеринга. Эту проблему вы можете решить при помощи отслеживания рендеринга во вкладке Performance в Reactime. + - Стильный, современный дизайн со скруглёнными элементами + - Интуитивная структура расположения элементов + - Новый тёмный режим + - Улучшенная визуальная иерархия -### Запись +- **Крупные технические улучшения** + - Исправлена проблема с сохранением соединения при бездействии или переключении вкладок + - Восстановлена визуализация дерева доступности (Accessibility Tree) + - Исправлены проблемы с захватом состояния для хуков useState в функциональных компонентах + - Общий рост стабильности и производительности расширения -Когда изменяется состояние (при вызове useState или setState), Reactime создает снэпшот состояния дерева в настоящий момент и записывает его. Каждый снэпшот отображается в Chrome DevTools в разделе Reactime. +Благодаря этим обновлениям Reactime стал ещё более мощным, надёжным и удобным в использовании, устанавливая новый стандарт среди инструментов отладки React. -### Просмотр +Чтобы узнать больше о предыдущих релизах, перейдите по ссылке. +
+
-При клике на снапшот вы можете увидеть состояние вашего приложения. Состояния отображаются в виде графика или JSON дерева, вы можете переключить вкладку на удобную вам визуализацию. +

🚀 Начало работы

-### Прыжки +### Установка -Используя панель действий, вы можете совершать прыжки на предыдущие сохраненные снэпшоты. Используя данный функционал вы можете отследить работу приложения в нужный момент времени или при вводе определенных данных. +1. Установите [Reactime](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) из Интернет-магазина Chrome +2. Установите необходимое расширение [React Developer Tools](https://chrome.google.com/webstore/detail/react-developer-tools/fmkadmapgofadopljbjfkapdkoienihi?hl=en), если у вас его ещё нет -### TypeScript поддержка +### Предварительные требования -Reactime beta поддерживает приложения, написанные на TypeScript, которые используют классы и функциональные компоненты. Работа с хуками, Context API и Concurrent Mode находится в стадии тестирования. +- Ваше React-приложение должно работать в **режиме разработки (development)** +- Расширение React Developer Tools должно быть установлено +- Браузер Chrome (рекомендуется версия 80 или выше) -### Документация +### Запуск Reactime -После клонирования репозитория, вы можете использовать команду `npm run docs` в корневой папке, которая генерирует файл в браузере `/docs/index.html`. Это упростит знакомство с приложением и поможет вам ознакомиться со структурой и интерфейсом существующего кода. +Существует два способа открыть панель Reactime: -## Узнать больше о Reactime и React Fiber +1. **Контекстное меню** -- [Time-Travel State with Reactime](https://medium.com/better-programming/time-traveling-state-with-reactime-6-0-53fdc3ae2a20) -- [React Fiber and Reactime](https://medium.com/@aquinojardim/react-fiber-reactime-4-0-f200f02e7fa8) -- [Meet Reactime - a time-traveling State Debugger for React](https://medium.com/@yujinkay/meet-reactime-a-time-traveling-state-debugger-for-react-24f0fce96802) -- [Deep in Weeds with Reactime, Concurrent React_fiberRoot, and Browser History Caching](https://itnext.io/deep-in-the-weeds-with-reactime-concurrent-react-fiberroot-and-browser-history-caching-7ce9d7300abb) + - Кликните правой кнопкой мыши в любом месте вашего React-приложения + - Выберите «Reactime» в контекстном меню -## Авторы +2. **Инструменты разработчика** + - Откройте Chrome DevTools (F12 или ⌘+⌥+I) + - Перейдите на вкладку «Reactime» +После запуска Reactime автоматически начнёт отслеживать изменения состояния и метрики производительности вашего приложения. +
+
+ +

🤝 Участие в развитии Reactime

+ +Мы приглашаем всех желающих внести свой вклад в улучшение Reactime! Вот как вы можете помочь: 🙋 Contributing README + +1. **Начальный шаг** + + - Сделайте форк репозитория + - Изучите наше подробное Руководство для разработчиков (Developer README) + - Настройте локальную среду разработки + +2. **Процесс сборки** + - Следуйте инструкциям по сборке в Руководстве для разработчиков + - Тщательно протестируйте свои изменения + - Создайте пул-реквест + +Присоединяйтесь к нашему растущему сообществу контрибьюторов и помогите формировать будущее инструментов отладки React! Подробные инструкции по участию и архитектуре проекта вы найдёте в 👩‍💻 Руководстве для разработчиков. +
+
+ +

🛠️ Устранение неполадок

+ +### ❓ Почему Reactime не записывает новые изменения состояния? + +Reactime потерял соединение с вкладкой, за которой ведётся наблюдение. Просто нажмите кнопку «reconnect», чтобы возобновить работу. + +### ❓ Почему Reactime не может найти мои хуки? + +Reactime обнаруживает и отслеживает хуки, просматривая «неминифицированный» код React в режиме разработки. Если ваш процесс сборки минифицирует или «уродует» (uglify) код — даже в режиме разработки — Reactime может не найти и не отследить ваши хуки. Чтобы исправить это: + +1. **Убедитесь, что сборка действительно предназначена для разработки**: Проверьте настройки вашего бандлера или инструмента сборки (например, Webpack, Babel, Vite и т. д.), чтобы приложение не было минимизировано и «уродовано» в режиме разработки. + - Например, в Webpack установите `mode: 'development'`, чтобы по умолчанию отключить минификацию. + - В Create React App, достаточно запустить `npm start` или `yarn start`, чтобы автоматически настроить неминифицированную сборку. +2. **Проверьте, нет ли переопределений**: Убедитесь, что нет дополнительных Babel- или Webpack-плагинов, которые минифицируют ваш код, особенно если вы используете фреймворки вроде Next.js или Gatsby. Иногда дополнительные плагины или скрипты могут незаметно запускать минификацию. +3. **Перезапустите и пересоберите**: После изменения настроек сборки перезапустите или пересоберите ваше приложение, чтобы новые настройки были применены. Затем обновите вкладку браузера, чтобы Reactime мог обнаружить ваши неминифицированные хуки. + +### ❓ Почему Reactime говорит, что React-приложение не найдено? + +Reactime изначально запускается, используя глобальный хук dev tools из API Chrome. Чтобы Chrome успел это загрузить, может потребоваться время. Попробуйте обновить (refresh) ваше приложение несколько раз, пока не увидите, что Reactime заработал. + +### ❓ Почему мне нужно включать React Dev Tools? + +Reactime работает в связке с React Developer Tools, чтобы получить доступ к дереву Fiber в React-приложении. Внутри Reactime просматривает дерево Fiber через глобальный хук из React Developer Tools, получая всю необходимую информацию для отображения разработчику. + +### ❓ Я нашёл(ла) баг в Reactime + +Reactime — это проект с открытым исходным кодом. Мы будем рады услышать ваши идеи по улучшению пользовательского опыта. Ознакомьтесь с 👩‍💻 Руководством для разработчиков и создайте пул-реквест (или Issue), чтобы предложить и совместно доработать изменения в Reactime. + +### ❓ Совместимость с версиями Node + +С выходом Node v18.12.1 (LTS) от 04.11.22 в скриптах появились команды +`npm run dev` | `npm run build` для обратной совместимости.
Для версии +Node v16.16.0 используйте скрипты `npm run devlegacy` | `npm run buildlegacy` +
+
+ +

✍️ Авторы

+ +- **Garrett Chow** - [@garrettlchow](https://github.com/garrettlchow) +- **Ellie Simens** - [@elliesimens](https://github.com/elliesimens) +- **Ragad Mohammed** - [@ragad-mohammed](https://github.com/ragad-mohammed) +- **Daniel Ryczek** - [@dryczek14](https://github.com/dryczek01) +- **Patrice Pinardo** - [@pinardo88](https://github.com/pinardo88) - **Haider Ali** - [@hali03](https://github.com/hali03) - **Jose Luis Sanchez** - [@JoseSanchez1996](https://github.com/JoseSanchez1996) - **Logan Nelsen** - [@ljn16](https://github.com/ljn16) @@ -112,6 +265,14 @@ Reactime beta поддерживает приложения, написанны - **Eric Yun** - [@ericsngyun](https://github.com/ericsngyun) - **James Nghiem** - [@jemzir](https://github.com/jemzir) - **Wilton Lee** - [@wiltonlee948](https://github.com/wiltonlee948) +- **Louis Lam** - [@llam722](https://github.com/llam722) +- **Samuel Tran** - [@leumastr](https://github.com/leumastr) +- **Brian Yang** - [@yangbrian310](https://github.com/yangbrian310) +- **Emin Tahirov** - [@eminthrv](https://github.com/eminthrv) +- **Peng Dong** - [@d28601581](https://github.com/d28601581) +- **Ozair Ghulam** - [@ozairgh](https://github.com/ozairgh) +- **Christina Or** - [@christinaor](https://github.com/christinaor) +- **Khanh Bui** - [@AndyB909](https://github.com/AndyB909) - **David Kim** - [@codejunkie7](https://github.com/codejunkie7) - **Robby Tipton** - [@RobbyTipton](https://github.com/RobbyTipton) - **Kevin HoEun Lee** - [@khobread](https://github.com/khobread) @@ -152,10 +313,10 @@ Reactime beta поддерживает приложения, написанны - **Bryan Lee** - [@mylee1995](https://github.com/mylee1995) - **Josh Kim** - [@joshua0308](https://github.com/joshua0308) - **Sierra Swaby** - [@starkspark](https://github.com/starkspark) -- **Ruth Anam** - [@peachiecodes](https://github.com/peachiecodes) +- **Ruth Anam** - [@nusanam](https://github.com/nusanam) - **David Chai** - [@davidchaidev](https://github.com/davidchai717) - **Yujin Kang** - [@yujinkay](https://github.com/yujinkay) -- **Andy Wong** - [@andywongdev](https://github.com/andywongdev) +- **Andy Wong** - [@andynullwong](https://github.com/andynullwong) - **Chris Flannery** - [@chriswillsflannery](https://github.com/chriswillsflannery) - **Rajeeb Banstola** - [@rajeebthegreat](https://github.com/rajeebthegreat) - **Prasanna Malla** - [@prasmalla](https://github.com/prasmalla) @@ -171,7 +332,7 @@ Reactime beta поддерживает приложения, написанны - **Alex Gomez** - [@alexgomez9](https://github.com/alexgomez9) - **Edar Liu** - [@liuedar](https://github.com/liuedar) - **Kristina Wallen** - [@kristinawallen](https://github.com/kristinawallen) -- **Quan Le** - [@blachfog](https://github.com/Blachfog) +- **Quan Le** - [@Blachfog](https://github.com/Blachfog) - **Robert Maeda** - [@robmaeda](https://github.com/robmaeda) - **Lance Ziegler** - [@lanceziegler](https://github.com/lanceziegler) - **Ngoc Zwolinski** - [@ngoczwolinski](https://github.com/ngoczwolinski) @@ -185,11 +346,21 @@ Reactime beta поддерживает приложения, написанны - **James McCollough** - [@j-mccoll](https://github.com/j-mccoll) - **Mike Bednarz** - [@mikebednarz](https://github.com/mikebednarz) - **Sergei Liubchenko** - [@sergeylvq](https://github.com/sergeylvq) +- **Yididia Ketema** - [@yididiaketema](https://github.com/yididiaketema) +- **Morah Geist** - [@morahgeist](https://github.com/morahgeist) +- **Eivind Del Fierro** - [@EivindDelFierro](https://github.com/EivindDelFierro) +- **Kyle Bell** - [@KyEBell](https://github.com/KyEBell) +- **Sean Kelly** - [@brok3turtl3](https://github.com/brok3turtl3) - **Christopher Stamper** - [@ctstamper](https://github.com/ctstamper) - **Jimmy Phy** - [@jimmally](https://github.com/jimmally) - **Andrew Byun** - [@AndrewByun](https://github.com/AndrewByun) - **Kelvin Mirhan** - [@kelvinmirhan](https://github.com/kelvinmirhan) +- **Jesse Rosengrant** - [@jrosengrant](https://github.com/jrosengrant) +- **Liam Donaher** - [@leebology](https://github.com/leebology) +- **David Moore** - [@Solodt55](https://github.com/Solodt55) +- **John Banks** - [@Jbanks123](https://github.com/Jbanks123) +
-## License +

⚖️ Лицензия

-This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details +Этот проект распространяется по лицензии MIT — подробности см. в файле [LICENSE](LICENSE). diff --git a/assets/App_Structure_Diagram_v21.png b/assets/App_Structure_Diagram_v21.png deleted file mode 100644 index 81ed0b63d..000000000 Binary files a/assets/App_Structure_Diagram_v21.png and /dev/null differ diff --git a/assets/BackEndDependencyChart.png b/assets/BackEndDependencyChart.png deleted file mode 100644 index b86b0af66..000000000 Binary files a/assets/BackEndDependencyChart.png and /dev/null differ diff --git a/assets/Back_End_Dependency_Chart_v21.png b/assets/Back_End_Dependency_Chart_v21.png deleted file mode 100644 index a9ec18834..000000000 Binary files a/assets/Back_End_Dependency_Chart_v21.png and /dev/null differ diff --git a/assets/Front_End_Dependency_Chart_v21.png b/assets/Front_End_Dependency_Chart_v21.png deleted file mode 100644 index 9c9ceffcc..000000000 Binary files a/assets/Front_End_Dependency_Chart_v21.png and /dev/null differ diff --git a/assets/Hook_Research_v21.png b/assets/Hook_Research_v21.png deleted file mode 100644 index 6426db91e..000000000 Binary files a/assets/Hook_Research_v21.png and /dev/null differ diff --git a/assets/archive/readme_logo.png b/assets/archive/readme_logo.png deleted file mode 100644 index 618512e11..000000000 Binary files a/assets/archive/readme_logo.png and /dev/null differ diff --git a/assets/gifs/GeneralDemoGif_V26.gif b/assets/gifs/GeneralDemoGif_V26.gif new file mode 100644 index 000000000..cae64e5de Binary files /dev/null and b/assets/gifs/GeneralDemoGif_V26.gif differ diff --git a/assets/gifs/ImportExportGif_V26.gif b/assets/gifs/ImportExportGif_V26.gif new file mode 100644 index 000000000..4947ff1dd Binary files /dev/null and b/assets/gifs/ImportExportGif_V26.gif differ diff --git a/assets/gifs/ProviderConsumer_V26.gif b/assets/gifs/ProviderConsumer_V26.gif new file mode 100644 index 000000000..ff436de8f Binary files /dev/null and b/assets/gifs/ProviderConsumer_V26.gif differ diff --git a/assets/gifs/ReconnectGif22.gif b/assets/gifs/ReconnectGif22.gif deleted file mode 100644 index b4da028bf..000000000 Binary files a/assets/gifs/ReconnectGif22.gif and /dev/null differ diff --git a/assets/gifs/TimeTravelGif_V26.gif b/assets/gifs/TimeTravelGif_V26.gif new file mode 100644 index 000000000..e1d20bb71 Binary files /dev/null and b/assets/gifs/TimeTravelGif_V26.gif differ diff --git a/assets/gifs/app_main_v26.png b/assets/gifs/app_main_v26.png new file mode 100644 index 000000000..c0d9076fd Binary files /dev/null and b/assets/gifs/app_main_v26.png differ diff --git a/assets/history_v21.jpg b/assets/history_v21.jpg deleted file mode 100644 index 6c449c2ec..000000000 Binary files a/assets/history_v21.jpg and /dev/null differ diff --git a/assets/logos/chromeExtensionIcons/blackWhiteSquareIcon128.png b/assets/logos/blackWhiteSquareIcon128.png similarity index 100% rename from assets/logos/chromeExtensionIcons/blackWhiteSquareIcon128.png rename to assets/logos/blackWhiteSquareIcon128.png diff --git a/assets/logos/chromeExtensionIcons/blackWhiteSquareIcon48.png b/assets/logos/blackWhiteSquareIcon48.png similarity index 100% rename from assets/logos/chromeExtensionIcons/blackWhiteSquareIcon48.png rename to assets/logos/blackWhiteSquareIcon48.png diff --git a/assets/logos/chromeExtensionIcons/marqueePromoTitle.png b/assets/logos/chromeExtensionIcons/marqueePromoTitle.png deleted file mode 100644 index 7c13a6d7e..000000000 Binary files a/assets/logos/chromeExtensionIcons/marqueePromoTitle.png and /dev/null differ diff --git a/assets/logos/chromeExtensionIcons/smallPromoTitle.png b/assets/logos/chromeExtensionIcons/smallPromoTitle.png deleted file mode 100644 index 0074165eb..000000000 Binary files a/assets/logos/chromeExtensionIcons/smallPromoTitle.png and /dev/null differ diff --git a/assets/logos/marqueePromoTitle.png b/assets/logos/marqueePromoTitle.png index e47d77771..7c13a6d7e 100644 Binary files a/assets/logos/marqueePromoTitle.png and b/assets/logos/marqueePromoTitle.png differ diff --git a/assets/logos/smallPromoTitle.png b/assets/logos/smallPromoTitle.png index 254f85d69..0074165eb 100644 Binary files a/assets/logos/smallPromoTitle.png and b/assets/logos/smallPromoTitle.png differ diff --git a/assets/logos/chromeExtensionIcons/whiteBlackSquareIcon128.png b/assets/logos/whiteBlackSquareIcon128.png similarity index 100% rename from assets/logos/chromeExtensionIcons/whiteBlackSquareIcon128.png rename to assets/logos/whiteBlackSquareIcon128.png diff --git a/assets/logos/chromeExtensionIcons/whiteBlackSquareIcon48.png b/assets/logos/whiteBlackSquareIcon48.png similarity index 100% rename from assets/logos/chromeExtensionIcons/whiteBlackSquareIcon48.png rename to assets/logos/whiteBlackSquareIcon48.png diff --git a/assets/map_v21.jpg b/assets/map_v21.jpg deleted file mode 100644 index df9afb41a..000000000 Binary files a/assets/map_v21.jpg and /dev/null differ diff --git a/assets/obsolete/backend.png b/assets/obsolete/backend.png deleted file mode 100644 index 6ef582455..000000000 Binary files a/assets/obsolete/backend.png and /dev/null differ diff --git a/assets/obsolete/frontend.png b/assets/obsolete/frontend.png deleted file mode 100644 index 9f5a30a3a..000000000 Binary files a/assets/obsolete/frontend.png and /dev/null differ diff --git a/assets/gifs/GeneralDemoGif_V23.gif b/assets/obsolete/gifs/GeneralDemoGif_V23.gif similarity index 100% rename from assets/gifs/GeneralDemoGif_V23.gif rename to assets/obsolete/gifs/GeneralDemoGif_V23.gif diff --git a/assets/gifs/ImportExportGif_V23.gif b/assets/obsolete/gifs/ImportExportGif_V23.gif similarity index 100% rename from assets/gifs/ImportExportGif_V23.gif rename to assets/obsolete/gifs/ImportExportGif_V23.gif diff --git a/assets/gifs/PerformanceGif_V23.gif b/assets/obsolete/gifs/PerformanceGif_V23.gif similarity index 100% rename from assets/gifs/PerformanceGif_V23.gif rename to assets/obsolete/gifs/PerformanceGif_V23.gif diff --git a/assets/gifs/TimeTravelGif_V23.gif b/assets/obsolete/gifs/TimeTravelGif_V23.gif similarity index 100% rename from assets/gifs/TimeTravelGif_V23.gif rename to assets/obsolete/gifs/TimeTravelGif_V23.gif diff --git a/assets/obsolete/gifs/action-comparison.gif b/assets/obsolete/gifs/action-comparison.gif deleted file mode 100644 index 4a50300ce..000000000 Binary files a/assets/obsolete/gifs/action-comparison.gif and /dev/null differ diff --git a/assets/obsolete/gifs/components-viewing.gif b/assets/obsolete/gifs/components-viewing.gif deleted file mode 100644 index 0560b58f7..000000000 Binary files a/assets/obsolete/gifs/components-viewing.gif and /dev/null differ diff --git a/assets/obsolete/gifs/history-tree.gif b/assets/obsolete/gifs/history-tree.gif deleted file mode 100644 index f53a30fce..000000000 Binary files a/assets/obsolete/gifs/history-tree.gif and /dev/null differ diff --git a/assets/obsolete/gifs/history_v20.gif b/assets/obsolete/gifs/history_v20.gif deleted file mode 100644 index 5f2574fc2..000000000 Binary files a/assets/obsolete/gifs/history_v20.gif and /dev/null differ diff --git a/assets/obsolete/gifs/hooks-demo.gif b/assets/obsolete/gifs/hooks-demo.gif deleted file mode 100644 index 1b662f51d..000000000 Binary files a/assets/obsolete/gifs/hooks-demo.gif and /dev/null differ diff --git a/assets/obsolete/gifs/map-viewing.gif b/assets/obsolete/gifs/map-viewing.gif deleted file mode 100644 index e1028a540..000000000 Binary files a/assets/obsolete/gifs/map-viewing.gif and /dev/null differ diff --git a/assets/obsolete/gifs/map_v20.gif b/assets/obsolete/gifs/map_v20.gif deleted file mode 100644 index 003cf1917..000000000 Binary files a/assets/obsolete/gifs/map_v20.gif and /dev/null differ diff --git a/assets/obsolete/gifs/new-reactime.gif b/assets/obsolete/gifs/new-reactime.gif deleted file mode 100644 index 7eae93979..000000000 Binary files a/assets/obsolete/gifs/new-reactime.gif and /dev/null differ diff --git a/assets/obsolete/gifs/nextjs.gif b/assets/obsolete/gifs/nextjs.gif deleted file mode 100644 index 5777a2751..000000000 Binary files a/assets/obsolete/gifs/nextjs.gif and /dev/null differ diff --git a/assets/obsolete/gifs/overview_v20.gif b/assets/obsolete/gifs/overview_v20.gif deleted file mode 100644 index fc49f5300..000000000 Binary files a/assets/obsolete/gifs/overview_v20.gif and /dev/null differ diff --git a/assets/obsolete/gifs/react-calculator-demo.gif b/assets/obsolete/gifs/react-calculator-demo.gif deleted file mode 100644 index d1a8e8807..000000000 Binary files a/assets/obsolete/gifs/react-calculator-demo.gif and /dev/null differ diff --git a/assets/obsolete/gifs/reactime7.gif b/assets/obsolete/gifs/reactime7.gif deleted file mode 100644 index 183347fb4..000000000 Binary files a/assets/obsolete/gifs/reactime7.gif and /dev/null differ diff --git a/assets/obsolete/gifs/snapshot-comparison.gif b/assets/obsolete/gifs/snapshot-comparison.gif deleted file mode 100644 index d6a3860b4..000000000 Binary files a/assets/obsolete/gifs/snapshot-comparison.gif and /dev/null differ diff --git a/assets/obsolete/gifs/v4-demo.gif b/assets/obsolete/gifs/v4-demo.gif deleted file mode 100644 index e4e959fb8..000000000 Binary files a/assets/obsolete/gifs/v4-demo.gif and /dev/null differ diff --git a/assets/logos/blackWhiteSquareIcon.png b/assets/obsolete/logos/blackWhiteSquareIcon.png similarity index 100% rename from assets/logos/blackWhiteSquareIcon.png rename to assets/obsolete/logos/blackWhiteSquareIcon.png diff --git a/assets/logos/chromeExtensionIcons/archive/blackWhiteSquareIcon128_old.png b/assets/obsolete/logos/blackWhiteSquareIcon128_old.png similarity index 100% rename from assets/logos/chromeExtensionIcons/archive/blackWhiteSquareIcon128_old.png rename to assets/obsolete/logos/blackWhiteSquareIcon128_old.png diff --git a/assets/logos/chromeExtensionIcons/archive/blackWhiteSquareIcon48_old.png b/assets/obsolete/logos/blackWhiteSquareIcon48_old.png similarity index 100% rename from assets/logos/chromeExtensionIcons/archive/blackWhiteSquareIcon48_old.png rename to assets/obsolete/logos/blackWhiteSquareIcon48_old.png diff --git a/assets/logos/blackWhiteSquareLogo.png b/assets/obsolete/logos/blackWhiteSquareLogo.png similarity index 100% rename from assets/logos/blackWhiteSquareLogo.png rename to assets/obsolete/logos/blackWhiteSquareLogo.png diff --git a/assets/logos/blackWhiteSquareLogoMedium.png b/assets/obsolete/logos/blackWhiteSquareLogoMedium.png similarity index 100% rename from assets/logos/blackWhiteSquareLogoMedium.png rename to assets/obsolete/logos/blackWhiteSquareLogoMedium.png diff --git a/assets/logos/blackWhiteSquareSite.png b/assets/obsolete/logos/blackWhiteSquareSite.png similarity index 100% rename from assets/logos/blackWhiteSquareSite.png rename to assets/obsolete/logos/blackWhiteSquareSite.png diff --git a/assets/obsolete/logos/icon128.png b/assets/obsolete/logos/icon128.png deleted file mode 100644 index 5010da137..000000000 Binary files a/assets/obsolete/logos/icon128.png and /dev/null differ diff --git a/assets/obsolete/logos/icon48.png b/assets/obsolete/logos/icon48.png deleted file mode 100644 index bcc344401..000000000 Binary files a/assets/obsolete/logos/icon48.png and /dev/null differ diff --git a/assets/obsolete/logos/logo-no-version.png b/assets/obsolete/logos/logo-no-version.png deleted file mode 100644 index 1cbbd91bf..000000000 Binary files a/assets/obsolete/logos/logo-no-version.png and /dev/null differ diff --git a/assets/obsolete/logos/logo.png b/assets/obsolete/logos/logo.png deleted file mode 100644 index 04c13455f..000000000 Binary files a/assets/obsolete/logos/logo.png and /dev/null differ diff --git a/assets/logos/chromeExtensionIcons/archive/marqueePromoTitle_old.png b/assets/obsolete/logos/marqueePromoTitle.png similarity index 100% rename from assets/logos/chromeExtensionIcons/archive/marqueePromoTitle_old.png rename to assets/obsolete/logos/marqueePromoTitle.png diff --git a/assets/obsolete/logos/marqueePromoTitle_old.png b/assets/obsolete/logos/marqueePromoTitle_old.png new file mode 100644 index 000000000..e47d77771 Binary files /dev/null and b/assets/obsolete/logos/marqueePromoTitle_old.png differ diff --git a/assets/obsolete/logos/reactime with website svg.svg b/assets/obsolete/logos/reactime with website svg.svg deleted file mode 100644 index 3356a87b3..000000000 --- a/assets/obsolete/logos/reactime with website svg.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/assets/obsolete/logos/readme-logo-300-no-version.png b/assets/obsolete/logos/readme-logo-300-no-version.png deleted file mode 100644 index e1f788fbf..000000000 Binary files a/assets/obsolete/logos/readme-logo-300-no-version.png and /dev/null differ diff --git a/assets/obsolete/logos/readme-logo-300.png b/assets/obsolete/logos/readme-logo-300.png deleted file mode 100644 index 51e1baf48..000000000 Binary files a/assets/obsolete/logos/readme-logo-300.png and /dev/null differ diff --git a/assets/obsolete/logos/readme-logo-small-no-version.png b/assets/obsolete/logos/readme-logo-small-no-version.png deleted file mode 100644 index 3609df502..000000000 Binary files a/assets/obsolete/logos/readme-logo-small-no-version.png and /dev/null differ diff --git a/assets/obsolete/logos/readme-logo-small.png b/assets/obsolete/logos/readme-logo-small.png deleted file mode 100644 index 6695a5c86..000000000 Binary files a/assets/obsolete/logos/readme-logo-small.png and /dev/null differ diff --git a/assets/obsolete/logos/readme-logo-svg.svg b/assets/obsolete/logos/readme-logo-svg.svg deleted file mode 100644 index 3356a87b3..000000000 --- a/assets/obsolete/logos/readme-logo-svg.svg +++ /dev/null @@ -1,38 +0,0 @@ - - - - - - - - - - - - - - - - - - - diff --git a/assets/logos/chromeExtensionIcons/archive/smallPromoTitle_old.png b/assets/obsolete/logos/smallPromoTitle.png similarity index 100% rename from assets/logos/chromeExtensionIcons/archive/smallPromoTitle_old.png rename to assets/obsolete/logos/smallPromoTitle.png diff --git a/assets/obsolete/logos/smallPromoTitle_old.png b/assets/obsolete/logos/smallPromoTitle_old.png new file mode 100644 index 000000000..254f85d69 Binary files /dev/null and b/assets/obsolete/logos/smallPromoTitle_old.png differ diff --git a/assets/logos/whiteBlackSquareIcon.png b/assets/obsolete/logos/whiteBlackSquareIcon.png similarity index 100% rename from assets/logos/whiteBlackSquareIcon.png rename to assets/obsolete/logos/whiteBlackSquareIcon.png diff --git a/assets/logos/chromeExtensionIcons/archive/whiteBlackSquareIcon128.png b/assets/obsolete/logos/whiteBlackSquareIcon128.png similarity index 100% rename from assets/logos/chromeExtensionIcons/archive/whiteBlackSquareIcon128.png rename to assets/obsolete/logos/whiteBlackSquareIcon128.png diff --git a/assets/logos/chromeExtensionIcons/archive/whiteBlackSquareIcon48.png b/assets/obsolete/logos/whiteBlackSquareIcon48.png similarity index 100% rename from assets/logos/chromeExtensionIcons/archive/whiteBlackSquareIcon48.png rename to assets/obsolete/logos/whiteBlackSquareIcon48.png diff --git a/assets/logos/whiteBlackSquareLogo.png b/assets/obsolete/logos/whiteBlackSquareLogo.png similarity index 100% rename from assets/logos/whiteBlackSquareLogo.png rename to assets/obsolete/logos/whiteBlackSquareLogo.png diff --git a/assets/logos/whiteBlackSquareSite.png b/assets/obsolete/logos/whiteBlackSquareSite.png similarity index 100% rename from assets/logos/whiteBlackSquareSite.png rename to assets/obsolete/logos/whiteBlackSquareSite.png diff --git a/assets/obsolete/oldDataflowDiagram.jpg b/assets/obsolete/oldDataflowDiagram.jpg deleted file mode 100644 index 41d5e4230..000000000 Binary files a/assets/obsolete/oldDataflowDiagram.jpg and /dev/null differ diff --git a/assets/obsolete/reactime-2022-workflow.png b/assets/obsolete/reactime-2022-workflow.png deleted file mode 100644 index 90d2fdc66..000000000 Binary files a/assets/obsolete/reactime-2022-workflow.png and /dev/null differ diff --git a/assets/obsolete/readme/v4-readme.md b/assets/obsolete/readme/v4-readme.md deleted file mode 100644 index 29e2d69b4..000000000 --- a/assets/obsolete/readme/v4-readme.md +++ /dev/null @@ -1,128 +0,0 @@ -

- -

- -

State Debugger for React

- -[![GitHub](https://img.shields.io/github/license/oslabs-beta/reactime)](https://github.com/oslabs-beta/reactime) [![Build Status](https://travis-ci.com/oslabs-beta/reactime.svg?branch=master)](https://travis-ci.com/oslabs-beta/reactime) [![npm version](https://badge.fury.io/js/reactime.svg)](http://badge.fury.io/js/reactime) [![Dependencies](https://david-dm.org/oslabs-beta/reactime.svg)](https://david-dm.org/oslabs-beta/reactime#info=dependencies) [![DevDependencies](https://david-dm.org/oslabs-beta/reactime/dev-status.svg)](https://david-dm.org/oslabs-beta/reactime?type=dev) [![Vulnerabilities](https://snyk.io/test/github/oslabs-beta/reactime/badge.svg)](https://snyk.io/test/github/oslabs-beta/reactime) - - -![demo](./demo.gif) - - - -Reactime is a debugging tool for React developers. It records state whenever it is changed and allows the user to jump to any previously recorded state. - -This tool is for React apps using stateful components and prop drilling, and has beta support for Context API, conditional state routing, Hooks (useState, useEffect) and functional components. - -The latest release extends the core functionality by including support for TypeScript applications, improving the user experience through more declarative titles in the actions panel, and extending support for components with conditional state fields. The testing suite has also been expanded with the inclusion of a Sandbox utility to aid future expansion as well as additional E2E and integration tests with Puppeteer and React Testing Library. - -After installing the Reactime, you can test its functionalities in the following demo repositories: - -- [Calculator](https://joshua0308.github.io/calculator/) -- [Bitcoin Price Index](http://reactime-demo2.us-east-1.elasticbeanstalk.com) - -Reactime was nominated for the Productivity Booster award at [React Open Source Awards 2020](https://osawards.com/react/)! - -## Installation - -Two parts are required for this tool to function: a [**Chrome extension**](https://chrome.google.com/webstore/detail/react-time-travel/cgibknllccemdnfhfpmjhffpjfeidjga) and an [**NPM package**](https://www.npmjs.com/package/reactime). - -1. Install the Reactime [extension](https://chrome.google.com/webstore/detail/reactime/cgibknllccemdnfhfpmjhffpjfeidjga) from Chrome Web Store. Alternatively, use `src/extension/build/build.zip` for manual installation in [Developer mode](https://developer.chrome.com/extensions/faq#faq-dev-01). Turn on 'Allow access to file URLs' in extension details page if testing locally. - -2. Install the [NPM package](https://www.npmjs.com/package/reactime) in your application's root directory. - -``` -npm i reactime -``` - -3. Call the library method on your root container after rendering your App. - -``` -import reactime from 'reactime'; - -const rootContainer = document.getElementById('root'); -ReactDOM.render(, rootContainer); - -reactime(rootContainer); -``` - -4. For experimental concurrent mode support. - -``` -import reactime from 'reactime'; - -const rootContainer = ReactDOM.createRoot(document.getElementById('root')); -rootContainer.render(); -reactime(rootContainer); -``` - -5. Done! That's all you have to do to link your React project to our library. - -## How to Use - -After installing both the Chrome extension and the NPM package, just open up your project in the browser. - -Then open up your Chrome DevTools and navigate to the Reactime tab. - -## Features - -### Recording - -Whenever state is changed (whenever setState or useState is called), this extension will create a snapshot of the current state tree and record it. Each snapshot will be displayed in Chrome DevTools under the Reactime panel. - -### Viewing - -You can click on a snapshot to view your app's state. State can be visualized in a JSON or a tree. Also, snapshots can be diffed with the previous snapshot, which can be viewed under the Diff tab. - -### Jumping - -Jumping is the most important feature of all. It allows you to jump to any previous recorded snapshots. Hitting the jump button on any snapshot will change the DOM by setting their state. - -### TypeScript Support - -Reactime offers beta support for TypeScript applications using stateful class components and functional components with useState hooks. Further testing and development is required for custom hooks, Context API, and Concurrent Mode. - -### Additional Features - -- multiple tree graph branches depicting state changes -- tree graph hover functionality to view state changes -- ability to pan and zoom tree graph -- multiple tabs support -- a slider to move through snapshots quickly -- a play button to move through snapshots automatically -- a pause button, which stops recording each snapshot -- a lock button to freeze the DOM in place. setState will lose all functionality while the extension is locked -- a persist button to keep snapshots upon refresh (handy when changing code and debugging) -- export/import the current snapshots in memory -- declarative titles in the actions panel -- extended support for components with conditional state fields -- a Sandbox utility to aid future expansion - -## Authors -- **Carlos Perez** - [@crperezt](https://github.com/crperezt) -- **Edwin Menendez** - [@edwinjmenendez](https://github.com/edwinjmenendez) -- **Gabriela Jardim Aquino** - [@aquinojardim](https://github.com/aquinojardim) -- **Gregory Panciera** - [@gpanciera](https://github.com/gpanciera) -- **Nathanael Wa Mwenze** - [@nmwenz90](https://github.com/nmwenz90) -- **Ryan Dang** - [@rydang](https://github.com/rydang) -- **Bryan Lee** - [@mylee1995](https://github.com/mylee1995) -- **Josh Kim** - [@joshua0308](https://github.com/joshua0308) -- **Sierra Swaby** - [@starkspark](https://github.com/starkspark) -- **Ruth Anam** - [@peachiecodes](https://github.com/peachiecodes) -- **David Chai** - [@davidchaidev](https://github.com/davidchai717) -- **Yujin Kang** - [@yujinkay](https://github.com/yujinkay) -- **Andy Wong** - [@andywongdev](https://github.com/andywongdev) -- **Chris Flannery** - [@chriswillsflannery](https://github.com/chriswillsflannery) -- **Rajeeb Banstola** - [@rajeebthegreat](https://github.com/rajeebthegreat) -- **Prasanna Malla** - [@prasmalla](https://github.com/prasmalla) -- **Rocky Lin** - [@rocky9413](https://github.com/rocky9413) -- **Abaas Khorrami** - [@dubalol](https://github.com/dubalol) -- **Ergi Shehu** - [@Ergi516](https://github.com/ergi516) -- **Raymond Kwan** - [@rkwn](https://github.com/rkwn) -- **Joshua Howard** - [@Joshua-Howard](https://github.com/joshua-howard) - -## License - -This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details - diff --git a/assets/obsolete/src-app.jpg b/assets/obsolete/src-app.jpg deleted file mode 100644 index a9e03415e..000000000 Binary files a/assets/obsolete/src-app.jpg and /dev/null differ diff --git a/assets/performance_v21.jpg b/assets/performance_v21.jpg deleted file mode 100644 index 954066f0c..000000000 Binary files a/assets/performance_v21.jpg and /dev/null differ diff --git a/assets/tree_v21.jpg b/assets/tree_v21.jpg deleted file mode 100644 index 1c7c266e7..000000000 Binary files a/assets/tree_v21.jpg and /dev/null differ diff --git a/assets/useStoreContext_and_tabsObjects_v21.png b/assets/useStoreContext_and_tabsObjects_v21.png deleted file mode 100644 index de1a45cce..000000000 Binary files a/assets/useStoreContext_and_tabsObjects_v21.png and /dev/null differ diff --git a/assets/webMetrics_v21.jpg b/assets/webMetrics_v21.jpg deleted file mode 100644 index da44f9f24..000000000 Binary files a/assets/webMetrics_v21.jpg and /dev/null differ diff --git a/docs/.nojekyll b/docs/.nojekyll deleted file mode 100644 index e2ac6616a..000000000 --- a/docs/.nojekyll +++ /dev/null @@ -1 +0,0 @@ -TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css deleted file mode 100644 index 160bb77f1..000000000 --- a/docs/assets/highlight.css +++ /dev/null @@ -1,64 +0,0 @@ -:root { - --light-hl-0: #AF00DB; - --dark-hl-0: #C586C0; - --light-hl-1: #000000; - --dark-hl-1: #D4D4D4; - --light-hl-2: #001080; - --dark-hl-2: #9CDCFE; - --light-hl-3: #A31515; - --dark-hl-3: #CE9178; - --light-hl-4: #0000FF; - --dark-hl-4: #569CD6; - --light-hl-5: #267F99; - --dark-hl-5: #4EC9B0; - --light-code-background: #FFFFFF; - --dark-code-background: #1E1E1E; -} - -@media (prefers-color-scheme: light) { :root { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --code-background: var(--light-code-background); -} } - -@media (prefers-color-scheme: dark) { :root { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --code-background: var(--dark-code-background); -} } - -:root[data-theme='light'] { - --hl-0: var(--light-hl-0); - --hl-1: var(--light-hl-1); - --hl-2: var(--light-hl-2); - --hl-3: var(--light-hl-3); - --hl-4: var(--light-hl-4); - --hl-5: var(--light-hl-5); - --code-background: var(--light-code-background); -} - -:root[data-theme='dark'] { - --hl-0: var(--dark-hl-0); - --hl-1: var(--dark-hl-1); - --hl-2: var(--dark-hl-2); - --hl-3: var(--dark-hl-3); - --hl-4: var(--dark-hl-4); - --hl-5: var(--dark-hl-5); - --code-background: var(--dark-code-background); -} - -.hl-0 { color: var(--hl-0); } -.hl-1 { color: var(--hl-1); } -.hl-2 { color: var(--hl-2); } -.hl-3 { color: var(--hl-3); } -.hl-4 { color: var(--hl-4); } -.hl-5 { color: var(--hl-5); } -pre, code { background: var(--code-background); } diff --git a/docs/assets/main.js b/docs/assets/main.js deleted file mode 100644 index d6f138860..000000000 --- a/docs/assets/main.js +++ /dev/null @@ -1,59 +0,0 @@ -"use strict"; -"use strict";(()=>{var Ce=Object.create;var ne=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var _e=Object.getPrototypeOf,Re=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var Fe=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!Re.call(t,i)&&i!==n&&ne(t,i,{get:()=>e[i],enumerable:!(r=Pe(e,i))||r.enumerable});return t};var De=(t,e,n)=>(n=t!=null?Ce(_e(t)):{},Fe(e||!t||!t.__esModule?ne(n,"default",{value:t,enumerable:!0}):n,t));var ae=Me((se,oe)=>{(function(){var t=function(e){var n=new t.Builder;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),n.searchPipeline.add(t.stemmer),e.call(n,n),n.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(n){e.console&&console.warn&&console.warn(n)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var n=Object.create(null),r=Object.keys(e),i=0;i0){var d=t.utils.clone(n)||{};d.position=[a,u],d.index=s.length,s.push(new t.Token(r.slice(a,o),d))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,n){n in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. -`,e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(r){var i=t.Pipeline.registeredFunctions[r];if(i)n.add(i);else throw new Error("Cannot load unregistered function: "+r)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(n){t.Pipeline.warnIfFunctionNotRegistered(n),this._stack.push(n)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");r=r+1,this._stack.splice(r,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var r=this._stack.indexOf(e);if(r==-1)throw new Error("Cannot find existingFn");this._stack.splice(r,0,n)},t.Pipeline.prototype.remove=function(e){var n=this._stack.indexOf(e);n!=-1&&this._stack.splice(n,1)},t.Pipeline.prototype.run=function(e){for(var n=this._stack.length,r=0;r1&&(oe&&(r=s),o!=e);)i=r-n,s=n+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ol?d+=2:a==l&&(n+=r[u+1]*i[d+1],u+=2,d+=2);return n},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),n=1,r=0;n0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}if(s.str.length==0&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}s.str.length==1&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var d=s.str.charAt(0),y=s.str.charAt(1),p;y in s.node.edges?p=s.node.edges[y]:(p=new t.TokenSet,s.node.edges[y]=p),s.str.length==1&&(p.final=!0),i.push({node:p,editsRemaining:s.editsRemaining-1,str:d+s.str.slice(2)})}}}return r},t.TokenSet.fromString=function(e){for(var n=new t.TokenSet,r=n,i=0,s=e.length;i=e;n--){var r=this.uncheckedNodes[n],i=r.child.toString();i in this.minimizedNodes?r.parent.edges[r.char]=this.minimizedNodes[i]:(r.child._str=i,this.minimizedNodes[i]=r.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(n){var r=new t.QueryParser(e,n);r.parse()})},t.Index.prototype.query=function(e){for(var n=new t.Query(this.fields),r=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),l=0;l1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,n){var r=e[this._ref],i=Object.keys(this._fields);this._documents[r]=n||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,n;do e=this.next(),n=e.charCodeAt(0);while(n>47&&n<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var n=e.next();if(n==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(n.charCodeAt(0)==92){e.escapeCharacter();continue}if(n==":")return t.QueryLexer.lexField;if(n=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(n=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(n=="+"&&e.width()===1||n=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(n.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,n){this.lexer=new t.QueryLexer(e),this.query=n,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var n=e.peekLexeme();if(n!=null)switch(n.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expected either a field or a term, found "+n.type;throw n.str.length>=1&&(r+=" with value '"+n.str+"'"),new t.QueryParseError(r,n.start,n.end)}},t.QueryParser.parsePresence=function(e){var n=e.consumeLexeme();if(n!=null){switch(n.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var r="unrecognised presence operator'"+n.str+"'";throw new t.QueryParseError(r,n.start,n.end)}var i=e.peekLexeme();if(i==null){var r="expecting term or field, found nothing";throw new t.QueryParseError(r,n.start,n.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var r="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(r,i.start,i.end)}}},t.QueryParser.parseField=function(e){var n=e.consumeLexeme();if(n!=null){if(e.query.allFields.indexOf(n.str)==-1){var r=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+n.str+"', possible fields: "+r;throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.fields=[n.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,n.start,n.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var n=e.consumeLexeme();if(n!=null){e.currentClause.term=n.str.toLowerCase(),n.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var r=e.peekLexeme();if(r==null){e.nextClause();return}switch(r.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+r.type+"'";throw new t.QueryParseError(i,r.start,r.end)}}},t.QueryParser.parseEditDistance=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="edit distance must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.editDistance=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var n=e.consumeLexeme();if(n!=null){var r=parseInt(n.str,10);if(isNaN(r)){var i="boost must be numeric";throw new t.QueryParseError(i,n.start,n.end)}e.currentClause.boost=r;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,n){typeof define=="function"&&define.amd?define(n):typeof se=="object"?oe.exports=n():e.lunr=n()}(this,function(){return t})})()});var re=[];function G(t,e){re.push({selector:e,constructor:t})}var U=class{constructor(){this.alwaysVisibleMember=null;this.createComponents(document.body),this.ensureFocusedElementVisible(),this.listenForCodeCopies(),window.addEventListener("hashchange",()=>this.ensureFocusedElementVisible()),document.body.style.display||(this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}createComponents(e){re.forEach(n=>{e.querySelectorAll(n.selector).forEach(r=>{r.dataset.hasInstance||(new n.constructor({el:r,app:this}),r.dataset.hasInstance=String(!0))})})}filterChanged(){this.ensureFocusedElementVisible()}showPage(){document.body.style.display&&(console.log("Show page"),document.body.style.removeProperty("display"),this.ensureFocusedElementVisible(),this.updateIndexVisibility(),this.scrollToHash())}scrollToHash(){if(location.hash){console.log("Scorlling");let e=document.getElementById(location.hash.substring(1));if(!e)return;e.scrollIntoView({behavior:"instant",block:"start"})}}ensureActivePageVisible(){let e=document.querySelector(".tsd-navigation .current"),n=e?.parentElement;for(;n&&!n.classList.contains(".tsd-navigation");)n instanceof HTMLDetailsElement&&(n.open=!0),n=n.parentElement;if(e&&!e.checkVisibility()){let r=e.getBoundingClientRect().top-document.documentElement.clientHeight/4;document.querySelector(".site-menu").scrollTop=r}}updateIndexVisibility(){let e=document.querySelector(".tsd-index-content"),n=e?.open;e&&(e.open=!0),document.querySelectorAll(".tsd-index-section").forEach(r=>{r.style.display="block";let i=Array.from(r.querySelectorAll(".tsd-index-link")).every(s=>s.offsetParent==null);r.style.display=i?"none":"block"}),e&&(e.open=n)}ensureFocusedElementVisible(){if(this.alwaysVisibleMember&&(this.alwaysVisibleMember.classList.remove("always-visible"),this.alwaysVisibleMember.firstElementChild.remove(),this.alwaysVisibleMember=null),!location.hash)return;let e=document.getElementById(location.hash.substring(1));if(!e)return;let n=e.parentElement;for(;n&&n.tagName!=="SECTION";)n=n.parentElement;if(n&&n.offsetParent==null){this.alwaysVisibleMember=n,n.classList.add("always-visible");let r=document.createElement("p");r.classList.add("warning"),r.textContent="This member is normally hidden due to your filter settings.",n.prepend(r)}}listenForCodeCopies(){document.querySelectorAll("pre > button").forEach(e=>{let n;e.addEventListener("click",()=>{e.previousElementSibling instanceof HTMLElement&&navigator.clipboard.writeText(e.previousElementSibling.innerText.trim()),e.textContent="Copied!",e.classList.add("visible"),clearTimeout(n),n=setTimeout(()=>{e.classList.remove("visible"),n=setTimeout(()=>{e.textContent="Copy"},100)},1e3)})})}};var ie=(t,e=100)=>{let n;return()=>{clearTimeout(n),n=setTimeout(()=>t(),e)}};var de=De(ae());async function le(t,e){if(!window.searchData)return;let n=await fetch(window.searchData),r=new Blob([await n.arrayBuffer()]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();t.data=i,t.index=de.Index.load(i.index),e.classList.remove("loading"),e.classList.add("ready")}function he(){let t=document.getElementById("tsd-search");if(!t)return;let e={base:t.dataset.base+"/"},n=document.getElementById("tsd-search-script");t.classList.add("loading"),n&&(n.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),n.addEventListener("load",()=>{le(e,t)}),le(e,t));let r=document.querySelector("#tsd-search input"),i=document.querySelector("#tsd-search .results");if(!r||!i)throw new Error("The input field or the result list wrapper was not found");let s=!1;i.addEventListener("mousedown",()=>s=!0),i.addEventListener("mouseup",()=>{s=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{s||(s=!1,t.classList.remove("has-focus"))}),Ae(t,i,r,e)}function Ae(t,e,n,r){n.addEventListener("input",ie(()=>{Ve(t,e,n,r)},200));let i=!1;n.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?Ne(e,n):s.key=="Escape"?n.blur():s.key=="ArrowUp"?ue(e,-1):s.key==="ArrowDown"?ue(e,1):i=!1}),n.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!n.matches(":focus")&&s.key==="/"&&(n.focus(),s.preventDefault())})}function Ve(t,e,n,r){if(!r.index||!r.data)return;e.textContent="";let i=n.value.trim(),s;if(i){let o=i.split(" ").map(a=>a.length?`*${a}*`:"").join(" ");s=r.index.search(o)}else s=[];for(let o=0;oa.score-o.score);for(let o=0,a=Math.min(10,s.length);o`,d=ce(l.name,i);globalThis.DEBUG_SEARCH_WEIGHTS&&(d+=` (score: ${s[o].score.toFixed(2)})`),l.parent&&(d=` - ${ce(l.parent,i)}.${d}`);let y=document.createElement("li");y.classList.value=l.classes??"";let p=document.createElement("a");p.href=r.base+l.url,p.innerHTML=u+d,y.append(p),e.appendChild(y)}}function ue(t,e){let n=t.querySelector(".current");if(!n)n=t.querySelector(e==1?"li:first-child":"li:last-child"),n&&n.classList.add("current");else{let r=n;if(e===1)do r=r.nextElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);else do r=r.previousElementSibling??void 0;while(r instanceof HTMLElement&&r.offsetParent==null);r&&(n.classList.remove("current"),r.classList.add("current"))}}function Ne(t,e){let n=t.querySelector(".current");if(n||(n=t.querySelector("li:first-child")),n){let r=n.querySelector("a");r&&(window.location.href=r.href),e.blur()}}function ce(t,e){if(e==="")return t;let n=t.toLocaleLowerCase(),r=e.toLocaleLowerCase(),i=[],s=0,o=n.indexOf(r);for(;o!=-1;)i.push(K(t.substring(s,o)),`${K(t.substring(o,o+r.length))}`),s=o+r.length,o=n.indexOf(r,s);return i.push(K(t.substring(s))),i.join("")}var He={"&":"&","<":"<",">":">","'":"'",'"':"""};function K(t){return t.replace(/[&<>"'"]/g,e=>He[e])}var I=class{constructor(e){this.el=e.el,this.app=e.app}};var F="mousedown",fe="mousemove",H="mouseup",J={x:0,y:0},pe=!1,ee=!1,Be=!1,D=!1,me=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(me?"is-mobile":"not-mobile");me&&"ontouchstart"in document.documentElement&&(Be=!0,F="touchstart",fe="touchmove",H="touchend");document.addEventListener(F,t=>{ee=!0,D=!1;let e=F=="touchstart"?t.targetTouches[0]:t;J.y=e.pageY||0,J.x=e.pageX||0});document.addEventListener(fe,t=>{if(ee&&!D){let e=F=="touchstart"?t.targetTouches[0]:t,n=J.x-(e.pageX||0),r=J.y-(e.pageY||0);D=Math.sqrt(n*n+r*r)>10}});document.addEventListener(H,()=>{ee=!1});document.addEventListener("click",t=>{pe&&(t.preventDefault(),t.stopImmediatePropagation(),pe=!1)});var X=class extends I{constructor(e){super(e),this.className=this.el.dataset.toggle||"",this.el.addEventListener(H,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(F,n=>this.onDocumentPointerDown(n)),document.addEventListener(H,n=>this.onDocumentPointerUp(n))}setActive(e){if(this.active==e)return;this.active=e,document.documentElement.classList.toggle("has-"+this.className,e),this.el.classList.toggle("active",e);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(e){D||(this.setActive(!0),e.preventDefault())}onDocumentPointerDown(e){if(this.active){if(e.target.closest(".col-sidebar, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(e){if(!D&&this.active&&e.target.closest(".col-sidebar")){let n=e.target.closest("a");if(n){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substring(0,r.indexOf("#"))),n.href.substring(0,r.length)==r&&setTimeout(()=>this.setActive(!1),250)}}}};var te;try{te=localStorage}catch{te={getItem(){return null},setItem(){}}}var Q=te;var ye=document.head.appendChild(document.createElement("style"));ye.dataset.for="filters";var Y=class extends I{constructor(e){super(e),this.key=`filter-${this.el.name}`,this.value=this.el.checked,this.el.addEventListener("change",()=>{this.setLocalStorage(this.el.checked)}),this.setLocalStorage(this.fromLocalStorage()),ye.innerHTML+=`html:not(.${this.key}) .tsd-is-${this.el.name} { display: none; } -`,this.app.updateIndexVisibility()}fromLocalStorage(){let e=Q.getItem(this.key);return e?e==="true":this.el.checked}setLocalStorage(e){Q.setItem(this.key,e.toString()),this.value=e,this.handleValueChange()}handleValueChange(){this.el.checked=this.value,document.documentElement.classList.toggle(this.key,this.value),this.app.filterChanged(),this.app.updateIndexVisibility()}};var Z=class extends I{constructor(e){super(e),this.summary=this.el.querySelector(".tsd-accordion-summary"),this.icon=this.summary.querySelector("svg"),this.key=`tsd-accordion-${this.summary.dataset.key??this.summary.textContent.trim().replace(/\s+/g,"-").toLowerCase()}`;let n=Q.getItem(this.key);this.el.open=n?n==="true":this.el.open,this.el.addEventListener("toggle",()=>this.update());let r=this.summary.querySelector("a");r&&r.addEventListener("click",()=>{location.assign(r.href)}),this.update()}update(){this.icon.style.transform=`rotate(${this.el.open?0:-90}deg)`,Q.setItem(this.key,this.el.open.toString())}};function ge(t){let e=Q.getItem("tsd-theme")||"os";t.value=e,ve(e),t.addEventListener("change",()=>{Q.setItem("tsd-theme",t.value),ve(t.value)})}function ve(t){document.documentElement.dataset.theme=t}var Le;function be(){let t=document.getElementById("tsd-nav-script");t&&(t.addEventListener("load",xe),xe())}async function xe(){let t=document.getElementById("tsd-nav-container");if(!t||!window.navigationData)return;let n=await(await fetch(window.navigationData)).arrayBuffer(),r=new Blob([n]).stream().pipeThrough(new DecompressionStream("gzip")),i=await new Response(r).json();Le=t.dataset.base+"/",t.innerHTML="";for(let s of i)we(s,t,[]);window.app.createComponents(t),window.app.showPage(),window.app.ensureActivePageVisible()}function we(t,e,n){let r=e.appendChild(document.createElement("li"));if(t.children){let i=[...n,t.text],s=r.appendChild(document.createElement("details"));s.className=t.class?`${t.class} tsd-index-accordion`:"tsd-index-accordion",s.dataset.key=i.join("$");let o=s.appendChild(document.createElement("summary"));o.className="tsd-accordion-summary",o.innerHTML='',Ee(t,o);let a=s.appendChild(document.createElement("div"));a.className="tsd-accordion-details";let l=a.appendChild(document.createElement("ul"));l.className="tsd-nested-navigation";for(let u of t.children)we(u,l,i)}else Ee(t,r,t.class)}function Ee(t,e,n){if(t.path){let r=e.appendChild(document.createElement("a"));r.href=Le+t.path,n&&(r.className=n),location.pathname===r.pathname&&r.classList.add("current"),t.kind&&(r.innerHTML=``),r.appendChild(document.createElement("span")).textContent=t.text}else e.appendChild(document.createElement("span")).textContent=t.text}G(X,"a[data-toggle]");G(Z,".tsd-index-accordion");G(Y,".tsd-filter-item input[type=checkbox]");var Se=document.getElementById("tsd-theme");Se&&ge(Se);var je=new U;Object.defineProperty(window,"app",{value:je});he();be();})(); -/*! Bundled license information: - -lunr/lunr.js: - (** - * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 - * Copyright (C) 2020 Oliver Nightingale - * @license MIT - *) - (*! - * lunr.utils - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Set - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.tokenizer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Pipeline - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Vector - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.stemmer - * Copyright (C) 2020 Oliver Nightingale - * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt - *) - (*! - * lunr.stopWordFilter - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.trimmer - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.TokenSet - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Index - * Copyright (C) 2020 Oliver Nightingale - *) - (*! - * lunr.Builder - * Copyright (C) 2020 Oliver Nightingale - *) -*/ diff --git a/docs/assets/navigation.js b/docs/assets/navigation.js deleted file mode 100644 index 60cfe7106..000000000 --- a/docs/assets/navigation.js +++ /dev/null @@ -1 +0,0 @@ -window.navigationData = "data:application/octet-stream;base64,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" \ No newline at end of file diff --git a/docs/assets/search.js b/docs/assets/search.js deleted file mode 100644 index 3ed6c979a..000000000 --- a/docs/assets/search.js +++ /dev/null @@ -1 +0,0 @@ -window.searchData = "data:application/octet-stream;base64,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"; \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css deleted file mode 100644 index 228d94091..000000000 --- a/docs/assets/style.css +++ /dev/null @@ -1,1413 +0,0 @@ -:root { - /* Light */ - --light-color-background: #f2f4f8; - --light-color-background-secondary: #eff0f1; - --light-color-warning-text: #222; - --light-color-background-warning: #e6e600; - --light-color-icon-background: var(--light-color-background); - --light-color-accent: #c5c7c9; - --light-color-active-menu-item: var(--light-color-accent); - --light-color-text: #222; - --light-color-text-aside: #6e6e6e; - --light-color-link: #1f70c2; - - --light-color-ts-keyword: #056bd6; - --light-color-ts-project: #b111c9; - --light-color-ts-module: var(--light-color-ts-project); - --light-color-ts-namespace: var(--light-color-ts-project); - --light-color-ts-enum: #7e6f15; - --light-color-ts-enum-member: var(--light-color-ts-enum); - --light-color-ts-variable: #4760ec; - --light-color-ts-function: #572be7; - --light-color-ts-class: #1f70c2; - --light-color-ts-interface: #108024; - --light-color-ts-constructor: var(--light-color-ts-class); - --light-color-ts-property: var(--light-color-ts-variable); - --light-color-ts-method: var(--light-color-ts-function); - --light-color-ts-call-signature: var(--light-color-ts-method); - --light-color-ts-index-signature: var(--light-color-ts-property); - --light-color-ts-constructor-signature: var(--light-color-ts-constructor); - --light-color-ts-parameter: var(--light-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --light-color-ts-type-parameter: #a55c0e; - --light-color-ts-accessor: var(--light-color-ts-property); - --light-color-ts-get-signature: var(--light-color-ts-accessor); - --light-color-ts-set-signature: var(--light-color-ts-accessor); - --light-color-ts-type-alias: #d51270; - /* reference not included as links will be colored with the kind that it points to */ - - --light-external-icon: url("data:image/svg+xml;utf8,"); - --light-color-scheme: light; - - /* Dark */ - --dark-color-background: #2b2e33; - --dark-color-background-secondary: #1e2024; - --dark-color-background-warning: #bebe00; - --dark-color-warning-text: #222; - --dark-color-icon-background: var(--dark-color-background-secondary); - --dark-color-accent: #9096a2; - --dark-color-active-menu-item: #5d5d6a; - --dark-color-text: #f5f5f5; - --dark-color-text-aside: #dddddd; - --dark-color-link: #00aff4; - - --dark-color-ts-keyword: #3399ff; - --dark-color-ts-project: #e358ff; - --dark-color-ts-module: var(--dark-color-ts-project); - --dark-color-ts-namespace: var(--dark-color-ts-project); - --dark-color-ts-enum: #f4d93e; - --dark-color-ts-enum-member: var(--dark-color-ts-enum); - --dark-color-ts-variable: #798dff; - --dark-color-ts-function: #a280ff; - --dark-color-ts-class: #8ac4ff; - --dark-color-ts-interface: #6cff87; - --dark-color-ts-constructor: var(--dark-color-ts-class); - --dark-color-ts-property: var(--dark-color-ts-variable); - --dark-color-ts-method: var(--dark-color-ts-function); - --dark-color-ts-call-signature: var(--dark-color-ts-method); - --dark-color-ts-index-signature: var(--dark-color-ts-property); - --dark-color-ts-constructor-signature: var(--dark-color-ts-constructor); - --dark-color-ts-parameter: var(--dark-color-ts-variable); - /* type literal not included as links will never be generated to it */ - --dark-color-ts-type-parameter: #e07d13; - --dark-color-ts-accessor: var(--dark-color-ts-property); - --dark-color-ts-get-signature: var(--dark-color-ts-accessor); - --dark-color-ts-set-signature: var(--dark-color-ts-accessor); - --dark-color-ts-type-alias: #ff6492; - /* reference not included as links will be colored with the kind that it points to */ - - --dark-external-icon: url("data:image/svg+xml;utf8,"); - --dark-color-scheme: dark; -} - -@media (prefers-color-scheme: light) { - :root { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); - } -} - -@media (prefers-color-scheme: dark) { - :root { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); - } -} - -html { - color-scheme: var(--color-scheme); -} - -body { - margin: 0; -} - -:root[data-theme="light"] { - --color-background: var(--light-color-background); - --color-background-secondary: var(--light-color-background-secondary); - --color-background-warning: var(--light-color-background-warning); - --color-warning-text: var(--light-color-warning-text); - --color-icon-background: var(--light-color-icon-background); - --color-accent: var(--light-color-accent); - --color-active-menu-item: var(--light-color-active-menu-item); - --color-text: var(--light-color-text); - --color-text-aside: var(--light-color-text-aside); - --color-link: var(--light-color-link); - - --color-ts-keyword: var(--light-color-ts-keyword); - --color-ts-module: var(--light-color-ts-module); - --color-ts-namespace: var(--light-color-ts-namespace); - --color-ts-enum: var(--light-color-ts-enum); - --color-ts-enum-member: var(--light-color-ts-enum-member); - --color-ts-variable: var(--light-color-ts-variable); - --color-ts-function: var(--light-color-ts-function); - --color-ts-class: var(--light-color-ts-class); - --color-ts-interface: var(--light-color-ts-interface); - --color-ts-constructor: var(--light-color-ts-constructor); - --color-ts-property: var(--light-color-ts-property); - --color-ts-method: var(--light-color-ts-method); - --color-ts-call-signature: var(--light-color-ts-call-signature); - --color-ts-index-signature: var(--light-color-ts-index-signature); - --color-ts-constructor-signature: var( - --light-color-ts-constructor-signature - ); - --color-ts-parameter: var(--light-color-ts-parameter); - --color-ts-type-parameter: var(--light-color-ts-type-parameter); - --color-ts-accessor: var(--light-color-ts-accessor); - --color-ts-get-signature: var(--light-color-ts-get-signature); - --color-ts-set-signature: var(--light-color-ts-set-signature); - --color-ts-type-alias: var(--light-color-ts-type-alias); - - --external-icon: var(--light-external-icon); - --color-scheme: var(--light-color-scheme); -} - -:root[data-theme="dark"] { - --color-background: var(--dark-color-background); - --color-background-secondary: var(--dark-color-background-secondary); - --color-background-warning: var(--dark-color-background-warning); - --color-warning-text: var(--dark-color-warning-text); - --color-icon-background: var(--dark-color-icon-background); - --color-accent: var(--dark-color-accent); - --color-active-menu-item: var(--dark-color-active-menu-item); - --color-text: var(--dark-color-text); - --color-text-aside: var(--dark-color-text-aside); - --color-link: var(--dark-color-link); - - --color-ts-keyword: var(--dark-color-ts-keyword); - --color-ts-module: var(--dark-color-ts-module); - --color-ts-namespace: var(--dark-color-ts-namespace); - --color-ts-enum: var(--dark-color-ts-enum); - --color-ts-enum-member: var(--dark-color-ts-enum-member); - --color-ts-variable: var(--dark-color-ts-variable); - --color-ts-function: var(--dark-color-ts-function); - --color-ts-class: var(--dark-color-ts-class); - --color-ts-interface: var(--dark-color-ts-interface); - --color-ts-constructor: var(--dark-color-ts-constructor); - --color-ts-property: var(--dark-color-ts-property); - --color-ts-method: var(--dark-color-ts-method); - --color-ts-call-signature: var(--dark-color-ts-call-signature); - --color-ts-index-signature: var(--dark-color-ts-index-signature); - --color-ts-constructor-signature: var( - --dark-color-ts-constructor-signature - ); - --color-ts-parameter: var(--dark-color-ts-parameter); - --color-ts-type-parameter: var(--dark-color-ts-type-parameter); - --color-ts-accessor: var(--dark-color-ts-accessor); - --color-ts-get-signature: var(--dark-color-ts-get-signature); - --color-ts-set-signature: var(--dark-color-ts-set-signature); - --color-ts-type-alias: var(--dark-color-ts-type-alias); - - --external-icon: var(--dark-external-icon); - --color-scheme: var(--dark-color-scheme); -} - -.always-visible, -.always-visible .tsd-signatures { - display: inherit !important; -} - -h1, -h2, -h3, -h4, -h5, -h6 { - line-height: 1.2; -} - -h1 > a:not(.link), -h2 > a:not(.link), -h3 > a:not(.link), -h4 > a:not(.link), -h5 > a:not(.link), -h6 > a:not(.link) { - text-decoration: none; - color: var(--color-text); -} - -h1 { - font-size: 1.875rem; - margin: 0.67rem 0; -} - -h2 { - font-size: 1.5rem; - margin: 0.83rem 0; -} - -h3 { - font-size: 1.25rem; - margin: 1rem 0; -} - -h4 { - font-size: 1.05rem; - margin: 1.33rem 0; -} - -h5 { - font-size: 1rem; - margin: 1.5rem 0; -} - -h6 { - font-size: 0.875rem; - margin: 2.33rem 0; -} - -.uppercase { - text-transform: uppercase; -} - -dl, -menu, -ol, -ul { - margin: 1em 0; -} - -dd { - margin: 0 0 0 40px; -} - -.container { - max-width: 1700px; - padding: 0 2rem; -} - -/* Footer */ -footer { - border-top: 1px solid var(--color-accent); - padding-top: 1rem; - padding-bottom: 1rem; - max-height: 3.5rem; -} -.tsd-generator { - margin: 0 1em; -} - -.container-main { - margin: 0 auto; - /* toolbar, footer, margin */ - min-height: calc(100vh - 41px - 56px - 4rem); -} - -@keyframes fade-in { - from { - opacity: 0; - } - to { - opacity: 1; - } -} -@keyframes fade-out { - from { - opacity: 1; - visibility: visible; - } - to { - opacity: 0; - } -} -@keyframes fade-in-delayed { - 0% { - opacity: 0; - } - 33% { - opacity: 0; - } - 100% { - opacity: 1; - } -} -@keyframes fade-out-delayed { - 0% { - opacity: 1; - visibility: visible; - } - 66% { - opacity: 0; - } - 100% { - opacity: 0; - } -} -@keyframes pop-in-from-right { - from { - transform: translate(100%, 0); - } - to { - transform: translate(0, 0); - } -} -@keyframes pop-out-to-right { - from { - transform: translate(0, 0); - visibility: visible; - } - to { - transform: translate(100%, 0); - } -} -body { - background: var(--color-background); - font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", - Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji"; - font-size: 16px; - color: var(--color-text); -} - -a { - color: var(--color-link); - text-decoration: none; -} -a:hover { - text-decoration: underline; -} -a.external[target="_blank"] { - background-image: var(--external-icon); - background-position: top 3px right; - background-repeat: no-repeat; - padding-right: 13px; -} - -code, -pre { - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - padding: 0.2em; - margin: 0; - font-size: 0.875rem; - border-radius: 0.8em; -} - -pre { - position: relative; - white-space: pre; - white-space: pre-wrap; - word-wrap: break-word; - padding: 10px; - border: 1px solid var(--color-accent); -} -pre code { - padding: 0; - font-size: 100%; -} -pre > button { - position: absolute; - top: 10px; - right: 10px; - opacity: 0; - transition: opacity 0.1s; - box-sizing: border-box; -} -pre:hover > button, -pre > button.visible { - opacity: 1; -} - -blockquote { - margin: 1em 0; - padding-left: 1em; - border-left: 4px solid gray; -} - -.tsd-typography { - line-height: 1.333em; -} -.tsd-typography ul { - list-style: square; - padding: 0 0 0 20px; - margin: 0; -} -.tsd-typography .tsd-index-panel h3, -.tsd-index-panel .tsd-typography h3, -.tsd-typography h4, -.tsd-typography h5, -.tsd-typography h6 { - font-size: 1em; -} -.tsd-typography h5, -.tsd-typography h6 { - font-weight: normal; -} -.tsd-typography p, -.tsd-typography ul, -.tsd-typography ol { - margin: 1em 0; -} -.tsd-typography table { - border-collapse: collapse; - border: none; -} -.tsd-typography td, -.tsd-typography th { - padding: 6px 13px; - border: 1px solid var(--color-accent); -} -.tsd-typography thead, -.tsd-typography tr:nth-child(even) { - background-color: var(--color-background-secondary); -} - -.tsd-breadcrumb { - margin: 0; - padding: 0; - color: var(--color-text-aside); -} -.tsd-breadcrumb a { - color: var(--color-text-aside); - text-decoration: none; -} -.tsd-breadcrumb a:hover { - text-decoration: underline; -} -.tsd-breadcrumb li { - display: inline; -} -.tsd-breadcrumb li:after { - content: " / "; -} - -.tsd-comment-tags { - display: flex; - flex-direction: column; -} -dl.tsd-comment-tag-group { - display: flex; - align-items: center; - overflow: hidden; - margin: 0.5em 0; -} -dl.tsd-comment-tag-group dt { - display: flex; - margin-right: 0.5em; - font-size: 0.875em; - font-weight: normal; -} -dl.tsd-comment-tag-group dd { - margin: 0; -} -code.tsd-tag { - padding: 0.25em 0.4em; - border: 0.1em solid var(--color-accent); - margin-right: 0.25em; - font-size: 70%; -} -h1 code.tsd-tag:first-of-type { - margin-left: 0.25em; -} - -dl.tsd-comment-tag-group dd:before, -dl.tsd-comment-tag-group dd:after { - content: " "; -} -dl.tsd-comment-tag-group dd pre, -dl.tsd-comment-tag-group dd:after { - clear: both; -} -dl.tsd-comment-tag-group p { - margin: 0; -} - -.tsd-panel.tsd-comment .lead { - font-size: 1.1em; - line-height: 1.333em; - margin-bottom: 2em; -} -.tsd-panel.tsd-comment .lead:last-child { - margin-bottom: 0; -} - -.tsd-filter-visibility h4 { - font-size: 1rem; - padding-top: 0.75rem; - padding-bottom: 0.5rem; - margin: 0; -} -.tsd-filter-item:not(:last-child) { - margin-bottom: 0.5rem; -} -.tsd-filter-input { - display: flex; - width: fit-content; - width: -moz-fit-content; - align-items: center; - user-select: none; - -webkit-user-select: none; - -moz-user-select: none; - -ms-user-select: none; - cursor: pointer; -} -.tsd-filter-input input[type="checkbox"] { - cursor: pointer; - position: absolute; - width: 1.5em; - height: 1.5em; - opacity: 0; -} -.tsd-filter-input input[type="checkbox"]:disabled { - pointer-events: none; -} -.tsd-filter-input svg { - cursor: pointer; - width: 1.5em; - height: 1.5em; - margin-right: 0.5em; - border-radius: 0.33em; - /* Leaving this at full opacity breaks event listeners on Firefox. - Don't remove unless you know what you're doing. */ - opacity: 0.99; -} -.tsd-filter-input input[type="checkbox"]:focus + svg { - transform: scale(0.95); -} -.tsd-filter-input input[type="checkbox"]:focus:not(:focus-visible) + svg { - transform: scale(1); -} -.tsd-checkbox-background { - fill: var(--color-accent); -} -input[type="checkbox"]:checked ~ svg .tsd-checkbox-checkmark { - stroke: var(--color-text); -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-background { - fill: var(--color-background); - stroke: var(--color-accent); - stroke-width: 0.25rem; -} -.tsd-filter-input input:disabled ~ svg > .tsd-checkbox-checkmark { - stroke: var(--color-accent); -} - -.tsd-theme-toggle { - padding-top: 0.75rem; -} -.tsd-theme-toggle > h4 { - display: inline; - vertical-align: middle; - margin-right: 0.75rem; -} - -.tsd-hierarchy { - list-style: square; - margin: 0; -} -.tsd-hierarchy .target { - font-weight: bold; -} - -.tsd-full-hierarchy:not(:last-child) { - margin-bottom: 1em; - padding-bottom: 1em; - border-bottom: 1px solid var(--color-accent); -} -.tsd-full-hierarchy, -.tsd-full-hierarchy ul { - list-style: none; - margin: 0; - padding: 0; -} -.tsd-full-hierarchy ul { - padding-left: 1.5rem; -} -.tsd-full-hierarchy a { - padding: 0.25rem 0 !important; - font-size: 1rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} - -.tsd-panel-group.tsd-index-group { - margin-bottom: 0; -} -.tsd-index-panel .tsd-index-list { - list-style: none; - line-height: 1.333em; - margin: 0; - padding: 0.25rem 0 0 0; - overflow: hidden; - display: grid; - grid-template-columns: repeat(3, 1fr); - column-gap: 1rem; - grid-template-rows: auto; -} -@media (max-width: 1024px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(2, 1fr); - } -} -@media (max-width: 768px) { - .tsd-index-panel .tsd-index-list { - grid-template-columns: repeat(1, 1fr); - } -} -.tsd-index-panel .tsd-index-list li { - -webkit-page-break-inside: avoid; - -moz-page-break-inside: avoid; - -ms-page-break-inside: avoid; - -o-page-break-inside: avoid; - page-break-inside: avoid; -} - -.tsd-flag { - display: inline-block; - padding: 0.25em 0.4em; - border-radius: 4px; - color: var(--color-comment-tag-text); - background-color: var(--color-comment-tag); - text-indent: 0; - font-size: 75%; - line-height: 1; - font-weight: normal; -} - -.tsd-anchor { - position: relative; - top: -100px; -} - -.tsd-member { - position: relative; -} -.tsd-member .tsd-anchor + h3 { - display: flex; - align-items: center; - margin-top: 0; - margin-bottom: 0; - border-bottom: none; -} - -.tsd-navigation.settings { - margin: 1rem 0; -} -.tsd-navigation > a, -.tsd-navigation .tsd-accordion-summary { - width: calc(100% - 0.25rem); - display: flex; - align-items: center; -} -.tsd-navigation a, -.tsd-navigation summary > span, -.tsd-page-navigation a { - display: flex; - width: calc(100% - 0.25rem); - align-items: center; - padding: 0.25rem; - color: var(--color-text); - text-decoration: none; - box-sizing: border-box; -} -.tsd-navigation a.current, -.tsd-page-navigation a.current { - background: var(--color-active-menu-item); -} -.tsd-navigation a:hover, -.tsd-page-navigation a:hover { - text-decoration: underline; -} -.tsd-navigation ul, -.tsd-page-navigation ul { - margin-top: 0; - margin-bottom: 0; - padding: 0; - list-style: none; -} -.tsd-navigation li, -.tsd-page-navigation li { - padding: 0; - max-width: 100%; -} -.tsd-nested-navigation { - margin-left: 3rem; -} -.tsd-nested-navigation > li > details { - margin-left: -1.5rem; -} -.tsd-small-nested-navigation { - margin-left: 1.5rem; -} -.tsd-small-nested-navigation > li > details { - margin-left: -1.5rem; -} - -.tsd-page-navigation ul { - padding-left: 1.75rem; -} - -#tsd-sidebar-links a { - margin-top: 0; - margin-bottom: 0.5rem; - line-height: 1.25rem; -} -#tsd-sidebar-links a:last-of-type { - margin-bottom: 0; -} - -a.tsd-index-link { - padding: 0.25rem 0 !important; - font-size: 1rem; - line-height: 1.25rem; - display: inline-flex; - align-items: center; - color: var(--color-text); -} -.tsd-accordion-summary { - list-style-type: none; /* hide marker on non-safari */ - outline: none; /* broken on safari, so just hide it */ -} -.tsd-accordion-summary::-webkit-details-marker { - display: none; /* hide marker on safari */ -} -.tsd-accordion-summary, -.tsd-accordion-summary a { - user-select: none; - -moz-user-select: none; - -webkit-user-select: none; - -ms-user-select: none; - - cursor: pointer; -} -.tsd-accordion-summary a { - width: calc(100% - 1.5rem); -} -.tsd-accordion-summary > * { - margin-top: 0; - margin-bottom: 0; - padding-top: 0; - padding-bottom: 0; -} -.tsd-index-accordion .tsd-accordion-summary > svg { - margin-left: 0.25rem; -} -.tsd-index-content > :not(:first-child) { - margin-top: 0.75rem; -} -.tsd-index-heading { - margin-top: 1.5rem; - margin-bottom: 0.75rem; -} - -.tsd-kind-icon { - margin-right: 0.5rem; - width: 1.25rem; - height: 1.25rem; - min-width: 1.25rem; - min-height: 1.25rem; -} -.tsd-kind-icon path { - transform-origin: center; - transform: scale(1.1); -} -.tsd-signature > .tsd-kind-icon { - margin-right: 0.8rem; -} - -.tsd-panel { - margin-bottom: 2.5rem; -} -.tsd-panel.tsd-member { - margin-bottom: 4rem; -} -.tsd-panel:empty { - display: none; -} -.tsd-panel > h1, -.tsd-panel > h2, -.tsd-panel > h3 { - margin: 1.5rem -1.5rem 0.75rem -1.5rem; - padding: 0 1.5rem 0.75rem 1.5rem; -} -.tsd-panel > h1.tsd-before-signature, -.tsd-panel > h2.tsd-before-signature, -.tsd-panel > h3.tsd-before-signature { - margin-bottom: 0; - border-bottom: none; -} - -.tsd-panel-group { - margin: 4rem 0; -} -.tsd-panel-group.tsd-index-group { - margin: 2rem 0; -} -.tsd-panel-group.tsd-index-group details { - margin: 2rem 0; -} - -#tsd-search { - transition: background-color 0.2s; -} -#tsd-search .title { - position: relative; - z-index: 2; -} -#tsd-search .field { - position: absolute; - left: 0; - top: 0; - right: 2.5rem; - height: 100%; -} -#tsd-search .field input { - box-sizing: border-box; - position: relative; - top: -50px; - z-index: 1; - width: 100%; - padding: 0 10px; - opacity: 0; - outline: 0; - border: 0; - background: transparent; - color: var(--color-text); -} -#tsd-search .field label { - position: absolute; - overflow: hidden; - right: -40px; -} -#tsd-search .field input, -#tsd-search .title, -#tsd-toolbar-links a { - transition: opacity 0.2s; -} -#tsd-search .results { - position: absolute; - visibility: hidden; - top: 40px; - width: 100%; - margin: 0; - padding: 0; - list-style: none; - box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); -} -#tsd-search .results li { - background-color: var(--color-background); - line-height: initial; - padding: 4px; -} -#tsd-search .results li:nth-child(even) { - background-color: var(--color-background-secondary); -} -#tsd-search .results li.state { - display: none; -} -#tsd-search .results li.current:not(.no-results), -#tsd-search .results li:hover:not(.no-results) { - background-color: var(--color-accent); -} -#tsd-search .results a { - display: flex; - align-items: center; - padding: 0.25rem; - box-sizing: border-box; -} -#tsd-search .results a:before { - top: 10px; -} -#tsd-search .results span.parent { - color: var(--color-text-aside); - font-weight: normal; -} -#tsd-search.has-focus { - background-color: var(--color-accent); -} -#tsd-search.has-focus .field input { - top: 0; - opacity: 1; -} -#tsd-search.has-focus .title, -#tsd-search.has-focus #tsd-toolbar-links a { - z-index: 0; - opacity: 0; -} -#tsd-search.has-focus .results { - visibility: visible; -} -#tsd-search.loading .results li.state.loading { - display: block; -} -#tsd-search.failure .results li.state.failure { - display: block; -} - -#tsd-toolbar-links { - position: absolute; - top: 0; - right: 2rem; - height: 100%; - display: flex; - align-items: center; - justify-content: flex-end; -} -#tsd-toolbar-links a { - margin-left: 1.5rem; -} -#tsd-toolbar-links a:hover { - text-decoration: underline; -} - -.tsd-signature { - margin: 0 0 1rem 0; - padding: 1rem 0.5rem; - border: 1px solid var(--color-accent); - font-family: Menlo, Monaco, Consolas, "Courier New", monospace; - font-size: 14px; - overflow-x: auto; -} - -.tsd-signature-keyword { - color: var(--color-ts-keyword); - font-weight: normal; -} - -.tsd-signature-symbol { - color: var(--color-text-aside); - font-weight: normal; -} - -.tsd-signature-type { - font-style: italic; - font-weight: normal; -} - -.tsd-signatures { - padding: 0; - margin: 0 0 1em 0; - list-style-type: none; -} -.tsd-signatures .tsd-signature { - margin: 0; - border-color: var(--color-accent); - border-width: 1px 0; - transition: background-color 0.1s; -} -.tsd-description .tsd-signatures .tsd-signature { - border-width: 1px; -} - -ul.tsd-parameter-list, -ul.tsd-type-parameter-list { - list-style: square; - margin: 0; - padding-left: 20px; -} -ul.tsd-parameter-list > li.tsd-parameter-signature, -ul.tsd-type-parameter-list > li.tsd-parameter-signature { - list-style: none; - margin-left: -20px; -} -ul.tsd-parameter-list h5, -ul.tsd-type-parameter-list h5 { - font-size: 16px; - margin: 1em 0 0.5em 0; -} -.tsd-sources { - margin-top: 1rem; - font-size: 0.875em; -} -.tsd-sources a { - color: var(--color-text-aside); - text-decoration: underline; -} -.tsd-sources ul { - list-style: none; - padding: 0; -} - -.tsd-page-toolbar { - position: sticky; - z-index: 1; - top: 0; - left: 0; - width: 100%; - color: var(--color-text); - background: var(--color-background-secondary); - border-bottom: 1px var(--color-accent) solid; - transition: transform 0.3s ease-in-out; -} -.tsd-page-toolbar a { - color: var(--color-text); - text-decoration: none; -} -.tsd-page-toolbar a.title { - font-weight: bold; -} -.tsd-page-toolbar a.title:hover { - text-decoration: underline; -} -.tsd-page-toolbar .tsd-toolbar-contents { - display: flex; - justify-content: space-between; - height: 2.5rem; - margin: 0 auto; -} -.tsd-page-toolbar .table-cell { - position: relative; - white-space: nowrap; - line-height: 40px; -} -.tsd-page-toolbar .table-cell:first-child { - width: 100%; -} -.tsd-page-toolbar .tsd-toolbar-icon { - box-sizing: border-box; - line-height: 0; - padding: 12px 0; -} - -.tsd-widget { - display: inline-block; - overflow: hidden; - opacity: 0.8; - height: 40px; - transition: - opacity 0.1s, - background-color 0.2s; - vertical-align: bottom; - cursor: pointer; -} -.tsd-widget:hover { - opacity: 0.9; -} -.tsd-widget.active { - opacity: 1; - background-color: var(--color-accent); -} -.tsd-widget.no-caption { - width: 40px; -} -.tsd-widget.no-caption:before { - margin: 0; -} - -.tsd-widget.options, -.tsd-widget.menu { - display: none; -} -input[type="checkbox"] + .tsd-widget:before { - background-position: -120px 0; -} -input[type="checkbox"]:checked + .tsd-widget:before { - background-position: -160px 0; -} - -img { - max-width: 100%; -} - -.tsd-anchor-icon { - display: inline-flex; - align-items: center; - margin-left: 0.5rem; - vertical-align: middle; - color: var(--color-text); -} - -.tsd-anchor-icon svg { - width: 1em; - height: 1em; - visibility: hidden; -} - -.tsd-anchor-link:hover > .tsd-anchor-icon svg { - visibility: visible; -} - -.deprecated { - text-decoration: line-through !important; -} - -.warning { - padding: 1rem; - color: var(--color-warning-text); - background: var(--color-background-warning); -} - -.tsd-kind-project { - color: var(--color-ts-project); -} -.tsd-kind-module { - color: var(--color-ts-module); -} -.tsd-kind-namespace { - color: var(--color-ts-namespace); -} -.tsd-kind-enum { - color: var(--color-ts-enum); -} -.tsd-kind-enum-member { - color: var(--color-ts-enum-member); -} -.tsd-kind-variable { - color: var(--color-ts-variable); -} -.tsd-kind-function { - color: var(--color-ts-function); -} -.tsd-kind-class { - color: var(--color-ts-class); -} -.tsd-kind-interface { - color: var(--color-ts-interface); -} -.tsd-kind-constructor { - color: var(--color-ts-constructor); -} -.tsd-kind-property { - color: var(--color-ts-property); -} -.tsd-kind-method { - color: var(--color-ts-method); -} -.tsd-kind-call-signature { - color: var(--color-ts-call-signature); -} -.tsd-kind-index-signature { - color: var(--color-ts-index-signature); -} -.tsd-kind-constructor-signature { - color: var(--color-ts-constructor-signature); -} -.tsd-kind-parameter { - color: var(--color-ts-parameter); -} -.tsd-kind-type-literal { - color: var(--color-ts-type-literal); -} -.tsd-kind-type-parameter { - color: var(--color-ts-type-parameter); -} -.tsd-kind-accessor { - color: var(--color-ts-accessor); -} -.tsd-kind-get-signature { - color: var(--color-ts-get-signature); -} -.tsd-kind-set-signature { - color: var(--color-ts-set-signature); -} -.tsd-kind-type-alias { - color: var(--color-ts-type-alias); -} - -/* if we have a kind icon, don't color the text by kind */ -.tsd-kind-icon ~ span { - color: var(--color-text); -} - -* { - scrollbar-width: thin; - scrollbar-color: var(--color-accent) var(--color-icon-background); -} - -*::-webkit-scrollbar { - width: 0.75rem; -} - -*::-webkit-scrollbar-track { - background: var(--color-icon-background); -} - -*::-webkit-scrollbar-thumb { - background-color: var(--color-accent); - border-radius: 999rem; - border: 0.25rem solid var(--color-icon-background); -} - - -/* mobile */ -@media (max-width: 769px) { - .tsd-widget.options, - .tsd-widget.menu { - display: inline-block; - } - - .container-main { - display: flex; - } - html .col-content { - float: none; - max-width: 100%; - width: 100%; - } - html .col-sidebar { - position: fixed !important; - overflow-y: auto; - -webkit-overflow-scrolling: touch; - z-index: 1024; - top: 0 !important; - bottom: 0 !important; - left: auto !important; - right: 0 !important; - padding: 1.5rem 1.5rem 0 0; - width: 75vw; - visibility: hidden; - background-color: var(--color-background); - transform: translate(100%, 0); - } - html .col-sidebar > *:last-child { - padding-bottom: 20px; - } - html .overlay { - content: ""; - display: block; - position: fixed; - z-index: 1023; - top: 0; - left: 0; - right: 0; - bottom: 0; - background-color: rgba(0, 0, 0, 0.75); - visibility: hidden; - } - - .to-has-menu .overlay { - animation: fade-in 0.4s; - } - - .to-has-menu .col-sidebar { - animation: pop-in-from-right 0.4s; - } - - .from-has-menu .overlay { - animation: fade-out 0.4s; - } - - .from-has-menu .col-sidebar { - animation: pop-out-to-right 0.4s; - } - - .has-menu body { - overflow: hidden; - } - .has-menu .overlay { - visibility: visible; - } - .has-menu .col-sidebar { - visibility: visible; - transform: translate(0, 0); - display: flex; - flex-direction: column; - gap: 1.5rem; - max-height: 100vh; - padding: 1rem 2rem; - } - .has-menu .tsd-navigation { - max-height: 100%; - } -} - -/* one sidebar */ -@media (min-width: 770px) { - .container-main { - display: grid; - grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); - grid-template-areas: "sidebar content"; - margin: 2rem auto; - } - - .col-sidebar { - grid-area: sidebar; - } - .col-content { - grid-area: content; - padding: 0 1rem; - } -} -@media (min-width: 770px) and (max-width: 1399px) { - .col-sidebar { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - padding-top: 1rem; - } - .site-menu { - margin-top: 1rem; - } -} - -/* two sidebars */ -@media (min-width: 1200px) { - .container-main { - grid-template-columns: minmax(0, 1fr) minmax(0, 2.5fr) minmax(0, 20rem); - grid-template-areas: "sidebar content toc"; - } - - .col-sidebar { - display: contents; - } - - .page-menu { - grid-area: toc; - padding-left: 1rem; - } - .site-menu { - grid-area: sidebar; - } - - .site-menu { - margin-top: 1rem 0; - } - - .page-menu, - .site-menu { - max-height: calc(100vh - 2rem - 42px); - overflow: auto; - position: sticky; - top: 42px; - } -} diff --git a/docs/classes/app_components_Buttons_Tutorial.default.html b/docs/classes/app_components_Buttons_Tutorial.default.html deleted file mode 100644 index d12ac61a3..000000000 --- a/docs/classes/app_components_Buttons_Tutorial.default.html +++ /dev/null @@ -1,667 +0,0 @@ - - - - - - default | reactime - - - - - - - - - - - -
-
- -
- - -
-
-
-
-
-
- -

Class default

-
-
-

- Hierarchy (view full) -

- -
- -
-
-
- - - -
-
-

Constructors

- -
-
-

Properties

- -
-
-

Methods

- -
-
-
-
-
-
-

Constructors

-
- - - -
-
-
-

Properties

-
- - -
- context: - any -
- -
-
- - -
- forceUpdate: - any -
- -
-
- - -
- props: - any -
- -
-
- - -
- refs: - any -
- -
-
- - -
- setState: - any -
- -
-
- - -
- state: - any -
- -
-
-
-

Methods

-
- - - -
-
-
-
- - -
-
- -
- - diff --git a/docs/classes/app_components_ErrorHandling_ErrorHandler.default.html b/docs/classes/app_components_ErrorHandling_ErrorHandler.default.html deleted file mode 100644 index dabcd11cb..000000000 --- a/docs/classes/app_components_ErrorHandling_ErrorHandler.default.html +++ /dev/null @@ -1,4 +0,0 @@ -default | reactime

Hierarchy

  • any
    • default

Constructors

Methods

Constructors

Methods

\ No newline at end of file diff --git a/docs/classes/backend_models_routes.Route.html b/docs/classes/backend_models_routes.Route.html deleted file mode 100644 index 7eef78d8e..000000000 --- a/docs/classes/backend_models_routes.Route.html +++ /dev/null @@ -1,5 +0,0 @@ -Route | reactime

Route instances are created by the addRoute method on Routes. A Route instance has two properties: the url of the route and a unique id.

-

Constructors

Properties

id -url -

Constructors

Properties

id: number
url: string
\ No newline at end of file diff --git a/docs/classes/backend_models_routes.Routes.html b/docs/classes/backend_models_routes.Routes.html deleted file mode 100644 index 20eaf1d50..000000000 --- a/docs/classes/backend_models_routes.Routes.html +++ /dev/null @@ -1,23 +0,0 @@ -Routes | reactime

An instance of this class is the default export from routes.ts. It includes the logic that allows Reactime to work with target applications built with React Router. The addRoute method is invoked in linkFiber.ts within the sendSnapshot function. The navigate method is invoked in timeJump.ts immediately before invoking jump.

-

Constructors

Properties

Methods

Constructors

Properties

current: number = 0
id: number = 0
routeHistory: Route[] = ...

Methods

  • Parameters

    • url: string

      A url string.

      -

    Returns Route

    Either the current route if the user has not navigated away from it or a new instance of a route constructed from the url.

    -

    Method

    addRoute - Method to add a new route to the route history array. Also ensures that the routeHistory stack always matches the browser history stack.

    -
  • This method will perform the following:

    -
      -
    1. Evaluate if user need to navigate to another route
    2. -
    3. If navigation is needed, perform navigation and return true
    4. -
    5. Else return false
    6. -
    -

    Parameters

    Returns boolean

    A boolean indicating whether or not a new route was navigated to.

    -

    Invokes history.go passing in the delta between the current route and the target route. https://developer.mozilla.org/en-US/docs/Web/API/History/go

    -
\ No newline at end of file diff --git a/docs/classes/backend_models_tree.default.html b/docs/classes/backend_models_tree.default.html deleted file mode 100644 index 2b2d4fc95..000000000 --- a/docs/classes/backend_models_tree.default.html +++ /dev/null @@ -1,31 +0,0 @@ -default | reactime

This is the current snapshot that is being sent to the snapshots array. -Creates a Tree

-

Param: state

the current state of the component represented by this node.

-

Param: name

the name of the component represented by this node.

-

Param: componentData

an object containing the props of the component represented by this node.

-

Param: chilren

an array of child nodes.

-

Param: parent

a reference to the parent node.

-

Param: isExpanded

a boolean value indicating whether the node is expanded in the UI.

-

Param: rtid

a unique identifier for the node.

-

Param: route

an object representing the route associated with the node.

-

Constructors

Properties

children: default[]
componentData: {} | ComponentData

Type declaration

    isExpanded: boolean = true
    name: string
    route?: Route
    rtid: string
    state: string | {}

    Type declaration

      Methods

      • Parameters

        • state: string | {}

          string if root, serialized state otherwise

          -
        • name: string

          name of child

          -
        • componentData: {} | ComponentData

          props

          -
        • rtid: string

          ??

          -

        Returns default

          -
        • return new tree instance that is child
        • -
        -
      • Parameters

        • name: string

          Component name

          -

        Returns string

        Unique name for Tree.name

        -

        Function

        checkForDuplicates - Generates a unique name for a component that is being added to the component tree

        -
      \ No newline at end of file diff --git a/docs/functions/app_App.default.html b/docs/functions/app_App.default.html deleted file mode 100644 index 54fff9c24..000000000 --- a/docs/functions/app_App.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime

      Function default

      \ No newline at end of file diff --git a/docs/functions/app_components_Actions_Action.default.html b/docs/functions/app_components_Actions_Action.default.html deleted file mode 100644 index 663c5c927..000000000 --- a/docs/functions/app_components_Actions_Action.default.html +++ /dev/null @@ -1,4 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_Actions_RouteDescription.default.html b/docs/functions/app_components_Actions_RouteDescription.default.html deleted file mode 100644 index c1a32daa6..000000000 --- a/docs/functions/app_components_Actions_RouteDescription.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_Actions_SwitchApp.default.html b/docs/functions/app_components_Actions_SwitchApp.default.html deleted file mode 100644 index a4c3c2324..000000000 --- a/docs/functions/app_components_Actions_SwitchApp.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_Buttons_StatusDot.default.html b/docs/functions/app_components_Buttons_StatusDot.default.html deleted file mode 100644 index cc7a98087..000000000 --- a/docs/functions/app_components_Buttons_StatusDot.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_DiffRoute_Diff.default.html b/docs/functions/app_components_DiffRoute_Diff.default.html deleted file mode 100644 index 6d180d795..000000000 --- a/docs/functions/app_components_DiffRoute_Diff.default.html +++ /dev/null @@ -1,5 +0,0 @@ -default | reactime
      • Displays tree showing two specific versions of tree: -one with specific state changes, the other the whole tree

        -

        Parameters

        Returns JSX.Element

        a diff tree or a string stating no state changes have happened

        -
      \ No newline at end of file diff --git a/docs/functions/app_components_DiffRoute_DiffRoute.default.html b/docs/functions/app_components_DiffRoute_DiffRoute.default.html deleted file mode 100644 index d7edeb361..000000000 --- a/docs/functions/app_components_DiffRoute_DiffRoute.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_ErrorHandling_ErrorMsg.default.html b/docs/functions/app_components_ErrorHandling_ErrorMsg.default.html deleted file mode 100644 index e2540d256..000000000 --- a/docs/functions/app_components_ErrorHandling_ErrorMsg.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      • Parameters

        • __namedParameters: {
              launchContent: any;
              loadingArray: any;
              reinitialize: any;
              status: any;
          }
          • launchContent: any
          • loadingArray: any
          • reinitialize: any
          • status: any

        Returns JSX.Element

      \ No newline at end of file diff --git a/docs/functions/app_components_ErrorHandling_Loader.default.html b/docs/functions/app_components_ErrorHandling_Loader.default.html deleted file mode 100644 index f1126d16a..000000000 --- a/docs/functions/app_components_ErrorHandling_Loader.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_ComponentMap_ComponentMap.default.html b/docs/functions/app_components_StateRoute_ComponentMap_ComponentMap.default.html deleted file mode 100644 index ce1196701..000000000 --- a/docs/functions/app_components_StateRoute_ComponentMap_ComponentMap.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_ComponentMap_LinkControls.default.html b/docs/functions/app_components_StateRoute_ComponentMap_LinkControls.default.html deleted file mode 100644 index 87589e7ae..000000000 --- a/docs/functions/app_components_StateRoute_ComponentMap_LinkControls.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_ComponentMap_ToolTipDataDisplay.default.html b/docs/functions/app_components_StateRoute_ComponentMap_ToolTipDataDisplay.default.html deleted file mode 100644 index fa8c1d1ab..000000000 --- a/docs/functions/app_components_StateRoute_ComponentMap_ToolTipDataDisplay.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_ComponentMap_getLinkComponent.default.html b/docs/functions/app_components_StateRoute_ComponentMap_getLinkComponent.default.html deleted file mode 100644 index 0aff9e7c8..000000000 --- a/docs/functions/app_components_StateRoute_ComponentMap_getLinkComponent.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_History.default.html b/docs/functions/app_components_StateRoute_History.default.html deleted file mode 100644 index cde38c15d..000000000 --- a/docs/functions/app_components_StateRoute_History.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraph.default.html b/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraph.default.html deleted file mode 100644 index 0181278fa..000000000 --- a/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraph.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraphComparison.default.html b/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraphComparison.default.html deleted file mode 100644 index e8c1f186b..000000000 --- a/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraphComparison.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraphComparisonActions.default.html b/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraphComparisonActions.default.html deleted file mode 100644 index 5c6234b43..000000000 --- a/docs/functions/app_components_StateRoute_PerformanceVisx_BarGraphComparisonActions.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_PerformanceVisx_PerformanceVisx.default.html b/docs/functions/app_components_StateRoute_PerformanceVisx_PerformanceVisx.default.html deleted file mode 100644 index 6062dbfce..000000000 --- a/docs/functions/app_components_StateRoute_PerformanceVisx_PerformanceVisx.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_PerformanceVisx_RenderingFrequency.default.html b/docs/functions/app_components_StateRoute_PerformanceVisx_RenderingFrequency.default.html deleted file mode 100644 index e1b0099d8..000000000 --- a/docs/functions/app_components_StateRoute_PerformanceVisx_RenderingFrequency.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_StateRoute.default.html b/docs/functions/app_components_StateRoute_StateRoute.default.html deleted file mode 100644 index 90542ed0b..000000000 --- a/docs/functions/app_components_StateRoute_StateRoute.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_Tree.default.html b/docs/functions/app_components_StateRoute_Tree.default.html deleted file mode 100644 index ed7ff64d3..000000000 --- a/docs/functions/app_components_StateRoute_Tree.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_WebMetrics_WebMetrics.default.html b/docs/functions/app_components_StateRoute_WebMetrics_WebMetrics.default.html deleted file mode 100644 index 419bd56b6..000000000 --- a/docs/functions/app_components_StateRoute_WebMetrics_WebMetrics.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_StateRoute_WebMetrics_WebMetricsContainer.default.html b/docs/functions/app_components_StateRoute_WebMetrics_WebMetricsContainer.default.html deleted file mode 100644 index 6773d3d9d..000000000 --- a/docs/functions/app_components_StateRoute_WebMetrics_WebMetricsContainer.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_TimeTravel_Dropdown.default.html b/docs/functions/app_components_TimeTravel_Dropdown.default.html deleted file mode 100644 index b7c212a79..000000000 --- a/docs/functions/app_components_TimeTravel_Dropdown.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_components_TimeTravel_MainSlider.default.html b/docs/functions/app_components_TimeTravel_MainSlider.default.html deleted file mode 100644 index f619730df..000000000 --- a/docs/functions/app_components_TimeTravel_MainSlider.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_containers_ActionContainer.default.html b/docs/functions/app_containers_ActionContainer.default.html deleted file mode 100644 index 68b1b58c8..000000000 --- a/docs/functions/app_containers_ActionContainer.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_containers_ButtonsContainer.default.html b/docs/functions/app_containers_ButtonsContainer.default.html deleted file mode 100644 index a2d421119..000000000 --- a/docs/functions/app_containers_ButtonsContainer.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_containers_ErrorContainer.default.html b/docs/functions/app_containers_ErrorContainer.default.html deleted file mode 100644 index 0362673aa..000000000 --- a/docs/functions/app_containers_ErrorContainer.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_containers_MainContainer.default.html b/docs/functions/app_containers_MainContainer.default.html deleted file mode 100644 index 6fd41ae89..000000000 --- a/docs/functions/app_containers_MainContainer.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_containers_StateContainer.default.html b/docs/functions/app_containers_StateContainer.default.html deleted file mode 100644 index 30bd56b51..000000000 --- a/docs/functions/app_containers_StateContainer.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_containers_TravelContainer.default.html b/docs/functions/app_containers_TravelContainer.default.html deleted file mode 100644 index dc67f3e13..000000000 --- a/docs/functions/app_containers_TravelContainer.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.aReactApp.html b/docs/functions/app_slices_mainSlice.aReactApp.html deleted file mode 100644 index 79753dde1..000000000 --- a/docs/functions/app_slices_mainSlice.aReactApp.html +++ /dev/null @@ -1,5 +0,0 @@ -aReactApp | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/aReactApp";
        }

        • payload: any
        • type: "main/aReactApp"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/aReactApp";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/aReactApp";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/aReactApp";
          }

      type: "main/aReactApp"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.addNewSnapshots.html b/docs/functions/app_slices_mainSlice.addNewSnapshots.html deleted file mode 100644 index 477ba10c2..000000000 --- a/docs/functions/app_slices_mainSlice.addNewSnapshots.html +++ /dev/null @@ -1,5 +0,0 @@ -addNewSnapshots | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/addNewSnapshots";
        }

        • payload: any
        • type: "main/addNewSnapshots"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/addNewSnapshots";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/addNewSnapshots";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/addNewSnapshots";
          }

      type: "main/addNewSnapshots"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.changeSlider.html b/docs/functions/app_slices_mainSlice.changeSlider.html deleted file mode 100644 index 759bc4679..000000000 --- a/docs/functions/app_slices_mainSlice.changeSlider.html +++ /dev/null @@ -1,5 +0,0 @@ -changeSlider | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/changeSlider";
        }

        • payload: any
        • type: "main/changeSlider"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/changeSlider";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/changeSlider";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/changeSlider";
          }

      type: "main/changeSlider"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.changeView.html b/docs/functions/app_slices_mainSlice.changeView.html deleted file mode 100644 index 72f94ff40..000000000 --- a/docs/functions/app_slices_mainSlice.changeView.html +++ /dev/null @@ -1,5 +0,0 @@ -changeView | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/changeView";
        }

        • payload: any
        • type: "main/changeView"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/changeView";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/changeView";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/changeView";
          }

      type: "main/changeView"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.deleteSeries.html b/docs/functions/app_slices_mainSlice.deleteSeries.html deleted file mode 100644 index 5fba8f772..000000000 --- a/docs/functions/app_slices_mainSlice.deleteSeries.html +++ /dev/null @@ -1,5 +0,0 @@ -deleteSeries | reactime
      • Calling this redux#ActionCreator will -return a PayloadAction of type T with a payload of undefined

        -

        Parameters

        • noArgument: void

        Returns {
            payload: undefined;
            type: "main/deleteSeries";
        }

        • payload: undefined
        • type: "main/deleteSeries"

      Properties

      Properties

      match: ((action) => action is {
          payload: undefined;
          type: "main/deleteSeries";
      })

      Type declaration

        • (action): action is {
              payload: undefined;
              type: "main/deleteSeries";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: undefined;
              type: "main/deleteSeries";
          }

      type: "main/deleteSeries"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.deleteTab.html b/docs/functions/app_slices_mainSlice.deleteTab.html deleted file mode 100644 index 708a36005..000000000 --- a/docs/functions/app_slices_mainSlice.deleteTab.html +++ /dev/null @@ -1,5 +0,0 @@ -deleteTab | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/deleteTab";
        }

        • payload: any
        • type: "main/deleteTab"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/deleteTab";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/deleteTab";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/deleteTab";
          }

      type: "main/deleteTab"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.disconnected.html b/docs/functions/app_slices_mainSlice.disconnected.html deleted file mode 100644 index b69bd3824..000000000 --- a/docs/functions/app_slices_mainSlice.disconnected.html +++ /dev/null @@ -1,5 +0,0 @@ -disconnected | reactime
      • Calling this redux#ActionCreator will -return a PayloadAction of type T with a payload of undefined

        -

        Parameters

        • noArgument: void

        Returns {
            payload: undefined;
            type: "main/disconnected";
        }

        • payload: undefined
        • type: "main/disconnected"

      Properties

      Properties

      match: ((action) => action is {
          payload: undefined;
          type: "main/disconnected";
      })

      Type declaration

        • (action): action is {
              payload: undefined;
              type: "main/disconnected";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: undefined;
              type: "main/disconnected";
          }

      type: "main/disconnected"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.emptySnapshots.html b/docs/functions/app_slices_mainSlice.emptySnapshots.html deleted file mode 100644 index dbf3dbb85..000000000 --- a/docs/functions/app_slices_mainSlice.emptySnapshots.html +++ /dev/null @@ -1,5 +0,0 @@ -emptySnapshots | reactime
      • Calling this redux#ActionCreator will -return a PayloadAction of type T with a payload of undefined

        -

        Parameters

        • noArgument: void

        Returns {
            payload: undefined;
            type: "main/emptySnapshots";
        }

        • payload: undefined
        • type: "main/emptySnapshots"

      Properties

      Properties

      match: ((action) => action is {
          payload: undefined;
          type: "main/emptySnapshots";
      })

      Type declaration

        • (action): action is {
              payload: undefined;
              type: "main/emptySnapshots";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: undefined;
              type: "main/emptySnapshots";
          }

      type: "main/emptySnapshots"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.endConnect.html b/docs/functions/app_slices_mainSlice.endConnect.html deleted file mode 100644 index 4385cc1ec..000000000 --- a/docs/functions/app_slices_mainSlice.endConnect.html +++ /dev/null @@ -1,5 +0,0 @@ -endConnect | reactime
      • Calling this redux#ActionCreator will -return a PayloadAction of type T with a payload of undefined

        -

        Parameters

        • noArgument: void

        Returns {
            payload: undefined;
            type: "main/endConnect";
        }

        • payload: undefined
        • type: "main/endConnect"

      Properties

      Properties

      match: ((action) => action is {
          payload: undefined;
          type: "main/endConnect";
      })

      Type declaration

        • (action): action is {
              payload: undefined;
              type: "main/endConnect";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: undefined;
              type: "main/endConnect";
          }

      type: "main/endConnect"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.importSnapshots.html b/docs/functions/app_slices_mainSlice.importSnapshots.html deleted file mode 100644 index 44c699e2d..000000000 --- a/docs/functions/app_slices_mainSlice.importSnapshots.html +++ /dev/null @@ -1,5 +0,0 @@ -importSnapshots | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/importSnapshots";
        }

        • payload: any
        • type: "main/importSnapshots"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/importSnapshots";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/importSnapshots";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/importSnapshots";
          }

      type: "main/importSnapshots"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.initialConnect.html b/docs/functions/app_slices_mainSlice.initialConnect.html deleted file mode 100644 index ddbc8f3c4..000000000 --- a/docs/functions/app_slices_mainSlice.initialConnect.html +++ /dev/null @@ -1,5 +0,0 @@ -initialConnect | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/initialConnect";
        }

        • payload: any
        • type: "main/initialConnect"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/initialConnect";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/initialConnect";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/initialConnect";
          }

      type: "main/initialConnect"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.launchContentScript.html b/docs/functions/app_slices_mainSlice.launchContentScript.html deleted file mode 100644 index 4366ab645..000000000 --- a/docs/functions/app_slices_mainSlice.launchContentScript.html +++ /dev/null @@ -1,5 +0,0 @@ -launchContentScript | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/launchContentScript";
        }

        • payload: any
        • type: "main/launchContentScript"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/launchContentScript";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/launchContentScript";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/launchContentScript";
          }

      type: "main/launchContentScript"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.moveBackward.html b/docs/functions/app_slices_mainSlice.moveBackward.html deleted file mode 100644 index deacd29be..000000000 --- a/docs/functions/app_slices_mainSlice.moveBackward.html +++ /dev/null @@ -1,5 +0,0 @@ -moveBackward | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/moveBackward";
        }

        • payload: any
        • type: "main/moveBackward"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/moveBackward";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/moveBackward";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/moveBackward";
          }

      type: "main/moveBackward"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.moveForward.html b/docs/functions/app_slices_mainSlice.moveForward.html deleted file mode 100644 index 16fddde4f..000000000 --- a/docs/functions/app_slices_mainSlice.moveForward.html +++ /dev/null @@ -1,5 +0,0 @@ -moveForward | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/moveForward";
        }

        • payload: any
        • type: "main/moveForward"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/moveForward";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/moveForward";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/moveForward";
          }

      type: "main/moveForward"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.noDev.html b/docs/functions/app_slices_mainSlice.noDev.html deleted file mode 100644 index 4a6c45567..000000000 --- a/docs/functions/app_slices_mainSlice.noDev.html +++ /dev/null @@ -1,5 +0,0 @@ -noDev | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/noDev";
        }

        • payload: any
        • type: "main/noDev"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/noDev";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/noDev";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/noDev";
          }

      type: "main/noDev"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.onHover.html b/docs/functions/app_slices_mainSlice.onHover.html deleted file mode 100644 index a24fb1e90..000000000 --- a/docs/functions/app_slices_mainSlice.onHover.html +++ /dev/null @@ -1,5 +0,0 @@ -onHover | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/onHover";
        }

        • payload: any
        • type: "main/onHover"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/onHover";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/onHover";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/onHover";
          }

      type: "main/onHover"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.onHoverExit.html b/docs/functions/app_slices_mainSlice.onHoverExit.html deleted file mode 100644 index af614f5fb..000000000 --- a/docs/functions/app_slices_mainSlice.onHoverExit.html +++ /dev/null @@ -1,5 +0,0 @@ -onHoverExit | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/onHoverExit";
        }

        • payload: any
        • type: "main/onHoverExit"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/onHoverExit";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/onHoverExit";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/onHoverExit";
          }

      type: "main/onHoverExit"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.pause.html b/docs/functions/app_slices_mainSlice.pause.html deleted file mode 100644 index 290fb94fb..000000000 --- a/docs/functions/app_slices_mainSlice.pause.html +++ /dev/null @@ -1,5 +0,0 @@ -pause | reactime
      • Calling this redux#ActionCreator will -return a PayloadAction of type T with a payload of undefined

        -

        Parameters

        • noArgument: void

        Returns {
            payload: undefined;
            type: "main/pause";
        }

        • payload: undefined
        • type: "main/pause"

      Properties

      Properties

      match: ((action) => action is {
          payload: undefined;
          type: "main/pause";
      })

      Type declaration

        • (action): action is {
              payload: undefined;
              type: "main/pause";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: undefined;
              type: "main/pause";
          }

      type: "main/pause"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.playForward.html b/docs/functions/app_slices_mainSlice.playForward.html deleted file mode 100644 index 6b5b0bbaf..000000000 --- a/docs/functions/app_slices_mainSlice.playForward.html +++ /dev/null @@ -1,5 +0,0 @@ -playForward | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/playForward";
        }

        • payload: any
        • type: "main/playForward"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/playForward";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/playForward";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/playForward";
          }

      type: "main/playForward"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.resetSlider.html b/docs/functions/app_slices_mainSlice.resetSlider.html deleted file mode 100644 index 6280d4e85..000000000 --- a/docs/functions/app_slices_mainSlice.resetSlider.html +++ /dev/null @@ -1,5 +0,0 @@ -resetSlider | reactime
      • Calling this redux#ActionCreator will -return a PayloadAction of type T with a payload of undefined

        -

        Parameters

        • noArgument: void

        Returns {
            payload: undefined;
            type: "main/resetSlider";
        }

        • payload: undefined
        • type: "main/resetSlider"

      Properties

      Properties

      match: ((action) => action is {
          payload: undefined;
          type: "main/resetSlider";
      })

      Type declaration

        • (action): action is {
              payload: undefined;
              type: "main/resetSlider";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: undefined;
              type: "main/resetSlider";
          }

      type: "main/resetSlider"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.save.html b/docs/functions/app_slices_mainSlice.save.html deleted file mode 100644 index d0982053d..000000000 --- a/docs/functions/app_slices_mainSlice.save.html +++ /dev/null @@ -1,5 +0,0 @@ -save | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/save";
        }

        • payload: any
        • type: "main/save"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/save";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/save";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/save";
          }

      type: "main/save"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.setCurrentLocation.html b/docs/functions/app_slices_mainSlice.setCurrentLocation.html deleted file mode 100644 index 6b76aa2e6..000000000 --- a/docs/functions/app_slices_mainSlice.setCurrentLocation.html +++ /dev/null @@ -1,5 +0,0 @@ -setCurrentLocation | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/setCurrentLocation";
        }

        • payload: any
        • type: "main/setCurrentLocation"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/setCurrentLocation";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/setCurrentLocation";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/setCurrentLocation";
          }

      type: "main/setCurrentLocation"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.setCurrentTabInApp.html b/docs/functions/app_slices_mainSlice.setCurrentTabInApp.html deleted file mode 100644 index 1d8d204be..000000000 --- a/docs/functions/app_slices_mainSlice.setCurrentTabInApp.html +++ /dev/null @@ -1,5 +0,0 @@ -setCurrentTabInApp | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/setCurrentTabInApp";
        }

        • payload: any
        • type: "main/setCurrentTabInApp"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/setCurrentTabInApp";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/setCurrentTabInApp";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/setCurrentTabInApp";
          }

      type: "main/setCurrentTabInApp"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.setPort.html b/docs/functions/app_slices_mainSlice.setPort.html deleted file mode 100644 index 87df1d72b..000000000 --- a/docs/functions/app_slices_mainSlice.setPort.html +++ /dev/null @@ -1,5 +0,0 @@ -setPort | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/setPort";
        }

        • payload: any
        • type: "main/setPort"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/setPort";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/setPort";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/setPort";
          }

      type: "main/setPort"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.setTab.html b/docs/functions/app_slices_mainSlice.setTab.html deleted file mode 100644 index a6b069b53..000000000 --- a/docs/functions/app_slices_mainSlice.setTab.html +++ /dev/null @@ -1,5 +0,0 @@ -setTab | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/setTab";
        }

        • payload: any
        • type: "main/setTab"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/setTab";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/setTab";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/setTab";
          }

      type: "main/setTab"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.startPlaying.html b/docs/functions/app_slices_mainSlice.startPlaying.html deleted file mode 100644 index 67fd4dbd2..000000000 --- a/docs/functions/app_slices_mainSlice.startPlaying.html +++ /dev/null @@ -1,5 +0,0 @@ -startPlaying | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/startPlaying";
        }

        • payload: any
        • type: "main/startPlaying"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/startPlaying";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/startPlaying";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/startPlaying";
          }

      type: "main/startPlaying"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.startReconnect.html b/docs/functions/app_slices_mainSlice.startReconnect.html deleted file mode 100644 index 91aa579d6..000000000 --- a/docs/functions/app_slices_mainSlice.startReconnect.html +++ /dev/null @@ -1,5 +0,0 @@ -startReconnect | reactime
      • Calling this redux#ActionCreator will -return a PayloadAction of type T with a payload of undefined

        -

        Parameters

        • noArgument: void

        Returns {
            payload: undefined;
            type: "main/startReconnect";
        }

        • payload: undefined
        • type: "main/startReconnect"

      Properties

      Properties

      match: ((action) => action is {
          payload: undefined;
          type: "main/startReconnect";
      })

      Type declaration

        • (action): action is {
              payload: undefined;
              type: "main/startReconnect";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: undefined;
              type: "main/startReconnect";
          }

      type: "main/startReconnect"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.toggleExpanded.html b/docs/functions/app_slices_mainSlice.toggleExpanded.html deleted file mode 100644 index 746e91d59..000000000 --- a/docs/functions/app_slices_mainSlice.toggleExpanded.html +++ /dev/null @@ -1,5 +0,0 @@ -toggleExpanded | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/toggleExpanded";
        }

        • payload: any
        • type: "main/toggleExpanded"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/toggleExpanded";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/toggleExpanded";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/toggleExpanded";
          }

      type: "main/toggleExpanded"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.toggleMode.html b/docs/functions/app_slices_mainSlice.toggleMode.html deleted file mode 100644 index 772b76956..000000000 --- a/docs/functions/app_slices_mainSlice.toggleMode.html +++ /dev/null @@ -1,5 +0,0 @@ -toggleMode | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/toggleMode";
        }

        • payload: any
        • type: "main/toggleMode"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/toggleMode";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/toggleMode";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/toggleMode";
          }

      type: "main/toggleMode"
      \ No newline at end of file diff --git a/docs/functions/app_slices_mainSlice.tutorialSaveSeriesToggle.html b/docs/functions/app_slices_mainSlice.tutorialSaveSeriesToggle.html deleted file mode 100644 index cac0bd241..000000000 --- a/docs/functions/app_slices_mainSlice.tutorialSaveSeriesToggle.html +++ /dev/null @@ -1,5 +0,0 @@ -tutorialSaveSeriesToggle | reactime
      • Calling this redux#ActionCreator with an argument will -return a PayloadAction of type T with a payload of P

        -

        Parameters

        • payload: any

        Returns {
            payload: any;
            type: "main/tutorialSaveSeriesToggle";
        }

        • payload: any
        • type: "main/tutorialSaveSeriesToggle"

      Properties

      Properties

      match: ((action) => action is {
          payload: any;
          type: "main/tutorialSaveSeriesToggle";
      })

      Type declaration

        • (action): action is {
              payload: any;
              type: "main/tutorialSaveSeriesToggle";
          }
        • Parameters

          • action: unknown

          Returns action is {
              payload: any;
              type: "main/tutorialSaveSeriesToggle";
          }

      type: "main/tutorialSaveSeriesToggle"
      \ No newline at end of file diff --git a/docs/functions/backend_controllers_createComponentActionsRecord.default.html b/docs/functions/backend_controllers_createComponentActionsRecord.default.html deleted file mode 100644 index ccb4f1437..000000000 --- a/docs/functions/backend_controllers_createComponentActionsRecord.default.html +++ /dev/null @@ -1,7 +0,0 @@ -default | reactime
      • This is a recursive function that runs after Fiber commit, if user is navigating to a new route during jumping. This function performs the following logic:

        -
          -
        1. Traverse from FiberRootNode
        2. -
        3. If the component is stateful, extract its update methods & push to the componentActionRecord array
        4. -
        -

        Parameters

        • currentFiberNode: Fiber

          A Fiber object

          -

        Returns void

      \ No newline at end of file diff --git a/docs/functions/backend_controllers_createTree.default.html b/docs/functions/backend_controllers_createTree.default.html deleted file mode 100644 index 4091e387c..000000000 --- a/docs/functions/backend_controllers_createTree.default.html +++ /dev/null @@ -1,10 +0,0 @@ -default | reactime
      • This is a function that runs after every Fiber commit using the following logic:

        -
          -
        1. Traverse from FiberRootNode
        2. -
        3. Create an instance of custom Tree class
        4. -
        5. Build a new state snapshot -Every time a state change is made in the accompanying app, the extension creates a Tree “snapshot” of the current state, and adds it to the current “cache” of snapshots in the extension
        6. -
        -

        Parameters

        • currentFiberNode: Fiber

          A Fiber object

          -

        Returns default

        An instance of a Tree object

        -
      \ No newline at end of file diff --git a/docs/functions/backend_controllers_statePropExtractors.filterAndFormatData.html b/docs/functions/backend_controllers_statePropExtractors.filterAndFormatData.html deleted file mode 100644 index ee7950c39..000000000 --- a/docs/functions/backend_controllers_statePropExtractors.filterAndFormatData.html +++ /dev/null @@ -1,6 +0,0 @@ -filterAndFormatData | reactime
      • This function receives raw Data from REACT DEV TOOL and filter the Data based on the exclude list. The filterd data is then converted to string (if applicable) before being sent to reacTime front end. -NOTE: the formating is important since Chrome will only accept JSON.stringfiable object. Circular object & function are not JSON stringifiable.

        -

        Parameters

        • reactDevData: {
              [key: string]: any;
          }

          The data object obtained from React Devtool. Ex: memoizedProps, memoizedState

          -
          • [key: string]: any
        • reactimeData: ReactimeData = {}

          The cached data from the current component. This can be data about states, context and/or props of the component.

          -

        Returns ReactimeData

        The update component data object to send to front end of ReactTime

        -
      \ No newline at end of file diff --git a/docs/functions/backend_controllers_statePropExtractors.getHooksNames.html b/docs/functions/backend_controllers_statePropExtractors.getHooksNames.html deleted file mode 100644 index 060e35bb1..000000000 --- a/docs/functions/backend_controllers_statePropExtractors.getHooksNames.html +++ /dev/null @@ -1,6 +0,0 @@ -getHooksNames | reactime
      • This function receive a string representation of a functional component. This function then use JSX parser to traverse through the function string, and extract the state variable name and its corresponding setState method.

        -

        Parameters

        • elementType: string

          The string representation of a functional component

          -

        Returns {
            hookName: string;
            varName: string;
        }[]

          -
        • An array of objects with key: hookName (the name of setState method) | value: varName (the state variable name)
        • -
        -
      \ No newline at end of file diff --git a/docs/functions/backend_controllers_statePropExtractors.getHooksStateAndUpdateMethod.html b/docs/functions/backend_controllers_statePropExtractors.getHooksStateAndUpdateMethod.html deleted file mode 100644 index d9ffb9625..000000000 --- a/docs/functions/backend_controllers_statePropExtractors.getHooksStateAndUpdateMethod.html +++ /dev/null @@ -1,9 +0,0 @@ -getHooksStateAndUpdateMethod | reactime
      • Helper function to:

        -
          -
        • traverse through memoizedState
        • -
        • extract the state data & the dispatch method, which is stored in memoizedState.queue.
        • -
        -

        During time jump, dispatch method will be used to re-render historical state.

        -

        Parameters

        • memoizedState: any

          The current state of the component associated with the current Fiber node.

          -

        Returns HookStateItem[]

        An array of array of HookStateItem objects

        -
      \ No newline at end of file diff --git a/docs/functions/backend_controllers_throttle.default.html b/docs/functions/backend_controllers_throttle.default.html deleted file mode 100644 index f1687b456..000000000 --- a/docs/functions/backend_controllers_throttle.default.html +++ /dev/null @@ -1,5 +0,0 @@ -default | reactime
      • Type Parameters

        • T extends ((...args) => any)

        Parameters

        • callback: T

          A function to throttle

          -
        • MIN_TIME_BETWEEN_UPDATE: number

          A number of milliseconds to use as throttling interval

          -

        Returns ((...arg) => ReturnType<T>)

        A function that limits input function, callback, from being called more than once every MIN_TIME_BETWEEN_UPDATE milliseconds

        -
          • (...arg): ReturnType<T>
          • Parameters

            • Rest ...arg: Parameters<T>

            Returns ReturnType<T>

        Method

        throttle

        -
      \ No newline at end of file diff --git a/docs/functions/backend_controllers_timeJump.default.html b/docs/functions/backend_controllers_timeJump.default.html deleted file mode 100644 index d6e4ffa4f..000000000 --- a/docs/functions/backend_controllers_timeJump.default.html +++ /dev/null @@ -1,4 +0,0 @@ -default | reactime
      • This is a closure function to keep track of mode (jumping or not jumping)

        -

        Parameters

        • mode: Status

          The current mode (i.e. jumping)

          -

        Returns ((targetSnapshot) => Promise<void>)

        an async function that takes an targetSnapshot, then invokes updateReactFiberTree based on the state provided within that target snapshot

        -
          • (targetSnapshot): Promise<void>
          • Parameters

            Returns Promise<void>

      \ No newline at end of file diff --git a/docs/functions/backend_models_tree.serializeState.html b/docs/functions/backend_models_tree.serializeState.html deleted file mode 100644 index f7ee593ec..000000000 --- a/docs/functions/backend_models_tree.serializeState.html +++ /dev/null @@ -1,6 +0,0 @@ -serializeState | reactime
      • Parameters

        • state: any

          Object that contains the current state of the application or system that needs to be serialized.

          -

        Returns any

          -
        • Depclone of the passed in state. If there is any circulate state, return 'circularState'
        • -
        -

        Function

        serializeState - In the context of React, state is often used to store data that determines the behavior and appearance of a component. By serializing the state, we can preserve the component's data across page refreshes, server-side rendering, and other transitions. Additionally, by serializing the state and passing it to a child component, we can create a deep clone of the state, which allows the child component to manipulate the state without affecting the original component. This is useful in situations where we want to keep the state of the parent component immutable, but still allow child components to modify a copy of the state.

        -
      \ No newline at end of file diff --git a/docs/functions/backend_routers_linkFiber.default.html b/docs/functions/backend_routers_linkFiber.default.html deleted file mode 100644 index c7802de5d..000000000 --- a/docs/functions/backend_routers_linkFiber.default.html +++ /dev/null @@ -1,12 +0,0 @@ -default | reactime
      • Parameters

        • mode: Status

          The current mode (i.e. jumping, time-traveling, or paused)

          -

        Returns (() => Promise<void>)

        a function to be invoked by index.js that initiates snapshot monitoring

        -
          • (): Promise<void>
          • Returns Promise<void>

        Function

        linkFiber - linkFiber contains core module functionality, exported as an anonymous function, perform the following logic:

        -
          -
        1. Check if React Dev Tool is installed.
        2. -
        3. Check if the target application (on the browser) is a valid react application.
        4. -
        5. Initiate a event listener for visibility update of the target React Application.
        6. -
        7. Obtain the initial fiberRootNode, which is the root node of the fiber tree
        8. -
        9. Initialize the fiber tree snapShot to send to Front End, later rendered on Chrome Extension.
        10. -
        11. Monkey patching the onCommitFiberRoot from REACT DEV TOOL to obtain updated data after React Applicaiton is re-rendered.
        12. -
        -
      \ No newline at end of file diff --git a/docs/functions/backend_routers_snapShot.default.html b/docs/functions/backend_routers_snapShot.default.html deleted file mode 100644 index dc4922c7e..000000000 --- a/docs/functions/backend_routers_snapShot.default.html +++ /dev/null @@ -1,5 +0,0 @@ -default | reactime
      • This function creates a new snapShot fiber tree with the provided fiberRoot, then send the updated snapshot to front end. -This runs after every Fiber commit if mode is not jumping. -This

        -

        Parameters

        • fiberRoot: FiberRoot

          The fiberRootNode, which is the root node of the fiber tree is stored in the current property of the fiber root object which we can use to traverse the tree

          -

        Returns void

      \ No newline at end of file diff --git a/docs/hierarchy.html b/docs/hierarchy.html deleted file mode 100644 index 3cbb75718..000000000 --- a/docs/hierarchy.html +++ /dev/null @@ -1 +0,0 @@ -reactime
      \ No newline at end of file diff --git a/docs/index.html b/docs/index.html deleted file mode 100644 index 299b3cc37..000000000 --- a/docs/index.html +++ /dev/null @@ -1,280 +0,0 @@ -reactime

      reactime

      -
      - -
      -
      - React Performance Tool -
      - Nominated for React Open Source Awards 2020 -
      -

      - -

      Reactime is an open-source Chrome developer tool for time travel debugging and performance monitoring in React applications. Reactime enables developers to record snapshots of application state, jump between and inspect state snapshots, and monitor performance metrics such as component render time and render frequency.

      - -
      -

      - - GitHub - - LintPrefs -

      - -
      -
      - 🇷🇺   РУССКАЯ ВЕРСИЯ   •   🇫🇷   VERSION FRANÇAISE   •   DEVELOPER README -
      -
      -
      - -

      - -

      - -

      - Website -

      - -

      Features

      🔹 Viewing

      You can view your application's file structure and click on a snapshot to view -your app's state. State can be visualized in a Component Graph, JSON Tree, or -Performance Graph. Snapshot history can be visualized in the History tab. -The Web Metrics tab provides some useful metrics for site performance. The accessibility tab -visualizes an app's accessibility tree per state change. -Snapshots can be compared with the previous snapshot, which can be viewed in Diff mode. -
      -

      -

      - -

      -
      - -

      🔹 Recording

      Whenever the state is changed (whenever setState, useState is called), this -extension will create a snapshot of the current state tree and record it. Each -snapshot will be displayed in Chrome DevTools under the Reactime panel. -
      -

      -

      🔹 Snapshot Series and Action Comparison

      You can save a series of state snapshots and use it to analyze changes in -component render performance between the current and the previous series of snapshots. -You can also name specific snapshots and compare all snapshots with the same -name. -
      -

      -

      🔹 Components Comparison

      When toggled to a specific snapshot, a visualization of the individual -components of the snapshot will be displayed. This can be done under the same -Performance tab where the snapshots are rendered. You will also find details of -each component upon hovering. -
      -

      -

      🔹 Download/Upload Snapshots

      Download the recorded snapshots as a JSON file and upload them to access state trees across different sessions. -
      -

      -

      - -

      -
      - -

      🔹 Reconnect and Status

      If Reactime loses its connection to the tab you're monitoring, simply click the "reconnect" button to resume your work. You'll notice a circle located to the right of the button, which will appear as either red (indicating disconnection) or green (signifying a successful reconnection). -
      -

      -

      🔹 Re-render Optimization

      One of the most common issues that affects performance in React is unnecessary -render cycles. This problem can be fixed by checking your renders in the -Performance tab in Chrome DevTools under the Reactime panel. -
      -

      -

      🔹 Jumping

      Using the actions sidebar, a user can jump to any previously recorded snapshots. -Hitting the jump button on any snapshot will allow a user to view state data at -any point in the history of the target application. -
      -

      -

      🔹 Gatsby

      Reactime offers full support for Gatsby applications. You would be able to -identify unnecessary renders, duration of each rendering, travel-debugging -features and visual representation of the tree components. -
      -

      -

      🔹 Next.js

      Reactime offers debugging and performance tools for Next.js apps: time-traveling -debugging, preventing unnecessary component re-renders and making your -application faster. -
      -

      -

      🔹 Remix

      Reactime offers debugging and performance tools for Remix apps (in beta). Support still -needs to be added for multi-route time traveling. Every other feature works. -
      -

      -

      🔹 TypeScript Support

      Reactime offers support for TypeScript applications using stateful class -components and functional components. Further testing and development is -required for custom hooks and Concurrent Mode. -
      -

      -

      🔹 Documentation

      After cloning this repository, developers can simply run npm run docs at the -root level and serve the dynamically generated /docs/index.html file on a -browser. Doing so will provide a readable, extensible, and interactive GUI view -of the structure and interfaces of the codebase. -
      -

      -

      Additional Features

        -
      • In-app tab-specific tutorial walkthroughs
      • -
      • Hover over a component to view tooltip details on state visualizations
      • -
      • Double-click to collapse child components
      • -
      • Click to focus on a portion of the component map
      • -
      • A dropdown to support the development of projects on multiple tabs
      • -
      • Intuitive navigation between state snapshots
      • -
      • Locked/unlocked feature allowing temporary pause of state monitoring
      • -
      -

      What's New!

      - -

      Reactime 24.0 includes a new accessibility debugging feature for developers!

      -

      "No ARIA is better than bad ARIA"

      -

      This version of Reactime remedies this phrase by implementing a feature that allows developers to track the accessibility tree of their application based on state change.

      -

      Similar to the component map feature, developers can time travel to different states of their app's accessibility tree and hover over specific nodes to learn more about their individual accessibility-related information.

      -

      We've also developed an enable/disable button that determines when the Chrome Debugger API grabs the app's accessibility tree and a legend component that describes the tree in greater detail.

      -

      If you would like to read more about previous releases, click here!

      -

      - -

      Installation

      - -

      To get started, install the Reactime -extension -from Chrome Web Store.

      -

      After installing Reactime, you can test its functionalities with your React -application in development mode.

      -

      Please note, the time jumping feature will ONLY work when your -application is running in development mode. In production mode, you are -able to view your application’s component map but no additional features.

      -

      NOTE: The React Developer Tools -extension -is also required for Reactime to run, if you do not already have it installed on -your browser.

      -

      Manual Installation

      Go to Chrome Extensions (make sure Chrome Extension is in Developer Mode) for -manual installation in (https://developer.chrome.com/extensions/faq#faq-dev-01) -and click on Load Unpacked. Use src/extension/build/ to load this extension. -Turn on 'Allow access to file URLs' in the extension details page if testing -locally.

      -

      Looking to contribute to Reactime?

      Please refer to Developer Install for a detailed guide:

      -

      Refer to the DEVELOPER README for more info on the project, and -instructions on building from source.

      -

      How to Use

      After installing the Chrome extension, just open up your project in the browser.

      -

      Then right click on your application and choose the 'Reactime' context menu item to open up a Reactime panel.

      -

      Alternatively, you can open up your Chrome DevTools and navigate to the Reactime panel.

      -

      Troubleshooting

      Why is Reactime telling me that no React application is found?

      Reactime initially runs using the dev tools global hook from the Chrome API. It -takes time for Chrome to load this. Try refreshing your application a couple of -times until you see Reactime running.

      -

      Why do I need to have React Dev Tools enabled?

      Reactime works in tandem with the React Developer Tools to access a React application's Fiber tree; under the hood, Reactime traverses the Fiber tree through the React Developer Tool's global hook, pulling all relevant information needed to display to the developer

      -

      There is a black screen instead of the Reactime extension

      Try refreshing the application you want to test and refresh the DevTools by -clicking the right mouse button “Reload frame”.

      -

      I found a bug in Reactime

      Reactime is an open-source project, and we'd love to hear from you about -improving the user experience. Please read DEVELOPER README, -and create a pull request (or issue) to propose and collaborate on changes to Reactime.

      -

      Node version compatibility

      With the release of Node v18.12.1(LTS) on 11/4/22, the script has been updated to -'npm run dev' | 'npm run build' for backwards compatibility.
      For version -Node v16.16.0, please use script 'npm run devlegacy' | 'npm run buildlegacy'

      -

      Read More

      -

      Authors

      -

      License

      This project is licensed under the MIT License - see the LICENSE file -for details.

      -
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.ActionContainerProps.html b/docs/interfaces/app_FrontendTypes.ActionContainerProps.html deleted file mode 100644 index ebd33c21a..000000000 --- a/docs/interfaces/app_FrontendTypes.ActionContainerProps.html +++ /dev/null @@ -1,4 +0,0 @@ -ActionContainerProps | reactime

      Interface ActionContainerProps

      interface ActionContainerProps {
          actionView: boolean;
          setActionView: Dispatch<SetStateAction<boolean>>;
          toggleActionContainer: (() => void);
      }

      Properties

      actionView: boolean
      setActionView: Dispatch<SetStateAction<boolean>>
      toggleActionContainer: (() => void)

      Type declaration

        • (): void
        • Returns void

      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.ActionObj.html b/docs/interfaces/app_FrontendTypes.ActionObj.html deleted file mode 100644 index 612525dec..000000000 --- a/docs/interfaces/app_FrontendTypes.ActionObj.html +++ /dev/null @@ -1,4 +0,0 @@ -ActionObj | reactime
      interface ActionObj {
          currentTab: string;
          name: string;
          seriesName: string;
      }

      Properties

      Properties

      currentTab: string
      name: string
      seriesName: string
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.ActionProps.html b/docs/interfaces/app_FrontendTypes.ActionProps.html deleted file mode 100644 index a8cab3cd6..000000000 --- a/docs/interfaces/app_FrontendTypes.ActionProps.html +++ /dev/null @@ -1,15 +0,0 @@ -ActionProps | reactime

      Template: ActionProps

      Props for the action component

      -
      interface ActionProps {
          componentData: {
              actualDuration: number;
          };
          componentName: string;
          displayName: string;
          handleOnkeyDown: ((e, i) => void);
          index: number;
          isCurrIndex: boolean;
          key: string;
          last: boolean;
          routePath: unknown;
          selected: boolean;
          sliderIndex: number;
          state?: Record<string, unknown>;
          viewIndex: number;
      }

      Properties

      componentData: {
          actualDuration: number;
      }

      Type declaration

      • actualDuration: number
      componentName: string
      displayName: string
      handleOnkeyDown: ((e, i) => void)

      Type declaration

        • (e, i): void
        • Parameters

          • e: KeyboardEvent
          • i: number

          Returns void

      index: number
      isCurrIndex: boolean
      key: string
      last: boolean
      routePath: unknown
      selected: boolean
      sliderIndex: number
      state?: Record<string, unknown>
      viewIndex: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.BarGraphBase.html b/docs/interfaces/app_FrontendTypes.BarGraphBase.html deleted file mode 100644 index d46b00052..000000000 --- a/docs/interfaces/app_FrontendTypes.BarGraphBase.html +++ /dev/null @@ -1,5 +0,0 @@ -BarGraphBase | reactime
      interface BarGraphBase {
          comparison: Series[];
          data: PerfData;
          height: number;
          width: number;
      }

      Hierarchy (view full)

      Properties

      Properties

      comparison: Series[]
      data: PerfData
      height: number
      width: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.BarGraphComparisonAction.html b/docs/interfaces/app_FrontendTypes.BarGraphComparisonAction.html deleted file mode 100644 index 5534a03a0..000000000 --- a/docs/interfaces/app_FrontendTypes.BarGraphComparisonAction.html +++ /dev/null @@ -1,9 +0,0 @@ -BarGraphComparisonAction | reactime

      Interface BarGraphComparisonAction

      interface BarGraphComparisonAction {
          action: ActionObj;
          comparison: Series[];
          data: ActionObj[];
          height: number;
          series?: number;
          setAction: ((e) => void);
          setSeries: ((e) => void);
          width: number;
      }

      Properties

      action: ActionObj
      comparison: Series[]
      data: ActionObj[]
      height: number
      series?: number
      setAction: ((e) => void)

      Type declaration

        • (e): void
        • Parameters

          • e: string | boolean

          Returns void

      setSeries: ((e) => void)

      Type declaration

        • (e): void
        • Parameters

          • e: string | boolean

          Returns void

      width: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.BarGraphComparisonProps.html b/docs/interfaces/app_FrontendTypes.BarGraphComparisonProps.html deleted file mode 100644 index 1f85e253a..000000000 --- a/docs/interfaces/app_FrontendTypes.BarGraphComparisonProps.html +++ /dev/null @@ -1,8 +0,0 @@ -BarGraphComparisonProps | reactime

      Interface BarGraphComparisonProps

      interface BarGraphComparisonProps {
          comparison: Series[];
          data: PerfData;
          height: number;
          series: number;
          setAction: ((e) => void);
          setSeries: ((e) => void);
          width: number;
      }

      Hierarchy (view full)

      Properties

      comparison: Series[]
      data: PerfData
      height: number
      series: number
      setAction: ((e) => void)

      Type declaration

        • (e): void
        • Parameters

          • e: string | boolean

          Returns void

      setSeries: ((e) => void)

      Type declaration

        • (e): void
        • Parameters

          • e: string | boolean

          Returns void

      width: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.BarGraphProps.html b/docs/interfaces/app_FrontendTypes.BarGraphProps.html deleted file mode 100644 index 2f6283a05..000000000 --- a/docs/interfaces/app_FrontendTypes.BarGraphProps.html +++ /dev/null @@ -1,10 +0,0 @@ -BarGraphProps | reactime
      interface BarGraphProps {
          allRoutes: unknown;
          comparison: Series[];
          data: PerfData;
          filteredSnapshots: unknown;
          height: number;
          setRoute: (() => void);
          setSnapshot: (() => void);
          snapshot: unknown;
          width: number;
      }

      Hierarchy (view full)

      Properties

      allRoutes: unknown
      comparison: Series[]
      data: PerfData
      filteredSnapshots: unknown
      height: number
      setRoute: (() => void)

      Type declaration

        • (): void
        • Returns void

      setSnapshot: (() => void)

      Type declaration

        • (): void
        • Returns void

      snapshot: unknown
      width: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.BarStackProp.html b/docs/interfaces/app_FrontendTypes.BarStackProp.html deleted file mode 100644 index 88967c2a6..000000000 --- a/docs/interfaces/app_FrontendTypes.BarStackProp.html +++ /dev/null @@ -1,4 +0,0 @@ -BarStackProp | reactime
      interface BarStackProp {
          currentTab?: string;
          route: string;
          snapshotId: string;
      }

      Properties

      currentTab?: string
      route: string
      snapshotId: string
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.ControlStyles.html b/docs/interfaces/app_FrontendTypes.ControlStyles.html deleted file mode 100644 index d6bb0f188..000000000 --- a/docs/interfaces/app_FrontendTypes.ControlStyles.html +++ /dev/null @@ -1,2 +0,0 @@ -ControlStyles | reactime
      interface ControlStyles {
          padding: string;
      }

      Properties

      Properties

      padding: string
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.CurrentTab.html b/docs/interfaces/app_FrontendTypes.CurrentTab.html deleted file mode 100644 index b1ba71acd..000000000 --- a/docs/interfaces/app_FrontendTypes.CurrentTab.html +++ /dev/null @@ -1,16 +0,0 @@ -CurrentTab | reactime
      interface CurrentTab {
          currBranch: number;
          currLocation: {
              [k: string]: any;
          };
          currParent: number;
          hierarchy: {
              branch: number;
              children?: [];
              index: number;
              name: number;
              stateSnapshot: {
                  children: any[];
                  route: any;
              };
          };
          index: number;
          intervalId: number;
          mode: {
              paused: boolean;
          };
          playing: boolean;
          seriesSavedStatus: boolean;
          sliderIndex: number;
          snapshots: {
              [k: string]: any;
          }[];
          status: {
              [k: string]: any;
          };
          title: string;
          viewIndex: number;
          webMetrics: {
              CLS: number;
              FCP: number;
              FID: number;
              INP: number;
              LCP: number;
              TTFB: number;
          };
      }

      Properties

      currBranch: number
      currLocation: {
          [k: string]: any;
      }

      Type declaration

      • [k: string]: any
      currParent: number
      hierarchy: {
          branch: number;
          children?: [];
          index: number;
          name: number;
          stateSnapshot: {
              children: any[];
              route: any;
          };
      }

      Type declaration

      • branch: number
      • Optional children?: []
      • index: number
      • name: number
      • stateSnapshot: {
            children: any[];
            route: any;
        }
        • children: any[]
        • route: any
      index: number
      intervalId: number
      mode: {
          paused: boolean;
      }

      Type declaration

      • paused: boolean
      playing: boolean
      seriesSavedStatus: boolean
      sliderIndex: number
      snapshots: {
          [k: string]: any;
      }[]

      Type declaration

      • [k: string]: any
      status: {
          [k: string]: any;
      }

      Type declaration

      • [k: string]: any
      title: string
      viewIndex: number
      webMetrics: {
          CLS: number;
          FCP: number;
          FID: number;
          INP: number;
          LCP: number;
          TTFB: number;
      }

      Type declaration

      • CLS: number
      • FCP: number
      • FID: number
      • INP: number
      • LCP: number
      • TTFB: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.DefaultMargin.html b/docs/interfaces/app_FrontendTypes.DefaultMargin.html deleted file mode 100644 index 619f76136..000000000 --- a/docs/interfaces/app_FrontendTypes.DefaultMargin.html +++ /dev/null @@ -1,5 +0,0 @@ -DefaultMargin | reactime
      interface DefaultMargin {
          bottom: number;
          left: number;
          right: number;
          top: number;
      }

      Properties

      Properties

      bottom: number
      left: number
      right: number
      top: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.DiffProps.html b/docs/interfaces/app_FrontendTypes.DiffProps.html deleted file mode 100644 index 7a70eff07..000000000 --- a/docs/interfaces/app_FrontendTypes.DiffProps.html +++ /dev/null @@ -1,3 +0,0 @@ -DiffProps | reactime
      interface DiffProps {
          show?: boolean;
          snapshot: {
              state?: Record<string, unknown>;
          };
      }

      Properties

      Properties

      show?: boolean
      snapshot: {
          state?: Record<string, unknown>;
      }

      Type declaration

      • Optional state?: Record<string, unknown>
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.DiffRouteProps.html b/docs/interfaces/app_FrontendTypes.DiffRouteProps.html deleted file mode 100644 index 3cc202748..000000000 --- a/docs/interfaces/app_FrontendTypes.DiffRouteProps.html +++ /dev/null @@ -1,2 +0,0 @@ -DiffRouteProps | reactime
      interface DiffRouteProps {
          snapshot: Record<string, {
              children?: unknown[];
              componentData?: Record<string, unknown>;
              name?: string;
              state?: unknown;
              stateSnaphot?: Record<string, unknown>;
          }>;
      }

      Properties

      Properties

      snapshot: Record<string, {
          children?: unknown[];
          componentData?: Record<string, unknown>;
          name?: string;
          state?: unknown;
          stateSnaphot?: Record<string, unknown>;
      }>

      Type declaration

      • Optional children?: unknown[]
      • Optional componentData?: Record<string, unknown>
      • Optional name?: string
      • Optional state?: unknown
      • Optional stateSnaphot?: Record<string, unknown>
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.DropDownStyle.html b/docs/interfaces/app_FrontendTypes.DropDownStyle.html deleted file mode 100644 index d9c4ffc12..000000000 --- a/docs/interfaces/app_FrontendTypes.DropDownStyle.html +++ /dev/null @@ -1,9 +0,0 @@ -DropDownStyle | reactime
      interface DropDownStyle {
          backgroundColor: string;
          borderRadius: string;
          borderStyle: string;
          borderWidth: string;
          color: string;
          fontFamily: string;
          margin: string;
          padding: string;
      }

      Properties

      backgroundColor: string
      borderRadius: string
      borderStyle: string
      borderWidth: string
      color: string
      fontFamily: string
      margin: string
      padding: string
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.DropdownProps.html b/docs/interfaces/app_FrontendTypes.DropdownProps.html deleted file mode 100644 index 25a0efc39..000000000 --- a/docs/interfaces/app_FrontendTypes.DropdownProps.html +++ /dev/null @@ -1,4 +0,0 @@ -DropdownProps | reactime
      interface DropdownProps {
          selectedSpeed: {
              label: string;
              value: number;
          };
          setSpeed: (() => void);
          speeds: {
              label: string;
              value: number;
          }[];
      }

      Properties

      selectedSpeed: {
          label: string;
          value: number;
      }

      Type declaration

      • label: string
      • value: number
      setSpeed: (() => void)

      Type declaration

        • (): void
        • Returns void

      speeds: {
          label: string;
          value: number;
      }[]

      Type declaration

      • label: string
      • value: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.ErrorContainerProps.html b/docs/interfaces/app_FrontendTypes.ErrorContainerProps.html deleted file mode 100644 index 35fcfb5bc..000000000 --- a/docs/interfaces/app_FrontendTypes.ErrorContainerProps.html +++ /dev/null @@ -1,2 +0,0 @@ -ErrorContainerProps | reactime
      interface ErrorContainerProps {
          port: Port;
      }

      Properties

      Properties

      port: Port
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.HandleProps.html b/docs/interfaces/app_FrontendTypes.HandleProps.html deleted file mode 100644 index 3c7b9a1ca..000000000 --- a/docs/interfaces/app_FrontendTypes.HandleProps.html +++ /dev/null @@ -1,4 +0,0 @@ -HandleProps | reactime
      interface HandleProps {
          dragging: boolean;
          index: number;
          value: number;
      }

      Properties

      Properties

      dragging: boolean
      index: number
      value: number
      \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.InitialState.html b/docs/interfaces/app_FrontendTypes.InitialState.html deleted file mode 100644 index 4c032f4dd..000000000 --- a/docs/interfaces/app_FrontendTypes.InitialState.html +++ /dev/null @@ -1,8 +0,0 @@ -InitialState | reactime
      interface InitialState {
          connectRequested: boolean;
          connectionStatus: boolean;
          currentTab: number;
          currentTabInApp: string;
          currentTitle: string;
          port: Port;
          tabs: {} | {
              [k: string]: {
                  [k: string]: unknown;
              };
          };
      }

      Properties

      connectRequested: boolean
      connectionStatus: boolean
      currentTab: number
      currentTabInApp: string
      currentTitle: string
      port: Port
      tabs: {} | {
          [k: string]: {
              [k: string]: unknown;
          };
      }

      Type declaration

        Type declaration

        • [k: string]: {
              [k: string]: unknown;
          }
          • [k: string]: unknown
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.LinkComponent.html b/docs/interfaces/app_FrontendTypes.LinkComponent.html deleted file mode 100644 index 353e90915..000000000 --- a/docs/interfaces/app_FrontendTypes.LinkComponent.html +++ /dev/null @@ -1,4 +0,0 @@ -LinkComponent | reactime
        interface LinkComponent {
            layout: string;
            linkType: string;
            orientation: string;
        }

        Properties

        layout: string
        linkType: string
        orientation: string
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.LinkControlProps.html b/docs/interfaces/app_FrontendTypes.LinkControlProps.html deleted file mode 100644 index 1b7a1f30e..000000000 --- a/docs/interfaces/app_FrontendTypes.LinkControlProps.html +++ /dev/null @@ -1,12 +0,0 @@ -LinkControlProps | reactime
        interface LinkControlProps {
            layout: string;
            linkType: string;
            orientation: string;
            selectedNode: string;
            setLayout: ((layout) => void);
            setLinkType: ((linkType) => void);
            setOrientation: ((orientation) => void);
            setSelectedNode: ((selectedNode) => void);
            setStepPercent: ((percent) => void);
            snapShots: Record<string, unknown>;
            stepPercent: number;
        }

        Properties

        layout: string
        linkType: string
        orientation: string
        selectedNode: string
        setLayout: ((layout) => void)

        Type declaration

          • (layout): void
          • Parameters

            • layout: string

            Returns void

        setLinkType: ((linkType) => void)

        Type declaration

          • (linkType): void
          • Parameters

            • linkType: string

            Returns void

        setOrientation: ((orientation) => void)

        Type declaration

          • (orientation): void
          • Parameters

            • orientation: string

            Returns void

        setSelectedNode: ((selectedNode) => void)

        Type declaration

          • (selectedNode): void
          • Parameters

            • selectedNode: string

            Returns void

        setStepPercent: ((percent) => void)

        Type declaration

          • (percent): void
          • Parameters

            • percent: number

            Returns void

        snapShots: Record<string, unknown>
        stepPercent: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.LinkTypesProps.html b/docs/interfaces/app_FrontendTypes.LinkTypesProps.html deleted file mode 100644 index 1231ebd70..000000000 --- a/docs/interfaces/app_FrontendTypes.LinkTypesProps.html +++ /dev/null @@ -1,6 +0,0 @@ -LinkTypesProps | reactime
        interface LinkTypesProps {
            currentSnapshot?: Record<string, unknown>;
            height: number;
            margin?: {
                bottom: number;
                left: number;
                right: number;
                top: number;
            };
            snapshots: Record<string, unknown>;
            width: number;
        }

        Properties

        currentSnapshot?: Record<string, unknown>
        height: number
        margin?: {
            bottom: number;
            left: number;
            right: number;
            top: number;
        }

        Type declaration

        • bottom: number
        • left: number
        • right: number
        • top: number
        snapshots: Record<string, unknown>
        width: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.MainSliderProps.html b/docs/interfaces/app_FrontendTypes.MainSliderProps.html deleted file mode 100644 index 944e53c8b..000000000 --- a/docs/interfaces/app_FrontendTypes.MainSliderProps.html +++ /dev/null @@ -1,3 +0,0 @@ -MainSliderProps | reactime
        interface MainSliderProps {
            className: string;
            snapshotsLength: number;
        }

        Properties

        className: string
        snapshotsLength: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.MainState.html b/docs/interfaces/app_FrontendTypes.MainState.html deleted file mode 100644 index e65205bb3..000000000 --- a/docs/interfaces/app_FrontendTypes.MainState.html +++ /dev/null @@ -1,8 +0,0 @@ -MainState | reactime
        interface MainState {
            connectRequested: boolean;
            connectionStatus: boolean;
            currentTab: number;
            currentTabInApp: string;
            currentTitle: string;
            port: Port;
            tabs: {
                [k: string]: {
                    [k: string]: unknown;
                };
            };
        }

        Properties

        connectRequested: boolean
        connectionStatus: boolean
        currentTab: number
        currentTabInApp: string
        currentTitle: string
        port: Port
        tabs: {
            [k: string]: {
                [k: string]: unknown;
            };
        }

        Type declaration

        • [k: string]: {
              [k: string]: unknown;
          }
          • [k: string]: unknown
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.Margin.html b/docs/interfaces/app_FrontendTypes.Margin.html deleted file mode 100644 index 642f9d09e..000000000 --- a/docs/interfaces/app_FrontendTypes.Margin.html +++ /dev/null @@ -1,5 +0,0 @@ -Margin | reactime
        interface Margin {
            bottom: number;
            left: number;
            right: number;
            top: number;
        }

        Properties

        Properties

        bottom: number
        left: number
        right: number
        top: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.Node.html b/docs/interfaces/app_FrontendTypes.Node.html deleted file mode 100644 index 3d6d4c2fc..000000000 --- a/docs/interfaces/app_FrontendTypes.Node.html +++ /dev/null @@ -1,3 +0,0 @@ -Node | reactime
        interface Node {
            children?: Node[];
            name?: string;
        }

        Properties

        Properties

        children?: Node[]
        name?: string
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.Obj.html b/docs/interfaces/app_FrontendTypes.Obj.html deleted file mode 100644 index 516cf9b7f..000000000 --- a/docs/interfaces/app_FrontendTypes.Obj.html +++ /dev/null @@ -1,6 +0,0 @@ -Obj | reactime
        interface Obj {
            branch: number;
            children?: [];
            index: number;
            name: number;
            stateSnapshot: {
                children: any[];
                route: any;
            };
        }

        Properties

        branch: number
        children?: []
        index: number
        name: number
        stateSnapshot: {
            children: any[];
            route: any;
        }

        Type declaration

        • children: any[]
        • route: any
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.OptionsCursorTrueWithMargin.html b/docs/interfaces/app_FrontendTypes.OptionsCursorTrueWithMargin.html deleted file mode 100644 index b670754b3..000000000 --- a/docs/interfaces/app_FrontendTypes.OptionsCursorTrueWithMargin.html +++ /dev/null @@ -1,4 +0,0 @@ -OptionsCursorTrueWithMargin | reactime

        Interface OptionsCursorTrueWithMargin

        interface OptionsCursorTrueWithMargin {
            followCursor: boolean;
            shiftX: number;
            shiftY: number;
        }

        Properties

        Properties

        followCursor: boolean
        shiftX: number
        shiftY: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.PerfData.html b/docs/interfaces/app_FrontendTypes.PerfData.html deleted file mode 100644 index 952df735b..000000000 --- a/docs/interfaces/app_FrontendTypes.PerfData.html +++ /dev/null @@ -1,4 +0,0 @@ -PerfData | reactime
        interface PerfData {
            barStack: BarStackProp[];
            componentData?: Record<string, unknown>;
            maxTotalRender: number;
        }

        Properties

        barStack: BarStackProp[]
        componentData?: Record<string, unknown>
        maxTotalRender: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.PerformanceVisxProps.html b/docs/interfaces/app_FrontendTypes.PerformanceVisxProps.html deleted file mode 100644 index 0c103382f..000000000 --- a/docs/interfaces/app_FrontendTypes.PerformanceVisxProps.html +++ /dev/null @@ -1,5 +0,0 @@ -PerformanceVisxProps | reactime

        Interface PerformanceVisxProps

        interface PerformanceVisxProps {
            height: number;
            hierarchy: any;
            snapshots: [];
            width: number;
        }

        Properties

        height: number
        hierarchy: any
        snapshots: []
        width: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.RootState.html b/docs/interfaces/app_FrontendTypes.RootState.html deleted file mode 100644 index 705ebfb7b..000000000 --- a/docs/interfaces/app_FrontendTypes.RootState.html +++ /dev/null @@ -1,2 +0,0 @@ -RootState | reactime
        interface RootState {
            main: MainState;
        }

        Properties

        Properties

        main: MainState
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.Series.html b/docs/interfaces/app_FrontendTypes.Series.html deleted file mode 100644 index a2d869cb8..000000000 --- a/docs/interfaces/app_FrontendTypes.Series.html +++ /dev/null @@ -1,3 +0,0 @@ -Series | reactime
        interface Series {
            data: {
                barStack: ActionObj[];
            };
            name: string;
        }

        Properties

        Properties

        data: {
            barStack: ActionObj[];
        }

        Type declaration

        name: string
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.Snapshots.html b/docs/interfaces/app_FrontendTypes.Snapshots.html deleted file mode 100644 index fa2d9275c..000000000 --- a/docs/interfaces/app_FrontendTypes.Snapshots.html +++ /dev/null @@ -1,6 +0,0 @@ -Snapshots | reactime
        interface Snapshots {
            all others: number;
            component1: number;
            component2: number;
            component3: number;
            snapshot: number;
        }

        Properties

        all others: number
        component1: number
        component2: number
        component3: number
        snapshot: number
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.StateContainerProps.html b/docs/interfaces/app_FrontendTypes.StateContainerProps.html deleted file mode 100644 index 68303bea4..000000000 --- a/docs/interfaces/app_FrontendTypes.StateContainerProps.html +++ /dev/null @@ -1,8 +0,0 @@ -StateContainerProps | reactime
        interface StateContainerProps {
            currLocation?: object;
            hierarchy: Record<string, unknown>;
            snapshot: Record<number, {
                children?: unknown[];
                componentData?: Record<string, unknown>;
                name?: string;
                state?: Record<string, unknown>;
                stateSnaphot?: Record<string, unknown>;
            }>;
            snapshots?: [];
            toggleActionContainer?: any;
            viewIndex?: number;
            webMetrics?: object;
        }

        Properties

        currLocation?: object
        hierarchy: Record<string, unknown>
        snapshot: Record<number, {
            children?: unknown[];
            componentData?: Record<string, unknown>;
            name?: string;
            state?: Record<string, unknown>;
            stateSnaphot?: Record<string, unknown>;
        }>

        Type declaration

        • Optional children?: unknown[]
        • Optional componentData?: Record<string, unknown>
        • Optional name?: string
        • Optional state?: Record<string, unknown>
        • Optional stateSnaphot?: Record<string, unknown>
        snapshots?: []
        toggleActionContainer?: any
        viewIndex?: number
        webMetrics?: object
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.StateRouteProps.html b/docs/interfaces/app_FrontendTypes.StateRouteProps.html deleted file mode 100644 index 3aea02095..000000000 --- a/docs/interfaces/app_FrontendTypes.StateRouteProps.html +++ /dev/null @@ -1,7 +0,0 @@ -StateRouteProps | reactime
        interface StateRouteProps {
            currLocation: object;
            hierarchy: any;
            snapshot: {
                children?: any[];
                componentData?: object;
                name?: string;
                state?: string | object;
                stateSnaphot?: object;
            };
            snapshots: [];
            viewIndex: number;
            webMetrics: object;
        }

        Properties

        currLocation: object
        hierarchy: any
        snapshot: {
            children?: any[];
            componentData?: object;
            name?: string;
            state?: string | object;
            stateSnaphot?: object;
        }

        Type declaration

        • Optional children?: any[]
        • Optional componentData?: object
        • Optional name?: string
        • Optional state?: string | object
        • Optional stateSnaphot?: object
        snapshots: []
        viewIndex: number
        webMetrics: object
        \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.StatelessCleaning.html b/docs/interfaces/app_FrontendTypes.StatelessCleaning.html deleted file mode 100644 index 9c7f17465..000000000 --- a/docs/interfaces/app_FrontendTypes.StatelessCleaning.html +++ /dev/null @@ -1,6 +0,0 @@ -StatelessCleaning | reactime
        interface StatelessCleaning {
            children?: StatelessCleaning[];
            componentData?: Record<string, unknown>;
            name?: string;
            state?: string | {};
            stateSnaphot?: Record<string, unknown>;
        }

        Properties

        children?: StatelessCleaning[]
        componentData?: Record<string, unknown>
        name?: string
        state?: string | {}

        Type declaration

          stateSnaphot?: Record<string, unknown>
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.StepsObj.html b/docs/interfaces/app_FrontendTypes.StepsObj.html deleted file mode 100644 index df912adea..000000000 --- a/docs/interfaces/app_FrontendTypes.StepsObj.html +++ /dev/null @@ -1,5 +0,0 @@ -StepsObj | reactime
          interface StepsObj {
              element?: string | Element;
              intro: string;
              position: string;
              title: string;
          }

          Properties

          Properties

          element?: string | Element
          intro: string
          position: string
          title: string
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.ToolTipStyles.html b/docs/interfaces/app_FrontendTypes.ToolTipStyles.html deleted file mode 100644 index 087a2656f..000000000 --- a/docs/interfaces/app_FrontendTypes.ToolTipStyles.html +++ /dev/null @@ -1,11 +0,0 @@ -ToolTipStyles | reactime
          interface ToolTipStyles {
              backgroundColor: string;
              color: string;
              defaultStyles: CSSProperties;
              fontFamily: string;
              fontSize: string;
              lineHeight: string;
              maxWidth: number;
              minWidth: number;
              pointerEvents: string;
              zIndex: number;
          }

          Properties

          backgroundColor: string
          color: string
          defaultStyles: CSSProperties
          fontFamily: string
          fontSize: string
          lineHeight: string
          maxWidth: number
          minWidth: number
          pointerEvents: string
          zIndex: number
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.TooltipData.html b/docs/interfaces/app_FrontendTypes.TooltipData.html deleted file mode 100644 index 20ceddb3f..000000000 --- a/docs/interfaces/app_FrontendTypes.TooltipData.html +++ /dev/null @@ -1,10 +0,0 @@ -TooltipData | reactime
          interface TooltipData {
              bar: SeriesPoint<snapshot>;
              color: string;
              height: number;
              index: number;
              key: string;
              name?: string;
              width: number;
              x: number;
              y: number;
          }

          Properties

          Properties

          bar: SeriesPoint<snapshot>
          color: string
          height: number
          index: number
          key: string
          name?: string
          width: number
          x: number
          y: number
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.TravelContainerProps.html b/docs/interfaces/app_FrontendTypes.TravelContainerProps.html deleted file mode 100644 index 742a27f38..000000000 --- a/docs/interfaces/app_FrontendTypes.TravelContainerProps.html +++ /dev/null @@ -1,2 +0,0 @@ -TravelContainerProps | reactime

          Interface TravelContainerProps

          interface TravelContainerProps {
              snapshotsLength: number;
          }

          Properties

          Properties

          snapshotsLength: number
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.TreeProps.html b/docs/interfaces/app_FrontendTypes.TreeProps.html deleted file mode 100644 index b18dae8ba..000000000 --- a/docs/interfaces/app_FrontendTypes.TreeProps.html +++ /dev/null @@ -1,4 +0,0 @@ -TreeProps | reactime
          interface TreeProps {
              currLocation?: object;
              snapshot: {
                  children?: any[];
                  componentData?: object;
                  name?: string;
                  state?: string | object;
                  stateSnaphot?: object;
              };
              snapshots?: [];
          }

          Properties

          currLocation?: object
          snapshot: {
              children?: any[];
              componentData?: object;
              name?: string;
              state?: string | object;
              stateSnaphot?: object;
          }

          Type declaration

          • Optional children?: any[]
          • Optional componentData?: object
          • Optional name?: string
          • Optional state?: string | object
          • Optional stateSnaphot?: object
          snapshots?: []
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.TutorialProps.html b/docs/interfaces/app_FrontendTypes.TutorialProps.html deleted file mode 100644 index 14eb4fd47..000000000 --- a/docs/interfaces/app_FrontendTypes.TutorialProps.html +++ /dev/null @@ -1,3 +0,0 @@ -TutorialProps | reactime
          interface TutorialProps {
              currentTabInApp: string;
              dispatch: Dispatch<UnknownAction>;
          }

          Properties

          currentTabInApp: string
          dispatch: Dispatch<UnknownAction>
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.TutorialState.html b/docs/interfaces/app_FrontendTypes.TutorialState.html deleted file mode 100644 index 386895036..000000000 --- a/docs/interfaces/app_FrontendTypes.TutorialState.html +++ /dev/null @@ -1,2 +0,0 @@ -TutorialState | reactime
          interface TutorialState {
              stepsEnabled: boolean;
          }

          Properties

          Properties

          stepsEnabled: boolean
          \ No newline at end of file diff --git a/docs/interfaces/app_FrontendTypes.snapshot.html b/docs/interfaces/app_FrontendTypes.snapshot.html deleted file mode 100644 index 83e0f37ec..000000000 --- a/docs/interfaces/app_FrontendTypes.snapshot.html +++ /dev/null @@ -1,6 +0,0 @@ -snapshot | reactime
          interface snapshot {
              children: [];
              componentData: {
                  actualDuration: number;
              };
              name: string;
              snapshotId?: string;
              state: string;
          }

          Properties

          children: []
          componentData: {
              actualDuration: number;
          }

          Type declaration

          • actualDuration: number
          name: string
          snapshotId?: string
          state: string
          \ No newline at end of file diff --git a/docs/interfaces/backend_types_backendTypes.ComponentData.html b/docs/interfaces/backend_types_backendTypes.ComponentData.html deleted file mode 100644 index 151046a0c..000000000 --- a/docs/interfaces/backend_types_backendTypes.ComponentData.html +++ /dev/null @@ -1,34 +0,0 @@ -ComponentData | reactime

          Member

          actualDuration - The time taken to render the current Fiber node and its descendants during the previous render cycle. This value is used to optimize the rendering of components and to provide performance metrics to developers.

          -

          Member

          actualStartTime - The time at which the rendering of the current Fiber node started during the previous render cycle.

          -

          Member

          key - The key a user assigned to the component or null if they didn't assign one

          -

          Member

          context - {in experiment} - An object contains all context information of the current component

          -

          Member

          index - {class component only} - The index of the bound setState method stored in componentActionsRecord

          -

          Member

          hooksState - {functional component only} - An object contains all states of the current functional component

          -

          Member

          hooksIndex - {functional component only} - An array of index of the bound dispatch method stored in componentActionsRecord

          -

          Member

          props - An object contains all props of the current component

          -

          Member

          selfBaseDuration - The base duration of the current Fiber node's render phase (excluding the time taken to render its children). This field is only set when the enableProfilerTimer flag is enabled.

          -

          Member

          state - {class component only} - An object contains all states of the current class component

          -

          Member

          treeBaseDuration - The total base duration of the current Fiber node's subtree. This field is only set when the enableProfilerTimer flag is enabled.

          -
          interface ComponentData {
              actualDuration?: number;
              actualStartTime?: number;
              context: {};
              hooksIndex: number[];
              hooksState: {};
              index: number;
              key: string;
              props: {
                  [key: string]: any;
              };
              selfBaseDuration?: number;
              state: {
                  [key: string]: any;
              };
              treeBaseDuration?: number;
          }

          Properties

          actualDuration?: number

          The time taken to render the current Fiber node and its descendants during the previous render cycle.

          -
          actualStartTime?: number

          The time at which the rendering of the current Fiber node started during the previous render cycle.

          -
          context: {}

          {in experiment} - An object contains all context information of the current component

          -

          Type declaration

            hooksIndex: number[]

            {functional component only} - An array of index of the bound dispatch method stored in componentActionsRecord

            -
            hooksState: {}

            {functional component only} - An object contains all states of the current functional component

            -

            Type declaration

              index: number

              {class component only} - The index of the bound setState method stored in componentActionsRecord

              -
              key: string

              The key a user assigned to the component or null if they didn't assign one

              -
              props: {
                  [key: string]: any;
              }

              An object contains all props of the current component

              -

              Type declaration

              • [key: string]: any
              selfBaseDuration?: number

              The base duration of the current Fiber node's render phase (excluding the time taken to render its children).

              -
              state: {
                  [key: string]: any;
              }

              An object contains all states of the current class component

              -

              Type declaration

              • [key: string]: any
              treeBaseDuration?: number

              The total base duration of the current Fiber node's subtree.

              -
              \ No newline at end of file diff --git a/docs/interfaces/backend_types_backendTypes.HookStateItem.html b/docs/interfaces/backend_types_backendTypes.HookStateItem.html deleted file mode 100644 index 610ace12c..000000000 --- a/docs/interfaces/backend_types_backendTypes.HookStateItem.html +++ /dev/null @@ -1,7 +0,0 @@ -HookStateItem | reactime

              Member

              state - states within the current functional component

              -

              Member

              component - contains bound dispatch method to update state of the current functional component

              -
              interface HookStateItem {
                  component: any;
                  state: any;
              }

              Properties

              Properties

              component: any

              an object contains bound dispatch method to update state of the current functional component

              -
              state: any

              states within the current functional component

              -
              \ No newline at end of file diff --git a/docs/interfaces/backend_types_backendTypes.MsgData.html b/docs/interfaces/backend_types_backendTypes.MsgData.html deleted file mode 100644 index 4b730ea5e..000000000 --- a/docs/interfaces/backend_types_backendTypes.MsgData.html +++ /dev/null @@ -1,3 +0,0 @@ -MsgData | reactime

              Member

              data - an object with action & payload properties

              -
              interface MsgData {
                  data: {
                      action: string;
                      payload: any;
                  };
              }

              Properties

              Properties

              data: {
                  action: string;
                  payload: any;
              }

              Type declaration

              • action: string
              • payload: any
              \ No newline at end of file diff --git a/docs/interfaces/backend_types_backendTypes.Snapshot.html b/docs/interfaces/backend_types_backendTypes.Snapshot.html deleted file mode 100644 index 9fe624af1..000000000 --- a/docs/interfaces/backend_types_backendTypes.Snapshot.html +++ /dev/null @@ -1,5 +0,0 @@ -Snapshot | reactime

              Contain snapshot of the current ReactFiber tree

              -

              Member

              tree - A snapshot of ReactFiber Tree to send to front end

              -
              interface Snapshot {
                  tree: default;
              }

              Properties

              Properties

              tree: default

              A snapshot of ReactFiber Tree to send to front end

              -
              \ No newline at end of file diff --git a/docs/interfaces/backend_types_backendTypes.Status.html b/docs/interfaces/backend_types_backendTypes.Status.html deleted file mode 100644 index 1b33b5ab7..000000000 --- a/docs/interfaces/backend_types_backendTypes.Status.html +++ /dev/null @@ -1,14 +0,0 @@ -Status | reactime

              Indicate if mode is jumping/not jumping or navigating during jumping

              -

              Member

              jumping - Describe whether we are jumping

              -

              When jumping = true, no new snapShot will be sent to front end.

              -

              Member

              navigating - Cache timeJump function to be invoked after ReactFibe tree update with new states from new route

              -

              Example

              if user uses click left/right arrow or play button, front end will post a message `jumpToSnap` and a payload of the cached snapShot tree, we will set `jumping = true`
              -
              -

              Example

              if during jumping, we navigate to another route, such as from buttons to tictactoe, backend will set `navigating = cache of timeJump function`
              -
              -
              interface Status {
                  jumping: boolean;
                  navigating?: Function;
              }

              Properties

              Properties

              jumping: boolean

              Describe whether we are jumping

              -

              When jumping = true, no new snapShot will be sent to front end.

              -
              navigating?: Function

              Cache timeJump function to be invoked after ReactFibe tree update with new states from new route

              -
              \ No newline at end of file diff --git a/docs/interfaces/backend_types_linkFiberTypes.DevTools.html b/docs/interfaces/backend_types_linkFiberTypes.DevTools.html deleted file mode 100644 index 4efbd7a2c..000000000 --- a/docs/interfaces/backend_types_linkFiberTypes.DevTools.html +++ /dev/null @@ -1,11 +0,0 @@ -DevTools | reactime

              DevTools - A global object provided by the React Developer Tools extension. It provides a set of methods that allow developers to inspect and manipulate React components in the browser.

              -
              interface DevTools {
                  getFiberRoots: ((rendererID) => Set<FiberRoot>);
                  onCommitFiberRoot: ((rendererID, root, priorityLevel) => void);
                  renderers: Map<1, {
                      version: string;
                  }>;
              }

              Properties

              getFiberRoots: ((rendererID) => Set<FiberRoot>)

              Type declaration

              Method

              getFiberRoots - get the Set of fiber roots that are currently mounted for the given rendererID. If not found, initalize a new empty Set at renderID key.

              -

              Returns

              A set of fiberRoot.

              -
              onCommitFiberRoot: ((rendererID, root, priorityLevel) => void)

              Type declaration

                • (rendererID, root, priorityLevel): void
                • Parameters

                  • rendererID: number

                    a unique identifier for a specific instance of a React renderer

                    -
                  • root: FiberRoot

                    root of the rendered tree (a.k.a the root of the React Application)

                    -
                  • priorityLevel: any

                  Returns void

              Method

              onCommitFiberRoot - After the state of a component in a React Application is updated, the virtual DOM will be updated. When a render has been commited for a root, onCommitFiberRoot will be invoked to determine if the component is being mounted, updated, or unmounted. After that, this method will send update information to the React DevTools to update its UI to reflect the change.

              -

              Returns

              void

              -
              renderers: Map<1, {
                  version: string;
              }>

              Type declaration

              • version: string
              \ No newline at end of file diff --git a/docs/modules/app.html b/docs/modules/app.html deleted file mode 100644 index 2281b43fd..000000000 --- a/docs/modules/app.html +++ /dev/null @@ -1 +0,0 @@ -app | reactime

              Module app

              \ No newline at end of file diff --git a/docs/modules/app_App.html b/docs/modules/app_App.html deleted file mode 100644 index 7d9b41c2e..000000000 --- a/docs/modules/app_App.html +++ /dev/null @@ -1,2 +0,0 @@ -app/App | reactime

              Module app/App

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_FrontendTypes.html b/docs/modules/app_FrontendTypes.html deleted file mode 100644 index f72df0386..000000000 --- a/docs/modules/app_FrontendTypes.html +++ /dev/null @@ -1,45 +0,0 @@ -app/FrontendTypes | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_Actions_Action.html b/docs/modules/app_components_Actions_Action.html deleted file mode 100644 index d53a8ff1e..000000000 --- a/docs/modules/app_components_Actions_Action.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/Actions/Action | reactime

              Module app/components/Actions/Action

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_Actions_RouteDescription.html b/docs/modules/app_components_Actions_RouteDescription.html deleted file mode 100644 index 4b0ef73a1..000000000 --- a/docs/modules/app_components_Actions_RouteDescription.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/Actions/RouteDescription | reactime

              Module app/components/Actions/RouteDescription

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_Actions_SwitchApp.html b/docs/modules/app_components_Actions_SwitchApp.html deleted file mode 100644 index 1fa123534..000000000 --- a/docs/modules/app_components_Actions_SwitchApp.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/Actions/SwitchApp | reactime

              Module app/components/Actions/SwitchApp

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_Buttons_StatusDot.html b/docs/modules/app_components_Buttons_StatusDot.html deleted file mode 100644 index 1cb32c3d6..000000000 --- a/docs/modules/app_components_Buttons_StatusDot.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/Buttons/StatusDot | reactime

              Module app/components/Buttons/StatusDot

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_Buttons_Tutorial.html b/docs/modules/app_components_Buttons_Tutorial.html deleted file mode 100644 index 3410b3dd6..000000000 --- a/docs/modules/app_components_Buttons_Tutorial.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/Buttons/Tutorial | reactime

              Module app/components/Buttons/Tutorial

              Index

              Classes

              \ No newline at end of file diff --git a/docs/modules/app_components_DiffRoute_Diff.html b/docs/modules/app_components_DiffRoute_Diff.html deleted file mode 100644 index dbac24856..000000000 --- a/docs/modules/app_components_DiffRoute_Diff.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/DiffRoute/Diff | reactime

              Module app/components/DiffRoute/Diff

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_DiffRoute_DiffRoute.html b/docs/modules/app_components_DiffRoute_DiffRoute.html deleted file mode 100644 index b5286bf3c..000000000 --- a/docs/modules/app_components_DiffRoute_DiffRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/DiffRoute/DiffRoute | reactime

              Module app/components/DiffRoute/DiffRoute

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_ErrorHandling_ErrorHandler.html b/docs/modules/app_components_ErrorHandling_ErrorHandler.html deleted file mode 100644 index 1a7b2c777..000000000 --- a/docs/modules/app_components_ErrorHandling_ErrorHandler.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/ErrorHandling/ErrorHandler | reactime

              Module app/components/ErrorHandling/ErrorHandler

              Index

              Classes

              \ No newline at end of file diff --git a/docs/modules/app_components_ErrorHandling_ErrorMsg.html b/docs/modules/app_components_ErrorHandling_ErrorMsg.html deleted file mode 100644 index 40593e109..000000000 --- a/docs/modules/app_components_ErrorHandling_ErrorMsg.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/ErrorHandling/ErrorMsg | reactime

              Module app/components/ErrorHandling/ErrorMsg

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_ErrorHandling_Loader.html b/docs/modules/app_components_ErrorHandling_Loader.html deleted file mode 100644 index 01bf4b9fc..000000000 --- a/docs/modules/app_components_ErrorHandling_Loader.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/ErrorHandling/Loader | reactime

              Module app/components/ErrorHandling/Loader

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_ComponentMap_ComponentMap.html b/docs/modules/app_components_StateRoute_ComponentMap_ComponentMap.html deleted file mode 100644 index dae4efc83..000000000 --- a/docs/modules/app_components_StateRoute_ComponentMap_ComponentMap.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/ComponentMap/ComponentMap | reactime

              Module app/components/StateRoute/ComponentMap/ComponentMap

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_ComponentMap_LinkControls.html b/docs/modules/app_components_StateRoute_ComponentMap_LinkControls.html deleted file mode 100644 index c485c9ff0..000000000 --- a/docs/modules/app_components_StateRoute_ComponentMap_LinkControls.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/ComponentMap/LinkControls | reactime

              Module app/components/StateRoute/ComponentMap/LinkControls

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_ComponentMap_ToolTipDataDisplay.html b/docs/modules/app_components_StateRoute_ComponentMap_ToolTipDataDisplay.html deleted file mode 100644 index 9ed8284fd..000000000 --- a/docs/modules/app_components_StateRoute_ComponentMap_ToolTipDataDisplay.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/ComponentMap/ToolTipDataDisplay | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_ComponentMap_getLinkComponent.html b/docs/modules/app_components_StateRoute_ComponentMap_getLinkComponent.html deleted file mode 100644 index fe82e528a..000000000 --- a/docs/modules/app_components_StateRoute_ComponentMap_getLinkComponent.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/ComponentMap/getLinkComponent | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_History.html b/docs/modules/app_components_StateRoute_History.html deleted file mode 100644 index 0c13dc494..000000000 --- a/docs/modules/app_components_StateRoute_History.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/History | reactime

              Module app/components/StateRoute/History

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraph.html b/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraph.html deleted file mode 100644 index b07aa8042..000000000 --- a/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraph.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/PerformanceVisx/BarGraph | reactime

              Module app/components/StateRoute/PerformanceVisx/BarGraph

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraphComparison.html b/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraphComparison.html deleted file mode 100644 index 489323219..000000000 --- a/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraphComparison.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/PerformanceVisx/BarGraphComparison | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraphComparisonActions.html b/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraphComparisonActions.html deleted file mode 100644 index 606c41e44..000000000 --- a/docs/modules/app_components_StateRoute_PerformanceVisx_BarGraphComparisonActions.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/PerformanceVisx/BarGraphComparisonActions | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_PerformanceVisx_PerformanceVisx.html b/docs/modules/app_components_StateRoute_PerformanceVisx_PerformanceVisx.html deleted file mode 100644 index 1867057a4..000000000 --- a/docs/modules/app_components_StateRoute_PerformanceVisx_PerformanceVisx.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/PerformanceVisx/PerformanceVisx | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_PerformanceVisx_RenderingFrequency.html b/docs/modules/app_components_StateRoute_PerformanceVisx_RenderingFrequency.html deleted file mode 100644 index 66e4236cc..000000000 --- a/docs/modules/app_components_StateRoute_PerformanceVisx_RenderingFrequency.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/PerformanceVisx/RenderingFrequency | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_StateRoute.html b/docs/modules/app_components_StateRoute_StateRoute.html deleted file mode 100644 index 3b60b4f90..000000000 --- a/docs/modules/app_components_StateRoute_StateRoute.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/StateRoute | reactime

              Module app/components/StateRoute/StateRoute

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_Tree.html b/docs/modules/app_components_StateRoute_Tree.html deleted file mode 100644 index 942914b53..000000000 --- a/docs/modules/app_components_StateRoute_Tree.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/Tree | reactime

              Module app/components/StateRoute/Tree

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_WebMetrics_WebMetrics.html b/docs/modules/app_components_StateRoute_WebMetrics_WebMetrics.html deleted file mode 100644 index 6f637486a..000000000 --- a/docs/modules/app_components_StateRoute_WebMetrics_WebMetrics.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/WebMetrics/WebMetrics | reactime

              Module app/components/StateRoute/WebMetrics/WebMetrics

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_StateRoute_WebMetrics_WebMetricsContainer.html b/docs/modules/app_components_StateRoute_WebMetrics_WebMetricsContainer.html deleted file mode 100644 index 684c5a774..000000000 --- a/docs/modules/app_components_StateRoute_WebMetrics_WebMetricsContainer.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/StateRoute/WebMetrics/WebMetricsContainer | reactime
              \ No newline at end of file diff --git a/docs/modules/app_components_TimeTravel_Dropdown.html b/docs/modules/app_components_TimeTravel_Dropdown.html deleted file mode 100644 index dde9a49e0..000000000 --- a/docs/modules/app_components_TimeTravel_Dropdown.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/TimeTravel/Dropdown | reactime

              Module app/components/TimeTravel/Dropdown

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_components_TimeTravel_MainSlider.html b/docs/modules/app_components_TimeTravel_MainSlider.html deleted file mode 100644 index becc5dafc..000000000 --- a/docs/modules/app_components_TimeTravel_MainSlider.html +++ /dev/null @@ -1,2 +0,0 @@ -app/components/TimeTravel/MainSlider | reactime

              Module app/components/TimeTravel/MainSlider

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_containers_ActionContainer.html b/docs/modules/app_containers_ActionContainer.html deleted file mode 100644 index 12e7558b0..000000000 --- a/docs/modules/app_containers_ActionContainer.html +++ /dev/null @@ -1,2 +0,0 @@ -app/containers/ActionContainer | reactime

              Module app/containers/ActionContainer

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_containers_ButtonsContainer.html b/docs/modules/app_containers_ButtonsContainer.html deleted file mode 100644 index c935682eb..000000000 --- a/docs/modules/app_containers_ButtonsContainer.html +++ /dev/null @@ -1,2 +0,0 @@ -app/containers/ButtonsContainer | reactime

              Module app/containers/ButtonsContainer

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_containers_ErrorContainer.html b/docs/modules/app_containers_ErrorContainer.html deleted file mode 100644 index 85fb5296c..000000000 --- a/docs/modules/app_containers_ErrorContainer.html +++ /dev/null @@ -1,2 +0,0 @@ -app/containers/ErrorContainer | reactime

              Module app/containers/ErrorContainer

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_containers_MainContainer.html b/docs/modules/app_containers_MainContainer.html deleted file mode 100644 index 0f0903f3b..000000000 --- a/docs/modules/app_containers_MainContainer.html +++ /dev/null @@ -1,2 +0,0 @@ -app/containers/MainContainer | reactime

              Module app/containers/MainContainer

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_containers_StateContainer.html b/docs/modules/app_containers_StateContainer.html deleted file mode 100644 index c7a0724be..000000000 --- a/docs/modules/app_containers_StateContainer.html +++ /dev/null @@ -1,2 +0,0 @@ -app/containers/StateContainer | reactime

              Module app/containers/StateContainer

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_containers_TravelContainer.html b/docs/modules/app_containers_TravelContainer.html deleted file mode 100644 index 11e788ef7..000000000 --- a/docs/modules/app_containers_TravelContainer.html +++ /dev/null @@ -1,2 +0,0 @@ -app/containers/TravelContainer | reactime

              Module app/containers/TravelContainer

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/app_module._d3_.html b/docs/modules/app_module._d3_.html deleted file mode 100644 index c63118bb8..000000000 --- a/docs/modules/app_module._d3_.html +++ /dev/null @@ -1 +0,0 @@ -"d3" | reactime
              \ No newline at end of file diff --git a/docs/modules/app_module._html_react_parser_.html b/docs/modules/app_module._html_react_parser_.html deleted file mode 100644 index 10b85081c..000000000 --- a/docs/modules/app_module._html_react_parser_.html +++ /dev/null @@ -1 +0,0 @@ -"html-react-parser" | reactime

              Namespace "html-react-parser"

              \ No newline at end of file diff --git a/docs/modules/app_module._immer_.html b/docs/modules/app_module._immer_.html deleted file mode 100644 index 60853dc71..000000000 --- a/docs/modules/app_module._immer_.html +++ /dev/null @@ -1 +0,0 @@ -"immer" | reactime
              \ No newline at end of file diff --git a/docs/modules/app_module._jsondiffpatch_.html b/docs/modules/app_module._jsondiffpatch_.html deleted file mode 100644 index 25beb6319..000000000 --- a/docs/modules/app_module._jsondiffpatch_.html +++ /dev/null @@ -1 +0,0 @@ -"jsondiffpatch" | reactime

              Namespace "jsondiffpatch"

              \ No newline at end of file diff --git a/docs/modules/app_module._rc_slider_.html b/docs/modules/app_module._rc_slider_.html deleted file mode 100644 index b735c3e91..000000000 --- a/docs/modules/app_module._rc_slider_.html +++ /dev/null @@ -1 +0,0 @@ -"rc-slider" | reactime
              \ No newline at end of file diff --git a/docs/modules/app_module._rc_tooltip_.html b/docs/modules/app_module._rc_tooltip_.html deleted file mode 100644 index 4b379dadd..000000000 --- a/docs/modules/app_module._rc_tooltip_.html +++ /dev/null @@ -1 +0,0 @@ -"rc-tooltip" | reactime
              \ No newline at end of file diff --git a/docs/modules/app_module._react_.html b/docs/modules/app_module._react_.html deleted file mode 100644 index e0198608b..000000000 --- a/docs/modules/app_module._react_.html +++ /dev/null @@ -1 +0,0 @@ -"react" | reactime

              Namespace "react"

              Hierarchy (view full)

              \ No newline at end of file diff --git a/docs/modules/app_module._react_apexcharts_.html b/docs/modules/app_module._react_apexcharts_.html deleted file mode 100644 index 649d20f3f..000000000 --- a/docs/modules/app_module._react_apexcharts_.html +++ /dev/null @@ -1 +0,0 @@ -"react-apexcharts" | reactime

              Namespace "react-apexcharts"

              \ No newline at end of file diff --git a/docs/modules/app_module._react_dom_.html b/docs/modules/app_module._react_dom_.html deleted file mode 100644 index f722fd866..000000000 --- a/docs/modules/app_module._react_dom_.html +++ /dev/null @@ -1 +0,0 @@ -"react-dom" | reactime
              \ No newline at end of file diff --git a/docs/modules/app_module._react_hover_.html b/docs/modules/app_module._react_hover_.html deleted file mode 100644 index 73e70e484..000000000 --- a/docs/modules/app_module._react_hover_.html +++ /dev/null @@ -1 +0,0 @@ -"react-hover" | reactime
              \ No newline at end of file diff --git a/docs/modules/app_module._react_json_tree_.html b/docs/modules/app_module._react_json_tree_.html deleted file mode 100644 index 28172452f..000000000 --- a/docs/modules/app_module._react_json_tree_.html +++ /dev/null @@ -1 +0,0 @@ -"react-json-tree" | reactime

              Namespace "react-json-tree"

              \ No newline at end of file diff --git a/docs/modules/app_module._react_router_dom_.html b/docs/modules/app_module._react_router_dom_.html deleted file mode 100644 index 9c7802071..000000000 --- a/docs/modules/app_module._react_router_dom_.html +++ /dev/null @@ -1 +0,0 @@ -"react-router-dom" | reactime

              Namespace "react-router-dom"

              \ No newline at end of file diff --git a/docs/modules/app_module._react_select_.html b/docs/modules/app_module._react_select_.html deleted file mode 100644 index 9da016844..000000000 --- a/docs/modules/app_module._react_select_.html +++ /dev/null @@ -1 +0,0 @@ -"react-select" | reactime
              \ No newline at end of file diff --git a/docs/modules/app_module._react_spinners_.html b/docs/modules/app_module._react_spinners_.html deleted file mode 100644 index 862c56853..000000000 --- a/docs/modules/app_module._react_spinners_.html +++ /dev/null @@ -1 +0,0 @@ -"react-spinners" | reactime

              Namespace "react-spinners"

              \ No newline at end of file diff --git a/docs/modules/app_module.html b/docs/modules/app_module.html deleted file mode 100644 index 558554895..000000000 --- a/docs/modules/app_module.html +++ /dev/null @@ -1,15 +0,0 @@ -app/module | reactime
              \ No newline at end of file diff --git a/docs/modules/app_slices_mainSlice.html b/docs/modules/app_slices_mainSlice.html deleted file mode 100644 index cb5ea4f25..000000000 --- a/docs/modules/app_slices_mainSlice.html +++ /dev/null @@ -1,33 +0,0 @@ -app/slices/mainSlice | reactime
              \ No newline at end of file diff --git a/docs/modules/app_store.html b/docs/modules/app_store.html deleted file mode 100644 index add0bc295..000000000 --- a/docs/modules/app_store.html +++ /dev/null @@ -1,3 +0,0 @@ -app/store | reactime

              Module app/store

              Index

              Type Aliases

              Variables

              \ No newline at end of file diff --git a/docs/modules/app_styles_theme.html b/docs/modules/app_styles_theme.html deleted file mode 100644 index 16ef78f8a..000000000 --- a/docs/modules/app_styles_theme.html +++ /dev/null @@ -1,2 +0,0 @@ -app/styles/theme | reactime

              Module app/styles/theme

              Index

              Variables

              \ No newline at end of file diff --git a/docs/modules/backend.html b/docs/modules/backend.html deleted file mode 100644 index 47671bade..000000000 --- a/docs/modules/backend.html +++ /dev/null @@ -1 +0,0 @@ -backend | reactime

              Module backend

              \ No newline at end of file diff --git a/docs/modules/backend_controllers_createComponentActionsRecord.html b/docs/modules/backend_controllers_createComponentActionsRecord.html deleted file mode 100644 index c2c72fe84..000000000 --- a/docs/modules/backend_controllers_createComponentActionsRecord.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/controllers/createComponentActionsRecord | reactime

              Module backend/controllers/createComponentActionsRecord

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/backend_controllers_createTree.html b/docs/modules/backend_controllers_createTree.html deleted file mode 100644 index 36c4bbd25..000000000 --- a/docs/modules/backend_controllers_createTree.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/controllers/createTree | reactime

              Module backend/controllers/createTree

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/backend_controllers_statePropExtractors.html b/docs/modules/backend_controllers_statePropExtractors.html deleted file mode 100644 index 4db5fe9ab..000000000 --- a/docs/modules/backend_controllers_statePropExtractors.html +++ /dev/null @@ -1,4 +0,0 @@ -backend/controllers/statePropExtractors | reactime
              \ No newline at end of file diff --git a/docs/modules/backend_controllers_throttle.html b/docs/modules/backend_controllers_throttle.html deleted file mode 100644 index e96afb6b3..000000000 --- a/docs/modules/backend_controllers_throttle.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/controllers/throttle | reactime

              Module backend/controllers/throttle

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/backend_controllers_timeJump.html b/docs/modules/backend_controllers_timeJump.html deleted file mode 100644 index 67ef06db8..000000000 --- a/docs/modules/backend_controllers_timeJump.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/controllers/timeJump | reactime

              Module backend/controllers/timeJump

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/backend_models_filterConditions.html b/docs/modules/backend_models_filterConditions.html deleted file mode 100644 index c6d51307e..000000000 --- a/docs/modules/backend_models_filterConditions.html +++ /dev/null @@ -1,5 +0,0 @@ -backend/models/filterConditions | reactime
              \ No newline at end of file diff --git a/docs/modules/backend_models_masterState.html b/docs/modules/backend_models_masterState.html deleted file mode 100644 index d3cf28db9..000000000 --- a/docs/modules/backend_models_masterState.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/models/masterState | reactime

              Module backend/models/masterState

              Index

              Variables

              \ No newline at end of file diff --git a/docs/modules/backend_models_routes.html b/docs/modules/backend_models_routes.html deleted file mode 100644 index 74fd19960..000000000 --- a/docs/modules/backend_models_routes.html +++ /dev/null @@ -1,4 +0,0 @@ -backend/models/routes | reactime

              Module backend/models/routes

              Index

              Classes

              Variables

              \ No newline at end of file diff --git a/docs/modules/backend_models_tree.html b/docs/modules/backend_models_tree.html deleted file mode 100644 index 14059e3dc..000000000 --- a/docs/modules/backend_models_tree.html +++ /dev/null @@ -1,3 +0,0 @@ -backend/models/tree | reactime

              Module backend/models/tree

              Index

              Classes

              Functions

              \ No newline at end of file diff --git a/docs/modules/backend_module._core_js_.html b/docs/modules/backend_module._core_js_.html deleted file mode 100644 index 7a369d361..000000000 --- a/docs/modules/backend_module._core_js_.html +++ /dev/null @@ -1 +0,0 @@ -"core-js" | reactime
              \ No newline at end of file diff --git a/docs/modules/backend_module._regenerator_runtime_runtime_.html b/docs/modules/backend_module._regenerator_runtime_runtime_.html deleted file mode 100644 index b8237b756..000000000 --- a/docs/modules/backend_module._regenerator_runtime_runtime_.html +++ /dev/null @@ -1 +0,0 @@ -"regenerator-runtime/runtime" | reactime
              \ No newline at end of file diff --git a/docs/modules/backend_module.html b/docs/modules/backend_module.html deleted file mode 100644 index c9a3cf455..000000000 --- a/docs/modules/backend_module.html +++ /dev/null @@ -1,3 +0,0 @@ -backend/module | reactime

              Module backend/module

              Index

              Namespaces

              \ No newline at end of file diff --git a/docs/modules/backend_puppeteerServer.html b/docs/modules/backend_puppeteerServer.html deleted file mode 100644 index 08415dc72..000000000 --- a/docs/modules/backend_puppeteerServer.html +++ /dev/null @@ -1 +0,0 @@ -backend/puppeteerServer | reactime
              \ No newline at end of file diff --git a/docs/modules/backend_routers_linkFiber.html b/docs/modules/backend_routers_linkFiber.html deleted file mode 100644 index 5be0ef999..000000000 --- a/docs/modules/backend_routers_linkFiber.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/routers/linkFiber | reactime

              Module backend/routers/linkFiber

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/backend_routers_snapShot.html b/docs/modules/backend_routers_snapShot.html deleted file mode 100644 index 88cdb32dc..000000000 --- a/docs/modules/backend_routers_snapShot.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/routers/snapShot | reactime

              Module backend/routers/snapShot

              Index

              Functions

              \ No newline at end of file diff --git a/docs/modules/backend_types_backendTypes.html b/docs/modules/backend_types_backendTypes.html deleted file mode 100644 index 4c618084b..000000000 --- a/docs/modules/backend_types_backendTypes.html +++ /dev/null @@ -1,34 +0,0 @@ -backend/types/backendTypes | reactime
              \ No newline at end of file diff --git a/docs/modules/backend_types_linkFiberTypes.html b/docs/modules/backend_types_linkFiberTypes.html deleted file mode 100644 index 88a78845e..000000000 --- a/docs/modules/backend_types_linkFiberTypes.html +++ /dev/null @@ -1,2 +0,0 @@ -backend/types/linkFiberTypes | reactime

              Module backend/types/linkFiberTypes

              Index

              Interfaces

              \ No newline at end of file diff --git a/docs/modules/extension_background.html b/docs/modules/extension_background.html deleted file mode 100644 index 9638b03c4..000000000 --- a/docs/modules/extension_background.html +++ /dev/null @@ -1 +0,0 @@ -extension/background | reactime

              Module extension/background

              \ No newline at end of file diff --git a/docs/modules/extension_build_devtools.html b/docs/modules/extension_build_devtools.html deleted file mode 100644 index 2add50dfc..000000000 --- a/docs/modules/extension_build_devtools.html +++ /dev/null @@ -1 +0,0 @@ -extension/build/devtools | reactime

              Module extension/build/devtools

              \ No newline at end of file diff --git a/docs/modules/extension_contentScript.html b/docs/modules/extension_contentScript.html deleted file mode 100644 index efaaac26f..000000000 --- a/docs/modules/extension_contentScript.html +++ /dev/null @@ -1 +0,0 @@ -extension/contentScript | reactime
              \ No newline at end of file diff --git a/docs/types/backend_types_backendTypes.Fiber.html b/docs/types/backend_types_backendTypes.Fiber.html deleted file mode 100644 index 473f3bd09..000000000 --- a/docs/types/backend_types_backendTypes.Fiber.html +++ /dev/null @@ -1,34 +0,0 @@ -Fiber | reactime
              Fiber: {
                  _debugHookTypes: string[] | null;
                  actualDuration?: number;
                  actualStartTime?: number;
                  child: Fiber | null;
                  elementType: any;
                  key: string | null;
                  memoizedProps: any;
                  memoizedState: any;
                  selfBaseDuration?: number;
                  sibling: Fiber | null;
                  stateNode: any;
                  tag: WorkTag;
                  treeBaseDuration?: number;
              }

              Type declaration

              • _debugHookTypes: string[] | null

                An array of hooks used for debugging purposes.

                -
              • Optional actualDuration?: number

                Time spent rendering this Fiber and its descendants for the current update.

                -

                This tells us how well the tree makes use of sCU for memoization. It is reset to 0 each time we render and only updated when we don't bailout.

                -

                This field is only set when the enableProfilerTimer flag is enabled.

                -
              • Optional actualStartTime?: number

                If the Fiber is currently active in the "render" phase, this marks the time at which the work began.

                -

                This field is only set when the enableProfilerTimer flag is enabled.

                -
              • child: Fiber | null

                Pointer to the first child.

                -
              • elementType: any

                The type of the current Fiber node's element (e.g. the component function or class, or the DOM element type).

                -

                For class/functional component, elmementType stores the function definition.

                -
              • key: string | null

                Unique key string assigned by the user when making component on null if they didn't assign one

                -
              • memoizedProps: any

                The current props of the component associated with the current Fiber node.

                -
              • memoizedState: any

                The current state for a functional component associated with the current Fiber node.

                -
              • Optional selfBaseDuration?: number

                Duration of the most recent render time for this Fiber. This value is not updated when we bailout for memoization purposes.

                -

                This field is only set when the enableProfilerTimer flag is enabled.

                -
              • sibling: Fiber | null

                Pointer to next sibling

                -
              • stateNode: any

                The local state associated with this fiber.

                -

                For classComponent, stateNode contains current state and the bound update methods of the component.

                -
              • tag: WorkTag

                The type of the current Fiber node, such as FunctionComponent, ClassComponent, or HostComponent (for DOM elements).

                -
              • Optional treeBaseDuration?: number

                Sum of base times for all descendants of this Fiber. This value bubbles up during the "complete" phase.

                -

                This field is only set when the enableProfilerTimer flag is enabled.

                -

              Member

              actualDuration - The time taken to render the current Fiber node and its descendants during the previous render cycle. This value is used to optimize the rendering of components and to provide performance metrics to developers.

              -

              Member

              actualStartTime - The time at which the rendering of the current Fiber node started during the previous render cycle.

              -

              Member

              child - Pointer to the first child.

              -

              Member

              elementType - The type of the current Fiber node's element (e.g. the component function or class, or the DOM element type). For class/functional component, elmementType stores the function definition.

              -

              Member

              key - The key a user assigned to the component or null if they didn't assign one

              -

              Member

              memoizedProps - The current props of the component associated with the current Fiber node.

              -

              Member

              memoizedState - The current state of the component associated with the current Fiber node.

              -

              Member

              selfBaseDuration - The base duration of the current Fiber node's render phase (excluding the time taken to render its children). This field is only set when the enableProfilerTimer flag is enabled.

              -

              Member

              sibling - Pointer to next sibling

              -

              Member

              stateNode - The local state associated with this fiber. For classComponent, stateNode contains current state and the bound update methods of the component

              -

              Member

              tag - The type of the current Fiber node, such as FunctionComponent, ClassComponent, or HostComponent (for DOM elements).

              -

              Member

              treeBaseDuration - The total base duration of the current Fiber node's subtree. This field is only set when the enableProfilerTimer flag is enabled.

              -

              Member

              _debugHookTypes - An array of hooks used for debugging purposes.

              -
              \ No newline at end of file diff --git a/docs/types/backend_types_backendTypes.FiberRoot.html b/docs/types/backend_types_backendTypes.FiberRoot.html deleted file mode 100644 index 060e37302..000000000 --- a/docs/types/backend_types_backendTypes.FiberRoot.html +++ /dev/null @@ -1 +0,0 @@ -FiberRoot | reactime
              FiberRoot: {
                  current: Fiber;
              }

              Type declaration

              \ No newline at end of file diff --git a/docs/types/backend_types_backendTypes.WorkTag.html b/docs/types/backend_types_backendTypes.WorkTag.html deleted file mode 100644 index 8c89a4816..000000000 --- a/docs/types/backend_types_backendTypes.WorkTag.html +++ /dev/null @@ -1 +0,0 @@ -WorkTag | reactime
              WorkTag: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24
              \ No newline at end of file diff --git a/docs/variables/app_slices_mainSlice.mainSlice.html b/docs/variables/app_slices_mainSlice.mainSlice.html deleted file mode 100644 index 8fd6af0eb..000000000 --- a/docs/variables/app_slices_mainSlice.mainSlice.html +++ /dev/null @@ -1 +0,0 @@ -mainSlice | reactime
              mainSlice: Slice<InitialState, {
                  aReactApp: ((state, action) => void);
                  addNewSnapshots: ((state, action) => void);
                  changeSlider: ((state, action) => void);
                  changeView: ((state, action) => void);
                  deleteSeries: ((state) => void);
                  deleteTab: ((state, action) => void);
                  disconnected: ((state) => void);
                  emptySnapshots: ((state) => void);
                  endConnect: ((state) => void);
                  importSnapshots: ((state, action) => void);
                  initialConnect: ((state, action) => void);
                  launchContentScript: ((state, action) => void);
                  moveBackward: ((state, action) => void);
                  moveForward: ((state, action) => void);
                  noDev: ((state, action) => void);
                  onHover: ((state, action) => void);
                  onHoverExit: ((state, action) => void);
                  pause: ((state) => void);
                  playForward: ((state, action) => void);
                  resetSlider: ((state) => void);
                  save: ((state, action) => void);
                  setCurrentLocation: ((state, action) => void);
                  setCurrentTabInApp: ((state, action) => void);
                  setPort: ((state, action) => void);
                  setTab: ((state, action) => void);
                  startPlaying: ((state, action) => void);
                  startReconnect: ((state) => void);
                  toggleAxTree: ((state, action) => void);
                  toggleExpanded: ((state, action) => void);
                  toggleMode: ((state, action) => void);
                  tutorialSaveSeriesToggle: ((state, action) => void);
              }, "main", "main", SliceSelectors<InitialState>> = ...

              Type declaration

              • aReactApp: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • addNewSnapshots: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • changeSlider: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • changeView: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • deleteSeries: ((state) => void)
                  • (state): void
                  • Parameters

                    • state: Draft<S>

                    Returns void

              • deleteTab: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • disconnected: ((state) => void)
                  • (state): void
                  • Parameters

                    • state: Draft<S>

                    Returns void

              • emptySnapshots: ((state) => void)
                  • (state): void
                  • Parameters

                    • state: Draft<S>

                    Returns void

              • endConnect: ((state) => void)
                  • (state): void
                  • Parameters

                    • state: Draft<S>

                    Returns void

              • importSnapshots: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • initialConnect: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • launchContentScript: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • moveBackward: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • moveForward: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • noDev: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • onHover: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • onHoverExit: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • pause: ((state) => void)
                  • (state): void
                  • Parameters

                    • state: Draft<S>

                    Returns void

              • playForward: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • resetSlider: ((state) => void)
                  • (state): void
                  • Parameters

                    • state: Draft<S>

                    Returns void

              • save: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • setCurrentLocation: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • setCurrentTabInApp: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • setPort: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • setTab: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • startPlaying: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • startReconnect: ((state) => void)
                  • (state): void
                  • Parameters

                    • state: Draft<S>

                    Returns void

              • toggleAxTree: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • toggleExpanded: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • toggleMode: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              • tutorialSaveSeriesToggle: ((state, action) => void)
                  • (state, action): void
                  • Parameters

                    • state: Draft<S>
                    • action: {
                          payload: any;
                          type: string;
                      }
                      • payload: any
                      • type: string

                    Returns void

              \ No newline at end of file diff --git a/docs/variables/app_store.store.html b/docs/variables/app_store.store.html deleted file mode 100644 index 75e7e9aeb..000000000 --- a/docs/variables/app_store.store.html +++ /dev/null @@ -1 +0,0 @@ -store | reactime

              Variable storeConst

              store: EnhancedStore<{
                  axLegend: {
                      axLegendButtonClicked: boolean;
                  };
                  main: InitialState;
              }, UnknownAction, Tuple<[StoreEnhancer<{
                  dispatch: ThunkDispatch<{
                      axLegend: {
                          axLegendButtonClicked: boolean;
                      };
                      main: InitialState;
                  }, undefined, UnknownAction>;
              }>, StoreEnhancer]>> = ...

              Type declaration

              • axLegend: {
                    axLegendButtonClicked: boolean;
                }
                • axLegendButtonClicked: boolean
              • main: InitialState
              \ No newline at end of file diff --git a/docs/variables/app_styles_theme.default.html b/docs/variables/app_styles_theme.default.html deleted file mode 100644 index f5630e232..000000000 --- a/docs/variables/app_styles_theme.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime

              Variable defaultConst

              default: Theme = ...
              \ No newline at end of file diff --git a/docs/variables/backend_models_filterConditions.allowedComponentTypes.html b/docs/variables/backend_models_filterConditions.allowedComponentTypes.html deleted file mode 100644 index 51f830388..000000000 --- a/docs/variables/backend_models_filterConditions.allowedComponentTypes.html +++ /dev/null @@ -1 +0,0 @@ -allowedComponentTypes | reactime
              allowedComponentTypes: Set<WorkTag> = ...
              \ No newline at end of file diff --git a/docs/variables/backend_models_filterConditions.exclude.html b/docs/variables/backend_models_filterConditions.exclude.html deleted file mode 100644 index d9b4cef92..000000000 --- a/docs/variables/backend_models_filterConditions.exclude.html +++ /dev/null @@ -1,2 +0,0 @@ -exclude | reactime
              exclude: Set<string> = ...

              A set of excluded props and variable name

              -
              \ No newline at end of file diff --git a/docs/variables/backend_models_filterConditions.nextJSDefaultComponent.html b/docs/variables/backend_models_filterConditions.nextJSDefaultComponent.html deleted file mode 100644 index 2f93c1a82..000000000 --- a/docs/variables/backend_models_filterConditions.nextJSDefaultComponent.html +++ /dev/null @@ -1 +0,0 @@ -nextJSDefaultComponent | reactime
              nextJSDefaultComponent: Set<string> = ...
              \ No newline at end of file diff --git a/docs/variables/backend_models_filterConditions.remixDefaultComponents.html b/docs/variables/backend_models_filterConditions.remixDefaultComponents.html deleted file mode 100644 index 4f6729686..000000000 --- a/docs/variables/backend_models_filterConditions.remixDefaultComponents.html +++ /dev/null @@ -1 +0,0 @@ -remixDefaultComponents | reactime
              remixDefaultComponents: Set<string> = ...
              \ No newline at end of file diff --git a/docs/variables/backend_models_masterState.default.html b/docs/variables/backend_models_masterState.default.html deleted file mode 100644 index 47043b947..000000000 --- a/docs/variables/backend_models_masterState.default.html +++ /dev/null @@ -1,21 +0,0 @@ -default | reactime
              default: {
                  clear: (() => void);
                  getAllComponents: (() => any[]);
                  getComponentByIndex: ((inputIndex) => any);
                  getComponentByIndexHooks: ((inputIndex) => any[]);
                  saveNew: ((component) => number);
              }

              Type declaration

              • clear: (() => void)

                Function

                clear - Clears componentActionsRecord

                -
                  • (): void
                  • Returns void

              • getAllComponents: (() => any[])

                Function

                getAllComponents - This method is used for debugging purpose to access the array of setState/dispatch methods

                -

                Returns

                  -
                • an array of objects containing the bound methods for updating state
                • -
                -
                  • (): any[]
                  • Returns any[]

              • getComponentByIndex: ((inputIndex) => any)

                Function

                getComponentByIndex - This function is used for stateful Class Component to retrieve an object that has the bound setState method

                -

                Returns

                  -
                • an object containing the bound setState method
                • -
                -
                  • (inputIndex): any
                  • Parameters

                    • inputIndex: number

                      index of component inside componentActionsRecord coming from timeJump.ts

                      -

                    Returns any

              • getComponentByIndexHooks: ((inputIndex) => any[])

                Function

                getComponentByIndexHooks - This function is used for Functional Component to retrieve an array of objects that have the bound dispatch methods.

                -

                Returns

                  -
                • an array of objects containing the bound dispatch methods
                • -
                -
                  • (inputIndex): any[]
                  • Parameters

                    • inputIndex: number[]

                      index of component inside componentActionsRecord coming from timeJump.ts

                      -

                    Returns any[]

              • saveNew: ((component) => number)

                Function

                saveNew - Adds a new component to the componentActionsRecord array and returns its index.

                -

                Returns

                  -
                • the index of the newly added component
                • -
                -
                  • (component): number
                  • Parameters

                    • component: any

                      An object that contains bound update method. For class component, the udpate method is setState. For functional component, the update method is dispatch.

                      -

                    Returns number

              \ No newline at end of file diff --git a/docs/variables/backend_models_routes.default.html b/docs/variables/backend_models_routes.default.html deleted file mode 100644 index 64d13a646..000000000 --- a/docs/variables/backend_models_routes.default.html +++ /dev/null @@ -1 +0,0 @@ -default | reactime
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.Block.html b/docs/variables/backend_types_backendTypes.Block.html deleted file mode 100644 index 03a6a5a73..000000000 --- a/docs/variables/backend_types_backendTypes.Block.html +++ /dev/null @@ -1 +0,0 @@ -Block | reactime
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.ClassComponent.html b/docs/variables/backend_types_backendTypes.ClassComponent.html deleted file mode 100644 index 7369e726a..000000000 --- a/docs/variables/backend_types_backendTypes.ClassComponent.html +++ /dev/null @@ -1 +0,0 @@ -ClassComponent | reactime
              ClassComponent: 1 = 1
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.ContextConsumer.html b/docs/variables/backend_types_backendTypes.ContextConsumer.html deleted file mode 100644 index 915ae07a2..000000000 --- a/docs/variables/backend_types_backendTypes.ContextConsumer.html +++ /dev/null @@ -1 +0,0 @@ -ContextConsumer | reactime
              ContextConsumer: 9 = 9
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.ContextProvider.html b/docs/variables/backend_types_backendTypes.ContextProvider.html deleted file mode 100644 index 8fd35e868..000000000 --- a/docs/variables/backend_types_backendTypes.ContextProvider.html +++ /dev/null @@ -1 +0,0 @@ -ContextProvider | reactime
              ContextProvider: 10 = 10
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.DehydratedFragment.html b/docs/variables/backend_types_backendTypes.DehydratedFragment.html deleted file mode 100644 index b8c372a55..000000000 --- a/docs/variables/backend_types_backendTypes.DehydratedFragment.html +++ /dev/null @@ -1 +0,0 @@ -DehydratedFragment | reactime
              DehydratedFragment: 18 = 18
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.ForwardRef.html b/docs/variables/backend_types_backendTypes.ForwardRef.html deleted file mode 100644 index e2f4e161a..000000000 --- a/docs/variables/backend_types_backendTypes.ForwardRef.html +++ /dev/null @@ -1 +0,0 @@ -ForwardRef | reactime
              ForwardRef: 11 = 11
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.Fragment.html b/docs/variables/backend_types_backendTypes.Fragment.html deleted file mode 100644 index b0c3f3556..000000000 --- a/docs/variables/backend_types_backendTypes.Fragment.html +++ /dev/null @@ -1 +0,0 @@ -Fragment | reactime
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.FunctionComponent.html b/docs/variables/backend_types_backendTypes.FunctionComponent.html deleted file mode 100644 index f58bb698a..000000000 --- a/docs/variables/backend_types_backendTypes.FunctionComponent.html +++ /dev/null @@ -1 +0,0 @@ -FunctionComponent | reactime
              FunctionComponent: 0 = 0
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.FundamentalComponent.html b/docs/variables/backend_types_backendTypes.FundamentalComponent.html deleted file mode 100644 index 845d63ed6..000000000 --- a/docs/variables/backend_types_backendTypes.FundamentalComponent.html +++ /dev/null @@ -1 +0,0 @@ -FundamentalComponent | reactime
              FundamentalComponent: 20 = 20
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.HostComponent.html b/docs/variables/backend_types_backendTypes.HostComponent.html deleted file mode 100644 index 22b6b82e1..000000000 --- a/docs/variables/backend_types_backendTypes.HostComponent.html +++ /dev/null @@ -1,2 +0,0 @@ -HostComponent | reactime
              HostComponent: 5 = 5

              Host Component: a type of component that represents a native DOM element in the browser environment, such as div, span, input, h1 etc.

              -
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.HostPortal.html b/docs/variables/backend_types_backendTypes.HostPortal.html deleted file mode 100644 index 7aa568ca6..000000000 --- a/docs/variables/backend_types_backendTypes.HostPortal.html +++ /dev/null @@ -1,2 +0,0 @@ -HostPortal | reactime
              HostPortal: 4 = 4

              A subtree. Could be an entry point to a different renderer.

              -
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.HostRoot.html b/docs/variables/backend_types_backendTypes.HostRoot.html deleted file mode 100644 index ce801f887..000000000 --- a/docs/variables/backend_types_backendTypes.HostRoot.html +++ /dev/null @@ -1,2 +0,0 @@ -HostRoot | reactime
              HostRoot: 3 = 3

              Root of a host tree. Could be nested inside another node.

              -
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.HostText.html b/docs/variables/backend_types_backendTypes.HostText.html deleted file mode 100644 index 730b16367..000000000 --- a/docs/variables/backend_types_backendTypes.HostText.html +++ /dev/null @@ -1 +0,0 @@ -HostText | reactime
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.IncompleteClassComponent.html b/docs/variables/backend_types_backendTypes.IncompleteClassComponent.html deleted file mode 100644 index 3df8b227d..000000000 --- a/docs/variables/backend_types_backendTypes.IncompleteClassComponent.html +++ /dev/null @@ -1 +0,0 @@ -IncompleteClassComponent | reactime

              Variable IncompleteClassComponentConst

              IncompleteClassComponent: 17 = 17
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.IndeterminateComponent.html b/docs/variables/backend_types_backendTypes.IndeterminateComponent.html deleted file mode 100644 index 0683fe326..000000000 --- a/docs/variables/backend_types_backendTypes.IndeterminateComponent.html +++ /dev/null @@ -1,2 +0,0 @@ -IndeterminateComponent | reactime
              IndeterminateComponent: 2 = 2

              Before we know whether it is function or class

              -
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.LazyComponent.html b/docs/variables/backend_types_backendTypes.LazyComponent.html deleted file mode 100644 index 9232d18de..000000000 --- a/docs/variables/backend_types_backendTypes.LazyComponent.html +++ /dev/null @@ -1 +0,0 @@ -LazyComponent | reactime
              LazyComponent: 16 = 16
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.LegacyHiddenComponent.html b/docs/variables/backend_types_backendTypes.LegacyHiddenComponent.html deleted file mode 100644 index a6e87e3a8..000000000 --- a/docs/variables/backend_types_backendTypes.LegacyHiddenComponent.html +++ /dev/null @@ -1 +0,0 @@ -LegacyHiddenComponent | reactime
              LegacyHiddenComponent: 24 = 24
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.MemoComponent.html b/docs/variables/backend_types_backendTypes.MemoComponent.html deleted file mode 100644 index c27f58ba5..000000000 --- a/docs/variables/backend_types_backendTypes.MemoComponent.html +++ /dev/null @@ -1 +0,0 @@ -MemoComponent | reactime
              MemoComponent: 14 = 14
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.Mode.html b/docs/variables/backend_types_backendTypes.Mode.html deleted file mode 100644 index ad9dbbd70..000000000 --- a/docs/variables/backend_types_backendTypes.Mode.html +++ /dev/null @@ -1 +0,0 @@ -Mode | reactime
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.OffscreenComponent.html b/docs/variables/backend_types_backendTypes.OffscreenComponent.html deleted file mode 100644 index 833f0d277..000000000 --- a/docs/variables/backend_types_backendTypes.OffscreenComponent.html +++ /dev/null @@ -1 +0,0 @@ -OffscreenComponent | reactime
              OffscreenComponent: 23 = 23
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.Profiler.html b/docs/variables/backend_types_backendTypes.Profiler.html deleted file mode 100644 index 190bfb6d0..000000000 --- a/docs/variables/backend_types_backendTypes.Profiler.html +++ /dev/null @@ -1 +0,0 @@ -Profiler | reactime
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.ScopeComponent.html b/docs/variables/backend_types_backendTypes.ScopeComponent.html deleted file mode 100644 index 66818ffcc..000000000 --- a/docs/variables/backend_types_backendTypes.ScopeComponent.html +++ /dev/null @@ -1 +0,0 @@ -ScopeComponent | reactime
              ScopeComponent: 21 = 21
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.SimpleMemoComponent.html b/docs/variables/backend_types_backendTypes.SimpleMemoComponent.html deleted file mode 100644 index d14f86c3a..000000000 --- a/docs/variables/backend_types_backendTypes.SimpleMemoComponent.html +++ /dev/null @@ -1 +0,0 @@ -SimpleMemoComponent | reactime
              SimpleMemoComponent: 15 = 15
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.SuspenseComponent.html b/docs/variables/backend_types_backendTypes.SuspenseComponent.html deleted file mode 100644 index 8e7089615..000000000 --- a/docs/variables/backend_types_backendTypes.SuspenseComponent.html +++ /dev/null @@ -1 +0,0 @@ -SuspenseComponent | reactime
              SuspenseComponent: 13 = 13
              \ No newline at end of file diff --git a/docs/variables/backend_types_backendTypes.SuspenseListComponent.html b/docs/variables/backend_types_backendTypes.SuspenseListComponent.html deleted file mode 100644 index 7fba23c49..000000000 --- a/docs/variables/backend_types_backendTypes.SuspenseListComponent.html +++ /dev/null @@ -1 +0,0 @@ -SuspenseListComponent | reactime
              SuspenseListComponent: 19 = 19
              \ No newline at end of file diff --git a/src/DEVELOPER_README.md b/src/DEVELOPER_README.md index 44abfb4f7..6a9491529 100644 --- a/src/DEVELOPER_README.md +++ b/src/DEVELOPER_README.md @@ -58,58 +58,66 @@ Here are some notes on the current state of Reactime and considerations for futu There are a variety of open issues on the [OSLabs Reactime Github](https://github.com/open-source-labs/reactime) that remain to be addressed. -## Main Slice Modularity +## Support for useReducer Time Travel -Currently, Reactime employs Redux Toolkit for state management. At present, all actions are housed within the mainSlice.ts file. As this file has expanded significantly, it would be beneficial to modularize it, creating separate slices for distinct components. +Reactime currently shows data stored via useState, but has limited support for other hooks such as useReducer. While Reactime can now display state data from useReducer hooks in its component view, maintaining full time travel functionality for reducer states presents significant challenges. -## Testing +Current Implementation -With reactime V25, a significant effort was made to update and address the various Jest testing issues. We managed to go from about 20% tests passing to more than 85% passing but more work remains to be done. Future itterators are invited to have a closer look and continue to update and improve the library to (hopefully) a 100% passing state. +Reactime successfully captures and displays the current state of useReducer hooks in components +The state data and last dispatched action for reducers are captured in the component snapshot +This data is accessible in the component tooltips when hovering over nodes in the component map +Reducer states are stored separately from useState data in the componentData structure -In addition, while our current test coverage provides a sturdy base, the application can benefit from deeper exploration into critical user paths and broadening end-to-end testing scenarios. Embracing automation and periodic reviews can further ensure consistent quality and robustness in the face of evolving requirements. --> +Challenges with Time Travel -## Continue to investigate app behavior on load +Unlike useState which has a simple state setter function, useReducer state changes must go through the reducer function +The reducer function defines the valid state transitions through actions +Simply setting a new state value would bypass the reducer's action-based state management +Maintaining the correct action history and ensuring state validity through time travel becomes complex +The current implementation can show reducer states at different points in time but cannot reliably replay state transitions -With Reactime V23, loading errors were eliminated by having the web app reload upon a Reactime panel being opened. While this provides a working solution to what were persistent loading issues, the app's behavior on load should still be examined. There are odd interactions happening within the message passing framework of chrome which may be a root cause. Please examine the interaction between background.js, contentscript, maincontainer, and redux toolkit. +Future Considerations +Teams working on expanding reducer support should consider: -## Including Support for Hooks Beyond useState +How to capture and replay sequences of reducer actions +Ways to maintain reducer state validity during time travel +Potential approaches for reconstructing reducer state history +Methods to handle complex reducer patterns like middleware or side effects +Trade-offs between full reducer state management and simplified state snapshots -Reactime currently shows data stored via useState, but does not show data stored via other hooks such as useContext or useReducer. While showing this data would be simple, maintaining the time travel functionality of Reactime with these hooks would not. _Please see file demo-app/src/client/Components/ButtonsWithMoreHooks.jsx for more details._ +## Expanding Support for Custom Hooks -To see how hook data is stored on the fiber tree: +Reactime currently has a robust system for detecting and handling built-in React hooks, but custom hooks present unique opportunities and challenges for state tracking and visualization. -1. Change demo-app/src/client/Router.tsx to use utilize the ButtonsWithMoreHooks component -2. Have the “Load Unpacked” version of Reactime in your chrome extension. -3. Add console.logs in src/backend/routers/linkFiber.ts to log the fiber tree captured for a running app. In this case it'll be the demo-app -4. Run Reactime on your computer via "npm run dev", which links your local Reactime to the “Load Unpacked” chrome extension. -5. Run the demo-app from a separate terminal that's currently in the demo-app directory via "npm run dev" -6. Navigate through the fiber tree in the console until you find the tree node for demo-app/src/client/Components/IncrementWithMoreHooks.jsx to see hook data. +Current Implementation -Any changes to console.logs in Reactime can be seen by refreshing the browser the app is running in. +Reactime uses AST parsing via @babel/parser to analyze hook usage in components +The system identifies hook patterns through memoizedState examination in the Fiber tree +Hook names and state variables are extracted and matched with their corresponding state values +This works well for direct useState and useReducer calls but may miss custom hook implementations -## React DevTools Global Hook +Challenges -React Developer Tools has NOT deprecated \_\_REACT_DEVTOOLS_GLOBAL_HOOK\_\_. However, Reactime v21 has sleuthed and learned the following from the team at React: +Custom hooks can contain multiple internal state management hooks +The relationship between custom hook state and component state is not always clear in the Fiber tree +Hook naming patterns may vary across different custom hook implementations +State updates in custom hooks might use complex patterns or composition +The current AST parsing system is optimized for standard hook patterns -Ruslan Lesiutin (https://github.com/hoxyq) from Meta/ Facebook responded on July 28, 2023 -“Hey @morahgeist, -We don't have plans on removing the global hook currently, this is still the primary way on how React and React DevTools interact, but it doesn't mean that any other extensions / applications should inject into this hook and use it. You should always take that into account that APIs inside this hook can have breaking changes. -In a long term, there are plans to implement more reliable API contract of what DevTools can expose from React to other tools, but I don't have any timelines and details yet.” +Future Considerations +Teams looking to expand custom hook support should consider: -## Redux - -Can Reactime functionality be extended so applications using Redux can track state in Reactime? - -Yes, but it would be very time-consuming and not the most feasible option while Redux devtools exists already. With how Redux devtools is currently set up, a developer is unable to use Redux devtools as a third-party user and integrate its functionality into their own application, as Redux devtools is meant to be used directly on an application using Redux for state-tracking purposes. Since the devtools do not appear to have a public API for integrated use in an application or it simply does not exist, Redux devtools would need to be rebuilt from the ground up and then integrated into Reactime, or built into Reactime directly still from scratch. +How to identify and group state belonging to the same custom hook +Ways to visualize the relationship between custom hook state and component state +Methods to track state flow through custom hook composition +Approaches for handling custom hooks that combine multiple state management methods +Strategies for maintaining time travel functionality with custom hook state ## Newsletter functionality on the Reactime website As noted in the [Reactime Webite Github](https://github.com/reactimetravel/reactime-website), a newsletter functionality would be nice but has not been implemented yet. -## Optimize webpack bundle size in production mode - -Currently, the webpack bundle size when running in production mode (through npm run build) is much larger than the recommended size. Implementing new rules, plugins, and/or uglification and minification strategies could help reduce the size. - # File Structure In the _src_ folder, there are three directories we care about: _app_, _backend_, and _extension_. @@ -186,7 +194,7 @@ All the diagrams of data flows are available on [MIRO](https://miro.com/app/boar The general flow of data is described in the following steps: -![GENERAL DATA FLOW](../assets/DataFlowDiagramV23.PNG) +![GENERAL DATA FLOW](../assets/DataFlowDiagramV23.png) 1. When the background bundle is loaded by the browser, it executes a script injection into the dom. (see section on _backend_). This script uses a technique called [throttle](https://medium.com/@bitupon.211/debounce-and-throttle-160affa5457b) to send state data from the app to the content script every specified milliseconds (in our case, this interval is 70ms). @@ -274,12 +282,10 @@ Once you are ready for launch, follow these steps to simplify deployment to the # Past Medium Articles for Reference +- [Reactime Reimagined: A Major Leap Forward in React Debugging](https://medium.com/@elliesimens/reactime-reimagined-a-major-leap-forward-in-react-debugging-7b76a0a66f42) - [Reactime v25: The Time to React is Now!](https://medium.com/@loganjnelsen/reactime-v25-the-time-to-react-is-now-ace90e45a9c7) - - [Relaunching Reactime: Updates and a New Accessibility Feature!](https://medium.com/@evaury/relaunching-reactime-updates-and-a-new-accessibility-feature-1f0fd3a5bd8c) - - [Reactime renovation: Updates Coming in Version 23.0!](https://medium.com/@liam.donaher/reactime-renovation-updates-coming-in-version-23-0-37b2ef2a2771) - - [Reactime 22: Reactime: Real-time Debugging, Timless Results](https://medium.com/@kelvinmirhan/reactime-real-time-debugging-timeless-results-3f163b721d01) - [Reactime 21: Cheers to Reactime, Version 21!](https://medium.com/@brok3turtl3/cheers-to-reactime-version-21-fa4dafa4bc74) - [Reactime 20: Reactime just keeps getting better!](https://medium.com/@njhuemmer/reactime-just-keeps-getting-better-b37659ff8b71) diff --git a/src/app/components/Buttons/Tutorial.tsx b/src/app/components/Buttons/Tutorial.tsx index ab491a4ae..29d526e90 100644 --- a/src/app/components/Buttons/Tutorial.tsx +++ b/src/app/components/Buttons/Tutorial.tsx @@ -103,10 +103,10 @@ export default class Tutorial extends Component { position: 'right', }, { - title: 'Toggle Record Button', + title: 'Toggles', element: '.record-button-container', intro: - '
              • Toggle record button to pause state changes on target application
              ', + '
              • Toggle record button to pause state changes on target application
              • Toggle theme button to switch between light and dark themes
              ', position: 'right', }, { @@ -126,7 +126,14 @@ export default class Tutorial extends Component { title: 'Timejump', element: '.rc-slider', intro: - '
              • Use the slider to go back in time to a particular state change
              • Click the Play button to run through each state change automatically
              ', + '
              • Use the slider to go back in time to a particular state change
              ', + position: 'top', + }, + { + title: 'Play', + element: '.travel-container', + intro: + '
              • Click the Play button to run through each state change automatically
              • Select playback speed from the dropdown menu (0.5x, 1.0x, or 2.0x) to control how fast states change during playback
              ', position: 'top', }, { @@ -149,6 +156,13 @@ export default class Tutorial extends Component { '
              • Use button to upload a previously downloaded JSON file for snapshot comparisons
              ', position: 'top', }, + { + title: 'Reconnect button', + element: '.reconnect-button', + intro: + '
              • Click the Reconnect button if connection is lost to reestablish communication with your application.
              ', + position: 'top', + }, { element: '.map-tab', title: 'Map Tab', @@ -156,6 +170,12 @@ export default class Tutorial extends Component { '
              • This tab visually displays a component hierarchy tree for your app
              ', position: 'bottom', }, + { + title: 'History Tab', + element: '.history-tab', + intro: '
              • This tab visually displays a history of each snapshot
              ', + position: 'bottom', + }, { title: 'Performance Tab', element: '.performance-tab', @@ -163,12 +183,7 @@ export default class Tutorial extends Component { '
              • User can save a series of state snapshots and use it to analyze changes in component, render performance between current, and previous series of snapshots.
              • User can save a series of state snapshots and use it to analyze changes in component render performance between current and previous series of snapshots.
              • TIP: Click the how to use button within the performance tab for more details.
              ', position: 'bottom', }, - { - title: 'History Tab', - element: '.history-tab', - intro: '
              • This tab visually displays a history of each snapshot
              ', - position: 'bottom', - }, + { title: 'Web Metrics Tab', element: '.web-metrics-tab', @@ -185,8 +200,9 @@ export default class Tutorial extends Component { }, { title: 'Accessibility Tree', - element: '.accessibility-tab',//'
              • This tab visually displays a Accessibility Tree
              ' - intro:'
              • Nodes from the accessibility tree have either a role or a internal role refers to ARIA roles, which indicate the purpose of the element to assistive technologies, like screen readers.All of the nodes rendered in this tree have a role of Role.InternalRole refers to browser-specific roles Chrome for its own accessibility processing.

                Each node is given a property labeled ignored. Nodes read by the screen reader have their ignored property evaluate to false.Nodes not read by the screen reader evaluate to true.

                Nodes labeled as no name are visible to a screen reader, but were not given a name label.

              ', + element: '.accessibility-tab', //'
              • This tab visually displays a Accessibility Tree
              ' + intro: + '
              • Nodes from the accessibility tree have either a role or a internal role refers to ARIA roles, which indicate the purpose of the element to assistive technologies, like screen readers.All of the nodes rendered in this tree have a role of Role.InternalRole refers to browser-specific roles Chrome for its own accessibility processing.

                Each node is given a property labeled ignored. Nodes read by the screen reader have their ignored property evaluate to false.Nodes not read by the screen reader evaluate to true.

                Nodes labeled as no name are visible to a screen reader, but were not given a name label.

              ', position: 'bottom', }, { @@ -208,7 +224,7 @@ export default class Tutorial extends Component { }, ]; break; - case 'accessibility'://'AxTree' + case 'accessibility': //'AxTree' steps = [ { title: 'Accessibility Tree', @@ -240,7 +256,7 @@ export default class Tutorial extends Component { }, { title: 'Viewing History Snapshot', - element: '.display',//document.querySelectorAll('.snapshotNode')[0] + element: '.display', //document.querySelectorAll('.snapshotNode')[0] intro: 'Each node will represent a snapshot in the page.
              • A single snapshot will show as a node while multiple snapshots will be represented as a timeline.
              • Highlighting over one will show any state changes compared to the previous snapshot.
              • Clicking a node will set the snapshot as the current one.
              ', position: 'top', diff --git a/src/app/components/ErrorHandling/ErrorHandler.tsx b/src/app/components/ErrorHandling/ErrorHandler.tsx deleted file mode 100644 index 9a9051543..000000000 --- a/src/app/components/ErrorHandling/ErrorHandler.tsx +++ /dev/null @@ -1,21 +0,0 @@ -import React from 'react'; - -class ErrorHandler extends React.Component { - constructor(props: unknown) { - super(props); - this.state = { errorOccurred: false }; - } - - componentDidCatch(): void { - this.setState({ errorOccurred: true }); - } - - render(): JSX.Element { - const { errorOccurred } = this.state; - // eslint-disable-next-line react/prop-types - const { children } = this.props; - return errorOccurred ?
              Unexpected Error
              : children; - } -} - -export default ErrorHandler; diff --git a/src/app/components/ErrorHandling/ErrorMsg.tsx b/src/app/components/ErrorHandling/ErrorMsg.tsx deleted file mode 100644 index 7ad1935a2..000000000 --- a/src/app/components/ErrorHandling/ErrorMsg.tsx +++ /dev/null @@ -1,92 +0,0 @@ -/* eslint-disable react/prop-types */ -import React from 'react'; - -/* -This file determines what text will be displayed to the user if any one of the following fail to load: - - 1. if the content script has been launched on the current tab - 2. if React Dev Tools has been installed - 3. if target tab contains a compatible React app - -*/ - -// parses loadingArray and status and returns the correct message -function parseError(loadingArray: [], status: Record): string { - let stillLoading = true; - loadingArray.forEach((e) => { - if (e === false) stillLoading = false; - }); - - if (stillLoading) return 'default'; // As long as everything is still loading dont diplay an error message - - // If we're done loading everything, return the first status that fails - if (!status.contentScriptLaunched) return 'Content Script Error'; - if (!status.reactDevToolsInstalled) return 'RDT Error'; - if (!status.targetPageisaReactApp) return 'Not React App'; - return 'default'; -} - -function ErrorMsg({ loadingArray, status, launchContent, reinitialize }): JSX.Element { - switch ( - parseError(loadingArray, status) // parseError returns a string based on the loadingArray and status. The returned string is matched to a case so that an appropriate error message will be displayed to the user - ) { - case 'Content Script Error': - return ( -
              - Target App not yet found... -
              - If you encounter this error on the initial launch of Reactime, try refreshing the webpage - you are developing. -
              -
              - If Reactime is running as an iframe in your developer tools, right click on the Reactime - application and click 'Reload Frame' -
              -
              - NOTE: By default Reactime only launches the content script on URLS starting with - localhost. -
              - If your target URL does not match, you can manually launch the content script below. -
              -
              - -
              - ); - case 'RDT Error': - return ( -
              - React Dev Tools is not installed! -
              -
              - If you encounter this error on the initial launch of Reactime, refresh the webpage you are - developing. -
              - If Reactime is running as an iframe in your developer tools, right click on the Reactime - application and click 'Reload Frame' -
              -
              - - NOTE: The React Developer Tools extension is required for Reactime to run, if you do not - already have it installed on your browser. - -
              - ); - case 'Not React App': - return ( -
              - The Target app is either not a React application or is not compatible with Reactime. -
              - ); - default: - return null; - } -} - -export default ErrorMsg; diff --git a/src/app/components/ErrorHandling/Loader.tsx b/src/app/components/ErrorHandling/Loader.tsx deleted file mode 100644 index 797a1e231..000000000 --- a/src/app/components/ErrorHandling/Loader.tsx +++ /dev/null @@ -1,32 +0,0 @@ -// /* eslint-disable react/prop-types */ - -import React from 'react'; -import { ClipLoader } from 'react-spinners'; -import CheckCircleOutlineIcon from '@mui/icons-material/CheckCircleOutline'; -import ErrorOutlineIcon from '@mui/icons-material/ErrorOutline'; - -/* -This file is what decides what icon (loading, checkmark, exclamation point) is displayed next to the checks in the ErrorContainer loading screen: - - 1. if the content script has been launched on the current tab - 2. if React Dev Tools has been installed - 3. if target tab contains a compatible React app -*/ - -const handleResult = (result: boolean): JSX.Element => - result ? ( - // if result boolean is true, we display a checkmark icon - ) : ( - // if the result boolean is false, we display a fail icon - ); - -// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types -// Returns the 'Loader' component -const Loader = ({ loading, result }): JSX.Element => - loading ? ( - // if the loadingArray value is true, we display a loading icon - ) : ( - handleResult(result) // else we display a component produced by 'handleResult' depending on if the result parameter (which takes an argument from the status object in 'ErrorContainer') is true or false - ); - -export default Loader; diff --git a/src/app/slices/mainSlice.ts b/src/app/slices/mainSlice.ts index 3409618ed..740e9b718 100644 --- a/src/app/slices/mainSlice.ts +++ b/src/app/slices/mainSlice.ts @@ -128,14 +128,6 @@ export const mainSlice = createSlice({ state.port = action.payload; }, - // JR: REFACTOR: 12.20.23 this code has if statement to catch diff shapes of payload ('number' vs 'object'). This should not be the case, the payload should always come in as expected. - // consider creating a custom typescript type for the action that setTab receives. - - //JR: DOCS: 12.20.23 This code will update the currentTab being tracked in the Redux state. It depends, however, on the 'mode', which is a label for the "Locked" button status. - // The naming is unfortunate because the backend also has a mode variable that does a completely different thing (related to time travel navigation), which creates confusion. Consider renaming this to 'locked' or somesuch. - // Mode is an object that expects to contain a single key, paused, with a boolean value. - // If true: Reactime is 'Locked', and navigating to another tab will not update the Redux state and trigger Reactime to take any actions. - // If false: Reactime is 'Unlocked', and navigating to another tab will update the Redux state's currentTab, which will trigger Reactime to try to run on that new tab. setTab: (state, action) => { const { tabs, currentTab } = state; const { mode } = tabs[currentTab] || {}; diff --git a/src/app/styles/components/_buttons.scss b/src/app/styles/components/_buttons.scss index ff875dfc8..aea1c6560 100644 --- a/src/app/styles/components/_buttons.scss +++ b/src/app/styles/components/_buttons.scss @@ -55,7 +55,6 @@ } } -/* sidebar button open and closing functionality */ .record-button-container { display: flex; align-items: center; @@ -121,8 +120,8 @@ /* Theme toggle button styling */ .theme-toggle { position: relative; - width: 64px; - height: 32px; + width: 48px; + height: 24px; border-radius: 16px; border: 2px solid var(--border-color); background-color: var(--bg-tertiary); @@ -138,8 +137,8 @@ .theme-toggle-slider { position: relative; - width: 24px; - height: 24px; + width: 16px; + height: 16px; border-radius: 50%; background-color: var(--bg-primary); transition: transform 300ms cubic-bezier(0.4, 0, 0.2, 1); @@ -150,7 +149,7 @@ } .theme-toggle.dark .theme-toggle-slider { - transform: translateX(32px); + transform: translateX(24px); background-color: var(--color-primary); } @@ -163,13 +162,13 @@ display: flex; align-items: center; justify-content: space-between; - padding: 4px 8px; + padding: 0 4px; pointer-events: none; } .theme-toggle-icon { - width: 16px; - height: 16px; + width: 14px; + height: 14px; transition: color 300ms ease; } diff --git a/src/app/styles/layout/_errorContainer.scss b/src/app/styles/layout/_errorContainer.scss index aaf7defa3..9c41044e2 100644 --- a/src/app/styles/layout/_errorContainer.scss +++ b/src/app/styles/layout/_errorContainer.scss @@ -42,20 +42,6 @@ margin-bottom: 1rem; } -.loaderChecks { - margin: 1.5rem 0; -} - -.loaderChecks p { - color: var(--text-secondary); - font-size: 0.875rem; - line-height: 1.5; - font-weight: 500; - display: flex; - align-items: center; - gap: 0.5rem; -} - .error-note { text-align: center; color: var(--text-tertiary); diff --git a/src/app/styles/layout/_stateContainer.scss b/src/app/styles/layout/_stateContainer.scss index 674f1ec13..2a29e913a 100644 --- a/src/app/styles/layout/_stateContainer.scss +++ b/src/app/styles/layout/_stateContainer.scss @@ -43,15 +43,35 @@ position: relative; white-space: nowrap; + &::after { + content: ''; + position: absolute; + bottom: 0; + left: 50%; + width: 0; + height: 2px; + background-color: var(--color-primary); + transition: all 0.3s ease; + transform: translateX(-50%); + } + &:hover { color: var(--text-primary); background-color: transparent; + + &::after { + width: 100%; + } } &.is-active { - border-bottom: 2px solid var(--color-primary); color: var(--color-primary); background-color: transparent; + + &::after { + width: 100%; + background-color: var(--color-primary); + } } } diff --git a/src/extension/background.js b/src/extension/background.js index 3a55e45a8..a3abe9e0b 100644 --- a/src/extension/background.js +++ b/src/extension/background.js @@ -662,7 +662,6 @@ chrome.runtime.onMessage.addListener(async (request, sender, sendResponse) => { htmlBody.appendChild(script); }; - //if (tab.url?.startsWith("chrome://")) return undefined; chrome.scripting.executeScript({ target: { tabId }, func: injectScript, diff --git a/src/extension/build/manifest.json b/src/extension/build/manifest.json index 50cf18bc8..535358fa0 100644 --- a/src/extension/build/manifest.json +++ b/src/extension/build/manifest.json @@ -24,6 +24,6 @@ "matches": [""] } ], - "permissions": ["contextMenus", "tabs", "activeTab", "scripting", "debugger", "alarms"], + "permissions": ["tabs", "activeTab", "scripting", "debugger", "alarms"], "host_permissions": [""] }