mirror of
https://github.com/arc53/DocsGPT.git
synced 2025-11-29 08:33:20 +00:00
Merge pull request #1111 from ManishMadan2882/main
Widget: Replaced deprecated dependency
This commit is contained in:
87
extensions/react-widget/package-lock.json
generated
87
extensions/react-widget/package-lock.json
generated
@@ -1,16 +1,15 @@
|
|||||||
{
|
{
|
||||||
"name": "docsgpt",
|
"name": "docsgpt",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"": {
|
"": {
|
||||||
"name": "docsgpt",
|
"name": "docsgpt",
|
||||||
"version": "0.4.0",
|
"version": "0.4.1",
|
||||||
"license": "Apache-2.0",
|
"license": "Apache-2.0",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-transform-flow-strip-types": "^7.23.3",
|
"@babel/plugin-transform-flow-strip-types": "^7.23.3",
|
||||||
"@bpmn-io/snarkdown": "^2.2.0",
|
|
||||||
"@parcel/resolver-glob": "^2.12.0",
|
"@parcel/resolver-glob": "^2.12.0",
|
||||||
"@parcel/transformer-svg-react": "^2.12.0",
|
"@parcel/transformer-svg-react": "^2.12.0",
|
||||||
"@parcel/transformer-typescript-tsc": "^2.12.0",
|
"@parcel/transformer-typescript-tsc": "^2.12.0",
|
||||||
@@ -22,6 +21,7 @@
|
|||||||
"flow-bin": "^0.229.2",
|
"flow-bin": "^0.229.2",
|
||||||
"i": "^0.3.7",
|
"i": "^0.3.7",
|
||||||
"install": "^0.13.0",
|
"install": "^0.13.0",
|
||||||
|
"markdown-it": "^14.1.0",
|
||||||
"npm": "^10.5.0",
|
"npm": "^10.5.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
@@ -34,6 +34,7 @@
|
|||||||
"@parcel/packager-ts": "^2.12.0",
|
"@parcel/packager-ts": "^2.12.0",
|
||||||
"@parcel/transformer-typescript-types": "^2.12.0",
|
"@parcel/transformer-typescript-types": "^2.12.0",
|
||||||
"@types/dompurify": "^3.0.5",
|
"@types/dompurify": "^3.0.5",
|
||||||
|
"@types/markdown-it": "^14.1.2",
|
||||||
"@types/react": "^18.3.3",
|
"@types/react": "^18.3.3",
|
||||||
"@types/react-dom": "^18.3.0",
|
"@types/react-dom": "^18.3.0",
|
||||||
"babel-loader": "^8.0.4",
|
"babel-loader": "^8.0.4",
|
||||||
@@ -1837,11 +1838,6 @@
|
|||||||
"node": ">=6.9.0"
|
"node": ">=6.9.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@bpmn-io/snarkdown": {
|
|
||||||
"version": "2.2.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/@bpmn-io/snarkdown/-/snarkdown-2.2.0.tgz",
|
|
||||||
"integrity": "sha512-bVD7FIoaBDZeCJkMRgnBPDeptPlto87wt2qaCjf5t8iLaevDmTPaREd6FpBEGsHlUdHFFZWRk4qAoEC5So2M0Q=="
|
|
||||||
},
|
|
||||||
"node_modules/@emotion/is-prop-valid": {
|
"node_modules/@emotion/is-prop-valid": {
|
||||||
"version": "1.2.2",
|
"version": "1.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.2.2.tgz",
|
||||||
@@ -4600,6 +4596,31 @@
|
|||||||
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
|
"integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
|
"node_modules/@types/linkify-it": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
|
"node_modules/@types/markdown-it": {
|
||||||
|
"version": "14.1.2",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz",
|
||||||
|
"integrity": "sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"@types/linkify-it": "^5",
|
||||||
|
"@types/mdurl": "^2"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/@types/mdurl": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==",
|
||||||
|
"dev": true,
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/@types/parse-json": {
|
"node_modules/@types/parse-json": {
|
||||||
"version": "4.0.2",
|
"version": "4.0.2",
|
||||||
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
|
"resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.2.tgz",
|
||||||
@@ -4686,8 +4707,7 @@
|
|||||||
"node_modules/argparse": {
|
"node_modules/argparse": {
|
||||||
"version": "2.0.1",
|
"version": "2.0.1",
|
||||||
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
"resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
|
||||||
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
|
"integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q=="
|
||||||
"dev": true
|
|
||||||
},
|
},
|
||||||
"node_modules/babel-loader": {
|
"node_modules/babel-loader": {
|
||||||
"version": "8.3.0",
|
"version": "8.3.0",
|
||||||
@@ -5755,6 +5775,15 @@
|
|||||||
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
||||||
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
|
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
|
||||||
},
|
},
|
||||||
|
"node_modules/linkify-it": {
|
||||||
|
"version": "5.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-5.0.0.tgz",
|
||||||
|
"integrity": "sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"uc.micro": "^2.0.0"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/lmdb": {
|
"node_modules/lmdb": {
|
||||||
"version": "2.8.5",
|
"version": "2.8.5",
|
||||||
"resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz",
|
"resolved": "https://registry.npmjs.org/lmdb/-/lmdb-2.8.5.tgz",
|
||||||
@@ -5850,6 +5879,29 @@
|
|||||||
"url": "https://github.com/sponsors/sindresorhus"
|
"url": "https://github.com/sponsors/sindresorhus"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/markdown-it": {
|
||||||
|
"version": "14.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.0.tgz",
|
||||||
|
"integrity": "sha512-a54IwgWPaeBCAAsv13YgmALOF1elABB08FxO9i+r4VFk5Vl4pKokRPeX8u5TCgSsPi6ec1otfLjdOpVcgbpshg==",
|
||||||
|
"license": "MIT",
|
||||||
|
"dependencies": {
|
||||||
|
"argparse": "^2.0.1",
|
||||||
|
"entities": "^4.4.0",
|
||||||
|
"linkify-it": "^5.0.0",
|
||||||
|
"mdurl": "^2.0.0",
|
||||||
|
"punycode.js": "^2.3.1",
|
||||||
|
"uc.micro": "^2.1.0"
|
||||||
|
},
|
||||||
|
"bin": {
|
||||||
|
"markdown-it": "bin/markdown-it.mjs"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"node_modules/mdurl": {
|
||||||
|
"version": "2.0.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/mdurl/-/mdurl-2.0.0.tgz",
|
||||||
|
"integrity": "sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/micromatch": {
|
"node_modules/micromatch": {
|
||||||
"version": "4.0.7",
|
"version": "4.0.7",
|
||||||
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
|
"resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz",
|
||||||
@@ -8689,6 +8741,15 @@
|
|||||||
"node": ">=6"
|
"node": ">=6"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/punycode.js": {
|
||||||
|
"version": "2.3.1",
|
||||||
|
"resolved": "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz",
|
||||||
|
"integrity": "sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==",
|
||||||
|
"license": "MIT",
|
||||||
|
"engines": {
|
||||||
|
"node": ">=6"
|
||||||
|
}
|
||||||
|
},
|
||||||
"node_modules/react": {
|
"node_modules/react": {
|
||||||
"version": "18.3.1",
|
"version": "18.3.1",
|
||||||
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
|
"resolved": "https://registry.npmjs.org/react/-/react-18.3.1.tgz",
|
||||||
@@ -9031,6 +9092,12 @@
|
|||||||
"node": ">=14.17"
|
"node": ">=14.17"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
"node_modules/uc.micro": {
|
||||||
|
"version": "2.1.0",
|
||||||
|
"resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-2.1.0.tgz",
|
||||||
|
"integrity": "sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==",
|
||||||
|
"license": "MIT"
|
||||||
|
},
|
||||||
"node_modules/unicode-canonical-property-names-ecmascript": {
|
"node_modules/unicode-canonical-property-names-ecmascript": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz",
|
||||||
|
|||||||
@@ -40,7 +40,6 @@
|
|||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@babel/plugin-transform-flow-strip-types": "^7.23.3",
|
"@babel/plugin-transform-flow-strip-types": "^7.23.3",
|
||||||
"@bpmn-io/snarkdown": "^2.2.0",
|
|
||||||
"@parcel/resolver-glob": "^2.12.0",
|
"@parcel/resolver-glob": "^2.12.0",
|
||||||
"@parcel/transformer-svg-react": "^2.12.0",
|
"@parcel/transformer-svg-react": "^2.12.0",
|
||||||
"@parcel/transformer-typescript-tsc": "^2.12.0",
|
"@parcel/transformer-typescript-tsc": "^2.12.0",
|
||||||
@@ -52,6 +51,7 @@
|
|||||||
"flow-bin": "^0.229.2",
|
"flow-bin": "^0.229.2",
|
||||||
"i": "^0.3.7",
|
"i": "^0.3.7",
|
||||||
"install": "^0.13.0",
|
"install": "^0.13.0",
|
||||||
|
"markdown-it": "^14.1.0",
|
||||||
"npm": "^10.5.0",
|
"npm": "^10.5.0",
|
||||||
"react": "^18.2.0",
|
"react": "^18.2.0",
|
||||||
"react-dom": "^18.2.0",
|
"react-dom": "^18.2.0",
|
||||||
@@ -64,6 +64,7 @@
|
|||||||
"@parcel/packager-ts": "^2.12.0",
|
"@parcel/packager-ts": "^2.12.0",
|
||||||
"@parcel/transformer-typescript-types": "^2.12.0",
|
"@parcel/transformer-typescript-types": "^2.12.0",
|
||||||
"@types/dompurify": "^3.0.5",
|
"@types/dompurify": "^3.0.5",
|
||||||
|
"@types/markdown-it": "^14.1.2",
|
||||||
"@types/react": "^18.3.3",
|
"@types/react": "^18.3.3",
|
||||||
"@types/react-dom": "^18.3.0",
|
"@types/react-dom": "^18.3.0",
|
||||||
"babel-loader": "^8.0.4",
|
"babel-loader": "^8.0.4",
|
||||||
|
|||||||
@@ -1,12 +1,12 @@
|
|||||||
"use client";
|
"use client";
|
||||||
import React from 'react'
|
import React from 'react'
|
||||||
import DOMPurify from 'dompurify';
|
import DOMPurify from 'dompurify';
|
||||||
import snarkdown from '@bpmn-io/snarkdown';
|
|
||||||
import styled, { keyframes, createGlobalStyle } from 'styled-components';
|
import styled, { keyframes, createGlobalStyle } from 'styled-components';
|
||||||
import { PaperPlaneIcon, RocketIcon, ExclamationTriangleIcon, Cross2Icon } from '@radix-ui/react-icons';
|
import { PaperPlaneIcon, RocketIcon, ExclamationTriangleIcon, Cross2Icon } from '@radix-ui/react-icons';
|
||||||
import { MESSAGE_TYPE, Query, Status, WidgetProps } from '../types/index';
|
import { MESSAGE_TYPE, Query, Status, WidgetProps } from '../types/index';
|
||||||
import { fetchAnswerStreaming } from '../requests/streamingApi';
|
import { fetchAnswerStreaming } from '../requests/streamingApi';
|
||||||
import { ThemeProvider } from 'styled-components';
|
import { ThemeProvider } from 'styled-components';
|
||||||
|
import MarkdownIt from 'markdown-it';
|
||||||
const themes = {
|
const themes = {
|
||||||
dark: {
|
dark: {
|
||||||
bg: '#222327',
|
bg: '#222327',
|
||||||
@@ -41,6 +41,7 @@ const GlobalStyles = createGlobalStyle`
|
|||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
overflow-x: auto;
|
overflow-x: auto;
|
||||||
background-color: #1B1C1F;
|
background-color: #1B1C1F;
|
||||||
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
.response h1{
|
.response h1{
|
||||||
font-size: 20px;
|
font-size: 20px;
|
||||||
@@ -51,12 +52,16 @@ const GlobalStyles = createGlobalStyle`
|
|||||||
.response h3{
|
.response h3{
|
||||||
font-size: 16px;
|
font-size: 16px;
|
||||||
}
|
}
|
||||||
|
.response p{
|
||||||
|
margin:0px;
|
||||||
|
}
|
||||||
.response code:not(pre code){
|
.response code:not(pre code){
|
||||||
border-radius: 6px;
|
border-radius: 6px;
|
||||||
padding: 1px 3px 1px 3px;
|
padding: 1px 3px 1px 3px;
|
||||||
font-size: 12px;
|
font-size: 12px;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
background-color: #646464;
|
background-color: #646464;
|
||||||
|
color: #fff !important;
|
||||||
}
|
}
|
||||||
`;
|
`;
|
||||||
const Overlay = styled.div`
|
const Overlay = styled.div`
|
||||||
@@ -338,7 +343,7 @@ export const DocsGPTWidget = ({
|
|||||||
heroTitle = 'Welcome to DocsGPT !',
|
heroTitle = 'Welcome to DocsGPT !',
|
||||||
heroDescription = 'This chatbot is built with DocsGPT and utilises GenAI, please review important information using sources.',
|
heroDescription = 'This chatbot is built with DocsGPT and utilises GenAI, please review important information using sources.',
|
||||||
size = 'small',
|
size = 'small',
|
||||||
theme = 'light',
|
theme = 'dark',
|
||||||
buttonIcon = 'https://d3dg1063dc54p9.cloudfront.net/widget/message.svg',
|
buttonIcon = 'https://d3dg1063dc54p9.cloudfront.net/widget/message.svg',
|
||||||
buttonBg = 'linear-gradient(to bottom right, #5AF0EC, #E80D9D)'
|
buttonBg = 'linear-gradient(to bottom right, #5AF0EC, #E80D9D)'
|
||||||
}: WidgetProps) => {
|
}: WidgetProps) => {
|
||||||
@@ -349,6 +354,8 @@ export const DocsGPTWidget = ({
|
|||||||
const [open, setOpen] = React.useState<boolean>(false)
|
const [open, setOpen] = React.useState<boolean>(false)
|
||||||
const [eventInterrupt, setEventInterrupt] = React.useState<boolean>(false); //click or scroll by user while autoScrolling
|
const [eventInterrupt, setEventInterrupt] = React.useState<boolean>(false); //click or scroll by user while autoScrolling
|
||||||
const endMessageRef = React.useRef<HTMLDivElement | null>(null);
|
const endMessageRef = React.useRef<HTMLDivElement | null>(null);
|
||||||
|
const md = new MarkdownIt();
|
||||||
|
|
||||||
const handleUserInterrupt = () => {
|
const handleUserInterrupt = () => {
|
||||||
(status === 'loading') && setEventInterrupt(true);
|
(status === 'loading') && setEventInterrupt(true);
|
||||||
}
|
}
|
||||||
@@ -471,7 +478,10 @@ export const DocsGPTWidget = ({
|
|||||||
type='ANSWER'
|
type='ANSWER'
|
||||||
ref={(index === queries.length - 1) ? endMessageRef : null}
|
ref={(index === queries.length - 1) ? endMessageRef : null}
|
||||||
>
|
>
|
||||||
<div className="response" dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(snarkdown(query.response)) }} />
|
<div
|
||||||
|
className="response"
|
||||||
|
dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(md.render(query.response)) }}
|
||||||
|
/>
|
||||||
</Message>
|
</Message>
|
||||||
</MessageBubble>
|
</MessageBubble>
|
||||||
: <div>
|
: <div>
|
||||||
|
|||||||
Reference in New Issue
Block a user