@fluid-app/rep-widgets 0.1.16 → 0.1.18
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-DshBk5tG.mjs +424 -0
- package/dist/CalendarWidget-DshBk5tG.mjs.map +1 -0
- package/dist/CalendarWidget-s7KgQ5JD.cjs +441 -0
- package/dist/CalendarWidget-s7KgQ5JD.cjs.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-CxEgRz3c.mjs +391 -0
- package/dist/RecentActivityWidget-CxEgRz3c.mjs.map +1 -0
- package/dist/RecentActivityWidget-u1zCrwGF.cjs +408 -0
- package/dist/RecentActivityWidget-u1zCrwGF.cjs.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-IF36TB2H.js
DELETED
|
@@ -1,459 +0,0 @@
|
|
|
1
|
-
import { MediaRenderer, getMediaPropsFromShareable } from './chunk-L3HN4J2Y.js';
|
|
2
|
-
import { getFontSizeField, getColorField, getPaddingField, getBorderRadiusField } from './chunk-6ZECDBGI.js';
|
|
3
|
-
import { useState, useMemo } from 'react';
|
|
4
|
-
import { Input } from '@fluid-app/ui-primitives';
|
|
5
|
-
import '@fluid-app/rep-core/types';
|
|
6
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
7
|
-
|
|
8
|
-
var DEFAULT_DATA = [];
|
|
9
|
-
function ImageCellRenderer(_value, item) {
|
|
10
|
-
return /* @__PURE__ */ jsx("div", { className: "h-10 w-10 rounded object-cover", children: /* @__PURE__ */ jsx(MediaRenderer, { ...getMediaPropsFromShareable(item) }) });
|
|
11
|
-
}
|
|
12
|
-
function PriceCellRenderer(_value, item) {
|
|
13
|
-
return (item.display_price ?? item.price) || "-";
|
|
14
|
-
}
|
|
15
|
-
function StatusCellRenderer(value) {
|
|
16
|
-
const status = String(value || "unknown").toLowerCase();
|
|
17
|
-
const statusStyles = {
|
|
18
|
-
active: "bg-primary text-primary-foreground",
|
|
19
|
-
inactive: "bg-secondary text-secondary-foreground",
|
|
20
|
-
unknown: "bg-muted text-muted-foreground"
|
|
21
|
-
};
|
|
22
|
-
return /* @__PURE__ */ jsx(
|
|
23
|
-
"span",
|
|
24
|
-
{
|
|
25
|
-
className: `inline-flex rounded-full px-2 py-1 text-xs font-medium ${statusStyles[status] || "bg-muted text-foreground"}`,
|
|
26
|
-
children: String(value || "Unknown")
|
|
27
|
-
}
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
var defaultColumns = [
|
|
31
|
-
{
|
|
32
|
-
key: "imageUrl",
|
|
33
|
-
label: "Image",
|
|
34
|
-
sortable: false,
|
|
35
|
-
render: ImageCellRenderer
|
|
36
|
-
},
|
|
37
|
-
{
|
|
38
|
-
key: "title",
|
|
39
|
-
label: "Title",
|
|
40
|
-
sortable: true
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
key: "price",
|
|
44
|
-
label: "Price",
|
|
45
|
-
sortable: true,
|
|
46
|
-
render: PriceCellRenderer
|
|
47
|
-
},
|
|
48
|
-
{
|
|
49
|
-
key: "status",
|
|
50
|
-
label: "Status",
|
|
51
|
-
sortable: true,
|
|
52
|
-
render: StatusCellRenderer
|
|
53
|
-
}
|
|
54
|
-
];
|
|
55
|
-
function TableWidget({
|
|
56
|
-
// Title defaults
|
|
57
|
-
titleEnabled = true,
|
|
58
|
-
titleText = "Products",
|
|
59
|
-
titleFontSize = "xl",
|
|
60
|
-
titleColor = "foreground",
|
|
61
|
-
// Styling defaults
|
|
62
|
-
background = {
|
|
63
|
-
type: "solid",
|
|
64
|
-
color: "background"
|
|
65
|
-
},
|
|
66
|
-
alternatingColorEnabled = true,
|
|
67
|
-
textColor = "foreground",
|
|
68
|
-
headerBackgroundColor = "muted",
|
|
69
|
-
headerTextColor = "foreground",
|
|
70
|
-
padding = 4,
|
|
71
|
-
borderRadius = "md",
|
|
72
|
-
// Data
|
|
73
|
-
data = DEFAULT_DATA,
|
|
74
|
-
// Feature defaults
|
|
75
|
-
filterEnabled = true,
|
|
76
|
-
sortingEnabled = true,
|
|
77
|
-
paginationEnabled = true,
|
|
78
|
-
maxRowsPerPage = 5,
|
|
79
|
-
className,
|
|
80
|
-
...props
|
|
81
|
-
}) {
|
|
82
|
-
const backgroundColor = background.color || "background";
|
|
83
|
-
const backgroundImage = (background.resource?.image_url || background.resource?.imageUrl) && background.type === "image" ? `url(${background.resource.image_url || background.resource.imageUrl})` : "none";
|
|
84
|
-
const pageSize = maxRowsPerPage;
|
|
85
|
-
const [globalFilter, setGlobalFilter] = useState("");
|
|
86
|
-
const [sortConfig, setSortConfig] = useState(null);
|
|
87
|
-
const [currentPage, setCurrentPage] = useState(1);
|
|
88
|
-
const columns = defaultColumns;
|
|
89
|
-
const filteredData = useMemo(() => {
|
|
90
|
-
let result = [...data];
|
|
91
|
-
if (globalFilter) {
|
|
92
|
-
const lowerFilter = globalFilter.toLowerCase();
|
|
93
|
-
result = result.filter(
|
|
94
|
-
(item) => columns.some((col) => {
|
|
95
|
-
const value = item[col.key];
|
|
96
|
-
return String(value ?? "").toLowerCase().includes(lowerFilter);
|
|
97
|
-
})
|
|
98
|
-
);
|
|
99
|
-
}
|
|
100
|
-
return result;
|
|
101
|
-
}, [data, globalFilter, columns]);
|
|
102
|
-
const sortedData = useMemo(() => {
|
|
103
|
-
if (!sortConfig) return filteredData;
|
|
104
|
-
return [...filteredData].sort((a, b) => {
|
|
105
|
-
const aValue = a[sortConfig.key];
|
|
106
|
-
const bValue = b[sortConfig.key];
|
|
107
|
-
if (aValue == null && bValue == null) return 0;
|
|
108
|
-
if (aValue == null) return sortConfig.direction === "asc" ? 1 : -1;
|
|
109
|
-
if (bValue == null) return sortConfig.direction === "asc" ? -1 : 1;
|
|
110
|
-
let comparison = 0;
|
|
111
|
-
if (typeof aValue === "number" && typeof bValue === "number") {
|
|
112
|
-
comparison = aValue - bValue;
|
|
113
|
-
} else {
|
|
114
|
-
comparison = String(aValue).localeCompare(String(bValue));
|
|
115
|
-
}
|
|
116
|
-
return sortConfig.direction === "asc" ? comparison : -comparison;
|
|
117
|
-
});
|
|
118
|
-
}, [filteredData, sortConfig]);
|
|
119
|
-
const paginatedData = useMemo(() => {
|
|
120
|
-
if (!paginationEnabled) return sortedData;
|
|
121
|
-
const startIndex = (currentPage - 1) * pageSize;
|
|
122
|
-
return sortedData.slice(startIndex, startIndex + pageSize);
|
|
123
|
-
}, [sortedData, currentPage, pageSize, paginationEnabled]);
|
|
124
|
-
const totalPages = Math.ceil(sortedData.length / pageSize);
|
|
125
|
-
const handleGlobalFilterChange = (value) => {
|
|
126
|
-
setGlobalFilter(value);
|
|
127
|
-
setCurrentPage(1);
|
|
128
|
-
};
|
|
129
|
-
const handleSort = (key) => {
|
|
130
|
-
if (!sortingEnabled) return;
|
|
131
|
-
setSortConfig((prev) => {
|
|
132
|
-
if (prev?.key !== key) return { key, direction: "asc" };
|
|
133
|
-
if (prev.direction === "asc") return { key, direction: "desc" };
|
|
134
|
-
return null;
|
|
135
|
-
});
|
|
136
|
-
};
|
|
137
|
-
const getSortIndicator = (key) => {
|
|
138
|
-
if (sortConfig?.key !== key) return null;
|
|
139
|
-
return sortConfig.direction === "asc" ? " \u2191" : " \u2193";
|
|
140
|
-
};
|
|
141
|
-
if (data.length === 0) {
|
|
142
|
-
return /* @__PURE__ */ jsx(
|
|
143
|
-
"div",
|
|
144
|
-
{
|
|
145
|
-
className: `@container rounded-${borderRadius} bg-${backgroundColor} p-${padding} ${className}`,
|
|
146
|
-
style: { backgroundImage },
|
|
147
|
-
...props,
|
|
148
|
-
children: /* @__PURE__ */ jsxs("div", { className: "text-muted-foreground flex min-h-[200px] flex-col items-center justify-center gap-2", children: [
|
|
149
|
-
/* @__PURE__ */ jsx("div", { className: "text-4xl", children: "\u{1F4CB}" }),
|
|
150
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm", children: "No data available" }),
|
|
151
|
-
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground/70 text-xs", children: "Connect a data source to display table data" })
|
|
152
|
-
] })
|
|
153
|
-
}
|
|
154
|
-
);
|
|
155
|
-
}
|
|
156
|
-
return /* @__PURE__ */ jsxs(
|
|
157
|
-
"div",
|
|
158
|
-
{
|
|
159
|
-
className: `@container overflow-hidden ${paginationEnabled ? "" : "overflow-y-auto"} rounded-${borderRadius} text-${textColor} ${className}`,
|
|
160
|
-
style: { backgroundImage },
|
|
161
|
-
...props,
|
|
162
|
-
children: [
|
|
163
|
-
/* @__PURE__ */ jsxs(
|
|
164
|
-
"div",
|
|
165
|
-
{
|
|
166
|
-
className: `flex items-center justify-between p-${padding} bg-${backgroundColor}`,
|
|
167
|
-
children: [
|
|
168
|
-
titleEnabled && titleText && /* @__PURE__ */ jsx(
|
|
169
|
-
"h2",
|
|
170
|
-
{
|
|
171
|
-
className: `text-${titleFontSize === "md" ? "base" : titleFontSize} font-bold text-${titleColor}`,
|
|
172
|
-
children: titleText
|
|
173
|
-
}
|
|
174
|
-
),
|
|
175
|
-
filterEnabled && /* @__PURE__ */ jsx(
|
|
176
|
-
Input,
|
|
177
|
-
{
|
|
178
|
-
type: "text",
|
|
179
|
-
placeholder: "Search all columns...",
|
|
180
|
-
value: globalFilter,
|
|
181
|
-
onChange: (e) => handleGlobalFilterChange(e.target.value),
|
|
182
|
-
className: `w-full rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor}-400 ring-offset-muted px-3 py-2 text-sm placeholder:text-${headerTextColor}-900 focus-visible:ring-primary focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none md:w-64`
|
|
183
|
-
}
|
|
184
|
-
)
|
|
185
|
-
]
|
|
186
|
-
}
|
|
187
|
-
),
|
|
188
|
-
/* @__PURE__ */ jsx("div", { className: "overflow-x-auto", children: /* @__PURE__ */ jsxs("table", { className: "w-full border-collapse", children: [
|
|
189
|
-
/* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsx(
|
|
190
|
-
"tr",
|
|
191
|
-
{
|
|
192
|
-
className: `bg-${headerBackgroundColor}-400 border-${headerBackgroundColor}-600 border-y`,
|
|
193
|
-
children: columns.map((col) => /* @__PURE__ */ jsx(
|
|
194
|
-
"th",
|
|
195
|
-
{
|
|
196
|
-
className: `px-4 py-3 text-left text-sm font-semibold text-${headerTextColor} ${col.sortable && sortingEnabled ? "cursor-pointer select-none hover:opacity-80" : ""}`,
|
|
197
|
-
...col.sortable && sortingEnabled ? {
|
|
198
|
-
role: "button",
|
|
199
|
-
tabIndex: 0,
|
|
200
|
-
onClick: () => handleSort(col.key),
|
|
201
|
-
onKeyDown: (e) => {
|
|
202
|
-
if (e.key === "Enter" || e.key === " ") {
|
|
203
|
-
e.preventDefault();
|
|
204
|
-
handleSort(col.key);
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
} : {},
|
|
208
|
-
children: /* @__PURE__ */ jsx("div", { className: "flex flex-col gap-1", children: /* @__PURE__ */ jsxs("span", { children: [
|
|
209
|
-
col.label,
|
|
210
|
-
col.sortable && sortingEnabled && getSortIndicator(col.key)
|
|
211
|
-
] }) })
|
|
212
|
-
},
|
|
213
|
-
col.key
|
|
214
|
-
))
|
|
215
|
-
}
|
|
216
|
-
) }),
|
|
217
|
-
/* @__PURE__ */ jsxs("tbody", { children: [
|
|
218
|
-
paginatedData.map((item, index) => /* @__PURE__ */ jsx(
|
|
219
|
-
"tr",
|
|
220
|
-
{
|
|
221
|
-
className: `h-17 border-b border-${backgroundColor}-600 last:border-none bg-${backgroundColor} ${alternatingColorEnabled ? `even:bg-${backgroundColor}-400` : ""}`,
|
|
222
|
-
children: columns.map((col) => /* @__PURE__ */ jsx("td", { className: "px-4 py-3 text-sm", children: col.render ? col.render(item[col.key], item) : String(item[col.key] ?? "-") }, col.key))
|
|
223
|
-
},
|
|
224
|
-
item.id ?? index
|
|
225
|
-
)),
|
|
226
|
-
paginationEnabled && paginatedData.length < pageSize && paginatedData.length > 0 && Array.from({ length: pageSize - paginatedData.length }).map(
|
|
227
|
-
(_, index) => /* @__PURE__ */ jsx(
|
|
228
|
-
"tr",
|
|
229
|
-
{
|
|
230
|
-
className: `h-17 border-b border-${backgroundColor}-600 last:border-none bg-${backgroundColor} ${alternatingColorEnabled ? `even:bg-${backgroundColor}-400` : ""}`,
|
|
231
|
-
children: columns.map((col) => /* @__PURE__ */ jsx("td", { className: "px-4 py-3 text-sm", children: "\xA0" }, col.key))
|
|
232
|
-
},
|
|
233
|
-
`empty-${index}`
|
|
234
|
-
)
|
|
235
|
-
)
|
|
236
|
-
] })
|
|
237
|
-
] }) }),
|
|
238
|
-
paginatedData.length === 0 && data.length > 0 && /* @__PURE__ */ jsxs("div", { className: `py-8 text-center bg-${backgroundColor}`, children: [
|
|
239
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm", children: "No results found" }),
|
|
240
|
-
/* @__PURE__ */ jsx("p", { className: "text-xs", children: "Try adjusting your search" })
|
|
241
|
-
] }),
|
|
242
|
-
paginationEnabled && totalPages > 1 && /* @__PURE__ */ jsxs(
|
|
243
|
-
"div",
|
|
244
|
-
{
|
|
245
|
-
className: `flex flex-col items-center justify-between gap-2 border-t border-${backgroundColor}-600 p-${padding} @md:flex-row bg-${backgroundColor}-400 text-${textColor}`,
|
|
246
|
-
children: [
|
|
247
|
-
/* @__PURE__ */ jsxs("p", { className: "text-sm", children: [
|
|
248
|
-
"Showing ",
|
|
249
|
-
(currentPage - 1) * pageSize + 1,
|
|
250
|
-
"-",
|
|
251
|
-
Math.min(currentPage * pageSize, sortedData.length),
|
|
252
|
-
" of",
|
|
253
|
-
" ",
|
|
254
|
-
sortedData.length,
|
|
255
|
-
" results"
|
|
256
|
-
] }),
|
|
257
|
-
/* @__PURE__ */ jsxs("div", { className: "flex items-center gap-2", children: [
|
|
258
|
-
/* @__PURE__ */ jsx(
|
|
259
|
-
"button",
|
|
260
|
-
{
|
|
261
|
-
onClick: () => setCurrentPage((p) => Math.max(1, p - 1)),
|
|
262
|
-
disabled: currentPage === 1,
|
|
263
|
-
className: `rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,
|
|
264
|
-
children: "Previous"
|
|
265
|
-
}
|
|
266
|
-
),
|
|
267
|
-
/* @__PURE__ */ jsxs("span", { className: "text-sm", children: [
|
|
268
|
-
"Page ",
|
|
269
|
-
currentPage,
|
|
270
|
-
" of ",
|
|
271
|
-
totalPages
|
|
272
|
-
] }),
|
|
273
|
-
/* @__PURE__ */ jsx(
|
|
274
|
-
"button",
|
|
275
|
-
{
|
|
276
|
-
onClick: () => setCurrentPage((p) => Math.min(totalPages, p + 1)),
|
|
277
|
-
disabled: currentPage === totalPages,
|
|
278
|
-
className: `rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`,
|
|
279
|
-
children: "Next"
|
|
280
|
-
}
|
|
281
|
-
)
|
|
282
|
-
] })
|
|
283
|
-
]
|
|
284
|
-
}
|
|
285
|
-
)
|
|
286
|
-
]
|
|
287
|
-
}
|
|
288
|
-
);
|
|
289
|
-
}
|
|
290
|
-
var tableWidgetPropertySchema = {
|
|
291
|
-
widgetType: "TableWidget",
|
|
292
|
-
displayName: "Table Widget",
|
|
293
|
-
tabsConfig: [
|
|
294
|
-
{ id: "styling", label: "Styling" },
|
|
295
|
-
{ id: "behavior", label: "Behavior" },
|
|
296
|
-
{ id: "data", label: "Data" }
|
|
297
|
-
],
|
|
298
|
-
dataSourceTargetProps: ["data"],
|
|
299
|
-
fields: [
|
|
300
|
-
// Content Tab - Title Group
|
|
301
|
-
{
|
|
302
|
-
key: "titleEnabled",
|
|
303
|
-
label: "Widget Title",
|
|
304
|
-
type: "boolean",
|
|
305
|
-
description: "Enable the title displayed above the table",
|
|
306
|
-
defaultValue: true,
|
|
307
|
-
tab: "styling",
|
|
308
|
-
group: "Title"
|
|
309
|
-
},
|
|
310
|
-
{
|
|
311
|
-
key: "titleText",
|
|
312
|
-
label: "Title",
|
|
313
|
-
type: "text",
|
|
314
|
-
description: "Title text displayed above the table",
|
|
315
|
-
defaultValue: "Products",
|
|
316
|
-
tab: "styling",
|
|
317
|
-
group: "Title",
|
|
318
|
-
requiresKeyToBeTrue: "titleEnabled"
|
|
319
|
-
},
|
|
320
|
-
getFontSizeField({
|
|
321
|
-
label: "Title Font Size",
|
|
322
|
-
defaultValue: "xl",
|
|
323
|
-
key: "titleFontSize",
|
|
324
|
-
description: "Font size for the widget title",
|
|
325
|
-
tab: "styling",
|
|
326
|
-
group: "Title",
|
|
327
|
-
requiresKeyToBeTrue: "titleEnabled"
|
|
328
|
-
}),
|
|
329
|
-
getColorField({
|
|
330
|
-
key: "titleColor",
|
|
331
|
-
label: "Title Color",
|
|
332
|
-
description: "Color for the widget title",
|
|
333
|
-
defaultValue: "foreground",
|
|
334
|
-
tab: "styling",
|
|
335
|
-
group: "Title",
|
|
336
|
-
requiresKeyToBeTrue: "titleEnabled"
|
|
337
|
-
}),
|
|
338
|
-
// Styling Tab - Design Group
|
|
339
|
-
{
|
|
340
|
-
type: "background",
|
|
341
|
-
key: "background",
|
|
342
|
-
label: "Background",
|
|
343
|
-
description: "Background for the table container",
|
|
344
|
-
defaultValue: "background",
|
|
345
|
-
tab: "styling",
|
|
346
|
-
group: "Design"
|
|
347
|
-
},
|
|
348
|
-
{
|
|
349
|
-
key: "alternatingColorEnabled",
|
|
350
|
-
label: "Enable Alternating Colors",
|
|
351
|
-
type: "boolean",
|
|
352
|
-
description: "Enable alternating colors for table rows",
|
|
353
|
-
defaultValue: true,
|
|
354
|
-
tab: "styling",
|
|
355
|
-
group: "Design"
|
|
356
|
-
},
|
|
357
|
-
getColorField({
|
|
358
|
-
key: "headerBackgroundColor",
|
|
359
|
-
label: "Header Background",
|
|
360
|
-
description: "Background color for the table header",
|
|
361
|
-
defaultValue: "muted",
|
|
362
|
-
tab: "styling",
|
|
363
|
-
group: "Design"
|
|
364
|
-
}),
|
|
365
|
-
getColorField({
|
|
366
|
-
key: "textColor",
|
|
367
|
-
label: "Text Color",
|
|
368
|
-
description: "Default text color for table content",
|
|
369
|
-
defaultValue: "foreground",
|
|
370
|
-
tab: "styling",
|
|
371
|
-
group: "Design"
|
|
372
|
-
}),
|
|
373
|
-
getColorField({
|
|
374
|
-
key: "headerTextColor",
|
|
375
|
-
label: "Header Text Color",
|
|
376
|
-
description: "Text color for the table header",
|
|
377
|
-
defaultValue: "foreground",
|
|
378
|
-
tab: "styling",
|
|
379
|
-
group: "Design"
|
|
380
|
-
}),
|
|
381
|
-
{
|
|
382
|
-
key: "separator",
|
|
383
|
-
type: "separator",
|
|
384
|
-
label: "Separator",
|
|
385
|
-
tab: "styling",
|
|
386
|
-
group: "Design"
|
|
387
|
-
},
|
|
388
|
-
getPaddingField({
|
|
389
|
-
key: "padding",
|
|
390
|
-
label: "Padding",
|
|
391
|
-
description: "Padding around the table container",
|
|
392
|
-
defaultValue: 4,
|
|
393
|
-
tab: "styling",
|
|
394
|
-
group: "Design"
|
|
395
|
-
}),
|
|
396
|
-
getBorderRadiusField({
|
|
397
|
-
key: "borderRadius",
|
|
398
|
-
label: "Border Radius",
|
|
399
|
-
description: "Border radius for the table container",
|
|
400
|
-
defaultValue: "md",
|
|
401
|
-
tab: "styling",
|
|
402
|
-
group: "Design"
|
|
403
|
-
}),
|
|
404
|
-
// Behavior Tab - Features Group
|
|
405
|
-
{
|
|
406
|
-
key: "filterEnabled",
|
|
407
|
-
label: "Enable Filters",
|
|
408
|
-
type: "boolean",
|
|
409
|
-
description: "Show global search and column filters",
|
|
410
|
-
defaultValue: true,
|
|
411
|
-
tab: "behavior",
|
|
412
|
-
group: "Features"
|
|
413
|
-
},
|
|
414
|
-
{
|
|
415
|
-
key: "sortingEnabled",
|
|
416
|
-
label: "Enable Sorting",
|
|
417
|
-
type: "boolean",
|
|
418
|
-
description: "Allow sorting by clicking column headers",
|
|
419
|
-
defaultValue: true,
|
|
420
|
-
tab: "behavior",
|
|
421
|
-
group: "Features"
|
|
422
|
-
},
|
|
423
|
-
{
|
|
424
|
-
key: "paginationEnabled",
|
|
425
|
-
label: "Enable Pagination",
|
|
426
|
-
type: "boolean",
|
|
427
|
-
description: "Split data into pages",
|
|
428
|
-
defaultValue: true,
|
|
429
|
-
tab: "behavior",
|
|
430
|
-
group: "Features"
|
|
431
|
-
},
|
|
432
|
-
{
|
|
433
|
-
key: "maxRowsPerPage",
|
|
434
|
-
label: "Max Rows Per Page",
|
|
435
|
-
type: "number",
|
|
436
|
-
description: "Maximum number of rows to display per page",
|
|
437
|
-
min: 1,
|
|
438
|
-
max: 50,
|
|
439
|
-
step: 1,
|
|
440
|
-
defaultValue: 5,
|
|
441
|
-
tab: "behavior",
|
|
442
|
-
group: "Features",
|
|
443
|
-
requiresKeyToBeTrue: "paginationEnabled"
|
|
444
|
-
},
|
|
445
|
-
// Data Tab
|
|
446
|
-
{
|
|
447
|
-
key: "dataSource",
|
|
448
|
-
label: "Data Source",
|
|
449
|
-
type: "dataSource",
|
|
450
|
-
description: "Configure data source for the table",
|
|
451
|
-
tab: "data",
|
|
452
|
-
group: "Data Configuration"
|
|
453
|
-
}
|
|
454
|
-
]
|
|
455
|
-
};
|
|
456
|
-
|
|
457
|
-
export { TableWidget, tableWidgetPropertySchema };
|
|
458
|
-
//# sourceMappingURL=chunk-IF36TB2H.js.map
|
|
459
|
-
//# sourceMappingURL=chunk-IF36TB2H.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/widgets/TableWidget.tsx"],"names":[],"mappings":"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","file":"chunk-IF36TB2H.js","sourcesContent":["import { useState, 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 { Input } from \"@fluid-app/ui-primitives\";\nimport {\n MediaRenderer,\n getMediaPropsFromShareable,\n} from \"../components/MediaRenderer\";\nimport { type ShareableItem } from \"@fluid-app/rep-core/types\";\n\n// Column definition for the table\ntype ColumnDef = {\n key: string;\n label: string;\n sortable: boolean;\n render?: (value: unknown, item: ShareableItem) => React.ReactNode;\n};\n\nconst DEFAULT_DATA: ShareableItem[] = [];\n\n// ---------------------------------------------------------------------------\n// Column cell renderers\n// ---------------------------------------------------------------------------\n\nfunction ImageCellRenderer(_value: unknown, item: ShareableItem) {\n return (\n <div className=\"h-10 w-10 rounded object-cover\">\n <MediaRenderer {...getMediaPropsFromShareable(item)} />\n </div>\n );\n}\n\nfunction PriceCellRenderer(_value: unknown, item: ShareableItem) {\n return ((item.display_price as string) ?? item.price) || \"-\";\n}\n\nfunction StatusCellRenderer(value: unknown) {\n const status = String(value || \"unknown\").toLowerCase();\n const statusStyles: Record<string, string> = {\n active: \"bg-primary text-primary-foreground\",\n inactive: \"bg-secondary text-secondary-foreground\",\n unknown: \"bg-muted text-muted-foreground\",\n };\n return (\n <span\n className={`inline-flex rounded-full px-2 py-1 text-xs font-medium ${statusStyles[status] || \"bg-muted text-foreground\"}`}\n >\n {String(value || \"Unknown\")}\n </span>\n );\n}\n\n// Default columns for product data\nconst defaultColumns: ColumnDef[] = [\n {\n key: \"imageUrl\",\n label: \"Image\",\n sortable: false,\n render: ImageCellRenderer,\n },\n {\n key: \"title\",\n label: \"Title\",\n sortable: true,\n },\n {\n key: \"price\",\n label: \"Price\",\n sortable: true,\n render: PriceCellRenderer,\n },\n {\n key: \"status\",\n label: \"Status\",\n sortable: true,\n render: StatusCellRenderer,\n },\n];\n\ntype TableWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n alternatingColorEnabled?: boolean;\n textColor?: ColorOptions;\n headerBackgroundColor?: ColorOptions;\n headerTextColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Data\n data?: ShareableItem[];\n\n // Features\n filterEnabled?: boolean;\n sortingEnabled?: boolean;\n paginationEnabled?: boolean;\n maxRowsPerPage?: number;\n};\n\nexport function TableWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Products\",\n titleFontSize = \"xl\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n alternatingColorEnabled = true,\n textColor = \"foreground\",\n headerBackgroundColor = \"muted\",\n headerTextColor = \"foreground\",\n padding = 4,\n borderRadius = \"md\",\n\n // Data\n data = DEFAULT_DATA,\n\n // Feature defaults\n filterEnabled = true,\n sortingEnabled = true,\n paginationEnabled = true,\n maxRowsPerPage = 5,\n\n className,\n ...props\n}: TableWidgetProps) {\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 pageSize = maxRowsPerPage;\n\n // State for filtering, sorting, and pagination\n const [globalFilter, setGlobalFilter] = useState(\"\");\n const [sortConfig, setSortConfig] = useState<{\n key: string;\n direction: \"asc\" | \"desc\";\n } | null>(null);\n const [currentPage, setCurrentPage] = useState(1);\n\n const columns = defaultColumns;\n\n // Filter data\n const filteredData = useMemo(() => {\n let result = [...data];\n\n if (globalFilter) {\n const lowerFilter = globalFilter.toLowerCase();\n result = result.filter((item) =>\n columns.some((col) => {\n const value = item[col.key];\n return String(value ?? \"\")\n .toLowerCase()\n .includes(lowerFilter);\n }),\n );\n }\n\n return result;\n }, [data, globalFilter, columns]);\n\n // Sort data\n const sortedData = useMemo(() => {\n if (!sortConfig) return filteredData;\n\n return [...filteredData].sort((a, b) => {\n const aValue = a[sortConfig.key];\n const bValue = b[sortConfig.key];\n\n // Handle null/undefined\n if (aValue == null && bValue == null) return 0;\n if (aValue == null) return sortConfig.direction === \"asc\" ? 1 : -1;\n if (bValue == null) return sortConfig.direction === \"asc\" ? -1 : 1;\n\n // Compare values\n let comparison = 0;\n if (typeof aValue === \"number\" && typeof bValue === \"number\") {\n comparison = aValue - bValue;\n } else {\n comparison = String(aValue).localeCompare(String(bValue));\n }\n\n return sortConfig.direction === \"asc\" ? comparison : -comparison;\n });\n }, [filteredData, sortConfig]);\n\n // Paginate data\n const paginatedData = useMemo(() => {\n if (!paginationEnabled) return sortedData;\n\n const startIndex = (currentPage - 1) * pageSize;\n return sortedData.slice(startIndex, startIndex + pageSize);\n }, [sortedData, currentPage, pageSize, paginationEnabled]);\n\n const totalPages = Math.ceil(sortedData.length / pageSize);\n\n // Reset to page 1 when filters change\n const handleGlobalFilterChange = (value: string) => {\n setGlobalFilter(value);\n setCurrentPage(1);\n };\n\n // Handle sort\n const handleSort = (key: string) => {\n if (!sortingEnabled) return;\n\n setSortConfig((prev) => {\n if (prev?.key !== key) return { key, direction: \"asc\" };\n if (prev.direction === \"asc\") return { key, direction: \"desc\" };\n return null;\n });\n };\n\n // Get sort indicator\n const getSortIndicator = (key: string) => {\n if (sortConfig?.key !== key) return null;\n return sortConfig.direction === \"asc\" ? \" ↑\" : \" ↓\";\n };\n\n // Empty state\n if (data.length === 0) {\n return (\n <div\n className={`@container rounded-${borderRadius} bg-${backgroundColor} p-${padding} ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div className=\"text-muted-foreground flex min-h-[200px] flex-col items-center justify-center gap-2\">\n <div className=\"text-4xl\">📋</div>\n <p className=\"text-sm\">No data available</p>\n <p className=\"text-muted-foreground/70 text-xs\">\n Connect a data source to display table data\n </p>\n </div>\n </div>\n );\n }\n\n return (\n <div\n className={`@container overflow-hidden ${paginationEnabled ? \"\" : \"overflow-y-auto\"} rounded-${borderRadius} text-${textColor} ${className}`}\n style={{ backgroundImage }}\n {...props}\n >\n <div\n className={`flex items-center justify-between p-${padding} bg-${backgroundColor}`}\n >\n {/* Title */}\n {titleEnabled && titleText && (\n <h2\n className={`text-${titleFontSize === \"md\" ? \"base\" : titleFontSize} font-bold text-${titleColor}`}\n >\n {titleText}\n </h2>\n )}\n\n {/* Global Search */}\n {filterEnabled && (\n <Input\n type=\"text\"\n placeholder=\"Search all columns...\"\n value={globalFilter}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n handleGlobalFilterChange(e.target.value)\n }\n className={`w-full rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor}-400 ring-offset-muted px-3 py-2 text-sm placeholder:text-${headerTextColor}-900 focus-visible:ring-primary focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none md:w-64`}\n />\n )}\n </div>\n\n {/* Table */}\n <div className=\"overflow-x-auto\">\n <table className=\"w-full border-collapse\">\n <thead>\n <tr\n className={`bg-${headerBackgroundColor}-400 border-${headerBackgroundColor}-600 border-y`}\n >\n {columns.map((col) => (\n <th\n key={col.key}\n className={`px-4 py-3 text-left text-sm font-semibold text-${headerTextColor} ${col.sortable && sortingEnabled ? \"cursor-pointer select-none hover:opacity-80\" : \"\"}`}\n {...(col.sortable && sortingEnabled\n ? {\n role: \"button\" as const,\n tabIndex: 0,\n onClick: () => handleSort(col.key),\n onKeyDown: (e: React.KeyboardEvent) => {\n if (e.key === \"Enter\" || e.key === \" \") {\n e.preventDefault();\n handleSort(col.key);\n }\n },\n }\n : {})}\n >\n <div className=\"flex flex-col gap-1\">\n <span>\n {col.label}\n {col.sortable &&\n sortingEnabled &&\n getSortIndicator(col.key)}\n </span>\n </div>\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {paginatedData.map((item, index) => (\n <tr\n key={item.id ?? index}\n className={`h-17 border-b border-${backgroundColor}-600 last:border-none bg-${backgroundColor} ${alternatingColorEnabled ? `even:bg-${backgroundColor}-400` : \"\"}`}\n >\n {columns.map((col) => (\n <td key={col.key} className=\"px-4 py-3 text-sm\">\n {col.render\n ? col.render(item[col.key], item)\n : String(item[col.key] ?? \"-\")}\n </td>\n ))}\n </tr>\n ))}\n {/* Empty rows to fill the last page for consistent pagination position */}\n {paginationEnabled &&\n paginatedData.length < pageSize &&\n paginatedData.length > 0 &&\n Array.from({ length: pageSize - paginatedData.length }).map(\n (_, index) => (\n <tr\n key={`empty-${index}`}\n className={`h-17 border-b border-${backgroundColor}-600 last:border-none bg-${backgroundColor} ${alternatingColorEnabled ? `even:bg-${backgroundColor}-400` : \"\"}`}\n >\n {columns.map((col) => (\n <td key={col.key} className=\"px-4 py-3 text-sm\">\n \n </td>\n ))}\n </tr>\n ),\n )}\n </tbody>\n </table>\n </div>\n\n {/* No results message */}\n {paginatedData.length === 0 && data.length > 0 && (\n <div className={`py-8 text-center bg-${backgroundColor}`}>\n <p className=\"text-sm\">No results found</p>\n <p className=\"text-xs\">Try adjusting your search</p>\n </div>\n )}\n\n {/* Pagination */}\n {paginationEnabled && totalPages > 1 && (\n <div\n className={`flex flex-col items-center justify-between gap-2 border-t border-${backgroundColor}-600 p-${padding} @md:flex-row bg-${backgroundColor}-400 text-${textColor}`}\n >\n <p className=\"text-sm\">\n Showing {(currentPage - 1) * pageSize + 1}-\n {Math.min(currentPage * pageSize, sortedData.length)} of{\" \"}\n {sortedData.length} results\n </p>\n <div className=\"flex items-center gap-2\">\n <button\n onClick={() => setCurrentPage((p) => Math.max(1, p - 1))}\n disabled={currentPage === 1}\n className={`rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`}\n >\n Previous\n </button>\n <span className=\"text-sm\">\n Page {currentPage} of {totalPages}\n </span>\n <button\n onClick={() => setCurrentPage((p) => Math.min(totalPages, p + 1))}\n disabled={currentPage === totalPages}\n className={`rounded-md border border-${headerBackgroundColor}-600 bg-${headerBackgroundColor} ring-offset-muted placeholder:text-muted-foreground focus-visible:ring-primary px-3 py-1 text-sm transition-opacity hover:opacity-80 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-none disabled:cursor-not-allowed disabled:opacity-50`}\n >\n Next\n </button>\n </div>\n </div>\n )}\n </div>\n );\n}\n\nexport const tableWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"TableWidget\",\n displayName: \"Table Widget\",\n tabsConfig: [\n { id: \"styling\", label: \"Styling\" },\n { id: \"behavior\", label: \"Behavior\" },\n { id: \"data\", label: \"Data\" },\n ],\n dataSourceTargetProps: [\"data\"],\n fields: [\n // Content Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Widget Title\",\n type: \"boolean\",\n description: \"Enable the title displayed above the table\",\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 table\",\n defaultValue: \"Products\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n },\n getFontSizeField({\n label: \"Title Font Size\",\n defaultValue: \"xl\",\n key: \"titleFontSize\",\n description: \"Font size for the widget title\",\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 table container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"alternatingColorEnabled\",\n label: \"Enable Alternating Colors\",\n type: \"boolean\",\n description: \"Enable alternating colors for table rows\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Design\",\n },\n getColorField({\n key: \"headerBackgroundColor\",\n label: \"Header Background\",\n description: \"Background color for the table header\",\n defaultValue: \"muted\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for table content\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"headerTextColor\",\n label: \"Header Text Color\",\n description: \"Text color for the table header\",\n defaultValue: \"foreground\",\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 table 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 table container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Behavior Tab - Features Group\n {\n key: \"filterEnabled\",\n label: \"Enable Filters\",\n type: \"boolean\",\n description: \"Show global search and column filters\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"sortingEnabled\",\n label: \"Enable Sorting\",\n type: \"boolean\",\n description: \"Allow sorting by clicking column headers\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"paginationEnabled\",\n label: \"Enable Pagination\",\n type: \"boolean\",\n description: \"Split data into pages\",\n defaultValue: true,\n tab: \"behavior\",\n group: \"Features\",\n },\n {\n key: \"maxRowsPerPage\",\n label: \"Max Rows Per Page\",\n type: \"number\",\n description: \"Maximum number of rows to display per page\",\n min: 1,\n max: 50,\n step: 1,\n defaultValue: 5,\n tab: \"behavior\",\n group: \"Features\",\n requiresKeyToBeTrue: \"paginationEnabled\",\n },\n\n // Data Tab\n {\n key: \"dataSource\",\n label: \"Data Source\",\n type: \"dataSource\",\n description: \"Configure data source for the table\",\n tab: \"data\",\n group: \"Data Configuration\",\n },\n ],\n} as const satisfies WidgetPropertySchema;\n"]}
|
package/dist/chunk-J6HCPXT5.cjs
DELETED
|
@@ -1,40 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var registries = require('@fluid-app/rep-core/registries');
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
Object.defineProperty(exports, "gapValues", {
|
|
8
|
-
enumerable: true,
|
|
9
|
-
get: function () { return registries.gapValues; }
|
|
10
|
-
});
|
|
11
|
-
Object.defineProperty(exports, "getBorderRadiusField", {
|
|
12
|
-
enumerable: true,
|
|
13
|
-
get: function () { return registries.getBorderRadiusField; }
|
|
14
|
-
});
|
|
15
|
-
Object.defineProperty(exports, "getButtonSizeField", {
|
|
16
|
-
enumerable: true,
|
|
17
|
-
get: function () { return registries.getButtonSizeField; }
|
|
18
|
-
});
|
|
19
|
-
Object.defineProperty(exports, "getColorField", {
|
|
20
|
-
enumerable: true,
|
|
21
|
-
get: function () { return registries.getColorField; }
|
|
22
|
-
});
|
|
23
|
-
Object.defineProperty(exports, "getFontSizeField", {
|
|
24
|
-
enumerable: true,
|
|
25
|
-
get: function () { return registries.getFontSizeField; }
|
|
26
|
-
});
|
|
27
|
-
Object.defineProperty(exports, "getGapField", {
|
|
28
|
-
enumerable: true,
|
|
29
|
-
get: function () { return registries.getGapField; }
|
|
30
|
-
});
|
|
31
|
-
Object.defineProperty(exports, "getHeightField", {
|
|
32
|
-
enumerable: true,
|
|
33
|
-
get: function () { return registries.getHeightField; }
|
|
34
|
-
});
|
|
35
|
-
Object.defineProperty(exports, "getPaddingField", {
|
|
36
|
-
enumerable: true,
|
|
37
|
-
get: function () { return registries.getPaddingField; }
|
|
38
|
-
});
|
|
39
|
-
//# sourceMappingURL=chunk-J6HCPXT5.cjs.map
|
|
40
|
-
//# sourceMappingURL=chunk-J6HCPXT5.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":[],"names":[],"mappings":"","file":"chunk-J6HCPXT5.cjs","sourcesContent":[]}
|
package/dist/chunk-JIS2K5YR.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
|
|
3
|
-
// src/components/error-state.tsx
|
|
4
|
-
function ErrorState() {
|
|
5
|
-
return /* @__PURE__ */ jsxs("div", { className: "flex min-h-[120px] flex-col items-center justify-center p-6 text-center", children: [
|
|
6
|
-
/* @__PURE__ */ jsx("p", { className: "text-lg font-semibold", children: "Something Went Wrong" }),
|
|
7
|
-
/* @__PURE__ */ jsx("p", { className: "text-muted-foreground text-sm", children: "Please contact a company admin for help" })
|
|
8
|
-
] });
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
export { ErrorState };
|
|
12
|
-
//# sourceMappingURL=chunk-JIS2K5YR.js.map
|
|
13
|
-
//# sourceMappingURL=chunk-JIS2K5YR.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/error-state.tsx"],"names":[],"mappings":";;;AAAO,SAAS,UAAA,GAAa;AAC3B,EAAA,uBACE,IAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,yEAAA,EACb,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,uBAAA,EAAwB,QAAA,EAAA,sBAAA,EAAoB,CAAA;AAAA,oBACzD,GAAA,CAAC,GAAA,EAAA,EAAE,SAAA,EAAU,+BAAA,EAAgC,QAAA,EAAA,yCAAA,EAE7C;AAAA,GAAA,EACF,CAAA;AAEJ","file":"chunk-JIS2K5YR.js","sourcesContent":["export function ErrorState() {\n return (\n <div className=\"flex min-h-[120px] flex-col items-center justify-center p-6 text-center\">\n <p className=\"text-lg font-semibold\">Something Went Wrong</p>\n <p className=\"text-muted-foreground text-sm\">\n Please contact a company admin for help\n </p>\n </div>\n );\n}\n"]}
|
package/dist/chunk-JYWKXNUO.cjs
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var react = require('react');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
|
|
6
|
-
// src/contexts/RegistryContext.tsx
|
|
7
|
-
var RegistryContext = react.createContext(
|
|
8
|
-
void 0
|
|
9
|
-
);
|
|
10
|
-
function RegistryProvider({
|
|
11
|
-
registry,
|
|
12
|
-
children
|
|
13
|
-
}) {
|
|
14
|
-
const parentRegistry = react.useContext(RegistryContext);
|
|
15
|
-
const contextValue = registry ?? parentRegistry;
|
|
16
|
-
if (!contextValue) {
|
|
17
|
-
throw new Error(
|
|
18
|
-
"RegistryProvider requires a registry prop or must be nested within another RegistryProvider."
|
|
19
|
-
);
|
|
20
|
-
}
|
|
21
|
-
return /* @__PURE__ */ jsxRuntime.jsx(RegistryContext.Provider, { value: contextValue, children });
|
|
22
|
-
}
|
|
23
|
-
function useRegistry() {
|
|
24
|
-
const registry = react.useContext(RegistryContext);
|
|
25
|
-
if (!registry) {
|
|
26
|
-
throw new Error(
|
|
27
|
-
"useRegistry must be used within a RegistryProvider with a registry prop."
|
|
28
|
-
);
|
|
29
|
-
}
|
|
30
|
-
return registry;
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
exports.RegistryContext = RegistryContext;
|
|
34
|
-
exports.RegistryProvider = RegistryProvider;
|
|
35
|
-
exports.useRegistry = useRegistry;
|
|
36
|
-
//# sourceMappingURL=chunk-JYWKXNUO.cjs.map
|
|
37
|
-
//# sourceMappingURL=chunk-JYWKXNUO.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/contexts/RegistryContext.tsx"],"names":["createContext","useContext"],"mappings":";;;;;;AAwCO,IAAM,eAAA,GAAkBA,mBAAA;AAAA,EAC7B;AACF;AAWO,SAAS,gBAAA,CAAiB;AAAA,EAC/B,QAAA;AAAA,EACA;AACF,CAAA,EAA0B;AAExB,EAAA,MAAM,cAAA,GAAiBC,iBAAW,eAAe,CAAA;AACjD,EAAA,MAAM,eAAe,QAAA,IAAY,cAAA;AAEjC,EAAA,IAAI,CAAC,YAAA,EAAc;AACjB,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,sCACG,eAAA,CAAgB,QAAA,EAAhB,EAAyB,KAAA,EAAO,cAC9B,QAAA,EACH,CAAA;AAEJ;AAMO,SAAS,WAAA,GAA8B;AAC5C,EAAA,MAAM,QAAA,GAAWA,iBAAW,eAAe,CAAA;AAE3C,EAAA,IAAI,CAAC,QAAA,EAAU;AACb,IAAA,MAAM,IAAI,KAAA;AAAA,MACR;AAAA,KACF;AAAA,EACF;AAEA,EAAA,OAAO,QAAA;AACT","file":"chunk-JYWKXNUO.cjs","sourcesContent":["import {\n createContext,\n useContext,\n type ComponentType,\n type ReactNode,\n} from \"react\";\nimport type { WidgetSchema } from \"@fluid-app/rep-core/types\";\n\n/**\n * Base props interface for widget components.\n * All widgets receive at least these props from the ScreenRenderer.\n */\nexport interface WidgetBaseProps {\n readonly widget: WidgetSchema;\n readonly path?: readonly number[];\n}\n\n/**\n * Generic widget component type.\n * Widgets receive WidgetBaseProps and may have additional props.\n */\nexport type WidgetComponent<P extends WidgetBaseProps = WidgetBaseProps> =\n ComponentType<P>;\n\n/**\n * Registry mapping widget type names to their components.\n * The keys are widget type strings (e.g., \"TextWidget\", \"ButtonWidget\").\n * Using WidgetComponent for the value type provides better type safety than `any`.\n */\nexport type WidgetRegistry = Readonly<\n // eslint-disable-next-line @typescript-eslint/no-explicit-any -- Widget props vary by type\n Record<string, WidgetComponent<any>>\n>;\n\n/**\n * Context for providing the widget registry to all components in the tree.\n * This eliminates prop drilling and makes the registry accessible anywhere.\n *\n * Default to undefined - registry must be provided by a RegistryProvider.\n */\nexport const RegistryContext = createContext<WidgetRegistry | undefined>(\n undefined,\n);\n\nexport interface RegistryProviderProps {\n registry?: WidgetRegistry;\n children: ReactNode;\n}\n\n/**\n * Provider component that makes the widget registry available to all descendants.\n * A registry must be provided either via props or by nesting within another RegistryProvider.\n */\nexport function RegistryProvider({\n registry,\n children,\n}: RegistryProviderProps) {\n // If no registry provided, inherit from parent provider\n const parentRegistry = useContext(RegistryContext);\n const contextValue = registry ?? parentRegistry;\n\n if (!contextValue) {\n throw new Error(\n \"RegistryProvider requires a registry prop or must be nested within another RegistryProvider.\",\n );\n }\n\n return (\n <RegistryContext.Provider value={contextValue}>\n {children}\n </RegistryContext.Provider>\n );\n}\n\n/**\n * Hook to access the widget registry from anywhere in the component tree.\n * Must be used within a RegistryProvider that has a registry prop.\n */\nexport function useRegistry(): WidgetRegistry {\n const registry = useContext(RegistryContext);\n\n if (!registry) {\n throw new Error(\n \"useRegistry must be used within a RegistryProvider with a registry prop.\",\n );\n }\n\n return registry;\n}\n"]}
|
package/dist/chunk-KYCPG2DN.cjs
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
var chunkPLXOZ5BH_cjs = require('./chunk-PLXOZ5BH.cjs');
|
|
4
|
-
var jsxRuntime = require('react/jsx-runtime');
|
|
5
|
-
|
|
6
|
-
function AlertWidget(props) {
|
|
7
|
-
return /* @__PURE__ */ jsxRuntime.jsx(chunkPLXOZ5BH_cjs.TextWidget, { ...props });
|
|
8
|
-
}
|
|
9
|
-
var alertWidgetPropertySchema = {
|
|
10
|
-
...chunkPLXOZ5BH_cjs.textWidgetPropertySchema,
|
|
11
|
-
widgetType: "AlertWidget"
|
|
12
|
-
};
|
|
13
|
-
|
|
14
|
-
exports.AlertWidget = AlertWidget;
|
|
15
|
-
exports.alertWidgetPropertySchema = alertWidgetPropertySchema;
|
|
16
|
-
//# sourceMappingURL=chunk-KYCPG2DN.cjs.map
|
|
17
|
-
//# sourceMappingURL=chunk-KYCPG2DN.cjs.map
|