@thorprovider/blocks 2.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 (842) hide show
  1. package/README.md +120 -8
  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 -155
  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.test.tsx +0 -190
  697. package/src/blocks/application/login-forms/login-page.tsx +0 -240
  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 -318
  700. package/src/blocks/application/signup-forms/signup-page-1.tsx +0 -229
  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/application/viewport-ownership.test.tsx +0 -41
  704. package/src/blocks/e-commerce/category-filters/category-listing-filter-fields.tsx +0 -218
  705. package/src/blocks/e-commerce/category-filters/category-listing.test.tsx +0 -601
  706. package/src/blocks/e-commerce/category-filters/category-listing.tsx +0 -934
  707. package/src/blocks/e-commerce/checkout-forms/checkbox-check.tsx +0 -74
  708. package/src/blocks/e-commerce/checkout-forms/checkout-confirmation-fulfilment-progress.tsx +0 -195
  709. package/src/blocks/e-commerce/checkout-forms/checkout-confirmation.test.tsx +0 -136
  710. package/src/blocks/e-commerce/checkout-forms/checkout-confirmation.tsx +0 -329
  711. package/src/blocks/e-commerce/checkout-forms/checkout-contact-step.tsx +0 -149
  712. package/src/blocks/e-commerce/checkout-forms/checkout-country-field.tsx +0 -53
  713. package/src/blocks/e-commerce/checkout-forms/checkout-field-feedback.tsx +0 -29
  714. package/src/blocks/e-commerce/checkout-forms/checkout-form-types.ts +0 -7
  715. package/src/blocks/e-commerce/checkout-forms/checkout-order-summary.tsx +0 -230
  716. package/src/blocks/e-commerce/checkout-forms/checkout-payment-step.tsx +0 -100
  717. package/src/blocks/e-commerce/checkout-forms/checkout-progress.tsx +0 -62
  718. package/src/blocks/e-commerce/checkout-forms/checkout-review-step.tsx +0 -59
  719. package/src/blocks/e-commerce/checkout-forms/checkout-shipping-step.tsx +0 -180
  720. package/src/blocks/e-commerce/checkout-forms/checkout.test.tsx +0 -478
  721. package/src/blocks/e-commerce/checkout-forms/checkout.tsx +0 -550
  722. package/src/blocks/e-commerce/navigation/back-to-top.test.tsx +0 -27
  723. package/src/blocks/e-commerce/navigation/back-to-top.tsx +0 -71
  724. package/src/blocks/e-commerce/navigation/breadcrumb.test.tsx +0 -174
  725. package/src/blocks/e-commerce/navigation/breadcrumb.tsx +0 -130
  726. package/src/blocks/e-commerce/navigation/category-icon.test.tsx +0 -54
  727. package/src/blocks/e-commerce/navigation/category-icon.tsx +0 -94
  728. package/src/blocks/e-commerce/navigation/mega-menu.test.tsx +0 -139
  729. package/src/blocks/e-commerce/navigation/mega-menu.tsx +0 -271
  730. package/src/blocks/e-commerce/navigation/mobile-bottom-nav.test.tsx +0 -74
  731. package/src/blocks/e-commerce/navigation/mobile-bottom-nav.tsx +0 -78
  732. package/src/blocks/e-commerce/navigation/mobile-category-drawer.test.tsx +0 -192
  733. package/src/blocks/e-commerce/navigation/mobile-category-drawer.tsx +0 -278
  734. package/src/blocks/e-commerce/navigation/skip-to-content.test.tsx +0 -35
  735. package/src/blocks/e-commerce/navigation/skip-to-content.tsx +0 -37
  736. package/src/blocks/e-commerce/navigation/storefront-navbar-account-menu.test.tsx +0 -56
  737. package/src/blocks/e-commerce/navigation/storefront-navbar-account-menu.tsx +0 -134
  738. package/src/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.test.tsx +0 -204
  739. package/src/blocks/e-commerce/navigation/storefront-navbar-cart-sheet.tsx +0 -371
  740. package/src/blocks/e-commerce/navigation/storefront-navbar-mobile-nav.tsx +0 -96
  741. package/src/blocks/e-commerce/navigation/storefront-navbar-search-bar.tsx +0 -52
  742. package/src/blocks/e-commerce/navigation/storefront-navbar.test.tsx +0 -264
  743. package/src/blocks/e-commerce/navigation/storefront-navbar.tsx +0 -604
  744. package/src/blocks/e-commerce/order-history/order-history-1.tsx +0 -159
  745. package/src/blocks/e-commerce/order-history/order-history-2.tsx +0 -222
  746. package/src/blocks/e-commerce/product-categories/category-card-grid.test.tsx +0 -122
  747. package/src/blocks/e-commerce/product-categories/category-card.test.tsx +0 -68
  748. package/src/blocks/e-commerce/product-categories/category-card.tsx +0 -172
  749. package/src/blocks/e-commerce/product-categories/category-grid.test.tsx +0 -67
  750. package/src/blocks/e-commerce/product-categories/category-shared.tsx +0 -109
  751. package/src/blocks/e-commerce/product-categories/product-category-grid.tsx +0 -170
  752. package/src/blocks/e-commerce/product-categories/product-category.test.tsx +0 -266
  753. package/src/blocks/e-commerce/product-categories/product-category.tsx +0 -462
  754. package/src/blocks/e-commerce/product-list/product-card.test.tsx +0 -263
  755. package/src/blocks/e-commerce/product-list/product-card.tsx +0 -447
  756. package/src/blocks/e-commerce/product-list/product-grid.test.tsx +0 -162
  757. package/src/blocks/e-commerce/product-list/product-grid.tsx +0 -114
  758. package/src/blocks/e-commerce/product-list/product-showcase-1.test.tsx +0 -78
  759. package/src/blocks/e-commerce/product-list/product-showcase-1.tsx +0 -277
  760. package/src/blocks/e-commerce/product-overview/product-overview-gallery.tsx +0 -71
  761. package/src/blocks/e-commerce/product-overview/product-overview-lightbox-tab.tsx +0 -116
  762. package/src/blocks/e-commerce/product-overview/product-overview-reviews-tab.tsx +0 -105
  763. package/src/blocks/e-commerce/product-overview/product-overview-tabs.tsx +0 -70
  764. package/src/blocks/e-commerce/product-overview/product-overview.test.tsx +0 -283
  765. package/src/blocks/e-commerce/product-overview/product-overview.tsx +0 -1186
  766. package/src/blocks/e-commerce/product-overview/product-quick-view-card.tsx +0 -135
  767. package/src/blocks/e-commerce/product-overview/product-quick-view-dialog.tsx +0 -393
  768. package/src/blocks/e-commerce/product-overview/product-quick-view.tsx +0 -136
  769. package/src/blocks/e-commerce/reviews/review-rating-1-review-form.tsx +0 -133
  770. package/src/blocks/e-commerce/reviews/review-rating-1.tsx +0 -178
  771. package/src/blocks/e-commerce/reviews/review-rating-2.tsx +0 -245
  772. package/src/blocks/e-commerce/shopping-carts/shopping-cart.test.tsx +0 -399
  773. package/src/blocks/e-commerce/shopping-carts/shopping-cart.tsx +0 -628
  774. package/src/blocks/e-commerce/store-containers/store-container-1.tsx +0 -29
  775. package/src/blocks/e-commerce/storefront-hero/storefront-hero.test.tsx +0 -412
  776. package/src/blocks/e-commerce/storefront-hero/storefront-hero.tsx +0 -1283
  777. package/src/blocks/marketing/banners/avatar-group.tsx +0 -69
  778. package/src/blocks/marketing/banners/banner-1.tsx +0 -188
  779. package/src/blocks/marketing/cta/cta-section-1.tsx +0 -112
  780. package/src/blocks/marketing/faq/faq-block-1.tsx +0 -45
  781. package/src/blocks/marketing/features/feature.test.tsx +0 -153
  782. package/src/blocks/marketing/features/feature.tsx +0 -195
  783. package/src/blocks/marketing/footers/footer-section-accessibility.test.tsx +0 -118
  784. package/src/blocks/marketing/footers/footer-section-actions.test.tsx +0 -131
  785. package/src/blocks/marketing/footers/footer-section-data.test.tsx +0 -127
  786. package/src/blocks/marketing/footers/footer-section-native-links.test.tsx +0 -100
  787. package/src/blocks/marketing/footers/footer-section-public-api.test.tsx +0 -11
  788. package/src/blocks/marketing/footers/footer-section.test.tsx +0 -46
  789. package/src/blocks/marketing/footers/footer-section.tsx +0 -532
  790. package/src/blocks/marketing/hero-sections/avatar-group.tsx +0 -86
  791. package/src/blocks/marketing/hero-sections/hero-section-1.tsx +0 -135
  792. package/src/blocks/marketing/logo-clouds/logo-cloud-1-logo-icon.tsx +0 -52
  793. package/src/blocks/marketing/logo-clouds/logo-cloud-1.tsx +0 -56
  794. package/src/blocks/marketing/navbars/navbar-public-api.test.tsx +0 -57
  795. package/src/blocks/marketing/navbars/navbar.mega.test.tsx +0 -149
  796. package/src/blocks/marketing/navbars/navbar.test.tsx +0 -155
  797. package/src/blocks/marketing/navbars/navbar.tsx +0 -735
  798. package/src/blocks/marketing/pricing/pricing-section-1.tsx +0 -94
  799. package/src/blocks/marketing/statistics/statistic-1.tsx +0 -93
  800. package/src/blocks/marketing/testimonials/testimonial-section.test.tsx +0 -171
  801. package/src/blocks/marketing/testimonials/testimonial-section.tsx +0 -237
  802. package/src/blocks/shared/reaction-toggle.tsx +0 -145
  803. package/src/hooks/use-mobile.ts +0 -19
  804. package/src/index.ts +0 -284
  805. package/src/lib/cart.test.ts +0 -15
  806. package/src/lib/contracts-curated.test.ts +0 -225
  807. package/src/lib/contracts-server-boundary.test.ts +0 -52
  808. package/src/lib/contracts.test.ts +0 -228
  809. package/src/lib/contracts.ts +0 -857
  810. package/src/lib/money.test.ts +0 -64
  811. package/src/lib/money.ts +0 -65
  812. package/src/lib/types/menu.ts +0 -43
  813. package/src/lib/types.ts +0 -4
  814. package/src/lib/utils.ts +0 -10
  815. package/src/ui/accordion.tsx +0 -65
  816. package/src/ui/badge.tsx +0 -47
  817. package/src/ui/breadcrumb.tsx +0 -108
  818. package/src/ui/button-group.tsx +0 -83
  819. package/src/ui/button.tsx +0 -63
  820. package/src/ui/card.tsx +0 -91
  821. package/src/ui/carousel.tsx +0 -241
  822. package/src/ui/dialog.tsx +0 -158
  823. package/src/ui/drawer.tsx +0 -134
  824. package/src/ui/dropdown-menu.tsx +0 -256
  825. package/src/ui/empty.tsx +0 -103
  826. package/src/ui/input-otp.tsx +0 -76
  827. package/src/ui/label.tsx +0 -23
  828. package/src/ui/pagination.tsx +0 -127
  829. package/src/ui/progress.tsx +0 -30
  830. package/src/ui/radio-group.tsx +0 -44
  831. package/src/ui/select.tsx +0 -189
  832. package/src/ui/separator.tsx +0 -27
  833. package/src/ui/sheet.tsx +0 -142
  834. package/src/ui/sidebar.tsx +0 -726
  835. package/src/ui/skeleton.tsx +0 -13
  836. package/src/ui/table.tsx +0 -115
  837. package/src/ui/toggle-group.tsx +0 -83
  838. package/src/ui/tooltip.tsx +0 -56
  839. package/tsconfig.build.json +0 -12
  840. package/tsconfig.json +0 -20
  841. package/tsup.config.ts +0 -19
  842. 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"}