@websolutespa/bom-mixer-llm 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +7 -0
- package/README.md +11 -0
- package/dist/cjs/index.css +2264 -0
- package/dist/cjs/index.js +3566 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/esm/index.css +2264 -0
- package/dist/esm/index.js +5 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/llm/components/Background/background.js +76 -0
- package/dist/esm/llm/components/Background/background.js.map +1 -0
- package/dist/esm/llm/components/BusyIndicator/busyindicator.js +23 -0
- package/dist/esm/llm/components/BusyIndicator/busyindicator.js.map +1 -0
- package/dist/esm/llm/components/Canvas/canvas.js +223 -0
- package/dist/esm/llm/components/Canvas/canvas.js.map +1 -0
- package/dist/esm/llm/components/Chunk/chunk.js +65 -0
- package/dist/esm/llm/components/Chunk/chunk.js.map +1 -0
- package/dist/esm/llm/components/Cta/cta.js +33 -0
- package/dist/esm/llm/components/Cta/cta.js.map +1 -0
- package/dist/esm/llm/components/Event/event.js +90 -0
- package/dist/esm/llm/components/Event/event.js.map +1 -0
- package/dist/esm/llm/components/EventGroup/eventgroup.js +61 -0
- package/dist/esm/llm/components/EventGroup/eventgroup.js.map +1 -0
- package/dist/esm/llm/components/FormRecap/FormRecap.js +240 -0
- package/dist/esm/llm/components/FormRecap/FormRecap.js.map +1 -0
- package/dist/esm/llm/components/FormRecapError/FormRecapError.js +13 -0
- package/dist/esm/llm/components/FormRecapError/FormRecapError.js.map +1 -0
- package/dist/esm/llm/components/FormRecapSuccess/FormRecapSuccess.js +13 -0
- package/dist/esm/llm/components/FormRecapSuccess/FormRecapSuccess.js.map +1 -0
- package/dist/esm/llm/components/FormRequest/FormRequest.js +34 -0
- package/dist/esm/llm/components/FormRequest/FormRequest.js.map +1 -0
- package/dist/esm/llm/components/Header/header.js +51 -0
- package/dist/esm/llm/components/Header/header.js.map +1 -0
- package/dist/esm/llm/components/Intro/intro.js +77 -0
- package/dist/esm/llm/components/Intro/intro.js.map +1 -0
- package/dist/esm/llm/components/Main/main.js +118 -0
- package/dist/esm/llm/components/Main/main.js.map +1 -0
- package/dist/esm/llm/components/Poi/poi.js +78 -0
- package/dist/esm/llm/components/Poi/poi.js.map +1 -0
- package/dist/esm/llm/components/PoiGroup/poigroup.js +14 -0
- package/dist/esm/llm/components/PoiGroup/poigroup.js.map +1 -0
- package/dist/esm/llm/components/Prompt/prompt.js +86 -0
- package/dist/esm/llm/components/Prompt/prompt.js.map +1 -0
- package/dist/esm/llm/components/Prompt/suggestions.js +45 -0
- package/dist/esm/llm/components/Prompt/suggestions.js.map +1 -0
- package/dist/esm/llm/components/QuickLinks/quicklinks.js +66 -0
- package/dist/esm/llm/components/QuickLinks/quicklinks.js.map +1 -0
- package/dist/esm/llm/components/Stream/stream.js +43 -0
- package/dist/esm/llm/components/Stream/stream.js.map +1 -0
- package/dist/esm/llm/components/Text/text.js +34 -0
- package/dist/esm/llm/components/Text/text.js.map +1 -0
- package/dist/esm/llm/components/Thread/thread.js +26 -0
- package/dist/esm/llm/components/Thread/thread.js.map +1 -0
- package/dist/esm/llm/components/Trigger/blob.js +122 -0
- package/dist/esm/llm/components/Trigger/blob.js.map +1 -0
- package/dist/esm/llm/components/Trigger/trigger.js +63 -0
- package/dist/esm/llm/components/Trigger/trigger.js.map +1 -0
- package/dist/esm/llm/components/Tripadvisor/tripadvisor.js +94 -0
- package/dist/esm/llm/components/Tripadvisor/tripadvisor.js.map +1 -0
- package/dist/esm/llm/hooks/useAutosizeTextArea.js +13 -0
- package/dist/esm/llm/hooks/useAutosizeTextArea.js.map +1 -0
- package/dist/esm/llm/llm.js +48 -0
- package/dist/esm/llm/llm.js.map +1 -0
- package/dist/esm/llm/utils.js +15 -0
- package/dist/esm/llm/utils.js.map +1 -0
- package/dist/esm/node_modules/tslib/tslib.es6.js +135 -0
- package/dist/esm/node_modules/tslib/tslib.es6.js.map +1 -0
- package/dist/esm/useLlm/emitter.js +32 -0
- package/dist/esm/useLlm/emitter.js.map +1 -0
- package/dist/esm/useLlm/message.service.js +308 -0
- package/dist/esm/useLlm/message.service.js.map +1 -0
- package/dist/esm/useLlm/mock.js +687 -0
- package/dist/esm/useLlm/mock.js.map +1 -0
- package/dist/esm/useLlm/speech.js +306 -0
- package/dist/esm/useLlm/speech.js.map +1 -0
- package/dist/esm/useLlm/useLlm.js +460 -0
- package/dist/esm/useLlm/useLlm.js.map +1 -0
- package/dist/types/index.d.ts +6 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/llm/components/Background/background.d.ts +34 -0
- package/dist/types/llm/components/Background/background.d.ts.map +1 -0
- package/dist/types/llm/components/BusyIndicator/busyindicator.d.ts +2 -0
- package/dist/types/llm/components/BusyIndicator/busyindicator.d.ts.map +1 -0
- package/dist/types/llm/components/Canvas/canvas.d.ts +12 -0
- package/dist/types/llm/components/Canvas/canvas.d.ts.map +1 -0
- package/dist/types/llm/components/Chunk/chunk.d.ts +9 -0
- package/dist/types/llm/components/Chunk/chunk.d.ts.map +1 -0
- package/dist/types/llm/components/Cta/cta.d.ts +10 -0
- package/dist/types/llm/components/Cta/cta.d.ts.map +1 -0
- package/dist/types/llm/components/Event/event.d.ts +3 -0
- package/dist/types/llm/components/Event/event.d.ts.map +1 -0
- package/dist/types/llm/components/EventGroup/eventgroup.d.ts +3 -0
- package/dist/types/llm/components/EventGroup/eventgroup.d.ts.map +1 -0
- package/dist/types/llm/components/FormRecap/FormRecap.d.ts +10 -0
- package/dist/types/llm/components/FormRecap/FormRecap.d.ts.map +1 -0
- package/dist/types/llm/components/FormRecapError/FormRecapError.d.ts +2 -0
- package/dist/types/llm/components/FormRecapError/FormRecapError.d.ts.map +1 -0
- package/dist/types/llm/components/FormRecapSuccess/FormRecapSuccess.d.ts +2 -0
- package/dist/types/llm/components/FormRecapSuccess/FormRecapSuccess.d.ts.map +1 -0
- package/dist/types/llm/components/FormRequest/FormRequest.d.ts +4 -0
- package/dist/types/llm/components/FormRequest/FormRequest.d.ts.map +1 -0
- package/dist/types/llm/components/Header/header.d.ts +4 -0
- package/dist/types/llm/components/Header/header.d.ts.map +1 -0
- package/dist/types/llm/components/Intro/intro.d.ts +2 -0
- package/dist/types/llm/components/Intro/intro.d.ts.map +1 -0
- package/dist/types/llm/components/Main/main.d.ts +2 -0
- package/dist/types/llm/components/Main/main.d.ts.map +1 -0
- package/dist/types/llm/components/Poi/poi.d.ts +3 -0
- package/dist/types/llm/components/Poi/poi.d.ts.map +1 -0
- package/dist/types/llm/components/PoiGroup/poigroup.d.ts +3 -0
- package/dist/types/llm/components/PoiGroup/poigroup.d.ts.map +1 -0
- package/dist/types/llm/components/Prompt/prompt.d.ts +2 -0
- package/dist/types/llm/components/Prompt/prompt.d.ts.map +1 -0
- package/dist/types/llm/components/Prompt/suggestions.d.ts +2 -0
- package/dist/types/llm/components/Prompt/suggestions.d.ts.map +1 -0
- package/dist/types/llm/components/QuickLinks/quicklinks.d.ts +3 -0
- package/dist/types/llm/components/QuickLinks/quicklinks.d.ts.map +1 -0
- package/dist/types/llm/components/Stream/stream.d.ts +4 -0
- package/dist/types/llm/components/Stream/stream.d.ts.map +1 -0
- package/dist/types/llm/components/Text/text.d.ts +7 -0
- package/dist/types/llm/components/Text/text.d.ts.map +1 -0
- package/dist/types/llm/components/Thread/thread.d.ts +4 -0
- package/dist/types/llm/components/Thread/thread.d.ts.map +1 -0
- package/dist/types/llm/components/Trigger/blob.d.ts +2 -0
- package/dist/types/llm/components/Trigger/blob.d.ts.map +1 -0
- package/dist/types/llm/components/Trigger/trigger.d.ts +2 -0
- package/dist/types/llm/components/Trigger/trigger.d.ts.map +1 -0
- package/dist/types/llm/components/Tripadvisor/tripadvisor.d.ts +4 -0
- package/dist/types/llm/components/Tripadvisor/tripadvisor.d.ts.map +1 -0
- package/dist/types/llm/hooks/useAutosizeTextArea.d.ts +3 -0
- package/dist/types/llm/hooks/useAutosizeTextArea.d.ts.map +1 -0
- package/dist/types/llm/llm.d.ts +5 -0
- package/dist/types/llm/llm.d.ts.map +1 -0
- package/dist/types/llm/utils.d.ts +7 -0
- package/dist/types/llm/utils.d.ts.map +1 -0
- package/dist/types/types.d.ts +163 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/useLlm/cors.d.ts +16 -0
- package/dist/types/useLlm/cors.d.ts.map +1 -0
- package/dist/types/useLlm/emitter.d.ts +8 -0
- package/dist/types/useLlm/emitter.d.ts.map +1 -0
- package/dist/types/useLlm/message.service.d.ts +24 -0
- package/dist/types/useLlm/message.service.d.ts.map +1 -0
- package/dist/types/useLlm/mock.d.ts +5 -0
- package/dist/types/useLlm/mock.d.ts.map +1 -0
- package/dist/types/useLlm/speech.d.ts +57 -0
- package/dist/types/useLlm/speech.d.ts.map +1 -0
- package/dist/types/useLlm/useLlm.d.ts +83 -0
- package/dist/types/useLlm/useLlm.d.ts.map +1 -0
- package/package.json +86 -0
- package/src/__tests/example.test.ts +8 -0
- package/src/index.ts +6 -0
- package/src/llm/components/Background/_style.scss +24 -0
- package/src/llm/components/Background/background.tsx +89 -0
- package/src/llm/components/BusyIndicator/_style.scss +73 -0
- package/src/llm/components/BusyIndicator/busyindicator.tsx +13 -0
- package/src/llm/components/Canvas/_style.scss +10 -0
- package/src/llm/components/Canvas/canvas.tsx +257 -0
- package/src/llm/components/Chunk/chunk.tsx +80 -0
- package/src/llm/components/Cta/_style.scss +72 -0
- package/src/llm/components/Cta/cta.tsx +33 -0
- package/src/llm/components/Event/_style.scss +144 -0
- package/src/llm/components/Event/event.tsx +70 -0
- package/src/llm/components/EventGroup/_style.scss +60 -0
- package/src/llm/components/EventGroup/eventgroup.tsx +59 -0
- package/src/llm/components/FormRecap/FormRecap.tsx +221 -0
- package/src/llm/components/FormRecap/_style.scss +101 -0
- package/src/llm/components/FormRecapError/FormRecapError.tsx +10 -0
- package/src/llm/components/FormRecapError/_style.scss +11 -0
- package/src/llm/components/FormRecapSuccess/FormRecapSuccess.tsx +10 -0
- package/src/llm/components/FormRecapSuccess/_style.scss +11 -0
- package/src/llm/components/FormRequest/FormRequest.tsx +21 -0
- package/src/llm/components/FormRequest/_style.scss +21 -0
- package/src/llm/components/Header/_style.scss +72 -0
- package/src/llm/components/Header/header.tsx +38 -0
- package/src/llm/components/Intro/_style.scss +36 -0
- package/src/llm/components/Intro/intro.tsx +65 -0
- package/src/llm/components/Main/_style.scss +75 -0
- package/src/llm/components/Main/main.tsx +125 -0
- package/src/llm/components/Poi/_style.scss +127 -0
- package/src/llm/components/Poi/poi.tsx +58 -0
- package/src/llm/components/PoiGroup/_style.scss +14 -0
- package/src/llm/components/PoiGroup/poigroup.tsx +15 -0
- package/src/llm/components/Prompt/_style.scss +132 -0
- package/src/llm/components/Prompt/prompt.tsx +73 -0
- package/src/llm/components/Prompt/suggestions.tsx +39 -0
- package/src/llm/components/QuickLinks/_style.scss +61 -0
- package/src/llm/components/QuickLinks/quicklinks.tsx +58 -0
- package/src/llm/components/Stream/stream.tsx +37 -0
- package/src/llm/components/Text/_style.scss +89 -0
- package/src/llm/components/Text/text.tsx +28 -0
- package/src/llm/components/Thread/_style.scss +73 -0
- package/src/llm/components/Thread/thread.tsx +27 -0
- package/src/llm/components/Trigger/_style.scss +104 -0
- package/src/llm/components/Trigger/blob.tsx +42 -0
- package/src/llm/components/Trigger/trigger.tsx +50 -0
- package/src/llm/components/Tripadvisor/_style.scss +113 -0
- package/src/llm/components/Tripadvisor/tripadvisor.tsx +72 -0
- package/src/llm/hooks/useAutosizeTextArea.tsx +15 -0
- package/src/llm/llm.tsx +48 -0
- package/src/llm/scss/_base.scss +20 -0
- package/src/llm/scss/_breakpoints.scss +8 -0
- package/src/llm/scss/_layout.scss +39 -0
- package/src/llm/scss/_mixin.scss +67 -0
- package/src/llm/scss/_reset.scss +104 -0
- package/src/llm/scss/_spacing.scss +17 -0
- package/src/llm/scss/_typography.scss +153 -0
- package/src/llm/scss/_vars.scss +23 -0
- package/src/llm/scss/style.scss +29 -0
- package/src/llm/utils.tsx +12 -0
- package/src/types.ts +215 -0
- package/src/useLlm/cors.ts +124 -0
- package/src/useLlm/emitter.ts +29 -0
- package/src/useLlm/message.service.ts +336 -0
- package/src/useLlm/mock.ts +801 -0
- package/src/useLlm/speech.ts +363 -0
- package/src/useLlm/useLlm.tsx +474 -0
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { motion } from 'framer-motion';
|
|
3
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
4
|
+
import { QuickLinks } from '../QuickLinks/quicklinks.js';
|
|
5
|
+
import { Blob } from '../Trigger/blob.js';
|
|
6
|
+
|
|
7
|
+
const Intro = () => {
|
|
8
|
+
const app = useLlm(state => state.app);
|
|
9
|
+
const motionItem = {
|
|
10
|
+
hidden: {
|
|
11
|
+
y: '40px'
|
|
12
|
+
},
|
|
13
|
+
show: {
|
|
14
|
+
y: 0,
|
|
15
|
+
transition: {
|
|
16
|
+
type: 'tween',
|
|
17
|
+
duration: 1
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
const motionBlob = {
|
|
22
|
+
top: {
|
|
23
|
+
y: '-15%'
|
|
24
|
+
},
|
|
25
|
+
bottom: {
|
|
26
|
+
y: '0%',
|
|
27
|
+
transition: {
|
|
28
|
+
repeat: Infinity,
|
|
29
|
+
repeatType: 'mirror',
|
|
30
|
+
duration: 2,
|
|
31
|
+
ease: 'easeInOut'
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
const stagger = {
|
|
36
|
+
hidden: {},
|
|
37
|
+
show: {
|
|
38
|
+
transition: {
|
|
39
|
+
staggerChildren: .3
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
};
|
|
43
|
+
return jsx("div", {
|
|
44
|
+
className: "llm__intro",
|
|
45
|
+
children: jsx("div", {
|
|
46
|
+
className: "llm-container",
|
|
47
|
+
children: jsxs(motion.div, {
|
|
48
|
+
variants: stagger,
|
|
49
|
+
className: "llm__intro-wrapper llm-row",
|
|
50
|
+
children: [jsxs(motion.div, {
|
|
51
|
+
variants: motionItem,
|
|
52
|
+
className: "llm__intro-text llm-span-md-6",
|
|
53
|
+
children: [jsx("div", {
|
|
54
|
+
className: "llm__intro-blob",
|
|
55
|
+
children: jsx(motion.div, {
|
|
56
|
+
variants: motionBlob,
|
|
57
|
+
initial: "top",
|
|
58
|
+
animate: "bottom",
|
|
59
|
+
children: jsx(Blob, {})
|
|
60
|
+
})
|
|
61
|
+
}), jsx(motion.div, {
|
|
62
|
+
variants: motionItem,
|
|
63
|
+
className: "llm__intro-title -llm-t-display-3",
|
|
64
|
+
children: app === null || app === void 0 ? void 0 : app.contents.extendedWelcomeText
|
|
65
|
+
})]
|
|
66
|
+
}), jsx(motion.div, {
|
|
67
|
+
variants: motionItem,
|
|
68
|
+
className: "llm__intro-links llm-span-md-6 llm-span-lg-5",
|
|
69
|
+
children: jsx(QuickLinks, {})
|
|
70
|
+
})]
|
|
71
|
+
})
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
export { Intro };
|
|
77
|
+
//# sourceMappingURL=intro.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"intro.js","sources":["../../../../../src/llm/components/Intro/intro.tsx"],"sourcesContent":[null],"names":["Intro","app","useLlm","state","motionItem","hidden","y","show","transition","type","duration","motionBlob","top","bottom","repeat","Infinity","repeatType","ease","stagger","staggerChildren","_jsx","className","children","_jsxs","motion","div","variants","initial","animate","Blob","contents","extendedWelcomeText","QuickLinks"],"mappings":";;;;;;AAMaA,MAAAA,KAAK,GAAGA,MAAK;EACxB,MAAMC,GAAG,GAAGC,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACF,GAAG,CAAC,CAAA;AAEtC,EAAA,MAAMG,UAAU,GAAa;AAC3BC,IAAAA,MAAM,EAAE;AAAEC,MAAAA,CAAC,EAAE,MAAA;KAAQ;AACrBC,IAAAA,IAAI,EAAE;AACJD,MAAAA,CAAC,EAAE,CAAC;AACJE,MAAAA,UAAU,EAAE;AACVC,QAAAA,IAAI,EAAE,OAAO;AACbC,QAAAA,QAAQ,EAAE,CAAA;AACX,OAAA;AACF,KAAA;GACF,CAAA;AAED,EAAA,MAAMC,UAAU,GAAa;AAC3BC,IAAAA,GAAG,EAAE;AACHN,MAAAA,CAAC,EAAE,MAAA;KACJ;AACDO,IAAAA,MAAM,EAAE;AACNP,MAAAA,CAAC,EAAE,IAAI;AACPE,MAAAA,UAAU,EAAE;AACVM,QAAAA,MAAM,EAAEC,QAAQ;AAChBC,QAAAA,UAAU,EAAE,QAAQ;AACpBN,QAAAA,QAAQ,EAAE,CAAC;AACXO,QAAAA,IAAI,EAAE,WAAA;AACP,OAAA;AACF,KAAA;GACF,CAAA;AAED,EAAA,MAAMC,OAAO,GAAG;IACdb,MAAM,EAAE,EAAE;AACVE,IAAAA,IAAI,EAAE;AACJC,MAAAA,UAAU,EAAE;AACVW,QAAAA,eAAe,EAAE,EAAA;AAClB,OAAA;AACF,KAAA;GACF,CAAA;EAED,OACEC,GAAK,CAAA,KAAA,EAAA;AAAAC,IAAAA,SAAS,EAAC,YAAY;cACzBD,GAAK,CAAA,KAAA,EAAA;AAAAC,MAAAA,SAAS,EAAC,eAAe;AAC5BC,MAAAA,QAAA,EAAAC,IAAA,CAACC,MAAM,CAACC,GAAG,EAAC;AAAAC,QAAAA,QAAQ,EAAER,OAAO;AAAEG,QAAAA,SAAS,EAAC,4BAA4B;AAAAC,QAAAA,QAAA,EAAA,CACnEC,IAAC,CAAAC,MAAM,CAACC,GAAG,EAAA;AAACC,UAAAA,QAAQ,EAAEtB,UAAU;AAAGiB,UAAAA,SAAS,EAAC,+BAA+B;AAC1EC,UAAAA,QAAA,EAAA,CAAAF,GAAA,CAAA,KAAA,EAAA;AAAKC,YAAAA,SAAS,EAAC,iBAAiB;AAC9BC,YAAAA,QAAA,EAAAF,GAAA,CAACI,MAAM,CAACC,GAAG,EAAA;AAACC,cAAAA,QAAQ,EAAEf,UAAU;AAAEgB,cAAAA,OAAO,EAAC,KAAK;AAACC,cAAAA,OAAO,EAAC,QAAQ;AAC9DN,cAAAA,QAAA,EAAAF,GAAA,CAACS,IAAI,EAAA,EAAA,CAAA;;AAEH,WAAA,CAAA,EACNT,GAAC,CAAAI,MAAM,CAACC,GAAG;AAACC,YAAAA,QAAQ,EAAEtB,UAAU;AAAEiB,YAAAA,SAAS,EAAC,mCAAmC;AAAAC,YAAAA,QAAA,EAAErB,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAE6B,QAAQ,CAACC,mBAAAA;AAAiC,WAAA,CAAA,CAAA;AAAA,SAAA,CACrH,EACbX,GAAA,CAACI,MAAM,CAACC,GAAG,EAAC;AAAAC,UAAAA,QAAQ,EAAEtB,UAAU;AAAEiB,UAAAA,SAAS,EAAC,8CAA8C;AAAAC,UAAAA,QAAA,EACxFF,GAAC,CAAAY,UAAU,EAAE,EAAA,CAAA;AAAA,SAAA,CACF,CAAA;OACF,CAAA;KAAA,CAAA;AAEX,GAAA,CAAA,CAAA;AAGV;;;;"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { ReactLenis } from '@studio-freight/react-lenis';
|
|
3
|
+
import { IconLlmSpeakDisabled, IconLlmSpeakEnabled } from '@websolutespa/bom-mixer-icons';
|
|
4
|
+
import { getClassNames } from '@websolutespa/bom-core';
|
|
5
|
+
import { motion } from 'framer-motion';
|
|
6
|
+
import { useRef } from 'react';
|
|
7
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
8
|
+
import { Canvas } from '../Canvas/canvas.js';
|
|
9
|
+
import { Header } from '../Header/header.js';
|
|
10
|
+
import { Intro } from '../Intro/intro.js';
|
|
11
|
+
import { Prompt } from '../Prompt/prompt.js';
|
|
12
|
+
import { Thread } from '../Thread/thread.js';
|
|
13
|
+
|
|
14
|
+
const Main = () => {
|
|
15
|
+
var _a;
|
|
16
|
+
const lenisRef = useRef(null);
|
|
17
|
+
const {
|
|
18
|
+
messages,
|
|
19
|
+
speakEnabled
|
|
20
|
+
} = useLlm(state => state);
|
|
21
|
+
const {
|
|
22
|
+
setLenis,
|
|
23
|
+
toggleSpeak
|
|
24
|
+
} = useLlm(state => state.actions);
|
|
25
|
+
const classNames = getClassNames('llm__main');
|
|
26
|
+
setLenis((_a = lenisRef.current) === null || _a === void 0 ? void 0 : _a.lenis);
|
|
27
|
+
const reveal = {
|
|
28
|
+
hidden: {
|
|
29
|
+
opacity: 0,
|
|
30
|
+
scale: .98
|
|
31
|
+
},
|
|
32
|
+
show: {
|
|
33
|
+
opacity: 1,
|
|
34
|
+
scale: 1,
|
|
35
|
+
transition: {
|
|
36
|
+
duration: .3
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
exit: {
|
|
40
|
+
opacity: 0,
|
|
41
|
+
transition: {
|
|
42
|
+
duration: .3,
|
|
43
|
+
delay: .3
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
const intro = {
|
|
48
|
+
hidden: {
|
|
49
|
+
opacity: 0
|
|
50
|
+
},
|
|
51
|
+
show: {
|
|
52
|
+
opacity: 1,
|
|
53
|
+
transition: {
|
|
54
|
+
delay: .6,
|
|
55
|
+
duration: .5
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const slideIn = direction => ({
|
|
60
|
+
hidden: {
|
|
61
|
+
y: `${100 * direction}%`
|
|
62
|
+
},
|
|
63
|
+
show: {
|
|
64
|
+
y: 0,
|
|
65
|
+
transition: {
|
|
66
|
+
type: 'tween',
|
|
67
|
+
delay: 1.2,
|
|
68
|
+
duration: .6
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
exit: {
|
|
72
|
+
y: `${100 * direction}%`,
|
|
73
|
+
transition: {
|
|
74
|
+
type: 'tween',
|
|
75
|
+
duration: .3
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
});
|
|
79
|
+
return jsxs(motion.div, {
|
|
80
|
+
variants: reveal,
|
|
81
|
+
initial: "hidden",
|
|
82
|
+
animate: "show",
|
|
83
|
+
exit: "exit",
|
|
84
|
+
className: classNames,
|
|
85
|
+
children: [jsx("button", {
|
|
86
|
+
className: "llm__toggle-speak",
|
|
87
|
+
onClick: toggleSpeak,
|
|
88
|
+
children: speakEnabled ? jsx(IconLlmSpeakDisabled, {}) : jsx(IconLlmSpeakEnabled, {})
|
|
89
|
+
}), jsx(Canvas, {}), jsx(motion.div, {
|
|
90
|
+
className: "llm__top",
|
|
91
|
+
variants: slideIn(-1),
|
|
92
|
+
initial: "hidden",
|
|
93
|
+
animate: "show",
|
|
94
|
+
exit: "exit",
|
|
95
|
+
children: jsx(Header, {})
|
|
96
|
+
}), jsx(ReactLenis, {
|
|
97
|
+
ref: lenisRef,
|
|
98
|
+
className: "llm__scroller",
|
|
99
|
+
children: jsxs(motion.div, {
|
|
100
|
+
variants: intro,
|
|
101
|
+
initial: "hidden",
|
|
102
|
+
animate: "show",
|
|
103
|
+
className: "llm__content",
|
|
104
|
+
children: [jsx(Intro, {}), messages && messages.length > 0 && jsx(Thread, {})]
|
|
105
|
+
})
|
|
106
|
+
}), jsx(motion.div, {
|
|
107
|
+
className: "llm__bottom",
|
|
108
|
+
variants: slideIn(1),
|
|
109
|
+
initial: "hidden",
|
|
110
|
+
animate: "show",
|
|
111
|
+
exit: "exit",
|
|
112
|
+
children: jsx(Prompt, {})
|
|
113
|
+
})]
|
|
114
|
+
}, "main-container");
|
|
115
|
+
};
|
|
116
|
+
|
|
117
|
+
export { Main };
|
|
118
|
+
//# sourceMappingURL=main.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"main.js","sources":["../../../../../src/llm/components/Main/main.tsx"],"sourcesContent":[null],"names":["Main","lenisRef","useRef","messages","speakEnabled","useLlm","state","setLenis","toggleSpeak","actions","classNames","getClassNames","current","_a","lenis","reveal","hidden","opacity","scale","show","transition","duration","exit","delay","intro","slideIn","direction","y","type","_jsxs","motion","div","variants","initial","animate","className","_jsx","onClick","children","IconLlmSpeakDisabled","IconLlmSpeakEnabled","Canvas","Header","ReactLenis","ref","Intro","length","Thread","Prompt"],"mappings":";;;;;;;;;;;;;AAaaA,MAAAA,IAAI,GAAGA,MAAK;;AACvB,EAAA,MAAMC,QAAQ,GAAGC,MAAM,CAA2B,IAAI,CAAC,CAAA;EACvD,MAAM;IAAEC,QAAQ;AAAEC,IAAAA,YAAAA;GAAc,GAAGC,MAAM,CAACC,KAAK,IAAIA,KAAK,CAAC,CAAA;EACzD,MAAM;IAAEC,QAAQ;AAAEC,IAAAA,WAAAA;GAAa,GAAGH,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACG,OAAO,CAAC,CAAA;AAChE,EAAA,MAAMC,UAAU,GAAGC,aAAa,CAAC,WAAW,CAAC,CAAA;EAE7CJ,QAAQ,CAAC,MAAAN,QAAQ,CAACW,OAAO,MAAE,IAAA,IAAAC,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,EAAA,CAAAC,KAAK,CAAC,CAAA;AAEjC,EAAA,MAAMC,MAAM,GAAG;AACbC,IAAAA,MAAM,EAAE;AACNC,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,KAAK,EAAE,GAAA;KACR;AACDC,IAAAA,IAAI,EAAE;AACJF,MAAAA,OAAO,EAAE,CAAC;AACVC,MAAAA,KAAK,EAAE,CAAC;AACRE,MAAAA,UAAU,EAAE;AACVC,QAAAA,QAAQ,EAAE,EAAA;AACX,OAAA;KACF;AACDC,IAAAA,IAAI,EAAE;AACJL,MAAAA,OAAO,EAAE,CAAC;AACVG,MAAAA,UAAU,EAAE;AACVC,QAAAA,QAAQ,EAAE,EAAE;AACZE,QAAAA,KAAK,EAAE,EAAA;AACR,OAAA;AACF,KAAA;GACF,CAAA;AAED,EAAA,MAAMC,KAAK,GAAG;AACZR,IAAAA,MAAM,EAAE;AACNC,MAAAA,OAAO,EAAE,CAAA;KACV;AACDE,IAAAA,IAAI,EAAE;AACJF,MAAAA,OAAO,EAAE,CAAC;AACVG,MAAAA,UAAU,EAAE;AACVG,QAAAA,KAAK,EAAE,EAAE;AACTF,QAAAA,QAAQ,EAAE,EAAA;AACX,OAAA;AACF,KAAA;GACF,CAAA;EAED,MAAMI,OAAO,GAAIC,SAAiB,KAAM;AACtCV,IAAAA,MAAM,EAAE;AACNW,MAAAA,CAAC,EAAE,CAAA,EAAG,GAAG,GAAGD,SAAY,CAAA,CAAA,CAAA;KACzB;AACDP,IAAAA,IAAI,EAAE;AACJQ,MAAAA,CAAC,EAAE,CAAC;AACJP,MAAAA,UAAU,EAAE;AACVQ,QAAAA,IAAI,EAAE,OAAO;AACbL,QAAAA,KAAK,EAAE,GAAG;AACVF,QAAAA,QAAQ,EAAE,EAAA;AACX,OAAA;KACF;AACDC,IAAAA,IAAI,EAAE;AACJK,MAAAA,CAAC,EAAE,CAAA,EAAG,GAAG,GAAGD,SAAY,CAAA,CAAA,CAAA;AACxBN,MAAAA,UAAU,EAAE;AACVQ,QAAAA,IAAI,EAAE,OAAO;AACbP,QAAAA,QAAQ,EAAE,EAAA;AACX,OAAA;AACF,KAAA;AACF,GAAA,CAAC,CAAA;AAEF,EAAA,OACEQ,IAAC,CAAAC,MAAM,CAACC,GAAG,EAAA;AAETC,IAAAA,QAAQ,EAAEjB,MAAM;AAChBkB,IAAAA,OAAO,EAAC,QAAQ;AAChBC,IAAAA,OAAO,EAAC,MAAM;AACdZ,IAAAA,IAAI,EAAC,MAAM;AACXa,IAAAA,SAAS,EAAEzB,UAAU;eAErB0B,GAAQ,CAAA,QAAA,EAAA;AAAAD,MAAAA,SAAS,EAAC,mBAAmB;AAACE,MAAAA,OAAO,EAAE7B,WAAW;AACvD8B,MAAAA,QAAA,EAAAlC,YAAY,GAAGgC,IAACG,oBAAoB,EAAA,EAAA,CAAG,GAAGH,GAAC,CAAAI,mBAAmB;AACxD,KAAA,CAAA,EAETJ,IAACK,MAAM,EAAA,EAAA,CAAG,EAEVL,GAAA,CAACN,MAAM,CAACC,GAAG;AACTI,MAAAA,SAAS,EAAC,UAAU;AACpBH,MAAAA,QAAQ,EAAEP,OAAO,CAAC,CAAC,CAAC,CAAC;AACrBQ,MAAAA,OAAO,EAAC,QAAQ;AAChBC,MAAAA,OAAO,EAAC,MAAM;AACdZ,MAAAA,IAAI,EAAC,MAAM;AAEXgB,MAAAA,QAAA,EAAAF,GAAA,CAACM,MAAM,EAAG,EAAA,CAAA;AAAA,KAAA,CACC,EAEbN,GAAA,CAACO,UAAU,EAAC;AAAAC,MAAAA,GAAG,EAAE3C,QAAQ;AAAEkC,MAAAA,SAAS,EAAC,eAAe;AAClDG,MAAAA,QAAA,EAAAT,IAAA,CAACC,MAAM,CAACC,GAAG;AACTC,QAAAA,QAAQ,EAAER,KAAK;AACfS,QAAAA,OAAO,EAAC,QAAQ;AAChBC,QAAAA,OAAO,EAAC,MAAM;AACdC,QAAAA,SAAS,EAAC,cAAc;QAAAG,QAAA,EAAA,CACxBF,GAAC,CAAAS,KAAK,KAAG,EACR1C,QAAQ,IAAIA,QAAQ,CAAC2C,MAAM,GAAG,CAAC,IAAIV,GAAA,CAACW,MAAM,EAAG,EAAA,CAAA,CAAA;OAAA,CAAA;MAErC,EAEbX,GAAA,CAACN,MAAM,CAACC,GAAG,EACT;AAAAI,MAAAA,SAAS,EAAC,aAAa;AACvBH,MAAAA,QAAQ,EAAEP,OAAO,CAAC,CAAC,CAAC;AACpBQ,MAAAA,OAAO,EAAC,QAAQ;AAChBC,MAAAA,OAAO,EAAC,MAAM;AACdZ,MAAAA,IAAI,EAAC,MAAM;AAEXgB,MAAAA,QAAA,EAAAF,GAAA,CAACY,MAAM,EAAG,EAAA,CAAA;AAAA,KAAA,CACC,CAAA;KA1CT,gBAAgB,CA2CT,CAAA;AAEjB;;;;"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import { __awaiter } from '../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { getClassNames, isBrowser } from '@websolutespa/bom-core';
|
|
4
|
+
import { useLabel } from '@websolutespa/bom-mixer-hooks';
|
|
5
|
+
import { IconLlmTimetable, IconLlmPin } from '@websolutespa/bom-mixer-icons';
|
|
6
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
7
|
+
import { Cta } from '../Cta/cta.js';
|
|
8
|
+
|
|
9
|
+
const Poi = props => {
|
|
10
|
+
const label = useLabel();
|
|
11
|
+
const {
|
|
12
|
+
send,
|
|
13
|
+
decorateUrl
|
|
14
|
+
} = useLlm(state => state.actions);
|
|
15
|
+
const onTellMeMore = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
16
|
+
const prompt = `${label('llm.tellMeMoreAbout')} ${props.title}`;
|
|
17
|
+
yield send(prompt, response => {
|
|
18
|
+
// console.log('Prompt.onChunk', response.chunks);
|
|
19
|
+
}, response => {
|
|
20
|
+
// console.log('Prompt.onEnd', response);
|
|
21
|
+
});
|
|
22
|
+
});
|
|
23
|
+
const onGoToWebsite = () => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
if (isBrowser) {
|
|
25
|
+
const url = yield decorateUrl(props, props.url);
|
|
26
|
+
window.open(url, '_blank');
|
|
27
|
+
}
|
|
28
|
+
});
|
|
29
|
+
const classNames = getClassNames('llm__poi', {
|
|
30
|
+
[`llm__poi--${props.type}`]: !!props.type
|
|
31
|
+
});
|
|
32
|
+
return jsxs("div", {
|
|
33
|
+
className: classNames,
|
|
34
|
+
children: [props.image && jsx("div", {
|
|
35
|
+
className: "llm__poi-media",
|
|
36
|
+
children: jsx("img", {
|
|
37
|
+
src: props.image,
|
|
38
|
+
alt: props.title
|
|
39
|
+
})
|
|
40
|
+
}), jsxs("div", {
|
|
41
|
+
className: "llm__poi-content",
|
|
42
|
+
children: [props.title && jsx("div", {
|
|
43
|
+
className: "llm__poi-title",
|
|
44
|
+
dangerouslySetInnerHTML: {
|
|
45
|
+
__html: props.title
|
|
46
|
+
}
|
|
47
|
+
}), props.abstract && jsx("div", {
|
|
48
|
+
className: "llm__poi-body",
|
|
49
|
+
dangerouslySetInnerHTML: {
|
|
50
|
+
__html: props.abstract
|
|
51
|
+
}
|
|
52
|
+
}), (props.time || props.place) && jsxs("div", {
|
|
53
|
+
className: "llm__poi-tags",
|
|
54
|
+
children: [props.time && jsxs("div", {
|
|
55
|
+
className: "llm__poi-tag llm__poi-time",
|
|
56
|
+
children: [jsx(IconLlmTimetable, {}), props.time]
|
|
57
|
+
}), props.place && jsxs("div", {
|
|
58
|
+
className: "llm__poi-tag llm__poi-location",
|
|
59
|
+
children: [jsx(IconLlmPin, {}), props.place]
|
|
60
|
+
})]
|
|
61
|
+
}), jsxs("div", {
|
|
62
|
+
className: "llm__poi-ctas",
|
|
63
|
+
children: [jsx(Cta, {
|
|
64
|
+
type: "button",
|
|
65
|
+
label: label('llm.tellMeMore'),
|
|
66
|
+
onClick: onTellMeMore
|
|
67
|
+
}), jsx(Cta, {
|
|
68
|
+
type: "text",
|
|
69
|
+
label: label('llm.goToWebsite'),
|
|
70
|
+
onClick: onGoToWebsite
|
|
71
|
+
})]
|
|
72
|
+
})]
|
|
73
|
+
})]
|
|
74
|
+
});
|
|
75
|
+
};
|
|
76
|
+
|
|
77
|
+
export { Poi };
|
|
78
|
+
//# sourceMappingURL=poi.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poi.js","sources":["../../../../../src/llm/components/Poi/poi.tsx"],"sourcesContent":[null],"names":["Poi","props","label","useLabel","send","decorateUrl","useLlm","state","actions","onTellMeMore","__awaiter","prompt","title","response","onGoToWebsite","isBrowser","url","window","open","classNames","getClassNames","type","_jsxs","className","children","image","_jsx","src","alt","dangerouslySetInnerHTML","__html","abstract","time","place","IconLlmTimetable","IconLlmPin","Cta","onClick"],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { getClassNames } from '@websolutespa/bom-core';
|
|
3
|
+
import { Poi } from '../Poi/poi.js';
|
|
4
|
+
|
|
5
|
+
const PoiGroup = props => {
|
|
6
|
+
const classNames = getClassNames('llm__pois');
|
|
7
|
+
return jsx("div", {
|
|
8
|
+
className: classNames,
|
|
9
|
+
children: props.items.map((item, i) => jsx(Poi, Object.assign({}, item), i))
|
|
10
|
+
});
|
|
11
|
+
};
|
|
12
|
+
|
|
13
|
+
export { PoiGroup };
|
|
14
|
+
//# sourceMappingURL=poigroup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"poigroup.js","sources":["../../../../../src/llm/components/PoiGroup/poigroup.tsx"],"sourcesContent":[null],"names":["PoiGroup","props","classNames","getClassNames","_jsx","className","children","items","map","item","i","Poi","Object","assign"],"mappings":";;;;AAIaA,MAAAA,QAAQ,GAAIC,KAAuB,IAAI;AAClD,EAAA,MAAMC,UAAU,GAAGC,aAAa,CAAC,WAAW,CAAC,CAAA;EAC7C,OACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAEH,UAAU;IAAAI,QAAA,EACvBL,KAAK,CAACM,KAAK,CAACC,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KACvBN,GAAA,CAACO,GAAG,EAAaC,MAAA,CAAAC,MAAA,CAAA,EAAA,EAAAJ,IAAI,CAAX,EAAAC,CAAC,CACZ,CAAA;AAAC,GAAA,CACE,CAAA;AAEV;;;;"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { __awaiter } from '../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { IconLlmStop, IconLlmSend } from '@websolutespa/bom-mixer-icons';
|
|
4
|
+
import { useRef } from 'react';
|
|
5
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
6
|
+
import useAutosizeTextArea from '../../hooks/useAutosizeTextArea.js';
|
|
7
|
+
import { Blob } from '../Trigger/blob.js';
|
|
8
|
+
import { Suggestions } from './suggestions.js';
|
|
9
|
+
|
|
10
|
+
const Prompt = () => {
|
|
11
|
+
const textArea = useRef(null);
|
|
12
|
+
const prompt = useLlm(state => state.prompt);
|
|
13
|
+
const messages = useLlm(state => state.messages);
|
|
14
|
+
const streaming = useLlm(state => state.streaming);
|
|
15
|
+
const {
|
|
16
|
+
send,
|
|
17
|
+
setPrompt,
|
|
18
|
+
recognizeStart,
|
|
19
|
+
recognizeStop,
|
|
20
|
+
abort
|
|
21
|
+
} = useLlm(state => state.actions);
|
|
22
|
+
useAutosizeTextArea(textArea.current, prompt);
|
|
23
|
+
const onChange = event => {
|
|
24
|
+
var _a;
|
|
25
|
+
const prompt = (_a = event.target) === null || _a === void 0 ? void 0 : _a.value;
|
|
26
|
+
setPrompt(prompt);
|
|
27
|
+
};
|
|
28
|
+
const onSubmit = event => __awaiter(void 0, void 0, void 0, function* () {
|
|
29
|
+
event && event.preventDefault();
|
|
30
|
+
if (!prompt) {
|
|
31
|
+
return;
|
|
32
|
+
}
|
|
33
|
+
yield send(prompt, response => {
|
|
34
|
+
// console.log('Prompt.onChunk', response.chunks);
|
|
35
|
+
}, response => {
|
|
36
|
+
// console.log('Prompt.onEnd', response);
|
|
37
|
+
});
|
|
38
|
+
});
|
|
39
|
+
const onKeyDown = event => {
|
|
40
|
+
if (event.code == 'Enter' && !event.shiftKey) {
|
|
41
|
+
onSubmit(event);
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
return jsx("div", {
|
|
45
|
+
className: "llm__prompt",
|
|
46
|
+
children: jsxs("div", {
|
|
47
|
+
className: "llm-container",
|
|
48
|
+
children: [messages.length === 0 && jsx("div", {
|
|
49
|
+
className: "llm__prompt-suggestions",
|
|
50
|
+
children: jsx(Suggestions, {})
|
|
51
|
+
}), jsxs("form", {
|
|
52
|
+
className: "llm__prompt-form",
|
|
53
|
+
onSubmit: onSubmit,
|
|
54
|
+
children: [jsxs("div", {
|
|
55
|
+
className: "llm__prompt-input",
|
|
56
|
+
children: [jsx("textarea", {
|
|
57
|
+
className: "llm__prompt-textarea",
|
|
58
|
+
name: "prompt",
|
|
59
|
+
onKeyDown: onKeyDown,
|
|
60
|
+
onChange: onChange,
|
|
61
|
+
ref: textArea,
|
|
62
|
+
rows: 1,
|
|
63
|
+
value: prompt
|
|
64
|
+
}), false ]
|
|
65
|
+
}), streaming ? jsxs("button", {
|
|
66
|
+
className: "llm__prompt-stop",
|
|
67
|
+
type: "button",
|
|
68
|
+
onClick: abort,
|
|
69
|
+
children: [jsx(Blob, {}), jsx("i", {
|
|
70
|
+
children: jsx(IconLlmStop, {})
|
|
71
|
+
})]
|
|
72
|
+
}) : jsxs("button", {
|
|
73
|
+
className: "llm__prompt-submit",
|
|
74
|
+
type: "submit",
|
|
75
|
+
disabled: !prompt,
|
|
76
|
+
children: [jsx(Blob, {}), jsx("i", {
|
|
77
|
+
children: jsx(IconLlmSend, {})
|
|
78
|
+
})]
|
|
79
|
+
})]
|
|
80
|
+
})]
|
|
81
|
+
})
|
|
82
|
+
});
|
|
83
|
+
};
|
|
84
|
+
|
|
85
|
+
export { Prompt };
|
|
86
|
+
//# sourceMappingURL=prompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"prompt.js","sources":["../../../../../src/llm/components/Prompt/prompt.tsx"],"sourcesContent":[null],"names":["Prompt","textArea","useRef","prompt","useLlm","state","messages","streaming","send","setPrompt","recognizeStart","recognizeStop","abort","actions","useAutosizeTextArea","current","onChange","event","_a","target","value","onSubmit","__awaiter","preventDefault","response","onKeyDown","code","shiftKey","_jsx","className","_jsxs","children","length","Suggestions","name","ref","rows","type","onClick","Blob","IconLlmStop","disabled","IconLlmSend"],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { __awaiter } from '../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
import { useWindowSize } from '@websolutespa/bom-mixer-hooks';
|
|
4
|
+
import { FreeMode } from 'swiper';
|
|
5
|
+
import { Swiper, SwiperSlide } from 'swiper/react';
|
|
6
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
7
|
+
import { clamp } from '../../utils.js';
|
|
8
|
+
|
|
9
|
+
const Suggestions = () => {
|
|
10
|
+
useWindowSize();
|
|
11
|
+
const app = useLlm(state => state.app);
|
|
12
|
+
const {
|
|
13
|
+
send
|
|
14
|
+
} = useLlm(state => state.actions);
|
|
15
|
+
const swiperProps = {
|
|
16
|
+
modules: [FreeMode],
|
|
17
|
+
spaceBetween: 8,
|
|
18
|
+
freeMode: true,
|
|
19
|
+
slidesPerView: 'auto',
|
|
20
|
+
slidesOffsetAfter: clamp(20, 110),
|
|
21
|
+
slidesOffsetBefore: clamp(20, 110)
|
|
22
|
+
};
|
|
23
|
+
const onClick = item => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
yield send(item.sampleInputText, response => {
|
|
25
|
+
// console.log('Suggestions.onChunk', response.chunks);
|
|
26
|
+
}, response => {
|
|
27
|
+
// console.log('Suggestions.onEnd', response);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
return jsx("div", {
|
|
31
|
+
className: "llm__suggestions",
|
|
32
|
+
children: jsx(Swiper, Object.assign({}, swiperProps, {
|
|
33
|
+
onInit: swiper => swiper.update(),
|
|
34
|
+
children: app === null || app === void 0 ? void 0 : app.contents.sampleInputTexts.map((s, j) => jsx(SwiperSlide, {
|
|
35
|
+
children: jsx("div", {
|
|
36
|
+
onClick: () => onClick(s),
|
|
37
|
+
children: s.sampleInputText
|
|
38
|
+
})
|
|
39
|
+
}, j))
|
|
40
|
+
}))
|
|
41
|
+
});
|
|
42
|
+
};
|
|
43
|
+
|
|
44
|
+
export { Suggestions };
|
|
45
|
+
//# sourceMappingURL=suggestions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"suggestions.js","sources":["../../../../../src/llm/components/Prompt/suggestions.tsx"],"sourcesContent":[null],"names":["Suggestions","useWindowSize","app","useLlm","state","send","actions","swiperProps","modules","FreeMode","spaceBetween","freeMode","slidesPerView","slidesOffsetAfter","clamp","slidesOffsetBefore","onClick","item","__awaiter","sampleInputText","response","_jsx","className","children","Swiper","Object","assign","onInit","swiper","update","contents","sampleInputTexts","map","s","j","SwiperSlide"],"mappings":";;;;;;;;AAOaA,MAAAA,WAAW,GAAGA,MAAK;AAE9BC,EAAAA,aAAa,EAAE,CAAA;EAEf,MAAMC,GAAG,GAAGC,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACF,GAAG,CAAC,CAAA;EACtC,MAAM;AAAEG,IAAAA,IAAAA;GAAM,GAAGF,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACE,OAAO,CAAC,CAAA;AAE/C,EAAA,MAAMC,WAAW,GAAG;IAClBC,OAAO,EAAE,CAACC,QAAQ,CAAC;AACnBC,IAAAA,YAAY,EAAE,CAAC;AACfC,IAAAA,QAAQ,EAAE,IAAI;AACdC,IAAAA,aAAa,EAAE,MAAe;AAC9BC,IAAAA,iBAAiB,EAAEC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC;AACjCC,IAAAA,kBAAkB,EAAED,KAAK,CAAC,EAAE,EAAE,GAAG,CAAA;GAClC,CAAA;AAED,EAAA,MAAME,OAAO,GAAUC,IAAwB,IAAIC,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;AACjD,IAAA,MAAMb,IAAI,CAACY,IAAI,CAACE,eAAe,EAAGC,QAAQ,IAAI;AAC5C;KACD,EAAGA,QAAQ,IAAI;AACd;AAAA,KACD,CAAC,CAAA;AACJ,GAAC,CAAA,CAAA;EAED,OACEC,GAAA,CAAA,KAAA,EAAA;AAAKC,IAAAA,SAAS,EAAC,kBAAkB;AAAAC,IAAAA,QAAA,EAC/BF,GAAC,CAAAG,MAAM,EAAKC,MAAA,CAAAC,MAAA,CAAA,EAAA,EAAAnB,WAAW,EAAE;AAAAoB,MAAAA,MAAM,EAAEC,MAAM,IAAIA,MAAM,CAACC,MAAM,EAAE;gBACvD3B,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAE4B,QAAQ,CAACC,gBAAgB,CAACC,GAAG,CAAC,CAACC,CAAC,EAAEC,CAAC,KAAKb,GAAC,CAAAc,WAAW,EAAS;AAAAZ,QAAAA,QAAA,EAAAF,GAAA,CAAA,KAAA,EAAA;AAAKL,UAAAA,OAAO,EAAEA,MAAMA,OAAO,CAACiB,CAAC,CAAC;UAAGV,QAAA,EAAAU,CAAC,CAACd,eAAAA;SAAe,CAAA;OAArD,EAAAe,CAAC,CAAyE,CAAA;AACnI,KAAA,CAAA,CAAA;AAAA,GAAA,CACL,CAAA;AAEV;;;;"}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
import { __awaiter } from '../../../node_modules/tslib/tslib.es6.js';
|
|
2
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
3
|
+
import { useWindowSize } from '@websolutespa/bom-mixer-hooks';
|
|
4
|
+
import 'swiper/css';
|
|
5
|
+
import { Swiper, SwiperSlide } from 'swiper/react';
|
|
6
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
7
|
+
import { clamp } from '../../utils.js';
|
|
8
|
+
|
|
9
|
+
const QuickLinks = () => {
|
|
10
|
+
const {
|
|
11
|
+
width
|
|
12
|
+
} = useWindowSize();
|
|
13
|
+
const {
|
|
14
|
+
send
|
|
15
|
+
} = useLlm(state => state.actions);
|
|
16
|
+
const app = useLlm(state => state.app);
|
|
17
|
+
const swiperProps = {
|
|
18
|
+
spaceBetween: clamp(8, 16),
|
|
19
|
+
slidesOffsetAfter: clamp(20, 110),
|
|
20
|
+
slidesOffsetBefore: clamp(20, 110),
|
|
21
|
+
slidesPerView: clamp(1.2, 2.2)
|
|
22
|
+
};
|
|
23
|
+
const onClick = item => __awaiter(void 0, void 0, void 0, function* () {
|
|
24
|
+
yield send(item.message || item.title, response => {
|
|
25
|
+
// console.log('QuickLinks.onChunk', response.chunks);
|
|
26
|
+
}, response => {
|
|
27
|
+
// console.log('QuickLinks.onEnd', response);
|
|
28
|
+
});
|
|
29
|
+
});
|
|
30
|
+
const getCard = (item, j) => {
|
|
31
|
+
return jsxs("div", {
|
|
32
|
+
className: "llm__links-card",
|
|
33
|
+
onClick: () => onClick(item),
|
|
34
|
+
children: [jsxs("div", {
|
|
35
|
+
className: "llm__links-title -llm-t-label-1",
|
|
36
|
+
children: [item.icon && jsx("i", {
|
|
37
|
+
children: jsx("img", {
|
|
38
|
+
src: item.icon.src || item.icon.url,
|
|
39
|
+
alt: item.icon.alt
|
|
40
|
+
})
|
|
41
|
+
}), item.title]
|
|
42
|
+
}), jsx("div", {
|
|
43
|
+
className: "llm__links-body -llm-t-body-3",
|
|
44
|
+
children: item.body
|
|
45
|
+
})]
|
|
46
|
+
}, j);
|
|
47
|
+
};
|
|
48
|
+
const getCards = () => {
|
|
49
|
+
if (width < 768) {
|
|
50
|
+
return jsx(Swiper, Object.assign({}, swiperProps, {
|
|
51
|
+
children: app === null || app === void 0 ? void 0 : app.contents.layoutBuilder.map((item, j) => jsx(SwiperSlide, {
|
|
52
|
+
children: getCard(item, j)
|
|
53
|
+
}, j))
|
|
54
|
+
}));
|
|
55
|
+
} else {
|
|
56
|
+
return app === null || app === void 0 ? void 0 : app.contents.layoutBuilder.map(getCard);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
return jsx("div", {
|
|
60
|
+
className: "llm__links",
|
|
61
|
+
children: getCards()
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
export { QuickLinks };
|
|
66
|
+
//# sourceMappingURL=quicklinks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"quicklinks.js","sources":["../../../../../src/llm/components/QuickLinks/quicklinks.tsx"],"sourcesContent":[null],"names":["QuickLinks","width","useWindowSize","send","useLlm","state","actions","app","swiperProps","spaceBetween","clamp","slidesOffsetAfter","slidesOffsetBefore","slidesPerView","onClick","item","__awaiter","message","title","response","getCard","j","_jsxs","className","children","icon","_jsx","src","url","alt","body","getCards","Swiper","contents","layoutBuilder","map","SwiperSlide"],"mappings":";;;;;;;;AAOaA,MAAAA,UAAU,GAAGA,MAAK;EAC7B,MAAM;AAAEC,IAAAA,KAAAA;GAAO,GAAGC,aAAa,EAAE,CAAA;EACjC,MAAM;AAAEC,IAAAA,IAAAA;GAAM,GAAGC,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACC,OAAO,CAAC,CAAA;EAC/C,MAAMC,GAAG,GAAGH,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACE,GAAG,CAAC,CAAA;AACtC,EAAA,MAAMC,WAAW,GAAG;AAClBC,IAAAA,YAAY,EAAEC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC;AAC1BC,IAAAA,iBAAiB,EAAED,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC;AACjCE,IAAAA,kBAAkB,EAAEF,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC;AAClCG,IAAAA,aAAa,EAAEH,KAAK,CAAC,GAAG,EAAE,GAAG,CAAA;GAC9B,CAAA;AAED,EAAA,MAAMI,OAAO,GAAUC,IAAa,IAAIC,SAAA,CAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,KAAA,CAAA,EAAA,aAAA;IACtC,MAAMb,IAAI,CAACY,IAAI,CAACE,OAAO,IAAIF,IAAI,CAACG,KAAK,EAAGC,QAAQ,IAAI;AAClD;KACD,EAAGA,QAAQ,IAAI;AACd;AAAA,KACD,CAAC,CAAA;AACJ,GAAC,CAAA,CAAA;AAED,EAAA,MAAMC,OAAO,GAAGA,CAACL,IAAa,EAAEM,CAAS,KAAI;IAC3C,OAAOC,IAAa,CAAA,KAAA,EAAA;AAAAC,MAAAA,SAAS,EAAC,iBAAiB;AAACT,MAAAA,OAAO,EAAEA,MAAMA,OAAO,CAACC,IAAI,CAAC;AAC1ES,MAAAA,QAAA,EAAA,CAAAF,IAAA,CAAA,KAAA,EAAA;AAAKC,QAAAA,SAAS,EAAC,iCAAiC;QAAAC,QAAA,EAAA,CAC7CT,IAAI,CAACU,IAAI,IACRC,GAAG,CAAA,GAAA,EAAA;AAAAF,UAAAA,QAAA,EAAAE,GAAA,CAAA,KAAA,EAAA;YAAKC,GAAG,EAAEZ,IAAI,CAACU,IAAI,CAACE,GAAG,IAAIZ,IAAI,CAACU,IAAI,CAACG,GAAG;AAAEC,YAAAA,GAAG,EAAEd,IAAI,CAACU,IAAI,CAACI,GAAAA;WAAG,CAAA;UAChE,EACAd,IAAI,CAACG,KAAK,CAAA;AAAA,OAAA,CACP,EACNQ,GAAA,CAAA,KAAA,EAAA;AAAKH,QAAAA,SAAS,EAAC,+BAA+B;QAAEC,QAAA,EAAAT,IAAI,CAACe,IAAAA;AAAI,OAAA,CAAO,CAAA;KAPjD,EAAAT,CAAC,CAQZ,CAAA;GACP,CAAA;EAED,MAAMU,QAAQ,GAAGA,MAAK;IACpB,IAAI9B,KAAK,GAAG,GAAG,EAAE;AACf,MAAA,OACEyB,GAAC,CAAAM,MAAM,oBAAKxB,WAAW,EAAA;AAAAgB,QAAAA,QAAA,EACpBjB,GAAG,KAAH,IAAA,IAAAA,GAAG,KAAH,KAAA,CAAA,GAAA,KAAA,CAAA,GAAAA,GAAG,CAAE0B,QAAQ,CAACC,aAAa,CAACC,GAAG,CAAC,CAACpB,IAAI,EAAEM,CAAC,KACvCK,IAACU,WAAW,EAAA;AAAAZ,UAAAA,QAAA,EAAUJ,OAAO,CAACL,IAAI,EAAEM,CAAC,CAAA;SAAnB,EAAAA,CAAC,CAAkC,CAAA;AACtD,OAAA,CAAA,CACM,CAAA;AAEb,KAAC,MAAM;MACL,OAAOd,GAAG,KAAA,IAAA,IAAHA,GAAG,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAHA,GAAG,CAAE0B,QAAQ,CAACC,aAAa,CAACC,GAAG,CAACf,OAAO,CAAC,CAAA;AACjD,KAAA;GACD,CAAA;EAED,OACEM,GAAK,CAAA,KAAA,EAAA;AAAAH,IAAAA,SAAS,EAAC,YAAY;cACxBQ,QAAQ,EAAA;AACL,GAAA,CAAA,CAAA;AAEV;;;;"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
|
|
2
|
+
import { AnimatePresence, motion } from 'framer-motion';
|
|
3
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
4
|
+
import { BusyIndicator } from '../BusyIndicator/busyindicator.js';
|
|
5
|
+
import { Chunk } from '../Chunk/chunk.js';
|
|
6
|
+
|
|
7
|
+
const Stream = props => {
|
|
8
|
+
const messages = useLlm(state => state.messages);
|
|
9
|
+
const chunks = useLlm(state => state.chunks);
|
|
10
|
+
return jsx(Fragment, {
|
|
11
|
+
children: chunks && jsx(Fragment, {
|
|
12
|
+
children: jsx("div", {
|
|
13
|
+
className: "llm__message llm__message--assistant llm-row",
|
|
14
|
+
children: jsxs(AnimatePresence, {
|
|
15
|
+
children: [chunks.map((chunk, c) => jsx("div", {
|
|
16
|
+
className: `llm__inner llm__inner--${chunk.type}`,
|
|
17
|
+
children: jsx(motion.div, {
|
|
18
|
+
initial: {
|
|
19
|
+
opacity: 0,
|
|
20
|
+
y: 10
|
|
21
|
+
},
|
|
22
|
+
animate: {
|
|
23
|
+
opacity: 1,
|
|
24
|
+
y: 0
|
|
25
|
+
},
|
|
26
|
+
transition: {
|
|
27
|
+
duration: 1
|
|
28
|
+
},
|
|
29
|
+
children: jsx(Chunk, {
|
|
30
|
+
item: chunk,
|
|
31
|
+
index: messages.length,
|
|
32
|
+
total: messages.length + 1
|
|
33
|
+
})
|
|
34
|
+
})
|
|
35
|
+
}, c)), jsx(BusyIndicator, {})]
|
|
36
|
+
})
|
|
37
|
+
})
|
|
38
|
+
})
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
|
|
42
|
+
export { Stream };
|
|
43
|
+
//# sourceMappingURL=stream.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stream.js","sources":["../../../../../src/llm/components/Stream/stream.tsx"],"sourcesContent":[null],"names":["Stream","props","messages","useLlm","state","chunks","_jsx","_Fragment","children","className","_jsxs","AnimatePresence","map","chunk","c","type","motion","div","initial","opacity","y","animate","transition","duration","Chunk","item","index","length","total","BusyIndicator"],"mappings":";;;;;;AASaA,MAAAA,MAAM,GAA2BC,KAAkB,IAAI;EAClE,MAAMC,QAAQ,GAAGC,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACF,QAAQ,CAAC,CAAA;EAChD,MAAMG,MAAM,GAAGF,MAAM,CAACC,KAAK,IAAIA,KAAK,CAACC,MAAM,CAAC,CAAA;EAC5C,OACEC,GACG,CAAAC,QAAA,EAAA;AAAAC,IAAAA,QAAA,EAAAH,MAAM,IACLC;gBACEA,GAAK,CAAA,KAAA,EAAA;AAAAG,QAAAA,SAAS,EAAC,8CAA8C;AAC3DD,QAAAA,QAAA,EAAAE,IAAA,CAACC,eAAe,EACb;AAAAH,UAAAA,QAAA,EAAA,CAAAH,MAAM,CAACO,GAAG,CAAC,CAACC,KAAK,EAAEC,CAAC,KACnBR;AAAaG,YAAAA,SAAS,EAA4B,CAAA,uBAAA,EAAAI,KAAK,CAACE,KAAM,CAAA;AAC5DP,YAAAA,QAAA,EAAAF,GAAA,CAACU,MAAM,CAACC,GAAG,EAAA;AACTC,cAAAA,OAAO,EAAE;AAAEC,gBAAAA,OAAO,EAAE,CAAC;AAAEC,gBAAAA,CAAC,EAAE,EAAA;eAAI;AAC9BC,cAAAA,OAAO,EAAE;AAAEF,gBAAAA,OAAO,EAAE,CAAC;AAAEC,gBAAAA,CAAC,EAAE,CAAA;eAAG;AAC7BE,cAAAA,UAAU,EAAE;AAAEC,gBAAAA,QAAQ,EAAE,CAAA;eAAG;AAE3Bf,cAAAA,QAAA,EAAAF,GAAA,CAACkB,KAAK,EAAA;AAACC,gBAAAA,IAAI,EAAEZ,KAAK;gBAAEa,KAAK,EAAExB,QAAQ,CAACyB,MAAM;AAAEC,gBAAAA,KAAK,EAAE1B,QAAQ,CAACyB,MAAM,GAAG,CAAA;eAAK,CAAA;aAAA,CAAA;WANpE,EAAAb,CAAC,CASZ,CAAC,EACFR,GAAA,CAACuB,aAAa,EAAA,EAAA,CAAG,CAAA;SACD,CAAA;OAAA,CAAA;KAEnB,CAAA;AAEJ,GAAA,CAAA,CAAA;AAEP;;;;"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { useLabel } from '@websolutespa/bom-mixer-hooks';
|
|
3
|
+
import { IconLlmInfoCircle } from '@websolutespa/bom-mixer-icons';
|
|
4
|
+
import { marked } from 'marked';
|
|
5
|
+
import { useMemo } from 'react';
|
|
6
|
+
|
|
7
|
+
const Text = props => {
|
|
8
|
+
const label = useLabel();
|
|
9
|
+
const html = useMemo(() => {
|
|
10
|
+
return marked.parse(props.body);
|
|
11
|
+
}, [props.body]);
|
|
12
|
+
const disclaimer = props.disclaimer ? label('llm.disclaimer') : '';
|
|
13
|
+
return jsxs("div", {
|
|
14
|
+
className: "llm__text",
|
|
15
|
+
children: [jsx("div", {
|
|
16
|
+
className: "llm__text-body",
|
|
17
|
+
dangerouslySetInnerHTML: {
|
|
18
|
+
__html: html
|
|
19
|
+
}
|
|
20
|
+
}), disclaimer && jsxs("small", {
|
|
21
|
+
className: "llm__text-disclaimer",
|
|
22
|
+
children: [jsx("i", {
|
|
23
|
+
children: jsx(IconLlmInfoCircle, {})
|
|
24
|
+
}), jsx("div", {
|
|
25
|
+
dangerouslySetInnerHTML: {
|
|
26
|
+
__html: disclaimer
|
|
27
|
+
}
|
|
28
|
+
})]
|
|
29
|
+
})]
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
|
|
33
|
+
export { Text };
|
|
34
|
+
//# sourceMappingURL=text.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.js","sources":["../../../../../src/llm/components/Text/text.tsx"],"sourcesContent":[null],"names":["Text","props","label","useLabel","html","useMemo","marked","parse","body","disclaimer","_jsxs","className","children","_jsx","dangerouslySetInnerHTML","__html","IconLlmInfoCircle"],"mappings":";;;;;;AAUaA,MAAAA,IAAI,GAAIC,KAAmB,IAAI;AAC1C,EAAA,MAAMC,KAAK,GAAGC,QAAQ,EAAE,CAAA;AACxB,EAAA,MAAMC,IAAI,GAAGC,OAAO,CAAC,MAAK;AACxB,IAAA,OAAOC,MAAM,CAACC,KAAK,CAACN,KAAK,CAACO,IAAI,CAAC,CAAA;AACjC,GAAC,EAAE,CAACP,KAAK,CAACO,IAAI,CAAC,CAAC,CAAA;EAChB,MAAMC,UAAU,GAAGR,KAAK,CAACQ,UAAU,GAAGP,KAAK,CAAC,gBAAgB,CAAC,GAAG,EAAE,CAAA;EAClE,OACEQ;AAAKC,IAAAA,SAAS,EAAC,WAAW;AACxBC,IAAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,KAAA,EAAA;AAAKF,MAAAA,SAAS,EAAC,gBAAgB;AAACG,MAAAA,uBAAuB,EAAE;AAAEC,QAAAA,MAAM,EAAEX,IAAAA;AAAM,OAAA;AAAA,KAAA,CAAI,EAC5EK,UAAU,IACTC;AAAOC,MAAAA,SAAS,EAAC,sBAAsB;AACrCC,MAAAA,QAAA,EAAA,CAAAC,GAAA,CAAA,GAAA,EAAA;AAAAD,QAAAA,QAAA,EAAGC,IAACG,iBAAiB,EAAA,EAAA,CAAA;AAAO,OAAA,CAAA,EAC5BH,GAAK,CAAA,KAAA,EAAA;AAAAC,QAAAA,uBAAuB,EAAE;AAAEC,UAAAA,MAAM,EAAEN,UAAAA;AAAU,SAAA;QAAM,CAAA;AAClD,KAAA,CACT,CAAA;AACG,GAAA,CAAA,CAAA;AAEV;;;;"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
+
import { getClassNames } from '@websolutespa/bom-core';
|
|
3
|
+
import { useLlm } from '../../../useLlm/useLlm.js';
|
|
4
|
+
import { Chunk } from '../Chunk/chunk.js';
|
|
5
|
+
import { Stream } from '../Stream/stream.js';
|
|
6
|
+
|
|
7
|
+
const Thread = () => {
|
|
8
|
+
const messages = useLlm(state => state.messages);
|
|
9
|
+
return jsxs("div", {
|
|
10
|
+
className: "llm__thread llm-container",
|
|
11
|
+
children: [messages.map((message, m) => jsx("div", {
|
|
12
|
+
className: getClassNames('llm__message', `llm__message--${message.role}`, 'llm-row'),
|
|
13
|
+
children: message.chunks.map((chunk, c) => jsx("div", {
|
|
14
|
+
className: `llm__inner llm__inner--${chunk.type}`,
|
|
15
|
+
children: jsx(Chunk, {
|
|
16
|
+
item: chunk,
|
|
17
|
+
index: m,
|
|
18
|
+
total: messages.length
|
|
19
|
+
})
|
|
20
|
+
}, c))
|
|
21
|
+
}, m)), jsx(Stream, {})]
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
|
|
25
|
+
export { Thread };
|
|
26
|
+
//# sourceMappingURL=thread.js.map
|