@sakaniui/react 0.1.0 → 0.3.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 +64 -17
- package/dist/TopBar-B88BmNES.js +3777 -0
- package/dist/TopBar-CM5noziF.cjs +1 -0
- package/dist/blocks/AccountOverviewBlock/AccountOverviewBlock.d.ts +8 -0
- package/dist/blocks/AccountOverviewBlock/index.d.ts +2 -0
- package/dist/blocks/ActivityLogBlock/ActivityLogBlock.d.ts +8 -0
- package/dist/blocks/ActivityLogBlock/index.d.ts +2 -0
- package/dist/blocks/AppHeaderBlock/AppHeaderBlock.d.ts +19 -0
- package/dist/blocks/AppHeaderBlock/index.d.ts +2 -0
- package/dist/blocks/Billing/AddCardFormBlock/AddCardFormBlock.d.ts +20 -0
- package/dist/blocks/Billing/AddCardFormBlock/index.d.ts +2 -0
- package/dist/blocks/Billing/BillingAddressBlock/BillingAddressBlock.d.ts +24 -0
- package/dist/blocks/Billing/BillingAddressBlock/index.d.ts +2 -0
- package/dist/blocks/Billing/BillingHistoryBlock/BillingHistoryBlock.d.ts +24 -0
- package/dist/blocks/Billing/BillingHistoryBlock/index.d.ts +2 -0
- package/dist/blocks/Billing/CurrentPlanBlock/CurrentPlanBlock.d.ts +29 -0
- package/dist/blocks/Billing/CurrentPlanBlock/index.d.ts +2 -0
- package/dist/blocks/Billing/PaymentMethodBlock/PaymentMethodBlock.d.ts +23 -0
- package/dist/blocks/Billing/PaymentMethodBlock/cardBrandIcons.d.ts +3 -0
- package/dist/blocks/Billing/PaymentMethodBlock/index.d.ts +3 -0
- package/dist/blocks/BlogListingBlock/BlogListingBlock.d.ts +33 -0
- package/dist/blocks/BlogListingBlock/index.d.ts +2 -0
- package/dist/blocks/CRMDashboardBlock/CRMDashboardBlock.d.ts +6 -0
- package/dist/blocks/CRMDashboardBlock/index.d.ts +2 -0
- package/dist/blocks/CareersBlock/CareersBlock.d.ts +16 -0
- package/dist/blocks/CareersBlock/index.d.ts +2 -0
- package/dist/blocks/ChatInterfaceBlock/ChatInterfaceBlock.d.ts +8 -0
- package/dist/blocks/ChatInterfaceBlock/index.d.ts +2 -0
- package/dist/blocks/CheckoutFlowBlock/CheckoutFlowBlock.d.ts +33 -0
- package/dist/blocks/CheckoutFlowBlock/index.d.ts +2 -0
- package/dist/blocks/CtaBannerBlock/CtaBannerBlock.d.ts +19 -0
- package/dist/blocks/CtaBannerBlock/index.d.ts +2 -0
- package/dist/blocks/DataTableBlock/DataTableBlock.d.ts +8 -0
- package/dist/blocks/DataTableBlock/index.d.ts +2 -0
- package/dist/blocks/EmailVerificationBlock/EmailVerificationBlock.d.ts +13 -0
- package/dist/blocks/EmailVerificationBlock/index.d.ts +2 -0
- package/dist/blocks/FaqBlock/FaqBlock.d.ts +17 -0
- package/dist/blocks/FaqBlock/index.d.ts +2 -0
- package/dist/blocks/FeatureGridBlock/FeatureGridBlock.d.ts +15 -0
- package/dist/blocks/FeatureGridBlock/index.d.ts +2 -0
- package/dist/blocks/FileUploadPanelBlock/FileUploadPanelBlock.d.ts +9 -0
- package/dist/blocks/FileUploadPanelBlock/index.d.ts +2 -0
- package/dist/blocks/ForgotPasswordBlock/ForgotPasswordBlock.d.ts +12 -0
- package/dist/blocks/ForgotPasswordBlock/index.d.ts +2 -0
- package/dist/blocks/FormModalBlock/FormModalBlock.d.ts +8 -0
- package/dist/blocks/FormModalBlock/index.d.ts +2 -0
- package/dist/blocks/HeroBlock/HeroBlock.d.ts +27 -0
- package/dist/blocks/HeroBlock/ScratchRevealImage.d.ts +11 -0
- package/dist/blocks/HeroBlock/index.d.ts +2 -0
- package/dist/blocks/InlineCtaBlock/InlineCtaBlock.d.ts +13 -0
- package/dist/blocks/InlineCtaBlock/index.d.ts +2 -0
- package/dist/blocks/KanbanBoardBlock/KanbanBoardBlock.d.ts +8 -0
- package/dist/blocks/KanbanBoardBlock/index.d.ts +2 -0
- package/dist/blocks/LoginBlock/LoginBlock.d.ts +18 -0
- package/dist/blocks/LoginBlock/index.d.ts +2 -0
- package/dist/blocks/LogoCloudBlock/LogoCloudBlock.d.ts +12 -0
- package/dist/blocks/LogoCloudBlock/brandLogos.d.ts +10 -0
- package/dist/blocks/LogoCloudBlock/index.d.ts +3 -0
- package/dist/blocks/MultistepModalBlock/MultistepModalBlock.d.ts +10 -0
- package/dist/blocks/MultistepModalBlock/index.d.ts +2 -0
- package/dist/blocks/NotificationPanelBlock/NotificationPanelBlock.d.ts +15 -0
- package/dist/blocks/NotificationPanelBlock/index.d.ts +2 -0
- package/dist/blocks/OnboardingProgressBlock/OnboardingProgressBlock.d.ts +15 -0
- package/dist/blocks/OnboardingProgressBlock/index.d.ts +2 -0
- package/dist/blocks/OrderConfirmationBlock/OrderConfirmationBlock.d.ts +25 -0
- package/dist/blocks/OrderConfirmationBlock/index.d.ts +2 -0
- package/dist/blocks/PricingTableBlock/PricingTableBlock.d.ts +26 -0
- package/dist/blocks/PricingTableBlock/index.d.ts +2 -0
- package/dist/blocks/ProductDetailBlock/ProductDetailBlock.d.ts +39 -0
- package/dist/blocks/ProductDetailBlock/index.d.ts +2 -0
- package/dist/blocks/ProductGridBlock/ProductGridBlock.d.ts +24 -0
- package/dist/blocks/ProductGridBlock/index.d.ts +2 -0
- package/dist/blocks/ProfileSettingsBlock/ProfileSettingsBlock.d.ts +13 -0
- package/dist/blocks/ProfileSettingsBlock/index.d.ts +2 -0
- package/dist/blocks/ResetPasswordBlock/ResetPasswordBlock.d.ts +11 -0
- package/dist/blocks/ResetPasswordBlock/index.d.ts +2 -0
- package/dist/blocks/SectionFooterBlock/SectionFooterBlock.d.ts +14 -0
- package/dist/blocks/SectionFooterBlock/index.d.ts +2 -0
- package/dist/blocks/ShoppingCartBlock/ShoppingCartBlock.d.ts +23 -0
- package/dist/blocks/ShoppingCartBlock/index.d.ts +2 -0
- package/dist/blocks/SignUpBlock/SignUpBlock.d.ts +20 -0
- package/dist/blocks/SignUpBlock/index.d.ts +2 -0
- package/dist/blocks/TeamSectionBlock/TeamSectionBlock.d.ts +16 -0
- package/dist/blocks/TeamSectionBlock/index.d.ts +2 -0
- package/dist/blocks/TestimonialBlock/TestimonialBlock.d.ts +13 -0
- package/dist/blocks/TestimonialBlock/index.d.ts +2 -0
- package/dist/blocks/TwoFactorAuthBlock/TwoFactorAuthBlock.d.ts +12 -0
- package/dist/blocks/TwoFactorAuthBlock/index.d.ts +2 -0
- package/dist/blocks/index.d.ts +90 -0
- package/dist/blocks.cjs +1 -0
- package/dist/blocks.d.ts +2 -0
- package/dist/blocks.mjs +5935 -0
- package/dist/components/Combobox/Combobox.d.ts +2 -2
- package/dist/components/ECommerceComponents/CartItem/CartItem.d.ts +21 -0
- package/dist/components/ECommerceComponents/CartItem/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/CheckoutSteps/CheckoutSteps.d.ts +11 -0
- package/dist/components/ECommerceComponents/CheckoutSteps/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/ColorSwatch/ColorSwatch.d.ts +14 -0
- package/dist/components/ECommerceComponents/ColorSwatch/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/PriceDisplay/PriceDisplay.d.ts +12 -0
- package/dist/components/ECommerceComponents/PriceDisplay/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/ProductCard/ProductCard.d.ts +28 -0
- package/dist/components/ECommerceComponents/ProductCard/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/ProductGallery/ProductGallery.d.ts +17 -0
- package/dist/components/ECommerceComponents/ProductGallery/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/QuantitySelector/QuantitySelector.d.ts +12 -0
- package/dist/components/ECommerceComponents/QuantitySelector/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/SizeSelector/SizeSelector.d.ts +12 -0
- package/dist/components/ECommerceComponents/SizeSelector/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/StarRating/StarRating.d.ts +15 -0
- package/dist/components/ECommerceComponents/StarRating/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/StockStatus/StockStatus.d.ts +11 -0
- package/dist/components/ECommerceComponents/StockStatus/index.d.ts +2 -0
- package/dist/components/ECommerceComponents/WishlistButton/WishlistButton.d.ts +10 -0
- package/dist/components/ECommerceComponents/WishlistButton/index.d.ts +2 -0
- package/dist/components/MarketingComponents/BlogBlockquote/BlogBlockquote.d.ts +16 -0
- package/dist/components/MarketingComponents/BlogBlockquote/index.d.ts +2 -0
- package/dist/components/MarketingComponents/BlogFeatureText/BlogFeatureText.d.ts +10 -0
- package/dist/components/MarketingComponents/BlogFeatureText/index.d.ts +2 -0
- package/dist/components/MarketingComponents/BlogImage/BlogImage.d.ts +13 -0
- package/dist/components/MarketingComponents/BlogImage/index.d.ts +2 -0
- package/dist/components/MarketingComponents/BlogListingCard/BlogListingCard.d.ts +24 -0
- package/dist/components/MarketingComponents/BlogListingCard/index.d.ts +2 -0
- package/dist/components/MarketingComponents/BlogListingFeaturedCard/BlogListingFeaturedCard.d.ts +27 -0
- package/dist/components/MarketingComponents/BlogListingFeaturedCard/index.d.ts +2 -0
- package/dist/components/MarketingComponents/FeaturedIcon/FeaturedIcon.d.ts +13 -0
- package/dist/components/MarketingComponents/FeaturedIcon/index.d.ts +2 -0
- package/dist/components/MarketingComponents/FirstPageHeading/FirstPageHeading.d.ts +24 -0
- package/dist/components/MarketingComponents/FirstPageHeading/index.d.ts +2 -0
- package/dist/components/MarketingComponents/JobListing/JobListing.d.ts +19 -0
- package/dist/components/MarketingComponents/JobListing/index.d.ts +2 -0
- package/dist/components/MarketingComponents/List/List.d.ts +10 -0
- package/dist/components/MarketingComponents/List/index.d.ts +2 -0
- package/dist/components/MarketingComponents/LocationDot/LocationDot.d.ts +10 -0
- package/dist/components/MarketingComponents/LocationDot/index.d.ts +2 -0
- package/dist/components/MarketingComponents/Marquee/Marquee.d.ts +11 -0
- package/dist/components/MarketingComponents/Marquee/index.d.ts +2 -0
- package/dist/components/MarketingComponents/Metric/Metric.d.ts +10 -0
- package/dist/components/MarketingComponents/Metric/index.d.ts +2 -0
- package/dist/components/MarketingComponents/MobileNavigationMenu/MobileNavigationMenu.d.ts +19 -0
- package/dist/components/MarketingComponents/MobileNavigationMenu/index.d.ts +2 -0
- package/dist/components/MarketingComponents/PlaceholderLogo/PlaceholderLogo.d.ts +13 -0
- package/dist/components/MarketingComponents/PlaceholderLogo/index.d.ts +2 -0
- package/dist/components/MarketingComponents/ProfileCard/ProfileCard.d.ts +20 -0
- package/dist/components/MarketingComponents/ProfileCard/SocialIcons.d.ts +7 -0
- package/dist/components/MarketingComponents/ProfileCard/index.d.ts +2 -0
- package/dist/components/MarketingComponents/RichTextHeading/RichTextHeading.d.ts +10 -0
- package/dist/components/MarketingComponents/RichTextHeading/index.d.ts +2 -0
- package/dist/components/MarketingComponents/RichTextParagraph/RichTextParagraph.d.ts +7 -0
- package/dist/components/MarketingComponents/RichTextParagraph/index.d.ts +2 -0
- package/dist/components/MarketingComponents/SectionHeading/SectionHeading.d.ts +15 -0
- package/dist/components/MarketingComponents/SectionHeading/index.d.ts +2 -0
- package/dist/components/MarketingComponents/SubFeature/SubFeature.d.ts +14 -0
- package/dist/components/MarketingComponents/SubFeature/index.d.ts +2 -0
- package/dist/components/MarketingComponents/TeamCard/TeamCard.d.ts +23 -0
- package/dist/components/MarketingComponents/TeamCard/TeamSocialIcons.d.ts +10 -0
- package/dist/components/MarketingComponents/TeamCard/index.d.ts +2 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +37 -0
- package/dist/index.mjs +2051 -4361
- package/dist/style.css +1 -1
- 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
|
-
     
|
|
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
|
-
##
|
|
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
|
-
|
|
46
|
+
Import the tokens once, then use any component from `@sakaniui/react`:
|
|
35
47
|
|
|
36
48
|
```tsx
|
|
37
|
-
import '
|
|
38
|
-
import { Button } from '
|
|
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 (
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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
|
-
|
|
132
|
+
// src/blocks/DataTableBlock/DataTableBlock.tsx, copied into your project
|
|
133
|
+
import { DataTableBlock } from './DataTableBlock';
|
|
101
134
|
|
|
102
|
-
//
|
|
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
|
-
- [
|
|
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
|