From 78bf2c1c3f4a9b8d9d291b5bfe34532d6ae5b06f Mon Sep 17 00:00:00 2001 From: Lorraxs Date: Tue, 9 Apr 2024 11:55:21 +0700 Subject: [PATCH] Add stringd --- web/package.json | 3 +- web/pnpm-lock.yaml | 536 ++++++++++++++++++++++++++++++++++++++++++++- web/src/App.tsx | 8 +- 3 files changed, 541 insertions(+), 6 deletions(-) diff --git a/web/package.json b/web/package.json index e4a6367..b8fa543 100644 --- a/web/package.json +++ b/web/package.json @@ -14,11 +14,12 @@ "@nextui-org/react": "^2.2.9", "@reduxjs/toolkit": "^2.0.1", "framer-motion": "^10.16.16", - "lr-components": "^0.2.3", + "lr-components": "^0.3.7", "react": "^18.2.0", "react-dom": "^18.2.0", "react-redux": "^9.0.4", "react-toastify": "^9.1.3", + "stringd": "^2.2.0", "styled-components": "^6.1.1" }, "devDependencies": { diff --git a/web/pnpm-lock.yaml b/web/pnpm-lock.yaml index e270232..8f36af9 100644 --- a/web/pnpm-lock.yaml +++ b/web/pnpm-lock.yaml @@ -15,8 +15,8 @@ dependencies: specifier: ^10.16.16 version: 10.16.16(react-dom@18.2.0)(react@18.2.0) lr-components: - specifier: ^0.2.3 - version: 0.2.3(react-dom@18.2.0)(react@18.2.0) + specifier: ^0.3.7 + version: 0.3.7(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18)(tailwindcss@3.3.6) react: specifier: ^18.2.0 version: 18.2.0 @@ -29,6 +29,9 @@ dependencies: react-toastify: specifier: ^9.1.3 version: 9.1.3(react-dom@18.2.0)(react@18.2.0) + stringd: + specifier: ^2.2.0 + version: 2.2.0 styled-components: specifier: ^6.1.1 version: 6.1.1(react-dom@18.2.0)(react@18.2.0) @@ -716,6 +719,39 @@ packages: - tailwind-variants dev: false + /@nextui-org/accordion@2.0.28(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-WzD7sscL+4K0TFyUutTn1AhU0wcS68TqNCTNv7KgON6ODdwieydilMxAyXvwo3RgXeWG+8BbdxJC/6W+/iLBTg==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/aria-utils': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/divider': 2.0.25(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/framer-transitions': 2.0.15(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-icons': 2.0.6(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-accordion': 2.0.2(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/use-aria-press': 2.0.1(react@18.2.0) + '@react-aria/button': 3.9.0(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-stately/tree': 3.7.4(react@18.2.0) + '@react-types/accordion': 3.0.0-alpha.17(react@18.2.0) + '@react-types/shared': 3.22.0(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - tailwind-variants + dev: false + /@nextui-org/aria-utils@2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): resolution: {integrity: sha512-4M4jeJ/ghGaia9064yS+mEZ3sFPH80onmjNGWJZkkZDmUV4R88lNkqe/XYBK1tbxfl4Kxa8jc/ALsZkUkkvR5w==} peerDependencies: @@ -775,6 +811,45 @@ packages: - tailwind-variants dev: false + /@nextui-org/autocomplete@2.0.9(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-ViPXrZnP35k7LF+TBA4w8nqu0OEj9p1z9Rt7rwrACmY2VmDGY6h6a6nDCMjhuTVXptftRvzxfIPsIyzBYqxb0g==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/aria-utils': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/button': 2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/input': 2.1.16(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/listbox': 2.1.16(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/popover': 2.1.14(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/scroll-shadow': 2.1.12(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/shared-icons': 2.0.6(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/spinner': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-button': 2.0.6(react@18.2.0) + '@react-aria/combobox': 3.8.0(react-dom@18.2.0)(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/i18n': 3.9.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-aria/visually-hidden': 3.8.7(react@18.2.0) + '@react-stately/combobox': 3.8.0(react@18.2.0) + '@react-types/combobox': 3.9.0(react@18.2.0) + '@react-types/shared': 3.22.0(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - tailwind-variants + dev: false + /@nextui-org/avatar@2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-3QUn8v61iNvAYogUbEDVnhDjBK6WBxxFYLp95a0H52zN0p2LHXe+UNwdGZYFo5QNWx6CHGH3vh2AHlLLy3WFSQ==} peerDependencies: @@ -863,6 +938,35 @@ packages: - tailwind-variants dev: false + /@nextui-org/button@2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-mDrSII1oneY4omwDdxUhl5oLa3AhoWCchwV/jt7egunnAFie32HbTqfFYGpLGiJw3JMMh3WDUthrI1islVTRKA==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/ripple': 2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/spinner': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-button': 2.0.6(react@18.2.0) + '@react-aria/button': 3.9.0(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-types/button': 3.9.1(react@18.2.0) + '@react-types/shared': 3.22.0(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - tailwind-variants + dev: false + /@nextui-org/card@2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@10.16.16)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-16uAS0i6+EO+u8aqtmaCXatjovsyuTq51JwCLBlB67OldfgXoYcYl3GaE2VoZdEwxVu1G/qypDfXv29k46nZuA==} peerDependencies: @@ -888,6 +992,31 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /@nextui-org/card@2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-16uAS0i6+EO+u8aqtmaCXatjovsyuTq51JwCLBlB67OldfgXoYcYl3GaE2VoZdEwxVu1G/qypDfXv29k46nZuA==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/ripple': 2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-button': 2.0.6(react@18.2.0) + '@react-aria/button': 3.9.0(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-types/shared': 3.22.0(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@nextui-org/checkbox@2.0.25(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-X6WkwPbZlDvioEcXF6HhKH21wD6OK+3+FSroKkzMPQLJrj2KYUIYGbiuw9rT9aCtdjbT+6HUCv+FA8/cBQr7cA==} peerDependencies: @@ -999,6 +1128,34 @@ packages: - tailwind-variants dev: false + /@nextui-org/dropdown@2.1.16(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-3KINNvC7Cz+deQltCM8gaB7iJCfU4Qsp1fwnoy1wUEjeZhEtPOPR59oTyqT+gPaPIisP1+LLOfcqRl4jNQoVXw==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/menu': 2.0.17(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/popover': 2.1.14(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/menu': 3.11.2(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-stately/menu': 3.5.7(react@18.2.0) + '@react-types/menu': 3.9.6(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - tailwind-variants + dev: false + /@nextui-org/framer-transitions@2.0.15(@nextui-org/theme@2.1.17)(framer-motion@10.16.16)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): resolution: {integrity: sha512-UlWMCAFdrq8wKrYFGwc+O4kFhKCkL4L9ZadBkP0PqjmfyAC2gA3ygRbNqtKhFMWeKbBAiC8qQ9aTBEA/+0r/EA==} peerDependencies: @@ -1016,6 +1173,23 @@ packages: - tailwind-variants dev: false + /@nextui-org/framer-transitions@2.0.15(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-UlWMCAFdrq8wKrYFGwc+O4kFhKCkL4L9ZadBkP0PqjmfyAC2gA3ygRbNqtKhFMWeKbBAiC8qQ9aTBEA/+0r/EA==} + peerDependencies: + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@nextui-org/theme' + - tailwind-variants + dev: false + /@nextui-org/image@2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-bps5D5ki7PoLldb8wcJEf6C4EUFZm3PocLytNaGa7dNxFfaCOD78So+kq+K+0IRusK3yn94K8r31qMvpI3Gg2Q==} peerDependencies: @@ -1193,6 +1367,40 @@ packages: - tailwind-variants dev: false + /@nextui-org/modal@2.0.28(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-unfP0EMF3FDg5CkRqou03s4/BopWbaBTeVIMZeA2A1WF5teHUOmpLdp44Z1KOoWB1RVMDVd4JeoauNHNhJMp0g==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/framer-transitions': 2.0.15(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-icons': 2.0.6(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-button': 2.0.6(react@18.2.0) + '@nextui-org/use-aria-modal-overlay': 2.0.6(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/use-disclosure': 2.0.6(react@18.2.0) + '@react-aria/dialog': 3.5.8(react-dom@18.2.0)(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/overlays': 3.19.0(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-stately/overlays': 3.6.4(react@18.2.0) + '@react-types/overlays': 3.8.4(react@18.2.0) + framer-motion: 11.0.25(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.7(@types/react@18.2.43)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - tailwind-variants + dev: false + /@nextui-org/navbar@2.0.27(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@10.16.16)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): resolution: {integrity: sha512-iP4Pn4ItQkAW1nbu1Jmrh5l9pMVG43lDxq9rbx6DbLjLnnZOOrE6fURb8uN5NVy3ooV5dF02zKAoxlkE5fN/xw==} peerDependencies: @@ -1224,6 +1432,37 @@ packages: - tailwind-variants dev: false + /@nextui-org/navbar@2.0.27(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-iP4Pn4ItQkAW1nbu1Jmrh5l9pMVG43lDxq9rbx6DbLjLnnZOOrE6fURb8uN5NVy3ooV5dF02zKAoxlkE5fN/xw==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/framer-transitions': 2.0.15(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-toggle-button': 2.0.6(react@18.2.0) + '@nextui-org/use-scroll-position': 2.0.4(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/overlays': 3.19.0(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-stately/toggle': 3.7.0(react@18.2.0) + '@react-stately/utils': 3.9.0(react@18.2.0) + framer-motion: 11.0.25(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.7(@types/react@18.2.43)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - tailwind-variants + dev: false + /@nextui-org/pagination@2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-OVpkpXqUKRuMRIcYESBAL95d3pqZ17SKAyNINMiJ/DwWnrzJu/LXGmFwTuYRoBdqHFlm7guGqZbHmAkcS/Fgow==} peerDependencies: @@ -1281,6 +1520,40 @@ packages: - tailwind-variants dev: false + /@nextui-org/popover@2.1.14(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-fqqktFQ/chIBS9Y3MghL6KX6qAy3hodtXUDchnxLa1GL+oi6TCBLUjo+wgI5EMJrTTbqo/eFLui/Ks00JfCj+A==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/aria-utils': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/button': 2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/framer-transitions': 2.0.15(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-button': 2.0.6(react@18.2.0) + '@react-aria/dialog': 3.5.8(react-dom@18.2.0)(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/overlays': 3.19.0(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-stately/overlays': 3.6.4(react@18.2.0) + '@react-types/button': 3.9.1(react@18.2.0) + '@react-types/overlays': 3.8.4(react@18.2.0) + framer-motion: 11.0.25(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.7(@types/react@18.2.43)(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - tailwind-variants + dev: false + /@nextui-org/progress@2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-RPVsFCF8COFClS/8PqEepzryhDFtIcJGQLu/P+qAr7jIDlXizXaBDrp0X34GVtQsapNeE9ExxX9Kt+QIspuHHQ==} peerDependencies: @@ -1397,6 +1670,62 @@ packages: - tailwindcss dev: false + /@nextui-org/react@2.2.9(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18)(tailwindcss@3.3.6): + resolution: {integrity: sha512-QHkUQTxI9sYoVjrvTpYm5K68pMDRqD13+DVzdsrkJuETGhbvE2c2CCGc4on9EwXC3JsOxuP/OyqaAmOIuHhYkA==} + peerDependencies: + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/accordion': 2.0.28(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/autocomplete': 2.0.9(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/avatar': 2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/badge': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/breadcrumbs': 2.0.4(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/button': 2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/card': 2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/checkbox': 2.0.25(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/chip': 2.0.25(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/code': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/divider': 2.0.25(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/dropdown': 2.1.16(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/image': 2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/input': 2.1.16(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/kbd': 2.0.25(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/link': 2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/listbox': 2.1.16(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/menu': 2.0.17(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/modal': 2.0.28(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/navbar': 2.0.27(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/pagination': 2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/popover': 2.1.14(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/progress': 2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/radio': 2.0.25(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/ripple': 2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/scroll-shadow': 2.1.12(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/select': 2.1.20(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/skeleton': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/slider': 2.2.5(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/snippet': 2.0.30(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/spacer': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/spinner': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/switch': 2.0.25(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/table': 2.0.28(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/tabs': 2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/tooltip': 2.0.29(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/user': 2.0.25(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@react-aria/visually-hidden': 3.8.7(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - tailwind-variants + - tailwindcss + dev: false + /@nextui-org/ripple@2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@10.16.16)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-PCvAk9ErhmPX46VRmhsg8yMxw3Qd9LY7BDkRRfIF8KftgRDyOpG2vV8DxvSOxQu1/aqBWkkHNUuEjM/EvSEung==} peerDependencies: @@ -1415,6 +1744,24 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /@nextui-org/ripple@2.0.24(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-PCvAk9ErhmPX46VRmhsg8yMxw3Qd9LY7BDkRRfIF8KftgRDyOpG2vV8DxvSOxQu1/aqBWkkHNUuEjM/EvSEung==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@nextui-org/scroll-shadow@2.1.12(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-uxT8D+WCWeBy4xaFDfqVpBgjjHZUwydXsX5HhbzZCBir/1eRG5GMnUES3w98DSwcUVadG64gAVsyGW4HmSZw1Q==} peerDependencies: @@ -1466,6 +1813,40 @@ packages: - tailwind-variants dev: false + /@nextui-org/select@2.1.20(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-GCO9uzyYnFIdJTqIe6aDe2NnYlclcdYfZnECFAze/R2MW0jpoysk5ysGBDjVDmZis6tLu+BOFXJbIlYEi+LoUQ==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/aria-utils': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/listbox': 2.1.16(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/popover': 2.1.14(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/scroll-shadow': 2.1.12(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0) + '@nextui-org/shared-icons': 2.0.6(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/spinner': 2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-aria-button': 2.0.6(react@18.2.0) + '@nextui-org/use-aria-multiselect': 2.1.3(react-dom@18.2.0)(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-aria/visually-hidden': 3.8.7(react@18.2.0) + '@react-types/shared': 3.22.0(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - '@types/react' + - tailwind-variants + dev: false + /@nextui-org/shared-icons@2.0.6(react@18.2.0): resolution: {integrity: sha512-Mw5utPJAclFaeKAZowznEgabI5gdhXrW0iMaMA18Y4zcZRTidAc0WFeGYUlX876NxYLPc1Zk4bZUhQvMe+7uWg==} peerDependencies: @@ -1527,6 +1908,34 @@ packages: - tailwind-variants dev: false + /@nextui-org/slider@2.2.5(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-dC6HHMmtn2WvxDmbY/Dq51XJjQ7cAnjZsuYVIvhwIiCLDG8QnEIhmYN0DQp/6oeZsCHnyMHC4DmtgOiJL0eXrQ==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/tooltip': 2.0.29(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/use-aria-press': 2.0.1(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/i18n': 3.9.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/slider': 3.7.3(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-aria/visually-hidden': 3.8.7(react@18.2.0) + '@react-stately/slider': 3.4.5(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - framer-motion + - tailwind-variants + dev: false + /@nextui-org/snippet@2.0.30(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@10.16.16)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): resolution: {integrity: sha512-8hKxqKpbJIMqFVedzYj90T4td+TkWdOdyYD9+VjywMdezAjsWdr8tqQj7boaMFjVNVSG+Pnw55Pgg/vkpc21aw==} peerDependencies: @@ -1553,6 +1962,32 @@ packages: - tailwind-variants dev: false + /@nextui-org/snippet@2.0.30(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-8hKxqKpbJIMqFVedzYj90T4td+TkWdOdyYD9+VjywMdezAjsWdr8tqQj7boaMFjVNVSG+Pnw55Pgg/vkpc21aw==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/button': 2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-icons': 2.0.6(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/tooltip': 2.0.29(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/use-clipboard': 2.0.4(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - tailwind-variants + dev: false + /@nextui-org/spacer@2.0.24(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): resolution: {integrity: sha512-bLnhPRnoyHQXhLneHjbRqZNxJWMFOBYOZkuX83uy59/FFUY07BcoNsb2s80tN3GoVxsaZ2jB6NxxVbaCJwoPog==} peerDependencies: @@ -1704,6 +2139,38 @@ packages: - tailwind-variants dev: false + /@nextui-org/tabs@2.0.26(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-GjERgBYUAY1KD4GqNVy0cRi6GyQnf62q0ddcN4je3sEM6rsq3PygEXhkN5pxxFPacoYM/UE6rBswHSKlbjJjgw==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/aria-utils': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/framer-transitions': 2.0.15(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@nextui-org/use-is-mounted': 2.0.4(react@18.2.0) + '@nextui-org/use-update-effect': 2.0.4(react@18.2.0) + '@react-aria/focus': 3.15.0(react@18.2.0) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/tabs': 3.8.2(react-dom@18.2.0)(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-stately/tabs': 3.6.2(react@18.2.0) + '@react-types/shared': 3.22.0(react@18.2.0) + '@react-types/tabs': 3.3.4(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + scroll-into-view-if-needed: 3.0.10 + transitivePeerDependencies: + - tailwind-variants + dev: false + /@nextui-org/theme@2.1.17(tailwindcss@3.3.6): resolution: {integrity: sha512-/WeHcMrAcWPGsEVn9M9TnvxKkaYkCocBH9JrDYCEFQoJgleUzHd4nVk7MWtpSOYJXLUzUMY1M9AqAK3jBkw+5g==} peerDependencies: @@ -1751,6 +2218,35 @@ packages: - tailwind-variants dev: false + /@nextui-org/tooltip@2.0.29(@nextui-org/system@2.0.15)(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18): + resolution: {integrity: sha512-LaFyS5bXhcZFXP9rnh6pTKsYX6siWjzEe5z72FIOyAV2yvv2yhkRiO/mEHKI8moo+/tScW/6muFXsvbEalPefg==} + peerDependencies: + '@nextui-org/system': '>=2.0.0' + '@nextui-org/theme': '>=2.1.0' + framer-motion: '>=4.0.0' + react: '>=18' + react-dom: '>=18' + dependencies: + '@nextui-org/aria-utils': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/framer-transitions': 2.0.15(@nextui-org/theme@2.1.17)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/react-utils': 2.0.10(react@18.2.0) + '@nextui-org/shared-utils': 2.0.4(react@18.2.0) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) + '@react-aria/interactions': 3.20.0(react@18.2.0) + '@react-aria/overlays': 3.19.0(react-dom@18.2.0)(react@18.2.0) + '@react-aria/tooltip': 3.6.5(react@18.2.0) + '@react-aria/utils': 3.22.0(react@18.2.0) + '@react-stately/tooltip': 3.4.6(react@18.2.0) + '@react-types/overlays': 3.8.4(react@18.2.0) + '@react-types/tooltip': 3.4.6(react@18.2.0) + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + transitivePeerDependencies: + - tailwind-variants + dev: false + /@nextui-org/use-aria-accordion@2.0.2(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-ebYr4CdvWifuTM/yyhQLKCa7aUqbVrWyR0SB6VNCGDID/kvRUW52puWnY9k24xdwY0cKbW3JRciKtQkrokRQwg==} peerDependencies: @@ -3793,6 +4289,25 @@ packages: '@emotion/is-prop-valid': 0.8.8 dev: false + /framer-motion@11.0.25(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-mRt7vQGzA7++wTgb+PW1TrlXXgndqR6hCiJ48fXr2X9alte2hPQiAq556HRwDCt0Q5X98MNvcSe4KUa27Gm5Lg==} + peerDependencies: + '@emotion/is-prop-valid': '*' + react: ^18.0.0 + react-dom: ^18.0.0 + peerDependenciesMeta: + '@emotion/is-prop-valid': + optional: true + react: + optional: true + react-dom: + optional: true + dependencies: + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + tslib: 2.6.2 + dev: false + /fs.realpath@1.0.0: resolution: {integrity: sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==} @@ -4078,21 +4593,29 @@ packages: js-tokens: 4.0.0 dev: false - /lr-components@0.2.3(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-CKcegip4QAXgZUFY/PQLIsv2/xsec36N000RBULBgzq9vX5SexzHcgUucdqiNXkDmSleR5fzx2tMi+sU1ugOtw==} + /lr-components@0.3.7(@types/react@18.2.43)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18)(tailwindcss@3.3.6): + resolution: {integrity: sha512-/zGWh6nDwAUGsY678aIioOqOd+z0Muoftwqouhr+PB04rlgCGrKEonaBqCeP60c6/3N5itfeu9dbnzf3VmH41w==} engines: {node: '>=10'} peerDependencies: react: '>=16' dependencies: + '@nextui-org/react': 2.2.9(@types/react@18.2.43)(framer-motion@11.0.25)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18)(tailwindcss@3.3.6) + '@nextui-org/system': 2.0.15(@nextui-org/theme@2.1.17)(react-dom@18.2.0)(react@18.2.0)(tailwind-variants@0.1.18) + '@nextui-org/theme': 2.1.17(tailwindcss@3.3.6) '@uidotdev/usehooks': 2.4.1(react-dom@18.2.0)(react@18.2.0) csstype: 3.1.3 + framer-motion: 11.0.25(react-dom@18.2.0)(react@18.2.0) moment: 2.29.4 react: 18.2.0 react-icons: 4.12.0(react@18.2.0) styled-components: 6.1.1(react-dom@18.2.0)(react@18.2.0) usehooks-ts: 2.9.1(react-dom@18.2.0)(react@18.2.0) transitivePeerDependencies: + - '@emotion/is-prop-valid' + - '@types/react' - react-dom + - tailwind-variants + - tailwindcss dev: false /lru-cache@5.1.1: @@ -4586,6 +5109,11 @@ packages: resolution: {integrity: sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==} engines: {node: '>=0.10.0'} + /stringd@2.2.0: + resolution: {integrity: sha512-+Cy2qL0I7feya1Rrgem6/pogMEEA5CXlWxR5WNyy6AgKRVtSqmMtkoDRv6czf5P/b//Y6YuT43Y4z7etKtzKFw==} + engines: {node: '>=12'} + dev: false + /strip-ansi@6.0.1: resolution: {integrity: sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==} engines: {node: '>=8'} diff --git a/web/src/App.tsx b/web/src/App.tsx index 3154f91..423ecf1 100644 --- a/web/src/App.tsx +++ b/web/src/App.tsx @@ -7,13 +7,19 @@ import AppActionHook from './components/AppActionHook'; import { isEnvBrowser } from './utils/misc'; import { fetchNui } from './utils/fetchNui'; import { DefaultUISetting, ISettingContext, UISetting } from './types'; +import stringd from 'stringd'; export const SettingContext = createContext(DefaultUISetting); function App() { const show = useSelector((state: RootState) => state.main.show); const [setting, setSetting] = useState({ locale: {} }); - const L = (key: string) => setting.locale[key] || key; + const L = (key: string, args?: { [key: string]: string | number }) => { + if (setting.locale[key]) { + return stringd(setting.locale[key], args) as string; + } + return key; + }; useEffect(() => { if (!isEnvBrowser()) { setTimeout(async () => {