@bailierich/booking-components 2.0.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.
- package/README.md +319 -0
- package/TENANT_DATA_INTEGRATION.md +402 -0
- package/TENANT_SETUP.md +316 -0
- package/components/BookingFlow/BookingFlow.tsx +790 -0
- package/components/BookingFlow/index.ts +5 -0
- package/components/BookingFlow/steps/AddonsSelection.tsx +118 -0
- package/components/BookingFlow/steps/Confirmation.tsx +185 -0
- package/components/BookingFlow/steps/ContactForm.tsx +292 -0
- package/components/BookingFlow/steps/CycleAwareDateSelection.tsx +277 -0
- package/components/BookingFlow/steps/DateSelection.tsx +473 -0
- package/components/BookingFlow/steps/ServiceSelection.tsx +315 -0
- package/components/BookingFlow/steps/TimeSelection.tsx +230 -0
- package/components/BookingFlow/steps/index.ts +10 -0
- package/components/BottomSheet/index.tsx +120 -0
- package/components/Forms/FormBlock.tsx +283 -0
- package/components/Forms/FormField.tsx +385 -0
- package/components/Forms/FormRenderer.tsx +216 -0
- package/components/Forms/FormValidation.ts +122 -0
- package/components/Forms/index.ts +4 -0
- package/components/HoldTimer/HoldTimer.tsx +266 -0
- package/components/HoldTimer/index.ts +2 -0
- package/components/SectionRenderer.tsx +558 -0
- package/components/Sections/About.tsx +145 -0
- package/components/Sections/BeforeAfter.tsx +81 -0
- package/components/Sections/BookingSection.tsx +76 -0
- package/components/Sections/Contact.tsx +103 -0
- package/components/Sections/FAQSection.tsx +239 -0
- package/components/Sections/FeatureContent.tsx +113 -0
- package/components/Sections/FeaturedLink.tsx +103 -0
- package/components/Sections/FixedInfoCard.tsx +189 -0
- package/components/Sections/Gallery.tsx +83 -0
- package/components/Sections/Header.tsx +78 -0
- package/components/Sections/Hero.tsx +178 -0
- package/components/Sections/ImageSection.tsx +147 -0
- package/components/Sections/InstagramFeed.tsx +38 -0
- package/components/Sections/LinkList.tsx +76 -0
- package/components/Sections/LocationMap.tsx +202 -0
- package/components/Sections/Logo.tsx +61 -0
- package/components/Sections/MinimalFooter.tsx +78 -0
- package/components/Sections/MinimalHeader.tsx +81 -0
- package/components/Sections/MinimalNavigation.tsx +63 -0
- package/components/Sections/Navbar.tsx +258 -0
- package/components/Sections/PricingTable.tsx +106 -0
- package/components/Sections/ScrollingTextDivider.tsx +138 -0
- package/components/Sections/ScrollingTextDivider.tsx.bak +138 -0
- package/components/Sections/ServicesPreview.tsx +129 -0
- package/components/Sections/SocialBar.tsx +177 -0
- package/components/Sections/Team.tsx +80 -0
- package/components/Sections/Testimonials.tsx +92 -0
- package/components/Sections/TextSection.tsx +116 -0
- package/components/Sections/VideoSection.tsx +178 -0
- package/components/Sections/index.ts +57 -0
- package/components/index.ts +21 -0
- package/dist/index-DAai7Glf.d.mts +474 -0
- package/dist/index-DAai7Glf.d.ts +474 -0
- package/dist/index.d.mts +1075 -0
- package/dist/index.d.ts +1075 -0
- package/dist/index.js +22 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +22 -0
- package/dist/index.mjs.map +1 -0
- package/dist/styles/index.d.mts +1 -0
- package/dist/styles/index.d.ts +1 -0
- package/dist/styles/index.js +2 -0
- package/dist/styles/index.js.map +1 -0
- package/dist/styles/index.mjs +2 -0
- package/dist/styles/index.mjs.map +1 -0
- package/docs/API.md +849 -0
- package/docs/CALLBACKS.md +760 -0
- package/docs/COMPLETE_SESSION_SUMMARY.md +404 -0
- package/docs/DATA_SHAPES.md +684 -0
- package/docs/MIGRATION.md +662 -0
- package/docs/PAYMENT_INTEGRATION.md +766 -0
- package/docs/SESSION_SUMMARY.md +185 -0
- package/docs/STYLING.md +735 -0
- package/index.ts +4 -0
- package/lib/storage.ts +239 -0
- package/package.json +59 -0
- package/styles/animations.ts +210 -0
- package/styles/index.ts +1 -0
- package/tsconfig.json +32 -0
- package/tsup.config.ts +13 -0
- package/types/index.ts +369 -0
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
# Booking Components Package - Session Summary
|
|
2
|
+
|
|
3
|
+
## ✅ Completed Today
|
|
4
|
+
|
|
5
|
+
### Package Structure Created
|
|
6
|
+
- Created `/packages/booking-components/` directory structure
|
|
7
|
+
- Set up proper TypeScript configuration
|
|
8
|
+
- Established barrel export system
|
|
9
|
+
|
|
10
|
+
### Components Extracted
|
|
11
|
+
|
|
12
|
+
#### **All 21 Section Components** ✅
|
|
13
|
+
1. Logo - Logo/brand mark display
|
|
14
|
+
2. Header - Text header with name, title, bio
|
|
15
|
+
3. FeaturedLink - Large CTA button
|
|
16
|
+
4. LinkList - List of clickable links
|
|
17
|
+
5. SocialBar - Social media icons
|
|
18
|
+
6. Hero - Hero section with image
|
|
19
|
+
7. About - About section with text/image
|
|
20
|
+
8. ServicesPreview - Service offerings display
|
|
21
|
+
9. Gallery - Image gallery grid
|
|
22
|
+
10. Testimonials - Client testimonials
|
|
23
|
+
11. Team - Team member showcase
|
|
24
|
+
12. Contact - Contact form/info
|
|
25
|
+
13. MinimalHeader - Minimal sticky header
|
|
26
|
+
14. MinimalNavigation - Clean navigation
|
|
27
|
+
15. MinimalFooter - Footer section
|
|
28
|
+
16. FeatureContent - Feature with image/text
|
|
29
|
+
17. BeforeAfter - Before/after comparisons
|
|
30
|
+
18. PricingTable - Pricing plans grid
|
|
31
|
+
19. InstagramFeed - Instagram feed display
|
|
32
|
+
20. FixedInfoCard - Fixed corner card
|
|
33
|
+
21. BookingSection - Booking flow wrapper
|
|
34
|
+
|
|
35
|
+
#### **Booking Flow Step Components** ✅
|
|
36
|
+
- ServiceSelection
|
|
37
|
+
- DateSelection
|
|
38
|
+
- TimeSelection
|
|
39
|
+
- AddonsSelection
|
|
40
|
+
- ContactForm
|
|
41
|
+
- Confirmation
|
|
42
|
+
|
|
43
|
+
#### **UI Components** ✅
|
|
44
|
+
- BottomSheet - Slide-up modal
|
|
45
|
+
|
|
46
|
+
#### **Utilities** ✅
|
|
47
|
+
- Animation variants and helpers
|
|
48
|
+
- Type definitions
|
|
49
|
+
- Style utilities
|
|
50
|
+
|
|
51
|
+
### Documentation Created
|
|
52
|
+
- ✅ `/packages/booking-components/docs/API.md` - Complete API reference for all components
|
|
53
|
+
- ✅ Barrel exports configured in all `index.ts` files
|
|
54
|
+
- ✅ TypeScript interfaces exported for all components
|
|
55
|
+
|
|
56
|
+
### Files Structure
|
|
57
|
+
```
|
|
58
|
+
packages/booking-components/
|
|
59
|
+
├── components/
|
|
60
|
+
│ ├── Sections/ # All 21 section components
|
|
61
|
+
│ │ ├── Logo.tsx
|
|
62
|
+
│ │ ├── Header.tsx
|
|
63
|
+
│ │ ├── FeaturedLink.tsx
|
|
64
|
+
│ │ ├── LinkList.tsx
|
|
65
|
+
│ │ ├── SocialBar.tsx
|
|
66
|
+
│ │ ├── Hero.tsx
|
|
67
|
+
│ │ ├── About.tsx
|
|
68
|
+
│ │ ├── ServicesPreview.tsx
|
|
69
|
+
│ │ ├── Gallery.tsx
|
|
70
|
+
│ │ ├── Testimonials.tsx
|
|
71
|
+
│ │ ├── Team.tsx
|
|
72
|
+
│ │ ├── Contact.tsx
|
|
73
|
+
│ │ ├── MinimalHeader.tsx
|
|
74
|
+
│ │ ├── MinimalNavigation.tsx
|
|
75
|
+
│ │ ├── MinimalFooter.tsx
|
|
76
|
+
│ │ ├── FeatureContent.tsx
|
|
77
|
+
│ │ ├── BeforeAfter.tsx
|
|
78
|
+
│ │ ├── PricingTable.tsx
|
|
79
|
+
│ │ ├── InstagramFeed.tsx
|
|
80
|
+
│ │ ├── FixedInfoCard.tsx
|
|
81
|
+
│ │ ├── BookingSection.tsx
|
|
82
|
+
│ │ └── index.ts
|
|
83
|
+
│ ├── BookingFlow/
|
|
84
|
+
│ │ └── steps/ # All 6 booking flow steps
|
|
85
|
+
│ │ ├── ServiceSelection.tsx
|
|
86
|
+
│ │ ├── DateSelection.tsx
|
|
87
|
+
│ │ ├── TimeSelection.tsx
|
|
88
|
+
│ │ ├── AddonsSelection.tsx
|
|
89
|
+
│ │ ├── ContactForm.tsx
|
|
90
|
+
│ │ ├── Confirmation.tsx
|
|
91
|
+
│ │ └── index.ts
|
|
92
|
+
│ ├── BottomSheet.tsx
|
|
93
|
+
│ └── index.ts
|
|
94
|
+
├── styles/
|
|
95
|
+
│ └── animations.ts # Animation utilities
|
|
96
|
+
├── types/
|
|
97
|
+
│ └── index.ts # TypeScript definitions
|
|
98
|
+
├── docs/
|
|
99
|
+
│ ├── API.md # Complete API documentation
|
|
100
|
+
│ └── SESSION_SUMMARY.md # This file
|
|
101
|
+
└── index.ts # Package root exports
|
|
102
|
+
```
|
|
103
|
+
|
|
104
|
+
## 📋 Remaining Tasks for Tomorrow
|
|
105
|
+
|
|
106
|
+
### 1. Create BookingFlow Main Component
|
|
107
|
+
- Build orchestrator component that manages the flow between steps
|
|
108
|
+
- Implement step progression logic
|
|
109
|
+
- Handle state management for the entire booking flow
|
|
110
|
+
- Create props API for configuration
|
|
111
|
+
|
|
112
|
+
### 2. Create SectionRenderer Wrapper
|
|
113
|
+
- Build universal renderer that maps section types to components
|
|
114
|
+
- Accept section config object and render appropriate component
|
|
115
|
+
- Handle theme/color passing
|
|
116
|
+
- Support dynamic section loading
|
|
117
|
+
|
|
118
|
+
### 3. Additional Documentation
|
|
119
|
+
Create supplementary documentation files:
|
|
120
|
+
- `DATA_SHAPES.md` - Document all data structures and interfaces
|
|
121
|
+
- `CALLBACKS.md` - Document all callback patterns and handlers
|
|
122
|
+
- `STYLING.md` - Theme customization guide
|
|
123
|
+
- `PAYMENT_INTEGRATION.md` - Payment provider integration guide
|
|
124
|
+
- `MIGRATION.md` - Migration guide for existing implementations
|
|
125
|
+
|
|
126
|
+
### 4. Testing & Validation
|
|
127
|
+
- Test all components render correctly
|
|
128
|
+
- Validate TypeScript types
|
|
129
|
+
- Ensure barrel exports work properly
|
|
130
|
+
- Test import paths from consuming apps
|
|
131
|
+
|
|
132
|
+
### 5. Package Configuration
|
|
133
|
+
- Set up `package.json` for the components package
|
|
134
|
+
- Configure build process (if needed)
|
|
135
|
+
- Set up proper peer dependencies
|
|
136
|
+
|
|
137
|
+
## 💡 Usage Example (Available Now)
|
|
138
|
+
|
|
139
|
+
```tsx
|
|
140
|
+
// Import individual section components
|
|
141
|
+
import {
|
|
142
|
+
Logo,
|
|
143
|
+
Header,
|
|
144
|
+
Hero,
|
|
145
|
+
ServicesPreview,
|
|
146
|
+
Gallery,
|
|
147
|
+
BookingSection
|
|
148
|
+
} from '@oviah/booking-components';
|
|
149
|
+
|
|
150
|
+
// Import booking flow steps
|
|
151
|
+
import {
|
|
152
|
+
ServiceSelection,
|
|
153
|
+
DateSelection,
|
|
154
|
+
TimeSelection
|
|
155
|
+
} from '@oviah/booking-components';
|
|
156
|
+
|
|
157
|
+
// Import UI components
|
|
158
|
+
import { BottomSheet } from '@oviah/booking-components';
|
|
159
|
+
|
|
160
|
+
// Import utilities
|
|
161
|
+
import {
|
|
162
|
+
createEntranceAnimation,
|
|
163
|
+
getSlideVariants
|
|
164
|
+
} from '@oviah/booking-components/styles';
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
## 🎯 Goals for Tomorrow
|
|
168
|
+
|
|
169
|
+
1. **Complete the package** - Finish BookingFlow orchestrator and SectionRenderer
|
|
170
|
+
2. **Full documentation** - Create all remaining docs
|
|
171
|
+
3. **Validation** - Test the entire package works as expected
|
|
172
|
+
4. **Integration** - Begin using in dashboard and tenant apps
|
|
173
|
+
|
|
174
|
+
## 📝 Notes
|
|
175
|
+
|
|
176
|
+
- All 21 sections are confirmed extracted (including BookingSection wrapper)
|
|
177
|
+
- Components follow consistent API patterns with colors and typography props
|
|
178
|
+
- All components are client-side ('use client') for Next.js 15 compatibility
|
|
179
|
+
- Animation utilities are ready for use with Framer Motion
|
|
180
|
+
- Type safety is enforced throughout with TypeScript interfaces
|
|
181
|
+
|
|
182
|
+
---
|
|
183
|
+
|
|
184
|
+
**Session End:** All section components successfully extracted and documented.
|
|
185
|
+
**Next Session:** Complete BookingFlow orchestrator, SectionRenderer, and documentation.
|