@hellobetterdigitalnz/selwynui 0.0.1-58 → 0.0.1-59
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/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderTool.d.ts +3 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolMain/BrandBuilderToolMain.d.ts +3 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolMain/BrandBuilderToolMainProps.d.ts +5 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolProps.d.ts +7 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateItem.d.ts +3 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateItemProps.d.ts +8 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateSelector.d.ts +3 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateSelectorProps.d.ts +6 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolUploader/BrandBuilderToolUploader.d.ts +3 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolUploader/BrandBuilderToolUploaderProps.d.ts +6 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolWrapper/BrandBuilderToolWrapper.d.ts +3 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolWrapper/BrandBuilderToolWrapperProps.d.ts +6 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandbuilderToolPreview/BrandBuilderToolPreview.d.ts +3 -0
- package/dist/Components/DataDisplay/BrandBuilderTool/BrandbuilderToolPreview/BrandBuilderToolPreviewProps.d.ts +6 -0
- package/dist/Components/DataDisplay/ContactsBlock/ContactItemProps.d.ts +1 -0
- package/dist/Components/DataDisplay/ListingDetailBlock/ListingDetailBlock.d.ts +1 -1
- package/dist/Components/DataDisplay/ListingDetailBlock/ListingDetailBlockProps.d.ts +1 -1
- package/dist/Components/DataDisplay/Modal/Modal.d.ts +3 -0
- package/dist/Components/DataDisplay/Modal/ModalActions.d.ts +3 -0
- package/dist/Components/DataDisplay/Modal/ModalActionsLeft.d.ts +3 -0
- package/dist/Components/DataDisplay/Modal/ModalActionsLeftProps.d.ts +6 -0
- package/dist/Components/DataDisplay/Modal/ModalActionsProps.d.ts +6 -0
- package/dist/Components/DataDisplay/Modal/ModalActionsRight.d.ts +3 -0
- package/dist/Components/DataDisplay/Modal/ModalActionsRightProps.d.ts +6 -0
- package/dist/Components/DataDisplay/Modal/ModalBody.d.ts +3 -0
- package/dist/Components/DataDisplay/Modal/ModalBodyProps.d.ts +6 -0
- package/dist/Components/DataDisplay/Modal/ModalCurtain.d.ts +2 -0
- package/dist/Components/DataDisplay/Modal/ModalHeader.d.ts +3 -0
- package/dist/Components/DataDisplay/Modal/ModalHeaderProps.d.ts +9 -0
- package/dist/Components/DataDisplay/Modal/ModalProps.d.ts +7 -0
- package/dist/Components/DataDisplay/index.d.ts +28 -0
- package/dist/Components/SelwynUIProvider/SelwynUIContext.d.ts +9 -0
- package/dist/Components/SelwynUIProvider/SelwynUIProvider.d.ts +6 -0
- package/dist/Components/SelwynUIProvider/index.d.ts +2 -0
- package/dist/Components/index.d.ts +1 -0
- package/dist/index.cjs.js +250 -15
- package/dist/index.cjs.js.map +1 -1
- package/dist/index.es.js +41326 -5453
- package/dist/index.es.js.map +1 -1
- package/dist/selwynui.css +1 -1
- package/package.json +1 -1
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderTool.stories.tsx +53 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderTool.tsx +23 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolMain/BrandBuilderToolMain.tsx +13 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolMain/BrandBuilderToolMainProps.tsx +7 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolProps.tsx +9 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateItem.tsx +17 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateItemProps.tsx +10 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateSelector.tsx +26 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolTemplate/BrandBuilderToolTemplateSelectorProps.tsx +8 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolUploader/BrandBuilderToolUploader.tsx +30 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolUploader/BrandBuilderToolUploaderProps.tsx +8 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolWrapper/BrandBuilderToolWrapper.tsx +17 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolWrapper/BrandBuilderToolWrapperProps.tsx +8 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandbuilderToolPreview/BrandBuilderToolPreview.tsx +25 -0
- package/src/Components/DataDisplay/BrandBuilderTool/BrandbuilderToolPreview/BrandBuilderToolPreviewProps.tsx +8 -0
- package/src/Components/DataDisplay/BrandBuilderTool/brandBuilder.module.scss +193 -0
- package/src/Components/DataDisplay/ContactsBlock/ContactItem.tsx +36 -27
- package/src/Components/DataDisplay/ContactsBlock/ContactItemProps.tsx +6 -5
- package/src/Components/DataDisplay/ContactsBlock/ContactsBlock.stories.tsx +13 -1
- package/src/Components/DataDisplay/ContactsBlock/contactsBlock.module.scss +151 -127
- package/src/Components/DataDisplay/ContentBlock/ContentBlock.stories.tsx +1 -1
- package/src/Components/DataDisplay/ImageContent/ImageContent.stories.tsx +1 -1
- package/src/Components/DataDisplay/KPIBlock/KPIBlock.stories.tsx +1 -1
- package/src/Components/DataDisplay/ListBlock/ListBlock.stories.tsx +1 -1
- package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlock.stories.tsx +2 -2
- package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlock.tsx +7 -7
- package/src/Components/DataDisplay/ListingDetailBlock/ListingDetailBlockProps.tsx +1 -1
- package/src/Components/DataDisplay/Media/Media.stories.tsx +1 -1
- package/src/Components/DataDisplay/Media/Media.tsx +0 -2
- package/src/Components/DataDisplay/Modal/Modal.stories.tsx +89 -0
- package/src/Components/DataDisplay/Modal/Modal.tsx +16 -0
- package/src/Components/DataDisplay/Modal/ModalActions.tsx +14 -0
- package/src/Components/DataDisplay/Modal/ModalActionsLeft.tsx +13 -0
- package/src/Components/DataDisplay/Modal/ModalActionsLeftProps.tsx +8 -0
- package/src/Components/DataDisplay/Modal/ModalActionsProps.tsx +8 -0
- package/src/Components/DataDisplay/Modal/ModalActionsRight.tsx +14 -0
- package/src/Components/DataDisplay/Modal/ModalActionsRightProps.tsx +8 -0
- package/src/Components/DataDisplay/Modal/ModalBody.tsx +14 -0
- package/src/Components/DataDisplay/Modal/ModalBodyProps.tsx +8 -0
- package/src/Components/DataDisplay/Modal/ModalCurtain.tsx +6 -0
- package/src/Components/DataDisplay/Modal/ModalHeader.tsx +55 -0
- package/src/Components/DataDisplay/Modal/ModalHeaderProps.tsx +10 -0
- package/src/Components/DataDisplay/Modal/ModalProps.tsx +9 -0
- package/src/Components/DataDisplay/Modal/modal.module.scss +178 -0
- package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.stories.tsx +1 -1
- package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.stories.tsx +1 -1
- package/src/Components/DataDisplay/TestimonyCard/TestimonyCard.tsx +6 -5
- package/src/Components/DataDisplay/TestimonyCard/testimonyCard.module.scss +22 -5
- package/src/Components/DataDisplay/index.ts +36 -1
- package/src/Components/SelwynUIProvider/SelwynUIContext.tsx +16 -0
- package/src/Components/SelwynUIProvider/SelwynUIProvider.tsx +46 -0
- package/src/Components/SelwynUIProvider/index.ts +2 -0
- package/src/Components/index.ts +1 -0
- package/src/Components/DataDisplay/ListingDetailBlock/listingDetailBlock.module.scss~ +0 -248
- package/src/Components/DataDisplay/PathwayBlock/PathwayBlock.stories.tsx~ +0 -80
package/package.json
CHANGED
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
// @ts-ignore
|
|
2
|
+
import React from "react"
|
|
3
|
+
import { Meta, StoryObj } from "@storybook/react-vite";
|
|
4
|
+
import ElementHolder from "../../Shared/ElementHolder/ElementHolder";
|
|
5
|
+
import BrandBuilderTool from "./BrandBuilderTool";
|
|
6
|
+
import BrandBuilderToolWrapper from "./BrandBuilderToolWrapper/BrandBuilderToolWrapper";
|
|
7
|
+
import BrandBuilderToolUploader from "./BrandBuilderToolUploader/BrandBuilderToolUploader";
|
|
8
|
+
import BrandBuilderToolMain from "./BrandBuilderToolMain/BrandBuilderToolMain";
|
|
9
|
+
import BrandBuilderToolTemplateSelector from "./BrandBuilderToolTemplate/BrandBuilderToolTemplateSelector";
|
|
10
|
+
import BrandBuilderToolPreview from "./BrandbuilderToolPreview/BrandBuilderToolPreview";
|
|
11
|
+
import BrandBuilderToolTemplateItem from "./BrandBuilderToolTemplate/BrandBuilderToolTemplateItem";
|
|
12
|
+
|
|
13
|
+
const meta: Meta = {
|
|
14
|
+
title: "DataDisplay / BrandBuilderTool",
|
|
15
|
+
component: BrandBuilderTool,
|
|
16
|
+
parameters: {
|
|
17
|
+
layout: 'fullscreen',
|
|
18
|
+
},
|
|
19
|
+
tags: ["autodocs"]
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
export default meta;
|
|
23
|
+
|
|
24
|
+
type Story = StoryObj<typeof meta>;
|
|
25
|
+
|
|
26
|
+
const BrandBuilderToolTemplate: Story = {
|
|
27
|
+
render: () => {
|
|
28
|
+
return (
|
|
29
|
+
<>
|
|
30
|
+
<ElementHolder paddingTop="sm" paddingBottom="sm" pdBillar="live" level="light">
|
|
31
|
+
<BrandBuilderTool title={'Build your brand'} description={'Lorem ipsum dolor sit amet'}>
|
|
32
|
+
<BrandBuilderToolWrapper sideBar={<BrandBuilderToolUploader/>}>
|
|
33
|
+
<BrandBuilderToolMain>
|
|
34
|
+
<BrandBuilderToolTemplateSelector>
|
|
35
|
+
<BrandBuilderToolTemplateItem/>
|
|
36
|
+
<BrandBuilderToolTemplateItem/>
|
|
37
|
+
<BrandBuilderToolTemplateItem/>
|
|
38
|
+
<BrandBuilderToolTemplateItem/>
|
|
39
|
+
<BrandBuilderToolTemplateItem/>
|
|
40
|
+
</BrandBuilderToolTemplateSelector>
|
|
41
|
+
<BrandBuilderToolPreview/>
|
|
42
|
+
</BrandBuilderToolMain>
|
|
43
|
+
</BrandBuilderToolWrapper>
|
|
44
|
+
</BrandBuilderTool>
|
|
45
|
+
</ElementHolder>
|
|
46
|
+
</>
|
|
47
|
+
)
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const BrandBuilderToolComponent = {
|
|
52
|
+
...BrandBuilderToolTemplate
|
|
53
|
+
};
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import styles from './brandBuilder.module.scss'
|
|
2
|
+
import BrandBuilderToolProps from "./BrandBuilderToolProps.tsx";
|
|
3
|
+
import {Container} from "../../Shared";
|
|
4
|
+
|
|
5
|
+
const BrandBuilderTool = (props : BrandBuilderToolProps) => {
|
|
6
|
+
|
|
7
|
+
const {title, description, children} = props
|
|
8
|
+
|
|
9
|
+
return <div className={styles.brandBuilder}>
|
|
10
|
+
<Container border={true}>
|
|
11
|
+
<div className={styles.header}>
|
|
12
|
+
{title && <h1>{title}</h1>}
|
|
13
|
+
{description && <p>{description}</p>}
|
|
14
|
+
</div>
|
|
15
|
+
|
|
16
|
+
<div className={styles.brandBuilderHolder}>
|
|
17
|
+
{children}
|
|
18
|
+
</div>
|
|
19
|
+
</Container>
|
|
20
|
+
</div>
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
export default BrandBuilderTool
|
package/src/Components/DataDisplay/BrandBuilderTool/BrandBuilderToolMain/BrandBuilderToolMain.tsx
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import styles from '../brandBuilder.module.scss'
|
|
2
|
+
import BrandBuilderToolMainProps from "./BrandBuilderToolMainProps.tsx";
|
|
3
|
+
|
|
4
|
+
const BrandBuilderToolMain = (props : BrandBuilderToolMainProps) =>{
|
|
5
|
+
|
|
6
|
+
const {children} = props
|
|
7
|
+
|
|
8
|
+
return <div className={styles.main}>
|
|
9
|
+
{children}
|
|
10
|
+
</div>
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
export default BrandBuilderToolMain
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import styles from '../brandBuilder.module.scss'
|
|
2
|
+
import BrandBuilderToolTemplateItemProps from "./BrandBuilderToolTemplateItemProps.tsx";
|
|
3
|
+
const BrandBuilderToolTemplateItem = ({icon, iconName, active} : BrandBuilderToolTemplateItemProps) =>{
|
|
4
|
+
return <div className={styles.item}>
|
|
5
|
+
<div className={`${styles.itemWrapper} ${active && styles.active}`} aria-description={iconName}>
|
|
6
|
+
{icon}
|
|
7
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="120" height="120" viewBox="0 0 120 120" fill="none">
|
|
8
|
+
<path d="M0 58.01C32.1003 58.01 58.1332 32.0323 58.1332 0H0V58.01Z" fill="#F36C21"/>
|
|
9
|
+
<path d="M0 61.24C32.1003 61.24 58.1332 87.2177 58.1332 119.25H0V61.24Z" fill="#F36C21"/>
|
|
10
|
+
<path d="M119.794 58.01C87.6937 58.01 61.6608 32.0323 61.6608 0H119.794V58.01Z" fill="#F36C21"/>
|
|
11
|
+
<path d="M119.794 61.24C87.6937 61.24 61.6608 87.2177 61.6608 119.25H119.794V61.24Z" fill="#F36C21"/>
|
|
12
|
+
</svg>
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default BrandBuilderToolTemplateItem;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import styles from '../brandBuilder.module.scss'
|
|
2
|
+
import BrandBuilderToolTemplateSelectorProps from "./BrandBuilderToolTemplateSelectorProps.tsx";
|
|
3
|
+
const BrandBuilderToolTemplateSelector = (props : BrandBuilderToolTemplateSelectorProps) =>{
|
|
4
|
+
|
|
5
|
+
const {actions, children} = props
|
|
6
|
+
|
|
7
|
+
return <div className={styles.templateSelector}>
|
|
8
|
+
<div className={styles.selectors}>
|
|
9
|
+
<div className={`${styles.title} ${styles.selectorTitle}`}>
|
|
10
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50" fill="none">
|
|
11
|
+
<rect width="50" height="50" rx="25" fill="currentColor"/>
|
|
12
|
+
<path d="M34.7346 19.892C34.7346 24.464 31.4946 26.624 26.9586 28.928C23.7186 30.584 22.0986 31.772 21.9546 33.176H34.7706V38H15.0426V35.804C15.0426 30.404 19.4706 27.38 23.2866 25.148C26.9586 23.024 28.8666 21.944 28.8666 19.784C28.8666 17.84 27.6786 16.58 25.3386 16.58C22.8906 16.58 21.4506 18.452 21.3066 20.792H15.2946C15.6906 15.788 19.2186 11.864 25.3746 11.864C30.9546 11.864 34.7346 15.14 34.7346 19.892Z" fill="#EFEAE7"/>
|
|
13
|
+
</svg>
|
|
14
|
+
<h5>Select a template</h5>
|
|
15
|
+
</div>
|
|
16
|
+
<div>
|
|
17
|
+
{actions}
|
|
18
|
+
</div>
|
|
19
|
+
</div>
|
|
20
|
+
<div className={styles.items}>
|
|
21
|
+
{children}
|
|
22
|
+
</div>
|
|
23
|
+
</div>
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export default BrandBuilderToolTemplateSelector
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import styles from '../brandBuilder.module.scss'
|
|
2
|
+
import BrandBuilderToolUploaderProps from "./BrandBuilderToolUploaderProps.tsx";
|
|
3
|
+
const BrandBuilderToolUploader = (props : BrandBuilderToolUploaderProps) =>{
|
|
4
|
+
|
|
5
|
+
const {action, children } = props
|
|
6
|
+
|
|
7
|
+
return <div className={styles.brandBuilderToolUploader}>
|
|
8
|
+
<div className={styles.title}>
|
|
9
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50" fill="none">
|
|
10
|
+
<rect width="50" height="50" rx="25" fill="currentColor"/>
|
|
11
|
+
<path d="M18.2427 20.18V16.076C22.6347 16.076 24.5067 14.924 25.1187 12.26H29.5827V38H23.3547V20.18H18.2427Z" fill="#EFEAE7"/>
|
|
12
|
+
</svg>
|
|
13
|
+
<h5>Upload your photos</h5>
|
|
14
|
+
</div>
|
|
15
|
+
<div className={styles.uploaderBtn}>
|
|
16
|
+
{action}
|
|
17
|
+
</div>
|
|
18
|
+
<div className={styles.uploaderDesc}>
|
|
19
|
+
<p>You can select one image or four.</p>
|
|
20
|
+
<p>
|
|
21
|
+
If you choose four, each image will be placed into its own segment of the selected shape, and the shape will automatically mask them.
|
|
22
|
+
</p>
|
|
23
|
+
</div>
|
|
24
|
+
<>
|
|
25
|
+
{children}
|
|
26
|
+
</>
|
|
27
|
+
</div>
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export default BrandBuilderToolUploader
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import BrandBuilderToolWrapperProps from "./BrandBuilderToolWrapperProps.tsx";
|
|
2
|
+
import styles from '../brandBuilder.module.scss'
|
|
3
|
+
const BrandBuilderToolWrapper = (props : BrandBuilderToolWrapperProps) => {
|
|
4
|
+
|
|
5
|
+
const { sideBar , children} = props
|
|
6
|
+
|
|
7
|
+
return <div className={styles.brandBuilderToolWrapper}>
|
|
8
|
+
<div className={styles.sideBar}>
|
|
9
|
+
{sideBar}
|
|
10
|
+
</div>
|
|
11
|
+
<div className={styles.main}>
|
|
12
|
+
{children}
|
|
13
|
+
</div>
|
|
14
|
+
</div>
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export default BrandBuilderToolWrapper
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import styles from "../brandBuilder.module.scss";
|
|
2
|
+
import BrandBuilderToolPreviewProps from "./BrandBuilderToolPreviewProps.tsx";
|
|
3
|
+
|
|
4
|
+
const BrandBuilderToolPreview = (props : BrandBuilderToolPreviewProps) =>{
|
|
5
|
+
|
|
6
|
+
const {children , action } = props
|
|
7
|
+
|
|
8
|
+
return <div className={styles.preview}>
|
|
9
|
+
<div className={styles.title}>
|
|
10
|
+
<svg xmlns="http://www.w3.org/2000/svg" width="50" height="50" viewBox="0 0 50 50" fill="none">
|
|
11
|
+
<rect width="50" height="50" rx="25" fill="currentColor"/>
|
|
12
|
+
<path d="M35.0637 30.98C35.0637 34.976 31.4997 38.432 25.0557 38.432C18.8997 38.432 14.9757 35.048 14.5437 30.188H20.4837C20.6637 32.456 22.6077 33.824 25.0557 33.824C27.7557 33.824 29.3037 32.528 29.3037 30.476C29.3037 28.244 27.5757 27.344 25.0917 27.344H22.5357V22.952H25.0197C27.2157 22.952 28.7997 21.944 28.7997 19.748C28.7997 17.84 27.4677 16.508 25.1997 16.508C22.7517 16.508 21.2397 18.056 21.0957 20.18H15.3717C15.6957 15.716 19.1157 11.864 25.2717 11.864C31.3557 11.864 34.4877 15.392 34.4877 19.46C34.4877 22.412 32.6157 24.572 29.8797 25.076C33.0837 25.616 35.0637 27.884 35.0637 30.98Z" fill="#EFEAE7"/>
|
|
13
|
+
</svg>
|
|
14
|
+
<h5>Image preview</h5>
|
|
15
|
+
</div>
|
|
16
|
+
<div className={styles.previewImage}>
|
|
17
|
+
{children}
|
|
18
|
+
</div>
|
|
19
|
+
<div className={styles.previewAction}>
|
|
20
|
+
{action}
|
|
21
|
+
</div>
|
|
22
|
+
</div>
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export default BrandBuilderToolPreview;
|
|
@@ -0,0 +1,193 @@
|
|
|
1
|
+
.brandBuilder{
|
|
2
|
+
.header{
|
|
3
|
+
padding-bottom: 48px;
|
|
4
|
+
|
|
5
|
+
h1{
|
|
6
|
+
font-size: var(--font-size-h3);
|
|
7
|
+
font-weight: 700;
|
|
8
|
+
line-height: 1;
|
|
9
|
+
letter-spacing: -3.6px;
|
|
10
|
+
margin-bottom: 32px;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
p{
|
|
14
|
+
font-size: var(--font-size-h5);
|
|
15
|
+
font-weight: 400;
|
|
16
|
+
line-height: 1.2;
|
|
17
|
+
letter-spacing: -1.44px;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.brandBuilderToolWrapper{
|
|
23
|
+
border-radius: 27.583px;
|
|
24
|
+
background: rgba(255, 255, 255, 0.50);
|
|
25
|
+
padding: 20px;
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
.title{
|
|
29
|
+
display: flex;
|
|
30
|
+
align-items: center;
|
|
31
|
+
margin-bottom: 48px;
|
|
32
|
+
|
|
33
|
+
svg{
|
|
34
|
+
flex-shrink: 0;
|
|
35
|
+
height: 32px;
|
|
36
|
+
width: 32px;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
h5{
|
|
40
|
+
font-size: var(--font-size-h5);
|
|
41
|
+
margin-left: 16px;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
.selectorTitle{
|
|
46
|
+
margin-bottom: 0;
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
.selectors{
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
justify-content: space-between;
|
|
53
|
+
margin-bottom: 48px;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
.templateSelector{
|
|
57
|
+
margin-bottom: 24px;
|
|
58
|
+
|
|
59
|
+
.items{
|
|
60
|
+
display: flex;
|
|
61
|
+
flex-wrap: wrap;
|
|
62
|
+
margin: -8px;
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.item{
|
|
66
|
+
padding: 8px;
|
|
67
|
+
width: 50%;
|
|
68
|
+
|
|
69
|
+
.itemWrapper{
|
|
70
|
+
display: flex;
|
|
71
|
+
padding: 16px;
|
|
72
|
+
align-items: center;
|
|
73
|
+
justify-content: center;
|
|
74
|
+
transition: all 0.3s ease-in-out;
|
|
75
|
+
border: 2px solid transparent;
|
|
76
|
+
|
|
77
|
+
&:hover, &.active{
|
|
78
|
+
background: #FFFFFF;
|
|
79
|
+
border: 2px solid var(--color-block-text);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@media screen and (min-width: 1300px) {
|
|
84
|
+
width: 33.33%;
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
@media screen and (min-width: 1300px) {
|
|
88
|
+
width: 20%;
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
|
|
96
|
+
.uploaderBtn{
|
|
97
|
+
margin-bottom: 48px;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.uploaderDesc{
|
|
101
|
+
margin-bottom: 48px;
|
|
102
|
+
|
|
103
|
+
p{
|
|
104
|
+
font-size: 18px;
|
|
105
|
+
font-style: normal;
|
|
106
|
+
font-weight: 400;
|
|
107
|
+
line-height: 140%;
|
|
108
|
+
margin-bottom: 16px;
|
|
109
|
+
|
|
110
|
+
&:last-child{
|
|
111
|
+
margin-bottom: 0;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
}
|
|
117
|
+
|
|
118
|
+
.brandBuilderToolUploader{
|
|
119
|
+
border-bottom: 1px solid var(--color-block-text);
|
|
120
|
+
margin-bottom: 24px;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
.brandBuilderToolWrapper{
|
|
124
|
+
display: flex;
|
|
125
|
+
flex-direction: column;
|
|
126
|
+
|
|
127
|
+
.sideBar{
|
|
128
|
+
width: 100%;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
.main{
|
|
132
|
+
flex: 1;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
.previewAction{
|
|
138
|
+
padding-top: 48px;
|
|
139
|
+
|
|
140
|
+
button{
|
|
141
|
+
width: 100%;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.previewImage{
|
|
147
|
+
border-radius: 8px;
|
|
148
|
+
background: #FFF;
|
|
149
|
+
padding: 48px 12px;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@media screen and (min-width: 992px){
|
|
153
|
+
|
|
154
|
+
.header{
|
|
155
|
+
padding-bottom: 96px;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
.title{
|
|
159
|
+
|
|
160
|
+
svg{
|
|
161
|
+
flex-shrink: 0;
|
|
162
|
+
height: 50px;
|
|
163
|
+
width: 50px;
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
h5{
|
|
167
|
+
text-wrap: nowrap;
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
.brandBuilderToolWrapper{
|
|
172
|
+
padding: 56px;
|
|
173
|
+
flex-direction: row;
|
|
174
|
+
|
|
175
|
+
.sideBar{
|
|
176
|
+
width: 450px;
|
|
177
|
+
padding-right: 32px;
|
|
178
|
+
margin-right: 32px;
|
|
179
|
+
border-right: 1px solid var(--color-block-text);
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
.main{
|
|
183
|
+
flex: 1;
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
}
|
|
187
|
+
.brandBuilderToolUploader{
|
|
188
|
+
border-bottom: none;
|
|
189
|
+
}
|
|
190
|
+
|
|
191
|
+
}
|
|
192
|
+
|
|
193
|
+
}
|
|
@@ -3,36 +3,45 @@ import ContactItemProps from "./ContactItemProps";
|
|
|
3
3
|
import styles from "./contactsBlock.module.scss";
|
|
4
4
|
|
|
5
5
|
const ContactItem = (props: ContactItemProps) => {
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
6
|
+
const {
|
|
7
|
+
image,
|
|
8
|
+
name,
|
|
9
|
+
position,
|
|
10
|
+
email,
|
|
11
|
+
mobile,
|
|
12
|
+
linkedInUrl,
|
|
13
|
+
} = props;
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
15
|
+
return (
|
|
16
|
+
<div className={styles.contactCard}>
|
|
17
|
+
<div className={styles.contactCardWrapper}>
|
|
18
|
+
<div className={styles.cardImg}>
|
|
19
|
+
{image && <img src={image} alt={`${name}-image`} />}
|
|
20
|
+
</div>
|
|
17
21
|
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
<div className={styles.contactContentWrapper}>
|
|
23
|
+
<div className={styles.contactCardHeader}>
|
|
24
|
+
{name && <h1>{name}</h1>}
|
|
25
|
+
{position && <h2>{position}</h2>}
|
|
26
|
+
</div>
|
|
23
27
|
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
+
<div className={styles.contactMiddleContent}>
|
|
29
|
+
{email && <a href={`mailto:${email}`}>{email}</a>}
|
|
30
|
+
{mobile && <a href={`tel:${mobile}`}>{mobile}</a>}
|
|
31
|
+
</div>
|
|
28
32
|
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
</
|
|
33
|
-
|
|
33
|
+
<div className={styles.contactLink}>
|
|
34
|
+
{linkedInUrl && (
|
|
35
|
+
<a href={linkedInUrl} target="_blank" rel="noopener noreferrer">
|
|
36
|
+
<p>Connect on LinkedIn</p>
|
|
37
|
+
<ArrowRight type={"regular"} />
|
|
38
|
+
</a>
|
|
39
|
+
)}
|
|
40
|
+
</div>
|
|
34
41
|
</div>
|
|
35
|
-
|
|
36
|
-
|
|
42
|
+
</div>
|
|
43
|
+
</div>
|
|
44
|
+
);
|
|
45
|
+
};
|
|
37
46
|
|
|
38
|
-
export default ContactItem;
|
|
47
|
+
export default ContactItem;
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
interface ContactItemProps {
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
2
|
+
image?: string;
|
|
3
|
+
name?: string;
|
|
4
|
+
position?: string;
|
|
5
|
+
email?: string;
|
|
6
|
+
mobile?: string;
|
|
7
|
+
linkedInUrl?: string;
|
|
7
8
|
}
|
|
8
9
|
|
|
9
10
|
export default ContactItemProps;
|
|
@@ -19,7 +19,7 @@ type Story = StoryObj<typeof meta>;
|
|
|
19
19
|
const ContactsBlockTemplate: Story = {
|
|
20
20
|
render: () => {
|
|
21
21
|
return (
|
|
22
|
-
<ElementHolder paddingTop="md" paddingBottom="md" pillar="
|
|
22
|
+
<ElementHolder paddingTop="md" paddingBottom="md" pillar="visit" level="light">
|
|
23
23
|
<ContactBlock contactBlockTitle={'Meet the team'}>
|
|
24
24
|
<ContactItem
|
|
25
25
|
image={'./img/contact-image.svg'}
|
|
@@ -27,6 +27,7 @@ const ContactsBlockTemplate: Story = {
|
|
|
27
27
|
position={'Marketing Manager'}
|
|
28
28
|
email={'sarahb@selwyn.nz'}
|
|
29
29
|
mobile={'03 345 3456'}
|
|
30
|
+
linkedInUrl={'/'}
|
|
30
31
|
/>
|
|
31
32
|
|
|
32
33
|
<ContactItem
|
|
@@ -35,7 +36,18 @@ const ContactsBlockTemplate: Story = {
|
|
|
35
36
|
position={'Marketing Manager'}
|
|
36
37
|
email={'sarahb@selwyn.nz'}
|
|
37
38
|
mobile={'03 345 3456'}
|
|
39
|
+
linkedInUrl={'/'}
|
|
38
40
|
/>
|
|
41
|
+
|
|
42
|
+
<ContactItem
|
|
43
|
+
image={'./img/contact-image.svg'}
|
|
44
|
+
name={'Sarah Browne'}
|
|
45
|
+
position={'Marketing Manager'}
|
|
46
|
+
email={'sarahb@selwyn.nz'}
|
|
47
|
+
mobile={'03 345 3456'}
|
|
48
|
+
linkedInUrl={'/'}
|
|
49
|
+
/>
|
|
50
|
+
|
|
39
51
|
</ContactBlock>
|
|
40
52
|
</ElementHolder>
|
|
41
53
|
)
|