@thorprovider/blocks 1.0.0 → 3.0.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 (859) hide show
  1. package/README.md +274 -46
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/blocks/application/app-shells/app-shell-1-sidebar.d.ts +21 -0
  4. package/dist/blocks/application/app-shells/app-shell-1-sidebar.d.ts.map +1 -0
  5. package/dist/blocks/application/app-shells/app-shell-1-sidebar.js +147 -0
  6. package/dist/blocks/application/app-shells/app-shell-1-sidebar.js.map +1 -0
  7. package/dist/blocks/application/app-shells/app-shell-1-sidebar.mjs +153 -0
  8. package/dist/blocks/application/app-shells/app-shell-1-sidebar.mjs.map +1 -0
  9. package/dist/blocks/application/app-shells/app-shell-1.d.ts +27 -0
  10. package/dist/blocks/application/app-shells/app-shell-1.d.ts.map +1 -0
  11. package/dist/blocks/application/app-shells/app-shell-1.js +150 -0
  12. package/dist/blocks/application/app-shells/app-shell-1.js.map +1 -0
  13. package/dist/blocks/application/app-shells/app-shell-1.mjs +123 -0
  14. package/dist/blocks/application/app-shells/app-shell-1.mjs.map +1 -0
  15. package/dist/blocks/application/login-forms/login-page.d.ts +42 -0
  16. package/dist/blocks/application/login-forms/login-page.d.ts.map +1 -0
  17. package/dist/blocks/application/login-forms/login-page.js +209 -0
  18. package/dist/blocks/application/login-forms/login-page.js.map +1 -0
  19. package/dist/blocks/application/login-forms/login-page.mjs +185 -0
  20. package/dist/blocks/application/login-forms/login-page.mjs.map +1 -0
  21. package/dist/blocks/application/password-recovery/forgot-password-page-1-brand-mark.d.ts +3 -0
  22. package/dist/blocks/application/password-recovery/forgot-password-page-1-brand-mark.d.ts.map +1 -0
  23. package/dist/blocks/application/password-recovery/forgot-password-page-1-brand-mark.js +74 -0
  24. package/dist/blocks/application/password-recovery/forgot-password-page-1-brand-mark.js.map +1 -0
  25. package/dist/blocks/application/password-recovery/forgot-password-page-1-brand-mark.mjs +50 -0
  26. package/dist/blocks/application/password-recovery/forgot-password-page-1-brand-mark.mjs.map +1 -0
  27. package/dist/blocks/application/password-recovery/forgot-password-page-1.d.ts +42 -0
  28. package/dist/blocks/application/password-recovery/forgot-password-page-1.d.ts.map +1 -0
  29. package/dist/blocks/application/password-recovery/forgot-password-page-1.js +293 -0
  30. package/dist/blocks/application/password-recovery/forgot-password-page-1.js.map +1 -0
  31. package/dist/blocks/application/password-recovery/forgot-password-page-1.mjs +259 -0
  32. package/dist/blocks/application/password-recovery/forgot-password-page-1.mjs.map +1 -0
  33. package/dist/blocks/application/signup-forms/signup-page-1.d.ts +41 -0
  34. package/dist/blocks/application/signup-forms/signup-page-1.d.ts.map +1 -0
  35. package/dist/blocks/application/signup-forms/signup-page-1.js +195 -0
  36. package/dist/blocks/application/signup-forms/signup-page-1.js.map +1 -0
  37. package/dist/blocks/application/signup-forms/signup-page-1.mjs +171 -0
  38. package/dist/blocks/application/signup-forms/signup-page-1.mjs.map +1 -0
  39. package/dist/blocks/application/verification/verify-1.d.ts +35 -0
  40. package/dist/blocks/application/verification/verify-1.d.ts.map +1 -0
  41. package/dist/blocks/application/verification/verify-1.js +243 -0
  42. package/dist/blocks/application/verification/verify-1.js.map +1 -0
  43. package/dist/blocks/application/verification/verify-1.mjs +219 -0
  44. package/dist/blocks/application/verification/verify-1.mjs.map +1 -0
  45. package/dist/blocks/application/verification/verify-confetti.d.ts +22 -0
  46. package/dist/blocks/application/verification/verify-confetti.d.ts.map +1 -0
  47. package/dist/blocks/application/verification/verify-confetti.js +145 -0
  48. package/dist/blocks/application/verification/verify-confetti.js.map +1 -0
  49. package/dist/blocks/application/verification/verify-confetti.mjs +121 -0
  50. package/dist/blocks/application/verification/verify-confetti.mjs.map +1 -0
  51. package/dist/blocks/e-commerce/category-filters/category-listing-filter-fields.d.ts +39 -0
  52. package/dist/blocks/e-commerce/category-filters/category-listing-filter-fields.d.ts.map +1 -0
  53. package/dist/blocks/e-commerce/category-filters/category-listing-filter-fields.js +180 -0
  54. package/dist/blocks/e-commerce/category-filters/category-listing-filter-fields.js.map +1 -0
  55. package/dist/blocks/e-commerce/category-filters/category-listing-filter-fields.mjs +156 -0
  56. package/dist/blocks/e-commerce/category-filters/category-listing-filter-fields.mjs.map +1 -0
  57. package/dist/blocks/e-commerce/category-filters/category-listing.d.ts +236 -0
  58. package/dist/blocks/e-commerce/category-filters/category-listing.d.ts.map +1 -0
  59. package/dist/blocks/e-commerce/category-filters/category-listing.js +562 -0
  60. package/dist/blocks/e-commerce/category-filters/category-listing.js.map +1 -0
  61. package/dist/blocks/e-commerce/category-filters/category-listing.mjs +539 -0
  62. package/dist/blocks/e-commerce/category-filters/category-listing.mjs.map +1 -0
  63. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.d.ts +4 -0
  64. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.d.ts.map +1 -0
  65. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.js +97 -0
  66. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.js.map +1 -0
  67. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.mjs +73 -0
  68. package/dist/blocks/e-commerce/checkout-forms/checkbox-check.mjs.map +1 -0
  69. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.d.ts +41 -0
  70. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.d.ts.map +1 -0
  71. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.js +115 -0
  72. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.js.map +1 -0
  73. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.mjs +91 -0
  74. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.mjs.map +1 -0
  75. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation.d.ts +107 -0
  76. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation.d.ts.map +1 -0
  77. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation.js +180 -0
  78. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation.js.map +1 -0
  79. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation.mjs +156 -0
  80. package/dist/blocks/e-commerce/checkout-forms/checkout-confirmation.mjs.map +1 -0
  81. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.d.ts +13 -0
  82. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.d.ts.map +1 -0
  83. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.js +180 -0
  84. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.js.map +1 -0
  85. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.mjs +156 -0
  86. package/dist/blocks/e-commerce/checkout-forms/checkout-contact-step.mjs.map +1 -0
  87. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.d.ts +12 -0
  88. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.d.ts.map +1 -0
  89. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.js +50 -0
  90. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.js.map +1 -0
  91. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.mjs +33 -0
  92. package/dist/blocks/e-commerce/checkout-forms/checkout-country-field.mjs.map +1 -0
  93. package/dist/blocks/e-commerce/checkout-forms/checkout-field-feedback.d.ts +11 -0
  94. package/dist/blocks/e-commerce/checkout-forms/checkout-field-feedback.d.ts.map +1 -0
  95. package/dist/blocks/e-commerce/checkout-forms/checkout-field-feedback.js +50 -0
  96. package/dist/blocks/e-commerce/checkout-forms/checkout-field-feedback.js.map +1 -0
  97. package/dist/blocks/e-commerce/checkout-forms/checkout-field-feedback.mjs +25 -0
  98. package/dist/blocks/e-commerce/checkout-forms/checkout-field-feedback.mjs.map +1 -0
  99. package/dist/blocks/e-commerce/checkout-forms/checkout-form-types.d.ts +5 -0
  100. package/dist/blocks/e-commerce/checkout-forms/checkout-form-types.d.ts.map +1 -0
  101. package/dist/blocks/e-commerce/checkout-forms/checkout-form-types.js +17 -0
  102. package/dist/blocks/e-commerce/checkout-forms/checkout-form-types.js.map +1 -0
  103. package/dist/blocks/e-commerce/checkout-forms/checkout-form-types.mjs +1 -0
  104. package/dist/blocks/e-commerce/checkout-forms/checkout-form-types.mjs.map +1 -0
  105. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.d.ts +20 -0
  106. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.d.ts.map +1 -0
  107. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.js +176 -0
  108. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.js.map +1 -0
  109. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.mjs +152 -0
  110. package/dist/blocks/e-commerce/checkout-forms/checkout-order-summary.mjs.map +1 -0
  111. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.d.ts +12 -0
  112. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.d.ts.map +1 -0
  113. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.js +93 -0
  114. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.js.map +1 -0
  115. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.mjs +69 -0
  116. package/dist/blocks/e-commerce/checkout-forms/checkout-payment-step.mjs.map +1 -0
  117. package/dist/blocks/e-commerce/checkout-forms/checkout-progress.d.ts +11 -0
  118. package/dist/blocks/e-commerce/checkout-forms/checkout-progress.d.ts.map +1 -0
  119. package/dist/blocks/e-commerce/checkout-forms/checkout-progress.js +76 -0
  120. package/dist/blocks/e-commerce/checkout-forms/checkout-progress.js.map +1 -0
  121. package/dist/blocks/e-commerce/checkout-forms/checkout-progress.mjs +52 -0
  122. package/dist/blocks/e-commerce/checkout-forms/checkout-progress.mjs.map +1 -0
  123. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.d.ts +11 -0
  124. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.d.ts.map +1 -0
  125. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.js +64 -0
  126. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.js.map +1 -0
  127. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.mjs +40 -0
  128. package/dist/blocks/e-commerce/checkout-forms/checkout-review-step.mjs.map +1 -0
  129. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.d.ts +17 -0
  130. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.d.ts.map +1 -0
  131. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.js +199 -0
  132. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.js.map +1 -0
  133. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.mjs +175 -0
  134. package/dist/blocks/e-commerce/checkout-forms/checkout-shipping-step.mjs.map +1 -0
  135. package/dist/blocks/e-commerce/checkout-forms/checkout.d.ts +164 -0
  136. package/dist/blocks/e-commerce/checkout-forms/checkout.d.ts.map +1 -0
  137. package/dist/blocks/e-commerce/checkout-forms/checkout.js +351 -0
  138. package/dist/blocks/e-commerce/checkout-forms/checkout.js.map +1 -0
  139. package/dist/blocks/e-commerce/checkout-forms/checkout.mjs +327 -0
  140. package/dist/blocks/e-commerce/checkout-forms/checkout.mjs.map +1 -0
  141. package/dist/blocks/e-commerce/navigation/back-to-top.d.ts +28 -0
  142. package/dist/blocks/e-commerce/navigation/back-to-top.d.ts.map +1 -0
  143. package/dist/blocks/e-commerce/navigation/back-to-top.js +78 -0
  144. package/dist/blocks/e-commerce/navigation/back-to-top.js.map +1 -0
  145. package/dist/blocks/e-commerce/navigation/back-to-top.mjs +52 -0
  146. package/dist/blocks/e-commerce/navigation/back-to-top.mjs.map +1 -0
  147. package/dist/blocks/e-commerce/navigation/breadcrumb.d.ts +61 -0
  148. package/dist/blocks/e-commerce/navigation/breadcrumb.d.ts.map +1 -0
  149. package/dist/blocks/e-commerce/navigation/breadcrumb.js +111 -0
  150. package/dist/blocks/e-commerce/navigation/breadcrumb.js.map +1 -0
  151. package/dist/blocks/e-commerce/navigation/breadcrumb.mjs +93 -0
  152. package/dist/blocks/e-commerce/navigation/breadcrumb.mjs.map +1 -0
  153. package/dist/blocks/e-commerce/navigation/category-icon.d.ts +28 -0
  154. package/dist/blocks/e-commerce/navigation/category-icon.d.ts.map +1 -0
  155. package/dist/blocks/e-commerce/navigation/category-icon.js +86 -0
  156. package/dist/blocks/e-commerce/navigation/category-icon.js.map +1 -0
  157. package/dist/blocks/e-commerce/navigation/category-icon.mjs +79 -0
  158. package/dist/blocks/e-commerce/navigation/category-icon.mjs.map +1 -0
  159. package/dist/blocks/e-commerce/navigation/mega-menu.d.ts +112 -0
  160. package/dist/blocks/e-commerce/navigation/mega-menu.d.ts.map +1 -0
  161. package/dist/blocks/e-commerce/navigation/mega-menu.js +250 -0
  162. package/dist/blocks/e-commerce/navigation/mega-menu.js.map +1 -0
  163. package/dist/blocks/e-commerce/navigation/mega-menu.mjs +228 -0
  164. package/dist/blocks/e-commerce/navigation/mega-menu.mjs.map +1 -0
  165. package/dist/blocks/e-commerce/navigation/mobile-bottom-nav.d.ts +71 -0
  166. package/dist/blocks/e-commerce/navigation/mobile-bottom-nav.d.ts.map +1 -0
  167. package/dist/blocks/e-commerce/navigation/mobile-bottom-nav.js +94 -0
  168. package/dist/blocks/e-commerce/navigation/mobile-bottom-nav.js.map +1 -0
  169. package/dist/blocks/e-commerce/navigation/mobile-bottom-nav.mjs +68 -0
  170. package/dist/blocks/e-commerce/navigation/mobile-bottom-nav.mjs.map +1 -0
  171. package/dist/blocks/e-commerce/navigation/mobile-category-drawer.d.ts +121 -0
  172. package/dist/blocks/e-commerce/navigation/mobile-category-drawer.d.ts.map +1 -0
  173. package/dist/blocks/e-commerce/navigation/mobile-category-drawer.js +257 -0
  174. package/dist/blocks/e-commerce/navigation/mobile-category-drawer.js.map +1 -0
  175. package/dist/blocks/e-commerce/navigation/mobile-category-drawer.mjs +235 -0
  176. package/dist/blocks/e-commerce/navigation/mobile-category-drawer.mjs.map +1 -0
  177. package/dist/blocks/e-commerce/navigation/skip-to-content.d.ts +25 -0
  178. package/dist/blocks/e-commerce/navigation/skip-to-content.d.ts.map +1 -0
  179. package/dist/blocks/e-commerce/navigation/skip-to-content.js +55 -0
  180. package/dist/blocks/e-commerce/navigation/skip-to-content.js.map +1 -0
  181. package/dist/blocks/e-commerce/navigation/skip-to-content.mjs +30 -0
  182. package/dist/blocks/e-commerce/navigation/skip-to-content.mjs.map +1 -0
  183. package/dist/blocks/e-commerce/navigation/storefront-navbar-account-menu.d.ts +23 -0
  184. package/dist/blocks/e-commerce/navigation/storefront-navbar-account-menu.d.ts.map +1 -0
  185. package/dist/blocks/e-commerce/navigation/storefront-navbar-account-menu.js +127 -0
  186. package/dist/blocks/e-commerce/navigation/storefront-navbar-account-menu.js.map +1 -0
  187. package/dist/blocks/e-commerce/navigation/storefront-navbar-account-menu.mjs +111 -0
  188. package/dist/blocks/e-commerce/navigation/storefront-navbar-account-menu.mjs.map +1 -0
  189. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.d.ts +66 -0
  190. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.d.ts.map +1 -0
  191. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.js +280 -0
  192. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.js.map +1 -0
  193. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.mjs +263 -0
  194. package/dist/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.mjs.map +1 -0
  195. package/dist/blocks/e-commerce/navigation/storefront-navbar-mobile-nav.d.ts +13 -0
  196. package/dist/blocks/e-commerce/navigation/storefront-navbar-mobile-nav.d.ts.map +1 -0
  197. package/dist/blocks/e-commerce/navigation/storefront-navbar-mobile-nav.js +83 -0
  198. package/dist/blocks/e-commerce/navigation/storefront-navbar-mobile-nav.js.map +1 -0
  199. package/dist/blocks/e-commerce/navigation/storefront-navbar-mobile-nav.mjs +59 -0
  200. package/dist/blocks/e-commerce/navigation/storefront-navbar-mobile-nav.mjs.map +1 -0
  201. package/dist/blocks/e-commerce/navigation/storefront-navbar-search-bar.d.ts +8 -0
  202. package/dist/blocks/e-commerce/navigation/storefront-navbar-search-bar.d.ts.map +1 -0
  203. package/dist/blocks/e-commerce/navigation/storefront-navbar-search-bar.js +73 -0
  204. package/dist/blocks/e-commerce/navigation/storefront-navbar-search-bar.js.map +1 -0
  205. package/dist/blocks/e-commerce/navigation/storefront-navbar-search-bar.mjs +49 -0
  206. package/dist/blocks/e-commerce/navigation/storefront-navbar-search-bar.mjs.map +1 -0
  207. package/dist/blocks/e-commerce/navigation/storefront-navbar.d.ts +121 -0
  208. package/dist/blocks/e-commerce/navigation/storefront-navbar.d.ts.map +1 -0
  209. package/dist/blocks/e-commerce/navigation/storefront-navbar.js +424 -0
  210. package/dist/blocks/e-commerce/navigation/storefront-navbar.js.map +1 -0
  211. package/dist/blocks/e-commerce/navigation/storefront-navbar.mjs +399 -0
  212. package/dist/blocks/e-commerce/navigation/storefront-navbar.mjs.map +1 -0
  213. package/dist/blocks/e-commerce/order-history/order-history.d.ts +74 -0
  214. package/dist/blocks/e-commerce/order-history/order-history.d.ts.map +1 -0
  215. package/dist/blocks/e-commerce/order-history/order-history.js +161 -0
  216. package/dist/blocks/e-commerce/order-history/order-history.js.map +1 -0
  217. package/dist/blocks/e-commerce/order-history/order-history.mjs +141 -0
  218. package/dist/blocks/e-commerce/order-history/order-history.mjs.map +1 -0
  219. package/dist/blocks/e-commerce/order-history/order-line.d.ts +50 -0
  220. package/dist/blocks/e-commerce/order-history/order-line.d.ts.map +1 -0
  221. package/dist/blocks/e-commerce/order-history/order-line.js +75 -0
  222. package/dist/blocks/e-commerce/order-history/order-line.js.map +1 -0
  223. package/dist/blocks/e-commerce/order-history/order-line.mjs +49 -0
  224. package/dist/blocks/e-commerce/order-history/order-line.mjs.map +1 -0
  225. package/dist/blocks/e-commerce/product-categories/category-card.d.ts +9 -0
  226. package/dist/blocks/e-commerce/product-categories/category-card.d.ts.map +1 -0
  227. package/dist/blocks/e-commerce/product-categories/category-card.js +154 -0
  228. package/dist/blocks/e-commerce/product-categories/category-card.js.map +1 -0
  229. package/dist/blocks/e-commerce/product-categories/category-card.mjs +134 -0
  230. package/dist/blocks/e-commerce/product-categories/category-card.mjs.map +1 -0
  231. package/dist/blocks/e-commerce/product-categories/category-shared.d.ts +15 -0
  232. package/dist/blocks/e-commerce/product-categories/category-shared.d.ts.map +1 -0
  233. package/dist/blocks/e-commerce/product-categories/category-shared.js +101 -0
  234. package/dist/blocks/e-commerce/product-categories/category-shared.js.map +1 -0
  235. package/dist/blocks/e-commerce/product-categories/category-shared.mjs +97 -0
  236. package/dist/blocks/e-commerce/product-categories/category-shared.mjs.map +1 -0
  237. package/dist/blocks/e-commerce/product-categories/product-category-grid.d.ts +10 -0
  238. package/dist/blocks/e-commerce/product-categories/product-category-grid.d.ts.map +1 -0
  239. package/dist/blocks/e-commerce/product-categories/product-category-grid.js +138 -0
  240. package/dist/blocks/e-commerce/product-categories/product-category-grid.js.map +1 -0
  241. package/dist/blocks/e-commerce/product-categories/product-category-grid.mjs +114 -0
  242. package/dist/blocks/e-commerce/product-categories/product-category-grid.mjs.map +1 -0
  243. package/dist/blocks/e-commerce/product-categories/product-category.d.ts +41 -0
  244. package/dist/blocks/e-commerce/product-categories/product-category.d.ts.map +1 -0
  245. package/dist/blocks/e-commerce/product-categories/product-category.js +319 -0
  246. package/dist/blocks/e-commerce/product-categories/product-category.js.map +1 -0
  247. package/dist/blocks/e-commerce/product-categories/product-category.mjs +322 -0
  248. package/dist/blocks/e-commerce/product-categories/product-category.mjs.map +1 -0
  249. package/dist/blocks/e-commerce/product-list/product-card.d.ts +47 -0
  250. package/dist/blocks/e-commerce/product-list/product-card.d.ts.map +1 -0
  251. package/dist/blocks/e-commerce/product-list/product-card.js +361 -0
  252. package/dist/blocks/e-commerce/product-list/product-card.js.map +1 -0
  253. package/dist/blocks/e-commerce/product-list/product-card.mjs +337 -0
  254. package/dist/blocks/e-commerce/product-list/product-card.mjs.map +1 -0
  255. package/dist/blocks/e-commerce/product-list/product-grid.d.ts +28 -0
  256. package/dist/blocks/e-commerce/product-list/product-grid.d.ts.map +1 -0
  257. package/dist/blocks/e-commerce/product-list/product-grid.js +92 -0
  258. package/dist/blocks/e-commerce/product-list/product-grid.js.map +1 -0
  259. package/dist/blocks/e-commerce/product-list/product-grid.mjs +68 -0
  260. package/dist/blocks/e-commerce/product-list/product-grid.mjs.map +1 -0
  261. package/dist/blocks/e-commerce/product-list/product-showcase-1.d.ts +30 -0
  262. package/dist/blocks/e-commerce/product-list/product-showcase-1.d.ts.map +1 -0
  263. package/dist/blocks/e-commerce/product-list/product-showcase-1.js +245 -0
  264. package/dist/blocks/e-commerce/product-list/product-showcase-1.js.map +1 -0
  265. package/dist/blocks/e-commerce/product-list/product-showcase-1.mjs +221 -0
  266. package/dist/blocks/e-commerce/product-list/product-showcase-1.mjs.map +1 -0
  267. package/dist/blocks/e-commerce/product-overview/product-overview-gallery.d.ts +20 -0
  268. package/dist/blocks/e-commerce/product-overview/product-overview-gallery.d.ts.map +1 -0
  269. package/dist/blocks/e-commerce/product-overview/product-overview-gallery.js +71 -0
  270. package/dist/blocks/e-commerce/product-overview/product-overview-gallery.js.map +1 -0
  271. package/dist/blocks/e-commerce/product-overview/product-overview-gallery.mjs +47 -0
  272. package/dist/blocks/e-commerce/product-overview/product-overview-gallery.mjs.map +1 -0
  273. package/dist/blocks/e-commerce/product-overview/product-overview-lightbox-tab.d.ts +15 -0
  274. package/dist/blocks/e-commerce/product-overview/product-overview-lightbox-tab.d.ts.map +1 -0
  275. package/dist/blocks/e-commerce/product-overview/product-overview-lightbox-tab.js +118 -0
  276. package/dist/blocks/e-commerce/product-overview/product-overview-lightbox-tab.js.map +1 -0
  277. package/dist/blocks/e-commerce/product-overview/product-overview-lightbox-tab.mjs +94 -0
  278. package/dist/blocks/e-commerce/product-overview/product-overview-lightbox-tab.mjs.map +1 -0
  279. package/dist/blocks/e-commerce/product-overview/product-overview-reviews-tab.d.ts +26 -0
  280. package/dist/blocks/e-commerce/product-overview/product-overview-reviews-tab.d.ts.map +1 -0
  281. package/dist/blocks/e-commerce/product-overview/product-overview-reviews-tab.js +85 -0
  282. package/dist/blocks/e-commerce/product-overview/product-overview-reviews-tab.js.map +1 -0
  283. package/dist/blocks/e-commerce/product-overview/product-overview-reviews-tab.mjs +61 -0
  284. package/dist/blocks/e-commerce/product-overview/product-overview-reviews-tab.mjs.map +1 -0
  285. package/dist/blocks/e-commerce/product-overview/product-overview-tabs.d.ts +32 -0
  286. package/dist/blocks/e-commerce/product-overview/product-overview-tabs.d.ts.map +1 -0
  287. package/dist/blocks/e-commerce/product-overview/product-overview-tabs.js +79 -0
  288. package/dist/blocks/e-commerce/product-overview/product-overview-tabs.js.map +1 -0
  289. package/dist/blocks/e-commerce/product-overview/product-overview-tabs.mjs +51 -0
  290. package/dist/blocks/e-commerce/product-overview/product-overview-tabs.mjs.map +1 -0
  291. package/dist/blocks/e-commerce/product-overview/product-overview.d.ts +121 -0
  292. package/dist/blocks/e-commerce/product-overview/product-overview.d.ts.map +1 -0
  293. package/dist/blocks/e-commerce/product-overview/product-overview.js +844 -0
  294. package/dist/blocks/e-commerce/product-overview/product-overview.js.map +1 -0
  295. package/dist/blocks/e-commerce/product-overview/product-overview.mjs +821 -0
  296. package/dist/blocks/e-commerce/product-overview/product-overview.mjs.map +1 -0
  297. package/dist/blocks/e-commerce/product-overview/product-quick-view-card.d.ts +17 -0
  298. package/dist/blocks/e-commerce/product-overview/product-quick-view-card.d.ts.map +1 -0
  299. package/dist/blocks/e-commerce/product-overview/product-quick-view-card.js +123 -0
  300. package/dist/blocks/e-commerce/product-overview/product-quick-view-card.js.map +1 -0
  301. package/dist/blocks/e-commerce/product-overview/product-quick-view-card.mjs +99 -0
  302. package/dist/blocks/e-commerce/product-overview/product-quick-view-card.mjs.map +1 -0
  303. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.d.ts +20 -0
  304. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.d.ts.map +1 -0
  305. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.js +271 -0
  306. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.js.map +1 -0
  307. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.mjs +253 -0
  308. package/dist/blocks/e-commerce/product-overview/product-quick-view-dialog.mjs.map +1 -0
  309. package/dist/blocks/e-commerce/product-overview/product-quick-view.d.ts +68 -0
  310. package/dist/blocks/e-commerce/product-overview/product-quick-view.d.ts.map +1 -0
  311. package/dist/blocks/e-commerce/product-overview/product-quick-view.js +84 -0
  312. package/dist/blocks/e-commerce/product-overview/product-quick-view.js.map +1 -0
  313. package/dist/blocks/e-commerce/product-overview/product-quick-view.mjs +60 -0
  314. package/dist/blocks/e-commerce/product-overview/product-quick-view.mjs.map +1 -0
  315. package/dist/blocks/e-commerce/reviews/review-card.d.ts +60 -0
  316. package/dist/blocks/e-commerce/reviews/review-card.d.ts.map +1 -0
  317. package/dist/blocks/e-commerce/reviews/review-card.js +166 -0
  318. package/dist/blocks/e-commerce/reviews/review-card.js.map +1 -0
  319. package/dist/blocks/e-commerce/reviews/review-card.mjs +139 -0
  320. package/dist/blocks/e-commerce/reviews/review-card.mjs.map +1 -0
  321. package/dist/blocks/e-commerce/reviews/review-composer.d.ts +50 -0
  322. package/dist/blocks/e-commerce/reviews/review-composer.d.ts.map +1 -0
  323. package/dist/blocks/e-commerce/reviews/review-composer.js +180 -0
  324. package/dist/blocks/e-commerce/reviews/review-composer.js.map +1 -0
  325. package/dist/blocks/e-commerce/reviews/review-composer.mjs +155 -0
  326. package/dist/blocks/e-commerce/reviews/review-composer.mjs.map +1 -0
  327. package/dist/blocks/e-commerce/reviews/review-list.d.ts +40 -0
  328. package/dist/blocks/e-commerce/reviews/review-list.d.ts.map +1 -0
  329. package/dist/blocks/e-commerce/reviews/review-list.js +138 -0
  330. package/dist/blocks/e-commerce/reviews/review-list.js.map +1 -0
  331. package/dist/blocks/e-commerce/reviews/review-list.mjs +119 -0
  332. package/dist/blocks/e-commerce/reviews/review-list.mjs.map +1 -0
  333. package/dist/blocks/e-commerce/reviews/review-summary.d.ts +49 -0
  334. package/dist/blocks/e-commerce/reviews/review-summary.d.ts.map +1 -0
  335. package/dist/blocks/e-commerce/reviews/review-summary.js +150 -0
  336. package/dist/blocks/e-commerce/reviews/review-summary.js.map +1 -0
  337. package/dist/blocks/e-commerce/reviews/review-summary.mjs +124 -0
  338. package/dist/blocks/e-commerce/reviews/review-summary.mjs.map +1 -0
  339. package/dist/blocks/e-commerce/shopping-carts/shopping-cart.d.ts +98 -0
  340. package/dist/blocks/e-commerce/shopping-carts/shopping-cart.d.ts.map +1 -0
  341. package/dist/blocks/e-commerce/shopping-carts/shopping-cart.js +417 -0
  342. package/dist/blocks/e-commerce/shopping-carts/shopping-cart.js.map +1 -0
  343. package/dist/blocks/e-commerce/shopping-carts/shopping-cart.mjs +393 -0
  344. package/dist/blocks/e-commerce/shopping-carts/shopping-cart.mjs.map +1 -0
  345. package/dist/blocks/e-commerce/store-containers/store-container-1.d.ts +13 -0
  346. package/dist/blocks/e-commerce/store-containers/store-container-1.d.ts.map +1 -0
  347. package/dist/blocks/e-commerce/store-containers/store-container-1.js +45 -0
  348. package/dist/blocks/e-commerce/store-containers/store-container-1.js.map +1 -0
  349. package/dist/blocks/e-commerce/store-containers/store-container-1.mjs +21 -0
  350. package/dist/blocks/e-commerce/store-containers/store-container-1.mjs.map +1 -0
  351. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.d.ts +163 -0
  352. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.d.ts.map +1 -0
  353. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.js +810 -0
  354. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.js.map +1 -0
  355. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.mjs +786 -0
  356. package/dist/blocks/e-commerce/storefront-hero/storefront-hero.mjs.map +1 -0
  357. package/dist/blocks/marketing/banners/avatar-group.d.ts +8 -0
  358. package/dist/blocks/marketing/banners/avatar-group.d.ts.map +1 -0
  359. package/dist/blocks/marketing/banners/avatar-group.js +90 -0
  360. package/dist/blocks/marketing/banners/avatar-group.js.map +1 -0
  361. package/dist/blocks/marketing/banners/avatar-group.mjs +56 -0
  362. package/dist/blocks/marketing/banners/avatar-group.mjs.map +1 -0
  363. package/dist/blocks/marketing/banners/banner-1.d.ts +26 -0
  364. package/dist/blocks/marketing/banners/banner-1.d.ts.map +1 -0
  365. package/dist/blocks/marketing/banners/banner-1.js +177 -0
  366. package/dist/blocks/marketing/banners/banner-1.js.map +1 -0
  367. package/dist/blocks/marketing/banners/banner-1.mjs +153 -0
  368. package/dist/blocks/marketing/banners/banner-1.mjs.map +1 -0
  369. package/dist/blocks/marketing/cta/cta-section-1.d.ts +13 -0
  370. package/dist/blocks/marketing/cta/cta-section-1.d.ts.map +1 -0
  371. package/dist/blocks/marketing/cta/cta-section-1.js +116 -0
  372. package/dist/blocks/marketing/cta/cta-section-1.js.map +1 -0
  373. package/dist/blocks/marketing/cta/cta-section-1.mjs +92 -0
  374. package/dist/blocks/marketing/cta/cta-section-1.mjs.map +1 -0
  375. package/dist/blocks/marketing/faq/faq-block-1.d.ts +16 -0
  376. package/dist/blocks/marketing/faq/faq-block-1.d.ts.map +1 -0
  377. package/dist/blocks/marketing/faq/faq-block-1.js +49 -0
  378. package/dist/blocks/marketing/faq/faq-block-1.js.map +1 -0
  379. package/dist/blocks/marketing/faq/faq-block-1.mjs +25 -0
  380. package/dist/blocks/marketing/faq/faq-block-1.mjs.map +1 -0
  381. package/dist/blocks/marketing/features/feature.d.ts +45 -0
  382. package/dist/blocks/marketing/features/feature.d.ts.map +1 -0
  383. package/dist/blocks/marketing/features/feature.js +135 -0
  384. package/dist/blocks/marketing/features/feature.js.map +1 -0
  385. package/dist/blocks/marketing/features/feature.mjs +111 -0
  386. package/dist/blocks/marketing/features/feature.mjs.map +1 -0
  387. package/dist/blocks/marketing/footers/footer-section.d.ts +59 -0
  388. package/dist/blocks/marketing/footers/footer-section.d.ts.map +1 -0
  389. package/dist/blocks/marketing/footers/footer-section.js +356 -0
  390. package/dist/blocks/marketing/footers/footer-section.js.map +1 -0
  391. package/dist/blocks/marketing/footers/footer-section.mjs +332 -0
  392. package/dist/blocks/marketing/footers/footer-section.mjs.map +1 -0
  393. package/dist/blocks/marketing/hero-sections/avatar-group.d.ts +9 -0
  394. package/dist/blocks/marketing/hero-sections/avatar-group.d.ts.map +1 -0
  395. package/dist/blocks/marketing/hero-sections/avatar-group.js +92 -0
  396. package/dist/blocks/marketing/hero-sections/avatar-group.js.map +1 -0
  397. package/dist/blocks/marketing/hero-sections/avatar-group.mjs +58 -0
  398. package/dist/blocks/marketing/hero-sections/avatar-group.mjs.map +1 -0
  399. package/dist/blocks/marketing/hero-sections/hero-section-1.d.ts +27 -0
  400. package/dist/blocks/marketing/hero-sections/hero-section-1.d.ts.map +1 -0
  401. package/dist/blocks/marketing/hero-sections/hero-section-1.js +124 -0
  402. package/dist/blocks/marketing/hero-sections/hero-section-1.js.map +1 -0
  403. package/dist/blocks/marketing/hero-sections/hero-section-1.mjs +100 -0
  404. package/dist/blocks/marketing/hero-sections/hero-section-1.mjs.map +1 -0
  405. package/dist/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.d.ts +19 -0
  406. package/dist/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.d.ts.map +1 -0
  407. package/dist/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.js +63 -0
  408. package/dist/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.js.map +1 -0
  409. package/dist/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.mjs +39 -0
  410. package/dist/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.mjs.map +1 -0
  411. package/dist/blocks/marketing/logo-clouds/logo-cloud-1.d.ts +13 -0
  412. package/dist/blocks/marketing/logo-clouds/logo-cloud-1.d.ts.map +1 -0
  413. package/dist/blocks/marketing/logo-clouds/logo-cloud-1.js +49 -0
  414. package/dist/blocks/marketing/logo-clouds/logo-cloud-1.js.map +1 -0
  415. package/dist/blocks/marketing/logo-clouds/logo-cloud-1.mjs +25 -0
  416. package/dist/blocks/marketing/logo-clouds/logo-cloud-1.mjs.map +1 -0
  417. package/dist/blocks/marketing/navbars/navbar.d.ts +80 -0
  418. package/dist/blocks/marketing/navbars/navbar.d.ts.map +1 -0
  419. package/dist/blocks/marketing/navbars/navbar.js +484 -0
  420. package/dist/blocks/marketing/navbars/navbar.js.map +1 -0
  421. package/dist/blocks/marketing/navbars/navbar.mjs +475 -0
  422. package/dist/blocks/marketing/navbars/navbar.mjs.map +1 -0
  423. package/dist/blocks/marketing/pricing/pricing-section-1.d.ts +23 -0
  424. package/dist/blocks/marketing/pricing/pricing-section-1.d.ts.map +1 -0
  425. package/dist/blocks/marketing/pricing/pricing-section-1.js +89 -0
  426. package/dist/blocks/marketing/pricing/pricing-section-1.js.map +1 -0
  427. package/dist/blocks/marketing/pricing/pricing-section-1.mjs +65 -0
  428. package/dist/blocks/marketing/pricing/pricing-section-1.mjs.map +1 -0
  429. package/dist/blocks/marketing/statistics/statistic-1.d.ts +19 -0
  430. package/dist/blocks/marketing/statistics/statistic-1.d.ts.map +1 -0
  431. package/dist/blocks/marketing/statistics/statistic-1.js +83 -0
  432. package/dist/blocks/marketing/statistics/statistic-1.js.map +1 -0
  433. package/dist/blocks/marketing/statistics/statistic-1.mjs +59 -0
  434. package/dist/blocks/marketing/statistics/statistic-1.mjs.map +1 -0
  435. package/dist/blocks/marketing/testimonials/testimonial-section.d.ts +29 -0
  436. package/dist/blocks/marketing/testimonials/testimonial-section.d.ts.map +1 -0
  437. package/dist/blocks/marketing/testimonials/testimonial-section.js +173 -0
  438. package/dist/blocks/marketing/testimonials/testimonial-section.js.map +1 -0
  439. package/dist/blocks/marketing/testimonials/testimonial-section.mjs +155 -0
  440. package/dist/blocks/marketing/testimonials/testimonial-section.mjs.map +1 -0
  441. package/dist/blocks/shared/reaction-toggle.d.ts +14 -0
  442. package/dist/blocks/shared/reaction-toggle.d.ts.map +1 -0
  443. package/dist/blocks/shared/reaction-toggle.js +138 -0
  444. package/dist/blocks/shared/reaction-toggle.js.map +1 -0
  445. package/dist/blocks/shared/reaction-toggle.mjs +114 -0
  446. package/dist/blocks/shared/reaction-toggle.mjs.map +1 -0
  447. package/dist/hooks/use-mobile.d.ts +2 -0
  448. package/dist/hooks/use-mobile.d.ts.map +1 -0
  449. package/dist/hooks/use-mobile.js +53 -0
  450. package/dist/hooks/use-mobile.js.map +1 -0
  451. package/dist/hooks/use-mobile.mjs +19 -0
  452. package/dist/hooks/use-mobile.mjs.map +1 -0
  453. package/dist/index.d.ts +100 -0
  454. package/dist/index.d.ts.map +1 -0
  455. package/dist/index.js +339 -0
  456. package/dist/index.js.map +1 -0
  457. package/dist/index.mjs +238 -0
  458. package/dist/index.mjs.map +1 -0
  459. package/{src/lib/cart.ts → dist/lib/cart.d.ts} +2 -3
  460. package/dist/lib/cart.d.ts.map +1 -0
  461. package/dist/lib/cart.js +31 -0
  462. package/dist/lib/cart.js.map +1 -0
  463. package/dist/lib/cart.mjs +7 -0
  464. package/dist/lib/cart.mjs.map +1 -0
  465. package/dist/lib/contracts.d.ts +4008 -0
  466. package/dist/lib/contracts.d.ts.map +1 -0
  467. package/dist/lib/contracts.js +828 -0
  468. package/dist/lib/contracts.js.map +1 -0
  469. package/dist/lib/contracts.mjs +737 -0
  470. package/dist/lib/contracts.mjs.map +1 -0
  471. package/dist/lib/money.d.ts +28 -0
  472. package/dist/lib/money.d.ts.map +1 -0
  473. package/dist/lib/money.js +50 -0
  474. package/dist/lib/money.js.map +1 -0
  475. package/dist/lib/money.mjs +24 -0
  476. package/dist/lib/money.mjs.map +1 -0
  477. package/dist/lib/types/menu.d.ts +40 -0
  478. package/dist/lib/types/menu.d.ts.map +1 -0
  479. package/dist/lib/types/menu.js +50 -0
  480. package/dist/lib/types/menu.js.map +1 -0
  481. package/dist/lib/types/menu.mjs +25 -0
  482. package/dist/lib/types/menu.mjs.map +1 -0
  483. package/dist/lib/types.d.ts +5 -0
  484. package/dist/lib/types.d.ts.map +1 -0
  485. package/dist/lib/types.js +17 -0
  486. package/dist/lib/types.js.map +1 -0
  487. package/dist/lib/types.mjs +1 -0
  488. package/dist/lib/types.mjs.map +1 -0
  489. package/dist/lib/utils.d.ts +7 -0
  490. package/dist/lib/utils.d.ts.map +1 -0
  491. package/dist/lib/utils.js +33 -0
  492. package/dist/lib/utils.js.map +1 -0
  493. package/dist/lib/utils.mjs +9 -0
  494. package/dist/lib/utils.mjs.map +1 -0
  495. package/dist/ui/accordion.d.ts +8 -0
  496. package/dist/ui/accordion.d.ts.map +1 -0
  497. package/dist/ui/accordion.js +93 -0
  498. package/dist/ui/accordion.js.map +1 -0
  499. package/dist/ui/accordion.mjs +66 -0
  500. package/dist/ui/accordion.mjs.map +1 -0
  501. package/dist/ui/avatar.d.ts +12 -0
  502. package/dist/ui/avatar.d.ts.map +1 -0
  503. package/dist/ui/avatar.js +134 -0
  504. package/dist/ui/avatar.js.map +1 -0
  505. package/{src/ui/avatar.tsx → dist/ui/avatar.mjs} +67 -70
  506. package/dist/ui/avatar.mjs.map +1 -0
  507. package/dist/ui/badge.d.ts +10 -0
  508. package/dist/ui/badge.d.ts.map +1 -0
  509. package/dist/ui/badge.js +69 -0
  510. package/dist/ui/badge.js.map +1 -0
  511. package/dist/ui/badge.mjs +44 -0
  512. package/dist/ui/badge.mjs.map +1 -0
  513. package/dist/ui/breadcrumb.d.ts +12 -0
  514. package/dist/ui/breadcrumb.d.ts.map +1 -0
  515. package/dist/ui/breadcrumb.js +134 -0
  516. package/dist/ui/breadcrumb.js.map +1 -0
  517. package/dist/ui/breadcrumb.mjs +104 -0
  518. package/dist/ui/breadcrumb.mjs.map +1 -0
  519. package/dist/ui/button-group.d.ts +12 -0
  520. package/dist/ui/button-group.d.ts.map +1 -0
  521. package/dist/ui/button-group.js +104 -0
  522. package/dist/ui/button-group.js.map +1 -0
  523. package/dist/ui/button-group.mjs +77 -0
  524. package/dist/ui/button-group.mjs.map +1 -0
  525. package/dist/ui/button.d.ts +11 -0
  526. package/dist/ui/button.d.ts.map +1 -0
  527. package/dist/ui/button.js +82 -0
  528. package/dist/ui/button.js.map +1 -0
  529. package/dist/ui/button.mjs +57 -0
  530. package/dist/ui/button.mjs.map +1 -0
  531. package/dist/ui/card.d.ts +10 -0
  532. package/dist/ui/card.d.ts.map +1 -0
  533. package/dist/ui/card.js +121 -0
  534. package/dist/ui/card.js.map +1 -0
  535. package/dist/ui/card.mjs +91 -0
  536. package/dist/ui/card.mjs.map +1 -0
  537. package/dist/ui/carousel.d.ts +20 -0
  538. package/dist/ui/carousel.d.ts.map +1 -0
  539. package/dist/ui/carousel.js +238 -0
  540. package/dist/ui/carousel.js.map +1 -0
  541. package/dist/ui/carousel.mjs +200 -0
  542. package/dist/ui/carousel.mjs.map +1 -0
  543. package/dist/ui/dialog.d.ts +18 -0
  544. package/dist/ui/dialog.d.ts.map +1 -0
  545. package/dist/ui/dialog.js +181 -0
  546. package/dist/ui/dialog.js.map +1 -0
  547. package/dist/ui/dialog.mjs +148 -0
  548. package/dist/ui/dialog.mjs.map +1 -0
  549. package/dist/ui/drawer.d.ts +14 -0
  550. package/dist/ui/drawer.d.ts.map +1 -0
  551. package/dist/ui/drawer.js +163 -0
  552. package/dist/ui/drawer.js.map +1 -0
  553. package/dist/ui/drawer.mjs +130 -0
  554. package/dist/ui/drawer.mjs.map +1 -0
  555. package/dist/ui/dropdown-menu.d.ts +26 -0
  556. package/dist/ui/dropdown-menu.d.ts.map +1 -0
  557. package/dist/ui/dropdown-menu.js +271 -0
  558. package/dist/ui/dropdown-menu.js.map +1 -0
  559. package/dist/ui/dropdown-menu.mjs +233 -0
  560. package/dist/ui/dropdown-menu.mjs.map +1 -0
  561. package/dist/ui/empty.d.ts +12 -0
  562. package/dist/ui/empty.d.ts.map +1 -0
  563. package/dist/ui/empty.js +132 -0
  564. package/dist/ui/empty.js.map +1 -0
  565. package/dist/ui/empty.mjs +103 -0
  566. package/dist/ui/empty.mjs.map +1 -0
  567. package/dist/ui/field.d.ts +25 -0
  568. package/dist/ui/field.d.ts.map +1 -0
  569. package/dist/ui/field.js +264 -0
  570. package/dist/ui/field.js.map +1 -0
  571. package/{src/ui/field.tsx → dist/ui/field.mjs} +142 -159
  572. package/dist/ui/field.mjs.map +1 -0
  573. package/dist/ui/input-group.d.ts +17 -0
  574. package/dist/ui/input-group.d.ts.map +1 -0
  575. package/dist/ui/input-group.js +185 -0
  576. package/dist/ui/input-group.js.map +1 -0
  577. package/{src/ui/input-group.tsx → dist/ui/input-group.mjs} +92 -106
  578. package/dist/ui/input-group.mjs.map +1 -0
  579. package/dist/ui/input-otp.d.ts +12 -0
  580. package/dist/ui/input-otp.d.ts.map +1 -0
  581. package/dist/ui/input-otp.js +105 -0
  582. package/dist/ui/input-otp.js.map +1 -0
  583. package/dist/ui/input-otp.mjs +68 -0
  584. package/dist/ui/input-otp.mjs.map +1 -0
  585. package/dist/ui/input.d.ts +4 -0
  586. package/dist/ui/input.d.ts.map +1 -0
  587. package/dist/ui/input.js +46 -0
  588. package/dist/ui/input.js.map +1 -0
  589. package/{src/ui/input.tsx → dist/ui/input.mjs} +17 -15
  590. package/dist/ui/input.mjs.map +1 -0
  591. package/dist/ui/label.d.ts +5 -0
  592. package/dist/ui/label.d.ts.map +1 -0
  593. package/dist/ui/label.js +48 -0
  594. package/dist/ui/label.js.map +1 -0
  595. package/dist/ui/label.mjs +24 -0
  596. package/dist/ui/label.mjs.map +1 -0
  597. package/dist/ui/navigation-menu.d.ts +15 -0
  598. package/dist/ui/navigation-menu.d.ts.map +1 -0
  599. package/dist/ui/navigation-menu.js +203 -0
  600. package/dist/ui/navigation-menu.js.map +1 -0
  601. package/{src/ui/navigation-menu.tsx → dist/ui/navigation-menu.mjs} +116 -112
  602. package/dist/ui/navigation-menu.mjs.map +1 -0
  603. package/dist/ui/pagination.d.ts +14 -0
  604. package/dist/ui/pagination.d.ts.map +1 -0
  605. package/dist/ui/pagination.js +149 -0
  606. package/dist/ui/pagination.js.map +1 -0
  607. package/dist/ui/pagination.mjs +123 -0
  608. package/dist/ui/pagination.mjs.map +1 -0
  609. package/dist/ui/progress.d.ts +5 -0
  610. package/dist/ui/progress.d.ts.map +1 -0
  611. package/dist/ui/progress.js +57 -0
  612. package/dist/ui/progress.js.map +1 -0
  613. package/dist/ui/progress.mjs +33 -0
  614. package/dist/ui/progress.mjs.map +1 -0
  615. package/dist/ui/radio-group.d.ts +6 -0
  616. package/dist/ui/radio-group.d.ts.map +1 -0
  617. package/dist/ui/radio-group.js +72 -0
  618. package/dist/ui/radio-group.js.map +1 -0
  619. package/dist/ui/radio-group.mjs +47 -0
  620. package/dist/ui/radio-group.mjs.map +1 -0
  621. package/dist/ui/select.d.ts +16 -0
  622. package/dist/ui/select.d.ts.map +1 -0
  623. package/dist/ui/select.js +213 -0
  624. package/dist/ui/select.js.map +1 -0
  625. package/dist/ui/select.mjs +180 -0
  626. package/dist/ui/select.mjs.map +1 -0
  627. package/dist/ui/separator.d.ts +5 -0
  628. package/dist/ui/separator.d.ts.map +1 -0
  629. package/dist/ui/separator.js +52 -0
  630. package/dist/ui/separator.js.map +1 -0
  631. package/dist/ui/separator.mjs +28 -0
  632. package/dist/ui/separator.mjs.map +1 -0
  633. package/dist/ui/sheet.d.ts +15 -0
  634. package/dist/ui/sheet.d.ts.map +1 -0
  635. package/dist/ui/sheet.js +160 -0
  636. package/dist/ui/sheet.js.map +1 -0
  637. package/dist/ui/sheet.mjs +129 -0
  638. package/dist/ui/sheet.mjs.map +1 -0
  639. package/dist/ui/sidebar.d.ts +70 -0
  640. package/dist/ui/sidebar.d.ts.map +1 -0
  641. package/dist/ui/sidebar.js +697 -0
  642. package/dist/ui/sidebar.js.map +1 -0
  643. package/dist/ui/sidebar.mjs +651 -0
  644. package/dist/ui/sidebar.mjs.map +1 -0
  645. package/dist/ui/skeleton.d.ts +3 -0
  646. package/dist/ui/skeleton.d.ts.map +1 -0
  647. package/dist/ui/skeleton.js +40 -0
  648. package/dist/ui/skeleton.js.map +1 -0
  649. package/dist/ui/skeleton.mjs +16 -0
  650. package/dist/ui/skeleton.mjs.map +1 -0
  651. package/dist/ui/table.d.ts +11 -0
  652. package/dist/ui/table.d.ts.map +1 -0
  653. package/dist/ui/table.js +147 -0
  654. package/dist/ui/table.js.map +1 -0
  655. package/dist/ui/table.mjs +116 -0
  656. package/dist/ui/table.mjs.map +1 -0
  657. package/dist/ui/tabs.d.ts +12 -0
  658. package/dist/ui/tabs.d.ts.map +1 -0
  659. package/dist/ui/tabs.js +121 -0
  660. package/dist/ui/tabs.js.map +1 -0
  661. package/{src/ui/tabs.tsx → dist/ui/tabs.mjs} +59 -56
  662. package/dist/ui/tabs.mjs.map +1 -0
  663. package/dist/ui/textarea.d.ts +4 -0
  664. package/dist/ui/textarea.d.ts.map +1 -0
  665. package/dist/ui/textarea.js +43 -0
  666. package/dist/ui/textarea.js.map +1 -0
  667. package/{src/ui/textarea.tsx → dist/ui/textarea.mjs} +16 -14
  668. package/dist/ui/textarea.mjs.map +1 -0
  669. package/dist/ui/toggle-group.d.ts +10 -0
  670. package/dist/ui/toggle-group.d.ts.map +1 -0
  671. package/dist/ui/toggle-group.js +105 -0
  672. package/dist/ui/toggle-group.js.map +1 -0
  673. package/dist/ui/toggle-group.mjs +70 -0
  674. package/dist/ui/toggle-group.mjs.map +1 -0
  675. package/dist/ui/toggle.d.ts +10 -0
  676. package/dist/ui/toggle.d.ts.map +1 -0
  677. package/dist/ui/toggle.js +70 -0
  678. package/dist/ui/toggle.js.map +1 -0
  679. package/{src/ui/toggle.tsx → dist/ui/toggle.mjs} +25 -26
  680. package/dist/ui/toggle.mjs.map +1 -0
  681. package/dist/ui/tooltip.d.ts +8 -0
  682. package/dist/ui/tooltip.d.ts.map +1 -0
  683. package/dist/ui/tooltip.js +84 -0
  684. package/dist/ui/tooltip.js.map +1 -0
  685. package/dist/ui/tooltip.mjs +57 -0
  686. package/dist/ui/tooltip.mjs.map +1 -0
  687. package/package.json +8 -1
  688. package/AGENTS.md +0 -1
  689. package/CHANGELOG.md +0 -107
  690. package/components.json +0 -33
  691. package/docs/standards/data-contracts.md +0 -81
  692. package/docs/standards/theming.md +0 -112
  693. package/scripts/fix-esm-extensions.mjs +0 -40
  694. package/src/blocks/application/app-shells/app-shell-1-sidebar.tsx +0 -198
  695. package/src/blocks/application/app-shells/app-shell-1.tsx +0 -196
  696. package/src/blocks/application/login-forms/login-page-1.tsx +0 -246
  697. package/src/blocks/application/login-forms/login-page-2.tsx +0 -207
  698. package/src/blocks/application/password-recovery/forgot-password-page-1-brand-mark.tsx +0 -38
  699. package/src/blocks/application/password-recovery/forgot-password-page-1.tsx +0 -320
  700. package/src/blocks/application/signup-forms/signup-page-1.tsx +0 -231
  701. package/src/blocks/application/verification/verify-1.tsx +0 -307
  702. package/src/blocks/application/verification/verify-confetti.tsx +0 -192
  703. package/src/blocks/e-commerce/category-filters/category-filter-1.tsx +0 -260
  704. package/src/blocks/e-commerce/category-filters/category-filter-2-filter-panel.tsx +0 -222
  705. package/src/blocks/e-commerce/category-filters/category-filter-2.test.tsx +0 -513
  706. package/src/blocks/e-commerce/category-filters/category-filter-2.tsx +0 -921
  707. package/src/blocks/e-commerce/category-filters/category-filter-4-chip-rail.tsx +0 -57
  708. package/src/blocks/e-commerce/category-filters/category-filter-4-drawer.tsx +0 -124
  709. package/src/blocks/e-commerce/category-filters/category-filter-4-fields.tsx +0 -170
  710. package/src/blocks/e-commerce/category-filters/category-filter-4-sidebar.tsx +0 -52
  711. package/src/blocks/e-commerce/category-filters/category-filter-4-sort-sheet.tsx +0 -57
  712. package/src/blocks/e-commerce/category-filters/category-filter-4-state.ts +0 -68
  713. package/src/blocks/e-commerce/category-filters/category-filter-4.tsx +0 -298
  714. package/src/blocks/e-commerce/checkout-forms/card-formatting.test.ts +0 -47
  715. package/src/blocks/e-commerce/checkout-forms/card-formatting.ts +0 -9
  716. package/src/blocks/e-commerce/checkout-forms/checkbox-check.tsx +0 -74
  717. package/src/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.tsx +0 -195
  718. package/src/blocks/e-commerce/checkout-forms/checkout-confirmation.test.tsx +0 -136
  719. package/src/blocks/e-commerce/checkout-forms/checkout-confirmation.tsx +0 -329
  720. package/src/blocks/e-commerce/checkout-forms/checkout-field-feedback.tsx +0 -29
  721. package/src/blocks/e-commerce/checkout-forms/checkout-form-1-contact-step.tsx +0 -96
  722. package/src/blocks/e-commerce/checkout-forms/checkout-form-1-country-field.tsx +0 -51
  723. package/src/blocks/e-commerce/checkout-forms/checkout-form-1-order-summary.tsx +0 -252
  724. package/src/blocks/e-commerce/checkout-forms/checkout-form-1-payment-step.tsx +0 -188
  725. package/src/blocks/e-commerce/checkout-forms/checkout-form-1-progress.tsx +0 -36
  726. package/src/blocks/e-commerce/checkout-forms/checkout-form-1-shipping-step.tsx +0 -156
  727. package/src/blocks/e-commerce/checkout-forms/checkout-form-1.test.tsx +0 -216
  728. package/src/blocks/e-commerce/checkout-forms/checkout-form-1.tsx +0 -338
  729. package/src/blocks/e-commerce/checkout-forms/checkout-form-2-order-summary.tsx +0 -130
  730. package/src/blocks/e-commerce/checkout-forms/checkout-form-2-payment-card.tsx +0 -175
  731. package/src/blocks/e-commerce/checkout-forms/checkout-form-2-shipping-card.tsx +0 -190
  732. package/src/blocks/e-commerce/checkout-forms/checkout-form-2.tsx +0 -312
  733. package/src/blocks/e-commerce/checkout-forms/checkout-form-3-information-step.tsx +0 -91
  734. package/src/blocks/e-commerce/checkout-forms/checkout-form-3-order-summary.tsx +0 -110
  735. package/src/blocks/e-commerce/checkout-forms/checkout-form-3-payment-step.tsx +0 -137
  736. package/src/blocks/e-commerce/checkout-forms/checkout-form-3-progress.tsx +0 -68
  737. package/src/blocks/e-commerce/checkout-forms/checkout-form-3-review-step.tsx +0 -79
  738. package/src/blocks/e-commerce/checkout-forms/checkout-form-3-shipping-step.tsx +0 -172
  739. package/src/blocks/e-commerce/checkout-forms/checkout-form-3.tsx +0 -392
  740. package/src/blocks/e-commerce/checkout-forms/checkout-form-types.ts +0 -7
  741. package/src/blocks/e-commerce/navigation/back-to-top.test.tsx +0 -27
  742. package/src/blocks/e-commerce/navigation/back-to-top.tsx +0 -71
  743. package/src/blocks/e-commerce/navigation/breadcrumb.test.tsx +0 -174
  744. package/src/blocks/e-commerce/navigation/breadcrumb.tsx +0 -130
  745. package/src/blocks/e-commerce/navigation/category-icon.test.tsx +0 -54
  746. package/src/blocks/e-commerce/navigation/category-icon.tsx +0 -94
  747. package/src/blocks/e-commerce/navigation/mega-menu.test.tsx +0 -139
  748. package/src/blocks/e-commerce/navigation/mega-menu.tsx +0 -271
  749. package/src/blocks/e-commerce/navigation/mobile-bottom-nav.test.tsx +0 -74
  750. package/src/blocks/e-commerce/navigation/mobile-bottom-nav.tsx +0 -78
  751. package/src/blocks/e-commerce/navigation/mobile-category-drawer.test.tsx +0 -192
  752. package/src/blocks/e-commerce/navigation/mobile-category-drawer.tsx +0 -278
  753. package/src/blocks/e-commerce/navigation/skip-to-content.test.tsx +0 -35
  754. package/src/blocks/e-commerce/navigation/skip-to-content.tsx +0 -37
  755. package/src/blocks/e-commerce/order-history/order-history-1.tsx +0 -159
  756. package/src/blocks/e-commerce/order-history/order-history-2.tsx +0 -222
  757. package/src/blocks/e-commerce/product-categories/category-card-grid.test.tsx +0 -122
  758. package/src/blocks/e-commerce/product-categories/category-card.test.tsx +0 -68
  759. package/src/blocks/e-commerce/product-categories/category-card.tsx +0 -172
  760. package/src/blocks/e-commerce/product-categories/category-grid.test.tsx +0 -67
  761. package/src/blocks/e-commerce/product-categories/category-shared.tsx +0 -109
  762. package/src/blocks/e-commerce/product-categories/product-category-grid.tsx +0 -170
  763. package/src/blocks/e-commerce/product-categories/product-category.test.tsx +0 -266
  764. package/src/blocks/e-commerce/product-categories/product-category.tsx +0 -462
  765. package/src/blocks/e-commerce/product-list/product-card.test.tsx +0 -263
  766. package/src/blocks/e-commerce/product-list/product-card.tsx +0 -424
  767. package/src/blocks/e-commerce/product-list/product-grid.test.tsx +0 -162
  768. package/src/blocks/e-commerce/product-list/product-grid.tsx +0 -114
  769. package/src/blocks/e-commerce/product-list/product-showcase-1.test.tsx +0 -78
  770. package/src/blocks/e-commerce/product-list/product-showcase-1.tsx +0 -277
  771. package/src/blocks/e-commerce/product-overview/product-overview-gallery.tsx +0 -71
  772. package/src/blocks/e-commerce/product-overview/product-overview-lightbox-tab.tsx +0 -116
  773. package/src/blocks/e-commerce/product-overview/product-overview-reviews-tab.tsx +0 -105
  774. package/src/blocks/e-commerce/product-overview/product-overview-tabs.tsx +0 -70
  775. package/src/blocks/e-commerce/product-overview/product-overview.test.tsx +0 -283
  776. package/src/blocks/e-commerce/product-overview/product-overview.tsx +0 -1186
  777. package/src/blocks/e-commerce/product-overview/product-quick-view-card.tsx +0 -135
  778. package/src/blocks/e-commerce/product-overview/product-quick-view-dialog.tsx +0 -393
  779. package/src/blocks/e-commerce/product-overview/product-quick-view.tsx +0 -136
  780. package/src/blocks/e-commerce/reviews/review-rating-1-review-form.tsx +0 -133
  781. package/src/blocks/e-commerce/reviews/review-rating-1.tsx +0 -178
  782. package/src/blocks/e-commerce/reviews/review-rating-2.tsx +0 -245
  783. package/src/blocks/e-commerce/shopping-carts/shopping-cart.test.tsx +0 -399
  784. package/src/blocks/e-commerce/shopping-carts/shopping-cart.tsx +0 -628
  785. package/src/blocks/e-commerce/store-containers/store-container-1.tsx +0 -29
  786. package/src/blocks/e-commerce/storefront-hero/storefront-hero.test.tsx +0 -412
  787. package/src/blocks/e-commerce/storefront-hero/storefront-hero.tsx +0 -1283
  788. package/src/blocks/marketing/banners/avatar-group.tsx +0 -69
  789. package/src/blocks/marketing/banners/banner-1.tsx +0 -188
  790. package/src/blocks/marketing/cta/cta-section-1.tsx +0 -112
  791. package/src/blocks/marketing/faq/faq-block-1.tsx +0 -45
  792. package/src/blocks/marketing/features/feature.test.tsx +0 -153
  793. package/src/blocks/marketing/features/feature.tsx +0 -195
  794. package/src/blocks/marketing/footers/footer-section-1.test.tsx +0 -117
  795. package/src/blocks/marketing/footers/footer-section-1.tsx +0 -178
  796. package/src/blocks/marketing/footers/footer-section-3.tsx +0 -192
  797. package/src/blocks/marketing/footers/footer-section-4.tsx +0 -355
  798. package/src/blocks/marketing/hero-sections/avatar-group.tsx +0 -86
  799. package/src/blocks/marketing/hero-sections/hero-section-1.tsx +0 -135
  800. package/src/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.tsx +0 -52
  801. package/src/blocks/marketing/logo-clouds/logo-cloud-1.tsx +0 -56
  802. package/src/blocks/marketing/navbars/navbar-1.tsx +0 -267
  803. package/src/blocks/marketing/navbars/navbar-2.tsx +0 -351
  804. package/src/blocks/marketing/navbars/navbar-3.tsx +0 -303
  805. package/src/blocks/marketing/navbars/navbar-4-account-menu.test.tsx +0 -56
  806. package/src/blocks/marketing/navbars/navbar-4-account-menu.tsx +0 -134
  807. package/src/blocks/marketing/navbars/navbar-4-cart-sheet.test.tsx +0 -204
  808. package/src/blocks/marketing/navbars/navbar-4-cart-sheet.tsx +0 -371
  809. package/src/blocks/marketing/navbars/navbar-4-like-button.tsx +0 -177
  810. package/src/blocks/marketing/navbars/navbar-4-mobile-nav.tsx +0 -104
  811. package/src/blocks/marketing/navbars/navbar-4-product-grid.tsx +0 -219
  812. package/src/blocks/marketing/navbars/navbar-4-search-bar.tsx +0 -52
  813. package/src/blocks/marketing/navbars/navbar-4.test.tsx +0 -264
  814. package/src/blocks/marketing/navbars/navbar-4.tsx +0 -604
  815. package/src/blocks/marketing/pricing/pricing-section-1.tsx +0 -94
  816. package/src/blocks/marketing/statistics/statistic-1.tsx +0 -93
  817. package/src/blocks/marketing/testimonials/testimonial-1.tsx +0 -141
  818. package/src/blocks/marketing/testimonials/testimonial-2.tsx +0 -108
  819. package/src/blocks/shared/reaction-toggle.tsx +0 -145
  820. package/src/hooks/use-mobile.ts +0 -19
  821. package/src/index.ts +0 -285
  822. package/src/lib/cart.test.ts +0 -15
  823. package/src/lib/contracts-curated.test.ts +0 -225
  824. package/src/lib/contracts-server-boundary.test.ts +0 -52
  825. package/src/lib/contracts.test.ts +0 -173
  826. package/src/lib/contracts.ts +0 -795
  827. package/src/lib/money.test.ts +0 -64
  828. package/src/lib/money.ts +0 -65
  829. package/src/lib/types/menu.ts +0 -43
  830. package/src/lib/types.ts +0 -4
  831. package/src/lib/utils.ts +0 -10
  832. package/src/ui/accordion.tsx +0 -65
  833. package/src/ui/badge.tsx +0 -47
  834. package/src/ui/breadcrumb.tsx +0 -108
  835. package/src/ui/button-group.tsx +0 -83
  836. package/src/ui/button.tsx +0 -63
  837. package/src/ui/card.tsx +0 -91
  838. package/src/ui/carousel.tsx +0 -241
  839. package/src/ui/dialog.tsx +0 -158
  840. package/src/ui/drawer.tsx +0 -134
  841. package/src/ui/dropdown-menu.tsx +0 -256
  842. package/src/ui/empty.tsx +0 -103
  843. package/src/ui/input-otp.tsx +0 -76
  844. package/src/ui/label.tsx +0 -23
  845. package/src/ui/pagination.tsx +0 -127
  846. package/src/ui/progress.tsx +0 -30
  847. package/src/ui/radio-group.tsx +0 -44
  848. package/src/ui/select.tsx +0 -189
  849. package/src/ui/separator.tsx +0 -27
  850. package/src/ui/sheet.tsx +0 -142
  851. package/src/ui/sidebar.tsx +0 -726
  852. package/src/ui/skeleton.tsx +0 -13
  853. package/src/ui/table.tsx +0 -115
  854. package/src/ui/toggle-group.tsx +0 -83
  855. package/src/ui/tooltip.tsx +0 -56
  856. package/tsconfig.build.json +0 -12
  857. package/tsconfig.json +0 -20
  858. package/tsup.config.ts +0 -19
  859. package/vitest.config.ts +0 -17
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.tsx"],"sourcesContent":["'use client'\n\nimport { useState } from 'react'\nimport { Check, Clock, MapPin, Truck } from 'lucide-react'\nimport { Button } from '../../../ui/button'\nimport { Card, CardContent, CardHeader, CardTitle } from '../../../ui/card'\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from '../../../ui/tabs'\nimport { cn } from '../../../lib/utils'\nimport type { FulfilmentStage, FulfilmentStageDetail } from './checkout-confirmation'\n\nconst longDate = new Intl.DateTimeFormat('en-US', { dateStyle: 'long' })\nconst stampDate = new Intl.DateTimeFormat('en-US', {\n dateStyle: 'medium',\n timeStyle: 'short',\n})\n\nconst STAGE_LABELS: Record<FulfilmentStage, string> = {\n Confirmed: 'Confirmado',\n Packed: 'Empaquetado',\n Shipped: 'Enviado',\n Delivered: 'Entregado',\n}\n\ninterface CheckoutConfirmationFulfilmentProgressProps {\n order: {\n currentStage?: FulfilmentStage\n estimatedDelivery?: string | null\n trackingHref?: string\n }\n /** Ordered by `Object.keys(fulfilmentDetails)` from the orchestrator. */\n stages: FulfilmentStageDetail[]\n progressLabel?: string\n estimatedDeliveryLabel?: string\n currentStageLabel?: string\n inProgressLabel?: string\n expectedByLabel?: string\n completedLabel?: string\n statusLabel?: string\n locationLabel?: string\n trackOrderLabel?: string\n /** Kept for API symmetry with the orchestrator; the fulfilment card renders no prices. */\n formatPrice?: (value: number) => string\n}\n\n/**\n * The four fulfilment stages, as tabs that actually open.\n *\n * This was a static `<ol>` that looked exactly like a tab strip — four labels with an underline\n * under each — and did nothing when pressed. A control that looks pressable and is not is worse\n * than no control: the reader tries it, nothing happens, and they conclude the page is broken\n * rather than that the row was decoration.\n *\n * So it is a real `Tabs`, and each stage opens the one thing a reader on this screen wants that\n * the label alone cannot give them: when it happened, where, and what it means. Radix Tabs\n * supplies roving focus, arrow-key movement and the tab/panel wiring; a row of buttons with a\n * `useState` would have to fake all three.\n *\n * Every stage is reachable, including ones still ahead — a reader is entitled to look at what\n * \"Delivered\" will mean before it happens. What a future stage does not get is a fabricated\n * timestamp; it says what it is waiting for instead.\n */\nexport function CheckoutConfirmationFulfilmentProgress({\n order,\n stages,\n progressLabel = 'Progreso',\n estimatedDeliveryLabel = 'Entrega estimada',\n currentStageLabel = 'Etapa actual',\n inProgressLabel = 'En curso',\n expectedByLabel = 'Se espera para',\n completedLabel = 'Completada',\n statusLabel = 'Estado',\n locationLabel = 'Ubicación',\n trackOrderLabel = 'Seguir este pedido',\n}: CheckoutConfirmationFulfilmentProgressProps) {\n const currentIndex = order.currentStage\n ? stages.findIndex(stage => stage.stage === order.currentStage)\n : -1\n const [selected, setSelected] = useState<string>(order.currentStage ?? stages[0]?.stage ?? '')\n\n return (\n <Card className='mt-10'>\n <CardHeader>\n <CardTitle className='flex flex-wrap items-center justify-between gap-2 text-base'>\n {progressLabel}\n {order.estimatedDelivery ? (\n <span className='text-muted-foreground text-sm font-normal'>\n {`${estimatedDeliveryLabel} ${longDate.format(new Date(order.estimatedDelivery))}`}\n </span>\n ) : null}\n </CardTitle>\n </CardHeader>\n\n <CardContent>\n <Tabs value={selected} onValueChange={value => setSelected(String(value))}>\n {/*\n `variant='line'` because these are stages along a route, not a segmented control —\n the underline reads as progress in a way a filled pill does not.\n\n `h-auto!` because `TabsList` pins itself to `h-8` through a\n `group-data-horizontal/tabs:` variant, which a plain `h-auto` cannot outrank and\n tailwind-merge does not treat as the same utility. Left alone it clipped the 24px\n stage markers. The list scrolls rather than wrapping on a narrow screen, so the four\n stages stay in one order.\n\n `pb-2` is load-bearing, not spacing. `TabsTrigger` draws its active underline at\n `bottom-[-5px]`, i.e. outside its own box, and CSS forces an axis to `auto` when the\n other one is not `visible` — so asking for `overflow-x-auto` silently made the\n vertical axis scrollable too, and those 7px of underline became a stray vertical\n scrollbar beside the tabs at every width. The padding puts the underline back inside\n the box, which leaves nothing to scroll.\n */}\n <TabsList variant='line' className='h-auto! w-full justify-start gap-2 overflow-x-auto p-0 pb-2'>\n {stages.map((stage, index) => {\n const done = index <= currentIndex\n\n return (\n <TabsTrigger key={stage.stage} value={stage.stage} className='h-auto flex-1 justify-start gap-2 px-1 py-2'>\n <span\n aria-hidden='true'\n className={cn(\n 'flex size-6 shrink-0 items-center justify-center rounded-full text-xs',\n done ? 'bg-primary text-primary-foreground' : 'bg-muted text-muted-foreground'\n )}\n >\n {done ? <Check className='size-3.5' /> : index + 1}\n </span>\n {STAGE_LABELS[stage.stage]}\n {/*\n The stage the order is actually at, marked on the strip itself. Without it\n the only sign of \"where we are\" would be whichever tab happens to be open,\n which changes the moment the reader looks at another one.\n */}\n {index === currentIndex ? <span className='sr-only'>{currentStageLabel}</span> : null}\n {index === currentIndex ? (\n <span aria-hidden='true' className='bg-primary size-1.5 shrink-0 rounded-full' />\n ) : null}\n </TabsTrigger>\n )\n })}\n </TabsList>\n\n {stages.map((detail, index) => {\n const done = index <= currentIndex\n\n return (\n <TabsContent key={detail.stage} value={detail.stage} className='pt-4'>\n {index === currentIndex ? (\n <p className='text-primary mb-2 text-xs font-medium tracking-[0.12em] uppercase'>\n {currentStageLabel}\n </p>\n ) : null}\n <p className='text-sm'>{detail.summary}</p>\n\n <dl className='text-muted-foreground mt-3 flex flex-col gap-1.5 text-sm sm:flex-row sm:gap-6'>\n <div className='flex items-center gap-2'>\n <dt className='sr-only'>{detail.at ? completedLabel : statusLabel}</dt>\n <Clock className='size-4 shrink-0' aria-hidden='true' />\n <dd className='tabular-nums'>\n {detail.at\n ? stampDate.format(new Date(detail.at))\n : done\n ? inProgressLabel\n : order.estimatedDelivery\n ? `${expectedByLabel} ${longDate.format(new Date(order.estimatedDelivery))}`\n : null}\n </dd>\n </div>\n\n <div className='flex items-center gap-2'>\n <dt className='sr-only'>{locationLabel}</dt>\n <MapPin className='size-4 shrink-0' aria-hidden='true' />\n <dd>{detail.location}</dd>\n </div>\n </dl>\n </TabsContent>\n )\n })}\n </Tabs>\n\n {/*\n Render as an anchor through Radix `asChild` when a real tracking URL exists; with no\n href the button is omitted rather than pointing at a fabricated destination.\n */}\n {order.trackingHref ? (\n <Button className='mt-6 w-full sm:w-auto' asChild>\n <a href={order.trackingHref}>\n <Truck />\n {trackOrderLabel}\n </a>\n </Button>\n ) : null}\n </CardContent>\n </Card>\n )\n}"],"mappings":"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","names":[]}
@@ -0,0 +1,107 @@
1
+ import type { Money } from '@thorprovider/types';
2
+ export type FulfilmentStage = 'Confirmed' | 'Packed' | 'Shipped' | 'Delivered';
3
+ export interface OrderLine {
4
+ id: string;
5
+ name: string;
6
+ variant?: string;
7
+ quantity: number;
8
+ /** Canonical backend line total. */
9
+ lineTotal: Money;
10
+ unitPrice?: Money;
11
+ /** Optional; an absent image is omitted rather than serialized as `""`. */
12
+ image?: string;
13
+ }
14
+ export interface FulfilmentStageDetail {
15
+ stage: FulfilmentStage;
16
+ /** What happened, in a sentence. Present tense for a stage that has not arrived yet. */
17
+ summary: string;
18
+ /** Where it happened, or where it will. */
19
+ location: string;
20
+ /**
21
+ * When it happened. `null` for a stage still ahead, which the panel renders as an
22
+ * expectation rather than as a fact — a date with no event behind it is a promise, and
23
+ * printing it in the same voice as a completed step is how a tracker starts lying.
24
+ */
25
+ at: string | null;
26
+ }
27
+ export interface OrderAddress {
28
+ name: string;
29
+ lines: string[];
30
+ method?: string;
31
+ }
32
+ export interface OrderTotals {
33
+ subtotal?: Money;
34
+ discount?: Money;
35
+ shipping?: Money;
36
+ tax?: Money;
37
+ total?: Money;
38
+ }
39
+ export interface Order {
40
+ number: string;
41
+ /** ISO date */
42
+ placedAt: string;
43
+ email?: string;
44
+ /** Present only when the backend reports a fulfilment stage. */
45
+ currentStage?: FulfilmentStage;
46
+ /** ISO date. Rendered only when supplied; no delivery estimate is fabricated. */
47
+ estimatedDelivery?: string | null;
48
+ trackingHref?: string;
49
+ shipping?: OrderAddress;
50
+ billing?: OrderAddress;
51
+ totals: OrderTotals;
52
+ }
53
+ export interface CheckoutConfirmationProps {
54
+ order: Order;
55
+ orderLines: OrderLine[];
56
+ /**
57
+ * Keyed by `FulfilmentStage`. Rendered only when supplied; the stage strip is
58
+ * ordered by `Object.keys`, so define the record in the canonical
59
+ * `Confirmed → Packed → Shipped → Delivered` order.
60
+ */
61
+ fulfilmentDetails?: Record<FulfilmentStage, FulfilmentStageDetail>;
62
+ /** Override money formatting (locale, currency). Defaults to `Money.currencyCode`. */
63
+ formatPrice?: (money: Money) => string;
64
+ titleLabel?: string;
65
+ /** Template with `{number}`/`{date}`/`{email}` placeholders, resolved internally. */
66
+ orderPlacedLabel?: string;
67
+ /** Used when the order carries no email. */
68
+ orderPlacedNoEmailLabel?: string;
69
+ itemsLabel?: string;
70
+ quantityLabel?: string;
71
+ subtotalLabel?: string;
72
+ discountLabel?: string;
73
+ shippingLabel?: string;
74
+ taxLabel?: string;
75
+ totalLabel?: string;
76
+ freeLabel?: string;
77
+ /** Shown for a line whose supplied line total is absent or malformed. */
78
+ amountUnavailableLabel?: string;
79
+ shippingAddressLabel?: string;
80
+ billingAddressLabel?: string;
81
+ continueShoppingLabel?: string;
82
+ /** Prefix of the support line; the `supportLabel` link renders right after it. */
83
+ contactSupportLabel?: string;
84
+ supportLabel?: string;
85
+ progressLabel?: string;
86
+ estimatedDeliveryLabel?: string;
87
+ currentStageLabel?: string;
88
+ inProgressLabel?: string;
89
+ expectedByLabel?: string;
90
+ completedLabel?: string;
91
+ statusLabel?: string;
92
+ locationLabel?: string;
93
+ trackOrderLabel?: string;
94
+ continueShoppingHref?: string;
95
+ supportHref?: string;
96
+ onContinueShopping?: () => void;
97
+ }
98
+ /**
99
+ * The screen that closes the purchase journey the checkout blocks open.
100
+ *
101
+ * This file has no hooks or handlers, so it still renders as a server component straight from
102
+ * your order record. Only the progress tabs are interactive, and they carry their own
103
+ * `'use client'` — the boundary is one child rather than the whole page.
104
+ */
105
+ export declare function CheckoutConfirmation({ order, orderLines, fulfilmentDetails, formatPrice, titleLabel, orderPlacedLabel, orderPlacedNoEmailLabel, itemsLabel, quantityLabel, subtotalLabel, discountLabel, shippingLabel, taxLabel, totalLabel, freeLabel, amountUnavailableLabel, shippingAddressLabel, billingAddressLabel, continueShoppingLabel, contactSupportLabel, supportLabel, progressLabel, estimatedDeliveryLabel, currentStageLabel, inProgressLabel, expectedByLabel, completedLabel, statusLabel, locationLabel, trackOrderLabel, continueShoppingHref, supportHref, onContinueShopping, }: CheckoutConfirmationProps): import("react").JSX.Element;
106
+ export default CheckoutConfirmation;
107
+ //# sourceMappingURL=checkout-confirmation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-confirmation.d.ts","sourceRoot":"","sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-confirmation.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+ var checkout_confirmation_exports = {};
20
+ __export(checkout_confirmation_exports, {
21
+ CheckoutConfirmation: () => CheckoutConfirmation,
22
+ default: () => checkout_confirmation_default
23
+ });
24
+ module.exports = __toCommonJS(checkout_confirmation_exports);
25
+ var import_jsx_runtime = require("react/jsx-runtime");
26
+ var import_lucide_react = require("lucide-react");
27
+ var import_button = require("../../../ui/button.js");
28
+ var import_card = require("../../../ui/card.js");
29
+ var import_separator = require("../../../ui/separator.js");
30
+ var import_money = require("../../../lib/money.js");
31
+ var import_checkout_confirmation_fulfilment_progress = require("./checkout-confirmation-fulfilment-progress.js");
32
+ const longDate = new Intl.DateTimeFormat("en-US", { dateStyle: "long" });
33
+ function CheckoutConfirmation({
34
+ order,
35
+ orderLines,
36
+ fulfilmentDetails,
37
+ formatPrice,
38
+ titleLabel = "Pedido registrado",
39
+ orderPlacedLabel = "Pedido {number} \xB7 {date} \xB7 Correo de contacto: {email}",
40
+ orderPlacedNoEmailLabel = "Pedido {number} realizado el {date}.",
41
+ itemsLabel = "Comprobante del pedido",
42
+ quantityLabel = "Cantidad",
43
+ subtotalLabel = "Subtotal",
44
+ discountLabel = "Descuento",
45
+ shippingLabel = "Env\xEDo",
46
+ taxLabel = "Impuestos",
47
+ totalLabel = "Total",
48
+ freeLabel = "Gratis",
49
+ amountUnavailableLabel = "\u2014",
50
+ shippingAddressLabel = "Env\xEDo",
51
+ billingAddressLabel = "Facturaci\xF3n",
52
+ continueShoppingLabel = "Seguir comprando",
53
+ contactSupportLabel = "\xBFAlgo falla con este pedido?",
54
+ supportLabel = "Contacta con soporte",
55
+ progressLabel = "Progreso",
56
+ estimatedDeliveryLabel = "Entrega estimada",
57
+ currentStageLabel = "Etapa actual",
58
+ inProgressLabel = "En curso",
59
+ expectedByLabel = "Se espera para",
60
+ completedLabel = "Completada",
61
+ statusLabel = "Estado",
62
+ locationLabel = "Ubicaci\xF3n",
63
+ trackOrderLabel = "Seguir este pedido",
64
+ continueShoppingHref,
65
+ supportHref,
66
+ onContinueShopping
67
+ }) {
68
+ const format = (value) => (0, import_money.formatMoney)(value, formatPrice);
69
+ const placedDate = longDate.format(new Date(order.placedAt));
70
+ const placedText = order.email ? orderPlacedLabel.replace("{number}", order.number).replace("{date}", placedDate).replace("{email}", order.email) : orderPlacedNoEmailLabel.replace("{number}", order.number).replace("{date}", placedDate);
71
+ const fulfilmentStages = fulfilmentDetails ? Object.keys(fulfilmentDetails) : [];
72
+ const addresses = [
73
+ { title: shippingAddressLabel, address: order.shipping },
74
+ { title: billingAddressLabel, address: order.billing }
75
+ ].filter((section) => Boolean(section.address));
76
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "w-full py-16 sm:py-24", children: /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mx-auto w-full max-w-3xl px-4 sm:px-6 lg:px-8", children: [
77
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "text-center", children: [
78
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
79
+ "span",
80
+ {
81
+ "aria-hidden": "true",
82
+ className: "bg-primary/10 text-primary mx-auto flex size-12 items-center justify-center rounded-full",
83
+ children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_lucide_react.CircleCheck, { className: "size-6" })
84
+ }
85
+ ),
86
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("h1", { className: "mt-4 text-3xl font-semibold tracking-tight", children: titleLabel }),
87
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground mt-3", children: placedText })
88
+ ] }),
89
+ fulfilmentDetails && order.currentStage ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
90
+ import_checkout_confirmation_fulfilment_progress.CheckoutConfirmationFulfilmentProgress,
91
+ {
92
+ order: {
93
+ currentStage: order.currentStage,
94
+ estimatedDelivery: order.estimatedDelivery,
95
+ trackingHref: order.trackingHref
96
+ },
97
+ stages: fulfilmentStages.map((stage) => fulfilmentDetails[stage]),
98
+ progressLabel,
99
+ estimatedDeliveryLabel,
100
+ currentStageLabel,
101
+ inProgressLabel,
102
+ expectedByLabel,
103
+ completedLabel,
104
+ statusLabel,
105
+ locationLabel,
106
+ trackOrderLabel
107
+ }
108
+ ) : null,
109
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_card.Card, { className: "mt-6", children: [
110
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_card.CardHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_card.CardTitle, { className: "text-base", children: itemsLabel }) }),
111
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_card.CardContent, { children: [
112
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("ul", { className: "divide-border divide-y", children: orderLines.map((line) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("li", { className: "flex gap-4 py-4 first:pt-0 last:pb-0", children: [
113
+ line.image ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(
114
+ "img",
115
+ {
116
+ src: line.image || void 0,
117
+ alt: line.name,
118
+ width: 72,
119
+ height: 88,
120
+ className: "bg-muted h-22 w-18 shrink-0 rounded-md object-cover"
121
+ }
122
+ ) : /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { "aria-hidden": "true", className: "bg-muted h-22 w-18 shrink-0 rounded-md" }),
123
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "min-w-0 flex-1", children: [
124
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm font-medium", children: line.name }),
125
+ line.variant ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground text-sm", children: line.variant }) : null,
126
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground text-sm tabular-nums", children: `${quantityLabel} ${line.quantity}` })
127
+ ] }),
128
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-sm font-medium tabular-nums", children: format(line.lineTotal) ?? amountUnavailableLabel })
129
+ ] }, line.id)) }),
130
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_separator.Separator, { className: "my-4" }),
131
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("dl", { className: "flex flex-col gap-2 text-sm", children: [
132
+ (0, import_money.isAvailableMoney)(order.totals.subtotal) ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex justify-between", children: [
133
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", { className: "text-muted-foreground", children: subtotalLabel }),
134
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", { className: "tabular-nums", children: format(order.totals.subtotal) })
135
+ ] }) : null,
136
+ (0, import_money.isAvailableMoney)(order.totals.discount) ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex justify-between", children: [
137
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", { className: "text-muted-foreground", children: discountLabel }),
138
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", { className: "tabular-nums", children: format(order.totals.discount) })
139
+ ] }) : null,
140
+ (0, import_money.isAvailableMoney)(order.totals.shipping) ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex justify-between", children: [
141
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", { className: "text-muted-foreground", children: shippingLabel }),
142
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", { className: "tabular-nums", children: Number(order.totals.shipping.amount) === 0 ? freeLabel : format(order.totals.shipping) })
143
+ ] }) : null,
144
+ (0, import_money.isAvailableMoney)(order.totals.tax) ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex justify-between", children: [
145
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", { className: "text-muted-foreground", children: taxLabel }),
146
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", { className: "tabular-nums", children: format(order.totals.tax) })
147
+ ] }) : null,
148
+ (0, import_money.isAvailableMoney)(order.totals.total) ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "flex justify-between pt-2 text-base font-semibold", children: [
149
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dt", { children: totalLabel }),
150
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("dd", { className: "tabular-nums", children: format(order.totals.total) })
151
+ ] }) : null
152
+ ] })
153
+ ] })
154
+ ] }),
155
+ addresses.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "mt-6 grid gap-6 sm:grid-cols-2", children: addresses.map((section) => /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_card.Card, { children: [
156
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_card.CardHeader, { children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_card.CardTitle, { className: "text-base", children: section.title }) }),
157
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)(import_card.CardContent, { className: "text-sm", children: [
158
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("address", { className: "text-muted-foreground not-italic", children: [
159
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "text-foreground block font-medium", children: section.address.name }),
160
+ section.address.lines.map((line, index) => /* @__PURE__ */ (0, import_jsx_runtime.jsx)("span", { className: "block", children: line }, `${section.title}:${index}:${line}`))
161
+ ] }),
162
+ section.address.method ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)("p", { className: "text-muted-foreground mt-3", children: section.address.method }) : null
163
+ ] })
164
+ ] }, section.title)) }) : null,
165
+ /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "mt-8 flex flex-col items-center gap-2", children: [
166
+ continueShoppingHref ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_button.Button, { variant: "ghost", asChild: true, children: /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: continueShoppingHref, children: continueShoppingLabel }) }) : onContinueShopping ? /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_button.Button, { variant: "ghost", onClick: onContinueShopping, children: continueShoppingLabel }) : null,
167
+ supportHref ? /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("p", { className: "text-muted-foreground text-sm", children: [
168
+ contactSupportLabel,
169
+ " ",
170
+ /* @__PURE__ */ (0, import_jsx_runtime.jsx)("a", { href: supportHref, className: "underline underline-offset-4", children: supportLabel })
171
+ ] }) : null
172
+ ] })
173
+ ] }) });
174
+ }
175
+ var checkout_confirmation_default = CheckoutConfirmation;
176
+ // Annotate the CommonJS export names for ESM import in node:
177
+ 0 && (module.exports = {
178
+ CheckoutConfirmation
179
+ });
180
+ //# sourceMappingURL=checkout-confirmation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-confirmation.tsx"],"sourcesContent":["import { CircleCheck } from 'lucide-react'\nimport { Button } from '../../../ui/button'\nimport { Card, CardContent, CardHeader, CardTitle } from '../../../ui/card'\nimport { Separator } from '../../../ui/separator'\nimport { formatMoney, isAvailableMoney } from '../../../lib/money'\nimport type { Money } from '@thorprovider/types'\nimport { CheckoutConfirmationFulfilmentProgress } from './checkout-confirmation-fulfilment-progress'\n\nexport type FulfilmentStage = 'Confirmed' | 'Packed' | 'Shipped' | 'Delivered'\n\nexport interface OrderLine {\n id: string\n name: string\n variant?: string\n quantity: number\n /** Canonical backend line total. */\n lineTotal: Money\n unitPrice?: Money\n /** Optional; an absent image is omitted rather than serialized as `\"\"`. */\n image?: string\n}\n\nexport interface FulfilmentStageDetail {\n stage: FulfilmentStage\n /** What happened, in a sentence. Present tense for a stage that has not arrived yet. */\n summary: string\n /** Where it happened, or where it will. */\n location: string\n /**\n * When it happened. `null` for a stage still ahead, which the panel renders as an\n * expectation rather than as a fact — a date with no event behind it is a promise, and\n * printing it in the same voice as a completed step is how a tracker starts lying.\n */\n at: string | null\n}\n\nexport interface OrderAddress {\n name: string\n lines: string[]\n method?: string\n}\n\nexport interface OrderTotals {\n subtotal?: Money\n discount?: Money\n shipping?: Money\n tax?: Money\n total?: Money\n}\n\nexport interface Order {\n number: string\n /** ISO date */\n placedAt: string\n email?: string\n /** Present only when the backend reports a fulfilment stage. */\n currentStage?: FulfilmentStage\n /** ISO date. Rendered only when supplied; no delivery estimate is fabricated. */\n estimatedDelivery?: string | null\n trackingHref?: string\n shipping?: OrderAddress\n billing?: OrderAddress\n totals: OrderTotals\n}\n\nexport interface CheckoutConfirmationProps {\n order: Order\n orderLines: OrderLine[]\n /**\n * Keyed by `FulfilmentStage`. Rendered only when supplied; the stage strip is\n * ordered by `Object.keys`, so define the record in the canonical\n * `Confirmed → Packed → Shipped → Delivered` order.\n */\n fulfilmentDetails?: Record<FulfilmentStage, FulfilmentStageDetail>\n /** Override money formatting (locale, currency). Defaults to `Money.currencyCode`. */\n formatPrice?: (money: Money) => string\n titleLabel?: string\n /** Template with `{number}`/`{date}`/`{email}` placeholders, resolved internally. */\n orderPlacedLabel?: string\n /** Used when the order carries no email. */\n orderPlacedNoEmailLabel?: string\n itemsLabel?: string\n quantityLabel?: string\n subtotalLabel?: string\n discountLabel?: string\n shippingLabel?: string\n taxLabel?: string\n totalLabel?: string\n freeLabel?: string\n /** Shown for a line whose supplied line total is absent or malformed. */\n amountUnavailableLabel?: string\n shippingAddressLabel?: string\n billingAddressLabel?: string\n continueShoppingLabel?: string\n /** Prefix of the support line; the `supportLabel` link renders right after it. */\n contactSupportLabel?: string\n supportLabel?: string\n progressLabel?: string\n estimatedDeliveryLabel?: string\n currentStageLabel?: string\n inProgressLabel?: string\n expectedByLabel?: string\n completedLabel?: string\n statusLabel?: string\n locationLabel?: string\n trackOrderLabel?: string\n continueShoppingHref?: string\n supportHref?: string\n onContinueShopping?: () => void\n}\n\nconst longDate = new Intl.DateTimeFormat('en-US', { dateStyle: 'long' })\n\n/**\n * The screen that closes the purchase journey the checkout blocks open.\n *\n * This file has no hooks or handlers, so it still renders as a server component straight from\n * your order record. Only the progress tabs are interactive, and they carry their own\n * `'use client'` — the boundary is one child rather than the whole page.\n */\nexport function CheckoutConfirmation({\n order,\n orderLines,\n fulfilmentDetails,\n formatPrice,\n titleLabel = 'Pedido registrado',\n orderPlacedLabel = 'Pedido {number} · {date} · Correo de contacto: {email}',\n orderPlacedNoEmailLabel = 'Pedido {number} realizado el {date}.',\n itemsLabel = 'Comprobante del pedido',\n quantityLabel = 'Cantidad',\n subtotalLabel = 'Subtotal',\n discountLabel = 'Descuento',\n shippingLabel = 'Envío',\n taxLabel = 'Impuestos',\n totalLabel = 'Total',\n freeLabel = 'Gratis',\n amountUnavailableLabel = '—',\n shippingAddressLabel = 'Envío',\n billingAddressLabel = 'Facturación',\n continueShoppingLabel = 'Seguir comprando',\n contactSupportLabel = '¿Algo falla con este pedido?',\n supportLabel = 'Contacta con soporte',\n progressLabel = 'Progreso',\n estimatedDeliveryLabel = 'Entrega estimada',\n currentStageLabel = 'Etapa actual',\n inProgressLabel = 'En curso',\n expectedByLabel = 'Se espera para',\n completedLabel = 'Completada',\n statusLabel = 'Estado',\n locationLabel = 'Ubicación',\n trackOrderLabel = 'Seguir este pedido',\n continueShoppingHref,\n supportHref,\n onContinueShopping,\n}: CheckoutConfirmationProps) {\n const format = (value: Money | null | undefined) => formatMoney(value, formatPrice)\n const placedDate = longDate.format(new Date(order.placedAt))\n const placedText = order.email\n ? orderPlacedLabel\n .replace('{number}', order.number)\n .replace('{date}', placedDate)\n .replace('{email}', order.email)\n : orderPlacedNoEmailLabel.replace('{number}', order.number).replace('{date}', placedDate)\n const fulfilmentStages = fulfilmentDetails\n ? (Object.keys(fulfilmentDetails) as FulfilmentStage[])\n : []\n const addresses = [\n { title: shippingAddressLabel, address: order.shipping },\n { title: billingAddressLabel, address: order.billing },\n ].filter((section): section is { title: string; address: OrderAddress } => Boolean(section.address))\n\n return (\n <div className='w-full py-16 sm:py-24'>\n <div className='mx-auto w-full max-w-3xl px-4 sm:px-6 lg:px-8'>\n <div className='text-center'>\n <span\n aria-hidden='true'\n className='bg-primary/10 text-primary mx-auto flex size-12 items-center justify-center rounded-full'\n >\n <CircleCheck className='size-6' />\n </span>\n <h1 className='mt-4 text-3xl font-semibold tracking-tight'>{titleLabel}</h1>\n <p className='text-muted-foreground mt-3'>{placedText}</p>\n </div>\n\n {fulfilmentDetails && order.currentStage ? (\n <CheckoutConfirmationFulfilmentProgress\n order={{\n currentStage: order.currentStage,\n estimatedDelivery: order.estimatedDelivery,\n trackingHref: order.trackingHref,\n }}\n stages={fulfilmentStages.map(stage => fulfilmentDetails[stage])}\n progressLabel={progressLabel}\n estimatedDeliveryLabel={estimatedDeliveryLabel}\n currentStageLabel={currentStageLabel}\n inProgressLabel={inProgressLabel}\n expectedByLabel={expectedByLabel}\n completedLabel={completedLabel}\n statusLabel={statusLabel}\n locationLabel={locationLabel}\n trackOrderLabel={trackOrderLabel}\n />\n ) : null}\n\n <Card className='mt-6'>\n <CardHeader>\n <CardTitle className='text-base'>{itemsLabel}</CardTitle>\n </CardHeader>\n <CardContent>\n <ul className='divide-border divide-y'>\n {orderLines.map(line => (\n <li key={line.id} className='flex gap-4 py-4 first:pt-0 last:pb-0'>\n {line.image ? (\n <img\n src={line.image || undefined}\n alt={line.name}\n width={72}\n height={88}\n className='bg-muted h-22 w-18 shrink-0 rounded-md object-cover'\n />\n ) : (\n <div aria-hidden='true' className='bg-muted h-22 w-18 shrink-0 rounded-md' />\n )}\n <div className='min-w-0 flex-1'>\n <p className='text-sm font-medium'>{line.name}</p>\n {line.variant ? <p className='text-muted-foreground text-sm'>{line.variant}</p> : null}\n <p className='text-muted-foreground text-sm tabular-nums'>\n {`${quantityLabel} ${line.quantity}`}\n </p>\n </div>\n <p className='text-sm font-medium tabular-nums'>\n {format(line.lineTotal) ?? amountUnavailableLabel}\n </p>\n </li>\n ))}\n </ul>\n\n <Separator className='my-4' />\n\n <dl className='flex flex-col gap-2 text-sm'>\n {isAvailableMoney(order.totals.subtotal) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{subtotalLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.subtotal)}</dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.discount) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{discountLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.discount)}</dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.shipping) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{shippingLabel}</dt>\n <dd className='tabular-nums'>\n {Number(order.totals.shipping.amount) === 0\n ? freeLabel\n : format(order.totals.shipping)}\n </dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.tax) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{taxLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.tax)}</dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.total) ? (\n <div className='flex justify-between pt-2 text-base font-semibold'>\n <dt>{totalLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.total)}</dd>\n </div>\n ) : null}\n </dl>\n </CardContent>\n </Card>\n\n {addresses.length > 0 ? (\n <div className='mt-6 grid gap-6 sm:grid-cols-2'>\n {addresses.map(section => (\n <Card key={section.title}>\n <CardHeader>\n <CardTitle className='text-base'>{section.title}</CardTitle>\n </CardHeader>\n <CardContent className='text-sm'>\n <address className='text-muted-foreground not-italic'>\n <span className='text-foreground block font-medium'>{section.address.name}</span>\n {section.address.lines.map((line, index) => (\n <span key={`${section.title}:${index}:${line}`} className='block'>\n {line}\n </span>\n ))}\n </address>\n {section.address.method ? (\n <p className='text-muted-foreground mt-3'>{section.address.method}</p>\n ) : null}\n </CardContent>\n </Card>\n ))}\n </div>\n ) : null}\n\n <div className='mt-8 flex flex-col items-center gap-2'>\n {continueShoppingHref ? (\n <Button variant='ghost' asChild>\n <a href={continueShoppingHref}>{continueShoppingLabel}</a>\n </Button>\n ) : onContinueShopping ? (\n <Button variant='ghost' onClick={onContinueShopping}>\n {continueShoppingLabel}\n </Button>\n ) : null}\n {supportHref ? (\n <p className='text-muted-foreground text-sm'>\n {contactSupportLabel}{' '}\n <a href={supportHref} className='underline underline-offset-4'>\n {supportLabel}\n </a>\n </p>\n ) : null}\n </div>\n </div>\n </div>\n )\n}\n\nexport default CheckoutConfirmation\n"],"mappings":"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","names":[]}
@@ -0,0 +1,156 @@
1
+ import { jsx, jsxs } from "react/jsx-runtime";
2
+ import { CircleCheck } from "lucide-react";
3
+ import { Button } from "../../../ui/button.mjs";
4
+ import { Card, CardContent, CardHeader, CardTitle } from "../../../ui/card.mjs";
5
+ import { Separator } from "../../../ui/separator.mjs";
6
+ import { formatMoney, isAvailableMoney } from "../../../lib/money.mjs";
7
+ import { CheckoutConfirmationFulfilmentProgress } from "./checkout-confirmation-fulfilment-progress.mjs";
8
+ const longDate = new Intl.DateTimeFormat("en-US", { dateStyle: "long" });
9
+ function CheckoutConfirmation({
10
+ order,
11
+ orderLines,
12
+ fulfilmentDetails,
13
+ formatPrice,
14
+ titleLabel = "Pedido registrado",
15
+ orderPlacedLabel = "Pedido {number} \xB7 {date} \xB7 Correo de contacto: {email}",
16
+ orderPlacedNoEmailLabel = "Pedido {number} realizado el {date}.",
17
+ itemsLabel = "Comprobante del pedido",
18
+ quantityLabel = "Cantidad",
19
+ subtotalLabel = "Subtotal",
20
+ discountLabel = "Descuento",
21
+ shippingLabel = "Env\xEDo",
22
+ taxLabel = "Impuestos",
23
+ totalLabel = "Total",
24
+ freeLabel = "Gratis",
25
+ amountUnavailableLabel = "\u2014",
26
+ shippingAddressLabel = "Env\xEDo",
27
+ billingAddressLabel = "Facturaci\xF3n",
28
+ continueShoppingLabel = "Seguir comprando",
29
+ contactSupportLabel = "\xBFAlgo falla con este pedido?",
30
+ supportLabel = "Contacta con soporte",
31
+ progressLabel = "Progreso",
32
+ estimatedDeliveryLabel = "Entrega estimada",
33
+ currentStageLabel = "Etapa actual",
34
+ inProgressLabel = "En curso",
35
+ expectedByLabel = "Se espera para",
36
+ completedLabel = "Completada",
37
+ statusLabel = "Estado",
38
+ locationLabel = "Ubicaci\xF3n",
39
+ trackOrderLabel = "Seguir este pedido",
40
+ continueShoppingHref,
41
+ supportHref,
42
+ onContinueShopping
43
+ }) {
44
+ const format = (value) => formatMoney(value, formatPrice);
45
+ const placedDate = longDate.format(new Date(order.placedAt));
46
+ const placedText = order.email ? orderPlacedLabel.replace("{number}", order.number).replace("{date}", placedDate).replace("{email}", order.email) : orderPlacedNoEmailLabel.replace("{number}", order.number).replace("{date}", placedDate);
47
+ const fulfilmentStages = fulfilmentDetails ? Object.keys(fulfilmentDetails) : [];
48
+ const addresses = [
49
+ { title: shippingAddressLabel, address: order.shipping },
50
+ { title: billingAddressLabel, address: order.billing }
51
+ ].filter((section) => Boolean(section.address));
52
+ return /* @__PURE__ */ jsx("div", { className: "w-full py-16 sm:py-24", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto w-full max-w-3xl px-4 sm:px-6 lg:px-8", children: [
53
+ /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
54
+ /* @__PURE__ */ jsx(
55
+ "span",
56
+ {
57
+ "aria-hidden": "true",
58
+ className: "bg-primary/10 text-primary mx-auto flex size-12 items-center justify-center rounded-full",
59
+ children: /* @__PURE__ */ jsx(CircleCheck, { className: "size-6" })
60
+ }
61
+ ),
62
+ /* @__PURE__ */ jsx("h1", { className: "mt-4 text-3xl font-semibold tracking-tight", children: titleLabel }),
63
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mt-3", children: placedText })
64
+ ] }),
65
+ fulfilmentDetails && order.currentStage ? /* @__PURE__ */ jsx(
66
+ CheckoutConfirmationFulfilmentProgress,
67
+ {
68
+ order: {
69
+ currentStage: order.currentStage,
70
+ estimatedDelivery: order.estimatedDelivery,
71
+ trackingHref: order.trackingHref
72
+ },
73
+ stages: fulfilmentStages.map((stage) => fulfilmentDetails[stage]),
74
+ progressLabel,
75
+ estimatedDeliveryLabel,
76
+ currentStageLabel,
77
+ inProgressLabel,
78
+ expectedByLabel,
79
+ completedLabel,
80
+ statusLabel,
81
+ locationLabel,
82
+ trackOrderLabel
83
+ }
84
+ ) : null,
85
+ /* @__PURE__ */ jsxs(Card, { className: "mt-6", children: [
86
+ /* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardTitle, { className: "text-base", children: itemsLabel }) }),
87
+ /* @__PURE__ */ jsxs(CardContent, { children: [
88
+ /* @__PURE__ */ jsx("ul", { className: "divide-border divide-y", children: orderLines.map((line) => /* @__PURE__ */ jsxs("li", { className: "flex gap-4 py-4 first:pt-0 last:pb-0", children: [
89
+ line.image ? /* @__PURE__ */ jsx(
90
+ "img",
91
+ {
92
+ src: line.image || void 0,
93
+ alt: line.name,
94
+ width: 72,
95
+ height: 88,
96
+ className: "bg-muted h-22 w-18 shrink-0 rounded-md object-cover"
97
+ }
98
+ ) : /* @__PURE__ */ jsx("div", { "aria-hidden": "true", className: "bg-muted h-22 w-18 shrink-0 rounded-md" }),
99
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
100
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium", children: line.name }),
101
+ line.variant ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: line.variant }) : null,
102
+ /* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm tabular-nums", children: `${quantityLabel} ${line.quantity}` })
103
+ ] }),
104
+ /* @__PURE__ */ jsx("p", { className: "text-sm font-medium tabular-nums", children: format(line.lineTotal) ?? amountUnavailableLabel })
105
+ ] }, line.id)) }),
106
+ /* @__PURE__ */ jsx(Separator, { className: "my-4" }),
107
+ /* @__PURE__ */ jsxs("dl", { className: "flex flex-col gap-2 text-sm", children: [
108
+ isAvailableMoney(order.totals.subtotal) ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
109
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: subtotalLabel }),
110
+ /* @__PURE__ */ jsx("dd", { className: "tabular-nums", children: format(order.totals.subtotal) })
111
+ ] }) : null,
112
+ isAvailableMoney(order.totals.discount) ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
113
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: discountLabel }),
114
+ /* @__PURE__ */ jsx("dd", { className: "tabular-nums", children: format(order.totals.discount) })
115
+ ] }) : null,
116
+ isAvailableMoney(order.totals.shipping) ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
117
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: shippingLabel }),
118
+ /* @__PURE__ */ jsx("dd", { className: "tabular-nums", children: Number(order.totals.shipping.amount) === 0 ? freeLabel : format(order.totals.shipping) })
119
+ ] }) : null,
120
+ isAvailableMoney(order.totals.tax) ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between", children: [
121
+ /* @__PURE__ */ jsx("dt", { className: "text-muted-foreground", children: taxLabel }),
122
+ /* @__PURE__ */ jsx("dd", { className: "tabular-nums", children: format(order.totals.tax) })
123
+ ] }) : null,
124
+ isAvailableMoney(order.totals.total) ? /* @__PURE__ */ jsxs("div", { className: "flex justify-between pt-2 text-base font-semibold", children: [
125
+ /* @__PURE__ */ jsx("dt", { children: totalLabel }),
126
+ /* @__PURE__ */ jsx("dd", { className: "tabular-nums", children: format(order.totals.total) })
127
+ ] }) : null
128
+ ] })
129
+ ] })
130
+ ] }),
131
+ addresses.length > 0 ? /* @__PURE__ */ jsx("div", { className: "mt-6 grid gap-6 sm:grid-cols-2", children: addresses.map((section) => /* @__PURE__ */ jsxs(Card, { children: [
132
+ /* @__PURE__ */ jsx(CardHeader, { children: /* @__PURE__ */ jsx(CardTitle, { className: "text-base", children: section.title }) }),
133
+ /* @__PURE__ */ jsxs(CardContent, { className: "text-sm", children: [
134
+ /* @__PURE__ */ jsxs("address", { className: "text-muted-foreground not-italic", children: [
135
+ /* @__PURE__ */ jsx("span", { className: "text-foreground block font-medium", children: section.address.name }),
136
+ section.address.lines.map((line, index) => /* @__PURE__ */ jsx("span", { className: "block", children: line }, `${section.title}:${index}:${line}`))
137
+ ] }),
138
+ section.address.method ? /* @__PURE__ */ jsx("p", { className: "text-muted-foreground mt-3", children: section.address.method }) : null
139
+ ] })
140
+ ] }, section.title)) }) : null,
141
+ /* @__PURE__ */ jsxs("div", { className: "mt-8 flex flex-col items-center gap-2", children: [
142
+ continueShoppingHref ? /* @__PURE__ */ jsx(Button, { variant: "ghost", asChild: true, children: /* @__PURE__ */ jsx("a", { href: continueShoppingHref, children: continueShoppingLabel }) }) : onContinueShopping ? /* @__PURE__ */ jsx(Button, { variant: "ghost", onClick: onContinueShopping, children: continueShoppingLabel }) : null,
143
+ supportHref ? /* @__PURE__ */ jsxs("p", { className: "text-muted-foreground text-sm", children: [
144
+ contactSupportLabel,
145
+ " ",
146
+ /* @__PURE__ */ jsx("a", { href: supportHref, className: "underline underline-offset-4", children: supportLabel })
147
+ ] }) : null
148
+ ] })
149
+ ] }) });
150
+ }
151
+ var checkout_confirmation_default = CheckoutConfirmation;
152
+ export {
153
+ CheckoutConfirmation,
154
+ checkout_confirmation_default as default
155
+ };
156
+ //# sourceMappingURL=checkout-confirmation.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-confirmation.tsx"],"sourcesContent":["import { CircleCheck } from 'lucide-react'\nimport { Button } from '../../../ui/button'\nimport { Card, CardContent, CardHeader, CardTitle } from '../../../ui/card'\nimport { Separator } from '../../../ui/separator'\nimport { formatMoney, isAvailableMoney } from '../../../lib/money'\nimport type { Money } from '@thorprovider/types'\nimport { CheckoutConfirmationFulfilmentProgress } from './checkout-confirmation-fulfilment-progress'\n\nexport type FulfilmentStage = 'Confirmed' | 'Packed' | 'Shipped' | 'Delivered'\n\nexport interface OrderLine {\n id: string\n name: string\n variant?: string\n quantity: number\n /** Canonical backend line total. */\n lineTotal: Money\n unitPrice?: Money\n /** Optional; an absent image is omitted rather than serialized as `\"\"`. */\n image?: string\n}\n\nexport interface FulfilmentStageDetail {\n stage: FulfilmentStage\n /** What happened, in a sentence. Present tense for a stage that has not arrived yet. */\n summary: string\n /** Where it happened, or where it will. */\n location: string\n /**\n * When it happened. `null` for a stage still ahead, which the panel renders as an\n * expectation rather than as a fact — a date with no event behind it is a promise, and\n * printing it in the same voice as a completed step is how a tracker starts lying.\n */\n at: string | null\n}\n\nexport interface OrderAddress {\n name: string\n lines: string[]\n method?: string\n}\n\nexport interface OrderTotals {\n subtotal?: Money\n discount?: Money\n shipping?: Money\n tax?: Money\n total?: Money\n}\n\nexport interface Order {\n number: string\n /** ISO date */\n placedAt: string\n email?: string\n /** Present only when the backend reports a fulfilment stage. */\n currentStage?: FulfilmentStage\n /** ISO date. Rendered only when supplied; no delivery estimate is fabricated. */\n estimatedDelivery?: string | null\n trackingHref?: string\n shipping?: OrderAddress\n billing?: OrderAddress\n totals: OrderTotals\n}\n\nexport interface CheckoutConfirmationProps {\n order: Order\n orderLines: OrderLine[]\n /**\n * Keyed by `FulfilmentStage`. Rendered only when supplied; the stage strip is\n * ordered by `Object.keys`, so define the record in the canonical\n * `Confirmed → Packed → Shipped → Delivered` order.\n */\n fulfilmentDetails?: Record<FulfilmentStage, FulfilmentStageDetail>\n /** Override money formatting (locale, currency). Defaults to `Money.currencyCode`. */\n formatPrice?: (money: Money) => string\n titleLabel?: string\n /** Template with `{number}`/`{date}`/`{email}` placeholders, resolved internally. */\n orderPlacedLabel?: string\n /** Used when the order carries no email. */\n orderPlacedNoEmailLabel?: string\n itemsLabel?: string\n quantityLabel?: string\n subtotalLabel?: string\n discountLabel?: string\n shippingLabel?: string\n taxLabel?: string\n totalLabel?: string\n freeLabel?: string\n /** Shown for a line whose supplied line total is absent or malformed. */\n amountUnavailableLabel?: string\n shippingAddressLabel?: string\n billingAddressLabel?: string\n continueShoppingLabel?: string\n /** Prefix of the support line; the `supportLabel` link renders right after it. */\n contactSupportLabel?: string\n supportLabel?: string\n progressLabel?: string\n estimatedDeliveryLabel?: string\n currentStageLabel?: string\n inProgressLabel?: string\n expectedByLabel?: string\n completedLabel?: string\n statusLabel?: string\n locationLabel?: string\n trackOrderLabel?: string\n continueShoppingHref?: string\n supportHref?: string\n onContinueShopping?: () => void\n}\n\nconst longDate = new Intl.DateTimeFormat('en-US', { dateStyle: 'long' })\n\n/**\n * The screen that closes the purchase journey the checkout blocks open.\n *\n * This file has no hooks or handlers, so it still renders as a server component straight from\n * your order record. Only the progress tabs are interactive, and they carry their own\n * `'use client'` — the boundary is one child rather than the whole page.\n */\nexport function CheckoutConfirmation({\n order,\n orderLines,\n fulfilmentDetails,\n formatPrice,\n titleLabel = 'Pedido registrado',\n orderPlacedLabel = 'Pedido {number} · {date} · Correo de contacto: {email}',\n orderPlacedNoEmailLabel = 'Pedido {number} realizado el {date}.',\n itemsLabel = 'Comprobante del pedido',\n quantityLabel = 'Cantidad',\n subtotalLabel = 'Subtotal',\n discountLabel = 'Descuento',\n shippingLabel = 'Envío',\n taxLabel = 'Impuestos',\n totalLabel = 'Total',\n freeLabel = 'Gratis',\n amountUnavailableLabel = '—',\n shippingAddressLabel = 'Envío',\n billingAddressLabel = 'Facturación',\n continueShoppingLabel = 'Seguir comprando',\n contactSupportLabel = '¿Algo falla con este pedido?',\n supportLabel = 'Contacta con soporte',\n progressLabel = 'Progreso',\n estimatedDeliveryLabel = 'Entrega estimada',\n currentStageLabel = 'Etapa actual',\n inProgressLabel = 'En curso',\n expectedByLabel = 'Se espera para',\n completedLabel = 'Completada',\n statusLabel = 'Estado',\n locationLabel = 'Ubicación',\n trackOrderLabel = 'Seguir este pedido',\n continueShoppingHref,\n supportHref,\n onContinueShopping,\n}: CheckoutConfirmationProps) {\n const format = (value: Money | null | undefined) => formatMoney(value, formatPrice)\n const placedDate = longDate.format(new Date(order.placedAt))\n const placedText = order.email\n ? orderPlacedLabel\n .replace('{number}', order.number)\n .replace('{date}', placedDate)\n .replace('{email}', order.email)\n : orderPlacedNoEmailLabel.replace('{number}', order.number).replace('{date}', placedDate)\n const fulfilmentStages = fulfilmentDetails\n ? (Object.keys(fulfilmentDetails) as FulfilmentStage[])\n : []\n const addresses = [\n { title: shippingAddressLabel, address: order.shipping },\n { title: billingAddressLabel, address: order.billing },\n ].filter((section): section is { title: string; address: OrderAddress } => Boolean(section.address))\n\n return (\n <div className='w-full py-16 sm:py-24'>\n <div className='mx-auto w-full max-w-3xl px-4 sm:px-6 lg:px-8'>\n <div className='text-center'>\n <span\n aria-hidden='true'\n className='bg-primary/10 text-primary mx-auto flex size-12 items-center justify-center rounded-full'\n >\n <CircleCheck className='size-6' />\n </span>\n <h1 className='mt-4 text-3xl font-semibold tracking-tight'>{titleLabel}</h1>\n <p className='text-muted-foreground mt-3'>{placedText}</p>\n </div>\n\n {fulfilmentDetails && order.currentStage ? (\n <CheckoutConfirmationFulfilmentProgress\n order={{\n currentStage: order.currentStage,\n estimatedDelivery: order.estimatedDelivery,\n trackingHref: order.trackingHref,\n }}\n stages={fulfilmentStages.map(stage => fulfilmentDetails[stage])}\n progressLabel={progressLabel}\n estimatedDeliveryLabel={estimatedDeliveryLabel}\n currentStageLabel={currentStageLabel}\n inProgressLabel={inProgressLabel}\n expectedByLabel={expectedByLabel}\n completedLabel={completedLabel}\n statusLabel={statusLabel}\n locationLabel={locationLabel}\n trackOrderLabel={trackOrderLabel}\n />\n ) : null}\n\n <Card className='mt-6'>\n <CardHeader>\n <CardTitle className='text-base'>{itemsLabel}</CardTitle>\n </CardHeader>\n <CardContent>\n <ul className='divide-border divide-y'>\n {orderLines.map(line => (\n <li key={line.id} className='flex gap-4 py-4 first:pt-0 last:pb-0'>\n {line.image ? (\n <img\n src={line.image || undefined}\n alt={line.name}\n width={72}\n height={88}\n className='bg-muted h-22 w-18 shrink-0 rounded-md object-cover'\n />\n ) : (\n <div aria-hidden='true' className='bg-muted h-22 w-18 shrink-0 rounded-md' />\n )}\n <div className='min-w-0 flex-1'>\n <p className='text-sm font-medium'>{line.name}</p>\n {line.variant ? <p className='text-muted-foreground text-sm'>{line.variant}</p> : null}\n <p className='text-muted-foreground text-sm tabular-nums'>\n {`${quantityLabel} ${line.quantity}`}\n </p>\n </div>\n <p className='text-sm font-medium tabular-nums'>\n {format(line.lineTotal) ?? amountUnavailableLabel}\n </p>\n </li>\n ))}\n </ul>\n\n <Separator className='my-4' />\n\n <dl className='flex flex-col gap-2 text-sm'>\n {isAvailableMoney(order.totals.subtotal) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{subtotalLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.subtotal)}</dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.discount) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{discountLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.discount)}</dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.shipping) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{shippingLabel}</dt>\n <dd className='tabular-nums'>\n {Number(order.totals.shipping.amount) === 0\n ? freeLabel\n : format(order.totals.shipping)}\n </dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.tax) ? (\n <div className='flex justify-between'>\n <dt className='text-muted-foreground'>{taxLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.tax)}</dd>\n </div>\n ) : null}\n {isAvailableMoney(order.totals.total) ? (\n <div className='flex justify-between pt-2 text-base font-semibold'>\n <dt>{totalLabel}</dt>\n <dd className='tabular-nums'>{format(order.totals.total)}</dd>\n </div>\n ) : null}\n </dl>\n </CardContent>\n </Card>\n\n {addresses.length > 0 ? (\n <div className='mt-6 grid gap-6 sm:grid-cols-2'>\n {addresses.map(section => (\n <Card key={section.title}>\n <CardHeader>\n <CardTitle className='text-base'>{section.title}</CardTitle>\n </CardHeader>\n <CardContent className='text-sm'>\n <address className='text-muted-foreground not-italic'>\n <span className='text-foreground block font-medium'>{section.address.name}</span>\n {section.address.lines.map((line, index) => (\n <span key={`${section.title}:${index}:${line}`} className='block'>\n {line}\n </span>\n ))}\n </address>\n {section.address.method ? (\n <p className='text-muted-foreground mt-3'>{section.address.method}</p>\n ) : null}\n </CardContent>\n </Card>\n ))}\n </div>\n ) : null}\n\n <div className='mt-8 flex flex-col items-center gap-2'>\n {continueShoppingHref ? (\n <Button variant='ghost' asChild>\n <a href={continueShoppingHref}>{continueShoppingLabel}</a>\n </Button>\n ) : onContinueShopping ? (\n <Button variant='ghost' onClick={onContinueShopping}>\n {continueShoppingLabel}\n </Button>\n ) : null}\n {supportHref ? (\n <p className='text-muted-foreground text-sm'>\n {contactSupportLabel}{' '}\n <a href={supportHref} className='underline underline-offset-4'>\n {supportLabel}\n </a>\n </p>\n ) : null}\n </div>\n </div>\n </div>\n )\n}\n\nexport default CheckoutConfirmation\n"],"mappings":"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","names":[]}
@@ -0,0 +1,13 @@
1
+ import type { CheckoutChangeHandler, CheckoutFieldDescriptions, CheckoutValuesFieldErrors, CheckoutLabels, CheckoutValues } from './checkout';
2
+ export interface CheckoutContactStepProps {
3
+ values: CheckoutValues;
4
+ onChange: CheckoutChangeHandler;
5
+ labels: CheckoutLabels;
6
+ /** Rendered only when the host supplies the corresponding label. */
7
+ showSaveInfo: boolean;
8
+ showNewsletter: boolean;
9
+ fieldErrors?: CheckoutValuesFieldErrors;
10
+ fieldDescriptions?: CheckoutFieldDescriptions;
11
+ }
12
+ export declare function CheckoutContactStep({ values, onChange, labels, showSaveInfo, showNewsletter, fieldErrors, fieldDescriptions, }: CheckoutContactStepProps): import("react").JSX.Element;
13
+ //# sourceMappingURL=checkout-contact-step.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout-contact-step.d.ts","sourceRoot":"","sources":["../../../../src/blocks/e-commerce/checkout-forms/checkout-contact-step.tsx"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,cAAc,EACd,cAAc,EACf,MAAM,YAAY,CAAA;AAEnB,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,qBAAqB,CAAA;IAC/B,MAAM,EAAE,cAAc,CAAA;IACtB,oEAAoE;IACpE,YAAY,EAAE,OAAO,CAAA;IACrB,cAAc,EAAE,OAAO,CAAA;IACvB,WAAW,CAAC,EAAE,yBAAyB,CAAA;IACvC,iBAAiB,CAAC,EAAE,yBAAyB,CAAA;CAC9C;AAED,wBAAgB,mBAAmB,CAAC,EAClC,MAAM,EACN,QAAQ,EACR,MAAM,EACN,YAAY,EACZ,cAAc,EACd,WAAW,EACX,iBAAiB,GAClB,EAAE,wBAAwB,+BAmH1B"}