@fluid-app/rep-widgets 0.1.16 → 0.1.17

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 (337) hide show
  1. package/dist/AlertWidget-CiMRJYmn.mjs +22 -0
  2. package/dist/AlertWidget-CiMRJYmn.mjs.map +1 -0
  3. package/dist/AlertWidget-DU_HP0EW.cjs +39 -0
  4. package/dist/AlertWidget-DU_HP0EW.cjs.map +1 -0
  5. package/dist/CalendarWidget-BI8sv5HJ.cjs +441 -0
  6. package/dist/CalendarWidget-BI8sv5HJ.cjs.map +1 -0
  7. package/dist/CalendarWidget-Dk8O2NRC.mjs +424 -0
  8. package/dist/CalendarWidget-Dk8O2NRC.mjs.map +1 -0
  9. package/dist/CarouselWidget-0RP-Rd1D.mjs +436 -0
  10. package/dist/CarouselWidget-0RP-Rd1D.mjs.map +1 -0
  11. package/dist/CarouselWidget-DLADgLPJ.cjs +453 -0
  12. package/dist/CarouselWidget-DLADgLPJ.cjs.map +1 -0
  13. package/dist/CatchUpWidget-CUnCumIf.mjs +247 -0
  14. package/dist/CatchUpWidget-CUnCumIf.mjs.map +1 -0
  15. package/dist/CatchUpWidget-DiqdwPvE.cjs +264 -0
  16. package/dist/CatchUpWidget-DiqdwPvE.cjs.map +1 -0
  17. package/dist/ChartWidget-DhAVW8w4.cjs +432 -0
  18. package/dist/ChartWidget-DhAVW8w4.cjs.map +1 -0
  19. package/dist/ChartWidget-DrF1e1sy.mjs +415 -0
  20. package/dist/ChartWidget-DrF1e1sy.mjs.map +1 -0
  21. package/dist/ContainerWidget-Cp0_vPZB.cjs +61 -0
  22. package/dist/ContainerWidget-Cp0_vPZB.cjs.map +1 -0
  23. package/dist/ContainerWidget-Xd231yys.mjs +44 -0
  24. package/dist/ContainerWidget-Xd231yys.mjs.map +1 -0
  25. package/dist/EmbedWidget-BQyYm50g.cjs +173 -0
  26. package/dist/EmbedWidget-BQyYm50g.cjs.map +1 -0
  27. package/dist/EmbedWidget-DQ2rCA4j.mjs +156 -0
  28. package/dist/EmbedWidget-DQ2rCA4j.mjs.map +1 -0
  29. package/dist/ImageWidget-DBBul7ca.mjs +150 -0
  30. package/dist/ImageWidget-DBBul7ca.mjs.map +1 -0
  31. package/dist/ImageWidget-DTwM7xCz.cjs +167 -0
  32. package/dist/ImageWidget-DTwM7xCz.cjs.map +1 -0
  33. package/dist/LayoutWidget-B1itwSsn.mjs +107 -0
  34. package/dist/LayoutWidget-B1itwSsn.mjs.map +1 -0
  35. package/dist/LayoutWidget-CWE_9JB5.cjs +124 -0
  36. package/dist/LayoutWidget-CWE_9JB5.cjs.map +1 -0
  37. package/dist/ListWidget-CxaLm0D5.cjs +919 -0
  38. package/dist/ListWidget-CxaLm0D5.cjs.map +1 -0
  39. package/dist/ListWidget-EXPlzfUE.mjs +901 -0
  40. package/dist/ListWidget-EXPlzfUE.mjs.map +1 -0
  41. package/dist/MediaRenderer-CcJvyOJ1.cjs +181 -0
  42. package/dist/MediaRenderer-CcJvyOJ1.cjs.map +1 -0
  43. package/dist/MediaRenderer-Uq90PZcY.mjs +163 -0
  44. package/dist/MediaRenderer-Uq90PZcY.mjs.map +1 -0
  45. package/dist/MySiteWidget-BTyb5AJM.mjs +262 -0
  46. package/dist/MySiteWidget-BTyb5AJM.mjs.map +1 -0
  47. package/dist/MySiteWidget-iRPl6b2F.cjs +279 -0
  48. package/dist/MySiteWidget-iRPl6b2F.cjs.map +1 -0
  49. package/dist/NestedWidget-CwyVsZ-f.mjs +330 -0
  50. package/dist/NestedWidget-CwyVsZ-f.mjs.map +1 -0
  51. package/dist/NestedWidget-DavPMVii.cjs +346 -0
  52. package/dist/NestedWidget-DavPMVii.cjs.map +1 -0
  53. package/dist/QuickShareWidget-BIOkquPG.cjs +262 -0
  54. package/dist/QuickShareWidget-BIOkquPG.cjs.map +1 -0
  55. package/dist/QuickShareWidget-BUbuTQFQ.mjs +245 -0
  56. package/dist/QuickShareWidget-BUbuTQFQ.mjs.map +1 -0
  57. package/dist/RecentActivityWidget-BgsjgQY5.cjs +408 -0
  58. package/dist/RecentActivityWidget-BgsjgQY5.cjs.map +1 -0
  59. package/dist/RecentActivityWidget-ComwTgR9.mjs +391 -0
  60. package/dist/RecentActivityWidget-ComwTgR9.mjs.map +1 -0
  61. package/dist/RegistryContext-6KXd4t6d.cjs +54 -0
  62. package/dist/RegistryContext-6KXd4t6d.cjs.map +1 -0
  63. package/dist/RegistryContext-CscXrsRa.mjs +36 -0
  64. package/dist/RegistryContext-CscXrsRa.mjs.map +1 -0
  65. package/dist/ScreenRenderer-BCd4Rsba.cjs +82 -0
  66. package/dist/ScreenRenderer-BCd4Rsba.cjs.map +1 -0
  67. package/dist/ScreenRenderer-CVJMpQ9A.mjs +76 -0
  68. package/dist/ScreenRenderer-CVJMpQ9A.mjs.map +1 -0
  69. package/dist/ScreenRendererContext-D62_Fazh.cjs +35 -0
  70. package/dist/ScreenRendererContext-D62_Fazh.cjs.map +1 -0
  71. package/dist/ScreenRendererContext-DaldtZnX.mjs +23 -0
  72. package/dist/ScreenRendererContext-DaldtZnX.mjs.map +1 -0
  73. package/dist/SpacerWidget-Bs18KYH9.mjs +43 -0
  74. package/dist/SpacerWidget-Bs18KYH9.mjs.map +1 -0
  75. package/dist/SpacerWidget-D-Foe9wG.cjs +60 -0
  76. package/dist/SpacerWidget-D-Foe9wG.cjs.map +1 -0
  77. package/dist/TableWidget-BeG92tkU.cjs +455 -0
  78. package/dist/TableWidget-BeG92tkU.cjs.map +1 -0
  79. package/dist/TableWidget-Cc4kQaOE.mjs +438 -0
  80. package/dist/TableWidget-Cc4kQaOE.mjs.map +1 -0
  81. package/dist/TextWidget-CQxOWNZK.mjs +129 -0
  82. package/dist/TextWidget-CQxOWNZK.mjs.map +1 -0
  83. package/dist/TextWidget-Cn7-yZGk.cjs +146 -0
  84. package/dist/TextWidget-Cn7-yZGk.cjs.map +1 -0
  85. package/dist/ToDoWidget--KBpHqbA.mjs +274 -0
  86. package/dist/ToDoWidget--KBpHqbA.mjs.map +1 -0
  87. package/dist/ToDoWidget-CK87BavM.cjs +291 -0
  88. package/dist/ToDoWidget-CK87BavM.cjs.map +1 -0
  89. package/dist/VideoWidget-DxuqyD5L.cjs +209 -0
  90. package/dist/VideoWidget-DxuqyD5L.cjs.map +1 -0
  91. package/dist/VideoWidget-uKkRf5pm.mjs +192 -0
  92. package/dist/VideoWidget-uKkRf5pm.mjs.map +1 -0
  93. package/dist/chunk-CZWwpsFl.cjs +43 -0
  94. package/dist/components/index.cjs +10 -13
  95. package/dist/components/index.cjs.map +1 -1
  96. package/dist/components/index.d.cts +8 -5
  97. package/dist/components/index.d.cts.map +1 -0
  98. package/dist/components/index.d.mts +11 -0
  99. package/dist/components/index.d.mts.map +1 -0
  100. package/dist/components/index.mjs +11 -0
  101. package/dist/components/index.mjs.map +1 -0
  102. package/dist/contexts/index.cjs +8 -29
  103. package/dist/contexts/index.d.cts +20 -14
  104. package/dist/contexts/index.d.cts.map +1 -0
  105. package/dist/contexts/{index.d.ts → index.d.mts} +20 -14
  106. package/dist/contexts/index.d.mts.map +1 -0
  107. package/dist/contexts/index.mjs +3 -0
  108. package/dist/core/index.cjs +37 -41
  109. package/dist/core/index.d.cts +41 -27
  110. package/dist/core/index.d.cts.map +1 -0
  111. package/dist/core/index.d.mts +78 -0
  112. package/dist/core/index.d.mts.map +1 -0
  113. package/dist/core/index.mjs +4 -0
  114. package/dist/error-state-DErSxZwH.mjs +18 -0
  115. package/dist/error-state-DErSxZwH.mjs.map +1 -0
  116. package/dist/error-state-DSzVUtEl.cjs +24 -0
  117. package/dist/error-state-DSzVUtEl.cjs.map +1 -0
  118. package/dist/fields-C29fgJje.mjs +2 -0
  119. package/dist/fields-CzY84PV7.d.cts +2 -0
  120. package/dist/fields-Da4_7j4S.d.mts +2 -0
  121. package/dist/rolldown-runtime-wcPFST8Q.mjs +13 -0
  122. package/dist/scroll-arrows-BZIlsE_x.cjs +35 -0
  123. package/dist/scroll-arrows-BZIlsE_x.cjs.map +1 -0
  124. package/dist/scroll-arrows-BevCYRNT.mjs +29 -0
  125. package/dist/scroll-arrows-BevCYRNT.mjs.map +1 -0
  126. package/dist/ui/index.cjs +69 -45
  127. package/dist/ui/index.d.cts +12 -7
  128. package/dist/ui/index.d.cts.map +1 -0
  129. package/dist/ui/index.d.mts +15 -0
  130. package/dist/ui/index.d.mts.map +1 -0
  131. package/dist/ui/index.mjs +3 -0
  132. package/dist/widgets/index.cjs +88 -209
  133. package/dist/widgets/index.cjs.map +1 -1
  134. package/dist/widgets/index.d.cts +814 -526
  135. package/dist/widgets/index.d.cts.map +1 -0
  136. package/dist/widgets/index.d.mts +892 -0
  137. package/dist/widgets/index.d.mts.map +1 -0
  138. package/dist/widgets/index.mjs +46 -0
  139. package/dist/widgets/index.mjs.map +1 -0
  140. package/package.json +6 -6
  141. package/dist/AlertWidget-3Q4AK7PE.js +0 -5
  142. package/dist/AlertWidget-3Q4AK7PE.js.map +0 -1
  143. package/dist/AlertWidget-C3YMPF7Y.cjs +0 -18
  144. package/dist/AlertWidget-C3YMPF7Y.cjs.map +0 -1
  145. package/dist/CalendarWidget-RAB5VESS.cjs +0 -18
  146. package/dist/CalendarWidget-RAB5VESS.cjs.map +0 -1
  147. package/dist/CalendarWidget-SEYTR3AG.js +0 -5
  148. package/dist/CalendarWidget-SEYTR3AG.js.map +0 -1
  149. package/dist/CarouselWidget-5LFXRR7Y.js +0 -6
  150. package/dist/CarouselWidget-5LFXRR7Y.js.map +0 -1
  151. package/dist/CarouselWidget-G5UHRD6R.cjs +0 -19
  152. package/dist/CarouselWidget-G5UHRD6R.cjs.map +0 -1
  153. package/dist/CatchUpWidget-NEMYZ7L5.js +0 -5
  154. package/dist/CatchUpWidget-NEMYZ7L5.js.map +0 -1
  155. package/dist/CatchUpWidget-XBU2GPFS.cjs +0 -18
  156. package/dist/CatchUpWidget-XBU2GPFS.cjs.map +0 -1
  157. package/dist/ChartWidget-463QVROY.cjs +0 -17
  158. package/dist/ChartWidget-463QVROY.cjs.map +0 -1
  159. package/dist/ChartWidget-554S2GQF.js +0 -4
  160. package/dist/ChartWidget-554S2GQF.js.map +0 -1
  161. package/dist/ContainerWidget-IOXW77X7.cjs +0 -21
  162. package/dist/ContainerWidget-IOXW77X7.cjs.map +0 -1
  163. package/dist/ContainerWidget-OLQPEXDT.js +0 -8
  164. package/dist/ContainerWidget-OLQPEXDT.js.map +0 -1
  165. package/dist/EmbedWidget-B7RFGTJB.js +0 -3
  166. package/dist/EmbedWidget-B7RFGTJB.js.map +0 -1
  167. package/dist/EmbedWidget-RETHBVTD.cjs +0 -16
  168. package/dist/EmbedWidget-RETHBVTD.cjs.map +0 -1
  169. package/dist/ImageWidget-BA2V3DPL.js +0 -4
  170. package/dist/ImageWidget-BA2V3DPL.js.map +0 -1
  171. package/dist/ImageWidget-SBC7LK7A.cjs +0 -17
  172. package/dist/ImageWidget-SBC7LK7A.cjs.map +0 -1
  173. package/dist/LayoutWidget-F3BDSGDP.cjs +0 -20
  174. package/dist/LayoutWidget-F3BDSGDP.cjs.map +0 -1
  175. package/dist/LayoutWidget-MBUJVGKA.js +0 -7
  176. package/dist/LayoutWidget-MBUJVGKA.js.map +0 -1
  177. package/dist/ListWidget-4PKBMBAS.cjs +0 -19
  178. package/dist/ListWidget-4PKBMBAS.cjs.map +0 -1
  179. package/dist/ListWidget-6SZK6X3X.js +0 -6
  180. package/dist/ListWidget-6SZK6X3X.js.map +0 -1
  181. package/dist/MySiteWidget-D6NFECIP.cjs +0 -18
  182. package/dist/MySiteWidget-D6NFECIP.cjs.map +0 -1
  183. package/dist/MySiteWidget-YA4DUIG7.js +0 -5
  184. package/dist/MySiteWidget-YA4DUIG7.js.map +0 -1
  185. package/dist/NestedWidget-UDNHYTMZ.cjs +0 -19
  186. package/dist/NestedWidget-UDNHYTMZ.cjs.map +0 -1
  187. package/dist/NestedWidget-VCZ3JBQY.js +0 -6
  188. package/dist/NestedWidget-VCZ3JBQY.js.map +0 -1
  189. package/dist/QuickShareWidget-LNUEJICJ.cjs +0 -17
  190. package/dist/QuickShareWidget-LNUEJICJ.cjs.map +0 -1
  191. package/dist/QuickShareWidget-SOQEHDR7.js +0 -4
  192. package/dist/QuickShareWidget-SOQEHDR7.js.map +0 -1
  193. package/dist/RecentActivityWidget-HA5N4HCZ.cjs +0 -18
  194. package/dist/RecentActivityWidget-HA5N4HCZ.cjs.map +0 -1
  195. package/dist/RecentActivityWidget-TP32GKHT.js +0 -5
  196. package/dist/RecentActivityWidget-TP32GKHT.js.map +0 -1
  197. package/dist/SpacerWidget-DX7QRN54.cjs +0 -16
  198. package/dist/SpacerWidget-DX7QRN54.cjs.map +0 -1
  199. package/dist/SpacerWidget-H464T5YD.js +0 -3
  200. package/dist/SpacerWidget-H464T5YD.js.map +0 -1
  201. package/dist/TableWidget-D46CWY4M.cjs +0 -18
  202. package/dist/TableWidget-D46CWY4M.cjs.map +0 -1
  203. package/dist/TableWidget-P4C4ZI23.js +0 -5
  204. package/dist/TableWidget-P4C4ZI23.js.map +0 -1
  205. package/dist/TextWidget-GNUQBLDJ.js +0 -4
  206. package/dist/TextWidget-GNUQBLDJ.js.map +0 -1
  207. package/dist/TextWidget-PUZPMPOC.cjs +0 -17
  208. package/dist/TextWidget-PUZPMPOC.cjs.map +0 -1
  209. package/dist/ToDoWidget-AOAMWMN4.js +0 -5
  210. package/dist/ToDoWidget-AOAMWMN4.js.map +0 -1
  211. package/dist/ToDoWidget-L6TXR37G.cjs +0 -18
  212. package/dist/ToDoWidget-L6TXR37G.cjs.map +0 -1
  213. package/dist/VideoWidget-T6S2D4WS.cjs +0 -17
  214. package/dist/VideoWidget-T6S2D4WS.cjs.map +0 -1
  215. package/dist/VideoWidget-TI72FPLK.js +0 -4
  216. package/dist/VideoWidget-TI72FPLK.js.map +0 -1
  217. package/dist/chunk-22AKFT5D.cjs +0 -274
  218. package/dist/chunk-22AKFT5D.cjs.map +0 -1
  219. package/dist/chunk-2NPVYROG.js +0 -117
  220. package/dist/chunk-2NPVYROG.js.map +0 -1
  221. package/dist/chunk-3EGVZDJH.cjs +0 -448
  222. package/dist/chunk-3EGVZDJH.cjs.map +0 -1
  223. package/dist/chunk-4ODOZF7H.js +0 -192
  224. package/dist/chunk-4ODOZF7H.js.map +0 -1
  225. package/dist/chunk-4ZFOJT6H.js +0 -271
  226. package/dist/chunk-4ZFOJT6H.js.map +0 -1
  227. package/dist/chunk-57ZUEL25.js +0 -14
  228. package/dist/chunk-57ZUEL25.js.map +0 -1
  229. package/dist/chunk-5VJYKNCS.cjs +0 -195
  230. package/dist/chunk-5VJYKNCS.cjs.map +0 -1
  231. package/dist/chunk-6GF46P3S.js +0 -33
  232. package/dist/chunk-6GF46P3S.js.map +0 -1
  233. package/dist/chunk-6RNVWRDD.cjs +0 -179
  234. package/dist/chunk-6RNVWRDD.cjs.map +0 -1
  235. package/dist/chunk-6ZECDBGI.js +0 -3
  236. package/dist/chunk-6ZECDBGI.js.map +0 -1
  237. package/dist/chunk-AQO2AKU2.cjs +0 -35
  238. package/dist/chunk-AQO2AKU2.cjs.map +0 -1
  239. package/dist/chunk-D43XJWX3.js +0 -300
  240. package/dist/chunk-D43XJWX3.js.map +0 -1
  241. package/dist/chunk-E5ERYB7Q.js +0 -39
  242. package/dist/chunk-E5ERYB7Q.js.map +0 -1
  243. package/dist/chunk-EPTJJSHT.cjs +0 -500
  244. package/dist/chunk-EPTJJSHT.cjs.map +0 -1
  245. package/dist/chunk-FDAUWHSY.cjs +0 -268
  246. package/dist/chunk-FDAUWHSY.cjs.map +0 -1
  247. package/dist/chunk-FSLUSFJ2.cjs +0 -75
  248. package/dist/chunk-FSLUSFJ2.cjs.map +0 -1
  249. package/dist/chunk-GC4SZ75B.js +0 -47
  250. package/dist/chunk-GC4SZ75B.js.map +0 -1
  251. package/dist/chunk-HDUFHTQC.js +0 -1024
  252. package/dist/chunk-HDUFHTQC.js.map +0 -1
  253. package/dist/chunk-HREBEVS5.cjs +0 -42
  254. package/dist/chunk-HREBEVS5.cjs.map +0 -1
  255. package/dist/chunk-IF36TB2H.js +0 -459
  256. package/dist/chunk-IF36TB2H.js.map +0 -1
  257. package/dist/chunk-J6HCPXT5.cjs +0 -40
  258. package/dist/chunk-J6HCPXT5.cjs.map +0 -1
  259. package/dist/chunk-JIS2K5YR.js +0 -13
  260. package/dist/chunk-JIS2K5YR.js.map +0 -1
  261. package/dist/chunk-JYWKXNUO.cjs +0 -37
  262. package/dist/chunk-JYWKXNUO.cjs.map +0 -1
  263. package/dist/chunk-KYCPG2DN.cjs +0 -17
  264. package/dist/chunk-KYCPG2DN.cjs.map +0 -1
  265. package/dist/chunk-L3HN4J2Y.js +0 -175
  266. package/dist/chunk-L3HN4J2Y.js.map +0 -1
  267. package/dist/chunk-LZJVUYSQ.cjs +0 -462
  268. package/dist/chunk-LZJVUYSQ.cjs.map +0 -1
  269. package/dist/chunk-MXWFM5J2.js +0 -493
  270. package/dist/chunk-MXWFM5J2.js.map +0 -1
  271. package/dist/chunk-NPTCR22X.cjs +0 -1031
  272. package/dist/chunk-NPTCR22X.cjs.map +0 -1
  273. package/dist/chunk-P4VXS3BG.cjs +0 -464
  274. package/dist/chunk-P4VXS3BG.cjs.map +0 -1
  275. package/dist/chunk-P6AKK6TA.cjs +0 -382
  276. package/dist/chunk-P6AKK6TA.cjs.map +0 -1
  277. package/dist/chunk-PLXOZ5BH.cjs +0 -140
  278. package/dist/chunk-PLXOZ5BH.cjs.map +0 -1
  279. package/dist/chunk-Q5YXTDPX.cjs +0 -150
  280. package/dist/chunk-Q5YXTDPX.cjs.map +0 -1
  281. package/dist/chunk-QB6UW6DD.js +0 -250
  282. package/dist/chunk-QB6UW6DD.js.map +0 -1
  283. package/dist/chunk-QG2INAJC.js +0 -461
  284. package/dist/chunk-QG2INAJC.js.map +0 -1
  285. package/dist/chunk-QXIIJNQK.cjs +0 -15
  286. package/dist/chunk-QXIIJNQK.cjs.map +0 -1
  287. package/dist/chunk-RKDOQV4T.js +0 -73
  288. package/dist/chunk-RKDOQV4T.js.map +0 -1
  289. package/dist/chunk-ROLEPF3N.js +0 -399
  290. package/dist/chunk-ROLEPF3N.js.map +0 -1
  291. package/dist/chunk-RPNLSRUS.cjs +0 -120
  292. package/dist/chunk-RPNLSRUS.cjs.map +0 -1
  293. package/dist/chunk-SINQXEBL.js +0 -160
  294. package/dist/chunk-SINQXEBL.js.map +0 -1
  295. package/dist/chunk-SLGOKKU7.cjs +0 -402
  296. package/dist/chunk-SLGOKKU7.cjs.map +0 -1
  297. package/dist/chunk-U6ODF4YB.cjs +0 -303
  298. package/dist/chunk-U6ODF4YB.cjs.map +0 -1
  299. package/dist/chunk-UXFD52LT.js +0 -137
  300. package/dist/chunk-UXFD52LT.js.map +0 -1
  301. package/dist/chunk-UZ7TYGUO.js +0 -147
  302. package/dist/chunk-UZ7TYGUO.js.map +0 -1
  303. package/dist/chunk-UZF75XZJ.js +0 -379
  304. package/dist/chunk-UZF75XZJ.js.map +0 -1
  305. package/dist/chunk-WTQNKZKV.cjs +0 -253
  306. package/dist/chunk-WTQNKZKV.cjs.map +0 -1
  307. package/dist/chunk-WWKBIVET.cjs +0 -163
  308. package/dist/chunk-WWKBIVET.cjs.map +0 -1
  309. package/dist/chunk-YDLNXR7R.js +0 -265
  310. package/dist/chunk-YDLNXR7R.js.map +0 -1
  311. package/dist/chunk-YOJRRPOG.js +0 -33
  312. package/dist/chunk-YOJRRPOG.js.map +0 -1
  313. package/dist/chunk-YU5DAILW.cjs +0 -14
  314. package/dist/chunk-YU5DAILW.cjs.map +0 -1
  315. package/dist/chunk-YZATKTYO.cjs +0 -50
  316. package/dist/chunk-YZATKTYO.cjs.map +0 -1
  317. package/dist/chunk-ZLTPLVOF.js +0 -445
  318. package/dist/chunk-ZLTPLVOF.js.map +0 -1
  319. package/dist/chunk-ZWFK5UUU.js +0 -11
  320. package/dist/chunk-ZWFK5UUU.js.map +0 -1
  321. package/dist/components/index.d.ts +0 -8
  322. package/dist/components/index.js +0 -11
  323. package/dist/components/index.js.map +0 -1
  324. package/dist/contexts/index.cjs.map +0 -1
  325. package/dist/contexts/index.js +0 -4
  326. package/dist/contexts/index.js.map +0 -1
  327. package/dist/core/index.cjs.map +0 -1
  328. package/dist/core/index.d.ts +0 -64
  329. package/dist/core/index.js +0 -6
  330. package/dist/core/index.js.map +0 -1
  331. package/dist/ui/index.cjs.map +0 -1
  332. package/dist/ui/index.d.ts +0 -10
  333. package/dist/ui/index.js +0 -4
  334. package/dist/ui/index.js.map +0 -1
  335. package/dist/widgets/index.d.ts +0 -604
  336. package/dist/widgets/index.js +0 -55
  337. package/dist/widgets/index.js.map +0 -1
