@sellhapi/studio-runtime 0.1.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 (75) hide show
  1. package/dist/components/AppointmentBooker.d.ts +7 -0
  2. package/dist/components/AppointmentBooker.d.ts.map +1 -0
  3. package/dist/components/ArticleCard.d.ts +6 -0
  4. package/dist/components/ArticleCard.d.ts.map +1 -0
  5. package/dist/components/ArticleGrid.d.ts +8 -0
  6. package/dist/components/ArticleGrid.d.ts.map +1 -0
  7. package/dist/components/DonationCampaignGrid.d.ts +7 -0
  8. package/dist/components/DonationCampaignGrid.d.ts.map +1 -0
  9. package/dist/components/DonationForm.d.ts +9 -0
  10. package/dist/components/DonationForm.d.ts.map +1 -0
  11. package/dist/components/EventCard.d.ts +6 -0
  12. package/dist/components/EventCard.d.ts.map +1 -0
  13. package/dist/components/EventGrid.d.ts +8 -0
  14. package/dist/components/EventGrid.d.ts.map +1 -0
  15. package/dist/components/MembershipTiers.d.ts +6 -0
  16. package/dist/components/MembershipTiers.d.ts.map +1 -0
  17. package/dist/components/ProductCard.d.ts +6 -0
  18. package/dist/components/ProductCard.d.ts.map +1 -0
  19. package/dist/components/ProductGrid.d.ts +9 -0
  20. package/dist/components/ProductGrid.d.ts.map +1 -0
  21. package/dist/components/RSVPForm.d.ts +7 -0
  22. package/dist/components/RSVPForm.d.ts.map +1 -0
  23. package/dist/context.d.ts +26 -0
  24. package/dist/context.d.ts.map +1 -0
  25. package/dist/hooks/useArticles.d.ts +12 -0
  26. package/dist/hooks/useArticles.d.ts.map +1 -0
  27. package/dist/hooks/useBookAppointment.d.ts +26 -0
  28. package/dist/hooks/useBookAppointment.d.ts.map +1 -0
  29. package/dist/hooks/useCart.d.ts +63 -0
  30. package/dist/hooks/useCart.d.ts.map +1 -0
  31. package/dist/hooks/useCheckoutConfig.d.ts +21 -0
  32. package/dist/hooks/useCheckoutConfig.d.ts.map +1 -0
  33. package/dist/hooks/useCollection.d.ts +12 -0
  34. package/dist/hooks/useCollection.d.ts.map +1 -0
  35. package/dist/hooks/useContentForm.d.ts +31 -0
  36. package/dist/hooks/useContentForm.d.ts.map +1 -0
  37. package/dist/hooks/useContentItems.d.ts +122 -0
  38. package/dist/hooks/useContentItems.d.ts.map +1 -0
  39. package/dist/hooks/useCreateRSVP.d.ts +10 -0
  40. package/dist/hooks/useCreateRSVP.d.ts.map +1 -0
  41. package/dist/hooks/useDigitalProducts.d.ts +8 -0
  42. package/dist/hooks/useDigitalProducts.d.ts.map +1 -0
  43. package/dist/hooks/useDonate.d.ts +8 -0
  44. package/dist/hooks/useDonate.d.ts.map +1 -0
  45. package/dist/hooks/useDonationCampaigns.d.ts +10 -0
  46. package/dist/hooks/useDonationCampaigns.d.ts.map +1 -0
  47. package/dist/hooks/useEvents.d.ts +10 -0
  48. package/dist/hooks/useEvents.d.ts.map +1 -0
  49. package/dist/hooks/useFetch.d.ts +14 -0
  50. package/dist/hooks/useFetch.d.ts.map +1 -0
  51. package/dist/hooks/useMemberships.d.ts +5 -0
  52. package/dist/hooks/useMemberships.d.ts.map +1 -0
  53. package/dist/hooks/useProductCheckout.d.ts +15 -0
  54. package/dist/hooks/useProductCheckout.d.ts.map +1 -0
  55. package/dist/hooks/useProducts.d.ts +19 -0
  56. package/dist/hooks/useProducts.d.ts.map +1 -0
  57. package/dist/hooks/usePurchaseTickets.d.ts +8 -0
  58. package/dist/hooks/usePurchaseTickets.d.ts.map +1 -0
  59. package/dist/hooks/useServices.d.ts +8 -0
  60. package/dist/hooks/useServices.d.ts.map +1 -0
  61. package/dist/hooks/useShippingRates.d.ts +12 -0
  62. package/dist/hooks/useShippingRates.d.ts.map +1 -0
  63. package/dist/hooks/useStudioEditMode.d.ts +19 -0
  64. package/dist/hooks/useStudioEditMode.d.ts.map +1 -0
  65. package/dist/hooks/useSubscribeMembership.d.ts +8 -0
  66. package/dist/hooks/useSubscribeMembership.d.ts.map +1 -0
  67. package/dist/hooks/useValidateDiscount.d.ts +21 -0
  68. package/dist/hooks/useValidateDiscount.d.ts.map +1 -0
  69. package/dist/index.cjs +1594 -0
  70. package/dist/index.d.ts +104 -0
  71. package/dist/index.d.ts.map +1 -0
  72. package/dist/index.js +1571 -0
  73. package/dist/types/index.d.ts +162 -0
  74. package/dist/types/index.d.ts.map +1 -0
  75. package/package.json +34 -0
