feat: feature/mvp-sprint-1 Made Javascript strings editable and supported newlines with breaks

This commit is contained in:
Nikolaj Frey 2023-08-03 23:48:56 +10:00
parent b20c4eb091
commit 59165727db
9 changed files with 192 additions and 106 deletions

View File

@ -103,8 +103,6 @@ export const theme = extendTheme({
},
})
console.log("nik Select", Select)
Switch.defaultProps = {
...Switch.defaultProps,
as: "div",

View File

@ -254,7 +254,7 @@ export const ThingtimeProvider = (props: any): JSX.Element => {
// nothing
}
console.log("nik detected thingtime change", thingtime)
console.log("nik thingtime changed in ThingtimeProvider.tsx", thingtime)
if (stateRef.current.initialized) {
if (thingtime.thingtime !== thingtime || thingtime.tt !== thingtime) {

View File

@ -48,8 +48,6 @@ export const Commander = (props) => {
return thingtime?.settings?.commanderActive
}, [thingtime?.settings?.commanderActive])
// console.log("nik commanderActive", commanderActive)
// commanderActive useEffect
React.useEffect(() => {
if (commanderActive) {
@ -109,7 +107,6 @@ export const Commander = (props) => {
]
return [pathRaw?.trim(), valRaw?.trim()]
}
// console.log("nik sanitizedCommand", sanitizedCommand)
return [sanitizedCommand]
}, [
// inputValue,
@ -167,7 +164,7 @@ export const Commander = (props) => {
return mappedResults
} catch (err) {
console.error("nik fuse error", err)
console.error("fuse error", err)
}
}, [inputValue, paths])
@ -184,28 +181,21 @@ export const Commander = (props) => {
)
const commandContainsPath = React.useMemo(() => {
// console.log("nik command", commandPath)
// console.log("nik suggestions", suggestions)
const commandIncludesSuggestion = suggestions?.find((suggestion) => {
return commandPath?.includes(suggestion)
})
// console.log("nik commandIncludesSuggestion", commandIncludesSuggestion)
// return false
return commandIncludesSuggestion
}, [commandPath, suggestions])
const openCommander = React.useCallback(() => {
// console.log("nik commander opening commander")
setThingtime("settings.commanderActive", true)
}, [setThingtime])
const closeCommander = React.useCallback(
(e?: any) => {
if (!e?.defaultPrevented) {
// console.log("nik 123123 commander event closeCommander ", e)
if (thingtime?.settings?.commanderActive) {
// console.log("nik commander closing commander")
// console.log("nik setting commanderActive to false")
setThingtime("settings.commanderActive", false)
}
}
@ -269,12 +259,6 @@ export const Commander = (props) => {
}
if (commanderActive) {
try {
// console.log("nik Commander onEnter")
// console.log("nik commandIsAction", commandIsAction)
// console.log("nik commandContainsPath", commandContainsPath)
// console.log("nik onEnter commandPath", commandPath)
if (commandIsAction) {
// nothing
const prevVal = getThingtime(commandPath)
@ -284,10 +268,6 @@ export const Commander = (props) => {
const fn = `() => { return ${commandValue} }`
const evalFn = eval(fn)
const realVal = evalFn()
// console.log("nik realVal", realVal)
// console.log("nik prevVal", prevVal)
// console.log("nik parentPath", parentPath)
// console.log("nik commandPath", commandPath)
setThingtime(commandPath, realVal)
} catch (err) {
console.log(

View File

@ -83,8 +83,8 @@ export const Rainbow = (allProps: any): JSX.Element => {
React.useEffect(() => {
const updateChildSize = () => {
const { width, height } = parentRef?.current?.getBoundingClientRect()
console.log("nik width height", width, height)
const { width, height } =
parentRef?.current?.getBoundingClientRect() || {}
setState({ width, height })
}
@ -141,7 +141,6 @@ export const Rainbow = (allProps: any): JSX.Element => {
svg?.appendChild?.(rectSource?.cloneNode?.())
if (path) {
console.log("nik re-rendering rainbow")
const gp = new GradientPath({
path,
segments: props?.segments || 1000,

View File

@ -11,6 +11,7 @@ import {
NumberInputStepper,
Select,
Switch,
Textarea,
} from "@chakra-ui/react"
import { Icon } from "../Icon/Icon"
@ -29,6 +30,7 @@ export const Thingtime = (props) => {
const [circular, setCircular] = React.useState(props?.circular)
const contentEditableRef = React.useRef(null)
const editValueRef = React.useRef({})
const depth = React.useMemo(() => {
return props?.depth || 1
@ -256,37 +258,64 @@ export const Thingtime = (props) => {
[pl]
)
const updatedRef = React.useRef(false)
const [contentEditableThing, setContentEditableThing] = React.useState(thing)
const updateContentEditableThing = React.useCallback((value) => {
// replace all new line occurences in value with <div><br></div>
// extract all series of new lines
const newlines = value?.split?.(/[^\n]/)?.filter((v) => v !== "")
let newValue = value
// replace all new lines groups with <div><br></div>
newlines?.forEach?.((newline) => {
const baseLength = "\n"?.length
const newlineClone = newline
const newlineClonePart1 = newlineClone?.replace(
"\n\n\n",
"<div><br></div>"
)
const newlineClonePart2 = newlineClonePart1?.replace(
/\n\n/g,
"<div><br></div>"
)
const newlineClonePart3 = newlineClonePart2?.replace(/\n/g, "<br>")
newValue = newValue?.replace(newline, newlineClonePart3)
})
setContentEditableThing(newValue)
}, [])
React.useEffect(() => {
console.log("nik detected thing changed")
console.log("nik thing", thing)
console.log("nik contentEditableThing", contentEditableThing)
console.log("nik updatedRef?.current", updatedRef?.current)
if (!updatedRef?.current && contentEditableThing !== thing) {
console.log("nik setting content editable thing", thing)
setContentEditableThing(thing)
const entries = Object.entries(editValueRef.current)
const propsThingInEntries = entries?.find?.(
(entry) => entry[1] === props?.thing
)
if (!propsThingInEntries) {
updateContentEditableThing(props?.thing)
// setContentEditableThing(props?.thing)
} else {
const [time, value] = propsThingInEntries
if (time && value) {
delete editValueRef.current[time]
}
}
updatedRef.current = false
}, [thing, updatedRef, contentEditableThing, contentEditableRef])
}, [props?.thing])
const updateValue = React.useCallback(
(args) => {
const { value } = args
console.log("nik value", value)
console.log("nik props?.fullPath", fullPath)
setThingtime(fullPath, value)
updatedRef.current = true
},
[fullPath, setThingtime]
)
const atomicValue = React.useMemo(() => {
console.log("nik contentEditableThing", contentEditableThing)
if (props?.edit) {
if (type === "boolean") {
return (
@ -297,10 +326,8 @@ export const Thingtime = (props) => {
e?.stopPropagation?.()
// cancel bubble
e?.nativeEvent?.stopImmediatePropagation?.()
console.log("nik 123123 clicked", !thing)
setTimeout(() => {
updateValue({ value: !thing })
console.log("nik 123123 changed", e)
}, 1)
}}
>
@ -344,7 +371,7 @@ export const Thingtime = (props) => {
</AtomicWrapper>
)
}
if (type === "string") {
if (type === "string" && typeof contentEditableThing === "string") {
return (
<AtomicWrapper>
<Box
@ -353,18 +380,16 @@ export const Thingtime = (props) => {
border="none"
outline="none"
contentEditable={true}
dangerouslySetInnerHTML={{ __html: contentEditableThing }}
onInput={(value) => {
console.log("nik value", value)
const innerText = value?.target?.innerText
if (typeof innerText === "string") {
const time = Date.now()
editValueRef.current[time] = innerText
updateValue({ value: innerText })
}
}}
>
{contentEditableThing}
</Box>
></Box>
</AtomicWrapper>
)
}

View File

@ -18,8 +18,6 @@ export const ThingtimeURL = (props) => {
const path = pathPartOne?.replace(/\//g, ".")
console.log("nik Detected path in url", path)
return path
}, [location])

View File

@ -57,9 +57,9 @@ export const save = (value, opts) => {
// extract parent path from dot delimitted path
export const getParentPath = (path) => {
const parts = path.split(".")
parts.pop()
return parts.join(".")
const parts = path?.split(".")
parts?.pop()
return parts?.join(".")
}
export const toJavascript = (value, opts = {}) => {

View File

@ -18,6 +18,7 @@
"@remix-run/serve": "^1.15.0",
"@vercel/analytics": "^0.1.11",
"@vercel/remix": "^1.15.0",
"draft-js": "^0.11.7",
"flatted": "^3.2.7",
"fuse.js": "^6.6.2",
"gradient-path": "^2.3.0",

View File

@ -4,10 +4,13 @@ settings:
autoInstallPeers: true
excludeLinksFromLockfile: false
overrides:
'@types/react': ^17.0.2
dependencies:
'@chakra-ui/react':
specifier: ^2.7.1
version: 2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.0.28)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0)
version: 2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@17.0.62)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0)
'@fortawesome/fontawesome-svg-core':
specifier: ^6.4.0
version: 6.4.0
@ -35,6 +38,9 @@ dependencies:
'@vercel/remix':
specifier: ^1.15.0
version: 1.15.0(react-dom@18.2.0)(react@18.2.0)
draft-js:
specifier: ^0.11.7
version: 0.11.7(react-dom@18.2.0)(react@18.2.0)
flatted:
specifier: ^3.2.7
version: 3.2.7
@ -86,8 +92,8 @@ devDependencies:
specifier: ^8.40.2
version: 8.40.2
'@types/react':
specifier: ^18.0.25
version: 18.0.28
specifier: ^17.0.2
version: 17.0.62
'@types/react-dom':
specifier: ^18.0.11
version: 18.0.11
@ -1583,7 +1589,7 @@ packages:
'@emotion/react': '>=10.0.35'
react: '>=18'
dependencies:
'@emotion/react': 11.11.1(@types/react@18.0.28)(react@18.2.0)
'@emotion/react': 11.11.1(@types/react@17.0.62)(react@18.2.0)
react: 18.2.0
dev: false
@ -1624,14 +1630,14 @@ packages:
resolution: {integrity: sha512-IGM/yGUHS+8TOQrZGpAKOJl/xGBrmRYJrmbHfUE7zrG3PpQyXvbLDP1M+RggkCFVgHlJi2wpYIf0QtQlU0XZfw==}
dev: false
/@chakra-ui/focus-lock@2.0.17(@types/react@18.0.28)(react@18.2.0):
/@chakra-ui/focus-lock@2.0.17(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-V+m4Ml9E8QY66DUpHX/imInVvz5XJ5zx59Tl0aNancXgeVY1Rt/ZdxuZdPLCAmPC/MF3GUOgnEA+WU8i+VL6Gw==}
peerDependencies:
react: '>=18'
dependencies:
'@chakra-ui/dom-utils': 2.1.0
react: 18.2.0
react-focus-lock: 2.9.4(@types/react@18.0.28)(react@18.2.0)
react-focus-lock: 2.9.4(@types/react@17.0.62)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
dev: false
@ -1769,7 +1775,7 @@ packages:
react: 18.2.0
dev: false
/@chakra-ui/modal@2.2.12(@chakra-ui/system@2.5.8)(@types/react@18.0.28)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0):
/@chakra-ui/modal@2.2.12(@chakra-ui/system@2.5.8)(@types/react@17.0.62)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-F1nNmYGvyqlmxidbwaBM3y57NhZ/Qeyc8BE9tb1FL1v9nxQhkfrPvMQ9miK0O1syPN6aZ5MMj+uD3AsRFE+/tA==}
peerDependencies:
'@chakra-ui/system': '>=2.0.0'
@ -1778,7 +1784,7 @@ packages:
react-dom: '>=18'
dependencies:
'@chakra-ui/close-button': 2.0.17(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/focus-lock': 2.0.17(@types/react@18.0.28)(react@18.2.0)
'@chakra-ui/focus-lock': 2.0.17(@types/react@17.0.62)(react@18.2.0)
'@chakra-ui/portal': 2.0.16(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/react-context': 2.0.8(react@18.2.0)
'@chakra-ui/react-types': 2.0.7(react@18.2.0)
@ -1790,7 +1796,7 @@ packages:
framer-motion: 10.12.17(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
react-remove-scroll: 2.5.6(@types/react@18.0.28)(react@18.2.0)
react-remove-scroll: 2.5.6(@types/react@17.0.62)(react@18.2.0)
transitivePeerDependencies:
- '@types/react'
dev: false
@ -1911,8 +1917,8 @@ packages:
'@chakra-ui/react-env': 3.0.0(react@18.2.0)
'@chakra-ui/system': 2.5.8(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(react@18.2.0)
'@chakra-ui/utils': 2.0.15
'@emotion/react': 11.11.1(@types/react@18.0.28)(react@18.2.0)
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.0.28)(react@18.2.0)
'@emotion/react': 11.11.1(@types/react@17.0.62)(react@18.2.0)
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@17.0.62)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
dev: false
@ -2128,7 +2134,7 @@ packages:
react: 18.2.0
dev: false
/@chakra-ui/react@2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@18.0.28)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0):
/@chakra-ui/react@2.7.1(@emotion/react@11.11.1)(@emotion/styled@11.11.0)(@types/react@17.0.62)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-uIYIAg+gnUoRbgdCfSEVvQnrEz0oWWXATGGSQpxmuJovNVyZKnX/Xug7NkWQfBUJPYRSG+VB69ZmsAFpyLSMtA==}
peerDependencies:
'@emotion/react': ^11.0.0
@ -2149,7 +2155,7 @@ packages:
'@chakra-ui/counter': 2.0.14(react@18.2.0)
'@chakra-ui/css-reset': 2.1.2(@emotion/react@11.11.1)(react@18.2.0)
'@chakra-ui/editable': 3.0.0(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/focus-lock': 2.0.17(@types/react@18.0.28)(react@18.2.0)
'@chakra-ui/focus-lock': 2.0.17(@types/react@17.0.62)(react@18.2.0)
'@chakra-ui/form-control': 2.0.18(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/hooks': 2.2.0(react@18.2.0)
'@chakra-ui/icon': 3.0.16(@chakra-ui/system@2.5.8)(react@18.2.0)
@ -2159,7 +2165,7 @@ packages:
'@chakra-ui/live-region': 2.0.13(react@18.2.0)
'@chakra-ui/media-query': 3.2.12(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/menu': 2.1.15(@chakra-ui/system@2.5.8)(framer-motion@10.12.17)(react@18.2.0)
'@chakra-ui/modal': 2.2.12(@chakra-ui/system@2.5.8)(@types/react@18.0.28)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/modal': 2.2.12(@chakra-ui/system@2.5.8)(@types/react@17.0.62)(framer-motion@10.12.17)(react-dom@18.2.0)(react@18.2.0)
'@chakra-ui/number-input': 2.0.19(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/pin-input': 2.0.20(@chakra-ui/system@2.5.8)(react@18.2.0)
'@chakra-ui/popover': 2.1.12(@chakra-ui/system@2.5.8)(framer-motion@10.12.17)(react@18.2.0)
@ -2190,8 +2196,8 @@ packages:
'@chakra-ui/transition': 2.0.16(framer-motion@10.12.17)(react@18.2.0)
'@chakra-ui/utils': 2.0.15
'@chakra-ui/visually-hidden': 2.0.15(@chakra-ui/system@2.5.8)(react@18.2.0)
'@emotion/react': 11.11.1(@types/react@18.0.28)(react@18.2.0)
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.0.28)(react@18.2.0)
'@emotion/react': 11.11.1(@types/react@17.0.62)(react@18.2.0)
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@17.0.62)(react@18.2.0)
framer-motion: 10.12.17(react-dom@18.2.0)(react@18.2.0)
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
@ -2330,8 +2336,8 @@ packages:
'@chakra-ui/styled-system': 2.9.1
'@chakra-ui/theme-utils': 2.0.18
'@chakra-ui/utils': 2.0.15
'@emotion/react': 11.11.1(@types/react@18.0.28)(react@18.2.0)
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@18.0.28)(react@18.2.0)
'@emotion/react': 11.11.1(@types/react@17.0.62)(react@18.2.0)
'@emotion/styled': 11.11.0(@emotion/react@11.11.1)(@types/react@17.0.62)(react@18.2.0)
react: 18.2.0
react-fast-compare: 3.2.1
dev: false
@ -2554,7 +2560,7 @@ packages:
resolution: {integrity: sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA==}
dev: false
/@emotion/react@11.11.1(@types/react@18.0.28)(react@18.2.0):
/@emotion/react@11.11.1(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-5mlW1DquU5HaxjLkfkGN1GA/fvVGdyHURRiX/0FHl2cfIfRxSOfmxEH5YS43edp0OldZrZ+dkBKbngxcNCdZvA==}
peerDependencies:
'@types/react': '*'
@ -2570,7 +2576,7 @@ packages:
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
'@emotion/utils': 1.2.1
'@emotion/weak-memoize': 0.3.1
'@types/react': 18.0.28
'@types/react': 17.0.62
hoist-non-react-statics: 3.3.2
react: 18.2.0
dev: false
@ -2589,7 +2595,7 @@ packages:
resolution: {integrity: sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA==}
dev: false
/@emotion/styled@11.11.0(@emotion/react@11.11.1)(@types/react@18.0.28)(react@18.2.0):
/@emotion/styled@11.11.0(@emotion/react@11.11.1)(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-hM5Nnvu9P3midq5aaXj4I+lnSfNi7Pmd4EWk1fOZ3pxookaQTNew6bp4JaCBYM4HVFZF9g7UjJmsUmC2JlxOng==}
peerDependencies:
'@emotion/react': ^11.0.0-rc.0
@ -2602,11 +2608,11 @@ packages:
'@babel/runtime': 7.20.13
'@emotion/babel-plugin': 11.11.0
'@emotion/is-prop-valid': 1.2.1
'@emotion/react': 11.11.1(@types/react@18.0.28)(react@18.2.0)
'@emotion/react': 11.11.1(@types/react@17.0.62)(react@18.2.0)
'@emotion/serialize': 1.1.2
'@emotion/use-insertion-effect-with-fallbacks': 1.0.1(react@18.2.0)
'@emotion/utils': 1.2.1
'@types/react': 18.0.28
'@types/react': 17.0.62
react: 18.2.0
dev: false
@ -3423,7 +3429,7 @@ packages:
dependencies:
'@remix-run/router': 1.5.0
'@types/cookie': 0.4.1
'@types/react': 18.0.28
'@types/react': 17.0.62
'@web3-storage/multipart-parser': 1.0.0
cookie: 0.4.2
set-cookie-parser: 2.5.1
@ -3676,11 +3682,11 @@ packages:
/@types/react-dom@18.0.11:
resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==}
dependencies:
'@types/react': 18.0.28
'@types/react': 17.0.62
dev: true
/@types/react@18.0.28:
resolution: {integrity: sha512-RD0ivG1kEztNBdoAK7lekI9M+azSnitIn85h4iOiaLjaTrMjzslhaqCGaI4IyCJ1RljWiLCEu4jyrLLgqxBTew==}
/@types/react@17.0.62:
resolution: {integrity: sha512-eANCyz9DG8p/Vdhr0ZKST8JV12PhH2ACCDYlFw6DIO+D+ca+uP4jtEDEpVqXZrh/uZdXQGwk7whJa3ah5DtyLw==}
dependencies:
'@types/prop-types': 15.7.5
'@types/scheduler': 0.16.2
@ -4360,6 +4366,10 @@ packages:
get-intrinsic: 1.2.0
dev: true
/asap@2.0.6:
resolution: {integrity: sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==}
dev: false
/ast-types-flow@0.0.7:
resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==}
dev: true
@ -4862,6 +4872,11 @@ packages:
browserslist: 4.21.5
dev: true
/core-js@3.32.0:
resolution: {integrity: sha512-rd4rYZNlF3WuoYuRIDEmbR/ga9CeuWX9U05umAvgrrZoHY4Z++cp/xwPQMvUpBB4Ag6J8KfD80G0zwCyaSxDww==}
requiresBuild: true
dev: false
/core-util-is@1.0.3:
resolution: {integrity: sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==}
dev: true
@ -4877,6 +4892,14 @@ packages:
yaml: 1.10.2
dev: false
/cross-fetch@3.1.8:
resolution: {integrity: sha512-cvA+JwZoU0Xq+h6WkMvAUqPEYy92Obet6UdKLfW60qn99ftItKjB5T+BkyWOFWe2pUyfQ+IJHmpOTznqk1M6Kg==}
dependencies:
node-fetch: 2.6.12
transitivePeerDependencies:
- encoding
dev: false
/cross-spawn@7.0.3:
resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==}
engines: {node: '>= 8'}
@ -5108,6 +5131,21 @@ packages:
engines: {node: '>=12'}
dev: true
/draft-js@0.11.7(react-dom@18.2.0)(react@18.2.0):
resolution: {integrity: sha512-ne7yFfN4sEL82QPQEn80xnADR8/Q6ALVworbC5UOSzOvjffmYfFsr3xSZtxbIirti14R7Y33EZC5rivpLgIbsg==}
peerDependencies:
react: '>=0.14.0'
react-dom: '>=0.14.0'
dependencies:
fbjs: 2.0.0
immutable: 3.7.6
object-assign: 4.1.1
react: 18.2.0
react-dom: 18.2.0(react@18.2.0)
transitivePeerDependencies:
- encoding
dev: false
/duplexify@3.7.1:
resolution: {integrity: sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==}
dependencies:
@ -6067,6 +6105,25 @@ packages:
format: 0.2.2
dev: true
/fbjs-css-vars@1.0.2:
resolution: {integrity: sha512-b2XGFAFdWZWg0phtAWLHCk836A1Xann+I+Dgd3Gk64MHKZO44FfoD1KxyvbSh0qZsIoXQGGlVztIY+oitJPpRQ==}
dev: false
/fbjs@2.0.0:
resolution: {integrity: sha512-8XA8ny9ifxrAWlyhAbexXcs3rRMtxWcs3M0lctLfB49jRDHiaxj+Mo0XxbwE7nKZYzgCFoq64FS+WFd4IycPPQ==}
dependencies:
core-js: 3.32.0
cross-fetch: 3.1.8
fbjs-css-vars: 1.0.2
loose-envify: 1.4.0
object-assign: 4.1.1
promise: 7.3.1
setimmediate: 1.0.5
ua-parser-js: 0.7.35
transitivePeerDependencies:
- encoding
dev: false
/figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
engines: {node: '>=8'}
@ -6638,6 +6695,11 @@ packages:
engines: {node: '>= 4'}
dev: true
/immutable@3.7.6:
resolution: {integrity: sha512-AizQPcaofEtO11RZhPPHBOJRdo/20MKQF9mBLnVkBoyHi1/zXK8fzVdnEpSV9gxqtnh6Qomfp3F0xT5qP/vThw==}
engines: {node: '>=0.8.0'}
dev: false
/import-fresh@3.3.0:
resolution: {integrity: sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==}
engines: {node: '>=6'}
@ -7861,6 +7923,18 @@ packages:
dev: true
optional: true
/node-fetch@2.6.12:
resolution: {integrity: sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g==}
engines: {node: 4.x || >=6.0.0}
peerDependencies:
encoding: ^0.1.0
peerDependenciesMeta:
encoding:
optional: true
dependencies:
whatwg-url: 5.0.0
dev: false
/node-fetch@2.6.9:
resolution: {integrity: sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==}
engines: {node: 4.x || >=6.0.0}
@ -8420,6 +8494,12 @@ packages:
optional: true
dev: true
/promise@7.3.1:
resolution: {integrity: sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==}
dependencies:
asap: 2.0.6
dev: false
/prop-types@15.8.1:
resolution: {integrity: sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==}
dependencies:
@ -8562,7 +8642,7 @@ packages:
resolution: {integrity: sha512-xTYf9zFim2pEif/Fw16dBiXpe0hoy5PxcD8+OwBnTtNLfIm3g6WxhKNurY+6OmdH1u6Ta/W/Vl6vjbYP1MFnDg==}
dev: false
/react-focus-lock@2.9.4(@types/react@18.0.28)(react@18.2.0):
/react-focus-lock@2.9.4(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-7pEdXyMseqm3kVjhdVH18sovparAzLg5h6WvIx7/Ck3ekjhrrDMEegHSa3swwC8wgfdd7DIdUVRGeiHT9/7Sgg==}
peerDependencies:
'@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0
@ -8572,13 +8652,13 @@ packages:
optional: true
dependencies:
'@babel/runtime': 7.20.13
'@types/react': 18.0.28
'@types/react': 17.0.62
focus-lock: 0.11.6
prop-types: 15.8.1
react: 18.2.0
react-clientside-effect: 1.2.6(react@18.2.0)
use-callback-ref: 1.3.0(@types/react@18.0.28)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@18.0.28)(react@18.2.0)
use-callback-ref: 1.3.0(@types/react@17.0.62)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@17.0.62)(react@18.2.0)
dev: false
/react-icons@4.10.1(react@18.2.0):
@ -8601,7 +8681,7 @@ packages:
engines: {node: '>=0.10.0'}
dev: true
/react-remove-scroll-bar@2.3.4(@types/react@18.0.28)(react@18.2.0):
/react-remove-scroll-bar@2.3.4(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==}
engines: {node: '>=10'}
peerDependencies:
@ -8611,13 +8691,13 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.0.28
'@types/react': 17.0.62
react: 18.2.0
react-style-singleton: 2.2.1(@types/react@18.0.28)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@17.0.62)(react@18.2.0)
tslib: 2.5.0
dev: false
/react-remove-scroll@2.5.6(@types/react@18.0.28)(react@18.2.0):
/react-remove-scroll@2.5.6(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-bO856ad1uDYLefgArk559IzUNeQ6SWH4QnrevIUjH+GczV56giDfl3h0Idptf2oIKxQmd1p9BN25jleKodTALg==}
engines: {node: '>=10'}
peerDependencies:
@ -8627,13 +8707,13 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.0.28
'@types/react': 17.0.62
react: 18.2.0
react-remove-scroll-bar: 2.3.4(@types/react@18.0.28)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@18.0.28)(react@18.2.0)
react-remove-scroll-bar: 2.3.4(@types/react@17.0.62)(react@18.2.0)
react-style-singleton: 2.2.1(@types/react@17.0.62)(react@18.2.0)
tslib: 2.5.0
use-callback-ref: 1.3.0(@types/react@18.0.28)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@18.0.28)(react@18.2.0)
use-callback-ref: 1.3.0(@types/react@17.0.62)(react@18.2.0)
use-sidecar: 1.1.2(@types/react@17.0.62)(react@18.2.0)
dev: false
/react-router-dom@6.10.0(react-dom@18.2.0)(react@18.2.0):
@ -8659,7 +8739,7 @@ packages:
react: 18.2.0
dev: false
/react-style-singleton@2.2.1(@types/react@18.0.28)(react@18.2.0):
/react-style-singleton@2.2.1(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==}
engines: {node: '>=10'}
peerDependencies:
@ -8669,7 +8749,7 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.0.28
'@types/react': 17.0.62
get-nonce: 1.0.1
invariant: 2.2.4
react: 18.2.0
@ -9035,6 +9115,10 @@ packages:
/set-cookie-parser@2.5.1:
resolution: {integrity: sha512-1jeBGaKNGdEq4FgIrORu/N570dwoPYio8lSoYLWmX7sQ//0JY08Xh9o5pBcgmHQ/MbsYp/aZnOe1s1lIsbLprQ==}
/setimmediate@1.0.5:
resolution: {integrity: sha512-MATJdZp8sLqDl/68LfQmbP8zKPLQNV6BIZoIgrscFDQ+RsvK/BxeDQOgyxKKoh0y/8h3BqVFnCqQ/gd+reiIXA==}
dev: false
/setprototypeof@1.2.0:
resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==}
@ -9447,7 +9531,6 @@ packages:
/tr46@0.0.3:
resolution: {integrity: sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==}
dev: true
/trough@2.1.0:
resolution: {integrity: sha512-AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==}
@ -9537,6 +9620,10 @@ packages:
hasBin: true
dev: true
/ua-parser-js@0.7.35:
resolution: {integrity: sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==}
dev: false
/ufo@1.0.1:
resolution: {integrity: sha512-boAm74ubXHY7KJQZLlXrtMz52qFvpsbOxDcZOnw/Wf+LS4Mmyu7JxmzD4tDLtUQtmZECypJ0FrCz4QIe6dvKRA==}
dev: true
@ -9694,7 +9781,7 @@ packages:
punycode: 2.3.0
dev: true
/use-callback-ref@1.3.0(@types/react@18.0.28)(react@18.2.0):
/use-callback-ref@1.3.0(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==}
engines: {node: '>=10'}
peerDependencies:
@ -9704,12 +9791,12 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.0.28
'@types/react': 17.0.62
react: 18.2.0
tslib: 2.5.0
dev: false
/use-sidecar@1.1.2(@types/react@18.0.28)(react@18.2.0):
/use-sidecar@1.1.2(@types/react@17.0.62)(react@18.2.0):
resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==}
engines: {node: '>=10'}
peerDependencies:
@ -9719,7 +9806,7 @@ packages:
'@types/react':
optional: true
dependencies:
'@types/react': 18.0.28
'@types/react': 17.0.62
detect-node-es: 1.1.0
react: 18.2.0
tslib: 2.5.0
@ -9885,7 +9972,6 @@ packages:
/webidl-conversions@3.0.1:
resolution: {integrity: sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==}
dev: true
/webpack-sources@3.2.3:
resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==}
@ -9937,7 +10023,6 @@ packages:
dependencies:
tr46: 0.0.3
webidl-conversions: 3.0.1
dev: true
/which-boxed-primitive@1.0.2:
resolution: {integrity: sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==}