@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.
Files changed (100) hide show
  1. package/README.md +96 -25
  2. package/dist/SetupWizard-Cki06kB0.d.mts +12 -0
  3. package/dist/SetupWizard-Cki06kB0.d.ts +12 -0
  4. package/dist/analytics/index.d.mts +87 -0
  5. package/dist/analytics/index.d.ts +87 -0
  6. package/dist/blog/index.d.mts +179 -0
  7. package/dist/blog/index.d.ts +179 -0
  8. package/dist/blog/index.js +1131 -17
  9. package/dist/blog/index.js.map +1 -1
  10. package/dist/blog/index.mjs +1121 -17
  11. package/dist/blog/index.mjs.map +1 -1
  12. package/dist/blog/server.d.mts +228 -0
  13. package/dist/blog/server.d.ts +228 -0
  14. package/dist/blog/server.js +685 -0
  15. package/dist/blog/server.js.map +1 -0
  16. package/dist/blog/server.mjs +659 -0
  17. package/dist/blog/server.mjs.map +1 -0
  18. package/dist/{chunk-6EXHT7PS.mjs → chunk-2IHTEKHU.mjs} +5 -3
  19. package/dist/chunk-2IHTEKHU.mjs.map +1 -0
  20. package/dist/{chunk-63JNO4QN.mjs → chunk-DOHML47I.mjs} +2 -2
  21. package/dist/chunk-DOHML47I.mjs.map +1 -0
  22. package/dist/{chunk-YKMCG3DS.js → chunk-GAJLEDRD.js} +5 -3
  23. package/dist/chunk-GAJLEDRD.js.map +1 -0
  24. package/dist/{chunk-PYYEPAHL.js → chunk-K2HWVOEO.js} +2 -2
  25. package/dist/chunk-K2HWVOEO.js.map +1 -0
  26. package/dist/{chunk-JG2K4S2I.js → chunk-O2OHHBUD.js} +9 -9
  27. package/dist/chunk-O2OHHBUD.js.map +1 -0
  28. package/dist/chunk-QD66FTXZ.mjs +278 -0
  29. package/dist/chunk-QD66FTXZ.mjs.map +1 -0
  30. package/dist/chunk-UJQ73OS6.js +282 -0
  31. package/dist/chunk-UJQ73OS6.js.map +1 -0
  32. package/dist/{chunk-P7LGOKGI.mjs → chunk-XQJX252G.mjs} +9 -9
  33. package/dist/chunk-XQJX252G.mjs.map +1 -0
  34. package/dist/commerce/index.d.mts +168 -0
  35. package/dist/commerce/index.d.ts +168 -0
  36. package/dist/commerce/index.js +38 -38
  37. package/dist/commerce/index.mjs +1 -1
  38. package/dist/commerce/server.d.mts +98 -0
  39. package/dist/commerce/server.d.ts +98 -0
  40. package/dist/engage/index.d.mts +27 -0
  41. package/dist/engage/index.d.ts +27 -0
  42. package/dist/forms/index.d.mts +437 -0
  43. package/dist/forms/index.d.ts +437 -0
  44. package/dist/images/index.d.mts +133 -0
  45. package/dist/images/index.d.ts +133 -0
  46. package/dist/images/index.js +8 -8
  47. package/dist/images/index.mjs +1 -1
  48. package/dist/index.d.mts +650 -0
  49. package/dist/index.d.ts +650 -0
  50. package/dist/index.js +108 -95
  51. package/dist/index.js.map +1 -1
  52. package/dist/index.mjs +4 -3
  53. package/dist/index.mjs.map +1 -1
  54. package/dist/redirects/index.d.mts +72 -0
  55. package/dist/redirects/index.d.ts +72 -0
  56. package/dist/reputation/index.d.mts +57 -0
  57. package/dist/reputation/index.d.ts +57 -0
  58. package/dist/reputation/index.js +21 -0
  59. package/dist/reputation/index.js.map +1 -0
  60. package/dist/reputation/index.mjs +4 -0
  61. package/dist/reputation/index.mjs.map +1 -0
  62. package/dist/routing-BWjUF7lp.d.ts +105 -0
  63. package/dist/routing-CgmRi9tD.d.mts +105 -0
  64. package/dist/seo/index.d.mts +273 -0
  65. package/dist/seo/index.d.ts +273 -0
  66. package/dist/seo/server.d.mts +89 -0
  67. package/dist/seo/server.d.ts +89 -0
  68. package/dist/setup/client.d.mts +60 -0
  69. package/dist/setup/client.d.ts +60 -0
  70. package/dist/setup/index.d.mts +5 -0
  71. package/dist/setup/index.d.ts +5 -0
  72. package/dist/setup/index.js +2 -2
  73. package/dist/setup/index.mjs +1 -1
  74. package/dist/setup/server.d.mts +14 -0
  75. package/dist/setup/server.d.ts +14 -0
  76. package/dist/setup/server.js +2 -2
  77. package/dist/setup/server.mjs +1 -1
  78. package/dist/sitemap/index.d.mts +78 -0
  79. package/dist/sitemap/index.d.ts +78 -0
  80. package/dist/types-BN4OwtCO.d.mts +177 -0
  81. package/dist/types-BN4OwtCO.d.ts +177 -0
  82. package/dist/types-BmzutFwy.d.mts +227 -0
  83. package/dist/types-BmzutFwy.d.ts +227 -0
  84. package/dist/types-C0pJGfbH.d.mts +155 -0
  85. package/dist/types-C0pJGfbH.d.ts +155 -0
  86. package/dist/types-DA_Kocle.d.mts +127 -0
  87. package/dist/types-DA_Kocle.d.ts +127 -0
  88. package/dist/types-lFLKKn0G.d.mts +163 -0
  89. package/dist/types-lFLKKn0G.d.ts +163 -0
  90. package/dist/types-nB206tPK.d.mts +309 -0
  91. package/dist/types-nB206tPK.d.ts +309 -0
  92. package/dist/useEventModal-6U1pF3_g.d.mts +209 -0
  93. package/dist/useEventModal-BA8g-1-P.d.ts +209 -0
  94. package/package.json +14 -9
  95. package/dist/chunk-63JNO4QN.mjs.map +0 -1
  96. package/dist/chunk-6EXHT7PS.mjs.map +0 -1
  97. package/dist/chunk-JG2K4S2I.js.map +0 -1
  98. package/dist/chunk-P7LGOKGI.mjs.map +0 -1
  99. package/dist/chunk-PYYEPAHL.js.map +0 -1
  100. 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 };
