storefront-layouts 1.0.9 → 1.0.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (108) hide show
  1. package/dist/components/shipping/ProductDeliveryInfoSection.d.ts.map +1 -1
  2. package/dist/components/shipping/ProductDeliveryInfoSection.js +10 -3
  3. package/dist/components/ui/address-selector.d.ts.map +1 -1
  4. package/dist/components/ui/address-selector.js +4 -3
  5. package/dist/components/ui/button.js +1 -1
  6. package/dist/components/ui/checkout-button.d.ts.map +1 -1
  7. package/dist/components/ui/checkout-button.js +2 -1
  8. package/dist/components/ui/product-card.d.ts.map +1 -1
  9. package/dist/components/ui/product-card.js +15 -4
  10. package/dist/components/ui/route-skeleton-loader.d.ts.map +1 -1
  11. package/dist/components/ui/route-skeleton-loader.js +6 -2
  12. package/dist/components/ui/sheet.d.ts.map +1 -1
  13. package/dist/components/ui/sheet.js +2 -2
  14. package/dist/components/ui/skeletons/checkout-skeleton.js +1 -1
  15. package/dist/editor/blocks/defaults/clothing-minimal-home.js +1 -1
  16. package/dist/editor/blocks/migrate-clothing-minimal.js +1 -1
  17. package/dist/hooks/use-pdp-variation.d.ts +57 -0
  18. package/dist/hooks/use-pdp-variation.d.ts.map +1 -0
  19. package/dist/hooks/use-pdp-variation.js +69 -0
  20. package/dist/hooks/use-product-by-slug.d.ts.map +1 -1
  21. package/dist/hooks/use-product-by-slug.js +0 -5
  22. package/dist/hooks/use-product-variation-selection.js +1 -1
  23. package/dist/hooks/use-shipping-quote.d.ts +1 -0
  24. package/dist/hooks/use-shipping-quote.d.ts.map +1 -1
  25. package/dist/hooks/use-shipping-quote.js +3 -0
  26. package/dist/layouts/booking/pages/ProductDetailPage.d.ts.map +1 -1
  27. package/dist/layouts/booking/pages/ProductDetailPage.js +130 -223
  28. package/dist/layouts/booking-agenda/pages/ProductDetailPage.d.ts.map +1 -1
  29. package/dist/layouts/booking-agenda/pages/ProductDetailPage.js +130 -223
  30. package/dist/layouts/clothing/components/ClothingHomePage.d.ts.map +1 -1
  31. package/dist/layouts/clothing/components/ClothingHomePage.js +40 -2
  32. package/dist/layouts/clothing/pages/ProductDetailPage.d.ts.map +1 -1
  33. package/dist/layouts/clothing/pages/ProductDetailPage.js +127 -209
  34. package/dist/layouts/clothing/pages/ProductsPage.d.ts.map +1 -1
  35. package/dist/layouts/clothing/pages/ProductsPage.js +2 -5
  36. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.d.ts.map +1 -1
  37. package/dist/layouts/clothing-minimal/components/ClothingHomePageMinimal.js +5 -3
  38. package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.d.ts.map +1 -1
  39. package/dist/layouts/clothing-minimal/components/clothing-minimal-block-render.js +13 -4
  40. package/dist/layouts/clothing-minimal/pages/ProductDetailPage.d.ts.map +1 -1
  41. package/dist/layouts/clothing-minimal/pages/ProductDetailPage.js +130 -223
  42. package/dist/layouts/clothing-minimal/pages/ProductsPage.d.ts.map +1 -1
  43. package/dist/layouts/clothing-minimal/pages/ProductsPage.js +2 -5
  44. package/dist/layouts/electronics/components/ElectronicsGridProductCard.js +1 -1
  45. package/dist/layouts/electronics/components/ElectronicsStoreHeader.d.ts.map +1 -1
  46. package/dist/layouts/electronics/components/ElectronicsStoreHeader.js +10 -9
  47. package/dist/layouts/electronics/pages/ProductDetailPage.d.ts.map +1 -1
  48. package/dist/layouts/electronics/pages/ProductDetailPage.js +130 -223
  49. package/dist/layouts/electronics/pages/ProductsPage.d.ts.map +1 -1
  50. package/dist/layouts/electronics/pages/ProductsPage.js +2 -5
  51. package/dist/layouts/electronics-grid/components/ElectronicsGridProductCard.js +1 -1
  52. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.d.ts.map +1 -1
  53. package/dist/layouts/electronics-grid/components/ElectronicsHomePageGrid.js +4 -5
  54. package/dist/layouts/electronics-grid/pages/ProductDetailPage.d.ts.map +1 -1
  55. package/dist/layouts/electronics-grid/pages/ProductDetailPage.js +130 -223
  56. package/dist/layouts/electronics-grid/pages/ProductsPage.d.ts.map +1 -1
  57. package/dist/layouts/electronics-grid/pages/ProductsPage.js +2 -5
  58. package/dist/layouts/food/pages/MenuPage.js +1 -1
  59. package/dist/layouts/food/pages/ProductDetailPage.d.ts.map +1 -1
  60. package/dist/layouts/food/pages/ProductDetailPage.js +37 -140
  61. package/dist/layouts/food/pages/ProductsPage.d.ts.map +1 -1
  62. package/dist/layouts/food/pages/ProductsPage.js +2 -5
  63. package/dist/layouts/food-modern/pages/MenuPage.js +1 -1
  64. package/dist/layouts/food-modern/pages/ProductDetailPage.d.ts.map +1 -1
  65. package/dist/layouts/food-modern/pages/ProductDetailPage.js +130 -223
  66. package/dist/layouts/food-modern/pages/ProductsPage.d.ts.map +1 -1
  67. package/dist/layouts/food-modern/pages/ProductsPage.js +2 -5
  68. package/dist/layouts/motivational-speaker/pages/ProductsPage.d.ts.map +1 -1
  69. package/dist/layouts/motivational-speaker/pages/ProductsPage.js +2 -5
  70. package/dist/layouts/shared/components/PdpColorSwatch.d.ts +11 -0
  71. package/dist/layouts/shared/components/PdpColorSwatch.d.ts.map +1 -0
  72. package/dist/layouts/shared/components/PdpColorSwatch.js +29 -0
  73. package/dist/layouts/shared/components/PdpVariationSelectors.d.ts +13 -0
  74. package/dist/layouts/shared/components/PdpVariationSelectors.d.ts.map +1 -0
  75. package/dist/layouts/shared/components/PdpVariationSelectors.js +65 -0
  76. package/dist/layouts/shared/components/StoreCartSheet.d.ts +8 -0
  77. package/dist/layouts/shared/components/StoreCartSheet.d.ts.map +1 -0
  78. package/dist/layouts/shared/components/StoreCartSheet.js +16 -0
  79. package/dist/layouts/shared/components/StoreHeader.d.ts.map +1 -1
  80. package/dist/layouts/shared/components/StoreHeader.js +13 -12
  81. package/dist/layouts/shared/components/headers/ClothingMinimalHeader.d.ts.map +1 -1
  82. package/dist/layouts/shared/components/headers/ClothingMinimalHeader.js +5 -7
  83. package/dist/layouts/shared/pages/CartPage.d.ts.map +1 -1
  84. package/dist/layouts/shared/pages/CartPage.js +6 -5
  85. package/dist/layouts/shared/pages/CheckoutPage.d.ts.map +1 -1
  86. package/dist/layouts/shared/pages/CheckoutPage.js +209 -107
  87. package/dist/layouts/shared/product-category-filter-chip.d.ts +2 -0
  88. package/dist/layouts/shared/product-category-filter-chip.d.ts.map +1 -0
  89. package/dist/layouts/shared/product-category-filter-chip.js +6 -0
  90. package/dist/lib/pdp-cart-actions.d.ts +5 -0
  91. package/dist/lib/pdp-cart-actions.d.ts.map +1 -0
  92. package/dist/lib/pdp-cart-actions.js +19 -0
  93. package/dist/lib/product-variation-utils.d.ts +17 -0
  94. package/dist/lib/product-variation-utils.d.ts.map +1 -1
  95. package/dist/lib/product-variation-utils.js +193 -14
  96. package/dist/lib/services/checkout.service.d.ts +11 -0
  97. package/dist/lib/services/checkout.service.d.ts.map +1 -1
  98. package/dist/lib/services/shipping.service.d.ts +3 -0
  99. package/dist/lib/services/shipping.service.d.ts.map +1 -1
  100. package/dist/lib/store-config-utils.d.ts.map +1 -1
  101. package/dist/lib/store-config-utils.js +104 -11
  102. package/dist/lib/store-context.d.ts.map +1 -1
  103. package/dist/lib/store-context.js +23 -8
  104. package/dist/lib/utils/asset-helpers.d.ts +2 -0
  105. package/dist/lib/utils/asset-helpers.d.ts.map +1 -1
  106. package/dist/lib/utils/asset-helpers.js +24 -0
  107. package/dist/styles/index.css +143 -45
  108. package/package.json +8 -2
