fix responsiveness bug - formbricks-com

This commit is contained in:
Matthias Nannt
2022-11-08 14:34:43 +01:00
parent 7dfe5b6203
commit c00fa8c5f9
8 changed files with 216 additions and 51 deletions
@@ -17,7 +17,7 @@ export default function LayoutMdx({ meta, children }: Props) {
<div className="flex h-screen flex-col justify-between">
<MetaInformation title={meta.title} description={meta.description} />
<Header />
<main className="max-w-8xl relative mx-auto mb-auto flex flex-col justify-center px-8 xl:px-16">
<main className="min-w-0 max-w-2xl flex-auto px-4 lg:max-w-none lg:pr-0 lg:pl-8 xl:px-16">
<article className="mx-auto my-16 max-w-3xl">
{meta.title && (
<header className="mb-9 space-y-1">
@@ -1,6 +1,6 @@
/** @type {import('next').NextConfig} */
const { withPlausibleProxy } = require("next-plausible");
import nextMDX from "@next/mdx";
import { withPlausibleProxy } from "next-plausible";
import remarkGfm from "remark-gfm";
const nextConfig = {
reactStrictMode: true,
@@ -27,19 +27,17 @@ const nextConfig = {
},
};
const withMDX = require("@next/mdx")({
const withMDX = nextMDX({
extension: /\.mdx?$/,
options: {
// If you use remark-gfm, you'll need to use next.config.mjs
// as the package is ESM only
// https://github.com/remarkjs/remark-gfm#install
remarkPlugins: [],
remarkPlugins: [remarkGfm],
rehypePlugins: [],
// If you use `MDXProvider`, uncomment the following line.
// providerImportSource: "@mdx-js/react",
},
});
module.exports = withPlausibleProxy({ customDomain: "https://plausible.formbricks.com" })(
withMDX(nextConfig)
);
export default withPlausibleProxy({ customDomain: "https://plausible.formbricks.com" })(withMDX(nextConfig));
+3 -1
View File
@@ -20,7 +20,9 @@
"next-plausible": "^3.6.4",
"prism-react-renderer": "^1.3.5",
"react": "18.2.0",
"react-dom": "18.2.0"
"react-dom": "18.2.0",
"react-responsive-embed": "^2.1.0",
"remark-gfm": "^3.0.1"
},
"devDependencies": {
"@tailwindcss/typography": "^0.5.7",
@@ -3,6 +3,7 @@ import LayoutMdx from "@/components/shared/LayoutMdx";
import RobinHoodMeme from "./robin-hood-meme.png";
import WhyWeDoIt from "./why-we-do-it.png";
import EverythinEverywhereAllAtOnce from "./everything_everywhere_all_at_once.png";
import ResponsiveEmbed from "react-responsive-embed";
export const meta = {
title: "Open source forms will save the world.",
@@ -10,7 +11,7 @@ export const meta = {
date: "2022-08-26",
};
<Image src={RobinHoodMeme} alt="Robin Hood Meme" className="max-w-lg mx-auto rounded-lg" />
<Image src={RobinHoodMeme} alt="Robin Hood Meme" className="rounded-lg" />
_What motivates us to build open source tech in such a crowded space? What do we see what others might not? And how do we understand the relationship between free open source tech and a commercial complement?_
@@ -22,7 +23,7 @@ Before we talk about why the open source mentality is growing on Matti and I, le
Forms are an essential part of web infrastructure, every application has one or more. Whenever someone wants to get data from a brain into a computer, forms come into play:
<Image src={WhyWeDoIt} alt="Why we do it" className="max-w-lg mx-auto rounded-lg" />
<Image src={WhyWeDoIt} alt="Why we do it" className="rounded-lg" />
Secondly, forms are the starting point of many deeper interactions. Lead generation forms, application forms, immigration forms collect lots of meaningful data. It gets processed and enriched, often in the process of building a lasting customer relationship. This implies more interaction, more data input and management, more opportunities to grow. Owning the starting point of this relationship is inherently valuable.
@@ -36,15 +37,11 @@ Let's start with business, because without a working business, it's very difficu
Why are large corporations like Google, Facebook, IBM, etc. investing $$$ in OSS? Did their executives stop believing in capitalism?
<iframe
width="560"
height="315"
className="mx-auto"
<ResponsiveEmbed
src="https://www.youtube.com/embed/j4ovbmsp6p0?start=9"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
allowfullscreen
className="rounded-lg"
/>
_"I doubt it."_
@@ -74,7 +71,7 @@ To break this down, let's look at the challenges commercial OSS companies face.
Matti and I are not just motivated by the chance to gain economic security for our families over the course of the next decade. We also believe in and want to contribute to the positive sum thinking of the open source community. Building a commercial open source software company presents a model Robin Hood would be proud of:
<Image src={RobinHoodMeme} alt="Robin Hood Meme" className="max-w-lg mx-auto rounded-lg" />
<Image src={RobinHoodMeme} alt="Robin Hood Meme" className="rounded-lg" />
A COSS company builds cool tech and shares it freely. It uses its own tech to offer a product to mostly enterprise customers and thereby finances the further development of the technology everyone can use - to a large extent - for free.
@@ -88,11 +85,7 @@ But there is more.
Growing up in the longest period without war in Europe as well as the longest "up only"-market in recent history, 2022 feels utterly unsettling. War, inflation, recession, heat records, wildfires, outrageous inequality, hate, weak democracies -- everything goes to sh\*t everywhere, all at once.
<Image
src={EverythinEverywhereAllAtOnce}
alt="Everything everywhere all at once"
className="max-w-lg mx-auto rounded-lg"
/>
<Image src={EverythinEverywhereAllAtOnce} alt="Everything everywhere all at once" className="rounded-lg" />
If you haven't seen "Everything, everywhere, all at once" I highly recommend it.
@@ -9,7 +9,7 @@ export const meta = {
date: "2022-11-07",
};
<Image src={HeaderImage} alt="Robin Hood Meme" className="max-w-lg mx-auto rounded-lg" />
<Image src={HeaderImage} alt="Formbricks - Open Source Forms and Surveys" className="" />
_It has been quiet in the past weeks, but we didn't spend our days sitting around. Find out what we were up to and where we are taking Formbricks from here._
@@ -17,32 +17,36 @@ _It has been quiet in the past weeks, but we didn't spend our days sitting aroun
Most obviously, we changed the name. Even though we and many of you liked “snoopForms” for its sticky- and edgyness, it is a difficult name to sell to companies and governments with. Especially in the US-american world “snooping around” is quite negatively connotated (when we came up with the name we asked around some British lads who didnt bother too much).
Now we are Formbricks 🤸 “Formbricks” is cool because it describes the product perfectly: A modular approach to enable you guys compose exactly the form solution you need to achieve the (business) objective you want.
Now we are Formbricks 🤸 “Formbricks” is cool because it describes the product perfectly: A modular approach to enable you guys compose exactly the form solution you need to achieve the (business) objective you want.
### Mission: Stop rewriting existing code
We want to solve forms once and for all. If, in 10 years, a web developer rewrites core form functionality instead of building on top of our stack, we didnt do our job. We want you to build your next big thing faster. Our big thing is the last form tool humanity needs. Hold us accountable!
##
# Problems form solutions
Over the first iteration, we learned A LOT about whats important to you. Over 1.426 users created 1.752 forms with snoopForms. 196 of you joined our Discord channel, many of which we had 1-on-1 conversations with. A dozen people bought an Early Bird license for 179$ and offered valuable insights into why they did that and what they expect in return. Here are our key learnings:
### 1. Data ownership is key
### 1. Data ownership is key
Some need it for compliance with privacy regulation, others because they dont want their sensitive data stored on a cloud operated by a third party. 100% data ownership is essential for a subset of the market.
### 2. Every form *need* is different
### 2. Every form _need_ is different
When it comes to collecting qualitative data on a larger scale, there are few scenarios which are identical. Standalone forms or natively integrated? Some need both. No Code builder to create forms yourself or enable users to update existing forms? Both should be possible. Submissions partially emailed, partially hooked into a database and two fields piped to a 3rd party tool? Absolutely! One-size-fits-all fits no one well.
### 3. Under the hood, form solutions *work* the same
### 3. Under the hood, form solutions _work_ the same
It doesn't matter if you open Qualtrics, Typeform or Refiner: on a high level, they do the same. You can create forms which are put in front of people who generate qualitative data which is piped back into a dashboard or third party tool. Based on these insights an action is facilitated. In terms of core functionality, that's it. Obvisously, they are carefully contextualized to solve a specific business problem but the underlying tech does not fundamentally change.
### 4. Doing one thing well isnt good enough (long-term)
Many solutions pride themselves with doing one thing well. When it comes to collecting and _leveraging_ qualitative data, this isnt enough. You have to ask the right questions at the right time, draw correct conclusions and design actions based on your conclusions. In practice, many things go wrong or get lost in the friction in-between tools. Slow, manual processes waste a lot of potential. Potential at the most critical point in any business: Customer and employee relationships.
Many solutions pride themselves with doing one thing well. When it comes to collecting and _leveraging_ qualitative data, this isnt enough. You have to ask the right questions at the right time, draw correct conclusions and design actions based on your conclusions. In practice, many things go wrong or get lost in the friction in-between tools. Slow, manual processes waste a lot of potential. Potential at the most critical point in any business: Customer and employee relationships.
##
# How Formbricks will solve them
We took these insights back to the drawing board to come up with a better solution than snoopForms. Here is what we will focus on:
@@ -57,15 +61,14 @@ Our solutions bricks have to work as standalone solutions. The React Library nee
### 3. Core functionality first, end-to-end solutions second (long-term)
As touched upon above, bringing form creation, data handling, analysis and actions onto one *open* platform is the next big step forward for leveraging qualitative data for business success.
As touched upon above, bringing form creation, data handling, analysis and actions onto one _open_ platform is the next big step forward for leveraging qualitative data for business success.
Imagine your form tool understands the pain point from the NPS survey emailed to a customer after the previous purchase. It also understands the sentiment of the automatically triggered micro-survey this customer just filled out on your webshop. It can automatically design and send out a voucher addressing the pain point of this customer and increase conversion or basket size. Data silos and slow, manual processes are taken out of the equation replaced by a much more efficient (and potentially self-learning) system gathering and acting on qualitative data.
A collection of form functionality bricks build the foundation of the open form platform. On top, we'll build end-to-end solutions in close collaboration with our target customers to help them make the most out of their customer and employee relationships.
<HeroAnimation />
##
# Starting from scratch
## # Starting from scratch
It wasnt easy to go all the way to the start, but these are the reasons why we decided to start building from scratch. Even though the visual builder was so popular, we have to push it back until the foundation stands. It will be back, better than before 😊
@@ -76,6 +79,7 @@ Similarly, we are currently not ready to receive community contributions. We wan
This is how we're tackling the opportunity ahead of us:
### React Form Builder Library
The first step is building the React Form Builder into a full-fledged product. We take the best from existing solutions and add our years of experience of building forms in React to it. You will:
- Use our component-based approach to build forms rapidly (FormElement type="radio/checkbox/toggle/select/rating" etc.)
@@ -86,6 +90,7 @@ The first step is building the React Form Builder into a full-fledged product. W
- Get multi-pages incl. state management out of the box
### Core API
Alongside the React Form Builder we'll redesign our Core API. You'll be able to:
- Send any form to our API endpoint to view and manage submissions on [formbricks.com](/form-hq)
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 5.2 KiB

@@ -3,7 +3,9 @@ import LayoutMdx from "@/components/shared/LayoutMdx";
import { Callout } from "@/components/shared/Callout";
import { Logo } from "@/components/shared/Logo";
import TitleImage from "./title-image.png";
import HeaderImage from "./formbricks-logo.svg";
import ProprietaryDependence from "./propietary-dependence.jpeg";
import ResponsiveEmbed from "react-responsive-embed";
export const meta = {
title: "Why Open-Source + No-Code is the Future of Enterprise & Goverment Software",
@@ -12,7 +14,7 @@ export const meta = {
date: "2022-06-03",
};
<Image src={TitleImage} alt="Title Image" className="max-w-lg mx-auto rounded-lg" />
<Image src={TitleImage} alt="Title Image" className="rounded-lg" />
_Open source software (OSS) beats out proprietary software in every regard - except for value capturing. No-Code tools shorten the feedback loop between builders and consumers, kicking productivity through the roof. Here is why a no-code interface is cheatcode for OSS and why particularly large corporations and governments are to benefit the most._
@@ -22,15 +24,11 @@ Don't be fooled that money makes the world go 'round, it's open source software.
Here is a pretty cringy cartoon of what the world would be without Linux:
<iframe
width="560"
height="315"
className="mx-auto"
<ResponsiveEmbed
src="https://www.youtube-nocookie.com/embed/LOPLogACIT0"
title="YouTube video player"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture"
allowfullscreen></iframe>
allowfullscreen
className="rounded-lg"
/>
Enough of Linux.
@@ -46,11 +44,7 @@ The idea of making and selling proprietary software is simple: If you cannot see
OSS doesn't have these restrictions. Unlike cable TV, you know exactly what you're getting, because the source code is openly accessible. If you are unhappy with the integrations built by the community or company developing the tool, you can build your own. OSS is the monthly subscription you can cancel once you binge watched the whole library. **It's better for the consumer and this is why it's the winning model.**
<Image
src={ProprietaryDependence}
alt="Depend on proprietary software meme"
className="max-w-lg mx-auto rounded-lg"
/>
<Image src={ProprietaryDependence} alt="Depend on proprietary software meme" className="rounded-lg" />
But no lock-in is only one key advantage, **data ownership is equally important**. In times of GDPR, CCPA, YMCA, etc. owning your data is essential to be fully compliant. Currently, there a lot of legal uncertainty for European institutions to use any SaaS tool where data flows to servers located in the United States. You can neither use Google Analytics nor Zapier. The solution, in many cases, is to neither analyze nor automate. Governmental institutions or larger companies cannot afford the reputational risk and attached fines of being exposed as non-compliant with privacy legislation.
@@ -154,7 +148,7 @@ The OSS Renaissance is in full swing. The argument laid out above is just one of
---
<Logo width="300" />
<Image src={HeaderImage} alt="Formbricks - Open Source Forms & Surveys" className="" />
Finally good open source forms
@@ -172,7 +166,7 @@ We're developing an open source Typeform alternative to solve all form needs - f
[SpaceX Falcon](https://www.omgubuntu.co.uk/2018/08/interesting-facts-about-linux)
[90% of public cloud workload](https://www.cbtnuggets.com/blog/certifications/open source/why-linux-runs-90-percent-of-the-public-cloud-workload)
[90% of public cloud workload](https://www.cbtnuggets.com/blog/certifications/open-source/why-linux-runs-90-percent-of-the-public-cloud-workload)
[49% of public institutions use OSS](https://www.pro-linux.de/news/1/8810/die-haelfte-der-eu-aemter-arbeitet-mit-freier-software.html)
+172
View File
@@ -36,6 +36,8 @@ importers:
prism-react-renderer: ^1.3.5
react: 18.2.0
react-dom: 18.2.0
react-responsive-embed: ^2.1.0
remark-gfm: ^3.0.1
tailwindcss: ^3.2.1
typescript: 4.8.4
dependencies:
@@ -51,6 +53,8 @@ importers:
prism-react-renderer: 1.3.5_react@18.2.0
react: 18.2.0
react-dom: 18.2.0_react@18.2.0
react-responsive-embed: 2.1.0_sh5qlbywuemxd2y3xkrw2y2kr4
remark-gfm: 3.0.1
devDependencies:
'@tailwindcss/typography': 0.5.7_tailwindcss@3.2.1
'@types/node': 18.11.6
@@ -2966,6 +2970,11 @@ packages:
resolution: {integrity: sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==}
engines: {node: '>=10'}
/escape-string-regexp/5.0.0:
resolution: {integrity: sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==}
engines: {node: '>=12'}
dev: false
/eslint-config-next/13.0.0_wyqvi574yv7oiwfeinomdzmc3m:
resolution: {integrity: sha512-y2nqWS2tycWySdVhb+rhp6CuDmDazGySqkzzQZf3UTyfHyC7og1m5m/AtMFwCo5mtvDqvw1BENin52kV9733lg==}
peerDependencies:
@@ -4364,6 +4373,10 @@ packages:
engines: {node: '>=0.10.0'}
dev: false
/markdown-table/3.0.2:
resolution: {integrity: sha512-y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==}
dev: false
/mdast-util-definitions/5.1.1:
resolution: {integrity: sha512-rQ+Gv7mHttxHOBx2dkF4HWTg+EE+UR78ptQWDylzPKaQuVGdG4HIoY3SrS/pCp80nZ04greFvXbVFHT+uf0JVQ==}
dependencies:
@@ -4372,6 +4385,14 @@ packages:
unist-util-visit: 4.1.1
dev: false
/mdast-util-find-and-replace/2.2.1:
resolution: {integrity: sha512-SobxkQXFAdd4b5WmEakmkVoh18icjQRxGy5OWTCzgsLRm1Fu/KCtwD1HIQSsmq5ZRjVH0Ehwg6/Fn3xIUk+nKw==}
dependencies:
escape-string-regexp: 5.0.0
unist-util-is: 5.1.1
unist-util-visit-parents: 5.1.1
dev: false
/mdast-util-from-markdown/1.2.0:
resolution: {integrity: sha512-iZJyyvKD1+K7QX1b5jXdE7Sc5dtoTry1vzV28UZZe8Z1xVnB/czKntJ7ZAkG0tANqRnBF6p3p7GpU1y19DTf2Q==}
dependencies:
@@ -4391,6 +4412,62 @@ packages:
- supports-color
dev: false
/mdast-util-gfm-autolink-literal/1.0.2:
resolution: {integrity: sha512-FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==}
dependencies:
'@types/mdast': 3.0.10
ccount: 2.0.1
mdast-util-find-and-replace: 2.2.1
micromark-util-character: 1.1.0
dev: false
/mdast-util-gfm-footnote/1.0.1:
resolution: {integrity: sha512-p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==}
dependencies:
'@types/mdast': 3.0.10
mdast-util-to-markdown: 1.3.0
micromark-util-normalize-identifier: 1.0.0
dev: false
/mdast-util-gfm-strikethrough/1.0.2:
resolution: {integrity: sha512-T/4DVHXcujH6jx1yqpcAYYwd+z5lAYMw4Ls6yhTfbMMtCt0PHY4gEfhW9+lKsLBtyhUGKRIzcUA2FATVqnvPDA==}
dependencies:
'@types/mdast': 3.0.10
mdast-util-to-markdown: 1.3.0
dev: false
/mdast-util-gfm-table/1.0.6:
resolution: {integrity: sha512-uHR+fqFq3IvB3Rd4+kzXW8dmpxUhvgCQZep6KdjsLK4O6meK5dYZEayLtIxNus1XO3gfjfcIFe8a7L0HZRGgag==}
dependencies:
'@types/mdast': 3.0.10
markdown-table: 3.0.2
mdast-util-from-markdown: 1.2.0
mdast-util-to-markdown: 1.3.0
transitivePeerDependencies:
- supports-color
dev: false
/mdast-util-gfm-task-list-item/1.0.1:
resolution: {integrity: sha512-KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==}
dependencies:
'@types/mdast': 3.0.10
mdast-util-to-markdown: 1.3.0
dev: false
/mdast-util-gfm/2.0.1:
resolution: {integrity: sha512-42yHBbfWIFisaAfV1eixlabbsa6q7vHeSPY+cg+BBjX51M8xhgMacqH9g6TftB/9+YkcI0ooV4ncfrJslzm/RQ==}
dependencies:
mdast-util-from-markdown: 1.2.0
mdast-util-gfm-autolink-literal: 1.0.2
mdast-util-gfm-footnote: 1.0.1
mdast-util-gfm-strikethrough: 1.0.2
mdast-util-gfm-table: 1.0.6
mdast-util-gfm-task-list-item: 1.0.1
mdast-util-to-markdown: 1.3.0
transitivePeerDependencies:
- supports-color
dev: false
/mdast-util-mdx-expression/1.3.1:
resolution: {integrity: sha512-TTb6cKyTA1RD+1su1iStZ5PAv3rFfOUKcoU5EstUpv/IZo63uDX03R8+jXjMEhcobXnNOiG6/ccekvVl4eV1zQ==}
dependencies:
@@ -4515,6 +4592,79 @@ packages:
uvu: 0.5.6
dev: false
/micromark-extension-gfm-autolink-literal/1.0.3:
resolution: {integrity: sha512-i3dmvU0htawfWED8aHMMAzAVp/F0Z+0bPh3YrbTPPL1v4YAlCZpy5rBO5p0LPYiZo0zFVkoYh7vDU7yQSiCMjg==}
dependencies:
micromark-util-character: 1.1.0
micromark-util-sanitize-uri: 1.1.0
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
uvu: 0.5.6
dev: false
/micromark-extension-gfm-footnote/1.0.4:
resolution: {integrity: sha512-E/fmPmDqLiMUP8mLJ8NbJWJ4bTw6tS+FEQS8CcuDtZpILuOb2kjLqPEeAePF1djXROHXChM/wPJw0iS4kHCcIg==}
dependencies:
micromark-core-commonmark: 1.0.6
micromark-factory-space: 1.0.0
micromark-util-character: 1.1.0
micromark-util-normalize-identifier: 1.0.0
micromark-util-sanitize-uri: 1.1.0
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
uvu: 0.5.6
dev: false
/micromark-extension-gfm-strikethrough/1.0.4:
resolution: {integrity: sha512-/vjHU/lalmjZCT5xt7CcHVJGq8sYRm80z24qAKXzaHzem/xsDYb2yLL+NNVbYvmpLx3O7SYPuGL5pzusL9CLIQ==}
dependencies:
micromark-util-chunked: 1.0.0
micromark-util-classify-character: 1.0.0
micromark-util-resolve-all: 1.0.0
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
uvu: 0.5.6
dev: false
/micromark-extension-gfm-table/1.0.5:
resolution: {integrity: sha512-xAZ8J1X9W9K3JTJTUL7G6wSKhp2ZYHrFk5qJgY/4B33scJzE2kpfRL6oiw/veJTbt7jiM/1rngLlOKPWr1G+vg==}
dependencies:
micromark-factory-space: 1.0.0
micromark-util-character: 1.1.0
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
uvu: 0.5.6
dev: false
/micromark-extension-gfm-tagfilter/1.0.1:
resolution: {integrity: sha512-Ty6psLAcAjboRa/UKUbbUcwjVAv5plxmpUTy2XC/3nJFL37eHej8jrHrRzkqcpipJliuBH30DTs7+3wqNcQUVA==}
dependencies:
micromark-util-types: 1.0.2
dev: false
/micromark-extension-gfm-task-list-item/1.0.3:
resolution: {integrity: sha512-PpysK2S1Q/5VXi72IIapbi/jliaiOFzv7THH4amwXeYXLq3l1uo8/2Be0Ac1rEwK20MQEsGH2ltAZLNY2KI/0Q==}
dependencies:
micromark-factory-space: 1.0.0
micromark-util-character: 1.1.0
micromark-util-symbol: 1.0.1
micromark-util-types: 1.0.2
uvu: 0.5.6
dev: false
/micromark-extension-gfm/2.0.1:
resolution: {integrity: sha512-p2sGjajLa0iYiGQdT0oelahRYtMWvLjy8J9LOCxzIQsllMCGLbsLW+Nc+N4vi02jcRJvedVJ68cjelKIO6bpDA==}
dependencies:
micromark-extension-gfm-autolink-literal: 1.0.3
micromark-extension-gfm-footnote: 1.0.4
micromark-extension-gfm-strikethrough: 1.0.4
micromark-extension-gfm-table: 1.0.5
micromark-extension-gfm-tagfilter: 1.0.1
micromark-extension-gfm-task-list-item: 1.0.3
micromark-util-combine-extensions: 1.0.0
micromark-util-types: 1.0.2
dev: false
/micromark-extension-mdx-expression/1.0.3:
resolution: {integrity: sha512-TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==}
dependencies:
@@ -5559,6 +5709,17 @@ packages:
styled-tools: 1.7.2
dev: false
/react-responsive-embed/2.1.0_sh5qlbywuemxd2y3xkrw2y2kr4:
resolution: {integrity: sha512-GzvZ8i1ZRL4YRaTOfIeka5CQSc7mCIZVa0C7brJoA55EQ0A+EsFQT1YOvFVzKOVP33UqoKNMijI1PQ7UtO1Eeg==}
engines: {node: '>=6'}
peerDependencies:
prop-types: '>=15'
react: '>=15'
dependencies:
prop-types: 15.8.1
react: 18.2.0
dev: false
/react-toastify/9.0.8_biqbaboplfbrettd7655fr4n2y:
resolution: {integrity: sha512-EwM+teWt49HSHx+67qI08yLAW1zAsBxCXLCsUfxHYv1W7/R3ZLhrqKalh7j+kjgPna1h5LQMSMwns4tB4ww2yQ==}
peerDependencies:
@@ -5658,6 +5819,17 @@ packages:
resolution: {integrity: sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==}
engines: {node: '>=8'}
/remark-gfm/3.0.1:
resolution: {integrity: sha512-lEFDoi2PICJyNrACFOfDD3JlLkuSbOa5Wd8EPt06HUdptv8Gn0bxYTdbU/XXQ3swAPkEaGxxPN9cbnMHvVu1Ig==}
dependencies:
'@types/mdast': 3.0.10
mdast-util-gfm: 2.0.1
micromark-extension-gfm: 2.0.1
unified: 10.1.2
transitivePeerDependencies:
- supports-color
dev: false
/remark-mdx/2.1.5:
resolution: {integrity: sha512-A8vw5s+BgOa968Irt8BO7DfWJTE0Fe7Ge3hX8zzDB1DnwMZTNdK6qF2IcFao+/7nzk1vSysKcFp+3ku4vhMpaQ==}
dependencies: