@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.
- package/dist/AlertWidget-CiMRJYmn.mjs +22 -0
- package/dist/AlertWidget-CiMRJYmn.mjs.map +1 -0
- package/dist/AlertWidget-DU_HP0EW.cjs +39 -0
- package/dist/AlertWidget-DU_HP0EW.cjs.map +1 -0
- package/dist/CalendarWidget-BI8sv5HJ.cjs +441 -0
- package/dist/CalendarWidget-BI8sv5HJ.cjs.map +1 -0
- package/dist/CalendarWidget-Dk8O2NRC.mjs +424 -0
- package/dist/CalendarWidget-Dk8O2NRC.mjs.map +1 -0
- package/dist/CarouselWidget-0RP-Rd1D.mjs +436 -0
- package/dist/CarouselWidget-0RP-Rd1D.mjs.map +1 -0
- package/dist/CarouselWidget-DLADgLPJ.cjs +453 -0
- package/dist/CarouselWidget-DLADgLPJ.cjs.map +1 -0
- package/dist/CatchUpWidget-CUnCumIf.mjs +247 -0
- package/dist/CatchUpWidget-CUnCumIf.mjs.map +1 -0
- package/dist/CatchUpWidget-DiqdwPvE.cjs +264 -0
- package/dist/CatchUpWidget-DiqdwPvE.cjs.map +1 -0
- package/dist/ChartWidget-DhAVW8w4.cjs +432 -0
- package/dist/ChartWidget-DhAVW8w4.cjs.map +1 -0
- package/dist/ChartWidget-DrF1e1sy.mjs +415 -0
- package/dist/ChartWidget-DrF1e1sy.mjs.map +1 -0
- package/dist/ContainerWidget-Cp0_vPZB.cjs +61 -0
- package/dist/ContainerWidget-Cp0_vPZB.cjs.map +1 -0
- package/dist/ContainerWidget-Xd231yys.mjs +44 -0
- package/dist/ContainerWidget-Xd231yys.mjs.map +1 -0
- package/dist/EmbedWidget-BQyYm50g.cjs +173 -0
- package/dist/EmbedWidget-BQyYm50g.cjs.map +1 -0
- package/dist/EmbedWidget-DQ2rCA4j.mjs +156 -0
- package/dist/EmbedWidget-DQ2rCA4j.mjs.map +1 -0
- package/dist/ImageWidget-DBBul7ca.mjs +150 -0
- package/dist/ImageWidget-DBBul7ca.mjs.map +1 -0
- package/dist/ImageWidget-DTwM7xCz.cjs +167 -0
- package/dist/ImageWidget-DTwM7xCz.cjs.map +1 -0
- package/dist/LayoutWidget-B1itwSsn.mjs +107 -0
- package/dist/LayoutWidget-B1itwSsn.mjs.map +1 -0
- package/dist/LayoutWidget-CWE_9JB5.cjs +124 -0
- package/dist/LayoutWidget-CWE_9JB5.cjs.map +1 -0
- package/dist/ListWidget-CxaLm0D5.cjs +919 -0
- package/dist/ListWidget-CxaLm0D5.cjs.map +1 -0
- package/dist/ListWidget-EXPlzfUE.mjs +901 -0
- package/dist/ListWidget-EXPlzfUE.mjs.map +1 -0
- package/dist/MediaRenderer-CcJvyOJ1.cjs +181 -0
- package/dist/MediaRenderer-CcJvyOJ1.cjs.map +1 -0
- package/dist/MediaRenderer-Uq90PZcY.mjs +163 -0
- package/dist/MediaRenderer-Uq90PZcY.mjs.map +1 -0
- package/dist/MySiteWidget-BTyb5AJM.mjs +262 -0
- package/dist/MySiteWidget-BTyb5AJM.mjs.map +1 -0
- package/dist/MySiteWidget-iRPl6b2F.cjs +279 -0
- package/dist/MySiteWidget-iRPl6b2F.cjs.map +1 -0
- package/dist/NestedWidget-CwyVsZ-f.mjs +330 -0
- package/dist/NestedWidget-CwyVsZ-f.mjs.map +1 -0
- package/dist/NestedWidget-DavPMVii.cjs +346 -0
- package/dist/NestedWidget-DavPMVii.cjs.map +1 -0
- package/dist/QuickShareWidget-BIOkquPG.cjs +262 -0
- package/dist/QuickShareWidget-BIOkquPG.cjs.map +1 -0
- package/dist/QuickShareWidget-BUbuTQFQ.mjs +245 -0
- package/dist/QuickShareWidget-BUbuTQFQ.mjs.map +1 -0
- package/dist/RecentActivityWidget-BgsjgQY5.cjs +408 -0
- package/dist/RecentActivityWidget-BgsjgQY5.cjs.map +1 -0
- package/dist/RecentActivityWidget-ComwTgR9.mjs +391 -0
- package/dist/RecentActivityWidget-ComwTgR9.mjs.map +1 -0
- package/dist/RegistryContext-6KXd4t6d.cjs +54 -0
- package/dist/RegistryContext-6KXd4t6d.cjs.map +1 -0
- package/dist/RegistryContext-CscXrsRa.mjs +36 -0
- package/dist/RegistryContext-CscXrsRa.mjs.map +1 -0
- package/dist/ScreenRenderer-BCd4Rsba.cjs +82 -0
- package/dist/ScreenRenderer-BCd4Rsba.cjs.map +1 -0
- package/dist/ScreenRenderer-CVJMpQ9A.mjs +76 -0
- package/dist/ScreenRenderer-CVJMpQ9A.mjs.map +1 -0
- package/dist/ScreenRendererContext-D62_Fazh.cjs +35 -0
- package/dist/ScreenRendererContext-D62_Fazh.cjs.map +1 -0
- package/dist/ScreenRendererContext-DaldtZnX.mjs +23 -0
- package/dist/ScreenRendererContext-DaldtZnX.mjs.map +1 -0
- package/dist/SpacerWidget-Bs18KYH9.mjs +43 -0
- package/dist/SpacerWidget-Bs18KYH9.mjs.map +1 -0
- package/dist/SpacerWidget-D-Foe9wG.cjs +60 -0
- package/dist/SpacerWidget-D-Foe9wG.cjs.map +1 -0
- package/dist/TableWidget-BeG92tkU.cjs +455 -0
- package/dist/TableWidget-BeG92tkU.cjs.map +1 -0
- package/dist/TableWidget-Cc4kQaOE.mjs +438 -0
- package/dist/TableWidget-Cc4kQaOE.mjs.map +1 -0
- package/dist/TextWidget-CQxOWNZK.mjs +129 -0
- package/dist/TextWidget-CQxOWNZK.mjs.map +1 -0
- package/dist/TextWidget-Cn7-yZGk.cjs +146 -0
- package/dist/TextWidget-Cn7-yZGk.cjs.map +1 -0
- package/dist/ToDoWidget--KBpHqbA.mjs +274 -0
- package/dist/ToDoWidget--KBpHqbA.mjs.map +1 -0
- package/dist/ToDoWidget-CK87BavM.cjs +291 -0
- package/dist/ToDoWidget-CK87BavM.cjs.map +1 -0
- package/dist/VideoWidget-DxuqyD5L.cjs +209 -0
- package/dist/VideoWidget-DxuqyD5L.cjs.map +1 -0
- package/dist/VideoWidget-uKkRf5pm.mjs +192 -0
- package/dist/VideoWidget-uKkRf5pm.mjs.map +1 -0
- package/dist/chunk-CZWwpsFl.cjs +43 -0
- package/dist/components/index.cjs +10 -13
- package/dist/components/index.cjs.map +1 -1
- package/dist/components/index.d.cts +8 -5
- package/dist/components/index.d.cts.map +1 -0
- package/dist/components/index.d.mts +11 -0
- package/dist/components/index.d.mts.map +1 -0
- package/dist/components/index.mjs +11 -0
- package/dist/components/index.mjs.map +1 -0
- package/dist/contexts/index.cjs +8 -29
- package/dist/contexts/index.d.cts +20 -14
- package/dist/contexts/index.d.cts.map +1 -0
- package/dist/contexts/{index.d.ts → index.d.mts} +20 -14
- package/dist/contexts/index.d.mts.map +1 -0
- package/dist/contexts/index.mjs +3 -0
- package/dist/core/index.cjs +37 -41
- package/dist/core/index.d.cts +41 -27
- package/dist/core/index.d.cts.map +1 -0
- package/dist/core/index.d.mts +78 -0
- package/dist/core/index.d.mts.map +1 -0
- package/dist/core/index.mjs +4 -0
- package/dist/error-state-DErSxZwH.mjs +18 -0
- package/dist/error-state-DErSxZwH.mjs.map +1 -0
- package/dist/error-state-DSzVUtEl.cjs +24 -0
- package/dist/error-state-DSzVUtEl.cjs.map +1 -0
- package/dist/fields-C29fgJje.mjs +2 -0
- package/dist/fields-CzY84PV7.d.cts +2 -0
- package/dist/fields-Da4_7j4S.d.mts +2 -0
- package/dist/rolldown-runtime-wcPFST8Q.mjs +13 -0
- package/dist/scroll-arrows-BZIlsE_x.cjs +35 -0
- package/dist/scroll-arrows-BZIlsE_x.cjs.map +1 -0
- package/dist/scroll-arrows-BevCYRNT.mjs +29 -0
- package/dist/scroll-arrows-BevCYRNT.mjs.map +1 -0
- package/dist/ui/index.cjs +69 -45
- package/dist/ui/index.d.cts +12 -7
- package/dist/ui/index.d.cts.map +1 -0
- package/dist/ui/index.d.mts +15 -0
- package/dist/ui/index.d.mts.map +1 -0
- package/dist/ui/index.mjs +3 -0
- package/dist/widgets/index.cjs +88 -209
- package/dist/widgets/index.cjs.map +1 -1
- package/dist/widgets/index.d.cts +814 -526
- package/dist/widgets/index.d.cts.map +1 -0
- package/dist/widgets/index.d.mts +892 -0
- package/dist/widgets/index.d.mts.map +1 -0
- package/dist/widgets/index.mjs +46 -0
- package/dist/widgets/index.mjs.map +1 -0
- package/package.json +6 -6
- package/dist/AlertWidget-3Q4AK7PE.js +0 -5
- package/dist/AlertWidget-3Q4AK7PE.js.map +0 -1
- package/dist/AlertWidget-C3YMPF7Y.cjs +0 -18
- package/dist/AlertWidget-C3YMPF7Y.cjs.map +0 -1
- package/dist/CalendarWidget-RAB5VESS.cjs +0 -18
- package/dist/CalendarWidget-RAB5VESS.cjs.map +0 -1
- package/dist/CalendarWidget-SEYTR3AG.js +0 -5
- package/dist/CalendarWidget-SEYTR3AG.js.map +0 -1
- package/dist/CarouselWidget-5LFXRR7Y.js +0 -6
- package/dist/CarouselWidget-5LFXRR7Y.js.map +0 -1
- package/dist/CarouselWidget-G5UHRD6R.cjs +0 -19
- package/dist/CarouselWidget-G5UHRD6R.cjs.map +0 -1
- package/dist/CatchUpWidget-NEMYZ7L5.js +0 -5
- package/dist/CatchUpWidget-NEMYZ7L5.js.map +0 -1
- package/dist/CatchUpWidget-XBU2GPFS.cjs +0 -18
- package/dist/CatchUpWidget-XBU2GPFS.cjs.map +0 -1
- package/dist/ChartWidget-463QVROY.cjs +0 -17
- package/dist/ChartWidget-463QVROY.cjs.map +0 -1
- package/dist/ChartWidget-554S2GQF.js +0 -4
- package/dist/ChartWidget-554S2GQF.js.map +0 -1
- package/dist/ContainerWidget-IOXW77X7.cjs +0 -21
- package/dist/ContainerWidget-IOXW77X7.cjs.map +0 -1
- package/dist/ContainerWidget-OLQPEXDT.js +0 -8
- package/dist/ContainerWidget-OLQPEXDT.js.map +0 -1
- package/dist/EmbedWidget-B7RFGTJB.js +0 -3
- package/dist/EmbedWidget-B7RFGTJB.js.map +0 -1
- package/dist/EmbedWidget-RETHBVTD.cjs +0 -16
- package/dist/EmbedWidget-RETHBVTD.cjs.map +0 -1
- package/dist/ImageWidget-BA2V3DPL.js +0 -4
- package/dist/ImageWidget-BA2V3DPL.js.map +0 -1
- package/dist/ImageWidget-SBC7LK7A.cjs +0 -17
- package/dist/ImageWidget-SBC7LK7A.cjs.map +0 -1
- package/dist/LayoutWidget-F3BDSGDP.cjs +0 -20
- package/dist/LayoutWidget-F3BDSGDP.cjs.map +0 -1
- package/dist/LayoutWidget-MBUJVGKA.js +0 -7
- package/dist/LayoutWidget-MBUJVGKA.js.map +0 -1
- package/dist/ListWidget-4PKBMBAS.cjs +0 -19
- package/dist/ListWidget-4PKBMBAS.cjs.map +0 -1
- package/dist/ListWidget-6SZK6X3X.js +0 -6
- package/dist/ListWidget-6SZK6X3X.js.map +0 -1
- package/dist/MySiteWidget-D6NFECIP.cjs +0 -18
- package/dist/MySiteWidget-D6NFECIP.cjs.map +0 -1
- package/dist/MySiteWidget-YA4DUIG7.js +0 -5
- package/dist/MySiteWidget-YA4DUIG7.js.map +0 -1
- package/dist/NestedWidget-UDNHYTMZ.cjs +0 -19
- package/dist/NestedWidget-UDNHYTMZ.cjs.map +0 -1
- package/dist/NestedWidget-VCZ3JBQY.js +0 -6
- package/dist/NestedWidget-VCZ3JBQY.js.map +0 -1
- package/dist/QuickShareWidget-LNUEJICJ.cjs +0 -17
- package/dist/QuickShareWidget-LNUEJICJ.cjs.map +0 -1
- package/dist/QuickShareWidget-SOQEHDR7.js +0 -4
- package/dist/QuickShareWidget-SOQEHDR7.js.map +0 -1
- package/dist/RecentActivityWidget-HA5N4HCZ.cjs +0 -18
- package/dist/RecentActivityWidget-HA5N4HCZ.cjs.map +0 -1
- package/dist/RecentActivityWidget-TP32GKHT.js +0 -5
- package/dist/RecentActivityWidget-TP32GKHT.js.map +0 -1
- package/dist/SpacerWidget-DX7QRN54.cjs +0 -16
- package/dist/SpacerWidget-DX7QRN54.cjs.map +0 -1
- package/dist/SpacerWidget-H464T5YD.js +0 -3
- package/dist/SpacerWidget-H464T5YD.js.map +0 -1
- package/dist/TableWidget-D46CWY4M.cjs +0 -18
- package/dist/TableWidget-D46CWY4M.cjs.map +0 -1
- package/dist/TableWidget-P4C4ZI23.js +0 -5
- package/dist/TableWidget-P4C4ZI23.js.map +0 -1
- package/dist/TextWidget-GNUQBLDJ.js +0 -4
- package/dist/TextWidget-GNUQBLDJ.js.map +0 -1
- package/dist/TextWidget-PUZPMPOC.cjs +0 -17
- package/dist/TextWidget-PUZPMPOC.cjs.map +0 -1
- package/dist/ToDoWidget-AOAMWMN4.js +0 -5
- package/dist/ToDoWidget-AOAMWMN4.js.map +0 -1
- package/dist/ToDoWidget-L6TXR37G.cjs +0 -18
- package/dist/ToDoWidget-L6TXR37G.cjs.map +0 -1
- package/dist/VideoWidget-T6S2D4WS.cjs +0 -17
- package/dist/VideoWidget-T6S2D4WS.cjs.map +0 -1
- package/dist/VideoWidget-TI72FPLK.js +0 -4
- package/dist/VideoWidget-TI72FPLK.js.map +0 -1
- package/dist/chunk-22AKFT5D.cjs +0 -274
- package/dist/chunk-22AKFT5D.cjs.map +0 -1
- package/dist/chunk-2NPVYROG.js +0 -117
- package/dist/chunk-2NPVYROG.js.map +0 -1
- package/dist/chunk-3EGVZDJH.cjs +0 -448
- package/dist/chunk-3EGVZDJH.cjs.map +0 -1
- package/dist/chunk-4ODOZF7H.js +0 -192
- package/dist/chunk-4ODOZF7H.js.map +0 -1
- package/dist/chunk-4ZFOJT6H.js +0 -271
- package/dist/chunk-4ZFOJT6H.js.map +0 -1
- package/dist/chunk-57ZUEL25.js +0 -14
- package/dist/chunk-57ZUEL25.js.map +0 -1
- package/dist/chunk-5VJYKNCS.cjs +0 -195
- package/dist/chunk-5VJYKNCS.cjs.map +0 -1
- package/dist/chunk-6GF46P3S.js +0 -33
- package/dist/chunk-6GF46P3S.js.map +0 -1
- package/dist/chunk-6RNVWRDD.cjs +0 -179
- package/dist/chunk-6RNVWRDD.cjs.map +0 -1
- package/dist/chunk-6ZECDBGI.js +0 -3
- package/dist/chunk-6ZECDBGI.js.map +0 -1
- package/dist/chunk-AQO2AKU2.cjs +0 -35
- package/dist/chunk-AQO2AKU2.cjs.map +0 -1
- package/dist/chunk-D43XJWX3.js +0 -300
- package/dist/chunk-D43XJWX3.js.map +0 -1
- package/dist/chunk-E5ERYB7Q.js +0 -39
- package/dist/chunk-E5ERYB7Q.js.map +0 -1
- package/dist/chunk-EPTJJSHT.cjs +0 -500
- package/dist/chunk-EPTJJSHT.cjs.map +0 -1
- package/dist/chunk-FDAUWHSY.cjs +0 -268
- package/dist/chunk-FDAUWHSY.cjs.map +0 -1
- package/dist/chunk-FSLUSFJ2.cjs +0 -75
- package/dist/chunk-FSLUSFJ2.cjs.map +0 -1
- package/dist/chunk-GC4SZ75B.js +0 -47
- package/dist/chunk-GC4SZ75B.js.map +0 -1
- package/dist/chunk-HDUFHTQC.js +0 -1024
- package/dist/chunk-HDUFHTQC.js.map +0 -1
- package/dist/chunk-HREBEVS5.cjs +0 -42
- package/dist/chunk-HREBEVS5.cjs.map +0 -1
- package/dist/chunk-IF36TB2H.js +0 -459
- package/dist/chunk-IF36TB2H.js.map +0 -1
- package/dist/chunk-J6HCPXT5.cjs +0 -40
- package/dist/chunk-J6HCPXT5.cjs.map +0 -1
- package/dist/chunk-JIS2K5YR.js +0 -13
- package/dist/chunk-JIS2K5YR.js.map +0 -1
- package/dist/chunk-JYWKXNUO.cjs +0 -37
- package/dist/chunk-JYWKXNUO.cjs.map +0 -1
- package/dist/chunk-KYCPG2DN.cjs +0 -17
- package/dist/chunk-KYCPG2DN.cjs.map +0 -1
- package/dist/chunk-L3HN4J2Y.js +0 -175
- package/dist/chunk-L3HN4J2Y.js.map +0 -1
- package/dist/chunk-LZJVUYSQ.cjs +0 -462
- package/dist/chunk-LZJVUYSQ.cjs.map +0 -1
- package/dist/chunk-MXWFM5J2.js +0 -493
- package/dist/chunk-MXWFM5J2.js.map +0 -1
- package/dist/chunk-NPTCR22X.cjs +0 -1031
- package/dist/chunk-NPTCR22X.cjs.map +0 -1
- package/dist/chunk-P4VXS3BG.cjs +0 -464
- package/dist/chunk-P4VXS3BG.cjs.map +0 -1
- package/dist/chunk-P6AKK6TA.cjs +0 -382
- package/dist/chunk-P6AKK6TA.cjs.map +0 -1
- package/dist/chunk-PLXOZ5BH.cjs +0 -140
- package/dist/chunk-PLXOZ5BH.cjs.map +0 -1
- package/dist/chunk-Q5YXTDPX.cjs +0 -150
- package/dist/chunk-Q5YXTDPX.cjs.map +0 -1
- package/dist/chunk-QB6UW6DD.js +0 -250
- package/dist/chunk-QB6UW6DD.js.map +0 -1
- package/dist/chunk-QG2INAJC.js +0 -461
- package/dist/chunk-QG2INAJC.js.map +0 -1
- package/dist/chunk-QXIIJNQK.cjs +0 -15
- package/dist/chunk-QXIIJNQK.cjs.map +0 -1
- package/dist/chunk-RKDOQV4T.js +0 -73
- package/dist/chunk-RKDOQV4T.js.map +0 -1
- package/dist/chunk-ROLEPF3N.js +0 -399
- package/dist/chunk-ROLEPF3N.js.map +0 -1
- package/dist/chunk-RPNLSRUS.cjs +0 -120
- package/dist/chunk-RPNLSRUS.cjs.map +0 -1
- package/dist/chunk-SINQXEBL.js +0 -160
- package/dist/chunk-SINQXEBL.js.map +0 -1
- package/dist/chunk-SLGOKKU7.cjs +0 -402
- package/dist/chunk-SLGOKKU7.cjs.map +0 -1
- package/dist/chunk-U6ODF4YB.cjs +0 -303
- package/dist/chunk-U6ODF4YB.cjs.map +0 -1
- package/dist/chunk-UXFD52LT.js +0 -137
- package/dist/chunk-UXFD52LT.js.map +0 -1
- package/dist/chunk-UZ7TYGUO.js +0 -147
- package/dist/chunk-UZ7TYGUO.js.map +0 -1
- package/dist/chunk-UZF75XZJ.js +0 -379
- package/dist/chunk-UZF75XZJ.js.map +0 -1
- package/dist/chunk-WTQNKZKV.cjs +0 -253
- package/dist/chunk-WTQNKZKV.cjs.map +0 -1
- package/dist/chunk-WWKBIVET.cjs +0 -163
- package/dist/chunk-WWKBIVET.cjs.map +0 -1
- package/dist/chunk-YDLNXR7R.js +0 -265
- package/dist/chunk-YDLNXR7R.js.map +0 -1
- package/dist/chunk-YOJRRPOG.js +0 -33
- package/dist/chunk-YOJRRPOG.js.map +0 -1
- package/dist/chunk-YU5DAILW.cjs +0 -14
- package/dist/chunk-YU5DAILW.cjs.map +0 -1
- package/dist/chunk-YZATKTYO.cjs +0 -50
- package/dist/chunk-YZATKTYO.cjs.map +0 -1
- package/dist/chunk-ZLTPLVOF.js +0 -445
- package/dist/chunk-ZLTPLVOF.js.map +0 -1
- package/dist/chunk-ZWFK5UUU.js +0 -11
- package/dist/chunk-ZWFK5UUU.js.map +0 -1
- package/dist/components/index.d.ts +0 -8
- package/dist/components/index.js +0 -11
- package/dist/components/index.js.map +0 -1
- package/dist/contexts/index.cjs.map +0 -1
- package/dist/contexts/index.js +0 -4
- package/dist/contexts/index.js.map +0 -1
- package/dist/core/index.cjs.map +0 -1
- package/dist/core/index.d.ts +0 -64
- package/dist/core/index.js +0 -6
- package/dist/core/index.js.map +0 -1
- package/dist/ui/index.cjs.map +0 -1
- package/dist/ui/index.d.ts +0 -10
- package/dist/ui/index.js +0 -4
- package/dist/ui/index.js.map +0 -1
- package/dist/widgets/index.d.ts +0 -604
- package/dist/widgets/index.js +0 -55
- package/dist/widgets/index.js.map +0 -1
package/dist/chunk-FDAUWHSY.cjs
DELETED
|
@@ -1,268 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkQXIIJNQK_cjs = require('./chunk-QXIIJNQK.cjs');
|
|
4
|
-
var chunkJ6HCPXT5_cjs = require('./chunk-J6HCPXT5.cjs');
|
|
5
|
-
var react = require('react');
|
|
6
|
-
var reactQuery = require('@tanstack/react-query');
|
|
7
|
-
var context = require('@fluid-app/rep-core/data-sources/context');
|
|
8
|
-
var previewContext = require('@fluid-app/rep-core/data-sources/preview-context');
|
|
9
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
10
|
-
|
|
11
|
-
// src/hooks/use-mysite.preview.ts
|
|
12
|
-
var PREVIEW_DATA = {
|
|
13
|
-
url: "https://mysite.example.com",
|
|
14
|
-
views: 1248,
|
|
15
|
-
leads: 43,
|
|
16
|
-
userName: "Jane"
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
// src/hooks/use-mysite.ts
|
|
20
|
-
function useMySite() {
|
|
21
|
-
const { baseUrl, getApiHeaders } = context.useDataSourceConfig();
|
|
22
|
-
const { isPreview } = previewContext.useWidgetPreviewContext();
|
|
23
|
-
return reactQuery.useQuery({
|
|
24
|
-
queryKey: [
|
|
25
|
-
"rep-widget-use",
|
|
26
|
-
"mysite",
|
|
27
|
-
isPreview ? "preview" : baseUrl
|
|
28
|
-
],
|
|
29
|
-
queryFn: async ({ signal }) => {
|
|
30
|
-
const url = baseUrl ? `${baseUrl}/me` : "/me";
|
|
31
|
-
const response = await fetch(url, {
|
|
32
|
-
headers: {
|
|
33
|
-
"content-type": "application/json",
|
|
34
|
-
...getApiHeaders?.()
|
|
35
|
-
},
|
|
36
|
-
signal
|
|
37
|
-
});
|
|
38
|
-
if (!response.ok) {
|
|
39
|
-
throw new Error(`Failed to fetch MySite data: ${response.status}`);
|
|
40
|
-
}
|
|
41
|
-
const data = await response.json();
|
|
42
|
-
return {
|
|
43
|
-
url: data.mysite_url ?? null,
|
|
44
|
-
views: data.mysite_views ?? 0,
|
|
45
|
-
leads: data.mysite_leads ?? 0,
|
|
46
|
-
userName: data.name || data.first_name || "User"
|
|
47
|
-
};
|
|
48
|
-
},
|
|
49
|
-
enabled: !isPreview,
|
|
50
|
-
...isPreview && { placeholderData: PREVIEW_DATA }
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
function MySiteWidget({
|
|
54
|
-
// Title defaults
|
|
55
|
-
titleEnabled = true,
|
|
56
|
-
titleText = "My Site",
|
|
57
|
-
titleFontSize = "lg",
|
|
58
|
-
titleColor = "foreground",
|
|
59
|
-
// Design defaults
|
|
60
|
-
background = {
|
|
61
|
-
type: "solid",
|
|
62
|
-
color: "background"
|
|
63
|
-
},
|
|
64
|
-
textColor = "foreground",
|
|
65
|
-
accentColor = "primary",
|
|
66
|
-
padding = 4,
|
|
67
|
-
borderRadius = "md",
|
|
68
|
-
// Display defaults
|
|
69
|
-
showPreview = true,
|
|
70
|
-
showAnalytics = true,
|
|
71
|
-
className,
|
|
72
|
-
...props
|
|
73
|
-
}) {
|
|
74
|
-
const backgroundColor = background.color || "background";
|
|
75
|
-
const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && background.type === "image" ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
|
|
76
|
-
const { data: mySite, isLoading, isError } = useMySite();
|
|
77
|
-
const previewUrl = react.useMemo(() => {
|
|
78
|
-
if (!mySite?.url) return "";
|
|
79
|
-
try {
|
|
80
|
-
const urlObj = new URL(mySite.url);
|
|
81
|
-
urlObj.searchParams.set("preview", "true");
|
|
82
|
-
return urlObj.toString();
|
|
83
|
-
} catch {
|
|
84
|
-
return mySite.url;
|
|
85
|
-
}
|
|
86
|
-
}, [mySite?.url]);
|
|
87
|
-
const displayUrl = react.useMemo(
|
|
88
|
-
() => mySite?.url ? mySite.url.replace(/^https?:\/\//, "") : "",
|
|
89
|
-
[mySite?.url]
|
|
90
|
-
);
|
|
91
|
-
if (!isLoading && !isError && !mySite?.url) {
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
95
|
-
"div",
|
|
96
|
-
{
|
|
97
|
-
className: `@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} text-${textColor} ${className}`,
|
|
98
|
-
style: { backgroundImage },
|
|
99
|
-
...props,
|
|
100
|
-
children: [
|
|
101
|
-
titleEnabled && titleText && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `p-${padding} pb-0`, children: /* @__PURE__ */ jsxRuntime.jsx("h2", { className: `text-${titleFontSize} font-bold text-${titleColor}`, children: mySite?.userName ? `${mySite.userName}'s ${titleText}` : titleText }) }),
|
|
102
|
-
isLoading ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
103
|
-
"div",
|
|
104
|
-
{
|
|
105
|
-
className: `flex min-h-[200px] items-center justify-center p-${padding}`,
|
|
106
|
-
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-8 w-8 animate-spin rounded-full border-2 border-current border-t-transparent" })
|
|
107
|
-
}
|
|
108
|
-
) : isError ? /* @__PURE__ */ jsxRuntime.jsx(chunkQXIIJNQK_cjs.ErrorState, {}) : /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `p-${padding}`, children: [
|
|
109
|
-
showPreview && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-muted mb-4 overflow-hidden rounded-lg border", children: [
|
|
110
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "bg-[#f3f4f6] px-3 py-2 text-[#6b7280]", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
|
|
111
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex gap-1", children: [
|
|
112
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-[#ff5f57]" }),
|
|
113
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-[#febc2e]" }),
|
|
114
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-3 w-3 rounded-full bg-[#28c840]" })
|
|
115
|
-
] }),
|
|
116
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1 text-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
117
|
-
"a",
|
|
118
|
-
{
|
|
119
|
-
href: mySite?.url ?? "",
|
|
120
|
-
target: "_blank",
|
|
121
|
-
rel: "noopener noreferrer",
|
|
122
|
-
className: "text-sm opacity-60",
|
|
123
|
-
children: displayUrl
|
|
124
|
-
}
|
|
125
|
-
) })
|
|
126
|
-
] }) }),
|
|
127
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-[200px] overflow-hidden bg-[#ffffff] @md:h-[280px]", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
128
|
-
"iframe",
|
|
129
|
-
{
|
|
130
|
-
className: "pointer-events-none h-[700%] w-[700%] origin-top-left scale-[0.14] bg-[#ffffff]",
|
|
131
|
-
src: previewUrl,
|
|
132
|
-
title: "MySite Preview"
|
|
133
|
-
}
|
|
134
|
-
) })
|
|
135
|
-
] }),
|
|
136
|
-
showAnalytics && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
137
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-muted bg-background rounded-lg border p-3", children: [
|
|
138
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs opacity-60", children: "Visitors This Month" }),
|
|
139
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `text-xl font-bold text-${accentColor}`, children: mySite?.views ?? 0 })
|
|
140
|
-
] }),
|
|
141
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "border-muted bg-background rounded-lg border p-3", children: [
|
|
142
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-xs opacity-60", children: "Total Leads" }),
|
|
143
|
-
/* @__PURE__ */ jsxRuntime.jsx("div", { className: `text-xl font-bold text-${accentColor}`, children: mySite?.leads ?? 0 })
|
|
144
|
-
] })
|
|
145
|
-
] })
|
|
146
|
-
] })
|
|
147
|
-
]
|
|
148
|
-
}
|
|
149
|
-
);
|
|
150
|
-
}
|
|
151
|
-
var mySiteWidgetPropertySchema = {
|
|
152
|
-
widgetType: "MySiteWidget",
|
|
153
|
-
displayName: "MySite Widget",
|
|
154
|
-
tabsConfig: [{ id: "styling", label: "Styling" }],
|
|
155
|
-
fields: [
|
|
156
|
-
// Styling Tab - Title Group
|
|
157
|
-
{
|
|
158
|
-
key: "titleEnabled",
|
|
159
|
-
label: "Widget Title",
|
|
160
|
-
type: "boolean",
|
|
161
|
-
description: "Enable the title displayed above the widget",
|
|
162
|
-
defaultValue: true,
|
|
163
|
-
tab: "styling",
|
|
164
|
-
group: "Title"
|
|
165
|
-
},
|
|
166
|
-
{
|
|
167
|
-
key: "titleText",
|
|
168
|
-
label: "Title",
|
|
169
|
-
type: "text",
|
|
170
|
-
description: "Title text displayed above the widget",
|
|
171
|
-
defaultValue: "My Site",
|
|
172
|
-
tab: "styling",
|
|
173
|
-
group: "Title",
|
|
174
|
-
requiresKeyToBeTrue: "titleEnabled"
|
|
175
|
-
},
|
|
176
|
-
chunkJ6HCPXT5_cjs.getFontSizeField({
|
|
177
|
-
key: "titleFontSize",
|
|
178
|
-
label: "Title Font Size",
|
|
179
|
-
description: "Font size for the widget title",
|
|
180
|
-
defaultValue: "xl",
|
|
181
|
-
tab: "styling",
|
|
182
|
-
group: "Title",
|
|
183
|
-
requiresKeyToBeTrue: "titleEnabled"
|
|
184
|
-
}),
|
|
185
|
-
chunkJ6HCPXT5_cjs.getColorField({
|
|
186
|
-
key: "titleColor",
|
|
187
|
-
label: "Title Color",
|
|
188
|
-
description: "Color for the widget title",
|
|
189
|
-
defaultValue: "foreground",
|
|
190
|
-
tab: "styling",
|
|
191
|
-
group: "Title",
|
|
192
|
-
requiresKeyToBeTrue: "titleEnabled"
|
|
193
|
-
}),
|
|
194
|
-
// Styling Tab - Design Group
|
|
195
|
-
{
|
|
196
|
-
type: "background",
|
|
197
|
-
key: "background",
|
|
198
|
-
label: "Background",
|
|
199
|
-
description: "Background for the widget container",
|
|
200
|
-
defaultValue: "background",
|
|
201
|
-
tab: "styling",
|
|
202
|
-
group: "Design"
|
|
203
|
-
},
|
|
204
|
-
chunkJ6HCPXT5_cjs.getColorField({
|
|
205
|
-
key: "textColor",
|
|
206
|
-
label: "Text Color",
|
|
207
|
-
description: "Default text color for widget content",
|
|
208
|
-
defaultValue: "foreground",
|
|
209
|
-
tab: "styling",
|
|
210
|
-
group: "Design"
|
|
211
|
-
}),
|
|
212
|
-
chunkJ6HCPXT5_cjs.getColorField({
|
|
213
|
-
key: "accentColor",
|
|
214
|
-
label: "Accent Color",
|
|
215
|
-
description: "Color used for analytics numbers",
|
|
216
|
-
defaultValue: "primary",
|
|
217
|
-
tab: "styling",
|
|
218
|
-
group: "Design"
|
|
219
|
-
}),
|
|
220
|
-
{
|
|
221
|
-
key: "separator",
|
|
222
|
-
type: "separator",
|
|
223
|
-
label: "Separator",
|
|
224
|
-
tab: "styling",
|
|
225
|
-
group: "Design"
|
|
226
|
-
},
|
|
227
|
-
chunkJ6HCPXT5_cjs.getPaddingField({
|
|
228
|
-
key: "padding",
|
|
229
|
-
label: "Padding",
|
|
230
|
-
description: "Padding around the widget container",
|
|
231
|
-
defaultValue: 4,
|
|
232
|
-
tab: "styling",
|
|
233
|
-
group: "Design"
|
|
234
|
-
}),
|
|
235
|
-
chunkJ6HCPXT5_cjs.getBorderRadiusField({
|
|
236
|
-
key: "borderRadius",
|
|
237
|
-
label: "Border Radius",
|
|
238
|
-
description: "Border radius for the widget container",
|
|
239
|
-
defaultValue: "md",
|
|
240
|
-
tab: "styling",
|
|
241
|
-
group: "Design"
|
|
242
|
-
}),
|
|
243
|
-
// Styling Tab - Display Group
|
|
244
|
-
{
|
|
245
|
-
key: "showPreview",
|
|
246
|
-
label: "Show Preview",
|
|
247
|
-
type: "boolean",
|
|
248
|
-
description: "Show the MySite iframe preview",
|
|
249
|
-
defaultValue: true,
|
|
250
|
-
tab: "styling",
|
|
251
|
-
group: "Display"
|
|
252
|
-
},
|
|
253
|
-
{
|
|
254
|
-
key: "showAnalytics",
|
|
255
|
-
label: "Show Analytics",
|
|
256
|
-
type: "boolean",
|
|
257
|
-
description: "Show the analytics section",
|
|
258
|
-
defaultValue: true,
|
|
259
|
-
tab: "styling",
|
|
260
|
-
group: "Display"
|
|
261
|
-
}
|
|
262
|
-
]
|
|
263
|
-
};
|
|
264
|
-
|
|
265
|
-
exports.MySiteWidget = MySiteWidget;
|
|
266
|
-
exports.mySiteWidgetPropertySchema = mySiteWidgetPropertySchema;
|
|
267
|
-
//# sourceMappingURL=chunk-FDAUWHSY.cjs.map
|
|
268
|
-
//# sourceMappingURL=chunk-FDAUWHSY.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/use-mysite.preview.ts","../src/hooks/use-mysite.ts","../src/widgets/MySiteWidget.tsx"],"names":["useDataSourceConfig","useWidgetPreviewContext","useQuery","useMemo","jsxs","jsx","ErrorState","getFontSizeField","getColorField","getPaddingField","getBorderRadiusField"],"mappings":"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","file":"chunk-FDAUWHSY.cjs","sourcesContent":["import type { MySiteData } from \"./use-mysite.types\";\n\nexport const PREVIEW_DATA: MySiteData = {\n url: \"https://mysite.example.com\",\n views: 1248,\n leads: 43,\n userName: \"Jane\",\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-mysite.preview\";\n\nimport type { MySiteData } from \"./use-mysite.types\";\n\nexport type { MySiteData } from \"./use-mysite.types\";\n\nexport function useMySite() {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n const { isPreview } = useWidgetPreviewContext();\n\n return useQuery({\n queryKey: [\n \"rep-widget-use\",\n \"mysite\",\n isPreview ? \"preview\" : baseUrl,\n ] as const,\n queryFn: async ({ signal }): Promise<MySiteData> => {\n const url = baseUrl ? `${baseUrl}/me` : \"/me\";\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 MySite data: ${response.status}`);\n }\n\n const data = await response.json();\n return {\n url: data.mysite_url ?? null,\n views: data.mysite_views ?? 0,\n leads: data.mysite_leads ?? 0,\n userName: data.name || data.first_name || \"User\",\n };\n },\n enabled: !isPreview,\n ...(isPreview && { placeholderData: PREVIEW_DATA }),\n });\n}\n","import { useMemo, 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 { useMySite } from \"../hooks/use-mysite\";\nimport { ErrorState } from \"../components/error-state\";\n\ntype MySiteWidgetProps = ComponentProps<\"div\"> & {\n // Title settings\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Design settings\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Display settings\n showPreview?: boolean;\n showAnalytics?: boolean;\n};\n\nexport function MySiteWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"My Site\",\n titleFontSize = \"lg\",\n titleColor = \"foreground\",\n\n // Design defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n // Display defaults\n showPreview = true,\n showAnalytics = true,\n\n className,\n ...props\n}: MySiteWidgetProps) {\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: mySite, isLoading, isError } = useMySite();\n\n // Generate preview URL with preview=true parameter\n const previewUrl = useMemo(() => {\n if (!mySite?.url) return \"\";\n try {\n const urlObj = new URL(mySite.url);\n urlObj.searchParams.set(\"preview\", \"true\");\n return urlObj.toString();\n } catch {\n return mySite.url;\n }\n }, [mySite?.url]);\n\n // Display URL without protocol\n const displayUrl = useMemo(\n () => (mySite?.url ? mySite.url.replace(/^https?:\\/\\//, \"\") : \"\"),\n [mySite?.url],\n );\n\n // Don't render if no MySite URL exists (but still render if errored or loading)\n if (!isLoading && !isError && !mySite?.url) {\n return null;\n }\n\n return (\n <div\n className={`@container overflow-hidden rounded-${borderRadius} bg-${backgroundColor} text-${textColor} ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n {/* Title */}\n {titleEnabled && titleText && (\n <div className={`p-${padding} pb-0`}>\n <h2 className={`text-${titleFontSize} font-bold text-${titleColor}`}>\n {mySite?.userName ? `${mySite.userName}'s ${titleText}` : titleText}\n </h2>\n </div>\n )}\n\n {/* Loading state */}\n {isLoading ? (\n <div\n className={`flex min-h-[200px] items-center justify-center p-${padding}`}\n >\n <div className=\"h-8 w-8 animate-spin rounded-full border-2 border-current border-t-transparent\" />\n </div>\n ) : isError ? (\n <ErrorState />\n ) : (\n <div className={`p-${padding}`}>\n {/* MySite iframe preview */}\n {showPreview && (\n <div className=\"border-muted mb-4 overflow-hidden rounded-lg border\">\n {/* Browser chrome */}\n <div className=\"bg-[#f3f4f6] px-3 py-2 text-[#6b7280]\">\n <div className=\"flex items-center gap-2\">\n <div className=\"flex gap-1\">\n <div className=\"h-3 w-3 rounded-full bg-[#ff5f57]\" />\n <div className=\"h-3 w-3 rounded-full bg-[#febc2e]\" />\n <div className=\"h-3 w-3 rounded-full bg-[#28c840]\" />\n </div>\n <div className=\"flex-1 text-center\">\n <a\n href={mySite?.url ?? \"\"}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className=\"text-sm opacity-60\"\n >\n {displayUrl}\n </a>\n </div>\n </div>\n </div>\n {/* iframe container */}\n <div className=\"h-[200px] overflow-hidden bg-[#ffffff] @md:h-[280px]\">\n <iframe\n className=\"pointer-events-none h-[700%] w-[700%] origin-top-left scale-[0.14] bg-[#ffffff]\"\n src={previewUrl}\n title=\"MySite Preview\"\n />\n </div>\n </div>\n )}\n\n {/* Analytics data */}\n {showAnalytics && (\n <div className=\"grid grid-cols-2 gap-3\">\n <div className=\"border-muted bg-background rounded-lg border p-3\">\n <div className=\"text-xs opacity-60\">Visitors This Month</div>\n <div className={`text-xl font-bold text-${accentColor}`}>\n {mySite?.views ?? 0}\n </div>\n </div>\n <div className=\"border-muted bg-background rounded-lg border p-3\">\n <div className=\"text-xs opacity-60\">Total Leads</div>\n <div className={`text-xl font-bold text-${accentColor}`}>\n {mySite?.leads ?? 0}\n </div>\n </div>\n </div>\n )}\n </div>\n )}\n </div>\n );\n}\n\nexport const mySiteWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"MySiteWidget\",\n displayName: \"MySite 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 widget\",\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 widget\",\n defaultValue: \"My Site\",\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 widget 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 widget content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color used for analytics numbers\",\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 getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding around the widget 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 widget container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Styling Tab - Display Group\n {\n key: \"showPreview\",\n label: \"Show Preview\",\n type: \"boolean\",\n description: \"Show the MySite iframe preview\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Display\",\n },\n {\n key: \"showAnalytics\",\n label: \"Show Analytics\",\n type: \"boolean\",\n description: \"Show the analytics section\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Display\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"]}
|
package/dist/chunk-FSLUSFJ2.cjs
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkJYWKXNUO_cjs = require('./chunk-JYWKXNUO.cjs');
|
|
4
|
-
var react = require('react');
|
|
5
|
-
var types = require('@fluid-app/rep-core/types');
|
|
6
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
|
|
8
|
-
function ScreenRendererContent({
|
|
9
|
-
screen,
|
|
10
|
-
containerWidgetTypes,
|
|
11
|
-
className
|
|
12
|
-
}) {
|
|
13
|
-
const registry = chunkJYWKXNUO_cjs.useRegistry();
|
|
14
|
-
const isContainerWidget = react.useCallback(
|
|
15
|
-
(widgetType) => containerWidgetTypes.includes(widgetType),
|
|
16
|
-
[containerWidgetTypes]
|
|
17
|
-
);
|
|
18
|
-
const renderWidget = react.useCallback(
|
|
19
|
-
(widget, index, currentPath) => {
|
|
20
|
-
const Component = registry[widget.type];
|
|
21
|
-
if (!Component) {
|
|
22
|
-
console.warn(
|
|
23
|
-
`Widget type "${String(widget.type)}" not found in registry`
|
|
24
|
-
);
|
|
25
|
-
return null;
|
|
26
|
-
}
|
|
27
|
-
const widgetPath = [...currentPath, index];
|
|
28
|
-
const additionalProps = isContainerWidget(widget.type) ? {
|
|
29
|
-
widgetId: widget.id,
|
|
30
|
-
widgetPath
|
|
31
|
-
} : {};
|
|
32
|
-
const props = {
|
|
33
|
-
...widget.props,
|
|
34
|
-
...additionalProps
|
|
35
|
-
};
|
|
36
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
37
|
-
"div",
|
|
38
|
-
{
|
|
39
|
-
className: "h-full w-full overflow-x-hidden",
|
|
40
|
-
children: /* @__PURE__ */ jsxRuntime.jsx(Component, { ...props })
|
|
41
|
-
},
|
|
42
|
-
widget.id || index
|
|
43
|
-
);
|
|
44
|
-
},
|
|
45
|
-
[registry, isContainerWidget]
|
|
46
|
-
);
|
|
47
|
-
return /* @__PURE__ */ jsxRuntime.jsx("div", { className: className || "h-full w-full", children: screen?.map((item, index) => {
|
|
48
|
-
if (!item) return null;
|
|
49
|
-
return renderWidget(item, index, []);
|
|
50
|
-
}) });
|
|
51
|
-
}
|
|
52
|
-
function ScreenRenderer(props) {
|
|
53
|
-
const {
|
|
54
|
-
screen,
|
|
55
|
-
registry,
|
|
56
|
-
containerWidgetTypes = [
|
|
57
|
-
types.WIDGET_TYPE_NAMES.Layout,
|
|
58
|
-
types.WIDGET_TYPE_NAMES.Container
|
|
59
|
-
],
|
|
60
|
-
className
|
|
61
|
-
} = props;
|
|
62
|
-
const registryProviderProps = registry !== void 0 ? { registry } : {};
|
|
63
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkJYWKXNUO_cjs.RegistryProvider, { ...registryProviderProps, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
64
|
-
ScreenRendererContent,
|
|
65
|
-
{
|
|
66
|
-
screen,
|
|
67
|
-
containerWidgetTypes,
|
|
68
|
-
className
|
|
69
|
-
}
|
|
70
|
-
) });
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
exports.ScreenRenderer = ScreenRenderer;
|
|
74
|
-
//# sourceMappingURL=chunk-FSLUSFJ2.cjs.map
|
|
75
|
-
//# sourceMappingURL=chunk-FSLUSFJ2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/core/ScreenRenderer.tsx"],"names":["useRegistry","useCallback","jsx","WIDGET_TYPE_NAMES","RegistryProvider"],"mappings":";;;;;;;AAkCA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,MAAA;AAAA,EACA,oBAAA;AAAA,EACA;AACF,CAAA,EAA+B;AAC7B,EAAA,MAAM,WAAWA,6BAAA,EAAY;AAG7B,EAAA,MAAM,iBAAA,GAAoBC,iBAAA;AAAA,IACxB,CAAC,UAAA,KAAuB,oBAAA,CAAqB,QAAA,CAAS,UAAU,CAAA;AAAA,IAChE,CAAC,oBAAoB;AAAA,GACvB;AAGA,EAAA,MAAM,YAAA,GAAeA,iBAAA;AAAA,IACnB,CAAC,MAAA,EAAsB,KAAA,EAAe,WAAA,KAA4B;AAChE,MAAA,MAAM,SAAA,GAAY,QAAA,CAAS,MAAA,CAAO,IAAI,CAAA;AACtC,MAAA,IAAI,CAAC,SAAA,EAAW;AACd,QAAA,OAAA,CAAQ,IAAA;AAAA,UACN,CAAA,aAAA,EAAgB,MAAA,CAAO,MAAA,CAAO,IAAI,CAAC,CAAA,uBAAA;AAAA,SACrC;AACA,QAAA,OAAO,IAAA;AAAA,MACT;AAEA,MAAA,MAAM,UAAA,GAAa,CAAC,GAAG,WAAA,EAAa,KAAK,CAAA;AAGzC,MAAA,MAAM,eAAA,GAAkB,iBAAA,CAAkB,MAAA,CAAO,IAAI,CAAA,GACjD;AAAA,QACE,UAAU,MAAA,CAAO,EAAA;AAAA,QACjB;AAAA,UAEF,EAAC;AAEL,MAAA,MAAM,KAAA,GAAQ;AAAA,QACZ,GAAG,MAAA,CAAO,KAAA;AAAA,QACV,GAAG;AAAA,OACL;AAEA,MAAA,uBACEC,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UAEC,SAAA,EAAU,iCAAA;AAAA,UAEV,QAAA,kBAAAA,cAAA,CAAC,SAAA,EAAA,EAAW,GAAG,KAAA,EAAO;AAAA,SAAA;AAAA,QAHjB,OAAO,EAAA,IAAM;AAAA,OAIpB;AAAA,IAEJ,CAAA;AAAA,IACA,CAAC,UAAU,iBAAiB;AAAA,GAC9B;AAEA,EAAA,uBACEA,cAAA,CAAC,SAAI,SAAA,EAAW,SAAA,IAAa,iBAC1B,QAAA,EAAA,MAAA,EAAQ,GAAA,CAAI,CAAC,IAAA,EAAM,KAAA,KAAU;AAE5B,IAAA,IAAI,CAAC,MAAM,OAAO,IAAA;AAClB,IAAA,OAAO,YAAA,CAAa,IAAA,EAAM,KAAA,EAAO,EAAE,CAAA;AAAA,EACrC,CAAC,CAAA,EACH,CAAA;AAEJ;AAwBO,SAAS,eAGd,KAAA,EAA+B;AAC/B,EAAA,MAAM;AAAA,IACJ,MAAA;AAAA,IACA,QAAA;AAAA,IACA,oBAAA,GAAuB;AAAA,MACrBC,uBAAA,CAAkB,MAAA;AAAA,MAClBA,uBAAA,CAAkB;AAAA,KACpB;AAAA,IACA;AAAA,GACF,GAAI,KAAA;AAIJ,EAAA,MAAM,wBAAwB,QAAA,KAAa,MAAA,GAAY,EAAE,QAAA,KAAa,EAAC;AAEvE,EAAA,uBACED,cAAA,CAACE,kCAAA,EAAA,EAAkB,GAAG,qBAAA,EAKpB,QAAA,kBAAAF,cAAA;AAAA,IAAC,qBAAA;AAAA,IAAA;AAAA,MACC,MAAA;AAAA,MACA,oBAAA;AAAA,MACA;AAAA;AAAA,GACF,EACF,CAAA;AAEJ","file":"chunk-FSLUSFJ2.cjs","sourcesContent":["import type { ComponentType } from \"react\";\nimport { useCallback } from \"react\";\nimport type {\n WidgetSchema,\n TypedWidgetSchema,\n WidgetPath,\n} from \"@fluid-app/rep-core/types\";\nimport { WIDGET_TYPE_NAMES } from \"@fluid-app/rep-core/types\";\nimport { RegistryProvider, useRegistry } from \"../contexts/RegistryContext\";\n\nexport interface ScreenRendererProps<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, ComponentType<any>>,\n> {\n /** Array of widget schemas to render */\n screen: TypedWidgetSchema<T>[] | WidgetSchema[];\n /** Widget registry mapping type names to components */\n registry?: T;\n /** Container widgets (like LayoutWidget) receive these additional props */\n containerWidgetTypes?: string[];\n /** Additional CSS classes for the wrapper div */\n className?: string;\n}\n\ninterface ScreenRendererContentProps {\n screen: WidgetSchema[];\n containerWidgetTypes: string[];\n className?: string | undefined;\n}\n\n/**\n * Internal component that uses the registry from context.\n * This allows us to avoid prop drilling the registry.\n */\nfunction ScreenRendererContent({\n screen,\n containerWidgetTypes,\n className,\n}: ScreenRendererContentProps) {\n const registry = useRegistry();\n\n // Check if a widget type is a container\n const isContainerWidget = useCallback(\n (widgetType: string) => containerWidgetTypes.includes(widgetType),\n [containerWidgetTypes],\n );\n\n // Render widgets recursively with path tracking\n const renderWidget = useCallback(\n (widget: WidgetSchema, index: number, currentPath: WidgetPath) => {\n const Component = registry[widget.type];\n if (!Component) {\n console.warn(\n `Widget type \"${String(widget.type)}\" not found in registry`,\n );\n return null;\n }\n\n const widgetPath = [...currentPath, index];\n\n // Build additional props for container widgets\n const additionalProps = isContainerWidget(widget.type)\n ? {\n widgetId: widget.id,\n widgetPath,\n }\n : {};\n\n const props = {\n ...widget.props,\n ...additionalProps,\n };\n\n return (\n <div\n key={widget.id || index}\n className=\"h-full w-full overflow-x-hidden\"\n >\n <Component {...props} />\n </div>\n );\n },\n [registry, isContainerWidget],\n );\n\n return (\n <div className={className || \"h-full w-full\"}>\n {screen?.map((item, index) => {\n // Skip null items (empty grid cells)\n if (!item) return null;\n return renderWidget(item, index, []);\n })}\n </div>\n );\n}\n\n/**\n * ScreenRenderer - View-only component for rendering widget screens.\n *\n * This is a simplified version designed for the SDK that only handles\n * rendering widgets without edit mode or drag-and-drop functionality.\n *\n * Features:\n * - Static rendering of widgets\n * - Registry context: No prop drilling for widget registry\n * - Container widget support with path tracking\n *\n * Usage:\n * ```tsx\n * import { ScreenRenderer } from '@fluid-app/rep-widgets/core';\n * import { WIDGET_REGISTRY } from '@fluid-app/rep-widgets/widgets';\n *\n * <ScreenRenderer\n * screen={widgets}\n * registry={WIDGET_REGISTRY}\n * />\n * ```\n */\nexport function ScreenRenderer<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n T extends Record<string, ComponentType<any>>,\n>(props: ScreenRendererProps<T>) {\n const {\n screen,\n registry,\n containerWidgetTypes = [\n WIDGET_TYPE_NAMES.Layout,\n WIDGET_TYPE_NAMES.Container,\n ],\n className,\n } = props;\n\n // Conditionally pass registry prop to satisfy exactOptionalPropertyTypes\n // When registry is undefined, we omit it entirely and let RegistryProvider inherit from parent\n const registryProviderProps = registry !== undefined ? { registry } : {};\n\n return (\n <RegistryProvider {...registryProviderProps}>\n {/* Type assertion required: TypedWidgetSchema<T>[] is a subtype of WidgetSchema[]\n when T's components accept props compatible with WidgetSchema props.\n This enables type-safe widget rendering with custom registries while allowing\n the internal renderer to work with the base WidgetSchema type. */}\n <ScreenRendererContent\n screen={screen as WidgetSchema[]}\n containerWidgetTypes={containerWidgetTypes}\n className={className}\n />\n </RegistryProvider>\n );\n}\n"]}
|
package/dist/chunk-GC4SZ75B.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { getHeightField } from '@fluid-app/rep-core/registries';
|
|
2
|
-
import { faArrowsUpDown } from '@fortawesome/pro-regular-svg-icons';
|
|
3
|
-
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
4
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
5
|
-
|
|
6
|
-
// src/widgets/SpacerWidget.tsx
|
|
7
|
-
function SpacerWidget({
|
|
8
|
-
customHeight = "128px",
|
|
9
|
-
previewMode = false,
|
|
10
|
-
className,
|
|
11
|
-
style,
|
|
12
|
-
...props
|
|
13
|
-
}) {
|
|
14
|
-
return /* @__PURE__ */ jsx(
|
|
15
|
-
"div",
|
|
16
|
-
{
|
|
17
|
-
className: `w-full ${className ?? ""}`,
|
|
18
|
-
style: { height: customHeight, ...style },
|
|
19
|
-
"aria-hidden": "true",
|
|
20
|
-
...props,
|
|
21
|
-
children: previewMode && /* @__PURE__ */ jsxs("div", { className: "border-muted-400 bg-muted text-muted-foreground flex h-full w-full items-center justify-center gap-1 border border-dashed", children: [
|
|
22
|
-
/* @__PURE__ */ jsx(FontAwesomeIcon, { icon: faArrowsUpDown }),
|
|
23
|
-
/* @__PURE__ */ jsx("span", { children: "SPACER" })
|
|
24
|
-
] })
|
|
25
|
-
}
|
|
26
|
-
);
|
|
27
|
-
}
|
|
28
|
-
var spacerWidgetPropertySchema = {
|
|
29
|
-
widgetType: "SpacerWidget",
|
|
30
|
-
displayName: "Spacer",
|
|
31
|
-
fields: [
|
|
32
|
-
getHeightField({
|
|
33
|
-
key: "customHeight",
|
|
34
|
-
label: "Height",
|
|
35
|
-
description: "Height of the spacer",
|
|
36
|
-
min: 1,
|
|
37
|
-
max: 1200,
|
|
38
|
-
step: 1,
|
|
39
|
-
defaultValue: "128px",
|
|
40
|
-
group: "Spacing"
|
|
41
|
-
})
|
|
42
|
-
]
|
|
43
|
-
};
|
|
44
|
-
|
|
45
|
-
export { SpacerWidget, spacerWidgetPropertySchema };
|
|
46
|
-
//# sourceMappingURL=chunk-GC4SZ75B.js.map
|
|
47
|
-
//# sourceMappingURL=chunk-GC4SZ75B.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/widgets/SpacerWidget.tsx"],"names":[],"mappings":";;;;;;AAmBO,SAAS,YAAA,CAAa;AAAA,EAC3B,YAAA,GAAe,OAAA;AAAA,EACf,WAAA,GAAc,KAAA;AAAA,EACd,SAAA;AAAA,EACA,KAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAsB;AACpB,EAAA,uBACE,GAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,CAAA,OAAA,EAAU,SAAA,IAAa,EAAE,CAAA,CAAA;AAAA,MACpC,KAAA,EAAO,EAAE,MAAA,EAAQ,YAAA,EAAc,GAAG,KAAA,EAAM;AAAA,MACxC,aAAA,EAAY,MAAA;AAAA,MACX,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA,WAAA,oBACC,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,2HAAA,EACb,QAAA,EAAA;AAAA,wBAAA,GAAA,CAAC,eAAA,EAAA,EAAgB,MAAM,cAAA,EAAgB,CAAA;AAAA,wBACvC,GAAA,CAAC,UAAK,QAAA,EAAA,QAAA,EAAM;AAAA,OAAA,EACd;AAAA;AAAA,GAEJ;AAEJ;AAEO,IAAM,0BAAA,GAAmD;AAAA,EAC9D,UAAA,EAAY,cAAA;AAAA,EACZ,WAAA,EAAa,QAAA;AAAA,EACb,MAAA,EAAQ;AAAA,IACN,cAAA,CAAe;AAAA,MACb,GAAA,EAAK,cAAA;AAAA,MACL,KAAA,EAAO,QAAA;AAAA,MACP,WAAA,EAAa,sBAAA;AAAA,MACb,GAAA,EAAK,CAAA;AAAA,MACL,GAAA,EAAK,IAAA;AAAA,MACL,IAAA,EAAM,CAAA;AAAA,MACN,YAAA,EAAc,OAAA;AAAA,MACd,KAAA,EAAO;AAAA,KACR;AAAA;AAEL","file":"chunk-GC4SZ75B.js","sourcesContent":["import {\n getHeightField,\n type WidgetPropertySchema,\n} from \"@fluid-app/rep-core/registries\";\nimport { faArrowsUpDown } from \"@fortawesome/pro-regular-svg-icons\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport type { ComponentProps } from \"react\";\n\ntype SpacerWidgetProps = ComponentProps<\"div\"> & {\n /**\n * Custom height as a CSS value (e.g., \"128px\", \"8rem\", \"20vh\")\n */\n customHeight?: string;\n /**\n * Not customizable, determines if we should show a preview image in the container\n */\n previewMode?: boolean;\n};\n\nexport function SpacerWidget({\n customHeight = \"128px\",\n previewMode = false,\n className,\n style,\n ...props\n}: SpacerWidgetProps) {\n return (\n <div\n className={`w-full ${className ?? \"\"}`}\n style={{ height: customHeight, ...style }}\n aria-hidden=\"true\"\n {...props}\n >\n {previewMode && (\n <div className=\"border-muted-400 bg-muted text-muted-foreground flex h-full w-full items-center justify-center gap-1 border border-dashed\">\n <FontAwesomeIcon icon={faArrowsUpDown} />\n <span>SPACER</span>\n </div>\n )}\n </div>\n );\n}\n\nexport const spacerWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"SpacerWidget\",\n displayName: \"Spacer\",\n fields: [\n getHeightField({\n key: \"customHeight\",\n label: \"Height\",\n description: \"Height of the spacer\",\n min: 1,\n max: 1200,\n step: 1,\n defaultValue: \"128px\",\n group: \"Spacing\",\n }),\n ],\n};\n"]}
|