@@ -1 +1 @@
1
- {"version":3,"file":"asset-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/asset-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,CAAC;AAWxB;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAuClE;AAUD;;;;;;GAMG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,CAsBR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,aAAa,EAAE,MAAM,EACrB,gBAAgB,EAAE,MAAM,EAAE,GACzB,MAAM,EAAE,CA2DV;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAuBR;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CA8DR;AAED;;;;;;;;GAQG;AACH,wBAAgB,kBAAkB,CAChC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,UAAU,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrC,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,MAAM,GAClB,MAAM,CAuCR;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EACvC,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,WAAW,EAAE,MAAM,GAClB,MAAM,CAcR;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,MAAM,GACnB,MAAM,CAyDR;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,GACnB,MAAM,CA+BR;AAED;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,GAC1C,MAAM,GAAG,IAAI,CAoBf;AAED;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAC3B,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,gBAAgB,EACrF,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,GACf,MAAM,CAgDR;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC7D,WAAW,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS,EAC3C,QAAQ,EAAE;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG;QAAE,QAAQ,EAAE,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,QAAQ,GAAG,gBAAgB,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE;CAAE,GACrJ,CAAC,CAWH"}
1
+ {"version":3,"file":"asset-helpers.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/asset-helpers.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,29 @@
1
+ import { richFieldHasContent, richFieldPlainTextForDisplay } from '../rich-html';
1
2
  import { shouldUseAPI } from './demo-detection';
2
3
  export { shouldUseAPI };
4
+ const TEMPLATE_HERO_BADGE_PLACEHOLDERS = new Set(['new collection 2024', 'new collection']);
5
+ /** Hero badge for clothing-minimal: no template placeholder on live stores. */
6
+ export function resolveClothingMinimalHeroBadge(storeConfig) {
7
+ if (!storeConfig)
8
+ return null;
9
+ const layoutConfig = storeConfig.layoutConfig;
10
+ if (layoutConfig?.sections?.hero?.showBadges === false)
11
+ return null;
12
+ const candidates = [
13
+ layoutConfig?.sections?.hero?.badge,
14
+ layoutConfig?.text?.hero?.badge,
15
+ getTextContent(storeConfig, 'hero_badge', ''),
16
+ ];
17
+ for (const candidate of candidates) {
18
+ if (!richFieldHasContent(candidate))
19
+ continue;
20
+ const plain = richFieldPlainTextForDisplay(candidate, '').trim();
21
+ if (TEMPLATE_HERO_BADGE_PLACEHOLDERS.has(plain.toLowerCase()))
22
+ continue;
23
+ return candidate;
24
+ }
25
+ return null;
26
+ }
3
27
  function normalizeAssetUrl(url) {
4
28
  if (typeof url !== 'string')
5
29
  return null;
@@ -55,6 +55,9 @@
55
55
  --color-green-700: oklch(52.7% 0.154 150.069);
56
56
  --color-green-800: oklch(44.8% 0.119 151.328);
57
57
  --color-green-900: oklch(39.3% 0.095 152.535);
58
+ --color-emerald-50: oklch(97.9% 0.021 166.113);
59
+ --color-emerald-600: oklch(59.6% 0.145 163.225);
60
+ --color-emerald-700: oklch(50.8% 0.118 165.612);
58
61
  --color-teal-700: oklch(51.1% 0.096 186.391);
59
62
  --color-cyan-400: oklch(78.9% 0.154 211.53);
60
63
  --color-cyan-500: oklch(71.5% 0.143 215.221);
@@ -165,7 +168,6 @@
165
168
  --leading-relaxed: 1.625;
166
169
  --radius-2xl: 1rem;
167
170
  --radius-3xl: 1.5rem;
168
- --drop-shadow-sm: 0 1px 2px rgb(0 0 0 / 0.15);
169
171
  --drop-shadow-md: 0 3px 3px rgb(0 0 0 / 0.12);
170
172
  --drop-shadow-lg: 0 4px 4px rgb(0 0 0 / 0.15);
171
173
  --drop-shadow-2xl: 0 25px 25px rgb(0 0 0 / 0.15);
@@ -502,9 +504,6 @@
502
504
  .top-\[100px\] {
503
505
  top: 100px;
504
506
  }
505
- .top-\[500px\] {
506
- top: 500px;
507
- }
508
507
  .top-\[max\(1rem\,env\(safe-area-inset-top\)\)\] {
509
508
  top: max(1rem, env(safe-area-inset-top));
510
509
  }
@@ -547,6 +546,9 @@
547
546
  .right-3 {
548
547
  right: calc(var(--spacing) * 3);
549
548
  }
549
+ .right-3\.5 {
550
+ right: calc(var(--spacing) * 3.5);
551
+ }
550
552
  .right-4 {
551
553
  right: calc(var(--spacing) * 4);
552
554
  }
@@ -796,6 +798,9 @@
796
798
  max-width: 96rem;
797
799
  }
798
800
  }
