@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.
Files changed (214) hide show
  1. package/dist/AlertWidget-3Q4AK7PE.js +5 -0
  2. package/dist/{AlertWidget-2JHMNYIY.js.map → AlertWidget-3Q4AK7PE.js.map} +1 -1
  3. package/dist/AlertWidget-C3YMPF7Y.cjs +18 -0
  4. package/dist/{AlertWidget-VHXWOKM4.cjs.map → AlertWidget-C3YMPF7Y.cjs.map} +1 -1
  5. package/dist/CalendarWidget-3FLYUVHK.js +5 -0
  6. package/dist/{CalendarWidget-ZSAZG2NA.js.map → CalendarWidget-3FLYUVHK.js.map} +1 -1
  7. package/dist/CalendarWidget-MQ2ID7YS.cjs +18 -0
  8. package/dist/{CalendarWidget-3QAGQHSO.cjs.map → CalendarWidget-MQ2ID7YS.cjs.map} +1 -1
  9. package/dist/{CarouselWidget-AYDQROQ7.js → CarouselWidget-BCNJKS4N.js} +4 -4
  10. package/dist/{CarouselWidget-AYDQROQ7.js.map → CarouselWidget-BCNJKS4N.js.map} +1 -1
  11. package/dist/{CarouselWidget-ORPCX6CM.cjs → CarouselWidget-DB2WSCE7.cjs} +6 -6
  12. package/dist/{CarouselWidget-ORPCX6CM.cjs.map → CarouselWidget-DB2WSCE7.cjs.map} +1 -1
  13. package/dist/CatchUpWidget-ADY4ZUDD.cjs +18 -0
  14. package/dist/{CatchUpWidget-3BMRWSA7.cjs.map → CatchUpWidget-ADY4ZUDD.cjs.map} +1 -1
  15. package/dist/CatchUpWidget-PJNNL5GI.js +5 -0
  16. package/dist/{CatchUpWidget-YKKUJT4H.js.map → CatchUpWidget-PJNNL5GI.js.map} +1 -1
  17. package/dist/ChartWidget-JX5J2OVP.cjs +19 -0
  18. package/dist/{ChartWidget-ETZEURVU.cjs.map → ChartWidget-JX5J2OVP.cjs.map} +1 -1
  19. package/dist/ChartWidget-YP5OXREZ.js +6 -0
  20. package/dist/{ChartWidget-QTYGMAEV.js.map → ChartWidget-YP5OXREZ.js.map} +1 -1
  21. package/dist/ContainerWidget-IOXW77X7.cjs +21 -0
  22. package/dist/{ContainerWidget-WYTZPJSE.cjs.map → ContainerWidget-IOXW77X7.cjs.map} +1 -1
  23. package/dist/ContainerWidget-OLQPEXDT.js +8 -0
  24. package/dist/{ContainerWidget-CYAHQDTH.js.map → ContainerWidget-OLQPEXDT.js.map} +1 -1
  25. package/dist/EmbedWidget-ATU2WS2X.js +3 -0
  26. package/dist/{EmbedWidget-B3JEXJWZ.js.map → EmbedWidget-ATU2WS2X.js.map} +1 -1
  27. package/dist/EmbedWidget-X7FB7C45.cjs +16 -0
  28. package/dist/{EmbedWidget-CWK3I5G5.cjs.map → EmbedWidget-X7FB7C45.cjs.map} +1 -1
  29. package/dist/ImageWidget-6ATLD5II.cjs +17 -0
  30. package/dist/{ImageWidget-RSBFNR5J.cjs.map → ImageWidget-6ATLD5II.cjs.map} +1 -1
  31. package/dist/ImageWidget-BBLG66SD.js +4 -0
  32. package/dist/{ImageWidget-A5DBWFUT.js.map → ImageWidget-BBLG66SD.js.map} +1 -1
  33. package/dist/LayoutWidget-F3BDSGDP.cjs +20 -0
  34. package/dist/{LayoutWidget-VCOKZJV3.cjs.map → LayoutWidget-F3BDSGDP.cjs.map} +1 -1
  35. package/dist/{LayoutWidget-BHM4HFRZ.js → LayoutWidget-MBUJVGKA.js} +4 -4
  36. package/dist/{LayoutWidget-BHM4HFRZ.js.map → LayoutWidget-MBUJVGKA.js.map} +1 -1
  37. package/dist/ListWidget-LZ77ZSBT.js +6 -0
  38. package/dist/{ListWidget-XI75HDHT.js.map → ListWidget-LZ77ZSBT.js.map} +1 -1
  39. package/dist/ListWidget-Q2MXWXKA.cjs +19 -0
  40. package/dist/{ListWidget-6MD3LNJR.cjs.map → ListWidget-Q2MXWXKA.cjs.map} +1 -1
  41. package/dist/MySiteWidget-2XUSXN5I.cjs +18 -0
  42. package/dist/{MySiteWidget-JP2NWOOI.cjs.map → MySiteWidget-2XUSXN5I.cjs.map} +1 -1
  43. package/dist/MySiteWidget-L37MCRTV.js +5 -0
  44. package/dist/{MySiteWidget-RPIPPRRN.js.map → MySiteWidget-L37MCRTV.js.map} +1 -1
  45. package/dist/NestedWidget-JKEJ5ZCV.cjs +19 -0
  46. package/dist/{NestedWidget-T5MRGLSP.cjs.map → NestedWidget-JKEJ5ZCV.cjs.map} +1 -1
  47. package/dist/NestedWidget-N6V5LT4B.js +6 -0
  48. package/dist/{NestedWidget-KH7QSXN7.js.map → NestedWidget-N6V5LT4B.js.map} +1 -1
  49. package/dist/QuickShareWidget-B6TOLKM7.cjs +17 -0
  50. package/dist/{QuickShareWidget-47OABEXI.cjs.map → QuickShareWidget-B6TOLKM7.cjs.map} +1 -1
  51. package/dist/QuickShareWidget-TNW4ILJ2.js +4 -0
  52. package/dist/{QuickShareWidget-S2LJDLLJ.js.map → QuickShareWidget-TNW4ILJ2.js.map} +1 -1
  53. package/dist/RecentActivityWidget-USXCTA5W.js +5 -0
  54. package/dist/{RecentActivityWidget-FI72KYRL.js.map → RecentActivityWidget-USXCTA5W.js.map} +1 -1
  55. package/dist/RecentActivityWidget-ZYOFEB5R.cjs +18 -0
  56. package/dist/{RecentActivityWidget-CFYQ32LN.cjs.map → RecentActivityWidget-ZYOFEB5R.cjs.map} +1 -1
  57. package/dist/SpacerWidget-7KQ6UPRH.js +3 -0
  58. package/dist/{SpacerWidget-ZEHGXKOH.js.map → SpacerWidget-7KQ6UPRH.js.map} +1 -1
  59. package/dist/SpacerWidget-APJKG3DG.cjs +16 -0
  60. package/dist/{SpacerWidget-OUFZRSIN.cjs.map → SpacerWidget-APJKG3DG.cjs.map} +1 -1
  61. package/dist/{TableWidget-VMPYQU7I.js → TableWidget-6SXE6KTY.js} +4 -4
  62. package/dist/{TableWidget-VMPYQU7I.js.map → TableWidget-6SXE6KTY.js.map} +1 -1
  63. package/dist/TableWidget-JT4BJYGZ.cjs +20 -0
  64. package/dist/{TableWidget-ZX5A4IFW.cjs.map → TableWidget-JT4BJYGZ.cjs.map} +1 -1
  65. package/dist/TextWidget-GNUQBLDJ.js +4 -0
  66. package/dist/{TextWidget-D72TL53O.js.map → TextWidget-GNUQBLDJ.js.map} +1 -1
  67. package/dist/TextWidget-PUZPMPOC.cjs +17 -0
  68. package/dist/{TextWidget-DYINWJGB.cjs.map → TextWidget-PUZPMPOC.cjs.map} +1 -1
  69. package/dist/ToDoWidget-5EXKPVSO.cjs +18 -0
  70. package/dist/{ToDoWidget-Y7W6TFL7.cjs.map → ToDoWidget-5EXKPVSO.cjs.map} +1 -1
  71. package/dist/ToDoWidget-MI3K365J.js +5 -0
  72. package/dist/{ToDoWidget-XQPQBDZE.js.map → ToDoWidget-MI3K365J.js.map} +1 -1
  73. package/dist/VideoWidget-DYPFWIZX.cjs +17 -0
  74. package/dist/{VideoWidget-R6WKIZFN.cjs.map → VideoWidget-DYPFWIZX.cjs.map} +1 -1
  75. package/dist/VideoWidget-KY3VZHYD.js +4 -0
  76. package/dist/{VideoWidget-OMF2XWAI.js.map → VideoWidget-KY3VZHYD.js.map} +1 -1
  77. package/dist/{chunk-25GBJPZQ.js → chunk-2NPVYROG.js} +3 -3
  78. package/dist/{chunk-25GBJPZQ.js.map → chunk-2NPVYROG.js.map} +1 -1
  79. package/dist/{chunk-AJ2ZDCQU.js → chunk-2YQKGRGW.js} +3 -3
  80. package/dist/{chunk-AJ2ZDCQU.js.map → chunk-2YQKGRGW.js.map} +1 -1
  81. package/dist/{chunk-WGQS7RB4.js → chunk-3CAOLNTX.js} +3 -3
  82. package/dist/{chunk-WGQS7RB4.js.map → chunk-3CAOLNTX.js.map} +1 -1
  83. package/dist/{chunk-ER6NFOID.cjs → chunk-4Y3HAK22.cjs} +11 -12
  84. package/dist/chunk-4Y3HAK22.cjs.map +1 -0
  85. package/dist/{chunk-MNWWZGL2.js → chunk-57ZUEL25.js} +3 -3
  86. package/dist/{chunk-MNWWZGL2.js.map → chunk-57ZUEL25.js.map} +1 -1
  87. package/dist/chunk-6ZECDBGI.js +3 -0
  88. package/dist/{chunk-ZS7C474P.js.map → chunk-6ZECDBGI.js.map} +1 -1
  89. package/dist/{chunk-7B5RPA6J.js → chunk-77WTAKDK.js} +3 -3
  90. package/dist/{chunk-7B5RPA6J.js.map → chunk-77WTAKDK.js.map} +1 -1
  91. package/dist/{chunk-YBTY4OMP.cjs → chunk-A5AVY3ML.cjs} +8 -10
  92. package/dist/chunk-A5AVY3ML.cjs.map +1 -0
  93. package/dist/{chunk-KVGWMJZB.js → chunk-AWEFCI4H.js} +3 -3
  94. package/dist/{chunk-KVGWMJZB.js.map → chunk-AWEFCI4H.js.map} +1 -1
  95. package/dist/{chunk-IM3VCKTO.js → chunk-BYGUUGSO.js} +10 -10
  96. package/dist/chunk-BYGUUGSO.js.map +1 -0
  97. package/dist/{chunk-B5S5Q57S.cjs → chunk-CPZXEI3R.cjs} +24 -24
  98. package/dist/chunk-CPZXEI3R.cjs.map +1 -0
  99. package/dist/{chunk-3NB2PJR5.js → chunk-DPPFLZ7G.js} +12 -13
  100. package/dist/chunk-DPPFLZ7G.js.map +1 -0
  101. package/dist/{chunk-NYL2AQJ2.js → chunk-DVHIQENH.js} +9 -7
  102. package/dist/chunk-DVHIQENH.js.map +1 -0
  103. package/dist/{chunk-DPNUNERL.js → chunk-E5ERYB7Q.js} +4 -4
  104. package/dist/{chunk-DPNUNERL.js.map → chunk-E5ERYB7Q.js.map} +1 -1
  105. package/dist/{chunk-HLXL56YT.js → chunk-EBYQ6EXT.js} +9 -11
  106. package/dist/chunk-EBYQ6EXT.js.map +1 -0
  107. package/dist/{chunk-OFRCK7WR.js → chunk-EL6H7WGK.js} +3 -3
  108. package/dist/{chunk-OFRCK7WR.js.map → chunk-EL6H7WGK.js.map} +1 -1
  109. package/dist/{chunk-TQYXX5IT.js → chunk-G45UWQDF.js} +439 -426
  110. package/dist/chunk-G45UWQDF.js.map +1 -0
  111. package/dist/{chunk-YRZ4AHQC.js → chunk-GWICPGTA.js} +29 -17
  112. package/dist/chunk-GWICPGTA.js.map +1 -0
  113. package/dist/{chunk-U5HD3GJ7.cjs → chunk-HA7IVIPJ.cjs} +36 -24
  114. package/dist/chunk-HA7IVIPJ.cjs.map +1 -0
  115. package/dist/{chunk-K4T2XGCW.cjs → chunk-HF7QCK7D.cjs} +9 -9
  116. package/dist/{chunk-K4T2XGCW.cjs.map → chunk-HF7QCK7D.cjs.map} +1 -1
  117. package/dist/{chunk-PEBYBSSB.cjs → chunk-HREBEVS5.cjs} +7 -7
  118. package/dist/{chunk-PEBYBSSB.cjs.map → chunk-HREBEVS5.cjs.map} +1 -1
  119. package/dist/{chunk-MUFXAD45.cjs → chunk-ITCLHIOM.cjs} +10 -10
  120. package/dist/{chunk-MUFXAD45.cjs.map → chunk-ITCLHIOM.cjs.map} +1 -1
  121. package/dist/{chunk-CM7D7WGL.cjs → chunk-J6HCPXT5.cjs} +6 -2
  122. package/dist/{chunk-CM7D7WGL.cjs.map → chunk-J6HCPXT5.cjs.map} +1 -1
  123. package/dist/{chunk-IC66PSKF.cjs → chunk-JS4NC5JR.cjs} +9 -9
  124. package/dist/{chunk-IC66PSKF.cjs.map → chunk-JS4NC5JR.cjs.map} +1 -1
  125. package/dist/{chunk-RMZFC7HF.cjs → chunk-KYCPG2DN.cjs} +5 -5
  126. package/dist/{chunk-RMZFC7HF.cjs.map → chunk-KYCPG2DN.cjs.map} +1 -1
  127. package/dist/{chunk-VU3NEDUQ.js → chunk-NLLBQM4P.js} +16 -16
  128. package/dist/chunk-NLLBQM4P.js.map +1 -0
  129. package/dist/{chunk-SDTP4TVD.cjs → chunk-OZBZOHR4.cjs} +8 -10
  130. package/dist/chunk-OZBZOHR4.cjs.map +1 -0
  131. package/dist/{chunk-M3DV7TXA.cjs → chunk-PK7Y3Q6A.cjs} +10 -10
  132. package/dist/chunk-PK7Y3Q6A.cjs.map +1 -0
  133. package/dist/{chunk-DW6V4ZCT.cjs → chunk-PLXOZ5BH.cjs} +9 -9
  134. package/dist/{chunk-DW6V4ZCT.cjs.map → chunk-PLXOZ5BH.cjs.map} +1 -1
  135. package/dist/{chunk-VDHV7FEJ.cjs → chunk-RPNLSRUS.cjs} +7 -7
  136. package/dist/{chunk-VDHV7FEJ.cjs.map → chunk-RPNLSRUS.cjs.map} +1 -1
  137. package/dist/{chunk-64HIILUF.cjs → chunk-SH2YPW2J.cjs} +455 -442
  138. package/dist/chunk-SH2YPW2J.cjs.map +1 -0
  139. package/dist/{chunk-QSMGUAYP.cjs → chunk-STGAGLIG.cjs} +9 -9
  140. package/dist/{chunk-QSMGUAYP.cjs.map → chunk-STGAGLIG.cjs.map} +1 -1
  141. package/dist/{chunk-Y6OP3XEQ.cjs → chunk-TMG7H4K5.cjs} +9 -9
  142. package/dist/{chunk-Y6OP3XEQ.cjs.map → chunk-TMG7H4K5.cjs.map} +1 -1
  143. package/dist/{chunk-J2FIIZSN.js → chunk-UXFD52LT.js} +3 -3
  144. package/dist/{chunk-J2FIIZSN.js.map → chunk-UXFD52LT.js.map} +1 -1
  145. package/dist/{chunk-PHI5YY5E.cjs → chunk-VIG7PQWB.cjs} +15 -13
  146. package/dist/chunk-VIG7PQWB.cjs.map +1 -0
  147. package/dist/{chunk-W2U27MK2.cjs → chunk-XCHMHDYQ.cjs} +9 -9
  148. package/dist/{chunk-W2U27MK2.cjs.map → chunk-XCHMHDYQ.cjs.map} +1 -1
  149. package/dist/{chunk-LFYELLIM.cjs → chunk-XCJUKCGP.cjs} +9 -9
  150. package/dist/{chunk-LFYELLIM.cjs.map → chunk-XCJUKCGP.cjs.map} +1 -1
  151. package/dist/{chunk-GAYZNBS4.js → chunk-XX2N55EZ.js} +3 -3
  152. package/dist/{chunk-GAYZNBS4.js.map → chunk-XX2N55EZ.js.map} +1 -1
  153. package/dist/{chunk-PXWG3SDJ.js → chunk-YGATS7HW.js} +3 -3
  154. package/dist/{chunk-PXWG3SDJ.js.map → chunk-YGATS7HW.js.map} +1 -1
  155. package/dist/{chunk-SB2EVEDN.js → chunk-ZDWZKRJ4.js} +9 -11
  156. package/dist/chunk-ZDWZKRJ4.js.map +1 -0
  157. package/dist/core/index.cjs +8 -8
  158. package/dist/core/index.js +1 -1
  159. package/dist/widgets/index.cjs +78 -78
  160. package/dist/widgets/index.d.cts +5 -5
  161. package/dist/widgets/index.d.ts +5 -5
  162. package/dist/widgets/index.js +39 -39
  163. package/package.json +4 -4
  164. package/dist/AlertWidget-2JHMNYIY.js +0 -5
  165. package/dist/AlertWidget-VHXWOKM4.cjs +0 -18
  166. package/dist/CalendarWidget-3QAGQHSO.cjs +0 -18
  167. package/dist/CalendarWidget-ZSAZG2NA.js +0 -5
  168. package/dist/CatchUpWidget-3BMRWSA7.cjs +0 -18
  169. package/dist/CatchUpWidget-YKKUJT4H.js +0 -5
  170. package/dist/ChartWidget-ETZEURVU.cjs +0 -19
  171. package/dist/ChartWidget-QTYGMAEV.js +0 -6
  172. package/dist/ContainerWidget-CYAHQDTH.js +0 -8
  173. package/dist/ContainerWidget-WYTZPJSE.cjs +0 -21
  174. package/dist/EmbedWidget-B3JEXJWZ.js +0 -3
  175. package/dist/EmbedWidget-CWK3I5G5.cjs +0 -16
  176. package/dist/ImageWidget-A5DBWFUT.js +0 -4
  177. package/dist/ImageWidget-RSBFNR5J.cjs +0 -17
  178. package/dist/LayoutWidget-VCOKZJV3.cjs +0 -20
  179. package/dist/ListWidget-6MD3LNJR.cjs +0 -19
  180. package/dist/ListWidget-XI75HDHT.js +0 -6
  181. package/dist/MySiteWidget-JP2NWOOI.cjs +0 -18
  182. package/dist/MySiteWidget-RPIPPRRN.js +0 -5
  183. package/dist/NestedWidget-KH7QSXN7.js +0 -6
  184. package/dist/NestedWidget-T5MRGLSP.cjs +0 -19
  185. package/dist/QuickShareWidget-47OABEXI.cjs +0 -17
  186. package/dist/QuickShareWidget-S2LJDLLJ.js +0 -4
  187. package/dist/RecentActivityWidget-CFYQ32LN.cjs +0 -18
  188. package/dist/RecentActivityWidget-FI72KYRL.js +0 -5
  189. package/dist/SpacerWidget-OUFZRSIN.cjs +0 -16
  190. package/dist/SpacerWidget-ZEHGXKOH.js +0 -3
  191. package/dist/TableWidget-ZX5A4IFW.cjs +0 -20
  192. package/dist/TextWidget-D72TL53O.js +0 -4
  193. package/dist/TextWidget-DYINWJGB.cjs +0 -17
  194. package/dist/ToDoWidget-XQPQBDZE.js +0 -5
  195. package/dist/ToDoWidget-Y7W6TFL7.cjs +0 -18
  196. package/dist/VideoWidget-OMF2XWAI.js +0 -4
  197. package/dist/VideoWidget-R6WKIZFN.cjs +0 -17
  198. package/dist/chunk-3NB2PJR5.js.map +0 -1
  199. package/dist/chunk-64HIILUF.cjs.map +0 -1
  200. package/dist/chunk-B5S5Q57S.cjs.map +0 -1
  201. package/dist/chunk-ER6NFOID.cjs.map +0 -1
  202. package/dist/chunk-HLXL56YT.js.map +0 -1
  203. package/dist/chunk-IM3VCKTO.js.map +0 -1
  204. package/dist/chunk-M3DV7TXA.cjs.map +0 -1
  205. package/dist/chunk-NYL2AQJ2.js.map +0 -1
  206. package/dist/chunk-PHI5YY5E.cjs.map +0 -1
  207. package/dist/chunk-SB2EVEDN.js.map +0 -1
  208. package/dist/chunk-SDTP4TVD.cjs.map +0 -1
  209. package/dist/chunk-TQYXX5IT.js.map +0 -1
  210. package/dist/chunk-U5HD3GJ7.cjs.map +0 -1
  211. package/dist/chunk-VU3NEDUQ.js.map +0 -1
  212. package/dist/chunk-YBTY4OMP.cjs.map +0 -1
  213. package/dist/chunk-YRZ4AHQC.js.map +0 -1
  214. package/dist/chunk-ZS7C474P.js +0 -3
