diff options
Diffstat (limited to 'subprojects/docs/src/components/Features/index.tsx')
-rw-r--r-- | subprojects/docs/src/components/Features/index.tsx | 114 |
1 files changed, 114 insertions, 0 deletions
diff --git a/subprojects/docs/src/components/Features/index.tsx b/subprojects/docs/src/components/Features/index.tsx new file mode 100644 index 00000000..57012725 --- /dev/null +++ b/subprojects/docs/src/components/Features/index.tsx | |||
@@ -0,0 +1,114 @@ | |||
1 | /* | ||
2 | * SPDX-FileCopyrightText: 2024 The Refinery Authors | ||
3 | * | ||
4 | * SPDX-License-Identifier: EPL-2.0 | ||
5 | */ | ||
6 | |||
7 | import clsx from 'clsx'; | ||
8 | |||
9 | import Fi1 from './fi1.svg'; | ||
10 | import Fi2 from './fi2.svg'; | ||
11 | import Fi3 from './fi3.svg'; | ||
12 | import Fi4 from './fi4.svg'; | ||
13 | import Fi5 from './fi5.svg'; | ||
14 | import styles from './index.module.css'; | ||
15 | |||
16 | function Feature({ | ||
17 | icon, | ||
18 | title, | ||
19 | offset, | ||
20 | even, | ||
21 | children, | ||
22 | }: { | ||
23 | icon: React.ReactNode; | ||
24 | title: string; | ||
25 | offset?: number; | ||
26 | even?: boolean; | ||
27 | children: React.ReactNode; | ||
28 | }) { | ||
29 | return ( | ||
30 | <div | ||
31 | className={clsx( | ||
32 | 'col', | ||
33 | 'col--4', | ||
34 | { [`col--offset-${offset}`]: offset !== undefined }, | ||
35 | styles['feature__container'], | ||
36 | )} | ||
37 | > | ||
38 | <div | ||
39 | className={clsx(styles['feature'], { | ||
40 | [styles['feature--even']!]: even, | ||
41 | })} | ||
42 | > | ||
43 | <div className={styles['feature__icon']}>{icon}</div> | ||
44 | <div className={styles['feature__contents']}> | ||
45 | <h3 className={styles['feature__title']}>{title}</h3> | ||
46 | <p className={styles['feature__text']}>{children}</p> | ||
47 | </div> | ||
48 | </div> | ||
49 | </div> | ||
50 | ); | ||
51 | } | ||
52 | |||
53 | Feature.defaultProps = { | ||
54 | offset: undefined, | ||
55 | even: false, | ||
56 | }; | ||
57 | |||
58 | export default function Features() { | ||
59 | return ( | ||
60 | <div className="container"> | ||
61 | <svg xmlns="ttp://www.w3.org/2000/svg" className={styles['lg']}> | ||
62 | <defs> | ||
63 | <linearGradient | ||
64 | id="fi-lg" | ||
65 | x1="0" | ||
66 | y1="0" | ||
67 | x2="0" | ||
68 | y2="366" | ||
69 | gradientUnits="userSpaceOnUse" | ||
70 | > | ||
71 | <stop offset="0%" className={styles['lg__start']} /> | ||
72 | <stop offset="100%" className={styles['lg__end']} /> | ||
73 | </linearGradient> | ||
74 | </defs> | ||
75 | </svg> | ||
76 | <h2 className="sr-only">Features</h2> | ||
77 | <div className="row"> | ||
78 | <Feature icon={<Fi1 />} title="Diverse graph generation"> | ||
79 | Refinery provides a framework for the automated generation of graphs. | ||
80 | </Feature> | ||
81 | <Feature icon={<Fi2 />} title="Model with uncertainty" even> | ||
82 | Partial modeling allows us to explicitly represent unknown or | ||
83 | uncertain knowledge in our models. The Refinery framework enables us | ||
84 | to explore design alternatives systematically. | ||
85 | </Feature> | ||
86 | <Feature icon={<Fi3 />} title="Formal logic reasoning"> | ||
87 | Refinery combines the mathematical precision of formal logic | ||
88 | structures with the expressiveness of graph-based models. Underlying | ||
89 | solver algorithms ensure formal correctness and completeness of | ||
90 | generation processes. | ||
91 | </Feature> | ||
92 | </div> | ||
93 | <div className="row"> | ||
94 | <Feature | ||
95 | icon={<Fi4 />} | ||
96 | title="Advanced web-based editor" | ||
97 | offset={2} | ||
98 | even | ||
99 | > | ||
100 | Designers are supported with state-of-the-art web-based editors with | ||
101 | advanced IDE features and visualization techniques. The framework can | ||
102 | be applied as a simple command-line interface program or deployed on | ||
103 | the cloud. | ||
104 | </Feature> | ||
105 | <Feature icon={<Fi5 />} title="Powerful graph algorithms"> | ||
106 | Refinery is equipped with powerful algorithms such as incremental | ||
107 | query evaluation, efficient graph isomorphism checking, and | ||
108 | version-controlled data structures to solve various modeling and graph | ||
109 | processing problems. | ||
110 | </Feature> | ||
111 | </div> | ||
112 | </div> | ||
113 | ); | ||
114 | } | ||