@libreapps/commerce 7.5.1

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 (327) hide show
  1. package/.turbo/turbo-build.log +4 -0
  2. package/CHANGELOG.md +13 -0
  3. package/LICENSE.md +21 -0
  4. package/components/Icons.tsx +35 -0
  5. package/components/add-to-cart-widget.tsx +183 -0
  6. package/components/buy/buy-card.tsx +259 -0
  7. package/components/buy/carousel-buy-card.tsx +242 -0
  8. package/components/buy/multi-family/all-variants-carousel.tsx +261 -0
  9. package/components/buy/multi-family/family-carousel/index.tsx +77 -0
  10. package/components/buy/multi-family/family-carousel/slide.tsx +83 -0
  11. package/components/buy/multi-family/family-carousel/state.ts +87 -0
  12. package/components/buy/multi-family/index.ts +2 -0
  13. package/components/buy/single-family-selector.tsx +90 -0
  14. package/components/buy/title-and-byline.tsx +25 -0
  15. package/components/cart/cart-panel/cart-line-item.tsx +76 -0
  16. package/components/cart/cart-panel/index.tsx +154 -0
  17. package/components/cart/cart-panel/promo-code.tsx +109 -0
  18. package/components/cart/cart-panel/total-area.tsx +60 -0
  19. package/components/checkout/payment-step-form/card-icon-row.tsx +26 -0
  20. package/components/checkout/payment-step-form/card-icons/amex.tsx +32 -0
  21. package/components/checkout/payment-step-form/card-icons/diners-club.tsx +13 -0
  22. package/components/checkout/payment-step-form/card-icons/discover.tsx +25 -0
  23. package/components/checkout/payment-step-form/card-icons/jcb.tsx +26 -0
  24. package/components/checkout/payment-step-form/card-icons/mastercard.tsx +27 -0
  25. package/components/checkout/payment-step-form/card-icons/visa.tsx +25 -0
  26. package/components/checkout/payment-step-form/cc-button.tsx +17 -0
  27. package/components/checkout/payment-step-form/contact-form.tsx +50 -0
  28. package/components/checkout/payment-step-form/crypto-icons/btc.tsx +11 -0
  29. package/components/checkout/payment-step-form/crypto-icons/eth.tsx +20 -0
  30. package/components/checkout/payment-step-form/crypto-icons/usdt.tsx +13 -0
  31. package/components/checkout/payment-step-form/index.tsx +122 -0
  32. package/components/checkout/payment-step-form/methods/bank-transfer.tsx +79 -0
  33. package/components/checkout/payment-step-form/methods/card.tsx +232 -0
  34. package/components/checkout/payment-step-form/methods/crypto.tsx +227 -0
  35. package/components/checkout/payment-step-form/methods/index.ts +23 -0
  36. package/components/checkout/shipping-step-form.tsx +175 -0
  37. package/components/index.ts +11 -0
  38. package/components/item/product-card.tsx +48 -0
  39. package/components/item-selector/button.tsx +188 -0
  40. package/components/item-selector/carousel/index.tsx +197 -0
  41. package/components/item-selector/carousel/slider.tsx +40 -0
  42. package/components/item-selector/index.ts +5 -0
  43. package/components/item-selector/quantity-indicator.tsx +48 -0
  44. package/components/node-tabs/index.tsx +91 -0
  45. package/components/node-tabs/node-image.tsx +31 -0
  46. package/dist/components/Icons.d.ts +18 -0
  47. package/dist/components/Icons.js +19 -0
  48. package/dist/components/Icons.js.map +1 -0
  49. package/dist/components/add-to-cart-widget.d.ts +11 -0
  50. package/dist/components/add-to-cart-widget.js +85 -0
  51. package/dist/components/add-to-cart-widget.js.map +1 -0
  52. package/dist/components/buy/buy-card.d.ts +30 -0
  53. package/dist/components/buy/buy-card.js +109 -0
  54. package/dist/components/buy/buy-card.js.map +1 -0
  55. package/dist/components/buy/carousel-buy-card.d.ts +12 -0
  56. package/dist/components/buy/carousel-buy-card.js +94 -0
  57. package/dist/components/buy/carousel-buy-card.js.map +1 -0
  58. package/dist/components/buy/multi-family/all-variants-carousel.d.ts +4 -0
  59. package/dist/components/buy/multi-family/all-variants-carousel.js +115 -0
  60. package/dist/components/buy/multi-family/all-variants-carousel.js.map +1 -0
  61. package/dist/components/buy/multi-family/family-carousel/index.d.ts +4 -0
  62. package/dist/components/buy/multi-family/family-carousel/index.js +27 -0
  63. package/dist/components/buy/multi-family/family-carousel/index.js.map +1 -0
  64. package/dist/components/buy/multi-family/family-carousel/slide.d.ts +11 -0
  65. package/dist/components/buy/multi-family/family-carousel/slide.js +35 -0
  66. package/dist/components/buy/multi-family/family-carousel/slide.js.map +1 -0
  67. package/dist/components/buy/multi-family/family-carousel/state.d.ts +20 -0
  68. package/dist/components/buy/multi-family/family-carousel/state.js +59 -0
  69. package/dist/components/buy/multi-family/family-carousel/state.js.map +1 -0
  70. package/dist/components/buy/multi-family/index.d.ts +2 -0
  71. package/dist/components/buy/multi-family/index.js +3 -0
  72. package/dist/components/buy/multi-family/index.js.map +1 -0
  73. package/dist/components/buy/single-family-selector.d.ts +15 -0
  74. package/dist/components/buy/single-family-selector.js +28 -0
  75. package/dist/components/buy/single-family-selector.js.map +1 -0
  76. package/dist/components/buy/title-and-byline.d.ts +8 -0
  77. package/dist/components/buy/title-and-byline.js +7 -0
  78. package/dist/components/buy/title-and-byline.js.map +1 -0
  79. package/dist/components/cart/cart-panel/cart-line-item.d.ts +11 -0
  80. package/dist/components/cart/cart-panel/cart-line-item.js +25 -0
  81. package/dist/components/cart/cart-panel/cart-line-item.js.map +1 -0
  82. package/dist/components/cart/cart-panel/index.d.ts +19 -0
  83. package/dist/components/cart/cart-panel/index.js +65 -0
  84. package/dist/components/cart/cart-panel/index.js.map +1 -0
  85. package/dist/components/cart/cart-panel/promo-code.d.ts +4 -0
  86. package/dist/components/cart/cart-panel/promo-code.js +62 -0
  87. package/dist/components/cart/cart-panel/promo-code.js.map +1 -0
  88. package/dist/components/cart/cart-panel/total-area.d.ts +7 -0
  89. package/dist/components/cart/cart-panel/total-area.js +14 -0
  90. package/dist/components/cart/cart-panel/total-area.js.map +1 -0
  91. package/dist/components/checkout/payment-step-form/card-icon-row.d.ts +2 -0
  92. package/dist/components/checkout/payment-step-form/card-icon-row.js +14 -0
  93. package/dist/components/checkout/payment-step-form/card-icon-row.js.map +1 -0
  94. package/dist/components/checkout/payment-step-form/card-icons/amex.d.ts +4 -0
  95. package/dist/components/checkout/payment-step-form/card-icons/amex.js +6 -0
  96. package/dist/components/checkout/payment-step-form/card-icons/amex.js.map +1 -0
  97. package/dist/components/checkout/payment-step-form/card-icons/diners-club.d.ts +4 -0
  98. package/dist/components/checkout/payment-step-form/card-icons/diners-club.js +6 -0
  99. package/dist/components/checkout/payment-step-form/card-icons/diners-club.js.map +1 -0
  100. package/dist/components/checkout/payment-step-form/card-icons/discover.d.ts +4 -0
  101. package/dist/components/checkout/payment-step-form/card-icons/discover.js +6 -0
  102. package/dist/components/checkout/payment-step-form/card-icons/discover.js.map +1 -0
  103. package/dist/components/checkout/payment-step-form/card-icons/jcb.d.ts +4 -0
  104. package/dist/components/checkout/payment-step-form/card-icons/jcb.js +6 -0
  105. package/dist/components/checkout/payment-step-form/card-icons/jcb.js.map +1 -0
  106. package/dist/components/checkout/payment-step-form/card-icons/mastercard.d.ts +4 -0
  107. package/dist/components/checkout/payment-step-form/card-icons/mastercard.js +6 -0
  108. package/dist/components/checkout/payment-step-form/card-icons/mastercard.js.map +1 -0
  109. package/dist/components/checkout/payment-step-form/card-icons/visa.d.ts +4 -0
  110. package/dist/components/checkout/payment-step-form/card-icons/visa.js +6 -0
  111. package/dist/components/checkout/payment-step-form/card-icons/visa.js.map +1 -0
  112. package/dist/components/checkout/payment-step-form/cc-button.d.ts +3 -0
  113. package/dist/components/checkout/payment-step-form/cc-button.js +6 -0
  114. package/dist/components/checkout/payment-step-form/cc-button.js.map +1 -0
  115. package/dist/components/checkout/payment-step-form/contact-form.d.ts +5 -0
  116. package/dist/components/checkout/payment-step-form/contact-form.js +6 -0
  117. package/dist/components/checkout/payment-step-form/contact-form.js.map +1 -0
  118. package/dist/components/checkout/payment-step-form/crypto-icons/btc.d.ts +4 -0
  119. package/dist/components/checkout/payment-step-form/crypto-icons/btc.js +6 -0
  120. package/dist/components/checkout/payment-step-form/crypto-icons/btc.js.map +1 -0
  121. package/dist/components/checkout/payment-step-form/crypto-icons/eth.d.ts +4 -0
  122. package/dist/components/checkout/payment-step-form/crypto-icons/eth.js +6 -0
  123. package/dist/components/checkout/payment-step-form/crypto-icons/eth.js.map +1 -0
  124. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.d.ts +4 -0
  125. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.js +6 -0
  126. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.js.map +1 -0
  127. package/dist/components/checkout/payment-step-form/index.d.ts +4 -0
  128. package/dist/components/checkout/payment-step-form/index.js +77 -0
  129. package/dist/components/checkout/payment-step-form/index.js.map +1 -0
  130. package/dist/components/checkout/payment-step-form/methods/bank-transfer.d.ts +4 -0
  131. package/dist/components/checkout/payment-step-form/methods/bank-transfer.js +24 -0
  132. package/dist/components/checkout/payment-step-form/methods/bank-transfer.js.map +1 -0
  133. package/dist/components/checkout/payment-step-form/methods/card.d.ts +4 -0
  134. package/dist/components/checkout/payment-step-form/methods/card.js +160 -0
  135. package/dist/components/checkout/payment-step-form/methods/card.js.map +1 -0
  136. package/dist/components/checkout/payment-step-form/methods/crypto.d.ts +9 -0
  137. package/dist/components/checkout/payment-step-form/methods/crypto.js +137 -0
  138. package/dist/components/checkout/payment-step-form/methods/crypto.js.map +1 -0
  139. package/dist/components/checkout/payment-step-form/methods/index.d.ts +6 -0
  140. package/dist/components/checkout/payment-step-form/methods/index.js +21 -0
  141. package/dist/components/checkout/payment-step-form/methods/index.js.map +1 -0
  142. package/dist/components/checkout/shipping-step-form.d.ts +3 -0
  143. package/dist/components/checkout/shipping-step-form.js +53 -0
  144. package/dist/components/checkout/shipping-step-form.js.map +1 -0
  145. package/dist/components/index.d.ts +8 -0
  146. package/dist/components/index.js +9 -0
  147. package/dist/components/index.js.map +1 -0
  148. package/dist/components/item/product-card.d.ts +7 -0
  149. package/dist/components/item/product-card.js +9 -0
  150. package/dist/components/item/product-card.js.map +1 -0
  151. package/dist/components/item-selector/button.d.ts +4 -0
  152. package/dist/components/item-selector/button.js +47 -0
  153. package/dist/components/item-selector/button.js.map +1 -0
  154. package/dist/components/item-selector/carousel/index.d.ts +12 -0
  155. package/dist/components/item-selector/carousel/index.js +74 -0
  156. package/dist/components/item-selector/carousel/index.js.map +1 -0
  157. package/dist/components/item-selector/carousel/slider.d.ts +8 -0
  158. package/dist/components/item-selector/carousel/slider.js +12 -0
  159. package/dist/components/item-selector/carousel/slider.js.map +1 -0
  160. package/dist/components/item-selector/index.d.ts +2 -0
  161. package/dist/components/item-selector/index.js +3 -0
  162. package/dist/components/item-selector/index.js.map +1 -0
  163. package/dist/components/item-selector/quantity-indicator.d.ts +9 -0
  164. package/dist/components/item-selector/quantity-indicator.js +16 -0
  165. package/dist/components/item-selector/quantity-indicator.js.map +1 -0
  166. package/dist/components/node-tabs/index.d.ts +14 -0
  167. package/dist/components/node-tabs/index.js +42 -0
  168. package/dist/components/node-tabs/index.js.map +1 -0
  169. package/dist/components/node-tabs/node-image.d.ts +6 -0
  170. package/dist/components/node-tabs/node-image.js +13 -0
  171. package/dist/components/node-tabs/node-image.js.map +1 -0
  172. package/dist/index.d.ts +5 -0
  173. package/dist/index.js +5 -0
  174. package/dist/index.js.map +1 -0
  175. package/dist/service/context.d.ts +8 -0
  176. package/dist/service/context.js +19 -0
  177. package/dist/service/context.js.map +1 -0
  178. package/dist/service/debug.d.ts +10 -0
  179. package/dist/service/debug.js +30 -0
  180. package/dist/service/debug.js.map +1 -0
  181. package/dist/service/impls/standalone/actual-line-item.d.ts +40 -0
  182. package/dist/service/impls/standalone/actual-line-item.js +84 -0
  183. package/dist/service/impls/standalone/actual-line-item.js.map +1 -0
  184. package/dist/service/impls/standalone/get-instance.d.ts +2 -0
  185. package/dist/service/impls/standalone/get-instance.js +39 -0
  186. package/dist/service/impls/standalone/get-instance.js.map +1 -0
  187. package/dist/service/impls/standalone/index.d.ts +67 -0
  188. package/dist/service/impls/standalone/index.js +416 -0
  189. package/dist/service/impls/standalone/index.js.map +1 -0
  190. package/dist/service/impls/standalone/order/firebase.d.ts +2 -0
  191. package/dist/service/impls/standalone/order/firebase.js +13 -0
  192. package/dist/service/impls/standalone/order/firebase.js.map +1 -0
  193. package/dist/service/impls/standalone/order/index.d.ts +24 -0
  194. package/dist/service/impls/standalone/order/index.js +61 -0
  195. package/dist/service/impls/standalone/order/index.js.map +1 -0
  196. package/dist/service/impls/standalone/persistence.d.ts +4 -0
  197. package/dist/service/impls/standalone/persistence.js +22 -0
  198. package/dist/service/impls/standalone/persistence.js.map +1 -0
  199. package/dist/service/path-utils.d.ts +7 -0
  200. package/dist/service/path-utils.js +16 -0
  201. package/dist/service/path-utils.js.map +1 -0
  202. package/dist/service/sep.d.ts +6 -0
  203. package/dist/service/sep.js +6 -0
  204. package/dist/service/sep.js.map +1 -0
  205. package/dist/types/category-node.d.ts +36 -0
  206. package/dist/types/category-node.js +2 -0
  207. package/dist/types/category-node.js.map +1 -0
  208. package/dist/types/checkout.d.ts +33 -0
  209. package/dist/types/checkout.js +2 -0
  210. package/dist/types/checkout.js.map +1 -0
  211. package/dist/types/commerce-config.d.ts +11 -0
  212. package/dist/types/commerce-config.js +2 -0
  213. package/dist/types/commerce-config.js.map +1 -0
  214. package/dist/types/commerce-service.d.ts +109 -0
  215. package/dist/types/commerce-service.js +2 -0
  216. package/dist/types/commerce-service.js.map +1 -0
  217. package/dist/types/family.d.ts +16 -0
  218. package/dist/types/family.js +2 -0
  219. package/dist/types/family.js.map +1 -0
  220. package/dist/types/index.d.ts +13 -0
  221. package/dist/types/index.js +8 -0
  222. package/dist/types/index.js.map +1 -0
  223. package/dist/types/item-selector.d.ts +72 -0
  224. package/dist/types/item-selector.js +2 -0
  225. package/dist/types/item-selector.js.map +1 -0
  226. package/dist/types/line-item.d.ts +14 -0
  227. package/dist/types/line-item.js +2 -0
  228. package/dist/types/line-item.js.map +1 -0
  229. package/dist/types/multi-family-selector-props.d.ts +16 -0
  230. package/dist/types/multi-family-selector-props.js +2 -0
  231. package/dist/types/multi-family-selector-props.js.map +1 -0
  232. package/dist/types/product.d.ts +15 -0
  233. package/dist/types/product.js +2 -0
  234. package/dist/types/product.js.map +1 -0
  235. package/dist/types/promo.d.ts +7 -0
  236. package/dist/types/promo.js +2 -0
  237. package/dist/types/promo.js.map +1 -0
  238. package/dist/types/selection-ui-specifier.d.ts +40 -0
  239. package/dist/types/selection-ui-specifier.js +2 -0
  240. package/dist/types/selection-ui-specifier.js.map +1 -0
  241. package/dist/types/string-mutator.d.ts +9 -0
  242. package/dist/types/string-mutator.js +2 -0
  243. package/dist/types/string-mutator.js.map +1 -0
  244. package/dist/types/token-separators.d.ts +6 -0
  245. package/dist/types/token-separators.js +2 -0
  246. package/dist/types/token-separators.js.map +1 -0
  247. package/dist/util/analytics.d.ts +9 -0
  248. package/dist/util/analytics.js +10 -0
  249. package/dist/util/analytics.js.map +1 -0
  250. package/dist/util/countries.d.ts +7 -0
  251. package/dist/util/countries.js +197 -0
  252. package/dist/util/countries.js.map +1 -0
  253. package/dist/util/error.d.ts +1 -0
  254. package/dist/util/error.js +22 -0
  255. package/dist/util/error.js.map +1 -0
  256. package/dist/util/index.d.ts +15 -0
  257. package/dist/util/index.js +54 -0
  258. package/dist/util/index.js.map +1 -0
  259. package/dist/util/item-selector-options-accessor.d.ts +3 -0
  260. package/dist/util/item-selector-options-accessor.js +27 -0
  261. package/dist/util/item-selector-options-accessor.js.map +1 -0
  262. package/dist/util/line-item-ref.d.ts +8 -0
  263. package/dist/util/line-item-ref.js +15 -0
  264. package/dist/util/line-item-ref.js.map +1 -0
  265. package/dist/util/multi-family-selector-options-accessor.d.ts +3 -0
  266. package/dist/util/multi-family-selector-options-accessor.js +11 -0
  267. package/dist/util/multi-family-selector-options-accessor.js.map +1 -0
  268. package/dist/util/obs-string-mutator.d.ts +8 -0
  269. package/dist/util/obs-string-mutator.js +15 -0
  270. package/dist/util/obs-string-mutator.js.map +1 -0
  271. package/dist/util/product-media-accessor.d.ts +29 -0
  272. package/dist/util/product-media-accessor.js +22 -0
  273. package/dist/util/product-media-accessor.js.map +1 -0
  274. package/dist/util/promo-codes.d.ts +3 -0
  275. package/dist/util/promo-codes.js +100 -0
  276. package/dist/util/promo-codes.js.map +1 -0
  277. package/dist/util/selection-ui-specifiers.d.ts +3 -0
  278. package/dist/util/selection-ui-specifiers.js +24 -0
  279. package/dist/util/selection-ui-specifiers.js.map +1 -0
  280. package/dist/util/square-payment.d.ts +7 -0
  281. package/dist/util/square-payment.js +37 -0
  282. package/dist/util/square-payment.js.map +1 -0
  283. package/dist/util/use-sync-sku-param-w-current-item.d.ts +2 -0
  284. package/dist/util/use-sync-sku-param-w-current-item.js +61 -0
  285. package/dist/util/use-sync-sku-param-w-current-item.js.map +1 -0
  286. package/index.ts +13 -0
  287. package/libreapps-ui.d.ts +108 -0
  288. package/package.json +67 -0
  289. package/service/context.tsx +45 -0
  290. package/service/debug.ts +41 -0
  291. package/service/impls/standalone/actual-line-item.ts +136 -0
  292. package/service/impls/standalone/get-instance.ts +64 -0
  293. package/service/impls/standalone/index.ts +579 -0
  294. package/service/impls/standalone/order/firebase.ts +14 -0
  295. package/service/impls/standalone/order/index.ts +129 -0
  296. package/service/impls/standalone/persistence.ts +33 -0
  297. package/service/path-utils.ts +26 -0
  298. package/service/sep.ts +7 -0
  299. package/tsconfig.json +17 -0
  300. package/types/README.md +2 -0
  301. package/types/category-node.ts +50 -0
  302. package/types/checkout.ts +47 -0
  303. package/types/commerce-config.ts +13 -0
  304. package/types/commerce-service.ts +128 -0
  305. package/types/family.ts +26 -0
  306. package/types/index.ts +15 -0
  307. package/types/item-selector.ts +97 -0
  308. package/types/line-item.ts +29 -0
  309. package/types/multi-family-selector-props.ts +20 -0
  310. package/types/product.ts +21 -0
  311. package/types/promo.ts +10 -0
  312. package/types/selection-ui-specifier.ts +52 -0
  313. package/types/string-mutator.ts +14 -0
  314. package/types/token-separators.ts +7 -0
  315. package/util/analytics.ts +21 -0
  316. package/util/countries.ts +196 -0
  317. package/util/error.ts +34 -0
  318. package/util/index.ts +71 -0
  319. package/util/item-selector-options-accessor.ts +35 -0
  320. package/util/line-item-ref.ts +23 -0
  321. package/util/multi-family-selector-options-accessor.ts +15 -0
  322. package/util/obs-string-mutator.ts +22 -0
  323. package/util/product-media-accessor.ts +58 -0
  324. package/util/promo-codes.ts +106 -0
  325. package/util/selection-ui-specifiers.ts +30 -0
  326. package/util/square-payment.ts +50 -0
  327. package/util/use-sync-sku-param-w-current-item.ts +88 -0
