@fluid-app/portal-sdk 0.1.45 → 0.1.46

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 (239) hide show
  1. package/dist/{AlertWidget-CRYuxgyZ.cjs → AlertWidget-CSYWU2c3.cjs} +2 -2
  2. package/dist/{AlertWidget-CRYuxgyZ.cjs.map → AlertWidget-CSYWU2c3.cjs.map} +1 -1
  3. package/dist/{AlertWidget-DnygF0ze.mjs → AlertWidget-DTrMt8y7.mjs} +2 -2
  4. package/dist/{AlertWidget-DnygF0ze.mjs.map → AlertWidget-DTrMt8y7.mjs.map} +1 -1
  5. package/dist/{BulletListWidget-DfXMbboF.cjs → BulletListWidget-BUMq15V1.cjs} +18 -4
  6. package/dist/BulletListWidget-BUMq15V1.cjs.map +1 -0
  7. package/dist/{BulletListWidget-bvVUvGOQ.mjs → BulletListWidget-riFNn47D.mjs} +19 -5
  8. package/dist/BulletListWidget-riFNn47D.mjs.map +1 -0
  9. package/dist/{CalendarWidget-YybCIktI.mjs → CalendarWidget-B9I__jsL.mjs} +20 -4
  10. package/dist/CalendarWidget-B9I__jsL.mjs.map +1 -0
  11. package/dist/{CalendarWidget-BAHiko62.cjs → CalendarWidget-DLkcnQVx.cjs} +19 -3
  12. package/dist/CalendarWidget-DLkcnQVx.cjs.map +1 -0
  13. package/dist/{CardWidget-h-FAxb1X.cjs → CardWidget-B4cJHq6g.cjs} +18 -10
  14. package/dist/CardWidget-B4cJHq6g.cjs.map +1 -0
  15. package/dist/{CardWidget-DBv4M9Wx.cjs → CardWidget-BtX2jjQR.cjs} +1 -1
  16. package/dist/{CardWidget-BOk-hod0.mjs → CardWidget-CzRI-odk.mjs} +19 -11
  17. package/dist/CardWidget-CzRI-odk.mjs.map +1 -0
  18. package/dist/{CarouselWidget-tT7qklhM.cjs → CarouselWidget-BcnZwnIh.cjs} +1 -1
  19. package/dist/{CarouselWidget-D-hBiS_H.cjs → CarouselWidget-Bx5jrthO.cjs} +19 -3
  20. package/dist/CarouselWidget-Bx5jrthO.cjs.map +1 -0
  21. package/dist/{CarouselWidget-Cqk2VJzH.mjs → CarouselWidget-C04z7JxO.mjs} +20 -4
  22. package/dist/CarouselWidget-C04z7JxO.mjs.map +1 -0
  23. package/dist/{CatchUpWidget-Bq5Z7dnd.cjs → CatchUpWidget-CFL4REYX.cjs} +19 -3
  24. package/dist/CatchUpWidget-CFL4REYX.cjs.map +1 -0
  25. package/dist/{CatchUpWidget-ZsrbwaTu.mjs → CatchUpWidget-Cb0B0G90.mjs} +20 -4
  26. package/dist/CatchUpWidget-Cb0B0G90.mjs.map +1 -0
  27. package/dist/{ChartWidget-B6_n_Jp8.cjs → ChartWidget-DWWeWN0Q.cjs} +19 -3
  28. package/dist/ChartWidget-DWWeWN0Q.cjs.map +1 -0
  29. package/dist/{ChartWidget-CU3_7LIS.mjs → ChartWidget-WaLM-zc-.mjs} +20 -4
  30. package/dist/ChartWidget-WaLM-zc-.mjs.map +1 -0
  31. package/dist/{ChartWidget-DVZSBgqe.cjs → ChartWidget-_jzD434L.cjs} +1 -1
  32. package/dist/ContactsScreen-B4FZ0Qeu.mjs +37 -0
  33. package/dist/{ContactsScreen-CTCJYpHu.cjs → ContactsScreen-C0I1_D_a.cjs} +2 -2
  34. package/dist/{ContactsScreen-CTCJYpHu.cjs.map → ContactsScreen-C0I1_D_a.cjs.map} +1 -1
  35. package/dist/{ContactsScreen-CoXP9Lt3.mjs → ContactsScreen-CoFB7EM3.mjs} +2 -2
  36. package/dist/{ContactsScreen-CoXP9Lt3.mjs.map → ContactsScreen-CoFB7EM3.mjs.map} +1 -1
  37. package/dist/ContactsScreen-DO7EwobV.cjs +39 -0
  38. package/dist/{ContainerWidget-CCqS2O6i.cjs → ContainerWidget-BFdpfJP9.cjs} +2 -2
  39. package/dist/{ContainerWidget-N8zf088I.cjs → ContainerWidget-DZXzmDZl.cjs} +2 -2
  40. package/dist/{ContainerWidget-N8zf088I.cjs.map → ContainerWidget-DZXzmDZl.cjs.map} +1 -1
  41. package/dist/{ContainerWidget-CFvliHMt.mjs → ContainerWidget-PNfcrIfV.mjs} +3 -3
  42. package/dist/{ContainerWidget-CFvliHMt.mjs.map → ContainerWidget-PNfcrIfV.mjs.map} +1 -1
  43. package/dist/{EmbedWidget-CRCZwIZl.mjs → EmbedWidget-BgDpu44-.mjs} +18 -3
  44. package/dist/EmbedWidget-BgDpu44-.mjs.map +1 -0
  45. package/dist/{EmbedWidget-DQB5SADr.cjs → EmbedWidget-D6eRvOud.cjs} +17 -3
  46. package/dist/EmbedWidget-D6eRvOud.cjs.map +1 -0
  47. package/dist/{FluidProvider-CRceQXyP.cjs → FluidProvider-DzrMOFXn.cjs} +43 -43
  48. package/dist/{FluidProvider-CRceQXyP.cjs.map → FluidProvider-DzrMOFXn.cjs.map} +1 -1
  49. package/dist/{FluidProvider-wbFFOVLt.mjs → FluidProvider-iYl6DSax.mjs} +45 -45
  50. package/dist/{FluidProvider-wbFFOVLt.mjs.map → FluidProvider-iYl6DSax.mjs.map} +1 -1
  51. package/dist/{ImageWidget-m5oDe9uw.mjs → ImageWidget-CvRlDtEa.mjs} +18 -3
  52. package/dist/ImageWidget-CvRlDtEa.mjs.map +1 -0
  53. package/dist/{ImageWidget-2ZYY9Ea9.cjs → ImageWidget-DwM4H6SC.cjs} +17 -3
  54. package/dist/ImageWidget-DwM4H6SC.cjs.map +1 -0
  55. package/dist/{LayoutWidget-Cfyr6h-3.cjs → LayoutWidget-CJ_OSMpt.cjs} +1 -1
  56. package/dist/{LayoutWidget-SPn4xt-J.cjs → LayoutWidget-CsdItxHF.cjs} +17 -3
  57. package/dist/LayoutWidget-CsdItxHF.cjs.map +1 -0
  58. package/dist/{LayoutWidget-B23HX9yD.mjs → LayoutWidget-pS3AMhD7.mjs} +18 -4
  59. package/dist/LayoutWidget-pS3AMhD7.mjs.map +1 -0
  60. package/dist/{LinkWidget-BFBAfz2T.cjs → LinkWidget-CJKveS10.cjs} +18 -4
  61. package/dist/LinkWidget-CJKveS10.cjs.map +1 -0
  62. package/dist/{LinkWidget-DVjXtQgl.cjs → LinkWidget-DFApxWIK.cjs} +1 -1
  63. package/dist/{LinkWidget-DImz_Kgl.mjs → LinkWidget-NR2OqU4Y.mjs} +19 -5
  64. package/dist/LinkWidget-NR2OqU4Y.mjs.map +1 -0
  65. package/dist/{ListWidget-B5PMqdCy.cjs → ListWidget-CulUMQ0M.cjs} +1 -1
  66. package/dist/{ListWidget-4nc_OvSx.cjs → ListWidget-D8yMrpa5.cjs} +19 -3
  67. package/dist/ListWidget-D8yMrpa5.cjs.map +1 -0
  68. package/dist/{ListWidget-BiCdEqrT.mjs → ListWidget-Dl2vSYmI.mjs} +20 -4
  69. package/dist/ListWidget-Dl2vSYmI.mjs.map +1 -0
  70. package/dist/{MessagingScreen-DXLiIKMX.cjs → MessagingScreen-CUBOR0qo.cjs} +3 -3
  71. package/dist/{MessagingScreen-DXLiIKMX.cjs.map → MessagingScreen-CUBOR0qo.cjs.map} +1 -1
  72. package/dist/MessagingScreen-CfbkE7H-.cjs +38 -0
  73. package/dist/{MessagingScreen-BNw31J4s.mjs → MessagingScreen-DgvqyD7k.mjs} +3 -3
  74. package/dist/{MessagingScreen-BNw31J4s.mjs.map → MessagingScreen-DgvqyD7k.mjs.map} +1 -1
  75. package/dist/MessagingScreen-kP-1EJZ5.mjs +36 -0
  76. package/dist/{MySiteScreen-CCjZRdTu.mjs → MySiteScreen-CvyqpzJd.mjs} +2 -2
  77. package/dist/{MySiteScreen-CCjZRdTu.mjs.map → MySiteScreen-CvyqpzJd.mjs.map} +1 -1
  78. package/dist/MySiteScreen-DUMMPU6X.mjs +35 -0
  79. package/dist/{MySiteScreen-DA9vTjW8.cjs → MySiteScreen-NJSRcmI-.cjs} +2 -2
  80. package/dist/{MySiteScreen-DA9vTjW8.cjs.map → MySiteScreen-NJSRcmI-.cjs.map} +1 -1
  81. package/dist/MySiteScreen-jE2m5qP6.cjs +37 -0
  82. package/dist/{MySiteWidget-Cw7623aF.mjs → MySiteWidget-CD1fK3lT.mjs} +20 -4
  83. package/dist/MySiteWidget-CD1fK3lT.mjs.map +1 -0
  84. package/dist/{MySiteWidget-bKaJ4r_k.cjs → MySiteWidget-DeAwyK5y.cjs} +19 -3
  85. package/dist/MySiteWidget-DeAwyK5y.cjs.map +1 -0
  86. package/dist/{NestedWidget-DRhUGS_-.cjs → NestedWidget-C-ZEUe-s.cjs} +1 -1
  87. package/dist/{NestedWidget-Bxf8MJuj.cjs → NestedWidget-CZuN2QY2.cjs} +19 -3
  88. package/dist/NestedWidget-CZuN2QY2.cjs.map +1 -0
  89. package/dist/{NestedWidget-DDAcIeej.mjs → NestedWidget-DjZumiak.mjs} +20 -4
  90. package/dist/NestedWidget-DjZumiak.mjs.map +1 -0
  91. package/dist/{OrdersScreen-CO3-vKPa.mjs → OrdersScreen-B2ErpU4b.mjs} +3 -3
  92. package/dist/{OrdersScreen-CO3-vKPa.mjs.map → OrdersScreen-B2ErpU4b.mjs.map} +1 -1
  93. package/dist/OrdersScreen-BTJAhLgs.mjs +35 -0
  94. package/dist/OrdersScreen-CE0GMwfC.cjs +37 -0
  95. package/dist/{OrdersScreen-q1QeUeHP.cjs → OrdersScreen-DvqljQVk.cjs} +3 -3
  96. package/dist/{OrdersScreen-q1QeUeHP.cjs.map → OrdersScreen-DvqljQVk.cjs.map} +1 -1
  97. package/dist/ProductsScreen-Bb5icf74.mjs +39 -0
  98. package/dist/{ProductsScreen-Btv24fan.mjs → ProductsScreen-CBVy5Zyi.mjs} +4 -4
  99. package/dist/{ProductsScreen-Btv24fan.mjs.map → ProductsScreen-CBVy5Zyi.mjs.map} +1 -1
  100. package/dist/{ProductsScreen-whYhtGj4.cjs → ProductsScreen-DdX6HMHt.cjs} +4 -4
  101. package/dist/{ProductsScreen-whYhtGj4.cjs.map → ProductsScreen-DdX6HMHt.cjs.map} +1 -1
  102. package/dist/ProductsScreen-HIV2lQ9Z.cjs +41 -0
  103. package/dist/ProfileScreen-BpJ41w20.mjs +34 -0
  104. package/dist/ProfileScreen-DAFrOHW1.cjs +36 -0
  105. package/dist/{ProfileScreen-DrmMx9us.cjs → ProfileScreen-LmGvJwTb.cjs} +3 -3
  106. package/dist/{ProfileScreen-DrmMx9us.cjs.map → ProfileScreen-LmGvJwTb.cjs.map} +1 -1
  107. package/dist/{ProfileScreen-Dsrj30ts.mjs → ProfileScreen-r8ceJSGs.mjs} +3 -3
  108. package/dist/{ProfileScreen-Dsrj30ts.mjs.map → ProfileScreen-r8ceJSGs.mjs.map} +1 -1
  109. package/dist/{QuickShareWidget-DJSBoNdI.cjs → QuickShareWidget-CIfXUWCx.cjs} +19 -3
  110. package/dist/QuickShareWidget-CIfXUWCx.cjs.map +1 -0
  111. package/dist/{QuickShareWidget-DzvaOfZL.mjs → QuickShareWidget-CvdvBmEn.mjs} +20 -4
  112. package/dist/QuickShareWidget-CvdvBmEn.mjs.map +1 -0
  113. package/dist/{RecentActivityWidget-DxCHufm5.cjs → RecentActivityWidget-kRfjO1IV.cjs} +19 -3
  114. package/dist/RecentActivityWidget-kRfjO1IV.cjs.map +1 -0
  115. package/dist/{RecentActivityWidget-Dw6yeZKX.mjs → RecentActivityWidget-uegOsG5c.mjs} +20 -4
  116. package/dist/RecentActivityWidget-uegOsG5c.mjs.map +1 -0
  117. package/dist/{SeparatorWidget-DQEGdSLZ.mjs → SeparatorWidget-CkFIxxkI.mjs} +2 -2
  118. package/dist/{SeparatorWidget-DQEGdSLZ.mjs.map → SeparatorWidget-CkFIxxkI.mjs.map} +1 -1
  119. package/dist/{ShareablesScreen-DX_Drc1P.mjs → ShareablesScreen-0JcyLc7i.mjs} +4 -4
  120. package/dist/{ShareablesScreen-DX_Drc1P.mjs.map → ShareablesScreen-0JcyLc7i.mjs.map} +1 -1
  121. package/dist/ShareablesScreen-CBw3gH0u.cjs +41 -0
  122. package/dist/{ShareablesScreen-CLjjDaWJ.cjs → ShareablesScreen-Dfa0LM6R.cjs} +4 -4
  123. package/dist/{ShareablesScreen-CLjjDaWJ.cjs.map → ShareablesScreen-Dfa0LM6R.cjs.map} +1 -1
  124. package/dist/ShareablesScreen-Riod6fjb.mjs +39 -0
  125. package/dist/{ShopScreen-DxU3HMSU.cjs → ShopScreen-C73ARj6e.cjs} +4 -4
  126. package/dist/{ShopScreen-DxU3HMSU.cjs.map → ShopScreen-C73ARj6e.cjs.map} +1 -1
  127. package/dist/ShopScreen-CET9016G.cjs +36 -0
  128. package/dist/{ShopScreen-DH3E7AIz.mjs → ShopScreen-DMDSD4gF.mjs} +4 -4
  129. package/dist/{ShopScreen-DH3E7AIz.mjs.map → ShopScreen-DMDSD4gF.mjs.map} +1 -1
  130. package/dist/ShopScreen-Ddrw43gs.mjs +34 -0
  131. package/dist/{SubscriptionsScreen-JVUC37A9.mjs → SubscriptionsScreen-BLrScFQV.mjs} +3 -3
  132. package/dist/{SubscriptionsScreen-JVUC37A9.mjs.map → SubscriptionsScreen-BLrScFQV.mjs.map} +1 -1
  133. package/dist/SubscriptionsScreen-BMjdIyWT.mjs +35 -0
  134. package/dist/SubscriptionsScreen-CPXCoeeu.cjs +37 -0
  135. package/dist/{SubscriptionsScreen-Bi8ecPZG.cjs → SubscriptionsScreen-CpvMZaU0.cjs} +3 -3
  136. package/dist/{SubscriptionsScreen-Bi8ecPZG.cjs.map → SubscriptionsScreen-CpvMZaU0.cjs.map} +1 -1
  137. package/dist/{TableWidget-D2QlWEXk.cjs → TableWidget-DFWfQIWv.cjs} +19 -3
  138. package/dist/TableWidget-DFWfQIWv.cjs.map +1 -0
  139. package/dist/{TableWidget-C_3ocWPY.cjs → TableWidget-WB7hx4Hb.cjs} +1 -1
  140. package/dist/{TableWidget-kq_rQCoV.mjs → TableWidget-aZUcob2U.mjs} +20 -4
  141. package/dist/TableWidget-aZUcob2U.mjs.map +1 -0
  142. package/dist/{TextWidget-Cmu4a9QG.mjs → TextWidget-D6qCnspg.mjs} +21 -5
  143. package/dist/TextWidget-D6qCnspg.mjs.map +1 -0
  144. package/dist/{TextWidget-Bd8V3uOT.cjs → TextWidget-XBeVX2oM.cjs} +20 -4
  145. package/dist/TextWidget-XBeVX2oM.cjs.map +1 -0
  146. package/dist/{ToDoWidget-BTq8QL4U.cjs → ToDoWidget-GmeRwP_0.cjs} +19 -3
  147. package/dist/ToDoWidget-GmeRwP_0.cjs.map +1 -0
  148. package/dist/{ToDoWidget-CKC5BocI.mjs → ToDoWidget-iiVItJrO.mjs} +20 -4
  149. package/dist/ToDoWidget-iiVItJrO.mjs.map +1 -0
  150. package/dist/{VideoWidget-R5xG2Dt6.mjs → VideoWidget-BAxtPtq5.mjs} +20 -4
  151. package/dist/VideoWidget-BAxtPtq5.mjs.map +1 -0
  152. package/dist/{VideoWidget-BK6_XvD0.cjs → VideoWidget-CN8nMeGP.cjs} +19 -3
  153. package/dist/VideoWidget-CN8nMeGP.cjs.map +1 -0
  154. package/dist/fields-CjDogNNF.mjs +2 -0
  155. package/dist/index.cjs +53 -53
  156. package/dist/index.d.cts +77 -1
  157. package/dist/index.d.cts.map +1 -1
  158. package/dist/index.d.mts +77 -1
  159. package/dist/index.d.mts.map +1 -1
  160. package/dist/index.mjs +55 -55
  161. package/dist/{products-fvXefwYo.mjs → products-DOCuAQDz.mjs} +3 -3
  162. package/dist/{products-fvXefwYo.mjs.map → products-DOCuAQDz.mjs.map} +1 -1
  163. package/dist/{products-CbSNg_2Q.cjs → products-zutaVs48.cjs} +3 -3
  164. package/dist/{products-CbSNg_2Q.cjs.map → products-zutaVs48.cjs.map} +1 -1
  165. package/dist/{src-CzKSt-6K.mjs → src-CIhTbou2.mjs} +2 -2
  166. package/dist/{src-CzKSt-6K.mjs.map → src-CIhTbou2.mjs.map} +1 -1
  167. package/dist/{src-BxmqgcCj.cjs → src-CXGrnE7x.cjs} +2 -2
  168. package/dist/{src-BxmqgcCj.cjs.map → src-CXGrnE7x.cjs.map} +1 -1
  169. package/dist/{use-account-clients-DR-cFoiZ.cjs → use-account-clients-BOwgvZok.cjs} +2 -2
  170. package/dist/{use-account-clients-DR-cFoiZ.cjs.map → use-account-clients-BOwgvZok.cjs.map} +1 -1
  171. package/dist/{use-account-clients-DSdeJkp0.mjs → use-account-clients-EEcG-B1B.mjs} +2 -2
  172. package/dist/{use-account-clients-DSdeJkp0.mjs.map → use-account-clients-EEcG-B1B.mjs.map} +1 -1
  173. package/dist/{use-customer-account-BFxhulZt.cjs → use-customer-account-BxoVi8ak.cjs} +3 -3
  174. package/dist/{use-customer-account-BFxhulZt.cjs.map → use-customer-account-BxoVi8ak.cjs.map} +1 -1
  175. package/dist/{use-customer-account-zbnCNccM.mjs → use-customer-account-TLWo3z05.mjs} +3 -3
  176. package/dist/{use-customer-account-zbnCNccM.mjs.map → use-customer-account-TLWo3z05.mjs.map} +1 -1
  177. package/dist/{use-fluid-api-BUOA1P_y.cjs → use-fluid-api-CU_r0Gu9.cjs} +2 -2
  178. package/dist/{use-fluid-api-BUOA1P_y.cjs.map → use-fluid-api-CU_r0Gu9.cjs.map} +1 -1
  179. package/dist/{use-fluid-api-BUEolyn-.mjs → use-fluid-api-DH8hTTPQ.mjs} +2 -2
  180. package/dist/{use-fluid-api-BUEolyn-.mjs.map → use-fluid-api-DH8hTTPQ.mjs.map} +1 -1
  181. package/package.json +16 -16
  182. package/styles/globals.css +2 -1
  183. package/dist/BulletListWidget-DfXMbboF.cjs.map +0 -1
  184. package/dist/BulletListWidget-bvVUvGOQ.mjs.map +0 -1
  185. package/dist/CalendarWidget-BAHiko62.cjs.map +0 -1
  186. package/dist/CalendarWidget-YybCIktI.mjs.map +0 -1
  187. package/dist/CardWidget-BOk-hod0.mjs.map +0 -1
  188. package/dist/CardWidget-h-FAxb1X.cjs.map +0 -1
  189. package/dist/CarouselWidget-Cqk2VJzH.mjs.map +0 -1
  190. package/dist/CarouselWidget-D-hBiS_H.cjs.map +0 -1
  191. package/dist/CatchUpWidget-Bq5Z7dnd.cjs.map +0 -1
  192. package/dist/CatchUpWidget-ZsrbwaTu.mjs.map +0 -1
  193. package/dist/ChartWidget-B6_n_Jp8.cjs.map +0 -1
  194. package/dist/ChartWidget-CU3_7LIS.mjs.map +0 -1
  195. package/dist/ContactsScreen-BGwMvoc6.cjs +0 -39
  196. package/dist/ContactsScreen-B_W89Txh.mjs +0 -37
  197. package/dist/EmbedWidget-CRCZwIZl.mjs.map +0 -1
  198. package/dist/EmbedWidget-DQB5SADr.cjs.map +0 -1
  199. package/dist/ImageWidget-2ZYY9Ea9.cjs.map +0 -1
  200. package/dist/ImageWidget-m5oDe9uw.mjs.map +0 -1
  201. package/dist/LayoutWidget-B23HX9yD.mjs.map +0 -1
  202. package/dist/LayoutWidget-SPn4xt-J.cjs.map +0 -1
  203. package/dist/LinkWidget-BFBAfz2T.cjs.map +0 -1
  204. package/dist/LinkWidget-DImz_Kgl.mjs.map +0 -1
  205. package/dist/ListWidget-4nc_OvSx.cjs.map +0 -1
  206. package/dist/ListWidget-BiCdEqrT.mjs.map +0 -1
  207. package/dist/MessagingScreen-BgaFc4dw.mjs +0 -36
  208. package/dist/MessagingScreen-r1CuGZTz.cjs +0 -38
  209. package/dist/MySiteScreen-CejFK1ki.cjs +0 -37
  210. package/dist/MySiteScreen-DcFcXY7l.mjs +0 -35
  211. package/dist/MySiteWidget-Cw7623aF.mjs.map +0 -1
  212. package/dist/MySiteWidget-bKaJ4r_k.cjs.map +0 -1
  213. package/dist/NestedWidget-Bxf8MJuj.cjs.map +0 -1
  214. package/dist/NestedWidget-DDAcIeej.mjs.map +0 -1
  215. package/dist/OrdersScreen-BTgeNO4Z.cjs +0 -37
  216. package/dist/OrdersScreen-yDvuEsiZ.mjs +0 -35
  217. package/dist/ProductsScreen-CibQXnfN.mjs +0 -39
  218. package/dist/ProductsScreen-DygMyNll.cjs +0 -41
  219. package/dist/ProfileScreen-CbZevC9b.cjs +0 -36
  220. package/dist/ProfileScreen-H2suBhUK.mjs +0 -34
  221. package/dist/QuickShareWidget-DJSBoNdI.cjs.map +0 -1
  222. package/dist/QuickShareWidget-DzvaOfZL.mjs.map +0 -1
  223. package/dist/RecentActivityWidget-Dw6yeZKX.mjs.map +0 -1
  224. package/dist/RecentActivityWidget-DxCHufm5.cjs.map +0 -1
  225. package/dist/ShareablesScreen-CvdwMRKM.cjs +0 -41
  226. package/dist/ShareablesScreen-VWeb61BX.mjs +0 -39
  227. package/dist/ShopScreen-CFP3QG21.mjs +0 -34
  228. package/dist/ShopScreen-CWFKO9Iz.cjs +0 -36
  229. package/dist/SubscriptionsScreen-CNDRQ4Q5.cjs +0 -37
  230. package/dist/SubscriptionsScreen-oABvUl1M.mjs +0 -35
  231. package/dist/TableWidget-D2QlWEXk.cjs.map +0 -1
  232. package/dist/TableWidget-kq_rQCoV.mjs.map +0 -1
  233. package/dist/TextWidget-Bd8V3uOT.cjs.map +0 -1
  234. package/dist/TextWidget-Cmu4a9QG.mjs.map +0 -1
  235. package/dist/ToDoWidget-BTq8QL4U.cjs.map +0 -1
  236. package/dist/ToDoWidget-CKC5BocI.mjs.map +0 -1
  237. package/dist/VideoWidget-BK6_XvD0.cjs.map +0 -1
  238. package/dist/VideoWidget-R5xG2Dt6.mjs.map +0 -1
  239. package/dist/fields-DW1nDGRz.mjs +0 -2
