diff --git a/index.html b/index.html index 47a34123..7fc65893 100644 --- a/index.html +++ b/index.html @@ -20,6 +20,7 @@ body { margin: 0; } + /* Fix modal positioning in the viewport */ #initSpinner { height: 100vh; @@ -37,6 +38,7 @@ #hubspot-messages-iframe-container { color-scheme: light; } + diff --git a/package.json b/package.json index 2a9516bd..c2abaf06 100644 --- a/package.json +++ b/package.json @@ -27,6 +27,7 @@ "echarts": "^5.5.1", "echarts-for-react": "^3.0.2", "elt-react-credit-cards": "^0.0.1", + "framer-motion": "^12.4.7", "i18next": "^23.15.1", "mixpanel-browser": "^2.55.1", "qs": "^6.13.0", @@ -38,6 +39,7 @@ "react-i18next": "^15.0.2", "react-infinite-scroll-component": "^6.1.0", "react-insta-stories": "^2.7.0", + "react-joyride": "^2.9.3", "react-redux": "^9.1.2", "react-responsive": "^10.0.0", "react-router-dom": "^6.26.2", diff --git a/src/App.tsx b/src/App.tsx index babdcd59..71fa94a3 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -10,13 +10,11 @@ import 'typeface-lato'; import { AppRouter } from './components/router/AppRouter'; import { useLanguage } from './hooks/useLanguage'; import { useThemeWatcher } from './hooks/useThemeWatcher'; -import { useAppDispatch, useAppSelector } from './hooks/reduxHooks'; +import { useAppSelector } from './hooks/reduxHooks'; import { themeObject } from './styles/themes/themeVariables'; import { getThemeConfig } from './styles/themeConfig'; import { trackClicks } from './config/mixpanel'; import { trackGAClicks } from './config/ga'; -import { reloadUserProfile } from './api/user.api'; -import { setUser } from './store/slices/userSlice'; const App: React.FC = () => { const { language } = useLanguage(); @@ -24,21 +22,11 @@ const App: React.FC = () => { const user = useAppSelector(state => state.user.user); const currentTheme = themeObject[theme]; const themeConfig = React.useMemo(() => getThemeConfig(currentTheme), [currentTheme]); - const dispatch = useAppDispatch(); - - useEffect(() => { - if (!user) return; - - reloadUserProfile() - .then((data) => dispatch(setUser(data))) - .catch((err) => console.error(err)); - }, [dispatch]); - useEffect(() => { document.addEventListener('click', event => trackClicks(event, user)); return () => document.removeEventListener('click', event => trackClicks(event, user)); - }, [user]); + }, []); useEffect(() => { document.addEventListener('click', trackGAClicks); diff --git a/src/api/apiToken.api.ts b/src/api/apiToken.api.ts index 6d62a550..074bf9ba 100644 --- a/src/api/apiToken.api.ts +++ b/src/api/apiToken.api.ts @@ -11,6 +11,7 @@ export interface ApiTableRow { key: string; isActive: boolean; createdAt: Date; + updatedAt: Date; } export interface Pagination { @@ -50,18 +51,20 @@ export const toggleApiToken = (id: number): Promise> => export const getApiTableData = (pagination: Pagination): Promise => { return new Promise((res) => { - const noPrevData = { + const noPrevData: ApiTableRow = { id: -1, - key: "No API key found, please click an 'Create' button to generate one.", + key: "No API key found, please click on 'Create' button to generate one.", createdAt: new Date(), isActive: false, + updatedAt: new Date(), }; - const addLastEntry = { + const addFirstEntry: ApiTableRow = { id: -1, - key: "Please click an 'Create' button to generate one.", + key: "Please click on 'Create' button to generate one.", createdAt: new Date(), isActive: false, + updatedAt: new Date(), }; getAllApiToken() @@ -69,7 +72,8 @@ export const getApiTableData = (pagination: Pagination): Promise = if (resp.length === 0) { resp.push(noPrevData); } else { - resp.push(addLastEntry); + /// + resp.unshift(addFirstEntry); } res({ diff --git a/src/api/user.api.ts b/src/api/user.api.ts index d18f0dc7..001fc8f6 100644 --- a/src/api/user.api.ts +++ b/src/api/user.api.ts @@ -2,7 +2,13 @@ import httpApi from '@app/api/http.api'; import { UserModel } from '@app/domain/UserModel'; import { UserUpdateModel } from '@app/domain/UserUpdateModel'; -export const updateUserProfile = (userPayload: UserUpdateModel): Promise => - httpApi.put(`/v1/users`, { ...userPayload }).then(({ data }) => data); +export const updateUserProfile = (userPayload: UserUpdateModel): Promise =>{ + console.log(userPayload) + if (!userPayload) { + console.error('User payload is required'); + throw new Error('User payload is required'); + } + return httpApi.put(`/v1/users`, { ...userPayload }).then(({ data }) => data); +} export const reloadUserProfile = (): Promise => httpApi.get('v1/user').then(({ data }) => data); diff --git a/src/assets/images/login.webp b/src/assets/images/login.webp new file mode 100644 index 00000000..ec321a47 Binary files /dev/null and b/src/assets/images/login.webp differ diff --git a/src/components/apiKeys/ApiKeys.tsx b/src/components/apiKeys/ApiKeys.tsx index afcebc81..77c70bc2 100644 --- a/src/components/apiKeys/ApiKeys.tsx +++ b/src/components/apiKeys/ApiKeys.tsx @@ -1,6 +1,5 @@ import { useAppSelector } from '@app/hooks/reduxHooks'; import { useResponsive } from '@app/hooks/useResponsive'; -import { BaseCard } from '../common/BaseCard/BaseCard'; import { ApiKeyTable } from './apiKeysTable/ApiKeysTable'; import { BaseRow } from '../common/BaseRow/BaseRow'; import { BaseCol } from '../common/BaseCol/BaseCol'; @@ -13,9 +12,7 @@ export const ApiKeys: React.FC = () => { if (!user) return null; const content = ( - - ); return isDesktop ? ( diff --git a/src/components/apiKeys/apiKeysTable/ActionRow.tsx b/src/components/apiKeys/apiKeysTable/ActionRow.tsx new file mode 100644 index 00000000..04f2190b --- /dev/null +++ b/src/components/apiKeys/apiKeysTable/ActionRow.tsx @@ -0,0 +1,58 @@ +import { DeleteOutlined, CheckCircleOutlined, StopOutlined } from '@ant-design/icons'; +import React from 'react'; +import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; +import { ActionRowContainer } from './ApiKeysTable.style'; +import { ApiTableRow } from '@app/api/apiToken.api'; + +interface ActionRowProps { + record: ApiTableRow; + handleToggleRow: (id: number) => void; + handleDeleteRow: (id: number) => void; + isCreating?: boolean; // If record.id === -1 + t: (key: string) => string; +} + +export const ActionRow: React.FC = ({ + record, + handleToggleRow, + handleDeleteRow, + isCreating, + t +}) => { + if (isCreating) { + // If your record has id === -1, you might show a "Create" button or something else + return ( + + handleToggleRow(record.id)}> + {t('apiTable.create')} + + + ); + } + + // Normal row: show activate/deactivate and delete + return ( + + handleToggleRow(record.id)} + icon={record.isActive ? : } + style={{color: !record.isActive ? '' : '#777777'}} + > + {record.isActive ? t('apiTable.deactivate') : t('apiTable.activate')} + + +
+ + handleDeleteRow(record.id)} + icon={} + > + {t('apiTable.delete')} + + + ); +}; diff --git a/src/components/apiKeys/apiKeysTable/ApiKeysTable.style.ts b/src/components/apiKeys/apiKeysTable/ApiKeysTable.style.ts new file mode 100644 index 00000000..b899d5a5 --- /dev/null +++ b/src/components/apiKeys/apiKeysTable/ApiKeysTable.style.ts @@ -0,0 +1,46 @@ +// ApiKeyTable.styles.ts (example filename) +import styled from 'styled-components'; + +export const ActionRowContainer = styled.div` + display: flex; + align-items: center; + justify-content: center; /* center in the column */ + gap: 1rem; /* space between buttons */ + padding: 0.5rem 1rem; + border-radius: 8px; + + /* Eye-catching gradient for the action area */ +// background: unset; + + /* Optional subtle shadow for a “raised” look */ +// box-shadow: 0 3px 6px rgba(0, 0, 0, 0.15); + + /* A small vertical divider between activate/deactivate and delete */ + .divider { + width: 1px; + height: 24px; + background-color: rgba(255, 255, 255, 0.5); + } + + /* Style the buttons to match the gradient background */ + .action-btn { + color: #fff; + border: none; + transition: background-color 0.2s, color 0.2s; + + &:hover { + background-color: rgba(255, 255, 255, 0.15); + color: #fff; + } + + /* For “danger” or “delete” buttons, you might want a slight + variation in color or an icon. (Example: a red accent.) + */ + &.delete-btn { + background-color: rgba(255, 0, 0, 0.2); + &:hover { + background-color: rgba(255, 0, 0, 0.3); + } + } + } +`; diff --git a/src/components/apiKeys/apiKeysTable/ApiKeysTable.tsx b/src/components/apiKeys/apiKeysTable/ApiKeysTable.tsx index 9d9cc3b7..a343f522 100644 --- a/src/components/apiKeys/apiKeysTable/ApiKeysTable.tsx +++ b/src/components/apiKeys/apiKeysTable/ApiKeysTable.tsx @@ -1,13 +1,10 @@ import { ApiTableRow, - Pagination, createApiToken, deleteApiToken, getApiTableData, toggleApiToken, } from '@app/api/apiToken.api'; -import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; -import { BaseSpace } from '@app/components/common/BaseSpace/BaseSpace'; import { BaseTable } from '@app/components/common/BaseTable/BaseTable'; import { useFeedback } from '@app/hooks/useFeedback'; import { useMounted } from '@app/hooks/useMounted'; @@ -15,43 +12,31 @@ import { ColumnsType } from 'antd/es/table'; import dayjs from 'dayjs'; import { useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; - -const initialPagination: Pagination = { - current: 1, - pageSize: 5, -}; +import { ActionRow } from './ActionRow'; export const ApiKeyTable: React.FC = () => { - const [tableData, setTableData] = useState<{ data: ApiTableRow[]; pagination: Pagination; loading: boolean }>({ + const [tableData, setTableData] = useState<{ data: ApiTableRow[]; loading: boolean }>({ data: [], - pagination: initialPagination, loading: false, }); const { t } = useTranslation(); const { isMounted } = useMounted(); const { notification } = useFeedback(); - const fetchData = useCallback( - (pagination: Pagination) => { - setTableData((prev) => ({ ...prev, loading: true })); + const fetchData = useCallback(() => { + setTableData((prev) => ({ ...prev, loading: true })); - getApiTableData(pagination).then((res) => { - if (isMounted.current) { - setTableData({ data: res.data, pagination: res.pagination, loading: false }); - } - }); - }, - [isMounted], - ); + getApiTableData().then((res) => { + if (isMounted.current) { + setTableData({ data: res.data, loading: false }); + } + }); + }, [isMounted]); useEffect(() => { - fetchData(initialPagination); + fetchData(); }, [fetch]); - const handleTableChange = (pagination: Pagination) => { - fetchData(pagination); - }; - const handleCreateRow = () => { createApiToken() .then((resp) => { @@ -61,10 +46,6 @@ export const ApiKeyTable: React.FC = () => { return { ...prev, data: updatedData, - pagination: { - ...prev.pagination, - total: prev.pagination.total ? prev.pagination.total + 1 : prev.pagination.total, - }, }; }); @@ -76,6 +57,10 @@ export const ApiKeyTable: React.FC = () => { }; const handleToggleRow = (rowId: number) => { + if (rowId === -1) { + handleCreateRow(); + return; + } toggleApiToken(rowId) .then((resp) => { setTableData((prev) => ({ @@ -96,10 +81,6 @@ export const ApiKeyTable: React.FC = () => { setTableData((prev) => ({ ...prev, data: prev.data.filter((token) => token.id !== rowId), - pagination: { - ...prev.pagination, - total: prev.pagination.total ? prev.pagination.total - 1 : prev.pagination.total, - }, })); notification.success({ message: t('apiTable.deleteMessage', { key: resp.key }) }); @@ -113,10 +94,6 @@ export const ApiKeyTable: React.FC = () => { setTableData((prev) => ({ ...prev, data: prev.data.filter((token) => token.id !== rowId), - pagination: { - ...prev.pagination, - total: prev.pagination.total ? prev.pagination.total - 1 : prev.pagination.total, - }, })); notification.success({ message: t('apiTable.deleteTempMessage') }); @@ -127,48 +104,53 @@ export const ApiKeyTable: React.FC = () => { { title: t('apiTable.key'), dataIndex: 'key', - render: (text: string) => {text}, + render: (text: string, record) => { + return record.isActive ?{text} : {text}; + }, + }, + { + title: t('apiTable.lastUsed'), + dataIndex: 'updatedAt', + render: (text: string, record: ApiTableRow) => + record.isActive ?(record.id !== -1 ? {dayjs(text).format('DD-MM-YYYY HH:mm')} : ): (record.id !== -1 ? {dayjs(text).format('DD-MM-YYYY HH:mm')} : ), }, { title: t('apiTable.createdAt'), dataIndex: 'createdAt', render: (text: string, record: ApiTableRow) => - record.id !== -1 ? {dayjs(text).format('DD-MM-YYYY HH:mm:ss')} : , + record.isActive ?(record.id !== -1 ? {dayjs(text).format('DD-MM-YYYY HH:mm')} : ): (record.id !== -1 ? {dayjs(text).format('DD-MM-YYYY HH:mm')} : ), }, { title: t('apiTable.actions'), dataIndex: 'actions', width: '15%', - render: (_, record) => ( - - {record.id === -1 ? ( - handleCreateRow()}> - {t('apiTable.create')} - - ) : ( - <> - handleToggleRow(record.id)}> - {record.isActive ? t('apiTable.deactivate') : t('apiTable.activate')} - - handleDeleteRow(record.id)}> - {t('apiTable.delete')} - - - )} - - ), - }, + render: (_, record) => { + const isCreating = record.id === -1; + return ( + ); + }, + } ]; + if (!tableData.loading && !tableData.data.length) { + return
Please click on 'Create' button to generate one.
; + } + return ( record.id} columns={columns} dataSource={tableData.data} - pagination={tableData.pagination} loading={tableData.loading} - onChange={handleTableChange} + pagination={false} scroll={{ x: 800 }} - bordered + style={{ padding: '2rem' }} /> ); }; diff --git a/src/components/auth/LoginForm/LoginForm.tsx b/src/components/auth/LoginForm/LoginForm.tsx index 75d1ebec..1117f170 100644 --- a/src/components/auth/LoginForm/LoginForm.tsx +++ b/src/components/auth/LoginForm/LoginForm.tsx @@ -93,43 +93,8 @@ export const LoginForm: React.FC = () => { password: '', }} > - {t('auth.common.login')} - {t('auth.login.loginInfo')} - - - - - - - - - - {t('auth.login.rememberMe')} - - - - {t('auth.common.forgotPass')} - - - - - {t('auth.common.login')} - - + {t('auth.common.login')} +
diff --git a/src/components/auth/SecurityCodeForm/SecurityCodeForm.styles.ts b/src/components/auth/SecurityCodeForm/SecurityCodeForm.styles.ts index 0a0c8b2f..0caef666 100644 --- a/src/components/auth/SecurityCodeForm/SecurityCodeForm.styles.ts +++ b/src/components/auth/SecurityCodeForm/SecurityCodeForm.styles.ts @@ -21,7 +21,6 @@ export const VerifyEmailDescription = styled.div` `; export const NoCodeText = styled.div` - margin-top: 1rem; color: ${({ theme }) => theme.primary}; font-size: ${({ theme }) => theme.fontSizes.xs}; font-weight: ${({ theme }) => theme.fontWeights.regular}; diff --git a/src/components/auth/SecurityCodeForm/SecurityCodeForm.tsx b/src/components/auth/SecurityCodeForm/SecurityCodeForm.tsx index 171f7481..6b2876e6 100644 --- a/src/components/auth/SecurityCodeForm/SecurityCodeForm.tsx +++ b/src/components/auth/SecurityCodeForm/SecurityCodeForm.tsx @@ -126,6 +126,7 @@ export const SecurityCodeForm: React.FC = ({ ) : ( )} +

onResendCode?.()}> {t('auth.securityCodeNoCode')} diff --git a/src/components/auth/SignUpForm/SignUpForm.tsx b/src/components/auth/SignUpForm/SignUpForm.tsx index cb858af1..28f7929c 100644 --- a/src/components/auth/SignUpForm/SignUpForm.tsx +++ b/src/components/auth/SignUpForm/SignUpForm.tsx @@ -95,62 +95,8 @@ export const SignUpForm: React.FC = () => { requiredMark="optional" initialValues={initValues} > - {t('auth.common.signUp')} - - - - - - - - - - - - - - - - - {t('auth.signup.agree')}{' '} - - {t('auth.signup.termOfUse')} - {' '} - {t('auth.signup.and')}{' '} - - {t('auth.signup.privacyOPolicy')} - - - - - - - - {t('auth.common.signUp')} - - + {t('auth.common.signUp')} +
@@ -175,7 +121,9 @@ export const SignUpForm: React.FC = () => { {t('auth.signup.bitbucketLink')} + + {t('auth.signup.alreadyHaveAccount')}{' '} @@ -183,6 +131,18 @@ export const SignUpForm: React.FC = () => { + + + {t('auth.signup.agree')}{' '} + + {t('auth.signup.termOfUse')} + {' '} + {t('auth.signup.and')}{' '} + + {t('auth.signup.privacyOPolicy')} + + + ); diff --git a/src/components/common/BaseButton/BaseButton.styles.ts b/src/components/common/BaseButton/BaseButton.styles.ts index b94d70cf..f6f4666f 100644 --- a/src/components/common/BaseButton/BaseButton.styles.ts +++ b/src/components/common/BaseButton/BaseButton.styles.ts @@ -1,105 +1,52 @@ -import styled, { css } from 'styled-components'; +// BaseButton.styles.ts +import styled from 'styled-components'; import { Button as AntButton } from 'antd'; -import { Severity } from '@app/interfaces/interfaces'; -import { colorTypeFrom } from '@app/utils/utils'; -interface BtnProps { - $severity?: Severity; - $noStyle?: boolean; -} - -export const Button = styled(AntButton)` - display: flex; - align-items: center; - justify-content: center; - gap: 0.3rem; - transition-duration: 0.3s; - font-weight: ${({ theme }) => theme.fontWeights.semibold}; - box-shadow: none; - - ${(props) => - props.$noStyle && - css` - width: unset; - padding: 0; - height: unset; - `} - - ${(props) => - !props.danger && - css` - &.ant-btn-background-ghost { - color: ${props.theme.primary}; - border-color: ${props.theme.primary}; - - &:disabled { - background-color: ${props.theme.disabledBg}; - } - } - - &.ant-btn-link { - span, - a { - text-decoration: underline; - } - } - - &:focus, - &:not(:disabled):hover { - &.ant-btn-default, - &.ant-btn-dashed { - color: ${props.theme.primary5}; - border-color: ${props.theme.primary5}; - } - } - - &:focus { - &.ant-btn-link, - &.ant-btn-background-ghost { - color: ${props.theme.primary5}; - } - - &.ant-btn-primary { - background-color: ${props.theme.primary5}; - } - - &.ant-btn-primary, - &.ant-btn-background-ghost { - border-color: ${props.theme.primary5}; - } - } - - &:not(:disabled):hover { - &.ant-btn-primary { - background-color: ${props.theme.secondary}; - } - - &.ant-btn-text, - &.ant-btn-background-ghost { - color: ${props.theme.secondary}; - background-color: transparent; - } - - &.ant-btn-primary, - &.ant-btn-background-ghost { - border-color: ${props.theme.secondary}; - } - } - - ${props.$severity && - css` - background-color: rgba(${props.theme.rgb[colorTypeFrom(props.$severity)]}, 0.2); - border-color: ${props.theme[colorTypeFrom(props.$severity)]}; - color: ${props.theme[colorTypeFrom(props.$severity)]}; - - &.ant-btn-default { - &:focus, - &:not(:disabled):hover { - background-color: ${props.theme.background}; - border-color: rgba(${props.theme.rgb[colorTypeFrom(props.$severity)]}, 0.9); - color: rgba(${props.theme.rgb[colorTypeFrom(props.$severity)]}, 0.9); - } - } - `} - `} -`; +export const Button = styled(AntButton)` + && { + padding: 0 24px; + border: none; + border-radius: 20px; + background: #2a2a2a; + color: #e0e0e0; + box-shadow: 5px 5px 10px #1f1f1f, + -5px -5px 10px #353535; + transition: all 0.3s ease; + position: relative; + overflow: hidden; + + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.02) 0%, + rgba(0, 0, 0, 0.05) 100% + ); + } + + &:hover { + transform: translateY(-2px); + box-shadow: 8px 8px 16px #1a1a1a, + -8px -8px 16px #2a2a2a; + color: #ffffff; + } + + &:active { + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535; + } + + .anticon { + transition: transform 0.3s ease; + } + + &:hover .anticon { + transform: scale(1.1); + } + } +`; \ No newline at end of file diff --git a/src/components/common/BaseCard/BaseCard.styles.ts b/src/components/common/BaseCard/BaseCard.styles.ts index 0f67ef02..d64afcfa 100644 --- a/src/components/common/BaseCard/BaseCard.styles.ts +++ b/src/components/common/BaseCard/BaseCard.styles.ts @@ -11,14 +11,39 @@ interface CardInternalProps { export const Card = styled(AntCard)` display: flex; flex-direction: column; + background: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.02) 0%, + rgba(255, 255, 255, 0.05) 100% + ); + border-radius: 16px; + border: none; + box-shadow: + 8px 8px 20px rgba(0, 0, 0, 0.2), + -8px -8px 20px rgba(255, 255, 255, 0.08); + transition: transform 0.3s ease, box-shadow 0.3s ease; + &:hover { + transform: translateY(-3px); + box-shadow: + 12px 12px 30px rgba(0, 0, 0, 0.25), + -12px -12px 30px rgba(255, 255, 255, 0.12); + } + + /* Adjust height if $autoHeight prop is used */ ${(props) => props.$autoHeight && css` height: 100%; `} + /* + ———————————————————————— + ANT DESIGN OVERRIDES + ———————————————————————— + */ .ant-card-head { + background-color: transparent; /* let the gradient show through */ border-bottom: 0; font-weight: ${({ theme }) => theme.fontWeights.bold}; padding-top: 15px; @@ -35,6 +60,7 @@ export const Card = styled(AntCard)` font-size: ${({ theme }) => theme.fontSizes.xxl}; } + /* Title area styles */ .ant-card-head-title { white-space: unset; overflow: unset; @@ -48,10 +74,7 @@ export const Card = styled(AntCard)` .ant-card-body { flex-grow: 1; + background-color: transparent; /* keep the gradient consistent */ padding: ${(props) => props.$padding && normalizeProp(props.$padding)}; } - - .ant-card-bordered { - border-color: ${({ theme }) => theme.split}; - } `; diff --git a/src/components/common/BaseDropdown/BaseDropdown.styles.ts b/src/components/common/BaseDropdown/BaseDropdown.styles.ts index 7183a478..a484a941 100644 --- a/src/components/common/BaseDropdown/BaseDropdown.styles.ts +++ b/src/components/common/BaseDropdown/BaseDropdown.styles.ts @@ -1,4 +1,53 @@ +// BaseDropdown.styles.ts import styled from 'styled-components'; import { Dropdown as AntDropdown } from 'antd'; -export const Dropdown = styled(AntDropdown)``; +export const Dropdown = styled(AntDropdown)` + .ant-dropdown-menu { + background: #f0f0f0; + border: none; + border-radius: 16px; + padding: 12px; + box-shadow: 8px 8px 16px #d1d1d1, + -8px -8px 16px #ffffff; + transform: translateY(10px); + + &::-webkit-scrollbar { + width: 8px; + } + + &::-webkit-scrollbar-track { + background: #f0f0f0; + border-radius: 4px; + } + + &::-webkit-scrollbar-thumb { + background: #d1d1d1; + border-radius: 4px; + box-shadow: inset -2px -2px 4px #ffffff, + inset 2px 2px 4px #d1d1d1; + + &:hover { + background: #c1c1c1; + } + } + + &-item { + color: #333; + border-radius: 12px; + margin: 4px 0; + transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); + + &:hover { + background: rgba(51, 156, 253, 0.1); + transform: translateY(-1px); + } + } + + &-item-selected { + background: rgba(51, 156, 253, 0.15); + color: #0066cc; + font-weight: 500; + } + } +`; \ No newline at end of file diff --git a/src/components/common/BaseDropdown/BaseDropdown.tsx b/src/components/common/BaseDropdown/BaseDropdown.tsx index cffa5d67..29d1ccbf 100644 --- a/src/components/common/BaseDropdown/BaseDropdown.tsx +++ b/src/components/common/BaseDropdown/BaseDropdown.tsx @@ -6,9 +6,12 @@ interface BaseDropdownProps extends DropdownProps { children?: ReactNode; } -export const BaseDropdown: React.FC = ({ children, ...props }: BaseDropdownProps) => { +export const BaseDropdown: React.FC = ({ children, ...props }) => { return ( - triggerNode} {...props}> + document.body} + {...props} + > {children} ); diff --git a/src/components/common/BaseRadio/BaseRadio.styles.ts b/src/components/common/BaseRadio/BaseRadio.styles.ts index 0686b527..33e1ce33 100644 --- a/src/components/common/BaseRadio/BaseRadio.styles.ts +++ b/src/components/common/BaseRadio/BaseRadio.styles.ts @@ -1,5 +1,6 @@ import styled from 'styled-components'; import { Radio as AntRadio } from 'antd'; +import { neumorphicButtonStyles } from '@app/styles/neumorphicStyles'; export const Radio = styled(AntRadio)` .ant-radio-input:focus-visible + .ant-radio-inner { @@ -27,8 +28,16 @@ export const Radio = styled(AntRadio)` `; export const RadioButton = styled(AntRadio.Button)` - &.ant-radio-button-wrapper:has(:focus-visible) { - box-shadow: ${({ theme }) => theme.radioBoxShadow}; + &.ant-radio-button-wrapper { + ${neumorphicButtonStyles} + + &:not(:first-child)::before { + display: none; + } + + &:has(:focus-visible) { + box-shadow: 0 0 0 2px rgba(74, 144, 226, 0.2); + } } &.ant-radio-button-wrapper-disabled { diff --git a/src/components/common/BaseSwitch/BaseSwitch.styles.ts b/src/components/common/BaseSwitch/BaseSwitch.styles.ts index 12666685..dd71e35a 100644 --- a/src/components/common/BaseSwitch/BaseSwitch.styles.ts +++ b/src/components/common/BaseSwitch/BaseSwitch.styles.ts @@ -3,7 +3,7 @@ import { Switch as AntSwitch } from 'antd'; export const Switch = styled(AntSwitch)` &.ant-switch-checked:focus { - box-shadow: 0 0 0 2px ${({ theme }) => theme.primary1}; + box-shadow: 0 0 0 2px ${({ theme }) => theme.inputPlaceholder}; } &.ant-switch[aria-checked='false'] { diff --git a/src/components/common/BaseTable/BaseTable.styles.ts b/src/components/common/BaseTable/BaseTable.styles.ts index c85638f7..4dc06bf5 100644 --- a/src/components/common/BaseTable/BaseTable.styles.ts +++ b/src/components/common/BaseTable/BaseTable.styles.ts @@ -1,85 +1,90 @@ import styled from 'styled-components'; import { Table as AntTable } from 'antd'; +/** + * A dark-themed, neumorphic-styled table. + * We remove (or override) extra borders from AntD's "bordered" prop to prevent + * double edges, and we lighten the highlight shadows so the table isn't glaring. + */ export const Table = styled(AntTable)` - & thead .ant-table-cell { - color: ${({ theme }) => theme.primary}; - font-size: ${({ theme }) => theme.fontSizes.xs}; - line-height: 1.25rem; + /* If you don't want the border from "bordered" prop, disable it forcibly */ - & .anticon { - color: ${({ theme }) => theme.primary}; - } - } + /* Rounded corners + dark gradient background for a subtle effect */ + border-radius: 16px; + background: linear-gradient(145deg, #343434, #3a3a3a); - & tbody .ant-table-cell { - color: ${({ theme }) => theme.textMain}; - font-size: ${({ theme }) => theme.fontSizes.xs}; - line-height: 1.25rem; - } + /* Soft outward shadows for a lightly raised feel on a dark background */ + box-shadow: + 6px 6px 12px rgba(0, 0, 0, 0.3), + -6px -6px 12px rgba(255, 255, 255, 0.05); - & tbody .ant-table-row-expand-icon { - border-radius: 0.1875rem; - margin-top: 0; - } + transition: transform 0.3s ease, box-shadow 0.3s ease; - /* Override default antd selector */ - & - .ant-table-thead - > tr - > th:not(:last-child):not(.ant-table-selection-column):not(.ant-table-row-expand-icon-cell):not([colspan])::before { - background-color: ${({ theme }) => theme.primary}; + &:hover { + transform: translateY(-3px); + box-shadow: + 12px 12px 25px rgba(0, 0, 0, 0.5), + -12px -12px 25px rgba(255, 255, 255, 0.05); } + - & .ant-pagination-prev, - .ant-pagination-next, - .ant-pagination-jump-prev, - .ant-pagination-jump-next, - .ant-pagination-item { - min-width: 2.0625rem; - height: 2.0625rem; - line-height: 2.0625rem; - border-radius: 0; - font-size: ${({ theme }) => theme.fontSizes.xs}; - } - - & .ant-pagination-prev .ant-pagination-item-link, - .ant-pagination-next .ant-pagination-item-link { - border-radius: 0; - } + /* + ------------------------------------------------------ + ANT TABLE NESTED WRAPPER RULES + ------------------------------------------------------ + */ - & .ant-checkbox-inner { - border-radius: 0.1875rem; - height: 1.25rem; - width: 1.25rem; - border: 1px solid ${({ theme }) => theme.primary}; + /* Remove default AntD container border for "bordered" tables */ + .ant-table-container { + background: transparent; /* Let the parent's gradient show through */ + overflow: hidden; } + + .ant-table-bordered { + border: 2px solid #2e2e2e; /* Remove the default border */ + border-radius: 15px; /* Ensure corners are consistently rounded */ + } - & .editable-row .ant-form-item-explain { - position: absolute; - top: 100%; - font-size: ${({ theme }) => theme.fontSizes.xxs}; + /* + ------------------------------------------------------ + TABLE HEADER (thead) + ------------------------------------------------------ + */ + .ant-table-thead > tr > th { + background-color: #232322; /* distinct dark shade for header cells */ + color: #ccc; /* lighter text color for contrast */ + text-transform: uppercase; + font-weight: 600; + text-align: center; } - - .ant-table-column-sort { - background-color: transparent; + /* + ------------------------------------------------------ + TABLE BODY (tbody) + ------------------------------------------------------ + */ + .ant-table-tbody > tr > td { + background-color: transparent; + border: none; /* remove bottom border lines */ + color: #ccc; } - - .ant-pagination-item-container .ant-pagination-item-ellipsis { - color: ${({ theme }) => theme.disabled}; + + /* + ------------------------------------------------------ + for the last column only in body + ------------------------------------------------------ + */ + .ant-table-tbody > tr > td:last-child { + /* Remove special background styling */ } - .ant-pagination-disabled { - .ant-pagination-item-link, - .ant-pagination-item a { - color: ${({ theme }) => theme.disabled}; - } + /* + Row hover: a subtle highlight + so there's feedback without strong lines + */ + .ant-table-tbody > tr:hover > td { + background: rgba(255, 255, 255, 0.05); } - .ant-pagination.ant-pagination-disabled { - .ant-pagination-item-link, - .ant-pagination-item a { - color: ${({ theme }) => theme.disabled}; - } - } + + `; diff --git a/src/components/common/forms/components/BaseFormItem/BaseFormItem.ts b/src/components/common/forms/components/BaseFormItem/BaseFormItem.ts index 20e38f0a..f0473a57 100644 --- a/src/components/common/forms/components/BaseFormItem/BaseFormItem.ts +++ b/src/components/common/forms/components/BaseFormItem/BaseFormItem.ts @@ -1,6 +1,5 @@ import styled, { css } from 'styled-components'; import { Form, FormItemProps } from 'antd'; -import { media } from '@app/utils/utils'; interface InternalFormItemProps { $isSuccess?: boolean; @@ -10,138 +9,80 @@ interface InternalFormItemProps { export type BaseFormItemProps = FormItemProps; export const BaseFormItem = styled(Form.Item as React.FC)` - .ant-input { - font-size: ${({ theme }) => theme.fontSizes.md}; - background: inherit; - border-color: ${({ theme }) => theme.borderBase}; - } - - .ant-input:focus { - box-shadow: ${({ theme }) => theme.boxShadow}; - border-color: ${({ theme }) => theme.primary5}; - } - - .ant-input:disabled { - color: ${({ theme }) => theme.disabled}; - background-color: ${({ theme }) => theme.disabledBg}; - cursor: not-allowed; - } - + /* Give the container (the Form Item) a dark background and soft shadows. */ + background: #2f2f2f; + border-radius: 10px; + padding: 1rem; /* Optional extra spacing to see the effect clearly */ + box-shadow: + 8px 8px 16px #1c1c1c, /* darker drop shadow */ + -8px -8px 16px #444444; /* lighter “highlight” shadow */ + + /* Tweak the label color for better contrast in a dark theme */ .ant-form-item-label > label { - color: ${({ theme }) => theme.primary}; + color: #ffffff; /* or use your theme color if you prefer */ font-size: ${({ theme }) => theme.fontSizes.xs}; - - .ant-form-item-optional { - color: ${({ theme }) => theme.subText}; - } } - .ant-input-group-addon:first-of-type { - font-weight: ${({ theme }) => theme.fontWeights.semibold}; - width: 5rem; - color: ${({ theme }) => theme.primary}; - - .anticon, - svg { - font-size: ${({ theme }) => theme.fontSizes.xl}; - } - - @media only screen and (${media('md')}) { - width: 5.5rem; - font-size: ${({ theme }) => theme.fontSizes.lg}; + /* Style the inputs in a neumorphic manner as well */ + .ant-input { + font-size: ${({ theme }) => theme.fontSizes.md}; + background: #2f2f2f; + color: #ffffff; + border: none; + border-radius: 8px; + /* Inset shadow to appear “pushed in” */ + box-shadow: + inset 2px 2px 5px #1c1c1c, + inset -3px -3px 5px #444444; + + /* Remove the default border and use subtle focus states */ + &:focus { + outline: none; + box-shadow: + inset 2px 2px 5px #1c1c1c, + inset -3px -3px 5px #444444, + 0 0 2px 1px #00509a; /* or your brand’s primary color */ } - @media only screen and (${media('xl')}) { - font-size: ${({ theme }) => theme.fontSizes.xxl}; + &:disabled { + cursor: not-allowed; + /* Slightly lighter or use theme’s disabled color */ + opacity: 0.6; } } - .ant-input-suffix .ant-btn { - padding: 0; - width: unset; - height: unset; - line-height: 1; - } - + /* Adjust the error message or success indicators if you like */ .ant-form-item-explain-error { - display: flex; - margin: 0.5rem 0; - line-height: 1; - + /* For a dark theme, you might want to change the “X” or background color */ &:before { content: 'X'; - display: inline-flex; - flex-shrink: 0; - align-items: center; - justify-content: center; - margin: 0 0.25rem; - color: ${({ theme }) => theme.textSecondary}; - background: ${({ theme }) => theme.error}; - border-radius: 50%; - width: 1rem; - height: 1rem; - font-size: 0.5rem; - } - - &:not(:first-of-type) { - display: none; + color: #2f2f2f; + background: #ff5252; } } + /* Success state example */ ${(props) => props.$isSuccess && css` .ant-input { - &, - &:hover { - border-color: ${({ theme }) => theme.success}; - } + border-color: #30af5b; + box-shadow: + inset 2px 2px 5px #1c1c1c, + inset -3px -3px 5px #444444, + 0 0 2px 1px #30af5b; } - .ant-form-item-control-input { - display: block; - - &::after { - content: '✓ ${props.$successText}'; - color: ${({ theme }) => theme.success}; - } + .ant-form-item-control-input::after { + content: '✓'; + color: #30af5b; + margin-left: 0.5rem; + font-size: 1em; } `} + /* Remove or hide the default feedback icons */ &.ant-form-item-has-feedback .ant-form-item-children-icon { display: none; } - - .ant-picker-suffix, - .ant-select-arrow { - font-size: ${({ theme }) => theme.fontSizes.md}; - } - - .ant-select-arrow { - width: unset; - height: unset; - top: 50%; - } - - &.ant-form-item-has-error { - .ant-input, - .ant-input-affix-wrapper, - .ant-input:hover, - .ant-input-affix-wrapper:hover { - border-color: ${({ theme }) => theme.error}; - } - } - - &.ant-form-item-has-success.ant-form-item-has-feedback { - .ant-input, - .ant-input-affix-wrapper, - .ant-input:hover, - .ant-input-affix-wrapper:hover { - border-color: ${({ theme }) => theme.success}; - } - } - - & .ant-form-item-row { - flex-wrap: inherit; - } `; diff --git a/src/components/coupons/Coupons.styles.ts b/src/components/coupons/Coupons.styles.ts new file mode 100644 index 00000000..c520c4dc --- /dev/null +++ b/src/components/coupons/Coupons.styles.ts @@ -0,0 +1,59 @@ +import styled from 'styled-components'; +import { BaseCard } from '../common/BaseCard/BaseCard'; +import { BaseButton } from '../common/BaseButton/BaseButton'; + +export const NeumorphicContainer = styled.div` + background: #2a2a2a; + border-radius: 20px; + padding: 2rem; + box-shadow: + 8px 8px 16px rgba(0, 0, 0, 0.4), + -8px -8px 16px rgba(255, 255, 255, 0.05); +`; + +export const StatsCard = styled(BaseCard)` + background: linear-gradient(145deg, #2d2d2d, #262626); + border: none; + border-radius: 15px; + + /* Convex effect */ + box-shadow: + 6px 6px 12px rgba(0, 0, 0, 0.5), + -6px -6px 12px rgba(255, 255, 255, 0.05); + + &:hover { + transform: translateY(-2px); + } +`; + +export const RedeemButton = styled(BaseButton)` + /* Concave effect when not pressed */ + background: linear-gradient(145deg, #262626, #2d2d2d); + border: none; + box-shadow: + inset 4px 4px 8px rgba(0, 0, 0, 0.5), + inset -4px -4px 8px rgba(255, 255, 255, 0.05); + + /* Pressed state */ + &:active { + background: linear-gradient(145deg, #2d2d2d, #262626); + box-shadow: + inset 6px 6px 12px rgba(0, 0, 0, 0.7), + inset -6px -6px 12px rgba(255, 255, 255, 0.07); + } +`; + +export const StatsContainer = styled.div` + display: flex; + gap: 1rem; + margin-bottom: 2rem; + + /* Flat neumorphic effect */ + background: #2a2a2a; + padding: 1.5rem; + border-radius: 15px; + border: 1px solid rgba(255, 255, 255, 0.05); + box-shadow: + 4px 4px 8px rgba(0, 0, 0, 0.2), + -4px -4px 8px rgba(255, 255, 255, 0.03); +`; diff --git a/src/components/coupons/Coupons.tsx b/src/components/coupons/Coupons.tsx index 740676a9..60481157 100644 --- a/src/components/coupons/Coupons.tsx +++ b/src/components/coupons/Coupons.tsx @@ -1,15 +1,14 @@ import { useAppSelector } from '@app/hooks/reduxHooks'; -import { BaseRow } from '../common/BaseRow/BaseRow'; import { isEmailValid } from '@app/utils/utils'; -import { BaseButton } from '../common/BaseButton/BaseButton'; import { useTranslation } from 'react-i18next'; -import { BaseCol } from '../common/BaseCol/BaseCol'; import { useNavigate } from 'react-router-dom'; import { useResponsive } from '@app/hooks/useResponsive'; -import { BaseCard } from '../common/BaseCard/BaseCard'; -import { BaseSpace } from '../common/BaseSpace/BaseSpace'; import { CouponTable } from './couponTable/CouponTable'; import { EmailUpdateForm } from '../auth/EmailUpdateForm/EmailUpdateForm'; +import { NeumorphicContainer, RedeemButton, StatsContainer } from './Coupons.styles'; +import { BaseRow } from '../common/BaseRow/BaseRow'; +import { BaseCol } from '../common/BaseCol/BaseCol'; +import { BaseCard } from '../common/BaseCard/BaseCard'; export const Coupons = () => { const { t } = useTranslation(); @@ -19,23 +18,24 @@ export const Coupons = () => { const navigate = useNavigate(); const content = ( - - - {!(user?.email && isEmailValid(user.email.name)) ? ( - - * - navigate('/redeem-coupon')} style={{ padding: '0' }}> - {t('common.clickHere')} - - {t('common.addEmailWarning')} - - ) : null} - + + + + {!(user?.email && isEmailValid(user.email.name)) ? ( + + Please window.open('/redeem-coupon', '_self')}> + click here + + {t('common.addEmailWarning')} + + ) : null} + - - - - + + + + + ); if (!user) return null; diff --git a/src/components/dashboard/DashboardContent/DashboardContent.tsx b/src/components/dashboard/DashboardContent/DashboardContent.tsx index 6ab19510..0dc4b4a1 100644 --- a/src/components/dashboard/DashboardContent/DashboardContent.tsx +++ b/src/components/dashboard/DashboardContent/DashboardContent.tsx @@ -1,6 +1,5 @@ import { CrownOutlined, GithubOutlined, LinkOutlined } from '@ant-design/icons'; import { GitAppUsageType, PlanType, getGitApp } from '@app/api/analytics.api'; -import { useFeedback } from '@app/hooks/useFeedback'; import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; import { BaseSpace } from '@app/components/common/BaseSpace/BaseSpace'; import { BaseSpin } from '@app/components/common/BaseSpin/BaseSpin'; @@ -12,17 +11,29 @@ import { useTranslation } from 'react-i18next'; import { useNavigate, useParams, useSearchParams } from 'react-router-dom'; import styled, { useTheme } from 'styled-components'; import { DashboardTabs } from '../DashboardTabs/DashboardTabs'; +import { DashboardTerminal } from '../DashboardTerminal/DashboardTerminal'; -// A container to give a subtle, premium background and some padding. -const PremiumContainer = styled.div` - background: linear-gradient(to bottom, #f7f7f7, #eeeeee); - border-radius: 8px; +export const PremiumContainer = styled.div` + /* A subtle gradient with low-opacity whites for a dreamy effect */ + background: #2a2a2a; + + /* Neumorphic rounding */ + border-radius: 16px; + + /* Spacing inside the container */ padding: 1.5rem; - box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08); + + /* Smooth animation when hovering */ + transition: transform 0.3s ease, box-shadow 0.3s ease; + + &:hover { + transform: translateY(-3px); + box-shadow: + 12px 12px 30px rgba(0, 0, 0, 0.25), + -12px -12px 30px rgba(255, 255, 255, 0.12); + } `; -// A container for the header (title + buttons). -// Add a subtle border or bottom separation, which can help with a premium separation of sections. const HeaderContainer = styled(Flex)` padding-bottom: 1rem; border-bottom: 1px solid #d9d9d9; @@ -32,12 +43,11 @@ const HeaderContainer = styled(Flex)` const StyledBaseSpace = styled(BaseSpace)` .dashboard-crown-icon { font-size: 30px !important; - /* Metallic silver or gold accent. You can swap #c0c0c0 (silver) with #FFD700 (gold) */ - color: #c0c0c0; + color: #ffa500; /* Revert to your original orange color */ transition: color 0.3s, transform 0.3s; &:hover { - color: #a8a8a8; + color: #cc8400; /* Slightly darker orange on hover */ transform: scale(1.1); } } @@ -81,6 +91,7 @@ export const DashboardContent: React.FC = () => { const [premiumType, setPremiumType] = useState(params.has('premium')); const [repo, setRepo] = useState(); const [isLoading, setIsLoading] = useState(true); + useEffect(() => { getGitApp(orgName || '', repoName || '', 'GITHUB') @@ -107,14 +118,13 @@ export const DashboardContent: React.FC = () => { } return ( - + - + <Title level={4} style={{ marginBottom: '0', color: '#fff' }}> {orgName}/{repoName} - {/* Show the premium crown if the user is not premium */} {!premiumType && ( { )} - {/* Netlify link (if available) */} { /> - {/* GitHub link */} { - - {/* The rest of your Dashboard content */} - {repo && } + ); }; diff --git a/src/components/dashboard/DashboardInfo/DashboardInfo.Styles.ts b/src/components/dashboard/DashboardInfo/DashboardInfo.Styles.ts index 7a05b7a9..5c9d879a 100644 --- a/src/components/dashboard/DashboardInfo/DashboardInfo.Styles.ts +++ b/src/components/dashboard/DashboardInfo/DashboardInfo.Styles.ts @@ -2,39 +2,185 @@ import { BaseModal } from '@app/components/common/BaseModal/BaseModal'; import styled from 'styled-components'; export const StyledBaseModal = styled(BaseModal)` - .description { - font-size: 14px; - margin-bottom: 12px; + background: #1a1a1a; + border-radius: 20px; + box-shadow: 20px 20px 60px #151515, -20px -20px 60px #1f1f1f; + padding-bottom: 0px !important; + + + .modal-header { + padding: 20px; + color: #ffffff; + font-size: 24px; + font-weight: 600; } - .slick-arrow { - width: 32px; - height: 32px; - border-radius: 50%; - background: #1259b0; + .progress-bar { + margin-top: 12px; + .ant-progress-bg { + background: linear-gradient(45deg, #2196f3, #1a237e); + } + } - display: flex !important; - align-items: center; - justify-content: center; + .intro-text { + color: #e0e0e0; + padding: 20px; + background: #1d1d1d; + border-radius: 12px; + box-shadow: inset 5px 5px 10px #161616, inset -5px -5px 10px #242424; + margin-bottom: 24px; } - .slick-arrow::after { - top: unset; + .github-app-link { + margin-top: 12px; + a { + color: #2196f3; + text-decoration: none; + padding: 4px 8px; + border-radius: 6px; + background: #1d1d1d; + box-shadow: 3px 3px 6px #161616, -3px -3px 6px #242424; + transition: all 0.3s ease; + + &:hover { + background: #2196f3; + color: #ffffff; + } + } } - .slick-next::after { - inset-inline-start: 8px; + .feature-carousel { + padding: 24px 24px 5px 24px; + background: #1d1d1d; + border-radius: 16px; + box-shadow: -18px 17px 16px #161616, inset -8px -8px 16px #161616; + position: relative; + + .slick-arrow { + width: 40px; + height: 40px; + border-radius: 50%; + background: #1d1d1d; + box-shadow: 5px 5px 10px #161616, -5px -5px 10px #242424; + transition: all 0.3s ease; + + &:hover { + background: #2196f3; + } + } + + .slick-dots { + bottom: -30px; + + li { + margin: 0 6px; + + button { + width: 12px !important; + height: 12px !important; + border-radius: 50%; + background: rgb(221, 233, 235) !important; + transition: all 0.3s ease; + + &:before { + display: none; // Remove default dot styling + } + } + + &.slick-active { + button { + width: 24px !important; + border-radius: 6px; + background: #1890ff !important; + } + } + + &:hover button { + background: rgba(255, 255, 255, 0.5) !important; + } + } + } + + :where(.css-dev-only-do-not-override-5ktdta).ant-carousel .slick-dots, + .ant-carousel .slick-dots { + bottom: -24px !important; + + li { + margin: 0 4px !important; + width: auto !important; + height: auto !important; + + button { + width: 6px !important; + height: 6px !important; + border-radius: 3px !important; + background: #d1d5db !important; + transition: all 0.3s ease !important; + opacity: 1 !important; + + &:before { + display: none !important; + } + } + + &.slick-active { + width: auto !important; + + button { + width: 20px !important; + background: #1890ff !important; + } + } + + &:hover button { + opacity: 0.8 !important; + } + } + } + + .custom-arrow { + opacity: 0; + transition: opacity 0.3s ease; + } + + &:hover { + .custom-arrow { + opacity: 1; + } + } + + .content { + padding: 0 40px; // Add padding to prevent content overlap with arrows + } } - .slick-prev::after { - inset-inline-start: 12px; + .feature-title { + color: #ffffff; + font-size: 20px; + margin-bottom: 16px; + text-shadow: 2px 2px 4px #161616; + } + + .description { + color: #e0e0e0; + font-size: 16px; + line-height: 1.6; + margin-bottom: 24px; } - .ant-image { - width: 100%; + .image-container { + padding: 16px; + background: #1d1d1d; + border-radius: 12px; + box-shadow: inset 5px 5px 10px #161616, inset -5px -5px 10px #242424; - .ant-image-img { - max-height: 285px; + .ant-image { + width: 100%; + .ant-image-img { + max-height: 285px; + border-radius: 8px; + object-fit: contain; + } } } `; diff --git a/src/components/dashboard/DashboardInfo/DashboardInfo.tsx b/src/components/dashboard/DashboardInfo/DashboardInfo.tsx index 87684970..77f17733 100644 --- a/src/components/dashboard/DashboardInfo/DashboardInfo.tsx +++ b/src/components/dashboard/DashboardInfo/DashboardInfo.tsx @@ -1,50 +1,165 @@ -import Paragraph from 'antd/es/typography/Paragraph'; -import Title from 'antd/es/typography/Title'; +import React from 'react'; import { useTranslation } from 'react-i18next'; -import { Carousel, Image } from 'antd'; +import { Carousel, Image, Progress } from 'antd'; +import { LeftOutlined, RightOutlined } from '@ant-design/icons'; import { StyledBaseModal } from './DashboardInfo.Styles'; import { featureList } from './DashboardInfoList/DashboardInfoList'; -import { useState } from 'react'; +import { useState, useRef } from 'react'; +import { motion } from 'framer-motion'; -export const DashboardInfo: React.FC = () => { - const { t } = useTranslation(); +interface DashboardInfoProps { + isModal?: boolean; +} + +const CustomArrow = ({ + type, + onClick +}: { + type: 'prev' | 'next'; + onClick?: React.MouseEventHandler; +}) => ( +
{ + e.currentTarget.style.background = 'rgba(255, 255, 255, 1)'; + e.currentTarget.style.boxShadow = '0 4px 12px rgba(0, 0, 0, 0.2)'; + }} + onMouseLeave={e => { + e.currentTarget.style.background = 'rgba(255, 255, 255, 0.9)'; + e.currentTarget.style.boxShadow = '0 2px 8px rgba(0, 0, 0, 0.15)'; + }} + > + {type === 'prev' ? ( + + ) : ( + + )} +
+); - const [isModalOpen, setIsModalOpen] = useState(true); +export const DashboardInfo: React.FC = ({ isModal = true }) => { + const { t } = useTranslation(); + const [isModalOpen, setIsModalOpen] = useState(isModal); + const [currentSlide, setCurrentSlide] = useState(0); + const carouselRef = useRef(null); localStorage.setItem('watchedOnce', 'true'); + const handleSlideChange = (prev: number, current: number) => { + console.log("prev",prev, "next: ",current); + setCurrentSlide(current); + }; + + const content = ( + + } + nextArrow={} + > + {featureList.map((item, index) => ( + + +

{item.title}

+
+ + +
+ + + + {`${item.title} + + + ))} + + + ); + + if (!isModal) { + return content; + } + return ( +
+

{t('dashboard.welcomeTitle')}

+ + {currentSlide + 1} of {featureList.length} + +
+ + + } open={isModalOpen} footer={null} onCancel={() => setIsModalOpen(false)} + width={720} > - <> - {t('dashboard.welcomeDescStart')} - - - If you haven't already installed our{' '} - - {t('Github App')} - - , now is a great time to start. Our app is packed with features that will make your life as a developer easier - and more productive - -
-

- - Features - - - {featureList.map((item) => ( -
- {item.title} -
- {`${item.title} -
- ))} - - + {content} ); }; diff --git a/src/components/dashboard/DashboardInfo/DashboardInfoList/DashboardInfoList.ts b/src/components/dashboard/DashboardInfo/DashboardInfoList/DashboardInfoList.ts index 73e7f455..fa10e944 100644 --- a/src/components/dashboard/DashboardInfo/DashboardInfoList/DashboardInfoList.ts +++ b/src/components/dashboard/DashboardInfo/DashboardInfoList/DashboardInfoList.ts @@ -5,32 +5,32 @@ import apiDocs from '@app/assets/images/preview/apiDocs.png'; export const featureList = [ { - title: '1. Pull Request Documentation', + title: 'Pull Request Documentation', description: 'Creates a summary of the Pull Request and Code review.', image: prReview, }, { - title: '2. Updated Code - Documentation Generation', + title: 'Updated Code - Documentation Generation', description: - 'Whenever the pull request is merged to the "main/master" branch, it will generate a new pull request with a code documentation of the modified code.', + 'Merging a pull request into "main" triggers a request to update the code documentation for the changes.', image: diffDoc, }, { - title: '3. Full Repository Documentation', + title: 'Full Repository Documentation', description: 'It will generate code documentation of the entire Git repository. Here is a Sample PR for the same.', image: diffDoc, }, { - title: '4. Architecture Documentation', + title: 'Architecture Documentation', description: - 'It will generate an architecture diagram of your repository, creating an HTML page (Sample Architecture Documentation) hosted at a URL which shows how each module in your repo interacts with others.', + 'It generates an architecture diagram of your repository and creates an HTML page (Sample Architecture Documentation) showcasing how each module interacts with others.', image: archDoc, }, { - title: '5. API Documentation', + title: 'API Documentation', description: - 'It will generate an HTML page of your hosted Open APIs. Here is a sample API Documentation for the same.', + 'It will generate an HTML page of your APIs endpoints. Here is a sample API Documentation for the same.', image: apiDocs, }, ]; diff --git a/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.Styles.ts b/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.Styles.ts index 30573a21..a04d0885 100644 --- a/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.Styles.ts +++ b/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.Styles.ts @@ -1,33 +1,151 @@ +// ListAllRepos.Styles.ts import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; import { media } from '@app/utils/utils'; import styled from 'styled-components'; export const OuterBaseCard = styled(BaseCard)` + background: #2a2a2a; + border: none; + background: linear-gradient(145deg, #1a1a1a, #2d2d2d); + border-radius: 20px; + border: none; + box-shadow: + 8px 8px 16px rgba(0, 0, 0, 0.2), + -8px -8px 16px rgba(255, 255, 255, 0.05); + transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94); + + &:hover { + box-shadow: + 12px 12px 24px rgba(0, 0, 0, 0.25), + -12px -12px 24px rgba(255, 255, 255, 0.08); + transform: translateY(-2px); + } + + .ant-card-head { + border-bottom: none; + padding: 16px 24px; + font-size: 1.25rem; + color: #e0e0e0; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); + } + .ant-card-body { + padding: 24px; @media only screen and (${media('xl')}) { - padding: 24px 48px 48px; - flex-grow: 0; + padding: 32px 48px !important; } } `; export const InnerBaseCard = styled(BaseCard)` cursor: pointer; - border-color: #339cfd !important; + position: relative; + overflow: hidden; + border-radius: 20px; + border: none; + /* A dark-ish base color with a subtle gradient */ + background-color: #2a2a2a; + background: linear-gradient(145deg, #292929, #2e2e2e); + + /* Outer + inset shadows for a “soft pillow” look */ + box-shadow: + /* Outer, bottom-right shadow (darker) */ + 10px 10px 22px rgba(0, 0, 0, 0.6), + /* Outer, top-left highlight */ + -10px -10px 22px rgba(60, 60, 60, 0.06), + /* Inset shadow to give a velvety dip */ + inset 0 0 10px rgba(0, 0, 0, 0.3); + + transition: all 0.3s ease; + + /* + * Subtle texture overlay. + * You can swap this out for your own pattern, + * or remove it if you prefer a clean look. + */ + &::before { + content: ''; + position: absolute; + inset: 0; + /* Very subtle radial highlights in corners */ + background: + radial-gradient(circle at top left, rgba(255, 255, 255, 0.02), transparent 60%), + radial-gradient(circle at bottom right, rgba(255, 255, 255, 0.02), transparent 60%); + background-repeat: no-repeat; + pointer-events: none; + z-index: 1; + /* Mix-blend or overlay can enhance the “soft” effect */ + mix-blend-mode: overlay; + } + + /* Position content above the texture layer */ .ant-card-body { - @media only screen and (${media('xl')}) { - padding: 30px 16px; - } + position: relative; + z-index: 2; + padding: 16px; + } + + span { + color: #ffffff; + opacity: 0.9; + font-weight: 500; + text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.3); } + /* Hover: slightly scale up & adjust shadow for “lift” */ + &:hover { + transform: scale(1.02); + box-shadow: + 12px 12px 28px rgba(0, 0, 0, 0.65), + -12px -12px 28px rgba(60, 60, 60, 0.06), + inset 0 0 12px rgba(0, 0, 0, 0.35); + } + + /* Active: pop it “inward” to simulate a pressed state */ + &:active { + transform: scale(0.98); + box-shadow: + inset 10px 10px 20px rgba(0, 0, 0, 0.5), + inset -10px -10px 20px rgba(60, 60, 60, 0.05); + } + + /* Premium style overrides: keep your existing logic */ &.premium-card { - border-color: rgb(252, 180, 68) !important; - background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 21 21'%3E%3Cg fill='none' fill-rule='evenodd' stroke='%23fcb444' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m15.5 4l3 4l-8 10l-8-10l3.009-4zm-13 4h16m-11 0l3 10m3-10l-3 10'/%3E%3Cpath d='M5.509 4L7.5 8l3-4l3 4l2-4'/%3E%3C/g%3E%3C/svg%3E") - no-repeat; - background-position: calc(100% - 12px) 12px; - background-size: 20px; + border: 1px solid rgba(252, 180, 68, 0.3) !important; + box-shadow: + 0 0 15px rgba(252, 180, 68, 0.3), + 10px 10px 22px rgba(0, 0, 0, 0.6), + -10px -10px 22px rgba(60, 60, 60, 0.06), + inset 0 0 10px rgba(0, 0, 0, 0.3); + + &::after { + content: ''; + position: absolute; + top: -50%; + left: -50%; + width: 200%; + height: 200%; + background: linear-gradient( + 45deg, + rgba(252, 180, 68, 0.1) 0%, + rgba(252, 180, 68, 0) 50% + ); + z-index: 1; + /* uncomment if you want an animated "shine" + animation: shine 3s infinite; + */ + } + } + + @keyframes shine { + 0% { + transform: translate(0, 0); + } + 100% { + transform: translate(100%, 100%); + } } `; @@ -36,20 +154,31 @@ export const TransparentCard = styled.div` width: 100%; height: 100%; inset: 0; - background: #339cfd50; - border-radius: 7px; + background: rgba(51, 156, 253, 0.1); + border-radius: 15px; display: flex; align-items: center; justify-content: center; opacity: 0; - backdrop-filter: blur(2px); - transition: opacity 350ms ease-in; + backdrop-filter: blur(4px); + transition: all 0.3s ease; + z-index: 2; &:hover { opacity: 1; } &.premium-card { - background: #fcb44480; + background: rgba(252, 180, 68, 0.15); + + .anticon { + color: #fcb444 !important; + filter: drop-shadow(0 0 8px rgba(252, 180, 68, 0.6)); + } } -`; + + .anticon { + color: #ffffff !important; + filter: drop-shadow(0 0 4px rgba(255, 255, 255, 0.2)); + } +`; \ No newline at end of file diff --git a/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.tsx b/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.tsx index 5fb47cb0..b36efa9f 100644 --- a/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.tsx +++ b/src/components/dashboard/DashboardList/ListAllRepos/ListAllRepos.tsx @@ -3,7 +3,6 @@ import { BaseSpin } from '@app/components/common/BaseSpin/BaseSpin'; import { Flex } from 'antd'; import { useCallback, useEffect, useMemo, useState } from 'react'; import { useNavigate } from 'react-router-dom'; -import { DashboardInfo } from '../../DashboardInfo/DashboardInfo'; import { VendorDropdown, VendorIconKey, vendorIcon } from '../../common/VendorDropdown/VendorDropdown'; import { InnerBaseCard, OuterBaseCard, TransparentCard } from './ListAllRepos.Styles'; import { BaseRow } from '@app/components/common/BaseRow/BaseRow'; @@ -24,6 +23,8 @@ export const ListAllRepos: React.FC = () => { const [selectedVendor, setSelectedVendor] = useState('all'); const [vendorOptions, setVendorOptions] = useState([]); const watchedOnce = localStorage.getItem('watchedOnce'); + + useEffect(() => { getGitAppUsage() @@ -85,10 +86,6 @@ export const ListAllRepos: React.FC = () => { ); } - if (!isLoading && !watchedOnce) { - return ; - } - return ( <> diff --git a/src/components/dashboard/DashboardTerminal/DashboardTerminal.tsx b/src/components/dashboard/DashboardTerminal/DashboardTerminal.tsx index a8456a99..5398825a 100644 --- a/src/components/dashboard/DashboardTerminal/DashboardTerminal.tsx +++ b/src/components/dashboard/DashboardTerminal/DashboardTerminal.tsx @@ -16,7 +16,6 @@ import { useAppSelector } from '@app/hooks/reduxHooks'; const PremiumDocCard = styled(DocumentationCard)` /* Background gradient and subtle rounded corners */ - background: linear-gradient(135deg, #f6d365 0%, #fda085 100%); border: none; border-radius: 12px; overflow: hidden; @@ -43,13 +42,6 @@ const PremiumDocCard = styled(DocumentationCard)` font-weight: bold; } - /* Style the card body */ - .ant-card-body { - background-color: rgba(255, 255, 255, 0.1); - color: #fff; - padding: 1.5rem; - } - /* Add a diagonal 'PREMIUM' badge */ &::after { content: 'PREMIUM'; @@ -77,32 +69,24 @@ interface DashboardTerminalProps { export const DashboardTerminal: React.FC = ({ repoDetails }) => { const user = useAppSelector((state) => state.user.user); if (!user) return null; - let shouldShowPremium = [PlanType.PREMIUM, PlanType.PRO].includes(repoDetails.plan_type); + if (!repoDetails) return null; + let shouldShowPremium = ![PlanType.PREMIUM, PlanType.PRO].includes(repoDetails.plan_type); shouldShowPremium = shouldShowPremium || user.countRepoGen > 0; + return ( - {!shouldShowPremium ? ( - ) : ( - - )} diff --git a/src/components/dashboard/DashboardTerminal/DocumentationCard.tsx b/src/components/dashboard/DashboardTerminal/DocumentationCard.tsx index 3e442832..06b01c41 100644 --- a/src/components/dashboard/DashboardTerminal/DocumentationCard.tsx +++ b/src/components/dashboard/DashboardTerminal/DocumentationCard.tsx @@ -23,6 +23,7 @@ import { exchangeRateApi, getLocationApi, GitAppUsageType, PlanType } from '@app import { paypalStandardCheckout } from '@app/api/paypal.api'; import { cashfreeStandardCheckout } from '@app/api/cashfree.api'; import { convertPrices } from '@app/utils/utils'; +import { color } from 'echarts'; interface DocumentationCardProps { title: string; @@ -43,9 +44,125 @@ interface DocumentationCardProps { requiresPremiumAccess?: boolean; } -const StyledBaseCard = styled(BaseCard)` +const ProgressIndicator = styled.div<{ progress: number }>` + position: absolute; + top: 0; + left: 0; + width: 100%; + height: 100%; + background: ${({ progress }) => ` + linear-gradient( + 45deg, + rgba(64, 153, 255, ${progress * 0.15}) 0%, + rgba(96, 189, 255, ${progress * 0.1}) 100% + ) + `}; + transition: background 0.3s ease; + pointer-events: none; + z-index: 0; +`; + +const CardContent = styled.div` + position: relative; + z-index: 1; +`; + +const ProgressBar = styled.div<{ progress: number }>` + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 2px; + background: linear-gradient( + to right, + rgba(64, 153, 255, 0.8) 0%, + rgba(96, 189, 255, 0.8) ${props => props.progress}%, + rgba(255, 255, 255, 0.1) ${props => props.progress}% + ); + transition: all 0.3s ease; +`; + +const ProgressOverlay = styled.div<{ progress: number }>` + position: absolute; + top: 0; + left: 0; + width: ${props => props.progress}%; + height: 100%; + background: linear-gradient( + 45deg, + rgba(64, 153, 255, 0.1) 0%, + rgba(96, 189, 255, 0.15) 100% + ); + transition: width 0.3s ease-out; + pointer-events: none; +`; + +const ProgressLine = styled.div<{ progress: number }>` + position: absolute; + bottom: 0; + left: 0; + width: 100%; + height: 3px; + background: rgba(255, 255, 255, 0.1); + overflow: hidden; + + &::after { + content: ''; + position: absolute; + top: 0; + left: 0; + width: ${props => props.progress}%; + height: 100%; + background: linear-gradient( + 90deg, + #4a90e2 0%, + #60bdff 100% + ); + transition: width 0.3s ease-out; + } +`; + +export const StyledBaseCard = styled(BaseCard)` + background: linear-gradient( + 45deg, + rgba(255, 255, 255, 0.02) 0%, + rgba(255, 255, 255, 0.05) 100% + ); + border-radius: 16px; + border: none; + overflow: hidden; + position: relative; + + /* Smooth hover animation for a “lifting” effect */ + transition: transform 0.3s ease, box-shadow 0.3s ease; + + /* The core “neumorphic” shadows: one darker, one lighter */ + box-shadow: + 8px 8px 20px rgba(0, 0, 0, 0.2), + -8px -8px 20px rgba(255, 255, 255, 0.08); + + &:hover { + transform: translateY(-3px); + box-shadow: + 12px 12px 30px rgba(0, 0, 0, 0.25), + -12px -12px 30px rgba(255, 255, 255, 0.12); + } + + /* Add a subtle pulsing animation when in progress */ + @keyframes pulse { + 0% { box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.2), -8px -8px 20px rgba(255, 255, 255, 0.08); } + 50% { box-shadow: 12px 12px 30px rgba(0, 0, 0, 0.25), -12px -12px 30px rgba(255, 255, 255, 0.12); } + 100% { box-shadow: 8px 8px 20px rgba(0, 0, 0, 0.2), -8px -8px 20px rgba(255, 255, 255, 0.08); } + } + + &[data-in-progress="true"] { + animation: pulse 2s infinite ease-in-out; + } + + /* Style the card body to match the neomorphic theme */ .ant-card-body { padding: 1.25rem; + background-color: transparent; @media only screen and (${media('sm')}) { padding: 1.5rem; @@ -58,9 +175,29 @@ const StyledBaseCard = styled(BaseCard)` @media only screen and (${media('xl')}) { padding: 2.25rem; } + /* Text color adjustment */ + .ant-typography { + color: rgba(255, 255, 255, 0.85); + text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); } -`; + /* Button styling within card */ + .ant-btn { + backdrop-filter: blur(5px); + border: 1px solid rgba(255, 255, 255, 0.1); + box-shadow: + 4px 4px 8px rgba(0, 0, 0, 0.4), + -2px -2px 6px rgba(255, 255, 255, 0.05); + + &:hover { + transform: translateY(-2px); + box-shadow: + 6px 6px 12px rgba(0, 0, 0, 0.5), + -3px -3px 8px rgba(255, 255, 255, 0.07); + } + } + } +`; /** * Styled Modal for a clean “premium” feel: * - Gradient header @@ -70,58 +207,168 @@ const StyledBaseCard = styled(BaseCard)` */ const StyledModal = styled(Modal)` .ant-modal-content { - border-radius: 12px; - overflow: hidden; - background: #fff; - box-shadow: 0 15px 40px rgba(0, 0, 0, 0.2); + background: linear-gradient(145deg, #1f1f24, #18181d); + border-radius: 16px; + border: 1px solid rgba(255, 255, 255, 0.05); + box-shadow: + 20px 20px 60px rgba(0, 0, 0, 0.8), + -8px -8px 40px rgba(255, 255, 255, 0.03); + backdrop-filter: blur(10px); + margin: 20px; + max-width: 90vw; + width: auto !important; + + @media (min-width: 768px) { + margin: 0 auto; + width: 600px !important; + } } - /* Header with gradient background */ .ant-modal-header { - background: linear-gradient(45deg, #4a90e2, #5ac8fa); - border-bottom: none; - padding: 24px; - } + background: linear-gradient(145deg, #2a2a32, #1f1f24); + border-bottom: 1px solid rgba(255, 255, 255, 0.05); + padding: 16px; - .ant-modal-title { - color: #fff; - font-size: 1.5rem; - font-weight: 600; - margin: 0; + @media (min-width: 768px) { + padding: 24px; + } } + + .ant-modal-title { + color: rgba(255, 255, 255, 0.9); + font-size: 1.2rem; + font-weight: 500; + text-shadow: 0 2px 4px rgba(0, 0, 0, 0.3); - /* Close icon in the header */ - .ant-modal-close-x { - line-height: 1; - color: #fff; - font-size: 16px; + @media (min-width: 768px) { + font-size: 1.5rem; + } } - /* Body styling */ .ant-modal-body { - color: #444; - font-size: 1rem; - padding: 24px; - text-align: center; + color: rgba(255, 255, 255, 0.7); + font-size: 0.9rem; + padding: 16px; + background: linear-gradient(145deg, #1f1f24, #18181d); + + @media (min-width: 768px) { + font-size: 1rem; + padding: 24px; + } + + b { + color: rgba(255, 255, 255, 0.9); + } } - /* Footer with button layout */ .ant-modal-footer { - border-top: none; - padding: 16px 24px; - background: #fafafa; + border-top: 1px solid rgba(255, 255, 255, 0.05); + padding: 12px 16px; + background: linear-gradient(145deg, #1a1a1f, #15151a); display: flex; - justify-content: center; - gap: 12px; + flex-direction: column; + align-items: center; + gap: 8px; + + @media (min-width: 768px) { + flex-direction: row; + justify-content: center; + padding: 16px 24px; + gap: 12px; + } } - /* Button styling */ - .ant-modal-footer button { - border-radius: 6px; - font-weight: 500; - display: inline-flex; - align-items: center; - justify-content: center; + .ant-btn { + width: 100%; + margin: 0; + padding: 8px 16px; + background: linear-gradient(145deg, #2a2a32, #1f1f24); + border: 1px solid rgba(255, 255, 255, 0.05); + color: rgba(255, 255, 255, 0.9); + border-radius: 8px; + position: relative; + overflow: hidden; + + /* Neumorphic convex effect */ + background: linear-gradient( + 225deg, + rgba(45, 45, 55, 1) 0%, + rgba(35, 35, 45, 1) 100% + ); + box-shadow: + 6px 6px 12px rgba(0, 0, 0, 0.5), + -2px -2px 6px rgba(255, 255, 255, 0.05), + inset -2px -2px 6px rgba(255, 255, 255, 0.05), + inset 2px 2px 6px rgba(0, 0, 0, 0.3); + + /* Add subtle top highlight for more depth */ + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient( + 90deg, + transparent, + rgba(255, 255, 255, 0.1), + transparent + ); + } + + @media (min-width: 768px) { + width: auto; + min-width: 120px; + } + + &:hover { + transform: translateY(-2px); + background: linear-gradient( + 225deg, + rgba(50, 50, 60, 1) 0%, + rgba(40, 40, 50, 1) 100% + ); + box-shadow: + 8px 8px 16px rgba(0, 0, 0, 0.6), + -3px -3px 8px rgba(255, 255, 255, 0.08), + inset -2px -2px 6px rgba(255, 255, 255, 0.08), + inset 2px 2px 6px rgba(0, 0, 0, 0.4); + } + + &:active { + transform: translateY(1px); + box-shadow: + 4px 4px 8px rgba(0, 0, 0, 0.4), + -1px -1px 4px rgba(255, 255, 255, 0.03), + inset -1px -1px 4px rgba(255, 255, 255, 0.03), + inset 1px 1px 4px rgba(0, 0, 0, 0.2); + } + + &.ant-btn-primary { + background: linear-gradient( + 225deg, + rgba(74, 144, 226, 1) 0%, + rgba(58, 123, 199, 1) 100% + ); + border: none; + + &:hover { + background: linear-gradient( + 225deg, + rgba(90, 158, 232, 1) 0%, + rgba(65, 133, 209, 1) 100% + ); + } + + &:active { + background: linear-gradient( + 225deg, + rgba(58, 123, 199, 1) 0%, + rgba(74, 144, 226, 1) 100% + ); + } + } } `; @@ -178,6 +425,7 @@ const DocumentationCard: React.FC = ({ // Handle user click for doc generation const triggerDocStringGen = useCallback(() => { + console.log('triggerDocStringGen', requiresPremiumAccess); if (requiresPremiumAccess) { setPremiumModalVisible(true); } else { @@ -296,8 +544,9 @@ const DocumentationCard: React.FC = ({ return ( + - {cardTitle} + {cardTitle} = ({ visible={premiumModalVisible} onCancel={() => setPremiumModalVisible(false)} footer={[ - , - , - , ]} diff --git a/src/components/dashboard/common/SearchDropdown/SearchDropdown.styles.ts b/src/components/dashboard/common/SearchDropdown/SearchDropdown.styles.ts index 2cd13e13..73ec5604 100644 --- a/src/components/dashboard/common/SearchDropdown/SearchDropdown.styles.ts +++ b/src/components/dashboard/common/SearchDropdown/SearchDropdown.styles.ts @@ -1,95 +1,73 @@ -import { BasePopover } from '@app/components/common/BasePopover/BasePopover'; -import { BaseTypography } from '@app/components/common/BaseTypography/BaseTypography'; -import { SearchInput } from '@app/components/common/inputs/SearchInput/SearchInput.styles'; -import { media } from '@app/utils/utils'; +// SearchDropdown.styles.ts import styled from 'styled-components'; +import { BaseList } from '@app/components/common/BaseList/BaseList'; +import { Popover as AntdPopover } from 'antd'; -export const Popover = styled(BasePopover)` - .ant-popover { - width: 100%; - max-width: calc(100% - 16px); - box-shadow: ${({ theme }) => theme.boxShadow}; - - @media screen and (${media('md')}) { - max-width: calc(100% - 16px - 170px - 14px); - } - - @media screen and (${media('xl')}) { - max-width: calc(100% - 30px - 170px - 14px); +export const SearchResultsWrapper = styled.div` + max-height: 60vh; + overflow-y: auto; + background: #2a2a2a; + border-radius: 15px; + box-shadow: 8px 8px 16px #1f1f1f, + -8px -8px 16px #353535; + min-width: 400px; + + .ant-list-item { + padding: 12px 16px; + transition: all 0.2s ease; + + &:hover { + background: rgba(255, 255, 255, 0.05); + transform: translateX(8px); + border-radius: 15px; } } - .searchRef { - .ant-popover-content { - overflow-y: auto; - max-height: 252px; - - border: 1px solid ${({ theme }) => theme.primary}; - border-radius: 7px; + a { + color: #e0e0e0 !important; + + &:hover { + color: #ffffff !important; } } `; -export const InputSearch = styled(SearchInput)` - .ant-input-group-addon { - display: none; +export const InputSearch = styled.input` + /* Keep existing styles */ + width: 100%; + padding: 12px 24px; + border: none; + border-radius: 30px; + background: #2a2a2a; + color: #e0e0e0; + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535; +`; + +export const Popover = styled(AntdPopover)` + .ant-popover-inner { + background: transparent; + box-shadow: none; + border-radius: 15px; } - .ant-input-group > .ant-input:first-child { - border-radius: 7px; + .ant-popover-content { + margin-top: 10px; } - @media only screen and (${media('md')}) { - .ant-input-group .ant-input-affix-wrapper:not(:last-child) { - border-radius: 3.125rem; - border: 0; - padding: 0.5625rem 1.25rem; - } + .ant-popover-arrow { + display: none; } `; export const Menu = styled.div` - max-height: 50vh; - overflow-y: auto; + background: transparent; `; -export const SearchResultsWrapper = styled.div` - & > div { - .ant-typography { - font-size: ${({ theme }) => theme.fontSizes.xs}; - - &:hover { - text-decoration: none; - } - } - - & .ant-list-header { - font-size: ${({ theme }) => theme.fontSizes.xxs}; - padding-bottom: 0.375rem; - color: ${({ theme }) => theme.primary}; - - @media only screen and (${media('md')}) { - font-size: ${({ theme }) => theme.fontSizes.xs}; - } - } - - & .ant-list-items { - .ant-list-item { - padding-left: 0.5rem; - border-radius: 4px; - - &:hover { - background: #339cfd50; - } - } - } - } -`; - -export const Text = styled(BaseTypography.Text)` - color: ${({ theme }) => theme.textMain}; - - &:hover { - text-decoration: underline; - } -`; +export const Text = styled.span` + color: #e0e0e0; + display: block; + white-space: nowrap; + overflow: hidden; + text-overflow: ellipsis; +`; \ No newline at end of file diff --git a/src/components/dashboard/common/SearchDropdown/SearchDropdown.tsx b/src/components/dashboard/common/SearchDropdown/SearchDropdown.tsx index af00bee3..9cda8d13 100644 --- a/src/components/dashboard/common/SearchDropdown/SearchDropdown.tsx +++ b/src/components/dashboard/common/SearchDropdown/SearchDropdown.tsx @@ -61,21 +61,24 @@ export const SearchDropdown: React.FC = ({ repos }) => { {renderSearchResults} } + overlayStyle={{ + position: 'fixed', + width: dropdownRef.current?.clientWidth // Match input width + }} open={isDropdownOpen} getPopupContainer={() => dropdownRef.current || document.body} showArrow={false} placement="bottomLeft" > -
+
setSearchQuery(event.target.value)} - enterButton={null} - addonAfter={null} + style={{ width: '100%', fontSize: '1.5rem' }} /> -
+
); diff --git a/src/components/dashboard/common/VendorDropdown/VendorDropdown.tsx b/src/components/dashboard/common/VendorDropdown/VendorDropdown.tsx index fe0eff67..ed49cd17 100644 --- a/src/components/dashboard/common/VendorDropdown/VendorDropdown.tsx +++ b/src/components/dashboard/common/VendorDropdown/VendorDropdown.tsx @@ -38,13 +38,44 @@ export const VendorDropdown: React.FC = ({ setSelectedVendo onClick: () => setSelectedVendor(vendor.toLowerCase()), })); + return ( - - - {selectedVendor !== 'all' - ? `${t('dropdown.selectedVendor')}: ${vendorNameFormatted[selectedVendor.toUpperCase()]}` - : t('dropdown.selectVendor')}{' '} - + triggerNode.parentElement!} + > + + + {selectedVendor !== 'all' + ? `${t('dropdown.selectedVendor')}: ${vendorNameFormatted[selectedVendor.toUpperCase()]}` + : t('dropdown.selectVendor')} + + ); diff --git a/src/components/header/Header.styles.ts b/src/components/header/Header.styles.ts index 4975bc82..e09596eb 100644 --- a/src/components/header/Header.styles.ts +++ b/src/components/header/Header.styles.ts @@ -62,3 +62,27 @@ export const ProfileColumn = styled(BaseCol)` padding: ${({ theme }) => `${theme.paddings.md} ${theme.paddings.xl}`}; } `; + +export const HeaderAction = styled.div` + width: 40px; + height: 40px; + border-radius: 50%; + display: flex; + align-items: center; + justify-content: center; + margin: 0 0.5rem; + background: #2a2a2a; + box-shadow: 5px 5px 10px #1f1f1f, + -5px -5px 10px #353535; + transition: all 0.2s ease; + + &:hover { + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535; + } + + svg { + color: #e0e0e0; + font-size: 1.25rem; + } +`; \ No newline at end of file diff --git a/src/components/header/layouts/DesktopHeader.tsx b/src/components/header/layouts/DesktopHeader.tsx index 8ce6f084..75429abf 100644 --- a/src/components/header/layouts/DesktopHeader.tsx +++ b/src/components/header/layouts/DesktopHeader.tsx @@ -15,25 +15,30 @@ export const DesktopHeader: React.FC = () => { return ( - - - {pageId} - + + + {pageId} + - + - - - - - + + + - + - + + + diff --git a/src/components/header/layouts/MobileHeader.tsx b/src/components/header/layouts/MobileHeader.tsx index fe8d464b..f401f4cc 100644 --- a/src/components/header/layouts/MobileHeader.tsx +++ b/src/components/header/layouts/MobileHeader.tsx @@ -10,17 +10,20 @@ interface MobileHeaderProps { isSiderOpened: boolean; } +// MobileHeader.tsx export const MobileHeader: React.FC = ({ toggleSider, isSiderOpened }) => { return ( - + + + - + - + diff --git a/src/components/layouts/AuthLayout/AuthLayout.styles.ts b/src/components/layouts/AuthLayout/AuthLayout.styles.ts index 84cb681b..36bf62d4 100644 --- a/src/components/layouts/AuthLayout/AuthLayout.styles.ts +++ b/src/components/layouts/AuthLayout/AuthLayout.styles.ts @@ -3,7 +3,7 @@ import { LeftOutlined } from '@ant-design/icons'; import { BaseForm } from '@app/components/common/forms/BaseForm/BaseForm'; import { BaseInput as CommonInput } from '@app/components/common/inputs/BaseInput/BaseInput'; import { InputPassword as CommonInputPassword } from '@app/components/common/inputs/InputPassword/InputPassword'; -import loginBackground from '@app/assets/images/login-bg.webp'; +import loginBackground from '@app/assets/images/login.webp'; import { media } from '@app/utils/utils'; import { BaseCheckbox } from '@app/components/common/BaseCheckbox/BaseCheckbox'; import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; @@ -83,11 +83,11 @@ export const FormCheckbox = styled(BaseCheckbox)` & .ant-checkbox-inner { border-radius: 3px; - transform: scale(1.375); + transform: scale(0.775); } & .ant-checkbox-input { - transform: scale(1.375); + transform: scale(0.775); } `; @@ -154,16 +154,50 @@ export const SubmitButton = styled(BaseButton)` `; export const SocialButton = styled(BaseButton)` - font-size: ${({ theme }) => theme.fontSizes.md}; - font-weight: ${({ theme }) => theme.fontWeights.semibold}; - color: ${({ theme }) => theme.primary}; - border: 1px solid ${({ theme }) => theme.primary}; width: 100%; margin-top: 1rem; display: flex; - justify-content: center; align-items: center; - background: transparent; + justify-content: center; + border: none; + outline: none; + cursor: pointer; + border-radius: 50px; /* More rounded corners */ + + /* Font styling */ + font-size: ${({ theme }) => theme.fontSizes.md}; + font-weight: ${({ theme }) => theme.fontWeights.semibold}; + color: #fff; + text-align: center; /* Ensure text is centered */ + + /* Neumorphic background */ + background: linear-gradient(-45deg, rgba(0, 0, 0, 0.22), rgba(255, 255, 255, 0.25)); + background-color: #333; /* Base color */ + + /* Neumorphic shadows */ + box-shadow: + 12px 12px 16px rgba(0, 0, 0, 0.25), /* Darker shadow */ + -8px -8px 12px rgba(255, 255, 255, 0.3); /* Lighter highlight */ + + transition: all 0.3s ease-in-out; + + &:hover { + box-shadow: + 14px 14px 18px rgba(0, 0, 0, 0.3), + -10px -10px 14px rgba(255, 255, 255, 0.35); + transform: translateY(-2px); + } + + &:active { + box-shadow: + inset 12px 12px 16px rgba(0, 0, 0, 0.25), + inset -8px -8px 12px rgba(255, 255, 255, 0.3); + transform: translateY(0px); + } + + &:focus-visible { + outline: 2px solid #666; + } `; export const FooterWrapper = styled.div` diff --git a/src/components/layouts/main/MainHeader/MainHeader.styles.ts b/src/components/layouts/main/MainHeader/MainHeader.styles.ts index 89fb7f09..0d29cc3a 100644 --- a/src/components/layouts/main/MainHeader/MainHeader.styles.ts +++ b/src/components/layouts/main/MainHeader/MainHeader.styles.ts @@ -1,3 +1,4 @@ +// MainHeader.styles.ts import { BaseLayout } from '@app/components/common/BaseLayout/BaseLayout'; import { LAYOUT } from '@app/styles/themes/constants'; import { media } from '@app/utils/utils'; @@ -5,16 +6,70 @@ import styled from 'styled-components'; export const Header = styled(BaseLayout.Header)` line-height: 1.5; - background: ${({ theme }) => theme.layoutHeaderBg}; - padding-top: 1rem; - padding-bottom: 1rem; + background: #2a2a2a; + padding: 1rem 2rem; + box-shadow: 5px 5px 15px #1f1f1f, + -5px -5px 15px #353535; + border-bottom: none; + position: relative; + z-index: 1; @media only screen and (${media('md')}) { - padding: ${({ theme }) => `${theme.paddings.md} ${theme.paddings.xl}`}; height: ${LAYOUT.desktop.headerHeight}; + padding: 0 3rem; } @media only screen and (${media('xl')}) { - padding: 0; + padding: 0 4rem; } `; + +export const TitleColumn = styled.div` + display: flex; + align-items: center; + padding-left: 1rem; + border-radius: 12px; + background: #2a2a2a; + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535; +`; + +export const ProfileColumn = styled.div` + display: flex; + justify-content: flex-end; + padding-right: 1rem; +`; + +export const MobileBurger = styled.div<{ isCross: boolean }>` + width: 40px; + height: 40px; + border-radius: 50%; + background: #2a2a2a; + box-shadow: ${({ isCross }) => + isCross + ? 'inset 5px 5px 10px #1f1f1f, inset -5px -5px 10px #353535' + : '5px 5px 10px #1f1f1f, -5px -5px 10px #353535'}; + position: relative; + transition: all 0.2s ease; + + &::before, + &::after { + content: ''; + position: absolute; + background: #e0e0e0; + height: 2px; + width: 24px; + left: 8px; + transition: all 0.3s ease; + } + + &::before { + top: ${({ isCross }) => (isCross ? '19px' : '13px')}; + transform: ${({ isCross }) => (isCross ? 'rotate(45deg)' : 'none')}; + } + + &::after { + top: ${({ isCross }) => (isCross ? '19px' : '25px')}; + transform: ${({ isCross }) => (isCross ? 'rotate(-45deg)' : 'none')}; + } +`; \ No newline at end of file diff --git a/src/components/layouts/main/MainLayout/MainLayout.styles.ts b/src/components/layouts/main/MainLayout/MainLayout.styles.ts index d7ff9b1d..903c3e9b 100644 --- a/src/components/layouts/main/MainLayout/MainLayout.styles.ts +++ b/src/components/layouts/main/MainLayout/MainLayout.styles.ts @@ -1,17 +1,56 @@ +// MainLayout.styles.ts import styled from 'styled-components'; import { media } from '@app/utils/utils'; import { BaseLayout } from '@app/components/common/BaseLayout/BaseLayout'; export const LayoutMaster = styled(BaseLayout)` - height: 100vh; + background: #1a1a1a; + position: relative; + display: flex; `; export const LayoutMain = styled(BaseLayout)` + flex: 1; + position: relative; + z-index: 2; + background: #1c1c1b; + height: max-content; + transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1); + min-height: 100vh; + box-shadow: -8px 0 24px rgba(0, 0, 0, 0.25); + backdrop-filter: blur(12px); + border-left: 1px solid rgba(255, 255, 255, 0.05); + + &::before { + content: ''; + position: absolute; + top: 0; + left: -2px; + height: 100%; + width: 4px; + background: linear-gradient( + 180deg, + rgba(224, 224, 224, 0.1) 0%, + rgba(64, 64, 64, 0.4) 50%, + rgba(224, 224, 224, 0.1) 100% + ); + } + +`; + +export const MainContent = styled.div` + // background: rgba(42, 42, 42, 0.6); + border-radius: 16px; + // box-shadow: 8px 8px 24px #1a1a1a, + -8px -8px 24px #2a2a2a; + @media only screen and (${media('md')}) { - margin-left: 80px; + margin: 24px; + padding: 0px 32px 32px 65px; } @media only screen and (${media('xl')}) { - margin-left: unset; + margin: 24px; + padding: 0px 32px 32px 32px; } -`; +`; \ No newline at end of file diff --git a/src/components/layouts/main/MainLayout/MainLayout.tsx b/src/components/layouts/main/MainLayout/MainLayout.tsx index 88149ba5..a0bfc4c6 100644 --- a/src/components/layouts/main/MainLayout/MainLayout.tsx +++ b/src/components/layouts/main/MainLayout/MainLayout.tsx @@ -1,19 +1,27 @@ -import { useState } from 'react'; +import { useEffect, useState } from 'react'; import { Header } from '@app/components/header/Header'; import MainSider from '../sider/MainSider/MainSider'; -import MainContent from '../MainContent/MainContent'; import { MainHeader } from '../MainHeader/MainHeader'; import * as S from './MainLayout.styles'; import { Outlet } from 'react-router-dom'; import { MainNavs } from '../MainNav/MainNavs'; -import { useAppSelector } from '@app/hooks/reduxHooks'; +import { useAppDispatch, useAppSelector } from '@app/hooks/reduxHooks'; import { EmailVerification } from '@app/components/dashboard/common/EmailVerification/EmailVerification'; +import { fetchUserProfile } from '@app/store/slices/userSlice'; const MainLayout: React.FC = () => { const [siderCollapsed, setSiderCollapsed] = useState(true); const userIsVerified = useAppSelector((state) => state.user.user?.isVerified); + const dispatch = useAppDispatch(); + const user = useAppSelector(state => state.user.user); + + useEffect(() => { + dispatch(fetchUserProfile(user)); + }, [user, dispatch]); + + const toggleSider = () => setSiderCollapsed(!siderCollapsed); return ( @@ -29,11 +37,11 @@ const MainLayout: React.FC = () => { - +
-
+ ); diff --git a/src/components/layouts/main/MainNav/MainNavs.Styles.ts b/src/components/layouts/main/MainNav/MainNavs.Styles.ts index abf86ff3..f72e01b2 100644 --- a/src/components/layouts/main/MainNav/MainNavs.Styles.ts +++ b/src/components/layouts/main/MainNav/MainNavs.Styles.ts @@ -1,25 +1,92 @@ +// MainNavs.Styles.ts import { media } from '@app/utils/utils'; import { Breadcrumb } from 'antd'; import styled from 'styled-components'; export const MainBreadcrumb = styled(Breadcrumb)` - padding: 12px; - border-radius: 8px; - background: ${({ theme }) => theme.background}; + padding: 12px 20px; + border-radius: 15px; + background: #2a2a2a; + box-shadow: 8px 8px 16px #1f1f1f, + -8px -8px 16px #353535; + margin: 16px 24px; + transition: all 0.3s ease; - li:nth-of-type(2) { - text-transform: capitalize; + .ant-breadcrumb-separator { + color: #e0e0e0; + margin: 0 12px; } + li { + display: flex; + align-items: center; + + &:nth-of-type(2) { + text-transform: capitalize; + } + + a { + color: #e0e0e0 !important; + padding: 8px 16px; + border-radius: 10px; + transition: all 0.2s ease; + display: flex; + align-items: center; + gap: 8px; + + &:hover { + color: #ffffff !important; + box-shadow: inset 4px 4px 8px #1f1f1f, + inset -4px -4px 8px #353535; + } + } + + &:last-child { + color: #ffffff; + padding: 8px 16px; + border-radius: 10px; + background: #2a2a2a; + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535; + } + } + + // Default styles for mobile + padding: 12px 20px; + margin: 16px 24px; + + // Tablet and medium screens @media only screen and (${media('md')}) { - padding: 14px; + padding: 14px 24px; + margin: 24px 24px 24px 65px; // Increased left margin to account for collapsed sidebar + } + + // Desktop and larger screens + @media only screen and (${media('xl')}) { + margin: 24px 48px 24px 48px; // Equal margins on desktop } `; export const MainBreadcrumbWrapper = styled.div` - padding: ${({ theme }) => `4px ${theme.paddings.sm}`}; + position: relative; + z-index: 2; + padding: 0 24px; - @media only screen and (${media('md')}) { - padding: ${({ theme }) => `4px ${theme.paddings.xl}`}; + @media only screen and (${media('xl')}) { + margin: 0rem 0rem 0rem 0rem; + padding: 0px; } -`; + + &::before { + content: ''; + position: absolute; + top: 0; + left: 0; + right: 0; + height: 1px; + background: linear-gradient(90deg, + rgba(255,255,255,0.1) 0%, + rgba(64,64,64,0.3) 50%, + rgba(255,255,255,0.1) 100%); + } +`; \ No newline at end of file diff --git a/src/components/layouts/main/MainNav/MainNavs.tsx b/src/components/layouts/main/MainNav/MainNavs.tsx index f9356c7a..4c509e2a 100644 --- a/src/components/layouts/main/MainNav/MainNavs.tsx +++ b/src/components/layouts/main/MainNav/MainNavs.tsx @@ -53,7 +53,25 @@ export const MainNavs = () => { return ( - + { + const isLast = params.index === items.length - 1; + return ( + + {item.icon} + {isLast ? ( + + {item.title} + + ) : item.title} + + ); + }} + /> ); }; diff --git a/src/components/layouts/main/sider/MainSider/MainSider.styles.ts b/src/components/layouts/main/sider/MainSider/MainSider.styles.ts index f57861d8..ab87a04d 100644 --- a/src/components/layouts/main/sider/MainSider/MainSider.styles.ts +++ b/src/components/layouts/main/sider/MainSider/MainSider.styles.ts @@ -9,9 +9,11 @@ export const Sider = styled(BaseLayout.Sider)` overflow: visible; right: 0; z-index: 5; - min-height: 100vh; - max-height: 100vh; - color: ${({ theme }) => theme.textSecondary}; + background: #2a2a2a !important; + border-right: none !important; + box-shadow: 10px 10px 20px #1f1f1f, + -10px -10px 20px #353535; + height: 100vh; // Set fixed viewport height @media only screen and (${media('md')}) { right: unset; @@ -20,10 +22,10 @@ export const Sider = styled(BaseLayout.Sider)` &.ant-layout-sider { position: fixed; - background: ${({ theme }) => theme.layoutSiderBg}; @media only screen and (${media('xl')}) { position: unset; + height: unset; // Reset to 100% for desktop as it will follow container height } } `; @@ -33,24 +35,31 @@ interface Collapse { } export const CollapseButton = styled(BaseButton)` - background: ${({ theme }) => theme.collapseBackground}; - border: 1px solid ${({ theme }) => theme.border}; + background: #2a2a2a; + border: none; + border-radius: 15px; + box-shadow: 5px 5px 10px #1f1f1f, + -5px -5px 10px #353535; + width: 40px; + height: 40px; transition: all 0.2s ease; position: absolute; right: 0.5rem; - color: ${({ theme }) => theme.textSecondary}; + color: #e0e0e0; ${(props) => props.$isCollapsed && css` right: -1rem; + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535; `} &.ant-btn:not(:disabled):hover, &.ant-btn:not(:disabled):focus { - color: ${({ theme }) => theme.textSecondary}; - background: ${({ theme }) => theme.primary}; - border: 1px solid ${({ theme }) => theme.border}; + color: #ffffff; + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535; } `; @@ -58,6 +67,7 @@ export const SiderContent = styled.div` overflow-y: auto; overflow-x: hidden; max-height: calc(100vh - ${LAYOUT.mobile.headerHeight}); + padding: 16px 8px; @media only screen and (${media('md')}) { max-height: calc(100vh - ${LAYOUT.desktop.headerHeight}); @@ -87,6 +97,8 @@ export const SiderLogoDiv = styled.div` export const BrandSpan = styled.span` margin: 0 1rem; font-weight: ${({ theme }) => theme.fontWeights.bold}; - font-size: ${({ theme }) => theme.fontSizes.lg}; - color: ${({ theme }) => theme.white}; -`; + font-size: 1.5rem; + color: #e0e0e0; + text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.3), + -1px -1px 0 rgba(255, 255, 255, 0.1); +`; \ No newline at end of file diff --git a/src/components/layouts/main/sider/MainSider/MainSider.tsx b/src/components/layouts/main/sider/MainSider/MainSider.tsx index 98819668..ceaa096b 100644 --- a/src/components/layouts/main/sider/MainSider/MainSider.tsx +++ b/src/components/layouts/main/sider/MainSider/MainSider.tsx @@ -1,6 +1,7 @@ -import { useMemo } from 'react'; +import { useMemo, useState, useEffect } from 'react'; import { Overlay } from '@app/components/common/Overlay/Overlay'; import { useResponsive } from '@app/hooks/useResponsive'; +import { SiderTutorial } from '@app/components/tutorials/SiderTutorial'; import * as S from './MainSider.styles'; import { SiderLogo } from '../SiderLogo'; import SiderMenu from '../SiderMenu/SiderMenu'; @@ -12,6 +13,14 @@ interface MainSiderProps { const MainSider: React.FC = ({ isCollapsed, setCollapsed, ...props }) => { const { isDesktop, mobileOnly, tabletOnly } = useResponsive(); + const [runTutorial, setRunTutorial] = useState(false); + + useEffect(() => { + const tutorialComplete = localStorage.getItem('tutorialComplete'); + if (!tutorialComplete) { + setRunTutorial(true); + } + }, []); const isCollapsible = useMemo(() => mobileOnly && tabletOnly, [mobileOnly, tabletOnly]); @@ -19,6 +28,7 @@ const MainSider: React.FC = ({ isCollapsed, setCollapsed, ...pro return ( <> + theme.primary}; + .ant-menu-item.ant-menu-item-selected { + background: #2a2a2a !important; + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535 !important; + color: #ffffff !important; } .ant-menu-item:hover { - color: ${({ theme }) => theme.textSiderPrimary} !important; + color: #ffffff !important; + background: #2a2a2a !important; + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535 !important; } - .ant-menu-item:not(:last-child), + .ant-menu-item, .ant-menu-submenu-title { margin-bottom: 8px; + border-radius: 12px; + box-shadow: 5px 5px 10px #1f1f1f, + -5px -5px 10px #353535; + + &:hover { + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535 !important; + } + } + + .ant-menu-item:last-child { + margin-bottom: 8px; + } + + .ant-menu-submenu-title { + color: #e0e0e0 !important; + + &:hover { + color: #ffffff !important; + } + } + + .ant-menu-submenu-arrow { + color: #e0e0e0 !important; + } + + .ant-menu-submenu-open { + .ant-menu-submenu-title { + box-shadow: inset 5px 5px 10px #1f1f1f, + inset -5px -5px 10px #353535 !important; + } } -`; +`; \ No newline at end of file diff --git a/src/components/layouts/main/sider/SiderMenu/SiderMenu.tsx b/src/components/layouts/main/sider/SiderMenu/SiderMenu.tsx index 449a181a..668ce561 100644 --- a/src/components/layouts/main/sider/SiderMenu/SiderMenu.tsx +++ b/src/components/layouts/main/sider/SiderMenu/SiderMenu.tsx @@ -32,12 +32,14 @@ const SiderMenu: React.FC = ({ setCollapsed }) => { defaultSelectedKeys={defaultSelectedKeys} defaultOpenKeys={defaultOpenKeys} onClick={() => setCollapsed(true)} + className="menu-items" items={sidebarNavigation.map((nav) => { const isSubMenu = nav.children?.length; return { key: nav.key, title: t(nav.title), + className: nav.key, label: isSubMenu ? t(nav.title) : {t(nav.title)}, icon: nav.icon, children: diff --git a/src/components/layouts/main/sider/sidebarNavigation.tsx b/src/components/layouts/main/sider/sidebarNavigation.tsx index d58eb22a..c75bc293 100644 --- a/src/components/layouts/main/sider/sidebarNavigation.tsx +++ b/src/components/layouts/main/sider/sidebarNavigation.tsx @@ -12,37 +12,25 @@ export interface SidebarNavigationItem { export const sidebarNavigation: SidebarNavigationItem[] = [ { title: 'sidebar.dashboard', - key: 'penify-dashboard', + key: 'penify-dashboard-class', + url: '/documentation-generator-dashboard', icon: , - children: [ - { - title: 'sidebar.dashboardMenu', - key: 'documentation-generator-dashboard', - url: '/documentation-generator-dashboard', - }, - ], }, { title: 'sidebar.apiKeys', - key: 'penify-api-keys', + key: 'penify-api-keys-class', url: '/penify-api-keys', icon: , }, { title: 'sidebar.profilePage', - key: 'profile', + key: 'profile-page-class', url: '/profile', icon: , }, - { - title: 'sidebar.coupons', - key: 'redeem-coupon', - url: '/redeem-coupon', - icon: , - }, { title: 'sidebar.payments', - key: 'payments', + key: 'payments-page-class', url: '/profile/payments', icon: , }, diff --git a/src/components/profile/ProfileLayout.styles.ts b/src/components/profile/ProfileLayout.styles.ts new file mode 100644 index 00000000..fa442e2b --- /dev/null +++ b/src/components/profile/ProfileLayout.styles.ts @@ -0,0 +1,25 @@ +// ProfileLayout.styles.ts +import styled from 'styled-components'; + +/** + * This container ensures the entire page has a black/gray gradient background, + * giving a consistent "dark" theme behind your neumorphic cards. + */ +export const ProfileLayoutContainer = styled.div` + /* Make the container fill the entire view height to show the gradient fully */ + min-height: 100vh; + border-radius: 16px; /* Optional rounded corners */ + + /* Black/gray gradient background */ + + /* Optional subtle "noise" or pattern can be overlayed if you wish */ + /* background-image: url('/path/to/noise.png'); */ + + /* Since everything is dark, let's ensure the default text is lighter */ + color: #eeeeee; + + /* If you want a default padding around the page content */ + padding: 1rem; + + /* Let children manage their own spacing, or you can do more here */ +`; diff --git a/src/components/profile/ProfileLayout.tsx b/src/components/profile/ProfileLayout.tsx index 61b30ba3..65326183 100644 --- a/src/components/profile/ProfileLayout.tsx +++ b/src/components/profile/ProfileLayout.tsx @@ -1,21 +1,41 @@ -import { useEffect } from 'react'; +// ProfileLayout.tsx +import React, { useEffect } from 'react'; +import { Outlet, useLocation, useNavigate } from 'react-router-dom'; import { LeftOutlined } from '@ant-design/icons'; import { useTranslation } from 'react-i18next'; -import { useNavigate } from 'react-router-dom'; -import { Outlet, useLocation } from 'react-router-dom'; -import styled from 'styled-components'; -import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; -import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; -import { ProfileInfo } from '@app/components/profile/profileCard/ProfileInfo/ProfileInfo'; +import { BaseRow } from '../common/BaseRow/BaseRow'; +import { BaseCol } from '../common/BaseCol/BaseCol'; import { PageTitle } from '@app/components/common/PageTitle/PageTitle'; +import { ProfileInfo } from '@app/components/profile/profileCard/ProfileInfo/ProfileInfo'; import { ProfileNav } from '@app/components/profile/profileCard/ProfileNav/ProfileNav'; import { useResponsive } from '@app/hooks/useResponsive'; import { useAppSelector } from '@app/hooks/reduxHooks'; -import { BaseRow } from '../common/BaseRow/BaseRow'; -import { BaseCol } from '../common/BaseCol/BaseCol'; +import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; +import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; +import { ProfileLayoutContainer } from './ProfileLayout.styles'; // <-- import your new container + +import styled from 'styled-components'; const ProfileCard = styled(BaseCard)` - height: unset; + /* Override or combine with your existing neumorphic styles. */ + background: linear-gradient(45deg, rgba(0, 0, 0, 0.3) 0%, rgba(30, 30, 30, 0.6) 100%); + border-radius: 16px; + border: none; + box-shadow: + 8px 8px 20px rgba(0, 0, 0, 0.4), + -8px -8px 20px rgba(255, 255, 255, 0.04); + + /* Light lift on hover */ + transition: transform 0.3s ease, box-shadow 0.3s ease; + &:hover { + transform: translateY(-3px); + box-shadow: + 12px 12px 30px rgba(0, 0, 0, 0.45), + -12px -12px 30px rgba(255, 255, 255, 0.06); + } + + /* Because the background is dark, ensure internal text is light */ + color: #ffffff; `; const Btn = styled(BaseButton)` @@ -25,6 +45,18 @@ const Btn = styled(BaseButton)` padding: 0; height: unset; color: ${({ theme }) => theme.secondary}; + background: linear-gradient(145deg, #2d2d2d, #1a1a1a); + border: none; + box-shadow: + 4px 4px 8px rgba(0, 0, 0, 0.2), + -4px -4px 8px rgba(255, 255, 255, 0.05); + + &:hover { + box-shadow: + 2px 2px 4px rgba(0, 0, 0, 0.2), + -2px -2px 4px rgba(255, 255, 255, 0.05); + transform: translateY(1px); + } `; const ProfileLayout: React.FC = () => { @@ -41,12 +73,16 @@ const ProfileLayout: React.FC = () => { const isMenuShown = isTabletOrHigher || (mobileOnly && location.pathname !== '/profile'); useEffect(() => { - isTablet && location.pathname === '/profile' && navigate('personal-info'); + if (isTablet && location.pathname === '/profile') { + navigate('personal-info'); + } }, [isTablet, location.pathname, navigate]); return ( - <> + {/* <--- Use the new background container */} {t('profilePage.title')} + + {/* Mobile "Back" button if needed */} {!isTitleShown && ( } type="text" onClick={() => navigate('/profile')}> {t('auth.common.back')} @@ -56,12 +92,12 @@ const ProfileLayout: React.FC = () => { {isTitleShown && ( + {/* Neumorphic card in a dark theme */} - @@ -76,7 +112,7 @@ const ProfileLayout: React.FC = () => { )} - + ); }; diff --git a/src/components/profile/profileCard/ProfileInfo/ProfileInfo.styles.ts b/src/components/profile/profileCard/ProfileInfo/ProfileInfo.styles.ts index 7cf3b6c4..17ac0722 100644 --- a/src/components/profile/profileCard/ProfileInfo/ProfileInfo.styles.ts +++ b/src/components/profile/profileCard/ProfileInfo/ProfileInfo.styles.ts @@ -1,3 +1,4 @@ +/* ProfileInfo.styles.ts */ import styled from 'styled-components'; import { media } from '@app/utils/utils'; import { BaseTypography } from '@app/components/common/BaseTypography/BaseTypography'; @@ -12,20 +13,24 @@ export const Wrapper = styled.div` flex-direction: column; `; +/** + * Container for the avatar circle (with a subtle 3D ring). + */ export const ImgWrapper = styled.div` width: 6.9375rem; margin: 0 auto 1.25rem auto; display: flex; justify-content: center; border-radius: 50%; - background: conic-gradient( - from -35.18deg at 50% 50%, - #006ccf -154.36deg, - #ff5252 24.13deg, - #ffb155 118.76deg, - #006ccf 205.64deg, - #ff5252 384.13deg - ); + + /* + Dark, neumorphic background with subtle highlights/shadows + to give the ring a 3D feeling. + */ + background: linear-gradient(145deg, #2d2d2d, #1a1a1a); + box-shadow: + 8px 8px 16px rgba(0, 0, 0, 0.3), + -8px -8px 16px rgba(255, 255, 255, 0.02); @media only screen and (${media('xl')}) { width: 11.125rem; @@ -33,20 +38,62 @@ export const ImgWrapper = styled.div` } & > span { + /* + The container. We center it with some margin + so the ring effect is visible around it. + */ margin: 5px; width: calc(100% - 10px); height: calc(100% - 10px); @media only screen and (${media('xl')}) { margin: 7px; + width: calc(100% - 14px); + height: calc(100% - 14px); + } + + /* + (Optional) Additional styles if you want the avatar itself + to appear “pushed in.” The .ant-avatar is the container + around the in antd. + */ + .ant-avatar { + background: linear-gradient(#333, #222); + border: none; + display: flex; + align-items: center; + justify-content: center; + box-shadow: + inset 3px 3px 6px rgba(0, 0, 0, 0.5), + inset -3px -3px 6px rgba(255, 255, 255, 0.02); + border-radius: 50%; + } + + /* If you want the actual inside the avatar to have an inset shadow */ + .ant-avatar img { + border-radius: 50%; + box-shadow: + inset 1px 1px 2px rgba(0, 0, 0, 0.5), + inset -1px -1px 2px rgba(255, 255, 255, 0.03); } } `; +/** + * Engraved-looking text: + * - One darker shadow (bottom-right). + * - One lighter shadow (top-left). + */ export const Title = styled(BaseTypography.Text)` font-size: ${({ theme }) => theme.fontSizes.lg}; font-weight: ${({ theme }) => theme.fontWeights.bold}; margin-bottom: 0.5rem; + color: #e2e2e2; /* Slightly lighter than pure white */ + + /* The key: layering “dark + light” shadows to simulate an inset (engraved) look. */ + text-shadow: + 1px 1px 2px rgba(0, 0, 0, 0.7), /* bottom-right darker shadow */ + -1px -1px 2px rgba(255, 255, 255, 0.1); /* top-left subtle highlight */ @media only screen and (${media('xl')}) { font-size: ${({ theme }) => theme.fontSizes.xxl}; @@ -56,6 +103,7 @@ export const Title = styled(BaseTypography.Text)` export const Subtitle = styled(BaseTypography.Text)` margin-bottom: 2rem; + color: #a5a5a5; /* Lighter text color for dark backgrounds */ @media only screen and (${media('xl')}) { font-weight: ${({ theme }) => theme.fontWeights.semibold}; @@ -64,28 +112,31 @@ export const Subtitle = styled(BaseTypography.Text)` } `; +/** + * If you want the fullness bar also to be neumorphic, keep it consistent. + */ export const FullnessWrapper = styled.div` border-radius: 50px; + background: linear-gradient(145deg, #1a1a1a, #2d2d2d); + box-shadow: + inset 3px 3px 6px rgba(0, 0, 0, 0.2), + inset -3px -3px 6px rgba(255, 255, 255, 0.05); + /* Just set a fixed height or place children that define height. */ height: 1.875rem; margin-bottom: 0.625rem; - background-color: rgba(${({ theme }) => theme.rgb.warning}, 0.5); - - @media only screen and (${media('xl')}) { - height: ${({ theme }) => theme.heights.sm}; - margin-bottom: 1rem; - } `; export const FullnessLine = styled.div` display: flex; justify-content: flex-end; - align-items: center; + align-items: center; /* center text if needed */ height: 100%; - padding-right: 0.625rem; border-radius: 50px; width: ${(props) => props.width}%; background: ${({ theme }) => `linear-gradient(90deg, ${theme.warning} 0%, ${theme.error} 100%)`}; - color: ${({ theme }) => theme.textSecondary}; + box-shadow: + inset 3px 3px 6px rgba(0, 0, 0, 0.2), + inset -3px -3px 6px rgba(255, 255, 255, 0.05); @media only screen and (${media('xl')}) { font-size: ${({ theme }) => theme.fontSizes.md}; diff --git a/src/components/profile/profileCard/ProfileInfo/ProfileInfo.tsx b/src/components/profile/profileCard/ProfileInfo/ProfileInfo.tsx index b90bc1c7..2cf13cd3 100644 --- a/src/components/profile/profileCard/ProfileInfo/ProfileInfo.tsx +++ b/src/components/profile/profileCard/ProfileInfo/ProfileInfo.tsx @@ -3,6 +3,8 @@ import { useTranslation } from 'react-i18next'; import { UserModel } from '@app/domain/UserModel'; import * as S from './ProfileInfo.styles'; import { BaseAvatar } from '@app/components/common/BaseAvatar/BaseAvatar'; +import { fetchUserProfile } from '@app/store/slices/userSlice'; +import { useAppDispatch } from '@app/hooks/reduxHooks'; interface ProfileInfoProps { profileData: UserModel | null; @@ -36,8 +38,8 @@ const countKeys = (obj: { [key: string]: any }): KeyCountResult => { export const ProfileInfo: React.FC = ({ profileData }) => { const { t } = useTranslation(); - const [fullness, setFullness] = useState(0); + // dispatch(fetchUserProfile()); useEffect(() => { if (profileData) { @@ -61,7 +63,6 @@ export const ProfileInfo: React.FC = ({ profileData }) => { {fullness}% - {t('profilePage.fullness')} ) : null; }; diff --git a/src/components/profile/profileCard/ProfileNav/ProfileNav.styles.ts b/src/components/profile/profileCard/ProfileNav/ProfileNav.styles.ts index 392c833f..a61e1847 100644 --- a/src/components/profile/profileCard/ProfileNav/ProfileNav.styles.ts +++ b/src/components/profile/profileCard/ProfileNav/ProfileNav.styles.ts @@ -36,3 +36,22 @@ export const Btn = styled(BaseButton)` background-color: rgba(${({ theme }) => theme.rgb.primary}, 0.05); } `; + +export const NavItem = styled.div<{ $active: boolean }>` + background: ${({ $active }) => + $active + ? 'linear-gradient(145deg, #2d2d2d, #1a1a1a)' + : 'transparent'}; + box-shadow: ${({ $active }) => + $active + ? '4px 4px 8px rgba(0, 0, 0, 0.2), -4px -4px 8px rgba(255, 255, 255, 0.05)' + : 'none'}; + border-radius: 12px; + transition: all 0.3s ease; + + &:hover { + box-shadow: + inset 3px 3px 6px rgba(0, 0, 0, 0.2), + inset -3px -3px 6px rgba(255, 255, 255, 0.05); + } +`; \ No newline at end of file diff --git a/src/components/profile/profileCard/profileFormNav/ProfileFormNav.tsx b/src/components/profile/profileCard/profileFormNav/ProfileFormNav.tsx index 54419e1c..fc12b4f0 100644 --- a/src/components/profile/profileCard/profileFormNav/ProfileFormNav.tsx +++ b/src/components/profile/profileCard/profileFormNav/ProfileFormNav.tsx @@ -2,6 +2,7 @@ import React from 'react'; import { Payments } from './nav/payments/Payments'; import { PersonalInfo } from './nav/PersonalInfo/PersonalInfo'; import { SecuritySettings } from './nav/SecuritySettings/SecuritySettings'; +import { PaymentHistory } from './nav/payments/paymentHistory/PaymentHistory/PaymentHistory'; interface ProfileFormNavProps { menu: string; @@ -26,6 +27,11 @@ export const ProfileFormNav: React.FC = ({ menu }) => { break; } + case 'paymentsHistory': { + currentMenu = ; + break; + } + default: { currentMenu = null; } diff --git a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/ConnectAccountItems.tsx b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/ConnectAccountItems.tsx index 6d5f3a02..decf749b 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/ConnectAccountItems.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/ConnectAccountItems.tsx @@ -1,38 +1,36 @@ -import { ConfigConnector, getAllConnectors} from '@app/constants/config/connectors'; +import React, { useEffect, useMemo, useState } from 'react'; +import { ConfigConnector, getAllConnectors } from '@app/constants/config/connectors'; import { useResponsive } from '@app/hooks/useResponsive'; -import { useEffect, useMemo, useState } from 'react'; import { ConnectAccountItem } from './accounts/ConnectAccountItem'; -import { SectionWrapper } from './accounts/ConnectAccountItem.styles'; -import { BaseRow } from '@app/components/common/BaseRow/BaseRow'; -import { BaseCol } from '@app/components/common/BaseCol/BaseCol'; + +/** If you want a simple vertical stack, no need for BaseRow/BaseCol. + We'll just do a minimal wrapper. **/ + +import styled from 'styled-components'; + +export const SectionWrapper = styled.div` + display: flex; + flex-wrap: wrap; + gap: 1rem; +`; export const ConnectAccountItems: React.FC = () => { const [connectors, setConnectors] = useState([]); - const { mobileOnly, isTablet: isTabletOrHigher } = useResponsive(); - useEffect(() => { getAllConnectors().then((res) => setConnectors(res)); }, []); - const accountList = useMemo(() => { - return { - mobile: connectors.map((item, index) => ).slice(0, 3), - tablet: connectors.map((item, index) => ( - -
- -
-
- )), - }; - }, [connectors]); - + /** + * If you want a different approach for mobile vs. tablet, + * you can handle that with .map in a row/col layout. + * But here is a simple approach: + */ return ( - {mobileOnly && accountList.mobile} - - {isTabletOrHigher && connectors.length > 0 && accountList.tablet} + {connectors.map((item) => ( + + ))} ); }; diff --git a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.styles.ts b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.styles.ts index 0307f21e..d27ccb88 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.styles.ts +++ b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.styles.ts @@ -1,127 +1,82 @@ -import styled from 'styled-components'; -import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; -import { BaseTypography } from '@app/components/common/BaseTypography/BaseTypography'; +import styled, { css } from 'styled-components'; import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; -import { media } from '@app/utils/utils'; - -interface CardInternalProps { - $img: string; -} +import { BaseTypography } from '@app/components/common/BaseTypography/BaseTypography'; +import { BaseAvatar } from '@app/components/common/BaseAvatar/BaseAvatar'; -export const AccountImage = styled.img` - animation: imgOut 0.5s; - width: 100%; - height: 120px; - object-fit: cover; - border-top-left-radius: ${({ theme }) => theme.borderRadius}; - border-top-right-radius: ${({ theme }) => theme.borderRadius}; -`; +/** + * Extra small styling for a dark, neumorphic effect. + * Replace hard-coded #2f2f2f, #1c1c1c, #444444 with your theme colors if desired. + */ -export const AccountInfo = styled.div` - position: relative; - padding: 2rem 1.25rem 1.5rem; -`; +interface CardProps { + $connected?: boolean; +} -export const InfoRow = styled.div` +/** Wrapper around the avatar icon (Google/Github) */ +export const IconWrapper = styled.div` display: flex; align-items: center; - justify-content: space-between; - - &:not(:last-of-type) { - margin-bottom: 0.1rem; - } -`; - -export const Title = styled(BaseTypography.Title)` - transition: all 0.5s ease; - - &.ant-typography { - margin-bottom: 0; - font-size: ${({ theme }) => theme.fontSizes.md}; - } + justify-content: center; + margin-top: 0.2rem; `; -export const IconAvatarWrapper = styled.div` - transition: all 0.5s ease; - position: absolute; - top: -45px; - border-radius: 50%; +/** Minimal “title” text under the icon */ +export const Title = styled(BaseTypography.Text)` + margin-top: 0.25rem; + font-size: ${({ theme }) => theme.fontSizes.xs}; + color: #fff; /* or theme.textLight, etc. */ `; -export const ConnectButton = styled(BaseButton)` - transition: all 0.5s ease; - position: absolute; - top: 40px; - right: 40px; - padding: 10px 14px; - font-size: ${({ theme }) => theme.fontSizes.md}; - border-style: solid; -`; - -export const Card = styled(BaseCard)` +/** The entire card to show the provider (Google, GitHub). */ +export const Card = styled(BaseCard)` + position: relative; + width: 45px; /* small, fixed width */ + height: 45px; /* small, fixed height */ + background: #2f2f2f; + border-radius: 8px; overflow: hidden; - border-width: 3px; - &.ant-card-bordered { - border-color: green; - } - - &:hover { - & { - background: ${(props) => `url(${props.$img})`}; - background-repeat: no-repeat; - background-size: cover; - background-position: center; - position: relative; - } - - ${AccountImage} { - animation: imgIn 0.5s; - animation-fill-mode: forwards; - } - - ${Title} { - color: ${({ theme }) => theme.textSecondary}; - } - - ${IconAvatarWrapper} { - transform: translateY(-70px) scale(1.1); - } + margin: 0.5rem 0; + cursor: ${({ $connected }) => ($connected ? 'default' : 'pointer')}; - ${ConnectButton} { - top: 50%; - left: 50%; - transform: translate(-50%, -50%) scale(1.1); - position: absolute; - } + .ant-card-body { + padding: 0; /* remove default padding */ } - @keyframes imgIn { - 99% { - transform: scale(2); - } - - 100% { - opacity: 0; - } - } - - @keyframes imgOut { - 0% { - transform: scale(2); - } - - 100% { - transform: scale(1); - } + /* Dark neumorphic shadow */ + box-shadow: + 4px 4px 8px #1c1c1c, + -4px -4px 8px #444444; + + /* If connected, use a green border highlight or something subtle */ + ${(p) => + p.$connected && + css` + border: 2px solid #30af5b; /* or theme.success */ + `} + + /* If NOT connected => grayscale the entire card */ + ${(p) => + !p.$connected && + css` + filter: grayscale(1); + `} + + /* Hover effect for non-connected cards only */ + &:hover { + ${({ $connected }) => + !$connected && + css` + box-shadow: + 5px 5px 10px #1c1c1c, + -5px -5px 10px #444444; + filter: grayscale(0.7); + `} } `; -export const SectionWrapper = styled.div` - @media only screen and (${media('md')}) { - display: flex; - flex-direction: column; - width: 100%; - gap: 1.25rem; - margin-bottom: 1.5rem; - } +/** A small, circular avatar for the provider icon */ +export const ProviderAvatar = styled(BaseAvatar)` + width: 40px !important; + height: 40px !important; + border-radius: 50%; `; diff --git a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.tsx b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.tsx index 61bb8ef8..22868476 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/ConnectAccountItem/accounts/ConnectAccountItem.tsx @@ -1,7 +1,5 @@ +import React from 'react'; import { useTranslation } from 'react-i18next'; -import * as S from './ConnectAccountItem.styles'; -import { BaseAvatar } from '@app/components/common/BaseAvatar/BaseAvatar'; -import { ConfigConnector } from '@app/constants/config/connectors'; import { useAppSelector } from '@app/hooks/reduxHooks'; import { GITHUB_CONNECTOR_URL, @@ -11,18 +9,20 @@ import { handleOauthSubmit, } from '@app/constants/oauthHandler'; import { useResponsive } from '@app/hooks/useResponsive'; +import { ConfigConnector } from '@app/constants/config/connectors'; +import * as S from './ConnectAccountItem.styles'; export const ConnectAccountItem: React.FC = ({ title, image, Icon, name }) => { const { t } = useTranslation(); - const { isDesktop } = useResponsive(); - const user = useAppSelector((state) => state.user.user); const token = useAppSelector((state) => state.auth.token); + const { isDesktop } = useResponsive(); - const getOAuthDetails = (name: string) => { - if (name === 'google') { + /** Determine if user is connected */ + const getOAuthDetails = (n: string) => { + if (n === 'google') { return { - isConnectionCreated: Boolean(user?.googleLoginId), + isConnectionCreated: !!user?.googleLoginId, providerLoginUrl: GOOGLE_OAUTH_URL, queryParams: { redirect_uri: GOOGLE_CONNECTOR_URL, @@ -31,7 +31,7 @@ export const ConnectAccountItem: React.FC = ({ title, image, Ic }; } else { return { - isConnectionCreated: Boolean(user?.githubLoginId), + isConnectionCreated: !!user?.githubLoginId, providerLoginUrl: GITHUB_OAUTH_URL, queryParams: { redirect_uri: GITHUB_CONNECTOR_URL, @@ -43,23 +43,23 @@ export const ConnectAccountItem: React.FC = ({ title, image, Ic const { isConnectionCreated, providerLoginUrl, queryParams } = getOAuthDetails(name); + const handleClick = () => { + if (!isConnectionCreated) { + handleOauthSubmit(queryParams, providerLoginUrl, isDesktop); + } + }; + return ( - - - {!isConnectionCreated && ( - handleOauthSubmit(queryParams, providerLoginUrl, isDesktop)}> - {t('common.connect')} - - )} - - - } alt="icon" /> - + + {/* We won't show the "image" at all if you want pure icon; + Or if you want, you can do {title} here. + But let's keep it minimal. */} + + } alt={`${name}-icon`} /> + - - {t(title)} - - + {/* Subtle text label, if you want: “Google” or “GitHub” */} + {t(title)} ); }; diff --git a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/EmailItem/EmailItem.tsx b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/EmailItem/EmailItem.tsx index 7671bb9a..9515e2c7 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/EmailItem/EmailItem.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/PersonalInfo/EmailItem/EmailItem.tsx @@ -107,7 +107,6 @@ export const EmailItem: React.FC = ({ emailId }) => { destroyOnClose open={isVerifyModalOpen} footer={false} - closable={false} onCancel={() => setIsVerifyModalOpen(false)} > { const user = useAppSelector((state) => state.user.user); @@ -158,14 +193,11 @@ export const PersonalInfo: React.FC = () => { - - - {t('profilePage.heading.connectAccount')} - - - - - + + + {t('profilePage.heading.connectAccount')} + + @@ -190,13 +222,7 @@ export const PersonalInfo: React.FC = () => { - - - {t('profilePage.heading.referral')} - - - - + { const { t } = useTranslation(); return ( - + ); diff --git a/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/SecuritySettings.styles.ts b/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/SecuritySettings.styles.ts new file mode 100644 index 00000000..2b3f53e3 --- /dev/null +++ b/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/SecuritySettings.styles.ts @@ -0,0 +1,28 @@ +// SecuritySettings.styles.ts +import styled from 'styled-components'; +import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; + +/** + * A dark, gradient-based card with + * a subtle raised (outward) box-shadow. + */ +export const NeumorphicSecurityCard = styled(BaseCard)` + background: linear-gradient(145deg, #2a2a2a, #1f1f1f); + border-radius: 10px; + box-shadow: + 8px 8px 16px rgba(0, 0, 0, 0.4), + -8px -8px 16px rgba(255, 255, 255, 0.02); + border: none; + + /* Provide a consistent color for the text inside */ + color: #ffffff; + + /* Optional slight lift on hover (if you want): + &:hover { + transform: translateY(-3px); + box-shadow: + 10px 10px 20px rgba(0, 0, 0, 0.5), + -10px -10px 20px rgba(255, 255, 255, 0.03); + } + */ +`; diff --git a/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorAuth.tsx b/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorAuth.tsx index 28e4f9bb..90326a29 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorAuth.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorAuth.tsx @@ -76,27 +76,7 @@ export const TwoFactorAuth: React.FC = () => { } onFinish={onClickVerify} > - - - - - - {isEnabled && ( - - - - )} - - setClickedVerify(false)} - > - setClickedVerify(false)} onFinish={onVerify} /> - ); }; diff --git a/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorOptions/TwoFactorOptions.tsx b/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorOptions/TwoFactorOptions.tsx index 11c97b29..970eaa78 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorOptions/TwoFactorOptions.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/SecuritySettings/twoFactorAuth/TwoFactorOptions/TwoFactorOptions.tsx @@ -39,12 +39,7 @@ export const TwoFactorOptions: React.FC = ({ selectedOpti return ( <> setSelectedOption(e.target.value)}> - - - - - ); diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/Payments.tsx b/src/components/profile/profileCard/profileFormNav/nav/payments/Payments.tsx index bb855cf2..2638e20d 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/Payments.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/Payments.tsx @@ -1,5 +1,4 @@ import React, { useMemo } from 'react'; -import { PaymentHistory } from './paymentHistory/PaymentHistory/PaymentHistory'; import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; import { useResponsive } from '@app/hooks/useResponsive'; import { BaseRow } from '@app/components/common/BaseRow/BaseRow'; @@ -15,9 +14,6 @@ export const Payments: React.FC = () => { - - -
), [], diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentHistory/PaymentHistory.tsx b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentHistory/PaymentHistory.tsx index 24a89763..16cb7bbb 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentHistory/PaymentHistory.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentHistory/PaymentHistory.tsx @@ -1,12 +1,12 @@ import React, { useEffect, useMemo, useState } from 'react'; -import { StyleSheetManager } from 'styled-components'; import { useTranslation } from 'react-i18next'; -import { BaseForm } from '@app/components/common/forms/BaseForm/BaseForm'; import { PaymentsTable } from '@app/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentsTable/PaymentsTable'; -import { ContentWrapper } from './PaymentHistory.styles'; import { BaseRow } from '@app/components/common/BaseRow/BaseRow'; import { BaseCol } from '@app/components/common/BaseCol/BaseCol'; import { PaymentHistoryTypes, getPaymentHistory } from '@app/api/payment.api'; +import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; +import { useResponsive } from '@app/hooks/useResponsive'; +import { BaseButtonsForm } from '@app/components/common/forms/BaseButtonsForm/BaseButtonsForm'; export const PaymentHistory: React.FC = () => { const [history, setHistory] = useState([]); @@ -18,25 +18,23 @@ export const PaymentHistory: React.FC = () => { .then((data) => setHistory(data)) .catch((err) => console.error(err)); }, []); + const { isTablet } = useResponsive(); const content = useMemo( () => ( - {t('profilePage.heading.paymentHistory')} + + {t('profilePage.heading.paymentHistory')} + - prop !== 'isEmptyHistory'}> - - - - + ), [history, t], ); - - return content; + return isTablet ? {content} : content; }; diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentsTable/PaymentsTable.styles.ts b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentsTable/PaymentsTable.styles.ts index e91e7bf2..53f7b3de 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentsTable/PaymentsTable.styles.ts +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentsTable/PaymentsTable.styles.ts @@ -23,4 +23,11 @@ export const PaymentHistoryTable = styled(BaseTable)` font-weight: ${({ theme }) => theme.fontWeights.semibold}; font-size: ${({ theme }) => theme.fontSizes.md}; } + .ant-table-pagination { + margin: 1rem !important; + } + + .ant-pagination .ant-pagination-item-active a { + background: rgba(${({ theme }) => theme.rgb.primary}, 0.3) !important; + } `; \ No newline at end of file diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.styles.ts b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.styles.ts index 31196802..a2c47b4f 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.styles.ts +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.styles.ts @@ -1,5 +1,5 @@ import { BaseCard } from '@app/components/common/BaseCard/BaseCard'; -import { BaseModal } from '@app/components/common/BaseModal/BaseModal'; +import { Modal, Radio } from 'antd'; import styled from 'styled-components'; export const PaymentSwitcher = styled.div` @@ -31,8 +31,6 @@ export const PaymentSwitcher = styled.div` `; export const PricingCard = styled(BaseCard)` - background: ${({ theme }) => theme.priceBg}; - .ant-card-body { padding: 1.75rem; @@ -111,16 +109,137 @@ export const PricingCard = styled(BaseCard)` } `; -export const CheckoutModal = styled(BaseModal)` - table { - width: 100%; - border-collapse: collapse; +export const CheckoutModal = styled(Modal)` + .ant-modal-content { + background: linear-gradient(145deg, #1f1f24, #18181d); + border-radius: 24px; + border: 1px solid rgba(255, 255, 255, 0.05); + box-shadow: 20px 20px 60px #141417, -20px -20px 60px #24242b; + } + + .ant-modal-header { + background: transparent; + border: none; + padding: 24px 32px 0; + } + + .ant-modal-title { + color: rgba(255, 255, 255, 0.95); + font-size: 1.75rem; + font-weight: 600; + text-align: center; + margin-bottom: 1rem; + } + + .ant-modal-body { + padding: 24px 32px; + } + + .checkout-section { + background: linear-gradient(145deg, #1a1a1f, #15151a); + border-radius: 16px; + padding: 20px; + margin-bottom: 20px; + box-shadow: inset 5px 5px 10px #111113, inset -5px -5px 10px #1f1f24; + } + + .section-title { + color: rgba(255, 255, 255, 0.9); + font-size: 1rem; + font-weight: 500; + margin-bottom: 16px; + } + + .info-row { + display: flex; + justify-content: space-between; + align-items: center; + padding: 12px 16px; + margin: 8px 0; + border-radius: 12px; + background: linear-gradient(145deg, #1d1d22, #18181d); + box-shadow: 3px 3px 6px #131315, -3px -3px 6px #25252a; + transition: all 0.3s ease; + + &:hover { + transform: translateY(-2px); + box-shadow: 4px 4px 8px #131315, -4px -4px 8px #25252a; + } + } + + .label { + color: rgba(255, 255, 255, 0.7); + font-size: 0.9rem; + } - td, - th { - border: 1px solid ${({ theme }) => theme.priceLine}; - padding: 8px 14px; - text-align: start; + .value { + color: rgba(255, 255, 255, 0.9); + font-weight: 500; + } + + .total-section { + margin-top: 24px; + padding: 20px; + border-radius: 16px; + background: linear-gradient(145deg, #2a2a32, #1f1f24); + box-shadow: 5px 5px 10px #141417, -5px -5px 10px #2a2a31; + } + + .ant-modal-footer { + background: transparent; + border: none; + padding: 0 32px 24px; + + .ant-btn { + border-radius: 12px; + height: 48px; + font-size: 1rem; + padding: 0 32px; + transition: all 0.3s ease; + + &.ant-btn-primary { + background: linear-gradient(145deg, #3a7bc7, #4a90e2); + border: none; + box-shadow: 4px 4px 8px #131315, -4px -4px 8px #25252a; + + &:hover { + transform: translateY(-2px); + background: linear-gradient(145deg, #4a90e2, #5aa0f2); + box-shadow: 6px 6px 12px #131315, -6px -6px 12px #25252a; + } + + &:active { + transform: translateY(1px); + } + } + } + } +`; + +export const RadioGroupStyled = styled(Radio.Group)` + display: flex; + gap: 12px; + + .ant-radio-button-wrapper { + border-radius: 10px; + height: 40px; + line-height: 38px; + background: linear-gradient(145deg, #1d1d22, #18181d); + border: 1px solid rgba(255, 255, 255, 0.1); + box-shadow: 3px 3px 6px #131315, -3px -3px 6px #25252a; + + &:not(:first-child)::before { + width: 0 !important; + } + + &:hover { + transform: translateY(-1px); + } + + &.ant-radio-button-wrapper-checked { + background: linear-gradient(145deg, #2a2a32, #1f1f24); + border-color: rgba(255, 255, 255, 0.2); + color: #4a90e2; } } `; diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.tsx b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.tsx index b759c4f1..092e3b8d 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/PaymentPricing.tsx @@ -1,7 +1,6 @@ import { exchangeRateApi, getLocationApi } from '@app/api/analytics.api'; import { BaseCol } from '@app/components/common/BaseCol/BaseCol'; import { BaseRow } from '@app/components/common/BaseRow/BaseRow'; -import { BaseForm } from '@app/components/common/forms/BaseForm/BaseForm'; import { useResponsive } from '@app/hooks/useResponsive'; import { useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; @@ -15,6 +14,7 @@ import { DownOutlined } from '@ant-design/icons'; import { Flex } from 'antd'; import pricingData from './payment.json'; import { PaymentPricingContent } from './paymentPricingContent/PaymentPricingContent'; +import { BaseButtonsForm } from '@app/components/common/forms/BaseButtonsForm/BaseButtonsForm'; export const PaymentPricing = () => { const location = useLocation(); @@ -69,14 +69,32 @@ export const PaymentPricing = () => { const content = ( - {t('common.subscription')} - + + {t('common.subscription')} + + + {t('time.monthly')} setSwithState(!switchState)} /> {t('time.annually')}(10% discount) + + {/* + + + */} { {t('common.currency')} - {currency}
+ + diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/PaymentPricingContent.tsx b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/PaymentPricingContent.tsx index 5f02ace9..972cdc7e 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/PaymentPricingContent.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/PaymentPricingContent.tsx @@ -115,8 +115,9 @@ export const PaymentPricingContent: React.FC = ({ return ( + - + diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/PlanCheckoutModal.tsx b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/PlanCheckoutModal.tsx index 8934f918..64fceaf5 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/PlanCheckoutModal.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/PlanCheckoutModal.tsx @@ -1,6 +1,5 @@ import React, { useContext, useEffect, useState } from 'react'; -import { CheckoutModal } from '../../PaymentPricing.styles'; -import Title from 'antd/es/typography/Title'; +import { CheckoutModal, RadioGroupStyled } from '../../PaymentPricing.styles'; import { useTranslation } from 'react-i18next'; import { SelectReposDropdown } from './selectReposDropdown/SelectReposDropdown'; import { useFeedback } from '@app/hooks/useFeedback'; @@ -79,85 +78,58 @@ export const PlanCheckoutModal: React.FC = () => { )} setIsCheckoutModalOpen(false)} okText="Confirm Purchase" okButtonProps={{ disabled: checkedItems.length <= 0 }} > - {t('checkout.orderSummary')} - - - - - - - - - - - - {/* - - - - - - - - - - */} - - - - - - - - - - - - - - - - +
+
+ {t('checkout.planName')} + {planName} +
+
+ {t('checkout.paymentType')} + + {t('checkout.monthly')} + {t('checkout.yearly')} + +
+
+ {t('checkout.select')} + +
+
- - - - - - -
{t('checkout.planName')}{planName}
{t('checkout.price')} - {getCurrencySymbol(currency)} - {convertPrices(priceAmount, )} {currency} - {checkedItems.length > 1 ? ` x ${checkedItems.length} ` : ''} -
{t('checkout.recurring')} - setIsSubscriptionEnabled(target.checked)} - > - {isSubscriptionEnabled ? 'Enabled' : 'Disabled'} - -
{t('checkout.billing')}{switchState ? 'Yearly' : 'Monthly'}
{t('checkout.paymentType')} - - {t('checkout.monthly')} - {t('checkout.yearly')} - -
{t('checkout.select')} - -
{t('checkout.tax')} - {getCurrencySymbol(currency)} - {(convertPrices(priceAmount) * 0.0).toFixed(0)} {currency} -
{t('checkout.total')} - {getCurrencySymbol(currency)} - {(convertPrices(priceAmount) * (checkedItems.length > 1 ? checkedItems.length : 1)).toFixed(0)}{' '} - {currency} -
+
+
+ {t('checkout.price')} + + {getCurrencySymbol(currency)} + {convertPrices(priceAmount)} {currency} + {checkedItems.length > 1 ? ` x ${checkedItems.length}` : ''} + +
+
+ {t('checkout.tax')} + + {getCurrencySymbol(currency)} + {(convertPrices(priceAmount) * 0.0).toFixed(0)} {currency} + +
+
+ + {t('checkout.total')} + + + {getCurrencySymbol(currency)} + {(convertPrices(priceAmount) * (checkedItems.length > 1 ? checkedItems.length : 0)).toFixed(0)}{' '} + {currency} + +
+
diff --git a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/selectReposDropdown/SelectReposDropdown.tsx b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/selectReposDropdown/SelectReposDropdown.tsx index f3f0d3ad..76d3726e 100644 --- a/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/selectReposDropdown/SelectReposDropdown.tsx +++ b/src/components/profile/profileCard/profileFormNav/nav/payments/paymentPricing/paymentPricingContent/planCheckoutModal/selectReposDropdown/SelectReposDropdown.tsx @@ -2,51 +2,165 @@ import { DownOutlined } from '@ant-design/icons'; import { GitAppUsageType, getGitAppUsage } from '@app/api/analytics.api'; import { BaseButton } from '@app/components/common/BaseButton/BaseButton'; import { BaseCheckbox } from '@app/components/common/BaseCheckbox/BaseCheckbox'; -import { BaseDropdown } from '@app/components/common/BaseDropdown/BaseDropdown'; -import { DropdownProps, MenuProps } from 'antd'; +import { Button, DropdownProps, MenuProps } from 'antd'; import { CheckboxChangeEvent } from 'antd/lib/checkbox'; -import { useContext, useEffect, useState } from 'react'; +import { useContext, useEffect, useState, useRef } from 'react'; import { useSearchParams } from 'react-router-dom'; -import { media } from '@app/utils/utils'; import styled from 'styled-components'; import { PaymentContext } from '../../../paymentContext/PaymentContext'; +import { Dropdown as AntDropdown } from 'antd'; +import { neumorphicButtonStyles } from '@app/styles/neumorphicStyles'; -type SelectReposDropdownTypes = { - checkedItems: string[]; - setCheckedItems: React.Dispatch>; -}; +const StyledBaseButton = styled(Button)<{ selected: boolean }>` + ${neumorphicButtonStyles} + display: flex; + align-items: center; + justify-content: space-between; + min-width: 200px; + box-shadow: 3px 3px 6px #131315, -3px -3px 6px #25252a; + + .anticon { + margin-left: 8px; + transition: transform 0.3s ease; + } + + &:hover .anticon { + transform: rotate(180deg); + } + + &.selected { + color: #4a90e2; + } +`; -const CustomizedBaseDropdown = styled(BaseDropdown)` +const DropdownWrapper = styled.div` .ant-dropdown-menu { + max-height: 400px; overflow-y: auto; - max-height: 170px; + background: #1a1a1a; + border-radius: 20px 0px 0px 20px; + padding: 16px; + box-shadow: 5px 5px 10px #1a1a1a, + -5px -5px 10px #3a3a3a; - @media only screen and (${media('lg')}) { - max-height: 238px; + &::-webkit-scrollbar { + width: 8px; + border-radius: 4px; } - @media only screen and (${media('xxl')}) { - max-height: 340px; + &::-webkit-scrollbar-track { + background: #2a2a2a; + border-radius: 4px; } + + &::-webkit-scrollbar-thumb { + background: #3a3a3a; + border-radius: 4px; + box-shadow: inset 2px 2px 4px #1a1a1a, + inset -2px -2px 4px #3a3a3a; + } + + .ant-dropdown-menu-item { + background: transparent; + border-radius: 12px; + margin: 8px 0; + padding: 0px; + transition: all 0.3s ease; + + &:hover { + background: #353535; + transform: translateX(5px); + } + } + } +`; + +const SearchWrapper = styled.div` + position: sticky; + top: 0; + z-index: 1; + width: 100%; + background-color: #1a1a1a; + padding: 12px 0; +`; + +const SearchFinder = styled.div<{ isActive: boolean }>` + background-color: #2a2a2a; + border-radius: 15px; + padding: 4px; + width: 100%; + box-shadow: ${({ isActive }) => isActive + ? 'inset 8px 8px 16px #1a1a1a, inset -8px -8px 16px #3a3a3a' + : '6px 6px 12px #1a1a1a, -6px -6px 12px #3a3a3a'}; + transition: all 0.3s ease; +`; + +const SearchInner = styled.div` + display: flex; + align-items: center; + border-radius: 12px; + padding: 8px 16px; + background: ${({ isActive }) => isActive ? '#2a2a2a' : 'transparent'}; +`; + +const SearchInput = styled.input` + width: 100%; + border: none; + background-color: transparent; + outline: none; + font-size: 1rem; + letter-spacing: 0.75px; + color: #ffffff; + padding: 8px; + + &::placeholder { + color: #808080; + transition: opacity 0.3s ease; } - .ant-dropdown-menu-title-content { - flex: 0 !important; + &:focus::placeholder { + opacity: 0.5; } `; -// Styled version of BaseButton that makes the border thicker if items are selected. -const StyledBaseButton = styled(BaseButton)<{ selected: boolean }>` - font-weight: bold; - border: ${({ selected }) => - selected ? '2px solid #01509a !important' : '1px solid rgba(0, 0, 0, 0.15)'}; - color: ${({ selected }) => (selected ? '#01509a' : 'rgba(0, 0, 0, 0.85)')}; +const StyledCheckbox = styled(BaseCheckbox)` + .ant-checkbox { + background: #2a2a2a; + border-radius: 6px; + border: none; + box-shadow: inset 2px 2px 4px #1a1a1a, + inset -2px -2px 4px #3a3a3a; + } + + .ant-checkbox-checked { + background: #01509a; + box-shadow: 2px 2px 4px #1a1a1a, + -2px -2px 4px #3a3a3a; + + &::after { + content: ''; + position: absolute; + width: 100%; + height: 100%; + background: rgba(1, 80, 154, 0.2); + filter: blur(8px); + border-radius: 6px; + } + } + + .ant-checkbox-inner { + background: transparent; + border: none; + } `; export const SelectReposDropdown: React.FC = () => { const { checkedItems, setCheckedItems } = useContext(PaymentContext); const [repoList, setRepoList] = useState([]); const [isDropdownVisible, setIsDropdownVisible] = useState(false); + const [searchText, setSearchText] = useState(''); + const searchInputRef = useRef(null); + const [isSearchActive, setIsSearchActive] = useState(false); const [params] = useSearchParams(); const selectedRepo = params.get('accept_payment'); @@ -65,21 +179,48 @@ export const SelectReposDropdown: React.FC = () => { } }; - const menuItems: MenuProps['items'] = repoList.map((option) => ({ - key: option.repo_name, - label: ( - onCheckboxChange(e, option.id?.toString() || '')} - checked={checkedItems.includes(option.id?.toString() || '')} - > - {option.organization_name}/{option.repo_name} - - ), - })); + const filteredRepoList = repoList.filter(option => + `${option.organization_name}/${option.repo_name}` + .toLowerCase() + .includes(searchText.toLowerCase()) + ); + + const menuItems: MenuProps['items'] = [ + { + key: 'search', + label: ( + e.stopPropagation()}> + + + setSearchText(e.target.value)} + onFocus={() => setIsSearchActive(true)} + onBlur={() => setIsSearchActive(searchText.length > 0)} + /> + + + + ) + }, + ...filteredRepoList.map((option) => ({ + key: option.id?.toString() || '', + label: ( + onCheckboxChange(e, option.id?.toString() || '')} + checked={checkedItems.includes(option.id?.toString() || '')} + > + {option.organization_name}/{option.repo_name} + + ), + })) + ]; useEffect(() => { getGitAppUsage() - .then((resp) => setRepoList(resp.filter((data) => data.plan_type === 'FREE'))) + .then((resp) => setRepoList(resp.filter((data) => true || data.plan_type === 'FREE'))) .catch((err) => { console.error(err); }); @@ -99,16 +240,22 @@ export const SelectReposDropdown: React.FC = () => { }, [repoList, selectedRepo, setCheckedItems]); return ( - ( + + {menu} + + )} > - 0}> - {checkedItems.length > 0 ? `Selected ${checkedItems.length} Repo` : 'Please select'} + 0} className={checkedItems.length > 0 ? 'selected' : ''}> + {checkedItems.length > 0 ? `Selected ${checkedItems.length} Repo` : 'Please select'} + - + ); }; diff --git a/src/components/router/AppRouter.tsx b/src/components/router/AppRouter.tsx index 6ce0d4f5..788e0073 100644 --- a/src/components/router/AppRouter.tsx +++ b/src/components/router/AppRouter.tsx @@ -36,6 +36,7 @@ const SecuritySettingsPage = React.lazy( () => import('@app/pages/AuthPages/SecuritySettingsPage/SecuritySettingsPage') ); const PaymentsPage = React.lazy(() => import('@app/pages/DashboardPages/PaymentPage/PaymentsPage')); +const PaymentsHistoryPage = React.lazy(() => import('@app/pages/DashboardPages/PaymentHistoryPage/PaymentsHistoryPage')); const Logout = React.lazy(() => import('./Logout')); export const DASHBOARD_PATH = '/'; @@ -53,6 +54,7 @@ const Error404 = withLoading(Error404Page); const PersonalInfo = withLoading(PersonalInfoPage); const SecuritySettings = withLoading(SecuritySettingsPage); const Payments = withLoading(PaymentsPage); +const PaymentsHistory = withLoading(PaymentsHistoryPage); // Dashboard const DocGenDashboard = withLoading(DocGenDashboardPage); @@ -155,6 +157,7 @@ export const AppRouter: React.FC = () => { } /> } /> } /> + } /> }> diff --git a/src/components/tutorials/SiderTutorial.tsx b/src/components/tutorials/SiderTutorial.tsx new file mode 100644 index 00000000..c0279ff3 --- /dev/null +++ b/src/components/tutorials/SiderTutorial.tsx @@ -0,0 +1,86 @@ +import React from 'react'; +import Joyride, { Step } from 'react-joyride'; +import { TutorialContent } from './TutorialContent'; +import { TutorialWrapper } from './Tutorial.styles'; + +interface SiderTutorialProps { + run: boolean; + setRun: (run: boolean) => void; +} + +export const SiderTutorial: React.FC = ({ run, setRun }) => { + const steps: Step[] = [ + { + target: '#root', + content: , + placement: 'center', + styles: { + tooltip: { + width: '80vw', + maxWidth: '600px', + backgroundColor: '#1a1a1a' + }, + options: { + arrowColor: '#1a1a1a' + } + } + }, + { + target: '.penify-dashboard-class', + content: , + placement: 'right', + styles: { + tooltip: { + width: '300px', + backgroundColor: '#1a1a1a' + }, + options: { + arrowColor: '#1a1a1a' + } + } + }, + { + target: '.penify-api-keys-class', + content: , + placement: 'right', + styles: { + tooltip: { + width: '300px', + backgroundColor: '#1a1a1a' + }, + options: { + arrowColor: '#1a1a1a' + } + } + }, + ]; + + const handleTourCallback = (data: any) => { + const { status } = data; + if (status === 'finished' || status === 'skipped') { + setRun(false); + localStorage.setItem('tutorialComplete', 'true'); + } + }; + + return ( + + + + ); +}; diff --git a/src/components/tutorials/Tutorial.styles.tsx b/src/components/tutorials/Tutorial.styles.tsx new file mode 100644 index 00000000..ada5296b --- /dev/null +++ b/src/components/tutorials/Tutorial.styles.tsx @@ -0,0 +1,170 @@ +import styled from 'styled-components'; + +export const TutorialWrapper = styled.div` + .react-joyride__tooltip { + background: #ffffff !important; + border-radius: 8px !important; + box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1) !important; + } + + .react-joyride__button { + background: #1890ff !important; + border-radius: 4px !important; + border: none !important; + color: white !important; + padding: 8px 16px !important; + transition: all 0.2s !important; + + &:hover { + background: #40a9ff !important; + transform: translateY(-1px) !important; + } + } +`; + +export const LargeTutorialContent = styled.div` + color: white; + max-width: 800px; + margin: 0 auto; + + .feature-carousel { + background: #1a1a1a; + border-radius: 12px; + + .content { + padding-top: 10px; + padding-bottom: 10px; + padding-left: 5px; + padding-right: 5px; + display: grid; + gap: 24px; + grid-template-rows: auto auto 1fr; + } + + .title-section { + text-align: center; + margin-bottom: 8px; + } + + .feature-title { + color: #f3f4f6; + font-size: 24px; + font-weight: 600; + margin: 0; + letter-spacing: -0.02em; + } + + .description-section { + background: #f3f4f6; + border-radius: 8px; + padding: 16px; + } + + .description { + color: #4b5563; + font-size: 16px; + line-height: 1.6; + margin: 0; + + a { + color: #1890ff; + text-decoration: none; + font-weight: 500; + + &:hover { + text-decoration: underline; + } + } + } + + .image-section { + display: flex; + justify-content: center; + align-items: center; + margin-top: 16px; + background: #f9fafb; + border-radius: 8px; + } + + .ant-image { + width: 100%; + img { + max-height: 40vh; + object-fit: contain; + border-radius: 4px; + border: 1px solid #e5e7eb; + } + } + + .ant-carousel { + .slick-dots { + bottom: -24px; + + li { + margin: 0 4px; + + button { + width: 6px; + height: 6px; + border-radius: 3px; + background: #d1d5db; + transition: all 0.3s ease; + } + + &.slick-active button { + width: 20px; + background: #1890ff !important; + } + } + } + + .slick-prev, .slick-next { + z-index: 1; + width: 40px; + height: 40px; + background: rgba(0, 0, 0, 0.5) !important; + border-radius: 50%; + box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2); + transition: all 0.2s; + opacity: 0.7; + + &:hover { + background: rgba(0, 0, 0, 0.8) !important; + opacity: 1; + transform: scale(1.1); + } + + &::before { + color: white; + font-size: 18px; + line-height: 1; + opacity: 1; + font-family: 'Arial'; + } + } + + .slick-prev { + left: 10px; + &::before { + content: '‹'; + } + } + + .slick-next { + right: 10px; + &::before { + content: '›'; + } + } + } + } +`; + +export const SmallTutorialContent = styled.div` + color: #111827; + font-size: 14px; + padding: 10px 10px; + background: #ffffff; + border-radius: 6px; + box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); +`; diff --git a/src/components/tutorials/TutorialContent.tsx b/src/components/tutorials/TutorialContent.tsx new file mode 100644 index 00000000..d32899ce --- /dev/null +++ b/src/components/tutorials/TutorialContent.tsx @@ -0,0 +1,32 @@ +import React from 'react'; +import { DashboardInfo } from '../dashboard/DashboardInfo/DashboardInfo'; +import { LargeTutorialContent, SmallTutorialContent } from './Tutorial.styles'; + +interface TutorialContentProps { + step: number; +} + +export const TutorialContent: React.FC = ({ step }) => { + switch (step) { + case 0: + return ( + + + + ); + case 1: + return ( + + Here you will find list of all Git Repositories be GitHub, BitBucket, GitLab, AzureDevops. + + ); + case 2: + return ( + + If you ever plan to leverage Penify-CLI, this page will help you. + + ); + default: + return null; + } +}; diff --git a/src/config/mixpanel.ts b/src/config/mixpanel.ts index c9fac94c..44903bc6 100644 --- a/src/config/mixpanel.ts +++ b/src/config/mixpanel.ts @@ -20,7 +20,14 @@ const MIXPANEL_TOKEN = '3cc6dbdcb34ee3957202eda8395b58aa'; let isInitialized = false; +const isLocalhost = window.location.hostname === 'localhost' || window.location.hostname === '127.0.0.1'; + const initMixPanel = () => { + if (isLocalhost) { + console.log('Mixpanel disabled on localhost'); + return; + } + try { mixpanel.init(MIXPANEL_TOKEN, { track_pageview: false, @@ -37,6 +44,7 @@ const initMixPanel = () => { }; const ensureInit = () => { + if (isLocalhost) return; if (!isInitialized) { console.warn('Mixpanel not initialized. Initializing now.'); initMixPanel(); @@ -57,6 +65,7 @@ const createUserProperties = (user?: UserModel | null) => { } export const trackEvent = (event_name: string, properties?: Dict, user?: UserModel | null) => { + if (isLocalhost) return; try { ensureInit(); const eventProperties = { @@ -70,6 +79,7 @@ export const trackEvent = (event_name: string, properties?: Dict, user?: UserMod }; export const trackPageView = (url: string, user: UserModel | null) => { + if (isLocalhost) return; try { ensureInit(); const properties = { @@ -83,6 +93,7 @@ export const trackPageView = (url: string, user: UserModel | null) => { }; export const trackClicks = (event: MouseEvent, user: UserModel | null) => { + if (isLocalhost) return; const target = event.target as HTMLElement; // check for anchor tags diff --git a/src/constants/profileNavData.tsx b/src/constants/profileNavData.tsx index aef85032..371ad2c0 100644 --- a/src/constants/profileNavData.tsx +++ b/src/constants/profileNavData.tsx @@ -1,4 +1,4 @@ -import { DollarOutlined, SecurityScanOutlined, UserOutlined } from '@ant-design/icons'; +import { DollarOutlined, TransactionOutlined, UserOutlined } from '@ant-design/icons'; import React from 'react'; interface ProfileNavItem { @@ -19,16 +19,16 @@ export const profileNavData: ProfileNavItem[] = [ }, { id: 2, - name: 'profilePage.nav.security', - icon: , - color: 'success', - href: 'security-settings', - }, - { - id: 3, name: 'profilePage.nav.payment', icon: , color: 'warning', href: 'payments', }, + { + id: 3, + name: 'profilePage.nav.paymentsHistory', + icon: , + color: 'warning', + href: 'paymentsHistory', + }, ]; diff --git a/src/hooks/useLanguage.ts b/src/hooks/useLanguage.ts index b2137ed2..1270928b 100644 --- a/src/hooks/useLanguage.ts +++ b/src/hooks/useLanguage.ts @@ -4,6 +4,7 @@ import { useCallback, useEffect, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; const localLanguage = (localStorage.getItem('lng') as LanguageType) || 'en'; +console.log('localLanguage', localLanguage); export const useLanguage = (): { language: LanguageType; setLanguage: (locale: LanguageType) => Promise } => { const { i18n } = useTranslation(); diff --git a/src/hooks/useThemeWatcher.ts b/src/hooks/useThemeWatcher.ts index 2968ceb4..3e89d870 100644 --- a/src/hooks/useThemeWatcher.ts +++ b/src/hooks/useThemeWatcher.ts @@ -1,9 +1,13 @@ import { useEffect, useRef } from 'react'; -import { useAppSelector } from './reduxHooks'; +import { useAppDispatch, useAppSelector } from './reduxHooks'; +import { setTheme } from '@app/store/slices/themeSlice'; export const useThemeWatcher = (): void => { + const dispatch = useAppDispatch(); + dispatch(setTheme('light')); const theme = useAppSelector((state) => state.theme.theme); const root = useRef(document.querySelector(':root')); + useEffect(() => { const html = root.current; diff --git a/src/locales/de/translation.json b/src/locales/de/translation.json index 28ee8a0b..9a8966b3 100644 --- a/src/locales/de/translation.json +++ b/src/locales/de/translation.json @@ -4,6 +4,7 @@ "activate": "Activate", "create": "Create", "createdAt": "Created At", + "lastUsed": "Last Used", "createMessage": "{{key}} created successfully", "createMessageErr": "Failed to create API Key. Please try again later!", "deactivate": "Deactivate", @@ -13,7 +14,7 @@ "deleteTempMessage": "The key has been deleted successfully", "key": "Key", "toggleMessage": "{{key}} updated successfully", - "toggleMessageErr": "Failed tp update API Key. Please try again later!" + "toggleMessageErr": "Failed to update API Key. Please try again later!" }, "auth": { "common": { @@ -67,8 +68,8 @@ }, "resetPassword": "Reset password", "securityCodeNoCode": "Didn't get a verification code?", - "securityCodeTitle": "Check your mail", - "sendInstructions": "Send instructions", + "securityCodeTitle": "Check your Email", + "sendInstructions": "Send Instructions", "signup": { "agree": "I agree to the", "alreadyHaveAccount": "Already have an account? Log in", @@ -171,7 +172,7 @@ "archUrl": "Click here to go to Architecture Documentation", "archUrlUnavailable": "Architecture Documentation is not available, please generate it.", "docGenLink": "Automated Documentation Generator", - "docstringsDocBtn": "Generate Repository Documentation", + "docstringsDocBtn": "Generate Full Repository Documentation", "featureList": { "list01": { "desc": "Easily generate docs directly from your GitHub repositories.", @@ -339,21 +340,22 @@ "gender": "Gender", "lang": "Language", "paymentDate": "Date", - "paymentHistory": "Payment History", + "paymentHistory": "Transactions History", "paymentHistoryErr": "No data available", "paymentStatus": "Status", "personalInfo": "Personal Info", "planType": "Plan Type", "referral": "Referral", - "referredBy": "Referrer ID (Add the User ID of the user who referred you).", + "referredBy": "Referrer ID (User ID of the user who referred you).", "userID": "User ID", "verified": "Verified", "zipcode": "Zipcode" }, "nav": { - "payment": "Payments", + "payment": "Subscriptions", "personalInfo": "Personal Info", - "security": "Security Settings" + "security": "Security Settings", + "paymentsHistory": "Transactions History" }, "success": "Success", "title": "Profile" diff --git a/src/locales/en/translation.json b/src/locales/en/translation.json index 341ea2cf..f25cb52f 100644 --- a/src/locales/en/translation.json +++ b/src/locales/en/translation.json @@ -4,6 +4,7 @@ "activate": "Activate", "create": "Create", "createdAt": "Created At", + "lastUsed": "Last Used", "createMessage": "{{key}} created successfully", "createMessageErr": "Failed to create API Key. Please try again later!", "deactivate": "Deactivate", @@ -13,7 +14,7 @@ "deleteTempMessage": "The key has been deleted successfully", "key": "Key", "toggleMessage": "{{key}} updated successfully", - "toggleMessageErr": "Failed tp update API Key. Please try again later!" + "toggleMessageErr": "Failed to update API Key. Please try again later!" }, "auth": { "common": { @@ -67,8 +68,8 @@ }, "resetPassword": "Reset password", "securityCodeNoCode": "Didn't get a verification code?", - "securityCodeTitle": "Check your mail", - "sendInstructions": "Send instructions", + "securityCodeTitle": "Check your Email", + "sendInstructions": "Send Instructions", "signup": { "agree": "I agree to the", "alreadyHaveAccount": "Already have an account? Log in", @@ -171,7 +172,7 @@ "archUrl": "Click here to go to Architecture Documentation", "archUrlUnavailable": "Architecture Documentation is not available, please generate it.", "docGenLink": "Automated Documentation Generator", - "docstringsDocBtn": "Generate Repository Documentation", + "docstringsDocBtn": "Generate Full Repository Documentation", "featureList": { "list01": { "desc": "Easily generate docs directly from your GitHub repositories.", @@ -339,21 +340,22 @@ "gender": "Gender", "lang": "Language", "paymentDate": "Date", - "paymentHistory": "Payment History", + "paymentHistory": "Transactions History", "paymentHistoryErr": "No data available", "paymentStatus": "Status", "personalInfo": "Personal Info", "planType": "Plan Type", "referral": "Referral", - "referredBy": "Referrer ID (Add the User ID of the user who referred you).", + "referredBy": "Referrer ID (User ID of the user who referred you).", "userID": "User ID", "verified": "Verified", "zipcode": "Zipcode" }, "nav": { - "payment": "Payments", + "payment": "Subscriptions", "personalInfo": "Personal Info", - "security": "Security Settings" + "security": "Security Settings", + "paymentsHistory": "Transactions History" }, "success": "Success", "title": "Profile" @@ -361,7 +363,7 @@ "sidebar": { "apiKeys": "API Keys", "coupons": "Coupons", - "dashboard": "Dashboard", + "dashboard": "Git Repository", "dashboardMenu": "Documentation Generator", "payments": "Payments", "profilePage": "Profile Page", diff --git a/src/pages/DashboardPages/PaymentHistoryPage/PaymentsHistoryPage.tsx b/src/pages/DashboardPages/PaymentHistoryPage/PaymentsHistoryPage.tsx new file mode 100644 index 00000000..a9906d50 --- /dev/null +++ b/src/pages/DashboardPages/PaymentHistoryPage/PaymentsHistoryPage.tsx @@ -0,0 +1,17 @@ +import React from 'react'; +import { useTranslation } from 'react-i18next'; +import { PageTitle } from '@app/components/common/PageTitle/PageTitle'; +import { PaymentHistory } from '@app/components/profile/profileCard/profileFormNav/nav/payments/paymentHistory/PaymentHistory/PaymentHistory'; + +const PaymentsHistoryPage: React.FC = () => { + const { t } = useTranslation(); + + return ( + <> + {t('profilePage.nav.paymentHistory')} + + + ); +}; + +export default PaymentsHistoryPage; diff --git a/src/store/slices/userSlice.ts b/src/store/slices/userSlice.ts index d3a79215..e48b6ad8 100644 --- a/src/store/slices/userSlice.ts +++ b/src/store/slices/userSlice.ts @@ -1,8 +1,9 @@ import { createAction, createAsyncThunk, createSlice, PrepareAction } from '@reduxjs/toolkit'; import { UserModel } from '@app/domain/UserModel'; import { persistUser, readUser } from '@app/services/localStorage.service'; -import { updateUserProfile } from '@app/api/user.api'; +import { reloadUserProfile, updateUserProfile } from '@app/api/user.api'; import { UserUpdateModel } from '@app/domain/UserUpdateModel'; +import { AppDispatch } from '../store'; export interface UserState { user: UserModel | null; @@ -13,6 +14,11 @@ const initialState: UserState = { }; export const setUser = createAction>('user/setUser', (newUser) => { + if (!newUser) { + return { + payload: null, + }; + } persistUser(newUser); return { @@ -20,6 +26,20 @@ export const setUser = createAction>('user/setUser', (n }; }); +export const fetchUserProfile = (user: UserModel | null) => async (dispatch: AppDispatch) => { + try { + if (!user) { + return; + } + const data = await reloadUserProfile(); + if (data && JSON.stringify(data) !== JSON.stringify(user)) { + dispatch(setUser(data)); + } + } catch (err) { + console.error(err); + } +}; + export const userSlice = createSlice({ name: 'user', initialState, diff --git a/src/styles/neumorphicStyles.ts b/src/styles/neumorphicStyles.ts new file mode 100644 index 00000000..b0280d5b --- /dev/null +++ b/src/styles/neumorphicStyles.ts @@ -0,0 +1,31 @@ +import { css } from 'styled-components'; + +export const neumorphicButtonStyles = css` + height: 40px; + padding: 0 20px; + border-radius: 10px; + font-size: 14px; + font-weight: 500; + background: linear-gradient(145deg, #1d1d22, #18181d); + border: 1px solid rgba(255, 255, 255, 0.1); + color: rgba(255, 255, 255, 0.85); + box-shadow: 3px 3px 6px #131315, -3px -3px 6px #25252a; + transition: all 0.3s ease; + + &:hover { + transform: translateY(-1px); + background: linear-gradient(145deg, #2a2a32, #1f1f24); + border-color: rgba(255, 255, 255, 0.2); + } + + &:active { + transform: translateY(1px); + box-shadow: inset 2px 2px 4px #131315, inset -2px -2px 4px #25252a; + } + + &.selected, &.ant-radio-button-wrapper-checked { + background: linear-gradient(145deg, #2a2a32, #1f1f24); + border-color: rgba(255, 255, 255, 0.2); + color: #4a90e2; + } +`; diff --git a/src/styles/themeConfig.ts b/src/styles/themeConfig.ts index aec608f5..30cba6d1 100644 --- a/src/styles/themeConfig.ts +++ b/src/styles/themeConfig.ts @@ -181,7 +181,7 @@ export const getThemeConfig = (theme: DefaultTheme): ThemeConfig => { colorPrimary: theme.primary, colorWhite: theme.background, lineHeight: 1.375, - colorPrimaryBorder: theme.primary1, + colorPrimaryBorder: theme.inputPlaceholder, opacityLoading: 0.4, }, Table: { @@ -189,7 +189,7 @@ export const getThemeConfig = (theme: DefaultTheme): ThemeConfig => { colorBorderSecondary: '#b3cbe1', colorTextHeading: theme.primary, colorFillAlter: `rgba(${theme.rgb.primary}, 0.05)`, - controlItemBgActive: theme.primary1, + controlItemBgActive: theme.inputPlaceholder, colorSplit: 'rgba(0, 0, 0, 0.15)', controlItemBgActiveHover: `rgba(${theme.rgb.primary}, 0.12)`, }, @@ -231,8 +231,8 @@ export const getThemeConfig = (theme: DefaultTheme): ThemeConfig => { colorIconHover: theme.iconHover, colorPrimary: theme.primary, colorPrimaryHover: theme.primary5, - controlItemBgActive: theme.primary1, - controlItemBgHover: theme.itemHoverBg, + controlItemBgActive: theme.inputPlaceholder, + controlItemBgHover: theme.inputPlaceholder, }, Skeleton: { controlHeightXS: 16, @@ -296,7 +296,7 @@ export const getThemeConfig = (theme: DefaultTheme): ThemeConfig => { colorIcon: theme.textLight, colorTextDisabled: theme.textLight, colorPrimary: '#1c68a6', - controlItemBgActive: theme.primary1, + controlItemBgActive: theme.inputPlaceholder, colorTextPlaceholder: theme.inputPlaceholder, fontWeightStrong: theme.fontWeights.medium, controlHeightSM: remToPixels(theme.heights.xxs), diff --git a/src/styles/themes/constants.ts b/src/styles/themes/constants.ts index b4f32c23..dc69f832 100644 --- a/src/styles/themes/constants.ts +++ b/src/styles/themes/constants.ts @@ -7,7 +7,6 @@ export const BASE_COLORS = { black: '#000000', green: '#008000', orange: '#ffb155', - gray: '#808080', lightgray: '#c5d3e0', violet: '#ee82ee', lightgreen: '#89dca0', @@ -15,6 +14,8 @@ export const BASE_COLORS = { blue: '#0000ff', skyblue: '#35a0dc', red: '#ff5252', + gray: '#232322' + } as const satisfies Partial; export const LAYOUT = { diff --git a/src/styles/themes/light/lightTheme.ts b/src/styles/themes/light/lightTheme.ts index 30a54b28..8202fe86 100644 --- a/src/styles/themes/light/lightTheme.ts +++ b/src/styles/themes/light/lightTheme.ts @@ -14,7 +14,7 @@ import { import type { ChartColors, ColorType, ITheme, IndexedPrimaries } from '../types'; const colorTypes = { - primary: '#01509A', + primary: '#e0e0e0', success: '#30AF5B', warning: '#FFB155', error: '#FF5252', @@ -46,7 +46,7 @@ const chartColors = { chartColor5Tint: '#FFC1C1', } as const satisfies ChartColors; -const background = BASE_COLORS.white; +const background = BASE_COLORS.gray; const rgb = Object.fromEntries( Object.entries({ ...colorTypes, ...indexedPrimaries, ...chartColors, background } satisfies ITheme['rgb']).map( @@ -74,16 +74,16 @@ export const lightColorsTheme = { spinnerBase: '#f42f25', scroll: '#c5d3e0', border: '#cce1f4', - textMain: '#404040', + textMain: 'rgba(255, 255, 255, 0.85)', textLight: '#9A9B9F', textSuperLight: '#BEC0C6', - textSecondary: BASE_COLORS.white, + textSecondary: 'rgba(255, 255, 255, 0.65)', textDark: '#404040', textSiderPrimary: '#FFB765', textSiderSecondary: '#ffffff', subText: 'rgba(0, 0, 0, 0.45)', shadow: 'rgba(0, 0, 0, 0.07)', - boxShadow: '0 2px 8px 0 rgba(0, 0, 0, 0.07)', + boxShadow: '4px 4px 8px #1c1c1c,-4px -4px 8px #444444', boxShadowHover: '0 4px 16px 0 rgba(0, 0, 0, 0.2)', ...colorTypes, rgb, @@ -103,15 +103,15 @@ export const lightColorsTheme = { warning: '#FFF4E7', error: '#FFE2E2', }, - heading: '#13264d', + heading: '#f5f5f5', borderBase: '#bec0c6', disabled: 'rgba(0, 0, 0, 0.25)', - disabledBg: '#c5d3e0', + disabledBg: '#4f4f4f', layoutBodyBg: '#f8fbff', layoutHeaderBg: 'transparent', layoutSiderBg: 'linear-gradient(261.31deg, #006ccf -29.57%, #00509a 121.11%)', inputPlaceholder: '#404040', - itemHoverBg: '#f5f5f5', + itemHoverBg: 'black', backgroundColorBase: '#F5F5F5', avatarBg: '#ccc', alertTextColor: BASE_COLORS.white, diff --git a/yarn.lock b/yarn.lock index 08c812f6..c0c8e069 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,18 +15,18 @@ __metadata: languageName: node linkType: hard -"@ant-design/colors@npm:^7.0.0, @ant-design/colors@npm:^7.1.0": - version: 7.1.0 - resolution: "@ant-design/colors@npm:7.1.0" +"@ant-design/colors@npm:^7.0.0, @ant-design/colors@npm:^7.2.0": + version: 7.2.0 + resolution: "@ant-design/colors@npm:7.2.0" dependencies: - "@ctrl/tinycolor": "npm:^3.6.1" - checksum: 10c0/057fa10e1d0e787235149ef66cfac8c0060b50a5de29bc40d8f3226672e5f4d7d713a8c3f48d21a54d790a0269340897ebf3575af762caa3c006eacf5f883fa9 + "@ant-design/fast-color": "npm:^2.0.6" + checksum: 10c0/3c495e2380aa2acc2a1c5e12aa8427f71f146fddb93548129b0aaaa4e06b8b1a8c03e3d394519070092f782ed1b29655b055cb6efbba014f348de4a9176e10ca languageName: node linkType: hard -"@ant-design/cssinjs-utils@npm:^1.1.0": - version: 1.1.0 - resolution: "@ant-design/cssinjs-utils@npm:1.1.0" +"@ant-design/cssinjs-utils@npm:^1.1.3": + version: 1.1.3 + resolution: "@ant-design/cssinjs-utils@npm:1.1.3" dependencies: "@ant-design/cssinjs": "npm:^1.21.0" "@babel/runtime": "npm:^7.23.2" @@ -34,13 +34,13 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/aaa58f59ed7e56ac3bda76786ff159f328757a4ec8e1881a9f643e8f384aab7de77f32a5ac42b880ebd597579ae0fc0cb7465c5f69134ca4c4e7c480cbff7244 + checksum: 10c0/e8a443a613689c4e984f5cf44b799f6288a6debf9a35cafb27a0411ef77ae335ba5ace7a38efd8e04f04ac897ddf24c81f0ad6615ac586f2616cb7f2b72f6176 languageName: node linkType: hard -"@ant-design/cssinjs@npm:^1.21.0, @ant-design/cssinjs@npm:^1.21.1": - version: 1.21.1 - resolution: "@ant-design/cssinjs@npm:1.21.1" +"@ant-design/cssinjs@npm:^1.21.0, @ant-design/cssinjs@npm:^1.23.0": + version: 1.23.0 + resolution: "@ant-design/cssinjs@npm:1.23.0" dependencies: "@babel/runtime": "npm:^7.11.1" "@emotion/hash": "npm:^0.8.0" @@ -48,11 +48,11 @@ __metadata: classnames: "npm:^2.3.1" csstype: "npm:^3.1.3" rc-util: "npm:^5.35.0" - stylis: "npm:^4.3.3" + stylis: "npm:^4.3.4" peerDependencies: react: ">=16.0.0" react-dom: ">=16.0.0" - checksum: 10c0/9dca7fa851ae59d084cfe6787937536a601e16e3b4f82f6a63a5eb4098d83b36a5b88a1ff9128a8d8cd2bd3336734e14248e427f0875c37cbf94a70fb0d29e50 + checksum: 10c0/c06877e6d005af86c3ce3c4d61ac3331801ad2e8d4ca4a6b1b34c401c13bfbf36afbe3b5459c415d92bcba60602662d7ae100baf74a1786cd47b27ef579126df languageName: node linkType: hard @@ -72,9 +72,9 @@ __metadata: languageName: node linkType: hard -"@ant-design/icons@npm:^5.5.1": - version: 5.5.1 - resolution: "@ant-design/icons@npm:5.5.1" +"@ant-design/icons@npm:^5.5.1, @ant-design/icons@npm:^5.6.1": + version: 5.6.1 + resolution: "@ant-design/icons@npm:5.6.1" dependencies: "@ant-design/colors": "npm:^7.0.0" "@ant-design/icons-svg": "npm:^4.4.0" @@ -84,7 +84,7 @@ __metadata: peerDependencies: react: ">=16.0.0" react-dom: ">=16.0.0" - checksum: 10c0/440493303138ffa595c87043bbd34cd777967a5481a55ea72b38caa1ecf24862d041c84212d064af644069046ca0a7dfb4205724dcea2d95a2723d5d7589b7a0 + checksum: 10c0/7a9d9fd388c5c66d92818fd0eb794a54ef0b0dc3d75f15ac24c7cfde21c5c836c220cf35423768fd1faa28d55443a6917bf4260469c1485be83f799daa351976 languageName: node linkType: hard @@ -103,231 +103,210 @@ __metadata: languageName: node linkType: hard -"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/code-frame@npm:7.24.7" +"@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.26.2": + version: 7.26.2 + resolution: "@babel/code-frame@npm:7.26.2" dependencies: - "@babel/highlight": "npm:^7.24.7" + "@babel/helper-validator-identifier": "npm:^7.25.9" + js-tokens: "npm:^4.0.0" picocolors: "npm:^1.0.0" - checksum: 10c0/ab0af539473a9f5aeaac7047e377cb4f4edd255a81d84a76058595f8540784cc3fbe8acf73f1e073981104562490aabfb23008cd66dc677a456a4ed5390fdde6 + checksum: 10c0/7d79621a6849183c415486af99b1a20b84737e8c11cd55b6544f688c51ce1fd710e6d869c3dd21232023da272a79b91efb3e83b5bc2dc65c1187c5fcd1b72ea8 languageName: node linkType: hard -"@babel/compat-data@npm:^7.25.2": - version: 7.25.4 - resolution: "@babel/compat-data@npm:7.25.4" - checksum: 10c0/50d79734d584a28c69d6f5b99adfaa064d0f41609a378aef04eb06accc5b44f8520e68549eba3a082478180957b7d5783f1bfb1672e4ae8574e797ce8bae79fa +"@babel/compat-data@npm:^7.26.5": + version: 7.26.8 + resolution: "@babel/compat-data@npm:7.26.8" + checksum: 10c0/66408a0388c3457fff1c2f6c3a061278dd7b3d2f0455ea29bb7b187fa52c60ae8b4054b3c0a184e21e45f0eaac63cf390737bc7504d1f4a088a6e7f652c068ca languageName: node linkType: hard -"@babel/core@npm:^7.21.3, @babel/core@npm:^7.24.5": - version: 7.25.2 - resolution: "@babel/core@npm:7.25.2" +"@babel/core@npm:^7.21.3, @babel/core@npm:^7.26.0": + version: 7.26.9 + resolution: "@babel/core@npm:7.26.9" dependencies: "@ampproject/remapping": "npm:^2.2.0" - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.0" - "@babel/helper-compilation-targets": "npm:^7.25.2" - "@babel/helper-module-transforms": "npm:^7.25.2" - "@babel/helpers": "npm:^7.25.0" - "@babel/parser": "npm:^7.25.0" - "@babel/template": "npm:^7.25.0" - "@babel/traverse": "npm:^7.25.2" - "@babel/types": "npm:^7.25.2" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.9" + "@babel/helper-compilation-targets": "npm:^7.26.5" + "@babel/helper-module-transforms": "npm:^7.26.0" + "@babel/helpers": "npm:^7.26.9" + "@babel/parser": "npm:^7.26.9" + "@babel/template": "npm:^7.26.9" + "@babel/traverse": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" convert-source-map: "npm:^2.0.0" debug: "npm:^4.1.0" gensync: "npm:^1.0.0-beta.2" json5: "npm:^2.2.3" semver: "npm:^6.3.1" - checksum: 10c0/a425fa40e73cb72b6464063a57c478bc2de9dbcc19c280f1b55a3d88b35d572e87e8594e7d7b4880331addb6faef641bbeb701b91b41b8806cd4deae5d74f401 + checksum: 10c0/ed7212ff42a9453765787019b7d191b167afcacd4bd8fec10b055344ef53fa0cc648c9a80159ae4ecf870016a6318731e087042dcb68d1a2a9d34eb290dc014b languageName: node linkType: hard -"@babel/generator@npm:^7.25.0, @babel/generator@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/generator@npm:7.25.6" +"@babel/generator@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/generator@npm:7.26.9" dependencies: - "@babel/types": "npm:^7.25.6" + "@babel/parser": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" "@jridgewell/gen-mapping": "npm:^0.3.5" "@jridgewell/trace-mapping": "npm:^0.3.25" - jsesc: "npm:^2.5.1" - checksum: 10c0/f89282cce4ddc63654470b98086994d219407d025497f483eb03ba102086e11e2b685b27122f6ff2e1d93b5b5fa0c3a6b7e974fbf2e4a75b685041a746a4291e + jsesc: "npm:^3.0.2" + checksum: 10c0/6b78872128205224a9a9761b9ea7543a9a7902a04b82fc2f6801ead4de8f59056bab3fd17b1f834ca7b049555fc4c79234b9a6230dd9531a06525306050becad languageName: node linkType: hard -"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-annotate-as-pure@npm:7.24.7" +"@babel/helper-annotate-as-pure@npm:^7.18.6, @babel/helper-annotate-as-pure@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-annotate-as-pure@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/4679f7df4dffd5b3e26083ae65228116c3da34c3fff2c11ae11b259a61baec440f51e30fd236f7a0435b9d471acd93d0bc5a95df8213cbf02b1e083503d81b9a + "@babel/types": "npm:^7.25.9" + checksum: 10c0/095b6ba50489d797733abebc4596a81918316a99e3632755c9f02508882912b00c2ae5e468532a25a5c2108d109ddbe9b7da78333ee7cc13817fc50c00cf06fe languageName: node linkType: hard -"@babel/helper-compilation-targets@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-compilation-targets@npm:7.25.2" +"@babel/helper-compilation-targets@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-compilation-targets@npm:7.26.5" dependencies: - "@babel/compat-data": "npm:^7.25.2" - "@babel/helper-validator-option": "npm:^7.24.8" - browserslist: "npm:^4.23.1" + "@babel/compat-data": "npm:^7.26.5" + "@babel/helper-validator-option": "npm:^7.25.9" + browserslist: "npm:^4.24.0" lru-cache: "npm:^5.1.1" semver: "npm:^6.3.1" - checksum: 10c0/de10e986b5322c9f807350467dc845ec59df9e596a5926a3b5edbb4710d8e3b8009d4396690e70b88c3844fe8ec4042d61436dd4b92d1f5f75655cf43ab07e99 + checksum: 10c0/9da5c77e5722f1a2fcb3e893049a01d414124522bbf51323bb1a0c9dcd326f15279836450fc36f83c9e8a846f3c40e88be032ed939c5a9840922bed6073edfb4 languageName: node linkType: hard "@babel/helper-create-class-features-plugin@npm:^7.21.0": - version: 7.25.4 - resolution: "@babel/helper-create-class-features-plugin@npm:7.25.4" - dependencies: - "@babel/helper-annotate-as-pure": "npm:^7.24.7" - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/helper-replace-supers": "npm:^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.4" + version: 7.26.9 + resolution: "@babel/helper-create-class-features-plugin@npm:7.26.9" + dependencies: + "@babel/helper-annotate-as-pure": "npm:^7.25.9" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/helper-replace-supers": "npm:^7.26.5" + "@babel/helper-skip-transparent-expression-wrappers": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.9" semver: "npm:^6.3.1" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/a765d9e0482e13cf96642fa8aa28e6f7d4d7d39f37840d6246e5e10a7c47f47c52d52522edd3073f229449d17ec0db6f9b7b5e398bff6bb0b4994d65957a164c + checksum: 10c0/808620b350ac012f22163fd44c38ed8e05b24ce5d37bc4aa99a44e9724205f11efcef6b25ccfa5bb5de82ac32b899f1e939123c688f335d2851f4b8d70742233 languageName: node linkType: hard -"@babel/helper-member-expression-to-functions@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-member-expression-to-functions@npm:7.24.8" +"@babel/helper-member-expression-to-functions@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-member-expression-to-functions@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.24.8" - "@babel/types": "npm:^7.24.8" - checksum: 10c0/7e14a5acc91f6cd26305a4441b82eb6f616bd70b096a4d2099a968f16b26d50207eec0b9ebfc466fefd62bd91587ac3be878117cdfec819b7151911183cb0e5a + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/e08c7616f111e1fb56f398365e78858e26e466d4ac46dff25921adc5ccae9b232f66e952a2f4162bbe336627ba336c7fd9eca4835b6548935973d3380d77eaff languageName: node linkType: hard -"@babel/helper-module-imports@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-module-imports@npm:7.24.7" +"@babel/helper-module-imports@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-module-imports@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/97c57db6c3eeaea31564286e328a9fb52b0313c5cfcc7eee4bc226aebcf0418ea5b6fe78673c0e4a774512ec6c86e309d0f326e99d2b37bfc16a25a032498af0 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/078d3c2b45d1f97ffe6bb47f61961be4785d2342a4156d8b42c92ee4e1b7b9e365655dd6cb25329e8fe1a675c91eeac7e3d04f0c518b67e417e29d6e27b6aa70 languageName: node linkType: hard -"@babel/helper-module-transforms@npm:^7.25.2": - version: 7.25.2 - resolution: "@babel/helper-module-transforms@npm:7.25.2" +"@babel/helper-module-transforms@npm:^7.26.0": + version: 7.26.0 + resolution: "@babel/helper-module-transforms@npm:7.26.0" dependencies: - "@babel/helper-module-imports": "npm:^7.24.7" - "@babel/helper-simple-access": "npm:^7.24.7" - "@babel/helper-validator-identifier": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.2" + "@babel/helper-module-imports": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + "@babel/traverse": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/adaa15970ace0aee5934b5a633789b5795b6229c6a9cf3e09a7e80aa33e478675eee807006a862aa9aa517935d81f88a6db8a9f5936e3a2a40ec75f8062bc329 + checksum: 10c0/ee111b68a5933481d76633dad9cdab30c41df4479f0e5e1cc4756dc9447c1afd2c9473b5ba006362e35b17f4ebddd5fca090233bef8dfc84dca9d9127e56ec3a languageName: node linkType: hard -"@babel/helper-optimise-call-expression@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-optimise-call-expression@npm:7.24.7" +"@babel/helper-optimise-call-expression@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-optimise-call-expression@npm:7.25.9" dependencies: - "@babel/types": "npm:^7.24.7" - checksum: 10c0/ca6a9884705dea5c95a8b3ce132d1e3f2ae951ff74987d400d1d9c215dae9c0f9e29924d8f8e131e116533d182675bc261927be72f6a9a2968eaeeaa51eb1d0f + "@babel/types": "npm:^7.25.9" + checksum: 10c0/90203e6607edeadd2a154940803fd616c0ed92c1013d6774c4b8eb491f1a5a3448b68faae6268141caa5c456e55e3ee49a4ed2bd7ddaf2365daea321c435914c languageName: node linkType: hard -"@babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.24.7": - version: 7.24.8 - resolution: "@babel/helper-plugin-utils@npm:7.24.8" - checksum: 10c0/0376037f94a3bfe6b820a39f81220ac04f243eaee7193774b983e956c1750883ff236b30785795abbcda43fac3ece74750566830c2daa4d6e3870bb0dff34c2d +"@babel/helper-plugin-utils@npm:^7.14.5, @babel/helper-plugin-utils@npm:^7.20.2, @babel/helper-plugin-utils@npm:^7.25.9": + version: 7.26.5 + resolution: "@babel/helper-plugin-utils@npm:7.26.5" + checksum: 10c0/cdaba71d4b891aa6a8dfbe5bac2f94effb13e5fa4c2c487667fdbaa04eae059b78b28d85a885071f45f7205aeb56d16759e1bed9c118b94b16e4720ef1ab0f65 languageName: node linkType: hard -"@babel/helper-replace-supers@npm:^7.25.0": - version: 7.25.0 - resolution: "@babel/helper-replace-supers@npm:7.25.0" +"@babel/helper-replace-supers@npm:^7.26.5": + version: 7.26.5 + resolution: "@babel/helper-replace-supers@npm:7.26.5" dependencies: - "@babel/helper-member-expression-to-functions": "npm:^7.24.8" - "@babel/helper-optimise-call-expression": "npm:^7.24.7" - "@babel/traverse": "npm:^7.25.0" + "@babel/helper-member-expression-to-functions": "npm:^7.25.9" + "@babel/helper-optimise-call-expression": "npm:^7.25.9" + "@babel/traverse": "npm:^7.26.5" peerDependencies: "@babel/core": ^7.0.0 - checksum: 10c0/b4b6650ab3d56c39a259367cd97f8df2f21c9cebb3716fea7bca40a150f8847bfb82f481e98927c7c6579b48a977b5a8f77318a1c6aeb497f41ecd6dbc3fdfef + checksum: 10c0/b19b1245caf835207aaaaac3a494f03a16069ae55e76a2e1350b5acd560e6a820026997a8160e8ebab82ae873e8208759aa008eb8422a67a775df41f0a4633d4 languageName: node linkType: hard -"@babel/helper-simple-access@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-simple-access@npm:7.24.7" +"@babel/helper-skip-transparent-expression-wrappers@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.25.9" dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/7230e419d59a85f93153415100a5faff23c133d7442c19e0cd070da1784d13cd29096ee6c5a5761065c44e8164f9f80e3a518c41a0256df39e38f7ad6744fed7 + "@babel/traverse": "npm:^7.25.9" + "@babel/types": "npm:^7.25.9" + checksum: 10c0/09ace0c6156961624ac9524329ce7f45350bab94bbe24335cbe0da7dfaa1448e658771831983cb83fe91cf6635b15d0a3cab57c03b92657480bfb49fb56dd184 languageName: node linkType: hard -"@babel/helper-skip-transparent-expression-wrappers@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-skip-transparent-expression-wrappers@npm:7.24.7" - dependencies: - "@babel/traverse": "npm:^7.24.7" - "@babel/types": "npm:^7.24.7" - checksum: 10c0/e3a9b8ac9c262ac976a1bcb5fe59694db5e6f0b4f9e7bdba5c7693b8b5e28113c23bdaa60fe8d3ec32a337091b67720b2053bcb3d5655f5406536c3d0584242b +"@babel/helper-string-parser@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-string-parser@npm:7.25.9" + checksum: 10c0/7244b45d8e65f6b4338a6a68a8556f2cb161b782343e97281a5f2b9b93e420cad0d9f5773a59d79f61d0c448913d06f6a2358a87f2e203cf112e3c5b53522ee6 languageName: node linkType: hard -"@babel/helper-string-parser@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-string-parser@npm:7.24.8" - checksum: 10c0/6361f72076c17fabf305e252bf6d580106429014b3ab3c1f5c4eb3e6d465536ea6b670cc0e9a637a77a9ad40454d3e41361a2909e70e305116a23d68ce094c08 +"@babel/helper-validator-identifier@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-identifier@npm:7.25.9" + checksum: 10c0/4fc6f830177b7b7e887ad3277ddb3b91d81e6c4a24151540d9d1023e8dc6b1c0505f0f0628ae653601eb4388a8db45c1c14b2c07a9173837aef7e4116456259d languageName: node linkType: hard -"@babel/helper-validator-identifier@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/helper-validator-identifier@npm:7.24.7" - checksum: 10c0/87ad608694c9477814093ed5b5c080c2e06d44cb1924ae8320474a74415241223cc2a725eea2640dd783ff1e3390e5f95eede978bc540e870053152e58f1d651 - languageName: node - linkType: hard - -"@babel/helper-validator-option@npm:^7.24.8": - version: 7.24.8 - resolution: "@babel/helper-validator-option@npm:7.24.8" - checksum: 10c0/73db93a34ae89201351288bee7623eed81a54000779462a986105b54ffe82069e764afd15171a428b82e7c7a9b5fec10b5d5603b216317a414062edf5c67a21f - languageName: node - linkType: hard - -"@babel/helpers@npm:^7.25.0": - version: 7.25.6 - resolution: "@babel/helpers@npm:7.25.6" - dependencies: - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.6" - checksum: 10c0/448c1cdabccca42fd97a252f73f1e4bcd93776dbf24044f3b4f49b756bf2ece73ee6df05177473bb74ea7456dddd18d6f481e4d96d2cc7839d078900d48c696c +"@babel/helper-validator-option@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/helper-validator-option@npm:7.25.9" + checksum: 10c0/27fb195d14c7dcb07f14e58fe77c44eea19a6a40a74472ec05c441478fa0bb49fa1c32b2d64be7a38870ee48ef6601bdebe98d512f0253aea0b39756c4014f3e languageName: node linkType: hard -"@babel/highlight@npm:^7.24.7": - version: 7.24.7 - resolution: "@babel/highlight@npm:7.24.7" +"@babel/helpers@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/helpers@npm:7.26.9" dependencies: - "@babel/helper-validator-identifier": "npm:^7.24.7" - chalk: "npm:^2.4.2" - js-tokens: "npm:^4.0.0" - picocolors: "npm:^1.0.0" - checksum: 10c0/674334c571d2bb9d1c89bdd87566383f59231e16bcdcf5bb7835babdf03c9ae585ca0887a7b25bdf78f303984af028df52831c7989fecebb5101cc132da9393a + "@babel/template": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" + checksum: 10c0/3d4dbc4a33fe4181ed810cac52318b578294745ceaec07e2f6ecccf6cda55d25e4bfcea8f085f333bf911c9e1fc13320248dd1d5315ab47ad82ce1077410df05 languageName: node linkType: hard -"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.0, @babel/parser@npm:^7.25.6, @babel/parser@npm:^7.8.3": - version: 7.25.6 - resolution: "@babel/parser@npm:7.25.6" +"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.26.9, @babel/parser@npm:^7.8.3": + version: 7.26.9 + resolution: "@babel/parser@npm:7.26.9" dependencies: - "@babel/types": "npm:^7.25.6" + "@babel/types": "npm:^7.26.9" bin: parser: ./bin/babel-parser.js - checksum: 10c0/f88a0e895dbb096fd37c4527ea97d12b5fc013720602580a941ac3a339698872f0c911e318c292b184c36b5fbe23b612f05aff9d24071bc847c7b1c21552c41d + checksum: 10c0/4b9ef3c9a0d4c328e5e5544f50fe8932c36f8a2c851e7f14a85401487cd3da75cad72c2e1bcec1eac55599a6bbb2fdc091f274c4fcafa6bdd112d4915ff087fc languageName: node linkType: hard @@ -356,71 +335,70 @@ __metadata: languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-self@npm:^7.24.5": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-self@npm:7.24.7" +"@babel/plugin-transform-react-jsx-self@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/dcf3b732401f47f06bb29d6016e48066f66de00029a0ded98ddd9983c770a00a109d91cd04d2700d15ee0bcec3ae3027a5f12d69e15ec56efc0bcbfac65e92cb + checksum: 10c0/ce0e289f6af93d7c4dc6b385512199c5bb138ae61507b4d5117ba88b6a6b5092f704f1bdf80080b7d69b1b8c36649f2a0b250e8198667d4d30c08bbb1546bd99 languageName: node linkType: hard -"@babel/plugin-transform-react-jsx-source@npm:^7.24.1": - version: 7.24.7 - resolution: "@babel/plugin-transform-react-jsx-source@npm:7.24.7" +"@babel/plugin-transform-react-jsx-source@npm:^7.25.9": + version: 7.25.9 + resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.9" dependencies: - "@babel/helper-plugin-utils": "npm:^7.24.7" + "@babel/helper-plugin-utils": "npm:^7.25.9" peerDependencies: "@babel/core": ^7.0.0-0 - checksum: 10c0/970ef1264c7c6c416ab11610665d5309aec2bd2b9086ae394e1132e65138d97b060a7dc9d31054e050d6dc475b5a213938c9707c0202a5022d55dcb4c5abe28f + checksum: 10c0/fc9ee08efc9be7cbd2cc6788bbf92579adf3cab37912481f1b915221be3d22b0613b5b36a721df5f4c0ab65efe8582fcf8673caab83e6e1ce4cc04ceebf57dfa languageName: node linkType: hard -"@babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.10.4, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.12.5, @babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.6, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.4, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.24.8, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/runtime@npm:7.25.6" +"@babel/runtime@npm:^7.10.1, @babel/runtime@npm:^7.10.4, @babel/runtime@npm:^7.11.1, @babel/runtime@npm:^7.11.2, @babel/runtime@npm:^7.16.7, @babel/runtime@npm:^7.18.0, @babel/runtime@npm:^7.18.3, @babel/runtime@npm:^7.20.0, @babel/runtime@npm:^7.20.7, @babel/runtime@npm:^7.21.0, @babel/runtime@npm:^7.22.5, @babel/runtime@npm:^7.23.2, @babel/runtime@npm:^7.23.6, @babel/runtime@npm:^7.23.9, @babel/runtime@npm:^7.24.4, @babel/runtime@npm:^7.24.7, @babel/runtime@npm:^7.24.8, @babel/runtime@npm:^7.25.0, @babel/runtime@npm:^7.25.7, @babel/runtime@npm:^7.26.0": + version: 7.26.9 + resolution: "@babel/runtime@npm:7.26.9" dependencies: regenerator-runtime: "npm:^0.14.0" - checksum: 10c0/d6143adf5aa1ce79ed374e33fdfd74fa975055a80bc6e479672ab1eadc4e4bfd7484444e17dd063a1d180e051f3ec62b357c7a2b817e7657687b47313158c3d2 + checksum: 10c0/e8517131110a6ec3a7360881438b85060e49824e007f4a64b5dfa9192cf2bb5c01e84bfc109f02d822c7edb0db926928dd6b991e3ee460b483fb0fac43152d9b languageName: node linkType: hard -"@babel/template@npm:^7.25.0, @babel/template@npm:^7.4.4": - version: 7.25.0 - resolution: "@babel/template@npm:7.25.0" +"@babel/template@npm:^7.25.9, @babel/template@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/template@npm:7.26.9" dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/parser": "npm:^7.25.0" - "@babel/types": "npm:^7.25.0" - checksum: 10c0/4e31afd873215744c016e02b04f43b9fa23205d6d0766fb2e93eb4091c60c1b88897936adb895fb04e3c23de98dfdcbe31bc98daaa1a4e0133f78bb948e1209b + "@babel/code-frame": "npm:^7.26.2" + "@babel/parser": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" + checksum: 10c0/019b1c4129cc01ad63e17529089c2c559c74709d225f595eee017af227fee11ae8a97a6ab19ae6768b8aa22d8d75dcb60a00b28f52e9fa78140672d928bc1ae9 languageName: node linkType: hard -"@babel/traverse@npm:^7.24.7, @babel/traverse@npm:^7.24.8, @babel/traverse@npm:^7.25.0, @babel/traverse@npm:^7.25.2, @babel/traverse@npm:^7.25.4, @babel/traverse@npm:^7.8.3": - version: 7.25.6 - resolution: "@babel/traverse@npm:7.25.6" +"@babel/traverse@npm:^7.25.9, @babel/traverse@npm:^7.26.5, @babel/traverse@npm:^7.26.9, @babel/traverse@npm:^7.8.3": + version: 7.26.9 + resolution: "@babel/traverse@npm:7.26.9" dependencies: - "@babel/code-frame": "npm:^7.24.7" - "@babel/generator": "npm:^7.25.6" - "@babel/parser": "npm:^7.25.6" - "@babel/template": "npm:^7.25.0" - "@babel/types": "npm:^7.25.6" + "@babel/code-frame": "npm:^7.26.2" + "@babel/generator": "npm:^7.26.9" + "@babel/parser": "npm:^7.26.9" + "@babel/template": "npm:^7.26.9" + "@babel/types": "npm:^7.26.9" debug: "npm:^4.3.1" globals: "npm:^11.1.0" - checksum: 10c0/964304c6fa46bd705428ba380bf73177eeb481c3f26d82ea3d0661242b59e0dd4329d23886035e9ca9a4ceb565c03a76fd615109830687a27bcd350059d6377e + checksum: 10c0/51dd57fa39ea34d04816806bfead04c74f37301269d24c192d1406dc6e244fea99713b3b9c5f3e926d9ef6aa9cd5c062ad4f2fc1caa9cf843d5e864484ac955e languageName: node linkType: hard -"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.24.7, @babel/types@npm:^7.24.8, @babel/types@npm:^7.25.0, @babel/types@npm:^7.25.2, @babel/types@npm:^7.25.6": - version: 7.25.6 - resolution: "@babel/types@npm:7.25.6" +"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.21.3, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.9": + version: 7.26.9 + resolution: "@babel/types@npm:7.26.9" dependencies: - "@babel/helper-string-parser": "npm:^7.24.8" - "@babel/helper-validator-identifier": "npm:^7.24.7" - to-fast-properties: "npm:^2.0.0" - checksum: 10c0/89d45fbee24e27a05dca2d08300a26b905bd384a480448823f6723c72d3a30327c517476389b7280ce8cb9a2c48ef8f47da7f9f6d326faf6f53fd6b68237bdc4 + "@babel/helper-string-parser": "npm:^7.25.9" + "@babel/helper-validator-identifier": "npm:^7.25.9" + checksum: 10c0/999c56269ba00e5c57aa711fbe7ff071cd6990bafd1b978341ea7572cc78919986e2aa6ee51dacf4b6a7a6fa63ba4eb3f1a03cf55eee31b896a56d068b895964 languageName: node linkType: hard @@ -440,45 +418,38 @@ __metadata: languageName: node linkType: hard -"@csstools/css-parser-algorithms@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/css-parser-algorithms@npm:3.0.1" +"@csstools/css-parser-algorithms@npm:^3.0.4": + version: 3.0.4 + resolution: "@csstools/css-parser-algorithms@npm:3.0.4" peerDependencies: - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/064c6d519197b5af43bbf5efe8f4cdbd361b006113aa82160d637e925b50c643a52d33d512ca01c63042d952d723a2a10798231a714668356b76668fb11294e3 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/d411f07765e14eede17bccc6bd4f90ff303694df09aabfede3fd104b2dfacfd4fe3697cd25ddad14684c850328f3f9420ebfa9f78380892492974db24ae47dbd languageName: node linkType: hard -"@csstools/css-tokenizer@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/css-tokenizer@npm:3.0.1" - checksum: 10c0/c9ed4373e5731b5375ea9791590081019c04e95f08b46b272977e5e7b8c3d560affc62e82263cb8def1df1e57f0673140e7e16a14a5e7be04e6a234be088d1d3 +"@csstools/css-tokenizer@npm:^3.0.3": + version: 3.0.3 + resolution: "@csstools/css-tokenizer@npm:3.0.3" + checksum: 10c0/c31bf410e1244b942e71798e37c54639d040cb59e0121b21712b40015fced2b0fb1ffe588434c5f8923c9cd0017cfc1c1c8f3921abc94c96edf471aac2eba5e5 languageName: node linkType: hard -"@csstools/media-query-list-parser@npm:^3.0.1": - version: 3.0.1 - resolution: "@csstools/media-query-list-parser@npm:3.0.1" +"@csstools/media-query-list-parser@npm:^4.0.2": + version: 4.0.2 + resolution: "@csstools/media-query-list-parser@npm:4.0.2" peerDependencies: - "@csstools/css-parser-algorithms": ^3.0.1 - "@csstools/css-tokenizer": ^3.0.1 - checksum: 10c0/fca1935cabf9fb94128da87f72c34aa2cfce8eb0beba4c78d685c7b42aaba3521067710afc6905b7347fc41fe53947536ce15a7ef3387b48763d8f7d71778d5e + "@csstools/css-parser-algorithms": ^3.0.4 + "@csstools/css-tokenizer": ^3.0.3 + checksum: 10c0/5d008a70f5d4fd96224066a433f5cdefa76cfd78a74416a20d6d5b2bb1bc8282b140e8373015d807d4dadb91daf3deb73eb13f853ec4e0479d0cb92e80c6f20d languageName: node linkType: hard -"@csstools/selector-specificity@npm:^4.0.0": - version: 4.0.0 - resolution: "@csstools/selector-specificity@npm:4.0.0" +"@csstools/selector-specificity@npm:^5.0.0": + version: 5.0.0 + resolution: "@csstools/selector-specificity@npm:5.0.0" peerDependencies: - postcss-selector-parser: ^6.1.0 - checksum: 10c0/6f4d4ecfdcd37f950100de8ffe0b4c1b1cc8c004aab2c2ebaa5c3e2bca2412d15b17d4628435f47a62d2c56db41bcbf985cb9c69e74b89964d48e421e93e75ba - languageName: node - linkType: hard - -"@ctrl/tinycolor@npm:^3.6.1": - version: 3.6.1 - resolution: "@ctrl/tinycolor@npm:3.6.1" - checksum: 10c0/444d81612cd8c5c802a3d1253df83d5f77d3db87f351861655683a4743990e6b38976bf2e4129591c5a258607b63574b3c7bed702cf6a0eb7912222edf4570e9 + postcss-selector-parser: ^7.0.0 + checksum: 10c0/186b444cabcdcdeb553bfe021f80c58bfe9ef38dcc444f2b1f34a5aab9be063ab4e753022b2d5792049c041c28cfbb78e4b707ec398459300e402030d35c07eb languageName: node linkType: hard @@ -695,20 +666,20 @@ __metadata: linkType: hard "@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0": - version: 4.4.0 - resolution: "@eslint-community/eslint-utils@npm:4.4.0" + version: 4.4.1 + resolution: "@eslint-community/eslint-utils@npm:4.4.1" dependencies: - eslint-visitor-keys: "npm:^3.3.0" + eslint-visitor-keys: "npm:^3.4.3" peerDependencies: eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - checksum: 10c0/7e559c4ce59cd3a06b1b5a517b593912e680a7f981ae7affab0d01d709e99cd5647019be8fafa38c350305bc32f1f7d42c7073edde2ab536c745e365f37b607e + checksum: 10c0/2aa0ac2fc50ff3f234408b10900ed4f1a0b19352f21346ad4cc3d83a1271481bdda11097baa45d484dd564c895e0762a27a8240be7a256b3ad47129e96528252 languageName: node linkType: hard "@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.6.1": - version: 4.11.1 - resolution: "@eslint-community/regexpp@npm:4.11.1" - checksum: 10c0/fbcc1cb65ef5ed5b92faa8dc542e035269065e7ebcc0b39c81a4fe98ad35cfff20b3c8df048641de15a7757e07d69f85e2579c1a5055f993413ba18c055654f8 + version: 4.12.1 + resolution: "@eslint-community/regexpp@npm:4.12.1" + checksum: 10c0/a03d98c246bcb9109aec2c08e4d10c8d010256538dcb3f56610191607214523d4fb1b00aa81df830b6dffb74c5fa0be03642513a289c567949d3e550ca11cdf6 languageName: node linkType: hard @@ -736,6 +707,20 @@ __metadata: languageName: node linkType: hard +"@gilbarbara/deep-equal@npm:^0.1.1": + version: 0.1.2 + resolution: "@gilbarbara/deep-equal@npm:0.1.2" + checksum: 10c0/ef441034a34d3e3a2fdcdd473b1082c4e8a324682c8a35cea100d60b5341fecb7249ae043eecf2ea9bdf736a1fe582b294a347095c3d48a1d9d04d7d6e4ad16a + languageName: node + linkType: hard + +"@gilbarbara/deep-equal@npm:^0.3.1": + version: 0.3.1 + resolution: "@gilbarbara/deep-equal@npm:0.3.1" + checksum: 10c0/009584aa912f13c59e98b35c3ebf99ff7fc7c5658d5394fd56d58570da61d68cbc6f7ec082ad2ef009ff72873cc1bd8b9b9fda9e39f7e6594fd643a915e0bc94 + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.11.14": version: 0.11.14 resolution: "@humanwhocodes/config-array@npm:0.11.14" @@ -775,6 +760,15 @@ __metadata: languageName: node linkType: hard +"@isaacs/fs-minipass@npm:^4.0.0": + version: 4.0.1 + resolution: "@isaacs/fs-minipass@npm:4.0.1" + dependencies: + minipass: "npm:^7.0.4" + checksum: 10c0/c25b6dc1598790d5b55c0947a9b7d111cfa92594db5296c3b907e2f533c033666f692a3939eadac17b1c7c40d362d0b0635dc874cbfe3e70db7c2b07cc97a5d2 + languageName: node + linkType: hard + "@jest/types@npm:^24.8.0": version: 24.9.0 resolution: "@jest/types@npm:24.9.0" @@ -787,13 +781,13 @@ __metadata: linkType: hard "@jridgewell/gen-mapping@npm:^0.3.5": - version: 0.3.5 - resolution: "@jridgewell/gen-mapping@npm:0.3.5" + version: 0.3.8 + resolution: "@jridgewell/gen-mapping@npm:0.3.8" dependencies: "@jridgewell/set-array": "npm:^1.2.1" "@jridgewell/sourcemap-codec": "npm:^1.4.10" "@jridgewell/trace-mapping": "npm:^0.3.24" - checksum: 10c0/1be4fd4a6b0f41337c4f5fdf4afc3bd19e39c3691924817108b82ffcb9c9e609c273f936932b9fba4b3a298ce2eb06d9bff4eb1cc3bd81c4f4ee1b4917e25feb + checksum: 10c0/c668feaf86c501d7c804904a61c23c67447b2137b813b9ce03eca82cb9d65ac7006d766c218685d76e3d72828279b6ee26c347aa1119dab23fbaf36aed51585a languageName: node linkType: hard @@ -838,6 +832,15 @@ __metadata: languageName: node linkType: hard +"@keyv/serialize@npm:^1.0.2": + version: 1.0.3 + resolution: "@keyv/serialize@npm:1.0.3" + dependencies: + buffer: "npm:^6.0.3" + checksum: 10c0/24a257870b0548cfe430680c2ae1641751e6a6ec90c573eaf51bfe956839b6cfa462b4d2827157363b6d620872d32d69fa2f37210a864ba488f8ec7158436398 + languageName: node + linkType: hard + "@lit-labs/react@npm:^2.1.3": version: 2.1.3 resolution: "@lit-labs/react@npm:2.1.3" @@ -848,11 +851,11 @@ __metadata: linkType: hard "@lit/react@npm:^1.0.3": - version: 1.0.5 - resolution: "@lit/react@npm:1.0.5" + version: 1.0.7 + resolution: "@lit/react@npm:1.0.7" peerDependencies: - "@types/react": 17 || 18 - checksum: 10c0/bf6ebf41c900e08d42ff68f2df0eea17c2c3bf365bf8c952e264dce3c0f24799ac422c3c0059a1e039fa4dcb4de0977cfdcf1b06603353ea79aacb0613f4d333 + "@types/react": 17 || 18 || 19 + checksum: 10c0/7babb9364dec75e5173f61cd08230a20696616f8fb7c9f89e6799bb2d9388f5499db79e691498a89f71216592f69e5abdbe32bf8c36657b3c56d473deaa81da0 languageName: node linkType: hard @@ -883,25 +886,25 @@ __metadata: languageName: node linkType: hard -"@npmcli/agent@npm:^2.0.0": - version: 2.2.2 - resolution: "@npmcli/agent@npm:2.2.2" +"@npmcli/agent@npm:^3.0.0": + version: 3.0.0 + resolution: "@npmcli/agent@npm:3.0.0" dependencies: agent-base: "npm:^7.1.0" http-proxy-agent: "npm:^7.0.0" https-proxy-agent: "npm:^7.0.1" lru-cache: "npm:^10.0.1" socks-proxy-agent: "npm:^8.0.3" - checksum: 10c0/325e0db7b287d4154ecd164c0815c08007abfb07653cc57bceded17bb7fd240998a3cbdbe87d700e30bef494885eccc725ab73b668020811d56623d145b524ae + checksum: 10c0/efe37b982f30740ee77696a80c196912c274ecd2cb243bc6ae7053a50c733ce0f6c09fda085145f33ecf453be19654acca74b69e81eaad4c90f00ccffe2f9271 languageName: node linkType: hard -"@npmcli/fs@npm:^3.1.0": - version: 3.1.1 - resolution: "@npmcli/fs@npm:3.1.1" +"@npmcli/fs@npm:^4.0.0": + version: 4.0.0 + resolution: "@npmcli/fs@npm:4.0.0" dependencies: semver: "npm:^7.3.5" - checksum: 10c0/c37a5b4842bfdece3d14dfdb054f73fe15ed2d3da61b34ff76629fb5b1731647c49166fd2a8bf8b56fcfa51200382385ea8909a3cbecdad612310c114d3f6c99 + checksum: 10c0/c90935d5ce670c87b6b14fab04a965a3b8137e585f8b2a6257263bd7f97756dd736cb165bb470e5156a9e718ecd99413dccc54b1138c1a46d6ec7cf325982fe5 languageName: node linkType: hard @@ -926,21 +929,21 @@ __metadata: languageName: node linkType: hard -"@puppeteer/browsers@npm:2.4.0": - version: 2.4.0 - resolution: "@puppeteer/browsers@npm:2.4.0" +"@puppeteer/browsers@npm:2.6.1": + version: 2.6.1 + resolution: "@puppeteer/browsers@npm:2.6.1" dependencies: - debug: "npm:^4.3.6" + debug: "npm:^4.4.0" extract-zip: "npm:^2.0.1" progress: "npm:^2.0.3" - proxy-agent: "npm:^6.4.0" + proxy-agent: "npm:^6.5.0" semver: "npm:^7.6.3" tar-fs: "npm:^3.0.6" unbzip2-stream: "npm:^1.4.3" yargs: "npm:^17.7.2" bin: browsers: lib/cjs/main-cli.js - checksum: 10c0/62227a4e3104d8bc8fbd6cd008ff82d63d8b8747ee6bba544d905c86d86b0ff005a1dfb6abbe1db80723733f338a55dd5719b12333f4332c0c7a1f6b007ed660 + checksum: 10c0/31d4951eec40515769467be3878d3581fe0e50227f2a9fa865e9f872e4a003262996c412a1d48d9c800665b3aa91bb1c2d971eaa314ef10e536d08e63f2f40d3 languageName: node linkType: hard @@ -1048,184 +1051,203 @@ __metadata: languageName: node linkType: hard -"@rc-component/trigger@npm:^2.0.0, @rc-component/trigger@npm:^2.1.1, @rc-component/trigger@npm:^2.2.3": - version: 2.2.3 - resolution: "@rc-component/trigger@npm:2.2.3" +"@rc-component/trigger@npm:^2.0.0, @rc-component/trigger@npm:^2.1.1, @rc-component/trigger@npm:^2.2.6": + version: 2.2.6 + resolution: "@rc-component/trigger@npm:2.2.6" dependencies: "@babel/runtime": "npm:^7.23.2" "@rc-component/portal": "npm:^1.1.0" classnames: "npm:^2.3.2" rc-motion: "npm:^2.0.0" rc-resize-observer: "npm:^1.3.1" - rc-util: "npm:^5.38.0" + rc-util: "npm:^5.44.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/f819e4de1a907997b11db2d4da87efbb93e6d16a9d280fc6d99f38c4726fefea15b32cd506efd7f0181639787f922a0d3d1779874769a8c592429318f56abd04 + checksum: 10c0/e7ef14099fac74a58301ccf65a003ddaefb6f2a410c950c8354e0d63fd13e21e3a1f32dd4e73a11c7c0c6199e66629f7f3e31c09d887198b974d35805c4de8e1 languageName: node linkType: hard "@reduxjs/toolkit@npm:^2.2.7": - version: 2.2.7 - resolution: "@reduxjs/toolkit@npm:2.2.7" + version: 2.5.1 + resolution: "@reduxjs/toolkit@npm:2.5.1" dependencies: immer: "npm:^10.0.3" redux: "npm:^5.0.1" redux-thunk: "npm:^3.1.0" reselect: "npm:^5.1.0" peerDependencies: - react: ^16.9.0 || ^17.0.0 || ^18 + react: ^16.9.0 || ^17.0.0 || ^18 || ^19 react-redux: ^7.2.1 || ^8.1.3 || ^9.0.0 peerDependenciesMeta: react: optional: true react-redux: optional: true - checksum: 10c0/7761a91adac2b5e1d50a8163ba5441480bb86a3a80b7583037c27a88463394b132dd7592862fc2be03aa7ab98a6e1710549889986dc0d3f033c169a3ba2cb02e + checksum: 10c0/e25dd4085e5611d21d4e8d47716072e12318ef8171323d40a80c5b8e79e6d514a973718eb44e41f8491355f7a15e488a0e9f88a97c237327de2615a00b470929 languageName: node linkType: hard -"@remix-run/router@npm:1.19.2": - version: 1.19.2 - resolution: "@remix-run/router@npm:1.19.2" - checksum: 10c0/ac7fc813350686705f2c29219e70e1e299d9a8e3b301e9e81f7e84f578c40c6462b590cf0d78863bac40dbc325b68c71ae070f4a1465793d1d1971b619618295 +"@remix-run/router@npm:1.22.0": + version: 1.22.0 + resolution: "@remix-run/router@npm:1.22.0" + checksum: 10c0/6fbfbdddb485af6bc24635272436fc9884b40d2517581b5cc66ab866279d238ccb11b6f8f67ad99d43ff21c0ea8bc088c96d510a42dcc0cc05a716760fe5a633 languageName: node linkType: hard -"@rollup/pluginutils@npm:^5.0.5": - version: 5.1.1 - resolution: "@rollup/pluginutils@npm:5.1.1" +"@rollup/pluginutils@npm:^5.1.3": + version: 5.1.4 + resolution: "@rollup/pluginutils@npm:5.1.4" dependencies: "@types/estree": "npm:^1.0.0" estree-walker: "npm:^2.0.2" - picomatch: "npm:^2.3.1" + picomatch: "npm:^4.0.2" peerDependencies: rollup: ^1.20.0||^2.0.0||^3.0.0||^4.0.0 peerDependenciesMeta: rollup: optional: true - checksum: 10c0/433a8b0b67ef9a36fb909a63c5ffa03846e15b6547fec9d2b9e15510dd898de9d1ec3f574aae29749d0e757e269112121a859f204b37becc470f1404e862b1e2 + checksum: 10c0/6d58fbc6f1024eb4b087bc9bf59a1d655a8056a60c0b4021d3beaeec3f0743503f52467fd89d2cf0e7eccf2831feb40a05ad541a17637ea21ba10b21c2004deb languageName: node linkType: hard -"@rollup/rollup-android-arm-eabi@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm-eabi@npm:4.22.4" +"@rollup/rollup-android-arm-eabi@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-android-arm-eabi@npm:4.34.8" conditions: os=android & cpu=arm languageName: node linkType: hard -"@rollup/rollup-android-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-android-arm64@npm:4.22.4" +"@rollup/rollup-android-arm64@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-android-arm64@npm:4.34.8" conditions: os=android & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-arm64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-arm64@npm:4.22.4" +"@rollup/rollup-darwin-arm64@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-darwin-arm64@npm:4.34.8" conditions: os=darwin & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-darwin-x64@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-darwin-x64@npm:4.22.4" +"@rollup/rollup-darwin-x64@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-darwin-x64@npm:4.34.8" conditions: os=darwin & cpu=x64 languageName: node linkType: hard -"@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.22.4" +"@rollup/rollup-freebsd-arm64@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-freebsd-arm64@npm:4.34.8" + conditions: os=freebsd & cpu=arm64 + languageName: node + linkType: hard + +"@rollup/rollup-freebsd-x64@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-freebsd-x64@npm:4.34.8" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + +"@rollup/rollup-linux-arm-gnueabihf@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.34.8" conditions: os=linux & cpu=arm & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm-musleabihf@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.22.4" +"@rollup/rollup-linux-arm-musleabihf@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.34.8" conditions: os=linux & cpu=arm & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-arm64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.22.4" +"@rollup/rollup-linux-arm64-gnu@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.34.8" conditions: os=linux & cpu=arm64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-arm64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-arm64-musl@npm:4.22.4" +"@rollup/rollup-linux-arm64-musl@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-arm64-musl@npm:4.34.8" conditions: os=linux & cpu=arm64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.22.4" +"@rollup/rollup-linux-loongarch64-gnu@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.34.8" + conditions: os=linux & cpu=loong64 & libc=glibc + languageName: node + linkType: hard + +"@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.34.8" conditions: os=linux & cpu=ppc64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-riscv64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.22.4" +"@rollup/rollup-linux-riscv64-gnu@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.34.8" conditions: os=linux & cpu=riscv64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-s390x-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.22.4" +"@rollup/rollup-linux-s390x-gnu@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.34.8" conditions: os=linux & cpu=s390x & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-gnu@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-gnu@npm:4.22.4" +"@rollup/rollup-linux-x64-gnu@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-x64-gnu@npm:4.34.8" conditions: os=linux & cpu=x64 & libc=glibc languageName: node linkType: hard -"@rollup/rollup-linux-x64-musl@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-linux-x64-musl@npm:4.22.4" +"@rollup/rollup-linux-x64-musl@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-linux-x64-musl@npm:4.34.8" conditions: os=linux & cpu=x64 & libc=musl languageName: node linkType: hard -"@rollup/rollup-win32-arm64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.22.4" +"@rollup/rollup-win32-arm64-msvc@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.34.8" conditions: os=win32 & cpu=arm64 languageName: node linkType: hard -"@rollup/rollup-win32-ia32-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.22.4" +"@rollup/rollup-win32-ia32-msvc@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.34.8" conditions: os=win32 & cpu=ia32 languageName: node linkType: hard -"@rollup/rollup-win32-x64-msvc@npm:4.22.4": - version: 4.22.4 - resolution: "@rollup/rollup-win32-x64-msvc@npm:4.22.4" +"@rollup/rollup-win32-x64-msvc@npm:4.34.8": + version: 4.34.8 + resolution: "@rollup/rollup-win32-x64-msvc@npm:4.34.8" conditions: os=win32 & cpu=x64 languageName: node linkType: hard "@rrweb/types@npm:^2.0.0-alpha.13": - version: 2.0.0-alpha.17 - resolution: "@rrweb/types@npm:2.0.0-alpha.17" - dependencies: - rrweb-snapshot: "npm:^2.0.0-alpha.17" - checksum: 10c0/7163ee9b0544e3b28f947c0584573ced14775f25f9df97f093a5736aa8655ab8aa939ccfeabc96e8518ab19e0f247524ef28687897f35cb8005ea0a35d7f8fc8 + version: 2.0.0-alpha.18 + resolution: "@rrweb/types@npm:2.0.0-alpha.18" + checksum: 10c0/a1adb842f59b782e04576a7e88ffc2e43b8b29460555922e6a15f8ffd4840e554e96c1331653b0a322a3a8f25e73a9ae38ff37d3e60f1da71b6f6c0d001a20e7 languageName: node linkType: hard @@ -1446,14 +1468,7 @@ __metadata: languageName: node linkType: hard -"@types/estree@npm:1.0.5": - version: 1.0.5 - resolution: "@types/estree@npm:1.0.5" - checksum: 10c0/b3b0e334288ddb407c7b3357ca67dbee75ee22db242ca7c56fe27db4e1a31989cb8af48a84dd401deb787fe10cc6b2ab1ee82dc4783be87ededbe3d53c79c70d - languageName: node - linkType: hard - -"@types/estree@npm:^1.0.0": +"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.0": version: 1.0.6 resolution: "@types/estree@npm:1.0.6" checksum: 10c0/cdfd751f6f9065442cd40957c07fd80361c962869aa853c1c2fd03e101af8b9389d8ff4955a43a6fcfa223dd387a089937f95be0f3eec21ca527039fd2d9859a @@ -1468,12 +1483,12 @@ __metadata: linkType: hard "@types/hoist-non-react-statics@npm:*": - version: 3.3.5 - resolution: "@types/hoist-non-react-statics@npm:3.3.5" + version: 3.3.6 + resolution: "@types/hoist-non-react-statics@npm:3.3.6" dependencies: "@types/react": "npm:*" hoist-non-react-statics: "npm:^3.3.0" - checksum: 10c0/2a3b64bf3d9817d7830afa60ee314493c475fb09570a64e7737084cd482d2177ebdddf888ce837350bac51741278b077683facc9541f052d4bbe8487b4e3e618 + checksum: 10c0/149a4c217d81f21f8a1e152160a59d5b99b6a9aa6d354385d5f5bc02760cbf1e170a8442ba92eb653befff44b0c5bc2234bb77ce33e0d11a65f779e8bab5c321 languageName: node linkType: hard @@ -1520,25 +1535,25 @@ __metadata: linkType: hard "@types/mixpanel-browser@npm:^2.50.0": - version: 2.50.0 - resolution: "@types/mixpanel-browser@npm:2.50.0" - checksum: 10c0/88b11f486786dbeb904caac6b783c8224d3c589cbf5751bb7deb13170f795cd385e623f152bf86117413c19a76633bbb5ce37a27383b71c96c072225293d75bf + version: 2.51.0 + resolution: "@types/mixpanel-browser@npm:2.51.0" + checksum: 10c0/fd8d6506963de6a5e683b1275f16d7e2850767a7e0a724b0173ed2e9db352e1c32f3e0e3e243fde214cd68f7ba150da3387f5bd2219e2d4eac3828519e6bc6d7 languageName: node linkType: hard "@types/node@npm:*, @types/node@npm:^22.5.5": - version: 22.5.5 - resolution: "@types/node@npm:22.5.5" + version: 22.13.4 + resolution: "@types/node@npm:22.13.4" dependencies: - undici-types: "npm:~6.19.2" - checksum: 10c0/ead9495cfc6b1da5e7025856dcce2591e9bae635357410c0d2dd619fce797d2a1d402887580ca4b336cb78168b195224869967de370a23f61663cf1e4836121c + undici-types: "npm:~6.20.0" + checksum: 10c0/3a234fa7766a3efc382cf81f66f474c26cdab2f54f43f757634c81c0444eb2160c2dabbde9741e4983078a318a88515b65416b5f1ab5478548579d7b3ead1d95 languageName: node linkType: hard "@types/prop-types@npm:*": - version: 15.7.13 - resolution: "@types/prop-types@npm:15.7.13" - checksum: 10c0/1b20fc67281902c6743379960247bc161f3f0406ffc0df8e7058745a85ea1538612109db0406290512947f9632fe9e10e7337bf0ce6338a91d6c948df16a7c61 + version: 15.7.14 + resolution: "@types/prop-types@npm:15.7.14" + checksum: 10c0/1ec775160bfab90b67a782d735952158c7e702ca4502968aa82565bd8e452c2de8601c8dfe349733073c31179116cf7340710160d3836aa8a1ef76d1532893b1 languageName: node linkType: hard @@ -1552,18 +1567,18 @@ __metadata: linkType: hard "@types/qs@npm:^6.9.16": - version: 6.9.16 - resolution: "@types/qs@npm:6.9.16" - checksum: 10c0/a4e871b80fff623755e356fd1f225aea45ff7a29da30f99fddee1a05f4f5f33485b314ab5758145144ed45708f97e44595aa9a8368e9bbc083932f931b12dbb6 + version: 6.9.18 + resolution: "@types/qs@npm:6.9.18" + checksum: 10c0/790b9091348e06dde2c8e4118b5771ab386a8c22a952139a2eb0675360a2070d0b155663bf6f75b23f258fd0a1f7ffc0ba0f059d99a719332c03c40d9e9cd63b languageName: node linkType: hard "@types/react-dom@npm:^18.3.0": - version: 18.3.0 - resolution: "@types/react-dom@npm:18.3.0" - dependencies: - "@types/react": "npm:*" - checksum: 10c0/6c90d2ed72c5a0e440d2c75d99287e4b5df3e7b011838cdc03ae5cd518ab52164d86990e73246b9d812eaf02ec351d74e3b4f5bd325bf341e13bf980392fd53b + version: 18.3.5 + resolution: "@types/react-dom@npm:18.3.5" + peerDependencies: + "@types/react": ^18.0.0 + checksum: 10c0/b163d35a6b32a79f5782574a7aeb12a31a647e248792bf437e6d596e2676961c394c5e3c6e91d1ce44ae90441dbaf93158efb4f051c0d61e2612f1cb04ce4faa languageName: node linkType: hard @@ -1617,13 +1632,22 @@ __metadata: languageName: node linkType: hard -"@types/react@npm:*, @types/react@npm:^18.3.8": - version: 18.3.8 - resolution: "@types/react@npm:18.3.8" +"@types/react@npm:*": + version: 19.0.10 + resolution: "@types/react@npm:19.0.10" + dependencies: + csstype: "npm:^3.0.2" + checksum: 10c0/41884cca21850c8b2d6578b172ca0ca4fff6021251a68532b19f2031ac23dc5a9222470208065f8d9985d367376047df2f49ece8d927f7d04cdc94922b1eb34b + languageName: node + linkType: hard + +"@types/react@npm:^18.3.8": + version: 18.3.18 + resolution: "@types/react@npm:18.3.18" dependencies: "@types/prop-types": "npm:*" csstype: "npm:^3.0.2" - checksum: 10c0/367312c9fe276639ecb142265e090a4dd04bb39f8d718cbab546de3f1ddcfddeff415e1147d0fc40f734badaa7420b7b109d511bd4304b2c4c9c36164612fdf8 + checksum: 10c0/8fb2b00672072135d0858dc9db07873ea107cc238b6228aaa2a9afd1ef7a64a7074078250db38afbeb19064be8ea6af5eac32d404efdd5f45e093cc4829d87f8 languageName: node linkType: hard @@ -1645,10 +1669,10 @@ __metadata: languageName: node linkType: hard -"@types/use-sync-external-store@npm:^0.0.3": - version: 0.0.3 - resolution: "@types/use-sync-external-store@npm:0.0.3" - checksum: 10c0/82824c1051ba40a00e3d47964cdf4546a224e95f172e15a9c62aa3f118acee1c7518b627a34f3aa87298a2039f982e8509f92bfcc18bea7c255c189c293ba547 +"@types/use-sync-external-store@npm:^0.0.6": + version: 0.0.6 + resolution: "@types/use-sync-external-store@npm:0.0.6" + checksum: 10c0/77c045a98f57488201f678b181cccd042279aff3da34540ad242f893acc52b358bd0a8207a321b8ac09adbcef36e3236944390e2df4fcedb556ce7bb2a88f2a8 languageName: node linkType: hard @@ -1684,141 +1708,137 @@ __metadata: languageName: node linkType: hard -"@typescript-eslint/eslint-plugin@npm:8.6.0, @typescript-eslint/eslint-plugin@npm:^8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/eslint-plugin@npm:8.6.0" +"@typescript-eslint/eslint-plugin@npm:8.24.1, @typescript-eslint/eslint-plugin@npm:^8.6.0": + version: 8.24.1 + resolution: "@typescript-eslint/eslint-plugin@npm:8.24.1" dependencies: "@eslint-community/regexpp": "npm:^4.10.0" - "@typescript-eslint/scope-manager": "npm:8.6.0" - "@typescript-eslint/type-utils": "npm:8.6.0" - "@typescript-eslint/utils": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" + "@typescript-eslint/scope-manager": "npm:8.24.1" + "@typescript-eslint/type-utils": "npm:8.24.1" + "@typescript-eslint/utils": "npm:8.24.1" + "@typescript-eslint/visitor-keys": "npm:8.24.1" graphemer: "npm:^1.4.0" ignore: "npm:^5.3.1" natural-compare: "npm:^1.4.0" - ts-api-utils: "npm:^1.3.0" + ts-api-utils: "npm:^2.0.1" peerDependencies: "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0 eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/c777f01535b896d3092f9886a67ccf9e50bf9e0f581ffab607c5e95dbf3092299b0d9f3e6041b134d69059a6fa5691785940b81015f73bb9a0e9d1605f6442ea + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/fe5f56f248370f40322a7cb2d96fbab724a7a8892895e3d41027c9a1df309916433633e04df84a1d3f9535d282953738b1ad627d8af37ab288a39a6e411afd76 languageName: node linkType: hard -"@typescript-eslint/parser@npm:8.6.0, @typescript-eslint/parser@npm:^8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/parser@npm:8.6.0" +"@typescript-eslint/parser@npm:8.24.1, @typescript-eslint/parser@npm:^8.6.0": + version: 8.24.1 + resolution: "@typescript-eslint/parser@npm:8.24.1" dependencies: - "@typescript-eslint/scope-manager": "npm:8.6.0" - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/typescript-estree": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" + "@typescript-eslint/scope-manager": "npm:8.24.1" + "@typescript-eslint/types": "npm:8.24.1" + "@typescript-eslint/typescript-estree": "npm:8.24.1" + "@typescript-eslint/visitor-keys": "npm:8.24.1" debug: "npm:^4.3.4" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/3f280d289b486359194d422d89df9896b3f10a6d45cdf851d1d5f3200489271a31ab503c127cb5656f9b0ad6d795dd708b960f21fb105750aac19f41f8f815d1 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/9de557698c8debf3de06b6adf6aa06a8345e0e38600e5ccbeda62270d1a4a757dfa191db89d4e86cf373103a11bef1965c9d9889f622c51f4f26d1bf12394ae3 languageName: node linkType: hard -"@typescript-eslint/scope-manager@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/scope-manager@npm:8.6.0" +"@typescript-eslint/scope-manager@npm:8.24.1": + version: 8.24.1 + resolution: "@typescript-eslint/scope-manager@npm:8.24.1" dependencies: - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" - checksum: 10c0/37092ef70171c06854ac67ebfb2255063890c1c6133654e6b15b6adb6d2ab83de4feafd1599f4d02ed71a018226fcb3a389021758ec045e1904fb1798e90b4fe + "@typescript-eslint/types": "npm:8.24.1" + "@typescript-eslint/visitor-keys": "npm:8.24.1" + checksum: 10c0/779880743ed7ab67fe477f1ad5648bbd77ad69b4663b5a42024112004c8f231049b1e4eeb67e260005769c3bb005049e00a80b885e19d593ffb080bd39f4fa94 languageName: node linkType: hard -"@typescript-eslint/type-utils@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/type-utils@npm:8.6.0" +"@typescript-eslint/type-utils@npm:8.24.1": + version: 8.24.1 + resolution: "@typescript-eslint/type-utils@npm:8.24.1" dependencies: - "@typescript-eslint/typescript-estree": "npm:8.6.0" - "@typescript-eslint/utils": "npm:8.6.0" + "@typescript-eslint/typescript-estree": "npm:8.24.1" + "@typescript-eslint/utils": "npm:8.24.1" debug: "npm:^4.3.4" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/914b4637caa40c102117655a9b4451e0db611a61309ed39d6c57522655463c059f4dfd4e2d7ffdefcc9ab7533be21fb877b740c58f5be11f3530aa29f3d2cb62 + ts-api-utils: "npm:^2.0.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/ba248bc12068383374d9d077f9cca1815f347ea008d04d08ad7a54dbef70189a0da7872246f8369e6d30938fa7e408dadcda0ae71041be68fc836c886dd9c3ab languageName: node linkType: hard -"@typescript-eslint/types@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/types@npm:8.6.0" - checksum: 10c0/e7051d212252f7d1905b5527b211e335db4ec5bb1d3a52d73c8d2de6ddf5cbc981f2c92ca9ffcef35f7447bda635ea1ccce5f884ade7f243d14f2a254982c698 +"@typescript-eslint/types@npm:8.24.1": + version: 8.24.1 + resolution: "@typescript-eslint/types@npm:8.24.1" + checksum: 10c0/ebb40ce16c746ef236dbcc25cb2e6950753ca6fb34d04ed7d477016370de1fdaf7402ed4569673c6ff14bf60af7124ff45c6ddd9328d2f8c94dc04178368e2a3 languageName: node linkType: hard -"@typescript-eslint/typescript-estree@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/typescript-estree@npm:8.6.0" +"@typescript-eslint/typescript-estree@npm:8.24.1": + version: 8.24.1 + resolution: "@typescript-eslint/typescript-estree@npm:8.24.1" dependencies: - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/visitor-keys": "npm:8.6.0" + "@typescript-eslint/types": "npm:8.24.1" + "@typescript-eslint/visitor-keys": "npm:8.24.1" debug: "npm:^4.3.4" fast-glob: "npm:^3.3.2" is-glob: "npm:^4.0.3" minimatch: "npm:^9.0.4" semver: "npm:^7.6.0" - ts-api-utils: "npm:^1.3.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/33ab8c03221a797865301f09d1d198c67f8b0e3dbf0d13e41f699dc2740242303a9fcfd7b38302cef318541fdedd832fd6e8ba34a5041a57e9114fa134045385 + ts-api-utils: "npm:^2.0.1" + peerDependencies: + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/8eeeae6e8de1cd83f2eddd52293e9c31a655e0974cc2d410f00ba2b6fd6bb9aec1c346192d5784d64d0d1b15a55e56e35550788c04dda87e0f1a99b21a3eb709 languageName: node linkType: hard -"@typescript-eslint/utils@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/utils@npm:8.6.0" +"@typescript-eslint/utils@npm:8.24.1": + version: 8.24.1 + resolution: "@typescript-eslint/utils@npm:8.24.1" dependencies: "@eslint-community/eslint-utils": "npm:^4.4.0" - "@typescript-eslint/scope-manager": "npm:8.6.0" - "@typescript-eslint/types": "npm:8.6.0" - "@typescript-eslint/typescript-estree": "npm:8.6.0" + "@typescript-eslint/scope-manager": "npm:8.24.1" + "@typescript-eslint/types": "npm:8.24.1" + "@typescript-eslint/typescript-estree": "npm:8.24.1" peerDependencies: eslint: ^8.57.0 || ^9.0.0 - checksum: 10c0/5b615106342dfdf09f5a73e2554cc0c4d979c262a9a4548eb76ec7045768e0ff0bf0316cf8a5eb5404689cd476fcd335fc84f90eb985557559e42aeee33d687e + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/b3300d5c7e18ec524a46bf683052539f24df0d8c709e39e3bde9dfc6c65180610c46b875f1f4eaad5e311193a56acdfd7111a73f1e8aec4108e9cd19561bf8b8 languageName: node linkType: hard -"@typescript-eslint/visitor-keys@npm:8.6.0": - version: 8.6.0 - resolution: "@typescript-eslint/visitor-keys@npm:8.6.0" +"@typescript-eslint/visitor-keys@npm:8.24.1": + version: 8.24.1 + resolution: "@typescript-eslint/visitor-keys@npm:8.24.1" dependencies: - "@typescript-eslint/types": "npm:8.6.0" - eslint-visitor-keys: "npm:^3.4.3" - checksum: 10c0/9bd5d5daee9de7e009fdd1b64b1eca685a699d1b2639373bc279c97e25e769fff56fffef708ef66a2b19bc8bb201d36daf9e7084f0e0872178bfcf9d923b41f3 + "@typescript-eslint/types": "npm:8.24.1" + eslint-visitor-keys: "npm:^4.2.0" + checksum: 10c0/ba09412fb4b1605aa73c890909c9a8dba2aa72e00ccd7d69baad17c564eedd77f489a06b1686985c7f0c49724787b82d76dcf4c146c4de44ef2c8776a9b6ad2b languageName: node linkType: hard "@ungap/structured-clone@npm:^1.2.0": - version: 1.2.0 - resolution: "@ungap/structured-clone@npm:1.2.0" - checksum: 10c0/8209c937cb39119f44eb63cf90c0b73e7c754209a6411c707be08e50e29ee81356dca1a848a405c8bdeebfe2f5e4f831ad310ae1689eeef65e7445c090c6657d + version: 1.3.0 + resolution: "@ungap/structured-clone@npm:1.3.0" + checksum: 10c0/0fc3097c2540ada1fc340ee56d58d96b5b536a2a0dab6e3ec17d4bfc8c4c86db345f61a375a8185f9da96f01c69678f836a2b57eeaa9e4b8eeafd26428e57b0a languageName: node linkType: hard "@vitejs/plugin-react@npm:^4.3.1": - version: 4.3.1 - resolution: "@vitejs/plugin-react@npm:4.3.1" + version: 4.3.4 + resolution: "@vitejs/plugin-react@npm:4.3.4" dependencies: - "@babel/core": "npm:^7.24.5" - "@babel/plugin-transform-react-jsx-self": "npm:^7.24.5" - "@babel/plugin-transform-react-jsx-source": "npm:^7.24.1" + "@babel/core": "npm:^7.26.0" + "@babel/plugin-transform-react-jsx-self": "npm:^7.25.9" + "@babel/plugin-transform-react-jsx-source": "npm:^7.25.9" "@types/babel__core": "npm:^7.20.5" react-refresh: "npm:^0.14.2" peerDependencies: - vite: ^4.2.0 || ^5.0.0 - checksum: 10c0/39a027feddfd6b3e307121d79631462ef1aae05714ba7a2f9a73d240d0f89c2bf281132568eb27b55d6ddaf08d86ad1bd8b0066090240e570de8c6320eb9a903 + vite: ^4.2.0 || ^5.0.0 || ^6.0.0 + checksum: 10c0/38a47a1dbafae0b97142943d83ee3674cb3331153a60b1a3fd29d230c12c9dfe63b7c345b231a3450168ed8a9375a9a1a253c3d85e9efdc19478c0d56b98496c languageName: node linkType: hard @@ -1829,10 +1849,10 @@ __metadata: languageName: node linkType: hard -"abbrev@npm:^2.0.0": - version: 2.0.0 - resolution: "abbrev@npm:2.0.0" - checksum: 10c0/f742a5a107473946f426c691c08daba61a1d15942616f300b5d32fd735be88fef5cba24201757b6c407fd564555fb48c751cfa33519b2605c8a7aadd22baf372 +"abbrev@npm:^3.0.0": + version: 3.0.0 + resolution: "abbrev@npm:3.0.0" + checksum: 10c0/049704186396f571650eb7b22ed3627b77a5aedf98bb83caf2eac81ca2a3e25e795394b0464cfb2d6076df3db6a5312139eac5b6a126ca296ac53c5008069c28 languageName: node linkType: hard @@ -1855,11 +1875,11 @@ __metadata: linkType: hard "acorn@npm:^8.0.4, acorn@npm:^8.11.0, acorn@npm:^8.4.1, acorn@npm:^8.9.0": - version: 8.12.1 - resolution: "acorn@npm:8.12.1" + version: 8.14.0 + resolution: "acorn@npm:8.14.0" bin: acorn: bin/acorn - checksum: 10c0/51fb26cd678f914e13287e886da2d7021f8c2bc0ccc95e03d3e0447ee278dd3b40b9c57dc222acd5881adcf26f3edc40901a4953403232129e3876793cd17386 + checksum: 10c0/6d4ee461a7734b2f48836ee0fbb752903606e576cc100eb49340295129ca0b452f3ba91ddd4424a1d4406a98adfb2ebb6bd0ff4c49d7a0930c10e462719bbfd7 languageName: node linkType: hard @@ -1872,22 +1892,10 @@ __metadata: languageName: node linkType: hard -"agent-base@npm:^7.0.2, agent-base@npm:^7.1.0, agent-base@npm:^7.1.1": - version: 7.1.1 - resolution: "agent-base@npm:7.1.1" - dependencies: - debug: "npm:^4.3.4" - checksum: 10c0/e59ce7bed9c63bf071a30cc471f2933862044c97fd9958967bfe22521d7a0f601ce4ed5a8c011799d0c726ca70312142ae193bbebb60f576b52be19d4a363b50 - languageName: node - linkType: hard - -"aggregate-error@npm:^3.0.0": - version: 3.1.0 - resolution: "aggregate-error@npm:3.1.0" - dependencies: - clean-stack: "npm:^2.0.0" - indent-string: "npm:^4.0.0" - checksum: 10c0/a42f67faa79e3e6687a4923050e7c9807db3848a037076f791d10e092677d65c1d2d863b7848560699f40fc0502c19f40963fb1cd1fb3d338a7423df8e45e039 +"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2": + version: 7.1.3 + resolution: "agent-base@npm:7.1.3" + checksum: 10c0/6192b580c5b1d8fb399b9c62bf8343d76654c2dd62afcb9a52b2cf44a8b6ace1e3b704d3fe3547d91555c857d3df02603341ff2cb961b9cfe2b12f9f3c38ee11 languageName: node linkType: hard @@ -1945,7 +1953,7 @@ __metadata: languageName: node linkType: hard -"ansi-styles@npm:^3.2.0, ansi-styles@npm:^3.2.1": +"ansi-styles@npm:^3.2.0": version: 3.2.1 resolution: "ansi-styles@npm:3.2.1" dependencies: @@ -1983,71 +1991,74 @@ __metadata: linkType: hard "antd-phone-input@npm:^0.3.9": - version: 0.3.9 - resolution: "antd-phone-input@npm:0.3.9" + version: 0.3.13 + resolution: "antd-phone-input@npm:0.3.13" dependencies: - react-phone-hooks: "npm:^0.1.6" + react-phone-hooks: "npm:^0.1.14" peerDependencies: antd: ">=4" react: ">=16" - checksum: 10c0/ad5027a7196462a69a30dd416e3a6a95a472ae8514aaed4e8f22a16dcdf979abbea895d985e8738650b8f4a411aba81b8fa00b62cbc7d902d9d1c4f0b2b6974f + checksum: 10c0/f91dfb0e8ea578b9f3f3339ae2d159278d1112f292f44530fce0e08455511f29ee6e4d3630c964150f26994668b739a3dc01ce3fd1f851580981cad67348ca61 languageName: node linkType: hard "antd@npm:^5.20.6": - version: 5.21.0 - resolution: "antd@npm:5.21.0" + version: 5.24.1 + resolution: "antd@npm:5.24.1" dependencies: - "@ant-design/colors": "npm:^7.1.0" - "@ant-design/cssinjs": "npm:^1.21.1" - "@ant-design/cssinjs-utils": "npm:^1.1.0" - "@ant-design/icons": "npm:^5.5.1" + "@ant-design/colors": "npm:^7.2.0" + "@ant-design/cssinjs": "npm:^1.23.0" + "@ant-design/cssinjs-utils": "npm:^1.1.3" + "@ant-design/fast-color": "npm:^2.0.6" + "@ant-design/icons": "npm:^5.6.1" "@ant-design/react-slick": "npm:~1.1.2" - "@babel/runtime": "npm:^7.25.6" - "@ctrl/tinycolor": "npm:^3.6.1" + "@babel/runtime": "npm:^7.26.0" "@rc-component/color-picker": "npm:~2.0.1" "@rc-component/mutate-observer": "npm:^1.1.0" "@rc-component/qrcode": "npm:~1.0.0" "@rc-component/tour": "npm:~1.15.1" - "@rc-component/trigger": "npm:^2.2.3" + "@rc-component/trigger": "npm:^2.2.6" classnames: "npm:^2.5.1" copy-to-clipboard: "npm:^3.3.3" dayjs: "npm:^1.11.11" - rc-cascader: "npm:~3.28.1" - rc-checkbox: "npm:~3.3.0" - rc-collapse: "npm:~3.8.0" + rc-cascader: "npm:~3.33.0" + rc-checkbox: "npm:~3.5.0" + rc-collapse: "npm:~3.9.0" rc-dialog: "npm:~9.6.0" rc-drawer: "npm:~7.2.0" - rc-dropdown: "npm:~4.2.0" - rc-field-form: "npm:~2.4.0" + rc-dropdown: "npm:~4.2.1" + rc-field-form: "npm:~2.7.0" rc-image: "npm:~7.11.0" - rc-input: "npm:~1.6.3" - rc-input-number: "npm:~9.2.0" - rc-mentions: "npm:~2.16.1" - rc-menu: "npm:~9.15.1" - rc-motion: "npm:^2.9.3" - rc-notification: "npm:~5.6.1" - rc-pagination: "npm:~4.3.0" - rc-picker: "npm:~4.6.14" + rc-input: "npm:~1.7.2" + rc-input-number: "npm:~9.4.0" + rc-mentions: "npm:~2.19.1" + rc-menu: "npm:~9.16.0" + rc-motion: "npm:^2.9.5" + rc-notification: "npm:~5.6.3" + rc-pagination: "npm:~5.1.0" + rc-picker: "npm:~4.11.1" rc-progress: "npm:~4.0.0" - rc-rate: "npm:~2.13.0" - rc-resize-observer: "npm:^1.4.0" - rc-segmented: "npm:~2.5.0" - rc-select: "npm:~14.15.2" - rc-slider: "npm:~11.1.6" + rc-rate: "npm:~2.13.1" + rc-resize-observer: "npm:^1.4.3" + rc-segmented: "npm:~2.7.0" + rc-select: "npm:~14.16.6" + rc-slider: "npm:~11.1.8" rc-steps: "npm:~6.0.1" rc-switch: "npm:~4.1.0" - rc-table: "npm:~7.47.5" - rc-tabs: "npm:~15.2.0" - rc-textarea: "npm:~1.8.2" - rc-tooltip: "npm:~6.2.1" - rc-tree: "npm:~5.9.0" - rc-tree-select: "npm:~5.23.0" + rc-table: "npm:~7.50.3" + rc-tabs: "npm:~15.5.1" + rc-textarea: "npm:~1.9.0" + rc-tooltip: "npm:~6.4.0" + rc-tree: "npm:~5.13.0" + rc-tree-select: "npm:~5.27.0" rc-upload: "npm:~4.8.1" - rc-util: "npm:^5.43.0" + rc-util: "npm:^5.44.4" scroll-into-view-if-needed: "npm:^3.1.0" throttle-debounce: "npm:^5.0.2" - checksum: 10c0/c958e57f2bb88cd4291c2b3ce3a948bc8298a4ca2c3caad11f2055d4099ce40d1c68fe70a103400754c203078282d590c9cc5854264aa6181f49d50ddd317997 + peerDependencies: + react: ">=16.9.0" + react-dom: ">=16.9.0" + checksum: 10c0/f8c32d67ce8d9e242642e09f3a0f25ef40cd005065fbbe2505f28ae0fa6c3badd52ecdc47907d607cc7ca2385320cdb40098a62ddb2377aea405e1fc57f881e5 languageName: node linkType: hard @@ -2065,13 +2076,13 @@ __metadata: languageName: node linkType: hard -"array-buffer-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "array-buffer-byte-length@npm:1.0.1" +"array-buffer-byte-length@npm:^1.0.1, array-buffer-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "array-buffer-byte-length@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.5" - is-array-buffer: "npm:^3.0.4" - checksum: 10c0/f5cdf54527cd18a3d2852ddf73df79efec03829e7373a8322ef5df2b4ef546fb365c19c71d6b42d641cb6bfe0f1a2f19bc0ece5b533295f86d7c3d522f228917 + call-bound: "npm:^1.0.3" + is-array-buffer: "npm:^3.0.5" + checksum: 10c0/74e1d2d996941c7a1badda9cabb7caab8c449db9086407cad8a1b71d2604cc8abf105db8ca4e02c04579ec58b7be40279ddb09aea4784832984485499f48432d languageName: node linkType: hard @@ -2089,13 +2100,6 @@ __metadata: languageName: node linkType: hard -"array-tree-filter@npm:^2.1.0": - version: 2.1.0 - resolution: "array-tree-filter@npm:2.1.0" - checksum: 10c0/6fd1677522b20d10fd918e446db40c3e313eac9ed77ca8a5ea45f43b69c40300655c69760c159fd2cd189985323231a5077858c59fa3ca9c6c2439635eb8557e - languageName: node - linkType: hard - "array-union@npm:^2.1.0": version: 2.1.0 resolution: "array-union@npm:2.1.0" @@ -2118,26 +2122,26 @@ __metadata: linkType: hard "array.prototype.flat@npm:^1.3.1": - version: 1.3.2 - resolution: "array.prototype.flat@npm:1.3.2" + version: 1.3.3 + resolution: "array.prototype.flat@npm:1.3.3" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/a578ed836a786efbb6c2db0899ae80781b476200617f65a44846cb1ed8bd8b24c8821b83703375d8af639c689497b7b07277060024b9919db94ac3e10dc8a49b + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/d90e04dfbc43bb96b3d2248576753d1fb2298d2d972e29ca7ad5ec621f0d9e16ff8074dae647eac4f31f4fb7d3f561a7ac005fb01a71f51705a13b5af06a7d8a languageName: node linkType: hard -"array.prototype.flatmap@npm:^1.3.2": - version: 1.3.2 - resolution: "array.prototype.flatmap@npm:1.3.2" +"array.prototype.flatmap@npm:^1.3.3": + version: 1.3.3 + resolution: "array.prototype.flatmap@npm:1.3.3" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" - es-shim-unscopables: "npm:^1.0.0" - checksum: 10c0/67b3f1d602bb73713265145853128b1ad77cc0f9b833c7e1e056b323fbeac41a4ff1c9c99c7b9445903caea924d9ca2450578d9011913191aa88cc3c3a4b54f4 + call-bind: "npm:^1.0.8" + define-properties: "npm:^1.2.1" + es-abstract: "npm:^1.23.5" + es-shim-unscopables: "npm:^1.0.2" + checksum: 10c0/ba899ea22b9dc9bf276e773e98ac84638ed5e0236de06f13d63a90b18ca9e0ec7c97d622d899796e3773930b946cd2413d098656c0c5d8cc58c6f25c21e6bd54 languageName: node linkType: hard @@ -2154,19 +2158,18 @@ __metadata: languageName: node linkType: hard -"arraybuffer.prototype.slice@npm:^1.0.3": - version: 1.0.3 - resolution: "arraybuffer.prototype.slice@npm:1.0.3" +"arraybuffer.prototype.slice@npm:^1.0.4": + version: 1.0.4 + resolution: "arraybuffer.prototype.slice@npm:1.0.4" dependencies: array-buffer-byte-length: "npm:^1.0.1" - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.22.3" - es-errors: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.3" + es-abstract: "npm:^1.23.5" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" is-array-buffer: "npm:^3.0.4" - is-shared-array-buffer: "npm:^1.0.2" - checksum: 10c0/d32754045bcb2294ade881d45140a5e52bda2321b9e98fa514797b7f0d252c4c5ab0d1edb34112652c62fa6a9398def568da63a4d7544672229afea283358c36 + checksum: 10c0/2f2459caa06ae0f7f615003f9104b01f6435cc803e11bd2a655107d52a1781dc040532dc44d93026b694cc18793993246237423e13a5337e86b43ed604932c06 languageName: node linkType: hard @@ -2186,6 +2189,13 @@ __metadata: languageName: node linkType: hard +"async-function@npm:^1.0.0": + version: 1.0.0 + resolution: "async-function@npm:1.0.0" + checksum: 10c0/669a32c2cb7e45091330c680e92eaeb791bc1d4132d827591e499cd1f776ff5a873e77e5f92d0ce795a8d60f10761dec9ddfe7225a5de680f5d357f67b1aac73 + languageName: node + linkType: hard + "async-limiter@npm:~1.0.0": version: 1.0.1 resolution: "async-limiter@npm:1.0.1" @@ -2210,44 +2220,44 @@ __metadata: linkType: hard "axios-mock-adapter@npm:^2.0.0": - version: 2.0.0 - resolution: "axios-mock-adapter@npm:2.0.0" + version: 2.1.0 + resolution: "axios-mock-adapter@npm:2.1.0" dependencies: fast-deep-equal: "npm:^3.1.3" is-buffer: "npm:^2.0.5" peerDependencies: axios: ">= 0.17.0" - checksum: 10c0/0cdd0ec77d1ca490d9892efdaa8190fcc799e1ddd5f5e6d87eadfe11ba9e0a1e9c17397c7554f33a606cd4f9d7ec46e81a367ed8bc78758a9b1744a25ce0745f + checksum: 10c0/37ebd88940245f4e027578734613417f024d06e2279edb1a188ccdf685a15ab4fdfbac7cfe681731722a1ba6c0a5ec15ef0145f79a53687181e4aacbe45e1730 languageName: node linkType: hard "axios@npm:^1.7.7": - version: 1.7.7 - resolution: "axios@npm:1.7.7" + version: 1.7.9 + resolution: "axios@npm:1.7.9" dependencies: follow-redirects: "npm:^1.15.6" form-data: "npm:^4.0.0" proxy-from-env: "npm:^1.1.0" - checksum: 10c0/4499efc89e86b0b49ffddc018798de05fab26e3bf57913818266be73279a6418c3ce8f9e934c7d2d707ab8c095e837fc6c90608fb7715b94d357720b5f568af7 + checksum: 10c0/b7a41e24b59fee5f0f26c1fc844b45b17442832eb3a0fb42dd4f1430eb4abc571fe168e67913e8a1d91c993232bd1d1ab03e20e4d1fee8c6147649b576fc1b0b languageName: node linkType: hard -"b4a@npm:^1.6.4, b4a@npm:^1.6.6": - version: 1.6.6 - resolution: "b4a@npm:1.6.6" - checksum: 10c0/56f30277666cb511a15829e38d369b114df7dc8cec4cedc09cc5d685bc0f27cb63c7bcfb58e09a19a1b3c4f2541069ab078b5328542e85d74a39620327709a38 +"b4a@npm:^1.6.4": + version: 1.6.7 + resolution: "b4a@npm:1.6.7" + checksum: 10c0/ec2f004d1daae04be8c5a1f8aeb7fea213c34025e279db4958eb0b82c1729ee25f7c6e89f92a5f65c8a9cf2d017ce27e3dda912403341d1781bd74528a4849d4 languageName: node linkType: hard "babel-plugin-transform-import-meta@npm:^2.2.1": - version: 2.2.1 - resolution: "babel-plugin-transform-import-meta@npm:2.2.1" + version: 2.3.2 + resolution: "babel-plugin-transform-import-meta@npm:2.3.2" dependencies: - "@babel/template": "npm:^7.4.4" - tslib: "npm:^2.4.0" + "@babel/template": "npm:^7.25.9" + tslib: "npm:^2.8.1" peerDependencies: "@babel/core": ^7.10.0 - checksum: 10c0/9d8c73b767bbd13abc288f98866251e44b58d8fbcb0186aa7166d1be021db05f7bdb993342e38956ab144987255ded9558d22fed8d9a54ea1dc3df34fa8a981e + checksum: 10c0/f7b895b649c038ecfdb67addf1b1feb25f39919177b460a277452af2ac7ee335cfda81da6846bcc30fc5fb05ff3011d6eb21f290c69d901f9fdc50673d48ffce languageName: node linkType: hard @@ -2266,46 +2276,53 @@ __metadata: linkType: hard "bare-events@npm:^2.0.0, bare-events@npm:^2.2.0": - version: 2.4.2 - resolution: "bare-events@npm:2.4.2" - checksum: 10c0/09fa923061f31f815e83504e2ed4a8ba87732a01db40a7fae703dbb7eef7f05d99264b5e186074cbe9698213990d1af564c62cca07a5ff88baea8099ad9a6303 + version: 2.5.4 + resolution: "bare-events@npm:2.5.4" + checksum: 10c0/877a9cea73d545e2588cdbd6fd01653e27dac48ad6b44985cdbae73e1f57f292d4ba52e25d1fba53674c1053c463d159f3d5c7bc36a2e6e192e389b499ddd627 languageName: node linkType: hard -"bare-fs@npm:^2.1.1": - version: 2.3.5 - resolution: "bare-fs@npm:2.3.5" +"bare-fs@npm:^4.0.1": + version: 4.0.1 + resolution: "bare-fs@npm:4.0.1" dependencies: bare-events: "npm:^2.0.0" - bare-path: "npm:^2.0.0" + bare-path: "npm:^3.0.0" bare-stream: "npm:^2.0.0" - checksum: 10c0/ff18cc9be7c557c38e0342681ba3672ae4b01e5696b567d4035e5995255dc6bc7d4df88ed210fa4d3eb940eb29512e924ebb42814c87fc59a2bee8cf83b7c2f9 + checksum: 10c0/db2f4e2646faa011e322cbdc4615fe0cac865a03c2f76d7c686eccf96b0b5eea2bc71dfa37e8cfb14f4f61f8cd3ca95ff7b745d37c55fca319e40ec351d4ae0c languageName: node linkType: hard -"bare-os@npm:^2.1.0": - version: 2.4.4 - resolution: "bare-os@npm:2.4.4" - checksum: 10c0/e7d1a7b2100c05da8d25b60d0d48cf850c6f57064577a3f2f51cf18d417fbcfd6967ed2d8314320914ed69e0f2ebcf54eb1b36092dd172d8e8f969cf8cccf041 +"bare-os@npm:^3.0.1": + version: 3.4.0 + resolution: "bare-os@npm:3.4.0" + checksum: 10c0/2d1a4467ef8aff0a13d738e549aac30bbecf7631721f7099de78d6f8fc0ced9334ab391e489de28d69809f788f64081ac25108303a9a9e122f9bf87a8d589025 languageName: node linkType: hard -"bare-path@npm:^2.0.0, bare-path@npm:^2.1.0": - version: 2.1.3 - resolution: "bare-path@npm:2.1.3" +"bare-path@npm:^3.0.0": + version: 3.0.0 + resolution: "bare-path@npm:3.0.0" dependencies: - bare-os: "npm:^2.1.0" - checksum: 10c0/35587e177fc8fa5b13fb90bac8779b5ce49c99016d221ddaefe2232d02bd4295d79b941e14ae19fda75ec42a6fe5fb66c07d83ae7ec11462178e66b7be65ca74 + bare-os: "npm:^3.0.1" + checksum: 10c0/56a3ca82a9f808f4976cb1188640ac206546ce0ddff582afafc7bd2a6a5b31c3bd16422653aec656eeada2830cfbaa433c6cbf6d6b4d9eba033d5e06d60d9a68 languageName: node linkType: hard "bare-stream@npm:^2.0.0": - version: 2.3.0 - resolution: "bare-stream@npm:2.3.0" + version: 2.6.5 + resolution: "bare-stream@npm:2.6.5" dependencies: - b4a: "npm:^1.6.6" - streamx: "npm:^2.20.0" - checksum: 10c0/374a517542e6a0c3c07f3a1d567db612685e66708f79781112aa0e81c1f117ec561cc1ff3926144f15a2200316a77030c95dcc13a1b96d5303f0748798b764cf + streamx: "npm:^2.21.0" + peerDependencies: + bare-buffer: "*" + bare-events: "*" + peerDependenciesMeta: + bare-buffer: + optional: true + bare-events: + optional: true + checksum: 10c0/1242286f8f3147e9fd353cdaa9cf53226a807ac0dde8177c13f1463aa4cd1f88e07407c883a1b322b901e9af2d1cd30aacd873529031132c384622972e0419df languageName: node linkType: hard @@ -2358,17 +2375,17 @@ __metadata: languageName: node linkType: hard -"browserslist@npm:^4.23.1": - version: 4.23.3 - resolution: "browserslist@npm:4.23.3" +"browserslist@npm:^4.24.0": + version: 4.24.4 + resolution: "browserslist@npm:4.24.4" dependencies: - caniuse-lite: "npm:^1.0.30001646" - electron-to-chromium: "npm:^1.5.4" - node-releases: "npm:^2.0.18" - update-browserslist-db: "npm:^1.1.0" + caniuse-lite: "npm:^1.0.30001688" + electron-to-chromium: "npm:^1.5.73" + node-releases: "npm:^2.0.19" + update-browserslist-db: "npm:^1.1.1" bin: browserslist: cli.js - checksum: 10c0/3063bfdf812815346447f4796c8f04601bf5d62003374305fd323c2a463e42776475bcc5309264e39bcf9a8605851e53560695991a623be988138b3ff8c66642 + checksum: 10c0/db7ebc1733cf471e0b490b4f47e3e2ea2947ce417192c9246644e92c667dd56a71406cc58f62ca7587caf828364892e9952904a02b7aead752bc65b62a37cfe9 languageName: node linkType: hard @@ -2396,11 +2413,21 @@ __metadata: languageName: node linkType: hard -"cacache@npm:^18.0.0": - version: 18.0.4 - resolution: "cacache@npm:18.0.4" +"buffer@npm:^6.0.3": + version: 6.0.3 + resolution: "buffer@npm:6.0.3" dependencies: - "@npmcli/fs": "npm:^3.1.0" + base64-js: "npm:^1.3.1" + ieee754: "npm:^1.2.1" + checksum: 10c0/2a905fbbcde73cc5d8bd18d1caa23715d5f83a5935867c2329f0ac06104204ba7947be098fe1317fbd8830e26090ff8e764f08cd14fefc977bb248c3487bcbd0 + languageName: node + linkType: hard + +"cacache@npm:^19.0.1": + version: 19.0.1 + resolution: "cacache@npm:19.0.1" + dependencies: + "@npmcli/fs": "npm:^4.0.0" fs-minipass: "npm:^3.0.0" glob: "npm:^10.2.2" lru-cache: "npm:^10.0.1" @@ -2408,24 +2435,53 @@ __metadata: minipass-collect: "npm:^2.0.1" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - p-map: "npm:^4.0.0" - ssri: "npm:^10.0.0" - tar: "npm:^6.1.11" - unique-filename: "npm:^3.0.0" - checksum: 10c0/6c055bafed9de4f3dcc64ac3dc7dd24e863210902b7c470eb9ce55a806309b3efff78033e3d8b4f7dcc5d467f2db43c6a2857aaaf26f0094b8a351d44c42179f + p-map: "npm:^7.0.2" + ssri: "npm:^12.0.0" + tar: "npm:^7.4.3" + unique-filename: "npm:^4.0.0" + checksum: 10c0/01f2134e1bd7d3ab68be851df96c8d63b492b1853b67f2eecb2c37bb682d37cb70bb858a16f2f0554d3c0071be6dfe21456a1ff6fa4b7eed996570d6a25ffe9c languageName: node linkType: hard -"call-bind@npm:^1.0.2, call-bind@npm:^1.0.5, call-bind@npm:^1.0.6, call-bind@npm:^1.0.7": - version: 1.0.7 - resolution: "call-bind@npm:1.0.7" +"cacheable@npm:^1.8.8": + version: 1.8.8 + resolution: "cacheable@npm:1.8.8" + dependencies: + hookified: "npm:^1.7.0" + keyv: "npm:^5.2.3" + checksum: 10c0/24e0f93782015be75b1ec9fe3fb151b2921f61c282091b873f78a0efeb141e95a21d8aa5f4c6bd99a8acb0b485deb5801aa32b4ecf4b666efa7446739368588b + languageName: node + linkType: hard + +"call-bind-apply-helpers@npm:^1.0.0, call-bind-apply-helpers@npm:^1.0.1": + version: 1.0.2 + resolution: "call-bind-apply-helpers@npm:1.0.2" dependencies: - es-define-property: "npm:^1.0.0" es-errors: "npm:^1.3.0" function-bind: "npm:^1.1.2" + checksum: 10c0/47bd9901d57b857590431243fea704ff18078b16890a6b3e021e12d279bbf211d039155e27d7566b374d49ee1f8189344bac9833dec7a20cdec370506361c938 + languageName: node + linkType: hard + +"call-bind@npm:^1.0.7, call-bind@npm:^1.0.8": + version: 1.0.8 + resolution: "call-bind@npm:1.0.8" + dependencies: + call-bind-apply-helpers: "npm:^1.0.0" + es-define-property: "npm:^1.0.0" get-intrinsic: "npm:^1.2.4" - set-function-length: "npm:^1.2.1" - checksum: 10c0/a3ded2e423b8e2a265983dba81c27e125b48eefb2655e7dfab6be597088da3d47c47976c24bc51b8fd9af1061f8f87b4ab78a314f3c77784b2ae2ba535ad8b8d + set-function-length: "npm:^1.2.2" + checksum: 10c0/a13819be0681d915144467741b69875ae5f4eba8961eb0bf322aab63ec87f8250eb6d6b0dcbb2e1349876412a56129ca338592b3829ef4343527f5f18a0752d4 + languageName: node + linkType: hard + +"call-bound@npm:^1.0.2, call-bound@npm:^1.0.3": + version: 1.0.3 + resolution: "call-bound@npm:1.0.3" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/45257b8e7621067304b30dbd638e856cac913d31e8e00a80d6cf172911acd057846572d0b256b45e652d515db6601e2974a1b1a040e91b4fc36fb3dd86fa69cf languageName: node linkType: hard @@ -2450,21 +2506,10 @@ __metadata: languageName: node linkType: hard -"caniuse-lite@npm:^1.0.30001646": - version: 1.0.30001663 - resolution: "caniuse-lite@npm:1.0.30001663" - checksum: 10c0/6508e27bf7fdec657f26f318b1ab64ace6e1208ef9fedaf0975bc89046e0c683bfba837f108840ada1686ff09b8ffd01e05ac791dcf598b8f16eefb636875cf2 - languageName: node - linkType: hard - -"chalk@npm:^2.4.2": - version: 2.4.2 - resolution: "chalk@npm:2.4.2" - dependencies: - ansi-styles: "npm:^3.2.1" - escape-string-regexp: "npm:^1.0.5" - supports-color: "npm:^5.3.0" - checksum: 10c0/e6543f02ec877732e3a2d1c3c3323ddb4d39fbab687c23f526e25bd4c6a9bf3b83a696e8c769d078e04e5754921648f7821b2a2acfd16c550435fd630026e073 +"caniuse-lite@npm:^1.0.30001688": + version: 1.0.30001700 + resolution: "caniuse-lite@npm:1.0.30001700" + checksum: 10c0/3d391bcdd193208166d3ad759de240b9c18ac3759dbd57195770f0fcd2eedcd47d5e853609aba1eee5a2def44b0a14eee457796bdb3451a27de0c8b27355017c languageName: node linkType: hard @@ -2478,23 +2523,22 @@ __metadata: languageName: node linkType: hard -"chownr@npm:^2.0.0": - version: 2.0.0 - resolution: "chownr@npm:2.0.0" - checksum: 10c0/594754e1303672171cc04e50f6c398ae16128eb134a88f801bf5354fd96f205320f23536a045d9abd8b51024a149696e51231565891d4efdab8846021ecf88e6 +"chownr@npm:^3.0.0": + version: 3.0.0 + resolution: "chownr@npm:3.0.0" + checksum: 10c0/43925b87700f7e3893296c8e9c56cc58f926411cce3a6e5898136daaf08f08b9a8eb76d37d3267e707d0dcc17aed2e2ebdf5848c0c3ce95cf910a919935c1b10 languageName: node linkType: hard -"chromium-bidi@npm:0.6.5": - version: 0.6.5 - resolution: "chromium-bidi@npm:0.6.5" +"chromium-bidi@npm:0.11.0": + version: 0.11.0 + resolution: "chromium-bidi@npm:0.11.0" dependencies: mitt: "npm:3.0.1" - urlpattern-polyfill: "npm:10.0.0" zod: "npm:3.23.8" peerDependencies: devtools-protocol: "*" - checksum: 10c0/3486b60b786b59dd9807f88c7430a8e9e8fd09dc13a6144a061659aabf5237a88074795f40b54fb8c00f3824f9a64463c5f253a995eeaa1e1473681a21e746e0 + checksum: 10c0/7155b1b78bc07371cc750f5a431fb7120fb96e412d24895e5107efe21056a2406f4d051c26be89d2a7355258d6322d203e6d1c4e82f4b30f9b02923de50ba6c9 languageName: node linkType: hard @@ -2505,13 +2549,6 @@ __metadata: languageName: node linkType: hard -"clean-stack@npm:^2.0.0": - version: 2.2.0 - resolution: "clean-stack@npm:2.2.0" - checksum: 10c0/1f90262d5f6230a17e27d0c190b09d47ebe7efdd76a03b5a1127863f7b3c9aec4c3e6c8bb3a7bbf81d553d56a1fd35728f5a8ef4c63f867ac8d690109742a8c1 - languageName: node - linkType: hard - "cliui@npm:^8.0.1": version: 8.0.1 resolution: "cliui@npm:8.0.1" @@ -2579,9 +2616,9 @@ __metadata: linkType: hard "compute-scroll-into-view@npm:^3.0.2": - version: 3.1.0 - resolution: "compute-scroll-into-view@npm:3.1.0" - checksum: 10c0/bf305c4ece8e5c59ed3f7ed82b6dab5b7487ce26f56a693d903869964712870fccb08fe31d40edcbd600b03c99198f54d443acb315d674bd64fd344410c8672e + version: 3.1.1 + resolution: "compute-scroll-into-view@npm:3.1.1" + checksum: 10c0/59761ed62304a9599b52ad75d0d6fbf0669ee2ab7dd472fdb0ad9da36628414c014dea7b5810046560180ad30ffec52a953d19297f66a1d4f3aa0999b9d2521d languageName: node linkType: hard @@ -2617,9 +2654,9 @@ __metadata: linkType: hard "consola@npm:^3.2.3": - version: 3.2.3 - resolution: "consola@npm:3.2.3" - checksum: 10c0/c606220524ec88a05bb1baf557e9e0e04a0c08a9c35d7a08652d99de195c4ddcb6572040a7df57a18ff38bbc13ce9880ad032d56630cef27bef72768ef0ac078 + version: 3.4.0 + resolution: "consola@npm:3.4.0" + checksum: 10c0/bc7f7ad46514375109a80f3ae8330097eb1e5d89232a24eb830f3ac383e22036a62c53d33561cd73d7cda4b3691fba85e3dcf35229ef7721b324aae291ceb40c languageName: node linkType: hard @@ -2695,20 +2732,20 @@ __metadata: linkType: hard "credit-card-type@npm:^10.0.1": - version: 10.0.1 - resolution: "credit-card-type@npm:10.0.1" - checksum: 10c0/5e37db66f1351d6c3cb09d9d5f2092d2194a04da62cc063bc7b02f8c49932e468503480de8b2d2d162ac1d06d4456b894a49f31e7b5d8c8acc88f1e81edfc2c9 + version: 10.0.2 + resolution: "credit-card-type@npm:10.0.2" + checksum: 10c0/8b981ab07cc8e457a11f5a22be99cbc04a7c952b43f0c595020cc897a1d0e83e21114eaa5258f89d3629941fcba00707fc544758be7efb4cb8ec5e711bfcf02a languageName: node linkType: hard "cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2": - version: 7.0.3 - resolution: "cross-spawn@npm:7.0.3" + version: 7.0.6 + resolution: "cross-spawn@npm:7.0.6" dependencies: path-key: "npm:^3.1.0" shebang-command: "npm:^2.0.0" which: "npm:^2.0.1" - checksum: 10c0/5738c312387081c98d69c98e105b6327b069197f864a60593245d64c8089c8a0a744e16349281210d56835bb9274130d825a78b2ad6853ca13cfbeffc0c31750 + checksum: 10c0/053ea8b2135caff68a9e81470e845613e374e7309a47731e81639de3eaeb90c3d01af0e0b44d2ab9d50b43467223b88567dfeb3262db942dc063b9976718ffc1 languageName: node linkType: hard @@ -2719,10 +2756,10 @@ __metadata: languageName: node linkType: hard -"css-functions-list@npm:^3.2.2": - version: 3.2.2 - resolution: "css-functions-list@npm:3.2.2" - checksum: 10c0/8638a63d0cf1bdc50d4a752ec1c94a57e9953c3b03eace4f5526db20bec3c061e95089f905dbb4999c44b9780ce777ba856967560f6d15119a303f6030901c10 +"css-functions-list@npm:^3.2.3": + version: 3.2.3 + resolution: "css-functions-list@npm:3.2.3" + checksum: 10c0/03f9ed34eeed310d2b1cf0e524eea02bc5f87854a4de85f8957ea432ab1036841a3fb00879590519f7bb8fda40d992ce7a72fa9b61696ca1dc53b90064858f96 languageName: node linkType: hard @@ -2744,13 +2781,13 @@ __metadata: languageName: node linkType: hard -"css-tree@npm:^2.3.1": - version: 2.3.1 - resolution: "css-tree@npm:2.3.1" +"css-tree@npm:^3.1.0": + version: 3.1.0 + resolution: "css-tree@npm:3.1.0" dependencies: - mdn-data: "npm:2.0.30" + mdn-data: "npm:2.12.2" source-map-js: "npm:^1.0.1" - checksum: 10c0/6f8c1a11d5e9b14bf02d10717fc0351b66ba12594166f65abfbd8eb8b5b490dd367f5c7721db241a3c792d935fc6751fbc09f7e1598d421477ad9fadc30f4f24 + checksum: 10c0/b5715852c2f397c715ca00d56ec53fc83ea596295ae112eb1ba6a1bda3b31086380e596b1d8c4b980fe6da09e7d0fc99c64d5bb7313030dd0fba9c1415f30979 languageName: node linkType: hard @@ -2777,36 +2814,36 @@ __metadata: languageName: node linkType: hard -"data-view-buffer@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-buffer@npm:1.0.1" +"data-view-buffer@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-buffer@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/8984119e59dbed906a11fcfb417d7d861936f16697a0e7216fe2c6c810f6b5e8f4a5281e73f2c28e8e9259027190ac4a33e2a65fdd7fa86ac06b76e838918583 + is-data-view: "npm:^1.0.2" + checksum: 10c0/7986d40fc7979e9e6241f85db8d17060dd9a71bd53c894fa29d126061715e322a4cd47a00b0b8c710394854183d4120462b980b8554012acc1c0fa49df7ad38c languageName: node linkType: hard -"data-view-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "data-view-byte-length@npm:1.0.1" +"data-view-byte-length@npm:^1.0.2": + version: 1.0.2 + resolution: "data-view-byte-length@npm:1.0.2" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-data-view: "npm:^1.0.1" - checksum: 10c0/b7d9e48a0cf5aefed9ab7d123559917b2d7e0d65531f43b2fd95b9d3a6b46042dd3fca597c42bba384e66b70d7ad66ff23932f8367b241f53d93af42cfe04ec2 + is-data-view: "npm:^1.0.2" + checksum: 10c0/f8a4534b5c69384d95ac18137d381f18a5cfae1f0fc1df0ef6feef51ef0d568606d970b69e02ea186c6c0f0eac77fe4e6ad96fec2569cc86c3afcc7475068c55 languageName: node linkType: hard -"data-view-byte-offset@npm:^1.0.0": - version: 1.0.0 - resolution: "data-view-byte-offset@npm:1.0.0" +"data-view-byte-offset@npm:^1.0.1": + version: 1.0.1 + resolution: "data-view-byte-offset@npm:1.0.1" dependencies: - call-bind: "npm:^1.0.6" + call-bound: "npm:^1.0.2" es-errors: "npm:^1.3.0" is-data-view: "npm:^1.0.1" - checksum: 10c0/21b0d2e53fd6e20cc4257c873bf6d36d77bd6185624b84076c0a1ddaa757b49aaf076254006341d35568e89f52eecd1ccb1a502cfb620f2beca04f48a6a62a8f + checksum: 10c0/fa7aa40078025b7810dcffc16df02c480573b7b53ef1205aa6a61533011005c1890e5ba17018c692ce7c900212b547262d33279fde801ad9843edc0863bf78c4 languageName: node linkType: hard @@ -2833,15 +2870,15 @@ __metadata: languageName: node linkType: hard -"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.6, debug@npm:^4.3.7": - version: 4.3.7 - resolution: "debug@npm:4.3.7" +"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.1.1, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4, debug@npm:^4.3.7, debug@npm:^4.4.0": + version: 4.4.0 + resolution: "debug@npm:4.4.0" dependencies: ms: "npm:^2.1.3" peerDependenciesMeta: supports-color: optional: true - checksum: 10c0/1471db19c3b06d485a622d62f65947a19a23fbd0dd73f7fd3eafb697eec5360cde447fb075919987899b1a2096e85d35d4eb5a4de09a57600ac9cf7e6c8e768b + checksum: 10c0/db94f1a182bf886f57b4755f85b3a74c39b5114b9377b7ab375dc2cfa3454f09490cc6c30f829df3fc8042bc8b8995f6567ce5cd96f3bc3688bd24027197d9de languageName: node linkType: hard @@ -2854,6 +2891,13 @@ __metadata: languageName: node linkType: hard +"deep-diff@npm:^1.0.2": + version: 1.0.2 + resolution: "deep-diff@npm:1.0.2" + checksum: 10c0/cc3e315ba95963eba4bbb79ed88d0a37d80ba19bd3b0039b79d2ad0e19e48b0e15c692b49bcd617bbe0dcc7358d40464c993889313dd8bf806bb25978b12375d + languageName: node + linkType: hard + "deep-is@npm:^0.1.3": version: 0.1.4 resolution: "deep-is@npm:0.1.4" @@ -2861,6 +2905,13 @@ __metadata: languageName: node linkType: hard +"deepmerge@npm:^4.3.1": + version: 4.3.1 + resolution: "deepmerge@npm:4.3.1" + checksum: 10c0/e53481aaf1aa2c4082b5342be6b6d8ad9dfe387bc92ce197a66dea08bd4265904a087e75e464f14d1347cf2ac8afe1e4c16b266e0561cc5df29382d3c5f80044 + languageName: node + linkType: hard + "define-data-property@npm:^1.0.1, define-data-property@npm:^1.1.4": version: 1.1.4 resolution: "define-data-property@npm:1.1.4" @@ -2872,7 +2923,7 @@ __metadata: languageName: node linkType: hard -"define-properties@npm:^1.1.3, define-properties@npm:^1.2.0, define-properties@npm:^1.2.1": +"define-properties@npm:^1.1.3, define-properties@npm:^1.2.1": version: 1.2.1 resolution: "define-properties@npm:1.2.1" dependencies: @@ -2915,10 +2966,10 @@ __metadata: languageName: node linkType: hard -"devtools-protocol@npm:0.0.1342118": - version: 0.0.1342118 - resolution: "devtools-protocol@npm:0.0.1342118" - checksum: 10c0/7ed1b8285629c5121be33757bcbe8b2272bf4bb907c2ac0ac979900413bc06ee52bf6d6de054c0db2459931343d02ee8acb539a64fd49a5d8a440decb7808998 +"devtools-protocol@npm:0.0.1367902": + version: 0.0.1367902 + resolution: "devtools-protocol@npm:0.0.1367902" + checksum: 10c0/be4017f2bfd04474d718daca0e88e062f4afceb2f311662d717f4eae5bda3473da748a68ff1bf2326a67ce35c37af33932190fe8ef1d36c8ef22576befdc57c4 languageName: node linkType: hard @@ -2966,6 +3017,17 @@ __metadata: languageName: node linkType: hard +"dunder-proto@npm:^1.0.0, dunder-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "dunder-proto@npm:1.0.1" + dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + gopd: "npm:^1.2.0" + checksum: 10c0/199f2a0c1c16593ca0a145dbf76a962f8033ce3129f01284d48c45ed4e14fea9bbacd7b3610b6cdc33486cef20385ac054948fefc6272fcce645c09468f93031 + languageName: node + linkType: hard + "duplexer@npm:^0.1.2": version: 0.1.2 resolution: "duplexer@npm:0.1.2" @@ -2994,12 +3056,12 @@ __metadata: linkType: hard "echarts@npm:^5.5.1": - version: 5.5.1 - resolution: "echarts@npm:5.5.1" + version: 5.6.0 + resolution: "echarts@npm:5.6.0" dependencies: tslib: "npm:2.3.0" - zrender: "npm:5.6.0" - checksum: 10c0/2f7e3037f17fda99d977092767943f4d9b0c8f886f86701ec88591707713b5e5fd683e56086b6ba5245b322f088184bdb06eac488234c20a1869b08cb6b4e523 + zrender: "npm:5.6.1" + checksum: 10c0/6d6a2ee88534d1ff0433e935c542237b9896de1c94959f47ebc7e0e9da26f59bf11c91ed6fc135b62ad2786c779ee12bc536fa481e60532dad5b6a2f5167e9ea languageName: node linkType: hard @@ -3010,10 +3072,10 @@ __metadata: languageName: node linkType: hard -"electron-to-chromium@npm:^1.5.4": - version: 1.5.27 - resolution: "electron-to-chromium@npm:1.5.27" - checksum: 10c0/4a057f469a01829884f2a51f3fc60af7e6a718b15009e4875df122fcdf13babea475ba029af1652a6875b4acfca730c48b13caac5d477d648e622699d3b662bf +"electron-to-chromium@npm:^1.5.73": + version: 1.5.102 + resolution: "electron-to-chromium@npm:1.5.102" + checksum: 10c0/db07dab3ee3b7fbc39ad26203925669ade86b12a62d09fa14ae48a354a0f34d162ac9a2ca9d6f70ceb1b16821b01b155e56467702bcc915da1e1dd147dd034b4 languageName: node linkType: hard @@ -3098,135 +3160,141 @@ __metadata: languageName: node linkType: hard -"es-abstract@npm:^1.17.5, es-abstract@npm:^1.22.1, es-abstract@npm:^1.22.3, es-abstract@npm:^1.23.0, es-abstract@npm:^1.23.1, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3": - version: 1.23.3 - resolution: "es-abstract@npm:1.23.3" +"es-abstract@npm:^1.17.5, es-abstract@npm:^1.23.2, es-abstract@npm:^1.23.3, es-abstract@npm:^1.23.5, es-abstract@npm:^1.23.6, es-abstract@npm:^1.23.9": + version: 1.23.9 + resolution: "es-abstract@npm:1.23.9" dependencies: - array-buffer-byte-length: "npm:^1.0.1" - arraybuffer.prototype.slice: "npm:^1.0.3" + array-buffer-byte-length: "npm:^1.0.2" + arraybuffer.prototype.slice: "npm:^1.0.4" available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" - data-view-buffer: "npm:^1.0.1" - data-view-byte-length: "npm:^1.0.1" - data-view-byte-offset: "npm:^1.0.0" - es-define-property: "npm:^1.0.0" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + data-view-buffer: "npm:^1.0.2" + data-view-byte-length: "npm:^1.0.2" + data-view-byte-offset: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.0.0" - es-set-tostringtag: "npm:^2.0.3" - es-to-primitive: "npm:^1.2.1" - function.prototype.name: "npm:^1.1.6" - get-intrinsic: "npm:^1.2.4" - get-symbol-description: "npm:^1.0.2" - globalthis: "npm:^1.0.3" - gopd: "npm:^1.0.1" + es-set-tostringtag: "npm:^2.1.0" + es-to-primitive: "npm:^1.3.0" + function.prototype.name: "npm:^1.1.8" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.0" + get-symbol-description: "npm:^1.1.0" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" hasown: "npm:^2.0.2" - internal-slot: "npm:^1.0.7" - is-array-buffer: "npm:^3.0.4" + internal-slot: "npm:^1.1.0" + is-array-buffer: "npm:^3.0.5" is-callable: "npm:^1.2.7" - is-data-view: "npm:^1.0.1" - is-negative-zero: "npm:^2.0.3" - is-regex: "npm:^1.1.4" - is-shared-array-buffer: "npm:^1.0.3" - is-string: "npm:^1.0.7" - is-typed-array: "npm:^1.1.13" - is-weakref: "npm:^1.0.2" - object-inspect: "npm:^1.13.1" + is-data-view: "npm:^1.0.2" + is-regex: "npm:^1.2.1" + is-shared-array-buffer: "npm:^1.0.4" + is-string: "npm:^1.1.1" + is-typed-array: "npm:^1.1.15" + is-weakref: "npm:^1.1.0" + math-intrinsics: "npm:^1.1.0" + object-inspect: "npm:^1.13.3" object-keys: "npm:^1.1.1" - object.assign: "npm:^4.1.5" - regexp.prototype.flags: "npm:^1.5.2" - safe-array-concat: "npm:^1.1.2" - safe-regex-test: "npm:^1.0.3" - string.prototype.trim: "npm:^1.2.9" - string.prototype.trimend: "npm:^1.0.8" + object.assign: "npm:^4.1.7" + own-keys: "npm:^1.0.1" + regexp.prototype.flags: "npm:^1.5.3" + safe-array-concat: "npm:^1.1.3" + safe-push-apply: "npm:^1.0.0" + safe-regex-test: "npm:^1.1.0" + set-proto: "npm:^1.0.0" + string.prototype.trim: "npm:^1.2.10" + string.prototype.trimend: "npm:^1.0.9" string.prototype.trimstart: "npm:^1.0.8" - typed-array-buffer: "npm:^1.0.2" - typed-array-byte-length: "npm:^1.0.1" - typed-array-byte-offset: "npm:^1.0.2" - typed-array-length: "npm:^1.0.6" - unbox-primitive: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/d27e9afafb225c6924bee9971a7f25f20c314f2d6cb93a63cada4ac11dcf42040896a6c22e5fb8f2a10767055ed4ddf400be3b1eb12297d281726de470b75666 + typed-array-buffer: "npm:^1.0.3" + typed-array-byte-length: "npm:^1.0.3" + typed-array-byte-offset: "npm:^1.0.4" + typed-array-length: "npm:^1.0.7" + unbox-primitive: "npm:^1.1.0" + which-typed-array: "npm:^1.1.18" + checksum: 10c0/1de229c9e08fe13c17fe5abaec8221545dfcd57e51f64909599a6ae896df84b8fd2f7d16c60cb00d7bf495b9298ca3581aded19939d4b7276854a4b066f8422b languageName: node linkType: hard -"es-define-property@npm:^1.0.0": - version: 1.0.0 - resolution: "es-define-property@npm:1.0.0" - dependencies: - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/6bf3191feb7ea2ebda48b577f69bdfac7a2b3c9bcf97307f55fd6ef1bbca0b49f0c219a935aca506c993d8c5d8bddd937766cb760cd5e5a1071351f2df9f9aa4 +"es-define-property@npm:^1.0.0, es-define-property@npm:^1.0.1": + version: 1.0.1 + resolution: "es-define-property@npm:1.0.1" + checksum: 10c0/3f54eb49c16c18707949ff25a1456728c883e81259f045003499efba399c08bad00deebf65cccde8c0e07908c1a225c9d472b7107e558f2a48e28d530e34527c languageName: node linkType: hard -"es-errors@npm:^1.2.1, es-errors@npm:^1.3.0": +"es-errors@npm:^1.3.0": version: 1.3.0 resolution: "es-errors@npm:1.3.0" checksum: 10c0/0a61325670072f98d8ae3b914edab3559b6caa980f08054a3b872052640d91da01d38df55df797fcc916389d77fc92b8d5906cf028f4db46d7e3003abecbca85 languageName: node linkType: hard -"es-iterator-helpers@npm:^1.0.19": - version: 1.0.19 - resolution: "es-iterator-helpers@npm:1.0.19" +"es-iterator-helpers@npm:^1.2.1": + version: 1.2.1 + resolution: "es-iterator-helpers@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.3" + es-abstract: "npm:^1.23.6" es-errors: "npm:^1.3.0" es-set-tostringtag: "npm:^2.0.3" function-bind: "npm:^1.1.2" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + globalthis: "npm:^1.0.4" + gopd: "npm:^1.2.0" has-property-descriptors: "npm:^1.0.2" - has-proto: "npm:^1.0.3" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - iterator.prototype: "npm:^1.1.2" - safe-array-concat: "npm:^1.1.2" - checksum: 10c0/ae8f0241e383b3d197383b9842c48def7fce0255fb6ed049311b686ce295595d9e389b466f6a1b7d4e7bb92d82f5e716d6fae55e20c1040249bf976743b038c5 + has-proto: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + iterator.prototype: "npm:^1.1.4" + safe-array-concat: "npm:^1.1.3" + checksum: 10c0/97e3125ca472d82d8aceea11b790397648b52c26d8768ea1c1ee6309ef45a8755bb63225a43f3150c7591cffc17caf5752459f1e70d583b4184370a8f04ebd2f languageName: node linkType: hard "es-object-atoms@npm:^1.0.0": - version: 1.0.0 - resolution: "es-object-atoms@npm:1.0.0" + version: 1.1.1 + resolution: "es-object-atoms@npm:1.1.1" dependencies: es-errors: "npm:^1.3.0" - checksum: 10c0/1fed3d102eb27ab8d983337bb7c8b159dd2a1e63ff833ec54eea1311c96d5b08223b433060ba240541ca8adba9eee6b0a60cdbf2f80634b784febc9cc8b687b4 + checksum: 10c0/65364812ca4daf48eb76e2a3b7a89b3f6a2e62a1c420766ce9f692665a29d94fe41fe88b65f24106f449859549711e4b40d9fb8002d862dfd7eb1c512d10be0c languageName: node linkType: hard -"es-set-tostringtag@npm:^2.0.3": - version: 2.0.3 - resolution: "es-set-tostringtag@npm:2.0.3" +"es-set-tostringtag@npm:^2.0.3, es-set-tostringtag@npm:^2.1.0": + version: 2.1.0 + resolution: "es-set-tostringtag@npm:2.1.0" dependencies: - get-intrinsic: "npm:^1.2.4" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.6" has-tostringtag: "npm:^1.0.2" - hasown: "npm:^2.0.1" - checksum: 10c0/f22aff1585eb33569c326323f0b0d175844a1f11618b86e193b386f8be0ea9474cfbe46df39c45d959f7aa8f6c06985dc51dd6bce5401645ec5a74c4ceaa836a + hasown: "npm:^2.0.2" + checksum: 10c0/ef2ca9ce49afe3931cb32e35da4dcb6d86ab02592cfc2ce3e49ced199d9d0bb5085fc7e73e06312213765f5efa47cc1df553a6a5154584b21448e9fb8355b1af languageName: node linkType: hard -"es-shim-unscopables@npm:^1.0.0, es-shim-unscopables@npm:^1.0.2": - version: 1.0.2 - resolution: "es-shim-unscopables@npm:1.0.2" +"es-shim-unscopables@npm:^1.0.2": + version: 1.1.0 + resolution: "es-shim-unscopables@npm:1.1.0" dependencies: - hasown: "npm:^2.0.0" - checksum: 10c0/f495af7b4b7601a4c0cfb893581c352636e5c08654d129590386a33a0432cf13a7bdc7b6493801cadd990d838e2839b9013d1de3b880440cb537825e834fe783 + hasown: "npm:^2.0.2" + checksum: 10c0/1b9702c8a1823fc3ef39035a4e958802cf294dd21e917397c561d0b3e195f383b978359816b1732d02b255ccf63e1e4815da0065b95db8d7c992037be3bbbcdb languageName: node linkType: hard -"es-to-primitive@npm:^1.2.1": - version: 1.2.1 - resolution: "es-to-primitive@npm:1.2.1" +"es-to-primitive@npm:^1.3.0": + version: 1.3.0 + resolution: "es-to-primitive@npm:1.3.0" dependencies: - is-callable: "npm:^1.1.4" - is-date-object: "npm:^1.0.1" - is-symbol: "npm:^1.0.2" - checksum: 10c0/0886572b8dc075cb10e50c0af62a03d03a68e1e69c388bd4f10c0649ee41b1fbb24840a1b7e590b393011b5cdbe0144b776da316762653685432df37d6de60f1 + is-callable: "npm:^1.2.7" + is-date-object: "npm:^1.0.5" + is-symbol: "npm:^1.0.4" + checksum: 10c0/c7e87467abb0b438639baa8139f701a06537d2b9bc758f23e8622c3b42fd0fdb5bde0f535686119e446dd9d5e4c0f238af4e14960f4771877cf818d023f6730b languageName: node linkType: hard @@ -3326,7 +3394,7 @@ __metadata: languageName: node linkType: hard -"escalade@npm:^3.1.1, escalade@npm:^3.1.2": +"escalade@npm:^3.1.1, escalade@npm:^3.2.0": version: 3.2.0 resolution: "escalade@npm:3.2.0" checksum: 10c0/ced4dd3a78e15897ed3be74e635110bbf3b08877b0a41be50dcb325ee0e0b5f65fc2d50e9845194d7c4633f327e2e1c6cce00a71b617c5673df0374201d67f65 @@ -3396,8 +3464,8 @@ __metadata: linkType: hard "eslint-plugin-prettier@npm:^5.2.1": - version: 5.2.1 - resolution: "eslint-plugin-prettier@npm:5.2.1" + version: 5.2.3 + resolution: "eslint-plugin-prettier@npm:5.2.3" dependencies: prettier-linter-helpers: "npm:^1.0.0" synckit: "npm:^0.9.1" @@ -3411,7 +3479,7 @@ __metadata: optional: true eslint-config-prettier: optional: true - checksum: 10c0/4bc8bbaf5bb556c9c501dcdff369137763c49ccaf544f9fa91400360ed5e3a3f1234ab59690e06beca5b1b7e6f6356978cdd3b02af6aba3edea2ffe69ca6e8b2 + checksum: 10c0/60d9c03491ec6080ac1d71d0bee1361539ff6beb9b91ac98cfa7176c9ed52b7dbe7119ebee5b441b479d447d17d802a4a492ee06095ef2f22c460e3dd6459302 languageName: node linkType: hard @@ -3425,39 +3493,39 @@ __metadata: linkType: hard "eslint-plugin-react-refresh@npm:^0.4.12": - version: 0.4.12 - resolution: "eslint-plugin-react-refresh@npm:0.4.12" + version: 0.4.19 + resolution: "eslint-plugin-react-refresh@npm:0.4.19" peerDependencies: - eslint: ">=7" - checksum: 10c0/33dd82450f7c5fa884c5c84ffaf9d9a8b363bc155432807dc09904c7db6ba724888fac4562b058268259aa7c9270b622ef411488011b3469a2add275ed5c2273 + eslint: ">=8.40" + checksum: 10c0/7c19c864c5fb1292dd1c9df2ce73cb1f86457937975d108e8619d6f354855d838d3f56f0262ce5cd541a7087de103ad802a32906e13724ea1b93c6e3b6477708 languageName: node linkType: hard "eslint-plugin-react@npm:^7.36.1": - version: 7.36.1 - resolution: "eslint-plugin-react@npm:7.36.1" + version: 7.37.4 + resolution: "eslint-plugin-react@npm:7.37.4" dependencies: array-includes: "npm:^3.1.8" array.prototype.findlast: "npm:^1.2.5" - array.prototype.flatmap: "npm:^1.3.2" + array.prototype.flatmap: "npm:^1.3.3" array.prototype.tosorted: "npm:^1.1.4" doctrine: "npm:^2.1.0" - es-iterator-helpers: "npm:^1.0.19" + es-iterator-helpers: "npm:^1.2.1" estraverse: "npm:^5.3.0" hasown: "npm:^2.0.2" jsx-ast-utils: "npm:^2.4.1 || ^3.0.0" minimatch: "npm:^3.1.2" object.entries: "npm:^1.1.8" object.fromentries: "npm:^2.0.8" - object.values: "npm:^1.2.0" + object.values: "npm:^1.2.1" prop-types: "npm:^15.8.1" resolve: "npm:^2.0.0-next.5" semver: "npm:^6.3.1" - string.prototype.matchall: "npm:^4.0.11" + string.prototype.matchall: "npm:^4.0.12" string.prototype.repeat: "npm:^1.0.0" peerDependencies: eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7 - checksum: 10c0/8cb37f7fb351213bc44263580ff77627e14e27870fd81dae593e3de2826340b9bd8bbac7ae00fd5de69751a0660b2e51bd26760596f4ae85548f6b1bd76706e6 + checksum: 10c0/4acbbdb19669dfa9a162ed8847c3ad1918f6aea1ceb675ee320b5d903b4e463fdef25e15233295b6d0a726fef2ea8b015c527da769c7690932ddc52d5b82ba12 languageName: node linkType: hard @@ -3471,13 +3539,20 @@ __metadata: languageName: node linkType: hard -"eslint-visitor-keys@npm:^3.3.0, eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": +"eslint-visitor-keys@npm:^3.4.1, eslint-visitor-keys@npm:^3.4.3": version: 3.4.3 resolution: "eslint-visitor-keys@npm:3.4.3" checksum: 10c0/92708e882c0a5ffd88c23c0b404ac1628cf20104a108c745f240a13c332a11aac54f49a22d5762efbffc18ecbc9a580d1b7ad034bf5f3cc3307e5cbff2ec9820 languageName: node linkType: hard +"eslint-visitor-keys@npm:^4.2.0": + version: 4.2.0 + resolution: "eslint-visitor-keys@npm:4.2.0" + checksum: 10c0/2ed81c663b147ca6f578312919483eb040295bbab759e5a371953456c636c5b49a559883e2677112453728d66293c0a4c90ab11cab3428cf02a0236d2e738269 + languageName: node + linkType: hard + "eslint@npm:8.57.0": version: 8.57.0 resolution: "eslint@npm:8.57.0" @@ -3601,9 +3676,9 @@ __metadata: linkType: hard "exponential-backoff@npm:^3.1.1": - version: 3.1.1 - resolution: "exponential-backoff@npm:3.1.1" - checksum: 10c0/160456d2d647e6019640bd07111634d8c353038d9fa40176afb7cd49b0548bdae83b56d05e907c2cce2300b81cae35d800ef92fefb9d0208e190fa3b7d6bb579 + version: 3.1.2 + resolution: "exponential-backoff@npm:3.1.2" + checksum: 10c0/d9d3e1eafa21b78464297df91f1776f7fbaa3d5e3f7f0995648ca5b89c069d17055033817348d9f4a43d1c20b0eab84f75af6991751e839df53e4dfd6f22e844 languageName: node linkType: hard @@ -3659,16 +3734,16 @@ __metadata: languageName: node linkType: hard -"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2": - version: 3.3.2 - resolution: "fast-glob@npm:3.3.2" +"fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.2, fast-glob@npm:^3.3.3": + version: 3.3.3 + resolution: "fast-glob@npm:3.3.3" dependencies: "@nodelib/fs.stat": "npm:^2.0.2" "@nodelib/fs.walk": "npm:^1.2.3" glob-parent: "npm:^5.1.2" merge2: "npm:^1.3.0" - micromatch: "npm:^4.0.4" - checksum: 10c0/42baad7b9cd40b63e42039132bde27ca2cb3a4950d0a0f9abe4639ea1aa9d3e3b40f98b1fe31cbc0cc17b664c9ea7447d911a152fa34ec5b72977b125a6fc845 + micromatch: "npm:^4.0.8" + checksum: 10c0/f6aaa141d0d3384cf73cbcdfc52f475ed293f6d5b65bfc5def368b09163a9f7e5ec2b3014d80f733c405f58e470ee0cc451c2937685045cddcdeaa24199c43fe languageName: node linkType: hard @@ -3687,9 +3762,9 @@ __metadata: linkType: hard "fast-uri@npm:^3.0.1": - version: 3.0.1 - resolution: "fast-uri@npm:3.0.1" - checksum: 10c0/3cd46d6006083b14ca61ffe9a05b8eef75ef87e9574b6f68f2e17ecf4daa7aaadeff44e3f0f7a0ef4e0f7e7c20fc07beec49ff14dc72d0b500f00386592f2d10 + version: 3.0.6 + resolution: "fast-uri@npm:3.0.6" + checksum: 10c0/74a513c2af0584448aee71ce56005185f81239eab7a2343110e5bad50c39ad4fb19c5a6f99783ead1cac7ccaf3461a6034fda89fffa2b30b6d99b9f21c2f9d29 languageName: node linkType: hard @@ -3701,11 +3776,11 @@ __metadata: linkType: hard "fastq@npm:^1.6.0": - version: 1.17.1 - resolution: "fastq@npm:1.17.1" + version: 1.19.0 + resolution: "fastq@npm:1.19.0" dependencies: reusify: "npm:^1.0.4" - checksum: 10c0/1095f16cea45fb3beff558bb3afa74ca7a9250f5a670b65db7ed585f92b4b48381445cd328b3d87323da81e43232b5d5978a8201bde84e0cd514310f1ea6da34 + checksum: 10c0/d6a001638f1574a696660fcbba5300d017760432372c801632c325ca7c16819604841c92fd3ccadcdacec0966ca336363a5ff57bc5f0be335d8ea7ac6087b98f languageName: node linkType: hard @@ -3734,6 +3809,15 @@ __metadata: languageName: node linkType: hard +"file-entry-cache@npm:^10.0.5": + version: 10.0.6 + resolution: "file-entry-cache@npm:10.0.6" + dependencies: + flat-cache: "npm:^6.1.6" + checksum: 10c0/4e7226a5dbe7b5130c848c5fd3a352bb16e4ddb1de10cb4b3ea8375f6ab6085ed10da4db2db8119c61fc7e56fc59a40eeb837a4ae1a3a7c8357a17e69004f113 + languageName: node + linkType: hard + "file-entry-cache@npm:^6.0.1": version: 6.0.1 resolution: "file-entry-cache@npm:6.0.1" @@ -3743,15 +3827,6 @@ __metadata: languageName: node linkType: hard -"file-entry-cache@npm:^9.0.0": - version: 9.1.0 - resolution: "file-entry-cache@npm:9.1.0" - dependencies: - flat-cache: "npm:^5.0.0" - checksum: 10c0/4b4dbc1e972f50202b1a4430d30fd99378ef6e2a64857176abdc65c5e4730a948fb37e274478520a7bacbc70f3abba455a4b9d2c1915c53f30d11dc85d3fef5e - languageName: node - linkType: hard - "fill-range@npm:^7.1.1": version: 7.1.1 resolution: "fill-range@npm:7.1.1" @@ -3797,20 +3872,21 @@ __metadata: languageName: node linkType: hard -"flat-cache@npm:^5.0.0": - version: 5.0.0 - resolution: "flat-cache@npm:5.0.0" +"flat-cache@npm:^6.1.6": + version: 6.1.6 + resolution: "flat-cache@npm:6.1.6" dependencies: - flatted: "npm:^3.3.1" - keyv: "npm:^4.5.4" - checksum: 10c0/847f25eefec5d6614fdce76dc6097ee98f63fd4dfbcb908718905ac56610f939f4c28b1f908d6e8857d49286fe73235095d2e7ac9df096c35a3e8a15204c361b + cacheable: "npm:^1.8.8" + flatted: "npm:^3.3.2" + hookified: "npm:^1.7.0" + checksum: 10c0/2aeba555b61d32d7f0803e6b6b3ba959610cdc0e5b591ed0f80a3ad70c4e80e81afb6853c495cafdcbc3a02386d76a1522babcf04e50c4a1e81df2decfd02e9f languageName: node linkType: hard -"flatted@npm:^3.2.9, flatted@npm:^3.3.1": - version: 3.3.1 - resolution: "flatted@npm:3.3.1" - checksum: 10c0/324166b125ee07d4ca9bcf3a5f98d915d5db4f39d711fba640a3178b959919aae1f7cfd8aabcfef5826ed8aa8a2aa14cc85b2d7d18ff638ddf4ae3df39573eaf +"flatted@npm:^3.2.9, flatted@npm:^3.3.2": + version: 3.3.3 + resolution: "flatted@npm:3.3.3" + checksum: 10c0/e957a1c6b0254aa15b8cce8533e24165abd98fadc98575db082b786b5da1b7d72062b81bfdcd1da2f4d46b6ed93bec2434e62333e9b4261d79ef2e75a10dd538 languageName: node linkType: hard @@ -3825,11 +3901,11 @@ __metadata: linkType: hard "for-each@npm:^0.3.3": - version: 0.3.3 - resolution: "for-each@npm:0.3.3" + version: 0.3.5 + resolution: "for-each@npm:0.3.5" dependencies: - is-callable: "npm:^1.1.3" - checksum: 10c0/22330d8a2db728dbf003ec9182c2d421fbcd2969b02b4f97ec288721cda63eb28f2c08585ddccd0f77cb2930af8d958005c9e72f47141dc51816127a118f39aa + is-callable: "npm:^1.2.7" + checksum: 10c0/0e0b50f6a843a282637d43674d1fb278dda1dd85f4f99b640024cfb10b85058aac0cc781bf689d5fe50b4b7f638e91e548560723a4e76e04fe96ae35ef039cee languageName: node linkType: hard @@ -3844,40 +3920,43 @@ __metadata: linkType: hard "form-data@npm:^4.0.0": - version: 4.0.0 - resolution: "form-data@npm:4.0.0" + version: 4.0.2 + resolution: "form-data@npm:4.0.2" dependencies: asynckit: "npm:^0.4.0" combined-stream: "npm:^1.0.8" + es-set-tostringtag: "npm:^2.1.0" mime-types: "npm:^2.1.12" - checksum: 10c0/cb6f3ac49180be03ff07ba3ff125f9eba2ff0b277fb33c7fc47569fc5e616882c5b1c69b9904c4c4187e97dd0419dd03b134174756f296dec62041e6527e2c6e + checksum: 10c0/e534b0cf025c831a0929bf4b9bbe1a9a6b03e273a8161f9947286b9b13bf8fb279c6944aae0070c4c311100c6d6dbb815cd955dc217728caf73fad8dc5b8ee9c languageName: node linkType: hard -"fresh@npm:0.5.2": - version: 0.5.2 - resolution: "fresh@npm:0.5.2" - checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a - languageName: node - linkType: hard - -"fs-extra@npm:^11.2.0": - version: 11.2.0 - resolution: "fs-extra@npm:11.2.0" +"framer-motion@npm:^12.4.7": + version: 12.4.7 + resolution: "framer-motion@npm:12.4.7" dependencies: - graceful-fs: "npm:^4.2.0" - jsonfile: "npm:^6.0.1" - universalify: "npm:^2.0.0" - checksum: 10c0/d77a9a9efe60532d2e790e938c81a02c1b24904ef7a3efb3990b835514465ba720e99a6ea56fd5e2db53b4695319b644d76d5a0e9988a2beef80aa7b1da63398 + motion-dom: "npm:^12.4.5" + motion-utils: "npm:^12.0.0" + tslib: "npm:^2.4.0" + peerDependencies: + "@emotion/is-prop-valid": "*" + react: ^18.0.0 || ^19.0.0 + react-dom: ^18.0.0 || ^19.0.0 + peerDependenciesMeta: + "@emotion/is-prop-valid": + optional: true + react: + optional: true + react-dom: + optional: true + checksum: 10c0/746b6a82f7c1a663341008241065a44370c02f563e57724ed7147f888c12b5df389e95ccda851195e2da24075daf5124ce00ee5e838b60bc9da56e1421cea86c languageName: node linkType: hard -"fs-minipass@npm:^2.0.0": - version: 2.1.0 - resolution: "fs-minipass@npm:2.1.0" - dependencies: - minipass: "npm:^3.0.0" - checksum: 10c0/703d16522b8282d7299337539c3ed6edddd1afe82435e4f5b76e34a79cd74e488a8a0e26a636afc2440e1a23b03878e2122e3a2cfe375a5cf63c37d92b86a004 +"fresh@npm:0.5.2": + version: 0.5.2 + resolution: "fresh@npm:0.5.2" + checksum: 10c0/c6d27f3ed86cc5b601404822f31c900dd165ba63fff8152a3ef714e2012e7535027063bc67ded4cb5b3a49fa596495d46cacd9f47d6328459cf570f08b7d9e5a languageName: node linkType: hard @@ -3930,15 +4009,17 @@ __metadata: languageName: node linkType: hard -"function.prototype.name@npm:^1.1.6": - version: 1.1.6 - resolution: "function.prototype.name@npm:1.1.6" +"function.prototype.name@npm:^1.1.6, function.prototype.name@npm:^1.1.8": + version: 1.1.8 + resolution: "function.prototype.name@npm:1.1.8" dependencies: - call-bind: "npm:^1.0.2" - define-properties: "npm:^1.2.0" - es-abstract: "npm:^1.22.1" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + define-properties: "npm:^1.2.1" functions-have-names: "npm:^1.2.3" - checksum: 10c0/9eae11294905b62cb16874adb4fc687927cda3162285e0ad9612e6a1d04934005d46907362ea9cdb7428edce05a2f2c3dabc3b2d21e9fd343e9bb278230ad94b + hasown: "npm:^2.0.2" + is-callable: "npm:^1.2.7" + checksum: 10c0/e920a2ab52663005f3cbe7ee3373e3c71c1fb5558b0b0548648cdf3e51961085032458e26c71ff1a8c8c20e7ee7caeb03d43a5d1fa8610c459333323a2e71253 languageName: node linkType: hard @@ -3963,16 +4044,31 @@ __metadata: languageName: node linkType: hard -"get-intrinsic@npm:^1.1.3, get-intrinsic@npm:^1.2.1, get-intrinsic@npm:^1.2.3, get-intrinsic@npm:^1.2.4": - version: 1.2.4 - resolution: "get-intrinsic@npm:1.2.4" +"get-intrinsic@npm:^1.2.4, get-intrinsic@npm:^1.2.5, get-intrinsic@npm:^1.2.6, get-intrinsic@npm:^1.2.7": + version: 1.2.7 + resolution: "get-intrinsic@npm:1.2.7" dependencies: + call-bind-apply-helpers: "npm:^1.0.1" + es-define-property: "npm:^1.0.1" es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" function-bind: "npm:^1.1.2" - has-proto: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - hasown: "npm:^2.0.0" - checksum: 10c0/0a9b82c16696ed6da5e39b1267104475c47e3a9bdbe8b509dfe1710946e38a87be70d759f4bb3cda042d76a41ef47fe769660f3b7c0d1f68750299344ffb15b7 + get-proto: "npm:^1.0.0" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + hasown: "npm:^2.0.2" + math-intrinsics: "npm:^1.1.0" + checksum: 10c0/b475dec9f8bff6f7422f51ff4b7b8d0b68e6776ee83a753c1d627e3008c3442090992788038b37eff72e93e43dceed8c1acbdf2d6751672687ec22127933080d + languageName: node + linkType: hard + +"get-proto@npm:^1.0.0, get-proto@npm:^1.0.1": + version: 1.0.1 + resolution: "get-proto@npm:1.0.1" + dependencies: + dunder-proto: "npm:^1.0.1" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/9224acb44603c5526955e83510b9da41baf6ae73f7398875fba50edc5e944223a89c4a72b070fcd78beb5f7bdda58ecb6294adc28f7acfc0da05f76a2399643c languageName: node linkType: hard @@ -3985,26 +4081,25 @@ __metadata: languageName: node linkType: hard -"get-symbol-description@npm:^1.0.2": - version: 1.0.2 - resolution: "get-symbol-description@npm:1.0.2" +"get-symbol-description@npm:^1.1.0": + version: 1.1.0 + resolution: "get-symbol-description@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.5" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/867be6d63f5e0eb026cb3b0ef695ec9ecf9310febb041072d2e142f260bd91ced9eeb426b3af98791d1064e324e653424afa6fd1af17dee373bea48ae03162bc + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/d6a7d6afca375779a4b307738c9e80dbf7afc0bdbe5948768d54ab9653c865523d8920e670991a925936eb524b7cb6a6361d199a760b21d0ca7620194455aa4b languageName: node linkType: hard "get-uri@npm:^6.0.1": - version: 6.0.3 - resolution: "get-uri@npm:6.0.3" + version: 6.0.4 + resolution: "get-uri@npm:6.0.4" dependencies: basic-ftp: "npm:^5.0.2" data-uri-to-buffer: "npm:^6.0.2" debug: "npm:^4.3.4" - fs-extra: "npm:^11.2.0" - checksum: 10c0/8d801c462cd5b9c171d4d9e5f17afce3d9ebfbbfb006a88e3e768ce0071a8e2e59ee1ce822915fc43b9d6b83fde7b8d1c9648330ae89778fa41ad774df8ee0ac + checksum: 10c0/07c87abe1f97a4545fae329a37a45e276ec57e6ad48dad2a97780f87c96b00a82c2043ab49e1a991f99bb5cff8f8ed975e44e4f8b3c9600f35493a97f123499f languageName: node linkType: hard @@ -4026,7 +4121,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^10.2.2, glob@npm:^10.3.10": +"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7": version: 10.4.5 resolution: "glob@npm:10.4.5" dependencies: @@ -4093,13 +4188,13 @@ __metadata: linkType: hard "globals@npm:^15.9.0": - version: 15.9.0 - resolution: "globals@npm:15.9.0" - checksum: 10c0/de4b553e412e7e830998578d51b605c492256fb2a9273eaeec6ec9ee519f1c5aa50de57e3979911607fd7593a4066420e01d8c3d551e7a6a236e96c521aee36c + version: 15.15.0 + resolution: "globals@npm:15.15.0" + checksum: 10c0/f9ae80996392ca71316495a39bec88ac43ae3525a438b5626cd9d5ce9d5500d0a98a266409605f8cd7241c7acf57c354a48111ea02a767ba4f374b806d6861fe languageName: node linkType: hard -"globalthis@npm:^1.0.3, globalthis@npm:^1.0.4": +"globalthis@npm:^1.0.4": version: 1.0.4 resolution: "globalthis@npm:1.0.4" dependencies: @@ -4137,16 +4232,14 @@ __metadata: languageName: node linkType: hard -"gopd@npm:^1.0.1": - version: 1.0.1 - resolution: "gopd@npm:1.0.1" - dependencies: - get-intrinsic: "npm:^1.1.3" - checksum: 10c0/505c05487f7944c552cee72087bf1567debb470d4355b1335f2c262d218ebbff805cd3715448fe29b4b380bae6912561d0467233e4165830efd28da241418c63 +"gopd@npm:^1.0.1, gopd@npm:^1.2.0": + version: 1.2.0 + resolution: "gopd@npm:1.2.0" + checksum: 10c0/50fff1e04ba2b7737c097358534eacadad1e68d24cccee3272e04e007bed008e68d2614f3987788428fd192a5ae3889d08fb2331417e4fc4a9ab366b2043cead languageName: node linkType: hard -"graceful-fs@npm:^4.1.6, graceful-fs@npm:^4.2.0, graceful-fs@npm:^4.2.6": +"graceful-fs@npm:^4.2.6": version: 4.2.11 resolution: "graceful-fs@npm:4.2.11" checksum: 10c0/386d011a553e02bc594ac2ca0bd6d9e4c22d7fa8cfbfc448a6d148c59ea881b092db9dbe3547ae4b88e55f1b01f7c4a2ecc53b310c042793e63aa44cf6c257f2 @@ -4176,17 +4269,10 @@ __metadata: languageName: node linkType: hard -"has-bigints@npm:^1.0.1, has-bigints@npm:^1.0.2": - version: 1.0.2 - resolution: "has-bigints@npm:1.0.2" - checksum: 10c0/724eb1485bfa3cdff6f18d95130aa190561f00b3fcf9f19dc640baf8176b5917c143b81ec2123f8cddb6c05164a198c94b13e1377c497705ccc8e1a80306e83b - languageName: node - linkType: hard - -"has-flag@npm:^3.0.0": - version: 3.0.0 - resolution: "has-flag@npm:3.0.0" - checksum: 10c0/1c6c83b14b8b1b3c25b0727b8ba3e3b647f99e9e6e13eb7322107261de07a4c1be56fc0d45678fc376e09772a3a1642ccdaf8fc69bdf123b6c086598397ce473 +"has-bigints@npm:^1.0.2": + version: 1.1.0 + resolution: "has-bigints@npm:1.1.0" + checksum: 10c0/2de0cdc4a1ccf7a1e75ffede1876994525ac03cc6f5ae7392d3415dd475cd9eee5bceec63669ab61aa997ff6cceebb50ef75561c7002bed8988de2b9d1b40788 languageName: node linkType: hard @@ -4206,21 +4292,23 @@ __metadata: languageName: node linkType: hard -"has-proto@npm:^1.0.1, has-proto@npm:^1.0.3": - version: 1.0.3 - resolution: "has-proto@npm:1.0.3" - checksum: 10c0/35a6989f81e9f8022c2f4027f8b48a552de714938765d019dbea6bb547bd49ce5010a3c7c32ec6ddac6e48fc546166a3583b128f5a7add8b058a6d8b4afec205 +"has-proto@npm:^1.2.0": + version: 1.2.0 + resolution: "has-proto@npm:1.2.0" + dependencies: + dunder-proto: "npm:^1.0.0" + checksum: 10c0/46538dddab297ec2f43923c3d35237df45d8c55a6fc1067031e04c13ed8a9a8f94954460632fd4da84c31a1721eefee16d901cbb1ae9602bab93bb6e08f93b95 languageName: node linkType: hard -"has-symbols@npm:^1.0.2, has-symbols@npm:^1.0.3": - version: 1.0.3 - resolution: "has-symbols@npm:1.0.3" - checksum: 10c0/e6922b4345a3f37069cdfe8600febbca791c94988c01af3394d86ca3360b4b93928bbf395859158f88099cb10b19d98e3bbab7c9ff2c1bd09cf665ee90afa2c3 +"has-symbols@npm:^1.0.3, has-symbols@npm:^1.1.0": + version: 1.1.0 + resolution: "has-symbols@npm:1.1.0" + checksum: 10c0/dde0a734b17ae51e84b10986e651c664379018d10b91b6b0e9b293eddb32f0f069688c841fb40f19e9611546130153e0a2a48fd7f512891fb000ddfa36f5a20e languageName: node linkType: hard -"has-tostringtag@npm:^1.0.0, has-tostringtag@npm:^1.0.2": +"has-tostringtag@npm:^1.0.2": version: 1.0.2 resolution: "has-tostringtag@npm:1.0.2" dependencies: @@ -4229,7 +4317,7 @@ __metadata: languageName: node linkType: hard -"hasown@npm:^2.0.0, hasown@npm:^2.0.1, hasown@npm:^2.0.2": +"hasown@npm:^2.0.2": version: 2.0.2 resolution: "hasown@npm:2.0.2" dependencies: @@ -4247,6 +4335,13 @@ __metadata: languageName: node linkType: hard +"hookified@npm:^1.7.0": + version: 1.7.1 + resolution: "hookified@npm:1.7.1" + checksum: 10c0/779cb2f912d19f9cf00ec081d2fb07068553093e8cfaab7fb536b45a04b5743ac836e7fd4d09f1473f82c105338aa2539a104e5fb28e55f4ec1ce0be28ea9acc + languageName: node + linkType: hard + "html-escaper@npm:^2.0.2": version: 2.0.2 resolution: "html-escaper@npm:2.0.2" @@ -4310,13 +4405,13 @@ __metadata: languageName: node linkType: hard -"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.3, https-proxy-agent@npm:^7.0.5": - version: 7.0.5 - resolution: "https-proxy-agent@npm:7.0.5" +"https-proxy-agent@npm:^7.0.1, https-proxy-agent@npm:^7.0.6": + version: 7.0.6 + resolution: "https-proxy-agent@npm:7.0.6" dependencies: - agent-base: "npm:^7.0.2" + agent-base: "npm:^7.1.2" debug: "npm:4" - checksum: 10c0/2490e3acec397abeb88807db52cac59102d5ed758feee6df6112ab3ccd8325e8a1ce8bce6f4b66e5470eca102d31e425ace904242e4fa28dbe0c59c4bafa7b2c + checksum: 10c0/f729219bc735edb621fa30e6e84e60ee5d00802b8247aac0d7b79b0bd6d4b3294737a337b93b86a0bd9e68099d031858a39260c976dc14cdbba238ba1f8779ac languageName: node linkType: hard @@ -4328,11 +4423,11 @@ __metadata: linkType: hard "i18next@npm:^23.15.1": - version: 23.15.1 - resolution: "i18next@npm:23.15.1" + version: 23.16.8 + resolution: "i18next@npm:23.16.8" dependencies: "@babel/runtime": "npm:^7.23.2" - checksum: 10c0/06bf6c45c70ebe8cc1181ce5f367f6a60acc798abb1926329e67e092a25762cabbfed64ac149745d515f724d2a6fef3bf809bd4fd8f505a7966e9e4dd2e3fd69 + checksum: 10c0/57d249191e8a39bbbbe190cfa2e2bb651d0198e14444fe80453d3df8d02927de3c147c77724e9ae6c72fa241898cd761e3fdcd55d053db373471f1ac084bf345 languageName: node linkType: hard @@ -4354,20 +4449,27 @@ __metadata: languageName: node linkType: hard -"ieee754@npm:^1.1.13": +"ieee754@npm:^1.1.13, ieee754@npm:^1.2.1": version: 1.2.1 resolution: "ieee754@npm:1.2.1" checksum: 10c0/b0782ef5e0935b9f12883a2e2aa37baa75da6e66ce6515c168697b42160807d9330de9a32ec1ed73149aea02e0d822e572bca6f1e22bdcbd2149e13b050b17bb languageName: node linkType: hard -"ignore@npm:^5.2.0, ignore@npm:^5.3.1, ignore@npm:^5.3.2": +"ignore@npm:^5.2.0, ignore@npm:^5.3.1": version: 5.3.2 resolution: "ignore@npm:5.3.2" checksum: 10c0/f9f652c957983634ded1e7f02da3b559a0d4cc210fca3792cb67f1b153623c9c42efdc1c4121af171e295444459fc4a9201101fb041b1104a3c000bccb188337 languageName: node linkType: hard +"ignore@npm:^7.0.3": + version: 7.0.3 + resolution: "ignore@npm:7.0.3" + checksum: 10c0/8e21637513cbcd888a4873d34d5c651a2e24b3c4c9a6b159335a26bed348c3c386c51d6fab23577f59140e1b226323138fbd50e63882d4568fd12aa6c822029e + languageName: node + linkType: hard + "imask@npm:6.4.2": version: 6.4.2 resolution: "imask@npm:6.4.2" @@ -4383,12 +4485,12 @@ __metadata: linkType: hard "import-fresh@npm:^3.2.1, import-fresh@npm:^3.3.0": - version: 3.3.0 - resolution: "import-fresh@npm:3.3.0" + version: 3.3.1 + resolution: "import-fresh@npm:3.3.1" dependencies: parent-module: "npm:^1.0.0" resolve-from: "npm:^4.0.0" - checksum: 10c0/7f882953aa6b740d1f0e384d0547158bc86efbf2eea0f1483b8900a6f65c5a5123c2cf09b0d542cc419d0b98a759ecaeb394237e97ea427f2da221dc3cd80cc3 + checksum: 10c0/bf8cc494872fef783249709385ae883b447e3eb09db0ebd15dcead7d9afe7224dad7bd7591c6b73b0b19b3c0f9640eb8ee884f01cfaf2887ab995b0b36a0cbec languageName: node linkType: hard @@ -4399,13 +4501,6 @@ __metadata: languageName: node linkType: hard -"indent-string@npm:^4.0.0": - version: 4.0.0 - resolution: "indent-string@npm:4.0.0" - checksum: 10c0/1e1904ddb0cb3d6cce7cd09e27a90184908b7a5d5c21b92e232c93579d314f0b83c246ffb035493d0504b1e9147ba2c9b21df0030f48673fba0496ecd698161f - languageName: node - linkType: hard - "inflight@npm:^1.0.4": version: 1.0.6 resolution: "inflight@npm:1.0.6" @@ -4430,14 +4525,14 @@ __metadata: languageName: node linkType: hard -"internal-slot@npm:^1.0.7": - version: 1.0.7 - resolution: "internal-slot@npm:1.0.7" +"internal-slot@npm:^1.1.0": + version: 1.1.0 + resolution: "internal-slot@npm:1.1.0" dependencies: es-errors: "npm:^1.3.0" - hasown: "npm:^2.0.0" - side-channel: "npm:^1.0.4" - checksum: 10c0/f8b294a4e6ea3855fc59551bbf35f2b832cf01fd5e6e2a97f5c201a071cc09b49048f856e484b67a6c721da5e55736c5b6ddafaf19e2dbeb4a3ff1821680de6c + hasown: "npm:^2.0.2" + side-channel: "npm:^1.1.0" + checksum: 10c0/03966f5e259b009a9bf1a78d60da920df198af4318ec004f57b8aef1dd3fe377fbc8cce63a96e8c810010302654de89f9e19de1cd8ad0061d15be28a695465c7 languageName: node linkType: hard @@ -4460,13 +4555,14 @@ __metadata: languageName: node linkType: hard -"is-array-buffer@npm:^3.0.4": - version: 3.0.4 - resolution: "is-array-buffer@npm:3.0.4" +"is-array-buffer@npm:^3.0.4, is-array-buffer@npm:^3.0.5": + version: 3.0.5 + resolution: "is-array-buffer@npm:3.0.5" dependencies: - call-bind: "npm:^1.0.2" - get-intrinsic: "npm:^1.2.1" - checksum: 10c0/42a49d006cc6130bc5424eae113e948c146f31f9d24460fc0958f855d9d810e6fd2e4519bf19aab75179af9c298ea6092459d8cafdec523cd19e529b26eab860 + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/c5c9f25606e86dbb12e756694afbbff64bc8b348d1bc989324c037e1068695131930199d6ad381952715dad3a9569333817f0b1a72ce5af7f883ce802e49c83d languageName: node linkType: hard @@ -4478,30 +4574,34 @@ __metadata: linkType: hard "is-async-function@npm:^2.0.0": - version: 2.0.0 - resolution: "is-async-function@npm:2.0.0" + version: 2.1.1 + resolution: "is-async-function@npm:2.1.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/787bc931576aad525d751fc5ce211960fe91e49ac84a5c22d6ae0bc9541945fbc3f686dc590c3175722ce4f6d7b798a93f6f8ff4847fdb2199aea6f4baf5d668 + async-function: "npm:^1.0.0" + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.1" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/d70c236a5e82de6fc4d44368ffd0c2fee2b088b893511ce21e679da275a5ecc6015ff59a7d7e1bdd7ca39f71a8dbdd253cf8cce5c6b3c91cdd5b42b5ce677298 languageName: node linkType: hard -"is-bigint@npm:^1.0.1": - version: 1.0.4 - resolution: "is-bigint@npm:1.0.4" +"is-bigint@npm:^1.1.0": + version: 1.1.0 + resolution: "is-bigint@npm:1.1.0" dependencies: - has-bigints: "npm:^1.0.1" - checksum: 10c0/eb9c88e418a0d195ca545aff2b715c9903d9b0a5033bc5922fec600eb0c3d7b1ee7f882dbf2e0d5a6e694e42391be3683e4368737bd3c4a77f8ac293e7773696 + has-bigints: "npm:^1.0.2" + checksum: 10c0/f4f4b905ceb195be90a6ea7f34323bf1c18e3793f18922e3e9a73c684c29eeeeff5175605c3a3a74cc38185fe27758f07efba3dbae812e5c5afbc0d2316b40e4 languageName: node linkType: hard -"is-boolean-object@npm:^1.1.0": - version: 1.1.2 - resolution: "is-boolean-object@npm:1.1.2" +"is-boolean-object@npm:^1.2.1": + version: 1.2.2 + resolution: "is-boolean-object@npm:1.2.2" dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/6090587f8a8a8534c0f816da868bc94f32810f08807aa72fa7e79f7e11c466d281486ffe7a788178809c2aa71fe3e700b167fe80dd96dad68026bfff8ebf39f7 + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/36ff6baf6bd18b3130186990026f5a95c709345c39cd368468e6c1b6ab52201e9fd26d8e1f4c066357b4938b0f0401e1a5000e08257787c1a02f3a719457001e languageName: node linkType: hard @@ -4512,7 +4612,7 @@ __metadata: languageName: node linkType: hard -"is-callable@npm:^1.1.3, is-callable@npm:^1.1.4, is-callable@npm:^1.2.7": +"is-callable@npm:^1.2.7": version: 1.2.7 resolution: "is-callable@npm:1.2.7" checksum: 10c0/ceebaeb9d92e8adee604076971dd6000d38d6afc40bb843ea8e45c5579b57671c3f3b50d7f04869618242c6cee08d1b67806a8cb8edaaaf7c0748b3720d6066f @@ -4520,29 +4620,32 @@ __metadata: linkType: hard "is-core-module@npm:^2.13.0": - version: 2.15.1 - resolution: "is-core-module@npm:2.15.1" + version: 2.16.1 + resolution: "is-core-module@npm:2.16.1" dependencies: hasown: "npm:^2.0.2" - checksum: 10c0/53432f10c69c40bfd2fa8914133a68709ff9498c86c3bf5fca3cdf3145a56fd2168cbf4a43b29843a6202a120a5f9c5ffba0a4322e1e3441739bc0b641682612 + checksum: 10c0/898443c14780a577e807618aaae2b6f745c8538eca5c7bc11388a3f2dc6de82b9902bcc7eb74f07be672b11bbe82dd6a6edded44a00cb3d8f933d0459905eedd languageName: node linkType: hard -"is-data-view@npm:^1.0.1": - version: 1.0.1 - resolution: "is-data-view@npm:1.0.1" +"is-data-view@npm:^1.0.1, is-data-view@npm:^1.0.2": + version: 1.0.2 + resolution: "is-data-view@npm:1.0.2" dependencies: + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" is-typed-array: "npm:^1.1.13" - checksum: 10c0/a3e6ec84efe303da859107aed9b970e018e2bee7ffcb48e2f8096921a493608134240e672a2072577e5f23a729846241d9634806e8a0e51d9129c56d5f65442d + checksum: 10c0/ef3548a99d7e7f1370ce21006baca6d40c73e9f15c941f89f0049c79714c873d03b02dae1c64b3f861f55163ecc16da06506c5b8a1d4f16650b3d9351c380153 languageName: node linkType: hard -"is-date-object@npm:^1.0.1, is-date-object@npm:^1.0.5": - version: 1.0.5 - resolution: "is-date-object@npm:1.0.5" +"is-date-object@npm:^1.0.5, is-date-object@npm:^1.1.0": + version: 1.1.0 + resolution: "is-date-object@npm:1.1.0" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/eed21e5dcc619c48ccef804dfc83a739dbb2abee6ca202838ee1bd5f760fe8d8a93444f0d49012ad19bb7c006186e2884a1b92f6e1c056da7fd23d0a9ad5992e + call-bound: "npm:^1.0.2" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/1a4d199c8e9e9cac5128d32e6626fa7805175af9df015620ac0d5d45854ccf348ba494679d872d37301032e35a54fc7978fba1687e8721b2139aea7870cafa2f languageName: node linkType: hard @@ -4553,12 +4656,12 @@ __metadata: languageName: node linkType: hard -"is-finalizationregistry@npm:^1.0.2": - version: 1.0.2 - resolution: "is-finalizationregistry@npm:1.0.2" +"is-finalizationregistry@npm:^1.1.0": + version: 1.1.1 + resolution: "is-finalizationregistry@npm:1.1.1" dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/81caecc984d27b1a35c68741156fc651fb1fa5e3e6710d21410abc527eb226d400c0943a167922b2e920f6b3e58b0dede9aa795882b038b85f50b3a4b877db86 + call-bound: "npm:^1.0.3" + checksum: 10c0/818dff679b64f19e228a8205a1e2d09989a98e98def3a817f889208cfcbf918d321b251aadf2c05918194803ebd2eb01b14fc9d0b2bea53d984f4137bfca5e97 languageName: node linkType: hard @@ -4570,11 +4673,14 @@ __metadata: linkType: hard "is-generator-function@npm:^1.0.10": - version: 1.0.10 - resolution: "is-generator-function@npm:1.0.10" + version: 1.1.0 + resolution: "is-generator-function@npm:1.1.0" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/df03514df01a6098945b5a0cfa1abff715807c8e72f57c49a0686ad54b3b74d394e2d8714e6f709a71eb00c9630d48e73ca1796c1ccc84ac95092c1fecc0d98b + call-bound: "npm:^1.0.3" + get-proto: "npm:^1.0.0" + has-tostringtag: "npm:^1.0.2" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/fdfa96c8087bf36fc4cd514b474ba2ff404219a4dd4cfa6cf5426404a1eed259bdcdb98f082a71029a48d01f27733e3436ecc6690129a7ec09cb0434bee03a2a languageName: node linkType: hard @@ -4587,33 +4693,34 @@ __metadata: languageName: node linkType: hard -"is-lambda@npm:^1.0.1": - version: 1.0.1 - resolution: "is-lambda@npm:1.0.1" - checksum: 10c0/85fee098ae62ba6f1e24cf22678805473c7afd0fb3978a3aa260e354cb7bcb3a5806cf0a98403188465efedec41ab4348e8e4e79305d409601323855b3839d4d +"is-lite@npm:^0.8.2": + version: 0.8.2 + resolution: "is-lite@npm:0.8.2" + checksum: 10c0/ed4b99d47ff12d0bf9730994cec8bcdee20bf46d68810f55e9e041797c76da664ab6d48a9ed2e7fb3aa52843a48ac4a083561a2235311a046551542504d995fd languageName: node linkType: hard -"is-map@npm:^2.0.3": - version: 2.0.3 - resolution: "is-map@npm:2.0.3" - checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc +"is-lite@npm:^1.2.1": + version: 1.2.1 + resolution: "is-lite@npm:1.2.1" + checksum: 10c0/53acb0f6329f0aba96fef4d883d42f3d9aabf2c42baba45821407d14b1782b9c6bea42c3eef72b37788be1acc95d6cf2df8a6b8424cb9f6eb12c08d5a7d81288 languageName: node linkType: hard -"is-negative-zero@npm:^2.0.3": +"is-map@npm:^2.0.3": version: 2.0.3 - resolution: "is-negative-zero@npm:2.0.3" - checksum: 10c0/bcdcf6b8b9714063ffcfa9929c575ac69bfdabb8f4574ff557dfc086df2836cf07e3906f5bbc4f2a5c12f8f3ba56af640c843cdfc74da8caed86c7c7d66fd08e + resolution: "is-map@npm:2.0.3" + checksum: 10c0/2c4d431b74e00fdda7162cd8e4b763d6f6f217edf97d4f8538b94b8702b150610e2c64961340015fe8df5b1fcee33ccd2e9b62619c4a8a3a155f8de6d6d355fc languageName: node linkType: hard -"is-number-object@npm:^1.0.4": - version: 1.0.7 - resolution: "is-number-object@npm:1.0.7" +"is-number-object@npm:^1.1.1": + version: 1.1.1 + resolution: "is-number-object@npm:1.1.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/aad266da1e530f1804a2b7bd2e874b4869f71c98590b3964f9d06cc9869b18f8d1f4778f838ecd2a11011bce20aeecb53cb269ba916209b79c24580416b74b1b + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/97b451b41f25135ff021d85c436ff0100d84a039bb87ffd799cbcdbea81ef30c464ced38258cdd34f080be08fc3b076ca1f472086286d2aa43521d6ec6a79f53 languageName: node linkType: hard @@ -4638,13 +4745,15 @@ __metadata: languageName: node linkType: hard -"is-regex@npm:^1.1.4": - version: 1.1.4 - resolution: "is-regex@npm:1.1.4" +"is-regex@npm:^1.2.1": + version: 1.2.1 + resolution: "is-regex@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.2" - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/bb72aae604a69eafd4a82a93002058c416ace8cde95873589a97fc5dac96a6c6c78a9977d487b7b95426a8f5073969124dd228f043f9f604f041f32fcc465fc1 + call-bound: "npm:^1.0.2" + gopd: "npm:^1.2.0" + has-tostringtag: "npm:^1.0.2" + hasown: "npm:^2.0.2" + checksum: 10c0/1d3715d2b7889932349241680032e85d0b492cfcb045acb75ffc2c3085e8d561184f1f7e84b6f8321935b4aea39bc9c6ba74ed595b57ce4881a51dfdbc214e04 languageName: node linkType: hard @@ -4655,39 +4764,42 @@ __metadata: languageName: node linkType: hard -"is-shared-array-buffer@npm:^1.0.2, is-shared-array-buffer@npm:^1.0.3": - version: 1.0.3 - resolution: "is-shared-array-buffer@npm:1.0.3" +"is-shared-array-buffer@npm:^1.0.4": + version: 1.0.4 + resolution: "is-shared-array-buffer@npm:1.0.4" dependencies: - call-bind: "npm:^1.0.7" - checksum: 10c0/adc11ab0acbc934a7b9e5e9d6c588d4ec6682f6fea8cda5180721704fa32927582ede5b123349e32517fdadd07958973d24716c80e7ab198970c47acc09e59c7 + call-bound: "npm:^1.0.3" + checksum: 10c0/65158c2feb41ff1edd6bbd6fd8403a69861cf273ff36077982b5d4d68e1d59278c71691216a4a64632bd76d4792d4d1d2553901b6666d84ade13bba5ea7bc7db languageName: node linkType: hard -"is-string@npm:^1.0.5, is-string@npm:^1.0.7": - version: 1.0.7 - resolution: "is-string@npm:1.0.7" +"is-string@npm:^1.0.7, is-string@npm:^1.1.1": + version: 1.1.1 + resolution: "is-string@npm:1.1.1" dependencies: - has-tostringtag: "npm:^1.0.0" - checksum: 10c0/905f805cbc6eedfa678aaa103ab7f626aac9ebbdc8737abb5243acaa61d9820f8edc5819106b8fcd1839e33db21de9f0116ae20de380c8382d16dc2a601921f6 + call-bound: "npm:^1.0.3" + has-tostringtag: "npm:^1.0.2" + checksum: 10c0/2f518b4e47886bb81567faba6ffd0d8a8333cf84336e2e78bf160693972e32ad00fe84b0926491cc598dee576fdc55642c92e62d0cbe96bf36f643b6f956f94d languageName: node linkType: hard -"is-symbol@npm:^1.0.2, is-symbol@npm:^1.0.3": - version: 1.0.4 - resolution: "is-symbol@npm:1.0.4" +"is-symbol@npm:^1.0.4, is-symbol@npm:^1.1.1": + version: 1.1.1 + resolution: "is-symbol@npm:1.1.1" dependencies: - has-symbols: "npm:^1.0.2" - checksum: 10c0/9381dd015f7c8906154dbcbf93fad769de16b4b961edc94f88d26eb8c555935caa23af88bda0c93a18e65560f6d7cca0fd5a3f8a8e1df6f1abbb9bead4502ef7 + call-bound: "npm:^1.0.2" + has-symbols: "npm:^1.1.0" + safe-regex-test: "npm:^1.1.0" + checksum: 10c0/f08f3e255c12442e833f75a9e2b84b2d4882fdfd920513cf2a4a2324f0a5b076c8fd913778e3ea5d258d5183e9d92c0cd20e04b03ab3df05316b049b2670af1e languageName: node linkType: hard -"is-typed-array@npm:^1.1.13": - version: 1.1.13 - resolution: "is-typed-array@npm:1.1.13" +"is-typed-array@npm:^1.1.13, is-typed-array@npm:^1.1.14, is-typed-array@npm:^1.1.15": + version: 1.1.15 + resolution: "is-typed-array@npm:1.1.15" dependencies: - which-typed-array: "npm:^1.1.14" - checksum: 10c0/fa5cb97d4a80e52c2cc8ed3778e39f175a1a2ae4ddf3adae3187d69586a1fd57cfa0b095db31f66aa90331e9e3da79184cea9c6abdcd1abc722dc3c3edd51cca + which-typed-array: "npm:^1.1.16" + checksum: 10c0/415511da3669e36e002820584e264997ffe277ff136643a3126cc949197e6ca3334d0f12d084e83b1994af2e9c8141275c741cf2b7da5a2ff62dd0cac26f76c4 languageName: node linkType: hard @@ -4698,22 +4810,22 @@ __metadata: languageName: node linkType: hard -"is-weakref@npm:^1.0.2": - version: 1.0.2 - resolution: "is-weakref@npm:1.0.2" +"is-weakref@npm:^1.0.2, is-weakref@npm:^1.1.0": + version: 1.1.1 + resolution: "is-weakref@npm:1.1.1" dependencies: - call-bind: "npm:^1.0.2" - checksum: 10c0/1545c5d172cb690c392f2136c23eec07d8d78a7f57d0e41f10078aa4f5daf5d7f57b6513a67514ab4f073275ad00c9822fc8935e00229d0a2089e1c02685d4b1 + call-bound: "npm:^1.0.3" + checksum: 10c0/8e0a9c07b0c780949a100e2cab2b5560a48ecd4c61726923c1a9b77b6ab0aa0046c9e7fb2206042296817045376dee2c8ab1dabe08c7c3dfbf195b01275a085b languageName: node linkType: hard "is-weakset@npm:^2.0.3": - version: 2.0.3 - resolution: "is-weakset@npm:2.0.3" + version: 2.0.4 + resolution: "is-weakset@npm:2.0.4" dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - checksum: 10c0/8ad6141b6a400e7ce7c7442a13928c676d07b1f315ab77d9912920bf5f4170622f43126f111615788f26c3b1871158a6797c862233124507db0bcc33a9537d1a + call-bound: "npm:^1.0.3" + get-intrinsic: "npm:^1.2.6" + checksum: 10c0/6491eba08acb8dc9532da23cb226b7d0192ede0b88f16199e592e4769db0a077119c1f5d2283d1e0d16d739115f70046e887e477eb0e66cd90e1bb29f28ba647 languageName: node linkType: hard @@ -4745,16 +4857,17 @@ __metadata: languageName: node linkType: hard -"iterator.prototype@npm:^1.1.2": - version: 1.1.2 - resolution: "iterator.prototype@npm:1.1.2" +"iterator.prototype@npm:^1.1.4": + version: 1.1.5 + resolution: "iterator.prototype@npm:1.1.5" dependencies: - define-properties: "npm:^1.2.1" - get-intrinsic: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" - reflect.getprototypeof: "npm:^1.0.4" - set-function-name: "npm:^2.0.1" - checksum: 10c0/a32151326095e916f306990d909f6bbf23e3221999a18ba686419535dcd1749b10ded505e89334b77dc4c7a58a8508978f0eb16c2c8573e6d412eb7eb894ea79 + define-data-property: "npm:^1.1.4" + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.6" + get-proto: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/f7a262808e1b41049ab55f1e9c29af7ec1025a000d243b83edf34ce2416eedd56079b117fa59376bb4a724110690f13aa8427f2ee29a09eec63a7e72367626d0 languageName: node linkType: hard @@ -4818,12 +4931,12 @@ __metadata: languageName: node linkType: hard -"jsesc@npm:^2.5.1": - version: 2.5.2 - resolution: "jsesc@npm:2.5.2" +"jsesc@npm:^3.0.2": + version: 3.1.0 + resolution: "jsesc@npm:3.1.0" bin: jsesc: bin/jsesc - checksum: 10c0/dbf59312e0ebf2b4405ef413ec2b25abb5f8f4d9bc5fb8d9f90381622ebca5f2af6a6aa9a8578f65903f9e33990a6dc798edd0ce5586894bf0e9e31803a1de88 + checksum: 10c0/531779df5ec94f47e462da26b4cbf05eb88a83d9f08aac2ba04206508fc598527a153d08bd462bae82fc78b3eaa1a908e1a4a79f886e9238641c4cdefaf118b1 languageName: node linkType: hard @@ -4880,19 +4993,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^6.0.1": - version: 6.1.0 - resolution: "jsonfile@npm:6.1.0" - dependencies: - graceful-fs: "npm:^4.1.6" - universalify: "npm:^2.0.0" - dependenciesMeta: - graceful-fs: - optional: true - checksum: 10c0/4f95b5e8a5622b1e9e8f33c96b7ef3158122f595998114d1e7f03985649ea99cb3cd99ce1ed1831ae94c8c8543ab45ebd044207612f31a56fd08462140e46865 - languageName: node - linkType: hard - "jsx-ast-utils@npm:^2.4.1 || ^3.0.0": version: 3.3.5 resolution: "jsx-ast-utils@npm:3.3.5" @@ -4905,7 +5005,7 @@ __metadata: languageName: node linkType: hard -"keyv@npm:^4.5.3, keyv@npm:^4.5.4": +"keyv@npm:^4.5.3": version: 4.5.4 resolution: "keyv@npm:4.5.4" dependencies: @@ -4914,6 +5014,15 @@ __metadata: languageName: node linkType: hard +"keyv@npm:^5.2.3": + version: 5.2.3 + resolution: "keyv@npm:5.2.3" + dependencies: + "@keyv/serialize": "npm:^1.0.2" + checksum: 10c0/76b87dd2c21a4c1c5c05e9ff3b85670beab98f153429aaa9aee544b72b65411a7d80d96c29f3fef3e9dcebb672c8268e7209d6f80beb5da939b4e019722948b4 + languageName: node + linkType: hard + "kind-of@npm:^6.0.2": version: 6.0.3 resolution: "kind-of@npm:6.0.3" @@ -4921,10 +5030,10 @@ __metadata: languageName: node linkType: hard -"known-css-properties@npm:^0.34.0": - version: 0.34.0 - resolution: "known-css-properties@npm:0.34.0" - checksum: 10c0/8549969f02b1858554e89faf4548ece37625d0d21b42e8d54fa53184e68e1512ef2531bb15941575ad816361ab7447b598c1b18c1b96ce0a868333d1a68f2e2c +"known-css-properties@npm:^0.35.0": + version: 0.35.0 + resolution: "known-css-properties@npm:0.35.0" + checksum: 10c0/04a4a2859d62670bb25b5b28091a1f03f6f0d3298a5ed3e7476397c5287b98c434f6dd9c004a0c67a53b7f21acc93f83c972e98c122f568d4d0bd21fd2b90fb6 languageName: node linkType: hard @@ -5025,23 +5134,22 @@ __metadata: languageName: node linkType: hard -"make-fetch-happen@npm:^13.0.0": - version: 13.0.1 - resolution: "make-fetch-happen@npm:13.0.1" +"make-fetch-happen@npm:^14.0.3": + version: 14.0.3 + resolution: "make-fetch-happen@npm:14.0.3" dependencies: - "@npmcli/agent": "npm:^2.0.0" - cacache: "npm:^18.0.0" + "@npmcli/agent": "npm:^3.0.0" + cacache: "npm:^19.0.1" http-cache-semantics: "npm:^4.1.1" - is-lambda: "npm:^1.0.1" minipass: "npm:^7.0.2" - minipass-fetch: "npm:^3.0.0" + minipass-fetch: "npm:^4.0.0" minipass-flush: "npm:^1.0.5" minipass-pipeline: "npm:^1.2.4" - negotiator: "npm:^0.6.3" - proc-log: "npm:^4.2.0" + negotiator: "npm:^1.0.0" + proc-log: "npm:^5.0.0" promise-retry: "npm:^2.0.1" - ssri: "npm:^10.0.0" - checksum: 10c0/df5f4dbb6d98153b751bccf4dc4cc500de85a96a9331db9805596c46aa9f99d9555983954e6c1266d9f981ae37a9e4647f42b9a4bb5466f867f4012e582c9e7e + ssri: "npm:^12.0.0" + checksum: 10c0/c40efb5e5296e7feb8e37155bde8eb70bc57d731b1f7d90e35a092fde403d7697c56fb49334d92d330d6f1ca29a98142036d6480a12681133a0a1453164cb2f0 languageName: node linkType: hard @@ -5074,6 +5182,13 @@ __metadata: languageName: node linkType: hard +"math-intrinsics@npm:^1.1.0": + version: 1.1.0 + resolution: "math-intrinsics@npm:1.1.0" + checksum: 10c0/7579ff94e899e2f76ab64491d76cf606274c874d8f2af4a442c016bd85688927fcfca157ba6bf74b08e9439dc010b248ce05b96cc7c126a354c3bae7fcb48b7f + languageName: node + linkType: hard + "mathml-tag-names@npm:^2.1.3": version: 2.1.3 resolution: "mathml-tag-names@npm:2.1.3" @@ -5081,10 +5196,10 @@ __metadata: languageName: node linkType: hard -"mdn-data@npm:2.0.30": - version: 2.0.30 - resolution: "mdn-data@npm:2.0.30" - checksum: 10c0/a2c472ea16cee3911ae742593715aa4c634eb3d4b9f1e6ada0902aa90df13dcbb7285d19435f3ff213ebaa3b2e0c0265c1eb0e3fb278fda7f8919f046a410cd9 +"mdn-data@npm:2.12.2": + version: 2.12.2 + resolution: "mdn-data@npm:2.12.2" + checksum: 10c0/b22443b71d70f72ccc3c6ba1608035431a8fc18c3c8fc53523f06d20e05c2ac10f9b53092759a2ca85cf02f0d37036f310b581ce03e7b99ac74d388ef8152ade languageName: node linkType: hard @@ -5102,7 +5217,7 @@ __metadata: languageName: node linkType: hard -"micromatch@npm:^4.0.2, micromatch@npm:^4.0.4, micromatch@npm:^4.0.8": +"micromatch@npm:^4.0.2, micromatch@npm:^4.0.8": version: 4.0.8 resolution: "micromatch@npm:4.0.8" dependencies: @@ -5180,18 +5295,18 @@ __metadata: languageName: node linkType: hard -"minipass-fetch@npm:^3.0.0": - version: 3.0.5 - resolution: "minipass-fetch@npm:3.0.5" +"minipass-fetch@npm:^4.0.0": + version: 4.0.0 + resolution: "minipass-fetch@npm:4.0.0" dependencies: encoding: "npm:^0.1.13" minipass: "npm:^7.0.3" minipass-sized: "npm:^1.0.3" - minizlib: "npm:^2.1.2" + minizlib: "npm:^3.0.1" dependenciesMeta: encoding: optional: true - checksum: 10c0/9d702d57f556274286fdd97e406fc38a2f5c8d15e158b498d7393b1105974b21249289ec571fa2b51e038a4872bfc82710111cf75fae98c662f3d6f95e72152b + checksum: 10c0/7fa30ce7c373fb6f94c086b374fff1589fd7e78451855d2d06c2e2d9df936d131e73e952163063016592ed3081444bd8d1ea608533313b0149156ce23311da4b languageName: node linkType: hard @@ -5231,27 +5346,20 @@ __metadata: languageName: node linkType: hard -"minipass@npm:^5.0.0": - version: 5.0.0 - resolution: "minipass@npm:5.0.0" - checksum: 10c0/a91d8043f691796a8ac88df039da19933ef0f633e3d7f0d35dcd5373af49131cf2399bfc355f41515dc495e3990369c3858cd319e5c2722b4753c90bf3152462 - languageName: node - linkType: hard - -"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.1.2": +"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2": version: 7.1.2 resolution: "minipass@npm:7.1.2" checksum: 10c0/b0fd20bb9fb56e5fa9a8bfac539e8915ae07430a619e4b86ff71f5fc757ef3924b23b2c4230393af1eda647ed3d75739e4e0acb250a6b1eb277cf7f8fe449557 languageName: node linkType: hard -"minizlib@npm:^2.1.1, minizlib@npm:^2.1.2": - version: 2.1.2 - resolution: "minizlib@npm:2.1.2" +"minizlib@npm:^3.0.1": + version: 3.0.1 + resolution: "minizlib@npm:3.0.1" dependencies: - minipass: "npm:^3.0.0" - yallist: "npm:^4.0.0" - checksum: 10c0/64fae024e1a7d0346a1102bb670085b17b7f95bf6cfdf5b128772ec8faf9ea211464ea4add406a3a6384a7d87a0cd1a96263692134323477b4fb43659a6cab78 + minipass: "npm:^7.0.4" + rimraf: "npm:^5.0.5" + checksum: 10c0/82f8bf70da8af656909a8ee299d7ed3b3372636749d29e105f97f20e88971be31f5ed7642f2e898f00283b68b701cc01307401cdc209b0efc5dd3818220e5093 languageName: node linkType: hard @@ -5263,11 +5371,11 @@ __metadata: linkType: hard "mixpanel-browser@npm:^2.55.1": - version: 2.55.1 - resolution: "mixpanel-browser@npm:2.55.1" + version: 2.60.0 + resolution: "mixpanel-browser@npm:2.60.0" dependencies: rrweb: "npm:2.0.0-alpha.13" - checksum: 10c0/5a959582a1690cc251b0636288d010eb9c4c3501c41ea3ef015d5549f0f5dd95e1feae93dfed491b5b3bf4534dd7a3640f0f895dc5f9b07d950658e38f180899 + checksum: 10c0/7d8228219040bfa369ac2c7f1f3d6d0a228d1462199701c56356fe7eb2f1467cbfecf5828d35995eb0b38bd2c40e16531112268fb336165a597f6c05421a1cd5 languageName: node linkType: hard @@ -5282,19 +5390,35 @@ __metadata: languageName: node linkType: hard -"mkdirp@npm:^1.0.3": - version: 1.0.4 - resolution: "mkdirp@npm:1.0.4" +"mkdirp@npm:^3.0.1": + version: 3.0.1 + resolution: "mkdirp@npm:3.0.1" bin: - mkdirp: bin/cmd.js - checksum: 10c0/46ea0f3ffa8bc6a5bc0c7081ffc3907777f0ed6516888d40a518c5111f8366d97d2678911ad1a6882bf592fa9de6c784fea32e1687bb94e1f4944170af48a5cf + mkdirp: dist/cjs/src/bin.js + checksum: 10c0/9f2b975e9246351f5e3a40dcfac99fcd0baa31fbfab615fe059fb11e51f10e4803c63de1f384c54d656e4db31d000e4767e9ef076a22e12a641357602e31d57d + languageName: node + linkType: hard + +"motion-dom@npm:^12.4.5": + version: 12.4.5 + resolution: "motion-dom@npm:12.4.5" + dependencies: + motion-utils: "npm:^12.0.0" + checksum: 10c0/2950f3023f09a31d6a86115476d6207f998a64545ea49ff0fddd772d1406b166efca895ab9db9dc87953b3a9154c56aa6df693b52c26ae083b3f665c152f8675 + languageName: node + linkType: hard + +"motion-utils@npm:^12.0.0": + version: 12.0.0 + resolution: "motion-utils@npm:12.0.0" + checksum: 10c0/ca6cc7542d00afab011130fcd940e5f5a412b21a4eaeb17c0a497dcb86de311dda90741eeca7de1276cc8c1dff7ac1e6a8df1e8cebb1191a2c43bfe8368dc70b languageName: node linkType: hard "mrmime@npm:^2.0.0": - version: 2.0.0 - resolution: "mrmime@npm:2.0.0" - checksum: 10c0/312b35ed288986aec90955410b21ed7427fd1e4ee318cb5fc18765c8d029eeded9444faa46589e5b1ed6b35fb2054a802ac8dcb917ddf6b3e189cb3bf11a965c + version: 2.0.1 + resolution: "mrmime@npm:2.0.1" + checksum: 10c0/af05afd95af202fdd620422f976ad67dc18e6ee29beb03dd1ce950ea6ef664de378e44197246df4c7cdd73d47f2e7143a6e26e473084b9e4aa2095c0ad1e1761 languageName: node linkType: hard @@ -5319,12 +5443,12 @@ __metadata: languageName: node linkType: hard -"nanoid@npm:^3.3.7": - version: 3.3.7 - resolution: "nanoid@npm:3.3.7" +"nanoid@npm:^3.3.7, nanoid@npm:^3.3.8": + version: 3.3.8 + resolution: "nanoid@npm:3.3.8" bin: nanoid: bin/nanoid.cjs - checksum: 10c0/e3fb661aa083454f40500473bb69eedb85dc160e763150b9a2c567c7e9ff560ce028a9f833123b618a6ea742e311138b591910e795614a629029e86e180660f3 + checksum: 10c0/4b1bb29f6cfebf3be3bc4ad1f1296fb0a10a3043a79f34fbffe75d1621b4318319211cd420549459018ea3592f0d2f159247a6f874911d6d26eaaadda2478120 languageName: node linkType: hard @@ -5335,10 +5459,10 @@ __metadata: languageName: node linkType: hard -"negotiator@npm:^0.6.3": - version: 0.6.3 - resolution: "negotiator@npm:0.6.3" - checksum: 10c0/3ec9fd413e7bf071c937ae60d572bc67155262068ed522cf4b3be5edbe6ddf67d095ec03a3a14ebf8fc8e95f8e1d61be4869db0dbb0de696f6b837358bd43fc2 +"negotiator@npm:^1.0.0": + version: 1.0.0 + resolution: "negotiator@npm:1.0.0" + checksum: 10c0/4c559dd52669ea48e1914f9d634227c561221dd54734070791f999c52ed0ff36e437b2e07d5c1f6e32909fc625fe46491c16e4a8f0572567d4dd15c3a4fda04b languageName: node linkType: hard @@ -5360,40 +5484,40 @@ __metadata: linkType: hard "node-gyp@npm:latest": - version: 10.2.0 - resolution: "node-gyp@npm:10.2.0" + version: 11.1.0 + resolution: "node-gyp@npm:11.1.0" dependencies: env-paths: "npm:^2.2.0" exponential-backoff: "npm:^3.1.1" glob: "npm:^10.3.10" graceful-fs: "npm:^4.2.6" - make-fetch-happen: "npm:^13.0.0" - nopt: "npm:^7.0.0" - proc-log: "npm:^4.1.0" + make-fetch-happen: "npm:^14.0.3" + nopt: "npm:^8.0.0" + proc-log: "npm:^5.0.0" semver: "npm:^7.3.5" - tar: "npm:^6.2.1" - which: "npm:^4.0.0" + tar: "npm:^7.4.3" + which: "npm:^5.0.0" bin: node-gyp: bin/node-gyp.js - checksum: 10c0/00630d67dbd09a45aee0a5d55c05e3916ca9e6d427ee4f7bc392d2d3dc5fad7449b21fc098dd38260a53d9dcc9c879b36704a1994235d4707e7271af7e9a835b + checksum: 10c0/c38977ce502f1ea41ba2b8721bd5b49bc3d5b3f813eabfac8414082faf0620ccb5211e15c4daecc23ed9f5e3e9cc4da00e575a0bcfc2a95a069294f2afa1e0cd languageName: node linkType: hard -"node-releases@npm:^2.0.18": - version: 2.0.18 - resolution: "node-releases@npm:2.0.18" - checksum: 10c0/786ac9db9d7226339e1dc84bbb42007cb054a346bd9257e6aa154d294f01bc6a6cddb1348fa099f079be6580acbb470e3c048effd5f719325abd0179e566fd27 +"node-releases@npm:^2.0.19": + version: 2.0.19 + resolution: "node-releases@npm:2.0.19" + checksum: 10c0/52a0dbd25ccf545892670d1551690fe0facb6a471e15f2cfa1b20142a5b255b3aa254af5f59d6ecb69c2bec7390bc643c43aa63b13bf5e64b6075952e716b1aa languageName: node linkType: hard -"nopt@npm:^7.0.0": - version: 7.2.1 - resolution: "nopt@npm:7.2.1" +"nopt@npm:^8.0.0": + version: 8.1.0 + resolution: "nopt@npm:8.1.0" dependencies: - abbrev: "npm:^2.0.0" + abbrev: "npm:^3.0.0" bin: nopt: bin/nopt.js - checksum: 10c0/a069c7c736767121242037a22a788863accfa932ab285a1eb569eb8cd534b09d17206f68c37f096ae785647435e0c5a5a0a67b42ec743e481a455e5ae6a6df81 + checksum: 10c0/62e9ea70c7a3eb91d162d2c706b6606c041e4e7b547cbbb48f8b3695af457dd6479904d7ace600856bf923dd8d1ed0696f06195c8c20f02ac87c1da0e1d315ef languageName: node linkType: hard @@ -5411,10 +5535,10 @@ __metadata: languageName: node linkType: hard -"object-inspect@npm:^1.13.1": - version: 1.13.2 - resolution: "object-inspect@npm:1.13.2" - checksum: 10c0/b97835b4c91ec37b5fd71add84f21c3f1047d1d155d00c0fcd6699516c256d4fcc6ff17a1aced873197fe447f91a3964178fd2a67a1ee2120cdaf60e81a050b4 +"object-inspect@npm:^1.13.3": + version: 1.13.4 + resolution: "object-inspect@npm:1.13.4" + checksum: 10c0/d7f8711e803b96ea3191c745d6f8056ce1f2496e530e6a19a0e92d89b0fa3c76d910c31f0aa270432db6bd3b2f85500a376a83aaba849a8d518c8845b3211692 languageName: node linkType: hard @@ -5425,15 +5549,17 @@ __metadata: languageName: node linkType: hard -"object.assign@npm:^4.1.4, object.assign@npm:^4.1.5": - version: 4.1.5 - resolution: "object.assign@npm:4.1.5" +"object.assign@npm:^4.1.4, object.assign@npm:^4.1.7": + version: 4.1.7 + resolution: "object.assign@npm:4.1.7" dependencies: - call-bind: "npm:^1.0.5" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - has-symbols: "npm:^1.0.3" + es-object-atoms: "npm:^1.0.0" + has-symbols: "npm:^1.1.0" object-keys: "npm:^1.1.1" - checksum: 10c0/60108e1fa2706f22554a4648299b0955236c62b3685c52abf4988d14fffb0e7731e00aa8c6448397e3eb63d087dcc124a9f21e1980f36d0b2667f3c18bacd469 + checksum: 10c0/3b2732bd860567ea2579d1567525168de925a8d852638612846bd8082b3a1602b7b89b67b09913cbb5b9bd6e95923b2ae73580baa9d99cb4e990564e8cbf5ddc languageName: node linkType: hard @@ -5460,14 +5586,15 @@ __metadata: languageName: node linkType: hard -"object.values@npm:^1.1.6, object.values@npm:^1.2.0": - version: 1.2.0 - resolution: "object.values@npm:1.2.0" +"object.values@npm:^1.1.6, object.values@npm:^1.2.1": + version: 1.2.1 + resolution: "object.values@npm:1.2.1" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/15809dc40fd6c5529501324fec5ff08570b7d70fb5ebbe8e2b3901afec35cf2b3dc484d1210c6c642cd3e7e0a5e18dd1d6850115337fef46bdae14ab0cb18ac3 + checksum: 10c0/3c47814fdc64842ae3d5a74bc9d06bdd8d21563c04d9939bf6716a9c00596a4ebc342552f8934013d1ec991c74e3671b26710a0c51815f0b603795605ab6b2c9 languageName: node linkType: hard @@ -5512,6 +5639,17 @@ __metadata: languageName: node linkType: hard +"own-keys@npm:^1.0.1": + version: 1.0.1 + resolution: "own-keys@npm:1.0.1" + dependencies: + get-intrinsic: "npm:^1.2.6" + object-keys: "npm:^1.1.1" + safe-push-apply: "npm:^1.0.0" + checksum: 10c0/6dfeb3455bff92ec3f16a982d4e3e65676345f6902d9f5ded1d8265a6318d0200ce461956d6d1c70053c7fe9f9fe65e552faac03f8140d37ef0fdd108e67013a + languageName: node + linkType: hard + "p-limit@npm:^3.0.2": version: 3.1.0 resolution: "p-limit@npm:3.1.0" @@ -5530,28 +5668,26 @@ __metadata: languageName: node linkType: hard -"p-map@npm:^4.0.0": - version: 4.0.0 - resolution: "p-map@npm:4.0.0" - dependencies: - aggregate-error: "npm:^3.0.0" - checksum: 10c0/592c05bd6262c466ce269ff172bb8de7c6975afca9b50c975135b974e9bdaafbfe80e61aaaf5be6d1200ba08b30ead04b88cfa7e25ff1e3b93ab28c9f62a2c75 +"p-map@npm:^7.0.2": + version: 7.0.3 + resolution: "p-map@npm:7.0.3" + checksum: 10c0/46091610da2b38ce47bcd1d8b4835a6fa4e832848a6682cf1652bc93915770f4617afc844c10a77d1b3e56d2472bb2d5622353fa3ead01a7f42b04fc8e744a5c languageName: node linkType: hard -"pac-proxy-agent@npm:^7.0.1": - version: 7.0.2 - resolution: "pac-proxy-agent@npm:7.0.2" +"pac-proxy-agent@npm:^7.1.0": + version: 7.2.0 + resolution: "pac-proxy-agent@npm:7.2.0" dependencies: "@tootallnate/quickjs-emscripten": "npm:^0.23.0" - agent-base: "npm:^7.0.2" + agent-base: "npm:^7.1.2" debug: "npm:^4.3.4" get-uri: "npm:^6.0.1" http-proxy-agent: "npm:^7.0.0" - https-proxy-agent: "npm:^7.0.5" + https-proxy-agent: "npm:^7.0.6" pac-resolver: "npm:^7.0.1" - socks-proxy-agent: "npm:^8.0.4" - checksum: 10c0/1ef0812bb860d2c695aa3a8604acdb4239b8074183c9fdb9bdf3747b8b28bbb88f22269d3ca95cae825c8ed0ca82681e6692c0e304c961fe004231e579d1ca91 + socks-proxy-agent: "npm:^8.0.5" + checksum: 10c0/0265c17c9401c2ea735697931a6553a0c6d8b20c4d7d4e3b3a0506080ba69a8d5ad656e2a6be875411212e2b6ed7a4d9526dd3997e08581fdfb1cbcad454c296 languageName: node linkType: hard @@ -5566,9 +5702,9 @@ __metadata: linkType: hard "package-json-from-dist@npm:^1.0.0": - version: 1.0.0 - resolution: "package-json-from-dist@npm:1.0.0" - checksum: 10c0/e3ffaf6ac1040ab6082a658230c041ad14e72fabe99076a2081bb1d5d41210f11872403fc09082daf4387fc0baa6577f96c9c0e94c90c394fd57794b66aa4033 + version: 1.0.1 + resolution: "package-json-from-dist@npm:1.0.1" + checksum: 10c0/62ba2785eb655fec084a257af34dbe24292ab74516d6aecef97ef72d4897310bc6898f6c85b5cd22770eaa1ce60d55a0230e150fb6a966e3ecd6c511e23d164b languageName: node linkType: hard @@ -5706,6 +5842,7 @@ __metadata: eslint-plugin-react: "npm:^7.36.1" eslint-plugin-react-hooks: "npm:^4.6.2" eslint-plugin-react-refresh: "npm:^0.4.12" + framer-motion: "npm:^12.4.7" fs: "npm:^0.0.1-security" globals: "npm:^15.9.0" i18next: "npm:^23.15.1" @@ -5724,6 +5861,7 @@ __metadata: react-i18next: "npm:^15.0.2" react-infinite-scroll-component: "npm:^6.1.0" react-insta-stories: "npm:^2.7.0" + react-joyride: "npm:^2.9.3" react-redux: "npm:^9.1.2" react-responsive: "npm:^10.0.0" react-router-dom: "npm:^6.26.2" @@ -5758,10 +5896,10 @@ __metadata: languageName: node linkType: hard -"picocolors@npm:^1.0.0, picocolors@npm:^1.0.1, picocolors@npm:^1.1.0": - version: 1.1.0 - resolution: "picocolors@npm:1.1.0" - checksum: 10c0/86946f6032148801ef09c051c6fb13b5cf942eaf147e30ea79edb91dd32d700934edebe782a1078ff859fb2b816792e97ef4dab03d7f0b804f6b01a0df35e023 +"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1": + version: 1.1.1 + resolution: "picocolors@npm:1.1.1" + checksum: 10c0/e2e3e8170ab9d7c7421969adaa7e1b31434f789afb9b3f115f6b96d91945041ac3ceb02e9ec6fe6510ff036bcc0bf91e69a1772edc0b707e12b19c0f2d6bcf58 languageName: node linkType: hard @@ -5772,10 +5910,24 @@ __metadata: languageName: node linkType: hard +"picomatch@npm:^4.0.2": + version: 4.0.2 + resolution: "picomatch@npm:4.0.2" + checksum: 10c0/7c51f3ad2bb42c776f49ebf964c644958158be30d0a510efd5a395e8d49cb5acfed5b82c0c5b365523ce18e6ab85013c9ebe574f60305892ec3fa8eee8304ccc + languageName: node + linkType: hard + +"popper.js@npm:^1.16.0": + version: 1.16.1 + resolution: "popper.js@npm:1.16.1" + checksum: 10c0/1c1a826f757edb5b8c2049dfd7a9febf6ae1e9d0e51342fc715b49a0c1020fced250d26484619883651e097c5764bbcacd2f31496e3646027f079dd83e072681 + languageName: node + linkType: hard + "possible-typed-array-names@npm:^1.0.0": - version: 1.0.0 - resolution: "possible-typed-array-names@npm:1.0.0" - checksum: 10c0/d9aa22d31f4f7680e20269db76791b41c3a32c01a373e25f8a4813b4d45f7456bfc2b6d68f752dc4aab0e0bb0721cb3d76fb678c9101cb7a16316664bc2c73fd + version: 1.1.0 + resolution: "possible-typed-array-names@npm:1.1.0" + checksum: 10c0/c810983414142071da1d644662ce4caebce890203eb2bc7bf119f37f3fe5796226e117e6cca146b521921fa6531072674174a3325066ac66fce089a53e1e5196 languageName: node linkType: hard @@ -5786,22 +5938,22 @@ __metadata: languageName: node linkType: hard -"postcss-safe-parser@npm:^7.0.0": - version: 7.0.0 - resolution: "postcss-safe-parser@npm:7.0.0" +"postcss-safe-parser@npm:^7.0.1": + version: 7.0.1 + resolution: "postcss-safe-parser@npm:7.0.1" peerDependencies: postcss: ^8.4.31 - checksum: 10c0/4217afd8ce2809e959dc365e4675f499303cc6b91f94db06c8164422822db2d3b3124df701ee2234db4127ad05619b016bfb9c2bccae9bf9cf898a396f1632c9 + checksum: 10c0/6957b10b818bd8d4664ec0e548af967f7549abedfb37f844d389571d36af681340f41f9477b9ccf34bcc7599bdef222d1d72e79c64373001fae77089fba6d965 languageName: node linkType: hard -"postcss-selector-parser@npm:^6.1.2": - version: 6.1.2 - resolution: "postcss-selector-parser@npm:6.1.2" +"postcss-selector-parser@npm:^7.0.0": + version: 7.1.0 + resolution: "postcss-selector-parser@npm:7.1.0" dependencies: cssesc: "npm:^3.0.0" util-deprecate: "npm:^1.0.2" - checksum: 10c0/523196a6bd8cf660bdf537ad95abd79e546d54180f9afb165a4ab3e651ac705d0f8b8ce6b3164fb9e3279ce482c5f751a69eb2d3a1e8eb0fd5e82294fb3ef13e + checksum: 10c0/0fef257cfd1c0fe93c18a3f8a6e739b4438b527054fd77e9a62730a89b2d0ded1b59314a7e4aaa55bc256204f40830fecd2eb50f20f8cb7ab3a10b52aa06c8aa languageName: node linkType: hard @@ -5812,14 +5964,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:8.4.38": - version: 8.4.38 - resolution: "postcss@npm:8.4.38" +"postcss@npm:8.4.49": + version: 8.4.49 + resolution: "postcss@npm:8.4.49" dependencies: nanoid: "npm:^3.3.7" - picocolors: "npm:^1.0.0" - source-map-js: "npm:^1.2.0" - checksum: 10c0/955407b8f70cf0c14acf35dab3615899a2a60a26718a63c848cf3c29f2467b0533991b985a2b994430d890bd7ec2b1963e36352b0774a19143b5f591540f7c06 + picocolors: "npm:^1.1.1" + source-map-js: "npm:^1.2.1" + checksum: 10c0/f1b3f17aaf36d136f59ec373459f18129908235e65dbdc3aee5eef8eba0756106f52de5ec4682e29a2eab53eb25170e7e871b3e4b52a8f1de3d344a514306be3 languageName: node linkType: hard @@ -5833,14 +5985,14 @@ __metadata: languageName: node linkType: hard -"postcss@npm:^8.4.38, postcss@npm:^8.4.41, postcss@npm:^8.4.43": - version: 8.4.47 - resolution: "postcss@npm:8.4.47" +"postcss@npm:^8.4.38, postcss@npm:^8.4.43, postcss@npm:^8.5.1": + version: 8.5.3 + resolution: "postcss@npm:8.5.3" dependencies: - nanoid: "npm:^3.3.7" - picocolors: "npm:^1.1.0" + nanoid: "npm:^3.3.8" + picocolors: "npm:^1.1.1" source-map-js: "npm:^1.2.1" - checksum: 10c0/929f68b5081b7202709456532cee2a145c1843d391508c5a09de2517e8c4791638f71dd63b1898dba6712f8839d7a6da046c72a5e44c162e908f5911f57b5f44 + checksum: 10c0/b75510d7b28c3ab728c8733dd01538314a18c52af426f199a3c9177e63eb08602a3938bfb66b62dc01350b9aed62087eabbf229af97a1659eb8d3513cec823b3 languageName: node linkType: hard @@ -5861,11 +6013,11 @@ __metadata: linkType: hard "prettier@npm:^3.3.3": - version: 3.3.3 - resolution: "prettier@npm:3.3.3" + version: 3.5.1 + resolution: "prettier@npm:3.5.1" bin: prettier: bin/prettier.cjs - checksum: 10c0/b85828b08e7505716324e4245549b9205c0cacb25342a030ba8885aba2039a115dbcf75a0b7ca3b37bc9d101ee61fab8113fc69ca3359f2a226f1ecc07ad2e26 + checksum: 10c0/9f6f810eae455d6e4213845151a484a2338f2e0d6a8b84ee8e13a83af8a2421ef6c1e31e61e4b135671fb57b9541f6624648880cc2061ac803e243ac898c0123 languageName: node linkType: hard @@ -5888,10 +6040,10 @@ __metadata: languageName: node linkType: hard -"proc-log@npm:^4.1.0, proc-log@npm:^4.2.0": - version: 4.2.0 - resolution: "proc-log@npm:4.2.0" - checksum: 10c0/17db4757c2a5c44c1e545170e6c70a26f7de58feb985091fb1763f5081cab3d01b181fb2dd240c9f4a4255a1d9227d163d5771b7e69c9e49a561692db865efb9 +"proc-log@npm:^5.0.0": + version: 5.0.0 + resolution: "proc-log@npm:5.0.0" + checksum: 10c0/bbe5edb944b0ad63387a1d5b1911ae93e05ce8d0f60de1035b218cdcceedfe39dbd2c697853355b70f1a090f8f58fe90da487c85216bf9671f9499d1a897e9e3 languageName: node linkType: hard @@ -5930,19 +6082,19 @@ __metadata: languageName: node linkType: hard -"proxy-agent@npm:^6.4.0": - version: 6.4.0 - resolution: "proxy-agent@npm:6.4.0" +"proxy-agent@npm:^6.5.0": + version: 6.5.0 + resolution: "proxy-agent@npm:6.5.0" dependencies: - agent-base: "npm:^7.0.2" + agent-base: "npm:^7.1.2" debug: "npm:^4.3.4" http-proxy-agent: "npm:^7.0.1" - https-proxy-agent: "npm:^7.0.3" + https-proxy-agent: "npm:^7.0.6" lru-cache: "npm:^7.14.1" - pac-proxy-agent: "npm:^7.0.1" + pac-proxy-agent: "npm:^7.1.0" proxy-from-env: "npm:^1.1.0" - socks-proxy-agent: "npm:^8.0.2" - checksum: 10c0/0c5b85cacf67eec9d8add025a5e577b2c895672e4187079ec41b0ee2a6dacd90e69a837936cb3ac141dd92b05b50a325b9bfe86ab0dc3b904011aa3bcf406fc0 + socks-proxy-agent: "npm:^8.0.5" + checksum: 10c0/7fd4e6f36bf17098a686d4aee3b8394abfc0b0537c2174ce96b0a4223198b9fafb16576c90108a3fcfc2af0168bd7747152bfa1f58e8fee91d3780e79aab7fd8 languageName: node linkType: hard @@ -5970,17 +6122,17 @@ __metadata: languageName: node linkType: hard -"puppeteer-core@npm:23.4.0": - version: 23.4.0 - resolution: "puppeteer-core@npm:23.4.0" +"puppeteer-core@npm:23.11.1": + version: 23.11.1 + resolution: "puppeteer-core@npm:23.11.1" dependencies: - "@puppeteer/browsers": "npm:2.4.0" - chromium-bidi: "npm:0.6.5" - debug: "npm:^4.3.7" - devtools-protocol: "npm:0.0.1342118" + "@puppeteer/browsers": "npm:2.6.1" + chromium-bidi: "npm:0.11.0" + debug: "npm:^4.4.0" + devtools-protocol: "npm:0.0.1367902" typed-query-selector: "npm:^2.12.0" ws: "npm:^8.18.0" - checksum: 10c0/6a335324fa5d42962bbf99ac5bd16e4497bd896e38299f75bbce92c91cf7835c3acc96c5c8bdfc1c0293da48a4185ed9898508ebe8f4287dfdf98f1722f187bf + checksum: 10c0/6512a3dca8c7bea620219332b84c4442754fead6c5021c26ea395ddc2f84610a54accf185ba1450e02885cb063c2d12f96eb5f18e7e1b6795f3e32a4b8a2102e languageName: node linkType: hard @@ -6001,18 +6153,18 @@ __metadata: linkType: hard "puppeteer@npm:^23.4.0": - version: 23.4.0 - resolution: "puppeteer@npm:23.4.0" + version: 23.11.1 + resolution: "puppeteer@npm:23.11.1" dependencies: - "@puppeteer/browsers": "npm:2.4.0" - chromium-bidi: "npm:0.6.5" + "@puppeteer/browsers": "npm:2.6.1" + chromium-bidi: "npm:0.11.0" cosmiconfig: "npm:^9.0.0" - devtools-protocol: "npm:0.0.1342118" - puppeteer-core: "npm:23.4.0" + devtools-protocol: "npm:0.0.1367902" + puppeteer-core: "npm:23.11.1" typed-query-selector: "npm:^2.12.0" bin: puppeteer: lib/cjs/puppeteer/node/cli.js - checksum: 10c0/392d0e63a93e33aa2b168ecdd177ad9eb35421f8109ad2beaa965a4a31c1dac3e6939e593fa6dfb7ba51444dbfcad38bd651de0f783f121eb62f0d10d94db416 + checksum: 10c0/e967f5ce02ab9e0343eb4403f32ab7de8a6dbeffe6b23be8725e112015ae4a60264a554742cf10302434795a8e9ea27ec9b048126fee23750ce24c3b238d2ebc languageName: node linkType: hard @@ -6024,11 +6176,11 @@ __metadata: linkType: hard "qs@npm:^6.13.0": - version: 6.13.0 - resolution: "qs@npm:6.13.0" + version: 6.14.0 + resolution: "qs@npm:6.14.0" dependencies: - side-channel: "npm:^1.0.6" - checksum: 10c0/62372cdeec24dc83a9fb240b7533c0fdcf0c5f7e0b83343edd7310f0ab4c8205a5e7c56406531f2e47e1b4878a3821d652be4192c841de5b032ca83619d8f860 + side-channel: "npm:^1.1.0" + checksum: 10c0/8ea5d91bf34f440598ee389d4a7d95820e3b837d3fd9f433871f7924801becaa0cd3b3b4628d49a7784d06a8aea9bc4554d2b6d8d584e2d221dc06238a42909c languageName: node linkType: hard @@ -6039,13 +6191,6 @@ __metadata: languageName: node linkType: hard -"queue-tick@npm:^1.0.1": - version: 1.0.1 - resolution: "queue-tick@npm:1.0.1" - checksum: 10c0/0db998e2c9b15215317dbcf801e9b23e6bcde4044e115155dae34f8e7454b9a783f737c9a725528d677b7a66c775eb7a955cf144fe0b87f62b575ce5bfd515a9 - languageName: node - linkType: hard - "range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" @@ -6053,26 +6198,25 @@ __metadata: languageName: node linkType: hard -"rc-cascader@npm:~3.28.1": - version: 3.28.1 - resolution: "rc-cascader@npm:3.28.1" +"rc-cascader@npm:~3.33.0": + version: 3.33.0 + resolution: "rc-cascader@npm:3.33.0" dependencies: - "@babel/runtime": "npm:^7.12.5" - array-tree-filter: "npm:^2.1.0" + "@babel/runtime": "npm:^7.25.7" classnames: "npm:^2.3.1" - rc-select: "npm:~14.15.0" - rc-tree: "npm:~5.9.0" - rc-util: "npm:^5.37.0" + rc-select: "npm:~14.16.2" + rc-tree: "npm:~5.13.0" + rc-util: "npm:^5.43.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/ffa13db0728d7021e3d0b6586e681c029ca1f112e78f4c2c0b1becd66386ef2e3201d02880e06867dfbc77b75bee624766d7fad95e0a26d204451657fb7d2d76 + checksum: 10c0/834e267c0718a4331e5221615cdfc1b9661a98927524ed5d3375d4bd56e4040b747e8a65998ae0445ba3455ad07956794abc58bdbb1563ccdf2403b228d5cc67 languageName: node linkType: hard -"rc-checkbox@npm:~3.3.0": - version: 3.3.0 - resolution: "rc-checkbox@npm:3.3.0" +"rc-checkbox@npm:~3.5.0": + version: 3.5.0 + resolution: "rc-checkbox@npm:3.5.0" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:^2.3.2" @@ -6080,13 +6224,13 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/90dc42115370f6578a798558e30b6248e73d52022dc685b17893f8de1b3dc0b88886258447270c555b7d963621f36b25dadbde9938ba3ea49ec01b24fb2a3555 + checksum: 10c0/53fd419030a8c9e3d08ebb7c51dee79be810ccd92ed177066c2afa8f61a8fe4417232bbc4741ecc0a627d0c4b939a5e945c6f0d6a941c748d65c2ddad71775e3 languageName: node linkType: hard -"rc-collapse@npm:~3.8.0": - version: 3.8.0 - resolution: "rc-collapse@npm:3.8.0" +"rc-collapse@npm:~3.9.0": + version: 3.9.0 + resolution: "rc-collapse@npm:3.9.0" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:2.x" @@ -6095,7 +6239,7 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/c576a53b68e5df44a64939826de441a40ca3ec684672ddc5af4c228da87043668021a92044d507eb4c52357ce96daff3ce97c98d2f4c67eb0ceab4fec31551e6 + checksum: 10c0/68d2c7a6614fea2bf4a30a39e67d5b74b933fd25e31762cd810ff0f7bcf7e57676db6c3c1389461d5d18be4a68b9cfeda65321a8d1f5978ec2a5aa3d7b9010cc languageName: node linkType: hard @@ -6131,24 +6275,24 @@ __metadata: languageName: node linkType: hard -"rc-dropdown@npm:~4.2.0": - version: 4.2.0 - resolution: "rc-dropdown@npm:4.2.0" +"rc-dropdown@npm:~4.2.0, rc-dropdown@npm:~4.2.1": + version: 4.2.1 + resolution: "rc-dropdown@npm:4.2.1" dependencies: "@babel/runtime": "npm:^7.18.3" "@rc-component/trigger": "npm:^2.0.0" classnames: "npm:^2.2.6" - rc-util: "npm:^5.17.0" + rc-util: "npm:^5.44.1" peerDependencies: react: ">=16.11.0" react-dom: ">=16.11.0" - checksum: 10c0/e808172c922f4c3f8bf4fb4641834e34929df9e0af00981e5554d72852d2df016a85c5339119a61f740ea70da7e33c89ed95c11ee8b9c5538533072675287a3a + checksum: 10c0/ec980e6c9f8bbba53e895002a0c3a28f294ae07f3ebc6c9a9cb80c7e1bb74ba9f0e0c4b9c23f487fdf8c5a4531000e05b5b43744ef506f0fd869165486768817 languageName: node linkType: hard -"rc-field-form@npm:~2.4.0": - version: 2.4.0 - resolution: "rc-field-form@npm:2.4.0" +"rc-field-form@npm:~2.7.0": + version: 2.7.0 + resolution: "rc-field-form@npm:2.7.0" dependencies: "@babel/runtime": "npm:^7.18.0" "@rc-component/async-validator": "npm:^5.0.3" @@ -6156,7 +6300,7 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/79365813fb0166c109e81e3bde2c979db26bb97dcc418f6170266f7d5f6f11d25c27938f857a695b6921a16cb43b805f1fd4e9fa73cb2a918618a08fef82fed7 + checksum: 10c0/8b5ba3d4ef2680751235797710da822b96225ba1fd1a0098d4c9b7723ac1e0a8eb07c70a6ca216c0b2f8f45f1035f849b924f13c6386e215ec1d854927a504a2 languageName: node linkType: hard @@ -6177,25 +6321,25 @@ __metadata: languageName: node linkType: hard -"rc-input-number@npm:~9.2.0": - version: 9.2.0 - resolution: "rc-input-number@npm:9.2.0" +"rc-input-number@npm:~9.4.0": + version: 9.4.0 + resolution: "rc-input-number@npm:9.4.0" dependencies: "@babel/runtime": "npm:^7.10.1" "@rc-component/mini-decimal": "npm:^1.0.1" classnames: "npm:^2.2.5" - rc-input: "npm:~1.6.0" + rc-input: "npm:~1.7.1" rc-util: "npm:^5.40.1" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/6053fd1585f65f0a48d2e98bdf83000981b28c3581dc390d8ae9cb2c4c90a2c559bfe8bbb7f0a376eea0ab4dcfe83c758e0cf09023a2fdf2e49eecc5145c8f79 + checksum: 10c0/6589a0e9f0a3899b67207e0f9aa4ad9a783db90f59c314cf4ffa4c12733c52de951e6bd58c414ca9a0485a8d70172148f57532e21c1f959f4e5c9f7af2b0b021 languageName: node linkType: hard -"rc-input@npm:~1.6.0, rc-input@npm:~1.6.3": - version: 1.6.3 - resolution: "rc-input@npm:1.6.3" +"rc-input@npm:~1.7.1, rc-input@npm:~1.7.2": + version: 1.7.2 + resolution: "rc-input@npm:1.7.2" dependencies: "@babel/runtime": "npm:^7.11.1" classnames: "npm:^2.2.1" @@ -6203,31 +6347,31 @@ __metadata: peerDependencies: react: ">=16.0.0" react-dom: ">=16.0.0" - checksum: 10c0/b18c2316eb64b6d02dcc33c18f1d57cc3759f620042446d012812dee4c94b61d3edd97303d309f8680a935eef627af6cda3bbdc3324a839ce27a72e07c1d6129 + checksum: 10c0/bbc715b8472404c4e544a4740a2df57addc31b88a3f23cfa15f35eca23def47e281b8fb5831d63aac22231e52c59a7a7c3f36a851edcf6fc6c985114fb3c42a2 languageName: node linkType: hard -"rc-mentions@npm:~2.16.1": - version: 2.16.1 - resolution: "rc-mentions@npm:2.16.1" +"rc-mentions@npm:~2.19.1": + version: 2.19.1 + resolution: "rc-mentions@npm:2.19.1" dependencies: "@babel/runtime": "npm:^7.22.5" "@rc-component/trigger": "npm:^2.0.0" classnames: "npm:^2.2.6" - rc-input: "npm:~1.6.0" - rc-menu: "npm:~9.15.1" - rc-textarea: "npm:~1.8.0" + rc-input: "npm:~1.7.1" + rc-menu: "npm:~9.16.0" + rc-textarea: "npm:~1.9.0" rc-util: "npm:^5.34.1" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/8479b0abfebd004834001f973739a0e8baebb2a0f6b6c77ad5a9b11c1b4c6a2bc28b6a4641d618d80eb5ac16a4b4b349e0c39cf02be16c139d69711317344146 + checksum: 10c0/7745b6cad8f5ae950b735b0771b3aad204505dc9f01ff2fd54807c51f8618183037d17c88a4f81cf99606dd7eb1378a0b0081cca64676b4f07ed2d74d678ffb0 languageName: node linkType: hard -"rc-menu@npm:~9.15.1": - version: 9.15.1 - resolution: "rc-menu@npm:9.15.1" +"rc-menu@npm:~9.16.0": + version: 9.16.1 + resolution: "rc-menu@npm:9.16.1" dependencies: "@babel/runtime": "npm:^7.10.1" "@rc-component/trigger": "npm:^2.0.0" @@ -6238,27 +6382,27 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/21b5ba6450eb9cfb1fb0d0475ee540bde2b3a1d67f042a84c8788a59547c75a3eb143dc7b52e3be9e96a5510d7bdd987c4714f48154a5c701229e63dbed6548b + checksum: 10c0/b61f21013cd679777b673d6e1a9f8429ffd9481a49665fc9a9c78198025d52aa76ae162186c46ca9f332117c8c7ff32f30d72435e1ae1b2a3daec0f86cb48810 languageName: node linkType: hard -"rc-motion@npm:^2.0.0, rc-motion@npm:^2.0.1, rc-motion@npm:^2.3.0, rc-motion@npm:^2.3.4, rc-motion@npm:^2.4.3, rc-motion@npm:^2.4.4, rc-motion@npm:^2.6.1, rc-motion@npm:^2.6.2, rc-motion@npm:^2.9.0, rc-motion@npm:^2.9.3": - version: 2.9.3 - resolution: "rc-motion@npm:2.9.3" +"rc-motion@npm:^2.0.0, rc-motion@npm:^2.0.1, rc-motion@npm:^2.3.0, rc-motion@npm:^2.3.4, rc-motion@npm:^2.4.3, rc-motion@npm:^2.4.4, rc-motion@npm:^2.6.1, rc-motion@npm:^2.6.2, rc-motion@npm:^2.9.0, rc-motion@npm:^2.9.5": + version: 2.9.5 + resolution: "rc-motion@npm:2.9.5" dependencies: "@babel/runtime": "npm:^7.11.1" classnames: "npm:^2.2.1" - rc-util: "npm:^5.43.0" + rc-util: "npm:^5.44.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/d83981e8a4e4adf51c80174d7a2ff1461659b84522c70941e74e7b52450f7a4af49992606349d8a5a56237271b6cb38613137266a193501e8442934950ecf9df + checksum: 10c0/84b12b2443dc1b929c8a688e8c9834a44cf88897402e9363fcea80b77f2803b2de83b24dac5873a8695304827e02fb3103c74349d0451ed247cb366553f9d88e languageName: node linkType: hard -"rc-notification@npm:~5.6.1": - version: 5.6.1 - resolution: "rc-notification@npm:5.6.1" +"rc-notification@npm:~5.6.3": + version: 5.6.3 + resolution: "rc-notification@npm:5.6.3" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:2.x" @@ -6267,13 +6411,13 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/d3f6d768cd2db2437a2dda1b36be5563b784a039194e8b99b73e69ac2b991d6371084867fab1b37e535648dd8ccd5babe0af2b9c9cae5c54e7880393fb8de8fd + checksum: 10c0/33ba437ce879f28f2773c41044aca2a6fb63855eb1535b5ca79736016996bd265df3bdff536c2b111bd82b07d5a98c4b181dc7738e98baf0e129c04fd813feb0 languageName: node linkType: hard "rc-overflow@npm:^1.3.1, rc-overflow@npm:^1.3.2": - version: 1.3.2 - resolution: "rc-overflow@npm:1.3.2" + version: 1.4.1 + resolution: "rc-overflow@npm:1.4.1" dependencies: "@babel/runtime": "npm:^7.11.1" classnames: "npm:^2.2.1" @@ -6282,13 +6426,13 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/1c3741760e21fdc5829ebc1affb2a54fd04bda3abc1c88542b6191845d3490ca255fc423f897f448af1c79311c7eda499ea977ca79bce55ebdaf75397573d125 + checksum: 10c0/ac47d2c7b4cfc99e8ca20c75f99e601eac4d524f6690d9a36fb65d84b9f627f13aa70f11fc5c09b24c1e9a0395a15c16998a57f2517c08a6abe545539cb5e162 languageName: node linkType: hard -"rc-pagination@npm:~4.3.0": - version: 4.3.0 - resolution: "rc-pagination@npm:4.3.0" +"rc-pagination@npm:~5.1.0": + version: 5.1.0 + resolution: "rc-pagination@npm:5.1.0" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:^2.3.2" @@ -6296,13 +6440,13 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/9642a0826b927fbeb8c3c4508bb5755302a4e2ac088c196cdcb028e64f93abfadeb89c2dc7a49761152a2698be22a0bbe5f2a17f28d247948a5a410de3dfcf0d + checksum: 10c0/6cc6f0fa591c3d9f1cd0abcc1f918ddf18d6b5c71fefb97a6c3888b8492505e8e8951903de2bae7c64c0947cf1d53bc70f52577a3f6b38bdb3e9140a7bb5a32e languageName: node linkType: hard -"rc-picker@npm:~4.6.14": - version: 4.6.14 - resolution: "rc-picker@npm:4.6.14" +"rc-picker@npm:~4.11.1": + version: 4.11.2 + resolution: "rc-picker@npm:4.11.2" dependencies: "@babel/runtime": "npm:^7.24.7" "@rc-component/trigger": "npm:^2.0.0" @@ -6326,7 +6470,7 @@ __metadata: optional: true moment: optional: true - checksum: 10c0/e58e8548ae2db77c61771531b1fed093353ac368e2c059c22bf24096b5fb70660c155a5a083fc0558d4a74fc34e8270053acbde11dff5bf9c4d3380ad5738248 + checksum: 10c0/593dd4613abf84eda84a3cbc371314976c55e1339d9fd9361f7e4ffff0082e1f419f7de75dd84654e8e4d54e19757bca11e52b332aece6289e8d8b2d6a444c07 languageName: node linkType: hard @@ -6344,9 +6488,9 @@ __metadata: languageName: node linkType: hard -"rc-rate@npm:~2.13.0": - version: 2.13.0 - resolution: "rc-rate@npm:2.13.0" +"rc-rate@npm:~2.13.1": + version: 2.13.1 + resolution: "rc-rate@npm:2.13.1" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:^2.2.5" @@ -6354,28 +6498,28 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/3e2c15ee41d20837e820b6a1b83bf83e74ecb36c1da05c9e32c22d864586e7a826c961ba8159468ac9c9ac2fcb03b91a812070a5eb8119e77c2248ef95d6febd + checksum: 10c0/b26d4741fffb06e1beebe1aba135ba6ab4ee898faf1f876ce802ed5ddcdc8dabe7a4662be63e60226713fad9b3dd8d4034ed9b8b3e27ba5ef9673d7e8f47d497 languageName: node linkType: hard -"rc-resize-observer@npm:^1.0.0, rc-resize-observer@npm:^1.1.0, rc-resize-observer@npm:^1.3.1, rc-resize-observer@npm:^1.4.0": - version: 1.4.0 - resolution: "rc-resize-observer@npm:1.4.0" +"rc-resize-observer@npm:^1.0.0, rc-resize-observer@npm:^1.1.0, rc-resize-observer@npm:^1.3.1, rc-resize-observer@npm:^1.4.0, rc-resize-observer@npm:^1.4.3": + version: 1.4.3 + resolution: "rc-resize-observer@npm:1.4.3" dependencies: "@babel/runtime": "npm:^7.20.7" classnames: "npm:^2.2.1" - rc-util: "npm:^5.38.0" + rc-util: "npm:^5.44.1" resize-observer-polyfill: "npm:^1.5.1" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/50e03fa524e156477e5e083bc11e92b8d2c442b6a9a0caa111d9b9991174f9ac98175d50fba1721e55338472d5344610e30fce8531a65785b3d79c191173d351 + checksum: 10c0/93073c9ef5cc704f9d99307f58f8eeccabb953edf4e8a056b090104fc28ed19b77c2a32bd88ca2e0407fbedeb266d1985e655b35b8bc36b04d243e9d0471c911 languageName: node linkType: hard -"rc-segmented@npm:~2.5.0": - version: 2.5.0 - resolution: "rc-segmented@npm:2.5.0" +"rc-segmented@npm:~2.7.0": + version: 2.7.0 + resolution: "rc-segmented@npm:2.7.0" dependencies: "@babel/runtime": "npm:^7.11.1" classnames: "npm:^2.2.1" @@ -6384,13 +6528,13 @@ __metadata: peerDependencies: react: ">=16.0.0" react-dom: ">=16.0.0" - checksum: 10c0/c0f760989fdff4cddfa66e4441f4ea219a452fd70a80b4b11e326b6d243584cb1b1a078078c7c62792c7468ad12fe5cfad8ecaf7affaac9bb42a580072e1658e + checksum: 10c0/294feac3a7f0f827419d14234d9ab5d39ef1e95acf582b68e3db63c7f9c670ffd1a08f3129f6326447f5c1218552cb738608f035da8199e6fd21ada1ceb3b4d1 languageName: node linkType: hard -"rc-select@npm:~14.15.0, rc-select@npm:~14.15.2": - version: 14.15.2 - resolution: "rc-select@npm:14.15.2" +"rc-select@npm:~14.16.2, rc-select@npm:~14.16.6": + version: 14.16.6 + resolution: "rc-select@npm:14.16.6" dependencies: "@babel/runtime": "npm:^7.10.1" "@rc-component/trigger": "npm:^2.1.1" @@ -6402,13 +6546,13 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/00151da840002e30ee2b1f372c416e8370495524cf46e587eeb903fce2d1fd43167774a49cb7aed3e9816d2a200b46150c7d1fdcb1b17a21ca19d3a3cf930792 + checksum: 10c0/a0aa16e611bfe48bc26612a95189a33e7bed38f12a1c41f34b74778b5d83437d74f7b0b304ce27eda2f5797b330f35fc73f1ddc3e85efff56a3089da22a0a3bf languageName: node linkType: hard -"rc-slider@npm:~11.1.6": - version: 11.1.6 - resolution: "rc-slider@npm:11.1.6" +"rc-slider@npm:~11.1.8": + version: 11.1.8 + resolution: "rc-slider@npm:11.1.8" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:^2.2.5" @@ -6416,7 +6560,7 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/9b1fbf056155487781c9abe338d37708985ddf4e38eb2d4482aebc139e785ec5d8082cc009e0ff0d2c5f59b99aeb545a96cb2eeafef6162993262681d3ba413d + checksum: 10c0/b202599abf85e21234c2cababe9c6f908aa7fcdde9eca413ef96b209838f3b1a33292d1a1bbe571b84bf46f8a5d28d5c1a070f331bddc0504101e9e2a75cf422 languageName: node linkType: hard @@ -6448,90 +6592,91 @@ __metadata: languageName: node linkType: hard -"rc-table@npm:~7.47.5": - version: 7.47.5 - resolution: "rc-table@npm:7.47.5" +"rc-table@npm:~7.50.3": + version: 7.50.3 + resolution: "rc-table@npm:7.50.3" dependencies: "@babel/runtime": "npm:^7.10.1" "@rc-component/context": "npm:^1.4.0" classnames: "npm:^2.2.5" rc-resize-observer: "npm:^1.1.0" - rc-util: "npm:^5.41.0" + rc-util: "npm:^5.44.3" rc-virtual-list: "npm:^3.14.2" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/11976a76715a7cade9687549049ed045c5f91f50c6cd8a1f37d27b51d235c5f694466fc80987cec4baca5c578bf269da4f44a5181467edfb87449bbadd0ff4fa + checksum: 10c0/61fee18289063d33e135f87e7d325c4ab319db6a452bc7151b13c9bfdcedc9a280a543fe06dea05cd41814c47dfc0c5b3ade876f7e6c286714a8276a53f7125b languageName: node linkType: hard -"rc-tabs@npm:~15.2.0": - version: 15.2.0 - resolution: "rc-tabs@npm:15.2.0" +"rc-tabs@npm:~15.5.1": + version: 15.5.1 + resolution: "rc-tabs@npm:15.5.1" dependencies: "@babel/runtime": "npm:^7.11.2" classnames: "npm:2.x" rc-dropdown: "npm:~4.2.0" - rc-menu: "npm:~9.15.1" + rc-menu: "npm:~9.16.0" rc-motion: "npm:^2.6.2" rc-resize-observer: "npm:^1.0.0" rc-util: "npm:^5.34.1" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/aee3949e6232345d65caea1a42e298ccd4ad3f113a839c12c19c25b593b67ec242dbbc9cc8fe3196f1d8fb58b7133a82ffdd50c46dc855a7f91a66897ab69ca8 + checksum: 10c0/58b7318eb13d0e6124fc66a1539b131e710a3665585d511f8645fc468e7f93caf96386f7d7613e9a3c0383bb5372979962bf8d7617ad8478c7abcd00bf521659 languageName: node linkType: hard -"rc-textarea@npm:~1.8.0, rc-textarea@npm:~1.8.2": - version: 1.8.2 - resolution: "rc-textarea@npm:1.8.2" +"rc-textarea@npm:~1.9.0": + version: 1.9.0 + resolution: "rc-textarea@npm:1.9.0" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:^2.2.1" - rc-input: "npm:~1.6.0" + rc-input: "npm:~1.7.1" rc-resize-observer: "npm:^1.0.0" rc-util: "npm:^5.27.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/bd547309735d3ec22a1cec930965ec8f5d861379c81de7616377e61cdbfe43e248291dfd45a477e2c84a42641b03c7a4c4ca3f9ef730ee47b3731b5b22aca170 + checksum: 10c0/4b2195361fae64e2ede9eb0dd5815ff1ceef4504a74dd0e5964c24f5ee9103ebf83e1d0083920a26233553ec7c43ae6b9f05bb508caef117b453cf292fa9e54a languageName: node linkType: hard -"rc-tooltip@npm:~6.2.1": - version: 6.2.1 - resolution: "rc-tooltip@npm:6.2.1" +"rc-tooltip@npm:~6.4.0": + version: 6.4.0 + resolution: "rc-tooltip@npm:6.4.0" dependencies: "@babel/runtime": "npm:^7.11.2" "@rc-component/trigger": "npm:^2.0.0" classnames: "npm:^2.3.1" + rc-util: "npm:^5.44.3" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/879341bcb7c162faa51b187482947c4f7d67b223f3999cf4a0fc5f4ffd15030086cef05b32464203c6ea7d07fc9f68cca85d806bf65ffdb91a5e7a76e46c839d + checksum: 10c0/49b9c56fc877b38084b4076edb1b61f0272bdd290c6ef161a0e1cf6426488e948c20439cf4ae31e076f3957b894feb326e4a1d7880400de2c29b1d54f736a342 languageName: node linkType: hard -"rc-tree-select@npm:~5.23.0": - version: 5.23.0 - resolution: "rc-tree-select@npm:5.23.0" +"rc-tree-select@npm:~5.27.0": + version: 5.27.0 + resolution: "rc-tree-select@npm:5.27.0" dependencies: - "@babel/runtime": "npm:^7.10.1" + "@babel/runtime": "npm:^7.25.7" classnames: "npm:2.x" - rc-select: "npm:~14.15.0" - rc-tree: "npm:~5.9.0" - rc-util: "npm:^5.16.1" + rc-select: "npm:~14.16.2" + rc-tree: "npm:~5.13.0" + rc-util: "npm:^5.43.0" peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/6e054b168f0970686cd3afeefca3ec09138c6c81ea2243c059c446500220fceca1471d91db3231f7759a0f3e05014dcd0f80a5a78306c189b70896b3117a256c + checksum: 10c0/26aad0e13e5f9fe501574ba50826edda9b67a5bf22adbe1dc8e3a793fb784318b235165d6054a047b5934cdfbbd88ea1a524726edbad9107cd0f1d28782f9cc5 languageName: node linkType: hard -"rc-tree@npm:~5.9.0": - version: 5.9.0 - resolution: "rc-tree@npm:5.9.0" +"rc-tree@npm:~5.13.0": + version: 5.13.0 + resolution: "rc-tree@npm:5.13.0" dependencies: "@babel/runtime": "npm:^7.10.1" classnames: "npm:2.x" @@ -6541,7 +6686,7 @@ __metadata: peerDependencies: react: "*" react-dom: "*" - checksum: 10c0/07cb1126910739060170be6348835bb39cfdf0ddf6fffbbfda2eca49cadee9233fd2031a0cabce07e4874df29ccdc1168b47695dec5e03ecfe502c0fa49712a9 + checksum: 10c0/06bb91e86d5dee54e3952a1e16aba83dfd873459591c6168673201ec7fbc91296f9d090e29bb7babe86c8f0c8029e749ddd32b3e79dee1e57f7b0d6754f4b201 languageName: node linkType: hard @@ -6559,22 +6704,22 @@ __metadata: languageName: node linkType: hard -"rc-util@npm:^5.0.1, rc-util@npm:^5.16.1, rc-util@npm:^5.17.0, rc-util@npm:^5.18.1, rc-util@npm:^5.2.0, rc-util@npm:^5.20.1, rc-util@npm:^5.21.0, rc-util@npm:^5.24.4, rc-util@npm:^5.25.2, rc-util@npm:^5.27.0, rc-util@npm:^5.30.0, rc-util@npm:^5.31.1, rc-util@npm:^5.32.2, rc-util@npm:^5.34.1, rc-util@npm:^5.35.0, rc-util@npm:^5.36.0, rc-util@npm:^5.37.0, rc-util@npm:^5.38.0, rc-util@npm:^5.38.1, rc-util@npm:^5.40.1, rc-util@npm:^5.41.0, rc-util@npm:^5.43.0": - version: 5.43.0 - resolution: "rc-util@npm:5.43.0" +"rc-util@npm:^5.0.1, rc-util@npm:^5.16.1, rc-util@npm:^5.17.0, rc-util@npm:^5.18.1, rc-util@npm:^5.2.0, rc-util@npm:^5.20.1, rc-util@npm:^5.21.0, rc-util@npm:^5.24.4, rc-util@npm:^5.25.2, rc-util@npm:^5.27.0, rc-util@npm:^5.30.0, rc-util@npm:^5.31.1, rc-util@npm:^5.32.2, rc-util@npm:^5.34.1, rc-util@npm:^5.35.0, rc-util@npm:^5.36.0, rc-util@npm:^5.37.0, rc-util@npm:^5.38.0, rc-util@npm:^5.38.1, rc-util@npm:^5.40.1, rc-util@npm:^5.43.0, rc-util@npm:^5.44.0, rc-util@npm:^5.44.1, rc-util@npm:^5.44.3, rc-util@npm:^5.44.4": + version: 5.44.4 + resolution: "rc-util@npm:5.44.4" dependencies: "@babel/runtime": "npm:^7.18.3" react-is: "npm:^18.2.0" peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/39f7904c9851f2b0a2dace5ac578f42000498412d7da5ef2063fd547db91d158dcb376bcbacf49fb7790d2721727bd38ea3483294ef51eb6099a793b2e17e9db + checksum: 10c0/748b71a6280ddaaac93d1fb2c92f03818775468e7ccb6c221484687cc0b7e879d083e98e338f75ac0fe2e942dbb9c2405bd32d25e5a804bf1fb7a11f3f897127 languageName: node linkType: hard "rc-virtual-list@npm:^3.14.2, rc-virtual-list@npm:^3.5.1, rc-virtual-list@npm:^3.5.2": - version: 3.14.7 - resolution: "rc-virtual-list@npm:3.14.7" + version: 3.18.2 + resolution: "rc-virtual-list@npm:3.18.2" dependencies: "@babel/runtime": "npm:^7.20.0" classnames: "npm:^2.2.6" @@ -6583,7 +6728,7 @@ __metadata: peerDependencies: react: ">=16.9.0" react-dom: ">=16.9.0" - checksum: 10c0/8e800213979a4fffb50dc6f455c58a98b943956cae609f603bef8defd1938eef938ca838a377b1ab363d7900835c9c4965afdd1be7aaa36c19097b35fdf0a278 + checksum: 10c0/edb69b178c4acb1c55a46561f4f533683a132e64977af5fedc8acf7871ec4b27e2ef58a004cf322a4bb2aaa35310632c352be5a87f7a0d790fda4d3e6f95e540 languageName: node linkType: hard @@ -6615,6 +6760,22 @@ __metadata: languageName: node linkType: hard +"react-floater@npm:^0.7.9": + version: 0.7.9 + resolution: "react-floater@npm:0.7.9" + dependencies: + deepmerge: "npm:^4.3.1" + is-lite: "npm:^0.8.2" + popper.js: "npm:^1.16.0" + prop-types: "npm:^15.8.1" + tree-changes: "npm:^0.9.1" + peerDependencies: + react: 15 - 18 + react-dom: 15 - 18 + checksum: 10c0/3fa58e968a405fb95a004897ed19c87b4991e52ebd45d837b8577eb9175ddc1dfab223bb653a0fa73ffc22fc2b2a30f2d07e924f41f41a040299793e4d2decd4 + languageName: node + linkType: hard + "react-ga4@npm:^2.1.0": version: 2.1.0 resolution: "react-ga4@npm:2.1.0" @@ -6636,8 +6797,8 @@ __metadata: linkType: hard "react-i18next@npm:^15.0.2": - version: 15.0.2 - resolution: "react-i18next@npm:15.0.2" + version: 15.4.1 + resolution: "react-i18next@npm:15.4.1" dependencies: "@babel/runtime": "npm:^7.25.0" html-parse-stringify: "npm:^3.0.1" @@ -6649,7 +6810,7 @@ __metadata: optional: true react-native: optional: true - checksum: 10c0/59ff253978f8341464712cf5e8df33d5ec856ada5995384e9b282bdcd82b2f3fa687b2f48eb12691aa923596115a7aab5d5c3187f26e3c4f33fece51f54b3cca + checksum: 10c0/4f421a4db8255766bdbc8cc262b03c75bed4d92e5f7cc79dee99236c3239eb86a4d100fcbc6c2c735fa0207de23c09516450c8d970d193b0f7c2a3daaa51e261 languageName: node linkType: hard @@ -6664,12 +6825,22 @@ __metadata: languageName: node linkType: hard +"react-innertext@npm:^1.1.5": + version: 1.1.5 + resolution: "react-innertext@npm:1.1.5" + peerDependencies: + "@types/react": ">=0.0.0 <=99" + react: ">=0.0.0 <=99" + checksum: 10c0/45335918ac83334133a9fa0df4ce109e0d4a45d54b783a8eaec88811b36dd5c3bbb5d9a6af2da1eed518a6f325a6ffae4be7bd30878596e0ec1760b231a8e0ee + languageName: node + linkType: hard + "react-insta-stories@npm:^2.7.0": - version: 2.7.0 - resolution: "react-insta-stories@npm:2.7.0" + version: 2.8.0 + resolution: "react-insta-stories@npm:2.8.0" peerDependencies: react: ">=16.8.2" - checksum: 10c0/ed43f2c2c6513979f861c95b1b161fe071c3637e4941652781411ca6dc2f8cd6023a24043c93268d9029e9ce0471cbc88ba6eb023c4ce9e6c4129f5fa1747a01 + checksum: 10c0/fef2e3009921f5cc4878cdcecc8895f17d433bdf4837c804e718fcb838caa7949efd38464e48f98a336e4c622e28a25a5e0015d3b803c7d039e51c898ec1090a languageName: node linkType: hard @@ -6687,31 +6858,53 @@ __metadata: languageName: node linkType: hard -"react-phone-hooks@npm:^0.1.6": - version: 0.1.11 - resolution: "react-phone-hooks@npm:0.1.11" +"react-joyride@npm:^2.9.3": + version: 2.9.3 + resolution: "react-joyride@npm:2.9.3" + dependencies: + "@gilbarbara/deep-equal": "npm:^0.3.1" + deep-diff: "npm:^1.0.2" + deepmerge: "npm:^4.3.1" + is-lite: "npm:^1.2.1" + react-floater: "npm:^0.7.9" + react-innertext: "npm:^1.1.5" + react-is: "npm:^16.13.1" + scroll: "npm:^3.0.1" + scrollparent: "npm:^2.1.0" + tree-changes: "npm:^0.11.2" + type-fest: "npm:^4.27.0" + peerDependencies: + react: 15 - 18 + react-dom: 15 - 18 + checksum: 10c0/8045ef1cc14e1d48aebf46f9ecff43c1aecb6eacf3310f533844c5bf7b4d6390cdbed5f43424bb4d19c6a3351ca8d150d0a0e0c5c5e99138b70d52830276d554 + languageName: node + linkType: hard + +"react-phone-hooks@npm:^0.1.14": + version: 0.1.14 + resolution: "react-phone-hooks@npm:0.1.14" peerDependencies: react: ">=16" - checksum: 10c0/ca38e6b4990694631d0424c3dd311e78a62254aa94a53f8263a710b04227c969a9ce01b6b75a21f92f6935825d223e9b8954589c96fca5061f969f20f0b62fec + checksum: 10c0/145d15740ccb5b47cae5815edaa78430281b4f5854515364b367ad97dd1695afb5727360b72c6404357de0291591474e1f355262a21d1ce8a5981bddcac3504a languageName: node linkType: hard "react-redux@npm:^9.1.2": - version: 9.1.2 - resolution: "react-redux@npm:9.1.2" + version: 9.2.0 + resolution: "react-redux@npm:9.2.0" dependencies: - "@types/use-sync-external-store": "npm:^0.0.3" - use-sync-external-store: "npm:^1.0.0" + "@types/use-sync-external-store": "npm:^0.0.6" + use-sync-external-store: "npm:^1.4.0" peerDependencies: - "@types/react": ^18.2.25 - react: ^18.0 + "@types/react": ^18.2.25 || ^19 + react: ^18.0 || ^19 redux: ^5.0.0 peerDependenciesMeta: "@types/react": optional: true redux: optional: true - checksum: 10c0/56ac98228e011b26e0202346af9c8dd408ad5ea8235d8761c8e05ea0953b8ca801cdf9d1f481fdec7b285d7f30ceef7238b46b3df7636ef77dd5c2ea8c5be5b2 + checksum: 10c0/00d485f9d9219ca1507b4d30dde5f6ff8fb68ba642458f742e0ec83af052f89e65cd668249b99299e1053cc6ad3d2d8ac6cb89e2f70d2ac5585ae0d7fa0ef259 languageName: node linkType: hard @@ -6737,15 +6930,15 @@ __metadata: linkType: hard "react-router-dom@npm:^6.26.2": - version: 6.26.2 - resolution: "react-router-dom@npm:6.26.2" + version: 6.29.0 + resolution: "react-router-dom@npm:6.29.0" dependencies: - "@remix-run/router": "npm:1.19.2" - react-router: "npm:6.26.2" + "@remix-run/router": "npm:1.22.0" + react-router: "npm:6.29.0" peerDependencies: react: ">=16.8" react-dom: ">=16.8" - checksum: 10c0/7515128a98eef0a6b2bf354ef9dfefad03556a06be00fa9220eda6526aaada8a42f294911083473d7ced6d7128c3088bd193218bbb3d62593f9f4f7053781c23 + checksum: 10c0/f89f922006b6ff896ba81d82088812e42ae56790ccb838e7041eebe0f7d36ac2a4eca56512a422da4249cca23f389f998e84cf8ff868d4a83defd72951b8fbf9 languageName: node linkType: hard @@ -6761,34 +6954,34 @@ __metadata: languageName: node linkType: hard -"react-router@npm:6.26.2": - version: 6.26.2 - resolution: "react-router@npm:6.26.2" +"react-router@npm:6.29.0": + version: 6.29.0 + resolution: "react-router@npm:6.29.0" dependencies: - "@remix-run/router": "npm:1.19.2" + "@remix-run/router": "npm:1.22.0" peerDependencies: react: ">=16.8" - checksum: 10c0/0d15a39b419c99fb5ccad76388bfc4ee2b01323b3b1b694595a9f9ea28e1fbeea25486b5398f5d3d93922f5c6a9aa751b6bb27419488d85279f6ca5ff9e0a6bb + checksum: 10c0/0ad27b34e2ccb6db68ef124cd4492ba86b5422ea3e2af01c9de95e372eb3a36fb4727b40488ebc90e5e0cea41bc655c53569a754713554a465ca9423aa233df8 languageName: node linkType: hard "react-terminal-ui@npm:^1.3.0": - version: 1.3.0 - resolution: "react-terminal-ui@npm:1.3.0" + version: 1.4.0 + resolution: "react-terminal-ui@npm:1.4.0" peerDependencies: - react: ">16.13.0" - react-dom: ">16.13.0" - checksum: 10c0/512636c6340a6d2c4474e240f87bbc5d18b10cb4f1d0b6961ee78873778f720ecfe0ed7c327e976fa88e2ba17668ac685644b0d36462624fba24dd8fb663aa9b + react: ">=18.0.0" + react-dom: ">=18.0.0" + checksum: 10c0/2806a5ba088464e3db30f72d7605e78fa222aaad64c27002988adbc93af932bc783580547d974913448e00cfb2bf3b46f277ab9ca873477559476525ae0b07dd languageName: node linkType: hard "react-verification-input@npm:^4.1.2": - version: 4.1.2 - resolution: "react-verification-input@npm:4.1.2" + version: 4.2.2 + resolution: "react-verification-input@npm:4.2.2" peerDependencies: - react: 16.8.0 - 18.x.x - react-dom: 16.8.0 - 18.x.x - checksum: 10c0/c0a3712f9d151902ed6c33d79e9ca296cd63c049642b83f15ce7e2fa3a2472c21586f5ad4697c3b05ff5464e5b4e49927806b12d34b2a354b8c3fe254fa002d7 + react: 16.8.0 - 19.x.x || >=19.0.0-rc + react-dom: 16.8.0 - 19.x.x || >=19.0.0-rc + checksum: 10c0/f9b2bfacf0bc165ad2875fb09287d28b4695083c2c9f9430b91b8548fe9016db4d032bea763f09de50a99e61f63d9bce744f1b812446f2b03ca4c474c77e31ea languageName: node linkType: hard @@ -6832,18 +7025,19 @@ __metadata: languageName: node linkType: hard -"reflect.getprototypeof@npm:^1.0.4": - version: 1.0.6 - resolution: "reflect.getprototypeof@npm:1.0.6" +"reflect.getprototypeof@npm:^1.0.6, reflect.getprototypeof@npm:^1.0.9": + version: 1.0.10 + resolution: "reflect.getprototypeof@npm:1.0.10" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.1" + es-abstract: "npm:^1.23.9" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - globalthis: "npm:^1.0.3" - which-builtin-type: "npm:^1.1.3" - checksum: 10c0/baf4ef8ee6ff341600f4720b251cf5a6cb552d6a6ab0fdc036988c451bf16f920e5feb0d46bd4f530a5cce568f1f7aca2d77447ca798920749cfc52783c39b55 + es-object-atoms: "npm:^1.0.0" + get-intrinsic: "npm:^1.2.7" + get-proto: "npm:^1.0.1" + which-builtin-type: "npm:^1.2.1" + checksum: 10c0/7facec28c8008876f8ab98e80b7b9cb4b1e9224353fd4756dda5f2a4ab0d30fa0a5074777c6df24e1e0af463a2697513b0a11e548d99cf52f21f7bc6ba48d3ac languageName: node linkType: hard @@ -6854,15 +7048,17 @@ __metadata: languageName: node linkType: hard -"regexp.prototype.flags@npm:^1.5.2": - version: 1.5.2 - resolution: "regexp.prototype.flags@npm:1.5.2" +"regexp.prototype.flags@npm:^1.5.3": + version: 1.5.4 + resolution: "regexp.prototype.flags@npm:1.5.4" dependencies: - call-bind: "npm:^1.0.6" + call-bind: "npm:^1.0.8" define-properties: "npm:^1.2.1" es-errors: "npm:^1.3.0" - set-function-name: "npm:^2.0.1" - checksum: 10c0/0f3fc4f580d9c349f8b560b012725eb9c002f36daa0041b3fbf6f4238cb05932191a4d7d5db3b5e2caa336d5150ad0402ed2be81f711f9308fe7e1a9bf9bd552 + get-proto: "npm:^1.0.1" + gopd: "npm:^1.2.0" + set-function-name: "npm:^2.0.2" + checksum: 10c0/83b88e6115b4af1c537f8dabf5c3744032cb875d63bc05c288b1b8c0ef37cbe55353f95d8ca817e8843806e3e150b118bc624e4279b24b4776b4198232735a77 languageName: node linkType: hard @@ -6977,27 +7173,41 @@ __metadata: languageName: node linkType: hard +"rimraf@npm:^5.0.5": + version: 5.0.10 + resolution: "rimraf@npm:5.0.10" + dependencies: + glob: "npm:^10.3.7" + bin: + rimraf: dist/esm/bin.mjs + checksum: 10c0/7da4fd0e15118ee05b918359462cfa1e7fe4b1228c7765195a45b55576e8c15b95db513b8466ec89129666f4af45ad978a3057a02139afba1a63512a2d9644cc + languageName: node + linkType: hard + "rollup@npm:^4.20.0": - version: 4.22.4 - resolution: "rollup@npm:4.22.4" - dependencies: - "@rollup/rollup-android-arm-eabi": "npm:4.22.4" - "@rollup/rollup-android-arm64": "npm:4.22.4" - "@rollup/rollup-darwin-arm64": "npm:4.22.4" - "@rollup/rollup-darwin-x64": "npm:4.22.4" - "@rollup/rollup-linux-arm-gnueabihf": "npm:4.22.4" - "@rollup/rollup-linux-arm-musleabihf": "npm:4.22.4" - "@rollup/rollup-linux-arm64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-arm64-musl": "npm:4.22.4" - "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.22.4" - "@rollup/rollup-linux-riscv64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-s390x-gnu": "npm:4.22.4" - "@rollup/rollup-linux-x64-gnu": "npm:4.22.4" - "@rollup/rollup-linux-x64-musl": "npm:4.22.4" - "@rollup/rollup-win32-arm64-msvc": "npm:4.22.4" - "@rollup/rollup-win32-ia32-msvc": "npm:4.22.4" - "@rollup/rollup-win32-x64-msvc": "npm:4.22.4" - "@types/estree": "npm:1.0.5" + version: 4.34.8 + resolution: "rollup@npm:4.34.8" + dependencies: + "@rollup/rollup-android-arm-eabi": "npm:4.34.8" + "@rollup/rollup-android-arm64": "npm:4.34.8" + "@rollup/rollup-darwin-arm64": "npm:4.34.8" + "@rollup/rollup-darwin-x64": "npm:4.34.8" + "@rollup/rollup-freebsd-arm64": "npm:4.34.8" + "@rollup/rollup-freebsd-x64": "npm:4.34.8" + "@rollup/rollup-linux-arm-gnueabihf": "npm:4.34.8" + "@rollup/rollup-linux-arm-musleabihf": "npm:4.34.8" + "@rollup/rollup-linux-arm64-gnu": "npm:4.34.8" + "@rollup/rollup-linux-arm64-musl": "npm:4.34.8" + "@rollup/rollup-linux-loongarch64-gnu": "npm:4.34.8" + "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.34.8" + "@rollup/rollup-linux-riscv64-gnu": "npm:4.34.8" + "@rollup/rollup-linux-s390x-gnu": "npm:4.34.8" + "@rollup/rollup-linux-x64-gnu": "npm:4.34.8" + "@rollup/rollup-linux-x64-musl": "npm:4.34.8" + "@rollup/rollup-win32-arm64-msvc": "npm:4.34.8" + "@rollup/rollup-win32-ia32-msvc": "npm:4.34.8" + "@rollup/rollup-win32-x64-msvc": "npm:4.34.8" + "@types/estree": "npm:1.0.6" fsevents: "npm:~2.3.2" dependenciesMeta: "@rollup/rollup-android-arm-eabi": @@ -7008,6 +7218,10 @@ __metadata: optional: true "@rollup/rollup-darwin-x64": optional: true + "@rollup/rollup-freebsd-arm64": + optional: true + "@rollup/rollup-freebsd-x64": + optional: true "@rollup/rollup-linux-arm-gnueabihf": optional: true "@rollup/rollup-linux-arm-musleabihf": @@ -7016,6 +7230,8 @@ __metadata: optional: true "@rollup/rollup-linux-arm64-musl": optional: true + "@rollup/rollup-linux-loongarch64-gnu": + optional: true "@rollup/rollup-linux-powerpc64le-gnu": optional: true "@rollup/rollup-linux-riscv64-gnu": @@ -7036,7 +7252,7 @@ __metadata: optional: true bin: rollup: dist/bin/rollup - checksum: 10c0/4c96b6e2e0c5dbe73b4ba899cea894a05115ab8c65ccff631fbbb944e2b3a9f2eb3b99c2dce3dd91b179647df1892ffc44ecee29381ccf155ba8000b22712a32 + checksum: 10c0/b9e711e33413112fbb761107c3fddc4561dfc74335c393542a829a85ccfb2763bfd17bf2422d84a2e9bee7646e5367018973e97005fdf64e49c2e209612f0eb6 languageName: node linkType: hard @@ -7050,20 +7266,20 @@ __metadata: linkType: hard "rrdom@npm:^2.0.0-alpha.13": - version: 2.0.0-alpha.17 - resolution: "rrdom@npm:2.0.0-alpha.17" + version: 2.0.0-alpha.18 + resolution: "rrdom@npm:2.0.0-alpha.18" dependencies: - rrweb-snapshot: "npm:^2.0.0-alpha.17" - checksum: 10c0/ac03269c44e07db447677e5f5c6930f7919fa45497f6524e09a36ff7c092ef45208665ef0fdca724aa36b62636f1b192aee40fbe8bbea2a507197d7e735c9bc5 + rrweb-snapshot: "npm:^2.0.0-alpha.18" + checksum: 10c0/13770f81a475eff96d50bb74d313965a4e3d5b904b9a27dc43cb33fb92dac040fa5acd602db3a20de5366997a4cf3f55c635a5359e58bd26187ef074c0704fe5 languageName: node linkType: hard -"rrweb-snapshot@npm:^2.0.0-alpha.13, rrweb-snapshot@npm:^2.0.0-alpha.17": - version: 2.0.0-alpha.17 - resolution: "rrweb-snapshot@npm:2.0.0-alpha.17" +"rrweb-snapshot@npm:^2.0.0-alpha.13, rrweb-snapshot@npm:^2.0.0-alpha.18": + version: 2.0.0-alpha.18 + resolution: "rrweb-snapshot@npm:2.0.0-alpha.18" dependencies: postcss: "npm:^8.4.38" - checksum: 10c0/47754eac04a3d6f8a4fcf01074558ccb9145e136a9e674ac1105a1b5589b85a15b7b6ad5cb8590609041f0b4f585b20fe0f8479b0ac23284faff32832a6e1a7b + checksum: 10c0/296996f50f8a9c5f5dad2f92cea8fcc670bf364e094db48592919cab8987cdc19ce2e7b9b20653c63160f924e733a213329e87ff092353d4a5364c0a3a66405c languageName: node linkType: hard @@ -7092,15 +7308,16 @@ __metadata: languageName: node linkType: hard -"safe-array-concat@npm:^1.1.2": - version: 1.1.2 - resolution: "safe-array-concat@npm:1.1.2" +"safe-array-concat@npm:^1.1.3": + version: 1.1.3 + resolution: "safe-array-concat@npm:1.1.3" dependencies: - call-bind: "npm:^1.0.7" - get-intrinsic: "npm:^1.2.4" - has-symbols: "npm:^1.0.3" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + get-intrinsic: "npm:^1.2.6" + has-symbols: "npm:^1.1.0" isarray: "npm:^2.0.5" - checksum: 10c0/12f9fdb01c8585e199a347eacc3bae7b5164ae805cdc8c6707199dbad5b9e30001a50a43c4ee24dc9ea32dbb7279397850e9208a7e217f4d8b1cf5d90129dec9 + checksum: 10c0/43c86ffdddc461fb17ff8a17c5324f392f4868f3c7dd2c6a5d9f5971713bc5fd755667212c80eab9567595f9a7509cc2f83e590ddaebd1bd19b780f9c79f9a8d languageName: node linkType: hard @@ -7111,14 +7328,24 @@ __metadata: languageName: node linkType: hard -"safe-regex-test@npm:^1.0.3": - version: 1.0.3 - resolution: "safe-regex-test@npm:1.0.3" +"safe-push-apply@npm:^1.0.0": + version: 1.0.0 + resolution: "safe-push-apply@npm:1.0.0" dependencies: - call-bind: "npm:^1.0.6" es-errors: "npm:^1.3.0" - is-regex: "npm:^1.1.4" - checksum: 10c0/900bf7c98dc58f08d8523b7012b468e4eb757afa624f198902c0643d7008ba777b0bdc35810ba0b758671ce887617295fb742b3f3968991b178ceca54cb07603 + isarray: "npm:^2.0.5" + checksum: 10c0/831f1c9aae7436429e7862c7e46f847dfe490afac20d0ee61bae06108dbf5c745a0de3568ada30ccdd3eeb0864ca8331b2eef703abd69bfea0745b21fd320750 + languageName: node + linkType: hard + +"safe-regex-test@npm:^1.1.0": + version: 1.1.0 + resolution: "safe-regex-test@npm:1.1.0" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + is-regex: "npm:^1.2.1" + checksum: 10c0/f2c25281bbe5d39cddbbce7f86fca5ea9b3ce3354ea6cd7c81c31b006a5a9fff4286acc5450a3b9122c56c33eba69c56b9131ad751457b2b4a585825e6a10665 languageName: node linkType: hard @@ -7147,6 +7374,20 @@ __metadata: languageName: node linkType: hard +"scroll@npm:^3.0.1": + version: 3.0.1 + resolution: "scroll@npm:3.0.1" + checksum: 10c0/5b0c98089be0edb43444c7604a4866a0a4c457ac6c3c559b23b9c19e48bb9f977a5876bfeba8e567740b70c05dab75a01cef1a935faf47fdb6a505b538b413ed + languageName: node + linkType: hard + +"scrollparent@npm:^2.1.0": + version: 2.1.0 + resolution: "scrollparent@npm:2.1.0" + checksum: 10c0/b377ec5a461f6ed8021f0c3c6b0c76317341c33838f047e91387cdfe0ba4c28aa2a3855240458f9bcf1e18e6c8718540075eb1215fc094496300114f295b2e6b + languageName: node + linkType: hard + "semver@npm:^6.3.1": version: 6.3.1 resolution: "semver@npm:6.3.1" @@ -7157,11 +7398,11 @@ __metadata: linkType: hard "semver@npm:^7.3.5, semver@npm:^7.6.0, semver@npm:^7.6.3": - version: 7.6.3 - resolution: "semver@npm:7.6.3" + version: 7.7.1 + resolution: "semver@npm:7.7.1" bin: semver: bin/semver.js - checksum: 10c0/88f33e148b210c153873cb08cfe1e281d518aaa9a666d4d148add6560db5cd3c582f3a08ccb91f38d5f379ead256da9931234ed122057f40bb5766e65e58adaf + checksum: 10c0/fd603a6fb9c399c6054015433051bdbe7b99a940a8fb44b85c2b524c4004b023d7928d47cb22154f8d054ea7ee8597f586605e05b52047f048278e4ac56ae958 languageName: node linkType: hard @@ -7198,7 +7439,7 @@ __metadata: languageName: node linkType: hard -"set-function-length@npm:^1.2.1": +"set-function-length@npm:^1.2.2": version: 1.2.2 resolution: "set-function-length@npm:1.2.2" dependencies: @@ -7212,7 +7453,7 @@ __metadata: languageName: node linkType: hard -"set-function-name@npm:^2.0.1, set-function-name@npm:^2.0.2": +"set-function-name@npm:^2.0.2": version: 2.0.2 resolution: "set-function-name@npm:2.0.2" dependencies: @@ -7224,6 +7465,17 @@ __metadata: languageName: node linkType: hard +"set-proto@npm:^1.0.0": + version: 1.0.0 + resolution: "set-proto@npm:1.0.0" + dependencies: + dunder-proto: "npm:^1.0.1" + es-errors: "npm:^1.3.0" + es-object-atoms: "npm:^1.0.0" + checksum: 10c0/ca5c3ccbba479d07c30460e367e66337cec825560b11e8ba9c5ebe13a2a0d6021ae34eddf94ff3dfe17a3104dc1f191519cb6c48378b503e5c3f36393938776a + languageName: node + linkType: hard + "setprototypeof@npm:1.1.1": version: 1.1.1 resolution: "setprototypeof@npm:1.1.1" @@ -7261,15 +7513,51 @@ __metadata: languageName: node linkType: hard -"side-channel@npm:^1.0.4, side-channel@npm:^1.0.6": - version: 1.0.6 - resolution: "side-channel@npm:1.0.6" +"side-channel-list@npm:^1.0.0": + version: 1.0.0 + resolution: "side-channel-list@npm:1.0.0" dependencies: - call-bind: "npm:^1.0.7" es-errors: "npm:^1.3.0" - get-intrinsic: "npm:^1.2.4" - object-inspect: "npm:^1.13.1" - checksum: 10c0/d2afd163dc733cc0a39aa6f7e39bf0c436293510dbccbff446733daeaf295857dbccf94297092ec8c53e2503acac30f0b78830876f0485991d62a90e9cad305f + object-inspect: "npm:^1.13.3" + checksum: 10c0/644f4ac893456c9490ff388bf78aea9d333d5e5bfc64cfb84be8f04bf31ddc111a8d4b83b85d7e7e8a7b845bc185a9ad02c052d20e086983cf59f0be517d9b3d + languageName: node + linkType: hard + +"side-channel-map@npm:^1.0.1": + version: 1.0.1 + resolution: "side-channel-map@npm:1.0.1" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + checksum: 10c0/010584e6444dd8a20b85bc926d934424bd809e1a3af941cace229f7fdcb751aada0fb7164f60c2e22292b7fa3c0ff0bce237081fd4cdbc80de1dc68e95430672 + languageName: node + linkType: hard + +"side-channel-weakmap@npm:^1.0.2": + version: 1.0.2 + resolution: "side-channel-weakmap@npm:1.0.2" + dependencies: + call-bound: "npm:^1.0.2" + es-errors: "npm:^1.3.0" + get-intrinsic: "npm:^1.2.5" + object-inspect: "npm:^1.13.3" + side-channel-map: "npm:^1.0.1" + checksum: 10c0/71362709ac233e08807ccd980101c3e2d7efe849edc51455030327b059f6c4d292c237f94dc0685031dd11c07dd17a68afde235d6cf2102d949567f98ab58185 + languageName: node + linkType: hard + +"side-channel@npm:^1.1.0": + version: 1.1.0 + resolution: "side-channel@npm:1.1.0" + dependencies: + es-errors: "npm:^1.3.0" + object-inspect: "npm:^1.13.3" + side-channel-list: "npm:^1.0.0" + side-channel-map: "npm:^1.0.1" + side-channel-weakmap: "npm:^1.0.2" + checksum: 10c0/cb20dad41eb032e6c24c0982e1e5a24963a28aa6122b4f05b3f3d6bf8ae7fd5474ef382c8f54a6a3ab86e0cac4d41a23bd64ede3970e5bfb50326ba02a7996e6 languageName: node linkType: hard @@ -7333,28 +7621,28 @@ __metadata: languageName: node linkType: hard -"socks-proxy-agent@npm:^8.0.2, socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.4": - version: 8.0.4 - resolution: "socks-proxy-agent@npm:8.0.4" +"socks-proxy-agent@npm:^8.0.3, socks-proxy-agent@npm:^8.0.5": + version: 8.0.5 + resolution: "socks-proxy-agent@npm:8.0.5" dependencies: - agent-base: "npm:^7.1.1" + agent-base: "npm:^7.1.2" debug: "npm:^4.3.4" socks: "npm:^2.8.3" - checksum: 10c0/345593bb21b95b0508e63e703c84da11549f0a2657d6b4e3ee3612c312cb3a907eac10e53b23ede3557c6601d63252103494caa306b66560f43af7b98f53957a + checksum: 10c0/5d2c6cecba6821389aabf18728325730504bf9bb1d9e342e7987a5d13badd7a98838cc9a55b8ed3cb866ad37cc23e1086f09c4d72d93105ce9dfe76330e9d2a6 languageName: node linkType: hard "socks@npm:^2.8.3": - version: 2.8.3 - resolution: "socks@npm:2.8.3" + version: 2.8.4 + resolution: "socks@npm:2.8.4" dependencies: ip-address: "npm:^9.0.5" smart-buffer: "npm:^4.2.0" - checksum: 10c0/d54a52bf9325165770b674a67241143a3d8b4e4c8884560c4e0e078aace2a728dffc7f70150660f51b85797c4e1a3b82f9b7aa25e0a0ceae1a243365da5c51a7 + checksum: 10c0/00c3271e233ccf1fb83a3dd2060b94cc37817e0f797a93c560b9a7a86c4a0ec2961fb31263bdd24a3c28945e24868b5f063cd98744171d9e942c513454b50ae5 languageName: node linkType: hard -"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.0, source-map-js@npm:^1.2.1": +"source-map-js@npm:^1.0.1, source-map-js@npm:^1.2.1": version: 1.2.1 resolution: "source-map-js@npm:1.2.1" checksum: 10c0/7bda1fc4c197e3c6ff17de1b8b2c20e60af81b63a52cb32ec5a5d67a20a7d42651e2cb34ebe93833c5a2a084377e17455854fee3e21e7925c64a51b6a52b0faf @@ -7375,12 +7663,12 @@ __metadata: languageName: node linkType: hard -"ssri@npm:^10.0.0": - version: 10.0.6 - resolution: "ssri@npm:10.0.6" +"ssri@npm:^12.0.0": + version: 12.0.0 + resolution: "ssri@npm:12.0.0" dependencies: minipass: "npm:^7.0.3" - checksum: 10c0/e5a1e23a4057a86a97971465418f22ea89bd439ac36ade88812dd920e4e61873e8abd6a9b72a03a67ef50faa00a2daf1ab745c5a15b46d03e0544a0296354227 + checksum: 10c0/caddd5f544b2006e88fa6b0124d8d7b28208b83c72d7672d5ade44d794525d23b540f3396108c4eb9280dcb7c01f0bef50682f5b4b2c34291f7c5e211fd1417d languageName: node linkType: hard @@ -7392,24 +7680,23 @@ __metadata: linkType: hard "std-env@npm:^3.7.0": - version: 3.7.0 - resolution: "std-env@npm:3.7.0" - checksum: 10c0/60edf2d130a4feb7002974af3d5a5f3343558d1ccf8d9b9934d225c638606884db4a20d2fe6440a09605bca282af6b042ae8070a10490c0800d69e82e478f41e + version: 3.8.0 + resolution: "std-env@npm:3.8.0" + checksum: 10c0/f560a2902fd0fa3d648d7d0acecbd19d664006f7372c1fba197ed4c216b4c9e48db6e2769b5fe1616d42a9333c9f066c5011935035e85c59f45dc4f796272040 languageName: node linkType: hard -"streamx@npm:^2.15.0, streamx@npm:^2.20.0": - version: 2.20.1 - resolution: "streamx@npm:2.20.1" +"streamx@npm:^2.15.0, streamx@npm:^2.21.0": + version: 2.22.0 + resolution: "streamx@npm:2.22.0" dependencies: bare-events: "npm:^2.2.0" fast-fifo: "npm:^1.3.2" - queue-tick: "npm:^1.0.1" text-decoder: "npm:^1.1.0" dependenciesMeta: bare-events: optional: true - checksum: 10c0/34ffa2ee9465d70e18c7e2ba70189720c166d150ab83eb7700304620fa23ff42a69cb37d712ea4b5fc6234d8e74346a88bb4baceb873c6b05e52ac420f8abb4d + checksum: 10c0/f5017998a5b6360ba652599d20ef308c8c8ab0e26c8e5f624f0706f0ea12624e94fdf1ec18318124498529a1b106a1ab1c94a1b1e1ad6c2eec7cb9c8ac1b9198 languageName: node linkType: hard @@ -7442,23 +7729,24 @@ __metadata: languageName: node linkType: hard -"string.prototype.matchall@npm:^4.0.11": - version: 4.0.11 - resolution: "string.prototype.matchall@npm:4.0.11" +"string.prototype.matchall@npm:^4.0.12": + version: 4.0.12 + resolution: "string.prototype.matchall@npm:4.0.12" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.2" + es-abstract: "npm:^1.23.6" es-errors: "npm:^1.3.0" es-object-atoms: "npm:^1.0.0" - get-intrinsic: "npm:^1.2.4" - gopd: "npm:^1.0.1" - has-symbols: "npm:^1.0.3" - internal-slot: "npm:^1.0.7" - regexp.prototype.flags: "npm:^1.5.2" + get-intrinsic: "npm:^1.2.6" + gopd: "npm:^1.2.0" + has-symbols: "npm:^1.1.0" + internal-slot: "npm:^1.1.0" + regexp.prototype.flags: "npm:^1.5.3" set-function-name: "npm:^2.0.2" - side-channel: "npm:^1.0.6" - checksum: 10c0/915a2562ac9ab5e01b7be6fd8baa0b2b233a0a9aa975fcb2ec13cc26f08fb9a3e85d5abdaa533c99c6fc4c5b65b914eba3d80c4aff9792a4c9fed403f28f7d9d + side-channel: "npm:^1.1.0" + checksum: 10c0/1a53328ada73f4a77f1fdf1c79414700cf718d0a8ef6672af5603e709d26a24f2181208144aed7e858b1bcc1a0d08567a570abfb45567db4ae47637ed2c2f85c languageName: node linkType: hard @@ -7472,26 +7760,30 @@ __metadata: languageName: node linkType: hard -"string.prototype.trim@npm:^1.2.9": - version: 1.2.9 - resolution: "string.prototype.trim@npm:1.2.9" +"string.prototype.trim@npm:^1.2.10": + version: 1.2.10 + resolution: "string.prototype.trim@npm:1.2.10" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" + define-data-property: "npm:^1.1.4" define-properties: "npm:^1.2.1" - es-abstract: "npm:^1.23.0" + es-abstract: "npm:^1.23.5" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/dcef1a0fb61d255778155006b372dff8cc6c4394bc39869117e4241f41a2c52899c0d263ffc7738a1f9e61488c490b05c0427faa15151efad721e1a9fb2663c2 + has-property-descriptors: "npm:^1.0.2" + checksum: 10c0/8a8854241c4b54a948e992eb7dd6b8b3a97185112deb0037a134f5ba57541d8248dd610c966311887b6c2fd1181a3877bffb14d873ce937a344535dabcc648f8 languageName: node linkType: hard -"string.prototype.trimend@npm:^1.0.8": - version: 1.0.8 - resolution: "string.prototype.trimend@npm:1.0.8" +"string.prototype.trimend@npm:^1.0.9": + version: 1.0.9 + resolution: "string.prototype.trimend@npm:1.0.9" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.2" define-properties: "npm:^1.2.1" es-object-atoms: "npm:^1.0.0" - checksum: 10c0/0a0b54c17c070551b38e756ae271865ac6cc5f60dabf2e7e343cceae7d9b02e1a1120a824e090e79da1b041a74464e8477e2da43e2775c85392be30a6f60963c + checksum: 10c0/59e1a70bf9414cb4c536a6e31bef5553c8ceb0cf44d8b4d0ed65c9653358d1c64dd0ec203b100df83d0413bbcde38b8c5d49e14bc4b86737d74adc593a0d35b6 languageName: node linkType: hard @@ -7524,7 +7816,7 @@ __metadata: languageName: node linkType: hard -"strip-ansi@npm:^7.0.1, strip-ansi@npm:^7.1.0": +"strip-ansi@npm:^7.0.1": version: 7.1.0 resolution: "strip-ansi@npm:7.1.0" dependencies: @@ -7541,22 +7833,22 @@ __metadata: linkType: hard "styled-components@npm:^6.1.13": - version: 6.1.13 - resolution: "styled-components@npm:6.1.13" + version: 6.1.15 + resolution: "styled-components@npm:6.1.15" dependencies: "@emotion/is-prop-valid": "npm:1.2.2" "@emotion/unitless": "npm:0.8.1" "@types/stylis": "npm:4.2.5" css-to-react-native: "npm:3.2.0" csstype: "npm:3.1.3" - postcss: "npm:8.4.38" + postcss: "npm:8.4.49" shallowequal: "npm:1.1.0" stylis: "npm:4.3.2" tslib: "npm:2.6.2" peerDependencies: react: ">= 16.8.0" react-dom: ">= 16.8.0" - checksum: 10c0/dd0379179c6ce9655c97285e9f6475b533d4cc4cad72e8f16824c5454803a9d12126877d8b2837cd5b54520250c55cde97a183e813eed720d2575362d9646663 + checksum: 10c0/7c29db75af722599e10962ef74edd86423275385a3bf6baeb76783dfacc3de7608d1cc07b0d5866986e5263d60f0801b0d1f5b3b63be1af23bed68fdca8eaab6 languageName: node linkType: hard @@ -7589,51 +7881,50 @@ __metadata: linkType: hard "stylelint@npm:^16.9.0": - version: 16.9.0 - resolution: "stylelint@npm:16.9.0" + version: 16.14.1 + resolution: "stylelint@npm:16.14.1" dependencies: - "@csstools/css-parser-algorithms": "npm:^3.0.1" - "@csstools/css-tokenizer": "npm:^3.0.1" - "@csstools/media-query-list-parser": "npm:^3.0.1" - "@csstools/selector-specificity": "npm:^4.0.0" + "@csstools/css-parser-algorithms": "npm:^3.0.4" + "@csstools/css-tokenizer": "npm:^3.0.3" + "@csstools/media-query-list-parser": "npm:^4.0.2" + "@csstools/selector-specificity": "npm:^5.0.0" "@dual-bundle/import-meta-resolve": "npm:^4.1.0" balanced-match: "npm:^2.0.0" colord: "npm:^2.9.3" cosmiconfig: "npm:^9.0.0" - css-functions-list: "npm:^3.2.2" - css-tree: "npm:^2.3.1" - debug: "npm:^4.3.6" - fast-glob: "npm:^3.3.2" + css-functions-list: "npm:^3.2.3" + css-tree: "npm:^3.1.0" + debug: "npm:^4.3.7" + fast-glob: "npm:^3.3.3" fastest-levenshtein: "npm:^1.0.16" - file-entry-cache: "npm:^9.0.0" + file-entry-cache: "npm:^10.0.5" global-modules: "npm:^2.0.0" globby: "npm:^11.1.0" globjoin: "npm:^0.1.4" html-tags: "npm:^3.3.1" - ignore: "npm:^5.3.2" + ignore: "npm:^7.0.3" imurmurhash: "npm:^0.1.4" is-plain-object: "npm:^5.0.0" - known-css-properties: "npm:^0.34.0" + known-css-properties: "npm:^0.35.0" mathml-tag-names: "npm:^2.1.3" meow: "npm:^13.2.0" micromatch: "npm:^4.0.8" normalize-path: "npm:^3.0.0" - picocolors: "npm:^1.0.1" - postcss: "npm:^8.4.41" + picocolors: "npm:^1.1.1" + postcss: "npm:^8.5.1" postcss-resolve-nested-selector: "npm:^0.1.6" - postcss-safe-parser: "npm:^7.0.0" - postcss-selector-parser: "npm:^6.1.2" + postcss-safe-parser: "npm:^7.0.1" + postcss-selector-parser: "npm:^7.0.0" postcss-value-parser: "npm:^4.2.0" resolve-from: "npm:^5.0.0" string-width: "npm:^4.2.3" - strip-ansi: "npm:^7.1.0" supports-hyperlinks: "npm:^3.1.0" svg-tags: "npm:^1.0.0" - table: "npm:^6.8.2" + table: "npm:^6.9.0" write-file-atomic: "npm:^5.0.1" bin: stylelint: bin/stylelint.mjs - checksum: 10c0/d3ff9c8945c56b04a2fa16ec33d163325496d5db94b6fcb5adf74c76f7f794ac992888273f9a3317652ba8b6195168b2ffff382ca2a667a241e2ace8c9505ae2 + checksum: 10c0/cce94374dc721d491d955f548ee81ba835d4955fa37d58a11323454f9f3721e5644fa89a04c14f85bdfa12790bdd043a41be2001a99cb0bfe23b38eb933199d7 languageName: node linkType: hard @@ -7644,19 +7935,10 @@ __metadata: languageName: node linkType: hard -"stylis@npm:^4.3.3": - version: 4.3.4 - resolution: "stylis@npm:4.3.4" - checksum: 10c0/4899c2674cd2538e314257abd1ba7ea3c2176439659ddac6593c78192cfd4a06f814a0a4fc69bc7f8fcc6b997e13d383dd9b578b71074746a0fb86045a83e42d - languageName: node - linkType: hard - -"supports-color@npm:^5.3.0": - version: 5.5.0 - resolution: "supports-color@npm:5.5.0" - dependencies: - has-flag: "npm:^3.0.0" - checksum: 10c0/6ae5ff319bfbb021f8a86da8ea1f8db52fac8bd4d499492e30ec17095b58af11f0c55f8577390a749b1c4dde691b6a0315dab78f5f54c9b3d83f8fb5905c1c05 +"stylis@npm:^4.3.4": + version: 4.3.6 + resolution: "stylis@npm:4.3.6" + checksum: 10c0/e736d484983a34f7c65d362c67dc79b7bce388054b261c2b7b23d02eaaf280617033f65d44b1ea341854f4331a5074b885668ac8741f98c13a6cfd6443ae85d0 languageName: node linkType: hard @@ -7670,12 +7952,12 @@ __metadata: linkType: hard "supports-hyperlinks@npm:^3.1.0": - version: 3.1.0 - resolution: "supports-hyperlinks@npm:3.1.0" + version: 3.2.0 + resolution: "supports-hyperlinks@npm:3.2.0" dependencies: has-flag: "npm:^4.0.0" supports-color: "npm:^7.0.0" - checksum: 10c0/78cc3e17eb27e6846fa355a8ebf343befe36272899cd409e45317a06c1997e95c23ff99d91080a517bd8c96508d4fa456e6ceb338c02ba5d7544277dbec0f10f + checksum: 10c0/bca527f38d4c45bc95d6a24225944675746c515ddb91e2456d00ae0b5c537658e9dd8155b996b191941b0c19036195a098251304b9082bbe00cd1781f3cd838e languageName: node linkType: hard @@ -7701,34 +7983,34 @@ __metadata: linkType: hard "synckit@npm:^0.9.1": - version: 0.9.1 - resolution: "synckit@npm:0.9.1" + version: 0.9.2 + resolution: "synckit@npm:0.9.2" dependencies: "@pkgr/core": "npm:^0.1.0" tslib: "npm:^2.6.2" - checksum: 10c0/d8b89e1bf30ba3ffb469d8418c836ad9c0c062bf47028406b4d06548bc66af97155ea2303b96c93bf5c7c0f0d66153a6fbd6924c76521b434e6a9898982abc2e + checksum: 10c0/e0c262817444e5b872708adb6f5ad37951ba33f6b2d1d4477d45db1f57573a784618ceed5e6614e0225db330632b1f6b95bb74d21e4d013e45ad4bde03d0cb59 languageName: node linkType: hard -"table@npm:^6.8.2": - version: 6.8.2 - resolution: "table@npm:6.8.2" +"table@npm:^6.9.0": + version: 6.9.0 + resolution: "table@npm:6.9.0" dependencies: ajv: "npm:^8.0.1" lodash.truncate: "npm:^4.4.2" slice-ansi: "npm:^4.0.0" string-width: "npm:^4.2.3" strip-ansi: "npm:^6.0.1" - checksum: 10c0/f8b348af38ee34e419d8ce7306ba00671ce6f20e861ccff22555f491ba264e8416086063ce278a8d81abfa8d23b736ec2cca7ac4029b5472f63daa4b4688b803 + checksum: 10c0/35646185712bb65985fbae5975dda46696325844b78735f95faefae83e86df0a265277819a3e67d189de6e858c509b54e66ca3958ffd51bde56ef1118d455bf4 languageName: node linkType: hard "tar-fs@npm:^3.0.6": - version: 3.0.6 - resolution: "tar-fs@npm:3.0.6" + version: 3.0.8 + resolution: "tar-fs@npm:3.0.8" dependencies: - bare-fs: "npm:^2.1.1" - bare-path: "npm:^2.1.0" + bare-fs: "npm:^4.0.1" + bare-path: "npm:^3.0.0" pump: "npm:^3.0.0" tar-stream: "npm:^3.1.5" dependenciesMeta: @@ -7736,7 +8018,7 @@ __metadata: optional: true bare-path: optional: true - checksum: 10c0/207b7c0f193495668bd9dbad09a0108ce4ffcfec5bce2133f90988cdda5c81fad83c99f963d01e47b565196594f7a17dbd063ae55b97b36268fcc843975278ee + checksum: 10c0/b70bb2ad0490ab13b48edd10bd648bb54c52b681981cdcdc3aa4517e98ad94c94659ddca1925872ee658d781b9fcdd2b1c808050647f06b1bca157dd2fcae038 languageName: node linkType: hard @@ -7751,26 +8033,26 @@ __metadata: languageName: node linkType: hard -"tar@npm:^6.1.11, tar@npm:^6.2.1": - version: 6.2.1 - resolution: "tar@npm:6.2.1" +"tar@npm:^7.4.3": + version: 7.4.3 + resolution: "tar@npm:7.4.3" dependencies: - chownr: "npm:^2.0.0" - fs-minipass: "npm:^2.0.0" - minipass: "npm:^5.0.0" - minizlib: "npm:^2.1.1" - mkdirp: "npm:^1.0.3" - yallist: "npm:^4.0.0" - checksum: 10c0/a5eca3eb50bc11552d453488344e6507156b9193efd7635e98e867fab275d527af53d8866e2370cd09dfe74378a18111622ace35af6a608e5223a7d27fe99537 + "@isaacs/fs-minipass": "npm:^4.0.0" + chownr: "npm:^3.0.0" + minipass: "npm:^7.1.2" + minizlib: "npm:^3.0.1" + mkdirp: "npm:^3.0.1" + yallist: "npm:^5.0.0" + checksum: 10c0/d4679609bb2a9b48eeaf84632b6d844128d2412b95b6de07d53d8ee8baf4ca0857c9331dfa510390a0727b550fd543d4d1a10995ad86cdf078423fbb8d99831d languageName: node linkType: hard "text-decoder@npm:^1.1.0": - version: 1.2.0 - resolution: "text-decoder@npm:1.2.0" + version: 1.2.3 + resolution: "text-decoder@npm:1.2.3" dependencies: b4a: "npm:^1.6.4" - checksum: 10c0/398171bef376e06864cd6ba24e0787cc626bebc84a1bbda758d06a6e9b729cc8613f7923dd0d294abd88e8bb5cd7261aad5fda7911fb87253fe71b2b5ac6e507 + checksum: 10c0/569d776b9250158681c83656ef2c3e0a5d5c660c27ca69f87eedef921749a4fbf02095e5f9a0f862a25cf35258379b06e31dee9c125c9f72e273b7ca1a6d1977 languageName: node linkType: hard @@ -7802,13 +8084,6 @@ __metadata: languageName: node linkType: hard -"to-fast-properties@npm:^2.0.0": - version: 2.0.0 - resolution: "to-fast-properties@npm:2.0.0" - checksum: 10c0/b214d21dbfb4bce3452b6244b336806ffea9c05297148d32ebb428d5c43ce7545bdfc65a1ceb58c9ef4376a65c0cb2854d645f33961658b3e3b4f84910ddcdd7 - languageName: node - linkType: hard - "to-regex-range@npm:^5.0.1": version: 5.0.1 resolution: "to-regex-range@npm:5.0.1" @@ -7839,12 +8114,32 @@ __metadata: languageName: node linkType: hard -"ts-api-utils@npm:^1.3.0": - version: 1.3.0 - resolution: "ts-api-utils@npm:1.3.0" +"tree-changes@npm:^0.11.2": + version: 0.11.3 + resolution: "tree-changes@npm:0.11.3" + dependencies: + "@gilbarbara/deep-equal": "npm:^0.3.1" + is-lite: "npm:^1.2.1" + checksum: 10c0/4479a54fb1589a0963a29e17959a6d13c5f60f962032bf23e84111b34d367d0abb56c6c17c5511a95aade7274b25eacccb651d1d88c6606151e6fdcd2e185feb + languageName: node + linkType: hard + +"tree-changes@npm:^0.9.1": + version: 0.9.3 + resolution: "tree-changes@npm:0.9.3" + dependencies: + "@gilbarbara/deep-equal": "npm:^0.1.1" + is-lite: "npm:^0.8.2" + checksum: 10c0/e7a38ed3c22ed1195a78e800a8f08a01d44cd8f4abac421b2be6ae34f991dfbd60ce4235be4e002882f3debef95b8e0f7e027b3b758325e9b4bda905c34d3d8f + languageName: node + linkType: hard + +"ts-api-utils@npm:^2.0.1": + version: 2.0.1 + resolution: "ts-api-utils@npm:2.0.1" peerDependencies: - typescript: ">=4.2.0" - checksum: 10c0/f54a0ba9ed56ce66baea90a3fa087a484002e807f28a8ccb2d070c75e76bde64bd0f6dce98b3802834156306050871b67eec325cb4e918015a360a3f0868c77c + typescript: ">=4.8.4" + checksum: 10c0/23fd56a958b332cac00150a652e4c84730df30571bd2faa1ba6d7b511356d1a61656621492bb6c7f15dd6e18847a1408357a0e406671d358115369a17f5bfedd languageName: node linkType: hard @@ -7887,8 +8182,8 @@ __metadata: linkType: hard "tsconfck@npm:^3.0.3": - version: 3.1.3 - resolution: "tsconfck@npm:3.1.3" + version: 3.1.5 + resolution: "tsconfck@npm:3.1.5" peerDependencies: typescript: ^5.0.0 peerDependenciesMeta: @@ -7896,7 +8191,7 @@ __metadata: optional: true bin: tsconfck: bin/tsconfck.js - checksum: 10c0/64f7a8ed0a6d36b0902dfc0075e791d2242f7634644f124343ec0dec4f3f70092f929c5a9f59496d51883aa81bb1e595deb92a219593575d2e75b849064713d1 + checksum: 10c0/9b62cd85d5702aa23ea50ea578d7124f3d59cc4518fcc7eacc04f4f9c9c481f720738ff8351bd4472247c0723a17dfd01af95a5b60ad623cdb8727fbe4881847 languageName: node linkType: hard @@ -7914,10 +8209,10 @@ __metadata: languageName: node linkType: hard -"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.6.2": - version: 2.7.0 - resolution: "tslib@npm:2.7.0" - checksum: 10c0/469e1d5bf1af585742128827000711efa61010b699cb040ab1800bcd3ccdd37f63ec30642c9e07c4439c1db6e46345582614275daca3e0f4abae29b0083f04a6 +"tslib@npm:^2.0.1, tslib@npm:^2.0.3, tslib@npm:^2.4.0, tslib@npm:^2.6.2, tslib@npm:^2.8.1": + version: 2.8.1 + resolution: "tslib@npm:2.8.1" + checksum: 10c0/9c4759110a19c53f992d9aae23aac5ced636e99887b51b9e61def52611732872ff7668757d4e4c61f19691e36f4da981cd9485e869b4a7408d689f6bf1f14e62 languageName: node linkType: hard @@ -7944,55 +8239,63 @@ __metadata: languageName: node linkType: hard -"typed-array-buffer@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-buffer@npm:1.0.2" +"type-fest@npm:^4.27.0": + version: 4.35.0 + resolution: "type-fest@npm:4.35.0" + checksum: 10c0/7032a8a940c33d45947a4ff0f74e3aa43b6fd8bb4745b32bba8e61ee47c0dd088cacd102f8377e9e889362e1ae8e0292b64a4c0698c1e42fd297bf6f8899d220 + languageName: node + linkType: hard + +"typed-array-buffer@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-buffer@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.7" + call-bound: "npm:^1.0.3" es-errors: "npm:^1.3.0" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/9e043eb38e1b4df4ddf9dde1aa64919ae8bb909571c1cc4490ba777d55d23a0c74c7d73afcdd29ec98616d91bb3ae0f705fad4421ea147e1daf9528200b562da + is-typed-array: "npm:^1.1.14" + checksum: 10c0/1105071756eb248774bc71646bfe45b682efcad93b55532c6ffa4518969fb6241354e4aa62af679ae83899ec296d69ef88f1f3763657cdb3a4d29321f7b83079 languageName: node linkType: hard -"typed-array-byte-length@npm:^1.0.1": - version: 1.0.1 - resolution: "typed-array-byte-length@npm:1.0.1" +"typed-array-byte-length@npm:^1.0.3": + version: 1.0.3 + resolution: "typed-array-byte-length@npm:1.0.3" dependencies: - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/fcebeffb2436c9f355e91bd19e2368273b88c11d1acc0948a2a306792f1ab672bce4cfe524ab9f51a0505c9d7cd1c98eff4235c4f6bfef6a198f6cfc4ff3d4f3 + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.14" + checksum: 10c0/6ae083c6f0354f1fce18b90b243343b9982affd8d839c57bbd2c174a5d5dc71be9eb7019ffd12628a96a4815e7afa85d718d6f1e758615151d5f35df841ffb3e languageName: node linkType: hard -"typed-array-byte-offset@npm:^1.0.2": - version: 1.0.2 - resolution: "typed-array-byte-offset@npm:1.0.2" +"typed-array-byte-offset@npm:^1.0.4": + version: 1.0.4 + resolution: "typed-array-byte-offset@npm:1.0.4" dependencies: available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" - is-typed-array: "npm:^1.1.13" - checksum: 10c0/d2628bc739732072e39269389a758025f75339de2ed40c4f91357023c5512d237f255b633e3106c461ced41907c1bf9a533c7e8578066b0163690ca8bc61b22f + gopd: "npm:^1.2.0" + has-proto: "npm:^1.2.0" + is-typed-array: "npm:^1.1.15" + reflect.getprototypeof: "npm:^1.0.9" + checksum: 10c0/3d805b050c0c33b51719ee52de17c1cd8e6a571abdf0fffb110e45e8dd87a657e8b56eee94b776b13006d3d347a0c18a730b903cf05293ab6d92e99ff8f77e53 languageName: node linkType: hard -"typed-array-length@npm:^1.0.6": - version: 1.0.6 - resolution: "typed-array-length@npm:1.0.6" +"typed-array-length@npm:^1.0.7": + version: 1.0.7 + resolution: "typed-array-length@npm:1.0.7" dependencies: call-bind: "npm:^1.0.7" for-each: "npm:^0.3.3" gopd: "npm:^1.0.1" - has-proto: "npm:^1.0.3" is-typed-array: "npm:^1.1.13" possible-typed-array-names: "npm:^1.0.0" - checksum: 10c0/74253d7dc488eb28b6b2711cf31f5a9dcefc9c41b0681fd1c178ed0a1681b4468581a3626d39cd4df7aee3d3927ab62be06aa9ca74e5baf81827f61641445b77 + reflect.getprototypeof: "npm:^1.0.6" + checksum: 10c0/e38f2ae3779584c138a2d8adfa8ecf749f494af3cd3cdafe4e688ce51418c7d2c5c88df1bd6be2bbea099c3f7cea58c02ca02ed438119e91f162a9de23f61295 languageName: node linkType: hard @@ -8025,16 +8328,16 @@ __metadata: linkType: hard "typescript-eslint@npm:^8.6.0": - version: 8.6.0 - resolution: "typescript-eslint@npm:8.6.0" + version: 8.24.1 + resolution: "typescript-eslint@npm:8.24.1" dependencies: - "@typescript-eslint/eslint-plugin": "npm:8.6.0" - "@typescript-eslint/parser": "npm:8.6.0" - "@typescript-eslint/utils": "npm:8.6.0" - peerDependenciesMeta: - typescript: - optional: true - checksum: 10c0/d009170af1cffece3a63784c3f6d6f5074fd42d198540f3140dd0fed4f37b1888d59abb5992624099834cae2ea4863b6c526b5f11ecbfd105f41a87e300305db + "@typescript-eslint/eslint-plugin": "npm:8.24.1" + "@typescript-eslint/parser": "npm:8.24.1" + "@typescript-eslint/utils": "npm:8.24.1" + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: ">=4.8.4 <5.8.0" + checksum: 10c0/5bcb6af12d04777ca04ca9300552e1c7410d640950945d854be41c264fdfe965ce40c0203336e073eb0697567d59043b3096dfed825e76fd7347081e9abf3b16 languageName: node linkType: hard @@ -8058,15 +8361,15 @@ __metadata: languageName: node linkType: hard -"unbox-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "unbox-primitive@npm:1.0.2" +"unbox-primitive@npm:^1.1.0": + version: 1.1.0 + resolution: "unbox-primitive@npm:1.1.0" dependencies: - call-bind: "npm:^1.0.2" + call-bound: "npm:^1.0.3" has-bigints: "npm:^1.0.2" - has-symbols: "npm:^1.0.3" - which-boxed-primitive: "npm:^1.0.2" - checksum: 10c0/81ca2e81134167cc8f75fa79fbcc8a94379d6c61de67090986a2273850989dd3bae8440c163121b77434b68263e34787a675cbdcb34bb2f764c6b9c843a11b66 + has-symbols: "npm:^1.1.0" + which-boxed-primitive: "npm:^1.1.1" + checksum: 10c0/7dbd35ab02b0e05fe07136c72cb9355091242455473ec15057c11430129bab38b7b3624019b8778d02a881c13de44d63cd02d122ee782fb519e1de7775b5b982 languageName: node linkType: hard @@ -8080,35 +8383,28 @@ __metadata: languageName: node linkType: hard -"undici-types@npm:~6.19.2": - version: 6.19.8 - resolution: "undici-types@npm:6.19.8" - checksum: 10c0/078afa5990fba110f6824823ace86073b4638f1d5112ee26e790155f481f2a868cc3e0615505b6f4282bdf74a3d8caad715fd809e870c2bb0704e3ea6082f344 +"undici-types@npm:~6.20.0": + version: 6.20.0 + resolution: "undici-types@npm:6.20.0" + checksum: 10c0/68e659a98898d6a836a9a59e6adf14a5d799707f5ea629433e025ac90d239f75e408e2e5ff086afc3cace26f8b26ee52155293564593fbb4a2f666af57fc59bf languageName: node linkType: hard -"unique-filename@npm:^3.0.0": - version: 3.0.0 - resolution: "unique-filename@npm:3.0.0" +"unique-filename@npm:^4.0.0": + version: 4.0.0 + resolution: "unique-filename@npm:4.0.0" dependencies: - unique-slug: "npm:^4.0.0" - checksum: 10c0/6363e40b2fa758eb5ec5e21b3c7fb83e5da8dcfbd866cc0c199d5534c42f03b9ea9ab069769cc388e1d7ab93b4eeef28ef506ab5f18d910ef29617715101884f + unique-slug: "npm:^5.0.0" + checksum: 10c0/38ae681cceb1408ea0587b6b01e29b00eee3c84baee1e41fd5c16b9ed443b80fba90c40e0ba69627e30855570a34ba8b06702d4a35035d4b5e198bf5a64c9ddc languageName: node linkType: hard -"unique-slug@npm:^4.0.0": - version: 4.0.0 - resolution: "unique-slug@npm:4.0.0" +"unique-slug@npm:^5.0.0": + version: 5.0.0 + resolution: "unique-slug@npm:5.0.0" dependencies: imurmurhash: "npm:^0.1.4" - checksum: 10c0/cb811d9d54eb5821b81b18205750be84cb015c20a4a44280794e915f5a0a70223ce39066781a354e872df3572e8155c228f43ff0cce94c7cbf4da2cc7cbdd635 - languageName: node - linkType: hard - -"universalify@npm:^2.0.0": - version: 2.0.1 - resolution: "universalify@npm:2.0.1" - checksum: 10c0/73e8ee3809041ca8b818efb141801a1004e3fc0002727f1531f4de613ea281b494a40909596dae4a042a4fb6cd385af5d4db2e137b1362e0e91384b828effd3a + checksum: 10c0/d324c5a44887bd7e105ce800fcf7533d43f29c48757ac410afd42975de82cc38ea2035c0483f4de82d186691bf3208ef35c644f73aa2b1b20b8e651be5afd293 languageName: node linkType: hard @@ -8119,17 +8415,17 @@ __metadata: languageName: node linkType: hard -"update-browserslist-db@npm:^1.1.0": - version: 1.1.0 - resolution: "update-browserslist-db@npm:1.1.0" +"update-browserslist-db@npm:^1.1.1": + version: 1.1.2 + resolution: "update-browserslist-db@npm:1.1.2" dependencies: - escalade: "npm:^3.1.2" - picocolors: "npm:^1.0.1" + escalade: "npm:^3.2.0" + picocolors: "npm:^1.1.1" peerDependencies: browserslist: ">= 4.21.0" bin: update-browserslist-db: cli.js - checksum: 10c0/a7452de47785842736fb71547651c5bbe5b4dc1e3722ccf48a704b7b34e4dcf633991eaa8e4a6a517ffb738b3252eede3773bef673ef9021baa26b056d63a5b9 + checksum: 10c0/9cb353998d6d7d6ba1e46b8fa3db888822dd972212da4eda609d185eb5c3557a93fd59780ceb757afd4d84240518df08542736969e6a5d6d6ce2d58e9363aac6 languageName: node linkType: hard @@ -8142,19 +8438,12 @@ __metadata: languageName: node linkType: hard -"urlpattern-polyfill@npm:10.0.0": - version: 10.0.0 - resolution: "urlpattern-polyfill@npm:10.0.0" - checksum: 10c0/43593f2a89bd54f2d5b5105ef4896ac5c5db66aef723759fbd15cd5eb1ea6cdae9d112e257eda9bbc3fb0cd90be6ac6e9689abe4ca69caa33114f42a27363531 - languageName: node - linkType: hard - -"use-sync-external-store@npm:^1.0.0": - version: 1.2.2 - resolution: "use-sync-external-store@npm:1.2.2" +"use-sync-external-store@npm:^1.4.0": + version: 1.4.0 + resolution: "use-sync-external-store@npm:1.4.0" peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 10c0/23b1597c10adf15b26ade9e8c318d8cc0abc9ec0ab5fc7ca7338da92e89c2536abd150a5891bf076836c352fdfa104fc7231fb48f806fd9960e0cbe03601abaf + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + checksum: 10c0/ec011a5055962c0f6b509d6e78c0b143f8cd069890ae370528753053c55e3b360d3648e76cfaa854faa7a59eb08d6c5fb1015e60ffde9046d32f5b2a295acea5 languageName: node linkType: hard @@ -8189,21 +8478,21 @@ __metadata: linkType: hard "vite-plugin-svgr@npm:^4.2.0": - version: 4.2.0 - resolution: "vite-plugin-svgr@npm:4.2.0" + version: 4.3.0 + resolution: "vite-plugin-svgr@npm:4.3.0" dependencies: - "@rollup/pluginutils": "npm:^5.0.5" + "@rollup/pluginutils": "npm:^5.1.3" "@svgr/core": "npm:^8.1.0" "@svgr/plugin-jsx": "npm:^8.1.0" peerDependencies: - vite: ^2.6.0 || 3 || 4 || 5 - checksum: 10c0/0a6400f20905f53d08f1ce7d1f22d9a57db403e110e790f80c2e0411a0064a071a36b781f56f6823654f98052219171003f9ea023d4a31d930b4a4fc01776d1f + vite: ">=2.6.0" + checksum: 10c0/a73f10d319f72cd8c16bf9701cf18170f2300f98c72c6bf939565de0b1e93916bd70c6f5a446dc034b4405c72d382655c7c16be4bd1cbf35bbcde5febf7aeffc languageName: node linkType: hard "vite-tsconfig-paths@npm:^5.0.1": - version: 5.0.1 - resolution: "vite-tsconfig-paths@npm:5.0.1" + version: 5.1.4 + resolution: "vite-tsconfig-paths@npm:5.1.4" dependencies: debug: "npm:^4.1.1" globrex: "npm:^0.1.2" @@ -8213,13 +8502,13 @@ __metadata: peerDependenciesMeta: vite: optional: true - checksum: 10c0/3c68a4d5df21ed4ef81749c20e91c5978989ed06bffc01688b3f1a0fe65951b461a68f0c017ad930a088cfe7a8cc04d0c8d955dfb8719d5edc7fb0ba9bf38a73 + checksum: 10c0/6228f23155ea25d92b1e1702284cf8dc52ad3c683c5ca691edd5a4c82d2913e7326d00708cef1cbfde9bb226261df0e0a12e03ef1d43b6a92d8f02b483ef37e3 languageName: node linkType: hard "vite@npm:^5.4.7": - version: 5.4.7 - resolution: "vite@npm:5.4.7" + version: 5.4.14 + resolution: "vite@npm:5.4.14" dependencies: esbuild: "npm:^0.21.3" fsevents: "npm:~2.3.3" @@ -8256,7 +8545,7 @@ __metadata: optional: true bin: vite: bin/vite.js - checksum: 10c0/0ca7ca60f71c61f3855bbabf7e33909bec32933b35914d4d281813c728183e78e7ce5be05735a7671df3a994613d3881f520a32a80715faa92effb28deee9320 + checksum: 10c0/8842933bd70ca6a98489a0bb9c8464bec373de00f9a97c8c7a4e64b24d15c88bfaa8c1acb38a68c3e5eb49072ffbccb146842c2d4edcdd036a9802964cffe3d1 languageName: node linkType: hard @@ -8268,9 +8557,9 @@ __metadata: linkType: hard "web-vitals@npm:^4.2.3": - version: 4.2.3 - resolution: "web-vitals@npm:4.2.3" - checksum: 10c0/905bdb9434f365435c3c00e5f473ce088980fcd61068906e20a575bae9590e1cc28dab0f90958c66717591e2f4c9b809ec8025cef5796fa4bc1304d50332f125 + version: 4.2.4 + resolution: "web-vitals@npm:4.2.4" + checksum: 10c0/383c9281d5b556bcd190fde3c823aeb005bb8cf82e62c75b47beb411014a4ed13fa5c5e0489ed0f1b8d501cd66b0bebcb8624c1a75750bd5df13e2a3b1b2d194 languageName: node linkType: hard @@ -8314,36 +8603,37 @@ __metadata: languageName: node linkType: hard -"which-boxed-primitive@npm:^1.0.2": - version: 1.0.2 - resolution: "which-boxed-primitive@npm:1.0.2" +"which-boxed-primitive@npm:^1.1.0, which-boxed-primitive@npm:^1.1.1": + version: 1.1.1 + resolution: "which-boxed-primitive@npm:1.1.1" dependencies: - is-bigint: "npm:^1.0.1" - is-boolean-object: "npm:^1.1.0" - is-number-object: "npm:^1.0.4" - is-string: "npm:^1.0.5" - is-symbol: "npm:^1.0.3" - checksum: 10c0/0a62a03c00c91dd4fb1035b2f0733c341d805753b027eebd3a304b9cb70e8ce33e25317add2fe9b5fea6f53a175c0633ae701ff812e604410ddd049777cd435e + is-bigint: "npm:^1.1.0" + is-boolean-object: "npm:^1.2.1" + is-number-object: "npm:^1.1.1" + is-string: "npm:^1.1.1" + is-symbol: "npm:^1.1.1" + checksum: 10c0/aceea8ede3b08dede7dce168f3883323f7c62272b49801716e8332ff750e7ae59a511ae088840bc6874f16c1b7fd296c05c949b0e5b357bfe3c431b98c417abe languageName: node linkType: hard -"which-builtin-type@npm:^1.1.3": - version: 1.1.4 - resolution: "which-builtin-type@npm:1.1.4" +"which-builtin-type@npm:^1.2.1": + version: 1.2.1 + resolution: "which-builtin-type@npm:1.2.1" dependencies: + call-bound: "npm:^1.0.2" function.prototype.name: "npm:^1.1.6" has-tostringtag: "npm:^1.0.2" is-async-function: "npm:^2.0.0" - is-date-object: "npm:^1.0.5" - is-finalizationregistry: "npm:^1.0.2" + is-date-object: "npm:^1.1.0" + is-finalizationregistry: "npm:^1.1.0" is-generator-function: "npm:^1.0.10" - is-regex: "npm:^1.1.4" + is-regex: "npm:^1.2.1" is-weakref: "npm:^1.0.2" isarray: "npm:^2.0.5" - which-boxed-primitive: "npm:^1.0.2" + which-boxed-primitive: "npm:^1.1.0" which-collection: "npm:^1.0.2" - which-typed-array: "npm:^1.1.15" - checksum: 10c0/a4a76d20d869a81b1dbb4adea31edc7e6c1a4466d3ab7c2cd757c9219d48d3723b04076c85583257b0f0f8e3ebe5af337248b8ceed57b9051cb97bce5bd881d1 + which-typed-array: "npm:^1.1.16" + checksum: 10c0/8dcf323c45e5c27887800df42fbe0431d0b66b1163849bb7d46b5a730ad6a96ee8bfe827d078303f825537844ebf20c02459de41239a0a9805e2fcb3cae0d471 languageName: node linkType: hard @@ -8359,16 +8649,17 @@ __metadata: languageName: node linkType: hard -"which-typed-array@npm:^1.1.14, which-typed-array@npm:^1.1.15": - version: 1.1.15 - resolution: "which-typed-array@npm:1.1.15" +"which-typed-array@npm:^1.1.16, which-typed-array@npm:^1.1.18": + version: 1.1.18 + resolution: "which-typed-array@npm:1.1.18" dependencies: available-typed-arrays: "npm:^1.0.7" - call-bind: "npm:^1.0.7" + call-bind: "npm:^1.0.8" + call-bound: "npm:^1.0.3" for-each: "npm:^0.3.3" - gopd: "npm:^1.0.1" + gopd: "npm:^1.2.0" has-tostringtag: "npm:^1.0.2" - checksum: 10c0/4465d5348c044032032251be54d8988270e69c6b7154f8fcb2a47ff706fe36f7624b3a24246b8d9089435a8f4ec48c1c1025c5d6b499456b9e5eff4f48212983 + checksum: 10c0/0412f4a91880ca1a2a63056187c2e3de6b129b2b5b6c17bc3729f0f7041047ae48fb7424813e51506addb2c97320003ee18b8c57469d2cde37983ef62126143c languageName: node linkType: hard @@ -8394,14 +8685,14 @@ __metadata: languageName: node linkType: hard -"which@npm:^4.0.0": - version: 4.0.0 - resolution: "which@npm:4.0.0" +"which@npm:^5.0.0": + version: 5.0.0 + resolution: "which@npm:5.0.0" dependencies: isexe: "npm:^3.1.1" bin: node-which: bin/which.js - checksum: 10c0/449fa5c44ed120ccecfe18c433296a4978a7583bf2391c50abce13f76878d2476defde04d0f79db8165bdf432853c1f8389d0485ca6e8ebce3bbcded513d5e6a + checksum: 10c0/e556e4cd8b7dbf5df52408c9a9dd5ac6518c8c5267c8953f5b0564073c66ed5bf9503b14d876d0e9c7844d4db9725fb0dcf45d6e911e17e26ab363dc3965ae7b languageName: node linkType: hard @@ -8476,8 +8767,8 @@ __metadata: linkType: hard "ws@npm:^8.18.0": - version: 8.18.0 - resolution: "ws@npm:8.18.0" + version: 8.18.1 + resolution: "ws@npm:8.18.1" peerDependencies: bufferutil: ^4.0.1 utf-8-validate: ">=5.0.2" @@ -8486,7 +8777,7 @@ __metadata: optional: true utf-8-validate: optional: true - checksum: 10c0/25eb33aff17edcb90721ed6b0eb250976328533ad3cd1a28a274bd263682e7296a6591ff1436d6cbc50fa67463158b062f9d1122013b361cec99a05f84680e06 + checksum: 10c0/e498965d6938c63058c4310ffb6967f07d4fa06789d3364829028af380d299fe05762961742971c764973dce3d1f6a2633fe8b2d9410c9b52e534b4b882a99fa languageName: node linkType: hard @@ -8511,6 +8802,13 @@ __metadata: languageName: node linkType: hard +"yallist@npm:^5.0.0": + version: 5.0.0 + resolution: "yallist@npm:5.0.0" + checksum: 10c0/a499c81ce6d4a1d260d4ea0f6d49ab4da09681e32c3f0472dee16667ed69d01dae63a3b81745a24bd78476ec4fcf856114cb4896ace738e01da34b2c42235416 + languageName: node + linkType: hard + "yargs-parser@npm:^21.1.1": version: 21.1.1 resolution: "yargs-parser@npm:21.1.1" @@ -8564,11 +8862,11 @@ __metadata: languageName: node linkType: hard -"zrender@npm:5.6.0": - version: 5.6.0 - resolution: "zrender@npm:5.6.0" +"zrender@npm:5.6.1": + version: 5.6.1 + resolution: "zrender@npm:5.6.1" dependencies: tslib: "npm:2.3.0" - checksum: 10c0/f7c5a1739dfec60b9bead0d0657c47868391b1009cc82a603f9dbf247fa625df28dcdb3e7b2e18404657e2c987f95e0e1bb5613519c2d823854f3dda44e2ee96 + checksum: 10c0/dc1cc570054640cbd8fbb7b92e6252f225319522bfe3e8dc8bf02cc02d414e00a4c8d0a6f89bfc9d96e5e9511fdca94dd3d06bf53690df2b2f12b0fc560ac307 languageName: node linkType: hard