diff --git a/.prettierignore b/.prettierignore index d2fc8b903..9ac5eb9dc 100644 --- a/.prettierignore +++ b/.prettierignore @@ -3,3 +3,5 @@ *.lock .cache/ public/ +node_modules/ +static/ diff --git a/.yarnrc b/.yarnrc index 7187efe0c..b9b495176 100644 --- a/.yarnrc +++ b/.yarnrc @@ -1 +1 @@ ---add.ignore-workspace-root-check=true +--add.ignore-workspace-root-check true diff --git a/contents/blog/the-posthog-array-1-21-0.mdx b/contents/blog/the-posthog-array-1-21-0.mdx index 94d5f48e4..f0cda4753 100644 --- a/contents/blog/the-posthog-array-1-21-0.mdx +++ b/contents/blog/the-posthog-array-1-21-0.mdx @@ -5,13 +5,12 @@ rootPage: /blog sidebar: Blog showTitle: true hideAnchor: true -categories: ["Release notes", "Product updates"] +categories: ['Release notes', 'Product updates'] featuredImage: ../images/blog/array/default.png featuredImageType: standard --- import { Link } from 'gatsby' -import { Button } from 'antd' Release 1.21 is a big one, on top of exciting new features and improvements, we put extra time into the overall stability of PostHog squashing dozens of issues. Some highlights of this release: @@ -25,11 +24,13 @@ We received a lot of great feedback and issue reports and over this release cycl Make sure to upgrade to get the new features, improvements and fixes. - - - +
+ +
+ + Install PostHog + +

