@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
@@ -0,0 +1,1282 @@
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-BMzN6pvJ.mjs").then((m) => m.default),
1131
+ el: () => import("./el-CWq1GFO2.mjs").then((m) => m.default),
1132
+ es: () => import("./es-C2zfJQck.mjs").then((m) => m.default),
1133
+ fr: () => import("./fr-jXtwm66y.mjs").then((m) => m.default),
1134
+ he: () => import("./he-z0iIyfGu.mjs").then((m) => m.default),
1135
+ hu: () => import("./hu-BLBHZrAu.mjs").then((m) => m.default),
1136
+ id: () => import("./id-DGh6JGZ5.mjs").then((m) => m.default),
1137
+ it: () => import("./it-CfLSq25e.mjs").then((m) => m.default),
1138
+ ja: () => import("./ja-kM5CUvdg.mjs").then((m) => m.default),
1139
+ ko: () => import("./ko-D2TLG_3_.mjs").then((m) => m.default),
1140
+ nl: () => import("./nl-Dww7O0AO.mjs").then((m) => m.default),
1141
+ pl: () => import("./pl-PV9rlOz1.mjs").then((m) => m.default),
1142
+ pt: () => import("./pt-BC56DXTY.mjs").then((m) => m.default),
1143
+ ro: () => import("./ro-CJJKGRs9.mjs").then((m) => m.default),
1144
+ ru: () => import("./ru-DHNcAvHk.mjs").then((m) => m.default),
1145
+ th: () => import("./th-cad5Cap4.mjs").then((m) => m.default),
1146
+ tl: () => import("./tl-B888TBzV.mjs").then((m) => m.default),
1147
+ tr: () => import("./tr-B96yy4BZ.mjs").then((m) => m.default),
1148
+ zh_CN: () => import("./zh_CN-BJnhvkc0.mjs").then((m) => m.default),
1149
+ zh_TW: () => import("./zh_TW-Bz5_kUpI.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-Bjo-5mdC.mjs.map