@uptrademedia/site-kit 1.0.3 → 1.0.5
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 +96 -25
- package/dist/SetupWizard-Cki06kB0.d.mts +12 -0
- package/dist/SetupWizard-Cki06kB0.d.ts +12 -0
- package/dist/analytics/index.d.mts +87 -0
- package/dist/analytics/index.d.ts +87 -0
- package/dist/blog/index.d.mts +179 -0
- package/dist/blog/index.d.ts +179 -0
- package/dist/blog/index.js +1131 -17
- package/dist/blog/index.js.map +1 -1
- package/dist/blog/index.mjs +1121 -17
- package/dist/blog/index.mjs.map +1 -1
- package/dist/blog/server.d.mts +228 -0
- package/dist/blog/server.d.ts +228 -0
- package/dist/blog/server.js +685 -0
- package/dist/blog/server.js.map +1 -0
- package/dist/blog/server.mjs +659 -0
- package/dist/blog/server.mjs.map +1 -0
- package/dist/{chunk-6EXHT7PS.mjs → chunk-2IHTEKHU.mjs} +5 -3
- package/dist/chunk-2IHTEKHU.mjs.map +1 -0
- package/dist/{chunk-63JNO4QN.mjs → chunk-DOHML47I.mjs} +2 -2
- package/dist/chunk-DOHML47I.mjs.map +1 -0
- package/dist/{chunk-YKMCG3DS.js → chunk-GAJLEDRD.js} +5 -3
- package/dist/chunk-GAJLEDRD.js.map +1 -0
- package/dist/{chunk-PYYEPAHL.js → chunk-K2HWVOEO.js} +2 -2
- package/dist/chunk-K2HWVOEO.js.map +1 -0
- package/dist/{chunk-JG2K4S2I.js → chunk-O2OHHBUD.js} +9 -9
- package/dist/chunk-O2OHHBUD.js.map +1 -0
- package/dist/chunk-QD66FTXZ.mjs +278 -0
- package/dist/chunk-QD66FTXZ.mjs.map +1 -0
- package/dist/chunk-UJQ73OS6.js +282 -0
- package/dist/chunk-UJQ73OS6.js.map +1 -0
- package/dist/{chunk-P7LGOKGI.mjs → chunk-XQJX252G.mjs} +9 -9
- package/dist/chunk-XQJX252G.mjs.map +1 -0
- package/dist/commerce/index.d.mts +168 -0
- package/dist/commerce/index.d.ts +168 -0
- package/dist/commerce/index.js +38 -38
- package/dist/commerce/index.mjs +1 -1
- package/dist/commerce/server.d.mts +98 -0
- package/dist/commerce/server.d.ts +98 -0
- package/dist/engage/index.d.mts +27 -0
- package/dist/engage/index.d.ts +27 -0
- package/dist/forms/index.d.mts +437 -0
- package/dist/forms/index.d.ts +437 -0
- package/dist/images/index.d.mts +133 -0
- package/dist/images/index.d.ts +133 -0
- package/dist/images/index.js +8 -8
- package/dist/images/index.mjs +1 -1
- package/dist/index.d.mts +650 -0
- package/dist/index.d.ts +650 -0
- package/dist/index.js +108 -95
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +4 -3
- package/dist/index.mjs.map +1 -1
- package/dist/redirects/index.d.mts +72 -0
- package/dist/redirects/index.d.ts +72 -0
- package/dist/reputation/index.d.mts +57 -0
- package/dist/reputation/index.d.ts +57 -0
- package/dist/reputation/index.js +21 -0
- package/dist/reputation/index.js.map +1 -0
- package/dist/reputation/index.mjs +4 -0
- package/dist/reputation/index.mjs.map +1 -0
- package/dist/routing-BWjUF7lp.d.ts +105 -0
- package/dist/routing-CgmRi9tD.d.mts +105 -0
- package/dist/seo/index.d.mts +273 -0
- package/dist/seo/index.d.ts +273 -0
- package/dist/seo/server.d.mts +89 -0
- package/dist/seo/server.d.ts +89 -0
- package/dist/setup/client.d.mts +60 -0
- package/dist/setup/client.d.ts +60 -0
- package/dist/setup/index.d.mts +5 -0
- package/dist/setup/index.d.ts +5 -0
- package/dist/setup/index.js +2 -2
- package/dist/setup/index.mjs +1 -1
- package/dist/setup/server.d.mts +14 -0
- package/dist/setup/server.d.ts +14 -0
- package/dist/setup/server.js +2 -2
- package/dist/setup/server.mjs +1 -1
- package/dist/sitemap/index.d.mts +78 -0
- package/dist/sitemap/index.d.ts +78 -0
- package/dist/types-BN4OwtCO.d.mts +177 -0
- package/dist/types-BN4OwtCO.d.ts +177 -0
- package/dist/types-BmzutFwy.d.mts +227 -0
- package/dist/types-BmzutFwy.d.ts +227 -0
- package/dist/types-C0pJGfbH.d.mts +155 -0
- package/dist/types-C0pJGfbH.d.ts +155 -0
- package/dist/types-DA_Kocle.d.mts +127 -0
- package/dist/types-DA_Kocle.d.ts +127 -0
- package/dist/types-lFLKKn0G.d.mts +163 -0
- package/dist/types-lFLKKn0G.d.ts +163 -0
- package/dist/types-nB206tPK.d.mts +309 -0
- package/dist/types-nB206tPK.d.ts +309 -0
- package/dist/useEventModal-6U1pF3_g.d.mts +209 -0
- package/dist/useEventModal-BA8g-1-P.d.ts +209 -0
- package/package.json +14 -9
- package/dist/chunk-63JNO4QN.mjs.map +0 -1
- package/dist/chunk-6EXHT7PS.mjs.map +0 -1
- package/dist/chunk-JG2K4S2I.js.map +0 -1
- package/dist/chunk-P7LGOKGI.mjs.map +0 -1
- package/dist/chunk-PYYEPAHL.js.map +0 -1
- package/dist/chunk-YKMCG3DS.js.map +0 -1
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { C as CommerceOffering, a as CommerceVariant, b as CheckoutResult, c as CommerceSchedule } from '../types-nB206tPK.mjs';
|
|
2
|
+
export { o as AdditionalField, A as AdditionalFieldOption, g as Cart, f as CartItem, h as CheckoutCustomer, n as CheckoutFormProps, p as CommerceApiConfig, e as CommerceCategory, m as EventEmbedProps, E as EventTileProps, q as FetchEventsOptions, F as FetchOfferingsOptions, i as OfferingCardProps, k as OfferingDetailProps, j as OfferingListProps, d as OfferingStatus, O as OfferingType, P as PriceType, l as ProductEmbedProps, R as RegistrationFormProps, U as UpcomingEventsProps } from '../types-nB206tPK.mjs';
|
|
3
|
+
export { n as CalendarView, C as CheckoutForm, p as EventCalendar, m as EventEmbed, o as EventModal, E as EventTile, O as OfferingCard, l as OfferingList, P as ProductEmbed, R as RegistrationForm, U as UpcomingEvents, k as createCheckoutSession, g as fetchCategories, b as fetchLatestOffering, j as fetchNextEvent, a as fetchOffering, f as fetchOfferings, e as fetchProductBySlug, c as fetchProducts, d as fetchProductsPublic, h as fetchServices, i as fetchUpcomingEvents, s as formatDate, w as formatDateRange, t as formatDateTime, q as formatPrice, v as formatTime, A as getOfferingUrl, x as getRelativeTimeUntil, y as getSpotsRemaining, z as isEventSoldOut, r as registerForEvent, u as useEventModal } from '../useEventModal-6U1pF3_g.mjs';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
import React__default from 'react';
|
|
6
|
+
|
|
7
|
+
interface ProductDetailProps {
|
|
8
|
+
/** Pre-loaded product data (for SSR) */
|
|
9
|
+
product?: CommerceOffering;
|
|
10
|
+
/** Product slug to fetch (if not pre-loaded) */
|
|
11
|
+
slug?: string;
|
|
12
|
+
/** Show add to cart button */
|
|
13
|
+
showAddToCart?: boolean;
|
|
14
|
+
/** Show buy now button */
|
|
15
|
+
showBuyNow?: boolean;
|
|
16
|
+
/** Show quantity selector */
|
|
17
|
+
showQuantity?: boolean;
|
|
18
|
+
/** Show variant selector */
|
|
19
|
+
showVariants?: boolean;
|
|
20
|
+
/** Show product gallery */
|
|
21
|
+
showGallery?: boolean;
|
|
22
|
+
/** Show product features */
|
|
23
|
+
showFeatures?: boolean;
|
|
24
|
+
/** Show specifications table */
|
|
25
|
+
showSpecifications?: boolean;
|
|
26
|
+
/** Success URL after checkout */
|
|
27
|
+
successUrl?: string;
|
|
28
|
+
/** Cancel URL if checkout cancelled */
|
|
29
|
+
cancelUrl?: string;
|
|
30
|
+
/** Callback when added to cart */
|
|
31
|
+
onAddToCart?: (product: CommerceOffering, variant?: CommerceVariant, quantity?: number) => void;
|
|
32
|
+
/** Callback when buy now clicked */
|
|
33
|
+
onBuyNow?: (product: CommerceOffering, variant?: CommerceVariant, quantity?: number) => void;
|
|
34
|
+
/** Callback on checkout success */
|
|
35
|
+
onCheckoutSuccess?: (result: CheckoutResult) => void;
|
|
36
|
+
/** Callback on checkout error */
|
|
37
|
+
onCheckoutError?: (error: string) => void;
|
|
38
|
+
/** Additional class names */
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Custom styles */
|
|
41
|
+
style?: React__default.CSSProperties;
|
|
42
|
+
}
|
|
43
|
+
declare function ProductDetail({ product: propProduct, slug, showAddToCart, showBuyNow, showQuantity, showVariants, showGallery, showFeatures, showSpecifications, successUrl, cancelUrl, onAddToCart, onBuyNow, onCheckoutSuccess, onCheckoutError, className, style, }: ProductDetailProps): react_jsx_runtime.JSX.Element;
|
|
44
|
+
|
|
45
|
+
interface ProductGridProps {
|
|
46
|
+
/** Pre-loaded products (for SSR) */
|
|
47
|
+
products?: CommerceOffering[];
|
|
48
|
+
/** Limit number of products */
|
|
49
|
+
limit?: number;
|
|
50
|
+
/** Category to filter by */
|
|
51
|
+
category?: string;
|
|
52
|
+
/** Show category filter */
|
|
53
|
+
showCategoryFilter?: boolean;
|
|
54
|
+
/** Show sort dropdown */
|
|
55
|
+
showSort?: boolean;
|
|
56
|
+
/** Show search input */
|
|
57
|
+
showSearch?: boolean;
|
|
58
|
+
/** Number of columns (responsive) */
|
|
59
|
+
columns?: 2 | 3 | 4;
|
|
60
|
+
/** Loading skeleton count */
|
|
61
|
+
skeletonCount?: number;
|
|
62
|
+
/** Custom empty state message */
|
|
63
|
+
emptyMessage?: string;
|
|
64
|
+
/** Callback when product is clicked */
|
|
65
|
+
onProductClick?: (product: CommerceOffering) => void;
|
|
66
|
+
/** Navigate to product page on click */
|
|
67
|
+
linkToProduct?: boolean;
|
|
68
|
+
/** Base path for product links */
|
|
69
|
+
productBasePath?: string;
|
|
70
|
+
/** Additional class names */
|
|
71
|
+
className?: string;
|
|
72
|
+
/** Card variant style */
|
|
73
|
+
cardVariant?: 'card' | 'minimal' | 'horizontal';
|
|
74
|
+
/** Custom styles */
|
|
75
|
+
style?: React__default.CSSProperties;
|
|
76
|
+
}
|
|
77
|
+
declare function ProductGrid({ products: propProducts, limit, category: propCategory, showCategoryFilter, showSort, showSearch, columns, skeletonCount, emptyMessage, onProductClick, linkToProduct, productBasePath, className, cardVariant, style, }: ProductGridProps): react_jsx_runtime.JSX.Element;
|
|
78
|
+
|
|
79
|
+
interface ProductPageProps {
|
|
80
|
+
/** Pre-loaded product data (for SSR) */
|
|
81
|
+
product?: CommerceOffering;
|
|
82
|
+
/** Product slug to fetch (if not pre-loaded) */
|
|
83
|
+
slug?: string;
|
|
84
|
+
/** Show breadcrumbs navigation */
|
|
85
|
+
showBreadcrumbs?: boolean;
|
|
86
|
+
/** Show related products section */
|
|
87
|
+
showRelatedProducts?: boolean;
|
|
88
|
+
/** Number of related products to show */
|
|
89
|
+
relatedProductsLimit?: number;
|
|
90
|
+
/** Show back to shop link */
|
|
91
|
+
showBackLink?: boolean;
|
|
92
|
+
/** Base path for shop */
|
|
93
|
+
shopBasePath?: string;
|
|
94
|
+
/** Success URL after checkout */
|
|
95
|
+
successUrl?: string;
|
|
96
|
+
/** Cancel URL if checkout cancelled */
|
|
97
|
+
cancelUrl?: string;
|
|
98
|
+
/** Callback when added to cart */
|
|
99
|
+
onAddToCart?: (product: CommerceOffering, variant?: CommerceVariant, quantity?: number) => void;
|
|
100
|
+
/** Custom breadcrumb renderer */
|
|
101
|
+
renderBreadcrumbs?: (product: CommerceOffering) => React__default.ReactNode;
|
|
102
|
+
/** Custom SEO head renderer (for Next.js Head or similar) */
|
|
103
|
+
renderHead?: (product: CommerceOffering) => React__default.ReactNode;
|
|
104
|
+
/** Additional class names */
|
|
105
|
+
className?: string;
|
|
106
|
+
/** Custom styles */
|
|
107
|
+
style?: React__default.CSSProperties;
|
|
108
|
+
}
|
|
109
|
+
declare function ProductPage({ product: propProduct, slug, showBreadcrumbs, showRelatedProducts, relatedProductsLimit, showBackLink, shopBasePath, successUrl, cancelUrl, onAddToCart, renderBreadcrumbs, renderHead, className, style, }: ProductPageProps): react_jsx_runtime.JSX.Element;
|
|
110
|
+
|
|
111
|
+
type EventsViewMode = 'list' | 'calendar';
|
|
112
|
+
interface EventsWidgetProps {
|
|
113
|
+
/** Pre-loaded events (optional - will fetch if not provided) */
|
|
114
|
+
events?: CommerceOffering[];
|
|
115
|
+
/** Initial view mode */
|
|
116
|
+
defaultView?: EventsViewMode;
|
|
117
|
+
/** Show view toggle buttons */
|
|
118
|
+
showViewToggle?: boolean;
|
|
119
|
+
/** Section title */
|
|
120
|
+
title?: string;
|
|
121
|
+
/** Subtitle or description */
|
|
122
|
+
subtitle?: string;
|
|
123
|
+
/** Category filter */
|
|
124
|
+
category?: string;
|
|
125
|
+
/** Maximum events to show in list view */
|
|
126
|
+
limit?: number;
|
|
127
|
+
/** Show "View All" link */
|
|
128
|
+
showViewAll?: boolean;
|
|
129
|
+
/** URL for "View All" link */
|
|
130
|
+
viewAllUrl?: string;
|
|
131
|
+
/** Text for "View All" link */
|
|
132
|
+
viewAllText?: string;
|
|
133
|
+
/** Message when no events */
|
|
134
|
+
emptyMessage?: string;
|
|
135
|
+
/** Show empty state with icon */
|
|
136
|
+
showEmptyIcon?: boolean;
|
|
137
|
+
/** Collect phone number in registration */
|
|
138
|
+
collectPhone?: boolean;
|
|
139
|
+
/** Additional form fields */
|
|
140
|
+
additionalFields?: AdditionalField[];
|
|
141
|
+
/** Called when registration/checkout succeeds */
|
|
142
|
+
onRegistrationSuccess?: (result: CheckoutResult) => void;
|
|
143
|
+
/** Called when registration/checkout fails */
|
|
144
|
+
onRegistrationError?: (error: string) => void;
|
|
145
|
+
/** Called when event is clicked (before modal opens) */
|
|
146
|
+
onEventClick?: (event: CommerceOffering, schedule: CommerceSchedule) => void;
|
|
147
|
+
className?: string;
|
|
148
|
+
headerClassName?: string;
|
|
149
|
+
toggleClassName?: string;
|
|
150
|
+
listClassName?: string;
|
|
151
|
+
calendarClassName?: string;
|
|
152
|
+
eventCardClassName?: string;
|
|
153
|
+
modalClassName?: string;
|
|
154
|
+
}
|
|
155
|
+
interface AdditionalField {
|
|
156
|
+
name: string;
|
|
157
|
+
label: string;
|
|
158
|
+
type?: 'text' | 'email' | 'tel' | 'textarea' | 'select' | 'number';
|
|
159
|
+
required?: boolean;
|
|
160
|
+
placeholder?: string;
|
|
161
|
+
options?: {
|
|
162
|
+
value: string;
|
|
163
|
+
label: string;
|
|
164
|
+
}[];
|
|
165
|
+
}
|
|
166
|
+
declare function EventsWidget({ events: propEvents, defaultView, showViewToggle, title, subtitle, category, limit, showViewAll, viewAllUrl, viewAllText, emptyMessage, showEmptyIcon, collectPhone, additionalFields, onRegistrationSuccess, onRegistrationError, onEventClick, className, headerClassName, toggleClassName, listClassName, calendarClassName, eventCardClassName, modalClassName, }: EventsWidgetProps): react_jsx_runtime.JSX.Element;
|
|
167
|
+
|
|
168
|
+
export { CheckoutResult, CommerceOffering, CommerceSchedule, CommerceVariant, EventsWidget, ProductDetail, ProductGrid, ProductPage };
|
|
@@ -0,0 +1,168 @@
|
|
|
1
|
+
import { C as CommerceOffering, a as CommerceVariant, b as CheckoutResult, c as CommerceSchedule } from '../types-nB206tPK.js';
|
|
2
|
+
export { o as AdditionalField, A as AdditionalFieldOption, g as Cart, f as CartItem, h as CheckoutCustomer, n as CheckoutFormProps, p as CommerceApiConfig, e as CommerceCategory, m as EventEmbedProps, E as EventTileProps, q as FetchEventsOptions, F as FetchOfferingsOptions, i as OfferingCardProps, k as OfferingDetailProps, j as OfferingListProps, d as OfferingStatus, O as OfferingType, P as PriceType, l as ProductEmbedProps, R as RegistrationFormProps, U as UpcomingEventsProps } from '../types-nB206tPK.js';
|
|
3
|
+
export { n as CalendarView, C as CheckoutForm, p as EventCalendar, m as EventEmbed, o as EventModal, E as EventTile, O as OfferingCard, l as OfferingList, P as ProductEmbed, R as RegistrationForm, U as UpcomingEvents, k as createCheckoutSession, g as fetchCategories, b as fetchLatestOffering, j as fetchNextEvent, a as fetchOffering, f as fetchOfferings, e as fetchProductBySlug, c as fetchProducts, d as fetchProductsPublic, h as fetchServices, i as fetchUpcomingEvents, s as formatDate, w as formatDateRange, t as formatDateTime, q as formatPrice, v as formatTime, A as getOfferingUrl, x as getRelativeTimeUntil, y as getSpotsRemaining, z as isEventSoldOut, r as registerForEvent, u as useEventModal } from '../useEventModal-BA8g-1-P.js';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
import React__default from 'react';
|
|
6
|
+
|
|
7
|
+
interface ProductDetailProps {
|
|
8
|
+
/** Pre-loaded product data (for SSR) */
|
|
9
|
+
product?: CommerceOffering;
|
|
10
|
+
/** Product slug to fetch (if not pre-loaded) */
|
|
11
|
+
slug?: string;
|
|
12
|
+
/** Show add to cart button */
|
|
13
|
+
showAddToCart?: boolean;
|
|
14
|
+
/** Show buy now button */
|
|
15
|
+
showBuyNow?: boolean;
|
|
16
|
+
/** Show quantity selector */
|
|
17
|
+
showQuantity?: boolean;
|
|
18
|
+
/** Show variant selector */
|
|
19
|
+
showVariants?: boolean;
|
|
20
|
+
/** Show product gallery */
|
|
21
|
+
showGallery?: boolean;
|
|
22
|
+
/** Show product features */
|
|
23
|
+
showFeatures?: boolean;
|
|
24
|
+
/** Show specifications table */
|
|
25
|
+
showSpecifications?: boolean;
|
|
26
|
+
/** Success URL after checkout */
|
|
27
|
+
successUrl?: string;
|
|
28
|
+
/** Cancel URL if checkout cancelled */
|
|
29
|
+
cancelUrl?: string;
|
|
30
|
+
/** Callback when added to cart */
|
|
31
|
+
onAddToCart?: (product: CommerceOffering, variant?: CommerceVariant, quantity?: number) => void;
|
|
32
|
+
/** Callback when buy now clicked */
|
|
33
|
+
onBuyNow?: (product: CommerceOffering, variant?: CommerceVariant, quantity?: number) => void;
|
|
34
|
+
/** Callback on checkout success */
|
|
35
|
+
onCheckoutSuccess?: (result: CheckoutResult) => void;
|
|
36
|
+
/** Callback on checkout error */
|
|
37
|
+
onCheckoutError?: (error: string) => void;
|
|
38
|
+
/** Additional class names */
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Custom styles */
|
|
41
|
+
style?: React__default.CSSProperties;
|
|
42
|
+
}
|
|
43
|
+
declare function ProductDetail({ product: propProduct, slug, showAddToCart, showBuyNow, showQuantity, showVariants, showGallery, showFeatures, showSpecifications, successUrl, cancelUrl, onAddToCart, onBuyNow, onCheckoutSuccess, onCheckoutError, className, style, }: ProductDetailProps): react_jsx_runtime.JSX.Element;
|
|
44
|
+
|
|
45
|
+
interface ProductGridProps {
|
|
46
|
+
/** Pre-loaded products (for SSR) */
|
|
47
|
+
products?: CommerceOffering[];
|
|
48
|
+
/** Limit number of products */
|
|
49
|
+
limit?: number;
|
|
50
|
+
/** Category to filter by */
|
|
51
|
+
category?: string;
|
|
52
|
+
/** Show category filter */
|
|
53
|
+
showCategoryFilter?: boolean;
|
|
54
|
+
/** Show sort dropdown */
|
|
55
|
+
showSort?: boolean;
|
|
56
|
+
/** Show search input */
|
|
57
|
+
showSearch?: boolean;
|
|
58
|
+
/** Number of columns (responsive) */
|
|
59
|
+
columns?: 2 | 3 | 4;
|
|
60
|
+
/** Loading skeleton count */
|
|
61
|
+
skeletonCount?: number;
|
|
62
|
+
/** Custom empty state message */
|
|
63
|
+
emptyMessage?: string;
|
|
64
|
+
/** Callback when product is clicked */
|
|
65
|
+
onProductClick?: (product: CommerceOffering) => void;
|
|
66
|
+
/** Navigate to product page on click */
|
|
67
|
+
linkToProduct?: boolean;
|
|
68
|
+
/** Base path for product links */
|
|
69
|
+
productBasePath?: string;
|
|
70
|
+
/** Additional class names */
|
|
71
|
+
className?: string;
|
|
72
|
+
/** Card variant style */
|
|
73
|
+
cardVariant?: 'card' | 'minimal' | 'horizontal';
|
|
74
|
+
/** Custom styles */
|
|
75
|
+
style?: React__default.CSSProperties;
|
|
76
|
+
}
|
|
77
|
+
declare function ProductGrid({ products: propProducts, limit, category: propCategory, showCategoryFilter, showSort, showSearch, columns, skeletonCount, emptyMessage, onProductClick, linkToProduct, productBasePath, className, cardVariant, style, }: ProductGridProps): react_jsx_runtime.JSX.Element;
|
|
78
|
+
|
|
79
|
+
interface ProductPageProps {
|
|
80
|
+
/** Pre-loaded product data (for SSR) */
|
|
81
|
+
product?: CommerceOffering;
|
|
82
|
+
/** Product slug to fetch (if not pre-loaded) */
|
|
83
|
+
slug?: string;
|
|
84
|
+
/** Show breadcrumbs navigation */
|
|
85
|
+
showBreadcrumbs?: boolean;
|
|
86
|
+
/** Show related products section */
|
|
87
|
+
showRelatedProducts?: boolean;
|
|
88
|
+
/** Number of related products to show */
|
|
89
|
+
relatedProductsLimit?: number;
|
|
90
|
+
/** Show back to shop link */
|
|
91
|
+
showBackLink?: boolean;
|
|
92
|
+
/** Base path for shop */
|
|
93
|
+
shopBasePath?: string;
|
|
94
|
+
/** Success URL after checkout */
|
|
95
|
+
successUrl?: string;
|
|
96
|
+
/** Cancel URL if checkout cancelled */
|
|
97
|
+
cancelUrl?: string;
|
|
98
|
+
/** Callback when added to cart */
|
|
99
|
+
onAddToCart?: (product: CommerceOffering, variant?: CommerceVariant, quantity?: number) => void;
|
|
100
|
+
/** Custom breadcrumb renderer */
|
|
101
|
+
renderBreadcrumbs?: (product: CommerceOffering) => React__default.ReactNode;
|
|
102
|
+
/** Custom SEO head renderer (for Next.js Head or similar) */
|
|
103
|
+
renderHead?: (product: CommerceOffering) => React__default.ReactNode;
|
|
104
|
+
/** Additional class names */
|
|
105
|
+
className?: string;
|
|
106
|
+
/** Custom styles */
|
|
107
|
+
style?: React__default.CSSProperties;
|
|
108
|
+
}
|
|
109
|
+
declare function ProductPage({ product: propProduct, slug, showBreadcrumbs, showRelatedProducts, relatedProductsLimit, showBackLink, shopBasePath, successUrl, cancelUrl, onAddToCart, renderBreadcrumbs, renderHead, className, style, }: ProductPageProps): react_jsx_runtime.JSX.Element;
|
|
110
|
+
|
|
111
|
+
type EventsViewMode = 'list' | 'calendar';
|
|
112
|
+
interface EventsWidgetProps {
|
|
113
|
+
/** Pre-loaded events (optional - will fetch if not provided) */
|
|
114
|
+
events?: CommerceOffering[];
|
|
115
|
+
/** Initial view mode */
|
|
116
|
+
defaultView?: EventsViewMode;
|
|
117
|
+
/** Show view toggle buttons */
|
|
118
|
+
showViewToggle?: boolean;
|
|
119
|
+
/** Section title */
|
|
120
|
+
title?: string;
|
|
121
|
+
/** Subtitle or description */
|
|
122
|
+
subtitle?: string;
|
|
123
|
+
/** Category filter */
|
|
124
|
+
category?: string;
|
|
125
|
+
/** Maximum events to show in list view */
|
|
126
|
+
limit?: number;
|
|
127
|
+
/** Show "View All" link */
|
|
128
|
+
showViewAll?: boolean;
|
|
129
|
+
/** URL for "View All" link */
|
|
130
|
+
viewAllUrl?: string;
|
|
131
|
+
/** Text for "View All" link */
|
|
132
|
+
viewAllText?: string;
|
|
133
|
+
/** Message when no events */
|
|
134
|
+
emptyMessage?: string;
|
|
135
|
+
/** Show empty state with icon */
|
|
136
|
+
showEmptyIcon?: boolean;
|
|
137
|
+
/** Collect phone number in registration */
|
|
138
|
+
collectPhone?: boolean;
|
|
139
|
+
/** Additional form fields */
|
|
140
|
+
additionalFields?: AdditionalField[];
|
|
141
|
+
/** Called when registration/checkout succeeds */
|
|
142
|
+
onRegistrationSuccess?: (result: CheckoutResult) => void;
|
|
143
|
+
/** Called when registration/checkout fails */
|
|
144
|
+
onRegistrationError?: (error: string) => void;
|
|
145
|
+
/** Called when event is clicked (before modal opens) */
|
|
146
|
+
onEventClick?: (event: CommerceOffering, schedule: CommerceSchedule) => void;
|
|
147
|
+
className?: string;
|
|
148
|
+
headerClassName?: string;
|
|
149
|
+
toggleClassName?: string;
|
|
150
|
+
listClassName?: string;
|
|
151
|
+
calendarClassName?: string;
|
|
152
|
+
eventCardClassName?: string;
|
|
153
|
+
modalClassName?: string;
|
|
154
|
+
}
|
|
155
|
+
interface AdditionalField {
|
|
156
|
+
name: string;
|
|
157
|
+
label: string;
|
|
158
|
+
type?: 'text' | 'email' | 'tel' | 'textarea' | 'select' | 'number';
|
|
159
|
+
required?: boolean;
|
|
160
|
+
placeholder?: string;
|
|
161
|
+
options?: {
|
|
162
|
+
value: string;
|
|
163
|
+
label: string;
|
|
164
|
+
}[];
|
|
165
|
+
}
|
|
166
|
+
declare function EventsWidget({ events: propEvents, defaultView, showViewToggle, title, subtitle, category, limit, showViewAll, viewAllUrl, viewAllText, emptyMessage, showEmptyIcon, collectPhone, additionalFields, onRegistrationSuccess, onRegistrationError, onEventClick, className, headerClassName, toggleClassName, listClassName, calendarClassName, eventCardClassName, modalClassName, }: EventsWidgetProps): react_jsx_runtime.JSX.Element;
|
|
167
|
+
|
|
168
|
+
export { CheckoutResult, CommerceOffering, CommerceSchedule, CommerceVariant, EventsWidget, ProductDetail, ProductGrid, ProductPage };
|
package/dist/commerce/index.js
CHANGED
|
@@ -1,157 +1,157 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkK2HWVOEO_js = require('../chunk-K2HWVOEO.js');
|
|
4
4
|
require('../chunk-EQCVQC35.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
Object.defineProperty(exports, "CalendarView", {
|
|
9
9
|
enumerable: true,
|
|
10
|
-
get: function () { return
|
|
10
|
+
get: function () { return chunkK2HWVOEO_js.CalendarView; }
|
|
11
11
|
});
|
|
12
12
|
Object.defineProperty(exports, "CheckoutForm", {
|
|
13
13
|
enumerable: true,
|
|
14
|
-
get: function () { return
|
|
14
|
+
get: function () { return chunkK2HWVOEO_js.CheckoutForm; }
|
|
15
15
|
});
|
|
16
16
|
Object.defineProperty(exports, "EventCalendar", {
|
|
17
17
|
enumerable: true,
|
|
18
|
-
get: function () { return
|
|
18
|
+
get: function () { return chunkK2HWVOEO_js.EventCalendar; }
|
|
19
19
|
});
|
|
20
20
|
Object.defineProperty(exports, "EventEmbed", {
|
|
21
21
|
enumerable: true,
|
|
22
|
-
get: function () { return
|
|
22
|
+
get: function () { return chunkK2HWVOEO_js.EventEmbed; }
|
|
23
23
|
});
|
|
24
24
|
Object.defineProperty(exports, "EventModal", {
|
|
25
25
|
enumerable: true,
|
|
26
|
-
get: function () { return
|
|
26
|
+
get: function () { return chunkK2HWVOEO_js.EventModal; }
|
|
27
27
|
});
|
|
28
28
|
Object.defineProperty(exports, "EventTile", {
|
|
29
29
|
enumerable: true,
|
|
30
|
-
get: function () { return
|
|
30
|
+
get: function () { return chunkK2HWVOEO_js.EventTile; }
|
|
31
31
|
});
|
|
32
32
|
Object.defineProperty(exports, "EventsWidget", {
|
|
33
33
|
enumerable: true,
|
|
34
|
-
get: function () { return
|
|
34
|
+
get: function () { return chunkK2HWVOEO_js.EventsWidget; }
|
|
35
35
|
});
|
|
36
36
|
Object.defineProperty(exports, "OfferingCard", {
|
|
37
37
|
enumerable: true,
|
|
38
|
-
get: function () { return
|
|
38
|
+
get: function () { return chunkK2HWVOEO_js.OfferingCard; }
|
|
39
39
|
});
|
|
40
40
|
Object.defineProperty(exports, "OfferingList", {
|
|
41
41
|
enumerable: true,
|
|
42
|
-
get: function () { return
|
|
42
|
+
get: function () { return chunkK2HWVOEO_js.OfferingList; }
|
|
43
43
|
});
|
|
44
44
|
Object.defineProperty(exports, "ProductDetail", {
|
|
45
45
|
enumerable: true,
|
|
46
|
-
get: function () { return
|
|
46
|
+
get: function () { return chunkK2HWVOEO_js.ProductDetail; }
|
|
47
47
|
});
|
|
48
48
|
Object.defineProperty(exports, "ProductEmbed", {
|
|
49
49
|
enumerable: true,
|
|
50
|
-
get: function () { return
|
|
50
|
+
get: function () { return chunkK2HWVOEO_js.ProductEmbed; }
|
|
51
51
|
});
|
|
52
52
|
Object.defineProperty(exports, "ProductGrid", {
|
|
53
53
|
enumerable: true,
|
|
54
|
-
get: function () { return
|
|
54
|
+
get: function () { return chunkK2HWVOEO_js.ProductGrid; }
|
|
55
55
|
});
|
|
56
56
|
Object.defineProperty(exports, "ProductPage", {
|
|
57
57
|
enumerable: true,
|
|
58
|
-
get: function () { return
|
|
58
|
+
get: function () { return chunkK2HWVOEO_js.ProductPage; }
|
|
59
59
|
});
|
|
60
60
|
Object.defineProperty(exports, "RegistrationForm", {
|
|
61
61
|
enumerable: true,
|
|
62
|
-
get: function () { return
|
|
62
|
+
get: function () { return chunkK2HWVOEO_js.RegistrationForm; }
|
|
63
63
|
});
|
|
64
64
|
Object.defineProperty(exports, "UpcomingEvents", {
|
|
65
65
|
enumerable: true,
|
|
66
|
-
get: function () { return
|
|
66
|
+
get: function () { return chunkK2HWVOEO_js.UpcomingEvents; }
|
|
67
67
|
});
|
|
68
68
|
Object.defineProperty(exports, "createCheckoutSession", {
|
|
69
69
|
enumerable: true,
|
|
70
|
-
get: function () { return
|
|
70
|
+
get: function () { return chunkK2HWVOEO_js.createCheckoutSession; }
|
|
71
71
|
});
|
|
72
72
|
Object.defineProperty(exports, "fetchCategories", {
|
|
73
73
|
enumerable: true,
|
|
74
|
-
get: function () { return
|
|
74
|
+
get: function () { return chunkK2HWVOEO_js.fetchCategories; }
|
|
75
75
|
});
|
|
76
76
|
Object.defineProperty(exports, "fetchLatestOffering", {
|
|
77
77
|
enumerable: true,
|
|
78
|
-
get: function () { return
|
|
78
|
+
get: function () { return chunkK2HWVOEO_js.fetchLatestOffering; }
|
|
79
79
|
});
|
|
80
80
|
Object.defineProperty(exports, "fetchNextEvent", {
|
|
81
81
|
enumerable: true,
|
|
82
|
-
get: function () { return
|
|
82
|
+
get: function () { return chunkK2HWVOEO_js.fetchNextEvent; }
|
|
83
83
|
});
|
|
84
84
|
Object.defineProperty(exports, "fetchOffering", {
|
|
85
85
|
enumerable: true,
|
|
86
|
-
get: function () { return
|
|
86
|
+
get: function () { return chunkK2HWVOEO_js.fetchOffering; }
|
|
87
87
|
});
|
|
88
88
|
Object.defineProperty(exports, "fetchOfferings", {
|
|
89
89
|
enumerable: true,
|
|
90
|
-
get: function () { return
|
|
90
|
+
get: function () { return chunkK2HWVOEO_js.fetchOfferings; }
|
|
91
91
|
});
|
|
92
92
|
Object.defineProperty(exports, "fetchProductBySlug", {
|
|
93
93
|
enumerable: true,
|
|
94
|
-
get: function () { return
|
|
94
|
+
get: function () { return chunkK2HWVOEO_js.fetchProductBySlug; }
|
|
95
95
|
});
|
|
96
96
|
Object.defineProperty(exports, "fetchProducts", {
|
|
97
97
|
enumerable: true,
|
|
98
|
-
get: function () { return
|
|
98
|
+
get: function () { return chunkK2HWVOEO_js.fetchProducts; }
|
|
99
99
|
});
|
|
100
100
|
Object.defineProperty(exports, "fetchProductsPublic", {
|
|
101
101
|
enumerable: true,
|
|
102
|
-
get: function () { return
|
|
102
|
+
get: function () { return chunkK2HWVOEO_js.fetchProductsPublic; }
|
|
103
103
|
});
|
|
104
104
|
Object.defineProperty(exports, "fetchServices", {
|
|
105
105
|
enumerable: true,
|
|
106
|
-
get: function () { return
|
|
106
|
+
get: function () { return chunkK2HWVOEO_js.fetchServices; }
|
|
107
107
|
});
|
|
108
108
|
Object.defineProperty(exports, "fetchUpcomingEvents", {
|
|
109
109
|
enumerable: true,
|
|
110
|
-
get: function () { return
|
|
110
|
+
get: function () { return chunkK2HWVOEO_js.fetchUpcomingEvents; }
|
|
111
111
|
});
|
|
112
112
|
Object.defineProperty(exports, "formatDate", {
|
|
113
113
|
enumerable: true,
|
|
114
|
-
get: function () { return
|
|
114
|
+
get: function () { return chunkK2HWVOEO_js.formatDate; }
|
|
115
115
|
});
|
|
116
116
|
Object.defineProperty(exports, "formatDateRange", {
|
|
117
117
|
enumerable: true,
|
|
118
|
-
get: function () { return
|
|
118
|
+
get: function () { return chunkK2HWVOEO_js.formatDateRange; }
|
|
119
119
|
});
|
|
120
120
|
Object.defineProperty(exports, "formatDateTime", {
|
|
121
121
|
enumerable: true,
|
|
122
|
-
get: function () { return
|
|
122
|
+
get: function () { return chunkK2HWVOEO_js.formatDateTime; }
|
|
123
123
|
});
|
|
124
124
|
Object.defineProperty(exports, "formatPrice", {
|
|
125
125
|
enumerable: true,
|
|
126
|
-
get: function () { return
|
|
126
|
+
get: function () { return chunkK2HWVOEO_js.formatPrice; }
|
|
127
127
|
});
|
|
128
128
|
Object.defineProperty(exports, "formatTime", {
|
|
129
129
|
enumerable: true,
|
|
130
|
-
get: function () { return
|
|
130
|
+
get: function () { return chunkK2HWVOEO_js.formatTime; }
|
|
131
131
|
});
|
|
132
132
|
Object.defineProperty(exports, "getOfferingUrl", {
|
|
133
133
|
enumerable: true,
|
|
134
|
-
get: function () { return
|
|
134
|
+
get: function () { return chunkK2HWVOEO_js.getOfferingUrl; }
|
|
135
135
|
});
|
|
136
136
|
Object.defineProperty(exports, "getRelativeTimeUntil", {
|
|
137
137
|
enumerable: true,
|
|
138
|
-
get: function () { return
|
|
138
|
+
get: function () { return chunkK2HWVOEO_js.getRelativeTimeUntil; }
|
|
139
139
|
});
|
|
140
140
|
Object.defineProperty(exports, "getSpotsRemaining", {
|
|
141
141
|
enumerable: true,
|
|
142
|
-
get: function () { return
|
|
142
|
+
get: function () { return chunkK2HWVOEO_js.getSpotsRemaining; }
|
|
143
143
|
});
|
|
144
144
|
Object.defineProperty(exports, "isEventSoldOut", {
|
|
145
145
|
enumerable: true,
|
|
146
|
-
get: function () { return
|
|
146
|
+
get: function () { return chunkK2HWVOEO_js.isEventSoldOut; }
|
|
147
147
|
});
|
|
148
148
|
Object.defineProperty(exports, "registerForEvent", {
|
|
149
149
|
enumerable: true,
|
|
150
|
-
get: function () { return
|
|
150
|
+
get: function () { return chunkK2HWVOEO_js.registerForEvent; }
|
|
151
151
|
});
|
|
152
152
|
Object.defineProperty(exports, "useEventModal", {
|
|
153
153
|
enumerable: true,
|
|
154
|
-
get: function () { return
|
|
154
|
+
get: function () { return chunkK2HWVOEO_js.useEventModal; }
|
|
155
155
|
});
|
|
156
156
|
//# sourceMappingURL=index.js.map
|
|
157
157
|
//# sourceMappingURL=index.js.map
|
package/dist/commerce/index.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export { CalendarView, CheckoutForm, EventCalendar, EventEmbed, EventModal, EventTile, EventsWidget, OfferingCard, OfferingList, ProductDetail, ProductEmbed, ProductGrid, ProductPage, RegistrationForm, UpcomingEvents, createCheckoutSession, fetchCategories, fetchLatestOffering, fetchNextEvent, fetchOffering, fetchOfferings, fetchProductBySlug, fetchProducts, fetchProductsPublic, fetchServices, fetchUpcomingEvents, formatDate, formatDateRange, formatDateTime, formatPrice, formatTime, getOfferingUrl, getRelativeTimeUntil, getSpotsRemaining, isEventSoldOut, registerForEvent, useEventModal } from '../chunk-
|
|
1
|
+
export { CalendarView, CheckoutForm, EventCalendar, EventEmbed, EventModal, EventTile, EventsWidget, OfferingCard, OfferingList, ProductDetail, ProductEmbed, ProductGrid, ProductPage, RegistrationForm, UpcomingEvents, createCheckoutSession, fetchCategories, fetchLatestOffering, fetchNextEvent, fetchOffering, fetchOfferings, fetchProductBySlug, fetchProducts, fetchProductsPublic, fetchServices, fetchUpcomingEvents, formatDate, formatDateRange, formatDateTime, formatPrice, formatTime, getOfferingUrl, getRelativeTimeUntil, getSpotsRemaining, isEventSoldOut, registerForEvent, useEventModal } from '../chunk-DOHML47I.mjs';
|
|
2
2
|
import '../chunk-NYKRE2FL.mjs';
|
|
3
3
|
//# sourceMappingURL=index.mjs.map
|
|
4
4
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1,98 @@
|
|
|
1
|
+
import { O as OfferingType, C as CommerceOffering } from '../types-nB206tPK.mjs';
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* @uptrade/site-kit/commerce - Server-side utilities
|
|
5
|
+
*
|
|
6
|
+
* Helpers for server-side rendering and dynamic routes.
|
|
7
|
+
* Use in Next.js getStaticPaths, getStaticProps, or App Router.
|
|
8
|
+
*/
|
|
9
|
+
|
|
10
|
+
interface ServerConfig {
|
|
11
|
+
supabaseUrl: string;
|
|
12
|
+
supabaseKey: string;
|
|
13
|
+
projectId: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Get all product slugs for static generation
|
|
17
|
+
*
|
|
18
|
+
* @example Next.js Pages Router
|
|
19
|
+
* export async function getStaticPaths() {
|
|
20
|
+
* const paths = await getProductPaths(config)
|
|
21
|
+
* return { paths, fallback: 'blocking' }
|
|
22
|
+
* }
|
|
23
|
+
*/
|
|
24
|
+
declare function getProductPaths(config: ServerConfig): Promise<{
|
|
25
|
+
params: {
|
|
26
|
+
slug: string;
|
|
27
|
+
};
|
|
28
|
+
}[]>;
|
|
29
|
+
/**
|
|
30
|
+
* Get all event slugs for static generation
|
|
31
|
+
*/
|
|
32
|
+
declare function getEventPaths(config: ServerConfig): Promise<{
|
|
33
|
+
params: {
|
|
34
|
+
slug: string;
|
|
35
|
+
};
|
|
36
|
+
}[]>;
|
|
37
|
+
/**
|
|
38
|
+
* Get all offering slugs for static generation (any type)
|
|
39
|
+
*/
|
|
40
|
+
declare function getOfferingPaths(config: ServerConfig, type?: OfferingType | OfferingType[]): Promise<{
|
|
41
|
+
params: {
|
|
42
|
+
slug: string;
|
|
43
|
+
};
|
|
44
|
+
}[]>;
|
|
45
|
+
/**
|
|
46
|
+
* Fetch a single offering by slug (server-side)
|
|
47
|
+
*
|
|
48
|
+
* @example Next.js Pages Router
|
|
49
|
+
* export async function getStaticProps({ params }) {
|
|
50
|
+
* const product = await getOfferingBySlug(config, params.slug)
|
|
51
|
+
* if (!product) return { notFound: true }
|
|
52
|
+
* return { props: { product }, revalidate: 60 }
|
|
53
|
+
* }
|
|
54
|
+
*/
|
|
55
|
+
declare function getOfferingBySlug(config: ServerConfig, slug: string): Promise<CommerceOffering | null>;
|
|
56
|
+
/**
|
|
57
|
+
* Fetch all offerings of a type (server-side)
|
|
58
|
+
*/
|
|
59
|
+
declare function getOfferings(config: ServerConfig, options?: {
|
|
60
|
+
type?: OfferingType | OfferingType[];
|
|
61
|
+
category?: string;
|
|
62
|
+
limit?: number;
|
|
63
|
+
status?: string;
|
|
64
|
+
}): Promise<CommerceOffering[]>;
|
|
65
|
+
/**
|
|
66
|
+
* Fetch upcoming events (server-side)
|
|
67
|
+
*/
|
|
68
|
+
declare function getUpcomingEvents(config: ServerConfig, options?: {
|
|
69
|
+
limit?: number;
|
|
70
|
+
category?: string;
|
|
71
|
+
}): Promise<CommerceOffering[]>;
|
|
72
|
+
/**
|
|
73
|
+
* Get next upcoming event (server-side)
|
|
74
|
+
*/
|
|
75
|
+
declare function getNextEvent(config: ServerConfig, category?: string): Promise<CommerceOffering | null>;
|
|
76
|
+
/**
|
|
77
|
+
* Generate page metadata for an offering
|
|
78
|
+
*
|
|
79
|
+
* @example Next.js App Router
|
|
80
|
+
* export async function generateMetadata({ params }) {
|
|
81
|
+
* const product = await getOfferingBySlug(config, params.slug)
|
|
82
|
+
* return generateOfferingMetadata(product, 'https://example.com')
|
|
83
|
+
* }
|
|
84
|
+
*/
|
|
85
|
+
declare function generateOfferingMetadata(offering: CommerceOffering | null, siteUrl: string): {
|
|
86
|
+
title: string;
|
|
87
|
+
description: string;
|
|
88
|
+
openGraph: {
|
|
89
|
+
title: string;
|
|
90
|
+
description: string;
|
|
91
|
+
images: string[];
|
|
92
|
+
type: string;
|
|
93
|
+
url: string;
|
|
94
|
+
};
|
|
95
|
+
} | null;
|
|
96
|
+
declare function createServerConfig(supabaseUrl: string, supabaseKey: string, projectId: string): ServerConfig;
|
|
97
|
+
|
|
98
|
+
export { createServerConfig, generateOfferingMetadata, getEventPaths, getNextEvent, getOfferingBySlug, getOfferingPaths, getOfferings, getProductPaths, getUpcomingEvents };
|