@rovela-ai/sdk 0.12.1 → 0.13.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/dist/admin/api/refund.d.ts.map +1 -1
- package/dist/admin/api/refund.js +7 -1
- package/dist/admin/api/refund.js.map +1 -1
- package/dist/admin/api/return.d.ts.map +1 -1
- package/dist/admin/api/return.js +7 -1
- package/dist/admin/api/return.js.map +1 -1
- package/dist/admin/api/settings.d.ts.map +1 -1
- package/dist/admin/api/settings.js +3 -2
- package/dist/admin/api/settings.js.map +1 -1
- package/dist/admin/components/CatalogTranslationsEditor.d.ts.map +1 -1
- package/dist/admin/components/CatalogTranslationsEditor.js +1 -4
- package/dist/admin/components/CatalogTranslationsEditor.js.map +1 -1
- package/dist/admin/components/StoreSettings.d.ts.map +1 -1
- package/dist/admin/components/StoreSettings.js +3 -4
- package/dist/admin/components/StoreSettings.js.map +1 -1
- package/dist/auth/api/request-refund.d.ts.map +1 -1
- package/dist/auth/api/request-refund.js +7 -1
- package/dist/auth/api/request-refund.js.map +1 -1
- package/dist/auth/components/AddressBook.js +3 -3
- package/dist/auth/components/AddressBook.js.map +1 -1
- package/dist/auth/components/ForgotPasswordForm.js +2 -2
- package/dist/auth/components/ForgotPasswordForm.js.map +1 -1
- package/dist/auth/components/ResetPasswordForm.js +4 -4
- package/dist/auth/components/ResetPasswordForm.js.map +1 -1
- package/dist/auth/components/SignInForm.js +1 -1
- package/dist/auth/components/SignInForm.js.map +1 -1
- package/dist/auth/components/SignUpForm.js +2 -2
- package/dist/auth/components/SignUpForm.js.map +1 -1
- package/dist/auth/components/UserMenu.js +1 -1
- package/dist/auth/components/UserMenu.js.map +1 -1
- package/dist/auth/components/VerifyEmailNotice.js +1 -1
- package/dist/auth/components/VerifyEmailNotice.js.map +1 -1
- package/dist/auth/server/password-reset-service.d.ts.map +1 -1
- package/dist/auth/server/password-reset-service.js +1 -0
- package/dist/auth/server/password-reset-service.js.map +1 -1
- package/dist/auth/server/verification-service.d.ts.map +1 -1
- package/dist/auth/server/verification-service.js +7 -1
- package/dist/auth/server/verification-service.js.map +1 -1
- package/dist/cart/components/AddToCartButton.js +3 -3
- package/dist/cart/components/AddToCartButton.js.map +1 -1
- package/dist/cart/components/CartDrawer.d.ts.map +1 -1
- package/dist/cart/components/CartDrawer.js +7 -5
- package/dist/cart/components/CartDrawer.js.map +1 -1
- package/dist/cart/components/CartItem.js +1 -1
- package/dist/cart/components/CartItem.js.map +1 -1
- package/dist/cart/components/QuantitySelector.js +1 -1
- package/dist/cart/components/QuantitySelector.js.map +1 -1
- package/dist/checkout/components/CheckoutButton.js +3 -3
- package/dist/checkout/components/CheckoutButton.js.map +1 -1
- package/dist/checkout/components/CheckoutSuccess.d.ts.map +1 -1
- package/dist/checkout/components/CheckoutSuccess.js +3 -1
- package/dist/checkout/components/CheckoutSuccess.js.map +1 -1
- package/dist/checkout/components/OrderSummary.js +1 -1
- package/dist/checkout/components/OrderSummary.js.map +1 -1
- package/dist/checkout/components/OrderTimeline.js +2 -2
- package/dist/checkout/components/OrderTimeline.js.map +1 -1
- package/dist/checkout/components/ShippingForm.js +4 -3
- package/dist/checkout/components/ShippingForm.js.map +1 -1
- package/dist/checkout/server/order-service.d.ts.map +1 -1
- package/dist/checkout/server/order-service.js +4 -1
- package/dist/checkout/server/order-service.js.map +1 -1
- package/dist/core/cookie-consent/CookieBanner.d.ts.map +1 -1
- package/dist/core/cookie-consent/CookieBanner.js +6 -4
- package/dist/core/cookie-consent/CookieBanner.js.map +1 -1
- package/dist/core/cookie-consent/CookiePreferencesLink.d.ts.map +1 -1
- package/dist/core/cookie-consent/CookiePreferencesLink.js +4 -2
- package/dist/core/cookie-consent/CookiePreferencesLink.js.map +1 -1
- package/dist/core/i18n/LanguageSwitcher.d.ts.map +1 -1
- package/dist/core/i18n/LanguageSwitcher.js +9 -8
- package/dist/core/i18n/LanguageSwitcher.js.map +1 -1
- package/dist/core/i18n/catalog.d.ts +1 -1
- package/dist/core/i18n/catalog.d.ts.map +1 -1
- package/dist/core/i18n/catalog.js +2 -1
- package/dist/core/i18n/catalog.js.map +1 -1
- package/dist/core/i18n/index.d.ts +2 -2
- package/dist/core/i18n/index.d.ts.map +1 -1
- package/dist/core/i18n/index.js +2 -2
- package/dist/core/i18n/index.js.map +1 -1
- package/dist/core/i18n/messages/en.d.ts.map +1 -1
- package/dist/core/i18n/messages/en.js +281 -0
- package/dist/core/i18n/messages/en.js.map +1 -1
- package/dist/core/i18n/messages/fr.d.ts.map +1 -1
- package/dist/core/i18n/messages/fr.js +281 -0
- package/dist/core/i18n/messages/fr.js.map +1 -1
- package/dist/core/i18n/resolve.d.ts +2 -0
- package/dist/core/i18n/resolve.d.ts.map +1 -1
- package/dist/core/i18n/resolve.js +11 -9
- package/dist/core/i18n/resolve.js.map +1 -1
- package/dist/core/i18n/types.d.ts +9 -0
- package/dist/core/i18n/types.d.ts.map +1 -1
- package/dist/core/i18n/types.js +14 -0
- package/dist/core/i18n/types.js.map +1 -1
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +1 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/useStoreFormatting.d.ts +10 -0
- package/dist/core/useStoreFormatting.d.ts.map +1 -0
- package/dist/core/useStoreFormatting.js +57 -0
- package/dist/core/useStoreFormatting.js.map +1 -0
- package/dist/emails/i18n.d.ts +0 -5
- package/dist/emails/i18n.d.ts.map +1 -1
- package/dist/emails/i18n.js +9 -4
- package/dist/emails/i18n.js.map +1 -1
- package/dist/products/api/categories.d.ts +5 -2
- package/dist/products/api/categories.d.ts.map +1 -1
- package/dist/products/api/categories.js +13 -2
- package/dist/products/api/categories.js.map +1 -1
- package/dist/products/components/ProductCard.d.ts.map +1 -1
- package/dist/products/components/ProductCard.js +6 -2
- package/dist/products/components/ProductCard.js.map +1 -1
- package/dist/products/components/ProductDetails.d.ts.map +1 -1
- package/dist/products/components/ProductDetails.js +11 -7
- package/dist/products/components/ProductDetails.js.map +1 -1
- package/dist/products/components/ProductGallery.d.ts.map +1 -1
- package/dist/products/components/ProductGallery.js +6 -4
- package/dist/products/components/ProductGallery.js.map +1 -1
- package/dist/products/components/ProductGrid.d.ts.map +1 -1
- package/dist/products/components/ProductGrid.js +3 -1
- package/dist/products/components/ProductGrid.js.map +1 -1
- package/dist/products/components/ProductSearch.d.ts.map +1 -1
- package/dist/products/components/ProductSearch.js +5 -2
- package/dist/products/components/ProductSearch.js.map +1 -1
- package/dist/products/components/ProductSort.d.ts.map +1 -1
- package/dist/products/components/ProductSort.js +18 -11
- package/dist/products/components/ProductSort.js.map +1 -1
- package/dist/products/components/ProductSpecifications.d.ts.map +1 -1
- package/dist/products/components/ProductSpecifications.js +5 -2
- package/dist/products/components/ProductSpecifications.js.map +1 -1
- package/dist/products/components/VariantSelector.d.ts.map +1 -1
- package/dist/products/components/VariantSelector.js +4 -2
- package/dist/products/components/VariantSelector.js.map +1 -1
- package/package.json +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fr.js","sourceRoot":"","sources":["../../../../src/core/i18n/messages/fr.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fr.js","sourceRoot":"","sources":["../../../../src/core/i18n/messages/fr.ts"],"names":[],"mappings":"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"}
|
|
@@ -68,6 +68,8 @@ export interface LocaleRedirectDecision {
|
|
|
68
68
|
* TEMPORARY.
|
|
69
69
|
*/
|
|
70
70
|
export declare function resolveLocaleRedirect({ prefixLocale, cookieLocale, geoLocale, pathname, config, }: LocaleRedirectInput): LocaleRedirectDecision | null;
|
|
71
|
+
/** Strip a supported-locale prefix from a pathname ('/fr/products' → '/products'). */
|
|
72
|
+
export declare function stripLocalePrefix(pathname: string): string;
|
|
71
73
|
/**
|
|
72
74
|
* Build the URL for the CURRENT page in another locale — the language
|
|
73
75
|
* switcher's navigation target. `pathname` may carry a locale prefix.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,WAAW,CAAA;IAC1B,wDAAwD;IACxD,cAAc,EAAE,WAAW,EAAE,CAAA;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE;IAClD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACjC,GAAG,IAAI,GAAG,iBAAiB,CAU3B;AAED,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,kBAAkB,GAAG,WAAW,CAK9F;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,GACP,EAAE,mBAAmB,GAAG,sBAAsB,GAAG,IAAI,CA0BrD;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,GAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAIL,KAAK,WAAW,EACjB,MAAM,SAAS,CAAA;AAEhB,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,WAAW,CAAA;IAC1B,wDAAwD;IACxD,cAAc,EAAE,WAAW,EAAE,CAAA;CAC9B;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,CAAC,EAAE;IAClD,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC7B,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,IAAI,CAAA;CACjC,GAAG,IAAI,GAAG,iBAAiB,CAU3B;AAED,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,iDAAiD;IACjD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAC5B,kEAAkE;IAClE,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,MAAM,EAAE,iBAAiB,CAAA;CAC1B;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,kBAAkB,GAAG,WAAW,CAK9F;AAED,MAAM,WAAW,mBAAoB,SAAQ,kBAAkB;IAC7D,sEAAsE;IACtE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAA;IACZ;;;;;OAKG;IACH,SAAS,EAAE,OAAO,CAAA;CACnB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,GACP,EAAE,mBAAmB,GAAG,sBAAsB,GAAG,IAAI,CA0BrD;AAED,sFAAsF;AACtF,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAQ1D;AAED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,GAAG,MAAM,CAIpG"}
|
|
@@ -76,20 +76,22 @@ export function resolveLocaleRedirect({ prefixLocale, cookieLocale, geoLocale, p
|
|
|
76
76
|
}
|
|
77
77
|
return null;
|
|
78
78
|
}
|
|
79
|
+
/** Strip a supported-locale prefix from a pathname ('/fr/products' → '/products'). */
|
|
80
|
+
export function stripLocalePrefix(pathname) {
|
|
81
|
+
for (const l of SUPPORTED_LOCALES) {
|
|
82
|
+
const re = new RegExp(`^/${l}(?=/|$)`);
|
|
83
|
+
if (re.test(pathname)) {
|
|
84
|
+
return pathname.replace(re, '') || '/';
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
return pathname;
|
|
88
|
+
}
|
|
79
89
|
/**
|
|
80
90
|
* Build the URL for the CURRENT page in another locale — the language
|
|
81
91
|
* switcher's navigation target. `pathname` may carry a locale prefix.
|
|
82
92
|
*/
|
|
83
93
|
export function localePath(pathname, target, defaultLocale) {
|
|
84
|
-
|
|
85
|
-
let bare = pathname;
|
|
86
|
-
for (const l of SUPPORTED_LOCALES) {
|
|
87
|
-
const re = new RegExp(`^/${l}(?=/|$)`);
|
|
88
|
-
if (re.test(bare)) {
|
|
89
|
-
bare = bare.replace(re, '') || '/';
|
|
90
|
-
break;
|
|
91
|
-
}
|
|
92
|
-
}
|
|
94
|
+
const bare = stripLocalePrefix(pathname);
|
|
93
95
|
if (target === defaultLocale)
|
|
94
96
|
return bare;
|
|
95
97
|
return `/${target}${bare === '/' ? '' : bare}`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/core/i18n/resolve.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EACL,cAAc,EACd,iBAAiB,EACjB,iBAAiB,GAElB,MAAM,SAAS,CAAA;AAQhB;;;;GAIG;AACH,MAAM,UAAU,wBAAwB,CAAC,QAGjC;IACN,MAAM,GAAG,GAAG,iBAAiB,CAAC,QAAQ,EAAE,aAAa,CAAC;QACpD,CAAC,CAAC,QAAQ,CAAC,aAAa;QACxB,CAAC,CAAC,cAAc,CAAA;IAClB,MAAM,OAAO,GAAG,CAAC,QAAQ,EAAE,cAAc,IAAI,EAAE,CAAC;SAC7C,MAAM,CAAC,iBAAiB,CAAC;QAC1B,qCAAqC;SACpC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9C,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;QAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAChD,OAAO,EAAE,aAAa,EAAE,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,CAAA;AACxD,CAAC;AAYD;;;;;;;GAOG;AACH,MAAM,UAAU,oBAAoB,CAAC,EAAE,YAAY,EAAE,MAAM,EAAsB;IAC/E,IAAI,iBAAiB,CAAC,YAAY,CAAC,IAAI,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;QACpF,OAAO,YAAY,CAAA;IACrB,CAAC;IACD,OAAO,MAAM,CAAC,aAAa,CAAA;AAC7B,CAAC;AAkBD;;;;;;;;;;;;GAYG;AACH,MAAM,UAAU,qBAAqB,CAAC,EACpC,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,QAAQ,EACR,MAAM,GACc;IACpB,IAAI,CAAC,QAAQ,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,IAAI,CAAA;IAEvD,mEAAmE;IACnE,IAAI,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,YAAY,KAAK,MAAM,CAAC,aAAa,EAAE,CAAC;YAC3F,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,YAAY,SAAS,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG,CAAA;YAChF,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,CAAA;QACxC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAED,oEAAoE;IACpE,MAAM,SAAS,GAAG,iBAAiB,CAAC,YAAY,CAAC;QAC/C,CAAC,CAAC,YAAY;QACd,CAAC,CAAC,iBAAiB,CAAC,SAAS,CAAC;YAC5B,CAAC,CAAC,SAAS;YACX,CAAC,CAAC,IAAI,CAAA;IACV,IACE,SAAS;QACT,SAAS,KAAK,MAAM,CAAC,aAAa;QAClC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EACzC,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,IAAI,SAAS,GAAG,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,CAAA;IACvF,CAAC;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED
|
|
1
|
+
{"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../src/core/i18n/resolve.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,15 @@ export declare function isSupportedLocale(value: unknown): value is StoreLocale;
|
|
|
20
20
|
export type MessageCatalog = Record<string, string>;
|
|
21
21
|
/** BCP-47 tag used for Intl formatting per locale. */
|
|
22
22
|
export declare const LOCALE_INTL: Record<StoreLocale, string>;
|
|
23
|
+
/** Resolve the Intl tag for any raw locale value (fail-open to the default). */
|
|
24
|
+
export declare function intlLocaleFor(locale: unknown): string;
|
|
25
|
+
/**
|
|
26
|
+
* Native-name labels, the SINGLE source for every locale picker (language
|
|
27
|
+
* switcher, admin Languages card, catalog-translations editor). Typed as
|
|
28
|
+
* Record<StoreLocale, …> so adding a locale without a label is a compile
|
|
29
|
+
* error.
|
|
30
|
+
*/
|
|
31
|
+
export declare const LOCALE_LABELS: Record<StoreLocale, string>;
|
|
23
32
|
/**
|
|
24
33
|
* The cookie that persists an explicit visitor choice (language switcher) or
|
|
25
34
|
* a first-visit geo detection. Read by the template proxy for bare-path
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,uBAAwB,CAAA;AAEtD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE5D,0EAA0E;AAC1E,eAAO,MAAM,cAAc,EAAE,WAAkB,CAAA;AAE/C,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAEtE;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEnD,sDAAsD;AACtD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAGnD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,kBAAkB,CAAA;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,oBAAoB,CAAA;AAC9C,eAAO,MAAM,iBAAiB,wBAAwB,CAAA;AACtD,eAAO,MAAM,eAAe,sBAAsB,CAAA;AAElD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAKzD,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mFAAmF;AACnF,eAAO,MAAM,iBAAiB,uBAAwB,CAAA;AAEtD,MAAM,MAAM,WAAW,GAAG,CAAC,OAAO,iBAAiB,CAAC,CAAC,MAAM,CAAC,CAAA;AAE5D,0EAA0E;AAC1E,eAAO,MAAM,cAAc,EAAE,WAAkB,CAAA;AAE/C,yEAAyE;AACzE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,WAAW,CAEtE;AAED;;;GAGG;AACH,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEnD,sDAAsD;AACtD,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAGnD,CAAA;AAED,gFAAgF;AAChF,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,CAErD;AAED;;;;;GAKG;AACH,eAAO,MAAM,aAAa,EAAE,MAAM,CAAC,WAAW,EAAE,MAAM,CAGrD,CAAA;AAED;;;;GAIG;AACH,eAAO,MAAM,aAAa,kBAAkB,CAAA;AAE5C;;;;;;;GAOG;AACH,eAAO,MAAM,aAAa,oBAAoB,CAAA;AAC9C,eAAO,MAAM,iBAAiB,wBAAwB,CAAA;AACtD,eAAO,MAAM,eAAe,sBAAsB,CAAA;AAElD;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,WAAW,CAKzD,CAAA"}
|
package/dist/core/i18n/types.js
CHANGED
|
@@ -19,6 +19,20 @@ export const LOCALE_INTL = {
|
|
|
19
19
|
en: 'en-US',
|
|
20
20
|
fr: 'fr-FR',
|
|
21
21
|
};
|
|
22
|
+
/** Resolve the Intl tag for any raw locale value (fail-open to the default). */
|
|
23
|
+
export function intlLocaleFor(locale) {
|
|
24
|
+
return isSupportedLocale(locale) ? LOCALE_INTL[locale] : LOCALE_INTL[DEFAULT_LOCALE];
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Native-name labels, the SINGLE source for every locale picker (language
|
|
28
|
+
* switcher, admin Languages card, catalog-translations editor). Typed as
|
|
29
|
+
* Record<StoreLocale, …> so adding a locale without a label is a compile
|
|
30
|
+
* error.
|
|
31
|
+
*/
|
|
32
|
+
export const LOCALE_LABELS = {
|
|
33
|
+
en: 'English',
|
|
34
|
+
fr: 'Français',
|
|
35
|
+
};
|
|
22
36
|
/**
|
|
23
37
|
* The cookie that persists an explicit visitor choice (language switcher) or
|
|
24
38
|
* a first-visit geo detection. Read by the template proxy for bare-path
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAA;AAItD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAgB,IAAI,CAAA;AAE/C,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC9F,CAAC;AAQD,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;CACZ,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAA;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAA;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACT,CAAA"}
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/i18n/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,mFAAmF;AACnF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,IAAI,EAAE,IAAI,CAAU,CAAA;AAItD,0EAA0E;AAC1E,MAAM,CAAC,MAAM,cAAc,GAAgB,IAAI,CAAA;AAE/C,yEAAyE;AACzE,MAAM,UAAU,iBAAiB,CAAC,KAAc;IAC9C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,iBAAuC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;AAC9F,CAAC;AAQD,sDAAsD;AACtD,MAAM,CAAC,MAAM,WAAW,GAAgC;IACtD,EAAE,EAAE,OAAO;IACX,EAAE,EAAE,OAAO;CACZ,CAAA;AAED,gFAAgF;AAChF,MAAM,UAAU,aAAa,CAAC,MAAe;IAC3C,OAAO,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,cAAc,CAAC,CAAA;AACtF,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAgC;IACxD,EAAE,EAAE,SAAS;IACb,EAAE,EAAE,UAAU;CACf,CAAA;AAED;;;;GAIG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,eAAe,CAAA;AAE5C;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,iBAAiB,CAAA;AAC9C,MAAM,CAAC,MAAM,iBAAiB,GAAG,qBAAqB,CAAA;AACtD,MAAM,CAAC,MAAM,eAAe,GAAG,mBAAmB,CAAA;AAElD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAgC;IAC5D,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;IACR,EAAE,EAAE,IAAI;CACT,CAAA"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -17,6 +17,7 @@
|
|
|
17
17
|
export * from './types';
|
|
18
18
|
export * from './i18n';
|
|
19
19
|
export { StoreSettingsProvider, useStoreSettings, useStoreSettingsOptional, } from './StoreSettingsProvider';
|
|
20
|
+
export { useStoreFormatting, type StoreFormatting } from './useStoreFormatting';
|
|
20
21
|
export type { StoreSettings, StoreSettingsContextValue, StoreSettingsProviderProps, } from './StoreSettingsProvider';
|
|
21
22
|
export { cn, formatPrice, parsePrice, getCurrencySymbol, generateSlug, generateSKU, formatDate, formatRelativeTime, truncate, capitalize, titleCase, clamp, percentage, isValidEmail, isValidPhone, compact, pick, omit, sleep, retry, } from './utils';
|
|
22
23
|
export type { FormatPriceOptions } from './utils';
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,cAAc,SAAS,CAAA;AAGvB,cAAc,QAAQ,CAAA;AAGtB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,cAAc,SAAS,CAAA;AAGvB,cAAc,QAAQ,CAAA;AAGtB,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,sBAAsB,CAAA;AAE/E,YAAY,EACV,aAAa,EACb,yBAAyB,EACzB,0BAA0B,GAC3B,MAAM,yBAAyB,CAAA;AAGhC,OAAO,EAEL,EAAE,EAEF,WAAW,EACX,UAAU,EACV,iBAAiB,EAEjB,YAAY,EAEZ,WAAW,EAEX,UAAU,EACV,kBAAkB,EAElB,QAAQ,EACR,UAAU,EACV,SAAS,EAET,KAAK,EACL,UAAU,EAEV,YAAY,EACZ,YAAY,EAEZ,OAAO,EACP,IAAI,EACJ,IAAI,EAEJ,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAA;AAEhB,YAAY,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAA;AAGjD,OAAO,EACL,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,GACf,MAAM,OAAO,CAAA;AACd,YAAY,EACV,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,OAAO,CAAA"}
|
package/dist/core/index.js
CHANGED
|
@@ -20,6 +20,7 @@ export * from './types';
|
|
|
20
20
|
export * from './i18n';
|
|
21
21
|
// Store Settings Provider and Hook (browser-safe)
|
|
22
22
|
export { StoreSettingsProvider, useStoreSettings, useStoreSettingsOptional, } from './StoreSettingsProvider';
|
|
23
|
+
export { useStoreFormatting } from './useStoreFormatting';
|
|
23
24
|
// Utilities - browser-safe functions
|
|
24
25
|
export {
|
|
25
26
|
// Class names
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iDAAiD;AACjD,cAAc,SAAS,CAAA;AAEvB,uEAAuE;AACvE,cAAc,QAAQ,CAAA;AAEtB,kDAAkD;AAClD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,iDAAiD;AACjD,cAAc,SAAS,CAAA;AAEvB,uEAAuE;AACvE,cAAc,QAAQ,CAAA;AAEtB,kDAAkD;AAClD,OAAO,EACL,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,GACzB,MAAM,yBAAyB,CAAA;AAChC,OAAO,EAAE,kBAAkB,EAAwB,MAAM,sBAAsB,CAAA;AAQ/E,qCAAqC;AACrC,OAAO;AACL,cAAc;AACd,EAAE;AACF,mBAAmB;AACnB,WAAW,EACX,UAAU,EACV,iBAAiB;AACjB,kBAAkB;AAClB,YAAY;AACZ,iBAAiB;AACjB,WAAW;AACX,kBAAkB;AAClB,UAAU,EACV,kBAAkB;AAClB,mBAAmB;AACnB,QAAQ,EACR,UAAU,EACV,SAAS;AACT,mBAAmB;AACnB,KAAK,EACL,UAAU;AACV,aAAa;AACb,YAAY,EACZ,YAAY;AACZ,mBAAmB;AACnB,OAAO,EACP,IAAI,EACJ,IAAI;AACJ,kBAAkB;AAClB,KAAK,EACL,KAAK,GACN,MAAM,SAAS,CAAA;AAIhB,yDAAyD;AACzD,OAAO,EACL,eAAe,EACf,SAAS,EACT,kBAAkB,EAClB,qBAAqB,EACrB,qBAAqB,EACrB,cAAc,GACf,MAAM,OAAO,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export interface StoreFormatting {
|
|
2
|
+
/** Store currency code (from settings; 'USD' fallback). */
|
|
3
|
+
currency: string;
|
|
4
|
+
/** BCP-47 tag actually used for formatting (active i18n locale). */
|
|
5
|
+
intlLocale: string;
|
|
6
|
+
formatPrice: (price: number | string) => string;
|
|
7
|
+
formatDate: (date: Date | string, options?: Intl.DateTimeFormatOptions) => string;
|
|
8
|
+
}
|
|
9
|
+
export declare function useStoreFormatting(): StoreFormatting;
|
|
10
|
+
//# sourceMappingURL=useStoreFormatting.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStoreFormatting.d.ts","sourceRoot":"","sources":["../../src/core/useStoreFormatting.ts"],"names":[],"mappings":"AA4BA,MAAM,WAAW,eAAe;IAC9B,2DAA2D;IAC3D,QAAQ,EAAE,MAAM,CAAA;IAChB,oEAAoE;IACpE,UAAU,EAAE,MAAM,CAAA;IAClB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,KAAK,MAAM,CAAA;IAC/C,UAAU,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,qBAAqB,KAAK,MAAM,CAAA;CAClF;AAED,wBAAgB,kBAAkB,IAAI,eAAe,CA2CpD"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
/**
|
|
3
|
+
* @rovela-ai/sdk/core/useStoreFormatting
|
|
4
|
+
*
|
|
5
|
+
* Locale-aware store formatting (i18n). `useStoreSettings().formatPrice` /
|
|
6
|
+
* `.formatDate` derive their Intl locale from the STORE CURRENCY (a
|
|
7
|
+
* currency→locale map) — correct for single-language stores, wrong on a
|
|
8
|
+
* bilingual store where a French visitor would see "9 Jul 2026" / "€537.56"
|
|
9
|
+
* instead of "9 juil. 2026" / "537,56 €".
|
|
10
|
+
*
|
|
11
|
+
* This hook composes the two contexts: currency + timezone come from
|
|
12
|
+
* StoreSettingsProvider, the FORMATTING locale comes from the active i18n
|
|
13
|
+
* locale (RovelaLocaleProvider). Without a locale provider it falls back to
|
|
14
|
+
* 'en-US' — new templates always mount the provider, and pre-i18n templates
|
|
15
|
+
* never import this hook, so legacy stores are untouched by construction.
|
|
16
|
+
*
|
|
17
|
+
* StoreSettingsProvider itself is deliberately NOT locale-aware: it mounts
|
|
18
|
+
* ABOVE RovelaLocaleProvider (Providers.tsx wraps LayoutContent) and also
|
|
19
|
+
* serves the admin branch, which stays English by design.
|
|
20
|
+
*/
|
|
21
|
+
import { useCallback } from 'react';
|
|
22
|
+
import { useIntlLocale } from './i18n';
|
|
23
|
+
import { useStoreSettingsOptional } from './StoreSettingsProvider';
|
|
24
|
+
const DEFAULT_TIMEZONE = 'America/New_York';
|
|
25
|
+
export function useStoreFormatting() {
|
|
26
|
+
const intlLocale = useIntlLocale();
|
|
27
|
+
const store = useStoreSettingsOptional();
|
|
28
|
+
const currency = store?.currency ?? 'USD';
|
|
29
|
+
const timezone = store?.settings?.storeTimezone || DEFAULT_TIMEZONE;
|
|
30
|
+
const formatPrice = useCallback((price) => {
|
|
31
|
+
let numPrice = typeof price === 'string' ? parseFloat(price) : price;
|
|
32
|
+
// Same cents heuristic as StoreSettingsProvider.formatPrice — keep in
|
|
33
|
+
// lockstep (large whole integers are assumed to be cents).
|
|
34
|
+
if (Number.isInteger(numPrice) && numPrice > 100) {
|
|
35
|
+
numPrice = numPrice / 100;
|
|
36
|
+
}
|
|
37
|
+
return new Intl.NumberFormat(intlLocale, {
|
|
38
|
+
style: 'currency',
|
|
39
|
+
currency,
|
|
40
|
+
minimumFractionDigits: 2,
|
|
41
|
+
maximumFractionDigits: 2,
|
|
42
|
+
}).format(numPrice);
|
|
43
|
+
}, [intlLocale, currency]);
|
|
44
|
+
const formatDate = useCallback((date, options = {
|
|
45
|
+
year: 'numeric',
|
|
46
|
+
month: 'short',
|
|
47
|
+
day: 'numeric',
|
|
48
|
+
}) => {
|
|
49
|
+
const d = typeof date === 'string' ? new Date(date) : date;
|
|
50
|
+
return new Intl.DateTimeFormat(intlLocale, {
|
|
51
|
+
...options,
|
|
52
|
+
timeZone: timezone,
|
|
53
|
+
}).format(d);
|
|
54
|
+
}, [intlLocale, timezone]);
|
|
55
|
+
return { currency, intlLocale, formatPrice, formatDate };
|
|
56
|
+
}
|
|
57
|
+
//# sourceMappingURL=useStoreFormatting.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStoreFormatting.js","sourceRoot":"","sources":["../../src/core/useStoreFormatting.ts"],"names":[],"mappings":"AAAA,YAAY,CAAA;AAEZ;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AACnC,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAA;AACtC,OAAO,EAAE,wBAAwB,EAAE,MAAM,yBAAyB,CAAA;AAElE,MAAM,gBAAgB,GAAG,kBAAkB,CAAA;AAW3C,MAAM,UAAU,kBAAkB;IAChC,MAAM,UAAU,GAAG,aAAa,EAAE,CAAA;IAClC,MAAM,KAAK,GAAG,wBAAwB,EAAE,CAAA;IACxC,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,IAAI,KAAK,CAAA;IACzC,MAAM,QAAQ,GAAG,KAAK,EAAE,QAAQ,EAAE,aAAa,IAAI,gBAAgB,CAAA;IAEnE,MAAM,WAAW,GAAG,WAAW,CAC7B,CAAC,KAAsB,EAAU,EAAE;QACjC,IAAI,QAAQ,GAAG,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA;QACpE,sEAAsE;QACtE,2DAA2D;QAC3D,IAAI,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,QAAQ,GAAG,GAAG,EAAE,CAAC;YACjD,QAAQ,GAAG,QAAQ,GAAG,GAAG,CAAA;QAC3B,CAAC;QACD,OAAO,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,EAAE;YACvC,KAAK,EAAE,UAAU;YACjB,QAAQ;YACR,qBAAqB,EAAE,CAAC;YACxB,qBAAqB,EAAE,CAAC;SACzB,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAA;IACrB,CAAC,EACD,CAAC,UAAU,EAAE,QAAQ,CAAC,CACvB,CAAA;IAED,MAAM,UAAU,GAAG,WAAW,CAC5B,CACE,IAAmB,EACnB,UAAsC;QACpC,IAAI,EAAE,SAAS;QACf,KAAK,EAAE,OAAO;QACd,GAAG,EAAE,SAAS;KACf,EACO,EAAE;QACV,MAAM,CAAC,GAAG,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAC1D,OAAO,IAAI,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE;YACzC,GAAG,OAAO;YACV,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAA;IACd,CAAC,EACD,CAAC,UAAU,EAAE,QAAQ,CAAC,CACvB,CAAA;IAED,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,CAAA;AAC1D,CAAC"}
|
package/dist/emails/i18n.d.ts
CHANGED
|
@@ -18,10 +18,5 @@
|
|
|
18
18
|
* never touch a French word ("Mon compte").
|
|
19
19
|
*/
|
|
20
20
|
import { type StoreLocale } from '../core/i18n/types';
|
|
21
|
-
/**
|
|
22
|
-
* Localize a rendered email (HTML body or subject line) for a locale.
|
|
23
|
-
* English (or anything unmapped) returns the input unchanged — the email is
|
|
24
|
-
* NEVER broken by localization, worst case it ships in English.
|
|
25
|
-
*/
|
|
26
21
|
export declare function localizeEmail(input: string, locale: StoreLocale | string | null | undefined): string;
|
|
27
22
|
//# sourceMappingURL=i18n.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/emails/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"i18n.d.ts","sourceRoot":"","sources":["../../src/emails/i18n.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAEH,OAAO,EAAe,KAAK,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAuQlE,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,MAAM,CAIpG"}
|
package/dist/emails/i18n.js
CHANGED
|
@@ -221,6 +221,7 @@ const FR_PHRASES = [
|
|
|
221
221
|
[`>Account Created:<`, `>Compte créé le :<`],
|
|
222
222
|
[`>Free<`, `>Gratuite<`],
|
|
223
223
|
[`>Paid<`, `>Payée<`],
|
|
224
|
+
[`Original payment method`, `Moyen de paiement d'origine`],
|
|
224
225
|
[` business days`, ` jours ouvrés`],
|
|
225
226
|
// ── Shared footer & link fallback ───────────────────────────────────────
|
|
226
227
|
[`Need help? Contact us at`, `Besoin d'aide ? Contactez-nous à`],
|
|
@@ -263,11 +264,15 @@ function localizeFrench(input) {
|
|
|
263
264
|
* English (or anything unmapped) returns the input unchanged — the email is
|
|
264
265
|
* NEVER broken by localization, worst case it ships in English.
|
|
265
266
|
*/
|
|
267
|
+
// Per-locale localizers. Adding a language = author its phrase table +
|
|
268
|
+
// register it here; unregistered locales fail open to English.
|
|
269
|
+
const LOCALIZERS = {
|
|
270
|
+
fr: localizeFrench,
|
|
271
|
+
};
|
|
266
272
|
export function localizeEmail(input, locale) {
|
|
267
|
-
if (!input || !locale
|
|
273
|
+
if (!input || !locale)
|
|
268
274
|
return input;
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
return input;
|
|
275
|
+
const localizer = LOCALIZERS[locale];
|
|
276
|
+
return localizer ? localizer(input) : input;
|
|
272
277
|
}
|
|
273
278
|
//# sourceMappingURL=i18n.js.map
|
package/dist/emails/i18n.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/emails/i18n.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/emails/i18n.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* export { GET } from '@rovela/sdk/products/api'
|
|
11
11
|
* ```
|
|
12
12
|
*/
|
|
13
|
-
import { NextResponse } from 'next/server';
|
|
13
|
+
import { NextResponse, type NextRequest } from 'next/server';
|
|
14
14
|
import { findCategories } from '../../core/db/queries';
|
|
15
15
|
export interface CategoriesApiResponse {
|
|
16
16
|
data: Awaited<ReturnType<typeof findCategories>>;
|
|
@@ -24,6 +24,9 @@ export interface CategoriesApiError {
|
|
|
24
24
|
*
|
|
25
25
|
* Returns all categories for the current tenant, ordered by sort order.
|
|
26
26
|
* Categories include parentId for building hierarchical navigation.
|
|
27
|
+
* Category names/descriptions are localized for the requested locale
|
|
28
|
+
* (?locale= or the x-rovela-locale header) — same contract as the
|
|
29
|
+
* products endpoint.
|
|
27
30
|
*/
|
|
28
|
-
export declare function GET(): Promise<NextResponse<CategoriesApiResponse | CategoriesApiError>>;
|
|
31
|
+
export declare function GET(request?: NextRequest): Promise<NextResponse<CategoriesApiResponse | CategoriesApiError>>;
|
|
29
32
|
//# sourceMappingURL=categories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/products/api/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"categories.d.ts","sourceRoot":"","sources":["../../../src/products/api/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAQtD,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,cAAc,CAAC,CAAC,CAAA;CACjD;AAED,MAAM,WAAW,kBAAkB;IACjC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAMD;;;;;;;;GAQG;AACH,wBAAsB,GAAG,CACvB,OAAO,CAAC,EAAE,WAAW,GACpB,OAAO,CAAC,YAAY,CAAC,qBAAqB,GAAG,kBAAkB,CAAC,CAAC,CAsCnE"}
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
*/
|
|
13
13
|
import { NextResponse } from 'next/server';
|
|
14
14
|
import { findCategories } from '../../core/db/queries';
|
|
15
|
+
import { getRequestLocale } from '../../core/server/request-locale';
|
|
16
|
+
import { localizeCatalogRows } from '../../core/i18n/catalog';
|
|
15
17
|
// =============================================================================
|
|
16
18
|
// Handler
|
|
17
19
|
// =============================================================================
|
|
@@ -20,12 +22,21 @@ import { findCategories } from '../../core/db/queries';
|
|
|
20
22
|
*
|
|
21
23
|
* Returns all categories for the current tenant, ordered by sort order.
|
|
22
24
|
* Categories include parentId for building hierarchical navigation.
|
|
25
|
+
* Category names/descriptions are localized for the requested locale
|
|
26
|
+
* (?locale= or the x-rovela-locale header) — same contract as the
|
|
27
|
+
* products endpoint.
|
|
23
28
|
*/
|
|
24
|
-
export async function GET() {
|
|
29
|
+
export async function GET(request) {
|
|
25
30
|
try {
|
|
26
31
|
const categories = await findCategories();
|
|
32
|
+
// Localize catalog content (translations jsonb overlay, field-by-field
|
|
33
|
+
// fallback). `request` is optional for back-compat with routes that
|
|
34
|
+
// re-export a zero-arg GET — header detection still applies via
|
|
35
|
+
// getRequestLocale's internal headers() read.
|
|
36
|
+
const { locale, config } = await getRequestLocale(request?.nextUrl?.searchParams?.get('locale') ?? null);
|
|
37
|
+
const localized = localizeCatalogRows(categories, locale, config.defaultLocale);
|
|
27
38
|
return NextResponse.json({
|
|
28
|
-
data:
|
|
39
|
+
data: localized,
|
|
29
40
|
});
|
|
30
41
|
}
|
|
31
42
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/products/api/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,
|
|
1
|
+
{"version":3,"file":"categories.js","sourceRoot":"","sources":["../../../src/products/api/categories.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,YAAY,EAAoB,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAe7D,gFAAgF;AAChF,UAAU;AACV,gFAAgF;AAEhF;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,GAAG,CACvB,OAAqB;IAErB,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,cAAc,EAAE,CAAA;QAEzC,uEAAuE;QACvE,oEAAoE;QACpE,gEAAgE;QAChE,8CAA8C;QAC9C,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,gBAAgB,CAC/C,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,IAAI,CACtD,CAAA;QACD,MAAM,SAAS,GAAG,mBAAmB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,aAAa,CAAC,CAAA;QAE/E,OAAO,YAAY,CAAC,IAAI,CAAC;YACvB,IAAI,EAAE,SAAS;SAChB,CAAC,CAAA;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAA;QAE/C,yCAAyC;QACzC,IAAI,KAAK,YAAY,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE,CAAC;YAC1E,OAAO,YAAY,CAAC,IAAI,CACtB;gBACE,KAAK,EAAE,kEAAkE;gBACzE,IAAI,EAAE,gBAAgB;aACvB,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAA;QACH,CAAC;QAED,OAAO,YAAY,CAAC,IAAI,CACtB;YACE,KAAK,EAAE,4BAA4B;YACnC,IAAI,EAAE,gBAAgB;SACvB,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CAChB,CAAA;IACH,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../src/products/components/ProductCard.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ProductCard.d.ts","sourceRoot":"","sources":["../../../src/products/components/ProductCard.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAOtC,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AAM/C,MAAM,WAAW,gBAAgB;IAC/B,mBAAmB;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,4BAA4B;IAC5B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,wBAAwB;IACxB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAA;IACvC,yBAAyB;IACzB,WAAW,CAAC,EAAE,QAAQ,GAAG,UAAU,GAAG,WAAW,CAAA;IACjD,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,sCAAsC;IACtC,eAAe,CAAC,EAAE,SAAS,CAAA;IAC3B,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,0BAA0B;IAC1B,YAAY,CAAC,EAAE,OAAO,CAAA;CACvB;AAMD;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,YAAoB,EACpB,UAAU,EACV,WAAsB,EACtB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,eAAe,EACf,IAAI,EACJ,YAAmB,GACpB,EAAE,gBAAgB,2CAuHlB"}
|
|
@@ -4,6 +4,7 @@ import Image from 'next/image';
|
|
|
4
4
|
import { LocaleLink as Link } from '../../core/i18n/LocaleLink';
|
|
5
5
|
import { ImageIcon } from 'lucide-react';
|
|
6
6
|
import { cn, formatPrice } from '../../core/utils';
|
|
7
|
+
import { useT, useIntlLocale } from '../../core/i18n';
|
|
7
8
|
import { useStoreSettingsOptional } from '../../core/StoreSettingsProvider';
|
|
8
9
|
// =============================================================================
|
|
9
10
|
// Component
|
|
@@ -33,9 +34,12 @@ import { useStoreSettingsOptional } from '../../core/StoreSettingsProvider';
|
|
|
33
34
|
*/
|
|
34
35
|
export function ProductCard({ product, showQuickAdd = false, onQuickAdd, imageAspect = 'square', className, currency, locale, quickAddContent, href, showDiscount = true, }) {
|
|
35
36
|
// Get currency from context if not provided via props
|
|
37
|
+
const t = useT();
|
|
38
|
+
const intlLocale = useIntlLocale();
|
|
36
39
|
const storeSettings = useStoreSettingsOptional();
|
|
37
40
|
const resolvedCurrency = currency ?? storeSettings?.currency ?? 'USD';
|
|
38
|
-
|
|
41
|
+
// Active i18n locale drives number shapes; explicit prop still wins.
|
|
42
|
+
const resolvedLocale = locale ?? intlLocale;
|
|
39
43
|
const aspectClasses = {
|
|
40
44
|
square: 'aspect-square',
|
|
41
45
|
portrait: 'aspect-[3/4]',
|
|
@@ -67,6 +71,6 @@ export function ProductCard({ product, showQuickAdd = false, onQuickAdd, imageAs
|
|
|
67
71
|
// already has bg-muted, so letterbox reads as intentional. Hover
|
|
68
72
|
// scale-105 still works identically. Tradeoff vs grid uniformity
|
|
69
73
|
// accepted — merchant intent over visual lockstep.
|
|
70
|
-
_jsx(Image, { src: mainImage, alt: product.name, fill: true, sizes: "(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw", className: "object-contain transition-transform duration-300 group-hover:scale-105" })) : (_jsx("div", { className: "absolute inset-0 flex items-center justify-center text-muted-foreground", children: _jsx(ImageIcon, { className: "h-12 w-12", strokeWidth: 1 }) })), showDiscount && discountPercent && (_jsxs("span", { className: "absolute left-2 top-2 rounded-full bg-destructive px-2 py-0.5 text-xs font-medium text-destructive-foreground", children: ["-", discountPercent, "%"] })), showQuickAdd && (_jsx("div", { className: "absolute inset-x-0 bottom-0 translate-y-full bg-gradient-to-t from-black/60 to-transparent p-4 opacity-0 transition-all duration-200 group-hover:translate-y-0 group-hover:opacity-100", children: _jsx("button", { onClick: handleQuickAdd, className: "w-full rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90", children: quickAddContent || '
|
|
74
|
+
_jsx(Image, { src: mainImage, alt: product.name, fill: true, sizes: "(max-width: 640px) 100vw, (max-width: 1024px) 50vw, 33vw", className: "object-contain transition-transform duration-300 group-hover:scale-105" })) : (_jsx("div", { className: "absolute inset-0 flex items-center justify-center text-muted-foreground", children: _jsx(ImageIcon, { className: "h-12 w-12", strokeWidth: 1 }) })), showDiscount && discountPercent && (_jsxs("span", { className: "absolute left-2 top-2 rounded-full bg-destructive px-2 py-0.5 text-xs font-medium text-destructive-foreground", children: ["-", discountPercent, "%"] })), showQuickAdd && (_jsx("div", { className: "absolute inset-x-0 bottom-0 translate-y-full bg-gradient-to-t from-black/60 to-transparent p-4 opacity-0 transition-all duration-200 group-hover:translate-y-0 group-hover:opacity-100", children: _jsx("button", { onClick: handleQuickAdd, className: "w-full rounded-md bg-primary px-4 py-2 text-sm font-medium text-primary-foreground transition-colors hover:bg-primary/90", children: quickAddContent || t('product.quickAdd') }) }))] }) }), _jsxs("div", { className: "flex flex-1 flex-col p-4", children: [_jsx(Link, { href: productHref, className: "flex-1", children: _jsx("h3", { className: "line-clamp-2 font-medium text-foreground transition-colors hover:text-primary", children: product.name }) }), _jsxs("div", { className: "mt-2 flex items-baseline gap-2", children: [_jsx("span", { className: "text-lg font-semibold text-foreground", children: formatPrice(price, { currency: resolvedCurrency, locale: resolvedLocale }) }), comparePrice && comparePrice > price && (_jsx("span", { className: "text-sm text-muted-foreground line-through", children: formatPrice(comparePrice, { currency: resolvedCurrency, locale: resolvedLocale }) }))] }), product.hasVariants && (_jsx("p", { className: "mt-1 text-xs text-muted-foreground", children: t('product.multipleOptions') }))] })] }));
|
|
71
75
|
}
|
|
72
76
|
//# sourceMappingURL=ProductCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductCard.js","sourceRoot":"","sources":["../../../src/products/components/ProductCard.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AASZ,OAAO,KAAK,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,UAAU,IAAI,IAAI,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAA;AACxC,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAClD,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAA;AA8B3E,gFAAgF;AAChF,YAAY;AACZ,gFAAgF;AAEhF;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,UAAU,WAAW,CAAC,EAC1B,OAAO,EACP,YAAY,GAAG,KAAK,EACpB,UAAU,EACV,WAAW,GAAG,QAAQ,EACtB,SAAS,EACT,QAAQ,EACR,MAAM,EACN,eAAe,EACf,IAAI,EACJ,YAAY,GAAG,IAAI,GACF;IACjB,sDAAsD;IACtD,MAAM,aAAa,GAAG,wBAAwB,EAAE,CAAA;IAChD,MAAM,gBAAgB,GAAG,QAAQ,IAAI,aAAa,EAAE,QAAQ,IAAI,KAAK,CAAA;IACrE,MAAM,cAAc,GAAG,MAAM,IAAI,
|
|
1
|
+
{"version":3,"file":"ProductCard.js","sourceRoot":"","sources":["../../../src/products/components/ProductCard.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductDetails.d.ts","sourceRoot":"","sources":["../../../src/products/components/ProductDetails.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ProductDetails.d.ts","sourceRoot":"","sources":["../../../src/products/components/ProductDetails.tsx"],"names":[],"mappings":"AAEA;;;;GAIG;AAEH,OAAO,EAAqB,KAAK,SAAS,EAAE,MAAM,OAAO,CAAA;AAKzD,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAQ/D,MAAM,WAAW,mBAAmB;IAClC,mBAAmB;IACnB,OAAO,EAAE,OAAO,CAAA;IAChB,uBAAuB;IACvB,QAAQ,CAAC,EAAE,cAAc,EAAE,CAAA;IAC3B,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,oCAAoC;IACpC,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kCAAkC;IAClC,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,0BAA0B;IAC1B,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1F,sBAAsB;IACtB,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,cAAc,GAAG,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAA;IACvF,wCAAwC;IACxC,gBAAgB,CAAC,EAAE,SAAS,CAAA;IAC5B,oCAAoC;IACpC,aAAa,CAAC,EAAE,SAAS,CAAA;IACzB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,6BAA6B;IAC7B,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,wBAAwB;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,mCAAmC;IACnC,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACtC,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,SAAS,CAAA;CACrB;AAMD;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,OAAO,EACP,QAAa,EACb,SAAS,EACT,QAAQ,EACR,MAAM,EACN,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,aAAa,EACb,UAAkB,EAClB,YAAmB,EACnB,WAAgB,EAChB,SAAiB,EACjB,aAAa,EACb,eAAwB,EACxB,QAAQ,GACT,EAAE,mBAAmB,2CA+QrB"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { jsx as _jsx,
|
|
2
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
3
3
|
/**
|
|
4
4
|
* @rovela/sdk/products/components/ProductDetails
|
|
5
5
|
*
|
|
@@ -8,6 +8,7 @@ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-run
|
|
|
8
8
|
import { useState, useMemo } from 'react';
|
|
9
9
|
import { Minus, Plus } from 'lucide-react';
|
|
10
10
|
import { cn, formatPrice } from '../../core/utils';
|
|
11
|
+
import { useT, useIntlLocale } from '../../core/i18n';
|
|
11
12
|
import { useStoreSettingsOptional } from '../../core/StoreSettingsProvider';
|
|
12
13
|
import { VariantSelector } from './VariantSelector';
|
|
13
14
|
import { ProductGallery } from './ProductGallery';
|
|
@@ -38,9 +39,12 @@ export function ProductDetails({ product, variants = [], className, currency, lo
|
|
|
38
39
|
const [selectedVariant, setSelectedVariant] = useState(null);
|
|
39
40
|
const [quantity, setQuantity] = useState(1);
|
|
40
41
|
// Get currency from context if not provided via props
|
|
42
|
+
const t = useT();
|
|
43
|
+
const intlLocale = useIntlLocale();
|
|
41
44
|
const storeSettings = useStoreSettingsOptional();
|
|
42
45
|
const resolvedCurrency = currency ?? storeSettings?.currency ?? 'USD';
|
|
43
|
-
|
|
46
|
+
// Active i18n locale drives number shapes; explicit prop still wins.
|
|
47
|
+
const resolvedLocale = locale ?? intlLocale;
|
|
44
48
|
// Calculate current price
|
|
45
49
|
const currentPrice = useMemo(() => {
|
|
46
50
|
if (selectedVariant?.price) {
|
|
@@ -119,7 +123,7 @@ export function ProductDetails({ product, variants = [], className, currency, lo
|
|
|
119
123
|
const containerClasses = cn('grid gap-8', galleryPosition === 'left'
|
|
120
124
|
? 'lg:grid-cols-2'
|
|
121
125
|
: 'grid-cols-1', className);
|
|
122
|
-
return (_jsxs("div", { className: containerClasses, children: [_jsx("div", { className: galleryPosition === 'top' ? 'order-first' : '', children: _jsx(ProductGallery, { media: galleryMedia, alt: product.name }, galleryKey) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight text-foreground sm:text-3xl", children: product.name }), _jsxs("div", { className: "mt-3 flex items-baseline gap-3", children: [_jsx("span", { className: "text-2xl font-semibold text-foreground", children: formatPrice(currentPrice, { currency: resolvedCurrency, locale: resolvedLocale }) }), comparePrice && comparePrice > currentPrice && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-lg text-muted-foreground line-through", children: formatPrice(comparePrice, { currency: resolvedCurrency, locale: resolvedLocale }) }), discountPercent && (
|
|
126
|
+
return (_jsxs("div", { className: containerClasses, children: [_jsx("div", { className: galleryPosition === 'top' ? 'order-first' : '', children: _jsx(ProductGallery, { media: galleryMedia, alt: product.name }, galleryKey) }), _jsxs("div", { className: "flex flex-col", children: [_jsx("h1", { className: "text-2xl font-bold tracking-tight text-foreground sm:text-3xl", children: product.name }), _jsxs("div", { className: "mt-3 flex items-baseline gap-3", children: [_jsx("span", { className: "text-2xl font-semibold text-foreground", children: formatPrice(currentPrice, { currency: resolvedCurrency, locale: resolvedLocale }) }), comparePrice && comparePrice > currentPrice && (_jsxs(_Fragment, { children: [_jsx("span", { className: "text-lg text-muted-foreground line-through", children: formatPrice(comparePrice, { currency: resolvedCurrency, locale: resolvedLocale }) }), discountPercent && (_jsx("span", { className: "rounded-full bg-destructive px-2 py-0.5 text-sm font-medium text-destructive-foreground", children: t('product.savePercent', { percent: String(discountPercent) }) }))] }))] }), showStock && currentStock >= 0 && (_jsx("div", { className: "mt-3", children: isOutOfStock ? (_jsx("span", { className: "text-sm font-medium text-destructive", children: t('product.outOfStock') })) : isLowStock ? (_jsx("span", { className: "text-sm font-medium text-warning", children: t('product.onlyLeftInStock', { count: String(currentStock) }) })) : (_jsx("span", { className: "text-sm text-muted-foreground", children: t('product.inStockAvailable', { count: String(currentStock) }) })) })), _jsxs("div", { className: "mt-6", children: [_jsx("h2", { className: "sr-only", children: t('product.description') }), _jsx("p", { className: "text-base whitespace-pre-line text-muted-foreground", children: product.description })] }), children, requiresVariant && (_jsx("div", { className: "mt-6", children: _jsx(VariantSelector, { variants: variants, selected: selectedVariant, onSelect: setSelectedVariant, labels: variantLabels, disableOutOfStock: true }) })), showQuantity && (_jsxs("div", { className: "mt-6", children: [_jsx("label", { className: "mb-2 block text-sm font-medium text-foreground", children: t('cart.quantity') }), _jsxs("div", { className: "flex w-32 items-center rounded-md border border-border", children: [_jsx("button", { type: "button", onClick: () => handleQuantityChange(quantity - 1), disabled: quantity <= 1, className: "flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", children: _jsx(Minus, { className: "h-4 w-4" }) }), _jsx("input", { type: "number", value: quantity, onChange: (e) => {
|
|
123
127
|
const val = e.target.value;
|
|
124
128
|
if (val === '')
|
|
125
129
|
return; // Allow empty during typing
|
|
@@ -127,11 +131,11 @@ export function ProductDetails({ product, variants = [], className, currency, lo
|
|
|
127
131
|
}, className: "h-10 w-full border-0 bg-transparent text-center text-sm focus:outline-none [appearance:textfield] [&::-webkit-inner-spin-button]:appearance-none [&::-webkit-outer-spin-button]:appearance-none", min: 1, max: currentStock > 0 ? Math.min(currentStock, maxQuantity) : maxQuantity }), _jsx("button", { type: "button", onClick: () => handleQuantityChange(quantity + 1), disabled: currentStock > 0 ? quantity >= currentStock : quantity >= maxQuantity, className: "flex h-10 w-10 items-center justify-center text-muted-foreground transition-colors hover:text-foreground disabled:cursor-not-allowed disabled:opacity-50", children: _jsx(Plus, { className: "h-4 w-4" }) })] })] })), _jsxs("div", { className: "mt-8 flex flex-col gap-3 sm:flex-row", children: [_jsx("button", { type: "button", onClick: handleAddToCart, disabled: !canAddToCart || isOutOfStock, className: cn('flex-1 rounded-md px-6 py-3 text-base font-medium transition-colors', canAddToCart && !isOutOfStock
|
|
128
132
|
? 'bg-primary text-primary-foreground hover:bg-primary/90'
|
|
129
133
|
: 'cursor-not-allowed bg-muted text-muted-foreground'), children: isOutOfStock
|
|
130
|
-
? '
|
|
134
|
+
? t('product.outOfStock')
|
|
131
135
|
: !canAddToCart
|
|
132
|
-
? '
|
|
133
|
-
: addToCartContent || '
|
|
136
|
+
? t('product.selectOptions')
|
|
137
|
+
: addToCartContent || t('cart.addToCart') }), showBuyNow && (_jsx("button", { type: "button", onClick: handleBuyNow, disabled: !canAddToCart || isOutOfStock, className: cn('flex-1 rounded-md border px-6 py-3 text-base font-medium transition-colors', canAddToCart && !isOutOfStock
|
|
134
138
|
? 'border-primary text-primary hover:bg-primary hover:text-primary-foreground'
|
|
135
|
-
: 'cursor-not-allowed border-muted text-muted-foreground'), children: buyNowContent || '
|
|
139
|
+
: 'cursor-not-allowed border-muted text-muted-foreground'), children: buyNowContent || t('product.buyNow') }))] }), requiresVariant && !selectedVariant && (_jsx("p", { className: "mt-3 text-sm text-muted-foreground", children: t('product.selectOptionsHint') }))] })] }));
|
|
136
140
|
}
|
|
137
141
|
//# sourceMappingURL=ProductDetails.js.map
|