@zorgo/next 1.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 +19 -0
- package/dist/cli.d.mts +5 -0
- package/dist/cli.d.ts +5 -0
- package/dist/cli.js +2 -0
- package/dist/cli.mjs +2 -0
- package/dist/components.d.mts +337 -0
- package/dist/components.d.ts +337 -0
- package/dist/components.js +1996 -0
- package/dist/components.js.map +1 -0
- package/dist/components.mjs +1962 -0
- package/dist/components.mjs.map +1 -0
- package/dist/index.d.mts +305 -0
- package/dist/index.d.ts +305 -0
- package/dist/index.js +2 -0
- package/dist/index.mjs +2 -0
- package/dist/seo.d.mts +30 -0
- package/dist/seo.d.ts +30 -0
- package/dist/seo.js +82 -0
- package/dist/seo.js.map +1 -0
- package/dist/seo.mjs +56 -0
- package/dist/seo.mjs.map +1 -0
- package/dist/slugs.d.mts +1 -0
- package/dist/slugs.d.ts +1 -0
- package/dist/slugs.js +47 -0
- package/dist/slugs.js.map +1 -0
- package/dist/slugs.mjs +19 -0
- package/dist/slugs.mjs.map +1 -0
- package/dist/tree/.env.gen.ts +27 -0
- package/dist/tree/README.md +0 -0
- package/dist/tree/app/api/zorgo-token/route.ts +11 -0
- package/dist/tree/app/apple-icon.tsx.gen.ts +54 -0
- package/dist/tree/app/checkout/page.tsx +10 -0
- package/dist/tree/app/components/Footer.tsx +50 -0
- package/dist/tree/app/components/Header.tsx +128 -0
- package/dist/tree/app/components/ModalHost.tsx +56 -0
- package/dist/tree/app/components/ModalRegistry.tsx +113 -0
- package/dist/tree/app/components/TestCard.tsx +35 -0
- package/dist/tree/app/components/index.ts +3 -0
- package/dist/tree/app/error.tsx +10 -0
- package/dist/tree/app/global-error.tsx +12 -0
- package/dist/tree/app/globals.css.gen.ts +123 -0
- package/dist/tree/app/icon.tsx.gen.ts +87 -0
- package/dist/tree/app/layout.tsx.gen.ts +55 -0
- package/dist/tree/app/locations/page.tsx +30 -0
- package/dist/tree/app/manifest.ts.gen.ts +39 -0
- package/dist/tree/app/menu/[slug]/ItemCustomizationClient.tsx +18 -0
- package/dist/tree/app/menu/[slug]/page.tsx +78 -0
- package/dist/tree/app/menu/page.tsx +36 -0
- package/dist/tree/app/not-found.tsx +8 -0
- package/dist/tree/app/opengraph-image.tsx.gen.ts +82 -0
- package/dist/tree/app/page.tsx +19 -0
- package/dist/tree/app/privacy/page.tsx.gen.ts +15 -0
- package/dist/tree/app/robots.ts +9 -0
- package/dist/tree/app/sitemap.ts +26 -0
- package/dist/tree/app/terms/page.tsx.gen.ts +16 -0
- package/dist/tree/gitignore +44 -0
- package/dist/tree/lib/zorgoSiteToken.ts +20 -0
- package/dist/tree/next.config.ts +14 -0
- package/dist/tree/open-next.config.ts +4 -0
- package/dist/tree/package.json.gen.ts +24 -0
- package/dist/tree/postcss.config.mjs +7 -0
- package/dist/tree/scripts/prebuild.ts +448 -0
- package/dist/tree/tsconfig.json +35 -0
- package/package.json +72 -0
|
@@ -0,0 +1,337 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { MenuItem, Category, OrderItem, Location } from '@zorgo/universal/interfaces';
|
|
3
|
+
|
|
4
|
+
declare function CookieConsent(): react_jsx_runtime.JSX.Element | null;
|
|
5
|
+
|
|
6
|
+
interface BreadcrumbItem {
|
|
7
|
+
label: string;
|
|
8
|
+
/** Omit (or leave undefined) to render the crumb as plain, non-clickable text. */
|
|
9
|
+
href?: string;
|
|
10
|
+
}
|
|
11
|
+
/** Per-slot Tailwind classes for the breadcrumb trail. */
|
|
12
|
+
type BreadcrumbsItemClasses = Partial<{
|
|
13
|
+
baseContainer: string;
|
|
14
|
+
crumbLink: string;
|
|
15
|
+
crumbText: string;
|
|
16
|
+
separator: string;
|
|
17
|
+
}>;
|
|
18
|
+
/**
|
|
19
|
+
* Structural / theme defaults. Merged with `itemClasses` via
|
|
20
|
+
* {@link mergeBreadcrumbsItemClasses}.
|
|
21
|
+
*/
|
|
22
|
+
declare const BREADCRUMBS_DEFAULT_ITEM_CLASSES: Required<BreadcrumbsItemClasses>;
|
|
23
|
+
declare function mergeBreadcrumbsItemClasses(overrides?: BreadcrumbsItemClasses): {
|
|
24
|
+
baseContainer: string;
|
|
25
|
+
crumbLink: string;
|
|
26
|
+
crumbText: string;
|
|
27
|
+
separator: string;
|
|
28
|
+
};
|
|
29
|
+
/** Minimal, presentational breadcrumb trail (e.g. Menu -> Category -> Item). */
|
|
30
|
+
declare function Breadcrumbs({ items, itemClasses, }: {
|
|
31
|
+
items: BreadcrumbItem[];
|
|
32
|
+
itemClasses?: BreadcrumbsItemClasses;
|
|
33
|
+
}): react_jsx_runtime.JSX.Element;
|
|
34
|
+
|
|
35
|
+
/** Per-slot Tailwind classes for the grid menu layout. */
|
|
36
|
+
type GridMenuItemClasses = Partial<{
|
|
37
|
+
baseContainer: string;
|
|
38
|
+
categoryContainer: string;
|
|
39
|
+
categoryTitle: string;
|
|
40
|
+
itemCardContainer: string;
|
|
41
|
+
itemCard: string;
|
|
42
|
+
itemCardImage: string;
|
|
43
|
+
itemCardTextContainer: string;
|
|
44
|
+
itemCardName: string;
|
|
45
|
+
itemCardPrice: string;
|
|
46
|
+
itemCardOldPrice: string;
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Structural / theme defaults. Merged with `itemClasses` via
|
|
50
|
+
* {@link mergeGridMenuItemClasses}.
|
|
51
|
+
*/
|
|
52
|
+
declare const GRID_MENU_DEFAULT_ITEM_CLASSES: Required<GridMenuItemClasses>;
|
|
53
|
+
declare function mergeGridMenuItemClasses(overrides?: GridMenuItemClasses): {
|
|
54
|
+
baseContainer: string;
|
|
55
|
+
categoryContainer: string;
|
|
56
|
+
categoryTitle: string;
|
|
57
|
+
itemCardContainer: string;
|
|
58
|
+
itemCard: string;
|
|
59
|
+
itemCardImage: string;
|
|
60
|
+
itemCardTextContainer: string;
|
|
61
|
+
itemCardName: string;
|
|
62
|
+
itemCardPrice: string;
|
|
63
|
+
itemCardOldPrice: string;
|
|
64
|
+
};
|
|
65
|
+
declare function GridMenu({ items, categories, itemClasses, }: {
|
|
66
|
+
items: MenuItem[];
|
|
67
|
+
categories: Category[];
|
|
68
|
+
itemClasses?: GridMenuItemClasses;
|
|
69
|
+
}): react_jsx_runtime.JSX.Element;
|
|
70
|
+
|
|
71
|
+
/** Per-slot Tailwind classes for the accordion menu layout. */
|
|
72
|
+
type AccordionMenuItemClasses = Partial<{
|
|
73
|
+
baseContainer: string;
|
|
74
|
+
categoryContainer: string;
|
|
75
|
+
categoryTrigger: string;
|
|
76
|
+
categoryTitle: string;
|
|
77
|
+
categoryIndicator: string;
|
|
78
|
+
itemsContainer: string;
|
|
79
|
+
itemCard: string;
|
|
80
|
+
itemCardTextContainer: string;
|
|
81
|
+
itemCardName: string;
|
|
82
|
+
itemCardDescription: string;
|
|
83
|
+
itemCardPriceContainer: string;
|
|
84
|
+
itemCardPrice: string;
|
|
85
|
+
itemCardOldPrice: string;
|
|
86
|
+
}>;
|
|
87
|
+
/**
|
|
88
|
+
* Structural / theme defaults. Merged with `itemClasses` via
|
|
89
|
+
* {@link mergeAccordionMenuItemClasses}.
|
|
90
|
+
*/
|
|
91
|
+
declare const ACCORDION_MENU_DEFAULT_ITEM_CLASSES: Required<AccordionMenuItemClasses>;
|
|
92
|
+
declare function mergeAccordionMenuItemClasses(overrides?: AccordionMenuItemClasses): {
|
|
93
|
+
baseContainer: string;
|
|
94
|
+
categoryContainer: string;
|
|
95
|
+
categoryTrigger: string;
|
|
96
|
+
categoryTitle: string;
|
|
97
|
+
categoryIndicator: string;
|
|
98
|
+
itemsContainer: string;
|
|
99
|
+
itemCard: string;
|
|
100
|
+
itemCardTextContainer: string;
|
|
101
|
+
itemCardName: string;
|
|
102
|
+
itemCardDescription: string;
|
|
103
|
+
itemCardPriceContainer: string;
|
|
104
|
+
itemCardPrice: string;
|
|
105
|
+
itemCardOldPrice: string;
|
|
106
|
+
};
|
|
107
|
+
declare function AccordionMenu({ items, categories, itemClasses, }: {
|
|
108
|
+
items: MenuItem[];
|
|
109
|
+
categories: Category[];
|
|
110
|
+
itemClasses?: AccordionMenuItemClasses;
|
|
111
|
+
}): react_jsx_runtime.JSX.Element;
|
|
112
|
+
|
|
113
|
+
/** Per-slot Tailwind classes for the item customization form. */
|
|
114
|
+
type ItemCustomizationFormItemClasses = Partial<{
|
|
115
|
+
baseContainer: string;
|
|
116
|
+
title: string;
|
|
117
|
+
description: string;
|
|
118
|
+
section: string;
|
|
119
|
+
sectionTitle: string;
|
|
120
|
+
optionsRow: string;
|
|
121
|
+
optionButton: string;
|
|
122
|
+
optionButtonSelected: string;
|
|
123
|
+
optionButtonUnselected: string;
|
|
124
|
+
optionButtonLabel: string;
|
|
125
|
+
optionButtonUpcharge: string;
|
|
126
|
+
servingsRow: string;
|
|
127
|
+
servingsLabel: string;
|
|
128
|
+
servingsControls: string;
|
|
129
|
+
incrementButton: string;
|
|
130
|
+
servingsValue: string;
|
|
131
|
+
ruleError: string;
|
|
132
|
+
commentsTextarea: string;
|
|
133
|
+
quantityRow: string;
|
|
134
|
+
submitButton: string;
|
|
135
|
+
notFound: string;
|
|
136
|
+
}>;
|
|
137
|
+
/**
|
|
138
|
+
* Structural / theme defaults. Merged with `itemClasses` via
|
|
139
|
+
* {@link mergeItemCustomizationFormItemClasses}.
|
|
140
|
+
*/
|
|
141
|
+
declare const ITEM_CUSTOMIZATION_FORM_DEFAULT_ITEM_CLASSES: Required<ItemCustomizationFormItemClasses>;
|
|
142
|
+
declare function mergeItemCustomizationFormItemClasses(overrides?: ItemCustomizationFormItemClasses): {
|
|
143
|
+
baseContainer: string;
|
|
144
|
+
title: string;
|
|
145
|
+
description: string;
|
|
146
|
+
section: string;
|
|
147
|
+
sectionTitle: string;
|
|
148
|
+
optionsRow: string;
|
|
149
|
+
optionButton: string;
|
|
150
|
+
optionButtonSelected: string;
|
|
151
|
+
optionButtonUnselected: string;
|
|
152
|
+
optionButtonLabel: string;
|
|
153
|
+
optionButtonUpcharge: string;
|
|
154
|
+
servingsRow: string;
|
|
155
|
+
servingsLabel: string;
|
|
156
|
+
servingsControls: string;
|
|
157
|
+
incrementButton: string;
|
|
158
|
+
servingsValue: string;
|
|
159
|
+
ruleError: string;
|
|
160
|
+
commentsTextarea: string;
|
|
161
|
+
quantityRow: string;
|
|
162
|
+
submitButton: string;
|
|
163
|
+
notFound: string;
|
|
164
|
+
};
|
|
165
|
+
declare function ItemCustomizationForm({ baseItemId, seed, editIndex, itemClasses, onSubmitSuccess, }: {
|
|
166
|
+
baseItemId: number;
|
|
167
|
+
seed?: OrderItem;
|
|
168
|
+
editIndex?: number;
|
|
169
|
+
itemClasses?: ItemCustomizationFormItemClasses;
|
|
170
|
+
onSubmitSuccess?: () => void;
|
|
171
|
+
}): react_jsx_runtime.JSX.Element;
|
|
172
|
+
|
|
173
|
+
/** Per-slot Tailwind classes for the find-location layout. */
|
|
174
|
+
type FindLocationItemClasses = Partial<{
|
|
175
|
+
baseContainer: string;
|
|
176
|
+
searchContainer: string;
|
|
177
|
+
searchIcon: string;
|
|
178
|
+
searchInput: string;
|
|
179
|
+
noMatchesMessage: string;
|
|
180
|
+
emptyMessage: string;
|
|
181
|
+
list: string;
|
|
182
|
+
locationRow: string;
|
|
183
|
+
locationRowSelected: string;
|
|
184
|
+
locationRowUnselected: string;
|
|
185
|
+
locationButton: string;
|
|
186
|
+
locationName: string;
|
|
187
|
+
locationAddress: string;
|
|
188
|
+
selectButton: string;
|
|
189
|
+
}>;
|
|
190
|
+
/**
|
|
191
|
+
* Structural / theme defaults. Merged with `itemClasses` via
|
|
192
|
+
* {@link mergeFindLocationItemClasses}.
|
|
193
|
+
*/
|
|
194
|
+
declare const FIND_LOCATION_DEFAULT_ITEM_CLASSES: Required<FindLocationItemClasses>;
|
|
195
|
+
declare function mergeFindLocationItemClasses(overrides?: FindLocationItemClasses): {
|
|
196
|
+
baseContainer: string;
|
|
197
|
+
searchContainer: string;
|
|
198
|
+
searchIcon: string;
|
|
199
|
+
searchInput: string;
|
|
200
|
+
noMatchesMessage: string;
|
|
201
|
+
emptyMessage: string;
|
|
202
|
+
list: string;
|
|
203
|
+
locationRow: string;
|
|
204
|
+
locationRowSelected: string;
|
|
205
|
+
locationRowUnselected: string;
|
|
206
|
+
locationButton: string;
|
|
207
|
+
locationName: string;
|
|
208
|
+
locationAddress: string;
|
|
209
|
+
selectButton: string;
|
|
210
|
+
};
|
|
211
|
+
declare function FindLocation({ locations, initialSelected, onSelect, itemClasses, }: {
|
|
212
|
+
locations: Location[];
|
|
213
|
+
/** Seeds the internal highlight and stays pinned at the top of the list. */
|
|
214
|
+
initialSelected?: Location | null;
|
|
215
|
+
onSelect: (location: Location) => void;
|
|
216
|
+
itemClasses?: FindLocationItemClasses;
|
|
217
|
+
}): react_jsx_runtime.JSX.Element;
|
|
218
|
+
|
|
219
|
+
/** Per-slot Tailwind classes for the checkout form. */
|
|
220
|
+
type CheckoutFormItemClasses = Partial<{
|
|
221
|
+
shell: string;
|
|
222
|
+
shellInner: string;
|
|
223
|
+
pageTitle: string;
|
|
224
|
+
primaryButton: string;
|
|
225
|
+
secondaryButton: string;
|
|
226
|
+
incrementButton: string;
|
|
227
|
+
surface: string;
|
|
228
|
+
fieldInput: string;
|
|
229
|
+
fieldContainer: string;
|
|
230
|
+
fieldLabel: string;
|
|
231
|
+
fieldError: string;
|
|
232
|
+
statusPanel: string;
|
|
233
|
+
statusTitle: string;
|
|
234
|
+
statusMessage: string;
|
|
235
|
+
statusMessageError: string;
|
|
236
|
+
statusActions: string;
|
|
237
|
+
stepSection: string;
|
|
238
|
+
sectionTitle: string;
|
|
239
|
+
cartList: string;
|
|
240
|
+
totals: string;
|
|
241
|
+
totalsRow: string;
|
|
242
|
+
totalsDivider: string;
|
|
243
|
+
totalsTotalRow: string;
|
|
244
|
+
form: string;
|
|
245
|
+
formActions: string;
|
|
246
|
+
submitError: string;
|
|
247
|
+
paymentSurface: string;
|
|
248
|
+
steps: string;
|
|
249
|
+
stepBadge: string;
|
|
250
|
+
stepBadgeActive: string;
|
|
251
|
+
stepBadgeInactive: string;
|
|
252
|
+
stepLabel: string;
|
|
253
|
+
stepLabelActive: string;
|
|
254
|
+
stepLabelInactive: string;
|
|
255
|
+
stepDivider: string;
|
|
256
|
+
stepDividerActive: string;
|
|
257
|
+
stepDividerInactive: string;
|
|
258
|
+
cartLine: string;
|
|
259
|
+
cartLineName: string;
|
|
260
|
+
cartLineSelection: string;
|
|
261
|
+
cartLinePrice: string;
|
|
262
|
+
cartLineControls: string;
|
|
263
|
+
cartLineQuantity: string;
|
|
264
|
+
promoApplied: string;
|
|
265
|
+
promoAppliedLabel: string;
|
|
266
|
+
promoRow: string;
|
|
267
|
+
promoInput: string;
|
|
268
|
+
promoError: string;
|
|
269
|
+
}>;
|
|
270
|
+
/**
|
|
271
|
+
* Structural / theme defaults. Merged with `itemClasses` via
|
|
272
|
+
* {@link mergeCheckoutFormItemClasses}.
|
|
273
|
+
*/
|
|
274
|
+
declare const CHECKOUT_FORM_DEFAULT_ITEM_CLASSES: Required<CheckoutFormItemClasses>;
|
|
275
|
+
declare function mergeCheckoutFormItemClasses(overrides?: CheckoutFormItemClasses): {
|
|
276
|
+
shell: string;
|
|
277
|
+
shellInner: string;
|
|
278
|
+
pageTitle: string;
|
|
279
|
+
primaryButton: string;
|
|
280
|
+
secondaryButton: string;
|
|
281
|
+
incrementButton: string;
|
|
282
|
+
surface: string;
|
|
283
|
+
fieldInput: string;
|
|
284
|
+
fieldContainer: string;
|
|
285
|
+
fieldLabel: string;
|
|
286
|
+
fieldError: string;
|
|
287
|
+
statusPanel: string;
|
|
288
|
+
statusTitle: string;
|
|
289
|
+
statusMessage: string;
|
|
290
|
+
statusMessageError: string;
|
|
291
|
+
statusActions: string;
|
|
292
|
+
stepSection: string;
|
|
293
|
+
sectionTitle: string;
|
|
294
|
+
cartList: string;
|
|
295
|
+
totals: string;
|
|
296
|
+
totalsRow: string;
|
|
297
|
+
totalsDivider: string;
|
|
298
|
+
totalsTotalRow: string;
|
|
299
|
+
form: string;
|
|
300
|
+
formActions: string;
|
|
301
|
+
submitError: string;
|
|
302
|
+
paymentSurface: string;
|
|
303
|
+
steps: string;
|
|
304
|
+
stepBadge: string;
|
|
305
|
+
stepBadgeActive: string;
|
|
306
|
+
stepBadgeInactive: string;
|
|
307
|
+
stepLabel: string;
|
|
308
|
+
stepLabelActive: string;
|
|
309
|
+
stepLabelInactive: string;
|
|
310
|
+
stepDivider: string;
|
|
311
|
+
stepDividerActive: string;
|
|
312
|
+
stepDividerInactive: string;
|
|
313
|
+
cartLine: string;
|
|
314
|
+
cartLineName: string;
|
|
315
|
+
cartLineSelection: string;
|
|
316
|
+
cartLinePrice: string;
|
|
317
|
+
cartLineControls: string;
|
|
318
|
+
cartLineQuantity: string;
|
|
319
|
+
promoApplied: string;
|
|
320
|
+
promoAppliedLabel: string;
|
|
321
|
+
promoRow: string;
|
|
322
|
+
promoInput: string;
|
|
323
|
+
promoError: string;
|
|
324
|
+
};
|
|
325
|
+
/**
|
|
326
|
+
* Full checkout flow: cart + customer details, then Stripe payment.
|
|
327
|
+
* The order + payment intent are created on details submit (not on mount),
|
|
328
|
+
* so the collected customer and any applied promo are baked into the charge.
|
|
329
|
+
*/
|
|
330
|
+
declare function CheckoutForm({ itemClasses, homeHref, menuHref, checkoutHref, }: {
|
|
331
|
+
itemClasses?: CheckoutFormItemClasses;
|
|
332
|
+
homeHref?: string;
|
|
333
|
+
menuHref?: string;
|
|
334
|
+
checkoutHref?: string;
|
|
335
|
+
}): react_jsx_runtime.JSX.Element;
|
|
336
|
+
|
|
337
|
+
export { ACCORDION_MENU_DEFAULT_ITEM_CLASSES, AccordionMenu, type AccordionMenuItemClasses, BREADCRUMBS_DEFAULT_ITEM_CLASSES, type BreadcrumbItem, Breadcrumbs, type BreadcrumbsItemClasses, CHECKOUT_FORM_DEFAULT_ITEM_CLASSES, CheckoutForm, type CheckoutFormItemClasses, CookieConsent, FIND_LOCATION_DEFAULT_ITEM_CLASSES, FindLocation, type FindLocationItemClasses, GRID_MENU_DEFAULT_ITEM_CLASSES, GridMenu, type GridMenuItemClasses, ITEM_CUSTOMIZATION_FORM_DEFAULT_ITEM_CLASSES, ItemCustomizationForm, type ItemCustomizationFormItemClasses, mergeAccordionMenuItemClasses, mergeBreadcrumbsItemClasses, mergeCheckoutFormItemClasses, mergeFindLocationItemClasses, mergeGridMenuItemClasses, mergeItemCustomizationFormItemClasses };
|