801
+ .m-0 {
802
+ margin: 0px;
803
+ }
799
804
  .m-3 {
800
805
  margin: calc(var(--spacing) * 3);
801
806
  }
@@ -1114,6 +1119,9 @@
1114
1119
  width: calc(var(--spacing) * 10);
1115
1120
  height: calc(var(--spacing) * 10);
1116
1121
  }
1122
+ .h-0 {
1123
+ height: 0px;
1124
+ }
1117
1125
  .h-0\.5 {
1118
1126
  height: calc(var(--spacing) * 0.5);
1119
1127
  }
@@ -1315,8 +1323,8 @@
1315
1323
  .max-h-\[280px\] {
1316
1324
  max-height: 280px;
1317
1325
  }
1318
- .max-h-\[400px\] {
1319
- max-height: 400px;
1326
+ .max-h-\[360px\] {
1327
+ max-height: 360px;
1320
1328
  }
1321
1329
  .max-h-\[calc\(100vh-8rem\)\] {
1322
1330
  max-height: calc(100vh - 8rem);
@@ -1522,6 +1530,9 @@
1522
1530
  .w-\[2px\] {
1523
1531
  width: 2px;
1524
1532
  }
1533
+ .w-\[4\.5rem\] {
1534
+ width: 4.5rem;
1535
+ }
1525
1536
  .w-\[8\.5rem\] {
1526
1537
  width: 8.5rem;
1527
1538
  }
@@ -1639,6 +1650,9 @@
1639
1650
  .max-w-\[1600px\] {
1640
1651
  max-width: 1600px;
1641
1652
  }
1653
+ .max-w-\[min\(28rem\,100dvw\)\] {
1654
+ max-width: min(28rem, 100dvw);
1655
+ }
1642
1656
  .max-w-\[min\(40vw\,160px\)\] {
1643
1657
  max-width: min(40vw, 160px);
1644
1658
  }
@@ -2025,6 +2039,9 @@
2025
2039
  .grid-cols-7 {
2026
2040
  grid-template-columns: repeat(7, minmax(0, 1fr));
2027
2041
  }
2042
+ .grid-cols-\[2\.5rem_1fr\] {
2043
+ grid-template-columns: 2.5rem 1fr;
2044
+ }
2028
2045
  .grid-rows-\[auto_auto\] {
2029
2046
  grid-template-rows: auto auto;
2030
2047
  }
@@ -2219,6 +2236,9 @@
2219
2236
  .gap-y-1 {
2220
2237
  row-gap: var(--spacing);
2221
2238
  }
2239
+ .gap-y-2 {
2240
+ row-gap: calc(var(--spacing) * 2);
2241
+ }
2222
2242
  .gap-y-3 {
2223
2243
  row-gap: calc(var(--spacing) * 3);
2224
2244
  }
@@ -2350,9 +2370,6 @@
2350
2370
  border-top-right-radius: var(--radius);
2351
2371
  border-bottom-right-radius: var(--radius);
2352
2372
  }
2353
- .rounded-bl-lg {
2354
- border-bottom-left-radius: var(--radius);
2355
- }
2356
2373
  .border {
2357
2374
  border-style: var(--tw-border-style);
2358
2375
  border-width: 1px;
@@ -2389,6 +2406,10 @@
2389
2406
  border-style: var(--tw-border-style);
2390
2407
  border-width: 20px;
2391
2408
  }
2409
+ .border-x-\[5px\] {
2410
+ border-inline-style: var(--tw-border-style);
2411
+ border-inline-width: 5px;
2412
+ }
2392
2413
  .border-y {
2393
2414
  border-block-style: var(--tw-border-style);
2394
2415
  border-block-width: 1px;
@@ -2405,6 +2426,10 @@
2405
2426
  border-top-style: var(--tw-border-style);
2406
2427
  border-top-width: 4px;
2407
2428
  }
2429
+ .border-t-\[6px\] {
2430
+ border-top-style: var(--tw-border-style);
2431
+ border-top-width: 6px;
2432
+ }
2408
2433
  .border-r {
2409
2434
  border-right-style: var(--tw-border-style);
2410
2435
  border-right-width: 1px;
@@ -2503,9 +2528,15 @@
2503
2528
  .border-\[\#C5A059\]\/40 {
2504
2529
  border-color: color-mix(in oklab, #C5A059 40%, transparent);
2505
2530
  }
2531
+ .border-\[\#E4E7E9\] {
2532
+ border-color: #E4E7E9;
2533
+ }
2506
2534
  .border-\[\#F7F5F0\] {
2507
2535
  border-color: #F7F5F0;
2508
2536
  }
2537
+ .border-\[\#FA8232\] {
2538
+ border-color: #FA8232;
2539
+ }
2509
2540
  .border-\[\#c3c4c7\] {
2510
2541
  border-color: #c3c4c7;
2511
2542
  }
@@ -2629,6 +2660,12 @@
2629
2660
  border-color: color-mix(in oklab, var(--color-gray-200) 50%, transparent);
2630
2661
  }
2631
2662
  }
2663
+ .border-gray-200\/90 {
2664
+ border-color: color-mix(in srgb, oklch(92.8% 0.006 264.531) 90%, transparent);
2665
+ @supports (color: color-mix(in lab, red, red)) {
2666
+ border-color: color-mix(in oklab, var(--color-gray-200) 90%, transparent);
2667
+ }
2668
+ }
2632
2669
  .border-gray-300 {
2633
2670
  border-color: var(--color-gray-300);
2634
2671
  }
@@ -2827,14 +2864,17 @@
2827
2864
  .border-yellow-500 {
2828
2865
  border-color: var(--color-yellow-500);
2829
2866
  }
2867
+ .border-x-transparent {
2868
+ border-inline-color: transparent;
2869
+ }
2830
2870
  .border-t-\[\#6b7280\] {
2831
2871
  border-top-color: #6b7280;
2832
2872
  }
2833
2873
  .border-t-\[\#440066\] {
2834
2874
  border-top-color: #440066;
2835
2875
  }
2836
- .border-t-black {
2837
- border-top-color: var(--color-black);
2876
+ .border-t-\[\#ADB7BC\] {
2877
+ border-top-color: #ADB7BC;
2838
2878
  }
2839
2879
  .border-t-blue-600 {
2840
2880
  border-top-color: var(--color-blue-600);
@@ -3154,6 +3194,9 @@
3154
3194
  .bg-destructive {
3155
3195
  background-color: var(--destructive);
3156
3196
  }
3197
+ .bg-emerald-50 {
3198
+ background-color: var(--color-emerald-50);
3199
+ }
3157
3200
  .bg-gray-50 {
3158
3201
  background-color: var(--color-gray-50);
3159
3202
  }
@@ -3178,12 +3221,6 @@
3178
3221
  .bg-gray-100 {
3179
3222
  background-color: var(--color-gray-100);
3180
3223
  }
3181
- .bg-gray-100\/50 {
3182
- background-color: color-mix(in srgb, oklch(96.7% 0.003 264.542) 50%, transparent);
3183
- @supports (color: color-mix(in lab, red, red)) {
3184
- background-color: color-mix(in oklab, var(--color-gray-100) 50%, transparent);
3185
- }
3186
- }
3187
3224
  .bg-gray-200 {
3188
3225
  background-color: var(--color-gray-200);
3189
3226
  }
@@ -3274,6 +3311,12 @@
3274
3311
  background-color: color-mix(in oklab, var(--color-red-50) 30%, transparent);
3275
3312
  }
3276
3313
  }
3314
+ .bg-red-50\/40 {
3315
+ background-color: color-mix(in srgb, oklch(97.1% 0.013 17.38) 40%, transparent);
3316
+ @supports (color: color-mix(in lab, red, red)) {
3317
+ background-color: color-mix(in oklab, var(--color-red-50) 40%, transparent);
3318
+ }
3319
+ }
3277
3320
  .bg-red-50\/50 {
3278
3321
  background-color: color-mix(in srgb, oklch(97.1% 0.013 17.38) 50%, transparent);
3279
3322
  @supports (color: color-mix(in lab, red, red)) {
@@ -3454,9 +3497,6 @@
3454
3497
  .bg-yellow-100 {
3455
3498
  background-color: var(--color-yellow-100);
3456
3499
  }
3457
- .bg-yellow-400 {
3458
- background-color: var(--color-yellow-400);
3459
- }
3460
3500
  .bg-yellow-500 {
3461
3501
  background-color: var(--color-yellow-500);
3462
3502
  }
@@ -4032,6 +4072,9 @@
4032
4072
  .p-3 {
4033
4073
  padding: calc(var(--spacing) * 3);
4034
4074
  }
4075
+ .p-3\.5 {
4076
+ padding: calc(var(--spacing) * 3.5);
4077
+ }
4035
4078
  .p-4 {
4036
4079
  padding: calc(var(--spacing) * 4);
4037
4080
  }
@@ -4056,6 +4099,9 @@
4056
4099
  .p-20 {
4057
4100
  padding: calc(var(--spacing) * 20);
4058
4101
  }
4102
+ .\!px-0 {
4103
+ padding-inline: 0px !important;
4104
+ }
4059
4105
  .px-0 {
4060
4106
  padding-inline: 0px;
4061
4107
  }
@@ -4176,6 +4222,9 @@
4176
4222
  .pt-4 {
4177
4223
  padding-top: calc(var(--spacing) * 4);
4178
4224
  }
4225
+ .pt-5 {
4226
+ padding-top: calc(var(--spacing) * 5);
4227
+ }
4179
4228
  .pt-6 {
4180
4229
  padding-top: calc(var(--spacing) * 6);
4181
4230
  }
@@ -4230,6 +4279,9 @@
4230
4279
  .pr-10 {
4231
4280
  padding-right: calc(var(--spacing) * 10);
4232
4281
  }
4282
+ .pr-11 {
4283
+ padding-right: calc(var(--spacing) * 11);
4284
+ }
4233
4285
  .pr-12 {
4234
4286
  padding-right: calc(var(--spacing) * 12);
4235
4287
  }
@@ -4239,6 +4291,9 @@
4239
4291
  .pr-24 {
4240
4292
  padding-right: calc(var(--spacing) * 24);
4241
4293
  }
4294
+ .\!pb-0 {
4295
+ padding-bottom: 0px !important;
4296
+ }
4242
4297
  .pb-1 {
4243
4298
  padding-bottom: var(--spacing);
4244
4299
  }
@@ -4407,6 +4462,10 @@
4407
4462
  .text-\[13px\] {
4408
4463
  font-size: 13px;
4409
4464
  }
4465
+ .leading-5 {
4466
+ --tw-leading: calc(var(--spacing) * 5);
4467
+ line-height: calc(var(--spacing) * 5);
4468
+ }
4410
4469
  .leading-\[0\.9\] {
4411
4470
  --tw-leading: 0.9;
4412
4471
  line-height: 0.9;
@@ -4611,6 +4670,9 @@
4611
4670
  .text-\[\#85E327\] {
4612
4671
  color: #85E327;
4613
4672
  }
4673
+ .text-\[\#191C1F\] {
4674
+ color: #191C1F;
4675
+ }
4614
4676
  .text-\[\#787c82\] {
4615
4677
  color: #787c82;
4616
4678
  }
@@ -4626,6 +4688,9 @@
4626
4688
  .text-\[\#440066\] {
4627
4689
  color: #440066;
4628
4690
  }
4691
+ .text-\[\#475156\] {
4692
+ color: #475156;
4693
+ }
4629
4694
  .text-\[\#646970\] {
4630
4695
  color: #646970;
4631
4696
  }
@@ -4722,6 +4787,12 @@
4722
4787
  .text-current {
4723
4788
  color: currentcolor;
4724
4789
  }
4790
+ .text-emerald-600 {
4791
+ color: var(--color-emerald-600);
4792
+ }
4793
+ .text-emerald-700 {
4794
+ color: var(--color-emerald-700);
4795
+ }
4725
4796
  .text-foreground {
4726
4797
  color: var(--foreground);
4727
4798
  }
@@ -4767,9 +4838,6 @@
4767
4838
  .text-green-800 {
4768
4839
  color: var(--color-green-800);
4769
4840
  }
4770
- .text-green-900 {
4771
- color: var(--color-green-900);
4772
- }
4773
4841
  .text-muted-foreground {
4774
4842
  color: var(--muted-foreground);
4775
4843
  }
@@ -4975,6 +5043,9 @@
4975
5043
  .decoration-1 {
4976
5044
  text-decoration-thickness: 1px;
4977
5045
  }
5046
+ .decoration-2 {
5047
+ text-decoration-thickness: 2px;
5048
+ }
4978
5049
  .underline-offset-2 {
4979
5050
  text-underline-offset: 2px;
4980
5051
  }
@@ -5024,6 +5095,9 @@
5024
5095
  .opacity-30 {
5025
5096
  opacity: 30%;
5026
5097
  }
5098
+ .opacity-35 {
5099
+ opacity: 35%;
5100
+ }
5027
5101
  .opacity-40 {
5028
5102
  opacity: 40%;
5029
5103
  }
@@ -5279,12 +5353,6 @@
5279
5353
  --tw-shadow-color: color-mix(in oklab, var(--color-gray-200) var(--tw-shadow-alpha), transparent);
5280
5354
  }
5281
5355
  }
5282
- .shadow-gray-200\/50 {
5283
- --tw-shadow-color: color-mix(in srgb, oklch(92.8% 0.006 264.531) 50%, transparent);
5284
- @supports (color: color-mix(in lab, red, red)) {
5285
- --tw-shadow-color: color-mix(in oklab, color-mix(in oklab, var(--color-gray-200) 50%, transparent) var(--tw-shadow-alpha), transparent);
5286
- }
5287
- }
5288
5356
  .shadow-green-100 {
5289
5357
  --tw-shadow-color: oklch(96.2% 0.044 156.743);
5290
5358
  @supports (color: color-mix(in lab, red, red)) {
@@ -5478,11 +5546,6 @@
5478
5546
  --tw-drop-shadow: drop-shadow(var(--drop-shadow-md));
5479
5547
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
5480
5548
  }
5481
- .drop-shadow-sm {
5482
- --tw-drop-shadow-size: drop-shadow(0 1px 2px var(--tw-drop-shadow-color, rgb(0 0 0 / 0.15)));
5483
- --tw-drop-shadow: drop-shadow(var(--drop-shadow-sm));
5484
- filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
5485
- }
5486
5549
  .grayscale {
5487
5550
  --tw-grayscale: grayscale(100%);
5488
5551
  filter: var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,);
@@ -5727,6 +5790,10 @@
5727
5790
  .group-hover\:w-full:is(:where(.group):hover *) {
5728
5791
  width: 100%;
5729
5792
  }
5793
+ .group-hover\:-translate-x-0\.5:is(:where(.group):hover *) {
5794
+ --tw-translate-x: calc(var(--spacing) * -0.5);
5795
+ translate: var(--tw-translate-x) var(--tw-translate-y);
5796
+ }
5730
5797
  .group-hover\:translate-x-0:is(:where(.group):hover *) {
5731
5798
  --tw-translate-x: 0px;
5732
5799
  translate: var(--tw-translate-x) var(--tw-translate-y);
@@ -5827,9 +5894,6 @@
5827
5894
  background-color: color-mix(in oklab, var(--color-black) 10%, transparent);
5828
5895
  }
5829
5896
  }
5830
- .group-hover\:bg-blue-100:is(:where(.group):hover *) {
5831
- background-color: var(--color-blue-100);
5832
- }
5833
5897
  .group-hover\:bg-gray-100:is(:where(.group):hover *) {
5834
5898
  background-color: var(--color-gray-100);
5835
5899
  }
@@ -6059,9 +6123,6 @@
6059
6123
  .placeholder\:text-muted-foreground::placeholder {
6060
6124
  color: var(--muted-foreground);
6061
6125
  }
6062
- .placeholder\:normal-case::placeholder {
6063
- text-transform: none;
6064
- }
6065
6126
  .before\:absolute::before {
6066
6127
  content: var(--tw-content);
6067
6128
  position: absolute;
@@ -6193,6 +6254,9 @@
6193
6254
  .hover\:border-\[\#440066\]\/35:hover {
6194
6255
  border-color: color-mix(in oklab, #440066 35%, transparent);
6195
6256
  }
6257
+ .hover\:border-\[\#E4E7E9\]:hover {
6258
+ border-color: #E4E7E9;
6259
+ }
6196
6260
  .hover\:border-\[\#d2d9e3\]:hover {
6197
6261
  border-color: #d2d9e3;
6198
6262
  }
@@ -6315,6 +6379,9 @@
6315
6379
  .hover\:bg-\[\#220033\]:hover {
6316
6380
  background-color: #220033;
6317
6381
  }
6382
+ .hover\:bg-\[\#333333\]:hover {
6383
+ background-color: #333333;
6384
+ }
6318
6385
  .hover\:bg-\[\#D16253\]\/12:hover {
6319
6386
  background-color: color-mix(in oklab, #D16253 12%, transparent);
6320
6387
  }
@@ -6585,9 +6652,6 @@
6585
6652
  .hover\:bg-yellow-400:hover {
6586
6653
  background-color: var(--color-yellow-400);
6587
6654
  }
6588
- .hover\:bg-yellow-500:hover {
6589
- background-color: var(--color-yellow-500);
6590
- }
6591
6655
  .hover\:from-orange-700:hover {
6592
6656
  --tw-gradient-from: var(--color-orange-700);
6593
6657
  --tw-gradient-stops: var(--tw-gradient-via-stops, var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position));
@@ -6774,6 +6838,9 @@
6774
6838
  .focus\:border-\[\#440066\]\/45:focus {
6775
6839
  border-color: color-mix(in oklab, #440066 45%, transparent);
6776
6840
  }
6841
+ .focus\:border-\[\#FA8232\]:focus {
6842
+ border-color: #FA8232;
6843
+ }
6777
6844
  .focus\:border-black:focus {
6778
6845
  border-color: var(--color-black);
6779
6846
  }
@@ -7220,6 +7287,9 @@
7220
7287
  .sm\:h-32 {
7221
7288
  height: calc(var(--spacing) * 32);
7222
7289
  }
7290
+ .sm\:h-\[72px\] {
7291
+ height: 72px;
7292
+ }
7223
7293
  .sm\:h-\[480px\] {
7224
7294
  height: 480px;
7225
7295
  }
@@ -7247,6 +7317,9 @@
7247
7317
  .sm\:w-14 {
7248
7318
  width: calc(var(--spacing) * 14);
7249
7319
  }
7320
+ .sm\:w-20 {
7321
+ width: calc(var(--spacing) * 20);
7322
+ }
7250
7323
  .sm\:w-24 {
7251
7324
  width: calc(var(--spacing) * 24);
7252
7325
  }
@@ -7256,6 +7329,9 @@
7256
7329
  .sm\:w-48 {
7257
7330
  width: calc(var(--spacing) * 48);
7258
7331
  }
7332
+ .sm\:w-\[72px\] {
7333
+ width: 72px;
7334
+ }
7259
7335
  .sm\:w-\[480px\] {
7260
7336
  width: 480px;
7261
7337
  }
@@ -7318,6 +7394,11 @@
7318
7394
  margin-block-start: calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));
7319
7395
  margin-block-end: calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)));
7320
7396
  }
