@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.
Files changed (129) hide show
  1. package/README.md +142 -0
  2. package/dist/app/api/hello/route.d.ts +1 -0
  3. package/dist/app/layout.d.ts +9 -0
  4. package/dist/app/page.d.ts +2 -0
  5. package/dist/index.d.ts +1 -0
  6. package/dist/index.esm.js +2 -0
  7. package/dist/index.esm.js.map +1 -0
  8. package/dist/index.js +8 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/stories/atoms/forms/checkbox/checkbox.d.ts +11 -0
  11. package/dist/stories/atoms/forms/checkbox/checkbox.stories.d.ts +7 -0
  12. package/dist/stories/atoms/forms/input/input.d.ts +31 -0
  13. package/dist/stories/atoms/forms/input/input.stories.d.ts +7 -0
  14. package/dist/stories/atoms/forms/select/select.d.ts +16 -0
  15. package/dist/stories/atoms/forms/select/select.stories.d.ts +7 -0
  16. package/dist/stories/atoms/forms/text/counrty-selector.d.ts +10 -0
  17. package/dist/stories/atoms/forms/text/text.d.ts +21 -0
  18. package/dist/stories/atoms/forms/text/text.stories.d.ts +7 -0
  19. package/dist/stories/components/Banner/Banner.d.ts +17 -0
  20. package/dist/stories/components/Banner/Banner.stories.d.ts +12 -0
  21. package/dist/stories/components/Banner/banner.dialog.d.ts +2 -0
  22. package/dist/stories/components/Banner/banner.html.d.ts +1 -0
  23. package/dist/stories/components/Button/Button.d.ts +21 -0
  24. package/dist/stories/components/Button/Button.stories.d.ts +10 -0
  25. package/dist/stories/components/Card/card.d.ts +6 -0
  26. package/dist/stories/components/Card/card.stories.d.ts +15 -0
  27. package/dist/stories/components/Card/card.types.d.ts +22 -0
  28. package/dist/stories/components/Expert-banner/expert.banner.d.ts +12 -0
  29. package/dist/stories/components/Expert-banner/expert.banner.stories.d.ts +6 -0
  30. package/dist/stories/components/Pagination/pagination.d.ts +20 -0
  31. package/dist/stories/components/Pagination/pagination.stories.d.ts +8 -0
  32. package/dist/stories/components/Popup/Popup.d.ts +17 -0
  33. package/dist/stories/components/Popup/Popup.stories.d.ts +9 -0
  34. package/dist/stories/components/Popup/icons/ChevronDown.d.ts +3 -0
  35. package/dist/stories/components/Popup/icons/Close.d.ts +3 -0
  36. package/dist/stories/components/Popup/popup.dialog.d.ts +2 -0
  37. package/dist/stories/components/Popup/popup.html.d.ts +1 -0
  38. package/dist/stories/components/Video/Video.d.ts +42 -0
  39. package/dist/stories/components/Video/Video.stories.d.ts +8 -0
  40. package/dist/stories/experiences/Accordion/accordion.d.ts +3 -0
  41. package/dist/stories/experiences/Accordion/accordion.item.d.ts +9 -0
  42. package/dist/stories/experiences/Accordion/accordion.stories.d.ts +14 -0
  43. package/dist/stories/experiences/Accordion/accordion.types.d.ts +22 -0
  44. package/dist/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search.d.ts +31 -0
  45. package/dist/stories/experiences/Algolia-dynamic-search/algolia-dynamic-search.stories.d.ts +11 -0
  46. package/dist/stories/experiences/Anchor/anchor.d.ts +9 -0
  47. package/dist/stories/experiences/Anchor/anchor.stories.d.ts +6 -0
  48. package/dist/stories/experiences/Brand-promise-paragraph/Brand.promise.paragraph.d.ts +12 -0
  49. package/dist/stories/experiences/Brand-promise-paragraph/Brand.promise.paragraph.stories.d.ts +6 -0
  50. package/dist/stories/experiences/Breadcrumb/breadcrumb.d.ts +14 -0
  51. package/dist/stories/experiences/Breadcrumb/breadcrumb.stories.d.ts +8 -0
  52. package/dist/stories/experiences/Careers-search/careers-search-results-item.d.ts +10 -0
  53. package/dist/stories/experiences/Careers-search/careers-search-results.d.ts +10 -0
  54. package/dist/stories/experiences/Careers-search/careers-search.d.ts +17 -0
  55. package/dist/stories/experiences/Careers-search/careers-search.stories.d.ts +6 -0
  56. package/dist/stories/experiences/Carousel/dynamic/carousel.dynamic.d.ts +16 -0
  57. package/dist/stories/experiences/Carousel/dynamic/carousel.dynamic.stories.d.ts +7 -0
  58. package/dist/stories/experiences/Carousel/static/carousel.d.ts +12 -0
  59. package/dist/stories/experiences/Carousel/static/carousel.stories.d.ts +6 -0
  60. package/dist/stories/experiences/Download/download-item.d.ts +13 -0
  61. package/dist/stories/experiences/Download/download-library.d.ts +10 -0
  62. package/dist/stories/experiences/Download/download.stories.d.ts +9 -0
  63. package/dist/stories/experiences/Dynamic-list/dynamic.list.d.ts +11 -0
  64. package/dist/stories/experiences/Dynamic-list/dynamic.list.stories.d.ts +6 -0
  65. package/dist/stories/experiences/Faq/faq.d.ts +10 -0
  66. package/dist/stories/experiences/Faq/faq.stories.d.ts +6 -0
  67. package/dist/stories/experiences/Footer/footer-links/footer.links.d.ts +8 -0
  68. package/dist/stories/experiences/Footer/footer-socials/footer.socials.d.ts +8 -0
  69. package/dist/stories/experiences/Footer/footer-subfooter/footer.subfooter.d.ts +1 -0
  70. package/dist/stories/experiences/Footer/footer.d.ts +7 -0
  71. package/dist/stories/experiences/Footer/footer.model.d.ts +6 -0
  72. package/dist/stories/experiences/Footer/footer.stories.d.ts +6 -0
  73. package/dist/stories/experiences/Header/header-brand/header.brand.d.ts +10 -0
  74. package/dist/stories/experiences/Header/header-button/header.button.d.ts +17 -0
  75. package/dist/stories/experiences/Header/header-lang/header.language.switcher.d.ts +9 -0
  76. package/dist/stories/experiences/Header/header-megamenu/header.megamenu.d.ts +9 -0
  77. package/dist/stories/experiences/Header/header-nav/header.nav.d.ts +8 -0
  78. package/dist/stories/experiences/Header/header-search/header.search.d.ts +9 -0
  79. package/dist/stories/experiences/Header/header.content.d.ts +2 -0
  80. package/dist/stories/experiences/Header/header.d.ts +7 -0
  81. package/dist/stories/experiences/Header/header.stories.d.ts +6 -0
  82. package/dist/stories/experiences/Header/scripts.d.ts +2 -0
  83. package/dist/stories/experiences/Header/toggle.d.ts +7 -0
  84. package/dist/stories/experiences/Header-twentytwentyfour/button.d.ts +13 -0
  85. package/dist/stories/experiences/Header-twentytwentyfour/header.d.ts +7 -0
  86. package/dist/stories/experiences/Header-twentytwentyfour/header.stories.d.ts +8 -0
  87. package/dist/stories/experiences/Header-twentytwentyfour/list.d.ts +8 -0
  88. package/dist/stories/experiences/Interactive-cards/InteractiveCards.d.ts +24 -0
  89. package/dist/stories/experiences/Interactive-cards/InteractiveCards.stories.d.ts +8 -0
  90. package/dist/stories/experiences/Interactive-cards/icons/ArrowRight.d.ts +3 -0
  91. package/dist/stories/experiences/Interactive-cards/icons/ChevronDown.d.ts +3 -0
  92. package/dist/stories/experiences/Interactive-cards/icons/Close.d.ts +3 -0
  93. package/dist/stories/experiences/Interactive-container/InteractiveContainer.d.ts +23 -0
  94. package/dist/stories/experiences/Interactive-container/InteractiveContainer.stories.d.ts +10 -0
  95. package/dist/stories/experiences/Interactive-group/InteractiveGroup.d.ts +11 -0
  96. package/dist/stories/experiences/Interactive-group/InteractiveGroup.stories.d.ts +8 -0
  97. package/dist/stories/experiences/Interactive-map/Map.d.ts +7 -0
  98. package/dist/stories/experiences/Interactive-map/Map.stories.d.ts +6 -0
  99. package/dist/stories/experiences/Menu/menu.d.ts +10 -0
  100. package/dist/stories/experiences/Menu/menu.model.d.ts +68 -0
  101. package/dist/stories/experiences/Menu/menu.stories.d.ts +6 -0
  102. package/dist/stories/experiences/Numbers/card.d.ts +12 -0
  103. package/dist/stories/experiences/Numbers/numbers.d.ts +13 -0
  104. package/dist/stories/experiences/Numbers/numbers.stories.d.ts +8 -0
  105. package/dist/stories/experiences/Quote/quote.d.ts +11 -0
  106. package/dist/stories/experiences/Quote/quote.stories.d.ts +7 -0
  107. package/dist/stories/experiences/Tabs/tabs.d.ts +15 -0
  108. package/dist/stories/experiences/Tabs/tabs.stories.d.ts +10 -0
  109. package/dist/stories/experiences/Video-playlist/Video.playlist.d.ts +11 -0
  110. package/dist/stories/experiences/Video-playlist/Video.playlist.stories.d.ts +6 -0
  111. package/dist/stories/experiences/Video-playlist/video.playlist.dialog.d.ts +2 -0
  112. package/dist/stories/experiences/Video-playlist/video.playlist.html.d.ts +1 -0
  113. package/dist/stories/experiences/market-picker-prompt/Market.picker.prompt.d.ts +9 -0
  114. package/dist/stories/experiences/market-picker-prompt/Market.picker.prompt.stories.d.ts +6 -0
  115. package/dist/stories/structure/page/page.dialog.d.ts +2 -0
  116. package/dist/stories/structure/page/page.html.d.ts +1 -0
  117. package/dist/stories/templates/content.d.ts +3 -0
  118. package/dist/stories/templates/content.stories.d.ts +10 -0
  119. package/dist/stories/templates/product.d.ts +3 -0
  120. package/dist/stories/templates/product.stories.d.ts +10 -0
  121. package/dist/tsconfig.tsbuildinfo +1 -0
  122. package/dist/utils/components/anchor.links.d.ts +3 -0
  123. package/dist/utils/components/anchor.links.script.d.ts +1 -0
  124. package/dist/utils/components/swatch.d.ts +10 -0
  125. package/dist/utils/components/type.d.ts +11 -0
  126. package/dist/utils/content/content.demo.d.ts +5 -0
  127. package/dist/utils/content/content.model.d.ts +4 -0
  128. package/dist/utils/fontawesome/fac-edwardsicons.d.ts +2 -0
  129. 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>;
