@sakaniui/react 0.1.0 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (161) hide show
  1. package/README.md +64 -17
  2. package/dist/TopBar-B88BmNES.js +3777 -0
  3. package/dist/TopBar-CM5noziF.cjs +1 -0
  4. package/dist/blocks/AccountOverviewBlock/AccountOverviewBlock.d.ts +8 -0
  5. package/dist/blocks/AccountOverviewBlock/index.d.ts +2 -0
  6. package/dist/blocks/ActivityLogBlock/ActivityLogBlock.d.ts +8 -0
  7. package/dist/blocks/ActivityLogBlock/index.d.ts +2 -0
  8. package/dist/blocks/AppHeaderBlock/AppHeaderBlock.d.ts +19 -0
  9. package/dist/blocks/AppHeaderBlock/index.d.ts +2 -0
  10. package/dist/blocks/Billing/AddCardFormBlock/AddCardFormBlock.d.ts +20 -0
  11. package/dist/blocks/Billing/AddCardFormBlock/index.d.ts +2 -0
  12. package/dist/blocks/Billing/BillingAddressBlock/BillingAddressBlock.d.ts +24 -0
  13. package/dist/blocks/Billing/BillingAddressBlock/index.d.ts +2 -0
  14. package/dist/blocks/Billing/BillingHistoryBlock/BillingHistoryBlock.d.ts +24 -0
  15. package/dist/blocks/Billing/BillingHistoryBlock/index.d.ts +2 -0
  16. package/dist/blocks/Billing/CurrentPlanBlock/CurrentPlanBlock.d.ts +29 -0
  17. package/dist/blocks/Billing/CurrentPlanBlock/index.d.ts +2 -0
  18. package/dist/blocks/Billing/PaymentMethodBlock/PaymentMethodBlock.d.ts +23 -0
  19. package/dist/blocks/Billing/PaymentMethodBlock/cardBrandIcons.d.ts +3 -0
  20. package/dist/blocks/Billing/PaymentMethodBlock/index.d.ts +3 -0
  21. package/dist/blocks/BlogListingBlock/BlogListingBlock.d.ts +33 -0
  22. package/dist/blocks/BlogListingBlock/index.d.ts +2 -0
  23. package/dist/blocks/CRMDashboardBlock/CRMDashboardBlock.d.ts +6 -0
  24. package/dist/blocks/CRMDashboardBlock/index.d.ts +2 -0
  25. package/dist/blocks/CareersBlock/CareersBlock.d.ts +16 -0
  26. package/dist/blocks/CareersBlock/index.d.ts +2 -0
  27. package/dist/blocks/ChatInterfaceBlock/ChatInterfaceBlock.d.ts +8 -0
  28. package/dist/blocks/ChatInterfaceBlock/index.d.ts +2 -0
  29. package/dist/blocks/CheckoutFlowBlock/CheckoutFlowBlock.d.ts +33 -0
  30. package/dist/blocks/CheckoutFlowBlock/index.d.ts +2 -0
  31. package/dist/blocks/CtaBannerBlock/CtaBannerBlock.d.ts +19 -0
  32. package/dist/blocks/CtaBannerBlock/index.d.ts +2 -0
  33. package/dist/blocks/DataTableBlock/DataTableBlock.d.ts +8 -0
  34. package/dist/blocks/DataTableBlock/index.d.ts +2 -0
  35. package/dist/blocks/EmailVerificationBlock/EmailVerificationBlock.d.ts +13 -0
  36. package/dist/blocks/EmailVerificationBlock/index.d.ts +2 -0
  37. package/dist/blocks/FaqBlock/FaqBlock.d.ts +17 -0
  38. package/dist/blocks/FaqBlock/index.d.ts +2 -0
  39. package/dist/blocks/FeatureGridBlock/FeatureGridBlock.d.ts +15 -0
  40. package/dist/blocks/FeatureGridBlock/index.d.ts +2 -0
  41. package/dist/blocks/FileUploadPanelBlock/FileUploadPanelBlock.d.ts +9 -0
  42. package/dist/blocks/FileUploadPanelBlock/index.d.ts +2 -0
  43. package/dist/blocks/ForgotPasswordBlock/ForgotPasswordBlock.d.ts +12 -0
  44. package/dist/blocks/ForgotPasswordBlock/index.d.ts +2 -0
  45. package/dist/blocks/FormModalBlock/FormModalBlock.d.ts +8 -0
  46. package/dist/blocks/FormModalBlock/index.d.ts +2 -0
  47. package/dist/blocks/HeroBlock/HeroBlock.d.ts +27 -0
  48. package/dist/blocks/HeroBlock/ScratchRevealImage.d.ts +11 -0
  49. package/dist/blocks/HeroBlock/index.d.ts +2 -0
  50. package/dist/blocks/InlineCtaBlock/InlineCtaBlock.d.ts +13 -0
  51. package/dist/blocks/InlineCtaBlock/index.d.ts +2 -0
  52. package/dist/blocks/KanbanBoardBlock/KanbanBoardBlock.d.ts +8 -0
  53. package/dist/blocks/KanbanBoardBlock/index.d.ts +2 -0
  54. package/dist/blocks/LoginBlock/LoginBlock.d.ts +18 -0
  55. package/dist/blocks/LoginBlock/index.d.ts +2 -0
  56. package/dist/blocks/LogoCloudBlock/LogoCloudBlock.d.ts +12 -0
  57. package/dist/blocks/LogoCloudBlock/brandLogos.d.ts +10 -0
  58. package/dist/blocks/LogoCloudBlock/index.d.ts +3 -0
  59. package/dist/blocks/MultistepModalBlock/MultistepModalBlock.d.ts +10 -0
  60. package/dist/blocks/MultistepModalBlock/index.d.ts +2 -0
  61. package/dist/blocks/NotificationPanelBlock/NotificationPanelBlock.d.ts +15 -0
  62. package/dist/blocks/NotificationPanelBlock/index.d.ts +2 -0
  63. package/dist/blocks/OnboardingProgressBlock/OnboardingProgressBlock.d.ts +15 -0
  64. package/dist/blocks/OnboardingProgressBlock/index.d.ts +2 -0
  65. package/dist/blocks/OrderConfirmationBlock/OrderConfirmationBlock.d.ts +25 -0
  66. package/dist/blocks/OrderConfirmationBlock/index.d.ts +2 -0
  67. package/dist/blocks/PricingTableBlock/PricingTableBlock.d.ts +26 -0
  68. package/dist/blocks/PricingTableBlock/index.d.ts +2 -0
  69. package/dist/blocks/ProductDetailBlock/ProductDetailBlock.d.ts +39 -0
  70. package/dist/blocks/ProductDetailBlock/index.d.ts +2 -0
  71. package/dist/blocks/ProductGridBlock/ProductGridBlock.d.ts +24 -0
  72. package/dist/blocks/ProductGridBlock/index.d.ts +2 -0
  73. package/dist/blocks/ProfileSettingsBlock/ProfileSettingsBlock.d.ts +13 -0
  74. package/dist/blocks/ProfileSettingsBlock/index.d.ts +2 -0
  75. package/dist/blocks/ResetPasswordBlock/ResetPasswordBlock.d.ts +11 -0
  76. package/dist/blocks/ResetPasswordBlock/index.d.ts +2 -0
  77. package/dist/blocks/SectionFooterBlock/SectionFooterBlock.d.ts +14 -0
  78. package/dist/blocks/SectionFooterBlock/index.d.ts +2 -0
  79. package/dist/blocks/ShoppingCartBlock/ShoppingCartBlock.d.ts +23 -0
  80. package/dist/blocks/ShoppingCartBlock/index.d.ts +2 -0
  81. package/dist/blocks/SignUpBlock/SignUpBlock.d.ts +20 -0
  82. package/dist/blocks/SignUpBlock/index.d.ts +2 -0
  83. package/dist/blocks/TeamSectionBlock/TeamSectionBlock.d.ts +16 -0
  84. package/dist/blocks/TeamSectionBlock/index.d.ts +2 -0
  85. package/dist/blocks/TestimonialBlock/TestimonialBlock.d.ts +13 -0
  86. package/dist/blocks/TestimonialBlock/index.d.ts +2 -0
  87. package/dist/blocks/TwoFactorAuthBlock/TwoFactorAuthBlock.d.ts +12 -0
  88. package/dist/blocks/TwoFactorAuthBlock/index.d.ts +2 -0
  89. package/dist/blocks/index.d.ts +90 -0
  90. package/dist/blocks.cjs +1 -0
  91. package/dist/blocks.d.ts +2 -0
  92. package/dist/blocks.mjs +5935 -0
  93. package/dist/components/ECommerceComponents/CartItem/CartItem.d.ts +21 -0
  94. package/dist/components/ECommerceComponents/CartItem/index.d.ts +2 -0
  95. package/dist/components/ECommerceComponents/CheckoutSteps/CheckoutSteps.d.ts +11 -0
  96. package/dist/components/ECommerceComponents/CheckoutSteps/index.d.ts +2 -0
  97. package/dist/components/ECommerceComponents/ColorSwatch/ColorSwatch.d.ts +14 -0
  98. package/dist/components/ECommerceComponents/ColorSwatch/index.d.ts +2 -0
  99. package/dist/components/ECommerceComponents/PriceDisplay/PriceDisplay.d.ts +12 -0
  100. package/dist/components/ECommerceComponents/PriceDisplay/index.d.ts +2 -0
  101. package/dist/components/ECommerceComponents/ProductCard/ProductCard.d.ts +28 -0
  102. package/dist/components/ECommerceComponents/ProductCard/index.d.ts +2 -0
  103. package/dist/components/ECommerceComponents/ProductGallery/ProductGallery.d.ts +17 -0
  104. package/dist/components/ECommerceComponents/ProductGallery/index.d.ts +2 -0
  105. package/dist/components/ECommerceComponents/QuantitySelector/QuantitySelector.d.ts +12 -0
  106. package/dist/components/ECommerceComponents/QuantitySelector/index.d.ts +2 -0
  107. package/dist/components/ECommerceComponents/SizeSelector/SizeSelector.d.ts +12 -0
  108. package/dist/components/ECommerceComponents/SizeSelector/index.d.ts +2 -0
  109. package/dist/components/ECommerceComponents/StarRating/StarRating.d.ts +15 -0
  110. package/dist/components/ECommerceComponents/StarRating/index.d.ts +2 -0
  111. package/dist/components/ECommerceComponents/StockStatus/StockStatus.d.ts +11 -0
  112. package/dist/components/ECommerceComponents/StockStatus/index.d.ts +2 -0
  113. package/dist/components/ECommerceComponents/WishlistButton/WishlistButton.d.ts +10 -0
  114. package/dist/components/ECommerceComponents/WishlistButton/index.d.ts +2 -0
  115. package/dist/components/MarketingComponents/BlogBlockquote/BlogBlockquote.d.ts +16 -0
  116. package/dist/components/MarketingComponents/BlogBlockquote/index.d.ts +2 -0
  117. package/dist/components/MarketingComponents/BlogFeatureText/BlogFeatureText.d.ts +10 -0
  118. package/dist/components/MarketingComponents/BlogFeatureText/index.d.ts +2 -0
  119. package/dist/components/MarketingComponents/BlogImage/BlogImage.d.ts +13 -0
  120. package/dist/components/MarketingComponents/BlogImage/index.d.ts +2 -0
  121. package/dist/components/MarketingComponents/BlogListingCard/BlogListingCard.d.ts +24 -0
  122. package/dist/components/MarketingComponents/BlogListingCard/index.d.ts +2 -0
  123. package/dist/components/MarketingComponents/BlogListingFeaturedCard/BlogListingFeaturedCard.d.ts +27 -0
  124. package/dist/components/MarketingComponents/BlogListingFeaturedCard/index.d.ts +2 -0
  125. package/dist/components/MarketingComponents/FeaturedIcon/FeaturedIcon.d.ts +13 -0
  126. package/dist/components/MarketingComponents/FeaturedIcon/index.d.ts +2 -0
  127. package/dist/components/MarketingComponents/FirstPageHeading/FirstPageHeading.d.ts +24 -0
  128. package/dist/components/MarketingComponents/FirstPageHeading/index.d.ts +2 -0
  129. package/dist/components/MarketingComponents/JobListing/JobListing.d.ts +19 -0
  130. package/dist/components/MarketingComponents/JobListing/index.d.ts +2 -0
  131. package/dist/components/MarketingComponents/List/List.d.ts +10 -0
  132. package/dist/components/MarketingComponents/List/index.d.ts +2 -0
  133. package/dist/components/MarketingComponents/LocationDot/LocationDot.d.ts +10 -0
  134. package/dist/components/MarketingComponents/LocationDot/index.d.ts +2 -0
  135. package/dist/components/MarketingComponents/Marquee/Marquee.d.ts +11 -0
  136. package/dist/components/MarketingComponents/Marquee/index.d.ts +2 -0
  137. package/dist/components/MarketingComponents/Metric/Metric.d.ts +10 -0
  138. package/dist/components/MarketingComponents/Metric/index.d.ts +2 -0
  139. package/dist/components/MarketingComponents/MobileNavigationMenu/MobileNavigationMenu.d.ts +19 -0
  140. package/dist/components/MarketingComponents/MobileNavigationMenu/index.d.ts +2 -0
  141. package/dist/components/MarketingComponents/PlaceholderLogo/PlaceholderLogo.d.ts +13 -0
  142. package/dist/components/MarketingComponents/PlaceholderLogo/index.d.ts +2 -0
  143. package/dist/components/MarketingComponents/ProfileCard/ProfileCard.d.ts +20 -0
  144. package/dist/components/MarketingComponents/ProfileCard/SocialIcons.d.ts +7 -0
  145. package/dist/components/MarketingComponents/ProfileCard/index.d.ts +2 -0
  146. package/dist/components/MarketingComponents/RichTextHeading/RichTextHeading.d.ts +10 -0
  147. package/dist/components/MarketingComponents/RichTextHeading/index.d.ts +2 -0
  148. package/dist/components/MarketingComponents/RichTextParagraph/RichTextParagraph.d.ts +7 -0
  149. package/dist/components/MarketingComponents/RichTextParagraph/index.d.ts +2 -0
  150. package/dist/components/MarketingComponents/SectionHeading/SectionHeading.d.ts +15 -0
  151. package/dist/components/MarketingComponents/SectionHeading/index.d.ts +2 -0
  152. package/dist/components/MarketingComponents/SubFeature/SubFeature.d.ts +14 -0
  153. package/dist/components/MarketingComponents/SubFeature/index.d.ts +2 -0
  154. package/dist/components/MarketingComponents/TeamCard/TeamCard.d.ts +23 -0
  155. package/dist/components/MarketingComponents/TeamCard/TeamSocialIcons.d.ts +10 -0
  156. package/dist/components/MarketingComponents/TeamCard/index.d.ts +2 -0
  157. package/dist/index.cjs +1 -1
  158. package/dist/index.d.ts +37 -0
  159. package/dist/index.mjs +2051 -4361
  160. package/dist/style.css +1 -1
  161. package/package.json +6 -1
