@geowiki/cms 0.15.0-dev.1

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 (98) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +55 -0
  3. package/dist/BannerFollowLinksWidget-26TXCSTL.mjs +21 -0
  4. package/dist/CardGridWidget-VZIU6X63.mjs +7 -0
  5. package/dist/CardWidget-7UX7ACLE.mjs +7 -0
  6. package/dist/ColumnWidget-XEDFONE6.mjs +7 -0
  7. package/dist/ContactCardsWidget-KRR6IY4X.mjs +95 -0
  8. package/dist/ContactWidget-WJH7K4FN.mjs +7 -0
  9. package/dist/ContainerWidget-6T555RQD.mjs +8 -0
  10. package/dist/DownloadQuestWidget-EVKBU33Z.mjs +86 -0
  11. package/dist/EntityListWidget-JC6UCIP5.mjs +7 -0
  12. package/dist/FarmerClusterFinderWidget-YENEGEZN.mjs +7 -0
  13. package/dist/FeatureRowWidget-YXCRZBKZ.mjs +7 -0
  14. package/dist/FeatureRowWithImageWidget-RDAGTLCL.mjs +7 -0
  15. package/dist/FeatureRowWithMultipleImagesWidget-NWLWBI3L.mjs +7 -0
  16. package/dist/GalleryWidget-7A3FR3Y7.mjs +7 -0
  17. package/dist/H2BodyInternalLinkMapWidget-T7MARJTA.mjs +78 -0
  18. package/dist/HeaderBodyWidget-ZW2WYKNP.mjs +27 -0
  19. package/dist/HeaderWidget-DUNY7APY.mjs +7 -0
  20. package/dist/HeadingTextWidget-YC36BLDY.mjs +6 -0
  21. package/dist/HeroCenterTextWidget-5LDZNUBR.mjs +7 -0
  22. package/dist/HeroMap-AT3N4ZVZ.mjs +164 -0
  23. package/dist/HeroWidget-A4ODJCXZ.mjs +7 -0
  24. package/dist/IframeWidget-DPA25ZE2.mjs +17 -0
  25. package/dist/ImageLeftH3BodyLinkWidget-JMALBJVD.mjs +26 -0
  26. package/dist/ImageLefttH3BodyWidget-2YAEQZHJ.mjs +26 -0
  27. package/dist/ImageWidget-JWDKESIB.mjs +7 -0
  28. package/dist/LanguagesWidget-OENZMIFA.mjs +61 -0
  29. package/dist/MapHeroWidget-MLNO6KKC.mjs +7 -0
  30. package/dist/MarkdownWidget-QTTNNVQW.mjs +7 -0
  31. package/dist/NewContactUsWidget-R5TILYPP.mjs +237 -0
  32. package/dist/NewTestimonialsWidget-CVFZM2UI.mjs +17 -0
  33. package/dist/NewfeedPreviewWidget-VM6ZMYGO.mjs +25 -0
  34. package/dist/NewsFeedWidget-4W7T4H2P.mjs +22 -0
  35. package/dist/NewsLetterWidget-PMR355EB.mjs +7 -0
  36. package/dist/QuestMapClient-B6LGGSGT.mjs +120 -0
  37. package/dist/QuestMapWidget-5JIFDDUO.mjs +22 -0
  38. package/dist/ResourceCollectionItemWidget-QXAJEPCN.mjs +7 -0
  39. package/dist/ResourceCollectionsWidget-KZ5HD3PG.mjs +8 -0
  40. package/dist/ResourceQuickFindWidget-S3OJV3GF.mjs +9 -0
  41. package/dist/RowWidget-VSVZUIYH.mjs +7 -0
  42. package/dist/SelectQuestWidget-YGZ5TFLV.mjs +161 -0
  43. package/dist/SignUpBannerWidget-R77S5VSL.mjs +27 -0
  44. package/dist/SimpleActionListWidget-NF32S56W.mjs +7 -0
  45. package/dist/SimpleCallToActionWidget-3LI6HMJR.mjs +7 -0
  46. package/dist/SixClusterNewsWidget-5DDHGLAI.mjs +11 -0
  47. package/dist/SpecialFeaturesWidget-ZWILQPVB.mjs +7 -0
  48. package/dist/StatsWidget-4MISF6XB.mjs +7 -0
  49. package/dist/SubtitleH2BodyVideoWidget-CP7T4FJ6.mjs +24 -0
  50. package/dist/SubtitleH3BodyInternalLinkListWidget-KFP3TIKE.mjs +25 -0
  51. package/dist/SubtitleH3BodySpecialFeatureResourceCollectionsWidget-62SJ4J73.mjs +37 -0
  52. package/dist/SubtitleH3BodyWidget-7XGVXSMR.mjs +35 -0
  53. package/dist/SubtitleH3ChildrenWidget-CA3TR726.mjs +40 -0
  54. package/dist/SubtitleH3FaqWidget-VXVV7TUL.mjs +78 -0
  55. package/dist/SubtitleH3KeyResourcesWidget-AGBBJ7ZJ.mjs +24 -0
  56. package/dist/SubtitleH3ResourceCollectionsWidget-IBDVHMSC.mjs +37 -0
  57. package/dist/TestimonialListWidget-5OKZ5TQQ.mjs +7 -0
  58. package/dist/UpdateUserInfoWidget-4I6RJQ5M.mjs +7 -0
  59. package/dist/UserInfoWidget-AS53SE7B.mjs +7 -0
  60. package/dist/VideoWidget-YRR7FCDN.mjs +18 -0
  61. package/dist/chunk-4AG2CMM3.mjs +86 -0
  62. package/dist/chunk-AO6SFQGL.mjs +20 -0
  63. package/dist/chunk-AQKMITUZ.mjs +52 -0
  64. package/dist/chunk-DED6JF7X.mjs +335 -0
  65. package/dist/chunk-DMKIIBTI.mjs +11 -0
  66. package/dist/chunk-DVN7SXOC.mjs +131 -0
  67. package/dist/chunk-ECRLCFXK.mjs +65 -0
  68. package/dist/chunk-ER4KI2WR.mjs +24 -0
  69. package/dist/chunk-FQ57AT5X.mjs +51 -0
  70. package/dist/chunk-HLTYOLFG.mjs +20 -0
  71. package/dist/chunk-J7SY757T.mjs +44 -0
  72. package/dist/chunk-JJWETKAK.mjs +18 -0
  73. package/dist/chunk-JNVPTKNZ.mjs +20 -0
  74. package/dist/chunk-KR42WXX4.mjs +18 -0
  75. package/dist/chunk-LIPPN7U2.mjs +25 -0
  76. package/dist/chunk-MR3ABJDZ.mjs +30 -0
  77. package/dist/chunk-NSGNUHUW.mjs +28 -0
  78. package/dist/chunk-O6WFR4J5.mjs +10 -0
  79. package/dist/chunk-OCSKL7XJ.mjs +34 -0
  80. package/dist/chunk-QDEIIXMC.mjs +52 -0
  81. package/dist/chunk-QYIHQTW5.mjs +46 -0
  82. package/dist/chunk-RXVHS4OJ.mjs +24 -0
  83. package/dist/chunk-SNHJDG24.mjs +44 -0
  84. package/dist/chunk-UGGGP7ZA.mjs +166 -0
  85. package/dist/chunk-UYS3OVMP.mjs +9 -0
  86. package/dist/chunk-VFXOGW3A.mjs +10 -0
  87. package/dist/chunk-VFYJ2I2X.mjs +45 -0
  88. package/dist/chunk-VHLUUHQ3.mjs +43 -0
  89. package/dist/chunk-VKH6K2KB.mjs +33 -0
  90. package/dist/chunk-XF76SGFU.mjs +10 -0
  91. package/dist/chunk-XR7AIYAA.mjs +112 -0
  92. package/dist/html-section-CWKFJCXX.mjs +7 -0
  93. package/dist/index.d.mts +185 -0
  94. package/dist/index.d.ts +185 -0
  95. package/dist/index.js +3990 -0
  96. package/dist/index.mjs +343 -0
  97. package/dist/styles.css +1 -0
  98. package/package.json +79 -0