7397
+ :where(.sm\:space-y-6 > :not(:last-child)) {
7398
+ --tw-space-y-reverse: 0;
7399
+ margin-block-start: calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));
7400
+ margin-block-end: calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)));
7401
+ }
7321
7402
  .sm\:rounded-\[28px\] {
7322
7403
  border-radius: 28px;
7323
7404
  }
@@ -7743,6 +7824,9 @@
7743
7824
  .lg\:sticky {
7744
7825
  position: sticky;
7745
7826
  }
7827
+ .lg\:top-6 {
7828
+ top: calc(var(--spacing) * 6);
7829
+ }
7746
7830
  .lg\:top-24 {
7747
7831
  top: calc(var(--spacing) * 24);
7748
7832
  }
@@ -7818,6 +7902,9 @@
7818
7902
  .lg\:w-96 {
7819
7903
  width: calc(var(--spacing) * 96);
7820
7904
  }
7905
+ .lg\:w-\[380px\] {
7906
+ width: 380px;
7907
+ }
7821
7908
  .lg\:w-\[400px\] {
7822
7909
  width: 400px;
7823
7910
  }
@@ -7854,6 +7941,9 @@
7854
7941
  .lg\:flex-row {
7855
7942
  flex-direction: row;
7856
7943
  }