@@ -383,4 +384,3 @@ In addition to the highlights listed above, we also merged a bunch of PRs improv - Enable SSL PostgreSQL configuration through env variables [\#2967](https://github.com/PostHog/posthog/pull/2967) ([tmilicic](https://github.com/tmilicic)) - diff --git a/contents/blog/the-posthog-array-1-22-0.mdx b/contents/blog/the-posthog-array-1-22-0.mdx index 6eadd15f6..0e5d278f4 100644 --- a/contents/blog/the-posthog-array-1-22-0.mdx +++ b/contents/blog/the-posthog-array-1-22-0.mdx @@ -11,7 +11,6 @@ featuredImageType: standard --- import { Link } from 'gatsby' -import { Button } from 'antd' PostHog 1.22 is out with awesome new features, usability and performance improvements, and the usual bug squashing. @@ -34,11 +33,13 @@ Thank you oshura3, we look forward to collaborating with you more! - **Improvement:** Better tooling for updating data in dashboards - **Improvement:** A whole new UX for individual person pages - - - +
+ +
+ + Try PostHog Cloud Now + +

diff --git a/contents/docs/api/post-only-endpoints.mdx b/contents/docs/api/post-only-endpoints.mdx index b97979d1b..6cff14bea 100644 --- a/contents/docs/api/post-only-endpoints.mdx +++ b/contents/docs/api/post-only-endpoints.mdx @@ -12,8 +12,6 @@ This page refers to our public endpoints, which use the same API key as the [Pos > **Note:** For this API, you should use your 'Project API Key' from the 'Project' page in PostHog. This is the same key used in your frontend snippet. - - # Sending events To send events to PostHog, you can use any of [our libraries](/docs/integrate/overview) **or** any Mixpanel library by changing the `api_host` setting to the address of your instance. @@ -162,74 +160,62 @@ curl -v -L --header "Content-Type: application/json" -d '{ ##### Responses ```js -{ - status: 1 +{ + status: 1 } ``` -**Meaning:** A `200: OK` response means we have successfully received the payload, it is in the correct format, and the project API key (token) is valid. It **does not** imply that events are valid and will be ingested. As mentioned under [Invalid events](#invalid-events), certain event validation errors may cause an event not to be ingested. - +**Meaning:** A `200: OK` response means we have successfully received the payload, it is in the correct format, and the project API key (token) is valid. It **does not** imply that events are valid and will be ingested. As mentioned under [Invalid events](#invalid-events), certain event validation errors may cause an event not to be ingested. #### Status code: 400 ##### Responses - ```js -{ - type: 'validation_error', - code: 'invalid_project', - detail: 'Invalid Project ID.', - attr: 'project_id' +{ + type: 'validation_error', + code: 'invalid_project', + detail: 'Invalid Project ID.', + attr: 'project_id' } ``` **Meaning:** We were unable to determine the project to associate the events with. - #### Status code: 401 ##### Responses - ```js -{ - type: 'authentication_error', - code: 'invalid_api_key', - detail: 'Project API key invalid. You can find your project API key in PostHog project settings.', +{ + type: 'authentication_error', + code: 'invalid_api_key', + detail: 'Project API key invalid. You can find your project API key in PostHog project settings.', } ``` **Meaning:** The token/API key you provided is invalid. -import { Divider } from 'antd' -
- - -
- - ```js -{ - type: 'authentication_error', - code: 'invalid_personal_api_key', - detail: 'Invalid Personal API key.', +{ + type: 'authentication_error', + code: 'invalid_personal_api_key', + detail: 'Invalid Personal API key.', } ``` -**Meaning:** The personal API key you used for authentication is invalid. +**Meaning:** The personal API key you used for authentication is invalid. #### Status code: 503 (Deprecated) ##### Responses - ```js -{ - type: 'server_error', - code: 'fetch_team_fail', +{ + type: 'server_error', + code: 'fetch_team_fail', detail: 'Unable to fetch team from database.' } ``` @@ -242,14 +228,13 @@ We perform basic validation on the payload and project API key (token), returnin However, we **will not return an error** to the client when the following happens: -- An event does not have a name -- An event does not have the `distinct_id` field set -- The `distinct_id` field of an event has an empty value +- An event does not have a name +- An event does not have the `distinct_id` field set +- The `distinct_id` field of an event has an empty value -The three cases above will cause the event to not be ingested, but you will still receive a `200: OK` response from us. - -This approach allows us to process events asynchronously if necessary, ensuring reliability and low latency for our event ingestion endpoints. +The three cases above will cause the event to not be ingested, but you will still receive a `200: OK` response from us. +This approach allows us to process events asynchronously if necessary, ensuring reliability and low latency for our event ingestion endpoints. # Feature flags diff --git a/contents/docs/integrate/ingest-historic-data.mdx b/contents/docs/integrate/ingest-historic-data.mdx index 6339fe47b..336c79bf4 100644 --- a/contents/docs/integrate/ingest-historic-data.mdx +++ b/contents/docs/integrate/ingest-historic-data.mdx @@ -4,9 +4,6 @@ sidebar: Docs showTitle: true --- -import { Tabs } from 'antd' -export const TabPane = Tabs.TabPane - Historical data ingestion (or importing data), opposed to [live data ingestion](/docs/integrate/ingest-live-data), is the process of transporting data from external sources into PostHog so you can benefit from PostHog product analytics on historical data. It may be that you have historical data that you want to analyze along with new live data or that you have a requirement to periodically import data from third-party sources to augment your live data. Whatever the reason for the historical data ingestion, this guide covers what to consider during that process. @@ -87,34 +84,46 @@ import GoCapture from './server/go/snippets/capture.mdx' import RubyCapture from './server/ruby/snippets/capture.mdx' import CURLCapture from './server/curl/snippets/capture.mdx' +import Tab from "components/Tab" + > The server libraries handle batching capture requests. If you decide to use the API directly you will need to manage this yourself. - - - -

For more information see the Node.js docs.

-
- - -

For more information see the python docs.

-
- - -

For more information see the PHP docs.

-
- - -

For more information see the Go docs.

-
- - -

For more information see the Ruby docs.

-
- - -

For more information see the API docs.

-
-
+ + + Node.js + Python + PHP + Go + Ruby + cURL + + + + +

For more information see the Node.js docs.

+
+ + +

For more information see the python docs.

+
+ + +

For more information see the PHP docs.

+
+ + +

For more information see the Go docs.

+
+ + +

For more information see the Ruby docs.

+
+ + +

For more information see the API docs.

+
+
+
## User identification @@ -127,29 +136,39 @@ import GoIdentify from './server/go/snippets/identify.mdx' import RubyIdentify from './server/ruby/snippets/identify.mdx' import CURLIdentify from './server/curl/snippets/identify.mdx' - - - -

For more information see the Node.js docs.

-
- - -

For more information see the Python docs.

-
- - -

For more information see the PHP docs.

-
- - -

For more information see the Go docs.

-
- - -

For more information see the Ruby docs.

-
- - -

For more information see the API docs.

-
-
\ No newline at end of file + + + Node.js + Python + PHP + Go + Ruby + cURL + + + + +

For more information see the Node.js docs.

+
+ + +

For more information see the Python docs.

+
+ + +

For more information see the PHP docs.

+
+ + +

For more information see the Go docs.

+
+ + +

For more information see the Ruby docs.

+
+ + +

For more information see the API docs.

+
+
+
diff --git a/contents/docs/integrate/ingest-live-data.mdx b/contents/docs/integrate/ingest-live-data.mdx index ef42358a6..86d281db3 100644 --- a/contents/docs/integrate/ingest-live-data.mdx +++ b/contents/docs/integrate/ingest-live-data.mdx @@ -4,9 +4,6 @@ sidebar: Docs showTitle: true --- -import { Tabs } from 'antd' -export const TabPane = Tabs.TabPane - PostHog enables you to analyze data in real-time, as events come in. Make full use of this power by ingesting live data with our analytics integrations: [client libraries](/docs/integrate/overview#client-libraries), [server libraries](/docs/integrate/overview#server-libraries), as well as [third-party platforms](/docs/integrate/overview#integrations). The purpose of this guide is to help you understand some key concepts with a goal of ingesting live data into PostHog. For simplicity, we'll focus on _client_ libraries as a means of data ingestion. @@ -37,27 +34,39 @@ import FlutterInstall from './client/flutter/snippets/install.mdx' import ReactNativeInstall from './client/react-native/snippets/install.mdx' import ReactNativeConfigure from './client/react-native/snippets/configure.mdx' - - - - - - - - - - - - - - - - - - - - - +import Tab from "components/Tab" + + + + JavaScript + Android + iOS + Flutter + React Native + + + + + + + + + + + + + + + + + + + + + + + + # Use autocapture @@ -76,26 +85,36 @@ import AndroidCapture from './client/android/snippets/capture.mdx' import IOSCapture from './client/ios/snippets/capture.mdx' import ReactNativeCapture from './client/react-native/snippets/capture.mdx' - - - - - - -

For more information see the Android capture docs.

-
- - -

For more information see the iOS capture docs.

-
- -

See the Flutter library docs for more information.

-
- - -

For more information see the React Native capture docs.

-
-
+ + + JavaScript + Android + iOS + Flutter + React Native + + + + + + + + +

For more information see the Android capture docs.

+
+ + +

For more information see the iOS capture docs.

+
+ +

See the Flutter library docs for more information.

+
+ + +

For more information see the React Native capture docs.

+
+
+
# Identify users @@ -104,33 +123,41 @@ import AndroidIdentify from './client/android/snippets/identify.mdx' import IOSIdentify from './client/ios/snippets/identify.mdx' import ReactNativeIdentify from './client/react-native/snippets/identify.mdx' - - - - - - - - - - - -

- See the Flutter library docs for more information. -

-
- - - -
+ + + JavaScript + Android + iOS + Flutter + React Native + + + + + + + + + + + + + +

See the Flutter library docs for more information.

+
+ + + +
+
# Event ingestion nuances It's a priority for us that events are fully processed and saved as soon as possible. However, there is a class of events which we _deliberately_ process with a slight delay. Specifically, an event is delayed by around a minute if it fits **all** of the following three conditions: -- isn't from an anonymous user (anonymous users are recognized by having the `distinct_id` the same as the `$device_id` property) -- isn't an `$identify` event (e.g. from `posthog.identify()`) -- its `distinct_id` cannot be matched to an existing person +- isn't from an anonymous user (anonymous users are recognized by having the `distinct_id` the same as the `$device_id` property) +- isn't an `$identify` event (e.g. from `posthog.identify()`) +- its `distinct_id` cannot be matched to an existing person This delay mechanism is called the **event buffer**, and it materially improves handling of an edge case which could otherwise inflate unique user counts. @@ -138,17 +165,17 @@ This delay mechanism is called the **event buffer**, and it materially improves How does the event buffer help? - Starting with version 1.38.0, PostHog stores the person associated with an event inline with the event record. This greatly improves query performance, but because events are immutable, it also means that persons can't be merged retroactively. See this scenario where that's problematic: +Starting with version 1.38.0, PostHog stores the person associated with an event inline with the event record. This greatly improves query performance, but because events are immutable, it also means that persons can't be merged retroactively. See this scenario where that's problematic: - 1. User visits signup page, in turn frontend captures anonymous `$pageview` for distinct ID `XYZ` (anonymous distinct ID = device ID). - This event gets person ID `A`. - 2. User click signup button, initiating in a backend request, in turn frontend captures anonymous `$autocapture` (click) for distinct ID `XYZ`. - This event gets person ID `A`. - 3. Signup request is processed in the backend, in turn backend captures identified signup for distinct ID `alice@example`.com. - OOPS! We haven't seen `alice@example.com` before, so this event gets person ID `B`. - 4. Signup request finishes successfully, in turn frontend captures identified $identify aliasing distinct ID `XYZ` to `alice@example.com`. - This event gets person ID `A`. +1. User visits signup page, in turn frontend captures anonymous `$pageview` for distinct ID `XYZ` (anonymous distinct ID = device ID). + This event gets person ID `A`. +2. User click signup button, initiating in a backend request, in turn frontend captures anonymous `$autocapture` (click) for distinct ID `XYZ`. + This event gets person ID `A`. +3. Signup request is processed in the backend, in turn backend captures identified signup for distinct ID `alice@example`.com. + OOPS! We haven't seen `alice@example.com` before, so this event gets person ID `B`. +4. Signup request finishes successfully, in turn frontend captures identified $identify aliasing distinct ID `XYZ` to `alice@example.com`. + This event gets person ID `A`. - Here, the event from step 3 got a new person ID `B`, impacting unique users counts. If it were delayed just a bit and processed after the event from step 4, all events would get the expected person ID `A`. This is exactly what the event buffer achieves. +Here, the event from step 3 got a new person ID `B`, impacting unique users counts. If it were delayed just a bit and processed after the event from step 4, all events would get the expected person ID `A`. This is exactly what the event buffer achieves. diff --git a/contents/docs/user-guides/group-analytics.mdx b/contents/docs/user-guides/group-analytics.mdx index a8cc8e009..63088cb91 100644 --- a/contents/docs/user-guides/group-analytics.mdx +++ b/contents/docs/user-guides/group-analytics.mdx @@ -85,9 +85,6 @@ The following examples use `company` as a group type and `id:5` as the group key > **Tip:** Use a singular form of the group type throughout ingestion -import { Tabs } from 'antd' -export const TabPane = Tabs.TabPane - import GroupsIngestionPosthogJs from './snippets/groups-ingestion-posthog-js.mdx' import GroupsIngestionPython from './snippets/groups-ingestion-python.mdx' import GroupsIngestionPHP from './snippets/groups-ingestion-php.mdx' @@ -96,29 +93,43 @@ import GroupsIngestionNode from './snippets/groups-ingestion-node.mdx' import GroupsIngestionSegment from './snippets/groups-ingestion-segment.mdx' import GroupsIngestionOther from './snippets/groups-ingestion-other.mdx' - - +import Tab from "components/Tab" + + + + JavaScript + Python + PHP + Go + Node.js + Segment + Other libraries + + + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + + ## Analysing group insights @@ -174,23 +185,22 @@ import GroupsFeatureFlagsPHP from './snippets/groups-flags-php.mdx' import GroupsFeatureFlagsGo from './snippets/groups-flags-go.mdx' import GroupsFeatureFlagsNode from './snippets/groups-flags-node.mdx' - - - - - - - - - - - - - - - - - + + + JavaScript + Python + PHP + Go + Node.js + + + + + + + + + ## Renaming group types @@ -213,6 +223,6 @@ Please [reach out](/slack) if you have feedback! Want to know more about what's possible with Groups in PostHog? Try these tutorials: -- [How to track how teams use your product](/tutorials/tracking-teams) +- [How to track how teams use your product](/tutorials/tracking-teams) -Want more? Check our [full list of PostHog tutorials](https://posthog.com/tutorials). +Want more? Check our [full list of PostHog tutorials](https://posthog.com/tutorials). diff --git a/contents/handbook/engineering/posthog-com/mdx-setup.mdx b/contents/handbook/engineering/posthog-com/mdx-setup.mdx index 87ecb2fb6..d6b5c7e53 100644 --- a/contents/handbook/engineering/posthog-com/mdx-setup.mdx +++ b/contents/handbook/engineering/posthog-com/mdx-setup.mdx @@ -43,15 +43,15 @@ In this case, we pass references to components that can then be used without imp Because of the components passed to `MDXProvider`, I can include this hedgehog by just adding `` in my MDX file - no import needed. -However, if I want to include something from a module, I can also do so. Here's how one would insert a spinner component from AntD: +However, if I want to include something from a module, I can also do so. Here's how one would insert a Transition component from Headless UI: ```js -import { Spin } from 'antd' +import { Transition } from '@headlessui/react' ## Some Markdown - +{/* ... */} ``` diff --git a/netlify.toml b/netlify.toml index fd4db37ff..f3f137c77 100644 --- a/netlify.toml +++ b/netlify.toml @@ -1481,14 +1481,23 @@ # Added: 2022-07-08 [[redirects]] from = "/startups" - to = "/pricing#startup-plan" + to = "/pricing" + +# Added: 2022-07-11 +[[redirects]] + from = "/trial" + to = "/pricing" + +# Added: 2022-07-12 +[[redirects]] + from = "/schedule-demo" + to = "/book-a-demo" # Added: 2022-07-14 [[redirects]] from = "/apps/airbyte-export/docs" to = "/docs/apps/airbyte-export" - # Added: 2022-07-14 [[redirects]] from = "/apps/amazon-kinesis/docs" diff --git a/package.json b/package.json index cdf003f6c..0efb1e141 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,8 @@ "@ant-design/icons": "^4.1.0", "@docsearch/react": "^3.0.0-alpha.42", "@fontsource/source-code-pro": "^4.5.4", - "@headlessui/react": "^1.4.0", + "@headlessui/react": "^1.6.6", + "@heroicons/react": "^1.0.6", "@mdx-js/mdx": "^1.6.19", "@mdx-js/react": "^1.6.22", "@popperjs/core": "^2.11.2", @@ -36,7 +37,6 @@ "@supabase/supabase-js": "^1.29.4", "@typescript-eslint/eslint-plugin": "^4.20.0", "@uiw/react-md-editor": "^3.9.5", - "antd": "^3.23.2", "chart.js": "^2.9.4", "chrome-aws-lambda": "^10.1.0", "cntl": "^1.0.0", @@ -149,6 +149,7 @@ "@types/chart.js": "^2.9.31", "@types/gatsby-plugin-breakpoints": "^1.3.2", "@types/mdx-js__react": "^1.5.3", + "@types/react": "^16.0.0", "@types/react-burger-menu": "^2.8.3", "@types/react-dom": "^18.0.6", "@types/react-helmet": "^6.1.0", diff --git a/src/components/APIDocs/Endpoint/index.tsx b/src/components/APIDocs/Endpoint/index.tsx deleted file mode 100644 index e49c42c04..000000000 --- a/src/components/APIDocs/Endpoint/index.tsx +++ /dev/null @@ -1,16 +0,0 @@ -import React from 'react' -import { MethodTags, method } from '../MethodTags' - -interface EndpointProps { - endpoint: string - allowedMethods: method[] -} - -export const Endpoint = ({ endpoint, allowedMethods }: EndpointProps) => { - return ( -
- -
{endpoint}
-
- ) -} diff --git a/src/components/APIDocs/MethodTags/index.tsx b/src/components/APIDocs/MethodTags/index.tsx deleted file mode 100644 index 17f0835e0..000000000 --- a/src/components/APIDocs/MethodTags/index.tsx +++ /dev/null @@ -1,30 +0,0 @@ -import React from 'react' -import { Tag } from 'antd' - -export type method = 'post' | 'put' | 'patch' | 'get' | 'delete' - -interface MethodTagsProps { - allowedMethods: method[] -} - -const methodToColor: Record = { - post: 'green', - patch: 'purple', - get: 'blue', - delete: 'red', - put: 'gold', -} - -const MethodTag = ({ method }: { method: method }) => { - return {method.toUpperCase()} -} - -export const MethodTags = ({ allowedMethods }: MethodTagsProps) => { - return ( - <> - {allowedMethods.map((method) => ( - - ))} - - ) -} diff --git a/src/components/CompensationCalculator/Combobox.tsx b/src/components/CompensationCalculator/Combobox.tsx new file mode 100644 index 000000000..730b4bc50 --- /dev/null +++ b/src/components/CompensationCalculator/Combobox.tsx @@ -0,0 +1,125 @@ +import React from 'react' +import { Combobox as HeadlessCombobox, Transition } from '@headlessui/react' +import { SelectorIcon, CheckIcon } from '@heroicons/react/outline' +import { classNames } from 'lib/utils' + +type ComboboxProps = { + label: string + placeholder?: string + options: any[] + value: any | undefined + onChange: (option: any | undefined) => void + display?: (option: any) => string +} + +export const Combobox = (props: ComboboxProps) => { + const [query, setQuery] = React.useState('') + const [focused, setFocused] = React.useState(false) + + const filteredOptions = + query === '' + ? props.options + : props.options.filter((option) => + option.toLowerCase().replace(/\s+/g, '').includes(query.replace(/\s+/g, '').toLowerCase()) + ) + + const currentValue = props.display ? props.display(props.value) : props.value + + return ( + { + props.onChange(value) + setQuery('') + }} + nullable + > + {({ open }) => ( + <> + {props.label} + + setFocused(false)} + onFocus={(event: React.FocusEvent) => { + event.target.value = '' + setFocused(true) + }} + onClick={(event: React.MouseEvent) => + ((event.target as HTMLInputElement).value = '') + } + onChange={(event) => setQuery(event.target.value)} + displayValue={props.display} + placeholder={currentValue || props.placeholder || 'Select a value'} + className={`relative block w-full text-left bg-white dark:bg-gray-accent-dark px-2.5 py-1.5 rounded border border-black/10 text-xs select-none focus-visible:outline-none focus:ring-1 focus:ring-orange focus:border-orange placeholder:text-gray-600 ${ + focused ? '' : 'cursor-pointer' + }`} + /> + + + + + + + + {filteredOptions.length === 0 && query !== '' ? ( +
No results
+ ) : ( + filteredOptions.map((option) => ( + ` + list-none px-2.5 cursor-pointer focus:outline-none text-xs py-1 + ${active ? 'bg-orange text-white' : ''} + `} + > + {({ selected, active }) => ( +
+ + {props.display ? props.display(option) : option} + + + {selected && ( + + + )} +
+ )} +
+ )) + )} +
+
+ + )} +
+ ) +} + +export default Combobox diff --git a/src/components/CompensationCalculator/index.tsx b/src/components/CompensationCalculator/index.tsx index eb0115f42..23a4697a8 100644 --- a/src/components/CompensationCalculator/index.tsx +++ b/src/components/CompensationCalculator/index.tsx @@ -1,166 +1,187 @@ -import React, { useState, useEffect } from 'react' +import React from 'react' +import { RadioGroup } from '@headlessui/react' +import Combobox from './Combobox' + import { locationFactor } from './compensation_data/location_factor' import { sfBenchmark } from './compensation_data/sf_benchmark' -import { Select, Statistic, Tag, Radio } from 'antd' import { levelModifier } from './compensation_data/level_modifier' import { stepModifier } from './compensation_data/step_modifier' import { currencyData } from './compensation_data/currency' -import 'antd/lib/select/style/css' -import 'antd/lib/statistic/style/css' -import 'antd/lib/tag/style/css' -import 'antd/lib/radio/style/css' -import './style.scss' - -const formatCur = (val: number, currency: string) => { +const formatCur = (val: number, currency = 'USD') => { currency = currencyData[currency] ? currency : 'USD' const formatter = new Intl.NumberFormat('en-US', { style: 'currency', currency, }) + return formatter.format(Math.round(val * (currencyData[currency] || 1))).replace('.00', '') } -export const CompensationCalculator = () => { - const [job, setJob] = useState('Full Stack Engineer') - const [country, setCountry] = useState('United States') - const [region, setRegion] = useState('San Francisco, California') - const [level, setLevel] = useState('Senior') - const [step, setStep] = useState('Thriving') +const Factor: React.FC = (props) => { + return ( +
+ {props.children} +
+ ) +} - useEffect(() => { - if (window) { - if (localStorage.getItem('job') && sfBenchmark[localStorage.getItem('job')]) - setJob(localStorage.getItem('job')) - if (localStorage.getItem('country')) setCountry(localStorage.getItem('country') || 'United States') - if (localStorage.getItem('region')) setRegion(localStorage.getItem('region') || 'San Francisco, California') - if (localStorage.getItem('level') && levelModifier[localStorage.getItem('level')]) - setLevel(localStorage.getItem('level') || 'Senior') - if (localStorage.getItem('step') && stepModifier[localStorage.getItem('step')]) - setStep(localStorage.getItem('step') || 'Thriving') +export const CompensationCalculator = () => { + const [job, setJob] = React.useState('Full Stack Engineer') + const [country, setCountry] = React.useState('United States') + const [region, setRegion] = React.useState('San Francisco, California') + const [level, setLevel] = React.useState('Senior') + const [step, setStep] = React.useState('Thriving') + + React.useEffect(() => { + if (typeof window !== undefined) { + const savedState: { + job?: string | null + country?: string | null + region?: string | null + level?: string | null + step?: string | null + } = JSON.parse(localStorage.getItem('posthog-saved-compensation') || '{}') + + if (savedState?.job && sfBenchmark[savedState.job]) { + setJob(savedState?.job || null) + } + + if (savedState?.country) { + setCountry(savedState?.country || null) + + if (savedState?.region) { + setRegion(savedState?.region || null) + } + } + + if (savedState?.level && levelModifier[savedState.level]) { + setLevel(savedState?.level || null) + } + + if (savedState?.step && stepModifier[savedState.step]) { + setRegion(savedState?.region || null) + } } }, []) - const unique = (arr: string[]) => Array.from(new Set(arr)) - const setItem = (type: string) => { - return (value: string | boolean) => { - if (type === 'job' && typeof value === 'string') setJob(value) - if (type === 'country' && typeof value === 'string') { + return (value: any) => { + if (type === 'job') setJob(value) + if (type === 'country') { setCountry(value) - setItem('region')(false) + setRegion(null) } - if (type === 'region') setRegion(String(value)) - if (type === 'level' && typeof value === 'string') { - setLevel(value) + if (type === 'region') setRegion(value) + if (type === 'level') setLevel(value) + if (type === 'step') setStep(value) + + const state = { + job, + country, + region, + level, + step, + [type]: value, } - if (type === 'step' && typeof value === 'string') setStep(value) - localStorage.setItem(type, String(value)) + + if (type === 'country') { + state.region = null + } + + localStorage.setItem('posthog-saved-compensation', JSON.stringify(state)) } } - const location = - country && - region && - region !== 'false' && - locationFactor.filter((location) => location.country === country && location.area === region)[0] - const calculatedLocationFactor = location.locationFactor + const findLocation = (country: string | null, region: string | null) => { + return region && country + ? locationFactor.find((location) => location.country === country && location.area === region) + : null + } - const countries = unique(locationFactor.map((l) => l.country)) + const currentLocation = findLocation(country, region) + + const countries = Array.from(new Set(locationFactor.map((l) => l.country))) return ( -
-

Select a role

- -

Country

- -

Region

- -

Level

- setItem('level')(e.target.value)} - > - {Object.entries(levelModifier).map(([level, modifier]) => ( - - {level} {modifier} - - ))} - -

Step

- - Base salary

} - value={ - job && country && region && location && typeof calculatedLocationFactor === 'number' +
+ + + `${step} ${stepModifier[step]?.[0]} - ${stepModifier[step]?.[1]}`} + /> + +
+ +
+ {job && country && region && currentLocation && level && step ? formatCur( sfBenchmark[job] * - calculatedLocationFactor * + currentLocation.locationFactor * levelModifier[level] * stepModifier[step][0], - location?.currency + currentLocation.currency ) + ' - ' + formatCur( sfBenchmark[job] * - calculatedLocationFactor * + currentLocation.locationFactor * levelModifier[level] * stepModifier[step][1], - location?.currency + currentLocation.currency ) + ' + equity' - : '--' - } - /> - {job && country && region && ( -
- SF Benchmark: {formatCur(sfBenchmark[job])} x{' '} - Location factor: {calculatedLocationFactor} x{' '} - Level modifier: {levelModifier[level]}x{' '} - - Step modifier: {stepModifier[step][0]} - {stepModifier[step][1]} - + : '--'}
- )} -
+ {job && country && currentLocation && level && step && ( +
+ SF Benchmark: {formatCur(sfBenchmark[job], currentLocation?.currency)}  + × + Location factor: {currentLocation?.locationFactor} × + Level modifier: {levelModifier[level]} × + + Step modifier: {stepModifier[step][0]} - {stepModifier[step][1]} + +
+ )} +
) } diff --git a/src/components/CompensationCalculator/style.scss b/src/components/CompensationCalculator/style.scss deleted file mode 100644 index 3ba5dd1a9..000000000 --- a/src/components/CompensationCalculator/style.scss +++ /dev/null @@ -1,31 +0,0 @@ -.compensation-calculator { - p { - padding: 0 !important; - margin-bottom: 0.25rem !important; - font-weight: 500 !important; - color: #000; - } - .ant-tag { - margin-right: 0; - } -} - -body.dark { - .compensation-calculator { - span { - color: rgb(58, 58, 58); - } - span.ant-statistic-content-value { - color: #d4d4d4; - } - .ant-radio-button-wrapper-checked { - background: #d7beff !important; - border-color: #d7beff !important; - box-shadow: none; - color: white; - } - p { - color: #fff; - } - } -} diff --git a/src/components/ContributorCard/index.tsx b/src/components/ContributorCard/index.tsx index a558cbd8a..86e968ce9 100644 --- a/src/components/ContributorCard/index.tsx +++ b/src/components/ContributorCard/index.tsx @@ -1,31 +1,26 @@ -import { Card, Col, Progress, Tag } from 'antd' -import { Spacer } from 'components/Spacer' -import { Link } from 'gatsby' import React from 'react' -import Tooltip from '../Tooltip' import { emojiKey } from './emojiKey' +import Tooltip from 'components/Tooltip' +import Link from 'components/Link' import tooltipIcon from './images/tooltip.svg' -interface ContributorCardStructureMeta { +type ContributorCardProps = { name: string + link: string imageSrc: string contributions: string[] mvpWins: number contributorLevel: number } -interface ContributorCardMeta extends ContributorCardStructureMeta { - link: string - onClick?: () => void | undefined -} - -const ContributorCardStructure = ({ +export const ContributorCard = ({ name, + link, imageSrc, contributions, mvpWins, contributorLevel, -}: ContributorCardStructureMeta) => { +}: ContributorCardProps) => { const handleTooltipContentClick = (e: React.MouseEvent, pageKey = '') => { if (window) { e.preventDefault() @@ -47,125 +42,77 @@ const ContributorCardStructure = ({ pageKey: string }) => ( - handleTooltipContentClick(e, pageKey)} className="tooltip-content"> - {children} - + handleTooltipContentClick(e, pageKey)}>{children} ) return ( - - - {mvpWins > 0 ? ( - -

- - {Array.from({ length: mvpWins }).map((_: any, i: number) => ( - 🏆 - ))} - -

-
- ) : null} - - contributor image - -

{name}

- -
- Level {contributorLevel} - - More info + + {mvpWins > 0 ? ( +
+ + {Array.from({ length: mvpWins }).map((_: any, i: number) => ( + 🏆 + ))} -
- = 50 ? 50 : (100 * contributorLevel) / 50} - className="progress-bar rounded-full overflow-hidden bg-gray-accent-light" - showInfo={false} - /> - + + ) : null} +
+
+ contributor image -
- Powers - - More info{name}
+
+ +
+
+ Level {contributorLevel} + + More info + +
+ +
+
= 50 ? 50 : (100 * contributorLevel) / 50}%` }} + className="absolute left-0 inset-y-0 h-full bg-gradient-to-r from-[#F1A82C] to-orange" /> - - +
+
- -

- {contributions.map((key) => ( - - - {emojiKey[key].symbol} - {' '} - - ))} -

- - +
+
+ Powers + + More info + +
+ +
+ {contributions.map((key) => ( + + + {emojiKey[key].symbol} + {' '} + + ))} +
+
+
+ ) } -export const ContributorCard = ({ - name, - link, - imageSrc, - onClick, - contributions, - mvpWins, - contributorLevel, -}: ContributorCardMeta) => { - const ContributorDetails = () => ( - - ) - - return ( -
- {onClick ? ( - - - - ) : link.includes('.') ? ( - - - - ) : ( - - - - )} -
- ) -} +export default ContributorCard diff --git a/src/components/ContributorSearch/index.tsx b/src/components/ContributorSearch/index.tsx index 7036eba77..deb1acb52 100644 --- a/src/components/ContributorSearch/index.tsx +++ b/src/components/ContributorSearch/index.tsx @@ -1,17 +1,38 @@ import React from 'react' -import { Input } from 'antd' import { useActions } from 'kea' import { contributorsLogic } from 'logic/contributorsLogic' export const ContributorSearch = () => { const { processSearchInput } = useActions(contributorsLogic) + return ( -
- +
+ + + + + + + + + + +
+ processSearchInput(e.target.value)} + name="contributor-search" + placeholder="Search contributors..." + autoFocus={true} + className="pl-10 py-3 text-base bg-white dark:bg-gray-accent-dark rounded-full w-full ring-red shadow-lg shadow-[0_100px_80px_0_rgba(0,0,0,0.07),0px_14.5036px_24.1177px_rgba(0,0,0,0.0395839),0_6.68266px_10.0172px_rgba(0,0,0,0.0291065),0_4.88627px_3.62304px_rgba(0,0,0,0.0214061)]" /> + +
) } diff --git a/src/components/Layout/Fonts.scss b/src/components/Layout/Fonts.scss index 3913293d9..43eb8143b 100644 --- a/src/components/Layout/Fonts.scss +++ b/src/components/Layout/Fonts.scss @@ -2,9 +2,9 @@ font-family: 'MatterVF'; /* LOCAL DEVELOPMENT */ // src: url('/fonts/MatterSQVF.woff') format('woff supports variations'), - // url('/fonts/MatterSQVF.woff') format('woff-variations'), - // url('/fonts/MatterSQVF.woff2') format('woff2 supports variations'), - // url('/fonts/MatterSQVF.woff2') format('woff2-variations'); + // url('/fonts/MatterSQVF.woff') format('woff-variations'), + // url('/fonts/MatterSQVF.woff2') format('woff2 supports variations'), + // url('/fonts/MatterSQVF.woff2') format('woff2-variations'); /* PRODUCTION */ @@ -24,9 +24,9 @@ font-family: 'MatterVF'; /* LOCAL DEVELOPMENT */ // src: url('/fonts/MatterSQItalicVF.woff') format('woff supports variations'), - // url('/fonts/MatterSQItalicVF.woff') format('woff-variations'), - // url('/fonts/MatterSQItalicVF.woff2') format('woff2 supports variations'), - // url('/fonts/MatterSQItalicVF.woff2') format('woff2-variations'); + // url('/fonts/MatterSQItalicVF.woff') format('woff-variations'), + // url('/fonts/MatterSQItalicVF.woff2') format('woff2 supports variations'), + // url('/fonts/MatterSQItalicVF.woff2') format('woff2-variations'); /* PRODUCTION */ src: url('//d27nj4tzr3d5tm.cloudfront.net/Website-Assets/Fonts/Matter/MatterSQItalicVF.woff2') diff --git a/src/components/PostCard/PostCard.tsx b/src/components/PostCard/PostCard.tsx index 0a6eabdb4..c12da8826 100644 --- a/src/components/PostCard/PostCard.tsx +++ b/src/components/PostCard/PostCard.tsx @@ -1,4 +1,3 @@ -import 'antd/lib/card/style/css' import Byline from 'components/Blog/BlogAuthor/Byline' import { graphql, Link, useStaticQuery } from 'gatsby' import { GatsbyImage, IGatsbyImageData } from 'gatsby-plugin-image' diff --git a/src/components/Spinner/index.tsx b/src/components/Spinner/index.tsx new file mode 100644 index 000000000..6a18d31e2 --- /dev/null +++ b/src/components/Spinner/index.tsx @@ -0,0 +1,23 @@ +import React from 'react' +type SpinnerProps = { + className?: string +} + +export const Spinner = ({ className }: SpinnerProps) => { + return ( + + + + + + + + ) +} + +export default Spinner diff --git a/src/components/Tab/index.tsx b/src/components/Tab/index.tsx new file mode 100644 index 000000000..29afd821b --- /dev/null +++ b/src/components/Tab/index.tsx @@ -0,0 +1,56 @@ +import React from 'react' +import { Tab as HeadlessTab } from '@headlessui/react' +import { classNames } from 'lib/utils' + +export const Tab: React.FC & { + Group: typeof HeadlessTab.Group + List: typeof HeadlessTab.List + Panels: typeof HeadlessTab.Panels + Panel: typeof HeadlessTab.Panel +} = ({ children }) => { + return ( + + classNames( + selected ? 'bg-red text-white' : 'bg-white dark:bg-gray-accent-dark', + 'px-4 py-1.5 rounded shadow-sm text-sm font-medium whitespace-nowrap' + ) + } + > + {children} + + ) +} + +const TabGroup: typeof HeadlessTab.Group = ({ children }) => { + return ( + + {children} + + ) +} + +TabGroup.displayName = 'TabGroup' + +const TabList: typeof HeadlessTab.List = ({ children, className, ...props }) => { + return ( + + {children} + + ) +} + +TabList.displayName = 'TabList' + +const TabPanels: typeof HeadlessTab.Panels = ({ children }) => { + return {children} +} + +TabPanels.displayName = 'TabPanels' + +Tab.Group = TabGroup +Tab.List = TabList +Tab.Panel = HeadlessTab.Panel +Tab.Panels = TabPanels + +export default Tab diff --git a/src/components/Tooltip/index.tsx b/src/components/Tooltip/index.tsx index 2b7c2e643..830a099f0 100644 --- a/src/components/Tooltip/index.tsx +++ b/src/components/Tooltip/index.tsx @@ -13,7 +13,7 @@ export default function Tooltip({ children, title }: { children: JSX.Element; ti })} { return String(a) } +export const classNames = (...classes: (string | null | undefined)[]) => { + return classes.filter(Boolean).join(' ') +} + export const getPluginImageSrc = (plugin: LibraryPluginType) => plugin.imageLink ? plugin.imageLink @@ -72,6 +76,7 @@ export const scrollWithOffset = (id: string, offset: number) => { // tests email address for RFC 5322 compliance export function isValidEmailAddress(email: string): boolean { - const re = /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + const re = + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ return re.test(String(email).toLowerCase()) } diff --git a/src/mdxGlobalComponents.js b/src/mdxGlobalComponents.js index 1e158c44d..40e2f1752 100644 --- a/src/mdxGlobalComponents.js +++ b/src/mdxGlobalComponents.js @@ -1,7 +1,5 @@ // AUTO GENERATED FILE -import { Endpoint } from './components/APIDocs/Endpoint' -import { MethodTags } from './components/APIDocs/MethodTags' import { Accordion } from './components/Accordion' import { AnchorScrollNavbar } from './components/AnchorScrollNavbar' import { AnimateIntoView } from './components/AnimateIntoView' @@ -96,10 +94,12 @@ import { FeaturedSectionTextRight } from './components/Sections/FeaturedSectionT import { FeaturedSectionTripleImage } from './components/Sections/FeaturedSectionTripleImage' import { SliderNav } from './components/SliderNav' import { Spacer } from './components/Spacer' +import { Spinner } from './components/Spinner' import { StarRepoButton } from './components/StarRepoButton' import { StarUsBanner } from './components/StarUsBanner' import { Structure } from './components/Structure' import { Subscribe } from './components/Subscribe' +import { Tab } from './components/Tab' import { TeamQuote } from './components/TeamQuote' import { Tooltip } from './components/Tooltip' import { TotalCountries } from './components/TotalCountries' @@ -112,8 +112,6 @@ import { WorkableSnippet } from './components/WorkableSnippet' import { ZoomImage } from './components/ZoomImage' export const shortcodes = { - Endpoint, - MethodTags, Accordion, AnchorScrollNavbar, AnimateIntoView, @@ -208,10 +206,12 @@ export const shortcodes = { FeaturedSectionTripleImage, SliderNav, Spacer, + Spinner, StarRepoButton, StarUsBanner, Structure, Subscribe, + Tab, TeamQuote, Tooltip, TotalCountries, diff --git a/src/pages/contributors.tsx b/src/pages/contributors.tsx index 0eaca95dd..f269cc978 100644 --- a/src/pages/contributors.tsx +++ b/src/pages/contributors.tsx @@ -1,31 +1,19 @@ -import React, { useState } from 'react' -import Layout from '../components/Layout' -import { Spacer } from '../components/Spacer' -import { Row, Tabs, Spin } from 'antd' -import { useActions, useValues } from 'kea' +import React from 'react' +import Layout from 'components/Layout' +import { Spacer } from 'components/Spacer' +import { useValues } from 'kea' import { contributorsLogic } from '../logic/contributorsLogic' -import { SEO } from '../components/seo' +import { SEO } from 'components/seo' import pluginLibraryOgImage from '../images/posthog-plugins.png' import { ContributorCard } from 'components/ContributorCard' import { Contributor } from 'types' import { ContributorSearch } from 'components/ContributorSearch' import { ContributorsChart } from 'components/ContributorsChart' - -import 'antd/lib/input/style/css' - -const { TabPane } = Tabs +import Tab from 'components/Tab' +import Spinner from 'components/Spinner' export const ContributorsPage = () => { - const { setSearchQuery } = useActions(contributorsLogic) const { filteredContributors, contributorsLoading } = useValues(contributorsLogic) - const [activeTab, setActiveTab] = useState('list') - - const handleTabClick = (newTab: string) => { - setActiveTab(newTab) - if (newTab === 'list') { - setSearchQuery('') - } - } return (
@@ -38,39 +26,44 @@ export const ContributorsPage = () => {

Contributors

- handleTabClick(key)}> - - - - + + + List + Stats + - {activeTab === 'list' ? ( - <> - - - - {contributorsLoading ? ( - - ) : ( - <> - {filteredContributors.map((contributor: Contributor) => ( - - ))} - - )} - - - ) : ( - - )} + + +
+ + + {contributorsLoading ? ( + + ) : ( +
+ {filteredContributors.map((contributor: Contributor) => ( + + ))} +
+ )} +
+
+ + + + +
+
+ +
diff --git a/src/pages/schedule-demo.tsx b/src/pages/schedule-demo.tsx deleted file mode 100644 index 4b6ccaea8..000000000 --- a/src/pages/schedule-demo.tsx +++ /dev/null @@ -1,19 +0,0 @@ -import React from 'react' -import Layout from '../components/Layout' -import { Spacer } from '../components/Spacer' -import './styles/yc-onboarding.scss' -import { SEO } from '../components/seo' -import Contact from 'components/Contact' - -export const ScheduleDemo = () => ( - - -
- -

Get in touch

- -
-
-) - -export default ScheduleDemo diff --git a/src/pages/slack.js b/src/pages/slack.tsx similarity index 50% rename from src/pages/slack.js rename to src/pages/slack.tsx index 0c3041504..0936ec167 100644 --- a/src/pages/slack.js +++ b/src/pages/slack.tsx @@ -1,18 +1,18 @@ import React, { useEffect, useState } from 'react' -import { Spin } from 'antd' -import queryString from 'query-string' -import { SEO } from '../components/seo' +import Spinner from 'components/Spinner' +import { SEO } from 'components/seo' function Slack() { /* This component will redirect the user to the Slack users group. */ - const [source, setSource] = useState(null) + const [source, setSource] = useState(null) const slackUrl = 'https://join.slack.com/t/posthogusers/shared_invite/zt-1chf8vjjr-uyu88Xvsu1cSEi3ILFqSqw' useEffect(() => { - const { s } = queryString.parse(location.search) + const s = new URLSearchParams(window.location.search).get('s') setSource(s) + /* Wait for any UTM tags to be registered in a $pageview, - we wait a few more seconds if the user is coming from app so + we wait a few more seconds if the user is coming from app so they can read the additional instructions. */ const waitTime = s === 'app' ? 5000 : 1000 @@ -22,22 +22,17 @@ function Slack() { return ( <> -
-

We're redirecting you to Slack.

+
+

We're redirecting you to Slack.

+ {source === 'app' && ( -
- Remember to use the{' '} - - same email you used to sign up - {' '} +
+ Remember to use the same email you used to sign up in the PostHog app.
)} -
- -
+ +
) diff --git a/src/pages/styles/yc-onboarding.scss b/src/pages/styles/yc-onboarding.scss deleted file mode 100644 index c18be9895..000000000 --- a/src/pages/styles/yc-onboarding.scss +++ /dev/null @@ -1,15 +0,0 @@ -.get-in-touch-wrapper { - p { - margin: 0 auto 1em auto; - font-size: 15px !important; - max-width: 36rem; - display: block; - text-align: center; - } - - @media screen and (max-width: 767px) { - p { - max-width: 90%; - } - } -} diff --git a/src/pages/trial.js b/src/pages/trial.js deleted file mode 100644 index be7ed780e..000000000 --- a/src/pages/trial.js +++ /dev/null @@ -1,60 +0,0 @@ -import React from 'react' -import { Link } from 'gatsby' -import Layout from '../components/Layout' -import { Row, Col, Button, Icon } from 'antd' -import { SEO } from '../components/seo' -import './styles/trial.scss' - -const TrialPage = () => ( - -
-
- - - -

Try PostHog - free for 30 days

- -
- - -

- Cloud -

-

Just create an account.

-

- Select this option if you want to quickly try the PostHog features and don't want to worry - about installing it yourself. -

-

- - - -

- - -

- Open Source -

-

Host your own instance.

-

- Select this option if you want to install our open source platform on your own - infrastructure. -

-

- - - -

- -
- -
-
-
-) - -export default TrialPage diff --git a/src/pages/yc-onboarding.js b/src/pages/yc-onboarding.tsx similarity index 86% rename from src/pages/yc-onboarding.js rename to src/pages/yc-onboarding.tsx index fff940767..9c0170b85 100644 --- a/src/pages/yc-onboarding.js +++ b/src/pages/yc-onboarding.tsx @@ -3,8 +3,6 @@ import Layout from '../components/Layout' import { DemoScheduler } from '../components/DemoScheduler' import { Spacer } from '../components/Spacer' import { Link } from 'gatsby' -import { Button } from 'antd' -import './styles/yc-onboarding.scss' const DemoCallInfo = () => ( <> @@ -38,17 +36,12 @@ export const YCOnboarding = () => { const [showInfo, setShowInfo] = useState(false) return ( -
+

PostHog YC Onboarding

- + {showInfo ? : null} diff --git a/src/templates/ApiEndpoint.js b/src/templates/ApiEndpoint.js index 0c3027010..75036b58e 100644 --- a/src/templates/ApiEndpoint.js +++ b/src/templates/ApiEndpoint.js @@ -1,4 +1,3 @@ -import { Button, Select } from 'antd' import { Link } from 'react-scroll' import Scrollspy from 'react-scrollspy' import '@fontsource/source-code-pro' @@ -6,7 +5,6 @@ import CodeBlock from 'components/Home/CodeBlock' import Layout from 'components/Layout' import { SEO } from 'components/seo' import 'core-js/features/array/at' -import 'core-js/features/string/replace-all' import { graphql } from 'gatsby' import { getCookie, setCookie } from 'lib/utils' import * as OpenAPISampler from 'openapi-sampler' @@ -15,6 +13,8 @@ import React, { useEffect, useRef, useState } from 'react' import { push as Menu } from 'react-burger-menu' import ReactMarkdown from 'react-markdown' import '../styles/api-docs.scss' +import { Listbox } from '@headlessui/react' +import { SelectorIcon } from '@heroicons/react/outline' import MainSidebar from 'components/Docs/MainSidebar' import Navigation from 'components/Docs/Navigation' import SectionLinks from 'components/SectionLinks' @@ -285,9 +285,9 @@ function ResponseBody({ item, objects }) { <>

Response

- +
{showResponse && ( param.in === 'query') return ( <> -
+
{item.httpVerb.toUpperCase()} {path}
- + + + + {exampleLanguage} + + + + {['curl', 'python'].map((option) => ( + + `${selected ? 'font-semibold' : ''} ${ + active ? 'bg-orange text-white' : 'text-gray-accent-dark' + } w-full pl-3 pr-6 cursor-pointer` + } + > + {option} + + ))} + +
{exampleLanguage === 'curl' && ( diff --git a/yarn.lock b/yarn.lock index b78f5872b..fff48b6ef 100644 --- a/yarn.lock +++ b/yarn.lock @@ -132,13 +132,6 @@ dependencies: "@jridgewell/trace-mapping" "^0.3.0" -"@ant-design/colors@^3.1.0": - version "3.2.2" - resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-3.2.2.tgz#5ad43d619e911f3488ebac303d606e66a8423903" - integrity sha512-YKgNbG2dlzqMhA9NtI3/pbY16m3Yl/EeWBRa+lB1X1YaYxHrxNexiQYCLTWO/uDvAjLFMEDU+zR901waBtMtjQ== - dependencies: - tinycolor2 "^1.4.1" - "@ant-design/colors@^6.0.0": version "6.0.0" resolved "https://registry.yarnpkg.com/@ant-design/colors/-/colors-6.0.0.tgz#9b9366257cffcc47db42b9d0203bb592c13c0298" @@ -146,27 +139,6 @@ dependencies: "@ctrl/tinycolor" "^3.4.0" -"@ant-design/create-react-context@^0.2.4": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@ant-design/create-react-context/-/create-react-context-0.2.5.tgz#f5f5a9163b4772097712837397ad30e22e79f858" - integrity sha512-1rMAa4qgP2lfl/QBH9i78+Gjxtj9FTMpMyDGZsEBW5Kih72EuUo9958mV8PgpRkh4uwPSQ7vVZWXeyNZXVAFDg== - dependencies: - gud "^1.0.0" - warning "^4.0.3" - -"@ant-design/css-animation@^1.7.2": - version "1.7.3" - resolved "https://registry.yarnpkg.com/@ant-design/css-animation/-/css-animation-1.7.3.tgz#60a1c970014e86b28f940510d69e503e428f1136" - integrity sha512-LrX0OGZtW+W6iLnTAqnTaoIsRelYeuLZWsrmBJFUXDALQphPsN8cE5DCsmoSlL0QYb94BQxINiuS70Ar/8BNgA== - -"@ant-design/icons-react@~2.0.1": - version "2.0.1" - resolved "https://registry.yarnpkg.com/@ant-design/icons-react/-/icons-react-2.0.1.tgz#17a2513571ab317aca2927e58cea25dd31e536fb" - integrity sha512-r1QfoltMuruJZqdiKcbPim3d8LNsVPB733U0gZEUSxBLuqilwsW28K2rCTWSMTjmFX7Mfpf+v/wdiFe/XCqThw== - dependencies: - "@ant-design/colors" "^3.1.0" - babel-runtime "^6.26.0" - "@ant-design/icons-svg@^4.2.1": version "4.2.1" resolved "https://registry.yarnpkg.com/@ant-design/icons-svg/-/icons-svg-4.2.1.tgz#8630da8eb4471a4aabdaed7d1ff6a97dcb2cf05a" @@ -183,11 +155,6 @@ classnames "^2.2.6" rc-util "^5.9.4" -"@ant-design/icons@~2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@ant-design/icons/-/icons-2.1.1.tgz#7b9c08dffd4f5d41db667d9dbe5e0107d0bd9a4a" - integrity sha512-jCH+k2Vjlno4YWl6g535nHR09PwCEmTBKAG6VqF+rhkrSPRLfgpU2maagwbZPLjaHuU5Jd1DFQ2KJpQuI6uG8w== - "@ardatan/aggregate-error@0.0.6": version "0.0.6" resolved "https://registry.yarnpkg.com/@ardatan/aggregate-error/-/aggregate-error-0.0.6.tgz#fe6924771ea40fc98dc7a7045c2e872dc8527609" @@ -1795,10 +1762,15 @@ dependencies: "@hapi/hoek" "^9.0.0" -"@headlessui/react@^1.4.0": - version "1.5.0" - resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.5.0.tgz#483b44ba2c8b8d4391e1d2c863898d7dd0cc0296" - integrity sha512-aaRnYxBb3MU2FNJf3Ut9RMTUqqU3as0aI1lQhgo2n9Fa67wRu14iOGqx93xB+uMNVfNwZ5B3y/Ndm7qZGuFeMQ== +"@headlessui/react@^1.6.6": + version "1.6.6" + resolved "https://registry.yarnpkg.com/@headlessui/react/-/react-1.6.6.tgz#3073c066b85535c9d28783da0a4d9288b5354d0c" + integrity sha512-MFJtmj9Xh/hhBMhLccGbBoSk+sk61BlP6sJe4uQcVMtXZhCgGqd2GyIQzzmsdPdTEWGSF434CBi8mnhR6um46Q== + +"@heroicons/react@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@heroicons/react/-/react-1.0.6.tgz#35dd26987228b39ef2316db3b1245c42eb19e324" + integrity sha512-JJCXydOFWMDpCP4q13iEplA503MQO3xLoZiKum+955ZCtHINWnx26CUxVxxFQu/uLb4LW3ge15ZpzIkXKkJ8oQ== "@humanwhocodes/config-array@^0.5.0": version "0.5.0" @@ -4369,13 +4341,6 @@ hoist-non-react-statics "^3.3.0" redux "^4.0.0" -"@types/react-slick@^0.23.4": - version "0.23.8" - resolved "https://registry.yarnpkg.com/@types/react-slick/-/react-slick-0.23.8.tgz#91654e657158da57f082c7b213e20756d3a37502" - integrity sha512-SfzSg++/3uyftVZaCgHpW+2fnJFsyJEQ/YdsuqfOWQ5lqUYV/gY/UwAnkw4qksCj5jalto/T5rKXJ8zeFldQeA== - dependencies: - "@types/react" "*" - "@types/react-syntax-highlighter@11.0.5": version "11.0.5" resolved "https://registry.yarnpkg.com/@types/react-syntax-highlighter/-/react-syntax-highlighter-11.0.5.tgz#0d546261b4021e1f9d85b50401c0a42acb106087" @@ -4392,6 +4357,15 @@ "@types/scheduler" "*" csstype "^3.0.2" +"@types/react@^16.0.0": + version "16.14.28" + resolved "https://registry.yarnpkg.com/@types/react/-/react-16.14.28.tgz#073258f3fe7bb80c748842c1f93aeaafe16dffad" + integrity sha512-83zBE6+XUVXsdL3iFzOyUewdauaU+KviKCHEGOgSW52coAuqW7tEKQM0E9+ZC0Zk6TELQ2/JgogPvp7FavzFwg== + dependencies: + "@types/prop-types" "*" + "@types/scheduler" "*" + csstype "^3.0.2" + "@types/responselike@*", "@types/responselike@^1.0.0": version "1.0.0" resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29" @@ -5051,13 +5025,6 @@ acorn@^8.0.0, acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0: resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== -add-dom-event-listener@^1.1.0: - version "1.1.0" - resolved "https://registry.yarnpkg.com/add-dom-event-listener/-/add-dom-event-listener-1.1.0.tgz#6a92db3a0dd0abc254e095c0f1dc14acbbaae310" - integrity sha512-WCxx1ixHT0GQU9hb0KI/mhgRQhnU+U3GvwY6ZvVjYq8rsihIGoaIOUbY0yMPBxLH5MDtr0kz3fisWGNcbWW7Jw== - dependencies: - object-assign "4.x" - address@1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/address/-/address-1.0.3.tgz#b5f50631f8d6cec8bd20c963963afb55e06cbce9" @@ -5269,66 +5236,6 @@ ansi-to-html@^0.6.11: dependencies: entities "^2.0.0" -antd@^3.23.2: - version "3.26.20" - resolved "https://registry.yarnpkg.com/antd/-/antd-3.26.20.tgz#f3f570efaaa5950a144942f21eb2aaaa088e9407" - integrity sha512-VIous4ofZfxFtd9K1h9MpRX2sDDpj3QcOFi3YgIc9B/uyDli/GlLb8SWKfQfJaMkaxwatIv503dag2Tog+hiEg== - dependencies: - "@ant-design/create-react-context" "^0.2.4" - "@ant-design/icons" "~2.1.1" - "@ant-design/icons-react" "~2.0.1" - "@types/react-slick" "^0.23.4" - array-tree-filter "^2.1.0" - babel-runtime "6.x" - classnames "~2.2.6" - copy-to-clipboard "^3.2.0" - css-animation "^1.5.0" - dom-closest "^0.2.0" - enquire.js "^2.1.6" - is-mobile "^2.1.0" - lodash "^4.17.13" - moment "^2.24.0" - omit.js "^1.0.2" - prop-types "^15.7.2" - raf "^3.4.1" - rc-animate "^2.10.2" - rc-calendar "~9.15.7" - rc-cascader "~0.17.4" - rc-checkbox "~2.1.6" - rc-collapse "~1.11.3" - rc-dialog "~7.6.0" - rc-drawer "~3.1.1" - rc-dropdown "~2.4.1" - rc-editor-mention "^1.1.13" - rc-form "^2.4.10" - rc-input-number "~4.5.0" - rc-mentions "~0.4.0" - rc-menu "~7.5.1" - rc-notification "~3.3.1" - rc-pagination "~1.20.11" - rc-progress "~2.5.0" - rc-rate "~2.5.0" - rc-resize-observer "^0.1.0" - rc-select "~9.2.0" - rc-slider "~8.7.1" - rc-steps "~3.5.0" - rc-switch "~1.9.0" - rc-table "~6.10.5" - rc-tabs "~9.7.0" - rc-time-picker "~3.7.1" - rc-tooltip "~3.7.3" - rc-tree "~2.1.0" - rc-tree-select "~2.9.1" - rc-trigger "^2.6.2" - rc-upload "~2.9.1" - rc-util "^4.16.1" - react-lazy-load "^3.0.13" - react-lifecycles-compat "^3.0.4" - react-slick "~0.25.2" - resize-observer-polyfill "^1.5.1" - shallowequal "^1.1.0" - warning "~4.0.3" - any-base@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/any-base/-/any-base-1.1.0.tgz#ae101a62bc08a597b4c9ab5b7089d456630549fe" @@ -5494,11 +5401,6 @@ array-reduce@~0.0.0: resolved "https://registry.yarnpkg.com/array-reduce/-/array-reduce-0.0.0.tgz#173899d3ffd1c7d9383e4479525dbe278cab5f2b" integrity sha1-FziZ0//Rx9k4PkR5Ul2+J4yrXys= -array-tree-filter@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/array-tree-filter/-/array-tree-filter-2.1.0.tgz#873ac00fec83749f255ac8dd083814b4f6329190" - integrity sha512-4ROwICNlNw/Hqa9v+rk5h22KjmzB1JGTMVKP2AKJBOCgb0yL0ASf0+YvCcLNNwquOHNX48jkeZIJ3a+oOQqKcw== - array-union@^1.0.1, array-union@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/array-union/-/array-union-1.0.2.tgz#9a34410e4f4e3da23dea375be5be70f24778ec39" @@ -5557,11 +5459,6 @@ arrify@^2.0.1: resolved "https://registry.yarnpkg.com/arrify/-/arrify-2.0.1.tgz#c9655e9331e0abcd588d2a7cad7e9956f66701fa" integrity sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug== -asap@~2.0.3: - version "2.0.6" - resolved "https://registry.yarnpkg.com/asap/-/asap-2.0.6.tgz#e50347611d7e690943208bbdafebcbc2fb866d46" - integrity sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY= - asn1.js@^5.2.0: version "5.4.1" resolved "https://registry.yarnpkg.com/asn1.js/-/asn1.js-5.4.1.tgz#11a980b84ebb91781ce35b0fdc2ee294e3783f07" @@ -5655,11 +5552,6 @@ async-retry-ng@^2.0.1: resolved "https://registry.yarnpkg.com/async-retry-ng/-/async-retry-ng-2.0.1.tgz#f5285ec1c52654a2ba6a505d0c18b1eadfaebd41" integrity sha512-iitlc2murdQ3/A5Re3CcplQBEf7vOmFrFQ6RFn3+/+zZUyIHYkZnnEziMSa6YIb2Bs2EJEPZWReTxjHqvQbDbw== -async-validator@~1.11.3: - version "1.11.5" - resolved "https://registry.yarnpkg.com/async-validator/-/async-validator-1.11.5.tgz#9d43cf49ef6bb76be5442388d19fb9a6e47597ea" - integrity sha512-XNtCsMAeAH1pdLMEg1z8/Bb3a8cdCbui9QbJATRFHHHW5kT6+NPI3zSVQUXgikTFITzsg+kYY5NTWhM2Orwt9w== - async@1.5.2: version "1.5.2" resolved "https://registry.yarnpkg.com/async/-/async-1.5.2.tgz#ec6a61ae56480c0c3cb241c95618e20892f9672a" @@ -6051,7 +5943,7 @@ babel-preset-jest@^27.5.1: babel-plugin-jest-hoist "^27.5.1" babel-preset-current-node-syntax "^1.0.0" -babel-runtime@6.x, babel-runtime@^6.23.0, babel-runtime@^6.26.0: +babel-runtime@^6.26.0: version "6.26.0" resolved "https://registry.yarnpkg.com/babel-runtime/-/babel-runtime-6.26.0.tgz#965c7058668e82b55d7bfe04ff2337bc8b5647fe" integrity sha1-llxwWGaOgrVde/4E/yM3vItWR/4= @@ -7182,16 +7074,11 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -classnames@2.x, classnames@^2.2.0, classnames@^2.2.1, classnames@^2.2.3, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: +classnames@2.x, classnames@^2.2.1, classnames@^2.2.5, classnames@^2.2.6, classnames@^2.3.1: version "2.3.1" resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.3.1.tgz#dfcfa3891e306ec1dad105d0e88f4417b8535e8e" integrity sha512-OlQdbZ7gLfGarSqxesMesDa5uz7KFbID8Kpq/SxIoNGDqY8lSYs0D+hhtBXhcdB3rcbXArFr7vlHheLk1voeNA== -classnames@~2.2.6: - version "2.2.6" - resolved "https://registry.yarnpkg.com/classnames/-/classnames-2.2.6.tgz#43935bffdd291f326dad0a205309b38d00f650ce" - integrity sha512-JR/iSQOSt+LQIWwrwEzJ9uk0xfN3mTVYMwt1Ir5mUcSN6pU+V4zQFFaJsclJbPuAUQH+yfWef6tm7l1quW3C8Q== - clean-css@^4.2.3: version "4.2.4" resolved "https://registry.yarnpkg.com/clean-css/-/clean-css-4.2.4.tgz#733bf46eba4e607c6891ea57c24a989356831178" @@ -7510,23 +7397,11 @@ compare-versions@^3.6.0: resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62" integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA== -component-classes@1.x, component-classes@^1.2.5, component-classes@^1.2.6: - version "1.2.6" - resolved "https://registry.yarnpkg.com/component-classes/-/component-classes-1.2.6.tgz#c642394c3618a4d8b0b8919efccbbd930e5cd691" - integrity sha1-xkI5TDYYpNiwuJGe/Mu9kw5c1pE= - dependencies: - component-indexof "0.0.3" - component-emitter@^1.2.1, component-emitter@~1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/component-emitter/-/component-emitter-1.3.0.tgz#16e4070fba8ae29b679f2215853ee181ab2eabc0" integrity sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg== -component-indexof@0.0.3: - version "0.0.3" - resolved "https://registry.yarnpkg.com/component-indexof/-/component-indexof-0.0.3.tgz#11d091312239eb8f32c8f25ae9cb002ffe8d3c24" - integrity sha1-EdCRMSI5648yyPJa6csAL/6NPCQ= - compose-function@3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/compose-function/-/compose-function-3.0.3.tgz#9ed675f13cc54501d30950a486ff6a7ba3ab185f" @@ -7754,11 +7629,6 @@ core-js-pure@^3.20.2, core-js-pure@^3.8.1, core-js-pure@^3.8.2: resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.22.2.tgz#c10bffdc3028d25c2aae505819a05543db61544f" integrity sha512-Lb+/XT4WC4PaCWWtZpNPaXmjiNDUe5CJuUtbkMrIM1kb1T/jJoAIp+bkVP/r5lHzMr+ZAAF8XHp7+my6Ol0ysQ== -core-js@^1.0.0: - version "1.2.7" - resolved "https://registry.yarnpkg.com/core-js/-/core-js-1.2.7.tgz#652294c14651db28fa93bd2d5ff2983a4f08c636" - integrity sha1-ZSKUwUZR2yj6k70tX/KYOk8IxjY= - core-js@^2.4.0: version "2.6.12" resolved "https://registry.yarnpkg.com/core-js/-/core-js-2.6.12.tgz#d9333dfa7b065e347cc5682219d6f690859cc2ec" @@ -7903,14 +7773,6 @@ create-hmac@^1.1.0, create-hmac@^1.1.4, create-hmac@^1.1.7: safe-buffer "^5.0.1" sha.js "^2.4.8" -create-react-class@^15.5.3: - version "15.7.0" - resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.7.0.tgz#7499d7ca2e69bb51d13faf59bd04f0c65a1d6c1e" - integrity sha512-QZv4sFWG9S5RUvkTYWbflxeZX+JG7Cz0Tn33rQBJ+WFQTqTfUTjMjiv9tnfXazjsO5r0KhPs+AqCjyrQX6h2ng== - dependencies: - loose-envify "^1.3.1" - object-assign "^4.1.1" - create-react-context@0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/create-react-context/-/create-react-context-0.3.0.tgz#546dede9dc422def0d3fc2fe03afe0bc0f4f7d8c" @@ -7996,14 +7858,6 @@ crypto-random-string@^2.0.0: resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-2.0.0.tgz#ef2a7a966ec11083388369baa02ebead229b30d5" integrity sha512-v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA== -css-animation@1.x, css-animation@^1.3.2, css-animation@^1.5.0: - version "1.6.1" - resolved "https://registry.yarnpkg.com/css-animation/-/css-animation-1.6.1.tgz#162064a3b0d51f958b7ff37b3d6d4de18e17039e" - integrity sha512-/48+/BaEaHRY6kNQ2OIPzKf9A6g8WjZYjhiNDNuIVbsm5tXCGIAsHDjB4Xu1C4vXJtUWZo26O68OQkDpNBaPog== - dependencies: - babel-runtime "6.x" - component-classes "^1.2.5" - css-color-keywords@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/css-color-keywords/-/css-color-keywords-1.0.0.tgz#fea2616dc676b2962686b3af8dbdbe180b244e05" @@ -9381,13 +9235,6 @@ dom-align@^1.7.0: resolved "https://registry.yarnpkg.com/dom-align/-/dom-align-1.12.2.tgz#0f8164ebd0c9c21b0c790310493cd855892acd4b" integrity sha512-pHuazgqrsTFrGU2WLDdXxCFabkdQDx72ddkraZNih1KsMcN5qsRSTR9O4VJRlwTPCPb5COYg3LOfiMHHcPInHg== -dom-closest@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/dom-closest/-/dom-closest-0.2.0.tgz#ebd9f91d1bf22e8d6f477876bbcd3ec90216c0cf" - integrity sha1-69n5HRvyLo1vR3h2u80+yQIWwM8= - dependencies: - dom-matches ">=1.0.1" - dom-converter@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/dom-converter/-/dom-converter-0.2.0.tgz#6721a9daee2e293682955b6afe416771627bb768" @@ -9395,16 +9242,6 @@ dom-converter@^0.2.0: dependencies: utila "~0.4" -dom-matches@>=1.0.1: - version "2.0.0" - resolved "https://registry.yarnpkg.com/dom-matches/-/dom-matches-2.0.0.tgz#d2728b416a87533980eb089b848d253cf23a758c" - integrity sha1-0nKLQWqHUzmA6wibhI0lPPI6dYw= - -dom-scroll-into-view@1.x, dom-scroll-into-view@^1.2.0, dom-scroll-into-view@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/dom-scroll-into-view/-/dom-scroll-into-view-1.2.1.tgz#e8f36732dd089b0201a88d7815dc3f88e6d66c7e" - integrity sha1-6PNnMt0ImwIBqI14Fdw/iObWbH4= - dom-serializer@0: version "0.2.2" resolved "https://registry.yarnpkg.com/dom-serializer/-/dom-serializer-0.2.2.tgz#1afb81f533717175d478655debc5e332d9f9bb51" @@ -9596,15 +9433,6 @@ downshift@^6.0.15: react-is "^17.0.2" tslib "^2.3.0" -draft-js@^0.10.0, draft-js@~0.10.0: - version "0.10.5" - resolved "https://registry.yarnpkg.com/draft-js/-/draft-js-0.10.5.tgz#bfa9beb018fe0533dbb08d6675c371a6b08fa742" - integrity sha512-LE6jSCV9nkPhfVX2ggcRLA4FKs6zWq9ceuO/88BpXdNCS7mjRTgs0NsV6piUCJX9YxMsB9An33wnkMmU2sD2Zg== - dependencies: - fbjs "^0.8.15" - immutable "~3.7.4" - object-assign "^4.1.0" - duplexer3@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" @@ -9729,13 +9557,6 @@ encodeurl@~1.0.2: resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k= -encoding@^0.1.11: - version "0.1.13" - resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" - integrity sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A== - dependencies: - iconv-lite "^0.6.2" - end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" @@ -10434,11 +10255,6 @@ eventemitter3@^4.0.0, eventemitter3@^4.0.4, eventemitter3@^4.0.7: resolved "https://registry.yarnpkg.com/eventemitter3/-/eventemitter3-4.0.7.tgz#2de9b68f6528d5644ef5c59526a1b4a07306169f" integrity sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw== -eventlistener@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/eventlistener/-/eventlistener-0.0.1.tgz#ed2baabb852227af2bcf889152c72c63ca532eb8" - integrity sha1-7Suqu4UiJ68rz4iRUscsY8pTLrg= - events@^3.0.0, events@^3.2.0: version "3.3.0" resolved "https://registry.yarnpkg.com/events/-/events-3.3.0.tgz#31a95ad0a924e2d2c419a813aeb2c4e878ea7400" @@ -10857,19 +10673,6 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fbjs@^0.8.15: - version "0.8.18" - resolved "https://registry.yarnpkg.com/fbjs/-/fbjs-0.8.18.tgz#9835e0addb9aca2eff53295cd79ca1cfc7c9662a" - integrity sha512-EQaWFK+fEPSoibjNy8IxUtaFOMXcWsY0JaVrQoZR9zC8N2Ygf9iDITPWjUTVIax95b6I742JFLqASHfsag/vKA== - dependencies: - core-js "^1.0.0" - isomorphic-fetch "^2.1.1" - loose-envify "^1.0.0" - object-assign "^4.1.0" - promise "^7.1.1" - setimmediate "^1.0.5" - ua-parser-js "^0.7.30" - fd-slicer@~1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e" @@ -12890,11 +12693,6 @@ gzip-size@5.1.1: duplexer "^0.1.1" pify "^4.0.1" -hammerjs@^2.0.8: - version "2.0.8" - resolved "https://registry.yarnpkg.com/hammerjs/-/hammerjs-2.0.8.tgz#04ef77862cff2bb79d30f7692095930222bf60f1" - integrity sha1-BO93hiz/K7edMPdpIJWTAiK/YPE= - handle-thing@^2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/handle-thing/-/handle-thing-2.0.1.tgz#857f79ce359580c340d43081cc648970d0bb234e" @@ -13443,11 +13241,6 @@ hoek@4.x.x: resolved "https://registry.yarnpkg.com/hoek/-/hoek-4.2.1.tgz#9634502aa12c445dd5a7c5734b572bb8738aacbb" integrity sha512-QLg82fGkfnJ/4iy1xZ81/9SIJiq1NGFUMGs6ParyjBZr6jW2Ufj/snDqTHixNlHdPNwN2RLVD0Pi3igeK9+JfA== -hoist-non-react-statics@^2.3.1: - version "2.5.5" - resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-2.5.5.tgz#c5903cf409c0dfd908f388e619d86b9c1174cb47" - integrity sha512-rqcy4pJo55FTTLWt+bU8ukscqHeE/e9KWvsOW2b/a3afxQZhwkQdT1rPPCJ0rYXdj4vNcasY8zHTH+jF/qStxw== - hoist-non-react-statics@^3.0.0, hoist-non-react-statics@^3.3.0, hoist-non-react-statics@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz#ece0acaf71d62c2969c2ec59feff42a4b1a85b45" @@ -13801,7 +13594,7 @@ iconv-lite@0.4, iconv-lite@0.4.24, iconv-lite@^0.4.17, iconv-lite@^0.4.24, iconv dependencies: safer-buffer ">= 2.1.2 < 3" -iconv-lite@0.6, iconv-lite@^0.6.2: +iconv-lite@0.6: version "0.6.3" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.6.3.tgz#a52f80bf38da1952eb5c681790719871a1a72501" integrity sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw== @@ -13902,21 +13695,11 @@ immer@8.0.1: resolved "https://registry.yarnpkg.com/immer/-/immer-8.0.1.tgz#9c73db683e2b3975c424fb0572af5889877ae656" integrity sha512-aqXhGP7//Gui2+UrEtvxZxSquQVXTpZ7KDxfCcKAF3Vysvw0CViVaW9RZ1j1xlIYqaaaipBoqdqeibkc18PNvA== -immutable@^3.7.4: - version "3.8.2" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.8.2.tgz#c2439951455bb39913daf281376f1530e104adf3" - integrity sha1-wkOZUUVbs5kT2vKBN28VMOEErfM= - immutable@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/immutable/-/immutable-4.0.0.tgz#b86f78de6adef3608395efb269a91462797e2c23" integrity sha512-zIE9hX70qew5qTUjSS7wi1iwj/l7+m54KWU247nhM3v806UdGj1yDndXj+IOYxxtW9zyLI+xqFNZjTuDaLUqFw== -immutable@~3.7.4: - version "3.7.6" - resolved "https://registry.yarnpkg.com/immutable/-/immutable-3.7.6.tgz#13b4d3cb12befa15482a26fe1b2ebae640071e4b" - integrity sha1-E7TTyxK++hVIKib+Gy665kAHHks= - import-cwd@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/import-cwd/-/import-cwd-2.1.0.tgz#aa6cf36e722761285cb371ec6519f53e2435b0a9" @@ -14480,11 +14263,6 @@ is-map@^2.0.2: resolved "https://registry.yarnpkg.com/is-map/-/is-map-2.0.2.tgz#00922db8c9bf73e81b7a335827bc2a43f2b91127" integrity sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg== -is-mobile@^2.1.0: - version "2.2.2" - resolved "https://registry.yarnpkg.com/is-mobile/-/is-mobile-2.2.2.tgz#f6c9c5d50ee01254ce05e739bdd835f1ed4e9954" - integrity sha512-wW/SXnYJkTjs++tVK5b6kVITZpAZPtUrt9SF80vvxGiF/Oywal+COk1jlRkiVq15RFNEQKQY31TkV24/1T5cVg== - is-natural-number@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/is-natural-number/-/is-natural-number-4.0.1.tgz#ab9d76e1db4ced51e35de0c72ebecf09f734cde8" @@ -14826,14 +14604,6 @@ isobject@^4.0.0: resolved "https://registry.yarnpkg.com/isobject/-/isobject-4.0.0.tgz#3f1c9155e73b192022a80819bacd0343711697b0" integrity sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA== -isomorphic-fetch@^2.1.1: - version "2.2.1" - resolved "https://registry.yarnpkg.com/isomorphic-fetch/-/isomorphic-fetch-2.2.1.tgz#611ae1acf14f5e81f729507472819fe9733558a9" - integrity sha1-YRrhrPFPXoH3KVB0coGf6XM1WKk= - dependencies: - node-fetch "^1.0.1" - whatwg-fetch ">=0.10.0" - isomorphic-ws@4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/isomorphic-ws/-/isomorphic-ws-4.0.1.tgz#55fd4cd6c5e6491e76dc125938dd863f5cd4f2dc" @@ -16119,7 +15889,7 @@ lodash.clonedeep@4.5.0: resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef" integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8= -lodash.debounce@^4.0.0, lodash.debounce@^4.0.8: +lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" integrity sha1-gteb/zCmfEAF/9XiUVMArZyk168= @@ -16264,7 +16034,7 @@ lodash.templatesettings@^4.0.0: dependencies: lodash._reinterpolate "^3.0.0" -lodash.throttle@^4.0.0, lodash.throttle@^4.1.1: +lodash.throttle@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= @@ -16289,7 +16059,7 @@ lodash.without@^4.4.0: resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" integrity sha1-PNRXSgC2e643OpS3SHcmQFB7eqw= -lodash@4.17.21, lodash@^4.0.0, lodash@^4.16.5, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.7.0: +lodash@4.17.21, lodash@^4.0.0, lodash@^4.17.10, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -16338,7 +16108,7 @@ longest-streak@^3.0.0: resolved "https://registry.yarnpkg.com/longest-streak/-/longest-streak-3.0.1.tgz#c97315b7afa0e7d9525db9a5a2953651432bdc5d" integrity sha512-cHlYSUpL2s7Fb3394mYxwTYj8niTaNHUCLr0qdiCXQfSjfuA7CKofpX2uSwEfFDQ0EB7JcnMnm+GjbqqoinYYg== -loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -17485,16 +17255,6 @@ mini-css-extract-plugin@^0.11.2: schema-utils "^1.0.0" webpack-sources "^1.1.0" -mini-store@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/mini-store/-/mini-store-2.0.0.tgz#0843c048d6942ce55e3e78b1b67fc063022b5488" - integrity sha512-EG0CuwpQmX+XL4QVS0kxNwHW5ftSbhygu1qxQH0pipugjnPkbvkalCdQbEihMwtQY6d3MTN+MS0q+aurs+RfLQ== - dependencies: - hoist-non-react-statics "^2.3.1" - prop-types "^15.6.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.0.2" - mini-svg-data-uri@^1.2.3: version "1.4.4" resolved "https://registry.yarnpkg.com/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz#8ab0aabcdf8c29ad5693ca595af19dd2ead09939" @@ -17647,7 +17407,7 @@ moment-mini@^2.24.0: resolved "https://registry.yarnpkg.com/moment-mini/-/moment-mini-2.24.0.tgz#fa68d98f7fe93ae65bf1262f6abb5fb6983d8d18" integrity sha512-9ARkWHBs+6YJIvrIp0Ik5tyTTtP9PoV0Ssu2Ocq5y9v8+NOOpWiRshAp8c4rZVWTOe+157on/5G+zj5pwIQFEQ== -moment@2.x, moment@^2.10.2, moment@^2.24.0, moment@^2.27.0: +moment@^2.10.2, moment@^2.27.0: version "2.29.3" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.3.tgz#edd47411c322413999f7a5940d526de183c031f3" integrity sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw== @@ -17736,11 +17496,6 @@ mustache@^4.2.0: resolved "https://registry.yarnpkg.com/mustache/-/mustache-4.2.0.tgz#e5892324d60a12ec9c2a73359edca52972bf6f64" integrity sha512-71ippSywq5Yb7/tVYyGbkBggbU8H3u5Rz56fH60jGFgr8uHwxs+aSKeqmluIVzM0m0kB7xQjKS6qPfd0b2ZoqQ== -mutationobserver-shim@^0.3.2: - version "0.3.7" - resolved "https://registry.yarnpkg.com/mutationobserver-shim/-/mutationobserver-shim-0.3.7.tgz#8bf633b0c0b0291a1107255ed32c13088a8c5bf3" - integrity sha512-oRIDTyZQU96nAiz2AQyngwx1e89iApl2hN5AOYwyxLUB47UYsU3Wv9lJWqH5y/QdiYkc5HQLi23ZNB3fELdHcQ== - mute-stream@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab" @@ -17929,14 +17684,6 @@ node-fetch@3.0.0-beta.9: data-uri-to-buffer "^3.0.1" fetch-blob "^2.1.1" -node-fetch@^1.0.1: - version "1.7.3" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-1.7.3.tgz#980f6f72d85211a5347c6b2bc18c5b84c3eb47ef" - integrity sha512-NhZ4CsKx7cYm2vSrBAr2PvFOe6sWDf0UYLRqA6svUYg7+/TSfVAu49jYC4BvQ4Sms9SZgdqGBgroqfDhJdTyKQ== - dependencies: - encoding "^0.1.11" - is-stream "^1.0.1" - node-forge@^0.10.0: version "0.10.0" resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" @@ -18222,7 +17969,7 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -object-assign@4.x, object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: +object-assign@^4, object-assign@^4.0.1, object-assign@^4.1.0, object-assign@^4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863" integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM= @@ -18357,13 +18104,6 @@ omggif@^1.0.10, omggif@^1.0.9: resolved "https://registry.yarnpkg.com/omggif/-/omggif-1.0.10.tgz#ddaaf90d4a42f532e9e7cb3a95ecdd47f17c7b19" integrity sha512-LMJTtvgc/nugXj0Vcrrs68Mn2D1r0zf630VNtqtpI1FEO7e+O9FP4gqs9AcnBaSEeoHIPm28u6qgPR0oyEpGSw== -omit.js@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/omit.js/-/omit.js-1.0.2.tgz#91a14f0eba84066dfa015bf30e474c47f30bc858" - integrity sha512-/QPc6G2NS+8d4L/cQhbk6Yit1WTB6Us2g84A7A/1+w9d/eRGHyEqC5kkQtHVoHZ5NFWGG7tUGgrhVZwgZanKrQ== - dependencies: - babel-runtime "^6.23.0" - on-finished@2.4.1: version "2.4.1" resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.4.1.tgz#58c8c44116e54845ad57f14ab10b03533184ac3f" @@ -19968,13 +19708,6 @@ promise.prototype.finally@^3.1.0: define-properties "^1.1.3" es-abstract "^1.19.1" -promise@^7.1.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/promise/-/promise-7.3.1.tgz#064b72602b18f90f29192b8b1bc418ffd1ebd3bf" - integrity sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg== - dependencies: - asap "~2.0.3" - prompts@2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/prompts/-/prompts-2.4.0.tgz#4aa5de0723a231d1ee9121c40fdf663df73f61d7" @@ -19991,7 +19724,7 @@ prompts@^2.0.1, prompts@^2.3.2, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" -prop-types@15.x, prop-types@^15.0.0, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.5.6, prop-types@^15.5.7, prop-types@^15.5.8, prop-types@^15.5.9, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: +prop-types@^15.0.0, prop-types@^15.5.0, prop-types@^15.5.10, prop-types@^15.5.4, prop-types@^15.6.0, prop-types@^15.6.1, prop-types@^15.6.2, prop-types@^15.7.2, prop-types@^15.8.1: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -20250,13 +19983,6 @@ quick-lru@^5.1.1: resolved "https://registry.yarnpkg.com/quick-lru/-/quick-lru-5.1.1.tgz#366493e6b3e42a3a6885e2e99d18f80fb7a8c932" integrity sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA== -raf@^3.4.0, raf@^3.4.1: - version "3.4.1" - resolved "https://registry.yarnpkg.com/raf/-/raf-3.4.1.tgz#0742e99a4a6552f445d73e3ee0328af0ff1ede39" - integrity sha512-Sq4CW4QhwOHE8ucn6J34MqtZCeWFP2aQSmrlroYgqAV1PjStIhJXxYuTgUIfkEk7zTLjmIjLmU5q+fbD1NnOJA== - dependencies: - performance-now "^2.1.0" - ramda@0.21.0, ramda@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/ramda/-/ramda-0.21.0.tgz#a001abedb3ff61077d4ff1d577d44de77e8d0a35" @@ -20320,16 +20046,6 @@ raw-loader@^4.0.2: loader-utils "^2.0.0" schema-utils "^3.0.0" -rc-align@^2.4.0, rc-align@^2.4.1: - version "2.4.5" - resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-2.4.5.tgz#c941a586f59d1017f23a428f0b468663fb7102ab" - integrity sha512-nv9wYUYdfyfK+qskThf4BQUSIadeI/dCsfaMZfNEoxm9HwOIioQ+LyqmMK6jWHAZQgOzMLaqawhuBXlF63vgjw== - dependencies: - babel-runtime "^6.26.0" - dom-align "^1.7.0" - prop-types "^15.5.8" - rc-util "^4.0.4" - rc-align@^4.0.0: version "4.0.11" resolved "https://registry.yarnpkg.com/rc-align/-/rc-align-4.0.11.tgz#8198c62db266bc1b8ef05e56c13275bf72628a5e" @@ -20342,196 +20058,6 @@ rc-align@^4.0.0: rc-util "^5.3.0" resize-observer-polyfill "^1.5.1" -rc-animate@2.x, rc-animate@^2.10.1, rc-animate@^2.10.2, rc-animate@^2.3.0, rc-animate@^2.6.0, rc-animate@^2.8.2: - version "2.11.1" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-2.11.1.tgz#2666eeb6f1f2a495a13b2af09e236712278fdb2c" - integrity sha512-1NyuCGFJG/0Y+9RKh5y/i/AalUCA51opyyS/jO2seELpgymZm2u9QV3xwODwEuzkmeQ1BDPxMLmYLcTJedPlkQ== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - css-animation "^1.3.2" - prop-types "15.x" - raf "^3.4.0" - rc-util "^4.15.3" - react-lifecycles-compat "^3.0.4" - -rc-animate@^3.0.0-rc.1: - version "3.1.1" - resolved "https://registry.yarnpkg.com/rc-animate/-/rc-animate-3.1.1.tgz#defdd863f56816c222534e4dc68feddecd081386" - integrity sha512-8wg2Zg3EETy0k/9kYuis30NJNQg1D6/WSQwnCiz6SvyxQXNet/rVraRz3bPngwY6rcU2nlRvoShiYOorXyF7Sg== - dependencies: - "@ant-design/css-animation" "^1.7.2" - classnames "^2.2.6" - raf "^3.4.0" - rc-util "^4.15.3" - -rc-calendar@~9.15.7: - version "9.15.11" - resolved "https://registry.yarnpkg.com/rc-calendar/-/rc-calendar-9.15.11.tgz#ce1e5ea8e4d77435be66a8c77db12f1f0f9a345f" - integrity sha512-qv0VXfAAnysMWJigxaP6se4bJHvr17D9qsLbi8BOpdgEocsS0RkgY1IUiFaOVYKJDy/EyLC447O02sV/y5YYBg== - dependencies: - babel-runtime "6.x" - classnames "2.x" - moment "2.x" - prop-types "^15.5.8" - rc-trigger "^2.2.0" - rc-util "^4.1.1" - react-lifecycles-compat "^3.0.4" - -rc-cascader@~0.17.4: - version "0.17.5" - resolved "https://registry.yarnpkg.com/rc-cascader/-/rc-cascader-0.17.5.tgz#4fde91d23b7608c420263c38eee9c0687f80f7dc" - integrity sha512-WYMVcxU0+Lj+xLr4YYH0+yXODumvNXDcVEs5i7L1mtpWwYkubPV/zbQpn+jGKFCIW/hOhjkU4J1db8/P/UKE7A== - dependencies: - array-tree-filter "^2.1.0" - prop-types "^15.5.8" - rc-trigger "^2.2.0" - rc-util "^4.0.4" - react-lifecycles-compat "^3.0.4" - shallow-equal "^1.0.0" - warning "^4.0.1" - -rc-checkbox@~2.1.6: - version "2.1.8" - resolved "https://registry.yarnpkg.com/rc-checkbox/-/rc-checkbox-2.1.8.tgz#eedd9ef9c2f3af5b3b8e5cde5254aa89ad1a880a" - integrity sha512-6qOgh0/by0nVNASx6LZnhRTy17Etcgav+IrI7kL9V9kcDZ/g7K14JFlqrtJ3NjDq/Kyn+BPI1st1XvbkhfaJeg== - dependencies: - babel-runtime "^6.23.0" - classnames "2.x" - prop-types "15.x" - react-lifecycles-compat "^3.0.4" - -rc-collapse@~1.11.3: - version "1.11.8" - resolved "https://registry.yarnpkg.com/rc-collapse/-/rc-collapse-1.11.8.tgz#66a40089d469519e9424009ab1c927e214041d80" - integrity sha512-8EhfPyScTYljkbRuIoHniSwZagD5UPpZ3CToYgoNYWC85L2qCbPYF7+OaC713FOrIkp6NbfNqXsITNxmDAmxog== - dependencies: - classnames "2.x" - css-animation "1.x" - prop-types "^15.5.6" - rc-animate "2.x" - react-is "^16.7.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.1.0" - -rc-dialog@~7.6.0: - version "7.6.1" - resolved "https://registry.yarnpkg.com/rc-dialog/-/rc-dialog-7.6.1.tgz#11545ccc0b945934fa76079726e0d853e52d705f" - integrity sha512-KUKf+2eZ4YL+lnXMG3hR4ZtIhC9glfH27NtTVz3gcoDIPAf3uUvaXVRNoDCiSi+OGKLyIb/b6EoidFh6nQC5Wg== - dependencies: - babel-runtime "6.x" - rc-animate "2.x" - rc-util "^4.16.1" - -rc-drawer@~3.1.1: - version "3.1.3" - resolved "https://registry.yarnpkg.com/rc-drawer/-/rc-drawer-3.1.3.tgz#cbcb04d4c07f0b66f2ece11d847f4a1bd80ea0b7" - integrity sha512-2z+RdxmzXyZde/1OhVMfDR1e/GBswFeWSZ7FS3Fdd0qhgVdpV1wSzILzzxRaT481ItB5hOV+e8pZT07vdJE8kg== - dependencies: - classnames "^2.2.6" - rc-util "^4.16.1" - react-lifecycles-compat "^3.0.4" - -rc-dropdown@~2.4.1: - version "2.4.1" - resolved "https://registry.yarnpkg.com/rc-dropdown/-/rc-dropdown-2.4.1.tgz#aaef6eb3a5152cdd9982895c2a78d9b5f046cdec" - integrity sha512-p0XYn0wrOpAZ2fUGE6YJ6U8JBNc5ASijznZ6dkojdaEfQJAeZtV9KMEewhxkVlxGSbbdXe10ptjBlTEW9vEwEg== - dependencies: - babel-runtime "^6.26.0" - classnames "^2.2.6" - prop-types "^15.5.8" - rc-trigger "^2.5.1" - react-lifecycles-compat "^3.0.2" - -rc-editor-core@~0.8.3: - version "0.8.10" - resolved "https://registry.yarnpkg.com/rc-editor-core/-/rc-editor-core-0.8.10.tgz#6f215bc5df9c33ffa9f6c5b30ca73a7dabe8ab7c" - integrity sha512-T3aHpeMCIYA1sdAI7ynHHjXy5fqp83uPlD68ovZ0oClTSc3tbHmyCxXlA+Ti4YgmcpCYv7avF6a+TIbAka53kw== - dependencies: - babel-runtime "^6.26.0" - classnames "^2.2.5" - draft-js "^0.10.0" - immutable "^3.7.4" - lodash "^4.16.5" - prop-types "^15.5.8" - setimmediate "^1.0.5" - -rc-editor-mention@^1.1.13: - version "1.1.13" - resolved "https://registry.yarnpkg.com/rc-editor-mention/-/rc-editor-mention-1.1.13.tgz#9f1cab1065f86b01523840321790c2ab12ac5e8b" - integrity sha512-3AOmGir91Fi2ogfRRaXLtqlNuIwQpvla7oUnGHS1+3eo7b+fUp5IlKcagqtwUBB5oDNofoySXkLBxzWvSYNp/Q== - dependencies: - babel-runtime "^6.23.0" - classnames "^2.2.5" - dom-scroll-into-view "^1.2.0" - draft-js "~0.10.0" - immutable "~3.7.4" - prop-types "^15.5.8" - rc-animate "^2.3.0" - rc-editor-core "~0.8.3" - -rc-form@^2.4.10: - version "2.4.12" - resolved "https://registry.yarnpkg.com/rc-form/-/rc-form-2.4.12.tgz#4ee8711e90a2584baa7ac276de96bee0d9b0f5f1" - integrity sha512-sHfyWRrnjCHkeCYfYAGop2GQBUC6CKMPcJF9h/gL/vTmZB/RN6fNOGKjXrXjFbwFwKXUWBoPtIDDDmXQW9xNdw== - dependencies: - async-validator "~1.11.3" - babel-runtime "6.x" - create-react-class "^15.5.3" - dom-scroll-into-view "1.x" - hoist-non-react-statics "^3.3.0" - lodash "^4.17.4" - rc-util "^4.15.3" - react-is "^16.13.1" - warning "^4.0.3" - -rc-hammerjs@~0.6.0: - version "0.6.10" - resolved "https://registry.yarnpkg.com/rc-hammerjs/-/rc-hammerjs-0.6.10.tgz#1831a3bd8f2199700bfcc5ad6b20a35630aeb5e0" - integrity sha512-Vgh9qIudyN5CHRop4M+v+xUniQBFWXKrsJxQRVtJOi2xgRrCeI52/bkpaL5HWwUhqTK9Ayq0n7lYTItT6ld5rg== - dependencies: - babel-runtime "6.x" - hammerjs "^2.0.8" - prop-types "^15.5.9" - -rc-input-number@~4.5.0: - version "4.5.9" - resolved "https://registry.yarnpkg.com/rc-input-number/-/rc-input-number-4.5.9.tgz#1cbf735e24fe23c4eb9a4301031720b95f2a3e3d" - integrity sha512-wAT4EBpLDW4+27c935k4F1JLk+gnhyGBkpzBmtkNvIHLG8yTndZSJ2bFfSYfkA6C82IxmAztXs3ffCeUd/rkbg== - dependencies: - babel-runtime "6.x" - classnames "^2.2.0" - prop-types "^15.5.7" - rc-util "^4.5.1" - rmc-feedback "^2.0.0" - -rc-mentions@~0.4.0: - version "0.4.2" - resolved "https://registry.yarnpkg.com/rc-mentions/-/rc-mentions-0.4.2.tgz#c18ab701efb9e4b75b3851a0c0d2dd698640e246" - integrity sha512-DTZurQzacLXOfVuiHydGzqkq7cFMHXF18l2jZ9PhWUn2cqvOSY3W4osN0Pq29AOMOBpcxdZCzgc7Lb0r/bgkDw== - dependencies: - "@ant-design/create-react-context" "^0.2.4" - classnames "^2.2.6" - rc-menu "^7.4.22" - rc-trigger "^2.6.2" - rc-util "^4.6.0" - react-lifecycles-compat "^3.0.4" - -rc-menu@^7.3.0, rc-menu@^7.4.22, rc-menu@~7.5.1: - version "7.5.5" - resolved "https://registry.yarnpkg.com/rc-menu/-/rc-menu-7.5.5.tgz#78cdc817d86fc353a1430b864d3d96c7489600ca" - integrity sha512-4YJXJgrpUGEA1rMftXN7bDhrV5rPB8oBJoHqT+GVXtIWCanfQxEnM3fmhHQhatL59JoAFMZhJaNzhJIk4FUWCQ== - dependencies: - classnames "2.x" - dom-scroll-into-view "1.x" - mini-store "^2.0.0" - mutationobserver-shim "^0.3.2" - rc-animate "^2.10.1" - rc-trigger "^2.3.0" - rc-util "^4.13.0" - resize-observer-polyfill "^1.5.0" - shallowequal "^1.1.0" - rc-motion@^2.0.0: version "2.5.1" resolved "https://registry.yarnpkg.com/rc-motion/-/rc-motion-2.5.1.tgz#3eceb7d891079c0f67a72639d30e168b91839e03" @@ -20541,72 +20067,6 @@ rc-motion@^2.0.0: classnames "^2.2.1" rc-util "^5.21.0" -rc-notification@~3.3.1: - version "3.3.1" - resolved "https://registry.yarnpkg.com/rc-notification/-/rc-notification-3.3.1.tgz#0baa3e70f8d40ab015ce8fa78c260c490fc7beb4" - integrity sha512-U5+f4BmBVfMSf3OHSLyRagsJ74yKwlrQAtbbL5ijoA0F2C60BufwnOcHG18tVprd7iaIjzZt1TKMmQSYSvgrig== - dependencies: - babel-runtime "6.x" - classnames "2.x" - prop-types "^15.5.8" - rc-animate "2.x" - rc-util "^4.0.4" - -rc-pagination@~1.20.11: - version "1.20.15" - resolved "https://registry.yarnpkg.com/rc-pagination/-/rc-pagination-1.20.15.tgz#ccb4cd0e9bd4e47f72f29ea432c0350bf7b3d807" - integrity sha512-/Xr4/3GOa1DtL8iCYl7qRUroEMrRDhZiiuHwcVFfSiwa9LYloMlUWcOJsnr8LN6A7rLPdm3/CHStUNeYd+2pKw== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "^15.5.7" - react-lifecycles-compat "^3.0.4" - -rc-progress@~2.5.0: - version "2.5.3" - resolved "https://registry.yarnpkg.com/rc-progress/-/rc-progress-2.5.3.tgz#00f01b95bdbe1856d3a5f82242051902e8b7a8e7" - integrity sha512-K2fa4CnqGehLZoMrdmBeZ86ONSTVcdk5FlqetbwJ3R/+42XfqhwQVOjWp2MH4P7XSQOMAGcNOy1SFfCP3415sg== - dependencies: - babel-runtime "6.x" - prop-types "^15.5.8" - -rc-rate@~2.5.0: - version "2.5.1" - resolved "https://registry.yarnpkg.com/rc-rate/-/rc-rate-2.5.1.tgz#55fc5fd23ea9dcc72250b9a889803479f4842961" - integrity sha512-3iJkNJT8xlHklPCdeZtUZmJmRVUbr6AHRlfSsztfYTXVlHrv2TcPn3XkHsH+12j812WVB7gvilS2j3+ffjUHXg== - dependencies: - classnames "^2.2.5" - prop-types "^15.5.8" - rc-util "^4.3.0" - react-lifecycles-compat "^3.0.4" - -rc-resize-observer@^0.1.0: - version "0.1.3" - resolved "https://registry.yarnpkg.com/rc-resize-observer/-/rc-resize-observer-0.1.3.tgz#097191f9c3ab186ed907b553ba6ef565df11c249" - integrity sha512-uzOQEwx83xdQSFOkOAM7x7GHIQKYnrDV4dWxtCxyG1BS1pkfJ4EvDeMfsvAJHSYkQXVBu+sgRHGbRtLG3qiuUg== - dependencies: - classnames "^2.2.1" - rc-util "^4.13.0" - resize-observer-polyfill "^1.5.1" - -rc-select@~9.2.0: - version "9.2.3" - resolved "https://registry.yarnpkg.com/rc-select/-/rc-select-9.2.3.tgz#64340e2d6ef64e8bc3cfc6f468ffd28625589ac2" - integrity sha512-WhswxOMWiNnkXRbxyrj0kiIvyCfo/BaRPaYbsDetSIAU2yEDwKHF798blCP5u86KLOBKBvtxWLFCkSsQw1so5w== - dependencies: - babel-runtime "^6.23.0" - classnames "2.x" - component-classes "1.x" - dom-scroll-into-view "1.x" - prop-types "^15.5.8" - raf "^3.4.0" - rc-animate "2.x" - rc-menu "^7.3.0" - rc-trigger "^2.5.4" - rc-util "^4.0.4" - react-lifecycles-compat "^3.0.2" - warning "^4.0.2" - rc-slider@^9.7.2: version "9.7.5" resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-9.7.5.tgz#193141c68e99b1dc3b746daeb6bf852946f5b7f4" @@ -20618,91 +20078,6 @@ rc-slider@^9.7.2: rc-util "^5.16.1" shallowequal "^1.1.0" -rc-slider@~8.7.1: - version "8.7.1" - resolved "https://registry.yarnpkg.com/rc-slider/-/rc-slider-8.7.1.tgz#9ed07362dc93489a38e654b21b8122ad70fd3c42" - integrity sha512-WMT5mRFUEcrLWwTxsyS8jYmlaMsTVCZIGENLikHsNv+tE8ThU2lCoPfi/xFNUfJFNFSBFP3MwPez9ZsJmNp13g== - dependencies: - babel-runtime "6.x" - classnames "^2.2.5" - prop-types "^15.5.4" - rc-tooltip "^3.7.0" - rc-util "^4.0.4" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.1.0" - warning "^4.0.3" - -rc-steps@~3.5.0: - version "3.5.0" - resolved "https://registry.yarnpkg.com/rc-steps/-/rc-steps-3.5.0.tgz#36b2a7f1f49907b0d90363884b18623caf9fb600" - integrity sha512-2Vkkrpa7PZbg7qPsqTNzVDov4u78cmxofjjnIHiGB9+9rqKS8oTLPzbW2uiWDr3Lk+yGwh8rbpGO1E6VAgBCOg== - dependencies: - babel-runtime "^6.23.0" - classnames "^2.2.3" - lodash "^4.17.5" - prop-types "^15.5.7" - -rc-switch@~1.9.0: - version "1.9.2" - resolved "https://registry.yarnpkg.com/rc-switch/-/rc-switch-1.9.2.tgz#7921c766411fe9a6426510c3429022d6ba4dfde2" - integrity sha512-qaK7mY4FLDKy99Hq3A1tf8CcqfzKtHp9LPX8WTnZ0MzdHCTneSARb1XD7Eqeu8BactasYGsi2bF9p18Q+/5JEw== - dependencies: - classnames "^2.2.1" - prop-types "^15.5.6" - react-lifecycles-compat "^3.0.4" - -rc-table@~6.10.5: - version "6.10.15" - resolved "https://registry.yarnpkg.com/rc-table/-/rc-table-6.10.15.tgz#181f4c70c4fd74f657ee8f23196e7eb08a0365ca" - integrity sha512-LAr0M/gqt+irOjvPNBLApmQ0CUHNOfKsEBhu1uIuB3OlN1ynA9z+sdoTQyNd9+8NSl0MYnQOOfhtLChAY7nU0A== - dependencies: - classnames "^2.2.5" - component-classes "^1.2.6" - lodash "^4.17.5" - mini-store "^2.0.0" - prop-types "^15.5.8" - rc-util "^4.13.0" - react-lifecycles-compat "^3.0.2" - shallowequal "^1.0.2" - -rc-tabs@~9.7.0: - version "9.7.0" - resolved "https://registry.yarnpkg.com/rc-tabs/-/rc-tabs-9.7.0.tgz#ae09695bef5963d6e64e7bc10521c76dfdd8448b" - integrity sha512-kvmgp8/MfLzFZ06hWHignqomFQ5nF7BqKr5O1FfhE4VKsGrep52YSF/1MvS5oe0NPcI9XGNS2p751C5v6cYDpQ== - dependencies: - "@ant-design/create-react-context" "^0.2.4" - babel-runtime "6.x" - classnames "2.x" - lodash "^4.17.5" - prop-types "15.x" - raf "^3.4.1" - rc-hammerjs "~0.6.0" - rc-util "^4.0.4" - react-lifecycles-compat "^3.0.4" - resize-observer-polyfill "^1.5.1" - warning "^4.0.3" - -rc-time-picker@~3.7.1: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-time-picker/-/rc-time-picker-3.7.3.tgz#65a8de904093250ae9c82b02a4905e0f995e23e2" - integrity sha512-Lv1Mvzp9fRXhXEnRLO4nW6GLNxUkfAZ3RsiIBsWjGjXXvMNjdr4BX/ayElHAFK0DoJqOhm7c5tjmIYpEOwcUXg== - dependencies: - classnames "2.x" - moment "2.x" - prop-types "^15.5.8" - raf "^3.4.1" - rc-trigger "^2.2.0" - react-lifecycles-compat "^3.0.4" - -rc-tooltip@^3.7.0, rc-tooltip@~3.7.3: - version "3.7.3" - resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-3.7.3.tgz#280aec6afcaa44e8dff0480fbaff9e87fc00aecc" - integrity sha512-dE2ibukxxkrde7wH9W8ozHKUO4aQnPZ6qBHtrTH9LoO836PjDdiaWO73fgPB05VfJs9FbZdmGPVEbXCeOP99Ww== - dependencies: - babel-runtime "6.x" - prop-types "^15.5.8" - rc-trigger "^2.2.2" - rc-tooltip@^5.0.1: version "5.1.1" resolved "https://registry.yarnpkg.com/rc-tooltip/-/rc-tooltip-5.1.1.tgz#94178ed162d0252bc4993b725f5dc2ac0fccf154" @@ -20711,62 +20086,6 @@ rc-tooltip@^5.0.1: "@babel/runtime" "^7.11.2" rc-trigger "^5.0.0" -rc-tree-select@~2.9.1: - version "2.9.4" - resolved "https://registry.yarnpkg.com/rc-tree-select/-/rc-tree-select-2.9.4.tgz#6aa794e1f0e65c66c406aa0a2a0e74fd0a557b09" - integrity sha512-0HQkXAN4XbfBW20CZYh3G+V+VMrjX42XRtDCpyv6PDUm5vikC0Ob682ZBCVS97Ww2a5Hf6Ajmu0ahWEdIEpwhg== - dependencies: - classnames "^2.2.1" - dom-scroll-into-view "^1.2.1" - prop-types "^15.5.8" - raf "^3.4.0" - rc-animate "^2.8.2" - rc-tree "~2.1.0" - rc-trigger "^3.0.0" - rc-util "^4.5.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.0.2" - warning "^4.0.1" - -rc-tree@~2.1.0: - version "2.1.4" - resolved "https://registry.yarnpkg.com/rc-tree/-/rc-tree-2.1.4.tgz#ef759f3e799a21b43c1ecf9c794ea1c14e70b59b" - integrity sha512-Xey794Iavgs8YldFlXcZLOhfcIhlX5Oz/yfKufknBXf2AlZCOkc7aHqSM9uTF7fBPtTGPhPxNEfOqHfY7b7xng== - dependencies: - "@ant-design/create-react-context" "^0.2.4" - classnames "2.x" - prop-types "^15.5.8" - rc-animate "^2.6.0" - rc-util "^4.5.1" - react-lifecycles-compat "^3.0.4" - warning "^4.0.3" - -rc-trigger@^2.2.0, rc-trigger@^2.2.2, rc-trigger@^2.3.0, rc-trigger@^2.5.1, rc-trigger@^2.5.4, rc-trigger@^2.6.2: - version "2.6.5" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-2.6.5.tgz#140a857cf28bd0fa01b9aecb1e26a50a700e9885" - integrity sha512-m6Cts9hLeZWsTvWnuMm7oElhf+03GOjOLfTuU0QmdB9ZrW7jR2IpI5rpNM7i9MvAAlMAmTx5Zr7g3uu/aMvZAw== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "15.x" - rc-align "^2.4.0" - rc-animate "2.x" - rc-util "^4.4.0" - react-lifecycles-compat "^3.0.4" - -rc-trigger@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-3.0.0.tgz#f6d9b1da8a26b2b2d1d912a06876c1a486f5980f" - integrity sha512-hQxbbJpo23E2QnYczfq3Ec5J5tVl2mUDhkqxrEsQAqk16HfADQg+iKNWzEYXyERSncdxfnzYuaBgy764mNRzTA== - dependencies: - babel-runtime "6.x" - classnames "^2.2.6" - prop-types "15.x" - raf "^3.4.0" - rc-align "^2.4.1" - rc-animate "^3.0.0-rc.1" - rc-util "^4.15.7" - rc-trigger@^5.0.0: version "5.2.17" resolved "https://registry.yarnpkg.com/rc-trigger/-/rc-trigger-5.2.17.tgz#c4ccf21cdcf22ba555a51e256faf71d4f43b8c99" @@ -20778,27 +20097,6 @@ rc-trigger@^5.0.0: rc-motion "^2.0.0" rc-util "^5.19.2" -rc-upload@~2.9.1: - version "2.9.4" - resolved "https://registry.yarnpkg.com/rc-upload/-/rc-upload-2.9.4.tgz#8e34a73a468d7907fe31982c38100e4593857d32" - integrity sha512-WXt0HGxXyzLrPV6iec/96Rbl/6dyrAW8pKuY6wwD7yFYwfU5bjgKjv7vC8KNMJ6wzitFrZjnoiogNL3dF9dj3Q== - dependencies: - babel-runtime "6.x" - classnames "^2.2.5" - prop-types "^15.5.7" - warning "4.x" - -rc-util@^4.0.4, rc-util@^4.1.1, rc-util@^4.13.0, rc-util@^4.15.3, rc-util@^4.15.7, rc-util@^4.16.1, rc-util@^4.3.0, rc-util@^4.4.0, rc-util@^4.5.0, rc-util@^4.5.1, rc-util@^4.6.0: - version "4.21.1" - resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-4.21.1.tgz#88602d0c3185020aa1053d9a1e70eac161becb05" - integrity sha512-Z+vlkSQVc1l8O2UjR3WQ+XdWlhj5q9BMQNLk2iOBch75CqPfrJyGtcWMcnhRlNuDu0Ndtt4kLVO8JI8BrABobg== - dependencies: - add-dom-event-listener "^1.1.0" - prop-types "^15.5.10" - react-is "^16.12.0" - react-lifecycles-compat "^3.0.4" - shallowequal "^1.1.0" - rc-util@^5.16.1, rc-util@^5.19.2, rc-util@^5.21.0, rc-util@^5.3.0, rc-util@^5.9.4: version "5.21.0" resolved "https://registry.yarnpkg.com/rc-util/-/rc-util-5.21.0.tgz#3c97bbfa3e89354746978b15d275b7b7ef007045" @@ -21045,16 +20343,6 @@ react-is@^18.0.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.0.0.tgz#026f6c4a27dbe33bf4a35655b9e1327c4e55e3f5" integrity sha512-yUcBYdBBbo3QiPsgYDcfQcIkGZHfxOaoE6HLSnr1sPzMhdyxusbfKOSUbSd/ocGi32dxcj366PsTj+5oggeKKw== -react-lazy-load@^3.0.13: - version "3.1.13" - resolved "https://registry.yarnpkg.com/react-lazy-load/-/react-lazy-load-3.1.13.tgz#236943f76b7084cc8458716d9632a1c9853ea5cd" - integrity sha512-eAVNUn3vhNj79Iv04NOCwy/sCLyqDEhL3j9aJKV7VJuRBDg6rCiB+BIWHuG7VXJGCgb//6nX/soR8PTyWRhFvQ== - dependencies: - eventlistener "0.0.1" - lodash.debounce "^4.0.0" - lodash.throttle "^4.0.0" - prop-types "^15.5.8" - react-leaf-carousel@^2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/react-leaf-carousel/-/react-leaf-carousel-2.0.3.tgz#ff7b24d979876040e738df3f5332a8acda00db7c" @@ -21066,7 +20354,7 @@ react-leaf-carousel@^2.0.3: react-responsive-mixin "^0.4.0" uniqid "^5.2.0" -react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.2, react-lifecycles-compat@^3.0.4: +react-lifecycles-compat@^3.0.0, react-lifecycles-compat@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/react-lifecycles-compat/-/react-lifecycles-compat-3.0.4.tgz#4f1a273afdfc8f3488a8c516bfda78f872352362" integrity sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA== @@ -21253,17 +20541,6 @@ react-slick@^0.28.1: lodash.debounce "^4.0.8" resize-observer-polyfill "^1.5.0" -react-slick@~0.25.2: - version "0.25.2" - resolved "https://registry.yarnpkg.com/react-slick/-/react-slick-0.25.2.tgz#56331b67d47d8bcfe2dceb6acab1c8fd5bd1f6bc" - integrity sha512-8MNH/NFX/R7zF6W/w+FS5VXNyDusF+XDW1OU0SzODEU7wqYB+ZTGAiNJ++zVNAVqCAHdyCybScaUB+FCZOmBBw== - dependencies: - classnames "^2.2.5" - enquire.js "^2.1.6" - json2mq "^0.2.0" - lodash.debounce "^4.0.8" - resize-observer-polyfill "^1.5.0" - react-supabase@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/react-supabase/-/react-supabase-0.2.0.tgz#63b1083e18754b5a0e6946ef4701a0559ba713b5" @@ -22266,14 +21543,6 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" -rmc-feedback@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/rmc-feedback/-/rmc-feedback-2.0.0.tgz#cbc6cb3ae63c7a635eef0e25e4fbaf5ac366eeaa" - integrity sha512-5PWOGOW7VXks/l3JzlOU9NIxRpuaSS8d9zA3UULUCuTKnpwBHNvv1jSJzxgbbCQeYzROWUpgKI4za3X4C/mKmQ== - dependencies: - babel-runtime "6.x" - classnames "^2.2.5" - robust-predicates@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/robust-predicates/-/robust-predicates-3.0.1.tgz#ecde075044f7f30118682bd9fb3f123109577f9a" @@ -22695,7 +21964,7 @@ set-value@^2.0.0, set-value@^2.0.1: is-plain-object "^2.0.3" split-string "^3.0.1" -setimmediate@^1.0.4, setimmediate@^1.0.5: +setimmediate@^1.0.4: version "1.0.5" resolved "https://registry.yarnpkg.com/setimmediate/-/setimmediate-1.0.5.tgz#290cbb232e306942d7d7ea9b83732ab7856f8285" integrity sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU= @@ -22730,12 +21999,12 @@ shallow-compare@^1.2.2: resolved "https://registry.yarnpkg.com/shallow-compare/-/shallow-compare-1.2.2.tgz#fa4794627bf455a47c4f56881d8a6132d581ffdb" integrity sha512-LUMFi+RppPlrHzbqmFnINTrazo0lPNwhcgzuAXVVcfy/mqPDrQmHAyz5bvV0gDAuRFrk804V0HpQ6u9sZ0tBeg== -shallow-equal@^1.0.0, shallow-equal@^1.1.0: +shallow-equal@^1.1.0: version "1.2.1" resolved "https://registry.yarnpkg.com/shallow-equal/-/shallow-equal-1.2.1.tgz#4c16abfa56043aa20d050324efa68940b0da79da" integrity sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA== -shallowequal@^1.0.1, shallowequal@^1.0.2, shallowequal@^1.1.0: +shallowequal@^1.0.1, shallowequal@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/shallowequal/-/shallowequal-1.1.0.tgz#188d521de95b9087404fd4dcb68b13df0ae4e7f8" integrity sha512-y0m1JoUZSlPAjXVtPPW70aZWfIL/dSP7AFkRnniLCrK/8MDKog3TySTBmckD+RObVxH0v4Tox67+F14PdED2oQ== @@ -24707,11 +23976,6 @@ typescript@^4.0.2: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.6.3.tgz#eefeafa6afdd31d725584c67a0eaba80f6fc6c6c" integrity sha512-yNIatDa5iaofVozS/uQJEl3JRWLKKGJKh6Yaiv0GLGSuhpFJe7P3SbHZ8/yjAHRQwKRoA6YZqlfjXWmVzoVSMw== -ua-parser-js@^0.7.30: - version "0.7.31" - resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-0.7.31.tgz#649a656b191dffab4f21d5e053e27ca17cbff5c6" - integrity sha512-qLK/Xe9E2uzmYI3qLeOmI0tEOt+TBBQyUIAh4aAgU05FVYzeZrKUdkAZfBNVGRaHVgV0TDkdEngJSw/SyQchkQ== - uglify-js@^3.1.4: version "3.15.4" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.4.tgz#fa95c257e88f85614915b906204b9623d4fa340d" @@ -25612,7 +24876,7 @@ walker@^1.0.7, walker@~1.0.5: dependencies: makeerror "1.0.12" -warning@4.x, warning@^4.0.1, warning@^4.0.2, warning@^4.0.3, warning@~4.0.3: +warning@^4.0.2, warning@^4.0.3: version "4.0.3" resolved "https://registry.yarnpkg.com/warning/-/warning-4.0.3.tgz#16e9e077eb8a86d6af7d64aa1e05fd85b4678ca3" integrity sha512-rpJyN222KWIvHJ/F53XSZv0Zl/accqHR8et1kpaMTD/fLCRxtV8iX8czMzY7sVZupTI3zcUTg8eycS2kNF9l6w== @@ -25917,11 +25181,6 @@ whatwg-encoding@^1.0.5: dependencies: iconv-lite "0.4.24" -whatwg-fetch@>=0.10.0: - version "3.6.2" - resolved "https://registry.yarnpkg.com/whatwg-fetch/-/whatwg-fetch-3.6.2.tgz#dced24f37f2624ed0281725d51d0e2e3fe677f8c" - integrity sha512-bJlen0FcuU/0EMLrdbJ7zOnW6ITZLrZMIarMUVmdKtsGvZna8vxKYaexICWPfZ8qwf9fzNq+UEIZrnSaApt6RA== - whatwg-mimetype@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz#3d4b1e0312d2079879f826aff18dbeeca5960fbf"