@cieloazul310/gatsby-theme-aoi-components
v3.4.0
Published
MUI based components for @cieloazul310/gatsby-theme-aoi
Downloads
20
Maintainers
Readme
@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