@hanzo/commerce 7.3.5 → 7.3.7

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 (322) hide show
  1. package/components/checkout/payment-step-form/methods/card.tsx +11 -11
  2. package/dist/components/Icons.d.ts +18 -0
  3. package/dist/components/Icons.jsx +19 -0
  4. package/dist/components/Icons.jsx.map +1 -0
  5. package/dist/components/add-to-cart-widget.d.ts +11 -0
  6. package/dist/components/add-to-cart-widget.jsx +99 -0
  7. package/dist/components/add-to-cart-widget.jsx.map +1 -0
  8. package/dist/components/buy/buy-card.d.ts +30 -0
  9. package/dist/components/buy/buy-card.jsx +123 -0
  10. package/dist/components/buy/buy-card.jsx.map +1 -0
  11. package/dist/components/buy/carousel-buy-card.d.ts +12 -0
  12. package/dist/components/buy/carousel-buy-card.jsx +99 -0
  13. package/dist/components/buy/carousel-buy-card.jsx.map +1 -0
  14. package/dist/components/buy/multi-family/all-variants-carousel.d.ts +4 -0
  15. package/dist/components/buy/multi-family/all-variants-carousel.jsx +147 -0
  16. package/dist/components/buy/multi-family/all-variants-carousel.jsx.map +1 -0
  17. package/dist/components/buy/multi-family/family-carousel/index.d.ts +4 -0
  18. package/dist/components/buy/multi-family/family-carousel/index.jsx +34 -0
  19. package/dist/components/buy/multi-family/family-carousel/index.jsx.map +1 -0
  20. package/dist/components/buy/multi-family/family-carousel/slide.d.ts +11 -0
  21. package/dist/components/buy/multi-family/family-carousel/slide.jsx +41 -0
  22. package/dist/components/buy/multi-family/family-carousel/slide.jsx.map +1 -0
  23. package/dist/components/buy/multi-family/family-carousel/state.d.ts +20 -0
  24. package/dist/components/buy/multi-family/family-carousel/state.js +59 -0
  25. package/dist/components/buy/multi-family/family-carousel/state.js.map +1 -0
  26. package/dist/components/buy/multi-family/index.d.ts +2 -0
  27. package/dist/components/buy/multi-family/index.js +3 -0
  28. package/dist/components/buy/multi-family/index.js.map +1 -0
  29. package/dist/components/buy/single-family-selector.d.ts +15 -0
  30. package/dist/components/buy/single-family-selector.jsx +31 -0
  31. package/dist/components/buy/single-family-selector.jsx.map +1 -0
  32. package/dist/components/buy/title-and-byline.d.ts +8 -0
  33. package/dist/components/buy/title-and-byline.jsx +9 -0
  34. package/dist/components/buy/title-and-byline.jsx.map +1 -0
  35. package/dist/components/cart/cart-panel/cart-line-item.d.ts +11 -0
  36. package/dist/components/cart/cart-panel/cart-line-item.jsx +39 -0
  37. package/dist/components/cart/cart-panel/cart-line-item.jsx.map +1 -0
  38. package/dist/components/cart/cart-panel/index.d.ts +19 -0
  39. package/dist/components/cart/cart-panel/index.jsx +79 -0
  40. package/dist/components/cart/cart-panel/index.jsx.map +1 -0
  41. package/dist/components/cart/cart-panel/promo-code.d.ts +4 -0
  42. package/dist/components/cart/cart-panel/promo-code.jsx +73 -0
  43. package/dist/components/cart/cart-panel/promo-code.jsx.map +1 -0
  44. package/dist/components/cart/cart-panel/total-area.d.ts +7 -0
  45. package/dist/components/cart/cart-panel/total-area.jsx +37 -0
  46. package/dist/components/cart/cart-panel/total-area.jsx.map +1 -0
  47. package/dist/components/checkout/payment-step-form/card-icon-row.d.ts +2 -0
  48. package/dist/components/checkout/payment-step-form/card-icon-row.jsx +22 -0
  49. package/dist/components/checkout/payment-step-form/card-icon-row.jsx.map +1 -0
  50. package/dist/components/checkout/payment-step-form/card-icons/amex.d.ts +4 -0
  51. package/dist/components/checkout/payment-step-form/card-icons/amex.jsx +12 -0
  52. package/dist/components/checkout/payment-step-form/card-icons/amex.jsx.map +1 -0
  53. package/dist/components/checkout/payment-step-form/card-icons/diners-club.d.ts +4 -0
  54. package/dist/components/checkout/payment-step-form/card-icons/diners-club.jsx +10 -0
  55. package/dist/components/checkout/payment-step-form/card-icons/diners-club.jsx.map +1 -0
  56. package/dist/components/checkout/payment-step-form/card-icons/discover.d.ts +4 -0
  57. package/dist/components/checkout/payment-step-form/card-icons/discover.jsx +12 -0
  58. package/dist/components/checkout/payment-step-form/card-icons/discover.jsx.map +1 -0
  59. package/dist/components/checkout/payment-step-form/card-icons/jcb.d.ts +4 -0
  60. package/dist/components/checkout/payment-step-form/card-icons/jcb.jsx +23 -0
  61. package/dist/components/checkout/payment-step-form/card-icons/jcb.jsx.map +1 -0
  62. package/dist/components/checkout/payment-step-form/card-icons/mastercard.d.ts +4 -0
  63. package/dist/components/checkout/payment-step-form/card-icons/mastercard.jsx +12 -0
  64. package/dist/components/checkout/payment-step-form/card-icons/mastercard.jsx.map +1 -0
  65. package/dist/components/checkout/payment-step-form/card-icons/visa.d.ts +4 -0
  66. package/dist/components/checkout/payment-step-form/card-icons/visa.jsx +10 -0
  67. package/dist/components/checkout/payment-step-form/card-icons/visa.jsx.map +1 -0
  68. package/dist/components/checkout/payment-step-form/cc-button.d.ts +3 -0
  69. package/dist/components/checkout/payment-step-form/cc-button.jsx +9 -0
  70. package/dist/components/checkout/payment-step-form/cc-button.jsx.map +1 -0
  71. package/dist/components/checkout/payment-step-form/contact-form.d.ts +5 -0
  72. package/dist/components/checkout/payment-step-form/contact-form.jsx +21 -0
  73. package/dist/components/checkout/payment-step-form/contact-form.jsx.map +1 -0
  74. package/dist/components/checkout/payment-step-form/crypto-icons/btc.d.ts +4 -0
  75. package/dist/components/checkout/payment-step-form/crypto-icons/btc.jsx +8 -0
  76. package/dist/components/checkout/payment-step-form/crypto-icons/btc.jsx.map +1 -0
  77. package/dist/components/checkout/payment-step-form/crypto-icons/eth.d.ts +4 -0
  78. package/dist/components/checkout/payment-step-form/crypto-icons/eth.jsx +17 -0
  79. package/dist/components/checkout/payment-step-form/crypto-icons/eth.jsx.map +1 -0
  80. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.d.ts +4 -0
  81. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.jsx +10 -0
  82. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.jsx.map +1 -0
  83. package/dist/components/checkout/payment-step-form/index.d.ts +4 -0
  84. package/dist/components/checkout/payment-step-form/index.jsx +85 -0
  85. package/dist/components/checkout/payment-step-form/index.jsx.map +1 -0
  86. package/dist/components/checkout/payment-step-form/methods/bank-transfer.d.ts +4 -0
  87. package/dist/components/checkout/payment-step-form/methods/bank-transfer.jsx +44 -0
  88. package/dist/components/checkout/payment-step-form/methods/bank-transfer.jsx.map +1 -0
  89. package/dist/components/checkout/payment-step-form/methods/card.d.ts +4 -0
  90. package/dist/components/checkout/payment-step-form/methods/card.jsx +182 -0
  91. package/dist/components/checkout/payment-step-form/methods/card.jsx.map +1 -0
  92. package/dist/components/checkout/payment-step-form/methods/crypto.d.ts +9 -0
  93. package/dist/components/checkout/payment-step-form/methods/crypto.jsx +167 -0
  94. package/dist/components/checkout/payment-step-form/methods/crypto.jsx.map +1 -0
  95. package/dist/components/checkout/payment-step-form/methods/index.d.ts +6 -0
  96. package/dist/components/checkout/payment-step-form/methods/index.js +21 -0
  97. package/dist/components/checkout/payment-step-form/methods/index.js.map +1 -0
  98. package/dist/components/checkout/shipping-step-form.d.ts +3 -0
  99. package/dist/components/checkout/shipping-step-form.jsx +105 -0
  100. package/dist/components/checkout/shipping-step-form.jsx.map +1 -0
  101. package/dist/components/index.d.ts +8 -0
  102. package/dist/components/index.js +9 -0
  103. package/dist/components/index.js.map +1 -0
  104. package/dist/components/item/product-card.d.ts +7 -0
  105. package/dist/components/item/product-card.jsx +21 -0
  106. package/dist/components/item/product-card.jsx.map +1 -0
  107. package/dist/components/item-selector/button.d.ts +4 -0
  108. package/dist/components/item-selector/button.jsx +65 -0
  109. package/dist/components/item-selector/button.jsx.map +1 -0
  110. package/dist/components/item-selector/carousel/index.d.ts +12 -0
  111. package/dist/components/item-selector/carousel/index.jsx +101 -0
  112. package/dist/components/item-selector/carousel/index.jsx.map +1 -0
  113. package/dist/components/item-selector/carousel/slider.d.ts +8 -0
  114. package/dist/components/item-selector/carousel/slider.jsx +11 -0
  115. package/dist/components/item-selector/carousel/slider.jsx.map +1 -0
  116. package/dist/components/item-selector/index.d.ts +2 -0
  117. package/dist/components/item-selector/index.js +3 -0
  118. package/dist/components/item-selector/index.js.map +1 -0
  119. package/dist/components/item-selector/quantity-indicator.d.ts +9 -0
  120. package/dist/components/item-selector/quantity-indicator.jsx +23 -0
  121. package/dist/components/item-selector/quantity-indicator.jsx.map +1 -0
  122. package/dist/components/node-tabs/index.d.ts +14 -0
  123. package/dist/components/node-tabs/index.jsx +48 -0
  124. package/dist/components/node-tabs/index.jsx.map +1 -0
  125. package/dist/components/node-tabs/node-image.d.ts +6 -0
  126. package/dist/components/node-tabs/node-image.jsx +12 -0
  127. package/dist/components/node-tabs/node-image.jsx.map +1 -0
  128. package/dist/index.d.ts +5 -0
  129. package/dist/index.js +5 -0
  130. package/dist/index.js.map +1 -0
  131. package/dist/service/context.d.ts +8 -0
  132. package/dist/service/context.jsx +20 -0
  133. package/dist/service/context.jsx.map +1 -0
  134. package/dist/service/debug.d.ts +10 -0
  135. package/dist/service/debug.js +30 -0
  136. package/dist/service/debug.js.map +1 -0
  137. package/dist/service/impls/standalone/actual-line-item.d.ts +40 -0
  138. package/dist/service/impls/standalone/actual-line-item.js +84 -0
  139. package/dist/service/impls/standalone/actual-line-item.js.map +1 -0
  140. package/dist/service/impls/standalone/get-instance.d.ts +2 -0
  141. package/dist/service/impls/standalone/get-instance.js +39 -0
  142. package/dist/service/impls/standalone/get-instance.js.map +1 -0
  143. package/dist/service/impls/standalone/index.d.ts +67 -0
  144. package/dist/service/impls/standalone/index.js +416 -0
  145. package/dist/service/impls/standalone/index.js.map +1 -0
  146. package/dist/service/impls/standalone/order/firebase.d.ts +2 -0
  147. package/dist/service/impls/standalone/order/firebase.js +13 -0
  148. package/dist/service/impls/standalone/order/firebase.js.map +1 -0
  149. package/dist/service/impls/standalone/order/index.d.ts +24 -0
  150. package/dist/service/impls/standalone/order/index.js +61 -0
  151. package/dist/service/impls/standalone/order/index.js.map +1 -0
  152. package/dist/service/impls/standalone/persistence.d.ts +4 -0
  153. package/dist/service/impls/standalone/persistence.js +22 -0
  154. package/dist/service/impls/standalone/persistence.js.map +1 -0
  155. package/dist/service/path-utils.d.ts +7 -0
  156. package/dist/service/path-utils.js +16 -0
  157. package/dist/service/path-utils.js.map +1 -0
  158. package/dist/service/sep.d.ts +6 -0
  159. package/dist/service/sep.js +6 -0
  160. package/dist/service/sep.js.map +1 -0
  161. package/dist/types/category-node.d.ts +36 -0
  162. package/dist/types/category-node.js +2 -0
  163. package/dist/types/category-node.js.map +1 -0
  164. package/dist/types/checkout.d.ts +33 -0
  165. package/dist/types/checkout.js +2 -0
  166. package/dist/types/checkout.js.map +1 -0
  167. package/dist/types/commerce-config.d.ts +11 -0
  168. package/dist/types/commerce-config.js +2 -0
  169. package/dist/types/commerce-config.js.map +1 -0
  170. package/dist/types/commerce-service.d.ts +109 -0
  171. package/dist/types/commerce-service.js +2 -0
  172. package/dist/types/commerce-service.js.map +1 -0
  173. package/dist/types/components/Icons.d.ts +18 -0
  174. package/dist/types/components/add-to-cart-widget.d.ts +11 -0
  175. package/dist/types/components/buy/buy-card.d.ts +30 -0
  176. package/dist/types/components/buy/carousel-buy-card.d.ts +12 -0
  177. package/dist/types/components/buy/multi-family/all-variants-carousel.d.ts +4 -0
  178. package/dist/types/components/buy/multi-family/family-carousel/index.d.ts +4 -0
  179. package/dist/types/components/buy/multi-family/family-carousel/slide.d.ts +11 -0
  180. package/dist/types/components/buy/multi-family/family-carousel/state.d.ts +20 -0
  181. package/dist/types/components/buy/multi-family/index.d.ts +2 -0
  182. package/dist/types/components/buy/single-family-selector.d.ts +15 -0
  183. package/dist/types/components/buy/title-and-byline.d.ts +8 -0
  184. package/dist/types/components/cart/cart-panel/cart-line-item.d.ts +11 -0
  185. package/dist/types/components/cart/cart-panel/index.d.ts +19 -0
  186. package/dist/types/components/cart/cart-panel/promo-code.d.ts +4 -0
  187. package/dist/types/components/cart/cart-panel/total-area.d.ts +7 -0
  188. package/dist/types/components/checkout/payment-step-form/card-icon-row.d.ts +2 -0
  189. package/dist/types/components/checkout/payment-step-form/card-icons/amex.d.ts +4 -0
  190. package/dist/types/components/checkout/payment-step-form/card-icons/diners-club.d.ts +4 -0
  191. package/dist/types/components/checkout/payment-step-form/card-icons/discover.d.ts +4 -0
  192. package/dist/types/components/checkout/payment-step-form/card-icons/jcb.d.ts +4 -0
  193. package/dist/types/components/checkout/payment-step-form/card-icons/mastercard.d.ts +4 -0
  194. package/dist/types/components/checkout/payment-step-form/card-icons/visa.d.ts +4 -0
  195. package/dist/types/components/checkout/payment-step-form/cc-button.d.ts +3 -0
  196. package/dist/types/components/checkout/payment-step-form/contact-form.d.ts +5 -0
  197. package/dist/types/components/checkout/payment-step-form/crypto-icons/btc.d.ts +4 -0
  198. package/dist/types/components/checkout/payment-step-form/crypto-icons/eth.d.ts +4 -0
  199. package/dist/types/components/checkout/payment-step-form/crypto-icons/usdt.d.ts +4 -0
  200. package/dist/types/components/checkout/payment-step-form/index.d.ts +4 -0
  201. package/dist/types/components/checkout/payment-step-form/methods/bank-transfer.d.ts +4 -0
  202. package/dist/types/components/checkout/payment-step-form/methods/card.d.ts +4 -0
  203. package/dist/types/components/checkout/payment-step-form/methods/crypto.d.ts +9 -0
  204. package/dist/types/components/checkout/payment-step-form/methods/index.d.ts +6 -0
  205. package/dist/types/components/checkout/shipping-step-form.d.ts +3 -0
  206. package/dist/types/components/index.d.ts +8 -0
  207. package/dist/types/components/item/product-card.d.ts +7 -0
  208. package/dist/types/components/item-selector/button.d.ts +4 -0
  209. package/dist/types/components/item-selector/carousel/index.d.ts +12 -0
  210. package/dist/types/components/item-selector/carousel/slider.d.ts +8 -0
  211. package/dist/types/components/item-selector/index.d.ts +2 -0
  212. package/dist/types/components/item-selector/quantity-indicator.d.ts +9 -0
  213. package/dist/types/components/node-tabs/index.d.ts +14 -0
  214. package/dist/types/components/node-tabs/node-image.d.ts +6 -0
  215. package/dist/types/family.d.ts +16 -0
  216. package/dist/types/family.js +2 -0
  217. package/dist/types/family.js.map +1 -0
  218. package/dist/types/index.d.ts +13 -0
  219. package/dist/types/index.js +8 -0
  220. package/dist/types/index.js.map +1 -0
  221. package/dist/types/item-selector.d.ts +72 -0
  222. package/dist/types/item-selector.js +2 -0
  223. package/dist/types/item-selector.js.map +1 -0
  224. package/dist/types/line-item.d.ts +14 -0
  225. package/dist/types/line-item.js +2 -0
  226. package/dist/types/line-item.js.map +1 -0
  227. package/dist/types/multi-family-selector-props.d.ts +16 -0
  228. package/dist/types/multi-family-selector-props.js +2 -0
  229. package/dist/types/multi-family-selector-props.js.map +1 -0
  230. package/dist/types/product.d.ts +15 -0
  231. package/dist/types/product.js +2 -0
  232. package/dist/types/product.js.map +1 -0
  233. package/dist/types/promo.d.ts +7 -0
  234. package/dist/types/promo.js +2 -0
  235. package/dist/types/promo.js.map +1 -0
  236. package/dist/types/selection-ui-specifier.d.ts +40 -0
  237. package/dist/types/selection-ui-specifier.js +2 -0
  238. package/dist/types/selection-ui-specifier.js.map +1 -0
  239. package/dist/types/service/context.d.ts +8 -0
  240. package/dist/types/service/debug.d.ts +10 -0
  241. package/dist/types/service/impls/standalone/actual-line-item.d.ts +40 -0
  242. package/dist/types/service/impls/standalone/get-instance.d.ts +2 -0
  243. package/dist/types/service/impls/standalone/index.d.ts +67 -0
  244. package/dist/types/service/impls/standalone/order/firebase.d.ts +2 -0
  245. package/dist/types/service/impls/standalone/order/index.d.ts +24 -0
  246. package/dist/types/service/impls/standalone/persistence.d.ts +4 -0
  247. package/dist/types/service/path-utils.d.ts +7 -0
  248. package/dist/types/service/sep.d.ts +6 -0
  249. package/dist/types/string-mutator.d.ts +9 -0
  250. package/dist/types/string-mutator.js +2 -0
  251. package/dist/types/string-mutator.js.map +1 -0
  252. package/dist/types/token-separators.d.ts +6 -0
  253. package/dist/types/token-separators.js +2 -0
  254. package/dist/types/token-separators.js.map +1 -0
  255. package/dist/types/types/category-node.d.ts +36 -0
  256. package/dist/types/types/checkout.d.ts +33 -0
  257. package/dist/types/types/commerce-config.d.ts +11 -0
  258. package/dist/types/types/commerce-service.d.ts +109 -0
  259. package/dist/types/types/family.d.ts +16 -0
  260. package/dist/types/types/index.d.ts +13 -0
  261. package/dist/types/types/item-selector.d.ts +72 -0
  262. package/dist/types/types/line-item.d.ts +14 -0
  263. package/dist/types/types/multi-family-selector-props.d.ts +16 -0
  264. package/dist/types/types/product.d.ts +15 -0
  265. package/dist/types/types/promo.d.ts +7 -0
  266. package/dist/types/types/selection-ui-specifier.d.ts +40 -0
  267. package/dist/types/types/string-mutator.d.ts +9 -0
  268. package/dist/types/types/token-separators.d.ts +6 -0
  269. package/dist/types/util/analytics.d.ts +9 -0
  270. package/dist/types/util/countries.d.ts +7 -0
  271. package/dist/types/util/error.d.ts +1 -0
  272. package/dist/types/util/index.d.ts +15 -0
  273. package/dist/types/util/item-selector-options-accessor.d.ts +3 -0
  274. package/dist/types/util/line-item-ref.d.ts +8 -0
  275. package/dist/types/util/multi-family-selector-options-accessor.d.ts +3 -0
  276. package/dist/types/util/obs-string-mutator.d.ts +8 -0
  277. package/dist/types/util/product-media-accessor.d.ts +29 -0
  278. package/dist/types/util/promo-codes.d.ts +3 -0
  279. package/dist/types/util/selection-ui-specifiers.d.ts +3 -0
  280. package/dist/types/util/square-payment.d.ts +7 -0
  281. package/dist/types/util/use-sync-sku-param-w-current-item.d.ts +2 -0
  282. package/dist/util/analytics.d.ts +9 -0
  283. package/dist/util/analytics.js +10 -0
  284. package/dist/util/analytics.js.map +1 -0
  285. package/dist/util/countries.d.ts +7 -0
  286. package/dist/util/countries.js +197 -0
  287. package/dist/util/countries.js.map +1 -0
  288. package/dist/util/error.d.ts +1 -0
  289. package/dist/util/error.js +22 -0
  290. package/dist/util/error.js.map +1 -0
  291. package/dist/util/index.d.ts +15 -0
  292. package/dist/util/index.js +54 -0
  293. package/dist/util/index.js.map +1 -0
  294. package/dist/util/item-selector-options-accessor.d.ts +3 -0
  295. package/dist/util/item-selector-options-accessor.js +27 -0
  296. package/dist/util/item-selector-options-accessor.js.map +1 -0
  297. package/dist/util/line-item-ref.d.ts +8 -0
  298. package/dist/util/line-item-ref.js +15 -0
  299. package/dist/util/line-item-ref.js.map +1 -0
  300. package/dist/util/multi-family-selector-options-accessor.d.ts +3 -0
  301. package/dist/util/multi-family-selector-options-accessor.js +11 -0
  302. package/dist/util/multi-family-selector-options-accessor.js.map +1 -0
  303. package/dist/util/obs-string-mutator.d.ts +8 -0
  304. package/dist/util/obs-string-mutator.js +15 -0
  305. package/dist/util/obs-string-mutator.js.map +1 -0
  306. package/dist/util/product-media-accessor.d.ts +29 -0
  307. package/dist/util/product-media-accessor.js +22 -0
  308. package/dist/util/product-media-accessor.js.map +1 -0
  309. package/dist/util/promo-codes.d.ts +3 -0
  310. package/dist/util/promo-codes.js +101 -0
  311. package/dist/util/promo-codes.js.map +1 -0
  312. package/dist/util/selection-ui-specifiers.d.ts +3 -0
  313. package/dist/util/selection-ui-specifiers.js +24 -0
  314. package/dist/util/selection-ui-specifiers.js.map +1 -0
  315. package/dist/util/square-payment.d.ts +7 -0
  316. package/dist/util/square-payment.js +30 -0
  317. package/dist/util/square-payment.js.map +1 -0
  318. package/dist/util/use-sync-sku-param-w-current-item.d.ts +2 -0
  319. package/dist/util/use-sync-sku-param-w-current-item.js +61 -0
  320. package/dist/util/use-sync-sku-param-w-current-item.js.map +1 -0
  321. package/package.json +13 -12
  322. package/tsconfig.json +6 -1