7944
+ .lg\:items-start {
7945
+ align-items: flex-start;
7946
+ }
7857
7947
  .lg\:justify-start {
7858
7948
  justify-content: flex-start;
7859
7949
  }
@@ -7875,6 +7965,9 @@
7875
7965
  .lg\:gap-24 {
7876
7966
  gap: calc(var(--spacing) * 24);
7877
7967
  }
7968
+ .lg\:self-start {
7969
+ align-self: flex-start;
7970
+ }
7878
7971
  .lg\:p-8 {
7879
7972
  padding: calc(var(--spacing) * 8);
7880
7973
  }
@@ -8091,11 +8184,16 @@
8091
8184
  .\[\&_svg\]\:shrink-0 svg {
8092
8185
  flex-shrink: 0;
8093
8186
  }
8187
+ .\[\&_svg\]\:text-current svg {
8188
+ color: currentcolor;
8189
+ }
8094
8190
  .\[\&_svg\]\:text-gray-900 svg {
8095
8191
  color: var(--color-gray-900);
8096
8192
  }
8097
- .\[\&_svg\]\:text-white svg {
8098
- color: var(--color-white);
8193
+ @media (hover: hover) {
8194
+ .hover\:\[\&_svg\]\:text-current:hover svg {
8195
+ color: currentcolor;
8196
+ }
8099
8197
  }
8100
8198
  .\[\&_svg\:not\(\[class\*\=\'size-\'\]\)\]\:size-4 svg:not([class*='size-']) {
8101
8199
  width: calc(var(--spacing) * 4);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "storefront-layouts",
3
- "version": "1.0.9",
3
+ "version": "1.0.13",
4
4
  "lts": true,
5
5
  "type": "module",
6
6
  "description": "Shared layout components for Storefront applications",
@@ -85,7 +85,13 @@
85
85
  "prepublishOnly": "npm run build",
86
86
  "prepack": "npm run build",
87
87
  "clean": "rm -rf dist",
88
- "test": "echo \"No tests specified\" && exit 0"
88
+ "test": "echo \"No tests specified\" && exit 0",
89
+ "prepare": "git config core.hooksPath .githooks 2>/dev/null || true",
90
+ "version:staging": "npm version prerelease --preid=staging",
91
+ "release:staging": "node scripts/release-guard.mjs staging",
92
+ "publish:staging": "npm run release:staging && npm run build && npm publish --tag latest --access public --ignore-scripts",
93
+ "release:prod": "node scripts/release-guard.mjs prod",
94
+ "publish:prod": "npm run release:prod && npm run build && npm publish --tag latest --ignore-scripts"
89
95
  },
90
96
  "peerDependencies": {
91
97
  "@rjsf/core": "^6.1.2",