)}
{props.heading && (
@@ -803,7 +805,11 @@ export function ShellMain(props: LayoutProps) {
{props.HeadingLeftIcon &&
{props.heading && (
-
+
{!isLocaleReady ? : props.heading}
)}
diff --git a/packages/lib/errors.ts b/packages/lib/errors.ts
index 65a5ebec28..9c7cf675be 100644
--- a/packages/lib/errors.ts
+++ b/packages/lib/errors.ts
@@ -3,7 +3,8 @@ export function getErrorFromUnknown(cause: unknown): Error & { statusCode?: numb
return cause;
}
if (typeof cause === "string") {
- // @ts-expect-error https://github.com/tc39/proposal-error-cause
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
+ // @ts-ignore https://github.com/tc39/proposal-error-cause
return new Error(cause, { cause });
}
diff --git a/packages/lib/package.json b/packages/lib/package.json
index fbe66029b1..4c689297be 100644
--- a/packages/lib/package.json
+++ b/packages/lib/package.json
@@ -31,6 +31,6 @@
"@calcom/tsconfig": "*",
"@calcom/types": "*",
"@faker-js/faker": "^7.3.0",
- "typescript": "^4.7.4"
+ "typescript": "^4.9.4"
}
}
diff --git a/packages/lib/turndownService.ts b/packages/lib/turndownService.ts
index 85cc0d4955..47e1854db5 100644
--- a/packages/lib/turndownService.ts
+++ b/packages/lib/turndownService.ts
@@ -2,11 +2,48 @@ import TurndownService from "turndown";
const turndownService = new TurndownService();
-turndownService.addRule("newLine", {
- filter: ["br"],
- replacement: () => {
+function turndown(html: string | TurndownService.Node): string {
+ let result = turndownService.turndown(html);
+ result = result.replaceAll("[
]", "");
+
+ if (result === "
") {
+ result = "";
+ }
+
+ return result;
+}
+
+turndownService.addRule("shiftEnter", {
+ filter: function (node) {
+ return node.nodeName === "BR" && !!isShiftEnter(node);
+ },
+ replacement: function () {
+ return "
";
+ },
+});
+
+turndownService.addRule("enter", {
+ filter: function (node) {
+ return node.nodeName === "BR" && !isShiftEnter(node);
+ },
+ replacement: function () {
return "
";
},
});
-export default turndownService;
+function isShiftEnter(node: HTMLElement) {
+ let currentNode: HTMLElement | null | ParentNode = node;
+
+ while (currentNode != null && currentNode.nodeType !== 1) {
+ currentNode = currentNode.parentElement || currentNode.parentNode;
+ }
+
+ return (
+ currentNode &&
+ currentNode.nodeType === 1 &&
+ currentNode.parentElement &&
+ currentNode.parentElement.childNodes.length !== 1 // normal enter is
(p has exactly one childNode)
+ );
+}
+
+export default turndown;
diff --git a/packages/prisma/migrations/20230125182832_add_deployment/migration.sql b/packages/prisma/migrations/20230125182832_add_deployment/migration.sql
new file mode 100644
index 0000000000..9527d41f2f
--- /dev/null
+++ b/packages/prisma/migrations/20230125182832_add_deployment/migration.sql
@@ -0,0 +1,10 @@
+-- CreateTable
+CREATE TABLE "Deployment" (
+ "id" INTEGER NOT NULL DEFAULT 1,
+ "logo" TEXT,
+ "theme" JSONB,
+ "licenseKey" TEXT,
+ "agreedLicenseAt" TIMESTAMP(3),
+
+ CONSTRAINT "Deployment_pkey" PRIMARY KEY ("id")
+);
diff --git a/packages/prisma/schema.prisma b/packages/prisma/schema.prisma
index f4b4534362..60aa0ba714 100644
--- a/packages/prisma/schema.prisma
+++ b/packages/prisma/schema.prisma
@@ -8,7 +8,7 @@ datasource db {
generator client {
provider = "prisma-client-js"
- previewFeatures = ["interactiveTransactions"]
+ previewFeatures = []
}
generator zod {
@@ -615,6 +615,16 @@ model WorkflowsOnEventTypes {
eventTypeId Int
}
+model Deployment {
+ /// This is a single row table, so we use a fixed id
+ id Int @id @default(1)
+ logo String?
+ /// @zod.custom(imports.DeploymentTheme)
+ theme Json?
+ licenseKey String?
+ agreedLicenseAt DateTime?
+}
+
enum TimeUnit {
DAY @map("day")
HOUR @map("hour")
diff --git a/packages/prisma/zod-utils.ts b/packages/prisma/zod-utils.ts
index bc6c3141f4..7f50f422b1 100644
--- a/packages/prisma/zod-utils.ts
+++ b/packages/prisma/zod-utils.ts
@@ -293,6 +293,24 @@ export const RoutingFormSettings = z
})
.nullable();
+export const DeploymentTheme = z
+ .object({
+ brand: z.string().default("#292929"),
+ textBrand: z.string().default("#ffffff"),
+ darkBrand: z.string().default("#fafafa"),
+ textDarkBrand: z.string().default("#292929"),
+ bookingHighlight: z.string().default("#10B981"),
+ bookingLightest: z.string().default("#E1E1E1"),
+ bookingLighter: z.string().default("#ACACAC"),
+ bookingLight: z.string().default("#888888"),
+ bookingMedian: z.string().default("#494949"),
+ bookingDark: z.string().default("#313131"),
+ bookingDarker: z.string().default("#292929"),
+ fontName: z.string().default("Cal Sans"),
+ fontSrc: z.string().default("https://cal.com/cal.ttf"),
+ })
+ .optional();
+
export type ZodDenullish = T extends ZodNullable | ZodOptional
? ZodDenullish
: T;
@@ -335,7 +353,7 @@ export function denullishShape<
* @returns The constructed tuple array from the given object
* @see https://github.com/3x071c/lsg-remix/blob/e2a9592ba3ec5103556f2cf307c32f08aeaee32d/app/lib/util/entries.ts
*/
-export const entries = (
+export const entries = >(
obj: O
): {
readonly [K in keyof O]: [K, O[K]];
diff --git a/packages/trpc/server/routers/viewer/eventTypes.tsx b/packages/trpc/server/routers/viewer/eventTypes.tsx
index 742be3916a..bb552ed3f5 100644
--- a/packages/trpc/server/routers/viewer/eventTypes.tsx
+++ b/packages/trpc/server/routers/viewer/eventTypes.tsx
@@ -676,7 +676,13 @@ export const eventTypesRouter = router({
}),
duplicate: eventOwnerProcedure.input(EventTypeDuplicateInput.strict()).mutation(async ({ ctx, input }) => {
try {
- const { id: originalEventTypeId, title: newEventTitle, slug: newSlug } = input;
+ const {
+ id: originalEventTypeId,
+ title: newEventTitle,
+ slug: newSlug,
+ description: newDescription,
+ length: newLength,
+ } = input;
const eventType = await ctx.prisma.eventType.findUnique({
where: {
id: originalEventTypeId,
@@ -735,6 +741,8 @@ export const eventTypesRouter = router({
...rest,
title: newEventTitle,
slug: newSlug,
+ description: newDescription,
+ length: newLength,
locations: locations ?? undefined,
teamId: team ? team.id : undefined,
users: users ? { connect: users.map((user) => ({ id: user.id })) } : undefined,
diff --git a/packages/ui/components/alert/alert.stories.mdx b/packages/ui/components/alert/alert.stories.mdx
index 106ad6e253..ffa6c67b36 100644
--- a/packages/ui/components/alert/alert.stories.mdx
+++ b/packages/ui/components/alert/alert.stories.mdx
@@ -1,7 +1,6 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
-import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable,VariantRow } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
-import {Alert} from './Alert';
+import { Examples, Example, Note, Title, CustomArgsTable, VariantsTable,VariantRow } from '@calcom/storybook/components'
+import { Alert } from './Alert';
diff --git a/packages/ui/components/apps/AllApps.tsx b/packages/ui/components/apps/AllApps.tsx
index 2aface1cd1..f294d3e208 100644
--- a/packages/ui/components/apps/AllApps.tsx
+++ b/packages/ui/components/apps/AllApps.tsx
@@ -6,9 +6,9 @@ import { classNames } from "@calcom/lib";
import { useLocale } from "@calcom/lib/hooks/useLocale";
import type { AppFrontendPayload as App } from "@calcom/types/App";
import type { CredentialFrontendPayload as Credential } from "@calcom/types/Credential";
-import { FiChevronLeft, FiChevronRight, FiSearch } from "@calcom/ui/components/icon";
import { EmptyScreen } from "../empty-screen";
+import { FiChevronLeft, FiChevronRight, FiSearch } from "../icon";
import { AppCard } from "./AppCard";
export function useShouldShowArrows() {
diff --git a/packages/ui/components/apps/Categories.stories.mdx b/packages/ui/components/apps/Categories.stories.mdx
index 3d849678cc..92400d4e95 100644
--- a/packages/ui/components/apps/Categories.stories.mdx
+++ b/packages/ui/components/apps/Categories.stories.mdx
@@ -1,18 +1,7 @@
-import { Canvas, Meta, Story, ArgsTable } from "@storybook/addon-docs";
-
-import {
- Examples,
- Example,
- Note,
- Title,
- CustomArgsTable,
- VariantsTable,
- VariantRow,
-} from "@calcom/storybook/components";
-import { Icon } from "@calcom/ui";
-
-import { AppStoreCategories as Categories } from "./Categories";
-import { _SBAppCategoryList } from "./_storybookData";
+import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
+import { Examples, Example, Note, Title, CustomArgsTable, VariantsTable, VariantRow } from '@calcom/storybook/components';
+import { AppStoreCategories as Categories } from './Categories';
+import { _SBAppCategoryList } from './_storybookData';
@@ -24,8 +13,8 @@ Categories that is used in our appstore.
-
## Examples
+
We don't currently mock translations in storybook so the stories will display placeholder text.
diff --git a/packages/ui/components/avatar/avatar.stories.mdx b/packages/ui/components/avatar/avatar.stories.mdx
index 709cb75c8d..5e7d5fbe31 100644
--- a/packages/ui/components/avatar/avatar.stories.mdx
+++ b/packages/ui/components/avatar/avatar.stories.mdx
@@ -1,6 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable,VariantRow } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
import {Avatar} from './Avatar';
import {AvatarGroup} from './AvatarGroup';
diff --git a/packages/ui/components/breadcrumb/breadcrumb.stories.mdx b/packages/ui/components/breadcrumb/breadcrumb.stories.mdx
index fe743b5bb0..df23c03cee 100644
--- a/packages/ui/components/breadcrumb/breadcrumb.stories.mdx
+++ b/packages/ui/components/breadcrumb/breadcrumb.stories.mdx
@@ -1,7 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
-
import { Breadcrumb } from './Breadcrumb';
diff --git a/packages/ui/components/credits/credits.stories.mdx b/packages/ui/components/credits/credits.stories.mdx
index 357c31e8e4..9668ac4c4b 100644
--- a/packages/ui/components/credits/credits.stories.mdx
+++ b/packages/ui/components/credits/credits.stories.mdx
@@ -1,6 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable,VariantRow } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
import Credits from './Credits';
diff --git a/packages/ui/components/divider/divider.stories.mdx b/packages/ui/components/divider/divider.stories.mdx
index e8cf83b714..c8672ed025 100644
--- a/packages/ui/components/divider/divider.stories.mdx
+++ b/packages/ui/components/divider/divider.stories.mdx
@@ -1,6 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable,VariantRow } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
import {Divider, VerticalDivider} from './Divider';
diff --git a/packages/ui/components/editor/plugins/ToolbarPlugin.tsx b/packages/ui/components/editor/plugins/ToolbarPlugin.tsx
index 2db765be53..94e6f55dd9 100644
--- a/packages/ui/components/editor/plugins/ToolbarPlugin.tsx
+++ b/packages/ui/components/editor/plugins/ToolbarPlugin.tsx
@@ -1,30 +1,30 @@
import { $generateHtmlFromNodes, $generateNodesFromDOM } from "@lexical/html";
import { $isLinkNode, TOGGLE_LINK_COMMAND } from "@lexical/link";
import {
+ $isListNode,
INSERT_ORDERED_LIST_COMMAND,
INSERT_UNORDERED_LIST_COMMAND,
- REMOVE_LIST_COMMAND,
- $isListNode,
ListNode,
+ REMOVE_LIST_COMMAND,
} from "@lexical/list";
import { useLexicalComposerContext } from "@lexical/react/LexicalComposerContext";
import { $createHeadingNode, $isHeadingNode } from "@lexical/rich-text";
-import { $wrapNodes, $isAtNodeEnd } from "@lexical/selection";
+import { $isAtNodeEnd, $wrapNodes } from "@lexical/selection";
import { $getNearestNodeOfType, mergeRegister } from "@lexical/utils";
import classNames from "classnames";
import {
- SELECTION_CHANGE_COMMAND,
- FORMAT_TEXT_COMMAND,
- $getSelection,
- $isRangeSelection,
$createParagraphNode,
- RangeSelection,
- NodeSelection,
- GridSelection,
$getRoot,
+ $getSelection,
$insertNodes,
- LexicalEditor,
+ $isRangeSelection,
EditorState,
+ FORMAT_TEXT_COMMAND,
+ GridSelection,
+ LexicalEditor,
+ NodeSelection,
+ RangeSelection,
+ SELECTION_CHANGE_COMMAND,
} from "lexical";
import { useCallback, useEffect, useRef, useState } from "react";
import { createPortal } from "react-dom";
@@ -387,7 +387,6 @@ export default function ToolbarPlugin(props: TextEditorProps) {
editor.dispatchCommand(TOGGLE_LINK_COMMAND, null);
}
}, [editor, isLink]);
- console.log("TEST", blockTypeToBlockName[blockType]);
return (
<>
diff --git a/packages/ui/components/editor/stylesEditor.css b/packages/ui/components/editor/stylesEditor.css
index b46fd8b9b2..65c89ef81e 100644
--- a/packages/ui/components/editor/stylesEditor.css
+++ b/packages/ui/components/editor/stylesEditor.css
@@ -68,7 +68,6 @@
.editor-paragraph {
margin: 0;
- margin-bottom: 8px;
position: relative;
}
diff --git a/packages/ui/components/form/checkbox/checkbox.stories.mdx b/packages/ui/components/form/checkbox/checkbox.stories.mdx
index 907a9b2ddc..ed23692733 100644
--- a/packages/ui/components/form/checkbox/checkbox.stories.mdx
+++ b/packages/ui/components/form/checkbox/checkbox.stories.mdx
@@ -1,7 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable,VariantRow } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
-
import Checkbox from './Checkbox';
diff --git a/packages/ui/components/form/inputs/inputs.stories.mdx b/packages/ui/components/form/inputs/inputs.stories.mdx
index 52f4f2591c..85c7412914 100644
--- a/packages/ui/components/form/inputs/inputs.stories.mdx
+++ b/packages/ui/components/form/inputs/inputs.stories.mdx
@@ -1,6 +1,7 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable, VariantRow,VariantsTable} from '@calcom/storybook/components'
-import { Icon,Select,UnstyledSelect,InputFieldWithSelect } from "@calcom/ui";
+import { Select, UnstyledSelect } from "../select";
+import { InputFieldWithSelect } from './Input';
import {InputField} from "./Input"
diff --git a/packages/ui/components/head-seo/HeadSeo.tsx b/packages/ui/components/head-seo/HeadSeo.tsx
index 8bd3a9fccc..15d6be4e8b 100644
--- a/packages/ui/components/head-seo/HeadSeo.tsx
+++ b/packages/ui/components/head-seo/HeadSeo.tsx
@@ -1,5 +1,6 @@
import merge from "lodash/merge";
import { NextSeo, NextSeoProps } from "next-seo";
+import { useRouter } from "next/router";
import {
AppImageProps,
@@ -10,6 +11,7 @@ import {
} from "@calcom/lib/OgImages";
import { getBrowserInfo } from "@calcom/lib/browser/browser.utils";
import { APP_NAME } from "@calcom/lib/constants";
+import isCalcom from "@calcom/lib/isCalcom";
import { seoConfig, getSeoImage } from "@calcom/lib/next-seo.config";
import { truncateOnWord } from "@calcom/lib/text";
@@ -72,13 +74,15 @@ const buildSeoMeta = (pageProps: {
};
export const HeadSeo = (props: HeadSeoProps): JSX.Element => {
- const defaultUrl = getBrowserInfo()?.url;
+ // build the canonical url to ensure it's always cal.com (not app.cal.com)
+ const router = useRouter();
+ const calcomUrl = (`https://cal.com` + (router.asPath === "/" ? "" : router.asPath)).split("?")[0]; // cut off search params
+ const defaultUrl = isCalcom ? calcomUrl : getBrowserInfo()?.url;
const { title, description, siteName, canonical = defaultUrl, nextSeoProps = {}, app, meeting } = props;
const image = getSeoImage("ogImage") + constructGenericImage({ title, description });
const truncatedDescription = truncateOnWord(description, 158);
-
const pageTitle = title + " | " + APP_NAME;
let seoObject = buildSeoMeta({
title: pageTitle,
diff --git a/packages/ui/components/list/list.stories.mdx b/packages/ui/components/list/list.stories.mdx
index 23cd94de6c..a471c40399 100644
--- a/packages/ui/components/list/list.stories.mdx
+++ b/packages/ui/components/list/list.stories.mdx
@@ -1,6 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable,VariantRow } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
import { List, ListItem } from './List';
diff --git a/packages/ui/components/popover/MeetingTimeInTimezones.tsx b/packages/ui/components/popover/MeetingTimeInTimezones.tsx
index 8b814c87c7..9ba0f6cd19 100644
--- a/packages/ui/components/popover/MeetingTimeInTimezones.tsx
+++ b/packages/ui/components/popover/MeetingTimeInTimezones.tsx
@@ -8,7 +8,14 @@ import {
} from "@calcom/lib/date-fns";
import { FiGlobe } from "@calcom/ui/components/icon";
-import { Attendee } from ".prisma/client";
+type Attendee = {
+ id: number;
+ email: string;
+ name: string;
+ timeZone: string;
+ locale: string | null;
+ bookingId: number | null;
+};
interface MeetingTimeInTimezonesProps {
attendees: Attendee[];
diff --git a/packages/ui/components/skeleton/skeleton.stories.mdx b/packages/ui/components/skeleton/skeleton.stories.mdx
index d563d8c6e4..d9f78e9065 100644
--- a/packages/ui/components/skeleton/skeleton.stories.mdx
+++ b/packages/ui/components/skeleton/skeleton.stories.mdx
@@ -1,6 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title, VariantsTable, VariantColumn, RowTitles, CustomArgsTable} from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
import { Skeleton, SkeletonAvatar, SkeletonText, SkeletonButton, SkeletonContainer } from './';
diff --git a/packages/ui/components/table/TableActions.tsx b/packages/ui/components/table/TableActions.tsx
index b1e0372330..c7f266af2d 100644
--- a/packages/ui/components/table/TableActions.tsx
+++ b/packages/ui/components/table/TableActions.tsx
@@ -2,13 +2,13 @@ import React, { FC } from "react";
import { IconType } from "react-icons/lib";
import {
- Button,
Dropdown,
DropdownMenuContent,
DropdownMenuItem,
DropdownItem,
DropdownMenuPortal,
DropdownMenuTrigger,
+ Button,
ButtonBaseProps,
} from "@calcom/ui";
import { FiChevronDown, FiMoreHorizontal } from "@calcom/ui/components/icon";
diff --git a/packages/ui/components/toast/toast.stories.mdx b/packages/ui/components/toast/toast.stories.mdx
index da6edd501d..36eaa81f04 100644
--- a/packages/ui/components/toast/toast.stories.mdx
+++ b/packages/ui/components/toast/toast.stories.mdx
@@ -1,6 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title, VariantsTable, VariantColumn, RowTitles, CustomArgsTable} from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
import { SuccessToast,ErrorToast,WarningToast,DefaultToast } from './';
diff --git a/packages/ui/components/top-banner/topbanner.stories.mdx b/packages/ui/components/top-banner/topbanner.stories.mdx
index 0868c387b6..72e7886a36 100644
--- a/packages/ui/components/top-banner/topbanner.stories.mdx
+++ b/packages/ui/components/top-banner/topbanner.stories.mdx
@@ -1,6 +1,5 @@
import { Canvas, Meta, Story, ArgsTable } from '@storybook/addon-docs';
import { Examples, Example, Note, Title,CustomArgsTable,VariantsTable, VariantRow } from '@calcom/storybook/components'
-import { Icon } from "@calcom/ui";
import { TopBanner } from './TopBanner'
diff --git a/packages/ui/form/radio-area/RadioAreaGroup.tsx b/packages/ui/form/radio-area/RadioAreaGroup.tsx
index b1ed354734..f67f33be56 100644
--- a/packages/ui/form/radio-area/RadioAreaGroup.tsx
+++ b/packages/ui/form/radio-area/RadioAreaGroup.tsx
@@ -21,9 +21,13 @@ const RadioArea = React.forwardRef(
);
}
);
-
-interface RadioAreaGroupProps extends Omit, "onChange"> {
+type MaybeArray = T[] | T;
+type ChildrenOfType = MaybeArray<
+ React.ReactElement>
+>;
+interface RadioAreaGroupProps extends Omit, "onChange" | "children"> {
onChange?: (value: string) => void;
+ children: ChildrenOfType;
}
const RadioAreaGroup = ({ children, className, onChange, ...passThroughProps }: RadioAreaGroupProps) => {
diff --git a/packages/ui/package.json b/packages/ui/package.json
index 4fde5eac1c..eb3d9f5df4 100644
--- a/packages/ui/package.json
+++ b/packages/ui/package.json
@@ -40,6 +40,6 @@
"@calcom/tsconfig": "*",
"@types/react": "^18.0.17",
"@types/react-dom": "^18.0.6",
- "typescript": "^4.7.4"
+ "typescript": "^4.9.4"
}
}
diff --git a/yarn.lock b/yarn.lock
index c67523c04c..cd7e9891fa 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -5253,9 +5253,9 @@
"@babel/runtime" "^7.13.10"
"@radix-ui/react-accordion@^1.0.0":
- version "1.0.1"
- resolved "https://registry.npmjs.org/@radix-ui/react-accordion/-/react-accordion-1.0.1.tgz"
- integrity sha512-Ka7BQoyRRPwsOb0YEv0fQU8V8aCXCxAzNVI5BRN7WmPG2E1zQKKxmb86NVDqIj6uSnaahJ1E5S6bX5Lk9hTK+g==
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-accordion/-/react-accordion-1.1.0.tgz#8db063b9eaeb32ca90ffec74e190dab104b56522"
+ integrity sha512-CNN9ZBgCK4i4SX7gFk5s8095j55DUWi85vwRNfkfBLs0QdAG5Tb4ku6sBeugCAiLvsmxw481GyNl+C3stoJVBQ==
dependencies:
"@babel/runtime" "^7.13.10"
"@radix-ui/primitive" "1.0.0"
@@ -5263,6 +5263,7 @@
"@radix-ui/react-collection" "1.0.1"
"@radix-ui/react-compose-refs" "1.0.0"
"@radix-ui/react-context" "1.0.0"
+ "@radix-ui/react-direction" "1.0.0"
"@radix-ui/react-id" "1.0.0"
"@radix-ui/react-primitive" "1.0.1"
"@radix-ui/react-use-controllable-state" "1.0.0"
@@ -5753,10 +5754,10 @@
"@radix-ui/react-use-callback-ref" "1.0.0"
"@radix-ui/react-use-controllable-state" "1.0.0"
-"@radix-ui/react-roving-focus@1.0.1":
- version "1.0.1"
- resolved "https://registry.npmjs.org/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.1.tgz"
- integrity sha512-TB76u5TIxKpqMpUAuYH2VqMhHYKa+4Vs1NHygo/llLvlffN6mLVsFhz0AnSFlSBAvTBYVHYAkHAyEt7x1gPJOA==
+"@radix-ui/react-roving-focus@1.0.2":
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-roving-focus/-/react-roving-focus-1.0.2.tgz#d8ac2e3b8006697bdfc2b0eb06bef7e15b6245de"
+ integrity sha512-HLK+CqD/8pN6GfJm3U+cqpqhSKYAWiOJDe+A+8MfxBnOue39QEeMa43csUn2CXCHQT0/mewh1LrrG4tfkM9DMA==
dependencies:
"@babel/runtime" "^7.13.10"
"@radix-ui/primitive" "1.0.0"
@@ -5852,9 +5853,9 @@
"@radix-ui/react-use-size" "1.0.0"
"@radix-ui/react-tabs@^1.0.0":
- version "1.0.1"
- resolved "https://registry.npmjs.org/@radix-ui/react-tabs/-/react-tabs-1.0.1.tgz"
- integrity sha512-mVNEwHwgjy2G9F7b39f9VY+jF0QUZykTm0Sdv+Uz6KC4KOEIa4HLDiHU8MeEZluRtZE3aqGYDhl93O7QbJDwhg==
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/@radix-ui/react-tabs/-/react-tabs-1.0.2.tgz#8f5ec73ca41b151a413bdd6e00553408ff34ce07"
+ integrity sha512-gOUwh+HbjCuL0UCo8kZ+kdUEG8QtpdO4sMQduJ34ZEz0r4922g9REOBM+vIsfwtGxSug4Yb1msJMJYN2Bk8TpQ==
dependencies:
"@babel/runtime" "^7.13.10"
"@radix-ui/primitive" "1.0.0"
@@ -5863,7 +5864,7 @@
"@radix-ui/react-id" "1.0.0"
"@radix-ui/react-presence" "1.0.0"
"@radix-ui/react-primitive" "1.0.1"
- "@radix-ui/react-roving-focus" "1.0.1"
+ "@radix-ui/react-roving-focus" "1.0.2"
"@radix-ui/react-use-controllable-state" "1.0.0"
"@radix-ui/react-toggle-group@^1.0.0":
@@ -9427,12 +9428,12 @@
"@xmldom/xmldom@^0.7.5":
version "0.7.5"
- resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.7.5.tgz"
+ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.7.5.tgz#09fa51e356d07d0be200642b0e4f91d8e6dd408d"
integrity sha512-V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==
"@xmldom/xmldom@^0.8.1":
version "0.8.2"
- resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.2.tgz"
+ resolved "https://registry.yarnpkg.com/@xmldom/xmldom/-/xmldom-0.8.2.tgz#b695ff674e8216efa632a3d36ad51ae9843380c0"
integrity sha512-+R0juSseERyoPvnBQ/cZih6bpF7IpCXlWbHRoCRzYzqpz6gWHOgf8o4MOEf6KBVuOyqU+gCNLkCWVIJAro8XyQ==
"@xtuc/ieee754@^1.2.0":
@@ -18203,7 +18204,7 @@ jose@^4.10.0:
jose@^4.9.3:
version "4.11.1"
- resolved "https://registry.npmjs.org/jose/-/jose-4.11.1.tgz"
+ resolved "https://registry.yarnpkg.com/jose/-/jose-4.11.1.tgz#8f7443549befe5bddcf4bae664a9cbc1a62da4fa"
integrity sha512-YRv4Tk/Wlug8qicwqFNFVEZSdbROCHRAC6qu/i0dyNKr5JQdoa2pIGoS04lLO/jXQX7Z9omoNewYIVIxqZBd9Q==
jpeg-js@0.4.2:
@@ -22125,17 +22126,17 @@ playwright-core@1.25.0:
resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.25.0.tgz"
integrity sha512-kZ3Jwaf3wlu0GgU0nB8UMQ+mXFTqBIFz9h1svTlNduNKjnbPXFxw7mJanLVjqxHJRn62uBfmgBj93YHidk2N5Q==
-playwright-core@1.29.2:
- version "1.29.2"
- resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.29.2.tgz#2e8347e7e8522409f22b244e600e703b64022406"
- integrity sha512-94QXm4PMgFoHAhlCuoWyaBYKb92yOcGVHdQLoxQ7Wjlc7Flg4aC/jbFW7xMR52OfXMVkWicue4WXE7QEegbIRA==
+playwright-core@1.30.0:
+ version "1.30.0"
+ resolved "https://registry.yarnpkg.com/playwright-core/-/playwright-core-1.30.0.tgz#de987cea2e86669e3b85732d230c277771873285"
+ integrity sha512-7AnRmTCf+GVYhHbLJsGUtskWTE33SwMZkybJ0v6rqR1boxq2x36U7p1vDRV7HO2IwTZgmycracLxPEJI49wu4g==
playwright@^1.29.2:
- version "1.29.2"
- resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.29.2.tgz#d6a0a3e8e44f023f7956ed19ffa8af915a042769"
- integrity sha512-hKBYJUtdmYzcjdhYDkP9WGtORwwZBBKAW8+Lz7sr0ZMxtJr04ASXVzH5eBWtDkdb0c3LLFsehfPBTRfvlfKJOA==
+ version "1.30.0"
+ resolved "https://registry.yarnpkg.com/playwright/-/playwright-1.30.0.tgz#b1d7be2d45d97fbb59f829f36f521f12010fe072"
+ integrity sha512-ENbW5o75HYB3YhnMTKJLTErIBExrSlX2ZZ1C/FzmHjUYIfxj/UnI+DWpQr992m+OQVSg0rCExAOlRwB+x+yyIg==
dependencies:
- playwright-core "1.29.2"
+ playwright-core "1.30.0"
pngjs@^3.0.0, pngjs@^3.3.0, pngjs@^3.3.3:
version "3.4.0"
@@ -22375,7 +22376,7 @@ preact@^10.5.9:
preact@^10.6.3:
version "10.11.3"
- resolved "https://registry.npmjs.org/preact/-/preact-10.11.3.tgz"
+ resolved "https://registry.yarnpkg.com/preact/-/preact-10.11.3.tgz#8a7e4ba19d3992c488b0785afcc0f8aa13c78d19"
integrity sha512-eY93IVpod/zG3uMF22Unl8h9KkrcKIRs2EGar8hwLZZDU1lkjph303V9HZBwufh2s736U6VXuhD109LYqPoffg==
prelude-ls@^1.2.1:
@@ -26750,15 +26751,20 @@ typescript@^4.9.3:
resolved "https://registry.npmjs.org/typescript/-/typescript-4.9.3.tgz"
integrity sha512-CIfGzTelbKNEnLpLdGFgdyKhG23CKdKgQPOBc+OUNrkJ2vr+KSzsSV5kq5iWhEQbok+quxgGzrAtGWCyU7tHnA==
+typescript@^4.9.4:
+ version "4.9.4"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.4.tgz#a2a3d2756c079abda241d75f149df9d561091e78"
+ integrity sha512-Uz+dTXYzxXXbsFpM86Wh3dKCxrQqUcVMxwU54orwlJjOpO3ao8L7j5lH+dWfTwgCwIuM9GQ2kvVotzYJMXTBZg==
+
tzdata@^1.0.30:
version "1.0.36"
resolved "https://registry.yarnpkg.com/tzdata/-/tzdata-1.0.36.tgz#e5f3998d5e95e0e65dee417ae917a16314df69e9"
integrity sha512-QxRODDsXS8UVxlPazCZXplqVuD6mCe7tSyDE5SCSHXv1nmrfflXxNH4pD+fjU8KJwePhWqhp6n+FpygQeGLv7w==
ua-parser-js@^1.0.2:
- version "1.0.32"
- resolved "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-1.0.32.tgz"
- integrity sha512-dXVsz3M4j+5tTiovFVyVqssXBu5HM47//YSOeZ9fQkdDKkfzv2v3PP1jmH6FUyPW+yCSn7aBVK1fGGKNhowdDA==
+ version "1.0.33"
+ resolved "https://registry.yarnpkg.com/ua-parser-js/-/ua-parser-js-1.0.33.tgz#f21f01233e90e7ed0f059ceab46eb190ff17f8f4"
+ integrity sha512-RqshF7TPTE0XLYAqmjlu5cLLuGdKrNu9O1KLA/qp39QtbZwuzwv1dT46DZSopoUMsYgXpB3Cv8a03FI8b74oFQ==
uc.micro@^1.0.1, uc.micro@^1.0.5:
version "1.0.6"