storefront-layouts 1.0.0 → 1.0.3
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
CHANGED
|
@@ -2,9 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
A comprehensive package of shared layout components, utilities, and services for Storefront applications. This package contains all layout components, UI components, hooks, contexts, and utility functions used across Payaza Storefront applications.
|
|
4
4
|
|
|
5
|
-
**This is the
|
|
6
|
-
|
|
7
|
-
> An unrelated `payaza-storefront-layouts` package previously existed on npm, published from an account that wasn't authorized to represent this project. It is not affiliated with this repo - use `storefront-layouts` above.
|
|
5
|
+
**This is the staging package** - built from the `development` branch and wired to Payaza's staging checkout SDK. Do not use it in production; use [`storefront-layouts`](https://www.npmjs.com/package/storefront-layouts) (built from `main`) instead. See [Releasing](#releasing) below for how the two relate.
|
|
8
6
|
|
|
9
7
|
## Overview
|
|
10
8
|
|
|
@@ -533,7 +531,7 @@ Layouts are designed to work with dynamic data:
|
|
|
533
531
|
## Releasing
|
|
534
532
|
|
|
535
533
|
- **Staging**: every push to `development` publishes a new `storefront-layouts-staging` prerelease automatically - no manual steps.
|
|
536
|
-
- **Production**:
|
|
534
|
+
- **Production**: every merge into `main` publishes a new patch version of `storefront-layouts` (`latest` tag) automatically - no manual version edits, changesets, or `npm publish` needed. The workflow reads the version currently on npm, bumps it by one patch, and publishes that. If you need a minor or major bump instead, run `npm version minor|major` on `main` yourself right after a merge - the next automated run will patch forward from whatever it finds published.
|
|
537
535
|
|
|
538
536
|
Check current published versions with `npm view storefront-layouts dist-tags` / `npm view storefront-layouts-staging dist-tags`.
|
|
539
537
|
|
|
@@ -328,7 +328,7 @@ export function FoodHomePage({ storeConfig: initialConfig }) {
|
|
|
328
328
|
{ title: "We Cook It Fresh", description: "Our expert chefs prepare your order using the finest, freshest ingredients.", icon: "ChefHat" },
|
|
329
329
|
{ title: "Fast Delivery", description: "Receive your hot and delicious meal at your doorstep in record time.", icon: "Truck" }
|
|
330
330
|
];
|
|
331
|
-
const steps = layoutConfig?.sections?.process?.steps || defaultSteps;
|
|
331
|
+
const steps = (layoutConfig?.sections?.process?.steps || defaultSteps).filter(Boolean);
|
|
332
332
|
return steps.map((step, idx) => {
|
|
333
333
|
return (_jsxs("div", { className: "flex flex-col items-center text-center group", children: [_jsxs("div", { className: "w-32 h-32 rounded-[2rem] bg-white flex items-center justify-center mb-8 shadow-[0_20px_50px_rgba(0,0,0,0.05)] group-hover:shadow-[0_20px_50px_rgba(249,115,22,0.15)] group-hover:-translate-y-2 transition-all duration-500 relative z-10 border border-gray-100", children: [_jsx("div", { className: "p-4 bg-orange-50 rounded-2xl group-hover:bg-orange-100 transition-colors duration-500", ...payazaIconBindingProps(!!isPreview, 'process', ['steps', String(idx), 'icon']), children: _jsx(DynamicIcon, { name: step.icon || 'Utensils', className: "h-10 w-10 text-orange-500 group-hover:scale-110 transition-transform duration-500" }) }), _jsx("div", { className: "absolute -top-3 -right-3 w-8 h-8 bg-orange-500 rounded-full flex items-center justify-center text-white font-bold text-sm shadow-lg", children: idx + 1 })] }), _jsx("h3", { className: "text-2xl font-bold text-gray-900 mb-4", "data-payaza-edit": payaza('process', ['steps', String(idx), 'title']), children: step.title }), _jsx("p", { className: "text-gray-500 leading-relaxed max-w-xs font-medium", "data-payaza-edit": payaza('process', ['steps', String(idx), 'description']), children: step.description })] }, idx));
|
|
334
334
|
});
|
|
@@ -377,7 +377,7 @@ export function FoodHomePage({ storeConfig: initialConfig }) {
|
|
|
377
377
|
{ title: "Quick Confirmation", description: "Instant booking confirmation", icon: "Clock" },
|
|
378
378
|
{ title: "Special Occasions", description: "Perfect for celebrations", icon: "Award" }
|
|
379
379
|
];
|
|
380
|
-
const features = layoutConfig?.sections?.reservation?.features || defaultFeatures;
|
|
380
|
+
const features = (layoutConfig?.sections?.reservation?.features || defaultFeatures).filter(Boolean);
|
|
381
381
|
if (layoutConfig?.sections?.reservation?.showFeatures === false)
|
|
382
382
|
return null;
|
|
383
383
|
return features.map((feature, idx) => {
|