@graphcommerce/next-ui 3.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +3 -0
- package/AnimatedRow/index.tsx +20 -0
- package/ApolloError/ApolloErrorAlert.tsx +59 -0
- package/ApolloError/ApolloErrorFullPage.tsx +25 -0
- package/AppShell/AppShellHeader/appShellHeaderContext.tsx +11 -0
- package/AppShell/AppShellHeader/index.tsx +433 -0
- package/AppShell/AppShellHeader/useAppShellHeaderContext.tsx +6 -0
- package/AppShell/AppShellProvider/index.tsx +18 -0
- package/AppShell/AppShellSticky/index.tsx +66 -0
- package/AppShell/AppShellTitle/index.tsx +45 -0
- package/AppShell/DesktopNavActions.tsx +28 -0
- package/AppShell/DesktopNavBar.tsx +110 -0
- package/AppShell/FixedFab.tsx +41 -0
- package/AppShell/ForwardButton.tsx +53 -0
- package/AppShell/FullPageShellBase.tsx +59 -0
- package/AppShell/Menu.tsx +7 -0
- package/AppShell/MenuFab.tsx +132 -0
- package/AppShell/MenuFabSecondaryItem.tsx +32 -0
- package/AppShell/MinimalPageShellBase.tsx +22 -0
- package/AppShell/PageShellHeader/index.tsx +14 -0
- package/AppShell/SheetShellBase/index.tsx +107 -0
- package/AppShell/SheetShellBase/useSheetStyles.ts +11 -0
- package/AppShell/SheetShellDragIndicator/index.tsx +48 -0
- package/AppShell/SheetShellHeader/index.tsx +28 -0
- package/AppShell/ShellBase.tsx +45 -0
- package/AppShell/useFabAnimation.tsx +19 -0
- package/AppShell/useFixedFabAnimation.tsx +18 -0
- package/AspectRatioContainer/index.tsx +27 -0
- package/Blog/BlogAuthor/index.tsx +60 -0
- package/Blog/BlogContent/index.tsx +24 -0
- package/Blog/BlogHeader/index.tsx +64 -0
- package/Blog/BlogList/index.tsx +27 -0
- package/Blog/BlogListItem/index.tsx +83 -0
- package/Blog/BlogTags/index.tsx +34 -0
- package/Blog/BlogTitle/index.tsx +29 -0
- package/Button/index.tsx +164 -0
- package/ButtonLink/index.tsx +45 -0
- package/CHANGELOG.md +1095 -0
- package/ChipMenu/index.tsx +130 -0
- package/ContainerWithHeader/index.tsx +49 -0
- package/Debug/DebugSpacer.tsx +51 -0
- package/FlagAvatar/index.tsx +28 -0
- package/Form/FormActions.tsx +15 -0
- package/Form/FormDivider.tsx +14 -0
- package/Form/FormHeader.tsx +27 -0
- package/Form/FormRow.tsx +14 -0
- package/Form/InputCheckmark.tsx +19 -0
- package/Form/index.tsx +62 -0
- package/FramerNextPagesSlider/Slide.tsx +71 -0
- package/FramerNextPagesSlider/Slider.tsx +39 -0
- package/FramerNextPagesSlider/index.ts +1 -0
- package/FramerNextPagesSlider/types.ts +3 -0
- package/FramerScroller/components/SidebarGallery.tsx +246 -0
- package/FramerScroller/components/SidebarSlider.tsx +103 -0
- package/FullPageMessage/index.tsx +68 -0
- package/Highlight/index.tsx +14 -0
- package/IconHeader/index.tsx +109 -0
- package/JsonLd/index.tsx +18 -0
- package/Page/App.tsx +15 -0
- package/Page/Document.tsx +23 -0
- package/Page/framerFeatures.ts +4 -0
- package/Page/types.ts +19 -0
- package/PageLoadIndicator/index.tsx +46 -0
- package/PageMeta/index.tsx +40 -0
- package/Pagination/index.tsx +123 -0
- package/RenderType/index.tsx +40 -0
- package/Row/ButtonLinkList/index.tsx +53 -0
- package/Row/ColumnOne/index.tsx +11 -0
- package/Row/ColumnOneBoxed/index.tsx +27 -0
- package/Row/ColumnOneCentered/index.tsx +22 -0
- package/Row/ColumnThree/index.tsx +66 -0
- package/Row/ColumnTwo/index.tsx +44 -0
- package/Row/ColumnTwoSpread/index.tsx +41 -0
- package/Row/ColumnTwoWithTop/index.tsx +53 -0
- package/Row/ContentLinks/index.tsx +48 -0
- package/Row/HeroBanner/index.tsx +102 -0
- package/Row/IconBlocks/IconBlock/index.tsx +56 -0
- package/Row/IconBlocks/index.tsx +57 -0
- package/Row/ParagraphWithSidebarSlide/index.tsx +114 -0
- package/Row/Quote/index.tsx +13 -0
- package/Row/RowImageText/index.tsx +67 -0
- package/Row/RowImageTextBoxed/index.tsx +75 -0
- package/Row/SpecialBanner/index.tsx +107 -0
- package/Row/index.tsx +13 -0
- package/SectionContainer/index.tsx +39 -0
- package/SectionHeader/index.tsx +69 -0
- package/Separator/index.tsx +33 -0
- package/Snackbar/ErrorSnackbar.tsx +9 -0
- package/Snackbar/MessageSnackbar.tsx +5 -0
- package/Snackbar/MessageSnackbarImpl.tsx +202 -0
- package/StarRatingField/index.tsx +58 -0
- package/Stepper/Stepper.tsx +45 -0
- package/StyledBadge/index.tsx +21 -0
- package/Styles/index.tsx +3 -0
- package/Styles/responsiveVal.tsx +20 -0
- package/SvgImage/SvgImageSimple.tsx +66 -0
- package/SvgImage/index.tsx +76 -0
- package/TextInputNumber/index.tsx +169 -0
- package/Theme/types.ts +63 -0
- package/TimeAgo/index.tsx +29 -0
- package/Title/index.tsx +71 -0
- package/ToggleButton/index.tsx +100 -0
- package/ToggleButtonGroup/index.tsx +112 -0
- package/UspList/UspListItem.tsx +46 -0
- package/UspList/index.tsx +32 -0
- package/icons/icon_addresses.svg +17 -0
- package/icons/icon_arrow_back.svg +1 -0
- package/icons/icon_arrow_forward.svg +1 -0
- package/icons/icon_box.svg +6 -0
- package/icons/icon_chat.svg +1 -0
- package/icons/icon_checkmark.svg +1 -0
- package/icons/icon_checkmark_green.svg +1 -0
- package/icons/icon_chevron_back.svg +8 -0
- package/icons/icon_chevron_down.svg +8 -0
- package/icons/icon_chevron_left.svg +8 -0
- package/icons/icon_chevron_right.svg +8 -0
- package/icons/icon_chevron_up.svg +8 -0
- package/icons/icon_close.svg +6 -0
- package/icons/icon_close_circle.svg +1 -0
- package/icons/icon_collapse_vertical.svg +11 -0
- package/icons/icon_customer_service.svg +6 -0
- package/icons/icon_email.svg +1 -0
- package/icons/icon_email_outline.svg +6 -0
- package/icons/icon_expand_vertical.svg +11 -0
- package/icons/icon_heart.svg +15 -0
- package/icons/icon_home.svg +6 -0
- package/icons/icon_id.svg +6 -0
- package/icons/icon_invoice_red.svg +7 -0
- package/icons/icon_location_red.svg +7 -0
- package/icons/icon_lock.svg +6 -0
- package/icons/icon_menu.svg +1 -0
- package/icons/icon_min.svg +1 -0
- package/icons/icon_newspaper.svg +6 -0
- package/icons/icon_party.svg +7 -0
- package/icons/icon_person.svg +6 -0
- package/icons/icon_person_alt.svg +6 -0
- package/icons/icon_person_alt_big.svg +15 -0
- package/icons/icon_phone.svg +1 -0
- package/icons/icon_plus.svg +1 -0
- package/icons/icon_sad_face.svg +11 -0
- package/icons/icon_sad_shoppingbag.svg +16 -0
- package/icons/icon_search.svg +1 -0
- package/icons/icon_shopping_bag.svg +7 -0
- package/icons/icon_shutdown.svg +6 -0
- package/icons/icon_star.svg +6 -0
- package/icons/icon_star_filled_muted.svg +6 -0
- package/icons/icon_star_yellow.svg +6 -0
- package/icons/index.tsx +42 -0
- package/index.ts +163 -0
- package/package.json +61 -0
- package/tsconfig.json +5 -0
- package/types.d.ts +13 -0
- package/useIntersectionObserver/index.tsx +31 -0
package/Theme/types.ts
ADDED
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export {}
|
|
2
|
+
|
|
3
|
+
declare module '@material-ui/core/styles/createPalette' {
|
|
4
|
+
// interface PaletteOptions {
|
|
5
|
+
// tertiary: PaletteColorOptions
|
|
6
|
+
// }
|
|
7
|
+
// interface Palette {
|
|
8
|
+
// tertiary: PaletteColor & ColorPartial
|
|
9
|
+
// }
|
|
10
|
+
|
|
11
|
+
interface SimplePaletteColorOptions {
|
|
12
|
+
mutedText: string
|
|
13
|
+
}
|
|
14
|
+
interface PaletteColor {
|
|
15
|
+
mutedText: string
|
|
16
|
+
}
|
|
17
|
+
interface TypeBackground {
|
|
18
|
+
highlight: string
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
declare module '@material-ui/core/styles/createTheme' {
|
|
23
|
+
interface Theme {
|
|
24
|
+
spacings: {
|
|
25
|
+
xxs: string
|
|
26
|
+
xs: string
|
|
27
|
+
sm: string
|
|
28
|
+
md: string
|
|
29
|
+
lg: string
|
|
30
|
+
xl: string
|
|
31
|
+
xxl: string
|
|
32
|
+
}
|
|
33
|
+
page: {
|
|
34
|
+
horizontal: string
|
|
35
|
+
vertical: string
|
|
36
|
+
headerInnerHeight: {
|
|
37
|
+
xs: string
|
|
38
|
+
sm: string
|
|
39
|
+
md: string
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
interface ThemeOptions {
|
|
44
|
+
spacings: {
|
|
45
|
+
xxs: string
|
|
46
|
+
xs: string
|
|
47
|
+
sm: string
|
|
48
|
+
md: string
|
|
49
|
+
lg: string
|
|
50
|
+
xl: string
|
|
51
|
+
xxl: string
|
|
52
|
+
}
|
|
53
|
+
page: {
|
|
54
|
+
horizontal: string | number
|
|
55
|
+
vertical: string | number
|
|
56
|
+
headerInnerHeight: {
|
|
57
|
+
xs: string
|
|
58
|
+
sm: string
|
|
59
|
+
md: string
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
export type TimeAgoProps = {
|
|
2
|
+
date: Date
|
|
3
|
+
locale?: string
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
export default function TimeAgo(props: TimeAgoProps) {
|
|
7
|
+
const { date, locale = 'en' } = props
|
|
8
|
+
const msPerMinute = 60 * 1000
|
|
9
|
+
const msPerHour = msPerMinute * 60
|
|
10
|
+
const msPerDay = msPerHour * 24
|
|
11
|
+
|
|
12
|
+
const timestamp = date.getTime()
|
|
13
|
+
const elapsed = Date.now() - timestamp
|
|
14
|
+
const rtf = new Intl.RelativeTimeFormat(locale, { numeric: 'auto' })
|
|
15
|
+
|
|
16
|
+
if (elapsed < msPerMinute) {
|
|
17
|
+
return <span>{rtf.format(-Math.floor(elapsed / 1000), 'seconds')}</span>
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
if (elapsed < msPerHour) {
|
|
21
|
+
return <span>{rtf.format(-Math.floor(elapsed / msPerMinute), 'minutes')}</span>
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
if (elapsed < msPerDay) {
|
|
25
|
+
return <span>{rtf.format(-Math.floor(elapsed / msPerHour), 'hours')}</span>
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return <span>{rtf.format(-Math.round(elapsed / msPerDay), 'days')}</span>
|
|
29
|
+
}
|
package/Title/index.tsx
ADDED
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { makeStyles, Theme, Typography, TypographyProps } from '@material-ui/core'
|
|
2
|
+
import clsx from 'clsx'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import { UseStyles } from '../Styles'
|
|
5
|
+
import SvgImage, { SvgImageProps } from '../SvgImage'
|
|
6
|
+
|
|
7
|
+
const useStyles = makeStyles(
|
|
8
|
+
(theme: Theme) => ({
|
|
9
|
+
container: {
|
|
10
|
+
display: 'flex',
|
|
11
|
+
alignItems: 'center',
|
|
12
|
+
justifyContent: 'center',
|
|
13
|
+
gap: 6,
|
|
14
|
+
flexFlow: 'unset',
|
|
15
|
+
[theme.breakpoints.up('md')]: {
|
|
16
|
+
flexFlow: 'column',
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
typography: {},
|
|
20
|
+
icon: {
|
|
21
|
+
[theme.breakpoints.down('sm')]: {
|
|
22
|
+
width: 48,
|
|
23
|
+
height: 48,
|
|
24
|
+
},
|
|
25
|
+
},
|
|
26
|
+
small: {
|
|
27
|
+
flexFlow: 'unset',
|
|
28
|
+
},
|
|
29
|
+
}),
|
|
30
|
+
{
|
|
31
|
+
name: 'Title',
|
|
32
|
+
},
|
|
33
|
+
)
|
|
34
|
+
|
|
35
|
+
export type TitleProps = {
|
|
36
|
+
children: React.ReactNode
|
|
37
|
+
icon?: SvgImageProps['src']
|
|
38
|
+
size?: 'small' | 'medium'
|
|
39
|
+
variant?: TypographyProps['variant']
|
|
40
|
+
component?: React.ElementType
|
|
41
|
+
} & UseStyles<typeof useStyles>
|
|
42
|
+
|
|
43
|
+
const Title = React.forwardRef<HTMLDivElement, TitleProps>((props, ref) => {
|
|
44
|
+
const { children, icon, size = 'medium', component, variant } = props
|
|
45
|
+
const classes = useStyles(props)
|
|
46
|
+
const small = size === 'small'
|
|
47
|
+
|
|
48
|
+
return (
|
|
49
|
+
<div className={clsx(classes.container, small && classes.small)}>
|
|
50
|
+
{icon && (
|
|
51
|
+
<SvgImage
|
|
52
|
+
src={icon}
|
|
53
|
+
size={small ? 30 : 56}
|
|
54
|
+
mobileSize={small ? 20 : 56}
|
|
55
|
+
loading='eager'
|
|
56
|
+
classes={{ root: small ? undefined : classes.icon }}
|
|
57
|
+
/>
|
|
58
|
+
)}
|
|
59
|
+
<Typography
|
|
60
|
+
ref={ref}
|
|
61
|
+
variant={variant || (small ? 'h6' : 'h3')}
|
|
62
|
+
component={component ?? 'h1'}
|
|
63
|
+
className={small ? undefined : classes.typography}
|
|
64
|
+
>
|
|
65
|
+
{children}
|
|
66
|
+
</Typography>
|
|
67
|
+
</div>
|
|
68
|
+
)
|
|
69
|
+
})
|
|
70
|
+
|
|
71
|
+
export default Title
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
// @inheritedComponent ButtonBase
|
|
2
|
+
|
|
3
|
+
import { capitalize, makeStyles, Theme } from '@material-ui/core'
|
|
4
|
+
import clsx from 'clsx'
|
|
5
|
+
import React, { FormEvent } from 'react'
|
|
6
|
+
import Button, { ButtonProps } from '../Button'
|
|
7
|
+
import { UseStyles } from '../Styles'
|
|
8
|
+
|
|
9
|
+
type StyleProps = { selected?: boolean; color?: ButtonProps['color'] }
|
|
10
|
+
|
|
11
|
+
export const useStyles = makeStyles(
|
|
12
|
+
(theme: Theme) => ({
|
|
13
|
+
/* Styles applied to the root element. */
|
|
14
|
+
root: {
|
|
15
|
+
border: '2px solid transparent',
|
|
16
|
+
backgroundColor: theme.palette.background.default,
|
|
17
|
+
borderRadius: 4,
|
|
18
|
+
// boxShadow: theme.shadows['1'],
|
|
19
|
+
boxShadow: `0px 0px 2px ${theme.palette.grey[400]}`,
|
|
20
|
+
'&$disabled': {
|
|
21
|
+
borderWidth: 2,
|
|
22
|
+
},
|
|
23
|
+
'&:hover': {},
|
|
24
|
+
'&$selected': {},
|
|
25
|
+
},
|
|
26
|
+
disabled: {},
|
|
27
|
+
selected: ({ color = 'default' }: StyleProps) => ({
|
|
28
|
+
border: `2px solid ${theme.palette[color]?.main ?? theme.palette.primary.main}`,
|
|
29
|
+
boxShadow: `unset`,
|
|
30
|
+
}),
|
|
31
|
+
/* Styles applied to the `label` wrapper element. */
|
|
32
|
+
label: {},
|
|
33
|
+
sizeSmall: {},
|
|
34
|
+
sizeLarge: {
|
|
35
|
+
padding: `${theme.spacings.xxs} ${theme.spacings.xs}`,
|
|
36
|
+
},
|
|
37
|
+
}),
|
|
38
|
+
{ name: 'ToggleButton' },
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
export type ToggleButtonProps = Omit<ButtonProps, 'onClick' | 'onChange'> & {
|
|
42
|
+
selected?: boolean
|
|
43
|
+
onClick?: (e: FormEvent<HTMLButtonElement>, v: any) => void
|
|
44
|
+
onChange?: (e: FormEvent<HTMLButtonElement>, v: any) => void
|
|
45
|
+
} & UseStyles<typeof useStyles>
|
|
46
|
+
|
|
47
|
+
const ToggleButton = React.forwardRef<any, ToggleButtonProps>((props, ref) => {
|
|
48
|
+
const { root, selected: selectedClass, sizeLarge, sizeSmall, ...classes } = useStyles(props)
|
|
49
|
+
const {
|
|
50
|
+
children,
|
|
51
|
+
className,
|
|
52
|
+
disabled = false,
|
|
53
|
+
onChange,
|
|
54
|
+
onClick,
|
|
55
|
+
selected,
|
|
56
|
+
size = 'medium',
|
|
57
|
+
value,
|
|
58
|
+
color,
|
|
59
|
+
...other
|
|
60
|
+
} = props
|
|
61
|
+
|
|
62
|
+
const handleChange = (event: FormEvent<HTMLButtonElement>) => onChange?.(event, value)
|
|
63
|
+
|
|
64
|
+
const handleClick = (event: FormEvent<HTMLButtonElement>) => {
|
|
65
|
+
if (onClick) {
|
|
66
|
+
onClick(event, value)
|
|
67
|
+
if (event.isDefaultPrevented()) return
|
|
68
|
+
}
|
|
69
|
+
handleChange(event)
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
return (
|
|
73
|
+
<Button
|
|
74
|
+
className={clsx(
|
|
75
|
+
root,
|
|
76
|
+
{
|
|
77
|
+
[classes.disabled]: disabled,
|
|
78
|
+
[selectedClass]: selected,
|
|
79
|
+
[sizeLarge]: size === 'large',
|
|
80
|
+
[sizeSmall]: size === 'small',
|
|
81
|
+
},
|
|
82
|
+
className,
|
|
83
|
+
)}
|
|
84
|
+
variant='outlined'
|
|
85
|
+
disabled={disabled}
|
|
86
|
+
ref={ref}
|
|
87
|
+
onClick={handleClick}
|
|
88
|
+
onChange={handleChange}
|
|
89
|
+
value={value}
|
|
90
|
+
aria-pressed={selected}
|
|
91
|
+
size={size}
|
|
92
|
+
{...other}
|
|
93
|
+
classes={classes}
|
|
94
|
+
>
|
|
95
|
+
{children}
|
|
96
|
+
</Button>
|
|
97
|
+
)
|
|
98
|
+
})
|
|
99
|
+
|
|
100
|
+
export default ToggleButton
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
import { makeStyles, Theme } from '@material-ui/core'
|
|
2
|
+
import { capitalize } from '@material-ui/core/utils'
|
|
3
|
+
import { ToggleButtonGroupProps } from '@material-ui/lab'
|
|
4
|
+
import clsx from 'clsx'
|
|
5
|
+
import React, { PropsWithoutRef } from 'react'
|
|
6
|
+
import { isFragment } from 'react-is'
|
|
7
|
+
import { UseStyles } from '../Styles'
|
|
8
|
+
|
|
9
|
+
function isValueSelected(value: string, candidate: string | string[]) {
|
|
10
|
+
if (candidate === undefined || value === undefined) return false
|
|
11
|
+
if (Array.isArray(candidate)) return candidate.indexOf(value) >= 0
|
|
12
|
+
return value === candidate
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
export type ToggleButtonPropsBase = Omit<PropsWithoutRef<ToggleButtonGroupProps>, 'size'> & {
|
|
16
|
+
required?: boolean
|
|
17
|
+
minWidth?: number
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
export const useStyles = makeStyles(
|
|
21
|
+
(theme: Theme) => ({
|
|
22
|
+
root: ({ minWidth = 200 }: ToggleButtonPropsBase) => ({
|
|
23
|
+
display: 'grid',
|
|
24
|
+
gridTemplateColumns: `repeat(auto-fit, minmax(${minWidth}px, 1fr))`,
|
|
25
|
+
gap: `calc(${theme.spacings.xxs} * 2)`,
|
|
26
|
+
}),
|
|
27
|
+
vertical: {
|
|
28
|
+
gridAutoFlow: 'column',
|
|
29
|
+
},
|
|
30
|
+
grouped: {},
|
|
31
|
+
groupedHorizontal: {},
|
|
32
|
+
groupedVertical: {},
|
|
33
|
+
}),
|
|
34
|
+
{ name: 'ToggleButtonGroup' },
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
export type ToggleButtonProps = ToggleButtonPropsBase & UseStyles<typeof useStyles>
|
|
38
|
+
|
|
39
|
+
const ToggleButtonGroup = React.forwardRef<HTMLDivElement, ToggleButtonProps>((props, ref) => {
|
|
40
|
+
const classes = useStyles(props)
|
|
41
|
+
const {
|
|
42
|
+
children,
|
|
43
|
+
className,
|
|
44
|
+
exclusive = false,
|
|
45
|
+
required = false,
|
|
46
|
+
onChange,
|
|
47
|
+
orientation = 'horizontal',
|
|
48
|
+
minWidth,
|
|
49
|
+
value,
|
|
50
|
+
...other
|
|
51
|
+
} = props
|
|
52
|
+
|
|
53
|
+
const handleChange = (event, buttonValue) => {
|
|
54
|
+
if (!onChange) return
|
|
55
|
+
|
|
56
|
+
const index = value && value.indexOf(buttonValue)
|
|
57
|
+
let newValue: string[]
|
|
58
|
+
|
|
59
|
+
if (value && index >= 0) {
|
|
60
|
+
newValue = value.slice()
|
|
61
|
+
newValue.splice(index, 1)
|
|
62
|
+
} else {
|
|
63
|
+
newValue = value ? [...value, buttonValue] : [buttonValue]
|
|
64
|
+
}
|
|
65
|
+
onChange(event, newValue)
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const handleExclusiveChange = (event, buttonValue) => {
|
|
69
|
+
if (!onChange || value === buttonValue) return
|
|
70
|
+
if (required) onChange(event, buttonValue)
|
|
71
|
+
else onChange(event, value === buttonValue ? null : buttonValue)
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
return (
|
|
75
|
+
<div
|
|
76
|
+
role='group'
|
|
77
|
+
className={clsx(classes.root, { [classes.vertical]: orientation === 'vertical' }, className)}
|
|
78
|
+
ref={ref}
|
|
79
|
+
{...other}
|
|
80
|
+
>
|
|
81
|
+
{React.Children.map(children, (child) => {
|
|
82
|
+
if (!React.isValidElement(child)) return null
|
|
83
|
+
|
|
84
|
+
if (process.env.NODE_ENV !== 'production') {
|
|
85
|
+
if (isFragment(child)) {
|
|
86
|
+
console.error(
|
|
87
|
+
[
|
|
88
|
+
"@graphcommerce/next-ui: The ToggleButtonGroup component doesn't accept a Fragment as a child.",
|
|
89
|
+
'Consider providing an array instead.',
|
|
90
|
+
].join('\n'),
|
|
91
|
+
)
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
return React.cloneElement(child, {
|
|
96
|
+
className: clsx(
|
|
97
|
+
classes.grouped,
|
|
98
|
+
classes[`grouped${capitalize(orientation)}`],
|
|
99
|
+
child.props.className,
|
|
100
|
+
),
|
|
101
|
+
onChange: exclusive ? handleExclusiveChange : handleChange,
|
|
102
|
+
selected:
|
|
103
|
+
child.props.selected === undefined
|
|
104
|
+
? isValueSelected(child.props.value, value)
|
|
105
|
+
: child.props.selected,
|
|
106
|
+
})
|
|
107
|
+
})}
|
|
108
|
+
</div>
|
|
109
|
+
)
|
|
110
|
+
})
|
|
111
|
+
|
|
112
|
+
export default ToggleButtonGroup
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { makeStyles, Theme } from '@material-ui/core'
|
|
2
|
+
import clsx from 'clsx'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import { UseStyles } from '../Styles'
|
|
5
|
+
|
|
6
|
+
const useStyles = makeStyles(
|
|
7
|
+
(theme: Theme) => ({
|
|
8
|
+
root: {
|
|
9
|
+
display: 'grid',
|
|
10
|
+
gridAutoFlow: 'column',
|
|
11
|
+
maxWidth: 'max-content',
|
|
12
|
+
alignItems: 'center',
|
|
13
|
+
gridTemplateColumns: '30px 1fr',
|
|
14
|
+
},
|
|
15
|
+
gap: {
|
|
16
|
+
gap: theme.spacings.xs,
|
|
17
|
+
},
|
|
18
|
+
smallText: {
|
|
19
|
+
'& > p': {
|
|
20
|
+
marginLeft: 5,
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
normalText: {
|
|
24
|
+
...theme.typography.body1,
|
|
25
|
+
},
|
|
26
|
+
}),
|
|
27
|
+
{ name: 'UspListItem' },
|
|
28
|
+
)
|
|
29
|
+
|
|
30
|
+
export type UspListItemProps = UseStyles<typeof useStyles> & {
|
|
31
|
+
text: React.ReactNode
|
|
32
|
+
icon?: React.ReactNode
|
|
33
|
+
size?: string
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
export default function UspListItem(props: UspListItemProps) {
|
|
37
|
+
const { text, icon, size = 'normal' } = props
|
|
38
|
+
const classes = useStyles()
|
|
39
|
+
|
|
40
|
+
return (
|
|
41
|
+
<li className={clsx(classes.root, size === 'normal' && classes.gap)}>
|
|
42
|
+
<div>{icon}</div>
|
|
43
|
+
<div className={classes?.[`${size}Text`]}>{text}</div>
|
|
44
|
+
</li>
|
|
45
|
+
)
|
|
46
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import { makeStyles, Theme } from '@material-ui/core'
|
|
2
|
+
import clsx from 'clsx'
|
|
3
|
+
import React from 'react'
|
|
4
|
+
import { UseStyles } from '../Styles'
|
|
5
|
+
|
|
6
|
+
const useStyles = makeStyles(
|
|
7
|
+
(theme: Theme) => ({
|
|
8
|
+
root: {
|
|
9
|
+
listStyleType: 'none',
|
|
10
|
+
padding: 0,
|
|
11
|
+
margin: 0,
|
|
12
|
+
display: 'grid',
|
|
13
|
+
alignContent: 'start',
|
|
14
|
+
},
|
|
15
|
+
gap: {
|
|
16
|
+
gap: theme.spacings.xs,
|
|
17
|
+
},
|
|
18
|
+
}),
|
|
19
|
+
{ name: 'UspList' },
|
|
20
|
+
)
|
|
21
|
+
|
|
22
|
+
export type UspListProps = UseStyles<typeof useStyles> & {
|
|
23
|
+
children: React.ReactNode
|
|
24
|
+
size?: string
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default function UspList(props: UspListProps) {
|
|
28
|
+
const { children, size } = props
|
|
29
|
+
const classes = useStyles()
|
|
30
|
+
|
|
31
|
+
return <ul className={clsx(classes.root, size !== 'small' && classes.gap)}>{children}</ul>
|
|
32
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<defs>
|
|
4
|
+
<filter id="filter-1">
|
|
5
|
+
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 0.000000 0 0 0 0 0.000000 0 0 0 0 0.000000 0 0 0 1.000000 0"></feColorMatrix>
|
|
6
|
+
</filter>
|
|
7
|
+
</defs>
|
|
8
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
|
|
9
|
+
<g filter="url(#filter-1)" id="home-2">
|
|
10
|
+
<g transform="translate(4.500000, 4.500000)">
|
|
11
|
+
<polyline id="Path" stroke="#000000" stroke-width="1.5" points="2.55555556 11.5 1.77635684e-15 11.5 11.5 0 23 11.5 20.4444444 11.5"></polyline>
|
|
12
|
+
<path d="M2.55555556,11.5 L2.55555556,20.4444444 C2.55555556,21.8558388 3.69971675,23 5.11111111,23 L17.8888889,23 C19.3002832,23 20.4444444,21.8558388 20.4444444,20.4444444 L20.4444444,11.5" id="Path" stroke="#000000" stroke-width="1.5"></path>
|
|
13
|
+
<rect id="Rectangle" stroke="#000000" stroke-width="1.5" x="8.94444444" y="11.5" width="5.11111111" height="5.11111111"></rect>
|
|
14
|
+
</g>
|
|
15
|
+
</g>
|
|
16
|
+
</g>
|
|
17
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20v-2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 4l-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"/></svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<path d="M6.28009357,10.906 L11.9990936,14.123 L24.9690936,6.828 L19.2500936,3.61 L6.28009357,10.906 Z M13.5290936,14.984 L19.2500936,18.202 L32.2190936,10.906 L26.4990936,7.688 L13.5290936,14.984 Z M5.50009357,26.781 L18.5000936,34.093 L18.5000936,19.501 L5.50009357,12.188 L5.50009357,26.781 Z M20.0000936,19.501 L20.0000936,34.093 L33.0000936,26.781 L33.0000936,12.188 L20.0000936,19.501 Z M19.2500936,36.125 L19.2480936,36.125 L19.2470936,36.125 L19.2450936,36.125 L19.2440936,36.125 L19.2430936,36.125 C19.1070936,36.124 18.9800936,36.087 18.8710936,36.022 L4.38309357,27.873 C4.14609357,27.74 4,27.49 4,27.219 L4,10.92 C3.99809357,10.79 4.02809357,10.659 4.09609357,10.538 C4.16809357,10.41 4.27209357,10.311 4.39209357,10.247 L18.8820936,2.096 C19.1100936,1.968 19.3890936,1.968 19.6180936,2.096 L26.8350936,6.156 C26.8570936,6.167 26.8800936,6.179 26.9010936,6.193 L34.1060936,10.246 C34.2270936,10.311 34.3320936,10.41 34.4030936,10.538 C34.4710936,10.659 34.5020936,10.79 34.5001844,10.92 L34.5001844,27.219 C34.5001844,27.49 34.3530936,27.74 34.1170936,27.873 L19.6290936,36.022 C19.5190936,36.087 19.3920936,36.124 19.2570936,36.125 L19.2560936,36.125 L19.2550936,36.125 L19.2530936,36.125 L19.2520936,36.125 L19.2500936,36.125 Z" id="Fill-4" fill="#000000"></path>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 2H4c-1.1 0-1.99.9-1.99 2L2 22l4-4h14c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 9h12v2H6V9zm8 5H6v-2h8v2zm4-6H6V6h12v2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#01D26A"><path d="M0 0h24v24H0z" fill="none"/><path d="M9 16.2L4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4L9 16.2z"/></svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<g id="chevron-right" transform="translate(3, 9)" stroke="#000000" stroke-width="1.6">
|
|
5
|
+
<polyline id="Path-2-Copy" points="7 0 0 7 7 14"></polyline>
|
|
6
|
+
</g>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<g transform="translate(16, 16) scale(-1, 1) translate(-16, -16) translate(13, 19) rotate(-90)" stroke="#000000" stroke-width="1.6">
|
|
5
|
+
<polyline points="7 0 0 7 7 14"></polyline>
|
|
6
|
+
</g>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<g id="chevron-right" transform="translate(11.000000, 9.000000)" stroke="#000000" stroke-width="1.6">
|
|
5
|
+
<polyline id="Path-2-Copy" points="7 0 0 7 7 14"></polyline>
|
|
6
|
+
</g>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<g id="chevron-right" transform="translate(16.500000, 16.000000) scale(-1, 1) translate(-16.500000, -16.000000) translate(13.000000, 9.000000)" stroke="#000000" stroke-width="1.6">
|
|
5
|
+
<polyline id="Path-2-Copy" points="7 0 0 7 7 14"></polyline>
|
|
6
|
+
</g>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<g transform="translate(16, 16) scale(-1, 1) translate(-3, -23) translate(13, 19) rotate(90)" stroke="#000000" stroke-width="1.6">
|
|
5
|
+
<polyline points="7 0 0 7 7 14"></polyline>
|
|
6
|
+
</g>
|
|
7
|
+
</g>
|
|
8
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="20px" height="20px" viewBox="0 0 20 20" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<path d="M4,4 L16,16 M4,16 L16,4" id="Combined-Shape" stroke="#000000" stroke-width="1.5"></path>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z"/></svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<g id="arrow-bar-right" transform="translate(16.000000, 16.000000) scale(-1, 1) translate(-16.000000, -16.000000) translate(8.000000, 8.000000)" stroke="#000000" stroke-width="1.5">
|
|
5
|
+
<line x1="16" y1="8" x2="6" y2="8" id="Path"></line>
|
|
6
|
+
<line x1="16" y1="8" x2="12" y2="12" id="Path"></line>
|
|
7
|
+
<line x1="16" y1="8" x2="12" y2="4" id="Path"></line>
|
|
8
|
+
<line x1="1" y1="0" x2="1" y2="16" id="Path"></line>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<path d="M20.868,15.6119 L20.868,15.6009 C20.868,15.1869 20.532,14.8559 20.118,14.8559 C19.704,14.8559 19.368,15.1979 19.368,15.6119 C19.368,16.0259 19.704,16.3619 20.118,16.3619 C20.532,16.3619 20.868,16.0259 20.868,15.6119 M12.026,15.6119 L12.026,15.6009 C12.026,15.1869 11.69,14.8559 11.276,14.8559 C10.862,14.8559 10.526,15.1979 10.526,15.6119 C10.526,16.0259 10.862,16.3619 11.276,16.3619 C11.69,16.3619 12.026,16.0259 12.026,15.6119 M16.447,15.6119 L16.447,15.6009 C16.447,15.1869 16.111,14.8559 15.697,14.8559 C15.283,14.8559 14.947,15.1979 14.947,15.6119 C14.947,16.0259 15.283,16.3619 15.697,16.3619 C16.111,16.3619 16.447,16.0259 16.447,15.6119 M10.945,22.5879 C11.057,22.5879 11.169,22.6129 11.272,22.6629 C15.326,24.6329 20.437,23.6269 23.157,20.3269 C25.825,17.0909 25.376,12.5509 22.113,9.7679 C18.783,6.9289 13.551,6.7179 9.941,9.2789 C6.401,11.7899 5.484,16.2749 7.807,19.7129 C7.938,19.9059 7.972,20.1479 7.898,20.3699 L6.876,23.4359 L10.788,22.6039 C10.84,22.5929 10.892,22.5879 10.945,22.5879 M5.75,25.1929 C5.539,25.1929 5.334,25.1039 5.191,24.9429 C5.012,24.7419 4.953,24.4619 5.038,24.2059 L6.361,20.2369 C3.829,16.1529 4.958,10.9739 9.073,8.0549 C13.226,5.1099 19.25,5.3559 23.087,8.6269 C26.989,11.9559 27.517,17.3959 24.315,21.2809 C21.22,25.0339 15.474,26.2329 10.854,24.1239 L5.906,25.1759 C5.854,25.1869 5.802,25.1929 5.75,25.1929" id="Fill-1" fill="#020203"></path>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="#000000"><path d="M0 0h24v24H0z" fill="none"/><path d="M20 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2zm0 4l-8 5-8-5V6l8 5 8-5v2z"/></svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<path d="M29.75,9 C30.715,9 31.5,9.785 31.5,10.75 L31.5,27.417 C31.5,28.382 30.715,29.167 29.75,29.167 L7.75,29.167 C6.785,29.167 6,28.382 6,27.417 L6,10.75 C6,9.785 6.785,9 7.75,9 L29.75,9 Z M30,13.817 L19.166,21.041 C19.04,21.125 18.896,21.167 18.75,21.167 C18.604,21.167 18.46,21.125 18.334,21.041 L7.5,13.817 L7.5,27.417 C7.5,27.555 7.612,27.667 7.75,27.667 L29.75,27.667 C29.888,27.667 30,27.555 30,27.417 L30,13.817 Z M29.75,10.5 L7.75,10.5 C7.612,10.5 7.5,10.612 7.5,10.75 L7.5,12.015 L18.75,19.516 L30,12.015 L30,10.75 C30,10.612 29.888,10.5 29.75,10.5 Z" id="Combined-Shape" fill="#000000"></path>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
|
|
4
|
+
<g id="arrow-bar-right" transform="translate(8.000000, 8.000000)" stroke="#000000" stroke-width="1.5">
|
|
5
|
+
<line x1="16" y1="8" x2="6" y2="8" id="Path"></line>
|
|
6
|
+
<line x1="16" y1="8" x2="12" y2="12" id="Path"></line>
|
|
7
|
+
<line x1="16" y1="8" x2="12" y2="4" id="Path"></line>
|
|
8
|
+
<line x1="1" y1="0" x2="1" y2="16" id="Path"></line>
|
|
9
|
+
</g>
|
|
10
|
+
</g>
|
|
11
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="32px" height="32px" viewBox="0 0 32 32" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<defs>
|
|
4
|
+
<filter id="filter-1">
|
|
5
|
+
<feColorMatrix in="SourceGraphic" type="matrix" values="0 0 0 0 0.000000 0 0 0 0 0.000000 0 0 0 0 0.000000 0 0 0 1.000000 0"></feColorMatrix>
|
|
6
|
+
</filter>
|
|
7
|
+
</defs>
|
|
8
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round">
|
|
9
|
+
<g filter="url(#filter-1)" id="heart">
|
|
10
|
+
<g transform="translate(6.000000, 7.000000)">
|
|
11
|
+
<path d="M1.55555556,10.1333333 C-0.561535985,7.85976111 -0.418515836,4.31534872 1.875,2.21666667 C4.16851584,0.117984617 7.74401957,0.259761113 9.86111111,2.53333333 C10.0565865,2.66280511 10.2748145,3.09327507 10.5,3.09186372 C10.7203289,3.0904828 10.9476292,2.66001284 11.1388889,2.53333333 C13.2559804,0.259761168 16.8314841,0.117984701 19.1249999,2.21666673 C21.4185158,4.31534876 21.5615359,7.85976111 19.4444444,10.1333333 L10.5,19 L1.55555556,10.1333333 Z" id="Path" stroke="#000000" stroke-width="1.7"></path>
|
|
12
|
+
</g>
|
|
13
|
+
</g>
|
|
14
|
+
</g>
|
|
15
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<path d="M15.944,25.10975 L21.555,25.10975 L21.555,19.49975 L15.944,19.49975 L15.944,25.10975 Z M22.306,26.60975 L15.194,26.60975 C14.78,26.60975 14.444,26.27375 14.444,25.85975 L14.444,18.74975 C14.444,18.33575 14.78,17.99975 15.194,17.99975 L22.306,17.99975 C22.72,17.99975 23.056,18.33575 23.056,18.74975 L23.056,25.85975 C23.056,26.27375 22.72,26.60975 22.306,26.60975 L22.306,26.60975 Z M7.056,18.74975 L7.056,31.19375 C7.056,32.74075 8.314,33.99975 9.861,33.99975 L27.639,33.99975 C29.186,33.99975 30.444,32.74075 30.444,31.19375 L30.444,18.74975 C30.444,18.33575 30.78,17.99975 31.194,17.99975 L32.939,17.99975 L18.75,3.81075 L4.561,17.99975 L6.306,17.99975 C6.72,17.99975 7.056,18.33575 7.056,18.74975 L7.056,18.74975 Z M27.639,35.49975 L9.861,35.49975 C7.487,35.49975 5.556,33.56775 5.556,31.19375 L5.556,19.49975 L2.75,19.49975 C2.446,19.49975 2.173,19.31675 2.057,19.03675 C1.941,18.75675 2.005,18.43475 2.22,18.21975 L18.22,2.21975 C18.513,1.92675 18.987,1.92675 19.28,2.21975 L35.28,18.21975 C35.495,18.43475 35.559,18.75675 35.443,19.03675 C35.327,19.31675 35.054,19.49975 34.75,19.49975 L31.944,19.49975 L31.944,31.19375 C31.944,33.56775 30.013,35.49975 27.639,35.49975 L27.639,35.49975 Z" id="Fill-1" fill="#000000"></path>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
|
2
|
+
<svg width="38px" height="38px" viewBox="0 0 38 38" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
3
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
4
|
+
<path d="M26.167,24.75 C26.167,24.336 25.831,24 25.417,24 L12.083,24 C11.669,24 11.333,24.336 11.333,24.75 C11.333,25.164 11.669,25.5 12.083,25.5 L25.417,25.5 C25.831,25.5 26.167,25.164 26.167,24.75 L26.167,24.75 Z M26.167,19.416 C26.167,19.002 25.831,18.666 25.417,18.666 L22.75,18.666 C22.336,18.666 22,19.002 22,19.416 C22,19.83 22.336,20.166 22.75,20.166 L25.417,20.166 C25.831,20.166 26.167,19.83 26.167,19.416 L26.167,19.416 Z M26.167,14.083 C26.167,13.669 25.831,13.333 25.417,13.333 L22.75,13.333 C22.336,13.333 22,13.669 22,14.083 C22,14.497 22.336,14.833 22.75,14.833 L25.417,14.833 C25.831,14.833 26.167,14.497 26.167,14.083 L26.167,14.083 Z M14.75,14.833 C13.693,14.833 12.833,15.693 12.833,16.75 C12.833,17.807 13.693,18.666 14.75,18.666 C15.807,18.666 16.667,17.807 16.667,16.75 C16.667,15.693 15.807,14.833 14.75,14.833 L14.75,14.833 Z M14.75,20.166 C12.866,20.166 11.333,18.634 11.333,16.75 C11.333,14.866 12.866,13.333 14.75,13.333 C16.634,13.333 18.167,14.866 18.167,16.75 C18.167,18.634 16.634,20.166 14.75,20.166 L14.75,20.166 Z M7.75,9.5 C7.612,9.5 7.5,9.612 7.5,9.75 L7.5,29.083 C7.5,29.221 7.612,29.333 7.75,29.333 L29.75,29.333 C29.888,29.333 30,29.221 30,29.083 L30,9.75 C30,9.612 29.888,9.5 29.75,9.5 L7.75,9.5 Z M29.75,30.833 L7.75,30.833 C6.785,30.833 6,30.048 6,29.083 L6,9.75 C6,8.785 6.785,8 7.75,8 L29.75,8 C30.715,8 31.5,8.785 31.5,9.75 L31.5,29.083 C31.5,30.048 30.715,30.833 29.75,30.833 L29.75,30.833 Z" id="Fill-1" fill="#000000"></path>
|
|
5
|
+
</g>
|
|
6
|
+
</svg>
|