@fluid-app/portal-sdk 0.1.286 → 0.1.288

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 (881) hide show
  1. package/dist/AddressAutocompleteInput-C_H7gSJt.mjs +2214 -0
  2. package/dist/AddressAutocompleteInput-C_H7gSJt.mjs.map +1 -0
  3. package/dist/AddressAutocompleteInput-tZX9kPwb.cjs +2310 -0
  4. package/dist/AddressAutocompleteInput-tZX9kPwb.cjs.map +1 -0
  5. package/dist/ContactsScreen-BaNFVTVX.cjs +10 -0
  6. package/dist/ContactsScreen-CLLyfNru.mjs +3397 -0
  7. package/dist/ContactsScreen-CLLyfNru.mjs.map +1 -0
  8. package/dist/ContactsScreen-D8M6J3nC.cjs +3405 -0
  9. package/dist/ContactsScreen-D8M6J3nC.cjs.map +1 -0
  10. package/dist/ProfileScreen-BDvruZ90.mjs +1232 -0
  11. package/dist/ProfileScreen-BDvruZ90.mjs.map +1 -0
  12. package/dist/ProfileScreen-BH0A6Y3R.mjs +46 -0
  13. package/dist/ProfileScreen-CT5nLt3E.cjs +1244 -0
  14. package/dist/ProfileScreen-CT5nLt3E.cjs.map +1 -0
  15. package/dist/ProfileScreen-DrTa9Boy.cjs +48 -0
  16. package/dist/ShareablesScreen-BT3H1Omb.cjs +13896 -0
  17. package/dist/ShareablesScreen-BT3H1Omb.cjs.map +1 -0
  18. package/dist/ShareablesScreen-BrsJQqia.mjs +13880 -0
  19. package/dist/ShareablesScreen-BrsJQqia.mjs.map +1 -0
  20. package/dist/ShareablesScreen-IU9JBJzD.mjs +14 -0
  21. package/dist/ShareablesScreen-RxdJqjda.cjs +16 -0
  22. package/dist/ShopScreen-BLo9zSmm.mjs +45 -0
  23. package/dist/ShopScreen-BgiNBkIk.cjs +1295 -0
  24. package/dist/ShopScreen-BgiNBkIk.cjs.map +1 -0
  25. package/dist/ShopScreen-Bjo-5mdC.mjs +1282 -0
  26. package/dist/ShopScreen-Bjo-5mdC.mjs.map +1 -0
  27. package/dist/ShopScreen-BzaTY9cV.cjs +47 -0
  28. package/dist/SubscriptionsScreen-5IsYJnvc.cjs +5791 -0
  29. package/dist/SubscriptionsScreen-5IsYJnvc.cjs.map +1 -0
  30. package/dist/SubscriptionsScreen-B9_Cmmrc.mjs +5723 -0
  31. package/dist/SubscriptionsScreen-B9_Cmmrc.mjs.map +1 -0
  32. package/dist/SubscriptionsScreen-BpiWZf9J.cjs +11 -0
  33. package/dist/UpgradeScreen-DjCkknBC.cjs +6 -0
  34. package/dist/UpgradeScreen-Dqe70qIt.cjs +203 -0
  35. package/dist/UpgradeScreen-Dqe70qIt.cjs.map +1 -0
  36. package/dist/UpgradeScreen-WLq4bFhS.mjs +196 -0
  37. package/dist/UpgradeScreen-WLq4bFhS.mjs.map +1 -0
  38. package/dist/de-B2xuRzqB.mjs +125 -0
  39. package/dist/de-B2xuRzqB.mjs.map +1 -0
  40. package/dist/de-BMzN6pvJ.mjs +37 -0
  41. package/dist/de-BMzN6pvJ.mjs.map +1 -0
  42. package/dist/de-BP_BwSkX.mjs +24 -0
  43. package/dist/de-BP_BwSkX.mjs.map +1 -0
  44. package/dist/de-BcjRy6IX.mjs +74 -0
  45. package/dist/de-BcjRy6IX.mjs.map +1 -0
  46. package/dist/de-CA1BpazO.cjs +43 -0
  47. package/dist/de-CA1BpazO.cjs.map +1 -0
  48. package/dist/de-CQojBku3.cjs +131 -0
  49. package/dist/de-CQojBku3.cjs.map +1 -0
  50. package/dist/de-DLKXYoUC.cjs +80 -0
  51. package/dist/de-DLKXYoUC.cjs.map +1 -0
  52. package/dist/de-DLVI44iM.cjs +12 -0
  53. package/dist/de-DLVI44iM.cjs.map +1 -0
  54. package/dist/de-DZXu_Lma.mjs +6 -0
  55. package/dist/de-DZXu_Lma.mjs.map +1 -0
  56. package/dist/de-d5sXuDlc.cjs +12 -0
  57. package/dist/de-d5sXuDlc.cjs.map +1 -0
  58. package/dist/de-hW77cwjn.cjs +30 -0
  59. package/dist/de-hW77cwjn.cjs.map +1 -0
  60. package/dist/de-ndSZ5ykY.mjs +6 -0
  61. package/dist/de-ndSZ5ykY.mjs.map +1 -0
  62. package/dist/el-3T5wNvmF.cjs +12 -0
  63. package/dist/el-3T5wNvmF.cjs.map +1 -0
  64. package/dist/el-BVROkdqG.cjs +43 -0
  65. package/dist/el-BVROkdqG.cjs.map +1 -0
  66. package/dist/el-C1QZdoK1.cjs +131 -0
  67. package/dist/el-C1QZdoK1.cjs.map +1 -0
  68. package/dist/el-CT5RY-mx.mjs +125 -0
  69. package/dist/el-CT5RY-mx.mjs.map +1 -0
  70. package/dist/el-CWq1GFO2.mjs +37 -0
  71. package/dist/el-CWq1GFO2.mjs.map +1 -0
  72. package/dist/el-ChL3zQdm.mjs +6 -0
  73. package/dist/el-ChL3zQdm.mjs.map +1 -0
  74. package/dist/el-Dji5p2km.cjs +80 -0
  75. package/dist/el-Dji5p2km.cjs.map +1 -0
  76. package/dist/el-DtirnL7N.cjs +12 -0
  77. package/dist/el-DtirnL7N.cjs.map +1 -0
  78. package/dist/el-XW2NR7Vh.mjs +74 -0
  79. package/dist/el-XW2NR7Vh.mjs.map +1 -0
  80. package/dist/el-XwgbXcif.cjs +30 -0
  81. package/dist/el-XwgbXcif.cjs.map +1 -0
  82. package/dist/el-epEJkauy.mjs +6 -0
  83. package/dist/el-epEJkauy.mjs.map +1 -0
  84. package/dist/el-xbVPoQUL.mjs +24 -0
  85. package/dist/el-xbVPoQUL.mjs.map +1 -0
  86. package/dist/es-BSkjqnkF.cjs +12 -0
  87. package/dist/es-BSkjqnkF.cjs.map +1 -0
  88. package/dist/es-BX5djVHQ.cjs +30 -0
  89. package/dist/es-BX5djVHQ.cjs.map +1 -0
  90. package/dist/es-Bh1xngyE.mjs +6 -0
  91. package/dist/es-Bh1xngyE.mjs.map +1 -0
  92. package/dist/es-BjDZEneQ.cjs +80 -0
  93. package/dist/es-BjDZEneQ.cjs.map +1 -0
  94. package/dist/es-C2uchKja.cjs +43 -0
  95. package/dist/es-C2uchKja.cjs.map +1 -0
  96. package/dist/es-C2zfJQck.mjs +37 -0
  97. package/dist/es-C2zfJQck.mjs.map +1 -0
  98. package/dist/es-CWW1uLK3.mjs +6 -0
  99. package/dist/es-CWW1uLK3.mjs.map +1 -0
  100. package/dist/es-CyPr-juY.cjs +131 -0
  101. package/dist/es-CyPr-juY.cjs.map +1 -0
  102. package/dist/es-DYAui4cM.cjs +12 -0
  103. package/dist/es-DYAui4cM.cjs.map +1 -0
  104. package/dist/es-DjcSUa7j.mjs +125 -0
  105. package/dist/es-DjcSUa7j.mjs.map +1 -0
  106. package/dist/es-DnX0XFqD.mjs +74 -0
  107. package/dist/es-DnX0XFqD.mjs.map +1 -0
  108. package/dist/es-O3pQS-dk.mjs +24 -0
  109. package/dist/es-O3pQS-dk.mjs.map +1 -0
  110. package/dist/fr-7IjPHZxW.mjs +74 -0
  111. package/dist/fr-7IjPHZxW.mjs.map +1 -0
  112. package/dist/fr-BiJrmc6t.mjs +125 -0
  113. package/dist/fr-BiJrmc6t.mjs.map +1 -0
  114. package/dist/fr-BzVQUMC0.cjs +131 -0
  115. package/dist/fr-BzVQUMC0.cjs.map +1 -0
  116. package/dist/fr-C-2Pj7D2.cjs +43 -0
  117. package/dist/fr-C-2Pj7D2.cjs.map +1 -0
  118. package/dist/fr-CT47eWK_.mjs +6 -0
  119. package/dist/fr-CT47eWK_.mjs.map +1 -0
  120. package/dist/fr-DYML7Hb_.cjs +12 -0
  121. package/dist/fr-DYML7Hb_.cjs.map +1 -0
  122. package/dist/fr-DfMQoI8H.mjs +6 -0
  123. package/dist/fr-DfMQoI8H.mjs.map +1 -0
  124. package/dist/fr-MJsdTksK.mjs +24 -0
  125. package/dist/fr-MJsdTksK.mjs.map +1 -0
  126. package/dist/fr-XWBehwDw.cjs +30 -0
  127. package/dist/fr-XWBehwDw.cjs.map +1 -0
  128. package/dist/fr-_zhbWJHh.cjs +12 -0
  129. package/dist/fr-_zhbWJHh.cjs.map +1 -0
  130. package/dist/fr-jXtwm66y.mjs +37 -0
  131. package/dist/fr-jXtwm66y.mjs.map +1 -0
  132. package/dist/fr-wYZdZtt7.cjs +80 -0
  133. package/dist/fr-wYZdZtt7.cjs.map +1 -0
  134. package/dist/he-BNgtWUzu.cjs +43 -0
  135. package/dist/he-BNgtWUzu.cjs.map +1 -0
  136. package/dist/he-BcBh-9RB.cjs +12 -0
  137. package/dist/he-BcBh-9RB.cjs.map +1 -0
  138. package/dist/he-C4xGY_O5.cjs +30 -0
  139. package/dist/he-C4xGY_O5.cjs.map +1 -0
  140. package/dist/he-CBny3yj_.cjs +131 -0
  141. package/dist/he-CBny3yj_.cjs.map +1 -0
  142. package/dist/he-Cai6j3oW.mjs +6 -0
  143. package/dist/he-Cai6j3oW.mjs.map +1 -0
  144. package/dist/he-CsOIjabt.mjs +24 -0
  145. package/dist/he-CsOIjabt.mjs.map +1 -0
  146. package/dist/he-Cu_YCy1f.cjs +12 -0
  147. package/dist/he-Cu_YCy1f.cjs.map +1 -0
  148. package/dist/he-D-R8pe0L.mjs +125 -0
  149. package/dist/he-D-R8pe0L.mjs.map +1 -0
  150. package/dist/he-Dv0k0pX-.cjs +80 -0
  151. package/dist/he-Dv0k0pX-.cjs.map +1 -0
  152. package/dist/he-OAQhQxWm.mjs +74 -0
  153. package/dist/he-OAQhQxWm.mjs.map +1 -0
  154. package/dist/he-gcmGB1-C.mjs +6 -0
  155. package/dist/he-gcmGB1-C.mjs.map +1 -0
  156. package/dist/he-z0iIyfGu.mjs +37 -0
  157. package/dist/he-z0iIyfGu.mjs.map +1 -0
  158. package/dist/hu-BLBHZrAu.mjs +37 -0
  159. package/dist/hu-BLBHZrAu.mjs.map +1 -0
  160. package/dist/hu-BR0rOtJC.cjs +43 -0
  161. package/dist/hu-BR0rOtJC.cjs.map +1 -0
  162. package/dist/hu-BTBlTUaQ.cjs +131 -0
  163. package/dist/hu-BTBlTUaQ.cjs.map +1 -0
  164. package/dist/hu-BTvnBj9a.cjs +30 -0
  165. package/dist/hu-BTvnBj9a.cjs.map +1 -0
  166. package/dist/hu-CDvVhWXF.mjs +74 -0
  167. package/dist/hu-CDvVhWXF.mjs.map +1 -0
  168. package/dist/hu-CYFjRrQD.cjs +80 -0
  169. package/dist/hu-CYFjRrQD.cjs.map +1 -0
  170. package/dist/hu-Czc1FPg9.cjs +12 -0
  171. package/dist/hu-Czc1FPg9.cjs.map +1 -0
  172. package/dist/hu-D4fy_GxO.mjs +125 -0
  173. package/dist/hu-D4fy_GxO.mjs.map +1 -0
  174. package/dist/hu-DGyykLlw.mjs +24 -0
  175. package/dist/hu-DGyykLlw.mjs.map +1 -0
  176. package/dist/hu-DS-6XHh5.mjs +6 -0
  177. package/dist/hu-DS-6XHh5.mjs.map +1 -0
  178. package/dist/hu-DqI8hdAt.cjs +12 -0
  179. package/dist/hu-DqI8hdAt.cjs.map +1 -0
  180. package/dist/hu-pswRdooT.mjs +6 -0
  181. package/dist/hu-pswRdooT.mjs.map +1 -0
  182. package/dist/id-4tl2Uj7F.mjs +6 -0
  183. package/dist/id-4tl2Uj7F.mjs.map +1 -0
  184. package/dist/id-52itow18.cjs +43 -0
  185. package/dist/id-52itow18.cjs.map +1 -0
  186. package/dist/id-Bbvk8MDA.mjs +125 -0
  187. package/dist/id-Bbvk8MDA.mjs.map +1 -0
  188. package/dist/id-BxQgqmXd.cjs +131 -0
  189. package/dist/id-BxQgqmXd.cjs.map +1 -0
  190. package/dist/id-C4zO4qio.cjs +30 -0
  191. package/dist/id-C4zO4qio.cjs.map +1 -0
  192. package/dist/id-Cdurf_cc.mjs +24 -0
  193. package/dist/id-Cdurf_cc.mjs.map +1 -0
  194. package/dist/id-DGh6JGZ5.mjs +37 -0
  195. package/dist/id-DGh6JGZ5.mjs.map +1 -0
  196. package/dist/id-DP5zxg41.mjs +74 -0
  197. package/dist/id-DP5zxg41.mjs.map +1 -0
  198. package/dist/id-Dhws7LdN.mjs +6 -0
  199. package/dist/id-Dhws7LdN.mjs.map +1 -0
  200. package/dist/id-DqK8hygJ.cjs +12 -0
  201. package/dist/id-DqK8hygJ.cjs.map +1 -0
  202. package/dist/id-Vw9DQ3V1.cjs +12 -0
  203. package/dist/id-Vw9DQ3V1.cjs.map +1 -0
  204. package/dist/id-tlOQCFLJ.cjs +80 -0
  205. package/dist/id-tlOQCFLJ.cjs.map +1 -0
  206. package/dist/index.cjs +152 -61
  207. package/dist/index.cjs.map +1 -1
  208. package/dist/index.d.cts.map +1 -1
  209. package/dist/index.d.mts.map +1 -1
  210. package/dist/index.mjs +152 -61
  211. package/dist/index.mjs.map +1 -1
  212. package/dist/it--DHBKc26.cjs +12 -0
  213. package/dist/it--DHBKc26.cjs.map +1 -0
  214. package/dist/it-BODMi-FY.cjs +30 -0
  215. package/dist/it-BODMi-FY.cjs.map +1 -0
  216. package/dist/it-C34p5klu.mjs +24 -0
  217. package/dist/it-C34p5klu.mjs.map +1 -0
  218. package/dist/it-CPXF5aFi.cjs +80 -0
  219. package/dist/it-CPXF5aFi.cjs.map +1 -0
  220. package/dist/it-CbZjaErj.cjs +43 -0
  221. package/dist/it-CbZjaErj.cjs.map +1 -0
  222. package/dist/it-CfLSq25e.mjs +37 -0
  223. package/dist/it-CfLSq25e.mjs.map +1 -0
  224. package/dist/it-CpnrX6Qu.cjs +12 -0
  225. package/dist/it-CpnrX6Qu.cjs.map +1 -0
  226. package/dist/it-CqvzV23C.mjs +74 -0
  227. package/dist/it-CqvzV23C.mjs.map +1 -0
  228. package/dist/it-ELWZ1sxy.mjs +125 -0
  229. package/dist/it-ELWZ1sxy.mjs.map +1 -0
  230. package/dist/it-Hj3LCvz1.mjs +6 -0
  231. package/dist/it-Hj3LCvz1.mjs.map +1 -0
  232. package/dist/it-L0NVZqjU.cjs +131 -0
  233. package/dist/it-L0NVZqjU.cjs.map +1 -0
  234. package/dist/it-dsOgAn3r.mjs +6 -0
  235. package/dist/it-dsOgAn3r.mjs.map +1 -0
  236. package/dist/ja-B1DQXHgd.mjs +74 -0
  237. package/dist/ja-B1DQXHgd.mjs.map +1 -0
  238. package/dist/ja-B2NQ5sR-.cjs +80 -0
  239. package/dist/ja-B2NQ5sR-.cjs.map +1 -0
  240. package/dist/ja-BYGHlw8d.cjs +30 -0
  241. package/dist/ja-BYGHlw8d.cjs.map +1 -0
  242. package/dist/ja-BaU2QXo2.cjs +43 -0
  243. package/dist/ja-BaU2QXo2.cjs.map +1 -0
  244. package/dist/ja-BqySbP-W.mjs +6 -0
  245. package/dist/ja-BqySbP-W.mjs.map +1 -0
  246. package/dist/ja-C1QZfTGN.mjs +125 -0
  247. package/dist/ja-C1QZfTGN.mjs.map +1 -0
  248. package/dist/ja-C3C0k99E.cjs +12 -0
  249. package/dist/ja-C3C0k99E.cjs.map +1 -0
  250. package/dist/ja-Cft4ODrl.mjs +24 -0
  251. package/dist/ja-Cft4ODrl.mjs.map +1 -0
  252. package/dist/ja-CuLC8KzH.mjs +6 -0
  253. package/dist/ja-CuLC8KzH.mjs.map +1 -0
  254. package/dist/ja-D5fpLCDT.cjs +131 -0
  255. package/dist/ja-D5fpLCDT.cjs.map +1 -0
  256. package/dist/ja-JVcCjBJ9.cjs +12 -0
  257. package/dist/ja-JVcCjBJ9.cjs.map +1 -0
  258. package/dist/ja-kM5CUvdg.mjs +37 -0
  259. package/dist/ja-kM5CUvdg.mjs.map +1 -0
  260. package/dist/ko-BREsc9Rl.mjs +24 -0
  261. package/dist/ko-BREsc9Rl.mjs.map +1 -0
  262. package/dist/ko-BX4GXxaa.mjs +125 -0
  263. package/dist/ko-BX4GXxaa.mjs.map +1 -0
  264. package/dist/ko-C0Q33hJ9.cjs +80 -0
  265. package/dist/ko-C0Q33hJ9.cjs.map +1 -0
  266. package/dist/ko-Cdb4MyCC.mjs +6 -0
  267. package/dist/ko-Cdb4MyCC.mjs.map +1 -0
  268. package/dist/ko-D2TLG_3_.mjs +37 -0
  269. package/dist/ko-D2TLG_3_.mjs.map +1 -0
  270. package/dist/ko-D64no-WM.cjs +131 -0
  271. package/dist/ko-D64no-WM.cjs.map +1 -0
  272. package/dist/ko-DDBkvKT3.mjs +6 -0
  273. package/dist/ko-DDBkvKT3.mjs.map +1 -0
  274. package/dist/ko-DROYufGO.cjs +12 -0
  275. package/dist/ko-DROYufGO.cjs.map +1 -0
  276. package/dist/ko-HEegPkOi.cjs +30 -0
  277. package/dist/ko-HEegPkOi.cjs.map +1 -0
  278. package/dist/ko-PUpIJgsU.mjs +74 -0
  279. package/dist/ko-PUpIJgsU.mjs.map +1 -0
  280. package/dist/ko-WIfVodYY.cjs +12 -0
  281. package/dist/ko-WIfVodYY.cjs.map +1 -0
  282. package/dist/ko-vQjiRfrX.cjs +43 -0
  283. package/dist/ko-vQjiRfrX.cjs.map +1 -0
  284. package/dist/nl-BdRkpB-f.mjs +74 -0
  285. package/dist/nl-BdRkpB-f.mjs.map +1 -0
  286. package/dist/nl-Byk7MZjq.cjs +12 -0
  287. package/dist/nl-Byk7MZjq.cjs.map +1 -0
  288. package/dist/nl-C5U5y6gr.cjs +12 -0
  289. package/dist/nl-C5U5y6gr.cjs.map +1 -0
  290. package/dist/nl-C8T6RqHI.cjs +131 -0
  291. package/dist/nl-C8T6RqHI.cjs.map +1 -0
  292. package/dist/nl-CxaUAerZ.mjs +24 -0
  293. package/dist/nl-CxaUAerZ.mjs.map +1 -0
  294. package/dist/nl-D0dcnS-5.mjs +6 -0
  295. package/dist/nl-D0dcnS-5.mjs.map +1 -0
  296. package/dist/nl-D5y8p_At.cjs +80 -0
  297. package/dist/nl-D5y8p_At.cjs.map +1 -0
  298. package/dist/nl-DFUHK5ta.mjs +6 -0
  299. package/dist/nl-DFUHK5ta.mjs.map +1 -0
  300. package/dist/nl-DRxCBp_v.cjs +43 -0
  301. package/dist/nl-DRxCBp_v.cjs.map +1 -0
  302. package/dist/nl-Dww7O0AO.mjs +37 -0
  303. package/dist/nl-Dww7O0AO.mjs.map +1 -0
  304. package/dist/nl-ayPagHJ_.cjs +30 -0
  305. package/dist/nl-ayPagHJ_.cjs.map +1 -0
  306. package/dist/nl-mL8uL7cu.mjs +125 -0
  307. package/dist/nl-mL8uL7cu.mjs.map +1 -0
  308. package/dist/pl-AsC20yM9.cjs +43 -0
  309. package/dist/pl-AsC20yM9.cjs.map +1 -0
  310. package/dist/pl-Beb7Fiam.mjs +125 -0
  311. package/dist/pl-Beb7Fiam.mjs.map +1 -0
  312. package/dist/pl-BvfqoRfV.cjs +80 -0
  313. package/dist/pl-BvfqoRfV.cjs.map +1 -0
  314. package/dist/pl-COP9NGch.mjs +6 -0
  315. package/dist/pl-COP9NGch.mjs.map +1 -0
  316. package/dist/pl-CcIcOxXb.mjs +6 -0
  317. package/dist/pl-CcIcOxXb.mjs.map +1 -0
  318. package/dist/pl-CgKBvrJr.mjs +24 -0
  319. package/dist/pl-CgKBvrJr.mjs.map +1 -0
  320. package/dist/pl-DJKAFKNJ.cjs +12 -0
  321. package/dist/pl-DJKAFKNJ.cjs.map +1 -0
  322. package/dist/pl-DZZ1e6TM.cjs +12 -0
  323. package/dist/pl-DZZ1e6TM.cjs.map +1 -0
  324. package/dist/pl-DpVEpGL0.cjs +131 -0
  325. package/dist/pl-DpVEpGL0.cjs.map +1 -0
  326. package/dist/pl-LHrd1s6r.cjs +30 -0
  327. package/dist/pl-LHrd1s6r.cjs.map +1 -0
  328. package/dist/pl-PV9rlOz1.mjs +37 -0
  329. package/dist/pl-PV9rlOz1.mjs.map +1 -0
  330. package/dist/pl-XfyC_jQs.mjs +74 -0
  331. package/dist/pl-XfyC_jQs.mjs.map +1 -0
  332. package/dist/pt-B4hr_uJO.mjs +125 -0
  333. package/dist/pt-B4hr_uJO.mjs.map +1 -0
  334. package/dist/pt-BBFH5zDu.cjs +43 -0
  335. package/dist/pt-BBFH5zDu.cjs.map +1 -0
  336. package/dist/pt-BC56DXTY.mjs +37 -0
  337. package/dist/pt-BC56DXTY.mjs.map +1 -0
  338. package/dist/pt-BrnvgQRs.cjs +12 -0
  339. package/dist/pt-BrnvgQRs.cjs.map +1 -0
  340. package/dist/pt-CSvh02ed.mjs +6 -0
  341. package/dist/pt-CSvh02ed.mjs.map +1 -0
  342. package/dist/pt-CW6UZk1v.cjs +30 -0
  343. package/dist/pt-CW6UZk1v.cjs.map +1 -0
  344. package/dist/pt-CifIYahI.cjs +131 -0
  345. package/dist/pt-CifIYahI.cjs.map +1 -0
  346. package/dist/pt-CpQN7iPy.cjs +12 -0
  347. package/dist/pt-CpQN7iPy.cjs.map +1 -0
  348. package/dist/pt-DG1WQnTO.mjs +24 -0
  349. package/dist/pt-DG1WQnTO.mjs.map +1 -0
  350. package/dist/pt-DLFLkEpR.mjs +74 -0
  351. package/dist/pt-DLFLkEpR.mjs.map +1 -0
  352. package/dist/pt-D_Fxu0mz.mjs +6 -0
  353. package/dist/pt-D_Fxu0mz.mjs.map +1 -0
  354. package/dist/pt-Dx69fLab.cjs +80 -0
  355. package/dist/pt-Dx69fLab.cjs.map +1 -0
  356. package/dist/ro-B6ExafZC.cjs +131 -0
  357. package/dist/ro-B6ExafZC.cjs.map +1 -0
  358. package/dist/ro-BY4QQCns.cjs +30 -0
  359. package/dist/ro-BY4QQCns.cjs.map +1 -0
  360. package/dist/ro-CGOwHLvs.cjs +12 -0
  361. package/dist/ro-CGOwHLvs.cjs.map +1 -0
  362. package/dist/ro-CJJKGRs9.mjs +37 -0
  363. package/dist/ro-CJJKGRs9.mjs.map +1 -0
  364. package/dist/ro-Cu3cJnmT.mjs +74 -0
  365. package/dist/ro-Cu3cJnmT.mjs.map +1 -0
  366. package/dist/ro-D2WH48l8.mjs +6 -0
  367. package/dist/ro-D2WH48l8.mjs.map +1 -0
  368. package/dist/ro-DS3mARiW.cjs +43 -0
  369. package/dist/ro-DS3mARiW.cjs.map +1 -0
  370. package/dist/ro-DStH8jqQ.cjs +80 -0
  371. package/dist/ro-DStH8jqQ.cjs.map +1 -0
  372. package/dist/ro-Dg398PV0.mjs +24 -0
  373. package/dist/ro-Dg398PV0.mjs.map +1 -0
  374. package/dist/ro-DhGoI55Z.mjs +125 -0
  375. package/dist/ro-DhGoI55Z.mjs.map +1 -0
  376. package/dist/ro-dpJtFKiA.cjs +12 -0
  377. package/dist/ro-dpJtFKiA.cjs.map +1 -0
  378. package/dist/ro-lFxvLN7R.mjs +6 -0
  379. package/dist/ro-lFxvLN7R.mjs.map +1 -0
  380. package/dist/ru-9zdAxTCI.cjs +30 -0
  381. package/dist/ru-9zdAxTCI.cjs.map +1 -0
  382. package/dist/ru-BCP_P-Kw.mjs +6 -0
  383. package/dist/ru-BCP_P-Kw.mjs.map +1 -0
  384. package/dist/ru-BymfL4lY.mjs +125 -0
  385. package/dist/ru-BymfL4lY.mjs.map +1 -0
  386. package/dist/ru-C9sTu8KO.mjs +74 -0
  387. package/dist/ru-C9sTu8KO.mjs.map +1 -0
  388. package/dist/ru-CKfstS2M.cjs +43 -0
  389. package/dist/ru-CKfstS2M.cjs.map +1 -0
  390. package/dist/ru-CW4wBDfy.cjs +12 -0
  391. package/dist/ru-CW4wBDfy.cjs.map +1 -0
  392. package/dist/ru-CyoLQlWx.cjs +12 -0
  393. package/dist/ru-CyoLQlWx.cjs.map +1 -0
  394. package/dist/ru-DHNcAvHk.mjs +37 -0
  395. package/dist/ru-DHNcAvHk.mjs.map +1 -0
  396. package/dist/ru-DPs8Axnb.cjs +80 -0
  397. package/dist/ru-DPs8Axnb.cjs.map +1 -0
  398. package/dist/ru-JgTYyWIt.mjs +6 -0
  399. package/dist/ru-JgTYyWIt.mjs.map +1 -0
  400. package/dist/ru-fz-F75f4.cjs +131 -0
  401. package/dist/ru-fz-F75f4.cjs.map +1 -0
  402. package/dist/ru-k8yUinAx.mjs +24 -0
  403. package/dist/ru-k8yUinAx.mjs.map +1 -0
  404. package/dist/th-B83Fh-0G.cjs +12 -0
  405. package/dist/th-B83Fh-0G.cjs.map +1 -0
  406. package/dist/th-BVg0Jjgr.cjs +131 -0
  407. package/dist/th-BVg0Jjgr.cjs.map +1 -0
  408. package/dist/th-BYXBW0X2.cjs +43 -0
  409. package/dist/th-BYXBW0X2.cjs.map +1 -0
  410. package/dist/th-C7VrhPP5.cjs +12 -0
  411. package/dist/th-C7VrhPP5.cjs.map +1 -0
  412. package/dist/th-CZxqRIHs.mjs +6 -0
  413. package/dist/th-CZxqRIHs.mjs.map +1 -0
  414. package/dist/th-CmX6_2CM.mjs +74 -0
  415. package/dist/th-CmX6_2CM.mjs.map +1 -0
  416. package/dist/th-D8Prwe8n.cjs +30 -0
  417. package/dist/th-D8Prwe8n.cjs.map +1 -0
  418. package/dist/th-DkjnkI6P.mjs +6 -0
  419. package/dist/th-DkjnkI6P.mjs.map +1 -0
  420. package/dist/th-KyxBje7z.cjs +80 -0
  421. package/dist/th-KyxBje7z.cjs.map +1 -0
  422. package/dist/th-cad5Cap4.mjs +37 -0
  423. package/dist/th-cad5Cap4.mjs.map +1 -0
  424. package/dist/th-ge5FSv6T.mjs +125 -0
  425. package/dist/th-ge5FSv6T.mjs.map +1 -0
  426. package/dist/th-nYdqpaRn.mjs +24 -0
  427. package/dist/th-nYdqpaRn.mjs.map +1 -0
  428. package/dist/tl-B888TBzV.mjs +37 -0
  429. package/dist/tl-B888TBzV.mjs.map +1 -0
  430. package/dist/tl-Bua5-krl.mjs +24 -0
  431. package/dist/tl-Bua5-krl.mjs.map +1 -0
  432. package/dist/tl-CATDGPeB.cjs +12 -0
  433. package/dist/tl-CATDGPeB.cjs.map +1 -0
  434. package/dist/tl-CKjLSF_S.cjs +131 -0
  435. package/dist/tl-CKjLSF_S.cjs.map +1 -0
  436. package/dist/tl-CT5Bevzy.mjs +6 -0
  437. package/dist/tl-CT5Bevzy.mjs.map +1 -0
  438. package/dist/tl-CsRFJOIR.cjs +80 -0
  439. package/dist/tl-CsRFJOIR.cjs.map +1 -0
  440. package/dist/tl-D4iI7i02.cjs +30 -0
  441. package/dist/tl-D4iI7i02.cjs.map +1 -0
  442. package/dist/tl-DCKUBvuV.mjs +6 -0
  443. package/dist/tl-DCKUBvuV.mjs.map +1 -0
  444. package/dist/tl-DI0F6h6a.mjs +74 -0
  445. package/dist/tl-DI0F6h6a.mjs.map +1 -0
  446. package/dist/tl-DzIwhz3k.cjs +12 -0
  447. package/dist/tl-DzIwhz3k.cjs.map +1 -0
  448. package/dist/tl-icpkJ5RY.mjs +125 -0
  449. package/dist/tl-icpkJ5RY.mjs.map +1 -0
  450. package/dist/tl-lZlSu-sM.cjs +43 -0
  451. package/dist/tl-lZlSu-sM.cjs.map +1 -0
  452. package/dist/tr-9nLGvy6N.mjs +24 -0
  453. package/dist/tr-9nLGvy6N.mjs.map +1 -0
  454. package/dist/tr-B96yy4BZ.mjs +37 -0
  455. package/dist/tr-B96yy4BZ.mjs.map +1 -0
  456. package/dist/tr-BdEGICrX.cjs +80 -0
  457. package/dist/tr-BdEGICrX.cjs.map +1 -0
  458. package/dist/tr-Bsdv5dWu.cjs +12 -0
  459. package/dist/tr-Bsdv5dWu.cjs.map +1 -0
  460. package/dist/tr-Bu5HeGRu.cjs +30 -0
  461. package/dist/tr-Bu5HeGRu.cjs.map +1 -0
  462. package/dist/tr-COlHtN47.mjs +6 -0
  463. package/dist/tr-COlHtN47.mjs.map +1 -0
  464. package/dist/tr-CVK6oefd.cjs +12 -0
  465. package/dist/tr-CVK6oefd.cjs.map +1 -0
  466. package/dist/tr-CifdAA_w.cjs +43 -0
  467. package/dist/tr-CifdAA_w.cjs.map +1 -0
  468. package/dist/tr-D1KVbmGI.mjs +74 -0
  469. package/dist/tr-D1KVbmGI.mjs.map +1 -0
  470. package/dist/tr-DMnXKPnI.cjs +131 -0
  471. package/dist/tr-DMnXKPnI.cjs.map +1 -0
  472. package/dist/tr-DuFbZrRu.mjs +6 -0
  473. package/dist/tr-DuFbZrRu.mjs.map +1 -0
  474. package/dist/tr-QaTfqnit.mjs +125 -0
  475. package/dist/tr-QaTfqnit.mjs.map +1 -0
  476. package/dist/zh_CN-2FPc1yGp.mjs +6 -0
  477. package/dist/zh_CN-2FPc1yGp.mjs.map +1 -0
  478. package/dist/zh_CN-BJnhvkc0.mjs +37 -0
  479. package/dist/zh_CN-BJnhvkc0.mjs.map +1 -0
  480. package/dist/zh_CN-BT8zi4ct.mjs +125 -0
  481. package/dist/zh_CN-BT8zi4ct.mjs.map +1 -0
  482. package/dist/zh_CN-BUDga7b8.cjs +12 -0
  483. package/dist/zh_CN-BUDga7b8.cjs.map +1 -0
  484. package/dist/zh_CN-BWIy2qoV.cjs +43 -0
  485. package/dist/zh_CN-BWIy2qoV.cjs.map +1 -0
  486. package/dist/zh_CN-BrkBDK-m.cjs +131 -0
  487. package/dist/zh_CN-BrkBDK-m.cjs.map +1 -0
  488. package/dist/zh_CN-Bzo7sqbA.cjs +12 -0
  489. package/dist/zh_CN-Bzo7sqbA.cjs.map +1 -0
  490. package/dist/zh_CN-CEwzKvT8.mjs +74 -0
  491. package/dist/zh_CN-CEwzKvT8.mjs.map +1 -0
  492. package/dist/zh_CN-CLqN3qJp.mjs +24 -0
  493. package/dist/zh_CN-CLqN3qJp.mjs.map +1 -0
  494. package/dist/zh_CN-DZFGqn6D.cjs +30 -0
  495. package/dist/zh_CN-DZFGqn6D.cjs.map +1 -0
  496. package/dist/zh_CN-oOeDsP-B.mjs +6 -0
  497. package/dist/zh_CN-oOeDsP-B.mjs.map +1 -0
  498. package/dist/zh_CN-wE1DUfsY.cjs +80 -0
  499. package/dist/zh_CN-wE1DUfsY.cjs.map +1 -0
  500. package/dist/zh_TW-BeBQ0pV1.mjs +74 -0
  501. package/dist/zh_TW-BeBQ0pV1.mjs.map +1 -0
  502. package/dist/zh_TW-Bz5_kUpI.mjs +37 -0
  503. package/dist/zh_TW-Bz5_kUpI.mjs.map +1 -0
  504. package/dist/zh_TW-CZhSh3BU.cjs +80 -0
  505. package/dist/zh_TW-CZhSh3BU.cjs.map +1 -0
  506. package/dist/zh_TW-D-xI7JBs.mjs +6 -0
  507. package/dist/zh_TW-D-xI7JBs.mjs.map +1 -0
  508. package/dist/zh_TW-D86GUR9C.cjs +43 -0
  509. package/dist/zh_TW-D86GUR9C.cjs.map +1 -0
  510. package/dist/zh_TW-DPLNY3Sh.cjs +12 -0
  511. package/dist/zh_TW-DPLNY3Sh.cjs.map +1 -0
  512. package/dist/zh_TW-DQdWK1u9.cjs +12 -0
  513. package/dist/zh_TW-DQdWK1u9.cjs.map +1 -0
  514. package/dist/zh_TW-Dg6LeVzh.mjs +24 -0
  515. package/dist/zh_TW-Dg6LeVzh.mjs.map +1 -0
  516. package/dist/zh_TW-DoDLHILX.cjs +30 -0
  517. package/dist/zh_TW-DoDLHILX.cjs.map +1 -0
  518. package/dist/zh_TW-Dqcoo0F5.mjs +6 -0
  519. package/dist/zh_TW-Dqcoo0F5.mjs.map +1 -0
  520. package/dist/zh_TW-DzFlj-kU.cjs +131 -0
  521. package/dist/zh_TW-DzFlj-kU.cjs.map +1 -0
  522. package/dist/zh_TW-idE0Evam.mjs +125 -0
  523. package/dist/zh_TW-idE0Evam.mjs.map +1 -0
  524. package/package.json +16 -16
  525. package/dist/AddressAutocompleteInput-DiXfEThY.mjs +0 -2214
  526. package/dist/AddressAutocompleteInput-DiXfEThY.mjs.map +0 -1
  527. package/dist/AddressAutocompleteInput-DmsSlPVz.cjs +0 -2310
  528. package/dist/AddressAutocompleteInput-DmsSlPVz.cjs.map +0 -1
  529. package/dist/ContactsScreen-9SzNlWEb.cjs +0 -10
  530. package/dist/ContactsScreen-BIPKKITz.mjs +0 -3397
  531. package/dist/ContactsScreen-BIPKKITz.mjs.map +0 -1
  532. package/dist/ContactsScreen-Comv_f_d.cjs +0 -3405
  533. package/dist/ContactsScreen-Comv_f_d.cjs.map +0 -1
  534. package/dist/ProfileScreen-B4OYJdd1.cjs +0 -1244
  535. package/dist/ProfileScreen-B4OYJdd1.cjs.map +0 -1
  536. package/dist/ProfileScreen-Be3RVQ2L.mjs +0 -1232
  537. package/dist/ProfileScreen-Be3RVQ2L.mjs.map +0 -1
  538. package/dist/ProfileScreen-D9YYYFK-.mjs +0 -46
  539. package/dist/ProfileScreen-j7Eyy4tk.cjs +0 -48
  540. package/dist/ShareablesScreen-CPvylNL7.mjs +0 -13
  541. package/dist/ShareablesScreen-CQZBq1Hl.cjs +0 -13457
  542. package/dist/ShareablesScreen-CQZBq1Hl.cjs.map +0 -1
  543. package/dist/ShareablesScreen-DYOIQwK-.mjs +0 -13441
  544. package/dist/ShareablesScreen-DYOIQwK-.mjs.map +0 -1
  545. package/dist/ShareablesScreen-ljPcmGLg.cjs +0 -15
  546. package/dist/ShopScreen-BEKSgvCp.mjs +0 -45
  547. package/dist/ShopScreen-CU0ynA2v.mjs +0 -1282
  548. package/dist/ShopScreen-CU0ynA2v.mjs.map +0 -1
  549. package/dist/ShopScreen-Cr_XcWdY.cjs +0 -1295
  550. package/dist/ShopScreen-Cr_XcWdY.cjs.map +0 -1
  551. package/dist/ShopScreen-QjSfEvCZ.cjs +0 -47
  552. package/dist/SubscriptionsScreen-Ces1Pv8k.mjs +0 -5723
  553. package/dist/SubscriptionsScreen-Ces1Pv8k.mjs.map +0 -1
  554. package/dist/SubscriptionsScreen-Cu-WeJ7L.cjs +0 -11
  555. package/dist/SubscriptionsScreen-DMqKtptN.cjs +0 -5791
  556. package/dist/SubscriptionsScreen-DMqKtptN.cjs.map +0 -1
  557. package/dist/UpgradeScreen-B4CnkCjg.cjs +0 -203
  558. package/dist/UpgradeScreen-B4CnkCjg.cjs.map +0 -1
  559. package/dist/UpgradeScreen-C9TjaPoJ.mjs +0 -196
  560. package/dist/UpgradeScreen-C9TjaPoJ.mjs.map +0 -1
  561. package/dist/UpgradeScreen-jvHU1at7.cjs +0 -6
  562. package/dist/de-14i_YO8a.mjs +0 -125
  563. package/dist/de-14i_YO8a.mjs.map +0 -1
  564. package/dist/de-8f8CBqQz.mjs +0 -74
  565. package/dist/de-8f8CBqQz.mjs.map +0 -1
  566. package/dist/de-C2d-Wmdy.cjs +0 -80
  567. package/dist/de-C2d-Wmdy.cjs.map +0 -1
  568. package/dist/de-CjPctz3q.cjs +0 -43
  569. package/dist/de-CjPctz3q.cjs.map +0 -1
  570. package/dist/de-DBGj2OFs.cjs +0 -30
  571. package/dist/de-DBGj2OFs.cjs.map +0 -1
  572. package/dist/de-DCq1H3bn.mjs +0 -24
  573. package/dist/de-DCq1H3bn.mjs.map +0 -1
  574. package/dist/de-DbKC3CDA.mjs +0 -37
  575. package/dist/de-DbKC3CDA.mjs.map +0 -1
  576. package/dist/de-MxH9dP_P.cjs +0 -131
  577. package/dist/de-MxH9dP_P.cjs.map +0 -1
  578. package/dist/el-B0l-Q1qT.mjs +0 -37
  579. package/dist/el-B0l-Q1qT.mjs.map +0 -1
  580. package/dist/el-B8bnnoKc.mjs +0 -24
  581. package/dist/el-B8bnnoKc.mjs.map +0 -1
  582. package/dist/el-BGxr23AZ.mjs +0 -74
  583. package/dist/el-BGxr23AZ.mjs.map +0 -1
  584. package/dist/el-BKGArK2f.cjs +0 -80
  585. package/dist/el-BKGArK2f.cjs.map +0 -1
  586. package/dist/el-BdbemgXl.cjs +0 -43
  587. package/dist/el-BdbemgXl.cjs.map +0 -1
  588. package/dist/el-C_EpDLLk.mjs +0 -125
  589. package/dist/el-C_EpDLLk.mjs.map +0 -1
  590. package/dist/el-DJbG54c1.cjs +0 -30
  591. package/dist/el-DJbG54c1.cjs.map +0 -1
  592. package/dist/el-v1A4TFkT.cjs +0 -131
  593. package/dist/el-v1A4TFkT.cjs.map +0 -1
  594. package/dist/es-BMW1EA1c.cjs +0 -30
  595. package/dist/es-BMW1EA1c.cjs.map +0 -1
  596. package/dist/es-BaMIh5FA.mjs +0 -125
  597. package/dist/es-BaMIh5FA.mjs.map +0 -1
  598. package/dist/es-CT2hq6ZJ.mjs +0 -24
  599. package/dist/es-CT2hq6ZJ.mjs.map +0 -1
  600. package/dist/es-C_4clFHt.cjs +0 -80
  601. package/dist/es-C_4clFHt.cjs.map +0 -1
  602. package/dist/es-CiGfOfqA.cjs +0 -43
  603. package/dist/es-CiGfOfqA.cjs.map +0 -1
  604. package/dist/es-CtRMRF22.mjs +0 -37
  605. package/dist/es-CtRMRF22.mjs.map +0 -1
  606. package/dist/es-DwVnFc84.mjs +0 -74
  607. package/dist/es-DwVnFc84.mjs.map +0 -1
  608. package/dist/es-OY_6uXf5.cjs +0 -131
  609. package/dist/es-OY_6uXf5.cjs.map +0 -1
  610. package/dist/fr-6k1dLzPa.cjs +0 -30
  611. package/dist/fr-6k1dLzPa.cjs.map +0 -1
  612. package/dist/fr-BXkj4XVE.cjs +0 -43
  613. package/dist/fr-BXkj4XVE.cjs.map +0 -1
  614. package/dist/fr-BcnTVvSD.mjs +0 -24
  615. package/dist/fr-BcnTVvSD.mjs.map +0 -1
  616. package/dist/fr-C0Oj4xnv.mjs +0 -74
  617. package/dist/fr-C0Oj4xnv.mjs.map +0 -1
  618. package/dist/fr-Ce2tevwP.mjs +0 -125
  619. package/dist/fr-Ce2tevwP.mjs.map +0 -1
  620. package/dist/fr-DSG1yVZR.cjs +0 -80
  621. package/dist/fr-DSG1yVZR.cjs.map +0 -1
  622. package/dist/fr-Zh7yPXbQ.cjs +0 -131
  623. package/dist/fr-Zh7yPXbQ.cjs.map +0 -1
  624. package/dist/fr-kd7QtgdA.mjs +0 -37
  625. package/dist/fr-kd7QtgdA.mjs.map +0 -1
  626. package/dist/he-Alro4HT4.cjs +0 -30
  627. package/dist/he-Alro4HT4.cjs.map +0 -1
  628. package/dist/he-B4cg1J00.mjs +0 -74
  629. package/dist/he-B4cg1J00.mjs.map +0 -1
  630. package/dist/he-Bsinkol5.mjs +0 -125
  631. package/dist/he-Bsinkol5.mjs.map +0 -1
  632. package/dist/he-CTOKIYzG.cjs +0 -80
  633. package/dist/he-CTOKIYzG.cjs.map +0 -1
  634. package/dist/he-CdDmyq0k.cjs +0 -43
  635. package/dist/he-CdDmyq0k.cjs.map +0 -1
  636. package/dist/he-CuuLh6US.cjs +0 -131
  637. package/dist/he-CuuLh6US.cjs.map +0 -1
  638. package/dist/he-CvNcU3F-.mjs +0 -24
  639. package/dist/he-CvNcU3F-.mjs.map +0 -1
  640. package/dist/he-oOy2HM0e.mjs +0 -37
  641. package/dist/he-oOy2HM0e.mjs.map +0 -1
  642. package/dist/hu-B84oEeJZ.mjs +0 -125
  643. package/dist/hu-B84oEeJZ.mjs.map +0 -1
  644. package/dist/hu-BSPTfhWR.cjs +0 -43
  645. package/dist/hu-BSPTfhWR.cjs.map +0 -1
  646. package/dist/hu-CF_ikpEl.cjs +0 -80
  647. package/dist/hu-CF_ikpEl.cjs.map +0 -1
  648. package/dist/hu-CYlsbrG1.mjs +0 -24
  649. package/dist/hu-CYlsbrG1.mjs.map +0 -1
  650. package/dist/hu-D5x1eDHD.cjs +0 -30
  651. package/dist/hu-D5x1eDHD.cjs.map +0 -1
  652. package/dist/hu-Dv5s1IMB.mjs +0 -37
  653. package/dist/hu-Dv5s1IMB.mjs.map +0 -1
  654. package/dist/hu-IZ3Wz8XP.mjs +0 -74
  655. package/dist/hu-IZ3Wz8XP.mjs.map +0 -1
  656. package/dist/hu-Vw6dogZo.cjs +0 -131
  657. package/dist/hu-Vw6dogZo.cjs.map +0 -1
  658. package/dist/id-1z_sYwiV.cjs +0 -131
  659. package/dist/id-1z_sYwiV.cjs.map +0 -1
  660. package/dist/id-C30Gd0ig.mjs +0 -24
  661. package/dist/id-C30Gd0ig.mjs.map +0 -1
  662. package/dist/id-C4q84iQs.mjs +0 -37
  663. package/dist/id-C4q84iQs.mjs.map +0 -1
  664. package/dist/id-CKzznQLP.cjs +0 -80
  665. package/dist/id-CKzznQLP.cjs.map +0 -1
  666. package/dist/id-CXL-L1qX.mjs +0 -125
  667. package/dist/id-CXL-L1qX.mjs.map +0 -1
  668. package/dist/id-DI4Mmfx0.mjs +0 -74
  669. package/dist/id-DI4Mmfx0.mjs.map +0 -1
  670. package/dist/id-Duby505w.cjs +0 -30
  671. package/dist/id-Duby505w.cjs.map +0 -1
  672. package/dist/id-NeJHVkY8.cjs +0 -43
  673. package/dist/id-NeJHVkY8.cjs.map +0 -1
  674. package/dist/it-5pXu8eWE.cjs +0 -43
  675. package/dist/it-5pXu8eWE.cjs.map +0 -1
  676. package/dist/it-BSiMXbIw.cjs +0 -30
  677. package/dist/it-BSiMXbIw.cjs.map +0 -1
  678. package/dist/it-BbNDdOME.mjs +0 -37
  679. package/dist/it-BbNDdOME.mjs.map +0 -1
  680. package/dist/it-CQY4tm5S.cjs +0 -131
  681. package/dist/it-CQY4tm5S.cjs.map +0 -1
  682. package/dist/it-CTPG4nXE.mjs +0 -24
  683. package/dist/it-CTPG4nXE.mjs.map +0 -1
  684. package/dist/it-CnIs_n8L.mjs +0 -74
  685. package/dist/it-CnIs_n8L.mjs.map +0 -1
  686. package/dist/it-CwAg1PPt.mjs +0 -125
  687. package/dist/it-CwAg1PPt.mjs.map +0 -1
  688. package/dist/it-IEJYmwzw.cjs +0 -80
  689. package/dist/it-IEJYmwzw.cjs.map +0 -1
  690. package/dist/ja-B-YZ7YHO.mjs +0 -74
  691. package/dist/ja-B-YZ7YHO.mjs.map +0 -1
  692. package/dist/ja-BBOP6z7P.cjs +0 -131
  693. package/dist/ja-BBOP6z7P.cjs.map +0 -1
  694. package/dist/ja-CDnUJv_3.mjs +0 -37
  695. package/dist/ja-CDnUJv_3.mjs.map +0 -1
  696. package/dist/ja-D5845TL0.mjs +0 -24
  697. package/dist/ja-D5845TL0.mjs.map +0 -1
  698. package/dist/ja-DobSeN1K.cjs +0 -43
  699. package/dist/ja-DobSeN1K.cjs.map +0 -1
  700. package/dist/ja-X6HQT0aD.cjs +0 -80
  701. package/dist/ja-X6HQT0aD.cjs.map +0 -1
  702. package/dist/ja-lCgyxNWH.mjs +0 -125
  703. package/dist/ja-lCgyxNWH.mjs.map +0 -1
  704. package/dist/ja-pSbdkRSW.cjs +0 -30
  705. package/dist/ja-pSbdkRSW.cjs.map +0 -1
  706. package/dist/ko-B3Oa-b5c.mjs +0 -24
  707. package/dist/ko-B3Oa-b5c.mjs.map +0 -1
  708. package/dist/ko-B4GjXpnY.mjs +0 -125
  709. package/dist/ko-B4GjXpnY.mjs.map +0 -1
  710. package/dist/ko-BIi-F1dV.cjs +0 -131
  711. package/dist/ko-BIi-F1dV.cjs.map +0 -1
  712. package/dist/ko-BfySQ1ZI.mjs +0 -74
  713. package/dist/ko-BfySQ1ZI.mjs.map +0 -1
  714. package/dist/ko-C-DvBsfj.cjs +0 -80
  715. package/dist/ko-C-DvBsfj.cjs.map +0 -1
  716. package/dist/ko-CuJFyarb.cjs +0 -43
  717. package/dist/ko-CuJFyarb.cjs.map +0 -1
  718. package/dist/ko-ir7yEsoy.cjs +0 -30
  719. package/dist/ko-ir7yEsoy.cjs.map +0 -1
  720. package/dist/ko-o5PlsiO4.mjs +0 -37
  721. package/dist/ko-o5PlsiO4.mjs.map +0 -1
  722. package/dist/nl-B3aJ9t79.cjs +0 -30
  723. package/dist/nl-B3aJ9t79.cjs.map +0 -1
  724. package/dist/nl-B8i6Eran.mjs +0 -125
  725. package/dist/nl-B8i6Eran.mjs.map +0 -1
  726. package/dist/nl-Casz-6t5.mjs +0 -37
  727. package/dist/nl-Casz-6t5.mjs.map +0 -1
  728. package/dist/nl-D6QZWEm6.mjs +0 -74
  729. package/dist/nl-D6QZWEm6.mjs.map +0 -1
  730. package/dist/nl-DOW7O3Ls.cjs +0 -80
  731. package/dist/nl-DOW7O3Ls.cjs.map +0 -1
  732. package/dist/nl-DlW0bd6G.mjs +0 -24
  733. package/dist/nl-DlW0bd6G.mjs.map +0 -1
  734. package/dist/nl-L3QBBaKe.cjs +0 -131
  735. package/dist/nl-L3QBBaKe.cjs.map +0 -1
  736. package/dist/nl-UaKnUkiF.cjs +0 -43
  737. package/dist/nl-UaKnUkiF.cjs.map +0 -1
  738. package/dist/pl-BTpBOJRd.mjs +0 -74
  739. package/dist/pl-BTpBOJRd.mjs.map +0 -1
  740. package/dist/pl-Bc5PLKWA.cjs +0 -30
  741. package/dist/pl-Bc5PLKWA.cjs.map +0 -1
  742. package/dist/pl-BhYoyqAF.mjs +0 -125
  743. package/dist/pl-BhYoyqAF.mjs.map +0 -1
  744. package/dist/pl-CK-QOBHU.cjs +0 -43
  745. package/dist/pl-CK-QOBHU.cjs.map +0 -1
  746. package/dist/pl-CMFgAXzQ.mjs +0 -24
  747. package/dist/pl-CMFgAXzQ.mjs.map +0 -1
  748. package/dist/pl-CuCpTUw8.cjs +0 -80
  749. package/dist/pl-CuCpTUw8.cjs.map +0 -1
  750. package/dist/pl-Dhgn2yX2.cjs +0 -131
  751. package/dist/pl-Dhgn2yX2.cjs.map +0 -1
  752. package/dist/pl-QhF51ZKE.mjs +0 -37
  753. package/dist/pl-QhF51ZKE.mjs.map +0 -1
  754. package/dist/pt-BLHjWaSa.cjs +0 -43
  755. package/dist/pt-BLHjWaSa.cjs.map +0 -1
  756. package/dist/pt-BNcmRTXF.mjs +0 -125
  757. package/dist/pt-BNcmRTXF.mjs.map +0 -1
  758. package/dist/pt-Bk5lU5Bq.cjs +0 -30
  759. package/dist/pt-Bk5lU5Bq.cjs.map +0 -1
  760. package/dist/pt-Bo9r1x0D.cjs +0 -131
  761. package/dist/pt-Bo9r1x0D.cjs.map +0 -1
  762. package/dist/pt-CRWFsKEU.mjs +0 -37
  763. package/dist/pt-CRWFsKEU.mjs.map +0 -1
  764. package/dist/pt-DK2uIFjk.mjs +0 -24
  765. package/dist/pt-DK2uIFjk.mjs.map +0 -1
  766. package/dist/pt-DidvCPJO.mjs +0 -74
  767. package/dist/pt-DidvCPJO.mjs.map +0 -1
  768. package/dist/pt-gwAOG4ye.cjs +0 -80
  769. package/dist/pt-gwAOG4ye.cjs.map +0 -1
  770. package/dist/ro-0CezOHmT.cjs +0 -80
  771. package/dist/ro-0CezOHmT.cjs.map +0 -1
  772. package/dist/ro-B3zGlIxa.cjs +0 -30
  773. package/dist/ro-B3zGlIxa.cjs.map +0 -1
  774. package/dist/ro-D7ttD6wI.mjs +0 -24
  775. package/dist/ro-D7ttD6wI.mjs.map +0 -1
  776. package/dist/ro-DIuZ_x0Y.mjs +0 -125
  777. package/dist/ro-DIuZ_x0Y.mjs.map +0 -1
  778. package/dist/ro-DPmaLEta.cjs +0 -131
  779. package/dist/ro-DPmaLEta.cjs.map +0 -1
  780. package/dist/ro-DeurRKLx.mjs +0 -37
  781. package/dist/ro-DeurRKLx.mjs.map +0 -1
  782. package/dist/ro-nugOenVq.cjs +0 -43
  783. package/dist/ro-nugOenVq.cjs.map +0 -1
  784. package/dist/ro-uWPaYSks.mjs +0 -74
  785. package/dist/ro-uWPaYSks.mjs.map +0 -1
  786. package/dist/ru-AaRaNSOD.cjs +0 -80
  787. package/dist/ru-AaRaNSOD.cjs.map +0 -1
  788. package/dist/ru-B9QN1Xa3.cjs +0 -30
  789. package/dist/ru-B9QN1Xa3.cjs.map +0 -1
  790. package/dist/ru-C127BOjG.mjs +0 -125
  791. package/dist/ru-C127BOjG.mjs.map +0 -1
  792. package/dist/ru-C72sfdMa.mjs +0 -24
  793. package/dist/ru-C72sfdMa.mjs.map +0 -1
  794. package/dist/ru-CYExV0AV.cjs +0 -131
  795. package/dist/ru-CYExV0AV.cjs.map +0 -1
  796. package/dist/ru-D9P2Trsv.mjs +0 -74
  797. package/dist/ru-D9P2Trsv.mjs.map +0 -1
  798. package/dist/ru-DH4xf5h_.cjs +0 -43
  799. package/dist/ru-DH4xf5h_.cjs.map +0 -1
  800. package/dist/ru-DbmM_yGB.mjs +0 -37
  801. package/dist/ru-DbmM_yGB.mjs.map +0 -1
  802. package/dist/th-BFt4w61B.cjs +0 -30
  803. package/dist/th-BFt4w61B.cjs.map +0 -1
  804. package/dist/th-BG8R3dAP.cjs +0 -43
  805. package/dist/th-BG8R3dAP.cjs.map +0 -1
  806. package/dist/th-BJlArNGG.mjs +0 -24
  807. package/dist/th-BJlArNGG.mjs.map +0 -1
  808. package/dist/th-BavxQWOu.cjs +0 -131
  809. package/dist/th-BavxQWOu.cjs.map +0 -1
  810. package/dist/th-CGTuBtiC.mjs +0 -37
  811. package/dist/th-CGTuBtiC.mjs.map +0 -1
  812. package/dist/th-a1Jy5C_d.cjs +0 -80
  813. package/dist/th-a1Jy5C_d.cjs.map +0 -1
  814. package/dist/th-h90suc6n.mjs +0 -125
  815. package/dist/th-h90suc6n.mjs.map +0 -1
  816. package/dist/th-zwlwoiv6.mjs +0 -74
  817. package/dist/th-zwlwoiv6.mjs.map +0 -1
  818. package/dist/tl-BHwQDhWD.mjs +0 -125
  819. package/dist/tl-BHwQDhWD.mjs.map +0 -1
  820. package/dist/tl-BoIi6HWk.cjs +0 -131
  821. package/dist/tl-BoIi6HWk.cjs.map +0 -1
  822. package/dist/tl-BsGu5Py0.mjs +0 -24
  823. package/dist/tl-BsGu5Py0.mjs.map +0 -1
  824. package/dist/tl-ByorVCxH.cjs +0 -43
  825. package/dist/tl-ByorVCxH.cjs.map +0 -1
  826. package/dist/tl-C2azJUgn.mjs +0 -74
  827. package/dist/tl-C2azJUgn.mjs.map +0 -1
  828. package/dist/tl-Ce-0Cpm6.cjs +0 -30
  829. package/dist/tl-Ce-0Cpm6.cjs.map +0 -1
  830. package/dist/tl-DN6DtBpZ.cjs +0 -80
  831. package/dist/tl-DN6DtBpZ.cjs.map +0 -1
  832. package/dist/tl-DytTStSw.mjs +0 -37
  833. package/dist/tl-DytTStSw.mjs.map +0 -1
  834. package/dist/tr-5RnbIa4c.mjs +0 -24
  835. package/dist/tr-5RnbIa4c.mjs.map +0 -1
  836. package/dist/tr-8c97dqrL.cjs +0 -131
  837. package/dist/tr-8c97dqrL.cjs.map +0 -1
  838. package/dist/tr-BT6N_Wus.mjs +0 -74
  839. package/dist/tr-BT6N_Wus.mjs.map +0 -1
  840. package/dist/tr-BedGdI5d.cjs +0 -80
  841. package/dist/tr-BedGdI5d.cjs.map +0 -1
  842. package/dist/tr-BouBqgCB.mjs +0 -125
  843. package/dist/tr-BouBqgCB.mjs.map +0 -1
  844. package/dist/tr-D6eImzZD.mjs +0 -37
  845. package/dist/tr-D6eImzZD.mjs.map +0 -1
  846. package/dist/tr-DcRheecc.cjs +0 -43
  847. package/dist/tr-DcRheecc.cjs.map +0 -1
  848. package/dist/tr-De6vY4Jr.cjs +0 -30
  849. package/dist/tr-De6vY4Jr.cjs.map +0 -1
  850. package/dist/zh_CN-BQsZQZhr.mjs +0 -74
  851. package/dist/zh_CN-BQsZQZhr.mjs.map +0 -1
  852. package/dist/zh_CN-BokVyKnZ.cjs +0 -80
  853. package/dist/zh_CN-BokVyKnZ.cjs.map +0 -1
  854. package/dist/zh_CN-COIJjtl4.mjs +0 -37
  855. package/dist/zh_CN-COIJjtl4.mjs.map +0 -1
  856. package/dist/zh_CN-Cj5fwlCh.mjs +0 -24
  857. package/dist/zh_CN-Cj5fwlCh.mjs.map +0 -1
  858. package/dist/zh_CN-Cr8k96O_.cjs +0 -131
  859. package/dist/zh_CN-Cr8k96O_.cjs.map +0 -1
  860. package/dist/zh_CN-CtrM9Bt7.mjs +0 -125
  861. package/dist/zh_CN-CtrM9Bt7.mjs.map +0 -1
  862. package/dist/zh_CN-CubDPpC6.cjs +0 -43
  863. package/dist/zh_CN-CubDPpC6.cjs.map +0 -1
  864. package/dist/zh_CN-CyFIfnPm.cjs +0 -30
  865. package/dist/zh_CN-CyFIfnPm.cjs.map +0 -1
  866. package/dist/zh_TW-BQjHIF9g.cjs +0 -80
  867. package/dist/zh_TW-BQjHIF9g.cjs.map +0 -1
  868. package/dist/zh_TW-BrH-zluV.cjs +0 -43
  869. package/dist/zh_TW-BrH-zluV.cjs.map +0 -1
  870. package/dist/zh_TW-Cs0GkiU5.cjs +0 -30
  871. package/dist/zh_TW-Cs0GkiU5.cjs.map +0 -1
  872. package/dist/zh_TW-DB4Om9FX.mjs +0 -37
  873. package/dist/zh_TW-DB4Om9FX.mjs.map +0 -1
  874. package/dist/zh_TW-DdCGAeE-.mjs +0 -125
  875. package/dist/zh_TW-DdCGAeE-.mjs.map +0 -1
  876. package/dist/zh_TW-MAOS8yS2.mjs +0 -74
  877. package/dist/zh_TW-MAOS8yS2.mjs.map +0 -1
  878. package/dist/zh_TW-Q6KxkIVE.mjs +0 -24
  879. package/dist/zh_TW-Q6KxkIVE.mjs.map +0 -1
  880. package/dist/zh_TW-jgCKq0gP.cjs +0 -131
  881. package/dist/zh_TW-jgCKq0gP.cjs.map +0 -1