@@ -1,253 +0,0 @@
1
- 'use strict';
2
-
3
- var chunkQXIIJNQK_cjs = require('./chunk-QXIIJNQK.cjs');
4
- var chunkJ6HCPXT5_cjs = require('./chunk-J6HCPXT5.cjs');
5
- var reactQuery = require('@tanstack/react-query');
6
- var context = require('@fluid-app/rep-core/data-sources/context');
7
- var previewContext = require('@fluid-app/rep-core/data-sources/preview-context');
8
- var reactFontawesome = require('@fortawesome/react-fontawesome');
9
- var proRegularSvgIcons = require('@fortawesome/pro-regular-svg-icons');
10
- var jsxRuntime = require('react/jsx-runtime');
11
-
12
- // src/hooks/use-catchups.preview.ts
13
- var PREVIEW_DATA = [
14
- { id: 1, suggestion_title: "Check in with Sarah about her recent order" },
15
- { id: 2, suggestion_title: "Follow up with Mike on product samples" },
16
- { id: 3, suggestion_title: "Reconnect with Lisa \u2014 last contact 30 days ago" },
17
- { id: 4, suggestion_title: "Thank Alex for their referral last week" },
18
- { id: 5, suggestion_title: "Share new catalog with Jordan" }
19
- ];
20
-
21
- // src/hooks/use-catchups.ts
22
- function useCatchUps() {
23
- const { baseUrl, getApiHeaders } = context.useDataSourceConfig();
24
- const { isPreview } = previewContext.useWidgetPreviewContext();
25
- return reactQuery.useQuery({
26
- queryKey: [
27
- "rep-widget-use",
28
- "catchups",
29
- isPreview ? "preview" : baseUrl
30
- ],
31
- queryFn: async ({ signal }) => {
32
- const url = baseUrl ? `${baseUrl}/affiliate_catch_up_actions.json` : "/affiliate_catch_up_actions.json";
33
- const response = await fetch(url, {
34
- headers: {
35
- "content-type": "application/json",
36
- ...getApiHeaders?.()
37
- },
38
- signal
39
- });
40
- if (!response.ok) {
41
- throw new Error(`Failed to fetch catch ups: ${response.status}`);
42
- }
43
- return response.json();
44
- },
45
- enabled: !isPreview,
46
- ...isPreview && { placeholderData: PREVIEW_DATA }
47
- });
48
- }
49
- var fontSizeClasses = {
50
- "2xl": "text-2xl",
51
- xl: "text-xl",
52
- lg: "text-lg",
53
- md: "text-base",
54
- sm: "text-sm",
55
- xs: "text-xs"
56
- };
57
- function CatchUpWidget({
58
- // Title settings with defaults
59
- titleEnabled = true,
60
- titleText = "Catch Ups",
61
- titleFontSize = "xl",
62
- titleColor = "foreground",
63
- // Design settings with defaults
64
- background = {
65
- type: "solid",
66
- color: "background"
67
- },
68
- textColor = "foreground",
69
- accentColor = "primary",
70
- padding = 4,
71
- borderRadius = "md",
72
- // Display settings with defaults
73
- maxItems = 5,
74
- className,
75
- ...props
76
- }) {
77
- const backgroundColor = background.color || "background";
78
- const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && background.type === "image" ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
79
- const { data = [], isLoading, isError } = useCatchUps();
80
- const catchUpsToShow = data.slice(0, maxItems);
81
- const moreCatchUps = data.length - catchUpsToShow.length;
82
- return /* @__PURE__ */ jsxRuntime.jsxs(
83
- "div",
84
- {
85
- className: `flex flex-col rounded-${borderRadius} bg-${backgroundColor} p-${padding} text-${textColor} ${className || ""}`,
86
- style: { backgroundImage },
87
- ...props,
88
- children: [
89
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center justify-between", children: [
90
- titleEnabled && /* @__PURE__ */ jsxRuntime.jsx(
91
- "h3",
92
- {
93
- className: `${fontSizeClasses[titleFontSize]} font-semibold text-${titleColor}`,
94
- children: titleText
95
- }
96
- ),
97
- !isLoading && !isError && data.length > 0 && /* @__PURE__ */ jsxRuntime.jsx("span", { className: `text-3xl font-bold text-${accentColor}`, children: data.length })
98
- ] }),
99
- isLoading ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex min-h-[150px] flex-1 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
100
- reactFontawesome.FontAwesomeIcon,
101
- {
102
- icon: proRegularSvgIcons.faSpinnerThird,
103
- spin: true,
104
- className: `h-8 w-8 text-${accentColor}`
105
- }
106
- ) }) : isError ? (
107
- /* Error state */
108
- /* @__PURE__ */ jsxRuntime.jsx(chunkQXIIJNQK_cjs.ErrorState, {})
109
- ) : data.length === 0 ? (
110
- /* Empty state */
111
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex min-h-[150px] flex-1 flex-col items-center justify-center gap-2", children: [
112
- /* @__PURE__ */ jsxRuntime.jsx(
113
- reactFontawesome.FontAwesomeIcon,
114
- {
115
- icon: proRegularSvgIcons.faSparkles,
116
- className: `h-8 w-8 text-${accentColor}`
117
- }
118
- ),
119
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-center font-semibold", children: "You're all caught up." }),
120
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm opacity-60", children: "See you next time!" })
121
- ] })
122
- ) : (
123
- /* Default state with catch ups */
124
- /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
125
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "mt-3 flex-1", children: catchUpsToShow.map((catchUp, index) => /* @__PURE__ */ jsxRuntime.jsx(
126
- "div",
127
- {
128
- className: `py-2 ${index !== catchUpsToShow.length - 1 ? "border-b border-current/10" : ""}`,
129
- children: /* @__PURE__ */ jsxRuntime.jsx("p", { className: "line-clamp-1 text-sm", children: catchUp.suggestion_title })
130
- },
131
- catchUp.id || index
132
- )) }),
133
- moreCatchUps > 0 && /* @__PURE__ */ jsxRuntime.jsxs("p", { className: "mt-2 text-sm opacity-60", children: [
134
- moreCatchUps,
135
- " more catch up",
136
- moreCatchUps > 1 ? "s" : ""
137
- ] })
138
- ] })
139
- )
140
- ]
141
- }
142
- );
143
- }
144
- var catchUpWidgetPropertySchema = {
145
- widgetType: "CatchUpWidget",
146
- displayName: "Catch Up Widget",
147
- tabsConfig: [{ id: "styling", label: "Styling" }],
148
- fields: [
149
- // Styling Tab - Title Group
150
- {
151
- key: "titleEnabled",
152
- label: "Widget Title",
153
- type: "boolean",
154
- description: "Enable the title displayed above the catch ups",
155
- defaultValue: true,
156
- tab: "styling",
157
- group: "Title"
158
- },
159
- {
160
- key: "titleText",
161
- label: "Title",
162
- type: "text",
163
- description: "Title text displayed above the catch ups",
164
- defaultValue: "Catch Ups",
165
- tab: "styling",
166
- group: "Title",
167
- requiresKeyToBeTrue: "titleEnabled"
168
- },
169
- chunkJ6HCPXT5_cjs.getFontSizeField({
170
- key: "titleFontSize",
171
- label: "Title Font Size",
172
- description: "Font size for the widget title",
173
- defaultValue: "xl",
174
- tab: "styling",
175
- group: "Title",
176
- requiresKeyToBeTrue: "titleEnabled"
177
- }),
178
- chunkJ6HCPXT5_cjs.getColorField({
179
- key: "titleColor",
180
- label: "Title Color",
181
- description: "Color for the widget title",
182
- defaultValue: "foreground",
183
- tab: "styling",
184
- group: "Title",
185
- requiresKeyToBeTrue: "titleEnabled"
186
- }),
187
- // Styling Tab - Design Group
188
- {
189
- type: "background",
190
- key: "background",
191
- label: "Background",
192
- description: "Background for the container",
193
- defaultValue: "background",
194
- tab: "styling",
195
- group: "Design"
196
- },
197
- chunkJ6HCPXT5_cjs.getColorField({
198
- key: "textColor",
199
- label: "Text Color",
200
- description: "Default text color for catch up items",
201
- defaultValue: "foreground",
202
- tab: "styling",
203
- group: "Design"
204
- }),
205
- chunkJ6HCPXT5_cjs.getColorField({
206
- key: "accentColor",
207
- label: "Accent Color",
208
- description: "Color used for count display and icons",
209
- defaultValue: "primary",
210
- tab: "styling",
211
- group: "Design"
212
- }),
213
- {
214
- key: "separator",
215
- type: "separator",
216
- label: "Separator",
217
- tab: "styling",
218
- group: "Design"
219
- },
220
- {
221
- key: "maxItems",
222
- label: "Max Items",
223
- type: "number",
224
- description: "Maximum number of catch ups to display",
225
- defaultValue: 5,
226
- min: 1,
227
- max: 10,
228
- tab: "styling",
229
- group: "Design"
230
- },
231
- chunkJ6HCPXT5_cjs.getPaddingField({
232
- key: "padding",
233
- label: "Padding",
234
- description: "Padding around the container",
235
- defaultValue: 4,
236
- tab: "styling",
237
- group: "Design"
238
- }),
239
- chunkJ6HCPXT5_cjs.getBorderRadiusField({
240
- key: "borderRadius",
241
- label: "Border Radius",
242
- description: "Border radius for the container",
243
- defaultValue: "md",
244
- tab: "styling",
245
- group: "Design"
246
- })
247
- ]
248
- };
249
-
250
- exports.CatchUpWidget = CatchUpWidget;
251
- exports.catchUpWidgetPropertySchema = catchUpWidgetPropertySchema;
252
- //# sourceMappingURL=chunk-WTQNKZKV.cjs.map
253
- //# sourceMappingURL=chunk-WTQNKZKV.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/hooks/use-catchups.preview.ts","../src/hooks/use-catchups.ts","../src/widgets/CatchUpWidget.tsx"],"names":["useDataSourceConfig","useWidgetPreviewContext","useQuery","jsxs","jsx","FontAwesomeIcon","faSpinnerThird","ErrorState","faSparkles","Fragment","getFontSizeField","getColorField","getPaddingField","getBorderRadiusField"],"mappings":"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","file":"chunk-WTQNKZKV.cjs","sourcesContent":["import type { CatchUp } from \"./use-catchups.types\";\n\nexport const PREVIEW_DATA: CatchUp[] = [\n { id: 1, suggestion_title: \"Check in with Sarah about her recent order\" },\n { id: 2, suggestion_title: \"Follow up with Mike on product samples\" },\n { id: 3, suggestion_title: \"Reconnect with Lisa — last contact 30 days ago\" },\n { id: 4, suggestion_title: \"Thank Alex for their referral last week\" },\n { id: 5, suggestion_title: \"Share new catalog with Jordan\" },\n];\n","import { useQuery } from \"@tanstack/react-query\";\nimport { useDataSourceConfig } from \"@fluid-app/rep-core/data-sources/context\";\nimport { useWidgetPreviewContext } from \"@fluid-app/rep-core/data-sources/preview-context\";\nimport { PREVIEW_DATA } from \"./use-catchups.preview\";\n\nimport type { CatchUp } from \"./use-catchups.types\";\n\nexport type { CatchUp } from \"./use-catchups.types\";\n\nexport function useCatchUps() {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n const { isPreview } = useWidgetPreviewContext();\n\n return useQuery({\n queryKey: [\n \"rep-widget-use\",\n \"catchups\",\n isPreview ? \"preview\" : baseUrl,\n ] as const,\n queryFn: async ({ signal }): Promise<CatchUp[]> => {\n const url = baseUrl\n ? `${baseUrl}/affiliate_catch_up_actions.json`\n : \"/affiliate_catch_up_actions.json\";\n const response = await fetch(url, {\n headers: {\n \"content-type\": \"application/json\",\n ...getApiHeaders?.(),\n },\n signal,\n });\n\n if (!response.ok) {\n throw new Error(`Failed to fetch catch ups: ${response.status}`);\n }\n\n return response.json();\n },\n enabled: !isPreview,\n ...(isPreview && { placeholderData: PREVIEW_DATA }),\n });\n}\n","import type { ComponentProps } from \"react\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/rep-core/types\";\nimport type { WidgetPropertySchema } from \"@fluid-app/rep-core/registries\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport { useCatchUps } from \"../hooks/use-catchups\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faSpinnerThird, faSparkles } from \"@fortawesome/pro-regular-svg-icons\";\nimport { ErrorState } from \"../components/error-state\";\n\n// Font size mapping for title\nconst fontSizeClasses: Record<FontSizeOptions, string> = {\n \"2xl\": \"text-2xl\",\n xl: \"text-xl\",\n lg: \"text-lg\",\n md: \"text-base\",\n sm: \"text-sm\",\n xs: \"text-xs\",\n};\n\ntype CatchUpWidgetProps = ComponentProps<\"div\"> & {\n // Title settings\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n // Design settings\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n // Display settings\n maxItems?: number;\n};\n\nexport function CatchUpWidget({\n // Title settings with defaults\n titleEnabled = true,\n titleText = \"Catch Ups\",\n titleFontSize = \"xl\",\n titleColor = \"foreground\",\n // Design settings with defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n // Display settings with defaults\n maxItems = 5,\n className,\n ...props\n}: CatchUpWidgetProps) {\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 const { data = [], isLoading, isError } = useCatchUps();\n\n const catchUpsToShow = data.slice(0, maxItems);\n const moreCatchUps = data.length - catchUpsToShow.length;\n\n return (\n <div\n className={`flex flex-col rounded-${borderRadius} bg-${backgroundColor} p-${padding} text-${textColor} ${className || \"\"}`}\n style={{ backgroundImage }}\n {...props}\n >\n {/* Header */}\n <div className=\"flex items-center justify-between\">\n {titleEnabled && (\n <h3\n className={`${fontSizeClasses[titleFontSize]} font-semibold text-${titleColor}`}\n >\n {titleText}\n </h3>\n )}\n {!isLoading && !isError && data.length > 0 && (\n <span className={`text-3xl font-bold text-${accentColor}`}>\n {data.length}\n </span>\n )}\n </div>\n\n {/* Loading state */}\n {isLoading ? (\n <div className=\"flex min-h-[150px] flex-1 items-center justify-center\">\n <FontAwesomeIcon\n icon={faSpinnerThird}\n spin\n className={`h-8 w-8 text-${accentColor}`}\n />\n </div>\n ) : isError ? (\n /* Error state */\n <ErrorState />\n ) : data.length === 0 ? (\n /* Empty state */\n <div className=\"flex min-h-[150px] flex-1 flex-col items-center justify-center gap-2\">\n <FontAwesomeIcon\n icon={faSparkles}\n className={`h-8 w-8 text-${accentColor}`}\n />\n <p className=\"text-center font-semibold\">\n You&apos;re all caught up.\n </p>\n <p className=\"text-sm opacity-60\">See you next time!</p>\n </div>\n ) : (\n /* Default state with catch ups */\n <>\n <div className=\"mt-3 flex-1\">\n {catchUpsToShow.map((catchUp, index: number) => (\n <div\n key={catchUp.id || index}\n className={`py-2 ${index !== catchUpsToShow.length - 1 ? \"border-b border-current/10\" : \"\"}`}\n >\n <p className=\"line-clamp-1 text-sm\">\n {catchUp.suggestion_title}\n </p>\n </div>\n ))}\n </div>\n\n {/* More indicator */}\n {moreCatchUps > 0 && (\n <p className=\"mt-2 text-sm opacity-60\">\n {moreCatchUps} more catch up{moreCatchUps > 1 ? \"s\" : \"\"}\n </p>\n )}\n </>\n )}\n </div>\n );\n}\n\n// Property schema for the widget editor\nexport const catchUpWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"CatchUpWidget\",\n displayName: \"Catch Up Widget\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [\n // Styling Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the catch ups\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Title text displayed above the catch ups\",\n defaultValue: \"Catch Ups\",\n tab: \"styling\",\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: \"xl\",\n tab: \"styling\",\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 tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Design Group\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for catch up items\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color used for count display and icons\",\n defaultValue: \"primary\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"maxItems\",\n label: \"Max Items\",\n type: \"number\",\n description: \"Maximum number of catch ups to display\",\n defaultValue: 5,\n min: 1,\n max: 10,\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the container\",\n defaultValue: 4,\n tab: \"styling\",\n group: \"Design\",\n }),\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n ],\n} as const satisfies WidgetPropertySchema;\n"]}
@@ -1,163 +0,0 @@
1
- 'use strict';
2
-
3
- var reactFontawesome = require('@fortawesome/react-fontawesome');
4
- var proRegularSvgIcons = require('@fortawesome/pro-regular-svg-icons');
5
- var registries = require('@fluid-app/rep-core/registries');
6
- var jsxRuntime = require('react/jsx-runtime');
7
-
8
- // src/widgets/EmbedWidget.tsx
9
- function EmbedWidget({
10
- url = "",
11
- title = "Embedded Content",
12
- height = "400px",
13
- fullScreen = false,
14
- allowFullscreen = true,
15
- loading = "lazy",
16
- borderRadius = "md",
17
- editMode = false,
18
- isSelected = false,
19
- className,
20
- ...props
21
- }) {
22
- const isFullScreen = fullScreen;
23
- if (!url) {
24
- return /* @__PURE__ */ jsxRuntime.jsx(
25
- "div",
26
- {
27
- className: `flex items-center justify-center rounded-${borderRadius} border-border bg-muted text-muted-foreground border-2 border-dashed ${isFullScreen ? "h-full" : ""} ${className}`,
28
- style: isFullScreen ? void 0 : { height },
29
- ...props,
30
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2 p-6 text-center", children: [
31
- /* @__PURE__ */ jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, { icon: proRegularSvgIcons.faGlobe, className: "h-12 w-12 opacity-50" }),
32
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "Enter a URL to embed external content" }),
33
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs opacity-75", children: "Configure the URL in the properties panel" })
34
- ] })
35
- }
36
- );
37
- }
38
- const normalizedUrl = url.startsWith("http://") || url.startsWith("https://") ? url : `https://${url}`;
39
- let isValidUrl = false;
40
- try {
41
- const parsed = new URL(normalizedUrl);
42
- isValidUrl = (parsed.protocol === "http:" || parsed.protocol === "https:") && (parsed.hostname.includes(".") || parsed.hostname === "localhost");
43
- } catch {
44
- }
45
- if (!isValidUrl) {
46
- return /* @__PURE__ */ jsxRuntime.jsx(
47
- "div",
48
- {
49
- className: `flex items-center justify-center rounded-${borderRadius} border-border bg-muted text-muted-foreground border-2 border-dashed ${isFullScreen ? "h-full" : ""} ${className}`,
50
- style: isFullScreen ? void 0 : { height },
51
- ...props,
52
- children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col items-center gap-2 p-6 text-center", children: [
53
- /* @__PURE__ */ jsxRuntime.jsx(reactFontawesome.FontAwesomeIcon, { icon: proRegularSvgIcons.faGlobe, className: "h-12 w-12 opacity-50" }),
54
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-sm font-medium", children: "Enter a URL to embed external content" }),
55
- /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-xs opacity-75", children: "Configure the URL in the properties panel" })
56
- ] })
57
- }
58
- );
59
- }
60
- return /* @__PURE__ */ jsxRuntime.jsxs(
61
- "div",
62
- {
63
- className: `relative w-full ${isFullScreen ? "h-full" : ""} ${className}`,
64
- ...props,
65
- children: [
66
- /* @__PURE__ */ jsxRuntime.jsx(
67
- "iframe",
68
- {
69
- src: normalizedUrl,
70
- title,
71
- width: "100%",
72
- style: isFullScreen ? { height: "100%" } : { height },
73
- loading,
74
- allowFullScreen: allowFullscreen,
75
- className: `rounded-${borderRadius} border-border border`,
76
- sandbox: "allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox"
77
- }
78
- ),
79
- editMode && !isSelected && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 z-10" })
80
- ]
81
- }
82
- );
83
- }
84
- var embedWidgetPropertySchema = {
85
- widgetType: "EmbedWidget",
86
- displayName: "Embed",
87
- fields: [
88
- // Content
89
- {
90
- key: "url",
91
- label: "URL",
92
- type: "text",
93
- description: "The URL of the external site to embed",
94
- placeholder: "https://example.com",
95
- defaultValue: "",
96
- group: "Content"
97
- },
98
- {
99
- key: "title",
100
- label: "Title",
101
- type: "text",
102
- description: "Accessibility title for the embedded content",
103
- defaultValue: "Embedded Content",
104
- group: "Content"
105
- },
106
- // Design
107
- registries.getBorderRadiusField({
108
- key: "borderRadius",
109
- label: "Border Radius",
110
- description: "Border radius for the embed container",
111
- defaultValue: "md",
112
- group: "Design"
113
- }),
114
- {
115
- key: "fullScreen",
116
- label: "Full Screen",
117
- type: "boolean",
118
- description: "When enabled, the embed fills the available space",
119
- defaultValue: false,
120
- group: "Design"
121
- },
122
- registries.getHeightField({
123
- key: "height",
124
- label: "Height",
125
- description: "Height of the embedded iframe",
126
- min: 50,
127
- max: 1200,
128
- step: 10,
129
- defaultValue: "400px",
130
- group: "Design",
131
- requiresKeyValue: {
132
- key: "fullScreen",
133
- value: false
134
- }
135
- }),
136
- // Settings
137
- {
138
- key: "allowFullscreen",
139
- label: "Allow Fullscreen",
140
- type: "boolean",
141
- description: "Allow the embedded content to use fullscreen mode",
142
- defaultValue: true,
143
- group: "Settings"
144
- },
145
- {
146
- key: "loading",
147
- label: "Loading",
148
- type: "select",
149
- description: "When to load the embedded content",
150
- options: [
151
- { label: "Lazy (on scroll)", value: "lazy" },
152
- { label: "Eager (immediately)", value: "eager" }
153
- ],
154
- defaultValue: "lazy",
155
- group: "Settings"
156
- }
157
- ]
158
- };
159
-
160
- exports.EmbedWidget = EmbedWidget;
161
- exports.embedWidgetPropertySchema = embedWidgetPropertySchema;
162
- //# sourceMappingURL=chunk-WWKBIVET.cjs.map
163
- //# sourceMappingURL=chunk-WWKBIVET.cjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/widgets/EmbedWidget.tsx"],"names":["jsx","jsxs","FontAwesomeIcon","faGlobe","getBorderRadiusField","getHeightField"],"mappings":"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","file":"chunk-WWKBIVET.cjs","sourcesContent":["import { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport { faGlobe } from \"@fortawesome/pro-regular-svg-icons\";\nimport type { ComponentProps } from \"react\";\nimport {\n getBorderRadiusField,\n getHeightField,\n type WidgetPropertySchema,\n} from \"@fluid-app/rep-core/registries\";\nimport type { BorderRadiusOptions } from \"@fluid-app/rep-core/types\";\n\ntype EmbedWidgetProps = ComponentProps<\"div\"> & {\n url?: string;\n title?: string;\n height?: string;\n fullScreen?: boolean;\n allowFullscreen?: boolean;\n loading?: \"eager\" | \"lazy\";\n borderRadius?: BorderRadiusOptions;\n editMode?: boolean;\n isSelected?: boolean;\n};\n\nexport function EmbedWidget({\n url = \"\",\n title = \"Embedded Content\",\n height = \"400px\",\n fullScreen = false,\n allowFullscreen = true,\n loading = \"lazy\",\n borderRadius = \"md\",\n editMode = false,\n isSelected = false,\n className,\n ...props\n}: EmbedWidgetProps) {\n const isFullScreen = fullScreen;\n\n // Show placeholder if no URL is provided\n if (!url) {\n return (\n <div\n className={`flex items-center justify-center rounded-${borderRadius} border-border bg-muted text-muted-foreground border-2 border-dashed ${isFullScreen ? \"h-full\" : \"\"} ${className}`}\n style={isFullScreen ? undefined : { height }}\n {...props}\n >\n <div className=\"flex flex-col items-center gap-2 p-6 text-center\">\n <FontAwesomeIcon icon={faGlobe} className=\"h-12 w-12 opacity-50\" />\n <p className=\"text-sm font-medium\">\n Enter a URL to embed external content\n </p>\n <p className=\"text-xs opacity-75\">\n Configure the URL in the properties panel\n </p>\n </div>\n </div>\n );\n }\n\n const normalizedUrl =\n url.startsWith(\"http://\") || url.startsWith(\"https://\")\n ? url\n : `https://${url}`;\n\n let isValidUrl = false;\n try {\n const parsed = new URL(normalizedUrl);\n isValidUrl =\n (parsed.protocol === \"http:\" || parsed.protocol === \"https:\") &&\n (parsed.hostname.includes(\".\") || parsed.hostname === \"localhost\");\n } catch {\n // invalid URL\n }\n\n if (!isValidUrl) {\n return (\n <div\n className={`flex items-center justify-center rounded-${borderRadius} border-border bg-muted text-muted-foreground border-2 border-dashed ${isFullScreen ? \"h-full\" : \"\"} ${className}`}\n style={isFullScreen ? undefined : { height }}\n {...props}\n >\n <div className=\"flex flex-col items-center gap-2 p-6 text-center\">\n <FontAwesomeIcon icon={faGlobe} className=\"h-12 w-12 opacity-50\" />\n <p className=\"text-sm font-medium\">\n Enter a URL to embed external content\n </p>\n <p className=\"text-xs opacity-75\">\n Configure the URL in the properties panel\n </p>\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`relative w-full ${isFullScreen ? \"h-full\" : \"\"} ${className}`}\n {...props}\n >\n <iframe\n src={normalizedUrl}\n title={title}\n width=\"100%\"\n style={isFullScreen ? { height: \"100%\" } : { height }}\n loading={loading}\n allowFullScreen={allowFullscreen}\n className={`rounded-${borderRadius} border-border border`}\n sandbox=\"allow-scripts allow-same-origin allow-forms allow-popups allow-popups-to-escape-sandbox\"\n />\n {editMode && !isSelected && <div className=\"absolute inset-0 z-10\" />}\n </div>\n );\n}\n\nexport const embedWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"EmbedWidget\",\n displayName: \"Embed\",\n fields: [\n // Content\n {\n key: \"url\",\n label: \"URL\",\n type: \"text\",\n description: \"The URL of the external site to embed\",\n placeholder: \"https://example.com\",\n defaultValue: \"\",\n group: \"Content\",\n },\n {\n key: \"title\",\n label: \"Title\",\n type: \"text\",\n description: \"Accessibility title for the embedded content\",\n defaultValue: \"Embedded Content\",\n group: \"Content\",\n },\n\n // Design\n getBorderRadiusField({\n key: \"borderRadius\",\n label: \"Border Radius\",\n description: \"Border radius for the embed container\",\n defaultValue: \"md\",\n group: \"Design\",\n }),\n {\n key: \"fullScreen\",\n label: \"Full Screen\",\n type: \"boolean\",\n description: \"When enabled, the embed fills the available space\",\n defaultValue: false,\n group: \"Design\",\n },\n getHeightField({\n key: \"height\",\n label: \"Height\",\n description: \"Height of the embedded iframe\",\n min: 50,\n max: 1200,\n step: 10,\n defaultValue: \"400px\",\n group: \"Design\",\n requiresKeyValue: {\n key: \"fullScreen\",\n value: false,\n },\n }),\n\n // Settings\n {\n key: \"allowFullscreen\",\n label: \"Allow Fullscreen\",\n type: \"boolean\",\n description: \"Allow the embedded content to use fullscreen mode\",\n defaultValue: true,\n group: \"Settings\",\n },\n {\n key: \"loading\",\n label: \"Loading\",\n type: \"select\",\n description: \"When to load the embedded content\",\n options: [\n { label: \"Lazy (on scroll)\", value: \"lazy\" },\n { label: \"Eager (immediately)\", value: \"eager\" },\n ],\n defaultValue: \"lazy\",\n group: \"Settings\",\n },\n ],\n};\n"]}