diff --git a/app/actions/definitions/collections.tsx b/app/actions/definitions/collections.tsx
index 9f127334f..8efabd190 100644
--- a/app/actions/definitions/collections.tsx
+++ b/app/actions/definitions/collections.tsx
@@ -12,7 +12,7 @@ import Collection from "~/models/Collection";
import CollectionEdit from "~/scenes/CollectionEdit";
import CollectionNew from "~/scenes/CollectionNew";
import CollectionPermissions from "~/scenes/CollectionPermissions";
-import DynamicCollectionIcon from "~/components/CollectionIcon";
+import DynamicCollectionIcon from "~/components/Icons/CollectionIcon";
import { createAction } from "~/actions";
import { CollectionSection } from "~/actions/sections";
import history from "~/utils/history";
diff --git a/app/components/Branding.tsx b/app/components/Branding.tsx
index 4f9635663..934a2ae48 100644
--- a/app/components/Branding.tsx
+++ b/app/components/Branding.tsx
@@ -3,7 +3,7 @@ import styled from "styled-components";
import breakpoint from "styled-components-breakpoint";
import { depths } from "@shared/styles";
import env from "~/env";
-import OutlineLogo from "./OutlineLogo";
+import OutlineIcon from "./Icons/OutlineIcon";
type Props = {
href?: string;
@@ -12,7 +12,7 @@ type Props = {
function Branding({ href = env.URL }: Props) {
return (
-
+
Outline
);
diff --git a/app/components/DefaultCollectionInputSelect.tsx b/app/components/DefaultCollectionInputSelect.tsx
index c6e363334..c811dc0c9 100644
--- a/app/components/DefaultCollectionInputSelect.tsx
+++ b/app/components/DefaultCollectionInputSelect.tsx
@@ -2,8 +2,8 @@ import { HomeIcon } from "outline-icons";
import React, { useState } from "react";
import { useTranslation } from "react-i18next";
import { Optional } from "utility-types";
-import CollectionIcon from "~/components/CollectionIcon";
import Flex from "~/components/Flex";
+import CollectionIcon from "~/components/Icons/CollectionIcon";
import InputSelect from "~/components/InputSelect";
import { IconWrapper } from "~/components/Sidebar/components/SidebarLink";
import useStores from "~/hooks/useStores";
diff --git a/app/components/DocumentBreadcrumb.tsx b/app/components/DocumentBreadcrumb.tsx
index 167c6e1e5..78e6399d9 100644
--- a/app/components/DocumentBreadcrumb.tsx
+++ b/app/components/DocumentBreadcrumb.tsx
@@ -5,7 +5,7 @@ import { useTranslation } from "react-i18next";
import styled from "styled-components";
import Document from "~/models/Document";
import Breadcrumb from "~/components/Breadcrumb";
-import CollectionIcon from "~/components/CollectionIcon";
+import CollectionIcon from "~/components/Icons/CollectionIcon";
import useStores from "~/hooks/useStores";
import { MenuInternalLink, NavigationNode } from "~/types";
import { collectionUrl } from "~/utils/routeHelpers";
diff --git a/app/components/DocumentCard.tsx b/app/components/DocumentCard.tsx
index da5fd872c..c295f539a 100644
--- a/app/components/DocumentCard.tsx
+++ b/app/components/DocumentCard.tsx
@@ -13,8 +13,8 @@ import Flex from "~/components/Flex";
import NudeButton from "~/components/NudeButton";
import Time from "~/components/Time";
import useStores from "~/hooks/useStores";
-import CollectionIcon from "./CollectionIcon";
-import EmojiIcon from "./EmojiIcon";
+import CollectionIcon from "./Icons/CollectionIcon";
+import EmojiIcon from "./Icons/EmojiIcon";
import Squircle from "./Squircle";
import Text from "./Text";
import Tooltip from "./Tooltip";
diff --git a/app/components/ExportDialog.tsx b/app/components/ExportDialog.tsx
index 00d59681c..8de85d491 100644
--- a/app/components/ExportDialog.tsx
+++ b/app/components/ExportDialog.tsx
@@ -7,7 +7,7 @@ import { FileOperationFormat } from "@shared/types";
import Collection from "~/models/Collection";
import ConfirmationDialog from "~/components/ConfirmationDialog";
import Flex from "~/components/Flex";
-import MarkdownIcon from "~/components/Icons/Markdown";
+import MarkdownIcon from "~/components/Icons/MarkdownIcon";
import Text from "~/components/Text";
import useStores from "~/hooks/useStores";
import useToasts from "~/hooks/useToasts";
diff --git a/app/components/GithubLogo.tsx b/app/components/GithubLogo.tsx
deleted file mode 100644
index 803277628..000000000
--- a/app/components/GithubLogo.tsx
+++ /dev/null
@@ -1,29 +0,0 @@
-import * as React from "react";
-
-type Props = {
- size?: number;
- fill?: string;
- className?: string;
-};
-
-function GithubLogo({ size = 34, fill = "#FFF", className }: Props) {
- return (
-
- );
-}
-
-export default GithubLogo;
diff --git a/app/components/CollectionIcon.tsx b/app/components/Icons/CollectionIcon.tsx
similarity index 83%
rename from app/components/CollectionIcon.tsx
rename to app/components/Icons/CollectionIcon.tsx
index 5e259e52e..cef77a8f8 100644
--- a/app/components/CollectionIcon.tsx
+++ b/app/components/Icons/CollectionIcon.tsx
@@ -8,9 +8,13 @@ import useStores from "~/hooks/useStores";
import Logger from "~/utils/Logger";
type Props = {
+ /** The collection to show an icon for */
collection: Collection;
+ /** Whether the icon should be the "expanded" graphic when displaying the default collection icon */
expanded?: boolean;
+ /** The size of the icon, 24px is default to match standard icons */
size?: number;
+ /** The color of the icon, defaults to the collection color */
color?: string;
};
diff --git a/app/components/EmojiIcon.tsx b/app/components/Icons/EmojiIcon.tsx
similarity index 100%
rename from app/components/EmojiIcon.tsx
rename to app/components/Icons/EmojiIcon.tsx
diff --git a/app/components/Icons/Markdown.tsx b/app/components/Icons/MarkdownIcon.tsx
similarity index 86%
rename from app/components/Icons/Markdown.tsx
rename to app/components/Icons/MarkdownIcon.tsx
index 61b1d098d..f77bdb087 100644
--- a/app/components/Icons/Markdown.tsx
+++ b/app/components/Icons/MarkdownIcon.tsx
@@ -1,7 +1,9 @@
import * as React from "react";
type Props = {
+ /** The size of the icon, 24px is default to match standard icons */
size?: number;
+ /** The color of the icon, defaults to the current text color */
color?: string;
};
diff --git a/app/components/Icons/OutlineIcon.tsx b/app/components/Icons/OutlineIcon.tsx
new file mode 100644
index 000000000..05fa32927
--- /dev/null
+++ b/app/components/Icons/OutlineIcon.tsx
@@ -0,0 +1,28 @@
+import * as React from "react";
+
+type Props = {
+ /** The size of the icon, 24px is default to match standard icons */
+ size?: number;
+ /** The color of the icon, defaults to the current text color */
+ color?: string;
+ /* Whether the safe area should be removed and have graphic across full size */
+ cover?: boolean;
+};
+
+export default function OutlineIcon({
+ size = 24,
+ cover,
+ color = "currentColor",
+}: Props) {
+ return (
+
+ );
+}
diff --git a/app/components/SlackIcon.tsx b/app/components/Icons/SlackIcon.tsx
similarity index 89%
rename from app/components/SlackIcon.tsx
rename to app/components/Icons/SlackIcon.tsx
index bb520dcf1..f27bff5fa 100644
--- a/app/components/SlackIcon.tsx
+++ b/app/components/Icons/SlackIcon.tsx
@@ -1,15 +1,21 @@
import * as React from "react";
type Props = {
+ /** The size of the icon, 24px is default to match standard icons */
+ size?: number;
+ /** The color of the icon, defaults to the current text color */
color?: string;
};
-export default function SlackIcon({ color = "#4E5C6E" }: Props) {
+export default function SlackIcon({
+ size = 24,
+ color = "currentColor",
+}: Props) {
return (