@agilant/toga-blox 1.0.5
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/Dockerfile +9 -0
- package/README.md +69 -0
- package/assets/Logo.png +0 -0
- package/assets/compass-card-image-2.png +0 -0
- package/assets/compass-card-image-3.png +0 -0
- package/assets/compass-card-image-4.png +0 -0
- package/assets/compass-card-image.png +0 -0
- package/assets/compass-logo.png +0 -0
- package/assets/compass-tech-hero-bg.png +0 -0
- package/assets/contact-image.png +0 -0
- package/assets/green-laptop.png +0 -0
- package/assets/heroImage.png +0 -0
- package/assets/placeholder-no-image-available.png +0 -0
- package/assets/team.png +0 -0
- package/declarations.d.ts +4 -0
- package/docker-compose.yml +22 -0
- package/global.css +4 -0
- package/index.js +4 -0
- package/nodemon.json +5 -0
- package/package.json +70 -0
- package/postcss.config.js +6 -0
- package/src/components/Badge/Badge.stories.tsx +284 -0
- package/src/components/Badge/Badge.test.tsx +185 -0
- package/src/components/Badge/Badge.tsx +137 -0
- package/src/components/Badge/Badge.types.tsx +28 -0
- package/src/components/Badge/badgeClassNames.tsx +152 -0
- package/src/components/Badge/index.ts +2 -0
- package/src/components/Card/Card.stories.tsx +91 -0
- package/src/components/Card/Card.test.tsx +53 -0
- package/src/components/Card/Card.tsx +30 -0
- package/src/components/Card/Card.types.ts +11 -0
- package/src/components/Card/DUMMYPRODUCTDATA.json +670 -0
- package/src/components/Card/cardClassNames.ts +49 -0
- package/src/components/Card/index.ts +3 -0
- package/src/components/Card/templates/CompassCardTemplate.tsx +58 -0
- package/src/components/Card/templates/HorizontalCardTemplate.tsx +184 -0
- package/src/components/Card/templates/VerticalCardTemplate.tsx +154 -0
- package/src/components/Footer/ContactInfoItem.tsx +20 -0
- package/src/components/Footer/DUMMYFOOTERDATA.json +132 -0
- package/src/components/Footer/Footer.stories.tsx +292 -0
- package/src/components/Footer/Footer.test.tsx +90 -0
- package/src/components/Footer/Footer.tsx +159 -0
- package/src/components/Footer/Footer.types.tsx +61 -0
- package/src/components/Footer/footerClassNames.tsx +57 -0
- package/src/components/FormButton/FormButton.stories.tsx +199 -0
- package/src/components/FormButton/FormButton.test.tsx +73 -0
- package/src/components/FormButton/FormButton.tsx +116 -0
- package/src/components/FormButton/FormButton.types.ts +32 -0
- package/src/components/FormButton/formButtonClassNames.tsx +153 -0
- package/src/components/FormButton/index.ts +2 -0
- package/src/components/GenericList/DUMMYLISTDATA.json +560 -0
- package/src/components/GenericList/GenericList.stories.tsx +104 -0
- package/src/components/GenericList/GenericList.test.tsx +29 -0
- package/src/components/GenericList/GenericList.tsx +146 -0
- package/src/components/GenericList/genericListClassNames.tsx +8 -0
- package/src/components/GenericList/templates/DummyDataList.tsx +23 -0
- package/src/components/GenericList/templates/DynamicIconList.tsx +74 -0
- package/src/components/HamburgerButton/HamburgerButton.tsx +68 -0
- package/src/components/HamburgerButton/HamburgerButton.types.tsx +6 -0
- package/src/components/HamburgerButton/index.ts +2 -0
- package/src/components/Header/DUMMYICONDATA.json +136 -0
- package/src/components/Header/Header.stories.tsx +521 -0
- package/src/components/Header/Header.test.tsx +323 -0
- package/src/components/Header/Header.tsx +289 -0
- package/src/components/Header/Header.types.ts +52 -0
- package/src/components/Header/headerClassNames.tsx +50 -0
- package/src/components/Header/headerContext.tsx +125 -0
- package/src/components/Header/index.ts +2 -0
- package/src/components/Hero/Hero.stories.tsx +69 -0
- package/src/components/Hero/Hero.test.tsx +109 -0
- package/src/components/Hero/Hero.tsx +58 -0
- package/src/components/Hero/Hero.types.ts +9 -0
- package/src/components/Hero/index.ts +2 -0
- package/src/components/Icon/Icon.stories.tsx +227 -0
- package/src/components/Icon/Icon.test.tsx +53 -0
- package/src/components/Icon/Icon.tsx +208 -0
- package/src/components/Icon/Icon.types.ts +24 -0
- package/src/components/Icon/iconClassNames.ts +79 -0
- package/src/components/Icon/index.ts +2 -0
- package/src/components/Image/Image.stories.tsx +79 -0
- package/src/components/Image/Image.test.tsx +87 -0
- package/src/components/Image/Image.tsx +49 -0
- package/src/components/Image/Image.types.ts +11 -0
- package/src/components/Image/index.ts +2 -0
- package/src/components/Input/Input.stories.tsx +651 -0
- package/src/components/Input/Input.test.tsx +90 -0
- package/src/components/Input/Input.tsx +226 -0
- package/src/components/Input/Input.types.ts +52 -0
- package/src/components/Input/InputMemoTypes.tsx +32 -0
- package/src/components/Input/index.ts +2 -0
- package/src/components/Input/inputClassNames.tsx +169 -0
- package/src/components/MobileMenu/MobileMenu.tsx +41 -0
- package/src/components/MobileMenu/MobileMenu.types.tsx +30 -0
- package/src/components/MobileMenu/index.ts +2 -0
- package/src/components/Nav/DUMMYNAVDATA.json +234 -0
- package/src/components/Nav/Nav.stories.tsx +181 -0
- package/src/components/Nav/Nav.test.tsx +89 -0
- package/src/components/Nav/Nav.tsx +242 -0
- package/src/components/Nav/Nav.types.tsx +35 -0
- package/src/components/Nav/index.ts +2 -0
- package/src/components/Nav/navClassNames.tsx +192 -0
- package/src/components/Page/TableDataDummy.tsx +216 -0
- package/src/components/Page/ViewPageTemplate.stories.tsx +546 -0
- package/src/components/Page/ViewPageTemplate.test.tsx +361 -0
- package/src/components/Page/ViewPageTemplate.tsx +10 -0
- package/src/components/Page/ViewPageTemplate.types.ts +6 -0
- package/src/components/Page/index.ts +2 -0
- package/src/components/PageSection/PageSection.stories.tsx +114 -0
- package/src/components/PageSection/PageSection.tsx +12 -0
- package/src/components/PageSection/PageSection.types.ts +6 -0
- package/src/components/PageSection/PageSections.test.tsx +88 -0
- package/src/components/PageSection/index.ts +2 -0
- package/src/components/Text/Text.stories.tsx +60 -0
- package/src/components/Text/Text.test.tsx +52 -0
- package/src/components/Text/Text.tsx +80 -0
- package/src/components/Text/Text.types.ts +12 -0
- package/src/components/Text/index.ts +2 -0
- package/src/components/Toaster/Toaster.stories.tsx +122 -0
- package/src/components/Toaster/Toaster.test.tsx +61 -0
- package/src/components/Toaster/Toaster.tsx +80 -0
- package/src/components/Toaster/Toaster.types.ts +12 -0
- package/src/components/Toaster/index.ts +2 -0
- package/src/hoc/index.ts +2 -0
- package/src/hoc/styling/withStoryBook.tsx +19 -0
- package/src/main.css +3 -0
- package/src/setupTests.ts +1 -0
- package/src/userHoc/index.ts +1 -0
- package/src/userHoc/withMemo.tsx +20 -0
- package/src/utils/assertTagName.tsx +7 -0
- package/src/utils/generateAccordionItem.tsx +102 -0
- package/src/utils/generateFooterContacts.tsx +75 -0
- package/src/utils/generateNavMenu.tsx +54 -0
- package/src/utils/generateSocialList.tsx +34 -0
- package/src/utils/getFontAwesomeIcon.tsx +25 -0
- package/src/utils/inputValidation.tsx +26 -0
- package/tailwind.config.js +32 -0
- package/tsconfig.json +25 -0
- package/vite.config.ts +33 -0
package/Dockerfile
ADDED
package/README.md
ADDED
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
🌟 Toga-Blox 🌟
|
|
2
|
+
Toga-Blox is a comprehensive and reusable React component library tailored for accelerating the development of web applications within our company. Crafted with React, TypeScript, and Tailwind CSS, this library encompasses a suite of customizable and ready-to-deploy components, ensuring a harmonious and efficient development experience.
|
|
3
|
+
|
|
4
|
+
🚀 Features
|
|
5
|
+
🔩 Reusable Components: A curated set of UI components for rapid integration into diverse React applications.
|
|
6
|
+
🔐 TypeScript Support: Robustly typed components to enhance development reliability.
|
|
7
|
+
🎨 Customizable Styling: Integrating Tailwind CSS for effortless and flexible component styling.
|
|
8
|
+
⚡ Vite Compatible: Seamlessly optimized for projects utilizing Vite.
|
|
9
|
+
📦 Installation
|
|
10
|
+
To integrate Toga-Blox into your project, execute the following command:
|
|
11
|
+
|
|
12
|
+
bash
|
|
13
|
+
|
|
14
|
+
npm install @your-company/toga-blox
|
|
15
|
+
|
|
16
|
+
🔧 Customization
|
|
17
|
+
Our components are engineered for extensive customization via props. For comprehensive guidance on customizing each component, consult the specific component documentation.
|
|
18
|
+
|
|
19
|
+
🐳 Docker Integration
|
|
20
|
+
Toga-Blox requires Docker to run certain services like Storybook and CSS watcher. Please ensure Docker is installed on your system. Follow these steps to set up and run the services:
|
|
21
|
+
|
|
22
|
+
Install Docker from Docker's official website.
|
|
23
|
+
|
|
24
|
+
Once Docker is installed, use the following commands to manage the Docker containers:
|
|
25
|
+
|
|
26
|
+
build the Docker images: docker-compose build
|
|
27
|
+
|
|
28
|
+
To start the services: docker-compose up
|
|
29
|
+
|
|
30
|
+
To stop the services: docker-compose down
|
|
31
|
+
|
|
32
|
+
To run tests: docker-compose run --rm test
|
|
33
|
+
|
|
34
|
+
📚 Dependencies
|
|
35
|
+
Toga-Blox is built using:
|
|
36
|
+
|
|
37
|
+
React
|
|
38
|
+
TypeScript
|
|
39
|
+
Tailwind CSS
|
|
40
|
+
DaisyUI
|
|
41
|
+
|
|
42
|
+
🤝 Contributing
|
|
43
|
+
We value contributions to Toga-Blox, whether they involve documentation enhancements, feature developments, or bug rectifications. Please follow our contribution guidelines.
|
|
44
|
+
|
|
45
|
+
⚡ Vite Compatibility
|
|
46
|
+
Though toga-blox is developed and optimized using Vite, it's designed to be universally compatible with any React project regardless of the build tool used. This ensures seamless integration whether your project uses Vite, Create React App, or other build setups.
|
|
47
|
+
|
|
48
|
+
📚 Storybook
|
|
49
|
+
For an interactive exploration of toga-blox components, check out our Storybook. It provides live examples, usage scenarios, and customizable props for each component.
|
|
50
|
+
|
|
51
|
+
## Peer Dependencies
|
|
52
|
+
|
|
53
|
+
This library requires `react-router-dom` to be installed in your project. Please ensure that you have `react-router-dom` installed to avoid any issues with missing modules.
|
|
54
|
+
|
|
55
|
+
To install `react-router-dom`, run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npm install react-router-dom
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
## FontAwesome Icons
|
|
62
|
+
|
|
63
|
+
This library uses FontAwesome icons from the free icon sets. If you have a FontAwesome Pro subscription, the Pro icons will be used if they are installed in your project. Ensure you follow the setup instructions from FontAwesome for Pro icons.
|
|
64
|
+
|
|
65
|
+
For users without a Pro subscription, the free icons will be used. Make sure to install the required FontAwesome packages in your project:
|
|
66
|
+
|
|
67
|
+
```bash
|
|
68
|
+
npm install @fortawesome/fontawesome-svg-core @fortawesome/free-solid-svg-icons @fortawesome/react-fontawesome
|
|
69
|
+
```
|
package/assets/Logo.png
ADDED
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/assets/team.png
ADDED
|
Binary file
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
services:
|
|
2
|
+
ui:
|
|
3
|
+
build:
|
|
4
|
+
context: .
|
|
5
|
+
dockerfile: Dockerfile
|
|
6
|
+
volumes:
|
|
7
|
+
- ./:/app
|
|
8
|
+
working_dir: /app
|
|
9
|
+
ports:
|
|
10
|
+
- 6006:6006
|
|
11
|
+
tty: true
|
|
12
|
+
command: npm run storybook
|
|
13
|
+
|
|
14
|
+
css-watcher:
|
|
15
|
+
build:
|
|
16
|
+
context: .
|
|
17
|
+
dockerfile: Dockerfile
|
|
18
|
+
volumes:
|
|
19
|
+
- ./:/app
|
|
20
|
+
working_dir: /app
|
|
21
|
+
tty: true
|
|
22
|
+
command: npm run watch-css
|
package/global.css
ADDED
package/index.js
ADDED
package/nodemon.json
ADDED
package/package.json
ADDED
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@agilant/toga-blox",
|
|
3
|
+
"private": false,
|
|
4
|
+
"version": "1.0.5",
|
|
5
|
+
"description": "",
|
|
6
|
+
"main": "index.js",
|
|
7
|
+
"types": "dist/index.d.ts",
|
|
8
|
+
"scripts": {
|
|
9
|
+
"test": "vitest run",
|
|
10
|
+
"test:coverage": "vitest run --coverage=v8-to-istanbul",
|
|
11
|
+
"storybook": "storybook dev -p 6006",
|
|
12
|
+
"build-storybook": "storybook build",
|
|
13
|
+
"build-css": "tailwindcss -i ./src/main.css -o ./dist/main.css --minify",
|
|
14
|
+
"watch-css": "nodemon"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [],
|
|
17
|
+
"author": "",
|
|
18
|
+
"license": "ISC",
|
|
19
|
+
"dependencies": {
|
|
20
|
+
"daisyui": "^3",
|
|
21
|
+
"@storybook/addon-docs": "^7.6.6",
|
|
22
|
+
"@storybook/addon-viewport": "^7.6.10",
|
|
23
|
+
"classnames": "^2.5.1",
|
|
24
|
+
"react": "^18.2.0",
|
|
25
|
+
"react-dom": "^18.2.0",
|
|
26
|
+
"framer-motion": "^11.0.8",
|
|
27
|
+
"tslib": "^2.3.0",
|
|
28
|
+
"@emotion/is-prop-valid": "^1.1.3",
|
|
29
|
+
"@tanstack/virtual-core": "^3.1.3",
|
|
30
|
+
"@tanstack/react-virtual": "^3.1.3"
|
|
31
|
+
},
|
|
32
|
+
"devDependencies": {
|
|
33
|
+
"@fortawesome/fontawesome-svg-core": "^6.5.1",
|
|
34
|
+
"@fortawesome/free-solid-svg-icons": "^6.5.1",
|
|
35
|
+
"@fortawesome/react-fontawesome": "^0.2.0",
|
|
36
|
+
"@storybook/addon-a11y": "^7.6.8",
|
|
37
|
+
"@storybook/addon-essentials": "^7.6.6",
|
|
38
|
+
"@storybook/addon-interactions": "^7.6.6",
|
|
39
|
+
"@storybook/addon-links": "^7.6.6",
|
|
40
|
+
"@storybook/addon-onboarding": "^1.0.10",
|
|
41
|
+
"@storybook/blocks": "^7.6.6",
|
|
42
|
+
"@storybook/react": "^7.6.6",
|
|
43
|
+
"@storybook/react-vite": "^7.6.6",
|
|
44
|
+
"@storybook/test": "^7.6.6",
|
|
45
|
+
"@testing-library/jest-dom": "^6.2.0",
|
|
46
|
+
"@testing-library/react": "^14.1.2",
|
|
47
|
+
"@testing-library/user-event": "^14.5.2",
|
|
48
|
+
"@types/react-router-dom": "^5.3.3",
|
|
49
|
+
"@vitejs/plugin-react": "^4.2.1",
|
|
50
|
+
"@vitest/coverage-istanbul": "^1.2.1",
|
|
51
|
+
"@vitest/coverage-v8": "^1.2.1",
|
|
52
|
+
"autoprefixer": "^10.4.16",
|
|
53
|
+
"jsdom": "^23.2.0",
|
|
54
|
+
"nodemon": "^3.0.2",
|
|
55
|
+
"postcss": "^8.4.32",
|
|
56
|
+
"react-router-dom": "^6.21.1",
|
|
57
|
+
"storybook": "^7.6.6",
|
|
58
|
+
"tailwindcss": "^3.4.0",
|
|
59
|
+
"typescript": "^5.3.3",
|
|
60
|
+
"vite": "^4.5.1",
|
|
61
|
+
"vite-tsconfig-paths": "^4.2.2",
|
|
62
|
+
"vitest": "^1.2.1"
|
|
63
|
+
},
|
|
64
|
+
"peerDependencies": {
|
|
65
|
+
"@fortawesome/fontawesome-svg-core": "^1.2.35",
|
|
66
|
+
"@fortawesome/free-solid-svg-icons": "^5.15.4",
|
|
67
|
+
"@fortawesome/react-fontawesome": "^0.1.15",
|
|
68
|
+
"react-router-dom": "^5.2.0"
|
|
69
|
+
}
|
|
70
|
+
}
|
|
@@ -0,0 +1,284 @@
|
|
|
1
|
+
import { Meta, StoryFn } from "@storybook/react";
|
|
2
|
+
import Text from "../Text/Text";
|
|
3
|
+
import Badge from "./Badge";
|
|
4
|
+
import { BadgeTypes } from "./Badge.types";
|
|
5
|
+
import Image from "../Image/Image";
|
|
6
|
+
import { getFontAwesomeIcon } from "../../utils/getFontAwesomeIcon";
|
|
7
|
+
|
|
8
|
+
export default {
|
|
9
|
+
title: "Components/Badge",
|
|
10
|
+
component: Badge,
|
|
11
|
+
argTypes: {
|
|
12
|
+
badgeSize: {
|
|
13
|
+
control: "select",
|
|
14
|
+
options: ["small", "medium", "large"],
|
|
15
|
+
description: "The size of the badge.",
|
|
16
|
+
},
|
|
17
|
+
color: {
|
|
18
|
+
control: "select",
|
|
19
|
+
options: [
|
|
20
|
+
"red",
|
|
21
|
+
"blue",
|
|
22
|
+
"green",
|
|
23
|
+
"black",
|
|
24
|
+
"white",
|
|
25
|
+
"orange",
|
|
26
|
+
"purple",
|
|
27
|
+
"none",
|
|
28
|
+
],
|
|
29
|
+
description: "The badge color.",
|
|
30
|
+
},
|
|
31
|
+
borderColor: {
|
|
32
|
+
control: "select",
|
|
33
|
+
options: [
|
|
34
|
+
"red",
|
|
35
|
+
"blue",
|
|
36
|
+
"green",
|
|
37
|
+
"black",
|
|
38
|
+
"orange",
|
|
39
|
+
"purple",
|
|
40
|
+
"none",
|
|
41
|
+
],
|
|
42
|
+
description: "The border color of the badge.",
|
|
43
|
+
},
|
|
44
|
+
fontColor: {
|
|
45
|
+
control: "select",
|
|
46
|
+
options: ["white", "black"],
|
|
47
|
+
description: "The text color on the button.",
|
|
48
|
+
},
|
|
49
|
+
hoverColor: {
|
|
50
|
+
control: "select",
|
|
51
|
+
options: ["red", "green", "blue", "orange", "purple", "none"],
|
|
52
|
+
description: "The background color on hover",
|
|
53
|
+
},
|
|
54
|
+
cursorPointer: {
|
|
55
|
+
control: "boolean",
|
|
56
|
+
description: "Whether the badge should have a pointer cursor.",
|
|
57
|
+
},
|
|
58
|
+
image: {
|
|
59
|
+
table: {
|
|
60
|
+
disable: true,
|
|
61
|
+
},
|
|
62
|
+
description: "The image to display in the badge.",
|
|
63
|
+
},
|
|
64
|
+
tagStyle: {
|
|
65
|
+
control: "boolean",
|
|
66
|
+
description: "Whether the badge is a tag style.",
|
|
67
|
+
},
|
|
68
|
+
tagStyleIconColor: {
|
|
69
|
+
control: "select",
|
|
70
|
+
options: ["red", "blue", "green", "orange", "purple", "black"],
|
|
71
|
+
description: "The color of the icon for tag style.",
|
|
72
|
+
},
|
|
73
|
+
to: {
|
|
74
|
+
table: {
|
|
75
|
+
disable: true,
|
|
76
|
+
},
|
|
77
|
+
description: "The link to redirect to when the badge is clicked.",
|
|
78
|
+
},
|
|
79
|
+
text: {
|
|
80
|
+
table: {
|
|
81
|
+
disable: true,
|
|
82
|
+
},
|
|
83
|
+
description: "The text to display in the badge.",
|
|
84
|
+
},
|
|
85
|
+
hasMobileStyle: {
|
|
86
|
+
control: "boolean",
|
|
87
|
+
description: "Whether the badge uses responsive styles or not.",
|
|
88
|
+
},
|
|
89
|
+
|
|
90
|
+
mobileIcon: {
|
|
91
|
+
table: {
|
|
92
|
+
disable: true,
|
|
93
|
+
},
|
|
94
|
+
description:
|
|
95
|
+
"The icon to display in the badge when on mobile view.",
|
|
96
|
+
},
|
|
97
|
+
mobileIconLabel: {
|
|
98
|
+
table: {
|
|
99
|
+
disable: true,
|
|
100
|
+
},
|
|
101
|
+
},
|
|
102
|
+
href: {
|
|
103
|
+
table: {
|
|
104
|
+
disable: true,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
additionalClasses: {
|
|
108
|
+
table: {
|
|
109
|
+
disable: true,
|
|
110
|
+
},
|
|
111
|
+
},
|
|
112
|
+
icon: {
|
|
113
|
+
table: {
|
|
114
|
+
disable: true,
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
as: {
|
|
118
|
+
table: {
|
|
119
|
+
disable: true,
|
|
120
|
+
},
|
|
121
|
+
},
|
|
122
|
+
type: {
|
|
123
|
+
table: {
|
|
124
|
+
disable: true,
|
|
125
|
+
},
|
|
126
|
+
},
|
|
127
|
+
testId: {
|
|
128
|
+
table: {
|
|
129
|
+
disable: true,
|
|
130
|
+
},
|
|
131
|
+
},
|
|
132
|
+
onClick: {
|
|
133
|
+
table: {
|
|
134
|
+
disable: true,
|
|
135
|
+
},
|
|
136
|
+
},
|
|
137
|
+
},
|
|
138
|
+
tags: ["autodocs"],
|
|
139
|
+
parameters: {
|
|
140
|
+
layout: "centered",
|
|
141
|
+
},
|
|
142
|
+
} as Meta;
|
|
143
|
+
|
|
144
|
+
const Template: StoryFn<BadgeTypes> = (args) => <Badge {...args} />;
|
|
145
|
+
|
|
146
|
+
export const Default = Template.bind({});
|
|
147
|
+
Default.args = {
|
|
148
|
+
type: "span",
|
|
149
|
+
color: "red",
|
|
150
|
+
borderColor: "red",
|
|
151
|
+
hoverColor: "none",
|
|
152
|
+
badgeSize: "large",
|
|
153
|
+
cursorPointer: false,
|
|
154
|
+
tagStyle: false,
|
|
155
|
+
hasMobileStyle: true,
|
|
156
|
+
mobileIcon: getFontAwesomeIcon("exclamation"),
|
|
157
|
+
mobileIconLabel: "Priority",
|
|
158
|
+
testId: "priority-badge",
|
|
159
|
+
text: (
|
|
160
|
+
<Text
|
|
161
|
+
size="md"
|
|
162
|
+
color="primary"
|
|
163
|
+
fontFamily="serif"
|
|
164
|
+
text="Priority"
|
|
165
|
+
tag="p"
|
|
166
|
+
additionalClasses="font-bold"
|
|
167
|
+
/>
|
|
168
|
+
),
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
export const Processing = Template.bind({});
|
|
172
|
+
Processing.args = {
|
|
173
|
+
type: "span",
|
|
174
|
+
color: "purple",
|
|
175
|
+
borderColor: "purple",
|
|
176
|
+
hoverColor: "none",
|
|
177
|
+
badgeSize: "large",
|
|
178
|
+
cursorPointer: false,
|
|
179
|
+
tagStyle: false,
|
|
180
|
+
hasMobileStyle: false,
|
|
181
|
+
mobileIcon: getFontAwesomeIcon("exclamation"),
|
|
182
|
+
mobileIconLabel: "Processing",
|
|
183
|
+
testId: "priority-badge",
|
|
184
|
+
text: (
|
|
185
|
+
<Text
|
|
186
|
+
size="md"
|
|
187
|
+
color="primary"
|
|
188
|
+
fontFamily="serif"
|
|
189
|
+
text="Processing"
|
|
190
|
+
tag="p"
|
|
191
|
+
additionalClasses="font-bold"
|
|
192
|
+
/>
|
|
193
|
+
),
|
|
194
|
+
};
|
|
195
|
+
|
|
196
|
+
export const BadgeWithIcon = Template.bind({});
|
|
197
|
+
BadgeWithIcon.args = {
|
|
198
|
+
type: "span",
|
|
199
|
+
color: "green",
|
|
200
|
+
hoverColor: "none",
|
|
201
|
+
borderColor: "green",
|
|
202
|
+
badgeSize: "large",
|
|
203
|
+
cursorPointer: false,
|
|
204
|
+
tagStyle: false,
|
|
205
|
+
hasMobileStyle: true,
|
|
206
|
+
mobileIcon: getFontAwesomeIcon("check"),
|
|
207
|
+
mobileIconLabel: "Complete",
|
|
208
|
+
text: (
|
|
209
|
+
<Text
|
|
210
|
+
size="md"
|
|
211
|
+
color="primary"
|
|
212
|
+
fontFamily="serif"
|
|
213
|
+
text="Complete"
|
|
214
|
+
tag="p"
|
|
215
|
+
/>
|
|
216
|
+
),
|
|
217
|
+
icon: getFontAwesomeIcon("check"),
|
|
218
|
+
};
|
|
219
|
+
|
|
220
|
+
export const PillStyle = Template.bind({});
|
|
221
|
+
PillStyle.args = {
|
|
222
|
+
type: "href",
|
|
223
|
+
href: "#",
|
|
224
|
+
color: "blue",
|
|
225
|
+
hoverColor: "blue",
|
|
226
|
+
borderColor: "none",
|
|
227
|
+
tagStyle: false,
|
|
228
|
+
hasMobileStyle: true,
|
|
229
|
+
mobileIcon: getFontAwesomeIcon("phone"),
|
|
230
|
+
mobileIconLabel: "Contact Us",
|
|
231
|
+
text: (
|
|
232
|
+
<>
|
|
233
|
+
<Text
|
|
234
|
+
size="md"
|
|
235
|
+
color="primary"
|
|
236
|
+
fontFamily="serif"
|
|
237
|
+
text="Contact Us"
|
|
238
|
+
tag="h2"
|
|
239
|
+
additionalClasses="pl-2 pb-0 font-bold"
|
|
240
|
+
/>
|
|
241
|
+
<Text
|
|
242
|
+
size="md"
|
|
243
|
+
color="primary"
|
|
244
|
+
fontFamily="serif"
|
|
245
|
+
text="1-800-800-8000"
|
|
246
|
+
tag="p"
|
|
247
|
+
additionalClasses="pl-2 pt-0"
|
|
248
|
+
/>
|
|
249
|
+
</>
|
|
250
|
+
),
|
|
251
|
+
image: (
|
|
252
|
+
<Image
|
|
253
|
+
src="../../../assets/contact-image.png"
|
|
254
|
+
alt=""
|
|
255
|
+
background={false}
|
|
256
|
+
additionalClasses="flex justify-center w-12 h-12 max-md:hidden"
|
|
257
|
+
/>
|
|
258
|
+
),
|
|
259
|
+
};
|
|
260
|
+
|
|
261
|
+
export const TagStyle = Template.bind({});
|
|
262
|
+
TagStyle.args = {
|
|
263
|
+
type: "span",
|
|
264
|
+
color: "white",
|
|
265
|
+
hoverColor: "none",
|
|
266
|
+
borderColor: "red",
|
|
267
|
+
badgeSize: "large",
|
|
268
|
+
tagStyle: true,
|
|
269
|
+
tagStyleIconColor: "red",
|
|
270
|
+
cursorPointer: false,
|
|
271
|
+
hasMobileStyle: true,
|
|
272
|
+
mobileIcon: getFontAwesomeIcon("D"),
|
|
273
|
+
mobileIconLabel: "Damaged",
|
|
274
|
+
text: (
|
|
275
|
+
<Text
|
|
276
|
+
size="md"
|
|
277
|
+
color="primary"
|
|
278
|
+
fontFamily="serif"
|
|
279
|
+
text="Damaged"
|
|
280
|
+
tag="p"
|
|
281
|
+
/>
|
|
282
|
+
),
|
|
283
|
+
icon: getFontAwesomeIcon("D"),
|
|
284
|
+
};
|