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.
Files changed (245) hide show
  1. package/README.md +5 -0
  2. package/lib/components/action/button/README.md +75 -0
  3. package/lib/components/action/button/button.stories.tsx +138 -0
  4. package/lib/components/action/buttonGroup/README.md +79 -0
  5. package/lib/components/action/buttonGroup/buttonGroup.stories.tsx +104 -0
  6. package/lib/components/action/iconButton/README.md +39 -0
  7. package/lib/components/action/iconButton/iconButton.stories.tsx +22 -0
  8. package/lib/components/action/radioList/README.md +98 -0
  9. package/lib/components/action/radioList/radioList.stories.tsx +181 -0
  10. package/lib/components/action/slider/README.md +86 -0
  11. package/lib/components/action/slider/slider.stories.tsx +133 -0
  12. package/lib/components/action/textButton/README.md +34 -0
  13. package/lib/components/action/textButton/textButton.stories.tsx +16 -0
  14. package/lib/components/action/toggle/README.md +39 -0
  15. package/lib/components/action/toggle/toggle.stories.tsx +23 -0
  16. package/lib/components/advanced/collapse/README.md +106 -0
  17. package/lib/components/advanced/collapse/collapse.stories.tsx +165 -0
  18. package/lib/components/advanced/infoWindow/README.md +69 -0
  19. package/lib/components/advanced/infoWindow/infoWindow.stories.tsx +112 -0
  20. package/lib/components/advanced/popUp/README.md +95 -0
  21. package/lib/components/advanced/popUp/popUp.stories.tsx +189 -0
  22. package/lib/components/auth/bareSignIn/README.md +78 -0
  23. package/lib/components/auth/bareSignIn/bareSignIn.stories.tsx +141 -0
  24. package/lib/components/auth/bareSignUp/README.md +130 -0
  25. package/lib/components/auth/bareSignUp/bareSignUp.stories.tsx +159 -0
  26. package/lib/components/auth/signIn/README.md +53 -0
  27. package/lib/components/auth/signIn/signIn.stories.tsx +120 -0
  28. package/lib/components/auth/signUp/README.md +136 -0
  29. package/lib/components/auth/signUp/signUp.stories.tsx +193 -0
  30. package/lib/components/chart/README.md +13 -0
  31. package/lib/components/chart/areaChart/README.md +133 -0
  32. package/lib/components/chart/areaChart/areaChart.stories.tsx +199 -0
  33. package/lib/components/chart/barChart/README.md +193 -0
  34. package/lib/components/chart/barChart/barChart.stories.tsx +318 -0
  35. package/lib/components/chart/boxPlotChart/README.md +124 -0
  36. package/lib/components/chart/boxPlotChart/boxPlotChart.stories.tsx +104 -0
  37. package/lib/components/chart/bubbleChart/README.md +166 -0
  38. package/lib/components/chart/bubbleChart/bubbleChart.stories.tsx +144 -0
  39. package/lib/components/chart/card/README.md +107 -0
  40. package/lib/components/chart/card/card.stories.tsx +89 -0
  41. package/lib/components/chart/ganttChart/README.md +142 -0
  42. package/lib/components/chart/ganttChart/ganttChart.stories.tsx +138 -0
  43. package/lib/components/chart/heatmapChart/README.md +125 -0
  44. package/lib/components/chart/heatmapChart/heatmapChart.stories.tsx +106 -0
  45. package/lib/components/chart/lineChart/README.md +140 -0
  46. package/lib/components/chart/lineChart/lineChart.stories.tsx +152 -0
  47. package/lib/components/chart/pieChart/README.md +117 -0
  48. package/lib/components/chart/pieChart/pieChart.stories.tsx +180 -0
  49. package/lib/components/chart/polarAreaChart/README.md +126 -0
  50. package/lib/components/chart/polarAreaChart/polarAreaChart.stories.tsx +106 -0
  51. package/lib/components/chart/radarChart/README.md +57 -0
  52. package/lib/components/chart/radarChart/radarChart.stories.tsx +36 -0
  53. package/lib/components/chart/radialBar/README.md +152 -0
  54. package/lib/components/chart/radialBar/radialChart.stories.tsx +136 -0
  55. package/lib/components/chart/rangeBarChart/README.md +323 -0
  56. package/lib/components/chart/rangeBarChart/rangeBarChart.stories.tsx +208 -0
  57. package/lib/components/chart/statsCard/README.md +97 -0
  58. package/lib/components/chart/statsCard/statsCard.stories.tsx +183 -0
  59. package/lib/components/chart/treemapChart/README.md +142 -0
  60. package/lib/components/chart/treemapChart/treemapChart.stories.tsx +122 -0
  61. package/lib/components/chat/chatAnchor/README.md +113 -0
  62. package/lib/components/chat/chatAnchor/chatAnchor.stories.tsx +156 -0
  63. package/lib/components/chat/chatBase/README.md +223 -0
  64. package/lib/components/chat/chatBase/chatBase.stories.tsx +306 -0
  65. package/lib/components/chat/chatDashboard/README.md +161 -0
  66. package/lib/components/chat/chatDashboard/chatDashboard.stories.tsx +154 -0
  67. package/lib/components/data/dataGraph/README.md +13 -0
  68. package/lib/components/data/dataGraph/dataGraph.stories.tsx +84 -0
  69. package/lib/components/data/dataReference/README.md +62 -0
  70. package/lib/components/data/dataReference/dataReference.stories.tsx +53 -0
  71. package/lib/components/data/dataTemplate/README.md +903 -0
  72. package/lib/components/data/dataTemplate/dataModule.stories.tsx +196 -0
  73. package/lib/components/data/dataTemplate/dataTemplate.stories.tsx +337 -0
  74. package/lib/components/data/dataWrapper/README.md +1077 -0
  75. package/lib/components/data/dataWrapper/dataWrapper.stories.tsx +831 -0
  76. package/lib/components/data/queryForm/README.md +56 -0
  77. package/lib/components/data/queryForm/queryForm.stories.tsx +85 -0
  78. package/lib/components/data/readQuery/README.md +282 -0
  79. package/lib/components/data/readQuery/readQuery.stories.tsx +256 -0
  80. package/lib/components/data/readQueryHoc/README.md +89 -0
  81. package/lib/components/data/readQueryHoc/readQueryHoc.stories.tsx +33 -0
  82. package/lib/components/data/writeQuery/README.md +178 -0
  83. package/lib/components/data/writeQuery/writeQuery.stories.tsx +209 -0
  84. package/lib/components/design/actionSection/README.md +47 -0
  85. package/lib/components/design/actionSection/actionSection.stories.tsx +74 -0
  86. package/lib/components/design/banner/README.md +43 -0
  87. package/lib/components/design/banner/banner.stories.tsx +34 -0
  88. package/lib/components/design/bannerAction/README.md +44 -0
  89. package/lib/components/design/bannerAction/bannerAction.stories.tsx +25 -0
  90. package/lib/components/design/blogSection/README.md +111 -0
  91. package/lib/components/design/blogSection/blogSection.stories.tsx +72 -0
  92. package/lib/components/design/carouselSection/README.md +82 -0
  93. package/lib/components/design/carouselSection/carouselSection.stories.tsx +52 -0
  94. package/lib/components/design/designList/README.md +60 -0
  95. package/lib/components/design/designList/designList.stories.tsx +44 -0
  96. package/lib/components/design/faq/README.md +121 -0
  97. package/lib/components/design/faq/faq.stories.tsx +103 -0
  98. package/lib/components/design/fileGrid/README.md +87 -0
  99. package/lib/components/design/fileGrid/fileGrid.stories.tsx +110 -0
  100. package/lib/components/design/fileViewer/README.md +40 -0
  101. package/lib/components/design/fileViewer/fileViewer.stories.tsx +28 -0
  102. package/lib/components/design/footerSection/README.md +62 -0
  103. package/lib/components/design/footerSection/footerSection.stories.tsx +84 -0
  104. package/lib/components/design/googleReview/README.md +45 -0
  105. package/lib/components/design/googleReview/googleReview.stories.tsx +33 -0
  106. package/lib/components/design/heroSection/README.md +48 -0
  107. package/lib/components/design/heroSection/heroSection.stories.tsx +85 -0
  108. package/lib/components/design/iconList/README.md +60 -0
  109. package/lib/components/design/iconList/iconList.stories.tsx +41 -0
  110. package/lib/components/design/imageGallery/README.md +56 -0
  111. package/lib/components/design/imageGallery/imageGallery.stories.tsx +45 -0
  112. package/lib/components/design/imageZoom/README.md +47 -0
  113. package/lib/components/design/imageZoom/imageZoom.stories.tsx +30 -0
  114. package/lib/components/design/leftContent/README.md +47 -0
  115. package/lib/components/design/leftContent/leftContent.stories.tsx +32 -0
  116. package/lib/components/design/logoCloud/README.md +42 -0
  117. package/lib/components/design/logoCloud/logoCloud.stories.tsx +44 -0
  118. package/lib/components/design/onboarding/README.md +100 -0
  119. package/lib/components/design/onboarding/onboarding.stories.tsx +113 -0
  120. package/lib/components/design/pricing/README.md +112 -0
  121. package/lib/components/design/pricing/pricing.stories.tsx +86 -0
  122. package/lib/components/design/rightContent/README.md +47 -0
  123. package/lib/components/design/rightContent/rightContent.stories.tsx +32 -0
  124. package/lib/components/design/sectionList/README.md +51 -0
  125. package/lib/components/design/sectionList/sectionList.stories.tsx +35 -0
  126. package/lib/components/design/teams/README.md +62 -0
  127. package/lib/components/design/teams/teams.stories.tsx +61 -0
  128. package/lib/components/display/alert/README.md +82 -0
  129. package/lib/components/display/alert/alert.stories.tsx +71 -0
  130. package/lib/components/display/calendar/README.md +113 -0
  131. package/lib/components/display/calendar/calendar.stories.tsx +159 -0
  132. package/lib/components/display/clipboard/README.md +36 -0
  133. package/lib/components/display/clipboard/clipboard.stories.tsx +32 -0
  134. package/lib/components/display/detailList/README.md +61 -0
  135. package/lib/components/display/detailList/detailList.stories.tsx +131 -0
  136. package/lib/components/display/drawer/README.md +74 -0
  137. package/lib/components/display/drawer/drawer.stories.tsx +66 -0
  138. package/lib/components/display/emptyState/README.md +38 -0
  139. package/lib/components/display/emptyState/emptyState.stories.tsx +22 -0
  140. package/lib/components/display/feeds/README.md +80 -0
  141. package/lib/components/display/feeds/feeds.stories.tsx +75 -0
  142. package/lib/components/display/flexTable/README.md +160 -0
  143. package/lib/components/display/flexTable/flexTable.stories.tsx +313 -0
  144. package/lib/components/display/grid/README.md +121 -0
  145. package/lib/components/display/grid/grid.stories.tsx +234 -0
  146. package/lib/components/display/kanban/README.md +78 -0
  147. package/lib/components/display/kanban/kanban.stories.tsx +133 -0
  148. package/lib/components/display/list/README.md +109 -0
  149. package/lib/components/display/list/list.stories.tsx +188 -0
  150. package/lib/components/display/loading/README.md +25 -0
  151. package/lib/components/display/loading/loading.stories.tsx +15 -0
  152. package/lib/components/display/mapView/README.md +99 -0
  153. package/lib/components/display/mapView/mapView.stories.tsx +225 -0
  154. package/lib/components/display/modal/README.md +43 -0
  155. package/lib/components/display/modal/modal.stories.tsx +81 -0
  156. package/lib/components/display/notification/README.md +43 -0
  157. package/lib/components/display/notification/notification.stories.tsx +30 -0
  158. package/lib/components/display/progress/README.md +25 -0
  159. package/lib/components/display/progress/progress.stories.tsx +15 -0
  160. package/lib/components/display/stepper/README.md +96 -0
  161. package/lib/components/display/stepper/stepper.stories.tsx +175 -0
  162. package/lib/components/display/table/README.md +176 -0
  163. package/lib/components/display/table/table.stories.tsx +330 -0
  164. package/lib/components/display/tag/README.md +74 -0
  165. package/lib/components/display/tag/tag.stories.tsx +79 -0
  166. package/lib/components/input/address/README.md +132 -0
  167. package/lib/components/input/address/address.stories.tsx +147 -0
  168. package/lib/components/input/canvas/README.md +131 -0
  169. package/lib/components/input/canvas/canvas.stories.tsx +165 -0
  170. package/lib/components/input/checkbox/README.md +61 -0
  171. package/lib/components/input/checkbox/checkbox.stories.tsx +30 -0
  172. package/lib/components/input/datePicker/README.md +124 -0
  173. package/lib/components/input/datePicker/datePicker.stories.tsx +197 -0
  174. package/lib/components/input/form/README.md +55 -0
  175. package/lib/components/input/form/form.stories.tsx +143 -0
  176. package/lib/components/input/markdown/README.md +146 -0
  177. package/lib/components/input/markdown/markdown.stories.tsx +40 -0
  178. package/lib/components/input/monthYearPicker/README.md +69 -0
  179. package/lib/components/input/monthYearPicker/monthYearPicker.stories.tsx +47 -0
  180. package/lib/components/input/netPromoterScore/README.md +52 -0
  181. package/lib/components/input/netPromoterScore/netPromoterScore.stories.tsx +30 -0
  182. package/lib/components/input/rating/README.md +51 -0
  183. package/lib/components/input/rating/rating.stories.tsx +30 -0
  184. package/lib/components/input/select/README.md +108 -0
  185. package/lib/components/input/select/select.stories.tsx +286 -0
  186. package/lib/components/input/signature/README.md +106 -0
  187. package/lib/components/input/signature/signature.stories.tsx +188 -0
  188. package/lib/components/input/textArea/README.md +55 -0
  189. package/lib/components/input/textArea/textArea.stories.tsx +30 -0
  190. package/lib/components/input/textInput/README.md +81 -0
  191. package/lib/components/input/textInput/textinput.stories.tsx +231 -0
  192. package/lib/components/input/uploadInput/README.md +134 -0
  193. package/lib/components/input/uploadInput/uploadInput.stories.tsx +193 -0
  194. package/lib/components/navigation/bars/README.md +40 -0
  195. package/lib/components/navigation/bars/bars.stories.tsx +85 -0
  196. package/lib/components/navigation/bottomTab/README.md +53 -0
  197. package/lib/components/navigation/bottomTab/bottomTab.stories.tsx +32 -0
  198. package/lib/components/navigation/breadcrumb/README.md +48 -0
  199. package/lib/components/navigation/breadcrumb/breadcrumb.stories.tsx +27 -0
  200. package/lib/components/navigation/header/README.md +149 -0
  201. package/lib/components/navigation/header/header.stories.tsx +107 -0
  202. package/lib/components/navigation/leftNav/README.md +91 -0
  203. package/lib/components/navigation/leftNav/leftNav.stories.tsx +106 -0
  204. package/lib/components/navigation/tabs/README.md +75 -0
  205. package/lib/components/navigation/tabs/tabs.stories.tsx +60 -0
  206. package/lib/components/structure/column/README.md +40 -0
  207. package/lib/components/structure/column/column.stories.tsx +26 -0
  208. package/lib/components/structure/container/README.md +34 -0
  209. package/lib/components/structure/container/container.stories.tsx +19 -0
  210. package/lib/components/structure/link/README.md +55 -0
  211. package/lib/components/structure/link/link.stories.tsx +30 -0
  212. package/lib/components/structure/text/README.md +42 -0
  213. package/lib/components/structure/text/text.stories.tsx +39 -0
  214. package/lib/components/template/authPage/authPage.stories.tsx +68 -0
  215. package/lib/components/template/landingPage/landingPage.stories.tsx +288 -0
  216. package/lib/components/template/productListing/productListing.stories.tsx +297 -0
  217. package/lib/components/template/productOverview/productOverview.stories.tsx +194 -0
  218. package/lib/components/template/shoppingCart/shoppingCart.stories.tsx +252 -0
  219. package/lib/components/template/userHomePage/userHomePage.stories.tsx +605 -0
  220. package/lib/components/template/userRankingDashboard/userRankingDashboard.stories.tsx +481 -0
  221. package/lib/mcp/server.d.ts +2 -0
  222. package/lib/mcp/server.d.ts.map +1 -0
  223. package/lib/mcp/server.js +33 -0
  224. package/lib/mcp/server.js.map +1 -0
  225. package/lib/mcp/tools/getBackendComponent.d.ts +13 -0
  226. package/lib/mcp/tools/getBackendComponent.d.ts.map +1 -0
  227. package/lib/mcp/tools/getBackendComponent.js +119 -0
  228. package/lib/mcp/tools/getBackendComponent.js.map +1 -0
  229. package/lib/mcp/tools/getComponent.d.ts +17 -0
  230. package/lib/mcp/tools/getComponent.d.ts.map +1 -0
  231. package/lib/mcp/tools/getComponent.js +118 -0
  232. package/lib/mcp/tools/getComponent.js.map +1 -0
  233. package/lib/mcp/tools/listComponents.d.ts +13 -0
  234. package/lib/mcp/tools/listComponents.d.ts.map +1 -0
  235. package/lib/mcp/tools/listComponents.js +113 -0
  236. package/lib/mcp/tools/listComponents.js.map +1 -0
  237. package/lib/mcp/tools/listTemplates.d.ts +13 -0
  238. package/lib/mcp/tools/listTemplates.d.ts.map +1 -0
  239. package/lib/mcp/tools/listTemplates.js +68 -0
  240. package/lib/mcp/tools/listTemplates.js.map +1 -0
  241. package/lib/mcp/tools/suggestTemplate.d.ts +17 -0
  242. package/lib/mcp/tools/suggestTemplate.d.ts.map +1 -0
  243. package/lib/mcp/tools/suggestTemplate.js +212 -0
  244. package/lib/mcp/tools/suggestTemplate.js.map +1 -0
  245. 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" | |