From 4a98832cc61102111b6528d0ba0d78280871983d Mon Sep 17 00:00:00 2001
From: BNWEIN
Date: Thu, 29 Feb 2024 16:12:44 +0000
Subject: [PATCH 01/25] Made a start on adding "New User" attributes in "User
Settings"
one for @JohnDuprey / @KelvinTegelaar the superheroes to finish off!
---
src/store/features/app.js | 4 ++
src/views/cipp/UserSettings.jsx | 122 +++++++++++++++++++++++++++++++-
2 files changed, 125 insertions(+), 1 deletion(-)
diff --git a/src/store/features/app.js b/src/store/features/app.js
index 285ef9623269..8325058bf3f0 100644
--- a/src/store/features/app.js
+++ b/src/store/features/app.js
@@ -47,6 +47,9 @@ export const appSlice = createSlice({
setOffboardingDefaults: (state, action) => {
state.offboardingDefaults = action.payload?.offboardingDefaults
},
+ setNewUserDefaults: (state, action) => {
+ state.setNewUserDefaults = action.payload?.setNewUserDefaults
+ },
setUserSettings: (state, action) => {
//foreach key in the userSettings, set the state key to the value of that setting
Object.keys(action.payload?.userSettings).forEach((key) => {
@@ -67,6 +70,7 @@ export const {
setDefaultusageLocation,
setReportImage,
setOffboardingDefaults,
+ setNewUserDefaults,
setUserSettings,
} = appSlice.actions
diff --git a/src/views/cipp/UserSettings.jsx b/src/views/cipp/UserSettings.jsx
index bac284828d9f..9b1a42b690d1 100644
--- a/src/views/cipp/UserSettings.jsx
+++ b/src/views/cipp/UserSettings.jsx
@@ -65,7 +65,7 @@ import {
import CippCodeOffCanvas from 'src/components/utilities/CippCodeOffcanvas'
import ReportImage from 'src/components/utilities/ReportImage'
import { useLoadClientPrincipalQuery } from 'src/store/api/auth'
-import { setOffboardingDefaults } from 'src/store/features/app'
+import { setOffboardingDefaults, setNewUserDefaults } from 'src/store/features/app'
const Offcanvas = (row, rowIndex, formatExtraData) => {
const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery()
@@ -122,6 +122,80 @@ const Offcanvas = (row, rowIndex, formatExtraData) => {
}
const UserSettings = () => {
+ const tenant = useSelector((state) => state.app.currentTenant)
+ const [addedAttributes, setAddedAttribute] = React.useState(0)
+ const [random3, setRandom3] = useState('')
+ const availableProperties = useGenericGetRequestQuery({
+ path: '/api/ListGraphRequest',
+ params: {
+ Endpoint: 'users',
+ ListProperties: true,
+ TenantFilter: tenant.defaultDomainName,
+ IgnoreErrors: true,
+ },
+ })
+ const exclusionList = [
+ 'id',
+ 'accountEnabled',
+ 'deletedDateTime',
+ 'ageGroup',
+ 'businessPhones',
+ 'city',
+ 'createdDateTime',
+ 'creationType',
+ 'companyName',
+ 'country',
+ 'department',
+ 'displayName',
+ 'givenName',
+ 'imAddresses',
+ 'infoCatalogs',
+ 'isLicenseReconciliationNeeded',
+ 'isManagementRestricted',
+ 'isResourceAccount',
+ 'jobTitle',
+ 'mail',
+ 'mailNickname',
+ 'mobilePhone',
+ 'onPremisesDistinguishedName',
+ 'onPremisesDomainName',
+ 'onPremisesImmutableId',
+ 'onPremisesLastSyncDateTime',
+ 'onPremisesObjectIdentifier',
+ 'onPremisesSecurityIdentifier',
+ 'onPremisesSamAccountName',
+ 'onPremisesSyncEnabled',
+ 'onPremisesUserPrincipalName',
+ 'passwordPolicies',
+ 'postalCode',
+ 'preferredDataLocation',
+ 'preferredLanguage',
+ 'proxyAddresses',
+ 'refreshTokensValidFromDateTime',
+ 'securityIdentifier',
+ 'signInSessionsValidFromDateTime',
+ 'streetAddress',
+ 'surname',
+ 'usageLocation',
+ 'userPrincipalName',
+ 'externalUserConvertedOn',
+ 'externalUserState',
+ 'externalUserStateChangeDateTime',
+ 'userType',
+ 'employeeOrgData',
+ 'assignedLicenses',
+ 'assignedPlans',
+ 'authorizationInfo',
+ 'cloudRealtimeCommunicationInfo',
+ 'deviceKeys',
+ 'identities',
+ 'onPremisesExtensionAttributes',
+ 'onPremisesProvisioningErrors',
+ 'onPremisesSipInfo',
+ 'passwordProfile',
+ 'provisionedPlans',
+ 'serviceProvisioningErrors',
+ ]
const [genericPostRequest, postResults] = useLazyGenericPostRequestQuery()
const { data: profile, isFetching, isLoading } = useLoadClientPrincipalQuery()
const dispatch = useDispatch()
@@ -129,6 +203,7 @@ const UserSettings = () => {
const onSubmit = (values) => {
dispatch(setOffboardingDefaults({ offboardingDefaults: values }))
+ dispatch(setNewUserDefaults({ NewUserDefaults: values.name }))
const shippedvalues = {
user: values.user,
currentSettings: currentSettings,
@@ -201,6 +276,51 @@ const UserSettings = () => {
/>
+
+ New User Attribute Defaults
+
+ !exclusionList.includes(prop),
+ )?.map((prop) => ({
+ name: prop,
+ value: prop,
+ })) ?? []
+ }
+ allowCreate={true}
+ refreshFunction={() =>
+ setRandom3((Math.random() + 1).toString(36).substring(7))
+ }
+ isLoading={availableProperties.isFetching}
+ />
+
+
+
+ {addedAttributes > 0 && (
+ setAddedAttribute(addedAttributes - 1)}
+ className={`circular-button`}
+ title={'-'}
+ >
+
+
+ )}
+ setAddedAttribute(addedAttributes + 1)}
+ className={`circular-button`}
+ title={'+'}
+ >
+
+
+
+
+
Date: Tue, 5 Mar 2024 13:20:51 -0800
Subject: [PATCH 02/25] Settings refactor, CippCallout wip
---
src/adminRoutes.js | 27 +-
src/components/utilities/CippCallout.jsx | 47 +
src/components/utilities/CippLazy.jsx | 19 +
src/components/utilities/index.js | 2 +
src/views/cipp/CIPPSettings.jsx | 2157 -----------------
src/views/cipp/app-settings/CIPPSettings.jsx | 93 +
.../cipp/app-settings/SettingsBackend.jsx | 251 ++
.../SettingsExtensionMappings.jsx | 279 +++
.../cipp/app-settings/SettingsExtensions.jsx | 203 ++
.../cipp/app-settings/SettingsGeneral.jsx | 453 ++++
.../cipp/app-settings/SettingsLicenses.jsx | 134 +
.../cipp/app-settings/SettingsMaintenance.jsx | 161 ++
.../app-settings/SettingsNotifications.jsx | 178 ++
.../cipp/app-settings/SettingsTenants.jsx | 285 +++
.../app-settings/components/SettingsDNS.jsx | 217 ++
.../components/SettingsPassword.jsx | 66 +
.../administration/EditMailboxPermissions.jsx | 45 +-
17 files changed, 2427 insertions(+), 2190 deletions(-)
create mode 100644 src/components/utilities/CippCallout.jsx
create mode 100644 src/components/utilities/CippLazy.jsx
delete mode 100644 src/views/cipp/CIPPSettings.jsx
create mode 100644 src/views/cipp/app-settings/CIPPSettings.jsx
create mode 100644 src/views/cipp/app-settings/SettingsBackend.jsx
create mode 100644 src/views/cipp/app-settings/SettingsExtensionMappings.jsx
create mode 100644 src/views/cipp/app-settings/SettingsExtensions.jsx
create mode 100644 src/views/cipp/app-settings/SettingsGeneral.jsx
create mode 100644 src/views/cipp/app-settings/SettingsLicenses.jsx
create mode 100644 src/views/cipp/app-settings/SettingsMaintenance.jsx
create mode 100644 src/views/cipp/app-settings/SettingsNotifications.jsx
create mode 100644 src/views/cipp/app-settings/SettingsTenants.jsx
create mode 100644 src/views/cipp/app-settings/components/SettingsDNS.jsx
create mode 100644 src/views/cipp/app-settings/components/SettingsPassword.jsx
diff --git a/src/adminRoutes.js b/src/adminRoutes.js
index ece783822eff..2f6f666ab905 100644
--- a/src/adminRoutes.js
+++ b/src/adminRoutes.js
@@ -1,5 +1,6 @@
import React from 'react'
-const CIPPSettings = React.lazy(() => import('src/views/cipp/CIPPSettings'))
+
+const CIPPSettings = React.lazy(() => import('src/views/cipp/app-settings/CIPPSettings'))
const Setup = React.lazy(() => import('src/views/cipp/Setup'))
const ApplyStandard = React.lazy(() => import('src/views/tenant/standards/ListStandards'))
const GDAPStatus = React.lazy(() => import('src/views/tenant/administration/ListGDAPQueue'))
@@ -25,7 +26,11 @@ const adminRoutes = [
{ path: '/cipp/setup', name: 'Setup', component: Setup },
{ path: '/tenant/administration/gdap', name: 'GDAP Wizard', component: GDAP },
- { path: '/tenant/administration/gdap-invite', name: 'GDAP Invite Wizard', component: GDAPInvite },
+ {
+ path: '/tenant/administration/gdap-invite',
+ name: 'GDAP Invite Wizard',
+ component: GDAPInvite,
+ },
{
path: '/tenant/administration/gdap-role-wizard',
name: 'GDAP Role Wizard',
@@ -41,9 +46,21 @@ const adminRoutes = [
name: 'GDAP Relationships',
component: GDAPRelationships,
},
- { path: '/tenant/administration/appapproval', name: 'App Approval', component: appapproval },
- { path: '/tenant/administration/gdap-status', name: 'GDAP Status', component: GDAPStatus },
- { path: '/tenant/standards/list-standards', name: 'List Standard', component: ApplyStandard },
+ {
+ path: '/tenant/administration/appapproval',
+ name: 'App Approval',
+ component: appapproval,
+ },
+ {
+ path: '/tenant/administration/gdap-status',
+ name: 'GDAP Status',
+ component: GDAPStatus,
+ },
+ {
+ path: '/tenant/standards/list-standards',
+ name: 'List Standard',
+ component: ApplyStandard,
+ },
{
path: '/tenant/administration/tenant-offboarding-wizard',
name: 'Tenant Offboarding',
diff --git a/src/components/utilities/CippCallout.jsx b/src/components/utilities/CippCallout.jsx
new file mode 100644
index 000000000000..341725151cfb
--- /dev/null
+++ b/src/components/utilities/CippCallout.jsx
@@ -0,0 +1,47 @@
+import React, { useState } from 'react'
+import { CAlert } from '@coreui/react'
+import PropTypes from 'prop-types'
+import classNames from 'classnames'
+
+export function CippCallout({
+ children,
+ color = 'primary',
+ borderColor = 'primary',
+ dismissible = false,
+ ...rest
+}) {
+ const [open, setOpen] = useState(true)
+
+ const handleDismiss = () => setOpen(false)
+
+ return open ? (
+
+ {children}
+ {dismissible && (
+
+ )}
+
+ ) : null
+}
+
+CippCallout.propTypes = {
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
+ color: PropTypes.string,
+ borderColor: PropTypes.string,
+ dismissible: PropTypes.bool,
+}
+
+export default CippCallout
diff --git a/src/components/utilities/CippLazy.jsx b/src/components/utilities/CippLazy.jsx
new file mode 100644
index 000000000000..0f376e722ee6
--- /dev/null
+++ b/src/components/utilities/CippLazy.jsx
@@ -0,0 +1,19 @@
+import { useRef } from 'react'
+import PropTypes from 'prop-types'
+
+export function CippLazy({ visible, children }) {
+ const rendered = useRef(visible)
+
+ if (visible && !rendered.current) {
+ rendered.current = true
+ }
+
+ if (!rendered.current) return null
+
+ return {children}
+}
+
+CippLazy.propTypes = {
+ visible: PropTypes.bool,
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
+}
diff --git a/src/components/utilities/index.js b/src/components/utilities/index.js
index cf22133abbbc..5015ae24ad70 100644
--- a/src/components/utilities/index.js
+++ b/src/components/utilities/index.js
@@ -1,6 +1,7 @@
import CippActionsOffcanvas from 'src/components/utilities/CippActionsOffcanvas'
import CippCodeOffCanvas from 'src/components/utilities/CippCodeOffcanvas.jsx'
import CippCodeBlock from 'src/components/utilities/CippCodeBlock'
+import { CippLazy } from 'src/components/utilities/CippLazy'
import CippOffcanvas from 'src/components/utilities/CippOffcanvas'
import CippProfile from 'src/components/utilities/CippProfile'
import ErrorBoundary from 'src/components/utilities/ErrorBoundary'
@@ -21,6 +22,7 @@ export {
CippActionsOffcanvas,
CippCodeBlock,
CippCodeOffCanvas,
+ CippLazy,
CippOffcanvas,
CippProfile,
ErrorBoundary,
diff --git a/src/views/cipp/CIPPSettings.jsx b/src/views/cipp/CIPPSettings.jsx
deleted file mode 100644
index 89ff710941f1..000000000000
--- a/src/views/cipp/CIPPSettings.jsx
+++ /dev/null
@@ -1,2157 +0,0 @@
-import React, { useEffect, useRef, useState } from 'react'
-import {
- CButton,
- CButtonGroup,
- CCallout,
- CCard,
- CCardBody,
- CCardHeader,
- CCardTitle,
- CCol,
- CFormLabel,
- CNav,
- CNavItem,
- CRow,
- CTabContent,
- CTabPane,
- CForm,
- CListGroup,
- CListGroupItem,
- CLink,
- CSpinner,
- CCardText,
- CTooltip,
- CFormSwitch,
-} from '@coreui/react'
-import {
- useGenericGetRequestQuery,
- useLazyExecClearCacheQuery,
- useLazyExecNotificationConfigQuery,
- useLazyExecPermissionsAccessCheckQuery,
- useLazyExecTenantsAccessCheckQuery,
- useLazyGenericGetRequestQuery,
- useLazyGenericPostRequestQuery,
- useLazyListNotificationConfigQuery,
- useLoadVersionsQuery,
-} from 'src/store/api/app'
-import {
- useExecAddExcludeTenantMutation,
- useExecRemoveExcludeTenantMutation,
- useListTenantsQuery,
-} from 'src/store/api/tenants'
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import {
- faCheckCircle,
- faCircleNotch,
- faExclamationTriangle,
- faEye,
- faEyeSlash,
- faLink,
- faRecycle,
- faScroll,
- faTrash,
-} from '@fortawesome/free-solid-svg-icons'
-import { useLazyEditDnsConfigQuery, useLazyGetDnsConfigQuery } from 'src/store/api/domains'
-import { useDispatch, useSelector } from 'react-redux'
-import {
- CellBadge,
- cellBooleanFormatter,
- CellTip,
- CellTipIcon,
- CippTable,
-} from 'src/components/tables'
-import { CippPage, CippPageList } from 'src/components/layout'
-import {
- RFFCFormSwitch,
- RFFCFormInput,
- RFFCFormSelect,
- RFFSelectSearch,
-} from 'src/components/forms'
-import { Form } from 'react-final-form'
-import useConfirmModal from 'src/hooks/useConfirmModal'
-import { setCurrentTenant } from 'src/store/features/app'
-import {
- CippOffcanvas,
- CippCodeBlock,
- ModalService,
- StatusIcon,
- TenantSelectorMultiple,
-} from 'src/components/utilities'
-import CippListOffcanvas from 'src/components/utilities/CippListOffcanvas'
-import { TitleButton, TableModalButton } from 'src/components/buttons'
-import Skeleton from 'react-loading-skeleton'
-import { Buffer } from 'buffer'
-import Extensions from 'src/data/Extensions.json'
-import { CellDelegatedPrivilege } from 'src/components/tables/CellDelegatedPrivilege'
-import { cellTableFormatter } from 'src/components/tables/CellTable'
-import { cellGenericFormatter } from 'src/components/tables/CellGenericFormat'
-import PropTypes from 'prop-types'
-
-function Lazy({ visible, children }) {
- const rendered = useRef(visible)
-
- if (visible && !rendered.current) {
- rendered.current = true
- }
-
- if (!rendered.current) return null
-
- return {children}
-}
-
-Lazy.propTypes = {
- visible: PropTypes.bool,
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
-}
-
-const CIPPSettings = () => {
- const [active, setActive] = useState(1)
- return (
-
-
- setActive(1)} href="#">
- General
-
- setActive(2)} href="#">
- Tenants
-
- setActive(3)} href="#">
- Backend
-
- setActive(4)} href="#">
- Notifications
-
- setActive(5)} href="#">
- Licenses
-
- setActive(6)} href="#">
- Maintenance
-
- setActive(7)} href="#">
- Extensions
-
- setActive(8)} href="#">
- Extension Mappings
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- )
-}
-
-export default CIPPSettings
-
-const GeneralSettings = () => {
- const { data: tenants = [] } = useListTenantsQuery({ AllTenantSelector: false })
- const [checkPermissions, permissionsResult] = useLazyExecPermissionsAccessCheckQuery()
- const [checkGDAP, GDAPResult] = useLazyGenericGetRequestQuery()
-
- const [clearCache, clearCacheResult] = useLazyExecClearCacheQuery()
- const [checkAccess, accessCheckResult] = useLazyExecTenantsAccessCheckQuery()
- const [selectedTenants, setSelectedTenants] = useState([])
- const [showMaxSelected, setShowMaxSelected] = useState(false)
- const [tokenOffcanvasVisible, setTokenOffcanvasVisible] = useState(false)
- const [showExtendedInfo, setShowExtendedInfo] = useState(true)
-
- const maxSelected = 2
- const tenantSelectorRef = useRef(null)
-
- const handleSetSelectedTenants = (value) => {
- if (value.length <= maxSelected) {
- setSelectedTenants(value)
- setShowMaxSelected(false)
- } else {
- setSelectedTenants(value)
- setShowMaxSelected(true)
- }
- }
-
- const checkAccessColumns = [
- {
- name: 'Tenant Domain',
- selector: (row) => row['TenantName'],
- grow: 0,
- cell: cellGenericFormatter(),
- },
- {
- name: 'Result',
- selector: (row) => row['Status'],
- minWidth: '380px',
- maxWidth: '380px',
- cell: cellGenericFormatter(),
- },
- {
- name: 'Missing GDAP Roles',
- selector: (row) => row?.MissingRoles,
- cell: cellTableFormatter('MissingRoles', true, false, true),
- },
- {
- name: 'Roles available',
- selector: (row) => row?.GDAPRoles,
- cell: cellTableFormatter('GDAPRoles', false, true),
- omit: showExtendedInfo,
- exportSelector: 'GDAPRoles',
- },
- {
- name: 'SAM User Roles',
- selector: (row) => row?.SAMUserRoles,
- cell: cellTableFormatter('SAMUserRoles', false, true),
- omit: showExtendedInfo,
- exportSelector: 'SAMUserRoles',
- },
- ]
-
- const checkGDAPColumns = [
- {
- name: 'Tenant',
- selector: (row) => row['Tenant'],
- sortable: true,
- cell: cellGenericFormatter(),
- minWidth: '200px',
- maxWidth: '200px',
- },
- {
- name: 'Error Type',
- selector: (row) => row['Type'],
- sortable: true,
- cell: cellGenericFormatter(),
- minWidth: '100px',
- maxWidth: '100px',
- },
- {
- name: 'Issue',
- selector: (row) => row?.Issue,
- sortable: true,
- cell: cellGenericFormatter(),
- },
- {
- name: 'Resolution Link',
- sortable: true,
- selector: (row) => row?.Link,
- cell: cellGenericFormatter(),
- },
- {
- name: 'Relationship ID',
- sortable: true,
- selector: (row) => row?.Relationship,
- cell: cellGenericFormatter(),
- },
- ]
-
- const handleCheckAccess = () => {
- const mapped = tenants.reduce(
- (current, { customerId, ...rest }) => ({
- ...current,
- [customerId]: { ...rest },
- }),
- {},
- )
- const AllTenantSelector = selectedTenants.map(
- (customerId) => mapped[customerId].defaultDomainName,
- )
- checkAccess({ tenantDomains: AllTenantSelector })
- }
-
- function getTokenOffcanvasProps({ tokenResults }) {
- let tokenDetails = tokenResults.AccessTokenDetails
- let helpLinks = tokenResults.Links
- let tokenOffcanvasGroups = []
- if (tokenDetails?.Name !== '') {
- let tokenItems = []
- let tokenOffcanvasGroup = {}
- tokenItems.push({
- heading: 'User',
- content: tokenDetails?.Name,
- })
- tokenItems.push({
- heading: 'UPN',
- content: tokenDetails?.UserPrincipalName,
- })
- tokenItems.push({
- heading: 'App Registration',
- content: (
-
- {tokenDetails?.AppName}
-
- ),
- })
- tokenItems.push({
- heading: 'IP Address',
- content: tokenDetails?.IPAddress,
- })
- tokenItems.push({
- heading: 'Auth Methods',
- content: tokenDetails?.AuthMethods.join(', '),
- })
- tokenItems.push({
- heading: 'Tenant ID',
- content: tokenDetails?.TenantId,
- })
- tokenOffcanvasGroup.items = tokenItems
- tokenOffcanvasGroup.title = 'Claims'
- tokenOffcanvasGroups.push(tokenOffcanvasGroup)
- }
-
- if (helpLinks.length > 0) {
- let linkItems = []
- let linkItemGroup = {}
- helpLinks.map((link, idx) =>
- linkItems.push({
- heading: '',
- content: (
-
- {link.Text}
-
- ),
- }),
- )
- linkItemGroup.title = 'Help Links'
- linkItemGroup.items = linkItems
- if (linkItemGroup.items.length > 0) {
- tokenOffcanvasGroups.push(linkItemGroup)
- }
- }
-
- return tokenOffcanvasGroups
- }
-
- const tableProps = {
- pagination: false,
- actions: [
- {
- console.log(e)
- setShowExtendedInfo(!e.target.checked)
- }}
- key={'Show Extended Info'}
- />,
- ],
- }
-
- return (
-
-
-
-
-
-
-
-
-
-
-
- Permissions Check
- Click the button below to start a permissions check.
- checkPermissions()}
- disabled={permissionsResult.isFetching}
- className="mb-3 me-2"
- >
- {permissionsResult.isFetching && (
-
- )}
- Run Permissions Check
-
- {permissionsResult.isSuccess && (
- <>
- {permissionsResult.data.Results?.AccessTokenDetails?.Name !== '' && (
- <>
- setTokenOffcanvasVisible(true)}>
- Details
-
- setTokenOffcanvasVisible(false)}
- />
- >
- )}
-
- {permissionsResult.data.Results?.Messages && (
- <>
- {permissionsResult.data.Results?.Messages?.map((m, idx) => (
- {m}
- ))}
- >
- )}
- {permissionsResult.data.Results?.MissingPermissions.length > 0 && (
- <>
- Your Secure Application Model is missing the following permissions. See the
- documentation on how to add permissions{' '}
-
- here
-
- .
-
- {permissionsResult.data.Results?.MissingPermissions?.map((r, index) => (
- {r}
- ))}
-
- >
- )}
-
- >
- )}
-
-
-
-
-
-
-
- GDAP Check
- Click the button below to start a check for general GDAP settings.
- checkGDAP({ path: '/api/ExecAccessChecks?GDAP=true' })}
- disabled={GDAPResult.isFetching}
- className="mb-3 me-2"
- >
- {GDAPResult.isFetching && (
-
- )}
- Run GDAP Check
-
- {GDAPResult.isSuccess && (
- <>
- p['@odata.type'] == '#microsoft.graph.group',
- )}
- title="Groups"
- />
- p['@odata.type'] == '#microsoft.graph.directoryRole',
- )}
- title="Roles"
- />
- >
- )}
-
-
- {GDAPResult.isSuccess && GDAPResult.data.Results.GDAPIssues?.length > 0 && (
- <>
- {GDAPResult.data.Results.GDAPIssues?.filter((e) => e.Type === 'Error')
- .length > 0 && (
-
- Relationship errors detected. Review the table below for more details.
-
- )}
- {GDAPResult.data.Results.GDAPIssues?.filter((e) => e.Type === 'Warning')
- .length > 0 && (
-
- Relationship warnings detected. Review the table below for more details.
-
- )}
-
- >
- )}
- {GDAPResult.isSuccess && GDAPResult.data.Results.GDAPIssues?.length === 0 && (
-
- No relationships with issues found. Please perform a Permissions Check or
- Tenant Access Check if you are experiencing issues.
-
- )}
-
-
-
-
-
-
-
-
-
-
-
- Tenant Access Check
-
-
-
- Click the button below to start a tenant access check. You can select multiple,
- but a maximum of {maxSelected + 1} tenants is recommended.
-
-
-
- handleSetSelectedTenants(
- value.map((val) => {
- return val.value
- }),
- )
- }
- />
- {showMaxSelected && (
-
- A maximum of {maxSelected + 1} tenants is recommended.
-
- )}
-
-
-
-
-
- handleCheckAccess()}
- disabled={accessCheckResult.isFetching || selectedTenants.length < 1}
- >
- {accessCheckResult.isFetching && (
-
- )}
- Run access check
-
-
-
-
-
- {accessCheckResult.isSuccess && (
-
- )}
-
-
-
-
-
-
-
- )
-}
-
-const ExcludedTenantsSettings = () => {
- const dispatch = useDispatch()
- const currentTenant = useSelector((state) => state.app.currentTenant)
- const [removeExcludeTenant, removeExcludeTenantResult] = useExecRemoveExcludeTenantMutation()
- const [addExcludeTenant, addExcludeTenantResult] = useExecAddExcludeTenantMutation()
- const [refreshPermissions, refreshPermissionsResults] = useLazyGenericGetRequestQuery()
-
- // const [selectedTenant, setSelectedTenant] = useState()
- const selectedTenant = useRef()
-
- useEffect(() => {
- // if a tenant is already selected and that's the tenant the
- // user wants to exclude, we need to set that to the current state
- selectedTenant.current = currentTenant
- // eslint-disable-next-line react-hooks/exhaustive-deps
- }, [])
-
- const handleRemoveExclusion = (domain) =>
- ModalService.confirm({
- title: 'Remove Exclusion',
- body: Are you sure you want to remove the exclusion for {domain}?
,
- onConfirm: () => removeExcludeTenant(domain),
- })
-
- const handleCPVPermissions = (domain, resetsp = false) =>
- ModalService.confirm({
- title: 'Refresh Permissions',
- body: Are you sure you want to refresh permissions for {domain.defaultDomainName}?
,
- onConfirm: () =>
- refreshPermissions({
- path: `/api/ExecCPVPermissions?TenantFilter=${domain.customerId}&ResetSP=${resetsp}`,
- }),
- })
- const handleConfirmExcludeTenant = (tenant) => {
- ModalService.confirm({
- title: 'Exclude Tenant',
- body: Are you sure you want to exclude this tenant?
,
- onConfirm: () => addExcludeTenant(tenant),
- })
- .unwrap()
- .then(() => {
- dispatch(setCurrentTenant({}))
- })
- }
-
- const handleExcludeTenant = (selected) => {
- ModalService.confirm({
- body: (
-
-
Select a tenant to exclude
-
(selected = tenant)} />
-
- ),
- title: 'Add Exclusion',
- onConfirm: () => handleConfirmExcludeTenant(selected),
- })
- }
- const titleButton = (
- handleExcludeTenant(selectedTenant)}
- >
- Add Excluded Tenant
-
- )
-
- function StatusIcon(graphErrorCount) {
- if (graphErrorCount > 0) {
- return
- } else {
- return
- }
- }
-
- function StatusText(graphErrorCount, lastGraphError) {
- if (graphErrorCount > 0) {
- return 'Error Count: ' + graphErrorCount + ' - Last Error: ' + lastGraphError
- } else {
- return 'No errors detected with this tenant'
- }
- }
-
- const Offcanvas = (row, rowIndex, formatExtraData) => {
- return (
- <>
- {row.Excluded && (
-
- handleRemoveExclusion(row.defaultDomainName)}
- >
-
-
-
- )}
- {!row.Excluded && (
-
- handleConfirmExcludeTenant({ value: row.customerId })}
- >
-
-
-
- )}
-
- handleCPVPermissions(row, false)}
- >
-
-
-
- >
- )
- }
- const columns = [
- {
- name: 'Name',
- selector: (row) => row['displayName'],
- sortable: true,
- cell: (row) => CellTip(row['displayName']),
- exportSelector: 'displayName',
- },
- {
- name: 'Default Domain',
- selector: (row) => row['defaultDomainName'],
- sortable: true,
- cell: (row) => CellTip(row['defaultDomainName']),
- exportSelector: 'defaultDomainName',
- },
- {
- name: 'Excluded',
- selector: (row) => row['Excluded'],
- sortable: true,
- cell: cellBooleanFormatter({ colourless: true }),
- exportSelector: 'Excluded',
- maxWidth: '100px',
- minWidth: '100px',
- },
- {
- name: 'Exclude Date',
- selector: (row) => row['ExcludeDate'],
- sortable: true,
- exportSelector: 'ExcludeDate',
- maxWidth: '150px',
- minWidth: '150px',
- },
- {
- name: 'Exclude User',
- selector: (row) => row['ExcludeUser'],
- sortable: true,
- exportSelector: 'ExcludeUser',
- maxWidth: '130px',
- minWidth: '130px',
- },
- {
- name: 'Actions',
- cell: Offcanvas,
- maxWidth: '80px',
- },
- ]
- return (
- <>
- {(refreshPermissionsResults.isFetching || removeExcludeTenantResult.isFetching) && (
-
-
-
- )}
- {removeExcludeTenantResult.isSuccess && (
-
- {removeExcludeTenantResult.data?.Results}
-
- )}
- {refreshPermissionsResults.isSuccess &&
- refreshPermissionsResults.data?.Results &&
- Array.isArray(refreshPermissionsResults.data.Results) ? (
-
- {refreshPermissionsResults.data.Results.map((result, idx) => (
- {result}
- ))}
-
- ) : null}
- {addExcludeTenantResult.isSuccess && (
-
- {addExcludeTenantResult.data?.Results}
-
- )}
-
- >
- )
-}
-const SecuritySettings = () => {
- const [listBackend, listBackendResult] = useLazyGenericGetRequestQuery()
- const [visible, setVisible] = useState(false)
- return (
-
- {listBackendResult.isUninitialized && listBackend({ path: 'api/ExecBackendURLs' })}
- <>
-
-
-
-
- Resource Group
-
-
-
- The Resource group contains all the CIPP resources in your tenant, except the SAM
- Application
-
-
- Go to Resource Group
-
-
-
-
-
-
-
- Key Vault
-
-
-
- The keyvault allows you to check token information. By default you do not have
- access.
-
-
- Go to Keyvault
-
-
-
-
-
-
-
- Static Web App (Role Management)
-
-
-
- The Static Web App role management allows you to invite other users to the
- application.
-
-
- Go to Role Management
-
-
-
-
-
-
-
-
-
- Function App (Deployment Center)
-
-
- The Function App Deployment Center allows you to run updates on the API
-
- Go to Function App Deployment Center
-
-
-
-
-
-
-
- Function App (Configuration)
-
-
-
- At the Function App Configuration you can check the status of the API access to
- your keyvault
-
-
- Go to Function App Configuration
-
-
-
-
-
-
-
- Function App (Overview)
-
-
- At the function App Overview, you can stop and start the backend API
-
- Go to Function App Overview
-
-
-
-
-
-
-
-
-
- Cloud Shell
-
-
- Launch an Azure Cloud Shell Window
-
- window.open(
- 'https://shell.azure.com/powershell',
- '_blank',
- 'toolbar=no,scrollbars=yes,resizable=yes,menubar=no,location=no,status=no',
- )
- }
- rel="noreferrer"
- >
- Cloud Shell
-
- setVisible(true)} className="mb-3">
- Command Reference
-
-
-
-
-
-
setVisible(false)}
- title="Command Reference"
- >
- Function App Config
-
- Function App Deployment
-
- Watch Function Logs
-
- Static Web App Config
-
- List CIPP Users
-
-
- >
-
- )
-}
-
-const NotificationsSettings = () => {
- const [configNotifications, notificationConfigResult] = useLazyExecNotificationConfigQuery()
- const [listNotification, notificationListResult] = useLazyListNotificationConfigQuery()
- const onSubmit = (values) => {
- configNotifications(values)
- }
- return (
- <>
- {notificationListResult.isUninitialized && listNotification()}
- {notificationListResult.isFetching && (
-
- )}
- {!notificationListResult.isFetching && notificationListResult.error && (
- Error loading data
- )}
- {notificationListResult.isSuccess && (
-
-
- Notifications
-
-
-
-
- )}
- >
- )
-}
-
-const LicenseSettings = () => {
- const [setExclusion, setExclusionResults] = useLazyGenericPostRequestQuery()
- const formRef = useRef(null)
-
- const handleAddLicense = (selected) => {
- ModalService.confirm({
- body: (
-
- ),
- title: 'Add Exclusion',
- onConfirm: () =>
- setExclusion({
- path: '/api/ExecExcludeLicenses?AddExclusion=true',
- values: { ...formRef.current },
- }),
- })
- }
-
- const titleButton =
- const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery()
-
- const Offcanvas = (row, rowIndex, formatExtraData) => {
- const handleDeleteIntuneTemplate = (apiurl, message) => {
- ModalService.confirm({
- title: 'Confirm',
- body: {message}
,
- onConfirm: () => ExecuteGetRequest({ path: apiurl }),
- confirmLabel: 'Continue',
- cancelLabel: 'Cancel',
- })
- }
- return (
- <>
-
- handleDeleteIntuneTemplate(
- `/api/ExecExcludeLicenses?RemoveExclusion=true&GUID=${row.GUID}`,
- 'Do you want to delete this exclusion?',
- )
- }
- >
-
-
- >
- )
- }
-
- const columns = [
- {
- name: 'Display Name',
- selector: (row) => row['Product_Display_Name'],
- exportSelector: 'Product_Display_Name',
- sortable: true,
- minWidth: '300px',
- },
- {
- name: 'License ID',
- selector: (row) => row['GUID'],
- exportSelector: 'GUID',
- sortable: true,
- minWidth: '350px',
- },
- {
- name: 'Actions',
- cell: Offcanvas,
- },
- ]
- return (
- <>
- {setExclusionResults.isFetching ||
- (getResults.isFetching && (
-
- Loading
-
- ))}
- {setExclusionResults.isSuccess && (
- {setExclusionResults.data?.Results}
- )}
- {setExclusionResults.isError && (
-
- Could not connect to API: {setExclusionResults.error.message}
-
- )}
- {getResults.isError && (
- Could not connect to API: {getResults.error.message}
- )}
- {getResults.isSuccess && {getResults.data?.Results} }
-
- >
- )
-}
-const PasswordSettings = () => {
- const [getPasswordConfig, getPasswordConfigResult] = useLazyGenericGetRequestQuery()
- const [editPasswordConfig, editPasswordConfigResult] = useLazyGenericPostRequestQuery()
-
- const [passAlertVisible, setPassAlertVisible] = useState(false)
-
- const switchResolver = (resolver) => {
- editPasswordConfig({ path: '/api/ExecPasswordconfig', values: { passwordType: resolver } })
- getPasswordConfig()
- setPassAlertVisible(true)
- }
-
- const resolvers = ['Classic', 'Correct-Battery-Horse']
-
- return (
- <>
- {getPasswordConfigResult.isUninitialized &&
- getPasswordConfig({ path: '/api/ExecPasswordConfig?list=true' })}
- Password Style
-
- {resolvers.map((r, index) => (
- switchResolver(r)}
- color={
- r === getPasswordConfigResult.data?.Results?.passwordType ? 'primary' : 'secondary'
- }
- key={index}
- >
- {r}
-
- ))}
-
- {(editPasswordConfigResult.isSuccess || editPasswordConfigResult.isError) && (
-
- {editPasswordConfigResult.isSuccess
- ? editPasswordConfigResult.data.Results
- : 'Error setting password style'}
-
- )}
- >
- )
-}
-
-const DNSSettings = () => {
- const [runBackup, RunBackupResult] = useLazyGenericGetRequestQuery()
- const [restoreBackup, restoreBackupResult] = useLazyGenericPostRequestQuery()
- const [getDnsConfig, getDnsConfigResult] = useLazyGetDnsConfigQuery()
- const [editDnsConfig, editDnsConfigResult] = useLazyEditDnsConfigQuery()
- const inputRef = useRef(null)
- const [clearCache, clearCacheResult] = useLazyExecClearCacheQuery()
- const { data: versions, isSuccess: isSuccessVersion } = useLoadVersionsQuery()
-
- const [alertVisible, setAlertVisible] = useState(false)
- const downloadTxtFile = (data) => {
- const txtdata = [JSON.stringify(RunBackupResult.data.backup)]
- const file = new Blob(txtdata, { type: 'text/plain' })
- const element = document.createElement('a')
- element.href = URL.createObjectURL(file)
- element.download = 'CIPP-Backup' + Date.now() + '.json'
- document.body.appendChild(element)
- element.click()
- }
- const handleChange = (e) => {
- const fileReader = new FileReader()
- fileReader.readAsText(e.target.files[0], 'UTF-8')
- fileReader.onload = (e) => {
- restoreBackup({ path: '/api/ExecRestoreBackup', values: e.target.result })
- }
- }
- const switchResolver = (resolver) => {
- editDnsConfig({ resolver })
- getDnsConfig()
- setAlertVisible(true)
- setTimeout(() => {
- setAlertVisible(false)
- }, 2000)
- }
- const handleClearCache = useConfirmModal({
- body: Are you sure you want to clear the cache?
,
- onConfirm: () => {
- clearCache({ tenantsOnly: false })
- localStorage.clear()
- },
- })
-
- const handleClearCacheTenant = useConfirmModal({
- body: Are you sure you want to clear the cache?
,
- onConfirm: () => {
- clearCache({ tenantsOnly: true })
- },
- })
- const resolvers = ['Google', 'Cloudflare', 'Quad9']
-
- return (
- <>
- {getDnsConfigResult.isUninitialized && getDnsConfig()}
- {getDnsConfigResult.isSuccess && (
-
-
-
-
-
-
-
-
- DNS Resolver
-
- {resolvers.map((r, index) => (
- switchResolver(r)}
- color={r === getDnsConfigResult.data.Resolver ? 'primary' : 'secondary'}
- key={index}
- >
- {r}
-
- ))}
-
- {(editDnsConfigResult.isSuccess || editDnsConfigResult.isError) && (
-
- {editDnsConfigResult.isSuccess
- ? editDnsConfigResult.data.Results
- : 'Error setting resolver'}
-
- )}
-
-
- Frontend Version
-
- Latest: {isSuccessVersion ? versions.RemoteCIPPVersion : }
-
- Current: {isSuccessVersion ? versions.LocalCIPPVersion : }
-
-
-
- Clear Caches
- handleClearCache()}
- disabled={clearCacheResult.isFetching}
- >
- {clearCacheResult.isFetching && (
-
- )}
- Clear All Cache
-
- handleClearCacheTenant()}
- disabled={clearCacheResult.isFetching}
- >
- {clearCacheResult.isFetching && (
-
- )}
- Clear Tenant Cache
-
- {clearCacheResult.isSuccess && (
- {clearCacheResult.data?.Results}
- )}
-
-
- Settings Backup
- runBackup({ path: '/api/ExecRunBackup' })}
- disabled={RunBackupResult.isFetching}
- >
- {RunBackupResult.isFetching && (
-
- )}
- Run backup
-
- handleChange(e)}
- />
- inputRef.current.click()}
- disabled={restoreBackupResult.isFetching}
- >
- {restoreBackupResult.isFetching && (
-
- )}
- Restore backup
-
- {restoreBackupResult.isSuccess && (
- <>
- {restoreBackupResult.data.Results}
- >
- )}
- {RunBackupResult.isSuccess && (
- <>
-
- downloadTxtFile(RunBackupResult.data.backup)}>
- Download Backup
-
-
- >
- )}
-
-
- Backend API Version
-
- Latest: {isSuccessVersion ? versions.RemoteCIPPAPIVersion : }
-
- Current: {isSuccessVersion ? versions.LocalCIPPAPIVersion : }
-
-
-
-
-
- )}
- >
- )
-}
-const ExtensionsTab = () => {
- const [listBackend, listBackendResult] = useLazyGenericGetRequestQuery()
- const inputRef = useRef(null)
- const [setExtensionconfig, extensionConfigResult] = useLazyGenericPostRequestQuery()
- const [execTestExtension, listExtensionTestResult] = useLazyGenericGetRequestQuery()
- const [execSyncExtension, listSyncExtensionResult] = useLazyGenericGetRequestQuery()
-
- const onSubmitTest = (integrationName) => {
- execTestExtension({
- path: 'api/ExecExtensionTest?extensionName=' + integrationName,
- })
- }
- const onSubmit = (values) => {
- setExtensionconfig({
- path: 'api/ExecExtensionsConfig',
- values: values,
- })
- }
- return (
-
- {listBackendResult.isUninitialized && listBackend({ path: 'api/ListExtensionsConfig' })}
- <>
- {(listBackendResult.isFetching ||
- extensionConfigResult.isFetching ||
- listExtensionTestResult.isFetching ||
- listSyncExtensionResult.isFetching) &&
}
- {listSyncExtensionResult.isSuccess && (
-
-
- Results
-
-
- {listSyncExtensionResult.data.Results}
-
-
- )}
-
- {listExtensionTestResult.isSuccess && (
-
-
- Results
-
-
- <>
- {listExtensionTestResult.data.Results}
- >
-
-
- )}
- {extensionConfigResult.isSuccess && (
-
-
- Results
-
-
- <>
- {extensionConfigResult.data.Results}
- >
-
-
- )}
-
- {Extensions.map((integration, idx) => (
-
-
-
- {integration.name}
-
-
- {integration.helpText}
-
-
-
- ))}
-
- >
-
- )
-}
-
-const MappingsTab = () => {
- const [listHaloBackend, listBackendHaloResult = []] = useLazyGenericGetRequestQuery()
- const [listNinjaOrgsBackend, listBackendNinjaOrgsResult] = useLazyGenericGetRequestQuery()
- const [listNinjaFieldsBackend, listBackendNinjaFieldsResult] = useLazyGenericGetRequestQuery()
- const [setHaloExtensionconfig, extensionHaloConfigResult = []] = useLazyGenericPostRequestQuery()
- const [setNinjaOrgsExtensionconfig, extensionNinjaOrgsConfigResult] =
- useLazyGenericPostRequestQuery()
- const [setNinjaOrgsExtensionAutomap, extensionNinjaOrgsAutomapResult] =
- useLazyGenericPostRequestQuery()
- const [setNinjaFieldsExtensionconfig, extensionNinjaFieldsConfigResult] =
- useLazyGenericPostRequestQuery()
-
- const onHaloSubmit = (values) => {
- setHaloExtensionconfig({
- path: 'api/ExecExtensionMapping?AddMapping=Halo',
- values: { mappings: values },
- })
- }
- const onNinjaOrgsSubmit = (values) => {
- setNinjaOrgsExtensionconfig({
- path: 'api/ExecExtensionMapping?AddMapping=NinjaOrgs',
- values: { mappings: values },
- })
- }
-
- const onNinjaOrgsAutomap = async (values) => {
- await setNinjaOrgsExtensionAutomap({
- path: 'api/ExecExtensionMapping?AutoMapping=NinjaOrgs',
- values: { mappings: values },
- })
- await listNinjaOrgsBackend({
- path: 'api/ExecExtensionMapping?List=NinjaOrgs',
- })
- }
-
- const onNinjaFieldsSubmit = (values) => {
- setNinjaFieldsExtensionconfig({
- path: 'api/ExecExtensionMapping?AddMapping=NinjaFields',
-
- values: { mappings: values },
- })
- }
- return (
-
- {listBackendHaloResult.isUninitialized &&
- listHaloBackend({ path: 'api/ExecExtensionMapping?List=Halo' })}
- {listBackendNinjaOrgsResult.isUninitialized &&
- listNinjaOrgsBackend({ path: 'api/ExecExtensionMapping?List=NinjaOrgs' })}
- {listBackendNinjaFieldsResult.isUninitialized &&
- listNinjaFieldsBackend({ path: 'api/ExecExtensionMapping?List=NinjaFields' })}
- <>
-
-
- HaloPSA Mapping Table
-
-
- {listBackendHaloResult.isFetching ? (
-
- ) : (
-
-
-
-
- NinjaOne Field Mapping Table
-
-
- {listBackendNinjaFieldsResult.isFetching ? (
-
- ) : (
-
-
-
-
- NinjaOne Organization Mapping Table
-
-
- {listBackendNinjaOrgsResult.isFetching ? (
-
- ) : (
-
-
- >
-
- )
-}
-
-const Maintenance = () => {
- const [selectedScript, setSelectedScript] = useState()
- const [listBackend, listBackendResult] = useLazyGenericGetRequestQuery()
- const [listScript, listScriptResult] = useLazyGenericGetRequestQuery()
- const [listScriptLink, listScriptLinkResult] = useLazyGenericGetRequestQuery()
-
- const handleSubmit = async (values) => {
- listScript({ path: 'api/ExecMaintenanceScripts', params: values })
- setSelectedScript(values.ScriptFile)
- }
-
- const handleGetLink = () => {
- listScriptLink({
- path: 'api/ExecMaintenanceScripts',
- params: { ScriptFile: selectedScript, MakeLink: 'True' },
- })
- }
- return (
- <>
- {listBackendResult.isUninitialized && listBackend({ path: 'api/ExecMaintenanceScripts' })}
-
-
-
-
- Maintenance
-
-
-
-
-
-
-
-
- {listScriptResult.isFetching && (
-
-
-
-
-
- )}
- {!listScriptResult.isFetching && listScriptResult.isSuccess && (
-
-
- Script Details
-
-
-
-
-
- Create Link
-
-
- {listScriptLinkResult.isSuccess && (
-
- {listScriptLinkResult.data.Link !== undefined && (
- <>
-
- Copy this text into a PowerShell terminal, we recommend Azure Cloud Shell.
- Azure modules and the az command line utilties are required for these
- scripts to work. The link is valid for 5 minutes.
-
-
- >
- )}
-
- )}
- {listScriptResult.data.ScriptContent !== undefined && (
-
-
Maintenance Script Contents
-
-
- )}
-
-
- )}
-
-
- >
- )
-}
diff --git a/src/views/cipp/app-settings/CIPPSettings.jsx b/src/views/cipp/app-settings/CIPPSettings.jsx
new file mode 100644
index 000000000000..ff43ad2a5a94
--- /dev/null
+++ b/src/views/cipp/app-settings/CIPPSettings.jsx
@@ -0,0 +1,93 @@
+import React, { useState } from 'react'
+import { CNav, CNavItem, CTabContent, CTabPane } from '@coreui/react'
+import { CippPage } from 'src/components/layout'
+import { CippLazy } from 'src/components/utilities'
+
+import { SettingsGeneral } from './SettingsGeneral.jsx'
+import { SettingsTenants } from 'src/views/cipp/app-settings/SettingsTenants.jsx'
+import { SettingsBackend } from 'src/views/cipp/app-settings/SettingsBackend.jsx'
+import { SettingsNotifications } from 'src/views/cipp/app-settings/SettingsNotifications.jsx'
+import { SettingsLicenses } from 'src/views/cipp/app-settings/SettingsLicenses.jsx'
+import { SettingsExtensions } from 'src/views/cipp/app-settings/SettingsExtensions.jsx'
+import { SettingsMaintenance } from 'src/views/cipp/app-settings/SettingsMaintenance.jsx'
+import { SettingsExtensionMappings } from 'src/views/cipp/app-settings/SettingsExtensionMappings.jsx'
+
+/**
+ * This function returns the settings page content for CIPP.
+ *
+ * @returns {JSX.Element} The settings page content.
+ */
+export default function CIPPSettings() {
+ const [active, setActive] = useState(1)
+ return (
+
+
+ setActive(1)} href="#">
+ General
+
+ setActive(2)} href="#">
+ Tenants
+
+ setActive(3)} href="#">
+ Backend
+
+ setActive(4)} href="#">
+ Notifications
+
+ setActive(5)} href="#">
+ Licenses
+
+ setActive(6)} href="#">
+ Maintenance
+
+ setActive(7)} href="#">
+ Extensions
+
+ setActive(8)} href="#">
+ Extension Mappings
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsBackend.jsx b/src/views/cipp/app-settings/SettingsBackend.jsx
new file mode 100644
index 000000000000..58e3bc2b594b
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsBackend.jsx
@@ -0,0 +1,251 @@
+import { useLazyGenericGetRequestQuery } from 'src/store/api/app.js'
+import React, { useState } from 'react'
+import {
+ CButton,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CCardTitle,
+ CCol,
+ CLink,
+ CRow,
+} from '@coreui/react'
+import { CippCodeBlock, CippOffcanvas } from 'src/components/utilities/index.js'
+
+/**
+ * The SettingsBackend method is responsible for rendering a settings panel that contains several resource
+ * groups and corresponding links to access them.
+ * The panel displays information about Resource Group, Key Vault, Static Web App (Role Management),
+ * Function App (Deployment Center), Function App (Configuration), Function App (Overview), and Cloud Shell.
+ *
+ * @returns {JSX.Element} The settings panel component.
+ */
+export function SettingsBackend() {
+ const [listBackend, listBackendResult] = useLazyGenericGetRequestQuery()
+ const [visible, setVisible] = useState(false)
+ return (
+
+ {listBackendResult.isUninitialized && listBackend({ path: 'api/ExecBackendURLs' })}
+ <>
+
+
+
+
+ Resource Group
+
+
+
+ The Resource group contains all the CIPP resources in your tenant, except the SAM
+ Application
+
+
+ Go to Resource Group
+
+
+
+
+
+
+
+ Key Vault
+
+
+
+ The keyvault allows you to check token information. By default you do not have
+ access.
+
+
+ Go to Keyvault
+
+
+
+
+
+
+
+ Static Web App (Role Management)
+
+
+
+ The Static Web App role management allows you to invite other users to the
+ application.
+
+
+ Go to Role Management
+
+
+
+
+
+
+
+
+
+ Function App (Deployment Center)
+
+
+ The Function App Deployment Center allows you to run updates on the API
+
+ Go to Function App Deployment Center
+
+
+
+
+
+
+
+ Function App (Configuration)
+
+
+
+ At the Function App Configuration you can check the status of the API access to
+ your keyvault
+
+
+ Go to Function App Configuration
+
+
+
+
+
+
+
+ Function App (Overview)
+
+
+ At the function App Overview, you can stop and start the backend API
+
+ Go to Function App Overview
+
+
+
+
+
+
+
+
+
+ Cloud Shell
+
+
+ Launch an Azure Cloud Shell Window
+
+ window.open(
+ 'https://shell.azure.com/powershell',
+ '_blank',
+ 'toolbar=no,scrollbars=yes,resizable=yes,menubar=no,location=no,status=no',
+ )
+ }
+ rel="noreferrer"
+ >
+ Cloud Shell
+
+ setVisible(true)} className="mb-3">
+ Command Reference
+
+
+
+
+
+
setVisible(false)}
+ title="Command Reference"
+ >
+ Function App Config
+
+ Function App Deployment
+
+ Watch Function Logs
+
+ Static Web App Config
+
+ List CIPP Users
+
+
+ >
+
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsExtensionMappings.jsx b/src/views/cipp/app-settings/SettingsExtensionMappings.jsx
new file mode 100644
index 000000000000..aefa536ac876
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsExtensionMappings.jsx
@@ -0,0 +1,279 @@
+import { useLazyGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app.js'
+import {
+ CButton,
+ CCallout,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CCardText,
+ CCardTitle,
+ CCol,
+ CForm,
+ CSpinner,
+} from '@coreui/react'
+import { Form } from 'react-final-form'
+import { RFFSelectSearch } from 'src/components/forms/index.js'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
+import React from 'react'
+
+/**
+ * Retrieves and sets the extension mappings for HaloPSA and NinjaOne.
+ *
+ * @returns {JSX.Element} - JSX component representing the settings extension mappings.
+ */
+export function SettingsExtensionMappings() {
+ const [listHaloBackend, listBackendHaloResult = []] = useLazyGenericGetRequestQuery()
+ const [listNinjaOrgsBackend, listBackendNinjaOrgsResult] = useLazyGenericGetRequestQuery()
+ const [listNinjaFieldsBackend, listBackendNinjaFieldsResult] = useLazyGenericGetRequestQuery()
+ const [setHaloExtensionconfig, extensionHaloConfigResult = []] = useLazyGenericPostRequestQuery()
+ const [setNinjaOrgsExtensionconfig, extensionNinjaOrgsConfigResult] =
+ useLazyGenericPostRequestQuery()
+ const [setNinjaOrgsExtensionAutomap, extensionNinjaOrgsAutomapResult] =
+ useLazyGenericPostRequestQuery()
+ const [setNinjaFieldsExtensionconfig, extensionNinjaFieldsConfigResult] =
+ useLazyGenericPostRequestQuery()
+
+ const onHaloSubmit = (values) => {
+ setHaloExtensionconfig({
+ path: 'api/ExecExtensionMapping?AddMapping=Halo',
+ values: { mappings: values },
+ })
+ }
+ const onNinjaOrgsSubmit = (values) => {
+ setNinjaOrgsExtensionconfig({
+ path: 'api/ExecExtensionMapping?AddMapping=NinjaOrgs',
+ values: { mappings: values },
+ })
+ }
+
+ const onNinjaOrgsAutomap = async (values) => {
+ await setNinjaOrgsExtensionAutomap({
+ path: 'api/ExecExtensionMapping?AutoMapping=NinjaOrgs',
+ values: { mappings: values },
+ })
+ await listNinjaOrgsBackend({
+ path: 'api/ExecExtensionMapping?List=NinjaOrgs',
+ })
+ }
+
+ const onNinjaFieldsSubmit = (values) => {
+ setNinjaFieldsExtensionconfig({
+ path: 'api/ExecExtensionMapping?AddMapping=NinjaFields',
+
+ values: { mappings: values },
+ })
+ }
+ return (
+
+ {listBackendHaloResult.isUninitialized &&
+ listHaloBackend({ path: 'api/ExecExtensionMapping?List=Halo' })}
+ {listBackendNinjaOrgsResult.isUninitialized &&
+ listNinjaOrgsBackend({ path: 'api/ExecExtensionMapping?List=NinjaOrgs' })}
+ {listBackendNinjaFieldsResult.isUninitialized &&
+ listNinjaFieldsBackend({ path: 'api/ExecExtensionMapping?List=NinjaFields' })}
+ <>
+
+
+ HaloPSA Mapping Table
+
+
+ {listBackendHaloResult.isFetching ? (
+
+ ) : (
+
+
+
+
+ NinjaOne Field Mapping Table
+
+
+ {listBackendNinjaFieldsResult.isFetching ? (
+
+ ) : (
+
+
+
+
+ NinjaOne Organization Mapping Table
+
+
+ {listBackendNinjaOrgsResult.isFetching ? (
+
+ ) : (
+
+
+ >
+
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsExtensions.jsx b/src/views/cipp/app-settings/SettingsExtensions.jsx
new file mode 100644
index 000000000000..788e10f7f8b6
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsExtensions.jsx
@@ -0,0 +1,203 @@
+import { useLazyGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app.js'
+import React, { useRef } from 'react'
+import {
+ CButton,
+ CCallout,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CCardText,
+ CCardTitle,
+ CCol,
+ CForm,
+ CRow,
+ CSpinner,
+} from '@coreui/react'
+import Extensions from 'src/data/Extensions.json'
+import { Form } from 'react-final-form'
+import { RFFCFormInput, RFFCFormSwitch } from 'src/components/forms/index.js'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
+import CippCallout from 'src/components/utilities/CippCallout.jsx'
+
+/**
+ * Executes various operations related to settings and extensions.
+ *
+ * @returns {JSX.Element} - The rendered component.
+ */
+export function SettingsExtensions() {
+ const [listBackend, listBackendResult] = useLazyGenericGetRequestQuery()
+ const inputRef = useRef(null)
+ const [setExtensionconfig, extensionConfigResult] = useLazyGenericPostRequestQuery()
+ const [execTestExtension, listExtensionTestResult] = useLazyGenericGetRequestQuery()
+ const [execSyncExtension, listSyncExtensionResult] = useLazyGenericGetRequestQuery()
+
+ const onSubmitTest = (integrationName) => {
+ execTestExtension({
+ path: 'api/ExecExtensionTest?extensionName=' + integrationName,
+ })
+ }
+ const onSubmit = (values) => {
+ setExtensionconfig({
+ path: 'api/ExecExtensionsConfig',
+ values: values,
+ })
+ }
+ return (
+
+ {listBackendResult.isUninitialized && listBackend({ path: 'api/ListExtensionsConfig' })}
+ <>
+ {(listBackendResult.isFetching ||
+ extensionConfigResult.isFetching ||
+ listExtensionTestResult.isFetching ||
+ listSyncExtensionResult.isFetching) && (
+
+
+
+ )}
+ {listSyncExtensionResult.isSuccess && (
+
+
+ Results
+
+
+
+ {listSyncExtensionResult.data.Results}
+
+
+
+ )}
+ {listExtensionTestResult.isSuccess && (
+
+
+ Results
+
+
+
+ {listExtensionTestResult.data.Results}
+
+
+
+ )}
+ {extensionConfigResult.isSuccess && (
+
+
+ Results
+
+
+
+ {extensionConfigResult.data.Results}
+
+
+
+ )}
+
+ {Extensions.map((integration, idx) => (
+
+
+
+ {integration.name}
+
+
+ {integration.helpText}
+
+
+
+ ))}
+
+ >
+
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsGeneral.jsx b/src/views/cipp/app-settings/SettingsGeneral.jsx
new file mode 100644
index 000000000000..1e3f82677585
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsGeneral.jsx
@@ -0,0 +1,453 @@
+import { useListTenantsQuery } from 'src/store/api/tenants.js'
+import {
+ useLazyExecClearCacheQuery,
+ useLazyExecPermissionsAccessCheckQuery,
+ useLazyExecTenantsAccessCheckQuery,
+ useLazyGenericGetRequestQuery,
+} from 'src/store/api/app.js'
+import React, { useRef, useState } from 'react'
+import { cellGenericFormatter } from 'src/components/tables/CellGenericFormat.jsx'
+import { cellTableFormatter } from 'src/components/tables/CellTable.jsx'
+import {
+ CButton,
+ CCallout,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CCol,
+ CFormSwitch,
+ CLink,
+ CListGroup,
+ CListGroupItem,
+ CRow,
+} from '@coreui/react'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
+import CippListOffcanvas from 'src/components/utilities/CippListOffcanvas.jsx'
+import { TableModalButton } from 'src/components/buttons/index.js'
+import { CippTable } from 'src/components/tables/index.js'
+import { TenantSelectorMultiple } from 'src/components/utilities/index.js'
+import { SettingsDNS } from 'src/views/cipp/app-settings/components/SettingsDNS.jsx'
+
+/**
+ * SettingsGeneral method.
+ * This method is responsible for managing general settings.
+ * @returns {JSX.Element}
+ */
+export function SettingsGeneral() {
+ const { data: tenants = [] } = useListTenantsQuery({ AllTenantSelector: false })
+ const [checkPermissions, permissionsResult] = useLazyExecPermissionsAccessCheckQuery()
+ const [checkGDAP, GDAPResult] = useLazyGenericGetRequestQuery()
+
+ const [clearCache, clearCacheResult] = useLazyExecClearCacheQuery()
+ const [checkAccess, accessCheckResult] = useLazyExecTenantsAccessCheckQuery()
+ const [selectedTenants, setSelectedTenants] = useState([])
+ const [showMaxSelected, setShowMaxSelected] = useState(false)
+ const [tokenOffcanvasVisible, setTokenOffcanvasVisible] = useState(false)
+ const [showExtendedInfo, setShowExtendedInfo] = useState(true)
+
+ const maxSelected = 2
+ const tenantSelectorRef = useRef(null)
+
+ const handleSetSelectedTenants = (value) => {
+ if (value.length <= maxSelected) {
+ setSelectedTenants(value)
+ setShowMaxSelected(false)
+ } else {
+ setSelectedTenants(value)
+ setShowMaxSelected(true)
+ }
+ }
+
+ const checkAccessColumns = [
+ {
+ name: 'Tenant Domain',
+ selector: (row) => row['TenantName'],
+ grow: 0,
+ cell: cellGenericFormatter(),
+ },
+ {
+ name: 'Result',
+ selector: (row) => row['Status'],
+ minWidth: '380px',
+ maxWidth: '380px',
+ cell: cellGenericFormatter(),
+ },
+ {
+ name: 'Missing GDAP Roles',
+ selector: (row) => row?.MissingRoles,
+ cell: cellTableFormatter('MissingRoles', true, false, true),
+ },
+ {
+ name: 'Roles available',
+ selector: (row) => row?.GDAPRoles,
+ cell: cellTableFormatter('GDAPRoles', false, true),
+ omit: showExtendedInfo,
+ exportSelector: 'GDAPRoles',
+ },
+ {
+ name: 'SAM User Roles',
+ selector: (row) => row?.SAMUserRoles,
+ cell: cellTableFormatter('SAMUserRoles', false, true),
+ omit: showExtendedInfo,
+ exportSelector: 'SAMUserRoles',
+ },
+ ]
+
+ const checkGDAPColumns = [
+ {
+ name: 'Tenant',
+ selector: (row) => row['Tenant'],
+ sortable: true,
+ cell: cellGenericFormatter(),
+ minWidth: '200px',
+ maxWidth: '200px',
+ },
+ {
+ name: 'Error Type',
+ selector: (row) => row['Type'],
+ sortable: true,
+ cell: cellGenericFormatter(),
+ minWidth: '100px',
+ maxWidth: '100px',
+ },
+ {
+ name: 'Issue',
+ selector: (row) => row?.Issue,
+ sortable: true,
+ cell: cellGenericFormatter(),
+ },
+ {
+ name: 'Resolution Link',
+ sortable: true,
+ selector: (row) => row?.Link,
+ cell: cellGenericFormatter(),
+ },
+ {
+ name: 'Relationship ID',
+ sortable: true,
+ selector: (row) => row?.Relationship,
+ cell: cellGenericFormatter(),
+ },
+ ]
+
+ const handleCheckAccess = () => {
+ const mapped = tenants.reduce(
+ (current, { customerId, ...rest }) => ({
+ ...current,
+ [customerId]: { ...rest },
+ }),
+ {},
+ )
+ const AllTenantSelector = selectedTenants.map(
+ (customerId) => mapped[customerId].defaultDomainName,
+ )
+ checkAccess({ tenantDomains: AllTenantSelector })
+ }
+
+ function getTokenOffcanvasProps({ tokenResults }) {
+ let tokenDetails = tokenResults.AccessTokenDetails
+ let helpLinks = tokenResults.Links
+ let tokenOffcanvasGroups = []
+ if (tokenDetails?.Name !== '') {
+ let tokenItems = []
+ let tokenOffcanvasGroup = {}
+ tokenItems.push({
+ heading: 'User',
+ content: tokenDetails?.Name,
+ })
+ tokenItems.push({
+ heading: 'UPN',
+ content: tokenDetails?.UserPrincipalName,
+ })
+ tokenItems.push({
+ heading: 'App Registration',
+ content: (
+
+ {tokenDetails?.AppName}
+
+ ),
+ })
+ tokenItems.push({
+ heading: 'IP Address',
+ content: tokenDetails?.IPAddress,
+ })
+ tokenItems.push({
+ heading: 'Auth Methods',
+ content: tokenDetails?.AuthMethods.join(', '),
+ })
+ tokenItems.push({
+ heading: 'Tenant ID',
+ content: tokenDetails?.TenantId,
+ })
+ tokenOffcanvasGroup.items = tokenItems
+ tokenOffcanvasGroup.title = 'Claims'
+ tokenOffcanvasGroups.push(tokenOffcanvasGroup)
+ }
+
+ if (helpLinks.length > 0) {
+ let linkItems = []
+ let linkItemGroup = {}
+ helpLinks.map((link, idx) =>
+ linkItems.push({
+ heading: '',
+ content: (
+
+ {link.Text}
+
+ ),
+ }),
+ )
+ linkItemGroup.title = 'Help Links'
+ linkItemGroup.items = linkItems
+ if (linkItemGroup.items.length > 0) {
+ tokenOffcanvasGroups.push(linkItemGroup)
+ }
+ }
+
+ return tokenOffcanvasGroups
+ }
+
+ const tableProps = {
+ pagination: false,
+ actions: [
+ {
+ console.log(e)
+ setShowExtendedInfo(!e.target.checked)
+ }}
+ key={'Show Extended Info'}
+ />,
+ ],
+ }
+
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ Permissions Check
+ Click the button below to start a permissions check.
+ checkPermissions()}
+ disabled={permissionsResult.isFetching}
+ className="mb-3 me-2"
+ >
+ {permissionsResult.isFetching && (
+
+ )}
+ Run Permissions Check
+
+ {permissionsResult.isSuccess && (
+ <>
+ {permissionsResult.data.Results?.AccessTokenDetails?.Name !== '' && (
+ <>
+ setTokenOffcanvasVisible(true)}>
+ Details
+
+ setTokenOffcanvasVisible(false)}
+ />
+ >
+ )}
+
+ {permissionsResult.data.Results?.Messages && (
+ <>
+ {permissionsResult.data.Results?.Messages?.map((m, idx) => (
+ {m}
+ ))}
+ >
+ )}
+ {permissionsResult.data.Results?.MissingPermissions.length > 0 && (
+ <>
+ Your Secure Application Model is missing the following permissions. See the
+ documentation on how to add permissions{' '}
+
+ here
+
+ .
+
+ {permissionsResult.data.Results?.MissingPermissions?.map((r, index) => (
+ {r}
+ ))}
+
+ >
+ )}
+
+ >
+ )}
+
+
+
+
+
+
+
+ GDAP Check
+ Click the button below to start a check for general GDAP settings.
+ checkGDAP({ path: '/api/ExecAccessChecks?GDAP=true' })}
+ disabled={GDAPResult.isFetching}
+ className="mb-3 me-2"
+ >
+ {GDAPResult.isFetching && (
+
+ )}
+ Run GDAP Check
+
+ {GDAPResult.isSuccess && (
+ <>
+ p['@odata.type'] == '#microsoft.graph.group',
+ )}
+ title="Groups"
+ />
+ p['@odata.type'] == '#microsoft.graph.directoryRole',
+ )}
+ title="Roles"
+ />
+ >
+ )}
+
+
+ {GDAPResult.isSuccess && GDAPResult.data.Results.GDAPIssues?.length > 0 && (
+ <>
+ {GDAPResult.data.Results.GDAPIssues?.filter((e) => e.Type === 'Error')
+ .length > 0 && (
+
+ Relationship errors detected. Review the table below for more details.
+
+ )}
+ {GDAPResult.data.Results.GDAPIssues?.filter((e) => e.Type === 'Warning')
+ .length > 0 && (
+
+ Relationship warnings detected. Review the table below for more details.
+
+ )}
+
+ >
+ )}
+ {GDAPResult.isSuccess && GDAPResult.data.Results.GDAPIssues?.length === 0 && (
+
+ No relationships with issues found. Please perform a Permissions Check or
+ Tenant Access Check if you are experiencing issues.
+
+ )}
+
+
+
+
+
+
+
+
+
+
+
+ Tenant Access Check
+
+
+
+ Click the button below to start a tenant access check. You can select multiple,
+ but a maximum of {maxSelected + 1} tenants is recommended.
+
+
+
+ handleSetSelectedTenants(
+ value.map((val) => {
+ return val.value
+ }),
+ )
+ }
+ />
+ {showMaxSelected && (
+
+ A maximum of {maxSelected + 1} tenants is recommended.
+
+ )}
+
+
+
+
+
+ handleCheckAccess()}
+ disabled={accessCheckResult.isFetching || selectedTenants.length < 1}
+ >
+ {accessCheckResult.isFetching && (
+
+ )}
+ Run access check
+
+
+
+
+
+ {accessCheckResult.isSuccess && (
+
+ )}
+
+
+
+
+
+
+
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsLicenses.jsx b/src/views/cipp/app-settings/SettingsLicenses.jsx
new file mode 100644
index 000000000000..b1e7e49fa919
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsLicenses.jsx
@@ -0,0 +1,134 @@
+import { useLazyGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app.js'
+import React, { useRef } from 'react'
+import { ModalService } from 'src/components/utilities/index.js'
+import { Form } from 'react-final-form'
+import { RFFCFormInput } from 'src/components/forms/index.js'
+import { TitleButton } from 'src/components/buttons/index.js'
+import { CButton, CCallout, CSpinner } from '@coreui/react'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faTrash } from '@fortawesome/free-solid-svg-icons'
+import { CippPageList } from 'src/components/layout/index.js'
+
+/**
+ * SettingsLicenses component is used to manage excluded licenses in a settings page.
+ *
+ * @returns {JSX.Element} The generated settings page component.
+ */
+export function SettingsLicenses() {
+ const [setExclusion, setExclusionResults] = useLazyGenericPostRequestQuery()
+ const formRef = useRef(null)
+
+ const handleAddLicense = (selected) => {
+ ModalService.confirm({
+ body: (
+
+ ),
+ title: 'Add Exclusion',
+ onConfirm: () =>
+ setExclusion({
+ path: '/api/ExecExcludeLicenses?AddExclusion=true',
+ values: { ...formRef.current },
+ }),
+ })
+ }
+
+ const titleButton =
+ const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery()
+
+ const Offcanvas = (row, rowIndex, formatExtraData) => {
+ const handleDeleteIntuneTemplate = (apiurl, message) => {
+ ModalService.confirm({
+ title: 'Confirm',
+ body: {message}
,
+ onConfirm: () => ExecuteGetRequest({ path: apiurl }),
+ confirmLabel: 'Continue',
+ cancelLabel: 'Cancel',
+ })
+ }
+ return (
+ <>
+
+ handleDeleteIntuneTemplate(
+ `/api/ExecExcludeLicenses?RemoveExclusion=true&GUID=${row.GUID}`,
+ 'Do you want to delete this exclusion?',
+ )
+ }
+ >
+
+
+ >
+ )
+ }
+
+ const columns = [
+ {
+ name: 'Display Name',
+ selector: (row) => row['Product_Display_Name'],
+ exportSelector: 'Product_Display_Name',
+ sortable: true,
+ minWidth: '300px',
+ },
+ {
+ name: 'License ID',
+ selector: (row) => row['GUID'],
+ exportSelector: 'GUID',
+ sortable: true,
+ minWidth: '350px',
+ },
+ {
+ name: 'Actions',
+ cell: Offcanvas,
+ },
+ ]
+ return (
+ <>
+ {setExclusionResults.isFetching ||
+ (getResults.isFetching && (
+
+ Loading
+
+ ))}
+ {setExclusionResults.isSuccess && (
+ {setExclusionResults.data?.Results}
+ )}
+ {setExclusionResults.isError && (
+
+ Could not connect to API: {setExclusionResults.error.message}
+
+ )}
+ {getResults.isError && (
+ Could not connect to API: {getResults.error.message}
+ )}
+ {getResults.isSuccess && {getResults.data?.Results} }
+
+ >
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsMaintenance.jsx b/src/views/cipp/app-settings/SettingsMaintenance.jsx
new file mode 100644
index 000000000000..d7387f849400
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsMaintenance.jsx
@@ -0,0 +1,161 @@
+import React, { useState } from 'react'
+import { useLazyGenericGetRequestQuery } from 'src/store/api/app.js'
+import {
+ CButton,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CCardTitle,
+ CCol,
+ CForm,
+ CRow,
+} from '@coreui/react'
+import { Form } from 'react-final-form'
+import Skeleton from 'react-loading-skeleton'
+import { RFFCFormSelect } from 'src/components/forms/index.js'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faLink, faScroll } from '@fortawesome/free-solid-svg-icons'
+import { CippCodeBlock } from 'src/components/utilities/index.js'
+import { Buffer } from 'buffer'
+
+/**
+ * Performs maintenance operations on settings.
+ *
+ * @returns {JSX.Element} The JSX element representing the settings maintenance component.
+ */
+export function SettingsMaintenance() {
+ const [selectedScript, setSelectedScript] = useState()
+ const [listBackend, listBackendResult] = useLazyGenericGetRequestQuery()
+ const [listScript, listScriptResult] = useLazyGenericGetRequestQuery()
+ const [listScriptLink, listScriptLinkResult] = useLazyGenericGetRequestQuery()
+
+ const handleSubmit = async (values) => {
+ listScript({ path: 'api/ExecMaintenanceScripts', params: values })
+ setSelectedScript(values.ScriptFile)
+ }
+
+ const handleGetLink = () => {
+ listScriptLink({
+ path: 'api/ExecMaintenanceScripts',
+ params: { ScriptFile: selectedScript, MakeLink: 'True' },
+ })
+ }
+ return (
+ <>
+ {listBackendResult.isUninitialized && listBackend({ path: 'api/ExecMaintenanceScripts' })}
+
+
+
+
+ Maintenance
+
+
+
+
+
+
+
+
+ {listScriptResult.isFetching && (
+
+
+
+
+
+ )}
+ {!listScriptResult.isFetching && listScriptResult.isSuccess && (
+
+
+ Script Details
+
+
+
+
+
+ Create Link
+
+
+ {listScriptLinkResult.isSuccess && (
+
+ {listScriptLinkResult.data.Link !== undefined && (
+ <>
+
+ Copy this text into a PowerShell terminal, we recommend Azure Cloud Shell.
+ Azure modules and the az command line utilties are required for these
+ scripts to work. The link is valid for 5 minutes.
+
+
+ >
+ )}
+
+ )}
+ {listScriptResult.data.ScriptContent !== undefined && (
+
+
Maintenance Script Contents
+
+
+ )}
+
+
+ )}
+
+
+ >
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsNotifications.jsx b/src/views/cipp/app-settings/SettingsNotifications.jsx
new file mode 100644
index 000000000000..da11c8b35d48
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsNotifications.jsx
@@ -0,0 +1,178 @@
+import {
+ useLazyExecNotificationConfigQuery,
+ useLazyListNotificationConfigQuery,
+} from 'src/store/api/app.js'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
+import {
+ CButton,
+ CCallout,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CCardTitle,
+ CCol,
+ CForm,
+ CSpinner,
+} from '@coreui/react'
+import { Form } from 'react-final-form'
+import { RFFCFormInput, RFFCFormSwitch, RFFSelectSearch } from 'src/components/forms/index.js'
+import React from 'react'
+
+/**
+ * Sets the notification settings.
+ * @returns {JSX.Element} The notification settings component.
+ */
+export function SettingsNotifications() {
+ const [configNotifications, notificationConfigResult] = useLazyExecNotificationConfigQuery()
+ const [listNotification, notificationListResult] = useLazyListNotificationConfigQuery()
+ const onSubmit = (values) => {
+ configNotifications(values)
+ }
+ return (
+ <>
+ {notificationListResult.isUninitialized && listNotification()}
+ {notificationListResult.isFetching && (
+
+ )}
+ {!notificationListResult.isFetching && notificationListResult.error && (
+ Error loading data
+ )}
+ {notificationListResult.isSuccess && (
+
+
+ Notifications
+
+
+
+
+ )}
+ >
+ )
+}
diff --git a/src/views/cipp/app-settings/SettingsTenants.jsx b/src/views/cipp/app-settings/SettingsTenants.jsx
new file mode 100644
index 000000000000..14850a7182d9
--- /dev/null
+++ b/src/views/cipp/app-settings/SettingsTenants.jsx
@@ -0,0 +1,285 @@
+import { useDispatch, useSelector } from 'react-redux'
+import {
+ useExecAddExcludeTenantMutation,
+ useExecRemoveExcludeTenantMutation,
+} from 'src/store/api/tenants.js'
+import { useLazyGenericGetRequestQuery } from 'src/store/api/app.js'
+import React, { useEffect, useRef } from 'react'
+import { ModalService, TenantSelectorMultiple } from 'src/components/utilities/index.js'
+import { setCurrentTenant } from 'src/store/features/app.js'
+import { CAlert, CButton, CCallout, CSpinner, CTooltip } from '@coreui/react'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import {
+ faCheckCircle,
+ faExclamationTriangle,
+ faEye,
+ faEyeSlash,
+ faRecycle,
+} from '@fortawesome/free-solid-svg-icons'
+import { cellBooleanFormatter, CellTip } from 'src/components/tables/index.js'
+import { CippPageList } from 'src/components/layout/index.js'
+import CippCallout from 'src/components/utilities/CippCallout.jsx'
+
+/**
+ * The SettingsTenants method is used to manage the tenants in the application. It allows the user to add or
+ * remove exclusions, refresh permissions for a tenant, and view the list of excluded tenants.
+ *
+ * @return {ReactElement} The rendered component for managing the excluded tenants.
+ */
+export function SettingsTenants() {
+ const dispatch = useDispatch()
+ const currentTenant = useSelector((state) => state.app.currentTenant)
+ const [removeExcludeTenant, removeExcludeTenantResult] = useExecRemoveExcludeTenantMutation()
+ const [addExcludeTenant, addExcludeTenantResult] = useExecAddExcludeTenantMutation()
+ const [refreshPermissions, refreshPermissionsResults] = useLazyGenericGetRequestQuery()
+
+ // const [selectedTenant, setSelectedTenant] = useState()
+ const selectedTenant = useRef()
+
+ useEffect(() => {
+ // if a tenant is already selected and that's the tenant the
+ // user wants to exclude, we need to set that to the current state
+ selectedTenant.current = currentTenant
+ // eslint-disable-next-line react-hooks/exhaustive-deps
+ }, [])
+
+ const handleRemoveExclusion = (domain) =>
+ ModalService.confirm({
+ title: 'Remove Exclusion',
+ body: Are you sure you want to remove the exclusion for {domain}?
,
+ onConfirm: () => removeExcludeTenant(domain),
+ })
+
+ const handleCPVPermissions = (domain, resetsp = false) =>
+ ModalService.confirm({
+ title: 'Refresh Permissions',
+ body: Are you sure you want to refresh permissions for {domain.defaultDomainName}?
,
+ onConfirm: () =>
+ refreshPermissions({
+ path: `/api/ExecCPVPermissions?TenantFilter=${domain.customerId}&ResetSP=${resetsp}`,
+ }),
+ })
+ const handleConfirmExcludeTenant = (tenant) => {
+ ModalService.confirm({
+ title: 'Exclude Tenant',
+ body: Are you sure you want to exclude this tenant?
,
+ onConfirm: () => addExcludeTenant(tenant),
+ })
+ .unwrap()
+ .then(() => {
+ dispatch(setCurrentTenant({}))
+ })
+ }
+
+ const handleExcludeTenant = (selected) => {
+ ModalService.confirm({
+ body: (
+
+
Select a tenant to exclude
+
(selected = tenant)} />
+
+ ),
+ title: 'Add Exclusion',
+ onConfirm: () => handleConfirmExcludeTenant(selected),
+ })
+ }
+ const titleButton = (
+ handleExcludeTenant(selectedTenant)}
+ >
+ Add Excluded Tenant
+
+ )
+
+ function StatusIcon(graphErrorCount) {
+ if (graphErrorCount > 0) {
+ return
+ } else {
+ return
+ }
+ }
+
+ function StatusText(graphErrorCount, lastGraphError) {
+ if (graphErrorCount > 0) {
+ return 'Error Count: ' + graphErrorCount + ' - Last Error: ' + lastGraphError
+ } else {
+ return 'No errors detected with this tenant'
+ }
+ }
+
+ const Offcanvas = (row, rowIndex, formatExtraData) => {
+ return (
+ <>
+ {row.Excluded && (
+
+ handleRemoveExclusion(row.defaultDomainName)}
+ >
+
+
+
+ )}
+ {!row.Excluded && (
+
+ handleConfirmExcludeTenant({ value: row.customerId })}
+ >
+
+
+
+ )}
+
+ handleCPVPermissions(row, false)}
+ >
+
+
+
+ >
+ )
+ }
+ const columns = [
+ {
+ name: 'Name',
+ selector: (row) => row['displayName'],
+ sortable: true,
+ cell: (row) => CellTip(row['displayName']),
+ exportSelector: 'displayName',
+ },
+ {
+ name: 'Default Domain',
+ selector: (row) => row['defaultDomainName'],
+ sortable: true,
+ cell: (row) => CellTip(row['defaultDomainName']),
+ exportSelector: 'defaultDomainName',
+ },
+ {
+ name: 'Excluded',
+ selector: (row) => row['Excluded'],
+ sortable: true,
+ cell: cellBooleanFormatter({ colourless: true }),
+ exportSelector: 'Excluded',
+ maxWidth: '100px',
+ minWidth: '100px',
+ },
+ {
+ name: 'Exclude Date',
+ selector: (row) => row['ExcludeDate'],
+ sortable: true,
+ exportSelector: 'ExcludeDate',
+ maxWidth: '150px',
+ minWidth: '150px',
+ },
+ {
+ name: 'Exclude User',
+ selector: (row) => row['ExcludeUser'],
+ sortable: true,
+ exportSelector: 'ExcludeUser',
+ maxWidth: '130px',
+ minWidth: '130px',
+ },
+ {
+ name: 'Actions',
+ cell: Offcanvas,
+ maxWidth: '80px',
+ },
+ ]
+ return (
+ <>
+ {(refreshPermissionsResults.isFetching || removeExcludeTenantResult.isFetching) && (
+
+
+
+ )}
+ {removeExcludeTenantResult.isSuccess && (
+
+ {removeExcludeTenantResult.data?.Results}
+
+ )}
+ {refreshPermissionsResults.isSuccess &&
+ refreshPermissionsResults.data?.Results &&
+ Array.isArray(refreshPermissionsResults.data.Results) ? (
+
+ {refreshPermissionsResults.data.Results.map((result, idx) => (
+ {result}
+ ))}
+
+ ) : null}
+ {addExcludeTenantResult.isSuccess && (
+
+ {addExcludeTenantResult.data?.Results}
+
+ )}
+
+ >
+ )
+}
diff --git a/src/views/cipp/app-settings/components/SettingsDNS.jsx b/src/views/cipp/app-settings/components/SettingsDNS.jsx
new file mode 100644
index 000000000000..5a76aa119cad
--- /dev/null
+++ b/src/views/cipp/app-settings/components/SettingsDNS.jsx
@@ -0,0 +1,217 @@
+import {
+ useLazyExecClearCacheQuery,
+ useLazyGenericGetRequestQuery,
+ useLazyGenericPostRequestQuery,
+ useLoadVersionsQuery,
+} from 'src/store/api/app.js'
+import { useLazyEditDnsConfigQuery, useLazyGetDnsConfigQuery } from 'src/store/api/domains.js'
+import React, { useRef, useState } from 'react'
+import useConfirmModal from 'src/hooks/useConfirmModal.jsx'
+import {
+ CButton,
+ CButtonGroup,
+ CCallout,
+ CCard,
+ CCardBody,
+ CCardHeader,
+ CCol,
+ CRow,
+} from '@coreui/react'
+import { StatusIcon } from 'src/components/utilities/index.js'
+import Skeleton from 'react-loading-skeleton'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
+import { SettingsPassword } from 'src/views/cipp/app-settings/components/SettingsPassword.jsx'
+
+/**
+ * Fetches and maintains DNS configuration settings for the application.
+ *
+ * @return {JSX.Element | void} The settings DNS component or nothing if data not ready.
+ */
+export function SettingsDNS() {
+ const [runBackup, RunBackupResult] = useLazyGenericGetRequestQuery()
+ const [restoreBackup, restoreBackupResult] = useLazyGenericPostRequestQuery()
+ const [getDnsConfig, getDnsConfigResult] = useLazyGetDnsConfigQuery()
+ const [editDnsConfig, editDnsConfigResult] = useLazyEditDnsConfigQuery()
+ const inputRef = useRef(null)
+ const [clearCache, clearCacheResult] = useLazyExecClearCacheQuery()
+ const { data: versions, isSuccess: isSuccessVersion } = useLoadVersionsQuery()
+
+ const [alertVisible, setAlertVisible] = useState(false)
+ const downloadTxtFile = (data) => {
+ const txtdata = [JSON.stringify(RunBackupResult.data.backup)]
+ const file = new Blob(txtdata, { type: 'text/plain' })
+ const element = document.createElement('a')
+ element.href = URL.createObjectURL(file)
+ element.download = 'CIPP-Backup' + Date.now() + '.json'
+ document.body.appendChild(element)
+ element.click()
+ }
+ const handleChange = (e) => {
+ const fileReader = new FileReader()
+ fileReader.readAsText(e.target.files[0], 'UTF-8')
+ fileReader.onload = (e) => {
+ restoreBackup({ path: '/api/ExecRestoreBackup', values: e.target.result })
+ }
+ }
+ const switchResolver = (resolver) => {
+ editDnsConfig({ resolver })
+ getDnsConfig()
+ setAlertVisible(true)
+ setTimeout(() => {
+ setAlertVisible(false)
+ }, 2000)
+ }
+ const handleClearCache = useConfirmModal({
+ body: Are you sure you want to clear the cache?
,
+ onConfirm: () => {
+ clearCache({ tenantsOnly: false })
+ localStorage.clear()
+ },
+ })
+
+ const handleClearCacheTenant = useConfirmModal({
+ body: Are you sure you want to clear the cache?
,
+ onConfirm: () => {
+ clearCache({ tenantsOnly: true })
+ },
+ })
+ const resolvers = ['Google', 'Cloudflare', 'Quad9']
+
+ return (
+ <>
+ {getDnsConfigResult.isUninitialized && getDnsConfig()}
+ {getDnsConfigResult.isSuccess && (
+
+
+
+
+
+
+
+
+ DNS Resolver
+
+ {resolvers.map((r, index) => (
+ switchResolver(r)}
+ color={r === getDnsConfigResult.data.Resolver ? 'primary' : 'secondary'}
+ key={index}
+ >
+ {r}
+
+ ))}
+
+ {(editDnsConfigResult.isSuccess || editDnsConfigResult.isError) && (
+
+ {editDnsConfigResult.isSuccess
+ ? editDnsConfigResult.data.Results
+ : 'Error setting resolver'}
+
+ )}
+
+
+ Frontend Version
+
+ Latest: {isSuccessVersion ? versions.RemoteCIPPVersion : }
+
+ Current: {isSuccessVersion ? versions.LocalCIPPVersion : }
+
+
+
+ Clear Caches
+ handleClearCache()}
+ disabled={clearCacheResult.isFetching}
+ >
+ {clearCacheResult.isFetching && (
+
+ )}
+ Clear All Cache
+
+ handleClearCacheTenant()}
+ disabled={clearCacheResult.isFetching}
+ >
+ {clearCacheResult.isFetching && (
+
+ )}
+ Clear Tenant Cache
+
+ {clearCacheResult.isSuccess && (
+ {clearCacheResult.data?.Results}
+ )}
+
+
+ Settings Backup
+ runBackup({ path: '/api/ExecRunBackup' })}
+ disabled={RunBackupResult.isFetching}
+ >
+ {RunBackupResult.isFetching && (
+
+ )}
+ Run backup
+
+ handleChange(e)}
+ />
+ inputRef.current.click()}
+ disabled={restoreBackupResult.isFetching}
+ >
+ {restoreBackupResult.isFetching && (
+
+ )}
+ Restore backup
+
+ {restoreBackupResult.isSuccess && (
+ <>
+ {restoreBackupResult.data.Results}
+ >
+ )}
+ {RunBackupResult.isSuccess && (
+ <>
+
+ downloadTxtFile(RunBackupResult.data.backup)}>
+ Download Backup
+
+
+ >
+ )}
+
+
+ Backend API Version
+
+ Latest: {isSuccessVersion ? versions.RemoteCIPPAPIVersion : }
+
+ Current: {isSuccessVersion ? versions.LocalCIPPAPIVersion : }
+
+
+
+
+
+ )}
+ >
+ )
+}
diff --git a/src/views/cipp/app-settings/components/SettingsPassword.jsx b/src/views/cipp/app-settings/components/SettingsPassword.jsx
new file mode 100644
index 000000000000..958fcdd0aa32
--- /dev/null
+++ b/src/views/cipp/app-settings/components/SettingsPassword.jsx
@@ -0,0 +1,66 @@
+import { useLazyGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app.js'
+import React, { useState } from 'react'
+import { CButton, CButtonGroup, CCallout } from '@coreui/react'
+
+/**
+ * This method is responsible for handling password settings in the application.
+ * It uses two custom hooks, `useLazyGenericGetRequestQuery()` and `useLazyGenericPostRequestQuery()`,
+ * to fetch and update password configuration data respectively.
+ *
+ * The method maintains the state of a password alert visibility using the `useState()` hook.
+ *
+ * It also provides a switchResolver function that updates the password configuration using the editPasswordConfig function.
+ * After updating the configuration, it fetches the updated configuration using getPasswordConfig to reflect the changes.
+ * Finally, it sets the password alert visibility to true.
+ *
+ * The method renders a password style section in the UI which displays a list of resolvers.
+ * The resolver that matches the current password configuration is highlighted with a primary color button.
+ * By clicking on a resolver button, the switchResolver function is called to update the password configuration and show the password alert.
+ *
+ * @returns {React.Element} The rendered password settings component with the password style section and password alert section.
+ */
+export function SettingsPassword() {
+ const [getPasswordConfig, getPasswordConfigResult] = useLazyGenericGetRequestQuery()
+ const [editPasswordConfig, editPasswordConfigResult] = useLazyGenericPostRequestQuery()
+
+ const [passAlertVisible, setPassAlertVisible] = useState(false)
+
+ const switchResolver = (resolver) => {
+ editPasswordConfig({ path: '/api/ExecPasswordconfig', values: { passwordType: resolver } })
+ getPasswordConfig()
+ setPassAlertVisible(true)
+ }
+
+ const resolvers = ['Classic', 'Correct-Battery-Horse']
+
+ return (
+ <>
+ {getPasswordConfigResult.isUninitialized &&
+ getPasswordConfig({ path: '/api/ExecPasswordConfig?list=true' })}
+ Password Style
+
+ {resolvers.map((r, index) => (
+ switchResolver(r)}
+ color={
+ r === getPasswordConfigResult.data?.Results?.passwordType ? 'primary' : 'secondary'
+ }
+ key={index}
+ >
+ {r}
+
+ ))}
+
+ {(editPasswordConfigResult.isSuccess || editPasswordConfigResult.isError) && (
+
+ {editPasswordConfigResult.isSuccess
+ ? editPasswordConfigResult.data.Results
+ : 'Error setting password style'}
+
+ )}
+ >
+ )
+}
diff --git a/src/views/email-exchange/administration/EditMailboxPermissions.jsx b/src/views/email-exchange/administration/EditMailboxPermissions.jsx
index 945129569e61..3f16a1e389d9 100644
--- a/src/views/email-exchange/administration/EditMailboxPermissions.jsx
+++ b/src/views/email-exchange/administration/EditMailboxPermissions.jsx
@@ -19,7 +19,7 @@ import useQuery from 'src/hooks/useQuery'
import { useDispatch } from 'react-redux'
import { Form, Field } from 'react-final-form'
import { RFFSelectSearch, RFFCFormCheck, RFFCFormInput, RFFCFormSwitch } from 'src/components/forms'
-import { ModalService } from 'src/components/utilities'
+import { CippLazy, ModalService } from 'src/components/utilities'
import {
useLazyGenericPostRequestQuery,
useLazyGenericGetRequestQuery,
@@ -36,23 +36,6 @@ import PropTypes from 'prop-types'
const formatter = (cell, warning = false, reverse = false, colourless = false) =>
CellBoolean({ cell, warning, reverse, colourless })
-function Lazy({ visible, children }) {
- const rendered = useRef(visible)
-
- if (visible && !rendered.current) {
- rendered.current = true
- }
-
- if (!rendered.current) return null
-
- return {children}
-}
-
-Lazy.propTypes = {
- visible: PropTypes.bool,
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
-}
-
const MailboxSettings = () => {
const dispatch = useDispatch()
let query = useQuery()
@@ -128,24 +111,24 @@ const MailboxSettings = () => {
-
+
-
+
-
+
-
+
-
+
-
+
-
+
-
+
@@ -531,8 +514,14 @@ const CalendarPermissions = () => {
name: 'Publishing Editor',
},
{ value: 'Reviewer', name: 'Reviewer' },
- { value: 'LimitedDetails', name: 'Limited Details' },
- { value: 'AvailabilityOnly', name: 'Availability Only' },
+ {
+ value: 'LimitedDetails',
+ name: 'Limited Details',
+ },
+ {
+ value: 'AvailabilityOnly',
+ name: 'Availability Only',
+ },
]}
placeholder="Select a permission level"
name="Permissions"
From 0c04ed8c8fe35c842c385bfcdc40587d8234492a Mon Sep 17 00:00:00 2001
From: Kevin Grube
Date: Mon, 11 Mar 2024 22:46:52 -0700
Subject: [PATCH 03/25] Bump version, update font awesome icons
---
package-lock.json | 104 +++++++++++++++++++++++-----------------------
package.json | 12 +++---
2 files changed, 58 insertions(+), 58 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index b5803ad11042..d2279b2b7eec 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "cipp",
- "version": "4.5.5",
+ "version": "5.2.1",
"lockfileVersion": 2,
"requires": true,
"packages": {
"": {
"name": "cipp",
- "version": "4.5.5",
+ "version": "5.2.1",
"license": "AGPL-3.0",
"dependencies": {
"@coreui/chartjs": "^3.0.0",
@@ -14,11 +14,11 @@
"@coreui/react": "^4.11.0",
"@coreui/react-chartjs": "^2.1.3",
"@coreui/utils": "^1.3.1",
- "@fortawesome/fontawesome-svg-core": "^1.2.36",
- "@fortawesome/free-brands-svg-icons": "^5.15.4",
- "@fortawesome/free-regular-svg-icons": "^5.15.4",
- "@fortawesome/free-solid-svg-icons": "^5.15.4",
- "@fortawesome/react-fontawesome": "^0.1.16",
+ "@fortawesome/fontawesome-svg-core": "^6.5.1",
+ "@fortawesome/free-brands-svg-icons": "^6.5.1",
+ "@fortawesome/free-regular-svg-icons": "^6.5.1",
+ "@fortawesome/free-solid-svg-icons": "^6.5.1",
+ "@fortawesome/react-fontawesome": "^0.2.0",
"@monaco-editor/react": "^4.5.2",
"@popperjs/core": "^2.10.2",
"@reduxjs/toolkit": "^1.9.7",
@@ -1166,72 +1166,72 @@
"integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q=="
},
"node_modules/@fortawesome/fontawesome-common-types": {
- "version": "0.2.36",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
- "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz",
+ "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A==",
"hasInstallScript": true,
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/fontawesome-svg-core": {
- "version": "1.2.36",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz",
- "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.1.tgz",
+ "integrity": "sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ==",
"hasInstallScript": true,
"dependencies": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/free-brands-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.4.tgz",
- "integrity": "sha512-f1witbwycL9cTENJegcmcZRYyawAFbm8+c6IirLmwbbpqz46wyjbQYLuxOc7weXFXfB7QR8/Vd2u5R3q6JYD9g==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.1.tgz",
+ "integrity": "sha512-093l7DAkx0aEtBq66Sf19MgoZewv1zeY9/4C7vSKPO4qMwEsW/2VYTUTpBtLwfb9T2R73tXaRDPmE4UqLCYHfg==",
"hasInstallScript": true,
"dependencies": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/free-regular-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.4.tgz",
- "integrity": "sha512-9VNNnU3CXHy9XednJ3wzQp6SwNwT3XaM26oS4Rp391GsxVYA+0oDR2J194YCIWf7jNRCYKjUCOduxdceLrx+xw==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.5.1.tgz",
+ "integrity": "sha512-m6ShXn+wvqEU69wSP84coxLbNl7sGVZb+Ca+XZq6k30SzuP3X4TfPqtycgUh9ASwlNh5OfQCd8pDIWxl+O+LlQ==",
"hasInstallScript": true,
"dependencies": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/free-solid-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
- "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.1.tgz",
+ "integrity": "sha512-S1PPfU3mIJa59biTtXJz1oI0+KAXW6bkAb31XKhxdxtuXDiUIFsih4JR1v5BbxY7hVHsD1RKq+jRkVRaf773NQ==",
"hasInstallScript": true,
"dependencies": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
},
"engines": {
"node": ">=6"
}
},
"node_modules/@fortawesome/react-fontawesome": {
- "version": "0.1.19",
- "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.19.tgz",
- "integrity": "sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ==",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz",
+ "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==",
"dependencies": {
"prop-types": "^15.8.1"
},
"peerDependencies": {
"@fortawesome/fontawesome-svg-core": "~1 || ~6",
- "react": ">=16.x"
+ "react": ">=16.3"
}
},
"node_modules/@humanwhocodes/config-array": {
@@ -9749,46 +9749,46 @@
"integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q=="
},
"@fortawesome/fontawesome-common-types": {
- "version": "0.2.36",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-0.2.36.tgz",
- "integrity": "sha512-a/7BiSgobHAgBWeN7N0w+lAhInrGxksn13uK7231n2m8EDPE3BMCl9NZLTGrj9ZXfCmC6LM0QLqXidIizVQ6yg=="
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-common-types/-/fontawesome-common-types-6.5.1.tgz",
+ "integrity": "sha512-GkWzv+L6d2bI5f/Vk6ikJ9xtl7dfXtoRu3YGE6nq0p/FFqA1ebMOAWg3XgRyb0I6LYyYkiAo+3/KrwuBp8xG7A=="
},
"@fortawesome/fontawesome-svg-core": {
- "version": "1.2.36",
- "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-1.2.36.tgz",
- "integrity": "sha512-YUcsLQKYb6DmaJjIHdDWpBIGCcyE/W+p/LMGvjQem55Mm2XWVAP5kWTMKWLv9lwpCVjpLxPyOMOyUocP1GxrtA==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-svg-core/-/fontawesome-svg-core-6.5.1.tgz",
+ "integrity": "sha512-MfRCYlQPXoLlpem+egxjfkEuP9UQswTrlCOsknus/NcMoblTH2g0jPrapbcIb04KGA7E2GZxbAccGZfWoYgsrQ==",
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
}
},
"@fortawesome/free-brands-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-5.15.4.tgz",
- "integrity": "sha512-f1witbwycL9cTENJegcmcZRYyawAFbm8+c6IirLmwbbpqz46wyjbQYLuxOc7weXFXfB7QR8/Vd2u5R3q6JYD9g==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-brands-svg-icons/-/free-brands-svg-icons-6.5.1.tgz",
+ "integrity": "sha512-093l7DAkx0aEtBq66Sf19MgoZewv1zeY9/4C7vSKPO4qMwEsW/2VYTUTpBtLwfb9T2R73tXaRDPmE4UqLCYHfg==",
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
}
},
"@fortawesome/free-regular-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-5.15.4.tgz",
- "integrity": "sha512-9VNNnU3CXHy9XednJ3wzQp6SwNwT3XaM26oS4Rp391GsxVYA+0oDR2J194YCIWf7jNRCYKjUCOduxdceLrx+xw==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-regular-svg-icons/-/free-regular-svg-icons-6.5.1.tgz",
+ "integrity": "sha512-m6ShXn+wvqEU69wSP84coxLbNl7sGVZb+Ca+XZq6k30SzuP3X4TfPqtycgUh9ASwlNh5OfQCd8pDIWxl+O+LlQ==",
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
}
},
"@fortawesome/free-solid-svg-icons": {
- "version": "5.15.4",
- "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-5.15.4.tgz",
- "integrity": "sha512-JLmQfz6tdtwxoihXLg6lT78BorrFyCf59SAwBM6qV/0zXyVeDygJVb3fk+j5Qat+Yvcxp1buLTY5iDh1ZSAQ8w==",
+ "version": "6.5.1",
+ "resolved": "https://registry.npmjs.org/@fortawesome/free-solid-svg-icons/-/free-solid-svg-icons-6.5.1.tgz",
+ "integrity": "sha512-S1PPfU3mIJa59biTtXJz1oI0+KAXW6bkAb31XKhxdxtuXDiUIFsih4JR1v5BbxY7hVHsD1RKq+jRkVRaf773NQ==",
"requires": {
- "@fortawesome/fontawesome-common-types": "^0.2.36"
+ "@fortawesome/fontawesome-common-types": "6.5.1"
}
},
"@fortawesome/react-fontawesome": {
- "version": "0.1.19",
- "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.1.19.tgz",
- "integrity": "sha512-Hyb+lB8T18cvLNX0S3llz7PcSOAJMLwiVKBuuzwM/nI5uoBw+gQjnf9il0fR1C3DKOI5Kc79pkJ4/xB0Uw9aFQ==",
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/@fortawesome/react-fontawesome/-/react-fontawesome-0.2.0.tgz",
+ "integrity": "sha512-uHg75Rb/XORTtVt7OS9WoK8uM276Ufi7gCzshVWkUJbHhh3svsUUeqXerrM96Wm7fRiDzfKRwSoahhMIkGAYHw==",
"requires": {
"prop-types": "^15.8.1"
}
diff --git a/package.json b/package.json
index bdff861cc3bf..176e2b10ec85 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "cipp",
- "version": "4.5.5",
+ "version": "5.2.1",
"description": "The CyberDrain Improved Partner Portal is a portal to help manage administration for Microsoft Partners.",
"homepage": "https://cipp.app/",
"bugs": {
@@ -31,11 +31,11 @@
"@coreui/react": "^4.11.0",
"@coreui/react-chartjs": "^2.1.3",
"@coreui/utils": "^1.3.1",
- "@fortawesome/fontawesome-svg-core": "^1.2.36",
- "@fortawesome/free-brands-svg-icons": "^5.15.4",
- "@fortawesome/free-regular-svg-icons": "^5.15.4",
- "@fortawesome/free-solid-svg-icons": "^5.15.4",
- "@fortawesome/react-fontawesome": "^0.1.16",
+ "@fortawesome/fontawesome-svg-core": "^6.5.1",
+ "@fortawesome/free-brands-svg-icons": "^6.5.1",
+ "@fortawesome/free-regular-svg-icons": "^6.5.1",
+ "@fortawesome/free-solid-svg-icons": "^6.5.1",
+ "@fortawesome/react-fontawesome": "^0.2.0",
"@monaco-editor/react": "^4.5.2",
"@popperjs/core": "^2.10.2",
"@reduxjs/toolkit": "^1.9.7",
From 5d2f33e0e792ba4aa2b41943482f7b5c52ac6388 Mon Sep 17 00:00:00 2001
From: Kevin Grube
Date: Mon, 11 Mar 2024 22:49:25 -0700
Subject: [PATCH 04/25] Unify all results notifications to use new component
CippCallout which combines CCallout and CAlert but is dismissible. Fix
issues with notification not appearing when running a second time. Fix issue
with password config not working.
---
src/components/layout/CippCallout.css | 28 +++
src/components/layout/CippCallout.jsx | 70 ++++++
src/components/layout/index.js | 2 +
src/components/utilities/CippCallout.jsx | 47 ----
.../SettingsExtensionMappings.jsx | 70 +++---
.../cipp/app-settings/SettingsExtensions.jsx | 52 ++---
.../cipp/app-settings/SettingsGeneral.jsx | 7 +-
.../cipp/app-settings/SettingsLicenses.jsx | 34 +--
.../app-settings/SettingsNotifications.jsx | 22 +-
.../cipp/app-settings/SettingsTenants.jsx | 10 +-
.../app-settings/components/SettingsDNS.jsx | 217 ------------------
.../components/SettingsDNSResolver.jsx | 50 ++++
.../components/SettingsGeneralRow.jsx | 178 ++++++++++++++
.../components/SettingsPassword.jsx | 36 +--
14 files changed, 446 insertions(+), 377 deletions(-)
create mode 100644 src/components/layout/CippCallout.css
create mode 100644 src/components/layout/CippCallout.jsx
delete mode 100644 src/components/utilities/CippCallout.jsx
delete mode 100644 src/views/cipp/app-settings/components/SettingsDNS.jsx
create mode 100644 src/views/cipp/app-settings/components/SettingsDNSResolver.jsx
create mode 100644 src/views/cipp/app-settings/components/SettingsGeneralRow.jsx
diff --git a/src/components/layout/CippCallout.css b/src/components/layout/CippCallout.css
new file mode 100644
index 000000000000..f9b358d18f70
--- /dev/null
+++ b/src/components/layout/CippCallout.css
@@ -0,0 +1,28 @@
+.cipp-callout {
+ --cui-callout-padding-x: 1rem;
+ --cui-callout-padding-y: 1rem;
+ --cui-callout-border-width: var(--cui-border-width);
+ --cui-callout-border-color: var(--cui-border-color);
+ --cui-callout-border-left-width: calc(var(--cui-border-width) * 4);
+ --cui-callout-border-radius: var(--cui-border-radius);
+ border: var(--cui-callout-border-width) solid var(--cui-callout-border-color);
+ border-radius: var(--cui-callout-border-radius);
+ margin-bottom: 16px;
+ padding: var(--cui-callout-padding-y) var(--cui-callout-padding-x);
+}
+
+html:not([dir=rtl]) .cipp-callout {
+ border-left-color: var(--cui-callout-border-left-color);
+}
+
+html:not([dir=rtl]) .cipp-callout {
+ border-left-width: var(--cui-callout-border-left-width);
+}
+
+html:not([dir=rtl]) .cipp-callout-dismissible .btn {
+ right: 0;
+}
+
+.cipp-callout-dismissible .btn {
+ cursor: pointer;
+}
diff --git a/src/components/layout/CippCallout.jsx b/src/components/layout/CippCallout.jsx
new file mode 100644
index 000000000000..f771c0c085bc
--- /dev/null
+++ b/src/components/layout/CippCallout.jsx
@@ -0,0 +1,70 @@
+import React, { useState } from 'react'
+import { CAlert, CCallout } from '@coreui/react'
+import PropTypes from 'prop-types'
+import './CippCallout.css'
+import classNames from 'classnames'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faXmark } from '@fortawesome/free-solid-svg-icons'
+
+export function CippCallout({
+ dismissible = false,
+ color = 'primary',
+ children = null,
+ className = '',
+ style = {},
+ ...rest
+}) {
+ const [open, setOpen] = useState(true)
+
+ if (!open) {
+ return null
+ }
+
+ return (
+
+
{children}
+ {dismissible && (
+
setOpen(false)}
+ style={{ padding: 0, margin: 0 }}
+ >
+
+
+ )}
+
+ )
+}
+
+CippCallout.propTypes = {
+ dismissible: PropTypes.bool,
+ color: PropTypes.oneOf([
+ 'primary',
+ 'secondary',
+ 'success',
+ 'warning',
+ 'danger',
+ 'info',
+ 'light',
+ 'dark',
+ ]),
+ children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
+ className: PropTypes.string,
+ style: PropTypes.object,
+}
diff --git a/src/components/layout/index.js b/src/components/layout/index.js
index 715c29a52e64..fd10309efc93 100644
--- a/src/components/layout/index.js
+++ b/src/components/layout/index.js
@@ -7,6 +7,7 @@ import CippContentCard from 'src/components/layout/CippContentCard'
import { CippMasonry, CippMasonryItem } from 'src/components/layout/CippMasonry'
import { CippPage, CippPageList } from 'src/components/layout/CippPage'
import CippWizard from 'src/components/layout/CippWizard'
+import { CippCallout } from 'src/components/layout/CippCallout.jsx'
export {
AppBreadcrumb,
@@ -19,5 +20,6 @@ export {
CippMasonryItem,
CippPage,
CippPageList,
+ CippCallout,
CippWizard,
}
diff --git a/src/components/utilities/CippCallout.jsx b/src/components/utilities/CippCallout.jsx
deleted file mode 100644
index 341725151cfb..000000000000
--- a/src/components/utilities/CippCallout.jsx
+++ /dev/null
@@ -1,47 +0,0 @@
-import React, { useState } from 'react'
-import { CAlert } from '@coreui/react'
-import PropTypes from 'prop-types'
-import classNames from 'classnames'
-
-export function CippCallout({
- children,
- color = 'primary',
- borderColor = 'primary',
- dismissible = false,
- ...rest
-}) {
- const [open, setOpen] = useState(true)
-
- const handleDismiss = () => setOpen(false)
-
- return open ? (
-
- {children}
- {dismissible && (
-
- )}
-
- ) : null
-}
-
-CippCallout.propTypes = {
- children: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.node), PropTypes.node]),
- color: PropTypes.string,
- borderColor: PropTypes.string,
- dismissible: PropTypes.bool,
-}
-
-export default CippCallout
diff --git a/src/views/cipp/app-settings/SettingsExtensionMappings.jsx b/src/views/cipp/app-settings/SettingsExtensionMappings.jsx
index aefa536ac876..5386afbf1fbd 100644
--- a/src/views/cipp/app-settings/SettingsExtensionMappings.jsx
+++ b/src/views/cipp/app-settings/SettingsExtensionMappings.jsx
@@ -16,6 +16,7 @@ import { RFFSelectSearch } from 'src/components/forms/index.js'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
import React from 'react'
+import { CippCallout } from 'src/components/layout/index.js'
/**
* Retrieves and sets the extension mappings for HaloPSA and NinjaOne.
@@ -108,15 +109,18 @@ export function SettingsExtensionMappings() {
Set Mappings
{(extensionHaloConfigResult.isSuccess ||
- extensionHaloConfigResult.isError) && (
-
- {extensionHaloConfigResult.isSuccess
- ? extensionHaloConfigResult.data.Results
- : 'Error'}
-
- )}
+ extensionHaloConfigResult.isError) &&
+ !extensionHaloConfigResult.isFetching && (
+
+ {extensionHaloConfigResult.isSuccess
+ ? extensionHaloConfigResult.data.Results
+ : 'Error'}
+
+ )}
)
@@ -186,17 +190,20 @@ export function SettingsExtensionMappings() {
Set Mappings
{(extensionNinjaFieldsConfigResult.isSuccess ||
- extensionNinjaFieldsConfigResult.isError) && (
-
- {extensionNinjaFieldsConfigResult.isSuccess
- ? extensionNinjaFieldsConfigResult.data.Results
- : 'Error'}
-
- )}
+ extensionNinjaFieldsConfigResult.isError) &&
+ !extensionNinjaFieldsConfigResult.isFetching && (
+
+ {extensionNinjaFieldsConfigResult.isSuccess
+ ? extensionNinjaFieldsConfigResult.data.Results
+ : 'Error'}
+
+ )}
)
@@ -246,15 +253,20 @@ export function SettingsExtensionMappings() {
Automap NinjaOne Organizations
{(extensionNinjaOrgsConfigResult.isSuccess ||
- extensionNinjaOrgsConfigResult.isError) && (
-
- {extensionNinjaOrgsConfigResult.isSuccess
- ? extensionNinjaOrgsConfigResult.data.Results
- : 'Error'}
-
- )}
+ extensionNinjaOrgsConfigResult.isError) &&
+ !extensionNinjaFieldsConfigResult.isFetching && (
+
+ {extensionNinjaOrgsConfigResult.isSuccess
+ ? extensionNinjaOrgsConfigResult.data.Results
+ : 'Error'}
+
+ )}
{(extensionNinjaOrgsAutomapResult.isSuccess ||
extensionNinjaOrgsAutomapResult.isError) && (
-
+
+
)}
- {listSyncExtensionResult.isSuccess && (
-
-
- Results
-
-
-
- {listSyncExtensionResult.data.Results}
-
-
-
+ {listSyncExtensionResult.isSuccess && !listSyncExtensionResult.isFetching && (
+
+ {listSyncExtensionResult.data.Results}
+
)}
- {listExtensionTestResult.isSuccess && (
-
-
- Results
-
-
-
- {listExtensionTestResult.data.Results}
-
-
-
+ {listExtensionTestResult.isSuccess && !listExtensionTestResult.isFetching && (
+
+ {listExtensionTestResult.data.Results}
+
)}
- {extensionConfigResult.isSuccess && (
-
-
- Results
-
-
-
- {extensionConfigResult.data.Results}
-
-
-
+ {extensionConfigResult.isSuccess && !extensionConfigResult.isFetching && (
+
+ {extensionConfigResult.data.Results}
+
)}
{Extensions.map((integration, idx) => (
diff --git a/src/views/cipp/app-settings/SettingsGeneral.jsx b/src/views/cipp/app-settings/SettingsGeneral.jsx
index 1e3f82677585..887758f30abb 100644
--- a/src/views/cipp/app-settings/SettingsGeneral.jsx
+++ b/src/views/cipp/app-settings/SettingsGeneral.jsx
@@ -27,10 +27,10 @@ import CippListOffcanvas from 'src/components/utilities/CippListOffcanvas.jsx'
import { TableModalButton } from 'src/components/buttons/index.js'
import { CippTable } from 'src/components/tables/index.js'
import { TenantSelectorMultiple } from 'src/components/utilities/index.js'
-import { SettingsDNS } from 'src/views/cipp/app-settings/components/SettingsDNS.jsx'
+import { SettingsGeneralRow } from 'src/views/cipp/app-settings/components/SettingsGeneralRow.jsx'
/**
- * SettingsGeneral method.
+ * SettingsGeneral component.
* This method is responsible for managing general settings.
* @returns {JSX.Element}
*/
@@ -215,7 +215,6 @@ export function SettingsGeneral() {
pagination: false,
actions: [
{
console.log(e)
@@ -230,7 +229,7 @@ export function SettingsGeneral() {
-
+
diff --git a/src/views/cipp/app-settings/SettingsLicenses.jsx b/src/views/cipp/app-settings/SettingsLicenses.jsx
index b1e7e49fa919..dd9695b6ca6c 100644
--- a/src/views/cipp/app-settings/SettingsLicenses.jsx
+++ b/src/views/cipp/app-settings/SettingsLicenses.jsx
@@ -7,7 +7,7 @@ import { TitleButton } from 'src/components/buttons/index.js'
import { CButton, CCallout, CSpinner } from '@coreui/react'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
import { faTrash } from '@fortawesome/free-solid-svg-icons'
-import { CippPageList } from 'src/components/layout/index.js'
+import { CippCallout, CippPageList } from 'src/components/layout/index.js'
/**
* SettingsLicenses component is used to manage excluded licenses in a settings page.
@@ -47,14 +47,14 @@ export function SettingsLicenses() {
}
const titleButton =
- const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery()
+ const [executeGetRequest, getResults] = useLazyGenericGetRequestQuery()
const Offcanvas = (row, rowIndex, formatExtraData) => {
const handleDeleteIntuneTemplate = (apiurl, message) => {
ModalService.confirm({
title: 'Confirm',
body: {message}
,
- onConfirm: () => ExecuteGetRequest({ path: apiurl }),
+ onConfirm: () => executeGetRequest({ path: apiurl }),
confirmLabel: 'Continue',
cancelLabel: 'Cancel',
})
@@ -102,22 +102,30 @@ export function SettingsLicenses() {
<>
{setExclusionResults.isFetching ||
(getResults.isFetching && (
-
+
Loading
-
+
))}
- {setExclusionResults.isSuccess && (
- {setExclusionResults.data?.Results}
+ {setExclusionResults.isSuccess && !setExclusionResults.isFetching && (
+
+ {setExclusionResults.data?.Results}
+
)}
- {setExclusionResults.isError && (
-
+ {setExclusionResults.isError && !setExclusionResults.isFetching && (
+
Could not connect to API: {setExclusionResults.error.message}
-
+
)}
- {getResults.isError && (
- Could not connect to API: {getResults.error.message}
+ {getResults.isError && !getResults.isFetching && (
+
+ Could not connect to API: {getResults.error.message}
+
+ )}
+ {getResults.isSuccess && !getResults.isFetching && (
+
+ {getResults.data?.Results}
+
)}
- {getResults.isSuccess && {getResults.data?.Results} }
{
configNotifications(values)
}
@@ -36,7 +38,7 @@ export function SettingsNotifications() {
)}
{!notificationListResult.isFetching && notificationListResult.error && (
- Error loading data
+ Error loading data
)}
{notificationListResult.isSuccess && (
@@ -62,17 +64,19 @@ export function SettingsNotifications() {
return (
{notificationConfigResult.isFetching && (
-
+
Loading
-
+
)}
- {notificationConfigResult.isSuccess && (
- {notificationConfigResult.data?.Results}
+ {notificationConfigResult.isSuccess && !notificationConfigResult.isFetching && (
+
+ {notificationConfigResult.data?.Results}
+
)}
- {notificationConfigResult.isError && (
-
+ {notificationConfigResult.isError && !notificationConfigResult.isFetching && (
+
Could not connect to API: {notificationConfigResult.error.message}
-
+
)}
diff --git a/src/views/cipp/app-settings/SettingsTenants.jsx b/src/views/cipp/app-settings/SettingsTenants.jsx
index 14850a7182d9..c425f3c1ae97 100644
--- a/src/views/cipp/app-settings/SettingsTenants.jsx
+++ b/src/views/cipp/app-settings/SettingsTenants.jsx
@@ -17,14 +17,13 @@ import {
faRecycle,
} from '@fortawesome/free-solid-svg-icons'
import { cellBooleanFormatter, CellTip } from 'src/components/tables/index.js'
-import { CippPageList } from 'src/components/layout/index.js'
-import CippCallout from 'src/components/utilities/CippCallout.jsx'
+import { CippCallout, CippPageList } from 'src/components/layout/index.js'
/**
* The SettingsTenants method is used to manage the tenants in the application. It allows the user to add or
* remove exclusions, refresh permissions for a tenant, and view the list of excluded tenants.
*
- * @return {ReactElement} The rendered component for managing the excluded tenants.
+ * @return {JSXElement} The rendered component for managing the excluded tenants.
*/
export function SettingsTenants() {
const dispatch = useDispatch()
@@ -203,13 +202,14 @@ export function SettingsTenants() {
)}
- {removeExcludeTenantResult.isSuccess && (
+ {removeExcludeTenantResult.isSuccess && !removeExcludeTenantResult.isFetching && (
{removeExcludeTenantResult.data?.Results}
)}
{refreshPermissionsResults.isSuccess &&
refreshPermissionsResults.data?.Results &&
+ !refreshPermissionsResults.isFetching &&
Array.isArray(refreshPermissionsResults.data.Results) ? (
{refreshPermissionsResults.data.Results.map((result, idx) => (
@@ -217,7 +217,7 @@ export function SettingsTenants() {
))}
) : null}
- {addExcludeTenantResult.isSuccess && (
+ {addExcludeTenantResult.isSuccess && !addExcludeTenantResult.isFetching && (
{addExcludeTenantResult.data?.Results}
diff --git a/src/views/cipp/app-settings/components/SettingsDNS.jsx b/src/views/cipp/app-settings/components/SettingsDNS.jsx
deleted file mode 100644
index 5a76aa119cad..000000000000
--- a/src/views/cipp/app-settings/components/SettingsDNS.jsx
+++ /dev/null
@@ -1,217 +0,0 @@
-import {
- useLazyExecClearCacheQuery,
- useLazyGenericGetRequestQuery,
- useLazyGenericPostRequestQuery,
- useLoadVersionsQuery,
-} from 'src/store/api/app.js'
-import { useLazyEditDnsConfigQuery, useLazyGetDnsConfigQuery } from 'src/store/api/domains.js'
-import React, { useRef, useState } from 'react'
-import useConfirmModal from 'src/hooks/useConfirmModal.jsx'
-import {
- CButton,
- CButtonGroup,
- CCallout,
- CCard,
- CCardBody,
- CCardHeader,
- CCol,
- CRow,
-} from '@coreui/react'
-import { StatusIcon } from 'src/components/utilities/index.js'
-import Skeleton from 'react-loading-skeleton'
-import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
-import { SettingsPassword } from 'src/views/cipp/app-settings/components/SettingsPassword.jsx'
-
-/**
- * Fetches and maintains DNS configuration settings for the application.
- *
- * @return {JSX.Element | void} The settings DNS component or nothing if data not ready.
- */
-export function SettingsDNS() {
- const [runBackup, RunBackupResult] = useLazyGenericGetRequestQuery()
- const [restoreBackup, restoreBackupResult] = useLazyGenericPostRequestQuery()
- const [getDnsConfig, getDnsConfigResult] = useLazyGetDnsConfigQuery()
- const [editDnsConfig, editDnsConfigResult] = useLazyEditDnsConfigQuery()
- const inputRef = useRef(null)
- const [clearCache, clearCacheResult] = useLazyExecClearCacheQuery()
- const { data: versions, isSuccess: isSuccessVersion } = useLoadVersionsQuery()
-
- const [alertVisible, setAlertVisible] = useState(false)
- const downloadTxtFile = (data) => {
- const txtdata = [JSON.stringify(RunBackupResult.data.backup)]
- const file = new Blob(txtdata, { type: 'text/plain' })
- const element = document.createElement('a')
- element.href = URL.createObjectURL(file)
- element.download = 'CIPP-Backup' + Date.now() + '.json'
- document.body.appendChild(element)
- element.click()
- }
- const handleChange = (e) => {
- const fileReader = new FileReader()
- fileReader.readAsText(e.target.files[0], 'UTF-8')
- fileReader.onload = (e) => {
- restoreBackup({ path: '/api/ExecRestoreBackup', values: e.target.result })
- }
- }
- const switchResolver = (resolver) => {
- editDnsConfig({ resolver })
- getDnsConfig()
- setAlertVisible(true)
- setTimeout(() => {
- setAlertVisible(false)
- }, 2000)
- }
- const handleClearCache = useConfirmModal({
- body: Are you sure you want to clear the cache?
,
- onConfirm: () => {
- clearCache({ tenantsOnly: false })
- localStorage.clear()
- },
- })
-
- const handleClearCacheTenant = useConfirmModal({
- body: Are you sure you want to clear the cache?
,
- onConfirm: () => {
- clearCache({ tenantsOnly: true })
- },
- })
- const resolvers = ['Google', 'Cloudflare', 'Quad9']
-
- return (
- <>
- {getDnsConfigResult.isUninitialized && getDnsConfig()}
- {getDnsConfigResult.isSuccess && (
-
-
-
-
-
-
-
-
- DNS Resolver
-
- {resolvers.map((r, index) => (
- switchResolver(r)}
- color={r === getDnsConfigResult.data.Resolver ? 'primary' : 'secondary'}
- key={index}
- >
- {r}
-
- ))}
-
- {(editDnsConfigResult.isSuccess || editDnsConfigResult.isError) && (
-
- {editDnsConfigResult.isSuccess
- ? editDnsConfigResult.data.Results
- : 'Error setting resolver'}
-
- )}
-
-
- Frontend Version
-
- Latest: {isSuccessVersion ? versions.RemoteCIPPVersion : }
-
- Current: {isSuccessVersion ? versions.LocalCIPPVersion : }
-
-
-
- Clear Caches
- handleClearCache()}
- disabled={clearCacheResult.isFetching}
- >
- {clearCacheResult.isFetching && (
-
- )}
- Clear All Cache
-
- handleClearCacheTenant()}
- disabled={clearCacheResult.isFetching}
- >
- {clearCacheResult.isFetching && (
-
- )}
- Clear Tenant Cache
-
- {clearCacheResult.isSuccess && (
- {clearCacheResult.data?.Results}
- )}
-
-
- Settings Backup
- runBackup({ path: '/api/ExecRunBackup' })}
- disabled={RunBackupResult.isFetching}
- >
- {RunBackupResult.isFetching && (
-
- )}
- Run backup
-
- handleChange(e)}
- />
- inputRef.current.click()}
- disabled={restoreBackupResult.isFetching}
- >
- {restoreBackupResult.isFetching && (
-
- )}
- Restore backup
-
- {restoreBackupResult.isSuccess && (
- <>
- {restoreBackupResult.data.Results}
- >
- )}
- {RunBackupResult.isSuccess && (
- <>
-
- downloadTxtFile(RunBackupResult.data.backup)}>
- Download Backup
-
-
- >
- )}
-
-
- Backend API Version
-
- Latest: {isSuccessVersion ? versions.RemoteCIPPAPIVersion : }
-
- Current: {isSuccessVersion ? versions.LocalCIPPAPIVersion : }
-
-
-
-
-
- )}
- >
- )
-}
diff --git a/src/views/cipp/app-settings/components/SettingsDNSResolver.jsx b/src/views/cipp/app-settings/components/SettingsDNSResolver.jsx
new file mode 100644
index 000000000000..a656578a185a
--- /dev/null
+++ b/src/views/cipp/app-settings/components/SettingsDNSResolver.jsx
@@ -0,0 +1,50 @@
+import { CAlert, CButton, CButtonGroup } from '@coreui/react'
+import React, { useState } from 'react'
+import { useLazyEditDnsConfigQuery, useLazyGetDnsConfigQuery } from 'src/store/api/domains.js'
+import { CippCallout } from 'src/components/layout/index.js'
+
+/**
+ * Sets the DNS resolver based on user selection.
+ *
+ * @return {JSX.Element} - The component that renders the DNS resolver settings.
+ */
+export function SettingsDNSResolver() {
+ const resolvers = ['Google', 'Cloudflare', 'Quad9']
+ const [getDnsConfig, getDnsConfigResult] = useLazyGetDnsConfigQuery()
+ const [editDnsConfig, editDnsConfigResult] = useLazyEditDnsConfigQuery()
+
+ const switchResolver = async (resolver) => {
+ await editDnsConfig({ resolver })
+ await getDnsConfig()
+ }
+
+ return (
+ <>
+ {getDnsConfigResult.isUninitialized && getDnsConfig()}
+ {getDnsConfigResult.isSuccess && (
+ <>
+ DNS Resolver
+
+ {resolvers.map((resolver, index) => (
+ switchResolver(resolver)}
+ color={resolver === getDnsConfigResult.data.Resolver ? 'primary' : 'secondary'}
+ key={index}
+ >
+ {resolver}
+
+ ))}
+
+ {(editDnsConfigResult.isSuccess || editDnsConfigResult.isError) &&
+ !editDnsConfigResult.isFetching && (
+
+ {editDnsConfigResult.isSuccess
+ ? editDnsConfigResult.data.Results
+ : 'Error setting resolver'}
+
+ )}
+ >
+ )}
+ >
+ )
+}
diff --git a/src/views/cipp/app-settings/components/SettingsGeneralRow.jsx b/src/views/cipp/app-settings/components/SettingsGeneralRow.jsx
new file mode 100644
index 000000000000..5e1f01f91e39
--- /dev/null
+++ b/src/views/cipp/app-settings/components/SettingsGeneralRow.jsx
@@ -0,0 +1,178 @@
+import {
+ useLazyExecClearCacheQuery,
+ useLazyGenericGetRequestQuery,
+ useLazyGenericPostRequestQuery,
+ useLoadVersionsQuery,
+} from 'src/store/api/app.js'
+import React, { useRef } from 'react'
+import useConfirmModal from 'src/hooks/useConfirmModal.jsx'
+import { CButton, CCard, CCardBody, CCardHeader, CCol, CRow } from '@coreui/react'
+import { StatusIcon } from 'src/components/utilities/index.js'
+import { CippCallout } from 'src/components/layout/index.js'
+import Skeleton from 'react-loading-skeleton'
+import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
+import { faCircleNotch } from '@fortawesome/free-solid-svg-icons'
+import { SettingsPassword } from 'src/views/cipp/app-settings/components/SettingsPassword.jsx'
+import { SettingsDNSResolver } from 'src/views/cipp/app-settings/components/SettingsDNSResolver.jsx'
+
+/**
+ * Fetches and maintains DNS configuration settings for the application.
+ *
+ * @return {JSX.Element | void} The settings DNS component or nothing if data not ready.
+ */
+export function SettingsGeneralRow() {
+ const [runBackup, RunBackupResult] = useLazyGenericGetRequestQuery()
+ const [restoreBackup, restoreBackupResult] = useLazyGenericPostRequestQuery()
+
+ const inputRef = useRef(null)
+ const [clearCache, clearCacheResult] = useLazyExecClearCacheQuery()
+ const { data: versions, isSuccess: isSuccessVersion } = useLoadVersionsQuery()
+
+ const downloadTxtFile = (data) => {
+ const txtdata = [JSON.stringify(RunBackupResult.data.backup)]
+ const file = new Blob(txtdata, { type: 'text/plain' })
+ const element = document.createElement('a')
+ element.href = URL.createObjectURL(file)
+ element.download = 'CIPP-Backup' + Date.now() + '.json'
+ document.body.appendChild(element)
+ element.click()
+ }
+ const handleChange = (e) => {
+ const fileReader = new FileReader()
+ fileReader.readAsText(e.target.files[0], 'UTF-8')
+ fileReader.onload = (e) => {
+ restoreBackup({ path: '/api/ExecRestoreBackup', values: e.target.result })
+ }
+ }
+
+ const handleClearCache = useConfirmModal({
+ body: Are you sure you want to clear the cache?
,
+ onConfirm: () => {
+ clearCache({ tenantsOnly: false })
+ localStorage.clear()
+ },
+ })
+
+ const handleClearCacheTenant = useConfirmModal({
+ body: Are you sure you want to clear the cache?
,
+ onConfirm: () => {
+ clearCache({ tenantsOnly: true })
+ },
+ })
+
+ return (
+ <>
+
+
+
+
+
+
+
+
+
+
+
+ Frontend Version
+
+ Latest: {isSuccessVersion ? versions.RemoteCIPPVersion : }
+
+ Current: {isSuccessVersion ? versions.LocalCIPPVersion : }
+
+
+
+ Clear Caches
+ handleClearCache()}
+ disabled={clearCacheResult.isFetching}
+ >
+ {clearCacheResult.isFetching && (
+
+ )}
+ Clear All Cache
+
+ handleClearCacheTenant()}
+ disabled={clearCacheResult.isFetching}
+ >
+ {clearCacheResult.isFetching && (
+
+ )}
+ Clear Tenant Cache
+
+ {clearCacheResult.isSuccess && !clearCacheResult.isFetching && (
+
+ {clearCacheResult.data?.Results}
+
+ )}
+
+
+ Settings Backup
+ runBackup({ path: '/api/ExecRunBackup' })}
+ disabled={RunBackupResult.isFetching}
+ >
+ {RunBackupResult.isFetching && (
+
+ )}
+ Run backup
+
+ handleChange(e)}
+ />
+ inputRef.current.click()}
+ disabled={restoreBackupResult.isFetching}
+ >
+ {restoreBackupResult.isFetching && (
+
+ )}
+ Restore backup
+
+ {restoreBackupResult.isSuccess && !restoreBackupResult.isFetching && (
+
+ {restoreBackupResult.data.Results}
+
+ )}
+ {RunBackupResult.isSuccess && !restoreBackupResult.isFetching && (
+
+ downloadTxtFile(RunBackupResult.data.backup)}>
+ Download Backup
+
+
+ )}
+
+
+ Backend API Version
+
+ Latest: {isSuccessVersion ? versions.RemoteCIPPAPIVersion : }
+
+ Current: {isSuccessVersion ? versions.LocalCIPPAPIVersion : }
+
+
+
+
+
+ >
+ )
+}
diff --git a/src/views/cipp/app-settings/components/SettingsPassword.jsx b/src/views/cipp/app-settings/components/SettingsPassword.jsx
index 958fcdd0aa32..aa8ed046d2b5 100644
--- a/src/views/cipp/app-settings/components/SettingsPassword.jsx
+++ b/src/views/cipp/app-settings/components/SettingsPassword.jsx
@@ -1,6 +1,7 @@
import { useLazyGenericGetRequestQuery, useLazyGenericPostRequestQuery } from 'src/store/api/app.js'
import React, { useState } from 'react'
import { CButton, CButtonGroup, CCallout } from '@coreui/react'
+import { CippCallout } from 'src/components/layout/index.js'
/**
* This method is responsible for handling password settings in the application.
@@ -17,18 +18,18 @@ import { CButton, CButtonGroup, CCallout } from '@coreui/react'
* The resolver that matches the current password configuration is highlighted with a primary color button.
* By clicking on a resolver button, the switchResolver function is called to update the password configuration and show the password alert.
*
- * @returns {React.Element} The rendered password settings component with the password style section and password alert section.
+ * @returns {JSXElement} The rendered password settings component with the password style section and password alert section.
*/
export function SettingsPassword() {
const [getPasswordConfig, getPasswordConfigResult] = useLazyGenericGetRequestQuery()
const [editPasswordConfig, editPasswordConfigResult] = useLazyGenericPostRequestQuery()
- const [passAlertVisible, setPassAlertVisible] = useState(false)
-
- const switchResolver = (resolver) => {
- editPasswordConfig({ path: '/api/ExecPasswordconfig', values: { passwordType: resolver } })
- getPasswordConfig()
- setPassAlertVisible(true)
+ const switchResolver = async (resolver) => {
+ await editPasswordConfig({
+ path: '/api/ExecPasswordConfig',
+ values: { passwordType: resolver },
+ })
+ await getPasswordConfig({ path: '/api/ExecPasswordConfig', params: { list: true } })
}
const resolvers = ['Classic', 'Correct-Battery-Horse']
@@ -51,16 +52,17 @@ export function SettingsPassword() {
))}
- {(editPasswordConfigResult.isSuccess || editPasswordConfigResult.isError) && (
-
- {editPasswordConfigResult.isSuccess
- ? editPasswordConfigResult.data.Results
- : 'Error setting password style'}
-
- )}
+ {(editPasswordConfigResult.isSuccess || editPasswordConfigResult.isError) &&
+ !editPasswordConfigResult.isFetching && (
+
+ {editPasswordConfigResult.isSuccess
+ ? editPasswordConfigResult.data.Results
+ : 'Error setting password style'}
+
+ )}
>
)
}
From b60e58100987be70d6a3c164c4f0254e092010d6 Mon Sep 17 00:00:00 2001
From: KelvinTegelaar
Date: Tue, 12 Mar 2024 12:32:35 +0100
Subject: [PATCH 05/25] add saving of user settings
---
package-lock.json | 2638 +++++++++--------
src/store/features/app.js | 8 +-
src/views/cipp/UserSettings.jsx | 64 +-
.../administration/OffboardingWizard.jsx | 4 +-
.../TenantOffboardingWizard.jsx | 4 +-
5 files changed, 1443 insertions(+), 1275 deletions(-)
diff --git a/package-lock.json b/package-lock.json
index d2279b2b7eec..8f8302ab3d25 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -110,12 +110,12 @@
}
},
"node_modules/@ampproject/remapping": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
@@ -142,20 +142,20 @@
}
},
"node_modules/@babel/core": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz",
- "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz",
+ "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==",
"dependencies": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.23.5",
"@babel/generator": "^7.23.6",
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helpers": "^7.23.7",
- "@babel/parser": "^7.23.6",
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.7",
- "@babel/types": "^7.23.6",
+ "@babel/helpers": "^7.24.0",
+ "@babel/parser": "^7.24.0",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.0",
+ "@babel/types": "^7.24.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -271,9 +271,9 @@
}
},
"node_modules/@babel/helper-plugin-utils": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
- "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+ "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==",
"engines": {
"node": ">=6.9.0"
}
@@ -325,13 +325,13 @@
}
},
"node_modules/@babel/helpers": {
- "version": "7.23.8",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz",
- "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz",
+ "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==",
"dependencies": {
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.7",
- "@babel/types": "^7.23.6"
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.0",
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
@@ -351,9 +351,9 @@
}
},
"node_modules/@babel/parser": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
- "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
+ "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==",
"bin": {
"parser": "bin/babel-parser.js"
},
@@ -406,9 +406,9 @@
}
},
"node_modules/@babel/runtime": {
- "version": "7.23.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
- "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz",
+ "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"dependencies": {
"regenerator-runtime": "^0.14.0"
},
@@ -417,22 +417,22 @@
}
},
"node_modules/@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
+ "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
"dependencies": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0"
},
"engines": {
"node": ">=6.9.0"
}
},
"node_modules/@babel/traverse": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
- "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz",
+ "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==",
"dependencies": {
"@babel/code-frame": "^7.23.5",
"@babel/generator": "^7.23.6",
@@ -440,8 +440,8 @@
"@babel/helper-function-name": "^7.23.0",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.6",
- "@babel/types": "^7.23.6",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0",
"debug": "^4.3.1",
"globals": "^11.1.0"
},
@@ -450,9 +450,9 @@
}
},
"node_modules/@babel/types": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
- "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
+ "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
"dependencies": {
"@babel/helper-string-parser": "^7.23.4",
"@babel/helper-validator-identifier": "^7.22.20",
@@ -590,9 +590,9 @@
"integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ=="
},
"node_modules/@emotion/is-prop-valid": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
- "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
+ "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==",
"dependencies": {
"@emotion/memoize": "^0.8.1"
}
@@ -603,9 +603,9 @@
"integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
},
"node_modules/@emotion/react": {
- "version": "11.11.3",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.3.tgz",
- "integrity": "sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==",
+ "version": "11.11.4",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz",
+ "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==",
"dependencies": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.11.0",
@@ -671,9 +671,9 @@
"integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww=="
},
"node_modules/@esbuild/aix-ppc64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz",
- "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
+ "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
"cpu": [
"ppc64"
],
@@ -687,9 +687,9 @@
}
},
"node_modules/@esbuild/android-arm": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz",
- "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
+ "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
"cpu": [
"arm"
],
@@ -703,9 +703,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz",
- "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
+ "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
"cpu": [
"arm64"
],
@@ -719,9 +719,9 @@
}
},
"node_modules/@esbuild/android-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz",
- "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
+ "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
"cpu": [
"x64"
],
@@ -735,9 +735,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz",
- "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
+ "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
"cpu": [
"arm64"
],
@@ -751,9 +751,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz",
- "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
+ "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
"cpu": [
"x64"
],
@@ -767,9 +767,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz",
- "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
+ "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
"cpu": [
"arm64"
],
@@ -783,9 +783,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz",
- "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
+ "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
"cpu": [
"x64"
],
@@ -799,9 +799,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz",
- "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
+ "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
"cpu": [
"arm"
],
@@ -815,9 +815,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz",
- "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
+ "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
"cpu": [
"arm64"
],
@@ -831,9 +831,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz",
- "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
+ "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
"cpu": [
"ia32"
],
@@ -847,9 +847,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz",
- "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
+ "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
"cpu": [
"loong64"
],
@@ -863,9 +863,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz",
- "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
+ "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
"cpu": [
"mips64el"
],
@@ -879,9 +879,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz",
- "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
+ "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
"cpu": [
"ppc64"
],
@@ -895,9 +895,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz",
- "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
+ "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
"cpu": [
"riscv64"
],
@@ -911,9 +911,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz",
- "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
+ "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
"cpu": [
"s390x"
],
@@ -927,9 +927,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz",
- "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
+ "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
"cpu": [
"x64"
],
@@ -943,9 +943,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz",
- "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
+ "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
"cpu": [
"x64"
],
@@ -959,9 +959,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz",
- "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
+ "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
"cpu": [
"x64"
],
@@ -975,9 +975,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz",
- "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
+ "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
"cpu": [
"x64"
],
@@ -991,9 +991,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz",
- "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
+ "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
"cpu": [
"arm64"
],
@@ -1007,9 +1007,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz",
- "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
+ "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
"cpu": [
"ia32"
],
@@ -1023,9 +1023,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz",
- "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
+ "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
"cpu": [
"x64"
],
@@ -1135,28 +1135,28 @@
}
},
"node_modules/@eslint/js": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
- "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true,
"engines": {
"node": "^12.22.0 || ^14.17.0 || >=16.0.0"
}
},
"node_modules/@floating-ui/core": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.3.tgz",
- "integrity": "sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz",
+ "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==",
"dependencies": {
- "@floating-ui/utils": "^0.2.0"
+ "@floating-ui/utils": "^0.2.1"
}
},
"node_modules/@floating-ui/dom": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.4.tgz",
- "integrity": "sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==",
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz",
+ "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==",
"dependencies": {
- "@floating-ui/core": "^1.5.3",
+ "@floating-ui/core": "^1.0.0",
"@floating-ui/utils": "^0.2.0"
}
},
@@ -1268,42 +1268,42 @@
"dev": true
},
"node_modules/@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"dependencies": {
- "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/trace-mapping": "^0.3.24"
},
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==",
"engines": {
"node": ">=6.0.0"
}
},
"node_modules/@jridgewell/source-map": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
- "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"peer": true,
"dependencies": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
"node_modules/@jridgewell/sourcemap-codec": {
@@ -1312,9 +1312,9 @@
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"node_modules/@jridgewell/trace-mapping": {
- "version": "0.3.22",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
- "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"dependencies": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
@@ -1433,9 +1433,9 @@
}
},
"node_modules/@remix-run/router": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz",
- "integrity": "sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg==",
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
+ "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w==",
"engines": {
"node": ">=14.0.0"
}
@@ -1449,9 +1449,9 @@
}
},
"node_modules/@restart/hooks": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.15.tgz",
- "integrity": "sha512-cZFXYTxbpzYcieq/mBwSyXgqnGMHoBVh3J7MU0CCoIB4NRZxV9/TuwTBAaLMqpNhC3zTPMCgkQ5Ey07L02Xmcw==",
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz",
+ "integrity": "sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==",
"dependencies": {
"dequal": "^2.0.3"
},
@@ -1460,9 +1460,9 @@
}
},
"node_modules/@rjsf/bootstrap-4": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/bootstrap-4/-/bootstrap-4-5.16.1.tgz",
- "integrity": "sha512-YskiNpIAYJD9Ahr3piJHeg/9ElqOOe4Bef9t+QnEPvIlfU54JJ/wA7PmuS4KvxhKwB+aNQr5LUmWiQ7Xiy9+tA==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/bootstrap-4/-/bootstrap-4-5.17.1.tgz",
+ "integrity": "sha512-23NZ5qB0eYmJRY1UgI66mTAp4lyGXSgduyr7UX35fsBFy91CzP/FozL1P/muRcEslRqBJhDgrWbMdw99eLSO1w==",
"dependencies": {
"@react-icons/all-files": "^4.1.0"
},
@@ -1477,13 +1477,13 @@
}
},
"node_modules/@rjsf/core": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-5.16.1.tgz",
- "integrity": "sha512-zIqm5aJ0CfpqsJXcJvIEoYZMfPa6hLqKSeOwwifuHSjznC6fbXPdmqnifBCPVy0GgMaDDWekZLfndk5W3ZO1YA==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-5.17.1.tgz",
+ "integrity": "sha512-COZSuumwHskWN8Pz3RxdxvuQUP6M/qBMXAkIi+TSWLFLaF6SUugpLiceMT1jGemDCr7fOSTiPxjkToSsgpvueQ==",
"dependencies": {
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
- "markdown-to-jsx": "^7.4.0",
+ "markdown-to-jsx": "^7.4.1",
"nanoid": "^3.3.7",
"prop-types": "^15.8.1"
},
@@ -1496,9 +1496,9 @@
}
},
"node_modules/@rjsf/utils": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/utils/-/utils-5.16.1.tgz",
- "integrity": "sha512-zJ8WopscMl46QBjlIalIoPERs7kgSfUwIZ5zx4OMBRp0O+m7Scx0F+4iHqLnRuHEfaCNA5D7IKxmx1whOG/x1Q==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/utils/-/utils-5.17.1.tgz",
+ "integrity": "sha512-q1Igz/cuM2hi+jiXFkoaXqdRTUFB+a0jfVKNmZlHmvPmfYeeJfcfyOTzO8dQ41fHNHUFb15ryxa/TblDQimwkA==",
"dependencies": {
"json-schema-merge-allof": "^0.8.1",
"jsonpointer": "^5.0.1",
@@ -1514,9 +1514,9 @@
}
},
"node_modules/@rjsf/validator-ajv8": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/validator-ajv8/-/validator-ajv8-5.16.1.tgz",
- "integrity": "sha512-4aYZU5+7q/9eFVzaUFTjsfVwlM0ku/BmHse9a1F87skiVRV6pv30z3B3fEUJ7zZMOGFwviYF60Tb3mr2KQ5GSg==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/validator-ajv8/-/validator-ajv8-5.17.1.tgz",
+ "integrity": "sha512-KdvHsjDQ60b04fqnoqhfkiCv7E4n4NIHli8QU8dtpuUAVS/TOqDuOtDJVz6bv/rd/QNROGpxlO/OCccE0rmxLQ==",
"dependencies": {
"ajv": "^8.12.0",
"ajv-formats": "^2.1.1",
@@ -1544,9 +1544,9 @@
}
},
"node_modules/@rollup/rollup-android-arm-eabi": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz",
- "integrity": "sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz",
+ "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==",
"cpu": [
"arm"
],
@@ -1557,9 +1557,9 @@
]
},
"node_modules/@rollup/rollup-android-arm64": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz",
- "integrity": "sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz",
+ "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==",
"cpu": [
"arm64"
],
@@ -1570,9 +1570,9 @@
]
},
"node_modules/@rollup/rollup-darwin-arm64": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz",
- "integrity": "sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz",
+ "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==",
"cpu": [
"arm64"
],
@@ -1583,9 +1583,9 @@
]
},
"node_modules/@rollup/rollup-darwin-x64": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz",
- "integrity": "sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz",
+ "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==",
"cpu": [
"x64"
],
@@ -1596,9 +1596,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz",
- "integrity": "sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz",
+ "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==",
"cpu": [
"arm"
],
@@ -1609,9 +1609,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-gnu": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz",
- "integrity": "sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz",
+ "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==",
"cpu": [
"arm64"
],
@@ -1622,9 +1622,9 @@
]
},
"node_modules/@rollup/rollup-linux-arm64-musl": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz",
- "integrity": "sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz",
+ "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==",
"cpu": [
"arm64"
],
@@ -1635,9 +1635,9 @@
]
},
"node_modules/@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz",
- "integrity": "sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz",
+ "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==",
"cpu": [
"riscv64"
],
@@ -1648,9 +1648,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-gnu": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz",
- "integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz",
+ "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==",
"cpu": [
"x64"
],
@@ -1661,9 +1661,9 @@
]
},
"node_modules/@rollup/rollup-linux-x64-musl": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz",
- "integrity": "sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz",
+ "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==",
"cpu": [
"x64"
],
@@ -1674,9 +1674,9 @@
]
},
"node_modules/@rollup/rollup-win32-arm64-msvc": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz",
- "integrity": "sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz",
+ "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==",
"cpu": [
"arm64"
],
@@ -1687,9 +1687,9 @@
]
},
"node_modules/@rollup/rollup-win32-ia32-msvc": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz",
- "integrity": "sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz",
+ "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==",
"cpu": [
"ia32"
],
@@ -1700,9 +1700,9 @@
]
},
"node_modules/@rollup/rollup-win32-x64-msvc": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz",
- "integrity": "sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz",
+ "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==",
"cpu": [
"x64"
],
@@ -1754,9 +1754,9 @@
}
},
"node_modules/@types/eslint": {
- "version": "8.56.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz",
- "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==",
+ "version": "8.56.5",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz",
+ "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==",
"dependencies": {
"@types/estree": "*",
"@types/json-schema": "*"
@@ -1778,9 +1778,9 @@
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
},
"node_modules/@types/hast": {
- "version": "2.3.9",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.9.tgz",
- "integrity": "sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==",
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
+ "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
"dependencies": {
"@types/unist": "^2"
}
@@ -1817,9 +1817,9 @@
"dev": true
},
"node_modules/@types/node": {
- "version": "20.11.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz",
- "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==",
+ "version": "20.11.26",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz",
+ "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==",
"dependencies": {
"undici-types": "~5.26.4"
}
@@ -1855,9 +1855,9 @@
"optional": true
},
"node_modules/@types/react": {
- "version": "18.2.48",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz",
- "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==",
+ "version": "18.2.65",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.65.tgz",
+ "integrity": "sha512-98TsY0aW4jqx/3RqsUXwMDZSWR1Z4CUlJNue8ueS2/wcxZOsz4xmW1X8ieaWVRHcmmQM3R8xVA4XWB3dJnWwDQ==",
"dependencies": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -2196,12 +2196,15 @@
"dev": true
},
"node_modules/array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"dependencies": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2253,17 +2256,36 @@
"url": "https://github.com/sponsors/ljharb"
}
},
+ "node_modules/array.prototype.findlast": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz",
+ "integrity": "sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
"node_modules/array.prototype.findlastindex": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
- "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz",
+ "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -2307,30 +2329,43 @@
"url": "https://github.com/sponsors/ljharb"
}
},
- "node_modules/array.prototype.tosorted": {
+ "node_modules/array.prototype.toreversed": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz",
- "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==",
+ "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz",
+ "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==",
"dev": true,
"dependencies": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
+ "es-shim-unscopables": "^1.0.0"
+ }
+ },
+ "node_modules/array.prototype.tosorted": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz",
+ "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==",
+ "dev": true,
+ "dependencies": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.1.0",
+ "es-shim-unscopables": "^1.0.2"
}
},
"node_modules/arraybuffer.prototype.slice": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
- "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
"dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "is-array-buffer": "^3.0.2",
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
"is-shared-array-buffer": "^1.0.2"
},
"engines": {
@@ -2408,9 +2443,12 @@
}
},
"node_modules/available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "dependencies": {
+ "possible-typed-array-names": "^1.0.0"
+ },
"engines": {
"node": ">= 0.4"
},
@@ -2419,9 +2457,9 @@
}
},
"node_modules/axios": {
- "version": "1.6.5",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz",
- "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==",
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
+ "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
"dependencies": {
"follow-redirects": "^1.15.4",
"form-data": "^4.0.0",
@@ -2533,9 +2571,9 @@
}
},
"node_modules/browserslist": {
- "version": "4.22.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
- "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
"funding": [
{
"type": "opencollective",
@@ -2551,8 +2589,8 @@
}
],
"dependencies": {
- "caniuse-lite": "^1.0.30001565",
- "electron-to-chromium": "^1.4.601",
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
"node-releases": "^2.0.14",
"update-browserslist-db": "^1.0.13"
},
@@ -2616,13 +2654,18 @@
"peer": true
},
"node_modules/call-bind": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
- "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"dependencies": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.1",
- "set-function-length": "^1.1.1"
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -2676,9 +2719,9 @@
"integrity": "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ=="
},
"node_modules/caniuse-lite": {
- "version": "1.0.30001579",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz",
- "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA==",
+ "version": "1.0.30001597",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz",
+ "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w==",
"funding": [
{
"type": "opencollective",
@@ -2801,16 +2844,10 @@
}
},
"node_modules/chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
- "funding": [
- {
- "type": "individual",
- "url": "https://paulmillr.com/funding/"
- }
- ],
"dependencies": {
"anymatch": "~3.1.2",
"braces": "~3.0.2",
@@ -2823,6 +2860,9 @@
"engines": {
"node": ">= 8.10.0"
},
+ "funding": {
+ "url": "https://paulmillr.com/funding/"
+ },
"optionalDependencies": {
"fsevents": "~2.3.2"
}
@@ -2942,9 +2982,9 @@
}
},
"node_modules/core-js": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.0.tgz",
- "integrity": "sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg==",
+ "version": "3.36.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz",
+ "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw==",
"hasInstallScript": true,
"funding": {
"type": "opencollective",
@@ -3147,16 +3187,19 @@
}
},
"node_modules/define-data-property": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
- "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"dependencies": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
},
"engines": {
"node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/define-properties": {
@@ -3292,9 +3335,9 @@
}
},
"node_modules/electron-to-chromium": {
- "version": "1.4.640",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz",
- "integrity": "sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA=="
+ "version": "1.4.701",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.701.tgz",
+ "integrity": "sha512-K3WPQ36bUOtXg/1+69bFlFOvdSm0/0bGqmsfPDLRXLanoKXdA+pIWuf/VbA9b+2CwBFuONgl4NEz4OEm+OJOKA=="
},
"node_modules/element-resize-detector": {
"version": "1.2.4",
@@ -3311,9 +3354,9 @@
"dev": true
},
"node_modules/enhanced-resolve": {
- "version": "5.15.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
- "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
+ "version": "5.16.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz",
+ "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==",
"peer": true,
"dependencies": {
"graceful-fs": "^4.2.4",
@@ -3367,11 +3410,11 @@
}
},
"node_modules/enzyme-shallow-equal": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.5.tgz",
- "integrity": "sha512-i6cwm7hN630JXenxxJFBKzgLC3hMTafFQXflvzHgPmDhOBhxUWDe8AeRv1qp2/uWJ2Y8z5yLWMzmAfkTOiOCZg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.7.tgz",
+ "integrity": "sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg==",
"dependencies": {
- "has": "^1.0.3",
+ "hasown": "^2.0.0",
"object-is": "^1.1.5"
},
"funding": {
@@ -3387,49 +3430,51 @@
}
},
"node_modules/es-abstract": {
- "version": "1.22.3",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
- "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
- "dependencies": {
- "array-buffer-byte-length": "^1.0.0",
- "arraybuffer.prototype.slice": "^1.0.2",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.5",
- "es-set-tostringtag": "^2.0.1",
+ "version": "1.22.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz",
+ "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==",
+ "dependencies": {
+ "array-buffer-byte-length": "^1.0.1",
+ "arraybuffer.prototype.slice": "^1.0.3",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.3",
"es-to-primitive": "^1.2.1",
"function.prototype.name": "^1.1.6",
- "get-intrinsic": "^1.2.2",
- "get-symbol-description": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "hasown": "^2.0.0",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
+ "hasown": "^2.0.1",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
"is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
+ "is-shared-array-buffer": "^1.0.3",
"is-string": "^1.0.7",
- "is-typed-array": "^1.1.12",
+ "is-typed-array": "^1.1.13",
"is-weakref": "^1.0.2",
"object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.5.1",
- "safe-array-concat": "^1.0.1",
- "safe-regex-test": "^1.0.0",
+ "object.assign": "^4.1.5",
+ "regexp.prototype.flags": "^1.5.2",
+ "safe-array-concat": "^1.1.0",
+ "safe-regex-test": "^1.0.3",
"string.prototype.trim": "^1.2.8",
"string.prototype.trimend": "^1.0.7",
"string.prototype.trimstart": "^1.0.7",
- "typed-array-buffer": "^1.0.0",
- "typed-array-byte-length": "^1.0.0",
- "typed-array-byte-offset": "^1.0.0",
- "typed-array-length": "^1.0.4",
+ "typed-array-buffer": "^1.0.2",
+ "typed-array-byte-length": "^1.0.1",
+ "typed-array-byte-offset": "^1.0.2",
+ "typed-array-length": "^1.0.5",
"unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.13"
+ "which-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -3443,26 +3488,49 @@
"resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
"integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA=="
},
+ "node_modules/es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "dependencies": {
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/es-iterator-helpers": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz",
- "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==",
+ "version": "1.0.17",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz",
+ "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==",
"dev": true,
"dependencies": {
"asynciterator.prototype": "^1.0.0",
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.1",
- "es-set-tostringtag": "^2.0.1",
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "es-abstract": "^1.22.4",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.2",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
"globalthis": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
+ "has-property-descriptors": "^1.0.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
+ "internal-slot": "^1.0.7",
"iterator.prototype": "^1.1.2",
- "safe-array-concat": "^1.0.1"
+ "safe-array-concat": "^1.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
}
},
"node_modules/es-module-lexer": {
@@ -3472,13 +3540,13 @@
"peer": true
},
"node_modules/es-set-tostringtag": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
- "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"dependencies": {
- "get-intrinsic": "^1.2.2",
- "has-tostringtag": "^1.0.0",
- "hasown": "^2.0.0"
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -3509,9 +3577,9 @@
}
},
"node_modules/esbuild": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz",
- "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
+ "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
"dev": true,
"hasInstallScript": true,
"bin": {
@@ -3521,35 +3589,35 @@
"node": ">=12"
},
"optionalDependencies": {
- "@esbuild/aix-ppc64": "0.19.11",
- "@esbuild/android-arm": "0.19.11",
- "@esbuild/android-arm64": "0.19.11",
- "@esbuild/android-x64": "0.19.11",
- "@esbuild/darwin-arm64": "0.19.11",
- "@esbuild/darwin-x64": "0.19.11",
- "@esbuild/freebsd-arm64": "0.19.11",
- "@esbuild/freebsd-x64": "0.19.11",
- "@esbuild/linux-arm": "0.19.11",
- "@esbuild/linux-arm64": "0.19.11",
- "@esbuild/linux-ia32": "0.19.11",
- "@esbuild/linux-loong64": "0.19.11",
- "@esbuild/linux-mips64el": "0.19.11",
- "@esbuild/linux-ppc64": "0.19.11",
- "@esbuild/linux-riscv64": "0.19.11",
- "@esbuild/linux-s390x": "0.19.11",
- "@esbuild/linux-x64": "0.19.11",
- "@esbuild/netbsd-x64": "0.19.11",
- "@esbuild/openbsd-x64": "0.19.11",
- "@esbuild/sunos-x64": "0.19.11",
- "@esbuild/win32-arm64": "0.19.11",
- "@esbuild/win32-ia32": "0.19.11",
- "@esbuild/win32-x64": "0.19.11"
+ "@esbuild/aix-ppc64": "0.19.12",
+ "@esbuild/android-arm": "0.19.12",
+ "@esbuild/android-arm64": "0.19.12",
+ "@esbuild/android-x64": "0.19.12",
+ "@esbuild/darwin-arm64": "0.19.12",
+ "@esbuild/darwin-x64": "0.19.12",
+ "@esbuild/freebsd-arm64": "0.19.12",
+ "@esbuild/freebsd-x64": "0.19.12",
+ "@esbuild/linux-arm": "0.19.12",
+ "@esbuild/linux-arm64": "0.19.12",
+ "@esbuild/linux-ia32": "0.19.12",
+ "@esbuild/linux-loong64": "0.19.12",
+ "@esbuild/linux-mips64el": "0.19.12",
+ "@esbuild/linux-ppc64": "0.19.12",
+ "@esbuild/linux-riscv64": "0.19.12",
+ "@esbuild/linux-s390x": "0.19.12",
+ "@esbuild/linux-x64": "0.19.12",
+ "@esbuild/netbsd-x64": "0.19.12",
+ "@esbuild/openbsd-x64": "0.19.12",
+ "@esbuild/sunos-x64": "0.19.12",
+ "@esbuild/win32-arm64": "0.19.12",
+ "@esbuild/win32-ia32": "0.19.12",
+ "@esbuild/win32-x64": "0.19.12"
}
},
"node_modules/escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==",
"engines": {
"node": ">=6"
}
@@ -3563,16 +3631,16 @@
}
},
"node_modules/eslint": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
- "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"dependencies": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.56.0",
- "@humanwhocodes/config-array": "^0.11.13",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -3663,9 +3731,9 @@
}
},
"node_modules/eslint-module-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
- "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
+ "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
"dev": true,
"dependencies": {
"debug": "^3.2.7"
@@ -3762,27 +3830,29 @@
}
},
"node_modules/eslint-plugin-react": {
- "version": "7.33.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
- "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
+ "version": "7.34.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz",
+ "integrity": "sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==",
"dev": true,
"dependencies": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
+ "array-includes": "^3.1.7",
+ "array.prototype.findlast": "^1.2.4",
+ "array.prototype.flatmap": "^1.3.2",
+ "array.prototype.toreversed": "^1.1.2",
+ "array.prototype.tosorted": "^1.1.3",
"doctrine": "^2.1.0",
- "es-iterator-helpers": "^1.0.12",
+ "es-iterator-helpers": "^1.0.17",
"estraverse": "^5.3.0",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
"minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
+ "object.entries": "^1.1.7",
+ "object.fromentries": "^2.0.7",
+ "object.hasown": "^1.1.3",
+ "object.values": "^1.1.7",
"prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
+ "resolve": "^2.0.0-next.5",
"semver": "^6.3.1",
- "string.prototype.matchall": "^4.0.8"
+ "string.prototype.matchall": "^4.0.10"
},
"engines": {
"node": ">=4"
@@ -4137,9 +4207,9 @@
}
},
"node_modules/fastq": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
- "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
"dependencies": {
"reusify": "^1.0.4"
@@ -4253,9 +4323,9 @@
}
},
"node_modules/flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true
},
"node_modules/follow-redirects": {
@@ -4381,15 +4451,19 @@
}
},
"node_modules/get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"dependencies": {
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
"hasown": "^2.0.0"
},
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -4400,12 +4474,13 @@
"integrity": "sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q=="
},
"node_modules/get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
},
"engines": {
"node": ">= 0.4"
@@ -4616,20 +4691,20 @@
}
},
"node_modules/has-property-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
- "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"dependencies": {
- "get-intrinsic": "^1.2.2"
+ "es-define-property": "^1.0.0"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==",
"engines": {
"node": ">= 0.4"
},
@@ -4649,11 +4724,11 @@
}
},
"node_modules/has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"dependencies": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
},
"engines": {
"node": ">= 0.4"
@@ -4663,9 +4738,9 @@
}
},
"node_modules/hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"dependencies": {
"function-bind": "^1.1.2"
},
@@ -4855,9 +4930,9 @@
]
},
"node_modules/ignore": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
- "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true,
"engines": {
"node": ">= 4"
@@ -4881,9 +4956,9 @@
}
},
"node_modules/immutable": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
- "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz",
+ "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
"dev": true
},
"node_modules/import-fresh": {
@@ -4951,11 +5026,11 @@
"dev": true
},
"node_modules/internal-slot": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
- "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"dependencies": {
- "get-intrinsic": "^1.2.2",
+ "es-errors": "^1.3.0",
"hasown": "^2.0.0",
"side-channel": "^1.0.4"
},
@@ -4994,13 +5069,15 @@
}
},
"node_modules/is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"dependencies": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
+ "get-intrinsic": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5176,18 +5253,21 @@
}
},
"node_modules/is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==",
"engines": {
"node": ">= 0.4"
},
@@ -5261,20 +5341,26 @@
}
},
"node_modules/is-set": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"dependencies": {
- "call-bind": "^1.0.2"
+ "call-bind": "^1.0.7"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5314,11 +5400,11 @@
}
},
"node_modules/is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"dependencies": {
- "which-typed-array": "^1.1.11"
+ "which-typed-array": "^1.1.14"
},
"engines": {
"node": ">= 0.4"
@@ -5328,10 +5414,13 @@
}
},
"node_modules/is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
@@ -5348,13 +5437,16 @@
}
},
"node_modules/is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -5544,9 +5636,9 @@
}
},
"node_modules/jspdf-autotable": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.8.1.tgz",
- "integrity": "sha512-UjJqo80Z3/WUzDi4JipTGp0pAvNvR3Gsm38inJ5ZnwsJH0Lw4pEbssRSH6zMWAhR1ZkTrsDpQo5p6rZk987/AQ==",
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.8.2.tgz",
+ "integrity": "sha512-zW1ix99/mtR4MbIni7IqvrpfHmuTaICl6iv6wqjRN86Nxtwaw/QtOeDbpXqYSzHIJK9JvgtLM283sc5x+ipkJg==",
"peerDependencies": {
"jspdf": "^2.5.1"
}
@@ -5729,9 +5821,9 @@
}
},
"node_modules/markdown-to-jsx": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.0.tgz",
- "integrity": "sha512-zilc+MIkVVXPyTb4iIUTIz9yyqfcWjszGXnwF9K/aiBWcHXFcmdEMTkG01/oQhwSCH7SY1BnG6+ev5BzWmbPrg==",
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz",
+ "integrity": "sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A==",
"engines": {
"node": ">= 10"
},
@@ -5889,9 +5981,9 @@
}
},
"node_modules/monaco-editor": {
- "version": "0.45.0",
- "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz",
- "integrity": "sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==",
+ "version": "0.47.0",
+ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.47.0.tgz",
+ "integrity": "sha512-VabVvHvQ9QmMwXu4du008ZDuyLnHs9j7ThVFsiJoXSOQk18+LF89N4ADzPbFenm0W4V2bGHnFBztIRQTgBfxzw==",
"peer": true
},
"node_modules/moo": {
@@ -6011,9 +6103,9 @@
}
},
"node_modules/normalize-package-data/node_modules/semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"dependencies": {
"lru-cache": "^6.0.0"
@@ -6068,12 +6160,12 @@
}
},
"node_modules/object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
},
"engines": {
"node": ">= 0.4"
@@ -6138,15 +6230,16 @@
}
},
"node_modules/object.groupby": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
- "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz",
+ "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1"
+ "array.prototype.filter": "^1.0.3",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.0.0"
}
},
"node_modules/object.hasown": {
@@ -6399,10 +6492,18 @@
"url": "https://github.com/sponsors/jonschlinkert"
}
},
+ "node_modules/possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q==",
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
"node_modules/postcss": {
- "version": "8.4.33",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
- "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
+ "version": "8.4.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
+ "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
"funding": [
{
"type": "opencollective",
@@ -6895,9 +6996,9 @@
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
"node_modules/react-loading-skeleton": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.3.1.tgz",
- "integrity": "sha512-NilqqwMh2v9omN7LteiDloEVpFyMIa0VGqF+ukqp0ncVlYu1sKYbYGX9JEl+GtOT9TKsh04zCHAbavnQ2USldA==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.4.0.tgz",
+ "integrity": "sha512-1oJEBc9+wn7BbkQQk7YodlYEIjgeR+GrRjD+QXkVjwZN7LGIcAFHrx4NhT7UHGBxNY1+zax3c+Fo6XQM4R7CgA==",
"peerDependencies": {
"react": ">=16.8.0"
}
@@ -7024,11 +7125,11 @@
}
},
"node_modules/react-router": {
- "version": "6.21.3",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.3.tgz",
- "integrity": "sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==",
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz",
+ "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==",
"dependencies": {
- "@remix-run/router": "1.14.2"
+ "@remix-run/router": "1.15.3"
},
"engines": {
"node": ">=14.0.0"
@@ -7038,12 +7139,12 @@
}
},
"node_modules/react-router-dom": {
- "version": "6.21.3",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.3.tgz",
- "integrity": "sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==",
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz",
+ "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==",
"dependencies": {
- "@remix-run/router": "1.14.2",
- "react-router": "6.21.3"
+ "@remix-run/router": "1.15.3",
+ "react-router": "6.22.3"
},
"engines": {
"node": ">=14.0.0"
@@ -7111,9 +7212,9 @@
}
},
"node_modules/react-time-ago": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/react-time-ago/-/react-time-ago-7.2.1.tgz",
- "integrity": "sha512-X5zwJDZHa1fsMwMvh8mrHN31g85s84zMCp+d7YL6IX50kNnr6YMAS2wpt1BmO9OxBV2Ue5J1ptD6JI8Zjd35HA==",
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/react-time-ago/-/react-time-ago-7.3.1.tgz",
+ "integrity": "sha512-c6QKSRrnIhZiEbOa2PXdh1InNYpqX3wwXA0fuOFX4r/C2hdt5hNvjvKXbKbGWXAeumMi9DoS3oGPboEpgccnOQ==",
"dependencies": {
"memoize-one": "^6.0.0",
"prop-types": "^15.8.1",
@@ -7329,15 +7430,16 @@
}
},
"node_modules/reflect.getprototypeof": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
- "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz",
+ "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==",
"dev": true,
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.0.0",
+ "get-intrinsic": "^1.2.3",
"globalthis": "^1.0.3",
"which-builtin-type": "^1.1.3"
},
@@ -7376,13 +7478,14 @@
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"node_modules/regexp.prototype.flags": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
- "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"dependencies": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "set-function-name": "^2.0.0"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
},
"engines": {
"node": ">= 0.4"
@@ -7476,9 +7579,9 @@
}
},
"node_modules/rollup": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz",
- "integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz",
+ "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==",
"dev": true,
"dependencies": {
"@types/estree": "1.0.5"
@@ -7491,19 +7594,19 @@
"npm": ">=8.0.0"
},
"optionalDependencies": {
- "@rollup/rollup-android-arm-eabi": "4.9.5",
- "@rollup/rollup-android-arm64": "4.9.5",
- "@rollup/rollup-darwin-arm64": "4.9.5",
- "@rollup/rollup-darwin-x64": "4.9.5",
- "@rollup/rollup-linux-arm-gnueabihf": "4.9.5",
- "@rollup/rollup-linux-arm64-gnu": "4.9.5",
- "@rollup/rollup-linux-arm64-musl": "4.9.5",
- "@rollup/rollup-linux-riscv64-gnu": "4.9.5",
- "@rollup/rollup-linux-x64-gnu": "4.9.5",
- "@rollup/rollup-linux-x64-musl": "4.9.5",
- "@rollup/rollup-win32-arm64-msvc": "4.9.5",
- "@rollup/rollup-win32-ia32-msvc": "4.9.5",
- "@rollup/rollup-win32-x64-msvc": "4.9.5",
+ "@rollup/rollup-android-arm-eabi": "4.13.0",
+ "@rollup/rollup-android-arm64": "4.13.0",
+ "@rollup/rollup-darwin-arm64": "4.13.0",
+ "@rollup/rollup-darwin-x64": "4.13.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.13.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.13.0",
+ "@rollup/rollup-linux-arm64-musl": "4.13.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.13.0",
+ "@rollup/rollup-linux-x64-gnu": "4.13.0",
+ "@rollup/rollup-linux-x64-musl": "4.13.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.13.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.13.0",
+ "@rollup/rollup-win32-x64-msvc": "4.13.0",
"fsevents": "~2.3.2"
}
},
@@ -7540,12 +7643,12 @@
}
},
"node_modules/safe-array-concat": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
- "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
"dependencies": {
- "call-bind": "^1.0.5",
- "get-intrinsic": "^1.2.2",
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
"has-symbols": "^1.0.3",
"isarray": "^2.0.5"
},
@@ -7577,12 +7680,12 @@
"peer": true
},
"node_modules/safe-regex-test": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz",
- "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"dependencies": {
- "call-bind": "^1.0.5",
- "get-intrinsic": "^1.2.2",
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
"is-regex": "^1.1.4"
},
"engines": {
@@ -7598,9 +7701,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"node_modules/sass": {
- "version": "1.70.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz",
- "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==",
+ "version": "1.71.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz",
+ "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==",
"dev": true,
"dependencies": {
"chokidar": ">=3.0.0 <4.0.0",
@@ -7689,28 +7792,30 @@
}
},
"node_modules/set-function-length": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
- "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"dependencies": {
- "define-data-property": "^1.1.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.2",
+ "get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.1"
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/set-function-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
- "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
"dependencies": {
- "define-data-property": "^1.0.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -7743,13 +7848,17 @@
}
},
"node_modules/side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"dependencies": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -7912,9 +8021,9 @@
}
},
"node_modules/spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
"dev": true
},
"node_modules/spdx-expression-parse": {
@@ -7928,15 +8037,15 @@
}
},
"node_modules/spdx-license-ids": {
- "version": "3.0.16",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
- "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
"dev": true
},
"node_modules/stackblur-canvas": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz",
- "integrity": "sha512-8S1aIA+UoF6erJYnglGPug6MaHYGo1Ot7h5fuXx4fUPvcvQfcdw2o/ppCse63+eZf8PPidSu4v1JnmEVtEDnpg==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
+ "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
"optional": true,
"engines": {
"node": ">=0.1.14"
@@ -8327,9 +8436,9 @@
}
},
"node_modules/terser": {
- "version": "5.27.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz",
- "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==",
+ "version": "5.29.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz",
+ "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==",
"peer": true,
"dependencies": {
"@jridgewell/source-map": "^0.3.3",
@@ -8488,27 +8597,28 @@
}
},
"node_modules/typed-array-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
- "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
"dependencies": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
- "is-typed-array": "^1.1.10"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
}
},
"node_modules/typed-array-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
- "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
"dependencies": {
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
@@ -8518,15 +8628,16 @@
}
},
"node_modules/typed-array-byte-offset": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
- "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
},
"engines": {
"node": ">= 0.4"
@@ -8536,13 +8647,19 @@
}
},
"node_modules/typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
+ "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
"dependencies": {
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
@@ -8707,13 +8824,13 @@
"integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg=="
},
"node_modules/vite": {
- "version": "5.0.12",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz",
- "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz",
+ "integrity": "sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==",
"dev": true,
"dependencies": {
"esbuild": "^0.19.3",
- "postcss": "^8.4.32",
+ "postcss": "^8.4.35",
"rollup": "^4.2.0"
},
"bin": {
@@ -8819,19 +8936,19 @@
"dev": true
},
"node_modules/webpack": {
- "version": "5.89.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
- "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+ "version": "5.90.3",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz",
+ "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==",
"peer": true,
"dependencies": {
"@types/eslint-scope": "^3.7.3",
- "@types/estree": "^1.0.0",
+ "@types/estree": "^1.0.5",
"@webassemblyjs/ast": "^1.11.5",
"@webassemblyjs/wasm-edit": "^1.11.5",
"@webassemblyjs/wasm-parser": "^1.11.5",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.9.0",
- "browserslist": "^4.14.5",
+ "browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1",
@@ -8845,7 +8962,7 @@
"neo-async": "^2.6.2",
"schema-utils": "^3.2.0",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.3.7",
+ "terser-webpack-plugin": "^5.3.10",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
@@ -8968,30 +9085,33 @@
}
},
"node_modules/which-collection": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"dependencies": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
+ },
+ "engines": {
+ "node": ">= 0.4"
},
"funding": {
"url": "https://github.com/sponsors/ljharb"
}
},
"node_modules/which-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
- "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"dependencies": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "has-tostringtag": "^1.0.2"
},
"engines": {
"node": ">= 0.4"
@@ -9076,12 +9196,12 @@
"dev": true
},
"@ampproject/remapping": {
- "version": "2.2.1",
- "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
- "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz",
+ "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==",
"requires": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
"@babel/code-frame": {
@@ -9099,20 +9219,20 @@
"integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw=="
},
"@babel/core": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.7.tgz",
- "integrity": "sha512-+UpDgowcmqe36d4NwqvKsyPMlOLNGMsfMmQ5WGCu+siCe3t3dfe9njrzGfdN4qq+bcNUt0+Vw6haRxBOycs4dw==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.24.0.tgz",
+ "integrity": "sha512-fQfkg0Gjkza3nf0c7/w6Xf34BW4YvzNfACRLmmb7XRLa6XHdR+K9AlJlxneFfWYf6uhOzuzZVTjF/8KfndZANw==",
"requires": {
"@ampproject/remapping": "^2.2.0",
"@babel/code-frame": "^7.23.5",
"@babel/generator": "^7.23.6",
"@babel/helper-compilation-targets": "^7.23.6",
"@babel/helper-module-transforms": "^7.23.3",
- "@babel/helpers": "^7.23.7",
- "@babel/parser": "^7.23.6",
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.7",
- "@babel/types": "^7.23.6",
+ "@babel/helpers": "^7.24.0",
+ "@babel/parser": "^7.24.0",
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.0",
+ "@babel/types": "^7.24.0",
"convert-source-map": "^2.0.0",
"debug": "^4.1.0",
"gensync": "^1.0.0-beta.2",
@@ -9194,9 +9314,9 @@
}
},
"@babel/helper-plugin-utils": {
- "version": "7.22.5",
- "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
- "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg=="
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz",
+ "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w=="
},
"@babel/helper-simple-access": {
"version": "7.22.5",
@@ -9230,13 +9350,13 @@
"integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw=="
},
"@babel/helpers": {
- "version": "7.23.8",
- "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.8.tgz",
- "integrity": "sha512-KDqYz4PiOWvDFrdHLPhKtCThtIcKVy6avWD2oG4GEvyQ+XDZwHD4YQd+H2vNMnq2rkdxsDkU82T+Vk8U/WXHRQ==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz",
+ "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==",
"requires": {
- "@babel/template": "^7.22.15",
- "@babel/traverse": "^7.23.7",
- "@babel/types": "^7.23.6"
+ "@babel/template": "^7.24.0",
+ "@babel/traverse": "^7.24.0",
+ "@babel/types": "^7.24.0"
}
},
"@babel/highlight": {
@@ -9250,9 +9370,9 @@
}
},
"@babel/parser": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.6.tgz",
- "integrity": "sha512-Z2uID7YJ7oNvAI20O9X0bblw7Qqs8Q2hFy0R9tAfnfLkp5MW0UH9eUvnDSnFwKZ0AvgS1ucqR4KzvVHgnke1VQ=="
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz",
+ "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg=="
},
"@babel/plugin-syntax-jsx": {
"version": "7.23.3",
@@ -9281,27 +9401,27 @@
}
},
"@babel/runtime": {
- "version": "7.23.8",
- "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.8.tgz",
- "integrity": "sha512-Y7KbAP984rn1VGMbGqKmBLio9V7y5Je9GvU4rQPCPinCyNfUcToxIXl06d59URp/F3LwinvODxab5N/G6qggkw==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.24.0.tgz",
+ "integrity": "sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw==",
"requires": {
"regenerator-runtime": "^0.14.0"
}
},
"@babel/template": {
- "version": "7.22.15",
- "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.22.15.tgz",
- "integrity": "sha512-QPErUVm4uyJa60rkI73qneDacvdvzxshT3kksGqlGWYdOTIUOwJ7RDUL8sGqslY1uXWSL6xMFKEXDS3ox2uF0w==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz",
+ "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==",
"requires": {
- "@babel/code-frame": "^7.22.13",
- "@babel/parser": "^7.22.15",
- "@babel/types": "^7.22.15"
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0"
}
},
"@babel/traverse": {
- "version": "7.23.7",
- "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.7.tgz",
- "integrity": "sha512-tY3mM8rH9jM0YHFGyfC0/xf+SB5eKUu7HPj7/k3fpi9dAlsMc5YbQvDi0Sh2QTPXqMhyaAtzAr807TIyfQrmyg==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz",
+ "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==",
"requires": {
"@babel/code-frame": "^7.23.5",
"@babel/generator": "^7.23.6",
@@ -9309,16 +9429,16 @@
"@babel/helper-function-name": "^7.23.0",
"@babel/helper-hoist-variables": "^7.22.5",
"@babel/helper-split-export-declaration": "^7.22.6",
- "@babel/parser": "^7.23.6",
- "@babel/types": "^7.23.6",
+ "@babel/parser": "^7.24.0",
+ "@babel/types": "^7.24.0",
"debug": "^4.3.1",
"globals": "^11.1.0"
}
},
"@babel/types": {
- "version": "7.23.6",
- "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.6.tgz",
- "integrity": "sha512-+uarb83brBzPKN38NX1MkB6vb6+mwvR6amUulqAE7ccQw1pEl+bCia9TbdG1lsnFP7lZySvUn37CHyXQdfTwzg==",
+ "version": "7.24.0",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz",
+ "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==",
"requires": {
"@babel/helper-string-parser": "^7.23.4",
"@babel/helper-validator-identifier": "^7.22.20",
@@ -9422,9 +9542,9 @@
"integrity": "sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ=="
},
"@emotion/is-prop-valid": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.1.tgz",
- "integrity": "sha512-61Mf7Ufx4aDxx1xlDeOm8aFFigGHE4z+0sKCa+IHCeZKiyP9RLD0Mmx7m8b9/Cf37f7NAvQOOJAbQQGVr5uERw==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
+ "integrity": "sha512-uNsoYd37AFmaCdXlg6EYD1KaPOaRWRByMCYzbKUX4+hhMfrxdVSelShywL4JVaAeM/eHUOSprYBQls+/neX3pw==",
"requires": {
"@emotion/memoize": "^0.8.1"
}
@@ -9435,9 +9555,9 @@
"integrity": "sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA=="
},
"@emotion/react": {
- "version": "11.11.3",
- "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.3.tgz",
- "integrity": "sha512-Cnn0kuq4DoONOMcnoVsTOR8E+AdnKFf//6kUWc4LCdnxj31pZWn7rIULd6Y7/Js1PiPHzn7SKCM9vB/jBni8eA==",
+ "version": "11.11.4",
+ "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.11.4.tgz",
+ "integrity": "sha512-t8AjMlF0gHpvvxk5mAtCqR4vmxiGHCeJBaQO6gncUSdklELOgtwjerNY2yuJNfwnc6vi16U/+uMF+afIawJ9iw==",
"requires": {
"@babel/runtime": "^7.18.3",
"@emotion/babel-plugin": "^11.11.0",
@@ -9493,163 +9613,163 @@
"integrity": "sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww=="
},
"@esbuild/aix-ppc64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.11.tgz",
- "integrity": "sha512-FnzU0LyE3ySQk7UntJO4+qIiQgI7KoODnZg5xzXIrFJlKd2P2gwHsHY4927xj9y5PJmJSzULiUCWmv7iWnNa7g==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz",
+ "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==",
"dev": true,
"optional": true
},
"@esbuild/android-arm": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.11.tgz",
- "integrity": "sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz",
+ "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==",
"dev": true,
"optional": true
},
"@esbuild/android-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.11.tgz",
- "integrity": "sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz",
+ "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==",
"dev": true,
"optional": true
},
"@esbuild/android-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.11.tgz",
- "integrity": "sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz",
+ "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==",
"dev": true,
"optional": true
},
"@esbuild/darwin-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.11.tgz",
- "integrity": "sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz",
+ "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==",
"dev": true,
"optional": true
},
"@esbuild/darwin-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.11.tgz",
- "integrity": "sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz",
+ "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.11.tgz",
- "integrity": "sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz",
+ "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==",
"dev": true,
"optional": true
},
"@esbuild/freebsd-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.11.tgz",
- "integrity": "sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz",
+ "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.11.tgz",
- "integrity": "sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz",
+ "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==",
"dev": true,
"optional": true
},
"@esbuild/linux-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.11.tgz",
- "integrity": "sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz",
+ "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==",
"dev": true,
"optional": true
},
"@esbuild/linux-ia32": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.11.tgz",
- "integrity": "sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz",
+ "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==",
"dev": true,
"optional": true
},
"@esbuild/linux-loong64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.11.tgz",
- "integrity": "sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz",
+ "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==",
"dev": true,
"optional": true
},
"@esbuild/linux-mips64el": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.11.tgz",
- "integrity": "sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz",
+ "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==",
"dev": true,
"optional": true
},
"@esbuild/linux-ppc64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.11.tgz",
- "integrity": "sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz",
+ "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==",
"dev": true,
"optional": true
},
"@esbuild/linux-riscv64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.11.tgz",
- "integrity": "sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz",
+ "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==",
"dev": true,
"optional": true
},
"@esbuild/linux-s390x": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.11.tgz",
- "integrity": "sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz",
+ "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==",
"dev": true,
"optional": true
},
"@esbuild/linux-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.11.tgz",
- "integrity": "sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz",
+ "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==",
"dev": true,
"optional": true
},
"@esbuild/netbsd-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.11.tgz",
- "integrity": "sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz",
+ "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==",
"dev": true,
"optional": true
},
"@esbuild/openbsd-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.11.tgz",
- "integrity": "sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz",
+ "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==",
"dev": true,
"optional": true
},
"@esbuild/sunos-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.11.tgz",
- "integrity": "sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz",
+ "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==",
"dev": true,
"optional": true
},
"@esbuild/win32-arm64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.11.tgz",
- "integrity": "sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz",
+ "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==",
"dev": true,
"optional": true
},
"@esbuild/win32-ia32": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.11.tgz",
- "integrity": "sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz",
+ "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==",
"dev": true,
"optional": true
},
"@esbuild/win32-x64": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.11.tgz",
- "integrity": "sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==",
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz",
+ "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==",
"dev": true,
"optional": true
},
@@ -9721,25 +9841,25 @@
}
},
"@eslint/js": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.56.0.tgz",
- "integrity": "sha512-gMsVel9D7f2HLkBma9VbtzZRehRogVRfbr++f06nL2vnCGCNlzOD+/MUov/F4p8myyAHspEhVobgjpX64q5m6A==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.57.0.tgz",
+ "integrity": "sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==",
"dev": true
},
"@floating-ui/core": {
- "version": "1.5.3",
- "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.5.3.tgz",
- "integrity": "sha512-O0WKDOo0yhJuugCx6trZQj5jVJ9yR0ystG2JaNAemYUWce+pmM6WUEFIibnWyEJKdrDxhm75NoSRME35FNaM/Q==",
+ "version": "1.6.0",
+ "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz",
+ "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==",
"requires": {
- "@floating-ui/utils": "^0.2.0"
+ "@floating-ui/utils": "^0.2.1"
}
},
"@floating-ui/dom": {
- "version": "1.5.4",
- "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.5.4.tgz",
- "integrity": "sha512-jByEsHIY+eEdCjnTVu+E3ephzTOzkQ8hgUfGwos+bg7NlH33Zc5uO+QHz1mrQUOgIKKDD1RtS201P9NvAfq3XQ==",
+ "version": "1.6.3",
+ "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz",
+ "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==",
"requires": {
- "@floating-ui/core": "^1.5.3",
+ "@floating-ui/core": "^1.0.0",
"@floating-ui/utils": "^0.2.0"
}
},
@@ -9817,33 +9937,33 @@
"dev": true
},
"@jridgewell/gen-mapping": {
- "version": "0.3.3",
- "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
- "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "version": "0.3.5",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz",
+ "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==",
"requires": {
- "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/set-array": "^1.2.1",
"@jridgewell/sourcemap-codec": "^1.4.10",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/trace-mapping": "^0.3.24"
}
},
"@jridgewell/resolve-uri": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
- "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz",
+ "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw=="
},
"@jridgewell/set-array": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
- "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw=="
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz",
+ "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A=="
},
"@jridgewell/source-map": {
- "version": "0.3.5",
- "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz",
- "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==",
+ "version": "0.3.6",
+ "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz",
+ "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==",
"peer": true,
"requires": {
- "@jridgewell/gen-mapping": "^0.3.0",
- "@jridgewell/trace-mapping": "^0.3.9"
+ "@jridgewell/gen-mapping": "^0.3.5",
+ "@jridgewell/trace-mapping": "^0.3.25"
}
},
"@jridgewell/sourcemap-codec": {
@@ -9852,9 +9972,9 @@
"integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg=="
},
"@jridgewell/trace-mapping": {
- "version": "0.3.22",
- "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
- "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
+ "version": "0.3.25",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz",
+ "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==",
"requires": {
"@jridgewell/resolve-uri": "^3.1.0",
"@jridgewell/sourcemap-codec": "^1.4.14"
@@ -9940,9 +10060,9 @@
}
},
"@remix-run/router": {
- "version": "1.14.2",
- "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.14.2.tgz",
- "integrity": "sha512-ACXpdMM9hmKZww21yEqWwiLws/UPLhNKvimN8RrYSqPSvB3ov7sLvAcfvaxePeLvccTQKGdkDIhLYApZVDFuKg=="
+ "version": "1.15.3",
+ "resolved": "https://registry.npmjs.org/@remix-run/router/-/router-1.15.3.tgz",
+ "integrity": "sha512-Oy8rmScVrVxWZVOpEF57ovlnhpZ8CCPlnIIumVcV9nFdiSIrus99+Lw78ekXyGvVDlIsFJbSfmSovJUhCWYV3w=="
},
"@restart/context": {
"version": "2.1.4",
@@ -9951,37 +10071,37 @@
"requires": {}
},
"@restart/hooks": {
- "version": "0.4.15",
- "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.15.tgz",
- "integrity": "sha512-cZFXYTxbpzYcieq/mBwSyXgqnGMHoBVh3J7MU0CCoIB4NRZxV9/TuwTBAaLMqpNhC3zTPMCgkQ5Ey07L02Xmcw==",
+ "version": "0.4.16",
+ "resolved": "https://registry.npmjs.org/@restart/hooks/-/hooks-0.4.16.tgz",
+ "integrity": "sha512-f7aCv7c+nU/3mF7NWLtVVr0Ra80RqsO89hO72r+Y/nvQr5+q0UFGkocElTH6MJApvReVh6JHUFYn2cw1WdHF3w==",
"requires": {
"dequal": "^2.0.3"
}
},
"@rjsf/bootstrap-4": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/bootstrap-4/-/bootstrap-4-5.16.1.tgz",
- "integrity": "sha512-YskiNpIAYJD9Ahr3piJHeg/9ElqOOe4Bef9t+QnEPvIlfU54JJ/wA7PmuS4KvxhKwB+aNQr5LUmWiQ7Xiy9+tA==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/bootstrap-4/-/bootstrap-4-5.17.1.tgz",
+ "integrity": "sha512-23NZ5qB0eYmJRY1UgI66mTAp4lyGXSgduyr7UX35fsBFy91CzP/FozL1P/muRcEslRqBJhDgrWbMdw99eLSO1w==",
"requires": {
"@react-icons/all-files": "^4.1.0"
}
},
"@rjsf/core": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-5.16.1.tgz",
- "integrity": "sha512-zIqm5aJ0CfpqsJXcJvIEoYZMfPa6hLqKSeOwwifuHSjznC6fbXPdmqnifBCPVy0GgMaDDWekZLfndk5W3ZO1YA==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/core/-/core-5.17.1.tgz",
+ "integrity": "sha512-COZSuumwHskWN8Pz3RxdxvuQUP6M/qBMXAkIi+TSWLFLaF6SUugpLiceMT1jGemDCr7fOSTiPxjkToSsgpvueQ==",
"requires": {
"lodash": "^4.17.21",
"lodash-es": "^4.17.21",
- "markdown-to-jsx": "^7.4.0",
+ "markdown-to-jsx": "^7.4.1",
"nanoid": "^3.3.7",
"prop-types": "^15.8.1"
}
},
"@rjsf/utils": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/utils/-/utils-5.16.1.tgz",
- "integrity": "sha512-zJ8WopscMl46QBjlIalIoPERs7kgSfUwIZ5zx4OMBRp0O+m7Scx0F+4iHqLnRuHEfaCNA5D7IKxmx1whOG/x1Q==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/utils/-/utils-5.17.1.tgz",
+ "integrity": "sha512-q1Igz/cuM2hi+jiXFkoaXqdRTUFB+a0jfVKNmZlHmvPmfYeeJfcfyOTzO8dQ41fHNHUFb15ryxa/TblDQimwkA==",
"requires": {
"json-schema-merge-allof": "^0.8.1",
"jsonpointer": "^5.0.1",
@@ -9991,9 +10111,9 @@
}
},
"@rjsf/validator-ajv8": {
- "version": "5.16.1",
- "resolved": "https://registry.npmjs.org/@rjsf/validator-ajv8/-/validator-ajv8-5.16.1.tgz",
- "integrity": "sha512-4aYZU5+7q/9eFVzaUFTjsfVwlM0ku/BmHse9a1F87skiVRV6pv30z3B3fEUJ7zZMOGFwviYF60Tb3mr2KQ5GSg==",
+ "version": "5.17.1",
+ "resolved": "https://registry.npmjs.org/@rjsf/validator-ajv8/-/validator-ajv8-5.17.1.tgz",
+ "integrity": "sha512-KdvHsjDQ60b04fqnoqhfkiCv7E4n4NIHli8QU8dtpuUAVS/TOqDuOtDJVz6bv/rd/QNROGpxlO/OCccE0rmxLQ==",
"requires": {
"ajv": "^8.12.0",
"ajv-formats": "^2.1.1",
@@ -10012,93 +10132,93 @@
}
},
"@rollup/rollup-android-arm-eabi": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.9.5.tgz",
- "integrity": "sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.13.0.tgz",
+ "integrity": "sha512-5ZYPOuaAqEH/W3gYsRkxQATBW3Ii1MfaT4EQstTnLKViLi2gLSQmlmtTpGucNP3sXEpOiI5tdGhjdE111ekyEg==",
"dev": true,
"optional": true
},
"@rollup/rollup-android-arm64": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.9.5.tgz",
- "integrity": "sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.13.0.tgz",
+ "integrity": "sha512-BSbaCmn8ZadK3UAQdlauSvtaJjhlDEjS5hEVVIN3A4bbl3X+otyf/kOJV08bYiRxfejP3DXFzO2jz3G20107+Q==",
"dev": true,
"optional": true
},
"@rollup/rollup-darwin-arm64": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.9.5.tgz",
- "integrity": "sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.13.0.tgz",
+ "integrity": "sha512-Ovf2evVaP6sW5Ut0GHyUSOqA6tVKfrTHddtmxGQc1CTQa1Cw3/KMCDEEICZBbyppcwnhMwcDce9ZRxdWRpVd6g==",
"dev": true,
"optional": true
},
"@rollup/rollup-darwin-x64": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.9.5.tgz",
- "integrity": "sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.13.0.tgz",
+ "integrity": "sha512-U+Jcxm89UTK592vZ2J9st9ajRv/hrwHdnvyuJpa5A2ngGSVHypigidkQJP+YiGL6JODiUeMzkqQzbCG3At81Gg==",
"dev": true,
"optional": true
},
"@rollup/rollup-linux-arm-gnueabihf": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.9.5.tgz",
- "integrity": "sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.13.0.tgz",
+ "integrity": "sha512-8wZidaUJUTIR5T4vRS22VkSMOVooG0F4N+JSwQXWSRiC6yfEsFMLTYRFHvby5mFFuExHa/yAp9juSphQQJAijQ==",
"dev": true,
"optional": true
},
"@rollup/rollup-linux-arm64-gnu": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.9.5.tgz",
- "integrity": "sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.13.0.tgz",
+ "integrity": "sha512-Iu0Kno1vrD7zHQDxOmvweqLkAzjxEVqNhUIXBsZ8hu8Oak7/5VTPrxOEZXYC1nmrBVJp0ZcL2E7lSuuOVaE3+w==",
"dev": true,
"optional": true
},
"@rollup/rollup-linux-arm64-musl": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.9.5.tgz",
- "integrity": "sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.13.0.tgz",
+ "integrity": "sha512-C31QrW47llgVyrRjIwiOwsHFcaIwmkKi3PCroQY5aVq4H0A5v/vVVAtFsI1nfBngtoRpeREvZOkIhmRwUKkAdw==",
"dev": true,
"optional": true
},
"@rollup/rollup-linux-riscv64-gnu": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.9.5.tgz",
- "integrity": "sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.13.0.tgz",
+ "integrity": "sha512-Oq90dtMHvthFOPMl7pt7KmxzX7E71AfyIhh+cPhLY9oko97Zf2C9tt/XJD4RgxhaGeAraAXDtqxvKE1y/j35lA==",
"dev": true,
"optional": true
},
"@rollup/rollup-linux-x64-gnu": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.9.5.tgz",
- "integrity": "sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.13.0.tgz",
+ "integrity": "sha512-yUD/8wMffnTKuiIsl6xU+4IA8UNhQ/f1sAnQebmE/lyQ8abjsVyDkyRkWop0kdMhKMprpNIhPmYlCxgHrPoXoA==",
"dev": true,
"optional": true
},
"@rollup/rollup-linux-x64-musl": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.9.5.tgz",
- "integrity": "sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.13.0.tgz",
+ "integrity": "sha512-9RyNqoFNdF0vu/qqX63fKotBh43fJQeYC98hCaf89DYQpv+xu0D8QFSOS0biA7cGuqJFOc1bJ+m2rhhsKcw1hw==",
"dev": true,
"optional": true
},
"@rollup/rollup-win32-arm64-msvc": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.9.5.tgz",
- "integrity": "sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.13.0.tgz",
+ "integrity": "sha512-46ue8ymtm/5PUU6pCvjlic0z82qWkxv54GTJZgHrQUuZnVH+tvvSP0LsozIDsCBFO4VjJ13N68wqrKSeScUKdA==",
"dev": true,
"optional": true
},
"@rollup/rollup-win32-ia32-msvc": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.9.5.tgz",
- "integrity": "sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.13.0.tgz",
+ "integrity": "sha512-P5/MqLdLSlqxbeuJ3YDeX37srC8mCflSyTrUsgbU1c/U9j6l2g2GiIdYaGD9QjdMQPMSgYm7hgg0551wHyIluw==",
"dev": true,
"optional": true
},
"@rollup/rollup-win32-x64-msvc": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.9.5.tgz",
- "integrity": "sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.13.0.tgz",
+ "integrity": "sha512-UKXUQNbO3DOhzLRwHSpa0HnhhCgNODvfoPWv2FCXme8N/ANFfhIPMGuOT+QuKd16+B5yxZ0HdpNlqPvTMS1qfw==",
"dev": true,
"optional": true
},
@@ -10144,9 +10264,9 @@
}
},
"@types/eslint": {
- "version": "8.56.2",
- "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.2.tgz",
- "integrity": "sha512-uQDwm1wFHmbBbCZCqAlq6Do9LYwByNZHWzXppSnay9SuwJ+VRbjkbLABer54kcPnMSlG6Fdiy2yaFXm/z9Z5gw==",
+ "version": "8.56.5",
+ "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz",
+ "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==",
"requires": {
"@types/estree": "*",
"@types/json-schema": "*"
@@ -10168,9 +10288,9 @@
"integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw=="
},
"@types/hast": {
- "version": "2.3.9",
- "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.9.tgz",
- "integrity": "sha512-pTHyNlaMD/oKJmS+ZZUyFUcsZeBZpC0lmGquw98CqRVNgAdJZJeD7GoeLiT6Xbx5rU9VCjSt0RwEvDgzh4obFw==",
+ "version": "2.3.10",
+ "resolved": "https://registry.npmjs.org/@types/hast/-/hast-2.3.10.tgz",
+ "integrity": "sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw==",
"requires": {
"@types/unist": "^2"
}
@@ -10207,9 +10327,9 @@
"dev": true
},
"@types/node": {
- "version": "20.11.5",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.5.tgz",
- "integrity": "sha512-g557vgQjUUfN76MZAN/dt1z3dzcUsimuysco0KeluHgrPdJXkP/XdAURgyO2W9fZWHRtRBiVKzKn8vyOAwlG+w==",
+ "version": "20.11.26",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.26.tgz",
+ "integrity": "sha512-YwOMmyhNnAWijOBQweOJnQPl068Oqd4K3OFbTc6AHJwzweUwwWG3GIFY74OKks2PJUDkQPeddOQES9mLn1CTEQ==",
"requires": {
"undici-types": "~5.26.4"
}
@@ -10245,9 +10365,9 @@
"optional": true
},
"@types/react": {
- "version": "18.2.48",
- "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.48.tgz",
- "integrity": "sha512-qboRCl6Ie70DQQG9hhNREz81jqC1cs9EVNcjQ1AU+jH6NFfSAhVVbrrY/+nSF+Bsk4AOwm9Qa61InvMCyV+H3w==",
+ "version": "18.2.65",
+ "resolved": "https://registry.npmjs.org/@types/react/-/react-18.2.65.tgz",
+ "integrity": "sha512-98TsY0aW4jqx/3RqsUXwMDZSWR1Z4CUlJNue8ueS2/wcxZOsz4xmW1X8ieaWVRHcmmQM3R8xVA4XWB3dJnWwDQ==",
"requires": {
"@types/prop-types": "*",
"@types/scheduler": "*",
@@ -10548,12 +10668,12 @@
"dev": true
},
"array-buffer-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz",
- "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.1.tgz",
+ "integrity": "sha512-ahC5W1xgou+KTXix4sAO8Ki12Q+jf4i0+tmk3sC+zgcynshkHxzpXdImBehiUYKKKDwvfFiJl1tZt6ewscS1Mg==",
"requires": {
- "call-bind": "^1.0.2",
- "is-array-buffer": "^3.0.1"
+ "call-bind": "^1.0.5",
+ "is-array-buffer": "^3.0.4"
}
},
"array-includes": {
@@ -10587,17 +10707,30 @@
"is-string": "^1.0.7"
}
},
+ "array.prototype.findlast": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.4.tgz",
+ "integrity": "sha512-BMtLxpV+8BD+6ZPFIWmnUBpQoy+A+ujcg4rhp2iwCRJYA7PEh2MS4NL3lz8EiDlLrJPp2hg9qWihr5pd//jcGw==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
+ }
+ },
"array.prototype.findlastindex": {
- "version": "1.2.3",
- "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.3.tgz",
- "integrity": "sha512-LzLoiOMAxvy+Gd3BAq3B7VeIgPdo+Q8hthvKtXybMvRV0jrXfJM/t8mw7nNlpEcVlVUnCnM2KSX4XU5HmpodOA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.4.tgz",
+ "integrity": "sha512-hzvSHUshSpCflDR1QMUBLHGHP1VIEBegT4pix9H/Z92Xw3ySoy6c2qh7lJWTJnRJ8JCZ9bJNCgTyYaJGcJu6xQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.3.0",
+ "es-shim-unscopables": "^1.0.2"
}
},
"array.prototype.flat": {
@@ -10623,30 +10756,43 @@
"es-shim-unscopables": "^1.0.0"
}
},
- "array.prototype.tosorted": {
+ "array.prototype.toreversed": {
"version": "1.1.2",
- "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.2.tgz",
- "integrity": "sha512-HuQCHOlk1Weat5jzStICBCd83NxiIMwqDg/dHEsoefabn/hJRj5pVdWcPUSpRrwhwxZOsQassMpgN/xRYFBMIg==",
+ "resolved": "https://registry.npmjs.org/array.prototype.toreversed/-/array.prototype.toreversed-1.1.2.tgz",
+ "integrity": "sha512-wwDCoT4Ck4Cz7sLtgUmzR5UV3YF5mFHUlbChCzZBQZ+0m2cl/DH3tKgvphv1nKgFsJ48oCSg6p91q2Vm0I/ZMA==",
"dev": true,
"requires": {
"call-bind": "^1.0.2",
"define-properties": "^1.2.0",
"es-abstract": "^1.22.1",
- "es-shim-unscopables": "^1.0.0",
- "get-intrinsic": "^1.2.1"
+ "es-shim-unscopables": "^1.0.0"
+ }
+ },
+ "array.prototype.tosorted": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.3.tgz",
+ "integrity": "sha512-/DdH4TiTmOKzyQbp/eadcCVexiCb36xJg7HshYOYJnNZFDj33GEv0P7GxsynpShhq4OLYJzbGcBDkLsDt7MnNg==",
+ "dev": true,
+ "requires": {
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.1.0",
+ "es-shim-unscopables": "^1.0.2"
}
},
"arraybuffer.prototype.slice": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.2.tgz",
- "integrity": "sha512-yMBKppFur/fbHu9/6USUe03bZ4knMYiwFBcyiaXB8Go0qNehwX6inYPzK9U0NeQvGxKthcmHcaR8P5MStSRBAw==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.3.tgz",
+ "integrity": "sha512-bMxMKAjg13EBSVscxTaYA4mRc5t1UAXa2kXiGTNfZ079HIWXEkKmkgFrh/nJqamaLSrXO5H4WFFkPEaLJWbs3A==",
"requires": {
- "array-buffer-byte-length": "^1.0.0",
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
- "is-array-buffer": "^3.0.2",
+ "array-buffer-byte-length": "^1.0.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.2.1",
+ "get-intrinsic": "^1.2.3",
+ "is-array-buffer": "^3.0.4",
"is-shared-array-buffer": "^1.0.2"
}
},
@@ -10700,14 +10846,17 @@
}
},
"available-typed-arrays": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz",
- "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw=="
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz",
+ "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==",
+ "requires": {
+ "possible-typed-array-names": "^1.0.0"
+ }
},
"axios": {
- "version": "1.6.5",
- "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.5.tgz",
- "integrity": "sha512-Ii012v05KEVuUoFWmMW/UQv9aRIc3ZwkWDcM+h5Il8izZCtRVpDUfwpoFf7eOtajT3QiGR4yDUx7lPqHJULgbg==",
+ "version": "1.6.7",
+ "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz",
+ "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==",
"requires": {
"follow-redirects": "^1.15.4",
"form-data": "^4.0.0",
@@ -10789,12 +10938,12 @@
}
},
"browserslist": {
- "version": "4.22.2",
- "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.2.tgz",
- "integrity": "sha512-0UgcrvQmBDvZHFGdYUehrCNIazki7/lUP3kkoi/r3YB2amZbFM9J43ZRkJTXBUZK4gmx56+Sqk9+Vs9mwZx9+A==",
+ "version": "4.23.0",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz",
+ "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==",
"requires": {
- "caniuse-lite": "^1.0.30001565",
- "electron-to-chromium": "^1.4.601",
+ "caniuse-lite": "^1.0.30001587",
+ "electron-to-chromium": "^1.4.668",
"node-releases": "^2.0.14",
"update-browserslist-db": "^1.0.13"
}
@@ -10829,13 +10978,15 @@
"peer": true
},
"call-bind": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.5.tgz",
- "integrity": "sha512-C3nQxfFZxFRVoJoGKKI8y3MOEo129NQ+FgQ08iye+Mk4zNZZGdjfs06bVTr+DBSlA66Q2VEcMki/cUCP4SercQ==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz",
+ "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==",
"requires": {
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.1",
- "set-function-length": "^1.1.1"
+ "get-intrinsic": "^1.2.4",
+ "set-function-length": "^1.2.1"
}
},
"callsites": {
@@ -10871,9 +11022,9 @@
"integrity": "sha512-ceOhN1DL7Y4O6M0j9ICgmTYziV89WMd96SvSl0REd8PMgrY0B/WBOPoed5S1KUmJqXgUXh8gzSe6E3ae27upsQ=="
},
"caniuse-lite": {
- "version": "1.0.30001579",
- "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001579.tgz",
- "integrity": "sha512-u5AUVkixruKHJjw/pj9wISlcMpgFWzSrczLZbrqBSxukQixmg0SJ5sZTpvaFvxU0HoQKd4yoyAogyrAz9pzJnA=="
+ "version": "1.0.30001597",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001597.tgz",
+ "integrity": "sha512-7LjJvmQU6Sj7bL0j5b5WY/3n7utXUJvAe1lxhsHDbLmwX9mdL86Yjtr+5SRCyf8qME4M7pU2hswj0FpyBVCv9w=="
},
"canvg": {
"version": "3.0.10",
@@ -10957,9 +11108,9 @@
}
},
"chokidar": {
- "version": "3.5.3",
- "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz",
- "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==",
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz",
+ "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==",
"dev": true,
"requires": {
"anymatch": "~3.1.2",
@@ -11073,9 +11224,9 @@
}
},
"core-js": {
- "version": "3.35.0",
- "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.35.0.tgz",
- "integrity": "sha512-ntakECeqg81KqMueeGJ79Q5ZgQNR+6eaE8sxGCx62zMbAIj65q+uYvatToew3m6eAGdU4gNZwpZ34NMe4GYswg=="
+ "version": "3.36.0",
+ "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.36.0.tgz",
+ "integrity": "sha512-mt7+TUBbTFg5+GngsAxeKBTl5/VS0guFeJacYge9OmHb+m058UwwIm41SE9T4Den7ClatV57B6TYTuJ0CX1MAw=="
},
"cosmiconfig": {
"version": "7.1.0",
@@ -11218,13 +11369,13 @@
"integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A=="
},
"define-data-property": {
- "version": "1.1.1",
- "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.1.tgz",
- "integrity": "sha512-E7uGkTzkk1d0ByLeSc6ZsFS79Axg+m1P/VsgYsxHgiuc3tFSj+MjMIwe90FC4lOAZzNBdY7kkO2P2wKdsQ1vgQ==",
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz",
+ "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==",
"requires": {
- "get-intrinsic": "^1.2.1",
- "gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0"
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "gopd": "^1.0.1"
}
},
"define-properties": {
@@ -11324,9 +11475,9 @@
}
},
"electron-to-chromium": {
- "version": "1.4.640",
- "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.640.tgz",
- "integrity": "sha512-z/6oZ/Muqk4BaE7P69bXhUhpJbUM9ZJeka43ZwxsDshKtePns4mhBlh8bU5+yrnOnz3fhG82XLzGUXazOmsWnA=="
+ "version": "1.4.701",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.701.tgz",
+ "integrity": "sha512-K3WPQ36bUOtXg/1+69bFlFOvdSm0/0bGqmsfPDLRXLanoKXdA+pIWuf/VbA9b+2CwBFuONgl4NEz4OEm+OJOKA=="
},
"element-resize-detector": {
"version": "1.2.4",
@@ -11343,9 +11494,9 @@
"dev": true
},
"enhanced-resolve": {
- "version": "5.15.0",
- "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.0.tgz",
- "integrity": "sha512-LXYT42KJ7lpIKECr2mAXIaMldcNCh/7E0KBKOu4KSfkHmP+mZmSs+8V5gBAqisWBy0OO4W5Oyys0GO1Y8KtdKg==",
+ "version": "5.16.0",
+ "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.16.0.tgz",
+ "integrity": "sha512-O+QWCviPNSSLAD9Ucn8Awv+poAkqn3T1XY5/N7kR7rQO9yfSGWkYZDwpJ+iKF7B8rxaQKWngSqACpgzeapSyoA==",
"peer": true,
"requires": {
"graceful-fs": "^4.2.4",
@@ -11387,11 +11538,11 @@
}
},
"enzyme-shallow-equal": {
- "version": "1.0.5",
- "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.5.tgz",
- "integrity": "sha512-i6cwm7hN630JXenxxJFBKzgLC3hMTafFQXflvzHgPmDhOBhxUWDe8AeRv1qp2/uWJ2Y8z5yLWMzmAfkTOiOCZg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/enzyme-shallow-equal/-/enzyme-shallow-equal-1.0.7.tgz",
+ "integrity": "sha512-/um0GFqUXnpM9SvKtje+9Tjoz3f1fpBC3eXRFrNs8kpYn69JljciYP7KZTqM/YQbUY9KUjvKB4jo/q+L6WGGvg==",
"requires": {
- "has": "^1.0.3",
+ "hasown": "^2.0.0",
"object-is": "^1.1.5"
}
},
@@ -11404,49 +11555,51 @@
}
},
"es-abstract": {
- "version": "1.22.3",
- "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.3.tgz",
- "integrity": "sha512-eiiY8HQeYfYH2Con2berK+To6GrK2RxbPawDkGq4UiCQQfZHb6wX9qQqkbpPqaxQFcl8d9QzZqo0tGE0VcrdwA==",
- "requires": {
- "array-buffer-byte-length": "^1.0.0",
- "arraybuffer.prototype.slice": "^1.0.2",
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.5",
- "es-set-tostringtag": "^2.0.1",
+ "version": "1.22.5",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.22.5.tgz",
+ "integrity": "sha512-oW69R+4q2wG+Hc3KZePPZxOiisRIqfKBVo/HLx94QcJeWGU/8sZhCvc829rd1kS366vlJbzBfXf9yWwf0+Ko7w==",
+ "requires": {
+ "array-buffer-byte-length": "^1.0.1",
+ "arraybuffer.prototype.slice": "^1.0.3",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
+ "es-define-property": "^1.0.0",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.3",
"es-to-primitive": "^1.2.1",
"function.prototype.name": "^1.1.6",
- "get-intrinsic": "^1.2.2",
- "get-symbol-description": "^1.0.0",
+ "get-intrinsic": "^1.2.4",
+ "get-symbol-description": "^1.0.2",
"globalthis": "^1.0.3",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.0",
- "has-proto": "^1.0.1",
+ "has-property-descriptors": "^1.0.2",
+ "has-proto": "^1.0.3",
"has-symbols": "^1.0.3",
- "hasown": "^2.0.0",
- "internal-slot": "^1.0.5",
- "is-array-buffer": "^3.0.2",
+ "hasown": "^2.0.1",
+ "internal-slot": "^1.0.7",
+ "is-array-buffer": "^3.0.4",
"is-callable": "^1.2.7",
- "is-negative-zero": "^2.0.2",
+ "is-negative-zero": "^2.0.3",
"is-regex": "^1.1.4",
- "is-shared-array-buffer": "^1.0.2",
+ "is-shared-array-buffer": "^1.0.3",
"is-string": "^1.0.7",
- "is-typed-array": "^1.1.12",
+ "is-typed-array": "^1.1.13",
"is-weakref": "^1.0.2",
"object-inspect": "^1.13.1",
"object-keys": "^1.1.1",
- "object.assign": "^4.1.4",
- "regexp.prototype.flags": "^1.5.1",
- "safe-array-concat": "^1.0.1",
- "safe-regex-test": "^1.0.0",
+ "object.assign": "^4.1.5",
+ "regexp.prototype.flags": "^1.5.2",
+ "safe-array-concat": "^1.1.0",
+ "safe-regex-test": "^1.0.3",
"string.prototype.trim": "^1.2.8",
"string.prototype.trimend": "^1.0.7",
"string.prototype.trimstart": "^1.0.7",
- "typed-array-buffer": "^1.0.0",
- "typed-array-byte-length": "^1.0.0",
- "typed-array-byte-offset": "^1.0.0",
- "typed-array-length": "^1.0.4",
+ "typed-array-buffer": "^1.0.2",
+ "typed-array-byte-length": "^1.0.1",
+ "typed-array-byte-offset": "^1.0.2",
+ "typed-array-length": "^1.0.5",
"unbox-primitive": "^1.0.2",
- "which-typed-array": "^1.1.13"
+ "which-typed-array": "^1.1.14"
}
},
"es-array-method-boxes-properly": {
@@ -11454,26 +11607,40 @@
"resolved": "https://registry.npmjs.org/es-array-method-boxes-properly/-/es-array-method-boxes-properly-1.0.0.tgz",
"integrity": "sha512-wd6JXUmyHmt8T5a2xreUwKcGPq6f1f+WwIJkijUqiGcJz1qqnZgP6XIK+QyIWU5lT7imeNxUll48bziG+TSYcA=="
},
+ "es-define-property": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz",
+ "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==",
+ "requires": {
+ "get-intrinsic": "^1.2.4"
+ }
+ },
+ "es-errors": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz",
+ "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw=="
+ },
"es-iterator-helpers": {
- "version": "1.0.15",
- "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.15.tgz",
- "integrity": "sha512-GhoY8uYqd6iwUl2kgjTm4CZAf6oo5mHK7BPqx3rKgx893YSsy0LGHV6gfqqQvZt/8xM8xeOnfXBCfqclMKkJ5g==",
+ "version": "1.0.17",
+ "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.17.tgz",
+ "integrity": "sha512-lh7BsUqelv4KUbR5a/ZTaGGIMLCjPGPqJ6q+Oq24YP0RdyptX1uzm4vvaqzk7Zx3bpl/76YLTTDj9L7uYQ92oQ==",
"dev": true,
"requires": {
"asynciterator.prototype": "^1.0.0",
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"define-properties": "^1.2.1",
- "es-abstract": "^1.22.1",
- "es-set-tostringtag": "^2.0.1",
- "function-bind": "^1.1.1",
- "get-intrinsic": "^1.2.1",
+ "es-abstract": "^1.22.4",
+ "es-errors": "^1.3.0",
+ "es-set-tostringtag": "^2.0.2",
+ "function-bind": "^1.1.2",
+ "get-intrinsic": "^1.2.4",
"globalthis": "^1.0.3",
- "has-property-descriptors": "^1.0.0",
+ "has-property-descriptors": "^1.0.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
- "internal-slot": "^1.0.5",
+ "internal-slot": "^1.0.7",
"iterator.prototype": "^1.1.2",
- "safe-array-concat": "^1.0.1"
+ "safe-array-concat": "^1.1.0"
}
},
"es-module-lexer": {
@@ -11483,13 +11650,13 @@
"peer": true
},
"es-set-tostringtag": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.2.tgz",
- "integrity": "sha512-BuDyupZt65P9D2D2vA/zqcI3G5xRsklm5N3xCwuiy+/vKy8i0ifdsQP1sLgO4tZDSCaQUSnmC48khknGMV3D2Q==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.0.3.tgz",
+ "integrity": "sha512-3T8uNMC3OQTHkFUsFq8r/BwAXLHvU/9O9mE0fBc/MY5iq/8H7ncvO947LmYA6ldWw9Uh8Yhf25zu6n7nML5QWQ==",
"requires": {
- "get-intrinsic": "^1.2.2",
- "has-tostringtag": "^1.0.0",
- "hasown": "^2.0.0"
+ "get-intrinsic": "^1.2.4",
+ "has-tostringtag": "^1.0.2",
+ "hasown": "^2.0.1"
}
},
"es-shim-unscopables": {
@@ -11511,40 +11678,40 @@
}
},
"esbuild": {
- "version": "0.19.11",
- "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.11.tgz",
- "integrity": "sha512-HJ96Hev2hX/6i5cDVwcqiJBBtuo9+FeIJOtZ9W1kA5M6AMJRHUZlpYZ1/SbEwtO0ioNAW8rUooVpC/WehY2SfA==",
- "dev": true,
- "requires": {
- "@esbuild/aix-ppc64": "0.19.11",
- "@esbuild/android-arm": "0.19.11",
- "@esbuild/android-arm64": "0.19.11",
- "@esbuild/android-x64": "0.19.11",
- "@esbuild/darwin-arm64": "0.19.11",
- "@esbuild/darwin-x64": "0.19.11",
- "@esbuild/freebsd-arm64": "0.19.11",
- "@esbuild/freebsd-x64": "0.19.11",
- "@esbuild/linux-arm": "0.19.11",
- "@esbuild/linux-arm64": "0.19.11",
- "@esbuild/linux-ia32": "0.19.11",
- "@esbuild/linux-loong64": "0.19.11",
- "@esbuild/linux-mips64el": "0.19.11",
- "@esbuild/linux-ppc64": "0.19.11",
- "@esbuild/linux-riscv64": "0.19.11",
- "@esbuild/linux-s390x": "0.19.11",
- "@esbuild/linux-x64": "0.19.11",
- "@esbuild/netbsd-x64": "0.19.11",
- "@esbuild/openbsd-x64": "0.19.11",
- "@esbuild/sunos-x64": "0.19.11",
- "@esbuild/win32-arm64": "0.19.11",
- "@esbuild/win32-ia32": "0.19.11",
- "@esbuild/win32-x64": "0.19.11"
+ "version": "0.19.12",
+ "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz",
+ "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==",
+ "dev": true,
+ "requires": {
+ "@esbuild/aix-ppc64": "0.19.12",
+ "@esbuild/android-arm": "0.19.12",
+ "@esbuild/android-arm64": "0.19.12",
+ "@esbuild/android-x64": "0.19.12",
+ "@esbuild/darwin-arm64": "0.19.12",
+ "@esbuild/darwin-x64": "0.19.12",
+ "@esbuild/freebsd-arm64": "0.19.12",
+ "@esbuild/freebsd-x64": "0.19.12",
+ "@esbuild/linux-arm": "0.19.12",
+ "@esbuild/linux-arm64": "0.19.12",
+ "@esbuild/linux-ia32": "0.19.12",
+ "@esbuild/linux-loong64": "0.19.12",
+ "@esbuild/linux-mips64el": "0.19.12",
+ "@esbuild/linux-ppc64": "0.19.12",
+ "@esbuild/linux-riscv64": "0.19.12",
+ "@esbuild/linux-s390x": "0.19.12",
+ "@esbuild/linux-x64": "0.19.12",
+ "@esbuild/netbsd-x64": "0.19.12",
+ "@esbuild/openbsd-x64": "0.19.12",
+ "@esbuild/sunos-x64": "0.19.12",
+ "@esbuild/win32-arm64": "0.19.12",
+ "@esbuild/win32-ia32": "0.19.12",
+ "@esbuild/win32-x64": "0.19.12"
}
},
"escalade": {
- "version": "3.1.1",
- "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
- "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw=="
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz",
+ "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA=="
},
"escape-string-regexp": {
"version": "1.0.5",
@@ -11552,16 +11719,16 @@
"integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg=="
},
"eslint": {
- "version": "8.56.0",
- "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.56.0.tgz",
- "integrity": "sha512-Go19xM6T9puCOWntie1/P997aXxFsOi37JIHRWI514Hc6ZnaHGKY9xFhrU65RT6CcBEzZoGG1e6Nq+DT04ZtZQ==",
+ "version": "8.57.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz",
+ "integrity": "sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ==",
"dev": true,
"requires": {
"@eslint-community/eslint-utils": "^4.2.0",
"@eslint-community/regexpp": "^4.6.1",
"@eslint/eslintrc": "^2.1.4",
- "@eslint/js": "8.56.0",
- "@humanwhocodes/config-array": "^0.11.13",
+ "@eslint/js": "8.57.0",
+ "@humanwhocodes/config-array": "^0.11.14",
"@humanwhocodes/module-importer": "^1.0.1",
"@nodelib/fs.walk": "^1.2.8",
"@ungap/structured-clone": "^1.2.0",
@@ -11727,9 +11894,9 @@
}
},
"eslint-module-utils": {
- "version": "2.8.0",
- "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.0.tgz",
- "integrity": "sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==",
+ "version": "2.8.1",
+ "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.8.1.tgz",
+ "integrity": "sha512-rXDXR3h7cs7dy9RNpUlQf80nX31XWJEyGq1tRMo+6GsO5VmTe4UTwtmonAD4ZkAsrfMVDA2wlGJ3790Ys+D49Q==",
"dev": true,
"requires": {
"debug": "^3.2.7"
@@ -11801,27 +11968,29 @@
}
},
"eslint-plugin-react": {
- "version": "7.33.2",
- "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.33.2.tgz",
- "integrity": "sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==",
+ "version": "7.34.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.34.0.tgz",
+ "integrity": "sha512-MeVXdReleBTdkz/bvcQMSnCXGi+c9kvy51IpinjnJgutl3YTHWsDdke7Z1ufZpGfDG8xduBDKyjtB9JH1eBKIQ==",
"dev": true,
"requires": {
- "array-includes": "^3.1.6",
- "array.prototype.flatmap": "^1.3.1",
- "array.prototype.tosorted": "^1.1.1",
+ "array-includes": "^3.1.7",
+ "array.prototype.findlast": "^1.2.4",
+ "array.prototype.flatmap": "^1.3.2",
+ "array.prototype.toreversed": "^1.1.2",
+ "array.prototype.tosorted": "^1.1.3",
"doctrine": "^2.1.0",
- "es-iterator-helpers": "^1.0.12",
+ "es-iterator-helpers": "^1.0.17",
"estraverse": "^5.3.0",
"jsx-ast-utils": "^2.4.1 || ^3.0.0",
"minimatch": "^3.1.2",
- "object.entries": "^1.1.6",
- "object.fromentries": "^2.0.6",
- "object.hasown": "^1.1.2",
- "object.values": "^1.1.6",
+ "object.entries": "^1.1.7",
+ "object.fromentries": "^2.0.7",
+ "object.hasown": "^1.1.3",
+ "object.values": "^1.1.7",
"prop-types": "^15.8.1",
- "resolve": "^2.0.0-next.4",
+ "resolve": "^2.0.0-next.5",
"semver": "^6.3.1",
- "string.prototype.matchall": "^4.0.8"
+ "string.prototype.matchall": "^4.0.10"
},
"dependencies": {
"doctrine": {
@@ -11985,9 +12154,9 @@
"dev": true
},
"fastq": {
- "version": "1.16.0",
- "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.16.0.tgz",
- "integrity": "sha512-ifCoaXsDrsdkWTtiNJX5uzHDsrck5TzfKKDcuFFTIrrc/BS076qgEIfoIy1VeZqViznfKiysPYTh/QeHtnIsYA==",
+ "version": "1.17.1",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
+ "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==",
"dev": true,
"requires": {
"reusify": "^1.0.4"
@@ -12073,9 +12242,9 @@
}
},
"flatted": {
- "version": "3.2.9",
- "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz",
- "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==",
+ "version": "3.3.1",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz",
+ "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==",
"dev": true
},
"follow-redirects": {
@@ -12156,10 +12325,11 @@
"integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg=="
},
"get-intrinsic": {
- "version": "1.2.2",
- "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.2.tgz",
- "integrity": "sha512-0gSo4ml/0j98Y3lngkFEot/zhiCeWsbYIlZ+uZOVgzLyLaUw7wxUL+nCTP0XJvJg1AXulJRI3UJi8GsbDuxdGA==",
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz",
+ "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==",
"requires": {
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
"has-proto": "^1.0.1",
"has-symbols": "^1.0.3",
@@ -12172,12 +12342,13 @@
"integrity": "sha512-lXNzT/h/dTjTxRbm9BXb+SGxxzkm97h/PCIKtlN/CBCxxmkkIVV21udumMS93MuVTDX583gqc94v3RjuHmI+2Q=="
},
"get-symbol-description": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz",
- "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.2.tgz",
+ "integrity": "sha512-g0QYk1dZBxGwk+Ngc+ltRH2IBp2f7zBkBMBJZCDerh6EhlhSR6+9irMCuT/09zD6qkarHUSn529sK/yL4S27mg==",
"requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.5",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4"
}
},
"glob": {
@@ -12328,17 +12499,17 @@
"integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw=="
},
"has-property-descriptors": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.1.tgz",
- "integrity": "sha512-VsX8eaIewvas0xnvinAe9bw4WfIeODpGYikiWYLH+dma0Jw6KHYqWiWfhQlgOVK8D6PvjubK5Uc4P0iIhIcNVg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz",
+ "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==",
"requires": {
- "get-intrinsic": "^1.2.2"
+ "es-define-property": "^1.0.0"
}
},
"has-proto": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.1.tgz",
- "integrity": "sha512-7qE+iP+O+bgF9clE5+UoBFzE65mlBiVj3tKCrlNQ0Ogwm0BjpT/gK4SlLYDMybDh5I3TCTKnPPa0oMG7JDYrhg=="
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz",
+ "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q=="
},
"has-symbols": {
"version": "1.0.3",
@@ -12346,17 +12517,17 @@
"integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A=="
},
"has-tostringtag": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz",
- "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz",
+ "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==",
"requires": {
- "has-symbols": "^1.0.2"
+ "has-symbols": "^1.0.3"
}
},
"hasown": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
- "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz",
+ "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==",
"requires": {
"function-bind": "^1.1.2"
}
@@ -12485,9 +12656,9 @@
"integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA=="
},
"ignore": {
- "version": "5.3.0",
- "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
- "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz",
+ "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==",
"dev": true
},
"imagesloaded": {
@@ -12504,9 +12675,9 @@
"integrity": "sha512-bc4NBHqOqSfRW7POMkHd51LvClaeMXpm8dx0e8oE2GORbq5aRK7Bxl4FyzVLdGtLmvLKL7BTDBG5ACQm4HWjTA=="
},
"immutable": {
- "version": "4.3.4",
- "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.4.tgz",
- "integrity": "sha512-fsXeu4J4i6WNWSikpI88v/PcVflZz+6kMhUfIwc5SY+poQRPnaf5V7qds6SUyUN3cVxEzuCab7QIoLOQ+DQ1wA==",
+ "version": "4.3.5",
+ "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz",
+ "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==",
"dev": true
},
"import-fresh": {
@@ -12559,11 +12730,11 @@
"dev": true
},
"internal-slot": {
- "version": "1.0.6",
- "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.6.tgz",
- "integrity": "sha512-Xj6dv+PsbtwyPpEflsejS+oIZxmMlV44zAhG479uYu89MsjcYOhCFnNyKrkJrihbsiasQyY0afoCl/9BLR65bg==",
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.7.tgz",
+ "integrity": "sha512-NGnrKwXzSms2qUUih/ILZ5JBqNTSa1+ZmP6flaIp6KmSElgE9qdndzS3cqjrDovwFdmwsGsLdeFgB6suw+1e9g==",
"requires": {
- "get-intrinsic": "^1.2.2",
+ "es-errors": "^1.3.0",
"hasown": "^2.0.0",
"side-channel": "^1.0.4"
}
@@ -12591,13 +12762,12 @@
}
},
"is-array-buffer": {
- "version": "3.0.2",
- "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz",
- "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==",
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.4.tgz",
+ "integrity": "sha512-wcjaerHw0ydZwfhiKbXJWLDY8A7yV7KhjQOpb83hGgGfId/aQa4TOvwyzn2PuswW2gPCYEL/nEAiSVpdOj1lXw==",
"requires": {
"call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.0",
- "is-typed-array": "^1.1.10"
+ "get-intrinsic": "^1.2.1"
}
},
"is-arrayish": {
@@ -12711,15 +12881,15 @@
"integrity": "sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw=="
},
"is-map": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz",
- "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz",
+ "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==",
"dev": true
},
"is-negative-zero": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz",
- "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA=="
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz",
+ "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw=="
},
"is-number": {
"version": "7.0.0",
@@ -12763,17 +12933,17 @@
}
},
"is-set": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz",
- "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz",
+ "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==",
"dev": true
},
"is-shared-array-buffer": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz",
- "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.3.tgz",
+ "integrity": "sha512-nA2hv5XIhLR3uVzDDfCIknerhx8XUKnstuOERPNNIinXG7v9u+ohXF67vxm4TPTEPU6lm61ZkwP3c9PCB97rhg==",
"requires": {
- "call-bind": "^1.0.2"
+ "call-bind": "^1.0.7"
}
},
"is-string": {
@@ -12798,17 +12968,17 @@
}
},
"is-typed-array": {
- "version": "1.1.12",
- "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.12.tgz",
- "integrity": "sha512-Z14TF2JNG8Lss5/HMqt0//T9JeHXttXy5pH/DBU4vi98ozO2btxzq9MwYDZYnKwU8nRsz/+GVFVRDq3DkVuSPg==",
+ "version": "1.1.13",
+ "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.13.tgz",
+ "integrity": "sha512-uZ25/bUAlUY5fR4OKT4rZQEBrzQWYV9ZJYGGsUmEJ6thodVJ1HX64ePQ6Z0qPWP+m+Uq6e9UugrE38jeYsDSMw==",
"requires": {
- "which-typed-array": "^1.1.11"
+ "which-typed-array": "^1.1.14"
}
},
"is-weakmap": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
- "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz",
+ "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==",
"dev": true
},
"is-weakref": {
@@ -12820,13 +12990,13 @@
}
},
"is-weakset": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz",
- "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==",
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.3.tgz",
+ "integrity": "sha512-LvIm3/KWzS9oRFHugab7d+M/GcBXuXX5xZkzPmN+NxihdQlZUQ4dWuSV1xR/sq6upL1TJEDrfBgRepHFdBtSNQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.1.1"
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4"
}
},
"isarray": {
@@ -12980,9 +13150,9 @@
}
},
"jspdf-autotable": {
- "version": "3.8.1",
- "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.8.1.tgz",
- "integrity": "sha512-UjJqo80Z3/WUzDi4JipTGp0pAvNvR3Gsm38inJ5ZnwsJH0Lw4pEbssRSH6zMWAhR1ZkTrsDpQo5p6rZk987/AQ==",
+ "version": "3.8.2",
+ "resolved": "https://registry.npmjs.org/jspdf-autotable/-/jspdf-autotable-3.8.2.tgz",
+ "integrity": "sha512-zW1ix99/mtR4MbIni7IqvrpfHmuTaICl6iv6wqjRN86Nxtwaw/QtOeDbpXqYSzHIJK9JvgtLM283sc5x+ipkJg==",
"requires": {}
},
"jsx-ast-utils": {
@@ -13132,9 +13302,9 @@
"dev": true
},
"markdown-to-jsx": {
- "version": "7.4.0",
- "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.0.tgz",
- "integrity": "sha512-zilc+MIkVVXPyTb4iIUTIz9yyqfcWjszGXnwF9K/aiBWcHXFcmdEMTkG01/oQhwSCH7SY1BnG6+ev5BzWmbPrg==",
+ "version": "7.4.1",
+ "resolved": "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.1.tgz",
+ "integrity": "sha512-GbrbkTnHp9u6+HqbPRFJbObi369AgJNXi/sGqq5HRsoZW063xR1XDCaConqq+whfEIAlzB1YPnOgsPc7B7bc/A==",
"requires": {}
},
"masonry-layout": {
@@ -13250,9 +13420,9 @@
"integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how=="
},
"monaco-editor": {
- "version": "0.45.0",
- "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz",
- "integrity": "sha512-mjv1G1ZzfEE3k9HZN0dQ2olMdwIfaeAAjFiwNprLfYNRSz7ctv9XuCT7gPtBGrMUeV1/iZzYKj17Khu1hxoHOA==",
+ "version": "0.47.0",
+ "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.47.0.tgz",
+ "integrity": "sha512-VabVvHvQ9QmMwXu4du008ZDuyLnHs9j7ThVFsiJoXSOQk18+LF89N4ADzPbFenm0W4V2bGHnFBztIRQTgBfxzw==",
"peer": true
},
"moo": {
@@ -13335,9 +13505,9 @@
}
},
"semver": {
- "version": "7.5.4",
- "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
- "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "version": "7.6.0",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
+ "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
"dev": true,
"requires": {
"lru-cache": "^6.0.0"
@@ -13376,12 +13546,12 @@
"integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ=="
},
"object-is": {
- "version": "1.1.5",
- "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz",
- "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==",
+ "version": "1.1.6",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.6.tgz",
+ "integrity": "sha512-F8cZ+KfGlSGi09lJT7/Nd6KJZ9ygtvYC0/UYYLI9nmQKLMnydpB9yvbv9K1uSkEu7FU9vYPmVwLg328tX+ot3Q==",
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.1.3"
+ "call-bind": "^1.0.7",
+ "define-properties": "^1.2.1"
}
},
"object-keys": {
@@ -13422,15 +13592,16 @@
}
},
"object.groupby": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.1.tgz",
- "integrity": "sha512-HqaQtqLnp/8Bn4GL16cj+CUYbnpe1bh0TtEaWvybszDG4tgxCJuRpV8VGuvNaI1fAnI4lUJzDG55MXcOH4JZcQ==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.2.tgz",
+ "integrity": "sha512-bzBq58S+x+uo0VjurFT0UktpKHOZmv4/xePiOA1nbB9pMqpGK7rUPNgf+1YC+7mE+0HzhTMqNUuCqvKhj6FnBw==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1"
+ "array.prototype.filter": "^1.0.3",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.0.0"
}
},
"object.hasown": {
@@ -13613,10 +13784,15 @@
"resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz",
"integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA=="
},
+ "possible-typed-array-names": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.0.0.tgz",
+ "integrity": "sha512-d7Uw+eZoloe0EHDIYoe+bQ5WXnGMOpmiZFTuMWCwpjzzkL2nTjcKiAk4hh8TjnGye2TwWOk3UXucZ+3rbmBa8Q=="
+ },
"postcss": {
- "version": "8.4.33",
- "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.33.tgz",
- "integrity": "sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==",
+ "version": "8.4.35",
+ "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz",
+ "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==",
"requires": {
"nanoid": "^3.3.7",
"picocolors": "^1.0.0",
@@ -13957,9 +14133,9 @@
"integrity": "sha512-fBASbA6LnOU9dOU2eW7aQ8xmYBSXUIWr+UmF9b1efZBazGNO+rcXT/icdKnYm2pTwcRylVUYwW7H1PHfLekVzA=="
},
"react-loading-skeleton": {
- "version": "3.3.1",
- "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.3.1.tgz",
- "integrity": "sha512-NilqqwMh2v9omN7LteiDloEVpFyMIa0VGqF+ukqp0ncVlYu1sKYbYGX9JEl+GtOT9TKsh04zCHAbavnQ2USldA==",
+ "version": "3.4.0",
+ "resolved": "https://registry.npmjs.org/react-loading-skeleton/-/react-loading-skeleton-3.4.0.tgz",
+ "integrity": "sha512-1oJEBc9+wn7BbkQQk7YodlYEIjgeR+GrRjD+QXkVjwZN7LGIcAFHrx4NhT7UHGBxNY1+zax3c+Fo6XQM4R7CgA==",
"requires": {}
},
"react-masonry-component": {
@@ -14047,20 +14223,20 @@
"dev": true
},
"react-router": {
- "version": "6.21.3",
- "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.21.3.tgz",
- "integrity": "sha512-a0H638ZXULv1OdkmiK6s6itNhoy33ywxmUFT/xtSoVyf9VnC7n7+VT4LjVzdIHSaF5TIh9ylUgxMXksHTgGrKg==",
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router/-/react-router-6.22.3.tgz",
+ "integrity": "sha512-dr2eb3Mj5zK2YISHK++foM9w4eBnO23eKnZEDs7c880P6oKbrjz/Svg9+nxqtHQK+oMW4OtjZca0RqPglXxguQ==",
"requires": {
- "@remix-run/router": "1.14.2"
+ "@remix-run/router": "1.15.3"
}
},
"react-router-dom": {
- "version": "6.21.3",
- "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.21.3.tgz",
- "integrity": "sha512-kNzubk7n4YHSrErzjLK72j0B5i969GsuCGazRl3G6j1zqZBLjuSlYBdVdkDOgzGdPIffUOc9nmgiadTEVoq91g==",
+ "version": "6.22.3",
+ "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.22.3.tgz",
+ "integrity": "sha512-7ZILI7HjcE+p31oQvwbokjk6OA/bnFxrhJ19n82Ex9Ph8fNAq+Hm/7KchpMGlTgWhUxRHMMCut+vEtNpWpowKw==",
"requires": {
- "@remix-run/router": "1.14.2",
- "react-router": "6.21.3"
+ "@remix-run/router": "1.15.3",
+ "react-router": "6.22.3"
}
},
"react-select": {
@@ -14108,9 +14284,9 @@
}
},
"react-time-ago": {
- "version": "7.2.1",
- "resolved": "https://registry.npmjs.org/react-time-ago/-/react-time-ago-7.2.1.tgz",
- "integrity": "sha512-X5zwJDZHa1fsMwMvh8mrHN31g85s84zMCp+d7YL6IX50kNnr6YMAS2wpt1BmO9OxBV2Ue5J1ptD6JI8Zjd35HA==",
+ "version": "7.3.1",
+ "resolved": "https://registry.npmjs.org/react-time-ago/-/react-time-ago-7.3.1.tgz",
+ "integrity": "sha512-c6QKSRrnIhZiEbOa2PXdh1InNYpqX3wwXA0fuOFX4r/C2hdt5hNvjvKXbKbGWXAeumMi9DoS3oGPboEpgccnOQ==",
"requires": {
"memoize-one": "^6.0.0",
"prop-types": "^15.8.1",
@@ -14278,15 +14454,16 @@
"requires": {}
},
"reflect.getprototypeof": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz",
- "integrity": "sha512-ECkTw8TmJwW60lOTR+ZkODISW6RQ8+2CL3COqtiJKLd6MmB45hN51HprHFziKLGkAuTGQhBb91V8cy+KHlaCjw==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.5.tgz",
+ "integrity": "sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==",
"dev": true,
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "es-abstract": "^1.22.1",
- "get-intrinsic": "^1.2.1",
+ "call-bind": "^1.0.5",
+ "define-properties": "^1.2.1",
+ "es-abstract": "^1.22.3",
+ "es-errors": "^1.0.0",
+ "get-intrinsic": "^1.2.3",
"globalthis": "^1.0.3",
"which-builtin-type": "^1.1.3"
}
@@ -14314,13 +14491,14 @@
"integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw=="
},
"regexp.prototype.flags": {
- "version": "1.5.1",
- "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.1.tgz",
- "integrity": "sha512-sy6TXMN+hnP/wMy+ISxg3krXx7BAtWVO4UouuCN/ziM9UEne0euamVNafDfvC83bRNr95y0V5iijeDQFUNpvrg==",
+ "version": "1.5.2",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz",
+ "integrity": "sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw==",
"requires": {
- "call-bind": "^1.0.2",
- "define-properties": "^1.2.0",
- "set-function-name": "^2.0.0"
+ "call-bind": "^1.0.6",
+ "define-properties": "^1.2.1",
+ "es-errors": "^1.3.0",
+ "set-function-name": "^2.0.1"
}
},
"relative-time-format": {
@@ -14380,24 +14558,24 @@
}
},
"rollup": {
- "version": "4.9.5",
- "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.9.5.tgz",
- "integrity": "sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==",
- "dev": true,
- "requires": {
- "@rollup/rollup-android-arm-eabi": "4.9.5",
- "@rollup/rollup-android-arm64": "4.9.5",
- "@rollup/rollup-darwin-arm64": "4.9.5",
- "@rollup/rollup-darwin-x64": "4.9.5",
- "@rollup/rollup-linux-arm-gnueabihf": "4.9.5",
- "@rollup/rollup-linux-arm64-gnu": "4.9.5",
- "@rollup/rollup-linux-arm64-musl": "4.9.5",
- "@rollup/rollup-linux-riscv64-gnu": "4.9.5",
- "@rollup/rollup-linux-x64-gnu": "4.9.5",
- "@rollup/rollup-linux-x64-musl": "4.9.5",
- "@rollup/rollup-win32-arm64-msvc": "4.9.5",
- "@rollup/rollup-win32-ia32-msvc": "4.9.5",
- "@rollup/rollup-win32-x64-msvc": "4.9.5",
+ "version": "4.13.0",
+ "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.13.0.tgz",
+ "integrity": "sha512-3YegKemjoQnYKmsBlOHfMLVPPA5xLkQ8MHLLSw/fBrFaVkEayL51DilPpNNLq1exr98F2B1TzrV0FUlN3gWRPg==",
+ "dev": true,
+ "requires": {
+ "@rollup/rollup-android-arm-eabi": "4.13.0",
+ "@rollup/rollup-android-arm64": "4.13.0",
+ "@rollup/rollup-darwin-arm64": "4.13.0",
+ "@rollup/rollup-darwin-x64": "4.13.0",
+ "@rollup/rollup-linux-arm-gnueabihf": "4.13.0",
+ "@rollup/rollup-linux-arm64-gnu": "4.13.0",
+ "@rollup/rollup-linux-arm64-musl": "4.13.0",
+ "@rollup/rollup-linux-riscv64-gnu": "4.13.0",
+ "@rollup/rollup-linux-x64-gnu": "4.13.0",
+ "@rollup/rollup-linux-x64-musl": "4.13.0",
+ "@rollup/rollup-win32-arm64-msvc": "4.13.0",
+ "@rollup/rollup-win32-ia32-msvc": "4.13.0",
+ "@rollup/rollup-win32-x64-msvc": "4.13.0",
"@types/estree": "1.0.5",
"fsevents": "~2.3.2"
}
@@ -14421,12 +14599,12 @@
}
},
"safe-array-concat": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.0.tgz",
- "integrity": "sha512-ZdQ0Jeb9Ofti4hbt5lX3T2JcAamT9hfzYU1MNB+z/jaEbB6wfFfPIR/zEORmZqobkCCJhSjodobH6WHNmJ97dg==",
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.2.tgz",
+ "integrity": "sha512-vj6RsCsWBCf19jIeHEfkRMw8DPiBb+DMXklQ/1SGDHOMlHdPUkZXFQ2YdplS23zESTijAcurb1aSgJA3AgMu1Q==",
"requires": {
- "call-bind": "^1.0.5",
- "get-intrinsic": "^1.2.2",
+ "call-bind": "^1.0.7",
+ "get-intrinsic": "^1.2.4",
"has-symbols": "^1.0.3",
"isarray": "^2.0.5"
}
@@ -14438,12 +14616,12 @@
"peer": true
},
"safe-regex-test": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.2.tgz",
- "integrity": "sha512-83S9w6eFq12BBIJYvjMux6/dkirb8+4zJRA9cxNBVb7Wq5fJBW+Xze48WqR8pxua7bDuAaaAxtVVd4Idjp1dBQ==",
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.0.3.tgz",
+ "integrity": "sha512-CdASjNJPvRa7roO6Ra/gLYBTzYzzPyyBXxIMdGW3USQLyjWEls2RgW5UBTXaQVp+OrpeCK3bLem8smtmheoRuw==",
"requires": {
- "call-bind": "^1.0.5",
- "get-intrinsic": "^1.2.2",
+ "call-bind": "^1.0.6",
+ "es-errors": "^1.3.0",
"is-regex": "^1.1.4"
}
},
@@ -14453,9 +14631,9 @@
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
},
"sass": {
- "version": "1.70.0",
- "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz",
- "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==",
+ "version": "1.71.1",
+ "resolved": "https://registry.npmjs.org/sass/-/sass-1.71.1.tgz",
+ "integrity": "sha512-wovtnV2PxzteLlfNzbgm1tFXPLoZILYAMJtvoXXkD7/+1uP41eKkIt1ypWq5/q2uT94qHjXehEYfmjKOvjL9sg==",
"dev": true,
"requires": {
"chokidar": ">=3.0.0 <4.0.0",
@@ -14524,25 +14702,27 @@
}
},
"set-function-length": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.0.tgz",
- "integrity": "sha512-4DBHDoyHlM1IRPGYcoxexgh67y4ueR53FKV1yyxwFMY7aCqcN/38M1+SwZ/qJQ8iLv7+ck385ot4CcisOAPT9w==",
+ "version": "1.2.2",
+ "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz",
+ "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==",
"requires": {
- "define-data-property": "^1.1.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"function-bind": "^1.1.2",
- "get-intrinsic": "^1.2.2",
+ "get-intrinsic": "^1.2.4",
"gopd": "^1.0.1",
- "has-property-descriptors": "^1.0.1"
+ "has-property-descriptors": "^1.0.2"
}
},
"set-function-name": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.1.tgz",
- "integrity": "sha512-tMNCiqYVkXIZgc2Hnoy2IvC/f8ezc5koaRFkCjrpWzGpCd3qbZXPzVy9MAZzK1ch/X0jvSkojys3oqJN0qCmdA==",
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz",
+ "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==",
"requires": {
- "define-data-property": "^1.0.1",
+ "define-data-property": "^1.1.4",
+ "es-errors": "^1.3.0",
"functions-have-names": "^1.2.3",
- "has-property-descriptors": "^1.0.0"
+ "has-property-descriptors": "^1.0.2"
}
},
"shallowequal": {
@@ -14566,13 +14746,14 @@
"dev": true
},
"side-channel": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz",
- "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==",
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz",
+ "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==",
"requires": {
- "call-bind": "^1.0.0",
- "get-intrinsic": "^1.0.2",
- "object-inspect": "^1.9.0"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "get-intrinsic": "^1.2.4",
+ "object-inspect": "^1.13.1"
}
},
"signal-exit": {
@@ -14692,9 +14873,9 @@
}
},
"spdx-exceptions": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz",
- "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==",
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz",
+ "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==",
"dev": true
},
"spdx-expression-parse": {
@@ -14708,15 +14889,15 @@
}
},
"spdx-license-ids": {
- "version": "3.0.16",
- "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz",
- "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==",
+ "version": "3.0.17",
+ "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz",
+ "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==",
"dev": true
},
"stackblur-canvas": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.6.0.tgz",
- "integrity": "sha512-8S1aIA+UoF6erJYnglGPug6MaHYGo1Ot7h5fuXx4fUPvcvQfcdw2o/ppCse63+eZf8PPidSu4v1JnmEVtEDnpg==",
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/stackblur-canvas/-/stackblur-canvas-2.7.0.tgz",
+ "integrity": "sha512-yf7OENo23AGJhBriGx0QivY5JP6Y1HbrrDI6WLt6C5auYZXlQrheoY8hD4ibekFKz1HOfE48Ww8kMWMnJD/zcQ==",
"optional": true
},
"state-local": {
@@ -15012,9 +15193,9 @@
"peer": true
},
"terser": {
- "version": "5.27.0",
- "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz",
- "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==",
+ "version": "5.29.1",
+ "resolved": "https://registry.npmjs.org/terser/-/terser-5.29.1.tgz",
+ "integrity": "sha512-lZQ/fyaIGxsbGxApKmoPTODIzELy3++mXhS5hOqaAWZjQtpq/hFHAc+rm29NND1rYRxRWKcjuARNwULNXa5RtQ==",
"peer": true,
"requires": {
"@jridgewell/source-map": "^0.3.3",
@@ -15129,46 +15310,51 @@
"dev": true
},
"typed-array-buffer": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.0.tgz",
- "integrity": "sha512-Y8KTSIglk9OZEr8zywiIHG/kmQ7KWyjseXs1CbSo8vC42w7hg2HgYTxSWwP0+is7bWDc1H+Fo026CpHFwm8tkw==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.2.tgz",
+ "integrity": "sha512-gEymJYKZtKXzzBzM4jqa9w6Q1Jjm7x2d+sh19AdsD4wqnMPDYyvwpsIc2Q/835kHuo3BEQ7CjelGhfTsoBb2MQ==",
"requires": {
- "call-bind": "^1.0.2",
- "get-intrinsic": "^1.2.1",
- "is-typed-array": "^1.1.10"
+ "call-bind": "^1.0.7",
+ "es-errors": "^1.3.0",
+ "is-typed-array": "^1.1.13"
}
},
"typed-array-byte-length": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.0.tgz",
- "integrity": "sha512-Or/+kvLxNpeQ9DtSydonMxCx+9ZXOswtwJn17SNLvhptaXYDJvkFFP5zbfU/uLmvnBJlI4yrnXRxpdWH/M5tNA==",
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.1.tgz",
+ "integrity": "sha512-3iMJ9q0ao7WE9tWcaYKIptkNBuOIcZCCT0d4MRvuuH88fEoEH62IuQe0OtraD3ebQEoTRk8XCBoknUNc1Y67pw==",
"requires": {
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
}
},
"typed-array-byte-offset": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.0.tgz",
- "integrity": "sha512-RD97prjEt9EL8YgAgpOkf3O4IF9lhJFr9g0htQkm0rchFp/Vx7LW5Q8fSXXub7BXAODyUQohRMyOc3faCPd0hg==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.2.tgz",
+ "integrity": "sha512-Ous0vodHa56FviZucS2E63zkgtgrACj7omjwd/8lTEMEPFFyjfixMZ1ZXenpgCFBBt4EC1J2XsyVS2gkG0eTFA==",
"requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.2",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "has-proto": "^1.0.1",
- "is-typed-array": "^1.1.10"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13"
}
},
"typed-array-length": {
- "version": "1.0.4",
- "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.4.tgz",
- "integrity": "sha512-KjZypGq+I/H7HI5HlOoGHkWUUGq+Q0TPhQurLbyrVrvnKTBgzLhIJ7j6J/XTQOi0d1RjyZ0wdas8bKs2p0x3Ng==",
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.5.tgz",
+ "integrity": "sha512-yMi0PlwuznKHxKmcpoOdeLwxBoVPkqZxd7q2FgMkmD3bNwvF5VW0+UlUQ1k1vmktTu4Yu13Q0RIxEP8+B+wloA==",
"requires": {
- "call-bind": "^1.0.2",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
- "is-typed-array": "^1.1.9"
+ "gopd": "^1.0.1",
+ "has-proto": "^1.0.3",
+ "is-typed-array": "^1.1.13",
+ "possible-typed-array-names": "^1.0.0"
}
},
"uglify-js": {
@@ -15291,14 +15477,14 @@
"integrity": "sha512-kRAyotcbNaSYoDnXvb4MHg/0a1egJdLwS6oJ38TJY7aw9n93Fl/3blIXdyYvPOp55CNxywooG/3BcrwNrBpcSg=="
},
"vite": {
- "version": "5.0.12",
- "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz",
- "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==",
+ "version": "5.1.6",
+ "resolved": "https://registry.npmjs.org/vite/-/vite-5.1.6.tgz",
+ "integrity": "sha512-yYIAZs9nVfRJ/AiOLCA91zzhjsHUgMjB+EigzFb6W2XTLO8JixBCKCjvhKZaye+NKYHCrkv3Oh50dH9EdLU2RA==",
"dev": true,
"requires": {
"esbuild": "^0.19.3",
"fsevents": "~2.3.3",
- "postcss": "^8.4.32",
+ "postcss": "^8.4.35",
"rollup": "^4.2.0"
}
},
@@ -15349,19 +15535,19 @@
"dev": true
},
"webpack": {
- "version": "5.89.0",
- "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.89.0.tgz",
- "integrity": "sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==",
+ "version": "5.90.3",
+ "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.3.tgz",
+ "integrity": "sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==",
"peer": true,
"requires": {
"@types/eslint-scope": "^3.7.3",
- "@types/estree": "^1.0.0",
+ "@types/estree": "^1.0.5",
"@webassemblyjs/ast": "^1.11.5",
"@webassemblyjs/wasm-edit": "^1.11.5",
"@webassemblyjs/wasm-parser": "^1.11.5",
"acorn": "^8.7.1",
"acorn-import-assertions": "^1.9.0",
- "browserslist": "^4.14.5",
+ "browserslist": "^4.21.10",
"chrome-trace-event": "^1.0.2",
"enhanced-resolve": "^5.15.0",
"es-module-lexer": "^1.2.1",
@@ -15375,7 +15561,7 @@
"neo-async": "^2.6.2",
"schema-utils": "^3.2.0",
"tapable": "^2.1.1",
- "terser-webpack-plugin": "^5.3.7",
+ "terser-webpack-plugin": "^5.3.10",
"watchpack": "^2.4.0",
"webpack-sources": "^3.2.3"
},
@@ -15461,27 +15647,27 @@
}
},
"which-collection": {
- "version": "1.0.1",
- "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz",
- "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==",
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz",
+ "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==",
"dev": true,
"requires": {
- "is-map": "^2.0.1",
- "is-set": "^2.0.1",
- "is-weakmap": "^2.0.1",
- "is-weakset": "^2.0.1"
+ "is-map": "^2.0.3",
+ "is-set": "^2.0.3",
+ "is-weakmap": "^2.0.2",
+ "is-weakset": "^2.0.3"
}
},
"which-typed-array": {
- "version": "1.1.13",
- "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.13.tgz",
- "integrity": "sha512-P5Nra0qjSncduVPEAr7xhoF5guty49ArDTwzJ/yNuPIbZppyRxFQsRCWrocxIY+CnMVG+qfbU2FmDKyvSGClow==",
+ "version": "1.1.15",
+ "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz",
+ "integrity": "sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA==",
"requires": {
- "available-typed-arrays": "^1.0.5",
- "call-bind": "^1.0.4",
+ "available-typed-arrays": "^1.0.7",
+ "call-bind": "^1.0.7",
"for-each": "^0.3.3",
"gopd": "^1.0.1",
- "has-tostringtag": "^1.0.0"
+ "has-tostringtag": "^1.0.2"
}
},
"wordwrap": {
diff --git a/src/store/features/app.js b/src/store/features/app.js
index 994c58314128..ae6a6422a13e 100644
--- a/src/store/features/app.js
+++ b/src/store/features/app.js
@@ -12,6 +12,7 @@ const initialState = {
pageSizes: [25, 50, 100, 200, 500],
TenantListSelector: false,
defaultColumns: {},
+ newUserDefaults: {},
}
export const appSlice = createSlice({
@@ -45,8 +46,8 @@ export const appSlice = createSlice({
setTenantList: (state, action) => {
state.TenantListSelector = action.payload?.TenantListSelector
},
- setOffboardingDefaults: (state, action) => {
- state.offboardingDefaults = action.payload?.offboardingDefaults
+ setUserSettingsDefaults: (state, action) => {
+ state.userSettingsDefaults = action.payload?.userSettingsDefaults
},
setDefaultColumns: (state, action) => {
state.defaultColumns[action.payload.endpoint] = action.payload?.columns
@@ -70,9 +71,10 @@ export const {
setSidebarVisible,
setDefaultusageLocation,
setReportImage,
- setOffboardingDefaults,
+ setUserSettingsDefaults,
setUserSettings,
setDefaultColumns,
+ setNewUserDefaults,
} = appSlice.actions
export default persistReducer(
diff --git a/src/views/cipp/UserSettings.jsx b/src/views/cipp/UserSettings.jsx
index 9b1a42b690d1..d56b6f6f3eed 100644
--- a/src/views/cipp/UserSettings.jsx
+++ b/src/views/cipp/UserSettings.jsx
@@ -8,32 +8,14 @@ import {
CCardHeader,
CCardTitle,
CCol,
- CDropdown,
- CDropdownItem,
- CDropdownMenu,
- CDropdownToggle,
CForm,
- CFormLabel,
- CListGroup,
- CListGroupItem,
- CProgress,
CRow,
CSpinner,
CTooltip,
} from '@coreui/react'
-import useQuery from 'src/hooks/useQuery'
import { useDispatch, useSelector } from 'react-redux'
-import { Field, Form, FormSpy } from 'react-final-form'
-import {
- Condition,
- RFFCFormCheck,
- RFFCFormInput,
- RFFCFormRadio,
- RFFCFormSwitch,
- RFFCFormTextarea,
- RFFSelectSearch,
-} from 'src/components/forms'
-import countryList from 'src/data/countryList'
+import { Form } from 'react-final-form'
+import { RFFCFormSwitch, RFFSelectSearch } from 'src/components/forms'
import {
useGenericGetRequestQuery,
@@ -41,31 +23,20 @@ import {
useLazyGenericPostRequestQuery,
} from 'src/store/api/app'
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'
-import { faCircleNotch, faEdit, faEye } from '@fortawesome/free-solid-svg-icons'
-import { CippContentCard, CippPage, CippPageList } from 'src/components/layout'
-import { password } from 'src/validators'
-import {
- CellDate,
- CellDelegatedPrivilege,
- cellBadgeFormatter,
- cellBooleanFormatter,
- cellDateFormatter,
-} from 'src/components/tables'
-import { CellTip, cellGenericFormatter } from 'src/components/tables/CellGenericFormat'
-import DatePicker from 'react-datepicker'
+
import 'react-datepicker/dist/react-datepicker.css'
import TenantListSelector from 'src/components/utilities/TenantListSelector'
import {
ModalService,
PageSizeSwitcher,
- TenantSelector,
ThemeSwitcher,
UsageLocation,
} from 'src/components/utilities'
import CippCodeOffCanvas from 'src/components/utilities/CippCodeOffcanvas'
import ReportImage from 'src/components/utilities/ReportImage'
import { useLoadClientPrincipalQuery } from 'src/store/api/auth'
-import { setOffboardingDefaults, setNewUserDefaults } from 'src/store/features/app'
+import { setUserSettingsDefaults } from 'src/store/features/app'
+import { CippCallout } from 'src/components/layout'
const Offcanvas = (row, rowIndex, formatExtraData) => {
const [ExecuteGetRequest, getResults] = useLazyGenericGetRequestQuery()
@@ -202,8 +173,7 @@ const UserSettings = () => {
const currentSettings = useSelector((state) => state.app)
const onSubmit = (values) => {
- dispatch(setOffboardingDefaults({ offboardingDefaults: values }))
- dispatch(setNewUserDefaults({ NewUserDefaults: values.name }))
+ dispatch(setUserSettingsDefaults({ userSettingsDefaults: values }))
const shippedvalues = {
user: values.user,
currentSettings: currentSettings,
@@ -227,7 +197,7 @@ const UserSettings = () => {