From 2df738dd24bfbc3cb34bc48d2699ef262014165b Mon Sep 17 00:00:00 2001 From: Innei Date: Tue, 11 Apr 2023 16:07:13 +0800 Subject: [PATCH 01/16] feat: tailwind built-in color support dark mode Signed-off-by: Innei --- scripts/tw/generate-css-var.js | 54 ++ scripts/tw/transform.js | 97 +++ src/css/css-var.css | 1228 ++++++++++++++++++++++++++++++++ src/css/main.css | 1 + tailwind.config.js | 6 + tw-colors.js | 288 ++++++++ 6 files changed, 1674 insertions(+) create mode 100644 scripts/tw/generate-css-var.js create mode 100644 scripts/tw/transform.js create mode 100644 src/css/css-var.css create mode 100644 tw-colors.js diff --git a/scripts/tw/generate-css-var.js b/scripts/tw/generate-css-var.js new file mode 100644 index 00000000..60aea641 --- /dev/null +++ b/scripts/tw/generate-css-var.js @@ -0,0 +1,54 @@ +const { + transformColorObjectOfDarkmode, + generateCSSByVar, +} = require("./transform") + +const fs = require("fs") +const path = require("path") + +const [colorObject, cssVar, cssVarDark] = transformColorObjectOfDarkmode() + +const normalCSS = generateCSSByVar(cssVar) +const darkCSS = generateCSSByVar(cssVarDark) + +const cssString = ` +:root { +${normalCSS} +} + +html.dark { +${darkCSS} +} + +html.light { +${normalCSS} +} + +@media (prefers-color-scheme: dark) { + html:not(.dark):not(.light) { + ${darkCSS} + } +} + +@media (prefers-color-scheme: light) { + html:not(.dark):not(.light) { + ${normalCSS} + } +} +` + +fs.writeFileSync( + path.resolve(__dirname, "../../src/css/css-var.css"), + cssString, + { + encoding: "utf-8", + }, +) + +fs.writeFileSync( + path.resolve(__dirname, "../../tw-colors.js"), + `export default ${JSON.stringify(colorObject, null, 2)}`, + { + encoding: "utf-8", + }, +) diff --git a/scripts/tw/transform.js b/scripts/tw/transform.js new file mode 100644 index 00000000..14c0620e --- /dev/null +++ b/scripts/tw/transform.js @@ -0,0 +1,97 @@ +const colors = require("tailwindcss/colors") + +const colorKeys = Object.keys(colors) +const colorObject = {} + +const hexToRGB = (hex) => { + hex = hex.replace("#", "") + + let r = parseInt(hex.substring(0, 2), 16) + let g = parseInt(hex.substring(2, 4), 16) + let b = parseInt(hex.substring(4, 6), 16) + + return `${r}, ${g}, ${b}` +} + +const deprecatedColorKeyMap = { + lightBlue: "sky", + warmGray: "stone", + trueGray: "neutral", + coolGray: "gray", + blueGray: "slate", +} +for (const key of colorKeys) { + if (typeof colors[key] === "object") { + if (deprecatedColorKeyMap[key]) { + colorObject[deprecatedColorKeyMap[key]] = colors[key] + continue + } + + colorObject[key] = colors[key] + } +} + +const transformColorObjectOfDarkmode = () => { + const cssVar = {} + const cssVarDark = {} + const nextColorObject = {} + // slate: { + // 50: '#f8fafc', + // } + // to + // slate: { + // 50: 'rgb(var(--tw-colors-i-slate-50) / )', + // ... + // } + for (const colorKey of Object.keys(colorObject)) { + const color = colorObject[colorKey] + + if (typeof color === "object") { + const nextColor = {} + + for (const colorNumberKey of Object.keys(color)) { + const cssVarKey = `--tw-colors-i-${colorKey}-${colorNumberKey}` + // @see https://tailwindcss.com/docs/customizing-colors#using-the-default-colors + nextColor[colorNumberKey] = `rgba(var(${cssVarKey}), )` + + cssVar[cssVarKey] = hexToRGB(color[colorNumberKey]) + // 50 -> 950, 100 -> 900, 200 -> 800, ... + + // colorKey: + const reverseColorNumberKey = 1000 - parseInt(colorNumberKey) + cssVarDark[cssVarKey] = hexToRGB(color[reverseColorNumberKey]) + } + + nextColorObject[colorKey] = nextColor + } + } + + // merge const color + Object.assign(nextColorObject, { + inherit: "inherit", + current: "currentColor", + transparent: "transparent", + black: "var(--tw-colors-i-black)", + white: "var(--tw-colors-i-white)", + }) + cssVar["--tw-colors-i-black"] = "0, 0, 0" + cssVar["--tw-colors-i-white"] = "255, 255, 255" + cssVarDark["--tw-colors-i-black"] = "255, 255, 255" + cssVarDark["--tw-colors-i-white"] = "0, 0, 0" + + return [nextColorObject, cssVar, cssVarDark] +} + +function generateCSSByVar(cssVar) { + let css = "" + for (const key of Object.keys(cssVar)) { + css += ` ${key}: ${cssVar[key]};\n` + } + + return css +} + +module.exports = { + transformColorObjectOfDarkmode, + generateCSSByVar, +} diff --git a/src/css/css-var.css b/src/css/css-var.css new file mode 100644 index 00000000..a01716d7 --- /dev/null +++ b/src/css/css-var.css @@ -0,0 +1,1228 @@ +:root { + --tw-colors-i-slate-50: 248, 250, 252; + --tw-colors-i-slate-100: 241, 245, 249; + --tw-colors-i-slate-200: 226, 232, 240; + --tw-colors-i-slate-300: 203, 213, 225; + --tw-colors-i-slate-400: 148, 163, 184; + --tw-colors-i-slate-500: 100, 116, 139; + --tw-colors-i-slate-600: 71, 85, 105; + --tw-colors-i-slate-700: 51, 65, 85; + --tw-colors-i-slate-800: 30, 41, 59; + --tw-colors-i-slate-900: 15, 23, 42; + --tw-colors-i-slate-950: 2, 6, 23; + --tw-colors-i-gray-50: 249, 250, 251; + --tw-colors-i-gray-100: 243, 244, 246; + --tw-colors-i-gray-200: 229, 231, 235; + --tw-colors-i-gray-300: 209, 213, 219; + --tw-colors-i-gray-400: 156, 163, 175; + --tw-colors-i-gray-500: 107, 114, 128; + --tw-colors-i-gray-600: 75, 85, 99; + --tw-colors-i-gray-700: 55, 65, 81; + --tw-colors-i-gray-800: 31, 41, 55; + --tw-colors-i-gray-900: 17, 24, 39; + --tw-colors-i-gray-950: 3, 7, 18; + --tw-colors-i-zinc-50: 250, 250, 250; + --tw-colors-i-zinc-100: 244, 244, 245; + --tw-colors-i-zinc-200: 228, 228, 231; + --tw-colors-i-zinc-300: 212, 212, 216; + --tw-colors-i-zinc-400: 161, 161, 170; + --tw-colors-i-zinc-500: 113, 113, 122; + --tw-colors-i-zinc-600: 82, 82, 91; + --tw-colors-i-zinc-700: 63, 63, 70; + --tw-colors-i-zinc-800: 39, 39, 42; + --tw-colors-i-zinc-900: 24, 24, 27; + --tw-colors-i-zinc-950: 9, 9, 11; + --tw-colors-i-neutral-50: 250, 250, 250; + --tw-colors-i-neutral-100: 245, 245, 245; + --tw-colors-i-neutral-200: 229, 229, 229; + --tw-colors-i-neutral-300: 212, 212, 212; + --tw-colors-i-neutral-400: 163, 163, 163; + --tw-colors-i-neutral-500: 115, 115, 115; + --tw-colors-i-neutral-600: 82, 82, 82; + --tw-colors-i-neutral-700: 64, 64, 64; + --tw-colors-i-neutral-800: 38, 38, 38; + --tw-colors-i-neutral-900: 23, 23, 23; + --tw-colors-i-neutral-950: 10, 10, 10; + --tw-colors-i-stone-50: 250, 250, 249; + --tw-colors-i-stone-100: 245, 245, 244; + --tw-colors-i-stone-200: 231, 229, 228; + --tw-colors-i-stone-300: 214, 211, 209; + --tw-colors-i-stone-400: 168, 162, 158; + --tw-colors-i-stone-500: 120, 113, 108; + --tw-colors-i-stone-600: 87, 83, 78; + --tw-colors-i-stone-700: 68, 64, 60; + --tw-colors-i-stone-800: 41, 37, 36; + --tw-colors-i-stone-900: 28, 25, 23; + --tw-colors-i-stone-950: 12, 10, 9; + --tw-colors-i-red-50: 254, 242, 242; + --tw-colors-i-red-100: 254, 226, 226; + --tw-colors-i-red-200: 254, 202, 202; + --tw-colors-i-red-300: 252, 165, 165; + --tw-colors-i-red-400: 248, 113, 113; + --tw-colors-i-red-500: 239, 68, 68; + --tw-colors-i-red-600: 220, 38, 38; + --tw-colors-i-red-700: 185, 28, 28; + --tw-colors-i-red-800: 153, 27, 27; + --tw-colors-i-red-900: 127, 29, 29; + --tw-colors-i-red-950: 69, 10, 10; + --tw-colors-i-orange-50: 255, 247, 237; + --tw-colors-i-orange-100: 255, 237, 213; + --tw-colors-i-orange-200: 254, 215, 170; + --tw-colors-i-orange-300: 253, 186, 116; + --tw-colors-i-orange-400: 251, 146, 60; + --tw-colors-i-orange-500: 249, 115, 22; + --tw-colors-i-orange-600: 234, 88, 12; + --tw-colors-i-orange-700: 194, 65, 12; + --tw-colors-i-orange-800: 154, 52, 18; + --tw-colors-i-orange-900: 124, 45, 18; + --tw-colors-i-orange-950: 67, 20, 7; + --tw-colors-i-amber-50: 255, 251, 235; + --tw-colors-i-amber-100: 254, 243, 199; + --tw-colors-i-amber-200: 253, 230, 138; + --tw-colors-i-amber-300: 252, 211, 77; + --tw-colors-i-amber-400: 251, 191, 36; + --tw-colors-i-amber-500: 245, 158, 11; + --tw-colors-i-amber-600: 217, 119, 6; + --tw-colors-i-amber-700: 180, 83, 9; + --tw-colors-i-amber-800: 146, 64, 14; + --tw-colors-i-amber-900: 120, 53, 15; + --tw-colors-i-amber-950: 69, 26, 3; + --tw-colors-i-yellow-50: 254, 252, 232; + --tw-colors-i-yellow-100: 254, 249, 195; + --tw-colors-i-yellow-200: 254, 240, 138; + --tw-colors-i-yellow-300: 253, 224, 71; + --tw-colors-i-yellow-400: 250, 204, 21; + --tw-colors-i-yellow-500: 234, 179, 8; + --tw-colors-i-yellow-600: 202, 138, 4; + --tw-colors-i-yellow-700: 161, 98, 7; + --tw-colors-i-yellow-800: 133, 77, 14; + --tw-colors-i-yellow-900: 113, 63, 18; + --tw-colors-i-yellow-950: 66, 32, 6; + --tw-colors-i-lime-50: 247, 254, 231; + --tw-colors-i-lime-100: 236, 252, 203; + --tw-colors-i-lime-200: 217, 249, 157; + --tw-colors-i-lime-300: 190, 242, 100; + --tw-colors-i-lime-400: 163, 230, 53; + --tw-colors-i-lime-500: 132, 204, 22; + --tw-colors-i-lime-600: 101, 163, 13; + --tw-colors-i-lime-700: 77, 124, 15; + --tw-colors-i-lime-800: 63, 98, 18; + --tw-colors-i-lime-900: 54, 83, 20; + --tw-colors-i-lime-950: 26, 46, 5; + --tw-colors-i-green-50: 240, 253, 244; + --tw-colors-i-green-100: 220, 252, 231; + --tw-colors-i-green-200: 187, 247, 208; + --tw-colors-i-green-300: 134, 239, 172; + --tw-colors-i-green-400: 74, 222, 128; + --tw-colors-i-green-500: 34, 197, 94; + --tw-colors-i-green-600: 22, 163, 74; + --tw-colors-i-green-700: 21, 128, 61; + --tw-colors-i-green-800: 22, 101, 52; + --tw-colors-i-green-900: 20, 83, 45; + --tw-colors-i-green-950: 5, 46, 22; + --tw-colors-i-emerald-50: 236, 253, 245; + --tw-colors-i-emerald-100: 209, 250, 229; + --tw-colors-i-emerald-200: 167, 243, 208; + --tw-colors-i-emerald-300: 110, 231, 183; + --tw-colors-i-emerald-400: 52, 211, 153; + --tw-colors-i-emerald-500: 16, 185, 129; + --tw-colors-i-emerald-600: 5, 150, 105; + --tw-colors-i-emerald-700: 4, 120, 87; + --tw-colors-i-emerald-800: 6, 95, 70; + --tw-colors-i-emerald-900: 6, 78, 59; + --tw-colors-i-emerald-950: 2, 44, 34; + --tw-colors-i-teal-50: 240, 253, 250; + --tw-colors-i-teal-100: 204, 251, 241; + --tw-colors-i-teal-200: 153, 246, 228; + --tw-colors-i-teal-300: 94, 234, 212; + --tw-colors-i-teal-400: 45, 212, 191; + --tw-colors-i-teal-500: 20, 184, 166; + --tw-colors-i-teal-600: 13, 148, 136; + --tw-colors-i-teal-700: 15, 118, 110; + --tw-colors-i-teal-800: 17, 94, 89; + --tw-colors-i-teal-900: 19, 78, 74; + --tw-colors-i-teal-950: 4, 47, 46; + --tw-colors-i-cyan-50: 236, 254, 255; + --tw-colors-i-cyan-100: 207, 250, 254; + --tw-colors-i-cyan-200: 165, 243, 252; + --tw-colors-i-cyan-300: 103, 232, 249; + --tw-colors-i-cyan-400: 34, 211, 238; + --tw-colors-i-cyan-500: 6, 182, 212; + --tw-colors-i-cyan-600: 8, 145, 178; + --tw-colors-i-cyan-700: 14, 116, 144; + --tw-colors-i-cyan-800: 21, 94, 117; + --tw-colors-i-cyan-900: 22, 78, 99; + --tw-colors-i-cyan-950: 8, 51, 68; + --tw-colors-i-sky-50: 240, 249, 255; + --tw-colors-i-sky-100: 224, 242, 254; + --tw-colors-i-sky-200: 186, 230, 253; + --tw-colors-i-sky-300: 125, 211, 252; + --tw-colors-i-sky-400: 56, 189, 248; + --tw-colors-i-sky-500: 14, 165, 233; + --tw-colors-i-sky-600: 2, 132, 199; + --tw-colors-i-sky-700: 3, 105, 161; + --tw-colors-i-sky-800: 7, 89, 133; + --tw-colors-i-sky-900: 12, 74, 110; + --tw-colors-i-sky-950: 8, 47, 73; + --tw-colors-i-blue-50: 239, 246, 255; + --tw-colors-i-blue-100: 219, 234, 254; + --tw-colors-i-blue-200: 191, 219, 254; + --tw-colors-i-blue-300: 147, 197, 253; + --tw-colors-i-blue-400: 96, 165, 250; + --tw-colors-i-blue-500: 59, 130, 246; + --tw-colors-i-blue-600: 37, 99, 235; + --tw-colors-i-blue-700: 29, 78, 216; + --tw-colors-i-blue-800: 30, 64, 175; + --tw-colors-i-blue-900: 30, 58, 138; + --tw-colors-i-blue-950: 23, 37, 84; + --tw-colors-i-indigo-50: 238, 242, 255; + --tw-colors-i-indigo-100: 224, 231, 255; + --tw-colors-i-indigo-200: 199, 210, 254; + --tw-colors-i-indigo-300: 165, 180, 252; + --tw-colors-i-indigo-400: 129, 140, 248; + --tw-colors-i-indigo-500: 99, 102, 241; + --tw-colors-i-indigo-600: 79, 70, 229; + --tw-colors-i-indigo-700: 67, 56, 202; + --tw-colors-i-indigo-800: 55, 48, 163; + --tw-colors-i-indigo-900: 49, 46, 129; + --tw-colors-i-indigo-950: 30, 27, 75; + --tw-colors-i-violet-50: 245, 243, 255; + --tw-colors-i-violet-100: 237, 233, 254; + --tw-colors-i-violet-200: 221, 214, 254; + --tw-colors-i-violet-300: 196, 181, 253; + --tw-colors-i-violet-400: 167, 139, 250; + --tw-colors-i-violet-500: 139, 92, 246; + --tw-colors-i-violet-600: 124, 58, 237; + --tw-colors-i-violet-700: 109, 40, 217; + --tw-colors-i-violet-800: 91, 33, 182; + --tw-colors-i-violet-900: 76, 29, 149; + --tw-colors-i-violet-950: 46, 16, 101; + --tw-colors-i-purple-50: 250, 245, 255; + --tw-colors-i-purple-100: 243, 232, 255; + --tw-colors-i-purple-200: 233, 213, 255; + --tw-colors-i-purple-300: 216, 180, 254; + --tw-colors-i-purple-400: 192, 132, 252; + --tw-colors-i-purple-500: 168, 85, 247; + --tw-colors-i-purple-600: 147, 51, 234; + --tw-colors-i-purple-700: 126, 34, 206; + --tw-colors-i-purple-800: 107, 33, 168; + --tw-colors-i-purple-900: 88, 28, 135; + --tw-colors-i-purple-950: 59, 7, 100; + --tw-colors-i-fuchsia-50: 253, 244, 255; + --tw-colors-i-fuchsia-100: 250, 232, 255; + --tw-colors-i-fuchsia-200: 245, 208, 254; + --tw-colors-i-fuchsia-300: 240, 171, 252; + --tw-colors-i-fuchsia-400: 232, 121, 249; + --tw-colors-i-fuchsia-500: 217, 70, 239; + --tw-colors-i-fuchsia-600: 192, 38, 211; + --tw-colors-i-fuchsia-700: 162, 28, 175; + --tw-colors-i-fuchsia-800: 134, 25, 143; + --tw-colors-i-fuchsia-900: 112, 26, 117; + --tw-colors-i-fuchsia-950: 74, 4, 78; + --tw-colors-i-pink-50: 253, 242, 248; + --tw-colors-i-pink-100: 252, 231, 243; + --tw-colors-i-pink-200: 251, 207, 232; + --tw-colors-i-pink-300: 249, 168, 212; + --tw-colors-i-pink-400: 244, 114, 182; + --tw-colors-i-pink-500: 236, 72, 153; + --tw-colors-i-pink-600: 219, 39, 119; + --tw-colors-i-pink-700: 190, 24, 93; + --tw-colors-i-pink-800: 157, 23, 77; + --tw-colors-i-pink-900: 131, 24, 67; + --tw-colors-i-pink-950: 80, 7, 36; + --tw-colors-i-rose-50: 255, 241, 242; + --tw-colors-i-rose-100: 255, 228, 230; + --tw-colors-i-rose-200: 254, 205, 211; + --tw-colors-i-rose-300: 253, 164, 175; + --tw-colors-i-rose-400: 251, 113, 133; + --tw-colors-i-rose-500: 244, 63, 94; + --tw-colors-i-rose-600: 225, 29, 72; + --tw-colors-i-rose-700: 190, 18, 60; + --tw-colors-i-rose-800: 159, 18, 57; + --tw-colors-i-rose-900: 136, 19, 55; + --tw-colors-i-rose-950: 76, 5, 25; +} + +html.dark { + --tw-colors-i-slate-50: 2, 6, 23; + --tw-colors-i-slate-100: 15, 23, 42; + --tw-colors-i-slate-200: 30, 41, 59; + --tw-colors-i-slate-300: 51, 65, 85; + --tw-colors-i-slate-400: 71, 85, 105; + --tw-colors-i-slate-500: 100, 116, 139; + --tw-colors-i-slate-600: 148, 163, 184; + --tw-colors-i-slate-700: 203, 213, 225; + --tw-colors-i-slate-800: 226, 232, 240; + --tw-colors-i-slate-900: 241, 245, 249; + --tw-colors-i-slate-950: 248, 250, 252; + --tw-colors-i-gray-50: 3, 7, 18; + --tw-colors-i-gray-100: 17, 24, 39; + --tw-colors-i-gray-200: 31, 41, 55; + --tw-colors-i-gray-300: 55, 65, 81; + --tw-colors-i-gray-400: 75, 85, 99; + --tw-colors-i-gray-500: 107, 114, 128; + --tw-colors-i-gray-600: 156, 163, 175; + --tw-colors-i-gray-700: 209, 213, 219; + --tw-colors-i-gray-800: 229, 231, 235; + --tw-colors-i-gray-900: 243, 244, 246; + --tw-colors-i-gray-950: 249, 250, 251; + --tw-colors-i-zinc-50: 9, 9, 11; + --tw-colors-i-zinc-100: 24, 24, 27; + --tw-colors-i-zinc-200: 39, 39, 42; + --tw-colors-i-zinc-300: 63, 63, 70; + --tw-colors-i-zinc-400: 82, 82, 91; + --tw-colors-i-zinc-500: 113, 113, 122; + --tw-colors-i-zinc-600: 161, 161, 170; + --tw-colors-i-zinc-700: 212, 212, 216; + --tw-colors-i-zinc-800: 228, 228, 231; + --tw-colors-i-zinc-900: 244, 244, 245; + --tw-colors-i-zinc-950: 250, 250, 250; + --tw-colors-i-neutral-50: 10, 10, 10; + --tw-colors-i-neutral-100: 23, 23, 23; + --tw-colors-i-neutral-200: 38, 38, 38; + --tw-colors-i-neutral-300: 64, 64, 64; + --tw-colors-i-neutral-400: 82, 82, 82; + --tw-colors-i-neutral-500: 115, 115, 115; + --tw-colors-i-neutral-600: 163, 163, 163; + --tw-colors-i-neutral-700: 212, 212, 212; + --tw-colors-i-neutral-800: 229, 229, 229; + --tw-colors-i-neutral-900: 245, 245, 245; + --tw-colors-i-neutral-950: 250, 250, 250; + --tw-colors-i-stone-50: 12, 10, 9; + --tw-colors-i-stone-100: 28, 25, 23; + --tw-colors-i-stone-200: 41, 37, 36; + --tw-colors-i-stone-300: 68, 64, 60; + --tw-colors-i-stone-400: 87, 83, 78; + --tw-colors-i-stone-500: 120, 113, 108; + --tw-colors-i-stone-600: 168, 162, 158; + --tw-colors-i-stone-700: 214, 211, 209; + --tw-colors-i-stone-800: 231, 229, 228; + --tw-colors-i-stone-900: 245, 245, 244; + --tw-colors-i-stone-950: 250, 250, 249; + --tw-colors-i-red-50: 69, 10, 10; + --tw-colors-i-red-100: 127, 29, 29; + --tw-colors-i-red-200: 153, 27, 27; + --tw-colors-i-red-300: 185, 28, 28; + --tw-colors-i-red-400: 220, 38, 38; + --tw-colors-i-red-500: 239, 68, 68; + --tw-colors-i-red-600: 248, 113, 113; + --tw-colors-i-red-700: 252, 165, 165; + --tw-colors-i-red-800: 254, 202, 202; + --tw-colors-i-red-900: 254, 226, 226; + --tw-colors-i-red-950: 254, 242, 242; + --tw-colors-i-orange-50: 67, 20, 7; + --tw-colors-i-orange-100: 124, 45, 18; + --tw-colors-i-orange-200: 154, 52, 18; + --tw-colors-i-orange-300: 194, 65, 12; + --tw-colors-i-orange-400: 234, 88, 12; + --tw-colors-i-orange-500: 249, 115, 22; + --tw-colors-i-orange-600: 251, 146, 60; + --tw-colors-i-orange-700: 253, 186, 116; + --tw-colors-i-orange-800: 254, 215, 170; + --tw-colors-i-orange-900: 255, 237, 213; + --tw-colors-i-orange-950: 255, 247, 237; + --tw-colors-i-amber-50: 69, 26, 3; + --tw-colors-i-amber-100: 120, 53, 15; + --tw-colors-i-amber-200: 146, 64, 14; + --tw-colors-i-amber-300: 180, 83, 9; + --tw-colors-i-amber-400: 217, 119, 6; + --tw-colors-i-amber-500: 245, 158, 11; + --tw-colors-i-amber-600: 251, 191, 36; + --tw-colors-i-amber-700: 252, 211, 77; + --tw-colors-i-amber-800: 253, 230, 138; + --tw-colors-i-amber-900: 254, 243, 199; + --tw-colors-i-amber-950: 255, 251, 235; + --tw-colors-i-yellow-50: 66, 32, 6; + --tw-colors-i-yellow-100: 113, 63, 18; + --tw-colors-i-yellow-200: 133, 77, 14; + --tw-colors-i-yellow-300: 161, 98, 7; + --tw-colors-i-yellow-400: 202, 138, 4; + --tw-colors-i-yellow-500: 234, 179, 8; + --tw-colors-i-yellow-600: 250, 204, 21; + --tw-colors-i-yellow-700: 253, 224, 71; + --tw-colors-i-yellow-800: 254, 240, 138; + --tw-colors-i-yellow-900: 254, 249, 195; + --tw-colors-i-yellow-950: 254, 252, 232; + --tw-colors-i-lime-50: 26, 46, 5; + --tw-colors-i-lime-100: 54, 83, 20; + --tw-colors-i-lime-200: 63, 98, 18; + --tw-colors-i-lime-300: 77, 124, 15; + --tw-colors-i-lime-400: 101, 163, 13; + --tw-colors-i-lime-500: 132, 204, 22; + --tw-colors-i-lime-600: 163, 230, 53; + --tw-colors-i-lime-700: 190, 242, 100; + --tw-colors-i-lime-800: 217, 249, 157; + --tw-colors-i-lime-900: 236, 252, 203; + --tw-colors-i-lime-950: 247, 254, 231; + --tw-colors-i-green-50: 5, 46, 22; + --tw-colors-i-green-100: 20, 83, 45; + --tw-colors-i-green-200: 22, 101, 52; + --tw-colors-i-green-300: 21, 128, 61; + --tw-colors-i-green-400: 22, 163, 74; + --tw-colors-i-green-500: 34, 197, 94; + --tw-colors-i-green-600: 74, 222, 128; + --tw-colors-i-green-700: 134, 239, 172; + --tw-colors-i-green-800: 187, 247, 208; + --tw-colors-i-green-900: 220, 252, 231; + --tw-colors-i-green-950: 240, 253, 244; + --tw-colors-i-emerald-50: 2, 44, 34; + --tw-colors-i-emerald-100: 6, 78, 59; + --tw-colors-i-emerald-200: 6, 95, 70; + --tw-colors-i-emerald-300: 4, 120, 87; + --tw-colors-i-emerald-400: 5, 150, 105; + --tw-colors-i-emerald-500: 16, 185, 129; + --tw-colors-i-emerald-600: 52, 211, 153; + --tw-colors-i-emerald-700: 110, 231, 183; + --tw-colors-i-emerald-800: 167, 243, 208; + --tw-colors-i-emerald-900: 209, 250, 229; + --tw-colors-i-emerald-950: 236, 253, 245; + --tw-colors-i-teal-50: 4, 47, 46; + --tw-colors-i-teal-100: 19, 78, 74; + --tw-colors-i-teal-200: 17, 94, 89; + --tw-colors-i-teal-300: 15, 118, 110; + --tw-colors-i-teal-400: 13, 148, 136; + --tw-colors-i-teal-500: 20, 184, 166; + --tw-colors-i-teal-600: 45, 212, 191; + --tw-colors-i-teal-700: 94, 234, 212; + --tw-colors-i-teal-800: 153, 246, 228; + --tw-colors-i-teal-900: 204, 251, 241; + --tw-colors-i-teal-950: 240, 253, 250; + --tw-colors-i-cyan-50: 8, 51, 68; + --tw-colors-i-cyan-100: 22, 78, 99; + --tw-colors-i-cyan-200: 21, 94, 117; + --tw-colors-i-cyan-300: 14, 116, 144; + --tw-colors-i-cyan-400: 8, 145, 178; + --tw-colors-i-cyan-500: 6, 182, 212; + --tw-colors-i-cyan-600: 34, 211, 238; + --tw-colors-i-cyan-700: 103, 232, 249; + --tw-colors-i-cyan-800: 165, 243, 252; + --tw-colors-i-cyan-900: 207, 250, 254; + --tw-colors-i-cyan-950: 236, 254, 255; + --tw-colors-i-sky-50: 8, 47, 73; + --tw-colors-i-sky-100: 12, 74, 110; + --tw-colors-i-sky-200: 7, 89, 133; + --tw-colors-i-sky-300: 3, 105, 161; + --tw-colors-i-sky-400: 2, 132, 199; + --tw-colors-i-sky-500: 14, 165, 233; + --tw-colors-i-sky-600: 56, 189, 248; + --tw-colors-i-sky-700: 125, 211, 252; + --tw-colors-i-sky-800: 186, 230, 253; + --tw-colors-i-sky-900: 224, 242, 254; + --tw-colors-i-sky-950: 240, 249, 255; + --tw-colors-i-blue-50: 23, 37, 84; + --tw-colors-i-blue-100: 30, 58, 138; + --tw-colors-i-blue-200: 30, 64, 175; + --tw-colors-i-blue-300: 29, 78, 216; + --tw-colors-i-blue-400: 37, 99, 235; + --tw-colors-i-blue-500: 59, 130, 246; + --tw-colors-i-blue-600: 96, 165, 250; + --tw-colors-i-blue-700: 147, 197, 253; + --tw-colors-i-blue-800: 191, 219, 254; + --tw-colors-i-blue-900: 219, 234, 254; + --tw-colors-i-blue-950: 239, 246, 255; + --tw-colors-i-indigo-50: 30, 27, 75; + --tw-colors-i-indigo-100: 49, 46, 129; + --tw-colors-i-indigo-200: 55, 48, 163; + --tw-colors-i-indigo-300: 67, 56, 202; + --tw-colors-i-indigo-400: 79, 70, 229; + --tw-colors-i-indigo-500: 99, 102, 241; + --tw-colors-i-indigo-600: 129, 140, 248; + --tw-colors-i-indigo-700: 165, 180, 252; + --tw-colors-i-indigo-800: 199, 210, 254; + --tw-colors-i-indigo-900: 224, 231, 255; + --tw-colors-i-indigo-950: 238, 242, 255; + --tw-colors-i-violet-50: 46, 16, 101; + --tw-colors-i-violet-100: 76, 29, 149; + --tw-colors-i-violet-200: 91, 33, 182; + --tw-colors-i-violet-300: 109, 40, 217; + --tw-colors-i-violet-400: 124, 58, 237; + --tw-colors-i-violet-500: 139, 92, 246; + --tw-colors-i-violet-600: 167, 139, 250; + --tw-colors-i-violet-700: 196, 181, 253; + --tw-colors-i-violet-800: 221, 214, 254; + --tw-colors-i-violet-900: 237, 233, 254; + --tw-colors-i-violet-950: 245, 243, 255; + --tw-colors-i-purple-50: 59, 7, 100; + --tw-colors-i-purple-100: 88, 28, 135; + --tw-colors-i-purple-200: 107, 33, 168; + --tw-colors-i-purple-300: 126, 34, 206; + --tw-colors-i-purple-400: 147, 51, 234; + --tw-colors-i-purple-500: 168, 85, 247; + --tw-colors-i-purple-600: 192, 132, 252; + --tw-colors-i-purple-700: 216, 180, 254; + --tw-colors-i-purple-800: 233, 213, 255; + --tw-colors-i-purple-900: 243, 232, 255; + --tw-colors-i-purple-950: 250, 245, 255; + --tw-colors-i-fuchsia-50: 74, 4, 78; + --tw-colors-i-fuchsia-100: 112, 26, 117; + --tw-colors-i-fuchsia-200: 134, 25, 143; + --tw-colors-i-fuchsia-300: 162, 28, 175; + --tw-colors-i-fuchsia-400: 192, 38, 211; + --tw-colors-i-fuchsia-500: 217, 70, 239; + --tw-colors-i-fuchsia-600: 232, 121, 249; + --tw-colors-i-fuchsia-700: 240, 171, 252; + --tw-colors-i-fuchsia-800: 245, 208, 254; + --tw-colors-i-fuchsia-900: 250, 232, 255; + --tw-colors-i-fuchsia-950: 253, 244, 255; + --tw-colors-i-pink-50: 80, 7, 36; + --tw-colors-i-pink-100: 131, 24, 67; + --tw-colors-i-pink-200: 157, 23, 77; + --tw-colors-i-pink-300: 190, 24, 93; + --tw-colors-i-pink-400: 219, 39, 119; + --tw-colors-i-pink-500: 236, 72, 153; + --tw-colors-i-pink-600: 244, 114, 182; + --tw-colors-i-pink-700: 249, 168, 212; + --tw-colors-i-pink-800: 251, 207, 232; + --tw-colors-i-pink-900: 252, 231, 243; + --tw-colors-i-pink-950: 253, 242, 248; + --tw-colors-i-rose-50: 76, 5, 25; + --tw-colors-i-rose-100: 136, 19, 55; + --tw-colors-i-rose-200: 159, 18, 57; + --tw-colors-i-rose-300: 190, 18, 60; + --tw-colors-i-rose-400: 225, 29, 72; + --tw-colors-i-rose-500: 244, 63, 94; + --tw-colors-i-rose-600: 251, 113, 133; + --tw-colors-i-rose-700: 253, 164, 175; + --tw-colors-i-rose-800: 254, 205, 211; + --tw-colors-i-rose-900: 255, 228, 230; + --tw-colors-i-rose-950: 255, 241, 242; +} + +html.light { + --tw-colors-i-slate-50: 248, 250, 252; + --tw-colors-i-slate-100: 241, 245, 249; + --tw-colors-i-slate-200: 226, 232, 240; + --tw-colors-i-slate-300: 203, 213, 225; + --tw-colors-i-slate-400: 148, 163, 184; + --tw-colors-i-slate-500: 100, 116, 139; + --tw-colors-i-slate-600: 71, 85, 105; + --tw-colors-i-slate-700: 51, 65, 85; + --tw-colors-i-slate-800: 30, 41, 59; + --tw-colors-i-slate-900: 15, 23, 42; + --tw-colors-i-slate-950: 2, 6, 23; + --tw-colors-i-gray-50: 249, 250, 251; + --tw-colors-i-gray-100: 243, 244, 246; + --tw-colors-i-gray-200: 229, 231, 235; + --tw-colors-i-gray-300: 209, 213, 219; + --tw-colors-i-gray-400: 156, 163, 175; + --tw-colors-i-gray-500: 107, 114, 128; + --tw-colors-i-gray-600: 75, 85, 99; + --tw-colors-i-gray-700: 55, 65, 81; + --tw-colors-i-gray-800: 31, 41, 55; + --tw-colors-i-gray-900: 17, 24, 39; + --tw-colors-i-gray-950: 3, 7, 18; + --tw-colors-i-zinc-50: 250, 250, 250; + --tw-colors-i-zinc-100: 244, 244, 245; + --tw-colors-i-zinc-200: 228, 228, 231; + --tw-colors-i-zinc-300: 212, 212, 216; + --tw-colors-i-zinc-400: 161, 161, 170; + --tw-colors-i-zinc-500: 113, 113, 122; + --tw-colors-i-zinc-600: 82, 82, 91; + --tw-colors-i-zinc-700: 63, 63, 70; + --tw-colors-i-zinc-800: 39, 39, 42; + --tw-colors-i-zinc-900: 24, 24, 27; + --tw-colors-i-zinc-950: 9, 9, 11; + --tw-colors-i-neutral-50: 250, 250, 250; + --tw-colors-i-neutral-100: 245, 245, 245; + --tw-colors-i-neutral-200: 229, 229, 229; + --tw-colors-i-neutral-300: 212, 212, 212; + --tw-colors-i-neutral-400: 163, 163, 163; + --tw-colors-i-neutral-500: 115, 115, 115; + --tw-colors-i-neutral-600: 82, 82, 82; + --tw-colors-i-neutral-700: 64, 64, 64; + --tw-colors-i-neutral-800: 38, 38, 38; + --tw-colors-i-neutral-900: 23, 23, 23; + --tw-colors-i-neutral-950: 10, 10, 10; + --tw-colors-i-stone-50: 250, 250, 249; + --tw-colors-i-stone-100: 245, 245, 244; + --tw-colors-i-stone-200: 231, 229, 228; + --tw-colors-i-stone-300: 214, 211, 209; + --tw-colors-i-stone-400: 168, 162, 158; + --tw-colors-i-stone-500: 120, 113, 108; + --tw-colors-i-stone-600: 87, 83, 78; + --tw-colors-i-stone-700: 68, 64, 60; + --tw-colors-i-stone-800: 41, 37, 36; + --tw-colors-i-stone-900: 28, 25, 23; + --tw-colors-i-stone-950: 12, 10, 9; + --tw-colors-i-red-50: 254, 242, 242; + --tw-colors-i-red-100: 254, 226, 226; + --tw-colors-i-red-200: 254, 202, 202; + --tw-colors-i-red-300: 252, 165, 165; + --tw-colors-i-red-400: 248, 113, 113; + --tw-colors-i-red-500: 239, 68, 68; + --tw-colors-i-red-600: 220, 38, 38; + --tw-colors-i-red-700: 185, 28, 28; + --tw-colors-i-red-800: 153, 27, 27; + --tw-colors-i-red-900: 127, 29, 29; + --tw-colors-i-red-950: 69, 10, 10; + --tw-colors-i-orange-50: 255, 247, 237; + --tw-colors-i-orange-100: 255, 237, 213; + --tw-colors-i-orange-200: 254, 215, 170; + --tw-colors-i-orange-300: 253, 186, 116; + --tw-colors-i-orange-400: 251, 146, 60; + --tw-colors-i-orange-500: 249, 115, 22; + --tw-colors-i-orange-600: 234, 88, 12; + --tw-colors-i-orange-700: 194, 65, 12; + --tw-colors-i-orange-800: 154, 52, 18; + --tw-colors-i-orange-900: 124, 45, 18; + --tw-colors-i-orange-950: 67, 20, 7; + --tw-colors-i-amber-50: 255, 251, 235; + --tw-colors-i-amber-100: 254, 243, 199; + --tw-colors-i-amber-200: 253, 230, 138; + --tw-colors-i-amber-300: 252, 211, 77; + --tw-colors-i-amber-400: 251, 191, 36; + --tw-colors-i-amber-500: 245, 158, 11; + --tw-colors-i-amber-600: 217, 119, 6; + --tw-colors-i-amber-700: 180, 83, 9; + --tw-colors-i-amber-800: 146, 64, 14; + --tw-colors-i-amber-900: 120, 53, 15; + --tw-colors-i-amber-950: 69, 26, 3; + --tw-colors-i-yellow-50: 254, 252, 232; + --tw-colors-i-yellow-100: 254, 249, 195; + --tw-colors-i-yellow-200: 254, 240, 138; + --tw-colors-i-yellow-300: 253, 224, 71; + --tw-colors-i-yellow-400: 250, 204, 21; + --tw-colors-i-yellow-500: 234, 179, 8; + --tw-colors-i-yellow-600: 202, 138, 4; + --tw-colors-i-yellow-700: 161, 98, 7; + --tw-colors-i-yellow-800: 133, 77, 14; + --tw-colors-i-yellow-900: 113, 63, 18; + --tw-colors-i-yellow-950: 66, 32, 6; + --tw-colors-i-lime-50: 247, 254, 231; + --tw-colors-i-lime-100: 236, 252, 203; + --tw-colors-i-lime-200: 217, 249, 157; + --tw-colors-i-lime-300: 190, 242, 100; + --tw-colors-i-lime-400: 163, 230, 53; + --tw-colors-i-lime-500: 132, 204, 22; + --tw-colors-i-lime-600: 101, 163, 13; + --tw-colors-i-lime-700: 77, 124, 15; + --tw-colors-i-lime-800: 63, 98, 18; + --tw-colors-i-lime-900: 54, 83, 20; + --tw-colors-i-lime-950: 26, 46, 5; + --tw-colors-i-green-50: 240, 253, 244; + --tw-colors-i-green-100: 220, 252, 231; + --tw-colors-i-green-200: 187, 247, 208; + --tw-colors-i-green-300: 134, 239, 172; + --tw-colors-i-green-400: 74, 222, 128; + --tw-colors-i-green-500: 34, 197, 94; + --tw-colors-i-green-600: 22, 163, 74; + --tw-colors-i-green-700: 21, 128, 61; + --tw-colors-i-green-800: 22, 101, 52; + --tw-colors-i-green-900: 20, 83, 45; + --tw-colors-i-green-950: 5, 46, 22; + --tw-colors-i-emerald-50: 236, 253, 245; + --tw-colors-i-emerald-100: 209, 250, 229; + --tw-colors-i-emerald-200: 167, 243, 208; + --tw-colors-i-emerald-300: 110, 231, 183; + --tw-colors-i-emerald-400: 52, 211, 153; + --tw-colors-i-emerald-500: 16, 185, 129; + --tw-colors-i-emerald-600: 5, 150, 105; + --tw-colors-i-emerald-700: 4, 120, 87; + --tw-colors-i-emerald-800: 6, 95, 70; + --tw-colors-i-emerald-900: 6, 78, 59; + --tw-colors-i-emerald-950: 2, 44, 34; + --tw-colors-i-teal-50: 240, 253, 250; + --tw-colors-i-teal-100: 204, 251, 241; + --tw-colors-i-teal-200: 153, 246, 228; + --tw-colors-i-teal-300: 94, 234, 212; + --tw-colors-i-teal-400: 45, 212, 191; + --tw-colors-i-teal-500: 20, 184, 166; + --tw-colors-i-teal-600: 13, 148, 136; + --tw-colors-i-teal-700: 15, 118, 110; + --tw-colors-i-teal-800: 17, 94, 89; + --tw-colors-i-teal-900: 19, 78, 74; + --tw-colors-i-teal-950: 4, 47, 46; + --tw-colors-i-cyan-50: 236, 254, 255; + --tw-colors-i-cyan-100: 207, 250, 254; + --tw-colors-i-cyan-200: 165, 243, 252; + --tw-colors-i-cyan-300: 103, 232, 249; + --tw-colors-i-cyan-400: 34, 211, 238; + --tw-colors-i-cyan-500: 6, 182, 212; + --tw-colors-i-cyan-600: 8, 145, 178; + --tw-colors-i-cyan-700: 14, 116, 144; + --tw-colors-i-cyan-800: 21, 94, 117; + --tw-colors-i-cyan-900: 22, 78, 99; + --tw-colors-i-cyan-950: 8, 51, 68; + --tw-colors-i-sky-50: 240, 249, 255; + --tw-colors-i-sky-100: 224, 242, 254; + --tw-colors-i-sky-200: 186, 230, 253; + --tw-colors-i-sky-300: 125, 211, 252; + --tw-colors-i-sky-400: 56, 189, 248; + --tw-colors-i-sky-500: 14, 165, 233; + --tw-colors-i-sky-600: 2, 132, 199; + --tw-colors-i-sky-700: 3, 105, 161; + --tw-colors-i-sky-800: 7, 89, 133; + --tw-colors-i-sky-900: 12, 74, 110; + --tw-colors-i-sky-950: 8, 47, 73; + --tw-colors-i-blue-50: 239, 246, 255; + --tw-colors-i-blue-100: 219, 234, 254; + --tw-colors-i-blue-200: 191, 219, 254; + --tw-colors-i-blue-300: 147, 197, 253; + --tw-colors-i-blue-400: 96, 165, 250; + --tw-colors-i-blue-500: 59, 130, 246; + --tw-colors-i-blue-600: 37, 99, 235; + --tw-colors-i-blue-700: 29, 78, 216; + --tw-colors-i-blue-800: 30, 64, 175; + --tw-colors-i-blue-900: 30, 58, 138; + --tw-colors-i-blue-950: 23, 37, 84; + --tw-colors-i-indigo-50: 238, 242, 255; + --tw-colors-i-indigo-100: 224, 231, 255; + --tw-colors-i-indigo-200: 199, 210, 254; + --tw-colors-i-indigo-300: 165, 180, 252; + --tw-colors-i-indigo-400: 129, 140, 248; + --tw-colors-i-indigo-500: 99, 102, 241; + --tw-colors-i-indigo-600: 79, 70, 229; + --tw-colors-i-indigo-700: 67, 56, 202; + --tw-colors-i-indigo-800: 55, 48, 163; + --tw-colors-i-indigo-900: 49, 46, 129; + --tw-colors-i-indigo-950: 30, 27, 75; + --tw-colors-i-violet-50: 245, 243, 255; + --tw-colors-i-violet-100: 237, 233, 254; + --tw-colors-i-violet-200: 221, 214, 254; + --tw-colors-i-violet-300: 196, 181, 253; + --tw-colors-i-violet-400: 167, 139, 250; + --tw-colors-i-violet-500: 139, 92, 246; + --tw-colors-i-violet-600: 124, 58, 237; + --tw-colors-i-violet-700: 109, 40, 217; + --tw-colors-i-violet-800: 91, 33, 182; + --tw-colors-i-violet-900: 76, 29, 149; + --tw-colors-i-violet-950: 46, 16, 101; + --tw-colors-i-purple-50: 250, 245, 255; + --tw-colors-i-purple-100: 243, 232, 255; + --tw-colors-i-purple-200: 233, 213, 255; + --tw-colors-i-purple-300: 216, 180, 254; + --tw-colors-i-purple-400: 192, 132, 252; + --tw-colors-i-purple-500: 168, 85, 247; + --tw-colors-i-purple-600: 147, 51, 234; + --tw-colors-i-purple-700: 126, 34, 206; + --tw-colors-i-purple-800: 107, 33, 168; + --tw-colors-i-purple-900: 88, 28, 135; + --tw-colors-i-purple-950: 59, 7, 100; + --tw-colors-i-fuchsia-50: 253, 244, 255; + --tw-colors-i-fuchsia-100: 250, 232, 255; + --tw-colors-i-fuchsia-200: 245, 208, 254; + --tw-colors-i-fuchsia-300: 240, 171, 252; + --tw-colors-i-fuchsia-400: 232, 121, 249; + --tw-colors-i-fuchsia-500: 217, 70, 239; + --tw-colors-i-fuchsia-600: 192, 38, 211; + --tw-colors-i-fuchsia-700: 162, 28, 175; + --tw-colors-i-fuchsia-800: 134, 25, 143; + --tw-colors-i-fuchsia-900: 112, 26, 117; + --tw-colors-i-fuchsia-950: 74, 4, 78; + --tw-colors-i-pink-50: 253, 242, 248; + --tw-colors-i-pink-100: 252, 231, 243; + --tw-colors-i-pink-200: 251, 207, 232; + --tw-colors-i-pink-300: 249, 168, 212; + --tw-colors-i-pink-400: 244, 114, 182; + --tw-colors-i-pink-500: 236, 72, 153; + --tw-colors-i-pink-600: 219, 39, 119; + --tw-colors-i-pink-700: 190, 24, 93; + --tw-colors-i-pink-800: 157, 23, 77; + --tw-colors-i-pink-900: 131, 24, 67; + --tw-colors-i-pink-950: 80, 7, 36; + --tw-colors-i-rose-50: 255, 241, 242; + --tw-colors-i-rose-100: 255, 228, 230; + --tw-colors-i-rose-200: 254, 205, 211; + --tw-colors-i-rose-300: 253, 164, 175; + --tw-colors-i-rose-400: 251, 113, 133; + --tw-colors-i-rose-500: 244, 63, 94; + --tw-colors-i-rose-600: 225, 29, 72; + --tw-colors-i-rose-700: 190, 18, 60; + --tw-colors-i-rose-800: 159, 18, 57; + --tw-colors-i-rose-900: 136, 19, 55; + --tw-colors-i-rose-950: 76, 5, 25; +} + +@media (prefers-color-scheme: dark) { + html:not(.dark):not(.light) { + --tw-colors-i-slate-50: 2, 6, 23; + --tw-colors-i-slate-100: 15, 23, 42; + --tw-colors-i-slate-200: 30, 41, 59; + --tw-colors-i-slate-300: 51, 65, 85; + --tw-colors-i-slate-400: 71, 85, 105; + --tw-colors-i-slate-500: 100, 116, 139; + --tw-colors-i-slate-600: 148, 163, 184; + --tw-colors-i-slate-700: 203, 213, 225; + --tw-colors-i-slate-800: 226, 232, 240; + --tw-colors-i-slate-900: 241, 245, 249; + --tw-colors-i-slate-950: 248, 250, 252; + --tw-colors-i-gray-50: 3, 7, 18; + --tw-colors-i-gray-100: 17, 24, 39; + --tw-colors-i-gray-200: 31, 41, 55; + --tw-colors-i-gray-300: 55, 65, 81; + --tw-colors-i-gray-400: 75, 85, 99; + --tw-colors-i-gray-500: 107, 114, 128; + --tw-colors-i-gray-600: 156, 163, 175; + --tw-colors-i-gray-700: 209, 213, 219; + --tw-colors-i-gray-800: 229, 231, 235; + --tw-colors-i-gray-900: 243, 244, 246; + --tw-colors-i-gray-950: 249, 250, 251; + --tw-colors-i-zinc-50: 9, 9, 11; + --tw-colors-i-zinc-100: 24, 24, 27; + --tw-colors-i-zinc-200: 39, 39, 42; + --tw-colors-i-zinc-300: 63, 63, 70; + --tw-colors-i-zinc-400: 82, 82, 91; + --tw-colors-i-zinc-500: 113, 113, 122; + --tw-colors-i-zinc-600: 161, 161, 170; + --tw-colors-i-zinc-700: 212, 212, 216; + --tw-colors-i-zinc-800: 228, 228, 231; + --tw-colors-i-zinc-900: 244, 244, 245; + --tw-colors-i-zinc-950: 250, 250, 250; + --tw-colors-i-neutral-50: 10, 10, 10; + --tw-colors-i-neutral-100: 23, 23, 23; + --tw-colors-i-neutral-200: 38, 38, 38; + --tw-colors-i-neutral-300: 64, 64, 64; + --tw-colors-i-neutral-400: 82, 82, 82; + --tw-colors-i-neutral-500: 115, 115, 115; + --tw-colors-i-neutral-600: 163, 163, 163; + --tw-colors-i-neutral-700: 212, 212, 212; + --tw-colors-i-neutral-800: 229, 229, 229; + --tw-colors-i-neutral-900: 245, 245, 245; + --tw-colors-i-neutral-950: 250, 250, 250; + --tw-colors-i-stone-50: 12, 10, 9; + --tw-colors-i-stone-100: 28, 25, 23; + --tw-colors-i-stone-200: 41, 37, 36; + --tw-colors-i-stone-300: 68, 64, 60; + --tw-colors-i-stone-400: 87, 83, 78; + --tw-colors-i-stone-500: 120, 113, 108; + --tw-colors-i-stone-600: 168, 162, 158; + --tw-colors-i-stone-700: 214, 211, 209; + --tw-colors-i-stone-800: 231, 229, 228; + --tw-colors-i-stone-900: 245, 245, 244; + --tw-colors-i-stone-950: 250, 250, 249; + --tw-colors-i-red-50: 69, 10, 10; + --tw-colors-i-red-100: 127, 29, 29; + --tw-colors-i-red-200: 153, 27, 27; + --tw-colors-i-red-300: 185, 28, 28; + --tw-colors-i-red-400: 220, 38, 38; + --tw-colors-i-red-500: 239, 68, 68; + --tw-colors-i-red-600: 248, 113, 113; + --tw-colors-i-red-700: 252, 165, 165; + --tw-colors-i-red-800: 254, 202, 202; + --tw-colors-i-red-900: 254, 226, 226; + --tw-colors-i-red-950: 254, 242, 242; + --tw-colors-i-orange-50: 67, 20, 7; + --tw-colors-i-orange-100: 124, 45, 18; + --tw-colors-i-orange-200: 154, 52, 18; + --tw-colors-i-orange-300: 194, 65, 12; + --tw-colors-i-orange-400: 234, 88, 12; + --tw-colors-i-orange-500: 249, 115, 22; + --tw-colors-i-orange-600: 251, 146, 60; + --tw-colors-i-orange-700: 253, 186, 116; + --tw-colors-i-orange-800: 254, 215, 170; + --tw-colors-i-orange-900: 255, 237, 213; + --tw-colors-i-orange-950: 255, 247, 237; + --tw-colors-i-amber-50: 69, 26, 3; + --tw-colors-i-amber-100: 120, 53, 15; + --tw-colors-i-amber-200: 146, 64, 14; + --tw-colors-i-amber-300: 180, 83, 9; + --tw-colors-i-amber-400: 217, 119, 6; + --tw-colors-i-amber-500: 245, 158, 11; + --tw-colors-i-amber-600: 251, 191, 36; + --tw-colors-i-amber-700: 252, 211, 77; + --tw-colors-i-amber-800: 253, 230, 138; + --tw-colors-i-amber-900: 254, 243, 199; + --tw-colors-i-amber-950: 255, 251, 235; + --tw-colors-i-yellow-50: 66, 32, 6; + --tw-colors-i-yellow-100: 113, 63, 18; + --tw-colors-i-yellow-200: 133, 77, 14; + --tw-colors-i-yellow-300: 161, 98, 7; + --tw-colors-i-yellow-400: 202, 138, 4; + --tw-colors-i-yellow-500: 234, 179, 8; + --tw-colors-i-yellow-600: 250, 204, 21; + --tw-colors-i-yellow-700: 253, 224, 71; + --tw-colors-i-yellow-800: 254, 240, 138; + --tw-colors-i-yellow-900: 254, 249, 195; + --tw-colors-i-yellow-950: 254, 252, 232; + --tw-colors-i-lime-50: 26, 46, 5; + --tw-colors-i-lime-100: 54, 83, 20; + --tw-colors-i-lime-200: 63, 98, 18; + --tw-colors-i-lime-300: 77, 124, 15; + --tw-colors-i-lime-400: 101, 163, 13; + --tw-colors-i-lime-500: 132, 204, 22; + --tw-colors-i-lime-600: 163, 230, 53; + --tw-colors-i-lime-700: 190, 242, 100; + --tw-colors-i-lime-800: 217, 249, 157; + --tw-colors-i-lime-900: 236, 252, 203; + --tw-colors-i-lime-950: 247, 254, 231; + --tw-colors-i-green-50: 5, 46, 22; + --tw-colors-i-green-100: 20, 83, 45; + --tw-colors-i-green-200: 22, 101, 52; + --tw-colors-i-green-300: 21, 128, 61; + --tw-colors-i-green-400: 22, 163, 74; + --tw-colors-i-green-500: 34, 197, 94; + --tw-colors-i-green-600: 74, 222, 128; + --tw-colors-i-green-700: 134, 239, 172; + --tw-colors-i-green-800: 187, 247, 208; + --tw-colors-i-green-900: 220, 252, 231; + --tw-colors-i-green-950: 240, 253, 244; + --tw-colors-i-emerald-50: 2, 44, 34; + --tw-colors-i-emerald-100: 6, 78, 59; + --tw-colors-i-emerald-200: 6, 95, 70; + --tw-colors-i-emerald-300: 4, 120, 87; + --tw-colors-i-emerald-400: 5, 150, 105; + --tw-colors-i-emerald-500: 16, 185, 129; + --tw-colors-i-emerald-600: 52, 211, 153; + --tw-colors-i-emerald-700: 110, 231, 183; + --tw-colors-i-emerald-800: 167, 243, 208; + --tw-colors-i-emerald-900: 209, 250, 229; + --tw-colors-i-emerald-950: 236, 253, 245; + --tw-colors-i-teal-50: 4, 47, 46; + --tw-colors-i-teal-100: 19, 78, 74; + --tw-colors-i-teal-200: 17, 94, 89; + --tw-colors-i-teal-300: 15, 118, 110; + --tw-colors-i-teal-400: 13, 148, 136; + --tw-colors-i-teal-500: 20, 184, 166; + --tw-colors-i-teal-600: 45, 212, 191; + --tw-colors-i-teal-700: 94, 234, 212; + --tw-colors-i-teal-800: 153, 246, 228; + --tw-colors-i-teal-900: 204, 251, 241; + --tw-colors-i-teal-950: 240, 253, 250; + --tw-colors-i-cyan-50: 8, 51, 68; + --tw-colors-i-cyan-100: 22, 78, 99; + --tw-colors-i-cyan-200: 21, 94, 117; + --tw-colors-i-cyan-300: 14, 116, 144; + --tw-colors-i-cyan-400: 8, 145, 178; + --tw-colors-i-cyan-500: 6, 182, 212; + --tw-colors-i-cyan-600: 34, 211, 238; + --tw-colors-i-cyan-700: 103, 232, 249; + --tw-colors-i-cyan-800: 165, 243, 252; + --tw-colors-i-cyan-900: 207, 250, 254; + --tw-colors-i-cyan-950: 236, 254, 255; + --tw-colors-i-sky-50: 8, 47, 73; + --tw-colors-i-sky-100: 12, 74, 110; + --tw-colors-i-sky-200: 7, 89, 133; + --tw-colors-i-sky-300: 3, 105, 161; + --tw-colors-i-sky-400: 2, 132, 199; + --tw-colors-i-sky-500: 14, 165, 233; + --tw-colors-i-sky-600: 56, 189, 248; + --tw-colors-i-sky-700: 125, 211, 252; + --tw-colors-i-sky-800: 186, 230, 253; + --tw-colors-i-sky-900: 224, 242, 254; + --tw-colors-i-sky-950: 240, 249, 255; + --tw-colors-i-blue-50: 23, 37, 84; + --tw-colors-i-blue-100: 30, 58, 138; + --tw-colors-i-blue-200: 30, 64, 175; + --tw-colors-i-blue-300: 29, 78, 216; + --tw-colors-i-blue-400: 37, 99, 235; + --tw-colors-i-blue-500: 59, 130, 246; + --tw-colors-i-blue-600: 96, 165, 250; + --tw-colors-i-blue-700: 147, 197, 253; + --tw-colors-i-blue-800: 191, 219, 254; + --tw-colors-i-blue-900: 219, 234, 254; + --tw-colors-i-blue-950: 239, 246, 255; + --tw-colors-i-indigo-50: 30, 27, 75; + --tw-colors-i-indigo-100: 49, 46, 129; + --tw-colors-i-indigo-200: 55, 48, 163; + --tw-colors-i-indigo-300: 67, 56, 202; + --tw-colors-i-indigo-400: 79, 70, 229; + --tw-colors-i-indigo-500: 99, 102, 241; + --tw-colors-i-indigo-600: 129, 140, 248; + --tw-colors-i-indigo-700: 165, 180, 252; + --tw-colors-i-indigo-800: 199, 210, 254; + --tw-colors-i-indigo-900: 224, 231, 255; + --tw-colors-i-indigo-950: 238, 242, 255; + --tw-colors-i-violet-50: 46, 16, 101; + --tw-colors-i-violet-100: 76, 29, 149; + --tw-colors-i-violet-200: 91, 33, 182; + --tw-colors-i-violet-300: 109, 40, 217; + --tw-colors-i-violet-400: 124, 58, 237; + --tw-colors-i-violet-500: 139, 92, 246; + --tw-colors-i-violet-600: 167, 139, 250; + --tw-colors-i-violet-700: 196, 181, 253; + --tw-colors-i-violet-800: 221, 214, 254; + --tw-colors-i-violet-900: 237, 233, 254; + --tw-colors-i-violet-950: 245, 243, 255; + --tw-colors-i-purple-50: 59, 7, 100; + --tw-colors-i-purple-100: 88, 28, 135; + --tw-colors-i-purple-200: 107, 33, 168; + --tw-colors-i-purple-300: 126, 34, 206; + --tw-colors-i-purple-400: 147, 51, 234; + --tw-colors-i-purple-500: 168, 85, 247; + --tw-colors-i-purple-600: 192, 132, 252; + --tw-colors-i-purple-700: 216, 180, 254; + --tw-colors-i-purple-800: 233, 213, 255; + --tw-colors-i-purple-900: 243, 232, 255; + --tw-colors-i-purple-950: 250, 245, 255; + --tw-colors-i-fuchsia-50: 74, 4, 78; + --tw-colors-i-fuchsia-100: 112, 26, 117; + --tw-colors-i-fuchsia-200: 134, 25, 143; + --tw-colors-i-fuchsia-300: 162, 28, 175; + --tw-colors-i-fuchsia-400: 192, 38, 211; + --tw-colors-i-fuchsia-500: 217, 70, 239; + --tw-colors-i-fuchsia-600: 232, 121, 249; + --tw-colors-i-fuchsia-700: 240, 171, 252; + --tw-colors-i-fuchsia-800: 245, 208, 254; + --tw-colors-i-fuchsia-900: 250, 232, 255; + --tw-colors-i-fuchsia-950: 253, 244, 255; + --tw-colors-i-pink-50: 80, 7, 36; + --tw-colors-i-pink-100: 131, 24, 67; + --tw-colors-i-pink-200: 157, 23, 77; + --tw-colors-i-pink-300: 190, 24, 93; + --tw-colors-i-pink-400: 219, 39, 119; + --tw-colors-i-pink-500: 236, 72, 153; + --tw-colors-i-pink-600: 244, 114, 182; + --tw-colors-i-pink-700: 249, 168, 212; + --tw-colors-i-pink-800: 251, 207, 232; + --tw-colors-i-pink-900: 252, 231, 243; + --tw-colors-i-pink-950: 253, 242, 248; + --tw-colors-i-rose-50: 76, 5, 25; + --tw-colors-i-rose-100: 136, 19, 55; + --tw-colors-i-rose-200: 159, 18, 57; + --tw-colors-i-rose-300: 190, 18, 60; + --tw-colors-i-rose-400: 225, 29, 72; + --tw-colors-i-rose-500: 244, 63, 94; + --tw-colors-i-rose-600: 251, 113, 133; + --tw-colors-i-rose-700: 253, 164, 175; + --tw-colors-i-rose-800: 254, 205, 211; + --tw-colors-i-rose-900: 255, 228, 230; + --tw-colors-i-rose-950: 255, 241, 242; + } +} + +@media (prefers-color-scheme: light) { + html:not(.dark):not(.light) { + --tw-colors-i-slate-50: 248, 250, 252; + --tw-colors-i-slate-100: 241, 245, 249; + --tw-colors-i-slate-200: 226, 232, 240; + --tw-colors-i-slate-300: 203, 213, 225; + --tw-colors-i-slate-400: 148, 163, 184; + --tw-colors-i-slate-500: 100, 116, 139; + --tw-colors-i-slate-600: 71, 85, 105; + --tw-colors-i-slate-700: 51, 65, 85; + --tw-colors-i-slate-800: 30, 41, 59; + --tw-colors-i-slate-900: 15, 23, 42; + --tw-colors-i-slate-950: 2, 6, 23; + --tw-colors-i-gray-50: 249, 250, 251; + --tw-colors-i-gray-100: 243, 244, 246; + --tw-colors-i-gray-200: 229, 231, 235; + --tw-colors-i-gray-300: 209, 213, 219; + --tw-colors-i-gray-400: 156, 163, 175; + --tw-colors-i-gray-500: 107, 114, 128; + --tw-colors-i-gray-600: 75, 85, 99; + --tw-colors-i-gray-700: 55, 65, 81; + --tw-colors-i-gray-800: 31, 41, 55; + --tw-colors-i-gray-900: 17, 24, 39; + --tw-colors-i-gray-950: 3, 7, 18; + --tw-colors-i-zinc-50: 250, 250, 250; + --tw-colors-i-zinc-100: 244, 244, 245; + --tw-colors-i-zinc-200: 228, 228, 231; + --tw-colors-i-zinc-300: 212, 212, 216; + --tw-colors-i-zinc-400: 161, 161, 170; + --tw-colors-i-zinc-500: 113, 113, 122; + --tw-colors-i-zinc-600: 82, 82, 91; + --tw-colors-i-zinc-700: 63, 63, 70; + --tw-colors-i-zinc-800: 39, 39, 42; + --tw-colors-i-zinc-900: 24, 24, 27; + --tw-colors-i-zinc-950: 9, 9, 11; + --tw-colors-i-neutral-50: 250, 250, 250; + --tw-colors-i-neutral-100: 245, 245, 245; + --tw-colors-i-neutral-200: 229, 229, 229; + --tw-colors-i-neutral-300: 212, 212, 212; + --tw-colors-i-neutral-400: 163, 163, 163; + --tw-colors-i-neutral-500: 115, 115, 115; + --tw-colors-i-neutral-600: 82, 82, 82; + --tw-colors-i-neutral-700: 64, 64, 64; + --tw-colors-i-neutral-800: 38, 38, 38; + --tw-colors-i-neutral-900: 23, 23, 23; + --tw-colors-i-neutral-950: 10, 10, 10; + --tw-colors-i-stone-50: 250, 250, 249; + --tw-colors-i-stone-100: 245, 245, 244; + --tw-colors-i-stone-200: 231, 229, 228; + --tw-colors-i-stone-300: 214, 211, 209; + --tw-colors-i-stone-400: 168, 162, 158; + --tw-colors-i-stone-500: 120, 113, 108; + --tw-colors-i-stone-600: 87, 83, 78; + --tw-colors-i-stone-700: 68, 64, 60; + --tw-colors-i-stone-800: 41, 37, 36; + --tw-colors-i-stone-900: 28, 25, 23; + --tw-colors-i-stone-950: 12, 10, 9; + --tw-colors-i-red-50: 254, 242, 242; + --tw-colors-i-red-100: 254, 226, 226; + --tw-colors-i-red-200: 254, 202, 202; + --tw-colors-i-red-300: 252, 165, 165; + --tw-colors-i-red-400: 248, 113, 113; + --tw-colors-i-red-500: 239, 68, 68; + --tw-colors-i-red-600: 220, 38, 38; + --tw-colors-i-red-700: 185, 28, 28; + --tw-colors-i-red-800: 153, 27, 27; + --tw-colors-i-red-900: 127, 29, 29; + --tw-colors-i-red-950: 69, 10, 10; + --tw-colors-i-orange-50: 255, 247, 237; + --tw-colors-i-orange-100: 255, 237, 213; + --tw-colors-i-orange-200: 254, 215, 170; + --tw-colors-i-orange-300: 253, 186, 116; + --tw-colors-i-orange-400: 251, 146, 60; + --tw-colors-i-orange-500: 249, 115, 22; + --tw-colors-i-orange-600: 234, 88, 12; + --tw-colors-i-orange-700: 194, 65, 12; + --tw-colors-i-orange-800: 154, 52, 18; + --tw-colors-i-orange-900: 124, 45, 18; + --tw-colors-i-orange-950: 67, 20, 7; + --tw-colors-i-amber-50: 255, 251, 235; + --tw-colors-i-amber-100: 254, 243, 199; + --tw-colors-i-amber-200: 253, 230, 138; + --tw-colors-i-amber-300: 252, 211, 77; + --tw-colors-i-amber-400: 251, 191, 36; + --tw-colors-i-amber-500: 245, 158, 11; + --tw-colors-i-amber-600: 217, 119, 6; + --tw-colors-i-amber-700: 180, 83, 9; + --tw-colors-i-amber-800: 146, 64, 14; + --tw-colors-i-amber-900: 120, 53, 15; + --tw-colors-i-amber-950: 69, 26, 3; + --tw-colors-i-yellow-50: 254, 252, 232; + --tw-colors-i-yellow-100: 254, 249, 195; + --tw-colors-i-yellow-200: 254, 240, 138; + --tw-colors-i-yellow-300: 253, 224, 71; + --tw-colors-i-yellow-400: 250, 204, 21; + --tw-colors-i-yellow-500: 234, 179, 8; + --tw-colors-i-yellow-600: 202, 138, 4; + --tw-colors-i-yellow-700: 161, 98, 7; + --tw-colors-i-yellow-800: 133, 77, 14; + --tw-colors-i-yellow-900: 113, 63, 18; + --tw-colors-i-yellow-950: 66, 32, 6; + --tw-colors-i-lime-50: 247, 254, 231; + --tw-colors-i-lime-100: 236, 252, 203; + --tw-colors-i-lime-200: 217, 249, 157; + --tw-colors-i-lime-300: 190, 242, 100; + --tw-colors-i-lime-400: 163, 230, 53; + --tw-colors-i-lime-500: 132, 204, 22; + --tw-colors-i-lime-600: 101, 163, 13; + --tw-colors-i-lime-700: 77, 124, 15; + --tw-colors-i-lime-800: 63, 98, 18; + --tw-colors-i-lime-900: 54, 83, 20; + --tw-colors-i-lime-950: 26, 46, 5; + --tw-colors-i-green-50: 240, 253, 244; + --tw-colors-i-green-100: 220, 252, 231; + --tw-colors-i-green-200: 187, 247, 208; + --tw-colors-i-green-300: 134, 239, 172; + --tw-colors-i-green-400: 74, 222, 128; + --tw-colors-i-green-500: 34, 197, 94; + --tw-colors-i-green-600: 22, 163, 74; + --tw-colors-i-green-700: 21, 128, 61; + --tw-colors-i-green-800: 22, 101, 52; + --tw-colors-i-green-900: 20, 83, 45; + --tw-colors-i-green-950: 5, 46, 22; + --tw-colors-i-emerald-50: 236, 253, 245; + --tw-colors-i-emerald-100: 209, 250, 229; + --tw-colors-i-emerald-200: 167, 243, 208; + --tw-colors-i-emerald-300: 110, 231, 183; + --tw-colors-i-emerald-400: 52, 211, 153; + --tw-colors-i-emerald-500: 16, 185, 129; + --tw-colors-i-emerald-600: 5, 150, 105; + --tw-colors-i-emerald-700: 4, 120, 87; + --tw-colors-i-emerald-800: 6, 95, 70; + --tw-colors-i-emerald-900: 6, 78, 59; + --tw-colors-i-emerald-950: 2, 44, 34; + --tw-colors-i-teal-50: 240, 253, 250; + --tw-colors-i-teal-100: 204, 251, 241; + --tw-colors-i-teal-200: 153, 246, 228; + --tw-colors-i-teal-300: 94, 234, 212; + --tw-colors-i-teal-400: 45, 212, 191; + --tw-colors-i-teal-500: 20, 184, 166; + --tw-colors-i-teal-600: 13, 148, 136; + --tw-colors-i-teal-700: 15, 118, 110; + --tw-colors-i-teal-800: 17, 94, 89; + --tw-colors-i-teal-900: 19, 78, 74; + --tw-colors-i-teal-950: 4, 47, 46; + --tw-colors-i-cyan-50: 236, 254, 255; + --tw-colors-i-cyan-100: 207, 250, 254; + --tw-colors-i-cyan-200: 165, 243, 252; + --tw-colors-i-cyan-300: 103, 232, 249; + --tw-colors-i-cyan-400: 34, 211, 238; + --tw-colors-i-cyan-500: 6, 182, 212; + --tw-colors-i-cyan-600: 8, 145, 178; + --tw-colors-i-cyan-700: 14, 116, 144; + --tw-colors-i-cyan-800: 21, 94, 117; + --tw-colors-i-cyan-900: 22, 78, 99; + --tw-colors-i-cyan-950: 8, 51, 68; + --tw-colors-i-sky-50: 240, 249, 255; + --tw-colors-i-sky-100: 224, 242, 254; + --tw-colors-i-sky-200: 186, 230, 253; + --tw-colors-i-sky-300: 125, 211, 252; + --tw-colors-i-sky-400: 56, 189, 248; + --tw-colors-i-sky-500: 14, 165, 233; + --tw-colors-i-sky-600: 2, 132, 199; + --tw-colors-i-sky-700: 3, 105, 161; + --tw-colors-i-sky-800: 7, 89, 133; + --tw-colors-i-sky-900: 12, 74, 110; + --tw-colors-i-sky-950: 8, 47, 73; + --tw-colors-i-blue-50: 239, 246, 255; + --tw-colors-i-blue-100: 219, 234, 254; + --tw-colors-i-blue-200: 191, 219, 254; + --tw-colors-i-blue-300: 147, 197, 253; + --tw-colors-i-blue-400: 96, 165, 250; + --tw-colors-i-blue-500: 59, 130, 246; + --tw-colors-i-blue-600: 37, 99, 235; + --tw-colors-i-blue-700: 29, 78, 216; + --tw-colors-i-blue-800: 30, 64, 175; + --tw-colors-i-blue-900: 30, 58, 138; + --tw-colors-i-blue-950: 23, 37, 84; + --tw-colors-i-indigo-50: 238, 242, 255; + --tw-colors-i-indigo-100: 224, 231, 255; + --tw-colors-i-indigo-200: 199, 210, 254; + --tw-colors-i-indigo-300: 165, 180, 252; + --tw-colors-i-indigo-400: 129, 140, 248; + --tw-colors-i-indigo-500: 99, 102, 241; + --tw-colors-i-indigo-600: 79, 70, 229; + --tw-colors-i-indigo-700: 67, 56, 202; + --tw-colors-i-indigo-800: 55, 48, 163; + --tw-colors-i-indigo-900: 49, 46, 129; + --tw-colors-i-indigo-950: 30, 27, 75; + --tw-colors-i-violet-50: 245, 243, 255; + --tw-colors-i-violet-100: 237, 233, 254; + --tw-colors-i-violet-200: 221, 214, 254; + --tw-colors-i-violet-300: 196, 181, 253; + --tw-colors-i-violet-400: 167, 139, 250; + --tw-colors-i-violet-500: 139, 92, 246; + --tw-colors-i-violet-600: 124, 58, 237; + --tw-colors-i-violet-700: 109, 40, 217; + --tw-colors-i-violet-800: 91, 33, 182; + --tw-colors-i-violet-900: 76, 29, 149; + --tw-colors-i-violet-950: 46, 16, 101; + --tw-colors-i-purple-50: 250, 245, 255; + --tw-colors-i-purple-100: 243, 232, 255; + --tw-colors-i-purple-200: 233, 213, 255; + --tw-colors-i-purple-300: 216, 180, 254; + --tw-colors-i-purple-400: 192, 132, 252; + --tw-colors-i-purple-500: 168, 85, 247; + --tw-colors-i-purple-600: 147, 51, 234; + --tw-colors-i-purple-700: 126, 34, 206; + --tw-colors-i-purple-800: 107, 33, 168; + --tw-colors-i-purple-900: 88, 28, 135; + --tw-colors-i-purple-950: 59, 7, 100; + --tw-colors-i-fuchsia-50: 253, 244, 255; + --tw-colors-i-fuchsia-100: 250, 232, 255; + --tw-colors-i-fuchsia-200: 245, 208, 254; + --tw-colors-i-fuchsia-300: 240, 171, 252; + --tw-colors-i-fuchsia-400: 232, 121, 249; + --tw-colors-i-fuchsia-500: 217, 70, 239; + --tw-colors-i-fuchsia-600: 192, 38, 211; + --tw-colors-i-fuchsia-700: 162, 28, 175; + --tw-colors-i-fuchsia-800: 134, 25, 143; + --tw-colors-i-fuchsia-900: 112, 26, 117; + --tw-colors-i-fuchsia-950: 74, 4, 78; + --tw-colors-i-pink-50: 253, 242, 248; + --tw-colors-i-pink-100: 252, 231, 243; + --tw-colors-i-pink-200: 251, 207, 232; + --tw-colors-i-pink-300: 249, 168, 212; + --tw-colors-i-pink-400: 244, 114, 182; + --tw-colors-i-pink-500: 236, 72, 153; + --tw-colors-i-pink-600: 219, 39, 119; + --tw-colors-i-pink-700: 190, 24, 93; + --tw-colors-i-pink-800: 157, 23, 77; + --tw-colors-i-pink-900: 131, 24, 67; + --tw-colors-i-pink-950: 80, 7, 36; + --tw-colors-i-rose-50: 255, 241, 242; + --tw-colors-i-rose-100: 255, 228, 230; + --tw-colors-i-rose-200: 254, 205, 211; + --tw-colors-i-rose-300: 253, 164, 175; + --tw-colors-i-rose-400: 251, 113, 133; + --tw-colors-i-rose-500: 244, 63, 94; + --tw-colors-i-rose-600: 225, 29, 72; + --tw-colors-i-rose-700: 190, 18, 60; + --tw-colors-i-rose-800: 159, 18, 57; + --tw-colors-i-rose-900: 136, 19, 55; + --tw-colors-i-rose-950: 76, 5, 25; + } +} diff --git a/src/css/main.css b/src/css/main.css index 43a47fad..c0f35991 100644 --- a/src/css/main.css +++ b/src/css/main.css @@ -3,5 +3,6 @@ @import "./prose.css"; @import "./code.css"; @import "./prism-dark.css"; +@import "./css-var.css"; @import url("https://cdn.jsdelivr.net/npm/katex@0.16.0/dist/katex.min.css"); diff --git a/tailwind.config.js b/tailwind.config.js index f29ade6a..fd8436d8 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,7 +1,10 @@ +const twColors = require("./tw-colors") +const alwaysColor = require("tailwindcss/colors") /** @type {import('tailwindcss').Config} */ module.exports = { content: ["./src/**/*.tsx"], theme: { + colors: twColors, extend: { boxShadow: { modal: `rgb(0 0 0 / 20%) 0px 0px 1px, rgb(0 0 0 / 20%) 0px 20px 40px`, @@ -13,6 +16,9 @@ module.exports = { border: "var(--border-color)", accent: "var(--theme-color)", hover: "var(--hover-color)", + always: { + ...alwaysColor, + }, }, spacing: { sidebar: `240px`, diff --git a/tw-colors.js b/tw-colors.js new file mode 100644 index 00000000..28b21516 --- /dev/null +++ b/tw-colors.js @@ -0,0 +1,288 @@ +export default { + slate: { + 50: "rgba(var(--tw-colors-i-slate-50), )", + 100: "rgba(var(--tw-colors-i-slate-100), )", + 200: "rgba(var(--tw-colors-i-slate-200), )", + 300: "rgba(var(--tw-colors-i-slate-300), )", + 400: "rgba(var(--tw-colors-i-slate-400), )", + 500: "rgba(var(--tw-colors-i-slate-500), )", + 600: "rgba(var(--tw-colors-i-slate-600), )", + 700: "rgba(var(--tw-colors-i-slate-700), )", + 800: "rgba(var(--tw-colors-i-slate-800), )", + 900: "rgba(var(--tw-colors-i-slate-900), )", + 950: "rgba(var(--tw-colors-i-slate-950), )", + }, + gray: { + 50: "rgba(var(--tw-colors-i-gray-50), )", + 100: "rgba(var(--tw-colors-i-gray-100), )", + 200: "rgba(var(--tw-colors-i-gray-200), )", + 300: "rgba(var(--tw-colors-i-gray-300), )", + 400: "rgba(var(--tw-colors-i-gray-400), )", + 500: "rgba(var(--tw-colors-i-gray-500), )", + 600: "rgba(var(--tw-colors-i-gray-600), )", + 700: "rgba(var(--tw-colors-i-gray-700), )", + 800: "rgba(var(--tw-colors-i-gray-800), )", + 900: "rgba(var(--tw-colors-i-gray-900), )", + 950: "rgba(var(--tw-colors-i-gray-950), )", + }, + zinc: { + 50: "rgba(var(--tw-colors-i-zinc-50), )", + 100: "rgba(var(--tw-colors-i-zinc-100), )", + 200: "rgba(var(--tw-colors-i-zinc-200), )", + 300: "rgba(var(--tw-colors-i-zinc-300), )", + 400: "rgba(var(--tw-colors-i-zinc-400), )", + 500: "rgba(var(--tw-colors-i-zinc-500), )", + 600: "rgba(var(--tw-colors-i-zinc-600), )", + 700: "rgba(var(--tw-colors-i-zinc-700), )", + 800: "rgba(var(--tw-colors-i-zinc-800), )", + 900: "rgba(var(--tw-colors-i-zinc-900), )", + 950: "rgba(var(--tw-colors-i-zinc-950), )", + }, + neutral: { + 50: "rgba(var(--tw-colors-i-neutral-50), )", + 100: "rgba(var(--tw-colors-i-neutral-100), )", + 200: "rgba(var(--tw-colors-i-neutral-200), )", + 300: "rgba(var(--tw-colors-i-neutral-300), )", + 400: "rgba(var(--tw-colors-i-neutral-400), )", + 500: "rgba(var(--tw-colors-i-neutral-500), )", + 600: "rgba(var(--tw-colors-i-neutral-600), )", + 700: "rgba(var(--tw-colors-i-neutral-700), )", + 800: "rgba(var(--tw-colors-i-neutral-800), )", + 900: "rgba(var(--tw-colors-i-neutral-900), )", + 950: "rgba(var(--tw-colors-i-neutral-950), )", + }, + stone: { + 50: "rgba(var(--tw-colors-i-stone-50), )", + 100: "rgba(var(--tw-colors-i-stone-100), )", + 200: "rgba(var(--tw-colors-i-stone-200), )", + 300: "rgba(var(--tw-colors-i-stone-300), )", + 400: "rgba(var(--tw-colors-i-stone-400), )", + 500: "rgba(var(--tw-colors-i-stone-500), )", + 600: "rgba(var(--tw-colors-i-stone-600), )", + 700: "rgba(var(--tw-colors-i-stone-700), )", + 800: "rgba(var(--tw-colors-i-stone-800), )", + 900: "rgba(var(--tw-colors-i-stone-900), )", + 950: "rgba(var(--tw-colors-i-stone-950), )", + }, + red: { + 50: "rgba(var(--tw-colors-i-red-50), )", + 100: "rgba(var(--tw-colors-i-red-100), )", + 200: "rgba(var(--tw-colors-i-red-200), )", + 300: "rgba(var(--tw-colors-i-red-300), )", + 400: "rgba(var(--tw-colors-i-red-400), )", + 500: "rgba(var(--tw-colors-i-red-500), )", + 600: "rgba(var(--tw-colors-i-red-600), )", + 700: "rgba(var(--tw-colors-i-red-700), )", + 800: "rgba(var(--tw-colors-i-red-800), )", + 900: "rgba(var(--tw-colors-i-red-900), )", + 950: "rgba(var(--tw-colors-i-red-950), )", + }, + orange: { + 50: "rgba(var(--tw-colors-i-orange-50), )", + 100: "rgba(var(--tw-colors-i-orange-100), )", + 200: "rgba(var(--tw-colors-i-orange-200), )", + 300: "rgba(var(--tw-colors-i-orange-300), )", + 400: "rgba(var(--tw-colors-i-orange-400), )", + 500: "rgba(var(--tw-colors-i-orange-500), )", + 600: "rgba(var(--tw-colors-i-orange-600), )", + 700: "rgba(var(--tw-colors-i-orange-700), )", + 800: "rgba(var(--tw-colors-i-orange-800), )", + 900: "rgba(var(--tw-colors-i-orange-900), )", + 950: "rgba(var(--tw-colors-i-orange-950), )", + }, + amber: { + 50: "rgba(var(--tw-colors-i-amber-50), )", + 100: "rgba(var(--tw-colors-i-amber-100), )", + 200: "rgba(var(--tw-colors-i-amber-200), )", + 300: "rgba(var(--tw-colors-i-amber-300), )", + 400: "rgba(var(--tw-colors-i-amber-400), )", + 500: "rgba(var(--tw-colors-i-amber-500), )", + 600: "rgba(var(--tw-colors-i-amber-600), )", + 700: "rgba(var(--tw-colors-i-amber-700), )", + 800: "rgba(var(--tw-colors-i-amber-800), )", + 900: "rgba(var(--tw-colors-i-amber-900), )", + 950: "rgba(var(--tw-colors-i-amber-950), )", + }, + yellow: { + 50: "rgba(var(--tw-colors-i-yellow-50), )", + 100: "rgba(var(--tw-colors-i-yellow-100), )", + 200: "rgba(var(--tw-colors-i-yellow-200), )", + 300: "rgba(var(--tw-colors-i-yellow-300), )", + 400: "rgba(var(--tw-colors-i-yellow-400), )", + 500: "rgba(var(--tw-colors-i-yellow-500), )", + 600: "rgba(var(--tw-colors-i-yellow-600), )", + 700: "rgba(var(--tw-colors-i-yellow-700), )", + 800: "rgba(var(--tw-colors-i-yellow-800), )", + 900: "rgba(var(--tw-colors-i-yellow-900), )", + 950: "rgba(var(--tw-colors-i-yellow-950), )", + }, + lime: { + 50: "rgba(var(--tw-colors-i-lime-50), )", + 100: "rgba(var(--tw-colors-i-lime-100), )", + 200: "rgba(var(--tw-colors-i-lime-200), )", + 300: "rgba(var(--tw-colors-i-lime-300), )", + 400: "rgba(var(--tw-colors-i-lime-400), )", + 500: "rgba(var(--tw-colors-i-lime-500), )", + 600: "rgba(var(--tw-colors-i-lime-600), )", + 700: "rgba(var(--tw-colors-i-lime-700), )", + 800: "rgba(var(--tw-colors-i-lime-800), )", + 900: "rgba(var(--tw-colors-i-lime-900), )", + 950: "rgba(var(--tw-colors-i-lime-950), )", + }, + green: { + 50: "rgba(var(--tw-colors-i-green-50), )", + 100: "rgba(var(--tw-colors-i-green-100), )", + 200: "rgba(var(--tw-colors-i-green-200), )", + 300: "rgba(var(--tw-colors-i-green-300), )", + 400: "rgba(var(--tw-colors-i-green-400), )", + 500: "rgba(var(--tw-colors-i-green-500), )", + 600: "rgba(var(--tw-colors-i-green-600), )", + 700: "rgba(var(--tw-colors-i-green-700), )", + 800: "rgba(var(--tw-colors-i-green-800), )", + 900: "rgba(var(--tw-colors-i-green-900), )", + 950: "rgba(var(--tw-colors-i-green-950), )", + }, + emerald: { + 50: "rgba(var(--tw-colors-i-emerald-50), )", + 100: "rgba(var(--tw-colors-i-emerald-100), )", + 200: "rgba(var(--tw-colors-i-emerald-200), )", + 300: "rgba(var(--tw-colors-i-emerald-300), )", + 400: "rgba(var(--tw-colors-i-emerald-400), )", + 500: "rgba(var(--tw-colors-i-emerald-500), )", + 600: "rgba(var(--tw-colors-i-emerald-600), )", + 700: "rgba(var(--tw-colors-i-emerald-700), )", + 800: "rgba(var(--tw-colors-i-emerald-800), )", + 900: "rgba(var(--tw-colors-i-emerald-900), )", + 950: "rgba(var(--tw-colors-i-emerald-950), )", + }, + teal: { + 50: "rgba(var(--tw-colors-i-teal-50), )", + 100: "rgba(var(--tw-colors-i-teal-100), )", + 200: "rgba(var(--tw-colors-i-teal-200), )", + 300: "rgba(var(--tw-colors-i-teal-300), )", + 400: "rgba(var(--tw-colors-i-teal-400), )", + 500: "rgba(var(--tw-colors-i-teal-500), )", + 600: "rgba(var(--tw-colors-i-teal-600), )", + 700: "rgba(var(--tw-colors-i-teal-700), )", + 800: "rgba(var(--tw-colors-i-teal-800), )", + 900: "rgba(var(--tw-colors-i-teal-900), )", + 950: "rgba(var(--tw-colors-i-teal-950), )", + }, + cyan: { + 50: "rgba(var(--tw-colors-i-cyan-50), )", + 100: "rgba(var(--tw-colors-i-cyan-100), )", + 200: "rgba(var(--tw-colors-i-cyan-200), )", + 300: "rgba(var(--tw-colors-i-cyan-300), )", + 400: "rgba(var(--tw-colors-i-cyan-400), )", + 500: "rgba(var(--tw-colors-i-cyan-500), )", + 600: "rgba(var(--tw-colors-i-cyan-600), )", + 700: "rgba(var(--tw-colors-i-cyan-700), )", + 800: "rgba(var(--tw-colors-i-cyan-800), )", + 900: "rgba(var(--tw-colors-i-cyan-900), )", + 950: "rgba(var(--tw-colors-i-cyan-950), )", + }, + sky: { + 50: "rgba(var(--tw-colors-i-sky-50), )", + 100: "rgba(var(--tw-colors-i-sky-100), )", + 200: "rgba(var(--tw-colors-i-sky-200), )", + 300: "rgba(var(--tw-colors-i-sky-300), )", + 400: "rgba(var(--tw-colors-i-sky-400), )", + 500: "rgba(var(--tw-colors-i-sky-500), )", + 600: "rgba(var(--tw-colors-i-sky-600), )", + 700: "rgba(var(--tw-colors-i-sky-700), )", + 800: "rgba(var(--tw-colors-i-sky-800), )", + 900: "rgba(var(--tw-colors-i-sky-900), )", + 950: "rgba(var(--tw-colors-i-sky-950), )", + }, + blue: { + 50: "rgba(var(--tw-colors-i-blue-50), )", + 100: "rgba(var(--tw-colors-i-blue-100), )", + 200: "rgba(var(--tw-colors-i-blue-200), )", + 300: "rgba(var(--tw-colors-i-blue-300), )", + 400: "rgba(var(--tw-colors-i-blue-400), )", + 500: "rgba(var(--tw-colors-i-blue-500), )", + 600: "rgba(var(--tw-colors-i-blue-600), )", + 700: "rgba(var(--tw-colors-i-blue-700), )", + 800: "rgba(var(--tw-colors-i-blue-800), )", + 900: "rgba(var(--tw-colors-i-blue-900), )", + 950: "rgba(var(--tw-colors-i-blue-950), )", + }, + indigo: { + 50: "rgba(var(--tw-colors-i-indigo-50), )", + 100: "rgba(var(--tw-colors-i-indigo-100), )", + 200: "rgba(var(--tw-colors-i-indigo-200), )", + 300: "rgba(var(--tw-colors-i-indigo-300), )", + 400: "rgba(var(--tw-colors-i-indigo-400), )", + 500: "rgba(var(--tw-colors-i-indigo-500), )", + 600: "rgba(var(--tw-colors-i-indigo-600), )", + 700: "rgba(var(--tw-colors-i-indigo-700), )", + 800: "rgba(var(--tw-colors-i-indigo-800), )", + 900: "rgba(var(--tw-colors-i-indigo-900), )", + 950: "rgba(var(--tw-colors-i-indigo-950), )", + }, + violet: { + 50: "rgba(var(--tw-colors-i-violet-50), )", + 100: "rgba(var(--tw-colors-i-violet-100), )", + 200: "rgba(var(--tw-colors-i-violet-200), )", + 300: "rgba(var(--tw-colors-i-violet-300), )", + 400: "rgba(var(--tw-colors-i-violet-400), )", + 500: "rgba(var(--tw-colors-i-violet-500), )", + 600: "rgba(var(--tw-colors-i-violet-600), )", + 700: "rgba(var(--tw-colors-i-violet-700), )", + 800: "rgba(var(--tw-colors-i-violet-800), )", + 900: "rgba(var(--tw-colors-i-violet-900), )", + 950: "rgba(var(--tw-colors-i-violet-950), )", + }, + purple: { + 50: "rgba(var(--tw-colors-i-purple-50), )", + 100: "rgba(var(--tw-colors-i-purple-100), )", + 200: "rgba(var(--tw-colors-i-purple-200), )", + 300: "rgba(var(--tw-colors-i-purple-300), )", + 400: "rgba(var(--tw-colors-i-purple-400), )", + 500: "rgba(var(--tw-colors-i-purple-500), )", + 600: "rgba(var(--tw-colors-i-purple-600), )", + 700: "rgba(var(--tw-colors-i-purple-700), )", + 800: "rgba(var(--tw-colors-i-purple-800), )", + 900: "rgba(var(--tw-colors-i-purple-900), )", + 950: "rgba(var(--tw-colors-i-purple-950), )", + }, + fuchsia: { + 50: "rgba(var(--tw-colors-i-fuchsia-50), )", + 100: "rgba(var(--tw-colors-i-fuchsia-100), )", + 200: "rgba(var(--tw-colors-i-fuchsia-200), )", + 300: "rgba(var(--tw-colors-i-fuchsia-300), )", + 400: "rgba(var(--tw-colors-i-fuchsia-400), )", + 500: "rgba(var(--tw-colors-i-fuchsia-500), )", + 600: "rgba(var(--tw-colors-i-fuchsia-600), )", + 700: "rgba(var(--tw-colors-i-fuchsia-700), )", + 800: "rgba(var(--tw-colors-i-fuchsia-800), )", + 900: "rgba(var(--tw-colors-i-fuchsia-900), )", + 950: "rgba(var(--tw-colors-i-fuchsia-950), )", + }, + pink: { + 50: "rgba(var(--tw-colors-i-pink-50), )", + 100: "rgba(var(--tw-colors-i-pink-100), )", + 200: "rgba(var(--tw-colors-i-pink-200), )", + 300: "rgba(var(--tw-colors-i-pink-300), )", + 400: "rgba(var(--tw-colors-i-pink-400), )", + 500: "rgba(var(--tw-colors-i-pink-500), )", + 600: "rgba(var(--tw-colors-i-pink-600), )", + 700: "rgba(var(--tw-colors-i-pink-700), )", + 800: "rgba(var(--tw-colors-i-pink-800), )", + 900: "rgba(var(--tw-colors-i-pink-900), )", + 950: "rgba(var(--tw-colors-i-pink-950), )", + }, + rose: { + 50: "rgba(var(--tw-colors-i-rose-50), )", + 100: "rgba(var(--tw-colors-i-rose-100), )", + 200: "rgba(var(--tw-colors-i-rose-200), )", + 300: "rgba(var(--tw-colors-i-rose-300), )", + 400: "rgba(var(--tw-colors-i-rose-400), )", + 500: "rgba(var(--tw-colors-i-rose-500), )", + 600: "rgba(var(--tw-colors-i-rose-600), )", + 700: "rgba(var(--tw-colors-i-rose-700), )", + 800: "rgba(var(--tw-colors-i-rose-800), )", + 900: "rgba(var(--tw-colors-i-rose-900), )", + 950: "rgba(var(--tw-colors-i-rose-950), )", + }, +} From 8d63bf8a870379f9b40fbe61d62d5a7e584879ba Mon Sep 17 00:00:00 2001 From: Innei Date: Tue, 11 Apr 2023 22:35:07 +0800 Subject: [PATCH 02/16] feat: codemirror theme Signed-off-by: Innei --- package.json | 5 +- pnpm-lock.yaml | 923 +++++++++------------ scripts/tw/generate-css-var.js | 4 +- scripts/tw/transform.js | 8 +- src/components/site/SiteLayout.tsx | 22 +- src/components/ui/Editor.tsx | 15 +- src/css/css-var.css | 14 +- src/css/tailwind.css | 2 +- src/hooks/useCodemirrorTheme.ts | 33 + src/hooks/useDarkMode.ts | 157 ++++ src/pages/_app.tsx | 1 + src/pages/dashboard/[subdomain]/editor.tsx | 2 +- tw-colors.js | 5 + 13 files changed, 638 insertions(+), 553 deletions(-) create mode 100644 src/hooks/useCodemirrorTheme.ts create mode 100644 src/hooks/useDarkMode.ts diff --git a/package.json b/package.json index 6ddd7e83..5a16fac3 100644 --- a/package.json +++ b/package.json @@ -29,6 +29,7 @@ "@codemirror/language": "6.6.0", "@codemirror/state": "6.2.0", "@codemirror/view": "6.9.4", + "@codemirror/theme-one-dark": "6.1.1", "@crossbell/connect-kit": "0.0.63", "@crossbell/contract": "0.0.63", "@crossbell/indexer": "0.0.63", @@ -36,6 +37,7 @@ "@crossbell/ui": "0.0.63", "@crossbell/util-hooks": "0.0.63", "@dqbd/tiktoken": "^1.0.4", + "@ddietr/codemirror-themes": "1.4.0", "@emoji-mart/data": "1.1.2", "@emoji-mart/react": "1.1.1", "@floating-ui/react": "^0.23.0", @@ -116,7 +118,8 @@ "unist-util-visit": "4.1.2", "use-onclickoutside": "0.4.1", "uuid": "9.0.0", - "wagmi": "0.12.10" + "wagmi": "0.12.10", + "zustand": "4.3.7" }, "devDependencies": { "@next/bundle-analyzer": "13.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 243e0f37..12b9235f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,30 +13,36 @@ dependencies: '@codemirror/state': specifier: 6.2.0 version: 6.2.0 + '@codemirror/theme-one-dark': + specifier: 6.1.1 + version: 6.1.1 '@codemirror/view': specifier: 6.9.4 version: 6.9.4 '@crossbell/connect-kit': specifier: 0.0.63 - version: 0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + version: 0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/contract': specifier: 0.0.63 - version: 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + version: 0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) '@crossbell/indexer': specifier: 0.0.63 - version: 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + version: 0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) '@crossbell/notification': specifier: 0.0.63 - version: 0.0.63(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + version: 0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/ui': specifier: 0.0.63 - version: 0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + version: 0.0.63(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/util-hooks': specifier: 0.0.63 version: 0.0.63(react-dom@18.2.0)(react@18.2.0) + '@ddietr/codemirror-themes': + specifier: 1.4.0 + version: 1.4.0 '@dqbd/tiktoken': specifier: ^1.0.4 - version: 1.0.4 + version: 1.0.6 '@emoji-mart/data': specifier: 1.1.2 version: 1.1.2 @@ -57,10 +63,10 @@ dependencies: version: 1.1.5 '@mantine/core': specifier: ^6.0.7 - version: 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + version: 6.0.7(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) '@monaco-editor/react': specifier: 4.5.0 - version: 4.5.0(monaco-editor@0.37.1)(react-dom@18.2.0)(react@18.2.0) + version: 4.5.0(react-dom@18.2.0)(react@18.2.0) '@prisma/client': specifier: ^4.12.0 version: 4.12.0(prisma@4.12.0) @@ -78,10 +84,10 @@ dependencies: version: 4.19.16(@codemirror/view@6.9.4) '@uiw/react-codemirror': specifier: 4.19.16 - version: 4.19.16(@babel/runtime@7.21.0)(@codemirror/autocomplete@6.4.2)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.0)(@codemirror/search@6.3.0)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.1)(@codemirror/view@6.9.4)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0) + version: 4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.1)(@codemirror/view@6.9.4)(react-dom@18.2.0)(react@18.2.0) '@urql/core': specifier: 4.0.4 - version: 4.0.4(graphql@16.6.0) + version: 4.0.4 axios: specifier: 1.3.5 version: 1.3.5 @@ -147,7 +153,7 @@ dependencies: version: 4.0.2 next: specifier: 13.2.4 - version: 13.2.4(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) + version: 13.2.4(react-dom@18.2.0)(react@18.2.0) next-i18next: specifier: ^13.2.2 version: 13.2.2(i18next@22.4.14)(next@13.2.4)(react-i18next@12.2.0)(react@18.2.0) @@ -171,7 +177,7 @@ dependencies: version: 7.43.9(react@18.2.0) react-hot-toast: specifier: 2.4.0 - version: 2.4.0(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0) + version: 2.4.0(react-dom@18.2.0)(react@18.2.0) react-i18next: specifier: ^12.2.0 version: 12.2.0(i18next@22.4.14)(react-dom@18.2.0)(react@18.2.0) @@ -279,7 +285,10 @@ dependencies: version: 9.0.0 wagmi: specifier: 0.12.10 - version: 0.12.10(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + version: 0.12.10(@types/node@18.15.11)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + zustand: + specifier: 4.3.7 + version: 4.3.7(immer@9.0.21)(react@18.2.0) devDependencies: '@next/bundle-analyzer': @@ -335,19 +344,19 @@ devDependencies: version: 9.0.1 '@unocss/cli': specifier: 0.51.4 - version: 0.51.4(rollup@2.79.1) + version: 0.51.4 '@unocss/preset-icons': specifier: 0.51.4 version: 0.51.4 '@vitejs/plugin-react': specifier: 3.1.0 - version: 3.1.0(vite@4.2.1) + version: 3.1.0 autoprefixer: specifier: 10.4.14 - version: 10.4.14(postcss@8.4.21) + version: 10.4.14 babel-loader: specifier: ^9.1.2 - version: 9.1.2(@babel/core@7.21.4)(webpack@5.78.0) + version: 9.1.2 cross-spawn: specifier: 7.0.3 version: 7.0.3 @@ -371,10 +380,10 @@ devDependencies: version: 13.2.1 next-pwa: specifier: ^5.6.0 - version: 5.6.0(@babel/core@7.21.4)(esbuild@0.17.16)(next@13.2.4)(webpack@5.78.0) + version: 5.6.0(esbuild@0.17.16)(next@13.2.4) postcss-import: specifier: 15.1.0 - version: 15.1.0(postcss@8.4.21) + version: 15.1.0 prettier: specifier: 2.8.7 version: 2.8.7 @@ -383,19 +392,28 @@ devDependencies: version: 4.12.0 tailwindcss: specifier: 3.3.1 - version: 3.3.1(postcss@8.4.21) + version: 3.3.1 typescript: specifier: 5.0.4 version: 5.0.4 unocss: specifier: 0.51.4 - version: 0.51.4(postcss@8.4.21)(rollup@2.79.1)(vite@4.2.1) + version: 0.51.4 vitest: specifier: 0.30.1 version: 0.30.1 packages: + /@0no-co/graphql.web@1.0.0: + resolution: {integrity: sha512-JBq2pWyDchE1vVjj/+c4dzZ8stbpew4RrzpZ3vYdn1WJFGHfYg6YIX1fDdMKtSXJJM9FUlsoDOxemr9WMM2p+A==} + peerDependencies: + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + peerDependenciesMeta: + graphql: + optional: true + dev: false + /@0no-co/graphql.web@1.0.0(graphql@16.6.0): resolution: {integrity: sha512-JBq2pWyDchE1vVjj/+c4dzZ8stbpew4RrzpZ3vYdn1WJFGHfYg6YIX1fDdMKtSXJJM9FUlsoDOxemr9WMM2p+A==} peerDependencies: @@ -411,8 +429,9 @@ packages: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} engines: {node: '>=6.0.0'} dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 + '@jridgewell/gen-mapping': 0.3.2 + '@jridgewell/trace-mapping': 0.3.17 + dev: true /@antfu/install-pkg@0.1.1: resolution: {integrity: sha512-LyB/8+bSfa0DFGC06zpCEfs89/XoWZwws5ygEa5D+Xsm3OfI+aXQ86VgVG7Acyef+rSZ5HE7J8rrxzrQeM3PjQ==} @@ -456,6 +475,11 @@ packages: dependencies: '@babel/highlight': 7.18.6 + /@babel/compat-data@7.20.10: + resolution: {integrity: sha512-sEnuDPpOJR/fcafHMjpcpGN5M2jbUGUHwmuWKM/YdPzeEDJg8bgmbcWQFUfE32MQjti1koACvoPVsDe8Uq+idg==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/compat-data@7.21.4: resolution: {integrity: sha512-/DYyDpeCfaVinT40FPGdkkb+lYSKvsVuMjDAG7jPOWWiM1ibOaB9CXJAlc4d1QpP/U2q2P9jbrSlClKSErd55g==} engines: {node: '>=6.9.0'} @@ -475,12 +499,13 @@ packages: '@babel/traverse': 7.21.4 '@babel/types': 7.21.4 convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.0 transitivePeerDependencies: - supports-color + dev: true /@babel/generator@7.21.4: resolution: {integrity: sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==} @@ -490,6 +515,7 @@ packages: '@jridgewell/gen-mapping': 0.3.2 '@jridgewell/trace-mapping': 0.3.17 jsesc: 2.5.2 + dev: true /@babel/helper-annotate-as-pure@7.18.6: resolution: {integrity: sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==} @@ -506,6 +532,19 @@ packages: '@babel/types': 7.21.4 dev: true + /@babel/helper-compilation-targets@7.21.4: + resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} + engines: {node: '>=6.9.0'} + peerDependencies: + '@babel/core': ^7.0.0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/helper-validator-option': 7.21.0 + browserslist: 4.21.5 + lru-cache: 5.1.1 + semver: 6.3.0 + dev: false + /@babel/helper-compilation-targets@7.21.4(@babel/core@7.21.4): resolution: {integrity: sha512-Fa0tTuOXZ1iL8IeDFUWCzjZcn+sJGd9RZdH9esYVjEejGmzf+FFYQpMi/kZUk2kPy/q1H3/GPw7np8qar/stfg==} engines: {node: '>=6.9.0'} @@ -518,6 +557,7 @@ packages: browserslist: 4.21.5 lru-cache: 5.1.1 semver: 6.3.0 + dev: true /@babel/helper-create-class-features-plugin@7.20.12(@babel/core@7.21.4): resolution: {integrity: sha512-9OunRkbT0JQcednL0UFvbfXpAsUXiGjUk0a7sN8fUXX7Mue79cUSMjHGDRRi/Vz9vYlpIhLV5fMD5dKoMhhsNQ==} @@ -549,6 +589,21 @@ packages: regexpu-core: 5.2.2 dev: true + /@babel/helper-define-polyfill-provider@0.3.3: + resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} + peerDependencies: + '@babel/core': ^7.4.0-0 + dependencies: + '@babel/helper-compilation-targets': 7.21.4 + '@babel/helper-plugin-utils': 7.20.2 + debug: 4.3.4 + lodash.debounce: 4.0.8 + resolve: 1.22.2 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: false + /@babel/helper-define-polyfill-provider@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==} peerDependencies: @@ -557,16 +612,18 @@ packages: '@babel/core': 7.21.4 '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 lodash.debounce: 4.0.8 resolve: 1.22.2 semver: 6.3.0 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-environment-visitor@7.18.9: resolution: {integrity: sha512-3r/aACDJ3fhQ/EVgFy0hpj8oHyHpQc+LPtJoY9SzTThAsStm4Ptegq92vqKoE3vD706ZVFWITnMnxucw+S9Ipg==} engines: {node: '>=6.9.0'} + dev: true /@babel/helper-explode-assignable-expression@7.18.6: resolution: {integrity: sha512-eyAYAsQmB80jNfg4baAtLeWAQHfHFiR483rzFK+BhETlGZaQC9bsfrugfXDCbRHLQbIA7U5NxhhOxN7p/dWIcg==} @@ -581,12 +638,14 @@ packages: dependencies: '@babel/template': 7.20.7 '@babel/types': 7.21.4 + dev: true /@babel/helper-hoist-variables@7.18.6: resolution: {integrity: sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==} engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.4 + dev: true /@babel/helper-member-expression-to-functions@7.20.7: resolution: {integrity: sha512-9J0CxJLq315fEdi4s7xK5TQaNYjZw+nDVpVqr1axNGKzdrdwYBD5b4uKv3n75aABG0rCCTK8Im8Ww7eYfMrZgw==} @@ -615,6 +674,7 @@ packages: '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color + dev: true /@babel/helper-optimise-call-expression@7.18.6: resolution: {integrity: sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==} @@ -661,6 +721,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.4 + dev: true /@babel/helper-skip-transparent-expression-wrappers@7.20.0: resolution: {integrity: sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==} @@ -674,6 +735,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/types': 7.21.4 + dev: true /@babel/helper-string-parser@7.19.4: resolution: {integrity: sha512-nHtDoQcuqFmwYNYPz3Rah5ph2p8PFeFCsZk9A/48dPc/rGocJ5J3hAAZ7pb76VWX3fZKu+uEr/FhH5jLx7umrw==} @@ -683,6 +745,11 @@ packages: resolution: {integrity: sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==} engines: {node: '>=6.9.0'} + /@babel/helper-validator-option@7.18.6: + resolution: {integrity: sha512-XO7gESt5ouv/LRJdrVjkShckw6STTaB7l9BrpBaAHDeF5YZT+01PCwmR0SJHnkW6i8OwW/EVWRShfi4j2x+KQw==} + engines: {node: '>=6.9.0'} + dev: true + /@babel/helper-validator-option@7.21.0: resolution: {integrity: sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==} engines: {node: '>=6.9.0'} @@ -708,6 +775,7 @@ packages: '@babel/types': 7.21.4 transitivePeerDependencies: - supports-color + dev: true /@babel/highlight@7.18.6: resolution: {integrity: sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==} @@ -723,6 +791,7 @@ packages: hasBin: true dependencies: '@babel/types': 7.21.4 + dev: true /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.18.6(@babel/core@7.21.4): resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} @@ -1378,18 +1447,17 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-runtime@7.21.4(@babel/core@7.21.4): + /@babel/plugin-transform-runtime@7.21.4: resolution: {integrity: sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/core': 7.21.4 '@babel/helper-module-imports': 7.21.4 '@babel/helper-plugin-utils': 7.20.2 - babel-plugin-polyfill-corejs2: 0.3.3(@babel/core@7.21.4) - babel-plugin-polyfill-corejs3: 0.6.0(@babel/core@7.21.4) - babel-plugin-polyfill-regenerator: 0.4.1(@babel/core@7.21.4) + babel-plugin-polyfill-corejs2: 0.3.3 + babel-plugin-polyfill-corejs3: 0.6.0 + babel-plugin-polyfill-regenerator: 0.4.1 semver: 6.3.0 transitivePeerDependencies: - supports-color @@ -1473,11 +1541,11 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 dependencies: - '@babel/compat-data': 7.21.4 + '@babel/compat-data': 7.20.10 '@babel/core': 7.21.4 '@babel/helper-compilation-targets': 7.21.4(@babel/core@7.21.4) '@babel/helper-plugin-utils': 7.20.2 - '@babel/helper-validator-option': 7.21.0 + '@babel/helper-validator-option': 7.18.6 '@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression': 7.18.6(@babel/core@7.21.4) '@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining': 7.20.7(@babel/core@7.21.4) '@babel/plugin-proposal-async-generator-functions': 7.20.7(@babel/core@7.21.4) @@ -1579,6 +1647,7 @@ packages: '@babel/code-frame': 7.21.4 '@babel/parser': 7.21.4 '@babel/types': 7.21.4 + dev: true /@babel/traverse@7.21.4: resolution: {integrity: sha512-eyKrRHKdyZxqDm+fV1iqL9UAHMoIg0nDaGqfIOd8rKH17m5snv7Gn4qgjBoFfLz9APvjFU/ICT00NVCv1Epp8Q==} @@ -1592,10 +1661,11 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/parser': 7.21.4 '@babel/types': 7.21.4 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 globals: 11.12.0 transitivePeerDependencies: - supports-color + dev: true /@babel/types@7.21.4: resolution: {integrity: sha512-rU2oY501qDxE8Pyo7i/Orqma4ziCOrby0/9mvbDUGEfvZjb279Nk9k19e2fiCxHbRRpY2ZyrgW1eq22mvmOIzA==} @@ -1611,6 +1681,19 @@ packages: existy: 1.0.1 dev: false + /@codemirror/autocomplete@6.4.2(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4): + resolution: {integrity: sha512-8WE2xp+D0MpWEv5lZ6zPW1/tf4AGb358T5GWYiKEuCP8MvFfT3tH2mIF9Y2yr2e3KbHuSvsVhosiEyqCpiJhZQ==} + peerDependencies: + '@codemirror/language': ^6.0.0 + '@codemirror/state': ^6.0.0 + '@codemirror/view': ^6.0.0 + '@lezer/common': ^1.0.0 + dependencies: + '@codemirror/language': 6.6.0 + '@codemirror/state': 6.2.0 + '@codemirror/view': 6.9.4 + dev: false + /@codemirror/autocomplete@6.4.2(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4)(@lezer/common@1.0.2): resolution: {integrity: sha512-8WE2xp+D0MpWEv5lZ6zPW1/tf4AGb358T5GWYiKEuCP8MvFfT3tH2mIF9Y2yr2e3KbHuSvsVhosiEyqCpiJhZQ==} peerDependencies: @@ -1739,7 +1822,7 @@ packages: w3c-keyname: 2.2.6 dev: false - /@coinbase/wallet-sdk@3.6.5(@babel/core@7.21.4): + /@coinbase/wallet-sdk@3.6.5: resolution: {integrity: sha512-8F91dvvC/+CTpaNTr+FgpLMa2YxjpXpE9pdnGewMoYi41ISbiXZado5VjYo9QSZlS+myzfKvDGpTzLFFUXPfDg==} engines: {node: '>= 10.0.0'} dependencies: @@ -1749,7 +1832,7 @@ packages: bn.js: 5.2.1 buffer: 6.0.3 clsx: 1.2.1 - eth-block-tracker: 4.4.3(@babel/core@7.21.4) + eth-block-tracker: 4.4.3 eth-json-rpc-filters: 5.1.0 eth-rpc-errors: 4.0.2 json-rpc-engine: 6.1.0 @@ -1768,23 +1851,23 @@ packages: - utf-8-validate dev: false - /@crossbell/connect-kit@0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): + /@crossbell/connect-kit@0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): resolution: {integrity: sha512-fZ1/twjdkbF3uF7bPStP32zpCSOpRl75gX2meLDL1H0arbypeBOAhqZNnuXG/iceSPdCAd81bh9jg5UAK1tVAg==} peerDependencies: '@tanstack/react-query': ^4 ethers: ^5 wagmi: ^0.12 dependencies: - '@crossbell/contract': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/ui': 0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + '@crossbell/contract': 0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/indexer': 0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/ui': 0.0.63(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/util-ethers': 0.0.63 '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) '@crossbell/util-metadata': 0.0.63 '@emotion/react': 11.10.6(@types/react@18.0.34)(react@18.2.0) - '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 6.0.7(react@18.2.0) - '@mantine/notifications': 6.0.7(@mantine/core@6.0.7)(@mantine/hooks@6.0.7)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.6)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 6.0.6(react@18.2.0) + '@mantine/notifications': 6.0.5(@mantine/core@6.0.7)(@mantine/hooks@6.0.6)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) canvas-confetti: 1.6.0 check-password-strength: 2.0.7 @@ -1792,7 +1875,6 @@ packages: crossbell.js: 0.19.7 detect-browser: 5.3.0 embla-carousel-react: 7.1.0(react@18.2.0) - ethers: 5.7.2 immer: 9.0.21 lodash.debounce: 4.0.8 qrcode: 1.5.1 @@ -1801,7 +1883,7 @@ packages: react-google-recaptcha: 2.1.0(react@18.2.0) rxjs: 7.8.0 ts-essentials: 9.3.1(typescript@5.0.4) - wagmi: 0.12.10(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + wagmi: 0.12.10(@types/node@18.15.11)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) zustand: 4.3.7(immer@9.0.21)(react@18.2.0) transitivePeerDependencies: - '@types/react' @@ -1813,19 +1895,18 @@ packages: - utf-8-validate dev: false - /@crossbell/contract@0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): + /@crossbell/contract@0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): resolution: {integrity: sha512-yzNYtfLUc/BUp3U0xsqAp/h+nWJ+rGo80jyLEYFIkYLWYYFFj1qJ5o97XV8IzZ9ENJnH8EipDxxkLnrchV0KMA==} peerDependencies: ethers: ^5 react: ^18 wagmi: ^0.12 dependencies: - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/indexer': 0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) crossbell.js: 0.19.7 - ethers: 5.7.2 react: 18.2.0 - wagmi: 0.12.10(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + wagmi: 0.12.10(@types/node@18.15.11)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) transitivePeerDependencies: - bufferutil - react-dom @@ -1834,7 +1915,7 @@ packages: - utf-8-validate dev: false - /@crossbell/indexer@0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): + /@crossbell/indexer@0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): resolution: {integrity: sha512-beN6iH6en+nb7HFDu0rle7zlGCIg7xrDcz6OZ9S8JsPcUHJEx05LAE442LTFGkZblec0iFFdgdjQQItsvAVxNg==} peerDependencies: ethers: ^5 @@ -1843,10 +1924,9 @@ packages: '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) crossbell.js: 0.19.7 dayjs: 1.11.7 - ethers: 5.7.2 lodash.compact: 3.0.1 lru-cache: 8.0.4 - wagmi: 0.12.10(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + wagmi: 0.12.10(@types/node@18.15.11)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) transitivePeerDependencies: - bufferutil - react @@ -1860,7 +1940,7 @@ packages: resolution: {integrity: sha512-AYGDrwiSKqCGNDi0mEPP1k+96loWik+Pd40xH0MzRNM4RtCutPbwm4o+Sj5iWu0tlHoQC2bTs1XcufsLiv+WYw==} dev: false - /@crossbell/notification@0.0.63(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): + /@crossbell/notification@0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): resolution: {integrity: sha512-xKdUC6PfBUgxxDbpVvrqS+so6H+ax0FW0fxYp02V7daYUV5Ff/nbKHKd50dVe+49Qd2Y+uZF8/GVao3jAlaEew==} peerDependencies: '@tanstack/react-query': ^4 @@ -1868,19 +1948,18 @@ packages: react: ^18 wagmi: ^0.12 dependencies: - '@crossbell/connect-kit': 0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/ui': 0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + '@crossbell/connect-kit': 0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + '@crossbell/indexer': 0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/ui': 0.0.63(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) '@crossbell/util-metadata': 0.0.63 - '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.7(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 dayjs: 1.11.7 - ethers: 5.7.2 react: 18.2.0 react-intersection-observer: 9.4.3(react@18.2.0) - wagmi: 0.12.10(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + wagmi: 0.12.10(@types/node@18.15.11)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) zustand: 4.3.7(immer@9.0.21)(react@18.2.0) transitivePeerDependencies: - '@emotion/react' @@ -1895,13 +1974,13 @@ packages: - utf-8-validate dev: false - /@crossbell/ui@0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): + /@crossbell/ui@0.0.63(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): resolution: {integrity: sha512-+JRqJVw2nCvMjmpdS/SrV3WzvCPXlOWWboqLtn0R24ps4oFltbsw048nrAyTQeVIn2zEXbVgsKqAGU/ORFlLeA==} peerDependencies: react: ^18 react-dom: ^18 dependencies: - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/indexer': 0.0.63(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) '@crossbell/util-metadata': 0.0.63 '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) @@ -1964,8 +2043,17 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@dqbd/tiktoken@1.0.4: - resolution: {integrity: sha512-C0HrJj2RNlsB3wslfNHGNH8xN7QQMki+y4JkUor/GE+oIfPvH7yVep9l1/2powam8AAH6+gdv5MggA5gsszweg==} + /@ddietr/codemirror-themes@1.4.0: + resolution: {integrity: sha512-FPEHcpK3FusL5cDxZk8rgw89Y2VR1BtUEhClsDE11VwusHONjWTctrPxj1zlRWiP8aujCV0PHUYyTqDErL1C/g==} + dependencies: + '@codemirror/language': 6.6.0 + '@codemirror/state': 6.2.0 + '@codemirror/view': 6.9.4 + '@lezer/highlight': 1.1.4 + dev: false + + /@dqbd/tiktoken@1.0.6: + resolution: {integrity: sha512-umSdeZTy/SbPPKVuZKV/XKyFPmXSN145CcM3iHjBbmhlohBJg7vaDp4cPCW+xNlWL6L2U1sp7T2BD+di2sUKdA==} dev: false /@emoji-mart/data@1.1.2: @@ -1998,8 +2086,8 @@ packages: stylis: 4.1.3 dev: false - /@emotion/cache@11.10.7: - resolution: {integrity: sha512-VLl1/2D6LOjH57Y8Vem1RoZ9haWF4jesHDGiHtKozDQuBIkJm2gimVo0I02sWCuzZtVACeixTVB4jeE8qvCBoQ==} + /@emotion/cache@11.10.5: + resolution: {integrity: sha512-dGYHWyzTdmK+f2+EnIGBpkz1lKc4Zbj2KHd4cX3Wi8/OWr5pKslNjc3yABKH4adRGCvSX4VDC0i04mrrq0aiRA==} dependencies: '@emotion/memoize': 0.8.0 '@emotion/sheet': 1.2.1 @@ -2027,7 +2115,7 @@ packages: dependencies: '@babel/runtime': 7.21.0 '@emotion/babel-plugin': 11.10.6 - '@emotion/cache': 11.10.7 + '@emotion/cache': 11.10.5 '@emotion/serialize': 1.1.1 '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0) '@emotion/utils': 1.2.0 @@ -2289,7 +2377,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 espree: 9.5.1 globals: 13.20.0 ignore: 5.2.4 @@ -2625,14 +2713,14 @@ packages: resolution: {integrity: sha512-J8TOSBq3SoZbDhM9+R/u77hP93gz/rajSA+K2kGyijPpORPWUXHUpTaleoj+92As0S9uPRP7Oi8IqMf0u+ro6A==} dev: false - /@floating-ui/core@1.2.6: - resolution: {integrity: sha512-EvYTiXet5XqweYGClEmpu3BoxmsQ4hkj3QaYA6qEnigCWffTP3vNRwBReTdrwDwo7OoJ3wM8Uoe9Uk4n+d4hfg==} + /@floating-ui/core@1.2.5: + resolution: {integrity: sha512-qrcbyfnRVziRlB6IYwjCopYhO7Vud750JlJyuljruIXcPxr22y8zdckcJGsuOdnQ639uVD1tTXddrcH3t3QYIQ==} dev: false - /@floating-ui/dom@1.2.6: - resolution: {integrity: sha512-02vxFDuvuVPs22iJICacezYJyf7zwwOCWkPNkWNBr1U0Qt1cKFYzWvxts0AmqcOQGwt/3KJWcWIgtbUU38keyw==} + /@floating-ui/dom@1.2.5: + resolution: {integrity: sha512-+sAUfpQ3Frz+VCbPCqj+cZzvEESy3fjSeT/pDWkYCWOBXYNNKZfuVsHuv8/JO2zze8+Eb/Q7a6hZVgzS81fLbQ==} dependencies: - '@floating-ui/core': 1.2.6 + '@floating-ui/core': 1.2.5 dev: false /@floating-ui/react-dom@1.3.0(react-dom@18.2.0)(react@18.2.0): @@ -2641,7 +2729,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@floating-ui/dom': 1.2.6 + '@floating-ui/dom': 1.2.5 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -2702,7 +2790,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -2732,7 +2820,7 @@ packages: '@antfu/install-pkg': 0.1.1 '@antfu/utils': 0.7.2 '@iconify/types': 2.0.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 kolorist: 1.7.0 local-pkg: 0.4.3 transitivePeerDependencies: @@ -2750,27 +2838,16 @@ packages: '@jridgewell/set-array': 1.1.2 '@jridgewell/sourcemap-codec': 1.4.14 '@jridgewell/trace-mapping': 0.3.17 - - /@jridgewell/gen-mapping@0.3.3: - resolution: {integrity: sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==} - engines: {node: '>=6.0.0'} - dependencies: - '@jridgewell/set-array': 1.1.2 - '@jridgewell/sourcemap-codec': 1.4.15 - '@jridgewell/trace-mapping': 0.3.18 + dev: true /@jridgewell/resolve-uri@3.1.0: resolution: {integrity: sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==} engines: {node: '>=6.0.0'} - /@jridgewell/resolve-uri@3.1.1: - resolution: {integrity: sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==} - engines: {node: '>=6.0.0'} - dev: false - /@jridgewell/set-array@1.1.2: resolution: {integrity: sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==} engines: {node: '>=6.0.0'} + dev: true /@jridgewell/source-map@0.3.2: resolution: {integrity: sha512-m7O9o2uR8k2ObDysZYzdfhb08VuEml5oWGiosa1VdaPZ/A6QyPkAJuwN0Q1lhULOf6B7MtQmHENS743hWtCrgw==} @@ -2779,36 +2856,21 @@ packages: '@jridgewell/trace-mapping': 0.3.17 dev: true - /@jridgewell/source-map@0.3.3: - resolution: {integrity: sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==} - dependencies: - '@jridgewell/gen-mapping': 0.3.3 - '@jridgewell/trace-mapping': 0.3.18 - dev: true - /@jridgewell/sourcemap-codec@1.4.14: resolution: {integrity: sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==} - /@jridgewell/sourcemap-codec@1.4.15: - resolution: {integrity: sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==} - /@jridgewell/trace-mapping@0.3.17: resolution: {integrity: sha512-MCNzAp77qzKca9+W/+I0+sEpaUnZoeasnghNeVc41VZCEKaCH73Vq3BZZ/SzWIgrqE4H4ceI+p+b6C0mHf9T4g==} dependencies: '@jridgewell/resolve-uri': 3.1.0 '@jridgewell/sourcemap-codec': 1.4.14 - - /@jridgewell/trace-mapping@0.3.18: - resolution: {integrity: sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==} - dependencies: - '@jridgewell/resolve-uri': 3.1.0 - '@jridgewell/sourcemap-codec': 1.4.14 + dev: true /@jridgewell/trace-mapping@0.3.9: resolution: {integrity: sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==} dependencies: - '@jridgewell/resolve-uri': 3.1.1 - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/resolve-uri': 3.1.0 + '@jridgewell/sourcemap-codec': 1.4.14 dev: false /@json-rpc-tools/provider@1.7.6: @@ -2851,7 +2913,7 @@ packages: /@lezer/css@1.1.1: resolution: {integrity: sha512-mSjx+unLLapEqdOYDejnGBokB5+AiJKZVclmud0MKQOKx3DLJ5b5VTCstgDDknR6iIV4gVrN6euzsCnj0A2gQA==} dependencies: - '@lezer/highlight': 1.1.3 + '@lezer/highlight': 1.1.4 '@lezer/lr': 1.3.3 dev: false @@ -2871,14 +2933,14 @@ packages: resolution: {integrity: sha512-LKGyDdqqDugXR/lKM9FwaKEfMerbZ/aqvhLf0P1FLLK/pVP7wKHXGcg6g3cJ7ckvFidn0tXA8jioG0irVsCBAQ==} dependencies: '@lezer/common': 1.0.2 - '@lezer/highlight': 1.1.3 + '@lezer/highlight': 1.1.4 '@lezer/lr': 1.3.3 dev: false /@lezer/javascript@1.4.1: resolution: {integrity: sha512-Hqx36DJeYhKtdpc7wBYPR0XF56ZzIp0IkMO/zNNj80xcaFOV4Oj/P7TQc/8k2TxNhzl7tV5tXS8ZOCPbT4L3nA==} dependencies: - '@lezer/highlight': 1.1.3 + '@lezer/highlight': 1.1.4 '@lezer/lr': 1.3.3 dev: false @@ -2892,7 +2954,7 @@ packages: resolution: {integrity: sha512-8CY0OoZ6V5EzPjSPeJ4KLVbtXdLBd8V6sRCooN5kHnO28ytreEGTyrtU/zUwo/XLRzGr/e1g44KlzKi3yWGB5A==} dependencies: '@lezer/common': 1.0.2 - '@lezer/highlight': 1.1.3 + '@lezer/highlight': 1.1.4 dev: false /@lit-labs/ssr-dom-shim@1.1.0: @@ -2905,7 +2967,7 @@ packages: '@lit-labs/ssr-dom-shim': 1.1.0 dev: false - /@mantine/core@6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0): + /@mantine/core@6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.6)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yk2ojsfdADte55T5nQTGRdwLttPYC98k7D9eMn9vLWnoSB3OPjlJhIcNstqL3jXSklZhlDLYjCeZyrOb7+HRaA==} peerDependencies: '@mantine/hooks': 6.0.7 @@ -2913,7 +2975,7 @@ packages: react-dom: '>=16.8.0' dependencies: '@floating-ui/react': 0.19.2(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 6.0.7(react@18.2.0) + '@mantine/hooks': 6.0.6(react@18.2.0) '@mantine/styles': 6.0.7(@emotion/react@11.10.6)(react-dom@18.2.0)(react@18.2.0) '@mantine/utils': 6.0.7(react@18.2.0) '@radix-ui/react-scroll-area': 1.0.2(react-dom@18.2.0)(react@18.2.0) @@ -2926,25 +2988,45 @@ packages: - '@types/react' dev: false - /@mantine/hooks@6.0.7(react@18.2.0): - resolution: {integrity: sha512-+Axk3hiSeqzSAtEqJR3C1PDW1YYl0ph4zBS8DAhFueXXtsjJOVRoGBbyc/gXovpjRM3llFtLqpwqxxbOJogx0g==} + /@mantine/core@6.0.7(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-yk2ojsfdADte55T5nQTGRdwLttPYC98k7D9eMn9vLWnoSB3OPjlJhIcNstqL3jXSklZhlDLYjCeZyrOb7+HRaA==} + peerDependencies: + '@mantine/hooks': 6.0.7 + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + '@floating-ui/react': 0.19.2(react-dom@18.2.0)(react@18.2.0) + '@mantine/styles': 6.0.7(react-dom@18.2.0)(react@18.2.0) + '@mantine/utils': 6.0.7(react@18.2.0) + '@radix-ui/react-scroll-area': 1.0.2(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.5(@types/react@18.0.34)(react@18.2.0) + react-textarea-autosize: 8.3.4(@types/react@18.0.34)(react@18.2.0) + transitivePeerDependencies: + - '@emotion/react' + - '@types/react' + dev: false + + /@mantine/hooks@6.0.6(react@18.2.0): + resolution: {integrity: sha512-yGqGIZVgvL33XL+4UbP/BcvH/R5SKJYfrNcKIQY+SZ4y3CP05Q/p0BpjcLUJowKbD+xHaqXnMxE8yGf9KWAZig==} peerDependencies: react: '>=16.8.0' dependencies: react: 18.2.0 dev: false - /@mantine/notifications@6.0.7(@mantine/core@6.0.7)(@mantine/hooks@6.0.7)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-ZTWQG5P7paUrLng4H32vSSXl3EAE2mXZ3DavTgFD59ByIxCa1LoxxV7UhigNAb1E7Ve64euxljFYAe3VR86mkg==} + /@mantine/notifications@6.0.5(@mantine/core@6.0.7)(@mantine/hooks@6.0.6)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-JNYKQ24gHMOUVR9rg5piJwjT219pTTy36LoEsbOl8mAK17u/QrFtRVnvChIbvje49ALRuLuRtvHDJfdL8vojvg==} peerDependencies: - '@mantine/core': 6.0.7 - '@mantine/hooks': 6.0.7 + '@mantine/core': 6.0.5 + '@mantine/hooks': 6.0.5 react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) - '@mantine/hooks': 6.0.7(react@18.2.0) - '@mantine/utils': 6.0.7(react@18.2.0) + '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.6)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + '@mantine/hooks': 6.0.6(react@18.2.0) + '@mantine/utils': 6.0.5(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-transition-group: 4.4.2(react-dom@18.2.0)(react@18.2.0) @@ -2964,6 +3046,27 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /@mantine/styles@6.0.7(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-vbR2I853wFY40NOi66N97n3pstjA0bEU1Y0QitX1EAOvmHvuzTuaUtrEq9EqHOiwx8h9e0TndqsYapjDbkw0eg==} + peerDependencies: + '@emotion/react': '>=11.9.0' + react: '>=16.8.0' + react-dom: '>=16.8.0' + dependencies: + clsx: 1.1.1 + csstype: 3.0.9 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + + /@mantine/utils@6.0.5(react@18.2.0): + resolution: {integrity: sha512-P2FVcBd2oZ9ANOsZUtTwJ4+FV6NgCRE5B7trsT8gEFUbMeQLietcsZEgAe5xhzEu9Afp5V8X8a+E9yx1blMpNg==} + peerDependencies: + react: '>=16.8.0' + dependencies: + react: 18.2.0 + dev: false + /@mantine/utils@6.0.7(react@18.2.0): resolution: {integrity: sha512-XMm66GNn9hXnc9s/twXzL9iqhzM8HLVOyuKDo4WUn/ZM6NEJYJJVcTTlSIXOPq9AWo8bI76vbAHkIry1aEbgmg==} peerDependencies: @@ -2990,7 +3093,7 @@ packages: nopt: 5.0.0 npmlog: 5.0.1 rimraf: 3.0.2 - semver: 7.4.0 + semver: 7.3.8 tar: 6.1.13 transitivePeerDependencies: - encoding @@ -3002,24 +3105,22 @@ packages: resolution: {integrity: sha512-/kSXhY692qiV1MXu6EeOZvg5nECLclxNXcKCxJ3cXQgYuRymRHpdx/t7JXfsK+JLjwA1e1c1/SBrlQYpusC29Q==} dev: false - /@monaco-editor/loader@1.3.3(monaco-editor@0.37.1): + /@monaco-editor/loader@1.3.3: resolution: {integrity: sha512-6KKF4CTzcJiS8BJwtxtfyYt9shBiEv32ateQ9T4UVogwn4HM/uPo9iJd2Dmbkpz8CM6Y0PDUpjnZzCwC+eYo2Q==} peerDependencies: monaco-editor: '>= 0.21.0 < 1' dependencies: - monaco-editor: 0.37.1 state-local: 1.0.7 dev: false - /@monaco-editor/react@4.5.0(monaco-editor@0.37.1)(react-dom@18.2.0)(react@18.2.0): + /@monaco-editor/react@4.5.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-VJMkp5Fe1+w8pLEq8tZPHZKu8zDXQIA1FtiDTSNccg1D3wg1YIZaH2es2Qpvop1k62g3c/YySRb3bnGXu2XwYQ==} peerDependencies: monaco-editor: '>= 0.25.0 < 1' react: ^16.8.0 || ^17.0.0 || ^18.0.0 react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: - '@monaco-editor/loader': 1.3.3(monaco-editor@0.37.1) - monaco-editor: 0.37.1 + '@monaco-editor/loader': 1.3.3 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false @@ -3594,7 +3695,7 @@ packages: rollup: 2.79.1 dev: true - /@rollup/pluginutils@5.0.2(rollup@2.79.1): + /@rollup/pluginutils@5.0.2: resolution: {integrity: sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==} engines: {node: '>=14.0.0'} peerDependencies: @@ -3606,7 +3707,6 @@ packages: '@types/estree': 1.0.0 estree-walker: 2.0.2 picomatch: 2.3.1 - rollup: 2.79.1 dev: true /@rushstack/eslint-patch@1.2.0: @@ -3824,20 +3924,30 @@ packages: remove-accents: 0.4.2 dev: false + /@tanstack/query-core@4.27.0: + resolution: {integrity: sha512-sm+QncWaPmM73IPwFlmWSKPqjdTXZeFf/7aEmWh00z7yl2FjqophPt0dE1EHW9P1giMC5rMviv7OUbSDmWzXXA==} + dev: false + /@tanstack/query-core@4.29.1: resolution: {integrity: sha512-vkPewLEG8ua0efo3SsVT0BcBtkq5RZX8oPhDAyKL+k/rdOYSQTEocfGEXSaBwIwsXeOGBUpfKqI+UmHvNqdWXg==} dev: false + /@tanstack/query-persist-client-core@4.27.0: + resolution: {integrity: sha512-A+dPA7zG0MJOMDeBc/2WcKXW4wV2JMkeBVydobPW9G02M4q0yAj7vI+7SmM2dFuXyIvxXp4KulCywN6abRKDSQ==} + dependencies: + '@tanstack/query-core': 4.27.0 + dev: false + /@tanstack/query-persist-client-core@4.29.1: resolution: {integrity: sha512-lC7YsXHdHygVCHDXJqwaLGoWOHSfX+YEhwRaSWMBcHrfsHyEFzAvluQJlDytVd6JFAe49IuLJlajMGBbyI00ZA==} dependencies: '@tanstack/query-core': 4.29.1 dev: false - /@tanstack/query-sync-storage-persister@4.29.1: - resolution: {integrity: sha512-rX0bPgqhkz71HEQIz47Z3IFxs2fg7dO9uoxkjwo50VljrhXMl6Yv77xCeKYL97fNX7zhuMkax8HEy953woJ/QA==} + /@tanstack/query-sync-storage-persister@4.27.1: + resolution: {integrity: sha512-vClLXtyQZwfV8QTyxqfkEzZSuwIKnrxORAUyxvCDna1M9xao0HtKYsChPVaJoSZ42PNGGvKCiKdg4kfyLeWj+A==} dependencies: - '@tanstack/query-persist-client-core': 4.29.1 + '@tanstack/query-persist-client-core': 4.27.0 dev: false /@tanstack/react-query-devtools@4.29.1(@tanstack/react-query@4.29.1)(react-dom@18.2.0)(react@18.2.0): @@ -3942,28 +4052,10 @@ packages: '@types/ms': 0.7.31 dev: false - /@types/eslint-scope@3.7.4: - resolution: {integrity: sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==} - dependencies: - '@types/eslint': 8.37.0 - '@types/estree': 1.0.0 - dev: true - - /@types/eslint@8.37.0: - resolution: {integrity: sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==} - dependencies: - '@types/estree': 1.0.0 - '@types/json-schema': 7.0.11 - dev: true - /@types/estree@0.0.39: resolution: {integrity: sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==} dev: true - /@types/estree@0.0.51: - resolution: {integrity: sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==} - dev: true - /@types/estree@1.0.0: resolution: {integrity: sha512-WulqXMDUTYAXCjZnk6JtIHPigp55cVtDgDrO2gHRwhyJto21+1zbVCtOYB2L1F9w4qCQ0rOGWBnBe0FNTiEJIQ==} dev: true @@ -4157,7 +4249,7 @@ packages: '@typescript-eslint/scope-manager': 5.57.1 '@typescript-eslint/types': 5.57.1 '@typescript-eslint/typescript-estree': 5.57.1(typescript@5.0.4) - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 eslint: 8.38.0 typescript: 5.0.4 transitivePeerDependencies: @@ -4188,7 +4280,7 @@ packages: dependencies: '@typescript-eslint/types': 5.57.1 '@typescript-eslint/visitor-keys': 5.57.1 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 globby: 11.1.0 is-glob: 4.0.3 semver: 7.3.8 @@ -4206,24 +4298,23 @@ packages: eslint-visitor-keys: 3.4.0 dev: true - /@uiw/codemirror-extensions-basic-setup@4.19.16(@codemirror/autocomplete@6.4.2)(@codemirror/commands@6.2.2)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.0)(@codemirror/search@6.3.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4): + /@uiw/codemirror-extensions-basic-setup@4.19.16(@codemirror/commands@6.2.2)(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4): resolution: {integrity: sha512-Xm0RDpyYVZ/8hWqaBs3+wZwi4uLwZUBwp/uCt89X80FeR6mr3BFuC+a+gcDO4dBu3l+WQE3jJdhjKjB2TCY/PQ==} peerDependencies: - '@codemirror/autocomplete': '>=6.0.0' '@codemirror/commands': '>=6.0.0' '@codemirror/language': '>=6.0.0' - '@codemirror/lint': '>=6.0.0' - '@codemirror/search': '>=6.0.0' '@codemirror/state': '>=6.0.0' '@codemirror/view': '>=6.0.0' dependencies: - '@codemirror/autocomplete': 6.4.2(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4)(@lezer/common@1.0.2) + '@codemirror/autocomplete': 6.4.2(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4) '@codemirror/commands': 6.2.2 '@codemirror/language': 6.6.0 '@codemirror/lint': 6.2.0 '@codemirror/search': 6.3.0 '@codemirror/state': 6.2.0 '@codemirror/view': 6.9.4 + transitivePeerDependencies: + - '@lezer/common' dev: false /@uiw/codemirror-extensions-events@4.19.16(@codemirror/view@6.9.4): @@ -4234,14 +4325,12 @@ packages: '@codemirror/view': 6.9.4 dev: false - /@uiw/react-codemirror@4.19.16(@babel/runtime@7.21.0)(@codemirror/autocomplete@6.4.2)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.0)(@codemirror/search@6.3.0)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.1)(@codemirror/view@6.9.4)(codemirror@6.0.1)(react-dom@18.2.0)(react@18.2.0): + /@uiw/react-codemirror@4.19.16(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/theme-one-dark@6.1.1)(@codemirror/view@6.9.4)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-uElraR7Mvwz2oZKrmtF5hmIB8dAlIiU65nfg484e/V9k4PV6/5KtPUQL3JPO4clH2pcd+TQqRTQrFFkP/D25ew==} peerDependencies: - '@babel/runtime': '>=7.11.0' '@codemirror/state': '>=6.0.0' '@codemirror/theme-one-dark': '>=6.0.0' '@codemirror/view': '>=6.0.0' - codemirror: '>=6.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: @@ -4250,35 +4339,33 @@ packages: '@codemirror/state': 6.2.0 '@codemirror/theme-one-dark': 6.1.1 '@codemirror/view': 6.9.4 - '@uiw/codemirror-extensions-basic-setup': 4.19.16(@codemirror/autocomplete@6.4.2)(@codemirror/commands@6.2.2)(@codemirror/language@6.6.0)(@codemirror/lint@6.2.0)(@codemirror/search@6.3.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4) - codemirror: 6.0.1(@lezer/common@1.0.2) + '@uiw/codemirror-extensions-basic-setup': 4.19.16(@codemirror/commands@6.2.2)(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4) + codemirror: 6.0.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: - - '@codemirror/autocomplete' - '@codemirror/language' - - '@codemirror/lint' - - '@codemirror/search' + - '@lezer/common' dev: false - /@unocss/astro@0.51.4(rollup@2.79.1)(vite@4.2.1): + /@unocss/astro@0.51.4: resolution: {integrity: sha512-denp8/PHvzfN9azfTF72+ey6xpgUB4L4416FI4DfcfKPzRMo4KjIaHlTD6xuaJwBdC8UJSOIcDRXldRGPT33Ag==} dependencies: '@unocss/core': 0.51.4 '@unocss/reset': 0.51.4 - '@unocss/vite': 0.51.4(rollup@2.79.1)(vite@4.2.1) + '@unocss/vite': 0.51.4 transitivePeerDependencies: - rollup - vite dev: true - /@unocss/cli@0.51.4(rollup@2.79.1): + /@unocss/cli@0.51.4: resolution: {integrity: sha512-x0SYt7wL1EE3OSlV55gKmbpXrbG9vkJHVFxTC4iH2uezfpwVejpdP1sQwyHCzIBbVFAPGPzH+pdRtdmvFU1G3Q==} engines: {node: '>=14'} hasBin: true dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@rollup/pluginutils': 5.0.2 '@unocss/config': 0.51.4 '@unocss/core': 0.51.4 '@unocss/preset-uno': 0.51.4 @@ -4319,11 +4406,9 @@ packages: sirv: 2.0.2 dev: true - /@unocss/postcss@0.51.4(postcss@8.4.21): + /@unocss/postcss@0.51.4: resolution: {integrity: sha512-Jkf7GD8svev854pHVuFx0AtZoh3LQKbFoU5DDT1Hb0Yr/l2sxUSxzx1Jb5vUun89tSlfzIZ2pKAd0BqwtqWlmw==} engines: {node: '>=14'} - peerDependencies: - postcss: ^8.4.21 dependencies: '@unocss/config': 0.51.4 '@unocss/core': 0.51.4 @@ -4430,13 +4515,13 @@ packages: '@unocss/core': 0.51.4 dev: true - /@unocss/vite@0.51.4(rollup@2.79.1)(vite@4.2.1): + /@unocss/vite@0.51.4: resolution: {integrity: sha512-zrACPc6c99Phipi1totFjGzUvcucP+HZoeSTr4VDPQQk/vo7CuSmYFNMzWEw2NynWJgkv/FUdLTnK0tZj08LCA==} peerDependencies: vite: ^2.9.0 || ^3.0.0-0 || ^4.0.0 dependencies: '@ampproject/remapping': 2.2.1 - '@rollup/pluginutils': 5.0.2(rollup@2.79.1) + '@rollup/pluginutils': 5.0.2 '@unocss/config': 0.51.4 '@unocss/core': 0.51.4 '@unocss/inspector': 0.51.4 @@ -4445,11 +4530,19 @@ packages: chokidar: 3.5.3 fast-glob: 3.2.12 magic-string: 0.30.0 - vite: 4.2.1(@types/node@18.15.11) transitivePeerDependencies: - rollup dev: true + /@urql/core@4.0.4: + resolution: {integrity: sha512-r1rB/VMVpCnfnMTTzCAs+HY+UqOHUgpZ+GimLtU4DCTP3C78DK+m4qr36M7KKleggrKgcpcC1TE8eFEVcKzfSQ==} + dependencies: + '@0no-co/graphql.web': 1.0.0 + wonka: 6.3.1 + transitivePeerDependencies: + - graphql + dev: false + /@urql/core@4.0.4(graphql@16.6.0): resolution: {integrity: sha512-r1rB/VMVpCnfnMTTzCAs+HY+UqOHUgpZ+GimLtU4DCTP3C78DK+m4qr36M7KKleggrKgcpcC1TE8eFEVcKzfSQ==} dependencies: @@ -4459,7 +4552,7 @@ packages: - graphql dev: false - /@vitejs/plugin-react@3.1.0(vite@4.2.1): + /@vitejs/plugin-react@3.1.0: resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -4470,7 +4563,6 @@ packages: '@babel/plugin-transform-react-jsx-source': 7.19.6(@babel/core@7.21.4) magic-string: 0.27.0 react-refresh: 0.14.0 - vite: 4.2.1(@types/node@18.15.11) transitivePeerDependencies: - supports-color dev: true @@ -4525,7 +4617,7 @@ packages: typescript: 5.0.4 dev: false - /@wagmi/connectors@0.3.12(@babel/core@7.21.4)(@types/node@18.15.11)(@wagmi/core@0.10.9)(ethers@5.7.2)(react@18.2.0)(typescript@5.0.4): + /@wagmi/connectors@0.3.12(@types/node@18.15.11)(@wagmi/core@0.10.9)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-Ui8wyAMI3V8pnDlmTVSug7S53sTSNkgFuGrxFoKxQrTQJIC+AvD7CbeiYKcbFxrIrv9c/sTK5ySL4IBe+KjFUQ==} peerDependencies: '@wagmi/core': '>=0.9.x' @@ -4537,16 +4629,15 @@ packages: typescript: optional: true dependencies: - '@coinbase/wallet-sdk': 3.6.5(@babel/core@7.21.4) + '@coinbase/wallet-sdk': 3.6.5 '@ledgerhq/connect-kit-loader': 1.0.2 '@safe-global/safe-apps-provider': 0.15.2 '@safe-global/safe-apps-sdk': 7.10.1 - '@wagmi/core': 0.10.9(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react@18.2.0)(typescript@5.0.4) + '@wagmi/core': 0.10.9(@types/node@18.15.11)(immer@9.0.21)(react@18.2.0)(typescript@5.0.4) '@walletconnect/ethereum-provider': 2.6.2(@types/node@18.15.11)(@web3modal/standalone@2.2.2)(typescript@5.0.4) '@walletconnect/legacy-provider': 2.0.0 '@web3modal/standalone': 2.2.2(react@18.2.0) abitype: 0.3.0(typescript@5.0.4) - ethers: 5.7.2 eventemitter3: 4.0.7 typescript: 5.0.4 transitivePeerDependencies: @@ -4565,7 +4656,7 @@ packages: - zod dev: false - /@wagmi/core@0.10.9(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react@18.2.0)(typescript@5.0.4): + /@wagmi/core@0.10.9(@types/node@18.15.11)(immer@9.0.21)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-/t7gcF6BvWiIBYdZ6RFiq/5cdMj+ljCTFlMgOEojl1BCe0OsbhrTKzbgTrJ6ol82vJI5uwcOAqEPD5ObN09oVg==} peerDependencies: ethers: '>=5.5.1 <6' @@ -4575,9 +4666,8 @@ packages: optional: true dependencies: '@wagmi/chains': 0.2.17(typescript@5.0.4) - '@wagmi/connectors': 0.3.12(@babel/core@7.21.4)(@types/node@18.15.11)(@wagmi/core@0.10.9)(ethers@5.7.2)(react@18.2.0)(typescript@5.0.4) + '@wagmi/connectors': 0.3.12(@types/node@18.15.11)(@wagmi/core@0.10.9)(react@18.2.0)(typescript@5.0.4) abitype: 0.3.0(typescript@5.0.4) - ethers: 5.7.2 eventemitter3: 4.0.7 typescript: 5.0.4 zustand: 4.3.7(immer@9.0.21)(react@18.2.0) @@ -5010,120 +5100,6 @@ packages: - react dev: false - /@webassemblyjs/ast@1.11.1: - resolution: {integrity: sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==} - dependencies: - '@webassemblyjs/helper-numbers': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - dev: true - - /@webassemblyjs/floating-point-hex-parser@1.11.1: - resolution: {integrity: sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==} - dev: true - - /@webassemblyjs/helper-api-error@1.11.1: - resolution: {integrity: sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==} - dev: true - - /@webassemblyjs/helper-buffer@1.11.1: - resolution: {integrity: sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==} - dev: true - - /@webassemblyjs/helper-numbers@1.11.1: - resolution: {integrity: sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==} - dependencies: - '@webassemblyjs/floating-point-hex-parser': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/helper-wasm-bytecode@1.11.1: - resolution: {integrity: sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==} - dev: true - - /@webassemblyjs/helper-wasm-section@1.11.1: - resolution: {integrity: sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - dev: true - - /@webassemblyjs/ieee754@1.11.1: - resolution: {integrity: sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==} - dependencies: - '@xtuc/ieee754': 1.2.0 - dev: true - - /@webassemblyjs/leb128@1.11.1: - resolution: {integrity: sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==} - dependencies: - '@xtuc/long': 4.2.2 - dev: true - - /@webassemblyjs/utf8@1.11.1: - resolution: {integrity: sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==} - dev: true - - /@webassemblyjs/wasm-edit@1.11.1: - resolution: {integrity: sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/helper-wasm-section': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-opt': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - '@webassemblyjs/wast-printer': 1.11.1 - dev: true - - /@webassemblyjs/wasm-gen@1.11.1: - resolution: {integrity: sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wasm-opt@1.11.1: - resolution: {integrity: sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-buffer': 1.11.1 - '@webassemblyjs/wasm-gen': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - dev: true - - /@webassemblyjs/wasm-parser@1.11.1: - resolution: {integrity: sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/helper-api-error': 1.11.1 - '@webassemblyjs/helper-wasm-bytecode': 1.11.1 - '@webassemblyjs/ieee754': 1.11.1 - '@webassemblyjs/leb128': 1.11.1 - '@webassemblyjs/utf8': 1.11.1 - dev: true - - /@webassemblyjs/wast-printer@1.11.1: - resolution: {integrity: sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==} - dependencies: - '@webassemblyjs/ast': 1.11.1 - '@xtuc/long': 4.2.2 - dev: true - - /@xtuc/ieee754@1.2.0: - resolution: {integrity: sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==} - dev: true - - /@xtuc/long@4.2.2: - resolution: {integrity: sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==} - dev: true - /JSONStream@1.3.5: resolution: {integrity: sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==} hasBin: true @@ -5162,14 +5138,6 @@ packages: typescript: 5.0.4 dev: false - /acorn-import-assertions@1.8.0(acorn@8.8.2): - resolution: {integrity: sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==} - peerDependencies: - acorn: ^8 - dependencies: - acorn: 8.8.2 - dev: true - /acorn-jsx@5.3.2(acorn@8.8.2): resolution: {integrity: sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==} peerDependencies: @@ -5209,7 +5177,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: false @@ -5219,7 +5187,7 @@ packages: resolution: {integrity: sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==} engines: {node: '>= 8.0.0'} dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 depd: 2.0.0 humanize-ms: 1.2.1 transitivePeerDependencies: @@ -5234,10 +5202,8 @@ packages: indent-string: 4.0.0 dev: true - /ajv-formats@2.1.1(ajv@8.12.0): + /ajv-formats@2.1.1: resolution: {integrity: sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==} - peerDependencies: - ajv: ^8.0.0 peerDependenciesMeta: ajv: optional: true @@ -5486,7 +5452,7 @@ packages: engines: {node: '>=4'} dev: false - /autoprefixer@10.4.14(postcss@8.4.21): + /autoprefixer@10.4.14: resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -5498,7 +5464,6 @@ packages: fraction.js: 4.2.0 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.21 postcss-value-parser: 4.2.0 dev: true @@ -5550,32 +5515,28 @@ packages: deep-equal: 2.2.0 dev: true - /babel-loader@8.3.0(@babel/core@7.21.4)(webpack@5.78.0): + /babel-loader@8.3.0: resolution: {integrity: sha512-H8SvsMF+m9t15HNLMipppzkC+Y2Yq+v3SonZyU70RBL/h1gxPkH08Ot8pEE9Z4Kd+czyWJClmFS8qzIP9OZ04Q==} engines: {node: '>= 8.9'} peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' dependencies: - '@babel/core': 7.21.4 find-cache-dir: 3.3.2 loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.78.0(esbuild@0.17.16) dev: true - /babel-loader@9.1.2(@babel/core@7.21.4)(webpack@5.78.0): + /babel-loader@9.1.2: resolution: {integrity: sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==} engines: {node: '>= 14.15.0'} peerDependencies: '@babel/core': ^7.12.0 webpack: '>=5' dependencies: - '@babel/core': 7.21.4 find-cache-dir: 3.3.2 schema-utils: 4.0.0 - webpack: 5.78.0(esbuild@0.17.16) dev: true /babel-plugin-macros@2.8.0: @@ -5596,6 +5557,18 @@ packages: resolve: 1.22.2 dev: false + /babel-plugin-polyfill-corejs2@0.3.3: + resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/compat-data': 7.21.4 + '@babel/helper-define-polyfill-provider': 0.3.3 + semver: 6.3.0 + transitivePeerDependencies: + - supports-color + dev: false + /babel-plugin-polyfill-corejs2@0.3.3(@babel/core@7.21.4): resolution: {integrity: sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==} peerDependencies: @@ -5607,6 +5580,18 @@ packages: semver: 6.3.0 transitivePeerDependencies: - supports-color + dev: true + + /babel-plugin-polyfill-corejs3@0.6.0: + resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-define-polyfill-provider': 0.3.3 + core-js-compat: 3.27.2 + transitivePeerDependencies: + - supports-color + dev: false /babel-plugin-polyfill-corejs3@0.6.0(@babel/core@7.21.4): resolution: {integrity: sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==} @@ -5618,6 +5603,17 @@ packages: core-js-compat: 3.27.2 transitivePeerDependencies: - supports-color + dev: true + + /babel-plugin-polyfill-regenerator@0.4.1: + resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} + peerDependencies: + '@babel/core': ^7.0.0-0 + dependencies: + '@babel/helper-define-polyfill-provider': 0.3.3 + transitivePeerDependencies: + - supports-color + dev: false /babel-plugin-polyfill-regenerator@0.4.1(@babel/core@7.21.4): resolution: {integrity: sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==} @@ -5628,6 +5624,7 @@ packages: '@babel/helper-define-polyfill-provider': 0.3.3(@babel/core@7.21.4) transitivePeerDependencies: - supports-color + dev: true /babel-plugin-preval@4.0.0: resolution: {integrity: sha512-fZI/4cYneinlj2k/FsXw0/lTWSC5KKoepUueS1g25Gb5vx3GrRyaVwxWCshYqx11GEU4mZnbbFhee8vpquFS2w==} @@ -5871,8 +5868,8 @@ packages: /caniuse-lite@1.0.30001466: resolution: {integrity: sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==} - /caniuse-lite@1.0.30001477: - resolution: {integrity: sha512-lZim4iUHhGcy5p+Ri/G7m84hJwncj+Kz7S5aD4hoQfslKZJgt0tHc/hafVbqHC5bbhHb+mrW2JOUHkI5KH7toQ==} + /caniuse-lite@1.0.30001474: + resolution: {integrity: sha512-iaIZ8gVrWfemh5DG3T9/YqarVZoYf0r188IjaGwx68j4Pf0SGY6CQkmJUIE+NZHkkecQGohzXmBGEwWDr9aM3Q==} /canvas-confetti@1.6.0: resolution: {integrity: sha512-ej+w/m8Jzpv9Z7W7uJZer14Ke8P2ogsjg4ZMGIuq4iqUOqY2Jq8BNW42iGmNfRwREaaEfFIczLuZZiEVSYNHAA==} @@ -5965,11 +5962,6 @@ packages: resolution: {integrity: sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==} dev: false - /chrome-trace-event@1.0.3: - resolution: {integrity: sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==} - engines: {node: '>=6.0'} - dev: true - /cipher-base@1.0.4: resolution: {integrity: sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==} dependencies: @@ -5999,14 +5991,13 @@ packages: engines: {node: '>=6'} dev: true - /clean-webpack-plugin@4.0.0(webpack@5.78.0): + /clean-webpack-plugin@4.0.0: resolution: {integrity: sha512-WuWE1nyTNAyW5T7oNyys2EN0cfP2fdRxhxnIQWiAp0bMabPdHhoGxM8A6YL2GhqwgrPnnaemVE7nv5XJ2Fhh2w==} engines: {node: '>=10.0.0'} peerDependencies: webpack: '>=4.0.0 <6.0.0' dependencies: del: 4.1.1 - webpack: 5.78.0(esbuild@0.17.16) dev: true /cli-cursor@3.1.0: @@ -6066,10 +6057,10 @@ packages: engines: {node: '>=0.10.0'} dev: false - /codemirror@6.0.1(@lezer/common@1.0.2): + /codemirror@6.0.1: resolution: {integrity: sha512-J8j+nZ+CdWmIeFIGXEFbFPtpiYacFMDR8GlHK3IyHQJMCaVRfGx9NT+Hxivv1ckLWPvNdZqndbr/7lVhrf/Svg==} dependencies: - '@codemirror/autocomplete': 6.4.2(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4)(@lezer/common@1.0.2) + '@codemirror/autocomplete': 6.4.2(@codemirror/language@6.6.0)(@codemirror/state@6.2.0)(@codemirror/view@6.9.4) '@codemirror/commands': 6.2.2 '@codemirror/language': 6.6.0 '@codemirror/lint': 6.2.0 @@ -6172,7 +6163,7 @@ packages: dev: true /concat-map@0.0.1: - resolution: {integrity: sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=} + resolution: {integrity: sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==} /concat-stream@2.0.0: resolution: {integrity: sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==} @@ -6194,7 +6185,7 @@ packages: js-string-escape: 1.0.1 lodash: 4.17.21 md5-hex: 3.0.1 - semver: 7.4.0 + semver: 7.3.8 well-known-symbols: 2.0.0 dev: true @@ -6391,6 +6382,17 @@ packages: ms: 2.1.3 dev: true + /debug@4.3.4: + resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} + engines: {node: '>=6.0'} + peerDependencies: + supports-color: '*' + peerDependenciesMeta: + supports-color: + optional: true + dependencies: + ms: 2.1.2 + /debug@4.3.4(supports-color@8.1.1): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} engines: {node: '>=6.0'} @@ -6402,6 +6404,7 @@ packages: dependencies: ms: 2.1.2 supports-color: 8.1.1 + dev: false /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} @@ -6770,10 +6773,6 @@ packages: stop-iteration-iterator: 1.0.0 dev: true - /es-module-lexer@0.9.3: - resolution: {integrity: sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==} - dev: true - /es-set-tostringtag@2.0.1: resolution: {integrity: sha512-g3OMbtlwY3QewlqAiMLI47KywjWZoEytKr8pf6iTC8uJq5bIAH52Z9pnQ8pVL6whrCto53JZDuUIsifGeLorTg==} engines: {node: '>= 0.4'} @@ -6838,7 +6837,7 @@ packages: peerDependencies: esbuild: '>=0.12 <1' dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 esbuild: 0.17.16 transitivePeerDependencies: - supports-color @@ -6933,7 +6932,7 @@ packages: eslint: '*' eslint-plugin-import: '*' dependencies: - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 enhanced-resolve: 5.12.0 eslint: 8.38.0 eslint-module-utils: 2.7.4(@typescript-eslint/parser@5.57.1)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.5)(eslint@8.38.0) @@ -7071,14 +7070,6 @@ packages: string.prototype.matchall: 4.0.8 dev: true - /eslint-scope@5.1.1: - resolution: {integrity: sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==} - engines: {node: '>=8.0.0'} - dependencies: - esrecurse: 4.3.0 - estraverse: 4.3.0 - dev: true - /eslint-scope@7.1.1: resolution: {integrity: sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -7107,7 +7098,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 @@ -7164,11 +7155,6 @@ packages: estraverse: 5.3.0 dev: true - /estraverse@4.3.0: - resolution: {integrity: sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==} - engines: {node: '>=4.0'} - dev: true - /estraverse@5.3.0: resolution: {integrity: sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==} engines: {node: '>=4.0'} @@ -7187,10 +7173,10 @@ packages: engines: {node: '>=0.10.0'} dev: true - /eth-block-tracker@4.4.3(@babel/core@7.21.4): + /eth-block-tracker@4.4.3: resolution: {integrity: sha512-A8tG4Z4iNg4mw5tP1Vung9N9IjgMNqpiMoJ/FouSFwNCGHv2X0mmOYwtQOJzki6XN7r7Tyo01S29p7b224I4jw==} dependencies: - '@babel/plugin-transform-runtime': 7.21.4(@babel/core@7.21.4) + '@babel/plugin-transform-runtime': 7.21.4 '@babel/runtime': 7.21.0 eth-query: 2.1.2 json-rpc-random-id: 1.0.1 @@ -7319,6 +7305,7 @@ packages: /events@3.3.0: resolution: {integrity: sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==} engines: {node: '>=0.8.x'} + dev: false /evp_bytestokey@1.0.3: resolution: {integrity: sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==} @@ -7348,7 +7335,7 @@ packages: dependencies: cross-spawn: 7.0.3 get-stream: 6.0.1 - human-signals: 4.3.1 + human-signals: 4.3.0 is-stream: 3.0.0 merge-stream: 2.0.0 npm-run-path: 5.1.0 @@ -7630,6 +7617,7 @@ packages: /gensync@1.0.0-beta.2: resolution: {integrity: sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==} engines: {node: '>=6.9.0'} + dev: true /get-caller-file@2.0.5: resolution: {integrity: sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==} @@ -7692,10 +7680,6 @@ packages: dependencies: is-glob: 4.0.3 - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: true - /glob@7.1.6: resolution: {integrity: sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==} dependencies: @@ -7741,6 +7725,7 @@ packages: /globals@11.12.0: resolution: {integrity: sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==} engines: {node: '>=4'} + dev: true /globals@13.20.0: resolution: {integrity: sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==} @@ -7798,12 +7783,10 @@ packages: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} dev: true - /goober@2.1.11(csstype@3.1.2): + /goober@2.1.11: resolution: {integrity: sha512-5SS2lmxbhqH0u9ABEWq7WPU69a4i2pYcHeCxqaNq6Cw3mnrF0ghWNM4tEGid4dKy8XNIAUbuThuozDHHKJVh3A==} peerDependencies: csstype: ^3.0.10 - dependencies: - csstype: 3.1.2 dev: false /gopd@1.0.1: @@ -8091,7 +8074,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 transitivePeerDependencies: - supports-color dev: false @@ -8102,8 +8085,8 @@ packages: engines: {node: '>=10.17.0'} dev: true - /human-signals@4.3.1: - resolution: {integrity: sha512-nZXjEF2nbo7lIw3mgYjItAfgQXog3OjJogSbKa2CQIIvSGWcKgeJnQlNXip6NglNzYH45nSRiEVimMvYL8DDqQ==} + /human-signals@4.3.0: + resolution: {integrity: sha512-zyzVyMjpGBX2+6cDVZeFPCdtOtdsxOeseRhB9tkQ6xXmGUNrcnBzdEKPy3VPNYz+4gy1oukVOXcrJCunSyc6QQ==} engines: {node: '>=14.18.0'} dev: true @@ -8207,7 +8190,7 @@ packages: dependencies: '@ioredis/commands': 1.2.0 cluster-key-slot: 1.1.2 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 denque: 2.1.0 lodash.defaults: 4.2.0 lodash.isarguments: 3.1.0 @@ -8604,9 +8587,11 @@ packages: resolution: {integrity: sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==} engines: {node: '>=4'} hasBin: true + dev: true /json-parse-even-better-errors@2.3.1: resolution: {integrity: sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==} + dev: false /json-rpc-engine@6.1.0: resolution: {integrity: sha512-NEdLrtrq1jUZyfjkr9OCz9EzCNhnRyWtt1PAnvnhwy6e8XETS0Dtc+ZNCO2gvuAoKsIn2+vCSowXTYE4CkgnAQ==} @@ -8651,6 +8636,7 @@ packages: resolution: {integrity: sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==} engines: {node: '>=6'} hasBin: true + dev: true /jsonc-parser@3.2.0: resolution: {integrity: sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==} @@ -8809,7 +8795,7 @@ packages: optional: true dependencies: '@anthropic-ai/sdk': 0.4.3 - '@dqbd/tiktoken': 1.0.4 + '@dqbd/tiktoken': 1.0.6 binary-extensions: 2.2.0 browser-or-node: 2.1.1 expr-eval: 2.0.2 @@ -8865,7 +8851,7 @@ packages: chalk: 5.2.0 cli-truncate: 3.1.0 commander: 10.0.0 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 execa: 7.1.1 lilconfig: 2.1.0 listr2: 5.0.8 @@ -8921,11 +8907,6 @@ packages: lit-html: 2.7.2 dev: false - /loader-runner@4.3.0: - resolution: {integrity: sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==} - engines: {node: '>=6.11.5'} - dev: true - /loader-utils@2.0.4: resolution: {integrity: sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==} engines: {node: '>=8.9.0'} @@ -9079,14 +9060,14 @@ packages: resolution: {integrity: sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /magic-string@0.30.0: resolution: {integrity: sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==} engines: {node: '>=12'} dependencies: - '@jridgewell/sourcemap-codec': 1.4.15 + '@jridgewell/sourcemap-codec': 1.4.14 dev: true /make-dir@3.1.0: @@ -9559,7 +9540,7 @@ packages: resolution: {integrity: sha512-6Mj0yHLdUZjHnOPgr5xfWIMqMWS12zDN6iws9SLuSz76W8jTtAv24MN4/CL7gJrl5vtxGInkkqDv/JIoRsQOvA==} dependencies: '@types/debug': 4.1.7 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 decode-named-character-reference: 1.0.2 micromark-core-commonmark: 1.0.6 micromark-factory-space: 1.0.0 @@ -9589,12 +9570,14 @@ packages: /mime-db@1.52.0: resolution: {integrity: sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==} engines: {node: '>= 0.6'} + dev: false /mime-types@2.1.35: resolution: {integrity: sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==} engines: {node: '>= 0.6'} dependencies: mime-db: 1.52.0 + dev: false /mime@3.0.0: resolution: {integrity: sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==} @@ -9720,10 +9703,6 @@ packages: yargs-unparser: 2.0.0 dev: false - /monaco-editor@0.37.1: - resolution: {integrity: sha512-jLXEEYSbqMkT/FuJLBZAVWGuhIb4JNwHE9kPTorAVmsdZ4UzHAfgWxLsVtD7pLRFaOwYPhNG9nUCpmFL1t/dIg==} - dev: false - /motion@10.15.5: resolution: {integrity: sha512-ejP6KioN4pigTGxL93APzOnvtLklParL59UQB2T3HWXQBxFcIp5/7YXFmkgiA6pNKKzjvnLhnonRBN5iSFMnNw==} dependencies: @@ -9791,10 +9770,6 @@ packages: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} dev: true - /neo-async@2.6.2: - resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} - dev: true - /next-i18next@13.2.2(i18next@22.4.14)(next@13.2.4)(react-i18next@12.2.0)(react@18.2.0): resolution: {integrity: sha512-t0WU6K+HJoq2nVQ0n6OiiEZja9GyMqtDSU74FmOafgk4ljns+iZ18bsNJiI8rOUXfFfkW96ea1N7D5kbMyT+PA==} engines: {node: '>=14'} @@ -9810,22 +9785,22 @@ packages: hoist-non-react-statics: 3.3.2 i18next: 22.4.14 i18next-fs-backend: 2.1.1 - next: 13.2.4(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) + next: 13.2.4(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-i18next: 12.2.0(i18next@22.4.14)(react-dom@18.2.0)(react@18.2.0) dev: false - /next-pwa@5.6.0(@babel/core@7.21.4)(esbuild@0.17.16)(next@13.2.4)(webpack@5.78.0): + /next-pwa@5.6.0(esbuild@0.17.16)(next@13.2.4): resolution: {integrity: sha512-XV8g8C6B7UmViXU8askMEYhWwQ4qc/XqJGnexbLV68hzKaGHZDMtHsm2TNxFcbR7+ypVuth/wwpiIlMwpRJJ5A==} peerDependencies: next: '>=9.0.0' dependencies: - babel-loader: 8.3.0(@babel/core@7.21.4)(webpack@5.78.0) - clean-webpack-plugin: 4.0.0(webpack@5.78.0) + babel-loader: 8.3.0 + clean-webpack-plugin: 4.0.0 globby: 11.1.0 - next: 13.2.4(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) - terser-webpack-plugin: 5.3.6(esbuild@0.17.16)(webpack@5.78.0) - workbox-webpack-plugin: 6.5.4(webpack@5.78.0) + next: 13.2.4(react-dom@18.2.0)(react@18.2.0) + terser-webpack-plugin: 5.3.6(esbuild@0.17.16) + workbox-webpack-plugin: 6.5.4 workbox-window: 6.5.4 transitivePeerDependencies: - '@babel/core' @@ -9841,7 +9816,7 @@ packages: resolution: {integrity: sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==} dev: false - /next@13.2.4(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0): + /next@13.2.4(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-g1I30317cThkEpvzfXujf0O4wtaQHtDCLhlivwlTJ885Ld+eOgcz7r3TGQzeU+cSRoNHtD8tsJgzxVdYojFssw==} engines: {node: '>=14.6.0'} hasBin: true @@ -9864,11 +9839,11 @@ packages: dependencies: '@next/env': 13.2.4 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001477 + caniuse-lite: 1.0.30001474 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.21.4)(react@18.2.0) + styled-jsx: 5.1.1(react@18.2.0) optionalDependencies: '@next/swc-android-arm-eabi': 13.2.4 '@next/swc-android-arm64': 13.2.4 @@ -9894,7 +9869,7 @@ packages: react: '>= 16.0.0' dependencies: '@types/nprogress': 0.2.0 - next: 13.2.4(@babel/core@7.21.4)(react-dom@18.2.0)(react@18.2.0) + next: 13.2.4(react-dom@18.2.0)(react@18.2.0) nprogress: 0.2.0 prop-types: 15.8.1 react: 18.2.0 @@ -9920,8 +9895,8 @@ packages: resolution: {integrity: sha512-GyHvgPvUXBvAkXa0YvYnhilSB1A+FRYMpIVggKzPZqdaZfevZOuzfWzyvgzOwRLHBeo/MMswmJFsrNF4Nw1pmA==} dev: false - /node-fetch-native@1.1.0: - resolution: {integrity: sha512-nl5goFCig93JZ9FIV8GHT9xpNqXbxQUzkOmKIMKmncsBH9jhg7qKex8hirpymkBFmNQ114chEEG5lS4wgK2I+Q==} + /node-fetch-native@1.0.2: + resolution: {integrity: sha512-KIkvH1jl6b3O7es/0ShyCgWLcfXxlBrLBbP3rOr23WArC66IMcU4DeZEeYEOwnopYhawLTn7/y+YtmASe8DFVQ==} dev: true /node-fetch@2.6.7: @@ -10109,7 +10084,7 @@ packages: resolution: {integrity: sha512-icBz2JYfEpt+wZz1FRoGcrMigjNKjzvufE26m9+yUiacRQRHwnNlGRPiDnW4op7WX/MR6aniwS8xw8jyVelF2g==} dependencies: destr: 1.2.2 - node-fetch-native: 1.1.0 + node-fetch-native: 1.0.2 ufo: 1.1.1 dev: true @@ -10478,13 +10453,12 @@ packages: read-cache: 1.0.0 resolve: 1.22.1 - /postcss-import@15.1.0(postcss@8.4.21): + /postcss-import@15.1.0: resolution: {integrity: sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==} engines: {node: '>=14.0.0'} peerDependencies: postcss: ^8.0.0 dependencies: - postcss: 8.4.21 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.1 @@ -10767,14 +10741,14 @@ packages: react: 18.2.0 dev: false - /react-hot-toast@2.4.0(csstype@3.1.2)(react-dom@18.2.0)(react@18.2.0): + /react-hot-toast@2.4.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-qnnVbXropKuwUpriVVosgo8QrB+IaPJCpL8oBI6Ov84uvHZ5QQcTp2qg6ku2wNfgJl6rlQXJIQU5q+5lmPOutA==} engines: {node: '>=10'} peerDependencies: react: '>=16' react-dom: '>=16' dependencies: - goober: 2.1.11(csstype@3.1.2) + goober: 2.1.11 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) transitivePeerDependencies: @@ -11490,7 +11464,7 @@ packages: dependencies: '@types/json-schema': 7.0.11 ajv: 8.12.0 - ajv-formats: 2.1.1(ajv@8.12.0) + ajv-formats: 2.1.1 ajv-keywords: 5.1.0(ajv@8.12.0) dev: true @@ -11527,13 +11501,6 @@ packages: dependencies: lru-cache: 6.0.0 - /semver@7.4.0: - resolution: {integrity: sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==} - engines: {node: '>=10'} - hasBin: true - dependencies: - lru-cache: 6.0.0 - /sentence-splitter@3.2.2: resolution: {integrity: sha512-hMvaodgK9Fay928uiQoTMEWjXpCERdKD2uKo7BbSyP+uWTo+wHiRjN+ZShyI99rW0VuoV4Cuw8FUmaRcnpN7Ug==} hasBin: true @@ -11555,12 +11522,6 @@ packages: dependencies: randombytes: 2.1.0 - /serialize-javascript@6.0.1: - resolution: {integrity: sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==} - dependencies: - randombytes: 2.1.0 - dev: true - /set-blocking@2.0.0: resolution: {integrity: sha512-KiKBS8AnWGEyLzofFfmvKwpdPzqiy16LvQfK3yv/fVH7Bj13/wl3JSR1J+rfgRE9q7xUJK4qvgS8raSOeLUehw==} dev: false @@ -11651,7 +11612,7 @@ packages: dependencies: '@polka/url': 1.0.0-next.21 mrmime: 1.0.1 - totalist: 3.0.1 + totalist: 3.0.0 dev: true /slash@3.0.0: @@ -11956,7 +11917,7 @@ packages: inline-style-parser: 0.1.1 dev: false - /styled-jsx@5.1.1(@babel/core@7.21.4)(react@18.2.0): + /styled-jsx@5.1.1(react@18.2.0): resolution: {integrity: sha512-pW7uC1l4mBZ8ugbiZrcIsiIvVx1UmTfw7UkC3Um2tmfUq9Bhk8IiyEIPl6F8agHgjzku6j0xQEZbfA5uSgSaCw==} engines: {node: '>= 12.0.0'} peerDependencies: @@ -11969,7 +11930,6 @@ packages: babel-plugin-macros: optional: true dependencies: - '@babel/core': 7.21.4 client-only: 0.0.1 react: 18.2.0 @@ -12047,15 +12007,13 @@ packages: peerDependencies: tailwindcss: '>=3.0.0 || insiders' dependencies: - tailwindcss: 3.3.1(postcss@8.4.21) + tailwindcss: 3.3.1 dev: false - /tailwindcss@3.3.1(postcss@8.4.21): + /tailwindcss@3.3.1: resolution: {integrity: sha512-Vkiouc41d4CEq0ujXl6oiGFQ7bA3WEhUZdTgXAhtKxSy49OmKs8rEfQmupsfF0IGW8fv2iQkp1EVUuapCFrZ9g==} engines: {node: '>=12.13.0'} hasBin: true - peerDependencies: - postcss: ^8.0.9 dependencies: arg: 5.0.2 chokidar: 3.5.3 @@ -12137,7 +12095,7 @@ packages: unique-string: 2.0.0 dev: true - /terser-webpack-plugin@5.3.6(esbuild@0.17.16)(webpack@5.78.0): + /terser-webpack-plugin@5.3.6(esbuild@0.17.16): resolution: {integrity: sha512-kfLFk+PoLUQIbLmB1+PZDMRSZS99Mp+/MHqDNmMA6tOItzRt+Npe3E+fsMs5mfcM0wCtrrdU387UnV+vnSffXQ==} engines: {node: '>= 10.13.0'} peerDependencies: @@ -12159,32 +12117,6 @@ packages: schema-utils: 3.1.1 serialize-javascript: 6.0.0 terser: 5.16.1 - webpack: 5.78.0(esbuild@0.17.16) - dev: true - - /terser-webpack-plugin@5.3.7(esbuild@0.17.16)(webpack@5.78.0): - resolution: {integrity: sha512-AfKwIktyP7Cu50xNjXF/6Qb5lBNzYaWpU6YfoX3uZicTx0zTy0stDDCsvjDapKsSDvOeWo5MEq4TmdBy2cNoHw==} - engines: {node: '>= 10.13.0'} - peerDependencies: - '@swc/core': '*' - esbuild: '*' - uglify-js: '*' - webpack: ^5.1.0 - peerDependenciesMeta: - '@swc/core': - optional: true - esbuild: - optional: true - uglify-js: - optional: true - dependencies: - '@jridgewell/trace-mapping': 0.3.18 - esbuild: 0.17.16 - jest-worker: 27.5.1 - schema-utils: 3.1.1 - serialize-javascript: 6.0.1 - terser: 5.16.9 - webpack: 5.78.0(esbuild@0.17.16) dev: true /terser@5.16.1: @@ -12198,17 +12130,6 @@ packages: source-map-support: 0.5.21 dev: true - /terser@5.16.9: - resolution: {integrity: sha512-HPa/FdTB9XGI2H1/keLFZHxl6WNvAI4YalHGtDQTlMnJcoqSab1UwL4l1hGEhs6/GmLHBZIg/YgB++jcbzoOEg==} - engines: {node: '>=10'} - hasBin: true - dependencies: - '@jridgewell/source-map': 0.3.3 - acorn: 8.8.2 - commander: 2.20.3 - source-map-support: 0.5.21 - dev: true - /text-encoding-utf-8@1.0.2: resolution: {integrity: sha512-8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==} dev: false @@ -12286,8 +12207,8 @@ packages: engines: {node: '>=6'} dev: true - /totalist@3.0.1: - resolution: {integrity: sha512-sf4i37nQ2LBx4m3wB74y+ubopq6W/dIzXg0FDGjsYnZHVa1Da8FH853wlL2gtUhg+xJXjfk3kUZS3BRoQeoQBQ==} + /totalist@3.0.0: + resolution: {integrity: sha512-eM+pCBxXO/njtF7vdFsHuqb+ElbxqtI4r5EAvk6grfAFyJ6IvWlSkfZ5T9ozC6xWw3Fj1fGoSmrl0gUs46JVIw==} engines: {node: '>=6'} dev: true @@ -12650,7 +12571,7 @@ packages: engines: {node: '>= 10.0.0'} dev: true - /unocss@0.51.4(postcss@8.4.21)(rollup@2.79.1)(vite@4.2.1): + /unocss@0.51.4: resolution: {integrity: sha512-84kRoL29Rk0AKdeS2GGZ+YduW5F0S2on3cSxA2Hh1KlI4MN8Xvxa8+f4RfFS0U5iH4yoHohvcWThRgjDhOWSeg==} engines: {node: '>=14'} peerDependencies: @@ -12659,11 +12580,11 @@ packages: '@unocss/webpack': optional: true dependencies: - '@unocss/astro': 0.51.4(rollup@2.79.1)(vite@4.2.1) - '@unocss/cli': 0.51.4(rollup@2.79.1) + '@unocss/astro': 0.51.4 + '@unocss/cli': 0.51.4 '@unocss/core': 0.51.4 '@unocss/extractor-arbitrary-variants': 0.51.4 - '@unocss/postcss': 0.51.4(postcss@8.4.21) + '@unocss/postcss': 0.51.4 '@unocss/preset-attributify': 0.51.4 '@unocss/preset-icons': 0.51.4 '@unocss/preset-mini': 0.51.4 @@ -12678,9 +12599,8 @@ packages: '@unocss/transformer-compile-class': 0.51.4 '@unocss/transformer-directives': 0.51.4 '@unocss/transformer-variant-group': 0.51.4 - '@unocss/vite': 0.51.4(rollup@2.79.1)(vite@4.2.1) + '@unocss/vite': 0.51.4 transitivePeerDependencies: - - postcss - rollup - supports-color - vite @@ -12886,7 +12806,7 @@ packages: hasBin: true dependencies: cac: 6.7.14 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 mlly: 1.2.0 pathe: 1.1.0 picocolors: 1.0.0 @@ -12979,7 +12899,7 @@ packages: cac: 6.7.14 chai: 4.3.7 concordance: 5.0.4 - debug: 4.3.4(supports-color@8.1.1) + debug: 4.3.4 local-pkg: 0.4.3 magic-string: 0.30.0 pathe: 1.1.0 @@ -13010,7 +12930,7 @@ packages: resolution: {integrity: sha512-f+fciywl1SJEniZHD6H+kUO8gOnwIr7f4ijKA6+ZvJFjeGi1r4PDLl53Ayud9O/rk64RqgoQine0feoeOU0kXg==} dev: false - /wagmi@0.12.10(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): + /wagmi@0.12.10(@types/node@18.15.11)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-ELgM4Rt6Vnb5HgX8p9vmyXLz/TaxixfJ6qVyLchNJE6cR3dBD74wywtble2s5GsVWJFWeaUauEMVCXPLA+4hSw==} peerDependencies: ethers: '>=5.5.1 <6' @@ -13020,12 +12940,11 @@ packages: typescript: optional: true dependencies: - '@tanstack/query-sync-storage-persister': 4.29.1 + '@tanstack/query-sync-storage-persister': 4.27.1 '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query-persist-client': 4.29.1(@tanstack/react-query@4.29.1) - '@wagmi/core': 0.10.9(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react@18.2.0)(typescript@5.0.4) + '@wagmi/core': 0.10.9(@types/node@18.15.11)(immer@9.0.21)(react@18.2.0)(typescript@5.0.4) abitype: 0.7.1(typescript@5.0.4) - ethers: 5.7.2 react: 18.2.0 typescript: 5.0.4 use-sync-external-store: 1.2.0(react@18.2.0) @@ -13047,14 +12966,6 @@ packages: - zod dev: false - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - dev: true - /web-namespaces@2.0.1: resolution: {integrity: sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==} dev: false @@ -13133,51 +13044,6 @@ packages: source-map: 0.6.1 dev: true - /webpack-sources@3.2.3: - resolution: {integrity: sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==} - engines: {node: '>=10.13.0'} - dev: true - - /webpack@5.78.0(esbuild@0.17.16): - resolution: {integrity: sha512-gT5DP72KInmE/3azEaQrISjTvLYlSM0j1Ezhht/KLVkrqtv10JoP/RXhwmX/frrutOPuSq3o5Vq0ehR/4Vmd1g==} - engines: {node: '>=10.13.0'} - hasBin: true - peerDependencies: - webpack-cli: '*' - peerDependenciesMeta: - webpack-cli: - optional: true - dependencies: - '@types/eslint-scope': 3.7.4 - '@types/estree': 0.0.51 - '@webassemblyjs/ast': 1.11.1 - '@webassemblyjs/wasm-edit': 1.11.1 - '@webassemblyjs/wasm-parser': 1.11.1 - acorn: 8.8.2 - acorn-import-assertions: 1.8.0(acorn@8.8.2) - browserslist: 4.21.5 - chrome-trace-event: 1.0.3 - enhanced-resolve: 5.12.0 - es-module-lexer: 0.9.3 - eslint-scope: 5.1.1 - events: 3.3.0 - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - json-parse-even-better-errors: 2.3.1 - loader-runner: 4.3.0 - mime-types: 2.1.35 - neo-async: 2.6.2 - schema-utils: 3.1.1 - tapable: 2.2.1 - terser-webpack-plugin: 5.3.7(esbuild@0.17.16)(webpack@5.78.0) - watchpack: 2.4.0 - webpack-sources: 3.2.3 - transitivePeerDependencies: - - '@swc/core' - - esbuild - - uglify-js - dev: true - /websocket@1.0.34: resolution: {integrity: sha512-PRDso2sGwF6kM75QykIesBijKSVceR6jL2G8NGYyq2XrItNC2P5/qL5XeR056GhA+Ly7JMFvJb9I312mJfmqnQ==} engines: {node: '>=4.0.0'} @@ -13418,7 +13284,7 @@ packages: resolution: {integrity: sha512-vo2RQo7DILVRoH5LjGqw3nphavEjK4Qk+FenXeUsknKn14eCNedHOXWbmnvP4ipKhlE35pvJ4yl4YYf6YsJArA==} dev: true - /workbox-webpack-plugin@6.5.4(webpack@5.78.0): + /workbox-webpack-plugin@6.5.4: resolution: {integrity: sha512-LmWm/zoaahe0EGmMTrSLUi+BjyR3cdGEfU3fS6PN1zKFYbqAKuQ+Oy/27e4VSXsyIwAw8+QDfk1XHNGtZu9nQg==} engines: {node: '>=10.0.0'} peerDependencies: @@ -13427,7 +13293,6 @@ packages: fast-json-stable-stringify: 2.1.0 pretty-bytes: 5.6.0 upath: 1.2.0 - webpack: 5.78.0(esbuild@0.17.16) webpack-sources: 1.4.3 workbox-build: 6.5.4 transitivePeerDependencies: diff --git a/scripts/tw/generate-css-var.js b/scripts/tw/generate-css-var.js index 60aea641..617d955a 100644 --- a/scripts/tw/generate-css-var.js +++ b/scripts/tw/generate-css-var.js @@ -25,13 +25,13 @@ ${normalCSS} } @media (prefers-color-scheme: dark) { - html:not(.dark):not(.light) { + html:not(.light) { ${darkCSS} } } @media (prefers-color-scheme: light) { - html:not(.dark):not(.light) { + html:not(.dark) { ${normalCSS} } } diff --git a/scripts/tw/transform.js b/scripts/tw/transform.js index 14c0620e..a6f56956 100644 --- a/scripts/tw/transform.js +++ b/scripts/tw/transform.js @@ -74,10 +74,10 @@ const transformColorObjectOfDarkmode = () => { black: "var(--tw-colors-i-black)", white: "var(--tw-colors-i-white)", }) - cssVar["--tw-colors-i-black"] = "0, 0, 0" - cssVar["--tw-colors-i-white"] = "255, 255, 255" - cssVarDark["--tw-colors-i-black"] = "255, 255, 255" - cssVarDark["--tw-colors-i-white"] = "0, 0, 0" + cssVar["--tw-colors-i-black"] = "#000" + cssVar["--tw-colors-i-white"] = "#fff" + cssVarDark["--tw-colors-i-black"] = "#fff" + cssVarDark["--tw-colors-i-white"] = "#000" return [nextColorObject, cssVar, cssVarDark] } diff --git a/src/components/site/SiteLayout.tsx b/src/components/site/SiteLayout.tsx index 83970b74..4a59403a 100644 --- a/src/components/site/SiteLayout.tsx +++ b/src/components/site/SiteLayout.tsx @@ -1,20 +1,18 @@ +import { useAccountState } from "@crossbell/connect-kit" +import { useRouter } from "next/router" import React, { useEffect } from "react" +import { BlockchainInfo } from "~/components/common/BlockchainInfo" +import { useUserRole } from "~/hooks/useUserRole" +import { IS_PROD } from "~/lib/constants" +import { OUR_DOMAIN, SITE_URL } from "~/lib/env" +import { toGateway } from "~/lib/ipfs-parser" import { getUserContentsUrl } from "~/lib/user-contents" +import { cn } from "~/lib/utils" +import { useCheckLike, useCheckMint, useGetPage } from "~/queries/page" +import { useGetSite, useGetSubscription } from "~/queries/site" import { SEOHead } from "../common/SEOHead" import { SiteFooter } from "./SiteFooter" import { SiteHeader } from "./SiteHeader" -import { useRouter } from "next/router" -import { BlockchainInfo } from "~/components/common/BlockchainInfo" -import { useGetSite } from "~/queries/site" -import { useGetPage } from "~/queries/page" -import { OUR_DOMAIN, SITE_URL } from "~/lib/env" -import { IS_PROD } from "~/lib/constants" -import { toGateway } from "~/lib/ipfs-parser" -import { useUserRole } from "~/hooks/useUserRole" -import { useGetSubscription } from "~/queries/site" -import { cn } from "~/lib/utils" -import { useCheckLike, useCheckMint } from "~/queries/page" -import { useAccountState } from "@crossbell/connect-kit" export type SiteLayoutProps = { children: React.ReactNode diff --git a/src/components/ui/Editor.tsx b/src/components/ui/Editor.tsx index b67a7236..ffb08632 100644 --- a/src/components/ui/Editor.tsx +++ b/src/components/ui/Editor.tsx @@ -6,6 +6,11 @@ import type { EditorState } from "@codemirror/state" import { useState, useEffect, useMemo } from "react" import { useTranslation } from "next-i18next" import { useMobileLayout } from "~/hooks/useMobileLayout" +import { + codemirrorReconfigureExtension, + useCodeMirrorAutoToggleTheme, +} from "~/hooks/useCodemirrorTheme" +import { useMediaStore } from "~/hooks/useDarkMode" export const Editor: React.FC<{ value: string @@ -27,6 +32,9 @@ export const Editor: React.FC<{ const { t } = useTranslation("dashboard") const [extensions, setExtensions] = useState([]) const isMobileLayout = useMobileLayout() + const [editor, setCmEditor] = useState(null) + const isDark = useMediaStore((state) => state.isDark) + useCodeMirrorAutoToggleTheme(editor, isDark) useEffect(() => { setExtensions([ markdown(), @@ -46,6 +54,7 @@ export const Editor: React.FC<{ }, "&.cm-editor": { height: "100%", + backgroundColor: "transparent", }, }), EditorView.domEventHandlers({ @@ -82,6 +91,7 @@ export const Editor: React.FC<{ }, }), EditorView.lineWrapping, + ...codemirrorReconfigureExtension, ]) }, [onScroll, handleDropFile]) @@ -93,7 +103,10 @@ export const Editor: React.FC<{ }`} value={value} extensions={extensions} - onCreateEditor={onCreateEditor} + onCreateEditor={(view, state) => { + setCmEditor(view) + onCreateEditor?.(view, state) + }} basicSetup={{ lineNumbers: false, foldGutter: false, diff --git a/src/css/css-var.css b/src/css/css-var.css index a01716d7..3190c9c1 100644 --- a/src/css/css-var.css +++ b/src/css/css-var.css @@ -241,6 +241,8 @@ --tw-colors-i-rose-800: 159, 18, 57; --tw-colors-i-rose-900: 136, 19, 55; --tw-colors-i-rose-950: 76, 5, 25; + --tw-colors-i-black: #000; + --tw-colors-i-white: #fff; } html.dark { @@ -486,6 +488,8 @@ html.dark { --tw-colors-i-rose-800: 254, 205, 211; --tw-colors-i-rose-900: 255, 228, 230; --tw-colors-i-rose-950: 255, 241, 242; + --tw-colors-i-black: #fff; + --tw-colors-i-white: #000; } html.light { @@ -731,10 +735,12 @@ html.light { --tw-colors-i-rose-800: 159, 18, 57; --tw-colors-i-rose-900: 136, 19, 55; --tw-colors-i-rose-950: 76, 5, 25; + --tw-colors-i-black: #000; + --tw-colors-i-white: #fff; } @media (prefers-color-scheme: dark) { - html:not(.dark):not(.light) { + html:not(.light) { --tw-colors-i-slate-50: 2, 6, 23; --tw-colors-i-slate-100: 15, 23, 42; --tw-colors-i-slate-200: 30, 41, 59; @@ -977,11 +983,13 @@ html.light { --tw-colors-i-rose-800: 254, 205, 211; --tw-colors-i-rose-900: 255, 228, 230; --tw-colors-i-rose-950: 255, 241, 242; + --tw-colors-i-black: #fff; + --tw-colors-i-white: #000; } } @media (prefers-color-scheme: light) { - html:not(.dark):not(.light) { + html:not(.dark) { --tw-colors-i-slate-50: 248, 250, 252; --tw-colors-i-slate-100: 241, 245, 249; --tw-colors-i-slate-200: 226, 232, 240; @@ -1224,5 +1232,7 @@ html.light { --tw-colors-i-rose-800: 159, 18, 57; --tw-colors-i-rose-900: 136, 19, 55; --tw-colors-i-rose-950: 76, 5, 25; + --tw-colors-i-black: #000; + --tw-colors-i-white: #fff; } } diff --git a/src/css/tailwind.css b/src/css/tailwind.css index a91c04ae..d4e85696 100644 --- a/src/css/tailwind.css +++ b/src/css/tailwind.css @@ -17,7 +17,7 @@ } body { - @apply break-words; + @apply break-words bg-white; } .container { diff --git a/src/hooks/useCodemirrorTheme.ts b/src/hooks/useCodemirrorTheme.ts new file mode 100644 index 00000000..35f37a32 --- /dev/null +++ b/src/hooks/useCodemirrorTheme.ts @@ -0,0 +1,33 @@ +import type { Extension } from "@codemirror/state" +import { Compartment } from "@codemirror/state" +import { EditorView } from "@codemirror/view" +import { useEffect } from "react" + +import { oneDark } from "@codemirror/theme-one-dark" +import { githubLight } from "@ddietr/codemirror-themes/theme/github-light" + +const extensionMap = { + theme: new Compartment(), +} + +export const codemirrorReconfigureExtension: Extension[] = [ + extensionMap.theme.of([]), +] + +export const useCodeMirrorAutoToggleTheme = ( + view: EditorView | null, + isDark: boolean, +) => { + useEffect(() => { + if (!view) return + if (isDark) { + view.dispatch({ + effects: [extensionMap.theme.reconfigure(oneDark)], + }) + } else { + view.dispatch({ + effects: [extensionMap.theme.reconfigure(githubLight)], + }) + } + }, [view, isDark]) +} diff --git a/src/hooks/useDarkMode.ts b/src/hooks/useDarkMode.ts new file mode 100644 index 00000000..771f38d3 --- /dev/null +++ b/src/hooks/useDarkMode.ts @@ -0,0 +1,157 @@ +import { useEffect, useState } from "react" + +import { create } from "zustand" + +export const useMediaStore = create<{ + isDark: boolean + setDark: (isDark: boolean) => void +}>((set) => { + return { + isDark: false, + setDark: (isDark: boolean) => set({ isDark }), + } +}) + +const isServerSide = () => typeof window === "undefined" + +interface DarkModeConfig { + classNameDark?: string // A className to set "dark mode". Default = "dark-mode". + classNameLight?: string // A className to set "light mode". Default = "light-mode". + element?: HTMLElement | undefined | null // The element to apply the className. Default = `document.body` + storageKey?: string // Specify the `localStorage` key. Default = "darkMode". Sewt to `null` to disable persistent storage. +} + +const useDarkMode = ( + initialState: boolean | undefined, + options: DarkModeConfig, +) => { + const { + classNameDark = "dark", + classNameLight = "light", + storageKey, + element, + } = options + + const [darkMode, setDarkMode] = useState(initialState) + + useEffect(() => { + const presentedDarkMode = storageKey + ? isServerSide() + ? null + : localStorage.getItem(storageKey) + : null + + if (presentedDarkMode !== null) { + if (presentedDarkMode === "true") { + setDarkMode(true) + } else if (presentedDarkMode === "false") { + setDarkMode(false) + } + } else if (typeof initialState === "undefined") { + setDarkMode(window.matchMedia("(prefers-color-scheme: dark)").matches) + } + }, [storageKey]) + + useEffect(() => { + const handler = (e: MediaQueryListEvent) => { + const storageValue = localStorage.getItem(storageKey || "darkMode") + if (storageValue === null) { + setDarkMode(e.matches) + } + } + + const focusHandler = () => { + const storageValue = localStorage.getItem(storageKey || "darkMode") + if (storageValue === null) { + setDarkMode(window.matchMedia("(prefers-color-scheme: dark)").matches) + } + } + + window.addEventListener("focus", focusHandler) + window + .matchMedia("(prefers-color-scheme: dark)") + .addEventListener("change", handler) + + return () => { + window.removeEventListener("focus", focusHandler) + window + .matchMedia("(prefers-color-scheme: dark)") + .removeEventListener("change", handler) + } + }, [storageKey]) + + useEffect(() => { + if (isServerSide()) { + return + } + + const $el = element || document.documentElement + if (darkMode) { + $el.classList.remove(classNameLight) + $el.classList.add(classNameDark) + } else { + $el.classList.remove(classNameDark) + $el.classList.add(classNameLight) + } + }, [classNameDark, classNameLight, darkMode, element]) + + if (isServerSide()) { + return { + toggle: () => {}, + value: false, + } + } + + return { + value: darkMode, + toggle: () => { + setDarkMode((d) => { + if (storageKey && !isServerSide()) { + localStorage.setItem(storageKey, String(!d)) + } + + return !d + }) + }, + } +} + +const noop = () => {} + +const mockElement = { + classList: { + add: noop, + remove: noop, + }, +} +const darkModeKey = "darkMode" +export const useMediaToggle = () => { + const { toggle, value } = useDarkMode(undefined, { + classNameDark: "dark", + classNameLight: "light", + storageKey: darkModeKey, + element: (globalThis.document && document.documentElement) || mockElement, + }) + + useEffect(() => { + useMediaStore.getState().setDark(value ? true : false) + }, [value]) + + useEffect(() => { + const handler = () => { + if (window.matchMedia("(prefers-color-scheme: dark)").matches === value) { + localStorage.removeItem(darkModeKey) + } + } + window.addEventListener("beforeunload", handler) + + return () => { + window.removeEventListener("beforeunload", handler) + } + }, [value]) + + return { + toggle, + value, + } +} diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index a215afe6..5f685c2b 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -20,6 +20,7 @@ import { toGateway } from "~/lib/ipfs-parser" import { createIDBPersister } from "~/lib/persister.client" import { urlComposer } from "~/lib/url-composer" import { AppPropsWithLayout } from "types/next" +import { useMediaToggle } from "~/hooks/useDarkMode" Network.setIpfsGateway(IPFS_GATEWAY) diff --git a/src/pages/dashboard/[subdomain]/editor.tsx b/src/pages/dashboard/[subdomain]/editor.tsx index 5a07be1f..98765b9f 100644 --- a/src/pages/dashboard/[subdomain]/editor.tsx +++ b/src/pages/dashboard/[subdomain]/editor.tsx @@ -635,7 +635,7 @@ export default function SubdomainEditor() { } }} onChange={(e) => updateValue("title", e.target.value)} - className="h-12 ml-1 inline-flex items-center border-none text-3xl font-bold w-full focus:outline-none" + className="h-12 ml-1 inline-flex items-center border-none text-3xl font-bold w-full focus:outline-none bg-white" placeholder={t("Title goes here...") || ""} /> diff --git a/tw-colors.js b/tw-colors.js index 28b21516..1eee014e 100644 --- a/tw-colors.js +++ b/tw-colors.js @@ -285,4 +285,9 @@ export default { 900: "rgba(var(--tw-colors-i-rose-900), )", 950: "rgba(var(--tw-colors-i-rose-950), )", }, + inherit: "inherit", + current: "currentColor", + transparent: "transparent", + black: "var(--tw-colors-i-black)", + white: "var(--tw-colors-i-white)", } From 0c8a685313e92edb337b5160fd70af024d8f0ffa Mon Sep 17 00:00:00 2001 From: Innei Date: Tue, 11 Apr 2023 22:52:51 +0800 Subject: [PATCH 03/16] fix: built color Signed-off-by: Innei --- src/css/tailwind.css | 5 +++++ src/css/variables.css | 18 +++++++++++++++++- src/pages/_app.tsx | 1 + 3 files changed, 23 insertions(+), 1 deletion(-) diff --git a/src/css/tailwind.css b/src/css/tailwind.css index d4e85696..89bf714f 100644 --- a/src/css/tailwind.css +++ b/src/css/tailwind.css @@ -8,6 +8,11 @@ @apply fill-zinc-800; font-family: var(--font-fans); } + + input, + textarea { + @apply bg-white; + } } *, diff --git a/src/css/variables.css b/src/css/variables.css index 1b0a05b3..fe9e1f95 100644 --- a/src/css/variables.css +++ b/src/css/variables.css @@ -1,4 +1,4 @@ -:root { +html { --border-color: #eee; --font-fans: theme("fontFamily.sans"); --theme-color: var(--auto-theme-color, theme("colors.orange.500")); @@ -7,3 +7,19 @@ /* Accent color for form controls */ accent-color: var(--theme-color); } + +html.dark { + --border-color: #333; +} + +@media (prefers-color-scheme: dark) { + html.not(.light) { + --border-color: #333; + } +} + +@media (prefers-color-scheme: light) { + html.not(.dark) { + --border-color: #eee; + } +} diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 5f685c2b..2b369878 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -39,6 +39,7 @@ const persister = createIDBPersister() function MyApp({ Component, pageProps }: AppPropsWithLayout) { const getLayout = Component.getLayout ?? ((page) => page) + useMediaToggle() return ( Date: Wed, 12 Apr 2023 00:10:47 +0800 Subject: [PATCH 04/16] refactor: resolve review comment --- package.json | 2 +- pnpm-lock.yaml | 2 +- scripts/tw/generate-css-var.js | 8 ++------ 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 5a16fac3..82e7a9cb 100644 --- a/package.json +++ b/package.json @@ -119,7 +119,7 @@ "use-onclickoutside": "0.4.1", "uuid": "9.0.0", "wagmi": "0.12.10", - "zustand": "4.3.7" + "zustand": "^4.3.7" }, "devDependencies": { "@next/bundle-analyzer": "13.3.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 12b9235f..0e454530 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -287,7 +287,7 @@ dependencies: specifier: 0.12.10 version: 0.12.10(@types/node@18.15.11)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) zustand: - specifier: 4.3.7 + specifier: ^4.3.7 version: 4.3.7(immer@9.0.21)(react@18.2.0) devDependencies: diff --git a/scripts/tw/generate-css-var.js b/scripts/tw/generate-css-var.js index 617d955a..fb3485de 100644 --- a/scripts/tw/generate-css-var.js +++ b/scripts/tw/generate-css-var.js @@ -40,15 +40,11 @@ ${normalCSS} fs.writeFileSync( path.resolve(__dirname, "../../src/css/css-var.css"), cssString, - { - encoding: "utf-8", - }, + "utf-8", ) fs.writeFileSync( path.resolve(__dirname, "../../tw-colors.js"), `export default ${JSON.stringify(colorObject, null, 2)}`, - { - encoding: "utf-8", - }, + "utf-8", ) From c24d1d1fba3b8c6becc06c5a1fc25a5355a10edf Mon Sep 17 00:00:00 2001 From: suemor Date: Wed, 12 Apr 2023 00:20:42 +0800 Subject: [PATCH 05/16] fix: _app type issues --- src/pages/_app.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 2b369878..8e373d7c 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -21,6 +21,7 @@ import { createIDBPersister } from "~/lib/persister.client" import { urlComposer } from "~/lib/url-composer" import { AppPropsWithLayout } from "types/next" import { useMediaToggle } from "~/hooks/useDarkMode" +import { AppPropsWithLayout } from "types/next" Network.setIpfsGateway(IPFS_GATEWAY) From 430d813a67437b53ef0d71008056c1897ccf5aa1 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Tue, 11 Apr 2023 18:01:06 +0100 Subject: [PATCH 06/16] chore: update dependencies --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 82e7a9cb..475e65d1 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,6 @@ "@codemirror/lang-markdown": "6.1.0", "@codemirror/language": "6.6.0", "@codemirror/state": "6.2.0", - "@codemirror/view": "6.9.4", "@codemirror/theme-one-dark": "6.1.1", "@crossbell/connect-kit": "0.0.63", "@crossbell/contract": "0.0.63", @@ -38,6 +37,7 @@ "@crossbell/util-hooks": "0.0.63", "@dqbd/tiktoken": "^1.0.4", "@ddietr/codemirror-themes": "1.4.0", + "@codemirror/view": "6.9.4", "@emoji-mart/data": "1.1.2", "@emoji-mart/react": "1.1.1", "@floating-ui/react": "^0.23.0", From c45fc71f4ff41e8f0950fff9549ee6458472afc3 Mon Sep 17 00:00:00 2001 From: Innei Date: Wed, 12 Apr 2023 23:08:27 +0800 Subject: [PATCH 07/16] feat: support monaco theme toggle Signed-off-by: Innei --- src/components/common/Monaco/index.tsx | 7 + src/components/common/Monaco/theme/dark.json | 244 ++++++++++++++++++ src/components/common/Monaco/theme/light.json | 98 +++++++ src/components/common/Monaco/use-theme.ts | 32 +++ .../dashboard/[subdomain]/settings/css.tsx | 6 +- 5 files changed, 385 insertions(+), 2 deletions(-) create mode 100644 src/components/common/Monaco/index.tsx create mode 100644 src/components/common/Monaco/theme/dark.json create mode 100644 src/components/common/Monaco/theme/light.json create mode 100644 src/components/common/Monaco/use-theme.ts diff --git a/src/components/common/Monaco/index.tsx b/src/components/common/Monaco/index.tsx new file mode 100644 index 00000000..f6f02bea --- /dev/null +++ b/src/components/common/Monaco/index.tsx @@ -0,0 +1,7 @@ +import Editor, { EditorProps } from "@monaco-editor/react" +import { useMonacoTheme } from "./use-theme" + +export function MonacoEditor(props: EditorProps) { + useMonacoTheme() + return +} diff --git a/src/components/common/Monaco/theme/dark.json b/src/components/common/Monaco/theme/dark.json new file mode 100644 index 00000000..56285ba6 --- /dev/null +++ b/src/components/common/Monaco/theme/dark.json @@ -0,0 +1,244 @@ +{ + "base": "vs-dark", + "inherit": true, + "rules": [ + { + "background": "000000", + "token": "" + }, + { + "foreground": "969896", + "token": "comment" + }, + { + "foreground": "eeeeee", + "token": "keyword.operator.class" + }, + { + "foreground": "eeeeee", + "token": "constant.other" + }, + { + "foreground": "eeeeee", + "token": "source.php.embedded.line" + }, + { + "foreground": "d54e53", + "token": "variable" + }, + { + "foreground": "d54e53", + "token": "support.other.variable" + }, + { + "foreground": "d54e53", + "token": "string.other.link" + }, + { + "foreground": "d54e53", + "token": "string.regexp" + }, + { + "foreground": "d54e53", + "token": "entity.name.tag" + }, + { + "foreground": "d54e53", + "token": "entity.other.attribute-name" + }, + { + "foreground": "d54e53", + "token": "meta.tag" + }, + { + "foreground": "d54e53", + "token": "declaration.tag" + }, + { + "foreground": "d54e53", + "token": "markup.deleted.git_gutter" + }, + { + "foreground": "e78c45", + "token": "constant.numeric" + }, + { + "foreground": "e78c45", + "token": "constant.language" + }, + { + "foreground": "e78c45", + "token": "support.constant" + }, + { + "foreground": "e78c45", + "token": "constant.character" + }, + { + "foreground": "e78c45", + "token": "variable.parameter" + }, + { + "foreground": "e78c45", + "token": "punctuation.section.embedded" + }, + { + "foreground": "e78c45", + "token": "keyword.other.unit" + }, + { + "foreground": "e7c547", + "token": "entity.name.class" + }, + { + "foreground": "e7c547", + "token": "entity.name.type.class" + }, + { + "foreground": "e7c547", + "token": "support.type" + }, + { + "foreground": "e7c547", + "token": "support.class" + }, + { + "foreground": "b9ca4a", + "token": "string" + }, + { + "foreground": "b9ca4a", + "token": "constant.other.symbol" + }, + { + "foreground": "b9ca4a", + "token": "entity.other.inherited-class" + }, + { + "foreground": "b9ca4a", + "token": "markup.heading" + }, + { + "foreground": "b9ca4a", + "token": "markup.inserted.git_gutter" + }, + { + "foreground": "70c0b1", + "token": "keyword.operator" + }, + { + "foreground": "70c0b1", + "token": "constant.other.color" + }, + { + "foreground": "7aa6da", + "token": "entity.name.function" + }, + { + "foreground": "7aa6da", + "token": "meta.function-call" + }, + { + "foreground": "7aa6da", + "token": "support.function" + }, + { + "foreground": "7aa6da", + "token": "keyword.other.special-method" + }, + { + "foreground": "7aa6da", + "token": "meta.block-level" + }, + { + "foreground": "7aa6da", + "token": "markup.changed.git_gutter" + }, + { + "foreground": "c397d8", + "token": "keyword" + }, + { + "foreground": "c397d8", + "token": "storage" + }, + { + "foreground": "c397d8", + "token": "storage.type" + }, + { + "foreground": "c397d8", + "token": "entity.name.tag.css" + }, + { + "foreground": "ced2cf", + "background": "df5f5f", + "token": "invalid" + }, + { + "foreground": "ced2cf", + "background": "82a3bf", + "token": "meta.separator" + }, + { + "foreground": "ced2cf", + "background": "b798bf", + "token": "invalid.deprecated" + }, + { + "foreground": "ffffff", + "token": "markup.inserted.diff" + }, + { + "foreground": "ffffff", + "token": "markup.deleted.diff" + }, + { + "foreground": "ffffff", + "token": "meta.diff.header.to-file" + }, + { + "foreground": "ffffff", + "token": "meta.diff.header.from-file" + }, + { + "foreground": "718c00", + "token": "markup.inserted.diff" + }, + { + "foreground": "718c00", + "token": "meta.diff.header.to-file" + }, + { + "foreground": "c82829", + "token": "markup.deleted.diff" + }, + { + "foreground": "c82829", + "token": "meta.diff.header.from-file" + }, + { + "foreground": "ffffff", + "background": "4271ae", + "token": "meta.diff.header.from-file" + }, + { + "foreground": "ffffff", + "background": "4271ae", + "token": "meta.diff.header.to-file" + }, + { + "foreground": "3e999f", + "fontStyle": "italic", + "token": "meta.diff.range" + } + ], + "colors": { + "editor.foreground": "#DEDEDE", + "editor.background": "#00000000", + "editor.selectionBackground": "#424242", + "editor.lineHighlightBackground": "#2A2A2A", + "editorCursor.foreground": "#9F9F9F", + "editorWhitespace.foreground": "#343434" + } +} diff --git a/src/components/common/Monaco/theme/light.json b/src/components/common/Monaco/theme/light.json new file mode 100644 index 00000000..779b419c --- /dev/null +++ b/src/components/common/Monaco/theme/light.json @@ -0,0 +1,98 @@ +{ + "base": "vs", + "inherit": true, + "rules": [ + { + "background": "FFFFFF", + "token": "" + }, + { + "foreground": "008e00", + "token": "comment" + }, + { + "foreground": "7d4726", + "token": "meta.preprocessor" + }, + { + "foreground": "7d4726", + "token": "keyword.control.import" + }, + { + "foreground": "df0002", + "token": "string" + }, + { + "foreground": "3a00dc", + "token": "constant.numeric" + }, + { + "foreground": "c800a4", + "token": "constant.language" + }, + { + "foreground": "275a5e", + "token": "constant.character" + }, + { + "foreground": "275a5e", + "token": "constant.other" + }, + { + "foreground": "c800a4", + "token": "variable.language" + }, + { + "foreground": "c800a4", + "token": "variable.other" + }, + { + "foreground": "c800a4", + "token": "keyword" + }, + { + "foreground": "c900a4", + "token": "storage" + }, + { + "foreground": "438288", + "token": "entity.name.class" + }, + { + "foreground": "790ead", + "token": "entity.name.tag" + }, + { + "foreground": "450084", + "token": "entity.other.attribute-name" + }, + { + "foreground": "450084", + "token": "support.function" + }, + { + "foreground": "450084", + "token": "support.constant" + }, + { + "foreground": "790ead", + "token": "support.type" + }, + { + "foreground": "790ead", + "token": "support.class" + }, + { + "foreground": "790ead", + "token": "support.other.variable" + } + ], + "colors": { + "editor.foreground": "#000000", + "editor.background": "#FFFFFF00", + "editor.selectionBackground": "#B5D5FF", + "editor.lineHighlightBackground": "#00000012", + "editorCursor.foreground": "#000000", + "editorWhitespace.foreground": "#BFBFBF" + } +} diff --git a/src/components/common/Monaco/use-theme.ts b/src/components/common/Monaco/use-theme.ts new file mode 100644 index 00000000..db5fd906 --- /dev/null +++ b/src/components/common/Monaco/use-theme.ts @@ -0,0 +1,32 @@ +import { useMonaco } from "@monaco-editor/react" +import { useEffect } from "react" +import { useMediaStore } from "~/hooks/useDarkMode" +import Dark from "./theme/dark.json" +import Light from "./theme/light.json" + +const set = new Set() +const useDefineTheme = (theme: string, json: any) => { + const monaco = useMonaco() + useEffect(() => { + if (set.has(theme)) { + return + } + + if (monaco) { + monaco.editor.defineTheme(theme, json) + + set.add(theme) + } + }, [monaco, theme]) +} + +export const useMonacoTheme = () => { + useDefineTheme("light", Light) + useDefineTheme("dark", Dark) + const isDark = useMediaStore((state) => state.isDark) + const monaco = useMonaco() + + useEffect(() => { + monaco?.editor.setTheme(isDark ? "dark" : "light") + }, [monaco, isDark]) +} diff --git a/src/pages/dashboard/[subdomain]/settings/css.tsx b/src/pages/dashboard/[subdomain]/settings/css.tsx index 462cb4ed..01e316a9 100644 --- a/src/pages/dashboard/[subdomain]/settings/css.tsx +++ b/src/pages/dashboard/[subdomain]/settings/css.tsx @@ -5,13 +5,14 @@ import { DashboardLayout } from "~/components/dashboard/DashboardLayout" import { SettingsLayout } from "~/components/dashboard/SettingsLayout" import { Button } from "~/components/ui/Button" import { useGetSite, useUpdateSite } from "~/queries/site" -import Editor from "@monaco-editor/react" + import { FieldLabel } from "~/components/ui/FieldLabel" import type { ReactElement } from "react" import { useTranslation } from "next-i18next" import { getServerSideProps as getLayoutServerSideProps } from "~/components/dashboard/DashboardLayout.server" import { GetServerSideProps } from "next" import { serverSidePropsHandler } from "~/lib/server-side-props" +import { MonacoEditor } from "~/components/common/Monaco" export const getServerSideProps: GetServerSideProps = serverSidePropsHandler( async (ctx) => { @@ -106,13 +107,14 @@ export default function SettingsCSSPage() {

- setCss(value || "")} options={{ fontSize: 14, + minimap: { enabled: false }, }} /> From 23fc16e3d85af1ba76ac9298bfeadb77f1b605df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AF=BB?= Date: Thu, 13 Apr 2023 00:10:03 +0800 Subject: [PATCH 08/16] chore: adjust code style MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 三咲智子 Kevin Deng --- tailwind.config.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/tailwind.config.js b/tailwind.config.js index fd8436d8..950bfe7c 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -16,9 +16,7 @@ module.exports = { border: "var(--border-color)", accent: "var(--theme-color)", hover: "var(--hover-color)", - always: { - ...alwaysColor, - }, + always: alwaysColor, }, spacing: { sidebar: `240px`, From 515a74dd49e9637c78da1177713c804ecaf6e16f Mon Sep 17 00:00:00 2001 From: daidr Date: Thu, 13 Apr 2023 02:44:12 +0800 Subject: [PATCH 09/16] fix: use border instead of shadow --- src/css/prose.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/css/prose.css b/src/css/prose.css index 8c90be7b..72776915 100644 --- a/src/css/prose.css +++ b/src/css/prose.css @@ -106,7 +106,7 @@ .prose .table-wrapper { @apply min-w-full rounded-xl text-sm my-7 whitespace-nowrap overflow-auto; - @apply shadow-sm ring-1 ring-zinc-700 ring-opacity-10; + @apply border border-border; } .prose table { From c075d0dd793d73d550dab5f922c037519ad69200 Mon Sep 17 00:00:00 2001 From: daidr Date: Thu, 13 Apr 2023 03:01:24 +0800 Subject: [PATCH 10/16] fix: container gaps appear at specific width --- src/components/dashboard/DashboardLayout.tsx | 2 +- src/pages/dashboard/[subdomain]/index.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/components/dashboard/DashboardLayout.tsx b/src/components/dashboard/DashboardLayout.tsx index 4f36dc0e..623d7540 100644 --- a/src/components/dashboard/DashboardLayout.tsx +++ b/src/components/dashboard/DashboardLayout.tsx @@ -349,7 +349,7 @@ export function DashboardLayout({ )} -
+
{children}
diff --git a/src/pages/dashboard/[subdomain]/index.tsx b/src/pages/dashboard/[subdomain]/index.tsx index a6ed46c6..55cb6ade 100644 --- a/src/pages/dashboard/[subdomain]/index.tsx +++ b/src/pages/dashboard/[subdomain]/index.tsx @@ -74,7 +74,7 @@ export default function SubdomainIndex() { const showcaseSites = useGetSites(showcase) return ( - +
From 323231e47c0ac7304375f53bdb5a0baa26b6ca9f Mon Sep 17 00:00:00 2001 From: daidr Date: Thu, 13 Apr 2023 03:12:21 +0800 Subject: [PATCH 11/16] fix: two scrollbars appear, and the sidebar follows the scroll --- src/components/dashboard/DashboardMain.tsx | 2 +- src/components/dashboard/DashboardSidebar.tsx | 26 ++++++++++++------- 2 files changed, 17 insertions(+), 11 deletions(-) diff --git a/src/components/dashboard/DashboardMain.tsx b/src/components/dashboard/DashboardMain.tsx index e194930e..456a554c 100644 --- a/src/components/dashboard/DashboardMain.tsx +++ b/src/components/dashboard/DashboardMain.tsx @@ -12,7 +12,7 @@ export const DashboardMain: React.FC<{ const isMobileLayout = useMobileLayout() return ( -
+
- {children(isOpen)} -
setIsOpen(!isOpen)} + className={`${ + isOpen ? `w-sidebar` : "w-20" + } transition-[width] fixed bg-slate-50 z-10 h-full flex flex-col`} > - {isOpen ? ( - - ) : ( - - )} + {children(isOpen)} +
+
setIsOpen(!isOpen)} + > + {isOpen ? ( + + ) : ( + + )} +
) From cd07f300de83f372e62d0a7ee5e9c155f8bcb8a0 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 12 Apr 2023 21:11:21 +0100 Subject: [PATCH 12/16] chore: update dependencies --- data/showcase.json | 3 +- data/topics.json | 4 + package.json | 18 ++-- pnpm-lock.yaml | 233 +++++++++++++++++++++++---------------------- 4 files changed, 133 insertions(+), 125 deletions(-) diff --git a/data/showcase.json b/data/showcase.json index 5caebfdc..33d77b81 100644 --- a/data/showcase.json +++ b/data/showcase.json @@ -11,5 +11,6 @@ 51585, 48937, 51379, 51460, 51084, 51509, 51478, 51639, 48910, 51139, 39329, 51683, 51077, 51374, 49120, 47356, 17096, 50708, 51430, 51935, 51756, 6558, 49392, 52186, 52055, 52282, 52270, 5825, 51351, 52233, 51308, 52388, 52280, - 52718, 52951, 52103, 52314, 52336, 52816, 52766, 52760, 660, 52728, 52683 + 52718, 52951, 52103, 52314, 52336, 52816, 52766, 52760, 660, 52728, 52683, + 51617, 53087, 53081 ] diff --git a/data/topics.json b/data/topics.json index 260e7501..e8669f65 100644 --- a/data/topics.json +++ b/data/topics.json @@ -3,6 +3,9 @@ "name": "xLog", "description": "Let's talk about xLog, whether to praise or criticize it.", "notes": [ + "25531-1", + "52800-29", + "53172-1", "45089-31", "52683-1", "51829-2", @@ -69,6 +72,7 @@ "name": "ChatGPT", "description": "The world is undergoing a fusion, and we are in the center of it.", "notes": [ + "33795-1", "51191-15", "50161-58", "53014-1", diff --git a/package.json b/package.json index 6ddd7e83..c188e73d 100644 --- a/package.json +++ b/package.json @@ -29,13 +29,13 @@ "@codemirror/language": "6.6.0", "@codemirror/state": "6.2.0", "@codemirror/view": "6.9.4", - "@crossbell/connect-kit": "0.0.63", - "@crossbell/contract": "0.0.63", - "@crossbell/indexer": "0.0.63", - "@crossbell/notification": "0.0.63", - "@crossbell/ui": "0.0.63", - "@crossbell/util-hooks": "0.0.63", - "@dqbd/tiktoken": "^1.0.4", + "@crossbell/connect-kit": "0.0.64", + "@crossbell/contract": "0.0.64", + "@crossbell/indexer": "0.0.64", + "@crossbell/notification": "0.0.64", + "@crossbell/ui": "0.0.64", + "@crossbell/util-hooks": "0.0.64", + "@dqbd/tiktoken": "^1.0.6", "@emoji-mart/data": "1.1.2", "@emoji-mart/react": "1.1.1", "@floating-ui/react": "^0.23.0", @@ -55,7 +55,7 @@ "canvas-confetti": "^1.6.0", "chroma-js": "^2.4.2", "clsx": "1.2.1", - "crossbell.js": "0.19.7", + "crossbell.js": "0.19.8", "dayjs": "1.11.7", "dotenv": "16.0.3", "emoji-mart": "5.5.2", @@ -129,7 +129,7 @@ "@types/mjml": "4.7.1", "@types/node": "18.15.11", "@types/prismjs": "1.26.0", - "@types/react": "18.0.34", + "@types/react": "18.0.35", "@types/react-dom": "18.0.11", "@types/react-infinite-scroller": "1.2.3", "@types/react-scroll": "1.8.6", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 243e0f37..fb405034 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -17,26 +17,26 @@ dependencies: specifier: 6.9.4 version: 6.9.4 '@crossbell/connect-kit': - specifier: 0.0.63 - version: 0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + specifier: 0.0.64 + version: 0.0.64(@tanstack/react-query@4.29.1)(@types/react@18.0.35)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/contract': - specifier: 0.0.63 - version: 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + specifier: 0.0.64 + version: 0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) '@crossbell/indexer': - specifier: 0.0.63 - version: 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + specifier: 0.0.64 + version: 0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) '@crossbell/notification': - specifier: 0.0.63 - version: 0.0.63(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + specifier: 0.0.64 + version: 0.0.64(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@tanstack/react-query@4.29.1)(@types/react@18.0.35)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/ui': - specifier: 0.0.63 - version: 0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + specifier: 0.0.64 + version: 0.0.64(@types/react@18.0.35)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) '@crossbell/util-hooks': - specifier: 0.0.63 - version: 0.0.63(react-dom@18.2.0)(react@18.2.0) + specifier: 0.0.64 + version: 0.0.64(react-dom@18.2.0)(react@18.2.0) '@dqbd/tiktoken': - specifier: ^1.0.4 - version: 1.0.4 + specifier: ^1.0.6 + version: 1.0.6 '@emoji-mart/data': specifier: 1.1.2 version: 1.1.2 @@ -57,7 +57,7 @@ dependencies: version: 1.1.5 '@mantine/core': specifier: ^6.0.7 - version: 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + version: 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.35)(react-dom@18.2.0)(react@18.2.0) '@monaco-editor/react': specifier: 4.5.0 version: 4.5.0(monaco-editor@0.37.1)(react-dom@18.2.0)(react@18.2.0) @@ -95,8 +95,8 @@ dependencies: specifier: 1.2.1 version: 1.2.1 crossbell.js: - specifier: 0.19.7 - version: 0.19.7 + specifier: 0.19.8 + version: 0.19.8 dayjs: specifier: 1.11.7 version: 1.11.7 @@ -207,7 +207,7 @@ dependencies: version: 6.1.1 rehype-react: specifier: 7.1.2 - version: 7.1.2(@types/react@18.0.34) + version: 7.1.2(@types/react@18.0.35) rehype-sanitize: specifier: 5.0.1 version: 5.0.1 @@ -273,7 +273,7 @@ dependencies: version: 4.1.2 use-onclickoutside: specifier: 0.4.1 - version: 0.4.1(@types/react@18.0.34)(react@18.2.0) + version: 0.4.1(@types/react@18.0.35)(react@18.2.0) uuid: specifier: 9.0.0 version: 9.0.0 @@ -313,8 +313,8 @@ devDependencies: specifier: 1.26.0 version: 1.26.0 '@types/react': - specifier: 18.0.34 - version: 18.0.34 + specifier: 18.0.35 + version: 18.0.35 '@types/react-dom': specifier: 18.0.11 version: 18.0.11 @@ -1768,28 +1768,28 @@ packages: - utf-8-validate dev: false - /@crossbell/connect-kit@0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): - resolution: {integrity: sha512-fZ1/twjdkbF3uF7bPStP32zpCSOpRl75gX2meLDL1H0arbypeBOAhqZNnuXG/iceSPdCAd81bh9jg5UAK1tVAg==} + /@crossbell/connect-kit@0.0.64(@tanstack/react-query@4.29.1)(@types/react@18.0.35)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): + resolution: {integrity: sha512-+62LVfWa3NPBCuY/mprS9FxrCyUNroiJvtnXb6AZC7eMmLRXCWHTs7Y4ETA7t/4XaKSQ2PD41NUz159bXQSmDA==} peerDependencies: '@tanstack/react-query': ^4 ethers: ^5 wagmi: ^0.12 dependencies: - '@crossbell/contract': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/ui': 0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) - '@crossbell/util-ethers': 0.0.63 - '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) - '@crossbell/util-metadata': 0.0.63 - '@emotion/react': 11.10.6(@types/react@18.0.34)(react@18.2.0) - '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/contract': 0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/indexer': 0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/ui': 0.0.64(@types/react@18.0.35)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + '@crossbell/util-ethers': 0.0.64 + '@crossbell/util-hooks': 0.0.64(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-metadata': 0.0.64 + '@emotion/react': 11.10.6(@types/react@18.0.35)(react@18.2.0) + '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.35)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.7(react@18.2.0) '@mantine/notifications': 6.0.7(@mantine/core@6.0.7)(@mantine/hooks@6.0.7)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) canvas-confetti: 1.6.0 check-password-strength: 2.0.7 classnames: 2.3.2 - crossbell.js: 0.19.7 + crossbell.js: 0.19.8 detect-browser: 5.3.0 embla-carousel-react: 7.1.0(react@18.2.0) ethers: 5.7.2 @@ -1813,16 +1813,16 @@ packages: - utf-8-validate dev: false - /@crossbell/contract@0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): - resolution: {integrity: sha512-yzNYtfLUc/BUp3U0xsqAp/h+nWJ+rGo80jyLEYFIkYLWYYFFj1qJ5o97XV8IzZ9ENJnH8EipDxxkLnrchV0KMA==} + /@crossbell/contract@0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): + resolution: {integrity: sha512-GJEFQ4Bhhw9n034w7Q+oKASQwQ5odfnalV3NSHTlrugs4cPg9UAk+VXfAAx322WhGUu5crYeqVPg89iZSBWEYg==} peerDependencies: ethers: ^5 react: ^18 wagmi: ^0.12 dependencies: - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) - crossbell.js: 0.19.7 + '@crossbell/indexer': 0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/util-hooks': 0.0.64(react-dom@18.2.0)(react@18.2.0) + crossbell.js: 0.19.8 ethers: 5.7.2 react: 18.2.0 wagmi: 0.12.10(@babel/core@7.21.4)(@types/node@18.15.11)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) @@ -1834,14 +1834,14 @@ packages: - utf-8-validate dev: false - /@crossbell/indexer@0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): - resolution: {integrity: sha512-beN6iH6en+nb7HFDu0rle7zlGCIg7xrDcz6OZ9S8JsPcUHJEx05LAE442LTFGkZblec0iFFdgdjQQItsvAVxNg==} + /@crossbell/indexer@0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10): + resolution: {integrity: sha512-hgnYP0Ir+8mw5VY/UEEMNkWZrcl9sM5xBm83oycRVAVZj3wqorqDkM2XKxYtVZzkUJTRmJImym/STuUUJO+AuA==} peerDependencies: ethers: ^5 wagmi: ^0.12 dependencies: '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) - crossbell.js: 0.19.7 + crossbell.js: 0.19.8 dayjs: 1.11.7 ethers: 5.7.2 lodash.compact: 3.0.1 @@ -1860,20 +1860,20 @@ packages: resolution: {integrity: sha512-AYGDrwiSKqCGNDi0mEPP1k+96loWik+Pd40xH0MzRNM4RtCutPbwm4o+Sj5iWu0tlHoQC2bTs1XcufsLiv+WYw==} dev: false - /@crossbell/notification@0.0.63(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): - resolution: {integrity: sha512-xKdUC6PfBUgxxDbpVvrqS+so6H+ax0FW0fxYp02V7daYUV5Ff/nbKHKd50dVe+49Qd2Y+uZF8/GVao3jAlaEew==} + /@crossbell/notification@0.0.64(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@tanstack/react-query@4.29.1)(@types/react@18.0.35)(ethers@5.7.2)(immer@9.0.21)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): + resolution: {integrity: sha512-Dvt0lCGrueDczf9zZvnaxOTK53MuvQ66Q39OhEX/QI/e3HC/CCy0YcSvqJQ1Fj/cyNTSBDGG6fUIXMWmwP7zcw==} peerDependencies: '@tanstack/react-query': ^4 ethers: ^5 react: ^18 wagmi: ^0.12 dependencies: - '@crossbell/connect-kit': 0.0.63(@tanstack/react-query@4.29.1)(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/ui': 0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) - '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) - '@crossbell/util-metadata': 0.0.63 - '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + '@crossbell/connect-kit': 0.0.64(@tanstack/react-query@4.29.1)(@types/react@18.0.35)(ethers@5.7.2)(react-dom@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + '@crossbell/indexer': 0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/ui': 0.0.64(@types/react@18.0.35)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10) + '@crossbell/util-hooks': 0.0.64(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-metadata': 0.0.64 + '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.35)(react-dom@18.2.0)(react@18.2.0) '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 dayjs: 1.11.7 @@ -1895,23 +1895,23 @@ packages: - utf-8-validate dev: false - /@crossbell/ui@0.0.63(@types/react@18.0.34)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): - resolution: {integrity: sha512-+JRqJVw2nCvMjmpdS/SrV3WzvCPXlOWWboqLtn0R24ps4oFltbsw048nrAyTQeVIn2zEXbVgsKqAGU/ORFlLeA==} + /@crossbell/ui@0.0.64(@types/react@18.0.35)(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(wagmi@0.12.10): + resolution: {integrity: sha512-nB/0kH3LMpq6MMnGlpl7Img5wl9rYTXK2ApHQXxQM/GsEprceMm3RBw1GIu5h6Pw3+CS6vy22N7Ibb+Qo79DSg==} peerDependencies: react: ^18 react-dom: ^18 dependencies: - '@crossbell/indexer': 0.0.63(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) - '@crossbell/util-hooks': 0.0.63(react-dom@18.2.0)(react@18.2.0) - '@crossbell/util-metadata': 0.0.63 + '@crossbell/indexer': 0.0.64(ethers@5.7.2)(react-dom@18.2.0)(react@18.2.0)(wagmi@0.12.10) + '@crossbell/util-hooks': 0.0.64(react-dom@18.2.0)(react@18.2.0) + '@crossbell/util-metadata': 0.0.64 '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) classnames: 2.3.2 - crossbell.js: 0.19.7 + crossbell.js: 0.19.8 facepaint: 1.2.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-intersection-observer: 9.4.3(react@18.2.0) - react-remove-scroll: 2.5.5(@types/react@18.0.34)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.0.35)(react@18.2.0) react-transition-group: 4.4.5(react-dom@18.2.0)(react@18.2.0) ts-essentials: 9.3.1(typescript@5.0.4) transitivePeerDependencies: @@ -1925,17 +1925,17 @@ packages: - wagmi dev: false - /@crossbell/util-ethers@0.0.63: - resolution: {integrity: sha512-gtQUhWaB0Ldgz8PGebw5rnA7eMnSyIG+gMfCp+WgwByuug0quwEmAmr2mc4ehFkgXOsSvD20Qpju+J1XCdCFow==} + /@crossbell/util-ethers@0.0.64: + resolution: {integrity: sha512-GA9Mhca0WsFLdG1AkOnG2wlw2pemz2Wby570iB/+zVwEFmS4kUWW0SAIMcOgzL9icfyQ9LsDfL3G+UOVP00j6A==} dev: false - /@crossbell/util-hooks@0.0.63(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-VPjiXI0/Lnp4JnFiYtjz43e31jlShuoT61F/pjT8rvHQicCqgXxKKee+Rw7ZRU1wgWRCjqlaESE1XYWhjDkySA==} + /@crossbell/util-hooks@0.0.64(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-tOTIajzkWesycAON4oeB66jQeNszGgSvfuQThMYjXZXX7yHDPHLCMwgpgoglLFQe1iORgCOv3OIwkiwpmxxKiQ==} peerDependencies: react: ^18 dependencies: '@tanstack/react-query': 4.29.1(react-dom@18.2.0)(react@18.2.0) - crossbell.js: 0.19.7 + crossbell.js: 0.19.8 react: 18.2.0 transitivePeerDependencies: - bufferutil @@ -1945,12 +1945,12 @@ packages: - utf-8-validate dev: false - /@crossbell/util-metadata@0.0.63: - resolution: {integrity: sha512-7FeSdTrE+DiJs9iF76M3fEP6dbjr9hnG/4z73xf7t2GjL2Rbmqe7U76HS9uscShYJL48avZYncmZUu3YFMnhBA==} + /@crossbell/util-metadata@0.0.64: + resolution: {integrity: sha512-mJKCl3rbahtKrY5ushRG5hMca9X1fiztO/ta6qWvUAFVtaemxL6HmVsIECeccBcCavijWGOAuU7gRDJOw2jwOg==} dependencies: - '@crossbell/util-ethers': 0.0.63 + '@crossbell/util-ethers': 0.0.64 '@fastify/deepmerge': 1.3.0 - crossbell.js: 0.19.7 + crossbell.js: 0.19.8 transitivePeerDependencies: - bufferutil - supports-color @@ -1964,8 +1964,8 @@ packages: '@jridgewell/trace-mapping': 0.3.9 dev: false - /@dqbd/tiktoken@1.0.4: - resolution: {integrity: sha512-C0HrJj2RNlsB3wslfNHGNH8xN7QQMki+y4JkUor/GE+oIfPvH7yVep9l1/2powam8AAH6+gdv5MggA5gsszweg==} + /@dqbd/tiktoken@1.0.6: + resolution: {integrity: sha512-umSdeZTy/SbPPKVuZKV/XKyFPmXSN145CcM3iHjBbmhlohBJg7vaDp4cPCW+xNlWL6L2U1sp7T2BD+di2sUKdA==} dev: false /@emoji-mart/data@1.1.2: @@ -2016,7 +2016,7 @@ packages: resolution: {integrity: sha512-G/YwXTkv7Den9mXDO7AhLWkE3q+I92B+VqAE+dYG4NGPaHZGvt3G8Q0p9vmE+sq7rTGphUbAvmQ9YpbfMQGGlA==} dev: false - /@emotion/react@11.10.6(@types/react@18.0.34)(react@18.2.0): + /@emotion/react@11.10.6(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-6HT8jBmcSkfzO7mc+N1L9uwvOnlcGoix8Zn7srt+9ga0MjREo6lRpuVX0kzo6Jp6oTqDhREOFsygN6Ew4fEQbw==} peerDependencies: '@types/react': '*' @@ -2032,7 +2032,7 @@ packages: '@emotion/use-insertion-effect-with-fallbacks': 1.0.0(react@18.2.0) '@emotion/utils': 1.2.0 '@emotion/weak-memoize': 0.3.0 - '@types/react': 18.0.34 + '@types/react': 18.0.35 hoist-non-react-statics: 3.3.2 react: 18.2.0 dev: false @@ -2905,7 +2905,7 @@ packages: '@lit-labs/ssr-dom-shim': 1.1.0 dev: false - /@mantine/core@6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0): + /@mantine/core@6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.35)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yk2ojsfdADte55T5nQTGRdwLttPYC98k7D9eMn9vLWnoSB3OPjlJhIcNstqL3jXSklZhlDLYjCeZyrOb7+HRaA==} peerDependencies: '@mantine/hooks': 6.0.7 @@ -2919,8 +2919,8 @@ packages: '@radix-ui/react-scroll-area': 1.0.2(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.5(@types/react@18.0.34)(react@18.2.0) - react-textarea-autosize: 8.3.4(@types/react@18.0.34)(react@18.2.0) + react-remove-scroll: 2.5.5(@types/react@18.0.35)(react@18.2.0) + react-textarea-autosize: 8.3.4(@types/react@18.0.35)(react@18.2.0) transitivePeerDependencies: - '@emotion/react' - '@types/react' @@ -2942,7 +2942,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.34)(react-dom@18.2.0)(react@18.2.0) + '@mantine/core': 6.0.7(@emotion/react@11.10.6)(@mantine/hooks@6.0.7)(@types/react@18.0.35)(react-dom@18.2.0)(react@18.2.0) '@mantine/hooks': 6.0.7(react@18.2.0) '@mantine/utils': 6.0.7(react@18.2.0) react: 18.2.0 @@ -2957,7 +2957,7 @@ packages: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: - '@emotion/react': 11.10.6(@types/react@18.0.34)(react@18.2.0) + '@emotion/react': 11.10.6(@types/react@18.0.35)(react@18.2.0) clsx: 1.1.1 csstype: 3.0.9 react: 18.2.0 @@ -3987,7 +3987,7 @@ packages: /@types/hoist-non-react-statics@3.3.1: resolution: {integrity: sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==} dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 hoist-non-react-statics: 3.3.2 dev: false @@ -4075,23 +4075,23 @@ packages: /@types/react-dom@18.0.11: resolution: {integrity: sha512-O38bPbI2CWtgw/OoQoY+BRelw7uysmXbWvw3nLWO21H1HSh+GOlqPuXshJfjmpNlKiiSDG9cc1JZAaMmVdcTlw==} dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 dev: true /@types/react-infinite-scroller@1.2.3: resolution: {integrity: sha512-l60JckVoO+dxmKW2eEG7jbliEpITsTJvRPTe97GazjF5+ylagAuyYdXl8YY9DQsTP9QjhqGKZROknzgscGJy0A==} dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 dev: true /@types/react-scroll@1.8.6: resolution: {integrity: sha512-aMTiNgcmA7dwn1yjoHsiL78RfRnKCXzFyMbv63VrZTXloSfNePBdKtVObC3/My6irwDf0Oz0U4VjEC/vrv6/9w==} dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 dev: true - /@types/react@18.0.34: - resolution: {integrity: sha512-NO1UO8941541CJl1BeOXi8a9dNKFK09Gnru5ZJqkm4Q3/WoQJtHvmwt0VX0SB9YCEwe7TfSSxDuaNmx6H2BAIQ==} + /@types/react@18.0.35: + resolution: {integrity: sha512-6Laome31HpetaIUGFWl1VQ3mdSImwxtFZ39rh059a1MNnKGqBpC88J6NJ8n/Is3Qx7CefDGLgf/KhN/sYCf7ag==} dependencies: '@types/prop-types': 15.7.5 '@types/scheduler': 0.16.3 @@ -5871,8 +5871,8 @@ packages: /caniuse-lite@1.0.30001466: resolution: {integrity: sha512-ewtFBSfWjEmxUgNBSZItFSmVtvk9zkwkl1OfRZlKA8slltRN+/C/tuGVrF9styXkN36Yu3+SeJ1qkXxDEyNZ5w==} - /caniuse-lite@1.0.30001477: - resolution: {integrity: sha512-lZim4iUHhGcy5p+Ri/G7m84hJwncj+Kz7S5aD4hoQfslKZJgt0tHc/hafVbqHC5bbhHb+mrW2JOUHkI5KH7toQ==} + /caniuse-lite@1.0.30001478: + resolution: {integrity: sha512-gMhDyXGItTHipJj2ApIvR+iVB5hd0KP3svMWWXDvZOmjzJJassGLMfxRkQCSYgGd2gtdL/ReeiyvMSFD1Ss6Mw==} /canvas-confetti@1.6.0: resolution: {integrity: sha512-ej+w/m8Jzpv9Z7W7uJZer14Ke8P2ogsjg4ZMGIuq4iqUOqY2Jq8BNW42iGmNfRwREaaEfFIczLuZZiEVSYNHAA==} @@ -6302,11 +6302,14 @@ packages: which: 2.0.2 dev: true - /crossbell.js@0.19.7: - resolution: {integrity: sha512-Wa1uDUSISZJOSQdnhZ+SQYT9HkdimBzKMF1Tfp109/HEoVfjXw8Mg95RCPUsjc8M2x7MKZfASsY3ohYWbH1gMA==} + /crossbell.js@0.19.8: + resolution: {integrity: sha512-4x52UGfiTIs65JjHku0k+R4JrlB6JVRGDqgMW43DqDVQlJz2F8BVvxG7n3kKb5hZbXXQCMh41CMWc7bfiTn+3g==} dependencies: '@crossbell/ipfs-fetch': 0.0.15 + '@ethersproject/abi': 5.7.0 + '@ethersproject/providers': 5.7.2 async-retry: 1.3.3 + bn.js: 5.2.1 ethers: 5.7.2 fetch-undici: 3.0.1 p-limit: 3.1.0 @@ -7447,7 +7450,7 @@ packages: resolution: {integrity: sha512-UHHu1HqW22ZhK6C/1Zmjf7mQpOwPwLYZ+xcsOgpzistONU8QqvCop6Od29p/kw1GUVoq2Ihu6ItpKLtlojx4FQ==} engines: {node: '>=16'} dependencies: - undici: 5.21.0 + undici: 5.21.2 dev: false /file-entry-cache@6.0.1: @@ -8809,7 +8812,7 @@ packages: optional: true dependencies: '@anthropic-ai/sdk': 0.4.3 - '@dqbd/tiktoken': 1.0.4 + '@dqbd/tiktoken': 1.0.6 binary-extensions: 2.2.0 browser-or-node: 2.1.1 expr-eval: 2.0.2 @@ -9864,7 +9867,7 @@ packages: dependencies: '@next/env': 13.2.4 '@swc/helpers': 0.4.14 - caniuse-lite: 1.0.30001477 + caniuse-lite: 1.0.30001478 postcss: 8.4.14 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10840,7 +10843,7 @@ packages: engines: {node: '>=0.10.0'} dev: true - /react-remove-scroll-bar@2.3.4(@types/react@18.0.34)(react@18.2.0): + /react-remove-scroll-bar@2.3.4(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-63C4YQBUt0m6ALadE9XV56hV8BgJWDmmTPY758iIJjfQKt2nYwoUrPk0LXRXcB/yIj82T1/Ixfdpdk68LwIB0A==} engines: {node: '>=10'} peerDependencies: @@ -10850,13 +10853,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.0.34)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.0.35)(react@18.2.0) tslib: 2.5.0 dev: false - /react-remove-scroll@2.5.5(@types/react@18.0.34)(react@18.2.0): + /react-remove-scroll@2.5.5(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-ImKhrzJJsyXJfBZ4bzu8Bwpka14c/fQt0k+cyFp/PBhTfyDnU5hjOtM4AG/0AMyy8oKzOTR0lDgJIM7pYXI0kw==} engines: {node: '>=10'} peerDependencies: @@ -10866,13 +10869,13 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 react: 18.2.0 - react-remove-scroll-bar: 2.3.4(@types/react@18.0.34)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.0.34)(react@18.2.0) + react-remove-scroll-bar: 2.3.4(@types/react@18.0.35)(react@18.2.0) + react-style-singleton: 2.2.1(@types/react@18.0.35)(react@18.2.0) tslib: 2.5.0 - use-callback-ref: 1.3.0(@types/react@18.0.34)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.0.34)(react@18.2.0) + use-callback-ref: 1.3.0(@types/react@18.0.35)(react@18.2.0) + use-sidecar: 1.1.2(@types/react@18.0.35)(react@18.2.0) dev: false /react-scroll@1.8.9(react-dom@18.2.0)(react@18.2.0): @@ -10903,7 +10906,7 @@ packages: tiny-invariant: 1.2.0 dev: false - /react-style-singleton@2.2.1(@types/react@18.0.34)(react@18.2.0): + /react-style-singleton@2.2.1(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} peerDependencies: @@ -10913,14 +10916,14 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 get-nonce: 1.0.1 invariant: 2.2.4 react: 18.2.0 tslib: 2.5.0 dev: false - /react-textarea-autosize@8.3.4(@types/react@18.0.34)(react@18.2.0): + /react-textarea-autosize@8.3.4(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-CdtmP8Dc19xL8/R6sWvtknD/eCXkQr30dtvC4VmGInhRsfF8X/ihXCq6+9l9qbxmKRiq407/7z5fxE7cVWQNgQ==} engines: {node: '>=10'} peerDependencies: @@ -10929,7 +10932,7 @@ packages: '@babel/runtime': 7.21.0 react: 18.2.0 use-composed-ref: 1.3.0(react@18.2.0) - use-latest: 1.2.1(@types/react@18.0.34)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.0.35)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false @@ -11149,14 +11152,14 @@ packages: unified: 10.1.2 dev: false - /rehype-react@7.1.2(@types/react@18.0.34): + /rehype-react@7.1.2(@types/react@18.0.35): resolution: {integrity: sha512-IWsFMS2M4NTbvWzumBBKhdb39ElV+r5YQHA2HafDDRrH84bEryJA2YPPNbF9he4QzAFOssaMJ9buSC6cDcJTLw==} peerDependencies: '@types/react': '>=17' dependencies: '@mapbox/hast-util-table-cell-style': 0.2.0 '@types/hast': 2.3.4 - '@types/react': 18.0.34 + '@types/react': 18.0.35 hast-to-hyperscript: 10.0.3 hast-util-whitespace: 2.0.1 unified: 10.1.2 @@ -12480,8 +12483,8 @@ packages: jiti: 1.18.2 dev: true - /undici@5.21.0: - resolution: {integrity: sha512-HOjK8l6a57b2ZGXOcUsI5NLfoTrfmbOl90ixJDl0AEFG4wgHNDQxtZy15/ZQp7HhjkpaGlp/eneMgtsu1dIlUA==} + /undici@5.21.2: + resolution: {integrity: sha512-f6pTQ9RF4DQtwoWSaC42P/NKlUjvezVvd9r155ohqkwFNRyBKM3f3pcty3ouusefNRyM25XhIQEbeQ46sZDJfQ==} engines: {node: '>=12.18'} dependencies: busboy: 1.6.0 @@ -12517,7 +12520,7 @@ packages: '@urql/core': 4.0.4(graphql@16.6.0) axios: 1.3.5 axios-retry: 3.4.0 - crossbell.js: 0.19.7 + crossbell.js: 0.19.8 ethers: 5.7.2 graphql: 16.6.0 lodash: 4.17.21 @@ -12707,7 +12710,7 @@ packages: punycode: 2.2.0 dev: true - /use-callback-ref@1.3.0(@types/react@18.0.34)(react@18.2.0): + /use-callback-ref@1.3.0(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-3FT9PRuRdbB9HfXhEq35u4oZkvpJ5kuYbpqhCfmiZyReuRgpnhDlbr2ZEnnuS0RrJAPn6l23xjFg9kpDM+Ms7w==} engines: {node: '>=10'} peerDependencies: @@ -12717,7 +12720,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 react: 18.2.0 tslib: 2.5.0 dev: false @@ -12730,7 +12733,7 @@ packages: react: 18.2.0 dev: false - /use-isomorphic-layout-effect@1.1.2(@types/react@18.0.34)(react@18.2.0): + /use-isomorphic-layout-effect@1.1.2(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-49L8yCO3iGT/ZF9QttjwLF/ZD9Iwto5LnH5LmEdk/6cFmXddqi2ulF0edxTwjj+7mqvpVVGQWvbXZdn32wRSHA==} peerDependencies: '@types/react': '*' @@ -12739,11 +12742,11 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 react: 18.2.0 dev: false - /use-latest@1.2.1(@types/react@18.0.34)(react@18.2.0): + /use-latest@1.2.1(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-xA+AVm/Wlg3e2P/JiItTziwS7FK92LWrDB0p+hgXloIMuVCeJJ8v6f0eeHyPZaJrM+usM1FkFfbNCrJGs8A/zw==} peerDependencies: '@types/react': '*' @@ -12752,24 +12755,24 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 react: 18.2.0 - use-isomorphic-layout-effect: 1.1.2(@types/react@18.0.34)(react@18.2.0) + use-isomorphic-layout-effect: 1.1.2(@types/react@18.0.35)(react@18.2.0) dev: false - /use-onclickoutside@0.4.1(@types/react@18.0.34)(react@18.2.0): + /use-onclickoutside@0.4.1(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-hAo1viJ9D2mPffUig4EWCwE4as7fq84HANk3MCkY3rhXk5oMl0mjLCLF/OhzWIhTaITcAcDDcnaxRdMHPq+sww==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 dependencies: are-passive-events-supported: 1.1.1 react: 18.2.0 - use-latest: 1.2.1(@types/react@18.0.34)(react@18.2.0) + use-latest: 1.2.1(@types/react@18.0.35)(react@18.2.0) transitivePeerDependencies: - '@types/react' dev: false - /use-sidecar@1.1.2(@types/react@18.0.34)(react@18.2.0): + /use-sidecar@1.1.2(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} engines: {node: '>=10'} peerDependencies: @@ -12779,7 +12782,7 @@ packages: '@types/react': optional: true dependencies: - '@types/react': 18.0.34 + '@types/react': 18.0.35 detect-node-es: 1.1.0 react: 18.2.0 tslib: 2.5.0 From 5623b7b0799cef23d32d4ecfdeccf59fb17874de Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 12 Apr 2023 21:43:26 +0100 Subject: [PATCH 13/16] feat: adapt auto colors for dark theme --- src/components/site/SiteHeader.tsx | 22 +++++++++++++++++----- src/pages/_app.tsx | 1 - 2 files changed, 17 insertions(+), 6 deletions(-) diff --git a/src/components/site/SiteHeader.tsx b/src/components/site/SiteHeader.tsx index c01e0d64..87597982 100644 --- a/src/components/site/SiteHeader.tsx +++ b/src/components/site/SiteHeader.tsx @@ -22,6 +22,7 @@ import { Tooltip } from "~/components/ui/Tooltip" import { PatronButton } from "~/components/common/PatronButton" import { Modal } from "~/components/ui/Modal" import { SearchInput } from "~/components/common/SearchInput" +import { useMediaStore } from "~/hooks/useDarkMode" type HeaderLinkType = { icon?: React.ReactNode @@ -132,6 +133,7 @@ export const SiteHeader: React.FC<{ const avatarRef = useRef(null) const bannerRef = useRef(null) + const isDark = useMediaStore((state) => state.isDark) const [averageColor, setAverageColor] = useState() const [autoHoverColor, setAutoHoverColor] = useState() const [autoThemeColor, setAutoThemeColor] = useState() @@ -141,8 +143,13 @@ export const SiteHeader: React.FC<{ fac .getColorAsync(bannerRef.current) .then((color) => { - setAverageColor(chroma(color.hex).hex()) - setAutoHoverColor(chroma(color.hex).luminance(0.8).hex()) + if (isDark) { + setAverageColor(chroma(color.hex).luminance(0.007).hex()) + setAutoHoverColor(chroma(color.hex).luminance(0.02).hex()) + } else { + setAverageColor(chroma(color.hex).hex()) + setAutoHoverColor(chroma(color.hex).luminance(0.8).hex()) + } setAutoThemeColor(chroma(color.hex).saturate(3).luminance(0.3).hex()) }) .catch((e) => { @@ -152,15 +159,20 @@ export const SiteHeader: React.FC<{ fac .getColorAsync(avatarRef.current) .then((color) => { - setAverageColor(chroma(color.hex).luminance(0.95).hex()) - setAutoHoverColor(chroma(color.hex).luminance(0.8).hex()) + if (isDark) { + setAverageColor(chroma(color.hex).luminance(0.007).hex()) + setAutoHoverColor(chroma(color.hex).luminance(0.02).hex()) + } else { + setAverageColor(chroma(color.hex).luminance(0.95).hex()) + setAutoHoverColor(chroma(color.hex).luminance(0.8).hex()) + } setAutoThemeColor(chroma(color.hex).saturate(3).luminance(0.3).hex()) }) .catch((e) => { console.warn(e) }) } - }, [bannerRef, avatarRef]) + }, [bannerRef, avatarRef, isDark]) return (
diff --git a/src/pages/_app.tsx b/src/pages/_app.tsx index 8e373d7c..2b369878 100644 --- a/src/pages/_app.tsx +++ b/src/pages/_app.tsx @@ -21,7 +21,6 @@ import { createIDBPersister } from "~/lib/persister.client" import { urlComposer } from "~/lib/url-composer" import { AppPropsWithLayout } from "types/next" import { useMediaToggle } from "~/hooks/useDarkMode" -import { AppPropsWithLayout } from "types/next" Network.setIpfsGateway(IPFS_GATEWAY) From 9dc55908bc8bd434163eb6aa8339019e797c11ae Mon Sep 17 00:00:00 2001 From: DIYgod Date: Wed, 12 Apr 2023 22:29:14 +0100 Subject: [PATCH 14/16] fix: white and black opacity --- scripts/tw/transform.js | 8 ++++---- src/css/css-var.css | 20 ++++++++++---------- tailwind.config.js | 1 + tw-colors.js | 4 ++-- 4 files changed, 17 insertions(+), 16 deletions(-) diff --git a/scripts/tw/transform.js b/scripts/tw/transform.js index a6f56956..14c0620e 100644 --- a/scripts/tw/transform.js +++ b/scripts/tw/transform.js @@ -74,10 +74,10 @@ const transformColorObjectOfDarkmode = () => { black: "var(--tw-colors-i-black)", white: "var(--tw-colors-i-white)", }) - cssVar["--tw-colors-i-black"] = "#000" - cssVar["--tw-colors-i-white"] = "#fff" - cssVarDark["--tw-colors-i-black"] = "#fff" - cssVarDark["--tw-colors-i-white"] = "#000" + cssVar["--tw-colors-i-black"] = "0, 0, 0" + cssVar["--tw-colors-i-white"] = "255, 255, 255" + cssVarDark["--tw-colors-i-black"] = "255, 255, 255" + cssVarDark["--tw-colors-i-white"] = "0, 0, 0" return [nextColorObject, cssVar, cssVarDark] } diff --git a/src/css/css-var.css b/src/css/css-var.css index 3190c9c1..0a95370b 100644 --- a/src/css/css-var.css +++ b/src/css/css-var.css @@ -241,8 +241,8 @@ --tw-colors-i-rose-800: 159, 18, 57; --tw-colors-i-rose-900: 136, 19, 55; --tw-colors-i-rose-950: 76, 5, 25; - --tw-colors-i-black: #000; - --tw-colors-i-white: #fff; + --tw-colors-i-black: 0, 0, 0; + --tw-colors-i-white: 255, 255, 255; } html.dark { @@ -488,8 +488,8 @@ html.dark { --tw-colors-i-rose-800: 254, 205, 211; --tw-colors-i-rose-900: 255, 228, 230; --tw-colors-i-rose-950: 255, 241, 242; - --tw-colors-i-black: #fff; - --tw-colors-i-white: #000; + --tw-colors-i-black: 255, 255, 255; + --tw-colors-i-white: 0, 0, 0; } html.light { @@ -735,8 +735,8 @@ html.light { --tw-colors-i-rose-800: 159, 18, 57; --tw-colors-i-rose-900: 136, 19, 55; --tw-colors-i-rose-950: 76, 5, 25; - --tw-colors-i-black: #000; - --tw-colors-i-white: #fff; + --tw-colors-i-black: 0, 0, 0; + --tw-colors-i-white: 255, 255, 255; } @media (prefers-color-scheme: dark) { @@ -983,8 +983,8 @@ html.light { --tw-colors-i-rose-800: 254, 205, 211; --tw-colors-i-rose-900: 255, 228, 230; --tw-colors-i-rose-950: 255, 241, 242; - --tw-colors-i-black: #fff; - --tw-colors-i-white: #000; + --tw-colors-i-black: 255, 255, 255; + --tw-colors-i-white: 0, 0, 0; } } @@ -1232,7 +1232,7 @@ html.light { --tw-colors-i-rose-800: 159, 18, 57; --tw-colors-i-rose-900: 136, 19, 55; --tw-colors-i-rose-950: 76, 5, 25; - --tw-colors-i-black: #000; - --tw-colors-i-white: #fff; + --tw-colors-i-black: 0, 0, 0; + --tw-colors-i-white: 255, 255, 255; } } diff --git a/tailwind.config.js b/tailwind.config.js index 950bfe7c..1da3bd03 100644 --- a/tailwind.config.js +++ b/tailwind.config.js @@ -1,5 +1,6 @@ const twColors = require("./tw-colors") const alwaysColor = require("tailwindcss/colors") + /** @type {import('tailwindcss').Config} */ module.exports = { content: ["./src/**/*.tsx"], diff --git a/tw-colors.js b/tw-colors.js index 1eee014e..4502c3d0 100644 --- a/tw-colors.js +++ b/tw-colors.js @@ -288,6 +288,6 @@ export default { inherit: "inherit", current: "currentColor", transparent: "transparent", - black: "var(--tw-colors-i-black)", - white: "var(--tw-colors-i-white)", + black: "rgba(var(--tw-colors-i-black), )", + white: "rgba(var(--tw-colors-i-white), )", } From 58083e90e0cbc9e598074d1af5328bca266b8363 Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 13 Apr 2023 00:15:55 +0100 Subject: [PATCH 15/16] feat: search sorting and highlight --- package.json | 5 ++-- pnpm-lock.yaml | 8 ++++++ src/components/main/MainFeed.tsx | 42 ++++++++++++++++++++++++++---- src/components/site/SiteSearch.tsx | 22 ++++++++++++++-- src/lib/expand-unit.ts | 15 +++++++++-- src/models/home.model.ts | 15 +++++++---- src/models/page.model.ts | 3 ++- src/pages/_site/[site]/search.tsx | 1 + src/queries/home.ts | 3 ++- 9 files changed, 96 insertions(+), 18 deletions(-) diff --git a/package.json b/package.json index ccd7de34..84e7dc2d 100644 --- a/package.json +++ b/package.json @@ -29,15 +29,15 @@ "@codemirror/language": "6.6.0", "@codemirror/state": "6.2.0", "@codemirror/theme-one-dark": "6.1.1", + "@codemirror/view": "6.9.4", "@crossbell/connect-kit": "0.0.64", "@crossbell/contract": "0.0.64", "@crossbell/indexer": "0.0.64", "@crossbell/notification": "0.0.64", "@crossbell/ui": "0.0.64", "@crossbell/util-hooks": "0.0.64", - "@dqbd/tiktoken": "^1.0.6", "@ddietr/codemirror-themes": "1.4.0", - "@codemirror/view": "6.9.4", + "@dqbd/tiktoken": "^1.0.6", "@emoji-mart/data": "1.1.2", "@emoji-mart/react": "1.1.1", "@floating-ui/react": "^0.23.0", @@ -88,6 +88,7 @@ "react-parallax-tilt": "^1.7.127", "react-scroll": "1.8.9", "react-sortablejs": "6.1.4", + "react-string-replace": "^1.1.0", "refractor": "4.8.1", "rehype-autolink-headings": "6.1.1", "rehype-infer-description-meta": "^1.1.0", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fcb8c76c..0118fafd 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -193,6 +193,9 @@ dependencies: react-sortablejs: specifier: 6.1.4 version: 6.1.4(@types/sortablejs@1.15.1)(react-dom@18.2.0)(react@18.2.0)(sortablejs@1.15.0) + react-string-replace: + specifier: ^1.1.0 + version: 1.1.0 refractor: specifier: 4.8.1 version: 4.8.1 @@ -10924,6 +10927,11 @@ packages: tiny-invariant: 1.2.0 dev: false + /react-string-replace@1.1.0: + resolution: {integrity: sha512-N6RalSDFGbOHs0IJi1H611WbZsvk3ZT47Jl2JEXFbiS3kTwsdCYij70Keo/tWtLy7sfhDsYm7CwNM/WmjXIaMw==} + engines: {node: '>=0.12.0'} + dev: false + /react-style-singleton@2.2.1(@types/react@18.0.35)(react@18.2.0): resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} engines: {node: '>=10'} diff --git a/src/components/main/MainFeed.tsx b/src/components/main/MainFeed.tsx index 6b8572d5..9e6d0ed8 100644 --- a/src/components/main/MainFeed.tsx +++ b/src/components/main/MainFeed.tsx @@ -5,7 +5,7 @@ import { useRouter } from "next/router" import { Image } from "~/components/ui/Image" import { useTranslation } from "next-i18next" import { useGetFeed } from "~/queries/home" -import type { FeedType } from "~/models/home.model" +import type { FeedType, SearchType } from "~/models/home.model" import { CharacterFloatCard } from "~/components/common/CharacterFloatCard" import { useAccountState } from "@crossbell/connect-kit" import InfiniteScroll from "react-infinite-scroller" @@ -16,13 +16,16 @@ import { setStorage, getStorage } from "~/lib/storage" import { Tooltip } from "~/components/ui/Tooltip" import { Titles } from "~/components/common/Titles" import { Tabs } from "~/components/ui/Tabs" +import reactStringReplace from "react-string-replace" const Post = ({ post, filtering, + keyword, }: { post: ExpandedNote filtering: number + keyword?: string }) => { const router = useRouter() const { t } = useTranslation(["common", "site"]) @@ -118,7 +121,17 @@ const Post = ({ wordBreak: "break-word", }} > - {post.metadata?.content?.summary} + {keyword + ? reactStringReplace( + post.metadata?.content?.summary || "", + keyword, + (match, i) => ( + + {match} + + ), + ) + : post.metadata?.content?.summary} {post.metadata?.content?.summary && "..."}
@@ -149,13 +162,15 @@ export const MainFeed: React.FC<{ ) const [hotInterval, setHotInterval] = useState(7) + const [searchType, setSearchType] = useState("latest") const feed = useGetFeed({ type: type, characterId: currentCharacterId, noteIds: noteIds, daysInterval: hotInterval, - keyword: keyword, + searchKeyword: keyword, + searchType, }) const hasFiltering = type === "latest" @@ -166,7 +181,7 @@ export const MainFeed: React.FC<{ setAiFiltering(getStorage("ai_filtering")?.enabled || true) }, []) - const tabs = [ + const hotTabs = [ { text: "Today", onClick: () => setHotInterval(1), @@ -189,6 +204,19 @@ export const MainFeed: React.FC<{ }, ] + const searchTabs = [ + { + text: "Latest", + onClick: () => setSearchType("latest"), + active: searchType === "latest", + }, + { + text: "Hottest", + onClick: () => setSearchType("hot"), + active: searchType === "hot", + }, + ] + return ( <> )} {type === "hot" && ( - + + )} + {type === "search" && ( + )} {feed.isLoading ? (
{t("Loading")}...
@@ -254,6 +285,7 @@ export const MainFeed: React.FC<{ key={`${post.characterId}-${post.noteId}`} post={post} filtering={aiFiltering ? 60 : 0} + keyword={keyword} /> ) }), diff --git a/src/components/site/SiteSearch.tsx b/src/components/site/SiteSearch.tsx index 5753dc50..95743b05 100644 --- a/src/components/site/SiteSearch.tsx +++ b/src/components/site/SiteSearch.tsx @@ -7,6 +7,7 @@ import { Image } from "~/components/ui/Image" import { Button } from "~/components/ui/Button" import { useTranslation } from "next-i18next" import { useEffect, useState } from "react" +import reactStringReplace from "react-string-replace" export const SiteSearch: React.FC<{ postPages?: { @@ -17,7 +18,14 @@ export const SiteSearch: React.FC<{ fetchNextPage: () => void hasNextPage?: boolean isFetchingNextPage?: boolean -}> = ({ postPages, fetchNextPage, hasNextPage, isFetchingNextPage }) => { + keyword?: string +}> = ({ + postPages, + fetchNextPage, + hasNextPage, + isFetchingNextPage, + keyword, +}) => { const router = useRouter() const { t } = useTranslation(["common", "site"]) const date = useDate() @@ -96,7 +104,17 @@ export const SiteSearch: React.FC<{ wordBreak: "break-word", }} > - {post.metadata.content.summary} + {keyword + ? reactStringReplace( + post.metadata?.content?.summary || "", + keyword, + (match, i) => ( + + {match} + + ), + ) + : post.metadata?.content?.summary} {post.metadata.content.summary && "..."}
diff --git a/src/lib/expand-unit.ts b/src/lib/expand-unit.ts index 33fdfa84..759be7a9 100644 --- a/src/lib/expand-unit.ts +++ b/src/lib/expand-unit.ts @@ -92,13 +92,24 @@ export const expandCrossbellNote = async ( page: ExpandedNote, useStat?: boolean, useScore?: boolean, + keyword?: string, ) => { if (page.metadata?.content) { if (page.metadata?.content?.content) { const { renderPageContent } = await import("~/markdown") const rendered = renderPageContent(page.metadata.content.content, true) - if (!page.metadata.content.summary) { - page.metadata.content.summary = rendered.excerpt + if (keyword) { + const position = page.metadata.content.content + .toLowerCase() + .indexOf(keyword.toLowerCase()) + page.metadata.content.summary = `...${page.metadata.content.content.slice( + position - 10, + position + 100, + )}` + } else { + if (!page.metadata.content.summary) { + page.metadata.content.summary = rendered.excerpt + } } page.metadata.content.cover = rendered.cover if (page.metadata) { diff --git a/src/models/home.model.ts b/src/models/home.model.ts index d645d1d4..cc6ac676 100644 --- a/src/models/home.model.ts +++ b/src/models/home.model.ts @@ -5,6 +5,7 @@ import dayjs from "dayjs" import { expandCrossbellNote } from "~/lib/expand-unit" export type FeedType = "latest" | "following" | "topic" | "hot" | "search" +export type SearchType = "latest" | "hot" export async function getFeed({ type, @@ -13,7 +14,8 @@ export async function getFeed({ characterId, noteIds, daysInterval, - keyword, + searchKeyword, + searchType, }: { type?: FeedType cursor?: string @@ -21,9 +23,10 @@ export async function getFeed({ characterId?: number noteIds?: string[] daysInterval?: number - keyword?: string + searchKeyword?: string + searchType?: SearchType }) { - if (type === "search" && !keyword) { + if (type === "search" && !searchKeyword) { type = "latest" } switch (type) { @@ -217,16 +220,18 @@ export async function getFeed({ } } case "search": { - const result = await indexer.searchNotes(keyword!, { + const result = await indexer.searchNotes(searchKeyword!, { sources: ["xlog"], tags: ["post"], limit: limit, cursor, + includeCharacterMetadata: true, + orderBy: searchType === "hot" ? "viewCount" : "createdAt", }) const list = await Promise.all( result.list.map(async (page: any) => { - return await expandCrossbellNote(page) + return await expandCrossbellNote(page, false, false, searchKeyword) }), ) diff --git a/src/models/page.model.ts b/src/models/page.model.ts index 4f4cff25..520778ab 100644 --- a/src/models/page.model.ts +++ b/src/models/page.model.ts @@ -306,11 +306,12 @@ export async function getSearchPagesBySite(input: { characterId: input.characterId, tags: ["post"], sources: ["xlog"], + orderBy: "publishedAt", }) const list: ExpandedNote[] = await Promise.all( result.list.map(async (page: any) => { - return await expandCrossbellNote(page, true) + return await expandCrossbellNote(page, true, false, input.keyword) }), ) diff --git a/src/pages/_site/[site]/search.tsx b/src/pages/_site/[site]/search.tsx index 0651d039..f4ff375d 100644 --- a/src/pages/_site/[site]/search.tsx +++ b/src/pages/_site/[site]/search.tsx @@ -56,6 +56,7 @@ function SiteSearchPage({ domainOrSubdomain }: { domainOrSubdomain: string }) { fetchNextPage={posts.fetchNextPage} hasNextPage={posts.hasNextPage} isFetchingNextPage={posts.isFetchingNextPage} + keyword={keyword} /> )} diff --git a/src/queries/home.ts b/src/queries/home.ts index 8c3b73bd..9ac6d9a4 100644 --- a/src/queries/home.ts +++ b/src/queries/home.ts @@ -8,7 +8,8 @@ export const useGetFeed = (data?: { limit?: number noteIds?: string[] daysInterval?: number - keyword?: string + searchKeyword?: string + searchType?: homeModel.SearchType }) => { return useInfiniteQuery({ queryKey: ["getFeed", data], From 63756f659cf060422a57235e8c92d52368127eaa Mon Sep 17 00:00:00 2001 From: DIYgod Date: Thu, 13 Apr 2023 00:26:01 +0100 Subject: [PATCH 16/16] feat: update data --- data/titles.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/titles.json b/data/titles.json index 6dc5f998..474dc4c4 100644 --- a/data/titles.json +++ b/data/titles.json @@ -4,7 +4,7 @@ "link": "https://github.com/Crossbell-Box/xLog/graphs/contributors", "list": [ 10, 30, 12, 32022, 32179, 45, 19, 4583, 4381, 32168, 33446, 33492, 52055, - 153, 50143, 51470, 31132 + 153, 50143, 51470, 31132, 45089 ] } ]