@@ -1,157 +1,157 @@
1
1
  'use strict';
2
2
 
3
- var chunkPYYEPAHL_js = require('../chunk-PYYEPAHL.js');
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 chunkPYYEPAHL_js.CalendarView; }
10
+ get: function () { return chunkK2HWVOEO_js.CalendarView; }
11
11
  });
12
12
  Object.defineProperty(exports, "CheckoutForm", {
13
13
  enumerable: true,
14
- get: function () { return chunkPYYEPAHL_js.CheckoutForm; }
14
+ get: function () { return chunkK2HWVOEO_js.CheckoutForm; }
15
15
  });
16
16
  Object.defineProperty(exports, "EventCalendar", {
17
17
  enumerable: true,
18
- get: function () { return chunkPYYEPAHL_js.EventCalendar; }
18
+ get: function () { return chunkK2HWVOEO_js.EventCalendar; }
19
19
  });
20
20
  Object.defineProperty(exports, "EventEmbed", {
21
21
  enumerable: true,
22
- get: function () { return chunkPYYEPAHL_js.EventEmbed; }
22
+ get: function () { return chunkK2HWVOEO_js.EventEmbed; }
23
23
  });
24
24
  Object.defineProperty(exports, "EventModal", {
25
25
  enumerable: true,
26
- get: function () { return chunkPYYEPAHL_js.EventModal; }
26
+ get: function () { return chunkK2HWVOEO_js.EventModal; }
27
27
  });
28
28
  Object.defineProperty(exports, "EventTile", {
29
29
  enumerable: true,
30
- get: function () { return chunkPYYEPAHL_js.EventTile; }
30
+ get: function () { return chunkK2HWVOEO_js.EventTile; }
31
31
  });
32
32
  Object.defineProperty(exports, "EventsWidget", {
33
33
  enumerable: true,
34
- get: function () { return chunkPYYEPAHL_js.EventsWidget; }
34
+ get: function () { return chunkK2HWVOEO_js.EventsWidget; }
35
35
  });
