diff --git a/mobile/src/components/features/chat-space/chat-view/MessageBlock.tsx b/mobile/src/components/features/chat-space/chat-view/MessageBlock.tsx
index f04d13838..74e0a9e3d 100644
--- a/mobile/src/components/features/chat-space/chat-view/MessageBlock.tsx
+++ b/mobile/src/components/features/chat-space/chat-view/MessageBlock.tsx
@@ -5,7 +5,7 @@ import { SquareAvatar } from '@/components/common/UserAvatar'
import { MarkdownRenderer } from '@/components/common/MarkdownRenderer'
import { UserFields } from '@/utils/users/UserListProvider'
import { DateObjectToFormattedDateStringWithoutYear, DateObjectToTimeString } from '@/utils/operations/operations'
-import { ChannelMembersContext } from './ChatView'
+import { ChannelMembersContext } from '../ChatInterface'
import { openOutline } from 'ionicons/icons'
import { Haptics, ImpactStyle } from '@capacitor/haptics'
import { useIsUserActive } from '@/hooks/useIsUserActive'
@@ -13,13 +13,16 @@ import { useInView } from 'react-intersection-observer';
import useLongPress from '@/hooks/useLongPress'
import MessageReactions from './components/MessageReactions'
import parse from 'html-react-parser';
+import clsx from 'clsx'
type Props = {
message: Message,
- onMessageSelect: (message: Message) => void
+ onMessageSelect: (message: Message) => void,
+ isHighlighted?: boolean,
+ onReplyMessageClick: (messageID: string) => void
}
-export const MessageBlockItem = ({ message, onMessageSelect }: Props) => {
+export const MessageBlockItem = ({ message, onMessageSelect, isHighlighted = false, onReplyMessageClick }: Props) => {
const members = useContext(ChannelMembersContext)
/**
* Displays a message block in the chat interface
@@ -35,14 +38,27 @@ export const MessageBlockItem = ({ message, onMessageSelect }: Props) => {
{message.is_continuation === 0 ? :
- }
+ }
)
}
-export const NonContinuationMessageBlock = ({ message, user, onMessageSelect }: { message: Message, user?: UserFields, onMessageSelect: (message: Message) => void }) => {
+interface NonContinuationMessageBlockProps {
+ message: Message,
+ user?: UserFields,
+ onMessageSelect: (message: Message) => void,
+ isHighlighted: boolean,
+ onReplyMessageClick: (messageID: string) => void
+}
+export const NonContinuationMessageBlock = ({ message, user, onMessageSelect, isHighlighted, onReplyMessageClick }: NonContinuationMessageBlockProps) => {
const onLongPress = () => {
Haptics.impact({
@@ -54,14 +70,15 @@ export const NonContinuationMessageBlock = ({ message, user, onMessageSelect }:
const longPressEvent = useLongPress(onLongPress)
return
{/* @ts-expect-error */}
-
+
{user?.full_name ?? message.owner}
{DateObjectToTimeString(message.creation)}
-
+
{message.is_edited === 1 &&
(edited) }
@@ -80,7 +97,13 @@ export const UserAvatarBlock = ({ message, user }: { message: Message, user?: Us
}
-const ContinuationMessageBlock = ({ message, onMessageSelect }: { message: Message, onMessageSelect: (message: Message) => void }) => {
+interface ContinuationMessageBlockProps {
+ message: Message,
+ onMessageSelect: (message: Message) => void,
+ isHighlighted: boolean
+ onReplyMessageClick: (messageID: string) => void
+}
+const ContinuationMessageBlock = ({ message, onMessageSelect, isHighlighted, onReplyMessageClick }: ContinuationMessageBlockProps) => {
const onLongPress = () => {
Haptics.impact({
style: ImpactStyle.Medium
@@ -92,11 +115,12 @@ const ContinuationMessageBlock = ({ message, onMessageSelect }: { message: Messa
return
{/* @ts-expect-error */}
-
+
-
+
{message.is_edited === 1 && (edited) }
@@ -108,10 +132,21 @@ const ContinuationMessageBlock = ({ message, onMessageSelect }: { message: Messa
}
-const MessageContent = ({ message }: { message: Message }) => {
-
- return
- {message.is_reply === 1 && message.linked_message && message.replied_message_details &&
}
+const MessageContent = ({ message, onReplyMessageClick }: { message: Message, onReplyMessageClick: (messageID: string) => void }) => {
+ const scrollToMessage = () => {
+ if (message.linked_message) {
+ Haptics.impact({
+ style: ImpactStyle.Light
+ })
+ onReplyMessageClick(message.linked_message)
+ }
+ }
+ return
+ {message.is_reply === 1 && message.linked_message && message.replied_message_details &&
+
+
+
+ }
{message.message_type === 'Text' &&
}
{message.message_type === 'Image' &&
}
{message.message_type === 'File' &&
}
@@ -201,15 +236,10 @@ const ReplyBlock = ({ message }: { message: Message }) => {
}
}, [message])
- const scrollToMessage = () => {
- Haptics.impact({
- style: ImpactStyle.Light
- })
- document.getElementById(`message-${message.name}`)?.scrollIntoView({ behavior: 'smooth' })
- }
+
const date = message ? new Date(message?.creation) : null
- return
+ return
{message &&
{user?.full_name ?? message.owner}
diff --git a/mobile/src/components/features/chat-space/useChatStream.ts b/mobile/src/components/features/chat-space/useChatStream.ts
index 26f3bdf7c..35aff01bb 100644
--- a/mobile/src/components/features/chat-space/useChatStream.ts
+++ b/mobile/src/components/features/chat-space/useChatStream.ts
@@ -1,9 +1,10 @@
import { useFrappeDocumentEventListener, useFrappeEventListener, useFrappeGetCall, useFrappePostCall } from 'frappe-react-sdk'
-import { RefObject, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'
+import { RefObject, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'
import { DateObjectToFormattedDateString } from '@/utils/operations/operations'
import { useDebounce } from '@/hooks/useDebounce'
import { Message } from '../../../../../types/Messaging/Message'
import { useIonViewWillLeave } from '@ionic/react'
+import { UserContext } from '@/utils/auth/UserProvider'
const parseDateString = (date: string) => {
const dateObj = new Date(date)
@@ -27,9 +28,11 @@ export type MessageDateBlock = Message | {
/**
* Hook to fetch messages to be rendered on the chat interface
*/
-const useChatStream = (channelID: string, scrollRef: RefObject
, baseMessage?: string, onBaseMessageChange?: (messageID: string) => void) => {
+const useChatStream = (channelID: string, scrollRef: RefObject) => {
+ const { currentUser } = useContext(UserContext)
+ const [baseMessage, setBaseMessage] = useState(null)
const [highlightedMessage, setHighlightedMessage] = useState(baseMessage ? baseMessage : null)
useEffect(() => {
@@ -175,15 +178,23 @@ const useChatStream = (channelID: string, scrollRef: RefObject {
// If the user is focused on the page, then we also need to
if (scrollRef.current) {
- // We only scroll to the bottom if the user is close to the bottom
- scrollRef.current.scrollToBottom()
- // TODO: Else we show a notification that there are new messages
- if (scrollRef.current.scrollTop !== 0) {
-
+ if (event.message_details.owner === currentUser) {
+ // If the message is sent by the current user, scroll to the bottom
+ scrollRef.current.scrollToBottom(100)
+ } else {
+ scrollRef.current?.getScrollElement().then((scrollElement) => {
+ // We only scroll to the bottom if the user is close to the bottom
+ const scrollHeight = scrollElement.scrollHeight
+ const clientHeight = scrollElement.clientHeight
+ const scrollTop = scrollElement.scrollTop
+ const isAtBottom = scrollHeight <= scrollTop + clientHeight
+ if (isAtBottom) {
+ scrollRef.current?.scrollToBottom(100)
+ }
+ })
}
}
})
-
}
})
@@ -472,10 +483,15 @@ const useChatStream = (channelID: string, scrollRef: RefObject {
+ setBaseMessage(null)
+ setHighlightedMessage(null)
+ scrollRef.current?.scrollToBottom(200)
}
return {
@@ -488,7 +504,8 @@ const useChatStream = (channelID: string, scrollRef: RefObject {
const { currentUser, isLoading } = useContext(UserContext)
const unread_count = useUnreadMessageCount()
+ useEffect(() => {
+ if (currentUser) {
+ //@ts-expect-error
+ window?.frappePushNotification?.onMessage((payload) => {
+ showNotification(payload, currentUser)
+ })
+
+ window.localStorage.setItem("currentUser", currentUser)
+ }
+ }, [currentUser])
+
return
diff --git a/mobile/src/components/ui/form.tsx b/mobile/src/components/ui/form.tsx
index 4603f8b3d..34b71ef66 100644
--- a/mobile/src/components/ui/form.tsx
+++ b/mobile/src/components/ui/form.tsx
@@ -88,12 +88,12 @@ const FormLabel = React.forwardRef<
React.ElementRef,
React.ComponentPropsWithoutRef
>(({ className, ...props }, ref) => {
- const { error, formItemId } = useFormField()
+ const { formItemId } = useFormField()
return (
diff --git a/mobile/src/components/ui/input.tsx b/mobile/src/components/ui/input.tsx
index b4fe1cb53..a1ecb77ce 100644
--- a/mobile/src/components/ui/input.tsx
+++ b/mobile/src/components/ui/input.tsx
@@ -3,15 +3,18 @@ import * as React from "react"
import { cn } from "@/lib/utils"
export interface InputProps
- extends React.InputHTMLAttributes {}
+ extends React.InputHTMLAttributes { }
const Input = React.forwardRef(
({ className, type, ...props }, ref) => {
+
+ console.log("props", props)
return (
{
const form = useForm({
- defaultValues:{
+ defaultValues: {
email: "",
password: "",
otp: "",
- tmp_id:""
+ tmp_id: ""
}
})
// GET call for Login Context (settings for social logins, email link etc)
@@ -93,10 +93,6 @@ export const Login = (props: ActiveScreenProps) => {
name="password"
rules={{
required: "Password is required.",
- minLength: {
- value: 6,
- message: "Password must be atleast 6 characters."
- }
}}
render={({ field, formState }) => (
@@ -123,7 +119,7 @@ export const Login = (props: ActiveScreenProps) => {
{/* Show Separator only when either Email Link or Social Logins are enabled */}
{
loginContext?.message?.login_with_email_link || loginContext?.message?.social_login ?
-
+
: null
}
{/* Map all social oauth providers */}
@@ -131,7 +127,7 @@ export const Login = (props: ActiveScreenProps) => {
{
loginContext?.message?.social_login ? loginContext?.message?.provider_logins.map((soc: OAuthProviderInterface, i: number) => {
return (
-
+
)
}) : null
}
diff --git a/mobile/src/pages/chat/ChatSpace.tsx b/mobile/src/pages/chat/ChatSpace.tsx
index 3cd84c625..e824dd726 100644
--- a/mobile/src/pages/chat/ChatSpace.tsx
+++ b/mobile/src/pages/chat/ChatSpace.tsx
@@ -40,7 +40,7 @@ export const ChatSpace: React.FC> = (props) =
})
const total_unread_count_in_channels = newChannels.reduce((acc: number, c) => {
- if (!c.user_id) {
+ if (!c.is_direct_message) {
return acc + c.unread_count
} else {
return acc
@@ -48,7 +48,7 @@ export const ChatSpace: React.FC> = (props) =
}, 0)
const total_unread_count_in_dms = newChannels.reduce((acc: number, c) => {
- if (c.user_id) {
+ if (c.is_direct_message) {
return acc + c.unread_count
} else {
return acc
diff --git a/mobile/src/types/Raven/RavenSettings.ts b/mobile/src/types/Raven/RavenSettings.ts
index 2c6a19091..a59f6079e 100644
--- a/mobile/src/types/Raven/RavenSettings.ts
+++ b/mobile/src/types/Raven/RavenSettings.ts
@@ -14,4 +14,6 @@ export interface RavenSettings{
auto_add_system_users?: 0 | 1
/** Show Raven on Desk : Check */
show_raven_on_desk?: 0 | 1
+ /** Tenor API Key : Data */
+ tenor_api_key?: string
}
\ No newline at end of file
diff --git a/mobile/src/types/Raven/RavenUser.ts b/mobile/src/types/Raven/RavenUser.ts
index 22441972d..61b33bf12 100644
--- a/mobile/src/types/Raven/RavenUser.ts
+++ b/mobile/src/types/Raven/RavenUser.ts
@@ -1,5 +1,5 @@
-export interface RavenUser {
+export interface RavenUser{
creation: string
name: string
modified: string
@@ -10,13 +10,18 @@ export interface RavenUser {
parentfield?: string
parenttype?: string
idx?: number
+ /** Type : Select */
+ type: "User" | "Bot"
/** User : Link - User */
- user: string
+ user?: string
+ /** Bot : Link - Raven Bot */
+ bot?: string
/** Full Name : Data */
full_name: string
/** First Name : Data */
first_name?: string
/** User Image : Attach Image */
- user_image?: string,
- enabled: 0 | 1
+ user_image?: string
+ /** Enabled : Check */
+ enabled?: 0 | 1
}
\ No newline at end of file
diff --git a/mobile/src/types/RavenBot/RavenBot.ts b/mobile/src/types/RavenBot/RavenBot.ts
new file mode 100644
index 000000000..32b092caa
--- /dev/null
+++ b/mobile/src/types/RavenBot/RavenBot.ts
@@ -0,0 +1,25 @@
+
+export interface RavenBot{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** Bot Name : Data */
+ bot_name: string
+ /** Image : Attach Image */
+ image?: string
+ /** Raven User : Link - Raven User */
+ raven_user?: string
+ /** Description : Small Text */
+ description?: string
+ /** Is Standard : Check */
+ is_standard?: 0 | 1
+ /** Module : Link - Module Def */
+ module?: string
+}
\ No newline at end of file
diff --git a/mobile/src/types/RavenIntegrations/RavenSchedulerEvent.ts b/mobile/src/types/RavenIntegrations/RavenSchedulerEvent.ts
new file mode 100644
index 000000000..746f277d7
--- /dev/null
+++ b/mobile/src/types/RavenIntegrations/RavenSchedulerEvent.ts
@@ -0,0 +1,33 @@
+
+export interface RavenSchedulerEvent{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** Name : Data */
+ event_name: string
+ /** Disabled : Check */
+ disabled?: 0 | 1
+ /** Event Frequency : Select */
+ event_frequency?: "Every Day" | "Every Day of the week" | "Date of the month" | "Cron"
+ /** CRON Expression : Data */
+ cron_expression?: string
+ /** Bot : Link - Raven Bot - This Bot will be used to send the message. */
+ bot: string
+ /** Send to : Select */
+ send_to?: "Channel" | "DM"
+ /** Channel : Link - Raven Channel */
+ channel: string
+ /** DM : Link - Raven Channel */
+ dm?: string
+ /** Content : Small Text */
+ content: string
+ /** Scheduler Event ID : Link - Server Script */
+ scheduler_event_id?: string
+}
\ No newline at end of file
diff --git a/mobile/src/types/RavenMessaging/RavenMessage.ts b/mobile/src/types/RavenMessaging/RavenMessage.ts
index d13d5e09f..a0f2c7e3c 100644
--- a/mobile/src/types/RavenMessaging/RavenMessage.ts
+++ b/mobile/src/types/RavenMessaging/RavenMessage.ts
@@ -1,6 +1,6 @@
import { RavenMention } from './RavenMention'
-export interface RavenMessage {
+export interface RavenMessage{
creation: string
name: string
modified: string
@@ -49,4 +49,8 @@ export interface RavenMessage {
is_edited?: 0 | 1
/** Mentions : Table - Raven Mention */
mentions?: RavenMention[]
+ /** Is Bot Message : Check */
+ is_bot_message?: 0 | 1
+ /** Bot : Link - Raven User */
+ bot?: string
}
\ No newline at end of file
diff --git a/mobile/src/utils/auth/UserProvider.tsx b/mobile/src/utils/auth/UserProvider.tsx
index aea325ac6..eba2d054e 100644
--- a/mobile/src/utils/auth/UserProvider.tsx
+++ b/mobile/src/utils/auth/UserProvider.tsx
@@ -33,7 +33,10 @@ export const UserProvider: FC = ({ children }) => {
//Clear cache on logout
return mutate(() => true, undefined, false)
})
- .then(() => { })
+ .then(() => {
+ // @ts-expect-error
+ window.frappePushNotification?.disableNotification()
+ })
}
const handleLogin = async (username: string, password: string) => {
diff --git a/mobile/src/utils/channel/ChannelListProvider.tsx b/mobile/src/utils/channel/ChannelListProvider.tsx
index dd922fc2f..45b5cbd3b 100644
--- a/mobile/src/utils/channel/ChannelListProvider.tsx
+++ b/mobile/src/utils/channel/ChannelListProvider.tsx
@@ -19,7 +19,7 @@ export type UnreadCountData = {
channels: UnreadChannelCountItem[]
}
-export type ChannelListItem = Pick
+export type ChannelListItem = Pick
export interface DMChannelListItem extends ChannelListItem {
peer_user_id?: string,
diff --git a/mobile/src/utils/pushNotifications.ts b/mobile/src/utils/pushNotifications.ts
index c0213abbd..3558d783a 100644
--- a/mobile/src/utils/pushNotifications.ts
+++ b/mobile/src/utils/pushNotifications.ts
@@ -1,11 +1,15 @@
export const isChrome = () =>
navigator.userAgent.toLowerCase().includes("chrome")
-export const showNotification = (payload: any) => {
+export const showNotification = (payload: any, currentUser: string) => {
// @ts-ignore
const registration = window.frappePushNotification.serviceWorkerRegistration
if (!registration) return
+ if (currentUser === "Guest") return
+
+ if (currentUser === payload?.data?.from_user) return
+
const notificationTitle = payload?.data?.title
const notificationOptions = {
body: payload?.data?.body || "",
@@ -14,18 +18,29 @@ export const showNotification = (payload: any) => {
// @ts-ignore
notificationOptions["icon"] = payload.data.notification_icon
}
+
+ if (payload.data.raven_message_type === "Image") {
+ // @ts-ignore
+ notificationOptions["image"] = payload.data.content
+ }
+
+ if (payload.data.creation) {
+ // @ts-ignore
+ notificationOptions["timestamp"] = payload.data.creation
+ }
+ const url = `${payload.data.base_url}/raven_mobile/channel/${payload.data.channel_id}`
if (isChrome()) {
// @ts-ignore
notificationOptions["data"] = {
- url: payload?.data?.click_action,
+ url: url,
}
} else {
if (payload?.data?.click_action) {
// @ts-ignore
notificationOptions["actions"] = [
{
- action: payload.data.click_action,
- title: "View Details",
+ action: url,
+ title: "View",
},
]
}
diff --git a/mobile/src/utils/users/UserListProvider.tsx b/mobile/src/utils/users/UserListProvider.tsx
index 99ae25919..685ec701e 100644
--- a/mobile/src/utils/users/UserListProvider.tsx
+++ b/mobile/src/utils/users/UserListProvider.tsx
@@ -12,7 +12,7 @@ export const UserListContext = createContext<{ users: UserFields[], enabledUsers
enabledUsers: []
})
-export type UserFields = Pick
+export type UserFields = Pick
/** Hook to fetch a list of users */
export const useUserList = () => {
diff --git a/mobile/yarn.lock b/mobile/yarn.lock
index f6a14e640..2691fef9b 100644
--- a/mobile/yarn.lock
+++ b/mobile/yarn.lock
@@ -8,12 +8,12 @@
integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
"@ampproject/remapping@^2.2.0":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
- integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
"@apideck/better-ajv-errors@^0.3.1":
version "0.3.6"
@@ -24,48 +24,48 @@
jsonpointer "^5.0.0"
leven "^3.1.0"
-"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
- integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
+"@babel/code-frame@^7.10.4", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2":
+ version "7.24.2"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae"
+ integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==
dependencies:
- "@babel/highlight" "^7.23.4"
- chalk "^2.4.2"
+ "@babel/highlight" "^7.24.2"
+ picocolors "^1.0.0"
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98"
- integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
+"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.1.tgz#31c1f66435f2a9c329bb5716a6d6186c516c3742"
+ integrity sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==
"@babel/core@^7.11.1", "@babel/core@^7.23.5":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1"
- integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.3.tgz#568864247ea10fbd4eff04dda1e05f9e2ea985c3"
+ integrity sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==
dependencies:
"@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.6"
+ "@babel/code-frame" "^7.24.2"
+ "@babel/generator" "^7.24.1"
"@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helpers" "^7.23.9"
- "@babel/parser" "^7.23.9"
- "@babel/template" "^7.23.9"
- "@babel/traverse" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/helpers" "^7.24.1"
+ "@babel/parser" "^7.24.1"
+ "@babel/template" "^7.24.0"
+ "@babel/traverse" "^7.24.1"
+ "@babel/types" "^7.24.0"
convert-source-map "^2.0.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.3"
semver "^6.3.1"
-"@babel/generator@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e"
- integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==
+"@babel/generator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.1.tgz#e67e06f68568a4ebf194d1c6014235344f0476d0"
+ integrity sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==
dependencies:
- "@babel/types" "^7.23.6"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
+ "@babel/types" "^7.24.0"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
jsesc "^2.5.1"
"@babel/helper-annotate-as-pure@^7.22.5":
@@ -82,7 +82,7 @@
dependencies:
"@babel/types" "^7.22.15"
-"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6":
+"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991"
integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
@@ -93,17 +93,17 @@
lru-cache "^5.1.1"
semver "^6.3.1"
-"@babel/helper-create-class-features-plugin@^7.22.15":
- version "7.23.10"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea"
- integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==
+"@babel/helper-create-class-features-plugin@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz#db58bf57137b623b916e24874ab7188d93d7f68f"
+ integrity sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-member-expression-to-functions" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-replace-supers" "^7.24.1"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
semver "^6.3.1"
@@ -117,10 +117,10 @@
regexpu-core "^5.3.1"
semver "^6.3.1"
-"@babel/helper-define-polyfill-provider@^0.5.0":
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b"
- integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==
+"@babel/helper-define-polyfill-provider@^0.6.1":
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd"
+ integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==
dependencies:
"@babel/helper-compilation-targets" "^7.22.6"
"@babel/helper-plugin-utils" "^7.22.5"
@@ -148,19 +148,19 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0":
+"@babel/helper-member-expression-to-functions@^7.23.0":
version "7.23.0"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366"
integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
dependencies:
"@babel/types" "^7.23.0"
-"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
- integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
+"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1":
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128"
+ integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==
dependencies:
- "@babel/types" "^7.22.15"
+ "@babel/types" "^7.24.0"
"@babel/helper-module-transforms@^7.23.3":
version "7.23.3"
@@ -180,10 +180,10 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
- integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.24.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a"
+ integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==
"@babel/helper-remap-async-to-generator@^7.22.20":
version "7.22.20"
@@ -194,13 +194,13 @@
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-wrap-function" "^7.22.20"
-"@babel/helper-replace-supers@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
- integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
+"@babel/helper-replace-supers@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1"
+ integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-member-expression-to-functions" "^7.22.15"
+ "@babel/helper-member-expression-to-functions" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
"@babel/helper-simple-access@^7.22.5":
@@ -225,9 +225,9 @@
"@babel/types" "^7.22.5"
"@babel/helper-string-parser@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
- integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e"
+ integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
@@ -248,52 +248,53 @@
"@babel/template" "^7.22.15"
"@babel/types" "^7.22.19"
-"@babel/helpers@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d"
- integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==
+"@babel/helpers@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.1.tgz#183e44714b9eba36c3038e442516587b1e0a1a94"
+ integrity sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==
dependencies:
- "@babel/template" "^7.23.9"
- "@babel/traverse" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/template" "^7.24.0"
+ "@babel/traverse" "^7.24.1"
+ "@babel/types" "^7.24.0"
-"@babel/highlight@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
- integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
+"@babel/highlight@^7.24.2":
+ version "7.24.2"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26"
+ integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
chalk "^2.4.2"
js-tokens "^4.0.0"
+ picocolors "^1.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b"
- integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==
+"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.1.tgz#1e416d3627393fab1cb5b0f2f1796a100ae9133a"
+ integrity sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a"
- integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf"
+ integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d"
- integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3"
+ integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/plugin-transform-optional-chaining" "^7.23.3"
+ "@babel/plugin-transform-optional-chaining" "^7.24.1"
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7":
- version "7.23.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b"
- integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988"
+ integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
version "7.21.0-placeholder-for-preset-env.2"
@@ -335,19 +336,19 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-import-assertions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc"
- integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==
+"@babel/plugin-syntax-import-assertions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971"
+ integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-syntax-import-attributes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06"
- integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==
+"@babel/plugin-syntax-import-attributes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093"
+ integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-import-meta@^7.10.4":
version "7.10.4"
@@ -427,212 +428,212 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-arrow-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b"
- integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==
+"@babel/plugin-transform-arrow-functions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27"
+ integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-async-generator-functions@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce"
- integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==
+"@babel/plugin-transform-async-generator-functions@^7.24.3":
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89"
+ integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-remap-async-to-generator" "^7.22.20"
"@babel/plugin-syntax-async-generators" "^7.8.4"
-"@babel/plugin-transform-async-to-generator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa"
- integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==
+"@babel/plugin-transform-async-to-generator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4"
+ integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==
dependencies:
- "@babel/helper-module-imports" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-module-imports" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-remap-async-to-generator" "^7.22.20"
-"@babel/plugin-transform-block-scoped-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77"
- integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==
+"@babel/plugin-transform-block-scoped-functions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380"
+ integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-block-scoping@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5"
- integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==
+"@babel/plugin-transform-block-scoping@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz#27af183d7f6dad890531256c7a45019df768ac1f"
+ integrity sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-class-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48"
- integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==
+"@babel/plugin-transform-class-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29"
+ integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-class-static-block@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5"
- integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==
+"@babel/plugin-transform-class-static-block@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz#4e37efcca1d9f2fcb908d1bae8b56b4b6e9e1cb6"
+ integrity sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-transform-classes@^7.23.8":
- version "7.23.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92"
- integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==
+"@babel/plugin-transform-classes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz#5bc8fc160ed96378184bc10042af47f50884dcb1"
+ integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-replace-supers" "^7.24.1"
"@babel/helper-split-export-declaration" "^7.22.6"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474"
- integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==
+"@babel/plugin-transform-computed-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7"
+ integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/template" "^7.22.15"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/template" "^7.24.0"
-"@babel/plugin-transform-destructuring@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311"
- integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==
+"@babel/plugin-transform-destructuring@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz#b1e8243af4a0206841973786292b8c8dd8447345"
+ integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-dotall-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50"
- integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==
+"@babel/plugin-transform-dotall-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13"
+ integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-duplicate-keys@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce"
- integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==
+"@babel/plugin-transform-duplicate-keys@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88"
+ integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-dynamic-import@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143"
- integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==
+"@babel/plugin-transform-dynamic-import@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd"
+ integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
-"@babel/plugin-transform-exponentiation-operator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18"
- integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==
+"@babel/plugin-transform-exponentiation-operator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4"
+ integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==
dependencies:
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-export-namespace-from@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191"
- integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==
+"@babel/plugin-transform-export-namespace-from@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd"
+ integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-transform-for-of@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e"
- integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==
+"@babel/plugin-transform-for-of@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd"
+ integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-"@babel/plugin-transform-function-name@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc"
- integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==
+"@babel/plugin-transform-function-name@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361"
+ integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==
dependencies:
- "@babel/helper-compilation-targets" "^7.22.15"
+ "@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-function-name" "^7.23.0"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-json-strings@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d"
- integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==
+"@babel/plugin-transform-json-strings@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7"
+ integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-json-strings" "^7.8.3"
-"@babel/plugin-transform-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4"
- integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==
+"@babel/plugin-transform-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096"
+ integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-logical-assignment-operators@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5"
- integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==
+"@babel/plugin-transform-logical-assignment-operators@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40"
+ integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-"@babel/plugin-transform-member-expression-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc"
- integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==
+"@babel/plugin-transform-member-expression-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489"
+ integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-modules-amd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d"
- integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==
+"@babel/plugin-transform-modules-amd@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39"
+ integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-modules-commonjs@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4"
- integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==
+"@babel/plugin-transform-modules-commonjs@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9"
+ integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-simple-access" "^7.22.5"
-"@babel/plugin-transform-modules-systemjs@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be"
- integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==
+"@babel/plugin-transform-modules-systemjs@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e"
+ integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==
dependencies:
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-validator-identifier" "^7.22.20"
-"@babel/plugin-transform-modules-umd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9"
- integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==
+"@babel/plugin-transform-modules-umd@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef"
+ integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
version "7.22.5"
@@ -642,213 +643,212 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-new-target@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980"
- integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==
+"@babel/plugin-transform-new-target@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34"
+ integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e"
- integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==
+"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988"
+ integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-"@babel/plugin-transform-numeric-separator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29"
- integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==
+"@babel/plugin-transform-numeric-separator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8"
+ integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-transform-object-rest-spread@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83"
- integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==
+"@babel/plugin-transform-object-rest-spread@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz#5a3ce73caf0e7871a02e1c31e8b473093af241ff"
+ integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==
dependencies:
- "@babel/compat-data" "^7.23.3"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-compilation-targets" "^7.23.6"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.23.3"
+ "@babel/plugin-transform-parameters" "^7.24.1"
-"@babel/plugin-transform-object-super@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd"
- integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==
+"@babel/plugin-transform-object-super@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520"
+ integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-replace-supers" "^7.24.1"
-"@babel/plugin-transform-optional-catch-binding@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017"
- integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==
+"@babel/plugin-transform-optional-catch-binding@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da"
+ integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017"
- integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==
+"@babel/plugin-transform-optional-chaining@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6"
+ integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af"
- integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==
+"@babel/plugin-transform-parameters@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz#983c15d114da190506c75b616ceb0f817afcc510"
+ integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-private-methods@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4"
- integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==
+"@babel/plugin-transform-private-methods@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a"
+ integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-private-property-in-object@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5"
- integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==
+"@babel/plugin-transform-private-property-in-object@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz#756443d400274f8fb7896742962cc1b9f25c1f6a"
+ integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-"@babel/plugin-transform-property-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875"
- integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==
+"@babel/plugin-transform-property-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825"
+ integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-react-jsx-self@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9"
- integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz#a21d866d8167e752c6a7c4555dba8afcdfce6268"
+ integrity sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-react-jsx-source@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e"
- integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz#a2dedb12b09532846721b5df99e52ef8dc3351d0"
+ integrity sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-regenerator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c"
- integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==
+"@babel/plugin-transform-regenerator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c"
+ integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
regenerator-transform "^0.15.2"
-"@babel/plugin-transform-reserved-words@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8"
- integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==
+"@babel/plugin-transform-reserved-words@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1"
+ integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-shorthand-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210"
- integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==
+"@babel/plugin-transform-shorthand-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55"
+ integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-spread@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c"
- integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==
+"@babel/plugin-transform-spread@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391"
+ integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-"@babel/plugin-transform-sticky-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04"
- integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==
+"@babel/plugin-transform-sticky-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9"
+ integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-template-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07"
- integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==
+"@babel/plugin-transform-template-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7"
+ integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-typeof-symbol@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4"
- integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==
+"@babel/plugin-transform-typeof-symbol@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz#6831f78647080dec044f7e9f68003d99424f94c7"
+ integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-escapes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925"
- integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==
+"@babel/plugin-transform-unicode-escapes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4"
+ integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-property-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad"
- integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==
+"@babel/plugin-transform-unicode-property-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e"
+ integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc"
- integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==
+"@babel/plugin-transform-unicode-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385"
+ integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-sets-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e"
- integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==
+"@babel/plugin-transform-unicode-sets-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f"
+ integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/preset-env@^7.11.0":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669"
- integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.3.tgz#f3f138c844ffeeac372597b29c51b5259e8323a3"
+ integrity sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==
dependencies:
- "@babel/compat-data" "^7.23.5"
+ "@babel/compat-data" "^7.24.1"
"@babel/helper-compilation-targets" "^7.23.6"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-validator-option" "^7.23.5"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1"
"@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-class-properties" "^7.12.13"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-import-assertions" "^7.23.3"
- "@babel/plugin-syntax-import-attributes" "^7.23.3"
+ "@babel/plugin-syntax-import-assertions" "^7.24.1"
+ "@babel/plugin-syntax-import-attributes" "^7.24.1"
"@babel/plugin-syntax-import-meta" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
@@ -860,58 +860,58 @@
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-syntax-top-level-await" "^7.14.5"
"@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
- "@babel/plugin-transform-arrow-functions" "^7.23.3"
- "@babel/plugin-transform-async-generator-functions" "^7.23.9"
- "@babel/plugin-transform-async-to-generator" "^7.23.3"
- "@babel/plugin-transform-block-scoped-functions" "^7.23.3"
- "@babel/plugin-transform-block-scoping" "^7.23.4"
- "@babel/plugin-transform-class-properties" "^7.23.3"
- "@babel/plugin-transform-class-static-block" "^7.23.4"
- "@babel/plugin-transform-classes" "^7.23.8"
- "@babel/plugin-transform-computed-properties" "^7.23.3"
- "@babel/plugin-transform-destructuring" "^7.23.3"
- "@babel/plugin-transform-dotall-regex" "^7.23.3"
- "@babel/plugin-transform-duplicate-keys" "^7.23.3"
- "@babel/plugin-transform-dynamic-import" "^7.23.4"
- "@babel/plugin-transform-exponentiation-operator" "^7.23.3"
- "@babel/plugin-transform-export-namespace-from" "^7.23.4"
- "@babel/plugin-transform-for-of" "^7.23.6"
- "@babel/plugin-transform-function-name" "^7.23.3"
- "@babel/plugin-transform-json-strings" "^7.23.4"
- "@babel/plugin-transform-literals" "^7.23.3"
- "@babel/plugin-transform-logical-assignment-operators" "^7.23.4"
- "@babel/plugin-transform-member-expression-literals" "^7.23.3"
- "@babel/plugin-transform-modules-amd" "^7.23.3"
- "@babel/plugin-transform-modules-commonjs" "^7.23.3"
- "@babel/plugin-transform-modules-systemjs" "^7.23.9"
- "@babel/plugin-transform-modules-umd" "^7.23.3"
+ "@babel/plugin-transform-arrow-functions" "^7.24.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.24.3"
+ "@babel/plugin-transform-async-to-generator" "^7.24.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.24.1"
+ "@babel/plugin-transform-block-scoping" "^7.24.1"
+ "@babel/plugin-transform-class-properties" "^7.24.1"
+ "@babel/plugin-transform-class-static-block" "^7.24.1"
+ "@babel/plugin-transform-classes" "^7.24.1"
+ "@babel/plugin-transform-computed-properties" "^7.24.1"
+ "@babel/plugin-transform-destructuring" "^7.24.1"
+ "@babel/plugin-transform-dotall-regex" "^7.24.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.24.1"
+ "@babel/plugin-transform-dynamic-import" "^7.24.1"
+ "@babel/plugin-transform-exponentiation-operator" "^7.24.1"
+ "@babel/plugin-transform-export-namespace-from" "^7.24.1"
+ "@babel/plugin-transform-for-of" "^7.24.1"
+ "@babel/plugin-transform-function-name" "^7.24.1"
+ "@babel/plugin-transform-json-strings" "^7.24.1"
+ "@babel/plugin-transform-literals" "^7.24.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.24.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.24.1"
+ "@babel/plugin-transform-modules-amd" "^7.24.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.24.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.24.1"
+ "@babel/plugin-transform-modules-umd" "^7.24.1"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
- "@babel/plugin-transform-new-target" "^7.23.3"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4"
- "@babel/plugin-transform-numeric-separator" "^7.23.4"
- "@babel/plugin-transform-object-rest-spread" "^7.23.4"
- "@babel/plugin-transform-object-super" "^7.23.3"
- "@babel/plugin-transform-optional-catch-binding" "^7.23.4"
- "@babel/plugin-transform-optional-chaining" "^7.23.4"
- "@babel/plugin-transform-parameters" "^7.23.3"
- "@babel/plugin-transform-private-methods" "^7.23.3"
- "@babel/plugin-transform-private-property-in-object" "^7.23.4"
- "@babel/plugin-transform-property-literals" "^7.23.3"
- "@babel/plugin-transform-regenerator" "^7.23.3"
- "@babel/plugin-transform-reserved-words" "^7.23.3"
- "@babel/plugin-transform-shorthand-properties" "^7.23.3"
- "@babel/plugin-transform-spread" "^7.23.3"
- "@babel/plugin-transform-sticky-regex" "^7.23.3"
- "@babel/plugin-transform-template-literals" "^7.23.3"
- "@babel/plugin-transform-typeof-symbol" "^7.23.3"
- "@babel/plugin-transform-unicode-escapes" "^7.23.3"
- "@babel/plugin-transform-unicode-property-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-sets-regex" "^7.23.3"
+ "@babel/plugin-transform-new-target" "^7.24.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1"
+ "@babel/plugin-transform-numeric-separator" "^7.24.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.24.1"
+ "@babel/plugin-transform-object-super" "^7.24.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.24.1"
+ "@babel/plugin-transform-optional-chaining" "^7.24.1"
+ "@babel/plugin-transform-parameters" "^7.24.1"
+ "@babel/plugin-transform-private-methods" "^7.24.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.24.1"
+ "@babel/plugin-transform-property-literals" "^7.24.1"
+ "@babel/plugin-transform-regenerator" "^7.24.1"
+ "@babel/plugin-transform-reserved-words" "^7.24.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.24.1"
+ "@babel/plugin-transform-spread" "^7.24.1"
+ "@babel/plugin-transform-sticky-regex" "^7.24.1"
+ "@babel/plugin-transform-template-literals" "^7.24.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.24.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.24.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.24.1"
+ "@babel/plugin-transform-unicode-regex" "^7.24.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.24.1"
"@babel/preset-modules" "0.1.6-no-external-plugins"
- babel-plugin-polyfill-corejs2 "^0.4.8"
- babel-plugin-polyfill-corejs3 "^0.9.0"
- babel-plugin-polyfill-regenerator "^0.5.5"
+ babel-plugin-polyfill-corejs2 "^0.4.10"
+ babel-plugin-polyfill-corejs3 "^0.10.4"
+ babel-plugin-polyfill-regenerator "^0.6.1"
core-js-compat "^3.31.0"
semver "^6.3.1"
@@ -929,49 +929,42 @@
resolved "https://registry.yarnpkg.com/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310"
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
-"@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7"
- integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==
+"@babel/runtime@^7.1.2", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.13.10", "@babel/runtime@^7.24.0", "@babel/runtime@^7.7.6", "@babel/runtime@^7.8.4":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.1.tgz#431f9a794d173b53720e69a6464abc6f0e2a5c57"
+ integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/runtime@^7.13.10", "@babel/runtime@^7.24.0":
+"@babel/template@^7.22.15", "@babel/template@^7.24.0":
version "7.24.0"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e"
- integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==
- dependencies:
- regenerator-runtime "^0.14.0"
-
-"@babel/template@^7.22.15", "@babel/template@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a"
- integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50"
+ integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==
dependencies:
"@babel/code-frame" "^7.23.5"
- "@babel/parser" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/parser" "^7.24.0"
+ "@babel/types" "^7.24.0"
-"@babel/traverse@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950"
- integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==
+"@babel/traverse@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c"
+ integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==
dependencies:
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.6"
+ "@babel/code-frame" "^7.24.1"
+ "@babel/generator" "^7.24.1"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/parser" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/parser" "^7.24.1"
+ "@babel/types" "^7.24.0"
debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.4.4":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002"
- integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==
+"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.4.4":
+ version "7.24.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf"
+ integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==
dependencies:
"@babel/helper-string-parser" "^7.23.4"
"@babel/helper-validator-identifier" "^7.22.20"
@@ -983,9 +976,9 @@
integrity sha512-oad0jwQu+vgQDukeS9UV56yG10dlxkAGGl26IQpZlTmg3dTI9qSJtvhmlLfkF0nEtoj5IsVQUPE+NLH1oZkgGQ==
"@capacitor/cli@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@capacitor/cli/-/cli-5.7.0.tgz#14b9ec3e6aee0f06856ed3f5e722c63d027233dd"
- integrity sha512-md6217RXFQwSNo9vr1gDgBqR88MJaQVwu3C5W3bpWlmajhec6NUR7yT7QNcBWErhCIJfqOOqXu4ZSSShndF0ug==
+ version "5.7.4"
+ resolved "https://registry.yarnpkg.com/@capacitor/cli/-/cli-5.7.4.tgz#2505b1fbc82a683666098c7a85f29ab01c9eda7f"
+ integrity sha512-Cn7ndfMHWfMT+A/wRoeac4/mAxZWNTlZoD1Mn7UQyVV+iGxZB2JpS9omqha7gBN4xrAuTi/X9FqkzrmR+1V96A==
dependencies:
"@ionic/cli-framework-output" "^2.2.5"
"@ionic/utils-fs" "^3.1.6"
@@ -1006,9 +999,9 @@
xml2js "^0.5.0"
"@capacitor/core@^5.7.0":
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/@capacitor/core/-/core-5.7.0.tgz#ef376ce975634bb5031eedd52a15d6f14e4beb67"
- integrity sha512-wa9Fao+Axa1t2ZERMyQD9r0xyfglQyC4DHQKintzKaIqcRuVe9J31TmfD3IxROYi9LGpY4X8cq4m4bjb0W94Qg==
+ version "5.7.4"
+ resolved "https://registry.yarnpkg.com/@capacitor/core/-/core-5.7.4.tgz#df894775972413982c03fad1ab9e39da38671549"
+ integrity sha512-iZBgvx3o4amzKv5ttA+QHB6i7cxK+/mYpCQd1tnSdipg6ZkvfBhg1HkzhEqHk+I7MNur+QwgYDZho9+ycHRwOw==
dependencies:
tslib "^2.1.0"
@@ -1537,29 +1530,29 @@
debug "^4.0.0"
tslib "^2.0.1"
-"@ionic/core@7.7.3":
- version "7.7.3"
- resolved "https://registry.yarnpkg.com/@ionic/core/-/core-7.7.3.tgz#f2c4965fd70784f7ab35eedbe1ab9e6ddb21756e"
- integrity sha512-DSv6DPuiLU2MXsgDAXKFJW5OXxT7EyPy2jcQf03RcWooWeFryy979mqotPw7BgUuWt/fVGuz2tl3peAJGSqmDQ==
+"@ionic/core@7.8.1":
+ version "7.8.1"
+ resolved "https://registry.yarnpkg.com/@ionic/core/-/core-7.8.1.tgz#ef9710c56232011d99651100911430454dd5de7e"
+ integrity sha512-SsoDy0HaifCcWBlcyRIpTceboz6tSg4gjNr/LRGJyg+r2bWdoG3jeuQDg0Affox8dar7QvODk3AWO/7RFWLOfg==
dependencies:
"@stencil/core" "^4.12.2"
ionicons "^7.2.2"
tslib "^2.1.0"
"@ionic/react-router@^7.7.3":
- version "7.7.3"
- resolved "https://registry.yarnpkg.com/@ionic/react-router/-/react-router-7.7.3.tgz#ca1311413cd333c9967ef4f74fbd4b2d35e591e7"
- integrity sha512-NmEk801pfbrqzyTAb5nLDWGseUzm7kMpUy0dMY6OU76tpuHrEFBCFkZYAlTJWqXhkGRj9cR0cMnFAhPtGeSCkg==
+ version "7.8.1"
+ resolved "https://registry.yarnpkg.com/@ionic/react-router/-/react-router-7.8.1.tgz#4553a9a36ae364cf9f844aa099f1e40469550f8f"
+ integrity sha512-RmkucjZkMNE7OK8odL/+L9PLPINliH1uWiY9nObfwOtnyt9iXnPgs8MjxDGO3ndiTEPu+ssRLlol9GEwhxjjvw==
dependencies:
- "@ionic/react" "7.7.3"
+ "@ionic/react" "7.8.1"
tslib "*"
-"@ionic/react@7.7.3", "@ionic/react@^7.7.3":
- version "7.7.3"
- resolved "https://registry.yarnpkg.com/@ionic/react/-/react-7.7.3.tgz#76f2487fa9bb9e754fb3fd27522aa9d146b3da90"
- integrity sha512-b8jLpqv4dZ9nB9zoxhe0KR1Wk9bWMQ3UXQcOPu20+zYrxExwPqpLJ93LI0bU4F7ellduMjsakvELY486FeRrXw==
+"@ionic/react@7.8.1", "@ionic/react@^7.7.3":
+ version "7.8.1"
+ resolved "https://registry.yarnpkg.com/@ionic/react/-/react-7.8.1.tgz#a93176f20c0340325df7ed29ab2ab73c2329a554"
+ integrity sha512-MJgmlsm69lvHiPBFHSUg9ZGbWyjfn5ZDUidYSE8oWA/L0Mtd7XqNl9DMlSXWy87jaOET96R72eSwgsAPZ+FEBA==
dependencies:
- "@ionic/core" "7.7.3"
+ "@ionic/core" "7.8.1"
ionicons "^7.0.0"
tslib "*"
@@ -1672,42 +1665,42 @@
wrap-ansi "^8.1.0"
wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
-"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
- integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
+"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
+ integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
dependencies:
- "@jridgewell/set-array" "^1.0.1"
+ "@jridgewell/set-array" "^1.2.1"
"@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/trace-mapping" "^0.3.24"
"@jridgewell/resolve-uri@^3.1.0":
version "3.1.2"
resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
-"@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+"@jridgewell/set-array@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
"@jridgewell/source-map@^0.3.3":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91"
- integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a"
+ integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==
dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
version "1.4.15"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.22"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c"
- integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
+ version "0.3.25"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
dependencies:
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
@@ -1839,32 +1832,6 @@
resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-2.0.2.tgz#f05eccdc69e3a65e7d524b52548f567904a11a1a"
integrity sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ==
-"@remirror/core-helpers@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@remirror/core-helpers/-/core-helpers-3.0.0.tgz#3a35c2346bc23ebc3cee585b7840b5567755c5f1"
- integrity sha512-tusEgQJIqg4qKj6HSBUFcyRnWnziw3neh4T9wOmsPGHFC3w9kl5KSrDb9UAgE8uX6y32FnS7vJ955mWOl3n50A==
- dependencies:
- "@remirror/core-constants" "^2.0.2"
- "@remirror/types" "^1.0.1"
- "@types/object.omit" "^3.0.0"
- "@types/object.pick" "^1.3.2"
- "@types/throttle-debounce" "^2.1.0"
- case-anything "^2.1.13"
- dash-get "^1.0.2"
- deepmerge "^4.3.1"
- fast-deep-equal "^3.1.3"
- make-error "^1.3.6"
- object.omit "^3.0.0"
- object.pick "^1.3.0"
- throttle-debounce "^3.0.1"
-
-"@remirror/types@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@remirror/types/-/types-1.0.1.tgz#768502497a0fbbc23338a1586b893f729310cf70"
- integrity sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA==
- dependencies:
- type-fest "^2.19.0"
-
"@rollup/plugin-babel@^5.2.0":
version "5.3.1"
resolved "https://registry.yarnpkg.com/@rollup/plugin-babel/-/plugin-babel-5.3.1.tgz#04bc0608f4aa4b2e4b1aebf284344d0f68fda283"
@@ -1908,9 +1875,9 @@
integrity sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==
"@stencil/core@^4.0.3", "@stencil/core@^4.12.2":
- version "4.12.3"
- resolved "https://registry.yarnpkg.com/@stencil/core/-/core-4.12.3.tgz#5cf5e857d3896278c7b45143f4e2207d20e3fd8c"
- integrity sha512-9XkE9i2aXPlApMNeq3tbVHKx0eAfDc7QGyIl6t5NMuQFTOGL5Xd1soF38d+hCIDpUoUUtY7jXWg+iFrlrMzQhg==
+ version "4.13.0"
+ resolved "https://registry.yarnpkg.com/@stencil/core/-/core-4.13.0.tgz#31654b9c601ce8b74194903fe28ed4bcb66b576e"
+ integrity sha512-gg+gtBWekQ08mDja8GVAUHNu+rrFhQaKZDvfhnS3l/5JbYiJddTimuDPPhuc0sR0JZL1iRdJTJSa+JbvmnQ1cQ==
"@surma/rollup-plugin-off-main-thread@^2.2.3":
version "2.2.3"
@@ -2232,39 +2199,22 @@
resolved "https://registry.yarnpkg.com/@types/ms/-/ms-0.7.34.tgz#10964ba0dee6ac4cd462e2795b6bebd407303433"
integrity sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==
-"@types/node@*":
- version "20.11.20"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.20.tgz#f0a2aee575215149a62784210ad88b3a34843659"
- integrity sha512-7/rR21OS+fq8IyHTgtLkDK949uzsa6n8BkziAKtPVpugIkO6D+/ooXMvzXxDnZrmtXVfjb1bKQafYpb8s89LOg==
+"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0":
+ version "20.11.30"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.30.tgz#9c33467fc23167a347e73834f788f4b9f399d66f"
+ integrity sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==
dependencies:
undici-types "~5.26.4"
-"@types/node@>=12.12.47", "@types/node@>=13.7.0":
- version "20.11.28"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.28.tgz#4fd5b2daff2e580c12316e457473d68f15ee6f66"
- integrity sha512-M/GPWVS2wLkSkNHVeLkrF2fD5Lx5UC4PxA0uZcKc6QqbIQUJyW1jVjueJYi1z8n0I5PxYrtpnPnWglE+y9A0KA==
- dependencies:
- undici-types "~5.26.4"
-
-"@types/object.omit@^3.0.0":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/object.omit/-/object.omit-3.0.3.tgz#cc52b1d9774c1619b5c6fc50229d087f01eabd68"
- integrity sha512-xrq4bQTBGYY2cw+gV4PzoG2Lv3L0pjZ1uXStRRDQoATOYW1lCsFQHhQ+OkPhIcQoqLjAq7gYif7D14Qaa6Zbew==
-
-"@types/object.pick@^1.3.2":
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/@types/object.pick/-/object.pick-1.3.4.tgz#1a38b6e69a35f36ec2dcc8b9f5ffd555c1c4d7fc"
- integrity sha512-5PjwB0uP2XDp3nt5u5NJAG2DORHIRClPzWT/TTZhJ2Ekwe8M5bA9tvPdi9NO/n2uvu2/ictat8kgqvLfcIE1SA==
-
"@types/prop-types@*":
version "15.7.11"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563"
integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==
"@types/react-dom@^18.2.19":
- version "18.2.19"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58"
- integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==
+ version "18.2.22"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.22.tgz#d332febf0815403de6da8a97e5fe282cbe609bae"
+ integrity sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==
dependencies:
"@types/react" "*"
@@ -2294,9 +2244,9 @@
"@types/react" "*"
"@types/react@*", "@types/react@^18.2.55":
- version "18.2.58"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.58.tgz#22082d12898d11806f4a1aefb5583116a047493d"
- integrity sha512-TaGvMNhxvG2Q0K0aYxiKfNDS5m5ZsoIBBbtfUorxdH4NGSXIlYvZxLJI+9Dd3KjeB3780bciLyAb7ylO8pLhPw==
+ version "18.2.67"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.67.tgz#96b7af0b5e79c756f4bdd981de2ca28472c858e5"
+ integrity sha512-vkIE2vTIMHQ/xL0rgmuoECBCkZFZeHr49HeWSc24AptMbNRo7pwSBvj73rlJJs9fGKj0koS+V7kQB1jHS0uCgw==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -2319,11 +2269,6 @@
resolved "https://registry.yarnpkg.com/@types/slice-ansi/-/slice-ansi-4.0.0.tgz#eb40dfbe3ac5c1de61f6bcb9ed471f54baa989d6"
integrity sha512-+OpjSaq85gvlZAYINyzKpLeiFkSC4EsC6IIiT6v6TLSU5k5U83fHGj9Lel8oKEXM0HqgrMVCjXPDPVICtxF7EQ==
-"@types/throttle-debounce@^2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776"
- integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==
-
"@types/trusted-types@^2.0.2":
version "2.0.7"
resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.7.tgz#baccb07a970b91707df3a3e8ba6896c57ead2d11"
@@ -2475,18 +2420,18 @@ at-least-node@^1.0.0:
integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
autoprefixer@^10.4.17:
- version "10.4.17"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be"
- integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==
+ version "10.4.19"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f"
+ integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==
dependencies:
- browserslist "^4.22.2"
- caniuse-lite "^1.0.30001578"
+ browserslist "^4.23.0"
+ caniuse-lite "^1.0.30001599"
fraction.js "^4.3.7"
normalize-range "^0.1.2"
picocolors "^1.0.0"
postcss-value-parser "^4.2.0"
-available-typed-arrays@^1.0.6, available-typed-arrays@^1.0.7:
+available-typed-arrays@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846"
integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==
@@ -2494,37 +2439,37 @@ available-typed-arrays@^1.0.6, available-typed-arrays@^1.0.7:
possible-typed-array-names "^1.0.0"
axios@^1.6.7:
- version "1.6.7"
- resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.7.tgz#7b48c2e27c96f9c68a2f8f31e2ab19f59b06b0a7"
- integrity sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==
+ version "1.6.8"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66"
+ integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==
dependencies:
- follow-redirects "^1.15.4"
+ follow-redirects "^1.15.6"
form-data "^4.0.0"
proxy-from-env "^1.1.0"
-babel-plugin-polyfill-corejs2@^0.4.8:
- version "0.4.8"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269"
- integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==
+babel-plugin-polyfill-corejs2@^0.4.10:
+ version "0.4.10"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1"
+ integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==
dependencies:
"@babel/compat-data" "^7.22.6"
- "@babel/helper-define-polyfill-provider" "^0.5.0"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
semver "^6.3.1"
-babel-plugin-polyfill-corejs3@^0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81"
- integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==
+babel-plugin-polyfill-corejs3@^0.10.4:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77"
+ integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.5.0"
- core-js-compat "^3.34.0"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
+ core-js-compat "^3.36.1"
-babel-plugin-polyfill-regenerator@^0.5.5:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a"
- integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==
+babel-plugin-polyfill-regenerator@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be"
+ integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.5.0"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
bail@^1.0.0:
version "1.0.5"
@@ -2552,9 +2497,9 @@ big-integer@1.6.x:
integrity sha512-QxD8cf2eVqJOOz63z6JIN9BzvVs/dlySa5HGSBH5xtR8dPteIRQnBxxKqkNTiT6jbDTF6jAfrd4oMcND9RGbQg==
binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
+ integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
bplist-parser@^0.3.2:
version "0.3.2"
@@ -2585,7 +2530,7 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
-browserslist@^4.22.2, browserslist@^4.22.3:
+browserslist@^4.22.2, browserslist@^4.23.0:
version "4.23.0"
resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab"
integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
@@ -2631,15 +2576,10 @@ camelcase-css@^2.0.1:
resolved "https://registry.yarnpkg.com/camelcase-css/-/camelcase-css-2.0.1.tgz#ee978f6947914cc30c6b44741b6ed1df7f043fd5"
integrity sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==
-caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001587:
- version "1.0.30001589"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001589.tgz#7ad6dba4c9bf6561aec8291976402339dc157dfb"
- integrity sha512-vNQWS6kI+q6sBlHbh71IIeC+sRwK2N3EDySc/updIGhIee2x5z00J4c1242/5/d6EpEMdOnk/m+6tuk4/tcsqg==
-
-case-anything@^2.1.13:
- version "2.1.13"
- resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.13.tgz#0cdc16278cb29a7fcdeb072400da3f342ba329e9"
- integrity sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==
+caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599:
+ version "1.0.30001600"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz#93a3ee17a35aa6a9f0c6ef1b2ab49507d1ab9079"
+ integrity sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==
ccount@^2.0.0:
version "2.0.1"
@@ -2820,12 +2760,12 @@ convert-source-map@^2.0.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-core-js-compat@^3.31.0, core-js-compat@^3.34.0:
- version "3.36.0"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.0.tgz#087679119bc2fdbdefad0d45d8e5d307d45ba190"
- integrity sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==
+core-js-compat@^3.31.0, core-js-compat@^3.36.1:
+ version "3.36.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8"
+ integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==
dependencies:
- browserslist "^4.22.3"
+ browserslist "^4.23.0"
crelt@^1.0.0:
version "1.0.6"
@@ -2856,10 +2796,32 @@ csstype@^3.0.2:
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81"
integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==
-dash-get@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/dash-get/-/dash-get-1.0.2.tgz#4c9e9ad5ef04c4bf9d3c9a451f6f7997298dcc7c"
- integrity sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==
+data-view-buffer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2"
+ integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==
+ dependencies:
+ call-bind "^1.0.6"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
+
+data-view-byte-length@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2"
+ integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==
+ dependencies:
+ call-bind "^1.0.7"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
+
+data-view-byte-offset@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a"
+ integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==
+ dependencies:
+ call-bind "^1.0.6"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
debug@^4.0.0, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2:
version "4.3.4"
@@ -2875,12 +2837,12 @@ decode-named-character-reference@^1.0.0:
dependencies:
character-entities "^2.0.0"
-deepmerge@^4.2.2, deepmerge@^4.3.1:
+deepmerge@^4.2.2:
version "4.3.1"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
-define-data-property@^1.0.1, define-data-property@^1.1.2, define-data-property@^1.1.4:
+define-data-property@^1.0.1, define-data-property@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
@@ -2978,9 +2940,9 @@ ejs@^3.1.6:
jake "^10.8.5"
electron-to-chromium@^1.4.668:
- version "1.4.681"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.681.tgz#5f23fad8aa7e1f64cbb7dd9d15c7e39a1cd7e6e3"
- integrity sha512-1PpuqJUFWoXZ1E54m8bsLPVYwIVCRzvaL+n5cjigGga4z854abDnFRc+cTa2th4S79kyGqya/1xoR7h+Y5G5lg==
+ version "1.4.715"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.715.tgz#bb16bcf2a3537962fccfa746b5c98c5f7404ff46"
+ integrity sha512-XzWNH4ZSa9BwVUQSDorPWAUQ5WGuYz7zJUNpNif40zFCiCl20t8zgylmreNmn26h5kiyw2lg7RfTmeMBsDklqg==
elementtree@^0.1.7:
version "0.1.7"
@@ -2990,9 +2952,9 @@ elementtree@^0.1.7:
sax "1.1.4"
emoji-picker-element@^1.21.1:
- version "1.21.1"
- resolved "https://registry.yarnpkg.com/emoji-picker-element/-/emoji-picker-element-1.21.1.tgz#a043d16962694073842db8aa242ec57628acc25c"
- integrity sha512-XO3buLicIjIb59dy3R2PVzpyxUEye7DSmHApbxFJxK8gCFPlGKP/Pld8ccWNYvny9t6vYhnKP1FNYgqqMy1XHA==
+ version "1.21.2"
+ resolved "https://registry.yarnpkg.com/emoji-picker-element/-/emoji-picker-element-1.21.2.tgz#132d2aa449a1687ce614d98abc5e2204057df619"
+ integrity sha512-DgeQdxHN/5vbUrmiDmGD7PZ2I6f5NOd1h8F2BV3oBbKl21dLbVetl9r5Q7859pgh8eksBmZDThHtjON6nXJwdQ==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -3030,18 +2992,22 @@ env-paths@^2.2.0:
resolved "https://registry.yarnpkg.com/env-paths/-/env-paths-2.2.1.tgz#420399d416ce1fbe9bc0a07c62fa68d67fd0f8f2"
integrity sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==
-es-abstract@^1.22.1, es-abstract@^1.22.3:
- version "1.22.4"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.4.tgz#26eb2e7538c3271141f5754d31aabfdb215f27bf"
- integrity sha512-vZYJlk2u6qHYxBOTjAeg7qUxHdNfih64Uu2J8QqWgXZ2cri0ZpJAkzDUK/q593+mvKwlxyaxr6F1Q+3LKoQRgg==
+es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2:
+ version "1.23.2"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.2.tgz#693312f3940f967b8dd3eebacb590b01712622e0"
+ integrity sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==
dependencies:
array-buffer-byte-length "^1.0.1"
arraybuffer.prototype.slice "^1.0.3"
- available-typed-arrays "^1.0.6"
+ available-typed-arrays "^1.0.7"
call-bind "^1.0.7"
+ data-view-buffer "^1.0.1"
+ data-view-byte-length "^1.0.1"
+ data-view-byte-offset "^1.0.0"
es-define-property "^1.0.0"
es-errors "^1.3.0"
- es-set-tostringtag "^2.0.2"
+ es-object-atoms "^1.0.0"
+ es-set-tostringtag "^2.0.3"
es-to-primitive "^1.2.1"
function.prototype.name "^1.1.6"
get-intrinsic "^1.2.4"
@@ -3049,15 +3015,16 @@ es-abstract@^1.22.1, es-abstract@^1.22.3:
globalthis "^1.0.3"
gopd "^1.0.1"
has-property-descriptors "^1.0.2"
- has-proto "^1.0.1"
+ has-proto "^1.0.3"
has-symbols "^1.0.3"
- hasown "^2.0.1"
+ hasown "^2.0.2"
internal-slot "^1.0.7"
is-array-buffer "^3.0.4"
is-callable "^1.2.7"
- is-negative-zero "^2.0.2"
+ is-data-view "^1.0.1"
+ is-negative-zero "^2.0.3"
is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.2"
+ is-shared-array-buffer "^1.0.3"
is-string "^1.0.7"
is-typed-array "^1.1.13"
is-weakref "^1.0.2"
@@ -3065,17 +3032,17 @@ es-abstract@^1.22.1, es-abstract@^1.22.3:
object-keys "^1.1.1"
object.assign "^4.1.5"
regexp.prototype.flags "^1.5.2"
- safe-array-concat "^1.1.0"
+ safe-array-concat "^1.1.2"
safe-regex-test "^1.0.3"
- string.prototype.trim "^1.2.8"
- string.prototype.trimend "^1.0.7"
+ string.prototype.trim "^1.2.9"
+ string.prototype.trimend "^1.0.8"
string.prototype.trimstart "^1.0.7"
- typed-array-buffer "^1.0.1"
- typed-array-byte-length "^1.0.0"
- typed-array-byte-offset "^1.0.0"
- typed-array-length "^1.0.4"
+ typed-array-buffer "^1.0.2"
+ typed-array-byte-length "^1.0.1"
+ typed-array-byte-offset "^1.0.2"
+ typed-array-length "^1.0.5"
unbox-primitive "^1.0.2"
- which-typed-array "^1.1.14"
+ which-typed-array "^1.1.15"
es-define-property@^1.0.0:
version "1.0.0"
@@ -3089,7 +3056,14 @@ es-errors@^1.2.1, es-errors@^1.3.0:
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
-es-set-tostringtag@^2.0.2:
+es-object-atoms@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941"
+ integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==
+ dependencies:
+ es-errors "^1.3.0"
+
+es-set-tostringtag@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777"
integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==
@@ -3175,7 +3149,7 @@ extend@^3.0.0:
resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa"
integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -3263,10 +3237,10 @@ firebase@^10.9.0:
"@firebase/storage-compat" "0.3.5"
"@firebase/util" "1.9.4"
-follow-redirects@^1.15.4:
- version "1.15.5"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020"
- integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==
+follow-redirects@^1.15.6:
+ version "1.15.6"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
+ integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
for-each@^0.3.3:
version "0.3.3"
@@ -3297,19 +3271,19 @@ fraction.js@^4.3.7:
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
-frappe-js-sdk@^1.4.0:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/frappe-js-sdk/-/frappe-js-sdk-1.4.0.tgz#3fa2bdd7596a93f4bcf88c4f91731e389c8e8e9a"
- integrity sha512-qJB9awDl5TjXedzaLD4+8yA1bLPwAQ6u0301pwAS/UIKkGVxoN+vOEU1TsPKk074szkeLZtz6j7mW5snpsc9CA==
+frappe-js-sdk@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/frappe-js-sdk/-/frappe-js-sdk-1.5.0.tgz#9fb161edb872136058c51adfba9f2c2927f81d2a"
+ integrity sha512-KzBTvncqhBImIyIRWzZ0JcvYwEBPvGfCvvZ9JTtHE5Zn/YJtbN4GfXDG3x3AGNTVtwdU66zC8ADu20j/tBTXmQ==
dependencies:
axios "^1.6.7"
-frappe-react-sdk@^1.3.11:
- version "1.4.0"
- resolved "https://registry.yarnpkg.com/frappe-react-sdk/-/frappe-react-sdk-1.4.0.tgz#1d802efeaa4dd5e1dd207e3e32ea916fa314fbbe"
- integrity sha512-Yp1VC9AgnoWHLb624RrvKY4zkdd62Pkv5jo+al6i1MVDEVq3qDJwOU2ivqmi/xnb8udhh+IsXoLT9kSJ2a7lXA==
+frappe-react-sdk@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/frappe-react-sdk/-/frappe-react-sdk-1.5.1.tgz#e6d3224e34c210c66a1882da3d140a067d5ccbbc"
+ integrity sha512-DhkQNWnEwBclUSQF33jFQG1pEwqA7/UBHDnY0AybRaxLN0CeVfMu9Ju6JwMCkS8hAGXVAaKo9fpNJCle3OIi5Q==
dependencies:
- frappe-js-sdk "^1.4.0"
+ frappe-js-sdk "^1.5.0"
socket.io-client "4.7.1"
swr "^2.2.5"
@@ -3370,7 +3344,7 @@ get-caller-file@^2.0.5:
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
-get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
+get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
@@ -3481,7 +3455,7 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1, has-property-descriptors@^1.0.2:
+has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
@@ -3498,17 +3472,17 @@ has-symbols@^1.0.2, has-symbols@^1.0.3:
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-has-tostringtag@^1.0.0, has-tostringtag@^1.0.1, has-tostringtag@^1.0.2:
+has-tostringtag@^1.0.0, has-tostringtag@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
dependencies:
has-symbols "^1.0.3"
-hasown@^2.0.0, hasown@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.1.tgz#26f48f039de2c0f8d3356c223fb8d50253519faa"
- integrity sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==
+hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
dependencies:
function-bind "^1.1.2"
@@ -3666,14 +3640,14 @@ html-dom-parser@5.0.8:
htmlparser2 "9.1.0"
html-react-parser@^5.1.8:
- version "5.1.8"
- resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-5.1.8.tgz#b8a294854845bce96627aa4f2ba738362c0ebcf8"
- integrity sha512-oAXgUB4JYHFg4le3RQZtoge1TGMkwXSZPiWiexwdx3AuldgG+QEvbwMrscSViu90JNje3V4Zq5gCUSoTxa0W0A==
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-5.1.9.tgz#7a8eb3a0b243bddf68f1a77bba5e423933b64161"
+ integrity sha512-MP0MQDEGlzkJT0OwY//tKYrgIzBM1frYLxx9RF7ALdIjI+MCMumydcNovXDX4X/iDi1zfgaU28VxoNXZn7EPjQ==
dependencies:
domhandler "5.0.3"
html-dom-parser "5.0.8"
react-property "2.0.2"
- style-to-js "1.1.10"
+ style-to-js "1.1.11"
html-url-attributes@^3.0.0:
version "3.0.0"
@@ -3724,9 +3698,9 @@ inherits@2, inherits@^2.0.3:
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
ini@^4.1.1:
- version "4.1.1"
- resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.1.tgz#d95b3d843b1e906e56d6747d5447904ff50ce7a1"
- integrity sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==
+ version "4.1.2"
+ resolved "https://registry.yarnpkg.com/ini/-/ini-4.1.2.tgz#7f646dbd9caea595e61f88ef60bfff8b01f8130a"
+ integrity sha512-AMB1mvwR1pyBFY/nSevUX6y8nJWS63/SzUKD3JyQn97s4xgIdgQPT75IRouIiBAN4yLQBUShNYVW0+UG25daCw==
inline-style-parser@0.1.1:
version "0.1.1"
@@ -3743,7 +3717,7 @@ input-otp@^1.2.2:
resolved "https://registry.yarnpkg.com/input-otp/-/input-otp-1.2.2.tgz#0a92e80591c4c64d30684509ebba1fcf59ef2d5e"
integrity sha512-9x6UurPuc9Tb+ywWFcFrG4ryvScSmfLyj8D35dl/HNpSr9jZNtWiXufU65kaDHD/KYUop7hDFH+caZCUKdYNsg==
-internal-slot@^1.0.5, internal-slot@^1.0.7:
+internal-slot@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802"
integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==
@@ -3753,9 +3727,9 @@ internal-slot@^1.0.5, internal-slot@^1.0.7:
side-channel "^1.0.4"
ionicons@^7.0.0, ionicons@^7.2.2:
- version "7.2.2"
- resolved "https://registry.yarnpkg.com/ionicons/-/ionicons-7.2.2.tgz#b28140bd8e81ec4eea2d1ee78a5e7cfca9f14d3b"
- integrity sha512-I3iYIfc9Q9FRifWyFSwTAvbEABWlWY32i0sAVDDPGYnaIZVugkLCZFbEcrphW6ixVPg8tt1oLwalo/JJwbEqnA==
+ version "7.3.0"
+ resolved "https://registry.yarnpkg.com/ionicons/-/ionicons-7.3.0.tgz#d2385e87dbe6a8c79fd44fb2e7c87b0de4a2cbcb"
+ integrity sha512-l9quySYi+o4T6mFzhKRyU/1nKc2Zs0zxs7jWcq9iVRhRPQondV11jYqLTed0lVVXHfGrBCfnedKl9D6BCnA1UQ==
dependencies:
"@stencil/core" "^4.0.3"
@@ -3832,6 +3806,13 @@ is-core-module@^2.13.0:
dependencies:
hasown "^2.0.0"
+is-data-view@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f"
+ integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==
+ dependencies:
+ is-typed-array "^1.1.13"
+
is-date-object@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
@@ -3854,13 +3835,6 @@ is-docker@^2.0.0, is-docker@^2.1.1:
resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa"
integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==
-is-extendable@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
- dependencies:
- is-plain-object "^2.0.4"
-
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -3893,7 +3867,7 @@ is-module@^1.0.0:
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
-is-negative-zero@^2.0.2:
+is-negative-zero@^2.0.3:
version "2.0.3"
resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747"
integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==
@@ -3925,13 +3899,6 @@ is-plain-obj@^4.0.0:
resolved "https://registry.yarnpkg.com/is-plain-obj/-/is-plain-obj-4.1.0.tgz#d65025edec3657ce032fd7db63c97883eaed71f0"
integrity sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==
-is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
@@ -3945,7 +3912,7 @@ is-regexp@^1.0.0:
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
-is-shared-array-buffer@^1.0.2:
+is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688"
integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==
@@ -4007,11 +3974,6 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-
jackspeak@^2.3.5:
version "2.3.6"
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8"
@@ -4222,22 +4184,17 @@ magic-string@^0.25.0, magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
-make-error@^1.3.6:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
- integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-
markdown-it@^14.0.0:
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.0.0.tgz#b4b2ddeb0f925e88d981f84c183b59bac9e3741b"
- integrity sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==
+ version "14.1.0"
+ resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45"
+ integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==
dependencies:
argparse "^2.0.1"
entities "^4.4.0"
linkify-it "^5.0.0"
mdurl "^2.0.0"
punycode.js "^2.3.1"
- uc.micro "^2.0.0"
+ uc.micro "^2.1.0"
markdown-table@^3.0.0:
version "3.0.3"
@@ -4368,9 +4325,9 @@ mdast-util-mdx-expression@^2.0.0:
mdast-util-to-markdown "^2.0.0"
mdast-util-mdx-jsx@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.0.tgz#5f7f204cf3f380cba1a8441142406eede1bc7660"
- integrity sha512-A8AJHlR7/wPQ3+Jre1+1rq040fX9A4Q1jG8JxmSNp/PLPHg80A6475wxTp3KzHpApFH6yWxFotHrJQA3dXP6/w==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.1.2.tgz#daae777c72f9c4a106592e3025aa50fb26068e1b"
+ integrity sha512-eKMQDeywY2wlHc97k5eD8VC+9ASMjN8ItEZQNGwJ6E0XWKiW/Z0V5/H8pvoXUf+y+Mj0VIgeRRbujBmFn4FTyA==
dependencies:
"@types/estree-jsx" "^1.0.0"
"@types/hast" "^3.0.0"
@@ -4934,20 +4891,6 @@ object.assign@^4.1.5:
has-symbols "^1.0.3"
object-keys "^1.1.1"
-object.omit@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-3.0.0.tgz#0e3edc2fce2ba54df5577ff529f6d97bd8a522af"
- integrity sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==
- dependencies:
- is-extendable "^1.0.0"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==
- dependencies:
- isobject "^3.0.1"
-
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -5103,9 +5046,9 @@ postcss-nested@^6.0.1:
postcss-selector-parser "^6.0.11"
postcss-selector-parser@^6.0.11:
- version "6.0.15"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535"
- integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==
+ version "6.0.16"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04"
+ integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
@@ -5116,13 +5059,13 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.4.23, postcss@^8.4.27, postcss@^8.4.35:
- version "8.4.35"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7"
- integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==
+ version "8.4.38"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e"
+ integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
dependencies:
nanoid "^3.3.7"
picocolors "^1.0.0"
- source-map-js "^1.0.2"
+ source-map-js "^1.2.0"
pretty-bytes@^5.3.0:
version "5.6.0"
@@ -5206,9 +5149,9 @@ prosemirror-gapcursor@^1.3.2:
prosemirror-view "^1.0.0"
prosemirror-history@^1.0.0, prosemirror-history@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.3.2.tgz#ce6ad7ab9db83e761aee716f3040d74738311b15"
- integrity sha512-/zm0XoU/N/+u7i5zepjmZAEnpvjDtzoPWW6VmKptcAnPadN/SStsBjMImdCEbb3seiNTpveziPTIrXQbHLtU1g==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.4.0.tgz#1edbce630aaf21b808e5a5cd798a09976ecb1827"
+ integrity sha512-UUiGzDVcqo1lovOPdi9YxxUps3oBFWAIYkXLu3Ot+JPv1qzVogRbcizxK3LhHmtaUxclohgiOVesRw5QSlMnbQ==
dependencies:
prosemirror-state "^1.2.2"
prosemirror-transform "^1.0.0"
@@ -5282,9 +5225,9 @@ prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, pr
prosemirror-view "^1.27.0"
prosemirror-tables@^1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.3.5.tgz#80f03394f5b9991f9693bcb3a90b6dba6b16254d"
- integrity sha512-JSZ2cCNlApu/ObAhdPyotrjBe2cimniniTpz60YXzbL0kZ+47nEYk2LWbfKU2lKpBkUNquta2PjteoNi4YCluQ==
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.3.7.tgz#9d296bd432d2bc7dca90f14e5c3b5c5f61277f7a"
+ integrity sha512-oEwX1wrziuxMtwFvdDWSFHVUWrFJWt929kVVfHvtTi8yvw+5ppxjXZkMG/fuTdFo+3DXyIPSKfid+Be1npKXDA==
dependencies:
prosemirror-keymap "^1.1.2"
prosemirror-model "^1.8.1"
@@ -5293,12 +5236,11 @@ prosemirror-tables@^1.3.5:
prosemirror-view "^1.13.3"
prosemirror-trailing-node@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.7.tgz#ba782a7929f18bcae650b1c7082a2d10443eab19"
- integrity sha512-8zcZORYj/8WEwsGo6yVCRXFMOfBo0Ub3hCUvmoWIZYfMP26WqENU0mpEP27w7mt8buZWuGrydBewr0tOArPb1Q==
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.8.tgz#233ddcbda72de06f9b5d758d2a65a8cac482ea10"
+ integrity sha512-ujRYhSuhQb1Jsarh1IHqb2KoSnRiD7wAMDGucP35DN7j5af6X7B18PfdPIrbwsPTqIAj0fyOvxbuPsWhNvylmA==
dependencies:
"@remirror/core-constants" "^2.0.2"
- "@remirror/core-helpers" "^3.0.0"
escape-string-regexp "^4.0.0"
prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1, prosemirror-transform@^1.7.3, prosemirror-transform@^1.8.0:
@@ -5309,9 +5251,9 @@ prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transfor
prosemirror-model "^1.0.0"
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.32.7:
- version "1.33.1"
- resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.33.1.tgz#58dfd154f4fb1c9f7353bf1097c54d6afc6f57ea"
- integrity sha512-62qkYgSJIkwIMMCpuGuPzc52DiK1Iod6TWoIMxP4ja6BTD4yO8kCUL64PZ/WhH/dJ9fW0CDO39FhH1EMyhUFEg==
+ version "1.33.2"
+ resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.33.2.tgz#99e9831757c04fc9bedafee1390b7ab6bd4ff452"
+ integrity sha512-HYMowWXC4pPaTbOxdb8ewMlA/QyttZ9QWJmfzLOzoU5y3sNFqllbhGZ3xsYdnQWi9+iLY55TUDNP+dlqF+VWTw==
dependencies:
prosemirror-model "^1.16.0"
prosemirror-state "^1.0.0"
@@ -5509,7 +5451,7 @@ regenerator-transform@^0.15.2:
dependencies:
"@babel/runtime" "^7.8.4"
-regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.2:
+regexp.prototype.flags@^1.5.2:
version "1.5.2"
resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334"
integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==
@@ -5691,13 +5633,13 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-safe-array-concat@^1.1.0:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692"
- integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==
+safe-array-concat@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb"
+ integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==
dependencies:
- call-bind "^1.0.5"
- get-intrinsic "^1.2.2"
+ call-bind "^1.0.7"
+ get-intrinsic "^1.2.4"
has-symbols "^1.0.3"
isarray "^2.0.5"
@@ -5752,18 +5694,18 @@ serialize-javascript@^4.0.0:
randombytes "^2.1.0"
set-function-length@^1.2.1:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425"
- integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
+ integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
dependencies:
- define-data-property "^1.1.2"
+ define-data-property "^1.1.4"
es-errors "^1.3.0"
function-bind "^1.1.2"
- get-intrinsic "^1.2.3"
+ get-intrinsic "^1.2.4"
gopd "^1.0.1"
- has-property-descriptors "^1.0.1"
+ has-property-descriptors "^1.0.2"
-set-function-name@^2.0.0, set-function-name@^2.0.1:
+set-function-name@^2.0.1, set-function-name@^2.0.2:
version "2.0.2"
resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985"
integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==
@@ -5785,12 +5727,12 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-side-channel@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b"
- integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==
+side-channel@^1.0.4, side-channel@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
+ integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
dependencies:
- call-bind "^1.0.6"
+ call-bind "^1.0.7"
es-errors "^1.3.0"
get-intrinsic "^1.2.4"
object-inspect "^1.13.1"
@@ -5837,10 +5779,10 @@ socket.io-parser@~4.2.4:
"@socket.io/component-emitter" "~3.1.0"
debug "~4.3.1"
-source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+source-map-js@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
+ integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
source-map-support@~0.5.20:
version "0.5.21"
@@ -5883,7 +5825,6 @@ split2@^4.2.0:
integrity sha512-UcjcJOWknrNkF6PLX83qcHM6KHgVKNkV62Y8a5uYDVv9ydGQVwAHMKqHdJje1VTWpljG0WYpCDhrCdAOYH4TWg==
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
- name string-width-cjs
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -5902,46 +5843,50 @@ string-width@^5.0.1, string-width@^5.1.2:
strip-ansi "^7.0.1"
string.prototype.matchall@^4.0.6:
- version "4.0.10"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100"
- integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a"
+ integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.4"
+ gopd "^1.0.1"
has-symbols "^1.0.3"
- internal-slot "^1.0.5"
- regexp.prototype.flags "^1.5.0"
- set-function-name "^2.0.0"
- side-channel "^1.0.4"
+ internal-slot "^1.0.7"
+ regexp.prototype.flags "^1.5.2"
+ set-function-name "^2.0.2"
+ side-channel "^1.0.6"
-string.prototype.trim@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd"
- integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==
+string.prototype.trim@^1.2.9:
+ version "1.2.9"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4"
+ integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.0"
+ es-object-atoms "^1.0.0"
-string.prototype.trimend@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e"
- integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==
+string.prototype.trimend@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229"
+ integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
string.prototype.trimstart@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298"
- integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde"
+ integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
string_decoder@^1.1.1:
version "1.3.0"
@@ -5968,7 +5913,6 @@ stringify-object@^3.3.0:
is-regexp "^1.0.0"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- name strip-ansi-cjs
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -5987,10 +5931,10 @@ strip-comments@^2.0.1:
resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b"
integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==
-style-to-js@1.1.10:
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.10.tgz#ec20e1264ba11dc7f71b94b3a3a05566ed856e54"
- integrity sha512-VC7MBJa+y0RZhpnLKDPmVRLRswsASLmixkiZ5R8xZpNT9VyjeRzwnXd2pBzAWdgSGv/pCNNH01gPCCUsB9exYg==
+style-to-js@1.1.11:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.11.tgz#7ba66214cab556fdded4786e80de0baccfa0e942"
+ integrity sha512-yHpYzXzEkx7iDjGEmE8Eyl4K/hWIm36FXPdRsl2NHEpbigLeawLVsv6tcYp+2xNhfpCrut4w08dYqeCxWMdRxw==
dependencies:
style-to-object "1.0.5"
@@ -6089,9 +6033,9 @@ tailwindcss@^3.4.1:
sucrase "^3.32.0"
tar@^6.1.11:
- version "6.2.0"
- resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.0.tgz#b14ce49a79cb1cd23bc9b016302dea5474493f73"
- integrity sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/tar/-/tar-6.2.1.tgz#717549c541bc3c2af15751bea94b1dd068d4b03a"
+ integrity sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==
dependencies:
chownr "^2.0.0"
fs-minipass "^2.0.0"
@@ -6116,9 +6060,9 @@ tempy@^0.6.0:
unique-string "^2.0.0"
terser@^5.0.0:
- version "5.28.1"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.28.1.tgz#bf00f7537fd3a798c352c2d67d67d65c915d1b28"
- integrity sha512-wM+bZp54v/E9eRRGXb5ZFDvinrJIOaTapx3WUokyVGZu5ucVCK55zEgGd5Dl2fSr3jUo5sDiERErUWLY6QPFyA==
+ version "5.29.2"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.29.2.tgz#c17d573ce1da1b30f21a877bffd5655dd86fdb35"
+ integrity sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==
dependencies:
"@jridgewell/source-map" "^0.3.3"
acorn "^8.8.2"
@@ -6139,11 +6083,6 @@ thenify-all@^1.0.0:
dependencies:
any-promise "^1.0.0"
-throttle-debounce@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb"
- integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==
-
through2@^4.0.2:
version "4.0.2"
resolved "https://registry.yarnpkg.com/through2/-/through2-4.0.2.tgz#a7ce3ac2a7a8b0b966c80e7c49f0484c3b239764"
@@ -6218,9 +6157,9 @@ tslib@*, tslib@^2.0.1, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2:
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
turndown@^7.1.2:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/turndown/-/turndown-7.1.2.tgz#7feb838c78f14241e79ed92a416e0d213e044a29"
- integrity sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/turndown/-/turndown-7.1.3.tgz#2890eb76c603e66bf0c9e91526582b563065c57d"
+ integrity sha512-Z3/iJ6IWh8VBiACWQJaA5ulPQE5E1QwvBHj00uGzdQxdRnd8fh1DPqNOJqzQDu6DkOstORrtXzf/9adB+vMtEA==
dependencies:
domino "^2.1.6"
@@ -6229,12 +6168,7 @@ type-fest@^0.16.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
-type-fest@^2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
- integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
-
-typed-array-buffer@^1.0.1:
+typed-array-buffer@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3"
integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==
@@ -6243,7 +6177,7 @@ typed-array-buffer@^1.0.1:
es-errors "^1.3.0"
is-typed-array "^1.1.13"
-typed-array-byte-length@^1.0.0:
+typed-array-byte-length@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67"
integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==
@@ -6254,7 +6188,7 @@ typed-array-byte-length@^1.0.0:
has-proto "^1.0.3"
is-typed-array "^1.1.13"
-typed-array-byte-offset@^1.0.0:
+typed-array-byte-offset@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063"
integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==
@@ -6266,10 +6200,10 @@ typed-array-byte-offset@^1.0.0:
has-proto "^1.0.3"
is-typed-array "^1.1.13"
-typed-array-length@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.5.tgz#57d44da160296d8663fd63180a1802ebf25905d5"
- integrity sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==
+typed-array-length@^1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3"
+ integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==
dependencies:
call-bind "^1.0.7"
for-each "^0.3.3"
@@ -6283,10 +6217,10 @@ typescript@^4.9.3:
resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.9.5.tgz#095979f9bcc0d09da324d58d03ce8f8374cbe65a"
integrity sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==
-uc.micro@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.0.0.tgz#84b3c335c12b1497fd9e80fcd3bfa7634c363ff1"
- integrity sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==
+uc.micro@^2.0.0, uc.micro@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee"
+ integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==
unbox-primitive@^1.0.2:
version "1.0.2"
@@ -6563,9 +6497,9 @@ vfile@^6.0.0:
vfile-message "^4.0.0"
vite-plugin-pwa@^0.19.0:
- version "0.19.0"
- resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.19.0.tgz#2223d6014b9b980deb89a7e8aefebafe71d8a7ef"
- integrity sha512-Unfb4Jk/ka4HELtpMLIPCmGcW4LFT+CL7Ri1/Of1544CVKXS2ftP91kUkNzkzeI1sGpOdVGuxprVLB9NjMoCAA==
+ version "0.19.6"
+ resolved "https://registry.yarnpkg.com/vite-plugin-pwa/-/vite-plugin-pwa-0.19.6.tgz#8a12db16b13c946de38cc6b00f39cc24b070df0d"
+ integrity sha512-3hoxgrDGRzh1vidcZ/GSKXBDiZqbL8DRHXkJgkbJ2Xp3+/P4nau6118L5XlJJsm/wXPpwc/JpDj6Mf073s69+A==
dependencies:
debug "^4.3.4"
fast-glob "^3.3.2"
@@ -6638,16 +6572,16 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
-which-typed-array@^1.1.14:
- version "1.1.14"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06"
- integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==
+which-typed-array@^1.1.14, which-typed-array@^1.1.15:
+ version "1.1.15"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d"
+ integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==
dependencies:
- available-typed-arrays "^1.0.6"
- call-bind "^1.0.5"
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.7"
for-each "^0.3.3"
gopd "^1.0.1"
- has-tostringtag "^1.0.1"
+ has-tostringtag "^1.0.2"
which@^2.0.1:
version "2.0.2"
@@ -6815,7 +6749,6 @@ workbox-window@7.0.0, workbox-window@^7.0.0:
workbox-core "7.0.0"
"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0:
- name wrap-ansi-cjs
version "7.0.0"
resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
@@ -6887,9 +6820,9 @@ yallist@^4.0.0:
integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
yaml@^2.3.4:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
- integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.1.tgz#2e57e0b5e995292c25c75d2658f0664765210eed"
+ integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==
yargs-parser@^21.1.1:
version "21.1.1"
diff --git a/raven-app/index.html b/raven-app/index.html
index 4b44c5780..b43602a3f 100644
--- a/raven-app/index.html
+++ b/raven-app/index.html
@@ -4,7 +4,7 @@
- Raven
+ {{ app_name }}
diff --git a/raven-app/package.json b/raven-app/package.json
index 393a00059..5b68719c4 100644
--- a/raven-app/package.json
+++ b/raven-app/package.json
@@ -14,6 +14,7 @@
"@radix-ui/themes": "^2.0.3",
"@tiptap/extension-code-block-lowlight": "^2.2.2",
"@tiptap/extension-highlight": "^2.2.2",
+ "@tiptap/extension-image": "^2.2.4",
"@tiptap/extension-link": "^2.2.2",
"@tiptap/extension-mention": "^2.2.2",
"@tiptap/extension-placeholder": "^2.2.2",
@@ -31,7 +32,7 @@
"cva": "npm:class-variance-authority",
"downshift": "^8.3.1",
"emoji-picker-element": "^1.21.0",
- "frappe-react-sdk": "^1.3.10",
+ "frappe-react-sdk": "^1.5.1",
"highlight.js": "^11.9.0",
"html-react-parser": "^5.1.8",
"js-cookie": "^3.0.5",
@@ -60,4 +61,4 @@
"@types/turndown": "^5.0.4",
"typescript": "^5.3.3"
}
-}
+}
\ No newline at end of file
diff --git a/raven-app/src/App.tsx b/raven-app/src/App.tsx
index 0bafda5ab..168891ad8 100644
--- a/raven-app/src/App.tsx
+++ b/raven-app/src/App.tsx
@@ -18,11 +18,22 @@ const router = createBrowserRouter(
import('@/pages/auth/LoginWithEmail')} />
import('@/pages/auth/SignUp')} />
}>
- } />
- } >
- } />
- import('./components/feature/saved-messages/SavedMessages')} />
- import('@/pages/ChatSpace')} />
+ }>
+ } >
+ } />
+ import('./components/feature/saved-messages/SavedMessages')} />
+ import('@/pages/ChatSpace')} />
+
+ {/* import('./pages/settings/Settings')}>
+
+ import('./pages/settings/Webhooks/WebhookList')} />
+ import('./pages/settings/Webhooks/CreateWebhook')} />
+ import('./pages/settings/Webhooks/ViewWebhook')} />
+ } />
+ } />
+ } />
+
+ */}
>
diff --git a/raven-app/src/components/common/Form.tsx b/raven-app/src/components/common/Form.tsx
index 90160955c..0f75a1e28 100644
--- a/raven-app/src/components/common/Form.tsx
+++ b/raven-app/src/components/common/Form.tsx
@@ -27,6 +27,6 @@ export const HelperText = (props: TextProps) => {
export const ErrorText = (props: TextProps) => {
return (
//@ts-expect-error
-
+
)
}
\ No newline at end of file
diff --git a/raven-app/src/components/common/GIFPicker/GIFFeaturedResults.tsx b/raven-app/src/components/common/GIFPicker/GIFFeaturedResults.tsx
new file mode 100644
index 000000000..af9f424fa
--- /dev/null
+++ b/raven-app/src/components/common/GIFPicker/GIFFeaturedResults.tsx
@@ -0,0 +1,28 @@
+import { useSWR } from "frappe-react-sdk"
+import { TENOR_API_KEY, TENOR_CLIENT_KEY, TENOR_FEATURED_API_ENDPOINT_BASE } from "./GIFPicker"
+import { GIFGallerySkeleton } from "./GIFGallerySkeleton"
+
+export interface Props {
+ onSelect: (gif: Result) => void
+}
+
+const fetcher = (url: string) => fetch(url).then(res => res.json())
+
+export const GIFFeaturedResults = ({ onSelect }: Props) => {
+
+ const { data: GIFS, isLoading } = useSWR(`${TENOR_FEATURED_API_ENDPOINT_BASE}?&key=${TENOR_API_KEY}&client_key=${TENOR_CLIENT_KEY}`, fetcher)
+
+ return (
+
+ {isLoading ?
:
+
+ {GIFS && GIFS.results.map((gif, index) => (
+
onSelect(gif)}>
+
+
+ ))}
+
+ }
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/common/GIFPicker/GIFGallerySkeleton.tsx b/raven-app/src/components/common/GIFPicker/GIFGallerySkeleton.tsx
new file mode 100644
index 000000000..bb15e3f73
--- /dev/null
+++ b/raven-app/src/components/common/GIFPicker/GIFGallerySkeleton.tsx
@@ -0,0 +1,48 @@
+import { Skeleton } from "../Skeleton"
+
+export const GIFGallerySkeleton = () => {
+ return (
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/common/GIFPicker/GIFPicker.tsx b/raven-app/src/components/common/GIFPicker/GIFPicker.tsx
new file mode 100644
index 000000000..8f1817854
--- /dev/null
+++ b/raven-app/src/components/common/GIFPicker/GIFPicker.tsx
@@ -0,0 +1,63 @@
+import { useDebounce } from "@/hooks/useDebounce"
+import { Box, Flex, TextField } from "@radix-ui/themes"
+import { useState } from "react"
+import { BiSearch } from "react-icons/bi"
+import { GIFSearchResults } from "./GIFSearchResults"
+import { GIFFeaturedResults } from "./GIFFeaturedResults"
+
+export const TENOR_SEARCH_API_ENDPOINT_BASE = `https://tenor.googleapis.com/v2/search`
+export const TENOR_FEATURED_API_ENDPOINT_BASE = `https://tenor.googleapis.com/v2/featured`
+// @ts-expect-error
+export const TENOR_API_KEY = window.frappe?.boot.tenor_api_key
+// @ts-expect-error
+export const TENOR_CLIENT_KEY = import.meta.env.DEV ? `dev::${window.frappe?.boot.sitename}` : window.frappe?.boot.sitename
+
+export interface GIFPickerProps {
+ onSelect: (gif: any) => void
+}
+
+/**
+ * GIF Picker component (in-house) to search and select GIFs
+ * @param onSelect - callback function to handle GIF selection
+ */
+export const GIFPicker = ({ onSelect }: GIFPickerProps) => {
+ // Get GIFs from Tenor API and display them
+ // show a search bar to search for GIFs
+ // on select, call onSelect with the gif URL
+
+ const [searchText, setSearchText] = useState("")
+ const debouncedText = useDebounce(searchText, 200)
+
+ return (
+
+
+
+
+
+
+
+ setSearchText(e.target.value)}
+ value={searchText}
+ type='text'
+ placeholder='Search GIFs' />
+
+
+
+ {debouncedText.length >= 2 ? (
+
+ ) : (
+
+ )}
+
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/common/GIFPicker/GIFSearchResults.tsx b/raven-app/src/components/common/GIFPicker/GIFSearchResults.tsx
new file mode 100644
index 000000000..be6876ea3
--- /dev/null
+++ b/raven-app/src/components/common/GIFPicker/GIFSearchResults.tsx
@@ -0,0 +1,29 @@
+import { useSWR } from "frappe-react-sdk"
+import { TENOR_API_KEY, TENOR_CLIENT_KEY, TENOR_SEARCH_API_ENDPOINT_BASE } from "./GIFPicker"
+import { GIFGallerySkeleton } from "./GIFGallerySkeleton"
+
+export interface Props {
+ query: string
+ onSelect: (gif: Result) => void
+}
+
+const fetcher = (url: string) => fetch(url).then(res => res.json())
+
+export const GIFSearchResults = ({ query, onSelect }: Props) => {
+
+ const { data: GIFS, isLoading } = useSWR(`${TENOR_SEARCH_API_ENDPOINT_BASE}?q=${query}&key=${TENOR_API_KEY}&client_key=${TENOR_CLIENT_KEY}&limit=10`, fetcher)
+
+ return (
+
+ {isLoading ?
:
+
+ {GIFS && GIFS.results.map((gif, index) => (
+
onSelect(gif)}>
+
+
+ ))}
+
+ }
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/common/UserAvatar.tsx b/raven-app/src/components/common/UserAvatar.tsx
index 1e4f87435..f07573ebe 100644
--- a/raven-app/src/components/common/UserAvatar.tsx
+++ b/raven-app/src/components/common/UserAvatar.tsx
@@ -1,14 +1,17 @@
import { useInView } from 'react-intersection-observer'
import { Skeleton } from './Skeleton'
-import { Avatar } from '@radix-ui/themes'
+import { Avatar, Theme } from '@radix-ui/themes'
import { AvatarProps } from '@radix-ui/themes/dist/cjs/components/avatar'
import { BoxProps } from '@radix-ui/themes/dist/cjs/components/box'
import { clsx } from 'clsx'
import { generateAvatarColor } from '../feature/select-member/GenerateAvatarColor'
+import { RiRobot2Fill } from 'react-icons/ri'
+import { useMemo } from 'react'
interface UserAvatarProps extends Partial {
alt?: string,
isActive?: boolean,
+ isBot?: boolean,
skeletonSize?: BoxProps['width'] | BoxProps['height'],
}
const options = {
@@ -39,11 +42,12 @@ const radixRadiusToTailwind = (radius: "none" | "small" | "medium" | "large" | "
}
}
-export const UserAvatar = ({ src, alt, size = '1', radius = 'medium', isActive, skeletonSize = '5', fallback, className, ...props }: UserAvatarProps) => {
+export const UserAvatar = ({ src, alt, size = '1', radius = 'medium', isActive, skeletonSize = '5', fallback, isBot, className, ...props }: UserAvatarProps) => {
const { ref, inView } = useInView(options)
- return
+ const color = useMemo(() => generateAvatarColor(alt), [alt])
+ return
{inView ?
-
+
:
}
@@ -52,5 +56,9 @@ export const UserAvatar = ({ src, alt, size = '1', radius = 'medium', isActive,
}
+ {isBot &&
+
+ }
+
}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/chat-header/DMChannelHeader.tsx b/raven-app/src/components/feature/chat-header/DMChannelHeader.tsx
index 27fa33359..76524ec0c 100644
--- a/raven-app/src/components/feature/chat-header/DMChannelHeader.tsx
+++ b/raven-app/src/components/feature/chat-header/DMChannelHeader.tsx
@@ -3,9 +3,10 @@ import { useIsUserActive } from "@/hooks/useIsUserActive"
import { DMChannelListItem } from "@/utils/channel/ChannelListProvider"
import { ChannelMembers } from "@/utils/channel/ChannelMembersProvider"
import { SearchButton } from "./SearchButton"
-import { Flex, Heading } from "@radix-ui/themes"
+import { Badge, Flex, Heading } from "@radix-ui/themes"
import { UserAvatar } from "@/components/common/UserAvatar"
import { ViewFilesButton } from "../files/ViewFilesButton"
+import { useMemo } from "react"
interface DMChannelHeaderProps {
channelData: DMChannelListItem,
@@ -20,16 +21,36 @@ export const DMChannelHeader = ({ channelData, channelMembers }: DMChannelHeader
const peer = channelData.peer_user_id
const isActive = useIsUserActive(channelData.peer_user_id)
+ const { isBot, fullName, userImage } = useMemo(() => {
+
+ const peerUserData = channelMembers?.[peer]
+
+ const isBot = peerUserData?.type === 'Bot'
+
+ return {
+ fullName: peerUserData?.full_name ?? peer,
+ userImage: peerUserData?.user_image ?? '',
+ isBot
+ }
+
+ }, [channelMembers, peer])
+
return (
-
+
- {channelMembers?.[peer]?.full_name ?? peer}
+
+
+ {fullName} {isBot && Bot }
+
+
diff --git a/raven-app/src/components/feature/chat/ChatInput/FileInput/useFileUpload.ts b/raven-app/src/components/feature/chat/ChatInput/FileInput/useFileUpload.ts
index ed318537e..e12d91486 100644
--- a/raven-app/src/components/feature/chat/ChatInput/FileInput/useFileUpload.ts
+++ b/raven-app/src/components/feature/chat/ChatInput/FileInput/useFileUpload.ts
@@ -51,7 +51,7 @@ export default function useFileUpload(channelID: string, selectedMessage?: Messa
fieldname: 'file',
},
(bytesUploaded, totalBytes) => {
- const percentage = Math.round((bytesUploaded / totalBytes) * 100)
+ const percentage = Math.round((bytesUploaded / (totalBytes ?? f.size)) * 100)
setFileUploadProgress(p => ({
...p,
diff --git a/raven-app/src/components/feature/chat/ChatInput/RightToolbarButtons.tsx b/raven-app/src/components/feature/chat/ChatInput/RightToolbarButtons.tsx
index ea54c8213..27308b7ab 100644
--- a/raven-app/src/components/feature/chat/ChatInput/RightToolbarButtons.tsx
+++ b/raven-app/src/components/feature/chat/ChatInput/RightToolbarButtons.tsx
@@ -6,6 +6,9 @@ import { Flex, IconButton, Inset, Popover, Separator } from '@radix-ui/themes'
import { Loader } from '@/components/common/Loader'
import { Suspense, lazy } from 'react'
import { CreatePoll } from '../../polls/CreatePoll'
+import { HiOutlineGif } from "react-icons/hi2";
+import { GIFPicker } from '@/components/common/GIFPicker/GIFPicker'
+
const EmojiPicker = lazy(() => import('@/components/common/EmojiPicker/EmojiPicker'))
@@ -35,6 +38,7 @@ export const RightToolbarButtons = ({ fileProps, ...sendProps }: RightToolbarBut
+
{fileProps && }
@@ -115,6 +119,39 @@ const EmojiPickerButton = () => {
}
+const GIFPickerButton = () => {
+
+ const { editor } = useCurrentEditor()
+
+ if (!editor) {
+ return null
+ }
+
+ return
+
+
+
+
+
+
+
+ }>
+ {/* FIXME: 1. Handle 'HardBreak' coz it adds newline (empty); and if user doesn't write any text, then newline is added as text content.
+ 2. Also if you write first & then add GIF there's no 'HardBreak'.
+ */}
+ editor.chain().focus().setImage({ src: gif.media_formats.gif.url }).setHardBreak().run()} />
+
+
+
+
+}
+
const FilePickerButton = ({ fileProps }: { fileProps: ToolbarFileProps }) => {
const { editor } = useCurrentEditor()
const fileButtonClicked = () => {
@@ -148,9 +185,13 @@ const SendButton = ({ sendMessage, messageSending, setContent }: {
const hasContent = editor.getText().trim().length > 0
+ console.log("Editor content: ", editor.getJSON())
+
+ const hasInlineImage = editor.getHTML().includes('img')
+
let html = ''
let json = {}
- if (hasContent) {
+ if (hasContent || hasInlineImage) {
html = editor.getHTML()
json = editor.getJSON()
}
diff --git a/raven-app/src/components/feature/chat/ChatInput/Tiptap.tsx b/raven-app/src/components/feature/chat/ChatInput/Tiptap.tsx
index d653cb70b..218b684e8 100644
--- a/raven-app/src/components/feature/chat/ChatInput/Tiptap.tsx
+++ b/raven-app/src/components/feature/chat/ChatInput/Tiptap.tsx
@@ -28,6 +28,7 @@ import { Plugin } from 'prosemirror-state'
import { Box } from '@radix-ui/themes'
import { useSessionStickyState } from '@/hooks/useStickyState'
import { Message } from '../../../../../../types/Messaging/Message'
+import Image from '@tiptap/extension-image'
const lowlight = createLowlight(common)
lowlight.register('html', html)
@@ -414,6 +415,9 @@ const Tiptap = ({ slotBefore, fileProps, onMessageSend, replyMessage, clearReply
CodeBlockLowlight.configure({
lowlight
}),
+ Image.configure({
+ inline: true,
+ }),
KeyboardHandler
]
diff --git a/raven-app/src/components/feature/chat/ChatInput/tiptap.styles.css b/raven-app/src/components/feature/chat/ChatInput/tiptap.styles.css
index 0359f7829..756c0319c 100644
--- a/raven-app/src/components/feature/chat/ChatInput/tiptap.styles.css
+++ b/raven-app/src/components/feature/chat/ChatInput/tiptap.styles.css
@@ -16,6 +16,13 @@
border-top-right-radius: var(--radius-2);
}
+.tiptap-editor.ProseMirror img {
+ width: 200px;
+ height: auto;
+ object-fit: content;
+
+}
+
.tiptap-editor.replying.ProseMirror {
border-top-left-radius: 0;
border-top-right-radius: 0;
diff --git a/raven-app/src/components/feature/chat/ChatMessage/MessageItem.tsx b/raven-app/src/components/feature/chat/ChatMessage/MessageItem.tsx
index 6a774a938..5de3998fc 100644
--- a/raven-app/src/components/feature/chat/ChatMessage/MessageItem.tsx
+++ b/raven-app/src/components/feature/chat/ChatMessage/MessageItem.tsx
@@ -1,4 +1,4 @@
-import { Avatar, Box, ContextMenu, Flex, HoverCard, Link, Separator, Text } from '@radix-ui/themes'
+import { Avatar, Badge, Box, ContextMenu, Flex, HoverCard, Link, Separator, Text, Theme } from '@radix-ui/themes'
import { Message, MessageBlock } from '../../../../../../types/Messaging/Message'
import { MessageContextMenu } from './MessageActions/MessageActions'
import { DateTooltip, DateTooltipShort } from './Renderers/DateTooltip'
@@ -20,6 +20,7 @@ import { ReplyMessageBox } from './ReplyMessageBox/ReplyMessageBox'
import { generateAvatarColor } from '../../select-member/GenerateAvatarColor'
import { DoctypeLinkRenderer } from './Renderers/DoctypeLinkRenderer'
import { useDebounce } from '@/hooks/useDebounce'
+import { RiRobot2Fill } from 'react-icons/ri'
interface MessageBlockProps {
message: Message,
@@ -32,9 +33,9 @@ interface MessageBlockProps {
export const MessageItem = ({ message, setDeleteMessage, isHighlighted, onReplyMessageClick, setEditMessage, replyToMessage }: MessageBlockProps) => {
- const { name, owner: userID, creation: timestamp, message_reactions, is_continuation, linked_message, replied_message_details } = message
+ const { name, owner: userID, is_bot_message, bot, creation: timestamp, message_reactions, is_continuation, linked_message, replied_message_details } = message
- const { user, isActive } = useGetUserDetails(userID)
+ const { user, isActive } = useGetUserDetails(is_bot_message && bot ? bot : userID)
const onDelete = () => {
setDeleteMessage(message)
@@ -182,36 +183,50 @@ interface UserProps {
export const MessageSenderAvatar = memo(({ user, userID, isActive = false }: UserProps) => {
const alt = user?.full_name ?? userID
- return
-
+
+ const isBot = user?.type === 'Bot'
+ const color = useMemo(() => generateAvatarColor(user?.full_name ?? userID), [user?.full_name, userID])
+ return
+
{isActive &&
}
+ {isBot &&
+
+ }
+
})
export const UserHoverCard = memo(({ user, userID, isActive }: UserProps) => {
+ const { isBot, fullName, userImage } = useMemo(() => {
+ return {
+ fullName: user?.full_name ?? userID,
+ userImage: user?.user_image ?? '',
+ isBot: user?.type === 'Bot'
+ }
+ }, [user, userID])
return
-
- {user?.full_name ?? userID}
+
+ {fullName} {isBot && Bot }
-
+
- {user?.full_name ?? userID}
+ {fullName}
{isActive &&
Online
}
- {user && {user?.name} }
+ {user && !isBot && {user?.name} }
diff --git a/raven-app/src/components/feature/chat/ChatMessage/Renderers/TiptapRenderer/TiptapRenderer.tsx b/raven-app/src/components/feature/chat/ChatMessage/Renderers/TiptapRenderer/TiptapRenderer.tsx
index 065e3d40a..9ab0e1f2e 100644
--- a/raven-app/src/components/feature/chat/ChatMessage/Renderers/TiptapRenderer/TiptapRenderer.tsx
+++ b/raven-app/src/components/feature/chat/ChatMessage/Renderers/TiptapRenderer/TiptapRenderer.tsx
@@ -19,6 +19,7 @@ import { CustomUserMention } from './Mention'
import { CustomLink, LinkPreview } from './Link'
import { CustomItalic } from './Italic'
import { CustomUnderline } from './Underline'
+import { Image } from '@tiptap/extension-image'
import { clsx } from 'clsx'
const lowlight = createLowlight(common)
@@ -79,7 +80,13 @@ export const TiptapRenderer = ({ message, user, isScrolling = false, isTruncated
CustomBold,
CustomUserMention,
CustomLink,
- CustomItalic
+ CustomItalic,
+ Image.configure({
+ HTMLAttributes: {
+ class: 'w-full h-auto'
+ },
+ inline: true
+ }),
// TODO: Add channel mention
// CustomChannelMention
]
diff --git a/raven-app/src/components/feature/chat/ChatStream/ChatStream.tsx b/raven-app/src/components/feature/chat/ChatStream/ChatStream.tsx
index a91ecc91f..e446ff872 100644
--- a/raven-app/src/components/feature/chat/ChatStream/ChatStream.tsx
+++ b/raven-app/src/components/feature/chat/ChatStream/ChatStream.tsx
@@ -11,6 +11,9 @@ import ChatStreamLoader from './ChatStreamLoader'
import clsx from 'clsx'
import { DateSeparator } from '@/components/layout/Divider/DateSeparator'
import { useInView } from 'react-intersection-observer'
+import { Button } from '@radix-ui/themes'
+import { FiArrowDown } from 'react-icons/fi'
+import { ErrorBanner } from '@/components/layout/AlertBanner'
/**
* Anatomy of a message
@@ -66,9 +69,8 @@ const ChatStream = ({ replyToMessage }: Props) => {
const { channelID } = useParams()
const scrollRef = useRef(null)
- // const prevScrollTop = useRef(0)
- const { messages, hasOlderMessages, loadOlderMessages, loadingOlderMessages, hasNewMessages, loadNewerMessages, isLoading, highlightedMessage, scrollToMessage } = useChatStream(scrollRef)
+ const { messages, hasOlderMessages, loadOlderMessages, goToLatestMessages, hasNewMessages, error, loadNewerMessages, isLoading, highlightedMessage, scrollToMessage } = useChatStream(scrollRef)
const { setDeleteMessage, ...deleteProps } = useDeleteMessage()
const { setEditMessage, ...editProps } = useEditMessage()
@@ -83,10 +85,15 @@ const ChatStream = ({ replyToMessage }: Props) => {
skip: !hasOlderMessages,
onChange: (async (inView) => {
if (inView && hasOlderMessages) {
- const lastMessage = messages ? messages[messages.length - 1] : null;
+ const lastMessage = messages ? messages[0] : null;
await loadOlderMessages()
// Restore the scroll position to the last message before loading more
- document.getElementById(`message-${lastMessage?.name}`)?.scrollIntoView()
+ if (lastMessage?.message_type === 'date') {
+ document.getElementById(`date-${lastMessage?.creation}`)?.scrollIntoView()
+ } else {
+ document.getElementById(`message-${lastMessage?.name}`)?.scrollIntoView()
+ }
+
}
})
});
@@ -103,7 +110,7 @@ const ChatStream = ({ replyToMessage }: Props) => {
});
return (
-
+
{hasOlderMessages && !isLoading &&
@@ -111,10 +118,11 @@ const ChatStream = ({ replyToMessage }: Props) => {
{!isLoading && !hasOlderMessages &&
}
{isLoading &&
}
+ {error &&
}
{messages?.map(message => {
if (message.message_type === 'date') {
- return
+ return
{message.creation}
} else {
@@ -138,6 +146,15 @@ const ChatStream = ({ replyToMessage }: Props) => {
}
+
+ {hasNewMessages &&
+
+ Scroll to new messages
+
+
+
}
diff --git a/raven-app/src/components/feature/chat/ChatStream/useChatStream.ts b/raven-app/src/components/feature/chat/ChatStream/useChatStream.ts
index 0966d7ee8..404bcad1d 100644
--- a/raven-app/src/components/feature/chat/ChatStream/useChatStream.ts
+++ b/raven-app/src/components/feature/chat/ChatStream/useChatStream.ts
@@ -1,9 +1,10 @@
import { useFrappeDocumentEventListener, useFrappeEventListener, useFrappeGetCall, useFrappePostCall } from 'frappe-react-sdk'
-import { MutableRefObject, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'
+import { MutableRefObject, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState } from 'react'
import { useBeforeUnload, useLocation, useNavigate, useParams } from 'react-router-dom'
import { Message } from '../../../../../../types/Messaging/Message'
import { convertFrappeTimestampToUserTimezone } from '@/utils/dateConversions/utils'
import { useDebounce } from '@/hooks/useDebounce'
+import { UserContext } from '@/utils/auth/UserProvider'
interface GetMessagesResponse {
message: {
@@ -30,6 +31,8 @@ const useChatStream = (scrollRef: MutableRefObject
) => {
const navigate = useNavigate()
const { state } = location
+ const { currentUser } = useContext(UserContext)
+
const [highlightedMessage, setHighlightedMessage] = useState(state?.baseMessage ? state.baseMessage : null)
@@ -195,8 +198,12 @@ const useChatStream = (scrollRef: MutableRefObject) => {
// If the user is focused on the page, then we also need to
if (scrollRef.current) {
// We only scroll to the bottom if the user is close to the bottom
- scrollRef.current?.scrollTo(0, scrollRef.current?.scrollHeight)
- // TODO: Else we show a notification that there are new messages
+ if (scrollRef.current.scrollTop + scrollRef.current.clientHeight >= scrollRef.current.scrollHeight - 100) {
+ scrollRef.current?.scrollTo(0, scrollRef.current?.scrollHeight)
+ } else if (event.message_details.owner === currentUser) {
+ // If the user is the sender of the message, scroll to the bottom
+ scrollRef.current?.scrollTo(0, scrollRef.current?.scrollHeight)
+ }
}
}
})
@@ -487,6 +494,7 @@ const useChatStream = (scrollRef: MutableRefObject) => {
// Use the id to scroll to the message
document.getElementById(`message-${messageID}`)?.scrollIntoView({ behavior: 'smooth', block: 'center' })
setHighlightedMessage(messageID)
+
} else {
// If not, change the base message, fetch the message and scroll to it.
navigate(location, {
@@ -499,6 +507,12 @@ const useChatStream = (scrollRef: MutableRefObject) => {
}
+ const goToLatestMessages = () => {
+ navigate(location, {
+ replace: true
+ })
+ }
+
return {
messages,
hasOlderMessages: data?.message.has_old_messages ?? false,
@@ -509,7 +523,8 @@ const useChatStream = (scrollRef: MutableRefObject) => {
loadNewerMessages,
loadOlderMessages,
scrollToMessage,
- highlightedMessage
+ highlightedMessage,
+ goToLatestMessages
}
}
diff --git a/raven-app/src/components/feature/integrations/webhooks/BackToList.tsx b/raven-app/src/components/feature/integrations/webhooks/BackToList.tsx
new file mode 100644
index 000000000..4b180d02a
--- /dev/null
+++ b/raven-app/src/components/feature/integrations/webhooks/BackToList.tsx
@@ -0,0 +1,22 @@
+import { Flex, Text } from "@radix-ui/themes"
+import { BiChevronLeft } from "react-icons/bi"
+import { useNavigate } from "react-router-dom"
+
+export const BackToList = () => {
+
+ const navigate = useNavigate()
+
+ return (
+
+ navigate('/settings/integrations/webhooks')}
+ >
+
+ Back to the list
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/integrations/webhooks/ViewWebhookPage.tsx b/raven-app/src/components/feature/integrations/webhooks/ViewWebhookPage.tsx
new file mode 100644
index 000000000..d2597c17c
--- /dev/null
+++ b/raven-app/src/components/feature/integrations/webhooks/ViewWebhookPage.tsx
@@ -0,0 +1,140 @@
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { AlertDialog, Badge, Button, DropdownMenu, Flex, IconButton, Separator, Text } from "@radix-ui/themes"
+import { FrappeDoc, useFrappeUpdateDoc } from "frappe-react-sdk"
+import { FieldValues, FormProvider, useForm } from "react-hook-form"
+import { KeyedMutator } from 'swr'
+import { useToast } from "@/hooks/useToast"
+import { BiDotsVerticalRounded } from "react-icons/bi"
+import { useState } from "react"
+import { DIALOG_CONTENT_CLASS } from "@/utils/layout/dialog"
+import { Loader } from "@/components/common/Loader"
+import { RavenWebhook } from "@/types/RavenIntegrations/RavenWebhook"
+import { BackToList } from "./BackToList"
+import { WebhookForm } from "./WebhookForm"
+
+export const ViewWebhookPage = ({ data, mutate }: { data: FrappeDoc, mutate: KeyedMutator> }) => {
+
+ const methods = useForm({
+ defaultValues: {
+ ...data,
+ docstatus: data.docstatus
+ }
+ })
+
+ const { updateDoc, loading, reset, error } = useFrappeUpdateDoc()
+
+ const { toast } = useToast()
+
+ const isDirty = methods.formState.isDirty
+
+ const onSubmit = async (data: FieldValues) => {
+ return updateDoc('Raven Webhook', data.name, data)
+ .then((doc) => {
+ toast({
+ title: "Webhook updated successfully.",
+ variant: 'success',
+ })
+ reset()
+ mutate()
+ if (doc) {
+ methods.reset({
+ ...doc,
+ docstatus: doc.docstatus
+ })
+ }
+ })
+ }
+
+ const [open, setOpen] = useState(false)
+ const onClose = () => {
+ setOpen(false)
+ }
+
+ const onUpdateEnabled = () => {
+ updateDoc('Raven Webhook', data.name, {
+ enabled: !data.enabled
+ }).then((doc) => {
+ toast({
+ title: "Webhook updated successfully.",
+ variant: 'success',
+ })
+ reset()
+ mutate()
+ })
+ }
+
+ return (
+
+
+
+
+
+
+ {data?.name}
+ {data.enabled ? 'Enabled' : 'Disabled'}
+
+
+
+
+
+
+
+
+ setOpen(true)} className="cursor-pointer">
+ {data.enabled ? 'Disable' : 'Enable'} Webhook
+
+
+
+
+
+
+
+
+
+
+ Save Webhook
+
+
+
+
+
+
+ {data.enabled ? 'Disable' : 'Enable'} Webhook
+
+
+
+ Are you sure you want to {data.enabled ? 'disable' : 'enable'} this webhook?
+
+
+
+
+ Cancel
+
+
+
+
+ {loading && }
+ {loading ? "Updating" : data.enabled ? "Disable" : "Enable"}
+
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/integrations/webhooks/WebhookForm.tsx b/raven-app/src/components/feature/integrations/webhooks/WebhookForm.tsx
new file mode 100644
index 000000000..964cc7bc5
--- /dev/null
+++ b/raven-app/src/components/feature/integrations/webhooks/WebhookForm.tsx
@@ -0,0 +1,306 @@
+import React, { useContext } from 'react';
+import { Controller, useFormContext } from 'react-hook-form';
+import { Box, Checkbox, Flex, TextFieldInput, Select, TextArea, Heading, Text, Code, } from '@radix-ui/themes';
+import { ErrorText, HelperText, Label } from '@/components/common/Form';
+import { WebhookData } from './WebhookReturnDataFieldTable';
+import { WebhookHeaders } from './WebhookHeaders';
+import { TriggerEvents } from './utils';
+import { RavenWebhook } from '@/types/RavenIntegrations/RavenWebhook';
+import { UserFields, UserListContext } from '@/utils/users/UserListProvider';
+import { ChannelListContext, ChannelListContextType, ChannelListItem, } from '@/utils/channel/ChannelListProvider';
+import { UserAvatar } from '@/components/common/UserAvatar';
+import { SidebarIcon } from '@/components/layout/Sidebar';
+import { useGetUser } from '@/hooks/useGetUser';
+import { ChannelIcon } from '@/utils/layout/channelIcon';
+
+export const WebhookForm = ({ isEdit = false }: { isEdit?: boolean }) => {
+ const { register, formState: { errors }, control, setValue, watch } = useFormContext()
+
+ const security = watch('enable_security')
+
+ const needCondition = watch('trigger_webhook_on_condition')
+
+ const conditionOn = watch('conditions_on')
+
+ const { users } = useContext(UserListContext)
+
+ const { channels } = useContext(ChannelListContext) as ChannelListContextType
+
+ return (
+
+ {isEdit === false ?
+ Name
+
+ {errors?.name && {errors.name.message} }
+ : null}
+
+ Request URL
+
+ {errors?.request_url && {errors.request_url.message} }
+
+
+ Request Timeout
+
+ The number of seconds until the request expires
+ {errors?.timeout && {errors.timeout.message} }
+
+
+ (
+
+ field.onChange(!field.value)} />
+
+ Enable Security
+
+
+ )}
+ />
+
+ {errors?.enable_security && {errors.enable_security.message} }
+
+ {security ?
+ Webhook Secret
+
+ {errors?.webhook_secret && {errors.webhook_secret.message} }
+ : null}
+
+
+
+ Trigger Event
+ {
+ if (e.target.value) {
+ setValue('webhook_data', [])
+
+ }
+ }
+ }}
+ render={({ field }) => (
+
+
+
+
+ Trigger Events
+ {
+ TriggerEvents?.map((event, index) => (
+ {event.label}
+ ))
+ }
+
+
+
+ )}
+ />
+
+
+
+ {
+ if (!e.target.value) {
+ setValue('conditions_on', '')
+ setValue('condition', '')
+ setValue('channel_id', '')
+ setValue('user', '')
+ setValue('channel_type', '')
+ }
+ }
+ }}
+ render={({ field }) => (
+
+ field.onChange(!field.value)} />
+
+ Trigger this webhook based on a condition
+
+
+ )}
+ />
+
+ {errors?.enable_security && {errors.enable_security.message} }
+
+ {needCondition &&
+
+ Trigger On
+ {
+ if (e.target.value) {
+ setValue('condition', '')
+ setValue('channel_id', '')
+ setValue('user', '')
+ setValue('channel_type', '')
+ }
+ }
+ }}
+ render={({ field }) => (
+
+
+
+
+ Trigger On
+ Channel
+ User
+ Channel Type
+ Custom
+
+
+
+ )}
+ />
+ Field on which the condition will be applied
+
+ }
+ {conditionOn === 'Custom' ?
+
+
+ Condition
+
+ The webhook will be triggered if this expression is true
+
+
+ Try something like:
+ doc.channel_id == 'general'
+ doc.is_direct_message == 1
+
+
+ : conditionOn === 'Channel' ?
+
+ Channel
+ (
+
+
+
+
+ Channel
+ {
+ channels.map((channel, index) => (
+
+
+
+ ))
+ }
+
+
+
+ )}
+ />
+ Webhook will trigger only if the message is sent on this channel.
+
+ : conditionOn === 'User' ?
+
+ User
+ (
+
+
+
+
+ User
+ {
+ users.map((user, index) => (
+
+
+
+ ))
+ }
+
+
+
+ )}
+ />
+ Condition for webhook - user
+
+ : conditionOn === 'Channel Type' ?
+
+ Channel Type
+ (
+
+
+
+
+ Channel Type
+ Public
+ Private
+ Open
+ Direct Message
+ Self Message
+
+
+
+ )}
+ />
+ The webhook will trigger if the channel type is equal to the value selected here.
+
+ : null
+ }
+
+
+
+
+
+ )
+}
+
+export const DirectMessageItem = ({ user }: { user: UserFields }) => {
+
+ const userData = useGetUser(user?.name)
+
+ return
+
+
+
+
+
+ {userData?.full_name ?? user?.name}
+
+
+
+}
+
+export const ChannelItem = ({ channel }: { channel: ChannelListItem }) => {
+ return
+
+
+ {channel.channel_name}
+
+
+}
diff --git a/raven-app/src/components/feature/integrations/webhooks/WebhookHeaders.tsx b/raven-app/src/components/feature/integrations/webhooks/WebhookHeaders.tsx
new file mode 100644
index 000000000..3c4e7e385
--- /dev/null
+++ b/raven-app/src/components/feature/integrations/webhooks/WebhookHeaders.tsx
@@ -0,0 +1,73 @@
+import { HelperText } from "@/components/common/Form";
+import { RavenWebhook } from "@/types/RavenIntegrations/RavenWebhook";
+import { Flex, Box, Heading, Table, TextFieldInput, IconButton, Button } from "@radix-ui/themes";
+import { useState } from "react";
+import { useFieldArray, useFormContext } from "react-hook-form";
+import { BiMinusCircle } from "react-icons/bi";
+import { BsPlus } from "react-icons/bs";
+
+export const WebhookHeaders = () => {
+ const { register } = useFormContext()
+
+ const { fields, append, remove } = useFieldArray({
+ name: 'webhook_headers'
+ });
+
+ return (
+
+
+
+
+ Headers
+ Add the headers that you want to send with the request.
+
+ append({ fieldname: '', key: '' })} variant="outline" style={{
+ width: 'fit-content',
+ }}>
+ Add
+
+
+
+
+
+ Key *
+ value
+
+
+
+
+ {fields.map((field, index) => (
+
+
+
+
+
+
+
+
+ remove(index)}>
+
+
+
+
+ ))}
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/integrations/webhooks/WebhookItem.tsx b/raven-app/src/components/feature/integrations/webhooks/WebhookItem.tsx
new file mode 100644
index 000000000..c35d1f9c1
--- /dev/null
+++ b/raven-app/src/components/feature/integrations/webhooks/WebhookItem.tsx
@@ -0,0 +1,120 @@
+import { Loader } from "@/components/common/Loader"
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { useToast } from "@/hooks/useToast"
+import { RavenWebhook } from "@/types/RavenIntegrations/RavenWebhook"
+import { DateMonthYear } from "@/utils/dateConversions"
+import { DIALOG_CONTENT_CLASS } from "@/utils/layout/dialog"
+import { Flex, Badge, IconButton, AlertDialog, Text, Button } from "@radix-ui/themes"
+import { useFrappeDeleteDoc } from "frappe-react-sdk"
+import { useState } from "react"
+import { BiEdit, BiTrash } from "react-icons/bi"
+import { useNavigate } from "react-router-dom"
+
+export const WebhookItem = ({ webhook, mutate }: { webhook: RavenWebhook, mutate: () => void }) => {
+
+ const navigate = useNavigate()
+
+ const [open, setOpen] = useState(false)
+ const onClose = () => {
+ setOpen(false)
+ }
+
+ return (
+
+
+
+
+ {webhook.name}
+ {webhook.enabled ? 'Enabled' : 'Disabled'}
+
+ Created by {webhook.owner} on
+
+
+ navigate(`./${webhook.name}`)}
+ style={{
+ // @ts-ignore
+ '--icon-button-ghost-padding': '0',
+ height: 'var(--base-button-height)',
+ width: 'var(--base-button-height)',
+ }}>
+
+
+
+
+ { }}
+ style={{
+ // @ts-ignore
+ '--icon-button-ghost-padding': '0',
+ height: 'var(--base-button-height)',
+ width: 'var(--base-button-height)',
+ }}>
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
+
+const DeleteWebhookAlertContent = ({ webhhookID, onClose, mutate }: { webhhookID: string, onClose: () => void, mutate: () => void }) => {
+
+ const { deleteDoc, error, loading } = useFrappeDeleteDoc()
+
+ const { toast } = useToast()
+
+ const onDelete = () => {
+ deleteDoc('Raven Webhook', webhhookID).then(() => {
+ mutate()
+ onClose()
+ toast({
+ title: "Webhook deleted successfully.",
+ variant: 'success',
+ })
+ })
+ }
+
+ return (
+ <>
+
+ {webhhookID}
+
+
+
+ Are you sure you want to delete this webhook?
+
+
+
+
+ Cancel
+
+
+
+
+ {loading && }
+ {loading ? "Deleting" : `Delete`}
+
+
+
+ >
+ )
+
+}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/integrations/webhooks/WebhookReturnDataFieldTable.tsx b/raven-app/src/components/feature/integrations/webhooks/WebhookReturnDataFieldTable.tsx
new file mode 100644
index 000000000..9078b76f5
--- /dev/null
+++ b/raven-app/src/components/feature/integrations/webhooks/WebhookReturnDataFieldTable.tsx
@@ -0,0 +1,285 @@
+import { HelperText, Label } from "@/components/common/Form";
+import { Webhook } from "@/types/Integrations/Webhook";
+import { Flex, Box, Heading, Table, TextFieldInput, IconButton, Button, Select, Dialog, Badge } from "@radix-ui/themes";
+import { useMemo, useState } from "react";
+import { Controller, useFieldArray, useFormContext } from "react-hook-form";
+import { BiInfoCircle, BiMinusCircle } from "react-icons/bi";
+import { BsEye, BsPlus } from "react-icons/bs";
+import { FieldsData, SampleData, } from "./utils";
+import { DoctypeFieldList } from './utils'
+import { DIALOG_CONTENT_CLASS } from "@/utils/layout/dialog";
+import { RavenWebhook } from "@/types/RavenIntegrations/RavenWebhook";
+
+export const WebhookData = () => {
+ const { register, control, watch, setValue } = useFormContext()
+
+ const { fields, append, remove } = useFieldArray({
+ name: 'webhook_data'
+ });
+
+ const webhookTrigger = watch('webhook_trigger')
+
+ const webhookDataFieldName = useMemo(() => {
+ return DoctypeFieldList?.find(field => field.events.includes(webhookTrigger))?.fields || []
+ }, [webhookTrigger])
+
+ const [fieldIndex, setFieldIndex] = useState(null)
+
+ const [open, setOpen] = useState(false);
+
+ const onClose = () => {
+ setOpen(false)
+ setFieldIndex(null)
+ }
+
+ const [previewOpen, setPreviewOpen] = useState(false);
+
+ const onPreviewClose = () => {
+ setPreviewOpen(false)
+ }
+
+ return (
+
+
+
+
+ Payload
+ Select the fields you want to send in the webhook request.
+
+
+
+
+ { }} variant="ghost" color="gray" style={{
+ width: 'fit-content',
+ }} disabled={fields.length === 0}>
+
+ Preview
+
+
+
+
+
+ append({ fieldname: '', key: '' })} variant="outline" style={{
+ width: 'fit-content',
+ }}>
+ Add
+
+
+
+
+
+ Fieldname *
+ Key
+
+
+
+
+
+ {fields.map((field, index) => {
+ const fieldname = watch(`webhook_data.${index}.fieldname`)
+ return (
+
+
+ setValue(`webhook_data.${index}.key`, e.target.value)
+ }}
+ render={({ field }) => (
+ field.onChange(e)} >
+
+
+
+ Fieldname
+ {webhookDataFieldName.map((field, index) => (
+ {`${field.label} (${field.fieldtype})`}
+ ))}
+
+
+
+ )}
+ />
+
+
+
+
+
+
+
+ setFieldIndex(index)}
+ style={{
+ // @ts-ignore
+ '--icon-button-ghost-padding': '0',
+ height: 'var(--base-button-height)',
+ width: 'var(--base-button-height)',
+ }}
+ aria-label="Click to see field info"
+ title='See field info'
+ >
+
+
+
+
+ {fieldIndex !== null && }
+
+
+
+
+ remove(index)}>
+
+
+
+
+ )
+ })}
+
+
+
+
+ )
+}
+export const FieldInfoModal = ({ fieldIndex, triggerEvent, onClose }: { fieldIndex: number, triggerEvent: string, onClose: () => void }) => {
+
+ const { watch } = useFormContext()
+ const fieldData = useMemo(() => {
+ const fieldname = watch(`webhook_data.${fieldIndex}.fieldname`)
+ return DoctypeFieldList?.find(field => field.events.includes(triggerEvent))?.fields.find(field => field.fieldname === fieldname)
+ }, [fieldIndex, triggerEvent])
+
+ return (
+
+
+
+
+
+ {fieldData?.label}
+
+ {fieldData?.fieldtype}
+
+ {fieldData?.description}
+
+
+ {
+ fieldData?.example &&
+
+ Example
+
+
+
+
+ {JSON.stringify(fieldData?.example, null, 2)}
+
+
+
+
+ }
+
+
+
+ Close
+
+
+
+ )
+
+}
+
+export const PreviewModal = ({ onClose }: { onClose: () => void }) => {
+
+ const { watch } = useFormContext()
+
+ const webhookTrigger = watch('webhook_trigger')
+
+ const webhookData = watch('webhook_data')
+
+ const [examples, setExamples] = useState('')
+
+ const exampleList = useMemo(() => {
+ return SampleData?.find(sample => sample.trigger_event.includes(webhookTrigger))?.examples?.map(example => example.name) || []
+ }, [webhookTrigger])
+
+ const jsonData = useMemo(() => {
+ const exampleData = SampleData?.find(sample => sample.trigger_event.includes(webhookTrigger))?.examples?.find(example => example.name === examples)
+
+ const webhookTriggerKeys = webhookData?.map(data => data.key)
+ const obj = {}
+ if (exampleData) {
+ webhookTriggerKeys?.forEach(key => {
+ // @ts-ignore
+ obj[key as string] = exampleData?.fields?.find(field => field.field === key)?.value
+ })
+ }
+ return JSON.stringify(obj, null, 2)
+ }, [examples, webhookData, webhookTrigger])
+
+ return (
+
+
+ Preview
+
+
+
+
+
+ Example
+
+ setExamples(e)}>
+
+
+
+ Examples
+ {exampleList.map((example, index) => (
+ {example}
+ ))}
+
+
+
+
+
+
+
+ Response Data
+
+
+
+
+ {jsonData}
+
+
+
+
+
+
+
+ Close
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/integrations/webhooks/utils.ts b/raven-app/src/components/feature/integrations/webhooks/utils.ts
new file mode 100644
index 000000000..d8d850dbc
--- /dev/null
+++ b/raven-app/src/components/feature/integrations/webhooks/utils.ts
@@ -0,0 +1,993 @@
+
+export interface TriggerEventField {
+ key: string,
+ label: string,
+ doctype: string,
+ event: "after_insert" | "on_update" | "on_submit" | "on_cancel" | "on_trash" | "on_update_after_submit" | "on_change",
+}
+
+export const TriggerEvents: TriggerEventField[] = [
+ {
+ key: 'message_sent',
+ label: 'Message Sent',
+ doctype: 'Raven Message',
+ event: 'after_insert',
+ },
+ {
+ key: 'message_edited',
+ label: 'Message Edited',
+ doctype: 'Raven Message',
+ event: 'on_update'
+ },
+ {
+ key: 'message_deleted',
+ label: 'Message Deleted',
+ doctype: 'Raven Message',
+ event: 'on_trash'
+ },
+ {
+ key: 'emoji_reaction',
+ label: 'Message Reacted On',
+ doctype: 'Raven Message Reaction',
+ event: 'after_insert'
+ },
+ {
+ key: 'channel_created',
+ label: 'Channel Created',
+ doctype: 'Raven Channel',
+ event: 'after_insert'
+ },
+ {
+ key: 'channel_deleted',
+ label: 'Channel Deleted',
+ doctype: 'Raven Channel',
+ event: 'on_trash'
+ },
+ {
+ key: 'channel_member_added',
+ label: 'Channel Member Added',
+ doctype: 'Raven Channel Member',
+ event: 'after_insert'
+ },
+ {
+ key: 'channel_member_deleted',
+ label: 'Channel Member Deleted',
+ doctype: 'Raven Channel Member',
+ event: 'on_trash'
+ },
+ {
+ key: 'raven_user_added',
+ label: 'User Added',
+ doctype: 'Raven User',
+ event: 'after_insert'
+ },
+ {
+ key: 'raven_user_deleted',
+ label: 'User Deleted',
+ doctype: 'Raven User',
+ event: 'on_trash'
+ }
+]
+
+export interface FieldsData {
+ fieldname: string,
+ label: string,
+ fieldtype?: string,
+ description?: string,
+ example?: string,
+}
+
+const commonFields = [
+ {
+ fieldname: 'name',
+ label: 'ID',
+ fieldtype: 'Data',
+ description: 'ID of the document'
+ },
+ {
+ fieldname: 'creation',
+ label: 'Creation Time',
+ fieldtype: 'DateTime',
+ description: `Time when the document was created in string format.`,
+ example: '2021-08-12 12:00:00'
+ },
+ {
+ fieldname: 'modified',
+ label: 'Last Updated Time',
+ fieldtype: 'DateTime',
+ description: `Time when the document was last updated in string format.`,
+ example: '2021-08-12 12:00:00'
+ },
+ {
+ fieldname: 'modified_by',
+ label: 'Last Updated By',
+ fieldtype: 'Data',
+ description: 'User ID of the person who last updated the document.',
+ example: 'Administrator'
+ },
+ {
+ fieldname: 'owner',
+ label: 'Document Created By',
+ fieldtype: 'Data',
+ description: 'User ID of the person who created the document.',
+ example: 'Administrator'
+ },
+]
+
+export const DoctypeFieldList: {
+ doctype: 'Raven Message' | 'Raven Channel' | 'Raven Channel Member' | 'Raven User' | 'Raven Message Reaction',
+ events: string[]
+ fields: FieldsData[]
+}[] = [
+ {
+ doctype: 'Raven Message',
+ events: ['Message Sent', 'Message Edited', 'Message Deleted'],
+ fields: [
+ {
+ fieldname: 'channel_id',
+ label: 'Channel ID',
+ fieldtype: 'Link',
+ description: 'ID of the channel where the message was sent.',
+ example: 'general'
+ },
+ {
+ fieldname: 'text',
+ label: 'Text',
+ fieldtype: 'Long Text',
+ description: 'Text of the message, in pure html format.',
+ example: 'Hello, World!
'
+ },
+ {
+ fieldname: 'json',
+ label: 'JSON',
+ fieldtype: 'JSON',
+ description: 'JSON data of the message.',
+ example: `{
+ content: [
+ {
+ content: [
+ {
+ text: "Hello, World!",
+ type: "text"
+ }
+ ],
+ type: "paragraph"
+ }
+ ],
+ type: "doc"
+ }`
+ },
+ {
+ fieldname: 'message_type',
+ label: 'Message Type',
+ fieldtype: 'Select',
+ description: 'Type of the message.',
+ example: 'Text or Image or File'
+ },
+ {
+ fieldname: 'file',
+ label: 'File',
+ fieldtype: 'Attach',
+ description: 'File attached with the message.',
+ example: 'https://example.com/file.pdf'
+ },
+ {
+ fieldname: 'message_reactions',
+ label: 'Message Reactions',
+ fieldtype: 'JSON',
+ description: 'Reactions on the message.',
+ example: `{
+ 'unicode_string 1':{
+ 'count': 1,
+ 'users':['user1'],
+ 'reaction': 'unicode_string 1'
+
+ },
+ 'unicode_string 2':{
+ 'count': 2,
+ 'users':['user1', 'user2'],
+ 'reaction': 'unicode_string 2'
+ }
+ }`
+ },
+ {
+ fieldname: 'is_reply',
+ label: 'Is Reply',
+ fieldtype: 'Check',
+ description: 'Whether the message is a reply to another message.',
+ example: '1 or 0'
+ },
+ {
+ fieldname: 'linked_message',
+ label: 'Linked Message',
+ fieldtype: 'Link',
+ description: 'ID of the message to which this message is a reply.',
+ example: 'message-id'
+ },
+
+ {
+ fieldname: 'content',
+ label: 'Content',
+ fieldtype: 'Long Text',
+ description: 'Content of the message in plain text.',
+ example: 'Hello, World!'
+ },
+ ...commonFields
+ ]
+ },
+ {
+ doctype: 'Raven Channel',
+ events: ['Channel Created', 'Channel Deleted'],
+ fields: [
+ {
+ fieldname: 'channel_name',
+ label: 'Channel Name',
+ fieldtype: 'Data',
+ description: 'Name of the channel.',
+ example: 'general'
+ },
+ {
+ fieldname: 'channel_description',
+ label: 'Channel Description',
+ fieldtype: 'Data',
+ description: 'Description of the channel.',
+ example: 'General discussion'
+ },
+ {
+ fieldname: 'type',
+ label: 'Type',
+ fieldtype: 'Select',
+ description: 'Type of the channel.',
+ example: 'Public or Private or Open'
+ },
+ {
+ fieldname: 'is_direct_message',
+ label: 'Is Direct Message',
+ fieldtype: 'Check',
+ description: 'Whether the channel is a direct message channel.',
+ example: '1 or 0'
+ },
+ {
+ fieldname: 'is_self_message',
+ label: 'Is Self Message',
+ fieldtype: 'Check',
+ description: 'Whether the channel is a self message channel.',
+ example: '1 or 0'
+ },
+ {
+ fieldname: 'is_archived',
+ label: 'Is Archived',
+ fieldtype: 'Check',
+ description: 'Whether the channel is archived.',
+ example: '1 or 0'
+ },
+ ...commonFields
+
+ ]
+ },
+ {
+ 'doctype': 'Raven Channel Member',
+ events: ['Channel Member Added', 'Channel Member Deleted'],
+ fields: [
+ {
+ fieldname: 'channel_id',
+ label: 'Channel ID',
+ fieldtype: 'Link',
+ description: 'ID of the channel.',
+ example: 'general'
+ },
+ {
+ fieldname: 'user_id',
+ label: 'User ID',
+ fieldtype: 'Link',
+ description: 'ID of the user.',
+ example: 'user1'
+ },
+ {
+ fieldname: 'is_admin',
+ label: 'Is Admin',
+ fieldtype: 'Check',
+ description: 'Whether the user is an admin of the channel.',
+ example: '1 or 0'
+ },
+ {
+ fieldname: 'last_visit',
+ label: 'Last Visit',
+ fieldtype: 'Datetime',
+ description: 'Time when the user last visited the channel.',
+ example: '2021-08-12 12:00:00'
+ },
+ ...commonFields
+ ]
+ },
+ {
+ doctype: 'Raven User',
+ events: ['User Added', 'User Deleted'],
+ fields: [
+ {
+ fieldname: 'user',
+ label: 'User',
+ fieldtype: 'Link',
+ description: 'User ID.',
+ example: 'user1'
+ },
+ {
+ fieldname: 'full_name',
+ label: 'Full Name',
+ fieldtype: 'Data',
+ description: 'Full name of the user.',
+ example: 'John Doe'
+ },
+ {
+ fieldname: 'first_name',
+ label: 'First Name',
+ fieldtype: 'Data',
+ description: 'First name of the user.',
+ example: 'John'
+ },
+ {
+ fieldname: 'user_image',
+ label: 'User Image',
+ fieldtype: 'Attach Image',
+ description: 'Image of the user.',
+ example: 'https://example.com/image.jpg'
+ },
+ {
+ fieldname: 'enabled',
+ label: 'Enabled',
+ fieldtype: 'Check',
+ description: 'Whether the user is enabled.',
+ example: '1 or 0'
+ },
+ ...commonFields
+ ]
+ },
+ {
+ doctype: 'Raven Message Reaction',
+ events: ['Message Reacted On'],
+ fields: [
+ {
+ fieldname: 'reaction',
+ label: 'Reaction',
+ fieldtype: 'Data',
+ description: 'Reaction emoji.',
+ example: '👍'
+ },
+ {
+ fieldname: 'reaction_escaped',
+ label: 'Reaction Escaped',
+ fieldtype: 'Data',
+ description: 'Escaped reaction emoji.',
+ example: '\\ud83d\\udc4d'
+ },
+ {
+ fieldname: 'message',
+ label: 'Message',
+ fieldtype: 'Link',
+ description: 'ID of the message.',
+ example: 'message-id'
+ },
+ ...commonFields
+ ]
+ }
+ ]
+
+export const SampleData = [
+ {
+ trigger_event: ['Channel Created', 'Channel Deleted'],
+ examples: [
+ {
+ name: 'general',
+ fields: [
+ {
+ field: 'channel_name',
+ value: 'general'
+ },
+ {
+ field: 'channel_description',
+ value: 'General discussion'
+ },
+ {
+ field: 'type',
+ value: 'Public'
+ },
+ {
+ field: 'is_direct_message',
+ value: '0'
+ },
+ {
+ field: 'is_self_message',
+ value: '0'
+ },
+ {
+ field: 'is_archived',
+ value: '0'
+ }
+ ]
+ },
+ {
+ name: 'kings-landing',
+ fields: [
+ {
+ field: 'channel_name',
+ value: 'kings-landing'
+ },
+ {
+ field: 'channel_description',
+ value: 'The capital of Westeros and the Seven Kingdoms.'
+ },
+ {
+ field: 'type',
+ value: 'Public'
+ },
+ {
+ field: 'is_direct_message',
+ value: '0'
+ },
+ {
+ field: 'is_self_message',
+ value: '0'
+ },
+ {
+ field: 'is_archived',
+ value: '0'
+ }
+ ]
+ },
+ {
+ name: 'winterfell',
+ fields: [
+ {
+ field: 'channel_name',
+ value: 'winterfell'
+ },
+ {
+ field: 'channel_description',
+ value: 'The ancestral home of House Stark.'
+ },
+ {
+ field: 'type',
+ value: 'Public'
+ },
+ {
+ field: 'is_direct_message',
+ value: '0'
+ },
+ {
+ field: 'is_self_message',
+ value: '0'
+ },
+ {
+ field: 'is_archived',
+ value: '0'
+ }
+ ]
+ },
+ {
+ name: 'dragons-bay',
+ fields: [
+ {
+ field: 'channel_name',
+ value: 'dragons-bay'
+ },
+ {
+ field: 'channel_description',
+ value: 'The place where dragons are born.'
+ },
+ {
+ field: 'type',
+ value: 'Public'
+ },
+ {
+ field: 'is_direct_message',
+ value: '0'
+ },
+ {
+ field: 'is_self_message',
+ value: '0'
+ },
+ {
+ field: 'is_archived',
+ value: '0'
+ }
+ ]
+ },
+ {
+ name: 'white-walkers',
+ fields: [
+ {
+ field: 'channel_name',
+ value: 'white-walkers'
+ },
+ {
+ field: 'channel_description',
+ value: 'The army of the dead.'
+ },
+ {
+ field: 'type',
+ value: 'Private'
+ },
+ {
+ field: 'is_direct_message',
+ value: '0'
+ },
+ {
+ field: 'is_self_message',
+ value: '0'
+ },
+ {
+ field: 'is_archived',
+ value: '0'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ trigger_event: ['Message Sent', 'Message Edited', 'Message Deleted'],
+ examples: [
+ {
+ name: 'Hello, World!',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'general'
+ },
+ {
+ field: 'text',
+ value: 'Hello, World!'
+ },
+ {
+ field: 'json',
+ value: `{
+ content: [
+ {
+ content: [
+ {
+ text: "Hello, World!",
+ type: "text"
+ }
+ ],
+ type: "paragraph"
+ }
+ ],
+ type: "doc"
+ }`
+ },
+ {
+ field: 'message_type',
+ value: 'Text'
+ },
+ {
+ field: 'file',
+ value: 'https://ravenapp.info/_astro/app-screenshot.e5f6e34e.png'
+ },
+ {
+ field: 'message_reactions',
+ value: `{
+ 'unicode_string 1':{
+ 'count': 1,
+ 'users':['user1'],
+ 'reaction': 'unicode_string 1'
+ }
+ }`
+ },
+ {
+ field: 'is_reply',
+ value: '0'
+ },
+ {
+ field: 'linked_message',
+ value: 'message-id'
+ },
+ {
+ field: 'content',
+ value: 'Hello, World!'
+ }
+ ]
+ },
+ {
+ name: 'The Iron Throne is mine!',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'kings-landing'
+ },
+ {
+ field: 'text',
+ value: 'The Iron Throne is mine!'
+ },
+ {
+ field: 'message_type',
+ value: 'Text'
+ },
+ {
+ field: 'is_reply',
+ value: '0'
+ },
+ {
+ field: 'linked_message',
+ value: 'message-id'
+ },
+ {
+ field: 'content',
+ value: 'The Iron Throne is mine!'
+ },
+ {
+ field: 'message_reactions',
+ value: `{
+ 'unicode_string 1':{
+ 'count': 1,
+ 'users':['user1'],
+ 'reaction': 'unicode_string 1'
+ }
+ }`
+ },
+ {
+ field: 'file',
+ value: 'https://ravenapp.info/_astro/app-screenshot.e5f6e34e.png'
+ },
+ {
+ field: 'json',
+ value: `{
+ content: [
+ {
+ content: [
+ {
+ text: "The Iron Throne is mine!",
+ type: "text"
+ }
+ ],
+ type: "paragraph"
+ }
+ ],
+ type: "doc"
+ }`
+ }
+ ]
+ },
+ {
+ name: 'Winter is coming.',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'winterfell'
+ },
+ {
+ field: 'text',
+ value: 'Winter is coming.'
+ },
+ {
+ field: 'message_type',
+ value: 'Text'
+ },
+ {
+ field: 'is_reply',
+ value: '0'
+ },
+ {
+ field: 'linked_message',
+ value: 'message-id'
+ },
+ {
+ field: 'content',
+ value: 'Winter is coming.'
+ },
+ {
+ field: 'message_reactions',
+ value: `{
+ 'unicode_string 1':{
+ 'count': 1,
+ 'users':['user1'],
+ 'reaction': 'unicode_string 1'
+ }
+ }`
+ },
+ {
+ field: 'file',
+ value: 'https://ravenapp.info/_astro/app-screenshot.e5f6e34e.png'
+ },
+ {
+ field: 'json',
+ value: `{
+ content: [
+ {
+ content: [
+ {
+ text: "Winter is coming.",
+ type: "text"
+ }
+ ],
+ type: "paragraph"
+ }
+ ],
+ type: "doc"
+ }`
+ }
+ ]
+ },
+ {
+ name: 'Dracarys!',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'dragons-bay'
+ },
+ {
+ field: 'text',
+ value: 'Dracarys!'
+ },
+ {
+ field: 'message_type',
+ value: 'Text'
+ },
+ {
+ field: 'is_reply',
+ value: '0'
+ },
+ {
+ field: 'linked_message',
+ value: 'message-id'
+ },
+ {
+ field: 'content',
+ value: 'Dracarys!'
+ },
+ {
+ field: 'message_reactions',
+ value: `{
+ 'unicode_string 1':{
+ 'count': 1,
+ 'users':['user1'],
+ 'reaction': 'unicode_string 1'
+ }
+ }`
+ },
+ {
+ field: 'file',
+ value: 'https://ravenapp.info/_astro/app-screenshot.e5f6e34e.png'
+ },
+ {
+ field: 'json',
+ value: `{
+ content: [
+ {
+ content: [
+ {
+ text: "Dracarys!",
+ type: "text"
+ }
+ ],
+ type: "paragraph"
+ }
+ ],
+ type: "doc"
+ }`
+ }
+ ]
+ },
+ {
+ name: 'The Night King is coming.',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'white-walkers'
+ },
+ {
+ field: 'text',
+ value: 'The Night King is coming.'
+ },
+ {
+ field: 'message_type',
+ value: 'Text'
+ },
+ {
+ field: 'is_reply',
+ value: '0'
+ },
+ {
+ field: 'linked_message',
+ value: 'message-id'
+ },
+ {
+ field: 'content',
+ value: 'The Night King is coming.'
+ },
+ {
+ field: 'message_reactions',
+ value: `{
+ 'unicode_string 1':{
+ 'count': 1,
+ 'users':['user1'],
+ 'reaction': 'unicode_string 1'
+ }
+ }`
+ },
+ {
+ field: 'file',
+ value: 'https://ravenapp.info/_astro/app-screenshot.e5f6e34e.png'
+ },
+ {
+ field: 'json',
+ value: `{
+ content: [
+ {
+ content: [
+ {
+ text: "The Night King is coming.",
+ type: "text"
+ }
+ ],
+ type: "paragraph"
+ }
+ ],
+ type: "doc"
+ }`
+ }
+ ]
+ }
+ ]
+ },
+ {
+ trigger_event: ['Channel Member Added', 'Channel Member Deleted'],
+ examples: [
+ {
+ name: 'Jon snow',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'general'
+ },
+ {
+ field: 'user_id',
+ value: 'jon-snow'
+ },
+ {
+ field: 'is_admin',
+ value: '1'
+ },
+ {
+ field: 'last_visit',
+ value: '2021-08-12 12:00:00'
+ }
+ ]
+ },
+ {
+ name: 'Daenerys Targaryen',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'kings-landing'
+ },
+ {
+ field: 'user_id',
+ value: 'daenerys-targaryen'
+ },
+ {
+ field: 'is_admin',
+ value: '1'
+ },
+ {
+ field: 'last_visit',
+ value: '2021-08-12 12:00:00'
+ }
+ ]
+ },
+ {
+ name: 'Arya Stark',
+ fields: [
+ {
+ field: 'channel_id',
+ value: 'winterfell'
+ },
+ {
+ field: 'user_id',
+ value: 'arya-stark'
+ },
+ {
+ field: 'is_admin',
+ value: '1'
+ },
+ {
+ field: 'last_visit',
+ value: '2021-08-12 12:00:00'
+ }
+ ]
+ },
+ ]
+ },
+ {
+ trigger_event: ['User Added', 'User Deleted'],
+ examples: [
+ {
+ name: 'Jon Snow',
+ fields: [
+ {
+ field: 'user',
+ value: 'jon-snow'
+ },
+ {
+ field: 'full_name',
+ value: 'Jon Snow'
+ },
+ {
+ field: 'first_name',
+ value: 'Jon'
+ },
+ {
+ field: 'enabled',
+ value: '1'
+ },
+ {
+ field: 'user_image',
+ value: 'https://example.com/image.jpg'
+ }
+ ]
+ },
+ {
+ name: 'Daenerys Targaryen',
+ fields: [
+ {
+ field: 'user',
+ value: 'daenerys-targaryen'
+ },
+ {
+ field: 'full_name',
+ value: 'Daenerys Targaryen'
+ },
+ {
+ field: 'first_name',
+ value: 'Daenerys'
+ },
+ {
+ field: 'enabled',
+ value: '1'
+ },
+ {
+ field: 'user_image',
+ value: 'https://example.com/image.jpg'
+ }
+ ]
+ }
+ ]
+ },
+ {
+ trigger_event: ['Message Reacted On'],
+ examples: [
+ {
+ name: '👍',
+ fields: [
+ {
+ field: 'reaction',
+ value: '👍'
+ },
+ {
+ field: 'message',
+ value: 'message-id'
+ },
+ {
+ field: 'reaction_escaped',
+ value: '\\ud83d\\udc4d'
+ }
+ ]
+ },
+ {
+ name: '👎',
+ fields: [
+ {
+ field: 'reaction',
+ value: '👎'
+ },
+ {
+ field: 'message',
+ value: 'message-id'
+ },
+ {
+ field: 'reaction_escaped',
+ value: '\\ud83d\\udc4e'
+ }
+ ]
+ }
+ ]
+ }
+]
\ No newline at end of file
diff --git a/raven-app/src/components/feature/settings/Integrations.tsx b/raven-app/src/components/feature/settings/Integrations.tsx
new file mode 100644
index 000000000..8cc475045
--- /dev/null
+++ b/raven-app/src/components/feature/settings/Integrations.tsx
@@ -0,0 +1,41 @@
+import { SidebarGroup, SidebarGroupItem, SidebarGroupLabel, SidebarGroupList, SidebarItem } from "@/components/layout/Sidebar"
+import { Flex, Text } from "@radix-ui/themes"
+import { BiPlug } from "react-icons/bi"
+
+export interface Props { }
+
+export const Integrations = (props: Props) => {
+ return (
+
+
+ {/* */}
+
+
+
+ Integrations
+
+
+
+
+
+
+ {/* */}
+
+ {/* */}
+
+
+
+ )
+}
+
+
+export const IntegrationsItem = ({ route, label }: { route: string, label: string }) => {
+
+ return (
+
+
+ {label}
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/settings/common/DeleteAlert.tsx b/raven-app/src/components/feature/settings/common/DeleteAlert.tsx
new file mode 100644
index 000000000..78e8bed62
--- /dev/null
+++ b/raven-app/src/components/feature/settings/common/DeleteAlert.tsx
@@ -0,0 +1,109 @@
+import { Loader } from "@/components/common/Loader"
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { useToast } from "@/hooks/useToast"
+import { AlertDialog, Button, Callout, Checkbox, Flex, Text } from "@radix-ui/themes"
+import { useFrappeDeleteDoc } from "frappe-react-sdk"
+import { useState } from "react"
+import { FiAlertTriangle } from "react-icons/fi"
+import { useNavigate } from "react-router-dom"
+
+export interface Props {
+ isOpen: boolean,
+ onClose: () => void
+ docname: string
+ path: string
+}
+
+export const DeleteAlert = ({ isOpen, onClose, docname, path }: Props) => {
+ return (
+
+
+ {/* Hii */}
+
+
+
+ )
+}
+
+
+type DeleteDocModalProps = {
+ onClose: () => void,
+ docname: string
+ path: string
+}
+
+const AlertContent = ({ onClose, docname, path }: DeleteDocModalProps) => {
+
+ const { deleteDoc, error, loading: deletingDoc, reset } = useFrappeDeleteDoc()
+
+ const handleClose = () => {
+ onClose()
+ reset()
+ }
+
+ const { toast } = useToast()
+ const navigate = useNavigate()
+
+ const onSubmit = () => {
+ if (docname) {
+ deleteDoc('Raven Scheduler Event', docname)
+ .then(() => {
+ onClose()
+ navigate(path)
+ toast({
+ title: `${docname} deleted`,
+ variant: 'success',
+ })
+ })
+ }
+ }
+
+ const [allowDelete, setAllowDelete] = useState(false)
+
+ return (
+ <>
+
+ Delete {docname}?
+
+
+
+
+
+
+
+
+
+ This action is permanent and cannot be undone.
+
+
+ {/* When you delete a channel, all messages from this channel will be removed immediately. */}
+ {/*
+
+ All messages, including files and images will be removed
+ You can archive this channel instead to preserve your messages
+
+ */}
+
+
+ setAllowDelete(!allowDelete)} color='red' />
+ Yes, I understand, permanently delete this channel
+
+
+
+
+
+
+
+ Cancel
+
+
+
+
+ {deletingDoc && }
+ {deletingDoc ? "Deleting" : "Delete"}
+
+
+
+ >
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/feature/settings/scheduler-events/SchedulerEventsForm.tsx b/raven-app/src/components/feature/settings/scheduler-events/SchedulerEventsForm.tsx
new file mode 100644
index 000000000..b1861ed3f
--- /dev/null
+++ b/raven-app/src/components/feature/settings/scheduler-events/SchedulerEventsForm.tsx
@@ -0,0 +1,439 @@
+import { Label, HelperText, ErrorText } from "@/components/common/Form"
+import { RavenSchedulerEvent } from "@/types/RavenIntegrations/RavenSchedulerEvent"
+import { ChannelListContext, ChannelListContextType } from "@/utils/channel/ChannelListProvider"
+import { Flex, Box, TextField, Select, Grid, TextArea } from "@radix-ui/themes"
+import { useContext } from "react"
+import { Controller, useFormContext } from "react-hook-form"
+import { ChannelItem } from "../../integrations/webhooks/WebhookForm"
+import { useFrappeGetDocList } from "frappe-react-sdk"
+
+export interface SchedulerEventForm extends RavenSchedulerEvent {
+ hour: string
+ minute: string
+ date: string
+ day: string
+ month: string
+}
+
+export interface Props {
+ edit?: boolean
+}
+
+export const SchedulerEventsForm = ({ edit = false }: Props) => {
+
+ const { register, watch, control, formState: { errors } } = useFormContext()
+
+ const { channels } = useContext(ChannelListContext) as ChannelListContextType
+
+ const { data: bots } = useFrappeGetDocList('Raven Bot', {
+ fields: ['name'],
+ })
+
+ const frequency = watch('event_frequency')
+
+ return (
+
+ {!edit &&
+ Name
+
+
+
+ {errors.event_name && {errors.event_name.message} }
+ }
+
+
+
+ Where do you want to send this?
+ (
+ field.onChange(value)}>
+
+
+
+ Channel name
+ {
+ channels.map((channel, index) => (
+
+
+
+ ))
+ }
+
+
+
+ )}
+ />
+
+
+
+ Which bot should trigger this event?
+ (
+ field.onChange(value)}>
+
+
+
+ Bot
+ {
+ bots?.map((bot: any, index: number) => (
+ {bot.name}
+ ))
+ }
+
+
+
+ )}
+ />
+
+
+
+
+ How often should this event be triggered?
+ (
+ field.onChange(value)}>
+
+
+
+ Temporal Events
+ Every Day
+ Every Day of the week
+ Date of the month
+ Custom
+
+
+
+ )}
+ />
+
+
+ {frequency === 'Every Day' &&
+
+
+ Hour
+
+
+
+ {errors.hour && {errors.hour.message} }
+
+
+ Minute
+
+
+
+ {errors.minute && {errors.minute.message} }
+
+
+ This event will be triggered on the specified time every day
+ }
+
+ {frequency === 'Every Day of the week' &&
+
+
+ Day
+ (
+ field.onChange(value)} defaultValue="1">
+
+
+
+ Day of the week
+ Monday
+ Tuesday
+ Wednesday
+ Thursday
+ Friday
+ Saturday
+ Sunday
+
+
+
+ )}
+ />
+
+
+ Hour
+
+
+
+ {errors.hour && {errors.hour.message} }
+
+
+ Minute
+
+
+
+ {errors.minute && {errors.minute.message} }
+
+
+ This event will be triggered on the specified day & time of every week
+ }
+
+ {frequency === 'Date of the month' &&
+
+
+ Date
+
+
+
+ {errors.date && {errors.date.message} }
+
+
+ Hour
+
+
+
+ {errors.hour && {errors.hour.message} }
+
+
+ Minute
+
+
+
+ {errors.minute && {errors.minute.message} }
+
+
+ This event will be triggered on the specified date & time of every month
+ }
+
+
+ {frequency === 'Cron' &&
+ Customize your event frequency
+ {/* //FIXME: Needs work - unstable component */}
+
+ }
+
+
+ Message
+
+ {errors.content && {errors.content.message} }
+
+
+ )
+}
+
+
+/**
+ * AdvancedCronInput
+ * This component is used to input cron format in a more advanced way
+ * @param {string} name
+ * */
+const AdvancedCronInput = ({ name, label, ...props }: { name: string; label: string }) => {
+
+ const { register, control, formState: { errors } } = useFormContext()
+
+ return (
+
+
+ Minute
+
+
+
+ {errors.minute && {errors.minute.message} }
+
+
+ Hour
+
+
+
+ {errors.hour && {errors.hour.message} }
+
+
+ Date
+
+
+
+ {errors.date && {errors.date.message} }
+
+
+ Month
+
+
+
+ {errors.month && {errors.month.message} }
+
+
+ Day of week
+ (
+ field.onChange(value)} defaultValue="1">
+
+
+
+ Day of the week
+ Monday
+ Tuesday
+ Wednesday
+ Thursday
+ Friday
+ Saturday
+ Sunday
+
+
+
+ )}
+ />
+
+
+ )
+};
+
+export default AdvancedCronInput;
\ No newline at end of file
diff --git a/raven-app/src/components/layout/EmptyState/EmptyState.tsx b/raven-app/src/components/layout/EmptyState/EmptyState.tsx
index bd9fdf9e6..aa9b48cef 100644
--- a/raven-app/src/components/layout/EmptyState/EmptyState.tsx
+++ b/raven-app/src/components/layout/EmptyState/EmptyState.tsx
@@ -1,16 +1,17 @@
import { ChannelListItem, DMChannelListItem } from "@/utils/channel/ChannelListProvider"
import { useCurrentChannelData } from "@/hooks/useCurrentChannelData"
-import { useContext } from "react"
+import { useContext, useMemo } from "react"
import { ChannelMembers, ChannelMembersContext, ChannelMembersContextType } from "@/utils/channel/ChannelMembersProvider"
import { EditDescriptionButton } from "@/components/feature/channel-details/edit-channel-description/EditDescriptionButton"
import { AddMembersButton } from "@/components/feature/channel-member-details/add-members/AddMembersButton"
import { UserContext } from "@/utils/auth/UserProvider"
import { useGetUserRecords } from "@/hooks/useGetUserRecords"
-import { Box, Flex, Heading, Link, Text } from "@radix-ui/themes"
+import { Badge, Box, Flex, Heading, Link, Text } from "@radix-ui/themes"
import { UserAvatar } from "@/components/common/UserAvatar"
import { ChannelIcon } from "@/utils/layout/channelIcon"
import { BiBookmark } from "react-icons/bi"
import { DateMonthYear } from "@/utils/dateConversions"
+import { useGetUser } from "@/hooks/useGetUser"
export const EmptyStateForSearch = () => {
return (
@@ -63,17 +64,29 @@ interface EmptyStateForDMProps {
const EmptyStateForDM = ({ channelData }: EmptyStateForDMProps) => {
const peer = channelData.peer_user_id
- const users = useGetUserRecords()
+
+ const peerData = useGetUser(peer)
+
+ const { fullName, userImage, isBot } = useMemo(() => {
+ const isBot = peerData?.type === 'Bot'
+ return {
+ fullName: peerData?.full_name ?? peer,
+ userImage: peerData?.user_image ?? '',
+ isBot
+ }
+ }, [peerData, peer])
return (
{channelData?.is_direct_message == 1 &&
-
-
-
+
+
+
- {users?.[peer]?.full_name}
- {users?.[peer]?.name}
+ {fullName}
+
+ {isBot ? Bot : {peer} }
+
{channelData?.is_self_message == 1 ?
@@ -83,7 +96,7 @@ const EmptyStateForDM = ({ channelData }: EmptyStateForDMProps) => {
:
- This is a Direct Message channel between you and {users?.[peer]?.full_name ?? peer} . Check out their profile to learn more about them.
+ This is a Direct Message channel between you and {fullName} .
{/* View profile */}
}
diff --git a/raven-app/src/components/layout/Settings/SettingsSidebar.tsx b/raven-app/src/components/layout/Settings/SettingsSidebar.tsx
new file mode 100644
index 000000000..0f59ff613
--- /dev/null
+++ b/raven-app/src/components/layout/Settings/SettingsSidebar.tsx
@@ -0,0 +1,24 @@
+import { Flex, Box, Separator } from "@radix-ui/themes"
+import { SidebarBody } from "./SettingsSidebarBody"
+import { SidebarFooter } from "../Sidebar/SidebarFooter"
+import { SidebarHeader } from "./SettingsSidebarHeader"
+
+export interface Props { }
+
+/**
+ * Sidebar for Settings page
+ */
+export const Sidebar = (props: Props) => {
+ return (
+
+
+
+
+
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/layout/Settings/SettingsSidebarBody.tsx b/raven-app/src/components/layout/Settings/SettingsSidebarBody.tsx
new file mode 100644
index 000000000..f26284c6e
--- /dev/null
+++ b/raven-app/src/components/layout/Settings/SettingsSidebarBody.tsx
@@ -0,0 +1,14 @@
+import { Integrations } from "@/components/feature/settings/Integrations"
+import { ScrollArea, Flex } from "@radix-ui/themes"
+
+export interface Props { }
+
+export const SidebarBody = (props: Props) => {
+ return (
+
+
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/layout/Settings/SettingsSidebarHeader.tsx b/raven-app/src/components/layout/Settings/SettingsSidebarHeader.tsx
new file mode 100644
index 000000000..365d30dd7
--- /dev/null
+++ b/raven-app/src/components/layout/Settings/SettingsSidebarHeader.tsx
@@ -0,0 +1,27 @@
+import { Flex, Text } from "@radix-ui/themes"
+import { BiChevronLeft } from "react-icons/bi"
+import { useNavigate } from "react-router-dom"
+
+export interface Props { }
+
+export const SidebarHeader = (props: Props) => {
+
+ const navigate = useNavigate()
+
+ return (
+
+ navigate('/channel')}
+ >
+
+ Settings
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/components/layout/Sidebar/SidebarFooter.tsx b/raven-app/src/components/layout/Sidebar/SidebarFooter.tsx
index 65c88f8b3..054d22a17 100644
--- a/raven-app/src/components/layout/Sidebar/SidebarFooter.tsx
+++ b/raven-app/src/components/layout/Sidebar/SidebarFooter.tsx
@@ -7,7 +7,7 @@ import { BiDotsHorizontalRounded } from 'react-icons/bi'
import { UserAvatar } from '@/components/common/UserAvatar'
import { isSystemManager } from '@/utils/roles'
-export const SidebarFooter = () => {
+export const SidebarFooter = ({ isSettingsPage = false }: { isSettingsPage?: boolean }) => {
const userData = useUserData()
const { logout } = useContext(UserContext)
@@ -47,16 +47,16 @@ export const SidebarFooter = () => {
{canAddUsers &&
}
-
-
- Desk Interface
-
-
Mobile App
+ {/* {!isSettingsPage && canAddUsers &&
+
+ Settings
+
+ } */}
Log Out
diff --git a/raven-app/src/hooks/useGetUserRecords.ts b/raven-app/src/hooks/useGetUserRecords.ts
index f2a991fd4..3c2e90449 100644
--- a/raven-app/src/hooks/useGetUserRecords.ts
+++ b/raven-app/src/hooks/useGetUserRecords.ts
@@ -13,7 +13,8 @@ export const useGetUserRecords = () => {
full_name: user.full_name,
user_image: user.user_image ?? '',
first_name: user.first_name,
- enabled: user.enabled
+ enabled: user.enabled,
+ type: user.type
}
})
return usersMap
diff --git a/raven-app/src/pages/MainPage.tsx b/raven-app/src/pages/MainPage.tsx
index e8ec7408f..36a89bb8d 100644
--- a/raven-app/src/pages/MainPage.tsx
+++ b/raven-app/src/pages/MainPage.tsx
@@ -13,6 +13,7 @@ import '../components/layout/AlertBanner/styles.css'
const AddRavenUsersPage = lazy(() => import('@/pages/AddRavenUsersPage'))
export const MainPage = () => {
+
const isRavenUser = hasRavenUserRole()
if (isRavenUser) {
diff --git a/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/CreateSchedulerEvent.tsx b/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/CreateSchedulerEvent.tsx
new file mode 100644
index 000000000..47c6406fc
--- /dev/null
+++ b/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/CreateSchedulerEvent.tsx
@@ -0,0 +1,76 @@
+import { SchedulerEventForm, SchedulerEventsForm } from "@/components/feature/settings/scheduler-events/SchedulerEventsForm"
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { useToast } from "@/hooks/useToast"
+import { Box, Button, Flex, Heading, Section } from "@radix-ui/themes"
+import { useFrappeCreateDoc } from "frappe-react-sdk"
+import { FormProvider, useForm } from "react-hook-form"
+import { FiArrowLeft } from "react-icons/fi"
+import { useNavigate } from "react-router-dom"
+
+export const CreateSchedulerEvent = () => {
+
+ const navigate = useNavigate()
+
+ const methods = useForm()
+
+ const { createDoc, error } = useFrappeCreateDoc()
+
+ const { toast } = useToast()
+
+ const onSubmit = (data: Partial) => {
+ let cron_expression = ''
+ if (data.event_frequency === 'Every Day') {
+ cron_expression = `${data.minute} ${data.hour} * * *`
+ }
+ if (data.event_frequency === 'Every Day of the week') {
+ cron_expression = `${data.minute} ${data.hour} * * ${data.day}`
+ }
+ if (data.event_frequency === 'Date of the month') {
+ cron_expression = `${data.minute} ${data.hour} ${data.date} * *`
+ }
+ if (data.event_frequency === 'Cron') {
+ cron_expression = `${data.minute} ${data.hour} ${data.date} ${data.month} ${data.day}`
+ }
+ // console.log(data, cron_expression)
+ createDoc('Raven Scheduler Event', {
+ event_name: data.event_name,
+ disabled: 0,
+ send_to: data.send_to,
+ channel: data.channel ?? '',
+ dm: data.dm ? data.dm : '',
+ bot: data.bot,
+ event_frequency: data.event_frequency,
+ cron_expression: cron_expression,
+ content: data.content,
+ })
+ .then((doc) => {
+ if (doc) {
+ navigate(`../${doc?.name}`)
+ }
+ toast({
+ title: `Temporal Event created`,
+ variant: 'success',
+ })
+ })
+ }
+ //TODO: Figure out a way to show _server_messages in the UI (especially the script editor might have some errors that we need to show to the user)
+ return (
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/SchedulerEvents.tsx b/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/SchedulerEvents.tsx
new file mode 100644
index 000000000..d1c39e6bf
--- /dev/null
+++ b/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/SchedulerEvents.tsx
@@ -0,0 +1,90 @@
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { RavenSchedulerEvent } from "@/types/RavenIntegrations/RavenSchedulerEvent"
+import { DateMonthAtHourMinuteAmPm } from "@/utils/dateConversions"
+import { Box, Flex, Heading, Button, Section, Blockquote, Badge, Card, Table, Text, Code } from "@radix-ui/themes"
+import { useFrappeGetDocList } from "frappe-react-sdk"
+import { Link, useNavigate } from "react-router-dom"
+
+export interface Props { }
+
+export const TemporalEvents = (props: Props) => {
+
+ const navigate = useNavigate()
+
+ const { data, error } = useFrappeGetDocList('Raven Scheduler Event', {
+ fields: ['name', 'disabled', 'event_frequency', 'modified'],
+ orderBy: {
+ field: 'modified',
+ order: 'desc'
+ }
+ })
+
+ return (
+
+
+ Scheduled Messages
+ navigate('create')}>Add
+
+
+
+ Lets say you want to be reminded to file your GST returns every month on the 10th. You can create a scheduled message & a bot will remind you to do so.
+
+
+
+ {error && }
+ {data?.length === 0 ? :
}
+
+
+ )
+}
+
+
+const List = ({ data }: { data: RavenSchedulerEvent[] }) => {
+ return (
+
+
+
+
+
+ ID
+ Status
+ Frequency
+ Last modified
+
+
+
+
+ {data?.map((item: any) => (
+
+
+ {item.name}
+
+
+
+ {item.disabled ? "Disabled" : "Enabled"}
+
+
+ {item.event_frequency}
+
+
+
+
+ ))}
+
+
+
+
+ )
+}
+
+
+const EmptyState = () => {
+ return (
+
+ Its empty here...no scheduled messages found. Schedule one.
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/ViewSchedulerEvent.tsx b/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/ViewSchedulerEvent.tsx
new file mode 100644
index 000000000..8ebd5acd3
--- /dev/null
+++ b/raven-app/src/pages/settings/ServerScripts/SchedulerEvents/ViewSchedulerEvent.tsx
@@ -0,0 +1,143 @@
+import { DeleteAlert } from "@/components/feature/settings/common/DeleteAlert"
+import { SchedulerEventsForm } from "@/components/feature/settings/scheduler-events/SchedulerEventsForm"
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { useToast } from "@/hooks/useToast"
+import { Badge, Box, Button, DropdownMenu, Flex, Heading, Section } from "@radix-ui/themes"
+import { useFrappeGetDoc, useFrappeUpdateDoc } from "frappe-react-sdk"
+import { useState } from "react"
+import { FormProvider, useForm } from "react-hook-form"
+import { FiArrowLeft, FiChevronDown } from "react-icons/fi"
+import { useNavigate, useParams } from "react-router-dom"
+
+export interface Props { }
+
+export const ViewSchedulerEvent = (props: Props) => {
+
+ const { ID } = useParams<{ ID: string }>()
+
+ const { data: eventData, error, mutate } = useFrappeGetDoc('Raven Scheduler Event', ID)
+
+ return (
+ <>
+ {error && }
+ {eventData && }
+ >
+ )
+}
+
+
+const ViewSchedulerEventPage = ({ data, onUpdate }: { data: any, onUpdate: () => void }) => {
+
+ const [isOpen, setIsOpen] = useState(false)
+
+ const navigate = useNavigate()
+
+ const methods = useForm({
+ defaultValues: {
+ name: data.name,
+ send_to: data.send_to,
+ event_frequency: data.event_frequency,
+ channel: data.channel,
+ dm: data.dm,
+ bot: data.bot,
+ content: data.content,
+ hour: data.cron_expression ? data.cron_expression.split(' ')[1] : '',
+ minute: data.cron_expression ? data.cron_expression.split(' ')[0] : '',
+ date: data.cron_expression ? data.cron_expression.split(' ')[2] : '',
+ month: data.cron_expression ? data.cron_expression.split(' ')[3] : '',
+ day: data.cron_expression ? data.cron_expression.split(' ')[4] : '',
+ }
+ })
+
+ const { updateDoc, error } = useFrappeUpdateDoc()
+
+ const { toast } = useToast()
+
+ const onSubmit = (data: any) => {
+ let cron_expression = ''
+ if (data.event_frequency === 'Every Day') {
+ cron_expression = `${data.minute} ${data.hour} * * *`
+ }
+ if (data.event_frequency === 'Every Day of the week') {
+ cron_expression = `${data.minute} ${data.hour} * * ${data.day}`
+ }
+ if (data.event_frequency === 'Date of the month') {
+ cron_expression = `${data.minute} ${data.hour} ${data.date} * *`
+ }
+ if (data.event_frequency === 'Cron') {
+ cron_expression = `${data.minute} ${data.hour} ${data.date} ${data.month} ${data.day}`
+ }
+ updateDoc('Raven Scheduler Event', data.name, {
+ channel: data.channel,
+ bot: data.bot,
+ event_frequency: data.event_frequency,
+ cron_expression: cron_expression,
+ content: data.content,
+ })
+ .then(() => {
+ onUpdate()
+ toast({
+ title: `Scheduler Event ${data.name} updated`,
+ variant: 'success',
+ })
+ })
+ }
+
+ const onStatusToggle = () => {
+ updateDoc('Raven Scheduler Event', data.name, {
+ disabled: !data.disabled
+ })
+ .then(() => {
+ onUpdate()
+ toast({
+ title: `Scheduler Event ${data.name} ${data.disabled ? "enabled" : "disabled"}`,
+ variant: 'success',
+ })
+ })
+ }
+
+ const onClose = () => {
+ setIsOpen(false)
+ }
+
+ return (
+
+
+
+ )
+}
\ No newline at end of file
diff --git a/raven-app/src/pages/settings/Settings.tsx b/raven-app/src/pages/settings/Settings.tsx
new file mode 100644
index 000000000..3fb4ff48d
--- /dev/null
+++ b/raven-app/src/pages/settings/Settings.tsx
@@ -0,0 +1,20 @@
+import { Sidebar } from "@/components/layout/Settings/SettingsSidebar"
+import { Flex, Box } from "@radix-ui/themes"
+import { Outlet } from "react-router-dom"
+
+const Settings = () => {
+ return (
+ <>
+
+
+
+
+
+
+
+
+ >
+ )
+}
+
+export const Component = Settings
\ No newline at end of file
diff --git a/raven-app/src/pages/settings/Webhooks/CreateWebhook.tsx b/raven-app/src/pages/settings/Webhooks/CreateWebhook.tsx
new file mode 100644
index 000000000..27695ab99
--- /dev/null
+++ b/raven-app/src/pages/settings/Webhooks/CreateWebhook.tsx
@@ -0,0 +1,74 @@
+import { Webhook } from '@/types/Integrations/Webhook'
+import { useFrappeCreateDoc } from 'frappe-react-sdk'
+import { FormProvider, useForm } from 'react-hook-form'
+import { useNavigate } from 'react-router-dom'
+import { Button, Flex, Separator, Text } from '@radix-ui/themes'
+import { ErrorBanner } from '@/components/layout/AlertBanner'
+import { WebhookForm } from '../../../components/feature/integrations/webhooks/WebhookForm'
+import { useToast } from '@/hooks/useToast'
+import { RavenWebhook } from '@/types/RavenIntegrations/RavenWebhook'
+import { BackToList } from '@/components/feature/integrations/webhooks/BackToList'
+
+const CreateWebhook = () => {
+
+ const navigate = useNavigate()
+
+ const methods = useForm({
+ defaultValues: {
+ enabled: 1,
+ timeout: 5
+ }
+ })
+ const { createDoc, loading, reset, error } = useFrappeCreateDoc()
+
+ const { toast } = useToast()
+
+ const onSubmit = (data: RavenWebhook) => {
+ createDoc('Raven Webhook', data)
+ .then((doc) => {
+ reset()
+ methods.reset()
+ toast({
+ title: "Webhook created successfully.",
+ variant: 'success',
+ })
+ return doc
+ }).then((doc) => {
+ navigate(`../webhooks/${doc.name}`)
+ })
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ Create Webhook
+
+
+
+
+
+ )
+}
+
+export const Component = CreateWebhook
\ No newline at end of file
diff --git a/raven-app/src/pages/settings/Webhooks/ViewWebhook.tsx b/raven-app/src/pages/settings/Webhooks/ViewWebhook.tsx
new file mode 100644
index 000000000..f52b04df7
--- /dev/null
+++ b/raven-app/src/pages/settings/Webhooks/ViewWebhook.tsx
@@ -0,0 +1,26 @@
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { FullPageLoader } from "@/components/layout/Loaders"
+import { Box } from "@radix-ui/themes"
+import { useFrappeGetDoc } from "frappe-react-sdk"
+import { useParams } from "react-router-dom"
+import { RavenWebhook } from "@/types/RavenIntegrations/RavenWebhook"
+import { ViewWebhookPage } from "@/components/feature/integrations/webhooks/ViewWebhookPage"
+
+const ViewWebhook = () => {
+
+ const { ID } = useParams<{ ID: string }>()
+ const { data, error, isLoading, mutate } = useFrappeGetDoc('Raven Webhook', ID, undefined, {
+ shouldRetryOnError: false,
+ })
+
+ return (
+
+ {isLoading && }
+ {error && }
+ {data && }
+
+
+ )
+}
+
+export const Component = ViewWebhook
\ No newline at end of file
diff --git a/raven-app/src/pages/settings/Webhooks/WebhookList.tsx b/raven-app/src/pages/settings/Webhooks/WebhookList.tsx
new file mode 100644
index 000000000..4ee7d8e20
--- /dev/null
+++ b/raven-app/src/pages/settings/Webhooks/WebhookList.tsx
@@ -0,0 +1,53 @@
+import { WebhookItem } from "@/components/feature/integrations/webhooks/WebhookItem"
+import { ErrorBanner } from "@/components/layout/AlertBanner"
+import { FullPageLoader } from "@/components/layout/Loaders"
+import { RavenWebhook } from "@/types/RavenIntegrations/RavenWebhook"
+import { Flex, Separator, Button, Text, Heading } from "@radix-ui/themes"
+import { useFrappeGetDocList } from "frappe-react-sdk"
+import { useNavigate } from "react-router-dom"
+
+const WebhookList = () => {
+
+ const { data, error, isLoading, mutate } = useFrappeGetDocList('Raven Webhook', {
+ fields: ['name', 'request_url', 'enabled', 'owner', 'creation']
+ })
+
+ const navigate = useNavigate()
+
+ return (
+
+
+
+
+
+ Fire webhooks on specific events like when a message is sent or channel is created.
+
+
+
+ {isLoading && }
+ {data?.length === 0 ? No webhooks created. :
+ {data?.map((webhook, index) => (
+
+ ))}
+ }
+ navigate('./create')} variant='solid' style={{
+ width: 'fit-content',
+ marginTop: '1rem'
+ }} >
+ New Webhook
+
+
+
+
+ )
+}
+
+export const Component = WebhookList
\ No newline at end of file
diff --git a/raven-app/src/types/Integrations/Webhook.ts b/raven-app/src/types/Integrations/Webhook.ts
new file mode 100644
index 000000000..13390acb3
--- /dev/null
+++ b/raven-app/src/types/Integrations/Webhook.ts
@@ -0,0 +1,54 @@
+import { WebhookHeader } from './WebhookHeader'
+import { WebhookData } from './WebhookData'
+
+export interface Webhook{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** DocType : Link - DocType */
+ webhook_doctype: string
+ /** Doc Event : Select */
+ webhook_docevent?: "after_insert" | "on_update" | "on_submit" | "on_cancel" | "on_trash" | "on_update_after_submit" | "on_change"
+ /** Enabled : Check */
+ enabled?: 0 | 1
+ /** Condition : Small Text - The webhook will be triggered if this expression is true */
+ condition?: string
+ /** Request URL : Data */
+ request_url: string
+ /** Request Timeout : Int - The number of seconds until the request expires */
+ timeout: number
+ /** Is Dynamic URL? : Check - On checking this option, URL will be treated like a jinja template string */
+ is_dynamic_url?: 0 | 1
+ /** Request Method : Select */
+ request_method: "POST" | "PUT" | "DELETE"
+ /** Request Structure : Select */
+ request_structure?: "" | "Form URL-Encoded" | "JSON"
+ /** Enable Security : Check */
+ enable_security?: 0 | 1
+ /** Webhook Secret : Password */
+ webhook_secret?: string
+ /** Headers : Table - Webhook Header */
+ webhook_headers?: WebhookHeader[]
+ /** Data : Table - Webhook Data */
+ webhook_data?: WebhookData[]
+ /** JSON Request Body : Code - To add dynamic values from the document, use jinja tags like
+
+
+
{ "id": "{{ doc.name }}" }
+
+
*/
+ webhook_json?: string
+ /** Select Document : Dynamic Link */
+ preview_document?: string
+ /** Meets Condition? : Data */
+ meets_condition?: string
+ /** Request Body : Code */
+ preview_request_body?: string
+}
\ No newline at end of file
diff --git a/raven-app/src/types/Integrations/WebhookData.ts b/raven-app/src/types/Integrations/WebhookData.ts
new file mode 100644
index 000000000..87b044c18
--- /dev/null
+++ b/raven-app/src/types/Integrations/WebhookData.ts
@@ -0,0 +1,17 @@
+
+export interface WebhookData{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** Fieldname : Select */
+ fieldname: string
+ /** Key : Data */
+ key: string
+}
\ No newline at end of file
diff --git a/raven-app/src/types/Integrations/WebhookHeader.ts b/raven-app/src/types/Integrations/WebhookHeader.ts
new file mode 100644
index 000000000..587bb6e0f
--- /dev/null
+++ b/raven-app/src/types/Integrations/WebhookHeader.ts
@@ -0,0 +1,17 @@
+
+export interface WebhookHeader{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** Key : Small Text */
+ key?: string
+ /** Value : Small Text */
+ value?: string
+}
\ No newline at end of file
diff --git a/raven-app/src/types/Raven/RavenSettings.ts b/raven-app/src/types/Raven/RavenSettings.ts
index 2c6a19091..a59f6079e 100644
--- a/raven-app/src/types/Raven/RavenSettings.ts
+++ b/raven-app/src/types/Raven/RavenSettings.ts
@@ -14,4 +14,6 @@ export interface RavenSettings{
auto_add_system_users?: 0 | 1
/** Show Raven on Desk : Check */
show_raven_on_desk?: 0 | 1
+ /** Tenor API Key : Data */
+ tenor_api_key?: string
}
\ No newline at end of file
diff --git a/raven-app/src/types/Raven/RavenUser.ts b/raven-app/src/types/Raven/RavenUser.ts
index 22441972d..61b33bf12 100644
--- a/raven-app/src/types/Raven/RavenUser.ts
+++ b/raven-app/src/types/Raven/RavenUser.ts
@@ -1,5 +1,5 @@
-export interface RavenUser {
+export interface RavenUser{
creation: string
name: string
modified: string
@@ -10,13 +10,18 @@ export interface RavenUser {
parentfield?: string
parenttype?: string
idx?: number
+ /** Type : Select */
+ type: "User" | "Bot"
/** User : Link - User */
- user: string
+ user?: string
+ /** Bot : Link - Raven Bot */
+ bot?: string
/** Full Name : Data */
full_name: string
/** First Name : Data */
first_name?: string
/** User Image : Attach Image */
- user_image?: string,
- enabled: 0 | 1
+ user_image?: string
+ /** Enabled : Check */
+ enabled?: 0 | 1
}
\ No newline at end of file
diff --git a/raven-app/src/types/RavenBot/RavenBot.ts b/raven-app/src/types/RavenBot/RavenBot.ts
new file mode 100644
index 000000000..32b092caa
--- /dev/null
+++ b/raven-app/src/types/RavenBot/RavenBot.ts
@@ -0,0 +1,25 @@
+
+export interface RavenBot{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** Bot Name : Data */
+ bot_name: string
+ /** Image : Attach Image */
+ image?: string
+ /** Raven User : Link - Raven User */
+ raven_user?: string
+ /** Description : Small Text */
+ description?: string
+ /** Is Standard : Check */
+ is_standard?: 0 | 1
+ /** Module : Link - Module Def */
+ module?: string
+}
\ No newline at end of file
diff --git a/raven-app/src/types/RavenIntegrations/RavenSchedulerEvent.ts b/raven-app/src/types/RavenIntegrations/RavenSchedulerEvent.ts
new file mode 100644
index 000000000..746f277d7
--- /dev/null
+++ b/raven-app/src/types/RavenIntegrations/RavenSchedulerEvent.ts
@@ -0,0 +1,33 @@
+
+export interface RavenSchedulerEvent{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** Name : Data */
+ event_name: string
+ /** Disabled : Check */
+ disabled?: 0 | 1
+ /** Event Frequency : Select */
+ event_frequency?: "Every Day" | "Every Day of the week" | "Date of the month" | "Cron"
+ /** CRON Expression : Data */
+ cron_expression?: string
+ /** Bot : Link - Raven Bot - This Bot will be used to send the message. */
+ bot: string
+ /** Send to : Select */
+ send_to?: "Channel" | "DM"
+ /** Channel : Link - Raven Channel */
+ channel: string
+ /** DM : Link - Raven Channel */
+ dm?: string
+ /** Content : Small Text */
+ content: string
+ /** Scheduler Event ID : Link - Server Script */
+ scheduler_event_id?: string
+}
\ No newline at end of file
diff --git a/raven-app/src/types/RavenIntegrations/RavenWebhook.ts b/raven-app/src/types/RavenIntegrations/RavenWebhook.ts
new file mode 100644
index 000000000..afdf0c2b8
--- /dev/null
+++ b/raven-app/src/types/RavenIntegrations/RavenWebhook.ts
@@ -0,0 +1,47 @@
+import { WebhookHeader } from '../Integrations/WebhookHeader'
+import { WebhookData } from '../Integrations/WebhookData'
+
+export interface RavenWebhook{
+ creation: string
+ name: string
+ modified: string
+ owner: string
+ modified_by: string
+ docstatus: 0 | 1 | 2
+ parent?: string
+ parentfield?: string
+ parenttype?: string
+ idx?: number
+ /** Enabled : Check */
+ enabled?: 0 | 1
+ /** Trigger Webhook on Condition : Check */
+ trigger_webhook_on_condition?: 0 | 1
+ /** Channel : Link - Raven Channel */
+ channel_id?: string
+ /** User : Link - Raven User */
+ user?: string
+ /** Channel Type : Select */
+ channel_type?: "" | "Public" | "Private" | "Open" | "DM" | "Self Message"
+ /** Condition : Small Text - The webhook will be triggered if this expression is true */
+ condition?: string
+ /** Webhook Trigger : Select */
+ webhook_trigger: "Message Sent" | "Message Edited" | "Message Deleted" | "Message Reacted On" | "Channel Created" | "Channel Deleted" | "Channel Member Added" | "Channel Member Deleted" | "User Added" | "User Deleted"
+ /** Conditions On : Select */
+ conditions_on?: "" | "Channel" | "User" | "Channel Type" | "Custom"
+ /** Request URL : Data */
+ request_url: string
+ /** Request Timeout : Int - The number of seconds until the request expires */
+ timeout: number
+ /** Is Dynamic URL? : Check - On checking this option, URL will be treated like a jinja template string */
+ is_dynamic_url?: 0 | 1
+ /** Enable Security : Check */
+ enable_security?: 0 | 1
+ /** Webhook Secret : Password */
+ webhook_secret?: string
+ /** Headers : Table - Webhook Header */
+ webhook_headers?: WebhookHeader[]
+ /** Data : Table - Webhook Data */
+ webhook_data?: WebhookData[]
+ /** Webhook : Link - Webhook */
+ webhook?: string
+}
\ No newline at end of file
diff --git a/raven-app/src/types/RavenMessaging/RavenGIFPicker.ts b/raven-app/src/types/RavenMessaging/RavenGIFPicker.ts
new file mode 100644
index 000000000..7072b6a7a
--- /dev/null
+++ b/raven-app/src/types/RavenMessaging/RavenGIFPicker.ts
@@ -0,0 +1,48 @@
+interface TenorResultObject {
+ results: Result[];
+ next: string;
+}
+interface Result {
+ id: string;
+ title: string;
+ media_formats: Mediaformats;
+ created: number;
+ content_description: string;
+ itemurl: string;
+ url: string;
+ tags: string[];
+ flags: any[];
+ hasaudio: boolean;
+}
+interface Mediaformats {
+ GIFFormatObject: GIFFormatObject;
+ mediumgif: GIFFormatObject;
+ tinywebp_transparent?: GIFFormatObject;
+ tinywebm: GIFFormatObject;
+ gif: GIFFormatObject;
+ tinygif: GIFFormatObject;
+ mp4: GIFFormatObject;
+ nanomp4: GIFFormatObject;
+ gifpreview: GIFFormatObject;
+ webm: GIFFormatObject;
+ nanowebp_transparent?: GIFFormatObject;
+ nanowebm: GIFFormatObject;
+ loopedmp4: GIFFormatObject;
+ tinygifpreview: GIFFormatObject;
+ nanowebppreview_transparent?: GIFFormatObject;
+ tinymp4: GIFFormatObject;
+ nanogif: GIFFormatObject;
+ webp_transparent?: GIFFormatObject;
+ webppreview_transparent?: GIFFormatObject;
+ tinywebppreview_transparent?: GIFFormatObject;
+ tinygif_transparent?: GIFFormatObject;
+ gif_transparent?: GIFFormatObject;
+ nanogif_transparent?: GIFFormatObject;
+}
+interface GIFFormatObject {
+ url: string;
+ duration: number;
+ preview: string;
+ dims: number[];
+ size: number;
+}
\ No newline at end of file
diff --git a/raven-app/src/types/RavenMessaging/RavenMessage.ts b/raven-app/src/types/RavenMessaging/RavenMessage.ts
index d13d5e09f..a0f2c7e3c 100644
--- a/raven-app/src/types/RavenMessaging/RavenMessage.ts
+++ b/raven-app/src/types/RavenMessaging/RavenMessage.ts
@@ -1,6 +1,6 @@
import { RavenMention } from './RavenMention'
-export interface RavenMessage {
+export interface RavenMessage{
creation: string
name: string
modified: string
@@ -49,4 +49,8 @@ export interface RavenMessage {
is_edited?: 0 | 1
/** Mentions : Table - Raven Mention */
mentions?: RavenMention[]
+ /** Is Bot Message : Check */
+ is_bot_message?: 0 | 1
+ /** Bot : Link - Raven User */
+ bot?: string
}
\ No newline at end of file
diff --git a/raven-app/src/utils/channel/ChannelMembersProvider.tsx b/raven-app/src/utils/channel/ChannelMembersProvider.tsx
index 61e4ac268..005f46511 100644
--- a/raven-app/src/utils/channel/ChannelMembersProvider.tsx
+++ b/raven-app/src/utils/channel/ChannelMembersProvider.tsx
@@ -1,6 +1,5 @@
import { FrappeError, useFrappeGetCall } from 'frappe-react-sdk'
import { PropsWithChildren, createContext } from 'react'
-import { useParams } from 'react-router-dom'
import { KeyedMutator } from 'swr'
export type Member = {
@@ -8,7 +7,8 @@ export type Member = {
full_name: string
user_image: string | null
first_name: string
- is_admin: 1 | 0
+ is_admin: 1 | 0,
+ type?: 'User' | 'Bot'
}
export type ChannelMembers = {
diff --git a/raven-app/src/utils/channel/ChannelRedirect.tsx b/raven-app/src/utils/channel/ChannelRedirect.tsx
index 47a3b23b8..77345a237 100644
--- a/raven-app/src/utils/channel/ChannelRedirect.tsx
+++ b/raven-app/src/utils/channel/ChannelRedirect.tsx
@@ -1,4 +1,11 @@
-import { Navigate } from 'react-router-dom'
+import { Suspense, useEffect } from 'react'
+import { Outlet, useLocation, useNavigate } from 'react-router-dom'
+import { hasRavenUserRole } from '../roles'
+import { FullPageLoader } from '@/components/layout/Loaders'
+import AddRavenUsersPage from '@/pages/AddRavenUsersPage'
+import { ActiveUsersProvider } from '../users/ActiveUsersProvider'
+import { UserListProvider } from '../users/UserListProvider'
+import { ChannelListProvider } from './ChannelListProvider'
/**
* Redirects to the last channel visited by the user
@@ -8,5 +15,30 @@ export const ChannelRedirect = () => {
const lastChannel = localStorage.getItem('ravenLastChannel') ?? 'general'
- return
+ const navigate = useNavigate()
+ const { pathname } = useLocation()
+
+ const isRavenUser = hasRavenUserRole()
+
+ useEffect(() => {
+ if (isRavenUser && (pathname === '/channel' || pathname === '/')) navigate(`/channel/${lastChannel}`, {
+ replace: true
+ })
+ }, [pathname, isRavenUser])
+
+ if (isRavenUser) {
+ return (
+
+
+
+
+
+
+
+ )
+
+ }
+ return }>
+
+
}
\ No newline at end of file
diff --git a/raven-app/src/utils/users/UserListProvider.tsx b/raven-app/src/utils/users/UserListProvider.tsx
index 8e7f6fe36..7885c2358 100644
--- a/raven-app/src/utils/users/UserListProvider.tsx
+++ b/raven-app/src/utils/users/UserListProvider.tsx
@@ -11,7 +11,7 @@ export const UserListContext = createContext<{ users: UserFields[], enabledUsers
enabledUsers: []
})
-export type UserFields = Pick
+export type UserFields = Pick
export const UserListProvider = ({ children }: PropsWithChildren) => {
diff --git a/raven-app/yarn.lock b/raven-app/yarn.lock
index 6dc324a83..9f63812e8 100644
--- a/raven-app/yarn.lock
+++ b/raven-app/yarn.lock
@@ -8,12 +8,12 @@
integrity sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==
"@ampproject/remapping@^2.2.0":
- version "2.2.1"
- resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.2.1.tgz#99e8e11851128b8702cd57c33684f1d0f260b630"
- integrity sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/@ampproject/remapping/-/remapping-2.3.0.tgz#ed441b6fa600072520ce18b43d2c8cc8caecc7f4"
+ integrity sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==
dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.24"
"@apideck/better-ajv-errors@^0.3.1":
version "0.3.6"
@@ -24,48 +24,48 @@
jsonpointer "^5.0.0"
leven "^3.1.0"
-"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.23.5.tgz#9009b69a8c602293476ad598ff53e4562e15c244"
- integrity sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==
+"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.23.5", "@babel/code-frame@^7.24.1", "@babel/code-frame@^7.24.2":
+ version "7.24.2"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.24.2.tgz#718b4b19841809a58b29b68cde80bc5e1aa6d9ae"
+ integrity sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==
dependencies:
- "@babel/highlight" "^7.23.4"
- chalk "^2.4.2"
+ "@babel/highlight" "^7.24.2"
+ picocolors "^1.0.0"
-"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.3", "@babel/compat-data@^7.23.5":
- version "7.23.5"
- resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.23.5.tgz#ffb878728bb6bdcb6f4510aa51b1be9afb8cfd98"
- integrity sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==
+"@babel/compat-data@^7.22.6", "@babel/compat-data@^7.23.5", "@babel/compat-data@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.1.tgz#31c1f66435f2a9c329bb5716a6d6186c516c3742"
+ integrity sha512-Pc65opHDliVpRHuKfzI+gSA4zcgr65O4cl64fFJIWEEh8JoHIHh0Oez1Eo8Arz8zq/JhgKodQaxEwUPRtZylVA==
"@babel/core@^7.11.1", "@babel/core@^7.21.3", "@babel/core@^7.23.5":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.23.9.tgz#b028820718000f267870822fec434820e9b1e4d1"
- integrity sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.24.3.tgz#568864247ea10fbd4eff04dda1e05f9e2ea985c3"
+ integrity sha512-5FcvN1JHw2sHJChotgx8Ek0lyuh4kCKelgMTTqhYJJtloNvUfpAFMeNQUtdlIaktwrSV9LtCdqwk48wL2wBacQ==
dependencies:
"@ampproject/remapping" "^2.2.0"
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.6"
+ "@babel/code-frame" "^7.24.2"
+ "@babel/generator" "^7.24.1"
"@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helpers" "^7.23.9"
- "@babel/parser" "^7.23.9"
- "@babel/template" "^7.23.9"
- "@babel/traverse" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/helpers" "^7.24.1"
+ "@babel/parser" "^7.24.1"
+ "@babel/template" "^7.24.0"
+ "@babel/traverse" "^7.24.1"
+ "@babel/types" "^7.24.0"
convert-source-map "^2.0.0"
debug "^4.1.0"
gensync "^1.0.0-beta.2"
json5 "^2.2.3"
semver "^6.3.1"
-"@babel/generator@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.23.6.tgz#9e1fca4811c77a10580d17d26b57b036133f3c2e"
- integrity sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==
+"@babel/generator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.1.tgz#e67e06f68568a4ebf194d1c6014235344f0476d0"
+ integrity sha512-DfCRfZsBcrPEHUfuBMgbJ1Ut01Y/itOs+hY2nFLgqsqXd52/iSiVq5TITtUasIUgm+IIKdY2/1I7auiQOEeC9A==
dependencies:
- "@babel/types" "^7.23.6"
- "@jridgewell/gen-mapping" "^0.3.2"
- "@jridgewell/trace-mapping" "^0.3.17"
+ "@babel/types" "^7.24.0"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
jsesc "^2.5.1"
"@babel/helper-annotate-as-pure@^7.22.5":
@@ -82,7 +82,7 @@
dependencies:
"@babel/types" "^7.22.15"
-"@babel/helper-compilation-targets@^7.22.15", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6":
+"@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.23.6":
version "7.23.6"
resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz#4d79069b16cbcf1461289eccfbbd81501ae39991"
integrity sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==
@@ -93,17 +93,17 @@
lru-cache "^5.1.1"
semver "^6.3.1"
-"@babel/helper-create-class-features-plugin@^7.22.15":
- version "7.23.10"
- resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.23.10.tgz#25d55fafbaea31fd0e723820bb6cc3df72edf7ea"
- integrity sha512-2XpP2XhkXzgxecPNEEK8Vz8Asj9aRxt08oKOqtiZoqV2UGZ5T+EkyP9sXQ9nwMxBIG34a7jmasVqoMop7VdPUw==
+"@babel/helper-create-class-features-plugin@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.1.tgz#db58bf57137b623b916e24874ab7188d93d7f68f"
+ integrity sha512-1yJa9dX9g//V6fDebXoEfEsxkZHk3Hcbm+zLhyu6qVgYFLvmTALTeV+jNU9e5RnYtioBrGEOdoI2joMSNQ/+aA==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-member-expression-to-functions" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-replace-supers" "^7.24.1"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
semver "^6.3.1"
@@ -117,10 +117,10 @@
regexpu-core "^5.3.1"
semver "^6.3.1"
-"@babel/helper-define-polyfill-provider@^0.5.0":
- version "0.5.0"
- resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz#465805b7361f461e86c680f1de21eaf88c25901b"
- integrity sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==
+"@babel/helper-define-polyfill-provider@^0.6.1":
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.1.tgz#fadc63f0c2ff3c8d02ed905dcea747c5b0fb74fd"
+ integrity sha512-o7SDgTJuvx5vLKD6SFvkydkSMBvahDKGiNJzG22IZYXhiqoe9efY7zocICBgzHV4IRg5wdgl2nEL/tulKIEIbA==
dependencies:
"@babel/helper-compilation-targets" "^7.22.6"
"@babel/helper-plugin-utils" "^7.22.5"
@@ -148,19 +148,19 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-member-expression-to-functions@^7.22.15", "@babel/helper-member-expression-to-functions@^7.23.0":
+"@babel/helper-member-expression-to-functions@^7.23.0":
version "7.23.0"
resolved "https://registry.yarnpkg.com/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz#9263e88cc5e41d39ec18c9a3e0eced59a3e7d366"
integrity sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==
dependencies:
"@babel/types" "^7.23.0"
-"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.22.15":
- version "7.22.15"
- resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz#16146307acdc40cc00c3b2c647713076464bdbf0"
- integrity sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==
+"@babel/helper-module-imports@^7.10.4", "@babel/helper-module-imports@^7.22.15", "@babel/helper-module-imports@^7.24.1":
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.24.3.tgz#6ac476e6d168c7c23ff3ba3cf4f7841d46ac8128"
+ integrity sha512-viKb0F9f2s0BCS22QSF308z/+1YWKV/76mwt61NBzS5izMzDPwdq1pTrzf+Li3npBWX9KdQbkeCt1jSAM7lZqg==
dependencies:
- "@babel/types" "^7.22.15"
+ "@babel/types" "^7.24.0"
"@babel/helper-module-transforms@^7.23.3":
version "7.23.3"
@@ -180,10 +180,10 @@
dependencies:
"@babel/types" "^7.22.5"
-"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
- version "7.22.5"
- resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz#dd7ee3735e8a313b9f7b05a773d892e88e6d7295"
- integrity sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==
+"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.0", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3":
+ version "7.24.0"
+ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz#945681931a52f15ce879fd5b86ce2dae6d3d7f2a"
+ integrity sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==
"@babel/helper-remap-async-to-generator@^7.22.20":
version "7.22.20"
@@ -194,13 +194,13 @@
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-wrap-function" "^7.22.20"
-"@babel/helper-replace-supers@^7.22.20":
- version "7.22.20"
- resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz#e37d367123ca98fe455a9887734ed2e16eb7a793"
- integrity sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==
+"@babel/helper-replace-supers@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-replace-supers/-/helper-replace-supers-7.24.1.tgz#7085bd19d4a0b7ed8f405c1ed73ccb70f323abc1"
+ integrity sha512-QCR1UqC9BzG5vZl8BMicmZ28RuUBnHhAMddD8yHFHDRH9lLTZ9uUPehX8ctVPT8l0TKblJidqcgUUKGVrePleQ==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-member-expression-to-functions" "^7.22.15"
+ "@babel/helper-member-expression-to-functions" "^7.23.0"
"@babel/helper-optimise-call-expression" "^7.22.5"
"@babel/helper-simple-access@^7.22.5":
@@ -225,9 +225,9 @@
"@babel/types" "^7.22.5"
"@babel/helper-string-parser@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz#9478c707febcbbe1ddb38a3d91a2e054ae622d83"
- integrity sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.1.tgz#f99c36d3593db9540705d0739a1f10b5e20c696e"
+ integrity sha512-2ofRCjnnA9y+wk8b9IAREroeUP02KHp431N2mhKniy2yKIDKpbrHv9eXwm8cBeWQYcJmzv5qKCu65P47eCF7CQ==
"@babel/helper-validator-identifier@^7.22.20":
version "7.22.20"
@@ -248,52 +248,53 @@
"@babel/template" "^7.22.15"
"@babel/types" "^7.22.19"
-"@babel/helpers@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.23.9.tgz#c3e20bbe7f7a7e10cb9b178384b4affdf5995c7d"
- integrity sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==
+"@babel/helpers@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.24.1.tgz#183e44714b9eba36c3038e442516587b1e0a1a94"
+ integrity sha512-BpU09QqEe6ZCHuIHFphEFgvNSrubve1FtyMton26ekZ85gRGi6LrTF7zArARp2YvyFxloeiRmtSCq5sjh1WqIg==
dependencies:
- "@babel/template" "^7.23.9"
- "@babel/traverse" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/template" "^7.24.0"
+ "@babel/traverse" "^7.24.1"
+ "@babel/types" "^7.24.0"
-"@babel/highlight@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.23.4.tgz#edaadf4d8232e1a961432db785091207ead0621b"
- integrity sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==
+"@babel/highlight@^7.24.2":
+ version "7.24.2"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.24.2.tgz#3f539503efc83d3c59080a10e6634306e0370d26"
+ integrity sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==
dependencies:
"@babel/helper-validator-identifier" "^7.22.20"
chalk "^2.4.2"
js-tokens "^4.0.0"
+ picocolors "^1.0.0"
-"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.23.9.tgz#7b903b6149b0f8fa7ad564af646c4c38a77fc44b"
- integrity sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==
+"@babel/parser@^7.1.0", "@babel/parser@^7.20.7", "@babel/parser@^7.24.0", "@babel/parser@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.1.tgz#1e416d3627393fab1cb5b0f2f1796a100ae9133a"
+ integrity sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==
-"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz#5cd1c87ba9380d0afb78469292c954fee5d2411a"
- integrity sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==
+"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.24.1.tgz#b645d9ba8c2bc5b7af50f0fe949f9edbeb07c8cf"
+ integrity sha512-y4HqEnkelJIOQGd+3g1bTeKsA5c6qM7eOn7VggGVbBc0y8MLSKHacwcIE2PplNlQSj0PqS9rrXL/nkPVK+kUNg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz#f6652bb16b94f8f9c20c50941e16e9756898dc5d"
- integrity sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==
+"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.1.tgz#da8261f2697f0f41b0855b91d3a20a1fbfd271d3"
+ integrity sha512-Hj791Ii4ci8HqnaKHAlLNs+zaLXb0EzSDhiAWp5VNlyvCNymYfacs64pxTxbH1znW/NcArSmwpmG9IKE/TUVVQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
- "@babel/plugin-transform-optional-chaining" "^7.23.3"
+ "@babel/plugin-transform-optional-chaining" "^7.24.1"
-"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.23.7":
- version "7.23.7"
- resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz#516462a95d10a9618f197d39ad291a9b47ae1d7b"
- integrity sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==
+"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.24.1.tgz#1181d9685984c91d657b8ddf14f0487a6bab2988"
+ integrity sha512-m9m/fXsXLiHfwdgydIFnpk+7jlVbnvlK5B2EKiPdLUb6WX654ZaaEWJUjk8TftRbZpK0XibovlLWX4KIZhV6jw==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2":
version "7.21.0-placeholder-for-preset-env.2"
@@ -335,19 +336,19 @@
dependencies:
"@babel/helper-plugin-utils" "^7.8.3"
-"@babel/plugin-syntax-import-assertions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz#9c05a7f592982aff1a2768260ad84bcd3f0c77fc"
- integrity sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==
+"@babel/plugin-syntax-import-assertions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.1.tgz#db3aad724153a00eaac115a3fb898de544e34971"
+ integrity sha512-IuwnI5XnuF189t91XbxmXeCDz3qs6iDRO7GJ++wcfgeXNs/8FmIlKcpDSXNVyuLQxlwvskmI3Ct73wUODkJBlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-syntax-import-attributes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz#992aee922cf04512461d7dae3ff6951b90a2dc06"
- integrity sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==
+"@babel/plugin-syntax-import-attributes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.1.tgz#c66b966c63b714c4eec508fcf5763b1f2d381093"
+ integrity sha512-zhQTMH0X2nVLnb04tz+s7AMuasX8U0FnpE+nHTOhSOINjWMnopoZTxtIKsd45n4GQ/HIZLyfIpoul8e2m0DnRA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-import-meta@^7.10.4":
version "7.10.4"
@@ -427,212 +428,212 @@
"@babel/helper-create-regexp-features-plugin" "^7.18.6"
"@babel/helper-plugin-utils" "^7.18.6"
-"@babel/plugin-transform-arrow-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz#94c6dcfd731af90f27a79509f9ab7fb2120fc38b"
- integrity sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==
+"@babel/plugin-transform-arrow-functions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.1.tgz#2bf263617060c9cc45bcdbf492b8cc805082bf27"
+ integrity sha512-ngT/3NkRhsaep9ck9uj2Xhv9+xB1zShY3tM3g6om4xxCELwCDN4g4Aq5dRn48+0hasAql7s2hdBOysCfNpr4fw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-async-generator-functions@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz#9adaeb66fc9634a586c5df139c6240d41ed801ce"
- integrity sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==
+"@babel/plugin-transform-async-generator-functions@^7.24.3":
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.24.3.tgz#8fa7ae481b100768cc9842c8617808c5352b8b89"
+ integrity sha512-Qe26CMYVjpQxJ8zxM1340JFNjZaF+ISWpr1Kt/jGo+ZTUzKkfw/pphEWbRCb+lmSM6k/TOgfYLvmbHkUQ0asIg==
dependencies:
"@babel/helper-environment-visitor" "^7.22.20"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-remap-async-to-generator" "^7.22.20"
"@babel/plugin-syntax-async-generators" "^7.8.4"
-"@babel/plugin-transform-async-to-generator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz#d1f513c7a8a506d43f47df2bf25f9254b0b051fa"
- integrity sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==
+"@babel/plugin-transform-async-to-generator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.1.tgz#0e220703b89f2216800ce7b1c53cb0cf521c37f4"
+ integrity sha512-AawPptitRXp1y0n4ilKcGbRYWfbbzFWz2NqNu7dacYDtFtz0CMjG64b3LQsb3KIgnf4/obcUL78hfaOS7iCUfw==
dependencies:
- "@babel/helper-module-imports" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-module-imports" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-remap-async-to-generator" "^7.22.20"
-"@babel/plugin-transform-block-scoped-functions@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz#fe1177d715fb569663095e04f3598525d98e8c77"
- integrity sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==
+"@babel/plugin-transform-block-scoped-functions@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.1.tgz#1c94799e20fcd5c4d4589523bbc57b7692979380"
+ integrity sha512-TWWC18OShZutrv9C6mye1xwtam+uNi2bnTOCBUd5sZxyHOiWbU6ztSROofIMrK84uweEZC219POICK/sTYwfgg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-block-scoping@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz#b2d38589531c6c80fbe25e6b58e763622d2d3cf5"
- integrity sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==
+"@babel/plugin-transform-block-scoping@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.24.1.tgz#27af183d7f6dad890531256c7a45019df768ac1f"
+ integrity sha512-h71T2QQvDgM2SmT29UYU6ozjMlAt7s7CSs5Hvy8f8cf/GM/Z4a2zMfN+fjVGaieeCrXR3EdQl6C4gQG+OgmbKw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-class-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz#35c377db11ca92a785a718b6aa4e3ed1eb65dc48"
- integrity sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==
+"@babel/plugin-transform-class-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.1.tgz#bcbf1aef6ba6085cfddec9fc8d58871cf011fc29"
+ integrity sha512-OMLCXi0NqvJfORTaPQBwqLXHhb93wkBKZ4aNwMl6WtehO7ar+cmp+89iPEQPqxAnxsOKTaMcs3POz3rKayJ72g==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-class-static-block@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz#2a202c8787a8964dd11dfcedf994d36bfc844ab5"
- integrity sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==
+"@babel/plugin-transform-class-static-block@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.1.tgz#4e37efcca1d9f2fcb908d1bae8b56b4b6e9e1cb6"
+ integrity sha512-FUHlKCn6J3ERiu8Dv+4eoz7w8+kFLSyeVG4vDAikwADGjUCoHw/JHokyGtr8OR4UjpwPVivyF+h8Q5iv/JmrtA==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
-"@babel/plugin-transform-classes@^7.23.8":
- version "7.23.8"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz#d08ae096c240347badd68cdf1b6d1624a6435d92"
- integrity sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==
+"@babel/plugin-transform-classes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-classes/-/plugin-transform-classes-7.24.1.tgz#5bc8fc160ed96378184bc10042af47f50884dcb1"
+ integrity sha512-ZTIe3W7UejJd3/3R4p7ScyyOoafetUShSf4kCqV0O7F/RiHxVj/wRaRnQlrGwflvcehNA8M42HkAiEDYZu2F1Q==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
"@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-replace-supers" "^7.24.1"
"@babel/helper-split-export-declaration" "^7.22.6"
globals "^11.1.0"
-"@babel/plugin-transform-computed-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz#652e69561fcc9d2b50ba4f7ac7f60dcf65e86474"
- integrity sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==
+"@babel/plugin-transform-computed-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.1.tgz#bc7e787f8e021eccfb677af5f13c29a9934ed8a7"
+ integrity sha512-5pJGVIUfJpOS+pAqBQd+QMaTD2vCL/HcePooON6pDpHgRp4gNRmzyHTPIkXntwKsq3ayUFVfJaIKPw2pOkOcTw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/template" "^7.22.15"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/template" "^7.24.0"
-"@babel/plugin-transform-destructuring@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz#8c9ee68228b12ae3dff986e56ed1ba4f3c446311"
- integrity sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==
+"@babel/plugin-transform-destructuring@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.1.tgz#b1e8243af4a0206841973786292b8c8dd8447345"
+ integrity sha512-ow8jciWqNxR3RYbSNVuF4U2Jx130nwnBnhRw6N6h1bOejNkABmcI5X5oz29K4alWX7vf1C+o6gtKXikzRKkVdw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-dotall-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz#3f7af6054882ede89c378d0cf889b854a993da50"
- integrity sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==
+"@babel/plugin-transform-dotall-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.1.tgz#d56913d2f12795cc9930801b84c6f8c47513ac13"
+ integrity sha512-p7uUxgSoZwZ2lPNMzUkqCts3xlp8n+o05ikjy7gbtFJSt9gdU88jAmtfmOxHM14noQXBxfgzf2yRWECiNVhTCw==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-duplicate-keys@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz#664706ca0a5dfe8d066537f99032fc1dc8b720ce"
- integrity sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==
+"@babel/plugin-transform-duplicate-keys@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.1.tgz#5347a797fe82b8d09749d10e9f5b83665adbca88"
+ integrity sha512-msyzuUnvsjsaSaocV6L7ErfNsa5nDWL1XKNnDePLgmz+WdU4w/J8+AxBMrWfi9m4IxfL5sZQKUPQKDQeeAT6lA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-dynamic-import@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz#c7629e7254011ac3630d47d7f34ddd40ca535143"
- integrity sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==
+"@babel/plugin-transform-dynamic-import@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.1.tgz#2a5a49959201970dd09a5fca856cb651e44439dd"
+ integrity sha512-av2gdSTyXcJVdI+8aFZsCAtR29xJt0S5tas+Ef8NvBNmD1a+N/3ecMLeMBgfcK+xzsjdLDT6oHt+DFPyeqUbDA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
-"@babel/plugin-transform-exponentiation-operator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz#ea0d978f6b9232ba4722f3dbecdd18f450babd18"
- integrity sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==
+"@babel/plugin-transform-exponentiation-operator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.1.tgz#6650ebeb5bd5c012d5f5f90a26613a08162e8ba4"
+ integrity sha512-U1yX13dVBSwS23DEAqU+Z/PkwE9/m7QQy8Y9/+Tdb8UWYaGNDYwTLi19wqIAiROr8sXVum9A/rtiH5H0boUcTw==
dependencies:
"@babel/helper-builder-binary-assignment-operator-visitor" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-export-namespace-from@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz#084c7b25e9a5c8271e987a08cf85807b80283191"
- integrity sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==
+"@babel/plugin-transform-export-namespace-from@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.1.tgz#f033541fc036e3efb2dcb58eedafd4f6b8078acd"
+ integrity sha512-Ft38m/KFOyzKw2UaJFkWG9QnHPG/Q/2SkOrRk4pNBPg5IPZ+dOxcmkK5IyuBcxiNPyyYowPGUReyBvrvZs7IlQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
-"@babel/plugin-transform-for-of@^7.23.6":
- version "7.23.6"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz#81c37e24171b37b370ba6aaffa7ac86bcb46f94e"
- integrity sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==
+"@babel/plugin-transform-for-of@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.1.tgz#67448446b67ab6c091360ce3717e7d3a59e202fd"
+ integrity sha512-OxBdcnF04bpdQdR3i4giHZNZQn7cm8RQKcSwA17wAAqEELo1ZOwp5FFgeptWUQXFyT9kwHo10aqqauYkRZPCAg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-"@babel/plugin-transform-function-name@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz#8f424fcd862bf84cb9a1a6b42bc2f47ed630f8dc"
- integrity sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==
+"@babel/plugin-transform-function-name@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.24.1.tgz#8cba6f7730626cc4dfe4ca2fa516215a0592b361"
+ integrity sha512-BXmDZpPlh7jwicKArQASrj8n22/w6iymRnvHYYd2zO30DbE277JO20/7yXJT3QxDPtiQiOxQBbZH4TpivNXIxA==
dependencies:
- "@babel/helper-compilation-targets" "^7.22.15"
+ "@babel/helper-compilation-targets" "^7.23.6"
"@babel/helper-function-name" "^7.23.0"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-json-strings@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz#a871d9b6bd171976efad2e43e694c961ffa3714d"
- integrity sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==
+"@babel/plugin-transform-json-strings@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.1.tgz#08e6369b62ab3e8a7b61089151b161180c8299f7"
+ integrity sha512-U7RMFmRvoasscrIFy5xA4gIp8iWnWubnKkKuUGJjsuOH7GfbMkB+XZzeslx2kLdEGdOJDamEmCqOks6e8nv8DQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-json-strings" "^7.8.3"
-"@babel/plugin-transform-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz#8214665f00506ead73de157eba233e7381f3beb4"
- integrity sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==
+"@babel/plugin-transform-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.1.tgz#0a1982297af83e6b3c94972686067df588c5c096"
+ integrity sha512-zn9pwz8U7nCqOYIiBaOxoQOtYmMODXTJnkxG4AtX8fPmnCRYWBOHD0qcpwS9e2VDSp1zNJYpdnFMIKb8jmwu6g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-logical-assignment-operators@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz#e599f82c51d55fac725f62ce55d3a0886279ecb5"
- integrity sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==
+"@babel/plugin-transform-logical-assignment-operators@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.1.tgz#719d8aded1aa94b8fb34e3a785ae8518e24cfa40"
+ integrity sha512-OhN6J4Bpz+hIBqItTeWJujDOfNP+unqv/NJgyhlpSqgBTPm37KkMmZV6SYcOj+pnDbdcl1qRGV/ZiIjX9Iy34w==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
-"@babel/plugin-transform-member-expression-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz#e37b3f0502289f477ac0e776b05a833d853cabcc"
- integrity sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==
+"@babel/plugin-transform-member-expression-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.1.tgz#896d23601c92f437af8b01371ad34beb75df4489"
+ integrity sha512-4ojai0KysTWXzHseJKa1XPNXKRbuUrhkOPY4rEGeR+7ChlJVKxFa3H3Bz+7tWaGKgJAXUWKOGmltN+u9B3+CVg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-modules-amd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz#e19b55436a1416829df0a1afc495deedfae17f7d"
- integrity sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==
+"@babel/plugin-transform-modules-amd@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.1.tgz#b6d829ed15258536977e9c7cc6437814871ffa39"
+ integrity sha512-lAxNHi4HVtjnHd5Rxg3D5t99Xm6H7b04hUS7EHIXcUl2EV4yl1gWdqZrNzXnSrHveL9qMdbODlLF55mvgjAfaQ==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-modules-commonjs@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz#661ae831b9577e52be57dd8356b734f9700b53b4"
- integrity sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==
+"@babel/plugin-transform-modules-commonjs@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.1.tgz#e71ba1d0d69e049a22bf90b3867e263823d3f1b9"
+ integrity sha512-szog8fFTUxBfw0b98gEWPaEqF42ZUD/T3bkynW/wtgx2p/XCP55WEsb+VosKceRSd6njipdZvNogqdtI4Q0chw==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-simple-access" "^7.22.5"
-"@babel/plugin-transform-modules-systemjs@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz#105d3ed46e4a21d257f83a2f9e2ee4203ceda6be"
- integrity sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==
+"@babel/plugin-transform-modules-systemjs@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.24.1.tgz#2b9625a3d4e445babac9788daec39094e6b11e3e"
+ integrity sha512-mqQ3Zh9vFO1Tpmlt8QPnbwGHzNz3lpNEMxQb1kAemn/erstyqw1r9KeOlOfo3y6xAnFEcOv2tSyrXfmMk+/YZA==
dependencies:
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-validator-identifier" "^7.22.20"
-"@babel/plugin-transform-modules-umd@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz#5d4395fccd071dfefe6585a4411aa7d6b7d769e9"
- integrity sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==
+"@babel/plugin-transform-modules-umd@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.1.tgz#69220c66653a19cf2c0872b9c762b9a48b8bebef"
+ integrity sha512-tuA3lpPj+5ITfcCluy6nWonSL7RvaG0AOTeAuvXqEKS34lnLzXpDb0dcP6K8jD0zWZFNDVly90AGFJPnm4fOYg==
dependencies:
"@babel/helper-module-transforms" "^7.23.3"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-named-capturing-groups-regex@^7.22.5":
version "7.22.5"
@@ -642,213 +643,212 @@
"@babel/helper-create-regexp-features-plugin" "^7.22.5"
"@babel/helper-plugin-utils" "^7.22.5"
-"@babel/plugin-transform-new-target@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz#5491bb78ed6ac87e990957cea367eab781c4d980"
- integrity sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==
+"@babel/plugin-transform-new-target@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.1.tgz#29c59988fa3d0157de1c871a28cd83096363cc34"
+ integrity sha512-/rurytBM34hYy0HKZQyA0nHbQgQNFm4Q/BOc9Hflxi2X3twRof7NaE5W46j4kQitm7SvACVRXsa6N/tSZxvPug==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-nullish-coalescing-operator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz#45556aad123fc6e52189ea749e33ce090637346e"
- integrity sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==
+"@babel/plugin-transform-nullish-coalescing-operator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.1.tgz#0cd494bb97cb07d428bd651632cb9d4140513988"
+ integrity sha512-iQ+caew8wRrhCikO5DrUYx0mrmdhkaELgFa+7baMcVuhxIkN7oxt06CZ51D65ugIb1UWRQ8oQe+HXAVM6qHFjw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3"
-"@babel/plugin-transform-numeric-separator@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz#03d08e3691e405804ecdd19dd278a40cca531f29"
- integrity sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==
+"@babel/plugin-transform-numeric-separator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.1.tgz#5bc019ce5b3435c1cadf37215e55e433d674d4e8"
+ integrity sha512-7GAsGlK4cNL2OExJH1DzmDeKnRv/LXq0eLUSvudrehVA5Rgg4bIrqEUW29FbKMBRT0ztSqisv7kjP+XIC4ZMNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-numeric-separator" "^7.10.4"
-"@babel/plugin-transform-object-rest-spread@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.23.4.tgz#2b9c2d26bf62710460bdc0d1730d4f1048361b83"
- integrity sha512-9x9K1YyeQVw0iOXJlIzwm8ltobIIv7j2iLyP2jIhEbqPRQ7ScNgwQufU2I0Gq11VjyG4gI4yMXt2VFags+1N3g==
+"@babel/plugin-transform-object-rest-spread@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.1.tgz#5a3ce73caf0e7871a02e1c31e8b473093af241ff"
+ integrity sha512-XjD5f0YqOtebto4HGISLNfiNMTTs6tbkFf2TOqJlYKYmbo+mN9Dnpl4SRoofiziuOWMIyq3sZEUqLo3hLITFEA==
dependencies:
- "@babel/compat-data" "^7.23.3"
- "@babel/helper-compilation-targets" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-compilation-targets" "^7.23.6"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-object-rest-spread" "^7.8.3"
- "@babel/plugin-transform-parameters" "^7.23.3"
+ "@babel/plugin-transform-parameters" "^7.24.1"
-"@babel/plugin-transform-object-super@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz#81fdb636dcb306dd2e4e8fd80db5b2362ed2ebcd"
- integrity sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==
+"@babel/plugin-transform-object-super@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.1.tgz#e71d6ab13483cca89ed95a474f542bbfc20a0520"
+ integrity sha512-oKJqR3TeI5hSLRxudMjFQ9re9fBVUU0GICqM3J1mi8MqlhVr6hC/ZN4ttAyMuQR6EZZIY6h/exe5swqGNNIkWQ==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
- "@babel/helper-replace-supers" "^7.22.20"
+ "@babel/helper-plugin-utils" "^7.24.0"
+ "@babel/helper-replace-supers" "^7.24.1"
-"@babel/plugin-transform-optional-catch-binding@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz#318066de6dacce7d92fa244ae475aa8d91778017"
- integrity sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==
+"@babel/plugin-transform-optional-catch-binding@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.1.tgz#92a3d0efe847ba722f1a4508669b23134669e2da"
+ integrity sha512-oBTH7oURV4Y+3EUrf6cWn1OHio3qG/PVwO5J03iSJmBg6m2EhKjkAu/xuaXaYwWW9miYtvbWv4LNf0AmR43LUA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-optional-catch-binding" "^7.8.3"
-"@babel/plugin-transform-optional-chaining@^7.23.3", "@babel/plugin-transform-optional-chaining@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz#6acf61203bdfc4de9d4e52e64490aeb3e52bd017"
- integrity sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==
+"@babel/plugin-transform-optional-chaining@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.1.tgz#26e588acbedce1ab3519ac40cc748e380c5291e6"
+ integrity sha512-n03wmDt+987qXwAgcBlnUUivrZBPZ8z1plL0YvgQalLm+ZE5BMhGm94jhxXtA1wzv1Cu2aaOv1BM9vbVttrzSg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
"@babel/plugin-syntax-optional-chaining" "^7.8.3"
-"@babel/plugin-transform-parameters@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz#83ef5d1baf4b1072fa6e54b2b0999a7b2527e2af"
- integrity sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==
+"@babel/plugin-transform-parameters@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.1.tgz#983c15d114da190506c75b616ceb0f817afcc510"
+ integrity sha512-8Jl6V24g+Uw5OGPeWNKrKqXPDw2YDjLc53ojwfMcKwlEoETKU9rU0mHUtcg9JntWI/QYzGAXNWEcVHZ+fR+XXg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-private-methods@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz#b2d7a3c97e278bfe59137a978d53b2c2e038c0e4"
- integrity sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==
+"@babel/plugin-transform-private-methods@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.1.tgz#a0faa1ae87eff077e1e47a5ec81c3aef383dc15a"
+ integrity sha512-tGvisebwBO5em4PaYNqt4fkw56K2VALsAbAakY0FjTYqJp7gfdrgr7YX76Or8/cpik0W6+tj3rZ0uHU9Oil4tw==
dependencies:
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-private-property-in-object@^7.23.4":
- version "7.23.4"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz#3ec711d05d6608fd173d9b8de39872d8dbf68bf5"
- integrity sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==
+"@babel/plugin-transform-private-property-in-object@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.1.tgz#756443d400274f8fb7896742962cc1b9f25c1f6a"
+ integrity sha512-pTHxDVa0BpUbvAgX3Gat+7cSciXqUcY9j2VZKTbSB6+VQGpNgNO9ailxTGHSXlqOnX1Hcx1Enme2+yv7VqP9bg==
dependencies:
"@babel/helper-annotate-as-pure" "^7.22.5"
- "@babel/helper-create-class-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-create-class-features-plugin" "^7.24.1"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
-"@babel/plugin-transform-property-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz#54518f14ac4755d22b92162e4a852d308a560875"
- integrity sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==
+"@babel/plugin-transform-property-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.1.tgz#d6a9aeab96f03749f4eebeb0b6ea8e90ec958825"
+ integrity sha512-LetvD7CrHmEx0G442gOomRr66d7q8HzzGGr4PMHGr+5YIm6++Yke+jxj246rpvsbyhJwCLxcTn6zW1P1BSenqA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-react-jsx-self@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.23.3.tgz#ed3e7dadde046cce761a8e3cf003a13d1a7972d9"
- integrity sha512-qXRvbeKDSfwnlJnanVRp0SfuWE5DQhwQr5xtLBzp56Wabyo+4CMosF6Kfp+eOD/4FYpql64XVJ2W0pVLlJZxOQ==
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.24.1.tgz#a21d866d8167e752c6a7c4555dba8afcdfce6268"
+ integrity sha512-kDJgnPujTmAZ/9q2CN4m2/lRsUUPDvsG3+tSHWUJIzMGTt5U/b/fwWd3RO3n+5mjLrsBrVa5eKFRVSQbi3dF1w==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/plugin-transform-react-jsx-source@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.23.3.tgz#03527006bdc8775247a78643c51d4e715fe39a3e"
- integrity sha512-91RS0MDnAWDNvGC6Wio5XYkyWI39FMFO+JK9+4AlgaTH+yWwVTsw7/sn6LK0lH7c5F+TFkpv/3LfCJ1Ydwof/g==
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.24.1.tgz#a2dedb12b09532846721b5df99e52ef8dc3351d0"
+ integrity sha512-1v202n7aUq4uXAieRTKcwPzNyphlCuqHHDcdSNc+vdhoTEZcFMh+L5yZuCmGaIO7bs1nJUNfHB89TZyoL48xNA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-regenerator@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz#141afd4a2057298602069fce7f2dc5173e6c561c"
- integrity sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==
+"@babel/plugin-transform-regenerator@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.1.tgz#625b7545bae52363bdc1fbbdc7252b5046409c8c"
+ integrity sha512-sJwZBCzIBE4t+5Q4IGLaaun5ExVMRY0lYwos/jNecjMrVCygCdph3IKv0tkP5Fc87e/1+bebAmEAGBfnRD+cnw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
regenerator-transform "^0.15.2"
-"@babel/plugin-transform-reserved-words@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz#4130dcee12bd3dd5705c587947eb715da12efac8"
- integrity sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==
+"@babel/plugin-transform-reserved-words@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.1.tgz#8de729f5ecbaaf5cf83b67de13bad38a21be57c1"
+ integrity sha512-JAclqStUfIwKN15HrsQADFgeZt+wexNQ0uLhuqvqAUFoqPMjEcFCYZBhq0LUdz6dZK/mD+rErhW71fbx8RYElg==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-shorthand-properties@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz#97d82a39b0e0c24f8a981568a8ed851745f59210"
- integrity sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==
+"@babel/plugin-transform-shorthand-properties@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.1.tgz#ba9a09144cf55d35ec6b93a32253becad8ee5b55"
+ integrity sha512-LyjVB1nsJ6gTTUKRjRWx9C1s9hE7dLfP/knKdrfeH9UPtAGjYGgxIbFfx7xyLIEWs7Xe1Gnf8EWiUqfjLhInZA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-spread@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz#41d17aacb12bde55168403c6f2d6bdca563d362c"
- integrity sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==
+"@babel/plugin-transform-spread@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.1.tgz#a1acf9152cbf690e4da0ba10790b3ac7d2b2b391"
+ integrity sha512-KjmcIM+fxgY+KxPVbjelJC6hrH1CgtPmTvdXAfn3/a9CnWGSTY7nH4zm5+cjmWJybdcPSsD0++QssDsjcpe47g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-skip-transparent-expression-wrappers" "^7.22.5"
-"@babel/plugin-transform-sticky-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz#dec45588ab4a723cb579c609b294a3d1bd22ff04"
- integrity sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==
+"@babel/plugin-transform-sticky-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.1.tgz#f03e672912c6e203ed8d6e0271d9c2113dc031b9"
+ integrity sha512-9v0f1bRXgPVcPrngOQvLXeGNNVLc8UjMVfebo9ka0WF3/7+aVUHmaJVT3sa0XCzEFioPfPHZiOcYG9qOsH63cw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-template-literals@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz#5f0f028eb14e50b5d0f76be57f90045757539d07"
- integrity sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==
+"@babel/plugin-transform-template-literals@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.1.tgz#15e2166873a30d8617e3e2ccadb86643d327aab7"
+ integrity sha512-WRkhROsNzriarqECASCNu/nojeXCDTE/F2HmRgOzi7NGvyfYGq1NEjKBK3ckLfRgGc6/lPAqP0vDOSw3YtG34g==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-typeof-symbol@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz#9dfab97acc87495c0c449014eb9c547d8966bca4"
- integrity sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==
+"@babel/plugin-transform-typeof-symbol@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.1.tgz#6831f78647080dec044f7e9f68003d99424f94c7"
+ integrity sha512-CBfU4l/A+KruSUoW+vTQthwcAdwuqbpRNB8HQKlZABwHRhsdHZ9fezp4Sn18PeAlYxTNiLMlx4xUBV3AWfg1BA==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-escapes@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz#1f66d16cab01fab98d784867d24f70c1ca65b925"
- integrity sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==
+"@babel/plugin-transform-unicode-escapes@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.1.tgz#fb3fa16676549ac7c7449db9b342614985c2a3a4"
+ integrity sha512-RlkVIcWT4TLI96zM660S877E7beKlQw7Ig+wqkKBiWfj0zH5Q4h50q6er4wzZKRNSYpfo6ILJ+hrJAGSX2qcNw==
dependencies:
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-property-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz#19e234129e5ffa7205010feec0d94c251083d7ad"
- integrity sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==
+"@babel/plugin-transform-unicode-property-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.1.tgz#56704fd4d99da81e5e9f0c0c93cabd91dbc4889e"
+ integrity sha512-Ss4VvlfYV5huWApFsF8/Sq0oXnGO+jB+rijFEFugTd3cwSObUSnUi88djgR5528Csl0uKlrI331kRqe56Ov2Ng==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz#26897708d8f42654ca4ce1b73e96140fbad879dc"
- integrity sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==
+"@babel/plugin-transform-unicode-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.1.tgz#57c3c191d68f998ac46b708380c1ce4d13536385"
+ integrity sha512-2A/94wgZgxfTsiLaQ2E36XAOdcZmGAaEEgVmxQWwZXWkGhvoHbaqXcKnU8zny4ycpu3vNqg0L/PcCiYtHtA13g==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
-"@babel/plugin-transform-unicode-sets-regex@^7.23.3":
- version "7.23.3"
- resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz#4fb6f0a719c2c5859d11f6b55a050cc987f3799e"
- integrity sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==
+"@babel/plugin-transform-unicode-sets-regex@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.1.tgz#c1ea175b02afcffc9cf57a9c4658326625165b7f"
+ integrity sha512-fqj4WuzzS+ukpgerpAoOnMfQXwUHFxXUZUE84oL2Kao2N8uSlvcpnAidKASgsNgzZHBsHWvcm8s9FPWUhAb8fA==
dependencies:
"@babel/helper-create-regexp-features-plugin" "^7.22.15"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/preset-env@^7.11.0":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.23.9.tgz#beace3b7994560ed6bf78e4ae2073dff45387669"
- integrity sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==
+ version "7.24.3"
+ resolved "https://registry.yarnpkg.com/@babel/preset-env/-/preset-env-7.24.3.tgz#f3f138c844ffeeac372597b29c51b5259e8323a3"
+ integrity sha512-fSk430k5c2ff8536JcPvPWK4tZDwehWLGlBp0wrsBUjZVdeQV6lePbwKWZaZfK2vnh/1kQX1PzAJWsnBmVgGJA==
dependencies:
- "@babel/compat-data" "^7.23.5"
+ "@babel/compat-data" "^7.24.1"
"@babel/helper-compilation-targets" "^7.23.6"
- "@babel/helper-plugin-utils" "^7.22.5"
+ "@babel/helper-plugin-utils" "^7.24.0"
"@babel/helper-validator-option" "^7.23.5"
- "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.23.3"
- "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.23.3"
- "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.23.7"
+ "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.24.1"
+ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.1"
+ "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.24.1"
"@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2"
"@babel/plugin-syntax-async-generators" "^7.8.4"
"@babel/plugin-syntax-class-properties" "^7.12.13"
"@babel/plugin-syntax-class-static-block" "^7.14.5"
"@babel/plugin-syntax-dynamic-import" "^7.8.3"
"@babel/plugin-syntax-export-namespace-from" "^7.8.3"
- "@babel/plugin-syntax-import-assertions" "^7.23.3"
- "@babel/plugin-syntax-import-attributes" "^7.23.3"
+ "@babel/plugin-syntax-import-assertions" "^7.24.1"
+ "@babel/plugin-syntax-import-attributes" "^7.24.1"
"@babel/plugin-syntax-import-meta" "^7.10.4"
"@babel/plugin-syntax-json-strings" "^7.8.3"
"@babel/plugin-syntax-logical-assignment-operators" "^7.10.4"
@@ -860,58 +860,58 @@
"@babel/plugin-syntax-private-property-in-object" "^7.14.5"
"@babel/plugin-syntax-top-level-await" "^7.14.5"
"@babel/plugin-syntax-unicode-sets-regex" "^7.18.6"
- "@babel/plugin-transform-arrow-functions" "^7.23.3"
- "@babel/plugin-transform-async-generator-functions" "^7.23.9"
- "@babel/plugin-transform-async-to-generator" "^7.23.3"
- "@babel/plugin-transform-block-scoped-functions" "^7.23.3"
- "@babel/plugin-transform-block-scoping" "^7.23.4"
- "@babel/plugin-transform-class-properties" "^7.23.3"
- "@babel/plugin-transform-class-static-block" "^7.23.4"
- "@babel/plugin-transform-classes" "^7.23.8"
- "@babel/plugin-transform-computed-properties" "^7.23.3"
- "@babel/plugin-transform-destructuring" "^7.23.3"
- "@babel/plugin-transform-dotall-regex" "^7.23.3"
- "@babel/plugin-transform-duplicate-keys" "^7.23.3"
- "@babel/plugin-transform-dynamic-import" "^7.23.4"
- "@babel/plugin-transform-exponentiation-operator" "^7.23.3"
- "@babel/plugin-transform-export-namespace-from" "^7.23.4"
- "@babel/plugin-transform-for-of" "^7.23.6"
- "@babel/plugin-transform-function-name" "^7.23.3"
- "@babel/plugin-transform-json-strings" "^7.23.4"
- "@babel/plugin-transform-literals" "^7.23.3"
- "@babel/plugin-transform-logical-assignment-operators" "^7.23.4"
- "@babel/plugin-transform-member-expression-literals" "^7.23.3"
- "@babel/plugin-transform-modules-amd" "^7.23.3"
- "@babel/plugin-transform-modules-commonjs" "^7.23.3"
- "@babel/plugin-transform-modules-systemjs" "^7.23.9"
- "@babel/plugin-transform-modules-umd" "^7.23.3"
+ "@babel/plugin-transform-arrow-functions" "^7.24.1"
+ "@babel/plugin-transform-async-generator-functions" "^7.24.3"
+ "@babel/plugin-transform-async-to-generator" "^7.24.1"
+ "@babel/plugin-transform-block-scoped-functions" "^7.24.1"
+ "@babel/plugin-transform-block-scoping" "^7.24.1"
+ "@babel/plugin-transform-class-properties" "^7.24.1"
+ "@babel/plugin-transform-class-static-block" "^7.24.1"
+ "@babel/plugin-transform-classes" "^7.24.1"
+ "@babel/plugin-transform-computed-properties" "^7.24.1"
+ "@babel/plugin-transform-destructuring" "^7.24.1"
+ "@babel/plugin-transform-dotall-regex" "^7.24.1"
+ "@babel/plugin-transform-duplicate-keys" "^7.24.1"
+ "@babel/plugin-transform-dynamic-import" "^7.24.1"
+ "@babel/plugin-transform-exponentiation-operator" "^7.24.1"
+ "@babel/plugin-transform-export-namespace-from" "^7.24.1"
+ "@babel/plugin-transform-for-of" "^7.24.1"
+ "@babel/plugin-transform-function-name" "^7.24.1"
+ "@babel/plugin-transform-json-strings" "^7.24.1"
+ "@babel/plugin-transform-literals" "^7.24.1"
+ "@babel/plugin-transform-logical-assignment-operators" "^7.24.1"
+ "@babel/plugin-transform-member-expression-literals" "^7.24.1"
+ "@babel/plugin-transform-modules-amd" "^7.24.1"
+ "@babel/plugin-transform-modules-commonjs" "^7.24.1"
+ "@babel/plugin-transform-modules-systemjs" "^7.24.1"
+ "@babel/plugin-transform-modules-umd" "^7.24.1"
"@babel/plugin-transform-named-capturing-groups-regex" "^7.22.5"
- "@babel/plugin-transform-new-target" "^7.23.3"
- "@babel/plugin-transform-nullish-coalescing-operator" "^7.23.4"
- "@babel/plugin-transform-numeric-separator" "^7.23.4"
- "@babel/plugin-transform-object-rest-spread" "^7.23.4"
- "@babel/plugin-transform-object-super" "^7.23.3"
- "@babel/plugin-transform-optional-catch-binding" "^7.23.4"
- "@babel/plugin-transform-optional-chaining" "^7.23.4"
- "@babel/plugin-transform-parameters" "^7.23.3"
- "@babel/plugin-transform-private-methods" "^7.23.3"
- "@babel/plugin-transform-private-property-in-object" "^7.23.4"
- "@babel/plugin-transform-property-literals" "^7.23.3"
- "@babel/plugin-transform-regenerator" "^7.23.3"
- "@babel/plugin-transform-reserved-words" "^7.23.3"
- "@babel/plugin-transform-shorthand-properties" "^7.23.3"
- "@babel/plugin-transform-spread" "^7.23.3"
- "@babel/plugin-transform-sticky-regex" "^7.23.3"
- "@babel/plugin-transform-template-literals" "^7.23.3"
- "@babel/plugin-transform-typeof-symbol" "^7.23.3"
- "@babel/plugin-transform-unicode-escapes" "^7.23.3"
- "@babel/plugin-transform-unicode-property-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-regex" "^7.23.3"
- "@babel/plugin-transform-unicode-sets-regex" "^7.23.3"
+ "@babel/plugin-transform-new-target" "^7.24.1"
+ "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.1"
+ "@babel/plugin-transform-numeric-separator" "^7.24.1"
+ "@babel/plugin-transform-object-rest-spread" "^7.24.1"
+ "@babel/plugin-transform-object-super" "^7.24.1"
+ "@babel/plugin-transform-optional-catch-binding" "^7.24.1"
+ "@babel/plugin-transform-optional-chaining" "^7.24.1"
+ "@babel/plugin-transform-parameters" "^7.24.1"
+ "@babel/plugin-transform-private-methods" "^7.24.1"
+ "@babel/plugin-transform-private-property-in-object" "^7.24.1"
+ "@babel/plugin-transform-property-literals" "^7.24.1"
+ "@babel/plugin-transform-regenerator" "^7.24.1"
+ "@babel/plugin-transform-reserved-words" "^7.24.1"
+ "@babel/plugin-transform-shorthand-properties" "^7.24.1"
+ "@babel/plugin-transform-spread" "^7.24.1"
+ "@babel/plugin-transform-sticky-regex" "^7.24.1"
+ "@babel/plugin-transform-template-literals" "^7.24.1"
+ "@babel/plugin-transform-typeof-symbol" "^7.24.1"
+ "@babel/plugin-transform-unicode-escapes" "^7.24.1"
+ "@babel/plugin-transform-unicode-property-regex" "^7.24.1"
+ "@babel/plugin-transform-unicode-regex" "^7.24.1"
+ "@babel/plugin-transform-unicode-sets-regex" "^7.24.1"
"@babel/preset-modules" "0.1.6-no-external-plugins"
- babel-plugin-polyfill-corejs2 "^0.4.8"
- babel-plugin-polyfill-corejs3 "^0.9.0"
- babel-plugin-polyfill-regenerator "^0.5.5"
+ babel-plugin-polyfill-corejs2 "^0.4.10"
+ babel-plugin-polyfill-corejs3 "^0.10.4"
+ babel-plugin-polyfill-regenerator "^0.6.1"
core-js-compat "^3.31.0"
semver "^6.3.1"
@@ -930,41 +930,41 @@
integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==
"@babel/runtime@^7.11.2", "@babel/runtime@^7.13.10", "@babel/runtime@^7.22.15", "@babel/runtime@^7.8.4":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.23.9.tgz#47791a15e4603bb5f905bc0753801cf21d6345f7"
- integrity sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.1.tgz#431f9a794d173b53720e69a6464abc6f0e2a5c57"
+ integrity sha512-+BIznRzyqBf+2wCTxcKE3wDjfGeCoVE61KSHGpkzqrLi8qxqFwBeUFyId2cxkTmm55fzDGnm0+yCxaxygrLUnQ==
dependencies:
regenerator-runtime "^0.14.0"
-"@babel/template@^7.22.15", "@babel/template@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.23.9.tgz#f881d0487cba2828d3259dcb9ef5005a9731011a"
- integrity sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==
+"@babel/template@^7.22.15", "@babel/template@^7.24.0":
+ version "7.24.0"
+ resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.0.tgz#c6a524aa93a4a05d66aaf31654258fae69d87d50"
+ integrity sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==
dependencies:
"@babel/code-frame" "^7.23.5"
- "@babel/parser" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/parser" "^7.24.0"
+ "@babel/types" "^7.24.0"
-"@babel/traverse@^7.23.9":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.23.9.tgz#2f9d6aead6b564669394c5ce0f9302bb65b9d950"
- integrity sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==
+"@babel/traverse@^7.24.1":
+ version "7.24.1"
+ resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.24.1.tgz#d65c36ac9dd17282175d1e4a3c49d5b7988f530c"
+ integrity sha512-xuU6o9m68KeqZbQuDt2TcKSxUw/mrsvavlEqQ1leZ/B+C9tk6E4sRWy97WaXgvq5E+nU3cXMxv3WKOCanVMCmQ==
dependencies:
- "@babel/code-frame" "^7.23.5"
- "@babel/generator" "^7.23.6"
+ "@babel/code-frame" "^7.24.1"
+ "@babel/generator" "^7.24.1"
"@babel/helper-environment-visitor" "^7.22.20"
"@babel/helper-function-name" "^7.23.0"
"@babel/helper-hoist-variables" "^7.22.5"
"@babel/helper-split-export-declaration" "^7.22.6"
- "@babel/parser" "^7.23.9"
- "@babel/types" "^7.23.9"
+ "@babel/parser" "^7.24.1"
+ "@babel/types" "^7.24.0"
debug "^4.3.1"
globals "^11.1.0"
-"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.23.6", "@babel/types@^7.23.9", "@babel/types@^7.4.4":
- version "7.23.9"
- resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.23.9.tgz#1dd7b59a9a2b5c87f8b41e52770b5ecbf492e002"
- integrity sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==
+"@babel/types@^7.0.0", "@babel/types@^7.20.7", "@babel/types@^7.21.3", "@babel/types@^7.22.15", "@babel/types@^7.22.19", "@babel/types@^7.22.5", "@babel/types@^7.23.0", "@babel/types@^7.24.0", "@babel/types@^7.4.4":
+ version "7.24.0"
+ resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.24.0.tgz#3b951f435a92e7333eba05b7566fd297960ea1bf"
+ integrity sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==
dependencies:
"@babel/helper-string-parser" "^7.23.4"
"@babel/helper-validator-identifier" "^7.22.20"
@@ -1080,7 +1080,7 @@
resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.18.20.tgz#786c5f41f043b07afb1af37683d7c33668858f6d"
integrity sha512-kTdfRcSiDfQca/y9QIkng02avJ+NCaQvrMejlsB3RRv5sE9rRoeBPISaZpKxHELzRxZyLvNts1P27W3wV+8geQ==
-"@floating-ui/core@^1.6.0":
+"@floating-ui/core@^1.0.0":
version "1.6.0"
resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.0.tgz#fa41b87812a16bf123122bf945946bae3fdf7fc1"
integrity sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==
@@ -1088,12 +1088,12 @@
"@floating-ui/utils" "^0.2.1"
"@floating-ui/dom@^1.6.1":
- version "1.6.1"
- resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.1.tgz#d552e8444f77f2d88534372369b3771dc3a2fa5d"
- integrity sha512-iA8qE43/H5iGozC3W0YSnVSW42Vh522yyM1gj+BqRwVsTNOyr231PsXDaV04yT39PsO0QL2QpbI/M0ZaLUQgRQ==
+ version "1.6.3"
+ resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.3.tgz#954e46c1dd3ad48e49db9ada7218b0985cee75ef"
+ integrity sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==
dependencies:
- "@floating-ui/core" "^1.6.0"
- "@floating-ui/utils" "^0.2.1"
+ "@floating-ui/core" "^1.0.0"
+ "@floating-ui/utils" "^0.2.0"
"@floating-ui/react-dom@^2.0.0":
version "2.0.8"
@@ -1102,7 +1102,7 @@
dependencies:
"@floating-ui/dom" "^1.6.1"
-"@floating-ui/utils@^0.2.1":
+"@floating-ui/utils@^0.2.0", "@floating-ui/utils@^0.2.1":
version "0.2.1"
resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.1.tgz#16308cea045f0fc777b6ff20a9f25474dd8293d2"
integrity sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==
@@ -1119,42 +1119,42 @@
wrap-ansi "^8.1.0"
wrap-ansi-cjs "npm:wrap-ansi@^7.0.0"
-"@jridgewell/gen-mapping@^0.3.0", "@jridgewell/gen-mapping@^0.3.2":
- version "0.3.3"
- resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz#7e02e6eb5df901aaedb08514203b096614024098"
- integrity sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==
+"@jridgewell/gen-mapping@^0.3.2", "@jridgewell/gen-mapping@^0.3.5":
+ version "0.3.5"
+ resolved "https://registry.yarnpkg.com/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz#dcce6aff74bdf6dad1a95802b69b04a2fcb1fb36"
+ integrity sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==
dependencies:
- "@jridgewell/set-array" "^1.0.1"
+ "@jridgewell/set-array" "^1.2.1"
"@jridgewell/sourcemap-codec" "^1.4.10"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/trace-mapping" "^0.3.24"
"@jridgewell/resolve-uri@^3.1.0":
- version "3.1.1"
- resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz#c08679063f279615a3326583ba3a90d1d82cc721"
- integrity sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==
+ version "3.1.2"
+ resolved "https://registry.yarnpkg.com/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz#7a0ee601f60f99a20c7c7c5ff0c80388c1189bd6"
+ integrity sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==
-"@jridgewell/set-array@^1.0.1":
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.1.2.tgz#7c6cf998d6d20b914c0a55a91ae928ff25965e72"
- integrity sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==
+"@jridgewell/set-array@^1.2.1":
+ version "1.2.1"
+ resolved "https://registry.yarnpkg.com/@jridgewell/set-array/-/set-array-1.2.1.tgz#558fb6472ed16a4c850b889530e6b36438c49280"
+ integrity sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==
"@jridgewell/source-map@^0.3.3":
- version "0.3.5"
- resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.5.tgz#a3bb4d5c6825aab0d281268f47f6ad5853431e91"
- integrity sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==
+ version "0.3.6"
+ resolved "https://registry.yarnpkg.com/@jridgewell/source-map/-/source-map-0.3.6.tgz#9d71ca886e32502eb9362c9a74a46787c36df81a"
+ integrity sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==
dependencies:
- "@jridgewell/gen-mapping" "^0.3.0"
- "@jridgewell/trace-mapping" "^0.3.9"
+ "@jridgewell/gen-mapping" "^0.3.5"
+ "@jridgewell/trace-mapping" "^0.3.25"
"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14":
version "1.4.15"
resolved "https://registry.yarnpkg.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz#d7c6e6755c78567a951e04ab52ef0fd26de59f32"
integrity sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==
-"@jridgewell/trace-mapping@^0.3.17", "@jridgewell/trace-mapping@^0.3.9":
- version "0.3.22"
- resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz#72a621e5de59f5f1ef792d0793a82ee20f645e4c"
- integrity sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==
+"@jridgewell/trace-mapping@^0.3.24", "@jridgewell/trace-mapping@^0.3.25":
+ version "0.3.25"
+ resolved "https://registry.yarnpkg.com/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz#15f190e98895f3fc23276ee14bc76b675c2e50f0"
+ integrity sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==
dependencies:
"@jridgewell/resolve-uri" "^3.1.0"
"@jridgewell/sourcemap-codec" "^1.4.14"
@@ -1941,36 +1941,10 @@
resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-2.0.2.tgz#f05eccdc69e3a65e7d524b52548f567904a11a1a"
integrity sha512-dyHY+sMF0ihPus3O27ODd4+agdHMEmuRdyiZJ2CCWjPV5UFmn17ZbElvk6WOGVE4rdCJKZQCrPV2BcikOMLUGQ==
-"@remirror/core-helpers@^3.0.0":
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/@remirror/core-helpers/-/core-helpers-3.0.0.tgz#3a35c2346bc23ebc3cee585b7840b5567755c5f1"
- integrity sha512-tusEgQJIqg4qKj6HSBUFcyRnWnziw3neh4T9wOmsPGHFC3w9kl5KSrDb9UAgE8uX6y32FnS7vJ955mWOl3n50A==
- dependencies:
- "@remirror/core-constants" "^2.0.2"
- "@remirror/types" "^1.0.1"
- "@types/object.omit" "^3.0.0"
- "@types/object.pick" "^1.3.2"
- "@types/throttle-debounce" "^2.1.0"
- case-anything "^2.1.13"
- dash-get "^1.0.2"
- deepmerge "^4.3.1"
- fast-deep-equal "^3.1.3"
- make-error "^1.3.6"
- object.omit "^3.0.0"
- object.pick "^1.3.0"
- throttle-debounce "^3.0.1"
-
-"@remirror/types@^1.0.1":
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/@remirror/types/-/types-1.0.1.tgz#768502497a0fbbc23338a1586b893f729310cf70"
- integrity sha512-VlZQxwGnt1jtQ18D6JqdIF+uFZo525WEqrfp9BOc3COPpK4+AWCgdnAWL+ho6imWcoINlGjR/+3b6y5C1vBVEA==
- dependencies:
- type-fest "^2.19.0"
-
-"@remix-run/router@1.15.0":
- version "1.15.0"
- resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.0.tgz#461a952c2872dd82c8b2e9b74c4dfaff569123e2"
- integrity sha512-HOil5aFtme37dVQTB6M34G95kPM3MMuqSmIRVCC52eKV+Y/tGSqw9P3rWhlAx6A+mz+MoX+XxsGsNJbaI5qCgQ==
+"@remix-run/router@1.15.3":
+ version "1.15.3"
+ resolved "https://registry.yarnpkg.com/@remix-run/router/-/router-1.15.3.tgz#d2509048d69dbb72d5389a14945339f1430b2d3c"
+ integrity sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==
"@rollup/plugin-babel@^5.2.0":
version "5.3.1"
@@ -2116,156 +2090,161 @@
"@svgr/hast-util-to-babel-ast" "8.0.0"
svg-parser "^2.0.4"
-"@tiptap/core@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.2.2.tgz#7664197dafee890a5f42ba03b50c202bdf1da761"
- integrity sha512-fec26LtNgYFGhKzEA9+Of+qLKIKUxDL/XZQofoPcxP71NffcmpZ+ZjAx9NjnvuYtvylUSySZiPauY6WhN3aprw==
+"@tiptap/core@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-2.2.4.tgz#6f957678eb733e70b9282fb5098d284a77bd09a3"
+ integrity sha512-cRrI8IlLIhCE1hacBQzXIC8dsRvGq6a4lYWQK/BaHuZg21CG7szp3Vd8Ix+ra1f5v0xPOT+Hy+QFNQooRMKMCw==
-"@tiptap/extension-blockquote@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.2.2.tgz#85b7b44657921d213375b1e19821fd07d47629ad"
- integrity sha512-ENCGx/yhNdUQ0epGOeTN4HFeUSfQDK2CQBy2szkQVtzG/Vhv8ExxBWTxHJcMoeSfEVmKag4B506vfRkKH24IMA==
+"@tiptap/extension-blockquote@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-2.2.4.tgz#d733bea016986c0017e308a2540378c9551c7f10"
+ integrity sha512-FrfPnn0VgVrUwWLwja1afX99JGLp6PE9ThVcmri+tLwUZQvTTVcCvHoCdOakav3/nge1+aV4iE3tQdyq1tWI9Q==
-"@tiptap/extension-bold@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.2.2.tgz#e9b612d82a4fd0a7722b7357fa6bd92e227ffbc4"
- integrity sha512-8/KLpPHwO+GXlWsXEION7ppLfFIaSpnw5m2QYXz/LGRK32hzpTavbdXV3rx9+Vu+7Z+0yQF9G/ro1z9dqTQHpw==
+"@tiptap/extension-bold@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-2.2.4.tgz#3690eea1ebef49f8d30043fdcfc7bf2866a9b887"
+ integrity sha512-v3tTLc8YESFZPOGj5ByFr8VbmQ/PTo49T1vsK50VubxIN/5r9cXlKH8kb3dZlZxCxJa3FrXNO/M8rdGBSWQvSg==
-"@tiptap/extension-bubble-menu@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.2.2.tgz#be743dd48da2a9f3a43a3621b52153f92d134af8"
- integrity sha512-W3OvoHxgBdQSrlX8FXvIs5wA+eHXe/0jGsqQdwLXPtqZOSR4Ks9OLmxDk2+O8ci0KCLPb6/doJYg7j/8Ic4KRg==
+"@tiptap/extension-bubble-menu@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-2.2.4.tgz#2477901c78a18c629f7ae828394ff1f91a500c60"
+ integrity sha512-Nx1fS9jcFlhxaTDYlnayz2UulhK6CMaePc36+7PQIVI+u20RhgTCRNr25zKNemvsiM0RPZZVUjlHkxC0l5as1Q==
dependencies:
tippy.js "^6.3.7"
-"@tiptap/extension-bullet-list@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.2.2.tgz#387e26c8216b9f8a7a2b5862a216610b964b4c95"
- integrity sha512-mZznxwymWitQRHYxEN8LX7theJdQ1/O6kUsvwDyHw42+jaCsZumTHEWGckBwkxk3BWWKbrkRGv/cC78sa3cNJw==
+"@tiptap/extension-bullet-list@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-2.2.4.tgz#1763ae7686bc3f209c1662d571e738280d190ff8"
+ integrity sha512-z/MPmW8bhRougMuorl6MAQBXeK4rhlP+jBWlNwT+CT8h5IkXqPnDbM1sZeagp2nYfVV6Yc4RWpzimqHHtGnYTA==
"@tiptap/extension-code-block-lowlight@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.2.2.tgz#a51eb2a69e68f86bcfb42c76872eb23487717e46"
- integrity sha512-1toOAhghl+j4sAfkeFJvpLl0hEBEL/nN1bl6ii2JeN2317ep35r0jK/TyEbCaokgecTNy3YC3ryED47DFcRGtg==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block-lowlight/-/extension-code-block-lowlight-2.2.4.tgz#804f8b3d872140566d89fde30f44b0ea5873c72f"
+ integrity sha512-FxrpY2Lj6kV6pu5LcaeccE3lqOqvOyFSfMGRV6x1OGOMV9TIFJKIVEIcEhqoiqEnuJZzSmQSx7QZqzOvquZo+A==
-"@tiptap/extension-code-block@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.2.2.tgz#edc788bb46710e83fd4f398636055579212aca3c"
- integrity sha512-CKn4xqhpCfwkVdkj//A+LVf0hFrRkBbDx8u3KG+I7cegjXxvDSqb2OGhn/tXpFatLAE50GJiPIvqf+TmhIWBvA==
+"@tiptap/extension-code-block@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-2.2.4.tgz#6d72f3e458cf417a4be6b9cc1f9409ad89f55b78"
+ integrity sha512-h6WV9TmaBEZmvqe1ezMR83DhCPUap6P2mSR5pwVk0WVq6rvZjfgU0iF3EetBJOeDgPlz7cNe2NMDfVb1nGTM/g==
-"@tiptap/extension-code@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.2.2.tgz#c38be5d2c64bc268a6f57bbb21694a495b3a076e"
- integrity sha512-CHMHK76fGFrY3TpsyNmPB393VvRgjnvLVOfc0Qx4KKEkntDQ1v2jg90XupLf0+H0aq0KQBHlSooW0Bh+7SxbmQ==
+"@tiptap/extension-code@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-2.2.4.tgz#ba77dc56daac75bdf83a2aaecff896e9301c2cdf"
+ integrity sha512-JB4SJ2mUU/9qXFUf+K5K9szvovnN9AIcCb0f0UlcVBuddKHSqCl3wO3QJgYt44BfQTLMNuyzr+zVqfFd6BNt/g==
-"@tiptap/extension-document@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.2.2.tgz#2fbb4987f49626b8d88961df73b1dae9d381a8b6"
- integrity sha512-eUhpYq8ErVAlxuTg5wslc96mniEQs+VN+tFmRrx9Q0n0nG/aDKUQFDgcSMpAMpHK7+h7tGc/rDq+ydpzZhFXlQ==
+"@tiptap/extension-document@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-2.2.4.tgz#d46c1fdd1ea5b7191112fae4e9f8a63a46309afc"
+ integrity sha512-z+05xGK0OFoXV1GL+/8bzcZuWMdMA3+EKwk5c+iziG60VZcvGTF7jBRsZidlu9Oaj0cDwWHCeeo6L9SgSh6i2A==
-"@tiptap/extension-dropcursor@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.2.2.tgz#f25228796d1045d0a1fc864f8dbc4b07aa044181"
- integrity sha512-HxXEf6m+W3PnT63Ib49qAmcwmapZvmyWgq9cvB5kSfl/znQT04wBgShEigkgUBLqgcM/R/RI8NS1GQl1Zpv9iQ==
+"@tiptap/extension-dropcursor@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-2.2.4.tgz#df39861159a022029f733924e9a3977a76dfed17"
+ integrity sha512-IHwkEKmqpqXyJi16h7871NrcIqeyN7I6XRE2qdqi+MhGigVWI8nWHoYbjRKa7K/1uhs5zeRYyDlq5EuZyL6mgA==
-"@tiptap/extension-floating-menu@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.2.2.tgz#a058b1e0ff99bf45eee3ec3a71d32bfe8697c231"
- integrity sha512-DRz9kzcPt7S8s22EQC+KS/ghnHRV6j7Qequ+0kLjfLYPdqj2u4G5xTrFM7sWfzUqf2HdH8SS8Yo9WFMYm69D9w==
+"@tiptap/extension-floating-menu@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-2.2.4.tgz#a97becec8cedfa1fb282a7a52caed35a80098581"
+ integrity sha512-U25l7PEzOmlAPugNRl8t8lqyhQZS6W/+3f92+FdwW9qXju3i62iX/3OGCC3Gv+vybmQ4fbZmMjvl+VDfenNi3A==
dependencies:
tippy.js "^6.3.7"
-"@tiptap/extension-gapcursor@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.2.2.tgz#1de9323bc2ace710d29da53c72e952628df6cf7c"
- integrity sha512-qsE8yI9nZOLHg6XdFwn4BYMhR2f/50gppHJdsHx53575y2ci6uowMI+WjdEentl6yR9ctgV1jelHLs9ShmPzwQ==
+"@tiptap/extension-gapcursor@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-2.2.4.tgz#607b2682376c5ced086258f8329eb080e8047627"
+ integrity sha512-Y6htT/RDSqkQ1UwG2Ia+rNVRvxrKPOs3RbqKHPaWr3vbFWwhHyKhMCvi/FqfI3d5pViVHOZQ7jhb5hT/a0BmNw==
-"@tiptap/extension-hard-break@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.2.2.tgz#26c5fab8771a9eec354bfdb6a25337dfd291f168"
- integrity sha512-zbG6/7xyMim2fnRESIx2FiFHjdY7BXKMe+GUgLGPnRfXrJqSZhdVguBrtYGBnBFCnuSiOZZ6rFy+k5uORGSrhA==
+"@tiptap/extension-hard-break@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-2.2.4.tgz#2be463b2f23fc8f57004f3481829aa0b236c17f6"
+ integrity sha512-FPvS57GcqHIeLbPKGJa3gnH30Xw+YB1PXXnAWG2MpnMtc2Vtj1l5xaYYBZB+ADdXLAlU0YMbKhFLQO4+pg1Isg==
-"@tiptap/extension-heading@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.2.2.tgz#304a37b08cd2b84e8a5ac9ad5af8f88409ad528a"
- integrity sha512-oCd8VsLnrqJFY+lgA+5I/2EjBa4mQzB5DFLzCI460PfZnQJ2DmaNUdpY38BpHUv8E2PbBXzxxWS9h88yycW6yw==
+"@tiptap/extension-heading@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-2.2.4.tgz#a90469a879713dc074ce45e3d7d8cf7a02ae6a1f"
+ integrity sha512-gkq7Ns2FcrOCRq7Q+VRYt5saMt2R9g4REAtWy/jEevJ5UV5vA2AiGnYDmxwAkHutoYU0sAUkjqx37wE0wpamNw==
"@tiptap/extension-highlight@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.2.2.tgz#f8a40badca91fe7dc195d447d32d282d31163d78"
- integrity sha512-tNDx0u54H/cnBVfGflq7a9WHzPTOdDgz0BzSj3ujHT8xAZG+yQWhm8bnq0BZc+7xODbGIQ22ZEzypIC7KNUzZQ==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-highlight/-/extension-highlight-2.2.4.tgz#f94c3bf794ddd7f0ac8613243b0c95e4c6ff8b0f"
+ integrity sha512-GGl6ehKQ0Q0gGgUQhkWg2XYPfhVU5c0JD3NHzV4OrBP6JAtFeMYeSLdfYzFcmoYnGafvSZaJ3NukUvnDHZGzRg==
-"@tiptap/extension-history@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.2.2.tgz#75686efd621298568d47e29a5d54cb89a1df374a"
- integrity sha512-hcCEh7mP5H38ZY3YtbyyUOTNfKWAvITkJhVqjKbrRI3E+FOlG3pWPH3wz4srW5bHK38oUsiKwyP9FqC3C2Mixg==
+"@tiptap/extension-history@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-history/-/extension-history-2.2.4.tgz#2d37ccfce9a8b7997bb4d46ebb19e986c5eb6f39"
+ integrity sha512-FDM32XYF5NU4mzh+fJ8w2CyUqv0l2Nl15sd6fOhQkVxSj8t57z+DUXc9ZR3zkH+1RAagYJo/2Gu3e99KpMr0tg==
-"@tiptap/extension-horizontal-rule@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.2.2.tgz#209f4582882d16893115514f38dd1c2ae2436ec7"
- integrity sha512-5hun56M9elO6slOoDH03q2of06KB1rX8MLvfiKpfAvjbhmuQJav20fz2MQ2lCunek0D8mUIySwhfMvBrTcd90A==
+"@tiptap/extension-horizontal-rule@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-2.2.4.tgz#e1fc33a05d337c2871180f569a7af1774c74658a"
+ integrity sha512-iCRHjFQQHApWg3R4fkKkJQhWEOdu1Fdc4YEAukdOXPSg3fg36IwjvsMXjt9SYBtVZ+iio3rORCZGXyMvgCH9uw==
-"@tiptap/extension-italic@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.2.2.tgz#fe8ac8abd39f723f4885502341e3d088ed003e7a"
- integrity sha512-l9NZK4vYqYY9Y5UskLQpdbvi0sXG4I/MuhRxPdjitK8E3SVhZxMnoNwCTkq0+I1xBjCD/jSrDMV4FqkKesrl2w==
+"@tiptap/extension-image@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-image/-/extension-image-2.2.4.tgz#55c267e9ff77e2bf3c514896331ad91d18da08c3"
+ integrity sha512-xOnqZpnP/fAfmK5AKmXplVQdXBtY5AoZ9B+qllH129aLABaDRzl3e14ZRHC8ahQawOmCe6AOCCXYUBXDOlY5Jg==
+
+"@tiptap/extension-italic@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-2.2.4.tgz#67403ec3aed630062c7063b7e9e7699d07db683e"
+ integrity sha512-qIhGNvWnsQswSgEMRA8jQQjxfkOGNAuNWKEVQX9DPoqAUgknT41hQcAMP8L2+OdACpb2jbVMOO5Cy5Dof2L8/w==
"@tiptap/extension-link@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.2.2.tgz#8258ce3c43d06edca92cd50f8cd4e6fc2d1cf662"
- integrity sha512-hk2cxSWeFagv2erxVI4UUN9kTLqhTSLhtHKVNbKOW50dtkDqjzp9tri1+LYYpiObxDKoFFKfKjE6ojVtqMyn2w==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-2.2.4.tgz#1cb4c89e15f1fdfb1b7f3f6f26c62f7d51a6c3cb"
+ integrity sha512-Qsx0cFZm4dxbkToXs5TcXbSoUdicv8db1gV1DYIZdETqjBm4wFjlzCUP7hPHFlvNfeSy1BzAMRt+RpeuiwvxWQ==
dependencies:
linkifyjs "^4.1.0"
-"@tiptap/extension-list-item@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.2.2.tgz#9665ff46c54ec82ebd86fccedddf7f83836a7229"
- integrity sha512-VuHlbhLePXvKTx55X0iIZ1EXARAoOf6lpbKJK8180jny2gpYxGhk7rwG1G8s6G6ZDST+kyVa04gncxz8F/z6oA==
+"@tiptap/extension-list-item@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-2.2.4.tgz#2412dd92e51c3cbc4f2abc3c38ec2ab8348c1af9"
+ integrity sha512-lPLKGKsHpM9ClUa8n7GEUn8pG6HCYU0vFruIy3l2t6jZdHkrgBnYtVGMZ13K8UDnj/hlAlccxku0D0P4mA1Vrg==
"@tiptap/extension-mention@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-mention/-/extension-mention-2.2.2.tgz#f7decad8bee313dd366d692678ae2a7770d8e70f"
- integrity sha512-REmjd01kyoZryORdFbkdo+8E4ZHq1sPK6fePXo0+5LYEFnVGs9k2EvpENkZ94pzVZgV6V1K6s8oEQAxSy45oOQ==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-mention/-/extension-mention-2.2.4.tgz#f787223facf952691136806839e4e65cbf721aaa"
+ integrity sha512-myUlwpbrQgWfRJwG4UHM2PbiSp+squJv6LPKfKINs5yDxIproaZ0/4TAJt3heeSXZJnboPAQxSP7eLd5pY8lBw==
-"@tiptap/extension-ordered-list@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.2.2.tgz#200616803b7fefd09039c26d5876a5b84c0eab36"
- integrity sha512-TgG+mJyQB5CfeqCD65B9CLesl2IQTjc7tAKm8ZxRzF80GrCrmWNnoXi424TWmSF6cUV/4TY0G5dTkc9kB+S2tw==
+"@tiptap/extension-ordered-list@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-2.2.4.tgz#dfa6c6869a3d16fe5b2a10749ffe5b999346efd2"
+ integrity sha512-TpFy140O9Af1JciXt+xwqYUXxcJ6YG8zi/B5UDJujp+FH5sCmlYYBBnWxiFMhVaj6yEmA2eafu1qUkic/1X5Aw==
-"@tiptap/extension-paragraph@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.2.2.tgz#50f5552624faa54c4ff880dc8c76ba0dec294cf2"
- integrity sha512-USTzajni/hsQXsBF0Lbw++FyPJKCDlROyaKbZi77QQoUsU2MbJIka7k4tGc0kwyTB04aAl+E6+0iS4xIhC3rug==
+"@tiptap/extension-paragraph@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-2.2.4.tgz#9126fafbf984e324bfb3fab34deb689def7eb98d"
+ integrity sha512-m1KwyvTNJxsq7StbspbcOhxO4Wk4YpElDbqOouWi+H4c8azdpI5Pn96ZqhFeE9bSyjByg6OcB/wqoJsLbeFWdQ==
"@tiptap/extension-placeholder@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.2.2.tgz#f84dcfd511e40357a3c534019819bf60d3543af6"
- integrity sha512-dPN15nVu+HlONJSCiKjEl9n5/61CltTLSefhyRVQJeE7lmtMUGrsErUdOYMxGskehDQWIQW1VM0OiF63ln/3sA==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-2.2.4.tgz#d75572f6fb0cb3bbbedfa2ced49c55285ae8fdd5"
+ integrity sha512-UL4Fn9T33SoS7vdI3NnSxBJVeGUIgCIutgXZZ5J8CkcRoDIeS78z492z+6J+qGctHwTd0xUL5NzNJI82HfiTdg==
-"@tiptap/extension-strike@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.2.2.tgz#4866b83737d3bfb9de14a7d4a15cc9a088debad3"
- integrity sha512-0wsqiZPatw9QrK3DJ1jCMukenc8DRQtEXo4/dQjtnzNDhe7ZySed6kPpGO9A4lASG7NV7GmYZ/k5iEELr+iE6Q==
+"@tiptap/extension-strike@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-2.2.4.tgz#f987a6fe7b85e3179b413792ae3f33dd9c086e01"
+ integrity sha512-/a2EwQgA+PpG17V2tVRspcrIY0SN3blwcgM7lxdW4aucGkqSKnf7+91dkhQEwCZ//o8kv9mBCyRoCUcGy6S5Xg==
-"@tiptap/extension-text@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.2.2.tgz#a9033220157cb175fc767b396eee73f8a438b00f"
- integrity sha512-Zj53Vp/9MSQj5uiaObFaD3y7grUpMy+PfHmrK5XAZSFhRx+QpGUp+oItlKod6IJEIu8rq4dChgE7i6kT9uwWlA==
+"@tiptap/extension-text@^2.2.4":
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-2.2.4.tgz#aa101c568aa78a4ddc06a944eefcd3ac944987d4"
+ integrity sha512-NlKHMPnRJXB+0AGtDlU0P2Pg+SdesA2lMMd7JzDUgJgL7pX2jOb8eUqSeOjFKuSzFSqYfH6C3o6mQiNhuQMv+g==
"@tiptap/extension-typography@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-typography/-/extension-typography-2.2.2.tgz#2cda457ddb312e2b681270df447ab31a272b1de5"
- integrity sha512-mMK/VZQhwes/8HK5qoNbcgfBcNLorL+bZcISCmqHdXfhW6npJuuuzXBbfF3/dJr6pjdPO+qAVyrYkiCm1rr5Ow==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-typography/-/extension-typography-2.2.4.tgz#f929d58c40a993f95dfbef00bbce00ecde26fc99"
+ integrity sha512-1gmvr74uk44Wzxd6QI+dKz/M//xaD15yYwUtcRc9+ohbfvCqtRl3XDVoxl3MQmDMljcui5kMMaRcFNvW1Kujvg==
"@tiptap/extension-underline@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/extension-underline/-/extension-underline-2.2.2.tgz#cfa73b33a8a5ff1cf7d03c225f3a8a044a1416f8"
- integrity sha512-sCgbFbBU1fMWKCmDjZ6Am257kXM6ZjCV24AwbNusweieQnnD3aTXC7/iZg101sa2VshLsXozm8t2QDTyafnL+Q==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-underline/-/extension-underline-2.2.4.tgz#7be1a616e16452dd17a9c6fd03e40636bc676972"
+ integrity sha512-jCHgIJMwtXlGHVy/j3L8/QvglHCikkHJw7YS5yf8E/8HlPh1tZfVy/IxdgacDOpUN30X+UPJZQDdVKymafgwdA==
"@tiptap/pm@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.2.2.tgz#cbbf6383dee5ae1547b5523932f1d11eae52ef50"
- integrity sha512-TcUxqevVcqLYOcbAGlmvZfOB5LL5zZmb6jxSHyevl41SRpGZLe9Jt0e1v98jS0o9GMS7nvcTK/scYQu9e0HqTA==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-2.2.4.tgz#701975e3221ac40b1bfba52d89e1345024212411"
+ integrity sha512-Po0klR165zgtinhVp1nwMubjyKx6gAY9kH3IzcniYLCkqhPgiqnAcCr61TBpp4hfK8YURBS4ihvCB1dyfCyY8A==
dependencies:
prosemirror-changeset "^2.2.1"
prosemirror-collab "^1.3.1"
@@ -2287,42 +2266,42 @@
prosemirror-view "^1.32.7"
"@tiptap/react@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/react/-/react-2.2.2.tgz#b2892ac4b1339493753038417c1f9c18cf39887b"
- integrity sha512-9jRaY7Clrtb23itFyTGgLEo5SO0shR/kxlFN3G6Wyda6S6SduY9ERX93ffRdvzbJKcbEptcko0KqUZ/MD0eDnA==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/react/-/react-2.2.4.tgz#bfb6a484a26d85df7a6f9636b98c38f4e83de4c0"
+ integrity sha512-HkYmMZWcETPZn3KpzdDg/ns2TKeFh54TvtCEInA4ljYtWGLoZc/A+KaiEtMIgVs+Mo1XwrhuoNGjL9c0OK2HJw==
dependencies:
- "@tiptap/extension-bubble-menu" "^2.2.2"
- "@tiptap/extension-floating-menu" "^2.2.2"
+ "@tiptap/extension-bubble-menu" "^2.2.4"
+ "@tiptap/extension-floating-menu" "^2.2.4"
"@tiptap/starter-kit@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-2.2.2.tgz#7b3a2d380f175b85dc1e5f28a4cbd6fbca82241d"
- integrity sha512-J8nbrVBggGJwO7CPEwdUqG6Q8btiQJjjnYWZEs+ImM9GMUfXJ8lyaGT0My3wDvTeq537N9BjTEcQ88pMtOqbOw==
- dependencies:
- "@tiptap/core" "^2.2.2"
- "@tiptap/extension-blockquote" "^2.2.2"
- "@tiptap/extension-bold" "^2.2.2"
- "@tiptap/extension-bullet-list" "^2.2.2"
- "@tiptap/extension-code" "^2.2.2"
- "@tiptap/extension-code-block" "^2.2.2"
- "@tiptap/extension-document" "^2.2.2"
- "@tiptap/extension-dropcursor" "^2.2.2"
- "@tiptap/extension-gapcursor" "^2.2.2"
- "@tiptap/extension-hard-break" "^2.2.2"
- "@tiptap/extension-heading" "^2.2.2"
- "@tiptap/extension-history" "^2.2.2"
- "@tiptap/extension-horizontal-rule" "^2.2.2"
- "@tiptap/extension-italic" "^2.2.2"
- "@tiptap/extension-list-item" "^2.2.2"
- "@tiptap/extension-ordered-list" "^2.2.2"
- "@tiptap/extension-paragraph" "^2.2.2"
- "@tiptap/extension-strike" "^2.2.2"
- "@tiptap/extension-text" "^2.2.2"
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-2.2.4.tgz#7d9c35fc423bb0bb6a9b2e660c41a080d8caa7e7"
+ integrity sha512-Kbk7qUfIZg3+bNa3e/wBeDQt4jJB46uQgM+xy5NSY6H8NZP6gdmmap3aIrn9S/W/hGpxJl4RcXAeaT0CQji9XA==
+ dependencies:
+ "@tiptap/core" "^2.2.4"
+ "@tiptap/extension-blockquote" "^2.2.4"
+ "@tiptap/extension-bold" "^2.2.4"
+ "@tiptap/extension-bullet-list" "^2.2.4"
+ "@tiptap/extension-code" "^2.2.4"
+ "@tiptap/extension-code-block" "^2.2.4"
+ "@tiptap/extension-document" "^2.2.4"
+ "@tiptap/extension-dropcursor" "^2.2.4"
+ "@tiptap/extension-gapcursor" "^2.2.4"
+ "@tiptap/extension-hard-break" "^2.2.4"
+ "@tiptap/extension-heading" "^2.2.4"
+ "@tiptap/extension-history" "^2.2.4"
+ "@tiptap/extension-horizontal-rule" "^2.2.4"
+ "@tiptap/extension-italic" "^2.2.4"
+ "@tiptap/extension-list-item" "^2.2.4"
+ "@tiptap/extension-ordered-list" "^2.2.4"
+ "@tiptap/extension-paragraph" "^2.2.4"
+ "@tiptap/extension-strike" "^2.2.4"
+ "@tiptap/extension-text" "^2.2.4"
"@tiptap/suggestion@^2.2.2":
- version "2.2.2"
- resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.2.2.tgz#a15b7fa53d6c173672357b80c2d5f217ec40806a"
- integrity sha512-3Po78jqoWwYCYP9gMqO7bV5oV63cL1Y6KS1RzTVhBUTdpRoLc2rHCDPqbL9EqKBwyHeTrp37fjUz9T54/LBNpA==
+ version "2.2.4"
+ resolved "https://registry.yarnpkg.com/@tiptap/suggestion/-/suggestion-2.2.4.tgz#746e4659fb4be2f49ad43ee5aa9801cc8154889c"
+ integrity sha512-g6HHsKM6K3asW+ZlwMYyLCRqCRaswoliZOQofY4iZt5ru5HNTSzm3YW4XSyW5RGXJIuc319yyrOFgtJ3Fyu5rQ==
"@types/babel__core@^7.20.5":
version "7.20.5"
@@ -2380,38 +2359,28 @@
integrity sha512-wkw9yd1kEXOPnvEeEV1Go1MmxtBJL0RR79aOTAApecWFVu7w0NNXNqhcWgvw2YgZDYadliXkl14pa3WXw5jlCQ==
"@types/node@*":
- version "20.11.17"
- resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.17.tgz#cdd642d0e62ef3a861f88ddbc2b61e32578a9292"
- integrity sha512-QmgQZGWu1Yw9TDyAP9ZzpFJKynYNeOvwMJmaxABfieQoVoiVOS6MN1WSpqpRcbeA5+RW82kraAVxCCJg+780Qw==
+ version "20.11.30"
+ resolved "https://registry.yarnpkg.com/@types/node/-/node-20.11.30.tgz#9c33467fc23167a347e73834f788f4b9f399d66f"
+ integrity sha512-dHM6ZxwlmuZaRmUPfv1p+KrdD1Dci04FbdEm/9wEMouFqxYoFl5aMkt0VMAUtYRQDyYvD41WJLukhq/ha3YuTw==
dependencies:
undici-types "~5.26.4"
-"@types/object.omit@^3.0.0":
- version "3.0.3"
- resolved "https://registry.yarnpkg.com/@types/object.omit/-/object.omit-3.0.3.tgz#cc52b1d9774c1619b5c6fc50229d087f01eabd68"
- integrity sha512-xrq4bQTBGYY2cw+gV4PzoG2Lv3L0pjZ1uXStRRDQoATOYW1lCsFQHhQ+OkPhIcQoqLjAq7gYif7D14Qaa6Zbew==
-
-"@types/object.pick@^1.3.2":
- version "1.3.4"
- resolved "https://registry.yarnpkg.com/@types/object.pick/-/object.pick-1.3.4.tgz#1a38b6e69a35f36ec2dcc8b9f5ffd555c1c4d7fc"
- integrity sha512-5PjwB0uP2XDp3nt5u5NJAG2DORHIRClPzWT/TTZhJ2Ekwe8M5bA9tvPdi9NO/n2uvu2/ictat8kgqvLfcIE1SA==
-
"@types/prop-types@*":
- version "15.7.11"
- resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.11.tgz#2596fb352ee96a1379c657734d4b913a613ad563"
- integrity sha512-ga8y9v9uyeiLdpKddhxYQkxNDrfvuPrlFb0N1qnZZByvcElJaXthF1UhvCh9TLWJBEHeNtdnbysW7Y6Uq8CVng==
+ version "15.7.12"
+ resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6"
+ integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q==
"@types/react-dom@^18.2.19":
- version "18.2.19"
- resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.19.tgz#b84b7c30c635a6c26c6a6dfbb599b2da9788be58"
- integrity sha512-aZvQL6uUbIJpjZk4U8JZGbau9KDeAwMfmhyWorxgBkqDIEf6ROjRozcmPIicqsUwPUjbkDfHKgGee1Lq65APcA==
+ version "18.2.22"
+ resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.2.22.tgz#d332febf0815403de6da8a97e5fe282cbe609bae"
+ integrity sha512-fHkBXPeNtfvri6gdsMYyW+dW7RXFo6Ad09nLFK0VQWR7yGLai/Cyvyj696gbwYvBnhGtevUG9cET0pmUbMtoPQ==
dependencies:
"@types/react" "*"
"@types/react@*", "@types/react@^18.2.55":
- version "18.2.55"
- resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.55.tgz#38141821b7084404b5013742bc4ae08e44da7a67"
- integrity sha512-Y2Tz5P4yz23brwm2d7jNon39qoAtMMmalOQv6+fEFt1mT+FcM3D841wDpoUvFXhaYenuROCy3FZYqdTjM7qVyA==
+ version "18.2.71"
+ resolved "https://registry.yarnpkg.com/@types/react/-/react-18.2.71.tgz#77c3b97b02014bf351b21b684f80273a3a343f96"
+ integrity sha512-PxEsB9OjmQeYGffoWnYAd/r5FiJuUw2niFQHPc2v2idwh8wGPkkYzOHuinNJJY6NZqfoTCiOIizDOz38gYNsyw==
dependencies:
"@types/prop-types" "*"
"@types/scheduler" "*"
@@ -2425,14 +2394,9 @@
"@types/node" "*"
"@types/scheduler@*":
- version "0.16.8"
- resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.16.8.tgz#ce5ace04cfeabe7ef87c0091e50752e36707deff"
- integrity sha512-WZLiwShhwLRmeV6zH+GkbOFT6Z6VklCItrDioxUnv+u4Ll+8vKeFySoFyK/0ctcRpOmwAicELfmys1sDc/Rw+A==
-
-"@types/throttle-debounce@^2.1.0":
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776"
- integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ==
+ version "0.23.0"
+ resolved "https://registry.yarnpkg.com/@types/scheduler/-/scheduler-0.23.0.tgz#0a6655b3e2708eaabca00b7372fafd7a792a7b09"
+ integrity sha512-YIoDCTH3Af6XM5VuwGG/QL/CJqga1Zm3NkU3HZ4ZHK2fRMPYP1VczsTUqtsf43PH/iJNVlPHAo2oWX7BSdB2Hw==
"@types/trusted-types@^2.0.2":
version "2.0.7"
@@ -2528,13 +2492,13 @@ argparse@^2.0.1:
integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==
aria-hidden@^1.1.1:
- version "1.2.3"
- resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.3.tgz#14aeb7fb692bbb72d69bebfa47279c1fd725e954"
- integrity sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==
+ version "1.2.4"
+ resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522"
+ integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==
dependencies:
tslib "^2.0.0"
-array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1:
+array-buffer-byte-length@^1.0.1:
version "1.0.1"
resolved "https://registry.yarnpkg.com/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz#1e5583ec16763540a27ae52eed99ff899223568f"
integrity sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==
@@ -2542,7 +2506,7 @@ array-buffer-byte-length@^1.0.0, array-buffer-byte-length@^1.0.1:
call-bind "^1.0.5"
is-array-buffer "^3.0.4"
-arraybuffer.prototype.slice@^1.0.2:
+arraybuffer.prototype.slice@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz#097972f4255e41bc3425e37dc3f6421cf9aefde6"
integrity sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==
@@ -2561,6 +2525,11 @@ async@^3.2.3:
resolved "https://registry.yarnpkg.com/async/-/async-3.2.5.tgz#ebd52a8fdaf7a2289a24df399f8d8485c8a46b66"
integrity sha512-baNZyqaaLhyLVKm/DlvdW051MSgO6b8eVfIezl9E5PqWxFgzLm/wQntEW4zOytVburDEr0JlALEpdOFwvErLsg==
+asynckit@^0.4.0:
+ version "0.4.0"
+ resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79"
+ integrity sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==
+
at-least-node@^1.0.0:
version "1.0.0"
resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
@@ -2572,52 +2541,56 @@ attr-accept@^2.2.2:
integrity sha512-7prDjvt9HmqiZ0cl5CRjtS84sEyhsHP2coDkaZKRKVfCDo9s7iw7ChVmar78Gu9pC4SoR/28wFu/G5JJhTnqEg==
autoprefixer@^10.4.17:
- version "10.4.17"
- resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.17.tgz#35cd5695cbbe82f536a50fa025d561b01fdec8be"
- integrity sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==
+ version "10.4.19"
+ resolved "https://registry.yarnpkg.com/autoprefixer/-/autoprefixer-10.4.19.tgz#ad25a856e82ee9d7898c59583c1afeb3fa65f89f"
+ integrity sha512-BaENR2+zBZ8xXhM4pUaKUxlVdxZ0EZhjvbopwnXmxRUfqDmwSpC2lAi/QXvx7NRdPCo1WKEcEF6mV64si1z4Ew==
dependencies:
- browserslist "^4.22.2"
- caniuse-lite "^1.0.30001578"
+ browserslist "^4.23.0"
+ caniuse-lite "^1.0.30001599"
fraction.js "^4.3.7"
normalize-range "^0.1.2"
picocolors "^1.0.0"
postcss-value-parser "^4.2.0"
-available-typed-arrays@^1.0.5, available-typed-arrays@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.6.tgz#ac812d8ce5a6b976d738e1c45f08d0b00bc7d725"
- integrity sha512-j1QzY8iPNPG4o4xmO3ptzpRxTciqD3MgEHtifP/YnJpIo58Xu+ne4BejlbkuaLfXn/nz6HFiw29bLpj2PNMdGg==
+available-typed-arrays@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz#a5cc375d6a03c2efc87a553f3e0b1522def14846"
+ integrity sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==
+ dependencies:
+ possible-typed-array-names "^1.0.0"
-axios@^0.26.1:
- version "0.26.1"
- resolved "https://registry.yarnpkg.com/axios/-/axios-0.26.1.tgz#1ede41c51fcf51bbbd6fd43669caaa4f0495aaa9"
- integrity sha512-fPwcX4EvnSHuInCMItEhAGnaSEXRBjtzh9fOtsE6E1G6p7vl7edEeZe11QHf18+6+9gR5PbKV/sGKNaD8YaMeA==
+axios@^1.6.7:
+ version "1.6.8"
+ resolved "https://registry.yarnpkg.com/axios/-/axios-1.6.8.tgz#66d294951f5d988a00e87a0ffb955316a619ea66"
+ integrity sha512-v/ZHtJDU39mDpyBoFVkETcd/uNdxrWRrg3bKpOKzXFA6Bvqopts6ALSMU3y6ijYxbw2B+wPrIv46egTzJXCLGQ==
dependencies:
- follow-redirects "^1.14.8"
+ follow-redirects "^1.15.6"
+ form-data "^4.0.0"
+ proxy-from-env "^1.1.0"
-babel-plugin-polyfill-corejs2@^0.4.8:
- version "0.4.8"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz#dbcc3c8ca758a290d47c3c6a490d59429b0d2269"
- integrity sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==
+babel-plugin-polyfill-corejs2@^0.4.10:
+ version "0.4.10"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.10.tgz#276f41710b03a64f6467433cab72cbc2653c38b1"
+ integrity sha512-rpIuu//y5OX6jVU+a5BCn1R5RSZYWAl2Nar76iwaOdycqb6JPxediskWFMMl7stfwNJR4b7eiQvh5fB5TEQJTQ==
dependencies:
"@babel/compat-data" "^7.22.6"
- "@babel/helper-define-polyfill-provider" "^0.5.0"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
semver "^6.3.1"
-babel-plugin-polyfill-corejs3@^0.9.0:
- version "0.9.0"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz#9eea32349d94556c2ad3ab9b82ebb27d4bf04a81"
- integrity sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==
+babel-plugin-polyfill-corejs3@^0.10.4:
+ version "0.10.4"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77"
+ integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.5.0"
- core-js-compat "^3.34.0"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
+ core-js-compat "^3.36.1"
-babel-plugin-polyfill-regenerator@^0.5.5:
- version "0.5.5"
- resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz#8b0c8fc6434239e5d7b8a9d1f832bb2b0310f06a"
- integrity sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==
+babel-plugin-polyfill-regenerator@^0.6.1:
+ version "0.6.1"
+ resolved "https://registry.yarnpkg.com/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.6.1.tgz#4f08ef4c62c7a7f66a35ed4c0d75e30506acc6be"
+ integrity sha512-JfTApdE++cgcTWjsiCQlLyFBMbTUft9ja17saCc93lgV33h4tuCVj7tlvu//qpLwaG+3yEz7/KhahGrUMkVq9g==
dependencies:
- "@babel/helper-define-polyfill-provider" "^0.5.0"
+ "@babel/helper-define-polyfill-provider" "^0.6.1"
balanced-match@^1.0.0:
version "1.0.2"
@@ -2625,9 +2598,9 @@ balanced-match@^1.0.0:
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
binary-extensions@^2.0.0:
- version "2.2.0"
- resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
- integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+ version "2.3.0"
+ resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522"
+ integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
brace-expansion@^1.1.7:
version "1.1.11"
@@ -2651,13 +2624,13 @@ braces@^3.0.2, braces@~3.0.2:
dependencies:
fill-range "^7.0.1"
-browserslist@^4.22.2:
- version "4.22.3"
- resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.22.3.tgz#299d11b7e947a6b843981392721169e27d60c5a6"
- integrity sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==
+browserslist@^4.22.2, browserslist@^4.23.0:
+ version "4.23.0"
+ resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.23.0.tgz#8f3acc2bbe73af7213399430890f86c63a5674ab"
+ integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==
dependencies:
- caniuse-lite "^1.0.30001580"
- electron-to-chromium "^1.4.648"
+ caniuse-lite "^1.0.30001587"
+ electron-to-chromium "^1.4.668"
node-releases "^2.0.14"
update-browserslist-db "^1.0.13"
@@ -2676,15 +2649,16 @@ cal-sans@^1.0.1:
resolved "https://registry.yarnpkg.com/cal-sans/-/cal-sans-1.0.1.tgz#691bbf04ae5cabd1f827dd842923cee419f57aa9"
integrity sha512-XwN3/7jez8WmFVcNnNqO2K9lh133KiIcURCyGFnSM+ZmNZ8zIcOTNfr3SpenLAkRceYsq+fQNX/PL4C1rIkEPQ==
-call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6:
- version "1.0.6"
- resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.6.tgz#6c46675fc7a5e9de82d75a233d586c8b7ac0d931"
- integrity sha512-Mj50FLHtlsoVfRfnHaZvyrooHcrlceNZdL/QBvJJVd9Ta55qCQK0gs4ss2oZDeV9zFCs6ewzYgVE5yfVmfFpVg==
+call-bind@^1.0.2, call-bind@^1.0.5, call-bind@^1.0.6, call-bind@^1.0.7:
+ version "1.0.7"
+ resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.7.tgz#06016599c40c56498c18769d2730be242b6fa3b9"
+ integrity sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==
dependencies:
+ es-define-property "^1.0.0"
es-errors "^1.3.0"
function-bind "^1.1.2"
- get-intrinsic "^1.2.3"
- set-function-length "^1.2.0"
+ get-intrinsic "^1.2.4"
+ set-function-length "^1.2.1"
callsites@^3.0.0:
version "3.1.0"
@@ -2701,15 +2675,10 @@ camelcase@^6.2.0:
resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a"
integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==
-caniuse-lite@^1.0.30001578, caniuse-lite@^1.0.30001580:
- version "1.0.30001585"
- resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001585.tgz#0b4e848d84919c783b2a41c13f7de8ce96744401"
- integrity sha512-yr2BWR1yLXQ8fMpdS/4ZZXpseBgE7o4g41x3a6AJOqZuOi+iE/WdJYAuZ6Y95i4Ohd2Y+9MzIWRR+uGABH4s3Q==
-
-case-anything@^2.1.13:
- version "2.1.13"
- resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.13.tgz#0cdc16278cb29a7fcdeb072400da3f342ba329e9"
- integrity sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng==
+caniuse-lite@^1.0.30001587, caniuse-lite@^1.0.30001599:
+ version "1.0.30001600"
+ resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001600.tgz#93a3ee17a35aa6a9f0c6ef1b2ab49507d1ab9079"
+ integrity sha512-+2S9/2JFhYmYaDpZvo0lKkfvuKIglrx68MwOBqMGHhQsNkLjB5xtc/TGoEPs+MxjSyN/72qer2g97nzR641mOQ==
chalk@^2.4.2:
version "2.4.2"
@@ -2794,6 +2763,13 @@ color-name@~1.1.4:
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+combined-stream@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/combined-stream/-/combined-stream-1.0.8.tgz#c3d45a8b34fd730631a110a8a2520682b31d5a7f"
+ integrity sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==
+ dependencies:
+ delayed-stream "~1.0.0"
+
commander@^2.20.0:
version "2.20.3"
resolved "https://registry.yarnpkg.com/commander/-/commander-2.20.3.tgz#fd485e84c03eb4881c20722ba48035e8531aeb33"
@@ -2824,12 +2800,12 @@ convert-source-map@^2.0.0:
resolved "https://registry.yarnpkg.com/convert-source-map/-/convert-source-map-2.0.0.tgz#4b560f649fc4e918dd0ab75cf4961e8bc882d82a"
integrity sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==
-core-js-compat@^3.31.0, core-js-compat@^3.34.0:
- version "3.35.1"
- resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.35.1.tgz#215247d7edb9e830efa4218ff719beb2803555e2"
- integrity sha512-sftHa5qUJY3rs9Zht1WEnmkvXputCyDBczPnr7QDgL8n3qrF3CMXY4VPSYtOLLiOUJcah2WNXREd48iOl6mQIw==
+core-js-compat@^3.31.0, core-js-compat@^3.36.1:
+ version "3.36.1"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.36.1.tgz#1818695d72c99c25d621dca94e6883e190cea3c8"
+ integrity sha512-Dk997v9ZCt3X/npqzyGdTlq6t7lDBhZwGvV94PKzDArjp7BTRm7WlDAXYd/OWdeFHO8OChQYRJNJvUCqCbrtKA==
dependencies:
- browserslist "^4.22.2"
+ browserslist "^4.23.0"
cosmiconfig@^8.1.3:
version "8.3.6"
@@ -2877,10 +2853,32 @@ csstype@^3.0.2:
dependencies:
clsx "2.0.0"
-dash-get@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/dash-get/-/dash-get-1.0.2.tgz#4c9e9ad5ef04c4bf9d3c9a451f6f7997298dcc7c"
- integrity sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ==
+data-view-buffer@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/data-view-buffer/-/data-view-buffer-1.0.1.tgz#8ea6326efec17a2e42620696e671d7d5a8bc66b2"
+ integrity sha512-0lht7OugA5x3iJLOWFhWK/5ehONdprk0ISXqVFn/NFrDu+cuc8iADFrGQz5BnRK7LLU3JmkbXSxaqX+/mXYtUA==
+ dependencies:
+ call-bind "^1.0.6"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
+
+data-view-byte-length@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/data-view-byte-length/-/data-view-byte-length-1.0.1.tgz#90721ca95ff280677eb793749fce1011347669e2"
+ integrity sha512-4J7wRJD3ABAzr8wP+OcIcqq2dlUKp4DVflx++hs5h5ZKydWMI6/D/fAot+yh6g2tHh8fLFTvNOaVN357NvSrOQ==
+ dependencies:
+ call-bind "^1.0.7"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
+
+data-view-byte-offset@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/data-view-byte-offset/-/data-view-byte-offset-1.0.0.tgz#5e0bbfb4828ed2d1b9b400cd8a7d119bca0ff18a"
+ integrity sha512-t/Ygsytq+R995EJ5PZlD4Cu56sWa8InXySaViRzw9apusqsOO2bQP+SbYzAhR0pFKoB+43lYy8rWban9JSuXnA==
+ dependencies:
+ call-bind "^1.0.6"
+ es-errors "^1.3.0"
+ is-data-view "^1.0.1"
debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1, debug@~4.3.2:
version "4.3.4"
@@ -2889,20 +2887,19 @@ debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.4, debug@~4.3.1, debug@~4.3
dependencies:
ms "2.1.2"
-deepmerge@^4.2.2, deepmerge@^4.3.1:
+deepmerge@^4.2.2:
version "4.3.1"
resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a"
integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==
-define-data-property@^1.0.1, define-data-property@^1.1.2:
- version "1.1.2"
- resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.2.tgz#f3c33b4f0102360cd7c0f5f28700f5678510b63a"
- integrity sha512-SRtsSqsDbgpJBbW3pABMCOt6rQyeM8s8RiyeSN8jYG8sYmt/kGJejbydttUsnDs1tadr19tvhT4ShwMyoqAm4g==
+define-data-property@^1.0.1, define-data-property@^1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/define-data-property/-/define-data-property-1.1.4.tgz#894dc141bb7d3060ae4366f6a0107e68fbe48c5e"
+ integrity sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==
dependencies:
+ es-define-property "^1.0.0"
es-errors "^1.3.0"
- get-intrinsic "^1.2.2"
gopd "^1.0.1"
- has-property-descriptors "^1.0.1"
define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1:
version "1.2.1"
@@ -2913,6 +2910,11 @@ define-properties@^1.1.3, define-properties@^1.2.0, define-properties@^1.2.1:
has-property-descriptors "^1.0.0"
object-keys "^1.1.1"
+delayed-stream@~1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/delayed-stream/-/delayed-stream-1.0.0.tgz#df3ae199acadfb7d440aaae0b29e2272b24ec619"
+ integrity sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==
+
dequal@^2.0.0:
version "2.0.3"
resolved "https://registry.yarnpkg.com/dequal/-/dequal-2.0.3.tgz#2644214f1997d39ed0ee0ece72335490a7ac67be"
@@ -2984,9 +2986,9 @@ dot-case@^3.0.4:
tslib "^2.0.3"
downshift@^8.3.1:
- version "8.3.1"
- resolved "https://registry.yarnpkg.com/downshift/-/downshift-8.3.1.tgz#a820e3a500f0f2a0784a55bac48ffaa7e11141b5"
- integrity sha512-djPzjGfTSEjOsfmlur4onCV3Mtd6oGI+eOQIBNwoS7oEYTjPrxk6n+sJLmndT/KKwHvUyBSh3AFb64eHIFifTQ==
+ version "8.5.0"
+ resolved "https://registry.yarnpkg.com/downshift/-/downshift-8.5.0.tgz#480a3f59f03a2940947a2ea7c5cccf6c5b8e2a9b"
+ integrity sha512-BAr/KAZX8GGARwWl4aER6ABv8aAaRXZcVKP0m1oFPKpSIXCGuoqnhi6nRf87glHhYDd/CCPp9RVUK27JKJD/Fw==
dependencies:
"@babel/runtime" "^7.22.15"
compute-scroll-into-view "^3.0.3"
@@ -3006,15 +3008,15 @@ ejs@^3.1.6:
dependencies:
jake "^10.8.5"
-electron-to-chromium@^1.4.648:
- version "1.4.664"
- resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.664.tgz#b00fc67d5d4f124e429b0dcce5a02ae18ef33ede"
- integrity sha512-k9VKKSkOSNPvSckZgDDl/IQx45E1quMjX8QfLzUsAs/zve8AyFDK+ByRynSP/OfEfryiKHpQeMf00z0leLCc3A==
+electron-to-chromium@^1.4.668:
+ version "1.4.717"
+ resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.717.tgz#99db370cae8cd090d5b01f8748e9ad369924d0f8"
+ integrity sha512-6Fmg8QkkumNOwuZ/5mIbMU9WI3H2fmn5ajcVya64I5Yr5CcNmO7vcLt0Y7c96DCiMO5/9G+4sI2r6eEvdg1F7A==
emoji-picker-element@^1.21.0:
- version "1.21.0"
- resolved "https://registry.yarnpkg.com/emoji-picker-element/-/emoji-picker-element-1.21.0.tgz#7e685bce65fffbb4d4944c51a5265ec43e9f361c"
- integrity sha512-0ZyR+4Iwci8p2aaTCl43uuYgLI5z5kg/SozAyX1b1pBkvtFykeQfsmFaX/AripHyL/ZsN5Nkin4bm88UW3CGow==
+ version "1.21.2"
+ resolved "https://registry.yarnpkg.com/emoji-picker-element/-/emoji-picker-element-1.21.2.tgz#132d2aa449a1687ce614d98abc5e2204057df619"
+ integrity sha512-DgeQdxHN/5vbUrmiDmGD7PZ2I6f5NOd1h8F2BV3oBbKl21dLbVetl9r5Q7859pgh8eksBmZDThHtjON6nXJwdQ==
emoji-regex@^8.0.0:
version "8.0.0"
@@ -3026,7 +3028,7 @@ emoji-regex@^9.2.2:
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72"
integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==
-engine.io-client@~6.5.2:
+engine.io-client@~6.5.1:
version "6.5.3"
resolved "https://registry.yarnpkg.com/engine.io-client/-/engine.io-client-6.5.3.tgz#4cf6fa24845029b238f83c628916d9149c399bc5"
integrity sha512-9Z0qLB0NIisTRt1DZ/8U2k12RJn8yls/nXMZLn+/N8hANT3TcYjKFKcwbw5zFQiN4NTde3TSY9zb79e1ij6j9Q==
@@ -3054,64 +3056,85 @@ error-ex@^1.3.1:
dependencies:
is-arrayish "^0.2.1"
-es-abstract@^1.22.1, es-abstract@^1.22.3:
- version "1.22.3"
- resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.22.3.tgz#48e79f5573198de6dee3589195727f4f74bc4f32"
- integrity sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==
+es-abstract@^1.22.1, es-abstract@^1.22.3, es-abstract@^1.23.0, es-abstract@^1.23.2:
+ version "1.23.2"
+ resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.23.2.tgz#693312f3940f967b8dd3eebacb590b01712622e0"
+ integrity sha512-60s3Xv2T2p1ICykc7c+DNDPLDMm9t4QxCOUU0K9JxiLjM3C1zB9YVdN7tjxrFd4+AkZ8CdX1ovUga4P2+1e+/w==
dependencies:
- array-buffer-byte-length "^1.0.0"
- arraybuffer.prototype.slice "^1.0.2"
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.5"
- es-set-tostringtag "^2.0.1"
+ array-buffer-byte-length "^1.0.1"
+ arraybuffer.prototype.slice "^1.0.3"
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.7"
+ data-view-buffer "^1.0.1"
+ data-view-byte-length "^1.0.1"
+ data-view-byte-offset "^1.0.0"
+ es-define-property "^1.0.0"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ es-set-tostringtag "^2.0.3"
es-to-primitive "^1.2.1"
function.prototype.name "^1.1.6"
- get-intrinsic "^1.2.2"
- get-symbol-description "^1.0.0"
+ get-intrinsic "^1.2.4"
+ get-symbol-description "^1.0.2"
globalthis "^1.0.3"
gopd "^1.0.1"
- has-property-descriptors "^1.0.0"
- has-proto "^1.0.1"
+ has-property-descriptors "^1.0.2"
+ has-proto "^1.0.3"
has-symbols "^1.0.3"
- hasown "^2.0.0"
- internal-slot "^1.0.5"
- is-array-buffer "^3.0.2"
+ hasown "^2.0.2"
+ internal-slot "^1.0.7"
+ is-array-buffer "^3.0.4"
is-callable "^1.2.7"
- is-negative-zero "^2.0.2"
+ is-data-view "^1.0.1"
+ is-negative-zero "^2.0.3"
is-regex "^1.1.4"
- is-shared-array-buffer "^1.0.2"
+ is-shared-array-buffer "^1.0.3"
is-string "^1.0.7"
- is-typed-array "^1.1.12"
+ is-typed-array "^1.1.13"
is-weakref "^1.0.2"
object-inspect "^1.13.1"
object-keys "^1.1.1"
- object.assign "^4.1.4"
- regexp.prototype.flags "^1.5.1"
- safe-array-concat "^1.0.1"
- safe-regex-test "^1.0.0"
- string.prototype.trim "^1.2.8"
- string.prototype.trimend "^1.0.7"
+ object.assign "^4.1.5"
+ regexp.prototype.flags "^1.5.2"
+ safe-array-concat "^1.1.2"
+ safe-regex-test "^1.0.3"
+ string.prototype.trim "^1.2.9"
+ string.prototype.trimend "^1.0.8"
string.prototype.trimstart "^1.0.7"
- typed-array-buffer "^1.0.0"
- typed-array-byte-length "^1.0.0"
- typed-array-byte-offset "^1.0.0"
- typed-array-length "^1.0.4"
+ typed-array-buffer "^1.0.2"
+ typed-array-byte-length "^1.0.1"
+ typed-array-byte-offset "^1.0.2"
+ typed-array-length "^1.0.5"
unbox-primitive "^1.0.2"
- which-typed-array "^1.1.13"
+ which-typed-array "^1.1.15"
+
+es-define-property@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-define-property/-/es-define-property-1.0.0.tgz#c7faefbdff8b2696cf5f46921edfb77cc4ba3845"
+ integrity sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==
+ dependencies:
+ get-intrinsic "^1.2.4"
es-errors@^1.2.1, es-errors@^1.3.0:
version "1.3.0"
resolved "https://registry.yarnpkg.com/es-errors/-/es-errors-1.3.0.tgz#05f75a25dab98e4fb1dcd5e1472c0546d5057c8f"
integrity sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==
-es-set-tostringtag@^2.0.1:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz#11f7cc9f63376930a5f20be4915834f4bc74f9c9"
- integrity sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==
+es-object-atoms@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/es-object-atoms/-/es-object-atoms-1.0.0.tgz#ddb55cd47ac2e240701260bc2a8e31ecb643d941"
+ integrity sha512-MZ4iQ6JwHOBQjahnjwaC1ZtIBH+2ohjamzAO3oaHcXYup7qxjF2fixyH+Q71voWHeOkI2q/TnJao/KfXYIZWbw==
dependencies:
- get-intrinsic "^1.2.2"
- has-tostringtag "^1.0.0"
- hasown "^2.0.0"
+ es-errors "^1.3.0"
+
+es-set-tostringtag@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz#8bb60f0a440c2e4281962428438d58545af39777"
+ integrity sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==
+ dependencies:
+ get-intrinsic "^1.2.4"
+ has-tostringtag "^1.0.2"
+ hasown "^2.0.1"
es-to-primitive@^1.2.1:
version "1.2.1"
@@ -3180,7 +3203,7 @@ esutils@^2.0.2:
resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+fast-deep-equal@^3.1.1:
version "3.1.3"
resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
@@ -3229,10 +3252,10 @@ fill-range@^7.0.1:
dependencies:
to-regex-range "^5.0.1"
-follow-redirects@^1.14.8:
- version "1.15.5"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.5.tgz#54d4d6d062c0fa7d9d17feb008461550e3ba8020"
- integrity sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==
+follow-redirects@^1.15.6:
+ version "1.15.6"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b"
+ integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA==
for-each@^0.3.3:
version "0.3.3"
@@ -3249,26 +3272,35 @@ foreground-child@^3.1.0:
cross-spawn "^7.0.0"
signal-exit "^4.0.1"
+form-data@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452"
+ integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==
+ dependencies:
+ asynckit "^0.4.0"
+ combined-stream "^1.0.8"
+ mime-types "^2.1.12"
+
fraction.js@^4.3.7:
version "4.3.7"
resolved "https://registry.yarnpkg.com/fraction.js/-/fraction.js-4.3.7.tgz#06ca0085157e42fda7f9e726e79fefc4068840f7"
integrity sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==
-frappe-js-sdk@^1.3.8:
- version "1.3.8"
- resolved "https://registry.yarnpkg.com/frappe-js-sdk/-/frappe-js-sdk-1.3.8.tgz#683bbb61e5feae1b988de25466b98d1097630c2e"
- integrity sha512-JZif45rx/bxKYSR9eoCCdI+RchidwAsj1RLX6iVyZX1ZRmONwN1QKZIp/OSu2td1GNlMuSeoaRQ/KzhhhIzVgQ==
+frappe-js-sdk@^1.5.0:
+ version "1.5.0"
+ resolved "https://registry.yarnpkg.com/frappe-js-sdk/-/frappe-js-sdk-1.5.0.tgz#9fb161edb872136058c51adfba9f2c2927f81d2a"
+ integrity sha512-KzBTvncqhBImIyIRWzZ0JcvYwEBPvGfCvvZ9JTtHE5Zn/YJtbN4GfXDG3x3AGNTVtwdU66zC8ADu20j/tBTXmQ==
dependencies:
- axios "^0.26.1"
+ axios "^1.6.7"
-frappe-react-sdk@^1.3.10:
- version "1.3.10"
- resolved "https://registry.yarnpkg.com/frappe-react-sdk/-/frappe-react-sdk-1.3.10.tgz#2707704ef0ac69c456035a5ddf01e89d5324d228"
- integrity sha512-S352v+2Xpxmep5riBtcXjXJbSQx+yPWPk+k01uBNvu8TzvydeSfUHniAgavtjJCjxk+jxINf+tAtxwOM6gLB9A==
+frappe-react-sdk@^1.5.1:
+ version "1.5.1"
+ resolved "https://registry.yarnpkg.com/frappe-react-sdk/-/frappe-react-sdk-1.5.1.tgz#e6d3224e34c210c66a1882da3d140a067d5ccbbc"
+ integrity sha512-DhkQNWnEwBclUSQF33jFQG1pEwqA7/UBHDnY0AybRaxLN0CeVfMu9Ju6JwMCkS8hAGXVAaKo9fpNJCle3OIi5Q==
dependencies:
- frappe-js-sdk "^1.3.8"
- socket.io-client "^4.7.1"
- swr "^2.2.2"
+ frappe-js-sdk "^1.5.0"
+ socket.io-client "4.7.1"
+ swr "^2.2.5"
fs-extra@^9.0.1:
version "9.1.0"
@@ -3315,7 +3347,7 @@ gensync@^1.0.0-beta.2:
resolved "https://registry.yarnpkg.com/gensync/-/gensync-1.0.0-beta.2.tgz#32a6ee76c3d7f52d46b2b1ae5d93fea8580a25e0"
integrity sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==
-get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
+get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4:
version "1.2.4"
resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd"
integrity sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==
@@ -3336,7 +3368,7 @@ get-own-enumerable-property-symbols@^3.0.0:
resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
-get-symbol-description@^1.0.0:
+get-symbol-description@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.2.tgz#533744d5aa20aca4e079c8e5daf7fd44202821f5"
integrity sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==
@@ -3421,34 +3453,34 @@ has-flag@^4.0.0:
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
-has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz#52ba30b6c5ec87fd89fa574bc1c39125c6f65340"
- integrity sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==
+has-property-descriptors@^1.0.0, has-property-descriptors@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz#963ed7d071dc7bf5f084c5bfbe0d1b6222586854"
+ integrity sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==
dependencies:
- get-intrinsic "^1.2.2"
+ es-define-property "^1.0.0"
-has-proto@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.1.tgz#1885c1305538958aff469fef37937c22795408e0"
- integrity sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==
+has-proto@^1.0.1, has-proto@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/has-proto/-/has-proto-1.0.3.tgz#b31ddfe9b0e6e9914536a6ab286426d0214f77fd"
+ integrity sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==
has-symbols@^1.0.2, has-symbols@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.3.tgz#bb7b2c4349251dce87b125f7bdf874aa7c8b39f8"
integrity sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==
-has-tostringtag@^1.0.0, has-tostringtag@^1.0.1:
+has-tostringtag@^1.0.0, has-tostringtag@^1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz#2cdc42d40bef2e5b4eeab7c01a73c54ce7ab5abc"
integrity sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==
dependencies:
has-symbols "^1.0.3"
-hasown@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.0.tgz#f4c513d454a57b7c7e1650778de226b11700546c"
- integrity sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==
+hasown@^2.0.0, hasown@^2.0.1, hasown@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/hasown/-/hasown-2.0.2.tgz#003eaf91be7adc372e84ec59dc37252cedb80003"
+ integrity sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==
dependencies:
function-bind "^1.1.2"
@@ -3466,14 +3498,14 @@ html-dom-parser@5.0.8:
htmlparser2 "9.1.0"
html-react-parser@^5.1.8:
- version "5.1.8"
- resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-5.1.8.tgz#b8a294854845bce96627aa4f2ba738362c0ebcf8"
- integrity sha512-oAXgUB4JYHFg4le3RQZtoge1TGMkwXSZPiWiexwdx3AuldgG+QEvbwMrscSViu90JNje3V4Zq5gCUSoTxa0W0A==
+ version "5.1.9"
+ resolved "https://registry.yarnpkg.com/html-react-parser/-/html-react-parser-5.1.9.tgz#7a8eb3a0b243bddf68f1a77bba5e423933b64161"
+ integrity sha512-MP0MQDEGlzkJT0OwY//tKYrgIzBM1frYLxx9RF7ALdIjI+MCMumydcNovXDX4X/iDi1zfgaU28VxoNXZn7EPjQ==
dependencies:
domhandler "5.0.3"
html-dom-parser "5.0.8"
react-property "2.0.2"
- style-to-js "1.1.10"
+ style-to-js "1.1.11"
htmlparser2@9.1.0:
version "9.1.0"
@@ -3516,7 +3548,7 @@ inline-style-parser@0.2.2:
resolved "https://registry.yarnpkg.com/inline-style-parser/-/inline-style-parser-0.2.2.tgz#d498b4e6de0373458fc610ff793f6b14ebf45633"
integrity sha512-EcKzdTHVe8wFVOGEYXiW9WmJXPjqi1T+234YpJr98RiFYKHV3cdy1+3mkTE+KHTHxFFLH51SfaGOoUdW+v7ViQ==
-internal-slot@^1.0.5:
+internal-slot@^1.0.7:
version "1.0.7"
resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.7.tgz#c06dcca3ed874249881007b0a5523b172a190802"
integrity sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==
@@ -3532,7 +3564,7 @@ invariant@^2.2.4:
dependencies:
loose-envify "^1.0.0"
-is-array-buffer@^3.0.2, is-array-buffer@^3.0.4:
+is-array-buffer@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/is-array-buffer/-/is-array-buffer-3.0.4.tgz#7a1f92b3d61edd2bc65d24f130530ea93d7fae98"
integrity sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==
@@ -3579,6 +3611,13 @@ is-core-module@^2.13.0:
dependencies:
hasown "^2.0.0"
+is-data-view@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/is-data-view/-/is-data-view-1.0.1.tgz#4b4d3a511b70f3dc26d42c03ca9ca515d847759f"
+ integrity sha512-AHkaJrsUVW6wq6JS8y3JnM/GJF/9cf+k20+iDzlSaJrinEo5+7vRiteOSwBhHRiAyQATN1AmY4hwzxJKPmYf+w==
+ dependencies:
+ is-typed-array "^1.1.13"
+
is-date-object@^1.0.1:
version "1.0.5"
resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
@@ -3586,13 +3625,6 @@ is-date-object@^1.0.1:
dependencies:
has-tostringtag "^1.0.0"
-is-extendable@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4"
- integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==
- dependencies:
- is-plain-object "^2.0.4"
-
is-extglob@^2.1.1:
version "2.1.1"
resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
@@ -3615,10 +3647,10 @@ is-module@^1.0.0:
resolved "https://registry.yarnpkg.com/is-module/-/is-module-1.0.0.tgz#3258fb69f78c14d5b815d664336b4cffb6441591"
integrity sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==
-is-negative-zero@^2.0.2:
- version "2.0.2"
- resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
- integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+is-negative-zero@^2.0.3:
+ version "2.0.3"
+ resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.3.tgz#ced903a027aca6381b777a5743069d7376a49747"
+ integrity sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==
is-number-object@^1.0.4:
version "1.0.7"
@@ -3637,13 +3669,6 @@ is-obj@^1.0.1:
resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
integrity sha512-l4RyHgRqGN4Y3+9JHVrNqO+tN0rV5My76uW5/nuO4K1b6vw5G8d/cmFjP9tRfEsdhZNt0IFdZuK/c2Vr4Nb+Qg==
-is-plain-object@^2.0.4:
- version "2.0.4"
- resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677"
- integrity sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==
- dependencies:
- isobject "^3.0.1"
-
is-regex@^1.1.4:
version "1.1.4"
resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
@@ -3657,12 +3682,12 @@ is-regexp@^1.0.0:
resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
integrity sha512-7zjFAPO4/gwyQAAgRRmqeEeyIICSdmCqa3tsVHMdBzaXXRiqopZL4Cyghg/XulGWrtABTpbnYYzzIRffLkP4oA==
-is-shared-array-buffer@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz#8f259c573b60b6a32d4058a1a07430c0a7344c79"
- integrity sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==
+is-shared-array-buffer@^1.0.2, is-shared-array-buffer@^1.0.3:
+ version "1.0.3"
+ resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz#1237f1cba059cdb62431d378dcc37d9680181688"
+ integrity sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==
dependencies:
- call-bind "^1.0.2"
+ call-bind "^1.0.7"
is-stream@^2.0.0:
version "2.0.1"
@@ -3683,7 +3708,7 @@ is-symbol@^1.0.2, is-symbol@^1.0.3:
dependencies:
has-symbols "^1.0.2"
-is-typed-array@^1.1.10, is-typed-array@^1.1.12, is-typed-array@^1.1.13, is-typed-array@^1.1.9:
+is-typed-array@^1.1.13:
version "1.1.13"
resolved "https://registry.yarnpkg.com/is-typed-array/-/is-typed-array-1.1.13.tgz#d6c5ca56df62334959322d7d7dd1cca50debe229"
integrity sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==
@@ -3707,11 +3732,6 @@ isexe@^2.0.0:
resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
integrity sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==
-isobject@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/isobject/-/isobject-3.0.1.tgz#4e431e92b11a9731636aa1f9c8d1ccbcfdab78df"
- integrity sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==
-
jackspeak@^2.3.5:
version "2.3.6"
resolved "https://registry.yarnpkg.com/jackspeak/-/jackspeak-2.3.6.tgz#647ecc472238aee4b06ac0e461acc21a8c505ca8"
@@ -3817,9 +3837,9 @@ lilconfig@^2.1.0:
integrity sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==
lilconfig@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.0.0.tgz#f8067feb033b5b74dab4602a5f5029420be749bc"
- integrity sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-3.1.1.tgz#9d8a246fa753106cfc205fd2d77042faca56e5e3"
+ integrity sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==
lines-and-columns@^1.1.6:
version "1.2.4"
@@ -3895,22 +3915,17 @@ magic-string@^0.25.0, magic-string@^0.25.7:
dependencies:
sourcemap-codec "^1.4.8"
-make-error@^1.3.6:
- version "1.3.6"
- resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2"
- integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==
-
markdown-it@^14.0.0:
- version "14.0.0"
- resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.0.0.tgz#b4b2ddeb0f925e88d981f84c183b59bac9e3741b"
- integrity sha512-seFjF0FIcPt4P9U39Bq1JYblX0KZCjDLFFQPHpL5AzHpqPEKtosxmdq/LTVZnjfH7tjt9BxStm+wXcDBNuYmzw==
+ version "14.1.0"
+ resolved "https://registry.yarnpkg.com/markdown-it/-/markdown-it-14.1.0.tgz#3c3c5992883c633db4714ccb4d7b5935d98b7d45"
+ integrity sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==
dependencies:
argparse "^2.0.1"
entities "^4.4.0"
linkify-it "^5.0.0"
mdurl "^2.0.0"
punycode.js "^2.3.1"
- uc.micro "^2.0.0"
+ uc.micro "^2.1.0"
mdurl@^2.0.0:
version "2.0.0"
@@ -3935,6 +3950,18 @@ micromatch@^4.0.4, micromatch@^4.0.5:
braces "^3.0.2"
picomatch "^2.3.1"
+mime-db@1.52.0:
+ version "1.52.0"
+ resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.52.0.tgz#bbabcdc02859f4987301c856e3387ce5ec43bf70"
+ integrity sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==
+
+mime-types@^2.1.12:
+ version "2.1.35"
+ resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.35.tgz#381a871b62a734450660ae3deee44813f70d959a"
+ integrity sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==
+ dependencies:
+ mime-db "1.52.0"
+
minimatch@^3.1.1, minimatch@^3.1.2:
version "3.1.2"
resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.1.2.tgz#19cd194bfd3e428f049a70817c038d89ab4be35b"
@@ -4035,7 +4062,7 @@ object-keys@^1.1.1:
resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
-object.assign@^4.1.4:
+object.assign@^4.1.5:
version "4.1.5"
resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.5.tgz#3a833f9ab7fdb80fc9e8d2300c803d216d8fdbb0"
integrity sha512-byy+U7gp+FVwmyzKPYhW2h5l3crpmGsxl7X2s8y43IgxvG4g3QZ6CffDtsNQy1WsmZpQbO+ybo0AlW7TY6DcBQ==
@@ -4045,20 +4072,6 @@ object.assign@^4.1.4:
has-symbols "^1.0.3"
object-keys "^1.1.1"
-object.omit@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-3.0.0.tgz#0e3edc2fce2ba54df5577ff529f6d97bd8a522af"
- integrity sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ==
- dependencies:
- is-extendable "^1.0.0"
-
-object.pick@^1.3.0:
- version "1.3.0"
- resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747"
- integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==
- dependencies:
- isobject "^3.0.1"
-
once@^1.3.0:
version "1.4.0"
resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
@@ -4136,6 +4149,11 @@ pirates@^4.0.1:
resolved "https://registry.yarnpkg.com/pirates/-/pirates-4.0.6.tgz#3018ae32ecfcff6c29ba2267cbf21166ac1f36b9"
integrity sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==
+possible-typed-array-names@^1.0.0:
+ version "1.0.0"
+ resolved "https://registry.yarnpkg.com/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz#89bb63c6fada2c3e90adc4a647beeeb39cc7bf8f"
+ integrity sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==
+
postcss-import@^15.1.0:
version "15.1.0"
resolved "https://registry.yarnpkg.com/postcss-import/-/postcss-import-15.1.0.tgz#41c64ed8cc0e23735a9698b3249ffdbf704adc70"
@@ -4168,9 +4186,9 @@ postcss-nested@^6.0.1:
postcss-selector-parser "^6.0.11"
postcss-selector-parser@^6.0.11:
- version "6.0.15"
- resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz#11cc2b21eebc0b99ea374ffb9887174855a01535"
- integrity sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==
+ version "6.0.16"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.16.tgz#3b88b9f5c5abd989ef4e2fc9ec8eedd34b20fb04"
+ integrity sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==
dependencies:
cssesc "^3.0.0"
util-deprecate "^1.0.2"
@@ -4181,13 +4199,13 @@ postcss-value-parser@^4.0.0, postcss-value-parser@^4.2.0:
integrity sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==
postcss@^8.4.23, postcss@^8.4.27:
- version "8.4.35"
- resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.35.tgz#60997775689ce09011edf083a549cea44aabe2f7"
- integrity sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==
+ version "8.4.38"
+ resolved "https://registry.yarnpkg.com/postcss/-/postcss-8.4.38.tgz#b387d533baf2054288e337066d81c6bee9db9e0e"
+ integrity sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==
dependencies:
nanoid "^3.3.7"
picocolors "^1.0.0"
- source-map-js "^1.0.2"
+ source-map-js "^1.2.0"
pretty-bytes@^5.3.0:
version "5.6.0"
@@ -4251,9 +4269,9 @@ prosemirror-gapcursor@^1.3.2:
prosemirror-view "^1.0.0"
prosemirror-history@^1.0.0, prosemirror-history@^1.3.2:
- version "1.3.2"
- resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.3.2.tgz#ce6ad7ab9db83e761aee716f3040d74738311b15"
- integrity sha512-/zm0XoU/N/+u7i5zepjmZAEnpvjDtzoPWW6VmKptcAnPadN/SStsBjMImdCEbb3seiNTpveziPTIrXQbHLtU1g==
+ version "1.4.0"
+ resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.4.0.tgz#1edbce630aaf21b808e5a5cd798a09976ecb1827"
+ integrity sha512-UUiGzDVcqo1lovOPdi9YxxUps3oBFWAIYkXLu3Ot+JPv1qzVogRbcizxK3LhHmtaUxclohgiOVesRw5QSlMnbQ==
dependencies:
prosemirror-state "^1.2.2"
prosemirror-transform "^1.0.0"
@@ -4327,9 +4345,9 @@ prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.3.1, pr
prosemirror-view "^1.27.0"
prosemirror-tables@^1.3.5:
- version "1.3.5"
- resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.3.5.tgz#80f03394f5b9991f9693bcb3a90b6dba6b16254d"
- integrity sha512-JSZ2cCNlApu/ObAhdPyotrjBe2cimniniTpz60YXzbL0kZ+47nEYk2LWbfKU2lKpBkUNquta2PjteoNi4YCluQ==
+ version "1.3.7"
+ resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.3.7.tgz#9d296bd432d2bc7dca90f14e5c3b5c5f61277f7a"
+ integrity sha512-oEwX1wrziuxMtwFvdDWSFHVUWrFJWt929kVVfHvtTi8yvw+5ppxjXZkMG/fuTdFo+3DXyIPSKfid+Be1npKXDA==
dependencies:
prosemirror-keymap "^1.1.2"
prosemirror-model "^1.8.1"
@@ -4338,12 +4356,11 @@ prosemirror-tables@^1.3.5:
prosemirror-view "^1.13.3"
prosemirror-trailing-node@^2.0.7:
- version "2.0.7"
- resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.7.tgz#ba782a7929f18bcae650b1c7082a2d10443eab19"
- integrity sha512-8zcZORYj/8WEwsGo6yVCRXFMOfBo0Ub3hCUvmoWIZYfMP26WqENU0mpEP27w7mt8buZWuGrydBewr0tOArPb1Q==
+ version "2.0.8"
+ resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-2.0.8.tgz#233ddcbda72de06f9b5d758d2a65a8cac482ea10"
+ integrity sha512-ujRYhSuhQb1Jsarh1IHqb2KoSnRiD7wAMDGucP35DN7j5af6X7B18PfdPIrbwsPTqIAj0fyOvxbuPsWhNvylmA==
dependencies:
"@remirror/core-constants" "^2.0.2"
- "@remirror/core-helpers" "^3.0.0"
escape-string-regexp "^4.0.0"
prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.2.1, prosemirror-transform@^1.7.3, prosemirror-transform@^1.8.0:
@@ -4354,14 +4371,19 @@ prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transfor
prosemirror-model "^1.0.0"
prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.13.3, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.32.7:
- version "1.32.7"
- resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.32.7.tgz#b9c4e8471daeba79489befa59eaeaeb4cd2e2653"
- integrity sha512-pvxiOoD4shW41X5bYDjRQk3DSG4fMqxh36yPMt7VYgU3dWRmqFzWJM/R6zeo1KtC8nyk717ZbQND3CC9VNeptw==
+ version "1.33.3"
+ resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.33.3.tgz#e93564b3aa4beac6ad0244e9b368563d0cc25727"
+ integrity sha512-P4Ao/bc4OrU/2yLIf8dL4lJaEtjLR3QjIvQHgJYp2jUS7kYM4bSR6okbBjkqzOs/FwUon6UGjTLdKMnPL1MZqw==
dependencies:
prosemirror-model "^1.16.0"
prosemirror-state "^1.0.0"
prosemirror-transform "^1.1.0"
+proxy-from-env@^1.1.0:
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+ integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
punycode.js@^2.3.1:
version "2.3.1"
resolved "https://registry.yarnpkg.com/punycode.js/-/punycode.js-2.3.1.tgz#6b53e56ad75588234e79f4affa90972c7dd8cdb7"
@@ -4402,9 +4424,9 @@ react-dropzone@^14.2.3:
prop-types "^15.8.1"
react-hook-form@^7.50.1:
- version "7.50.1"
- resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.50.1.tgz#f6aeb17a863327e5a0252de8b35b4fc8990377ed"
- integrity sha512-3PCY82oE0WgeOgUtIr3nYNNtNvqtJ7BZjsbxh6TnYNbXButaD5WpjOmTjdxZfheuHKR68qfeFnEDVYoSSFPMTQ==
+ version "7.51.1"
+ resolved "https://registry.yarnpkg.com/react-hook-form/-/react-hook-form-7.51.1.tgz#3ce5f8b5ef41903b4054a641cef8c0dc8bf8ae85"
+ integrity sha512-ifnBjl+kW0ksINHd+8C/Gp6a4eZOdWyvRv0UBaByShwU8JbVx5hTcTWEcd5VdybvmPTATkVVXk9npXArHmo56w==
react-icons@^5.0.1:
version "5.0.1"
@@ -4442,9 +4464,9 @@ react-refresh@^0.14.0:
integrity sha512-wViHqhAd8OHeLS/IRMJjTSDHF3U9eWi62F/MledQGPdJGDhodXJ9PBLNGr6WWL7qlH12Mt3TyTpbS+hGXMjCzQ==
react-remove-scroll-bar@^2.3.3:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.4.tgz#53e272d7a5cb8242990c7f144c44d8bd8ab5afd9"
- integrity sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==
+ version "2.3.6"
+ resolved "https://registry.yarnpkg.com/react-remove-scroll-bar/-/react-remove-scroll-bar-2.3.6.tgz#3e585e9d163be84a010180b18721e851ac81a29c"
+ integrity sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==
dependencies:
react-style-singleton "^2.2.1"
tslib "^2.0.0"
@@ -4472,19 +4494,19 @@ react-remove-scroll@2.5.5:
use-sidecar "^1.1.2"
react-router-dom@^6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.0.tgz#177c8bd27146decbb991eafb5df159f7a9f70035"
- integrity sha512-z2w+M4tH5wlcLmH3BMMOMdrtrJ9T3oJJNsAlBJbwk+8Syxd5WFJ7J5dxMEW0/GEXD1BBis4uXRrNIz3mORr0ag==
+ version "6.22.3"
+ resolved "https://registry.yarnpkg.com/react-router-dom/-/react-router-dom-6.22.3.tgz#9781415667fd1361a475146c5826d9f16752a691"
+ integrity sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==
dependencies:
- "@remix-run/router" "1.15.0"
- react-router "6.22.0"
+ "@remix-run/router" "1.15.3"
+ react-router "6.22.3"
-react-router@6.22.0:
- version "6.22.0"
- resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.0.tgz#a22b44851a79dafc6b944cb418db3e80622b9be1"
- integrity sha512-q2yemJeg6gw/YixRlRnVx6IRJWZD6fonnfZhN1JIOhV2iJCPeRNSH3V1ISwHf+JWcESzLC3BOLD1T07tmO5dmg==
+react-router@6.22.3:
+ version "6.22.3"
+ resolved "https://registry.yarnpkg.com/react-router/-/react-router-6.22.3.tgz#9d9142f35e08be08c736a2082db5f0c9540a885e"
+ integrity sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==
dependencies:
- "@remix-run/router" "1.15.0"
+ "@remix-run/router" "1.15.3"
react-style-singleton@^2.2.1:
version "2.2.1"
@@ -4540,14 +4562,15 @@ regenerator-transform@^0.15.2:
dependencies:
"@babel/runtime" "^7.8.4"
-regexp.prototype.flags@^1.5.0, regexp.prototype.flags@^1.5.1:
- version "1.5.1"
- resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz#90ce989138db209f81492edd734183ce99f9677e"
- integrity sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==
+regexp.prototype.flags@^1.5.2:
+ version "1.5.2"
+ resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334"
+ integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- set-function-name "^2.0.0"
+ call-bind "^1.0.6"
+ define-properties "^1.2.1"
+ es-errors "^1.3.0"
+ set-function-name "^2.0.1"
regexpu-core@^5.3.1:
version "5.3.2"
@@ -4628,13 +4651,13 @@ run-parallel@^1.1.9:
dependencies:
queue-microtask "^1.2.2"
-safe-array-concat@^1.0.1:
- version "1.1.0"
- resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692"
- integrity sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==
+safe-array-concat@^1.1.2:
+ version "1.1.2"
+ resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.2.tgz#81d77ee0c4e8b863635227c721278dd524c20edb"
+ integrity sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==
dependencies:
- call-bind "^1.0.5"
- get-intrinsic "^1.2.2"
+ call-bind "^1.0.7"
+ get-intrinsic "^1.2.4"
has-symbols "^1.0.3"
isarray "^2.0.5"
@@ -4643,7 +4666,7 @@ safe-buffer@^5.1.0:
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
-safe-regex-test@^1.0.0:
+safe-regex-test@^1.0.3:
version "1.0.3"
resolved "https://registry.yarnpkg.com/safe-regex-test/-/safe-regex-test-1.0.3.tgz#a5b4c0f06e0ab50ea2c395c14d8371232924c377"
integrity sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==
@@ -4671,26 +4694,27 @@ serialize-javascript@^4.0.0:
dependencies:
randombytes "^2.1.0"
-set-function-length@^1.2.0:
- version "1.2.1"
- resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.1.tgz#47cc5945f2c771e2cf261c6737cf9684a2a5e425"
- integrity sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==
+set-function-length@^1.2.1:
+ version "1.2.2"
+ resolved "https://registry.yarnpkg.com/set-function-length/-/set-function-length-1.2.2.tgz#aac72314198eaed975cf77b2c3b6b880695e5449"
+ integrity sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==
dependencies:
- define-data-property "^1.1.2"
+ define-data-property "^1.1.4"
es-errors "^1.3.0"
function-bind "^1.1.2"
- get-intrinsic "^1.2.3"
+ get-intrinsic "^1.2.4"
gopd "^1.0.1"
- has-property-descriptors "^1.0.1"
+ has-property-descriptors "^1.0.2"
-set-function-name@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.1.tgz#12ce38b7954310b9f61faa12701620a0c882793a"
- integrity sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==
+set-function-name@^2.0.1, set-function-name@^2.0.2:
+ version "2.0.2"
+ resolved "https://registry.yarnpkg.com/set-function-name/-/set-function-name-2.0.2.tgz#16a705c5a0dc2f5e638ca96d8a8cd4e1c2b90985"
+ integrity sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==
dependencies:
- define-data-property "^1.0.1"
+ define-data-property "^1.1.4"
+ es-errors "^1.3.0"
functions-have-names "^1.2.3"
- has-property-descriptors "^1.0.0"
+ has-property-descriptors "^1.0.2"
shebang-command@^2.0.0:
version "2.0.0"
@@ -4704,12 +4728,12 @@ shebang-regex@^3.0.0:
resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
-side-channel@^1.0.4:
- version "1.0.5"
- resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.5.tgz#9a84546599b48909fb6af1211708d23b1946221b"
- integrity sha512-QcgiIWV4WV7qWExbN5llt6frQB/lBven9pqliLXfGPB+K9ZYXxDozp0wLkHS24kWCm+6YXH/f0HhnObZnZOBnQ==
+side-channel@^1.0.4, side-channel@^1.0.6:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.6.tgz#abd25fb7cd24baf45466406b1096b7831c9215f2"
+ integrity sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==
dependencies:
- call-bind "^1.0.6"
+ call-bind "^1.0.7"
es-errors "^1.3.0"
get-intrinsic "^1.2.4"
object-inspect "^1.13.1"
@@ -4727,14 +4751,14 @@ snake-case@^3.0.4:
dot-case "^3.0.4"
tslib "^2.0.3"
-socket.io-client@^4.7.1:
- version "4.7.4"
- resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.4.tgz#5f0e060ff34ac0a4b4c5abaaa88e0d1d928c64c8"
- integrity sha512-wh+OkeF0rAVCrABWQBaEjLfb7DVPotMbu0cgWgyR0v6eA4EoVnAwcIeIbcdTE3GT/H3kbdLl7OoH2+asoDRIIg==
+socket.io-client@4.7.1:
+ version "4.7.1"
+ resolved "https://registry.yarnpkg.com/socket.io-client/-/socket.io-client-4.7.1.tgz#48e5f703abe4fb0402182bcf9c06b7820fb3453b"
+ integrity sha512-Qk3Xj8ekbnzKu3faejo4wk2MzXA029XppiXtTF/PkbTg+fcwaTw1PlDrTrrrU4mKoYC4dvlApOnSeyLCKwek2w==
dependencies:
"@socket.io/component-emitter" "~3.1.0"
debug "~4.3.2"
- engine.io-client "~6.5.2"
+ engine.io-client "~6.5.1"
socket.io-parser "~4.2.4"
socket.io-parser@~4.2.4:
@@ -4745,10 +4769,10 @@ socket.io-parser@~4.2.4:
"@socket.io/component-emitter" "~3.1.0"
debug "~4.3.1"
-source-map-js@^1.0.2:
- version "1.0.2"
- resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c"
- integrity sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==
+source-map-js@^1.2.0:
+ version "1.2.0"
+ resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af"
+ integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==
source-map-support@~0.5.20:
version "0.5.21"
@@ -4776,7 +4800,6 @@ sourcemap-codec@^1.4.8:
integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==
"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0:
- name string-width-cjs
version "4.2.3"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -4795,46 +4818,50 @@ string-width@^5.0.1, string-width@^5.1.2:
strip-ansi "^7.0.1"
string.prototype.matchall@^4.0.6:
- version "4.0.10"
- resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.10.tgz#a1553eb532221d4180c51581d6072cd65d1ee100"
- integrity sha512-rGXbGmOEosIQi6Qva94HUjgPs9vKW+dkG7Y8Q5O2OYkWL6wFaTRZO8zM4mhP94uX55wgyrXzfS2aGtGzUL7EJQ==
+ version "4.0.11"
+ resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.11.tgz#1092a72c59268d2abaad76582dccc687c0297e0a"
+ integrity sha512-NUdh0aDavY2og7IbBPenWqR9exH+E26Sv8e0/eTe1tltDGZL+GtBkDAnnyBtmekfK6/Dq3MkcGtzXFEd1LQrtg==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
- get-intrinsic "^1.2.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.2"
+ es-errors "^1.3.0"
+ es-object-atoms "^1.0.0"
+ get-intrinsic "^1.2.4"
+ gopd "^1.0.1"
has-symbols "^1.0.3"
- internal-slot "^1.0.5"
- regexp.prototype.flags "^1.5.0"
- set-function-name "^2.0.0"
- side-channel "^1.0.4"
+ internal-slot "^1.0.7"
+ regexp.prototype.flags "^1.5.2"
+ set-function-name "^2.0.2"
+ side-channel "^1.0.6"
-string.prototype.trim@^1.2.8:
- version "1.2.8"
- resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.8.tgz#f9ac6f8af4bd55ddfa8895e6aea92a96395393bd"
- integrity sha512-lfjY4HcixfQXOfaqCvcBuOIapyaroTXhbkfJN3gcB1OtyupngWK4sEET9Knd0cXd28kTUqu/kHoV4HKSJdnjiQ==
+string.prototype.trim@^1.2.9:
+ version "1.2.9"
+ resolved "https://registry.yarnpkg.com/string.prototype.trim/-/string.prototype.trim-1.2.9.tgz#b6fa326d72d2c78b6df02f7759c73f8f6274faa4"
+ integrity sha512-klHuCNxiMZ8MlsOihJhJEBJAiMVqU3Z2nEXWfWnIqjN0gEFS9J9+IxKozWWtQGcgoa1WUZzLjKPTr4ZHNFTFxw==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-abstract "^1.23.0"
+ es-object-atoms "^1.0.0"
-string.prototype.trimend@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.7.tgz#1bb3afc5008661d73e2dc015cd4853732d6c471e"
- integrity sha512-Ni79DqeB72ZFq1uH/L6zJ+DKZTkOtPIHovb3YZHQViE+HDouuU4mBrLOLDn5Dde3RF8qw5qVETEjhu9locMLvA==
+string.prototype.trimend@^1.0.8:
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.8.tgz#3651b8513719e8a9f48de7f2f77640b26652b229"
+ integrity sha512-p73uL5VCHCO2BZZ6krwwQE3kCzM7NKmis8S//xEC6fQonchbum4eP6kR4DLEjQFO3Wnj3Fuo8NM0kOSjVdHjZQ==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
string.prototype.trimstart@^1.0.7:
- version "1.0.7"
- resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.7.tgz#d4cdb44b83a4737ffbac2d406e405d43d0184298"
- integrity sha512-NGhtDFu3jCEm7B4Fy0DpLewdJQOZcQ0rGbwQ/+stjnrp2i+rlKeCvos9hOIeCmqwratM47OBxY7uFZzjxHXmrg==
+ version "1.0.8"
+ resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz#7ee834dda8c7c17eff3118472bb35bfedaa34dde"
+ integrity sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==
dependencies:
- call-bind "^1.0.2"
- define-properties "^1.2.0"
- es-abstract "^1.22.1"
+ call-bind "^1.0.7"
+ define-properties "^1.2.1"
+ es-object-atoms "^1.0.0"
stringify-object@^3.3.0:
version "3.3.0"
@@ -4846,7 +4873,6 @@ stringify-object@^3.3.0:
is-regexp "^1.0.0"
"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1:
- name strip-ansi-cjs
version "6.0.1"
resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
@@ -4865,10 +4891,10 @@ strip-comments@^2.0.1:
resolved "https://registry.yarnpkg.com/strip-comments/-/strip-comments-2.0.1.tgz#4ad11c3fbcac177a67a40ac224ca339ca1c1ba9b"
integrity sha512-ZprKx+bBLXv067WTCALv8SSz5l2+XhpYCsVtSqlMnkAXMWDq+/ekVbl1ghqP9rUHTzv6sm/DwCOiYutU/yp1fw==
-style-to-js@1.1.10:
- version "1.1.10"
- resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.10.tgz#ec20e1264ba11dc7f71b94b3a3a05566ed856e54"
- integrity sha512-VC7MBJa+y0RZhpnLKDPmVRLRswsASLmixkiZ5R8xZpNT9VyjeRzwnXd2pBzAWdgSGv/pCNNH01gPCCUsB9exYg==
+style-to-js@1.1.11:
+ version "1.1.11"
+ resolved "https://registry.yarnpkg.com/style-to-js/-/style-to-js-1.1.11.tgz#7ba66214cab556fdded4786e80de0baccfa0e942"
+ integrity sha512-yHpYzXzEkx7iDjGEmE8Eyl4K/hWIm36FXPdRsl2NHEpbigLeawLVsv6tcYp+2xNhfpCrut4w08dYqeCxWMdRxw==
dependencies:
style-to-object "1.0.5"
@@ -4916,10 +4942,10 @@ svg-parser@^2.0.4:
resolved "https://registry.yarnpkg.com/svg-parser/-/svg-parser-2.0.4.tgz#fdc2e29e13951736140b76cb122c8ee6630eb6b5"
integrity sha512-e4hG1hRwoOdRb37cIMSgzNsxyzKfayW6VOflrwvR+/bzrkyxY/31WkbgnQpgtrNp1SdpJvpUAGTa/ZoiPNDuRQ==
-swr@^2.2.2:
- version "2.2.4"
- resolved "https://registry.yarnpkg.com/swr/-/swr-2.2.4.tgz#03ec4c56019902fbdc904d78544bd7a9a6fa3f07"
- integrity sha512-njiZ/4RiIhoOlAaLYDqwz5qH/KZXVilRLvomrx83HjzCWTfa+InyfAjv05PSFxnmLzZkNO9ZfvgoqzAaEI4sGQ==
+swr@^2.2.5:
+ version "2.2.5"
+ resolved "https://registry.yarnpkg.com/swr/-/swr-2.2.5.tgz#063eea0e9939f947227d5ca760cc53696f46446b"
+ integrity sha512-QtxqyclFeAsxEUeZIYmsaQ0UjimSq1RZ9Un7I68/0ClKK/U3LoyQunwkQfJZr2fc22DfIXLNDc2wFyTEikCUpg==
dependencies:
client-only "^0.0.1"
use-sync-external-store "^1.2.0"
@@ -4973,9 +4999,9 @@ tempy@^0.6.0:
unique-string "^2.0.0"
terser@^5.0.0:
- version "5.27.0"
- resolved "https://registry.yarnpkg.com/terser/-/terser-5.27.0.tgz#70108689d9ab25fef61c4e93e808e9fd092bf20c"
- integrity sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==
+ version "5.29.2"
+ resolved "https://registry.yarnpkg.com/terser/-/terser-5.29.2.tgz#c17d573ce1da1b30f21a877bffd5655dd86fdb35"
+ integrity sha512-ZiGkhUBIM+7LwkNjXYJq8svgkd+QK3UUr0wJqY4MieaezBSAIPgbSPZyIx0idM6XWK5CMzSWa8MJIzmRcB8Caw==
dependencies:
"@jridgewell/source-map" "^0.3.3"
acorn "^8.8.2"
@@ -4996,11 +5022,6 @@ thenify-all@^1.0.0:
dependencies:
any-promise "^1.0.0"
-throttle-debounce@^3.0.1:
- version "3.0.1"
- resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb"
- integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg==
-
tippy.js@^6.3.7:
version "6.3.7"
resolved "https://registry.yarnpkg.com/tippy.js/-/tippy.js-6.3.7.tgz#8ccfb651d642010ed9a32ff29b0e9e19c5b8c61c"
@@ -5038,9 +5059,9 @@ tslib@^2.0.0, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.4.0, tslib@^2.6.2:
integrity sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==
turndown@^7.1.2:
- version "7.1.2"
- resolved "https://registry.yarnpkg.com/turndown/-/turndown-7.1.2.tgz#7feb838c78f14241e79ed92a416e0d213e044a29"
- integrity sha512-ntI9R7fcUKjqBP6QU8rBK2Ehyt8LAzt3UBT9JR9tgo6GtuKvyUzpayWmeMKJw1DPdXzktvtIT8m2mVXz+bL/Qg==
+ version "7.1.3"
+ resolved "https://registry.yarnpkg.com/turndown/-/turndown-7.1.3.tgz#2890eb76c603e66bf0c9e91526582b563065c57d"
+ integrity sha512-Z3/iJ6IWh8VBiACWQJaA5ulPQE5E1QwvBHj00uGzdQxdRnd8fh1DPqNOJqzQDu6DkOstORrtXzf/9adB+vMtEA==
dependencies:
domino "^2.1.6"
@@ -5049,59 +5070,59 @@ type-fest@^0.16.0:
resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.16.0.tgz#3240b891a78b0deae910dbeb86553e552a148860"
integrity sha512-eaBzG6MxNzEn9kiwvtre90cXaNLkmadMWa1zQMs3XORCXNbsH/OewwbxC5ia9dCxIxnTAsSxXJaa/p5y8DlvJg==
-type-fest@^2.19.0:
- version "2.19.0"
- resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b"
- integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==
-
-typed-array-buffer@^1.0.0:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.1.tgz#0608ffe6bca71bf15a45bff0ca2604107a1325f5"
- integrity sha512-RSqu1UEuSlrBhHTWC8O9FnPjOduNs4M7rJ4pRKoEjtx1zUNOPN2sSXHLDX+Y2WPbHIxbvg4JFo2DNAEfPIKWoQ==
+typed-array-buffer@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz#1867c5d83b20fcb5ccf32649e5e2fc7424474ff3"
+ integrity sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==
dependencies:
- call-bind "^1.0.6"
+ call-bind "^1.0.7"
es-errors "^1.3.0"
is-typed-array "^1.1.13"
-typed-array-byte-length@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz#d787a24a995711611fb2b87a4052799517b230d0"
- integrity sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==
+typed-array-byte-length@^1.0.1:
+ version "1.0.1"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz#d92972d3cff99a3fa2e765a28fcdc0f1d89dec67"
+ integrity sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==
dependencies:
- call-bind "^1.0.2"
+ call-bind "^1.0.7"
for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
+ gopd "^1.0.1"
+ has-proto "^1.0.3"
+ is-typed-array "^1.1.13"
-typed-array-byte-offset@^1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz#cbbe89b51fdef9cd6aaf07ad4707340abbc4ea0b"
- integrity sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==
+typed-array-byte-offset@^1.0.2:
+ version "1.0.2"
+ resolved "https://registry.yarnpkg.com/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz#f9ec1acb9259f395093e4567eb3c28a580d02063"
+ integrity sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==
dependencies:
- available-typed-arrays "^1.0.5"
- call-bind "^1.0.2"
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.7"
for-each "^0.3.3"
- has-proto "^1.0.1"
- is-typed-array "^1.1.10"
+ gopd "^1.0.1"
+ has-proto "^1.0.3"
+ is-typed-array "^1.1.13"
-typed-array-length@^1.0.4:
- version "1.0.4"
- resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.4.tgz#89d83785e5c4098bec72e08b319651f0eac9c1bb"
- integrity sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==
+typed-array-length@^1.0.5:
+ version "1.0.6"
+ resolved "https://registry.yarnpkg.com/typed-array-length/-/typed-array-length-1.0.6.tgz#57155207c76e64a3457482dfdc1c9d1d3c4c73a3"
+ integrity sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==
dependencies:
- call-bind "^1.0.2"
+ call-bind "^1.0.7"
for-each "^0.3.3"
- is-typed-array "^1.1.9"
+ gopd "^1.0.1"
+ has-proto "^1.0.3"
+ is-typed-array "^1.1.13"
+ possible-typed-array-names "^1.0.0"
typescript@^5.3.3:
- version "5.3.3"
- resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.3.3.tgz#b3ce6ba258e72e6305ba66f5c9b452aaee3ffe37"
- integrity sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==
+ version "5.4.3"
+ resolved "https://registry.yarnpkg.com/typescript/-/typescript-5.4.3.tgz#5c6fedd4c87bee01cd7a528a30145521f8e0feff"
+ integrity sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==
-uc.micro@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.0.0.tgz#84b3c335c12b1497fd9e80fcd3bfa7634c363ff1"
- integrity sha512-DffL94LsNOccVn4hyfRe5rdKa273swqeA5DJpMOeFmEn1wCDc7nAbbB0gXlgBCL7TNzeTv6G7XVWzan7iJtfig==
+uc.micro@^2.0.0, uc.micro@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee"
+ integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==
unbox-primitive@^1.0.2:
version "1.0.2"
@@ -5174,9 +5195,9 @@ uri-js@^4.2.2:
punycode "^2.1.0"
use-callback-ref@^1.3.0:
- version "1.3.1"
- resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.1.tgz#9be64c3902cbd72b07fe55e56408ae3a26036fd0"
- integrity sha512-Lg4Vx1XZQauB42Hw3kK7JM6yjVjgFmFC5/Ab797s79aARomD2nEErc4mCgM8EZrARLmmbWpi5DGCadmK50DcAQ==
+ version "1.3.2"
+ resolved "https://registry.yarnpkg.com/use-callback-ref/-/use-callback-ref-1.3.2.tgz#6134c7f6ff76e2be0b56c809b17a650c942b1693"
+ integrity sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==
dependencies:
tslib "^2.0.0"
@@ -5219,9 +5240,9 @@ vite-plugin-svgr@^4.2.0:
"@svgr/plugin-jsx" "^8.1.0"
vite@^4.5.2:
- version "4.5.2"
- resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.2.tgz#d6ea8610e099851dad8c7371599969e0f8b97e82"
- integrity sha512-tBCZBNSBbHQkaGyhGCDUGqeo2ph8Fstyp6FMSvTtsXeZSPpSMGlviAOav2hxVTqFcx8Hj/twtWKsMJXNY0xI8w==
+ version "4.5.3"
+ resolved "https://registry.yarnpkg.com/vite/-/vite-4.5.3.tgz#d88a4529ea58bae97294c7e2e6f0eab39a50fb1a"
+ integrity sha512-kQL23kMeX92v3ph7IauVkXkikdDRsYMGTVl5KY2E9OY4ONLvkHf04MDTbnfo6NKxZiDLWzVpP5oTa8hQD8U3dg==
dependencies:
esbuild "^0.18.10"
postcss "^8.4.27"
@@ -5259,16 +5280,16 @@ which-boxed-primitive@^1.0.2:
is-string "^1.0.5"
is-symbol "^1.0.3"
-which-typed-array@^1.1.13, which-typed-array@^1.1.14:
- version "1.1.14"
- resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.14.tgz#1f78a111aee1e131ca66164d8bdc3ab062c95a06"
- integrity sha512-VnXFiIW8yNn9kIHN88xvZ4yOWchftKDsRJ8fEPacX/wl1lOvBrhsJ/OeJCXq7B0AaijRuqgzSKalJoPk+D8MPg==
+which-typed-array@^1.1.14, which-typed-array@^1.1.15:
+ version "1.1.15"
+ resolved "https://registry.yarnpkg.com/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d"
+ integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==
dependencies:
- available-typed-arrays "^1.0.6"
- call-bind "^1.0.5"
+ available-typed-arrays "^1.0.7"
+ call-bind "^1.0.7"
for-each "^0.3.3"
gopd "^1.0.1"
- has-tostringtag "^1.0.1"
+ has-tostringtag "^1.0.2"
which@^2.0.1:
version "2.0.2"
@@ -5474,6 +5495,6 @@ yallist@^3.0.2:
integrity sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==
yaml@^2.3.4:
- version "2.3.4"
- resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.3.4.tgz#53fc1d514be80aabf386dc6001eb29bf3b7523b2"
- integrity sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==
+ version "2.4.1"
+ resolved "https://registry.yarnpkg.com/yaml/-/yaml-2.4.1.tgz#2e57e0b5e995292c25c75d2658f0664765210eed"
+ integrity sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==
diff --git a/raven/api/chat.py b/raven/api/chat.py
index 2bf061d87..31a3a8b57 100644
--- a/raven/api/chat.py
+++ b/raven/api/chat.py
@@ -28,6 +28,7 @@ def get_channel_members(channel_id):
user.full_name,
user.user_image,
user.first_name,
+ user.type,
channel_member.is_admin,
)
.where(channel_member.channel_id == channel_id)
diff --git a/raven/api/chat_stream.py b/raven/api/chat_stream.py
index b472a75a8..ecf37e363 100644
--- a/raven/api/chat_stream.py
+++ b/raven/api/chat_stream.py
@@ -49,6 +49,8 @@ def get_messages(channel_id: str, limit: int = 20, base_message: str | None = No
message.content,
message.is_edited,
message.poll_id,
+ message.is_bot_message,
+ message.bot,
)
.where(message.channel_id == channel_id)
.orderby(message.creation, order=Order.desc)
@@ -151,6 +153,8 @@ def fetch_older_messages(
message.content,
message.is_edited,
message.poll_id,
+ message.is_bot_message,
+ message.bot,
)
.where(message.channel_id == channel_id)
.where(
@@ -257,6 +261,8 @@ def fetch_newer_messages(
message.content,
message.is_edited,
message.poll_id,
+ message.is_bot_message,
+ message.bot,
)
.where(message.channel_id == channel_id)
.where(condition)
diff --git a/raven/api/raven_channel.py b/raven/api/raven_channel.py
index fbfe47318..87c6690dd 100644
--- a/raven/api/raven_channel.py
+++ b/raven/api/raven_channel.py
@@ -1,6 +1,5 @@
import frappe
from frappe import _
-from frappe.model.document import Document
@frappe.whitelist()
@@ -157,6 +156,4 @@ def create_direct_message_channel(user_id):
}
)
channel.insert()
- if frappe.session.user != user_id:
- channel.add_members([user_id], 1)
return channel.name
diff --git a/raven/api/raven_users.py b/raven/api/raven_users.py
index f2c0d4a21..be350f50f 100644
--- a/raven/api/raven_users.py
+++ b/raven/api/raven_users.py
@@ -30,7 +30,7 @@ def get_list():
users = frappe.db.get_all(
"Raven User",
- fields=["full_name", "user_image", "name", "first_name", "enabled"],
+ fields=["full_name", "user_image", "name", "first_name", "enabled", "type"],
order_by="full_name",
)
return users
diff --git a/raven/boot.py b/raven/boot.py
index 10e0626da..b80f05368 100644
--- a/raven/boot.py
+++ b/raven/boot.py
@@ -2,6 +2,14 @@
def boot_session(bootinfo):
+
bootinfo.show_raven_chat_on_desk = frappe.db.get_single_value(
"Raven Settings", "show_raven_on_desk"
)
+
+ tenor_api_key = frappe.db.get_single_value("Raven Settings", "tenor_api_key")
+
+ if tenor_api_key:
+ bootinfo.tenor_api_key = tenor_api_key
+ else:
+ bootinfo.tenor_api_key = "AIzaSyAWkuhLwbMxOlvn_o5fxBke1grUZ7F3ma4" # should we remove this?
diff --git a/raven/modules.txt b/raven/modules.txt
index c5387266a..54ebc74a0 100644
--- a/raven/modules.txt
+++ b/raven/modules.txt
@@ -1,3 +1,5 @@
Raven
Raven Messaging
-Raven Channel Management
\ No newline at end of file
+Raven Channel Management
+Raven Bot
+Raven Integrations
\ No newline at end of file
diff --git a/raven/notification.py b/raven/notification.py
new file mode 100644
index 000000000..a76cb2705
--- /dev/null
+++ b/raven/notification.py
@@ -0,0 +1,92 @@
+import frappe
+
+
+def send_notification_to_user(user_id, title, message, data=None, user_image_id=None):
+ """
+ Send a push notification to a user
+ """
+
+ try:
+ from frappe.push_notification import PushNotification
+
+ push_notification = PushNotification("raven")
+
+ if data is None:
+ data = {
+ "base_url": frappe.utils.get_url(),
+ }
+ else:
+ data["base_url"] = frappe.utils.get_url()
+
+ if push_notification.is_enabled():
+ icon_url = None
+ if user_image_id:
+ icon = frappe.get_cached_value("Raven User", user_image_id, "user_image")
+ if icon:
+ icon_url = frappe.utils.get_url() + icon
+
+ link = None
+ if data.get("channel_id"):
+ link = frappe.utils.get_url() + "/raven_mobile/channel/" + data.get("channel_id", "")
+ push_notification.send_notification_to_user(
+ user_id=user_id, title=title, body=message, icon=icon_url, data=data, link=link
+ )
+ except ImportError:
+ # push notifications are not supported in the current framework version
+ pass
+ except Exception:
+ frappe.log_error("Failed to send push notification")
+
+
+def send_notification_to_topic(channel_id, title, message, data=None, user_image_id=None):
+ """
+ Send a push notification to a channel
+ """
+
+ try:
+ from frappe.push_notification import PushNotification
+
+ push_notification = PushNotification("raven")
+
+ if data is None:
+ data = {
+ "base_url": frappe.utils.get_url(),
+ }
+ else:
+ data["base_url"] = frappe.utils.get_url()
+
+ if push_notification.is_enabled():
+ icon_url = None
+ if user_image_id:
+ icon = frappe.get_cached_value("Raven User", user_image_id, "user_image")
+ if icon:
+ icon_url = frappe.utils.get_url() + icon
+ if data.get("channel_id"):
+ link = frappe.utils.get_url() + "/raven_mobile/channel/" + data.get("channel_id", "")
+ push_notification.send_notification_to_topic(
+ topic_name=channel_id, title=title, body=message, icon=icon_url, data=data, link=link
+ )
+ except ImportError:
+ # push notifications are not supported in the current framework version
+ pass
+ except Exception:
+ frappe.log_error("Failed to send push notification")
+
+
+def subscribe_user_to_topic(channel_id, user_id):
+ """
+ Subscribe a user to a topic (channel name)
+ """
+
+ try:
+ from frappe.push_notification import PushNotification
+
+ push_notification = PushNotification("raven")
+
+ if push_notification.is_enabled():
+ push_notification.subscribe_topic(user_id=user_id, topic_name=channel_id)
+ except ImportError:
+ # push notifications are not supported in the current framework version
+ pass
+ except Exception:
+ frappe.log_error("Failed to subscribe user to channel")
diff --git a/raven/raven/doctype/raven_settings/raven_settings.json b/raven/raven/doctype/raven_settings/raven_settings.json
index dd437652c..9a69b1e9f 100644
--- a/raven/raven/doctype/raven_settings/raven_settings.json
+++ b/raven/raven/doctype/raven_settings/raven_settings.json
@@ -8,26 +8,47 @@
"engine": "InnoDB",
"field_order": [
"auto_add_system_users",
- "show_raven_on_desk"
+ "show_raven_on_desk",
+ "integrations_tab",
+ "integrations_section",
+ "tenor_api_key"
],
"fields": [
{
"default": "1",
"fieldname": "auto_add_system_users",
"fieldtype": "Check",
- "label": "Automatically add system users to Raven"
+ "label": "Automatically add system users to Raven",
+ "permlevel": 1
},
{
"default": "1",
"fieldname": "show_raven_on_desk",
"fieldtype": "Check",
- "label": "Show Raven on Desk"
+ "label": "Show Raven on Desk",
+ "permlevel": 1
+ },
+ {
+ "fieldname": "integrations_tab",
+ "fieldtype": "Tab Break",
+ "label": "Integrations"
+ },
+ {
+ "fieldname": "tenor_api_key",
+ "fieldtype": "Data",
+ "label": "Tenor API Key",
+ "length": 320,
+ "permlevel": 1
+ },
+ {
+ "fieldname": "integrations_section",
+ "fieldtype": "Section Break"
}
],
"index_web_pages_for_search": 1,
"issingle": 1,
"links": [],
- "modified": "2024-01-28 19:42:25.061578",
+ "modified": "2024-03-26 22:40:35.358702",
"modified_by": "Administrator",
"module": "Raven",
"name": "Raven Settings",
@@ -42,6 +63,20 @@
"role": "System Manager",
"share": 1,
"write": 1
+ },
+ {
+ "read": 1,
+ "role": "All"
+ },
+ {
+ "delete": 1,
+ "email": 1,
+ "permlevel": 1,
+ "print": 1,
+ "read": 1,
+ "role": "System Manager",
+ "share": 1,
+ "write": 1
}
],
"sort_field": "modified",
diff --git a/raven/raven/doctype/raven_settings/raven_settings.py b/raven/raven/doctype/raven_settings/raven_settings.py
index cae80940f..f1696918f 100644
--- a/raven/raven/doctype/raven_settings/raven_settings.py
+++ b/raven/raven/doctype/raven_settings/raven_settings.py
@@ -16,6 +16,7 @@ class RavenSettings(Document):
auto_add_system_users: DF.Check
show_raven_on_desk: DF.Check
+ tenor_api_key: DF.Data | None
# end: auto-generated types
pass
diff --git a/raven/raven/doctype/raven_user/raven_user.json b/raven/raven/doctype/raven_user/raven_user.json
index 3e6900c63..1904d64d9 100644
--- a/raven/raven/doctype/raven_user/raven_user.json
+++ b/raven/raven/doctype/raven_user/raven_user.json
@@ -1,14 +1,15 @@
{
"actions": [],
"allow_rename": 1,
- "autoname": "field:user",
"creation": "2023-09-06 14:36:48.631681",
"default_view": "List",
"doctype": "DocType",
"editable_grid": 1,
"engine": "InnoDB",
"field_order": [
+ "type",
"user",
+ "bot",
"full_name",
"first_name",
"user_image",
@@ -17,15 +18,17 @@
],
"fields": [
{
+ "depends_on": "eval: doc.type == 'User'",
"fieldname": "user",
"fieldtype": "Link",
"label": "User",
+ "mandatory_depends_on": "eval: doc.type == 'User'",
"options": "User",
- "reqd": 1,
"unique": 1
},
{
"fetch_from": "user.full_name",
+ "fetch_if_empty": 1,
"fieldname": "full_name",
"fieldtype": "Data",
"in_filter": 1,
@@ -57,15 +60,35 @@
"fieldname": "html_xuuw",
"fieldtype": "HTML",
"options": "To disable the user from accessing Raven, go to \"Users\" and remove the \"Raven User\" role.
"
+ },
+ {
+ "fieldname": "type",
+ "fieldtype": "Select",
+ "in_list_view": 1,
+ "in_standard_filter": 1,
+ "label": "Type",
+ "options": "User\nBot",
+ "reqd": 1
+ },
+ {
+ "depends_on": "eval: doc.type == 'Bot'",
+ "fieldname": "bot",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "in_standard_filter": 1,
+ "label": "Bot",
+ "mandatory_depends_on": "eval: doc.type == 'Bot'",
+ "options": "Raven Bot",
+ "read_only": 1
}
],
"image_field": "user_image",
"links": [],
- "modified": "2024-02-23 00:05:54.819092",
+ "modified": "2024-03-29 18:34:46.139424",
"modified_by": "Administrator",
"module": "Raven",
"name": "Raven User",
- "naming_rule": "By fieldname",
+ "naming_rule": "By script",
"owner": "Administrator",
"permissions": [
{
diff --git a/raven/raven/doctype/raven_user/raven_user.py b/raven/raven/doctype/raven_user/raven_user.py
index a8391272a..ee018dafb 100644
--- a/raven/raven/doctype/raven_user/raven_user.py
+++ b/raven/raven/doctype/raven_user/raven_user.py
@@ -15,19 +15,37 @@ class RavenUser(Document):
if TYPE_CHECKING:
from frappe.types import DF
+ bot: DF.Link | None
enabled: DF.Check
first_name: DF.Data | None
- full_name: DF.Data
- user: DF.Link
+ full_name: DF.Data | None
+ type: DF.Literal["User", "Bot"]
+ user: DF.Link | None
user_image: DF.AttachImage | None
# end: auto-generated types
+ def autoname(self):
+ if self.type == "Bot":
+ self.name = self.bot
+ else:
+ self.name = self.user
+
def before_validate(self):
+ if self.user:
+ self.type = "User"
if not self.full_name:
self.full_name = self.first_name
+ def validate(self):
+ if self.type == "Bot" and not self.bot:
+ frappe.throw(_("Bot is mandatory"))
+
+ if self.type == "User" and not self.user:
+ frappe.throw(_("User is mandatory"))
+
def before_save(self):
- self.update_photo_from_user()
+ if self.type != "Bot":
+ self.update_photo_from_user()
def on_trash(self):
"""
@@ -65,8 +83,6 @@ def update_photo_from_user(self):
).insert(ignore_permissions=True)
self.user_image = image_file.file_url
- pass
-
def add_user_to_raven(doc, method):
# called when the user is inserted or updated
diff --git a/raven/raven_bot/__init__.py b/raven/raven_bot/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/raven/raven_bot/doctype/__init__.py b/raven/raven_bot/doctype/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/raven/raven_bot/doctype/raven_bot/__init__.py b/raven/raven_bot/doctype/raven_bot/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/raven/raven_bot/doctype/raven_bot/raven_bot.js b/raven/raven_bot/doctype/raven_bot/raven_bot.js
new file mode 100644
index 000000000..f6dd2dea3
--- /dev/null
+++ b/raven/raven_bot/doctype/raven_bot/raven_bot.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2024, The Commit Company and contributors
+// For license information, please see license.txt
+
+// frappe.ui.form.on("Raven Bot", {
+// refresh(frm) {
+
+// },
+// });
diff --git a/raven/raven_bot/doctype/raven_bot/raven_bot.json b/raven/raven_bot/doctype/raven_bot/raven_bot.json
new file mode 100644
index 000000000..0788426fb
--- /dev/null
+++ b/raven/raven_bot/doctype/raven_bot/raven_bot.json
@@ -0,0 +1,94 @@
+{
+ "actions": [],
+ "allow_rename": 1,
+ "autoname": "field:bot_name",
+ "creation": "2024-03-29 20:25:13.529714",
+ "default_view": "List",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+ "bot_name",
+ "image",
+ "raven_user",
+ "column_break_lhoo",
+ "description",
+ "is_standard",
+ "module"
+ ],
+ "fields": [
+ {
+ "fieldname": "description",
+ "fieldtype": "Small Text",
+ "label": "Description"
+ },
+ {
+ "fieldname": "image",
+ "fieldtype": "Attach Image",
+ "label": "Image"
+ },
+ {
+ "fieldname": "bot_name",
+ "fieldtype": "Data",
+ "in_list_view": 1,
+ "in_standard_filter": 1,
+ "label": "Bot Name",
+ "reqd": 1,
+ "unique": 1
+ },
+ {
+ "default": "0",
+ "fieldname": "is_standard",
+ "fieldtype": "Check",
+ "hidden": 1,
+ "label": "Is Standard"
+ },
+ {
+ "fieldname": "module",
+ "fieldtype": "Link",
+ "hidden": 1,
+ "label": "Module",
+ "mandatory_depends_on": "eval: doc.is_standard == 1",
+ "options": "Module Def"
+ },
+ {
+ "fieldname": "raven_user",
+ "fieldtype": "Link",
+ "in_standard_filter": 1,
+ "label": "Raven User",
+ "options": "Raven User",
+ "read_only": 1,
+ "set_only_once": 1
+ },
+ {
+ "fieldname": "column_break_lhoo",
+ "fieldtype": "Column Break"
+ }
+ ],
+ "image_field": "image",
+ "index_web_pages_for_search": 1,
+ "links": [],
+ "modified": "2024-03-29 23:16:44.406120",
+ "modified_by": "Administrator",
+ "module": "Raven Bot",
+ "name": "Raven Bot",
+ "naming_rule": "By fieldname",
+ "owner": "Administrator",
+ "permissions": [
+ {
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "share": 1,
+ "write": 1
+ }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": []
+}
\ No newline at end of file
diff --git a/raven/raven_bot/doctype/raven_bot/raven_bot.py b/raven/raven_bot/doctype/raven_bot/raven_bot.py
new file mode 100644
index 000000000..be7abb6a8
--- /dev/null
+++ b/raven/raven_bot/doctype/raven_bot/raven_bot.py
@@ -0,0 +1,227 @@
+# Copyright (c) 2024, The Commit Company and contributors
+# For license information, please see license.txt
+
+import frappe
+from frappe.model.document import Document
+
+from raven.utils import get_raven_user
+
+
+class RavenBot(Document):
+ # begin: auto-generated types
+ # This code is auto-generated. Do not modify anything in this block.
+
+ from typing import TYPE_CHECKING
+
+ if TYPE_CHECKING:
+ from frappe.types import DF
+
+ bot_name: DF.Data
+ description: DF.SmallText | None
+ image: DF.AttachImage | None
+ is_standard: DF.Check
+ module: DF.Link | None
+ raven_user: DF.Link | None
+ # end: auto-generated types
+
+ def on_update(self):
+ """
+ When a bot is updated, create/update the Raven User for it
+
+ TODO: Generate JSON files when a Standard Bot is created or updated
+ """
+ if self.raven_user:
+ raven_user = frappe.get_doc("Raven User", self.raven_user)
+ raven_user.type = "Bot"
+ raven_user.bot = self.name
+ raven_user.full_name = self.bot_name
+ raven_user.first_name = self.bot_name
+ raven_user.user_image = self.image
+ raven_user.enabled = 1
+ raven_user.save()
+ else:
+ raven_user = frappe.new_doc("Raven User")
+ raven_user.type = "Bot"
+ raven_user.bot = self.name
+ raven_user.full_name = self.bot_name
+ raven_user.first_name = self.bot_name
+ raven_user.user_image = self.image
+ raven_user.enabled = 1
+ raven_user.save()
+
+ self.db_set("raven_user", raven_user.name)
+
+ def is_member(self, channel_id: str) -> None | str:
+ """
+ Check if the bot is a member of the channel
+ Returns None if the bot is not a member of the channel
+ Returns the member_id if the bot is a member of the channel
+ """
+ member_id = frappe.db.exists(
+ "Raven Channel Member", {"channel_id": channel_id, "user_id": self.raven_user}
+ )
+ if member_id:
+ return member_id
+ return None
+
+ def add_to_channel(self, channel_id: str) -> str:
+ """
+ Add the bot to a channel as a member
+
+ If the bot is already a member of the channel, this function does nothing
+
+ Returns the member_id of the bot in the channel
+ """
+
+ existing_member = self.is_member(channel_id)
+
+ if not existing_member:
+ raven_channel_member = frappe.get_doc(
+ doctype="Raven Channel Member", user_id=self.raven_user, channel_id=channel_id
+ )
+ raven_channel_member.insert()
+ return raven_channel_member.name
+ else:
+ return existing_member
+
+ def remove_from_channel(self, channel_id: str) -> None:
+ """
+ Remove the bot from a channel as a member
+ """
+
+ existing_member = self.is_member(channel_id)
+ if existing_member:
+ frappe.delete_doc("Raven Channel Member", existing_member)
+
+ def get_dm_channel_id(self, user_id: str) -> str | None:
+ """
+ Get the channel_id of a Direct Message channel with a user
+ """
+ # The User's Raven User ID
+ user_raven_user = frappe.db.get_value("Raven User", {"user": user_id}, "name")
+ if not user_raven_user:
+ return None
+ channel_name = frappe.db.get_value(
+ "Raven Channel",
+ filters={
+ "is_direct_message": 1,
+ "channel_name": [
+ "in",
+ [self.raven_user + " _ " + user_raven_user, user_raven_user + " _ " + self.raven_user],
+ ],
+ },
+ )
+ if channel_name:
+ return channel_name
+ return None
+
+ def send_message(
+ self, channel_id: str, text: str = None, link_doctype: str = None, link_document: str = None
+ ) -> str:
+ """
+ Send a text message to a channel
+
+ channel_id: The channel_id of the channel to send the message to
+
+ You need to provide either text or link_doctype and link_document
+ text: The text of the message in HTML format (markdown is not supported)
+
+ Optional:
+ link_doctype: The doctype of the document to link the message to
+ link_document: The name of the document to link the message to
+
+ Returns the message ID of the message sent
+ """
+ doc = frappe.get_doc(
+ {
+ "doctype": "Raven Message",
+ "channel_id": channel_id,
+ "text": text,
+ "message_type": "Text",
+ "is_bot_message": 1,
+ "bot": self.raven_user,
+ "link_doctype": link_doctype,
+ "link_document": link_document,
+ }
+ )
+ doc.insert()
+ return doc.name
+
+ def create_direct_message_channel(self, user_id: str) -> str:
+ """
+ Creates a direct message channel between the bot and a user
+
+ If the channel already exists, returns the channel_id of the existing channel
+
+ Throws an error if the user is not a Raven User
+ """
+ channel_id = self.get_dm_channel_id(user_id)
+
+ if channel_id:
+ return channel_id
+ else:
+ # The user's raven_user document
+ user_raven_user = get_raven_user(user_id)
+ if not user_raven_user:
+ frappe.throw(f"User {user_id} is not added as a Raven User")
+ channel = frappe.get_doc(
+ {
+ "doctype": "Raven Channel",
+ "channel_name": self.raven_user + " _ " + user_raven_user,
+ "is_direct_message": 1,
+ }
+ )
+ channel.flags.is_created_by_bot = True
+ channel.insert()
+ return channel.name
+
+ def send_direct_message(
+ self, user_id: str, text: str = None, link_doctype: str = None, link_document: str = None
+ ) -> str:
+ """
+ Send a text message to a user in a Direct Message channel
+
+ user_id: The User's 'name' field to send the message to
+
+ You need to provide either text or link_doctype and link_document
+ text: The text of the message in HTML format (markdown is not supported)
+
+ Optional:
+ link_doctype: The doctype of the document to link the message to
+ link_document: The name of the document to link the message to
+
+ Returns the message ID of the message sent
+ """
+
+ channel_id = self.create_direct_message_channel(user_id)
+
+ if channel_id:
+ return self.send_message(channel_id, text, link_doctype, link_document)
+
+ def get_last_message(self, channel_id: str = None, message_type: str = None) -> Document | None:
+ """
+ Gets the last message sent by the bot
+ """
+ filters = {"bot": self.name}
+ if channel_id is not None:
+ filters["channel_id"] = channel_id
+ if message_type is not None:
+ filters["message_type"] = message_type
+
+ return frappe.get_last_doc("Raven Message", filters=filters, order_by="creation desc")
+
+ def get_previous_messages(
+ self, channel_id: str = None, message_type: str = None, date: str = None
+ ) -> list[str]:
+ """
+ Gets the previous messages sent by the bot
+ """
+ filters = {"bot": self.name}
+ if channel_id is not None:
+ filters["channel_id"] = channel_id
+ if message_type is not None:
+ filters["message_type"] = message_type
+ if date is not None:
+ filters["creation"] = [">", date]
+
+ return frappe.get_all("Raven Message", filters=filters, order_by="creation desc", pluck="name")
diff --git a/raven/raven_bot/doctype/raven_bot/test_raven_bot.py b/raven/raven_bot/doctype/raven_bot/test_raven_bot.py
new file mode 100644
index 000000000..b163ffe62
--- /dev/null
+++ b/raven/raven_bot/doctype/raven_bot/test_raven_bot.py
@@ -0,0 +1,9 @@
+# Copyright (c) 2024, The Commit Company and Contributors
+# See license.txt
+
+# import frappe
+from frappe.tests.utils import FrappeTestCase
+
+
+class TestRavenBot(FrappeTestCase):
+ pass
diff --git a/raven/raven_channel_management/doctype/raven_channel/raven_channel.py b/raven/raven_channel_management/doctype/raven_channel/raven_channel.py
index 6ec96ab41..945e46d1d 100644
--- a/raven/raven_channel_management/doctype/raven_channel/raven_channel.py
+++ b/raven/raven_channel_management/doctype/raven_channel/raven_channel.py
@@ -42,17 +42,35 @@ def on_trash(self):
frappe.db.delete("Raven Message", {"channel_id": self.name})
def after_insert(self):
+ """
+ After inserting a channel, we need to check if it is a direct message channel or not.
+
+ If it is a direct message channel, we can add both the users as members.
+
+ If it is a self message channel, we will add only the same user as a member.
+
+ For all other channels, we will add the current user as a member if it is not created by a bot.
+ If it is created by a bot, we will add the bot as a member.
+ """
# add current user as channel member
if not frappe.flags.in_test:
- if self.type == "Private" or self.type == "Public":
- frappe.get_doc(
- {
- "doctype": "Raven Channel Member",
- "channel_id": self.name,
- "user_id": frappe.session.user,
- "is_admin": 1,
- }
- ).insert()
+
+ if self.is_direct_message == 1:
+ # Add both users as members
+ raven_users = self.channel_name.split(" _ ")
+ unique_raven_users = list(set(raven_users))
+ self.add_members(unique_raven_users)
+ else:
+ # If this was not created by a bot, add the current user as a member
+ if self.type == "Private" or self.type == "Public":
+ frappe.get_doc(
+ {
+ "doctype": "Raven Channel Member",
+ "channel_id": self.name,
+ "user_id": frappe.session.user,
+ "is_admin": 1,
+ }
+ ).insert()
def validate(self):
# If the user trying to modify the channel is not the owner or channel member, then don't allow
@@ -79,21 +97,21 @@ def validate(self):
_("You don't have permission to archive/unarchive this channel"),
frappe.PermissionError,
)
-
- if self.type == "Private" or self.type == "Public":
- if (
- self.owner == frappe.session.user
- and frappe.db.count("Raven Channel Member", {"channel_id": self.name}) <= 1
- ):
- pass
- elif frappe.db.exists(
- "Raven Channel Member", {"channel_id": self.name, "user_id": frappe.session.user}
- ):
- pass
- elif frappe.session.user == "Administrator":
- pass
- else:
- frappe.throw(_("You don't have permission to modify this channel"), frappe.PermissionError)
+ if not self.flags.is_created_by_bot:
+ if self.type == "Private" or self.type == "Public":
+ if (
+ self.owner == frappe.session.user
+ and frappe.db.count("Raven Channel Member", {"channel_id": self.name}) <= 1
+ ):
+ pass
+ elif frappe.db.exists(
+ "Raven Channel Member", {"channel_id": self.name, "user_id": frappe.session.user}
+ ):
+ pass
+ elif frappe.session.user == "Administrator":
+ pass
+ else:
+ frappe.throw(_("You don't have permission to modify this channel"), frappe.PermissionError)
def before_validate(self):
if self.is_self_message == 1:
@@ -105,6 +123,7 @@ def before_validate(self):
self.channel_name = self.channel_name.strip().lower().replace(" ", "-")
def add_members(self, members, is_admin=0):
+ # members is a list of Raven User IDs
for member in members:
doc = frappe.db.get_value(
"Raven Channel Member",
@@ -122,7 +141,7 @@ def add_members(self, members, is_admin=0):
"is_admin": is_admin,
}
)
- channel_member.insert()
+ channel_member.insert(ignore_permissions=True)
def autoname(self):
if self.is_direct_message == 0:
diff --git a/raven/raven_channel_management/doctype/raven_channel_member/raven_channel_member.py b/raven/raven_channel_management/doctype/raven_channel_member/raven_channel_member.py
index fba8bc28c..e8632f8d2 100644
--- a/raven/raven_channel_management/doctype/raven_channel_member/raven_channel_member.py
+++ b/raven/raven_channel_management/doctype/raven_channel_member/raven_channel_member.py
@@ -5,18 +5,13 @@
from frappe import _
from frappe.model.document import Document
+from raven.notification import subscribe_user_to_topic
+
class RavenChannelMember(Document):
def before_validate(self):
self.last_visit = frappe.utils.now()
- def validate(self):
- if not self.check_if_user_is_member():
- frappe.throw(
- _("You don't have permission to add/modify members in this channel"),
- frappe.PermissionError,
- )
-
def before_insert(self):
# 1. A user cannot be a member of a channel more than once
if frappe.db.exists(
@@ -90,5 +85,14 @@ def check_if_user_is_member(self):
is_member = False
return is_member
+ def after_insert(self):
+ """
+ Subscribe the user to the topic if the channel is not a DM
+ """
+ is_direct_message = frappe.db.get_value("Raven Channel", self.channel_id, "is_direct_message")
+
+ if not is_direct_message:
+ subscribe_user_to_topic(self.channel_id, self.user_id)
+
def get_admin_count(self):
return frappe.db.count("Raven Channel Member", {"channel_id": self.channel_id, "is_admin": 1})
diff --git a/raven/raven_integrations/__init__.py b/raven/raven_integrations/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/raven/raven_integrations/doctype/__init__.py b/raven/raven_integrations/doctype/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/raven/raven_integrations/doctype/raven_scheduler_event/__init__.py b/raven/raven_integrations/doctype/raven_scheduler_event/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.js b/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.js
new file mode 100644
index 000000000..44f4718bf
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2024, The Commit Company and contributors
+// For license information, please see license.txt
+
+// frappe.ui.form.on("Raven Scheduler Event", {
+// refresh(frm) {
+
+// },
+// });
diff --git a/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.json b/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.json
new file mode 100644
index 000000000..6fcf5b030
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.json
@@ -0,0 +1,119 @@
+{
+ "actions": [],
+ "allow_rename": 1,
+ "autoname": "field:event_name",
+ "creation": "2024-02-23 13:05:16.692071",
+ "doctype": "DocType",
+ "engine": "InnoDB",
+ "field_order": [
+ "event_name",
+ "disabled",
+ "event_frequency",
+ "cron_expression",
+ "bot",
+ "column_break_pjem",
+ "send_to",
+ "channel",
+ "dm",
+ "content",
+ "scheduler_event_id"
+ ],
+ "fields": [
+ {
+ "fieldname": "event_name",
+ "fieldtype": "Data",
+ "in_list_view": 1,
+ "label": "Name",
+ "reqd": 1,
+ "unique": 1
+ },
+ {
+ "default": "0",
+ "fieldname": "disabled",
+ "fieldtype": "Check",
+ "label": "Disabled"
+ },
+ {
+ "fieldname": "event_frequency",
+ "fieldtype": "Select",
+ "label": "Event Frequency",
+ "options": "Every Day\nEvery Day of the week\nDate of the month\nCron"
+ },
+ {
+ "fieldname": "cron_expression",
+ "fieldtype": "Data",
+ "label": "CRON Expression"
+ },
+ {
+ "description": "This Bot will be used to send the message.",
+ "fieldname": "bot",
+ "fieldtype": "Link",
+ "label": "Bot",
+ "options": "Raven Bot",
+ "reqd": 1
+ },
+ {
+ "fieldname": "send_to",
+ "fieldtype": "Select",
+ "label": "Send to",
+ "options": "Channel\nDM"
+ },
+ {
+ "depends_on": "eval: doc.send_to === \"Channel\"",
+ "fieldname": "channel",
+ "fieldtype": "Link",
+ "label": "Channel",
+ "options": "Raven Channel",
+ "reqd": 1
+ },
+ {
+ "depends_on": "eval: doc.send_to === \"DM\"",
+ "fieldname": "dm",
+ "fieldtype": "Link",
+ "label": "DM",
+ "mandatory_depends_on": "eval: doc.send_to === \"DM\"",
+ "options": "Raven Channel"
+ },
+ {
+ "fieldname": "content",
+ "fieldtype": "Small Text",
+ "label": "Content",
+ "reqd": 1
+ },
+ {
+ "fieldname": "scheduler_event_id",
+ "fieldtype": "Link",
+ "label": "Scheduler Event ID",
+ "options": "Server Script"
+ },
+ {
+ "fieldname": "column_break_pjem",
+ "fieldtype": "Column Break"
+ }
+ ],
+ "index_web_pages_for_search": 1,
+ "links": [],
+ "modified": "2024-02-23 19:45:34.463902",
+ "modified_by": "Administrator",
+ "module": "Raven Integrations",
+ "name": "Raven Scheduler Event",
+ "naming_rule": "By fieldname",
+ "owner": "Administrator",
+ "permissions": [
+ {
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "share": 1,
+ "write": 1
+ }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": []
+}
\ No newline at end of file
diff --git a/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.py b/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.py
new file mode 100644
index 000000000..127fc204f
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_scheduler_event/raven_scheduler_event.py
@@ -0,0 +1,88 @@
+# Copyright (c) 2024, The Commit Company and contributors
+# For license information, please see license.txt
+
+import frappe
+from frappe.model.document import Document
+
+
+class RavenSchedulerEvent(Document):
+ # begin: auto-generated types
+ # This code is auto-generated. Do not modify anything in this block.
+
+ from typing import TYPE_CHECKING
+
+ if TYPE_CHECKING:
+ from frappe.types import DF
+
+ bot: DF.Link
+ channel: DF.Link
+ content: DF.SmallText
+ cron_expression: DF.Data | None
+ disabled: DF.Check
+ dm: DF.Link | None
+ event_frequency: DF.Literal["Every Day",
+ "Every Day of the week", "Date of the month", "Cron"]
+ event_name: DF.Data
+ scheduler_event_id: DF.Link | None
+ send_to: DF.Literal["Channel", "DM"]
+ # end: auto-generated types
+
+ def before_save(self):
+ '''
+ 1. If the 'scheduler_event_id' is not set, create a Server Script of type 'Scheduler Event' and set the 'scheduler_event_id' to the name of the Server Script.
+ '''
+ if not self.scheduler_event_id:
+ self.scheduler_event_id = self.create_scheduler_event()
+ else:
+ server_script = frappe.get_doc(
+ 'Server Script', self.scheduler_event_id)
+ server_script.cron_format = self.cron_expression
+ server_script.script = self.get_scheduler_event_script()
+ server_script.save()
+
+ def on_update(self):
+ '''
+ 1. If the 'scheduler_event_id' is set, and the 'disabled' field is updated, update the 'disabled' field of the Server Script of type 'Scheduler Event' with the name 'scheduler_event_id'.
+ '''
+ if self.scheduler_event_id:
+ server_script = frappe.get_doc(
+ 'Server Script', self.scheduler_event_id)
+ server_script.disabled = self.disabled
+ server_script.save()
+
+ def on_trash(self):
+ '''
+ 1. If the 'scheduler_event_id' is set, delete the Server Script of type 'Scheduler Event' with the name 'scheduler_event_id'.
+ '''
+ if self.scheduler_event_id:
+ frappe.delete_doc('Server Script', self.scheduler_event_id)
+
+ def create_scheduler_event(self):
+ '''
+ Create a Server Script of type 'Scheduler Event' and set the 'scheduler_event_id' to the name of the Server Script.
+ '''
+ server_script = frappe.get_doc({
+ 'doctype': 'Server Script',
+ 'script_type': 'Scheduler Event',
+ 'name': self.event_name,
+ 'disabled': 0,
+ 'event_frequency': 'Cron',
+ 'cron_format': self.cron_expression,
+ 'script': self.get_scheduler_event_script()
+ })
+ server_script.insert()
+ return server_script.name
+
+ def get_scheduler_event_script(self):
+ '''
+ Get the script for the Scheduler Event
+ '''
+ # bot = frappe.get_doc('Raven Bot', self.bot)
+ # bot.send_message(self.channel, {'text': self.content})
+ # return code snippet with bot & content as values
+ message = {'text': self.content}
+ script = f'''
+bot = frappe.get_doc('Raven Bot', '{self.bot}')\n
+bot.send_message('{self.channel}', {message})
+'''
+ return script
diff --git a/raven/raven_integrations/doctype/raven_scheduler_event/test_raven_scheduler_event.py b/raven/raven_integrations/doctype/raven_scheduler_event/test_raven_scheduler_event.py
new file mode 100644
index 000000000..72221b805
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_scheduler_event/test_raven_scheduler_event.py
@@ -0,0 +1,9 @@
+# Copyright (c) 2024, The Commit Company and Contributors
+# See license.txt
+
+# import frappe
+from frappe.tests.utils import FrappeTestCase
+
+
+class TestRavenSchedulerEvent(FrappeTestCase):
+ pass
diff --git a/raven/raven_integrations/doctype/raven_webhook/__init__.py b/raven/raven_integrations/doctype/raven_webhook/__init__.py
new file mode 100644
index 000000000..e69de29bb
diff --git a/raven/raven_integrations/doctype/raven_webhook/raven_webhook.js b/raven/raven_integrations/doctype/raven_webhook/raven_webhook.js
new file mode 100644
index 000000000..ef7657d47
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_webhook/raven_webhook.js
@@ -0,0 +1,8 @@
+// Copyright (c) 2024, The Commit Company and contributors
+// For license information, please see license.txt
+
+// frappe.ui.form.on("Raven Webhook", {
+// refresh(frm) {
+
+// },
+// });
diff --git a/raven/raven_integrations/doctype/raven_webhook/raven_webhook.json b/raven/raven_integrations/doctype/raven_webhook/raven_webhook.json
new file mode 100644
index 000000000..2fda1d97e
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_webhook/raven_webhook.json
@@ -0,0 +1,220 @@
+{
+ "actions": [],
+ "autoname": "prompt",
+ "creation": "2024-02-23 13:21:14.329211",
+ "default_view": "List",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+ "sb_doc_events",
+ "enabled",
+ "trigger_webhook_on_condition",
+ "channel_id",
+ "user",
+ "channel_type",
+ "condition",
+ "cb_condition",
+ "webhook_trigger",
+ "conditions_on",
+ "html_condition",
+ "sb_webhook",
+ "request_url",
+ "timeout",
+ "is_dynamic_url",
+ "cb_webhook",
+ "sb_security",
+ "enable_security",
+ "webhook_secret",
+ "sb_webhook_headers",
+ "webhook_headers",
+ "sb_webhook_data",
+ "webhook_data",
+ "webhook"
+ ],
+ "fields": [
+ {
+ "fieldname": "sb_doc_events",
+ "fieldtype": "Section Break",
+ "label": "Doc Events"
+ },
+ {
+ "default": "1",
+ "fieldname": "enabled",
+ "fieldtype": "Check",
+ "label": "Enabled"
+ },
+ {
+ "depends_on": "eval:doc.conditions_on === 'Custom'",
+ "description": "The webhook will be triggered if this expression is true",
+ "fieldname": "condition",
+ "fieldtype": "Small Text",
+ "label": "Condition",
+ "mandatory_depends_on": "eval:doc.conditions_on === 'Custom'"
+ },
+ {
+ "fieldname": "cb_condition",
+ "fieldtype": "Column Break"
+ },
+ {
+ "depends_on": "eval:doc.conditions_on === 'Custom'",
+ "fieldname": "html_condition",
+ "fieldtype": "HTML",
+ "options": "Condition Examples:
\ndoc.status==\"Open\" doc.due_date==nowdate() doc.total > 40000\n "
+ },
+ {
+ "fieldname": "sb_webhook",
+ "fieldtype": "Section Break",
+ "label": "Webhook Request"
+ },
+ {
+ "fieldname": "request_url",
+ "fieldtype": "Data",
+ "in_list_view": 1,
+ "label": "Request URL",
+ "reqd": 1
+ },
+ {
+ "default": "5",
+ "description": "The number of seconds until the request expires",
+ "fieldname": "timeout",
+ "fieldtype": "Int",
+ "label": "Request Timeout",
+ "reqd": 1
+ },
+ {
+ "default": "0",
+ "description": "On checking this option, URL will be treated like a jinja template string",
+ "fieldname": "is_dynamic_url",
+ "fieldtype": "Check",
+ "label": "Is Dynamic URL?"
+ },
+ {
+ "fieldname": "cb_webhook",
+ "fieldtype": "Column Break"
+ },
+ {
+ "fieldname": "sb_security",
+ "fieldtype": "Section Break",
+ "label": "Webhook Security"
+ },
+ {
+ "default": "0",
+ "fieldname": "enable_security",
+ "fieldtype": "Check",
+ "label": "Enable Security"
+ },
+ {
+ "depends_on": "eval:doc.enable_security == 1",
+ "fieldname": "webhook_secret",
+ "fieldtype": "Password",
+ "label": "Webhook Secret"
+ },
+ {
+ "fieldname": "sb_webhook_headers",
+ "fieldtype": "Section Break",
+ "label": "Webhook Headers"
+ },
+ {
+ "fieldname": "webhook_headers",
+ "fieldtype": "Table",
+ "label": "Headers",
+ "options": "Webhook Header"
+ },
+ {
+ "fieldname": "sb_webhook_data",
+ "fieldtype": "Section Break",
+ "label": "Webhook Data"
+ },
+ {
+ "depends_on": "eval: !doc.request_structure || doc.request_structure == \"Form URL-Encoded\"",
+ "fieldname": "webhook_data",
+ "fieldtype": "Table",
+ "label": "Data",
+ "options": "Webhook Data"
+ },
+ {
+ "fieldname": "webhook_trigger",
+ "fieldtype": "Select",
+ "label": "Webhook Trigger",
+ "options": "Message Sent\nMessage Edited\nMessage Deleted\nMessage Reacted On\nChannel Created\nChannel Deleted\nChannel Member Added\nChannel Member Deleted\nUser Added\nUser Deleted",
+ "reqd": 1,
+ "set_only_once": 1
+ },
+ {
+ "default": "0",
+ "fieldname": "trigger_webhook_on_condition",
+ "fieldtype": "Check",
+ "label": "Trigger Webhook on Condition"
+ },
+ {
+ "depends_on": "eval:doc.trigger_webhook_on_condition===1",
+ "fieldname": "conditions_on",
+ "fieldtype": "Select",
+ "label": "Conditions On",
+ "mandatory_depends_on": "eval:doc.trigger_webhook_on_condition===1",
+ "options": "\nChannel\nUser\nChannel Type\nCustom"
+ },
+ {
+ "depends_on": "eval:doc.conditions_on === 'Channel'",
+ "fieldname": "channel_id",
+ "fieldtype": "Link",
+ "label": "Channel",
+ "mandatory_depends_on": "eval:doc.conditions_on === 'Channel'",
+ "options": "Raven Channel"
+ },
+ {
+ "depends_on": "eval:doc.conditions_on === 'User'",
+ "fieldname": "user",
+ "fieldtype": "Link",
+ "label": "User",
+ "mandatory_depends_on": "eval:doc.conditions_on === 'User'",
+ "options": "Raven User"
+ },
+ {
+ "depends_on": "eval:doc.conditions_on ==='Channel Type'",
+ "fieldname": "channel_type",
+ "fieldtype": "Select",
+ "label": "Channel Type",
+ "mandatory_depends_on": "eval:doc.conditions_on ==='Channel Type'",
+ "options": "\nPublic\nPrivate\nOpen\nDM\nSelf Message"
+ },
+ {
+ "fieldname": "webhook",
+ "fieldtype": "Link",
+ "hidden": 1,
+ "label": "Webhook",
+ "options": "Webhook"
+ }
+ ],
+ "links": [
+ {
+ "link_doctype": "Webhook Request Log",
+ "link_fieldname": "webhook"
+ }
+ ],
+ "modified": "2024-02-23 18:29:18.230912",
+ "modified_by": "Administrator",
+ "module": "Raven Integrations",
+ "name": "Raven Webhook",
+ "naming_rule": "Set by user",
+ "owner": "Administrator",
+ "permissions": [
+ {
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "share": 1,
+ "write": 1
+ }
+ ],
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": [],
+ "track_changes": 1
+}
\ No newline at end of file
diff --git a/raven/raven_integrations/doctype/raven_webhook/raven_webhook.py b/raven/raven_integrations/doctype/raven_webhook/raven_webhook.py
new file mode 100644
index 000000000..862a5c49a
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_webhook/raven_webhook.py
@@ -0,0 +1,250 @@
+# Copyright (c) 2024, The Commit Company and contributors
+# For license information, please see license.txt
+
+import frappe
+from frappe.model.document import Document
+
+
+class RavenWebhook(Document):
+ # begin: auto-generated types
+ # This code is auto-generated. Do not modify anything in this block.
+
+ from typing import TYPE_CHECKING
+
+ if TYPE_CHECKING:
+ from frappe.integrations.doctype.webhook_data.webhook_data import WebhookData
+ from frappe.integrations.doctype.webhook_header.webhook_header import WebhookHeader
+ from frappe.types import DF
+
+ channel_id: DF.Link | None
+ channel_type: DF.Literal["", "Public",
+ "Private", "Open", "DM", "Self Message"]
+ condition: DF.SmallText | None
+ conditions_on: DF.Literal["", "Channel", "User", "Channel Type", "Custom"]
+ enable_security: DF.Check
+ enabled: DF.Check
+ is_dynamic_url: DF.Check
+ request_url: DF.Data
+ timeout: DF.Int
+ trigger_webhook_on_condition: DF.Check
+ user: DF.Link | None
+ webhook: DF.Link | None
+ webhook_data: DF.Table[WebhookData]
+ webhook_headers: DF.Table[WebhookHeader]
+ webhook_secret: DF.Password | None
+ webhook_trigger: DF.Literal["Message Sent", "Message Edited", "Message Deleted", "Message Reacted On",
+ "Channel Created", "Channel Deleted", "Channel Member Added", "Channel Member Deleted", "User Added", "User Deleted"]
+ # end: auto-generated types
+
+ def validate(self):
+ # 1. Check if webhook name is unique
+ # 2. Check if webhook_data and webhook_headers are unique
+
+
+
+ # 1. Check if webhook name is unique
+ webhook = frappe.get_all('Raven Webhook', filters={
+ 'webhook_name': self.name})
+ if webhook:
+ frappe.throw('Webhook name already exists')
+
+ # 2. Check if webhook_data and webhook_headers are unique
+ webhook_data_keys = [data.key for data in self.webhook_data]
+ webhook_header_keys = [data.key for data in self.webhook_headers]
+ if len(webhook_data_keys) != len(set(webhook_data_keys)):
+ frappe.throw('Webhook Data keys should be unique')
+ if len(webhook_header_keys) != len(set(webhook_header_keys)):
+ frappe.throw('Webhook Headers keys should be unique')
+
+ def before_save(self):
+ # 1. Check if webhook ID is exists
+ # 2. If exist then update the webhook
+ # 3. If not exist then create the webhook
+
+ # 1. Check if webhook ID is exists
+ if self.webhook:
+ # 2. Update the webhook
+ self.update_webhook()
+
+ else:
+ # 3. Create the webhook
+ self.create_webhook()
+
+
+ def on_trash(self):
+ # Delete the webhook
+ if self.webhook:
+ frappe.db.delete('Webhook', self.webhook)
+
+ def create_webhook(self):
+ # Create a new webhook
+
+ doctype, event = self.get_doctype_and_event()
+ conditions = self.get_conditions()
+ webhook_doc = frappe.new_doc('Webhook')
+ webhook_doc.name = self.name
+ webhook_doc.request_url = self.request_url
+ webhook_doc.is_dynamic_url = self.is_dynamic_url
+ webhook_doc.timeout = self.timeout
+ webhook_doc.enable_security = self.enable_security
+ webhook_doc.webhook_secret = self.webhook_secret
+ webhook_doc.request_method = 'POST'
+ webhook_doc.request_structure = 'Form URL-Encoded'
+ self.set_webhook_data_and_headers(webhook_doc)
+ webhook_doc.webhook_doctype = doctype
+ webhook_doc.webhook_docevent = event
+ webhook_doc.condition = conditions
+ webhook_doc.insert()
+ self.webhook = webhook_doc.name
+
+ def update_webhook(self):
+ # Update the webhook
+
+ conditions = self.get_conditions()
+ webhook_doc = frappe.get_doc('Webhook', self.webhook)
+ webhook_doc.request_url = self.request_url
+ webhook_doc.is_dynamic_url = self.is_dynamic_url
+ webhook_doc.timeout = self.timeout
+ webhook_doc.enable_security = self.enable_security
+ webhook_doc.webhook_secret = self.webhook_secret
+ webhook_doc.condition = conditions
+ self.set_webhook_data_and_headers(webhook_doc)
+ webhook_doc.save()
+
+ def set_webhook_data_and_headers(self, webhook_doc):
+ # Set the webhook data and headers
+
+ # get the existing webhook data and headers
+ webhook_header = webhook_doc.get('webhook_headers', [])
+ webhook_data = webhook_doc.get('webhook_data', [])
+
+ # get the existing webhook data and headers keys
+ webhook_data_keys = [data.key for data in self.webhook_data]
+ webhook_header_keys = [data.key for data in self.webhook_headers]
+
+ # remove the existing webhook data and headers
+ # which are not in the current webhook data and headers
+ # and append the new webhook data and headers
+ for data in self.webhook_data:
+ if data.key not in webhook_data_keys:
+ webhook_doc.append('webhook_data', {
+ 'key': data.key,
+ 'fieldname': data.fieldname,
+ })
+
+ for data in self.webhook_headers:
+ if data.key not in webhook_header_keys:
+ webhook_doc.append('webhook_headers', {
+ 'key': data.key,
+ 'value': data.value,
+ })
+
+ def get_doctype_and_event(self):
+ doctypes_and_events = [
+ {
+ 'label': 'Message Sent',
+ 'doctype': 'Raven Message',
+ 'event': 'after_insert',
+ },
+ {
+
+ 'label': 'Message Edited',
+ 'doctype': 'Raven Message',
+ 'event': 'on_update'
+ },
+ {
+
+ 'label': 'Message Deleted',
+ 'doctype': 'Raven Message',
+ 'event': 'on_trash'
+ },
+ {
+
+ 'label': 'Message Reacted On',
+ 'doctype': 'Raven Message Reaction',
+ 'event': 'after_insert'
+ },
+ {
+
+ 'label': 'Channel Created',
+ 'doctype': 'Raven Channel',
+ 'event': 'after_insert'
+ },
+ {
+
+ 'label': 'Channel Deleted',
+ 'doctype': 'Raven Channel',
+ 'event': 'on_trash'
+ },
+ {
+ 'label': 'Member Added to the Channel',
+ 'doctype': 'Raven Channel Member',
+ 'event': 'after_insert'
+ },
+ {
+ 'label': 'Member Deleted from the Channel',
+ 'doctype': 'Raven Channel Member',
+ 'event': 'on_trash'
+ },
+ {
+ 'label': 'User Added',
+ 'doctype': 'Raven User',
+ 'event': 'after_insert'
+ },
+ {
+ 'label': 'User Deleted',
+ 'doctype': 'Raven User',
+ 'event': 'on_trash'
+ }
+ ]
+ doctype, event = None, None
+ for doctype_and_event in doctypes_and_events:
+ if self.webhook_trigger == doctype_and_event['label']:
+ doctype = doctype_and_event['doctype']
+ event = doctype_and_event['event']
+ break
+ return doctype, event
+
+ def get_conditions(self):
+ # Get the conditions for the webhook
+ doctype, event = self.get_doctype_and_event()
+ if self.trigger_webhook_on_condition:
+ if self.conditions_on == 'Channel':
+ if doctype == 'Raven Channel':
+ # return 'doc.name == self.channel_id'
+ return f'doc.name == "{self.channel_id}"'
+ elif doctype == 'Raven Channel Member':
+ return f'doc.channel_id == "{self.channel_id}"'
+ elif doctype == 'Raven Message':
+ return f'doc.channel_id == "{self.channel_id}"'
+ elif doctype == 'Raven Message Reaction':
+ frappe.throw('Message Reaction cannot be triggered on Channel')
+ elif doctype == 'Raven User':
+ frappe.throw('Raven User cannot be triggered on Channel')
+
+ elif self.conditions_on == 'User':
+ if doctype == 'Raven Channel':
+ frappe.throw('Channel cannot be triggered on User')
+ elif doctype == 'Raven Channel Member':
+ return f'doc.user_id == "{self.user}"'
+ elif doctype == 'Raven Message':
+ return f'doc.owner == "{self.user}"'
+ elif doctype == 'Raven Message Reaction':
+ return f'doc.owner == "{self.user}"'
+
+ elif self.conditions_on == 'Channel Type':
+ if doctype == 'Raven Channel':
+ if self.channel_type in ['Public', 'Private', 'Open']:
+ return f'doc.type == "{self.channel_type}"'
+ elif self.channel_type == 'DM':
+ return f'doc.is_direct_message == 1'
+ elif self.channel_type == 'Self Message':
+ return f'doc.is_self_message == 1'
+ else:
+ frappe.throw('Invalid Channel Type')
+ else:
+ frappe.throw('Channel Type cannot be triggered on other doctypes')
+ elif self.conditions_on == 'Custom':
+ return self.condition
+
+ return None
diff --git a/raven/raven_integrations/doctype/raven_webhook/test_raven_webhook.py b/raven/raven_integrations/doctype/raven_webhook/test_raven_webhook.py
new file mode 100644
index 000000000..4c43f73d6
--- /dev/null
+++ b/raven/raven_integrations/doctype/raven_webhook/test_raven_webhook.py
@@ -0,0 +1,9 @@
+# Copyright (c) 2024, The Commit Company and Contributors
+# See license.txt
+
+# import frappe
+from frappe.tests.utils import FrappeTestCase
+
+
+class TestRavenWebhook(FrappeTestCase):
+ pass
diff --git a/raven/raven_messaging/doctype/raven_message/raven_message.json b/raven/raven_messaging/doctype/raven_message/raven_message.json
index 6c40b4c31..7d3fb1b74 100644
--- a/raven/raven_messaging/doctype/raven_message/raven_message.json
+++ b/raven/raven_messaging/doctype/raven_message/raven_message.json
@@ -1,197 +1,213 @@
{
- "actions": [],
- "allow_rename": 1,
- "autoname": "hash",
- "creation": "2023-02-12 17:29:25.498988",
- "default_view": "List",
- "doctype": "DocType",
- "editable_grid": 1,
- "engine": "InnoDB",
- "field_order": [
- "channel_id",
- "text",
- "json",
- "message_reactions",
- "is_reply",
- "linked_message",
- "replied_message_details",
- "column_break_wvje",
- "message_type",
- "content",
- "file",
- "image_width",
- "image_height",
- "file_thumbnail",
- "thumbnail_width",
- "thumbnail_height",
- "link_doctype",
- "link_document",
- "is_edited",
- "mentions",
- "poll_id"
- ],
- "fields": [
- {
- "fieldname": "channel_id",
- "fieldtype": "Link",
- "in_list_view": 1,
- "in_standard_filter": 1,
- "label": "Channel ID",
- "options": "Raven Channel",
- "reqd": 1,
- "search_index": 1
- },
- {
- "fieldname": "text",
- "fieldtype": "Long Text",
- "label": "Text"
- },
- {
- "fieldname": "json",
- "fieldtype": "JSON",
- "label": "JSON"
- },
- {
- "fieldname": "file",
- "fieldtype": "Attach",
- "label": "File"
- },
- {
- "fieldname": "message_type",
- "fieldtype": "Select",
- "label": "Message Type",
- "options": "Text\nImage\nFile\nPoll"
- },
- {
- "fieldname": "message_reactions",
- "fieldtype": "JSON",
- "label": "Message Reactions"
- },
- {
- "default": "0",
- "fieldname": "is_reply",
- "fieldtype": "Check",
- "label": "Is Reply"
- },
- {
- "fieldname": "linked_message",
- "fieldtype": "Link",
- "label": "Replied Message ID",
- "options": "Raven Message"
- },
- {
- "fieldname": "file_thumbnail",
- "fieldtype": "Attach",
- "label": "File Thumbnail"
- },
- {
- "fieldname": "image_width",
- "fieldtype": "Data",
- "label": "Image Width"
- },
- {
- "fieldname": "image_height",
- "fieldtype": "Data",
- "label": "Image Height"
- },
- {
- "fieldname": "thumbnail_width",
- "fieldtype": "Data",
- "label": "Thumbnail Width"
- },
- {
- "fieldname": "thumbnail_height",
- "fieldtype": "Data",
- "label": "Thumbnail Height"
- },
- {
- "fieldname": "link_doctype",
- "fieldtype": "Link",
- "label": "Link Doctype",
- "options": "DocType"
- },
- {
- "fieldname": "link_document",
- "fieldtype": "Dynamic Link",
- "label": "Link Document",
- "options": "link_doctype"
- },
- {
- "fieldname": "content",
- "fieldtype": "Long Text",
- "label": "Content",
- "read_only": 1
- },
- {
- "default": "0",
- "fieldname": "is_edited",
- "fieldtype": "Check",
- "label": "Is Edited"
- },
- {
- "fieldname": "column_break_wvje",
- "fieldtype": "Column Break"
- },
- {
- "fieldname": "replied_message_details",
- "fieldtype": "JSON",
- "label": "Replied Message Details"
- },
- {
- "fieldname": "mentions",
- "fieldtype": "Table",
- "label": "Mentions",
- "options": "Raven Mention"
- },
- {
- "fieldname": "poll_id",
- "fieldtype": "Link",
- "label": "Poll ID",
- "options": "Raven Poll",
- "unique": 1
- }
- ],
- "index_web_pages_for_search": 1,
- "links": [],
- "modified": "2024-03-22 20:32:00.832777",
- "modified_by": "Administrator",
- "module": "Raven Messaging",
- "name": "Raven Message",
- "naming_rule": "Random",
- "owner": "Administrator",
- "permissions": [
- {
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "print": 1,
- "read": 1,
- "report": 1,
- "role": "System Manager",
- "select": 1,
- "share": 1,
- "write": 1
- },
- {
- "create": 1,
- "delete": 1,
- "email": 1,
- "export": 1,
- "if_owner": 1,
- "print": 1,
- "report": 1,
- "role": "Raven User",
- "share": 1,
- "write": 1
- },
- {
- "read": 1,
- "role": "Raven User"
- }
- ],
- "search_fields": "text",
- "sort_field": "modified",
- "sort_order": "DESC",
- "states": []
+ "actions": [],
+ "allow_rename": 1,
+ "autoname": "hash",
+ "creation": "2023-02-12 17:29:25.498988",
+ "default_view": "List",
+ "doctype": "DocType",
+ "editable_grid": 1,
+ "engine": "InnoDB",
+ "field_order": [
+ "channel_id",
+ "text",
+ "json",
+ "message_reactions",
+ "is_reply",
+ "linked_message",
+ "replied_message_details",
+ "column_break_wvje",
+ "message_type",
+ "content",
+ "file",
+ "image_width",
+ "image_height",
+ "file_thumbnail",
+ "thumbnail_width",
+ "thumbnail_height",
+ "link_doctype",
+ "link_document",
+ "is_edited",
+ "mentions",
+ "poll_id",
+ "is_bot_message",
+ "bot"
+ ],
+ "fields": [
+ {
+ "fieldname": "channel_id",
+ "fieldtype": "Link",
+ "in_list_view": 1,
+ "in_standard_filter": 1,
+ "label": "Channel ID",
+ "options": "Raven Channel",
+ "reqd": 1,
+ "search_index": 1
+ },
+ {
+ "fieldname": "text",
+ "fieldtype": "Long Text",
+ "label": "Text"
+ },
+ {
+ "fieldname": "json",
+ "fieldtype": "JSON",
+ "label": "JSON"
+ },
+ {
+ "fieldname": "file",
+ "fieldtype": "Attach",
+ "label": "File"
+ },
+ {
+ "fieldname": "message_type",
+ "fieldtype": "Select",
+ "label": "Message Type",
+ "options": "Text\nImage\nFile\nPoll"
+ },
+ {
+ "fieldname": "message_reactions",
+ "fieldtype": "JSON",
+ "label": "Message Reactions"
+ },
+ {
+ "default": "0",
+ "fieldname": "is_reply",
+ "fieldtype": "Check",
+ "label": "Is Reply"
+ },
+ {
+ "fieldname": "linked_message",
+ "fieldtype": "Link",
+ "label": "Replied Message ID",
+ "options": "Raven Message"
+ },
+ {
+ "fieldname": "file_thumbnail",
+ "fieldtype": "Attach",
+ "label": "File Thumbnail"
+ },
+ {
+ "fieldname": "image_width",
+ "fieldtype": "Data",
+ "label": "Image Width"
+ },
+ {
+ "fieldname": "image_height",
+ "fieldtype": "Data",
+ "label": "Image Height"
+ },
+ {
+ "fieldname": "thumbnail_width",
+ "fieldtype": "Data",
+ "label": "Thumbnail Width"
+ },
+ {
+ "fieldname": "thumbnail_height",
+ "fieldtype": "Data",
+ "label": "Thumbnail Height"
+ },
+ {
+ "fieldname": "link_doctype",
+ "fieldtype": "Link",
+ "label": "Link Doctype",
+ "options": "DocType"
+ },
+ {
+ "fieldname": "link_document",
+ "fieldtype": "Dynamic Link",
+ "label": "Link Document",
+ "options": "link_doctype"
+ },
+ {
+ "default": "0",
+ "fieldname": "is_bot_message",
+ "fieldtype": "Check",
+ "label": "Is Bot Message"
+ },
+ {
+ "depends_on": "eval: doc.is_bot_message == 1",
+ "fieldname": "bot",
+ "fieldtype": "Link",
+ "label": "Bot",
+ "mandatory_depends_on": "eval: doc.is_bot_message == 1",
+ "options": "Raven User"
+ },
+ {
+ "fieldname": "content",
+ "fieldtype": "Long Text",
+ "label": "Content",
+ "read_only": 1
+ },
+ {
+ "default": "0",
+ "fieldname": "is_edited",
+ "fieldtype": "Check",
+ "label": "Is Edited"
+ },
+ {
+ "fieldname": "column_break_wvje",
+ "fieldtype": "Column Break"
+ },
+ {
+ "fieldname": "replied_message_details",
+ "fieldtype": "JSON",
+ "label": "Replied Message Details"
+ },
+ {
+ "fieldname": "mentions",
+ "fieldtype": "Table",
+ "label": "Mentions",
+ "options": "Raven Mention"
+ },
+ {
+ "fieldname": "poll_id",
+ "fieldtype": "Link",
+ "label": "Poll ID",
+ "options": "Raven Poll",
+ "unique": 1
+ }
+ ],
+ "index_web_pages_for_search": 1,
+ "links": [],
+ "modified": "2024-03-30 15:32:15.182210",
+ "modified_by": "Administrator",
+ "module": "Raven Messaging",
+ "name": "Raven Message",
+ "naming_rule": "Random",
+ "owner": "Administrator",
+ "permissions": [
+ {
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "print": 1,
+ "read": 1,
+ "report": 1,
+ "role": "System Manager",
+ "select": 1,
+ "share": 1,
+ "write": 1
+ },
+ {
+ "create": 1,
+ "delete": 1,
+ "email": 1,
+ "export": 1,
+ "if_owner": 1,
+ "print": 1,
+ "report": 1,
+ "role": "Raven User",
+ "share": 1,
+ "write": 1
+ },
+ {
+ "read": 1,
+ "role": "Raven User"
+ }
+ ],
+ "search_fields": "text",
+ "sort_field": "modified",
+ "sort_order": "DESC",
+ "states": []
}
\ No newline at end of file
diff --git a/raven/raven_messaging/doctype/raven_message/raven_message.py b/raven/raven_messaging/doctype/raven_message/raven_message.py
index 5c89358f6..ff83a6bc2 100644
--- a/raven/raven_messaging/doctype/raven_message/raven_message.py
+++ b/raven/raven_messaging/doctype/raven_message/raven_message.py
@@ -6,7 +6,9 @@
from frappe import _
from frappe.core.utils import html2text
from frappe.model.document import Document
+from frappe.utils.data import get_timestamp
+from raven.notification import send_notification_to_topic, send_notification_to_user
from raven.utils import track_channel_visit
@@ -20,12 +22,14 @@ class RavenMessage(Document):
from frappe.types import DF
from raven.raven_messaging.doctype.raven_mention.raven_mention import RavenMention
+ bot: DF.Link | None
channel_id: DF.Link
content: DF.LongText | None
file: DF.Attach | None
file_thumbnail: DF.Attach | None
image_height: DF.Data | None
image_width: DF.Data | None
+ is_bot_message: DF.Check
is_edited: DF.Check
is_reply: DF.Check
json: DF.JSON | None
@@ -74,7 +78,9 @@ def validate_linked_message(self):
If there is a linked message, the linked message should be in the same channel
"""
if self.linked_message:
- if frappe.db.get_value("Raven Message", self.linked_message, "channel_id") != self.channel_id:
+ if (
+ frappe.get_cached_value("Raven Message", self.linked_message, "channel_id") != self.channel_id
+ ):
frappe.throw(_("Linked message should be in the same channel"))
def validate_poll_id(self):
@@ -159,7 +165,111 @@ def process_mentions(self):
if user_id and user_id not in entered_ids:
self.append("mentions", {"user": user_id})
entered_ids.add(user_id)
- self.send_notification_for_mentions(user_id)
+
+ def send_push_notification(self):
+ # TODO: Send Push Notification for the following:
+ # 1. If the message is a direct message, send a push notification to the other user
+ # 2. If the message has mentions, send a push notification to the mentioned users if they belong to the channel
+ # 3. If the message is a reply, send a push notification to the user who is being replied to
+ # 4. If the message is in a channel, send a push notification to all the users in the channel (topic)
+ is_direct_message = frappe.get_cached_value(
+ "Raven Channel", self.channel_id, "is_direct_message"
+ )
+
+ if is_direct_message:
+ is_self_message = frappe.get_cached_value(
+ "Raven Channel Member", self.channel_id, "is_self_message"
+ )
+ if not is_self_message:
+ # The message was sent on a direct message channel
+ self.send_notification_for_direct_message()
+ else:
+ # The message was sent on a channel
+ self.send_notification_for_channel_message()
+ # channel_type = frappe.get_cached_value("Raven Channel", self.channel_id, "channel_type")
+
+ def get_notification_message_content(self):
+ """
+ Gets the content of the message for the push notification
+ """
+ if self.message_type == "File":
+ file_name = self.file.split("/")[-1]
+ return f"📄 Sent a file - {file_name}"
+ elif self.message_type == "Image":
+ return "📷 Sent a photo"
+ elif self.message_type == "Poll":
+ return "📊 Sent a poll"
+ elif self.text:
+ # Check if the message is a GIF
+ if " str:
+ """
+ Get the Raven User ID of a user
+ """
+ # TODO: Run this via cache
+ return frappe.db.get_value("Raven User", {"user": user_id}, "name")
diff --git a/raven/www/raven.py b/raven/www/raven.py
index b8042cb1c..5ed720f99 100644
--- a/raven/www/raven.py
+++ b/raven/www/raven.py
@@ -36,6 +36,14 @@ def get_context(context):
{"build_version": frappe.utils.get_build_version(), "boot": boot_json, "csrf_token": csrf_token}
)
+ app_name = frappe.get_website_settings("app_name") or frappe.get_system_settings("app_name")
+
+ if app_name and app_name != "Frappe":
+ context["app_name"] = app_name + " | " + "Raven"
+
+ else:
+ context["app_name"] = "Raven"
+
if frappe.session.user != "Guest":
capture("active_site", "raven")
diff --git a/raven/www/raven_mobile.py b/raven/www/raven_mobile.py
index 1db1474e7..b44a5a714 100644
--- a/raven/www/raven_mobile.py
+++ b/raven/www/raven_mobile.py
@@ -34,6 +34,14 @@ def get_context(context):
{"build_version": frappe.utils.get_build_version(), "boot": boot_json, "csrf_token": csrf_token}
)
+ app_name = frappe.get_website_settings("app_name") or frappe.get_system_settings("app_name")
+
+ if app_name and app_name != "Frappe":
+ context["app_name"] = app_name + " | " + "Raven"
+
+ else:
+ context["app_name"] = "Raven"
+
if frappe.session.user != "Guest":
capture("active_site:mobile", "raven")
diff --git a/types/Messaging/Message.ts b/types/Messaging/Message.ts
index b9b666fe1..9c844df1f 100644
--- a/types/Messaging/Message.ts
+++ b/types/Messaging/Message.ts
@@ -18,6 +18,8 @@ export interface BaseMessage {
/** JSON as string */
replied_message_details?: string,
poll_id?: string
+ is_bot_message?: 1 | 0,
+ bot?: string
}
export interface FileMessage extends BaseMessage {