@@ -2,32 +2,67 @@
2
2
 
3
3
  var chunkLOXFR6XC_cjs = require('./chunk-LOXFR6XC.cjs');
4
4
  var chunkQV3OAAEQ_cjs = require('./chunk-QV3OAAEQ.cjs');
5
- var chunkCM7D7WGL_cjs = require('./chunk-CM7D7WGL.cjs');
6
- var react = require('react');
5
+ var chunkJ6HCPXT5_cjs = require('./chunk-J6HCPXT5.cjs');
7
6
  var jsxRuntime = require('react/jsx-runtime');
7
+ var react = require('react');
8
8
 
9
- var DEFAULT_ITEMS = [];
10
- var SCROLL_ITEM_WIDTH = 300;
11
- var getImageUrl = (item) => {
12
- return item.imageUrl || item.image;
13
- };
14
- function getFeaturedAssetUrl(value) {
15
- if (!value) return void 0;
16
- if (typeof value === "string") {
17
- const isVideo = /\.(mp4|webm|ogg|mov)$/i.test(value);
18
- return { url: value, isVideo };
19
- }
20
- if (typeof value === "object") {
21
- const videoUrl = value.videoUrl || value.video_url || value.url;
22
- if (videoUrl && /\.(mp4|webm|ogg|mov)$/i.test(videoUrl)) {
23
- return { url: videoUrl, isVideo: true };
24
- }
25
- const imageUrl = value.imageUrl || value.image_url || value.url;
26
- if (imageUrl) {
27
- return { url: imageUrl, isVideo: false };
9
+ function FeaturedSection({
10
+ borderRadius,
11
+ titleSize,
12
+ featuredTitle,
13
+ featuredSubtitle,
14
+ featuredButtonText,
15
+ featuredButtonUrl,
16
+ featuredSubtitleColor,
17
+ featuredSubtitleSize,
18
+ asset
19
+ }) {
20
+ return /* @__PURE__ */ jsxRuntime.jsxs(
21
+ "div",
22
+ {
23
+ className: `relative h-full min-h-[300px] w-full overflow-hidden rounded-${borderRadius}`,
24
+ children: [
25
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 h-full w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
26
+ chunkLOXFR6XC_cjs.MediaRenderer,
27
+ {
28
+ src: asset.url,
29
+ mediaType: asset.isVideo ? "video" : "image",
30
+ alt: featuredTitle || "Featured",
31
+ objectFit: "cover",
32
+ autoplay: asset.isVideo,
33
+ loop: asset.isVideo,
34
+ muted: asset.isVideo,
35
+ controls: false
36
+ }
37
+ ) }),
38
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-black/40" }),
39
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 flex flex-col items-start justify-end p-8", children: [
40
+ featuredTitle && /* @__PURE__ */ jsxRuntime.jsx(
41
+ "h3",
42
+ {
43
+ className: `mb-2 font-bold text-white text-${titleSize === "md" ? "base" : titleSize}`,
44
+ children: featuredTitle
45
+ }
46
+ ),
47
+ featuredSubtitle && /* @__PURE__ */ jsxRuntime.jsx(
48
+ "p",
49
+ {
50
+ className: `mb-4 text-${featuredSubtitleColor} text-${featuredSubtitleSize === "md" ? "base" : featuredSubtitleSize}`,
51
+ children: featuredSubtitle
52
+ }
53
+ ),
54
+ featuredButtonText && /* @__PURE__ */ jsxRuntime.jsx(
55
+ "a",
56
+ {
57
+ href: featuredButtonUrl || "#",
58
+ className: `bg-white px-6 py-2 font-medium text-foreground transition-opacity hover:opacity-90 rounded-${borderRadius}`,
59
+ children: featuredButtonText
60
+ }
61
+ )
62
+ ] })
63
+ ]
28
64
  }
