@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,11 @@
1
+ // src/components/Section/html-section.tsx
2
+ import { HtmlView } from "@geowiki/ui";
3
+ import { jsx } from "react/jsx-runtime";
4
+ var HtmlSection = ({ data }) => {
5
+ const { HtmlBodyPart } = data;
6
+ return /* @__PURE__ */ jsx("div", { className: "lg:container mx-auto pt-4 lg:pt-0", children: /* @__PURE__ */ jsx("div", { className: "max-w-screen-2xl prose prose-xl", children: /* @__PURE__ */ jsx(HtmlView, { html: HtmlBodyPart.Html }) }) });
7
+ };
8
+
9
+ export {
10
+ HtmlSection
11
+ };
@@ -0,0 +1,131 @@
1
+ // src/components/Section/NewsLetterWidget.tsx
2
+ import { OldButton } from "@geowiki/ui";
3
+ import { useState } from "react";
4
+ import { MailChimpService } from "@geowiki/api-proxy";
5
+ import { settingsStore } from "@geowiki/core";
6
+ import { useToast } from "@geowiki/ui";
7
+ import { jsx, jsxs } from "react/jsx-runtime";
8
+ var NewsLetterWidget = ({ data }) => {
9
+ const { toast } = useToast();
10
+ var brandName = settingsStore.getState().settings?.generalSettings.GeoWikiSettings?.BrandName?.Text;
11
+ const [loading, setLoading] = useState(false);
12
+ const [isAccepted, setIsAccepted] = useState(false);
13
+ const [email, setEmail] = useState("");
14
+ const isEmailValid = (email2) => {
15
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email2);
16
+ };
17
+ const subscribe = () => {
18
+ if (!isAccepted) {
19
+ toast({
20
+ title: "You must accept the privacy policy",
21
+ variant: "destructive"
22
+ });
23
+ return;
24
+ }
25
+ if (!email || email.length === 0) {
26
+ toast({
27
+ title: "You must enter an email",
28
+ variant: "destructive"
29
+ });
30
+ return;
31
+ }
32
+ if (!isEmailValid(email)) {
33
+ toast({
34
+ title: "Invalid email",
35
+ variant: "destructive"
36
+ });
37
+ return;
38
+ }
39
+ var listId = data.NewsLetter?.MailChimpListId?.Text;
40
+ if (!brandName) {
41
+ brandName = window.location.hostname;
42
+ }
43
+ var subscribeInput = {
44
+ email_address: email,
45
+ list_id: listId,
46
+ tags: [brandName]
47
+ };
48
+ setLoading(true);
49
+ MailChimpService.mailChimpGetIsMember(listId, email).then((res) => {
50
+ if (res) {
51
+ toast({
52
+ title: "You are already subscribed",
53
+ variant: "default"
54
+ });
55
+ setLoading(false);
56
+ } else {
57
+ MailChimpService.mailChimpSubscribe(subscribeInput).then(() => {
58
+ setLoading(false);
59
+ toast({
60
+ title: "Subscribed successfully",
61
+ variant: "default"
62
+ });
63
+ });
64
+ }
65
+ });
66
+ };
67
+ return /* @__PURE__ */ jsx("div", { className: "border rounded-xl", children: /* @__PURE__ */ jsxs("div", { className: "container mx-auto py-12 px-4 sm:px-6 lg:py-16 lg:px-8 lg:flex lg:items-center", children: [
68
+ /* @__PURE__ */ jsxs("div", { className: "lg:w-0 lg:flex-1", children: [
69
+ /* @__PURE__ */ jsx(
70
+ "h2",
71
+ {
72
+ className: "text-3xl font-extrabold tracking-tight sm:text-4xl",
73
+ id: "newsletter-headline",
74
+ children: data?.NewsLetter?.MainText?.Text
75
+ }
76
+ ),
77
+ /* @__PURE__ */ jsx("p", { className: "mt-3 max-w-3xl text-lg leading-6", children: data?.NewsLetter?.SubText?.Text })
78
+ ] }),
79
+ /* @__PURE__ */ jsx("div", { className: "lg:mt-0 lg:ml-8 ", children: /* @__PURE__ */ jsxs("div", { children: [
80
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col md:flex-row gap-4 pt-8", children: [
81
+ /* @__PURE__ */ jsx(
82
+ "input",
83
+ {
84
+ className: "mt-1 bg-gray-100 block w-full border border-gray-300 rounded-md shadow-sm py-2 px-3 focus:outline-none focus:ring-primary-500 focus:border-primary-500 sm:text-sm",
85
+ type: "email",
86
+ name: "email",
87
+ onChange: (e) => setEmail(e.target.value),
88
+ placeholder: data.emailPlaceholder
89
+ }
90
+ ),
91
+ /* @__PURE__ */ jsx(
92
+ OldButton,
93
+ {
94
+ compact: false,
95
+ appearance: "dark",
96
+ label: "Subscribe",
97
+ handleClick: subscribe,
98
+ loading
99
+ }
100
+ )
101
+ ] }),
102
+ /* @__PURE__ */ jsxs("p", { className: "mt-3 text-sm", children: [
103
+ /* @__PURE__ */ jsx(
104
+ "input",
105
+ {
106
+ type: "checkbox",
107
+ checked: isAccepted,
108
+ onChange: () => setIsAccepted(!isAccepted),
109
+ className: "mr-2",
110
+ name: "accept",
111
+ id: "accept"
112
+ }
113
+ ),
114
+ "We care about the protection of your data. Read our",
115
+ " ",
116
+ /* @__PURE__ */ jsx(
117
+ "a",
118
+ {
119
+ href: data.NewsLetter?.PrivacyUrl?.Text || "#",
120
+ className: "font-medium underline cursor-pointer",
121
+ children: "Privacy Policy."
122
+ }
123
+ )
124
+ ] })
125
+ ] }) })
126
+ ] }) });
127
+ };
128
+
129
+ export {
130
+ NewsLetterWidget
131
+ };
@@ -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,20 @@
1
+ import {
2
+ Sections
3
+ } from "./chunk-DED6JF7X.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,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,28 @@
1
+ // src/components/Section/MapHeroWidget.tsx
2
+ import dynamic from "next/dynamic";
3
+ import { useState } from "react";
4
+ import { jsx } from "react/jsx-runtime";
5
+ var MapWithNoSSR = dynamic(
6
+ () => import("./HeroMap-AT3N4ZVZ.mjs").then((x) => x.HeroMap),
7
+ {
8
+ ssr: false
9
+ }
10
+ );
11
+ var MapHeroWidget = ({}) => {
12
+ const [position, setPosition] = useState(null);
13
+ return /* @__PURE__ */ jsx("div", { className: "w-full h-[560px] rounded-[12px] mt-6 overflow-hidden lg:mt-12", children: /* @__PURE__ */ jsx(
14
+ MapWithNoSSR,
15
+ {
16
+ ...{
17
+ position,
18
+ setPosition,
19
+ showClusterMarkers: true,
20
+ enableLocationMarker: false
21
+ }
22
+ }
23
+ ) });
24
+ };
25
+
26
+ export {
27
+ MapHeroWidget
28
+ };
@@ -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,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
+ };