@hanzo/commerce 7.5.1 → 7.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (328) hide show
  1. package/client.ts +455 -57
  2. package/components/checkout/payment-step-form/index.tsx +3 -16
  3. package/index.ts +25 -2
  4. package/package.json +9 -12
  5. package/.turbo/turbo-build.log +0 -5
  6. package/LICENSE.md +0 -21
  7. package/dist/billing.d.ts +0 -2
  8. package/dist/billing.js +0 -3
  9. package/dist/billing.js.map +0 -1
  10. package/dist/client.d.ts +0 -151
  11. package/dist/client.js +0 -188
  12. package/dist/client.js.map +0 -1
  13. package/dist/components/Icons.d.ts +0 -18
  14. package/dist/components/Icons.js +0 -19
  15. package/dist/components/Icons.js.map +0 -1
  16. package/dist/components/Icons.jsx +0 -19
  17. package/dist/components/Icons.jsx.map +0 -1
  18. package/dist/components/add-to-cart-widget.d.ts +0 -11
  19. package/dist/components/add-to-cart-widget.js +0 -85
  20. package/dist/components/add-to-cart-widget.js.map +0 -1
  21. package/dist/components/add-to-cart-widget.jsx +0 -99
  22. package/dist/components/add-to-cart-widget.jsx.map +0 -1
  23. package/dist/components/buy/buy-card.d.ts +0 -30
  24. package/dist/components/buy/buy-card.js +0 -109
  25. package/dist/components/buy/buy-card.js.map +0 -1
  26. package/dist/components/buy/buy-card.jsx +0 -123
  27. package/dist/components/buy/buy-card.jsx.map +0 -1
  28. package/dist/components/buy/carousel-buy-card.d.ts +0 -12
  29. package/dist/components/buy/carousel-buy-card.js +0 -94
  30. package/dist/components/buy/carousel-buy-card.js.map +0 -1
  31. package/dist/components/buy/carousel-buy-card.jsx +0 -99
  32. package/dist/components/buy/carousel-buy-card.jsx.map +0 -1
  33. package/dist/components/buy/multi-family/all-variants-carousel.d.ts +0 -4
  34. package/dist/components/buy/multi-family/all-variants-carousel.js +0 -115
  35. package/dist/components/buy/multi-family/all-variants-carousel.js.map +0 -1
  36. package/dist/components/buy/multi-family/all-variants-carousel.jsx +0 -147
  37. package/dist/components/buy/multi-family/all-variants-carousel.jsx.map +0 -1
  38. package/dist/components/buy/multi-family/family-carousel/index.d.ts +0 -4
  39. package/dist/components/buy/multi-family/family-carousel/index.js +0 -27
  40. package/dist/components/buy/multi-family/family-carousel/index.js.map +0 -1
  41. package/dist/components/buy/multi-family/family-carousel/index.jsx +0 -34
  42. package/dist/components/buy/multi-family/family-carousel/index.jsx.map +0 -1
  43. package/dist/components/buy/multi-family/family-carousel/slide.d.ts +0 -11
  44. package/dist/components/buy/multi-family/family-carousel/slide.js +0 -35
  45. package/dist/components/buy/multi-family/family-carousel/slide.js.map +0 -1
  46. package/dist/components/buy/multi-family/family-carousel/slide.jsx +0 -41
  47. package/dist/components/buy/multi-family/family-carousel/slide.jsx.map +0 -1
  48. package/dist/components/buy/multi-family/family-carousel/state.d.ts +0 -20
  49. package/dist/components/buy/multi-family/family-carousel/state.js +0 -59
  50. package/dist/components/buy/multi-family/family-carousel/state.js.map +0 -1
  51. package/dist/components/buy/multi-family/index.d.ts +0 -2
  52. package/dist/components/buy/multi-family/index.js +0 -3
  53. package/dist/components/buy/multi-family/index.js.map +0 -1
  54. package/dist/components/buy/single-family-selector.d.ts +0 -15
  55. package/dist/components/buy/single-family-selector.js +0 -28
  56. package/dist/components/buy/single-family-selector.js.map +0 -1
  57. package/dist/components/buy/single-family-selector.jsx +0 -31
  58. package/dist/components/buy/single-family-selector.jsx.map +0 -1
  59. package/dist/components/buy/title-and-byline.d.ts +0 -8
  60. package/dist/components/buy/title-and-byline.js +0 -7
  61. package/dist/components/buy/title-and-byline.js.map +0 -1
  62. package/dist/components/buy/title-and-byline.jsx +0 -9
  63. package/dist/components/buy/title-and-byline.jsx.map +0 -1
  64. package/dist/components/cart/cart-panel/cart-line-item.d.ts +0 -11
  65. package/dist/components/cart/cart-panel/cart-line-item.js +0 -25
  66. package/dist/components/cart/cart-panel/cart-line-item.js.map +0 -1
  67. package/dist/components/cart/cart-panel/cart-line-item.jsx +0 -39
  68. package/dist/components/cart/cart-panel/cart-line-item.jsx.map +0 -1
  69. package/dist/components/cart/cart-panel/index.d.ts +0 -19
  70. package/dist/components/cart/cart-panel/index.js +0 -65
  71. package/dist/components/cart/cart-panel/index.js.map +0 -1
  72. package/dist/components/cart/cart-panel/index.jsx +0 -79
  73. package/dist/components/cart/cart-panel/index.jsx.map +0 -1
  74. package/dist/components/cart/cart-panel/promo-code.d.ts +0 -4
  75. package/dist/components/cart/cart-panel/promo-code.js +0 -62
  76. package/dist/components/cart/cart-panel/promo-code.js.map +0 -1
  77. package/dist/components/cart/cart-panel/promo-code.jsx +0 -74
  78. package/dist/components/cart/cart-panel/promo-code.jsx.map +0 -1
  79. package/dist/components/cart/cart-panel/total-area.d.ts +0 -7
  80. package/dist/components/cart/cart-panel/total-area.js +0 -14
  81. package/dist/components/cart/cart-panel/total-area.js.map +0 -1
  82. package/dist/components/cart/cart-panel/total-area.jsx +0 -37
  83. package/dist/components/cart/cart-panel/total-area.jsx.map +0 -1
  84. package/dist/components/checkout/payment-step-form/card-icon-row.d.ts +0 -2
  85. package/dist/components/checkout/payment-step-form/card-icon-row.js +0 -14
  86. package/dist/components/checkout/payment-step-form/card-icon-row.js.map +0 -1
  87. package/dist/components/checkout/payment-step-form/card-icon-row.jsx +0 -22
  88. package/dist/components/checkout/payment-step-form/card-icon-row.jsx.map +0 -1
  89. package/dist/components/checkout/payment-step-form/card-icons/amex.d.ts +0 -4
  90. package/dist/components/checkout/payment-step-form/card-icons/amex.js +0 -6
  91. package/dist/components/checkout/payment-step-form/card-icons/amex.js.map +0 -1
  92. package/dist/components/checkout/payment-step-form/card-icons/amex.jsx +0 -12
  93. package/dist/components/checkout/payment-step-form/card-icons/amex.jsx.map +0 -1
  94. package/dist/components/checkout/payment-step-form/card-icons/diners-club.d.ts +0 -4
  95. package/dist/components/checkout/payment-step-form/card-icons/diners-club.js +0 -6
  96. package/dist/components/checkout/payment-step-form/card-icons/diners-club.js.map +0 -1
  97. package/dist/components/checkout/payment-step-form/card-icons/diners-club.jsx +0 -10
  98. package/dist/components/checkout/payment-step-form/card-icons/diners-club.jsx.map +0 -1
  99. package/dist/components/checkout/payment-step-form/card-icons/discover.d.ts +0 -4
  100. package/dist/components/checkout/payment-step-form/card-icons/discover.js +0 -6
  101. package/dist/components/checkout/payment-step-form/card-icons/discover.js.map +0 -1
  102. package/dist/components/checkout/payment-step-form/card-icons/discover.jsx +0 -12
  103. package/dist/components/checkout/payment-step-form/card-icons/discover.jsx.map +0 -1
  104. package/dist/components/checkout/payment-step-form/card-icons/jcb.d.ts +0 -4
  105. package/dist/components/checkout/payment-step-form/card-icons/jcb.js +0 -6
  106. package/dist/components/checkout/payment-step-form/card-icons/jcb.js.map +0 -1
  107. package/dist/components/checkout/payment-step-form/card-icons/jcb.jsx +0 -23
  108. package/dist/components/checkout/payment-step-form/card-icons/jcb.jsx.map +0 -1
  109. package/dist/components/checkout/payment-step-form/card-icons/mastercard.d.ts +0 -4
  110. package/dist/components/checkout/payment-step-form/card-icons/mastercard.js +0 -6
  111. package/dist/components/checkout/payment-step-form/card-icons/mastercard.js.map +0 -1
  112. package/dist/components/checkout/payment-step-form/card-icons/mastercard.jsx +0 -12
  113. package/dist/components/checkout/payment-step-form/card-icons/mastercard.jsx.map +0 -1
  114. package/dist/components/checkout/payment-step-form/card-icons/visa.d.ts +0 -4
  115. package/dist/components/checkout/payment-step-form/card-icons/visa.js +0 -6
  116. package/dist/components/checkout/payment-step-form/card-icons/visa.js.map +0 -1
  117. package/dist/components/checkout/payment-step-form/card-icons/visa.jsx +0 -10
  118. package/dist/components/checkout/payment-step-form/card-icons/visa.jsx.map +0 -1
  119. package/dist/components/checkout/payment-step-form/cc-button.d.ts +0 -3
  120. package/dist/components/checkout/payment-step-form/cc-button.js +0 -6
  121. package/dist/components/checkout/payment-step-form/cc-button.js.map +0 -1
  122. package/dist/components/checkout/payment-step-form/cc-button.jsx +0 -9
  123. package/dist/components/checkout/payment-step-form/cc-button.jsx.map +0 -1
  124. package/dist/components/checkout/payment-step-form/contact-form.d.ts +0 -5
  125. package/dist/components/checkout/payment-step-form/contact-form.js +0 -6
  126. package/dist/components/checkout/payment-step-form/contact-form.js.map +0 -1
  127. package/dist/components/checkout/payment-step-form/contact-form.jsx +0 -21
  128. package/dist/components/checkout/payment-step-form/contact-form.jsx.map +0 -1
  129. package/dist/components/checkout/payment-step-form/crypto-icons/btc.d.ts +0 -4
  130. package/dist/components/checkout/payment-step-form/crypto-icons/btc.js +0 -6
  131. package/dist/components/checkout/payment-step-form/crypto-icons/btc.js.map +0 -1
  132. package/dist/components/checkout/payment-step-form/crypto-icons/btc.jsx +0 -8
  133. package/dist/components/checkout/payment-step-form/crypto-icons/btc.jsx.map +0 -1
  134. package/dist/components/checkout/payment-step-form/crypto-icons/eth.d.ts +0 -4
  135. package/dist/components/checkout/payment-step-form/crypto-icons/eth.js +0 -6
  136. package/dist/components/checkout/payment-step-form/crypto-icons/eth.js.map +0 -1
  137. package/dist/components/checkout/payment-step-form/crypto-icons/eth.jsx +0 -17
  138. package/dist/components/checkout/payment-step-form/crypto-icons/eth.jsx.map +0 -1
  139. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.d.ts +0 -4
  140. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.js +0 -6
  141. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.js.map +0 -1
  142. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.jsx +0 -10
  143. package/dist/components/checkout/payment-step-form/crypto-icons/usdt.jsx.map +0 -1
  144. package/dist/components/checkout/payment-step-form/index.d.ts +0 -4
  145. package/dist/components/checkout/payment-step-form/index.js +0 -77
  146. package/dist/components/checkout/payment-step-form/index.js.map +0 -1
  147. package/dist/components/checkout/payment-step-form/index.jsx +0 -86
  148. package/dist/components/checkout/payment-step-form/index.jsx.map +0 -1
  149. package/dist/components/checkout/payment-step-form/methods/bank-transfer.d.ts +0 -4
  150. package/dist/components/checkout/payment-step-form/methods/bank-transfer.js +0 -24
  151. package/dist/components/checkout/payment-step-form/methods/bank-transfer.js.map +0 -1
  152. package/dist/components/checkout/payment-step-form/methods/bank-transfer.jsx +0 -44
  153. package/dist/components/checkout/payment-step-form/methods/bank-transfer.jsx.map +0 -1
  154. package/dist/components/checkout/payment-step-form/methods/card.d.ts +0 -4
  155. package/dist/components/checkout/payment-step-form/methods/card.js +0 -160
  156. package/dist/components/checkout/payment-step-form/methods/card.js.map +0 -1
  157. package/dist/components/checkout/payment-step-form/methods/card.jsx +0 -182
  158. package/dist/components/checkout/payment-step-form/methods/card.jsx.map +0 -1
  159. package/dist/components/checkout/payment-step-form/methods/crypto.d.ts +0 -9
  160. package/dist/components/checkout/payment-step-form/methods/crypto.js +0 -137
  161. package/dist/components/checkout/payment-step-form/methods/crypto.js.map +0 -1
  162. package/dist/components/checkout/payment-step-form/methods/crypto.jsx +0 -167
  163. package/dist/components/checkout/payment-step-form/methods/crypto.jsx.map +0 -1
  164. package/dist/components/checkout/payment-step-form/methods/index.d.ts +0 -6
  165. package/dist/components/checkout/payment-step-form/methods/index.js +0 -21
  166. package/dist/components/checkout/payment-step-form/methods/index.js.map +0 -1
  167. package/dist/components/checkout/shipping-step-form.d.ts +0 -3
  168. package/dist/components/checkout/shipping-step-form.js +0 -53
  169. package/dist/components/checkout/shipping-step-form.js.map +0 -1
  170. package/dist/components/checkout/shipping-step-form.jsx +0 -106
  171. package/dist/components/checkout/shipping-step-form.jsx.map +0 -1
  172. package/dist/components/index.d.ts +0 -8
  173. package/dist/components/index.js +0 -9
  174. package/dist/components/index.js.map +0 -1
  175. package/dist/components/item/product-card.d.ts +0 -7
  176. package/dist/components/item/product-card.js +0 -9
  177. package/dist/components/item/product-card.js.map +0 -1
  178. package/dist/components/item/product-card.jsx +0 -21
  179. package/dist/components/item/product-card.jsx.map +0 -1
  180. package/dist/components/item-selector/button.d.ts +0 -4
  181. package/dist/components/item-selector/button.js +0 -47
  182. package/dist/components/item-selector/button.js.map +0 -1
  183. package/dist/components/item-selector/button.jsx +0 -65
  184. package/dist/components/item-selector/button.jsx.map +0 -1
  185. package/dist/components/item-selector/carousel/index.d.ts +0 -12
  186. package/dist/components/item-selector/carousel/index.js +0 -74
  187. package/dist/components/item-selector/carousel/index.js.map +0 -1
  188. package/dist/components/item-selector/carousel/index.jsx +0 -101
  189. package/dist/components/item-selector/carousel/index.jsx.map +0 -1
  190. package/dist/components/item-selector/carousel/slider.d.ts +0 -8
  191. package/dist/components/item-selector/carousel/slider.js +0 -12
  192. package/dist/components/item-selector/carousel/slider.js.map +0 -1
  193. package/dist/components/item-selector/carousel/slider.jsx +0 -11
  194. package/dist/components/item-selector/carousel/slider.jsx.map +0 -1
  195. package/dist/components/item-selector/index.d.ts +0 -2
  196. package/dist/components/item-selector/index.js +0 -3
  197. package/dist/components/item-selector/index.js.map +0 -1
  198. package/dist/components/item-selector/quantity-indicator.d.ts +0 -9
  199. package/dist/components/item-selector/quantity-indicator.js +0 -16
  200. package/dist/components/item-selector/quantity-indicator.js.map +0 -1
  201. package/dist/components/item-selector/quantity-indicator.jsx +0 -23
  202. package/dist/components/item-selector/quantity-indicator.jsx.map +0 -1
  203. package/dist/components/node-tabs/index.d.ts +0 -14
  204. package/dist/components/node-tabs/index.js +0 -42
  205. package/dist/components/node-tabs/index.js.map +0 -1
  206. package/dist/components/node-tabs/index.jsx +0 -48
  207. package/dist/components/node-tabs/index.jsx.map +0 -1
  208. package/dist/components/node-tabs/node-image.d.ts +0 -6
  209. package/dist/components/node-tabs/node-image.js +0 -13
  210. package/dist/components/node-tabs/node-image.js.map +0 -1
  211. package/dist/components/node-tabs/node-image.jsx +0 -12
  212. package/dist/components/node-tabs/node-image.jsx.map +0 -1
  213. package/dist/index.d.ts +0 -7
  214. package/dist/index.js +0 -7
  215. package/dist/index.js.map +0 -1
  216. package/dist/service/context.d.ts +0 -8
  217. package/dist/service/context.js +0 -19
  218. package/dist/service/context.js.map +0 -1
  219. package/dist/service/context.jsx +0 -20
  220. package/dist/service/context.jsx.map +0 -1
  221. package/dist/service/debug.d.ts +0 -10
  222. package/dist/service/debug.js +0 -30
  223. package/dist/service/debug.js.map +0 -1
  224. package/dist/service/impls/standalone/actual-line-item.d.ts +0 -40
  225. package/dist/service/impls/standalone/actual-line-item.js +0 -84
  226. package/dist/service/impls/standalone/actual-line-item.js.map +0 -1
  227. package/dist/service/impls/standalone/get-instance.d.ts +0 -2
  228. package/dist/service/impls/standalone/get-instance.js +0 -39
  229. package/dist/service/impls/standalone/get-instance.js.map +0 -1
  230. package/dist/service/impls/standalone/index.d.ts +0 -67
  231. package/dist/service/impls/standalone/index.js +0 -416
  232. package/dist/service/impls/standalone/index.js.map +0 -1
  233. package/dist/service/impls/standalone/order/firebase.d.ts +0 -6
  234. package/dist/service/impls/standalone/order/firebase.js +0 -6
  235. package/dist/service/impls/standalone/order/firebase.js.map +0 -1
  236. package/dist/service/impls/standalone/order/index.d.ts +0 -30
  237. package/dist/service/impls/standalone/order/index.js +0 -21
  238. package/dist/service/impls/standalone/order/index.js.map +0 -1
  239. package/dist/service/impls/standalone/persistence.d.ts +0 -4
  240. package/dist/service/impls/standalone/persistence.js +0 -22
  241. package/dist/service/impls/standalone/persistence.js.map +0 -1
  242. package/dist/service/path-utils.d.ts +0 -7
  243. package/dist/service/path-utils.js +0 -16
  244. package/dist/service/path-utils.js.map +0 -1
  245. package/dist/service/sep.d.ts +0 -6
  246. package/dist/service/sep.js +0 -6
  247. package/dist/service/sep.js.map +0 -1
  248. package/dist/types/category-node.d.ts +0 -36
  249. package/dist/types/category-node.js +0 -2
  250. package/dist/types/category-node.js.map +0 -1
  251. package/dist/types/checkout.d.ts +0 -33
  252. package/dist/types/checkout.js +0 -2
  253. package/dist/types/checkout.js.map +0 -1
  254. package/dist/types/commerce-config.d.ts +0 -11
  255. package/dist/types/commerce-config.js +0 -2
  256. package/dist/types/commerce-config.js.map +0 -1
  257. package/dist/types/commerce-service.d.ts +0 -109
  258. package/dist/types/commerce-service.js +0 -2
  259. package/dist/types/commerce-service.js.map +0 -1
  260. package/dist/types/family.d.ts +0 -16
  261. package/dist/types/family.js +0 -2
  262. package/dist/types/family.js.map +0 -1
  263. package/dist/types/index.d.ts +0 -13
  264. package/dist/types/index.js +0 -8
  265. package/dist/types/index.js.map +0 -1
  266. package/dist/types/item-selector.d.ts +0 -72
  267. package/dist/types/item-selector.js +0 -2
  268. package/dist/types/item-selector.js.map +0 -1
  269. package/dist/types/line-item.d.ts +0 -14
  270. package/dist/types/line-item.js +0 -2
  271. package/dist/types/line-item.js.map +0 -1
  272. package/dist/types/multi-family-selector-props.d.ts +0 -16
  273. package/dist/types/multi-family-selector-props.js +0 -2
  274. package/dist/types/multi-family-selector-props.js.map +0 -1
  275. package/dist/types/product.d.ts +0 -15
  276. package/dist/types/product.js +0 -2
  277. package/dist/types/product.js.map +0 -1
  278. package/dist/types/promo.d.ts +0 -7
  279. package/dist/types/promo.js +0 -2
  280. package/dist/types/promo.js.map +0 -1
  281. package/dist/types/selection-ui-specifier.d.ts +0 -40
  282. package/dist/types/selection-ui-specifier.js +0 -2
  283. package/dist/types/selection-ui-specifier.js.map +0 -1
  284. package/dist/types/string-mutator.d.ts +0 -9
  285. package/dist/types/string-mutator.js +0 -2
  286. package/dist/types/string-mutator.js.map +0 -1
  287. package/dist/types/token-separators.d.ts +0 -6
  288. package/dist/types/token-separators.js +0 -2
  289. package/dist/types/token-separators.js.map +0 -1
  290. package/dist/util/analytics.d.ts +0 -9
  291. package/dist/util/analytics.js +0 -10
  292. package/dist/util/analytics.js.map +0 -1
  293. package/dist/util/countries.d.ts +0 -7
  294. package/dist/util/countries.js +0 -197
  295. package/dist/util/countries.js.map +0 -1
  296. package/dist/util/error.d.ts +0 -1
  297. package/dist/util/error.js +0 -22
  298. package/dist/util/error.js.map +0 -1
  299. package/dist/util/index.d.ts +0 -15
  300. package/dist/util/index.js +0 -54
  301. package/dist/util/index.js.map +0 -1
  302. package/dist/util/item-selector-options-accessor.d.ts +0 -3
  303. package/dist/util/item-selector-options-accessor.js +0 -27
  304. package/dist/util/item-selector-options-accessor.js.map +0 -1
  305. package/dist/util/line-item-ref.d.ts +0 -8
  306. package/dist/util/line-item-ref.js +0 -15
  307. package/dist/util/line-item-ref.js.map +0 -1
  308. package/dist/util/multi-family-selector-options-accessor.d.ts +0 -3
  309. package/dist/util/multi-family-selector-options-accessor.js +0 -11
  310. package/dist/util/multi-family-selector-options-accessor.js.map +0 -1
  311. package/dist/util/obs-string-mutator.d.ts +0 -8
  312. package/dist/util/obs-string-mutator.js +0 -15
  313. package/dist/util/obs-string-mutator.js.map +0 -1
  314. package/dist/util/product-media-accessor.d.ts +0 -29
  315. package/dist/util/product-media-accessor.js +0 -22
  316. package/dist/util/product-media-accessor.js.map +0 -1
  317. package/dist/util/promo-codes.d.ts +0 -3
  318. package/dist/util/promo-codes.js +0 -100
  319. package/dist/util/promo-codes.js.map +0 -1
  320. package/dist/util/selection-ui-specifiers.d.ts +0 -3
  321. package/dist/util/selection-ui-specifiers.js +0 -24
  322. package/dist/util/selection-ui-specifiers.js.map +0 -1
  323. package/dist/util/square-payment.d.ts +0 -7
  324. package/dist/util/square-payment.js +0 -37
  325. package/dist/util/square-payment.js.map +0 -1
  326. package/dist/util/use-sync-sku-param-w-current-item.d.ts +0 -2
  327. package/dist/util/use-sync-sku-param-w-current-item.js +0 -61
  328. package/dist/util/use-sync-sku-param-w-current-item.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"product-card.js","sourceRoot":"","sources":["../../../components/item/product-card.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AAMnD,MAAM,WAAW,GAA+B,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,MAAC,IAAI,IACH,SAAS,EAAE,EAAE,CAAC,8DAA8D,EAAE,SAAS,CAAC,KACpF,KAAK,aAET,KAAC,UAAU,IAAC,SAAS,EAAC,0DAA0D,YAC9E,KAAC,UAAU,IAAC,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,GAAG,EAAC,EAAE,GAAG,EAAC,KAAK,GAAG,GACxD,EACb,KAAC,WAAW,IAAC,SAAS,EAAC,kBAAkB,YACvC,MAAC,SAAS,IAAC,SAAS,EAAC,2EAA2E,aAC7F,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,sBAAY,CAAC,IAAL,CAAC,CAAS,CAAC,CAAC,EAC3D,YAAG,SAAS,EAAC,oBAAoB,YAAE,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,GAAK,IAC7D,GACA,EACd,KAAC,UAAU,IAAC,SAAS,EAAC,kCAAkC,YACtD,KAAC,eAAe,IAAC,IAAI,EAAE,IAAI,GAAI,GACpB,IACR,CACR,CAAA;AAGD,eAAe,WAAW,CAAA"}
