@cieloazul310/gatsby-theme-aoi-components v3.4.0
@cieloazul310/gatsby-theme-aoi-components
A components libary for
@cieloazul310/gatsby-theme-aoi
built with MUI
Import
import { AppLink } from '@cieloazul310/gatsby-theme-aoi';
Components
<AppLink>
Gatsby Link + MUI Link
Example Code
<AppLink to="/page-2/">
Go to Page 2
</AppLink>
Props
MUI Link
Props
https://mui.com/api/link/)
@reach/router Link
Props
https://reach.tech/router/api/Link
<AppLinkButton>
Gatsby Link + MUI Button
Example Code
<AppLinkButton to="/page-2/" variant="contained" color="primary">
Go to Page 2
</AppLinkButton>
Props
MUI Button
Props
https://mui.com/api/button/
@reach/router Link
Props
https://reach.tech/router/api/Link
<BottomNavigationAppLink>
Gatsby Link + MUI BottomNavigationAction
Example Code
import BottomNavigation from '@mui/material/BottomNavigation';
import { BottomNavigationAppLink, usePathnameWithoutPrefix } from '@cieloazul310/gatsby-theme-aoi';
function BottomNav() {
const pathname = usePathnameWithoutPrefix();
return (
<BottomNavigation
value={pathname}
showLabels
>
<BottomNavigationAppLink
value="/"
label="Home"
icon={<HomeIcon />}
/>
<BottomNavigationAppLink
value="/page-2/"
label="Page 2"
icon={<PersonIcon />}
/>
</BottomNavigation>
);
}
Props
MUI BottomNavigationAction
Props
https://mui.com/api/bottom-navigation-action/
NOTE: Gatsby Link's to
prop is same to value
prop.
<Article>
For article
Props
Name | Type | Default |
---|---|---|
children | React.ReactNode | |
maxWidth | string | 'sm' |
&
MUI Container
Props
https://mui.com/api/container/
<ArticleTitle>
<h2>
Props
MUI Typography
Props
https://mui.com/api/typography/
<Paragraph>
equivalent to:<Typography variant="body1" paragraph>
Props
MUI Typography
Props
https://mui.com/api/typography/
<SubParagraph>
equivalent to:<Typography variant="body2" paragraph>
Props
MUI Typography
Props
https://mui.com/api/typography/
<H3>
<h3>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<H4>
<h4>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<H5>
<h5>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<H6>
<h6>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<Blockquote>
<blockquote>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<Hr>
MUI Divider
with margin-top and margin-bottom
<InlineCode>
<code>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<Ul>
<ul>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<Ol>
<ol>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<Li>
<li>
for Gatsby Theme Aoi
Props
MUI Typography
Props
https://mui.com/api/typography/
<Alert>
Simplified MUI <Alert>
Props
name | type | default |
---|---|---|
title | string | undefiend |
&
MUI Alert
Props
https://mui.com/api/alert/
Example Code
<Alert severity="error" title="Error">
Error message hoge hoge hoge.
</Alert>
<Alert severity="success">
Success message hoge hoge hoge.
</Alert>
<ExternalLink>
MUI Link
with target="_blank" rel="noopener noreferrer"
Example Code
<ExternalLink href="https://www.mito-hollyhock.net/">
Link
</ExternalLink>
<Jumbotron>
Jumbotorn like Bootstrap
Example Code
// with title
<Jumbotron title="Vamos" maxWidth="md" />
// with children
<Jumbotron maxWidth="md">
<Typography variant="body2">Type</Typography>
<Typography variant="h5" component="h2" gutterBottom>
Title
</Typography>
<Button variant="contained">
Getting Started
</Button>
</Jumbotron>
Props
name | Type | Default |
---|---|---|
children? | React.ReactNode | undefined |
title? | string | undefined |
maxWidth? | Breakpoints | undefined |
height? | number | undefined |
bgColor? | string | undefined |
bgImage? | string | undefined |
gradient? | boolean | undefined |
<ListItemAppLink>
Gatsby Link + MUI ListItem
Example Code
<List>
<ListItemAppLink to="/page-2/">
<ListItemIcon>
<PersonIcon>
</ListItemIcon>
<ListItemText primary="Page 2" />
</ListItemAppLink>
</List>
Props
MUI ListItem
Props
https://mui.com/api/list-item/
@reach/router Link
Props
https://reach.tech/router/api/Link
<ListItemLink>
Gatsby Link を装飾した Gatsby Theme Aoi 独自のコンポーネント。
xs
size: Button,
sm
size ListItem
の primaryText
がリンクになる。
Example Code
<List>
<ListItemLink to="/page-2/" primaryText="Page-2" />
</List>
Props
name | type | default | description |
---|---|---|---|
to | string | Requried | |
color? | string | 'inherit' | MUI Link Color |
primaryText | string | Requried | |
secondaryText? | string | undefined | |
button? | boolean | undefined | 'xs' では常に true |
inset? | boolean | false | |
avatar? | React.ReactNode | undefined | |
secondaryAction? | React.ReactNode | undefined |
<ListItemToggleDarkMode>
MUI ListItem
に @cieloazul310/gatsby-theme-aoi-top-layout
のダークモード切り替えのスイッチを組み込んだコンポーネント
Props
name | type | default |
---|---|---|
label? | string | 'Dark Mode' |
<ListItemToggleUseSystemTheme>
MUI ListItem
に @cieloazul310/gatsby-theme-aoi-top-layout
のシステムテーマ利用の切り替えのスイッチを組み込んだコンポーネント
Props
name | type | default |
---|---|---|
label? | string | 'Auto Dark Mode' |
Example Code
<List>
<ListItemToggleDarkMode label="ダークモード" />
<ListItemUseSystemTheme label="システムテーマ" />
</List>
<Section>
background.paper
の背景色を持った <div>
コンポーネント
<SectionDivider>
<Section>
コンポーネントを区切るための空の <div>
要素。<Section>
要素より少し暗い背景色を持つ。
NOTE: Material-UI v4 以前は background.default
は background.paper
より暗く、空の <div>
要素を置くことでレイアウトにアクセントを付けられた。
Example Code
<Layout title="Page Title">
<Jumbotron title="Example" />
<SectionDivider />
<Section>
<Article>
{...article}
</Article>
</Section>
<SectionDivider />
<Section>
<Article>
{...footer}
</Article>
</Section>
</Layout>
<SocialIcon>
MUI Icon にソーシャルアイコンを設定したコンポーネント
Props
name | Type |
---|---|
name | 'email' | 'twitter' | 'facebook' | 'github' | 'instagram' | 'youtube' | 'linkedin' | string |
&IconProps
: https://mui.com/api/icon/
<SocialLink>
<SocialIcon>
に外部リンクを設定したコンポーネント
Props
name | Type |
---|---|
name | 'email' | 'twitter' | 'facebook' | 'github' | 'instagram' | 'youtube' | 'linkedin' | string |
url | string |
&IconProps
: https://mui.com/api/icon/
Example Code
const { socials } = useSiteMetadata();
return (
<div>
{social.map(({ name, url }, index) => (
<SocialLink key={index.toString()} name={name} url={url} />
))}
</div>
);
<TabPane>
Gatsby Theme Aoi のためのタブの枠コンポーネント
Example
import Tabs from '@mui/material/Tabs';
import Tab from '@mui/material/Tab';
function Page() {
const [tab, setTab] = React.useState(0);
const handleTab = (event: React.SyntheticEvent, newValue: number) => {
setTab(newValue);
};
const handleTabIndex = (index: number) => () => {
setTab(index);
};
return (
<Layout
tabs={
<Tabs value={tab} onChange={handleTab}>
<Tab label="Tab1" />
<Tab label="Tab2" />
<Tab label="Tab3" />
</Tabs>
}
>
<TabPane index={0} currentTab={tab}>
{...children}
</TabPane>
<TabPane index={1} currentTab={tab}>
{...children}
</TabPane>
<TabPane index={2} currentTab={tab}>
{...children}
</TabPane>
</Layout>
);
}
Props
name | type | default |
---|---|---|
currentTab | number | Requried |
index | number | Requried |
children | React.ReactNode | Requried |
renderNeightbor? | boolean | false |
Gatsby Theme Aoi packages
@cieloazul310/gatsby-theme-aoi
@cieloazul310/gatsby-theme-aoi-components
@cieloazul310/gatsby-theme-aoi-layout
@cieloazul310/gatsby-theme-aoi-top-layout
@cieloazul310/gatsby-theme-aoi-utils
References
5 months ago
6 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
1 year ago
2 years ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago