From ff638eb0105a22780d5084da58da83c98dc6d324 Mon Sep 17 00:00:00 2001
From: innovaker <66737976+innovaker@users.noreply.github.com>
Date: Fri, 6 Nov 2020 19:42:54 +0000
Subject: docs(codes): Add (key) codes documentation

Create codes documentation for standardized keys.

Closes #218.  Fixes #308.  Ref #21.
---
 docs/src/components/codes/FootnoteRefs.jsx | 43 ++++++++++++++++++++++++++++++
 1 file changed, 43 insertions(+)
 create mode 100644 docs/src/components/codes/FootnoteRefs.jsx

(limited to 'docs/src/components/codes/FootnoteRefs.jsx')

diff --git a/docs/src/components/codes/FootnoteRefs.jsx b/docs/src/components/codes/FootnoteRefs.jsx
new file mode 100644
index 0000000..3782c13
--- /dev/null
+++ b/docs/src/components/codes/FootnoteRefs.jsx
@@ -0,0 +1,43 @@
+/*
+ * 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 FootnoteRef from "./FootnoteRef";
+
+function joinReactElements(arr, delimiter) {
+  return arr.reduce((acc, fragment) => {
+    if (acc === null) {
+      return fragment;
+    }
+    return (
+      <>
+        {acc}
+        {delimiter}
+        {fragment}
+      </>
+    );
+  }, null);
+}
+
+export default function FootnoteRefs({ footnotes }) {
+  return (
+    <span className="footnoteRefs">
+      {joinReactElements(
+        footnotes.map((footnote) => (
+          <FootnoteRef key={footnote.reference} {...footnote}>
+            {footnote.symbol}
+          </FootnoteRef>
+        )),
+        ", "
+      )}
+    </span>
+  );
+}
+
+FootnoteRefs.propTypes = {
+  footnotes: PropTypes.array.isRequired,
+};
-- 
cgit v1.2.3