@@ -0,0 +1,9 @@
1
+ /// <reference types="react" />
2
+ import './globals.css';
3
+ export declare const metadata: {
4
+ title: string;
5
+ description: string;
6
+ };
7
+ export default function RootLayout({ children, }: {
8
+ children: React.ReactNode;
9
+ }): JSX.Element;
@@ -0,0 +1,2 @@
1
+ /// <reference types="react" />
2
+ export default function Home(): JSX.Element;
@@ -0,0 +1 @@
1
+ export { default as AlgoliaDynamicSearch } from "@stories/experiences/Algolia-dynamic-search";
@@ -0,0 +1,2 @@
1
+ export { default as AlgoliaDynamicSearch } from '@stories/experiences/Algolia-dynamic-search';
2
+ //# sourceMappingURL=index.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.esm.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
package/dist/index.js ADDED
@@ -0,0 +1,8 @@
1
+ 'use strict';
2
+
3
+ var AlgoliaDynamicSearch = require('@stories/experiences/Algolia-dynamic-search');
4
+
5
+
6
+
7
+ exports.AlgoliaDynamicSearch = AlgoliaDynamicSearch;
8
+ //# sourceMappingURL=index.js.map
@@ -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,7 @@
1
+ import { Meta, StoryObj } from "@storybook/react";
2
+ import { Text } from "./text";
3
+ declare const meta: Meta<typeof Text>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof Text>;
6
+ export declare const Default: Story;
7
+ export declare const DropDown: Story;
@@ -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,2 @@
1
+ import { AEMTouchUIDialog } from '@teclead/aem-generator/models';
2
+ export declare const dialog: AEMTouchUIDialog;
@@ -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,6 @@
1
+ import type { Meta, StoryObj } from '@storybook/react';
2
+ import { ExpertBanner } from './expert.banner';
3
+ declare const meta: Meta<typeof ExpertBanner>;
4
+ export default meta;
5
+ type Story = StoryObj<typeof ExpertBanner>;
6
+ export declare const Default: Story;
@@ -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,3 @@
1
+ import { SVGProps } from "react";
2
+ declare const SvgComponent: (props: SVGProps<SVGSVGElement>) => JSX.Element;
3
+ export default SvgComponent;
@@ -0,0 +1,3 @@
1
+ import { SVGProps } from "react";
2
+ declare const SvgComponent: (props: SVGProps<SVGSVGElement>) => JSX.Element;
3
+ export default SvgComponent;
@@ -0,0 +1,2 @@
1
+ import { AEMTouchUIDialog } from '@teclead/aem-generator/models';
2
+ export declare const dialog: AEMTouchUIDialog;
@@ -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,3 @@
1
+ /// <reference types="react" />
2
+ import { AccordionProps } from './accordion.types';
3
+ export declare const Accordion: ({ items, expanded, state, className }: AccordionProps) => JSX.Element;
@@ -0,0 +1,9 @@
1
+ import './accordion.scss';
2
+ interface AccordionItem {
3
+ item?: any;
4
+ expanded?: boolean;
5
+ state?: any;
6
+ className?: string;
7
+ }
8
+ export declare const AccordionItem: ({ item, expanded, state, className }: AccordionItem) => any;
9
+ export {};
@@ -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
+ }