@fayz-ai/storefront 0.9.0 → 0.11.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.
Files changed (391) hide show
  1. package/README.md +3 -3
  2. package/dist/app/createStorefrontApp.d.ts +65 -0
  3. package/dist/app/createStorefrontApp.d.ts.map +1 -0
  4. package/dist/{define.d.ts → app/define.d.ts} +3 -3
  5. package/dist/app/define.d.ts.map +1 -0
  6. package/dist/app/hydration.d.ts +37 -0
  7. package/dist/app/hydration.d.ts.map +1 -0
  8. package/dist/app/prerender.d.ts +57 -0
  9. package/dist/app/prerender.d.ts.map +1 -0
  10. package/dist/{router.d.ts → app/router.d.ts} +140 -113
  11. package/dist/app/router.d.ts.map +1 -0
  12. package/dist/{scaffold.d.ts → app/scaffold.d.ts} +2 -2
  13. package/dist/app/scaffold.d.ts.map +1 -0
  14. package/dist/app/serving.d.ts +70 -0
  15. package/dist/app/serving.d.ts.map +1 -0
  16. package/dist/app/static-render.d.ts +46 -0
  17. package/dist/app/static-render.d.ts.map +1 -0
  18. package/dist/blocks/block-at-path.d.ts +59 -0
  19. package/dist/blocks/block-at-path.d.ts.map +1 -0
  20. package/dist/blocks/page-blocks.d.ts +163 -0
  21. package/dist/blocks/page-blocks.d.ts.map +1 -0
  22. package/dist/blocks/page-data.d.ts +105 -0
  23. package/dist/blocks/page-data.d.ts.map +1 -0
  24. package/dist/{blocks.d.ts → blocks/registry.d.ts} +1 -1
  25. package/dist/blocks/registry.d.ts.map +1 -0
  26. package/dist/{sections.d.ts → blocks/sections.d.ts} +40 -2
  27. package/dist/blocks/sections.d.ts.map +1 -0
  28. package/dist/chunk-6IXTENLB.js +162 -0
  29. package/dist/chunk-6IXTENLB.js.map +1 -0
  30. package/dist/chunk-SX3J3QIT.js +11046 -0
  31. package/dist/chunk-SX3J3QIT.js.map +1 -0
  32. package/dist/components/PaymentTerms.d.ts +34 -0
  33. package/dist/components/PaymentTerms.d.ts.map +1 -0
  34. package/dist/components/Skeleton.d.ts +17 -0
  35. package/dist/components/Skeleton.d.ts.map +1 -0
  36. package/dist/components/SmoothImage.d.ts +1 -1
  37. package/dist/components/SmoothImage.d.ts.map +1 -1
  38. package/dist/components/account/CustomerAccountShell.d.ts +17 -0
  39. package/dist/components/account/CustomerAccountShell.d.ts.map +1 -0
  40. package/dist/components/account/SignInModal.d.ts.map +1 -0
  41. package/dist/components/account/section.d.ts +15 -0
  42. package/dist/components/account/section.d.ts.map +1 -0
  43. package/dist/components/cart/CartDrawer.d.ts.map +1 -0
  44. package/dist/components/cart/QuantityInput.d.ts.map +1 -0
  45. package/dist/components/checkout/CheckoutPayment.d.ts +17 -0
  46. package/dist/components/checkout/CheckoutPayment.d.ts.map +1 -0
  47. package/dist/components/checkout/CheckoutSteps.d.ts +9 -0
  48. package/dist/components/checkout/CheckoutSteps.d.ts.map +1 -0
  49. package/dist/components/checkout/DeliveryEstimator.d.ts.map +1 -0
  50. package/dist/components/collection/CategoryShowcase.d.ts +44 -0
  51. package/dist/components/collection/CategoryShowcase.d.ts.map +1 -0
  52. package/dist/components/collection/FiltersPanel.d.ts +19 -0
  53. package/dist/components/collection/FiltersPanel.d.ts.map +1 -0
  54. package/dist/components/collection/ProductGrid.d.ts.map +1 -0
  55. package/dist/components/layout/PageBodyBlocks.d.ts +40 -0
  56. package/dist/components/layout/PageBodyBlocks.d.ts.map +1 -0
  57. package/dist/components/layout/SearchOverlay.d.ts +13 -0
  58. package/dist/components/layout/SearchOverlay.d.ts.map +1 -0
  59. package/dist/components/layout/StorefrontErrorBoundary.d.ts.map +1 -0
  60. package/dist/components/layout/StorefrontFooter.d.ts.map +1 -0
  61. package/dist/components/layout/StorefrontHeader.d.ts.map +1 -0
  62. package/dist/components/layout/Toaster.d.ts.map +1 -0
  63. package/dist/components/marketing/CollectionSections.d.ts +463 -0
  64. package/dist/components/marketing/CollectionSections.d.ts.map +1 -0
  65. package/dist/components/marketing/ConversionSections.d.ts +221 -0
  66. package/dist/components/marketing/ConversionSections.d.ts.map +1 -0
  67. package/dist/components/marketing/EditorialSections.d.ts +248 -0
  68. package/dist/components/marketing/EditorialSections.d.ts.map +1 -0
  69. package/dist/components/marketing/EntityList.d.ts +97 -0
  70. package/dist/components/marketing/EntityList.d.ts.map +1 -0
  71. package/dist/components/marketing/FormBlock.d.ts +167 -0
  72. package/dist/components/marketing/FormBlock.d.ts.map +1 -0
  73. package/dist/components/marketing/HeroSection.d.ts +125 -0
  74. package/dist/components/marketing/HeroSection.d.ts.map +1 -0
  75. package/dist/components/marketing/MediaCarousel.d.ts +135 -0
  76. package/dist/components/marketing/MediaCarousel.d.ts.map +1 -0
  77. package/dist/components/marketing/MiscSections.d.ts +252 -0
  78. package/dist/components/marketing/MiscSections.d.ts.map +1 -0
  79. package/dist/components/order/OrderTrackingTimeline.d.ts.map +1 -0
  80. package/dist/components/order/SuccessMark.d.ts +10 -0
  81. package/dist/components/order/SuccessMark.d.ts.map +1 -0
  82. package/dist/components/product/ProductCard.d.ts +14 -0
  83. package/dist/components/product/ProductCard.d.ts.map +1 -0
  84. package/dist/components/product/ProductEnquiryForm.d.ts.map +1 -0
  85. package/dist/components/product/ProductGallery.d.ts +36 -0
  86. package/dist/components/product/ProductGallery.d.ts.map +1 -0
  87. package/dist/components/{ProductOptionSelector.d.ts → product/ProductOptionSelector.d.ts} +1 -1
  88. package/dist/components/product/ProductOptionSelector.d.ts.map +1 -0
  89. package/dist/components/product/ProductRail.d.ts +93 -0
  90. package/dist/components/product/ProductRail.d.ts.map +1 -0
  91. package/dist/components/product/ProductReviews.d.ts +39 -0
  92. package/dist/components/product/ProductReviews.d.ts.map +1 -0
  93. package/dist/components/product/ProductSlider.d.ts +169 -0
  94. package/dist/components/product/ProductSlider.d.ts.map +1 -0
  95. package/dist/components/product/ProductSpecs.d.ts.map +1 -0
  96. package/dist/components/product/RelatedProducts.d.ts.map +1 -0
  97. package/dist/{auth.d.ts → data/auth.d.ts} +9 -0
  98. package/dist/data/auth.d.ts.map +1 -0
  99. package/dist/data/facets.d.ts +39 -0
  100. package/dist/data/facets.d.ts.map +1 -0
  101. package/dist/data/loaders.d.ts +52 -0
  102. package/dist/data/loaders.d.ts.map +1 -0
  103. package/dist/data/local-orders.d.ts +5 -0
  104. package/dist/data/local-orders.d.ts.map +1 -0
  105. package/dist/data/order-status.d.ts.map +1 -0
  106. package/dist/data/product-options.d.ts +36 -0
  107. package/dist/data/product-options.d.ts.map +1 -0
  108. package/dist/data/shipping-items.d.ts +20 -0
  109. package/dist/data/shipping-items.d.ts.map +1 -0
  110. package/dist/diagnostics/seo-audit.d.ts +54 -0
  111. package/dist/diagnostics/seo-audit.d.ts.map +1 -0
  112. package/dist/diagnostics/seo-audit.js +3 -0
  113. package/dist/diagnostics/seo-audit.js.map +1 -0
  114. package/dist/document/change.d.ts +100 -0
  115. package/dist/document/change.d.ts.map +1 -0
  116. package/dist/document/config.d.ts +311 -0
  117. package/dist/document/config.d.ts.map +1 -0
  118. package/dist/document/describe.d.ts +135 -0
  119. package/dist/document/describe.d.ts.map +1 -0
  120. package/dist/document/overlay.d.ts +58 -0
  121. package/dist/document/overlay.d.ts.map +1 -0
  122. package/dist/{presets.d.ts → document/presets.d.ts} +2 -2
  123. package/dist/document/presets.d.ts.map +1 -0
  124. package/dist/document/render.d.ts +171 -0
  125. package/dist/document/render.d.ts.map +1 -0
  126. package/dist/document/round-trip.d.ts +46 -0
  127. package/dist/document/round-trip.d.ts.map +1 -0
  128. package/dist/document/sections.d.ts +194 -0
  129. package/dist/document/sections.d.ts.map +1 -0
  130. package/dist/document/store-policy.d.ts +29 -0
  131. package/dist/document/store-policy.d.ts.map +1 -0
  132. package/dist/document/upgrade.d.ts +112 -0
  133. package/dist/document/upgrade.d.ts.map +1 -0
  134. package/dist/document/validate.d.ts +24 -0
  135. package/dist/document/validate.d.ts.map +1 -0
  136. package/dist/{component-contracts.d.ts → extend/component-contracts.d.ts} +74 -22
  137. package/dist/extend/component-contracts.d.ts.map +1 -0
  138. package/dist/extend/component-override.d.ts +38 -0
  139. package/dist/extend/component-override.d.ts.map +1 -0
  140. package/dist/extend/component-selectors.d.ts.map +1 -0
  141. package/dist/extend/editor-bridge.d.ts +59 -0
  142. package/dist/extend/editor-bridge.d.ts.map +1 -0
  143. package/dist/extend/extension-points.d.ts +103 -0
  144. package/dist/extend/extension-points.d.ts.map +1 -0
  145. package/dist/extend/slots.d.ts +216 -0
  146. package/dist/extend/slots.d.ts.map +1 -0
  147. package/dist/hooks/index.d.ts +25 -6
  148. package/dist/hooks/index.d.ts.map +1 -1
  149. package/dist/hooks/use-address.d.ts +26 -0
  150. package/dist/hooks/use-address.d.ts.map +1 -0
  151. package/dist/hooks/use-cart.d.ts +3 -0
  152. package/dist/hooks/use-cart.d.ts.map +1 -0
  153. package/dist/hooks/use-catalog.d.ts +24 -0
  154. package/dist/hooks/use-catalog.d.ts.map +1 -0
  155. package/dist/hooks/use-categories.d.ts +19 -0
  156. package/dist/hooks/use-categories.d.ts.map +1 -0
  157. package/dist/hooks/use-checkout.d.ts +41 -0
  158. package/dist/hooks/use-checkout.d.ts.map +1 -0
  159. package/dist/hooks/use-discount-validator.d.ts +20 -0
  160. package/dist/hooks/use-discount-validator.d.ts.map +1 -0
  161. package/dist/hooks/use-enquiry.d.ts +7 -0
  162. package/dist/hooks/use-enquiry.d.ts.map +1 -0
  163. package/dist/hooks/{useMyOrders.d.ts → use-my-orders.d.ts} +1 -1
  164. package/dist/hooks/use-my-orders.d.ts.map +1 -0
  165. package/dist/hooks/use-order.d.ts +17 -0
  166. package/dist/hooks/use-order.d.ts.map +1 -0
  167. package/dist/hooks/use-payment-methods.d.ts +19 -0
  168. package/dist/hooks/use-payment-methods.d.ts.map +1 -0
  169. package/dist/hooks/use-policies.d.ts +25 -0
  170. package/dist/hooks/use-policies.d.ts.map +1 -0
  171. package/dist/hooks/use-product.d.ts +15 -0
  172. package/dist/hooks/use-product.d.ts.map +1 -0
  173. package/dist/hooks/{useProducts.d.ts → use-products.d.ts} +1 -1
  174. package/dist/hooks/use-products.d.ts.map +1 -0
  175. package/dist/hooks/use-region.d.ts +15 -0
  176. package/dist/hooks/use-region.d.ts.map +1 -0
  177. package/dist/hooks/use-shipping.d.ts +32 -0
  178. package/dist/hooks/use-shipping.d.ts.map +1 -0
  179. package/dist/hooks/use-storefront-actions.d.ts +12 -0
  180. package/dist/hooks/use-storefront-actions.d.ts.map +1 -0
  181. package/dist/hooks/use-storefront-head.d.ts +19 -0
  182. package/dist/hooks/use-storefront-head.d.ts.map +1 -0
  183. package/dist/hooks/use-storefront.d.ts +3 -0
  184. package/dist/hooks/use-storefront.d.ts.map +1 -0
  185. package/dist/index.d.ts +124 -54
  186. package/dist/index.d.ts.map +1 -1
  187. package/dist/index.js +1310 -5010
  188. package/dist/index.js.map +1 -1
  189. package/dist/lib/errors.d.ts +9 -0
  190. package/dist/lib/errors.d.ts.map +1 -0
  191. package/dist/lib/format.d.ts.map +1 -0
  192. package/dist/lib/motion.d.ts.map +1 -0
  193. package/dist/lib/seo.d.ts +26 -0
  194. package/dist/lib/seo.d.ts.map +1 -0
  195. package/dist/{testids.d.ts → lib/testids.d.ts} +33 -0
  196. package/dist/lib/testids.d.ts.map +1 -0
  197. package/dist/{theme.d.ts → lib/theme.d.ts} +41 -3
  198. package/dist/lib/theme.d.ts.map +1 -0
  199. package/dist/render.d.ts +5 -0
  200. package/dist/render.d.ts.map +1 -0
  201. package/dist/render.js +359 -0
  202. package/dist/render.js.map +1 -0
  203. package/dist/stores/cart.store.d.ts +34 -2
  204. package/dist/stores/cart.store.d.ts.map +1 -1
  205. package/dist/stores/catalog.store.d.ts +11 -0
  206. package/dist/stores/catalog.store.d.ts.map +1 -1
  207. package/dist/stores/delivery.store.d.ts +9 -0
  208. package/dist/stores/delivery.store.d.ts.map +1 -1
  209. package/dist/views/CatalogPage.d.ts.map +1 -0
  210. package/dist/views/CheckoutPage.d.ts.map +1 -0
  211. package/dist/views/ContentPage.d.ts +11 -0
  212. package/dist/views/ContentPage.d.ts.map +1 -0
  213. package/dist/views/HomePage.d.ts +9 -0
  214. package/dist/views/HomePage.d.ts.map +1 -0
  215. package/dist/views/MyPurchasesPage.d.ts.map +1 -0
  216. package/dist/views/NotFoundPage.d.ts.map +1 -0
  217. package/dist/views/OrderConfirmationPage.d.ts.map +1 -0
  218. package/dist/{pages → views}/PolicyPage.d.ts.map +1 -1
  219. package/dist/views/ProductDetailPage.d.ts.map +1 -0
  220. package/dist/views/StorefrontPage.d.ts +35 -0
  221. package/dist/views/StorefrontPage.d.ts.map +1 -0
  222. package/dist/workflows/checkout.d.ts +1 -1
  223. package/dist/workflows/checkout.d.ts.map +1 -1
  224. package/package.json +21 -14
  225. package/dist/auth.d.ts.map +0 -1
  226. package/dist/blocks.d.ts.map +0 -1
  227. package/dist/component-contracts.d.ts.map +0 -1
  228. package/dist/component-selectors.d.ts.map +0 -1
  229. package/dist/components/CartDrawer.d.ts.map +0 -1
  230. package/dist/components/CustomerAccountShell.d.ts +0 -13
  231. package/dist/components/CustomerAccountShell.d.ts.map +0 -1
  232. package/dist/components/DeliveryEstimator.d.ts.map +0 -1
  233. package/dist/components/FiltersPanel.d.ts +0 -3
  234. package/dist/components/FiltersPanel.d.ts.map +0 -1
  235. package/dist/components/OrderTrackingTimeline.d.ts.map +0 -1
  236. package/dist/components/ProductCard.d.ts +0 -4
  237. package/dist/components/ProductCard.d.ts.map +0 -1
  238. package/dist/components/ProductEnquiryForm.d.ts.map +0 -1
  239. package/dist/components/ProductGallery.d.ts +0 -22
  240. package/dist/components/ProductGallery.d.ts.map +0 -1
  241. package/dist/components/ProductGrid.d.ts.map +0 -1
  242. package/dist/components/ProductOptionSelector.d.ts.map +0 -1
  243. package/dist/components/ProductSpecs.d.ts.map +0 -1
  244. package/dist/components/QuantityInput.d.ts.map +0 -1
  245. package/dist/components/RelatedProducts.d.ts.map +0 -1
  246. package/dist/components/SignInModal.d.ts.map +0 -1
  247. package/dist/components/StorefrontErrorBoundary.d.ts.map +0 -1
  248. package/dist/components/StorefrontFooter.d.ts.map +0 -1
  249. package/dist/components/StorefrontHeader.d.ts.map +0 -1
  250. package/dist/components/Toaster.d.ts.map +0 -1
  251. package/dist/components/sections/CategoryShowcase.d.ts +0 -6
  252. package/dist/components/sections/CategoryShowcase.d.ts.map +0 -1
  253. package/dist/components/sections/HeroSection.d.ts +0 -9
  254. package/dist/components/sections/HeroSection.d.ts.map +0 -1
  255. package/dist/components/sections/MediaCarousel.d.ts +0 -11
  256. package/dist/components/sections/MediaCarousel.d.ts.map +0 -1
  257. package/dist/components/sections/MiscSections.d.ts +0 -33
  258. package/dist/components/sections/MiscSections.d.ts.map +0 -1
  259. package/dist/components/sections/ProductRail.d.ts +0 -9
  260. package/dist/components/sections/ProductRail.d.ts.map +0 -1
  261. package/dist/components/sections/ProductSlider.d.ts +0 -15
  262. package/dist/components/sections/ProductSlider.d.ts.map +0 -1
  263. package/dist/config.d.ts +0 -174
  264. package/dist/config.d.ts.map +0 -1
  265. package/dist/createStorefrontApp.d.ts +0 -28
  266. package/dist/createStorefrontApp.d.ts.map +0 -1
  267. package/dist/define.d.ts.map +0 -1
  268. package/dist/format.d.ts.map +0 -1
  269. package/dist/hooks/useCategories.d.ts +0 -6
  270. package/dist/hooks/useCategories.d.ts.map +0 -1
  271. package/dist/hooks/useDiscountValidator.d.ts +0 -14
  272. package/dist/hooks/useDiscountValidator.d.ts.map +0 -1
  273. package/dist/hooks/useMyOrders.d.ts.map +0 -1
  274. package/dist/hooks/useProduct.d.ts +0 -7
  275. package/dist/hooks/useProduct.d.ts.map +0 -1
  276. package/dist/hooks/useProducts.d.ts.map +0 -1
  277. package/dist/hooks/useStorefront.d.ts +0 -35
  278. package/dist/hooks/useStorefront.d.ts.map +0 -1
  279. package/dist/hooks/useStorefrontHead.d.ts +0 -11
  280. package/dist/hooks/useStorefrontHead.d.ts.map +0 -1
  281. package/dist/motion.d.ts.map +0 -1
  282. package/dist/order-status.d.ts.map +0 -1
  283. package/dist/pages/CatalogPage.d.ts.map +0 -1
  284. package/dist/pages/CheckoutPage.d.ts.map +0 -1
  285. package/dist/pages/HomePage.d.ts +0 -9
  286. package/dist/pages/HomePage.d.ts.map +0 -1
  287. package/dist/pages/MyPurchasesPage.d.ts.map +0 -1
  288. package/dist/pages/NotFoundPage.d.ts.map +0 -1
  289. package/dist/pages/OrderConfirmationPage.d.ts.map +0 -1
  290. package/dist/pages/ProductDetailPage.d.ts.map +0 -1
  291. package/dist/presets.d.ts.map +0 -1
  292. package/dist/product-options.d.ts +0 -12
  293. package/dist/product-options.d.ts.map +0 -1
  294. package/dist/router.d.ts.map +0 -1
  295. package/dist/scaffold.d.ts.map +0 -1
  296. package/dist/sections.d.ts.map +0 -1
  297. package/dist/testids.d.ts.map +0 -1
  298. package/dist/theme.d.ts.map +0 -1
  299. package/src/auth.ts +0 -227
  300. package/src/blocks.tsx +0 -51
  301. package/src/catalog.ts +0 -3
  302. package/src/component-contracts.ts +0 -154
  303. package/src/component-selectors.ts +0 -31
  304. package/src/components/CartDrawer.tsx +0 -279
  305. package/src/components/CustomerAccountShell.tsx +0 -102
  306. package/src/components/DeliveryEstimator.tsx +0 -157
  307. package/src/components/FiltersPanel.tsx +0 -109
  308. package/src/components/OrderTrackingTimeline.tsx +0 -135
  309. package/src/components/Price.tsx +0 -32
  310. package/src/components/ProductCard.tsx +0 -120
  311. package/src/components/ProductEnquiryForm.tsx +0 -175
  312. package/src/components/ProductGallery.tsx +0 -174
  313. package/src/components/ProductGrid.tsx +0 -43
  314. package/src/components/ProductOptionSelector.tsx +0 -50
  315. package/src/components/ProductSpecs.tsx +0 -75
  316. package/src/components/QuantityInput.tsx +0 -52
  317. package/src/components/RelatedProducts.tsx +0 -40
  318. package/src/components/SignInModal.tsx +0 -120
  319. package/src/components/SmoothImage.tsx +0 -59
  320. package/src/components/StorefrontErrorBoundary.tsx +0 -51
  321. package/src/components/StorefrontFooter.tsx +0 -110
  322. package/src/components/StorefrontHeader.tsx +0 -477
  323. package/src/components/Toaster.tsx +0 -60
  324. package/src/components/sections/CategoryShowcase.tsx +0 -80
  325. package/src/components/sections/HeroSection.tsx +0 -193
  326. package/src/components/sections/MediaCarousel.tsx +0 -141
  327. package/src/components/sections/MiscSections.tsx +0 -158
  328. package/src/components/sections/ProductRail.tsx +0 -81
  329. package/src/components/sections/ProductSlider.tsx +0 -119
  330. package/src/config.ts +0 -229
  331. package/src/createStorefrontApp.tsx +0 -247
  332. package/src/define.ts +0 -34
  333. package/src/format.ts +0 -7
  334. package/src/hooks/index.ts +0 -6
  335. package/src/hooks/useCategories.ts +0 -26
  336. package/src/hooks/useDiscountValidator.ts +0 -43
  337. package/src/hooks/useMyOrders.ts +0 -41
  338. package/src/hooks/useProduct.ts +0 -36
  339. package/src/hooks/useProducts.ts +0 -39
  340. package/src/hooks/useStorefront.ts +0 -58
  341. package/src/hooks/useStorefrontHead.ts +0 -25
  342. package/src/index.ts +0 -202
  343. package/src/motion.tsx +0 -94
  344. package/src/order-status.ts +0 -33
  345. package/src/pages/CatalogPage.tsx +0 -118
  346. package/src/pages/CheckoutPage.tsx +0 -689
  347. package/src/pages/HomePage.tsx +0 -16
  348. package/src/pages/MyPurchasesPage.tsx +0 -311
  349. package/src/pages/NotFoundPage.tsx +0 -25
  350. package/src/pages/OrderConfirmationPage.tsx +0 -190
  351. package/src/pages/PolicyPage.tsx +0 -47
  352. package/src/pages/ProductDetailPage.tsx +0 -264
  353. package/src/presets.ts +0 -324
  354. package/src/product-options.ts +0 -63
  355. package/src/router.ts +0 -49
  356. package/src/scaffold.tsx +0 -115
  357. package/src/sections.ts +0 -116
  358. package/src/shop.ts +0 -4
  359. package/src/stores/cart.store.ts +0 -185
  360. package/src/stores/catalog.store.ts +0 -39
  361. package/src/stores/delivery.store.ts +0 -152
  362. package/src/stores/session.store.ts +0 -28
  363. package/src/stores/toast.store.ts +0 -43
  364. package/src/testids.ts +0 -136
  365. package/src/theme.ts +0 -194
  366. package/src/ui.ts +0 -5
  367. package/src/workflows/checkout.ts +0 -119
  368. /package/dist/components/{SignInModal.d.ts → account/SignInModal.d.ts} +0 -0
  369. /package/dist/components/{CartDrawer.d.ts → cart/CartDrawer.d.ts} +0 -0
  370. /package/dist/components/{QuantityInput.d.ts → cart/QuantityInput.d.ts} +0 -0
  371. /package/dist/components/{DeliveryEstimator.d.ts → checkout/DeliveryEstimator.d.ts} +0 -0
  372. /package/dist/components/{ProductGrid.d.ts → collection/ProductGrid.d.ts} +0 -0
  373. /package/dist/components/{StorefrontErrorBoundary.d.ts → layout/StorefrontErrorBoundary.d.ts} +0 -0
  374. /package/dist/components/{StorefrontFooter.d.ts → layout/StorefrontFooter.d.ts} +0 -0
  375. /package/dist/components/{StorefrontHeader.d.ts → layout/StorefrontHeader.d.ts} +0 -0
  376. /package/dist/components/{Toaster.d.ts → layout/Toaster.d.ts} +0 -0
  377. /package/dist/components/{OrderTrackingTimeline.d.ts → order/OrderTrackingTimeline.d.ts} +0 -0
  378. /package/dist/components/{ProductEnquiryForm.d.ts → product/ProductEnquiryForm.d.ts} +0 -0
  379. /package/dist/components/{ProductSpecs.d.ts → product/ProductSpecs.d.ts} +0 -0
  380. /package/dist/components/{RelatedProducts.d.ts → product/RelatedProducts.d.ts} +0 -0
  381. /package/dist/{order-status.d.ts → data/order-status.d.ts} +0 -0
  382. /package/dist/{component-selectors.d.ts → extend/component-selectors.d.ts} +0 -0
  383. /package/dist/{format.d.ts → lib/format.d.ts} +0 -0
  384. /package/dist/{motion.d.ts → lib/motion.d.ts} +0 -0
  385. /package/dist/{pages → views}/CatalogPage.d.ts +0 -0
  386. /package/dist/{pages → views}/CheckoutPage.d.ts +0 -0
  387. /package/dist/{pages → views}/MyPurchasesPage.d.ts +0 -0
  388. /package/dist/{pages → views}/NotFoundPage.d.ts +0 -0
  389. /package/dist/{pages → views}/OrderConfirmationPage.d.ts +0 -0
  390. /package/dist/{pages → views}/PolicyPage.d.ts +0 -0
  391. /package/dist/{pages → views}/ProductDetailPage.d.ts +0 -0
