summaryrefslogtreecommitdiff
path: root/docs/src/components/codes/TableRow.jsx
diff options
context:
space:
mode:
authorinnovaker <66737976+innovaker@users.noreply.github.com>2020-11-06 19:42:54 +0000
committerPete Johanson <peter@peterjohanson.com>2020-11-06 15:02:12 -0500
commitff638eb0105a22780d5084da58da83c98dc6d324 (patch)
treec1b6c9678dbc3b0ec4355f4177ff777816777479 /docs/src/components/codes/TableRow.jsx
parent194854ff7b61999f935e46d7a99060a655292490 (diff)
docs(codes): Add (key) codes documentation
Create codes documentation for standardized keys. Closes #218. Fixes #308. Ref #21.
Diffstat (limited to 'docs/src/components/codes/TableRow.jsx')
-rw-r--r--docs/src/components/codes/TableRow.jsx70
1 files changed, 70 insertions, 0 deletions
diff --git a/docs/src/components/codes/TableRow.jsx b/docs/src/components/codes/TableRow.jsx
new file mode 100644
index 0000000..a560911
--- /dev/null
+++ b/docs/src/components/codes/TableRow.jsx
@@ -0,0 +1,70 @@
+/*
+ * Copyright (c) 2020 The ZMK Contributors
+ *
+ * SPDX-License-Identifier: CC-BY-NC-SA-4.0
+ */
+
+import React from "react";
+import PropTypes from "prop-types";
+import Name from "./Name";
+import Description from "./Description";
+import Context from "./Context";
+import LinkIcon from "./LinkIcon";
+import OsSupport from "./OsSupport";
+import operatingSystems from "@site/src/data/operating-systems";
+
+export default function TableRow({
+ names,
+ description,
+ context = "",
+ clarify = false,
+ documentation,
+ os,
+ footnotes,
+ tableFootnotes,
+}) {
+ return (
+ <tr>
+ <td className="names">
+ {names.map((name) => (
+ <Name key={name} name={name}>
+ {name}
+ </Name>
+ ))}
+ </td>
+ <td className="description">
+ <Description description={description} />
+ {clarify && context ? <Context>{context}</Context> : undefined}
+ </td>
+ <td className="documentation" title="Documentation">
+ <a href={documentation} target="_blank" rel="noreferrer">
+ <LinkIcon />
+ </a>
+ </td>
+ {operatingSystems.map(({ key, className, title }) => (
+ <td key={key} className={`os ${className}`} title={title}>
+ <OsSupport
+ value={os[key]}
+ footnotes={tableFootnotes.filter(
+ ({ id }) =>
+ (Array.isArray(footnotes[key]) &&
+ footnotes[key].includes(id)) ||
+ footnotes[key] == id
+ )}
+ />
+ </td>
+ ))}
+ </tr>
+ );
+}
+
+TableRow.propTypes = {
+ names: PropTypes.array.isRequired,
+ description: PropTypes.string.isRequired,
+ context: PropTypes.string.isRequired,
+ clarify: PropTypes.bool,
+ documentation: PropTypes.string.isRequired,
+ os: PropTypes.object.isRequired,
+ footnotes: PropTypes.object.isRequired,
+ tableFootnotes: PropTypes.array.isRequired,
+};