36
36
  Object.defineProperty(exports, "OfferingCard", {
37
37
  enumerable: true,
38
- get: function () { return chunkPYYEPAHL_js.OfferingCard; }
38
+ get: function () { return chunkK2HWVOEO_js.OfferingCard; }
39
39
  });
40
40
  Object.defineProperty(exports, "OfferingList", {
41
41
  enumerable: true,
42
- get: function () { return chunkPYYEPAHL_js.OfferingList; }
42
+ get: function () { return chunkK2HWVOEO_js.OfferingList; }
43
43
  });
44
44
  Object.defineProperty(exports, "ProductDetail", {
45
45
  enumerable: true,
46
- get: function () { return chunkPYYEPAHL_js.ProductDetail; }
46
+ get: function () { return chunkK2HWVOEO_js.ProductDetail; }
47
47
  });
48
48
  Object.defineProperty(exports, "ProductEmbed", {
49
49
  enumerable: true,
50
- get: function () { return chunkPYYEPAHL_js.ProductEmbed; }
50
+ get: function () { return chunkK2HWVOEO_js.ProductEmbed; }
51
51
  });
52
52
  Object.defineProperty(exports, "ProductGrid", {
53
53
  enumerable: true,
54
- get: function () { return chunkPYYEPAHL_js.ProductGrid; }
54
+ get: function () { return chunkK2HWVOEO_js.ProductGrid; }
55
55
  });
56
56
  Object.defineProperty(exports, "ProductPage", {
57
57
  enumerable: true,
58
- get: function () { return chunkPYYEPAHL_js.ProductPage; }
58
+ get: function () { return chunkK2HWVOEO_js.ProductPage; }
59
59
  });
60
60
  Object.defineProperty(exports, "RegistrationForm", {
61
61
  enumerable: true,
62
- get: function () { return chunkPYYEPAHL_js.RegistrationForm; }
62
+ get: function () { return chunkK2HWVOEO_js.RegistrationForm; }
63
63
  });
64
64
  Object.defineProperty(exports, "UpcomingEvents", {
65
65
  enumerable: true,
66
- get: function () { return chunkPYYEPAHL_js.UpcomingEvents; }
66
+ get: function () { return chunkK2HWVOEO_js.UpcomingEvents; }
67
67
  });
68
68
  Object.defineProperty(exports, "createCheckoutSession", {
69
69
  enumerable: true,
70
- get: function () { return chunkPYYEPAHL_js.createCheckoutSession; }
70
+ get: function () { return chunkK2HWVOEO_js.createCheckoutSession; }
71
71
  });
72
72
  Object.defineProperty(exports, "fetchCategories", {
73
73
  enumerable: true,
74
- get: function () { return chunkPYYEPAHL_js.fetchCategories; }
74
+ get: function () { return chunkK2HWVOEO_js.fetchCategories; }
75
75
  });
76
76
  Object.defineProperty(exports, "fetchLatestOffering", {
77
77
  enumerable: true,
78
- get: function () { return chunkPYYEPAHL_js.fetchLatestOffering; }
78
+ get: function () { return chunkK2HWVOEO_js.fetchLatestOffering; }
79
79
  });
80
80
  Object.defineProperty(exports, "fetchNextEvent", {
81
81
  enumerable: true,
82
- get: function () { return chunkPYYEPAHL_js.fetchNextEvent; }
82
+ get: function () { return chunkK2HWVOEO_js.fetchNextEvent; }
83
83
  });
84
84
  Object.defineProperty(exports, "fetchOffering", {
85
85
  enumerable: true,
86
- get: function () { return chunkPYYEPAHL_js.fetchOffering; }
86
+ get: function () { return chunkK2HWVOEO_js.fetchOffering; }
87
87
  });
88
88
  Object.defineProperty(exports, "fetchOfferings", {
89
89
  enumerable: true,
90
- get: function () { return chunkPYYEPAHL_js.fetchOfferings; }
90
+ get: function () { return chunkK2HWVOEO_js.fetchOfferings; }
91
91
  });
92
92
  Object.defineProperty(exports, "fetchProductBySlug", {
93
93
  enumerable: true,
94
- get: function () { return chunkPYYEPAHL_js.fetchProductBySlug; }
94
+ get: function () { return chunkK2HWVOEO_js.fetchProductBySlug; }
95
95
  });