package/README.md CHANGED
@@ -4,7 +4,7 @@ An open-source, token-driven React component library for SaaS products — **1,5
4
4
 
5
5
  **[Live Storybook →](https://main--6a5a658b3681fcc010430db5.chromatic.com)** · **[Figma file →](https://www.figma.com/design/Fd3uY263mEQKnaTEfrzQxh/)**
6
6
 
7
- ![License](https://img.shields.io/badge/license-MIT-blue) ![React](https://img.shields.io/badge/React-18-61dafb) ![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6) ![Storybook](https://img.shields.io/badge/Storybook-10-ff4785)
7
+ ![npm](https://img.shields.io/npm/v/@sakaniui/react) ![License](https://img.shields.io/badge/license-MIT-blue) ![React](https://img.shields.io/badge/React-19-61dafb) ![TypeScript](https://img.shields.io/badge/TypeScript-strict-3178c6) ![Storybook](https://img.shields.io/badge/Storybook-10-ff4785)
8
8
 
9
9
  ---
10
10
 
@@ -18,7 +18,19 @@ Most component libraries start in code and retrofit the design. Sakani was built
18
18
  - **Typed & composable** — strict TypeScript, generic `Table<T>`, slot-based composition, controlled + uncontrolled patterns
19
19
  - **Geist typography** and **Lucide icons** throughout, matching the Figma source exactly
20
20
 
21
- ## Quick start
21
+ ## Install
22
+
23
+ ```bash
24
+ npm install @sakaniui/react
25
+ ```
26
+
27
+ Then import the tokens once at your app's entry point, and any component from the package root:
28
+
29
+ ```tsx
30
+ import '@sakaniui/react/tokens.css';
31
+ ```
32
+
33
+ ## Quick start (contributing / browsing the source)
22
34
 
23
35
  ```bash
24
36
  git clone https://github.com/samzydd/Sakani-design-system.git
@@ -31,12 +43,11 @@ Storybook opens at `http://localhost:6006` with every component, all variants, a
31
43
 
32
44
  ## Usage
33
45
 
34
- Components live in `src/components`, tokens in `src/styles/tokens.css`. Import the tokens once, then use any component:
46
+ Import the tokens once, then use any component from `@sakaniui/react`:
35
47
 
36
48
  ```tsx
37
- import '@/styles/tokens.css';
38
- import { Button } from '@/components/Button';
39
- import { StatCard } from '@/components/StatCard';
49
+ import '@sakaniui/react/tokens.css';
50
+ import { Button, StatCard } from '@sakaniui/react';
40
51
  import { DollarSign } from 'lucide-react';
41
52
 
42
53
  export const Dashboard = () => (
@@ -73,7 +84,7 @@ Three layers, defined in Figma and exported to `tokens.css`:
73
84
 
74
85
  Change a semantic token and every component follows — in both the design file and the code.
75
86
 
76
- ## Components (66+, syncing toward Figma's 1,500+)
87
+ ## Components (114+, syncing toward Figma's 1,500+)
77
88
 
78
89
  **Core** — Button · Icon Button · Badge · Label · Divider · Link · Kbd · Spinner · Skeleton · Progress · Tooltip · Avatar · Avatar Group
79
90
 
@@ -83,26 +94,62 @@ Change a semantic token and every component follows — in both the design file
83
94
 
84
95
  **Sidebar kit** — Sidebar · Header · Search · Item · Sub Item · Group Label · Divider · Promo · Footer — nine standalone parts that compose into full navigation
85
96
 
97
+ **Navigation** — Top Bar · Top Bar (mobile)
98
+
99
+ **Overlays** — Menu · Menu Item
100
+
101
+ **Data** — Empty State · Filter Chip
102
+
86
103
  **Charts** — Area · Bar · Donut · Funnel · Heatmap · Line · Pie · Radar · Radial — Recharts wrappers styled entirely with the `chart/1–6` tokens
87
104
 
88
- ## Blocks
105
+ **Chat** — Chat Composer · Conversation Item · Message Bubble
106
+
107
+ **Application** — Activity Feed · Announcement · Avatar Upload · Balance · Code Snippet · Expenses · Inline Hint · Modal · Notification Item · Progress Item · Progress Stat · Rich Separator · Spending Balance · Stock Market · Tags · Ticker · Transactions
108
+
109
+ **E-commerce** — Cart Item · Checkout Steps · Color Swatch · Price Display · Product Card · Product Gallery · Quantity Selector · Size Selector · Star Rating · Stock Status · Wishlist Button
110
+
111
+ **Marketing** — Blog Blockquote · Blog Feature Text · Blog Image · Blog Listing Card · Blog Listing Featured Card · Featured Icon · First Page Heading · Job Listing · List · Location Dot · Marquee · Metric · Mobile Navigation Menu · Placeholder Logo · Profile Card · Rich Text Heading · Rich Text Paragraph · Section Heading · Sub Feature · Team Card
112
+
113
+ ## Blocks (41)
89
114
 
90
- Blocks are full sections assembled from Sakani components — **composition examples** you copy into your project and edit directly, rather than configurable components. Each ships with the states it needs (loading, empty, error, and so on).
115
+ Blocks are full sections assembled from Sakani components — **composition examples**, not fully-configurable components like the ones above. Most ship with realistic sample data and manage their own demo state internally (a `state` prop just switches between the states each one ships with — loading, empty, error, and so on). They're meant as a working starting point you customize, not a drop-in you configure entirely through props.
91
116
 
92
- They live in `src/blocks`:
117
+ They live in `src/blocks`, and are also published separately from the main package at **`@sakaniui/react/blocks`** — kept out of the main entry point on purpose, so importing them is a deliberate choice:
93
118
 
94
- | Block | States |
95
- |---|---|
96
- | **Data Table + Toolbar** | default · filtered · bulk selection · loading · empty · error |
97
- | **Kanban Board** | default · loading · empty column · dragging |
119
+ ```bash
120
+ npm install @sakaniui/react
121
+ ```
122
+
123
+ ```tsx
124
+ import { DataTableBlock } from '@sakaniui/react/blocks';
125
+
126
+ <DataTableBlock />
127
+ ```
128
+
129
+ To actually customize one, copy its source file straight from GitHub instead and edit it directly — that's still the intended workflow for anything beyond the states it ships with:
98
130
 
99
131
  ```tsx
100
- import { DataTableBlock } from '@/blocks/DataTableBlock';
132
+ // src/blocks/DataTableBlock/DataTableBlock.tsx, copied into your project
133
+ import { DataTableBlock } from './DataTableBlock';
101
134
 
102
- // Copy the file, swap the sample data for your own, edit the columns.
135
+ // Swap the sample data for your own, edit the columns.
103
136
  <DataTableBlock />
104
137
  ```
105
138
 
139
+ **Application (13)** — Account Overview · Activity Log · App Header · CRM Dashboard · Data Table + Toolbar · File Upload Panel · Form Modal · Inline CTA · Multistep Modal · Notification Panel · Onboarding Progress · Profile Settings · Section Footer
140
+
141
+ **Authentication (6)** — Email Verification · Forgot Password · Login · Reset Password · Sign Up · Two-Factor Authentication
142
+
143
+ **Billing (5)** — Add Card Form · Billing Address · Billing History · Current Plan · Payment Method
144
+
145
+ **E-commerce (5)** — Checkout Flow · Order Confirmation · Product Detail · Product Grid · Shopping Cart
146
+
147
+ **Marketing (10)** — Blog Listing · Careers · CTA Banner · FAQ · Feature Grid · Hero · Logo Cloud · Pricing Table · Team Section · Testimonial
148
+
149
+ **Chat (1)** — Desktop Chat Interface
150
+
151
+ **Data & Content (1)** — Kanban Board
152
+
106
153
  Browse every block and state in the [live Storybook](https://main--6a5a658b3681fcc010430db5.chromatic.com) under **Blocks**.
107
154
 
108
155
  ## Accessibility
@@ -111,7 +158,7 @@ The library ships with an audited AA baseline: contrast-checked token pairs in b
111
158
 
112
159
  ## Roadmap
113
160
 
114
- - [ ] npm package (`@sakani/react`)
161
+ - [x] npm package ([`@sakaniui/react`](https://www.npmjs.com/package/@sakaniui/react))
115
162
  - [ ] Figma Community publication
116
163
  - [ ] Theming CLI (custom brand token generation)
117
164
  - [ ] Vue port