@@ -0,0 +1,13 @@
1
+ import { initializeApp, getApps } from 'firebase/app';
2
+ const firebaseConfig = {
3
+ apiKey: process.env.NEXT_PUBLIC_FIREBASE_API_KEY,
4
+ authDomain: process.env.NEXT_PUBLIC_FIREBASE_AUTH_DOMAIN,
5
+ projectId: process.env.NEXT_PUBLIC_FIREBASE_PROJECT_ID,
6
+ storageBucket: process.env.NEXT_PUBLIC_FIREBASE_STORAGE_BUCKET,
7
+ messagingSenderId: process.env.NEXT_PUBLIC_FIREBASE_MESSAGING_SENDER_ID,
8
+ appId: process.env.NEXT_PUBLIC_FIREBASE_APP_ID,
9
+ measurementId: process.env.NEXT_PUBLIC_FIREBASE_MEASUREMENT_ID,
10
+ };
11
+ // Initialize Firebase instance if there isn't one already
12
+ export default getApps().length === 0 ? initializeApp(firebaseConfig) : getApps()[0];
13
+ //# sourceMappingURL=firebase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"firebase.js","sourceRoot":"","sources":["../../../../../service/impls/standalone/order/firebase.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAErD,MAAM,cAAc,GAAG;IACrB,MAAM,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B;IAChD,UAAU,EAAE,OAAO,CAAC,GAAG,CAAC,gCAAgC;IACxD,SAAS,EAAE,OAAO,CAAC,GAAG,CAAC,+BAA+B;IACtD,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;IAC9D,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,wCAAwC;IACvE,KAAK,EAAE,OAAO,CAAC,GAAG,CAAC,2BAA2B;IAC9C,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,mCAAmC;CAC/D,CAAA;AAED,0DAA0D;AAC1D,eAAe,OAAO,EAAE,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAA"}
@@ -0,0 +1,24 @@
1
+ import type { ActualLineItemSnapshot } from '../actual-line-item';
2
+ declare const createOrder: (email: string, items: ActualLineItemSnapshot[], options: {
3
+ dbName: string;
4
+ ordersTable: string;
5
+ }, name?: string) => Promise<{
6
+ success: boolean;
7
+ error: any;
8
+ id?: string;
9
+ }>;
10
+ declare const updateOrderShippingInfo: (orderId: string, shippingInfo: any, options: {
11
+ dbName: string;
12
+ ordersTable: string;
13
+ }) => Promise<{
14
+ success: boolean;
15
+ error: any;
16
+ }>;
17
+ declare const updateOrderPaymentInfo: (orderId: string, paymentInfo: any, options: {
18
+ dbName: string;
19
+ ordersTable: string;
20
+ }) => Promise<{
21
+ success: boolean;
22
+ error: any;
23
+ }>;
24
+ export { createOrder, updateOrderShippingInfo, updateOrderPaymentInfo };
@@ -0,0 +1,61 @@
1
+ import { getFirestore, collection, setDoc, doc, serverTimestamp, } from 'firebase/firestore';
2
+ import firebaseApp from './firebase';
3
+ let dbInstance = undefined;
4
+ const getDBInstance = (name) => {
5
+ if (!dbInstance) {
6
+ dbInstance = getFirestore(firebaseApp, name);
7
+ }
8
+ return dbInstance;
9
+ };
10
+ const createOrder = async (email, items, options, name) => {
11
+ let error = null;
12
+ const ordersRef = collection(getDBInstance(options.dbName), options.ordersTable);
13
+ const orderId = `${email}-${new Date().toISOString()}`;
14
+ try {
15
+ await setDoc(doc(ordersRef, orderId), {
16
+ email,
17
+ name: name ?? '',
18
+ status: 'open',
19
+ timestamp: serverTimestamp(),
20
+ items,
21
+ });
22
+ return { success: !error, error, id: orderId };
23
+ }
24
+ catch (e) {
25
+ console.error('Error writing item document: ', e);
26
+ error = e;
27
+ }
28
+ return { success: !error, error };
29
+ };
30
+ const updateOrderShippingInfo = async (orderId, shippingInfo, options) => {
31
+ let error = null;
32
+ const ordersRef = collection(getDBInstance(options.dbName), options.ordersTable);
33
+ try {
34
+ await setDoc(doc(ordersRef, orderId), {
35
+ shippingInfo,
36
+ timestamp: serverTimestamp(),
37
+ }, { merge: true });
38
+ }
39
+ catch (e) {
40
+ console.error('Error writing item document: ', e);
41
+ error = e;
42
+ }
43
+ return { success: !error, error };
44
+ };
45
+ const updateOrderPaymentInfo = async (orderId, paymentInfo, options) => {
46
+ let error = null;
47
+ const ordersRef = collection(getDBInstance(options.dbName), options.ordersTable);
48
+ try {
49
+ await setDoc(doc(ordersRef, orderId), {
50
+ paymentInfo,
51
+ timestamp: serverTimestamp(),
52
+ }, { merge: true });
53
+ }
54
+ catch (e) {
55
+ console.error('Error writing item document: ', e);
56
+ error = e;
57
+ }
58
+ return { success: !error, error };
59
+ };
60
+ export { createOrder, updateOrderShippingInfo, updateOrderPaymentInfo };
61
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../service/impls/standalone/order/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { StandaloneService, type StandaloneServiceSnapshot } from './index';
2
+ declare const readSnapshot: (key: string) => StandaloneServiceSnapshot | undefined;
3
+ declare const writeSnapshotsOnChange: (cmmc: StandaloneService, key: string) => void;
4
+ export { readSnapshot, writeSnapshotsOnChange };
@@ -0,0 +1,22 @@
1
+ import { reaction } from 'mobx';
2
+ import { StandaloneService } from './index';
3
+ const LS_KEY = 'lux-cart';
4
+ const readSnapshot = (key) => {
5
+ const snapshotAsStr = localStorage.getItem(key);
6
+ return snapshotAsStr ? JSON.parse(snapshotAsStr) : undefined;
7
+ };
8
+ const writeSnapshotsOnChange = (cmmc, key) => {
9
+ if (typeof window !== 'undefined') {
10
+ reaction(() => (cmmc.cartTotal), (total) => {
11
+ if (total > 0) {
12
+ const snapshot = cmmc.takeSnapshot();
13
+ localStorage.setItem(key, JSON.stringify(snapshot));
14
+ }
15
+ else {
16
+ localStorage.removeItem(key);
17
+ }
18
+ });
19
+ }
20
+ };
21
+ export { readSnapshot, writeSnapshotsOnChange };
22
+ //# sourceMappingURL=persistence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"persistence.js","sourceRoot":"","sources":["../../../../service/impls/standalone/persistence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,MAAM,CAAA;AAC/B,OAAO,EAAE,iBAAiB,EAAkC,MAAM,SAAS,CAAA;AAE3E,MAAM,MAAM,GAAG,UAAU,CAAA;AAEzB,MAAM,YAAY,GAAG,CAAC,GAAW,EAA0C,EAAE;IAC3E,MAAM,aAAa,GAAG,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAA;IAC/C,OAAO,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,aAAa,CAA8B,CAAC,CAAC,CAAC,SAAS,CAAA;AAC3F,CAAC,CAAA;AAED,MAAM,sBAAsB,GAAG,CAAC,IAAuB,EAAE,GAAW,EAAQ,EAAE;IAE5E,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;QAClC,QAAQ,CACN,GAAG,EAAE,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,EACtB,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAA;gBACpC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAE,CAAA;YACtD,CAAC;iBACI,CAAC;gBACJ,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;YAC9B,CAAC;QACH,CAAC,CACF,CAAA;IACH,CAAC;AACH,CAAC,CAAA;AAED,OAAO,EACL,YAAY,EACZ,sBAAsB,EACvB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { SelectedPaths } from '../types';
2
+ export declare const getSelectedPaths: (skuPath: string) => {
3
+ paths: SelectedPaths;
4
+ level: number;
5
+ };
6
+ export declare const getParentPath: (skuPath: string) => string;
7
+ export declare const lastToken: (skuPath: string) => string;
@@ -0,0 +1,16 @@
1
+ import sep from './sep';
2
+ export const getSelectedPaths = (skuPath) => {
3
+ const toks = skuPath.split(sep.tok);
4
+ const level = toks.length - 1;
5
+ const paths = {};
6
+ for (let l = 1; l <= level; l++) {
7
+ paths[l] = [toks[l]];
8
+ }
9
+ return {
10
+ paths,
11
+ level
12
+ };
13
+ };
14
+ export const getParentPath = (skuPath) => (skuPath.split(sep.tok).slice(0, -1).join(sep.tok));
15
+ export const lastToken = (skuPath) => (skuPath.split(sep.tok).pop());
16
+ //# sourceMappingURL=path-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path-utils.js","sourceRoot":"","sources":["../../service/path-utils.ts"],"names":[],"mappings":"AACA,OAAO,GAAG,MAAM,OAAO,CAAA;AAEvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,OAAe,EAC0B,EAAE;IAE3C,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAA;IAC7B,MAAM,KAAK,GAAkB,EAAE,CAAA;IAC/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,KAAK,EAAE,CAAC,EAAE,EAAG,CAAC;QACjC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA;IACtB,CAAC;IACD,OAAO;QACL,KAAK;QACL,KAAK;KACN,CAAA;AACH,CAAC,CAAA;AAED,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,CACxD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAClD,CAAA;AAED,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAU,EAAE,CAAC,CACpD,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAC9B,CAAA"}
@@ -0,0 +1,6 @@
1
+ declare const _default: {
2
+ tok: string;
3
+ subTok: string;
4
+ decimal: string;
5
+ };
6
+ export default _default;
@@ -0,0 +1,6 @@
1
+ export default {
2
+ tok: '-',
3
+ subTok: '_',
4
+ decimal: '.'
5
+ };
6
+ //# sourceMappingURL=sep.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sep.js","sourceRoot":"","sources":["../../service/sep.ts"],"names":[],"mappings":"AAEA,eAAe;IACb,GAAG,EAAE,GAAG;IACR,MAAM,EAAE,GAAG;IACX,OAAO,EAAE,GAAG;CACa,CAAA"}
@@ -0,0 +1,36 @@
1
+ import type { ReactNode } from 'react';
2
+ interface CategoryNode {
3
+ skuToken: string;
4
+ label: string;
5
+ /**
6
+ * Explicitly marks this node as a "last user-visible" / "outermost" Category.
7
+ * Normally, a node is "outermost" when it has no subnodes
8
+ * (and thus is a family with products -- "single-family")
9
+ * But if it *has* subnodes, and its subNodes are actually sibling families
10
+ * of a Category, it must be marked as "outermost" ("multi-family")
11
+ * */
12
+ outermost?: boolean;
13
+ img?: string | ReactNode;
14
+ imgAR?: number;
15
+ /**
16
+ * One word prompt that describes the 'meaning' of
17
+ * the subnodes.
18
+ * For example, if a node is 'Lux Credit',
19
+ * it's subNodesLabel might be 'Level', so some UI's
20
+ * might be configured to render 'Level: Black'
21
+ *
22
+ * or something like...
23
+ *
24
+ * <Tabs title={parentNode.label + ': ' + parentNode.subNodesLabel} values={families.map((f) => (f.shortName))} />
25
+ *
26
+ * ...which renders
27
+ *
28
+ * Lux Credit Levels:
29
+ * Black Elite Founder Sovereign
30
+ */
31
+ subNodesLabel?: string;
32
+ subNodes?: CategoryNode[];
33
+ }
34
+ type CategoryNodeRole = 'single-family' | 'family-in-multi-family' | 'multi-family' | 'non-outermost';
35
+ type SelectedPaths = Record<number, string[]>;
36
+ export type { CategoryNodeRole, CategoryNode, SelectedPaths };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=category-node.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"category-node.js","sourceRoot":"","sources":["../../types/category-node.ts"],"names":[],"mappings":""}
@@ -0,0 +1,33 @@
1
+ import type { ComponentType } from 'react';
2
+ import type { UseFormReturn } from 'react-hook-form';
3
+ type TransactionStatus = 'unpaid' | 'paid' | 'confirmed' | 'error';
4
+ interface CheckoutStepComponentProps {
5
+ onDone: () => void;
6
+ orderId: string | undefined;
7
+ setOrderId: (orderId: string | undefined) => void;
8
+ }
9
+ interface CheckoutStep {
10
+ name: string;
11
+ label?: string;
12
+ Comp: ComponentType<CheckoutStepComponentProps>;
13
+ }
14
+ type ContactFormType = UseFormReturn<{
15
+ name: string;
16
+ email: string;
17
+ }, any, {
18
+ name: string;
19
+ email: string;
20
+ }>;
21
+ interface PaymentMethodComponentProps {
22
+ onDone: () => void;
23
+ transactionStatus: TransactionStatus;
24
+ setTransactionStatus: (status: TransactionStatus) => void;
25
+ storePaymentInfo: (paymentInfo: any) => Promise<void>;
26
+ contactForm: ContactFormType;
27
+ }
28
+ interface PaymentMethodDesc {
29
+ value: string;
30
+ label: string;
31
+ Comp: ComponentType<PaymentMethodComponentProps>;
32
+ }
33
+ export { type TransactionStatus, type CheckoutStepComponentProps, type CheckoutStep, type PaymentMethodComponentProps, type PaymentMethodDesc, type ContactFormType, };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=checkout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../types/checkout.ts"],"names":[],"mappings":"AAuCA,OAAO,EAON,CAAA"}
@@ -0,0 +1,11 @@
1
+ import type { ServiceOptions } from '..';
2
+ import type { CategoryNode } from './category-node';
3
+ import type { Family } from './family';
4
+ import type { SelectionUISpecifier } from './selection-ui-specifier';
5
+ interface CommerceConfig {
6
+ families: Family[];
7
+ rootNode: CategoryNode;
8
+ options?: ServiceOptions;
9
+ uiSpecifiers?: Record<string, SelectionUISpecifier>;
10
+ }
11
+ export { type CommerceConfig as default };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=commerce-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commerce-config.js","sourceRoot":"","sources":["../../types/commerce-config.ts"],"names":[],"mappings":"AAYA,OAAO,EAAkC,CAAA"}
@@ -0,0 +1,109 @@
1
+ import type { LineItem, ObsLineItemRef } from './line-item';
2
+ import type { CategoryNode, SelectedPaths, CategoryNodeRole } from './category-node';
3
+ import type { Family, ObsFamilyRef } from './family';
4
+ import type Promo from './promo';
5
+ interface CommerceService extends ObsLineItemRef, ObsFamilyRef {
6
+ /** Items in cart */
7
+ get cartItems(): LineItem[];
8
+ /** Total of all quantities of all items in cart */
9
+ get cartQuantity(): number;
10
+ /** Total of all prices x quantities of items in cart */
11
+ get cartTotal(): number;
12
+ /** cartItem whose quantity was modified most recently
13
+ * item: LineItem
14
+ * modified: number (timestamp)
15
+ * (undefined if cartEmpty)
16
+ */
17
+ get recentItem(): {
18
+ item: LineItem;
19
+ modified: number;
20
+ } | undefined;
21
+ get promoAppliedCartTotal(): number;
22
+ get cartEmpty(): boolean;
23
+ get appliedPromo(): Promo | null;
24
+ setAppliedPromo(promo: Promo | null): void;
25
+ /** returns the price with promo applied, of undefined if no promo or promo does not apply */
26
+ itemPromoPrice(item: LineItem): number | undefined;
27
+ getFamilySubtotal(familyId: string): number;
28
+ createOrder(email: string, name?: string): Promise<string | undefined>;
29
+ updateOrderShippingInfo(orderId: string, shippingInfo: any): Promise<void>;
30
+ updateOrderPaymentInfo(orderId: string, paymentInfo: any): Promise<void>;
31
+ /**
32
+ * Sets the tokens at each level supplied.
33
+ * If a level is selected as [], nothing will be selected.
34
+ * If a level is missing (undefined), everything at that level is selected
35
+ *
36
+ * This selects one or more Family's, and all the LineItem's in them.
37
+ *
38
+ * An empty value object selects all Family's and all LineItem's,
39
+ * */
40
+ selectPaths(value: SelectedPaths): Family[];
41
+ selectPath(skuPath: string): Family[];
42
+ /**
43
+ * With role as ...
44
+ *
45
+ * 'single-family':
46
+ * item: item with skuPath as SKU, otherwise undefined
47
+ * node: node at path (or item's parent node),
48
+ * family: node at path as family (or item's parent node as family),
49
+ * families: undefined
50
+ *
51
+ * 'family-in-multi-family':
52
+ * item: item with skuPath as SKU, otherwise undefined
53
+ * node: parent node of this family (or parent node of item's family)
54
+ * family: this family (or item's family)
55
+ * families: this family (or item's family) and siblings
56
+ *
57
+ * 'multi-family':
58
+ * item: undefined
59
+ * node: node at path
60
+ * family: undefined
61
+ * families: subnodes / families of this node
62
+ *
63
+ * 'non-outermost':
64
+ * item: undefined
65
+ * node: node at path
66
+ * family: undefined
67
+ * families: undefined
68
+ *
69
+ */
70
+ peek(skuPath: string): {
71
+ role: CategoryNodeRole;
72
+ family: Family | undefined;
73
+ families: Family[] | undefined;
74
+ node: CategoryNode | undefined;
75
+ item: LineItem | undefined;
76
+ } | string;
77
+ /** @deprecated
78
+ * Whether this path defines a Family, or if it has further levels
79
+ * */
80
+ getNodeAtPath(skuPath: string): CategoryNode | undefined;
81
+ get selectedPaths(): SelectedPaths;
82
+ get selectedItems(): LineItem[];
83
+ get selectedFamilies(): Family[];
84
+ get hasSelection(): boolean;
85
+ /**
86
+ * Who are the subnodes selected at 'level'?
87
+ * If more than one value is selected at 'level',
88
+ * the returned CategoryNode[] may represent multiple sets.
89
+ * */
90
+ getSelectedNodesAtLevel(level: number): CategoryNode[] | undefined;
91
+ /**
92
+ * For convenience, so widgets can share state.
93
+ * "current" is unrelated to what branches and items are
94
+ * "selected" (with CategoryNode's and paths)
95
+ *
96
+ * SEE ALSO: from ObsLineItemRef and ObsFamilyRef, there are also
97
+ * get item(): LineItem | undefined
98
+ * get family(): Family | undefined
99
+ *
100
+ * These simply delegate to these functions
101
+ * */
102
+ setCurrentItem(sku: string | undefined): boolean;
103
+ get currentItem(): LineItem | undefined;
104
+ setCurrentFamily(id: string | undefined): boolean;
105
+ get currentFamily(): Family | undefined;
106
+ getFamilyById(id: string): Family | undefined;
107
+ getItemBySku(sku: string): LineItem | undefined;
108
+ }
109
+ export { type CommerceService as default };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=commerce-service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commerce-service.js","sourceRoot":"","sources":["../../types/commerce-service.ts"],"names":[],"mappings":"AA6HA,OAAO,EAEN,CAAA"}
@@ -0,0 +1,18 @@
1
+ declare const _default: {
2
+ shoppingCart: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
3
+ menu: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
4
+ chevronLeft: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
5
+ chevronRight: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
6
+ spinner: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
7
+ check: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
8
+ plus: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
9
+ minus: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
10
+ chevronDown: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
11
+ chevronsLeft: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
12
+ chevronsRight: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
13
+ placeholder: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
14
+ trash: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
15
+ search: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
16
+ barcode: import("react").ForwardRefExoticComponent<Omit<import("lucide-react").LucideProps, "ref"> & import("react").RefAttributes<SVGSVGElement>>;
17
+ };
18
+ export default _default;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { LineItem } from '../types';
3
+ declare const AddToCartWidget: React.FC<{
4
+ item: LineItem;
5
+ disabled?: boolean;
6
+ className?: string;
7
+ buttonClx?: string;
8
+ variant?: 'minimal' | 'primary' | 'primary-smaller' | 'outline';
9
+ onQuantityChanged?: (sku: string, oldV: number, newV: number) => void;
10
+ }>;
11
+ export default AddToCartWidget;
@@ -0,0 +1,30 @@
1
+ import React, { type ComponentType } from 'react';
2
+ import type { ItemSelectorProps, ItemSelectorCompProps } from '../../types';
3
+ declare const BuyCard: React.FC<{
4
+ skuPath: string;
5
+ /** For any selectors that show a list of choices,
6
+ * starting with 'scrollAfter' elements,
7
+ * the list will scroll, and the card will
8
+ * have 'scrollHeightClx' applied to it to define and fix the height.
9
+ * This is most like something like '80vh'
10
+ * defaults are '5' and 'h-[70vh]'
11
+ * */
12
+ scrollAfter?: number;
13
+ scrollHeightClx?: string;
14
+ clx?: string;
15
+ famWidgetClx?: string;
16
+ addWidgetClx?: string;
17
+ selector: ComponentType<ItemSelectorProps>;
18
+ selectorProps?: ItemSelectorCompProps;
19
+ /** Show all items from all sibling families
20
+ * If skuPath defines a Family, the first of it's items will
21
+ * be selected. The facet widget will just select a the first
22
+ * item in the chosen Family without changings the overall set
23
+ * of choices. */
24
+ allVariants?: boolean;
25
+ familyTabAs?: 'image' | 'label' | 'image-and-label';
26
+ showItemMedia?: boolean;
27
+ onQuantityChanged?: (sku: string, oldV: number, newV: number) => void;
28
+ mobile?: boolean;
29
+ }>;
30
+ export default BuyCard;
@@ -0,0 +1,12 @@
1
+ import React from 'react';
2
+ declare const CarouselBuyCard: React.FC<{
3
+ skuPath: string;
4
+ checkoutButton: React.ReactNode;
5
+ clx?: string;
6
+ selectorClx?: string;
7
+ addBtnClx?: string;
8
+ buttonsAreaClx?: string;
9
+ mobile?: boolean;
10
+ onQuantityChanged?: (sku: string, oldV: number, newV: number) => void;
11
+ }>;
12
+ export default CarouselBuyCard;
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { MultiFamilySelectorProps } from '../../../types';
3
+ declare const AllVariantsCarousel: React.FC<MultiFamilySelectorProps>;
4
+ export { AllVariantsCarousel as default };
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ import type { MultiFamilySelectorProps } from '../../../../types';
3
+ declare const FamilyCarousel: React.FC<MultiFamilySelectorProps>;
4
+ export default FamilyCarousel;
@@ -0,0 +1,11 @@
1
+ import React from 'react';
2
+ import type { Dimensions } from '@hanzo/ui/types';
3
+ import type { ItemSelectorOptions, Family, ItemSelector } from '../../../../types';
4
+ declare const FamilySlide: React.FC<Omit<ItemSelector, 'items'> & {
5
+ family: Family;
6
+ mediaConstraint: Dimensions;
7
+ clx?: string;
8
+ mobile?: boolean;
9
+ options?: ItemSelectorOptions;
10
+ }>;
11
+ export default FamilySlide;
@@ -0,0 +1,20 @@
1
+ import type { Family, LineItem, ObsLineItemRef, Product } from '../../../../types';
2
+ declare class SlideState implements ObsLineItemRef {
3
+ _fam: Family;
4
+ _item: Product;
5
+ _syncSku: (sku: string) => void;
6
+ _selected: boolean;
7
+ constructor(fam: Family, initiallySelected: boolean, sync: (sku: string) => void);
8
+ selectSku: (sku: string) => void;
9
+ setSelected: (b: boolean) => void;
10
+ get id(): string;
11
+ get item(): LineItem | undefined;
12
+ }
13
+ declare class FamilyCarouselState {
14
+ _map: Map<string, SlideState>;
15
+ _syncSku: (sku: string) => void;
16
+ constructor(fams: Family[], syncSkuToCurrentSlide: (sku: string) => void);
17
+ setCurrentFamily: (id: string) => void;
18
+ getSlideState: (familyId: string) => SlideState | undefined;
19
+ }
20
+ export { SlideState, FamilyCarouselState };
@@ -0,0 +1,2 @@
1
+ export { default as FamilyCarousel } from './family-carousel';
2
+ export { default as AllVariantsCarousel } from './all-variants-carousel';
@@ -0,0 +1,15 @@
1
+ import React from 'react';
2
+ import type { Dimensions } from '@hanzo/ui/types';
3
+ import type { ItemSelectorOptions, ItemSelectorProps, LineItem } from '../../types';
4
+ declare const SingleFamilySelector: React.FC<{
5
+ items: LineItem[];
6
+ Selector: React.ComponentType<ItemSelectorProps>;
7
+ selOptions: ItemSelectorOptions | undefined;
8
+ scrollable?: boolean;
9
+ showItemMedia?: boolean;
10
+ mediaConstraint?: Dimensions;
11
+ mobile?: boolean;
12
+ clx?: string;
13
+ titleAreaClx?: string;
14
+ }>;
15
+ export default SingleFamilySelector;
@@ -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,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,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,4 @@
1
+ declare const PromoCode: (() => import("react").JSX.Element) & {
2
+ displayName: string;
3
+ };
4
+ export default PromoCode;
@@ -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,2 @@
1
+ declare const PaymentMethods: React.FC;
2
+ export default PaymentMethods;
@@ -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,4 @@
1
+ import React from 'react';
2
+ import { type LucideProps } from 'lucide-react';
3
+ declare const DinersClub: React.FC<LucideProps>;
4
+ export default DinersClub;