@asantemedia-org/edwardsvacuum-design-system 1.0.0
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/README.md +142 -0
- package/dist/app/api/hello/route.d.ts +1 -0
- package/dist/app/layout.d.ts +9 -0
- package/dist/app/page.d.ts +2 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.esm.js +2 -0
- package/dist/index.esm.js.map +1 -0
- package/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/stories/atoms/forms/checkbox/checkbox.d.ts +11 -0
- package/dist/stories/atoms/forms/checkbox/checkbox.stories.d.ts +7 -0
- package/dist/stories/atoms/forms/input/input.d.ts +31 -0
- package/dist/stories/atoms/forms/input/input.stories.d.ts +7 -0
- package/dist/stories/atoms/forms/select/select.d.ts +16 -0
- package/dist/stories/atoms/forms/select/select.stories.d.ts +7 -0
- package/dist/stories/atoms/forms/text/counrty-selector.d.ts +10 -0
- package/dist/stories/atoms/forms/text/text.d.ts +21 -0
- package/dist/stories/atoms/forms/text/text.stories.d.ts +7 -0
- package/dist/stories/components/Banner/Banner.d.ts +17 -0
- package/dist/stories/components/Banner/Banner.stories.d.ts +12 -0
- package/dist/stories/components/Banner/banner.dialog.d.ts +2 -0
- package/dist/stories/components/Banner/banner.html.d.ts +1 -0
- package/dist/stories/components/Button/Button.d.ts +21 -0
- package/dist/stories/components/Button/Button.stories.d.ts +10 -0
- package/dist/stories/components/Card/card.d.ts +6 -0
- package/dist/stories/components/Card/card.stories.d.ts +15 -0
- package/dist/stories/components/Card/card.types.d.ts +22 -0
- package/dist/stories/components/Expert-banner/expert.banner.d.ts +12 -0
- package/dist/stories/components/Expert-banner/expert.banner.stories.d.ts +6 -0
- package/dist/stories/components/Pagination/pagination.d.ts +20 -0
- package/dist/stories/components/Pagination/pagination.stories.d.ts +8 -0
- package/dist/stories/components/Popup/Popup.d.ts +17 -0
- package/dist/stories/components/Popup/Popup.stories.d.ts +9 -0
- package/dist/stories/components/Popup/icons/ChevronDown.d.ts +3 -0
- package/dist/stories/components/Popup/icons/Close.d.ts +3 -0
- package/dist/stories/components/Popup/popup.dialog.d.ts +2 -0
- package/dist/stories/components/Popup/popup.html.d.ts +1 -0
- package/dist/stories/components/Video/Video.d.ts +42 -0
- package/dist/stories/components/Video/Video.stories.d.ts +8 -0
- package/dist/stories/experiences/Accordion/accordion.d.ts +3 -0
- package/dist/stories/experiences/Accordion/accordion.item.d.ts +9 -0
- package/dist/stories/experiences/Accordion/accordion.stories.d.ts +14 -0
- package/dist/stories/experiences/Accordion/accordion.types.d.ts +22 -0
- package/dist/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search.d.ts +31 -0
- package/dist/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search.stories.d.ts +11 -0
- package/dist/stories/experiences/Anchor/anchor.d.ts +9 -0
- package/dist/stories/experiences/Anchor/anchor.stories.d.ts +6 -0
- package/dist/stories/experiences/Brand-promise-paragraph/Brand.promise.paragraph.d.ts +12 -0
- package/dist/stories/experiences/Brand-promise-paragraph/Brand.promise.paragraph.stories.d.ts +6 -0
- package/dist/stories/experiences/Breadcrumb/breadcrumb.d.ts +14 -0
- package/dist/stories/experiences/Breadcrumb/breadcrumb.stories.d.ts +8 -0
- package/dist/stories/experiences/Careers-search/careers-search-results-item.d.ts +10 -0
- package/dist/stories/experiences/Careers-search/careers-search-results.d.ts +10 -0
- package/dist/stories/experiences/Careers-search/careers-search.d.ts +17 -0
- package/dist/stories/experiences/Careers-search/careers-search.stories.d.ts +6 -0
- package/dist/stories/experiences/Carousel/dynamic/carousel.dynamic.d.ts +16 -0
- package/dist/stories/experiences/Carousel/dynamic/carousel.dynamic.stories.d.ts +7 -0
- package/dist/stories/experiences/Carousel/static/carousel.d.ts +12 -0
- package/dist/stories/experiences/Carousel/static/carousel.stories.d.ts +6 -0
- package/dist/stories/experiences/Download/download-item.d.ts +13 -0
- package/dist/stories/experiences/Download/download-library.d.ts +10 -0
- package/dist/stories/experiences/Download/download.stories.d.ts +9 -0
- package/dist/stories/experiences/Dynamic-list/dynamic.list.d.ts +11 -0
- package/dist/stories/experiences/Dynamic-list/dynamic.list.stories.d.ts +6 -0
- package/dist/stories/experiences/Faq/faq.d.ts +10 -0
- package/dist/stories/experiences/Faq/faq.stories.d.ts +6 -0
- package/dist/stories/experiences/Footer/footer-links/footer.links.d.ts +8 -0
- package/dist/stories/experiences/Footer/footer-socials/footer.socials.d.ts +8 -0
- package/dist/stories/experiences/Footer/footer-subfooter/footer.subfooter.d.ts +1 -0
- package/dist/stories/experiences/Footer/footer.d.ts +7 -0
- package/dist/stories/experiences/Footer/footer.model.d.ts +6 -0
- package/dist/stories/experiences/Footer/footer.stories.d.ts +6 -0
- package/dist/stories/experiences/Header/header-brand/header.brand.d.ts +10 -0
- package/dist/stories/experiences/Header/header-button/header.button.d.ts +17 -0
- package/dist/stories/experiences/Header/header-lang/header.language.switcher.d.ts +9 -0
- package/dist/stories/experiences/Header/header-megamenu/header.megamenu.d.ts +9 -0
- package/dist/stories/experiences/Header/header-nav/header.nav.d.ts +8 -0
- package/dist/stories/experiences/Header/header-search/header.search.d.ts +9 -0
- package/dist/stories/experiences/Header/header.content.d.ts +2 -0
- package/dist/stories/experiences/Header/header.d.ts +7 -0
- package/dist/stories/experiences/Header/header.stories.d.ts +6 -0
- package/dist/stories/experiences/Header/scripts.d.ts +2 -0
- package/dist/stories/experiences/Header/toggle.d.ts +7 -0
- package/dist/stories/experiences/Header-twentytwentyfour/button.d.ts +13 -0
- package/dist/stories/experiences/Header-twentytwentyfour/header.d.ts +7 -0
- package/dist/stories/experiences/Header-twentytwentyfour/header.stories.d.ts +8 -0
- package/dist/stories/experiences/Header-twentytwentyfour/list.d.ts +8 -0
- package/dist/stories/experiences/Interactive-cards/InteractiveCards.d.ts +24 -0
- package/dist/stories/experiences/Interactive-cards/InteractiveCards.stories.d.ts +8 -0
- package/dist/stories/experiences/Interactive-cards/icons/ArrowRight.d.ts +3 -0
- package/dist/stories/experiences/Interactive-cards/icons/ChevronDown.d.ts +3 -0
- package/dist/stories/experiences/Interactive-cards/icons/Close.d.ts +3 -0
- package/dist/stories/experiences/Interactive-container/InteractiveContainer.d.ts +23 -0
- package/dist/stories/experiences/Interactive-container/InteractiveContainer.stories.d.ts +10 -0
- package/dist/stories/experiences/Interactive-group/InteractiveGroup.d.ts +11 -0
- package/dist/stories/experiences/Interactive-group/InteractiveGroup.stories.d.ts +8 -0
- package/dist/stories/experiences/Interactive-map/Map.d.ts +7 -0
- package/dist/stories/experiences/Interactive-map/Map.stories.d.ts +6 -0
- package/dist/stories/experiences/Menu/menu.d.ts +10 -0
- package/dist/stories/experiences/Menu/menu.model.d.ts +68 -0
- package/dist/stories/experiences/Menu/menu.stories.d.ts +6 -0
- package/dist/stories/experiences/Numbers/card.d.ts +12 -0
- package/dist/stories/experiences/Numbers/numbers.d.ts +13 -0
- package/dist/stories/experiences/Numbers/numbers.stories.d.ts +8 -0
- package/dist/stories/experiences/Quote/quote.d.ts +11 -0
- package/dist/stories/experiences/Quote/quote.stories.d.ts +7 -0
- package/dist/stories/experiences/Tabs/tabs.d.ts +15 -0
- package/dist/stories/experiences/Tabs/tabs.stories.d.ts +10 -0
- package/dist/stories/experiences/Video-playlist/Video.playlist.d.ts +11 -0
- package/dist/stories/experiences/Video-playlist/Video.playlist.stories.d.ts +6 -0
- package/dist/stories/experiences/Video-playlist/video.playlist.dialog.d.ts +2 -0
- package/dist/stories/experiences/Video-playlist/video.playlist.html.d.ts +1 -0
- package/dist/stories/experiences/market-picker-prompt/Market.picker.prompt.d.ts +9 -0
- package/dist/stories/experiences/market-picker-prompt/Market.picker.prompt.stories.d.ts +6 -0
- package/dist/stories/structure/page/page.dialog.d.ts +2 -0
- package/dist/stories/structure/page/page.html.d.ts +1 -0
- package/dist/stories/templates/content.d.ts +3 -0
- package/dist/stories/templates/content.stories.d.ts +10 -0
- package/dist/stories/templates/product.d.ts +3 -0
- package/dist/stories/templates/product.stories.d.ts +10 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/utils/components/anchor.links.d.ts +3 -0
- package/dist/utils/components/anchor.links.script.d.ts +1 -0
- package/dist/utils/components/swatch.d.ts +10 -0
- package/dist/utils/components/type.d.ts +11 -0
- package/dist/utils/content/content.demo.d.ts +5 -0
- package/dist/utils/content/content.model.d.ts +4 -0
- package/dist/utils/fontawesome/fac-edwardsicons.d.ts +2 -0
- package/package.json +101 -0
package/README.md
ADDED
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
# EdwardsVacuum Design System
|
|
2
|
+
|
|
3
|
+
## Overview
|
|
4
|
+
|
|
5
|
+
The **EdwardsVacuum Design System** is a comprehensive design system built to streamline the development of consistent and reusable UI components for the EdwardsVacuum project. This project is built using Next.js, Storybook, and various supporting libraries and tools.
|
|
6
|
+
|
|
7
|
+
## Project Structure
|
|
8
|
+
|
|
9
|
+
The project is organized with the following key scripts and dependencies:
|
|
10
|
+
|
|
11
|
+
- **Next.js** for server-side rendering and building the design system.
|
|
12
|
+
- **Storybook** for developing and showcasing UI components in isolation.
|
|
13
|
+
- **FontAwesome** for incorporating scalable vector icons and social logos.
|
|
14
|
+
- **TailwindCSS** for utility-first CSS framework.
|
|
15
|
+
|
|
16
|
+
## Prerequisites
|
|
17
|
+
|
|
18
|
+
Before running this project, ensure you have the following:
|
|
19
|
+
|
|
20
|
+
1. **Node.js** installed.
|
|
21
|
+
2. **Yarn** or **npm** as your package manager.
|
|
22
|
+
|
|
23
|
+
## Installation
|
|
24
|
+
|
|
25
|
+
To get started, clone the repository and install the required dependencies:
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
git clone <repository_url>
|
|
29
|
+
cd edwardsvacuum-design-system
|
|
30
|
+
yarn install
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
## Environment Setup
|
|
34
|
+
|
|
35
|
+
This project requires an environment variable for FontAwesome to function correctly. The `FONTAWESOME_PACKAGE_TOKEN` is required for accessing FontAwesome Pro icons.
|
|
36
|
+
|
|
37
|
+
### Setting Up the Token
|
|
38
|
+
|
|
39
|
+
You can obtain the `FONTAWESOME_PACKAGE_TOKEN` by contacting [bernard@asantemedia.co.uk](mailto:bernard@asantemedia.co.uk).
|
|
40
|
+
|
|
41
|
+
Once you have the token, set it in your environment:
|
|
42
|
+
|
|
43
|
+
1. **Locally**:
|
|
44
|
+
Add it to your terminal session:
|
|
45
|
+
```bash
|
|
46
|
+
export FONTAWESOME_PACKAGE_TOKEN=your_token_here
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
Replace `your_token_here` with the actual token.
|
|
50
|
+
|
|
51
|
+
## Scripts
|
|
52
|
+
|
|
53
|
+
The following scripts are available in the project:
|
|
54
|
+
|
|
55
|
+
- **Development**:
|
|
56
|
+
```bash
|
|
57
|
+
yarn dev
|
|
58
|
+
```
|
|
59
|
+
Starts the Next.js development server.
|
|
60
|
+
|
|
61
|
+
- **Build**:
|
|
62
|
+
```bash
|
|
63
|
+
yarn build
|
|
64
|
+
```
|
|
65
|
+
Builds the project for production.
|
|
66
|
+
|
|
67
|
+
- **Start**:
|
|
68
|
+
```bash
|
|
69
|
+
yarn start
|
|
70
|
+
```
|
|
71
|
+
Starts the Next.js production server.
|
|
72
|
+
|
|
73
|
+
- **Lint**:
|
|
74
|
+
```bash
|
|
75
|
+
yarn lint
|
|
76
|
+
```
|
|
77
|
+
Runs ESLint to analyze the code for potential errors.
|
|
78
|
+
|
|
79
|
+
- **Storybook**:
|
|
80
|
+
```bash
|
|
81
|
+
yarn storybook
|
|
82
|
+
```
|
|
83
|
+
Starts the Storybook development server.
|
|
84
|
+
|
|
85
|
+
- **Build Storybook**:
|
|
86
|
+
```bash
|
|
87
|
+
yarn build-storybook
|
|
88
|
+
```
|
|
89
|
+
Builds the Storybook static files.
|
|
90
|
+
|
|
91
|
+
- **AEM Integration**:
|
|
92
|
+
- **Build AEM Dialogs**:
|
|
93
|
+
```bash
|
|
94
|
+
yarn build-aem-dialogs
|
|
95
|
+
```
|
|
96
|
+
Generates AEM component dialogs.
|
|
97
|
+
|
|
98
|
+
- **Copy Static AEM Files**:
|
|
99
|
+
```bash
|
|
100
|
+
yarn copy-static-aem-files
|
|
101
|
+
```
|
|
102
|
+
Copies the necessary static files for AEM integration.
|
|
103
|
+
|
|
104
|
+
- **Clean AEM**:
|
|
105
|
+
```bash
|
|
106
|
+
yarn aem-clean
|
|
107
|
+
```
|
|
108
|
+
Cleans the target location for AEM deployment.
|
|
109
|
+
|
|
110
|
+
- **Install AEM**:
|
|
111
|
+
```bash
|
|
112
|
+
yarn aem-install
|
|
113
|
+
```
|
|
114
|
+
Builds and copies AEM dialogs and static files.
|
|
115
|
+
|
|
116
|
+
- **Clean & Install AEM**:
|
|
117
|
+
```bash
|
|
118
|
+
yarn aem-clean-install
|
|
119
|
+
```
|
|
120
|
+
Cleans and installs AEM files in one command.
|
|
121
|
+
|
|
122
|
+
- **Chromatic**:
|
|
123
|
+
```bash
|
|
124
|
+
yarn chromatic
|
|
125
|
+
```
|
|
126
|
+
Publishes Storybook to Chromatic for visual regression testing.
|
|
127
|
+
|
|
128
|
+
## CI/CD Implementation
|
|
129
|
+
|
|
130
|
+
The project is set up with a CI/CD pipeline that triggers deployments only on merges to the `development` branch. This ensures that changes are properly reviewed and tested before being deployed to production.
|
|
131
|
+
|
|
132
|
+
## License
|
|
133
|
+
|
|
134
|
+
This project is currently **UNLICENSED** and is intended for internal use only. Redistribution or use outside the intended context is prohibited.
|
|
135
|
+
|
|
136
|
+
## Contribution
|
|
137
|
+
|
|
138
|
+
Please follow the project's contribution guidelines when contributing to this repository. Ensure all changes are made in feature branches and are merged into the `development` branch via pull requests.
|
|
139
|
+
|
|
140
|
+
## Contact
|
|
141
|
+
|
|
142
|
+
For any issues or inquiries related to this project, please contact [bernard@asantemedia.co.uk](mailto:bernard@asantemedia.co.uk).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function GET(request: Request): Promise<Response>;
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { default as AlgoliaDynamicSearch } from "@stories/experiences/Algolia-dynamic-search";
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './checkbox.scss';
|
|
3
|
+
interface CheckboxProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
onChange?: any;
|
|
7
|
+
containerClassName?: string;
|
|
8
|
+
custom?: boolean;
|
|
9
|
+
}
|
|
10
|
+
export declare const Checkbox: ({ label, name, onChange, containerClassName, custom }: CheckboxProps) => JSX.Element;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import { Meta } from "@storybook/react";
|
|
3
|
+
import { Checkbox } from "./checkbox";
|
|
4
|
+
declare const meta: Meta<typeof Checkbox>;
|
|
5
|
+
export default meta;
|
|
6
|
+
export declare const Default: () => JSX.Element;
|
|
7
|
+
export declare const Custom: () => JSX.Element;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './input.scss';
|
|
3
|
+
interface InputProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
placeholder?: string;
|
|
6
|
+
type?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
id?: string;
|
|
9
|
+
value?: string;
|
|
10
|
+
onClick?: any;
|
|
11
|
+
onChange?: any;
|
|
12
|
+
onFocus?: any;
|
|
13
|
+
className?: string;
|
|
14
|
+
icon?: any;
|
|
15
|
+
containerClassName?: string;
|
|
16
|
+
required?: boolean;
|
|
17
|
+
disabled?: boolean;
|
|
18
|
+
error?: boolean;
|
|
19
|
+
errorMessage?: string;
|
|
20
|
+
pattern?: string;
|
|
21
|
+
autoComplete?: string;
|
|
22
|
+
autoFocus?: boolean;
|
|
23
|
+
readOnly?: boolean;
|
|
24
|
+
size?: number;
|
|
25
|
+
step?: number;
|
|
26
|
+
tabIndex?: number;
|
|
27
|
+
iconOnClick?: any;
|
|
28
|
+
showButton?: boolean;
|
|
29
|
+
}
|
|
30
|
+
export declare const Input: ({ label, placeholder, type, name, id, className, containerClassName, onClick, onFocus, onChange, icon, iconOnClick, showButton, value }: InputProps) => JSX.Element;
|
|
31
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { Meta } from "@storybook/react";
|
|
3
|
+
import { Input } from "./input";
|
|
4
|
+
declare const meta: Meta<typeof Input>;
|
|
5
|
+
export default meta;
|
|
6
|
+
export declare const Search: (props: any) => JSX.Element;
|
|
7
|
+
export declare const SearchWithButton: () => JSX.Element;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './select.scss';
|
|
3
|
+
interface SelectProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
id?: string;
|
|
7
|
+
options?: any;
|
|
8
|
+
className?: string;
|
|
9
|
+
containerClassName?: string;
|
|
10
|
+
custom?: boolean;
|
|
11
|
+
icon?: any;
|
|
12
|
+
iconPosition?: string;
|
|
13
|
+
style?: any;
|
|
14
|
+
}
|
|
15
|
+
export declare const Select: ({ label, name, id, className, containerClassName, options, custom, icon, iconPosition, style }: SelectProps) => JSX.Element;
|
|
16
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from '@storybook/react';
|
|
2
|
+
import { Select } from './select';
|
|
3
|
+
declare const meta: Meta<typeof Select>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Select>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Styled: Story;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
/**
|
|
3
|
+
* A component to select a country from a list of countries
|
|
4
|
+
*/
|
|
5
|
+
import './counrty-selector.scss';
|
|
6
|
+
interface CountrySelectorProps {
|
|
7
|
+
countries?: Array<any>;
|
|
8
|
+
}
|
|
9
|
+
export declare const CountrySelector: ({ countries }: CountrySelectorProps) => JSX.Element;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './text.scss';
|
|
3
|
+
interface TextProps {
|
|
4
|
+
label?: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
id?: string;
|
|
7
|
+
placeholder?: string;
|
|
8
|
+
className?: string;
|
|
9
|
+
containerClassName?: string;
|
|
10
|
+
onChange?: any;
|
|
11
|
+
value?: string;
|
|
12
|
+
error?: boolean;
|
|
13
|
+
allowDropdown?: boolean;
|
|
14
|
+
style?: any;
|
|
15
|
+
}
|
|
16
|
+
export declare const Text: ({ label, name, id, placeholder, className, containerClassName, onChange, value, error, allowDropdown, style }: TextProps) => JSX.Element;
|
|
17
|
+
export {};
|
|
18
|
+
/**
|
|
19
|
+
* To do:
|
|
20
|
+
* 1. Refactor code to make more generic and reusable for other input types
|
|
21
|
+
*/
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './banner.scss';
|
|
3
|
+
interface BannerProps {
|
|
4
|
+
style?: string;
|
|
5
|
+
content?: any;
|
|
6
|
+
buttonStyle?: string;
|
|
7
|
+
buttonText?: string;
|
|
8
|
+
image?: any;
|
|
9
|
+
video?: any;
|
|
10
|
+
colour?: string;
|
|
11
|
+
contentColour?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Primary UI component for user interaction
|
|
15
|
+
*/
|
|
16
|
+
export declare const Banner: ({ image, content, style, video, colour, contentColour, buttonStyle, buttonText }: BannerProps) => JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Banner } from "./Banner";
|
|
3
|
+
declare const meta: Meta<typeof Banner>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Banner>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Video: Story;
|
|
8
|
+
export declare const AlignLeft: Story;
|
|
9
|
+
export declare const AlignRight: Story;
|
|
10
|
+
export declare const OverlayLeft: Story;
|
|
11
|
+
export declare const OverlayCentre: Story;
|
|
12
|
+
export declare const OverlayRight: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const templateBanner: string;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './button.scss';
|
|
3
|
+
interface ButtonProps {
|
|
4
|
+
/**
|
|
5
|
+
* Is this the principal call to action on the page?
|
|
6
|
+
*/
|
|
7
|
+
style?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Button contents
|
|
10
|
+
*/
|
|
11
|
+
label: string;
|
|
12
|
+
/**
|
|
13
|
+
* Optional click handler
|
|
14
|
+
*/
|
|
15
|
+
onClick?: () => void;
|
|
16
|
+
}
|
|
17
|
+
/**
|
|
18
|
+
* Primary UI component for user interaction
|
|
19
|
+
*/
|
|
20
|
+
export declare const Button: ({ style, label, ...props }: ButtonProps) => JSX.Element;
|
|
21
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Button } from "./Button";
|
|
3
|
+
declare const meta: Meta<typeof Button>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Button>;
|
|
6
|
+
export declare const Primary: Story;
|
|
7
|
+
export declare const Secondary: Story;
|
|
8
|
+
export declare const Tertiary: Story;
|
|
9
|
+
export declare const outlineWhite: Story;
|
|
10
|
+
export declare const outlineGrey: Story;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './card.scss';
|
|
3
|
+
import { CardProps } from './card.types';
|
|
4
|
+
export declare const Card: ({ contentCategoryLabel, className, colour, date, size, title, cta, imageUrl, imageAlt, cardStyle, cardLink, city, country, onClick }: CardProps) => JSX.Element;
|
|
5
|
+
export declare const ProductCard: ({ className, size, title, imageUrl, imageAlt, productPrice, showProductPrice, cardLink, cardStyle, cta, onClick }: CardProps) => JSX.Element;
|
|
6
|
+
export declare const VideoCard: ({ className, title, imageUrl, imageAlt, cardStyle, duration, videoSrc, videoTitle, videoThumbnail }: CardProps) => JSX.Element;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Card } from "./card";
|
|
3
|
+
declare const meta: Meta<typeof Card>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Card>;
|
|
6
|
+
export declare const WithNoImage: Story;
|
|
7
|
+
export declare const WithNoLabel: Story;
|
|
8
|
+
export declare const WithLabel: Story;
|
|
9
|
+
export declare const WithOverlay: Story;
|
|
10
|
+
export declare const WithPanel: Story;
|
|
11
|
+
export declare const WithProduct: Story;
|
|
12
|
+
export declare const WithVideoWhite: Story;
|
|
13
|
+
export declare const WithVideoGray: Story;
|
|
14
|
+
export declare const WithVideoHover: Story;
|
|
15
|
+
export declare const WithVideoActive: Story;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface CardProps {
|
|
2
|
+
className?: string;
|
|
3
|
+
contentCategoryLabel?: string;
|
|
4
|
+
title?: string;
|
|
5
|
+
colour?: any;
|
|
6
|
+
date?: string;
|
|
7
|
+
size?: string;
|
|
8
|
+
cta?: string;
|
|
9
|
+
imageUrl?: string;
|
|
10
|
+
imageAlt?: string;
|
|
11
|
+
cardStyle?: string;
|
|
12
|
+
productPrice?: string;
|
|
13
|
+
showProductPrice?: boolean;
|
|
14
|
+
cardLink?: string;
|
|
15
|
+
duration?: string;
|
|
16
|
+
videoThumbnail?: string;
|
|
17
|
+
videoSrc?: string;
|
|
18
|
+
videoTitle?: string;
|
|
19
|
+
city?: string;
|
|
20
|
+
country?: string;
|
|
21
|
+
onClick?: () => void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './expert.banner.scss';
|
|
3
|
+
interface ExpertBannerProps {
|
|
4
|
+
name?: string;
|
|
5
|
+
role?: string;
|
|
6
|
+
region?: string;
|
|
7
|
+
phone?: string;
|
|
8
|
+
email?: string;
|
|
9
|
+
image?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare const ExpertBanner: ({ name, role, region, phone, email, image }: ExpertBannerProps) => JSX.Element;
|
|
12
|
+
export {};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './pagination.scss';
|
|
3
|
+
export interface PaginationProps {
|
|
4
|
+
className?: string;
|
|
5
|
+
onClick?: any;
|
|
6
|
+
onPageChange?: any;
|
|
7
|
+
currentPage?: number;
|
|
8
|
+
totalPages?: any;
|
|
9
|
+
totalItems?: number;
|
|
10
|
+
limitPerPage?: number;
|
|
11
|
+
totalItemsCount?: number;
|
|
12
|
+
pageList?: any;
|
|
13
|
+
style?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare const Pagination: ({ className, onClick, currentPage, totalPages, onPageChange, totalItemsCount, style }: PaginationProps) => JSX.Element;
|
|
16
|
+
/**
|
|
17
|
+
*
|
|
18
|
+
* TODO:
|
|
19
|
+
* 1. hide prev and next button when there is no more pages
|
|
20
|
+
*/
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Pagination } from "./pagination";
|
|
3
|
+
declare const meta: Meta<typeof Pagination>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Pagination>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Outline: Story;
|
|
8
|
+
export declare const Filled: Story;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './popup.scss';
|
|
3
|
+
interface PopupProps {
|
|
4
|
+
style?: string;
|
|
5
|
+
content?: any;
|
|
6
|
+
buttonStyle?: string;
|
|
7
|
+
buttonText?: string;
|
|
8
|
+
image?: any;
|
|
9
|
+
contentColour?: string;
|
|
10
|
+
mobileVersion?: string;
|
|
11
|
+
desktopPosition?: string;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Primary UI component for user interaction
|
|
15
|
+
*/
|
|
16
|
+
export declare const Popup: ({ content, contentColour, buttonStyle, buttonText, image, mobileVersion, desktopPosition }: PopupProps) => JSX.Element;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Popup } from "./Popup";
|
|
3
|
+
declare const meta: Meta<typeof Popup>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Popup>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const Dark: Story;
|
|
8
|
+
export declare const DefaultWithImage: Story;
|
|
9
|
+
export declare const DarkWithImage: Story;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const templatePopup: string;
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import './video.scss';
|
|
3
|
+
interface VideoProps {
|
|
4
|
+
/**
|
|
5
|
+
* Custom className
|
|
6
|
+
*/
|
|
7
|
+
className?: string;
|
|
8
|
+
/**
|
|
9
|
+
* Is this the principal call to action on the page?
|
|
10
|
+
*/
|
|
11
|
+
style?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Video contents
|
|
14
|
+
*/
|
|
15
|
+
label?: string;
|
|
16
|
+
/**
|
|
17
|
+
* Video Source
|
|
18
|
+
*/
|
|
19
|
+
videoSrc?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Video Poster
|
|
22
|
+
*/
|
|
23
|
+
videoPoster?: string;
|
|
24
|
+
/**
|
|
25
|
+
* Video Name
|
|
26
|
+
*/
|
|
27
|
+
videoName?: string;
|
|
28
|
+
/**
|
|
29
|
+
* ID
|
|
30
|
+
*/
|
|
31
|
+
Id?: string;
|
|
32
|
+
/**
|
|
33
|
+
* Optional click handler
|
|
34
|
+
*/
|
|
35
|
+
onClick?: () => void;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Primary UI component for user interaction
|
|
39
|
+
*/
|
|
40
|
+
export declare const Video: ({ style, label, ...props }: VideoProps) => JSX.Element;
|
|
41
|
+
export declare const InternalVideo: ({ className, style, label, videoSrc, videoPoster, videoName, Id, ...props }: VideoProps) => JSX.Element;
|
|
42
|
+
export {};
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Video } from "./Video";
|
|
3
|
+
declare const meta: Meta<typeof Video>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Video>;
|
|
6
|
+
export declare const Primary: Story;
|
|
7
|
+
export declare const Internal: Story;
|
|
8
|
+
export declare const InternalPlaying: Story;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react";
|
|
2
|
+
import { Accordion } from "./accordion";
|
|
3
|
+
declare const meta: Meta<typeof Accordion>;
|
|
4
|
+
export default meta;
|
|
5
|
+
type Story = StoryObj<typeof Accordion>;
|
|
6
|
+
export declare const Default: Story;
|
|
7
|
+
export declare const DefaultExpanded: Story;
|
|
8
|
+
export declare const ExpandedSingle: Story;
|
|
9
|
+
export declare const ExpandedMultiple: Story;
|
|
10
|
+
/**
|
|
11
|
+
*
|
|
12
|
+
*
|
|
13
|
+
*
|
|
14
|
+
*/
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export interface AccordionProps {
|
|
2
|
+
items?: {
|
|
3
|
+
id: number;
|
|
4
|
+
label: string;
|
|
5
|
+
title?: string;
|
|
6
|
+
text?: string;
|
|
7
|
+
image?: {
|
|
8
|
+
alt: string;
|
|
9
|
+
path: {
|
|
10
|
+
src: string;
|
|
11
|
+
};
|
|
12
|
+
};
|
|
13
|
+
link?: {
|
|
14
|
+
text: string;
|
|
15
|
+
path: string;
|
|
16
|
+
};
|
|
17
|
+
expanded?: boolean;
|
|
18
|
+
}[];
|
|
19
|
+
expanded?: boolean;
|
|
20
|
+
state?: string;
|
|
21
|
+
className?: string;
|
|
22
|
+
}
|