@@ -1,1282 +0,0 @@
1
- import { n as useFluidContext } from "./FluidProvider-CqFxMwqz.mjs";
2
- import { i as createTranslationContext, n as createDomainTranslations, o as useActiveLocale, r as useDomainDict, t as createStaticDictAdapter } from "./static-dict-adapter-OprHuHgs.mjs";
3
- import { B as DropdownMenuContent, C as SelectContent, D as RadioGroup, E as SelectValue, G as DropdownMenuSeparator, H as DropdownMenuLabel, O as RadioGroupItem, S as Select, T as SelectTrigger, U as DropdownMenuRadioGroup, W as DropdownMenuRadioItem, Y as DropdownMenuTrigger, an as BreadcrumbLink, cn as BreadcrumbSeparator, gt as Card, h as Skeleton, in as BreadcrumbItem, on as BreadcrumbList, rn as Breadcrumb, sn as BreadcrumbPage, vn as Button, w as SelectItem, z as DropdownMenu } from "./src-Dk1FJOX0.mjs";
4
- import { n as ScreenHeaderBreadcrumbs, t as ScreenHeaderActions } from "./ScreenHeaderContext-Dn12BZyj.mjs";
5
- import { t as useStore } from "./use-store-BnHhQDYo.mjs";
6
- import { n as useAppNavigation } from "./AppNavigationContext-DNomMUij.mjs";
7
- import { a as usePortalProductCatalog, i as usePortalProductDetail, n as determineProductPrice, r as getProductImageUrl, s as SearchSort, t as PortalProductsApiProvider } from "./PortalProductsApiProvider-CEZoXSH2.mjs";
8
- import React, { useCallback, useEffect, useMemo, useRef, useState } from "react";
9
- import { useInfiniteQuery } from "@tanstack/react-query";
10
- import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
11
- import { ArrowUpDown, ChevronLeft, ChevronRight, CirclePlay, ShoppingCart } from "lucide-react";
12
- import { createPortal } from "react-dom";
13
- //#region ../../shop/core/src/translation-api-context.ts
14
- const { Provider, useTranslation } = createTranslationContext("Shop");
15
- const ShopTranslationProvider = Provider;
16
- const useShopTranslation = useTranslation;
17
- //#endregion
18
- //#region ../../shop/ui/src/utils/media-helpers.ts
19
- const VIDEO_EXTENSIONS = [
20
- ".mp4",
21
- ".webm",
22
- ".mov",
23
- ".avi",
24
- ".m4v",
25
- ".mkv",
26
- ".ogv",
27
- ".ogg",
28
- ".wmv",
29
- ".flv",
30
- ".3gp"
31
- ];
32
- function isVideoUrl(url) {
33
- if (!url) return false;
34
- const lowerUrl = url.toLowerCase();
35
- return VIDEO_EXTENSIONS.some((ext) => lowerUrl.includes(ext));
36
- }
37
- function getVideoThumbnailUrl(videoUrl) {
38
- if (videoUrl.includes("ik.imagekit.io")) return `${videoUrl}/ik-thumbnail.jpg`;
39
- return videoUrl;
40
- }
41
- //#endregion
42
- //#region ../../shop/ui/src/components/product-card.tsx
43
- function tagPortalProduct(product) {
44
- return {
45
- ...product,
46
- __portalProduct: true
47
- };
48
- }
49
- function isPortalProduct(product) {
50
- return "__portalProduct" in product && product.__portalProduct === true;
51
- }
52
- function getPortalProductCoverImage(product) {
53
- if (product.images && product.images.length > 0) return product.images[0]?.url ?? null;
54
- return null;
55
- }
56
- function defaultRenderImage$1({ src, alt, fill, className, onError }) {
57
- return /* @__PURE__ */ jsx("img", {
58
- src,
59
- alt,
60
- className: `${fill ? "absolute inset-0 h-full w-full" : ""} ${className ?? ""}`,
61
- onError
62
- });
63
- }
64
- function formatPortalPrice(price, currency) {
65
- if (!price) return null;
66
- const numericPrice = Number(price);
67
- if (Number.isNaN(numericPrice)) return `${currency ?? ""}${price}`;
68
- try {
69
- return new Intl.NumberFormat(void 0, {
70
- style: "currency",
71
- currency: currency || "USD"
72
- }).format(numericPrice);
73
- } catch {
74
- return `$${price}`;
75
- }
76
- }
77
- function ProductCardContent({ product, countryIso, companyLogoUrl, renderImage = defaultRenderImage$1 }) {
78
- const [isHovered, setIsHovered] = useState(false);
79
- const { t } = useShopTranslation();
80
- const isPortal = isPortalProduct(product);
81
- const coverImage = isPortal ? getPortalProductCoverImage(product) : getProductImageUrl(product);
82
- const isVideo = isVideoUrl(coverImage);
83
- const productName = isPortal ? product.name || t("no_title") : product.title || t("no_title");
84
- let repPrice = null;
85
- let price = null;
86
- if (isPortal) if (product.wholesale_price) {
87
- repPrice = formatPortalPrice(product.wholesale_price, product.currency);
88
- const retailFormatted = formatPortalPrice(product.price, product.currency);
89
- if (retailFormatted !== repPrice) price = retailFormatted;
90
- } else repPrice = formatPortalPrice(product.price, product.currency);
91
- else if (countryIso) {
92
- const prices = determineProductPrice(product, countryIso);
93
- repPrice = prices.repPrice;
94
- price = prices.price;
95
- }
96
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsxs("div", {
97
- className: "bg-muted relative aspect-square overflow-hidden",
98
- onMouseEnter: () => isVideo && setIsHovered(true),
99
- onMouseLeave: () => isVideo && setIsHovered(false),
100
- children: [isVideo && isHovered ? /* @__PURE__ */ jsx("video", {
101
- src: coverImage || "",
102
- className: "absolute inset-0 h-full w-full object-cover",
103
- autoPlay: true,
104
- muted: true,
105
- loop: true,
106
- playsInline: true
107
- }) : renderImage({
108
- src: isVideo && coverImage ? getVideoThumbnailUrl(coverImage) : coverImage || "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png",
109
- alt: productName,
110
- fill: true,
111
- className: "object-cover transition-transform group-hover:scale-105",
112
- onError: (e) => {
113
- e.currentTarget.src = companyLogoUrl || "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png";
114
- },
115
- unoptimized: true
116
- }), isVideo && !isHovered && /* @__PURE__ */ jsx("div", {
117
- className: "absolute inset-0 flex items-center justify-center",
118
- children: /* @__PURE__ */ jsx("div", {
119
- className: "flex h-16 w-16 items-center justify-center rounded-full bg-black/50 backdrop-blur-sm",
120
- children: /* @__PURE__ */ jsx(CirclePlay, { className: "h-12 w-12 text-white" })
121
- })
122
- })]
123
- }), /* @__PURE__ */ jsxs("div", {
124
- className: "px-3 pt-2 pb-4",
125
- children: [
126
- /* @__PURE__ */ jsx("h3", {
127
- className: "text-foreground line-clamp-1 text-sm font-bold",
128
- children: productName
129
- }),
130
- /* @__PURE__ */ jsxs("div", {
131
- className: "flex items-center gap-2",
132
- children: [repPrice && /* @__PURE__ */ jsx("span", {
133
- className: "text-foreground text-sm font-bold",
134
- children: repPrice
135
- }), price && /* @__PURE__ */ jsx("span", {
136
- className: "text-muted-foreground text-sm line-through",
137
- children: price
138
- })]
139
- }),
140
- !isPortal && countryIso && /* @__PURE__ */ jsxs("div", {
141
- className: "text-muted-foreground text-sm",
142
- children: [
143
- "CV",
144
- " ",
145
- getVariantCountryValue(getSelectedVariant(product), countryIso, "cv") || "-",
146
- " ",
147
- "| QV",
148
- " ",
149
- getVariantCountryValue(getSelectedVariant(product), countryIso, "qv") || "-"
150
- ]
151
- }),
152
- isPortal && product.wholesale_price != null && /* @__PURE__ */ jsxs("div", {
153
- className: "text-muted-foreground text-sm",
154
- children: [
155
- "CV ",
156
- product.cv ?? "-",
157
- " | QV ",
158
- product.qv ?? "-"
159
- ]
160
- })
161
- ]
162
- })] });
163
- }
164
- function getSelectedVariant(product) {
165
- if (!product.variants || product.variants.length === 0) return null;
166
- const masterVariant = product.variants.find((v) => {
167
- return "is_master" in v && v.is_master;
168
- });
169
- if (masterVariant) return masterVariant;
170
- return product.variants[0] || null;
171
- }
172
- function getVariantCountryValue(variant, countryIso, field) {
173
- if (!variant || !variant.variant_countries) return null;
174
- if (typeof variant.variant_countries === "object" && !Array.isArray(variant.variant_countries)) return variant.variant_countries[countryIso]?.[field] ?? null;
175
- if (Array.isArray(variant.variant_countries)) return variant.variant_countries.find((vc) => vc.country_iso === countryIso)?.[field] ?? null;
176
- return null;
177
- }
178
- function ProductCard({ product, countryIso, companyLogoUrl, showShareModal = false, setShareModalOpen, setSelectedProduct, renderLink, renderImage, onClick }) {
179
- const cardContent = /* @__PURE__ */ jsx(ProductCardContent, {
180
- product,
181
- countryIso,
182
- companyLogoUrl,
183
- renderImage
184
- });
185
- const cardClassName = "overflow-hidden border-0 shadow-none pt-0 gap-0";
186
- if (showShareModal && !isPortalProduct(product)) {
187
- const handleShareClick = () => {
188
- if (setSelectedProduct && setShareModalOpen) {
189
- setSelectedProduct(product);
190
- setShareModalOpen(true);
191
- }
192
- };
193
- return /* @__PURE__ */ jsx(Card, {
194
- className: cardClassName,
195
- children: /* @__PURE__ */ jsx("button", {
196
- onClick: handleShareClick,
197
- className: "group block w-full cursor-pointer text-left",
198
- children: cardContent
199
- })
200
- });
201
- }
202
- if (onClick) return /* @__PURE__ */ jsx(Card, {
203
- className: cardClassName,
204
- children: /* @__PURE__ */ jsx("button", {
205
- onClick,
206
- className: "group block w-full cursor-pointer text-left",
207
- children: cardContent
208
- })
209
- });
210
- const href = `/portal/shop/${product.id}`;
211
- if (renderLink) return /* @__PURE__ */ jsx(Card, {
212
- className: cardClassName,
213
- children: renderLink({
214
- href,
215
- children: cardContent
216
- })
217
- });
218
- return /* @__PURE__ */ jsx(Card, {
219
- className: cardClassName,
220
- children: /* @__PURE__ */ jsx("a", {
221
- href,
222
- className: "group block cursor-pointer",
223
- children: cardContent
224
- })
225
- });
226
- }
227
- //#endregion
228
- //#region ../../shop/ui/src/components/image-gallery.tsx
229
- function defaultRenderImage({ src, alt, fill, className, onError }) {
230
- return /* @__PURE__ */ jsx("img", {
231
- src,
232
- alt,
233
- className: `${fill ? "absolute inset-0 h-full w-full" : ""} ${className ?? ""}`,
234
- onError
235
- });
236
- }
237
- function ImageGallery({ images, fallbackImageUrl, productTitle, renderImage = defaultRenderImage }) {
238
- const [currentImageIndex, setCurrentImageIndex] = useState(0);
239
- const hasMultipleImages = images && images.length > 0;
240
- const displayImages = useMemo(() => hasMultipleImages ? [...images].sort((a, b) => a.position - b.position) : [{
241
- id: 0,
242
- image_url: fallbackImageUrl,
243
- position: 0
244
- }], [
245
- images,
246
- hasMultipleImages,
247
- fallbackImageUrl
248
- ]);
249
- useEffect(() => {
250
- setCurrentImageIndex(0);
251
- }, [displayImages]);
252
- const nextImage = () => {
253
- if (displayImages.length > 1) setCurrentImageIndex((prev) => (prev + 1) % displayImages.length);
254
- };
255
- const prevImage = () => {
256
- if (displayImages.length > 1) setCurrentImageIndex((prev) => (prev - 1 + displayImages.length) % displayImages.length);
257
- };
258
- return /* @__PURE__ */ jsx("div", {
259
- className: "space-y-4",
260
- children: /* @__PURE__ */ jsxs("div", {
261
- className: "group relative aspect-square overflow-hidden rounded-sm bg-gray-100",
262
- children: [
263
- isVideoUrl(displayImages[currentImageIndex]?.image_url) ? /* @__PURE__ */ jsx("video", {
264
- src: displayImages[currentImageIndex]?.image_url,
265
- className: "absolute inset-0 h-full w-full object-cover",
266
- controls: true,
267
- loop: true,
268
- playsInline: true
269
- }, displayImages[currentImageIndex]?.id) : renderImage({
270
- src: displayImages[currentImageIndex]?.image_url || fallbackImageUrl,
271
- alt: productTitle,
272
- fill: true,
273
- className: "object-cover",
274
- onError: (e) => {
275
- e.currentTarget.src = "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png";
276
- },
277
- unoptimized: true
278
- }),
279
- displayImages.length > 1 && /* @__PURE__ */ jsxs(Fragment$1, { children: [/* @__PURE__ */ jsx("button", {
280
- type: "button",
281
- "aria-label": "Previous image",
282
- className: "absolute top-1/2 left-3 z-10 flex h-8 w-8 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-white/40 shadow-sm transition-colors group-hover:bg-white/80 hover:bg-white",
283
- onClick: prevImage,
284
- children: /* @__PURE__ */ jsx(ChevronLeft, { className: "h-5 w-5 text-black/40 transition-colors group-hover:text-black" })
285
- }), /* @__PURE__ */ jsx("button", {
286
- type: "button",
287
- "aria-label": "Next image",
288
- className: "absolute top-1/2 right-3 z-10 flex h-8 w-8 -translate-y-1/2 cursor-pointer items-center justify-center rounded-full bg-white/40 shadow-sm transition-colors group-hover:bg-white/80 hover:bg-white",
289
- onClick: nextImage,
290
- children: /* @__PURE__ */ jsx(ChevronRight, { className: "h-5 w-5 text-black/40 transition-colors group-hover:text-black" })
291
- })] }),
292
- displayImages.length > 1 && /* @__PURE__ */ jsx("div", {
293
- className: "absolute bottom-3 left-1/2 flex -translate-x-1/2 gap-3",
294
- children: displayImages.map((_, index) => /* @__PURE__ */ jsx("button", {
295
- type: "button",
296
- className: `h-1.5 w-6 cursor-pointer rounded-lg transition-colors ${index === currentImageIndex ? "bg-gray-800" : "bg-gray-400 hover:bg-gray-600"}`,
297
- "aria-label": `Go to image ${index + 1}`,
298
- onClick: () => setCurrentImageIndex(index)
299
- }, index))
300
- })
301
- ]
302
- })
303
- });
304
- }
305
- //#endregion
306
- //#region ../../shop/ui/src/components/quantity-selector.tsx
307
- function QuantitySelector({ quantity, setQuantity }) {
308
- return /* @__PURE__ */ jsx("div", {
309
- className: "flex items-center gap-3",
310
- children: /* @__PURE__ */ jsxs("div", {
311
- className: "flex items-center rounded-lg",
312
- children: [
313
- /* @__PURE__ */ jsx(Button, {
314
- variant: "default",
315
- onClick: () => setQuantity(Math.max(1, quantity - 1)),
316
- className: "border-0 px-3 py-2 shadow-none",
317
- children: "−"
318
- }),
319
- /* @__PURE__ */ jsx("span", {
320
- className: "text-foreground min-w-8 px-4 py-2 text-center text-sm font-medium",
321
- children: quantity
322
- }),
323
- /* @__PURE__ */ jsx(Button, {
324
- variant: "default",
325
- onClick: () => setQuantity(quantity + 1),
326
- className: "border-0 px-3 py-2 shadow-none",
327
- children: "+"
328
- })
329
- ]
330
- })
331
- });
332
- }
333
- //#endregion
334
- //#region ../../shop/ui/src/components/purchase-options.tsx
335
- function PurchaseOptions({ showBuyOnce, showSubscribe, isSubscribe, onSubscribeChange, product_subscription_plans, selectedSubscriptionPlan, onSubscriptionPlanChange, userSelectedSubscribe, wholesalePrice, wholesaleSubscriptionPrice }) {
336
- const { t } = useShopTranslation();
337
- const defaultSubscriptionPlan = useMemo(() => {
338
- if (!product_subscription_plans?.length) return null;
339
- return product_subscription_plans.find((plan) => plan.default) || product_subscription_plans[0];
340
- }, [product_subscription_plans]);
341
- const currentSubscriptionPlan = selectedSubscriptionPlan || defaultSubscriptionPlan;
342
- const savingsPercentage = useMemo(() => {
343
- if (wholesalePrice === void 0 || wholesaleSubscriptionPrice === void 0 || wholesalePrice <= 0) return null;
344
- const savings = wholesalePrice - wholesaleSubscriptionPrice;
345
- if (savings <= 0) return null;
346
- const pct = Math.round(savings / wholesalePrice * 100);
347
- return pct > 0 ? pct : null;
348
- }, [wholesalePrice, wholesaleSubscriptionPrice]);
349
- const formatSubscriptionPlan = (plan) => {
350
- return `${plan.subscription_plan.billing_interval} ${plan.subscription_plan.billing_interval_unit} (${plan.subscription_plan.name})`;
351
- };
352
- const subscriptionPlanOptions = useMemo(() => {
353
- if (!product_subscription_plans?.length) return [];
354
- return product_subscription_plans.map((plan) => ({
355
- value: plan.subscription_plan.id.toString(),
356
- label: formatSubscriptionPlan(plan)
357
- }));
358
- }, [product_subscription_plans]);
359
- if (showBuyOnce && !showSubscribe) return null;
360
- const handleSubscriptionPlanChange = (planId) => {
361
- const selectedPlan = product_subscription_plans?.find((plan) => plan.subscription_plan.id.toString() === planId);
362
- if (selectedPlan && onSubscriptionPlanChange) onSubscriptionPlanChange(selectedPlan);
363
- };
364
- return /* @__PURE__ */ jsx("div", {
365
- className: "mb-3 flex flex-col",
366
- children: /* @__PURE__ */ jsxs(RadioGroup, {
367
- value: isSubscribe ? "subscribe" : "once",
368
- onValueChange: (value) => onSubscribeChange(value === "subscribe"),
369
- className: "gap-0 space-y-0",
370
- children: [showSubscribe && /* @__PURE__ */ jsx("div", {
371
- onClick: () => onSubscribeChange(true),
372
- className: `cursor-pointer rounded-t-lg p-4 text-left transition-all duration-200 ${showBuyOnce ? "border border-b-0" : "rounded-b-lg"} ${userSelectedSubscribe ? "bg-muted" : "bg-background"}`,
373
- children: /* @__PURE__ */ jsxs("div", {
374
- className: "flex items-start space-x-3",
375
- children: [/* @__PURE__ */ jsx(RadioGroupItem, {
376
- value: "subscribe",
377
- onClick: (e) => e.stopPropagation(),
378
- className: `flex items-center justify-center [&_svg]:h-1.5 [&_svg]:w-1.5 [&_svg]:fill-white ${isSubscribe ? "border-contrast bg-contrast text-foreground" : "border-border bg-background text-muted-foreground"}`
379
- }), /* @__PURE__ */ jsxs("div", {
380
- className: "flex-1",
381
- children: [/* @__PURE__ */ jsx("div", {
382
- className: "text-foreground mb-1 text-sm leading-tight font-medium",
383
- children: savingsPercentage ? t("subscribe_and_save", { percentage: savingsPercentage }) : t("subscribe")
384
- }), product_subscription_plans?.length > 0 && /* @__PURE__ */ jsxs("div", {
385
- className: "bg-muted mt-3 rounded-lg p-2",
386
- onClick: (e) => e.stopPropagation(),
387
- children: [/* @__PURE__ */ jsx("div", {
388
- className: "text-foreground mb-1 text-xs font-medium",
389
- children: t("delivery_frequency")
390
- }), /* @__PURE__ */ jsxs(Select, {
391
- value: currentSubscriptionPlan?.subscription_plan.id.toString() || "",
392
- onValueChange: handleSubscriptionPlanChange,
393
- disabled: product_subscription_plans?.length === 1,
394
- children: [/* @__PURE__ */ jsx(SelectTrigger, {
395
- className: "bg-background text-foreground! w-full text-xs",
396
- children: /* @__PURE__ */ jsx(SelectValue, { placeholder: t("select_delivery_schedule") })
397
- }), /* @__PURE__ */ jsx(SelectContent, { children: subscriptionPlanOptions.map((option) => /* @__PURE__ */ jsx(SelectItem, {
398
- value: option.value,
399
- children: option.label
400
- }, option.value)) })]
401
- })]
402
- })]
403
- })]
404
- })
405
- }), showBuyOnce && /* @__PURE__ */ jsx("div", {
406
- onClick: () => onSubscribeChange(false),
407
- className: `cursor-pointer rounded-b-lg border p-4 text-left transition-all duration-200 ${showSubscribe ? "border-t-0" : "rounded-t-lg"} ${!userSelectedSubscribe ? "bg-muted" : "bg-background"}`,
408
- children: /* @__PURE__ */ jsxs("div", {
409
- className: "flex items-center space-x-3",
410
- children: [/* @__PURE__ */ jsx(RadioGroupItem, {
411
- value: "once",
412
- onClick: (e) => e.stopPropagation(),
413
- className: `flex items-center justify-center [&_svg]:h-1.5 [&_svg]:w-1.5 [&_svg]:fill-white ${!isSubscribe ? "border-contrast bg-contrast text-foreground" : "border-border bg-background text-muted-foreground"}`
414
- }), /* @__PURE__ */ jsx("div", {
415
- className: "text-foreground mb-1 text-sm leading-tight font-medium",
416
- children: t("one_time_purchase")
417
- })]
418
- })
419
- })]
420
- })
421
- });
422
- }
423
- //#endregion
424
- //#region ../../shop/ui/src/components/shop-app.tsx
425
- const PAGE_SIZE = 25;
426
- function sanitizeHtml(html) {
427
- const doc = new DOMParser().parseFromString(html, "text/html");
428
- for (const el of doc.querySelectorAll("script, iframe, object, embed, form, base, meta, link, style")) el.remove();
429
- for (const el of doc.querySelectorAll("*")) for (const attr of [...el.attributes]) if (attr.name.toLowerCase().startsWith("on") || attr.value.toLowerCase().trim().startsWith("javascript:")) el.removeAttribute(attr.name);
430
- return doc.body.innerHTML;
431
- }
432
- const GRID_CLASS = "grid grid-cols-1 gap-8 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-4";
433
- function SkeletonGrid({ count = 8 }) {
434
- return /* @__PURE__ */ jsx("div", {
435
- className: GRID_CLASS,
436
- children: Array.from({ length: count }, (_, i) => /* @__PURE__ */ jsxs("div", {
437
- className: "space-y-2",
438
- children: [
439
- /* @__PURE__ */ jsx(Skeleton, { className: "aspect-square w-full rounded-lg" }),
440
- /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-3/4" }),
441
- /* @__PURE__ */ jsx(Skeleton, { className: "h-4 w-1/2" }),
442
- /* @__PURE__ */ jsx(Skeleton, { className: "h-3 w-1/3" })
443
- ]
444
- }, i))
445
- });
446
- }
447
- function ProductListing({ companyLogoUrl, renderImage, onSelectProduct, cartButton }) {
448
- const observerTarget = useRef(null);
449
- const { t } = useShopTranslation();
450
- const catalog = usePortalProductCatalog({ perPage: PAGE_SIZE });
451
- const { data, isLoading, isFetchingNextPage, hasNextPage, fetchNextPage, error, isFetched } = useInfiniteQuery({
452
- queryKey: catalog.queryKey,
453
- queryFn: ({ pageParam }) => catalog.fetchProducts(pageParam),
454
- getNextPageParam: catalog.getNextPageParam,
455
- initialPageParam: void 0
456
- });
457
- const handleIntersect = useCallback((entries) => {
458
- if (entries[0]?.isIntersecting && hasNextPage && !isFetchingNextPage) fetchNextPage();
459
- }, [
460
- hasNextPage,
461
- isFetchingNextPage,
462
- fetchNextPage
463
- ]);
464
- useEffect(() => {
465
- const target = observerTarget.current;
466
- if (!target) return;
467
- const observer = new IntersectionObserver(handleIntersect, {
468
- threshold: .1,
469
- rootMargin: "200px"
470
- });
471
- observer.observe(target);
472
- return () => observer.disconnect();
473
- }, [handleIntersect]);
474
- const allProducts = data?.pages.flatMap((page) => page.products) ?? [];
475
- const sortOptions = useMemo(() => [
476
- {
477
- id: "title_asc",
478
- label: t("sort_title_asc")
479
- },
480
- {
481
- id: "title_desc",
482
- label: t("sort_title_desc")
483
- },
484
- {
485
- id: "price_asc",
486
- label: t("sort_price_asc")
487
- },
488
- {
489
- id: "price_desc",
490
- label: t("sort_price_desc")
491
- },
492
- {
493
- id: "created_at_desc",
494
- label: t("sort_recent")
495
- },
496
- {
497
- id: "created_at_asc",
498
- label: t("sort_oldest")
499
- }
500
- ], [t]);
501
- return /* @__PURE__ */ jsxs("div", { children: [/* @__PURE__ */ jsx("div", {
502
- className: "mx-auto px-2 md:px-10",
503
- children: /* @__PURE__ */ jsxs("div", {
504
- className: "flex items-center justify-end gap-2 py-4",
505
- children: [
506
- /* @__PURE__ */ jsx("div", {
507
- className: "w-full max-w-sm",
508
- children: /* @__PURE__ */ jsx(SearchSort, {
509
- searchValue: catalog.searchTerm,
510
- onSearchChange: catalog.setSearchTerm,
511
- placeholder: t("search_placeholder")
512
- })
513
- }),
514
- /* @__PURE__ */ jsxs(DropdownMenu, { children: [/* @__PURE__ */ jsx(DropdownMenuTrigger, {
515
- asChild: true,
516
- children: /* @__PURE__ */ jsx(Button, {
517
- variant: "outline",
518
- size: "icon",
519
- className: "border-foreground/10 shadow-input h-9 w-9 shrink-0",
520
- children: /* @__PURE__ */ jsx(ArrowUpDown, { className: "h-3 w-3" })
521
- })
522
- }), /* @__PURE__ */ jsxs(DropdownMenuContent, {
523
- align: "end",
524
- className: "w-60",
525
- children: [
526
- /* @__PURE__ */ jsx(DropdownMenuLabel, { children: t("sort_by") }),
527
- /* @__PURE__ */ jsx(DropdownMenuSeparator, {}),
528
- /* @__PURE__ */ jsx(DropdownMenuRadioGroup, {
529
- value: catalog.currentSort,
530
- onValueChange: catalog.setCurrentSort,
531
- children: sortOptions.map((opt) => /* @__PURE__ */ jsx(DropdownMenuRadioItem, {
532
- value: opt.id,
533
- children: opt.label
534
- }, opt.id))
535
- })
536
- ]
537
- })] }),
538
- cartButton && /* @__PURE__ */ jsx("div", {
539
- className: "flex shrink-0 items-center gap-3",
540
- children: cartButton
541
- })
542
- ]
543
- })
544
- }), /* @__PURE__ */ jsx("div", {
545
- className: "mx-auto space-y-8 px-2 md:px-10 md:py-8",
546
- children: isLoading ? /* @__PURE__ */ jsx(SkeletonGrid, {}) : error ? /* @__PURE__ */ jsx("p", {
547
- className: "mx-auto my-6 rounded-lg bg-red-100 px-3 py-2 text-red-500",
548
- children: t("error_generic")
549
- }) : isFetched && allProducts.length === 0 ? /* @__PURE__ */ jsx("div", {
550
- className: "flex flex-col items-center justify-center py-8 text-center",
551
- children: /* @__PURE__ */ jsx("p", {
552
- className: "text-muted-foreground text-sm",
553
- children: catalog.searchTerm ? t("no_search_results", { term: catalog.searchTerm }) : t("no_products")
554
- })
555
- }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
556
- /* @__PURE__ */ jsx("div", {
557
- className: GRID_CLASS,
558
- children: allProducts.map((product) => /* @__PURE__ */ jsx(ProductCard, {
559
- product: tagPortalProduct(product),
560
- companyLogoUrl,
561
- renderImage,
562
- onClick: () => onSelectProduct(String(product.id))
563
- }, product.id))
564
- }),
565
- /* @__PURE__ */ jsx("div", { ref: observerTarget }),
566
- isFetchingNextPage && /* @__PURE__ */ jsx(SkeletonGrid, { count: 4 })
567
- ] })
568
- })] });
569
- }
570
- /**
571
- * Build the variant options map by grouping option_values across non-master variants.
572
- * Groups by option_id, collecting unique value entries.
573
- */
574
- function buildOptionGroups(variants) {
575
- const groupMap = /* @__PURE__ */ new Map();
576
- for (const variant of variants) {
577
- if (variant.is_master) continue;
578
- for (const ov of variant.option_values ?? []) {
579
- if (ov.option_id == null || ov.id == null) continue;
580
- if (!groupMap.has(ov.option_id)) groupMap.set(ov.option_id, {
581
- name: ov.option_name ?? `Option ${ov.option_id}`,
582
- values: /* @__PURE__ */ new Map()
583
- });
584
- groupMap.get(ov.option_id).values.set(ov.id, ov.name ?? String(ov.id));
585
- }
586
- }
587
- return [...groupMap.entries()].map(([optionId, group]) => ({
588
- optionId,
589
- name: group.name,
590
- values: [...group.values.entries()].map(([id, name]) => ({
591
- id,
592
- name
593
- }))
594
- }));
595
- }
596
- /**
597
- * Find the variant matching a set of selected option value IDs.
598
- * selections is a map of optionId → selected value id.
599
- */
600
- function findVariantBySelections(variants, selections) {
601
- const entries = Object.entries(selections).map(([k, v]) => [Number(k), v]);
602
- if (entries.length === 0) return void 0;
603
- return variants.find((v) => !v.is_master && entries.every(([optionId, valueId]) => v.option_values?.some((ov) => ov.option_id === optionId && ov.id === valueId)));
604
- }
605
- /**
606
- * Map BFF flat subscription plans to the legacy ProductSubscriptionPlan shape
607
- * expected by the PurchaseOptions component.
608
- */
609
- function mapToLegacySubscriptionPlans(plans) {
610
- return plans.map((plan, idx) => ({
611
- id: plan.id,
612
- default: idx === 0,
613
- products_count: null,
614
- subscribers_count: null,
615
- active: true,
616
- subscription_plan: {
617
- id: plan.id ?? 0,
618
- name: plan.name ?? "",
619
- billing_interval: plan.billing_interval ?? 1,
620
- billing_interval_unit: plan.billing_interval_unit ?? "month",
621
- billing_frequency_in_words: plan.billing_frequency ?? `${plan.billing_interval} ${plan.billing_interval_unit}`,
622
- active: true,
623
- price_adjustment_amount: null,
624
- price_adjustment_type: null
625
- }
626
- }));
627
- }
628
- function formatPrice(price, currency) {
629
- if (!price) return null;
630
- const numericPrice = Number(price);
631
- if (Number.isNaN(numericPrice)) return `${currency ?? ""}${price}`;
632
- try {
633
- return new Intl.NumberFormat(void 0, {
634
- style: "currency",
635
- currency: currency || "USD"
636
- }).format(numericPrice);
637
- } catch {
638
- return `$${price}`;
639
- }
640
- }
641
- function ProductDetail({ productId, renderImage }) {
642
- const [quantity, setQuantity] = useState(1);
643
- const [selections, setSelections] = useState({});
644
- const [userSelectedSubscribe, setUserSelectedSubscribe] = useState(false);
645
- const [selectedSubscriptionPlan, setSelectedSubscriptionPlan] = useState(void 0);
646
- const { t } = useShopTranslation();
647
- const { product, isLoading, error, images } = usePortalProductDetail({ productId });
648
- const variants = useMemo(() => product?.variants ?? [], [product?.variants]);
649
- const subscriptionPlans = useMemo(() => product?.subscription_plans ?? [], [product?.subscription_plans]);
650
- const masterVariant = useMemo(() => variants.find((v) => v.is_master) ?? variants[0], [variants]);
651
- const optionGroups = useMemo(() => buildOptionGroups(variants), [variants]);
652
- const showVariantChoices = optionGroups.length === 0 && variants.length > 1;
653
- const [selectedVariantId, setSelectedVariantId] = useState(null);
654
- useEffect(() => {
655
- if (optionGroups.length === 0) return;
656
- const source = variants.find((v) => !v.is_master) ?? masterVariant;
657
- if (!source?.option_values?.length) return;
658
- const defaults = {};
659
- for (const ov of source.option_values) if (ov.option_id != null && ov.id != null) defaults[ov.option_id] = ov.id;
660
- setSelections(defaults);
661
- }, [
662
- optionGroups,
663
- variants,
664
- masterVariant
665
- ]);
666
- useEffect(() => {
667
- if (!showVariantChoices) return;
668
- if (selectedVariantId != null) return;
669
- if (masterVariant?.id == null) return;
670
- setSelectedVariantId(masterVariant.id);
671
- }, [
672
- showVariantChoices,
673
- selectedVariantId,
674
- masterVariant?.id
675
- ]);
676
- const selectedVariant = useMemo(() => {
677
- if (showVariantChoices) return variants.find((v) => v.id === selectedVariantId) ?? masterVariant;
678
- if (optionGroups.length === 0) return masterVariant;
679
- return findVariantBySelections(variants, selections) ?? masterVariant;
680
- }, [
681
- variants,
682
- optionGroups,
683
- selections,
684
- masterVariant,
685
- showVariantChoices,
686
- selectedVariantId
687
- ]);
688
- const legacySubscriptionPlans = useMemo(() => mapToLegacySubscriptionPlans(subscriptionPlans), [subscriptionPlans]);
689
- const isSubscribe = selectedVariant?.subscription_only === true || userSelectedSubscribe;
690
- const showSubscribe = legacySubscriptionPlans.length > 0;
691
- const showBuyOnce = selectedVariant?.subscription_only !== true;
692
- useEffect(() => {
693
- if (selectedVariant?.subscription_only && legacySubscriptionPlans.length > 0) setUserSelectedSubscribe(true);
694
- }, [selectedVariant, legacySubscriptionPlans]);
695
- const galleryImages = useMemo(() => {
696
- const variantImages = selectedVariant?.images;
697
- if (variantImages && variantImages.length > 0) return variantImages.map((img, idx) => ({
698
- id: idx,
699
- image_url: img.url ?? "",
700
- image_path: null,
701
- position: idx
702
- }));
703
- return images.map((img, idx) => ({
704
- id: img.id ?? idx,
705
- image_url: img.url,
706
- image_path: null,
707
- position: idx
708
- }));
709
- }, [selectedVariant?.images, images]);
710
- const coverImage = galleryImages[0]?.image_url ?? null;
711
- const selectedPricing = selectedVariant?.subscription_pricing?.find((sp) => sp.plan_id === (selectedSubscriptionPlan?.subscription_plan.id ?? legacySubscriptionPlans[0]?.subscription_plan.id));
712
- const wholesalePrice = selectedVariant?.wholesale_price ? Number(selectedVariant.wholesale_price) : void 0;
713
- const wholesaleSubscriptionPrice = selectedPricing?.wholesale_price ? Number(selectedPricing.wholesale_price) : void 0;
714
- const currency = selectedVariant?.currency ?? product?.currency;
715
- const displayPrice = formatPrice(selectedVariant?.price ?? product?.price, currency);
716
- const displayWholesalePrice = formatPrice(selectedVariant?.wholesale_price ?? selectedVariant?.price ?? product?.price, currency);
717
- const displayWholesaleSubscriptionPrice = formatPrice(selectedPricing?.wholesale_price ?? selectedPricing?.price ?? selectedVariant?.wholesale_price ?? void 0, currency);
718
- const resolvedPlanId = selectedSubscriptionPlan?.subscription_plan.id ?? legacySubscriptionPlans.find((p) => p.default)?.subscription_plan.id ?? legacySubscriptionPlans[0]?.subscription_plan.id;
719
- const cartVariantId = String(selectedVariant?.id ?? product?.id ?? "");
720
- if (isLoading) return /* @__PURE__ */ jsx("div", {
721
- className: "mx-auto max-w-7xl py-8 pr-4 pl-0 md:pr-6 lg:pr-8 lg:pl-0",
722
- children: /* @__PURE__ */ jsxs("div", {
723
- className: "grid grid-cols-1 gap-5 lg:grid-cols-2",
724
- children: [/* @__PURE__ */ jsx(Skeleton, { className: "aspect-square w-full rounded-lg" }), /* @__PURE__ */ jsxs("div", {
725
- className: "space-y-4 pl-2 lg:pl-20",
726
- children: [
727
- /* @__PURE__ */ jsx(Skeleton, { className: "h-8 w-3/4" }),
728
- /* @__PURE__ */ jsx(Skeleton, { className: "h-5 w-1/4" }),
729
- /* @__PURE__ */ jsx(Skeleton, { className: "h-20 w-full" }),
730
- /* @__PURE__ */ jsx(Skeleton, { className: "h-10 w-1/2" }),
731
- /* @__PURE__ */ jsx(Skeleton, { className: "h-10 w-full" })
732
- ]
733
- })]
734
- })
735
- });
736
- if (error) return /* @__PURE__ */ jsx("div", {
737
- className: "flex min-h-[400px] items-center justify-center",
738
- children: /* @__PURE__ */ jsxs("div", {
739
- className: "text-center",
740
- children: [/* @__PURE__ */ jsx("h3", {
741
- className: "text-foreground mb-2 text-lg font-medium",
742
- children: t("error_loading")
743
- }), /* @__PURE__ */ jsx("p", {
744
- className: "text-muted-foreground",
745
- children: t("error_generic")
746
- })]
747
- })
748
- });
749
- if (!product) return /* @__PURE__ */ jsx("div", {
750
- className: "flex min-h-[400px] items-center justify-center",
751
- children: /* @__PURE__ */ jsxs("div", {
752
- className: "text-center",
753
- children: [/* @__PURE__ */ jsx("h3", {
754
- className: "text-foreground mb-2 text-lg font-medium",
755
- children: t("product_not_found")
756
- }), /* @__PURE__ */ jsx("p", {
757
- className: "text-muted-foreground",
758
- children: t("product_not_found_description")
759
- })]
760
- })
761
- });
762
- const title = product.name || t("product_fallback_name");
763
- const isBundle = product.bundle === true;
764
- const bundleUrl = isBundle && product.canonical_url ? product.canonical_url : null;
765
- return /* @__PURE__ */ jsx("div", {
766
- className: "pb-5 md:pl-8",
767
- children: /* @__PURE__ */ jsx("div", {
768
- className: "mx-auto max-w-7xl px-4 py-8 md:pr-6 md:pl-0 lg:pr-8 lg:pl-0",
769
- children: /* @__PURE__ */ jsxs("div", {
770
- className: "grid grid-cols-1 gap-5 lg:grid-cols-2",
771
- children: [/* @__PURE__ */ jsx(ImageGallery, {
772
- images: galleryImages,
773
- fallbackImageUrl: coverImage ?? "https://assets.fluid.app/fluid-admin/images/we-commerce/we-commerce.png",
774
- productTitle: title,
775
- renderImage
776
- }), /* @__PURE__ */ jsxs("div", {
777
- className: "max-w-lg pl-2 lg:pl-20",
778
- children: [
779
- /* @__PURE__ */ jsx("h1", {
780
- className: "text-foreground text-3xl font-bold",
781
- children: title
782
- }),
783
- !isBundle && /* @__PURE__ */ jsxs("div", {
784
- className: "mb-2 flex items-center gap-2",
785
- children: [/* @__PURE__ */ jsx("span", {
786
- className: "text-foreground text-sm",
787
- children: isSubscribe ? displayWholesaleSubscriptionPrice : displayWholesalePrice
788
- }), (isSubscribe && displayWholesaleSubscriptionPrice !== displayWholesalePrice || !isSubscribe && displayWholesalePrice !== displayPrice) && /* @__PURE__ */ jsx("span", {
789
- className: "text-muted-foreground text-sm line-through",
790
- children: isSubscribe ? displayWholesalePrice : displayPrice
791
- })]
792
- }),
793
- /* @__PURE__ */ jsxs("div", {
794
- className: "pt-2",
795
- children: [/* @__PURE__ */ jsx("h3", {
796
- className: "text-foreground mb-1 text-sm font-medium",
797
- children: t("product_description")
798
- }), /* @__PURE__ */ jsx("div", {
799
- className: "text-foreground mb-3 text-[12px]",
800
- dangerouslySetInnerHTML: { __html: sanitizeHtml(product.description ?? "") }
801
- })]
802
- }),
803
- product.wholesale_price != null && /* @__PURE__ */ jsxs("div", {
804
- className: "text-muted-foreground mb-3 text-sm",
805
- children: [
806
- "CV ",
807
- selectedVariant?.cv ?? "-",
808
- " | QV",
809
- " ",
810
- selectedVariant?.qv ?? "-"
811
- ]
812
- }),
813
- isBundle ? /* @__PURE__ */ jsxs("div", {
814
- className: "pt-4",
815
- children: [/* @__PURE__ */ jsx(Button, {
816
- variant: "default",
817
- className: "w-full gap-2 py-2 text-base font-medium",
818
- disabled: !bundleUrl,
819
- onClick: () => {
820
- if (bundleUrl) window.open(bundleUrl, "_blank", "noopener,noreferrer");
821
- },
822
- children: t("purchase_bundle")
823
- }), !bundleUrl && /* @__PURE__ */ jsx("p", {
824
- className: "text-muted-foreground mt-2 text-center text-xs",
825
- children: t("bundle_unavailable")
826
- })]
827
- }) : /* @__PURE__ */ jsxs(Fragment$1, { children: [
828
- /* @__PURE__ */ jsx(PurchaseOptions, {
829
- showBuyOnce,
830
- showSubscribe,
831
- isSubscribe,
832
- userSelectedSubscribe,
833
- onSubscribeChange: setUserSelectedSubscribe,
834
- wholesalePrice,
835
- wholesaleSubscriptionPrice,
836
- product_subscription_plans: legacySubscriptionPlans,
837
- selectedSubscriptionPlan,
838
- onSubscriptionPlanChange: setSelectedSubscriptionPlan
839
- }),
840
- optionGroups.length > 0 && /* @__PURE__ */ jsx("div", {
841
- className: "mb-4 pt-4",
842
- children: optionGroups.map((group) => /* @__PURE__ */ jsxs("div", {
843
- className: "mb-3 flex items-center",
844
- children: [/* @__PURE__ */ jsx("h3", {
845
- className: "text-md text-foreground w-24 font-bold",
846
- children: group.name.charAt(0).toUpperCase() + group.name.slice(1)
847
- }), /* @__PURE__ */ jsxs(Select, {
848
- value: String(selections[group.optionId] ?? ""),
849
- onValueChange: (value) => setSelections((prev) => ({
850
- ...prev,
851
- [group.optionId]: Number(value)
852
- })),
853
- children: [/* @__PURE__ */ jsx(SelectTrigger, {
854
- className: "w-48 max-w-full",
855
- children: /* @__PURE__ */ jsx(SelectValue, { placeholder: t("select_option", { name: group.name }) })
856
- }), /* @__PURE__ */ jsx(SelectContent, {
857
- position: "popper",
858
- className: "max-h-60",
859
- children: group.values.map((v) => /* @__PURE__ */ jsx(SelectItem, {
860
- value: String(v.id),
861
- children: v.name
862
- }, v.id))
863
- })]
864
- })]
865
- }, group.optionId))
866
- }),
867
- showVariantChoices && /* @__PURE__ */ jsx("div", {
868
- className: "mb-4 pt-4",
869
- children: /* @__PURE__ */ jsxs("div", {
870
- className: "mb-3 flex items-center",
871
- children: [/* @__PURE__ */ jsx("h3", {
872
- className: "text-md text-foreground w-24 font-bold",
873
- children: "Variant"
874
- }), /* @__PURE__ */ jsxs(Select, {
875
- value: selectedVariantId != null ? String(selectedVariantId) : "",
876
- onValueChange: (value) => setSelectedVariantId(Number(value)),
877
- children: [/* @__PURE__ */ jsx(SelectTrigger, {
878
- className: "w-48 max-w-full",
879
- children: /* @__PURE__ */ jsx(SelectValue, { placeholder: "Select variant" })
880
- }), /* @__PURE__ */ jsx(SelectContent, {
881
- position: "popper",
882
- className: "max-h-60",
883
- children: variants.map((v, idx) => v.id == null ? null : /* @__PURE__ */ jsx(SelectItem, {
884
- value: String(v.id),
885
- children: v.title || `Variant ${idx + 1}`
886
- }, v.id))
887
- })]
888
- })]
889
- })
890
- }),
891
- selectedVariant?.subscription_only && !selectedVariant?.allow_subscription && /* @__PURE__ */ jsx("div", {
892
- className: "text-muted-foreground text-sm",
893
- children: t("product_unavailable")
894
- }),
895
- /* @__PURE__ */ jsx("div", { className: "mt-4 mb-3" }),
896
- /* @__PURE__ */ jsxs("div", {
897
- className: "flex items-center gap-3 pb-3",
898
- children: [/* @__PURE__ */ jsx(QuantitySelector, {
899
- quantity,
900
- setQuantity
901
- }), /* @__PURE__ */ jsxs(Button, {
902
- variant: "default",
903
- className: "flex-1 gap-2 py-2 text-base font-medium",
904
- disabled: selectedVariant?.subscription_only === true && !selectedVariant?.allow_subscription,
905
- "data-fluid-add-to-cart": cartVariantId,
906
- "data-fluid-quantity": quantity,
907
- "data-fluid-subscribe": isSubscribe,
908
- "data-fluid-subscription-plan-id": isSubscribe ? String(resolvedPlanId ?? "") : "",
909
- "data-fluid-open-cart-after-add": "false",
910
- children: [/* @__PURE__ */ jsx(ShoppingCart, { className: "h-4 w-4" }), isSubscribe ? t("subscribe") : t("add_to_cart")]
911
- })]
912
- })
913
- ] })
914
- ]
915
- })]
916
- })
917
- })
918
- });
919
- }
920
- function ShopApp({ companyLogoUrl, renderImage, productId: controlledProductId, onSelectProduct: onSelectProductProp, onBack: _onBack, cartButton }) {
921
- const [internalProductId, setInternalProductId] = useState(null);
922
- const activeProductId = controlledProductId !== void 0 ? controlledProductId : internalProductId;
923
- const handleSelectProduct = onSelectProductProp ?? setInternalProductId;
924
- if (activeProductId) return /* @__PURE__ */ jsx(ProductDetail, {
925
- productId: activeProductId,
926
- renderImage
927
- });
928
- return /* @__PURE__ */ jsx(ProductListing, {
929
- companyLogoUrl,
930
- renderImage,
931
- onSelectProduct: handleSelectProduct,
932
- cartButton
933
- });
934
- }
935
- //#endregion
936
- //#region ../../cart/ui/src/components/cart-script.tsx
937
- const SCRIPT_ID = "fluid-cdn-script";
938
- const LEAD_CAPTURE_ID = "fluid-lead-capture-suppress";
939
- const DEFAULT_SCRIPT_SRC = "https://assets.fluid.app/scripts/fluid-sdk/latest/web-widgets/index.js";
940
- function CartScript({ subdomain, authJwt, bffMode, scriptSrc, apiBaseUrl, debug }) {
941
- const authJwtRef = useRef(authJwt);
942
- authJwtRef.current = authJwt;
943
- useEffect(() => {
944
- if (!subdomain) return;
945
- if (document.getElementById(SCRIPT_ID)) return;
946
- const script = document.createElement("script");
947
- script.id = SCRIPT_ID;
948
- script.src = scriptSrc ?? DEFAULT_SCRIPT_SRC;
949
- script.type = "module";
950
- script.crossOrigin = "anonymous";
951
- script.dataset.fluidShop = subdomain;
952
- if (bffMode) script.dataset.bffMode = "true";
953
- else if (authJwtRef.current) script.dataset.authJwt = authJwtRef.current;
954
- if (apiBaseUrl) script.dataset.fluidApiBaseUrl = apiBaseUrl;
955
- if (debug) script.dataset.debug = "true";
956
- document.head.appendChild(script);
957
- const leadCapture = document.createElement("fluid-lead-capture-widget");
958
- leadCapture.id = LEAD_CAPTURE_ID;
959
- leadCapture.setAttribute("hide-widget", "true");
960
- document.body.appendChild(leadCapture);
961
- return () => {
962
- const existing = document.getElementById(SCRIPT_ID);
963
- if (existing) existing.remove();
964
- const existingLeadCapture = document.getElementById(LEAD_CAPTURE_ID);
965
- if (existingLeadCapture) existingLeadCapture.remove();
966
- };
967
- }, [
968
- subdomain,
969
- bffMode,
970
- scriptSrc,
971
- apiBaseUrl,
972
- debug
973
- ]);
974
- return null;
975
- }
976
- //#endregion
977
- //#region ../../cart/ui/src/components/cart-widget.tsx
978
- function CartWidget({ theme }) {
979
- const [mounted, setMounted] = useState(false);
980
- const widgetRef = useRef(null);
981
- useEffect(() => {
982
- setMounted(true);
983
- }, []);
984
- useEffect(() => {
985
- if (!mounted) return;
986
- const el = widgetRef.current;
987
- if (!el) return;
988
- if (theme) el.setAttribute("theme", JSON.stringify(theme));
989
- else el.removeAttribute("theme");
990
- }, [theme, mounted]);
991
- const widget = React.createElement("fluid-cart-widget", {
992
- ref: (el) => {
993
- widgetRef.current = el;
994
- },
995
- "data-fluid-widget": "true",
996
- "hide-widget": "true",
997
- "is-primary": "true"
998
- });
999
- if (mounted) return createPortal(widget, document.body);
1000
- return null;
1001
- }
1002
- //#endregion
1003
- //#region ../../cart/ui/src/components/cart-button.tsx
1004
- const MAX_SDK_POLL_ATTEMPTS = 50;
1005
- function CartButton({ onCheckout }) {
1006
- const [initialCount, setInitialCount] = useState(0);
1007
- const navigateToCheckout = useCallback(() => {
1008
- if (!window.FluidCommerceSDK) {
1009
- console.error("FluidCommerceSDK not available");
1010
- return;
1011
- }
1012
- try {
1013
- const checkoutUrl = window.FluidCommerceSDK.getCheckoutUrl();
1014
- if (!checkoutUrl) {
1015
- console.error("No checkout URL available");
1016
- return;
1017
- }
1018
- onCheckout?.(checkoutUrl);
1019
- } catch (error) {
1020
- console.error("Error getting checkout URL:", error);
1021
- }
1022
- }, [onCheckout]);
1023
- useEffect(() => {
1024
- let timeoutId = null;
1025
- let attempts = 0;
1026
- let cancelled = false;
1027
- const setupSDK = () => {
1028
- if (cancelled) return;
1029
- if (window.FluidCommerceSDK) {
1030
- if (onCheckout) window.FluidCommerceSDK.setOnCheckout(navigateToCheckout);
1031
- const count = window.FairShareSDK?.getCartItemCount?.();
1032
- if (count != null) setInitialCount(count);
1033
- } else if (attempts < MAX_SDK_POLL_ATTEMPTS) {
1034
- attempts++;
1035
- timeoutId = setTimeout(setupSDK, 100);
1036
- }
1037
- };
1038
- setupSDK();
1039
- return () => {
1040
- cancelled = true;
1041
- if (timeoutId) clearTimeout(timeoutId);
1042
- };
1043
- }, [navigateToCheckout, onCheckout]);
1044
- return /* @__PURE__ */ jsxs(Button, {
1045
- className: "bg-primary text-primary-foreground hover:bg-primary/70 relative flex h-8 items-center gap-2 rounded-sm px-3 py-1 text-xs",
1046
- onClick: () => {
1047
- window.fluidCart?.open();
1048
- },
1049
- children: [/* @__PURE__ */ jsxs("div", {
1050
- className: "relative",
1051
- children: [/* @__PURE__ */ jsx(ShoppingCart, { className: "size-4" }), /* @__PURE__ */ jsx("span", {
1052
- id: "fluid-cart-count",
1053
- className: "bg-primary-foreground text-primary absolute -top-1 -right-2 flex h-3.5 w-3.5 items-center justify-center rounded-full text-[8px] font-bold",
1054
- children: initialCount
1055
- })]
1056
- }), /* @__PURE__ */ jsx("span", { children: "Cart" })]
1057
- });
1058
- }
1059
- //#endregion
1060
- //#region ../../cart/ui/src/components/shop-container.tsx
1061
- function ShopContainer({ children, className = "", cartScript, cartWidget }) {
1062
- const containerRef = useRef(null);
1063
- const [portalContainer, setPortalContainer] = useState(null);
1064
- useEffect(() => {
1065
- const currentContainer = containerRef.current;
1066
- if (!currentContainer) return;
1067
- const reactContentWrapper = document.createElement("div");
1068
- reactContentWrapper.id = "react-content-wrapper";
1069
- reactContentWrapper.style.cssText = `
1070
- position: relative;
1071
- `;
1072
- reactContentWrapper.className = "min-h-full";
1073
- currentContainer.appendChild(reactContentWrapper);
1074
- setPortalContainer(reactContentWrapper);
1075
- return () => {
1076
- if (currentContainer && reactContentWrapper) try {
1077
- currentContainer.removeChild(reactContentWrapper);
1078
- } catch (e) {
1079
- console.warn("Failed to cleanup isolated container:", e);
1080
- }
1081
- setPortalContainer(null);
1082
- };
1083
- }, []);
1084
- return /* @__PURE__ */ jsx(Fragment$1, { children: /* @__PURE__ */ jsx("div", {
1085
- ref: containerRef,
1086
- className: `isolated-shop-wrapper ${className} h-full`,
1087
- children: portalContainer && createPortal(/* @__PURE__ */ jsxs(Fragment$1, { children: [
1088
- cartScript,
1089
- cartWidget,
1090
- children
1091
- ] }), portalContainer)
1092
- }) });
1093
- }
1094
- //#endregion
1095
- //#region ../../shop/core/src/translation-adapter.ts
1096
- const shopDomain = createDomainTranslations({
1097
- fallback: {
1098
- breadcrumb: "Shop",
1099
- product_fallback_name: "Product",
1100
- search_placeholder: "Search products...",
1101
- sort_by: "Sort By",
1102
- sort_title_asc: "Title (A-Z)",
1103
- sort_title_desc: "Title (Z-A)",
1104
- sort_price_asc: "Price (Low to High)",
1105
- sort_price_desc: "Price (High to Low)",
1106
- sort_recent: "Recently Updated",
1107
- sort_oldest: "Oldest Updated",
1108
- no_products: "There are no products available at the moment.",
1109
- no_search_results: "No products match \"{{term}}\". Try a different search term.",
1110
- error_loading: "Unable to load product",
1111
- error_generic: "Something went wrong. Please try again later.",
1112
- product_not_found: "Product not found",
1113
- product_not_found_description: "The product you're looking for doesn't exist.",
1114
- product_description: "Product Description",
1115
- no_title: "No title available",
1116
- add_to_cart: "Add to Cart",
1117
- subscribe: "Subscribe",
1118
- subscribe_and_save: "Subscribe & Save {{percentage}}%",
1119
- one_time_purchase: "One-Time Purchase",
1120
- delivery_frequency: "Delivery Frequency:",
1121
- select_delivery_schedule: "Select delivery schedule",
1122
- purchase_bundle: "Purchase Bundle",
1123
- bundle_unavailable: "Bundle configuration is unavailable. Please contact support.",
1124
- product_unavailable: "This product is unavailable for purchase.",
1125
- ratings_and_reviews: "Ratings and reviews",
1126
- ratings_count: "{{count}} ratings",
1127
- select_option: "Select {{name}}"
1128
- },
1129
- loaders: {
1130
- de: () => import("./de-DbKC3CDA.mjs").then((m) => m.default),
1131
- el: () => import("./el-B0l-Q1qT.mjs").then((m) => m.default),
1132
- es: () => import("./es-CtRMRF22.mjs").then((m) => m.default),
1133
- fr: () => import("./fr-kd7QtgdA.mjs").then((m) => m.default),
1134
- he: () => import("./he-oOy2HM0e.mjs").then((m) => m.default),
1135
- hu: () => import("./hu-Dv5s1IMB.mjs").then((m) => m.default),
1136
- id: () => import("./id-C4q84iQs.mjs").then((m) => m.default),
1137
- it: () => import("./it-BbNDdOME.mjs").then((m) => m.default),
1138
- ja: () => import("./ja-CDnUJv_3.mjs").then((m) => m.default),
1139
- ko: () => import("./ko-o5PlsiO4.mjs").then((m) => m.default),
1140
- nl: () => import("./nl-Casz-6t5.mjs").then((m) => m.default),
1141
- pl: () => import("./pl-QhF51ZKE.mjs").then((m) => m.default),
1142
- pt: () => import("./pt-CRWFsKEU.mjs").then((m) => m.default),
1143
- ro: () => import("./ro-DeurRKLx.mjs").then((m) => m.default),
1144
- ru: () => import("./ru-DbmM_yGB.mjs").then((m) => m.default),
1145
- th: () => import("./th-CGTuBtiC.mjs").then((m) => m.default),
1146
- tl: () => import("./tl-DytTStSw.mjs").then((m) => m.default),
1147
- tr: () => import("./tr-D6eImzZD.mjs").then((m) => m.default),
1148
- zh_CN: () => import("./zh_CN-COIJjtl4.mjs").then((m) => m.default),
1149
- zh_TW: () => import("./zh_TW-DB4Om9FX.mjs").then((m) => m.default)
1150
- }
1151
- });
1152
- function createShopTranslationAdapter(locale, dict) {
1153
- return createStaticDictAdapter(locale, dict);
1154
- }
1155
- //#endregion
1156
- //#region src/providers/ShopTranslationBridge.tsx
1157
- function ShopTranslationBridge({ children }) {
1158
- const { locale } = useActiveLocale();
1159
- const dict = useDomainDict(shopDomain, locale);
1160
- return /* @__PURE__ */ jsx(ShopTranslationProvider, {
1161
- value: useMemo(() => createShopTranslationAdapter(locale, dict), [locale, dict]),
1162
- children
1163
- });
1164
- }
1165
- //#endregion
1166
- //#region src/screens/ShopScreen.tsx
1167
- function ShopScreen(props) {
1168
- return /* @__PURE__ */ jsx(ShopTranslationBridge, { children: /* @__PURE__ */ jsx(ShopScreenContent, { ...props }) });
1169
- }
1170
- function ShopScreenContent({ background, textColor, accentColor, padding, borderRadius, ...divProps }) {
1171
- const { config } = useFluidContext();
1172
- const { t } = useShopTranslation();
1173
- const { data: store } = useStore();
1174
- const { currentSlug, navigate } = useAppNavigation();
1175
- const countryCode = config.countryIso ?? "US";
1176
- const subdomain = store?.subdomain;
1177
- const productId = currentSlug.split("/")[1] ?? null;
1178
- useEffect(() => {
1179
- if (!countryCode) return;
1180
- const sdk = () => window.FairShareSDK;
1181
- let done = false;
1182
- let inFlight = false;
1183
- const tryUpdate = async () => {
1184
- const fairShareSdk = sdk();
1185
- if (done || inFlight || !fairShareSdk) return;
1186
- inFlight = true;
1187
- try {
1188
- await fairShareSdk.updateLocaleSettings({ country: countryCode });
1189
- done = true;
1190
- clearInterval(id);
1191
- } catch {} finally {
1192
- inFlight = false;
1193
- }
1194
- };
1195
- let attempts = 0;
1196
- const id = setInterval(() => {
1197
- if (attempts >= 50) {
1198
- console.warn("[FairShare] updateLocaleSettings: gave up after 50 attempts — session never became ready", { country: countryCode });
1199
- clearInterval(id);
1200
- return;
1201
- }
1202
- attempts++;
1203
- tryUpdate();
1204
- }, 100);
1205
- return () => {
1206
- done = true;
1207
- clearInterval(id);
1208
- };
1209
- }, [countryCode]);
1210
- return /* @__PURE__ */ jsxs(Fragment$1, { children: [
1211
- !productId && /* @__PURE__ */ jsx(ScreenHeaderBreadcrumbs, { children: /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsx(BreadcrumbList, {
1212
- className: "text-lg",
1213
- children: /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, {
1214
- className: "font-semibold",
1215
- children: t("breadcrumb")
1216
- }) })
1217
- }) }) }),
1218
- /* @__PURE__ */ jsx(ScreenHeaderActions, { children: /* @__PURE__ */ jsx("div", {
1219
- className: "flex items-center gap-4",
1220
- children: /* @__PURE__ */ jsx(CartButton, {})
1221
- }) }),
1222
- /* @__PURE__ */ jsx("div", {
1223
- ...divProps,
1224
- className: divProps.className ?? "",
1225
- children: /* @__PURE__ */ jsx(ShopContainer, {
1226
- cartScript: subdomain ? /* @__PURE__ */ jsx(CartScript, {
1227
- subdomain,
1228
- bffMode: true,
1229
- scriptSrc: import.meta.env.DEV ? String(import.meta.env.VITE_FAIRSHARE_SDK_URL || "http://localhost:4444/index.js") : void 0,
1230
- apiBaseUrl: import.meta.env.DEV ? String(import.meta.env.VITE_FAIRSHARE_API_BASE_URL || "http://api.fluid.localhost:3000") : void 0,
1231
- debug: import.meta.env.DEV
1232
- }) : null,
1233
- cartWidget: /* @__PURE__ */ jsx(CartWidget, {}),
1234
- children: /* @__PURE__ */ jsxs(PortalProductsApiProvider, { children: [productId && /* @__PURE__ */ jsx(ProductBreadcrumb, { productId }), /* @__PURE__ */ jsx(ShopApp, {
1235
- companyLogoUrl: store?.logo_url ?? void 0,
1236
- productId,
1237
- onSelectProduct: (id) => navigate(`shop/${id}`),
1238
- onBack: () => navigate("shop")
1239
- })] })
1240
- })
1241
- })
1242
- ] });
1243
- }
1244
- const shopScreenPropertySchema = {
1245
- widgetType: "ShopScreen",
1246
- displayName: "Shop Screen",
1247
- tabsConfig: [{
1248
- id: "styling",
1249
- label: "Styling"
1250
- }],
1251
- fields: []
1252
- };
1253
- /**
1254
- * Renders inside PortalProductsCoreProvider to set breadcrumbs with the
1255
- * product name: "Shop > {product name}". Overrides the parent's "Shop"
1256
- * breadcrumb once product data loads.
1257
- */
1258
- function ProductBreadcrumb({ productId }) {
1259
- const { navigate } = useAppNavigation();
1260
- const { t } = useShopTranslation();
1261
- const { product } = usePortalProductDetail({ productId });
1262
- const productName = product?.name ?? t("product_fallback_name");
1263
- return /* @__PURE__ */ jsx(ScreenHeaderBreadcrumbs, { children: /* @__PURE__ */ jsx(Breadcrumb, { children: /* @__PURE__ */ jsxs(BreadcrumbList, {
1264
- className: "text-lg",
1265
- children: [
1266
- /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbLink, {
1267
- onClick: () => navigate("shop"),
1268
- className: "cursor-pointer font-semibold",
1269
- children: t("breadcrumb")
1270
- }) }),
1271
- /* @__PURE__ */ jsx(BreadcrumbSeparator, {}),
1272
- /* @__PURE__ */ jsx(BreadcrumbItem, { children: /* @__PURE__ */ jsx(BreadcrumbPage, {
1273
- className: "font-semibold",
1274
- children: productName
1275
- }) })
1276
- ]
1277
- }) }) });
1278
- }
1279
- //#endregion
1280
- export { shopScreenPropertySchema as n, ShopScreen as t };
1281
-
1282
- //# sourceMappingURL=ShopScreen-CU0ynA2v.mjs.map