@@ -0,0 +1,78 @@
1
+ // src/components/Section/SubtitleH3FaqWidget.tsx
2
+ import { SubtitleH3Faq, DesignCustomLink, HtmlView } from "@geowiki/ui";
3
+ import { v4 } from "uuid";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var SubtitleH3FaqWidget = ({ data }) => {
6
+ var type = data.SubtitleH3Faq.Type.Text;
7
+ var bgColor = data.SubtitleH3Faq.BackgroundColor?.Text;
8
+ const backgroundColor = (color) => {
9
+ switch (color) {
10
+ case "transparent":
11
+ return "";
12
+ case "lightPurple":
13
+ return "bg-accent-secondary";
14
+ case "green":
15
+ return "bg-primary text-white";
16
+ }
17
+ };
18
+ const addLinksStyles = (text) => {
19
+ const textToAdd = " class='text-primary font-semibold'";
20
+ const regex = /(<a(?=[^>]*>))/g;
21
+ const modifiedText = text?.replace(regex, `$1${textToAdd}`);
22
+ return modifiedText;
23
+ };
24
+ if (type === "withText") {
25
+ const faqs = data.BagPart.ContentItems.map((contentItem) => ({
26
+ question: contentItem.Faq.Question.Text,
27
+ answer: /* @__PURE__ */ jsx(
28
+ HtmlView,
29
+ {
30
+ cssClass: "m-0",
31
+ html: addLinksStyles(contentItem.Faq.AnswerText?.Html)
32
+ }
33
+ ),
34
+ hint: contentItem.Faq.Hint.Text
35
+ }));
36
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
37
+ SubtitleH3Faq,
38
+ {
39
+ title: data.TitlePart.Title,
40
+ subtitle: data.SubtitleH3Faq.Subtitle.Text,
41
+ description: data.SubtitleH3Faq.Description?.Text,
42
+ faqs,
43
+ backgroundColor: backgroundColor(bgColor)
44
+ }
45
+ ) });
46
+ }
47
+ if (type === "withLinkList") {
48
+ var textColorLink = bgColor === "green" ? "white" : "black";
49
+ const faqs = data.BagPart.ContentItems.map((contentItem) => ({
50
+ question: contentItem.Faq.Question.Text,
51
+ answer: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 space-y-4", children: contentItem.BagPart.ContentItems.map((contentItem2) => /* @__PURE__ */ jsx(
52
+ DesignCustomLink,
53
+ {
54
+ linkText: contentItem2.Link?.Text?.Text,
55
+ href: contentItem2.Link?.Url?.Text,
56
+ isNewTab: contentItem2.Link?.IsNewTab?.Value,
57
+ fillColor: `fill-${textColorLink}`,
58
+ className: `text-${textColorLink}`
59
+ },
60
+ v4()
61
+ )) }),
62
+ hint: /* @__PURE__ */ jsx(HtmlView, { cssClass: "m-0", html: contentItem.Faq.Hint.Text })
63
+ }));
64
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
65
+ SubtitleH3Faq,
66
+ {
67
+ title: data.TitlePart.Title,
68
+ subtitle: data.SubtitleH3Faq.Subtitle.Text,
69
+ description: data.SubtitleH3Faq.Description?.Text,
70
+ faqs,
71
+ backgroundColor: backgroundColor(bgColor)
72
+ }
73
+ ) });
74
+ }
75
+ };
76
+ export {
77
+ SubtitleH3FaqWidget
78
+ };
@@ -0,0 +1,24 @@
1
+ // src/components/Section/Recodo/SubtitleH3KeyResourcesWidget.tsx
2
+ import { SubtitleH3KeyResources } from "@geowiki/recodo";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var SubtitleH3KeyResourcesWidget = ({
5
+ data
6
+ }) => {
7
+ const keyResources = data.BagPart.ContentItems.map((contentItem) => ({
8
+ imagePath: contentItem.KeyResourceItem?.Image?.Paths[0],
9
+ title: contentItem.TitlePart?.Title,
10
+ subtitle: contentItem.KeyResourceItem.Subtitle?.Text,
11
+ path: contentItem.KeyResourceItem.Link?.Url
12
+ }));
13
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
14
+ SubtitleH3KeyResources,
15
+ {
16
+ title: data.TitlePart?.Title,
17
+ subtitle: data.SubtitleH3KeyResources?.Subtitle?.Text,
18
+ keyResources
19
+ }
20
+ ) });
21
+ };
22
+ export {
23
+ SubtitleH3KeyResourcesWidget
24
+ };
@@ -0,0 +1,37 @@
1
+ "use client";
2
+
3
+ // src/components/Section/SubtitleH3ResourceCollectionsWidget.tsx
4
+ import { SubtitleH3ResourceCollections } from "@geowiki/recodo";
5
+ import { ArrowRight } from "lucide-react";
6
+ import { jsx } from "react/jsx-runtime";
7
+ var SubtitleH3ResourceCollectionsWidget = ({
8
+ data
9
+ }) => {
10
+ const resourceCollections = data.BagPart.ContentItems.map(
11
+ (contentItem) => ({
12
+ title: contentItem.NewResourceCollectionItem.Title?.Text,
13
+ type: contentItem.NewResourceCollectionItem.Subtitle?.Text,
14
+ text: contentItem.NewResourceCollectionItem.Text?.Text,
15
+ icon: contentItem.NewResourceCollectionItem.Icon?.Text,
16
+ button: {
17
+ link: contentItem.NewResourceCollectionItem.Link?.Text,
18
+ isNewTab: contentItem.NewResourceCollectionItem.IsNewTab?.Value,
19
+ variant: "circle",
20
+ size: "sm",
21
+ contents: /* @__PURE__ */ jsx(ArrowRight, { className: "h-6 w-10 my-2" }),
22
+ className: "w-12 h-12 p-2"
23
+ }
24
+ })
25
+ );
26
+ return /* @__PURE__ */ jsx("div", { className: "mt-8 lg:mt-24", children: /* @__PURE__ */ jsx(
27
+ SubtitleH3ResourceCollections,
28
+ {
29
+ title: data.TitlePart?.Title,
30
+ subtitle: data.SubtitleH3ResourceCollections?.Subtitle?.Text,
31
+ resourceCollections
32
+ }
33
+ ) });
34
+ };
35
+ export {
36
+ SubtitleH3ResourceCollectionsWidget
37
+ };
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import {
3
+ TestimonialListWidget
4
+ } from "./chunk-AQKMITUZ.mjs";
5
+ export {
6
+ TestimonialListWidget
7
+ };
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import {
3
+ UpdateUserInfoWidget
4
+ } from "./chunk-O6WFR4J5.mjs";
5
+ export {
6
+ UpdateUserInfoWidget
7
+ };
@@ -0,0 +1,7 @@
1
+ "use client";
2
+ import {
3
+ UserInfoWidget
4
+ } from "./chunk-VFXOGW3A.mjs";
5
+ export {
6
+ UserInfoWidget
7
+ };
@@ -0,0 +1,18 @@
1
+ // src/components/Section/VideoWidget.tsx
2
+ import dynamic from "next/dynamic";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var ReactPlayer = dynamic(() => import("react-player"), { ssr: false });
5
+ var VideoWidget = ({ data }) => {
6
+ return /* @__PURE__ */ jsx("div", { className: "mx-auto lg:container w-full lg:w-[60%] pt-10 h-[260px] lg:h-[505px]", children: /* @__PURE__ */ jsx(
7
+ ReactPlayer,
8
+ {
9
+ url: data.LinkPart?.Url?.Text,
10
+ controls: true,
11
+ width: "100%",
12
+ height: "100%"
13
+ }
14
+ ) });
15
+ };
16
+ export {
17
+ VideoWidget
18
+ };
@@ -0,0 +1,86 @@
1
+ // src/components/Section/EntityListWidget.tsx
2
+ import { useState } from "react";
3
+ import { useAllNewsFromAllClusters } from "@geowiki/core";
4
+ import { LoaderFull } from "@geowiki/ui";
5
+ import { Pagination } from "@geowiki/ui";
6
+ import { useFileUrl } from "@geowiki/core";
7
+ import { useAppConfig } from "@geowiki/core";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ var EntityListWidget = ({ data }) => {
10
+ const { data: appData } = useAppConfig();
11
+ const NumberOfEntity = data?.EntityList?.NumberofEntity?.Value === null || data?.EntityList?.NumberofEntity?.Value === void 0 ? 4 : data?.EntityList?.NumberofEntity?.Value;
12
+ const [Skip, setSkip] = useState(0);
13
+ const fileUrl = useFileUrl();
14
+ const { data: clusterNews, isLoading } = useAllNewsFromAllClusters(
15
+ "CreationTime",
16
+ Skip * NumberOfEntity,
17
+ NumberOfEntity
18
+ );
19
+ if (isLoading)
20
+ return /* @__PURE__ */ jsx(LoaderFull, {});
21
+ if (!isLoading && clusterNews?.totalCount == 0)
22
+ return /* @__PURE__ */ jsx("span", { className: "flex items-center justify-center m-10", children: "No News" });
23
+ else
24
+ return /* @__PURE__ */ jsxs("div", { id: "news", className: "container mx-auto px-4 py-16 ", children: [
25
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col mb-6 lg:justify-between lg:flex-row md:mb-8", children: [
26
+ /* @__PURE__ */ jsxs("h2", { className: "max-w-lg mb-5 text-3xl font-bold tracking-tight sm:text-4xl sm:leading-none md:mb-6 group", children: [
27
+ /* @__PURE__ */ jsx("span", { className: "inline-block mb-1 sm:mb-4", children: data?.EntityList?.MainText?.Text }),
28
+ /* @__PURE__ */ jsx("div", { className: "h-1 ml-auto duration-300 origin-left transform bg-deep-purple-accent-400 scale-x-30 group-hover:scale-x-100" })
29
+ ] }),
30
+ /* @__PURE__ */ jsx("p", { className: "text-xl lg:max-w-md", children: data?.EntityList?.SubText?.Text })
31
+ ] }),
32
+ clusterNews !== null && clusterNews !== void 0 && clusterNews.items !== void 0 && clusterNews.items.length > 0 ? /* @__PURE__ */ jsxs("div", { children: [
33
+ /* @__PURE__ */ jsx(
34
+ "div",
35
+ {
36
+ className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-8",
37
+ children: clusterNews?.items?.slice(0, NumberOfEntity).map((news, index) => /* @__PURE__ */ jsx(
38
+ "a",
39
+ {
40
+ href: "/cluster/" + news.clusterId + "/news/" + news.id + (appData?.currentUser?.id == news.creatorId ? "?view=edit" : ""),
41
+ rel: "noreferrer",
42
+ target: "_blank",
43
+ "aria-label": "View Item",
44
+ children: /* @__PURE__ */ jsxs("div", { className: "relative overflow-hidden transition duration-200 transform rounded shadow-lg hover:-translate-y-2 hover:shadow-2xl", children: [
45
+ /* @__PURE__ */ jsx(
46
+ "img",
47
+ {
48
+ className: "object-cover w-full h-56 md:h-64 xl:h-80",
49
+ src: `${fileUrl}${news.imageId}`,
50
+ alt: ""
51
+ }
52
+ ),
53
+ /* @__PURE__ */ jsxs("div", { className: "absolute inset-0 px-6 py-4 transition-opacity duration-200 bg-primary bg-opacity-75 opacity-0 hover:opacity-100", children: [
54
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-lg font-bold text-gray-100 line-clamp-1", children: news.title }),
55
+ /* @__PURE__ */ jsxs("p", { className: "text-sm tracking-wide text-gray-300", children: [
56
+ /* @__PURE__ */ jsx("span", { className: "mt-2 float-left w-full", children: news.username }),
57
+ /* @__PURE__ */ jsx("span", { className: "mt-2 float-left w-full", children: new Date(news.lastModificationTime).toUTCString().slice(0, -12) }),
58
+ /* @__PURE__ */ jsx("span", { className: "mt-2 float-left w-full", children: news.clusterCountry }),
59
+ /* @__PURE__ */ jsx("div", { className: "mt-2 float-left w-full truncate md:whitespace-normal line-clamp-1 md:line-clamp-2", children: news.intro })
60
+ ] })
61
+ ] })
62
+ ] })
63
+ },
64
+ index
65
+ ))
66
+ }
67
+ ),
68
+ /* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx(
69
+ Pagination,
70
+ {
71
+ className: "pagination-bar",
72
+ currentPage: Skip + 1,
73
+ totalCount: clusterNews?.totalCount,
74
+ pageSize: NumberOfEntity,
75
+ onPageChange: (page) => setSkip(page - 1),
76
+ siblingCount: 1,
77
+ elementId: "news"
78
+ }
79
+ ) })
80
+ ] }) : /* @__PURE__ */ jsx("div", { className: "w-full text-center", children: "There are no stories to share yet" })
81
+ ] });
82
+ };
83
+
84
+ export {
85
+ EntityListWidget
86
+ };
@@ -0,0 +1,20 @@
1
+ // src/components/Section/FeatureRowWidget.tsx
2
+ import { FeatureItemElement } from "@geowiki/ui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var FeatureRowWidget = ({ data, cmsUrl }) => {
5
+ return /* @__PURE__ */ jsxs("div", { className: "container px-4 py-16 mx-auto sm:max-w-xl md:max-w-full lg:max-w-screen-xl md:px-24 lg:px-8 lg:py-20", children: [
6
+ /* @__PURE__ */ jsxs("div", { className: "max-w-xl mb-10 md:mx-auto sm:text-center lg:max-w-2xl md:mb-12", children: [
7
+ /* @__PURE__ */ jsx("h2", { className: "max-w-lg mb-6 text-3xl font-bold leading-none tracking-tight sm:text-4xl md:mx-auto", children: data.FeatureRow?.MainText?.Text }),
8
+ /* @__PURE__ */ jsx("p", { className: "text-base md:text-lg", children: data.FeatureRow?.SubText?.Text })
9
+ ] }),
10
+ /* @__PURE__ */ jsx("div", { className: "grid gap-8 row-gap-8 lg:grid-cols-3", children: data.FeatureItems?.ContentItems?.map(
11
+ (item, index) => {
12
+ return /* @__PURE__ */ jsx(FeatureItemElement, { item, cmsUrl }, index);
13
+ }
14
+ ) })
15
+ ] });
16
+ };
17
+
18
+ export {
19
+ FeatureRowWidget
20
+ };
@@ -0,0 +1,52 @@
1
+ // src/components/Section/TestimonialListWidget.tsx
2
+ import { CmsImage } from "@geowiki/ui";
3
+ import { Carousel } from "react-responsive-carousel";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ var TestimonialListWidget = ({ data }) => {
6
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(Carousel, { autoPlay: true, infiniteLoop: true, children: data.BagPart?.ContentItems?.map(
7
+ (item, index) => {
8
+ return /* @__PURE__ */ jsx("div", { id: item.Id, children: /* @__PURE__ */ jsx("div", { className: " pt-16 lg:py-24", children: /* @__PURE__ */ jsx("div", { className: "bg-primary-600 pb-16 lg:relative lg:z-10 lg:pb-0", children: /* @__PURE__ */ jsxs("div", { className: "lg:mx-auto lg:grid lg:max-w-7xl lg:grid-cols-3 lg:gap-8 lg:px-8", children: [
9
+ /* @__PURE__ */ jsxs("div", { className: "relative lg:-my-8", children: [
10
+ /* @__PURE__ */ jsx(
11
+ "div",
12
+ {
13
+ "aria-hidden": "true",
14
+ className: "absolute inset-x-0 top-0 h-1/2 lg:hidden"
15
+ }
16
+ ),
17
+ /* @__PURE__ */ jsx("div", { className: "mx-auto max-w-md px-6 sm:max-w-3xl lg:h-full lg:p-0", children: /* @__PURE__ */ jsx("div", { className: "aspect-w-10 aspect-h-6 overflow-hidden rounded-xl shadow-xl sm:aspect-w-16 sm:aspect-h-7 lg:aspect-none lg:h-full", children: /* @__PURE__ */ jsx(
18
+ CmsImage,
19
+ {
20
+ src: item?.Testimonial?.Image?.Paths?.[0],
21
+ width: 200,
22
+ height: 200
23
+ }
24
+ ) }) })
25
+ ] }),
26
+ /* @__PURE__ */ jsx("div", { className: "mt-12 lg:col-span-2 lg:m-0 lg:pl-8", children: /* @__PURE__ */ jsx("div", { className: "mx-auto max-w-md px-6 sm:max-w-2xl lg:max-w-none lg:px-0 lg:py-20", children: /* @__PURE__ */ jsxs("blockquote", { children: [
27
+ /* @__PURE__ */ jsxs("div", { children: [
28
+ /* @__PURE__ */ jsx(
29
+ "svg",
30
+ {
31
+ className: "h-12 w-12 text-white opacity-25",
32
+ fill: "currentColor",
33
+ viewBox: "0 0 32 32",
34
+ "aria-hidden": "true",
35
+ children: /* @__PURE__ */ jsx("path", { d: "M9.352 4C4.456 7.456 1 13.12 1 19.36c0 5.088 3.072 8.064 6.624 8.064 3.36 0 5.856-2.688 5.856-5.856 0-3.168-2.208-5.472-5.088-5.472-.576 0-1.344.096-1.536.192.48-3.264 3.552-7.104 6.624-9.024L9.352 4zm16.512 0c-4.8 3.456-8.256 9.12-8.256 15.36 0 5.088 3.072 8.064 6.624 8.064 3.264 0 5.856-2.688 5.856-5.856 0-3.168-2.304-5.472-5.184-5.472-.576 0-1.248.096-1.44.192.48-3.264 3.456-7.104 6.528-9.024L25.864 4z" })
36
+ }
37
+ ),
38
+ /* @__PURE__ */ jsx("p", { className: "mt-6 text-2xl font-medium text-white", children: item.Testimonial?.Info?.Text })
39
+ ] }),
40
+ /* @__PURE__ */ jsxs("footer", { className: "mt-6", children: [
41
+ /* @__PURE__ */ jsx("p", { className: "text-base font-medium text-white", children: item.Testimonial?.Name?.Text }),
42
+ /* @__PURE__ */ jsx("p", { className: "text-base font-medium text-primary-100", children: item.Testimonial?.Title?.Text })
43
+ ] })
44
+ ] }) }) })
45
+ ] }) }) }) }, index);
46
+ }
47
+ ) }) });
48
+ };
49
+
50
+ export {
51
+ TestimonialListWidget
52
+ };
@@ -0,0 +1,335 @@
1
+ // src/components/Sections.tsx
2
+ import { itemVariants, listVariants } from "@geowiki/core";
3
+ import { motion } from "framer-motion";
4
+
5
+ // src/components/SectionComponents.ts
6
+ import dynamic from "next/dynamic";
7
+ var NewsFeedWidget = dynamic(() => import("./NewsFeedWidget-4W7T4H2P.mjs"));
8
+ var UpdateUserInfoWidget = dynamic(
9
+ () => import("./UpdateUserInfoWidget-4I6RJQ5M.mjs").then(
10
+ (mod) => mod.UpdateUserInfoWidget
11
+ )
12
+ );
13
+ var UserInfoWidget = dynamic(
14
+ () => import("./UserInfoWidget-AS53SE7B.mjs").then((mod) => mod.UserInfoWidget)
15
+ );
16
+ var ContactWidget = dynamic(
17
+ () => import("./ContactWidget-WJH7K4FN.mjs").then((mod) => mod.ContactWidget)
18
+ );
19
+ var CardGridWidget = dynamic(
20
+ () => import("./CardGridWidget-VZIU6X63.mjs").then((mod) => mod.CardGridWidget)
21
+ );
22
+ var ResourceCollectionItemWidget = dynamic(
23
+ () => import("./ResourceCollectionItemWidget-QXAJEPCN.mjs").then(
24
+ (mod) => mod.ResourceCollectionItemWidget
25
+ )
26
+ );
27
+ var ResourceCollectionsWidget = dynamic(
28
+ () => import("./ResourceCollectionsWidget-KZ5HD3PG.mjs").then(
29
+ (mod) => mod.ResourceCollectionsWidget
30
+ )
31
+ );
32
+ var FarmerClusterFinderWidget = dynamic(
33
+ () => import("./FarmerClusterFinderWidget-YENEGEZN.mjs").then(
34
+ (mod) => mod.FarmerClusterFinderWidget
35
+ )
36
+ );
37
+ var EntityListWidget = dynamic(
38
+ () => import("./EntityListWidget-JC6UCIP5.mjs").then((mod) => mod.EntityListWidget)
39
+ );
40
+ var SpecialFeaturesWidget = dynamic(
41
+ () => import("./SpecialFeaturesWidget-ZWILQPVB.mjs").then(
42
+ (mod) => mod.SpecialFeaturesWidget
43
+ )
44
+ );
45
+ var SimpleActionListWidget = dynamic(
46
+ () => import("./SimpleActionListWidget-NF32S56W.mjs").then(
47
+ (mod) => mod.SimpleActionListWidget
48
+ )
49
+ );
50
+ var FeatureRowWithMultipleImagesWidget = dynamic(
51
+ () => import("./FeatureRowWithMultipleImagesWidget-NWLWBI3L.mjs").then(
52
+ (mod) => mod.FeatureRowWithMultipleImagesWidget
53
+ )
54
+ );
55
+ var TestimonialListWidget = dynamic(
56
+ () => import("./TestimonialListWidget-5OKZ5TQQ.mjs").then(
57
+ (mod) => mod.TestimonialListWidget
58
+ )
59
+ );
60
+ var FeatureRowWithImageWidget = dynamic(
61
+ () => import("./FeatureRowWithImageWidget-RDAGTLCL.mjs").then(
62
+ (mod) => mod.FeatureRowWithImageWidget
63
+ )
64
+ );
65
+ var FeatureRowWidget = dynamic(
66
+ () => import("./FeatureRowWidget-YXCRZBKZ.mjs").then((mod) => mod.FeatureRowWidget)
67
+ );
68
+ var SimpleCallToActionWidget = dynamic(
69
+ () => import("./SimpleCallToActionWidget-3LI6HMJR.mjs").then(
70
+ (mod) => mod.SimpleCallToActionWidget
71
+ )
72
+ );
73
+ var ImageWidget = dynamic(
74
+ () => import("./ImageWidget-JWDKESIB.mjs").then((mod) => mod.ImageWidget)
75
+ );
76
+ var GalleryWidget = dynamic(
77
+ () => import("./GalleryWidget-7A3FR3Y7.mjs").then((mod) => mod.GalleryWidget)
78
+ );
79
+ var HeaderWidget = dynamic(
80
+ () => import("./HeaderWidget-DUNY7APY.mjs").then((mod) => mod.HeaderWidget)
81
+ );
82
+ var CardWidget = dynamic(
83
+ () => import("./CardWidget-7UX7ACLE.mjs").then((mod) => mod.CardWidget)
84
+ );
85
+ var ColumnWidget = dynamic(
86
+ () => import("./ColumnWidget-XEDFONE6.mjs").then((mod) => mod.ColumnWidget)
87
+ );
88
+ var RowWidget = dynamic(
89
+ () => import("./RowWidget-VSVZUIYH.mjs").then((mod) => mod.RowWidget)
90
+ );
91
+ var NewsLetterWidget = dynamic(
92
+ () => import("./NewsLetterWidget-PMR355EB.mjs").then((mod) => mod.NewsLetterWidget)
93
+ );
94
+ var StatsWidget = dynamic(
95
+ () => import("./StatsWidget-4MISF6XB.mjs").then((mod) => mod.StatsWidget)
96
+ );
97
+ var MapHeroWidget = dynamic(
98
+ () => import("./MapHeroWidget-MLNO6KKC.mjs").then((mod) => mod.MapHeroWidget)
99
+ );
100
+ var HeroCenterTextWidget = dynamic(
101
+ () => import("./HeroCenterTextWidget-5LDZNUBR.mjs").then(
102
+ (mod) => mod.HeroCenterTextWidget
103
+ )
104
+ );
105
+ var HtmlSection = dynamic(
106
+ () => import("./html-section-CWKFJCXX.mjs").then((mod) => mod.HtmlSection)
107
+ );
108
+ var MarkdownWidget = dynamic(
109
+ () => import("./MarkdownWidget-QTTNNVQW.mjs").then((mod) => mod.MarkdownWidget)
110
+ );
111
+ var ContainerWidget = dynamic(
112
+ () => import("./ContainerWidget-6T555RQD.mjs").then((mod) => mod.ContainerWidget)
113
+ );
114
+ var HeroWidget = dynamic(
115
+ () => import("./HeroWidget-A4ODJCXZ.mjs").then((mod) => mod.HeroWidget)
116
+ );
117
+ var HeadingTextWidget = dynamic(
118
+ () => import("./HeadingTextWidget-YC36BLDY.mjs").then((mod) => mod.HeadingTextWidget)
119
+ );
120
+ var ResourceQuickFindWidget = dynamic(
121
+ () => import("./ResourceQuickFindWidget-S3OJV3GF.mjs").then(
122
+ (mod) => mod.ResourceQuickFindWidget
123
+ )
124
+ );
125
+ var NewsfeedPreviewWidget = dynamic(
126
+ () => import("./NewfeedPreviewWidget-VM6ZMYGO.mjs").then(
127
+ (mod) => mod.NewsfeedPreviewWidget
128
+ )
129
+ );
130
+ var SubtitleH3BodyWidget = dynamic(
131
+ () => import("./SubtitleH3BodyWidget-7XGVXSMR.mjs").then(
132
+ (mod) => mod.SubtitleH3BodyWidget
133
+ )
134
+ );
135
+ var SubtitleH3BodyInternalLinkListWidget = dynamic(
136
+ () => import("./SubtitleH3BodyInternalLinkListWidget-KFP3TIKE.mjs").then(
137
+ (mod) => mod.SubtitleH3BodyInternalLinkListWidget
138
+ )
139
+ );
140
+ var SubtitleH3FaqWidget = dynamic(
141
+ () => import("./SubtitleH3FaqWidget-VXVV7TUL.mjs").then(
142
+ (mod) => mod.SubtitleH3FaqWidget
143
+ )
144
+ );
145
+ var NewTestimonialsWidget = dynamic(
146
+ () => import("./NewTestimonialsWidget-CVFZM2UI.mjs").then(
147
+ (mod) => mod.NewTestimonialsWidget
148
+ )
149
+ );
150
+ var SubtitleH3ResourceCollectionsWidget = dynamic(
151
+ () => import("./SubtitleH3ResourceCollectionsWidget-IBDVHMSC.mjs").then(
152
+ (mod) => mod.SubtitleH3ResourceCollectionsWidget
153
+ )
154
+ );
155
+ var BannerFollowLinksWidget = dynamic(
156
+ () => import("./BannerFollowLinksWidget-26TXCSTL.mjs").then(
157
+ (mod) => mod.BannerFollowLinksWidget
158
+ )
159
+ );
160
+ var NewContactUsWidget = dynamic(
161
+ () => import("./NewContactUsWidget-R5TILYPP.mjs").then((mod) => mod.NewContactUsWidget)
162
+ );
163
+ var ContactCardsWidget = dynamic(
164
+ () => import("./ContactCardsWidget-KRR6IY4X.mjs").then((mod) => mod.ContactCardsWidget)
165
+ );
166
+ var SubtitleH3BodySpecialFeatureResourceCollectionsWidget = dynamic(
167
+ () => import("./SubtitleH3BodySpecialFeatureResourceCollectionsWidget-62SJ4J73.mjs").then((mod) => mod.SubtitleH3BodySpecialFeatureResourceCollectionsWidget)
168
+ );
169
+ var H2BodyInternalLinkMapWidget = dynamic(
170
+ () => import("./H2BodyInternalLinkMapWidget-T7MARJTA.mjs").then(
171
+ (mod) => mod.H2BodyInternalLinkMapWidget
172
+ )
173
+ );
174
+ var SignUpBannerWidget = dynamic(
175
+ () => import("./SignUpBannerWidget-R77S5VSL.mjs").then((mod) => mod.SignUpBannerWidget)
176
+ );
177
+ var SubtitleH3ChildrenWidget = dynamic(
178
+ () => import("./SubtitleH3ChildrenWidget-CA3TR726.mjs").then(
179
+ (mod) => mod.SubtitleH3ChildrenWidget
180
+ )
181
+ );
182
+ var HeaderBodyWidget = dynamic(
183
+ () => import("./HeaderBodyWidget-ZW2WYKNP.mjs").then((mod) => mod.HeaderBodyWidget)
184
+ );
185
+ var LanguageWidget = dynamic(
186
+ () => import("./LanguagesWidget-OENZMIFA.mjs").then((mod) => mod.LanguageWidget)
187
+ );
188
+ var SubtitleH3KeyResourcesWidget = dynamic(
189
+ () => import("./SubtitleH3KeyResourcesWidget-AGBBJ7ZJ.mjs").then(
190
+ (mod) => mod.SubtitleH3KeyResourcesWidget
191
+ )
192
+ );
193
+ var VideoWidget = dynamic(
194
+ () => import("./VideoWidget-YRR7FCDN.mjs").then((mod) => mod.VideoWidget)
195
+ );
196
+ var SubtitleH2BodyVideoWidget = dynamic(
197
+ () => import("./SubtitleH2BodyVideoWidget-CP7T4FJ6.mjs").then(
198
+ (mod) => mod.SubtitleH2BodyVideoWidget
199
+ )
200
+ );
201
+ var ImageLefttH3BodyWidget = dynamic(
202
+ () => import("./ImageLefttH3BodyWidget-2YAEQZHJ.mjs").then(
203
+ (mod) => mod.ImageLefttH3BodyWidget
204
+ )
205
+ );
206
+ var SixClusterNewsWidget = dynamic(
207
+ () => import("./SixClusterNewsWidget-5DDHGLAI.mjs").then(
208
+ (mod) => mod.SixClusterNewsWidget
209
+ )
210
+ );
211
+ var ImageLeftH3BodyLinkWidget = dynamic(
212
+ () => import("./ImageLeftH3BodyLinkWidget-JMALBJVD.mjs").then(
213
+ (mod) => mod.ImageLeftH3BodyLinkWidget
214
+ )
215
+ );
216
+ var IframeWidget = dynamic(
217
+ () => import("./IframeWidget-DPA25ZE2.mjs").then((mod) => mod.IframeWidget)
218
+ );
219
+ var DownloadQuestWidget = dynamic(
220
+ () => import("./DownloadQuestWidget-EVKBU33Z.mjs").then(
221
+ (mod) => mod.DownloadQuestWidget
222
+ )
223
+ );
224
+ var QuestMapWidget = dynamic(
225
+ () => import("./QuestMapWidget-5JIFDDUO.mjs").then((mod) => mod.QuestMapWidget)
226
+ );
227
+ var SelectQuestWidget = dynamic(
228
+ () => import("./SelectQuestWidget-YGZ5TFLV.mjs").then(
229
+ (mod) => mod.SelectQuestWidget
230
+ )
231
+ );
232
+ var SectionComponents = {
233
+ // PLOP_WIDGET_COMPONENTS
234
+ NewsFeed: NewsFeedWidget,
235
+ UpdateUserInfo: UpdateUserInfoWidget,
236
+ UserInfo: UserInfoWidget,
237
+ Contact: ContactWidget,
238
+ CardGrid: CardGridWidget,
239
+ ResourceCollectionItem: ResourceCollectionItemWidget,
240
+ ResourceCollections: ResourceCollectionsWidget,
241
+ FarmerClusterFinder: FarmerClusterFinderWidget,
242
+ EntityList: EntityListWidget,
243
+ SpecialFeatures: SpecialFeaturesWidget,
244
+ SimpleActionList: SimpleActionListWidget,
245
+ FeatureRowWithMultipleImages: FeatureRowWithMultipleImagesWidget,
246
+ TestimonialList: TestimonialListWidget,
247
+ FeatureRowWithImage: FeatureRowWithImageWidget,
248
+ FeatureRow: FeatureRowWidget,
249
+ SimpleCenteredCallToAction: SimpleCallToActionWidget,
250
+ Image: ImageWidget,
251
+ Gallery: GalleryWidget,
252
+ Header: HeaderWidget,
253
+ Card: CardWidget,
254
+ Column: ColumnWidget,
255
+ Row: RowWidget,
256
+ NewsLetter: NewsLetterWidget,
257
+ Stats: StatsWidget,
258
+ MapHeroWidget,
259
+ HeroCenterText: HeroCenterTextWidget,
260
+ HtmlWidget: HtmlSection,
261
+ MarkdownWidget,
262
+ ContainerWidget,
263
+ Hero: HeroWidget,
264
+ HeroWidget,
265
+ HeadingText: HeadingTextWidget,
266
+ ResourceQuickFind: ResourceQuickFindWidget,
267
+ NewsFeedPreview: NewsfeedPreviewWidget,
268
+ SubtitleH3Body: SubtitleH3BodyWidget,
269
+ SubtitleH3BodyInternalLinkList: SubtitleH3BodyInternalLinkListWidget,
270
+ SubtitleH3Faq: SubtitleH3FaqWidget,
271
+ NewTestimonials: NewTestimonialsWidget,
272
+ SubtitleH3ResourceCollections: SubtitleH3ResourceCollectionsWidget,
273
+ BannerFollowLinks: BannerFollowLinksWidget,
274
+ NewContactUs: NewContactUsWidget,
275
+ ContactCards: ContactCardsWidget,
276
+ SubtitleH3BodySpecialFeatureResourceCollections: SubtitleH3BodySpecialFeatureResourceCollectionsWidget,
277
+ H2BodyInternalLinkMap: H2BodyInternalLinkMapWidget,
278
+ SignUpBanner: SignUpBannerWidget,
279
+ SubtitleH3Children: SubtitleH3ChildrenWidget,
280
+ HeaderBody: HeaderBodyWidget,
281
+ Language: LanguageWidget,
282
+ SubtitleH3KeyResources: SubtitleH3KeyResourcesWidget,
283
+ Video: VideoWidget,
284
+ SubtitleH2BodyVideo: SubtitleH2BodyVideoWidget,
285
+ ImageLefttH3Body: ImageLefttH3BodyWidget,
286
+ SixClusterNews: SixClusterNewsWidget,
287
+ ImageLeftH3BodyLink: ImageLeftH3BodyLinkWidget,
288
+ IframeViewer: IframeWidget,
289
+ DownloadQuest: DownloadQuestWidget,
290
+ QuestMap: QuestMapWidget,
291
+ SelectQuest: SelectQuestWidget
292
+ };
293
+
294
+ // src/components/Sections.tsx
295
+ import { jsx } from "react/jsx-runtime";
296
+ var Section = ({ sectionData, settings, cmsUrl, newsItems }) => {
297
+ const SectionComponent = SectionComponents[sectionData.ContentType];
298
+ if (!SectionComponent) {
299
+ return null;
300
+ }
301
+ return /* @__PURE__ */ jsx(motion.div, { variants: itemVariants, children: /* @__PURE__ */ jsx(
302
+ SectionComponent,
303
+ {
304
+ data: sectionData,
305
+ settings,
306
+ cmsUrl,
307
+ newsItems
308
+ }
309
+ ) }, sectionData.ContentItemId);
310
+ };
311
+ var Sections = ({ sections, settings, cmsUrl }) => {
312
+ return /* @__PURE__ */ jsx(
313
+ motion.div,
314
+ {
315
+ className: "flex flex-col",
316
+ initial: "initial",
317
+ animate: "enter",
318
+ exit: "exit",
319
+ variants: listVariants,
320
+ children: sections?.map((section) => /* @__PURE__ */ jsx(
321
+ Section,
322
+ {
323
+ sectionData: section,
324
+ settings,
325
+ cmsUrl
326
+ },
327
+ `${section?.ContentType}_${section?.ContentItemId}`
328
+ ))
329
+ }
330
+ );
331
+ };
332
+
333
+ export {
334
+ Sections
335
+ };