payaza-storefront-layouts 1.0.0 → 1.0.2
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 +384 -33
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -0
- package/dist/json/booking-agenda.json +150 -2
- package/dist/json/booking.json +163 -10
- package/dist/json/clothing-minimal.json +181 -4
- package/dist/json/clothing.json +235 -23
- package/dist/json/electronics-grid.json +230 -2
- package/dist/json/electronics.json +261 -8
- package/dist/json/food-modern.json +159 -6
- package/dist/json/food.json +213 -15
- package/dist/json/motivational-speaker.json +270 -5
- package/dist/layouts/booking/components/BookingHomePage.js +1 -1
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.d.ts.map +1 -1
- package/dist/layouts/booking-agenda/components/BookingHomePageAgenda.js +1 -1
- package/dist/layouts/clothing/components/ClothingHomePage.js +1 -1
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -1
- package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +1 -1
- package/dist/layouts/electronics/components/ElectronicsHomePage.d.ts.map +1 -1
- package/dist/layouts/electronics/components/ElectronicsHomePage.js +1 -1
- package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +1 -1
- package/dist/layouts/electronics-grid/pages/CategoriesPage.js +1 -1
- package/dist/layouts/food/components/FoodHomePage.d.ts.map +1 -1
- package/dist/layouts/food/components/FoodHomePage.js +2 -2
- package/dist/layouts/food-modern/components/FoodHomePageModern.d.ts.map +1 -1
- package/dist/layouts/food-modern/components/FoodHomePageModern.js +1 -1
- package/dist/layouts/motivational-speaker/components/MotivationalHomePage.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
# storefront-layouts
|
|
1
|
+
# @payaza/storefront-layouts
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
A comprehensive package of shared layout components, utilities, and services for StoreFront applications. This package contains all layout components, UI components, hooks, contexts, and utility functions used across Payaza StoreFront applications.
|
|
4
4
|
|
|
5
5
|
## Overview
|
|
6
6
|
|
|
7
|
-
This package
|
|
7
|
+
This package provides a complete set of reusable layout components that are data-agnostic and accept `storeConfig` as props, allowing multiple stores to use the same layout instances with different data. It includes:
|
|
8
|
+
|
|
9
|
+
- **9 Layout Types**: Food, Food Modern, Clothing, Clothing Minimal, Booking, Booking Agenda, Electronics, Electronics Grid, and Motivational Speaker
|
|
10
|
+
- **Shared Components**: Base layouts, headers, footers, and common page components
|
|
11
|
+
- **UI Components**: Buttons, modals, toasts, product cards, and more
|
|
12
|
+
- **Learning Components**: Certificate templates, mentorship progress, and certificate viewer
|
|
13
|
+
- **Services**: API services for checkout, payment, shipping, orders, and more
|
|
14
|
+
- **Utilities**: Asset helpers, currency formatting, demo detection, and more
|
|
15
|
+
- **Contexts**: Auth, Store, and Loading contexts
|
|
8
16
|
|
|
9
17
|
## Installation
|
|
10
18
|
|
|
11
19
|
```bash
|
|
12
|
-
npm install storefront-layouts
|
|
20
|
+
npm install @payaza/storefront-layouts
|
|
13
21
|
```
|
|
14
22
|
|
|
15
23
|
Or using npm workspaces:
|
|
@@ -17,62 +25,363 @@ Or using npm workspaces:
|
|
|
17
25
|
```json
|
|
18
26
|
{
|
|
19
27
|
"dependencies": {
|
|
20
|
-
"storefront-layouts": "workspace:*"
|
|
28
|
+
"@payaza/storefront-layouts": "workspace:*"
|
|
21
29
|
}
|
|
22
30
|
}
|
|
23
31
|
```
|
|
24
32
|
|
|
33
|
+
## Peer Dependencies
|
|
34
|
+
|
|
35
|
+
This package requires the following peer dependencies (must be installed in your project):
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"framer-motion": "^12.0.0",
|
|
40
|
+
"next": "^16.0.3",
|
|
41
|
+
"react": "^19.2.0",
|
|
42
|
+
"react-dom": "^19.2.0"
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
25
46
|
## Usage
|
|
26
47
|
|
|
27
|
-
###
|
|
48
|
+
### Basic Layout Usage
|
|
28
49
|
|
|
29
50
|
```typescript
|
|
30
|
-
import { FoodHomePage } from 'storefront-layouts';
|
|
51
|
+
import { FoodHomePage, FoodProductsPage, FoodProductDetailPage } from '@payaza/storefront-layouts';
|
|
31
52
|
|
|
32
53
|
export default function StorePage({ storeConfig }) {
|
|
33
54
|
return <FoodHomePage storeConfig={storeConfig} />;
|
|
34
55
|
}
|
|
35
56
|
```
|
|
36
57
|
|
|
37
|
-
###
|
|
58
|
+
### Using Layout-Specific Pages
|
|
59
|
+
|
|
60
|
+
```typescript
|
|
61
|
+
import {
|
|
62
|
+
FoodProductsPage,
|
|
63
|
+
FoodProductDetailPage,
|
|
64
|
+
FoodCategoryPage,
|
|
65
|
+
FoodCategoriesPage,
|
|
66
|
+
FoodMenuPage,
|
|
67
|
+
FoodAboutPage,
|
|
68
|
+
FoodContactPage
|
|
69
|
+
} from '@payaza/storefront-layouts';
|
|
70
|
+
|
|
71
|
+
// Use layout-specific pages
|
|
72
|
+
<FoodProductsPage storeConfig={storeConfig} />
|
|
73
|
+
<FoodProductDetailPage storeConfig={storeConfig} productId="123" />
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
### Using Shared Components
|
|
77
|
+
|
|
78
|
+
```typescript
|
|
79
|
+
import {
|
|
80
|
+
BaseStoreLayout,
|
|
81
|
+
GenericPageWrapper,
|
|
82
|
+
StoreHeader,
|
|
83
|
+
StoreFooter,
|
|
84
|
+
AccountPage,
|
|
85
|
+
CartPage,
|
|
86
|
+
CheckoutPage
|
|
87
|
+
} from '@payaza/storefront-layouts';
|
|
88
|
+
|
|
89
|
+
<BaseStoreLayout storeConfig={storeConfig}>
|
|
90
|
+
{/* Your content */}
|
|
91
|
+
</BaseStoreLayout>
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
### Using Learning Components
|
|
95
|
+
|
|
96
|
+
```typescript
|
|
97
|
+
import {
|
|
98
|
+
CertificateCard,
|
|
99
|
+
CertificateViewer,
|
|
100
|
+
MentorshipProgress
|
|
101
|
+
} from '@payaza/storefront-layouts';
|
|
102
|
+
|
|
103
|
+
<CertificateCard
|
|
104
|
+
certificate={certificateData}
|
|
105
|
+
onDownload={(id) => console.log('Download', id)}
|
|
106
|
+
/>
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### Using Utilities
|
|
38
110
|
|
|
39
111
|
```typescript
|
|
40
|
-
import {
|
|
112
|
+
import {
|
|
113
|
+
formatCurrency,
|
|
114
|
+
filterActiveServices,
|
|
115
|
+
getBannerImage,
|
|
116
|
+
getServiceImage,
|
|
117
|
+
getThemeColor,
|
|
118
|
+
isDemoStore,
|
|
119
|
+
shouldUseAPI
|
|
120
|
+
} from '@payaza/storefront-layouts';
|
|
121
|
+
|
|
122
|
+
const price = formatCurrency(1000, 'NGN'); // "₦1,000.00"
|
|
123
|
+
const activeServices = filterActiveServices(services);
|
|
124
|
+
const bannerUrl = getBannerImage(storeConfig);
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
### Using JSON Layout Data
|
|
128
|
+
|
|
129
|
+
```typescript
|
|
130
|
+
import { getLayoutJSON, layoutJSONMap } from '@payaza/storefront-layouts/json';
|
|
41
131
|
|
|
42
132
|
const layoutData = getLayoutJSON('food');
|
|
133
|
+
// or
|
|
134
|
+
const layoutData = layoutJSONMap.get('food');
|
|
43
135
|
```
|
|
44
136
|
|
|
45
137
|
## Available Layouts
|
|
46
138
|
|
|
47
|
-
|
|
48
|
-
- `
|
|
49
|
-
- `
|
|
50
|
-
- `
|
|
51
|
-
- `
|
|
52
|
-
- `
|
|
53
|
-
- `
|
|
54
|
-
- `
|
|
55
|
-
- `
|
|
56
|
-
|
|
139
|
+
### Food Layouts
|
|
140
|
+
- `FoodHomePage` - Main homepage component
|
|
141
|
+
- `FoodProductsPage` - Products listing page
|
|
142
|
+
- `FoodProductDetailPage` - Product detail page
|
|
143
|
+
- `FoodCategoryPage` - Category detail page
|
|
144
|
+
- `FoodCategoriesPage` - Categories listing page
|
|
145
|
+
- `FoodMenuPage` - Menu page
|
|
146
|
+
- `FoodAboutPage` - About page
|
|
147
|
+
- `FoodContactPage` - Contact page
|
|
148
|
+
|
|
149
|
+
### Food Modern Layouts
|
|
150
|
+
- `FoodHomePageModern` - Modern food homepage
|
|
151
|
+
- `FoodModernProductsPage` - Modern products page
|
|
152
|
+
- `FoodModernProductDetailPage` - Modern product detail
|
|
153
|
+
- `FoodModernCategoryPage` - Modern category page
|
|
154
|
+
- `FoodModernCategoriesPage` - Modern categories page
|
|
155
|
+
- `FoodModernMenuPage` - Modern menu page
|
|
156
|
+
- `FoodModernAboutPage` - Modern about page
|
|
157
|
+
- `FoodModernContactPage` - Modern contact page
|
|
158
|
+
|
|
159
|
+
### Clothing Layouts
|
|
160
|
+
- `ClothingHomePage` - Clothing homepage
|
|
161
|
+
- `ClothingProductsPage` - Products page
|
|
162
|
+
- `ClothingProductDetailPage` - Product detail
|
|
163
|
+
- `ClothingCategoryPage` - Category page
|
|
164
|
+
- `ClothingCategoriesPage` - Categories page
|
|
165
|
+
- `ClothingAboutPage` - About page
|
|
166
|
+
- `ClothingContactPage` - Contact page
|
|
167
|
+
|
|
168
|
+
### Clothing Minimal Layouts
|
|
169
|
+
- `ClothingHomePageMinimal` - Minimal clothing homepage
|
|
170
|
+
- `ClothingMinimalProductsPage` - Minimal products page
|
|
171
|
+
- `ClothingMinimalProductDetailPage` - Minimal product detail
|
|
172
|
+
- `ClothingMinimalCategoryPage` - Minimal category page
|
|
173
|
+
- `ClothingMinimalCategoriesPage` - Minimal categories page
|
|
174
|
+
- `ClothingMinimalAboutPage` - Minimal about page
|
|
175
|
+
- `ClothingMinimalContactPage` - Minimal contact page
|
|
176
|
+
|
|
177
|
+
### Booking Layouts
|
|
178
|
+
- `BookingHomePage` - Booking homepage
|
|
179
|
+
- `BookingBookPage` - Book appointment page
|
|
180
|
+
- `BookingServicesPage` - Services listing page
|
|
181
|
+
- `BookingProductDetailPage` - Service detail page
|
|
182
|
+
- `BookingCategoryPage` - Category page
|
|
183
|
+
- `BookingCategoriesPage` - Categories page
|
|
184
|
+
- `BookingAboutPage` - About page
|
|
185
|
+
- `BookingContactPage` - Contact page
|
|
186
|
+
|
|
187
|
+
### Booking Agenda Layouts
|
|
188
|
+
- `BookingHomePageAgenda` - Agenda-based booking homepage
|
|
189
|
+
- `BookingAgendaBookPage` - Agenda book page
|
|
190
|
+
- `BookingAgendaServicesPage` - Agenda services page
|
|
191
|
+
- `BookingAgendaProductDetailPage` - Agenda service detail
|
|
192
|
+
- `BookingAgendaCategoryPage` - Agenda category page
|
|
193
|
+
- `BookingAgendaCategoriesPage` - Agenda categories page
|
|
194
|
+
- `BookingAgendaAboutPage` - Agenda about page
|
|
195
|
+
- `BookingAgendaContactPage` - Agenda contact page
|
|
196
|
+
|
|
197
|
+
### Electronics Layouts
|
|
198
|
+
- `ElectronicsHomePage` - Electronics homepage
|
|
199
|
+
- `ElectronicsProductsPage` - Products page
|
|
200
|
+
- `ElectronicsProductDetailPage` - Product detail
|
|
201
|
+
- `ElectronicsCategoryPage` - Category page
|
|
202
|
+
- `ElectronicsCategoriesPage` - Categories page
|
|
203
|
+
- `ElectronicsAboutPage` - About page
|
|
204
|
+
- `ElectronicsContactPage` - Contact page
|
|
205
|
+
- `ElectronicsHelpCenterPage` - Help center page
|
|
206
|
+
- `ElectronicsPrivacyPolicyPage` - Privacy policy page
|
|
207
|
+
- `ElectronicsShippingReturnsPage` - Shipping & returns page
|
|
208
|
+
- `ElectronicsTermsPage` - Terms page
|
|
209
|
+
- `ElectronicsTrackOrderPage` - Track order page
|
|
210
|
+
- `ElectronicsPageWrapper` - Page wrapper component
|
|
211
|
+
- `ElectronicsStoreHeader` - Store header
|
|
212
|
+
- `ElectronicsStoreFooter` - Store footer
|
|
213
|
+
|
|
214
|
+
### Electronics Grid Layouts
|
|
215
|
+
- `ElectronicsHomePageGrid` - Grid-based electronics homepage
|
|
216
|
+
- `ElectronicsGridProductsPage` - Grid products page
|
|
217
|
+
- `ElectronicsGridProductDetailPage` - Grid product detail
|
|
218
|
+
- `ElectronicsGridCategoryPage` - Grid category page
|
|
219
|
+
- `ElectronicsGridCategoriesPage` - Grid categories page
|
|
220
|
+
- `ElectronicsGridAboutPage` - Grid about page
|
|
221
|
+
- `ElectronicsGridContactPage` - Grid contact page
|
|
222
|
+
- `ElectronicsGridHelpCenterPage` - Grid help center page
|
|
223
|
+
- `ElectronicsGridPrivacyPolicyPage` - Grid privacy policy page
|
|
224
|
+
- `ElectronicsGridShippingReturnsPage` - Grid shipping & returns page
|
|
225
|
+
- `ElectronicsGridTermsPage` - Grid terms page
|
|
226
|
+
- `ElectronicsGridTrackOrderPage` - Grid track order page
|
|
227
|
+
|
|
228
|
+
### Motivational Speaker Layouts
|
|
229
|
+
- `MotivationalHomePage` - Motivational speaker homepage
|
|
230
|
+
- `MotivationalProductsPage` - Products page
|
|
231
|
+
- `MotivationalCategoryPage` - Category page
|
|
232
|
+
- `MotivationalServicesPage` - Services page
|
|
233
|
+
- `MotivationalServiceDetailPage` - Service detail page
|
|
234
|
+
- `MotivationalSubscriptionPage` - Subscription page
|
|
235
|
+
- `MotivationalAboutPage` - About page
|
|
236
|
+
- `MotivationalContactPage` - Contact page
|
|
237
|
+
- `MotivationalPageWrapper` - Page wrapper component
|
|
238
|
+
|
|
239
|
+
### Shared Components
|
|
240
|
+
- `BaseStoreLayout` - Base layout wrapper for all stores
|
|
241
|
+
- `GenericPageWrapper` - Generic page wrapper
|
|
242
|
+
- `StoreHeader` - Store header component
|
|
243
|
+
- `StoreFooter` - Store footer component
|
|
244
|
+
- `PromoBanner` - Promotional banner component
|
|
245
|
+
- `TestimonialCard` - Testimonial card component
|
|
246
|
+
|
|
247
|
+
### Shared Pages
|
|
248
|
+
- `AccountPage` - User account page with tabs (Profile, Orders, Bookings, Wishlist, Learning)
|
|
249
|
+
- `CartPage` - Shopping cart page
|
|
250
|
+
- `CheckoutPage` - Checkout page
|
|
251
|
+
- `WishlistPage` - Wishlist page
|
|
252
|
+
- `TeamPage` - Team members page
|
|
253
|
+
- `PortfolioPage` - Portfolio page
|
|
254
|
+
- `HelpCenterPage` - Help center page
|
|
255
|
+
- `ShippingReturnsPage` - Shipping & returns page
|
|
256
|
+
- `PrivacyPolicyPage` - Privacy policy page
|
|
257
|
+
- `TermsPage` - Terms of service page
|
|
258
|
+
- `CookiePolicyPage` - Cookie policy page
|
|
259
|
+
- `SizeGuidePage` - Size guide page
|
|
260
|
+
- `StyleGuidePage` - Style guide page
|
|
261
|
+
- `TrackOrderPage` - Track order page
|
|
262
|
+
- `MaintenancePage` - Maintenance mode page
|
|
263
|
+
- `FeatureDisabledPage` - Feature disabled page
|
|
264
|
+
|
|
265
|
+
### Learning Components
|
|
266
|
+
- `CertificateCard` - Certificate card component
|
|
267
|
+
- `CertificateViewer` - Certificate viewer component
|
|
268
|
+
- `MentorshipProgress` - Mentorship progress component
|
|
269
|
+
|
|
270
|
+
## Utilities
|
|
271
|
+
|
|
272
|
+
### Asset Helpers
|
|
273
|
+
```typescript
|
|
274
|
+
import {
|
|
275
|
+
getBannerImage,
|
|
276
|
+
getServiceImage,
|
|
277
|
+
getTeamMemberImage,
|
|
278
|
+
getTextContent,
|
|
279
|
+
getLayoutText,
|
|
280
|
+
getThemeColor,
|
|
281
|
+
getLogoUrl
|
|
282
|
+
} from '@payaza/storefront-layouts';
|
|
283
|
+
```
|
|
284
|
+
|
|
285
|
+
### Currency & Formatting
|
|
286
|
+
```typescript
|
|
287
|
+
import {
|
|
288
|
+
formatCurrency,
|
|
289
|
+
normalizePrice,
|
|
290
|
+
getCurrencySymbol,
|
|
291
|
+
getCurrencySymbolInfo
|
|
292
|
+
} from '@payaza/storefront-layouts';
|
|
293
|
+
```
|
|
294
|
+
|
|
295
|
+
### Demo Detection
|
|
296
|
+
```typescript
|
|
297
|
+
import {
|
|
298
|
+
isDemoStore,
|
|
299
|
+
shouldUseAPI,
|
|
300
|
+
getBaseStoreSlug
|
|
301
|
+
} from '@payaza/storefront-layouts';
|
|
302
|
+
```
|
|
303
|
+
|
|
304
|
+
### Filtering
|
|
305
|
+
```typescript
|
|
306
|
+
import {
|
|
307
|
+
filterActiveProducts,
|
|
308
|
+
filterActiveServices
|
|
309
|
+
} from '@payaza/storefront-layouts';
|
|
310
|
+
```
|
|
311
|
+
|
|
312
|
+
### Store Configuration
|
|
313
|
+
```typescript
|
|
314
|
+
import {
|
|
315
|
+
getStoreConfigAsync,
|
|
316
|
+
transformProductToStoreProduct,
|
|
317
|
+
extractImageUrls
|
|
318
|
+
} from '@payaza/storefront-layouts';
|
|
319
|
+
```
|
|
320
|
+
|
|
321
|
+
## Services
|
|
322
|
+
|
|
323
|
+
The package includes service stubs for:
|
|
324
|
+
- `checkoutService` - Checkout operations
|
|
325
|
+
- `paymentService` - Payment processing
|
|
326
|
+
- `shippingService` - Shipping operations
|
|
327
|
+
- `orderService` - Order management
|
|
328
|
+
- `wishlistService` - Wishlist operations
|
|
329
|
+
- `customerService` - Customer management
|
|
330
|
+
- `bookingService` - Booking operations
|
|
331
|
+
- `cartService` - Cart operations
|
|
332
|
+
- `productService` - Product operations
|
|
333
|
+
- `categoryService` - Category operations
|
|
334
|
+
- `reviewService` - Review operations
|
|
335
|
+
- `analyticsService` - Analytics tracking
|
|
336
|
+
|
|
337
|
+
## Contexts
|
|
338
|
+
|
|
339
|
+
### Auth Context
|
|
340
|
+
```typescript
|
|
341
|
+
import { AuthProvider, useAuth } from '@payaza/storefront-layouts';
|
|
342
|
+
|
|
343
|
+
<AuthProvider>
|
|
344
|
+
<YourApp />
|
|
345
|
+
</AuthProvider>
|
|
346
|
+
|
|
347
|
+
// In components
|
|
348
|
+
const { user, isAuthenticated, login, logout } = useAuth();
|
|
349
|
+
```
|
|
350
|
+
|
|
351
|
+
### Store Context
|
|
352
|
+
```typescript
|
|
353
|
+
import { StoreProvider, useStore } from '@payaza/storefront-layouts';
|
|
57
354
|
|
|
58
|
-
|
|
355
|
+
const { storeConfig, updateStoreConfig } = useStore();
|
|
356
|
+
```
|
|
59
357
|
|
|
60
|
-
|
|
358
|
+
### Loading Context
|
|
359
|
+
```typescript
|
|
360
|
+
import { LoadingProvider, useLoading } from '@payaza/storefront-layouts';
|
|
61
361
|
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
362
|
+
const { startBackendLoading, stopBackendLoading } = useLoading();
|
|
363
|
+
```
|
|
364
|
+
|
|
365
|
+
## Hooks
|
|
366
|
+
|
|
367
|
+
### Analytics Hook
|
|
368
|
+
```typescript
|
|
369
|
+
import { useAnalytics } from '@payaza/storefront-layouts';
|
|
370
|
+
|
|
371
|
+
const { trackEvent, trackPageView } = useAnalytics();
|
|
372
|
+
```
|
|
65
373
|
|
|
66
374
|
## TypeScript Configuration
|
|
67
375
|
|
|
68
|
-
Consuming apps need to configure TypeScript paths
|
|
376
|
+
Consuming apps need to configure TypeScript paths. The package uses relative imports internally, so no special path configuration is required for the package itself.
|
|
377
|
+
|
|
378
|
+
For your app's internal `@/` aliases:
|
|
69
379
|
|
|
70
380
|
```json
|
|
71
381
|
{
|
|
72
382
|
"compilerOptions": {
|
|
73
383
|
"paths": {
|
|
74
|
-
"@/*": ["./*"]
|
|
75
|
-
"storefront-layouts": ["../storefront-layouts/src"]
|
|
384
|
+
"@/*": ["./*"]
|
|
76
385
|
}
|
|
77
386
|
}
|
|
78
387
|
}
|
|
@@ -84,10 +393,36 @@ Add to `next.config.ts`:
|
|
|
84
393
|
|
|
85
394
|
```typescript
|
|
86
395
|
const nextConfig = {
|
|
87
|
-
transpilePackages: ['storefront-layouts'],
|
|
396
|
+
transpilePackages: ['@payaza/storefront-layouts'],
|
|
88
397
|
};
|
|
89
398
|
```
|
|
90
399
|
|
|
400
|
+
## Building
|
|
401
|
+
|
|
402
|
+
```bash
|
|
403
|
+
npm run build
|
|
404
|
+
```
|
|
405
|
+
|
|
406
|
+
This will:
|
|
407
|
+
1. Clean the `dist/` directory
|
|
408
|
+
2. Compile TypeScript to JavaScript
|
|
409
|
+
3. Transform path aliases using `tsc-alias`
|
|
410
|
+
4. Copy JSON files to the dist directory
|
|
411
|
+
|
|
412
|
+
## Package Structure
|
|
413
|
+
|
|
414
|
+
```
|
|
415
|
+
@payaza/storefront-layouts/
|
|
416
|
+
├── dist/ # Compiled output
|
|
417
|
+
│ ├── layouts/ # Layout components
|
|
418
|
+
│ ├── components/ # UI components
|
|
419
|
+
│ ├── lib/ # Utilities, services, contexts
|
|
420
|
+
│ ├── hooks/ # Custom hooks
|
|
421
|
+
│ └── json/ # Layout JSON data
|
|
422
|
+
├── src/ # Source files
|
|
423
|
+
└── package.json
|
|
424
|
+
```
|
|
425
|
+
|
|
91
426
|
## Dynamic Data Support
|
|
92
427
|
|
|
93
428
|
Layouts are designed to work with dynamic data:
|
|
@@ -96,13 +431,29 @@ Layouts are designed to work with dynamic data:
|
|
|
96
431
|
- Layouts use hooks like `useStore()` from consuming apps
|
|
97
432
|
- No hardcoded data - all data comes from consuming apps
|
|
98
433
|
- Supports `preview_layout` query parameter for layout preview
|
|
434
|
+
- Demo store detection for mock data vs API data
|
|
99
435
|
|
|
100
|
-
##
|
|
436
|
+
## Features
|
|
101
437
|
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
438
|
+
- ✅ **9 Complete Layout Types** - Food, Clothing, Booking, Electronics, and more
|
|
439
|
+
- ✅ **Shared Components** - Reusable components across all layouts
|
|
440
|
+
- ✅ **Learning Components** - Certificate and mentorship features
|
|
441
|
+
- ✅ **TypeScript Support** - Full type definitions included
|
|
442
|
+
- ✅ **Utility Functions** - Currency formatting, asset helpers, filtering
|
|
443
|
+
- ✅ **Service Stubs** - Ready-to-use service interfaces
|
|
444
|
+
- ✅ **Context Providers** - Auth, Store, and Loading contexts
|
|
445
|
+
- ✅ **Custom Hooks** - Analytics and more
|
|
446
|
+
- ✅ **Responsive Design** - All components are mobile-responsive
|
|
447
|
+
- ✅ **Accessibility** - ARIA labels and keyboard navigation support
|
|
448
|
+
|
|
449
|
+
## Version
|
|
450
|
+
|
|
451
|
+
Current version: **1.0.0**
|
|
452
|
+
|
|
453
|
+
## License
|
|
105
454
|
|
|
106
|
-
|
|
455
|
+
ISC
|
|
107
456
|
|
|
457
|
+
## Support
|
|
108
458
|
|
|
459
|
+
For issues, questions, or contributions, please contact the Payaza development team.
|
package/dist/index.d.ts
CHANGED
|
@@ -113,4 +113,8 @@ export { TermsPage } from './layouts/shared/pages/TermsPage';
|
|
|
113
113
|
export { TrackOrderPage } from './layouts/shared/pages/TrackOrderPage';
|
|
114
114
|
export { WishlistPage } from './layouts/shared/pages/WishlistPage';
|
|
115
115
|
export { getLayoutJSON, layoutJSONMap } from './json/json-map';
|
|
116
|
+
export { ToastProvider, useToast } from './components/ui/toast';
|
|
117
|
+
export { StoreProvider, useStore } from './lib/store-context';
|
|
118
|
+
export { LoadingProvider, useLoading } from './lib/loading-context';
|
|
119
|
+
export { AuthProvider, useAuth } from './lib/auth-context';
|
|
116
120
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,EAAE,YAAY,EAAE,MAAM,wCAAwC,CAAC;AACtE,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,iBAAiB,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACpG,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACrF,OAAO,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAC3F,OAAO,EAAE,QAAQ,EAAE,MAAM,+BAA+B,CAAC;AACzD,OAAO,EAAE,SAAS,IAAI,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC5E,OAAO,EAAE,WAAW,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAGlF,OAAO,EAAE,kBAAkB,EAAE,MAAM,qDAAqD,CAAC;AACzF,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClG,OAAO,EAAE,iBAAiB,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AACjH,OAAO,EAAE,YAAY,IAAI,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAClG,OAAO,EAAE,cAAc,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACxG,OAAO,EAAE,QAAQ,IAAI,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AACtF,OAAO,EAAE,SAAS,IAAI,mBAAmB,EAAE,MAAM,uCAAuC,CAAC;AACzF,OAAO,EAAE,WAAW,IAAI,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAG/F,OAAO,EAAE,gBAAgB,EAAE,MAAM,gDAAgD,CAAC;AAClF,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,iBAAiB,IAAI,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAC5G,OAAO,EAAE,YAAY,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EAAE,cAAc,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AACnG,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACpF,OAAO,EAAE,WAAW,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAG1F,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,YAAY,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,iBAAiB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AAC3H,OAAO,EAAE,YAAY,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,cAAc,IAAI,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAClH,OAAO,EAAE,SAAS,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,WAAW,IAAI,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AAGzG,OAAO,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AAC/E,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,kCAAkC,CAAC;AAC/E,OAAO,EAAE,YAAY,EAAE,MAAM,sCAAsC,CAAC;AACpE,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,iBAAiB,IAAI,wBAAwB,EAAE,MAAM,2CAA2C,CAAC;AAC1G,OAAO,EAAE,YAAY,IAAI,mBAAmB,EAAE,MAAM,sCAAsC,CAAC;AAC3F,OAAO,EAAE,cAAc,IAAI,qBAAqB,EAAE,MAAM,wCAAwC,CAAC;AACjG,OAAO,EAAE,SAAS,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AAClF,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,qCAAqC,CAAC;AAGxF,OAAO,EAAE,qBAAqB,EAAE,MAAM,2DAA2D,CAAC;AAClG,OAAO,EAAE,QAAQ,IAAI,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAC5F,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,iBAAiB,IAAI,8BAA8B,EAAE,MAAM,kDAAkD,CAAC;AACvH,OAAO,EAAE,YAAY,IAAI,yBAAyB,EAAE,MAAM,6CAA6C,CAAC;AACxG,OAAO,EAAE,cAAc,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC9G,OAAO,EAAE,SAAS,IAAI,sBAAsB,EAAE,MAAM,0CAA0C,CAAC;AAC/F,OAAO,EAAE,WAAW,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AAGrG,OAAO,EAAE,mBAAmB,EAAE,MAAM,sDAAsD,CAAC;AAC3F,OAAO,EAAE,uBAAuB,EAAE,MAAM,0DAA0D,CAAC;AACnG,OAAO,EAAE,yBAAyB,EAAE,MAAM,4DAA4D,CAAC;AACvG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACjG,OAAO,EAAE,sBAAsB,EAAE,MAAM,yDAAyD,CAAC;AACjG,OAAO,EAAE,0BAA0B,EAAE,MAAM,6DAA6D,CAAC;AACzG,OAAO,EAAE,YAAY,IAAI,2BAA2B,EAAE,MAAM,0CAA0C,CAAC;AACvG,OAAO,EAAE,iBAAiB,IAAI,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAClH,OAAO,EAAE,YAAY,IAAI,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACnG,OAAO,EAAE,cAAc,IAAI,6BAA6B,EAAE,MAAM,4CAA4C,CAAC;AAC7G,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,WAAW,IAAI,sBAAsB,EAAE,MAAM,yCAAyC,CAAC;AAChG,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AACzG,OAAO,EAAE,iBAAiB,IAAI,4BAA4B,EAAE,MAAM,+CAA+C,CAAC;AAClH,OAAO,EAAE,mBAAmB,IAAI,8BAA8B,EAAE,MAAM,iDAAiD,CAAC;AACxH,OAAO,EAAE,SAAS,IAAI,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC1F,OAAO,EAAE,cAAc,IAAI,yBAAyB,EAAE,MAAM,4CAA4C,CAAC;AAGzG,OAAO,EAAE,0BAA0B,IAAI,8BAA8B,EAAE,MAAM,kEAAkE,CAAC;AAChJ,OAAO,EAAE,uBAAuB,EAAE,MAAM,+DAA+D,CAAC;AACxG,OAAO,EAAE,6BAA6B,EAAE,MAAM,gEAAgE,CAAC;AAC/G,OAAO,EAAE,YAAY,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,iBAAiB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AAC3H,OAAO,EAAE,YAAY,IAAI,2BAA2B,EAAE,MAAM,+CAA+C,CAAC;AAC5G,OAAO,EAAE,cAAc,IAAI,iCAAiC,EAAE,MAAM,iDAAiD,CAAC;AACtH,OAAO,EAAE,SAAS,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,WAAW,IAAI,0BAA0B,EAAE,MAAM,8CAA8C,CAAC;AACzG,OAAO,EAAE,cAAc,IAAI,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAClH,OAAO,EAAE,iBAAiB,IAAI,gCAAgC,EAAE,MAAM,oDAAoD,CAAC;AAC3H,OAAO,EAAE,mBAAmB,IAAI,kCAAkC,EAAE,MAAM,sDAAsD,CAAC;AACjI,OAAO,EAAE,SAAS,IAAI,wBAAwB,EAAE,MAAM,4CAA4C,CAAC;AACnG,OAAO,EAAE,cAAc,IAAI,6BAA6B,EAAE,MAAM,iDAAiD,CAAC;AAGlH,OAAO,EAAE,oBAAoB,EAAE,MAAM,gEAAgE,CAAC;AACtG,OAAO,EAAE,uBAAuB,EAAE,MAAM,mEAAmE,CAAC;AAC5G,OAAO,EAAE,YAAY,IAAI,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7G,OAAO,EAAE,iBAAiB,EAAE,MAAM,wDAAwD,CAAC;AAC3F,OAAO,EAAE,YAAY,IAAI,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7G,OAAO,EAAE,gBAAgB,EAAE,MAAM,uDAAuD,CAAC;AACzF,OAAO,EAAE,YAAY,IAAI,wBAAwB,EAAE,MAAM,mDAAmD,CAAC;AAC7G,OAAO,EAAE,SAAS,IAAI,qBAAqB,EAAE,MAAM,gDAAgD,CAAC;AACpG,OAAO,EAAE,WAAW,IAAI,uBAAuB,EAAE,MAAM,kDAAkD,CAAC;AAG1G,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AACpF,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,WAAW,EAAE,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAE,eAAe,EAAE,MAAM,6CAA6C,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AACnE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yCAAyC,CAAC;AAC3E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,eAAe,EAAE,MAAM,wCAAwC,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,4CAA4C,CAAC;AACjF,OAAO,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,uCAAuC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAGnE,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -124,3 +124,8 @@ export { TrackOrderPage } from './layouts/shared/pages/TrackOrderPage';
|
|
|
124
124
|
export { WishlistPage } from './layouts/shared/pages/WishlistPage';
|
|
125
125
|
// JSON utilities
|
|
126
126
|
export { getLayoutJSON, layoutJSONMap } from './json/json-map';
|
|
127
|
+
// Context Providers and Hooks
|
|
128
|
+
export { ToastProvider, useToast } from './components/ui/toast';
|
|
129
|
+
export { StoreProvider, useStore } from './lib/store-context';
|
|
130
|
+
export { LoadingProvider, useLoading } from './lib/loading-context';
|
|
131
|
+
export { AuthProvider, useAuth } from './lib/auth-context';
|
|
@@ -1,10 +1,37 @@
|
|
|
1
1
|
{
|
|
2
|
+
"version": "1.0.0",
|
|
3
|
+
"generatedAt": "2025-01-05",
|
|
4
|
+
"metadata": {
|
|
5
|
+
"layoutId": "booking-agenda",
|
|
6
|
+
"name": "Booking Agenda Layout",
|
|
7
|
+
"description": "Agenda-based booking layout with calendar view",
|
|
8
|
+
"totalPages": 7
|
|
9
|
+
},
|
|
2
10
|
"home": {
|
|
3
11
|
"content": [
|
|
4
12
|
{
|
|
5
13
|
"type": "DateScroller",
|
|
6
14
|
"props": {
|
|
7
|
-
"id": "DateScroller-2"
|
|
15
|
+
"id": "DateScroller-2",
|
|
16
|
+
"title": "Select Date",
|
|
17
|
+
"showNavigation": true,
|
|
18
|
+
"showTodayButton": true
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"type": "TimeSlotGrid",
|
|
23
|
+
"props": {
|
|
24
|
+
"id": "TimeSlotGrid-1",
|
|
25
|
+
"title": "Available Time Slots",
|
|
26
|
+
"showServiceFilter": true
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
"type": "ServiceQuickView",
|
|
31
|
+
"props": {
|
|
32
|
+
"id": "ServiceQuickView-3",
|
|
33
|
+
"title": "Services",
|
|
34
|
+
"showViewAll": true
|
|
8
35
|
}
|
|
9
36
|
}
|
|
10
37
|
],
|
|
@@ -14,5 +41,126 @@
|
|
|
14
41
|
"pageId": "home"
|
|
15
42
|
}
|
|
16
43
|
}
|
|
44
|
+
},
|
|
45
|
+
"services": {
|
|
46
|
+
"content": [
|
|
47
|
+
{
|
|
48
|
+
"type": "ServicesHeader",
|
|
49
|
+
"props": {
|
|
50
|
+
"id": "ServicesHeader-0",
|
|
51
|
+
"title": "Our Services"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"type": "ServicesGrid",
|
|
56
|
+
"props": {
|
|
57
|
+
"id": "ServicesGrid-1"
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
],
|
|
61
|
+
"root": {
|
|
62
|
+
"props": {
|
|
63
|
+
"title": "Services Listing",
|
|
64
|
+
"pageId": "services"
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"serviceDetail": {
|
|
69
|
+
"content": [
|
|
70
|
+
{
|
|
71
|
+
"type": "ServiceDetail",
|
|
72
|
+
"props": {
|
|
73
|
+
"id": "ServiceDetail-0"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
],
|
|
77
|
+
"root": {
|
|
78
|
+
"props": {
|
|
79
|
+
"title": "Service Detail",
|
|
80
|
+
"pageId": "serviceDetail"
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
},
|
|
84
|
+
"book": {
|
|
85
|
+
"content": [
|
|
86
|
+
{
|
|
87
|
+
"type": "BookingAgendaForm",
|
|
88
|
+
"props": {
|
|
89
|
+
"id": "BookingAgendaForm-0",
|
|
90
|
+
"showCalendar": true,
|
|
91
|
+
"showTimeSlots": true
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
],
|
|
95
|
+
"root": {
|
|
96
|
+
"props": {
|
|
97
|
+
"title": "Booking/Appointment",
|
|
98
|
+
"pageId": "book"
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
},
|
|
102
|
+
"categories": {
|
|
103
|
+
"content": [
|
|
104
|
+
{
|
|
105
|
+
"type": "CategoryGrid",
|
|
106
|
+
"props": {
|
|
107
|
+
"id": "CategoryGrid-0"
|
|
108
|
+
}
|
|
109
|
+
}
|
|
110
|
+
],
|
|
111
|
+
"root": {
|
|
112
|
+
"props": {
|
|
113
|
+
"title": "Categories Listing",
|
|
114
|
+
"pageId": "categories"
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"categoryDetail": {
|
|
119
|
+
"content": [
|
|
120
|
+
{
|
|
121
|
+
"type": "CategoryDetail",
|
|
122
|
+
"props": {
|
|
123
|
+
"id": "CategoryDetail-0"
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
],
|
|
127
|
+
"root": {
|
|
128
|
+
"props": {
|
|
129
|
+
"title": "Category Detail",
|
|
130
|
+
"pageId": "categoryDetail"
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
},
|
|
134
|
+
"about": {
|
|
135
|
+
"content": [
|
|
136
|
+
{
|
|
137
|
+
"type": "AboutPage",
|
|
138
|
+
"props": {
|
|
139
|
+
"id": "AboutPage-0"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
],
|
|
143
|
+
"root": {
|
|
144
|
+
"props": {
|
|
145
|
+
"title": "About Page",
|
|
146
|
+
"pageId": "about"
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
},
|
|
150
|
+
"contact": {
|
|
151
|
+
"content": [
|
|
152
|
+
{
|
|
153
|
+
"type": "ContactPage",
|
|
154
|
+
"props": {
|
|
155
|
+
"id": "ContactPage-0"
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
],
|
|
159
|
+
"root": {
|
|
160
|
+
"props": {
|
|
161
|
+
"title": "Contact Page",
|
|
162
|
+
"pageId": "contact"
|
|
163
|
+
}
|
|
164
|
+
}
|
|
17
165
|
}
|
|
18
|
-
}
|
|
166
|
+
}
|