29
- }
30
- return void 0;
65
+ );
31
66
  }
32
67
  function getTextContent(value) {
33
68
  if (!value) return "";
@@ -60,6 +95,101 @@ function getStringValue(value) {
60
95
  }
61
96
  return "";
62
97
  }
98
+ function ListItemCardContent({
99
+ item,
100
+ padding,
101
+ itemTitleColor,
102
+ itemTitleSize,
103
+ descriptionColor,
104
+ descriptionSize,
105
+ priceColor,
106
+ priceSize,
107
+ originalPriceColor,
108
+ metaTextColor,
109
+ metaTextSize,
110
+ showMetaText
111
+ }) {
112
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `p-${padding}`, children: [
113
+ item.title && /* @__PURE__ */ jsxRuntime.jsx(
114
+ "h3",
115
+ {
116
+ className: `text-${itemTitleColor} text-${itemTitleSize === "md" ? "base" : itemTitleSize} mb-1 font-semibold`,
117
+ children: getTextContent(item.title)
118
+ }
119
+ ),
120
+ item.description && /* @__PURE__ */ jsxRuntime.jsx(
121
+ "p",
122
+ {
123
+ className: `text-${descriptionColor} text-${descriptionSize === "md" ? "base" : descriptionSize} mb-2`,
124
+ children: getTextContent(item.description)
125
+ }
126
+ ),
127
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
128
+ item.price && /* @__PURE__ */ jsxRuntime.jsx(
129
+ "span",
130
+ {
131
+ className: `text-${priceColor} text-${priceSize === "md" ? "base" : priceSize} font-bold`,
132
+ children: getStringValue(item.price)
133
+ }
134
+ ),
135
+ item.originalPrice && /* @__PURE__ */ jsxRuntime.jsx(
136
+ "span",
137
+ {
138
+ className: `text-${originalPriceColor} text-${descriptionSize === "md" ? "base" : descriptionSize} line-through`,
139
+ children: getStringValue(item.originalPrice)
140
+ }
141
+ )
142
+ ] }),
143
+ showMetaText && (item.qv || item.cv) && /* @__PURE__ */ jsxRuntime.jsxs(
144
+ "div",
145
+ {
146
+ className: `mt-2 flex gap-3 text-${metaTextColor} text-${metaTextSize === "md" ? "base" : metaTextSize}`,
147
+ children: [
148
+ item.qv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
149
+ "QV: ",
150
+ getStringValue(item.qv)
151
+ ] }),
152
+ item.cv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
153
+ "CV: ",
154
+ getStringValue(item.cv)
155
+ ] })
156
+ ]
157
+ }
158
+ )
159
+ ] });
160
+ }
161
+ function DiscountBadge({ discount }) {
162
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 right-2 z-10 rounded-md bg-destructive px-2 py-1 text-xs font-bold text-destructive-foreground", children: getStringValue(discount) });
163
+ }
164
+ function FavoriteButton({ className }) {
165
+ return /* @__PURE__ */ jsxRuntime.jsx(
166
+ "button",
167
+ {
168
+ className: className || "absolute top-2 left-2 z-10 rounded-full bg-background/80 p-2 backdrop-blur-sm transition-colors hover:bg-background",
169
+ children: /* @__PURE__ */ jsxRuntime.jsx(
170
+ "svg",
171
+ {
172
+ className: "h-5 w-5 text-muted-foreground",
173
+ fill: "none",
174
+ stroke: "currentColor",
175
+ viewBox: "0 0 24 24",
176
+ children: /* @__PURE__ */ jsxRuntime.jsx(
177
+ "path",
178
+ {
179
+ strokeLinecap: "round",
180
+ strokeLinejoin: "round",
181
+ strokeWidth: 2,
182
+ d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
183
+ }
184
+ )
185
+ }
186
+ )
187
+ }
188
+ );
189
+ }
190
+ var getImageUrl = (item) => {
191
+ return item.imageUrl || item.image;
192
+ };
63
193
  var getAspectRatioClass = (ratio) => {
64
194
  const ratios = {
65
195
  square: "aspect-square",
@@ -79,65 +209,243 @@ var getResponsiveGridClass = (columns) => {
79
209
  };
80
210
  return responsiveClasses[columns] || "grid-cols-2 @lg:grid-cols-3";
81
211
  };
82
- function FeaturedSection({
83
- featuredAsset,
84
- featuredTitle,
85
- featuredSubtitle,
86
- featuredButtonText,
87
- featuredButtonUrl,
88
- featuredSubtitleColor,
89
- featuredSubtitleSize,
90
- titleSize,
91
- borderRadius
212
+ function UnorderedList({
213
+ items,
214
+ columns,
215
+ gap,
216
+ borderRadius,
217
+ imageAspectRatio,
218
+ showBadge,
219
+ showFavorite,
220
+ padding,
221
+ itemTitleColor,
222
+ itemTitleSize,
223
+ descriptionColor,
224
+ descriptionSize,
225
+ priceColor,
226
+ priceSize,
227
+ originalPriceColor,
228
+ metaTextColor,
229
+ metaTextSize,
230
+ showMetaText
92
231
  }) {
93
- const asset = getFeaturedAssetUrl(featuredAsset);
94
- if (!asset) return null;
95
- return /* @__PURE__ */ jsxRuntime.jsxs(
96
- "div",
97
- {
98
- className: `relative h-full min-h-[300px] w-full overflow-hidden rounded-${borderRadius}`,
99
- children: [
100
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 h-full w-full", children: /* @__PURE__ */ jsxRuntime.jsx(
101
- chunkLOXFR6XC_cjs.MediaRenderer,
102
- {
103
- src: asset.url,
104
- mediaType: asset.isVideo ? "video" : "image",
105
- alt: featuredTitle || "Featured",
106
- objectFit: "cover",
107
- autoplay: asset.isVideo,
108
- loop: asset.isVideo,
109
- muted: asset.isVideo,
110
- controls: false
111
- }
112
- ) }),
113
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-0 bg-black/40" }),
114
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "absolute inset-0 flex flex-col items-start justify-end p-8", children: [
115
- featuredTitle && /* @__PURE__ */ jsxRuntime.jsx(
116
- "h3",
117
- {
118
- className: `mb-2 font-bold text-white text-${titleSize === "md" ? "base" : titleSize}`,
119
- children: featuredTitle
120
- }
121
- ),
122
- featuredSubtitle && /* @__PURE__ */ jsxRuntime.jsx(
123
- "p",
232
+ const gridClass = getResponsiveGridClass(columns);
233
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `grid ${gridClass} gap-${chunkJ6HCPXT5_cjs.gapValues[gap]}`, children: items.map((item) => {
234
+ const imageUrl = getImageUrl(item);
235
+ const aspectRatioClass = getAspectRatioClass(imageAspectRatio);
236
+ return /* @__PURE__ */ jsxRuntime.jsxs(
237
+ "div",
238
+ {
239
+ className: `relative rounded-${borderRadius} overflow-hidden bg-background shadow-sm transition-shadow hover:shadow-md`,
240
+ children: [
241
+ showBadge && item.discount && /* @__PURE__ */ jsxRuntime.jsx(DiscountBadge, { discount: item.discount }),
242
+ showFavorite && /* @__PURE__ */ jsxRuntime.jsx(FavoriteButton, {}),
243
+ imageUrl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `w-full ${aspectRatioClass} overflow-hidden`, children: /* @__PURE__ */ jsxRuntime.jsx(
244
+ "img",
124
245
  {
125
- className: `mb-4 text-${featuredSubtitleColor} text-${featuredSubtitleSize === "md" ? "base" : featuredSubtitleSize}`,
126
- children: featuredSubtitle
246
+ src: imageUrl,
247
+ alt: item.title || "Product",
248
+ className: "h-full w-full object-cover"
127
249
  }
128
- ),
129
- featuredButtonText && /* @__PURE__ */ jsxRuntime.jsx(
130
- "a",
250
+ ) }),
251
+ /* @__PURE__ */ jsxRuntime.jsx(
252
+ ListItemCardContent,
131
253
  {
132
- href: featuredButtonUrl || "#",
133
- className: `bg-white px-6 py-2 font-medium text-foreground transition-opacity hover:opacity-90 rounded-${borderRadius}`,
134
- children: featuredButtonText
254
+ item,
255
+ padding,
256
+ itemTitleColor,
257
+ itemTitleSize,
258
+ descriptionColor,
259
+ descriptionSize,
260
+ priceColor,
261
+ priceSize,
262
+ originalPriceColor,
263
+ metaTextColor,
264
+ metaTextSize,
265
+ showMetaText
135
266
  }
136
267
  )
137
- ] })
138
- ]
268
+ ]
269
+ },
270
+ item.id
271
+ );
272
+ }) });
273
+ }
274
+ var SCROLL_ITEM_WIDTH = 300;
275
+ var getImageUrl2 = (item) => {
276
+ return item.imageUrl || item.image;
277
+ };
278
+ var getAspectRatioClass2 = (ratio) => {
279
+ const ratios = {
280
+ square: "aspect-square",
281
+ landscape: "aspect-video",
282
+ portrait: "aspect-[3/4]"
283
+ };
284
+ return ratios[ratio];
285
+ };
286
+ var largeNumberSizes = {
287
+ xs: "8rem",
288
+ sm: "10rem",
289
+ md: "12rem",
290
+ lg: "14rem",
291
+ xl: "16rem",
292
+ "2xl": "20rem"
293
+ };
294
+ function OrderedList({
295
+ items,
296
+ scrollAxis,
297
+ gap,
298
+ borderRadius,
299
+ imageAspectRatio,
300
+ showBadge,
301
+ showFavorite,
302
+ padding,
303
+ itemTitleColor,
304
+ itemTitleSize,
305
+ descriptionColor,
306
+ descriptionSize,
307
+ priceColor,
308
+ priceSize,
309
+ originalPriceColor,
310
+ metaTextColor,
311
+ metaTextSize,
312
+ numberColor,
313
+ numberSize,
314
+ showMetaText
315
+ }) {
316
+ const scrollContainerRef = react.useRef(null);
317
+ const scrollByAmount = (direction) => {
318
+ const container = scrollContainerRef.current;
319
+ if (!container) return;
320
+ const computedGap = parseFloat(getComputedStyle(container).gap) || 0;
321
+ const scrollAmount = SCROLL_ITEM_WIDTH + computedGap;
322
+ container.scrollTo({
323
+ left: container.scrollLeft + (direction === "next" ? scrollAmount : -scrollAmount),
324
+ behavior: "smooth"
325
+ });
326
+ };
327
+ const contentProps = {
328
+ padding,
329
+ itemTitleColor,
330
+ itemTitleSize,
331
+ descriptionColor,
332
+ descriptionSize,
333
+ priceColor,
334
+ priceSize,
335
+ originalPriceColor,
336
+ metaTextColor,
337
+ metaTextSize,
338
+ showMetaText
339
+ };
340
+ if (scrollAxis === "horizontal") {
341
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
342
+ /* @__PURE__ */ jsxRuntime.jsx(
343
+ "div",
344
+ {
345
+ ref: scrollContainerRef,
346
+ className: `flex gap-${chunkJ6HCPXT5_cjs.gapValues[gap]} scrollbar-hide overflow-x-auto scroll-smooth`,
347
+ children: items.map((item, index) => {
348
+ const imageUrl = getImageUrl2(item);
349
+ const aspectRatioClass = getAspectRatioClass2(imageAspectRatio);
350
+ return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-[300px] flex-shrink-0", children: [
351
+ /* @__PURE__ */ jsxRuntime.jsx(
352
+ "div",
353
+ {
354
+ className: `absolute top-0 left-0 text-${numberColor} z-0 leading-none font-bold opacity-20`,
355
+ style: { fontSize: largeNumberSizes[numberSize] },
356
+ children: index + 1
357
+ }
358
+ ),
359
+ /* @__PURE__ */ jsxRuntime.jsxs(
360
+ "div",
361
+ {
362
+ className: `relative z-10 ml-20 rounded-${borderRadius} overflow-hidden bg-background shadow-sm transition-shadow hover:shadow-md`,
363
+ children: [
364
+ showBadge && item.discount && /* @__PURE__ */ jsxRuntime.jsx(DiscountBadge, { discount: item.discount }),
365
+ showFavorite && /* @__PURE__ */ jsxRuntime.jsx(FavoriteButton, {}),
366
+ imageUrl && /* @__PURE__ */ jsxRuntime.jsx(
367
+ "div",
368
+ {
369
+ className: `w-full ${aspectRatioClass} overflow-hidden`,
370
+ children: /* @__PURE__ */ jsxRuntime.jsx(
371
+ "img",
372
+ {
373
+ src: imageUrl,
374
+ alt: item.title || "Product",
375
+ className: "h-full w-full object-cover"
376
+ }
377
+ )
378
+ }
379
+ ),
380
+ /* @__PURE__ */ jsxRuntime.jsx(ListItemCardContent, { item, ...contentProps })
381
+ ]
382
+ }
383
+ )
384
+ ] }, item.id);
385
+ })
386
+ }
387
+ ),
388
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute inset-x-0 top-1/2 z-20 flex w-full -translate-y-1/2 items-center justify-between px-8", children: /* @__PURE__ */ jsxRuntime.jsx(
389
+ chunkQV3OAAEQ_cjs.ScrollArrows,
390
+ {
391
+ onPrevious: () => scrollByAmount("prev"),
392
+ onNext: () => scrollByAmount("next")
393
+ }
394
+ ) })
395
+ ] });
396
+ }
397
+ if (scrollAxis === "vertical") {
398
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex flex-col gap-${chunkJ6HCPXT5_cjs.gapValues[gap]}`, children: items.map((item, index) => {
399
+ const imageUrl = getImageUrl2(item);
400
+ return /* @__PURE__ */ jsxRuntime.jsxs(
401
+ "div",
402
+ {
403
+ className: `relative flex gap-${chunkJ6HCPXT5_cjs.gapValues[gap]} rounded-${borderRadius} overflow-hidden bg-background shadow-sm transition-shadow hover:shadow-md ${`p-${padding}`}`,
404
+ children: [
405
+ /* @__PURE__ */ jsxRuntime.jsx(
406
+ "div",
407
+ {
408
+ className: `flex-shrink-0 text-${numberColor} text-${numberSize === "md" ? "base" : numberSize} flex w-16 items-center justify-center font-bold`,
409
+ children: index + 1
410
+ }
411
+ ),
412
+ imageUrl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-24 w-24 flex-shrink-0 overflow-hidden rounded-md", children: /* @__PURE__ */ jsxRuntime.jsx(
413
+ "img",
414
+ {
415
+ src: imageUrl,
416
+ alt: item.title || "Product",
417
+ className: "h-full w-full object-cover"
418
+ }
419
+ ) }),
420
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex-1", children: /* @__PURE__ */ jsxRuntime.jsx(ListItemCardContent, { item, ...contentProps }) }),
421
+ showBadge && item.discount && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 right-2 rounded-md bg-destructive px-2 py-1 text-xs font-bold text-destructive-foreground", children: getStringValue(item.discount) }),
422
+ showFavorite && /* @__PURE__ */ jsxRuntime.jsx(FavoriteButton, { className: "absolute top-2 right-12 rounded-full bg-background/80 p-2 backdrop-blur-sm transition-colors hover:bg-background" })
423
+ ]
424
+ },
425
+ item.id
426
+ );
427
+ }) });
428
+ }
429
+ return null;
430
+ }
431
+ var DEFAULT_ITEMS = [];
432
+ function getFeaturedAssetUrl(value) {
433
+ if (!value) return void 0;
434
+ if (typeof value === "string") {
435
+ const isVideo = /\.(mp4|webm|ogg|mov)$/i.test(value);
436
+ return { url: value, isVideo };
437
+ }
438
+ if (typeof value === "object") {
439
+ const videoUrl = value.videoUrl || value.video_url || value.url;
440
+ if (videoUrl && /\.(mp4|webm|ogg|mov)$/i.test(videoUrl)) {
441
+ return { url: videoUrl, isVideo: true };
139
442
  }
140
- );
443
+ const imageUrl = value.imageUrl || value.image_url || value.url;
444
+ if (imageUrl) {
445
+ return { url: imageUrl, isVideo: false };
446
+ }
447
+ }
448
+ return void 0;
141
449
  }
142
450
  function ListWidget({
143
451
  listType = "unordered",
@@ -179,352 +487,25 @@ function ListWidget({
179
487
  className,
180
488
  ...props
181
489
  }) {
182
- const scrollContainerRef = react.useRef(null);
183
490
  const displayItems = maxItems ? items.slice(0, maxItems) : items;
184
491
  const hasItems = displayItems.length > 0;
185
- const largeNumberSizes = {
186
- xs: "8rem",
187
- sm: "10rem",
188
- md: "12rem",
189
- lg: "14rem",
190
- xl: "16rem",
191
- "2xl": "20rem"
192
- };
193
- const scrollByAmount = (direction) => {
194
- const container = scrollContainerRef.current;
195
- if (!container) return;
196
- const computedGap = parseFloat(getComputedStyle(container).gap) || 0;
197
- const scrollAmount = SCROLL_ITEM_WIDTH + computedGap;
198
- container.scrollTo({
199
- left: container.scrollLeft + (direction === "next" ? scrollAmount : -scrollAmount),
200
- behavior: "smooth"
201
- });
202
- };
203
- const renderUnorderedList = () => {
204
- const gridClass = getResponsiveGridClass(columns);
205
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `grid ${gridClass} gap-${chunkCM7D7WGL_cjs.gapValues[gap]}`, children: displayItems.map((item) => {
206
- const imageUrl = getImageUrl(item);
207
- const aspectRatioClass = getAspectRatioClass(imageAspectRatio);
208
- return /* @__PURE__ */ jsxRuntime.jsxs(
209
- "div",
210
- {
211
- className: `relative rounded-${borderRadius} overflow-hidden bg-background shadow-sm transition-shadow hover:shadow-md`,
212
- children: [
213
- showBadge && item.discount && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 right-2 z-10 rounded-md bg-destructive px-2 py-1 text-xs font-bold text-destructive-foreground", children: getStringValue(item.discount) }),
214
- showFavorite && /* @__PURE__ */ jsxRuntime.jsx("button", { className: "absolute top-2 left-2 z-10 rounded-full bg-background/80 p-2 backdrop-blur-sm transition-colors hover:bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
215
- "svg",
216
- {
217
- className: "h-5 w-5 text-muted-foreground",
218
- fill: "none",
219
- stroke: "currentColor",
220
- viewBox: "0 0 24 24",
221
- children: /* @__PURE__ */ jsxRuntime.jsx(
222
- "path",
223
- {
224
- strokeLinecap: "round",
225
- strokeLinejoin: "round",
226
- strokeWidth: 2,
227
- d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
228
- }
229
- )
230
- }
231
- ) }),
232
- imageUrl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: `w-full ${aspectRatioClass} overflow-hidden`, children: /* @__PURE__ */ jsxRuntime.jsx(
233
- "img",
234
- {
235
- src: imageUrl,
236
- alt: item.title || "Product",
237
- className: "h-full w-full object-cover"
238
- }
239
- ) }),
240
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `p-${padding}`, children: [
241
- item.title && /* @__PURE__ */ jsxRuntime.jsx(
242
- "h3",
243
- {
244
- className: `text-${itemTitleColor} text-${itemTitleSize === "md" ? "base" : itemTitleSize} mb-1 font-semibold`,
245
- children: getTextContent(item.title)
246
- }
247
- ),
248
- item.description && /* @__PURE__ */ jsxRuntime.jsx(
249
- "p",
250
- {
251
- className: `text-${descriptionColor} text-${descriptionSize === "md" ? "base" : descriptionSize} mb-2`,
252
- children: getTextContent(item.description)
253
- }
254
- ),
255
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
256
- item.price && /* @__PURE__ */ jsxRuntime.jsx(
257
- "span",
258
- {
259
- className: `text-${priceColor} text-${priceSize === "md" ? "base" : priceSize} font-bold`,
260
- children: getStringValue(item.price)
261
- }
262
- ),
263
- item.originalPrice && /* @__PURE__ */ jsxRuntime.jsx(
264
- "span",
265
- {
266
- className: `text-${originalPriceColor} text-${descriptionSize === "md" ? "base" : descriptionSize} line-through`,
267
- children: getStringValue(item.originalPrice)
268
- }
269
- )
270
- ] }),
271
- showMetaText && (item.qv || item.cv) && /* @__PURE__ */ jsxRuntime.jsxs(
272
- "div",
273
- {
274
- className: `mt-2 flex gap-3 text-${metaTextColor} text-${metaTextSize === "md" ? "base" : metaTextSize}`,
275
- children: [
276
- item.qv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
277
- "QV: ",
278
- getStringValue(item.qv)
279
- ] }),
280
- item.cv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
281
- "CV: ",
282
- getStringValue(item.cv)
283
- ] })
284
- ]
285
- }
286
- )
287
- ] })
288
- ]
289
- },
290
- item.id
291
- );
292
- }) });
293
- };
294
- const renderOrderedList = () => {
295
- const isHorizontal = scrollAxis === "horizontal";
296
- const isVertical = scrollAxis === "vertical";
297
- if (isHorizontal) {
298
- return /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative", children: [
299
- /* @__PURE__ */ jsxRuntime.jsx(
300
- "div",
301
- {
302
- ref: scrollContainerRef,
303
- className: `flex gap-${chunkCM7D7WGL_cjs.gapValues[gap]} scrollbar-hide overflow-x-auto scroll-smooth`,
304
- children: displayItems.map((item, index) => {
305
- const imageUrl = getImageUrl(item);
306
- const aspectRatioClass = getAspectRatioClass(imageAspectRatio);
307
- return /* @__PURE__ */ jsxRuntime.jsxs(
308
- "div",
309
- {
310
- className: `relative w-[300px] flex-shrink-0`,
311
- children: [
312
- /* @__PURE__ */ jsxRuntime.jsx(
313
- "div",
314
- {
315
- className: `absolute top-0 left-0 text-${numberColor} z-0 leading-none font-bold opacity-20`,
316
- style: { fontSize: largeNumberSizes[numberSize] },
317
- children: index + 1
318
- }
319
- ),
320
- /* @__PURE__ */ jsxRuntime.jsxs(
321
- "div",
322
- {
323
- className: `relative z-10 ml-20 rounded-${borderRadius} overflow-hidden bg-background shadow-sm transition-shadow hover:shadow-md`,
324
- children: [
325
- showBadge && item.discount && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 right-2 z-10 rounded-md bg-destructive px-2 py-1 text-xs font-bold text-destructive-foreground", children: getStringValue(item.discount) }),
326
- showFavorite && /* @__PURE__ */ jsxRuntime.jsx("button", { className: "absolute top-2 left-2 z-10 rounded-full bg-background/80 p-2 backdrop-blur-sm transition-colors hover:bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
327
- "svg",
328
- {
329
- className: "h-5 w-5 text-muted-foreground",
330
- fill: "none",
331
- stroke: "currentColor",
332
- viewBox: "0 0 24 24",
333
- children: /* @__PURE__ */ jsxRuntime.jsx(
334
- "path",
335
- {
336
- strokeLinecap: "round",
337
- strokeLinejoin: "round",
338
- strokeWidth: 2,
339
- d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
340
- }
341
- )
342
- }
343
- ) }),
344
- imageUrl && /* @__PURE__ */ jsxRuntime.jsx(
345
- "div",
346
- {
347
- className: `w-full ${aspectRatioClass} overflow-hidden`,
348
- children: /* @__PURE__ */ jsxRuntime.jsx(
349
- "img",
350
- {
351
- src: imageUrl,
352
- alt: item.title || "Product",
353
- className: "h-full w-full object-cover"
354
- }
355
- )
356
- }
357
- ),
358
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: `p-${padding}`, children: [
359
- item.title && /* @__PURE__ */ jsxRuntime.jsx(
360
- "h3",
361
- {
362
- className: `text-${itemTitleColor} text-${itemTitleSize === "md" ? "base" : itemTitleSize} mb-1 font-semibold`,
363
- children: getTextContent(item.title)
364
- }
365
- ),
366
- item.description && /* @__PURE__ */ jsxRuntime.jsx(
367
- "p",
368
- {
369
- className: `text-${descriptionColor} text-${descriptionSize === "md" ? "base" : descriptionSize} mb-2`,
370
- children: getTextContent(item.description)
371
- }
372
- ),
373
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
374
- item.price && /* @__PURE__ */ jsxRuntime.jsx(
375
- "span",
376
- {
377
- className: `text-${priceColor} text-${priceSize === "md" ? "base" : priceSize} font-bold`,
378
- children: getStringValue(item.price)
379
- }
380
- ),
381
- item.originalPrice && /* @__PURE__ */ jsxRuntime.jsx(
382
- "span",
383
- {
384
- className: `text-${originalPriceColor} text-${descriptionSize === "md" ? "base" : descriptionSize} line-through`,
385
- children: getStringValue(item.originalPrice)
386
- }
387
- )
388
- ] }),
389
- showMetaText && (item.qv || item.cv) && /* @__PURE__ */ jsxRuntime.jsxs(
390
- "div",
391
- {
392
- className: `mt-2 flex gap-3 text-${metaTextColor} text-${metaTextSize === "md" ? "base" : metaTextSize}`,
393
- children: [
394
- item.qv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
395
- "QV: ",
396
- getStringValue(item.qv)
397
- ] }),
398
- item.cv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
399
- "CV: ",
400
- getStringValue(item.cv)
401
- ] })
402
- ]
403
- }
404
- )
405
- ] })
406
- ]
407
- }
408
- )
409
- ]
410
- },
411
- item.id
412
- );
413
- })
414
- }
415
- ),
416
- /* @__PURE__ */ jsxRuntime.jsx(
417
- "div",
418
- {
419
- className: `absolute inset-x-0 top-1/2 z-20 flex w-full -translate-y-1/2 items-center justify-between px-8`,
420
- children: /* @__PURE__ */ jsxRuntime.jsx(
421
- chunkQV3OAAEQ_cjs.ScrollArrows,
422
- {
423
- onPrevious: () => scrollByAmount("prev"),
424
- onNext: () => scrollByAmount("next")
425
- }
426
- )
427
- }
428
- )
429
- ] });
430
- }
431
- if (isVertical) {
432
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: `flex flex-col gap-${chunkCM7D7WGL_cjs.gapValues[gap]}`, children: displayItems.map((item, index) => {
433
- const imageUrl = getImageUrl(item);
434
- return /* @__PURE__ */ jsxRuntime.jsxs(
435
- "div",
436
- {
437
- className: `relative flex gap-${chunkCM7D7WGL_cjs.gapValues[gap]} rounded-${borderRadius} overflow-hidden bg-background shadow-sm transition-shadow hover:shadow-md ${`p-${padding}`}`,
438
- children: [
439
- /* @__PURE__ */ jsxRuntime.jsx(
440
- "div",
441
- {
442
- className: `flex-shrink-0 text-${numberColor} text-${numberSize === "md" ? "base" : numberSize} flex w-16 items-center justify-center font-bold`,
443
- children: index + 1
444
- }
445
- ),
446
- imageUrl && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "h-24 w-24 flex-shrink-0 overflow-hidden rounded-md", children: /* @__PURE__ */ jsxRuntime.jsx(
447
- "img",
448
- {
449
- src: imageUrl,
450
- alt: item.title || "Product",
451
- className: "h-full w-full object-cover"
452
- }
453
- ) }),
454
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex-1", children: [
455
- item.title && /* @__PURE__ */ jsxRuntime.jsx(
456
- "h3",
457
- {
458
- className: `text-${itemTitleColor} text-${itemTitleSize === "md" ? "base" : itemTitleSize} mb-1 font-semibold`,
459
- children: getTextContent(item.title)
460
- }
461
- ),
462
- item.description && /* @__PURE__ */ jsxRuntime.jsx(
463
- "p",
464
- {
465
- className: `text-${descriptionColor} text-${descriptionSize === "md" ? "base" : descriptionSize} mb-2`,
466
- children: getTextContent(item.description)
467
- }
468
- ),
469
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-2", children: [
470
- item.price && /* @__PURE__ */ jsxRuntime.jsx(
471
- "span",
472
- {
473
- className: `text-${priceColor} text-${priceSize === "md" ? "base" : priceSize} font-bold`,
474
- children: getStringValue(item.price)
475
- }
476
- ),
477
- item.originalPrice && /* @__PURE__ */ jsxRuntime.jsx(
478
- "span",
479
- {
480
- className: `text-${originalPriceColor} text-${descriptionSize === "md" ? "base" : descriptionSize} line-through`,
481
- children: getStringValue(item.originalPrice)
482
- }
483
- )
484
- ] }),
485
- showMetaText && (item.qv || item.cv) && /* @__PURE__ */ jsxRuntime.jsxs(
486
- "div",
487
- {
488
- className: `mt-2 flex gap-3 text-${metaTextColor} text-${metaTextSize === "md" ? "base" : metaTextSize}`,
489
- children: [
490
- item.qv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
491
- "QV: ",
492
- getStringValue(item.qv)
493
- ] }),
494
- item.cv && /* @__PURE__ */ jsxRuntime.jsxs("span", { children: [
495
- "CV: ",
496
- getStringValue(item.cv)
497
- ] })
498
- ]
499
- }
500
- )
501
- ] }),
502
- showBadge && item.discount && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute top-2 right-2 rounded-md bg-destructive px-2 py-1 text-xs font-bold text-destructive-foreground", children: getStringValue(item.discount) }),
503
- showFavorite && /* @__PURE__ */ jsxRuntime.jsx("button", { className: "absolute top-2 right-12 rounded-full bg-background/80 p-2 backdrop-blur-sm transition-colors hover:bg-background", children: /* @__PURE__ */ jsxRuntime.jsx(
504
- "svg",
505
- {
506
- className: "h-5 w-5 text-muted-foreground",
507
- fill: "none",
508
- stroke: "currentColor",
509
- viewBox: "0 0 24 24",
510
- children: /* @__PURE__ */ jsxRuntime.jsx(
511
- "path",
512
- {
513
- strokeLinecap: "round",
514
- strokeLinejoin: "round",
515
- strokeWidth: 2,
516
- d: "M4.318 6.318a4.5 4.5 0 000 6.364L12 20.364l7.682-7.682a4.5 4.5 0 00-6.364-6.364L12 7.636l-1.318-1.318a4.5 4.5 0 00-6.364 0z"
517
- }
518
- )
519
- }
520
- ) })
521
- ]
522
- },
523
- item.id
524
- );
525
- }) });
526
- }
527
- return null;
492
+ const itemStyleProps = {
493
+ padding,
494
+ itemTitleColor,
495
+ itemTitleSize,
496
+ descriptionColor,
497
+ descriptionSize,
498
+ priceColor,
499
+ priceSize,
500
+ originalPriceColor,
501
+ metaTextColor,
502
+ metaTextSize,
503
+ showMetaText,
504
+ showBadge,
505
+ showFavorite,
506
+ borderRadius,
507
+ imageAspectRatio,
508
+ gap
528
509
  };
529
510
  const hasFeaturedAsset = getFeaturedAssetUrl(featuredAsset);
530
511
  const shouldShowFeaturedSection = showFeaturedSection && hasFeaturedAsset;
@@ -548,19 +529,51 @@ function ListWidget({
548
529
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full @lg:w-[45%]", children: /* @__PURE__ */ jsxRuntime.jsx(
549
530
  FeaturedSection,
550
531
  {
551
- featuredAsset,
532
+ borderRadius,
533
+ titleSize,
552
534
  featuredTitle,
553
535
  featuredSubtitle,
554
536
  featuredButtonText,
555
537
  featuredButtonUrl,
556
538
  featuredSubtitleColor,
557
539
  featuredSubtitleSize,
558
- titleSize,
559
- borderRadius
540
+ asset: hasFeaturedAsset
560
541
  }
561
542
  ) }),
562
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full @lg:w-[55%]", children: listType === "unordered" ? renderUnorderedList() : renderOrderedList() })
563
- ] }) : listType === "unordered" ? renderUnorderedList() : renderOrderedList()
543
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: "w-full @lg:w-[55%]", children: listType === "unordered" ? /* @__PURE__ */ jsxRuntime.jsx(
544
+ UnorderedList,
545
+ {
546
+ items: displayItems,
547
+ columns,
548
+ ...itemStyleProps
549
+ }
550
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
551
+ OrderedList,
552
+ {
553
+ items: displayItems,
554
+ scrollAxis,
555
+ numberColor,
556
+ numberSize,
557
+ ...itemStyleProps
558
+ }
559
+ ) })
560
+ ] }) : listType === "unordered" ? /* @__PURE__ */ jsxRuntime.jsx(
561
+ UnorderedList,
562
+ {
563
+ items: displayItems,
564
+ columns,
565
+ ...itemStyleProps
566
+ }
567
+ ) : /* @__PURE__ */ jsxRuntime.jsx(
568
+ OrderedList,
569
+ {
570
+ items: displayItems,
571
+ scrollAxis,
572
+ numberColor,
573
+ numberSize,
574
+ ...itemStyleProps
575
+ }
576
+ )
564
577
  ]
565
578
  }
566
579
  );
@@ -594,7 +607,7 @@ var listWidgetPropertySchema = {
594
607
  group: "Title",
595
608
  requiresKeyToBeTrue: "titleEnabled"
596
609
  },
597
- chunkCM7D7WGL_cjs.getFontSizeField({
610
+ chunkJ6HCPXT5_cjs.getFontSizeField({
598
611
  key: "titleSize",
599
612
  label: "Title Font Size",
600
613
  description: "Size of the list title",
@@ -603,7 +616,7 @@ var listWidgetPropertySchema = {
603
616
  group: "Title",
604
617
  requiresKeyToBeTrue: "titleEnabled"
605
618
  }),
606
- chunkCM7D7WGL_cjs.getColorField({
619
+ chunkJ6HCPXT5_cjs.getColorField({
607
620
  key: "titleColor",
608
621
  label: "Title Color",
609
622
  description: "Color for the list title",
@@ -613,7 +626,7 @@ var listWidgetPropertySchema = {
613
626
  requiresKeyToBeTrue: "titleEnabled"
614
627
  }),
615
628
  // Styling tab - Design group
616
- chunkCM7D7WGL_cjs.getPaddingField({
629
+ chunkJ6HCPXT5_cjs.getPaddingField({
617
630
  key: "padding",
618
631
  label: "Padding",
619
632
  description: "Padding inside the container",
@@ -621,7 +634,7 @@ var listWidgetPropertySchema = {
621
634
  tab: "styling",
622
635
  group: "Design"
623
636
  }),
624
- chunkCM7D7WGL_cjs.getBorderRadiusField({
637
+ chunkJ6HCPXT5_cjs.getBorderRadiusField({
625
638
  key: "borderRadius",
626
639
  label: "Border Radius",
627
640
  description: "Rounded corners for the container and images",
@@ -629,7 +642,7 @@ var listWidgetPropertySchema = {
629
642
  tab: "styling",
630
643
  group: "Design"
631
644
  }),
632
- chunkCM7D7WGL_cjs.getGapField({
645
+ chunkJ6HCPXT5_cjs.getGapField({
633
646
  key: "gap",
634
647
  label: "Gap",
635
648
  description: "Spacing between items",
@@ -742,7 +755,7 @@ var listWidgetPropertySchema = {
742
755
  group: "Ordered List Configuration",
743
756
  requiresKeyValue: { key: "listType", value: "ordered" }
744
757
  },
745
- chunkCM7D7WGL_cjs.getColorField({
758
+ chunkJ6HCPXT5_cjs.getColorField({
746
759
  key: "numberColor",
747
760
  label: "Number Color",
748
761
  description: "Color for ordered list numbers",
@@ -751,7 +764,7 @@ var listWidgetPropertySchema = {
751
764
  group: "Ordered List Configuration",
752
765
  requiresKeyValue: { key: "listType", value: "ordered" }
753
766
  }),
754
- chunkCM7D7WGL_cjs.getFontSizeField({
767
+ chunkJ6HCPXT5_cjs.getFontSizeField({
755
768
  key: "numberSize",
756
769
  label: "Number Font Size",
757
770
  description: "Size of ordered list numbers",
@@ -761,7 +774,7 @@ var listWidgetPropertySchema = {
761
774
  requiresKeyValue: { key: "listType", value: "ordered" }
762
775
  }),
763
776
  // Styling tab - Item Styling group
764
- chunkCM7D7WGL_cjs.getColorField({
777
+ chunkJ6HCPXT5_cjs.getColorField({
765
778
  key: "itemTitleColor",
766
779
  label: "Item Title Color",
767
780
  description: "Color for item titles",
@@ -769,7 +782,7 @@ var listWidgetPropertySchema = {
769
782
  tab: "styling",
770
783
  group: "Item Styling"
771
784
  }),
772
- chunkCM7D7WGL_cjs.getFontSizeField({
785
+ chunkJ6HCPXT5_cjs.getFontSizeField({
773
786
  key: "itemTitleSize",
774
787
  label: "Item Title Font Size",
775
788
  description: "Size of item titles",
@@ -784,7 +797,7 @@ var listWidgetPropertySchema = {
784
797
  tab: "styling",
785
798
  group: "Item Styling"
786
799
  },
787
- chunkCM7D7WGL_cjs.getColorField({
800
+ chunkJ6HCPXT5_cjs.getColorField({
788
801
  key: "priceColor",
789
802
  label: "Price Color",
790
803
  description: "Color for prices",
@@ -792,7 +805,7 @@ var listWidgetPropertySchema = {
792
805
  tab: "styling",
793
806
  group: "Item Styling"
794
807
  }),
795
- chunkCM7D7WGL_cjs.getFontSizeField({
808
+ chunkJ6HCPXT5_cjs.getFontSizeField({
796
809
  key: "priceSize",
797
810
  label: "Price Font Size",
798
811
  description: "Size of prices",
@@ -800,7 +813,7 @@ var listWidgetPropertySchema = {
800
813
  tab: "styling",
801
814
  group: "Item Styling"
802
815
  }),
803
- chunkCM7D7WGL_cjs.getColorField({
816
+ chunkJ6HCPXT5_cjs.getColorField({
804
817
  key: "originalPriceColor",
805
818
  label: "Original Price Color",
806
819
  description: "Color for crossed-out original prices",
@@ -815,7 +828,7 @@ var listWidgetPropertySchema = {
815
828
  tab: "styling",
816
829
  group: "Item Styling"
817
830
  },
818
- chunkCM7D7WGL_cjs.getColorField({
831
+ chunkJ6HCPXT5_cjs.getColorField({
819
832
  key: "metaTextColor",
820
833
  label: "Meta Text Color",
821
834
  description: "Color for QV/CV text",
@@ -823,7 +836,7 @@ var listWidgetPropertySchema = {
823
836
  tab: "styling",
824
837
  group: "Item Styling"
825
838
  }),
826
- chunkCM7D7WGL_cjs.getFontSizeField({
839
+ chunkJ6HCPXT5_cjs.getFontSizeField({
827
840
  key: "metaTextSize",
828
841
  label: "Meta Text Font Size",
829
842
  description: "Size of QV/CV text",
@@ -887,7 +900,7 @@ var listWidgetPropertySchema = {
887
900
  group: "Featured Section",
888
901
  requiresKeyToBeTrue: "showFeaturedSection"
889
902
  },
890
- chunkCM7D7WGL_cjs.getColorField({
903
+ chunkJ6HCPXT5_cjs.getColorField({
891
904
  key: "featuredSubtitleColor",
892
905
  label: "Featured Subtitle Color",
893
906
  description: "Color for featured subtitle",
@@ -896,7 +909,7 @@ var listWidgetPropertySchema = {
896
909
  group: "Featured Section",
897
910
  requiresKeyToBeTrue: "showFeaturedSection"
898
911
  }),
899
- chunkCM7D7WGL_cjs.getFontSizeField({
912
+ chunkJ6HCPXT5_cjs.getFontSizeField({
900
913
  key: "featuredSubtitleSize",
901
914
  label: "Featured Subtitle Font Size",
902
915
  description: "Size of featured subtitle",
@@ -973,5 +986,5 @@ var listWidgetPropertySchema = {
973
986
 
974
987
  exports.ListWidget = ListWidget;
975
988
  exports.listWidgetPropertySchema = listWidgetPropertySchema;
976
- //# sourceMappingURL=chunk-64HIILUF.cjs.map
977
- //# sourceMappingURL=chunk-64HIILUF.cjs.map
989
+ //# sourceMappingURL=chunk-SH2YPW2J.cjs.map
990
+ //# sourceMappingURL=chunk-SH2YPW2J.cjs.map