@fluid-app/rep-widgets 0.1.7 → 0.1.9
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-3Q4AK7PE.js +5 -0
- package/dist/{AlertWidget-2JHMNYIY.js.map → AlertWidget-3Q4AK7PE.js.map} +1 -1
- package/dist/AlertWidget-C3YMPF7Y.cjs +18 -0
- package/dist/{AlertWidget-VHXWOKM4.cjs.map → AlertWidget-C3YMPF7Y.cjs.map} +1 -1
- package/dist/CalendarWidget-3FLYUVHK.js +5 -0
- package/dist/{CalendarWidget-ZSAZG2NA.js.map → CalendarWidget-3FLYUVHK.js.map} +1 -1
- package/dist/CalendarWidget-MQ2ID7YS.cjs +18 -0
- package/dist/{CalendarWidget-3QAGQHSO.cjs.map → CalendarWidget-MQ2ID7YS.cjs.map} +1 -1
- package/dist/{CarouselWidget-AYDQROQ7.js → CarouselWidget-BCNJKS4N.js} +4 -4
- package/dist/{CarouselWidget-AYDQROQ7.js.map → CarouselWidget-BCNJKS4N.js.map} +1 -1
- package/dist/{CarouselWidget-ORPCX6CM.cjs → CarouselWidget-DB2WSCE7.cjs} +6 -6
- package/dist/{CarouselWidget-ORPCX6CM.cjs.map → CarouselWidget-DB2WSCE7.cjs.map} +1 -1
- package/dist/CatchUpWidget-ADY4ZUDD.cjs +18 -0
- package/dist/{CatchUpWidget-3BMRWSA7.cjs.map → CatchUpWidget-ADY4ZUDD.cjs.map} +1 -1
- package/dist/CatchUpWidget-PJNNL5GI.js +5 -0
- package/dist/{CatchUpWidget-YKKUJT4H.js.map → CatchUpWidget-PJNNL5GI.js.map} +1 -1
- package/dist/ChartWidget-JX5J2OVP.cjs +19 -0
- package/dist/{ChartWidget-ETZEURVU.cjs.map → ChartWidget-JX5J2OVP.cjs.map} +1 -1
- package/dist/ChartWidget-YP5OXREZ.js +6 -0
- package/dist/{ChartWidget-QTYGMAEV.js.map → ChartWidget-YP5OXREZ.js.map} +1 -1
- package/dist/ContainerWidget-IOXW77X7.cjs +21 -0
- package/dist/{ContainerWidget-WYTZPJSE.cjs.map → ContainerWidget-IOXW77X7.cjs.map} +1 -1
- package/dist/ContainerWidget-OLQPEXDT.js +8 -0
- package/dist/{ContainerWidget-CYAHQDTH.js.map → ContainerWidget-OLQPEXDT.js.map} +1 -1
- package/dist/EmbedWidget-ATU2WS2X.js +3 -0
- package/dist/{EmbedWidget-B3JEXJWZ.js.map → EmbedWidget-ATU2WS2X.js.map} +1 -1
- package/dist/EmbedWidget-X7FB7C45.cjs +16 -0
- package/dist/{EmbedWidget-CWK3I5G5.cjs.map → EmbedWidget-X7FB7C45.cjs.map} +1 -1
- package/dist/ImageWidget-6ATLD5II.cjs +17 -0
- package/dist/{ImageWidget-RSBFNR5J.cjs.map → ImageWidget-6ATLD5II.cjs.map} +1 -1
- package/dist/ImageWidget-BBLG66SD.js +4 -0
- package/dist/{ImageWidget-A5DBWFUT.js.map → ImageWidget-BBLG66SD.js.map} +1 -1
- package/dist/LayoutWidget-F3BDSGDP.cjs +20 -0
- package/dist/{LayoutWidget-VCOKZJV3.cjs.map → LayoutWidget-F3BDSGDP.cjs.map} +1 -1
- package/dist/{LayoutWidget-BHM4HFRZ.js → LayoutWidget-MBUJVGKA.js} +4 -4
- package/dist/{LayoutWidget-BHM4HFRZ.js.map → LayoutWidget-MBUJVGKA.js.map} +1 -1
- package/dist/ListWidget-LZ77ZSBT.js +6 -0
- package/dist/{ListWidget-XI75HDHT.js.map → ListWidget-LZ77ZSBT.js.map} +1 -1
- package/dist/ListWidget-Q2MXWXKA.cjs +19 -0
- package/dist/{ListWidget-6MD3LNJR.cjs.map → ListWidget-Q2MXWXKA.cjs.map} +1 -1
- package/dist/MySiteWidget-2XUSXN5I.cjs +18 -0
- package/dist/{MySiteWidget-JP2NWOOI.cjs.map → MySiteWidget-2XUSXN5I.cjs.map} +1 -1
- package/dist/MySiteWidget-L37MCRTV.js +5 -0
- package/dist/{MySiteWidget-RPIPPRRN.js.map → MySiteWidget-L37MCRTV.js.map} +1 -1
- package/dist/NestedWidget-JKEJ5ZCV.cjs +19 -0
- package/dist/{NestedWidget-T5MRGLSP.cjs.map → NestedWidget-JKEJ5ZCV.cjs.map} +1 -1
- package/dist/NestedWidget-N6V5LT4B.js +6 -0
- package/dist/{NestedWidget-KH7QSXN7.js.map → NestedWidget-N6V5LT4B.js.map} +1 -1
- package/dist/QuickShareWidget-B6TOLKM7.cjs +17 -0
- package/dist/{QuickShareWidget-47OABEXI.cjs.map → QuickShareWidget-B6TOLKM7.cjs.map} +1 -1
- package/dist/QuickShareWidget-TNW4ILJ2.js +4 -0
- package/dist/{QuickShareWidget-S2LJDLLJ.js.map → QuickShareWidget-TNW4ILJ2.js.map} +1 -1
- package/dist/RecentActivityWidget-USXCTA5W.js +5 -0
- package/dist/{RecentActivityWidget-FI72KYRL.js.map → RecentActivityWidget-USXCTA5W.js.map} +1 -1
- package/dist/RecentActivityWidget-ZYOFEB5R.cjs +18 -0
- package/dist/{RecentActivityWidget-CFYQ32LN.cjs.map → RecentActivityWidget-ZYOFEB5R.cjs.map} +1 -1
- package/dist/SpacerWidget-7KQ6UPRH.js +3 -0
- package/dist/{SpacerWidget-ZEHGXKOH.js.map → SpacerWidget-7KQ6UPRH.js.map} +1 -1
- package/dist/SpacerWidget-APJKG3DG.cjs +16 -0
- package/dist/{SpacerWidget-OUFZRSIN.cjs.map → SpacerWidget-APJKG3DG.cjs.map} +1 -1
- package/dist/{TableWidget-VMPYQU7I.js → TableWidget-6SXE6KTY.js} +4 -4
- package/dist/{TableWidget-VMPYQU7I.js.map → TableWidget-6SXE6KTY.js.map} +1 -1
- package/dist/TableWidget-JT4BJYGZ.cjs +20 -0
- package/dist/{TableWidget-ZX5A4IFW.cjs.map → TableWidget-JT4BJYGZ.cjs.map} +1 -1
- package/dist/TextWidget-GNUQBLDJ.js +4 -0
- package/dist/{TextWidget-D72TL53O.js.map → TextWidget-GNUQBLDJ.js.map} +1 -1
- package/dist/TextWidget-PUZPMPOC.cjs +17 -0
- package/dist/{TextWidget-DYINWJGB.cjs.map → TextWidget-PUZPMPOC.cjs.map} +1 -1
- package/dist/ToDoWidget-5EXKPVSO.cjs +18 -0
- package/dist/{ToDoWidget-Y7W6TFL7.cjs.map → ToDoWidget-5EXKPVSO.cjs.map} +1 -1
- package/dist/ToDoWidget-MI3K365J.js +5 -0
- package/dist/{ToDoWidget-XQPQBDZE.js.map → ToDoWidget-MI3K365J.js.map} +1 -1
- package/dist/VideoWidget-DYPFWIZX.cjs +17 -0
- package/dist/{VideoWidget-R6WKIZFN.cjs.map → VideoWidget-DYPFWIZX.cjs.map} +1 -1
- package/dist/VideoWidget-KY3VZHYD.js +4 -0
- package/dist/{VideoWidget-OMF2XWAI.js.map → VideoWidget-KY3VZHYD.js.map} +1 -1
- package/dist/{chunk-25GBJPZQ.js → chunk-2NPVYROG.js} +3 -3
- package/dist/{chunk-25GBJPZQ.js.map → chunk-2NPVYROG.js.map} +1 -1
- package/dist/{chunk-AJ2ZDCQU.js → chunk-2YQKGRGW.js} +3 -3
- package/dist/{chunk-AJ2ZDCQU.js.map → chunk-2YQKGRGW.js.map} +1 -1
- package/dist/{chunk-WGQS7RB4.js → chunk-3CAOLNTX.js} +3 -3
- package/dist/{chunk-WGQS7RB4.js.map → chunk-3CAOLNTX.js.map} +1 -1
- package/dist/{chunk-ER6NFOID.cjs → chunk-4Y3HAK22.cjs} +11 -12
- package/dist/chunk-4Y3HAK22.cjs.map +1 -0
- package/dist/{chunk-MNWWZGL2.js → chunk-57ZUEL25.js} +3 -3
- package/dist/{chunk-MNWWZGL2.js.map → chunk-57ZUEL25.js.map} +1 -1
- package/dist/chunk-6ZECDBGI.js +3 -0
- package/dist/{chunk-ZS7C474P.js.map → chunk-6ZECDBGI.js.map} +1 -1
- package/dist/{chunk-7B5RPA6J.js → chunk-77WTAKDK.js} +3 -3
- package/dist/{chunk-7B5RPA6J.js.map → chunk-77WTAKDK.js.map} +1 -1
- package/dist/{chunk-YBTY4OMP.cjs → chunk-A5AVY3ML.cjs} +8 -10
- package/dist/chunk-A5AVY3ML.cjs.map +1 -0
- package/dist/{chunk-KVGWMJZB.js → chunk-AWEFCI4H.js} +3 -3
- package/dist/{chunk-KVGWMJZB.js.map → chunk-AWEFCI4H.js.map} +1 -1
- package/dist/{chunk-IM3VCKTO.js → chunk-BYGUUGSO.js} +10 -10
- package/dist/chunk-BYGUUGSO.js.map +1 -0
- package/dist/{chunk-B5S5Q57S.cjs → chunk-CPZXEI3R.cjs} +24 -24
- package/dist/chunk-CPZXEI3R.cjs.map +1 -0
- package/dist/{chunk-3NB2PJR5.js → chunk-DPPFLZ7G.js} +12 -13
- package/dist/chunk-DPPFLZ7G.js.map +1 -0
- package/dist/{chunk-NYL2AQJ2.js → chunk-DVHIQENH.js} +9 -7
- package/dist/chunk-DVHIQENH.js.map +1 -0
- package/dist/{chunk-DPNUNERL.js → chunk-E5ERYB7Q.js} +4 -4
- package/dist/{chunk-DPNUNERL.js.map → chunk-E5ERYB7Q.js.map} +1 -1
- package/dist/{chunk-HLXL56YT.js → chunk-EBYQ6EXT.js} +9 -11
- package/dist/chunk-EBYQ6EXT.js.map +1 -0
- package/dist/{chunk-OFRCK7WR.js → chunk-EL6H7WGK.js} +3 -3
- package/dist/{chunk-OFRCK7WR.js.map → chunk-EL6H7WGK.js.map} +1 -1
- package/dist/{chunk-TQYXX5IT.js → chunk-G45UWQDF.js} +439 -426
- package/dist/chunk-G45UWQDF.js.map +1 -0
- package/dist/{chunk-YRZ4AHQC.js → chunk-GWICPGTA.js} +29 -17
- package/dist/chunk-GWICPGTA.js.map +1 -0
- package/dist/{chunk-U5HD3GJ7.cjs → chunk-HA7IVIPJ.cjs} +36 -24
- package/dist/chunk-HA7IVIPJ.cjs.map +1 -0
- package/dist/{chunk-K4T2XGCW.cjs → chunk-HF7QCK7D.cjs} +9 -9
- package/dist/{chunk-K4T2XGCW.cjs.map → chunk-HF7QCK7D.cjs.map} +1 -1
- package/dist/{chunk-PEBYBSSB.cjs → chunk-HREBEVS5.cjs} +7 -7
- package/dist/{chunk-PEBYBSSB.cjs.map → chunk-HREBEVS5.cjs.map} +1 -1
- package/dist/{chunk-MUFXAD45.cjs → chunk-ITCLHIOM.cjs} +10 -10
- package/dist/{chunk-MUFXAD45.cjs.map → chunk-ITCLHIOM.cjs.map} +1 -1
- package/dist/{chunk-CM7D7WGL.cjs → chunk-J6HCPXT5.cjs} +6 -2
- package/dist/{chunk-CM7D7WGL.cjs.map → chunk-J6HCPXT5.cjs.map} +1 -1
- package/dist/{chunk-IC66PSKF.cjs → chunk-JS4NC5JR.cjs} +9 -9
- package/dist/{chunk-IC66PSKF.cjs.map → chunk-JS4NC5JR.cjs.map} +1 -1
- package/dist/{chunk-RMZFC7HF.cjs → chunk-KYCPG2DN.cjs} +5 -5
- package/dist/{chunk-RMZFC7HF.cjs.map → chunk-KYCPG2DN.cjs.map} +1 -1
- package/dist/{chunk-VU3NEDUQ.js → chunk-NLLBQM4P.js} +16 -16
- package/dist/chunk-NLLBQM4P.js.map +1 -0
- package/dist/{chunk-SDTP4TVD.cjs → chunk-OZBZOHR4.cjs} +8 -10
- package/dist/chunk-OZBZOHR4.cjs.map +1 -0
- package/dist/{chunk-M3DV7TXA.cjs → chunk-PK7Y3Q6A.cjs} +10 -10
- package/dist/chunk-PK7Y3Q6A.cjs.map +1 -0
- package/dist/{chunk-DW6V4ZCT.cjs → chunk-PLXOZ5BH.cjs} +9 -9
- package/dist/{chunk-DW6V4ZCT.cjs.map → chunk-PLXOZ5BH.cjs.map} +1 -1
- package/dist/{chunk-VDHV7FEJ.cjs → chunk-RPNLSRUS.cjs} +7 -7
- package/dist/{chunk-VDHV7FEJ.cjs.map → chunk-RPNLSRUS.cjs.map} +1 -1
- package/dist/{chunk-64HIILUF.cjs → chunk-SH2YPW2J.cjs} +455 -442
- package/dist/chunk-SH2YPW2J.cjs.map +1 -0
- package/dist/{chunk-QSMGUAYP.cjs → chunk-STGAGLIG.cjs} +9 -9
- package/dist/{chunk-QSMGUAYP.cjs.map → chunk-STGAGLIG.cjs.map} +1 -1
- package/dist/{chunk-Y6OP3XEQ.cjs → chunk-TMG7H4K5.cjs} +9 -9
- package/dist/{chunk-Y6OP3XEQ.cjs.map → chunk-TMG7H4K5.cjs.map} +1 -1
- package/dist/{chunk-J2FIIZSN.js → chunk-UXFD52LT.js} +3 -3
- package/dist/{chunk-J2FIIZSN.js.map → chunk-UXFD52LT.js.map} +1 -1
- package/dist/{chunk-PHI5YY5E.cjs → chunk-VIG7PQWB.cjs} +15 -13
- package/dist/chunk-VIG7PQWB.cjs.map +1 -0
- package/dist/{chunk-W2U27MK2.cjs → chunk-XCHMHDYQ.cjs} +9 -9
- package/dist/{chunk-W2U27MK2.cjs.map → chunk-XCHMHDYQ.cjs.map} +1 -1
- package/dist/{chunk-LFYELLIM.cjs → chunk-XCJUKCGP.cjs} +9 -9
- package/dist/{chunk-LFYELLIM.cjs.map → chunk-XCJUKCGP.cjs.map} +1 -1
- package/dist/{chunk-GAYZNBS4.js → chunk-XX2N55EZ.js} +3 -3
- package/dist/{chunk-GAYZNBS4.js.map → chunk-XX2N55EZ.js.map} +1 -1
- package/dist/{chunk-PXWG3SDJ.js → chunk-YGATS7HW.js} +3 -3
- package/dist/{chunk-PXWG3SDJ.js.map → chunk-YGATS7HW.js.map} +1 -1
- package/dist/{chunk-SB2EVEDN.js → chunk-ZDWZKRJ4.js} +9 -11
- package/dist/chunk-ZDWZKRJ4.js.map +1 -0
- package/dist/core/index.cjs +8 -8
- package/dist/core/index.js +1 -1
- package/dist/widgets/index.cjs +78 -78
- package/dist/widgets/index.d.cts +5 -5
- package/dist/widgets/index.d.ts +5 -5
- package/dist/widgets/index.js +39 -39
- package/package.json +4 -4
- package/dist/AlertWidget-2JHMNYIY.js +0 -5
- package/dist/AlertWidget-VHXWOKM4.cjs +0 -18
- package/dist/CalendarWidget-3QAGQHSO.cjs +0 -18
- package/dist/CalendarWidget-ZSAZG2NA.js +0 -5
- package/dist/CatchUpWidget-3BMRWSA7.cjs +0 -18
- package/dist/CatchUpWidget-YKKUJT4H.js +0 -5
- package/dist/ChartWidget-ETZEURVU.cjs +0 -19
- package/dist/ChartWidget-QTYGMAEV.js +0 -6
- package/dist/ContainerWidget-CYAHQDTH.js +0 -8
- package/dist/ContainerWidget-WYTZPJSE.cjs +0 -21
- package/dist/EmbedWidget-B3JEXJWZ.js +0 -3
- package/dist/EmbedWidget-CWK3I5G5.cjs +0 -16
- package/dist/ImageWidget-A5DBWFUT.js +0 -4
- package/dist/ImageWidget-RSBFNR5J.cjs +0 -17
- package/dist/LayoutWidget-VCOKZJV3.cjs +0 -20
- package/dist/ListWidget-6MD3LNJR.cjs +0 -19
- package/dist/ListWidget-XI75HDHT.js +0 -6
- package/dist/MySiteWidget-JP2NWOOI.cjs +0 -18
- package/dist/MySiteWidget-RPIPPRRN.js +0 -5
- package/dist/NestedWidget-KH7QSXN7.js +0 -6
- package/dist/NestedWidget-T5MRGLSP.cjs +0 -19
- package/dist/QuickShareWidget-47OABEXI.cjs +0 -17
- package/dist/QuickShareWidget-S2LJDLLJ.js +0 -4
- package/dist/RecentActivityWidget-CFYQ32LN.cjs +0 -18
- package/dist/RecentActivityWidget-FI72KYRL.js +0 -5
- package/dist/SpacerWidget-OUFZRSIN.cjs +0 -16
- package/dist/SpacerWidget-ZEHGXKOH.js +0 -3
- package/dist/TableWidget-ZX5A4IFW.cjs +0 -20
- package/dist/TextWidget-D72TL53O.js +0 -4
- package/dist/TextWidget-DYINWJGB.cjs +0 -17
- package/dist/ToDoWidget-XQPQBDZE.js +0 -5
- package/dist/ToDoWidget-Y7W6TFL7.cjs +0 -18
- package/dist/VideoWidget-OMF2XWAI.js +0 -4
- package/dist/VideoWidget-R6WKIZFN.cjs +0 -17
- package/dist/chunk-3NB2PJR5.js.map +0 -1
- package/dist/chunk-64HIILUF.cjs.map +0 -1
- package/dist/chunk-B5S5Q57S.cjs.map +0 -1
- package/dist/chunk-ER6NFOID.cjs.map +0 -1
- package/dist/chunk-HLXL56YT.js.map +0 -1
- package/dist/chunk-IM3VCKTO.js.map +0 -1
- package/dist/chunk-M3DV7TXA.cjs.map +0 -1
- package/dist/chunk-NYL2AQJ2.js.map +0 -1
- package/dist/chunk-PHI5YY5E.cjs.map +0 -1
- package/dist/chunk-SB2EVEDN.js.map +0 -1
- package/dist/chunk-SDTP4TVD.cjs.map +0 -1
- package/dist/chunk-TQYXX5IT.js.map +0 -1
- package/dist/chunk-U5HD3GJ7.cjs.map +0 -1
- package/dist/chunk-VU3NEDUQ.js.map +0 -1
- package/dist/chunk-YBTY4OMP.cjs.map +0 -1
- package/dist/chunk-YRZ4AHQC.js.map +0 -1
- package/dist/chunk-ZS7C474P.js +0 -3
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunkUH3FAS2R_cjs = require('./chunk-UH3FAS2R.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkJ6HCPXT5_cjs = require('./chunk-J6HCPXT5.cjs');
|
|
5
5
|
var recharts = require('recharts');
|
|
6
6
|
var jsxRuntime = require('react/jsx-runtime');
|
|
7
7
|
|
|
@@ -197,7 +197,7 @@ var chartWidgetPropertySchema = {
|
|
|
197
197
|
group: "Title",
|
|
198
198
|
requiresKeyToBeTrue: "titleEnabled"
|
|
199
199
|
},
|
|
200
|
-
|
|
200
|
+
chunkJ6HCPXT5_cjs.getFontSizeField({
|
|
201
201
|
key: "titleFontSize",
|
|
202
202
|
label: "Title Font Size",
|
|
203
203
|
description: "Font size for the chart title",
|
|
@@ -206,7 +206,7 @@ var chartWidgetPropertySchema = {
|
|
|
206
206
|
group: "Title",
|
|
207
207
|
requiresKeyToBeTrue: "titleEnabled"
|
|
208
208
|
}),
|
|
209
|
-
|
|
209
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
210
210
|
key: "titleColor",
|
|
211
211
|
label: "Title Color",
|
|
212
212
|
description: "Color for the chart title",
|
|
@@ -226,7 +226,7 @@ var chartWidgetPropertySchema = {
|
|
|
226
226
|
tab: "styling",
|
|
227
227
|
group: "Description"
|
|
228
228
|
},
|
|
229
|
-
|
|
229
|
+
chunkJ6HCPXT5_cjs.getFontSizeField({
|
|
230
230
|
key: "descriptionFontSize",
|
|
231
231
|
label: "Description Font Size",
|
|
232
232
|
description: "Font size for the chart description",
|
|
@@ -234,7 +234,7 @@ var chartWidgetPropertySchema = {
|
|
|
234
234
|
tab: "styling",
|
|
235
235
|
group: "Description"
|
|
236
236
|
}),
|
|
237
|
-
|
|
237
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
238
238
|
key: "descriptionColor",
|
|
239
239
|
label: "Description Color",
|
|
240
240
|
description: "Color for the chart description",
|
|
@@ -301,15 +301,17 @@ var chartWidgetPropertySchema = {
|
|
|
301
301
|
tab: "styling",
|
|
302
302
|
group: "Design"
|
|
303
303
|
},
|
|
304
|
-
{
|
|
304
|
+
chunkJ6HCPXT5_cjs.getHeightField({
|
|
305
305
|
key: "height",
|
|
306
306
|
label: "Height",
|
|
307
|
-
|
|
308
|
-
|
|
307
|
+
description: "Height of the chart",
|
|
308
|
+
min: 50,
|
|
309
|
+
max: 1200,
|
|
310
|
+
step: 10,
|
|
309
311
|
defaultValue: "300px",
|
|
310
312
|
tab: "styling",
|
|
311
313
|
group: "Design"
|
|
312
|
-
},
|
|
314
|
+
}),
|
|
313
315
|
{
|
|
314
316
|
key: "separator2",
|
|
315
317
|
type: "separator",
|
|
@@ -326,7 +328,7 @@ var chartWidgetPropertySchema = {
|
|
|
326
328
|
tab: "styling",
|
|
327
329
|
group: "Design"
|
|
328
330
|
},
|
|
329
|
-
|
|
331
|
+
chunkJ6HCPXT5_cjs.getPaddingField({
|
|
330
332
|
key: "padding",
|
|
331
333
|
label: "Padding",
|
|
332
334
|
description: "Padding for the chart container",
|
|
@@ -334,7 +336,7 @@ var chartWidgetPropertySchema = {
|
|
|
334
336
|
tab: "styling",
|
|
335
337
|
group: "Design"
|
|
336
338
|
}),
|
|
337
|
-
|
|
339
|
+
chunkJ6HCPXT5_cjs.getBorderRadiusField({
|
|
338
340
|
key: "borderRadius",
|
|
339
341
|
label: "Border Radius",
|
|
340
342
|
description: "Border radius for the chart container",
|
|
@@ -376,5 +378,5 @@ var chartWidgetPropertySchema = {
|
|
|
376
378
|
|
|
377
379
|
exports.ChartWidget = ChartWidget;
|
|
378
380
|
exports.chartWidgetPropertySchema = chartWidgetPropertySchema;
|
|
379
|
-
//# sourceMappingURL=chunk-
|
|
380
|
-
//# sourceMappingURL=chunk-
|
|
381
|
+
//# sourceMappingURL=chunk-VIG7PQWB.cjs.map
|
|
382
|
+
//# sourceMappingURL=chunk-VIG7PQWB.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/widgets/ChartWidget.tsx"],"names":["jsxs","RechartsBarChart","jsx","CartesianGrid","XAxis","YAxis","ChartTooltip","ChartTooltipContent","ChartLegend","ChartLegendContent","Bar","RechartsLineChart","Line","RechartsAreaChart","Area","RechartsPieChart","Pie","Card","ChartContainer","getFontSizeField","getColorField","getHeightField","getPaddingField","getBorderRadiusField"],"mappings":"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","file":"chunk-VIG7PQWB.cjs","sourcesContent":["import type { WidgetPropertySchema } from \"@fluid-app/rep-core/registries\";\nimport { Card } from \"../ui/card\";\nimport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n} from \"../ui/chart\";\nimport type { ComponentProps } from \"react\";\nimport {\n Bar,\n BarChart as RechartsBarChart,\n Line,\n LineChart as RechartsLineChart,\n Area,\n AreaChart as RechartsAreaChart,\n Pie,\n PieChart as RechartsPieChart,\n XAxis,\n YAxis,\n CartesianGrid,\n} from \"recharts\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getHeightField,\n getPaddingField,\n} from \"../core/fields\";\nimport type {\n BackgroundValue,\n BorderRadiusOptions,\n ColorOptions,\n FontSizeOptions,\n PaddingOptions,\n} from \"@fluid-app/rep-core/types\";\n\ntype ChartDataPoint = Record<string, unknown>;\n\ntype ChartWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n title?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Description\n description?: string;\n descriptionFontSize?: FontSizeOptions;\n descriptionColor?: ColorOptions;\n\n // Design\n chartType?: \"bar\" | \"line\" | \"area\" | \"pie\";\n showLegend?: boolean;\n showTooltip?: boolean;\n showGrid?: boolean;\n width?: string;\n height?: string;\n background?: BackgroundValue;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Data\n dataKey?: string;\n xAxisKey?: string;\n /** Chart data - when provided via dataSource, this overrides defaultData */\n data?: ChartDataPoint[];\n /** Chart configuration - can be dynamically provided via dataSource */\n chartConfig?: Record<string, { label: string; color: string }>;\n};\n\n// Default sample data for demonstration\nconst defaultData = [\n { name: \"Jan\", value: 186 },\n { name: \"Feb\", value: 305 },\n { name: \"Mar\", value: 237 },\n { name: \"Apr\", value: 273 },\n { name: \"May\", value: 209 },\n { name: \"Jun\", value: 214 },\n];\n\n// Pie chart data with individual fill properties\nconst defaultPieData = [\n { name: \"Jan\", value: 186, fill: \"var(--chart-1)\" },\n { name: \"Feb\", value: 305, fill: \"var(--chart-2)\" },\n { name: \"Mar\", value: 237, fill: \"var(--chart-3)\" },\n { name: \"Apr\", value: 273, fill: \"var(--chart-4)\" },\n { name: \"May\", value: 209, fill: \"var(--chart-5)\" },\n];\n\nconst defaultChartConfig = {\n value: {\n label: \"Value\",\n color: \"var(--chart-1)\",\n },\n};\n\nexport function ChartWidget({\n titleEnabled = true,\n title = \"Chart Widget\",\n titleFontSize = \"lg\",\n titleColor = \"foreground\",\n\n description = \"Displaying sample data\",\n descriptionFontSize = \"md\",\n descriptionColor = \"foreground\",\n\n chartType = \"bar\",\n showLegend = false,\n showTooltip = true,\n showGrid = true,\n width = \"100%\",\n height = \"300px\",\n background = {\n type: \"solid\",\n color: \"background\",\n },\n padding = 4,\n borderRadius = \"md\",\n\n dataKey = \"value\",\n xAxisKey = \"name\",\n data,\n chartConfig,\n className,\n ...props\n}: ChartWidgetProps) {\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 // Use provided data or fall back to default\n const chartData = data ?? defaultData;\n const chartPieData =\n chartType === \"pie\" && data\n ? data.map((item, index) => ({\n ...item,\n fill: `var(--chart-${(index % 5) + 1})`,\n }))\n : defaultPieData;\n const config = chartConfig ?? defaultChartConfig;\n const chartElement = (() => {\n switch (chartType) {\n case \"bar\":\n return (\n <RechartsBarChart data={chartData}>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" />}\n <XAxis dataKey={xAxisKey} />\n <YAxis />\n {showTooltip && <ChartTooltip content={<ChartTooltipContent />} />}\n {showLegend && <ChartLegend content={<ChartLegendContent />} />}\n <Bar dataKey={dataKey} fill=\"var(--color-value)\" radius={8} />\n </RechartsBarChart>\n );\n\n case \"line\":\n return (\n <RechartsLineChart data={chartData}>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" />}\n <XAxis dataKey={xAxisKey} />\n <YAxis />\n {showTooltip && <ChartTooltip content={<ChartTooltipContent />} />}\n {showLegend && <ChartLegend content={<ChartLegendContent />} />}\n <Line\n type=\"monotone\"\n dataKey={dataKey}\n stroke=\"var(--color-value)\"\n strokeWidth={2}\n dot={{ r: 4 }}\n />\n </RechartsLineChart>\n );\n\n case \"area\":\n return (\n <RechartsAreaChart data={chartData}>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" />}\n <XAxis dataKey={xAxisKey} />\n <YAxis />\n {showTooltip && <ChartTooltip content={<ChartTooltipContent />} />}\n {showLegend && <ChartLegend content={<ChartLegendContent />} />}\n <Area\n type=\"monotone\"\n dataKey={dataKey}\n stroke=\"var(--color-value)\"\n fill=\"var(--color-value)\"\n fillOpacity={0.6}\n />\n </RechartsAreaChart>\n );\n\n case \"pie\":\n return (\n <RechartsPieChart>\n {showTooltip && (\n <ChartTooltip content={<ChartTooltipContent hideLabel />} />\n )}\n {showLegend && <ChartLegend content={<ChartLegendContent />} />}\n <Pie\n data={chartPieData}\n dataKey={dataKey}\n nameKey={xAxisKey}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius={80}\n label\n />\n </RechartsPieChart>\n );\n\n default:\n // Fallback to bar chart for unknown chart types\n return (\n <RechartsBarChart data={chartData}>\n {showGrid && <CartesianGrid strokeDasharray=\"3 3\" />}\n <XAxis dataKey={xAxisKey} />\n <YAxis />\n {showTooltip && <ChartTooltip content={<ChartTooltipContent />} />}\n {showLegend && <ChartLegend content={<ChartLegendContent />} />}\n <Bar dataKey={dataKey} fill=\"var(--color-value)\" radius={8} />\n </RechartsBarChart>\n );\n }\n })();\n\n return (\n <Card\n className={`bg-${backgroundColor} p-${padding} rounded-${borderRadius} ${className}`}\n style={{\n width,\n maxWidth: \"100%\",\n backgroundImage,\n }}\n {...props}\n >\n <div className=\"p-6\">\n <div className=\"mb-4\">\n {titleEnabled && (\n <h3\n className={`text-${titleFontSize} text-${titleColor} font-bold`}\n >\n {title}\n </h3>\n )}\n {description && (\n <p\n className={`text-${descriptionFontSize} text-${descriptionColor}`}\n >\n {description}\n </p>\n )}\n </div>\n <ChartContainer config={config} style={{ height }}>\n {chartElement}\n </ChartContainer>\n </div>\n </Card>\n );\n}\n\nexport const chartWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"ChartWidget\",\n displayName: \"Chart\",\n tabsConfig: [\n { id: \"styling\", label: \"Styling\" },\n { id: \"data\", label: \"Data\" },\n ],\n dataSourceTargetProps: [\"data\", \"chartConfig\"],\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 chart\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"title\",\n label: \"Title\",\n type: \"text\",\n description: \"The chart title\",\n defaultValue: \"Chart Widget\",\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 chart title\",\n defaultValue: \"lg\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the chart title\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Content Tab - Description Group\n {\n key: \"description\",\n label: \"Description\",\n type: \"textarea\",\n description: \"The chart description\",\n rows: 2,\n defaultValue: \"Displaying sample data\",\n tab: \"styling\",\n group: \"Description\",\n },\n getFontSizeField({\n key: \"descriptionFontSize\",\n label: \"Description Font Size\",\n description: \"Font size for the chart description\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Description\",\n }),\n getColorField({\n key: \"descriptionColor\",\n label: \"Description Color\",\n description: \"Color for the chart description\",\n defaultValue: \"foreground\",\n tab: \"styling\",\n group: \"Description\",\n }),\n\n // Styling Tab - Design Group\n {\n key: \"chartType\",\n label: \"Chart Type\",\n type: \"select\",\n description: \"Type of chart to display\",\n options: [\n { label: \"Bar Chart\", value: \"bar\" },\n { label: \"Line Chart\", value: \"line\" },\n { label: \"Area Chart\", value: \"area\" },\n { label: \"Pie Chart\", value: \"pie\" },\n ],\n defaultValue: \"bar\",\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"showLegend\",\n label: \"Show Legend\",\n type: \"boolean\",\n description: \"Display chart legend\",\n defaultValue: false,\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"showTooltip\",\n label: \"Show Tooltip\",\n type: \"boolean\",\n description: \"Display tooltip on hover\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"showGrid\",\n label: \"Show Grid\",\n type: \"boolean\",\n description: \"Display background grid lines\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"separator\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"width\",\n label: \"Width\",\n type: \"text\",\n description:\n \"Width of the chart container (CSS value, e.g., 100%, 600px)\",\n defaultValue: \"100%\",\n tab: \"styling\",\n group: \"Design\",\n },\n getHeightField({\n key: \"height\",\n label: \"Height\",\n description: \"Height of the chart\",\n min: 50,\n max: 1200,\n step: 10,\n defaultValue: \"300px\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"separator2\",\n type: \"separator\",\n label: \"Separator\",\n tab: \"styling\",\n group: \"Design\",\n },\n {\n type: \"background\",\n key: \"background\",\n label: \"Background\",\n description: \"Background for the chart container\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n },\n getPaddingField({\n key: \"padding\",\n label: \"Padding\",\n description: \"Padding for the chart 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 chart container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n\n // Data Tab - Data Group\n {\n key: \"dataSource\",\n label: \"Data Source\",\n type: \"dataSource\",\n description: \"Configure dynamic data fetching from an API\",\n tab: \"data\",\n group: \"Data\",\n },\n {\n key: \"dataKey\",\n label: \"Data Key\",\n type: \"select\",\n description: \"Key in the data to use for chart values\",\n options: [{ label: \"value\", value: \"value\" }],\n defaultValue: \"value\",\n tab: \"data\",\n group: \"Data\",\n },\n {\n key: \"xAxisKey\",\n label: \"X-Axis Key\",\n type: \"select\",\n description: \"Key in the data to use for X-axis labels\",\n options: [{ label: \"name\", value: \"name\" }],\n defaultValue: \"name\",\n tab: \"data\",\n group: \"Data\",\n },\n ],\n};\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
var chunk3CUVGQQI_cjs = require('./chunk-3CUVGQQI.cjs');
|
|
4
|
-
var
|
|
4
|
+
var chunkJ6HCPXT5_cjs = require('./chunk-J6HCPXT5.cjs');
|
|
5
5
|
var react = require('react');
|
|
6
6
|
var reactQuery = require('@tanstack/react-query');
|
|
7
7
|
var context = require('@fluid-app/rep-core/data-sources/context');
|
|
@@ -337,7 +337,7 @@ var calendarWidgetPropertySchema = {
|
|
|
337
337
|
group: "Title",
|
|
338
338
|
requiresKeyToBeTrue: "titleEnabled"
|
|
339
339
|
},
|
|
340
|
-
|
|
340
|
+
chunkJ6HCPXT5_cjs.getFontSizeField({
|
|
341
341
|
key: "titleFontSize",
|
|
342
342
|
label: "Title Font Size",
|
|
343
343
|
description: "Font size for the widget title",
|
|
@@ -346,7 +346,7 @@ var calendarWidgetPropertySchema = {
|
|
|
346
346
|
group: "Title",
|
|
347
347
|
requiresKeyToBeTrue: "titleEnabled"
|
|
348
348
|
}),
|
|
349
|
-
|
|
349
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
350
350
|
key: "titleColor",
|
|
351
351
|
label: "Title Color",
|
|
352
352
|
description: "Color for the widget title",
|
|
@@ -365,7 +365,7 @@ var calendarWidgetPropertySchema = {
|
|
|
365
365
|
tab: "styling",
|
|
366
366
|
group: "Design"
|
|
367
367
|
},
|
|
368
|
-
|
|
368
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
369
369
|
key: "textColor",
|
|
370
370
|
label: "Text Color",
|
|
371
371
|
description: "Default text color for calendar content",
|
|
@@ -373,7 +373,7 @@ var calendarWidgetPropertySchema = {
|
|
|
373
373
|
tab: "styling",
|
|
374
374
|
group: "Design"
|
|
375
375
|
}),
|
|
376
|
-
|
|
376
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
377
377
|
key: "accentColor",
|
|
378
378
|
label: "Accent Color",
|
|
379
379
|
description: "Color used for today highlight and event indicators",
|
|
@@ -388,7 +388,7 @@ var calendarWidgetPropertySchema = {
|
|
|
388
388
|
tab: "styling",
|
|
389
389
|
group: "Design"
|
|
390
390
|
},
|
|
391
|
-
|
|
391
|
+
chunkJ6HCPXT5_cjs.getPaddingField({
|
|
392
392
|
key: "padding",
|
|
393
393
|
label: "Padding",
|
|
394
394
|
description: "Padding around the calendar container",
|
|
@@ -396,7 +396,7 @@ var calendarWidgetPropertySchema = {
|
|
|
396
396
|
tab: "styling",
|
|
397
397
|
group: "Design"
|
|
398
398
|
}),
|
|
399
|
-
|
|
399
|
+
chunkJ6HCPXT5_cjs.getBorderRadiusField({
|
|
400
400
|
key: "borderRadius",
|
|
401
401
|
label: "Border Radius",
|
|
402
402
|
description: "Border radius for the calendar container",
|
|
@@ -409,5 +409,5 @@ var calendarWidgetPropertySchema = {
|
|
|
409
409
|
|
|
410
410
|
exports.CalendarWidget = CalendarWidget;
|
|
411
411
|
exports.calendarWidgetPropertySchema = calendarWidgetPropertySchema;
|
|
412
|
-
//# sourceMappingURL=chunk-
|
|
413
|
-
//# sourceMappingURL=chunk-
|
|
412
|
+
//# sourceMappingURL=chunk-XCHMHDYQ.cjs.map
|
|
413
|
+
//# sourceMappingURL=chunk-XCHMHDYQ.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/hooks/use-calendar-events.ts","../src/widgets/CalendarWidget.tsx"],"names":["useDataSourceConfig","useQuery","jsxs","jsx","useState","useMemo","ErrorState","FontAwesomeIcon","faChevronLeft","faChevronRight","faChevronsDown","faChevronsUp","getFontSizeField","getColorField","getPaddingField","getBorderRadiusField"],"mappings":"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","file":"chunk-W2U27MK2.cjs","sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { useDataSourceConfig } from \"@fluid-app/rep-core/data-sources/context\";\n\n// API types\nexport type CalendarEvent = {\n id: number;\n title: string;\n description?: {\n id?: number | null;\n name?: string | null;\n body?: string | null;\n record_type?: string | null;\n record_id?: number | null;\n created_at?: string | null;\n updated_at?: string | null;\n locale?: string | null;\n } | null;\n color?: string | null;\n url?: string | null;\n start: string;\n end: string;\n active?: boolean | null;\n time_zone?: string | null;\n status?: string | null;\n image_url?: string | null;\n images?: unknown[] | null;\n venue?: string | null;\n countries?: string[] | null;\n hasTomorrow?: boolean | null;\n hasYesterday?: boolean | null;\n isAllDay?: boolean | null;\n};\n\nexport function useCalendarEvents() {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n\n return useQuery({\n queryKey: [\"rep-widget-use\", \"calendar-events\", baseUrl] as const,\n queryFn: async ({ signal }): Promise<CalendarEvent[]> => {\n const url = baseUrl\n ? `${baseUrl}/company/events?status=active`\n : \"/company/events?status=active\";\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 calendar events: ${response.status}`);\n }\n\n return response.json();\n },\n });\n}\n","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 {\n useCalendarEvents,\n type CalendarEvent,\n} from \"../hooks/use-calendar-events\";\nimport { ErrorState } from \"../components/error-state\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faChevronLeft,\n faChevronRight,\n faChevronsDown,\n faChevronsUp,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\n// Utility to get days in a month\nconst getDaysInMonth = (year: number, month: number) => {\n return new Date(year, month + 1, 0).getDate();\n};\n\n// Utility to get the first day of month (0 = Sunday, 1 = Monday, etc.)\nconst getFirstDayOfMonth = (year: number, month: number) => {\n return new Date(year, month, 1).getDay();\n};\n\n// Generate calendar grid for a month\nconst generateMonthGrid = (year: number, month: number) => {\n const daysInMonth = getDaysInMonth(year, month);\n const firstDay = getFirstDayOfMonth(year, month);\n const today = new Date();\n\n const days: Array<{\n date: Date | null;\n isToday: boolean;\n isCurrentMonth: boolean;\n }> = [];\n\n // Add empty slots for days before the 1st\n for (let i = 0; i < firstDay; i++) {\n days.push({ date: null, isToday: false, isCurrentMonth: false });\n }\n\n // Add days of the month\n for (let day = 1; day <= daysInMonth; day++) {\n const date = new Date(year, month, day);\n const isToday =\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear();\n days.push({ date, isToday, isCurrentMonth: true });\n }\n\n return days;\n};\n\n// Generate week grid for current week\nconst generateWeekGrid = () => {\n const today = new Date();\n const currentDay = today.getDay();\n const days: Array<{\n date: Date;\n isToday: boolean;\n }> = [];\n\n for (let i = 0; i < 7; i++) {\n const date = new Date(today);\n date.setDate(today.getDate() - currentDay + i);\n days.push({\n date,\n isToday: date.toDateString() === today.toDateString(),\n });\n }\n\n return days;\n};\n\n// Get events for a specific date\nconst getEventsForDate = (date: Date, events: CalendarEvent[]) => {\n const dayStart = new Date(date);\n dayStart.setHours(0, 0, 0, 0);\n const dayEnd = new Date(date);\n dayEnd.setHours(23, 59, 59, 999);\n\n return events.filter((event) => {\n const eventStart = new Date(event.start);\n const eventEnd = new Date(event.end);\n return eventStart <= dayEnd && eventEnd >= dayStart;\n });\n};\n\n// Check if a date has events\nconst hasEventsOnDate = (date: Date | null, events: CalendarEvent[]) => {\n if (!date) return false;\n return getEventsForDate(date, events).length > 0;\n};\n\n// Event item component\nconst EventItem = ({\n title,\n start,\n end,\n color,\n isAllDay,\n accentColor,\n}: CalendarEvent & { accentColor?: string }) => {\n const startTime = new Date(start).toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n const endTime = new Date(end).toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n\n return (\n <div className=\"flex gap-x-2\">\n <div\n className=\"w-0.5 shrink-0 rounded-full\"\n style={{ backgroundColor: color || accentColor }}\n />\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-sm font-medium\">{title}</div>\n <div className=\"text-xs opacity-60\">\n {isAllDay ? \"All day\" : `${startTime} - ${endTime}`}\n </div>\n </div>\n </div>\n );\n};\n\nconst dayNames = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\ntype DayButtonProps = {\n date: Date;\n isToday: boolean;\n isSelected: boolean;\n hasEvents: boolean;\n accentColor: string;\n onClick: () => void;\n extraClassName?: string;\n};\n\nfunction DayButton({\n date,\n isToday,\n isSelected,\n hasEvents,\n accentColor,\n onClick,\n extraClassName = \"\",\n}: DayButtonProps) {\n return (\n <button\n onClick={onClick}\n className={`relative flex aspect-square items-center justify-center rounded-full text-sm transition-colors ${\n isSelected\n ? `bg-${accentColor} text-${accentColor}-foreground`\n : isToday\n ? `bg-${accentColor}/30 text-${accentColor}-foreground hover:bg-${accentColor}/50`\n : `hover:bg-${accentColor}/50 hover:text-${accentColor}-foreground`\n } ${extraClassName}`}\n >\n {date.getDate()}\n {hasEvents && (\n <div\n className={`absolute bottom-1 h-1 w-1 rounded-full bg-${accentColor}`}\n />\n )}\n </button>\n );\n}\n\ntype CalendarWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function CalendarWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Calendar\",\n titleFontSize = \"xl\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n className,\n ...props\n}: CalendarWidgetProps) {\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 today = new Date();\n const [currentMonth, setCurrentMonth] = useState(today.getMonth());\n const [currentYear, setCurrentYear] = useState(today.getFullYear());\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [selectedDate, setSelectedDate] = useState<Date | null>(today);\n\n const { data: events = [], isLoading, isError } = useCalendarEvents();\n\n // Generate calendar grids\n const monthGrid = useMemo(\n () => generateMonthGrid(currentYear, currentMonth),\n [currentYear, currentMonth],\n );\n const weekGrid = useMemo(() => generateWeekGrid(), []);\n\n // Get events for selected date\n const selectedDateEvents = useMemo(() => {\n if (!selectedDate) return [];\n return getEventsForDate(selectedDate, events);\n }, [selectedDate, events]);\n\n // Navigation handlers\n const goToPrevMonth = () => {\n if (currentMonth === 0) {\n setCurrentMonth(11);\n setCurrentYear(currentYear - 1);\n } else {\n setCurrentMonth(currentMonth - 1);\n }\n };\n\n const goToNextMonth = () => {\n if (currentMonth === 11) {\n setCurrentMonth(0);\n setCurrentYear(currentYear + 1);\n } else {\n setCurrentMonth(currentMonth + 1);\n }\n };\n\n const monthYearLabel = new Date(currentYear, currentMonth).toLocaleString(\n \"en-US\",\n {\n month: \"long\",\n year: \"numeric\",\n },\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 {titleText}\n </h2>\n </div>\n )}\n\n {/* Loading state */}\n {isLoading ? (\n <div\n className={`flex min-h-[300px] 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 /* Error state */\n <ErrorState />\n ) : (\n <div className={`p-${padding}`}>\n {/* Desktop: Side by side layout */}\n <div className=\"@md:flex @md:gap-6\">\n {/* Calendar Section */}\n <div className=\"@md:flex-none\">\n {/* Month/Year Header with Navigation */}\n <div className=\"mb-4 flex items-center justify-between\">\n <button\n onClick={goToPrevMonth}\n className=\"rounded-full p-1 hover:bg-foreground/10\"\n aria-label=\"Previous month\"\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </button>\n\n <span className=\"text-base font-semibold\">\n {monthYearLabel}\n </span>\n\n <button\n onClick={goToNextMonth}\n className=\"rounded-full p-1 hover:bg-foreground/10\"\n aria-label=\"Next month\"\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </button>\n </div>\n\n {/* Day Headers */}\n <div className=\"mb-2 grid grid-cols-7 gap-1 text-center\">\n {dayNames.map((day, idx) => (\n <div\n key={idx}\n className=\"text-xs font-medium uppercase opacity-60\"\n >\n {day}\n </div>\n ))}\n </div>\n\n {/* Calendar Grid - Week view on mobile when collapsed */}\n {isCollapsed && (\n <div className=\"grid grid-cols-7 gap-1 @md:hidden\">\n {weekGrid.map(({ date, isToday }, idx) => (\n <DayButton\n key={idx}\n date={date}\n isToday={isToday}\n isSelected={\n selectedDate?.toDateString() === date.toDateString()\n }\n hasEvents={hasEventsOnDate(date, events)}\n accentColor={accentColor}\n onClick={() => setSelectedDate(date)}\n />\n ))}\n </div>\n )}\n\n {/* Month view (always on desktop, when not collapsed on mobile) */}\n <div\n className={`grid grid-cols-7 gap-1 ${isCollapsed ? \"hidden @md:grid\" : \"grid\"}`}\n >\n {monthGrid.map((day, idx) => {\n if (!day.date) {\n return <div key={idx} className=\"aspect-square\" />;\n }\n\n return (\n <DayButton\n key={idx}\n date={day.date}\n isToday={day.isToday}\n isSelected={\n selectedDate?.toDateString() === day.date.toDateString()\n }\n hasEvents={hasEventsOnDate(day.date, events)}\n accentColor={accentColor}\n onClick={() => setSelectedDate(day.date)}\n extraClassName=\"p-2 @md:m-3\"\n />\n );\n })}\n </div>\n\n {/* Mobile collapse toggle */}\n <button\n onClick={() => setIsCollapsed(!isCollapsed)}\n className={`ml-2 flex w-full items-center justify-center gap-3 rounded-full p-1 text-${textColor}/50 @md:hidden`}\n aria-label={\n isCollapsed ? \"Expand calendar\" : \"Collapse calendar\"\n }\n >\n <div className={`h-1 w-1/2 bg-${textColor}/50`} />\n {isCollapsed ? (\n <FontAwesomeIcon icon={faChevronsDown} />\n ) : (\n <FontAwesomeIcon icon={faChevronsUp} />\n )}\n <div className={`h-1 w-1/2 bg-${textColor}/50`} />\n </button>\n </div>\n\n {/* Events Panel */}\n <div className=\"mt-4 border-muted pt-4 @md:mt-0 @md:w-56 @md:border-l @md:pt-0 @md:pl-6\">\n <div className=\"mb-2 text-sm font-medium opacity-60\">\n {selectedDate\n ? selectedDate.toLocaleDateString(\"en-US\", {\n weekday: \"long\",\n month: \"short\",\n day: \"numeric\",\n })\n : \"Select a date\"}\n </div>\n\n {selectedDateEvents.length > 0 ? (\n <div className=\"flex flex-col gap-3\">\n {selectedDateEvents.map((event, idx) => (\n <EventItem\n key={`${event.id}-${idx}`}\n {...event}\n accentColor={`var(--${accentColor})`}\n />\n ))}\n </div>\n ) : (\n <div className=\"text-sm opacity-50\">No events</div>\n )}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n\nexport const calendarWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"CalendarWidget\",\n displayName: \"Calendar 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 calendar\",\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 calendar\",\n defaultValue: \"Calendar\",\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 calendar 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 calendar 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 today highlight and event indicators\",\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 calendar 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 calendar container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n ],\n} as const satisfies WidgetPropertySchema;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/hooks/use-calendar-events.ts","../src/widgets/CalendarWidget.tsx"],"names":["useDataSourceConfig","useQuery","jsxs","jsx","useState","useMemo","ErrorState","FontAwesomeIcon","faChevronLeft","faChevronRight","faChevronsDown","faChevronsUp","getFontSizeField","getColorField","getPaddingField","getBorderRadiusField"],"mappings":"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","file":"chunk-XCHMHDYQ.cjs","sourcesContent":["import { useQuery } from \"@tanstack/react-query\";\nimport { useDataSourceConfig } from \"@fluid-app/rep-core/data-sources/context\";\n\n// API types\nexport type CalendarEvent = {\n id: number;\n title: string;\n description?: {\n id?: number | null;\n name?: string | null;\n body?: string | null;\n record_type?: string | null;\n record_id?: number | null;\n created_at?: string | null;\n updated_at?: string | null;\n locale?: string | null;\n } | null;\n color?: string | null;\n url?: string | null;\n start: string;\n end: string;\n active?: boolean | null;\n time_zone?: string | null;\n status?: string | null;\n image_url?: string | null;\n images?: unknown[] | null;\n venue?: string | null;\n countries?: string[] | null;\n hasTomorrow?: boolean | null;\n hasYesterday?: boolean | null;\n isAllDay?: boolean | null;\n};\n\nexport function useCalendarEvents() {\n const { baseUrl, getApiHeaders } = useDataSourceConfig();\n\n return useQuery({\n queryKey: [\"rep-widget-use\", \"calendar-events\", baseUrl] as const,\n queryFn: async ({ signal }): Promise<CalendarEvent[]> => {\n const url = baseUrl\n ? `${baseUrl}/company/events?status=active`\n : \"/company/events?status=active\";\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 calendar events: ${response.status}`);\n }\n\n return response.json();\n },\n });\n}\n","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 {\n useCalendarEvents,\n type CalendarEvent,\n} from \"../hooks/use-calendar-events\";\nimport { ErrorState } from \"../components/error-state\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faChevronLeft,\n faChevronRight,\n faChevronsDown,\n faChevronsUp,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\n// Utility to get days in a month\nconst getDaysInMonth = (year: number, month: number) => {\n return new Date(year, month + 1, 0).getDate();\n};\n\n// Utility to get the first day of month (0 = Sunday, 1 = Monday, etc.)\nconst getFirstDayOfMonth = (year: number, month: number) => {\n return new Date(year, month, 1).getDay();\n};\n\n// Generate calendar grid for a month\nconst generateMonthGrid = (year: number, month: number) => {\n const daysInMonth = getDaysInMonth(year, month);\n const firstDay = getFirstDayOfMonth(year, month);\n const today = new Date();\n\n const days: Array<{\n date: Date | null;\n isToday: boolean;\n isCurrentMonth: boolean;\n }> = [];\n\n // Add empty slots for days before the 1st\n for (let i = 0; i < firstDay; i++) {\n days.push({ date: null, isToday: false, isCurrentMonth: false });\n }\n\n // Add days of the month\n for (let day = 1; day <= daysInMonth; day++) {\n const date = new Date(year, month, day);\n const isToday =\n date.getDate() === today.getDate() &&\n date.getMonth() === today.getMonth() &&\n date.getFullYear() === today.getFullYear();\n days.push({ date, isToday, isCurrentMonth: true });\n }\n\n return days;\n};\n\n// Generate week grid for current week\nconst generateWeekGrid = () => {\n const today = new Date();\n const currentDay = today.getDay();\n const days: Array<{\n date: Date;\n isToday: boolean;\n }> = [];\n\n for (let i = 0; i < 7; i++) {\n const date = new Date(today);\n date.setDate(today.getDate() - currentDay + i);\n days.push({\n date,\n isToday: date.toDateString() === today.toDateString(),\n });\n }\n\n return days;\n};\n\n// Get events for a specific date\nconst getEventsForDate = (date: Date, events: CalendarEvent[]) => {\n const dayStart = new Date(date);\n dayStart.setHours(0, 0, 0, 0);\n const dayEnd = new Date(date);\n dayEnd.setHours(23, 59, 59, 999);\n\n return events.filter((event) => {\n const eventStart = new Date(event.start);\n const eventEnd = new Date(event.end);\n return eventStart <= dayEnd && eventEnd >= dayStart;\n });\n};\n\n// Check if a date has events\nconst hasEventsOnDate = (date: Date | null, events: CalendarEvent[]) => {\n if (!date) return false;\n return getEventsForDate(date, events).length > 0;\n};\n\n// Event item component\nconst EventItem = ({\n title,\n start,\n end,\n color,\n isAllDay,\n accentColor,\n}: CalendarEvent & { accentColor?: string }) => {\n const startTime = new Date(start).toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n const endTime = new Date(end).toLocaleTimeString(\"en-US\", {\n hour: \"numeric\",\n minute: \"2-digit\",\n });\n\n return (\n <div className=\"flex gap-x-2\">\n <div\n className=\"w-0.5 shrink-0 rounded-full\"\n style={{ backgroundColor: color || accentColor }}\n />\n <div className=\"min-w-0 flex-1\">\n <div className=\"truncate text-sm font-medium\">{title}</div>\n <div className=\"text-xs opacity-60\">\n {isAllDay ? \"All day\" : `${startTime} - ${endTime}`}\n </div>\n </div>\n </div>\n );\n};\n\nconst dayNames = [\"Sun\", \"Mon\", \"Tue\", \"Wed\", \"Thu\", \"Fri\", \"Sat\"];\n\ntype DayButtonProps = {\n date: Date;\n isToday: boolean;\n isSelected: boolean;\n hasEvents: boolean;\n accentColor: string;\n onClick: () => void;\n extraClassName?: string;\n};\n\nfunction DayButton({\n date,\n isToday,\n isSelected,\n hasEvents,\n accentColor,\n onClick,\n extraClassName = \"\",\n}: DayButtonProps) {\n return (\n <button\n onClick={onClick}\n className={`relative flex aspect-square items-center justify-center rounded-full text-sm transition-colors ${\n isSelected\n ? `bg-${accentColor} text-${accentColor}-foreground`\n : isToday\n ? `bg-${accentColor}/30 text-${accentColor}-foreground hover:bg-${accentColor}/50`\n : `hover:bg-${accentColor}/50 hover:text-${accentColor}-foreground`\n } ${extraClassName}`}\n >\n {date.getDate()}\n {hasEvents && (\n <div\n className={`absolute bottom-1 h-1 w-1 rounded-full bg-${accentColor}`}\n />\n )}\n </button>\n );\n}\n\ntype CalendarWidgetProps = ComponentProps<\"div\"> & {\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n background?: BackgroundValue;\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n};\n\nexport function CalendarWidget({\n // Title defaults\n titleEnabled = true,\n titleText = \"Calendar\",\n titleFontSize = \"xl\",\n titleColor = \"foreground\",\n\n // Styling defaults\n background = {\n type: \"solid\",\n color: \"background\",\n },\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n className,\n ...props\n}: CalendarWidgetProps) {\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 today = new Date();\n const [currentMonth, setCurrentMonth] = useState(today.getMonth());\n const [currentYear, setCurrentYear] = useState(today.getFullYear());\n const [isCollapsed, setIsCollapsed] = useState(false);\n const [selectedDate, setSelectedDate] = useState<Date | null>(today);\n\n const { data: events = [], isLoading, isError } = useCalendarEvents();\n\n // Generate calendar grids\n const monthGrid = useMemo(\n () => generateMonthGrid(currentYear, currentMonth),\n [currentYear, currentMonth],\n );\n const weekGrid = useMemo(() => generateWeekGrid(), []);\n\n // Get events for selected date\n const selectedDateEvents = useMemo(() => {\n if (!selectedDate) return [];\n return getEventsForDate(selectedDate, events);\n }, [selectedDate, events]);\n\n // Navigation handlers\n const goToPrevMonth = () => {\n if (currentMonth === 0) {\n setCurrentMonth(11);\n setCurrentYear(currentYear - 1);\n } else {\n setCurrentMonth(currentMonth - 1);\n }\n };\n\n const goToNextMonth = () => {\n if (currentMonth === 11) {\n setCurrentMonth(0);\n setCurrentYear(currentYear + 1);\n } else {\n setCurrentMonth(currentMonth + 1);\n }\n };\n\n const monthYearLabel = new Date(currentYear, currentMonth).toLocaleString(\n \"en-US\",\n {\n month: \"long\",\n year: \"numeric\",\n },\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 {titleText}\n </h2>\n </div>\n )}\n\n {/* Loading state */}\n {isLoading ? (\n <div\n className={`flex min-h-[300px] 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 /* Error state */\n <ErrorState />\n ) : (\n <div className={`p-${padding}`}>\n {/* Desktop: Side by side layout */}\n <div className=\"@md:flex @md:gap-6\">\n {/* Calendar Section */}\n <div className=\"@md:flex-none\">\n {/* Month/Year Header with Navigation */}\n <div className=\"mb-4 flex items-center justify-between\">\n <button\n onClick={goToPrevMonth}\n className=\"rounded-full p-1 hover:bg-foreground/10\"\n aria-label=\"Previous month\"\n >\n <FontAwesomeIcon icon={faChevronLeft} />\n </button>\n\n <span className=\"text-base font-semibold\">\n {monthYearLabel}\n </span>\n\n <button\n onClick={goToNextMonth}\n className=\"rounded-full p-1 hover:bg-foreground/10\"\n aria-label=\"Next month\"\n >\n <FontAwesomeIcon icon={faChevronRight} />\n </button>\n </div>\n\n {/* Day Headers */}\n <div className=\"mb-2 grid grid-cols-7 gap-1 text-center\">\n {dayNames.map((day, idx) => (\n <div\n key={idx}\n className=\"text-xs font-medium uppercase opacity-60\"\n >\n {day}\n </div>\n ))}\n </div>\n\n {/* Calendar Grid - Week view on mobile when collapsed */}\n {isCollapsed && (\n <div className=\"grid grid-cols-7 gap-1 @md:hidden\">\n {weekGrid.map(({ date, isToday }, idx) => (\n <DayButton\n key={idx}\n date={date}\n isToday={isToday}\n isSelected={\n selectedDate?.toDateString() === date.toDateString()\n }\n hasEvents={hasEventsOnDate(date, events)}\n accentColor={accentColor}\n onClick={() => setSelectedDate(date)}\n />\n ))}\n </div>\n )}\n\n {/* Month view (always on desktop, when not collapsed on mobile) */}\n <div\n className={`grid grid-cols-7 gap-1 ${isCollapsed ? \"hidden @md:grid\" : \"grid\"}`}\n >\n {monthGrid.map((day, idx) => {\n if (!day.date) {\n return <div key={idx} className=\"aspect-square\" />;\n }\n\n return (\n <DayButton\n key={idx}\n date={day.date}\n isToday={day.isToday}\n isSelected={\n selectedDate?.toDateString() === day.date.toDateString()\n }\n hasEvents={hasEventsOnDate(day.date, events)}\n accentColor={accentColor}\n onClick={() => setSelectedDate(day.date)}\n extraClassName=\"p-2 @md:m-3\"\n />\n );\n })}\n </div>\n\n {/* Mobile collapse toggle */}\n <button\n onClick={() => setIsCollapsed(!isCollapsed)}\n className={`ml-2 flex w-full items-center justify-center gap-3 rounded-full p-1 text-${textColor}/50 @md:hidden`}\n aria-label={\n isCollapsed ? \"Expand calendar\" : \"Collapse calendar\"\n }\n >\n <div className={`h-1 w-1/2 bg-${textColor}/50`} />\n {isCollapsed ? (\n <FontAwesomeIcon icon={faChevronsDown} />\n ) : (\n <FontAwesomeIcon icon={faChevronsUp} />\n )}\n <div className={`h-1 w-1/2 bg-${textColor}/50`} />\n </button>\n </div>\n\n {/* Events Panel */}\n <div className=\"mt-4 border-muted pt-4 @md:mt-0 @md:w-56 @md:border-l @md:pt-0 @md:pl-6\">\n <div className=\"mb-2 text-sm font-medium opacity-60\">\n {selectedDate\n ? selectedDate.toLocaleDateString(\"en-US\", {\n weekday: \"long\",\n month: \"short\",\n day: \"numeric\",\n })\n : \"Select a date\"}\n </div>\n\n {selectedDateEvents.length > 0 ? (\n <div className=\"flex flex-col gap-3\">\n {selectedDateEvents.map((event, idx) => (\n <EventItem\n key={`${event.id}-${idx}`}\n {...event}\n accentColor={`var(--${accentColor})`}\n />\n ))}\n </div>\n ) : (\n <div className=\"text-sm opacity-50\">No events</div>\n )}\n </div>\n </div>\n </div>\n )}\n </div>\n );\n}\n\nexport const calendarWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"CalendarWidget\",\n displayName: \"Calendar 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 calendar\",\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 calendar\",\n defaultValue: \"Calendar\",\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 calendar 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 calendar 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 today highlight and event indicators\",\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 calendar 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 calendar container\",\n defaultValue: \"md\",\n tab: \"styling\",\n group: \"Design\",\n }),\n ],\n} as const satisfies WidgetPropertySchema;\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
3
|
+
var chunkJ6HCPXT5_cjs = require('./chunk-J6HCPXT5.cjs');
|
|
4
4
|
var qrcode_react = require('qrcode.react');
|
|
5
5
|
var reactFontawesome = require('@fortawesome/react-fontawesome');
|
|
6
6
|
var proRegularSvgIcons = require('@fortawesome/pro-regular-svg-icons');
|
|
@@ -160,7 +160,7 @@ var quickShareWidgetPropertySchema = {
|
|
|
160
160
|
group: "Title",
|
|
161
161
|
requiresKeyToBeTrue: "titleEnabled"
|
|
162
162
|
},
|
|
163
|
-
|
|
163
|
+
chunkJ6HCPXT5_cjs.getFontSizeField({
|
|
164
164
|
key: "titleFontSize",
|
|
165
165
|
label: "Title Font Size",
|
|
166
166
|
description: "Font size for the title text",
|
|
@@ -169,7 +169,7 @@ var quickShareWidgetPropertySchema = {
|
|
|
169
169
|
group: "Title",
|
|
170
170
|
requiresKeyToBeTrue: "titleEnabled"
|
|
171
171
|
}),
|
|
172
|
-
|
|
172
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
173
173
|
key: "titleColor",
|
|
174
174
|
label: "Title Color",
|
|
175
175
|
description: "Color for the title text",
|
|
@@ -189,7 +189,7 @@ var quickShareWidgetPropertySchema = {
|
|
|
189
189
|
// group: "Actions",
|
|
190
190
|
// },
|
|
191
191
|
// Styling Tab - Design Group
|
|
192
|
-
|
|
192
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
193
193
|
key: "textColor",
|
|
194
194
|
label: "Text Color",
|
|
195
195
|
description: "Default text color for the widget",
|
|
@@ -197,7 +197,7 @@ var quickShareWidgetPropertySchema = {
|
|
|
197
197
|
tab: "styling",
|
|
198
198
|
group: "Design"
|
|
199
199
|
}),
|
|
200
|
-
|
|
200
|
+
chunkJ6HCPXT5_cjs.getColorField({
|
|
201
201
|
key: "accentColor",
|
|
202
202
|
label: "Accent Color",
|
|
203
203
|
description: "Color for accent elements and buy button",
|
|
@@ -249,7 +249,7 @@ var quickShareWidgetPropertySchema = {
|
|
|
249
249
|
tab: "styling",
|
|
250
250
|
group: "Design"
|
|
251
251
|
},
|
|
252
|
-
|
|
252
|
+
chunkJ6HCPXT5_cjs.getPaddingField({
|
|
253
253
|
key: "padding",
|
|
254
254
|
label: "Padding",
|
|
255
255
|
description: "Padding around the widget content",
|
|
@@ -257,7 +257,7 @@ var quickShareWidgetPropertySchema = {
|
|
|
257
257
|
tab: "styling",
|
|
258
258
|
group: "Design"
|
|
259
259
|
}),
|
|
260
|
-
|
|
260
|
+
chunkJ6HCPXT5_cjs.getBorderRadiusField({
|
|
261
261
|
key: "borderRadius",
|
|
262
262
|
label: "Border Radius",
|
|
263
263
|
description: "Border radius for the widget container",
|
|
@@ -270,5 +270,5 @@ var quickShareWidgetPropertySchema = {
|
|
|
270
270
|
|
|
271
271
|
exports.QuickShareWidget = QuickShareWidget;
|
|
272
272
|
exports.quickShareWidgetPropertySchema = quickShareWidgetPropertySchema;
|
|
273
|
-
//# sourceMappingURL=chunk-
|
|
274
|
-
//# sourceMappingURL=chunk-
|
|
273
|
+
//# sourceMappingURL=chunk-XCJUKCGP.cjs.map
|
|
274
|
+
//# sourceMappingURL=chunk-XCJUKCGP.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/widgets/QuickShareWidget.tsx"],"names":["jsxs","jsx","FontAwesomeIcon","faImage","QRCodeSVG","faCopy","faCartShopping","getFontSizeField","getColorField","getPaddingField","getBorderRadiusField"],"mappings":"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","file":"chunk-LFYELLIM.cjs","sourcesContent":["import type { ComponentProps } from \"react\";\nimport type {\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 type { ShareableItem } from \"@fluid-app/rep-core/types\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport { QRCodeSVG } from \"qrcode.react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCopy,\n faCartShopping,\n faImage,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\ntype QuickShareWidgetProps = ComponentProps<\"div\"> & {\n // Resource\n shareableResource?: ShareableItem;\n\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Overlay\n overlayEnabled?: boolean;\n overlayType?: \"solid\" | \"gradient\";\n overlayIntensity?: number;\n\n // Actions\n showBuyButton?: boolean;\n};\n\nexport function QuickShareWidget({\n // Resource\n shareableResource,\n\n // Title defaults\n titleEnabled = true,\n titleText = \"\",\n titleFontSize = \"2xl\",\n titleColor = \"foreground\",\n\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n // Overlay defaults\n overlayEnabled = true,\n overlayType = \"solid\",\n overlayIntensity = 50,\n\n // Actions defaults\n showBuyButton = false,\n\n className,\n ...props\n}: QuickShareWidgetProps) {\n // Determine background styling\n const backgroundImageUrl =\n shareableResource?.image_url || shareableResource?.imageUrl;\n\n // Get share link from resource\n const shareLink = shareableResource?.share_link || \"\";\n const displayUrl = shareLink || \"Select a resource to generate link\";\n\n // Determine title - use provided title or fall back to resource title\n const displayTitle =\n titleText || shareableResource?.title || \"Select a resource to display!\";\n\n // Check if resource is a Product for buy button visibility\n const isProduct =\n shareableResource?.type === \"Product\" ||\n shareableResource?.shareableType === \"Product\";\n const shouldShowBuyButton = showBuyButton && isProduct;\n\n // Copy to clipboard handler\n const handleCopyToClipboard = async () => {\n if (shareLink) {\n try {\n await navigator.clipboard.writeText(shareLink);\n } catch (error) {\n console.error(\"Failed to copy to clipboard:\", error);\n }\n }\n };\n\n return (\n <div\n className={`relative overflow-hidden rounded-${borderRadius} bg-muted text-${textColor} ${className ?? \"\"}`}\n {...props}\n >\n {/* Background Image with Overlay */}\n {backgroundImageUrl ? (\n <div className=\"absolute inset-0\">\n <img\n src={backgroundImageUrl}\n alt=\"\"\n className=\"h-full w-full object-cover\"\n />\n {overlayEnabled && (\n <div\n className={`absolute inset-0 ${\n overlayType === \"gradient\"\n ? \"bg-gradient-to-t from-black to-transparent\"\n : \"bg-black\"\n }`}\n style={{\n opacity:\n (Number(String(overlayIntensity).replace(\"%\", \"\")) || 50) /\n 100,\n }}\n />\n )}\n </div>\n ) : (\n <div\n className={`absolute inset-0 flex items-center justify-center bg-muted`}\n >\n <FontAwesomeIcon icon={faImage} className=\"h-16 w-16 opacity-20\" />\n </div>\n )}\n\n {/* Content Container */}\n <div className={`relative flex min-h-[400px] flex-col p-${padding}`}>\n {/* Title Overlay */}\n {titleEnabled && displayTitle && (\n <div className=\"flex flex-1 items-center justify-center\">\n <h2\n className={`text-center text-${titleFontSize} font-semibold text-${titleColor} drop-shadow-lg`}\n >\n {displayTitle}\n </h2>\n </div>\n )}\n\n {/* Bottom Section - QR Code, URL, and Buttons */}\n <div className=\"mt-auto flex flex-col gap-4\">\n <div className=\"flex items-end justify-between gap-4\">\n {/* QR Code */}\n <div className=\"shrink-0 rounded-lg bg-white p-2\">\n <QRCodeSVG\n value={shareLink || \"https://example.com\"}\n size={100}\n level=\"H\"\n />\n </div>\n\n {/* URL Display */}\n <div className=\"min-w-0 flex-1\">\n <p className=\"mb-2 text-sm font-semibold tracking-wide drop-shadow\">\n Your Shareable URL\n </p>\n <div className=\"flex items-center justify-between rounded-md border border-white/20 bg-black/50 p-2 text-sm text-white backdrop-blur\">\n <span className=\"truncate\">{displayUrl}</span>\n <button\n type=\"button\"\n onClick={handleCopyToClipboard}\n className={`ml-2 shrink-0 rounded p-1 transition-colors hover:bg-${accentColor}/20`}\n aria-label=\"Copy link\"\n >\n <FontAwesomeIcon icon={faCopy} className=\"h-4 w-4\" />\n </button>\n </div>\n </div>\n </div>\n\n {/* Action Buttons */}\n {/* TODO: Needs button link implmented, once it is uncomment the config for showBuyButton */}\n {shouldShowBuyButton && (\n <div className=\"flex\">\n <button\n type=\"button\"\n className={`flex w-full items-center justify-center gap-2 rounded-lg bg-${accentColor} p-3 font-medium text-${accentColor}-foreground transition-all hover:bg-${accentColor}-500`}\n >\n <FontAwesomeIcon icon={faCartShopping} className=\"h-4 w-4\" />\n <span>Buy</span>\n </button>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nexport const quickShareWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"QuickShareWidget\",\n displayName: \"Quick Share Widget\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [\n // Styling Tab - Resource\n {\n key: \"shareableResource\",\n label: \"Shareable Content\",\n type: \"resource\",\n description: \"Select the content to generate a share link for\",\n allowedTypes: [\"Product\", \"Page\", \"EnrollmentPack\", \"Medium\", \"Library\"],\n tab: \"styling\",\n group: \"Content\",\n },\n\n // Styling Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Show Title\",\n type: \"boolean\",\n description: \"Display a title overlay on the widget\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Custom title text (defaults to resource title if empty)\",\n defaultValue: \"\",\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 title text\",\n defaultValue: \"2xl\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the title text\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Actions Group\n // {\n // key: \"showBuyButton\",\n // label: \"Show Buy Button\",\n // type: \"boolean\",\n // description: \"Display the buy button (only visible for Product type)\",\n // defaultValue: false,\n // tab: \"styling\",\n // group: \"Actions\",\n // },\n\n // Styling Tab - Design Group\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for the widget\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color for accent elements and buy button\",\n defaultValue: \"primary\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"overlayEnabled\",\n label: \"Enable Overlay\",\n type: \"boolean\",\n description: \"Add background overlay for text readability\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"overlayType\",\n label: \"Overlay Type\",\n type: \"buttonGroup\",\n description: \"Type of overlay to add to the background\",\n defaultValue: \"solid\",\n options: [\n { label: \"Solid\", value: \"solid\" },\n { label: \"Gradient\", value: \"gradient\" },\n ],\n tab: \"styling\",\n group: \"Design\",\n requiresKeyToBeTrue: \"overlayEnabled\",\n },\n {\n key: \"overlayIntensity\",\n label: \"Overlay Intensity\",\n type: \"slider\",\n description: \"Opacity of the overlay background (0-100)\",\n min: 0,\n max: 100,\n step: 5,\n defaultValue: 50,\n unit: \"%\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyToBeTrue: \"overlayEnabled\",\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 content\",\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} as const satisfies WidgetPropertySchema;\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/widgets/QuickShareWidget.tsx"],"names":["jsxs","jsx","FontAwesomeIcon","faImage","QRCodeSVG","faCopy","faCartShopping","getFontSizeField","getColorField","getPaddingField","getBorderRadiusField"],"mappings":"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","file":"chunk-XCJUKCGP.cjs","sourcesContent":["import type { ComponentProps } from \"react\";\nimport type {\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 type { ShareableItem } from \"@fluid-app/rep-core/types\";\nimport {\n getBorderRadiusField,\n getColorField,\n getFontSizeField,\n getPaddingField,\n} from \"../core/fields\";\nimport { QRCodeSVG } from \"qrcode.react\";\nimport { FontAwesomeIcon } from \"@fortawesome/react-fontawesome\";\nimport {\n faCopy,\n faCartShopping,\n faImage,\n} from \"@fortawesome/pro-regular-svg-icons\";\n\ntype QuickShareWidgetProps = ComponentProps<\"div\"> & {\n // Resource\n shareableResource?: ShareableItem;\n\n // Title\n titleEnabled?: boolean;\n titleText?: string;\n titleFontSize?: FontSizeOptions;\n titleColor?: ColorOptions;\n\n // Styling\n textColor?: ColorOptions;\n accentColor?: ColorOptions;\n padding?: PaddingOptions;\n borderRadius?: BorderRadiusOptions;\n\n // Overlay\n overlayEnabled?: boolean;\n overlayType?: \"solid\" | \"gradient\";\n overlayIntensity?: number;\n\n // Actions\n showBuyButton?: boolean;\n};\n\nexport function QuickShareWidget({\n // Resource\n shareableResource,\n\n // Title defaults\n titleEnabled = true,\n titleText = \"\",\n titleFontSize = \"2xl\",\n titleColor = \"foreground\",\n\n textColor = \"foreground\",\n accentColor = \"primary\",\n padding = 4,\n borderRadius = \"md\",\n\n // Overlay defaults\n overlayEnabled = true,\n overlayType = \"solid\",\n overlayIntensity = 50,\n\n // Actions defaults\n showBuyButton = false,\n\n className,\n ...props\n}: QuickShareWidgetProps) {\n // Determine background styling\n const backgroundImageUrl =\n shareableResource?.image_url || shareableResource?.imageUrl;\n\n // Get share link from resource\n const shareLink = shareableResource?.share_link || \"\";\n const displayUrl = shareLink || \"Select a resource to generate link\";\n\n // Determine title - use provided title or fall back to resource title\n const displayTitle =\n titleText || shareableResource?.title || \"Select a resource to display!\";\n\n // Check if resource is a Product for buy button visibility\n const isProduct =\n shareableResource?.type === \"Product\" ||\n shareableResource?.shareableType === \"Product\";\n const shouldShowBuyButton = showBuyButton && isProduct;\n\n // Copy to clipboard handler\n const handleCopyToClipboard = async () => {\n if (shareLink) {\n try {\n await navigator.clipboard.writeText(shareLink);\n } catch (error) {\n console.error(\"Failed to copy to clipboard:\", error);\n }\n }\n };\n\n return (\n <div\n className={`relative overflow-hidden rounded-${borderRadius} bg-muted text-${textColor} ${className ?? \"\"}`}\n {...props}\n >\n {/* Background Image with Overlay */}\n {backgroundImageUrl ? (\n <div className=\"absolute inset-0\">\n <img\n src={backgroundImageUrl}\n alt=\"\"\n className=\"h-full w-full object-cover\"\n />\n {overlayEnabled && (\n <div\n className={`absolute inset-0 ${\n overlayType === \"gradient\"\n ? \"bg-gradient-to-t from-black to-transparent\"\n : \"bg-black\"\n }`}\n style={{\n opacity:\n (Number(String(overlayIntensity).replace(\"%\", \"\")) || 50) /\n 100,\n }}\n />\n )}\n </div>\n ) : (\n <div\n className={`absolute inset-0 flex items-center justify-center bg-muted`}\n >\n <FontAwesomeIcon icon={faImage} className=\"h-16 w-16 opacity-20\" />\n </div>\n )}\n\n {/* Content Container */}\n <div className={`relative flex min-h-[400px] flex-col p-${padding}`}>\n {/* Title Overlay */}\n {titleEnabled && displayTitle && (\n <div className=\"flex flex-1 items-center justify-center\">\n <h2\n className={`text-center text-${titleFontSize} font-semibold text-${titleColor} drop-shadow-lg`}\n >\n {displayTitle}\n </h2>\n </div>\n )}\n\n {/* Bottom Section - QR Code, URL, and Buttons */}\n <div className=\"mt-auto flex flex-col gap-4\">\n <div className=\"flex items-end justify-between gap-4\">\n {/* QR Code */}\n <div className=\"shrink-0 rounded-lg bg-white p-2\">\n <QRCodeSVG\n value={shareLink || \"https://example.com\"}\n size={100}\n level=\"H\"\n />\n </div>\n\n {/* URL Display */}\n <div className=\"min-w-0 flex-1\">\n <p className=\"mb-2 text-sm font-semibold tracking-wide drop-shadow\">\n Your Shareable URL\n </p>\n <div className=\"flex items-center justify-between rounded-md border border-white/20 bg-black/50 p-2 text-sm text-white backdrop-blur\">\n <span className=\"truncate\">{displayUrl}</span>\n <button\n type=\"button\"\n onClick={handleCopyToClipboard}\n className={`ml-2 shrink-0 rounded p-1 transition-colors hover:bg-${accentColor}/20`}\n aria-label=\"Copy link\"\n >\n <FontAwesomeIcon icon={faCopy} className=\"h-4 w-4\" />\n </button>\n </div>\n </div>\n </div>\n\n {/* Action Buttons */}\n {/* TODO: Needs button link implmented, once it is uncomment the config for showBuyButton */}\n {shouldShowBuyButton && (\n <div className=\"flex\">\n <button\n type=\"button\"\n className={`flex w-full items-center justify-center gap-2 rounded-lg bg-${accentColor} p-3 font-medium text-${accentColor}-foreground transition-all hover:bg-${accentColor}-500`}\n >\n <FontAwesomeIcon icon={faCartShopping} className=\"h-4 w-4\" />\n <span>Buy</span>\n </button>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nexport const quickShareWidgetPropertySchema: WidgetPropertySchema = {\n widgetType: \"QuickShareWidget\",\n displayName: \"Quick Share Widget\",\n tabsConfig: [{ id: \"styling\", label: \"Styling\" }],\n fields: [\n // Styling Tab - Resource\n {\n key: \"shareableResource\",\n label: \"Shareable Content\",\n type: \"resource\",\n description: \"Select the content to generate a share link for\",\n allowedTypes: [\"Product\", \"Page\", \"EnrollmentPack\", \"Medium\", \"Library\"],\n tab: \"styling\",\n group: \"Content\",\n },\n\n // Styling Tab - Title Group\n {\n key: \"titleEnabled\",\n label: \"Show Title\",\n type: \"boolean\",\n description: \"Display a title overlay on the widget\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Title\",\n },\n {\n key: \"titleText\",\n label: \"Title\",\n type: \"text\",\n description: \"Custom title text (defaults to resource title if empty)\",\n defaultValue: \"\",\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 title text\",\n defaultValue: \"2xl\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n getColorField({\n key: \"titleColor\",\n label: \"Title Color\",\n description: \"Color for the title text\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Title\",\n requiresKeyToBeTrue: \"titleEnabled\",\n }),\n\n // Styling Tab - Actions Group\n // {\n // key: \"showBuyButton\",\n // label: \"Show Buy Button\",\n // type: \"boolean\",\n // description: \"Display the buy button (only visible for Product type)\",\n // defaultValue: false,\n // tab: \"styling\",\n // group: \"Actions\",\n // },\n\n // Styling Tab - Design Group\n getColorField({\n key: \"textColor\",\n label: \"Text Color\",\n description: \"Default text color for the widget\",\n defaultValue: \"background\",\n tab: \"styling\",\n group: \"Design\",\n }),\n getColorField({\n key: \"accentColor\",\n label: \"Accent Color\",\n description: \"Color for accent elements and buy button\",\n defaultValue: \"primary\",\n tab: \"styling\",\n group: \"Design\",\n }),\n {\n key: \"overlayEnabled\",\n label: \"Enable Overlay\",\n type: \"boolean\",\n description: \"Add background overlay for text readability\",\n defaultValue: true,\n tab: \"styling\",\n group: \"Design\",\n },\n {\n key: \"overlayType\",\n label: \"Overlay Type\",\n type: \"buttonGroup\",\n description: \"Type of overlay to add to the background\",\n defaultValue: \"solid\",\n options: [\n { label: \"Solid\", value: \"solid\" },\n { label: \"Gradient\", value: \"gradient\" },\n ],\n tab: \"styling\",\n group: \"Design\",\n requiresKeyToBeTrue: \"overlayEnabled\",\n },\n {\n key: \"overlayIntensity\",\n label: \"Overlay Intensity\",\n type: \"slider\",\n description: \"Opacity of the overlay background (0-100)\",\n min: 0,\n max: 100,\n step: 5,\n defaultValue: 50,\n unit: \"%\",\n tab: \"styling\",\n group: \"Design\",\n requiresKeyToBeTrue: \"overlayEnabled\",\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 content\",\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} as const satisfies WidgetPropertySchema;\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ErrorState } from './chunk-GRFCSQ2M.js';
|
|
2
|
-
import { getFontSizeField, getColorField, getPaddingField, getBorderRadiusField } from './chunk-
|
|
2
|
+
import { getFontSizeField, getColorField, getPaddingField, getBorderRadiusField } from './chunk-6ZECDBGI.js';
|
|
3
3
|
import { useState, useMemo } from 'react';
|
|
4
4
|
import { useQuery } from '@tanstack/react-query';
|
|
5
5
|
import { useDataSourceConfig } from '@fluid-app/rep-core/data-sources/context';
|
|
@@ -406,5 +406,5 @@ var calendarWidgetPropertySchema = {
|
|
|
406
406
|
};
|
|
407
407
|
|
|
408
408
|
export { CalendarWidget, calendarWidgetPropertySchema };
|
|
409
|
-
//# sourceMappingURL=chunk-
|
|
410
|
-
//# sourceMappingURL=chunk-
|
|
409
|
+
//# sourceMappingURL=chunk-XX2N55EZ.js.map
|
|
410
|
+
//# sourceMappingURL=chunk-XX2N55EZ.js.map
|