@@ -1,21 +0,0 @@
1
- import React from 'react';
2
- import { Card, CardContent, CardFooter, CardHeader, CardTitle, MediaStack } from '@hanzo/ui/primitives';
3
- import { cn } from '@hanzo/ui/util';
4
- import { formatCurrencyValue } from '../../util';
5
- import AddToCartWidget from '../add-to-cart-widget';
6
- const ProductCard = ({ item, className, ...props }) => (<Card className={cn('max-h-[360px] lg:min-w-[200px] max-w-[260px] overflow-hidden', className)} {...props}>
7
- <CardHeader className='w-full border-b p-6 min-h-[180px] max-h-[240px] relative'>
8
- <MediaStack media={item} constrainTo={{ w: 700, h: 700 }} clx='p-6'/>
9
- </CardHeader>
10
- <CardContent className='grid gap-2.5 p-4'>
11
- <CardTitle className='text-sm sm:text-base flex flex-col justify-start items-center line-clap-3'>
12
- {item.title.split(', ').map((e, i) => (<p key={i}>{e}</p>))}
13
- <p className='mt-1 font-semibold'>{formatCurrencyValue(item.price)}</p>
14
- </CardTitle>
15
- </CardContent>
16
- <CardFooter className='p-4 flex flex-row justify-center'>
17
- <AddToCartWidget item={item}/>
18
- </CardFooter>
19
- </Card>);
20
- export default ProductCard;
21
- //# sourceMappingURL=product-card.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"product-card.jsx","sourceRoot":"","sources":["../../../components/item/product-card.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EACL,IAAI,EACJ,WAAW,EACX,UAAU,EACV,UAAU,EACV,SAAS,EACT,UAAU,EACX,MAAM,sBAAsB,CAAA;AAE7B,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAEnC,OAAO,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAA;AAGhD,OAAO,eAAe,MAAM,uBAAuB,CAAA;AAMnD,MAAM,WAAW,GAA+B,CAAC,EAC/C,IAAI,EACJ,SAAS,EACT,GAAG,KAAK,EACT,EAAE,EAAE,CAAC,CACJ,CAAC,IAAI,CACH,SAAS,CAAC,CAAC,EAAE,CAAC,8DAA8D,EAAE,SAAS,CAAC,CAAC,CACzF,IAAI,KAAK,CAAC,CAEV;IAAA,CAAC,UAAU,CAAC,SAAS,CAAC,0DAA0D,CAC9E;MAAA,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,WAAW,CAAC,CAAC,EAAC,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,GAAG,EAAC,CAAC,CAAC,GAAG,CAAC,KAAK,EAClE;IAAA,EAAE,UAAU,CACZ;IAAA,CAAC,WAAW,CAAC,SAAS,CAAC,kBAAkB,CACvC;MAAA,CAAC,SAAS,CAAC,SAAS,CAAC,2EAA2E,CAC9F;QAAA,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAC3D;QAAA,CAAC,CAAC,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CACxE;MAAA,EAAE,SAAS,CACb;IAAA,EAAE,WAAW,CACb;IAAA,CAAC,UAAU,CAAC,SAAS,CAAC,kCAAkC,CACtD;MAAA,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,EAC9B;IAAA,EAAE,UAAU,CACd;EAAA,EAAE,IAAI,CAAC,CACR,CAAA;AAGD,eAAe,WAAW,CAAA"}
@@ -1,4 +0,0 @@
1
- import React from 'react';
2
- import type { ItemSelectorProps } from '../../types';
3
- declare const ButtonItemSelector: React.FC<ItemSelectorProps>;
4
- export default ButtonItemSelector;
@@ -1,47 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
- import React from 'react';
4
- import { observer } from 'mobx-react-lite';
5
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
6
- import { Image, Label, RadioGroup, ScrollArea } from '@hanzo/ui/primitives';
7
- import { cn } from '@hanzo/ui/util';
8
- import { accessItemOptions, formatCurrencyValue } from '../../util';
9
- import QuantityIndicator from './quantity-indicator';
10
- const DEFAULT_CONSTRAINT = { h: 36, w: 72 }; // // Apple suggest 42px for clickability
11
- const ImageRadioGroupItem = React.forwardRef(({ item, constrainTo, className, ...props }, ref) => {
12
- const img = item.optionImg ? item.optionImg : item.img;
13
- return (_jsx(RadioGroupPrimitive.Item, { ref: ref, "data-vaul-no-drag": true, className: cn('ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring', 'focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', className, 'overflow-hidden', img?.rounded ? `rounded-${img.rounded}` : 'rounded-sm'), ...props, id: item.sku, value: item.sku, children: img ? (_jsx(Image, { def: img, constrainTo: constrainTo, preload: true, className: '' })) : ( // placeholder so things align
14
- _jsx("div", { style: { height: constrainTo.h, width: constrainTo.w } })) }));
15
- });
16
- ImageRadioGroupItem.displayName = 'ImageRadioGroupItem';
17
- const ButtonItemSelector = observer(({ items, selectedItemRef: itemRef, selectSku, clx = '', itemClx = '', soleItemClx = '', scrollable = false, mobile = false, options = {} }) => {
18
- const { showPrice, showQuantity, showFamilyInOption, buttonType, horizButtons, showButtonIfOnlyOne } = accessItemOptions(options);
19
- const showImage = buttonType !== 'text';
20
- const showText = buttonType !== 'image';
21
- const showBoth = buttonType === 'image-and-text';
22
- const labelAndPrice = (item) => ((showFamilyInOption ? (item.familyTitle + ', ' + item.optionLabel) : item.optionLabel) +
23
- (showPrice ? ((showFamilyInOption ? ': ' : ', ') + formatCurrencyValue(item.price)) : ''));
24
- const Item = observer(({ item, selected }) => {
25
- const textClx = (selected) ? 'text-accent' : 'text-muted';
26
- const cursorClx = (selected) ? 'hover:cursor-default' : 'hover:cursor-pointer';
27
- const justifyClx = (showBoth) ? '' : 'justify-center';
28
- // If no image, the Label must fill the entire button since it has to be
29
- // clickable all the way to the border
30
- const paddingClx = (showImage) ? (scrollable ? 'px-4 py-2' : 'px-2 py-2') : '';
31
- let bgClx = '';
32
- let borderClx = '';
33
- if (scrollable) {
34
- borderClx += (selected) ? 'border-foreground border ' : 'border-b border-muted-2 ';
35
- }
36
- else if (!showImage) {
37
- borderClx += 'border rounded-lg ';
38
- borderClx += (selected) ? 'border-foreground ' : 'border-muted-2 ';
39
- bgClx += 'hover:bg-level-2';
40
- }
41
- const outerClx = ['h-10 flex items-center', justifyClx, paddingClx, bgClx, borderClx];
42
- return (_jsxs("div", { className: cn(...outerClx, itemClx), "data-vaul-no-drag": true, children: [_jsx(ImageRadioGroupItem, { item: item, constrainTo: DEFAULT_CONSTRAINT, className: cn(cursorClx, (scrollable ? '' : 'border-transparent border-2 data-[state=checked]:border-foreground'), showBoth ? 'mr-2' : (showImage ? '' : 'hidden')) }), _jsxs(Label, { htmlFor: item.sku, className: cn(showQuantity ? 'flex items-center' : 'block', textClx, cursorClx, (showImage ? '' : 'self-stretch w-full flex items-center justify-center px-3 py-2'), (showText ? '' : 'hidden')), children: [_jsx("div", { className: showQuantity ? 'grow' : '', children: labelAndPrice(item) }), showQuantity && (_jsx(QuantityIndicator, { item: item, clx: 'grow-0 shrink-0 h-[20px] ml-2', iconClx: selected ? 'fill-foreground' : 'fill-muted', digitClx: 'font-semibold text-primary-fg leading-none font-sans text-xxs' }))] })] }));
43
- });
44
- return showButtonIfOnlyOne || items.length > 1 ? (_jsx(RadioGroup, { className: cn((scrollable ? 'shrink min-h-0 gap-0' : (mobile ? 'gap-3' : 'gap-1')), (horizButtons ? `grid grid-cols-${items.length} gap-1` : 'flex flex-col'), (mobile && showText) ? 'min-w-pr-50' : '', clx), onValueChange: selectSku, value: itemRef.item ? itemRef.item.sku : '', "data-vaul-no-drag": true, children: scrollable ? (_jsx(ScrollArea, { className: 'mt-2 w-full h-full py-0 border border-muted-2', "data-vaul-no-drag": true, children: items.map((item) => (_jsx(Item, { item: item, selected: itemRef.item?.sku === item.sku }, item.sku))) })) : (_jsx(_Fragment, { children: items.map((item) => (_jsx(Item, { item: item, selected: itemRef.item?.sku === item.sku }, item.sku))) })) })) : (_jsxs("div", { className: cn(showQuantity ? 'flex items-center' : 'block', soleItemClx), children: [_jsx("div", { className: showQuantity ? 'grow' : '', children: labelAndPrice(items[0]) }), showQuantity && (_jsx(QuantityIndicator, { item: items[0], clx: 'grow-0 shrink-0 font-semibold text-sm leading-none px-2' }))] }));
45
- });
46
- export default ButtonItemSelector;
47
- //# sourceMappingURL=button.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.js","sourceRoot":"","sources":["../../../components/item-selector/button.tsx"],"names":[],"mappings":"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"}
@@ -1,65 +0,0 @@
1
- 'use client';
2
- import React from 'react';
3
- import { observer } from 'mobx-react-lite';
4
- import * as RadioGroupPrimitive from "@radix-ui/react-radio-group";
5
- import { Image, Label, RadioGroup, ScrollArea } from '@hanzo/ui/primitives';
6
- import { cn } from '@hanzo/ui/util';
7
- import { accessItemOptions, formatCurrencyValue } from '../../util';
8
- import QuantityIndicator from './quantity-indicator';
9
- const DEFAULT_CONSTRAINT = { h: 36, w: 72 }; // // Apple suggest 42px for clickability
10
- const ImageRadioGroupItem = React.forwardRef(({ item, constrainTo, className, ...props }, ref) => {
11
- const img = item.optionImg ? item.optionImg : item.img;
12
- return (<RadioGroupPrimitive.Item ref={ref} data-vaul-no-drag className={cn('ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring', 'focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', className, 'overflow-hidden', img?.rounded ? `rounded-${img.rounded}` : 'rounded-sm')} {...props} id={item.sku} value={item.sku}>
13
- {img ? (<Image def={img} constrainTo={constrainTo} preload className=''/>) : ( // placeholder so things align
14
- <div style={{ height: constrainTo.h, width: constrainTo.w }}/>)}
15
- </RadioGroupPrimitive.Item>);
16
- });
17
- ImageRadioGroupItem.displayName = 'ImageRadioGroupItem';
18
- const ButtonItemSelector = observer(({ items, selectedItemRef: itemRef, selectSku, clx = '', itemClx = '', soleItemClx = '', scrollable = false, mobile = false, options = {} }) => {
19
- const { showPrice, showQuantity, showFamilyInOption, buttonType, horizButtons, showButtonIfOnlyOne } = accessItemOptions(options);
20
- const showImage = buttonType !== 'text';
21
- const showText = buttonType !== 'image';
22
- const showBoth = buttonType === 'image-and-text';
23
- const labelAndPrice = (item) => ((showFamilyInOption ? (item.familyTitle + ', ' + item.optionLabel) : item.optionLabel) +
24
- (showPrice ? ((showFamilyInOption ? ': ' : ', ') + formatCurrencyValue(item.price)) : ''));
25
- const Item = observer(({ item, selected }) => {
26
- const textClx = (selected) ? 'text-accent' : 'text-muted';
27
- const cursorClx = (selected) ? 'hover:cursor-default' : 'hover:cursor-pointer';
28
- const justifyClx = (showBoth) ? '' : 'justify-center';
29
- // If no image, the Label must fill the entire button since it has to be
30
- // clickable all the way to the border
31
- const paddingClx = (showImage) ? (scrollable ? 'px-4 py-2' : 'px-2 py-2') : '';
32
- let bgClx = '';
33
- let borderClx = '';
34
- if (scrollable) {
35
- borderClx += (selected) ? 'border-foreground border ' : 'border-b border-muted-2 ';
36
- }
37
- else if (!showImage) {
38
- borderClx += 'border rounded-lg ';
39
- borderClx += (selected) ? 'border-foreground ' : 'border-muted-2 ';
40
- bgClx += 'hover:bg-level-2';
41
- }
42
- const outerClx = ['h-10 flex items-center', justifyClx, paddingClx, bgClx, borderClx];
43
- return (<div className={cn(...outerClx, itemClx)} data-vaul-no-drag>
44
- <ImageRadioGroupItem item={item} constrainTo={DEFAULT_CONSTRAINT} className={cn(cursorClx, (scrollable ? '' : 'border-transparent border-2 data-[state=checked]:border-foreground'), showBoth ? 'mr-2' : (showImage ? '' : 'hidden'))}/>
45
- <Label htmlFor={item.sku} className={cn(showQuantity ? 'flex items-center' : 'block', textClx, cursorClx, (showImage ? '' : 'self-stretch w-full flex items-center justify-center px-3 py-2'), (showText ? '' : 'hidden'))}>
46
- <div className={showQuantity ? 'grow' : ''}>{labelAndPrice(item)}</div>
47
- {showQuantity && (<QuantityIndicator item={item} clx='grow-0 shrink-0 h-[20px] ml-2' iconClx={selected ? 'fill-foreground' : 'fill-muted'} digitClx='font-semibold text-primary-fg leading-none font-sans text-xxs'/>)}
48
- </Label>
49
- </div>);
50
- });
51
- return showButtonIfOnlyOne || items.length > 1 ? (<RadioGroup className={cn((scrollable ? 'shrink min-h-0 gap-0' : (mobile ? 'gap-3' : 'gap-1')), (horizButtons ? `grid grid-cols-${items.length} gap-1` : 'flex flex-col'), (mobile && showText) ? 'min-w-pr-50' : '', clx)} onValueChange={selectSku} value={itemRef.item ? itemRef.item.sku : ''} data-vaul-no-drag>
52
- {scrollable ? (<ScrollArea className='mt-2 w-full h-full py-0 border border-muted-2' data-vaul-no-drag>
53
- {items.map((item) => (<Item item={item} selected={itemRef.item?.sku === item.sku} key={item.sku}/>))}
54
- </ScrollArea>) : (<>
55
- {items.map((item) => (<Item item={item} selected={itemRef.item?.sku === item.sku} key={item.sku}/>))}
56
- </>)}
57
- </RadioGroup>) : (<div className={cn(showQuantity ? 'flex items-center' : 'block', soleItemClx)}>
58
- <div className={showQuantity ? 'grow' : ''}>
59
- {labelAndPrice(items[0])}
60
- </div>
61
- {showQuantity && (<QuantityIndicator item={items[0]} clx='grow-0 shrink-0 font-semibold text-sm leading-none px-2'/>)}
62
- </div>);
63
- });
64
- export default ButtonItemSelector;
65
- //# sourceMappingURL=button.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"button.jsx","sourceRoot":"","sources":["../../../components/item-selector/button.tsx"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- import React from 'react';
2
- import type { Dimensions } from '@hanzo/ui/types';
3
- import { type CarouselOptions } from '@hanzo/ui/primitives';
4
- import type { ItemSelectorProps } from '../../../types';
5
- interface CarouselItemSelectorPropsExt {
6
- constrainTo: Dimensions;
7
- options?: CarouselOptions;
8
- /** Do not show Family and / or Item title and Price */
9
- imageOnly?: boolean;
10
- }
11
- declare const CarouselItemSelector: React.FC<ItemSelectorProps>;
12
- export { type CarouselItemSelectorPropsExt, CarouselItemSelector as default };
@@ -1,74 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { useCallback, useEffect, useRef, useState } from 'react';
4
- import { reaction } from 'mobx';
5
- import { observer } from 'mobx-react-lite';
6
- import { cn } from '@hanzo/ui/util';
7
- import { ApplyTypography, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, MediaStack, } from '@hanzo/ui/primitives';
8
- import { formatCurrencyValue, accessItemOptions } from '../../../util';
9
- import QuantityIndicator from '../quantity-indicator';
10
- import ItemCarouselSlider from './slider';
11
- const DEFAULT_CONSTRAINT = { w: 250, h: 250 };
12
- const ItemSlide = ({ item, constrainTo, clx = '' }) => (_jsx(CarouselItem, { className: cn('p-2 flex flex-col justify-center items-center', clx), children: _jsx(MediaStack, { media: item, constrainTo: constrainTo, clx: 'my-4' }) }));
13
- const CarouselItemSelector = observer(({ items, selectSku, selectedItemRef: itemRef, clx = '', itemClx = '', options = {}, ext = {
14
- options: { loop: true },
15
- constrainTo: DEFAULT_CONSTRAINT,
16
- imageOnly: false
17
- } }) => {
18
- const { showPrice, showQuantity, showFamilyInOption, showByline, showSlider, } = accessItemOptions(options);
19
- const elbaApiRef = useRef(undefined);
20
- const scrollToRef = useRef(undefined);
21
- const dontRespondRef = useRef(false);
22
- const setApi = (api) => { elbaApiRef.current = api; };
23
- const setScrollTo = (scrollTo) => { scrollToRef.current = scrollTo; };
24
- const carouselOptions = 'options' in ext ? ext.options : undefined;
25
- const constrainTo = 'constrainTo' in ext ? ext.constrainTo : DEFAULT_CONSTRAINT;
26
- const imageOnly = 'imageOnly' in ext ? ext.imageOnly : false;
27
- const onSelect = useCallback((emblaApi) => {
28
- if (dontRespondRef.current) {
29
- dontRespondRef.current = false;
30
- return;
31
- }
32
- const index = emblaApi.selectedScrollSnap();
33
- if (index !== -1) {
34
- selectSku(items[index].sku);
35
- if (scrollToRef.current) {
36
- scrollToRef.current(index);
37
- }
38
- }
39
- dontRespondRef.current = false;
40
- }, [scrollToRef.current]);
41
- useEffect(() => {
42
- return reaction(() => (itemRef.item), (item) => {
43
- if (elbaApiRef.current) {
44
- const index = items.findIndex((el) => (el.sku === item?.sku));
45
- if (index !== -1) {
46
- dontRespondRef.current = true;
47
- elbaApiRef.current.scrollTo(index);
48
- }
49
- }
50
- });
51
- }, []);
52
- const optionLabel = () => (showFamilyInOption ?
53
- (itemRef.item?.familyTitle + ', ' + itemRef.item?.optionLabel)
54
- :
55
- itemRef.item?.optionLabel);
56
- const debugBorder = (c) => {
57
- return '';
58
- switch (c) {
59
- case 'r': return ' border border-[#ffaaaa] ';
60
- case 'g': return ' border border-[#aaffaa] ';
61
- case 'b': return ' border border-[#aaaaff] ';
62
- }
63
- };
64
- const onScrollIndexChange = (index) => {
65
- dontRespondRef.current = true;
66
- selectSku(items[index].sku);
67
- elbaApiRef.current?.scrollTo(index);
68
- };
69
- return (_jsxs("div", { className: cn('w-full flex flex-col items-center', clx), children: [_jsxs(Carousel, { options: showSlider ? { ...carouselOptions, loop: false } : carouselOptions, className: 'w-full px-2' + debugBorder('r'), onCarouselSelect: onSelect, setApi: setApi, children: [_jsx(CarouselContent, { children: items.map((item) => (_jsx(ItemSlide, { item: item, constrainTo: constrainTo, clx: itemClx }, item.sku))) }), !showSlider && (_jsxs(_Fragment, { children: [_jsx(CarouselPrevious, { className: 'left-1' }), _jsx(CarouselNext, { className: 'right-1' })] }))] }), (!imageOnly && itemRef.item) && (_jsxs(_Fragment, { children: [_jsxs(ApplyTypography, { className: 'flex flex-col items-center [&>*]:!m-0 !gap-1 ', children: [_jsxs("div", { className: 'flex items-center gap-1 [&>*]:!m-0 ' + debugBorder('g') +
70
- (showFamilyInOption ? 'flex-col' : 'flex-row'), children: [_jsx("h6", { className: 'font-semibold', children: optionLabel() + (showPrice && !showFamilyInOption ? ',' : '') }), _jsxs("div", { className: 'flex items-center gap-1 [&>*]:!m-0 flex-row ' + debugBorder('b') +
71
- (showFamilyInOption ? 'w-full justify-between' : ''), children: [showPrice && (_jsx("p", { children: formatCurrencyValue(itemRef.item.price) })), showQuantity && (_jsx(QuantityIndicator, { item: itemRef.item, clx: 'h-[22px] ml-4', iconClx: 'fill-foreground', digitClx: 'not-typography font-semibold text-primary-fg leading-none font-sans text-xs' }))] })] }), showByline && itemRef.item.byline && (_jsx("p", { children: itemRef.item.byline }))] }), showSlider && items.length > 1 && (_jsx(ItemCarouselSlider, { clx: 'mt-5 w-[320px]', numStops: items.length, setScrollTo: setScrollTo, onIndexChange: onScrollIndexChange }))] }))] }));
72
- });
73
- export { CarouselItemSelector as default };
74
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../components/item-selector/carousel/index.tsx"],"names":[],"mappings":"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"}
@@ -1,101 +0,0 @@
1
- 'use client';
2
- import React, { useCallback, useEffect, useRef, useState } from 'react';
3
- import { reaction } from 'mobx';
4
- import { observer } from 'mobx-react-lite';
5
- import { cn } from '@hanzo/ui/util';
6
- import { ApplyTypography, Carousel, CarouselContent, CarouselItem, CarouselPrevious, CarouselNext, MediaStack, } from '@hanzo/ui/primitives';
7
- import { formatCurrencyValue, accessItemOptions } from '../../../util';
8
- import QuantityIndicator from '../quantity-indicator';
9
- import ItemCarouselSlider from './slider';
10
- const DEFAULT_CONSTRAINT = { w: 250, h: 250 };
11
- const ItemSlide = ({ item, constrainTo, clx = '' }) => (<CarouselItem className={cn('p-2 flex flex-col justify-center items-center', clx)}>
12
- <MediaStack media={item} constrainTo={constrainTo} clx='my-4'/>
13
- </CarouselItem>);
14
- const CarouselItemSelector = observer(({ items, selectSku, selectedItemRef: itemRef, clx = '', itemClx = '', options = {}, ext = {
15
- options: { loop: true },
16
- constrainTo: DEFAULT_CONSTRAINT,
17
- imageOnly: false
18
- } }) => {
19
- const { showPrice, showQuantity, showFamilyInOption, showByline, showSlider, } = accessItemOptions(options);
20
- const elbaApiRef = useRef(undefined);
21
- const scrollToRef = useRef(undefined);
22
- const dontRespondRef = useRef(false);
23
- const setApi = (api) => { elbaApiRef.current = api; };
24
- const setScrollTo = (scrollTo) => { scrollToRef.current = scrollTo; };
25
- const carouselOptions = 'options' in ext ? ext.options : undefined;
26
- const constrainTo = 'constrainTo' in ext ? ext.constrainTo : DEFAULT_CONSTRAINT;
27
- const imageOnly = 'imageOnly' in ext ? ext.imageOnly : false;
28
- const onSelect = useCallback((emblaApi) => {
29
- if (dontRespondRef.current) {
30
- dontRespondRef.current = false;
31
- return;
32
- }
33
- const index = emblaApi.selectedScrollSnap();
34
- if (index !== -1) {
35
- selectSku(items[index].sku);
36
- if (scrollToRef.current) {
37
- scrollToRef.current(index);
38
- }
39
- }
40
- dontRespondRef.current = false;
41
- }, [scrollToRef.current]);
42
- useEffect(() => {
43
- return reaction(() => (itemRef.item), (item) => {
44
- if (elbaApiRef.current) {
45
- const index = items.findIndex((el) => (el.sku === item?.sku));
46
- if (index !== -1) {
47
- dontRespondRef.current = true;
48
- elbaApiRef.current.scrollTo(index);
49
- }
50
- }
51
- });
52
- }, []);
53
- const optionLabel = () => (showFamilyInOption ?
54
- (itemRef.item?.familyTitle + ', ' + itemRef.item?.optionLabel)
55
- :
56
- itemRef.item?.optionLabel);
57
- const debugBorder = (c) => {
58
- return '';
59
- switch (c) {
60
- case 'r': return ' border border-[#ffaaaa] ';
61
- case 'g': return ' border border-[#aaffaa] ';
62
- case 'b': return ' border border-[#aaaaff] ';
63
- }
64
- };
65
- const onScrollIndexChange = (index) => {
66
- dontRespondRef.current = true;
67
- selectSku(items[index].sku);
68
- elbaApiRef.current?.scrollTo(index);
69
- };
70
- return (<div className={cn('w-full flex flex-col items-center', clx)}>
71
- <Carousel options={showSlider ? { ...carouselOptions, loop: false } : carouselOptions} className={'w-full px-2' + debugBorder('r')} onCarouselSelect={onSelect} setApi={setApi}>
72
- <CarouselContent>
73
- {items.map((item) => (<ItemSlide key={item.sku} item={item} constrainTo={constrainTo} clx={itemClx}/>))}
74
- </CarouselContent>
75
- {!showSlider && (<>
76
- <CarouselPrevious className='left-1'/>
77
- <CarouselNext className='right-1'/>
78
- </>)}
79
- </Carousel>
80
-
81
- {(!imageOnly && itemRef.item) && (<>
82
- <ApplyTypography className='flex flex-col items-center [&>*]:!m-0 !gap-1 '>
83
- <div className={'flex items-center gap-1 [&>*]:!m-0 ' + debugBorder('g') +
84
- (showFamilyInOption ? 'flex-col' : 'flex-row')}>
85
- <h6 className='font-semibold'>
86
- {optionLabel() + (showPrice && !showFamilyInOption ? ',' : '')}
87
- </h6>
88
- <div className={'flex items-center gap-1 [&>*]:!m-0 flex-row ' + debugBorder('b') +
89
- (showFamilyInOption ? 'w-full justify-between' : '')}>
90
- {showPrice && (<p>{formatCurrencyValue(itemRef.item.price)}</p>)}
91
- {showQuantity && (<QuantityIndicator item={itemRef.item} clx='h-[22px] ml-4' iconClx='fill-foreground' digitClx='not-typography font-semibold text-primary-fg leading-none font-sans text-xs'/>)}
92
- </div>
93
- </div>
94
- {showByline && itemRef.item.byline && (<p>{itemRef.item.byline}</p>)}
95
- </ApplyTypography>
96
- {showSlider && items.length > 1 && (<ItemCarouselSlider clx='mt-5 w-[320px]' numStops={items.length} setScrollTo={setScrollTo} onIndexChange={onScrollIndexChange}/>)}
97
- </>)}
98
- </div>);
99
- });
100
- export { CarouselItemSelector as default };
101
- //# sourceMappingURL=index.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.jsx","sourceRoot":"","sources":["../../../../components/item-selector/carousel/index.tsx"],"names":[],"mappings":"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"}
@@ -1,8 +0,0 @@
1
- import React from 'react';
2
- declare const ItemCarouselSlider: React.FC<{
3
- clx?: string;
4
- setScrollTo: (scrollTo: (index: number) => void) => void;
5
- onIndexChange: (i: number) => void;
6
- numStops: number;
7
- }>;
8
- export default ItemCarouselSlider;
@@ -1,12 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx } from "react/jsx-runtime";
3
- import React, { useEffect, useState } from 'react';
4
- import { Slider } from '@hanzo/ui/primitives';
5
- const ItemCarouselSlider = ({ clx = '', setScrollTo, onIndexChange, numStops, }) => {
6
- const [index, setIndex] = useState(0);
7
- useEffect(() => { setScrollTo(setIndex); }, [setScrollTo]);
8
- const onValueChange = (v) => { setIndex(v[0]); onIndexChange(v[0]); };
9
- return (_jsx(Slider, { className: clx, thumbClx: 'w-8 border-muted border-2 bg-level-1 focus-visible:ring-0 focus-visible:ring-offset-0 transition-none', trackBgClx: 'bg-level-3', rangeBgClx: 'bg-level-3', thumbSlidingClx: 'bg-muted-2', defaultValue: [0], min: 0, max: numStops - 1, step: 1, value: [index], onValueChange: onValueChange }));
10
- };
11
- export default ItemCarouselSlider;
12
- //# sourceMappingURL=slider.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider.js","sourceRoot":"","sources":["../../../../components/item-selector/carousel/slider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,MAAM,kBAAkB,GAKnB,CAAC,EACJ,GAAG,GAAC,EAAE,EACN,WAAW,EACX,aAAa,EACb,QAAQ,GACT,EAAE,EAAE;IAEH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAA;IAC7C,SAAS,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,CAAC,CAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;IAE9E,OAAO,CACL,KAAC,MAAM,IACL,SAAS,EAAE,GAAG,EACd,QAAQ,EAAC,uGAAuG,EAChH,UAAU,EAAC,YAAY,EACvB,UAAU,EAAC,YAAY,EACvB,eAAe,EAAC,YAAY,EAC5B,YAAY,EAAE,CAAC,CAAC,CAAC,EACjB,GAAG,EAAE,CAAC,EACN,GAAG,EAAE,QAAQ,GAAG,CAAC,EACjB,IAAI,EAAE,CAAC,EACP,KAAK,EAAE,CAAC,KAAK,CAAC,EACd,aAAa,EAAE,aAAa,GAC5B,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -1,11 +0,0 @@
1
- 'use client';
2
- import React, { useEffect, useState } from 'react';
3
- import { Slider } from '@hanzo/ui/primitives';
4
- const ItemCarouselSlider = ({ clx = '', setScrollTo, onIndexChange, numStops, }) => {
5
- const [index, setIndex] = useState(0);
6
- useEffect(() => { setScrollTo(setIndex); }, [setScrollTo]);
7
- const onValueChange = (v) => { setIndex(v[0]); onIndexChange(v[0]); };
8
- return (<Slider className={clx} thumbClx='w-8 border-muted border-2 bg-level-1 focus-visible:ring-0 focus-visible:ring-offset-0 transition-none' trackBgClx='bg-level-3' rangeBgClx='bg-level-3' thumbSlidingClx='bg-muted-2' defaultValue={[0]} min={0} max={numStops - 1} step={1} value={[index]} onValueChange={onValueChange}/>);
9
- };
10
- export default ItemCarouselSlider;
11
- //# sourceMappingURL=slider.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"slider.jsx","sourceRoot":"","sources":["../../../../components/item-selector/carousel/slider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,KAAK,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAA;AAElD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAA;AAE7C,MAAM,kBAAkB,GAKnB,CAAC,EACJ,GAAG,GAAC,EAAE,EACN,WAAW,EACX,aAAa,EACb,QAAQ,GACT,EAAE,EAAE;IAEH,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAA;IAC7C,SAAS,CAAC,GAAG,EAAE,GAAG,WAAW,CAAC,QAAQ,CAAC,CAAA,CAAC,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEzD,MAAM,aAAa,GAAG,CAAC,CAAW,EAAE,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,CAAC,CAAA;IAE9E,OAAO,CACL,CAAC,MAAM,CACL,SAAS,CAAC,CAAC,GAAG,CAAC,CACf,QAAQ,CAAC,uGAAuG,CAChH,UAAU,CAAC,YAAY,CACvB,UAAU,CAAC,YAAY,CACvB,eAAe,CAAC,YAAY,CAC5B,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAClB,GAAG,CAAC,CAAC,CAAC,CAAC,CACP,GAAG,CAAC,CAAC,QAAQ,GAAG,CAAC,CAAC,CAClB,IAAI,CAAC,CAAC,CAAC,CAAC,CACR,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CACf,aAAa,CAAC,CAAC,aAAa,CAAC,EAC7B,CACH,CAAA;AACH,CAAC,CAAA;AAED,eAAe,kBAAkB,CAAA"}
@@ -1,2 +0,0 @@
1
- export { default as ButtonItemSelector } from './button';
2
- export { default as CarouselItemSelector, type CarouselItemSelectorPropsExt } from './carousel';
@@ -1,3 +0,0 @@
1
- export { default as ButtonItemSelector } from './button';
2
- export { default as CarouselItemSelector } from './carousel';
3
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/item-selector/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,IAAI,kBAAkB,EAAE,MAAM,UAAU,CAAA;AACxD,OAAO,EACL,OAAO,IAAI,oBAAoB,EAEhC,MAAM,YAAY,CAAA"}
@@ -1,9 +0,0 @@
1
- import React from 'react';
2
- import type { LineItem } from '../../types';
3
- declare const QuantityIndicator: React.FC<{
4
- item: LineItem;
5
- clx?: string;
6
- iconClx?: string;
7
- digitClx?: string;
8
- }>;
9
- export default QuantityIndicator;
@@ -1,16 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React from 'react';
4
- import { observer } from 'mobx-react-lite';
5
- import {} from 'lucide-react';
6
- import { cn } from '@hanzo/ui/util';
7
- // Generalize this.
8
- const BagIcon = (props) => (_jsx("svg", { fill: "currentColor", viewBox: '0 0 20 23', ...props, children: _jsx("path", { fillRule: "evenodd", d: "M5 5a5 5 0 0 1 10 0v1h-2V5a3 3 0 1 0-6 0v1H5V5Zm0 1v4h2V6h6v4h2V6h3.5a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1h-17a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1H5Z", clipRule: "evenodd" }) }));
9
- const QuantityIndicator = observer(({ item, clx = '', iconClx = '', digitClx = '' }) => {
10
- if (!item.isInCart) {
11
- return _jsx("div", {});
12
- }
13
- return (_jsxs("div", { className: cn('relative aspect-square flex items-center justify-center', clx), children: [_jsxs("div", { className: cn('z-above-content flex flex-col justify-center items-center', 'absolute left-0 right-0 top-0 bottom-0', digitClx), children: [_jsx("div", { className: 'h-[1px] w-full' }), _jsx("div", { style: { color: 'black' /* tailwind bug */ }, children: item.quantity })] }), _jsx(BagIcon, { className: cn('relative -top-[12%] h-full ', iconClx), "aria-hidden": "true" })] }));
14
- }); // -top-[3px]
15
- export default QuantityIndicator;
16
- //# sourceMappingURL=quantity-indicator.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quantity-indicator.js","sourceRoot":"","sources":["../../../components/item-selector/quantity-indicator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;;AACZ,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAGjC,mBAAmB;AACrB,MAAM,OAAO,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC7D,cAAK,IAAI,EAAC,cAAc,EAAC,OAAO,EAAC,WAAW,KAAK,KAAK,YACpD,eAAM,QAAQ,EAAC,SAAS,EAAC,CAAC,EAAC,2IAA2I,EAAC,QAAQ,EAAC,SAAS,GAAE,GACvL,CACP,CAAA;AAED,MAAM,iBAAiB,GAKlB,QAAQ,CAAC,CAAC,EACb,IAAI,EACJ,GAAG,GAAC,EAAE,EACN,OAAO,GAAC,EAAE,EACV,QAAQ,GAAC,EAAE,EACZ,EAAE,EAAE;IAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,eAAO,CAAA;IAChB,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAE,EAAE,CAAC,yDAAyD,EAAE,GAAG,CAAC,aAChF,eAAK,SAAS,EAAE,EAAE,CAChB,2DAA2D,EAC3D,wCAAwC,EACxC,QAAQ,CACT,aACC,cAAK,SAAS,EAAC,gBAAgB,GAAG,EAClC,cAAK,KAAK,EAAE,EAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,EAAC,YAAG,IAAI,CAAC,QAAQ,GAAO,IAClE,EACN,KAAC,OAAO,IAAC,SAAS,EAAE,EAAE,CAAC,6BAA6B,EAAE,OAAO,CAAG,iBAAc,MAAM,GAAG,IACnF,CACP,CAAA;AACH,CAAC,CAAC,CAAA,CAAC,cAAc;AAEjB,eAAe,iBAAiB,CAAA"}
@@ -1,23 +0,0 @@
1
- 'use client';
2
- import React from 'react';
3
- import { observer } from 'mobx-react-lite';
4
- import {} from 'lucide-react';
5
- import { cn } from '@hanzo/ui/util';
6
- // Generalize this.
7
- const BagIcon = (props) => (<svg fill="currentColor" viewBox='0 0 20 23' {...props}>
8
- <path fillRule="evenodd" d="M5 5a5 5 0 0 1 10 0v1h-2V5a3 3 0 1 0-6 0v1H5V5Zm0 1v4h2V6h6v4h2V6h3.5a1 1 0 0 1 1 1v15a1 1 0 0 1-1 1h-17a1 1 0 0 1-1-1V7a1 1 0 0 1 1-1H5Z" clipRule="evenodd"/>
9
- </svg>);
10
- const QuantityIndicator = observer(({ item, clx = '', iconClx = '', digitClx = '' }) => {
11
- if (!item.isInCart) {
12
- return <div />;
13
- }
14
- return (<div className={cn('relative aspect-square flex items-center justify-center', clx)}>
15
- <div className={cn('z-above-content flex flex-col justify-center items-center', 'absolute left-0 right-0 top-0 bottom-0', digitClx)}>
16
- <div className='h-[1px] w-full'/>
17
- <div style={{ color: 'black' /* tailwind bug */ }}>{item.quantity}</div>
18
- </div>
19
- <BagIcon className={cn('relative -top-[12%] h-full ', iconClx)} aria-hidden="true"/>
20
- </div>);
21
- }); // -top-[3px]
22
- export default QuantityIndicator;
23
- //# sourceMappingURL=quantity-indicator.jsx.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"quantity-indicator.jsx","sourceRoot":"","sources":["../../../components/item-selector/quantity-indicator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAA;AACZ,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAA;AAE1C,OAAO,EAAoB,MAAM,cAAc,CAAA;AAE/C,OAAO,EAAE,EAAE,EAAE,MAAM,gBAAgB,CAAA;AAGjC,mBAAmB;AACrB,MAAM,OAAO,GAA0B,CAAC,KAAkB,EAAE,EAAE,CAAC,CAC7D,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,KAAK,CAAC,CACrD;IAAA,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,2IAA2I,CAAC,QAAQ,CAAC,SAAS,EAC3L;EAAA,EAAE,GAAG,CAAC,CACP,CAAA;AAED,MAAM,iBAAiB,GAKlB,QAAQ,CAAC,CAAC,EACb,IAAI,EACJ,GAAG,GAAC,EAAE,EACN,OAAO,GAAC,EAAE,EACV,QAAQ,GAAC,EAAE,EACZ,EAAE,EAAE;IAEH,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACnB,OAAO,CAAC,GAAG,CAAC,AAAD,EAAG,CAAA;IAChB,CAAC;IAED,OAAO,CACL,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,yDAAyD,EAAE,GAAG,CAAC,CAAC,CACjF;MAAA,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAChB,2DAA2D,EAC3D,wCAAwC,EACxC,QAAQ,CACT,CAAC,CACA;QAAA,CAAC,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAC/B;QAAA,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAC,KAAK,EAAE,OAAO,CAAC,kBAAkB,EAAC,CAAC,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,GAAG,CACvE;MAAA,EAAE,GAAG,CACL;MAAA,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,6BAA6B,EAAE,OAAO,CAAG,CAAC,CAAC,WAAW,CAAC,MAAM,EACtF;IAAA,EAAE,GAAG,CAAC,CACP,CAAA;AACH,CAAC,CAAC,CAAA,CAAC,cAAc;AAEjB,eAAe,iBAAiB,CAAA"}
@@ -1,14 +0,0 @@
1
- import React from 'react';
2
- import type { CategoryNode, StringMutator, StringArrayMutator } from '../../types';
3
- declare const NodeTabs: React.FC<{
4
- levelNodes: CategoryNode[];
5
- mutator: StringMutator | StringArrayMutator;
6
- multiple?: boolean;
7
- className?: string;
8
- buttonClx?: string;
9
- itemClx?: string;
10
- mobile?: boolean;
11
- tabSize?: string;
12
- show?: 'image' | 'label' | 'image-and-label';
13
- }>;
14
- export default NodeTabs;
@@ -1,42 +0,0 @@
1
- 'use client';
2
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import React, { useState } from 'react';
4
- import { ToggleGroup, ToggleGroupItem } from "@hanzo/ui/primitives";
5
- import { cn } from '@hanzo/ui/util';
6
- import NodeImage from './node-image';
7
- const NodeTabs = ({ levelNodes, mutator, multiple = false, buttonClx = '', itemClx = '', className = '', mobile = false, tabSize, show = 'image-and-label' }) => {
8
- const [last, setLast] = useState(undefined);
9
- const handleChangeMultiple = (selected) => {
10
- mutator.set(selected);
11
- setLast(selected.length === 1 ? selected[0] : undefined);
12
- };
13
- const handleChangeSingle = (selected) => {
14
- mutator.set(selected);
15
- if (selected) {
16
- setLast(selected);
17
- }
18
- };
19
- const roundedToSpread = {};
20
- if (multiple) {
21
- roundedToSpread.rounded = 'xl';
22
- }
23
- const val = multiple ?
24
- mutator.get()
25
- :
26
- mutator.get();
27
- return (_jsx(ToggleGroup, { type: multiple ? 'multiple' : 'single', value: val, variant: 'default', size: tabSize ? tabSize : (mobile ? 'sm' : 'default'), onValueChange: multiple ? handleChangeMultiple : handleChangeSingle, className: className, ...roundedToSpread, children: levelNodes.map((treeNode, index) => {
28
- const roundedToSpread = {};
29
- if (!multiple) {
30
- roundedToSpread.rounded = 'none';
31
- if (index === 0) {
32
- roundedToSpread.rounded = 'llg';
33
- }
34
- else if (index === levelNodes.length - 1) {
35
- roundedToSpread.rounded = 'rlg';
36
- }
37
- }
38
- return (_jsx(ToggleGroupItem, { value: treeNode.skuToken, disabled: (last && last === treeNode.skuToken || treeNode.skuToken === mutator.get()), "aria-label": `Select ${treeNode.label}`, ...roundedToSpread, className: buttonClx, children: _jsxs("span", { className: cn('flex flex-row justify-center gap-1 h-6 items-center', itemClx), children: [!(show === 'label') && (_jsx(NodeImage, { treeNode: treeNode })), (!(show === 'image') || !treeNode.img) && (_jsx("span", { className: 'whitespace-nowrap', children: treeNode.label }))] }) }, treeNode.skuToken));
39
- }) }));
40
- };
41
- export default NodeTabs;
42
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../components/node-tabs/index.tsx"],"names":[],"mappings":"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"}