@@ -0,0 +1,162 @@
1
+ /**
2
+ * Storefront data types for @sellhapi/studio-runtime
3
+ *
4
+ * These are the shapes returned by hooks and consumed by components.
5
+ * All monetary values are in kobo (integer × 100 = Naira).
6
+ */
7
+ export interface StoreProduct {
8
+ id: string;
9
+ name: string;
10
+ description: string | null;
11
+ price: number;
12
+ priceKobo: number;
13
+ imageUrl: string | null;
14
+ type: "physical" | "digital";
15
+ slug: string | null;
16
+ categoryId: string | null;
17
+ }
18
+ export interface StoreProductVariant {
19
+ id: string;
20
+ name: string;
21
+ priceKobo: number;
22
+ sku: string | null;
23
+ stock: number | null;
24
+ }
25
+ export interface StoreProductDetail extends StoreProduct {
26
+ variants: StoreProductVariant[];
27
+ }
28
+ export interface StorefrontTicketType {
29
+ id: string;
30
+ name: string;
31
+ priceKobo: number;
32
+ capacity: number | null;
33
+ sold: number;
34
+ available: number | null;
35
+ }
36
+ export interface StorefrontEvent {
37
+ id: string;
38
+ title: string;
39
+ description: string | null;
40
+ startsAt: string;
41
+ endsAt: string | null;
42
+ location: string | null;
43
+ imageUrl: string | null;
44
+ status: string;
45
+ ticketTypes: StorefrontTicketType[];
46
+ }
47
+ export interface StorefrontMembershipTier {
48
+ id: string;
49
+ name: string;
50
+ description: string | null;
51
+ priceKobo: number;
52
+ billingPeriod: "monthly" | "yearly";
53
+ benefits: string[];
54
+ isActive: boolean;
55
+ }
56
+ export interface StorefrontService {
57
+ id: string;
58
+ name: string;
59
+ description: string | null;
60
+ priceKobo: number;
61
+ durationMinutes: number;
62
+ isActive: boolean;
63
+ imageUrl: string | null;
64
+ }
65
+ export interface StorefrontArticle {
66
+ id: string;
67
+ title: string;
68
+ slug: string;
69
+ excerpt: string | null;
70
+ coverUrl: string | null;
71
+ publishedAt: string;
72
+ author: {
73
+ name: string;
74
+ avatarUrl: string | null;
75
+ } | null;
76
+ category: {
77
+ name: string;
78
+ slug: string;
79
+ } | null;
80
+ tags: string[];
81
+ }
82
+ export interface StorefrontDonationCampaign {
83
+ id: string;
84
+ title: string;
85
+ description: string | null;
86
+ coverImageUrl: string | null;
87
+ status: "active" | "paused" | "ended";
88
+ goalAmountKobo: number | null;
89
+ raisedAmountKobo: number;
90
+ donorCount: number;
91
+ /**
92
+ * Fixed-amount mode. When non-null, the contributor pays exactly this amount —
93
+ * no amount input is shown on the storefront. null = open-amount mode.
94
+ */
95
+ fixedAmountKobo: number | null;
96
+ minDonationKobo: number;
97
+ maxDonationKobo: number | null;
98
+ presetAmounts: number[];
99
+ isAnonymousAllowed: boolean;
100
+ showGoalProgress: boolean;
101
+ showDonorCount: boolean;
102
+ endsAt: string | null;
103
+ }
104
+ export interface RSVPInput {
105
+ eventId: string;
106
+ name: string;
107
+ email: string;
108
+ phone?: string;
109
+ }
110
+ export interface CommerceCustomer {
111
+ name: string;
112
+ email: string;
113
+ phone: string;
114
+ address?: string;
115
+ }
116
+ /** Returned by all commerce action hooks after initiate() resolves */
117
+ export interface CommerceActionResult {
118
+ paymentLink: string;
119
+ orderId?: string;
120
+ reference?: string;
121
+ }
122
+ export interface AvailabilitySlot {
123
+ id: string;
124
+ startTime: string;
125
+ endTime: string;
126
+ available: boolean;
127
+ }
128
+ export interface BookAppointmentInput {
129
+ serviceId: string;
130
+ staffMemberId: string;
131
+ slotId: string;
132
+ customer: CommerceCustomer;
133
+ note?: string;
134
+ }
135
+ export interface TicketOrder {
136
+ ticketTypeId: string;
137
+ quantity: number;
138
+ }
139
+ export interface PurchaseTicketsInput {
140
+ eventId: string;
141
+ ticketOrders: TicketOrder[];
142
+ customer: CommerceCustomer;
143
+ }
144
+ export interface DonateInput {
145
+ campaignId: string;
146
+ amountKobo: number;
147
+ customer: CommerceCustomer;
148
+ isAnonymous?: boolean;
149
+ donorMessage?: string;
150
+ }
151
+ export interface SubscribeMembershipInput {
152
+ tierId: string;
153
+ customer: CommerceCustomer;
154
+ }
155
+ export interface ProductCheckoutInput {
156
+ productId: string;
157
+ quantity: number;
158
+ variantId?: string;
159
+ customer: CommerceCustomer;
160
+ deliveryMethod?: "delivery" | "pickup";
161
+ }
162
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,34 @@
1
+ {
2
+ "name": "@sellhapi/studio-runtime",
3
+ "version": "0.1.0",
4
+ "description": "SellHapi Studio Runtime — hooks and components for AI-generated storefronts",
5
+ "type": "module",
6
+ "main": "./dist/index.cjs",
7
+ "module": "./dist/index.js",
8
+ "types": "./dist/index.d.ts",
9
+ "exports": {
10
+ ".": {
11
+ "types": "./dist/index.d.ts",
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ }
15
+ },
16
+ "files": ["dist"],
17
+ "scripts": {
18
+ "build": "node build.mjs",
19
+ "prepublish": "node build.mjs"
20
+ },
21
+ "peerDependencies": {
22
+ "react": ">=18.0.0",
23
+ "react-dom": ">=18.0.0"
24
+ },
25
+ "devDependencies": {
26
+ "@types/react": "^18.3.0",
27
+ "@types/react-dom": "^18.3.0",
28
+ "esbuild": "^0.25.12",
29
+ "typescript": "^6.0.3"
30
+ },
31
+ "keywords": ["sellhapi", "studio", "runtime", "storefront", "hooks", "components"],
32
+ "author": "SellHapi",
33
+ "license": "MIT"
34
+ }