@@ -0,0 +1,28 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { observer } from 'mobx-react-lite';
4
+ import { MediaStack, Skeleton } from '@libreapps/ui/primitives';
5
+ import { useCommerce } from '../..';
6
+ import TitleAndByline from './title-and-byline';
7
+ import { accessItemOptions } from '../../util';
8
+ import { cn } from '@libreapps/ui/util';
9
+ const DEF_MEDIA_CONSTRAINT = { w: 200, h: 200 };
10
+ const SingleFamilySelector = ({ items, Selector, selOptions, scrollable = false, showItemMedia = true, mediaConstraint = DEF_MEDIA_CONSTRAINT, mobile = false, clx = '', titleAreaClx = '' }) => {
11
+ const cmmc = useCommerce();
12
+ const MyTitleAndByline = observer(({ clx = '' }) => {
13
+ const { familyTitle, showFamilyByline } = accessItemOptions(selOptions);
14
+ const title = (familyTitle === 'none' ?
15
+ undefined
16
+ :
17
+ (familyTitle === 'long' ?
18
+ cmmc.currentFamily?.title
19
+ :
20
+ (cmmc.currentFamily?.titleShort ?? cmmc.currentFamily?.title)));
21
+ const byline = (familyTitle !== 'none') && showFamilyByline ? cmmc.currentFamily?.byline : undefined;
22
+ return (_jsx(TitleAndByline, { clx: clx, title: title, byline: byline }));
23
+ });
24
+ const ItemMedia = observer(() => (cmmc.currentItem ? (_jsx(MediaStack, { media: cmmc.currentItem, constrainTo: mediaConstraint, clx: 'mb-2 ' + (scrollable ? 'shrink-0' : '') })) : (_jsx(Skeleton, { className: 'w-[200px] h-[200px] my-2 ' + (scrollable ? 'shrink-0' : '') }))));
25
+ return (_jsxs("div", { className: cn(clx, 'flex flex-col items-center', (scrollable ? 'shrink' : '')), children: [_jsx(MyTitleAndByline, { clx: cn(titleAreaClx, (scrollable ? 'shrink-0' : '')) }), showItemMedia && (_jsx(ItemMedia, {})), items && (_jsx(Selector, { items: items, selectedItemRef: cmmc, selectSku: cmmc.setCurrentItem.bind(cmmc), scrollable: scrollable, mobile: mobile, options: selOptions, clx: (scrollable ? 'shrink' : '') }))] }));
26
+ };
27
+ export default SingleFamilySelector;
28
+ //# sourceMappingURL=single-family-selector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-family-selector.js","sourceRoot":"","sources":["../../../components/buy/single-family-selector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ declare const TitleAndByline: React.FC<{
3
+ title: string | undefined;
4
+ byline?: string | undefined;
5
+ clx?: string;
6
+ bylineClx?: string;
7
+ }>;
8
+ export default TitleAndByline;
@@ -0,0 +1,7 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import { ApplyTypography } from '@libreapps/ui/primitives';
4
+ import { cn } from '@libreapps/ui/util';
5
+ const TitleAndByline = ({ title, byline, clx = '', bylineClx = '' }) => ((title || byline) ? (_jsxs(ApplyTypography, { className: cn('flex flex-col items-center !gap-0 [&>*]:!m-0 ', clx), children: [_jsx("h4", { children: title }), byline && (_jsx("h6", { className: bylineClx, children: byline }))] })) : (null));
6
+ export default TitleAndByline;
7
+ //# sourceMappingURL=title-and-byline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"title-and-byline.js","sourceRoot":"","sources":["../../../components/buy/title-and-byline.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,MAAM,cAAc,GAKf,CAAC,EACJ,KAAK,EACL,MAAM,EACN,GAAG,GAAC,EAAE,EACN,SAAS,GAAC,EAAE,EACb,EAAE,EAAE,CAAC,CAAE,CAAC,KAAK,IAAI,MAAM,CAAC,CAAC,CAAC,CAAC,CACxB,MAAC,eAAe,IAAC,SAAS,EAAE,EAAE,CAAC,+CAA+C,EAAE,GAAG,CAAC,aAClF,uBAAK,KAAK,GAAM,EACf,MAAM,IAAI,CAAC,aAAI,SAAS,EAAE,SAAS,YAAG,MAAM,GAAM,CAAC,IACpC,CACnB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CACX,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { LineItem } from '../../../types';
3
+ declare const CartLineItem: React.FC<{
4
+ item: LineItem;
5
+ className?: string;
6
+ imgSizePx?: number;
7
+ showPromoCode?: boolean;
8
+ itemClicked?: (item: LineItem) => void;
9
+ selected?: boolean;
10
+ }>;
11
+ export default CartLineItem;
@@ -0,0 +1,25 @@
1
+ 'use client';
2
+ import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import React from 'react';
4
+ import { observer } from 'mobx-react-lite';
5
+ import { cn } from '@libreapps/ui/util';
6
+ import { Image } from '@libreapps/ui/primitives';
7
+ import { formatCurrencyValue } from '../../../util';
8
+ import AddToCartWidget from '../../add-to-cart-widget';
9
+ import { useCommerce } from '../../../service/context';
10
+ const DEF_IMG_SIZE = 40;
11
+ const renderTitle = (t) => {
12
+ const toks = t.split(', ');
13
+ if (toks.length === 2) {
14
+ return _jsxs(_Fragment, { children: [_jsxs("p", { children: [toks[0], ","] }), _jsx("p", { className: '', children: toks[1] })] });
15
+ }
16
+ return _jsx("p", { children: t });
17
+ };
18
+ const CartLineItem = observer(({ item, className = '', imgSizePx = DEF_IMG_SIZE, showPromoCode = false, itemClicked, selected = false }) => {
19
+ const cmmc = useCommerce();
20
+ const promoPrice = showPromoCode ? cmmc.itemPromoPrice(item) : undefined;
21
+ return (_jsxs("div", { className: cn('flex flex-col justify-start items-start text-sm font-sans', 'border border-background rounded-sm p-1', selected ? 'border-foreground' : '', (itemClicked && !selected ? 'cursor-pointer hover:!border-muted-4' : 'cursor-default '), className), onClick: () => { itemClicked && itemClicked(item); }, children: [_jsxs("div", { className: 'flex flex-row justify-between items-center gap-1', children: [item.img ? (_jsx(Image, { def: item.img, constrainTo: { w: imgSizePx, h: imgSizePx } })) : ( // placeholder so things align
22
+ _jsx("div", { style: { height: imgSizePx, width: imgSizePx }, className: 'bg-level-3' })), _jsx("div", { className: 'grow leading-tight ml-1', children: renderTitle(item.title) })] }), _jsxs("div", { className: 'flex flex-row items-center justify-between w-full', children: [_jsxs("div", { className: 'flex flex-row items-center', children: [_jsx(AddToCartWidget, { variant: 'minimal', item: item }), item.quantity > 1 && (_jsx("span", { className: 'pl-2.5', children: '@' + formatCurrencyValue(item.price) }))] }), _jsxs("div", { className: 'flex flex-row gap-1 items-center justify-end', children: [_jsx("span", { className: promoPrice ? 'line-through text-muted-2' : '', children: formatCurrencyValue(item.price * item.quantity) }), promoPrice && _jsx("span", { children: formatCurrencyValue(promoPrice * item.quantity) })] })] })] }));
23
+ });
24
+ export default CartLineItem;
25
+ //# sourceMappingURL=cart-line-item.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cart-line-item.js","sourceRoot":"","sources":["../../../../components/cart/cart-panel/cart-line-item.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import React, { type PropsWithChildren } from 'react';
2
+ declare const CartPanel: React.FC<PropsWithChildren & {
3
+ /** fix size and scroll after 'scrollAfter items in teh cart. */
4
+ scrollAfter?: number;
5
+ scrollHeightClx?: string;
6
+ imgSizePx?: number;
7
+ className?: string;
8
+ itemClx?: string;
9
+ listClx?: string;
10
+ noItemsClx?: string;
11
+ totalClx?: string;
12
+ buttonClx?: string;
13
+ showPromoCode?: boolean;
14
+ showShipping?: boolean;
15
+ selectItems?: boolean;
16
+ /** if not provided, 'checkout' button will be rendered */
17
+ handleCheckout?: () => void;
18
+ }>;
19
+ export default CartPanel;
@@ -0,0 +1,65 @@
1
+ 'use client';
2
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { useLayoutEffect } from 'react';
4
+ import { reaction } from 'mobx';
5
+ import { observer } from 'mobx-react-lite';
6
+ import { Button, ScrollArea } from '@libreapps/ui/primitives';
7
+ import { cn } from '@libreapps/ui/util';
8
+ import { useCommerce } from '../../../service/context';
9
+ import { sendFBEvent, sendGAEvent } from '../../../util/analytics';
10
+ import CartLineItem from './cart-line-item';
11
+ import TotalArea from './total-area';
12
+ const CartPanel = observer(({
13
+ /** If provided, 'children' is rendered above the items. eg, a heading. */
14
+ children, scrollAfter = 5, scrollHeightClx = 'h-[70vh]', imgSizePx = 40, className = '', itemClx = '', listClx = '', noItemsClx = '', totalClx = '', buttonClx = '', showPromoCode = false, showShipping = false, selectItems = false, handleCheckout, }) => {
15
+ const cmmc = useCommerce();
16
+ useLayoutEffect(() => {
17
+ if (!cmmc) {
18
+ return;
19
+ }
20
+ if (!cmmc.cartEmpty && !cmmc.currentItem) {
21
+ cmmc.setCurrentItem(cmmc.cartItems[0].sku);
22
+ }
23
+ // return mobx disposer
24
+ return reaction(() => (cmmc.cartItems.length), (itemCount) => {
25
+ if (itemCount > 0) {
26
+ cmmc.setCurrentItem(cmmc.cartItems[0].sku);
27
+ }
28
+ });
29
+ }, []);
30
+ if (!cmmc) {
31
+ return _jsx("div", {});
32
+ }
33
+ const _handleCheckout = () => {
34
+ sendGAEvent('begin_checkout', {
35
+ currency: 'USD',
36
+ value: cmmc.cartTotal,
37
+ items: cmmc.cartItems.map((item) => ({
38
+ item_id: item.sku,
39
+ item_name: item.title,
40
+ item_category: item.familyId,
41
+ price: item.price,
42
+ quantity: item.quantity
43
+ })),
44
+ });
45
+ sendFBEvent('InitiateCheckout', {
46
+ content_ids: cmmc.cartItems.map((item) => item.sku),
47
+ contents: cmmc.cartItems.map(item => ({
48
+ id: item.sku,
49
+ quantity: item.quantity
50
+ })),
51
+ num_items: cmmc.cartItems.length,
52
+ value: cmmc.cartTotal,
53
+ currency: 'USD',
54
+ });
55
+ handleCheckout && handleCheckout();
56
+ };
57
+ const itemClicked = (item) => {
58
+ cmmc.setCurrentItem(item.sku);
59
+ };
60
+ const MainStuff = observer(() => (_jsxs(_Fragment, { children: [cmmc.cartEmpty ? (_jsx("p", { className: cn('text-center my-3', noItemsClx), children: "No items" })) : (_jsx(_Fragment, { children: cmmc.cartItems.map((item) => (_jsx(CartLineItem, { imgSizePx: imgSizePx, item: item, className: cn('mb-2', itemClx), showPromoCode: showPromoCode, itemClicked: selectItems ? itemClicked : undefined, selected: selectItems ? cmmc.currentItem?.sku === item.sku : false }, `mobile-${item.sku}`))) })), _jsx(TotalArea, { clx: totalClx, showPromoCode: showPromoCode, showShipping: showShipping })] })));
61
+ const scrolling = (cmmc.cartItems.length > scrollAfter);
62
+ return (_jsxs("div", { className: cn('border p-4 rounded-lg flex flex-col', className, scrolling ? scrollHeightClx : 'h-auto'), children: [children, scrolling ? (_jsx(ScrollArea, { className: cn('mt-2 w-full shrink py-0', listClx), children: _jsx(MainStuff, {}) })) : (_jsx("div", { className: cn('mt-2 w-full', listClx), children: _jsx(MainStuff, {}) })), handleCheckout && !cmmc.cartEmpty && (_jsx(Button, { onClick: _handleCheckout, variant: 'primary', rounded: 'lg', className: cn('mt-12 mx-auto w-full sm:max-w-[220px]', buttonClx), children: "Checkout" }))] }));
63
+ });
64
+ export default CartPanel;
65
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/cart/cart-panel/index.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ declare const PromoCode: (() => import("react/jsx-runtime").JSX.Element) & {
2
+ displayName: string;
3
+ };
4
+ export default PromoCode;
@@ -0,0 +1,62 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect, useState } from 'react';
4
+ import { useSearchParams } from 'next/navigation';
5
+ import { observer } from 'mobx-react-lite';
6
+ import { useForm } from 'react-hook-form';
7
+ import * as z from 'zod';
8
+ import { zodResolver } from '@hookform/resolvers/zod';
9
+ import { Check } from 'lucide-react';
10
+ import { Button, Input } from '@libreapps/ui/primitives';
11
+ import { Form, FormControl, FormField, FormItem, } from '@libreapps/ui/form';
12
+ import { useCommerce } from '../../../service/context';
13
+ import getPromoFromApi from '../../../util/promo-codes';
14
+ const formSchema = z.object({
15
+ code: z.string().min(1, 'Invalid code'),
16
+ });
17
+ const PromoCode = observer(() => {
18
+ const cmmc = useCommerce();
19
+ const searchParams = useSearchParams();
20
+ const [codeAccepted, setCodeAccepted] = useState(false);
21
+ useEffect(() => {
22
+ const code = searchParams.get('code');
23
+ if (code) {
24
+ getPromoFromApi(code).then((promo) => {
25
+ if (promo) {
26
+ form.setValue('code', code);
27
+ setCodeAccepted(true);
28
+ cmmc.setAppliedPromo(promo);
29
+ }
30
+ });
31
+ }
32
+ }, [searchParams]);
33
+ useEffect(() => {
34
+ if (cmmc.appliedPromo) {
35
+ form.setValue('code', cmmc.appliedPromo.code);
36
+ setCodeAccepted(true);
37
+ }
38
+ }, [cmmc.appliedPromo]);
39
+ const form = useForm({
40
+ resolver: zodResolver(formSchema),
41
+ defaultValues: {
42
+ code: '',
43
+ },
44
+ });
45
+ const applyPromoCode = async (values) => {
46
+ const { code } = values;
47
+ const promo = await getPromoFromApi(code);
48
+ if (!promo) {
49
+ form.setError('code', { message: 'Invalid code' });
50
+ return;
51
+ }
52
+ setCodeAccepted(true);
53
+ cmmc.setAppliedPromo(promo);
54
+ };
55
+ const removePromoCode = () => {
56
+ cmmc.setAppliedPromo(null);
57
+ setCodeAccepted(false);
58
+ };
59
+ return (_jsx("div", { className: 'flex flex-col gap-2 border-t py-1', children: _jsx(Form, { ...form, children: _jsx("form", { onSubmit: form.handleSubmit(applyPromoCode), children: _jsxs("div", { className: 'flex gap-2 items-center', children: [_jsx(FormField, { control: form.control, name: 'code', render: ({ field }) => (_jsx(FormItem, { className: 'w-full', children: _jsx(FormControl, { children: _jsx(Input, { ...field, className: 'h-9', placeholder: 'Discount or invite code', onInput: removePromoCode }) }) })) }), codeAccepted ? (_jsx(Check, {})) : (_jsx(Button, { variant: 'outline', className: '!w-fit !min-w-0 font-inter text-muted text-sm', children: "Apply" }))] }) }) }) }));
60
+ });
61
+ export default PromoCode;
62
+ //# sourceMappingURL=promo-code.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"promo-code.js","sourceRoot":"","sources":["../../../../components/cart/cart-panel/promo-code.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ declare const TotalArea: React.FC<{
3
+ showPromoCode?: boolean;
4
+ showShipping?: boolean;
5
+ clx?: string;
6
+ }>;
7
+ export default TotalArea;
@@ -0,0 +1,14 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import React, { Suspense } from 'react';
4
+ import { observer } from 'mobx-react-lite';
5
+ import { cn } from '@libreapps/ui/util';
6
+ import { formatCurrencyValue } from '../../../util';
7
+ import PromoCode from './promo-code';
8
+ import { useCommerce } from '../../../service/context';
9
+ const TotalArea = observer(({ showPromoCode = false, showShipping = false, clx }) => {
10
+ const cmmc = useCommerce();
11
+ return (_jsxs("div", { className: clx, children: [showPromoCode && (_jsx(Suspense, { children: _jsx(PromoCode, {}) })), (showShipping || showPromoCode) && (_jsxs("div", { className: 'flex flex-col gap-0.5 pb-1.5 text-sm ' + (!showPromoCode ? 'border-t pt-1.5' : ''), children: [_jsxs("p", { className: 'flex justify-between', children: [_jsx("span", { className: 'text-muted-1', children: "Subtotal" }), _jsx("span", { className: 'font-semibold', children: cmmc.cartTotal === 0 ? '0' : formatCurrencyValue(cmmc.cartTotal) })] }), cmmc.promoAppliedCartTotal !== cmmc.cartTotal && (_jsxs("p", { className: 'flex justify-between', children: [_jsx("span", { className: 'text-muted-1', children: "Promo Discount" }), _jsxs("span", { className: 'font-semibold', children: ["-", formatCurrencyValue(cmmc.cartTotal - cmmc.promoAppliedCartTotal)] })] })), showShipping && (_jsxs("p", { className: 'flex justify-between', children: [_jsx("span", { className: 'text-muted-1', children: "Shipping" }), _jsx("span", { className: 'font-semibold', children: "Free Global Shipping" })] }))] })), _jsxs("p", { className: cn('border-t py-2 flex justify-between'), children: ["TOTAL", _jsx("span", { className: 'font-semibold', children: formatCurrencyValue(showPromoCode ? cmmc.promoAppliedCartTotal : cmmc.cartTotal) })] })] }));
12
+ });
13
+ export default TotalArea;
14
+ //# sourceMappingURL=total-area.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"total-area.js","sourceRoot":"","sources":["../../../../components/cart/cart-panel/total-area.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAE,EAAE,EAAE,MAAM,oBAAoB,CAAA;AAEvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,SAAS,MAAM,cAAc,CAAA;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AAEtD,MAAM,SAAS,GAIV,QAAQ,CAAC,CAAC,EACb,aAAa,GAAC,KAAK,EACnB,YAAY,GAAC,KAAK,EAClB,GAAG,EACJ,EAAE,EAAE;IAEH,MAAM,IAAI,GAAG,WAAW,EAAE,CAAA;IAE1B,OAAO,CACL,eAAK,SAAS,EAAE,GAAG,aAClB,aAAa,IAAI,CAChB,KAAC,QAAQ,cACP,KAAC,SAAS,KAAE,GACH,CACZ,EACA,CAAC,YAAY,IAAI,aAAa,CAAC,IAAI,CAClC,eAAK,SAAS,EAAE,uCAAuC,GAAG,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,CAAC,aACjG,aAAG,SAAS,EAAC,sBAAsB,aACjC,eAAM,SAAS,EAAC,cAAc,yBAAgB,EAC9C,eAAM,SAAS,EAAC,eAAe,YAAE,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,GAAQ,IACvG,EACH,IAAI,CAAC,qBAAqB,KAAK,IAAI,CAAC,SAAS,IAAI,CAChD,aAAG,SAAS,EAAC,sBAAsB,aACjC,eAAM,SAAS,EAAC,cAAc,+BAAsB,EACpD,gBAAM,SAAS,EAAC,eAAe,kBAAG,mBAAmB,CAAC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,qBAAqB,CAAC,IAAQ,IACxG,CACL,EACA,YAAY,IAAI,CACf,aAAG,SAAS,EAAC,sBAAsB,aACjC,eAAM,SAAS,EAAC,cAAc,yBAAgB,EAC9C,eAAM,SAAS,EAAC,eAAe,qCAA4B,IACzD,CACL,IACG,CACP,EACC,aAAG,SAAS,EAAE,EAAE,CAAC,oCAAoC,CAAC,sBAEpD,eAAM,SAAS,EAAC,eAAe,YAC5B,mBAAmB,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAC5E,IACL,IACA,CACP,CAAA;AACH,CAAC,CAAC,CAAA;AAEF,eAAe,SAAS,CAAA"}
@@ -0,0 +1,2 @@
1
+ declare const PaymentMethods: React.FC;
2
+ export default PaymentMethods;
@@ -0,0 +1,14 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { LockKeyhole } from 'lucide-react';
3
+ import Amex from './card-icons/amex';
4
+ import Discover from './card-icons/discover';
5
+ import Mastercard from './card-icons/mastercard';
6
+ import Visa from './card-icons/visa';
7
+ import DinersClub from './card-icons/diners-club';
8
+ import Jcb from './card-icons/jcb';
9
+ // <span className='hidden sm:flex text-sm'>Secure payments with</span>
10
+ const PaymentMethods = () => {
11
+ return (_jsxs("div", { className: 'flex gap-1 items-center text-muted-1 pb-3', children: [_jsx(LockKeyhole, { className: 'w-4 h-4' }), _jsx("span", { className: 'hidden sm:flex text-sm', children: "Secure payments with" }), _jsx(Amex, { className: 'w-9 h-5' }), _jsx(Discover, { className: 'w-9 h-5' }), _jsx(Mastercard, { className: 'w-9 h-5' }), _jsx(Visa, { className: 'w-9 h-5' }), _jsx(DinersClub, { className: 'w-9 h-5' }), _jsx(Jcb, { className: 'w-9 h-5' })] }));
12
+ };
13
+ export default PaymentMethods;
14
+ //# sourceMappingURL=card-icon-row.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"card-icon-row.js","sourceRoot":"","sources":["../../../../components/checkout/payment-step-form/card-icon-row.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,IAAI,MAAM,mBAAmB,CAAA;AACpC,OAAO,QAAQ,MAAM,uBAAuB,CAAA;AAC5C,OAAO,UAAU,MAAM,yBAAyB,CAAA;AAChD,OAAO,IAAI,MAAM,mBAAmB,CAAA;AACpC,OAAO,UAAU,MAAM,0BAA0B,CAAA;AACjD,OAAO,GAAG,MAAM,kBAAkB,CAAA;AAElC,6EAA6E;AAE7E,MAAM,cAAc,GAAa,GAAG,EAAE;IACpC,OAAO,CACL,eAAK,SAAS,EAAC,2CAA2C,aACxD,KAAC,WAAW,IAAC,SAAS,EAAC,SAAS,GAAE,EAClC,eAAM,SAAS,EAAC,wBAAwB,qCAA4B,EACpE,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAE,EAC3B,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAE,EAC/B,KAAC,UAAU,IAAC,SAAS,EAAC,SAAS,GAAE,EACjC,KAAC,IAAI,IAAC,SAAS,EAAC,SAAS,GAAE,EAC3B,KAAC,UAAU,IAAC,SAAS,EAAC,SAAS,GAAE,EACjC,KAAC,GAAG,IAAC,SAAS,EAAC,SAAS,GAAE,IACtB,CACP,CAAA;AACH,CAAC,CAAA;AAED,eAAe,cAAc,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Amex: React.FC<LucideProps>;
4
+ export default Amex;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Amex = (props) => (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", role: "img", viewBox: "0 0 38 24", "aria-labelledby": "pi-american_express", ...props, children: [_jsx("title", { id: "pi-american_express", children: "American Express" }), _jsxs("g", { fill: "none", children: [_jsx("path", { fill: "#000", d: "M35,0 L3,0 C1.3,0 0,1.3 0,3 L0,21 C0,22.7 1.4,24 3,24 L35,24 C36.7,24 38,22.7 38,21 L38,3 C38,1.3 36.6,0 35,0 Z", opacity: ".07" }), _jsx("path", { fill: "#006FCF", d: "M35,1 C36.1,1 37,1.9 37,3 L37,21 C37,22.1 36.1,23 35,23 L3,23 C1.9,23 1,22.1 1,21 L1,3 C1,1.9 1.9,1 3,1 L35,1" }), _jsx("path", { fill: "#FFF", d: "M8.971,10.268 L9.745,12.144 L8.203,12.144 L8.971,10.268 Z M25.046,10.346 L22.069,10.346 L22.069,11.173 L24.998,11.173 L24.998,12.412 L22.075,12.412 L22.075,13.334 L25.052,13.334 L25.052,14.073 L27.129,11.828 L25.052,9.488 L25.046,10.346 L25.046,10.346 Z M10.983,8.006 L14.978,8.006 L15.865,9.941 L16.687,8 L27.057,8 L28.135,9.19 L29.25,8 L34.013,8 L30.494,11.852 L33.977,15.68 L29.143,15.68 L28.065,14.49 L26.94,15.68 L10.03,15.68 L9.536,14.49 L8.406,14.49 L7.911,15.68 L4,15.68 L7.286,8 L10.716,8 L10.983,8.006 Z M19.646,9.084 L17.407,9.084 L15.907,12.62 L14.282,9.084 L12.06,9.084 L12.06,13.894 L10,9.084 L8.007,9.084 L5.625,14.596 L7.18,14.596 L7.674,13.406 L10.27,13.406 L10.764,14.596 L13.484,14.596 L13.484,10.661 L15.235,14.602 L16.425,14.602 L18.165,10.673 L18.165,14.603 L19.623,14.603 L19.647,9.083 L19.646,9.084 Z M28.986,11.852 L31.517,9.084 L29.695,9.084 L28.094,10.81 L26.546,9.084 L20.652,9.084 L20.652,14.602 L26.462,14.602 L28.076,12.864 L29.624,14.602 L31.499,14.602 L28.987,11.852 L28.986,11.852 Z" })] })] }));
5
+ export default Amex;
6
+ //# sourceMappingURL=amex.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"amex.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/card-icons/amex.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,IAAI,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC3D,eACG,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,KAAK,EACV,OAAO,EAAC,WAAW,qBACH,qBAAqB,KACjC,KAAK,aAET,gBAAO,EAAE,EAAC,qBAAqB,iCAAyB,EACxD,aAAG,IAAI,EAAC,MAAM,aACZ,eACE,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,iHAAiH,EACnH,OAAO,EAAC,KAAK,GACb,EACF,eACE,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,+GAA+G,GACjH,EACF,eACE,IAAI,EAAC,MAAM,EACX,CAAC,EAAC,0/BAA0/B,GAC5/B,IACA,IACA,CAEP,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const DinersClub: React.FC<LucideProps>;
4
+ export default DinersClub;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const DinersClub = (props) => (_jsxs("svg", { enableBackground: "new 0 0 780 500", viewBox: "0 0 780 500", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsx("path", { d: "m40 0h700c22.092 0 40 17.909 40 40v420c0 22.092-17.908 40-40 40h-700c-22.091 0-40-17.908-40-40v-420c0-22.091 17.909-40 40-40z", fill: "#0079be" }), _jsx("path", { d: "m599.93 251.45c0-99.415-82.98-168.13-173.9-168.1h-78.242c-92.003-.033-167.73 68.705-167.73 168.1 0 90.93 75.727 165.64 167.73 165.2h78.242c90.914.436 173.9-74.294 173.9-165.2z", fill: "#fff" }), _jsx("path", { d: "m348.28 97.43c-84.07.027-152.19 68.308-152.21 152.58.02 84.258 68.144 152.53 152.21 152.56 84.09-.027 152.23-68.303 152.24-152.56-.011-84.272-68.149-152.55-152.24-152.58z", fill: "#0079be" }), _jsx("path", { d: "m252.07 249.6c.08-41.181 25.746-76.297 61.94-90.25v180.48c-36.194-13.948-61.861-49.045-61.94-90.23zm131 90.274v-180.53c36.207 13.92 61.914 49.057 61.979 90.257-.065 41.212-25.772 76.322-61.979 90.269z", fill: "#fff" })] }));
5
+ export default DinersClub;
6
+ //# sourceMappingURL=diners-club.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diners-club.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/card-icons/diners-club.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,UAAU,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAChE,eAAK,gBAAgB,EAAC,iBAAiB,EAAC,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,4BAA4B,KAAK,KAAK,aACxG,eAAM,CAAC,EAAC,+HAA+H,EAAC,IAAI,EAAC,SAAS,GAAE,EACxJ,eAAM,CAAC,EAAC,iLAAiL,EAAC,IAAI,EAAC,MAAM,GAAE,EACvM,eAAM,CAAC,EAAC,4KAA4K,EAAC,IAAI,EAAC,SAAS,GAAE,EACrM,eAAM,CAAC,EAAC,0MAA0M,EAAC,IAAI,EAAC,MAAM,GAAE,IAC5N,CACP,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Discover: React.FC<LucideProps>;
4
+ export default Discover;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Discover = (props) => (_jsxs("svg", { xmlns: "http://www.w3.org/2000/svg", role: "img", viewBox: "0 0 38 24", "aria-labelledby": "pi-discover", ...props, children: [_jsx("title", { id: "pi-discover", children: "Discover" }), _jsx("path", { d: "M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z", fill: "#000", opacity: ".07" }), _jsx("path", { d: "M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32", fill: "#FFF" }), _jsx("path", { d: "M37 16.95V21c0 1.1-.9 2-2 2H23.228c7.896-1.815 12.043-4.601 13.772-6.05z", fill: "#EDA024" }), _jsx("path", { fill: "#494949", d: "M9 11h20v2H9z" }), _jsx("path", { d: "M22 12c0 1.7-1.3 3-3 3s-3-1.4-3-3 1.4-3 3-3c1.7 0 3 1.3 3 3z", fill: "#EDA024" })] }));
5
+ export default Discover;
6
+ //# sourceMappingURL=discover.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"discover.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/card-icons/discover.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,QAAQ,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC/D,eACG,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,KAAK,EACV,OAAO,EAAC,WAAW,qBACH,aAAa,KACzB,KAAK,aAET,gBAAO,EAAE,EAAC,aAAa,yBAAiB,EACxC,eACE,CAAC,EAAC,kFAAkF,EACpF,IAAI,EAAC,MAAM,EACX,OAAO,EAAC,KAAK,GACb,EACF,eAAM,CAAC,EAAC,6EAA6E,EAAC,IAAI,EAAC,MAAM,GAAG,EACpG,eAAM,CAAC,EAAC,0EAA0E,EAAC,IAAI,EAAC,SAAS,GAAG,EACpG,eAAM,IAAI,EAAC,SAAS,EAAC,CAAC,EAAC,eAAe,GAAG,EACzC,eAAM,CAAC,EAAC,8DAA8D,EAAC,IAAI,EAAC,SAAS,GAAG,IACpF,CACP,CAAA;AAED,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Jcb: React.FC<LucideProps>;
4
+ export default Jcb;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Jcb = (props) => (_jsxs("svg", { viewBox: "0 0 750 471", xmlns: "http://www.w3.org/2000/svg", ...props, children: [_jsxs("linearGradient", { id: "a", x1: ".031608%", x2: "99.974315%", y1: "49.999857%", y2: "49.999857%", children: [_jsx("stop", { offset: "0", stopColor: "#007b40" }), _jsx("stop", { offset: "1", stopColor: "#55b330" })] }), _jsxs("linearGradient", { id: "b", x1: ".471693%", x2: "99.986009%", y1: "49.999826%", y2: "49.999826%", children: [_jsx("stop", { offset: "0", stopColor: "#1d2970" }), _jsx("stop", { offset: "1", stopColor: "#006dba" })] }), _jsxs("linearGradient", { id: "c", x1: ".113881%", x2: "99.986%", y1: "50.000896%", y2: "50.000896%", children: [_jsx("stop", { offset: "0", stopColor: "#6e2b2f" }), _jsx("stop", { offset: "1", stopColor: "#e30138" })] }), _jsxs("g", { fill: "none", children: [_jsx("rect", { fill: "#0e4c96", height: "471", rx: "40", width: "750" }), _jsx("path", { d: "m617.243183 346.766281c0 41.614606-33.728291 75.359693-75.359693 75.359693h-409.126667v-297.881058c0-41.6262334 33.733028-75.3704593 75.36486-75.3704593l409.1215-.0004307-.000431 297.892255z", fill: "#fff" }), _jsx("path", { d: "m483.858874 242.044797c11.683825.253488 23.437314-.515991 35.07713.400086 11.78724 2.200795 14.627911 20.042991 4.156336 25.887628-7.141594 3.849604-15.632844 1.432185-23.379012 2.113697h-15.854454zm41.832952-32.14431c2.596665 9.164192-6.237923 17.391631-15.065909 16.130079h-26.767043c.184884-8.642125-.367529-18.021593.272179-26.208903 10.723889.301723 21.548523-.615814 32.209341.48019 4.581405 1.149705 8.413541 4.915859 9.351432 9.598634zm64.428586-135.9032616c.49746 17.5012286.071059 35.9264246.213178 53.7829666-.034453 72.596166.072352 145.193982-.054694 217.789111-.468476 27.207289-24.582372 50.844375-51.600147 51.387391-27.045829.111757-54.094452.015934-81.141353.047803v-109.751206c29.469604-.153488 58.958644.307709 88.416125-.231697 13.667199-.858825 28.632506-9.875899 29.269759-24.91422 1.610381-15.101891-12.631152-25.550189-26.152184-27.20169-5.198323-.135142-5.043964-1.514838 0-2.116712 12.891974-2.786489 23.019579-16.133185 19.22569-29.498743-3.236266-14.057855-18.772947-19.498809-31.69642-19.472461-26.351818-.179156-52.709067-.025409-79.06297-.076658.171189-20.488702-.35448-41.000457.285314-61.473746 2.087651-26.7159874 26.805893-48.7478321 53.447049-48.269708 26.283407-.0002868 52.567978.0005741 78.850653-.0004306z", fill: "url(#a)" }), _jsx("path", { d: "m159.740429 125.040498c.67326-27.1638388 24.88819-50.6114681 51.874368-51.0079582 26.944696-.0825712 53.891407-.0116279 80.836874-.0353144-.074031 90.8852626.148234 181.7764466-.11137 272.6579966-1.038003 26.83358-24.989753 49.833439-51.678945 50.30707-26.996341.098665-53.995081.013782-80.992344.042205v-113.453622c26.222611 6.194616 53.722126 8.831643 80.473394 4.721367 15.992103-2.574874 33.487529-10.424216 38.901855-27.014675 3.985861-14.1913 1.741462-29.125965 2.333766-43.691102v-33.824924h-46.296781c-.20814 22.370604.426012 44.780906-.3351 67.125566-1.248296 13.734107-14.845999 22.459889-27.799718 21.994694-16.066681.168734-47.898878-11.640005-47.898878-11.640005-.080058-41.916996.466764-94.407411.692879-136.181298z", fill: "url(#b)" }), _jsx("path", { d: "m309.719995 197.390136c-2.434207.517244-.490854-8.300677-1.113697-11.646172.165935-21.150327-.346253-42.323013.28342-63.458137 2.082823-26.8287443 26.991544-48.9157165 53.73903-48.288171h78.765812c-.073902 90.88469.147933 181.775284-.111154 272.656278-1.038994 26.834093-24.992062 49.833168-51.681319 50.308358-26.997482.099699-53.99738.014212-80.995789.042636v-124.297304c18.440112 15.128222 43.49944 17.484624 66.471655 17.52586 17.317057-.006029 34.533908-2.675619 51.35019-6.67055v-22.772637c-18.953485 9.446312-41.233335 15.445518-62.243398 10.017669-14.655694-3.650599-25.293855-17.811283-25.056232-32.935762-1.698503-15.72852 7.524118-32.335319 22.981724-37.011349 19.190686-6.00831 40.10755-1.412401 58.096107 6.39794 3.854182 2.018155 7.764316 4.521547 6.221799-1.920751v-17.899686c-30.084562-7.157407-62.101499-9.791953-92.328705-2.004739-8.748245 2.468155-17.271248 6.211028-24.379443 11.956517z", fill: "url(#c)" })] })] }));
5
+ export default Jcb;
6
+ //# sourceMappingURL=jcb.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"jcb.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/card-icons/jcb.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,GAAG,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CACzD,eAAK,OAAO,EAAC,aAAa,EAAC,KAAK,EAAC,4BAA4B,KAAK,KAAK,aACrE,0BAAgB,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,YAAY,EAAC,EAAE,EAAC,YAAY,EAAC,EAAE,EAAC,YAAY,aAClF,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS,GAAE,EACtC,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS,GAAE,IACvB,EACjB,0BAAgB,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,YAAY,EAAC,EAAE,EAAC,YAAY,EAAC,EAAE,EAAC,YAAY,aAClF,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS,GAAE,EAAA,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS,GAAE,IAC7D,EACjB,0BAAgB,EAAE,EAAC,GAAG,EAAC,EAAE,EAAC,UAAU,EAAC,EAAE,EAAC,SAAS,EAAC,EAAE,EAAC,YAAY,EAAC,EAAE,EAAC,YAAY,aAC/E,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS,GAAE,EAAA,eAAM,MAAM,EAAC,GAAG,EAAC,SAAS,EAAC,SAAS,GAAE,IAC7D,EACjB,aAAG,IAAI,EAAC,MAAM,aACZ,eAAM,IAAI,EAAC,SAAS,EAAC,MAAM,EAAC,KAAK,EAAC,EAAE,EAAC,IAAI,EAAC,KAAK,EAAC,KAAK,GAAE,EACvD,eAAM,CAAC,EAAC,gMAAgM,EAAC,IAAI,EAAC,MAAM,GAAE,EACtN,eAAM,CAAC,EAAC,guCAAguC,EAAC,IAAI,EAAC,SAAS,GAAE,EACzvC,eAAM,CAAC,EAAC,2tBAA2tB,EAAC,IAAI,EAAC,SAAS,GAAE,EACpvB,eAAM,CAAC,EAAC,44BAA44B,EAAC,IAAI,EAAC,SAAS,GAAE,IACn6B,IACA,CACP,CAAA;AAED,eAAe,GAAG,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Mastercard: React.FC<LucideProps>;
4
+ export default Mastercard;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Mastercard = (props) => (_jsxs("svg", { viewBox: "0 0 38 24", xmlns: "http://www.w3.org/2000/svg", role: "img", "aria-labelledby": "pi-master", ...props, children: [_jsx("title", { id: "pi-master", children: "Mastercard" }), _jsx("path", { opacity: ".07", d: "M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" }), _jsx("path", { fill: "#fff", d: "M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" }), _jsx("circle", { fill: "#EB001B", cx: "15", cy: "12", r: "7" }), _jsx("circle", { fill: "#F79E1B", cx: "23", cy: "12", r: "7" }), _jsx("path", { fill: "#FF5F00", d: "M22 12c0-2.4-1.2-4.5-3-5.7-1.8 1.3-3 3.4-3 5.7s1.2 4.5 3 5.7c1.8-1.2 3-3.3 3-5.7z" })] }));
5
+ export default Mastercard;
6
+ //# sourceMappingURL=mastercard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mastercard.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/card-icons/mastercard.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,UAAU,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CACjE,eACG,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,KAAK,qBACM,WAAW,KACvB,KAAK,aAET,gBAAO,EAAE,EAAC,WAAW,2BAAmB,EACxC,eACE,OAAO,EAAC,KAAK,EACb,CAAC,EAAC,kFAAkF,GACpF,EACF,eAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,6EAA6E,GAAG,EACpG,iBAAQ,IAAI,EAAC,SAAS,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/C,iBAAQ,IAAI,EAAC,SAAS,EAAC,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,GAAG,GAAG,EAC/C,eACE,IAAI,EAAC,SAAS,EACd,CAAC,EAAC,mFAAmF,GACrF,IACE,CACP,CAAA;AAED,eAAe,UAAU,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Visa: React.FC<LucideProps>;
4
+ export default Visa;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Visa = (props) => (_jsxs("svg", { viewBox: "0 0 38 24", xmlns: "http://www.w3.org/2000/svg", role: "img", "aria-labelledby": "pi-visa", ...props, children: [_jsx("title", { id: "pi-visa", children: "Visa" }), _jsx("path", { opacity: ".07", d: "M35 0H3C1.3 0 0 1.3 0 3v18c0 1.7 1.4 3 3 3h32c1.7 0 3-1.3 3-3V3c0-1.7-1.4-3-3-3z" }), _jsx("path", { fill: "#fff", d: "M35 1c1.1 0 2 .9 2 2v18c0 1.1-.9 2-2 2H3c-1.1 0-2-.9-2-2V3c0-1.1.9-2 2-2h32" }), _jsx("path", { d: "M28.3 10.1H28c-.4 1-.7 1.5-1 3h1.9c-.3-1.5-.3-2.2-.6-3zm2.9 5.9h-1.7c-.1 0-.1 0-.2-.1l-.2-.9-.1-.2h-2.4c-.1 0-.2 0-.2.2l-.3.9c0 .1-.1.1-.1.1h-2.1l.2-.5L27 8.7c0-.5.3-.7.8-.7h1.5c.1 0 .2 0 .2.2l1.4 6.5c.1.4.2.7.2 1.1.1.1.1.1.1.2zm-13.4-.3l.4-1.8c.1 0 .2.1.2.1.7.3 1.4.5 2.1.4.2 0 .5-.1.7-.2.5-.2.5-.7.1-1.1-.2-.2-.5-.3-.8-.5-.4-.2-.8-.4-1.1-.7-1.2-1-.8-2.4-.1-3.1.6-.4.9-.8 1.7-.8 1.2 0 2.5 0 3.1.2h.1c-.1.6-.2 1.1-.4 1.7-.5-.2-1-.4-1.5-.4-.3 0-.6 0-.9.1-.2 0-.3.1-.4.2-.2.2-.2.5 0 .7l.5.4c.4.2.8.4 1.1.6.5.3 1 .8 1.1 1.4.2.9-.1 1.7-.9 2.3-.5.4-.7.6-1.4.6-1.4 0-2.5.1-3.4-.2-.1.2-.1.2-.2.1zm-3.5.3c.1-.7.1-.7.2-1 .5-2.2 1-4.5 1.4-6.7.1-.2.1-.3.3-.3H18c-.2 1.2-.4 2.1-.7 3.2-.3 1.5-.6 3-1 4.5 0 .2-.1.2-.3.2M5 8.2c0-.1.2-.2.3-.2h3.4c.5 0 .9.3 1 .8l.9 4.4c0 .1 0 .1.1.2 0-.1.1-.1.1-.1l2.1-5.1c-.1-.1 0-.2.1-.2h2.1c0 .1 0 .1-.1.2l-3.1 7.3c-.1.2-.1.3-.2.4-.1.1-.3 0-.5 0H9.7c-.1 0-.2 0-.2-.2L7.9 9.5c-.2-.2-.5-.5-.9-.6-.6-.3-1.7-.5-1.9-.5L5 8.2z", fill: "#142688" })] }));
5
+ export default Visa;
6
+ //# sourceMappingURL=visa.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"visa.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/card-icons/visa.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,IAAI,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC3D,eACG,OAAO,EAAC,WAAW,EACnB,KAAK,EAAC,4BAA4B,EAClC,IAAI,EAAC,KAAK,qBACM,SAAS,KACrB,KAAK,aAET,gBAAO,EAAE,EAAC,SAAS,qBAAa,EAChC,eACE,OAAO,EAAC,KAAK,EACb,CAAC,EAAC,kFAAkF,GACpF,EACF,eAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,6EAA6E,GAAG,EACpG,eACE,CAAC,EAAC,86BAA86B,EACh7B,IAAI,EAAC,SAAS,GACd,IACE,CACP,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,3 @@
1
+ import type { PropsWithChildren } from 'react';
2
+ declare const CCButton: React.FC<PropsWithChildren>;
3
+ export default CCButton;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Button } from '@libreapps/ui/primitives';
3
+ import PaymentMethods from './card-icon-row';
4
+ const CCButton = ({ children }) => (_jsxs(Button, { variant: 'outline', size: 'lg', className: 'flex items-center', children: [_jsx("div", { className: 'font-sans text-base mr-2 text-muted', children: "CC" }), _jsx(PaymentMethods, {}), children] }));
5
+ export default CCButton;
6
+ //# sourceMappingURL=cc-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cc-button.js","sourceRoot":"","sources":["../../../../components/checkout/payment-step-form/cc-button.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAA;AAEjD,OAAO,cAAc,MAAM,iBAAiB,CAAA;AAG5C,MAAM,QAAQ,GAAgC,CAAC,EAC7C,QAAQ,EACT,EAAE,EAAE,CAAC,CACJ,MAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,EAAC,mBAAmB,aAC/D,cAAK,SAAS,EAAC,qCAAqC,mBAAS,EAC7D,KAAC,cAAc,KAAG,EACjB,QAAQ,IACF,CACV,CAAA;AAGD,eAAe,QAAQ,CAAA"}
@@ -0,0 +1,5 @@
1
+ import type { ContactFormType } from '../../../types';
2
+ declare const ContactForm: React.FC<{
3
+ form: ContactFormType;
4
+ }>;
5
+ export default ContactForm;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Input } from '@libreapps/ui/primitives';
3
+ import { Form, FormControl, FormField, FormItem, FormMessage, } from '@libreapps/ui/form';
4
+ const ContactForm = ({ form, }) => (_jsx(Form, { ...form, children: _jsx("form", { className: 'text-left', children: _jsxs("div", { className: 'flex flex-col gap-1 sm:gap-2', children: [_jsx(FormField, { control: form.control, name: 'name', render: ({ field }) => (_jsxs(FormItem, { className: 'w-full', children: [_jsx(FormControl, { children: _jsx(Input, { ...field, placeholder: 'Full name' }) }), _jsx(FormMessage, { className: 'py-0 space-y-0 !m-0' })] })) }), _jsx(FormField, { control: form.control, name: 'email', render: ({ field }) => (_jsxs(FormItem, { className: 'w-full', children: [_jsx(FormControl, { children: _jsx(Input, { ...field, placeholder: 'Email' }) }), _jsx(FormMessage, { className: 'py-0 space-y-0 !m-0' })] })) })] }) }) }));
5
+ export default ContactForm;
6
+ //# sourceMappingURL=contact-form.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"contact-form.js","sourceRoot":"","sources":["../../../../components/checkout/payment-step-form/contact-form.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,0BAA0B,CAAA;AAEhD,OAAO,EACL,IAAI,EACJ,WAAW,EACX,SAAS,EACT,QAAQ,EACR,WAAW,GACZ,MAAM,oBAAoB,CAAA;AAI3B,MAAM,WAAW,GAEZ,CAAC,EACJ,IAAI,GACL,EAAE,EAAE,CAAC,CACJ,KAAC,IAAI,OAAK,IAAI,YACZ,eAAM,SAAS,EAAC,WAAW,YACzB,eAAK,SAAS,EAAC,8BAA8B,aAC3C,KAAC,SAAS,IACR,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAC,MAAM,EACX,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,MAAC,QAAQ,IAAC,SAAS,EAAC,QAAQ,aAC1B,KAAC,WAAW,cACV,KAAC,KAAK,OAAK,KAAK,EAAE,WAAW,EAAC,WAAW,GAAE,GAC/B,EACd,KAAC,WAAW,IAAC,SAAS,EAAC,qBAAqB,GAAE,IACrC,CACZ,GACD,EACF,KAAC,SAAS,IACR,OAAO,EAAE,IAAI,CAAC,OAAO,EACrB,IAAI,EAAC,OAAO,EACZ,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CACrB,MAAC,QAAQ,IAAC,SAAS,EAAC,QAAQ,aAC1B,KAAC,WAAW,cACV,KAAC,KAAK,OAAK,KAAK,EAAE,WAAW,EAAC,OAAO,GAAE,GAC3B,EACd,KAAC,WAAW,IAAC,SAAS,EAAC,qBAAqB,GAAE,IACrC,CACZ,GACD,IACE,GACD,GACF,CACR,CAAA;AAED,eAAe,WAAW,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Btc: React.FC<LucideProps>;
4
+ export default Btc;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Btc = (props) => (_jsxs("svg", { viewBox: "0.004 0 64 64", ...props, children: [_jsx("path", { d: "M63.04 39.741c-4.274 17.143-21.638 27.575-38.783 23.301C7.12 58.768-3.313 41.404.962 24.262 5.234 7.117 22.597-3.317 39.737.957c17.144 4.274 27.576 21.64 23.302 38.784z", fill: "#f7931a" }), _jsx("path", { d: "M46.11 27.441c.636-4.258-2.606-6.547-7.039-8.074l1.438-5.768-3.512-.875-1.4 5.616c-.922-.23-1.87-.447-2.812-.662l1.41-5.653-3.509-.875-1.439 5.766c-.764-.174-1.514-.346-2.242-.527l.004-.018-4.842-1.209-.934 3.75s2.605.597 2.55.634c1.422.355 1.68 1.296 1.636 2.042l-1.638 6.571c.098.025.225.061.365.117l-.37-.092-2.297 9.205c-.174.432-.615 1.08-1.609.834.035.051-2.552-.637-2.552-.637l-1.743 4.02 4.57 1.139c.85.213 1.683.436 2.502.646l-1.453 5.835 3.507.875 1.44-5.772c.957.26 1.887.5 2.797.726L27.504 50.8l3.511.875 1.453-5.823c5.987 1.133 10.49.676 12.383-4.738 1.527-4.36-.075-6.875-3.225-8.516 2.294-.531 4.022-2.04 4.483-5.157zM38.087 38.69c-1.086 4.36-8.426 2.004-10.807 1.412l1.928-7.729c2.38.594 10.011 1.77 8.88 6.317zm1.085-11.312c-.99 3.966-7.1 1.951-9.083 1.457l1.748-7.01c1.983.494 8.367 1.416 7.335 5.553z", fill: "#ffffff" })] }));
5
+ export default Btc;
6
+ //# sourceMappingURL=btc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"btc.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/crypto-icons/btc.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,GAAG,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC1D,eAAK,OAAO,EAAC,eAAe,KAAK,KAAK,aACrC,eAAM,CAAC,EAAC,0KAA0K,EAAC,IAAI,EAAC,SAAS,GAAE,EACnM,eAAM,CAAC,EAAC,qzBAAqzB,EAAC,IAAI,EAAC,SAAS,GAAE,IACz0B,CACN,CAAA;AAED,eAAe,GAAG,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Eth: React.FC<LucideProps>;
4
+ export default Eth;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Eth = (props) => (_jsx("svg", { viewBox: "0 0 32 32", ...props, children: _jsxs("g", { fill: "none", fillRule: "evenodd", children: [_jsx("circle", { cx: "16", cy: "16", r: "16", fill: "#627EEA" }), _jsxs("g", { fill: "#FFF", fillRule: "nonzero", children: [_jsx("path", { fillOpacity: ".602", d: "M16.498 4v8.87l7.497 3.35z" }), _jsx("path", { d: "M16.498 4L9 16.22l7.498-3.35z" }), _jsx("path", { fillOpacity: ".602", d: "M16.498 21.968v6.027L24 17.616z" }), _jsx("path", { d: "M16.498 27.995v-6.028L9 17.616z" }), _jsx("path", { fillOpacity: ".2", d: "M16.498 20.573l7.497-4.353-7.497-3.348z" }), _jsx("path", { fillOpacity: ".602", d: "M9 16.22l7.498 4.353v-7.701z" })] })] }) }));
5
+ export default Eth;
6
+ //# sourceMappingURL=eth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eth.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/crypto-icons/eth.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,GAAG,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC1D,cAAK,OAAO,EAAC,WAAW,KAAK,KAAK,YACjC,aAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,aAChC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAE,EAC/C,aAAG,IAAI,EAAC,MAAM,EAAC,QAAQ,EAAC,SAAS,aAChC,eAAM,WAAW,EAAC,MAAM,EAAC,CAAC,EAAC,4BAA4B,GAAE,EACzD,eAAM,CAAC,EAAC,+BAA+B,GAAE,EACzC,eAAM,WAAW,EAAC,MAAM,EAAC,CAAC,EAAC,iCAAiC,GAAE,EAC9D,eAAM,CAAC,EAAC,iCAAiC,GAAE,EAC3C,eAAM,WAAW,EAAC,IAAI,EAAC,CAAC,EAAC,yCAAyC,GAAE,EACpE,eAAM,WAAW,EAAC,MAAM,EAAC,CAAC,EAAC,8BAA8B,GAAE,IACxD,IACD,GACC,CACN,CAAA;AAED,eAAe,GAAG,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const Usdt: React.FC<LucideProps>;
4
+ export default Usdt;
@@ -0,0 +1,6 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import React from 'react';
3
+ import {} from 'lucide-react';
4
+ const Usdt = (props) => (_jsx("svg", { viewBox: "0 0 32 32", ...props, children: _jsxs("g", { fill: "none", "fill-rule": "evenodd", children: [_jsx("circle", { cx: "16", cy: "16", r: "16", fill: "#26A17B" }), _jsx("path", { fill: "#FFF", d: "M17.922 17.383v-.002c-.11.008-.677.042-1.942.042-1.01 0-1.721-.03-1.971-.042v.003c-3.888-.171-6.79-.848-6.79-1.658 0-.809 2.902-1.486 6.79-1.66v2.644c.254.018.982.061 1.988.061 1.207 0 1.812-.05 1.925-.06v-2.643c3.88.173 6.775.85 6.775 1.658 0 .81-2.895 1.485-6.775 1.657m0-3.59v-2.366h5.414V7.819H8.595v3.608h5.414v2.365c-4.4.202-7.709 1.074-7.709 2.118 0 1.044 3.309 1.915 7.709 2.118v7.582h3.913v-7.584c4.393-.202 7.694-1.073 7.694-2.116 0-1.043-3.301-1.914-7.694-2.117" })] }) }));
5
+ export default Usdt;
6
+ //# sourceMappingURL=usdt.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"usdt.js","sourceRoot":"","sources":["../../../../../components/checkout/payment-step-form/crypto-icons/usdt.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,MAAM,IAAI,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC3D,cAAK,OAAO,EAAC,WAAW,KAAK,KAAK,YACjC,aAAG,IAAI,EAAC,MAAM,eAAW,SAAS,aAClC,iBAAQ,EAAE,EAAC,IAAI,EAAC,EAAE,EAAC,IAAI,EAAC,CAAC,EAAC,IAAI,EAAC,IAAI,EAAC,SAAS,GAAE,EAC/C,eAAM,IAAI,EAAC,MAAM,EAAC,CAAC,EAAC,0dAA0d,GAAE,IAC5e,GACC,CACN,CAAA;AAED,eAAe,IAAI,CAAA"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { CheckoutStepComponentProps } from '../../../types';
3
+ declare const PaymentStepForm: React.FC<CheckoutStepComponentProps>;
4
+ export default PaymentStepForm;