@fluid-app/portal-sdk 0.1.215 → 0.1.217

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 (196) hide show
  1. package/dist/{AppDownloadScreen-rZkhl4Q9.cjs → AppDownloadScreen-CBoC31wL.cjs} +2 -2
  2. package/dist/{AppDownloadScreen-rZkhl4Q9.cjs.map → AppDownloadScreen-CBoC31wL.cjs.map} +1 -1
  3. package/dist/{AppDownloadScreen-CTqsyx3n.mjs → AppDownloadScreen-CZ0EOIZ5.mjs} +2 -2
  4. package/dist/{AppDownloadScreen-CTqsyx3n.mjs.map → AppDownloadScreen-CZ0EOIZ5.mjs.map} +1 -1
  5. package/dist/{AppNavigationContext-N5oUbgNL.cjs → AppNavigationContext-CbK8uCjS.cjs} +1 -1
  6. package/dist/{AppNavigationContext-N5oUbgNL.cjs.map → AppNavigationContext-CbK8uCjS.cjs.map} +1 -1
  7. package/dist/{AppNavigationContext-BW3lSpfT.mjs → AppNavigationContext-Cq3BDKSf.mjs} +1 -1
  8. package/dist/{AppNavigationContext-BW3lSpfT.mjs.map → AppNavigationContext-Cq3BDKSf.mjs.map} +1 -1
  9. package/dist/{CardWidget-Scr2BDrZ.mjs → CardWidget-B1-STzEY.mjs} +2 -2
  10. package/dist/{CardWidget-Scr2BDrZ.mjs.map → CardWidget-B1-STzEY.mjs.map} +1 -1
  11. package/dist/{CardWidget-BAl-3dJF.cjs → CardWidget-CdrGXdUr.cjs} +2 -2
  12. package/dist/{CardWidget-BAl-3dJF.cjs.map → CardWidget-CdrGXdUr.cjs.map} +1 -1
  13. package/dist/{CardWidget-CFtUC9RB.cjs → CardWidget-Cze0MIZ4.cjs} +2 -2
  14. package/dist/{ContactsScreen-UnYKZlkb.cjs → ContactsScreen-CSY7Of6x.cjs} +6 -6
  15. package/dist/{ContactsScreen-UnYKZlkb.cjs.map → ContactsScreen-CSY7Of6x.cjs.map} +1 -1
  16. package/dist/{ContactsScreen-DscaUwNM.mjs → ContactsScreen-CbV-r1fn.mjs} +6 -6
  17. package/dist/{ContactsScreen-DscaUwNM.mjs.map → ContactsScreen-CbV-r1fn.mjs.map} +1 -1
  18. package/dist/{ContactsScreen-Cs9bKvMr.cjs → ContactsScreen-D-g7XEB-.cjs} +6 -6
  19. package/dist/{ContainerWidget-DXgM6Mxa.cjs → ContainerWidget-D89LdXUJ.cjs} +2 -2
  20. package/dist/{ContainerWidget-DXgM6Mxa.cjs.map → ContainerWidget-D89LdXUJ.cjs.map} +1 -1
  21. package/dist/{ContainerWidget-CxAu29Rz.mjs → ContainerWidget-DQwZ-weo.mjs} +2 -2
  22. package/dist/{ContainerWidget-CxAu29Rz.mjs.map → ContainerWidget-DQwZ-weo.mjs.map} +1 -1
  23. package/dist/{ContainerWidget-DV-Ng6tH.cjs → ContainerWidget-oF_cuYkn.cjs} +3 -3
  24. package/dist/{CustomersScreen-BgbvmBoF.mjs → CustomersScreen-DSNokGQu.mjs} +1 -1
  25. package/dist/{CustomersScreen-BgbvmBoF.mjs.map → CustomersScreen-DSNokGQu.mjs.map} +1 -1
  26. package/dist/{CustomersScreen-CKMopTNU.cjs → CustomersScreen-Rf5uucRx.cjs} +1 -1
  27. package/dist/{CustomersScreen-CKMopTNU.cjs.map → CustomersScreen-Rf5uucRx.cjs.map} +1 -1
  28. package/dist/EmbedWidget-BysWpVIC.cjs +684 -0
  29. package/dist/EmbedWidget-BysWpVIC.cjs.map +1 -0
  30. package/dist/EmbedWidget-tU8njf5H.mjs +654 -0
  31. package/dist/EmbedWidget-tU8njf5H.mjs.map +1 -0
  32. package/dist/{FluidProvider-_xK5H6F3.mjs → FluidProvider-02beRTpR.mjs} +27 -24
  33. package/dist/{FluidProvider-_xK5H6F3.mjs.map → FluidProvider-02beRTpR.mjs.map} +1 -1
  34. package/dist/{FluidProvider-CG8EpvkS.cjs → FluidProvider-BgFmXtHo.cjs} +27 -24
  35. package/dist/{FluidProvider-CG8EpvkS.cjs.map → FluidProvider-BgFmXtHo.cjs.map} +1 -1
  36. package/dist/{InfiniteScrollSentinel-CUU5C88p.mjs → InfiniteScrollSentinel-DCxWTHrA.mjs} +1 -1
  37. package/dist/{InfiniteScrollSentinel-CUU5C88p.mjs.map → InfiniteScrollSentinel-DCxWTHrA.mjs.map} +1 -1
  38. package/dist/{InfiniteScrollSentinel-BGXp134B.cjs → InfiniteScrollSentinel-DPyNdLiU.cjs} +1 -1
  39. package/dist/{InfiniteScrollSentinel-BGXp134B.cjs.map → InfiniteScrollSentinel-DPyNdLiU.cjs.map} +1 -1
  40. package/dist/{LayoutWidget-MTchacII.mjs → LayoutWidget-BqzP7L10.mjs} +2 -2
  41. package/dist/{LayoutWidget-MTchacII.mjs.map → LayoutWidget-BqzP7L10.mjs.map} +1 -1
  42. package/dist/{LayoutWidget-CSouwqRJ.cjs → LayoutWidget-CTxbrzsY.cjs} +2 -2
  43. package/dist/{LayoutWidget-BbABNLAR.cjs → LayoutWidget-Dh8JWX2-.cjs} +2 -2
  44. package/dist/{LayoutWidget-BbABNLAR.cjs.map → LayoutWidget-Dh8JWX2-.cjs.map} +1 -1
  45. package/dist/{MessagingScreen-p-ZeCwpa.cjs → MessagingScreen-BkLcqJbs.cjs} +5 -5
  46. package/dist/{MessagingScreen-p-ZeCwpa.cjs.map → MessagingScreen-BkLcqJbs.cjs.map} +1 -1
  47. package/dist/{MessagingScreen-C58vXVET.mjs → MessagingScreen-CJlVOY5R.mjs} +3 -3
  48. package/dist/{MessagingScreen-C58vXVET.mjs.map → MessagingScreen-CJlVOY5R.mjs.map} +1 -1
  49. package/dist/{MessagingScreen-DgmMx15d.cjs → MessagingScreen-sN7aBvGk.cjs} +17 -16
  50. package/dist/{MySiteScreen-CiQcyMSg.cjs → MySiteScreen-B0aOIzU4.cjs} +4 -4
  51. package/dist/{MySiteScreen-Cjkw8dKY.cjs → MySiteScreen-B1L8coGs.cjs} +4 -4
  52. package/dist/{MySiteScreen-Cjkw8dKY.cjs.map → MySiteScreen-B1L8coGs.cjs.map} +1 -1
  53. package/dist/{MySiteScreen-Bg0gFxf0.mjs → MySiteScreen-DUN5TTvU.mjs} +4 -4
  54. package/dist/{MySiteScreen-Bg0gFxf0.mjs.map → MySiteScreen-DUN5TTvU.mjs.map} +1 -1
  55. package/dist/OrdersScreen-BmwiVbLV.cjs +9 -0
  56. package/dist/{OrdersScreen-BklAH7FW.mjs → OrdersScreen-D-SgUl2a.mjs} +4 -4
  57. package/dist/{OrdersScreen-BklAH7FW.mjs.map → OrdersScreen-D-SgUl2a.mjs.map} +1 -1
  58. package/dist/{OrdersScreen-DPSqqmhe.cjs → OrdersScreen-Dp7SzXVv.cjs} +4 -4
  59. package/dist/{OrdersScreen-DPSqqmhe.cjs.map → OrdersScreen-Dp7SzXVv.cjs.map} +1 -1
  60. package/dist/{PortalContentApiProvider-CB32GRS5.mjs → PortalContentApiProvider-C9FeVwRb.mjs} +7 -7
  61. package/dist/{PortalContentApiProvider-CB32GRS5.mjs.map → PortalContentApiProvider-C9FeVwRb.mjs.map} +1 -1
  62. package/dist/{PortalContentApiProvider-BU3UTVjk.cjs → PortalContentApiProvider-RXBp8FNj.cjs} +8 -8
  63. package/dist/{PortalContentApiProvider-BU3UTVjk.cjs.map → PortalContentApiProvider-RXBp8FNj.cjs.map} +1 -1
  64. package/dist/{PortalProductsApiProvider-DHni3Y1V.mjs → PortalProductsApiProvider-CE71zDj9.mjs} +1 -1
  65. package/dist/{PortalProductsApiProvider-DHni3Y1V.mjs.map → PortalProductsApiProvider-CE71zDj9.mjs.map} +1 -1
  66. package/dist/{PortalProductsApiProvider-DnhHoraV.cjs → PortalProductsApiProvider-Ca1oeTtJ.cjs} +1 -1
  67. package/dist/{PortalProductsApiProvider-DnhHoraV.cjs.map → PortalProductsApiProvider-Ca1oeTtJ.cjs.map} +1 -1
  68. package/dist/{ProductsScreen-DNMT2I69.cjs → ProductsScreen-BD53vh6Y.cjs} +6 -6
  69. package/dist/{ProductsScreen-DNMT2I69.cjs.map → ProductsScreen-BD53vh6Y.cjs.map} +1 -1
  70. package/dist/{ProductsScreen-C8GO63G2.mjs → ProductsScreen-BtUZxJCt.mjs} +6 -6
  71. package/dist/{ProductsScreen-C8GO63G2.mjs.map → ProductsScreen-BtUZxJCt.mjs.map} +1 -1
  72. package/dist/ProductsScreen-DNpzJ6lh.cjs +15 -0
  73. package/dist/ProductsScreen-pkOeOW8M.mjs +13 -0
  74. package/dist/{ProfileScreen-CfCewCM7.cjs → ProfileScreen-Bgo6iTKe.cjs} +16 -15
  75. package/dist/{ProfileScreen-TLKSlv4_.mjs → ProfileScreen-CNYqUDNB.mjs} +4 -4
  76. package/dist/{ProfileScreen-TLKSlv4_.mjs.map → ProfileScreen-CNYqUDNB.mjs.map} +1 -1
  77. package/dist/{ProfileScreen-T7HQoFiw.cjs → ProfileScreen-rPqgsNCc.cjs} +4 -4
  78. package/dist/{ProfileScreen-T7HQoFiw.cjs.map → ProfileScreen-rPqgsNCc.cjs.map} +1 -1
  79. package/dist/QuickLinksWidget-BwEGtrV0.cjs +563 -0
  80. package/dist/QuickLinksWidget-BwEGtrV0.cjs.map +1 -0
  81. package/dist/QuickLinksWidget-D8RlDvkB.mjs +546 -0
  82. package/dist/QuickLinksWidget-D8RlDvkB.mjs.map +1 -0
  83. package/dist/{QuickShareWidget-CkPsax9Z.mjs → QuickShareWidget-BURtESV2.mjs} +1 -1
  84. package/dist/{QuickShareWidget-CkPsax9Z.mjs.map → QuickShareWidget-BURtESV2.mjs.map} +1 -1
  85. package/dist/{QuickShareWidget-BwOhBs6H.cjs → QuickShareWidget-D171Z9mX.cjs} +1 -1
  86. package/dist/{QuickShareWidget-BwOhBs6H.cjs.map → QuickShareWidget-D171Z9mX.cjs.map} +1 -1
  87. package/dist/{RecentActivityWidget-Bg7N2Lpp.cjs → RecentActivityWidget-BmE7_-iJ.cjs} +1 -1
  88. package/dist/{RecentActivityWidget-Bg7N2Lpp.cjs.map → RecentActivityWidget-BmE7_-iJ.cjs.map} +1 -1
  89. package/dist/{RecentActivityWidget-8LkuMmbc.mjs → RecentActivityWidget-Dy5SAx61.mjs} +1 -1
  90. package/dist/{RecentActivityWidget-8LkuMmbc.mjs.map → RecentActivityWidget-Dy5SAx61.mjs.map} +1 -1
  91. package/dist/{ScreenHeaderContext-FYyYk97y.mjs → ScreenHeaderContext-BDjNSUfr.mjs} +1 -1
  92. package/dist/{ScreenHeaderContext-FYyYk97y.mjs.map → ScreenHeaderContext-BDjNSUfr.mjs.map} +1 -1
  93. package/dist/{ScreenHeaderContext-DA8cEfP-.cjs → ScreenHeaderContext-BXgWydjB.cjs} +1 -1
  94. package/dist/{ScreenHeaderContext-DA8cEfP-.cjs.map → ScreenHeaderContext-BXgWydjB.cjs.map} +1 -1
  95. package/dist/{ScreenRenderer-Cv2rxvtF.mjs → ScreenRenderer-BqDTKZEZ.mjs} +2 -1
  96. package/dist/ScreenRenderer-BqDTKZEZ.mjs.map +1 -0
  97. package/dist/{ScreenRenderer-DfeRRgBO.cjs → ScreenRenderer-Cg85jtXq.cjs} +2 -1
  98. package/dist/ScreenRenderer-Cg85jtXq.cjs.map +1 -0
  99. package/dist/{SearchSort-CPkF1EaA.cjs → SearchSort-DHDDqero.cjs} +1 -1
  100. package/dist/{SearchSort-CPkF1EaA.cjs.map → SearchSort-DHDDqero.cjs.map} +1 -1
  101. package/dist/{SearchSort-YYd9-Hdf.mjs → SearchSort-DXBt-uj0.mjs} +1 -1
  102. package/dist/{SearchSort-YYd9-Hdf.mjs.map → SearchSort-DXBt-uj0.mjs.map} +1 -1
  103. package/dist/{SeparatorWidget-DeCY23G9.mjs → SeparatorWidget-CheNBJwz.mjs} +1 -1
  104. package/dist/{SeparatorWidget-DeCY23G9.mjs.map → SeparatorWidget-CheNBJwz.mjs.map} +1 -1
  105. package/dist/{SeparatorWidget-R9PjLUJh.cjs → SeparatorWidget-CjVHbHzQ.cjs} +1 -1
  106. package/dist/{SeparatorWidget-R9PjLUJh.cjs.map → SeparatorWidget-CjVHbHzQ.cjs.map} +1 -1
  107. package/dist/{ShareablesScreen-DRpf5u05.mjs → ShareablesScreen-CW1e9x4K.mjs} +7 -7
  108. package/dist/{ShareablesScreen-DRpf5u05.mjs.map → ShareablesScreen-CW1e9x4K.mjs.map} +1 -1
  109. package/dist/ShareablesScreen-D1J2Kljk.mjs +15 -0
  110. package/dist/{ShareablesScreen-D9Q0dQhz.cjs → ShareablesScreen-DC8xXUo4.cjs} +7 -7
  111. package/dist/{ShareablesScreen-D9Q0dQhz.cjs.map → ShareablesScreen-DC8xXUo4.cjs.map} +1 -1
  112. package/dist/ShareablesScreen-smU5pGyH.cjs +17 -0
  113. package/dist/{ShopScreen-u8i7hVdL.mjs → ShopScreen-B9lHJ8L2.mjs} +7 -7
  114. package/dist/{ShopScreen-u8i7hVdL.mjs.map → ShopScreen-B9lHJ8L2.mjs.map} +1 -1
  115. package/dist/{ShopScreen-C7aJIMGh.cjs → ShopScreen-DUHzufCU.cjs} +7 -7
  116. package/dist/{ShopScreen-C7aJIMGh.cjs.map → ShopScreen-DUHzufCU.cjs.map} +1 -1
  117. package/dist/{ShopScreen-DLcv_4Iu.cjs → ShopScreen-g6FQ4R1_.cjs} +18 -17
  118. package/dist/{SpacerWidget-CvuJeeAj.mjs → SpacerWidget-D-WjN1xb.mjs} +1 -1
  119. package/dist/{SpacerWidget-CvuJeeAj.mjs.map → SpacerWidget-D-WjN1xb.mjs.map} +1 -1
  120. package/dist/{SpacerWidget-CYHjTF38.cjs → SpacerWidget-D9lOLPr5.cjs} +1 -1
  121. package/dist/{SpacerWidget-CYHjTF38.cjs.map → SpacerWidget-D9lOLPr5.cjs.map} +1 -1
  122. package/dist/{SubscriptionsScreen-oMAid0AM.cjs → SubscriptionsScreen-8zup9pEX.cjs} +5 -5
  123. package/dist/{SubscriptionsScreen-rYK8dckl.mjs → SubscriptionsScreen-CwUdB9rW.mjs} +7 -7
  124. package/dist/{SubscriptionsScreen-rYK8dckl.mjs.map → SubscriptionsScreen-CwUdB9rW.mjs.map} +1 -1
  125. package/dist/{SubscriptionsScreen-C1GXipTn.cjs → SubscriptionsScreen-DKyatNoJ.cjs} +8 -8
  126. package/dist/{SubscriptionsScreen-C1GXipTn.cjs.map → SubscriptionsScreen-DKyatNoJ.cjs.map} +1 -1
  127. package/dist/{TableWidget-CT7Ydlw8.cjs → TableWidget-C2BG7wMg.cjs} +1 -1
  128. package/dist/{TableWidget-BAwpJ-Vb.mjs → TableWidget-CDVOq4aN.mjs} +1 -1
  129. package/dist/{TableWidget-BAwpJ-Vb.mjs.map → TableWidget-CDVOq4aN.mjs.map} +1 -1
  130. package/dist/{TableWidget-QlLGELmp.cjs → TableWidget-D5gAsgv6.cjs} +1 -1
  131. package/dist/{TableWidget-QlLGELmp.cjs.map → TableWidget-D5gAsgv6.cjs.map} +1 -1
  132. package/dist/{ToDoWidget-DT30Nnjt.mjs → ToDoWidget-BRNDE3MH.mjs} +1 -1
  133. package/dist/{ToDoWidget-DT30Nnjt.mjs.map → ToDoWidget-BRNDE3MH.mjs.map} +1 -1
  134. package/dist/{ToDoWidget-Tcy4VK1v.cjs → ToDoWidget-x86UGKLQ.cjs} +1 -1
  135. package/dist/{ToDoWidget-Tcy4VK1v.cjs.map → ToDoWidget-x86UGKLQ.cjs.map} +1 -1
  136. package/dist/{UpgradeScreen-BZ92a6w9.cjs → UpgradeScreen-BdY0rCoF.cjs} +1 -1
  137. package/dist/{UpgradeScreen-CNieK9ud.mjs → UpgradeScreen-Dau5Elx4.mjs} +1 -1
  138. package/dist/{UpgradeScreen-CNieK9ud.mjs.map → UpgradeScreen-Dau5Elx4.mjs.map} +1 -1
  139. package/dist/{UpgradeScreen-BEHFQRlO.cjs → UpgradeScreen-DrBa2uzD.cjs} +1 -1
  140. package/dist/{UpgradeScreen-BEHFQRlO.cjs.map → UpgradeScreen-DrBa2uzD.cjs.map} +1 -1
  141. package/dist/{VideoWidget-CK4I8Xmv.cjs → VideoWidget-BIokMYTX.cjs} +1 -1
  142. package/dist/{VideoWidget-CK4I8Xmv.cjs.map → VideoWidget-BIokMYTX.cjs.map} +1 -1
  143. package/dist/{VideoWidget-BE_cv0Fm.mjs → VideoWidget-BMIt-eiQ.mjs} +1 -1
  144. package/dist/{VideoWidget-BE_cv0Fm.mjs.map → VideoWidget-BMIt-eiQ.mjs.map} +1 -1
  145. package/dist/{dist-BRT-FAUb.cjs → dist-CGuUUVNt.cjs} +1 -1
  146. package/dist/{dist-BRT-FAUb.cjs.map → dist-CGuUUVNt.cjs.map} +1 -1
  147. package/dist/{dist-DBPpJ567.mjs → dist-Cis8L6HV.mjs} +2 -2
  148. package/dist/{dist-DBPpJ567.mjs.map → dist-Cis8L6HV.mjs.map} +1 -1
  149. package/dist/{dist-BETEuYfn.mjs → dist-D39Yezrv.mjs} +1 -1
  150. package/dist/{dist-BETEuYfn.mjs.map → dist-D39Yezrv.mjs.map} +1 -1
  151. package/dist/{dist-Y1iryX8H.cjs → dist-DDZMFlal.cjs} +2 -2
  152. package/dist/{dist-Y1iryX8H.cjs.map → dist-DDZMFlal.cjs.map} +1 -1
  153. package/dist/{dist-Ck1Xpuzh.cjs → dist-DWs3-WOI.cjs} +1 -1
  154. package/dist/{dist-Ck1Xpuzh.cjs.map → dist-DWs3-WOI.cjs.map} +1 -1
  155. package/dist/{es-Dr47illR.cjs → es-DHLLltoR.cjs} +1 -1
  156. package/dist/{es-Dr47illR.cjs.map → es-DHLLltoR.cjs.map} +1 -1
  157. package/dist/{format-C3sl4r8U.cjs → format-B8vxOIbt.cjs} +1 -1
  158. package/dist/{format-C3sl4r8U.cjs.map → format-B8vxOIbt.cjs.map} +1 -1
  159. package/dist/index.cjs +66 -63
  160. package/dist/index.cjs.map +1 -1
  161. package/dist/index.d.cts +141 -1
  162. package/dist/index.d.cts.map +1 -1
  163. package/dist/index.d.mts +141 -1
  164. package/dist/index.d.mts.map +1 -1
  165. package/dist/index.mjs +64 -63
  166. package/dist/index.mjs.map +1 -1
  167. package/dist/{order-status-badge-CPPesrcx.cjs → order-status-badge-CAu3UIzD.cjs} +3 -3
  168. package/dist/{order-status-badge-CPPesrcx.cjs.map → order-status-badge-CAu3UIzD.cjs.map} +1 -1
  169. package/dist/{order-status-badge-B2_tZYhG.mjs → order-status-badge-b0F_B7mu.mjs} +3 -3
  170. package/dist/{order-status-badge-B2_tZYhG.mjs.map → order-status-badge-b0F_B7mu.mjs.map} +1 -1
  171. package/dist/{sortable.esm-DFTEWOHN.mjs → sortable.esm-CJLSD-Ce.mjs} +1 -1
  172. package/dist/{sortable.esm-DFTEWOHN.mjs.map → sortable.esm-CJLSD-Ce.mjs.map} +1 -1
  173. package/dist/{use-account-8Bv6INGF.cjs → use-account-C5QI6NSe.cjs} +1 -1
  174. package/dist/{use-account-8Bv6INGF.cjs.map → use-account-C5QI6NSe.cjs.map} +1 -1
  175. package/dist/{use-account-B16Tor2Q.mjs → use-account-Cvig0exB.mjs} +1 -1
  176. package/dist/{use-account-B16Tor2Q.mjs.map → use-account-Cvig0exB.mjs.map} +1 -1
  177. package/dist/{use-mysite-portal-axe_PFzR.mjs → use-mysite-portal-BV-BP3CE.mjs} +1 -1
  178. package/dist/{use-mysite-portal-axe_PFzR.mjs.map → use-mysite-portal-BV-BP3CE.mjs.map} +1 -1
  179. package/dist/{use-mysite-portal-CJBowMpK.cjs → use-mysite-portal-DzDYRU0u.cjs} +1 -1
  180. package/dist/{use-mysite-portal-CJBowMpK.cjs.map → use-mysite-portal-DzDYRU0u.cjs.map} +1 -1
  181. package/dist/{use-store-CdYGxnIk.cjs → use-store-BLcehk1A.cjs} +1 -1
  182. package/dist/{use-store-CdYGxnIk.cjs.map → use-store-BLcehk1A.cjs.map} +1 -1
  183. package/dist/{use-store-BnHhQDYo.mjs → use-store-efmQhKpB.mjs} +1 -1
  184. package/dist/{use-store-BnHhQDYo.mjs.map → use-store-efmQhKpB.mjs.map} +1 -1
  185. package/package.json +15 -15
  186. package/dist/EmbedWidget-C3mGurOv.mjs +0 -221
  187. package/dist/EmbedWidget-C3mGurOv.mjs.map +0 -1
  188. package/dist/EmbedWidget-PIWoA9sU.cjs +0 -251
  189. package/dist/EmbedWidget-PIWoA9sU.cjs.map +0 -1
  190. package/dist/OrdersScreen-CH4wrbZJ.cjs +0 -9
  191. package/dist/ProductsScreen-A9LG5Pk7.mjs +0 -13
  192. package/dist/ProductsScreen-DFFOXSgX.cjs +0 -15
  193. package/dist/ScreenRenderer-Cv2rxvtF.mjs.map +0 -1
  194. package/dist/ScreenRenderer-DfeRRgBO.cjs.map +0 -1
  195. package/dist/ShareablesScreen-CoOLXqJ6.cjs +0 -17
  196. package/dist/ShareablesScreen-ysqC_x6z.mjs +0 -15
