brainerce 1.25.1 → 1.27.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 +39 -3
- package/dist/index.d.mts +387 -7
- package/dist/index.d.ts +387 -7
- package/dist/index.js +242 -3
- package/dist/index.mjs +238 -3
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -118,6 +118,28 @@ interface StoreInfo {
|
|
|
118
118
|
name: string;
|
|
119
119
|
currency: string;
|
|
120
120
|
language: string;
|
|
121
|
+
/**
|
|
122
|
+
* SEO snippet for the storefront homepage. Used for `<meta name="description">`,
|
|
123
|
+
* `og:description`, and `twitter:description`. 50-160 chars recommended.
|
|
124
|
+
* Null when the merchant has not authored one.
|
|
125
|
+
*/
|
|
126
|
+
metaDescription?: string | null;
|
|
127
|
+
/**
|
|
128
|
+
* Public-facing store logo URL. Used by the storefront for the Organization
|
|
129
|
+
* JSON-LD on the homepage (Google Knowledge Panel, AI Overviews citation).
|
|
130
|
+
* Null when the merchant has not uploaded one.
|
|
131
|
+
*/
|
|
132
|
+
logo?: string | null;
|
|
133
|
+
/** Public contact email — rendered in storefront footer, included in Organization JSON-LD. */
|
|
134
|
+
contactEmail?: string | null;
|
|
135
|
+
/** Public contact phone (free-form local format). Rendered in footer + Organization JSON-LD. */
|
|
136
|
+
contactPhone?: string | null;
|
|
137
|
+
/**
|
|
138
|
+
* Public social profile URLs keyed by platform. Feeds Organization.sameAs in JSON-LD
|
|
139
|
+
* (Google Knowledge Panel reinforcement) and the storefront footer icons.
|
|
140
|
+
* Known keys: `facebook`, `instagram`, `tiktok`, `twitter`, `youtube`.
|
|
141
|
+
*/
|
|
142
|
+
socialLinks?: Record<string, string> | null;
|
|
121
143
|
/** Sales Channel ID (sales-channel mode only) */
|
|
122
144
|
salesChannelId?: string;
|
|
123
145
|
/** @deprecated alias of `salesChannelId` — will be removed in SDK 2.0 */
|
|
@@ -153,8 +175,25 @@ interface I18nSettings {
|
|
|
153
175
|
enabled: boolean;
|
|
154
176
|
/** The store's default locale (content language) */
|
|
155
177
|
defaultLocale: string;
|
|
178
|
+
/** Script direction of the default locale (derived from `defaultLocale`) */
|
|
179
|
+
defaultDirection?: 'ltr' | 'rtl';
|
|
156
180
|
/** All supported locales */
|
|
157
181
|
supportedLocales: string[];
|
|
182
|
+
/**
|
|
183
|
+
* Same locales as `supportedLocales`, but each entry includes its script
|
|
184
|
+
* direction and a default flag. Additive (introduced alongside `defaultDirection`)
|
|
185
|
+
* so existing consumers reading `supportedLocales` keep working.
|
|
186
|
+
*/
|
|
187
|
+
supportedLocaleObjects?: SupportedLocaleObject[];
|
|
188
|
+
}
|
|
189
|
+
/** Per-locale entry returned alongside `supportedLocales` */
|
|
190
|
+
interface SupportedLocaleObject {
|
|
191
|
+
/** BCP-47 code (e.g. 'he', 'en-US') */
|
|
192
|
+
code: string;
|
|
193
|
+
/** Script direction for this locale */
|
|
194
|
+
direction: 'ltr' | 'rtl';
|
|
195
|
+
/** Whether this is the store's default locale */
|
|
196
|
+
isDefault: boolean;
|
|
158
197
|
}
|
|
159
198
|
/** Upsell feature configuration exposed to the storefront */
|
|
160
199
|
interface UpsellSettings {
|
|
@@ -519,6 +558,54 @@ declare function getDescriptionContent(product: Pick<Product, 'description' | 'd
|
|
|
519
558
|
} | {
|
|
520
559
|
text: string;
|
|
521
560
|
} | null;
|
|
561
|
+
/**
|
|
562
|
+
* Strip HTML tags and decode common HTML entities from a string, then collapse
|
|
563
|
+
* whitespace. Safe to use on merchant-authored product descriptions before
|
|
564
|
+
* placing them inside `<meta name="description">`, `og:description`, or
|
|
565
|
+
* `schema.org/Product.description`.
|
|
566
|
+
*
|
|
567
|
+
* @param html - Raw string that may contain HTML markup
|
|
568
|
+
* @returns Plain text suitable for SEO meta tags
|
|
569
|
+
*
|
|
570
|
+
* @example
|
|
571
|
+
* ```typescript
|
|
572
|
+
* import { stripHtml } from 'brainerce';
|
|
573
|
+
* stripHtml('<p>Hello <strong>world</strong></p>'); // 'Hello world'
|
|
574
|
+
* ```
|
|
575
|
+
*/
|
|
576
|
+
declare function stripHtml(html: string | null | undefined): string;
|
|
577
|
+
/**
|
|
578
|
+
* Derive a clean meta description for a product, suitable for `<meta name="description">`,
|
|
579
|
+
* `og:description`, `twitter:description`, and `schema.org/Product.description`.
|
|
580
|
+
*
|
|
581
|
+
* Priority order:
|
|
582
|
+
* 1. `product.seoDescription` — merchant-authored, already SEO-shaped (returned as-is)
|
|
583
|
+
* 2. `product.metaDescription` — same idea under the backend field name
|
|
584
|
+
* 3. Truncated, HTML-stripped `product.description` — capped at `maxLength` with
|
|
585
|
+
* a word-boundary cut and an ellipsis when truncation happens
|
|
586
|
+
* 4. `product.name` — last-resort fallback so the meta tag is never empty
|
|
587
|
+
*
|
|
588
|
+
* The truncation is word-aware (never cuts mid-word) and never embeds HTML.
|
|
589
|
+
*
|
|
590
|
+
* @param product - Product or product-like object
|
|
591
|
+
* @param options.maxLength - Hard cap for derived descriptions. Default: 160 (Google SERP cap)
|
|
592
|
+
* @returns Clean meta description string, or empty string if nothing is available
|
|
593
|
+
*
|
|
594
|
+
* @example
|
|
595
|
+
* ```typescript
|
|
596
|
+
* import { deriveSeoDescription } from 'brainerce';
|
|
597
|
+
*
|
|
598
|
+
* // In Next.js generateMetadata:
|
|
599
|
+
* const description = deriveSeoDescription(product);
|
|
600
|
+
* return { description, openGraph: { description }, twitter: { description } };
|
|
601
|
+
* ```
|
|
602
|
+
*/
|
|
603
|
+
declare function deriveSeoDescription(product: (Partial<Pick<Product, 'description' | 'descriptionFormat' | 'name'>> & {
|
|
604
|
+
seoDescription?: string | null;
|
|
605
|
+
metaDescription?: string | null;
|
|
606
|
+
}) | null | undefined, options?: {
|
|
607
|
+
maxLength?: number;
|
|
608
|
+
}): string;
|
|
522
609
|
/**
|
|
523
610
|
* Get a human-readable stock status string
|
|
524
611
|
* Now tracking-mode aware:
|
|
@@ -3079,6 +3166,9 @@ interface Category {
|
|
|
3079
3166
|
/** Platform-specific metadata */
|
|
3080
3167
|
platformMetadata?: Record<string, Record<string, unknown>> | null;
|
|
3081
3168
|
parentId?: string | null;
|
|
3169
|
+
image?: string | null;
|
|
3170
|
+
/** R2/S3 object key for `image`; null when the URL is external (e.g. Shopify CDN). */
|
|
3171
|
+
imageKey?: string | null;
|
|
3082
3172
|
isActive: boolean;
|
|
3083
3173
|
/** Tax behavior: 'taxable' follows store setting, 'exempt' always skips tax */
|
|
3084
3174
|
taxBehavior?: 'taxable' | 'exempt';
|
|
@@ -3125,12 +3215,18 @@ interface CreateCategoryDto {
|
|
|
3125
3215
|
storeId?: string;
|
|
3126
3216
|
source?: string;
|
|
3127
3217
|
isActive?: boolean;
|
|
3218
|
+
image?: string;
|
|
3219
|
+
/** R2/S3 object key for `image`; powers asset-deletion cascade. */
|
|
3220
|
+
imageKey?: string;
|
|
3128
3221
|
taxBehavior?: 'taxable' | 'exempt';
|
|
3129
3222
|
}
|
|
3130
3223
|
interface UpdateCategoryDto {
|
|
3131
3224
|
name?: string;
|
|
3132
3225
|
parentId?: string | null;
|
|
3133
3226
|
isActive?: boolean;
|
|
3227
|
+
image?: string | null;
|
|
3228
|
+
/** R2/S3 object key for `image`; pass null to clear. */
|
|
3229
|
+
imageKey?: string | null;
|
|
3134
3230
|
taxBehavior?: 'taxable' | 'exempt';
|
|
3135
3231
|
}
|
|
3136
3232
|
/**
|
|
@@ -3144,6 +3240,8 @@ interface Brand {
|
|
|
3144
3240
|
slug?: string | null;
|
|
3145
3241
|
description?: string | null;
|
|
3146
3242
|
logo?: string | null;
|
|
3243
|
+
/** R2/S3 object key for `logo`; null when the URL is external. */
|
|
3244
|
+
logoKey?: string | null;
|
|
3147
3245
|
/** Platform-specific IDs */
|
|
3148
3246
|
platformIds?: Record<string, string> | null;
|
|
3149
3247
|
/** Platforms this brand is published on */
|
|
@@ -3196,6 +3294,8 @@ interface CreateBrandDto {
|
|
|
3196
3294
|
slug?: string;
|
|
3197
3295
|
description?: string;
|
|
3198
3296
|
logo?: string;
|
|
3297
|
+
/** R2/S3 object key for `logo`; powers asset-deletion cascade. */
|
|
3298
|
+
logoKey?: string;
|
|
3199
3299
|
storeId?: string;
|
|
3200
3300
|
isActive?: boolean;
|
|
3201
3301
|
}
|
|
@@ -3204,6 +3304,8 @@ interface UpdateBrandDto {
|
|
|
3204
3304
|
slug?: string;
|
|
3205
3305
|
description?: string | null;
|
|
3206
3306
|
logo?: string | null;
|
|
3307
|
+
/** R2/S3 object key for `logo`; pass null to clear. */
|
|
3308
|
+
logoKey?: string | null;
|
|
3207
3309
|
isActive?: boolean;
|
|
3208
3310
|
}
|
|
3209
3311
|
/**
|
|
@@ -3691,12 +3793,6 @@ interface CreateMetafieldDefinitionDto {
|
|
|
3691
3793
|
enumValues?: string[];
|
|
3692
3794
|
defaultValue?: string;
|
|
3693
3795
|
position?: number;
|
|
3694
|
-
/**
|
|
3695
|
-
* When `true`, create the definition account-wide (`storeId = null`).
|
|
3696
|
-
* Defaults to false — the definition belongs to the store named in the
|
|
3697
|
-
* route's `:storeId` parameter.
|
|
3698
|
-
*/
|
|
3699
|
-
accountWide?: boolean;
|
|
3700
3796
|
/** Sales channels / platforms where this field is published. */
|
|
3701
3797
|
publishedOn?: string[];
|
|
3702
3798
|
/**
|
|
@@ -4377,6 +4473,127 @@ interface ContactFormSummary {
|
|
|
4377
4473
|
name: string;
|
|
4378
4474
|
isDefault: boolean;
|
|
4379
4475
|
}
|
|
4476
|
+
type ContentType = 'FAQ' | 'FOOTER' | 'HEADER' | 'ANNOUNCEMENT' | 'RICH_TEXT' | 'PAGE';
|
|
4477
|
+
type ContentStatus = 'DRAFT' | 'PUBLISHED';
|
|
4478
|
+
interface FaqItem {
|
|
4479
|
+
question: string;
|
|
4480
|
+
/** Sanitized HTML — sanitize before rendering. */
|
|
4481
|
+
answer: string;
|
|
4482
|
+
}
|
|
4483
|
+
interface FaqContent {
|
|
4484
|
+
items: FaqItem[];
|
|
4485
|
+
}
|
|
4486
|
+
interface FooterLink {
|
|
4487
|
+
label: string;
|
|
4488
|
+
url: string;
|
|
4489
|
+
}
|
|
4490
|
+
interface FooterColumn {
|
|
4491
|
+
title: string;
|
|
4492
|
+
links: FooterLink[];
|
|
4493
|
+
}
|
|
4494
|
+
interface FooterSocialLink {
|
|
4495
|
+
/** e.g. 'instagram' | 'facebook' | 'x' | 'linkedin' */
|
|
4496
|
+
platform: string;
|
|
4497
|
+
url: string;
|
|
4498
|
+
}
|
|
4499
|
+
interface FooterContent {
|
|
4500
|
+
columns: FooterColumn[];
|
|
4501
|
+
copyright?: string;
|
|
4502
|
+
social?: FooterSocialLink[];
|
|
4503
|
+
}
|
|
4504
|
+
interface HeaderLogo {
|
|
4505
|
+
src: string;
|
|
4506
|
+
alt: string;
|
|
4507
|
+
}
|
|
4508
|
+
interface HeaderNavItem {
|
|
4509
|
+
label: string;
|
|
4510
|
+
url: string;
|
|
4511
|
+
}
|
|
4512
|
+
interface HeaderCta {
|
|
4513
|
+
label: string;
|
|
4514
|
+
url: string;
|
|
4515
|
+
}
|
|
4516
|
+
interface HeaderContent {
|
|
4517
|
+
logo?: HeaderLogo;
|
|
4518
|
+
navItems: HeaderNavItem[];
|
|
4519
|
+
cta?: HeaderCta;
|
|
4520
|
+
}
|
|
4521
|
+
type AnnouncementSeverity = 'info' | 'warning' | 'success';
|
|
4522
|
+
interface AnnouncementContent {
|
|
4523
|
+
message: string;
|
|
4524
|
+
severity: AnnouncementSeverity;
|
|
4525
|
+
dismissible: boolean;
|
|
4526
|
+
/** ISO 8601. Storefront filters client-side. */
|
|
4527
|
+
startsAt?: string;
|
|
4528
|
+
endsAt?: string;
|
|
4529
|
+
ctaLabel?: string;
|
|
4530
|
+
ctaHref?: string;
|
|
4531
|
+
}
|
|
4532
|
+
interface RichTextContent {
|
|
4533
|
+
/** Raw HTML — sanitize before rendering. */
|
|
4534
|
+
html: string;
|
|
4535
|
+
}
|
|
4536
|
+
interface PageSeo {
|
|
4537
|
+
title?: string;
|
|
4538
|
+
description?: string;
|
|
4539
|
+
ogImage?: string;
|
|
4540
|
+
}
|
|
4541
|
+
interface PageContent {
|
|
4542
|
+
/** URL slug, lower-kebab. */
|
|
4543
|
+
slug: string;
|
|
4544
|
+
title: string;
|
|
4545
|
+
/** Raw HTML — sanitize before rendering. */
|
|
4546
|
+
html: string;
|
|
4547
|
+
seo?: PageSeo;
|
|
4548
|
+
}
|
|
4549
|
+
type ContentDataMap = {
|
|
4550
|
+
FAQ: FaqContent;
|
|
4551
|
+
FOOTER: FooterContent;
|
|
4552
|
+
HEADER: HeaderContent;
|
|
4553
|
+
ANNOUNCEMENT: AnnouncementContent;
|
|
4554
|
+
RICH_TEXT: RichTextContent;
|
|
4555
|
+
PAGE: PageContent;
|
|
4556
|
+
};
|
|
4557
|
+
interface ContentSummary {
|
|
4558
|
+
id: string;
|
|
4559
|
+
type: ContentType;
|
|
4560
|
+
key: string;
|
|
4561
|
+
name: string;
|
|
4562
|
+
status: ContentStatus;
|
|
4563
|
+
position: number;
|
|
4564
|
+
updatedAt: string;
|
|
4565
|
+
}
|
|
4566
|
+
interface Content<T extends ContentType = ContentType> extends ContentSummary {
|
|
4567
|
+
type: T;
|
|
4568
|
+
data: ContentDataMap[T];
|
|
4569
|
+
customFields: Record<string, string>;
|
|
4570
|
+
salesChannelIds: string[];
|
|
4571
|
+
}
|
|
4572
|
+
/** Body for `client.content.<type>.create()` (admin mode). */
|
|
4573
|
+
interface CreateContentInput<T extends ContentType = ContentType> {
|
|
4574
|
+
type: T;
|
|
4575
|
+
/** URL-safe slug. Use `'main'` as the default for the primary entry of each type. */
|
|
4576
|
+
key: string;
|
|
4577
|
+
name: string;
|
|
4578
|
+
description?: string;
|
|
4579
|
+
data: ContentDataMap[T];
|
|
4580
|
+
salesChannelIds?: string[];
|
|
4581
|
+
customFields?: Record<string, string>;
|
|
4582
|
+
translations?: Record<string, Partial<ContentDataMap[T]>>;
|
|
4583
|
+
status?: ContentStatus;
|
|
4584
|
+
position?: number;
|
|
4585
|
+
}
|
|
4586
|
+
/** Body for `client.content.<type>.update()` (admin mode). `data` is replaced wholesale. */
|
|
4587
|
+
interface UpdateContentInput<T extends ContentType = ContentType> {
|
|
4588
|
+
name?: string;
|
|
4589
|
+
description?: string;
|
|
4590
|
+
data?: ContentDataMap[T];
|
|
4591
|
+
salesChannelIds?: string[];
|
|
4592
|
+
customFields?: Record<string, string>;
|
|
4593
|
+
translations?: Record<string, Partial<ContentDataMap[T]>> | null;
|
|
4594
|
+
status?: ContentStatus;
|
|
4595
|
+
position?: number;
|
|
4596
|
+
}
|
|
4380
4597
|
/**
|
|
4381
4598
|
* How many modifiers a customer can pick from a group.
|
|
4382
4599
|
*
|
|
@@ -4416,6 +4633,8 @@ interface Modifier {
|
|
|
4416
4633
|
thumbnailUrl?: string;
|
|
4417
4634
|
alt?: string;
|
|
4418
4635
|
};
|
|
4636
|
+
/** R2/S3 object key for `image`; null when the URL is external. */
|
|
4637
|
+
imageKey?: string | null;
|
|
4419
4638
|
position: number;
|
|
4420
4639
|
/** Pre-checked in the UI on first render. */
|
|
4421
4640
|
isDefault: boolean;
|
|
@@ -4650,6 +4869,20 @@ interface BrainerceApiError {
|
|
|
4650
4869
|
details?: unknown;
|
|
4651
4870
|
}
|
|
4652
4871
|
|
|
4872
|
+
/**
|
|
4873
|
+
* BCP-47 primary subtags whose script is written right-to-left. Inlined in the
|
|
4874
|
+
* SDK so storefronts don't take a runtime dependency on `@brainerce/types`.
|
|
4875
|
+
* Keep in sync with `packages/types/src/utils/locale-resolver.ts`.
|
|
4876
|
+
*/
|
|
4877
|
+
declare const RTL_LOCALES: Set<string>;
|
|
4878
|
+
/**
|
|
4879
|
+
* Resolve script direction (`'ltr' | 'rtl'`) for a BCP-47 locale tag.
|
|
4880
|
+
* Unknown / undefined locales → `'ltr'`. Use this whenever you need direction
|
|
4881
|
+
* without a `BrainerceClient` instance (e.g. inside server-rendered layouts
|
|
4882
|
+
* before any SDK call). When you already have a client, prefer
|
|
4883
|
+
* `client.getStoreDirection()` which picks up the client's configured locale.
|
|
4884
|
+
*/
|
|
4885
|
+
declare function getDirectionForLocale(locale: string | undefined | null): 'ltr' | 'rtl';
|
|
4653
4886
|
/**
|
|
4654
4887
|
* BrainerceClient - SDK for integrating stores with Brainerce Platform
|
|
4655
4888
|
*
|
|
@@ -4796,6 +5029,17 @@ declare class BrainerceClient {
|
|
|
4796
5029
|
* Works in vibe-coded, storefront, and admin mode
|
|
4797
5030
|
*/
|
|
4798
5031
|
getStoreInfo(): Promise<StoreInfo>;
|
|
5032
|
+
/**
|
|
5033
|
+
* Resolve the script direction (`'ltr' | 'rtl'`) for a locale tag.
|
|
5034
|
+
* Use this on `<html dir>` in your root layout — do not maintain a local
|
|
5035
|
+
* RTL set in your storefront.
|
|
5036
|
+
*
|
|
5037
|
+
* @param locale - Optional BCP-47 tag. If omitted, falls back to the SDK
|
|
5038
|
+
* client's configured locale (`new BrainerceClient({ locale: 'he' })`).
|
|
5039
|
+
* @returns `'rtl'` for Arabic / Hebrew / Persian / Urdu / Yiddish family,
|
|
5040
|
+
* `'ltr'` for everything else (including unknown locales).
|
|
5041
|
+
*/
|
|
5042
|
+
getStoreDirection(locale?: string | null): 'ltr' | 'rtl';
|
|
4799
5043
|
/**
|
|
4800
5044
|
* Get a list of products with pagination and filtering
|
|
4801
5045
|
* Works in vibe-coded, storefront (public), and admin mode
|
|
@@ -5834,6 +6078,142 @@ declare class BrainerceClient {
|
|
|
5834
6078
|
*/
|
|
5835
6079
|
get: (formKey?: string, locale?: string) => Promise<ContactFormPublic>;
|
|
5836
6080
|
};
|
|
6081
|
+
/**
|
|
6082
|
+
* Typed merchant content store: FAQ, Footer, Header, Announcement,
|
|
6083
|
+
* Rich Text, and Page.
|
|
6084
|
+
*
|
|
6085
|
+
* Works in all three SDK modes (vibe-coded, storefront, admin):
|
|
6086
|
+
* - **Public reads** (`get`, `list`, `getBySlug`): work in any mode.
|
|
6087
|
+
* - **Write operations** (`create`, `update`, `publish`, `unpublish`,
|
|
6088
|
+
* `remove`): admin mode only — they call `/api/v1/content/...` with
|
|
6089
|
+
* the API key. Calling from storefront / vibe-coded mode throws.
|
|
6090
|
+
*
|
|
6091
|
+
* **Default key:** every type has `'main'` as its universal default key.
|
|
6092
|
+
* Pass no argument to fetch the main entry; pass a custom key (e.g.
|
|
6093
|
+
* `'shipping'`, `'holiday-2026'`) for topical entries.
|
|
6094
|
+
*
|
|
6095
|
+
* **404 contract:** public reads return `null` when no PUBLISHED row
|
|
6096
|
+
* exists. Storefronts should render hard-coded fallbacks on `null` so
|
|
6097
|
+
* the page never crashes when the merchant hasn't seeded yet.
|
|
6098
|
+
*
|
|
6099
|
+
* **Security:** RICH_TEXT, PAGE, and FAQ answers contain raw HTML.
|
|
6100
|
+
* Always sanitize with isomorphic-dompurify (or equivalent) before
|
|
6101
|
+
* rendering. The server does NOT pre-sanitize because some merchants
|
|
6102
|
+
* embed iframes (e.g. YouTube videos).
|
|
6103
|
+
*
|
|
6104
|
+
* @example
|
|
6105
|
+
* ```typescript
|
|
6106
|
+
* // Storefront (public) — fetch the merchant's FAQ in Hebrew
|
|
6107
|
+
* const faq = await client.content.faq.get('main', 'he');
|
|
6108
|
+
* if (faq) {
|
|
6109
|
+
* faq.data.items.forEach(({ question, answer }) => {
|
|
6110
|
+
* // sanitize(answer) before injecting via dangerouslySetInnerHTML
|
|
6111
|
+
* });
|
|
6112
|
+
* }
|
|
6113
|
+
*
|
|
6114
|
+
* // Admin — create a shipping FAQ in DRAFT
|
|
6115
|
+
* await client.content.faq.create({
|
|
6116
|
+
* key: 'shipping',
|
|
6117
|
+
* name: 'Shipping FAQ',
|
|
6118
|
+
* data: { items: [{ question: '…', answer: '…' }] },
|
|
6119
|
+
* });
|
|
6120
|
+
* ```
|
|
6121
|
+
*/
|
|
6122
|
+
content: {
|
|
6123
|
+
faq: {
|
|
6124
|
+
/**
|
|
6125
|
+
* Fetch one PUBLISHED entry by key (defaults to `'main'`). Returns
|
|
6126
|
+
* `null` on 404 — render a hard-coded fallback when the merchant
|
|
6127
|
+
* hasn't seeded yet.
|
|
6128
|
+
*/
|
|
6129
|
+
get: (key?: string, locale?: string) => Promise<Content<"FAQ"> | null>;
|
|
6130
|
+
/** List all PUBLISHED entries of this type. */
|
|
6131
|
+
list: (locale?: string) => Promise<Content<"FAQ">[]>;
|
|
6132
|
+
/** Create a new entry in DRAFT (admin mode). */
|
|
6133
|
+
create: (input: Omit<CreateContentInput<"FAQ">, "type">) => Promise<Content<"FAQ">>;
|
|
6134
|
+
};
|
|
6135
|
+
footer: {
|
|
6136
|
+
/**
|
|
6137
|
+
* Fetch one PUBLISHED entry by key (defaults to `'main'`). Returns
|
|
6138
|
+
* `null` on 404 — render a hard-coded fallback when the merchant
|
|
6139
|
+
* hasn't seeded yet.
|
|
6140
|
+
*/
|
|
6141
|
+
get: (key?: string, locale?: string) => Promise<Content<"FOOTER"> | null>;
|
|
6142
|
+
/** List all PUBLISHED entries of this type. */
|
|
6143
|
+
list: (locale?: string) => Promise<Content<"FOOTER">[]>;
|
|
6144
|
+
/** Create a new entry in DRAFT (admin mode). */
|
|
6145
|
+
create: (input: Omit<CreateContentInput<"FOOTER">, "type">) => Promise<Content<"FOOTER">>;
|
|
6146
|
+
};
|
|
6147
|
+
header: {
|
|
6148
|
+
/**
|
|
6149
|
+
* Fetch one PUBLISHED entry by key (defaults to `'main'`). Returns
|
|
6150
|
+
* `null` on 404 — render a hard-coded fallback when the merchant
|
|
6151
|
+
* hasn't seeded yet.
|
|
6152
|
+
*/
|
|
6153
|
+
get: (key?: string, locale?: string) => Promise<Content<"HEADER"> | null>;
|
|
6154
|
+
/** List all PUBLISHED entries of this type. */
|
|
6155
|
+
list: (locale?: string) => Promise<Content<"HEADER">[]>;
|
|
6156
|
+
/** Create a new entry in DRAFT (admin mode). */
|
|
6157
|
+
create: (input: Omit<CreateContentInput<"HEADER">, "type">) => Promise<Content<"HEADER">>;
|
|
6158
|
+
};
|
|
6159
|
+
announcement: {
|
|
6160
|
+
/**
|
|
6161
|
+
* Fetch one PUBLISHED entry by key (defaults to `'main'`). Returns
|
|
6162
|
+
* `null` on 404 — render a hard-coded fallback when the merchant
|
|
6163
|
+
* hasn't seeded yet.
|
|
6164
|
+
*/
|
|
6165
|
+
get: (key?: string, locale?: string) => Promise<Content<"ANNOUNCEMENT"> | null>;
|
|
6166
|
+
/** List all PUBLISHED entries of this type. */
|
|
6167
|
+
list: (locale?: string) => Promise<Content<"ANNOUNCEMENT">[]>;
|
|
6168
|
+
/** Create a new entry in DRAFT (admin mode). */
|
|
6169
|
+
create: (input: Omit<CreateContentInput<"ANNOUNCEMENT">, "type">) => Promise<Content<"ANNOUNCEMENT">>;
|
|
6170
|
+
};
|
|
6171
|
+
richText: {
|
|
6172
|
+
/**
|
|
6173
|
+
* Fetch one PUBLISHED entry by key (defaults to `'main'`). Returns
|
|
6174
|
+
* `null` on 404 — render a hard-coded fallback when the merchant
|
|
6175
|
+
* hasn't seeded yet.
|
|
6176
|
+
*/
|
|
6177
|
+
get: (key?: string, locale?: string) => Promise<Content<"RICH_TEXT"> | null>;
|
|
6178
|
+
/** List all PUBLISHED entries of this type. */
|
|
6179
|
+
list: (locale?: string) => Promise<Content<"RICH_TEXT">[]>;
|
|
6180
|
+
/** Create a new entry in DRAFT (admin mode). */
|
|
6181
|
+
create: (input: Omit<CreateContentInput<"RICH_TEXT">, "type">) => Promise<Content<"RICH_TEXT">>;
|
|
6182
|
+
};
|
|
6183
|
+
page: {
|
|
6184
|
+
/**
|
|
6185
|
+
* Fetch a PUBLISHED page by its `data.slug` (e.g. `'about'`).
|
|
6186
|
+
* Returns `null` on 404. Use this from your `app/[slug]/page.tsx`
|
|
6187
|
+
* catch-all route.
|
|
6188
|
+
*/
|
|
6189
|
+
getBySlug: (slug: string, locale?: string) => Promise<Content<"PAGE"> | null>;
|
|
6190
|
+
/**
|
|
6191
|
+
* Fetch one PUBLISHED entry by key (defaults to `'main'`). Returns
|
|
6192
|
+
* `null` on 404 — render a hard-coded fallback when the merchant
|
|
6193
|
+
* hasn't seeded yet.
|
|
6194
|
+
*/
|
|
6195
|
+
get: (key?: string, locale?: string) => Promise<Content<"PAGE"> | null>;
|
|
6196
|
+
/** List all PUBLISHED entries of this type. */
|
|
6197
|
+
list: (locale?: string) => Promise<Content<"PAGE">[]>;
|
|
6198
|
+
/** Create a new entry in DRAFT (admin mode). */
|
|
6199
|
+
create: (input: Omit<CreateContentInput<"PAGE">, "type">) => Promise<Content<"PAGE">>;
|
|
6200
|
+
};
|
|
6201
|
+
/** Find a single row by its admin id (admin mode). */
|
|
6202
|
+
findById: <T_1 extends ContentType = ContentType>(id: string) => Promise<Content<T_1>>;
|
|
6203
|
+
/** List rows in admin mode with optional filters. */
|
|
6204
|
+
listAdmin: <T_1 extends ContentType = ContentType>(filters?: {
|
|
6205
|
+
type?: T_1;
|
|
6206
|
+
status?: "DRAFT" | "PUBLISHED";
|
|
6207
|
+
}) => Promise<Array<Content<T_1>>>;
|
|
6208
|
+
/** Replace `data` (and optional metadata) on an existing row. */
|
|
6209
|
+
update: <T_1 extends ContentType>(id: string, input: UpdateContentInput<T_1>) => Promise<Content<T_1>>;
|
|
6210
|
+
/** Transition status DRAFT → PUBLISHED. */
|
|
6211
|
+
publish: (id: string) => Promise<Content>;
|
|
6212
|
+
/** Transition status PUBLISHED → DRAFT. */
|
|
6213
|
+
unpublish: (id: string) => Promise<Content>;
|
|
6214
|
+
/** Hard delete the row. Admin mode only. */
|
|
6215
|
+
remove: (id: string) => Promise<void>;
|
|
6216
|
+
};
|
|
5837
6217
|
/**
|
|
5838
6218
|
* Submit a contact inquiry from a storefront contact form.
|
|
5839
6219
|
*
|
|
@@ -8458,4 +8838,4 @@ declare function isAllowedPaymentUrl(url: string, options?: PaymentUrlOptions):
|
|
|
8458
8838
|
*/
|
|
8459
8839
|
declare function safePaymentRedirect(url: string, options?: PaymentUrlOptions): void;
|
|
8460
8840
|
|
|
8461
|
-
export { type AddToCartDto, type AppliedDiscount, type ApplyCouponDto, type AttachModifierGroupInput, type Attribute, type AttributeOption, type AttributeSource, type BrainerceApiError, BrainerceClient, type BrainerceClientOptions, BrainerceError, type Brand, type BulkInventoryResponse, type BulkSaveVariantsDto, type BulkSaveVariantsResponse, type BulkVariantInput, type Cart, type CartAppliedDiscount, type CartBundleOffer, type CartBundlesResponse, type CartIncludeOption, type CartIncludeOptions, type CartItem, type CartItemModifierLine, type CartNudge, type CartRecommendationsResponse, type CartStatus, type CartUpgradeSuggestion, type CartUpgradesResponse, type CartWithIncludes, type Category, type CategoryNode, type CategorySuggestion, type Checkout, type CheckoutAddress, type CheckoutBumpsResponse, type CheckoutCustomFieldDefinition, type CheckoutFieldPricing, type CheckoutFieldVisibility, type CheckoutLineItem, type CheckoutPrefillData, type CheckoutStatus, type CompleteCheckoutResponse, type CompleteDraftDto, type ConfigureOAuthProviderDto as ConfigureOAuthProviderInput, type ConflictStatus, type ConnectorPlatform, type ContactFormFieldType, type ContactFormFieldValidation, type ContactFormPublic, type ContactFormPublicField, type ContactFormSummary, type Coupon, type CouponCreateResponse, type CouponQueryParams, type CouponStatus, type CouponType, type CouponValidationWarning, type CreateAddressDto, type CreateAttributeDto as CreateAttributeInput, type CreateAttributeOptionDto as CreateAttributeOptionInput, type CreateBrandDto as CreateBrandInput, type CreateCategoryDto as CreateCategoryInput, type CreateCheckoutDto, type CreateCouponDto, type CreateCustomApiDto, type CreateCustomerDto, type CreateEmailTemplateDto as CreateEmailTemplateInput, type CreateGuestOrderDto, type CreateInquiryInput, type CreateInquiryResponse, type CreateMetafieldDefinitionDto as CreateMetafieldDefinitionInput, type CreateModifierGroupInput, type CreateModifierInput, type CreateOrderDto, type CreateProductDto, type CreateRefundDto, type CreateShippingRateDto as CreateShippingRateInput, type CreateShippingZoneDto as CreateShippingZoneInput, type CreateTagDto as CreateTagInput, type CreateTaxRateDto as CreateTaxRateInput, type CreateVariantDto, type CustomApiAuthType, type CustomApiConnectionStatus, type CustomApiCredentials, type CustomApiIntegration, type CustomApiSyncConfig, type CustomApiSyncDirection, type CustomApiTestResult, type Customer, type CustomerAddress, type CustomerAuthResponse, type CustomerOAuthProvider, type CustomerProfile, type CustomerQueryParams, type DeleteProductResponse, type DiscountBanner, type DiscountRuleType, type DownloadFile, type DraftLineItem, type EditInventoryDto, type EmailDomain, type EmailEventSettings, type EmailEventType, type EmailSettings, type EmailTemplate, type EmailTemplatePreview, type EmailTemplatesResponse, type EmailVerificationResponse, type ExtendReservationResponse, type FormatPriceOptions, type FreeAllocationPolicy, type FulfillOrderDto, type GuestCheckoutStartResponse, type GuestOrderResponse, type InsufficientStockError, type InventoryInfo, type InventoryReservationStrategy, type InventorySyncStatus, type InventoryTrackingMode, type InvitationStatus, type InviteMemberDto as InviteMemberInput, type InviteStoreMemberDto as InviteStoreMemberInput, type ListModifierGroupsParams, type LocalCart, type LocalCartItem, type LockedVariant, type MergeCartsDto, type MetafieldConflict, type MetafieldConflictResolution, type MetafieldDefinition, type MetafieldType, type Modifier, type ModifierGroup, type ModifierSelection, type ModifierSelectionType, type ModifierValidationCode, type ModifierValidationError, type OAuthAuthorizeResponse, type OAuthCallbackResponse, type OAuthConnection, type OAuthConnectionsResponse, type OAuthProviderConfig, type OAuthProviderType, type OAuthProvidersResponse, type Order, type OrderAddress, type OrderBump, type OrderCustomer, type OrderDownloadLink, type OrderItem, type OrderQueryParams, type OrderStatus, type OrderStatusChange, type PaginatedResponse, type PaymentClientSdk, type PaymentConfig, type PaymentIntent, type PaymentProvider, type PaymentProviderConfig, type PaymentProvidersConfig, type PaymentStatus, type PaymentUrlOptions, type PickupLocation, type PlatformCouponCapabilities, type PlatformMetafieldMetadata, type PreviewEmailTemplateDto as PreviewEmailTemplateInput, type Product, type ProductAttributeInput, type ProductAvailability, type ProductCustomizationField, type ProductDiscount, type ProductDiscountBadge, type ProductImage, type ProductMetafield, type ProductMetafieldValue, type ProductModifierGroupAttachment, type ProductQueryParams, type ProductRecommendation, type ProductRecommendationsResponse, type ProductRelationType, type ProductSuggestion, type ProductVariant, type PublicMetafieldDefinition, type PublishProductResponse, type RecommendationVariant, type ReconcileInventoryResponse, type Refund, type RefundLineItem, type RefundLineItemResponse, type RefundType, type RegisterCustomerDto, type ReservationInfo, type ResolveMetafieldConflictDto as ResolveMetafieldConflictInput, type ResolveSyncConflictDto as ResolveSyncConflictInput, SDK_VERSION, type SearchSuggestions, type SelectPickupLocationDto, type SelectShippingMethodDto, type SendInvoiceDto, type SessionCartRef, type SetBillingAddressDto, type SetCheckoutCustomFieldsDto, type SetCheckoutCustomerDto, type SetDefinitionProductsDto as SetDefinitionProductsInput, type SetMetafieldPlatformsDto as SetMetafieldPlatformsInput, type SetShippingAddressDto, type SetShippingAddressResponse, type ShippingDestinations, type ShippingLine, type ShippingRate, type ShippingRateConfig, type ShippingRateType, type ShippingZone, type ShippingZoneQueryParams, type StockAvailabilityRequest, type StockAvailabilityResponse, type StockAvailabilityResult, type StoreInfo, type StoreInvitation, type StoreInvitationDetails, type StoreMember, type StorePermission, type StoreRole, type StoreTeamResponse, type SyncConflict, type SyncConflictResolution, type SyncJob, type Tag, type TaxBreakdown, type TaxBreakdownItem, type TaxRate, type TaxonomyQueryParams, type TeamInvitation, type TeamInvitationsResponse, type TeamMember, type TeamMembersResponse, type TeamRole, type UpdateAddressDto, type UpdateAttachmentInput, type UpdateAttributeDto as UpdateAttributeInput, type UpdateAttributeOptionDto as UpdateAttributeOptionInput, type UpdateBrandDto as UpdateBrandInput, type UpdateCartItemDto, type UpdateCategoryDto as UpdateCategoryInput, type UpdateCouponDto, type UpdateCustomApiDto, type UpdateCustomerDto, type UpdateDraftDto, type UpdateEmailSettingsDto as UpdateEmailSettingsInput, type UpdateEmailTemplateDto as UpdateEmailTemplateInput, type UpdateInventoryDto, type UpdateMemberRoleDto as UpdateMemberRoleInput, type UpdateMetafieldDefinitionDto as UpdateMetafieldDefinitionInput, type UpdateModifierGroupInput, type UpdateModifierInput, type UpdateOAuthProviderDto as UpdateOAuthProviderInput, type UpdateOrderDto, type UpdateOrderShippingDto, type UpdateProductDto, type UpdateShippingRateDto as UpdateShippingRateInput, type UpdateShippingZoneDto as UpdateShippingZoneInput, type UpdateStoreMemberDto as UpdateStoreMemberInput, type UpdateTagDto as UpdateTagInput, type UpdateTaxRateDto as UpdateTaxRateInput, type UpdateVariantDto, type UpdateVariantInventoryDto, type UpsertProductMetafieldDto as UpsertProductMetafieldInput, type UserStore, type UserStorePermissions, type VariantInventoryResponse, type VariantPlatformOverlay, type VariantStatus, type WaitForOrderOptions, type WaitForOrderResult, type WebhookEvent, type WebhookEventType, createWebhookHandler, enableDevGuards, formatPrice, getCartItemImage, getCartItemName, getCartTotals, getDescriptionContent, formatPrice as getPriceDisplay, getProductCustomizationFields, getProductMetafield, getProductMetafieldValue, getProductMetafieldsByType, getProductPrice, getProductPriceInfo, getProductSwatches, getStockStatus, getVariantOptions, getVariantPrice, isAllowedPaymentUrl, isCouponApplicableToProduct, isHtmlDescription, isWebhookEventType, parseWebhookEvent, safePaymentRedirect, verifyWebhook };
|
|
8841
|
+
export { type AddToCartDto, type AnnouncementContent, type AnnouncementSeverity, type AppliedDiscount, type ApplyCouponDto, type AttachModifierGroupInput, type Attribute, type AttributeOption, type AttributeSource, type BrainerceApiError, BrainerceClient, type BrainerceClientOptions, BrainerceError, type Brand, type BulkInventoryResponse, type BulkSaveVariantsDto, type BulkSaveVariantsResponse, type BulkVariantInput, type Cart, type CartAppliedDiscount, type CartBundleOffer, type CartBundlesResponse, type CartIncludeOption, type CartIncludeOptions, type CartItem, type CartItemModifierLine, type CartNudge, type CartRecommendationsResponse, type CartStatus, type CartUpgradeSuggestion, type CartUpgradesResponse, type CartWithIncludes, type Category, type CategoryNode, type CategorySuggestion, type Checkout, type CheckoutAddress, type CheckoutBumpsResponse, type CheckoutCustomFieldDefinition, type CheckoutFieldPricing, type CheckoutFieldVisibility, type CheckoutLineItem, type CheckoutPrefillData, type CheckoutStatus, type CompleteCheckoutResponse, type CompleteDraftDto, type ConfigureOAuthProviderDto as ConfigureOAuthProviderInput, type ConflictStatus, type ConnectorPlatform, type ContactFormFieldType, type ContactFormFieldValidation, type ContactFormPublic, type ContactFormPublicField, type ContactFormSummary, type Content, type ContentDataMap, type ContentStatus, type ContentSummary, type ContentType, type Coupon, type CouponCreateResponse, type CouponQueryParams, type CouponStatus, type CouponType, type CouponValidationWarning, type CreateAddressDto, type CreateAttributeDto as CreateAttributeInput, type CreateAttributeOptionDto as CreateAttributeOptionInput, type CreateBrandDto as CreateBrandInput, type CreateCategoryDto as CreateCategoryInput, type CreateCheckoutDto, type CreateContentInput, type CreateCouponDto, type CreateCustomApiDto, type CreateCustomerDto, type CreateEmailTemplateDto as CreateEmailTemplateInput, type CreateGuestOrderDto, type CreateInquiryInput, type CreateInquiryResponse, type CreateMetafieldDefinitionDto as CreateMetafieldDefinitionInput, type CreateModifierGroupInput, type CreateModifierInput, type CreateOrderDto, type CreateProductDto, type CreateRefundDto, type CreateShippingRateDto as CreateShippingRateInput, type CreateShippingZoneDto as CreateShippingZoneInput, type CreateTagDto as CreateTagInput, type CreateTaxRateDto as CreateTaxRateInput, type CreateVariantDto, type CustomApiAuthType, type CustomApiConnectionStatus, type CustomApiCredentials, type CustomApiIntegration, type CustomApiSyncConfig, type CustomApiSyncDirection, type CustomApiTestResult, type Customer, type CustomerAddress, type CustomerAuthResponse, type CustomerOAuthProvider, type CustomerProfile, type CustomerQueryParams, type DeleteProductResponse, type DiscountBanner, type DiscountRuleType, type DownloadFile, type DraftLineItem, type EditInventoryDto, type EmailDomain, type EmailEventSettings, type EmailEventType, type EmailSettings, type EmailTemplate, type EmailTemplatePreview, type EmailTemplatesResponse, type EmailVerificationResponse, type ExtendReservationResponse, type FaqContent, type FaqItem, type FooterColumn, type FooterContent, type FooterLink, type FooterSocialLink, type FormatPriceOptions, type FreeAllocationPolicy, type FulfillOrderDto, type GuestCheckoutStartResponse, type GuestOrderResponse, type HeaderContent, type HeaderCta, type HeaderLogo, type HeaderNavItem, type InsufficientStockError, type InventoryInfo, type InventoryReservationStrategy, type InventorySyncStatus, type InventoryTrackingMode, type InvitationStatus, type InviteMemberDto as InviteMemberInput, type InviteStoreMemberDto as InviteStoreMemberInput, type ListModifierGroupsParams, type LocalCart, type LocalCartItem, type LockedVariant, type MergeCartsDto, type MetafieldConflict, type MetafieldConflictResolution, type MetafieldDefinition, type MetafieldType, type Modifier, type ModifierGroup, type ModifierSelection, type ModifierSelectionType, type ModifierValidationCode, type ModifierValidationError, type OAuthAuthorizeResponse, type OAuthCallbackResponse, type OAuthConnection, type OAuthConnectionsResponse, type OAuthProviderConfig, type OAuthProviderType, type OAuthProvidersResponse, type Order, type OrderAddress, type OrderBump, type OrderCustomer, type OrderDownloadLink, type OrderItem, type OrderQueryParams, type OrderStatus, type OrderStatusChange, type PageContent, type PageSeo, type PaginatedResponse, type PaymentClientSdk, type PaymentConfig, type PaymentIntent, type PaymentProvider, type PaymentProviderConfig, type PaymentProvidersConfig, type PaymentStatus, type PaymentUrlOptions, type PickupLocation, type PlatformCouponCapabilities, type PlatformMetafieldMetadata, type PreviewEmailTemplateDto as PreviewEmailTemplateInput, type Product, type ProductAttributeInput, type ProductAvailability, type ProductCustomizationField, type ProductDiscount, type ProductDiscountBadge, type ProductImage, type ProductMetafield, type ProductMetafieldValue, type ProductModifierGroupAttachment, type ProductQueryParams, type ProductRecommendation, type ProductRecommendationsResponse, type ProductRelationType, type ProductSuggestion, type ProductVariant, type PublicMetafieldDefinition, type PublishProductResponse, RTL_LOCALES, type RecommendationVariant, type ReconcileInventoryResponse, type Refund, type RefundLineItem, type RefundLineItemResponse, type RefundType, type RegisterCustomerDto, type ReservationInfo, type ResolveMetafieldConflictDto as ResolveMetafieldConflictInput, type ResolveSyncConflictDto as ResolveSyncConflictInput, type RichTextContent, SDK_VERSION, type SearchSuggestions, type SelectPickupLocationDto, type SelectShippingMethodDto, type SendInvoiceDto, type SessionCartRef, type SetBillingAddressDto, type SetCheckoutCustomFieldsDto, type SetCheckoutCustomerDto, type SetDefinitionProductsDto as SetDefinitionProductsInput, type SetMetafieldPlatformsDto as SetMetafieldPlatformsInput, type SetShippingAddressDto, type SetShippingAddressResponse, type ShippingDestinations, type ShippingLine, type ShippingRate, type ShippingRateConfig, type ShippingRateType, type ShippingZone, type ShippingZoneQueryParams, type StockAvailabilityRequest, type StockAvailabilityResponse, type StockAvailabilityResult, type StoreInfo, type StoreInvitation, type StoreInvitationDetails, type StoreMember, type StorePermission, type StoreRole, type StoreTeamResponse, type SupportedLocaleObject, type SyncConflict, type SyncConflictResolution, type SyncJob, type Tag, type TaxBreakdown, type TaxBreakdownItem, type TaxRate, type TaxonomyQueryParams, type TeamInvitation, type TeamInvitationsResponse, type TeamMember, type TeamMembersResponse, type TeamRole, type UpdateAddressDto, type UpdateAttachmentInput, type UpdateAttributeDto as UpdateAttributeInput, type UpdateAttributeOptionDto as UpdateAttributeOptionInput, type UpdateBrandDto as UpdateBrandInput, type UpdateCartItemDto, type UpdateCategoryDto as UpdateCategoryInput, type UpdateContentInput, type UpdateCouponDto, type UpdateCustomApiDto, type UpdateCustomerDto, type UpdateDraftDto, type UpdateEmailSettingsDto as UpdateEmailSettingsInput, type UpdateEmailTemplateDto as UpdateEmailTemplateInput, type UpdateInventoryDto, type UpdateMemberRoleDto as UpdateMemberRoleInput, type UpdateMetafieldDefinitionDto as UpdateMetafieldDefinitionInput, type UpdateModifierGroupInput, type UpdateModifierInput, type UpdateOAuthProviderDto as UpdateOAuthProviderInput, type UpdateOrderDto, type UpdateOrderShippingDto, type UpdateProductDto, type UpdateShippingRateDto as UpdateShippingRateInput, type UpdateShippingZoneDto as UpdateShippingZoneInput, type UpdateStoreMemberDto as UpdateStoreMemberInput, type UpdateTagDto as UpdateTagInput, type UpdateTaxRateDto as UpdateTaxRateInput, type UpdateVariantDto, type UpdateVariantInventoryDto, type UpsertProductMetafieldDto as UpsertProductMetafieldInput, type UserStore, type UserStorePermissions, type VariantInventoryResponse, type VariantPlatformOverlay, type VariantStatus, type WaitForOrderOptions, type WaitForOrderResult, type WebhookEvent, type WebhookEventType, createWebhookHandler, deriveSeoDescription, enableDevGuards, formatPrice, getCartItemImage, getCartItemName, getCartTotals, getDescriptionContent, getDirectionForLocale, formatPrice as getPriceDisplay, getProductCustomizationFields, getProductMetafield, getProductMetafieldValue, getProductMetafieldsByType, getProductPrice, getProductPriceInfo, getProductSwatches, getStockStatus, getVariantOptions, getVariantPrice, isAllowedPaymentUrl, isCouponApplicableToProduct, isHtmlDescription, isWebhookEventType, parseWebhookEvent, safePaymentRedirect, stripHtml, verifyWebhook };
|