2021-05-20 09:39:40 +00:00
|
|
|
import React from "react"
|
2021-05-15 16:05:13 +00:00
|
|
|
import BoxFull from "../base/BoxFull"
|
2021-05-17 15:05:19 +00:00
|
|
|
import ReactWordcloud from "@steffo/nest-react-wordcloud"
|
2021-05-20 09:39:40 +00:00
|
|
|
import Style from "./BoxWordcloud.module.css"
|
2021-05-15 16:05:13 +00:00
|
|
|
|
|
|
|
|
2021-05-16 21:14:28 +00:00
|
|
|
/**
|
|
|
|
* A Box which displays a wordcloud.
|
|
|
|
*
|
|
|
|
* @param words - A list of word objects, made of a string "text" and a number "value"
|
|
|
|
* @param props - Additional props to pass to the box.
|
|
|
|
* @returns {JSX.Element}
|
|
|
|
* @constructor
|
|
|
|
*/
|
2021-05-20 09:39:40 +00:00
|
|
|
export default function BoxWordcloud({ words, ...props }) {
|
2021-05-15 16:05:13 +00:00
|
|
|
return (
|
2021-05-20 09:39:40 +00:00
|
|
|
<BoxFull {...props}>
|
|
|
|
<div className={Style.WordcloudContainer}>
|
2021-05-15 16:05:13 +00:00
|
|
|
<ReactWordcloud
|
|
|
|
options={{
|
|
|
|
colors: [
|
|
|
|
"var(--fg-primary)",
|
|
|
|
],
|
|
|
|
fontFamily: "Bree Serif",
|
2021-05-20 09:39:40 +00:00
|
|
|
fontSizes: [8, 64],
|
2021-05-15 16:05:13 +00:00
|
|
|
size: undefined,
|
|
|
|
deterministic: true,
|
|
|
|
}}
|
2021-05-16 21:14:28 +00:00
|
|
|
words={words}
|
2021-05-15 16:05:13 +00:00
|
|
|
/>
|
|
|
|
</div>
|
|
|
|
</BoxFull>
|
|
|
|
)
|
|
|
|
}
|