@thorprovider/blocks 4.1.0 → 4.3.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 (1122) hide show
  1. package/dist/blocks/designs/address-book-advanced/block.d.ts +8 -0
  2. package/dist/blocks/designs/address-book-advanced/block.d.ts.map +1 -0
  3. package/dist/blocks/designs/address-book-advanced/block.js +36 -0
  4. package/dist/blocks/designs/address-book-advanced/block.js.map +1 -0
  5. package/dist/blocks/designs/address-book-advanced/block.mjs +12 -0
  6. package/dist/blocks/designs/address-book-advanced/block.mjs.map +1 -0
  7. package/dist/blocks/designs/address-book-advanced/components/address-action-menu.d.ts +17 -0
  8. package/dist/blocks/designs/address-book-advanced/components/address-action-menu.d.ts.map +1 -0
  9. package/dist/blocks/designs/address-book-advanced/components/address-action-menu.js +123 -0
  10. package/dist/blocks/designs/address-book-advanced/components/address-action-menu.js.map +1 -0
  11. package/dist/blocks/designs/address-book-advanced/components/address-action-menu.mjs +99 -0
  12. package/dist/blocks/designs/address-book-advanced/components/address-action-menu.mjs.map +1 -0
  13. package/dist/blocks/designs/address-book-advanced/components/address-book-header.d.ts +15 -0
  14. package/dist/blocks/designs/address-book-advanced/components/address-book-header.d.ts.map +1 -0
  15. package/dist/blocks/designs/address-book-advanced/components/address-book-header.js +52 -0
  16. package/dist/blocks/designs/address-book-advanced/components/address-book-header.js.map +1 -0
  17. package/dist/blocks/designs/address-book-advanced/components/address-book-header.mjs +28 -0
  18. package/dist/blocks/designs/address-book-advanced/components/address-book-header.mjs.map +1 -0
  19. package/dist/blocks/designs/address-book-advanced/components/address-book-panel.d.ts +25 -0
  20. package/dist/blocks/designs/address-book-advanced/components/address-book-panel.d.ts.map +1 -0
  21. package/dist/blocks/designs/address-book-advanced/components/address-book-panel.js +495 -0
  22. package/dist/blocks/designs/address-book-advanced/components/address-book-panel.js.map +1 -0
  23. package/dist/blocks/designs/address-book-advanced/components/address-book-panel.mjs +476 -0
  24. package/dist/blocks/designs/address-book-advanced/components/address-book-panel.mjs.map +1 -0
  25. package/dist/blocks/designs/address-book-advanced/components/address-card-status.d.ts +12 -0
  26. package/dist/blocks/designs/address-book-advanced/components/address-card-status.d.ts.map +1 -0
  27. package/dist/blocks/designs/address-book-advanced/components/address-card-status.js +47 -0
  28. package/dist/blocks/designs/address-book-advanced/components/address-card-status.js.map +1 -0
  29. package/dist/blocks/designs/address-book-advanced/components/address-card-status.mjs +23 -0
  30. package/dist/blocks/designs/address-book-advanced/components/address-card-status.mjs.map +1 -0
  31. package/dist/blocks/designs/address-book-advanced/components/address-card.d.ts +26 -0
  32. package/dist/blocks/designs/address-book-advanced/components/address-card.d.ts.map +1 -0
  33. package/dist/blocks/designs/address-book-advanced/components/address-card.js +274 -0
  34. package/dist/blocks/designs/address-book-advanced/components/address-card.js.map +1 -0
  35. package/dist/blocks/designs/address-book-advanced/components/address-card.mjs +250 -0
  36. package/dist/blocks/designs/address-book-advanced/components/address-card.mjs.map +1 -0
  37. package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.d.ts +15 -0
  38. package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.d.ts.map +1 -0
  39. package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.js +100 -0
  40. package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.js.map +1 -0
  41. package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.mjs +76 -0
  42. package/dist/blocks/designs/address-book-advanced/components/address-delete-dialog.mjs.map +1 -0
  43. package/dist/blocks/designs/address-book-advanced/components/address-empty-state.d.ts +11 -0
  44. package/dist/blocks/designs/address-book-advanced/components/address-empty-state.d.ts.map +1 -0
  45. package/dist/blocks/designs/address-book-advanced/components/address-empty-state.js +46 -0
  46. package/dist/blocks/designs/address-book-advanced/components/address-empty-state.js.map +1 -0
  47. package/dist/blocks/designs/address-book-advanced/components/address-empty-state.mjs +22 -0
  48. package/dist/blocks/designs/address-book-advanced/components/address-empty-state.mjs.map +1 -0
  49. package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.d.ts +16 -0
  50. package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.d.ts.map +1 -0
  51. package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.js +56 -0
  52. package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.js.map +1 -0
  53. package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.mjs +32 -0
  54. package/dist/blocks/designs/address-book-advanced/components/address-form-drawer.mjs.map +1 -0
  55. package/dist/blocks/designs/address-book-advanced/components/address-form.d.ts +27 -0
  56. package/dist/blocks/designs/address-book-advanced/components/address-form.d.ts.map +1 -0
  57. package/dist/blocks/designs/address-book-advanced/components/address-form.js +699 -0
  58. package/dist/blocks/designs/address-book-advanced/components/address-form.js.map +1 -0
  59. package/dist/blocks/designs/address-book-advanced/components/address-form.mjs +675 -0
  60. package/dist/blocks/designs/address-book-advanced/components/address-form.mjs.map +1 -0
  61. package/dist/blocks/designs/address-book-advanced/components/address-list.d.ts +26 -0
  62. package/dist/blocks/designs/address-book-advanced/components/address-list.d.ts.map +1 -0
  63. package/dist/blocks/designs/address-book-advanced/components/address-list.js +78 -0
  64. package/dist/blocks/designs/address-book-advanced/components/address-list.js.map +1 -0
  65. package/dist/blocks/designs/address-book-advanced/components/address-list.mjs +54 -0
  66. package/dist/blocks/designs/address-book-advanced/components/address-list.mjs.map +1 -0
  67. package/dist/blocks/designs/address-book-advanced/components/address-pagination.d.ts +11 -0
  68. package/dist/blocks/designs/address-book-advanced/components/address-pagination.d.ts.map +1 -0
  69. package/dist/blocks/designs/address-book-advanced/components/address-pagination.js +82 -0
  70. package/dist/blocks/designs/address-book-advanced/components/address-pagination.js.map +1 -0
  71. package/dist/blocks/designs/address-book-advanced/components/address-pagination.mjs +58 -0
  72. package/dist/blocks/designs/address-book-advanced/components/address-pagination.mjs.map +1 -0
  73. package/dist/blocks/designs/address-book-advanced/components/address-toolbar.d.ts +14 -0
  74. package/dist/blocks/designs/address-book-advanced/components/address-toolbar.d.ts.map +1 -0
  75. package/dist/blocks/designs/address-book-advanced/components/address-toolbar.js +121 -0
  76. package/dist/blocks/designs/address-book-advanced/components/address-toolbar.js.map +1 -0
  77. package/dist/blocks/designs/address-book-advanced/components/address-toolbar.mjs +97 -0
  78. package/dist/blocks/designs/address-book-advanced/components/address-toolbar.mjs.map +1 -0
  79. package/dist/blocks/designs/address-book-advanced/components/modal-dialog.d.ts +16 -0
  80. package/dist/blocks/designs/address-book-advanced/components/modal-dialog.d.ts.map +1 -0
  81. package/dist/blocks/designs/address-book-advanced/components/modal-dialog.js +71 -0
  82. package/dist/blocks/designs/address-book-advanced/components/modal-dialog.js.map +1 -0
  83. package/dist/blocks/designs/address-book-advanced/components/modal-dialog.mjs +47 -0
  84. package/dist/blocks/designs/address-book-advanced/components/modal-dialog.mjs.map +1 -0
  85. package/dist/blocks/designs/address-book-advanced/contract.d.ts +4128 -0
  86. package/dist/blocks/designs/address-book-advanced/contract.d.ts.map +1 -0
  87. package/dist/blocks/designs/address-book-advanced/contract.js +582 -0
  88. package/dist/blocks/designs/address-book-advanced/contract.js.map +1 -0
  89. package/dist/blocks/designs/address-book-advanced/contract.mjs +557 -0
  90. package/dist/blocks/designs/address-book-advanced/contract.mjs.map +1 -0
  91. package/dist/blocks/designs/address-book-advanced/contracts.d.ts +205 -0
  92. package/dist/blocks/designs/address-book-advanced/contracts.d.ts.map +1 -0
  93. package/dist/blocks/designs/address-book-advanced/contracts.js +38 -0
  94. package/dist/blocks/designs/address-book-advanced/contracts.js.map +1 -0
  95. package/dist/blocks/designs/address-book-advanced/contracts.mjs +14 -0
  96. package/dist/blocks/designs/address-book-advanced/contracts.mjs.map +1 -0
  97. package/dist/blocks/designs/address-book-advanced/countries.d.ts +13 -0
  98. package/dist/blocks/designs/address-book-advanced/countries.d.ts.map +1 -0
  99. package/dist/blocks/designs/address-book-advanced/countries.js +64 -0
  100. package/dist/blocks/designs/address-book-advanced/countries.js.map +1 -0
  101. package/dist/blocks/designs/address-book-advanced/countries.mjs +36 -0
  102. package/dist/blocks/designs/address-book-advanced/countries.mjs.map +1 -0
  103. package/dist/blocks/designs/address-book-advanced/data.d.ts +3 -0
  104. package/dist/blocks/designs/address-book-advanced/data.d.ts.map +1 -0
  105. package/dist/blocks/designs/address-book-advanced/data.js +17 -0
  106. package/dist/blocks/designs/address-book-advanced/data.js.map +1 -0
  107. package/dist/blocks/designs/address-book-advanced/data.mjs +1 -0
  108. package/dist/blocks/designs/address-book-advanced/data.mjs.map +1 -0
  109. package/dist/blocks/designs/address-book-advanced/helpers.d.ts +40 -0
  110. package/dist/blocks/designs/address-book-advanced/helpers.d.ts.map +1 -0
  111. package/dist/blocks/designs/address-book-advanced/helpers.js +247 -0
  112. package/dist/blocks/designs/address-book-advanced/helpers.js.map +1 -0
  113. package/dist/blocks/designs/address-book-advanced/helpers.mjs +210 -0
  114. package/dist/blocks/designs/address-book-advanced/helpers.mjs.map +1 -0
  115. package/dist/blocks/designs/address-book-advanced/index.d.ts +3 -0
  116. package/dist/blocks/designs/address-book-advanced/index.d.ts.map +1 -0
  117. package/dist/blocks/designs/address-book-advanced/index.js +36 -0
  118. package/dist/blocks/designs/address-book-advanced/index.js.map +1 -0
  119. package/dist/blocks/designs/address-book-advanced/index.mjs +6 -0
  120. package/dist/blocks/designs/address-book-advanced/index.mjs.map +1 -0
  121. package/dist/blocks/designs/address-book-advanced/surface-contract.d.ts +542 -0
  122. package/dist/blocks/designs/address-book-advanced/surface-contract.d.ts.map +1 -0
  123. package/dist/blocks/designs/address-book-advanced/surface-contract.js +17 -0
  124. package/dist/blocks/designs/address-book-advanced/surface-contract.js.map +1 -0
  125. package/dist/blocks/designs/address-book-advanced/surface-contract.mjs +1 -0
  126. package/dist/blocks/designs/address-book-advanced/surface-contract.mjs.map +1 -0
  127. package/dist/blocks/designs/address-book-advanced/validation.d.ts +13 -0
  128. package/dist/blocks/designs/address-book-advanced/validation.d.ts.map +1 -0
  129. package/dist/blocks/designs/address-book-advanced/validation.js +84 -0
  130. package/dist/blocks/designs/address-book-advanced/validation.js.map +1 -0
  131. package/dist/blocks/designs/address-book-advanced/validation.mjs +59 -0
  132. package/dist/blocks/designs/address-book-advanced/validation.mjs.map +1 -0
  133. package/dist/blocks/designs/checkout-commerce-v1/block.d.ts +4 -16
  134. package/dist/blocks/designs/checkout-commerce-v1/block.d.ts.map +1 -1
  135. package/dist/blocks/designs/checkout-commerce-v1/block.js +55 -2403
  136. package/dist/blocks/designs/checkout-commerce-v1/block.js.map +1 -1
  137. package/dist/blocks/designs/checkout-commerce-v1/block.mjs +56 -2404
  138. package/dist/blocks/designs/checkout-commerce-v1/block.mjs.map +1 -1
  139. package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.d.ts +34 -0
  140. package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.d.ts.map +1 -0
  141. package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.js +898 -0
  142. package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.js.map +1 -0
  143. package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.mjs +874 -0
  144. package/dist/blocks/designs/checkout-commerce-v1/demo/use-demo-checkout.mjs.map +1 -0
  145. package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.d.ts +3 -0
  146. package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.d.ts.map +1 -0
  147. package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.js +94 -0
  148. package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.js.map +1 -0
  149. package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.mjs +70 -0
  150. package/dist/blocks/designs/checkout-commerce-v1/hosted/checkout-commerce-v1-hosted.mjs.map +1 -0
  151. package/dist/blocks/designs/checkout-commerce-v1/hosted/types.d.ts +6 -0
  152. package/dist/blocks/designs/checkout-commerce-v1/hosted/types.d.ts.map +1 -0
  153. package/dist/blocks/designs/checkout-commerce-v1/hosted/types.js +17 -0
  154. package/dist/blocks/designs/checkout-commerce-v1/hosted/types.js.map +1 -0
  155. package/dist/blocks/designs/checkout-commerce-v1/hosted/types.mjs +1 -0
  156. package/dist/blocks/designs/checkout-commerce-v1/hosted/types.mjs.map +1 -0
  157. package/dist/blocks/designs/checkout-commerce-v1/index.d.ts +5 -0
  158. package/dist/blocks/designs/checkout-commerce-v1/index.d.ts.map +1 -1
  159. package/dist/blocks/designs/checkout-commerce-v1/index.js +9 -0
  160. package/dist/blocks/designs/checkout-commerce-v1/index.js.map +1 -1
  161. package/dist/blocks/designs/checkout-commerce-v1/index.mjs +4 -0
  162. package/dist/blocks/designs/checkout-commerce-v1/index.mjs.map +1 -1
  163. package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.d.ts +11 -0
  164. package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.d.ts.map +1 -0
  165. package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.js +73 -0
  166. package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.js.map +1 -0
  167. package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.mjs +49 -0
  168. package/dist/blocks/designs/checkout-commerce-v1/view/address-choices.mjs.map +1 -0
  169. package/dist/blocks/designs/checkout-commerce-v1/view/address-form.d.ts +25 -0
  170. package/dist/blocks/designs/checkout-commerce-v1/view/address-form.d.ts.map +1 -0
  171. package/dist/blocks/designs/checkout-commerce-v1/view/address-form.js +355 -0
  172. package/dist/blocks/designs/checkout-commerce-v1/view/address-form.js.map +1 -0
  173. package/dist/blocks/designs/checkout-commerce-v1/view/address-form.mjs +331 -0
  174. package/dist/blocks/designs/checkout-commerce-v1/view/address-form.mjs.map +1 -0
  175. package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.d.ts +24 -0
  176. package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.d.ts.map +1 -0
  177. package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.js +203 -0
  178. package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.js.map +1 -0
  179. package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.mjs +179 -0
  180. package/dist/blocks/designs/checkout-commerce-v1/view/buyer-section.mjs.map +1 -0
  181. package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.d.ts +6 -0
  182. package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.d.ts.map +1 -0
  183. package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.js +1359 -0
  184. package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.js.map +1 -0
  185. package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.mjs +1346 -0
  186. package/dist/blocks/designs/checkout-commerce-v1/view/checkout-view.mjs.map +1 -0
  187. package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.d.ts +15 -0
  188. package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.d.ts.map +1 -0
  189. package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.js +288 -0
  190. package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.js.map +1 -0
  191. package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.mjs +272 -0
  192. package/dist/blocks/designs/checkout-commerce-v1/view/confirmation-view.mjs.map +1 -0
  193. package/dist/blocks/designs/checkout-commerce-v1/view/format.d.ts +35 -0
  194. package/dist/blocks/designs/checkout-commerce-v1/view/format.d.ts.map +1 -0
  195. package/dist/blocks/designs/checkout-commerce-v1/view/format.js +84 -0
  196. package/dist/blocks/designs/checkout-commerce-v1/view/format.js.map +1 -0
  197. package/dist/blocks/designs/checkout-commerce-v1/view/format.mjs +51 -0
  198. package/dist/blocks/designs/checkout-commerce-v1/view/format.mjs.map +1 -0
  199. package/dist/blocks/designs/checkout-commerce-v1/view/option-group.d.ts +17 -0
  200. package/dist/blocks/designs/checkout-commerce-v1/view/option-group.d.ts.map +1 -0
  201. package/dist/blocks/designs/checkout-commerce-v1/view/option-group.js +86 -0
  202. package/dist/blocks/designs/checkout-commerce-v1/view/option-group.js.map +1 -0
  203. package/dist/blocks/designs/checkout-commerce-v1/view/option-group.mjs +62 -0
  204. package/dist/blocks/designs/checkout-commerce-v1/view/option-group.mjs.map +1 -0
  205. package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.d.ts +6 -0
  206. package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.d.ts.map +1 -0
  207. package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.js +39 -0
  208. package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.js.map +1 -0
  209. package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.mjs +15 -0
  210. package/dist/blocks/designs/checkout-commerce-v1/view/summary-row.mjs.map +1 -0
  211. package/dist/blocks/designs/checkout-commerce-v1/view/types.d.ts +370 -0
  212. package/dist/blocks/designs/checkout-commerce-v1/view/types.d.ts.map +1 -0
  213. package/dist/blocks/designs/checkout-commerce-v1/view/types.js +17 -0
  214. package/dist/blocks/designs/checkout-commerce-v1/view/types.js.map +1 -0
  215. package/dist/blocks/designs/checkout-commerce-v1/view/types.mjs +1 -0
  216. package/dist/blocks/designs/checkout-commerce-v1/view/types.mjs.map +1 -0
  217. package/dist/blocks/designs/customer-account-overview/block.d.ts +5 -0
  218. package/dist/blocks/designs/customer-account-overview/block.d.ts.map +1 -0
  219. package/dist/blocks/designs/customer-account-overview/block.js +36 -0
  220. package/dist/blocks/designs/customer-account-overview/block.js.map +1 -0
  221. package/dist/blocks/designs/customer-account-overview/block.mjs +12 -0
  222. package/dist/blocks/designs/customer-account-overview/block.mjs.map +1 -0
  223. package/dist/blocks/designs/customer-account-overview/components/account-card.d.ts +12 -0
  224. package/dist/blocks/designs/customer-account-overview/components/account-card.d.ts.map +1 -0
  225. package/dist/blocks/designs/customer-account-overview/components/account-card.js +57 -0
  226. package/dist/blocks/designs/customer-account-overview/components/account-card.js.map +1 -0
  227. package/dist/blocks/designs/customer-account-overview/components/account-card.mjs +33 -0
  228. package/dist/blocks/designs/customer-account-overview/components/account-card.mjs.map +1 -0
  229. package/dist/blocks/designs/customer-account-overview/components/account-icon.d.ts +17 -0
  230. package/dist/blocks/designs/customer-account-overview/components/account-icon.d.ts.map +1 -0
  231. package/dist/blocks/designs/customer-account-overview/components/account-icon.js +122 -0
  232. package/dist/blocks/designs/customer-account-overview/components/account-icon.js.map +1 -0
  233. package/dist/blocks/designs/customer-account-overview/components/account-icon.mjs +97 -0
  234. package/dist/blocks/designs/customer-account-overview/components/account-icon.mjs.map +1 -0
  235. package/dist/blocks/designs/customer-account-overview/components/account-notice.d.ts +8 -0
  236. package/dist/blocks/designs/customer-account-overview/components/account-notice.d.ts.map +1 -0
  237. package/dist/blocks/designs/customer-account-overview/components/account-notice.js +58 -0
  238. package/dist/blocks/designs/customer-account-overview/components/account-notice.js.map +1 -0
  239. package/dist/blocks/designs/customer-account-overview/components/account-notice.mjs +34 -0
  240. package/dist/blocks/designs/customer-account-overview/components/account-notice.mjs.map +1 -0
  241. package/dist/blocks/designs/customer-account-overview/components/account-overview.d.ts +11 -0
  242. package/dist/blocks/designs/customer-account-overview/components/account-overview.d.ts.map +1 -0
  243. package/dist/blocks/designs/customer-account-overview/components/account-overview.js +64 -0
  244. package/dist/blocks/designs/customer-account-overview/components/account-overview.js.map +1 -0
  245. package/dist/blocks/designs/customer-account-overview/components/account-overview.mjs +40 -0
  246. package/dist/blocks/designs/customer-account-overview/components/account-overview.mjs.map +1 -0
  247. package/dist/blocks/designs/customer-account-overview/contracts.d.ts +241 -0
  248. package/dist/blocks/designs/customer-account-overview/contracts.d.ts.map +1 -0
  249. package/dist/blocks/designs/customer-account-overview/contracts.js +29 -0
  250. package/dist/blocks/designs/customer-account-overview/contracts.js.map +1 -0
  251. package/dist/blocks/designs/customer-account-overview/contracts.mjs +5 -0
  252. package/dist/blocks/designs/customer-account-overview/contracts.mjs.map +1 -0
  253. package/dist/blocks/designs/customer-account-overview/helpers.d.ts +7 -0
  254. package/dist/blocks/designs/customer-account-overview/helpers.d.ts.map +1 -0
  255. package/dist/blocks/designs/customer-account-overview/helpers.js +70 -0
  256. package/dist/blocks/designs/customer-account-overview/helpers.js.map +1 -0
  257. package/dist/blocks/designs/customer-account-overview/helpers.mjs +43 -0
  258. package/dist/blocks/designs/customer-account-overview/helpers.mjs.map +1 -0
  259. package/dist/blocks/designs/customer-account-overview/index.d.ts +3 -0
  260. package/dist/blocks/designs/customer-account-overview/index.d.ts.map +1 -0
  261. package/dist/blocks/designs/customer-account-overview/index.js +36 -0
  262. package/dist/blocks/designs/customer-account-overview/index.js.map +1 -0
  263. package/dist/blocks/designs/customer-account-overview/index.mjs +6 -0
  264. package/dist/blocks/designs/customer-account-overview/index.mjs.map +1 -0
  265. package/dist/blocks/designs/customer-account-overview/modules.d.ts +12 -0
  266. package/dist/blocks/designs/customer-account-overview/modules.d.ts.map +1 -0
  267. package/dist/blocks/designs/customer-account-overview/modules.js +50 -0
  268. package/dist/blocks/designs/customer-account-overview/modules.js.map +1 -0
  269. package/dist/blocks/designs/customer-account-overview/modules.mjs +23 -0
  270. package/dist/blocks/designs/customer-account-overview/modules.mjs.map +1 -0
  271. package/dist/blocks/designs/customer-account-placeholder/block.d.ts +5 -0
  272. package/dist/blocks/designs/customer-account-placeholder/block.d.ts.map +1 -0
  273. package/dist/blocks/designs/customer-account-placeholder/block.js +36 -0
  274. package/dist/blocks/designs/customer-account-placeholder/block.js.map +1 -0
  275. package/dist/blocks/designs/customer-account-placeholder/block.mjs +12 -0
  276. package/dist/blocks/designs/customer-account-placeholder/block.mjs.map +1 -0
  277. package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.d.ts +8 -0
  278. package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.d.ts.map +1 -0
  279. package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.js +46 -0
  280. package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.js.map +1 -0
  281. package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.mjs +22 -0
  282. package/dist/blocks/designs/customer-account-placeholder/components/module-placeholder.mjs.map +1 -0
  283. package/dist/blocks/designs/customer-account-placeholder/contracts.d.ts +241 -0
  284. package/dist/blocks/designs/customer-account-placeholder/contracts.d.ts.map +1 -0
  285. package/dist/blocks/designs/customer-account-placeholder/contracts.js +29 -0
  286. package/dist/blocks/designs/customer-account-placeholder/contracts.js.map +1 -0
  287. package/dist/blocks/designs/customer-account-placeholder/contracts.mjs +5 -0
  288. package/dist/blocks/designs/customer-account-placeholder/contracts.mjs.map +1 -0
  289. package/dist/blocks/designs/customer-account-placeholder/index.d.ts +3 -0
  290. package/dist/blocks/designs/customer-account-placeholder/index.d.ts.map +1 -0
  291. package/dist/blocks/designs/customer-account-placeholder/index.js +36 -0
  292. package/dist/blocks/designs/customer-account-placeholder/index.js.map +1 -0
  293. package/dist/blocks/designs/customer-account-placeholder/index.mjs +6 -0
  294. package/dist/blocks/designs/customer-account-placeholder/index.mjs.map +1 -0
  295. package/dist/blocks/designs/customer-account-v1/block.d.ts +5 -0
  296. package/dist/blocks/designs/customer-account-v1/block.d.ts.map +1 -0
  297. package/dist/blocks/designs/customer-account-v1/block.js +36 -0
  298. package/dist/blocks/designs/customer-account-v1/block.js.map +1 -0
  299. package/dist/blocks/designs/customer-account-v1/block.mjs +12 -0
  300. package/dist/blocks/designs/customer-account-v1/block.mjs.map +1 -0
  301. package/dist/blocks/designs/customer-account-v1/components/account-context-bar.d.ts +8 -0
  302. package/dist/blocks/designs/customer-account-v1/components/account-context-bar.d.ts.map +1 -0
  303. package/dist/blocks/designs/customer-account-v1/components/account-context-bar.js +47 -0
  304. package/dist/blocks/designs/customer-account-v1/components/account-context-bar.js.map +1 -0
  305. package/dist/blocks/designs/customer-account-v1/components/account-context-bar.mjs +23 -0
  306. package/dist/blocks/designs/customer-account-v1/components/account-context-bar.mjs.map +1 -0
  307. package/dist/blocks/designs/customer-account-v1/components/account-header.d.ts +11 -0
  308. package/dist/blocks/designs/customer-account-v1/components/account-header.d.ts.map +1 -0
  309. package/dist/blocks/designs/customer-account-v1/components/account-header.js +68 -0
  310. package/dist/blocks/designs/customer-account-v1/components/account-header.js.map +1 -0
  311. package/dist/blocks/designs/customer-account-v1/components/account-header.mjs +44 -0
  312. package/dist/blocks/designs/customer-account-v1/components/account-header.mjs.map +1 -0
  313. package/dist/blocks/designs/customer-account-v1/components/account-icon.d.ts +17 -0
  314. package/dist/blocks/designs/customer-account-v1/components/account-icon.d.ts.map +1 -0
  315. package/dist/blocks/designs/customer-account-v1/components/account-icon.js +122 -0
  316. package/dist/blocks/designs/customer-account-v1/components/account-icon.js.map +1 -0
  317. package/dist/blocks/designs/customer-account-v1/components/account-icon.mjs +97 -0
  318. package/dist/blocks/designs/customer-account-v1/components/account-icon.mjs.map +1 -0
  319. package/dist/blocks/designs/customer-account-v1/components/account-shell.d.ts +11 -0
  320. package/dist/blocks/designs/customer-account-v1/components/account-shell.d.ts.map +1 -0
  321. package/dist/blocks/designs/customer-account-v1/components/account-shell.js +128 -0
  322. package/dist/blocks/designs/customer-account-v1/components/account-shell.js.map +1 -0
  323. package/dist/blocks/designs/customer-account-v1/components/account-shell.mjs +104 -0
  324. package/dist/blocks/designs/customer-account-v1/components/account-shell.mjs.map +1 -0
  325. package/dist/blocks/designs/customer-account-v1/contracts.d.ts +241 -0
  326. package/dist/blocks/designs/customer-account-v1/contracts.d.ts.map +1 -0
  327. package/dist/blocks/designs/customer-account-v1/contracts.js +29 -0
  328. package/dist/blocks/designs/customer-account-v1/contracts.js.map +1 -0
  329. package/dist/blocks/designs/customer-account-v1/contracts.mjs +5 -0
  330. package/dist/blocks/designs/customer-account-v1/contracts.mjs.map +1 -0
  331. package/dist/blocks/designs/customer-account-v1/helpers.d.ts +7 -0
  332. package/dist/blocks/designs/customer-account-v1/helpers.d.ts.map +1 -0
  333. package/dist/blocks/designs/customer-account-v1/helpers.js +70 -0
  334. package/dist/blocks/designs/customer-account-v1/helpers.js.map +1 -0
  335. package/dist/blocks/designs/customer-account-v1/helpers.mjs +43 -0
  336. package/dist/blocks/designs/customer-account-v1/helpers.mjs.map +1 -0
  337. package/dist/blocks/designs/customer-account-v1/index.d.ts +3 -0
  338. package/dist/blocks/designs/customer-account-v1/index.d.ts.map +1 -0
  339. package/dist/blocks/designs/customer-account-v1/index.js +36 -0
  340. package/dist/blocks/designs/customer-account-v1/index.js.map +1 -0
  341. package/dist/blocks/designs/customer-account-v1/index.mjs +6 -0
  342. package/dist/blocks/designs/customer-account-v1/index.mjs.map +1 -0
  343. package/dist/blocks/designs/customer-account-v1/modules.d.ts +12 -0
  344. package/dist/blocks/designs/customer-account-v1/modules.d.ts.map +1 -0
  345. package/dist/blocks/designs/customer-account-v1/modules.js +50 -0
  346. package/dist/blocks/designs/customer-account-v1/modules.js.map +1 -0
  347. package/dist/blocks/designs/customer-account-v1/modules.mjs +23 -0
  348. package/dist/blocks/designs/customer-account-v1/modules.mjs.map +1 -0
  349. package/dist/blocks/designs/customer-favorites/block.d.ts +8 -0
  350. package/dist/blocks/designs/customer-favorites/block.d.ts.map +1 -0
  351. package/dist/blocks/designs/customer-favorites/block.js +36 -0
  352. package/dist/blocks/designs/customer-favorites/block.js.map +1 -0
  353. package/dist/blocks/designs/customer-favorites/block.mjs +12 -0
  354. package/dist/blocks/designs/customer-favorites/block.mjs.map +1 -0
  355. package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.d.ts +17 -0
  356. package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.d.ts.map +1 -0
  357. package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.js +94 -0
  358. package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.js.map +1 -0
  359. package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.mjs +70 -0
  360. package/dist/blocks/designs/customer-favorites/components/bulk-lists-dialog.mjs.map +1 -0
  361. package/dist/blocks/designs/customer-favorites/components/cart-feedback.d.ts +21 -0
  362. package/dist/blocks/designs/customer-favorites/components/cart-feedback.d.ts.map +1 -0
  363. package/dist/blocks/designs/customer-favorites/components/cart-feedback.js +167 -0
  364. package/dist/blocks/designs/customer-favorites/components/cart-feedback.js.map +1 -0
  365. package/dist/blocks/designs/customer-favorites/components/cart-feedback.mjs +143 -0
  366. package/dist/blocks/designs/customer-favorites/components/cart-feedback.mjs.map +1 -0
  367. package/dist/blocks/designs/customer-favorites/components/confirm-dialog.d.ts +15 -0
  368. package/dist/blocks/designs/customer-favorites/components/confirm-dialog.d.ts.map +1 -0
  369. package/dist/blocks/designs/customer-favorites/components/confirm-dialog.js +67 -0
  370. package/dist/blocks/designs/customer-favorites/components/confirm-dialog.js.map +1 -0
  371. package/dist/blocks/designs/customer-favorites/components/confirm-dialog.mjs +43 -0
  372. package/dist/blocks/designs/customer-favorites/components/confirm-dialog.mjs.map +1 -0
  373. package/dist/blocks/designs/customer-favorites/components/customer-favorites.d.ts +23 -0
  374. package/dist/blocks/designs/customer-favorites/components/customer-favorites.d.ts.map +1 -0
  375. package/dist/blocks/designs/customer-favorites/components/customer-favorites.js +889 -0
  376. package/dist/blocks/designs/customer-favorites/components/customer-favorites.js.map +1 -0
  377. package/dist/blocks/designs/customer-favorites/components/customer-favorites.mjs +874 -0
  378. package/dist/blocks/designs/customer-favorites/components/customer-favorites.mjs.map +1 -0
  379. package/dist/blocks/designs/customer-favorites/components/dialog-frame.d.ts +15 -0
  380. package/dist/blocks/designs/customer-favorites/components/dialog-frame.d.ts.map +1 -0
  381. package/dist/blocks/designs/customer-favorites/components/dialog-frame.js +92 -0
  382. package/dist/blocks/designs/customer-favorites/components/dialog-frame.js.map +1 -0
  383. package/dist/blocks/designs/customer-favorites/components/dialog-frame.mjs +68 -0
  384. package/dist/blocks/designs/customer-favorites/components/dialog-frame.mjs.map +1 -0
  385. package/dist/blocks/designs/customer-favorites/components/favorite-button.d.ts +18 -0
  386. package/dist/blocks/designs/customer-favorites/components/favorite-button.d.ts.map +1 -0
  387. package/dist/blocks/designs/customer-favorites/components/favorite-button.js +77 -0
  388. package/dist/blocks/designs/customer-favorites/components/favorite-button.js.map +1 -0
  389. package/dist/blocks/designs/customer-favorites/components/favorite-button.mjs +53 -0
  390. package/dist/blocks/designs/customer-favorites/components/favorite-button.mjs.map +1 -0
  391. package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.d.ts +17 -0
  392. package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.d.ts.map +1 -0
  393. package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.js +142 -0
  394. package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.js.map +1 -0
  395. package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.mjs +118 -0
  396. package/dist/blocks/designs/customer-favorites/components/favorite-list-detail.mjs.map +1 -0
  397. package/dist/blocks/designs/customer-favorites/components/favorite-product-card.d.ts +30 -0
  398. package/dist/blocks/designs/customer-favorites/components/favorite-product-card.d.ts.map +1 -0
  399. package/dist/blocks/designs/customer-favorites/components/favorite-product-card.js +184 -0
  400. package/dist/blocks/designs/customer-favorites/components/favorite-product-card.js.map +1 -0
  401. package/dist/blocks/designs/customer-favorites/components/favorite-product-card.mjs +160 -0
  402. package/dist/blocks/designs/customer-favorites/components/favorite-product-card.mjs.map +1 -0
  403. package/dist/blocks/designs/customer-favorites/components/favorites-header.d.ts +10 -0
  404. package/dist/blocks/designs/customer-favorites/components/favorites-header.d.ts.map +1 -0
  405. package/dist/blocks/designs/customer-favorites/components/favorites-header.js +68 -0
  406. package/dist/blocks/designs/customer-favorites/components/favorites-header.js.map +1 -0
  407. package/dist/blocks/designs/customer-favorites/components/favorites-header.mjs +44 -0
  408. package/dist/blocks/designs/customer-favorites/components/favorites-header.mjs.map +1 -0
  409. package/dist/blocks/designs/customer-favorites/components/favorites-navigation.d.ts +19 -0
  410. package/dist/blocks/designs/customer-favorites/components/favorites-navigation.d.ts.map +1 -0
  411. package/dist/blocks/designs/customer-favorites/components/favorites-navigation.js +90 -0
  412. package/dist/blocks/designs/customer-favorites/components/favorites-navigation.js.map +1 -0
  413. package/dist/blocks/designs/customer-favorites/components/favorites-navigation.mjs +66 -0
  414. package/dist/blocks/designs/customer-favorites/components/favorites-navigation.mjs.map +1 -0
  415. package/dist/blocks/designs/customer-favorites/components/favorites-status.d.ts +15 -0
  416. package/dist/blocks/designs/customer-favorites/components/favorites-status.d.ts.map +1 -0
  417. package/dist/blocks/designs/customer-favorites/components/favorites-status.js +97 -0
  418. package/dist/blocks/designs/customer-favorites/components/favorites-status.js.map +1 -0
  419. package/dist/blocks/designs/customer-favorites/components/favorites-status.mjs +73 -0
  420. package/dist/blocks/designs/customer-favorites/components/favorites-status.mjs.map +1 -0
  421. package/dist/blocks/designs/customer-favorites/components/list-dialog.d.ts +24 -0
  422. package/dist/blocks/designs/customer-favorites/components/list-dialog.d.ts.map +1 -0
  423. package/dist/blocks/designs/customer-favorites/components/list-dialog.js +124 -0
  424. package/dist/blocks/designs/customer-favorites/components/list-dialog.js.map +1 -0
  425. package/dist/blocks/designs/customer-favorites/components/list-dialog.mjs +100 -0
  426. package/dist/blocks/designs/customer-favorites/components/list-dialog.mjs.map +1 -0
  427. package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.d.ts +22 -0
  428. package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.d.ts.map +1 -0
  429. package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.js +82 -0
  430. package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.js.map +1 -0
  431. package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.mjs +58 -0
  432. package/dist/blocks/designs/customer-favorites/components/manage-lists-dialog.mjs.map +1 -0
  433. package/dist/blocks/designs/customer-favorites/components/organize-dialog.d.ts +21 -0
  434. package/dist/blocks/designs/customer-favorites/components/organize-dialog.d.ts.map +1 -0
  435. package/dist/blocks/designs/customer-favorites/components/organize-dialog.js +126 -0
  436. package/dist/blocks/designs/customer-favorites/components/organize-dialog.js.map +1 -0
  437. package/dist/blocks/designs/customer-favorites/components/organize-dialog.mjs +102 -0
  438. package/dist/blocks/designs/customer-favorites/components/organize-dialog.mjs.map +1 -0
  439. package/dist/blocks/designs/customer-favorites/components/quantity-stepper.d.ts +13 -0
  440. package/dist/blocks/designs/customer-favorites/components/quantity-stepper.d.ts.map +1 -0
  441. package/dist/blocks/designs/customer-favorites/components/quantity-stepper.js +80 -0
  442. package/dist/blocks/designs/customer-favorites/components/quantity-stepper.js.map +1 -0
  443. package/dist/blocks/designs/customer-favorites/components/quantity-stepper.mjs +56 -0
  444. package/dist/blocks/designs/customer-favorites/components/quantity-stepper.mjs.map +1 -0
  445. package/dist/blocks/designs/customer-favorites/components/variant-dialog.d.ts +12 -0
  446. package/dist/blocks/designs/customer-favorites/components/variant-dialog.d.ts.map +1 -0
  447. package/dist/blocks/designs/customer-favorites/components/variant-dialog.js +103 -0
  448. package/dist/blocks/designs/customer-favorites/components/variant-dialog.js.map +1 -0
  449. package/dist/blocks/designs/customer-favorites/components/variant-dialog.mjs +79 -0
  450. package/dist/blocks/designs/customer-favorites/components/variant-dialog.mjs.map +1 -0
  451. package/dist/blocks/designs/customer-favorites/contracts.d.ts +350 -0
  452. package/dist/blocks/designs/customer-favorites/contracts.d.ts.map +1 -0
  453. package/dist/blocks/designs/customer-favorites/contracts.js +44 -0
  454. package/dist/blocks/designs/customer-favorites/contracts.js.map +1 -0
  455. package/dist/blocks/designs/customer-favorites/contracts.mjs +19 -0
  456. package/dist/blocks/designs/customer-favorites/contracts.mjs.map +1 -0
  457. package/dist/blocks/designs/customer-favorites/engine.d.ts +78 -0
  458. package/dist/blocks/designs/customer-favorites/engine.d.ts.map +1 -0
  459. package/dist/blocks/designs/customer-favorites/engine.js +320 -0
  460. package/dist/blocks/designs/customer-favorites/engine.js.map +1 -0
  461. package/dist/blocks/designs/customer-favorites/engine.mjs +282 -0
  462. package/dist/blocks/designs/customer-favorites/engine.mjs.map +1 -0
  463. package/dist/blocks/designs/customer-favorites/index.d.ts +3 -0
  464. package/dist/blocks/designs/customer-favorites/index.d.ts.map +1 -0
  465. package/dist/blocks/designs/customer-favorites/index.js +36 -0
  466. package/dist/blocks/designs/customer-favorites/index.js.map +1 -0
  467. package/dist/blocks/designs/customer-favorites/index.mjs +6 -0
  468. package/dist/blocks/designs/customer-favorites/index.mjs.map +1 -0
  469. package/dist/blocks/designs/customer-favorites/permissions.d.ts +16 -0
  470. package/dist/blocks/designs/customer-favorites/permissions.d.ts.map +1 -0
  471. package/dist/blocks/designs/customer-favorites/permissions.js +40 -0
  472. package/dist/blocks/designs/customer-favorites/permissions.js.map +1 -0
  473. package/dist/blocks/designs/customer-favorites/permissions.mjs +16 -0
  474. package/dist/blocks/designs/customer-favorites/permissions.mjs.map +1 -0
  475. package/dist/blocks/designs/customer-favorites/surface-contract.d.ts +346 -0
  476. package/dist/blocks/designs/customer-favorites/surface-contract.d.ts.map +1 -0
  477. package/dist/blocks/designs/customer-favorites/surface-contract.js +17 -0
  478. package/dist/blocks/designs/customer-favorites/surface-contract.js.map +1 -0
  479. package/dist/blocks/designs/customer-favorites/surface-contract.mjs +1 -0
  480. package/dist/blocks/designs/customer-favorites/surface-contract.mjs.map +1 -0
  481. package/dist/blocks/designs/customer-profile/block.d.ts +8 -0
  482. package/dist/blocks/designs/customer-profile/block.d.ts.map +1 -0
  483. package/dist/blocks/designs/customer-profile/block.js +36 -0
  484. package/dist/blocks/designs/customer-profile/block.js.map +1 -0
  485. package/dist/blocks/designs/customer-profile/block.mjs +12 -0
  486. package/dist/blocks/designs/customer-profile/block.mjs.map +1 -0
  487. package/dist/blocks/designs/customer-profile/components/contact-section.d.ts +4 -0
  488. package/dist/blocks/designs/customer-profile/components/contact-section.d.ts.map +1 -0
  489. package/dist/blocks/designs/customer-profile/components/contact-section.js +149 -0
  490. package/dist/blocks/designs/customer-profile/components/contact-section.js.map +1 -0
  491. package/dist/blocks/designs/customer-profile/components/contact-section.mjs +130 -0
  492. package/dist/blocks/designs/customer-profile/components/contact-section.mjs.map +1 -0
  493. package/dist/blocks/designs/customer-profile/components/custom-section.d.ts +4 -0
  494. package/dist/blocks/designs/customer-profile/components/custom-section.d.ts.map +1 -0
  495. package/dist/blocks/designs/customer-profile/components/custom-section.js +112 -0
  496. package/dist/blocks/designs/customer-profile/components/custom-section.js.map +1 -0
  497. package/dist/blocks/designs/customer-profile/components/custom-section.mjs +93 -0
  498. package/dist/blocks/designs/customer-profile/components/custom-section.mjs.map +1 -0
  499. package/dist/blocks/designs/customer-profile/components/customer-profile.d.ts +10 -0
  500. package/dist/blocks/designs/customer-profile/components/customer-profile.d.ts.map +1 -0
  501. package/dist/blocks/designs/customer-profile/components/customer-profile.js +326 -0
  502. package/dist/blocks/designs/customer-profile/components/customer-profile.js.map +1 -0
  503. package/dist/blocks/designs/customer-profile/components/customer-profile.mjs +302 -0
  504. package/dist/blocks/designs/customer-profile/components/customer-profile.mjs.map +1 -0
  505. package/dist/blocks/designs/customer-profile/components/fields.d.ts +62 -0
  506. package/dist/blocks/designs/customer-profile/components/fields.d.ts.map +1 -0
  507. package/dist/blocks/designs/customer-profile/components/fields.js +255 -0
  508. package/dist/blocks/designs/customer-profile/components/fields.js.map +1 -0
  509. package/dist/blocks/designs/customer-profile/components/fields.mjs +225 -0
  510. package/dist/blocks/designs/customer-profile/components/fields.mjs.map +1 -0
  511. package/dist/blocks/designs/customer-profile/components/personal-section.d.ts +4 -0
  512. package/dist/blocks/designs/customer-profile/components/personal-section.d.ts.map +1 -0
  513. package/dist/blocks/designs/customer-profile/components/personal-section.js +107 -0
  514. package/dist/blocks/designs/customer-profile/components/personal-section.js.map +1 -0
  515. package/dist/blocks/designs/customer-profile/components/personal-section.mjs +82 -0
  516. package/dist/blocks/designs/customer-profile/components/personal-section.mjs.map +1 -0
  517. package/dist/blocks/designs/customer-profile/components/preferences-section.d.ts +4 -0
  518. package/dist/blocks/designs/customer-profile/components/preferences-section.d.ts.map +1 -0
  519. package/dist/blocks/designs/customer-profile/components/preferences-section.js +166 -0
  520. package/dist/blocks/designs/customer-profile/components/preferences-section.js.map +1 -0
  521. package/dist/blocks/designs/customer-profile/components/preferences-section.mjs +146 -0
  522. package/dist/blocks/designs/customer-profile/components/preferences-section.mjs.map +1 -0
  523. package/dist/blocks/designs/customer-profile/components/professional-section.d.ts +4 -0
  524. package/dist/blocks/designs/customer-profile/components/professional-section.d.ts.map +1 -0
  525. package/dist/blocks/designs/customer-profile/components/professional-section.js +152 -0
  526. package/dist/blocks/designs/customer-profile/components/professional-section.js.map +1 -0
  527. package/dist/blocks/designs/customer-profile/components/professional-section.mjs +127 -0
  528. package/dist/blocks/designs/customer-profile/components/professional-section.mjs.map +1 -0
  529. package/dist/blocks/designs/customer-profile/components/profile-header.d.ts +11 -0
  530. package/dist/blocks/designs/customer-profile/components/profile-header.d.ts.map +1 -0
  531. package/dist/blocks/designs/customer-profile/components/profile-header.js +64 -0
  532. package/dist/blocks/designs/customer-profile/components/profile-header.js.map +1 -0
  533. package/dist/blocks/designs/customer-profile/components/profile-header.mjs +40 -0
  534. package/dist/blocks/designs/customer-profile/components/profile-header.mjs.map +1 -0
  535. package/dist/blocks/designs/customer-profile/components/profile-section.d.ts +13 -0
  536. package/dist/blocks/designs/customer-profile/components/profile-section.d.ts.map +1 -0
  537. package/dist/blocks/designs/customer-profile/components/profile-section.js +58 -0
  538. package/dist/blocks/designs/customer-profile/components/profile-section.js.map +1 -0
  539. package/dist/blocks/designs/customer-profile/components/profile-section.mjs +34 -0
  540. package/dist/blocks/designs/customer-profile/components/profile-section.mjs.map +1 -0
  541. package/dist/blocks/designs/customer-profile/components/profile-states.d.ts +13 -0
  542. package/dist/blocks/designs/customer-profile/components/profile-states.d.ts.map +1 -0
  543. package/dist/blocks/designs/customer-profile/components/profile-states.js +75 -0
  544. package/dist/blocks/designs/customer-profile/components/profile-states.js.map +1 -0
  545. package/dist/blocks/designs/customer-profile/components/profile-states.mjs +49 -0
  546. package/dist/blocks/designs/customer-profile/components/profile-states.mjs.map +1 -0
  547. package/dist/blocks/designs/customer-profile/components/section-body.d.ts +5 -0
  548. package/dist/blocks/designs/customer-profile/components/section-body.d.ts.map +1 -0
  549. package/dist/blocks/designs/customer-profile/components/section-body.js +64 -0
  550. package/dist/blocks/designs/customer-profile/components/section-body.js.map +1 -0
  551. package/dist/blocks/designs/customer-profile/components/section-body.mjs +39 -0
  552. package/dist/blocks/designs/customer-profile/components/section-body.mjs.map +1 -0
  553. package/dist/blocks/designs/customer-profile/components/types.d.ts +20 -0
  554. package/dist/blocks/designs/customer-profile/components/types.d.ts.map +1 -0
  555. package/dist/blocks/designs/customer-profile/components/types.js +42 -0
  556. package/dist/blocks/designs/customer-profile/components/types.js.map +1 -0
  557. package/dist/blocks/designs/customer-profile/components/types.mjs +16 -0
  558. package/dist/blocks/designs/customer-profile/components/types.mjs.map +1 -0
  559. package/dist/blocks/designs/customer-profile/config.d.ts +21 -0
  560. package/dist/blocks/designs/customer-profile/config.d.ts.map +1 -0
  561. package/dist/blocks/designs/customer-profile/config.js +119 -0
  562. package/dist/blocks/designs/customer-profile/config.js.map +1 -0
  563. package/dist/blocks/designs/customer-profile/config.mjs +91 -0
  564. package/dist/blocks/designs/customer-profile/config.mjs.map +1 -0
  565. package/dist/blocks/designs/customer-profile/contracts.d.ts +259 -0
  566. package/dist/blocks/designs/customer-profile/contracts.d.ts.map +1 -0
  567. package/dist/blocks/designs/customer-profile/contracts.js +35 -0
  568. package/dist/blocks/designs/customer-profile/contracts.js.map +1 -0
  569. package/dist/blocks/designs/customer-profile/contracts.mjs +11 -0
  570. package/dist/blocks/designs/customer-profile/contracts.mjs.map +1 -0
  571. package/dist/blocks/designs/customer-profile/drafts.d.ts +16 -0
  572. package/dist/blocks/designs/customer-profile/drafts.d.ts.map +1 -0
  573. package/dist/blocks/designs/customer-profile/drafts.js +220 -0
  574. package/dist/blocks/designs/customer-profile/drafts.js.map +1 -0
  575. package/dist/blocks/designs/customer-profile/drafts.mjs +194 -0
  576. package/dist/blocks/designs/customer-profile/drafts.mjs.map +1 -0
  577. package/dist/blocks/designs/customer-profile/format.d.ts +11 -0
  578. package/dist/blocks/designs/customer-profile/format.d.ts.map +1 -0
  579. package/dist/blocks/designs/customer-profile/format.js +63 -0
  580. package/dist/blocks/designs/customer-profile/format.js.map +1 -0
  581. package/dist/blocks/designs/customer-profile/format.mjs +36 -0
  582. package/dist/blocks/designs/customer-profile/format.mjs.map +1 -0
  583. package/dist/blocks/designs/customer-profile/index.d.ts +3 -0
  584. package/dist/blocks/designs/customer-profile/index.d.ts.map +1 -0
  585. package/dist/blocks/designs/customer-profile/index.js +36 -0
  586. package/dist/blocks/designs/customer-profile/index.js.map +1 -0
  587. package/dist/blocks/designs/customer-profile/index.mjs +6 -0
  588. package/dist/blocks/designs/customer-profile/index.mjs.map +1 -0
  589. package/dist/blocks/designs/customer-profile/validation.d.ts +10 -0
  590. package/dist/blocks/designs/customer-profile/validation.d.ts.map +1 -0
  591. package/dist/blocks/designs/customer-profile/validation.js +180 -0
  592. package/dist/blocks/designs/customer-profile/validation.js.map +1 -0
  593. package/dist/blocks/designs/customer-profile/validation.mjs +154 -0
  594. package/dist/blocks/designs/customer-profile/validation.mjs.map +1 -0
  595. package/dist/blocks/designs/mega-menu-universal/block.d.ts +14 -0
  596. package/dist/blocks/designs/mega-menu-universal/block.d.ts.map +1 -0
  597. package/dist/blocks/designs/mega-menu-universal/block.js +44 -0
  598. package/dist/blocks/designs/mega-menu-universal/block.js.map +1 -0
  599. package/dist/blocks/designs/mega-menu-universal/block.mjs +24 -0
  600. package/dist/blocks/designs/mega-menu-universal/block.mjs.map +1 -0
  601. package/dist/blocks/designs/mega-menu-universal/category-parts.d.ts +43 -0
  602. package/dist/blocks/designs/mega-menu-universal/category-parts.d.ts.map +1 -0
  603. package/dist/blocks/designs/mega-menu-universal/category-parts.js +152 -0
  604. package/dist/blocks/designs/mega-menu-universal/category-parts.js.map +1 -0
  605. package/dist/blocks/designs/mega-menu-universal/category-parts.mjs +122 -0
  606. package/dist/blocks/designs/mega-menu-universal/category-parts.mjs.map +1 -0
  607. package/dist/blocks/designs/mega-menu-universal/config.d.ts +11 -0
  608. package/dist/blocks/designs/mega-menu-universal/config.d.ts.map +1 -0
  609. package/dist/blocks/designs/mega-menu-universal/config.js +94 -0
  610. package/dist/blocks/designs/mega-menu-universal/config.js.map +1 -0
  611. package/dist/blocks/designs/mega-menu-universal/config.mjs +69 -0
  612. package/dist/blocks/designs/mega-menu-universal/config.mjs.map +1 -0
  613. package/dist/blocks/designs/mega-menu-universal/contracts.d.ts +86 -0
  614. package/dist/blocks/designs/mega-menu-universal/contracts.d.ts.map +1 -0
  615. package/dist/blocks/designs/mega-menu-universal/contracts.js +17 -0
  616. package/dist/blocks/designs/mega-menu-universal/contracts.js.map +1 -0
  617. package/dist/blocks/designs/mega-menu-universal/contracts.mjs +1 -0
  618. package/dist/blocks/designs/mega-menu-universal/contracts.mjs.map +1 -0
  619. package/dist/blocks/designs/mega-menu-universal/desktop-panel.d.ts +12 -0
  620. package/dist/blocks/designs/mega-menu-universal/desktop-panel.d.ts.map +1 -0
  621. package/dist/blocks/designs/mega-menu-universal/desktop-panel.js +424 -0
  622. package/dist/blocks/designs/mega-menu-universal/desktop-panel.js.map +1 -0
  623. package/dist/blocks/designs/mega-menu-universal/desktop-panel.mjs +408 -0
  624. package/dist/blocks/designs/mega-menu-universal/desktop-panel.mjs.map +1 -0
  625. package/dist/blocks/designs/mega-menu-universal/drilldown.d.ts +21 -0
  626. package/dist/blocks/designs/mega-menu-universal/drilldown.d.ts.map +1 -0
  627. package/dist/blocks/designs/mega-menu-universal/drilldown.js +65 -0
  628. package/dist/blocks/designs/mega-menu-universal/drilldown.js.map +1 -0
  629. package/dist/blocks/designs/mega-menu-universal/drilldown.mjs +38 -0
  630. package/dist/blocks/designs/mega-menu-universal/drilldown.mjs.map +1 -0
  631. package/dist/blocks/designs/mega-menu-universal/icons.d.ts +11 -0
  632. package/dist/blocks/designs/mega-menu-universal/icons.d.ts.map +1 -0
  633. package/dist/blocks/designs/mega-menu-universal/icons.js +84 -0
  634. package/dist/blocks/designs/mega-menu-universal/icons.js.map +1 -0
  635. package/dist/blocks/designs/mega-menu-universal/icons.mjs +55 -0
  636. package/dist/blocks/designs/mega-menu-universal/icons.mjs.map +1 -0
  637. package/dist/blocks/designs/mega-menu-universal/index.d.ts +3 -0
  638. package/dist/blocks/designs/mega-menu-universal/index.d.ts.map +1 -0
  639. package/dist/blocks/designs/mega-menu-universal/index.js +36 -0
  640. package/dist/blocks/designs/mega-menu-universal/index.js.map +1 -0
  641. package/dist/blocks/designs/mega-menu-universal/index.mjs +6 -0
  642. package/dist/blocks/designs/mega-menu-universal/index.mjs.map +1 -0
  643. package/dist/blocks/designs/mega-menu-universal/intent.d.ts +56 -0
  644. package/dist/blocks/designs/mega-menu-universal/intent.d.ts.map +1 -0
  645. package/dist/blocks/designs/mega-menu-universal/intent.js +86 -0
  646. package/dist/blocks/designs/mega-menu-universal/intent.js.map +1 -0
  647. package/dist/blocks/designs/mega-menu-universal/intent.mjs +58 -0
  648. package/dist/blocks/designs/mega-menu-universal/intent.mjs.map +1 -0
  649. package/dist/blocks/designs/mega-menu-universal/labels.d.ts +9 -0
  650. package/dist/blocks/designs/mega-menu-universal/labels.d.ts.map +1 -0
  651. package/dist/blocks/designs/mega-menu-universal/labels.js +40 -0
  652. package/dist/blocks/designs/mega-menu-universal/labels.js.map +1 -0
  653. package/dist/blocks/designs/mega-menu-universal/labels.mjs +15 -0
  654. package/dist/blocks/designs/mega-menu-universal/labels.mjs.map +1 -0
  655. package/dist/blocks/designs/mega-menu-universal/menu.d.ts +17 -0
  656. package/dist/blocks/designs/mega-menu-universal/menu.d.ts.map +1 -0
  657. package/dist/blocks/designs/mega-menu-universal/menu.js +342 -0
  658. package/dist/blocks/designs/mega-menu-universal/menu.js.map +1 -0
  659. package/dist/blocks/designs/mega-menu-universal/menu.mjs +325 -0
  660. package/dist/blocks/designs/mega-menu-universal/menu.mjs.map +1 -0
  661. package/dist/blocks/designs/mega-menu-universal/mobile-menu.d.ts +12 -0
  662. package/dist/blocks/designs/mega-menu-universal/mobile-menu.d.ts.map +1 -0
  663. package/dist/blocks/designs/mega-menu-universal/mobile-menu.js +258 -0
  664. package/dist/blocks/designs/mega-menu-universal/mobile-menu.js.map +1 -0
  665. package/dist/blocks/designs/mega-menu-universal/mobile-menu.mjs +234 -0
  666. package/dist/blocks/designs/mega-menu-universal/mobile-menu.mjs.map +1 -0
  667. package/dist/blocks/designs/mega-menu-universal/presentation.d.ts +31 -0
  668. package/dist/blocks/designs/mega-menu-universal/presentation.d.ts.map +1 -0
  669. package/dist/blocks/designs/mega-menu-universal/presentation.js +73 -0
  670. package/dist/blocks/designs/mega-menu-universal/presentation.js.map +1 -0
  671. package/dist/blocks/designs/mega-menu-universal/presentation.mjs +44 -0
  672. package/dist/blocks/designs/mega-menu-universal/presentation.mjs.map +1 -0
  673. package/dist/blocks/designs/mega-menu-universal/taxonomy.d.ts +23 -0
  674. package/dist/blocks/designs/mega-menu-universal/taxonomy.d.ts.map +1 -0
  675. package/dist/blocks/designs/mega-menu-universal/taxonomy.js +98 -0
  676. package/dist/blocks/designs/mega-menu-universal/taxonomy.js.map +1 -0
  677. package/dist/blocks/designs/mega-menu-universal/taxonomy.mjs +65 -0
  678. package/dist/blocks/designs/mega-menu-universal/taxonomy.mjs.map +1 -0
  679. package/dist/blocks/designs/order-detail/block.d.ts +8 -0
  680. package/dist/blocks/designs/order-detail/block.d.ts.map +1 -0
  681. package/dist/blocks/designs/order-detail/block.js +36 -0
  682. package/dist/blocks/designs/order-detail/block.js.map +1 -0
  683. package/dist/blocks/designs/order-detail/block.mjs +12 -0
  684. package/dist/blocks/designs/order-detail/block.mjs.map +1 -0
  685. package/dist/blocks/designs/order-detail/components/actions.d.ts +11 -0
  686. package/dist/blocks/designs/order-detail/components/actions.d.ts.map +1 -0
  687. package/dist/blocks/designs/order-detail/components/actions.js +64 -0
  688. package/dist/blocks/designs/order-detail/components/actions.js.map +1 -0
  689. package/dist/blocks/designs/order-detail/components/actions.mjs +40 -0
  690. package/dist/blocks/designs/order-detail/components/actions.mjs.map +1 -0
  691. package/dist/blocks/designs/order-detail/components/addresses.d.ts +8 -0
  692. package/dist/blocks/designs/order-detail/components/addresses.d.ts.map +1 -0
  693. package/dist/blocks/designs/order-detail/components/addresses.js +57 -0
  694. package/dist/blocks/designs/order-detail/components/addresses.js.map +1 -0
  695. package/dist/blocks/designs/order-detail/components/addresses.mjs +33 -0
  696. package/dist/blocks/designs/order-detail/components/addresses.mjs.map +1 -0
  697. package/dist/blocks/designs/order-detail/components/after-sales.d.ts +18 -0
  698. package/dist/blocks/designs/order-detail/components/after-sales.d.ts.map +1 -0
  699. package/dist/blocks/designs/order-detail/components/after-sales.js +213 -0
  700. package/dist/blocks/designs/order-detail/components/after-sales.js.map +1 -0
  701. package/dist/blocks/designs/order-detail/components/after-sales.mjs +185 -0
  702. package/dist/blocks/designs/order-detail/components/after-sales.mjs.map +1 -0
  703. package/dist/blocks/designs/order-detail/components/b2b.d.ts +12 -0
  704. package/dist/blocks/designs/order-detail/components/b2b.d.ts.map +1 -0
  705. package/dist/blocks/designs/order-detail/components/b2b.js +73 -0
  706. package/dist/blocks/designs/order-detail/components/b2b.js.map +1 -0
  707. package/dist/blocks/designs/order-detail/components/b2b.mjs +49 -0
  708. package/dist/blocks/designs/order-detail/components/b2b.mjs.map +1 -0
  709. package/dist/blocks/designs/order-detail/components/documents.d.ts +21 -0
  710. package/dist/blocks/designs/order-detail/components/documents.d.ts.map +1 -0
  711. package/dist/blocks/designs/order-detail/components/documents.js +88 -0
  712. package/dist/blocks/designs/order-detail/components/documents.js.map +1 -0
  713. package/dist/blocks/designs/order-detail/components/documents.mjs +63 -0
  714. package/dist/blocks/designs/order-detail/components/documents.mjs.map +1 -0
  715. package/dist/blocks/designs/order-detail/components/feedback.d.ts +19 -0
  716. package/dist/blocks/designs/order-detail/components/feedback.d.ts.map +1 -0
  717. package/dist/blocks/designs/order-detail/components/feedback.js +87 -0
  718. package/dist/blocks/designs/order-detail/components/feedback.js.map +1 -0
  719. package/dist/blocks/designs/order-detail/components/feedback.mjs +59 -0
  720. package/dist/blocks/designs/order-detail/components/feedback.mjs.map +1 -0
  721. package/dist/blocks/designs/order-detail/components/fulfilment.d.ts +36 -0
  722. package/dist/blocks/designs/order-detail/components/fulfilment.d.ts.map +1 -0
  723. package/dist/blocks/designs/order-detail/components/fulfilment.js +341 -0
  724. package/dist/blocks/designs/order-detail/components/fulfilment.js.map +1 -0
  725. package/dist/blocks/designs/order-detail/components/fulfilment.mjs +315 -0
  726. package/dist/blocks/designs/order-detail/components/fulfilment.mjs.map +1 -0
  727. package/dist/blocks/designs/order-detail/components/header.d.ts +19 -0
  728. package/dist/blocks/designs/order-detail/components/header.d.ts.map +1 -0
  729. package/dist/blocks/designs/order-detail/components/header.js +87 -0
  730. package/dist/blocks/designs/order-detail/components/header.js.map +1 -0
  731. package/dist/blocks/designs/order-detail/components/header.mjs +68 -0
  732. package/dist/blocks/designs/order-detail/components/header.mjs.map +1 -0
  733. package/dist/blocks/designs/order-detail/components/icons.d.ts +18 -0
  734. package/dist/blocks/designs/order-detail/components/icons.d.ts.map +1 -0
  735. package/dist/blocks/designs/order-detail/components/icons.js +153 -0
  736. package/dist/blocks/designs/order-detail/components/icons.js.map +1 -0
  737. package/dist/blocks/designs/order-detail/components/icons.mjs +117 -0
  738. package/dist/blocks/designs/order-detail/components/icons.mjs.map +1 -0
  739. package/dist/blocks/designs/order-detail/components/item-card.d.ts +24 -0
  740. package/dist/blocks/designs/order-detail/components/item-card.d.ts.map +1 -0
  741. package/dist/blocks/designs/order-detail/components/item-card.js +263 -0
  742. package/dist/blocks/designs/order-detail/components/item-card.js.map +1 -0
  743. package/dist/blocks/designs/order-detail/components/item-card.mjs +244 -0
  744. package/dist/blocks/designs/order-detail/components/item-card.mjs.map +1 -0
  745. package/dist/blocks/designs/order-detail/components/order-detail.d.ts +10 -0
  746. package/dist/blocks/designs/order-detail/components/order-detail.d.ts.map +1 -0
  747. package/dist/blocks/designs/order-detail/components/order-detail.js +362 -0
  748. package/dist/blocks/designs/order-detail/components/order-detail.js.map +1 -0
  749. package/dist/blocks/designs/order-detail/components/order-detail.mjs +343 -0
  750. package/dist/blocks/designs/order-detail/components/order-detail.mjs.map +1 -0
  751. package/dist/blocks/designs/order-detail/components/payments.d.ts +13 -0
  752. package/dist/blocks/designs/order-detail/components/payments.d.ts.map +1 -0
  753. package/dist/blocks/designs/order-detail/components/payments.js +87 -0
  754. package/dist/blocks/designs/order-detail/components/payments.js.map +1 -0
  755. package/dist/blocks/designs/order-detail/components/payments.mjs +62 -0
  756. package/dist/blocks/designs/order-detail/components/payments.mjs.map +1 -0
  757. package/dist/blocks/designs/order-detail/components/pricing.d.ts +12 -0
  758. package/dist/blocks/designs/order-detail/components/pricing.d.ts.map +1 -0
  759. package/dist/blocks/designs/order-detail/components/pricing.js +214 -0
  760. package/dist/blocks/designs/order-detail/components/pricing.js.map +1 -0
  761. package/dist/blocks/designs/order-detail/components/pricing.mjs +195 -0
  762. package/dist/blocks/designs/order-detail/components/pricing.mjs.map +1 -0
  763. package/dist/blocks/designs/order-detail/components/promotions.d.ts +24 -0
  764. package/dist/blocks/designs/order-detail/components/promotions.d.ts.map +1 -0
  765. package/dist/blocks/designs/order-detail/components/promotions.js +135 -0
  766. package/dist/blocks/designs/order-detail/components/promotions.js.map +1 -0
  767. package/dist/blocks/designs/order-detail/components/promotions.mjs +109 -0
  768. package/dist/blocks/designs/order-detail/components/promotions.mjs.map +1 -0
  769. package/dist/blocks/designs/order-detail/components/revisions.d.ts +11 -0
  770. package/dist/blocks/designs/order-detail/components/revisions.d.ts.map +1 -0
  771. package/dist/blocks/designs/order-detail/components/revisions.js +53 -0
  772. package/dist/blocks/designs/order-detail/components/revisions.js.map +1 -0
  773. package/dist/blocks/designs/order-detail/components/revisions.mjs +29 -0
  774. package/dist/blocks/designs/order-detail/components/revisions.mjs.map +1 -0
  775. package/dist/blocks/designs/order-detail/components/status-summary.d.ts +14 -0
  776. package/dist/blocks/designs/order-detail/components/status-summary.d.ts.map +1 -0
  777. package/dist/blocks/designs/order-detail/components/status-summary.js +71 -0
  778. package/dist/blocks/designs/order-detail/components/status-summary.js.map +1 -0
  779. package/dist/blocks/designs/order-detail/components/status-summary.mjs +47 -0
  780. package/dist/blocks/designs/order-detail/components/status-summary.mjs.map +1 -0
  781. package/dist/blocks/designs/order-detail/components/ui.d.ts +61 -0
  782. package/dist/blocks/designs/order-detail/components/ui.d.ts.map +1 -0
  783. package/dist/blocks/designs/order-detail/components/ui.js +220 -0
  784. package/dist/blocks/designs/order-detail/components/ui.js.map +1 -0
  785. package/dist/blocks/designs/order-detail/components/ui.mjs +188 -0
  786. package/dist/blocks/designs/order-detail/components/ui.mjs.map +1 -0
  787. package/dist/blocks/designs/order-detail/contracts.d.ts +717 -0
  788. package/dist/blocks/designs/order-detail/contracts.d.ts.map +1 -0
  789. package/dist/blocks/designs/order-detail/contracts.js +88 -0
  790. package/dist/blocks/designs/order-detail/contracts.js.map +1 -0
  791. package/dist/blocks/designs/order-detail/contracts.mjs +61 -0
  792. package/dist/blocks/designs/order-detail/contracts.mjs.map +1 -0
  793. package/dist/blocks/designs/order-detail/engine.d.ts +83 -0
  794. package/dist/blocks/designs/order-detail/engine.d.ts.map +1 -0
  795. package/dist/blocks/designs/order-detail/engine.js +470 -0
  796. package/dist/blocks/designs/order-detail/engine.js.map +1 -0
  797. package/dist/blocks/designs/order-detail/engine.mjs +418 -0
  798. package/dist/blocks/designs/order-detail/engine.mjs.map +1 -0
  799. package/dist/blocks/designs/order-detail/index.d.ts +3 -0
  800. package/dist/blocks/designs/order-detail/index.d.ts.map +1 -0
  801. package/dist/blocks/designs/order-detail/index.js +36 -0
  802. package/dist/blocks/designs/order-detail/index.js.map +1 -0
  803. package/dist/blocks/designs/order-detail/index.mjs +6 -0
  804. package/dist/blocks/designs/order-detail/index.mjs.map +1 -0
  805. package/dist/blocks/designs/order-detail/money.d.ts +27 -0
  806. package/dist/blocks/designs/order-detail/money.d.ts.map +1 -0
  807. package/dist/blocks/designs/order-detail/money.js +124 -0
  808. package/dist/blocks/designs/order-detail/money.js.map +1 -0
  809. package/dist/blocks/designs/order-detail/money.mjs +91 -0
  810. package/dist/blocks/designs/order-detail/money.mjs.map +1 -0
  811. package/dist/blocks/designs/order-detail/presentation.d.ts +34 -0
  812. package/dist/blocks/designs/order-detail/presentation.d.ts.map +1 -0
  813. package/dist/blocks/designs/order-detail/presentation.js +112 -0
  814. package/dist/blocks/designs/order-detail/presentation.js.map +1 -0
  815. package/dist/blocks/designs/order-detail/presentation.mjs +93 -0
  816. package/dist/blocks/designs/order-detail/presentation.mjs.map +1 -0
  817. package/dist/blocks/designs/order-detail/promotions.d.ts +14 -0
  818. package/dist/blocks/designs/order-detail/promotions.d.ts.map +1 -0
  819. package/dist/blocks/designs/order-detail/promotions.js +152 -0
  820. package/dist/blocks/designs/order-detail/promotions.js.map +1 -0
  821. package/dist/blocks/designs/order-detail/promotions.mjs +125 -0
  822. package/dist/blocks/designs/order-detail/promotions.mjs.map +1 -0
  823. package/dist/blocks/designs/order-history/components/bulk-bar.d.ts +14 -0
  824. package/dist/blocks/designs/order-history/components/bulk-bar.d.ts.map +1 -0
  825. package/dist/blocks/designs/order-history/components/bulk-bar.js +61 -0
  826. package/dist/blocks/designs/order-history/components/bulk-bar.js.map +1 -0
  827. package/dist/blocks/designs/order-history/components/bulk-bar.mjs +37 -0
  828. package/dist/blocks/designs/order-history/components/bulk-bar.mjs.map +1 -0
  829. package/dist/blocks/designs/order-history/components/controls.d.ts +25 -0
  830. package/dist/blocks/designs/order-history/components/controls.d.ts.map +1 -0
  831. package/dist/blocks/designs/order-history/components/controls.js +168 -0
  832. package/dist/blocks/designs/order-history/components/controls.js.map +1 -0
  833. package/dist/blocks/designs/order-history/components/controls.mjs +144 -0
  834. package/dist/blocks/designs/order-history/components/controls.mjs.map +1 -0
  835. package/dist/blocks/designs/order-history/components/feedback.d.ts +30 -0
  836. package/dist/blocks/designs/order-history/components/feedback.d.ts.map +1 -0
  837. package/dist/blocks/designs/order-history/components/feedback.js +107 -0
  838. package/dist/blocks/designs/order-history/components/feedback.js.map +1 -0
  839. package/dist/blocks/designs/order-history/components/feedback.mjs +79 -0
  840. package/dist/blocks/designs/order-history/components/feedback.mjs.map +1 -0
  841. package/dist/blocks/designs/order-history/components/header.d.ts +15 -0
  842. package/dist/blocks/designs/order-history/components/header.d.ts.map +1 -0
  843. package/dist/blocks/designs/order-history/components/header.js +47 -0
  844. package/dist/blocks/designs/order-history/components/header.js.map +1 -0
  845. package/dist/blocks/designs/order-history/components/header.mjs +23 -0
  846. package/dist/blocks/designs/order-history/components/header.mjs.map +1 -0
  847. package/dist/blocks/designs/order-history/components/icons.d.ts +8 -0
  848. package/dist/blocks/designs/order-history/components/icons.d.ts.map +1 -0
  849. package/dist/blocks/designs/order-history/components/icons.js +103 -0
  850. package/dist/blocks/designs/order-history/components/icons.js.map +1 -0
  851. package/dist/blocks/designs/order-history/components/icons.mjs +79 -0
  852. package/dist/blocks/designs/order-history/components/icons.mjs.map +1 -0
  853. package/dist/blocks/designs/order-history/components/order-actions.d.ts +17 -0
  854. package/dist/blocks/designs/order-history/components/order-actions.d.ts.map +1 -0
  855. package/dist/blocks/designs/order-history/components/order-actions.js +100 -0
  856. package/dist/blocks/designs/order-history/components/order-actions.js.map +1 -0
  857. package/dist/blocks/designs/order-history/components/order-actions.mjs +75 -0
  858. package/dist/blocks/designs/order-history/components/order-actions.mjs.map +1 -0
  859. package/dist/blocks/designs/order-history/components/order-card.d.ts +18 -0
  860. package/dist/blocks/designs/order-history/components/order-card.d.ts.map +1 -0
  861. package/dist/blocks/designs/order-history/components/order-card.js +183 -0
  862. package/dist/blocks/designs/order-history/components/order-card.js.map +1 -0
  863. package/dist/blocks/designs/order-history/components/order-card.mjs +159 -0
  864. package/dist/blocks/designs/order-history/components/order-card.mjs.map +1 -0
  865. package/dist/blocks/designs/order-history/components/order-history.d.ts +8 -0
  866. package/dist/blocks/designs/order-history/components/order-history.d.ts.map +1 -0
  867. package/dist/blocks/designs/order-history/components/order-history.js +310 -0
  868. package/dist/blocks/designs/order-history/components/order-history.js.map +1 -0
  869. package/dist/blocks/designs/order-history/components/order-history.mjs +291 -0
  870. package/dist/blocks/designs/order-history/components/order-history.mjs.map +1 -0
  871. package/dist/blocks/designs/order-history/components/order-table.d.ts +23 -0
  872. package/dist/blocks/designs/order-history/components/order-table.d.ts.map +1 -0
  873. package/dist/blocks/designs/order-history/components/order-table.js +221 -0
  874. package/dist/blocks/designs/order-history/components/order-table.js.map +1 -0
  875. package/dist/blocks/designs/order-history/components/order-table.mjs +197 -0
  876. package/dist/blocks/designs/order-history/components/order-table.mjs.map +1 -0
  877. package/dist/blocks/designs/order-history/components/pagination.d.ts +13 -0
  878. package/dist/blocks/designs/order-history/components/pagination.d.ts.map +1 -0
  879. package/dist/blocks/designs/order-history/components/pagination.js +83 -0
  880. package/dist/blocks/designs/order-history/components/pagination.js.map +1 -0
  881. package/dist/blocks/designs/order-history/components/pagination.mjs +59 -0
  882. package/dist/blocks/designs/order-history/components/pagination.mjs.map +1 -0
  883. package/dist/blocks/designs/order-history/components/status-badge.d.ts +12 -0
  884. package/dist/blocks/designs/order-history/components/status-badge.d.ts.map +1 -0
  885. package/dist/blocks/designs/order-history/components/status-badge.js +68 -0
  886. package/dist/blocks/designs/order-history/components/status-badge.js.map +1 -0
  887. package/dist/blocks/designs/order-history/components/status-badge.mjs +42 -0
  888. package/dist/blocks/designs/order-history/components/status-badge.mjs.map +1 -0
  889. package/dist/blocks/designs/order-history/components/toolbar-button.d.ts +13 -0
  890. package/dist/blocks/designs/order-history/components/toolbar-button.d.ts.map +1 -0
  891. package/dist/blocks/designs/order-history/components/toolbar-button.js +56 -0
  892. package/dist/blocks/designs/order-history/components/toolbar-button.js.map +1 -0
  893. package/dist/blocks/designs/order-history/components/toolbar-button.mjs +32 -0
  894. package/dist/blocks/designs/order-history/components/toolbar-button.mjs.map +1 -0
  895. package/dist/blocks/designs/order-history/contracts.d.ts +295 -0
  896. package/dist/blocks/designs/order-history/contracts.d.ts.map +1 -0
  897. package/dist/blocks/designs/order-history/contracts.js +102 -0
  898. package/dist/blocks/designs/order-history/contracts.js.map +1 -0
  899. package/dist/blocks/designs/order-history/contracts.mjs +70 -0
  900. package/dist/blocks/designs/order-history/contracts.mjs.map +1 -0
  901. package/dist/blocks/designs/order-history/engine.d.ts +57 -0
  902. package/dist/blocks/designs/order-history/engine.d.ts.map +1 -0
  903. package/dist/blocks/designs/order-history/engine.js +289 -0
  904. package/dist/blocks/designs/order-history/engine.js.map +1 -0
  905. package/dist/blocks/designs/order-history/engine.mjs +251 -0
  906. package/dist/blocks/designs/order-history/engine.mjs.map +1 -0
  907. package/dist/blocks/designs/order-history/index.d.ts +13 -0
  908. package/dist/blocks/designs/order-history/index.d.ts.map +1 -0
  909. package/dist/blocks/designs/order-history/index.js +36 -0
  910. package/dist/blocks/designs/order-history/index.js.map +1 -0
  911. package/dist/blocks/designs/order-history/index.mjs +12 -0
  912. package/dist/blocks/designs/order-history/index.mjs.map +1 -0
  913. package/dist/blocks/designs/order-history/money.d.ts +15 -0
  914. package/dist/blocks/designs/order-history/money.d.ts.map +1 -0
  915. package/dist/blocks/designs/order-history/money.js +97 -0
  916. package/dist/blocks/designs/order-history/money.js.map +1 -0
  917. package/dist/blocks/designs/order-history/money.mjs +69 -0
  918. package/dist/blocks/designs/order-history/money.mjs.map +1 -0
  919. package/dist/blocks/designs/universal-banner/analytics.d.ts +26 -0
  920. package/dist/blocks/designs/universal-banner/analytics.d.ts.map +1 -0
  921. package/dist/blocks/designs/universal-banner/analytics.js +59 -0
  922. package/dist/blocks/designs/universal-banner/analytics.js.map +1 -0
  923. package/dist/blocks/designs/universal-banner/analytics.mjs +35 -0
  924. package/dist/blocks/designs/universal-banner/analytics.mjs.map +1 -0
  925. package/dist/blocks/designs/universal-banner/banner-block.d.ts +20 -0
  926. package/dist/blocks/designs/universal-banner/banner-block.d.ts.map +1 -0
  927. package/dist/blocks/designs/universal-banner/banner-block.js +104 -0
  928. package/dist/blocks/designs/universal-banner/banner-block.js.map +1 -0
  929. package/dist/blocks/designs/universal-banner/banner-block.mjs +80 -0
  930. package/dist/blocks/designs/universal-banner/banner-block.mjs.map +1 -0
  931. package/dist/blocks/designs/universal-banner/banner.d.ts +22 -0
  932. package/dist/blocks/designs/universal-banner/banner.d.ts.map +1 -0
  933. package/dist/blocks/designs/universal-banner/banner.js +190 -0
  934. package/dist/blocks/designs/universal-banner/banner.js.map +1 -0
  935. package/dist/blocks/designs/universal-banner/banner.mjs +166 -0
  936. package/dist/blocks/designs/universal-banner/banner.mjs.map +1 -0
  937. package/dist/blocks/designs/universal-banner/block.d.ts +15 -0
  938. package/dist/blocks/designs/universal-banner/block.d.ts.map +1 -0
  939. package/dist/blocks/designs/universal-banner/block.js +48 -0
  940. package/dist/blocks/designs/universal-banner/block.js.map +1 -0
  941. package/dist/blocks/designs/universal-banner/block.mjs +28 -0
  942. package/dist/blocks/designs/universal-banner/block.mjs.map +1 -0
  943. package/dist/blocks/designs/universal-banner/carousel.d.ts +25 -0
  944. package/dist/blocks/designs/universal-banner/carousel.d.ts.map +1 -0
  945. package/dist/blocks/designs/universal-banner/carousel.js +172 -0
  946. package/dist/blocks/designs/universal-banner/carousel.js.map +1 -0
  947. package/dist/blocks/designs/universal-banner/carousel.mjs +148 -0
  948. package/dist/blocks/designs/universal-banner/carousel.mjs.map +1 -0
  949. package/dist/blocks/designs/universal-banner/contracts.d.ts +190 -0
  950. package/dist/blocks/designs/universal-banner/contracts.d.ts.map +1 -0
  951. package/dist/blocks/designs/universal-banner/contracts.js +451 -0
  952. package/dist/blocks/designs/universal-banner/contracts.js.map +1 -0
  953. package/dist/blocks/designs/universal-banner/contracts.mjs +418 -0
  954. package/dist/blocks/designs/universal-banner/contracts.mjs.map +1 -0
  955. package/dist/blocks/designs/universal-banner/format.d.ts +3 -0
  956. package/dist/blocks/designs/universal-banner/format.d.ts.map +1 -0
  957. package/dist/blocks/designs/universal-banner/format.js +34 -0
  958. package/dist/blocks/designs/universal-banner/format.js.map +1 -0
  959. package/dist/blocks/designs/universal-banner/format.mjs +10 -0
  960. package/dist/blocks/designs/universal-banner/format.mjs.map +1 -0
  961. package/dist/blocks/designs/universal-banner/grid.d.ts +15 -0
  962. package/dist/blocks/designs/universal-banner/grid.d.ts.map +1 -0
  963. package/dist/blocks/designs/universal-banner/grid.js +45 -0
  964. package/dist/blocks/designs/universal-banner/grid.js.map +1 -0
  965. package/dist/blocks/designs/universal-banner/grid.mjs +21 -0
  966. package/dist/blocks/designs/universal-banner/grid.mjs.map +1 -0
  967. package/dist/blocks/designs/universal-banner/index.d.ts +3 -0
  968. package/dist/blocks/designs/universal-banner/index.d.ts.map +1 -0
  969. package/dist/blocks/designs/universal-banner/index.js +36 -0
  970. package/dist/blocks/designs/universal-banner/index.js.map +1 -0
  971. package/dist/blocks/designs/universal-banner/index.mjs +6 -0
  972. package/dist/blocks/designs/universal-banner/index.mjs.map +1 -0
  973. package/dist/blocks/designs/universal-banner/links.d.ts +33 -0
  974. package/dist/blocks/designs/universal-banner/links.d.ts.map +1 -0
  975. package/dist/blocks/designs/universal-banner/links.js +109 -0
  976. package/dist/blocks/designs/universal-banner/links.js.map +1 -0
  977. package/dist/blocks/designs/universal-banner/links.mjs +80 -0
  978. package/dist/blocks/designs/universal-banner/links.mjs.map +1 -0
  979. package/dist/blocks/designs/universal-banner/media.d.ts +20 -0
  980. package/dist/blocks/designs/universal-banner/media.d.ts.map +1 -0
  981. package/dist/blocks/designs/universal-banner/media.js +69 -0
  982. package/dist/blocks/designs/universal-banner/media.js.map +1 -0
  983. package/dist/blocks/designs/universal-banner/media.mjs +43 -0
  984. package/dist/blocks/designs/universal-banner/media.mjs.map +1 -0
  985. package/dist/blocks/designs/universal-banner/presets.d.ts +26 -0
  986. package/dist/blocks/designs/universal-banner/presets.d.ts.map +1 -0
  987. package/dist/blocks/designs/universal-banner/presets.js +175 -0
  988. package/dist/blocks/designs/universal-banner/presets.js.map +1 -0
  989. package/dist/blocks/designs/universal-banner/presets.mjs +149 -0
  990. package/dist/blocks/designs/universal-banner/presets.mjs.map +1 -0
  991. package/dist/blocks/designs/universal-banner/resolve.d.ts +16 -0
  992. package/dist/blocks/designs/universal-banner/resolve.d.ts.map +1 -0
  993. package/dist/blocks/designs/universal-banner/resolve.js +67 -0
  994. package/dist/blocks/designs/universal-banner/resolve.js.map +1 -0
  995. package/dist/blocks/designs/universal-banner/resolve.mjs +42 -0
  996. package/dist/blocks/designs/universal-banner/resolve.mjs.map +1 -0
  997. package/dist/blocks/designs/universal-banner/responsive.d.ts +33 -0
  998. package/dist/blocks/designs/universal-banner/responsive.d.ts.map +1 -0
  999. package/dist/blocks/designs/universal-banner/responsive.js +481 -0
  1000. package/dist/blocks/designs/universal-banner/responsive.js.map +1 -0
  1001. package/dist/blocks/designs/universal-banner/responsive.mjs +447 -0
  1002. package/dist/blocks/designs/universal-banner/responsive.mjs.map +1 -0
  1003. package/dist/blocks/designs/universal-banner/schedule.d.ts +11 -0
  1004. package/dist/blocks/designs/universal-banner/schedule.d.ts.map +1 -0
  1005. package/dist/blocks/designs/universal-banner/schedule.js +88 -0
  1006. package/dist/blocks/designs/universal-banner/schedule.js.map +1 -0
  1007. package/dist/blocks/designs/universal-banner/schedule.mjs +62 -0
  1008. package/dist/blocks/designs/universal-banner/schedule.mjs.map +1 -0
  1009. package/dist/blocks/designs/universal-banner/story-carousel.d.ts +20 -0
  1010. package/dist/blocks/designs/universal-banner/story-carousel.d.ts.map +1 -0
  1011. package/dist/blocks/designs/universal-banner/story-carousel.js +85 -0
  1012. package/dist/blocks/designs/universal-banner/story-carousel.js.map +1 -0
  1013. package/dist/blocks/designs/universal-banner/story-carousel.mjs +61 -0
  1014. package/dist/blocks/designs/universal-banner/story-carousel.mjs.map +1 -0
  1015. package/dist/blocks/designs/universal-banner/use-container-width.d.ts +17 -0
  1016. package/dist/blocks/designs/universal-banner/use-container-width.d.ts.map +1 -0
  1017. package/dist/blocks/designs/universal-banner/use-container-width.js +59 -0
  1018. package/dist/blocks/designs/universal-banner/use-container-width.js.map +1 -0
  1019. package/dist/blocks/designs/universal-banner/use-container-width.mjs +35 -0
  1020. package/dist/blocks/designs/universal-banner/use-container-width.mjs.map +1 -0
  1021. package/dist/index.d.ts +29 -0
  1022. package/dist/index.d.ts.map +1 -1
  1023. package/dist/index.js +46 -0
  1024. package/dist/index.js.map +1 -1
  1025. package/dist/index.mjs +34 -0
  1026. package/dist/index.mjs.map +1 -1
  1027. package/dist/lib/contracts/checkout-commerce-v1.d.ts +15 -0
  1028. package/dist/lib/contracts/checkout-commerce-v1.d.ts.map +1 -1
  1029. package/dist/lib/contracts/checkout-commerce-v1.js +3 -0
  1030. package/dist/lib/contracts/checkout-commerce-v1.js.map +1 -1
  1031. package/dist/lib/contracts/checkout-commerce-v1.mjs +3 -0
  1032. package/dist/lib/contracts/checkout-commerce-v1.mjs.map +1 -1
  1033. package/dist/lib/contracts/mega-menu-universal.d.ts +376 -0
  1034. package/dist/lib/contracts/mega-menu-universal.d.ts.map +1 -0
  1035. package/dist/lib/contracts/mega-menu-universal.js +95 -0
  1036. package/dist/lib/contracts/mega-menu-universal.js.map +1 -0
  1037. package/dist/lib/contracts/mega-menu-universal.mjs +70 -0
  1038. package/dist/lib/contracts/mega-menu-universal.mjs.map +1 -0
  1039. package/dist/lib/contracts/universal-banner.d.ts +1793 -0
  1040. package/dist/lib/contracts/universal-banner.d.ts.map +1 -0
  1041. package/dist/lib/contracts/universal-banner.js +235 -0
  1042. package/dist/lib/contracts/universal-banner.js.map +1 -0
  1043. package/dist/lib/contracts/universal-banner.mjs +211 -0
  1044. package/dist/lib/contracts/universal-banner.mjs.map +1 -0
  1045. package/dist/lib/contracts.d.ts +59 -56
  1046. package/dist/lib/contracts.d.ts.map +1 -1
  1047. package/dist/lib/contracts.js +7 -1
  1048. package/dist/lib/contracts.js.map +1 -1
  1049. package/dist/lib/contracts.mjs +3 -0
  1050. package/dist/lib/contracts.mjs.map +1 -1
  1051. package/dist/lib/money.d.ts.map +1 -1
  1052. package/dist/lib/money.js +1 -1
  1053. package/dist/lib/money.js.map +1 -1
  1054. package/dist/lib/money.mjs +1 -1
  1055. package/dist/lib/money.mjs.map +1 -1
  1056. package/dist/lib/validators/universal-banner.d.ts +4 -0
  1057. package/dist/lib/validators/universal-banner.d.ts.map +1 -0
  1058. package/dist/lib/validators/universal-banner.js +403 -0
  1059. package/dist/lib/validators/universal-banner.js.map +1 -0
  1060. package/dist/lib/validators/universal-banner.mjs +379 -0
  1061. package/dist/lib/validators/universal-banner.mjs.map +1 -0
  1062. package/dist/lib/validators.d.ts +13 -0
  1063. package/dist/lib/validators.d.ts.map +1 -0
  1064. package/dist/lib/validators.js +29 -0
  1065. package/dist/lib/validators.js.map +1 -0
  1066. package/dist/lib/validators.mjs +5 -0
  1067. package/dist/lib/validators.mjs.map +1 -0
  1068. package/dist/ports/address-book.d.ts +163 -0
  1069. package/dist/ports/address-book.d.ts.map +1 -0
  1070. package/dist/ports/address-book.js +17 -0
  1071. package/dist/ports/address-book.js.map +1 -0
  1072. package/dist/ports/address-book.mjs +1 -0
  1073. package/dist/ports/address-book.mjs.map +1 -0
  1074. package/dist/ports/customer-profile.d.ts +122 -0
  1075. package/dist/ports/customer-profile.d.ts.map +1 -0
  1076. package/dist/ports/customer-profile.js +17 -0
  1077. package/dist/ports/customer-profile.js.map +1 -0
  1078. package/dist/ports/customer-profile.mjs +1 -0
  1079. package/dist/ports/customer-profile.mjs.map +1 -0
  1080. package/dist/ports/errors.d.ts +7 -0
  1081. package/dist/ports/errors.d.ts.map +1 -0
  1082. package/dist/ports/errors.js +36 -0
  1083. package/dist/ports/errors.js.map +1 -0
  1084. package/dist/ports/errors.mjs +12 -0
  1085. package/dist/ports/errors.mjs.map +1 -0
  1086. package/dist/ports/favorites.d.ts +130 -0
  1087. package/dist/ports/favorites.d.ts.map +1 -0
  1088. package/dist/ports/favorites.js +17 -0
  1089. package/dist/ports/favorites.js.map +1 -0
  1090. package/dist/ports/favorites.mjs +1 -0
  1091. package/dist/ports/favorites.mjs.map +1 -0
  1092. package/dist/ports/fulfillment-evidence.d.ts +96 -0
  1093. package/dist/ports/fulfillment-evidence.d.ts.map +1 -0
  1094. package/dist/ports/fulfillment-evidence.js +17 -0
  1095. package/dist/ports/fulfillment-evidence.js.map +1 -0
  1096. package/dist/ports/fulfillment-evidence.mjs +1 -0
  1097. package/dist/ports/fulfillment-evidence.mjs.map +1 -0
  1098. package/dist/ports/help-and-support.d.ts +279 -0
  1099. package/dist/ports/help-and-support.d.ts.map +1 -0
  1100. package/dist/ports/help-and-support.js +17 -0
  1101. package/dist/ports/help-and-support.js.map +1 -0
  1102. package/dist/ports/help-and-support.mjs +1 -0
  1103. package/dist/ports/help-and-support.mjs.map +1 -0
  1104. package/dist/ports/index.d.ts +16 -0
  1105. package/dist/ports/index.d.ts.map +1 -0
  1106. package/dist/ports/index.js +40 -0
  1107. package/dist/ports/index.js.map +1 -0
  1108. package/dist/ports/index.mjs +10 -0
  1109. package/dist/ports/index.mjs.map +1 -0
  1110. package/dist/ports/order-detail.d.ts +301 -0
  1111. package/dist/ports/order-detail.d.ts.map +1 -0
  1112. package/dist/ports/order-detail.js +17 -0
  1113. package/dist/ports/order-detail.js.map +1 -0
  1114. package/dist/ports/order-detail.mjs +1 -0
  1115. package/dist/ports/order-detail.mjs.map +1 -0
  1116. package/dist/ports/order-history.d.ts +128 -0
  1117. package/dist/ports/order-history.d.ts.map +1 -0
  1118. package/dist/ports/order-history.js +17 -0
  1119. package/dist/ports/order-history.js.map +1 -0
  1120. package/dist/ports/order-history.mjs +1 -0
  1121. package/dist/ports/order-history.mjs.map +1 -0
  1122. package/package.json +10 -3
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/contracts.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { Money, PaymentMethod, ProductPreview } from '@thorprovider/types'\nimport { moneySchema } from './money-schema'\n\n/**\n * Serialization contracts for spec-driven storefronts.\n *\n * These Zod schemas are the *serializable subset* of what a spec may write for\n * a block. The component keeps its rich React interface; the catalog/registry\n * is the adapter that maps these props to real component props and binds\n * callbacks (see storefronts-on-blocks design D3). `z.infer` is the typed\n * boundary between spec and catalog — a prop outside the schema is a compile\n * error, not a runtime surprise.\n *\n * Data shapes are projections of the @thorprovider/types canon so that\n * @thorprovider/adapters output validates without conflict:\n * - Prices are plain numbers here while the canon `Money` is a decimal string\n * ({ amount: \"45.00\", currencyCode }). The projection happens at the\n * loader boundary.\n * - Blocks use `title` while the canon `ProductPreview` uses `name`. Reconcile\n * via the canonical aliases below or the catalog/loader adapter.\n */\nexport type CanonMoney = Money\nexport type CanonProduct = ProductPreview\n\n/**\n * Fallback data-URI for required image fields when the data source has no\n * image. Image fields are non-optional `z.string()` in these contracts, so the\n * boundary must never emit `\"\"` (React warns about `src=\"\"`); it must emit a\n * real, renderable value. Hosts may override with their own branded fallback\n * (e.g. electrostore's `CATEGORY_IMAGE_FALLBACK`), but blocks ship a neutral\n * one so direct consumers are safe by default.\n */\nexport const PRODUCT_IMAGE_FALLBACK =\n 'data:image/svg+xml;charset=utf-8,' +\n encodeURIComponent(\n `<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><rect width='100%' height='100%' fill='#e2e8f0'/><g fill='none' stroke='#94a3b8' stroke-width='12' stroke-linecap='round'><path d='M150 300h300M300 150v300'/><path d='M220 230h50M220 300h50M220 370h50'/><path d='M330 230h50M330 300h50M330 370h50'/></g></svg>`,\n )\n\n// ---------------------------------------------------------------------------\n// Data contracts\n// ---------------------------------------------------------------------------\n\n/**\n * Canonical `Money` — defined in the leaf module `./money-schema` so the\n * generated per-design contract entries can import it without a cycle with\n * this module (which re-exports those entries). Re-exported here unchanged.\n */\nexport { moneySchema } from './money-schema'\n\nconst imageSchema = z.object({\n id: z.string().optional(),\n url: z.string(),\n altText: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n})\n\nconst selectedOptionSchema = z.object({\n name: z.string(),\n value: z.string(),\n})\n\nexport const productDetailVariantSchema = z.object({\n id: z.string(),\n title: z.string(),\n sku: z.string().optional(),\n availableForSale: z.boolean(),\n selectedOptions: z.array(selectedOptionSchema),\n /** Omit or null when the backend has no resolved price (purchase disabled). */\n price: moneySchema.nullish(),\n compareAtPrice: moneySchema.optional(),\n image: imageSchema.optional(),\n})\nexport type ProductDetailVariantSpec = z.infer<typeof productDetailVariantSchema>\n\nexport const productDetailProductSchema = z.object({\n id: z.string(),\n handle: z.string().optional(),\n title: z.string(),\n description: z.string().optional(),\n vendor: z.string().optional(),\n options: z.array(z.object({ id: z.string(), name: z.string(), values: z.array(z.string()) })),\n variants: z.array(productDetailVariantSchema),\n images: z.array(imageSchema),\n featuredImage: imageSchema.optional(),\n})\nexport type ProductDetailProductSpec = z.infer<typeof productDetailProductSchema>\n\n/**\n * Canonical ProductOverview contract. Uses the canonical product projection and adds the\n * bounded `presentation` option plus the `rich` presentation's optional data. Callbacks are not\n * part of the schema (they are runtime props).\n */\nexport const productOverviewReviewSchema = z.object({\n id: z.number(),\n author: z.string(),\n rating: z.number(),\n comment: z.string(),\n date: z.string(),\n helpful: z.number().optional(),\n})\n\nexport const productOverviewPropsSchema = z.object({\n product: productDetailProductSchema,\n presentation: z.enum(['standard', 'gallery', 'rich']).optional(),\n selectedVariantId: z.string().nullable().optional(),\n quantity: z.number().optional(),\n rating: z.object({ value: z.number(), count: z.number() }).optional(),\n deliveryEstimate: z.string().optional(),\n shipping: moneySchema.optional(),\n specifications: z.record(z.string(), z.string()).optional(),\n features: z.array(z.string()).optional(),\n reviews: z.array(productOverviewReviewSchema).optional(),\n sizesLabel: z.string().optional(),\n variantLabel: z.string().optional(),\n reviewsLabel: z.string().optional(),\n addToCartLabel: z.string().optional(),\n outOfStockLabel: z.string().optional(),\n unavailablePriceLabel: z.string().optional(),\n selectVariantLabel: z.string().optional(),\n quantityLabel: z.string().optional(),\n deliveryEstimateLabel: z.string().optional(),\n shippingLabel: z.string().optional(),\n badgeLabel: z.string().optional(),\n availabilityLabel: z.string().optional(),\n skuLabel: z.string().optional(),\n overviewLabel: z.string().optional(),\n specsLabel: z.string().optional(),\n featuresLabel: z.string().optional(),\n specificationsLabel: z.string().optional(),\n galleryLabel: z.string().optional(),\n photosLabel: z.string().optional(),\n saveLabel: z.string().optional(),\n savedLabel: z.string().optional(),\n shareLabel: z.string().optional(),\n basedOnReviewsLabel: z.string().optional(),\n foundHelpfulLabel: z.string().optional(),\n ofCounterLabel: z.string().optional(),\n freeDeliveryLabel: z.string().optional(),\n})\nexport type ProductOverviewSpecProps = z.infer<typeof productOverviewPropsSchema>\n\nexport const cardProductSchema = z.object({\n id: z.union([z.string(), z.number()]),\n title: z.string(),\n price: z.number(),\n originalPrice: z.number().optional(),\n image: z.string(),\n badge: z.string().optional(),\n})\nexport type CardProduct = z.infer<typeof cardProductSchema>\n\nexport const cartItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: z.number(),\n quantity: z.number().int().min(0),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n variant: z.string().optional(),\n /** Canonical backend per-unit price, preferred for display when present. */\n unitPrice: moneySchema.optional(),\n /** Canonical backend line total, preferred over `price * quantity`. */\n lineTotal: moneySchema.optional(),\n})\nexport type CartItem = z.infer<typeof cartItemSchema>\n\nexport const cartTotalsSchema = z.object({\n subtotal: moneySchema,\n discount: moneySchema.optional(),\n tax: moneySchema.optional(),\n shipping: moneySchema.optional(),\n total: moneySchema,\n})\nexport type CartTotals = z.infer<typeof cartTotalsSchema>\n\nexport const recentlyViewedItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: z.number(),\n image: z.string(),\n})\nexport type RecentlyViewedItem = z.infer<typeof recentlyViewedItemSchema>\n\nexport const promotionSchema = z.object({\n threshold: z.number(),\n reward: z.string(),\n icon: z.string().default('gift'),\n})\nexport type Promotion = z.infer<typeof promotionSchema>\n\nconst storeCategoryBase = {\n label: z.string(),\n href: z.string(),\n emphasis: z.boolean().optional(),\n}\n\nexport const storeCategorySchema: z.ZodType<StoreCategory> = z.lazy(() =>\n z.object({\n ...storeCategoryBase,\n children: z.array(storeCategorySchema).optional(),\n }),\n)\nexport type StoreCategory = {\n label: string\n href: string\n children?: StoreCategory[]\n emphasis?: boolean\n}\n\nexport const utilityLinkSchema = z.object({\n label: z.string(),\n href: z.string(),\n})\nexport type UtilityLink = z.infer<typeof utilityLinkSchema>\n\nexport const navCartItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n variant: z.string().optional(),\n price: z.number(),\n qty: z.number().int().min(0),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n})\nexport type NavCartItem = z.infer<typeof navCartItemSchema>\n\nexport const storeUserSchema = z.object({\n name: z.string(),\n email: z.string(),\n avatar: z.string().optional(),\n initials: z.string(),\n})\nexport type StoreUser = z.infer<typeof storeUserSchema>\n\nexport const accountMenuItemSchema = z.object({\n label: z.string(),\n href: z.string(),\n description: z.string().optional(),\n icon: z.enum(['orders', 'wishlist', 'addresses', 'settings']).optional(),\n})\nexport type AccountMenuItem = z.infer<typeof accountMenuItemSchema>\n\n/**\n * Serialization contract for a payment method offered at checkout.\n *\n * A projection of `@thorprovider/types` `PaymentMethod` — the storefront-facing\n * shape produced by the adapters transform. Checkout blocks render the method\n * list from this data instead of hardcoding providers.\n */\nexport const paymentMethodSchema: z.ZodType<PaymentMethod> = z.object({\n id: z.string(),\n name: z.string(),\n type: z.enum([\n 'card',\n 'wallet',\n 'bank_transfer',\n 'buy_now_pay_later',\n 'cash_on_delivery',\n 'crypto',\n 'other',\n ]),\n isEnabled: z.boolean(),\n requiresSetup: z.boolean(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n features: z\n .object({\n saveForLater: z.boolean().optional(),\n requires3DS: z.boolean().optional(),\n supportsRefunds: z.boolean().optional(),\n minAmount: z.number().optional(),\n maxAmount: z.number().optional(),\n supportedCurrencies: z.array(z.string()).optional(),\n requiresVerification: z.boolean().optional(),\n })\n .optional(),\n logo: z.string().optional(),\n})\n\n// ---------------------------------------------------------------------------\n// Block prop schemas\n// ---------------------------------------------------------------------------\n\nexport const buttonPropsSchema = z.object({\n variant: z\n .enum(['default', 'destructive', 'outline', 'secondary', 'ghost', 'link'])\n .optional(),\n size: z\n .enum(['default', 'xs', 'sm', 'lg', 'icon', 'icon-xs', 'icon-sm', 'icon-lg'])\n .optional(),\n disabled: z.boolean().optional(),\n className: z.string().optional(),\n})\nexport type ButtonSpecProps = z.infer<typeof buttonPropsSchema>\n\nexport const storeContainer1PropsSchema = z.object({\n size: z.enum(['default', 'narrow', 'wide', 'full']).optional(),\n className: z.string().optional(),\n})\nexport type StoreContainer1SpecProps = z.infer<typeof storeContainer1PropsSchema>\n\n/**\n * Canonical product presentation — the serializable projection a storefront host\n * produces from a canonical `Product` for the merchandising sections. Unlike\n * `cardProductSchema` (legacy, numeric `price`), `price`/`compareAtPrice` carry\n * canonical `Money` (decimal major-unit string + currency code), so the block\n * formats in the shopper's currency and locale and renders a truthful\n * unavailable state instead of `$0`. Optional fields are omitted, never `\"\"`.\n *\n * This contract is additive: `cardProductSchema` and its consumers are\n * unchanged, and a legacy numeric `price` still renders the legacy output.\n */\nexport const productPresentationSchema = z.object({\n id: z.union([z.string(), z.number()]),\n title: z.string(),\n /** Omitted (never `\"\"`) when the backend has no image. */\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n /** Product destination; omitted when unknown. */\n href: z.string().optional(),\n price: moneySchema,\n /** Comparison (\"was\") price; rendered only when valid and higher than `price`. */\n compareAtPrice: moneySchema.optional(),\n /** Only from real evidence; omitted otherwise (never fabricated). */\n rating: z.number().optional(),\n badge: z.string().optional(),\n})\nexport type ProductPresentation = z.infer<typeof productPresentationSchema>\n\n/**\n * Canonical product card contract (item cell of a product listing). The cell\n * consumes one canonical `ProductPresentation` projection only — the legacy\n * numeric-price card shape is not accepted. `presentation` is the bounded\n * structure switch (`classic`/`minimal`/`rich`) and `wishlisted` is the\n * host-resolved membership state; callbacks and label strings are runtime\n * props and are excluded here. Collection concerns (heading, item cap, loading\n * and empty states) belong to `ProductGrid`.\n */\nexport const productCardPropsSchema = z.object({\n item: productPresentationSchema,\n presentation: z.enum(['classic', 'minimal', 'rich']).optional(),\n wishlisted: z.boolean().optional(),\n})\nexport type ProductCardSpecProps = z.infer<typeof productCardPropsSchema>\n\n/**\n * Canonical product grid contract (listing). Consumes a collection of\n * canonical `ProductPresentation` items and owns the listing's heading, item\n * cap, wishlist membership, and loading/empty/ready states. `wishlistedIds` is\n * resolved per cell before rendering, so the cell receives only its own\n * boolean. Callbacks and label strings are runtime props and are excluded\n * here. Error state belongs to the host.\n */\nexport const productGridPropsSchema = z.object({\n items: z.array(productPresentationSchema),\n presentation: z.enum(['classic', 'minimal', 'rich']).optional(),\n heading: z.string().optional(),\n maxItems: z.number().int().positive().optional(),\n wishlistedIds: z.array(z.union([z.string(), z.number()])).readonly().optional(),\n loading: z.boolean().optional(),\n skeletonCount: z.number().int().positive().optional(),\n emptyLabel: z.string().optional(),\n})\nexport type ProductGridSpecProps = z.infer<typeof productGridPropsSchema>\n\n/**\n * Serializable contract for the combined grid-and-carousel product\n * presentation (`ProductShowcase1`). The grid pages are fixed-size, navigated\n * manually (prev/next) with a visible current-page indication; there is no\n * autoplay and no infinite loop. React-only callbacks are excluded.\n */\nexport const productShowcase1PropsSchema = z.object({\n products: z.array(productPresentationSchema),\n heading: z.string().optional(),\n description: z.string().optional(),\n pageSize: z.number().int().positive().optional(),\n prevLabel: z.string().optional(),\n nextLabel: z.string().optional(),\n pageLabel: z.string().optional(),\n unavailablePriceLabel: z.string().optional(),\n emptyLabel: z.string().optional(),\n addToCartLabel: z.string().optional(),\n})\nexport type ProductShowcase1SpecProps = z.infer<typeof productShowcase1PropsSchema>\n\n/**\n * Canonical shopping cart contract (consolidated shopping-cart family). Lines\n * are keyed by the backend cart line-item id and carry canonical `Money`\n * amounts only — the legacy numeric-price shape is not accepted: a line always\n * carries the backend-authoritative `lineTotal`, and an optional `unitPrice` is\n * carried verbatim (never used for a local `price * quantity` computation).\n * Suggestions fold the numbered carts' recommendations: optional image (omitted\n * when absent) and optional canonical `Money` price. `presentation` is the\n * bounded structure switch (`compact`/`page`); callbacks and interaction state\n * are runtime props and are excluded here.\n */\nexport const shoppingCartItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n quantity: z.number().int().min(0),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n variant: z.string().optional(),\n /** Canonical backend line total; a malformed amount renders as unavailable. */\n lineTotal: moneySchema,\n /** Canonical backend unit price; carried verbatim, never used locally. */\n unitPrice: moneySchema.optional(),\n})\nexport type ShoppingCartItem = z.infer<typeof shoppingCartItemSchema>\n\nexport const shoppingCartSuggestionSchema = z.object({\n id: z.string(),\n name: z.string(),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n unitPrice: moneySchema.optional(),\n})\nexport type ShoppingCartSuggestion = z.infer<typeof shoppingCartSuggestionSchema>\n\nexport const shoppingCartPropsSchema = z.object({\n items: z.array(shoppingCartItemSchema),\n promotions: z.array(promotionSchema).default([]),\n recentlyViewed: z.array(shoppingCartSuggestionSchema).optional(),\n presentation: z.enum(['compact', 'page']).optional(),\n /** Backend-authoritative totals; rendered verbatim, never computed locally. */\n totals: cartTotalsSchema.optional(),\n totalsState: z.enum(['idle', 'pending', 'error']).optional(),\n totalsErrorLabel: z.string().optional(),\n totalsUnavailableLabel: z.string().optional(),\n amountUnavailableLabel: z.string().optional(),\n retryLabel: z.string().optional(),\n titleLabel: z.string().optional(),\n subtotalLabel: z.string().optional(),\n discountLabel: z.string().optional(),\n taxLabel: z.string().optional(),\n shippingLabel: z.string().optional(),\n shippingFreeLabel: z.string().optional(),\n totalLabel: z.string().optional(),\n totalsPendingLabel: z.string().optional(),\n awayFromLabel: z.string().optional(),\n activatedLabel: z.string().optional(),\n itemsLabel: z.string().optional(),\n expressCheckoutLabel: z.string().optional(),\n expressLabel: z.string().optional(),\n standardLabel: z.string().optional(),\n estimatedDeliveryLabel: z.string().optional(),\n secureCheckoutLabel: z.string().optional(),\n recentlyViewedLabel: z.string().optional(),\n promoPromptLabel: z.string().optional(),\n promoPlaceholderLabel: z.string().optional(),\n promoApplyLabel: z.string().optional(),\n collapseLabel: z.string().optional(),\n expandLabel: z.string().optional(),\n checkoutLabel: z.string().optional(),\n quickCheckoutLabel: z.string().optional(),\n checkoutNowLabel: z.string().optional(),\n emptyLabel: z.string().optional(),\n removeLabel: z.string().optional(),\n decreaseLabel: z.string().optional(),\n increaseLabel: z.string().optional(),\n})\nexport type ShoppingCartSpecProps = z.infer<typeof shoppingCartPropsSchema>\n\n/**\n * Optional brand seams shared by the existing blocks. These mirror the\n * components' optional props as a serializable subset (no React): an accent\n * marks a trailing segment of the wordmark/brand name, and an editorial image\n * is a native `<img>` source. Omitting each keeps the block's current output.\n */\nexport const logoAccentSchema = z.object({\n text: z.string(),\n className: z.string().optional(),\n})\nexport type LogoAccent = z.infer<typeof logoAccentSchema>\n\nexport const brandAccentSchema = z.object({\n text: z.string(),\n className: z.string().optional(),\n})\nexport type BrandAccent = z.infer<typeof brandAccentSchema>\n\nexport const heroImageSchema = z.object({\n src: z.string(),\n alt: z.string(),\n})\nexport type HeroImage = z.infer<typeof heroImageSchema>\n\n/**\n * Serializable contract for the canonical commerce storefront shell\n * (`StorefrontNavbar`). Identity, cart, and search state stay host-owned: the\n * schema carries content and display state only, never cart arithmetic.\n */\nexport const storefrontNavbarPropsSchema = z.object({\n storeCategories: z.array(storeCategorySchema),\n shippingNote: z.string().optional(),\n utilityLinks: z.array(utilityLinkSchema),\n logoText: z.string(),\n logoHref: z.string().optional(),\n /** Optional accent for a trailing segment of `logoText`; omitted → unchanged. */\n logoAccent: logoAccentSchema.optional(),\n /**\n * Consumer-supplied classes merged onto the block's outer surface as the\n * final argument (e.g. a semantic surface token). Omitted → unchanged.\n */\n className: z.string().optional(),\n accountHref: z.string().optional(),\n searchQuery: z.string().optional(),\n items: z.array(navCartItemSchema).optional(),\n /** Authoritative backend subtotal for the mini-cart. */\n subtotal: moneySchema.optional(),\n subtotalUnavailableLabel: z.string().optional(),\n user: storeUserSchema.optional(),\n accountMenuItems: z.array(accountMenuItemSchema).optional(),\n accountPending: z.boolean().optional(),\n accountUnavailable: z.boolean().optional(),\n})\nexport type StorefrontNavbarSpecProps = z.infer<typeof storefrontNavbarPropsSchema>\n\n/**\n * Serializable contracts for the two bounded editorial sections (`faq`, `cta`).\n * These are the serializable subset of `FaqBlock1Props`/`CtaSection1Props`: the\n * React-only callbacks (`onPrimaryClick`/`onSecondaryClick`) are intentionally\n * excluded — the catalog adapter binds them (see design D3).\n */\nexport const ctaSchema = z.object({\n label: z.string(),\n href: z.string().optional(),\n})\nexport type CtaSpec = z.infer<typeof ctaSchema>\n\n/** Bounded presentations of the page-level navigation header. */\nexport const navbarPresentationSchema = z.enum(['bar', 'mega', 'floating'])\nexport type NavbarPresentationSpec = z.infer<typeof navbarPresentationSchema>\n\nexport const navbarItemSchema = z.object({\n label: z.string(),\n href: z.string(),\n description: z.string().optional(),\n /** Key resolved through the consumer's host-bound `iconMap`. */\n icon: z.string().optional(),\n})\nexport type NavbarItemSpec = z.infer<typeof navbarItemSchema>\n\nexport const navbarGroupSchema = z.object({\n title: z.string().optional(),\n items: z.array(navbarItemSchema),\n})\nexport type NavbarGroupSpec = z.infer<typeof navbarGroupSchema>\n\nexport const navbarLinkSchema = z.object({\n label: z.string(),\n href: z.string().optional(),\n groups: z.array(navbarGroupSchema).optional(),\n emphasis: z.boolean().optional(),\n})\nexport type NavbarLinkSpec = z.infer<typeof navbarLinkSchema>\n\nexport const navbarFeaturedSchema = z.object({\n eyebrow: z.string(),\n title: z.string(),\n description: z.string().optional(),\n href: z.string(),\n linkLabel: z.string().optional(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n})\nexport type NavbarFeaturedSpec = z.infer<typeof navbarFeaturedSchema>\n\n/**\n * Serializable contract for the canonical page-level header (`Navbar`). The\n * serializable subset excludes the React-only bindings: `iconMap`, `onSignIn`,\n * and `onCtaClick` are bound by the host, exactly like the footer's icon map.\n */\nexport const navbarPropsSchema = z.object({\n presentation: navbarPresentationSchema.optional(),\n logoText: z.string(),\n logoHref: z.string().optional(),\n currentPath: z.string().optional(),\n links: z.array(navbarLinkSchema),\n featured: navbarFeaturedSchema.optional(),\n signIn: ctaSchema.optional(),\n cta: ctaSchema.optional(),\n /** Consumer-supplied classes merged onto the header surface last. */\n className: z.string().optional(),\n})\nexport type NavbarSpecProps = z.infer<typeof navbarPropsSchema>\n\n/**\n * Serializable subset of the canonical `StorefrontHero`'s props (callbacks\n * excluded). Every popularity, review, count, or countdown field is optional\n * host-supplied evidence: omitted fields render nothing (honest omission)\n * instead of fabricated defaults, and prices are formatted from the supplied\n * ISO 4217 `currency` via `Intl.NumberFormat` (never hardcoded).\n */\nexport const storefrontHeroProductSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: z.number(),\n originalPrice: z.number().optional(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n brand: z.string().optional(),\n colors: z.array(z.string()).optional(),\n rating: z.number().optional(),\n reviewCount: z.number().optional(),\n inStock: z.boolean().optional(),\n isNew: z.boolean().optional(),\n tag: z.string().optional(),\n})\nexport type StorefrontHeroProduct = z.infer<typeof storefrontHeroProductSchema>\n\nexport const storefrontHeroPropsSchema = z.object({\n title: z.string(),\n description: z.string(),\n presentation: z.enum(['compact', 'showcase', 'editorial', 'promotional']).optional(),\n currency: z.string().optional(),\n products: z.array(storefrontHeroProductSchema),\n badge: z.string().optional(),\n titleAccent: z.string().optional(),\n primaryCta: ctaSchema.optional(),\n secondaryCta: ctaSchema.optional(),\n heroImage: heroImageSchema.optional(),\n departments: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n count: z.string().optional(),\n href: z.string().optional(),\n }),\n )\n .optional(),\n featuredDeals: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n price: z.number(),\n originalPrice: z.number().optional(),\n cta: ctaSchema.optional(),\n }),\n )\n .optional(),\n storeLocator: z\n .object({\n title: z.string(),\n description: z.string(),\n ctaLabel: z.string(),\n ctaHref: z.string().optional(),\n })\n .optional(),\n shippingInfo: z.string().optional(),\n deals: z\n .array(\n z.object({\n id: z.string(),\n title: z.string(),\n discount: z.string().optional(),\n endTime: z.string().optional(),\n }),\n )\n .optional(),\n categories: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n count: z.string().optional(),\n href: z.string().optional(),\n }),\n )\n .optional(),\n rotationInterval: z.number().optional(),\n addToCartLabel: z.string().optional(),\n buyNowLabel: z.string().optional(),\n newLabel: z.string().optional(),\n outOfStockLabel: z.string().optional(),\n colorsLabel: z.string().optional(),\n discountSuffixLabel: z.string().optional(),\n searchPlaceholder: z.string().optional(),\n searchLabel: z.string().optional(),\n featuredDescription: z.string().optional(),\n shopNowLabel: z.string().optional(),\n endsInLabel: z.string().optional(),\n productsLabel: z.string().optional(),\n viewLabel: z.string().optional(),\n})\nexport type StorefrontHeroSpecProps = z.infer<typeof storefrontHeroPropsSchema>\n\nexport const faqItemSchema = z.object({\n value: z.string(),\n question: z.string(),\n answer: z.string(),\n})\nexport type FaqItemSpec = z.infer<typeof faqItemSchema>\n\nexport const faqBlock1PropsSchema = z.object({\n items: z.array(faqItemSchema),\n title: z.string().optional(),\n description: z.string().optional(),\n accordionType: z.enum(['single', 'multiple']).optional(),\n})\nexport type FaqBlock1SpecProps = z.infer<typeof faqBlock1PropsSchema>\n\nexport const ctaSection1PropsSchema = z.object({\n badgeText: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n primaryCta: ctaSchema.optional(),\n secondaryCta: ctaSchema.optional(),\n})\nexport type CtaSection1SpecProps = z.infer<typeof ctaSection1PropsSchema>\n\n/**\n * Serializable contract for the canonical `Feature` benefits section. The\n * item `icon` is a Lucide icon NAME (e.g. `'Zap'`) that the registry resolves\n * to a component at the seam; the React-only callbacks (`onCtaClick`,\n * `onLearnMore`) are intentionally excluded — the catalog adapter binds them.\n */\nexport const featureItemSpecSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string(),\n icon: z.string(),\n})\n\n/**\n * `cards` branch: the card grid never owns an image. The presentation is\n * optional so an omitted value resolves to `cards`.\n */\nexport const featureCardsSpecSchema = z.object({\n items: z.array(featureItemSpecSchema),\n presentation: z.literal('cards').optional(),\n badge: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n ctaLabel: z.string().optional(),\n learnMoreLabel: z.string().optional(),\n className: z.string().optional(),\n})\nexport type FeatureCardsSpecProps = z.infer<typeof featureCardsSpecSchema>\n\n/**\n * `split` branch: the editorial image is mandatory and must carry a non-empty\n * `src`. `alt` stays required so the caller decides whether the image is\n * informative or decorative. `cards`-only chrome is intentionally absent.\n */\nexport const featureSplitSpecSchema = z.object({\n items: z.array(featureItemSpecSchema),\n presentation: z.literal('split'),\n title: z.string().optional(),\n description: z.string().optional(),\n image: z.object({ src: z.string().trim().min(1), alt: z.string() }),\n className: z.string().optional(),\n})\nexport type FeatureSplitSpecProps = z.infer<typeof featureSplitSpecSchema>\n\n/**\n * Serialized `Feature` union. The split branch is listed first so\n * `presentation: 'split'` resolves deterministically; an omitted presentation\n * falls through to `cards`. A split input without a non-empty image matches\n * neither branch and fails to parse.\n */\nexport const featurePropsSchema = z.union([featureSplitSpecSchema, featureCardsSpecSchema])\nexport type FeatureSpecProps = z.infer<typeof featurePropsSchema>\n\n/**\n * Canonical category contract for the consolidated `ProductCategory` block.\n *\n * `categories` is the canonical category projection (a `@thorprovider/types`\n * `ProductCategory` subset): ids are canonical strings, optional fields are\n * omitted rather than serialized as `\"\"`, and there are no demo-only required\n * fields (no required subtitle, sector icon enum, or Lucide component). `icon`\n * is a plain, serializable icon-key string resolved by the block against a\n * bounded map with a neutral fallback. The `presentation` value is a bounded\n * structure switch, never a per-store fork. Callbacks are runtime props and are\n * excluded here (see the component).\n */\nexport const productCategoryItemSchema = z.object({\n id: z.string(),\n handle: z.string().optional(),\n name: z.string(),\n description: z.string().optional(),\n /** Optional real count; an unknown count is omitted, never fabricated as `0`. */\n itemCount: z.number().optional(),\n /** Omitted (never `\"\"`) when the backend has no image. */\n image: z.string().optional(),\n trending: z.boolean().optional(),\n /** Serializable icon key (e.g. `'shirt'`); unknown keys render a neutral fallback. */\n icon: z.string().optional(),\n subcategories: z.array(z.string()).optional(),\n featured: z.boolean().optional(),\n})\nexport type ProductCategoryItem = z.infer<typeof productCategoryItemSchema>\n\nexport const productCategoryPropsSchema = z.object({\n categories: z.array(productCategoryItemSchema),\n presentation: z.enum(['grid', 'icons', 'list']).optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n badge: z.string().optional(),\n cta: ctaSchema.optional(),\n /** Controlled search value; filtering is owned by the host. */\n query: z.string().optional(),\n searchPlaceholder: z.string().optional(),\n searchLabel: z.string().optional(),\n emptyLabel: z.string().optional(),\n noResultsLabel: z.string().optional(),\n browseLabel: z.string().optional(),\n viewAllLabel: z.string().optional(),\n trendingLabel: z.string().optional(),\n featuredLabel: z.string().optional(),\n itemsLabel: z.string().optional(),\n imageFallback: z.string().optional(),\n className: z.string().optional(),\n})\nexport type ProductCategorySpecProps = z.infer<typeof productCategoryPropsSchema>\n\nexport const categoryCardPropsSchema = z.object({\n category: productCategoryItemSchema,\n presentation: z.enum(['grid', 'icons', 'list']).optional(),\n browseLabel: z.string().optional(),\n itemsLabel: z.string().optional(),\n trendingLabel: z.string().optional(),\n featuredLabel: z.string().optional(),\n imageFallback: z.string().optional(),\n})\nexport type CategoryCardSpecProps = z.infer<typeof categoryCardPropsSchema>\n\nexport const categoryGridPropsSchema = productCategoryPropsSchema.extend({\n maxItems: z.number().int().positive().optional(),\n loading: z.boolean().optional(),\n skeletonCount: z.number().int().positive().optional(),\n})\nexport type CategoryGridSpecProps = z.infer<typeof categoryGridPropsSchema>\n\n/**\n * Canonical order-history contracts (change: consolidate-order-history-family).\n *\n * `OrderHistory` is the order-level collection section and `OrderLine` is its\n * item cell. Both are `Money`-only: there is no numeric money field, so a host\n * cannot supply a `toFixed` amount, and the block never sums lines into a\n * total. `status` is data (`label` plus optional `tone`) so no status literal\n * is compared anywhere. Callbacks, `locale`, and the formatter are runtime\n * props and are excluded here, as in the cart contract.\n */\nexport const orderHistoryPresentationSchema = z.enum(['cards', 'rows'])\nexport type OrderHistoryPresentationSpec = z.infer<typeof orderHistoryPresentationSchema>\n\nexport const orderHistoryStatusSchema = z.object({\n label: z.string().min(1),\n tone: z.enum(['default', 'secondary', 'destructive', 'outline']).optional(),\n})\nexport type OrderHistoryStatusSpec = z.infer<typeof orderHistoryStatusSchema>\n\nexport const orderLineDataSchema = z.object({\n /** Backend line identity; the React key. */\n id: z.string().min(1),\n name: z.string(),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n details: z.string().optional(),\n quantity: z.number().int().min(0),\n /** Canonical backend line total; rendered verbatim. */\n lineTotal: moneySchema,\n})\nexport type OrderLineDataSpec = z.infer<typeof orderLineDataSchema>\n\nexport const orderHistoryOrderSchema = z.object({\n /** Backend order identity; the React key and the action callback argument. */\n id: z.string().min(1),\n number: z.string().min(1),\n date: z.string(),\n status: orderHistoryStatusSchema,\n /** Canonical backend order total; rendered verbatim, never aggregated. */\n total: moneySchema,\n items: z.array(orderLineDataSchema),\n trackable: z.boolean().optional(),\n})\nexport type OrderHistoryOrderSpec = z.infer<typeof orderHistoryOrderSchema>\n\nexport const orderHistoryPropsSchema = z.object({\n orders: z.array(orderHistoryOrderSchema),\n presentation: orderHistoryPresentationSchema.optional(),\n labels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type OrderHistorySpecProps = z.infer<typeof orderHistoryPropsSchema>\n\nexport const orderLinePropsSchema = z.object({\n name: z.string(),\n image: z.string().optional(),\n details: z.string().optional(),\n quantity: z.number().int().min(0),\n lineTotal: moneySchema,\n quantityLabel: z.string().optional(),\n amountUnavailableLabel: z.string().optional(),\n className: z.string().optional(),\n})\nexport type OrderLineSpecProps = z.infer<typeof orderLinePropsSchema>\n\n// Account contracts (change: storefront-customer-view).\n//\n// The frame, profile form, address book, and address form are host-driven: every\n// string is overridable, every value comes from the host, and no contract carries\n// a callback (the registry supplies those). A presentation is a bounded enum, so\n// an unknown shape fails validation instead of falling back silently.\nexport const accountFramePresentationSchema = z.enum(['stack', 'tabs'])\nexport type AccountFramePresentationSpec = z.infer<typeof accountFramePresentationSchema>\n\nexport const accountModuleSpecSchema = z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n href: z.string().optional(),\n})\nexport type AccountModuleSpec = z.infer<typeof accountModuleSpecSchema>\n\nexport const accountFramePropsSchema = z.object({\n displayName: z.string(),\n email: z.string().optional(),\n modules: z.array(accountModuleSpecSchema),\n activeModule: z.string().optional(),\n presentation: accountFramePresentationSchema.optional(),\n labels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type AccountFrameSpecProps = z.infer<typeof accountFramePropsSchema>\n\nexport const profileFieldSpecSchema = z.object({\n name: z.string().min(1),\n label: z.string().min(1),\n value: z.string().optional(),\n type: z.enum(['text', 'tel', 'email']).optional(),\n required: z.boolean().optional(),\n readOnly: z.boolean().optional(),\n autoComplete: z.string().optional(),\n})\nexport type ProfileFieldSpec = z.infer<typeof profileFieldSpecSchema>\n\nexport const profileFormPropsSchema = z.object({\n fields: z.array(profileFieldSpecSchema),\n labels: z.record(z.string(), z.string()).optional(),\n pending: z.boolean().optional(),\n error: z.string().nullable().optional(),\n className: z.string().optional(),\n})\nexport type ProfileFormSpecProps = z.infer<typeof profileFormPropsSchema>\n\nexport const accountAddressSpecSchema = z.object({\n id: z.string().min(1),\n recipientName: z.string(),\n lines: z.array(z.string()),\n isDefaultShipping: z.boolean().optional(),\n isDefaultBilling: z.boolean().optional(),\n})\nexport type AccountAddressSpec = z.infer<typeof accountAddressSpecSchema>\n\nexport const addressBookPropsSchema = z.object({\n addresses: z.array(accountAddressSpecSchema),\n labels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type AddressBookSpecProps = z.infer<typeof addressBookPropsSchema>\n\nexport const addressFormFieldSpecSchema = z.object({\n name: z.string().min(1),\n label: z.string().min(1),\n value: z.string().optional(),\n type: z.enum(['text', 'tel', 'email', 'select']).optional(),\n required: z.boolean().optional(),\n autoComplete: z.string().optional(),\n options: z.array(z.object({ value: z.string(), label: z.string() })).optional(),\n})\nexport type AddressFormFieldSpec = z.infer<typeof addressFormFieldSpecSchema>\n\nexport const addressFormPropsSchema = z.object({\n fields: z.array(addressFormFieldSpecSchema),\n labels: z.record(z.string(), z.string()).optional(),\n pending: z.boolean().optional(),\n error: z.string().nullable().optional(),\n fieldErrors: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type AddressFormSpecProps = z.infer<typeof addressFormPropsSchema>\n\n/**\n * Canonical review contracts (change: consolidate-review-family).\n *\n * `ReviewSummary` is the aggregate unit, `ReviewList` the collection section,\n * `ReviewCard` its item cell, and `ReviewComposer` the controlled form. The\n * aggregate fields are required here for the same reason they are required in\n * the component: an absent average must stop a host from rendering a summary,\n * not become a zero. Callbacks and `resetSignal` are runtime props and are\n * excluded, as in the cart and order-history contracts.\n */\nexport const reviewRatingValueSchema = z.union([\n z.literal(1),\n z.literal(2),\n z.literal(3),\n z.literal(4),\n z.literal(5),\n])\nexport type ReviewRatingValueSpec = z.infer<typeof reviewRatingValueSchema>\n\nexport const reviewDistributionSchema = z.object({\n /** Every rating value is required; a partial distribution is rejected. */\n 1: z.number().int().min(0),\n 2: z.number().int().min(0),\n 3: z.number().int().min(0),\n 4: z.number().int().min(0),\n 5: z.number().int().min(0),\n})\nexport type ReviewDistributionSpec = z.infer<typeof reviewDistributionSchema>\n\nexport const reviewItemSchema = z.object({\n /** Backend review identity; the React key and the action argument. */\n id: z.string().min(1),\n author: z.string().min(1),\n /** Optional; absent avatars are omitted, never serialized as `\"\"`. */\n avatar: z.string().optional(),\n /** Host-formatted display date, rendered verbatim. */\n date: z.string(),\n /** Optional machine-readable value; the cell emits it only when it parses. */\n dateTime: z.string().optional(),\n rating: z.number().min(0).max(5),\n content: z.string(),\n /** Host-authoritative count; absent means unknown, never zero. */\n helpfulCount: z.number().int().min(0).optional(),\n likedByViewer: z.boolean().optional(),\n})\nexport type ReviewItemSpec = z.infer<typeof reviewItemSchema>\n\nexport const reviewSummaryPropsSchema = z.object({\n averageRating: z.number().min(0).max(5),\n totalReviews: z.number().int().min(0),\n distribution: reviewDistributionSchema,\n labels: z.record(z.string(), z.string()).optional(),\n locale: z.string().optional(),\n className: z.string().optional(),\n})\nexport type ReviewSummarySpecProps = z.infer<typeof reviewSummaryPropsSchema>\n\nexport const reviewListPresentationSchema = z.enum(['list', 'carousel'])\nexport type ReviewListPresentationSpec = z.infer<typeof reviewListPresentationSchema>\n\nexport const reviewListPropsSchema = z.object({\n reviews: z.array(reviewItemSchema),\n presentation: reviewListPresentationSchema.optional(),\n labels: z.record(z.string(), z.string()).optional(),\n cardLabels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type ReviewListSpecProps = z.infer<typeof reviewListPropsSchema>\n\nexport const reviewComposerDataSchema = z.object({\n name: z.string().min(1),\n email: z.string().min(1),\n content: z.string().min(1),\n rating: reviewRatingValueSchema,\n})\nexport type ReviewComposerDataSpec = z.infer<typeof reviewComposerDataSchema>\n\nexport const reviewComposerPropsSchema = z.object({\n labels: z.record(z.string(), z.string()).optional(),\n isSubmitting: z.boolean().optional(),\n error: z.string().optional(),\n className: z.string().optional(),\n})\nexport type ReviewComposerSpecProps = z.infer<typeof reviewComposerPropsSchema>\n\n// ---------------------------------------------------------------------------\n// Checkout contracts\n// ---------------------------------------------------------------------------\n\nexport const checkoutReadStateSchema = z.enum(['idle', 'pending', 'error', 'unavailable'])\n\nexport const checkoutAddressOptionSchema = z.object({\n value: z.string(),\n label: z.string(),\n})\n\nexport const checkoutAddressLevelSchema = z.enum(['countries', 'provinces', 'cities'])\n\nexport const checkoutLocationOptionsSchema = z.object({\n countries: z.array(checkoutAddressOptionSchema),\n provinces: z.array(checkoutAddressOptionSchema),\n cities: z.array(checkoutAddressOptionSchema),\n countriesState: checkoutReadStateSchema.optional(),\n provincesState: checkoutReadStateSchema.optional(),\n citiesState: checkoutReadStateSchema.optional(),\n countriesError: z.string().optional(),\n provincesError: z.string().optional(),\n citiesError: z.string().optional(),\n})\n\nexport const checkoutAddressValuesSchema = z.object({\n firstName: z.string(),\n lastName: z.string(),\n address1: z.string(),\n address2: z.string().optional(),\n company: z.string().optional(),\n city: z.string(),\n province: z.string().optional(),\n postalCode: z.string().optional(),\n countryCode: z.string(),\n phone: z.string().optional(),\n})\n\nexport const checkoutContactValuesSchema = z.object({\n email: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n phone: z.string(),\n})\n\nexport const checkoutCustomerIdentitySchema = z.object({\n id: z.string(),\n email: z.string(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n})\n\nexport const checkoutSavedAddressSchema = z.object({\n id: z.string(),\n label: z.string().optional(),\n address: checkoutAddressValuesSchema,\n isDefaultShipping: z.boolean().optional(),\n isDefaultBilling: z.boolean().optional(),\n})\n\nexport const checkoutSavedAddressStateSchema = z.object({\n pendingId: z.string().optional(),\n error: z\n .object({\n id: z.string().optional(),\n message: z.string(),\n })\n .optional(),\n lastSavedId: z.string().optional(),\n lastAction: z.enum(['saved', 'deleted']).optional(),\n})\n\nexport const checkoutShippingOptionSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: moneySchema.optional(),\n description: z.string().optional(),\n estimatedDays: z.string().optional(),\n pickup: z.boolean().optional(),\n locationName: z.string().optional(),\n disabled: z.boolean().optional(),\n disabledReason: z.string().optional(),\n})\n\nexport const checkoutShippingGroupItemSchema = z.object({\n lineId: z.string(),\n quantity: z.number().int().positive().optional(),\n})\n\nexport const checkoutShippingGroupSchema = z.object({\n id: z.string(),\n label: z.string().optional(),\n items: z.array(checkoutShippingGroupItemSchema).optional(),\n itemCount: z.number().int().min(0).optional(),\n options: z.array(checkoutShippingOptionSchema),\n selectedOptionId: z.string().optional(),\n unavailableReason: z.string().optional(),\n})\n\nexport const checkoutAdjustmentPaymentSchema = z.object({\n id: z.string(),\n kind: z.enum(['gift-card', 'store-credit']),\n label: z.string(),\n amount: moneySchema,\n})\n\nexport const checkoutInterruptionKindSchema = z.enum([\n 'totals-changed',\n 'price-changed',\n 'stock-reduced',\n 'item-unavailable',\n 'session-expired',\n 'payment-failed',\n])\n\nexport const checkoutInterruptionActionSchema = z.enum([\n 'acknowledge',\n 'refresh',\n 'return-to-cart',\n 'retry',\n])\n\nexport const checkoutInterruptionSchema = z.object({\n kind: checkoutInterruptionKindSchema,\n severity: z.enum(['info', 'blocking']),\n title: z.string(),\n message: z.string(),\n changes: z\n .array(\n z.object({\n lineId: z.string().optional(),\n label: z.string(),\n previous: z.string().optional(),\n next: z.string().optional(),\n }),\n )\n .optional(),\n actions: z.array(checkoutInterruptionActionSchema),\n})\n\nexport const checkoutSubmissionSchema = z.object({\n contact: checkoutContactValuesSchema,\n shippingAddress: checkoutAddressValuesSchema,\n billingAddress: checkoutAddressValuesSchema.optional(),\n sameAsShipping: z.boolean(),\n shippingSelections: z.array(\n z.object({ groupId: z.string(), optionId: z.string() }),\n ),\n paymentMethod: z.string(),\n adjustmentPayments: z.array(checkoutAdjustmentPaymentSchema),\n promoCode: z.string(),\n})\n\nexport const checkoutOrderLineSchema = z.object({\n id: z.union([z.string(), z.number()]),\n name: z.string(),\n variant: z.string().optional(),\n quantity: z.number(),\n lineTotal: moneySchema.optional(),\n unitPrice: moneySchema.optional(),\n image: z.string().optional(),\n})\n\nexport const checkoutTotalsSchema = z.object({\n subtotal: moneySchema,\n discount: moneySchema.optional(),\n tax: moneySchema.optional(),\n shipping: moneySchema.optional(),\n total: moneySchema,\n})\n\nexport const checkoutOrderSummarySchema = z.object({\n items: z.array(checkoutOrderLineSchema),\n totals: checkoutTotalsSchema.optional(),\n})\n\nexport const checkoutAvailabilitySchema = z.object({\n status: z.enum(['available', 'empty', 'unavailable', 'error']),\n reason: z.string().optional(),\n actionLabel: z.string().optional(),\n})\n\nexport const checkoutPropsSchema = z.object({\n presentation: z.enum(['single-page', 'stepper']),\n showReviewStep: z.boolean().optional(),\n contact: checkoutContactValuesSchema,\n customer: checkoutCustomerIdentitySchema.nullish(),\n savedAddresses: z.array(checkoutSavedAddressSchema).optional(),\n savedAddressState: checkoutSavedAddressStateSchema.optional(),\n shippingAddress: checkoutAddressValuesSchema,\n billingAddress: checkoutAddressValuesSchema.optional(),\n sameAsShipping: z.boolean(),\n shippingLocations: checkoutLocationOptionsSchema.optional(),\n billingLocations: checkoutLocationOptionsSchema.optional(),\n shippingGroups: z.array(checkoutShippingGroupSchema).optional(),\n shippingState: checkoutReadStateSchema.optional(),\n paymentMethods: z.array(paymentMethodSchema).optional(),\n paymentState: checkoutReadStateSchema.optional(),\n paymentMethod: z.string(),\n adjustmentPayments: z.array(checkoutAdjustmentPaymentSchema).optional(),\n orderSummary: checkoutOrderSummarySchema.optional(),\n totalsState: z.enum(['idle', 'pending', 'error']).optional(),\n promoCode: z.string().optional(),\n labels: z.record(z.string(), z.string()).optional(),\n fieldErrors: z.record(z.string(), z.unknown()).optional(),\n fieldDescriptions: z.record(z.string(), z.string()).optional(),\n availability: checkoutAvailabilitySchema.optional(),\n interruption: checkoutInterruptionSchema.optional(),\n submitting: z.boolean().optional(),\n submitError: z.string().optional(),\n})\n\n// Pure monetary helpers, re-exported from the server-safe contracts entry so a\n// host boundary can validate/format `Money` without importing the React entry.\nexport { isCompleteFiniteDecimal, isAvailableMoney, formatMoney } from './money'\nexport { resolveAbsoluteQuantity } from './cart'\nexport * from './contracts/marketplace-product-card'\nexport * from './contracts/checkout-commerce-v1'\n"],"mappings":"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","names":["moneySchema"]}
1
+ {"version":3,"sources":["../../src/lib/contracts.ts"],"sourcesContent":["import { z } from 'zod'\nimport type { Money, PaymentMethod, ProductPreview } from '@thorprovider/types'\nimport { moneySchema } from './money-schema'\n\n/**\n * Serialization contracts for spec-driven storefronts.\n *\n * These Zod schemas are the *serializable subset* of what a spec may write for\n * a block. The component keeps its rich React interface; the catalog/registry\n * is the adapter that maps these props to real component props and binds\n * callbacks (see storefronts-on-blocks design D3). `z.infer` is the typed\n * boundary between spec and catalog — a prop outside the schema is a compile\n * error, not a runtime surprise.\n *\n * Data shapes are projections of the @thorprovider/types canon so that\n * @thorprovider/adapters output validates without conflict:\n * - Prices are plain numbers here while the canon `Money` is a decimal string\n * ({ amount: \"45.00\", currencyCode }). The projection happens at the\n * loader boundary.\n * - Blocks use `title` while the canon `ProductPreview` uses `name`. Reconcile\n * via the canonical aliases below or the catalog/loader adapter.\n */\nexport type CanonMoney = Money\nexport type CanonProduct = ProductPreview\n\n/**\n * Fallback data-URI for required image fields when the data source has no\n * image. Image fields are non-optional `z.string()` in these contracts, so the\n * boundary must never emit `\"\"` (React warns about `src=\"\"`); it must emit a\n * real, renderable value. Hosts may override with their own branded fallback\n * (e.g. electrostore's `CATEGORY_IMAGE_FALLBACK`), but blocks ship a neutral\n * one so direct consumers are safe by default.\n */\nexport const PRODUCT_IMAGE_FALLBACK =\n 'data:image/svg+xml;charset=utf-8,' +\n encodeURIComponent(\n `<svg xmlns='http://www.w3.org/2000/svg' width='600' height='600'><rect width='100%' height='100%' fill='#e2e8f0'/><g fill='none' stroke='#94a3b8' stroke-width='12' stroke-linecap='round'><path d='M150 300h300M300 150v300'/><path d='M220 230h50M220 300h50M220 370h50'/><path d='M330 230h50M330 300h50M330 370h50'/></g></svg>`,\n )\n\n// ---------------------------------------------------------------------------\n// Data contracts\n// ---------------------------------------------------------------------------\n\n/**\n * Canonical `Money` — defined in the leaf module `./money-schema` so the\n * generated per-design contract entries can import it without a cycle with\n * this module (which re-exports those entries). Re-exported here unchanged.\n */\nexport { moneySchema } from './money-schema'\n\nconst imageSchema = z.object({\n id: z.string().optional(),\n url: z.string(),\n altText: z.string(),\n width: z.number().optional(),\n height: z.number().optional(),\n})\n\nconst selectedOptionSchema = z.object({\n name: z.string(),\n value: z.string(),\n})\n\nexport const productDetailVariantSchema = z.object({\n id: z.string(),\n title: z.string(),\n sku: z.string().optional(),\n availableForSale: z.boolean(),\n selectedOptions: z.array(selectedOptionSchema),\n /** Omit or null when the backend has no resolved price (purchase disabled). */\n price: moneySchema.nullish(),\n compareAtPrice: moneySchema.optional(),\n image: imageSchema.optional(),\n})\nexport type ProductDetailVariantSpec = z.infer<typeof productDetailVariantSchema>\n\nexport const productDetailProductSchema = z.object({\n id: z.string(),\n handle: z.string().optional(),\n title: z.string(),\n description: z.string().optional(),\n vendor: z.string().optional(),\n options: z.array(z.object({ id: z.string(), name: z.string(), values: z.array(z.string()) })),\n variants: z.array(productDetailVariantSchema),\n images: z.array(imageSchema),\n featuredImage: imageSchema.optional(),\n})\nexport type ProductDetailProductSpec = z.infer<typeof productDetailProductSchema>\n\n/**\n * Canonical ProductOverview contract. Uses the canonical product projection and adds the\n * bounded `presentation` option plus the `rich` presentation's optional data. Callbacks are not\n * part of the schema (they are runtime props).\n */\nexport const productOverviewReviewSchema = z.object({\n id: z.number(),\n author: z.string(),\n rating: z.number(),\n comment: z.string(),\n date: z.string(),\n helpful: z.number().optional(),\n})\n\nexport const productOverviewPropsSchema = z.object({\n product: productDetailProductSchema,\n presentation: z.enum(['standard', 'gallery', 'rich']).optional(),\n selectedVariantId: z.string().nullable().optional(),\n quantity: z.number().optional(),\n rating: z.object({ value: z.number(), count: z.number() }).optional(),\n deliveryEstimate: z.string().optional(),\n shipping: moneySchema.optional(),\n specifications: z.record(z.string(), z.string()).optional(),\n features: z.array(z.string()).optional(),\n reviews: z.array(productOverviewReviewSchema).optional(),\n sizesLabel: z.string().optional(),\n variantLabel: z.string().optional(),\n reviewsLabel: z.string().optional(),\n addToCartLabel: z.string().optional(),\n outOfStockLabel: z.string().optional(),\n unavailablePriceLabel: z.string().optional(),\n selectVariantLabel: z.string().optional(),\n quantityLabel: z.string().optional(),\n deliveryEstimateLabel: z.string().optional(),\n shippingLabel: z.string().optional(),\n badgeLabel: z.string().optional(),\n availabilityLabel: z.string().optional(),\n skuLabel: z.string().optional(),\n overviewLabel: z.string().optional(),\n specsLabel: z.string().optional(),\n featuresLabel: z.string().optional(),\n specificationsLabel: z.string().optional(),\n galleryLabel: z.string().optional(),\n photosLabel: z.string().optional(),\n saveLabel: z.string().optional(),\n savedLabel: z.string().optional(),\n shareLabel: z.string().optional(),\n basedOnReviewsLabel: z.string().optional(),\n foundHelpfulLabel: z.string().optional(),\n ofCounterLabel: z.string().optional(),\n freeDeliveryLabel: z.string().optional(),\n})\nexport type ProductOverviewSpecProps = z.infer<typeof productOverviewPropsSchema>\n\nexport const cardProductSchema = z.object({\n id: z.union([z.string(), z.number()]),\n title: z.string(),\n price: z.number(),\n originalPrice: z.number().optional(),\n image: z.string(),\n badge: z.string().optional(),\n})\nexport type CardProduct = z.infer<typeof cardProductSchema>\n\nexport const cartItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: z.number(),\n quantity: z.number().int().min(0),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n variant: z.string().optional(),\n /** Canonical backend per-unit price, preferred for display when present. */\n unitPrice: moneySchema.optional(),\n /** Canonical backend line total, preferred over `price * quantity`. */\n lineTotal: moneySchema.optional(),\n})\nexport type CartItem = z.infer<typeof cartItemSchema>\n\nexport const cartTotalsSchema = z.object({\n subtotal: moneySchema,\n discount: moneySchema.optional(),\n tax: moneySchema.optional(),\n shipping: moneySchema.optional(),\n total: moneySchema,\n})\nexport type CartTotals = z.infer<typeof cartTotalsSchema>\n\nexport const recentlyViewedItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: z.number(),\n image: z.string(),\n})\nexport type RecentlyViewedItem = z.infer<typeof recentlyViewedItemSchema>\n\nexport const promotionSchema = z.object({\n threshold: z.number(),\n reward: z.string(),\n icon: z.string().default('gift'),\n})\nexport type Promotion = z.infer<typeof promotionSchema>\n\nconst storeCategoryBase = {\n label: z.string(),\n href: z.string(),\n emphasis: z.boolean().optional(),\n}\n\nexport const storeCategorySchema: z.ZodType<StoreCategory> = z.lazy(() =>\n z.object({\n ...storeCategoryBase,\n children: z.array(storeCategorySchema).optional(),\n }),\n)\nexport type StoreCategory = {\n label: string\n href: string\n children?: StoreCategory[]\n emphasis?: boolean\n}\n\nexport const utilityLinkSchema = z.object({\n label: z.string(),\n href: z.string(),\n})\nexport type UtilityLink = z.infer<typeof utilityLinkSchema>\n\nexport const navCartItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n variant: z.string().optional(),\n price: z.number(),\n qty: z.number().int().min(0),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n})\nexport type NavCartItem = z.infer<typeof navCartItemSchema>\n\nexport const storeUserSchema = z.object({\n name: z.string(),\n email: z.string(),\n avatar: z.string().optional(),\n initials: z.string(),\n})\nexport type StoreUser = z.infer<typeof storeUserSchema>\n\nexport const accountMenuItemSchema = z.object({\n label: z.string(),\n href: z.string(),\n description: z.string().optional(),\n icon: z.enum(['orders', 'wishlist', 'addresses', 'settings']).optional(),\n})\nexport type AccountMenuItem = z.infer<typeof accountMenuItemSchema>\n\n/**\n * Serialization contract for a payment method offered at checkout.\n *\n * A projection of `@thorprovider/types` `PaymentMethod` — the storefront-facing\n * shape produced by the adapters transform. Checkout blocks render the method\n * list from this data instead of hardcoding providers.\n */\nexport const paymentMethodSchema: z.ZodType<PaymentMethod> = z.object({\n id: z.string(),\n name: z.string(),\n type: z.enum([\n 'card',\n 'wallet',\n 'bank_transfer',\n 'buy_now_pay_later',\n 'cash_on_delivery',\n 'crypto',\n 'other',\n ]),\n isEnabled: z.boolean(),\n requiresSetup: z.boolean(),\n description: z.string().optional(),\n metadata: z.record(z.string(), z.unknown()).optional(),\n features: z\n .object({\n saveForLater: z.boolean().optional(),\n requires3DS: z.boolean().optional(),\n supportsRefunds: z.boolean().optional(),\n minAmount: z.number().optional(),\n maxAmount: z.number().optional(),\n supportedCurrencies: z.array(z.string()).optional(),\n requiresVerification: z.boolean().optional(),\n })\n .optional(),\n logo: z.string().optional(),\n})\n\n// ---------------------------------------------------------------------------\n// Block prop schemas\n// ---------------------------------------------------------------------------\n\nexport const buttonPropsSchema = z.object({\n variant: z\n .enum(['default', 'destructive', 'outline', 'secondary', 'ghost', 'link'])\n .optional(),\n size: z\n .enum(['default', 'xs', 'sm', 'lg', 'icon', 'icon-xs', 'icon-sm', 'icon-lg'])\n .optional(),\n disabled: z.boolean().optional(),\n className: z.string().optional(),\n})\nexport type ButtonSpecProps = z.infer<typeof buttonPropsSchema>\n\nexport const storeContainer1PropsSchema = z.object({\n size: z.enum(['default', 'narrow', 'wide', 'full']).optional(),\n className: z.string().optional(),\n})\nexport type StoreContainer1SpecProps = z.infer<typeof storeContainer1PropsSchema>\n\n/**\n * Canonical product presentation — the serializable projection a storefront host\n * produces from a canonical `Product` for the merchandising sections. Unlike\n * `cardProductSchema` (legacy, numeric `price`), `price`/`compareAtPrice` carry\n * canonical `Money` (decimal major-unit string + currency code), so the block\n * formats in the shopper's currency and locale and renders a truthful\n * unavailable state instead of `$0`. Optional fields are omitted, never `\"\"`.\n *\n * This contract is additive: `cardProductSchema` and its consumers are\n * unchanged, and a legacy numeric `price` still renders the legacy output.\n */\nexport const productPresentationSchema = z.object({\n id: z.union([z.string(), z.number()]),\n title: z.string(),\n /** Omitted (never `\"\"`) when the backend has no image. */\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n /** Product destination; omitted when unknown. */\n href: z.string().optional(),\n price: moneySchema,\n /** Comparison (\"was\") price; rendered only when valid and higher than `price`. */\n compareAtPrice: moneySchema.optional(),\n /** Only from real evidence; omitted otherwise (never fabricated). */\n rating: z.number().optional(),\n badge: z.string().optional(),\n})\nexport type ProductPresentation = z.infer<typeof productPresentationSchema>\n\n/**\n * Canonical product card contract (item cell of a product listing). The cell\n * consumes one canonical `ProductPresentation` projection only — the legacy\n * numeric-price card shape is not accepted. `presentation` is the bounded\n * structure switch (`classic`/`minimal`/`rich`) and `wishlisted` is the\n * host-resolved membership state; callbacks and label strings are runtime\n * props and are excluded here. Collection concerns (heading, item cap, loading\n * and empty states) belong to `ProductGrid`.\n */\nexport const productCardPropsSchema = z.object({\n item: productPresentationSchema,\n presentation: z.enum(['classic', 'minimal', 'rich']).optional(),\n wishlisted: z.boolean().optional(),\n})\nexport type ProductCardSpecProps = z.infer<typeof productCardPropsSchema>\n\n/**\n * Canonical product grid contract (listing). Consumes a collection of\n * canonical `ProductPresentation` items and owns the listing's heading, item\n * cap, wishlist membership, and loading/empty/ready states. `wishlistedIds` is\n * resolved per cell before rendering, so the cell receives only its own\n * boolean. Callbacks and label strings are runtime props and are excluded\n * here. Error state belongs to the host.\n */\nexport const productGridPropsSchema = z.object({\n items: z.array(productPresentationSchema),\n presentation: z.enum(['classic', 'minimal', 'rich']).optional(),\n heading: z.string().optional(),\n maxItems: z.number().int().positive().optional(),\n wishlistedIds: z.array(z.union([z.string(), z.number()])).readonly().optional(),\n loading: z.boolean().optional(),\n skeletonCount: z.number().int().positive().optional(),\n emptyLabel: z.string().optional(),\n})\nexport type ProductGridSpecProps = z.infer<typeof productGridPropsSchema>\n\n/**\n * Serializable contract for the combined grid-and-carousel product\n * presentation (`ProductShowcase1`). The grid pages are fixed-size, navigated\n * manually (prev/next) with a visible current-page indication; there is no\n * autoplay and no infinite loop. React-only callbacks are excluded.\n */\nexport const productShowcase1PropsSchema = z.object({\n products: z.array(productPresentationSchema),\n heading: z.string().optional(),\n description: z.string().optional(),\n pageSize: z.number().int().positive().optional(),\n prevLabel: z.string().optional(),\n nextLabel: z.string().optional(),\n pageLabel: z.string().optional(),\n unavailablePriceLabel: z.string().optional(),\n emptyLabel: z.string().optional(),\n addToCartLabel: z.string().optional(),\n})\nexport type ProductShowcase1SpecProps = z.infer<typeof productShowcase1PropsSchema>\n\n/**\n * Canonical shopping cart contract (consolidated shopping-cart family). Lines\n * are keyed by the backend cart line-item id and carry canonical `Money`\n * amounts only — the legacy numeric-price shape is not accepted: a line always\n * carries the backend-authoritative `lineTotal`, and an optional `unitPrice` is\n * carried verbatim (never used for a local `price * quantity` computation).\n * Suggestions fold the numbered carts' recommendations: optional image (omitted\n * when absent) and optional canonical `Money` price. `presentation` is the\n * bounded structure switch (`compact`/`page`); callbacks and interaction state\n * are runtime props and are excluded here.\n */\nexport const shoppingCartItemSchema = z.object({\n id: z.string(),\n name: z.string(),\n quantity: z.number().int().min(0),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n variant: z.string().optional(),\n /** Canonical backend line total; a malformed amount renders as unavailable. */\n lineTotal: moneySchema,\n /** Canonical backend unit price; carried verbatim, never used locally. */\n unitPrice: moneySchema.optional(),\n})\nexport type ShoppingCartItem = z.infer<typeof shoppingCartItemSchema>\n\nexport const shoppingCartSuggestionSchema = z.object({\n id: z.string(),\n name: z.string(),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n unitPrice: moneySchema.optional(),\n})\nexport type ShoppingCartSuggestion = z.infer<typeof shoppingCartSuggestionSchema>\n\nexport const shoppingCartPropsSchema = z.object({\n items: z.array(shoppingCartItemSchema),\n promotions: z.array(promotionSchema).default([]),\n recentlyViewed: z.array(shoppingCartSuggestionSchema).optional(),\n presentation: z.enum(['compact', 'page']).optional(),\n /** Backend-authoritative totals; rendered verbatim, never computed locally. */\n totals: cartTotalsSchema.optional(),\n totalsState: z.enum(['idle', 'pending', 'error']).optional(),\n totalsErrorLabel: z.string().optional(),\n totalsUnavailableLabel: z.string().optional(),\n amountUnavailableLabel: z.string().optional(),\n retryLabel: z.string().optional(),\n titleLabel: z.string().optional(),\n subtotalLabel: z.string().optional(),\n discountLabel: z.string().optional(),\n taxLabel: z.string().optional(),\n shippingLabel: z.string().optional(),\n shippingFreeLabel: z.string().optional(),\n totalLabel: z.string().optional(),\n totalsPendingLabel: z.string().optional(),\n awayFromLabel: z.string().optional(),\n activatedLabel: z.string().optional(),\n itemsLabel: z.string().optional(),\n expressCheckoutLabel: z.string().optional(),\n expressLabel: z.string().optional(),\n standardLabel: z.string().optional(),\n estimatedDeliveryLabel: z.string().optional(),\n secureCheckoutLabel: z.string().optional(),\n recentlyViewedLabel: z.string().optional(),\n promoPromptLabel: z.string().optional(),\n promoPlaceholderLabel: z.string().optional(),\n promoApplyLabel: z.string().optional(),\n collapseLabel: z.string().optional(),\n expandLabel: z.string().optional(),\n checkoutLabel: z.string().optional(),\n quickCheckoutLabel: z.string().optional(),\n checkoutNowLabel: z.string().optional(),\n emptyLabel: z.string().optional(),\n removeLabel: z.string().optional(),\n decreaseLabel: z.string().optional(),\n increaseLabel: z.string().optional(),\n})\nexport type ShoppingCartSpecProps = z.infer<typeof shoppingCartPropsSchema>\n\n/**\n * Optional brand seams shared by the existing blocks. These mirror the\n * components' optional props as a serializable subset (no React): an accent\n * marks a trailing segment of the wordmark/brand name, and an editorial image\n * is a native `<img>` source. Omitting each keeps the block's current output.\n */\nexport const logoAccentSchema = z.object({\n text: z.string(),\n className: z.string().optional(),\n})\nexport type LogoAccent = z.infer<typeof logoAccentSchema>\n\nexport const brandAccentSchema = z.object({\n text: z.string(),\n className: z.string().optional(),\n})\nexport type BrandAccent = z.infer<typeof brandAccentSchema>\n\nexport const heroImageSchema = z.object({\n src: z.string(),\n alt: z.string(),\n})\nexport type HeroImage = z.infer<typeof heroImageSchema>\n\n/**\n * Serializable contract for the canonical commerce storefront shell\n * (`StorefrontNavbar`). Identity, cart, and search state stay host-owned: the\n * schema carries content and display state only, never cart arithmetic.\n */\nexport const storefrontNavbarPropsSchema = z.object({\n storeCategories: z.array(storeCategorySchema),\n shippingNote: z.string().optional(),\n utilityLinks: z.array(utilityLinkSchema),\n logoText: z.string(),\n logoHref: z.string().optional(),\n /** Optional accent for a trailing segment of `logoText`; omitted → unchanged. */\n logoAccent: logoAccentSchema.optional(),\n /**\n * Consumer-supplied classes merged onto the block's outer surface as the\n * final argument (e.g. a semantic surface token). Omitted → unchanged.\n */\n className: z.string().optional(),\n accountHref: z.string().optional(),\n searchQuery: z.string().optional(),\n items: z.array(navCartItemSchema).optional(),\n /** Authoritative backend subtotal for the mini-cart. */\n subtotal: moneySchema.optional(),\n subtotalUnavailableLabel: z.string().optional(),\n user: storeUserSchema.optional(),\n accountMenuItems: z.array(accountMenuItemSchema).optional(),\n accountPending: z.boolean().optional(),\n accountUnavailable: z.boolean().optional(),\n})\nexport type StorefrontNavbarSpecProps = z.infer<typeof storefrontNavbarPropsSchema>\n\n/**\n * Serializable contracts for the two bounded editorial sections (`faq`, `cta`).\n * These are the serializable subset of `FaqBlock1Props`/`CtaSection1Props`: the\n * React-only callbacks (`onPrimaryClick`/`onSecondaryClick`) are intentionally\n * excluded — the catalog adapter binds them (see design D3).\n */\nexport const ctaSchema = z.object({\n label: z.string(),\n href: z.string().optional(),\n})\nexport type CtaSpec = z.infer<typeof ctaSchema>\n\n/** Bounded presentations of the page-level navigation header. */\nexport const navbarPresentationSchema = z.enum(['bar', 'mega', 'floating'])\nexport type NavbarPresentationSpec = z.infer<typeof navbarPresentationSchema>\n\nexport const navbarItemSchema = z.object({\n label: z.string(),\n href: z.string(),\n description: z.string().optional(),\n /** Key resolved through the consumer's host-bound `iconMap`. */\n icon: z.string().optional(),\n})\nexport type NavbarItemSpec = z.infer<typeof navbarItemSchema>\n\nexport const navbarGroupSchema = z.object({\n title: z.string().optional(),\n items: z.array(navbarItemSchema),\n})\nexport type NavbarGroupSpec = z.infer<typeof navbarGroupSchema>\n\nexport const navbarLinkSchema = z.object({\n label: z.string(),\n href: z.string().optional(),\n groups: z.array(navbarGroupSchema).optional(),\n emphasis: z.boolean().optional(),\n})\nexport type NavbarLinkSpec = z.infer<typeof navbarLinkSchema>\n\nexport const navbarFeaturedSchema = z.object({\n eyebrow: z.string(),\n title: z.string(),\n description: z.string().optional(),\n href: z.string(),\n linkLabel: z.string().optional(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n})\nexport type NavbarFeaturedSpec = z.infer<typeof navbarFeaturedSchema>\n\n/**\n * Serializable contract for the canonical page-level header (`Navbar`). The\n * serializable subset excludes the React-only bindings: `iconMap`, `onSignIn`,\n * and `onCtaClick` are bound by the host, exactly like the footer's icon map.\n */\nexport const navbarPropsSchema = z.object({\n presentation: navbarPresentationSchema.optional(),\n logoText: z.string(),\n logoHref: z.string().optional(),\n currentPath: z.string().optional(),\n links: z.array(navbarLinkSchema),\n featured: navbarFeaturedSchema.optional(),\n signIn: ctaSchema.optional(),\n cta: ctaSchema.optional(),\n /** Consumer-supplied classes merged onto the header surface last. */\n className: z.string().optional(),\n})\nexport type NavbarSpecProps = z.infer<typeof navbarPropsSchema>\n\n/**\n * Serializable subset of the canonical `StorefrontHero`'s props (callbacks\n * excluded). Every popularity, review, count, or countdown field is optional\n * host-supplied evidence: omitted fields render nothing (honest omission)\n * instead of fabricated defaults, and prices are formatted from the supplied\n * ISO 4217 `currency` via `Intl.NumberFormat` (never hardcoded).\n */\nexport const storefrontHeroProductSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: z.number(),\n originalPrice: z.number().optional(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n brand: z.string().optional(),\n colors: z.array(z.string()).optional(),\n rating: z.number().optional(),\n reviewCount: z.number().optional(),\n inStock: z.boolean().optional(),\n isNew: z.boolean().optional(),\n tag: z.string().optional(),\n})\nexport type StorefrontHeroProduct = z.infer<typeof storefrontHeroProductSchema>\n\nexport const storefrontHeroPropsSchema = z.object({\n title: z.string(),\n description: z.string(),\n presentation: z.enum(['compact', 'showcase', 'editorial', 'promotional']).optional(),\n currency: z.string().optional(),\n products: z.array(storefrontHeroProductSchema),\n badge: z.string().optional(),\n titleAccent: z.string().optional(),\n primaryCta: ctaSchema.optional(),\n secondaryCta: ctaSchema.optional(),\n heroImage: heroImageSchema.optional(),\n departments: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n count: z.string().optional(),\n href: z.string().optional(),\n }),\n )\n .optional(),\n featuredDeals: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n description: z.string().optional(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n price: z.number(),\n originalPrice: z.number().optional(),\n cta: ctaSchema.optional(),\n }),\n )\n .optional(),\n storeLocator: z\n .object({\n title: z.string(),\n description: z.string(),\n ctaLabel: z.string(),\n ctaHref: z.string().optional(),\n })\n .optional(),\n shippingInfo: z.string().optional(),\n deals: z\n .array(\n z.object({\n id: z.string(),\n title: z.string(),\n discount: z.string().optional(),\n endTime: z.string().optional(),\n }),\n )\n .optional(),\n categories: z\n .array(\n z.object({\n id: z.string(),\n name: z.string(),\n image: z.string().optional(),\n imageAlt: z.string().optional(),\n count: z.string().optional(),\n href: z.string().optional(),\n }),\n )\n .optional(),\n rotationInterval: z.number().optional(),\n addToCartLabel: z.string().optional(),\n buyNowLabel: z.string().optional(),\n newLabel: z.string().optional(),\n outOfStockLabel: z.string().optional(),\n colorsLabel: z.string().optional(),\n discountSuffixLabel: z.string().optional(),\n searchPlaceholder: z.string().optional(),\n searchLabel: z.string().optional(),\n featuredDescription: z.string().optional(),\n shopNowLabel: z.string().optional(),\n endsInLabel: z.string().optional(),\n productsLabel: z.string().optional(),\n viewLabel: z.string().optional(),\n})\nexport type StorefrontHeroSpecProps = z.infer<typeof storefrontHeroPropsSchema>\n\nexport const faqItemSchema = z.object({\n value: z.string(),\n question: z.string(),\n answer: z.string(),\n})\nexport type FaqItemSpec = z.infer<typeof faqItemSchema>\n\nexport const faqBlock1PropsSchema = z.object({\n items: z.array(faqItemSchema),\n title: z.string().optional(),\n description: z.string().optional(),\n accordionType: z.enum(['single', 'multiple']).optional(),\n})\nexport type FaqBlock1SpecProps = z.infer<typeof faqBlock1PropsSchema>\n\nexport const ctaSection1PropsSchema = z.object({\n badgeText: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n primaryCta: ctaSchema.optional(),\n secondaryCta: ctaSchema.optional(),\n})\nexport type CtaSection1SpecProps = z.infer<typeof ctaSection1PropsSchema>\n\n/**\n * Serializable contract for the canonical `Feature` benefits section. The\n * item `icon` is a Lucide icon NAME (e.g. `'Zap'`) that the registry resolves\n * to a component at the seam; the React-only callbacks (`onCtaClick`,\n * `onLearnMore`) are intentionally excluded — the catalog adapter binds them.\n */\nexport const featureItemSpecSchema = z.object({\n id: z.string(),\n title: z.string(),\n description: z.string(),\n icon: z.string(),\n})\n\n/**\n * `cards` branch: the card grid never owns an image. The presentation is\n * optional so an omitted value resolves to `cards`.\n */\nexport const featureCardsSpecSchema = z.object({\n items: z.array(featureItemSpecSchema),\n presentation: z.literal('cards').optional(),\n badge: z.string().optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n ctaLabel: z.string().optional(),\n learnMoreLabel: z.string().optional(),\n className: z.string().optional(),\n})\nexport type FeatureCardsSpecProps = z.infer<typeof featureCardsSpecSchema>\n\n/**\n * `split` branch: the editorial image is mandatory and must carry a non-empty\n * `src`. `alt` stays required so the caller decides whether the image is\n * informative or decorative. `cards`-only chrome is intentionally absent.\n */\nexport const featureSplitSpecSchema = z.object({\n items: z.array(featureItemSpecSchema),\n presentation: z.literal('split'),\n title: z.string().optional(),\n description: z.string().optional(),\n image: z.object({ src: z.string().trim().min(1), alt: z.string() }),\n className: z.string().optional(),\n})\nexport type FeatureSplitSpecProps = z.infer<typeof featureSplitSpecSchema>\n\n/**\n * Serialized `Feature` union. The split branch is listed first so\n * `presentation: 'split'` resolves deterministically; an omitted presentation\n * falls through to `cards`. A split input without a non-empty image matches\n * neither branch and fails to parse.\n */\nexport const featurePropsSchema = z.union([featureSplitSpecSchema, featureCardsSpecSchema])\nexport type FeatureSpecProps = z.infer<typeof featurePropsSchema>\n\n/**\n * Canonical category contract for the consolidated `ProductCategory` block.\n *\n * `categories` is the canonical category projection (a `@thorprovider/types`\n * `ProductCategory` subset): ids are canonical strings, optional fields are\n * omitted rather than serialized as `\"\"`, and there are no demo-only required\n * fields (no required subtitle, sector icon enum, or Lucide component). `icon`\n * is a plain, serializable icon-key string resolved by the block against a\n * bounded map with a neutral fallback. The `presentation` value is a bounded\n * structure switch, never a per-store fork. Callbacks are runtime props and are\n * excluded here (see the component).\n */\nexport const productCategoryItemSchema = z.object({\n id: z.string(),\n handle: z.string().optional(),\n name: z.string(),\n description: z.string().optional(),\n /** Optional real count; an unknown count is omitted, never fabricated as `0`. */\n itemCount: z.number().optional(),\n /** Omitted (never `\"\"`) when the backend has no image. */\n image: z.string().optional(),\n trending: z.boolean().optional(),\n /** Serializable icon key (e.g. `'shirt'`); unknown keys render a neutral fallback. */\n icon: z.string().optional(),\n subcategories: z.array(z.string()).optional(),\n featured: z.boolean().optional(),\n})\nexport type ProductCategoryItem = z.infer<typeof productCategoryItemSchema>\n\nexport const productCategoryPropsSchema = z.object({\n categories: z.array(productCategoryItemSchema),\n presentation: z.enum(['grid', 'icons', 'list']).optional(),\n title: z.string().optional(),\n description: z.string().optional(),\n badge: z.string().optional(),\n cta: ctaSchema.optional(),\n /** Controlled search value; filtering is owned by the host. */\n query: z.string().optional(),\n searchPlaceholder: z.string().optional(),\n searchLabel: z.string().optional(),\n emptyLabel: z.string().optional(),\n noResultsLabel: z.string().optional(),\n browseLabel: z.string().optional(),\n viewAllLabel: z.string().optional(),\n trendingLabel: z.string().optional(),\n featuredLabel: z.string().optional(),\n itemsLabel: z.string().optional(),\n imageFallback: z.string().optional(),\n className: z.string().optional(),\n})\nexport type ProductCategorySpecProps = z.infer<typeof productCategoryPropsSchema>\n\nexport const categoryCardPropsSchema = z.object({\n category: productCategoryItemSchema,\n presentation: z.enum(['grid', 'icons', 'list']).optional(),\n browseLabel: z.string().optional(),\n itemsLabel: z.string().optional(),\n trendingLabel: z.string().optional(),\n featuredLabel: z.string().optional(),\n imageFallback: z.string().optional(),\n})\nexport type CategoryCardSpecProps = z.infer<typeof categoryCardPropsSchema>\n\nexport const categoryGridPropsSchema = productCategoryPropsSchema.extend({\n maxItems: z.number().int().positive().optional(),\n loading: z.boolean().optional(),\n skeletonCount: z.number().int().positive().optional(),\n})\nexport type CategoryGridSpecProps = z.infer<typeof categoryGridPropsSchema>\n\n/**\n * Canonical order-history contracts (change: consolidate-order-history-family).\n *\n * `OrderHistory` is the order-level collection section and `OrderLine` is its\n * item cell. Both are `Money`-only: there is no numeric money field, so a host\n * cannot supply a `toFixed` amount, and the block never sums lines into a\n * total. `status` is data (`label` plus optional `tone`) so no status literal\n * is compared anywhere. Callbacks, `locale`, and the formatter are runtime\n * props and are excluded here, as in the cart contract.\n */\nexport const orderHistoryPresentationSchema = z.enum(['cards', 'rows'])\nexport type OrderHistoryPresentationSpec = z.infer<typeof orderHistoryPresentationSchema>\n\nexport const orderHistoryStatusSchema = z.object({\n label: z.string().min(1),\n tone: z.enum(['default', 'secondary', 'destructive', 'outline']).optional(),\n})\nexport type OrderHistoryStatusSpec = z.infer<typeof orderHistoryStatusSchema>\n\nexport const orderLineDataSchema = z.object({\n /** Backend line identity; the React key. */\n id: z.string().min(1),\n name: z.string(),\n /** Optional; absent images are omitted, never serialized as `\"\"`. */\n image: z.string().optional(),\n details: z.string().optional(),\n quantity: z.number().int().min(0),\n /** Canonical backend line total; rendered verbatim. */\n lineTotal: moneySchema,\n})\nexport type OrderLineDataSpec = z.infer<typeof orderLineDataSchema>\n\nexport const orderHistoryOrderSchema = z.object({\n /** Backend order identity; the React key and the action callback argument. */\n id: z.string().min(1),\n number: z.string().min(1),\n date: z.string(),\n status: orderHistoryStatusSchema,\n /** Canonical backend order total; rendered verbatim, never aggregated. */\n total: moneySchema,\n items: z.array(orderLineDataSchema),\n trackable: z.boolean().optional(),\n})\nexport type OrderHistoryOrderSpec = z.infer<typeof orderHistoryOrderSchema>\n\nexport const orderHistoryPropsSchema = z.object({\n orders: z.array(orderHistoryOrderSchema),\n presentation: orderHistoryPresentationSchema.optional(),\n labels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type OrderHistorySpecProps = z.infer<typeof orderHistoryPropsSchema>\n\nexport const orderLinePropsSchema = z.object({\n name: z.string(),\n image: z.string().optional(),\n details: z.string().optional(),\n quantity: z.number().int().min(0),\n lineTotal: moneySchema,\n quantityLabel: z.string().optional(),\n amountUnavailableLabel: z.string().optional(),\n className: z.string().optional(),\n})\nexport type OrderLineSpecProps = z.infer<typeof orderLinePropsSchema>\n\n// Account contracts (change: storefront-customer-view).\n//\n// The frame, profile form, address book, and address form are host-driven: every\n// string is overridable, every value comes from the host, and no contract carries\n// a callback (the registry supplies those). A presentation is a bounded enum, so\n// an unknown shape fails validation instead of falling back silently.\nexport const accountFramePresentationSchema = z.enum(['stack', 'tabs'])\nexport type AccountFramePresentationSpec = z.infer<typeof accountFramePresentationSchema>\n\nexport const accountModuleSpecSchema = z.object({\n id: z.string().min(1),\n label: z.string().min(1),\n href: z.string().optional(),\n})\nexport type AccountModuleSpec = z.infer<typeof accountModuleSpecSchema>\n\nexport const accountFramePropsSchema = z.object({\n displayName: z.string(),\n email: z.string().optional(),\n modules: z.array(accountModuleSpecSchema),\n activeModule: z.string().optional(),\n presentation: accountFramePresentationSchema.optional(),\n labels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type AccountFrameSpecProps = z.infer<typeof accountFramePropsSchema>\n\nexport const profileFieldSpecSchema = z.object({\n name: z.string().min(1),\n label: z.string().min(1),\n value: z.string().optional(),\n type: z.enum(['text', 'tel', 'email']).optional(),\n required: z.boolean().optional(),\n readOnly: z.boolean().optional(),\n autoComplete: z.string().optional(),\n})\nexport type ProfileFieldSpec = z.infer<typeof profileFieldSpecSchema>\n\nexport const profileFormPropsSchema = z.object({\n fields: z.array(profileFieldSpecSchema),\n labels: z.record(z.string(), z.string()).optional(),\n pending: z.boolean().optional(),\n error: z.string().nullable().optional(),\n className: z.string().optional(),\n})\nexport type ProfileFormSpecProps = z.infer<typeof profileFormPropsSchema>\n\nexport const accountAddressSpecSchema = z.object({\n id: z.string().min(1),\n recipientName: z.string(),\n lines: z.array(z.string()),\n isDefaultShipping: z.boolean().optional(),\n isDefaultBilling: z.boolean().optional(),\n})\nexport type AccountAddressSpec = z.infer<typeof accountAddressSpecSchema>\n\nexport const addressBookPropsSchema = z.object({\n addresses: z.array(accountAddressSpecSchema),\n labels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type AddressBookSpecProps = z.infer<typeof addressBookPropsSchema>\n\nexport const addressFormFieldSpecSchema = z.object({\n name: z.string().min(1),\n label: z.string().min(1),\n value: z.string().optional(),\n type: z.enum(['text', 'tel', 'email', 'select']).optional(),\n required: z.boolean().optional(),\n autoComplete: z.string().optional(),\n options: z.array(z.object({ value: z.string(), label: z.string() })).optional(),\n})\nexport type AddressFormFieldSpec = z.infer<typeof addressFormFieldSpecSchema>\n\nexport const addressFormPropsSchema = z.object({\n fields: z.array(addressFormFieldSpecSchema),\n labels: z.record(z.string(), z.string()).optional(),\n pending: z.boolean().optional(),\n error: z.string().nullable().optional(),\n fieldErrors: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type AddressFormSpecProps = z.infer<typeof addressFormPropsSchema>\n\n/**\n * Canonical review contracts (change: consolidate-review-family).\n *\n * `ReviewSummary` is the aggregate unit, `ReviewList` the collection section,\n * `ReviewCard` its item cell, and `ReviewComposer` the controlled form. The\n * aggregate fields are required here for the same reason they are required in\n * the component: an absent average must stop a host from rendering a summary,\n * not become a zero. Callbacks and `resetSignal` are runtime props and are\n * excluded, as in the cart and order-history contracts.\n */\nexport const reviewRatingValueSchema = z.union([\n z.literal(1),\n z.literal(2),\n z.literal(3),\n z.literal(4),\n z.literal(5),\n])\nexport type ReviewRatingValueSpec = z.infer<typeof reviewRatingValueSchema>\n\nexport const reviewDistributionSchema = z.object({\n /** Every rating value is required; a partial distribution is rejected. */\n 1: z.number().int().min(0),\n 2: z.number().int().min(0),\n 3: z.number().int().min(0),\n 4: z.number().int().min(0),\n 5: z.number().int().min(0),\n})\nexport type ReviewDistributionSpec = z.infer<typeof reviewDistributionSchema>\n\nexport const reviewItemSchema = z.object({\n /** Backend review identity; the React key and the action argument. */\n id: z.string().min(1),\n author: z.string().min(1),\n /** Optional; absent avatars are omitted, never serialized as `\"\"`. */\n avatar: z.string().optional(),\n /** Host-formatted display date, rendered verbatim. */\n date: z.string(),\n /** Optional machine-readable value; the cell emits it only when it parses. */\n dateTime: z.string().optional(),\n rating: z.number().min(0).max(5),\n content: z.string(),\n /** Host-authoritative count; absent means unknown, never zero. */\n helpfulCount: z.number().int().min(0).optional(),\n likedByViewer: z.boolean().optional(),\n})\nexport type ReviewItemSpec = z.infer<typeof reviewItemSchema>\n\nexport const reviewSummaryPropsSchema = z.object({\n averageRating: z.number().min(0).max(5),\n totalReviews: z.number().int().min(0),\n distribution: reviewDistributionSchema,\n labels: z.record(z.string(), z.string()).optional(),\n locale: z.string().optional(),\n className: z.string().optional(),\n})\nexport type ReviewSummarySpecProps = z.infer<typeof reviewSummaryPropsSchema>\n\nexport const reviewListPresentationSchema = z.enum(['list', 'carousel'])\nexport type ReviewListPresentationSpec = z.infer<typeof reviewListPresentationSchema>\n\nexport const reviewListPropsSchema = z.object({\n reviews: z.array(reviewItemSchema),\n presentation: reviewListPresentationSchema.optional(),\n labels: z.record(z.string(), z.string()).optional(),\n cardLabels: z.record(z.string(), z.string()).optional(),\n className: z.string().optional(),\n})\nexport type ReviewListSpecProps = z.infer<typeof reviewListPropsSchema>\n\nexport const reviewComposerDataSchema = z.object({\n name: z.string().min(1),\n email: z.string().min(1),\n content: z.string().min(1),\n rating: reviewRatingValueSchema,\n})\nexport type ReviewComposerDataSpec = z.infer<typeof reviewComposerDataSchema>\n\nexport const reviewComposerPropsSchema = z.object({\n labels: z.record(z.string(), z.string()).optional(),\n isSubmitting: z.boolean().optional(),\n error: z.string().optional(),\n className: z.string().optional(),\n})\nexport type ReviewComposerSpecProps = z.infer<typeof reviewComposerPropsSchema>\n\n// ---------------------------------------------------------------------------\n// Checkout contracts\n// ---------------------------------------------------------------------------\n\nexport const checkoutReadStateSchema = z.enum(['idle', 'pending', 'error', 'unavailable'])\n\nexport const checkoutAddressOptionSchema = z.object({\n value: z.string(),\n label: z.string(),\n})\n\nexport const checkoutAddressLevelSchema = z.enum(['countries', 'provinces', 'cities'])\n\nexport const checkoutLocationOptionsSchema = z.object({\n countries: z.array(checkoutAddressOptionSchema),\n provinces: z.array(checkoutAddressOptionSchema),\n cities: z.array(checkoutAddressOptionSchema),\n countriesState: checkoutReadStateSchema.optional(),\n provincesState: checkoutReadStateSchema.optional(),\n citiesState: checkoutReadStateSchema.optional(),\n countriesError: z.string().optional(),\n provincesError: z.string().optional(),\n citiesError: z.string().optional(),\n})\n\nexport const checkoutAddressValuesSchema = z.object({\n firstName: z.string(),\n lastName: z.string(),\n address1: z.string(),\n address2: z.string().optional(),\n company: z.string().optional(),\n city: z.string(),\n province: z.string().optional(),\n postalCode: z.string().optional(),\n countryCode: z.string(),\n phone: z.string().optional(),\n})\n\nexport const checkoutContactValuesSchema = z.object({\n email: z.string(),\n firstName: z.string(),\n lastName: z.string(),\n phone: z.string(),\n})\n\nexport const checkoutCustomerIdentitySchema = z.object({\n id: z.string(),\n email: z.string(),\n firstName: z.string().optional(),\n lastName: z.string().optional(),\n})\n\nexport const checkoutSavedAddressSchema = z.object({\n id: z.string(),\n label: z.string().optional(),\n address: checkoutAddressValuesSchema,\n isDefaultShipping: z.boolean().optional(),\n isDefaultBilling: z.boolean().optional(),\n})\n\nexport const checkoutSavedAddressStateSchema = z.object({\n pendingId: z.string().optional(),\n error: z\n .object({\n id: z.string().optional(),\n message: z.string(),\n })\n .optional(),\n lastSavedId: z.string().optional(),\n lastAction: z.enum(['saved', 'deleted']).optional(),\n})\n\nexport const checkoutShippingOptionSchema = z.object({\n id: z.string(),\n name: z.string(),\n price: moneySchema.optional(),\n description: z.string().optional(),\n estimatedDays: z.string().optional(),\n pickup: z.boolean().optional(),\n locationName: z.string().optional(),\n disabled: z.boolean().optional(),\n disabledReason: z.string().optional(),\n})\n\nexport const checkoutShippingGroupItemSchema = z.object({\n lineId: z.string(),\n quantity: z.number().int().positive().optional(),\n})\n\nexport const checkoutShippingGroupSchema = z.object({\n id: z.string(),\n label: z.string().optional(),\n items: z.array(checkoutShippingGroupItemSchema).optional(),\n itemCount: z.number().int().min(0).optional(),\n options: z.array(checkoutShippingOptionSchema),\n selectedOptionId: z.string().optional(),\n unavailableReason: z.string().optional(),\n})\n\nexport const checkoutAdjustmentPaymentSchema = z.object({\n id: z.string(),\n kind: z.enum(['gift-card', 'store-credit']),\n label: z.string(),\n amount: moneySchema,\n})\n\nexport const checkoutInterruptionKindSchema = z.enum([\n 'totals-changed',\n 'price-changed',\n 'stock-reduced',\n 'item-unavailable',\n 'session-expired',\n 'payment-failed',\n])\n\nexport const checkoutInterruptionActionSchema = z.enum([\n 'acknowledge',\n 'refresh',\n 'return-to-cart',\n 'retry',\n])\n\nexport const checkoutInterruptionSchema = z.object({\n kind: checkoutInterruptionKindSchema,\n severity: z.enum(['info', 'blocking']),\n title: z.string(),\n message: z.string(),\n changes: z\n .array(\n z.object({\n lineId: z.string().optional(),\n label: z.string(),\n previous: z.string().optional(),\n next: z.string().optional(),\n }),\n )\n .optional(),\n actions: z.array(checkoutInterruptionActionSchema),\n})\n\nexport const checkoutSubmissionSchema = z.object({\n contact: checkoutContactValuesSchema,\n shippingAddress: checkoutAddressValuesSchema,\n billingAddress: checkoutAddressValuesSchema.optional(),\n sameAsShipping: z.boolean(),\n shippingSelections: z.array(\n z.object({ groupId: z.string(), optionId: z.string() }),\n ),\n paymentMethod: z.string(),\n adjustmentPayments: z.array(checkoutAdjustmentPaymentSchema),\n promoCode: z.string(),\n})\n\nexport const checkoutOrderLineSchema = z.object({\n id: z.union([z.string(), z.number()]),\n name: z.string(),\n variant: z.string().optional(),\n quantity: z.number(),\n lineTotal: moneySchema.optional(),\n unitPrice: moneySchema.optional(),\n image: z.string().optional(),\n})\n\nexport const checkoutTotalsSchema = z.object({\n subtotal: moneySchema,\n discount: moneySchema.optional(),\n tax: moneySchema.optional(),\n shipping: moneySchema.optional(),\n total: moneySchema,\n})\n\nexport const checkoutOrderSummarySchema = z.object({\n items: z.array(checkoutOrderLineSchema),\n totals: checkoutTotalsSchema.optional(),\n})\n\nexport const checkoutAvailabilitySchema = z.object({\n status: z.enum(['available', 'empty', 'unavailable', 'error']),\n reason: z.string().optional(),\n actionLabel: z.string().optional(),\n})\n\nexport const checkoutPropsSchema = z.object({\n presentation: z.enum(['single-page', 'stepper']),\n showReviewStep: z.boolean().optional(),\n contact: checkoutContactValuesSchema,\n customer: checkoutCustomerIdentitySchema.nullish(),\n savedAddresses: z.array(checkoutSavedAddressSchema).optional(),\n savedAddressState: checkoutSavedAddressStateSchema.optional(),\n shippingAddress: checkoutAddressValuesSchema,\n billingAddress: checkoutAddressValuesSchema.optional(),\n sameAsShipping: z.boolean(),\n shippingLocations: checkoutLocationOptionsSchema.optional(),\n billingLocations: checkoutLocationOptionsSchema.optional(),\n shippingGroups: z.array(checkoutShippingGroupSchema).optional(),\n shippingState: checkoutReadStateSchema.optional(),\n paymentMethods: z.array(paymentMethodSchema).optional(),\n paymentState: checkoutReadStateSchema.optional(),\n paymentMethod: z.string(),\n adjustmentPayments: z.array(checkoutAdjustmentPaymentSchema).optional(),\n orderSummary: checkoutOrderSummarySchema.optional(),\n totalsState: z.enum(['idle', 'pending', 'error']).optional(),\n promoCode: z.string().optional(),\n labels: z.record(z.string(), z.string()).optional(),\n fieldErrors: z.record(z.string(), z.unknown()).optional(),\n fieldDescriptions: z.record(z.string(), z.string()).optional(),\n availability: checkoutAvailabilitySchema.optional(),\n interruption: checkoutInterruptionSchema.optional(),\n submitting: z.boolean().optional(),\n submitError: z.string().optional(),\n})\n\n// Pure monetary helpers, re-exported from the server-safe contracts entry so a\n// host boundary can validate/format `Money` without importing the React entry.\nexport { isCompleteFiniteDecimal, isAvailableMoney, formatMoney } from './money'\nexport { resolveAbsoluteQuantity } from './cart'\nexport * from './contracts/marketplace-product-card'\nexport * from './contracts/checkout-commerce-v1'\nexport * from './contracts/mega-menu-universal'\nexport * from './contracts/universal-banner'\nexport * from './validators'\n"],"mappings":"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","names":["moneySchema"]}
@@ -1 +1 @@
1
- {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../src/lib/money.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAehD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAKvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,KAAK,CAOhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC/B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GACnC,MAAM,GAAG,IAAI,CAOf"}
1
+ {"version":3,"file":"money.d.ts","sourceRoot":"","sources":["../../src/lib/money.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAA;AAehD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAKvE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,GAAG,KAAK,IAAI,KAAK,CAOhF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,KAAK,GAAG,IAAI,GAAG,SAAS,EAC/B,SAAS,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,GACnC,MAAM,GAAG,IAAI,CAUf"}
package/dist/lib/money.js CHANGED
@@ -36,7 +36,7 @@ function isAvailableMoney(money) {
36
36
  function formatMoney(money, formatter) {
37
37
  if (!isAvailableMoney(money)) return null;
38
38
  if (formatter) return formatter(money);
39
- return new Intl.NumberFormat(void 0, {
39
+ return new Intl.NumberFormat("en-US", {
40
40
  style: "currency",
41
41
  currency: money.currencyCode
42
42
  }).format(Number(money.amount));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/money.ts"],"sourcesContent":["import type { Money } from '@thorprovider/types'\n\n/**\n * Pure monetary helpers shared by the curated commerce blocks.\n *\n * Canonical `Money` (`@thorprovider/types`) carries a decimal string in major\n * units (e.g. `\"69.99\"`) — never cents. A missing, invalid, or unresolved\n * amount is *unavailable*, which is a different state from a legitimate `\"0\"`.\n * These helpers keep that distinction in the presentation layer: they validate\n * a complete finite decimal before any display conversion, and they never\n * invent a currency.\n */\n\nconst COMPLETE_FINITE_DECIMAL = /^-?(?:\\d+)(?:\\.\\d+)?$/\n\n/**\n * True only for a complete, finite decimal string (`\"0\"`, `\"69.99\"`, `\"-3.5\"`).\n * Rejects `\"\"`, `\" \"`, `\"1.\"`, `\".5\"`, `\"1e3\"`, `\"abc\"`, and non-strings.\n */\nexport function isCompleteFiniteDecimal(value: unknown): value is string {\n if (typeof value !== 'string') return false\n const trimmed = value.trim()\n if (trimmed === '' || !COMPLETE_FINITE_DECIMAL.test(trimmed)) return false\n return Number.isFinite(Number(trimmed))\n}\n\n/**\n * True when a `Money` value is safe to display and price a purchase with: a\n * complete finite decimal amount and a non-empty currency code. A valid zero\n * (`{ amount: '0', currencyCode: 'USD' }`) is available — zero alone does not\n * make a price unavailable.\n */\nexport function isAvailableMoney(money: Money | null | undefined): money is Money {\n return (\n !!money &&\n typeof money.currencyCode === 'string' &&\n money.currencyCode.trim() !== '' &&\n isCompleteFiniteDecimal(money.amount)\n )\n}\n\n/**\n * Formats a `Money` for display, or `null` when the value is unavailable.\n *\n * This is the safety gate the whole curated surface relies on: an absent or\n * malformed amount (`\"\"`, `\" \"`, `\"abc\"`, a non-string, a missing currency)\n * MUST NOT reach `Intl.NumberFormat`, because `Number(\"\")` is `0` and would\n * render a fake `$0.00` for missing data. A backend-resolved valid zero\n * (`{ amount: \"0\", currencyCode: \"USD\" }`) is available and formats as zero.\n *\n * When no `formatter` is supplied the currency comes from\n * `money.currencyCode`, so no currency is hardcoded. Callers render their own\n * unavailable/pending/recovery state when this returns `null`.\n */\nexport function formatMoney(\n money: Money | null | undefined,\n formatter?: (money: Money) => string,\n): string | null {\n if (!isAvailableMoney(money)) return null\n if (formatter) return formatter(money)\n return new Intl.NumberFormat(undefined, {\n style: 'currency',\n currency: money.currencyCode,\n }).format(Number(money.amount))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,0BAA0B;AAMzB,SAAS,wBAAwB,OAAiC;AACvE,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,YAAY,MAAM,CAAC,wBAAwB,KAAK,OAAO,EAAG,QAAO;AACrE,SAAO,OAAO,SAAS,OAAO,OAAO,CAAC;AACxC;AAQO,SAAS,iBAAiB,OAAiD;AAChF,SACE,CAAC,CAAC,SACF,OAAO,MAAM,iBAAiB,YAC9B,MAAM,aAAa,KAAK,MAAM,MAC9B,wBAAwB,MAAM,MAAM;AAExC;AAeO,SAAS,YACd,OACA,WACe;AACf,MAAI,CAAC,iBAAiB,KAAK,EAAG,QAAO;AACrC,MAAI,UAAW,QAAO,UAAU,KAAK;AACrC,SAAO,IAAI,KAAK,aAAa,QAAW;AAAA,IACtC,OAAO;AAAA,IACP,UAAU,MAAM;AAAA,EAClB,CAAC,EAAE,OAAO,OAAO,MAAM,MAAM,CAAC;AAChC;","names":[]}
1
+ {"version":3,"sources":["../../src/lib/money.ts"],"sourcesContent":["import type { Money } from '@thorprovider/types'\n\n/**\n * Pure monetary helpers shared by the curated commerce blocks.\n *\n * Canonical `Money` (`@thorprovider/types`) carries a decimal string in major\n * units (e.g. `\"69.99\"`) — never cents. A missing, invalid, or unresolved\n * amount is *unavailable*, which is a different state from a legitimate `\"0\"`.\n * These helpers keep that distinction in the presentation layer: they validate\n * a complete finite decimal before any display conversion, and they never\n * invent a currency.\n */\n\nconst COMPLETE_FINITE_DECIMAL = /^-?(?:\\d+)(?:\\.\\d+)?$/\n\n/**\n * True only for a complete, finite decimal string (`\"0\"`, `\"69.99\"`, `\"-3.5\"`).\n * Rejects `\"\"`, `\" \"`, `\"1.\"`, `\".5\"`, `\"1e3\"`, `\"abc\"`, and non-strings.\n */\nexport function isCompleteFiniteDecimal(value: unknown): value is string {\n if (typeof value !== 'string') return false\n const trimmed = value.trim()\n if (trimmed === '' || !COMPLETE_FINITE_DECIMAL.test(trimmed)) return false\n return Number.isFinite(Number(trimmed))\n}\n\n/**\n * True when a `Money` value is safe to display and price a purchase with: a\n * complete finite decimal amount and a non-empty currency code. A valid zero\n * (`{ amount: '0', currencyCode: 'USD' }`) is available — zero alone does not\n * make a price unavailable.\n */\nexport function isAvailableMoney(money: Money | null | undefined): money is Money {\n return (\n !!money &&\n typeof money.currencyCode === 'string' &&\n money.currencyCode.trim() !== '' &&\n isCompleteFiniteDecimal(money.amount)\n )\n}\n\n/**\n * Formats a `Money` for display, or `null` when the value is unavailable.\n *\n * This is the safety gate the whole curated surface relies on: an absent or\n * malformed amount (`\"\"`, `\" \"`, `\"abc\"`, a non-string, a missing currency)\n * MUST NOT reach `Intl.NumberFormat`, because `Number(\"\")` is `0` and would\n * render a fake `$0.00` for missing data. A backend-resolved valid zero\n * (`{ amount: \"0\", currencyCode: \"USD\" }`) is available and formats as zero.\n *\n * When no `formatter` is supplied the currency comes from\n * `money.currencyCode`, so no currency is hardcoded. Callers render their own\n * unavailable/pending/recovery state when this returns `null`.\n */\nexport function formatMoney(\n money: Money | null | undefined,\n formatter?: (money: Money) => string,\n): string | null {\n if (!isAvailableMoney(money)) return null\n if (formatter) return formatter(money)\n // Never inherit the host runtime's locale: Node and the shopper's browser\n // can format the same currency differently during hydration. Consumers that\n // need a storefront-specific locale supply the formatter above.\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: money.currencyCode,\n }).format(Number(money.amount))\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAaA,MAAM,0BAA0B;AAMzB,SAAS,wBAAwB,OAAiC;AACvE,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,YAAY,MAAM,CAAC,wBAAwB,KAAK,OAAO,EAAG,QAAO;AACrE,SAAO,OAAO,SAAS,OAAO,OAAO,CAAC;AACxC;AAQO,SAAS,iBAAiB,OAAiD;AAChF,SACE,CAAC,CAAC,SACF,OAAO,MAAM,iBAAiB,YAC9B,MAAM,aAAa,KAAK,MAAM,MAC9B,wBAAwB,MAAM,MAAM;AAExC;AAeO,SAAS,YACd,OACA,WACe;AACf,MAAI,CAAC,iBAAiB,KAAK,EAAG,QAAO;AACrC,MAAI,UAAW,QAAO,UAAU,KAAK;AAIrC,SAAO,IAAI,KAAK,aAAa,SAAS;AAAA,IACpC,OAAO;AAAA,IACP,UAAU,MAAM;AAAA,EAClB,CAAC,EAAE,OAAO,OAAO,MAAM,MAAM,CAAC;AAChC;","names":[]}
@@ -11,7 +11,7 @@ function isAvailableMoney(money) {
11
11
  function formatMoney(money, formatter) {
12
12
  if (!isAvailableMoney(money)) return null;
13
13
  if (formatter) return formatter(money);
14
- return new Intl.NumberFormat(void 0, {
14
+ return new Intl.NumberFormat("en-US", {
15
15
  style: "currency",
16
16
  currency: money.currencyCode
17
17
  }).format(Number(money.amount));
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/lib/money.ts"],"sourcesContent":["import type { Money } from '@thorprovider/types'\n\n/**\n * Pure monetary helpers shared by the curated commerce blocks.\n *\n * Canonical `Money` (`@thorprovider/types`) carries a decimal string in major\n * units (e.g. `\"69.99\"`) — never cents. A missing, invalid, or unresolved\n * amount is *unavailable*, which is a different state from a legitimate `\"0\"`.\n * These helpers keep that distinction in the presentation layer: they validate\n * a complete finite decimal before any display conversion, and they never\n * invent a currency.\n */\n\nconst COMPLETE_FINITE_DECIMAL = /^-?(?:\\d+)(?:\\.\\d+)?$/\n\n/**\n * True only for a complete, finite decimal string (`\"0\"`, `\"69.99\"`, `\"-3.5\"`).\n * Rejects `\"\"`, `\" \"`, `\"1.\"`, `\".5\"`, `\"1e3\"`, `\"abc\"`, and non-strings.\n */\nexport function isCompleteFiniteDecimal(value: unknown): value is string {\n if (typeof value !== 'string') return false\n const trimmed = value.trim()\n if (trimmed === '' || !COMPLETE_FINITE_DECIMAL.test(trimmed)) return false\n return Number.isFinite(Number(trimmed))\n}\n\n/**\n * True when a `Money` value is safe to display and price a purchase with: a\n * complete finite decimal amount and a non-empty currency code. A valid zero\n * (`{ amount: '0', currencyCode: 'USD' }`) is available — zero alone does not\n * make a price unavailable.\n */\nexport function isAvailableMoney(money: Money | null | undefined): money is Money {\n return (\n !!money &&\n typeof money.currencyCode === 'string' &&\n money.currencyCode.trim() !== '' &&\n isCompleteFiniteDecimal(money.amount)\n )\n}\n\n/**\n * Formats a `Money` for display, or `null` when the value is unavailable.\n *\n * This is the safety gate the whole curated surface relies on: an absent or\n * malformed amount (`\"\"`, `\" \"`, `\"abc\"`, a non-string, a missing currency)\n * MUST NOT reach `Intl.NumberFormat`, because `Number(\"\")` is `0` and would\n * render a fake `$0.00` for missing data. A backend-resolved valid zero\n * (`{ amount: \"0\", currencyCode: \"USD\" }`) is available and formats as zero.\n *\n * When no `formatter` is supplied the currency comes from\n * `money.currencyCode`, so no currency is hardcoded. Callers render their own\n * unavailable/pending/recovery state when this returns `null`.\n */\nexport function formatMoney(\n money: Money | null | undefined,\n formatter?: (money: Money) => string,\n): string | null {\n if (!isAvailableMoney(money)) return null\n if (formatter) return formatter(money)\n return new Intl.NumberFormat(undefined, {\n style: 'currency',\n currency: money.currencyCode,\n }).format(Number(money.amount))\n}\n"],"mappings":"AAaA,MAAM,0BAA0B;AAMzB,SAAS,wBAAwB,OAAiC;AACvE,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,YAAY,MAAM,CAAC,wBAAwB,KAAK,OAAO,EAAG,QAAO;AACrE,SAAO,OAAO,SAAS,OAAO,OAAO,CAAC;AACxC;AAQO,SAAS,iBAAiB,OAAiD;AAChF,SACE,CAAC,CAAC,SACF,OAAO,MAAM,iBAAiB,YAC9B,MAAM,aAAa,KAAK,MAAM,MAC9B,wBAAwB,MAAM,MAAM;AAExC;AAeO,SAAS,YACd,OACA,WACe;AACf,MAAI,CAAC,iBAAiB,KAAK,EAAG,QAAO;AACrC,MAAI,UAAW,QAAO,UAAU,KAAK;AACrC,SAAO,IAAI,KAAK,aAAa,QAAW;AAAA,IACtC,OAAO;AAAA,IACP,UAAU,MAAM;AAAA,EAClB,CAAC,EAAE,OAAO,OAAO,MAAM,MAAM,CAAC;AAChC;","names":[]}
1
+ {"version":3,"sources":["../../src/lib/money.ts"],"sourcesContent":["import type { Money } from '@thorprovider/types'\n\n/**\n * Pure monetary helpers shared by the curated commerce blocks.\n *\n * Canonical `Money` (`@thorprovider/types`) carries a decimal string in major\n * units (e.g. `\"69.99\"`) — never cents. A missing, invalid, or unresolved\n * amount is *unavailable*, which is a different state from a legitimate `\"0\"`.\n * These helpers keep that distinction in the presentation layer: they validate\n * a complete finite decimal before any display conversion, and they never\n * invent a currency.\n */\n\nconst COMPLETE_FINITE_DECIMAL = /^-?(?:\\d+)(?:\\.\\d+)?$/\n\n/**\n * True only for a complete, finite decimal string (`\"0\"`, `\"69.99\"`, `\"-3.5\"`).\n * Rejects `\"\"`, `\" \"`, `\"1.\"`, `\".5\"`, `\"1e3\"`, `\"abc\"`, and non-strings.\n */\nexport function isCompleteFiniteDecimal(value: unknown): value is string {\n if (typeof value !== 'string') return false\n const trimmed = value.trim()\n if (trimmed === '' || !COMPLETE_FINITE_DECIMAL.test(trimmed)) return false\n return Number.isFinite(Number(trimmed))\n}\n\n/**\n * True when a `Money` value is safe to display and price a purchase with: a\n * complete finite decimal amount and a non-empty currency code. A valid zero\n * (`{ amount: '0', currencyCode: 'USD' }`) is available — zero alone does not\n * make a price unavailable.\n */\nexport function isAvailableMoney(money: Money | null | undefined): money is Money {\n return (\n !!money &&\n typeof money.currencyCode === 'string' &&\n money.currencyCode.trim() !== '' &&\n isCompleteFiniteDecimal(money.amount)\n )\n}\n\n/**\n * Formats a `Money` for display, or `null` when the value is unavailable.\n *\n * This is the safety gate the whole curated surface relies on: an absent or\n * malformed amount (`\"\"`, `\" \"`, `\"abc\"`, a non-string, a missing currency)\n * MUST NOT reach `Intl.NumberFormat`, because `Number(\"\")` is `0` and would\n * render a fake `$0.00` for missing data. A backend-resolved valid zero\n * (`{ amount: \"0\", currencyCode: \"USD\" }`) is available and formats as zero.\n *\n * When no `formatter` is supplied the currency comes from\n * `money.currencyCode`, so no currency is hardcoded. Callers render their own\n * unavailable/pending/recovery state when this returns `null`.\n */\nexport function formatMoney(\n money: Money | null | undefined,\n formatter?: (money: Money) => string,\n): string | null {\n if (!isAvailableMoney(money)) return null\n if (formatter) return formatter(money)\n // Never inherit the host runtime's locale: Node and the shopper's browser\n // can format the same currency differently during hydration. Consumers that\n // need a storefront-specific locale supply the formatter above.\n return new Intl.NumberFormat('en-US', {\n style: 'currency',\n currency: money.currencyCode,\n }).format(Number(money.amount))\n}\n"],"mappings":"AAaA,MAAM,0BAA0B;AAMzB,SAAS,wBAAwB,OAAiC;AACvE,MAAI,OAAO,UAAU,SAAU,QAAO;AACtC,QAAM,UAAU,MAAM,KAAK;AAC3B,MAAI,YAAY,MAAM,CAAC,wBAAwB,KAAK,OAAO,EAAG,QAAO;AACrE,SAAO,OAAO,SAAS,OAAO,OAAO,CAAC;AACxC;AAQO,SAAS,iBAAiB,OAAiD;AAChF,SACE,CAAC,CAAC,SACF,OAAO,MAAM,iBAAiB,YAC9B,MAAM,aAAa,KAAK,MAAM,MAC9B,wBAAwB,MAAM,MAAM;AAExC;AAeO,SAAS,YACd,OACA,WACe;AACf,MAAI,CAAC,iBAAiB,KAAK,EAAG,QAAO;AACrC,MAAI,UAAW,QAAO,UAAU,KAAK;AAIrC,SAAO,IAAI,KAAK,aAAa,SAAS;AAAA,IACpC,OAAO;AAAA,IACP,UAAU,MAAM;AAAA,EAClB,CAAC,EAAE,OAAO,OAAO,MAAM,MAAM,CAAC;AAChC;","names":[]}
@@ -0,0 +1,4 @@
1
+ import type { UniversalBannerData } from '../contracts/universal-banner';
2
+ import type { BlockValidationResult } from '../validators';
3
+ export declare function validateUniversalBannerData(input: unknown): BlockValidationResult<UniversalBannerData>;
4
+ //# sourceMappingURL=universal-banner.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"universal-banner.d.ts","sourceRoot":"","sources":["../../../src/lib/validators/universal-banner.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,+BAA+B,CAAA;AACxE,OAAO,KAAK,EAAwB,qBAAqB,EAAE,MAAM,eAAe,CAAA;AA+ZhF,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,OAAO,GACb,qBAAqB,CAAC,mBAAmB,CAAC,CA4B5C"}