@geowiki/cms 0.0.0

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-N5TYK7XV.mjs +8 -0
  10. package/dist/DownloadQuestWidget-EVKBU33Z.mjs +86 -0
  11. package/dist/EntityListWidget-6N4AXYWX.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-6VQYSAGG.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-RMHVOY4J.mjs +116 -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-KWCLJBRT.mjs +61 -0
  29. package/dist/MapHeroWidget-I5SP4J5M.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-BQTZYA6U.mjs +22 -0
  35. package/dist/NewsLetterWidget-AFK476TF.mjs +7 -0
  36. package/dist/QuestMapClient-5IEELSN6.mjs +119 -0
  37. package/dist/QuestMapWidget-5234C7VP.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-CWKRJY4Z.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-E72DF4FB.mjs +18 -0
  61. package/dist/chunk-43BPHKG6.mjs +348 -0
  62. package/dist/chunk-AO6SFQGL.mjs +20 -0
  63. package/dist/chunk-AQKMITUZ.mjs +52 -0
  64. package/dist/chunk-DMKIIBTI.mjs +11 -0
  65. package/dist/chunk-ECRLCFXK.mjs +65 -0
  66. package/dist/chunk-ER4KI2WR.mjs +24 -0
  67. package/dist/chunk-FQ57AT5X.mjs +51 -0
  68. package/dist/chunk-J7SY757T.mjs +44 -0
  69. package/dist/chunk-JJWETKAK.mjs +18 -0
  70. package/dist/chunk-JNVPTKNZ.mjs +20 -0
  71. package/dist/chunk-KR42WXX4.mjs +18 -0
  72. package/dist/chunk-LIPPN7U2.mjs +25 -0
  73. package/dist/chunk-MR3ABJDZ.mjs +30 -0
  74. package/dist/chunk-O6WFR4J5.mjs +10 -0
  75. package/dist/chunk-OCSKL7XJ.mjs +34 -0
  76. package/dist/chunk-PTPZAQH2.mjs +85 -0
  77. package/dist/chunk-PXKRTTW7.mjs +20 -0
  78. package/dist/chunk-QDEIIXMC.mjs +52 -0
  79. package/dist/chunk-QYIHQTW5.mjs +46 -0
  80. package/dist/chunk-RXVHS4OJ.mjs +24 -0
  81. package/dist/chunk-SNHJDG24.mjs +44 -0
  82. package/dist/chunk-UGGGP7ZA.mjs +166 -0
  83. package/dist/chunk-UGPLOPUH.mjs +129 -0
  84. package/dist/chunk-UYS3OVMP.mjs +9 -0
  85. package/dist/chunk-VFXOGW3A.mjs +10 -0
  86. package/dist/chunk-VFYJ2I2X.mjs +45 -0
  87. package/dist/chunk-VHLUUHQ3.mjs +43 -0
  88. package/dist/chunk-VKH6K2KB.mjs +33 -0
  89. package/dist/chunk-XF76SGFU.mjs +10 -0
  90. package/dist/chunk-XR7AIYAA.mjs +112 -0
  91. package/dist/chunk-ZX5FKJYJ.mjs +28 -0
  92. package/dist/html-section-CWKFJCXX.mjs +7 -0
  93. package/dist/index.d.mts +192 -0
  94. package/dist/index.d.ts +192 -0
  95. package/dist/index.js +3950 -0
  96. package/dist/index.mjs +334 -0
  97. package/dist/styles.css +1 -0
  98. package/package.json +79 -0