@@ -1,4 +1,5 @@
1
1
  import { n as __exportAll } from "./chunk-CRV2RMSr.mjs";
2
+ import { i as getBorderColorField$1, n as borderWidthClasses$1, s as getBorderWidthField$1, t as borderColorClasses$1 } from "./fields-CjDogNNF.mjs";
2
3
  import { t as MediaRenderer } from "./MediaRenderer-CI67k-ti.mjs";
3
4
  import { jsx } from "react/jsx-runtime";
4
5
  import { getBorderRadiusField, getHeightField } from "@fluid-app/portal-core/registries";
@@ -7,12 +8,12 @@ var ImageWidget_exports = /* @__PURE__ */ __exportAll({
7
8
  ImageWidget: () => ImageWidget,
8
9
  imageWidgetPropertySchema: () => imageWidgetPropertySchema
9
10
  });
10
- function ImageWidget({ src = "", alt = "", borderRadius = "md", verticalSizing = "auto", fixedHeight = "200px", displayFit = "cover", focusPoint, linkUrl, resource, useCustomUrl, editMode = false }) {
11
+ function ImageWidget({ src = "", alt = "", borderRadius = "md", borderWidth = "none", borderColor = "muted", verticalSizing = "auto", fixedHeight = "200px", displayFit = "cover", focusPoint, linkUrl, resource, useCustomUrl, editMode = false }) {
11
12
  const effectiveSrc = useCustomUrl ? src : resource?.imageUrl ?? src;
12
13
  const effectiveAlt = resource?.title ?? alt;
13
14
  const isFixed = verticalSizing === "fixed";
14
15
  const content = /* @__PURE__ */ jsx("div", {
15
- className: `w-full rounded-${borderRadius} overflow-hidden`,
16
+ className: `w-full rounded-${borderRadius} ${borderWidthClasses$1[borderWidth]} ${borderWidth !== "none" ? borderColorClasses$1[borderColor] : ""} overflow-hidden`,
16
17
  style: isFixed ? { height: fixedHeight } : void 0,
17
18
  children: /* @__PURE__ */ jsx(MediaRenderer, {
18
19
  mediaType: "image",
@@ -74,6 +75,20 @@ const imageWidgetPropertySchema = {
74
75
  defaultValue: "md",
75
76
  group: "Design"
76
77
  }),
78
+ getBorderWidthField$1({
79
+ key: "borderWidth",
80
+ label: "Border Width",
81
+ description: "Border width for the widget",
82
+ defaultValue: "none",
83
+ group: "Design"
84
+ }),
85
+ getBorderColorField$1({
86
+ key: "borderColor",
87
+ label: "Border Color",
88
+ description: "Border color for the widget",
89
+ defaultValue: "muted",
90
+ group: "Design"
91
+ }),
77
92
  {
78
93
  key: "verticalSizing",
79
94
  label: "Vertical Sizing",
@@ -144,4 +159,4 @@ const imageWidgetPropertySchema = {
144
159
  //#endregion
145
160
  export { ImageWidget_exports as n, imageWidgetPropertySchema as r, ImageWidget as t };
146
161
 
147
- //# sourceMappingURL=ImageWidget-m5oDe9uw.mjs.map
162
+ //# sourceMappingURL=ImageWidget-CvRlDtEa.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageWidget-CvRlDtEa.mjs","names":["borderWidthClasses","borderColorClasses","getBorderWidthField","getBorderColorField"],"sources":["../../widgets/src/widgets/ImageWidget.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport type React from \"react\";\nimport {\n getBorderRadiusField,\n getHeightField,\n type WidgetPropertySchema,\n} from \"@fluid-app/portal-core/registries\";\nimport type {\n BorderRadiusOptions,\n BorderWidthOptions,\n ColorOptions,\n ShareableItem,\n} from \"@fluid-app/portal-core/types\";\nimport {\n getBorderWidthField,\n getBorderColorField,\n borderWidthClasses,\n borderColorClasses,\n} from \"../core/fields\";\nimport { MediaRenderer } from \"../components/MediaRenderer\";\n\ntype ImageWidgetProps = ComponentProps<\"div\"> & {\n src?: string;\n alt?: string;\n borderRadius?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n verticalSizing?: \"auto\" | \"fixed\";\n fixedHeight?: string;\n displayFit?: \"cover\" | \"contain\";\n focusPoint?: string;\n linkUrl?: string;\n resource?: ShareableItem;\n useCustomUrl?: boolean;\n editMode?: boolean;\n};\n\nexport function ImageWidget({\n src = \"\",\n alt = \"\",\n borderRadius = \"md\",\n borderWidth = \"none\",\n borderColor = \"muted\",\n verticalSizing = \"auto\",\n fixedHeight = \"200px\",\n displayFit = \"cover\",\n focusPoint,\n linkUrl,\n resource,\n useCustomUrl,\n editMode = false,\n}: ImageWidgetProps): React.JSX.Element {\n const effectiveSrc = useCustomUrl ? src : (resource?.imageUrl ?? src);\n const effectiveAlt = resource?.title ?? alt;\n\n const isFixed = verticalSizing === \"fixed\";\n\n const content = (\n <div\n className={`w-full rounded-${borderRadius} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"} overflow-hidden`}\n style={isFixed ? { height: fixedHeight } : undefined}\n >\n <MediaRenderer\n mediaType=\"image\"\n src={effectiveSrc}\n alt={effectiveAlt}\n objectFit={isFixed ? displayFit : \"contain\"}\n focusPoint={isFixed ? focusPoint : undefined}\n />\n </div>\n );\n\n if (linkUrl && !editMode) {\n return (\n <a href={linkUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {content}\n </a>\n );\n }\n\n return content;\n}\n\nexport const imageWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"ImageWidget\",\n displayName: \"Image\",\n fields: [\n // Content\n {\n key: \"resource\",\n label: \"Select Image\",\n type: \"resource\",\n description: \"Browse and select an image\",\n allowedTypes: [\"Medium\"],\n group: \"Content\",\n },\n {\n key: \"useCustomUrl\",\n label: \"Use Custom URL\",\n type: \"boolean\",\n description: \"Enter a custom image URL instead of selecting media\",\n defaultValue: false,\n group: \"Content\",\n },\n {\n key: \"src\",\n label: \"Image URL\",\n type: \"text\",\n description: \"The source URL of the image\",\n defaultValue:\n \"https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800&auto=format&fit=crop\",\n group: \"Content\",\n requiresKeyToBeTrue: \"useCustomUrl\",\n },\n {\n key: \"alt\",\n label: \"Alt Text\",\n type: \"text\",\n description: \"Alternative text for the image (for accessibility)\",\n defaultValue: \"Placeholder image\",\n group: \"Content\",\n },\n\n // Design\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the container\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Border width for the widget\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Border color for the widget\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n {\n key: \"verticalSizing\",\n label: \"Vertical Sizing\",\n type: \"buttonGroup\",\n description: \"How the image height is determined\",\n options: [\n { label: \"Auto\", value: \"auto\" },\n { label: \"Fixed\", value: \"fixed\" },\n ],\n defaultValue: \"auto\",\n group: \"Design\",\n },\n getHeightField({\n key: \"fixedHeight\",\n label: \"Height\",\n description: \"Fixed height of the image container\",\n defaultValue: \"200px\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n }),\n {\n key: \"displayFit\",\n label: \"Display Fit\",\n type: \"buttonGroup\",\n description: \"How the image fills its container\",\n options: [\n { label: \"Cover\", value: \"cover\" },\n { label: \"Contain\", value: \"contain\" },\n ],\n defaultValue: \"cover\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n {\n key: \"focusPoint\",\n label: \"Focus Point\",\n type: \"contentPosition\",\n description: \"The focal point of the image within its container\",\n defaultValue: \"center\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n\n // Link\n {\n key: \"linkUrl\",\n label: \"Link URL\",\n type: \"text\",\n description: \"Optional URL to wrap the image in a link\",\n defaultValue: \"\",\n group: \"Link\",\n },\n ],\n};\n"],"mappings":";;;;;;;;;;AAqCA,SAAgB,YAAY,EAC1B,MAAM,IACN,MAAM,IACN,eAAe,MACf,cAAc,QACd,cAAc,SACd,iBAAiB,QACjB,cAAc,SACd,aAAa,SACb,YACA,SACA,UACA,cACA,WAAW,SAC2B;CACtC,MAAM,eAAe,eAAe,MAAO,UAAU,YAAY;CACjE,MAAM,eAAe,UAAU,SAAS;CAExC,MAAM,UAAU,mBAAmB;CAEnC,MAAM,UACJ,oBAAC,OAAD;EACE,WAAW,kBAAkB,aAAa,GAAGA,qBAAmB,aAAa,GAAG,gBAAgB,SAASC,qBAAmB,eAAe,GAAG;EAC9I,OAAO,UAAU,EAAE,QAAQ,aAAa,GAAG,KAAA;YAE3C,oBAAC,eAAD;GACE,WAAU;GACV,KAAK;GACL,KAAK;GACL,WAAW,UAAU,aAAa;GAClC,YAAY,UAAU,aAAa,KAAA;GACnC,CAAA;EACE,CAAA;AAGR,KAAI,WAAW,CAAC,SACd,QACE,oBAAC,KAAD;EAAG,MAAM;EAAS,QAAO;EAAS,KAAI;YACnC;EACC,CAAA;AAIR,QAAO;;AAGT,MAAa,4BAAkD;CAC7D,YAAY;CACZ,aAAa;CACb,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc,CAAC,SAAS;GACxB,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cACE;GACF,OAAO;GACP,qBAAqB;GACtB;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;EAGD,qBAAqB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACFC,sBAAoB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACFC,sBAAoB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAQ,OAAO;IAAQ,EAChC;IAAE,OAAO;IAAS,OAAO;IAAS,CACnC;GACD,cAAc;GACd,OAAO;GACR;EACD,eAAe;GACb,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAS,OAAO;IAAS,EAClC;IAAE,OAAO;IAAW,OAAO;IAAW,CACvC;GACD,cAAc;GACd,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EAGD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;EACF;CACF"}
@@ -7,12 +7,12 @@ var ImageWidget_exports = /* @__PURE__ */ require_chunk.__exportAll({
7
7
  ImageWidget: () => ImageWidget,
8
8
  imageWidgetPropertySchema: () => imageWidgetPropertySchema
9
9
  });
10
- function ImageWidget({ src = "", alt = "", borderRadius = "md", verticalSizing = "auto", fixedHeight = "200px", displayFit = "cover", focusPoint, linkUrl, resource, useCustomUrl, editMode = false }) {
10
+ function ImageWidget({ src = "", alt = "", borderRadius = "md", borderWidth = "none", borderColor = "muted", verticalSizing = "auto", fixedHeight = "200px", displayFit = "cover", focusPoint, linkUrl, resource, useCustomUrl, editMode = false }) {
11
11
  const effectiveSrc = useCustomUrl ? src : resource?.imageUrl ?? src;
12
12
  const effectiveAlt = resource?.title ?? alt;
13
13
  const isFixed = verticalSizing === "fixed";
14
14
  const content = /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
15
- className: `w-full rounded-${borderRadius} overflow-hidden`,
15
+ className: `w-full rounded-${borderRadius} ${_fluid_app_portal_core_registries.borderWidthClasses[borderWidth]} ${borderWidth !== "none" ? _fluid_app_portal_core_registries.borderColorClasses[borderColor] : ""} overflow-hidden`,
16
16
  style: isFixed ? { height: fixedHeight } : void 0,
17
17
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_MediaRenderer.MediaRenderer, {
18
18
  mediaType: "image",
@@ -74,6 +74,20 @@ const imageWidgetPropertySchema = {
74
74
  defaultValue: "md",
75
75
  group: "Design"
76
76
  }),
77
+ (0, _fluid_app_portal_core_registries.getBorderWidthField)({
78
+ key: "borderWidth",
79
+ label: "Border Width",
80
+ description: "Border width for the widget",
81
+ defaultValue: "none",
82
+ group: "Design"
83
+ }),
84
+ (0, _fluid_app_portal_core_registries.getBorderColorField)({
85
+ key: "borderColor",
86
+ label: "Border Color",
87
+ description: "Border color for the widget",
88
+ defaultValue: "muted",
89
+ group: "Design"
90
+ }),
77
91
  {
78
92
  key: "verticalSizing",
79
93
  label: "Vertical Sizing",
@@ -161,4 +175,4 @@ Object.defineProperty(exports, "imageWidgetPropertySchema", {
161
175
  }
162
176
  });
163
177
 
164
- //# sourceMappingURL=ImageWidget-2ZYY9Ea9.cjs.map
178
+ //# sourceMappingURL=ImageWidget-DwM4H6SC.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ImageWidget-DwM4H6SC.cjs","names":["borderWidthClasses","borderColorClasses","MediaRenderer"],"sources":["../../widgets/src/widgets/ImageWidget.tsx"],"sourcesContent":["import type { ComponentProps } from \"react\";\nimport type React from \"react\";\nimport {\n getBorderRadiusField,\n getHeightField,\n type WidgetPropertySchema,\n} from \"@fluid-app/portal-core/registries\";\nimport type {\n BorderRadiusOptions,\n BorderWidthOptions,\n ColorOptions,\n ShareableItem,\n} from \"@fluid-app/portal-core/types\";\nimport {\n getBorderWidthField,\n getBorderColorField,\n borderWidthClasses,\n borderColorClasses,\n} from \"../core/fields\";\nimport { MediaRenderer } from \"../components/MediaRenderer\";\n\ntype ImageWidgetProps = ComponentProps<\"div\"> & {\n src?: string;\n alt?: string;\n borderRadius?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n verticalSizing?: \"auto\" | \"fixed\";\n fixedHeight?: string;\n displayFit?: \"cover\" | \"contain\";\n focusPoint?: string;\n linkUrl?: string;\n resource?: ShareableItem;\n useCustomUrl?: boolean;\n editMode?: boolean;\n};\n\nexport function ImageWidget({\n src = \"\",\n alt = \"\",\n borderRadius = \"md\",\n borderWidth = \"none\",\n borderColor = \"muted\",\n verticalSizing = \"auto\",\n fixedHeight = \"200px\",\n displayFit = \"cover\",\n focusPoint,\n linkUrl,\n resource,\n useCustomUrl,\n editMode = false,\n}: ImageWidgetProps): React.JSX.Element {\n const effectiveSrc = useCustomUrl ? src : (resource?.imageUrl ?? src);\n const effectiveAlt = resource?.title ?? alt;\n\n const isFixed = verticalSizing === \"fixed\";\n\n const content = (\n <div\n className={`w-full rounded-${borderRadius} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"} overflow-hidden`}\n style={isFixed ? { height: fixedHeight } : undefined}\n >\n <MediaRenderer\n mediaType=\"image\"\n src={effectiveSrc}\n alt={effectiveAlt}\n objectFit={isFixed ? displayFit : \"contain\"}\n focusPoint={isFixed ? focusPoint : undefined}\n />\n </div>\n );\n\n if (linkUrl && !editMode) {\n return (\n <a href={linkUrl} target=\"_blank\" rel=\"noopener noreferrer\">\n {content}\n </a>\n );\n }\n\n return content;\n}\n\nexport const imageWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"ImageWidget\",\n displayName: \"Image\",\n fields: [\n // Content\n {\n key: \"resource\",\n label: \"Select Image\",\n type: \"resource\",\n description: \"Browse and select an image\",\n allowedTypes: [\"Medium\"],\n group: \"Content\",\n },\n {\n key: \"useCustomUrl\",\n label: \"Use Custom URL\",\n type: \"boolean\",\n description: \"Enter a custom image URL instead of selecting media\",\n defaultValue: false,\n group: \"Content\",\n },\n {\n key: \"src\",\n label: \"Image URL\",\n type: \"text\",\n description: \"The source URL of the image\",\n defaultValue:\n \"https://images.unsplash.com/photo-1506905925346-21bda4d32df4?w=800&auto=format&fit=crop\",\n group: \"Content\",\n requiresKeyToBeTrue: \"useCustomUrl\",\n },\n {\n key: \"alt\",\n label: \"Alt Text\",\n type: \"text\",\n description: \"Alternative text for the image (for accessibility)\",\n defaultValue: \"Placeholder image\",\n group: \"Content\",\n },\n\n // Design\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the container\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Border width for the widget\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Border color for the widget\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n {\n key: \"verticalSizing\",\n label: \"Vertical Sizing\",\n type: \"buttonGroup\",\n description: \"How the image height is determined\",\n options: [\n { label: \"Auto\", value: \"auto\" },\n { label: \"Fixed\", value: \"fixed\" },\n ],\n defaultValue: \"auto\",\n group: \"Design\",\n },\n getHeightField({\n key: \"fixedHeight\",\n label: \"Height\",\n description: \"Fixed height of the image container\",\n defaultValue: \"200px\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n }),\n {\n key: \"displayFit\",\n label: \"Display Fit\",\n type: \"buttonGroup\",\n description: \"How the image fills its container\",\n options: [\n { label: \"Cover\", value: \"cover\" },\n { label: \"Contain\", value: \"contain\" },\n ],\n defaultValue: \"cover\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n {\n key: \"focusPoint\",\n label: \"Focus Point\",\n type: \"contentPosition\",\n description: \"The focal point of the image within its container\",\n defaultValue: \"center\",\n group: \"Design\",\n requiresKeyValue: { key: \"verticalSizing\", value: \"fixed\" },\n },\n\n // Link\n {\n key: \"linkUrl\",\n label: \"Link URL\",\n type: \"text\",\n description: \"Optional URL to wrap the image in a link\",\n defaultValue: \"\",\n group: \"Link\",\n },\n ],\n};\n"],"mappings":";;;;;;;;;AAqCA,SAAgB,YAAY,EAC1B,MAAM,IACN,MAAM,IACN,eAAe,MACf,cAAc,QACd,cAAc,SACd,iBAAiB,QACjB,cAAc,SACd,aAAa,SACb,YACA,SACA,UACA,cACA,WAAW,SAC2B;CACtC,MAAM,eAAe,eAAe,MAAO,UAAU,YAAY;CACjE,MAAM,eAAe,UAAU,SAAS;CAExC,MAAM,UAAU,mBAAmB;CAEnC,MAAM,UACJ,iBAAA,GAAA,kBAAA,KAAC,OAAD;EACE,WAAW,kBAAkB,aAAa,GAAGA,kCAAAA,mBAAmB,aAAa,GAAG,gBAAgB,SAASC,kCAAAA,mBAAmB,eAAe,GAAG;EAC9I,OAAO,UAAU,EAAE,QAAQ,aAAa,GAAG,KAAA;YAE3C,iBAAA,GAAA,kBAAA,KAACC,sBAAAA,eAAD;GACE,WAAU;GACV,KAAK;GACL,KAAK;GACL,WAAW,UAAU,aAAa;GAClC,YAAY,UAAU,aAAa,KAAA;GACnC,CAAA;EACE,CAAA;AAGR,KAAI,WAAW,CAAC,SACd,QACE,iBAAA,GAAA,kBAAA,KAAC,KAAD;EAAG,MAAM;EAAS,QAAO;EAAS,KAAI;YACnC;EACC,CAAA;AAIR,QAAO;;AAGT,MAAa,4BAAkD;CAC7D,YAAY;CACZ,aAAa;CACb,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc,CAAC,SAAS;GACxB,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cACE;GACF,OAAO;GACP,qBAAqB;GACtB;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;8DAGoB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;6DACkB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;6DACkB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAQ,OAAO;IAAQ,EAChC;IAAE,OAAO;IAAS,OAAO;IAAS,CACnC;GACD,cAAc;GACd,OAAO;GACR;wDACc;GACb,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D,CAAC;EACF;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,SAAS,CACP;IAAE,OAAO;IAAS,OAAO;IAAS,EAClC;IAAE,OAAO;IAAW,OAAO;IAAW,CACvC;GACD,cAAc;GACd,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EACD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACP,kBAAkB;IAAE,KAAK;IAAkB,OAAO;IAAS;GAC5D;EAGD;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;EACF;CACF"}
@@ -1,5 +1,5 @@
1
1
  require("./chunk-DAgNkxik.cjs");
2
2
  require("./ScreenRenderer-C-H-ju1C.cjs");
3
3
  require("./fields-BCNGRVzZ.cjs");
4
- const require_LayoutWidget = require("./LayoutWidget-SPn4xt-J.cjs");
4
+ const require_LayoutWidget = require("./LayoutWidget-CsdItxHF.cjs");
5
5
  exports.layoutWidgetPropertySchema = require_LayoutWidget.layoutWidgetPropertySchema;
@@ -10,7 +10,7 @@ const DEFAULT_BACKGROUND = {
10
10
  color: "background"
11
11
  };
12
12
  const DEFAULT_CHILDREN = [];
13
- const LayoutWidget = ({ sectionLayout = "single-column", gap = 4, gapSize, background = DEFAULT_BACKGROUND, padding = 0, borderRadius = "md", children = DEFAULT_CHILDREN, registry, className = "", minHeight }) => {
13
+ const LayoutWidget = ({ sectionLayout = "single-column", gap = 4, gapSize, background = DEFAULT_BACKGROUND, padding = 0, borderRadius = "md", borderWidth = "none", borderColor = "muted", children = DEFAULT_CHILDREN, registry, className = "", minHeight }) => {
14
14
  const contextRegistry = require_ScreenRenderer.useRegistry();
15
15
  const effectiveRegistry = registry || contextRegistry;
16
16
  const ScreenRenderer$1 = require_ScreenRenderer.useScreenRenderer() ?? require_ScreenRenderer.ScreenRenderer;
@@ -23,7 +23,7 @@ const LayoutWidget = ({ sectionLayout = "single-column", gap = 4, gapSize, backg
23
23
  "grid",
24
24
  "grid-cols-1",
25
25
  layoutConfig.gridClasses,
26
- `bg-${backgroundColor} p-${padding} rounded-${borderRadius}`,
26
+ `bg-${backgroundColor} p-${padding} rounded-${borderRadius} ${_fluid_app_portal_core_registries.borderWidthClasses[borderWidth]} ${borderWidth !== "none" ? _fluid_app_portal_core_registries.borderColorClasses[borderColor] : ""}`,
27
27
  `gap-${gapSizeValue}`,
28
28
  className
29
29
  ].filter(Boolean).join(" ");
@@ -92,6 +92,20 @@ const layoutWidgetPropertySchema = {
92
92
  description: "Border radius for the layout container",
93
93
  defaultValue: "md",
94
94
  group: "Design"
95
+ }),
96
+ (0, _fluid_app_portal_core_registries.getBorderWidthField)({
97
+ key: "borderWidth",
98
+ label: "Border Width",
99
+ description: "Border width for the widget",
100
+ defaultValue: "none",
101
+ group: "Design"
102
+ }),
103
+ (0, _fluid_app_portal_core_registries.getBorderColorField)({
104
+ key: "borderColor",
105
+ label: "Border Color",
106
+ description: "Border color for the widget",
107
+ defaultValue: "muted",
108
+ group: "Design"
95
109
  })
96
110
  ]
97
111
  };
@@ -109,4 +123,4 @@ Object.defineProperty(exports, "layoutWidgetPropertySchema", {
109
123
  }
110
124
  });
111
125
 
112
- //# sourceMappingURL=LayoutWidget-SPn4xt-J.cjs.map
126
+ //# sourceMappingURL=LayoutWidget-CsdItxHF.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutWidget-CsdItxHF.cjs","names":["useRegistry","ScreenRenderer","useScreenRenderer","DefaultScreenRenderer","sectionLayoutConfig","gapValues","borderWidthClasses","borderColorClasses"],"sources":["../../widgets/src/widgets/LayoutWidget.tsx"],"sourcesContent":["import { ScreenRenderer as DefaultScreenRenderer } from \"../core/ScreenRenderer\";\nimport { useRegistry } from \"../contexts/RegistryContext\";\nimport { useScreenRenderer } from \"../contexts/ScreenRendererContext\";\nimport type {\n TypedWidgetSchema,\n WidgetSchema,\n BorderRadiusOptions,\n BorderWidthOptions,\n ColorOptions,\n PaddingOptions,\n GapOptions,\n SectionLayoutType,\n BackgroundValue,\n} from \"@fluid-app/portal-core/types\";\nimport { sectionLayoutConfig } from \"@fluid-app/portal-core/types\";\nimport type { ComponentType } from \"react\";\nimport type React from \"react\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getBorderWidthField,\n getBorderColorField,\n getGapField,\n getPaddingField,\n gapValues,\n borderWidthClasses,\n borderColorClasses,\n} from \"../core/fields\";\nimport { groupChildrenByColumn } from \"@fluid-app/portal-core/widget-utils\";\n\nconst DEFAULT_BACKGROUND: BackgroundValue = {\n type: \"solid\",\n color: \"background\",\n};\nconst DEFAULT_CHILDREN: (WidgetSchema | null)[] = [];\n\ntype LayoutProps<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, ComponentType<any>> = Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ComponentType<any>\n >,\n> = {\n // Section layout type (masonry-style column configuration)\n sectionLayout?: SectionLayoutType;\n\n // Legacy props (deprecated, kept for backward compatibility)\n type?: \"flex\" | \"grid\";\n columns?: number;\n rows?: number;\n direction?: string;\n justify?: string;\n align?: string;\n wrap?: boolean;\n\n // Spacing\n gap?: number; // deprecated, use gapSize instead\n gapSize?: GapOptions;\n\n // Design\n background?: BackgroundValue;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n\n // Content - widgets with columnIndex property for masonry layout\n children: (TypedWidgetSchema<T> | null)[] | (WidgetSchema | null)[];\n\n // Widget registry (passed down from parent renderer)\n registry?: T;\n\n // Styling\n className?: string;\n minHeight?: number;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const LayoutWidget = <T extends Record<string, ComponentType<any>>>({\n sectionLayout = \"single-column\",\n gap = 4,\n gapSize,\n background = DEFAULT_BACKGROUND,\n padding = 0,\n borderRadius = \"md\",\n borderWidth = \"none\",\n borderColor = \"muted\",\n children = DEFAULT_CHILDREN,\n registry,\n className = \"\",\n minHeight,\n}: LayoutProps<T>): React.JSX.Element => {\n // Get registry from context if not provided as prop\n const contextRegistry = useRegistry();\n const effectiveRegistry = registry || contextRegistry;\n\n // Use ScreenRenderer from context (e.g. portal-builder's), fall back to local\n const ContextScreenRenderer = useScreenRenderer();\n const ScreenRenderer = ContextScreenRenderer ?? DefaultScreenRenderer;\n\n // Extract background values\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 // Get layout configuration\n const layoutConfig = sectionLayoutConfig[sectionLayout];\n const columnCount = layoutConfig.columns;\n\n // Calculate gap size\n const gapSizeValue = gapSize ? gapValues[gapSize] : gap;\n\n // Build CSS classes for masonry layout with responsive columns\n const layoutClasses = [\n \"grid\",\n \"grid-cols-1\", // Mobile: single column\n layoutConfig.gridClasses, // Desktop (@md+): configured columns\n `bg-${backgroundColor} p-${padding} rounded-${borderRadius} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"}`,\n `gap-${gapSizeValue}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n // Container style\n const containerStyle: React.CSSProperties = {\n ...(minHeight ? { minHeight: `${minHeight}px` } : {}),\n alignItems: \"start\", // Masonry-style: columns don't stretch to match height\n backgroundImage,\n };\n\n // If no registry is available, we can't render the children\n if (!effectiveRegistry) {\n console.warn(\"Layout widget: No registry provided, cannot render children\");\n return <div className={layoutClasses} style={containerStyle} />;\n }\n\n // Group children by column\n const columnGroups = groupChildrenByColumn(\n children as WidgetSchema[],\n columnCount,\n );\n\n // Regular render mode - render each column as a flex column\n return (\n <div className=\"@container\">\n <div className={layoutClasses} style={containerStyle}>\n {columnGroups.map((columnChildren, colIndex) => (\n <ScreenRenderer\n key={colIndex}\n screen={columnChildren}\n registry={effectiveRegistry}\n className={`flex flex-col gap-${gapSizeValue}`}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport const layoutWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"LayoutWidget\",\n displayName: \"Layout\",\n fields: [\n // Layout Configuration - Visual selector matching Figma design\n {\n key: \"sectionLayout\",\n label: \"Layout Type\",\n type: \"sectionLayoutSelect\",\n description: \"Column layout configuration\",\n defaultValue: \"single-column\",\n group: \"Layout\",\n },\n\n // Design\n getGapField({\n key: \"gapSize\",\n label: \"Gap\",\n description: \"Gap between columns and widgets\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the layout container\",\n defaultValue: \"background\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding for the layout container\",\n defaultValue: 4,\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the layout container\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Border width for the widget\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Border color for the widget\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n ],\n};\n"],"mappings":";;;;;;;AA8BA,MAAM,qBAAsC;CAC1C,MAAM;CACN,OAAO;CACR;AACD,MAAM,mBAA4C,EAAE;AA6CpD,MAAa,gBAA8D,EACzE,gBAAgB,iBAChB,MAAM,GACN,SACA,aAAa,oBACb,UAAU,GACV,eAAe,MACf,cAAc,QACd,cAAc,SACd,WAAW,kBACX,UACA,YAAY,IACZ,gBACuC;CAEvC,MAAM,kBAAkBA,uBAAAA,aAAa;CACrC,MAAM,oBAAoB,YAAY;CAItC,MAAMC,mBADwBC,uBAAAA,mBAAmB,IACDC,uBAAAA;CAGhD,MAAM,kBAAkB,WAAW,SAAS;CAC5C,MAAM,mBACH,WAAW,UAAU,aAAa,WAAW,UAAU,aACxD,WAAW,SAAS,UAChB,OAAO,WAAW,SAAS,aAAa,WAAW,SAAS,SAAS,KACrE;CAGN,MAAM,eAAeC,6BAAAA,oBAAoB;CACzC,MAAM,cAAc,aAAa;CAGjC,MAAM,eAAe,UAAUC,kCAAAA,UAAU,WAAW;CAGpD,MAAM,gBAAgB;EACpB;EACA;EACA,aAAa;EACb,MAAM,gBAAgB,KAAK,QAAQ,WAAW,aAAa,GAAGC,kCAAAA,mBAAmB,aAAa,GAAG,gBAAgB,SAASC,kCAAAA,mBAAmB,eAAe;EAC5J,OAAO;EACP;EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;CAGZ,MAAM,iBAAsC;EAC1C,GAAI,YAAY,EAAE,WAAW,GAAG,UAAU,KAAK,GAAG,EAAE;EACpD,YAAY;EACZ;EACD;AAGD,KAAI,CAAC,mBAAmB;AACtB,UAAQ,KAAK,8DAA8D;AAC3E,SAAO,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAW;GAAe,OAAO;GAAkB,CAAA;;AAUjE,QACE,iBAAA,GAAA,kBAAA,KAAC,OAAD;EAAK,WAAU;YACb,iBAAA,GAAA,kBAAA,KAAC,OAAD;GAAK,WAAW;GAAe,OAAO;4EAPxC,UACA,YACD,CAMmB,KAAK,gBAAgB,aACjC,iBAAA,GAAA,kBAAA,KAACN,kBAAD;IAEE,QAAQ;IACR,UAAU;IACV,WAAW,qBAAqB;IAChC,EAJK,SAIL,CACF;GACE,CAAA;EACF,CAAA;;AAIV,MAAa,6BAAmD;CAC9D,YAAY;CACZ,aAAa;CACb,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;qDAGW;GACV,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACF;GACE,MAAM;GACN,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR;yDACe;GACd,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;8DACmB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;6DACkB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;6DACkB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACH;CACF"}
@@ -1,6 +1,6 @@
1
1
  import { n as __exportAll } from "./chunk-CRV2RMSr.mjs";
2
2
  import { i as useRegistry, n as useScreenRenderer, t as ScreenRenderer } from "./ScreenRenderer-Dt-Qrx9w.mjs";
3
- import { c as getGapField, r as getBorderRadiusField, t as gapValues, u as getPaddingField } from "./fields-DW1nDGRz.mjs";
3
+ import { f as getGapField, i as getBorderColorField, m as getPaddingField, n as borderWidthClasses, o as getBorderRadiusField, r as gapValues, s as getBorderWidthField, t as borderColorClasses } from "./fields-CjDogNNF.mjs";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  import { groupChildrenByColumn } from "@fluid-app/portal-core/widget-utils";
6
6
  import { sectionLayoutConfig } from "@fluid-app/portal-core/types";
@@ -14,7 +14,7 @@ const DEFAULT_BACKGROUND = {
14
14
  color: "background"
15
15
  };
16
16
  const DEFAULT_CHILDREN = [];
17
- const LayoutWidget = ({ sectionLayout = "single-column", gap = 4, gapSize, background = DEFAULT_BACKGROUND, padding = 0, borderRadius = "md", children = DEFAULT_CHILDREN, registry, className = "", minHeight }) => {
17
+ const LayoutWidget = ({ sectionLayout = "single-column", gap = 4, gapSize, background = DEFAULT_BACKGROUND, padding = 0, borderRadius = "md", borderWidth = "none", borderColor = "muted", children = DEFAULT_CHILDREN, registry, className = "", minHeight }) => {
18
18
  const contextRegistry = useRegistry();
19
19
  const effectiveRegistry = registry || contextRegistry;
20
20
  const ScreenRenderer$1 = useScreenRenderer() ?? ScreenRenderer;
@@ -27,7 +27,7 @@ const LayoutWidget = ({ sectionLayout = "single-column", gap = 4, gapSize, backg
27
27
  "grid",
28
28
  "grid-cols-1",
29
29
  layoutConfig.gridClasses,
30
- `bg-${backgroundColor} p-${padding} rounded-${borderRadius}`,
30
+ `bg-${backgroundColor} p-${padding} rounded-${borderRadius} ${borderWidthClasses[borderWidth]} ${borderWidth !== "none" ? borderColorClasses[borderColor] : ""}`,
31
31
  `gap-${gapSizeValue}`,
32
32
  className
33
33
  ].filter(Boolean).join(" ");
@@ -96,10 +96,24 @@ const layoutWidgetPropertySchema = {
96
96
  description: "Border radius for the layout container",
97
97
  defaultValue: "md",
98
98
  group: "Design"
99
+ }),
100
+ getBorderWidthField({
101
+ key: "borderWidth",
102
+ label: "Border Width",
103
+ description: "Border width for the widget",
104
+ defaultValue: "none",
105
+ group: "Design"
106
+ }),
107
+ getBorderColorField({
108
+ key: "borderColor",
109
+ label: "Border Color",
110
+ description: "Border color for the widget",
111
+ defaultValue: "muted",
112
+ group: "Design"
99
113
  })
100
114
  ]
101
115
  };
102
116
  //#endregion
103
117
  export { LayoutWidget_exports as n, layoutWidgetPropertySchema as r, LayoutWidget as t };
104
118
 
105
- //# sourceMappingURL=LayoutWidget-B23HX9yD.mjs.map
119
+ //# sourceMappingURL=LayoutWidget-pS3AMhD7.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutWidget-pS3AMhD7.mjs","names":["ScreenRenderer","DefaultScreenRenderer"],"sources":["../../widgets/src/widgets/LayoutWidget.tsx"],"sourcesContent":["import { ScreenRenderer as DefaultScreenRenderer } from \"../core/ScreenRenderer\";\nimport { useRegistry } from \"../contexts/RegistryContext\";\nimport { useScreenRenderer } from \"../contexts/ScreenRendererContext\";\nimport type {\n TypedWidgetSchema,\n WidgetSchema,\n BorderRadiusOptions,\n BorderWidthOptions,\n ColorOptions,\n PaddingOptions,\n GapOptions,\n SectionLayoutType,\n BackgroundValue,\n} from \"@fluid-app/portal-core/types\";\nimport { sectionLayoutConfig } from \"@fluid-app/portal-core/types\";\nimport type { ComponentType } from \"react\";\nimport type React from \"react\";\nimport type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport {\n getBorderRadiusField,\n getBorderWidthField,\n getBorderColorField,\n getGapField,\n getPaddingField,\n gapValues,\n borderWidthClasses,\n borderColorClasses,\n} from \"../core/fields\";\nimport { groupChildrenByColumn } from \"@fluid-app/portal-core/widget-utils\";\n\nconst DEFAULT_BACKGROUND: BackgroundValue = {\n type: \"solid\",\n color: \"background\",\n};\nconst DEFAULT_CHILDREN: (WidgetSchema | null)[] = [];\n\ntype LayoutProps<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, ComponentType<any>> = Record<\n string,\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n ComponentType<any>\n >,\n> = {\n // Section layout type (masonry-style column configuration)\n sectionLayout?: SectionLayoutType;\n\n // Legacy props (deprecated, kept for backward compatibility)\n type?: \"flex\" | \"grid\";\n columns?: number;\n rows?: number;\n direction?: string;\n justify?: string;\n align?: string;\n wrap?: boolean;\n\n // Spacing\n gap?: number; // deprecated, use gapSize instead\n gapSize?: GapOptions;\n\n // Design\n background?: BackgroundValue;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n\n // Content - widgets with columnIndex property for masonry layout\n children: (TypedWidgetSchema<T> | null)[] | (WidgetSchema | null)[];\n\n // Widget registry (passed down from parent renderer)\n registry?: T;\n\n // Styling\n className?: string;\n minHeight?: number;\n};\n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const LayoutWidget = <T extends Record<string, ComponentType<any>>>({\n sectionLayout = \"single-column\",\n gap = 4,\n gapSize,\n background = DEFAULT_BACKGROUND,\n padding = 0,\n borderRadius = \"md\",\n borderWidth = \"none\",\n borderColor = \"muted\",\n children = DEFAULT_CHILDREN,\n registry,\n className = \"\",\n minHeight,\n}: LayoutProps<T>): React.JSX.Element => {\n // Get registry from context if not provided as prop\n const contextRegistry = useRegistry();\n const effectiveRegistry = registry || contextRegistry;\n\n // Use ScreenRenderer from context (e.g. portal-builder's), fall back to local\n const ContextScreenRenderer = useScreenRenderer();\n const ScreenRenderer = ContextScreenRenderer ?? DefaultScreenRenderer;\n\n // Extract background values\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 // Get layout configuration\n const layoutConfig = sectionLayoutConfig[sectionLayout];\n const columnCount = layoutConfig.columns;\n\n // Calculate gap size\n const gapSizeValue = gapSize ? gapValues[gapSize] : gap;\n\n // Build CSS classes for masonry layout with responsive columns\n const layoutClasses = [\n \"grid\",\n \"grid-cols-1\", // Mobile: single column\n layoutConfig.gridClasses, // Desktop (@md+): configured columns\n `bg-${backgroundColor} p-${padding} rounded-${borderRadius} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"}`,\n `gap-${gapSizeValue}`,\n className,\n ]\n .filter(Boolean)\n .join(\" \");\n\n // Container style\n const containerStyle: React.CSSProperties = {\n ...(minHeight ? { minHeight: `${minHeight}px` } : {}),\n alignItems: \"start\", // Masonry-style: columns don't stretch to match height\n backgroundImage,\n };\n\n // If no registry is available, we can't render the children\n if (!effectiveRegistry) {\n console.warn(\"Layout widget: No registry provided, cannot render children\");\n return <div className={layoutClasses} style={containerStyle} />;\n }\n\n // Group children by column\n const columnGroups = groupChildrenByColumn(\n children as WidgetSchema[],\n columnCount,\n );\n\n // Regular render mode - render each column as a flex column\n return (\n <div className=\"@container\">\n <div className={layoutClasses} style={containerStyle}>\n {columnGroups.map((columnChildren, colIndex) => (\n <ScreenRenderer\n key={colIndex}\n screen={columnChildren}\n registry={effectiveRegistry}\n className={`flex flex-col gap-${gapSizeValue}`}\n />\n ))}\n </div>\n </div>\n );\n};\n\nexport const layoutWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"LayoutWidget\",\n displayName: \"Layout\",\n fields: [\n // Layout Configuration - Visual selector matching Figma design\n {\n key: \"sectionLayout\",\n label: \"Layout Type\",\n type: \"sectionLayoutSelect\",\n description: \"Column layout configuration\",\n defaultValue: \"single-column\",\n group: \"Layout\",\n },\n\n // Design\n getGapField({\n key: \"gapSize\",\n label: \"Gap\",\n description: \"Gap between columns and widgets\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the layout container\",\n defaultValue: \"background\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding for the layout container\",\n defaultValue: 4,\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the layout container\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Border width for the widget\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Border color for the widget\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n ],\n};\n"],"mappings":";;;;;;;;;;;AA8BA,MAAM,qBAAsC;CAC1C,MAAM;CACN,OAAO;CACR;AACD,MAAM,mBAA4C,EAAE;AA6CpD,MAAa,gBAA8D,EACzE,gBAAgB,iBAChB,MAAM,GACN,SACA,aAAa,oBACb,UAAU,GACV,eAAe,MACf,cAAc,QACd,cAAc,SACd,WAAW,kBACX,UACA,YAAY,IACZ,gBACuC;CAEvC,MAAM,kBAAkB,aAAa;CACrC,MAAM,oBAAoB,YAAY;CAItC,MAAMA,mBADwB,mBAAmB,IACDC;CAGhD,MAAM,kBAAkB,WAAW,SAAS;CAC5C,MAAM,mBACH,WAAW,UAAU,aAAa,WAAW,UAAU,aACxD,WAAW,SAAS,UAChB,OAAO,WAAW,SAAS,aAAa,WAAW,SAAS,SAAS,KACrE;CAGN,MAAM,eAAe,oBAAoB;CACzC,MAAM,cAAc,aAAa;CAGjC,MAAM,eAAe,UAAU,UAAU,WAAW;CAGpD,MAAM,gBAAgB;EACpB;EACA;EACA,aAAa;EACb,MAAM,gBAAgB,KAAK,QAAQ,WAAW,aAAa,GAAG,mBAAmB,aAAa,GAAG,gBAAgB,SAAS,mBAAmB,eAAe;EAC5J,OAAO;EACP;EACD,CACE,OAAO,QAAQ,CACf,KAAK,IAAI;CAGZ,MAAM,iBAAsC;EAC1C,GAAI,YAAY,EAAE,WAAW,GAAG,UAAU,KAAK,GAAG,EAAE;EACpD,YAAY;EACZ;EACD;AAGD,KAAI,CAAC,mBAAmB;AACtB,UAAQ,KAAK,8DAA8D;AAC3E,SAAO,oBAAC,OAAD;GAAK,WAAW;GAAe,OAAO;GAAkB,CAAA;;AAUjE,QACE,oBAAC,OAAD;EAAK,WAAU;YACb,oBAAC,OAAD;GAAK,WAAW;GAAe,OAAO;aARrB,sBACnB,UACA,YACD,CAMmB,KAAK,gBAAgB,aACjC,oBAACD,kBAAD;IAEE,QAAQ;IACR,UAAU;IACV,WAAW,qBAAqB;IAChC,EAJK,SAIL,CACF;GACE,CAAA;EACF,CAAA;;AAIV,MAAa,6BAAmD;CAC9D,YAAY;CACZ,aAAa;CACb,QAAQ;EAEN;GACE,KAAK;GACL,OAAO;GACP,MAAM;GACN,aAAa;GACb,cAAc;GACd,OAAO;GACR;EAGD,YAAY;GACV,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACF;GACE,MAAM;GACN,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR;EACD,gBAAgB;GACd,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACF,qBAAqB;GACnB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACF,oBAAoB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACF,oBAAoB;GAClB,KAAK;GACL,OAAO;GACP,aAAa;GACb,cAAc;GACd,OAAO;GACR,CAAC;EACH;CACF"}
@@ -44,7 +44,7 @@ const alignmentClasses = {
44
44
  center: "justify-center",
45
45
  right: "justify-end"
46
46
  };
47
- function LinkWidget({ text = "Click Here", href = "", openInNewTab = true, variant = "default", size = "default", fontSize = "sm", alignment = "center", fullWidth = false, padding = 0, borderRadius, borderRadiusTL, borderRadiusTR, borderRadiusBL, borderRadiusBR, previewMode = false, editMode = false, className, ...props }) {
47
+ function LinkWidget({ text = "Click Here", href = "", openInNewTab = true, variant = "default", size = "default", fontSize = "sm", alignment = "center", fullWidth = false, padding = 0, borderRadius, borderRadiusTL, borderRadiusTR, borderRadiusBL, borderRadiusBR, borderWidth = "none", borderColor = "muted", previewMode = false, editMode = false, className, ...props }) {
48
48
  if (previewMode) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
49
49
  className: `flex justify-center p-4 ${className ?? ""}`,
50
50
  ...props,
@@ -71,7 +71,7 @@ function LinkWidget({ text = "Click Here", href = "", openInNewTab = true, varia
71
71
  const br = borderRadiusBR ?? fallback;
72
72
  const buttonClasses = `text-${fontSize} ${`rounded-none ${borderRadiusTLClasses[tl]} ${borderRadiusTRClasses[tr]} ${borderRadiusBLClasses[bl]} ${borderRadiusBRClasses[br]}`} ${fullWidth ? "w-full" : ""}`;
73
73
  return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
74
- className: `flex ${alignmentClasses[alignment]} p-${padding} ${className ?? ""}`,
74
+ className: `flex ${alignmentClasses[alignment]} p-${padding} ${_fluid_app_portal_core_registries.borderWidthClasses[borderWidth]} ${borderWidth !== "none" ? _fluid_app_portal_core_registries.borderColorClasses[borderColor] : ""} ${className ?? ""}`,
75
75
  ...props,
76
76
  children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_src.Button, {
77
77
  asChild: true,
@@ -205,7 +205,21 @@ const linkWidgetPropertySchema = {
205
205
  key: "borderRadiusGroup",
206
206
  label: "Border Radius",
207
207
  defaultValue: "md",
208
- group: "Border Radius"
208
+ group: "Design"
209
+ }),
210
+ (0, _fluid_app_portal_core_registries.getBorderWidthField)({
211
+ key: "borderWidth",
212
+ label: "Border Width",
213
+ description: "Border width for the widget",
214
+ defaultValue: "none",
215
+ group: "Design"
216
+ }),
217
+ (0, _fluid_app_portal_core_registries.getBorderColorField)({
218
+ key: "borderColor",
219
+ label: "Border Color",
220
+ description: "Border color for the widget",
221
+ defaultValue: "muted",
222
+ group: "Design"
209
223
  })
210
224
  ]
211
225
  };
@@ -223,4 +237,4 @@ Object.defineProperty(exports, "linkWidgetPropertySchema", {
223
237
  }
224
238
  });
225
239
 
226
- //# sourceMappingURL=LinkWidget-BFBAfz2T.cjs.map
240
+ //# sourceMappingURL=LinkWidget-CJKveS10.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkWidget-CJKveS10.cjs","names":["borderWidthClasses","borderColorClasses","Button"],"sources":["../../widgets/src/widgets/LinkWidget.tsx"],"sourcesContent":["import type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport type { ComponentProps } from \"react\";\nimport type React from \"react\";\nimport { Button } from \"@fluid-app/ui-primitives\";\nimport {\n getBorderRadiusCompositeField,\n getBorderWidthField,\n getBorderColorField,\n borderWidthClasses,\n borderColorClasses,\n getButtonSizeField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport type {\n BorderRadiusOptions,\n BorderWidthOptions,\n ButtonSizeOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\n\ntype LinkVariant =\n | \"default\"\n | \"outline\"\n | \"secondary\"\n | \"ghost\"\n | \"destructive\";\n\nconst borderRadiusTLClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-tl-none\",\n sm: \"rounded-tl-sm\",\n md: \"rounded-tl-md\",\n lg: \"rounded-tl-lg\",\n xl: \"rounded-tl-xl\",\n full: \"rounded-tl-full\",\n};\n\nconst borderRadiusTRClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-tr-none\",\n sm: \"rounded-tr-sm\",\n md: \"rounded-tr-md\",\n lg: \"rounded-tr-lg\",\n xl: \"rounded-tr-xl\",\n full: \"rounded-tr-full\",\n};\n\nconst borderRadiusBLClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-bl-none\",\n sm: \"rounded-bl-sm\",\n md: \"rounded-bl-md\",\n lg: \"rounded-bl-lg\",\n xl: \"rounded-bl-xl\",\n full: \"rounded-bl-full\",\n};\n\nconst borderRadiusBRClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-br-none\",\n sm: \"rounded-br-sm\",\n md: \"rounded-br-md\",\n lg: \"rounded-br-lg\",\n xl: \"rounded-br-xl\",\n full: \"rounded-br-full\",\n};\n\nfunction sanitizeHref(url: string): string | undefined {\n if (!url) return undefined;\n if (/^(https?:|mailto:|tel:|\\/)/i.test(url)) return url;\n return undefined;\n}\n\ntype LinkWidgetProps = ComponentProps<\"div\"> & {\n text?: string;\n href?: string;\n openInNewTab?: boolean;\n variant?: LinkVariant;\n size?: ButtonSizeOptions;\n fontSize?: FontSizeOptions;\n alignment?: \"left\" | \"center\" | \"right\";\n fullWidth?: boolean;\n padding?: PaddingOptions;\n /** @deprecated Use per-corner props instead */\n borderRadius?: BorderRadiusOptions;\n borderRadiusTL?: BorderRadiusOptions;\n borderRadiusTR?: BorderRadiusOptions;\n borderRadiusBL?: BorderRadiusOptions;\n borderRadiusBR?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n previewMode?: boolean;\n editMode?: boolean;\n};\n\nconst alignmentClasses = {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n} as const;\n\nexport function LinkWidget({\n text = \"Click Here\",\n href = \"\",\n openInNewTab = true,\n variant = \"default\",\n size = \"default\",\n fontSize = \"sm\",\n alignment = \"center\",\n fullWidth = false,\n padding = 0,\n borderRadius,\n borderRadiusTL,\n borderRadiusTR,\n borderRadiusBL,\n borderRadiusBR,\n borderWidth = \"none\",\n borderColor = \"muted\",\n previewMode = false,\n editMode = false,\n className,\n ...props\n}: LinkWidgetProps): React.JSX.Element {\n if (previewMode) {\n return (\n <div className={`flex justify-center p-4 ${className ?? \"\"}`} {...props}>\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"36px\",\n padding: \"0 16px\",\n borderRadius: \"6px\",\n backgroundColor: \"#18181b\",\n color: \"#ffffff\",\n fontSize: \"14px\",\n fontWeight: 500,\n }}\n >\n {text}\n </span>\n </div>\n );\n }\n\n const fallback = borderRadius ?? \"md\";\n const tl = borderRadiusTL ?? fallback;\n const tr = borderRadiusTR ?? fallback;\n const bl = borderRadiusBL ?? fallback;\n const br = borderRadiusBR ?? fallback;\n const borderRadiusClasses = `rounded-none ${borderRadiusTLClasses[tl]} ${borderRadiusTRClasses[tr]} ${borderRadiusBLClasses[bl]} ${borderRadiusBRClasses[br]}`;\n const buttonClasses = `text-${fontSize} ${borderRadiusClasses} ${fullWidth ? \"w-full\" : \"\"}`;\n\n return (\n <div\n className={`flex ${alignmentClasses[alignment]} p-${padding} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"} ${className ?? \"\"}`}\n {...props}\n >\n <Button asChild variant={variant} size={size} className={buttonClasses}>\n {editMode ? (\n <span className=\"cursor-default\">{text}</span>\n ) : (\n <a\n href={sanitizeHref(href)}\n {...(openInNewTab\n ? { target: \"_blank\", rel: \"noopener noreferrer\" }\n : {})}\n >\n {text}\n </a>\n )}\n </Button>\n </div>\n );\n}\n\nexport const linkWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"LinkWidget\",\n displayName: \"Link Button\",\n fields: [\n // Link Group\n {\n key: \"text\",\n label: \"Text\",\n type: \"text\",\n description: \"The button label text\",\n defaultValue: \"Click Here\",\n group: \"Link\",\n },\n {\n key: \"href\",\n label: \"URL\",\n type: \"text\",\n description: \"The destination URL\",\n defaultValue: \"\",\n group: \"Link\",\n },\n {\n key: \"openInNewTab\",\n label: \"Open in New Tab\",\n type: \"boolean\",\n description: \"Whether to open the link in a new tab\",\n defaultValue: true,\n group: \"Link\",\n },\n // Button Style Group\n {\n key: \"variant\",\n label: \"Variant\",\n type: \"select\",\n description: \"The visual style of the button\",\n options: [\n { label: \"Default\", value: \"default\" },\n { label: \"Outline\", value: \"outline\" },\n { label: \"Secondary\", value: \"secondary\" },\n { label: \"Ghost\", value: \"ghost\" },\n { label: \"Destructive\", value: \"destructive\" },\n ],\n defaultValue: \"default\",\n group: \"Button Style\",\n },\n getButtonSizeField({\n key: \"size\",\n label: \"Size\",\n description: \"The size of the button\",\n defaultValue: \"default\",\n group: \"Button Style\",\n }),\n getFontSizeField({\n key: \"fontSize\",\n label: \"Text Size\",\n description: \"The font size of the button text\",\n defaultValue: \"sm\",\n group: \"Button Style\",\n }),\n // Layout Group\n {\n key: \"alignment\",\n label: \"Alignment\",\n type: \"buttonGroup\",\n description: \"Horizontal alignment of the button\",\n options: [\n { label: \"Left\", value: \"left\" },\n { label: \"Center\", value: \"center\" },\n { label: \"Right\", value: \"right\" },\n ],\n defaultValue: \"center\",\n group: \"Layout\",\n },\n {\n key: \"fullWidth\",\n label: \"Full Width\",\n type: \"boolean\",\n description: \"Makes the button stretch to full container width\",\n defaultValue: false,\n group: \"Layout\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Outer container padding\",\n defaultValue: 0,\n group: \"Layout\",\n }),\n // Design Group\n getBorderRadiusCompositeField({\n key: \"borderRadiusGroup\",\n label: \"Border Radius\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Border width for the widget\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Border color for the widget\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n ],\n};\n"],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  require("./chunk-DAgNkxik.cjs");
2
2
  require("./fields-BCNGRVzZ.cjs");
3
3
  require("./src-CWGmmrLZ.cjs");
4
- const require_LinkWidget = require("./LinkWidget-BFBAfz2T.cjs");
4
+ const require_LinkWidget = require("./LinkWidget-CJKveS10.cjs");
5
5
  exports.linkWidgetPropertySchema = require_LinkWidget.linkWidgetPropertySchema;
@@ -1,5 +1,5 @@
1
1
  import { n as __exportAll } from "./chunk-CRV2RMSr.mjs";
2
- import { i as getButtonSizeField, n as getBorderRadiusCompositeField, o as getFontSizeField, u as getPaddingField } from "./fields-DW1nDGRz.mjs";
2
+ import { a as getBorderRadiusCompositeField, c as getButtonSizeField, i as getBorderColorField, m as getPaddingField, n as borderWidthClasses, s as getBorderWidthField, t as borderColorClasses, u as getFontSizeField } from "./fields-CjDogNNF.mjs";
3
3
  import { on as Button } from "./src-BVkLGnwV.mjs";
4
4
  import { jsx } from "react/jsx-runtime";
5
5
  //#region ../widgets/src/widgets/LinkWidget.tsx
@@ -48,7 +48,7 @@ const alignmentClasses = {
48
48
  center: "justify-center",
49
49
  right: "justify-end"
50
50
  };
51
- function LinkWidget({ text = "Click Here", href = "", openInNewTab = true, variant = "default", size = "default", fontSize = "sm", alignment = "center", fullWidth = false, padding = 0, borderRadius, borderRadiusTL, borderRadiusTR, borderRadiusBL, borderRadiusBR, previewMode = false, editMode = false, className, ...props }) {
51
+ function LinkWidget({ text = "Click Here", href = "", openInNewTab = true, variant = "default", size = "default", fontSize = "sm", alignment = "center", fullWidth = false, padding = 0, borderRadius, borderRadiusTL, borderRadiusTR, borderRadiusBL, borderRadiusBR, borderWidth = "none", borderColor = "muted", previewMode = false, editMode = false, className, ...props }) {
52
52
  if (previewMode) return /* @__PURE__ */ jsx("div", {
53
53
  className: `flex justify-center p-4 ${className ?? ""}`,
54
54
  ...props,
@@ -75,7 +75,7 @@ function LinkWidget({ text = "Click Here", href = "", openInNewTab = true, varia
75
75
  const br = borderRadiusBR ?? fallback;
76
76
  const buttonClasses = `text-${fontSize} ${`rounded-none ${borderRadiusTLClasses[tl]} ${borderRadiusTRClasses[tr]} ${borderRadiusBLClasses[bl]} ${borderRadiusBRClasses[br]}`} ${fullWidth ? "w-full" : ""}`;
77
77
  return /* @__PURE__ */ jsx("div", {
78
- className: `flex ${alignmentClasses[alignment]} p-${padding} ${className ?? ""}`,
78
+ className: `flex ${alignmentClasses[alignment]} p-${padding} ${borderWidthClasses[borderWidth]} ${borderWidth !== "none" ? borderColorClasses[borderColor] : ""} ${className ?? ""}`,
79
79
  ...props,
80
80
  children: /* @__PURE__ */ jsx(Button, {
81
81
  asChild: true,
@@ -209,11 +209,25 @@ const linkWidgetPropertySchema = {
209
209
  key: "borderRadiusGroup",
210
210
  label: "Border Radius",
211
211
  defaultValue: "md",
212
- group: "Border Radius"
212
+ group: "Design"
213
+ }),
214
+ getBorderWidthField({
215
+ key: "borderWidth",
216
+ label: "Border Width",
217
+ description: "Border width for the widget",
218
+ defaultValue: "none",
219
+ group: "Design"
220
+ }),
221
+ getBorderColorField({
222
+ key: "borderColor",
223
+ label: "Border Color",
224
+ description: "Border color for the widget",
225
+ defaultValue: "muted",
226
+ group: "Design"
213
227
  })
214
228
  ]
215
229
  };
216
230
  //#endregion
217
231
  export { LinkWidget_exports as n, linkWidgetPropertySchema as r, LinkWidget as t };
218
232
 
219
- //# sourceMappingURL=LinkWidget-DImz_Kgl.mjs.map
233
+ //# sourceMappingURL=LinkWidget-NR2OqU4Y.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LinkWidget-NR2OqU4Y.mjs","names":[],"sources":["../../widgets/src/widgets/LinkWidget.tsx"],"sourcesContent":["import type { WidgetPropertySchema } from \"@fluid-app/portal-core/registries\";\nimport type { ComponentProps } from \"react\";\nimport type React from \"react\";\nimport { Button } from \"@fluid-app/ui-primitives\";\nimport {\n getBorderRadiusCompositeField,\n getBorderWidthField,\n getBorderColorField,\n borderWidthClasses,\n borderColorClasses,\n getButtonSizeField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport type {\n BorderRadiusOptions,\n BorderWidthOptions,\n ButtonSizeOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/portal-core/types\";\n\ntype LinkVariant =\n | \"default\"\n | \"outline\"\n | \"secondary\"\n | \"ghost\"\n | \"destructive\";\n\nconst borderRadiusTLClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-tl-none\",\n sm: \"rounded-tl-sm\",\n md: \"rounded-tl-md\",\n lg: \"rounded-tl-lg\",\n xl: \"rounded-tl-xl\",\n full: \"rounded-tl-full\",\n};\n\nconst borderRadiusTRClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-tr-none\",\n sm: \"rounded-tr-sm\",\n md: \"rounded-tr-md\",\n lg: \"rounded-tr-lg\",\n xl: \"rounded-tr-xl\",\n full: \"rounded-tr-full\",\n};\n\nconst borderRadiusBLClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-bl-none\",\n sm: \"rounded-bl-sm\",\n md: \"rounded-bl-md\",\n lg: \"rounded-bl-lg\",\n xl: \"rounded-bl-xl\",\n full: \"rounded-bl-full\",\n};\n\nconst borderRadiusBRClasses: Record<BorderRadiusOptions, string> = {\n none: \"rounded-br-none\",\n sm: \"rounded-br-sm\",\n md: \"rounded-br-md\",\n lg: \"rounded-br-lg\",\n xl: \"rounded-br-xl\",\n full: \"rounded-br-full\",\n};\n\nfunction sanitizeHref(url: string): string | undefined {\n if (!url) return undefined;\n if (/^(https?:|mailto:|tel:|\\/)/i.test(url)) return url;\n return undefined;\n}\n\ntype LinkWidgetProps = ComponentProps<\"div\"> & {\n text?: string;\n href?: string;\n openInNewTab?: boolean;\n variant?: LinkVariant;\n size?: ButtonSizeOptions;\n fontSize?: FontSizeOptions;\n alignment?: \"left\" | \"center\" | \"right\";\n fullWidth?: boolean;\n padding?: PaddingOptions;\n /** @deprecated Use per-corner props instead */\n borderRadius?: BorderRadiusOptions;\n borderRadiusTL?: BorderRadiusOptions;\n borderRadiusTR?: BorderRadiusOptions;\n borderRadiusBL?: BorderRadiusOptions;\n borderRadiusBR?: BorderRadiusOptions;\n borderWidth?: BorderWidthOptions;\n borderColor?: ColorOptions;\n previewMode?: boolean;\n editMode?: boolean;\n};\n\nconst alignmentClasses = {\n left: \"justify-start\",\n center: \"justify-center\",\n right: \"justify-end\",\n} as const;\n\nexport function LinkWidget({\n text = \"Click Here\",\n href = \"\",\n openInNewTab = true,\n variant = \"default\",\n size = \"default\",\n fontSize = \"sm\",\n alignment = \"center\",\n fullWidth = false,\n padding = 0,\n borderRadius,\n borderRadiusTL,\n borderRadiusTR,\n borderRadiusBL,\n borderRadiusBR,\n borderWidth = \"none\",\n borderColor = \"muted\",\n previewMode = false,\n editMode = false,\n className,\n ...props\n}: LinkWidgetProps): React.JSX.Element {\n if (previewMode) {\n return (\n <div className={`flex justify-center p-4 ${className ?? \"\"}`} {...props}>\n <span\n style={{\n display: \"inline-flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"36px\",\n padding: \"0 16px\",\n borderRadius: \"6px\",\n backgroundColor: \"#18181b\",\n color: \"#ffffff\",\n fontSize: \"14px\",\n fontWeight: 500,\n }}\n >\n {text}\n </span>\n </div>\n );\n }\n\n const fallback = borderRadius ?? \"md\";\n const tl = borderRadiusTL ?? fallback;\n const tr = borderRadiusTR ?? fallback;\n const bl = borderRadiusBL ?? fallback;\n const br = borderRadiusBR ?? fallback;\n const borderRadiusClasses = `rounded-none ${borderRadiusTLClasses[tl]} ${borderRadiusTRClasses[tr]} ${borderRadiusBLClasses[bl]} ${borderRadiusBRClasses[br]}`;\n const buttonClasses = `text-${fontSize} ${borderRadiusClasses} ${fullWidth ? \"w-full\" : \"\"}`;\n\n return (\n <div\n className={`flex ${alignmentClasses[alignment]} p-${padding} ${borderWidthClasses[borderWidth]} ${borderWidth !== \"none\" ? borderColorClasses[borderColor] : \"\"} ${className ?? \"\"}`}\n {...props}\n >\n <Button asChild variant={variant} size={size} className={buttonClasses}>\n {editMode ? (\n <span className=\"cursor-default\">{text}</span>\n ) : (\n <a\n href={sanitizeHref(href)}\n {...(openInNewTab\n ? { target: \"_blank\", rel: \"noopener noreferrer\" }\n : {})}\n >\n {text}\n </a>\n )}\n </Button>\n </div>\n );\n}\n\nexport const linkWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"LinkWidget\",\n displayName: \"Link Button\",\n fields: [\n // Link Group\n {\n key: \"text\",\n label: \"Text\",\n type: \"text\",\n description: \"The button label text\",\n defaultValue: \"Click Here\",\n group: \"Link\",\n },\n {\n key: \"href\",\n label: \"URL\",\n type: \"text\",\n description: \"The destination URL\",\n defaultValue: \"\",\n group: \"Link\",\n },\n {\n key: \"openInNewTab\",\n label: \"Open in New Tab\",\n type: \"boolean\",\n description: \"Whether to open the link in a new tab\",\n defaultValue: true,\n group: \"Link\",\n },\n // Button Style Group\n {\n key: \"variant\",\n label: \"Variant\",\n type: \"select\",\n description: \"The visual style of the button\",\n options: [\n { label: \"Default\", value: \"default\" },\n { label: \"Outline\", value: \"outline\" },\n { label: \"Secondary\", value: \"secondary\" },\n { label: \"Ghost\", value: \"ghost\" },\n { label: \"Destructive\", value: \"destructive\" },\n ],\n defaultValue: \"default\",\n group: \"Button Style\",\n },\n getButtonSizeField({\n key: \"size\",\n label: \"Size\",\n description: \"The size of the button\",\n defaultValue: \"default\",\n group: \"Button Style\",\n }),\n getFontSizeField({\n key: \"fontSize\",\n label: \"Text Size\",\n description: \"The font size of the button text\",\n defaultValue: \"sm\",\n group: \"Button Style\",\n }),\n // Layout Group\n {\n key: \"alignment\",\n label: \"Alignment\",\n type: \"buttonGroup\",\n description: \"Horizontal alignment of the button\",\n options: [\n { label: \"Left\", value: \"left\" },\n { label: \"Center\", value: \"center\" },\n { label: \"Right\", value: \"right\" },\n ],\n defaultValue: \"center\",\n group: \"Layout\",\n },\n {\n key: \"fullWidth\",\n label: \"Full Width\",\n type: \"boolean\",\n description: \"Makes the button stretch to full container width\",\n defaultValue: false,\n group: \"Layout\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Outer container padding\",\n defaultValue: 0,\n group: \"Layout\",\n }),\n // Design Group\n getBorderRadiusCompositeField({\n key: \"borderRadiusGroup\",\n label: \"Border Radius\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n getBorderWidthField({\n key: \"borderWidth\",\n label: \"Border Width\",\n description: \"Border width for the widget\",\n defaultValue: \"none\",\n group: \"Design\",\n }),\n getBorderColorField({\n key: \"borderColor\",\n label: \"Border Color\",\n description: \"Border color for the widget\",\n defaultValue: \"muted\",\n group: \"Design\",\n }),\n ],\n};\n"],"mappings":"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"}
@@ -4,5 +4,5 @@ require("./fields-BCNGRVzZ.cjs");
4
4
  require("./purify.es-CmsCRU2T.cjs");
5
5
  require("./scroll-arrows-Dw7eLYdG.cjs");
6
6
  require("./MediaRenderer-CEV-eeB-.cjs");
7
- const require_ListWidget = require("./ListWidget-4nc_OvSx.cjs");
7
+ const require_ListWidget = require("./ListWidget-D8yMrpa5.cjs");
8
8
  exports.listWidgetPropertySchema = require_ListWidget.listWidgetPropertySchema;
@@ -366,7 +366,7 @@ function getFeaturedAssetUrl(value) {
366
366
  };
367
367
  }
368
368
  }
369
- function ListWidget({ listType = "unordered", scrollAxis = "horizontal", titleEnabled = true, title, items = DEFAULT_ITEMS, titleColor = "foreground", titleSize = "lg", itemTitleColor = "foreground", itemTitleSize = "sm", descriptionColor = "foreground", descriptionSize = "sm", priceColor = "foreground", priceSize = "md", originalPriceColor = "muted", metaTextColor = "muted", metaTextSize = "xs", numberColor = "primary", numberSize = "2xl", borderRadius = "md", padding = 4, gap = "md", columns = 3, imageAspectRatio = "square", background = {
369
+ function ListWidget({ listType = "unordered", scrollAxis = "horizontal", titleEnabled = true, title, items = DEFAULT_ITEMS, titleColor = "foreground", titleSize = "lg", itemTitleColor = "foreground", itemTitleSize = "sm", descriptionColor = "foreground", descriptionSize = "sm", priceColor = "foreground", priceSize = "md", originalPriceColor = "muted", metaTextColor = "muted", metaTextSize = "xs", numberColor = "primary", numberSize = "2xl", borderRadius = "md", borderWidth = "none", borderColor = "muted", padding = 4, gap = "md", columns = 3, imageAspectRatio = "square", background = {
370
370
  type: "solid",
371
371
  color: "background"
372
372
  }, showBadge = true, showMetaText = true, maxItems = 12, showFeaturedSection = false, featuredAsset, featuredTitle, featuredSubtitle, featuredButtonText, featuredButtonUrl, featuredSubtitleColor = "background", featuredSubtitleSize = "md", className, ...props }) {
@@ -394,7 +394,7 @@ function ListWidget({ listType = "unordered", scrollAxis = "horizontal", titleEn
394
394
  const backgroundColor = background.color || "background";
395
395
  const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && background.type === "image" ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
396
396
  return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
397
- className: `@container bg-${backgroundColor} ${className}`,
397
+ className: `@container bg-${backgroundColor} rounded-${borderRadius} ${_fluid_app_portal_core_registries.borderWidthClasses[borderWidth]} ${borderWidth !== "none" ? _fluid_app_portal_core_registries.borderColorClasses[borderColor] : ""} ${className}`,
398
398
  style: { backgroundImage },
399
399
  ...props,
400
400
  children: [titleEnabled && title && /* @__PURE__ */ (0, react_jsx_runtime.jsx)("h2", {
@@ -513,6 +513,22 @@ const listWidgetPropertySchema = {
513
513
  tab: "styling",
514
514
  group: "Design"
515
515
  }),
516
+ (0, _fluid_app_portal_core_registries.getBorderWidthField)({
517
+ key: "borderWidth",
518
+ label: "Border Width",
519
+ description: "Border width for the widget",
520
+ defaultValue: "none",
521
+ tab: "styling",
522
+ group: "Design"
523
+ }),
524
+ (0, _fluid_app_portal_core_registries.getBorderColorField)({
525
+ key: "borderColor",
526
+ label: "Border Color",
527
+ description: "Border color for the widget",
528
+ defaultValue: "muted",
529
+ tab: "styling",
530
+ group: "Design"
531
+ }),
516
532
  (0, _fluid_app_portal_core_registries.getGapField)({
517
533
  key: "gap",
518
534
  label: "Gap",
@@ -903,4 +919,4 @@ Object.defineProperty(exports, "listWidgetPropertySchema", {
903
919
  }
904
920
  });
905
921
 
906
- //# sourceMappingURL=ListWidget-4nc_OvSx.cjs.map
922
+ //# sourceMappingURL=ListWidget-D8yMrpa5.cjs.map