diff --git a/package.json b/package.json
index a129fba..e9c0b6a 100644
--- a/package.json
+++ b/package.json
@@ -25,9 +25,8 @@
],
"dependencies": {
"@fortawesome/fontawesome-svg-core": "^6.3.0",
- "@fortawesome/free-regular-svg-icons": "^6.3.0",
- "@fortawesome/free-solid-svg-icons": "^6.3.0",
"@fortawesome/react-fontawesome": "^0.2.0",
+ "@heroicons/react": "^2.0.18",
"@types/markdown-to-jsx": "^6.11.2",
"@types/mdx": "^2.0.3",
"@types/node": "^16.7.13",
diff --git a/src/actions/Button.scss b/src/actions/Button.scss
index 485cf89..9f009cb 100644
--- a/src/actions/Button.scss
+++ b/src/actions/Button.scss
@@ -3,7 +3,7 @@
--button-font-family: var(--seeds-font-alt-sans);
--button-font-weight: bold;
--button-interior-gap: var(--seeds-s3);
- --button-icon-size-percentage: 75%;
+ --button-icon-scale-factor: 0.85;
--button-icon-side-padding: var(--seeds-s4);
--button-padding-sm: calc(var(--seeds-s3_5) - var(--button-border-width))
@@ -212,7 +212,11 @@
}
& > .seeds-icon {
- font-size: var(--button-icon-size-percentage);
+ --icon-scale-factor: var(--button-icon-scale-factor);
+ }
+
+ &[data-size="sm"] > .seeds-icon {
+ --icon-scale-factor: calc(var(--button-icon-scale-factor) * 1.15);
}
&:focus-visible {
diff --git a/src/actions/Button.tsx b/src/actions/Button.tsx
index 220372b..d2f0e2b 100644
--- a/src/actions/Button.tsx
+++ b/src/actions/Button.tsx
@@ -6,8 +6,7 @@ import {
shouldShowExternalLinkIcon,
} from "../global/NavigationContext"
import Icon from "../icons/Icon"
-
-import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"
+import { ArrowTopRightOnSquareIcon } from "@heroicons/react/24/solid"
import "./Button.scss"
@@ -70,7 +69,9 @@ const setupButtonProps = (props: ButtonProps) => {
const classNames = ["seeds-button"]
const tailIcon = shouldShowExternalLinkIcon(props) ? (
-
+
+
+
) : (
props.tailIcon
)
diff --git a/src/actions/Link.scss b/src/actions/Link.scss
index 7f8737c..aca790f 100644
--- a/src/actions/Link.scss
+++ b/src/actions/Link.scss
@@ -4,7 +4,7 @@
.seeds-link {
--link-interior-gap: var(--seeds-s1);
- --link-icon-size-percentage: 75%;
+ --link-icon-scale-factor: 0.85;
display: inline-flex;
gap: var(--link-interior-gap);
@@ -14,6 +14,6 @@
}
& > .seeds-icon {
- font-size: var(--link-icon-size-percentage);
+ --icon-scale-factor: var(--link-icon-scale-factor);
}
}
diff --git a/src/actions/Link.tsx b/src/actions/Link.tsx
index f4c4c45..4da35ed 100644
--- a/src/actions/Link.tsx
+++ b/src/actions/Link.tsx
@@ -5,9 +5,8 @@ import {
isExternalLink,
shouldShowExternalLinkIcon,
} from "../global/NavigationContext"
-
import Icon from "../icons/Icon"
-import { faArrowUpRightFromSquare } from "@fortawesome/free-solid-svg-icons"
+import { ArrowTopRightOnSquareIcon } from "@heroicons/react/24/solid"
import "./Link.scss"
@@ -38,7 +37,7 @@ const Link = (props: LinkProps) => {
const classNames = ["seeds-link"]
const tailIcon = shouldShowExternalLinkIcon(props) ? (
-
+
) : (
props.tailIcon
)
diff --git a/src/actions/__stories__/Button.docs.mdx b/src/actions/__stories__/Button.docs.mdx
index 8e51cd0..3222f26 100644
--- a/src/actions/__stories__/Button.docs.mdx
+++ b/src/actions/__stories__/Button.docs.mdx
@@ -9,20 +9,20 @@ import Button from "../Button"
## Theme Variables
-| Name | Description | Default |
-| ------------------------------- | ----------------------------------------- | ----------------------- |
-| `--button-border-width` | Border width | `--seeds-border-2` |
-| `--button-font-family` | Font family | `--seeds-font-alt-sans` |
-| `--button-font-weight` | Font weight | `none` |
-| `--button-interior-gap` | Space between icons/text | `--seeds-s3` |
-| `--button-icon-size-percentage` | Relative size to base font | `75%` |
-| `--button-icon-side-padding` | Space between an icon and the button edge | `--seeds-s4` |
-| `--button-padding-sm` | Small button padding | |
-| `--button-font-size-sm` | Small button font size | `--seeds-font-size-sm` |
-| `--button-border-radius-sm` | Small button border radius | `--seeds-rounded` |
-| `--button-padding-md` | Medium button padding | |
-| `--button-font-size-md` | Medium button font size | `--seeds-font-size-md` |
-| `--button-border-radius-md` | Medium button border radius | `--seeds-rounded` |
-| `--button-padding-lg` | Large button padding | |
-| `--button-font-size-lg` | Large button font size | `--seeds-font-size-lg` |
-| `--button-border-radius-lg` | Large button border radius | `--seeds-rounded` |
+| Name | Description | Default |
+| ---------------------------- | ----------------------------------------- | ----------------------- |
+| `--button-border-width` | Border width | `--seeds-border-2` |
+| `--button-font-family` | Font family | `--seeds-font-alt-sans` |
+| `--button-font-weight` | Font weight | `none` |
+| `--button-interior-gap` | Space between icons/text | `--seeds-s3` |
+| `--button-icon-scale-factor` | Integer | `0.85` |
+| `--button-icon-side-padding` | Space between an icon and the button edge | `--seeds-s4` |
+| `--button-padding-sm` | Small button padding | |
+| `--button-font-size-sm` | Small button font size | `--seeds-font-size-sm` |
+| `--button-border-radius-sm` | Small button border radius | `--seeds-rounded` |
+| `--button-padding-md` | Medium button padding | |
+| `--button-font-size-md` | Medium button font size | `--seeds-font-size-md` |
+| `--button-border-radius-md` | Medium button border radius | `--seeds-rounded` |
+| `--button-padding-lg` | Large button padding | |
+| `--button-font-size-lg` | Large button font size | `--seeds-font-size-lg` |
+| `--button-border-radius-lg` | Large button border radius | `--seeds-rounded` |
diff --git a/src/actions/__stories__/Button.stories.tsx b/src/actions/__stories__/Button.stories.tsx
index 991fac6..f6fcc95 100644
--- a/src/actions/__stories__/Button.stories.tsx
+++ b/src/actions/__stories__/Button.stories.tsx
@@ -3,7 +3,7 @@ import React from "react"
import Button from "../Button"
import Icon from "../../icons/Icon"
-import { faHeart } from "@fortawesome/free-solid-svg-icons"
+import { HeartIcon } from "@heroicons/react/24/solid"
import MDXDocs from "./Button.docs.mdx"
import HeadingGroup from "../../text/HeadingGroup"
@@ -163,8 +163,24 @@ export const linkButtons = () => (
export const buttonsWithIcons = () => (
- }>Lead Icon
- }>Tail Icon
+
+
)
@@ -177,10 +193,24 @@ export const textButtons = () => (
- }>
+
- }>
+
diff --git a/src/actions/__stories__/Link.docs.mdx b/src/actions/__stories__/Link.docs.mdx
index 50f3329..28af48f 100644
--- a/src/actions/__stories__/Link.docs.mdx
+++ b/src/actions/__stories__/Link.docs.mdx
@@ -9,7 +9,7 @@ import Link from "../Link"
## Theme Variables
-| Name | Description | Default |
-| ----------------------------- | -------------------------- | ------------ |
-| `--link-interior-gap` | Space between icons/text | `--seeds-s1` |
-| `--link-icon-size-percentage` | Relative size to base font | `75%` |
+| Name | Description | Default |
+| -------------------------- | ------------------------ | ------------ |
+| `--link-interior-gap` | Space between icons/text | `--seeds-s1` |
+| `--link-icon-scale-factor` | Integer | `0.85` |
diff --git a/src/actions/__stories__/Link.stories.tsx b/src/actions/__stories__/Link.stories.tsx
index 8623508..cb27a41 100644
--- a/src/actions/__stories__/Link.stories.tsx
+++ b/src/actions/__stories__/Link.stories.tsx
@@ -3,7 +3,7 @@ import React from "react"
import Link from "../Link"
import Icon from "../../icons/Icon"
-import { faHeart } from "@fortawesome/free-solid-svg-icons"
+import { HeartIcon } from "@heroicons/react/24/solid"
import MDXDocs from "./Link.docs.mdx"
@@ -37,10 +37,10 @@ export const externalLink = () => (
export const linksWithIcons = () => (
- }>
+ }>
Lead Icon
- }>
+ }>
Tail Icon
diff --git a/src/actions/__tests__/Button.test.tsx b/src/actions/__tests__/Button.test.tsx
index 38202c0..77d9ad0 100644
--- a/src/actions/__tests__/Button.test.tsx
+++ b/src/actions/__tests__/Button.test.tsx
@@ -2,7 +2,7 @@ import { render, cleanup, fireEvent } from "@testing-library/react"
import Button from "../Button"
import Icon from "../../icons/Icon"
-import { faHeart } from "@fortawesome/free-solid-svg-icons"
+import { HeartIcon } from "@heroicons/react/24/solid"
afterEach(cleanup)
@@ -45,19 +45,19 @@ describe("