@@ -0,0 +1,563 @@
1
+ const require_chunk = require("./chunk-9hOWP6kD.cjs");
2
+ const require_registries = require("./registries-CpUM406S.cjs");
3
+ require("react");
4
+ let react_jsx_runtime = require("react/jsx-runtime");
5
+ let lucide_react = require("lucide-react");
6
+ //#region ../widgets/src/widgets/QuickLinksWidget.tsx
7
+ var QuickLinksWidget_exports = /* @__PURE__ */ require_chunk.__exportAll({
8
+ QuickLinksWidget: () => QuickLinksWidget,
9
+ quickLinksWidgetPropertySchema: () => quickLinksWidgetPropertySchema
10
+ });
11
+ const ICON_MAP = {
12
+ User: lucide_react.User,
13
+ Share2: lucide_react.Share2,
14
+ ShoppingBag: lucide_react.ShoppingBag,
15
+ Video: lucide_react.Video,
16
+ Mail: lucide_react.Mail,
17
+ MessageCircle: lucide_react.MessageCircle,
18
+ Globe: lucide_react.Globe,
19
+ Calendar: lucide_react.Calendar,
20
+ Bell: lucide_react.Bell,
21
+ Heart: lucide_react.Heart,
22
+ Star: lucide_react.Star,
23
+ Zap: lucide_react.Zap,
24
+ Gift: lucide_react.Gift,
25
+ Phone: lucide_react.Phone,
26
+ MapPin: lucide_react.MapPin,
27
+ Play: lucide_react.Play,
28
+ Package: lucide_react.Package,
29
+ ExternalLink: lucide_react.ExternalLink,
30
+ Bookmark: lucide_react.BookmarkIcon,
31
+ Trophy: lucide_react.Trophy,
32
+ Sparkles: lucide_react.Sparkles,
33
+ Link: lucide_react.Link
34
+ };
35
+ const ICON_OPTIONS = [
36
+ {
37
+ label: "Link (default)",
38
+ value: "Link"
39
+ },
40
+ {
41
+ label: "User / Profile",
42
+ value: "User"
43
+ },
44
+ {
45
+ label: "Share",
46
+ value: "Share2"
47
+ },
48
+ {
49
+ label: "Shopping Bag",
50
+ value: "ShoppingBag"
51
+ },
52
+ {
53
+ label: "Video",
54
+ value: "Video"
55
+ },
56
+ {
57
+ label: "Mail",
58
+ value: "Mail"
59
+ },
60
+ {
61
+ label: "Message",
62
+ value: "MessageCircle"
63
+ },
64
+ {
65
+ label: "Globe",
66
+ value: "Globe"
67
+ },
68
+ {
69
+ label: "Calendar",
70
+ value: "Calendar"
71
+ },
72
+ {
73
+ label: "Bell / Notifications",
74
+ value: "Bell"
75
+ },
76
+ {
77
+ label: "Heart",
78
+ value: "Heart"
79
+ },
80
+ {
81
+ label: "Star",
82
+ value: "Star"
83
+ },
84
+ {
85
+ label: "Zap / Lightning",
86
+ value: "Zap"
87
+ },
88
+ {
89
+ label: "Gift",
90
+ value: "Gift"
91
+ },
92
+ {
93
+ label: "Phone",
94
+ value: "Phone"
95
+ },
96
+ {
97
+ label: "Map Pin",
98
+ value: "MapPin"
99
+ },
100
+ {
101
+ label: "Play",
102
+ value: "Play"
103
+ },
104
+ {
105
+ label: "Package",
106
+ value: "Package"
107
+ },
108
+ {
109
+ label: "External Link",
110
+ value: "ExternalLink"
111
+ },
112
+ {
113
+ label: "Bookmark",
114
+ value: "Bookmark"
115
+ },
116
+ {
117
+ label: "Trophy",
118
+ value: "Trophy"
119
+ },
120
+ {
121
+ label: "Sparkles",
122
+ value: "Sparkles"
123
+ }
124
+ ];
125
+ const capitalize = (s) => s ? s.charAt(0).toUpperCase() + s.slice(1) : s;
126
+ const getIcon = (name) => {
127
+ if (!name) return lucide_react.Link;
128
+ return ICON_MAP[name] ?? ICON_MAP[capitalize(name)] ?? lucide_react.Link;
129
+ };
130
+ const isColorOption = (value) => [
131
+ "background",
132
+ "foreground",
133
+ "primary",
134
+ "secondary",
135
+ "accent",
136
+ "muted",
137
+ "destructive"
138
+ ].includes(value);
139
+ const FALLBACK_COLOR_CYCLE = [
140
+ "primary",
141
+ "accent",
142
+ "secondary",
143
+ "destructive"
144
+ ];
145
+ const parseLegacyLinks = (raw) => {
146
+ return (Array.isArray(raw) ? raw : raw.split(/\r?\n/).filter(Boolean)).map((line, index) => {
147
+ const parts = line.split("|").map((s) => s.trim());
148
+ const label = parts[0] ?? "";
149
+ if (!label) return null;
150
+ const url = parts[1] ?? "#";
151
+ const iconName = parts[2] && parts[2].length > 0 ? parts[2] : "Link";
152
+ const colorCandidate = parts[3];
153
+ const iconColor = colorCandidate && isColorOption(colorCandidate) ? colorCandidate : FALLBACK_COLOR_CYCLE[index % FALLBACK_COLOR_CYCLE.length] ?? "primary";
154
+ return {
155
+ id: `link-${index}`,
156
+ label,
157
+ url,
158
+ iconName,
159
+ iconColor
160
+ };
161
+ }).filter((x) => x !== null);
162
+ };
163
+ const MAX_LINKS = 8;
164
+ const resolveLinks = (slots, legacy) => {
165
+ return slots.map((slot, index) => {
166
+ const legacyEntry = legacy[index];
167
+ if (slot.label !== void 0 || slot.url !== void 0 || slot.icon !== void 0 || slot.color !== void 0) {
168
+ if (!(index === 0 || slot.enabled)) return null;
169
+ const label = (slot.label ?? legacyEntry?.label ?? "").trim();
170
+ if (!label) return null;
171
+ const url = slot.url && slot.url.length > 0 ? slot.url : legacyEntry?.url ?? "#";
172
+ const iconName = slot.icon && slot.icon.length > 0 ? slot.icon : legacyEntry?.iconName ?? "Link";
173
+ const iconColor = slot.color ?? legacyEntry?.iconColor ?? FALLBACK_COLOR_CYCLE[index % FALLBACK_COLOR_CYCLE.length] ?? "primary";
174
+ return {
175
+ id: `link-${index}`,
176
+ label,
177
+ url,
178
+ iconName,
179
+ iconColor
180
+ };
181
+ }
182
+ return legacyEntry ?? null;
183
+ }).filter((x) => x !== null);
184
+ };
185
+ function LinkRow({ link, textColor, borderRadius, openInNewTab, showChevron, iconRadius, layout, isLast }) {
186
+ const Icon = getIcon(link.iconName);
187
+ const wrapperBase = `group relative flex items-center gap-3 py-3 transition-all duration-200`;
188
+ const wrapperCardClasses = `rounded-${borderRadius} px-3 bg-${textColor}/5 hover:bg-${textColor}/10 hover:-translate-y-0.5`;
189
+ const wrapperListClasses = `px-0 hover:bg-${textColor}/5 rounded-md`;
190
+ const wrapperClasses = layout === "cards" ? `${wrapperBase} ${wrapperCardClasses}` : `${wrapperBase} ${wrapperListClasses}`;
191
+ const content = /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [
192
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
193
+ "aria-hidden": "true",
194
+ className: `relative flex size-10 shrink-0 items-center justify-center rounded-${iconRadius} text-${link.iconColor}-foreground`,
195
+ style: {
196
+ background: `linear-gradient(135deg, color-mix(in oklch, var(--color-${link.iconColor}) 75%, white 25%) 0%, var(--color-${link.iconColor}) 100%)`,
197
+ boxShadow: `
198
+ inset 0 1px 0 rgba(255,255,255,0.25),
199
+ inset 0 -1px 0 rgba(0,0,0,0.1),
200
+ 0 1px 2px color-mix(in oklch, var(--color-${link.iconColor}) 30%, transparent)
201
+ `
202
+ },
203
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Icon, {
204
+ className: "size-5",
205
+ strokeWidth: 2.25
206
+ })
207
+ }),
208
+ /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", {
209
+ className: `min-w-0 flex-1 truncate text-[15px] font-bold tracking-[-0.01em] text-${textColor}`,
210
+ children: link.label
211
+ }),
212
+ showChevron && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(lucide_react.ChevronRight, {
213
+ "aria-hidden": "true",
214
+ className: `size-4 shrink-0 text-${textColor}/35 transition-transform duration-200 group-hover:translate-x-0.5 group-hover:text-${textColor}/60`
215
+ })
216
+ ] });
217
+ const separator = layout === "list" && !isLast ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
218
+ "aria-hidden": "true",
219
+ className: "ml-[52px]",
220
+ style: { borderBottom: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)` }
221
+ }) : null;
222
+ const href = link.url && link.url !== "#" ? link.url : void 0;
223
+ if (href) return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("a", {
224
+ href,
225
+ target: openInNewTab ? "_blank" : void 0,
226
+ rel: openInNewTab ? "noopener noreferrer" : void 0,
227
+ className: wrapperClasses,
228
+ children: content
229
+ }), separator] });
230
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
231
+ className: wrapperClasses,
232
+ children: content
233
+ }), separator] });
234
+ }
235
+ function QuickLinksWidget({ titleEnabled = true, title = "Quick Links", titleFontSize = "md", titleColor = "foreground", link1Label, link1Url, link1Icon, link1Color, link2Enabled = true, link2Label, link2Url, link2Icon, link2Color, link3Enabled = true, link3Label, link3Url, link3Icon, link3Color, link4Enabled = true, link4Label, link4Url, link4Icon, link4Color, link5Enabled = false, link5Label, link5Url, link5Icon, link5Color, link6Enabled = false, link6Label, link6Url, link6Icon, link6Color, link7Enabled = false, link7Label, link7Url, link7Icon, link7Color, link8Enabled = false, link8Label, link8Url, link8Icon, link8Color, links, layout = "cards", iconRadius = "lg", showChevron = true, openInNewTab = false, background = {
236
+ type: "solid",
237
+ color: "background"
238
+ }, textColor = "foreground", padding = 4, borderRadius = "md", borderWidth = "none", borderColor = "muted", className, ...props }) {
239
+ const backgroundColor = background.color || "background";
240
+ const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && background.type === "image" ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
241
+ const parsed = resolveLinks([
242
+ {
243
+ enabled: true,
244
+ label: link1Label,
245
+ url: link1Url,
246
+ icon: link1Icon,
247
+ color: link1Color
248
+ },
249
+ {
250
+ enabled: link2Enabled,
251
+ label: link2Label,
252
+ url: link2Url,
253
+ icon: link2Icon,
254
+ color: link2Color
255
+ },
256
+ {
257
+ enabled: link3Enabled,
258
+ label: link3Label,
259
+ url: link3Url,
260
+ icon: link3Icon,
261
+ color: link3Color
262
+ },
263
+ {
264
+ enabled: link4Enabled,
265
+ label: link4Label,
266
+ url: link4Url,
267
+ icon: link4Icon,
268
+ color: link4Color
269
+ },
270
+ {
271
+ enabled: link5Enabled,
272
+ label: link5Label,
273
+ url: link5Url,
274
+ icon: link5Icon,
275
+ color: link5Color
276
+ },
277
+ {
278
+ enabled: link6Enabled,
279
+ label: link6Label,
280
+ url: link6Url,
281
+ icon: link6Icon,
282
+ color: link6Color
283
+ },
284
+ {
285
+ enabled: link7Enabled,
286
+ label: link7Label,
287
+ url: link7Url,
288
+ icon: link7Icon,
289
+ color: link7Color
290
+ },
291
+ {
292
+ enabled: link8Enabled,
293
+ label: link8Label,
294
+ url: link8Url,
295
+ icon: link8Icon,
296
+ color: link8Color
297
+ }
298
+ ], links ? parseLegacyLinks(links) : []);
299
+ return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
300
+ className: `@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} ${require_registries.borderWidthClasses[borderWidth]} ${borderWidth !== "none" ? require_registries.borderColorClasses[borderColor] : ""} ${className ?? ""}`,
301
+ style: { backgroundImage },
302
+ ...props,
303
+ children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
304
+ className: `p-${padding} flex flex-col gap-3`,
305
+ children: [titleEnabled && title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
306
+ className: `text-${titleFontSize} leading-tight font-bold tracking-[-0.01em] text-${titleColor}`,
307
+ children: title
308
+ }), parsed.length === 0 ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("p", {
309
+ className: `text-[13px] text-${textColor}/55`,
310
+ children: "No links configured."
311
+ }) : layout === "cards" ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
312
+ className: "flex flex-col gap-2",
313
+ children: parsed.map((link, idx) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LinkRow, {
314
+ link,
315
+ textColor,
316
+ borderRadius,
317
+ openInNewTab,
318
+ showChevron,
319
+ iconRadius,
320
+ layout: "cards",
321
+ isLast: idx === parsed.length - 1
322
+ }, link.id))
323
+ }) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
324
+ className: `flex flex-col overflow-hidden rounded-${borderRadius} bg-${textColor}/5`,
325
+ children: parsed.map((link, idx) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(LinkRow, {
326
+ link,
327
+ textColor,
328
+ borderRadius,
329
+ openInNewTab,
330
+ showChevron,
331
+ iconRadius,
332
+ layout: "list",
333
+ isLast: idx === parsed.length - 1
334
+ }, link.id))
335
+ })]
336
+ })
337
+ });
338
+ }
339
+ const SLOT_DEFAULTS = {
340
+ 1: {
341
+ label: "Profile",
342
+ icon: "User",
343
+ color: "primary"
344
+ },
345
+ 2: {
346
+ label: "Social",
347
+ icon: "Share2",
348
+ color: "accent"
349
+ },
350
+ 3: {
351
+ label: "Product Links",
352
+ icon: "ShoppingBag",
353
+ color: "secondary"
354
+ },
355
+ 4: {
356
+ label: "Video",
357
+ icon: "Video",
358
+ color: "destructive"
359
+ }
360
+ };
361
+ function buildLinkSlotFields(slot) {
362
+ const group = `Link ${slot}`;
363
+ const isFirst = slot === 1;
364
+ const defaults = SLOT_DEFAULTS[slot];
365
+ const enabledDefault = slot >= 2 && slot <= 4;
366
+ const requires = isFirst ? void 0 : `link${slot}Enabled`;
367
+ const fields = [];
368
+ if (!isFirst) fields.push({
369
+ key: `link${slot}Enabled`,
370
+ label: `Show Link ${slot}`,
371
+ type: "boolean",
372
+ description: `Display link slot ${slot}`,
373
+ defaultValue: enabledDefault,
374
+ group
375
+ });
376
+ fields.push({
377
+ key: `link${slot}Label`,
378
+ label: "Label",
379
+ type: "text",
380
+ description: "Text shown on the link",
381
+ defaultValue: defaults?.label ?? "",
382
+ group,
383
+ ...requires ? { requiresKeyToBeTrue: requires } : {}
384
+ });
385
+ fields.push({
386
+ key: `link${slot}Url`,
387
+ label: "URL",
388
+ type: "text",
389
+ description: "Where the link points (use '#' for a placeholder)",
390
+ defaultValue: "#",
391
+ group,
392
+ ...requires ? { requiresKeyToBeTrue: requires } : {}
393
+ });
394
+ fields.push({
395
+ key: `link${slot}Icon`,
396
+ label: "Icon",
397
+ type: "select",
398
+ description: "Icon displayed in the colored badge",
399
+ options: ICON_OPTIONS,
400
+ defaultValue: defaults?.icon ?? "Link",
401
+ group,
402
+ ...requires ? { requiresKeyToBeTrue: requires } : {}
403
+ });
404
+ fields.push({
405
+ key: `link${slot}Color`,
406
+ label: "Badge Color",
407
+ type: "colorSelect",
408
+ description: "Color of the icon badge",
409
+ defaultValue: defaults?.color ?? FALLBACK_COLOR_CYCLE[(slot - 1) % FALLBACK_COLOR_CYCLE.length] ?? "primary",
410
+ group,
411
+ ...requires ? { requiresKeyToBeTrue: requires } : {}
412
+ });
413
+ return fields;
414
+ }
415
+ const linkSlotFields = Array.from({ length: MAX_LINKS }, (_, i) => buildLinkSlotFields(i + 1)).flat();
416
+ const quickLinksWidgetPropertySchema = {
417
+ widgetType: "QuickLinksWidget",
418
+ displayName: "Quick Links",
419
+ fields: [
420
+ {
421
+ key: "titleEnabled",
422
+ label: "Show Title",
423
+ type: "boolean",
424
+ description: "Small heading shown above the link list",
425
+ defaultValue: true,
426
+ group: "Title"
427
+ },
428
+ {
429
+ key: "title",
430
+ label: "Title",
431
+ type: "text",
432
+ description: "Heading shown above the links",
433
+ defaultValue: "Quick Links",
434
+ group: "Title",
435
+ requiresKeyToBeTrue: "titleEnabled"
436
+ },
437
+ require_registries.getFontSizeField({
438
+ key: "titleFontSize",
439
+ label: "Title Font Size",
440
+ description: "Font size for the widget title",
441
+ defaultValue: "md",
442
+ group: "Title",
443
+ requiresKeyToBeTrue: "titleEnabled"
444
+ }),
445
+ require_registries.getColorField({
446
+ key: "titleColor",
447
+ label: "Title Color",
448
+ description: "Color for the widget title",
449
+ defaultValue: "foreground",
450
+ group: "Title",
451
+ requiresKeyToBeTrue: "titleEnabled"
452
+ }),
453
+ ...linkSlotFields,
454
+ {
455
+ key: "layout",
456
+ label: "Layout",
457
+ type: "buttonGroup",
458
+ description: "Cards: separated tiles. List: grouped rows with dividers.",
459
+ defaultValue: "cards",
460
+ options: [{
461
+ label: "Cards",
462
+ value: "cards"
463
+ }, {
464
+ label: "List",
465
+ value: "list"
466
+ }],
467
+ group: "Layout"
468
+ },
469
+ require_registries.getBorderRadiusField({
470
+ key: "iconRadius",
471
+ label: "Icon Corner Radius",
472
+ description: "Corner radius for the colored icon badge",
473
+ defaultValue: "lg",
474
+ group: "Layout"
475
+ }),
476
+ {
477
+ key: "showChevron",
478
+ label: "Show Chevron",
479
+ type: "boolean",
480
+ description: "Right-aligned chevron indicating each row is a link",
481
+ defaultValue: true,
482
+ group: "Layout"
483
+ },
484
+ {
485
+ key: "openInNewTab",
486
+ label: "Open in New Tab",
487
+ type: "boolean",
488
+ description: "Open links in a new tab instead of the same window",
489
+ defaultValue: false,
490
+ group: "Layout"
491
+ },
492
+ {
493
+ type: "background",
494
+ key: "background",
495
+ label: "Background",
496
+ description: "Background for the widget container",
497
+ defaultValue: "background",
498
+ group: "Design"
499
+ },
500
+ require_registries.getColorField({
501
+ key: "textColor",
502
+ label: "Text Color",
503
+ description: "Label + chevron color, and the base for row backgrounds (via opacity)",
504
+ defaultValue: "foreground",
505
+ group: "Design"
506
+ }),
507
+ {
508
+ key: "separator",
509
+ type: "separator",
510
+ label: "Separator",
511
+ group: "Design"
512
+ },
513
+ require_registries.getPaddingField({
514
+ key: "padding",
515
+ label: "Padding",
516
+ description: "Padding around the widget",
517
+ defaultValue: 4,
518
+ group: "Design"
519
+ }),
520
+ require_registries.getBorderRadiusField({
521
+ key: "borderRadius",
522
+ label: "Border Radius",
523
+ description: "Widget border radius (also drives row corners in cards layout)",
524
+ defaultValue: "md",
525
+ group: "Design"
526
+ }),
527
+ require_registries.getBorderWidthField({
528
+ key: "borderWidth",
529
+ label: "Border Width",
530
+ description: "Widget border width",
531
+ defaultValue: "none",
532
+ group: "Design"
533
+ }),
534
+ require_registries.getBorderColorField({
535
+ key: "borderColor",
536
+ label: "Border Color",
537
+ description: "Widget border color",
538
+ defaultValue: "muted",
539
+ group: "Design"
540
+ })
541
+ ]
542
+ };
543
+ //#endregion
544
+ Object.defineProperty(exports, "QuickLinksWidget", {
545
+ enumerable: true,
546
+ get: function() {
547
+ return QuickLinksWidget;
548
+ }
549
+ });
550
+ Object.defineProperty(exports, "QuickLinksWidget_exports", {
551
+ enumerable: true,
552
+ get: function() {
553
+ return QuickLinksWidget_exports;
554
+ }
555
+ });
556
+ Object.defineProperty(exports, "quickLinksWidgetPropertySchema", {
557
+ enumerable: true,
558
+ get: function() {
559
+ return quickLinksWidgetPropertySchema;
560
+ }
561
+ });
562
+
563
+ //# sourceMappingURL=QuickLinksWidget-BwEGtrV0.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"QuickLinksWidget-BwEGtrV0.cjs","names":["BookmarkIcon","LinkIcon","ChevronRight","borderWidthClasses","borderColorClasses","getFontSizeField","getColorField","getBorderRadiusField","getPaddingField","getBorderWidthField","getBorderColorField"],"sources":["../../widgets/src/widgets/QuickLinksWidget.tsx"],"sourcesContent":["import { type ComponentProps } from \"react\";\nimport type React from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n BorderWidthOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\nimport type {\n PropertyField,\n WidgetPropertySchema,\n} from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getBorderWidthField,\n getBorderColorField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n borderWidthClasses,\n borderColorClasses,\n} from \"../core/fields\";\nimport {\n Bell,\n BookmarkIcon,\n Calendar,\n ChevronRight,\n ExternalLink,\n Gift,\n Globe,\n Heart,\n Link as LinkIcon,\n Mail,\n MapPin,\n MessageCircle,\n Package,\n Phone,\n Play,\n Share2,\n ShoppingBag,\n Sparkles,\n Star,\n Trophy,\n User,\n Video,\n Zap,\n type LucideIcon,\n} from \"lucide-react\";\n\n// ---------- icon registry ----------\n\nconst ICON_MAP: Record<string, LucideIcon> = {\n User,\n Share2,\n ShoppingBag,\n Video,\n Mail,\n MessageCircle,\n Globe,\n Calendar,\n Bell,\n Heart,\n Star,\n Zap,\n Gift,\n Phone,\n MapPin,\n Play,\n Package,\n ExternalLink,\n Bookmark: BookmarkIcon,\n Trophy,\n Sparkles,\n Link: LinkIcon,\n};\n\nconst ICON_OPTIONS: Array<{ label: string; value: string }> = [\n { label: \"Link (default)\", value: \"Link\" },\n { label: \"User / Profile\", value: \"User\" },\n { label: \"Share\", value: \"Share2\" },\n { label: \"Shopping Bag\", value: \"ShoppingBag\" },\n { label: \"Video\", value: \"Video\" },\n { label: \"Mail\", value: \"Mail\" },\n { label: \"Message\", value: \"MessageCircle\" },\n { label: \"Globe\", value: \"Globe\" },\n { label: \"Calendar\", value: \"Calendar\" },\n { label: \"Bell / Notifications\", value: \"Bell\" },\n { label: \"Heart\", value: \"Heart\" },\n { label: \"Star\", value: \"Star\" },\n { label: \"Zap / Lightning\", value: \"Zap\" },\n { label: \"Gift\", value: \"Gift\" },\n { label: \"Phone\", value: \"Phone\" },\n { label: \"Map Pin\", value: \"MapPin\" },\n { label: \"Play\", value: \"Play\" },\n { label: \"Package\", value: \"Package\" },\n { label: \"External Link\", value: \"ExternalLink\" },\n { label: \"Bookmark\", value: \"Bookmark\" },\n { label: \"Trophy\", value: \"Trophy\" },\n { label: \"Sparkles\", value: \"Sparkles\" },\n];\n\nconst capitalize = (s: string): string =>\n s ? s.charAt(0).toUpperCase() + s.slice(1) : s;\n\nconst getIcon = (name: string | undefined): LucideIcon => {\n if (!name) return LinkIcon;\n return ICON_MAP[name] ?? ICON_MAP[capitalize(name)] ?? LinkIcon;\n};\n\n// ---------- link parsing / collection ----------\n\ntype ParsedLink = {\n id: string;\n label: string;\n url: string;\n iconName: string;\n iconColor: ColorOptions;\n};\n\nconst isColorOption = (value: string): value is ColorOptions =>\n [\n \"background\",\n \"foreground\",\n \"primary\",\n \"secondary\",\n \"accent\",\n \"muted\",\n \"destructive\",\n ].includes(value);\n\nconst FALLBACK_COLOR_CYCLE: ColorOptions[] = [\n \"primary\",\n \"accent\",\n \"secondary\",\n \"destructive\",\n];\n\n// Legacy format per line: \"Label | URL | IconName | ColorOption\"\n// Kept for backwards compatibility with existing saved configs.\nconst parseLegacyLinks = (raw: string[] | string): ParsedLink[] => {\n const lines = Array.isArray(raw) ? raw : raw.split(/\\r?\\n/).filter(Boolean);\n return lines\n .map((line, index) => {\n const parts = line.split(\"|\").map((s) => s.trim());\n const label = parts[0] ?? \"\";\n if (!label) return null;\n const url = parts[1] ?? \"#\";\n const iconName = parts[2] && parts[2].length > 0 ? parts[2] : \"Link\";\n const colorCandidate = parts[3];\n const iconColor: ColorOptions =\n colorCandidate && isColorOption(colorCandidate)\n ? colorCandidate\n : (FALLBACK_COLOR_CYCLE[index % FALLBACK_COLOR_CYCLE.length] ??\n \"primary\");\n return {\n id: `link-${index}`,\n label,\n url,\n iconName,\n iconColor,\n };\n })\n .filter((x): x is ParsedLink => x !== null);\n};\n\n// New structured format — gather links from individual link{n}* props\nconst MAX_LINKS = 8;\n\ntype SlotProps = {\n enabled: boolean;\n label: string | undefined;\n url: string | undefined;\n icon: string | undefined;\n color: ColorOptions | undefined;\n};\n\n// Per-slot merge of structured props with the legacy `links` array. A slot\n// is \"structurally configured\" when at least one of its content props\n// (label / url / icon / color) is explicitly set; in that case structured\n// props win and the slot's `enabled` flag is honored. Slots that haven't\n// been structurally touched fall back to the legacy entry at the same\n// index — so editing one slot in a legacy-format widget doesn't silently\n// drop URLs/icons/colors for the other slots.\nconst resolveLinks = (\n slots: SlotProps[],\n legacy: ParsedLink[],\n): ParsedLink[] => {\n return slots\n .map((slot, index): ParsedLink | null => {\n const legacyEntry = legacy[index];\n\n const hasStructured =\n slot.label !== undefined ||\n slot.url !== undefined ||\n slot.icon !== undefined ||\n slot.color !== undefined;\n\n if (hasStructured) {\n // Slot 1 is always enabled; slots 2+ need enabled=true.\n const isSlotActive = index === 0 || slot.enabled;\n if (!isSlotActive) return null;\n\n const label = (slot.label ?? legacyEntry?.label ?? \"\").trim();\n if (!label) return null;\n\n const url =\n slot.url && slot.url.length > 0\n ? slot.url\n : (legacyEntry?.url ?? \"#\");\n const iconName =\n slot.icon && slot.icon.length > 0\n ? slot.icon\n : (legacyEntry?.iconName ?? \"Link\");\n const iconColor: ColorOptions =\n slot.color ??\n legacyEntry?.iconColor ??\n FALLBACK_COLOR_CYCLE[index % FALLBACK_COLOR_CYCLE.length] ??\n \"primary\";\n\n return {\n id: `link-${index}`,\n label,\n url,\n iconName,\n iconColor,\n };\n }\n\n // No structured props for this slot — use the legacy entry as-is.\n // Legacy widgets predate the per-slot `enabled` toggle, so we don't\n // gate legacy entries on it (otherwise legacy slots 5+ would vanish\n // because their `linkNEnabled` defaults to `false`).\n return legacyEntry ?? null;\n })\n .filter((x): x is ParsedLink => x !== null);\n};\n\n// ---------- link row ----------\n\ntype LinkRowProps = {\n link: ParsedLink;\n textColor: ColorOptions;\n borderRadius: BorderRadiusOptions;\n openInNewTab: boolean;\n showChevron: boolean;\n iconRadius: BorderRadiusOptions;\n layout: \"cards\" | \"list\";\n isLast: boolean;\n};\n\nfunction LinkRow({\n link,\n textColor,\n borderRadius,\n openInNewTab,\n showChevron,\n iconRadius,\n layout,\n isLast,\n}: LinkRowProps) {\n const Icon = getIcon(link.iconName);\n\n const wrapperBase = `group relative flex items-center gap-3 py-3 transition-all duration-200`;\n const wrapperCardClasses = `rounded-${borderRadius} px-3 bg-${textColor}/5 hover:bg-${textColor}/10 hover:-translate-y-0.5`;\n const wrapperListClasses = `px-0 hover:bg-${textColor}/5 rounded-md`;\n\n const wrapperClasses =\n layout === \"cards\"\n ? `${wrapperBase} ${wrapperCardClasses}`\n : `${wrapperBase} ${wrapperListClasses}`;\n\n const content = (\n <>\n {/* Icon badge — colored gradient square with white icon centered */}\n <span\n aria-hidden=\"true\"\n className={`relative flex size-10 shrink-0 items-center justify-center rounded-${iconRadius} text-${link.iconColor}-foreground`}\n style={{\n background: `linear-gradient(135deg, color-mix(in oklch, var(--color-${link.iconColor}) 75%, white 25%) 0%, var(--color-${link.iconColor}) 100%)`,\n boxShadow: `\n inset 0 1px 0 rgba(255,255,255,0.25),\n inset 0 -1px 0 rgba(0,0,0,0.1),\n 0 1px 2px color-mix(in oklch, var(--color-${link.iconColor}) 30%, transparent)\n `,\n }}\n >\n <Icon className=\"size-5\" strokeWidth={2.25} />\n </span>\n\n {/* Label */}\n <span\n className={`min-w-0 flex-1 truncate text-[15px] font-bold tracking-[-0.01em] text-${textColor}`}\n >\n {link.label}\n </span>\n\n {/* Chevron */}\n {showChevron && (\n <ChevronRight\n aria-hidden=\"true\"\n className={`size-4 shrink-0 text-${textColor}/35 transition-transform duration-200 group-hover:translate-x-0.5 group-hover:text-${textColor}/60`}\n />\n )}\n </>\n );\n\n const separator =\n layout === \"list\" && !isLast ? (\n <div\n aria-hidden=\"true\"\n className=\"ml-[52px]\"\n style={{\n borderBottom: `1px solid color-mix(in oklch, var(--color-${textColor}) 8%, transparent)`,\n }}\n />\n ) : null;\n\n const href = link.url && link.url !== \"#\" ? link.url : undefined;\n\n if (href) {\n return (\n <>\n <a\n href={href}\n target={openInNewTab ? \"_blank\" : undefined}\n rel={openInNewTab ? \"noopener noreferrer\" : undefined}\n className={wrapperClasses}\n >\n {content}\n </a>\n {separator}\n </>\n );\n }\n\n return (\n <>\n <div className={wrapperClasses}>{content}</div>\n {separator}\n </>\n );\n}\n\n// ---------- widget ----------\n\ntype QuickLinksWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n title?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Links — new structured per-slot props\n link1Label?: string;\n link1Url?: string;\n link1Icon?: string;\n link1Color?: ColorOptions;\n link2Enabled?: boolean;\n link2Label?: string;\n link2Url?: string;\n link2Icon?: string;\n link2Color?: ColorOptions;\n link3Enabled?: boolean;\n link3Label?: string;\n link3Url?: string;\n link3Icon?: string;\n link3Color?: ColorOptions;\n link4Enabled?: boolean;\n link4Label?: string;\n link4Url?: string;\n link4Icon?: string;\n link4Color?: ColorOptions;\n link5Enabled?: boolean;\n link5Label?: string;\n link5Url?: string;\n link5Icon?: string;\n link5Color?: ColorOptions;\n link6Enabled?: boolean;\n link6Label?: string;\n link6Url?: string;\n link6Icon?: string;\n link6Color?: ColorOptions;\n link7Enabled?: boolean;\n link7Label?: string;\n link7Url?: string;\n link7Icon?: string;\n link7Color?: ColorOptions;\n link8Enabled?: boolean;\n link8Label?: string;\n link8Url?: string;\n link8Icon?: string;\n link8Color?: ColorOptions;\n\n // Legacy — still accepted for backwards compatibility\n links?: string[] | string;\n\n // Layout\n layout?: \"cards\" | \"list\";\n iconRadius?: BorderRadiusOptions;\n showChevron?: boolean;\n openInNewTab?: boolean;\n\n // Design\n background?: BackgroundValue;\n textColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n};\n\nexport function QuickLinksWidget({\n titleEnabled = true,\n title = \"Quick Links\",\n titleFontSize = \"md\",\n titleColor = \"foreground\",\n\n link1Label,\n link1Url,\n link1Icon,\n link1Color,\n link2Enabled = true,\n link2Label,\n link2Url,\n link2Icon,\n link2Color,\n link3Enabled = true,\n link3Label,\n link3Url,\n link3Icon,\n link3Color,\n link4Enabled = true,\n link4Label,\n link4Url,\n link4Icon,\n link4Color,\n link5Enabled = false,\n link5Label,\n link5Url,\n link5Icon,\n link5Color,\n link6Enabled = false,\n link6Label,\n link6Url,\n link6Icon,\n link6Color,\n link7Enabled = false,\n link7Label,\n link7Url,\n link7Icon,\n link7Color,\n link8Enabled = false,\n link8Label,\n link8Url,\n link8Icon,\n link8Color,\n\n links,\n\n layout = \"cards\",\n iconRadius = \"lg\",\n showChevron = true,\n openInNewTab = false,\n\n background = { type: \"solid\", color: \"background\" },\n textColor = \"foreground\",\n padding = 4,\n borderRadius = \"md\",\n borderWidth = \"none\",\n borderColor = \"muted\",\n\n className,\n ...props\n}: QuickLinksWidgetProps): React.JSX.Element {\n const backgroundColor = background.color || \"background\";\n const backgroundImage =\n (background.resource?.image_url || background.resource?.imageUrl) &&\n background.type === \"image\"\n ? `url(${background.resource.image_url || background.resource.imageUrl})`\n : \"none\";\n\n // Pass props through verbatim — schema `defaultValue`s pre-populate the\n // builder, so the component shouldn't second-guess with hardcoded\n // fallbacks (which would mask a user's explicit blank label).\n const slots: SlotProps[] = [\n {\n enabled: true,\n label: link1Label,\n url: link1Url,\n icon: link1Icon,\n color: link1Color,\n },\n {\n enabled: link2Enabled,\n label: link2Label,\n url: link2Url,\n icon: link2Icon,\n color: link2Color,\n },\n {\n enabled: link3Enabled,\n label: link3Label,\n url: link3Url,\n icon: link3Icon,\n color: link3Color,\n },\n {\n enabled: link4Enabled,\n label: link4Label,\n url: link4Url,\n icon: link4Icon,\n color: link4Color,\n },\n {\n enabled: link5Enabled,\n label: link5Label,\n url: link5Url,\n icon: link5Icon,\n color: link5Color,\n },\n {\n enabled: link6Enabled,\n label: link6Label,\n url: link6Url,\n icon: link6Icon,\n color: link6Color,\n },\n {\n enabled: link7Enabled,\n label: link7Label,\n url: link7Url,\n icon: link7Icon,\n color: link7Color,\n },\n {\n enabled: link8Enabled,\n label: link8Label,\n url: link8Url,\n icon: link8Icon,\n color: link8Color,\n },\n ];\n\n const legacyLinks: ParsedLink[] = links ? parseLegacyLinks(links) : [];\n const parsed: ParsedLink[] = resolveLinks(slots, legacyLinks);\n\n return (\n <div\n className={`@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"} ${className ?? \"\"}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className={`p-${padding} flex flex-col gap-3`}>\n {titleEnabled && title && (\n <h2\n className={`text-${titleFontSize} leading-tight font-bold tracking-[-0.01em] text-${titleColor}`}\n >\n {title}\n </h2>\n )}\n\n {parsed.length === 0 ? (\n <p className={`text-[13px] text-${textColor}/55`}>\n No links configured.\n </p>\n ) : layout === \"cards\" ? (\n <div className=\"flex flex-col gap-2\">\n {parsed.map((link, idx) => (\n <LinkRow\n key={link.id}\n link={link}\n textColor={textColor}\n borderRadius={borderRadius}\n openInNewTab={openInNewTab}\n showChevron={showChevron}\n iconRadius={iconRadius}\n layout=\"cards\"\n isLast={idx === parsed.length - 1}\n />\n ))}\n </div>\n ) : (\n <div\n className={`flex flex-col overflow-hidden rounded-${borderRadius} bg-${textColor}/5`}\n >\n {parsed.map((link, idx) => (\n <LinkRow\n key={link.id}\n link={link}\n textColor={textColor}\n borderRadius={borderRadius}\n openInNewTab={openInNewTab}\n showChevron={showChevron}\n iconRadius={iconRadius}\n layout=\"list\"\n isLast={idx === parsed.length - 1}\n />\n ))}\n </div>\n )}\n </div>\n </div>\n );\n}\n\n// ---------- schema helpers ----------\n\ntype SlotDefaults = {\n label: string;\n icon: string;\n color: ColorOptions;\n};\n\nconst SLOT_DEFAULTS: Record<number, SlotDefaults | undefined> = {\n 1: { label: \"Profile\", icon: \"User\", color: \"primary\" },\n 2: { label: \"Social\", icon: \"Share2\", color: \"accent\" },\n 3: { label: \"Product Links\", icon: \"ShoppingBag\", color: \"secondary\" },\n 4: { label: \"Video\", icon: \"Video\", color: \"destructive\" },\n};\n\nfunction buildLinkSlotFields(slot: number): PropertyField[] {\n const group = `Link ${slot}`;\n const isFirst = slot === 1;\n const defaults = SLOT_DEFAULTS[slot];\n // Enable slots 2-4 by default to match the previous widget behavior.\n const enabledDefault = slot >= 2 && slot <= 4;\n const requires = isFirst ? undefined : `link${slot}Enabled`;\n\n const fields: PropertyField[] = [];\n\n if (!isFirst) {\n fields.push({\n key: `link${slot}Enabled`,\n label: `Show Link ${slot}`,\n type: \"boolean\",\n description: `Display link slot ${slot}`,\n defaultValue: enabledDefault,\n group,\n });\n }\n\n fields.push({\n key: `link${slot}Label`,\n label: \"Label\",\n type: \"text\",\n description: \"Text shown on the link\",\n defaultValue: defaults?.label ?? \"\",\n group,\n ...(requires ? { requiresKeyToBeTrue: requires } : {}),\n });\n\n fields.push({\n key: `link${slot}Url`,\n label: \"URL\",\n type: \"text\",\n description: \"Where the link points (use '#' for a placeholder)\",\n defaultValue: \"#\",\n group,\n ...(requires ? { requiresKeyToBeTrue: requires } : {}),\n });\n\n fields.push({\n key: `link${slot}Icon`,\n label: \"Icon\",\n type: \"select\",\n description: \"Icon displayed in the colored badge\",\n options: ICON_OPTIONS,\n defaultValue: defaults?.icon ?? \"Link\",\n group,\n ...(requires ? { requiresKeyToBeTrue: requires } : {}),\n });\n\n fields.push({\n key: `link${slot}Color`,\n label: \"Badge Color\",\n type: \"colorSelect\",\n description: \"Color of the icon badge\",\n defaultValue:\n defaults?.color ??\n FALLBACK_COLOR_CYCLE[(slot - 1) % FALLBACK_COLOR_CYCLE.length] ??\n \"primary\",\n group,\n ...(requires ? { requiresKeyToBeTrue: requires } : {}),\n });\n\n return fields;\n}\n\nconst linkSlotFields: PropertyField[] = Array.from(\n { length: MAX_LINKS },\n (_, i) => buildLinkSlotFields(i + 1),\n).flat();\n\n// ---------- schema ----------\n\nexport const quickLinksWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"QuickLinksWidget\",\n displayName: \"Quick Links\",\n fields: [\n // Title group\n {\n key: \"titleEnabled\",\n label: \"Show Title\",\n type: \"boolean\",\n description: \"Small heading shown above the link list\",\n defaultValue: true,\n group: \"Title\",\n },\n {\n key: \"title\",\n label: \"Title\",\n type: \"text\",\n description: \"Heading shown above the links\",\n defaultValue: \"Quick Links\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n key: \"titleFontSize\",\n label: \"Title Font Size\",\n description: \"Font size for the widget title\",\n defaultValue: \"md\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the widget title\",\n defaultValue: \"foreground\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Links — 8 structured slots\n ...linkSlotFields,\n\n // Layout group\n {\n key: \"layout\",\n label: \"Layout\",\n type: \"buttonGroup\",\n description: \"Cards: separated tiles. List: grouped rows with dividers.\",\n defaultValue: \"cards\",\n options: [\n { label: \"Cards\", value: \"cards\" },\n { label: \"List\", value: \"list\" },\n ],\n group: \"Layout\",\n },\n getBorderRadiusField({\n key: \"iconRadius\",\n label: \"Icon Corner Radius\",\n description: \"Corner radius for the colored icon badge\",\n defaultValue: \"lg\",\n group: \"Layout\",\n }),\n {\n key: \"showChevron\",\n label: \"Show Chevron\",\n type: \"boolean\",\n description: \"Right-aligned chevron indicating each row is a link\",\n defaultValue: true,\n group: \"Layout\",\n },\n {\n key: \"openInNewTab\",\n label: \"Open in New Tab\",\n type: \"boolean\",\n description: \"Open links in a new tab instead of the same window\",\n defaultValue: false,\n group: \"Layout\",\n },\n\n // Design group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the widget container\",\n defaultValue: \"background\",\n group: \"Design\",\n },\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description:\n \"Label + chevron color, and the base for row backgrounds (via opacity)\",\n defaultValue: \"foreground\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the widget\",\n defaultValue: 4,\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description:\n \"Widget border radius (also drives row corners in cards layout)\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Widget border width\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Widget border color\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n ],\n} as const satisfies WidgetPropertySchema;\n"],"mappings":"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BAAA,GAAA,kBAAA,MAAA,kBAAA,UAAA,EAAA,UAAA,CACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,WAAW;YAAiB;EAAc,CAAA,EAC9C,UACA,EAAA,CAAA;;AAwEP,SAAgB,iBAAiB,EAC/B,eAAe,MACf,QAAQ,eACR,gBAAgB,MAChB,aAAa,cAEb,YACA,UACA,WACA,YACA,eAAe,MACf,YACA,UACA,WACA,YACA,eAAe,MACf,YACA,UACA,WACA,YACA,eAAe,MACf,YACA,UACA,WACA,YACA,eAAe,OACf,YACA,UACA,WACA,YACA,eAAe,OACf,YACA,UACA,WACA,YACA,eAAe,OACf,YACA,UACA,WACA,YACA,eAAe,OACf,YACA,UACA,WACA,YAEA,OAEA,SAAS,SACT,aAAa,MACb,cAAc,MACd,eAAe,OAEf,aAAa;CAAE,MAAM;CAAS,OAAO;CAAc,EACnD,YAAY,cACZ,UAAU,GACV,eAAe,MACf,cAAc,QACd,cAAc,SAEd,WACA,GAAG,SACwC;CAC3C,MAAM,kBAAkB,WAAW,SAAS;CAC5C,MAAM,mBACH,WAAW,UAAU,aAAa,WAAW,UAAU,aACxD,WAAW,SAAS,UAChB,OAAO,WAAW,SAAS,aAAa,WAAW,SAAS,SAAS,KACrE;CAiEN,MAAM,SAAuB,aA5DF;EACzB;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;GACR;EACD;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;GACR;EACD;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;GACR;EACD;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;GACR;EACD;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;GACR;EACD;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;GACR;EACD;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;GACR;EACD;GACE,SAAS;GACT,OAAO;GACP,KAAK;GACL,MAAM;GACN,OAAO;G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"}