96
96
  Object.defineProperty(exports, "fetchProducts", {
97
97
  enumerable: true,
98
- get: function () { return chunkPYYEPAHL_js.fetchProducts; }
98
+ get: function () { return chunkK2HWVOEO_js.fetchProducts; }
99
99
  });
100
100
  Object.defineProperty(exports, "fetchProductsPublic", {
101
101
  enumerable: true,
102
- get: function () { return chunkPYYEPAHL_js.fetchProductsPublic; }
102
+ get: function () { return chunkK2HWVOEO_js.fetchProductsPublic; }
103
103
  });
104
104
  Object.defineProperty(exports, "fetchServices", {
105
105
  enumerable: true,
106
- get: function () { return chunkPYYEPAHL_js.fetchServices; }
106
+ get: function () { return chunkK2HWVOEO_js.fetchServices; }
107
107
  });
108
108
  Object.defineProperty(exports, "fetchUpcomingEvents", {
109
109
  enumerable: true,
110
- get: function () { return chunkPYYEPAHL_js.fetchUpcomingEvents; }
110
+ get: function () { return chunkK2HWVOEO_js.fetchUpcomingEvents; }
111
111
  });
112
112
  Object.defineProperty(exports, "formatDate", {
113
113
  enumerable: true,
114
- get: function () { return chunkPYYEPAHL_js.formatDate; }
114
+ get: function () { return chunkK2HWVOEO_js.formatDate; }
115
115
  });
116
116
  Object.defineProperty(exports, "formatDateRange", {
117
117
  enumerable: true,
118
- get: function () { return chunkPYYEPAHL_js.formatDateRange; }
118
+ get: function () { return chunkK2HWVOEO_js.formatDateRange; }
119
119
  });
120
120
  Object.defineProperty(exports, "formatDateTime", {
121
121
  enumerable: true,
122
- get: function () { return chunkPYYEPAHL_js.formatDateTime; }
122
+ get: function () { return chunkK2HWVOEO_js.formatDateTime; }
123
123
  });
124
124
  Object.defineProperty(exports, "formatPrice", {
125
125
  enumerable: true,
126
- get: function () { return chunkPYYEPAHL_js.formatPrice; }
126
+ get: function () { return chunkK2HWVOEO_js.formatPrice; }
127
127
  });
128
128
  Object.defineProperty(exports, "formatTime", {
129
129
  enumerable: true,
130
- get: function () { return chunkPYYEPAHL_js.formatTime; }
130
+ get: function () { return chunkK2HWVOEO_js.formatTime; }
131
131
  });
132
132
  Object.defineProperty(exports, "getOfferingUrl", {
133
133
  enumerable: true,
134
- get: function () { return chunkPYYEPAHL_js.getOfferingUrl; }
134
+ get: function () { return chunkK2HWVOEO_js.getOfferingUrl; }
135
135
  });
136
136
  Object.defineProperty(exports, "getRelativeTimeUntil", {
137
137
  enumerable: true,
138
- get: function () { return chunkPYYEPAHL_js.getRelativeTimeUntil; }
138
+ get: function () { return chunkK2HWVOEO_js.getRelativeTimeUntil; }
139
139
  });
140
140
  Object.defineProperty(exports, "getSpotsRemaining", {
141
141
  enumerable: true,
142
- get: function () { return chunkPYYEPAHL_js.getSpotsRemaining; }
142
+ get: function () { return chunkK2HWVOEO_js.getSpotsRemaining; }
143
143
  });
144
144
  Object.defineProperty(exports, "isEventSoldOut", {
145
145
  enumerable: true,
146
- get: function () { return chunkPYYEPAHL_js.isEventSoldOut; }
146
+ get: function () { return chunkK2HWVOEO_js.isEventSoldOut; }
147
147
  });
148
148
  Object.defineProperty(exports, "registerForEvent", {
149
149
  enumerable: true,
150
- get: function () { return chunkPYYEPAHL_js.registerForEvent; }
150
+ get: function () { return chunkK2HWVOEO_js.registerForEvent; }
151
151
  });
152
152
  Object.defineProperty(exports, "useEventModal", {
153
153
  enumerable: true,
154
- get: function () { return chunkPYYEPAHL_js.useEventModal; }
154
+ get: function () { return chunkK2HWVOEO_js.useEventModal; }
155
155
  });
156
156
  //# sourceMappingURL=index.js.map
157
157
  //# sourceMappingURL=index.js.map
@@ -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-63JNO4QN.mjs';
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 };