@@ -0,0 +1,65 @@
1
+ // src/components/Section/CardGridWidget.tsx
2
+ import { classNames } from "@geowiki/core";
3
+ import { settingsStore } from "@geowiki/core";
4
+ import { SizedImage } from "@geowiki/ui";
5
+ import { jsx, jsxs } from "react/jsx-runtime";
6
+ var CardGridWidget = ({ data, cmsUrl }) => {
7
+ cmsUrl = cmsUrl === void 0 ? settingsStore.getState().settings?.generalSettings.GeoWikiSettings?.Host?.Text : cmsUrl;
8
+ return /* @__PURE__ */ jsxs("div", { className: "container mx-auto sm:w-2/3 items-center p-8 bg-base-300 ", children: [
9
+ /* @__PURE__ */ jsx("h3", { className: "text-3xl py-2 font-bold", children: data.TitlePart?.Title }),
10
+ /* @__PURE__ */ jsx("div", { className: "divide-y divide-base-300 overflow-hidden rounded-lg bg-base-300 sm:grid sm:grid-cols-2 sm:gap-px sm:divide-y-0", children: data.BagPart?.ContentItems?.map((contentItemDto, actionIdx) => /* @__PURE__ */ jsxs(
11
+ "div",
12
+ {
13
+ className: classNames(
14
+ actionIdx === 0 ? "rounded-tl-lg sm:rounded-tr-none" : "",
15
+ actionIdx === 1 ? "sm:rounded-tr-lg" : "",
16
+ "relative group p-6 focus-within:ring-2 focus-within:ring-inset focus-within:ring-primary-900 hover:border-neutral-focus"
17
+ ),
18
+ children: [
19
+ contentItemDto.Card.Image.Paths?.length > 0 && /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
20
+ SizedImage,
21
+ {
22
+ src: cmsUrl + "/media/" + contentItemDto.Card.Image.Paths[0],
23
+ height: 60,
24
+ width: 60,
25
+ alt: ""
26
+ }
27
+ ) }),
28
+ /* @__PURE__ */ jsxs("div", { className: "mt-6", children: [
29
+ /* @__PURE__ */ jsx("h3", { className: "text-base font-bold leading-6 text-neutral-focus", children: /* @__PURE__ */ jsx(
30
+ "a",
31
+ {
32
+ href: contentItemDto.LinkPart.Url.Text,
33
+ className: "focus:outline-none",
34
+ children: contentItemDto.DisplayText
35
+ }
36
+ ) }),
37
+ contentItemDto.Card.MainText.Text != null && /* @__PURE__ */ jsx("p", { className: "mt-1 text-sm text-neutral", children: contentItemDto.Card.MainText.Text }),
38
+ contentItemDto.Card.Description.Text != null && /* @__PURE__ */ jsx("p", { className: "mt-2 text-sm text-neutral", children: contentItemDto.Card.Description.Text })
39
+ ] }),
40
+ contentItemDto.DisplayText !== null && /* @__PURE__ */ jsx(
41
+ "span",
42
+ {
43
+ className: "pointer-events-none absolute top-6 right-6 text-base-300 group-hover:text-text-neutral",
44
+ "aria-hidden": "true",
45
+ children: /* @__PURE__ */ jsx(
46
+ "svg",
47
+ {
48
+ className: "h-6 w-6",
49
+ fill: "currentColor",
50
+ viewBox: "0 0 24 24",
51
+ children: /* @__PURE__ */ jsx("path", { d: "M20 4h1a1 1 0 00-1-1v1zm-1 12a1 1 0 102 0h-2zM8 3a1 1 0 000 2V3zM3.293 19.293a1 1 0 101.414 1.414l-1.414-1.414zM19 4v12h2V4h-2zm1-1H8v2h12V3zm-.707.293l-16 16 1.414 1.414 16-16-1.414-1.414z" })
52
+ }
53
+ )
54
+ }
55
+ )
56
+ ]
57
+ },
58
+ contentItemDto.ContentItemId
59
+ )) })
60
+ ] });
61
+ };
62
+
63
+ export {
64
+ CardGridWidget
65
+ };
@@ -0,0 +1,24 @@
1
+ // src/components/Section/HeaderWidget.tsx
2
+ import { HtmlView } from "@geowiki/ui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var HeaderWidget = ({
5
+ data,
6
+ renderAsHtml,
7
+ cssClass
8
+ }) => {
9
+ return /* @__PURE__ */ jsx("div", { className: "space-x-4 px-4", "data-component": "HeaderWidget", children: /* @__PURE__ */ jsxs("div", { className: "text-center py-8 flex flex-col gap-6", children: [
10
+ data.Header?.SubHeadingText?.Text && !renderAsHtml ? /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold text-secondary", children: data.Header?.SubHeadingText?.Text }) : data.Header?.SubHeadingText?.Text && renderAsHtml ? /* @__PURE__ */ jsx(HtmlView, { html: data.Header?.SubHeadingText?.Text }) : null,
11
+ data.Header?.HeadingText?.Text && !renderAsHtml ? /* @__PURE__ */ jsx("h1", { className: "mt-1 text-4xl tracking-tight font-bold sm:text-5xl lg:text-6xl", children: data.Header?.HeadingText?.Text }) : data.Header?.HeadingText?.Text && renderAsHtml ? /* @__PURE__ */ jsx(HtmlView, { html: data.Header?.HeadingText?.Text }) : null,
12
+ data.Header?.HeadingInfo?.Text && !renderAsHtml ? /* @__PURE__ */ jsx("p", { className: "mx-auto text-xl", children: data.Header?.HeadingInfo?.Text }) : data.Header?.HeadingInfo?.Text && renderAsHtml ? /* @__PURE__ */ jsx(
13
+ HtmlView,
14
+ {
15
+ html: data.Header?.HeadingInfo?.Text,
16
+ cssClass
17
+ }
18
+ ) : null
19
+ ] }) });
20
+ };
21
+
22
+ export {
23
+ HeaderWidget
24
+ };
@@ -0,0 +1,51 @@
1
+ // src/components/Section/SimpleCallToActionWidget.tsx
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ var SimpleCallToActionWidget = ({
4
+ data
5
+ }) => {
6
+ return /* @__PURE__ */ jsxs("div", { className: "relative isolate overflow-hidden bg-primary-800", children: [
7
+ /* @__PURE__ */ jsx("div", { className: "py-24 px-6 sm:px-6 sm:py-32 lg:px-8", children: /* @__PURE__ */ jsxs("div", { className: "mx-auto max-w-2xl text-center", children: [
8
+ /* @__PURE__ */ jsx("h2", { className: "text-4xl font-bold tracking-tight text-white", children: data.SimpleCenteredCallToAction?.MainText?.Text }),
9
+ /* @__PURE__ */ jsx("p", { className: "mx-auto mt-6 max-w-xl text-lg leading-8 text-gray-300", children: data.SimpleCenteredCallToAction?.SubText?.Text }),
10
+ /* @__PURE__ */ jsx("div", { className: "mt-10 flex items-center justify-center gap-x-6", children: data.Buttons?.ContentItems?.map(
11
+ (button, index) => /* @__PURE__ */ jsx(
12
+ "a",
13
+ {
14
+ href: button.LinkMenuItemPart?.Url,
15
+ className: "rounded-md px-3.5 py-1.5 text-base font-semibold leading-7 bg-white shadow-sm hover:bg-gray-100 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-white",
16
+ children: button.LinkMenuItemPart?.Name
17
+ },
18
+ index
19
+ )
20
+ ) })
21
+ ] }) }),
22
+ /* @__PURE__ */ jsxs(
23
+ "svg",
24
+ {
25
+ viewBox: "0 0 1024 1024",
26
+ className: "absolute top-1/2 left-1/2 -z-10 h-[64rem] w-[64rem] -translate-x-1/2 [mask-image:radial-gradient(closest-side,white,transparent)]",
27
+ "aria-hidden": "true",
28
+ children: [
29
+ /* @__PURE__ */ jsx(
30
+ "circle",
31
+ {
32
+ cx: 512,
33
+ cy: 512,
34
+ r: 512,
35
+ fill: "url(#8d958450-c69f-4251-94bc-4e091a323369)",
36
+ fillOpacity: "0.7"
37
+ }
38
+ ),
39
+ /* @__PURE__ */ jsx("defs", { children: /* @__PURE__ */ jsxs("radialGradient", { id: "8d958450-c69f-4251-94bc-4e091a323369", children: [
40
+ /* @__PURE__ */ jsx("stop", { stopColor: "#7775D6" }),
41
+ /* @__PURE__ */ jsx("stop", { offset: 1, stopColor: "#E935C1" })
42
+ ] }) })
43
+ ]
44
+ }
45
+ )
46
+ ] });
47
+ };
48
+
49
+ export {
50
+ SimpleCallToActionWidget
51
+ };
@@ -0,0 +1,44 @@
1
+ // src/components/Section/SpecialFeaturesWidget.tsx
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ var SpecialFeaturesWidget = ({
4
+ data,
5
+ cmsUrl
6
+ }) => {
7
+ return /* @__PURE__ */ jsxs("div", { className: "container mx-auto px-4 py-8", children: [
8
+ /* @__PURE__ */ jsxs("div", { className: "max-w-xl mb-6 sm:mx-auto sm:text-center md:mb-10 lg:max-w-2xl", children: [
9
+ /* @__PURE__ */ jsx("p", { className: "mb-1 text-xs font-semibold tracking-wide uppercase md:mb-2", children: data.SpecialFeatures?.MainText?.Text }),
10
+ /* @__PURE__ */ jsx("p", { className: "text-base md:text-lg", children: data.SpecialFeatures?.SubText?.Text })
11
+ ] }),
12
+ /* @__PURE__ */ jsx("div", { className: "grid gap-6 row-gap-5 lg:grid-cols-3", children: data.FeatureItems?.ContentItems?.map(
13
+ (item, index) => {
14
+ return /* @__PURE__ */ jsxs("div", { children: [
15
+ /* @__PURE__ */ jsx(
16
+ "img",
17
+ {
18
+ className: "object-cover w-full h-64 mb-6 rounded shadow-lg lg:h-80 xl:h-96",
19
+ src: `${cmsUrl}/media/${item.FeatureItem?.Image?.Paths?.[0]}?width=480&height=480`,
20
+ alt: ""
21
+ }
22
+ ),
23
+ /* @__PURE__ */ jsx("h5", { className: "mb-2 text-xl font-bold leading-none sm:text-2xl", children: item.FeatureItem?.Name?.Text }),
24
+ /* @__PURE__ */ jsx("p", { className: "", children: item.FeatureItem?.Description?.Text }),
25
+ /* @__PURE__ */ jsx(
26
+ "a",
27
+ {
28
+ href: item.FeatureItem?.Link?.Url,
29
+ target: "_blank",
30
+ rel: "noreferrer",
31
+ "aria-label": "",
32
+ className: "inline-flex items-center font-semibold transition-colors duration-200 text-primary-400 hover:text-primary-800 mt-5",
33
+ children: item.FeatureItem?.Link?.Text
34
+ }
35
+ )
36
+ ] }, index);
37
+ }
38
+ ) })
39
+ ] });
40
+ };
41
+
42
+ export {
43
+ SpecialFeaturesWidget
44
+ };
@@ -0,0 +1,18 @@
1
+ // src/components/Section/HeroCenterTextWidget.tsx
2
+ import { ButtonList, CmsImage } from "@geowiki/ui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var HeroCenterTextWidget = ({ data }) => {
5
+ var paths = data?.HeroCenterText?.Image?.Paths;
6
+ return /* @__PURE__ */ jsxs("div", { className: "grid pt-8", children: [
7
+ /* @__PURE__ */ jsx("div", { className: "w-full bg-center bg-cover hero-geo-wiki rounded-xl overflow-hidden col-start-1 row-start-1", children: /* @__PURE__ */ jsx(CmsImage, { src: paths[0] }) }),
8
+ /* @__PURE__ */ jsx("div", { className: "col-start-1 row-start-1 z-10 flex justify-center items-center", children: /* @__PURE__ */ jsxs("div", { className: "text-center bg-opacity-60 p-8 bg-gray-600 text-white", children: [
9
+ /* @__PURE__ */ jsx("h1", { className: "text-4xl font-bold mt-2 sm:mt-0 mb-4 sm:mb-2", children: data.HeroCenterText?.MainText?.Text }),
10
+ /* @__PURE__ */ jsx("p", { className: "text-xl mb-6", children: data.HeroCenterText?.SubText?.Text }),
11
+ /* @__PURE__ */ jsx("div", { className: "flex flex-row flex-wrap gap-4 justify-center", children: /* @__PURE__ */ jsx(ButtonList, { data: data?.Buttons?.ContentItems }) })
12
+ ] }) })
13
+ ] });
14
+ };
15
+
16
+ export {
17
+ HeroCenterTextWidget
18
+ };
@@ -0,0 +1,20 @@
1
+ // src/components/Section/StatsWidget.tsx
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ var StatsWidget = ({ data }) => {
4
+ return /* @__PURE__ */ jsx("div", { className: "font-semibold", children: /* @__PURE__ */ jsxs("div", { className: "container mx-auto py-12 px-4 sm:py-16 sm:px-6 lg:px-8 lg:py-20", children: [
5
+ /* @__PURE__ */ jsxs("div", { className: "max-w-4xl mx-auto text-center", children: [
6
+ /* @__PURE__ */ jsx("h2", { className: "text-3xl font-extrabold sm:text-4xl", children: data.Stats?.MainText?.Text }),
7
+ /* @__PURE__ */ jsx("p", { className: "mt-3 text-xl sm:mt-4", children: data?.Stats?.SubText?.Text })
8
+ ] }),
9
+ /* @__PURE__ */ jsx("dl", { className: "mt-10 text-center sm:max-w-3xl sm:mx-auto sm:grid sm:grid-cols-3 sm:gap-8", children: data?.BagPart?.ContentItems?.map(
10
+ (stat, index) => /* @__PURE__ */ jsxs("div", { className: "flex flex-col", children: [
11
+ /* @__PURE__ */ jsx("dt", { className: "order-2 mt-2 text-lg leading-6 font-medium", children: stat.StatisticsItem?.SubText?.Text }),
12
+ /* @__PURE__ */ jsx("dd", { className: "order-1 text-5xl font-extrabold", children: stat.StatisticsItem?.MainText?.Text })
13
+ ] }, index)
14
+ ) })
15
+ ] }) });
16
+ };
17
+
18
+ export {
19
+ StatsWidget
20
+ };
@@ -0,0 +1,18 @@
1
+ // src/components/Section/ImageWidget.tsx
2
+ import { CmsImage } from "@geowiki/ui";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var ImageWidget = ({ data }) => {
5
+ var paths = data?.Image?.Image?.Paths;
6
+ return /* @__PURE__ */ jsx(
7
+ CmsImage,
8
+ {
9
+ src: paths[0],
10
+ className: "relative h-[26.875rem] w-full object-contain rounded-xl mt-6 lg:mt-12 lg:h-[70vh]",
11
+ priority: true
12
+ }
13
+ );
14
+ };
15
+
16
+ export {
17
+ ImageWidget
18
+ };
@@ -0,0 +1,25 @@
1
+ // src/components/Section/GalleryWidget.tsx
2
+ import { MediaEmbedItem, MediaItem } from "@geowiki/ui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var GalleryWidget = ({ data, cmsUrl }) => {
5
+ return /* @__PURE__ */ jsxs("div", { className: "container mx-auto my-4", children: [
6
+ /* @__PURE__ */ jsx("p", { className: "my-8 text-center text-4xl tracking-tight font-bold sm:text-5xl lg:text-6xl", children: data.TitlePart?.Title }),
7
+ /* @__PURE__ */ jsx("section", { className: "overflow-hidden", children: /* @__PURE__ */ jsx("div", { className: "py-2", children: /* @__PURE__ */ jsx("div", { className: "flex flex-wrap -m-1 md:-m-2", children: data?.BagPart?.ContentItems?.map((item) => /* @__PURE__ */ jsx("div", { className: "flex flex-wrap w-1/3", children: /* @__PURE__ */ jsx("div", { className: "w-full p-1 md:p-2", children: item.ContentType === "GalleryMediaItem" ? /* @__PURE__ */ jsx(
8
+ MediaItem,
9
+ {
10
+ path: item?.GalleryMediaItem?.Image?.Paths[0],
11
+ cmsUrl
12
+ }
13
+ ) : /* @__PURE__ */ jsx(
14
+ MediaEmbedItem,
15
+ {
16
+ alt: item.GalleryEmbedItem?.AlternateText?.Text,
17
+ src: item.GalleryEmbedItem?.EmbedURL?.Text
18
+ }
19
+ ) }) }, item.ContentItemId)) }) }) })
20
+ ] });
21
+ };
22
+
23
+ export {
24
+ GalleryWidget
25
+ };
@@ -0,0 +1,30 @@
1
+ // src/components/Section/SimpleActionListWidget.tsx
2
+ import { ButtonList } from "@geowiki/ui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var SimpleActionListWidget = ({
5
+ data
6
+ }) => {
7
+ return /* @__PURE__ */ jsx("div", { className: "container mx-auto px-4 lg:py-16", children: /* @__PURE__ */ jsx("div", { className: "grid grid-cols-1 lg:grid-cols-3", children: data.ActionItems?.ContentItems?.map(
8
+ (item, index) => {
9
+ return /* @__PURE__ */ jsxs(
10
+ "div",
11
+ {
12
+ className: "p-4 m-2 border rounded shadow-sm flex flex-col justify-between",
13
+ children: [
14
+ /* @__PURE__ */ jsxs("div", { children: [
15
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-xs font-semibold tracking-wide uppercase", children: item.SimpleAction?.Tag?.Text }),
16
+ /* @__PURE__ */ jsx("h5", { className: "max-w-md mb-6 text-3xl font-extrabold leading-none sm:text-4xl", children: item.SimpleAction?.MainText?.Text }),
17
+ /* @__PURE__ */ jsx("p", { className: "mb-6 text-base md:text-lg sm:mb-8 h-42 overflow-clip", children: item.SimpleAction?.SubText?.Text })
18
+ ] }),
19
+ /* @__PURE__ */ jsx("div", { className: "flex flex-col xl:flex-row", children: /* @__PURE__ */ jsx(ButtonList, { data: item.Buttons?.ContentItems }) })
20
+ ]
21
+ },
22
+ index
23
+ );
24
+ }
25
+ ) }) });
26
+ };
27
+
28
+ export {
29
+ SimpleActionListWidget
30
+ };
@@ -0,0 +1,10 @@
1
+ // src/components/Section/Recodo/UpdateUserInfoWidget.tsx
2
+ import { UpdateUser } from "@geowiki/recodo";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var UpdateUserInfoWidget = (_props) => {
5
+ return /* @__PURE__ */ jsx("div", { className: "container mx-auto", children: /* @__PURE__ */ jsx(UpdateUser, {}) });
6
+ };
7
+
8
+ export {
9
+ UpdateUserInfoWidget
10
+ };
@@ -0,0 +1,34 @@
1
+ import {
2
+ ResourceCollectionItemWidget
3
+ } from "./chunk-SNHJDG24.mjs";
4
+
5
+ // src/components/Section/ResourceCollectionsWidget.tsx
6
+ import { jsx } from "react/jsx-runtime";
7
+ var ResourceCollectionsWidget = (_props) => {
8
+ return /* @__PURE__ */ jsx("div", { className: "container mx-auto", children: /* @__PURE__ */ jsx(
9
+ "div",
10
+ {
11
+ className: "grid gap-8 row-gap-5 lg:grid-cols-" + _props?.data?.BagPart?.ContentItems?.length,
12
+ children: _props.data.BagPart?.ContentItems?.map(
13
+ (resourceCollectionItem, index) => /* @__PURE__ */ jsx(
14
+ "div",
15
+ {
16
+ className: "relative p-px overflow-hidden transition duration-300 transform border rounded shadow-sm hover:scale-105 group hover:shadow-xl",
17
+ children: /* @__PURE__ */ jsx(
18
+ ResourceCollectionItemWidget,
19
+ {
20
+ data: resourceCollectionItem
21
+ },
22
+ index
23
+ )
24
+ },
25
+ index
26
+ )
27
+ )
28
+ }
29
+ ) });
30
+ };
31
+
32
+ export {
33
+ ResourceCollectionsWidget
34
+ };
@@ -0,0 +1,85 @@
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) return /* @__PURE__ */ jsx(LoaderFull, {});
20
+ if (!isLoading && clusterNews?.totalCount == 0)
21
+ return /* @__PURE__ */ jsx("span", { className: "flex items-center justify-center m-10", children: "No News" });
22
+ else
23
+ return /* @__PURE__ */ jsxs("div", { id: "news", className: "container mx-auto px-4 py-16 ", children: [
24
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col mb-6 lg:justify-between lg:flex-row md:mb-8", children: [
25
+ /* @__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: [
26
+ /* @__PURE__ */ jsx("span", { className: "inline-block mb-1 sm:mb-4", children: data?.EntityList?.MainText?.Text }),
27
+ /* @__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" })
28
+ ] }),
29
+ /* @__PURE__ */ jsx("p", { className: "text-xl lg:max-w-md", children: data?.EntityList?.SubText?.Text })
30
+ ] }),
31
+ clusterNews !== null && clusterNews !== void 0 && clusterNews.items !== void 0 && clusterNews.items.length > 0 ? /* @__PURE__ */ jsxs("div", { children: [
32
+ /* @__PURE__ */ jsx(
33
+ "div",
34
+ {
35
+ className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-8",
36
+ children: clusterNews?.items?.slice(0, NumberOfEntity).map((news, index) => /* @__PURE__ */ jsx(
37
+ "a",
38
+ {
39
+ href: "/cluster/" + news.clusterId + "/news/" + news.id + (appData?.currentUser?.id == news.creatorId ? "?view=edit" : ""),
40
+ rel: "noreferrer",
41
+ target: "_blank",
42
+ "aria-label": "View Item",
43
+ children: /* @__PURE__ */ jsxs("div", { className: "relative overflow-hidden transition duration-200 transform rounded shadow-lg hover:-translate-y-2 hover:shadow-2xl", children: [
44
+ /* @__PURE__ */ jsx(
45
+ "img",
46
+ {
47
+ className: "object-cover w-full h-56 md:h-64 xl:h-80",
48
+ src: `${fileUrl}${news.imageId}`,
49
+ alt: ""
50
+ }
51
+ ),
52
+ /* @__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: [
53
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-lg font-bold text-gray-100 line-clamp-1", children: news.title }),
54
+ /* @__PURE__ */ jsxs("p", { className: "text-sm tracking-wide text-gray-300", children: [
55
+ /* @__PURE__ */ jsx("span", { className: "mt-2 float-left w-full", children: news.username }),
56
+ /* @__PURE__ */ jsx("span", { className: "mt-2 float-left w-full", children: new Date(news.lastModificationTime).toUTCString().slice(0, -12) }),
57
+ /* @__PURE__ */ jsx("span", { className: "mt-2 float-left w-full", children: news.clusterCountry }),
58
+ /* @__PURE__ */ jsx("div", { className: "mt-2 float-left w-full truncate md:whitespace-normal line-clamp-1 md:line-clamp-2", children: news.intro })
59
+ ] })
60
+ ] })
61
+ ] })
62
+ },
63
+ index
64
+ ))
65
+ }
66
+ ),
67
+ /* @__PURE__ */ jsx("div", { className: "text-center", children: /* @__PURE__ */ jsx(
68
+ Pagination,
69
+ {
70
+ className: "pagination-bar",
71
+ currentPage: Skip + 1,
72
+ totalCount: clusterNews?.totalCount,
73
+ pageSize: NumberOfEntity,
74
+ onPageChange: (page) => setSkip(page - 1),
75
+ siblingCount: 1,
76
+ elementId: "news"
77
+ }
78
+ ) })
79
+ ] }) : /* @__PURE__ */ jsx("div", { className: "w-full text-center", children: "There are no stories to share yet" })
80
+ ] });
81
+ };
82
+
83
+ export {
84
+ EntityListWidget
85
+ };
@@ -0,0 +1,20 @@
1
+ import {
2
+ Sections
3
+ } from "./chunk-43BPHKG6.mjs";
4
+
5
+ // src/components/Section/ContainerWidget.tsx
6
+ import { jsx } from "react/jsx-runtime";
7
+ var ContainerWidget = ({ data, settings, cmsUrl }) => {
8
+ return /* @__PURE__ */ jsx(
9
+ Sections,
10
+ {
11
+ sections: data.FlowPart.Widgets,
12
+ settings,
13
+ cmsUrl
14
+ }
15
+ );
16
+ };
17
+
18
+ export {
19
+ ContainerWidget
20
+ };
@@ -0,0 +1,52 @@
1
+ // src/components/Section/HeadingTextWidget.tsx
2
+ import {
3
+ H1BodyButton,
4
+ H2BodyButton,
5
+ LandingTitleBodyButton
6
+ } from "@geowiki/ui";
7
+ import { jsx } from "react/jsx-runtime";
8
+ var HeadingTextWidget = ({ data }) => {
9
+ var type = data.HeadingText.Type.Values[0];
10
+ var buttonProps = {
11
+ text: data.LinkPart.Text.Text,
12
+ link: data.LinkPart.Url.Text,
13
+ isNewTab: data.LinkPart.IsNewTab.Value
14
+ };
15
+ if (type === "H1BodyButton") {
16
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
17
+ H1BodyButton,
18
+ {
19
+ title: data.TitlePart.Title,
20
+ textBody: data.HeadingText.TextBody.Html,
21
+ button: buttonProps
22
+ }
23
+ ) });
24
+ }
25
+ if (type === "H2BodyButton") {
26
+ return /* @__PURE__ */ jsx(
27
+ H2BodyButton,
28
+ {
29
+ tag: data.HeadingText.Tag.Text,
30
+ textBody: data.HeadingText.TextBody.Html,
31
+ button: buttonProps,
32
+ title: data.TitlePart.Title,
33
+ bottomPadding: data.HeadingText.BottomPadding?.Text
34
+ }
35
+ );
36
+ }
37
+ if (type === "LandingTitleBodyButton") {
38
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx(
39
+ LandingTitleBodyButton,
40
+ {
41
+ textBody: data.HeadingText.TextBody.Text,
42
+ button: buttonProps,
43
+ title: data.TitlePart.Title
44
+ }
45
+ ) });
46
+ }
47
+ return null;
48
+ };
49
+
50
+ export {
51
+ HeadingTextWidget
52
+ };
@@ -0,0 +1,46 @@
1
+ // src/components/Section/CardWidget.tsx
2
+ import { CmsImage } from "@geowiki/ui";
3
+ import { useCmsUrl } from "@geowiki/core";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ var CardWidget = ({ data, cmsUrl }) => {
6
+ cmsUrl = useCmsUrl();
7
+ return /* @__PURE__ */ jsx("div", { className: "container mx-auto", children: /* @__PURE__ */ jsx("div", { className: "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: /* @__PURE__ */ jsxs("div", { className: "flex flex-col max-w-screen-lg overflow-hidden border rounded shadow-sm lg:flex-row sm:mx-auto", children: [
8
+ /* @__PURE__ */ jsx("div", { className: "relative lg:w-1/2", children: /* @__PURE__ */ jsx(
9
+ CmsImage,
10
+ {
11
+ src: data.Card?.Image?.Paths[0],
12
+ className: "object-cover w-full lg:absolute h-80 lg:h-full",
13
+ cmsUrl
14
+ }
15
+ ) }),
16
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-center p-8 lg:p-16 lg:pl-10 lg:w-1/2", children: [
17
+ /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsx("p", { className: "inline-block px-3 py-px mb-4 text-xs font-semibold tracking-wider uppercase rounded-full bg-teal-accent-400", children: data.TitlePart?.Title }) }),
18
+ /* @__PURE__ */ jsx("h5", { className: "mb-3 text-3xl font-extrabold leading-none sm:text-4xl", children: data.Card?.MainText?.Text }),
19
+ /* @__PURE__ */ jsx("p", { className: "mb-5", children: data.Card?.Description?.Text }),
20
+ /* @__PURE__ */ jsx("div", { className: "flex items-center", children: /* @__PURE__ */ jsxs(
21
+ "a",
22
+ {
23
+ href: data.LinkPart?.Url?.Text,
24
+ "aria-label": "",
25
+ className: "inline-flex items-center font-semibold transition-colors duration-200 text-deep-purple-accent-400 hover:text-deep-purple-800",
26
+ children: [
27
+ data.LinkPart?.Text?.Text,
28
+ /* @__PURE__ */ jsx(
29
+ "svg",
30
+ {
31
+ className: "inline-block w-3 ml-2",
32
+ fill: "currentColor",
33
+ viewBox: "0 0 12 12",
34
+ children: /* @__PURE__ */ jsx("path", { d: "M9.707,5.293l-5-5A1,1,0,0,0,3.293,1.707L7.586,6,3.293,10.293a1,1,0,1,0,1.414,1.414l5-5A1,1,0,0,0,9.707,5.293Z" })
35
+ }
36
+ )
37
+ ]
38
+ }
39
+ ) })
40
+ ] })
41
+ ] }) }) });
42
+ };
43
+
44
+ export {
45
+ CardWidget
46
+ };
@@ -0,0 +1,24 @@
1
+ // src/components/Section/ColumnWidget.tsx
2
+ import { CmsImage } from "@geowiki/ui";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
4
+ var ColumnWidget = ({ data, cmsUrl }) => {
5
+ return /* @__PURE__ */ jsx("div", { children: /* @__PURE__ */ jsxs("div", { className: "container mx-auto pt-12", children: [
6
+ data.TitlePart && /* @__PURE__ */ jsx("section", { className: "py-12 text-center", children: /* @__PURE__ */ jsx("h2", { className: "text-4xl font-bold", children: data.TitlePart?.Title }) }),
7
+ /* @__PURE__ */ jsx("div", { className: "grid lg:grid-cols-3 gap-6 xl:gap-x-12", children: data.BagPart?.ContentItems?.map((col, index) => /* @__PURE__ */ jsxs("div", { className: "mb-6 lg:mb-0", children: [
8
+ /* @__PURE__ */ jsx("div", { className: "relative overflow-hidden bg-no-repeat bg-cover ripple shadow-lg rounded-lg mb-6", children: /* @__PURE__ */ jsx(
9
+ CmsImage,
10
+ {
11
+ src: col.Card?.Image?.Paths[0],
12
+ className: "w-full h-full object-cover",
13
+ cmsUrl
14
+ }
15
+ ) }),
16
+ /* @__PURE__ */ jsx("h5", { className: "text-xl font-bold mb-3 text-center", children: col.TitlePart?.Title }),
17
+ /* @__PURE__ */ jsx("p", { className: "text-lg", children: col.Card?.Description?.Text })
18
+ ] }, index)) })
19
+ ] }) });
20
+ };
21
+
22
+ export {
23
+ ColumnWidget
24
+ };
@@ -0,0 +1,44 @@
1
+ // src/components/Section/ResourceCollectionItemWidget.tsx
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ var ResourceCollectionItemWidget = (_props) => {
4
+ return /* @__PURE__ */ jsxs("div", { className: "container mx-auto relative p-5 rounded-sm", children: [
5
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col mb-2 lg:items-center lg:flex-row", children: [
6
+ /* @__PURE__ */ jsx("div", { className: "flex items-center justify-center w-10 h-10 mb-4 mr-2 rounded-full bg-primary-50 lg:mb-0", children: /* @__PURE__ */ jsx(
7
+ "svg",
8
+ {
9
+ fill: "none",
10
+ stroke: "currentColor",
11
+ strokeWidth: "1.5",
12
+ viewBox: "-8 -8 40 40",
13
+ xmlns: "http://www.w3.org/2000/svg",
14
+ "aria-hidden": "true",
15
+ children: /* @__PURE__ */ jsx(
16
+ "path",
17
+ {
18
+ strokeLinecap: "round",
19
+ strokeLinejoin: "round",
20
+ d: "M19.5 14.25v-2.625a3.375 3.375 0 00-3.375-3.375h-1.5A1.125 1.125 0 0113.5 7.125v-1.5a3.375 3.375 0 00-3.375-3.375H8.25m0 12.75h7.5m-7.5 3H12M10.5 2.25H5.625c-.621 0-1.125.504-1.125 1.125v17.25c0 .621.504 1.125 1.125 1.125h12.75c.621 0 1.125-.504 1.125-1.125V11.25a9 9 0 00-9-9z"
21
+ }
22
+ )
23
+ }
24
+ ) }),
25
+ /* @__PURE__ */ jsx("h6", { className: "font-semibold leading-5", children: _props.data.ResourceCollectionItem?.Title?.Text })
26
+ ] }),
27
+ /* @__PURE__ */ jsx("p", { className: "mb-2 text-sm ", children: _props.data.ResourceCollectionItem?.Description?.Text }),
28
+ /* @__PURE__ */ jsx(
29
+ "a",
30
+ {
31
+ href: _props.data.ResourceCollectionItem?.LinkUrl?.Url,
32
+ "aria-label": "",
33
+ rel: "noreferrer",
34
+ target: "_blank",
35
+ className: "inline-flex items-center text-sm font-semibold transition-colors duration-200 text-primary-500 hover:text-primary-800",
36
+ children: _props.data.ResourceCollectionItem?.LinkUrl?.Text
37
+ }
38
+ )
39
+ ] });
40
+ };
41
+
42
+ export {
43
+ ResourceCollectionItemWidget
44
+ };