blixify-ui-web-mcp 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/lib/components/action/button/README.md +75 -0
- package/lib/components/action/button/button.stories.tsx +138 -0
- package/lib/components/action/buttonGroup/README.md +79 -0
- package/lib/components/action/buttonGroup/buttonGroup.stories.tsx +104 -0
- package/lib/components/action/iconButton/README.md +39 -0
- package/lib/components/action/iconButton/iconButton.stories.tsx +22 -0
- package/lib/components/action/radioList/README.md +98 -0
- package/lib/components/action/radioList/radioList.stories.tsx +181 -0
- package/lib/components/action/slider/README.md +86 -0
- package/lib/components/action/slider/slider.stories.tsx +133 -0
- package/lib/components/action/textButton/README.md +34 -0
- package/lib/components/action/textButton/textButton.stories.tsx +16 -0
- package/lib/components/action/toggle/README.md +39 -0
- package/lib/components/action/toggle/toggle.stories.tsx +23 -0
- package/lib/components/advanced/collapse/README.md +106 -0
- package/lib/components/advanced/collapse/collapse.stories.tsx +165 -0
- package/lib/components/advanced/infoWindow/README.md +69 -0
- package/lib/components/advanced/infoWindow/infoWindow.stories.tsx +112 -0
- package/lib/components/advanced/popUp/README.md +95 -0
- package/lib/components/advanced/popUp/popUp.stories.tsx +189 -0
- package/lib/components/auth/bareSignIn/README.md +78 -0
- package/lib/components/auth/bareSignIn/bareSignIn.stories.tsx +141 -0
- package/lib/components/auth/bareSignUp/README.md +130 -0
- package/lib/components/auth/bareSignUp/bareSignUp.stories.tsx +159 -0
- package/lib/components/auth/signIn/README.md +53 -0
- package/lib/components/auth/signIn/signIn.stories.tsx +120 -0
- package/lib/components/auth/signUp/README.md +136 -0
- package/lib/components/auth/signUp/signUp.stories.tsx +193 -0
- package/lib/components/chart/README.md +13 -0
- package/lib/components/chart/areaChart/README.md +133 -0
- package/lib/components/chart/areaChart/areaChart.stories.tsx +199 -0
- package/lib/components/chart/barChart/README.md +193 -0
- package/lib/components/chart/barChart/barChart.stories.tsx +318 -0
- package/lib/components/chart/boxPlotChart/README.md +124 -0
- package/lib/components/chart/boxPlotChart/boxPlotChart.stories.tsx +104 -0
- package/lib/components/chart/bubbleChart/README.md +166 -0
- package/lib/components/chart/bubbleChart/bubbleChart.stories.tsx +144 -0
- package/lib/components/chart/card/README.md +107 -0
- package/lib/components/chart/card/card.stories.tsx +89 -0
- package/lib/components/chart/ganttChart/README.md +142 -0
- package/lib/components/chart/ganttChart/ganttChart.stories.tsx +138 -0
- package/lib/components/chart/heatmapChart/README.md +125 -0
- package/lib/components/chart/heatmapChart/heatmapChart.stories.tsx +106 -0
- package/lib/components/chart/lineChart/README.md +140 -0
- package/lib/components/chart/lineChart/lineChart.stories.tsx +152 -0
- package/lib/components/chart/pieChart/README.md +117 -0
- package/lib/components/chart/pieChart/pieChart.stories.tsx +180 -0
- package/lib/components/chart/polarAreaChart/README.md +126 -0
- package/lib/components/chart/polarAreaChart/polarAreaChart.stories.tsx +106 -0
- package/lib/components/chart/radarChart/README.md +57 -0
- package/lib/components/chart/radarChart/radarChart.stories.tsx +36 -0
- package/lib/components/chart/radialBar/README.md +152 -0
- package/lib/components/chart/radialBar/radialChart.stories.tsx +136 -0
- package/lib/components/chart/rangeBarChart/README.md +323 -0
- package/lib/components/chart/rangeBarChart/rangeBarChart.stories.tsx +208 -0
- package/lib/components/chart/statsCard/README.md +97 -0
- package/lib/components/chart/statsCard/statsCard.stories.tsx +183 -0
- package/lib/components/chart/treemapChart/README.md +142 -0
- package/lib/components/chart/treemapChart/treemapChart.stories.tsx +122 -0
- package/lib/components/chat/chatAnchor/README.md +113 -0
- package/lib/components/chat/chatAnchor/chatAnchor.stories.tsx +156 -0
- package/lib/components/chat/chatBase/README.md +223 -0
- package/lib/components/chat/chatBase/chatBase.stories.tsx +306 -0
- package/lib/components/chat/chatDashboard/README.md +161 -0
- package/lib/components/chat/chatDashboard/chatDashboard.stories.tsx +154 -0
- package/lib/components/data/dataGraph/README.md +13 -0
- package/lib/components/data/dataGraph/dataGraph.stories.tsx +84 -0
- package/lib/components/data/dataReference/README.md +62 -0
- package/lib/components/data/dataReference/dataReference.stories.tsx +53 -0
- package/lib/components/data/dataTemplate/README.md +903 -0
- package/lib/components/data/dataTemplate/dataModule.stories.tsx +196 -0
- package/lib/components/data/dataTemplate/dataTemplate.stories.tsx +337 -0
- package/lib/components/data/dataWrapper/README.md +1077 -0
- package/lib/components/data/dataWrapper/dataWrapper.stories.tsx +831 -0
- package/lib/components/data/queryForm/README.md +56 -0
- package/lib/components/data/queryForm/queryForm.stories.tsx +85 -0
- package/lib/components/data/readQuery/README.md +282 -0
- package/lib/components/data/readQuery/readQuery.stories.tsx +256 -0
- package/lib/components/data/readQueryHoc/README.md +89 -0
- package/lib/components/data/readQueryHoc/readQueryHoc.stories.tsx +33 -0
- package/lib/components/data/writeQuery/README.md +178 -0
- package/lib/components/data/writeQuery/writeQuery.stories.tsx +209 -0
- package/lib/components/design/actionSection/README.md +47 -0
- package/lib/components/design/actionSection/actionSection.stories.tsx +74 -0
- package/lib/components/design/banner/README.md +43 -0
- package/lib/components/design/banner/banner.stories.tsx +34 -0
- package/lib/components/design/bannerAction/README.md +44 -0
- package/lib/components/design/bannerAction/bannerAction.stories.tsx +25 -0
- package/lib/components/design/blogSection/README.md +111 -0
- package/lib/components/design/blogSection/blogSection.stories.tsx +72 -0
- package/lib/components/design/carouselSection/README.md +82 -0
- package/lib/components/design/carouselSection/carouselSection.stories.tsx +52 -0
- package/lib/components/design/designList/README.md +60 -0
- package/lib/components/design/designList/designList.stories.tsx +44 -0
- package/lib/components/design/faq/README.md +121 -0
- package/lib/components/design/faq/faq.stories.tsx +103 -0
- package/lib/components/design/fileGrid/README.md +87 -0
- package/lib/components/design/fileGrid/fileGrid.stories.tsx +110 -0
- package/lib/components/design/fileViewer/README.md +40 -0
- package/lib/components/design/fileViewer/fileViewer.stories.tsx +28 -0
- package/lib/components/design/footerSection/README.md +62 -0
- package/lib/components/design/footerSection/footerSection.stories.tsx +84 -0
- package/lib/components/design/googleReview/README.md +45 -0
- package/lib/components/design/googleReview/googleReview.stories.tsx +33 -0
- package/lib/components/design/heroSection/README.md +48 -0
- package/lib/components/design/heroSection/heroSection.stories.tsx +85 -0
- package/lib/components/design/iconList/README.md +60 -0
- package/lib/components/design/iconList/iconList.stories.tsx +41 -0
- package/lib/components/design/imageGallery/README.md +56 -0
- package/lib/components/design/imageGallery/imageGallery.stories.tsx +45 -0
- package/lib/components/design/imageZoom/README.md +47 -0
- package/lib/components/design/imageZoom/imageZoom.stories.tsx +30 -0
- package/lib/components/design/leftContent/README.md +47 -0
- package/lib/components/design/leftContent/leftContent.stories.tsx +32 -0
- package/lib/components/design/logoCloud/README.md +42 -0
- package/lib/components/design/logoCloud/logoCloud.stories.tsx +44 -0
- package/lib/components/design/onboarding/README.md +100 -0
- package/lib/components/design/onboarding/onboarding.stories.tsx +113 -0
- package/lib/components/design/pricing/README.md +112 -0
- package/lib/components/design/pricing/pricing.stories.tsx +86 -0
- package/lib/components/design/rightContent/README.md +47 -0
- package/lib/components/design/rightContent/rightContent.stories.tsx +32 -0
- package/lib/components/design/sectionList/README.md +51 -0
- package/lib/components/design/sectionList/sectionList.stories.tsx +35 -0
- package/lib/components/design/teams/README.md +62 -0
- package/lib/components/design/teams/teams.stories.tsx +61 -0
- package/lib/components/display/alert/README.md +82 -0
- package/lib/components/display/alert/alert.stories.tsx +71 -0
- package/lib/components/display/calendar/README.md +113 -0
- package/lib/components/display/calendar/calendar.stories.tsx +159 -0
- package/lib/components/display/clipboard/README.md +36 -0
- package/lib/components/display/clipboard/clipboard.stories.tsx +32 -0
- package/lib/components/display/detailList/README.md +61 -0
- package/lib/components/display/detailList/detailList.stories.tsx +131 -0
- package/lib/components/display/drawer/README.md +74 -0
- package/lib/components/display/drawer/drawer.stories.tsx +66 -0
- package/lib/components/display/emptyState/README.md +38 -0
- package/lib/components/display/emptyState/emptyState.stories.tsx +22 -0
- package/lib/components/display/feeds/README.md +80 -0
- package/lib/components/display/feeds/feeds.stories.tsx +75 -0
- package/lib/components/display/flexTable/README.md +160 -0
- package/lib/components/display/flexTable/flexTable.stories.tsx +313 -0
- package/lib/components/display/grid/README.md +121 -0
- package/lib/components/display/grid/grid.stories.tsx +234 -0
- package/lib/components/display/kanban/README.md +78 -0
- package/lib/components/display/kanban/kanban.stories.tsx +133 -0
- package/lib/components/display/list/README.md +109 -0
- package/lib/components/display/list/list.stories.tsx +188 -0
- package/lib/components/display/loading/README.md +25 -0
- package/lib/components/display/loading/loading.stories.tsx +15 -0
- package/lib/components/display/mapView/README.md +99 -0
- package/lib/components/display/mapView/mapView.stories.tsx +225 -0
- package/lib/components/display/modal/README.md +43 -0
- package/lib/components/display/modal/modal.stories.tsx +81 -0
- package/lib/components/display/notification/README.md +43 -0
- package/lib/components/display/notification/notification.stories.tsx +30 -0
- package/lib/components/display/progress/README.md +25 -0
- package/lib/components/display/progress/progress.stories.tsx +15 -0
- package/lib/components/display/stepper/README.md +96 -0
- package/lib/components/display/stepper/stepper.stories.tsx +175 -0
- package/lib/components/display/table/README.md +176 -0
- package/lib/components/display/table/table.stories.tsx +330 -0
- package/lib/components/display/tag/README.md +74 -0
- package/lib/components/display/tag/tag.stories.tsx +79 -0
- package/lib/components/input/address/README.md +132 -0
- package/lib/components/input/address/address.stories.tsx +147 -0
- package/lib/components/input/canvas/README.md +131 -0
- package/lib/components/input/canvas/canvas.stories.tsx +165 -0
- package/lib/components/input/checkbox/README.md +61 -0
- package/lib/components/input/checkbox/checkbox.stories.tsx +30 -0
- package/lib/components/input/datePicker/README.md +124 -0
- package/lib/components/input/datePicker/datePicker.stories.tsx +197 -0
- package/lib/components/input/form/README.md +55 -0
- package/lib/components/input/form/form.stories.tsx +143 -0
- package/lib/components/input/markdown/README.md +146 -0
- package/lib/components/input/markdown/markdown.stories.tsx +40 -0
- package/lib/components/input/monthYearPicker/README.md +69 -0
- package/lib/components/input/monthYearPicker/monthYearPicker.stories.tsx +47 -0
- package/lib/components/input/netPromoterScore/README.md +52 -0
- package/lib/components/input/netPromoterScore/netPromoterScore.stories.tsx +30 -0
- package/lib/components/input/rating/README.md +51 -0
- package/lib/components/input/rating/rating.stories.tsx +30 -0
- package/lib/components/input/select/README.md +108 -0
- package/lib/components/input/select/select.stories.tsx +286 -0
- package/lib/components/input/signature/README.md +106 -0
- package/lib/components/input/signature/signature.stories.tsx +188 -0
- package/lib/components/input/textArea/README.md +55 -0
- package/lib/components/input/textArea/textArea.stories.tsx +30 -0
- package/lib/components/input/textInput/README.md +81 -0
- package/lib/components/input/textInput/textinput.stories.tsx +231 -0
- package/lib/components/input/uploadInput/README.md +134 -0
- package/lib/components/input/uploadInput/uploadInput.stories.tsx +193 -0
- package/lib/components/navigation/bars/README.md +40 -0
- package/lib/components/navigation/bars/bars.stories.tsx +85 -0
- package/lib/components/navigation/bottomTab/README.md +53 -0
- package/lib/components/navigation/bottomTab/bottomTab.stories.tsx +32 -0
- package/lib/components/navigation/breadcrumb/README.md +48 -0
- package/lib/components/navigation/breadcrumb/breadcrumb.stories.tsx +27 -0
- package/lib/components/navigation/header/README.md +149 -0
- package/lib/components/navigation/header/header.stories.tsx +107 -0
- package/lib/components/navigation/leftNav/README.md +91 -0
- package/lib/components/navigation/leftNav/leftNav.stories.tsx +106 -0
- package/lib/components/navigation/tabs/README.md +75 -0
- package/lib/components/navigation/tabs/tabs.stories.tsx +60 -0
- package/lib/components/structure/column/README.md +40 -0
- package/lib/components/structure/column/column.stories.tsx +26 -0
- package/lib/components/structure/container/README.md +34 -0
- package/lib/components/structure/container/container.stories.tsx +19 -0
- package/lib/components/structure/link/README.md +55 -0
- package/lib/components/structure/link/link.stories.tsx +30 -0
- package/lib/components/structure/text/README.md +42 -0
- package/lib/components/structure/text/text.stories.tsx +39 -0
- package/lib/components/template/authPage/authPage.stories.tsx +68 -0
- package/lib/components/template/landingPage/landingPage.stories.tsx +288 -0
- package/lib/components/template/productListing/productListing.stories.tsx +297 -0
- package/lib/components/template/productOverview/productOverview.stories.tsx +194 -0
- package/lib/components/template/shoppingCart/shoppingCart.stories.tsx +252 -0
- package/lib/components/template/userHomePage/userHomePage.stories.tsx +605 -0
- package/lib/components/template/userRankingDashboard/userRankingDashboard.stories.tsx +481 -0
- package/lib/mcp/server.d.ts +2 -0
- package/lib/mcp/server.d.ts.map +1 -0
- package/lib/mcp/server.js +33 -0
- package/lib/mcp/server.js.map +1 -0
- package/lib/mcp/tools/getBackendComponent.d.ts +13 -0
- package/lib/mcp/tools/getBackendComponent.d.ts.map +1 -0
- package/lib/mcp/tools/getBackendComponent.js +119 -0
- package/lib/mcp/tools/getBackendComponent.js.map +1 -0
- package/lib/mcp/tools/getComponent.d.ts +17 -0
- package/lib/mcp/tools/getComponent.d.ts.map +1 -0
- package/lib/mcp/tools/getComponent.js +118 -0
- package/lib/mcp/tools/getComponent.js.map +1 -0
- package/lib/mcp/tools/listComponents.d.ts +13 -0
- package/lib/mcp/tools/listComponents.d.ts.map +1 -0
- package/lib/mcp/tools/listComponents.js +113 -0
- package/lib/mcp/tools/listComponents.js.map +1 -0
- package/lib/mcp/tools/listTemplates.d.ts +13 -0
- package/lib/mcp/tools/listTemplates.d.ts.map +1 -0
- package/lib/mcp/tools/listTemplates.js +68 -0
- package/lib/mcp/tools/listTemplates.js.map +1 -0
- package/lib/mcp/tools/suggestTemplate.d.ts +17 -0
- package/lib/mcp/tools/suggestTemplate.d.ts.map +1 -0
- package/lib/mcp/tools/suggestTemplate.js +212 -0
- package/lib/mcp/tools/suggestTemplate.js.map +1 -0
- package/package.json +23 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { storiesOf } from "@storybook/react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FAQContent, FaqData } from ".";
|
|
4
|
+
import README from "./README.md";
|
|
5
|
+
|
|
6
|
+
const stories = storiesOf("Design", module);
|
|
7
|
+
|
|
8
|
+
stories.addParameters({
|
|
9
|
+
readme: {
|
|
10
|
+
content: README,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const faqList: FaqData[] = [
|
|
15
|
+
{
|
|
16
|
+
question:
|
|
17
|
+
"How do I get started with the platform and what are the initial setup requirements?",
|
|
18
|
+
answer:
|
|
19
|
+
"Getting started with our platform is straightforward and designed to be user-friendly. First, you'll need to create an account using your email address or social media login. Once registered, you'll be guided through a brief onboarding process where you can set up your profile, preferences, and initial configurations. The platform requires a modern web browser (Chrome, Firefox, Safari, or Edge) and an internet connection. For optimal performance, we recommend using the latest version of your preferred browser. You can also download our mobile app for iOS and Android devices for on-the-go access. The initial setup typically takes 5-10 minutes, and our comprehensive help documentation and video tutorials are available to guide you through any specific features you want to explore.",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
question:
|
|
23
|
+
"What security measures are in place to protect my data and ensure privacy compliance?",
|
|
24
|
+
answer:
|
|
25
|
+
"We take data security and privacy very seriously. Our platform implements enterprise-grade security measures including end-to-end encryption for all data transmission, AES-256 encryption for data at rest, and regular security audits conducted by third-party experts. We are fully compliant with GDPR, CCPA, and other international privacy regulations. Your data is stored in secure, geographically distributed data centers with redundant backup systems. We never share your personal information with third parties without explicit consent, and you have full control over your data with options to export, delete, or modify your information at any time. Our security team monitors for potential threats 24/7, and we provide detailed transparency reports on our security practices and any incidents that may occur.",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
question:
|
|
29
|
+
"Can I integrate this platform with my existing business tools and what APIs are available?",
|
|
30
|
+
answer:
|
|
31
|
+
"Yes, our platform offers extensive integration capabilities with popular business tools and services. We provide RESTful APIs with comprehensive documentation, webhooks for real-time data synchronization, and pre-built connectors for major platforms like Salesforce, HubSpot, Slack, Microsoft Teams, Google Workspace, and many others. The API supports both read and write operations, allowing you to automate workflows, sync data, and build custom integrations. We also offer SDKs for popular programming languages including JavaScript, Python, Java, and .NET. For enterprise customers, we provide dedicated integration support and can develop custom connectors for proprietary systems. All integrations are thoroughly tested and maintained to ensure reliability and performance.",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
question:
|
|
35
|
+
"What pricing plans are available and how do I choose the right one for my business needs?",
|
|
36
|
+
answer: `# Pricing Plans
|
|
37
|
+
|
|
38
|
+
We offer **flexible pricing plans** designed to accommodate businesses of all sizes.
|
|
39
|
+
|
|
40
|
+
## Starter Plan - $29/month
|
|
41
|
+
Perfect for individuals and small teams:
|
|
42
|
+
- ✅ Core features included
|
|
43
|
+
- ✅ Up to 5 users
|
|
44
|
+
- ✅ Basic support
|
|
45
|
+
- ✅ Standard integrations
|
|
46
|
+
|
|
47
|
+
## Professional Plan - $99/month
|
|
48
|
+
Ideal for growing businesses:
|
|
49
|
+
- ✅ All Starter features
|
|
50
|
+
- ✅ **Unlimited users**
|
|
51
|
+
- ✅ **Priority support**
|
|
52
|
+
- ✅ **Custom integrations**
|
|
53
|
+
- ✅ Advanced analytics
|
|
54
|
+
- ✅ API access
|
|
55
|
+
|
|
56
|
+
## Enterprise Plan
|
|
57
|
+
For larger organizations with custom needs:
|
|
58
|
+
- ✅ **Unlimited everything**
|
|
59
|
+
- ✅ **Dedicated account management**
|
|
60
|
+
- ✅ **Custom development**
|
|
61
|
+
- ✅ **On-premise deployment options**
|
|
62
|
+
- Pricing based on your specific requirements
|
|
63
|
+
|
|
64
|
+
### Additional Benefits
|
|
65
|
+
- All plans include our core functionality
|
|
66
|
+
- Regular updates and customer support
|
|
67
|
+
- **Annual billing with 20% discount**
|
|
68
|
+
- **30-day free trial** for all plans
|
|
69
|
+
- No long-term commitments required
|
|
70
|
+
|
|
71
|
+
> 💡 **Pro Tip**: Start with the Starter plan and upgrade as your needs grow. You can change plans at any time!`,
|
|
72
|
+
isMarkdown: true,
|
|
73
|
+
},
|
|
74
|
+
{
|
|
75
|
+
question:
|
|
76
|
+
"How do I get technical support and what resources are available for troubleshooting?",
|
|
77
|
+
answer: `# Technical Support & Resources
|
|
78
|
+
|
|
79
|
+
We provide **multiple support channels** to help you get assistance quickly.
|
|
80
|
+
|
|
81
|
+
## Support Channels
|
|
82
|
+
|
|
83
|
+
| Channel | Availability | Response Time | Best For |
|
|
84
|
+
|---------|-------------|---------------|----------|
|
|
85
|
+
| **Live Chat** | 24/7 | Instant | Urgent issues |
|
|
86
|
+
| **Email** | Business hours | 2-24 hours | Detailed questions |
|
|
87
|
+
| **Phone** | Business hours | Immediate | Enterprise customers |
|
|
88
|
+
| **Community Forum** | Always | Variable | Tips & peer support |
|
|
89
|
+
|
|
90
|
+
## Self-Service Resources
|
|
91
|
+
- 📚 **Documentation** - Step-by-step guides
|
|
92
|
+
- 🎥 **Video tutorials** - Visual learning
|
|
93
|
+
- 🔧 **Troubleshooting guides** - Common issues
|
|
94
|
+
- 💬 **FAQ** - Quick answers
|
|
95
|
+
|
|
96
|
+
> 💡 **Pro Tip**: Check our documentation first - it solves 80% of common issues!`,
|
|
97
|
+
isMarkdown: true,
|
|
98
|
+
},
|
|
99
|
+
];
|
|
100
|
+
|
|
101
|
+
stories.add("FAQ Content", () => {
|
|
102
|
+
return <FAQContent faqList={faqList} collapsible />;
|
|
103
|
+
});
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
# File Grid
|
|
2
|
+
|
|
3
|
+
<!-- STORY -->
|
|
4
|
+
|
|
5
|
+
<hr>
|
|
6
|
+
|
|
7
|
+
File grid for images and files
|
|
8
|
+
|
|
9
|
+
##### Import
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
import { FileGrid, FileGridData } from "blixify-ui-web/lib";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
##### Usage
|
|
16
|
+
|
|
17
|
+
```jsx
|
|
18
|
+
const [files] = useState<FileGridData[]>([
|
|
19
|
+
{
|
|
20
|
+
file: "https://plus.unsplash.com/premium_photo-1731948133366-0d1dbb7db851?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
21
|
+
fileType: "image",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
file: "https://images.unsplash.com/photo-1743191771058-d06e793dda2d?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
25
|
+
fileType: "image",
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
file: "https://wsform.com/wp-content/uploads/2021/04/day.csv",
|
|
29
|
+
fileType: "file",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
file: "https://plus.unsplash.com/premium_photo-1742561620640-10cc6ec7f786?q=80&w=1974&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
33
|
+
fileType: "image",
|
|
34
|
+
},
|
|
35
|
+
{
|
|
36
|
+
file: "https://www.aeee.in/wp-content/uploads/2020/08/Sample-pdf.pdf",
|
|
37
|
+
fileType: "file",
|
|
38
|
+
},
|
|
39
|
+
]);
|
|
40
|
+
|
|
41
|
+
return (
|
|
42
|
+
<>
|
|
43
|
+
<h1>Inline preview - Display preview above grid</h1>
|
|
44
|
+
<FileGrid
|
|
45
|
+
fileList={files}
|
|
46
|
+
title="Images & Files"
|
|
47
|
+
enableDownload
|
|
48
|
+
inlinePreview
|
|
49
|
+
/>
|
|
50
|
+
<h1 className="mt-10 ">
|
|
51
|
+
Without inline preview - Display preview in modal
|
|
52
|
+
</h1>
|
|
53
|
+
<FileGrid fileList={files} title="Images & Files" enableDownload />
|
|
54
|
+
<h1 className="mt-10 ">Download disabled</h1>
|
|
55
|
+
<FileGrid fileList={files} title="Images & Files" />
|
|
56
|
+
</>
|
|
57
|
+
);
|
|
58
|
+
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
##### Required props
|
|
62
|
+
|
|
63
|
+
| Name | Type | Description |
|
|
64
|
+
| ---------- | ---------------- | --------------------------------- |
|
|
65
|
+
| `fileList` | `FileGridData[]` | Refer to FileGridData class below |
|
|
66
|
+
|
|
67
|
+
##### Optional props
|
|
68
|
+
|
|
69
|
+
| Name | Type | Description |
|
|
70
|
+
| ---------------------------- | ----------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- |
|
|
71
|
+
| `title` | `string` | Text title |
|
|
72
|
+
| `className` | `string` | Tailwind class |
|
|
73
|
+
| `enableDownload` | `boolean` | If `true`, each file can be downloaded. |
|
|
74
|
+
| `enableMultiDownload` | `boolean` | If `true`, checkbox will appear on each file, option to select all files and download selected files. |
|
|
75
|
+
| `inlinePreview` | `boolean` | If `true`, each file can be previewed above the grid, preview in modal will be disabled. |
|
|
76
|
+
| `inlinePreviewPos` | `"bottom"` | Position of inline preview; use `"bottom"` to render it below the grid. |
|
|
77
|
+
| `inlinePreviewHeight` | `string` | Height for the inline preview area (e.g. `"h-[320px]"`, `"h-80"`). |
|
|
78
|
+
| `fileListDisplayAs` | `"list"` | Display files as a list instead of the default grid. |
|
|
79
|
+
| `externalControlledCheckbox` | `{ checkedFiles: string[]; onCheckFile: (checked: boolean, file: string) => void;}` | Control checkbox state externally and callback function for checked items. |
|
|
80
|
+
|
|
81
|
+
##### FileGridData
|
|
82
|
+
|
|
83
|
+
| Name | Type | Description |
|
|
84
|
+
| ----------- | ------------ | ----------- |
|
|
85
|
+
| `file` | `string` | File URI |
|
|
86
|
+
| `fileType` | `image/file` | File type |
|
|
87
|
+
| `fileName?` | `string` | File name |
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { storiesOf } from "@storybook/react";
|
|
2
|
+
import React, { useState } from "react";
|
|
3
|
+
import { FileGrid, FileGridData } from ".";
|
|
4
|
+
import README from "./README.md";
|
|
5
|
+
|
|
6
|
+
const stories = storiesOf("Design", module);
|
|
7
|
+
|
|
8
|
+
stories.addParameters({
|
|
9
|
+
readme: {
|
|
10
|
+
content: README,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
stories.add("File Grid", () => {
|
|
15
|
+
const [files] = useState<FileGridData[]>([
|
|
16
|
+
{
|
|
17
|
+
fileName: "Invoice December 2025",
|
|
18
|
+
file: "https://plus.unsplash.com/premium_photo-1731948133366-0d1dbb7db851?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
19
|
+
fileType: "image",
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
fileName: "Purchase Order Feb 2023",
|
|
23
|
+
file: "https://images.unsplash.com/photo-1743191771058-d06e793dda2d?q=80&w=2070&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
24
|
+
fileType: "image",
|
|
25
|
+
},
|
|
26
|
+
{
|
|
27
|
+
fileName: "Report (01/03/24 - 25/12/25)",
|
|
28
|
+
file: "https://wsform.com/wp-content/uploads/2021/04/day.csv",
|
|
29
|
+
fileType: "file",
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
fileName: "Invoice_2.pdf",
|
|
33
|
+
file: "https://plus.unsplash.com/premium_photo-1742561620640-10cc6ec7f786?q=80&w=1974&auto=format&fit=crop&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxwaG90by1wYWdlfHx8fGVufDB8fHx8fA%3D%3D",
|
|
34
|
+
fileType: "image",
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
fileName: "Statement_Sep_2025.pdf",
|
|
38
|
+
file: "https://www.aeee.in/wp-content/uploads/2020/08/Sample-pdf.pdf",
|
|
39
|
+
fileType: "file",
|
|
40
|
+
},
|
|
41
|
+
{
|
|
42
|
+
fileName: "Google Drive File Preview Link",
|
|
43
|
+
file: "https://drive.google.com/file/d/19jeqR72mkZ2yftOPBtlbHbOHNhEnK1S4/preview",
|
|
44
|
+
fileType: "iframe",
|
|
45
|
+
},
|
|
46
|
+
{
|
|
47
|
+
fileName: "Google Drive Image Preview Link",
|
|
48
|
+
file: "https://drive.google.com/file/d/1XaZn8XlgySwfzm_aos_tZN8-Ye_ewHTs/preview",
|
|
49
|
+
fileType: "iframe",
|
|
50
|
+
},
|
|
51
|
+
]);
|
|
52
|
+
|
|
53
|
+
const [checkFiles, setCheckedFiles] = useState<string[]>([]);
|
|
54
|
+
|
|
55
|
+
return (
|
|
56
|
+
<>
|
|
57
|
+
<h1 className="text-lg font-medium">Inline preview & Multi Download</h1>
|
|
58
|
+
<p className="mb-2 text-sm text-gray-500">Display preview above grid</p>
|
|
59
|
+
<div className="p-4 border rounded-md">
|
|
60
|
+
<FileGrid
|
|
61
|
+
fileList={files}
|
|
62
|
+
title="Images & Files"
|
|
63
|
+
enableMultiDownload
|
|
64
|
+
inlinePreview
|
|
65
|
+
/>
|
|
66
|
+
</div>
|
|
67
|
+
<h1 className="mt-10 text-lg font-medium">
|
|
68
|
+
Inline preview Display as List
|
|
69
|
+
</h1>
|
|
70
|
+
<p className="mb-2 text-sm text-gray-500">Display file list as list</p>
|
|
71
|
+
<FileGrid
|
|
72
|
+
fileList={files}
|
|
73
|
+
title="Images & Files"
|
|
74
|
+
inlinePreview
|
|
75
|
+
fileListDisplayAs="list"
|
|
76
|
+
inlinePreviewPos="bottom"
|
|
77
|
+
/>
|
|
78
|
+
<h1 className="mt-10 mb-2 text-lg font-medium">
|
|
79
|
+
Externally controlled checkbox state
|
|
80
|
+
</h1>
|
|
81
|
+
<div className="p-4 border rounded-md">
|
|
82
|
+
<FileGrid
|
|
83
|
+
fileList={files}
|
|
84
|
+
title="Images & Files"
|
|
85
|
+
externalControlledCheckbox={{
|
|
86
|
+
checkedFiles: checkFiles,
|
|
87
|
+
onCheckFile: (checked, file) => {
|
|
88
|
+
if (checked) {
|
|
89
|
+
setCheckedFiles((prev) => [...prev, file]);
|
|
90
|
+
} else {
|
|
91
|
+
setCheckedFiles((prev) => prev.filter((f) => f !== file));
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
}}
|
|
95
|
+
/>
|
|
96
|
+
</div>
|
|
97
|
+
|
|
98
|
+
<h1 className="mt-10 text-lg font-medium">Without inline preview</h1>
|
|
99
|
+
<p className="mb-2 text-sm text-gray-500">Display preview in modal</p>
|
|
100
|
+
<div className="p-4 border rounded-md">
|
|
101
|
+
<FileGrid fileList={files} title="Images & Files" enableDownload />
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
<h1 className="mt-10 mb-2 text-lg font-medium">Download disabled</h1>
|
|
105
|
+
<div className="p-4 border rounded-md">
|
|
106
|
+
<FileGrid fileList={files} title="Images & Files" />
|
|
107
|
+
</div>
|
|
108
|
+
</>
|
|
109
|
+
);
|
|
110
|
+
});
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
# File Viewer
|
|
2
|
+
|
|
3
|
+
<!-- STORY -->
|
|
4
|
+
|
|
5
|
+
<hr>
|
|
6
|
+
|
|
7
|
+
File viewer for metadata
|
|
8
|
+
|
|
9
|
+
##### Import
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
import { FileViewer } from "blixify-ui-web/lib";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
##### Usage
|
|
16
|
+
|
|
17
|
+
```jsx
|
|
18
|
+
<FileViewer
|
|
19
|
+
file={file}
|
|
20
|
+
fileType="application/pdf"
|
|
21
|
+
fileIcon={<FolderIcon className={`mx-auto h-24 w-24 text-gray-300`} />}
|
|
22
|
+
/>
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
##### Required props
|
|
26
|
+
|
|
27
|
+
| Name | Type | Description |
|
|
28
|
+
| ---------- | -------- | ------------------------- |
|
|
29
|
+
| `file` | `string` | File URI |
|
|
30
|
+
| `fileIcon` | `string` | File Icon to be displayed |
|
|
31
|
+
| `fileType` | `string` | File Type |
|
|
32
|
+
|
|
33
|
+
##### Optional props
|
|
34
|
+
|
|
35
|
+
| Name | Type | Description |
|
|
36
|
+
| ---------------- | ----------------------------------------------------------------------------------- | --------------------------------------------------- |
|
|
37
|
+
| `className` | `string` | Tailwind class |
|
|
38
|
+
| `disablePreview` | `boolean` | If `true`, file cannot be previewed in a modal. |
|
|
39
|
+
| `enableDownload` | `boolean` | If `true`, file can be downloaded. |
|
|
40
|
+
| `checkbox` | `{enable: boolean, checked: boolean, onCheck: (checked: boolean, fileUri: string)}` | Enable checkbox and callback function for checkbox. |
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { FolderIcon } from "@heroicons/react/20/solid";
|
|
2
|
+
import { storiesOf } from "@storybook/react";
|
|
3
|
+
import React, { useState } from "react";
|
|
4
|
+
import { FileViewer } from ".";
|
|
5
|
+
import README from "./README.md";
|
|
6
|
+
|
|
7
|
+
const stories = storiesOf("Design", module);
|
|
8
|
+
|
|
9
|
+
stories.addParameters({
|
|
10
|
+
readme: {
|
|
11
|
+
content: README,
|
|
12
|
+
},
|
|
13
|
+
});
|
|
14
|
+
|
|
15
|
+
stories.add("File Viewer", () => {
|
|
16
|
+
const [file] = useState(
|
|
17
|
+
"https://www.w3.org/WAI/ER/tests/xhtml/testfiles/resources/pdf/dummy.pdf"
|
|
18
|
+
);
|
|
19
|
+
return (
|
|
20
|
+
<div className="w-full h-full border rounded-md flex justify-center items-center p-4">
|
|
21
|
+
<FileViewer
|
|
22
|
+
file={file}
|
|
23
|
+
fileType="application/pdf"
|
|
24
|
+
fileIcon={<FolderIcon className={`mx-auto h-24 w-24 text-gray-300`} />}
|
|
25
|
+
/>
|
|
26
|
+
</div>
|
|
27
|
+
);
|
|
28
|
+
});
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
# Footer Section
|
|
2
|
+
|
|
3
|
+
<!-- STORY -->
|
|
4
|
+
|
|
5
|
+
<hr>
|
|
6
|
+
|
|
7
|
+
Footer to be displayed at the bottom of a website
|
|
8
|
+
|
|
9
|
+
##### Import
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
import { FooterSection } from "blixify-ui-web/lib";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
##### Usage
|
|
16
|
+
|
|
17
|
+
```jsx
|
|
18
|
+
<FooterSection
|
|
19
|
+
footerList={footerList}
|
|
20
|
+
logoCloud={
|
|
21
|
+
<div className="mt-12 space-y-4 xl:col-span-1 xl:mt-0">
|
|
22
|
+
<img
|
|
23
|
+
className="h-6 lg:h-7"
|
|
24
|
+
src={
|
|
25
|
+
"https://mysukarela.com/static/logo-6b7f03c3a6d1c811bbd7b7a5fd9d9b4a.png"
|
|
26
|
+
}
|
|
27
|
+
alt="Blixify"
|
|
28
|
+
/>
|
|
29
|
+
<p className="text-gray-500 font-body text-base">Powered By :</p>
|
|
30
|
+
<div className="flex flex-row">{renderLogoCloud()}</div>
|
|
31
|
+
</div>
|
|
32
|
+
}
|
|
33
|
+
caption="© 2022 Blixify. All rights reserved."
|
|
34
|
+
/>
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
##### Required props
|
|
38
|
+
|
|
39
|
+
| Name | Type | Description |
|
|
40
|
+
| ------------ | ------------- | ----------------- |
|
|
41
|
+
| `caption` | `string` | Copyright caption |
|
|
42
|
+
| `footerList` | `Footer List` | Footer Class List |
|
|
43
|
+
|
|
44
|
+
##### Optional props
|
|
45
|
+
|
|
46
|
+
| Name | Type | Default | Description |
|
|
47
|
+
| ----------- | --------------- | ------- | -------------------------------- |
|
|
48
|
+
| `logoCloud` | `React Element` | "" | Personalisation logo to be added |
|
|
49
|
+
|
|
50
|
+
##### Footer List
|
|
51
|
+
|
|
52
|
+
| Name | Type | Description |
|
|
53
|
+
| --------- | ---------------- | --------------------- |
|
|
54
|
+
| `title` | `string` | Footer title |
|
|
55
|
+
| `subList` | `Footer Sublist` | Footer Sub Class List |
|
|
56
|
+
|
|
57
|
+
##### Footer Sub List
|
|
58
|
+
|
|
59
|
+
| Name | Type | Description |
|
|
60
|
+
| ------ | -------- | -------------- |
|
|
61
|
+
| `name` | `string` | Sub item title |
|
|
62
|
+
| `link` | `string` | Url href |
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { storiesOf } from "@storybook/react";
|
|
2
|
+
import React from "react";
|
|
3
|
+
import { FooterSection } from ".";
|
|
4
|
+
import README from "./README.md";
|
|
5
|
+
|
|
6
|
+
const stories = storiesOf("Design", module);
|
|
7
|
+
|
|
8
|
+
stories.addParameters({
|
|
9
|
+
readme: {
|
|
10
|
+
content: README,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
const footerList = [
|
|
15
|
+
{
|
|
16
|
+
title: "Company",
|
|
17
|
+
subList: [
|
|
18
|
+
{
|
|
19
|
+
name: "About Us",
|
|
20
|
+
link: "/aboutUs",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
name: "FAQs",
|
|
24
|
+
link: "/faqs",
|
|
25
|
+
},
|
|
26
|
+
],
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
title: "NGO",
|
|
30
|
+
subList: [
|
|
31
|
+
{
|
|
32
|
+
name: "For NGO",
|
|
33
|
+
link: "/forNGO",
|
|
34
|
+
},
|
|
35
|
+
],
|
|
36
|
+
},
|
|
37
|
+
];
|
|
38
|
+
|
|
39
|
+
const iconList = [
|
|
40
|
+
{
|
|
41
|
+
className: "h-12 lg:h-14",
|
|
42
|
+
src: "https://mysukarela.com/static/logo_ifrc-36b17eda48bfb8cd6b233a99f4f5d768.png",
|
|
43
|
+
alt: "Blixify",
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
className: "h-12 lg:h-14 px-5",
|
|
47
|
+
src: "https://mysukarela.com/static/logo_taf-8babb3a4e7ce085a23cfe88ccc8757cd.png",
|
|
48
|
+
alt: "Blixify",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
|
|
52
|
+
stories.add("Footer Section", () => {
|
|
53
|
+
const renderLogoCloud = () => {
|
|
54
|
+
let listView: any = [];
|
|
55
|
+
iconList.map((data) => {
|
|
56
|
+
listView.push(
|
|
57
|
+
<img className={data.className} src={data.src} alt={data.alt} />
|
|
58
|
+
);
|
|
59
|
+
return null;
|
|
60
|
+
});
|
|
61
|
+
|
|
62
|
+
return listView;
|
|
63
|
+
};
|
|
64
|
+
|
|
65
|
+
return (
|
|
66
|
+
<FooterSection
|
|
67
|
+
footerList={footerList}
|
|
68
|
+
logoCloud={
|
|
69
|
+
<div className="mt-12 space-y-4 xl:col-span-1 xl:mt-0">
|
|
70
|
+
<img
|
|
71
|
+
className="h-6 lg:h-7"
|
|
72
|
+
src={
|
|
73
|
+
"https://mysukarela.com/static/logo-6b7f03c3a6d1c811bbd7b7a5fd9d9b4a.png"
|
|
74
|
+
}
|
|
75
|
+
alt="Blixify"
|
|
76
|
+
/>
|
|
77
|
+
<p className="text-gray-500 font-body text-base">Powered By :</p>
|
|
78
|
+
<div className="flex flex-row">{renderLogoCloud()}</div>
|
|
79
|
+
</div>
|
|
80
|
+
}
|
|
81
|
+
caption="© 2022 Blixify. All rights reserved."
|
|
82
|
+
/>
|
|
83
|
+
);
|
|
84
|
+
});
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# Google Review
|
|
2
|
+
|
|
3
|
+
<!-- STORY -->
|
|
4
|
+
|
|
5
|
+
<hr>
|
|
6
|
+
|
|
7
|
+
Google Review List
|
|
8
|
+
|
|
9
|
+
### Getting Started
|
|
10
|
+
|
|
11
|
+
##### Initialise Google API
|
|
12
|
+
|
|
13
|
+
i. Follow tutorial from google maps platform to first [installation](https://developers.google.com/maps/documentation/javascript/places)
|
|
14
|
+
|
|
15
|
+
```js
|
|
16
|
+
<script
|
|
17
|
+
async
|
|
18
|
+
src="https://maps.googleapis.com/maps/api/js?key="[YOUR_API_KEY]"&libraries=places"
|
|
19
|
+
></script>
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
##### Import
|
|
23
|
+
|
|
24
|
+
```js
|
|
25
|
+
import { GoogleReview } from "blixify-ui-web/lib";
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
##### Usage
|
|
29
|
+
|
|
30
|
+
```jsx
|
|
31
|
+
return return <GoogleReview placeId={placeId} minRatingScore={4} />;
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
##### Required props
|
|
35
|
+
|
|
36
|
+
| Name | Type | Description |
|
|
37
|
+
| --------- | -------- | ------------------------- |
|
|
38
|
+
| `placeId` | `string` | Place ID from Google Maps |
|
|
39
|
+
|
|
40
|
+
##### Optional props
|
|
41
|
+
|
|
42
|
+
| Name | Type | Description |
|
|
43
|
+
| ---------------- | --------- | ----------------------------------------------------------------------------------------------------- |
|
|
44
|
+
| `loading` | `boolean` | |
|
|
45
|
+
| `minRatingScore` | `number` | If provided, only Google Reviews with more than or equal to the minimum rating score will be returned |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { storiesOf } from "@storybook/react";
|
|
2
|
+
import React, { useEffect } from "react";
|
|
3
|
+
import { GoogleReview } from ".";
|
|
4
|
+
import README from "./README.md";
|
|
5
|
+
|
|
6
|
+
const stories = storiesOf("Design", module);
|
|
7
|
+
|
|
8
|
+
stories.addParameters({
|
|
9
|
+
readme: {
|
|
10
|
+
content: README,
|
|
11
|
+
},
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
stories.add("Google Review", () => {
|
|
15
|
+
const placeId = "ChIJr5AqerJPzDERZR0kfGP-MR4";
|
|
16
|
+
useEffect(() => {
|
|
17
|
+
try {
|
|
18
|
+
const mapAPIKey = "";
|
|
19
|
+
const mapScript = document.createElement("script");
|
|
20
|
+
mapScript.id = "googleMaps";
|
|
21
|
+
mapScript.type = "text/javascript";
|
|
22
|
+
mapScript.src = `https://maps.googleapis.com/maps/api/js?key=${mapAPIKey}&libraries=places,drawing,geometry`;
|
|
23
|
+
mapScript.async = true;
|
|
24
|
+
mapScript.defer = true;
|
|
25
|
+
const head = document.getElementsByTagName("head")[0];
|
|
26
|
+
if (head) {
|
|
27
|
+
head.appendChild(mapScript);
|
|
28
|
+
}
|
|
29
|
+
} catch (err) {}
|
|
30
|
+
}, []);
|
|
31
|
+
|
|
32
|
+
return <GoogleReview placeId={placeId} minRatingScore={4} />;
|
|
33
|
+
});
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
# Hero Section
|
|
2
|
+
|
|
3
|
+
<!-- STORY -->
|
|
4
|
+
|
|
5
|
+
<hr>
|
|
6
|
+
|
|
7
|
+
Hero Section as landing page of a Website
|
|
8
|
+
|
|
9
|
+
##### Import
|
|
10
|
+
|
|
11
|
+
```js
|
|
12
|
+
import { HeroSection } from "blixify-ui-web/lib";
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
##### Usage
|
|
16
|
+
|
|
17
|
+
```jsx
|
|
18
|
+
<HeroSection
|
|
19
|
+
size="small"
|
|
20
|
+
title="Blixify UI Web"
|
|
21
|
+
content="Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur."
|
|
22
|
+
image="https://blixify.co/static/portfolio_qcat-fc572be184081e2793a9856b6ec58dfe.webp"
|
|
23
|
+
callToAction={
|
|
24
|
+
<div>
|
|
25
|
+
<Button text="Sign Up" type="normal" size="small" />
|
|
26
|
+
</div>
|
|
27
|
+
}
|
|
28
|
+
/>
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
##### Required props
|
|
32
|
+
|
|
33
|
+
| Name | Type | Description |
|
|
34
|
+
| --------- | -------- | --------------- |
|
|
35
|
+
| `size` | `string` | small/big |
|
|
36
|
+
| `title` | `string` | Title |
|
|
37
|
+
| `content` | `string` | Content of hero |
|
|
38
|
+
|
|
39
|
+
##### Optional props
|
|
40
|
+
|
|
41
|
+
| Name | Type | Default | Description |
|
|
42
|
+
| -------------- | ----------------- | ------------------------- | ----------- |
|
|
43
|
+
| `image` | `Hero Image` | "" | |
|
|
44
|
+
| `callToAction` | `React Element` | "Call to action elements" | |
|
|
45
|
+
| `className` | `tailwind class` | "" | |
|
|
46
|
+
| `imageElement` | `React Element` | "" | |
|
|
47
|
+
| `imgContain` | `boolean` | false | |
|
|
48
|
+
| `design` | `split/angle/box` | "dot" | |
|