package/README.md CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
  `@fayz-ai/storefront` is the customer-facing surface of the Fayz SDK: a storefront scaffold that renders a page as a tree of **blocks** (hero, products, manifesto, cart, …) defined in the app manifest. Two completely different brands come out of the same template with zero custom components — the storefront is *data*, not a fork.
11
11
 
12
- It reads commerce from `@fayz-ai/shop`, so the same engine powering an admin also powers the public store. Customize from labels to a fully bespoke section via the [customization ladder](../../docs/CUSTOMIZATION.md) — never by editing this package.
12
+ It reads commerce from `@fayz-ai/shop`, so the same engine powering an admin also powers the public store. Customize from labels to a fully bespoke section via the [customization ladder](../../docs/saas/CUSTOMIZATION.md) — never by editing this package.
13
13
 
14
14
  ## What's inside
15
15
  - **Scaffold** — `defineStorefront(config)` + `StorefrontScaffold` rendered by `renderApp`
@@ -35,7 +35,7 @@ export function App() {
35
35
  ```
36
36
 
37
37
  ## Part of the Fayz SDK
38
- The storefront surface over `@fayz-ai/shop`. The admin counterpart is built with `@fayz-ai/saas`; both are surfaces of one manifest.
38
+ The storefront surface over `@fayz-ai/shop`. The admin counterpart is built with `@fayz-ai/admin`; both are surfaces of one manifest.
39
39
 
40
40
  ## Roadmap & contributing
41
- Built and evolving in the open. See the [Fayz SDK roadmap](../../docs/ROADMAP.md).
41
+ Built and evolving in the open. See the [Fayz SDK roadmap](../../docs/platform/ROADMAP.md).
@@ -0,0 +1,65 @@
1
+ import React from 'react';
2
+ import type { ShopProvider } from '@fayz-ai/shop/provider';
3
+ import type { StorefrontConfig } from '../document/config';
4
+ import type { StorefrontComponents } from '../extend/component-contracts';
5
+ import type { StorefrontSection } from '../blocks/sections';
6
+ import type { RouterAdapter } from '@fayz-ai/core';
7
+ /**
8
+ * Register the config's declared entities.
9
+ *
10
+ * They register BEFORE the provider exists: the mock provider's entity stores
11
+ * validate their seed against these declarations, and the `entity.*` loaders
12
+ * resolve them at read time (I2 for unknown keys). Shared with the headless
13
+ * renderer so a preview of an entity-backed page reads the same declarations
14
+ * the live store does.
15
+ */
16
+ export declare function registerStorefrontEntities(config: StorefrontConfig): void;
17
+ /**
18
+ * The shop provider a config implies: its explicit provider, or a mock seeded
19
+ * from its catalog, discounts and declared promotions.
20
+ *
21
+ * Extracted so `renderStore` binds the SAME provider the browser runtime would
22
+ * — a headless render that invented its own data source would preview a store
23
+ * nobody ships.
24
+ */
25
+ export declare function resolveStorefrontProvider(config: StorefrontConfig): ShopProvider;
26
+ export declare function initStorefrontRuntime(config: StorefrontConfig): void;
27
+ export interface StorefrontShellProps {
28
+ /**
29
+ * Addressing scheme and history owner. Omitted → hash addressing in a
30
+ * browser, or a static adapter bound to `path` when one is given. Supply one
31
+ * to serve the store at real URLs, or to hand history to a host router.
32
+ */
33
+ router?: RouterAdapter;
34
+ /**
35
+ * Render this path instead of the live hash location.
36
+ *
37
+ * The headless seam (spine M8): `renderStore` and the preview server drive
38
+ * the shell by path, so a static render never depends on a global
39
+ * `window.location` and one process can render many paths — including
40
+ * concurrently, which a location-mutating renderer could not.
41
+ */
42
+ path?: string;
43
+ }
44
+ /** The inner storefront UI. Reads everything from the config context, so it is
45
+ * shared by createStorefrontApp and the manifest-driven StorefrontScaffold. */
46
+ export declare function StorefrontShell({ path: pathOverride, router }?: StorefrontShellProps): React.JSX.Element;
47
+ /**
48
+ * Declarative storefront factory — the customer-facing counterpart of
49
+ * createSaasApp. Sugar over the manifest path: it is equivalent to
50
+ * renderApp(defineStorefront(config)), sharing initStorefrontRuntime +
51
+ * StorefrontShell with the scaffold.
52
+ *
53
+ * const App = createStorefrontApp({ name: 'Aurora Goods', currency: 'BRL' })
54
+ */
55
+ export declare function createStorefrontApp(config: StorefrontConfig): React.ComponentType;
56
+ export interface CreateStorefrontOptions {
57
+ config: StorefrontConfig;
58
+ provider?: ShopProvider;
59
+ components?: StorefrontComponents;
60
+ routes?: StorefrontConfig['routes'];
61
+ pages?: StorefrontConfig['routes'];
62
+ sections?: readonly StorefrontSection[];
63
+ }
64
+ export declare function createStorefront(options: CreateStorefrontOptions): React.ComponentType;
65
+ //# sourceMappingURL=createStorefrontApp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createStorefrontApp.d.ts","sourceRoot":"","sources":["../../src/app/createStorefrontApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAM1D,OAAO,KAAK,EAAE,gBAAgB,EAA4B,MAAM,oBAAoB,CAAA;AACpF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAU3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAiIlD;;;;;;;;GAQG;AACH,wBAAgB,0BAA0B,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAIzE;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,YAAY,CAEhF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CA8CpE;AAED,MAAM,WAAW,oBAAoB;IACnC;;;;OAIG;IACH,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB;;;;;;;OAOG;IACH,IAAI,CAAC,EAAE,MAAM,CAAA;CACd;AAED;gFACgF;AAChF,wBAAgB,eAAe,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,GAAE,oBAAyB,qBAcxF;AA6CD;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,gBAAgB,GAAG,KAAK,CAAC,aAAa,CAiBjF;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,gBAAgB,CAAA;IACxB,QAAQ,CAAC,EAAE,YAAY,CAAA;IACvB,UAAU,CAAC,EAAE,oBAAoB,CAAA;IACjC,MAAM,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IACnC,KAAK,CAAC,EAAE,gBAAgB,CAAC,QAAQ,CAAC,CAAA;IAClC,QAAQ,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAA;CACxC;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,uBAAuB,GAAG,KAAK,CAAC,aAAa,CAgBtF"}
@@ -1,6 +1,6 @@
1
- import type { StorefrontConfig, StorefrontRouteDefinition } from './config';
2
- import type { StorefrontComponents } from './component-contracts';
3
- import type { StorefrontSection } from './sections';
1
+ import type { StorefrontConfig, StorefrontRouteDefinition } from '../document/config';
2
+ import type { StorefrontComponents } from '../extend/component-contracts';
3
+ import type { StorefrontSection } from '../blocks/sections';
4
4
  import type { CreateStorefrontOptions } from './createStorefrontApp';
5
5
  /**
6
6
  * Identity helpers for generated/custom storefronts.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"define.d.ts","sourceRoot":"","sources":["../../src/app/define.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,yBAAyB,EAC1B,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAA;AAC3D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,uBAAuB,CAAA;AAEpE;;;;;;GAMG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,CAAC,SAAS,gBAAgB,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAErF;AAED,wBAAgB,0BAA0B,CAAC,KAAK,CAAC,CAAC,SAAS,oBAAoB,EAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAEjG;AAED,wBAAgB,sBAAsB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,yBAAyB,EAAE,EAAE,MAAM,EAAE,CAAC,GAAG,CAAC,CAEzG;AAED,wBAAgB,wBAAwB,CAAC,KAAK,CAAC,CAAC,SAAS,SAAS,iBAAiB,EAAE,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,CAErG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,CAAC,CAAC,SAAS,uBAAuB,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAE1F"}
@@ -0,0 +1,37 @@
1
+ import type { PageDataEntry } from '../blocks/page-data';
2
+ /** Where the payload lives in the document. */
3
+ export declare const PAGE_DATA_SCRIPT_ID = "__fayz_page_data__";
4
+ export interface HydrationPayload {
5
+ /** Resolved page data, keyed by `dataNeedKey`. */
6
+ entries: Record<string, PageDataEntry>;
7
+ /** The path the server rendered, so a mismatch is detectable rather than silent. */
8
+ path: string;
9
+ }
10
+ /**
11
+ * The `<script>` tag carrying `payload`, for a renderer to place in the body.
12
+ *
13
+ * Only `ready` entries are carried. An entry that errored server-side is
14
+ * deliberately dropped so the browser retries it: a transient provider failure
15
+ * during a prerender would otherwise be baked into the page for as long as the
16
+ * HTML is cached.
17
+ */
18
+ export declare function serializePageData(payload: HydrationPayload): string;
19
+ /**
20
+ * The payload this document was rendered with, or null.
21
+ *
22
+ * Read once and memoised: the tag describes the FIRST render only. After a
23
+ * client-side navigation the document still contains it, and re-reading would
24
+ * seed a new page with the previous one's data.
25
+ */
26
+ export declare function readHydratedPageData(): HydrationPayload | null;
27
+ /**
28
+ * Entries to seed a page at `path`, or undefined.
29
+ *
30
+ * Path-guarded: the payload belongs to the document the server rendered, so
31
+ * handing it to a different route would seed that route with another page's
32
+ * answers. Query strings are ignored — they address state within a page.
33
+ */
34
+ export declare function hydratedEntriesFor(path: string): Record<string, PageDataEntry> | undefined;
35
+ /** Test seam: forget the memoised read. */
36
+ export declare function resetHydratedPageData(): void;
37
+ //# sourceMappingURL=hydration.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hydration.d.ts","sourceRoot":"","sources":["../../src/app/hydration.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAexD,+CAA+C;AAC/C,eAAO,MAAM,mBAAmB,uBAAuB,CAAA;AAEvD,MAAM,WAAW,gBAAgB;IAC/B,kDAAkD;IAClD,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,CAAA;IACtC,oFAAoF;IACpF,IAAI,EAAE,MAAM,CAAA;CACb;AAiBD;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM,CAOnE;AAKD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,IAAI,gBAAgB,GAAG,IAAI,CAc9D;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,aAAa,CAAC,GAAG,SAAS,CAK1F;AAED,2CAA2C;AAC3C,wBAAgB,qBAAqB,IAAI,IAAI,CAG5C"}
@@ -0,0 +1,57 @@
1
+ import { historyRouterAdapter } from '@fayz-ai/core';
2
+ import type { ShopProvider } from '@fayz-ai/shop/provider';
3
+ import type { RenderStoreOptions } from '../document/render';
4
+ import type { StoreDocument } from '../document/sections';
5
+ export interface PrerenderPage {
6
+ path: string;
7
+ html: string;
8
+ /** Where a file-writing host should put it: `/product/x` → `product/x/index.html`. */
9
+ outputPath: string;
10
+ title: string;
11
+ /** False when the path rendered the not-found page — excluded from `pages`. */
12
+ found: boolean;
13
+ ok: boolean;
14
+ }
15
+ export interface PrerenderResult {
16
+ pages: PrerenderPage[];
17
+ /** Paths that rendered not-found or errored, with the reason. */
18
+ skipped: Array<{
19
+ path: string;
20
+ reason: string;
21
+ }>;
22
+ sitemapXml: string;
23
+ robotsTxt: string;
24
+ }
25
+ export interface PrerenderOptions extends Omit<RenderStoreOptions, 'path' | 'router' | 'html'> {
26
+ provider: ShopProvider;
27
+ /** Absolute origin. Required for a sitemap — its URLs must be absolute. */
28
+ origin: string;
29
+ /** Defaults to every public path the store has. */
30
+ paths?: readonly string[];
31
+ /** Bounded so a large catalogue does not open one connection per product. */
32
+ concurrency?: number;
33
+ /** Reported per page, so a long run is observable rather than silent. */
34
+ onPage?: (page: PrerenderPage) => void;
35
+ }
36
+ /** `/` → `index.html`; `/product/x` → `product/x/index.html`. */
37
+ export declare function outputPathFor(path: string): string;
38
+ export declare function buildSitemapXml(origin: string, paths: readonly string[]): string;
39
+ /**
40
+ * Disallows the per-shopper routes explicitly.
41
+ *
42
+ * They are not linked from anywhere crawlable, but a crawler that finds one
43
+ * anyway would index a checkout — and crawl budget spent there is budget not
44
+ * spent on products.
45
+ */
46
+ export declare function buildRobotsTxt(origin: string): string;
47
+ /**
48
+ * Render every public page of a store.
49
+ *
50
+ * The router is fixed to real-URL addressing: prerendering a hash-addressed
51
+ * store would write files no URL can reach, which is the whole reason the
52
+ * addressing seam exists.
53
+ */
54
+ export declare function prerenderStore(document: StoreDocument | Record<string, unknown>, options: PrerenderOptions): Promise<PrerenderResult>;
55
+ /** The adapter a browser app should use to serve a prerendered store. */
56
+ export declare const prerenderClientRouter: typeof historyRouterAdapter;
57
+ //# sourceMappingURL=prerender.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prerender.d.ts","sourceRoot":"","sources":["../../src/app/prerender.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAuB,MAAM,eAAe,CAAA;AACzE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAE1D,OAAO,KAAK,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAA;AAI/E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AAezD,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAA;IACZ,IAAI,EAAE,MAAM,CAAA;IACZ,sFAAsF;IACtF,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,+EAA+E;IAC/E,KAAK,EAAE,OAAO,CAAA;IACd,EAAE,EAAE,OAAO,CAAA;CACZ;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,aAAa,EAAE,CAAA;IACtB,iEAAiE;IACjE,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;IAChD,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,MAAM,WAAW,gBACf,SAAQ,IAAI,CAAC,kBAAkB,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC5D,QAAQ,EAAE,YAAY,CAAA;IACtB,2EAA2E;IAC3E,MAAM,EAAE,MAAM,CAAA;IACd,mDAAmD;IACnD,KAAK,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;IACzB,6EAA6E;IAC7E,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yEAAyE;IACzE,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,aAAa,KAAK,IAAI,CAAA;CACvC;AAED,iEAAiE;AACjE,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGlD;AAUD,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,MAAM,EAAE,GAAG,MAAM,CAMhF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAYrD;AAoBD;;;;;;GAMG;AACH,wBAAsB,cAAc,CAClC,QAAQ,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EACjD,OAAO,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAmD1B;AAED,yEAAyE;AACzE,eAAO,MAAM,qBAAqB,6BAAuB,CAAA"}
@@ -1,128 +1,153 @@
1
1
  import React from 'react';
2
+ import { type RouterAdapter } from '@fayz-ai/core';
3
+ export declare const StorefrontRouterProvider: React.Provider<RouterAdapter | null>;
4
+ export declare function useRouterAdapter(): RouterAdapter;
5
+ /** The current in-app path, re-rendering on every navigation. */
6
+ export declare function useRoutePath(): string;
7
+ /** Scroll to top on route change. Separate from path tracking so a host that
8
+ * manages its own scroll restoration can simply not call it. */
9
+ export declare function useScrollToTopOnNavigate(path: string): void;
10
+ export declare function useNavigate(): (to: string) => void;
11
+ /** @deprecated Use `useRoutePath()`. Kept so existing imports keep compiling. */
12
+ export declare const useHashPath: typeof useRoutePath;
13
+ /** Imperative navigation from an event handler. See `_activeAdapter` above. */
2
14
  export declare function navigateTo(to: string): void;
3
- export declare function useHashPath(): string;
15
+ /**
16
+ * The adapter a shell should install for a given render.
17
+ *
18
+ * A `path` override means a static render (`renderStore`, the preview server, a
19
+ * node test): there is no history to own, but anchors must still carry real,
20
+ * crawlable hrefs — which is the whole point of rendering headlessly.
21
+ */
22
+ export declare function shellRouterAdapter(pathOverride: string | undefined, live: RouterAdapter): RouterAdapter;
4
23
  /** Match '/product/:slug' against '/product/leather-backpack' → { slug: 'leather-backpack' } */
5
24
  export declare function matchPath(pattern: string, path: string): Record<string, string> | null;
6
- export interface LinkProps extends React.AnchorHTMLAttributes<HTMLAnchorElement> {
25
+ export interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {
7
26
  to: string;
8
27
  }
9
- /** Real anchor (#/path) — middle-click/cmd-click friendly, Playwright friendly. */
10
- export declare function Link({ to, children, ...rest }: LinkProps): React.DetailedReactHTMLElement<{
28
+ /**
29
+ * A real anchor, always — middle-click, cmd-click, "copy link address" and
30
+ * Playwright all keep working, and a crawler sees a real href.
31
+ *
32
+ * Under hash addressing the browser handles the fragment itself, so the click
33
+ * is left alone. Under real-URL addressing a plain left-click must be
34
+ * intercepted or the browser would do a full document load; modified clicks and
35
+ * explicit targets are still handed to the browser.
36
+ */
37
+ export declare function Link({ to, children, onClick, target, ...rest }: LinkProps): React.DetailedReactHTMLElement<{
38
+ style?: React.CSSProperties | undefined;
39
+ prefix?: string | undefined | undefined;
40
+ slot?: string | undefined | undefined;
41
+ title?: string | undefined | undefined;
11
42
  download?: any;
12
- href: string;
13
- hrefLang?: string | undefined;
14
- media?: string | undefined;
15
- ping?: string | undefined;
16
- target?: React.HTMLAttributeAnchorTarget | undefined;
17
- type?: string | undefined;
43
+ hrefLang?: string | undefined | undefined;
44
+ media?: string | undefined | undefined;
45
+ ping?: string | undefined | undefined;
46
+ type?: string | undefined | undefined;
18
47
  referrerPolicy?: React.HTMLAttributeReferrerPolicy | undefined;
19
- defaultChecked?: boolean | undefined;
48
+ defaultChecked?: boolean | undefined | undefined;
20
49
  defaultValue?: string | number | readonly string[] | undefined;
21
- suppressContentEditableWarning?: boolean | undefined;
22
- suppressHydrationWarning?: boolean | undefined;
23
- accessKey?: string | undefined;
24
- autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {});
25
- autoFocus?: boolean | undefined;
26
- className?: string | undefined;
27
- contentEditable?: (boolean | "false" | "true") | "inherit" | "plaintext-only" | undefined;
28
- contextMenu?: string | undefined;
29
- dir?: string | undefined;
30
- draggable?: (boolean | "false" | "true") | undefined;
31
- enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined;
32
- hidden?: boolean | undefined;
33
- id?: string | undefined;
34
- lang?: string | undefined;
35
- nonce?: string | undefined;
36
- slot?: string | undefined;
37
- spellCheck?: (boolean | "false" | "true") | undefined;
38
- style?: React.CSSProperties | undefined;
39
- tabIndex?: number | undefined;
40
- title?: string | undefined;
41
- translate?: "yes" | "no" | undefined;
42
- radioGroup?: string | undefined;
50
+ suppressContentEditableWarning?: boolean | undefined | undefined;
51
+ suppressHydrationWarning?: boolean | undefined | undefined;
52
+ accessKey?: string | undefined | undefined;
53
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
54
+ autoFocus?: boolean | undefined | undefined;
55
+ className?: string | undefined | undefined;
56
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
57
+ contextMenu?: string | undefined | undefined;
58
+ dir?: string | undefined | undefined;
59
+ draggable?: (boolean | "true" | "false") | undefined;
60
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
61
+ hidden?: boolean | undefined | undefined;
62
+ id?: string | undefined | undefined;
63
+ lang?: string | undefined | undefined;
64
+ nonce?: string | undefined | undefined;
65
+ spellCheck?: (boolean | "true" | "false") | undefined;
66
+ tabIndex?: number | undefined | undefined;
67
+ translate?: "yes" | "no" | undefined | undefined;
68
+ radioGroup?: string | undefined | undefined;
43
69
  role?: React.AriaRole | undefined;
44
- about?: string | undefined;
45
- content?: string | undefined;
46
- datatype?: string | undefined;
70
+ about?: string | undefined | undefined;
71
+ content?: string | undefined | undefined;
72
+ datatype?: string | undefined | undefined;
47
73
  inlist?: any;
48
- prefix?: string | undefined;
49
- property?: string | undefined;
50
- rel?: string | undefined;
51
- resource?: string | undefined;
52
- rev?: string | undefined;
53
- typeof?: string | undefined;
54
- vocab?: string | undefined;
55
- autoCorrect?: string | undefined;
56
- autoSave?: string | undefined;
57
- color?: string | undefined;
58
- itemProp?: string | undefined;
59
- itemScope?: boolean | undefined;
60
- itemType?: string | undefined;
61
- itemID?: string | undefined;
62
- itemRef?: string | undefined;
63
- results?: number | undefined;
64
- security?: string | undefined;
65
- unselectable?: "on" | "off" | undefined;
66
- inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined;
67
- is?: string | undefined;
68
- exportparts?: string | undefined;
69
- part?: string | undefined;
70
- "aria-activedescendant"?: string | undefined;
71
- "aria-atomic"?: (boolean | "false" | "true") | undefined;
72
- "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined;
73
- "aria-braillelabel"?: string | undefined;
74
- "aria-brailleroledescription"?: string | undefined;
75
- "aria-busy"?: (boolean | "false" | "true") | undefined;
76
- "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined;
77
- "aria-colcount"?: number | undefined;
78
- "aria-colindex"?: number | undefined;
79
- "aria-colindextext"?: string | undefined;
80
- "aria-colspan"?: number | undefined;
81
- "aria-controls"?: string | undefined;
82
- "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined;
83
- "aria-describedby"?: string | undefined;
84
- "aria-description"?: string | undefined;
85
- "aria-details"?: string | undefined;
86
- "aria-disabled"?: (boolean | "false" | "true") | undefined;
87
- "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined;
88
- "aria-errormessage"?: string | undefined;
89
- "aria-expanded"?: (boolean | "false" | "true") | undefined;
90
- "aria-flowto"?: string | undefined;
91
- "aria-grabbed"?: (boolean | "false" | "true") | undefined;
92
- "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined;
93
- "aria-hidden"?: (boolean | "false" | "true") | undefined;
94
- "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined;
95
- "aria-keyshortcuts"?: string | undefined;
96
- "aria-label"?: string | undefined;
97
- "aria-labelledby"?: string | undefined;
98
- "aria-level"?: number | undefined;
99
- "aria-live"?: "off" | "assertive" | "polite" | undefined;
100
- "aria-modal"?: (boolean | "false" | "true") | undefined;
101
- "aria-multiline"?: (boolean | "false" | "true") | undefined;
102
- "aria-multiselectable"?: (boolean | "false" | "true") | undefined;
103
- "aria-orientation"?: "horizontal" | "vertical" | undefined;
104
- "aria-owns"?: string | undefined;
105
- "aria-placeholder"?: string | undefined;
106
- "aria-posinset"?: number | undefined;
107
- "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined;
108
- "aria-readonly"?: (boolean | "false" | "true") | undefined;
109
- "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined;
110
- "aria-required"?: (boolean | "false" | "true") | undefined;
111
- "aria-roledescription"?: string | undefined;
112
- "aria-rowcount"?: number | undefined;
113
- "aria-rowindex"?: number | undefined;
114
- "aria-rowindextext"?: string | undefined;
115
- "aria-rowspan"?: number | undefined;
116
- "aria-selected"?: (boolean | "false" | "true") | undefined;
117
- "aria-setsize"?: number | undefined;
118
- "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined;
119
- "aria-valuemax"?: number | undefined;
120
- "aria-valuemin"?: number | undefined;
121
- "aria-valuenow"?: number | undefined;
122
- "aria-valuetext"?: string | undefined;
74
+ property?: string | undefined | undefined;
75
+ rel?: string | undefined | undefined;
76
+ resource?: string | undefined | undefined;
77
+ rev?: string | undefined | undefined;
78
+ typeof?: string | undefined | undefined;
79
+ vocab?: string | undefined | undefined;
80
+ autoCorrect?: string | undefined | undefined;
81
+ autoSave?: string | undefined | undefined;
82
+ color?: string | undefined | undefined;
83
+ itemProp?: string | undefined | undefined;
84
+ itemScope?: boolean | undefined | undefined;
85
+ itemType?: string | undefined | undefined;
86
+ itemID?: string | undefined | undefined;
87
+ itemRef?: string | undefined | undefined;
88
+ results?: number | undefined | undefined;
89
+ security?: string | undefined | undefined;
90
+ unselectable?: "on" | "off" | undefined | undefined;
91
+ inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
92
+ is?: string | undefined | undefined;
93
+ exportparts?: string | undefined | undefined;
94
+ part?: string | undefined | undefined;
95
+ "aria-activedescendant"?: string | undefined | undefined;
96
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
97
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
98
+ "aria-braillelabel"?: string | undefined | undefined;
99
+ "aria-brailleroledescription"?: string | undefined | undefined;
100
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
101
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
102
+ "aria-colcount"?: number | undefined | undefined;
103
+ "aria-colindex"?: number | undefined | undefined;
104
+ "aria-colindextext"?: string | undefined | undefined;
105
+ "aria-colspan"?: number | undefined | undefined;
106
+ "aria-controls"?: string | undefined | undefined;
107
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
108
+ "aria-describedby"?: string | undefined | undefined;
109
+ "aria-description"?: string | undefined | undefined;
110
+ "aria-details"?: string | undefined | undefined;
111
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
112
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
113
+ "aria-errormessage"?: string | undefined | undefined;
114
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
115
+ "aria-flowto"?: string | undefined | undefined;
116
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
117
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
118
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
119
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
120
+ "aria-keyshortcuts"?: string | undefined | undefined;
121
+ "aria-label"?: string | undefined | undefined;
122
+ "aria-labelledby"?: string | undefined | undefined;
123
+ "aria-level"?: number | undefined | undefined;
124
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
125
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
126
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
127
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
128
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
129
+ "aria-owns"?: string | undefined | undefined;
130
+ "aria-placeholder"?: string | undefined | undefined;
131
+ "aria-posinset"?: number | undefined | undefined;
132
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
133
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
134
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
135
+ "aria-required"?: (boolean | "true" | "false") | undefined;
136
+ "aria-roledescription"?: string | undefined | undefined;
137
+ "aria-rowcount"?: number | undefined | undefined;
138
+ "aria-rowindex"?: number | undefined | undefined;
139
+ "aria-rowindextext"?: string | undefined | undefined;
140
+ "aria-rowspan"?: number | undefined | undefined;
141
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
142
+ "aria-setsize"?: number | undefined | undefined;
143
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
144
+ "aria-valuemax"?: number | undefined | undefined;
145
+ "aria-valuemin"?: number | undefined | undefined;
146
+ "aria-valuenow"?: number | undefined | undefined;
147
+ "aria-valuetext"?: string | undefined | undefined;
123
148
  dangerouslySetInnerHTML?: {
124
149
  __html: string | TrustedHTML;
125
- } | undefined;
150
+ } | undefined | undefined;
126
151
  onCopy?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
127
152
  onCopyCapture?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
128
153
  onCut?: React.ClipboardEventHandler<HTMLAnchorElement> | undefined;
@@ -207,7 +232,6 @@ export declare function Link({ to, children, ...rest }: LinkProps): React.Detail
207
232
  onWaitingCapture?: React.ReactEventHandler<HTMLAnchorElement> | undefined;
208
233
  onAuxClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
209
234
  onAuxClickCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
210
- onClick?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
211
235
  onClickCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
212
236
  onContextMenu?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
213
237
  onContextMenuCapture?: React.MouseEventHandler<HTMLAnchorElement> | undefined;
@@ -281,5 +305,8 @@ export declare function Link({ to, children, ...rest }: LinkProps): React.Detail
281
305
  onAnimationIterationCapture?: React.AnimationEventHandler<HTMLAnchorElement> | undefined;
282
306
  onTransitionEnd?: React.TransitionEventHandler<HTMLAnchorElement> | undefined;
283
307
  onTransitionEndCapture?: React.TransitionEventHandler<HTMLAnchorElement> | undefined;
308
+ href: string;
309
+ onClick: (event: React.MouseEvent<HTMLAnchorElement>) => void;
310
+ target: React.HTMLAttributeAnchorTarget | undefined;
284
311
  }, HTMLElement>;
285
312
  //# sourceMappingURL=router.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/app/router.ts"],"names":[],"mappings":"AAAA,OAAO,KAAqE,MAAM,OAAO,CAAA;AACzF,OAAO,EAA6C,KAAK,aAAa,EAAE,MAAM,eAAe,CAAA;AAwB7F,eAAO,MAAM,wBAAwB,sCAAgC,CAAA;AAuBrE,wBAAgB,gBAAgB,IAAI,aAAa,CAOhD;AAED,iEAAiE;AACjE,wBAAgB,YAAY,IAAI,MAAM,CAOrC;AAED;iEACiE;AACjE,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAI3D;AAED,wBAAgB,WAAW,IAAI,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAGlD;AAED,iFAAiF;AACjF,eAAO,MAAM,WAAW,qBAAe,CAAA;AAEvC,+EAA+E;AAC/E,wBAAgB,UAAU,CAAC,EAAE,EAAE,MAAM,GAAG,IAAI,CAE3C;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,YAAY,EAAE,MAAM,GAAG,SAAS,EAAE,IAAI,EAAE,aAAa,GAAG,aAAa,CAOvG;AAED,gGAAgG;AAChG,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,IAAI,CAatF;AAED,MAAM,WAAW,SAAU,SAAQ,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC5F,EAAE,EAAE,MAAM,CAAA;CACX;AAED;;;;;;;;GAQG;AACH,wBAAgB,IAAI,CAAC,EAAE,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,IAAI,EAAE,EAAE,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAG5C,KAAK,CAAC,UAAU,CAAC,iBAAiB,CAAC;;gBAgBhE"}
@@ -1,7 +1,7 @@
1
1
  import React from 'react';
2
2
  import type { AppManifest } from '@fayz-ai/core';
3
- import type { StorefrontConfig } from './config';
4
- import './blocks';
3
+ import type { StorefrontConfig } from '../document/config';
4
+ import '../blocks/registry';
5
5
  /** StorefrontConfig → AppManifest (the sugar-to-data direction). */
6
6
  export declare function defineStorefront(config: StorefrontConfig): AppManifest;
7
7
  export declare function StorefrontScaffold({ manifest, surface }: {
@@ -0,0 +1 @@
1
+ {"version":3,"file":"scaffold.d.ts","sourceRoot":"","sources":["../../src/app/scaffold.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,WAAW,EAAmB,MAAM,eAAe,CAAA;AAGjE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AAK1D,OAAO,oBAAoB,CAAA;AAgB3B,oEAAoE;AACpE,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,gBAAgB,GAAG,WAAW,CA6BtE;AA4CD,wBAAgB,kBAAkB,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;IAAE,QAAQ,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,qBAanG;yBAbe,kBAAkB;;;AAoBlC,wBAAgB,0BAA0B,IAAI,IAAI,CAIjD"}
@@ -0,0 +1,70 @@
1
+ import type { ShopProvider } from '@fayz-ai/shop/provider';
2
+ import type { StorefrontConfig, ResolvedStorefrontConfig } from '../document/config';
3
+ export type StorefrontRouteMatch = {
4
+ kind: 'custom';
5
+ route: NonNullable<ResolvedStorefrontConfig['routes']>[number];
6
+ params: Record<string, string>;
7
+ } | {
8
+ kind: 'product';
9
+ params: Record<string, string>;
10
+ } | {
11
+ kind: 'order';
12
+ params: Record<string, string>;
13
+ } | {
14
+ kind: 'checkout';
15
+ } | {
16
+ kind: 'account';
17
+ } | {
18
+ kind: 'catalog';
19
+ } | {
20
+ kind: 'searchResults';
21
+ } | {
22
+ kind: 'policy';
23
+ policy: 'privacy' | 'terms' | 'returns';
24
+ } | {
25
+ kind: 'content';
26
+ slug: string;
27
+ params: Record<string, string>;
28
+ } | {
29
+ kind: 'home';
30
+ } | {
31
+ kind: 'notFound';
32
+ };
33
+ /**
34
+ * What a path means, resolved once.
35
+ *
36
+ * The shell renders from this, cacheability is derived from it, and a host
37
+ * framework asks it whether a URL exists at all before choosing a status code.
38
+ * Those three answering separately is how a page ends up rendered as one thing
39
+ * and cached or statused as another.
40
+ *
41
+ * The query string is stripped first: it addresses state WITHIN a page, so
42
+ * `/?utm_source=instagram` is the home page — the single most common shape of
43
+ * inbound marketing link, and a 404 for it is a silent, expensive bug.
44
+ */
45
+ export declare function resolveStorefrontRoute(config: StorefrontConfig | ResolvedStorefrontConfig, rawPath: string): StorefrontRouteMatch;
46
+ /** Whether a URL exists at all — what a host needs before choosing a status. */
47
+ export declare function isKnownPath(config: StorefrontConfig | ResolvedStorefrontConfig, path: string): boolean;
48
+ /**
49
+ * Whether `path`'s HTML is identical for every visitor.
50
+ *
51
+ * Conservative by construction: a store's own route is private unless it says
52
+ * otherwise, because guessing "public" is the direction that leaks one
53
+ * shopper's page to another.
54
+ */
55
+ export declare function isPublicPath(config: StorefrontConfig | ResolvedStorefrontConfig, path: string): boolean;
56
+ /**
57
+ * Every path worth prerendering, and the same list a sitemap should carry.
58
+ *
59
+ * Product URLs come from the catalogue rather than the route table, so the
60
+ * provider is asked rather than guessed at. Custom routes with parameters are
61
+ * skipped: the SDK cannot know what values a store's own route accepts, and
62
+ * emitting `/colecao/:slug` into a sitemap is worse than omitting it.
63
+ */
64
+ export declare function storefrontPaths(input: {
65
+ config: StorefrontConfig | ResolvedStorefrontConfig;
66
+ provider: ShopProvider;
67
+ /** Include per-shopper routes. Off by default — they are not prerenderable. */
68
+ includePrivate?: boolean;
69
+ }): Promise<string[]>;
70
+ //# sourceMappingURL=serving.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serving.d.ts","sourceRoot":"","sources":["../../src/app/serving.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAA;AAI1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAA;AAcpF,MAAM,MAAM,oBAAoB,GAC5B;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,KAAK,EAAE,WAAW,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GAClH;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACnD;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjD;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,GACpB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,GACnB;IAAE,IAAI,EAAE,eAAe,CAAA;CAAE,GACzB;IAAE,IAAI,EAAE,QAAQ,CAAC;IAAC,MAAM,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAAA;CAAE,GAC3D;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;CAAE,GACjE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAChB;IAAE,IAAI,EAAE,UAAU,CAAA;CAAE,CAAA;AAExB;;;;;;;;;;;GAWG;AACH,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,OAAO,EAAE,MAAM,GACd,oBAAoB,CAgCtB;AAED,gFAAgF;AAChF,wBAAgB,WAAW,CACzB,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAET;AAcD;;;;;;GAMG;AACH,wBAAgB,YAAY,CAC1B,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,EACnD,IAAI,EAAE,MAAM,GACX,OAAO,CAgBT;AAED;;;;;;;GAOG;AACH,wBAAsB,eAAe,CAAC,KAAK,EAAE;IAC3C,MAAM,EAAE,gBAAgB,GAAG,wBAAwB,CAAA;IACnD,QAAQ,EAAE,YAAY,CAAA;IACtB,+EAA+E;IAC/E,cAAc,CAAC,EAAE,OAAO,CAAA;CACzB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,CAapB"}