@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
package/dist/index.js ADDED
@@ -0,0 +1,3950 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
5
+ var __getOwnPropNames = Object.getOwnPropertyNames;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __esm = (fn, res) => function __init() {
9
+ return fn && (res = (0, fn[__getOwnPropNames(fn)[0]])(fn = 0)), res;
10
+ };
11
+ var __export = (target, all) => {
12
+ for (var name in all)
13
+ __defProp(target, name, { get: all[name], enumerable: true });
14
+ };
15
+ var __copyProps = (to, from, except, desc) => {
16
+ if (from && typeof from === "object" || typeof from === "function") {
17
+ for (let key of __getOwnPropNames(from))
18
+ if (!__hasOwnProp.call(to, key) && key !== except)
19
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
20
+ }
21
+ return to;
22
+ };
23
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
24
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
25
+ // If the importer is in node compatibility mode or this is not an ESM
26
+ // file that has been converted to a CommonJS file using a Babel-
27
+ // compatible transform (i.e. "__esModule" has not been set), then set
28
+ // "default" to the CommonJS "module.exports" for node compatibility.
29
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
30
+ mod
31
+ ));
32
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
33
+
34
+ // src/components/Section/NewsFeedWidget.tsx
35
+ var NewsFeedWidget_exports = {};
36
+ __export(NewsFeedWidget_exports, {
37
+ default: () => NewsFeedWidget_default
38
+ });
39
+ var import_core, import_ui, import_core2, import_react, import_jsx_runtime, NewsFeedWidget, NewsFeedWidget_default;
40
+ var init_NewsFeedWidget = __esm({
41
+ "src/components/Section/NewsFeedWidget.tsx"() {
42
+ "use strict";
43
+ import_core = require("@geowiki/core");
44
+ import_ui = require("@geowiki/ui");
45
+ import_core2 = require("@geowiki/core");
46
+ import_react = require("react");
47
+ import_jsx_runtime = require("react/jsx-runtime");
48
+ NewsFeedWidget = () => {
49
+ const router = (0, import_core2.useRouter)();
50
+ var lang = router.query.lang || "all";
51
+ var [skip, _setSkip] = (0, import_react.useState)(0);
52
+ var [take, _setTake] = (0, import_react.useState)(32);
53
+ var { data: newsItems, isLoading } = (0, import_core.useNews)(lang, skip, take);
54
+ return /* @__PURE__ */ (0, import_jsx_runtime.jsxs)("div", { className: "container mx-auto max-w-7xl", children: [
55
+ newsItems == null && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex justify-center mt-5", children: "No recent news" }),
56
+ isLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)("div", { className: "flex justify-center mt-5", children: "Loading..." }),
57
+ !isLoading && /* @__PURE__ */ (0, import_jsx_runtime.jsx)(import_ui.NewsItemList, { currentLang: lang, newsItems })
58
+ ] });
59
+ };
60
+ NewsFeedWidget_default = NewsFeedWidget;
61
+ }
62
+ });
63
+
64
+ // src/components/Section/Recodo/UpdateUserInfoWidget.tsx
65
+ var UpdateUserInfoWidget_exports = {};
66
+ __export(UpdateUserInfoWidget_exports, {
67
+ UpdateUserInfoWidget: () => UpdateUserInfoWidget
68
+ });
69
+ var import_recodo, import_jsx_runtime2, UpdateUserInfoWidget;
70
+ var init_UpdateUserInfoWidget = __esm({
71
+ "src/components/Section/Recodo/UpdateUserInfoWidget.tsx"() {
72
+ "use strict";
73
+ "use client";
74
+ import_recodo = require("@geowiki/recodo");
75
+ import_jsx_runtime2 = require("react/jsx-runtime");
76
+ UpdateUserInfoWidget = (_props) => {
77
+ return /* @__PURE__ */ (0, import_jsx_runtime2.jsx)("div", { className: "container mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime2.jsx)(import_recodo.UpdateUser, {}) });
78
+ };
79
+ }
80
+ });
81
+
82
+ // src/components/Section/Recodo/UserInfoWidget.tsx
83
+ var UserInfoWidget_exports = {};
84
+ __export(UserInfoWidget_exports, {
85
+ UserInfoWidget: () => UserInfoWidget
86
+ });
87
+ var import_recodo2, import_jsx_runtime3, UserInfoWidget;
88
+ var init_UserInfoWidget = __esm({
89
+ "src/components/Section/Recodo/UserInfoWidget.tsx"() {
90
+ "use strict";
91
+ "use client";
92
+ import_recodo2 = require("@geowiki/recodo");
93
+ import_jsx_runtime3 = require("react/jsx-runtime");
94
+ UserInfoWidget = (_props) => {
95
+ return /* @__PURE__ */ (0, import_jsx_runtime3.jsx)("div", { className: "container mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime3.jsx)(import_recodo2.UserInfoPage, {}) });
96
+ };
97
+ }
98
+ });
99
+
100
+ // src/components/Section/ContactWidget.tsx
101
+ var ContactWidget_exports = {};
102
+ __export(ContactWidget_exports, {
103
+ ContactWidget: () => ContactWidget
104
+ });
105
+ var import_api_proxy, import_core3, import_react_hook_form, import_react_toastify, import_jsx_runtime4, ContactWidget;
106
+ var init_ContactWidget = __esm({
107
+ "src/components/Section/ContactWidget.tsx"() {
108
+ "use strict";
109
+ "use client";
110
+ import_api_proxy = require("@geowiki/api-proxy");
111
+ import_core3 = require("@geowiki/core");
112
+ import_react_hook_form = require("react-hook-form");
113
+ import_react_toastify = require("react-toastify");
114
+ import_jsx_runtime4 = require("react/jsx-runtime");
115
+ ContactWidget = ({ data }) => {
116
+ const { data: hosts } = (0, import_core3.useHosts)();
117
+ const {
118
+ register,
119
+ handleSubmit,
120
+ formState: { errors }
121
+ } = (0, import_react_hook_form.useForm)();
122
+ const onSubmit = async (formData) => {
123
+ var tenantInfo = import_core3.HostService.getCurrentHostInfo(hosts || []);
124
+ var tenantName = import_core3.HostService.getTenantName(tenantInfo);
125
+ var subjectPrefix = "";
126
+ if (tenantName) {
127
+ subjectPrefix = tenantName + " - ";
128
+ }
129
+ var subject = subjectPrefix + "Contact form from - " + formData.first_name + " " + formData.last_name;
130
+ try {
131
+ await import_api_proxy.EmailManagementService.emailManagementSendEmail(
132
+ data?.Contact?.From?.Text,
133
+ data?.Contact?.To?.Text,
134
+ formData.from,
135
+ subject,
136
+ formData.message
137
+ );
138
+ import_react_toastify.toast.success("Email sent successfully!");
139
+ } catch (error) {
140
+ console.log(error);
141
+ import_react_toastify.toast.error("Failed to send email");
142
+ }
143
+ };
144
+ return /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "container mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "relative isolate py-24 px-6 sm:py-32 lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-auto max-w-xl lg:max-w-4xl", children: [
145
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("h2", { className: "text-4xl font-bold tracking-tight", children: data.Contact?.MainText?.Text }),
146
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("p", { className: "mt-2 text-lg leading-8 ", children: data.Contact?.SubText?.Text }),
147
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-16 flex flex-col gap-16 sm:gap-y-20 lg:flex-row", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("form", { onSubmit: handleSubmit(onSubmit), className: "lg:flex-auto", children: [
148
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "flex flex-col", children: [
149
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { children: [
150
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
151
+ "label",
152
+ {
153
+ htmlFor: "from",
154
+ className: "block text-sm font-semibold leading-6 ",
155
+ children: [
156
+ "Your email address ",
157
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-500", children: "*" })
158
+ ]
159
+ }
160
+ ),
161
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
162
+ "input",
163
+ {
164
+ type: "email",
165
+ id: "from",
166
+ autoComplete: "email",
167
+ ...register("from", { required: true }),
168
+ className: "block w-full rounded-md border-0 py-2 px-3.5 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6"
169
+ }
170
+ ) }),
171
+ errors.from && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-500", children: "Email is required" })
172
+ ] }),
173
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "pt-4", children: [
174
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
175
+ "label",
176
+ {
177
+ htmlFor: "first_name",
178
+ className: "block text-sm font-semibold leading-6 ",
179
+ children: [
180
+ "First name ",
181
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-500", children: "*" })
182
+ ]
183
+ }
184
+ ),
185
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
186
+ "input",
187
+ {
188
+ id: "first_name",
189
+ autoComplete: "first_name",
190
+ ...register("first_name", { required: true }),
191
+ className: "block w-full rounded-md border-0 py-2 px-3.5 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6"
192
+ }
193
+ ) }),
194
+ errors.from && /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("span", { className: "text-red-500", children: [
195
+ " ",
196
+ "First name is required"
197
+ ] }),
198
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "pt-4", children: [
199
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
200
+ "label",
201
+ {
202
+ htmlFor: "last_name",
203
+ className: "block text-sm font-semibold leading-6 ",
204
+ children: [
205
+ "Last name ",
206
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-500", children: "*" })
207
+ ]
208
+ }
209
+ ),
210
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
211
+ "input",
212
+ {
213
+ id: "last_name",
214
+ autoComplete: "last_name",
215
+ ...register("last_name", { required: true }),
216
+ className: "block w-full rounded-md border-0 py-2 px-3.5 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6"
217
+ }
218
+ ) }),
219
+ errors.from && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-500", children: "Last name is required" })
220
+ ] })
221
+ ] }),
222
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "pt-4", children: [
223
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
224
+ "label",
225
+ {
226
+ htmlFor: "message",
227
+ className: "block text-sm font-semibold leading-6 ",
228
+ children: [
229
+ "Message ",
230
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-500", children: "*" })
231
+ ]
232
+ }
233
+ ),
234
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-2.5", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
235
+ "textarea",
236
+ {
237
+ id: "message",
238
+ ...register("message", { required: true }),
239
+ rows: 4,
240
+ className: "block w-full rounded-md border-0 py-2 px-3.5 shadow-sm ring-1 ring-inset ring-gray-300 placeholder:text-gray-400 focus:ring-2 focus:ring-inset focus:ring-primary-600 sm:text-sm sm:leading-6",
241
+ defaultValue: ""
242
+ }
243
+ ) }),
244
+ errors.message && /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "text-red-500", children: "Message is required" })
245
+ ] })
246
+ ] }),
247
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)("div", { className: "mt-10", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
248
+ "button",
249
+ {
250
+ type: "submit",
251
+ className: "block w-full rounded-md bg-primary-600 px-3.5 py-2.5 text-center text-sm font-semibold text-white shadow-sm hover:bg-primary-500 focus-visible:outline focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-primary-600",
252
+ children: "Submit"
253
+ }
254
+ ) }),
255
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("p", { className: "mt-4 text-sm leading-6", children: [
256
+ "By submitting this form, I agree to the",
257
+ " ",
258
+ /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
259
+ "a",
260
+ {
261
+ href: data.Contact?.PrivacyUrl?.Text,
262
+ className: "font-semibold text-primary-600 cursor-pointer",
263
+ children: "Privacy\xA0Policy"
264
+ }
265
+ ),
266
+ "."
267
+ ] })
268
+ ] }) })
269
+ ] }) }) });
270
+ };
271
+ }
272
+ });
273
+
274
+ // src/components/Section/CardGridWidget.tsx
275
+ var CardGridWidget_exports = {};
276
+ __export(CardGridWidget_exports, {
277
+ CardGridWidget: () => CardGridWidget
278
+ });
279
+ var import_core4, import_core5, import_ui2, import_jsx_runtime5, CardGridWidget;
280
+ var init_CardGridWidget = __esm({
281
+ "src/components/Section/CardGridWidget.tsx"() {
282
+ "use strict";
283
+ "use client";
284
+ import_core4 = require("@geowiki/core");
285
+ import_core5 = require("@geowiki/core");
286
+ import_ui2 = require("@geowiki/ui");
287
+ import_jsx_runtime5 = require("react/jsx-runtime");
288
+ CardGridWidget = ({ data, cmsUrl }) => {
289
+ cmsUrl = cmsUrl === void 0 ? import_core5.settingsStore.getState().settings?.generalSettings.GeoWikiSettings?.Host?.Text : cmsUrl;
290
+ return /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "container mx-auto sm:w-2/3 items-center p-8 bg-base-300 ", children: [
291
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("h3", { className: "text-3xl py-2 font-bold", children: data.TitlePart?.Title }),
292
+ /* @__PURE__ */ (0, import_jsx_runtime5.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__ */ (0, import_jsx_runtime5.jsxs)(
293
+ "div",
294
+ {
295
+ className: (0, import_core4.classNames)(
296
+ actionIdx === 0 ? "rounded-tl-lg sm:rounded-tr-none" : "",
297
+ actionIdx === 1 ? "sm:rounded-tr-lg" : "",
298
+ "relative group p-6 focus-within:ring-2 focus-within:ring-inset focus-within:ring-primary-900 hover:border-neutral-focus"
299
+ ),
300
+ children: [
301
+ contentItemDto.Card.Image.Paths?.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
302
+ import_ui2.SizedImage,
303
+ {
304
+ src: cmsUrl + "/media/" + contentItemDto.Card.Image.Paths[0],
305
+ height: 60,
306
+ width: 60,
307
+ alt: ""
308
+ }
309
+ ) }),
310
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsxs)("div", { className: "mt-6", children: [
311
+ /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("h3", { className: "text-base font-bold leading-6 text-neutral-focus", children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
312
+ "a",
313
+ {
314
+ href: contentItemDto.LinkPart.Url.Text,
315
+ className: "focus:outline-none",
316
+ children: contentItemDto.DisplayText
317
+ }
318
+ ) }),
319
+ contentItemDto.Card.MainText.Text != null && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "mt-1 text-sm text-neutral", children: contentItemDto.Card.MainText.Text }),
320
+ contentItemDto.Card.Description.Text != null && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)("p", { className: "mt-2 text-sm text-neutral", children: contentItemDto.Card.Description.Text })
321
+ ] }),
322
+ contentItemDto.DisplayText !== null && /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
323
+ "span",
324
+ {
325
+ className: "pointer-events-none absolute top-6 right-6 text-base-300 group-hover:text-text-neutral",
326
+ "aria-hidden": "true",
327
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.jsx)(
328
+ "svg",
329
+ {
330
+ className: "h-6 w-6",
331
+ fill: "currentColor",
332
+ viewBox: "0 0 24 24",
333
+ children: /* @__PURE__ */ (0, import_jsx_runtime5.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" })
334
+ }
335
+ )
336
+ }
337
+ )
338
+ ]
339
+ },
340
+ contentItemDto.ContentItemId
341
+ )) })
342
+ ] });
343
+ };
344
+ }
345
+ });
346
+
347
+ // src/components/Section/ResourceCollectionItemWidget.tsx
348
+ var ResourceCollectionItemWidget_exports = {};
349
+ __export(ResourceCollectionItemWidget_exports, {
350
+ ResourceCollectionItemWidget: () => ResourceCollectionItemWidget
351
+ });
352
+ var import_jsx_runtime6, ResourceCollectionItemWidget;
353
+ var init_ResourceCollectionItemWidget = __esm({
354
+ "src/components/Section/ResourceCollectionItemWidget.tsx"() {
355
+ "use strict";
356
+ "use client";
357
+ import_jsx_runtime6 = require("react/jsx-runtime");
358
+ ResourceCollectionItemWidget = (_props) => {
359
+ return /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "container mx-auto relative p-5 rounded-sm", children: [
360
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsxs)("div", { className: "flex flex-col mb-2 lg:items-center lg:flex-row", children: [
361
+ /* @__PURE__ */ (0, import_jsx_runtime6.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__ */ (0, import_jsx_runtime6.jsx)(
362
+ "svg",
363
+ {
364
+ fill: "none",
365
+ stroke: "currentColor",
366
+ strokeWidth: "1.5",
367
+ viewBox: "-8 -8 40 40",
368
+ xmlns: "http://www.w3.org/2000/svg",
369
+ "aria-hidden": "true",
370
+ children: /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
371
+ "path",
372
+ {
373
+ strokeLinecap: "round",
374
+ strokeLinejoin: "round",
375
+ 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"
376
+ }
377
+ )
378
+ }
379
+ ) }),
380
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("h6", { className: "font-semibold leading-5", children: _props.data.ResourceCollectionItem?.Title?.Text })
381
+ ] }),
382
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)("p", { className: "mb-2 text-sm ", children: _props.data.ResourceCollectionItem?.Description?.Text }),
383
+ /* @__PURE__ */ (0, import_jsx_runtime6.jsx)(
384
+ "a",
385
+ {
386
+ href: _props.data.ResourceCollectionItem?.LinkUrl?.Url,
387
+ "aria-label": "",
388
+ rel: "noreferrer",
389
+ target: "_blank",
390
+ className: "inline-flex items-center text-sm font-semibold transition-colors duration-200 text-primary-500 hover:text-primary-800",
391
+ children: _props.data.ResourceCollectionItem?.LinkUrl?.Text
392
+ }
393
+ )
394
+ ] });
395
+ };
396
+ }
397
+ });
398
+
399
+ // src/components/Section/ResourceCollectionsWidget.tsx
400
+ var ResourceCollectionsWidget_exports = {};
401
+ __export(ResourceCollectionsWidget_exports, {
402
+ ResourceCollectionsWidget: () => ResourceCollectionsWidget
403
+ });
404
+ var import_jsx_runtime7, ResourceCollectionsWidget;
405
+ var init_ResourceCollectionsWidget = __esm({
406
+ "src/components/Section/ResourceCollectionsWidget.tsx"() {
407
+ "use strict";
408
+ "use client";
409
+ init_ResourceCollectionItemWidget();
410
+ import_jsx_runtime7 = require("react/jsx-runtime");
411
+ ResourceCollectionsWidget = (_props) => {
412
+ return /* @__PURE__ */ (0, import_jsx_runtime7.jsx)("div", { className: "container mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
413
+ "div",
414
+ {
415
+ className: "grid gap-8 row-gap-5 lg:grid-cols-" + _props?.data?.BagPart?.ContentItems?.length,
416
+ children: _props.data.BagPart?.ContentItems?.map(
417
+ (resourceCollectionItem, index) => /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
418
+ "div",
419
+ {
420
+ className: "relative p-px overflow-hidden transition duration-300 transform border rounded shadow-sm hover:scale-105 group hover:shadow-xl",
421
+ children: /* @__PURE__ */ (0, import_jsx_runtime7.jsx)(
422
+ ResourceCollectionItemWidget,
423
+ {
424
+ data: resourceCollectionItem
425
+ },
426
+ index
427
+ )
428
+ },
429
+ index
430
+ )
431
+ )
432
+ }
433
+ ) });
434
+ };
435
+ }
436
+ });
437
+
438
+ // src/components/Section/Recodo/FarmerClusterFinderWidget.tsx
439
+ var FarmerClusterFinderWidget_exports = {};
440
+ __export(FarmerClusterFinderWidget_exports, {
441
+ FarmerClusterFinderWidget: () => FarmerClusterFinderWidget
442
+ });
443
+ var import_recodo3, import_jsx_runtime8, FarmerClusterFinderWidget;
444
+ var init_FarmerClusterFinderWidget = __esm({
445
+ "src/components/Section/Recodo/FarmerClusterFinderWidget.tsx"() {
446
+ "use strict";
447
+ "use client";
448
+ import_recodo3 = require("@geowiki/recodo");
449
+ import_jsx_runtime8 = require("react/jsx-runtime");
450
+ FarmerClusterFinderWidget = (_props) => {
451
+ return /* @__PURE__ */ (0, import_jsx_runtime8.jsx)("div", { className: "lg:container mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime8.jsx)(import_recodo3.FarmerClusterFinder, {}) });
452
+ };
453
+ }
454
+ });
455
+
456
+ // src/components/Section/EntityListWidget.tsx
457
+ var EntityListWidget_exports = {};
458
+ __export(EntityListWidget_exports, {
459
+ EntityListWidget: () => EntityListWidget
460
+ });
461
+ var import_react2, import_core6, import_ui3, import_ui4, import_core7, import_core8, import_jsx_runtime9, EntityListWidget;
462
+ var init_EntityListWidget = __esm({
463
+ "src/components/Section/EntityListWidget.tsx"() {
464
+ "use strict";
465
+ "use client";
466
+ import_react2 = require("react");
467
+ import_core6 = require("@geowiki/core");
468
+ import_ui3 = require("@geowiki/ui");
469
+ import_ui4 = require("@geowiki/ui");
470
+ import_core7 = require("@geowiki/core");
471
+ import_core8 = require("@geowiki/core");
472
+ import_jsx_runtime9 = require("react/jsx-runtime");
473
+ EntityListWidget = ({ data }) => {
474
+ const { data: appData } = (0, import_core8.useAppConfig)();
475
+ const NumberOfEntity = data?.EntityList?.NumberofEntity?.Value === null || data?.EntityList?.NumberofEntity?.Value === void 0 ? 4 : data?.EntityList?.NumberofEntity?.Value;
476
+ const [Skip, setSkip] = (0, import_react2.useState)(0);
477
+ const fileUrl = (0, import_core7.useFileUrl)();
478
+ const { data: clusterNews, isLoading } = (0, import_core6.useAllNewsFromAllClusters)(
479
+ "CreationTime",
480
+ Skip * NumberOfEntity,
481
+ NumberOfEntity
482
+ );
483
+ if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(import_ui3.LoaderFull, {});
484
+ if (!isLoading && clusterNews?.totalCount == 0)
485
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "flex items-center justify-center m-10", children: "No News" });
486
+ else
487
+ return /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { id: "news", className: "container mx-auto px-4 py-16 ", children: [
488
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "flex flex-col mb-6 lg:justify-between lg:flex-row md:mb-8", children: [
489
+ /* @__PURE__ */ (0, import_jsx_runtime9.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: [
490
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "inline-block mb-1 sm:mb-4", children: data?.EntityList?.MainText?.Text }),
491
+ /* @__PURE__ */ (0, import_jsx_runtime9.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" })
492
+ ] }),
493
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "text-xl lg:max-w-md", children: data?.EntityList?.SubText?.Text })
494
+ ] }),
495
+ clusterNews !== null && clusterNews !== void 0 && clusterNews.items !== void 0 && clusterNews.items.length > 0 ? /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { children: [
496
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
497
+ "div",
498
+ {
499
+ className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-4 mb-8",
500
+ children: clusterNews?.items?.slice(0, NumberOfEntity).map((news, index) => /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
501
+ "a",
502
+ {
503
+ href: "/cluster/" + news.clusterId + "/news/" + news.id + (appData?.currentUser?.id == news.creatorId ? "?view=edit" : ""),
504
+ rel: "noreferrer",
505
+ target: "_blank",
506
+ "aria-label": "View Item",
507
+ children: /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("div", { className: "relative overflow-hidden transition duration-200 transform rounded shadow-lg hover:-translate-y-2 hover:shadow-2xl", children: [
508
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
509
+ "img",
510
+ {
511
+ className: "object-cover w-full h-56 md:h-64 xl:h-80",
512
+ src: `${fileUrl}${news.imageId}`,
513
+ alt: ""
514
+ }
515
+ ),
516
+ /* @__PURE__ */ (0, import_jsx_runtime9.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: [
517
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("p", { className: "mb-2 text-lg font-bold text-gray-100 line-clamp-1", children: news.title }),
518
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsxs)("p", { className: "text-sm tracking-wide text-gray-300", children: [
519
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "mt-2 float-left w-full", children: news.username }),
520
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "mt-2 float-left w-full", children: new Date(news.lastModificationTime).toUTCString().slice(0, -12) }),
521
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("span", { className: "mt-2 float-left w-full", children: news.clusterCountry }),
522
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "mt-2 float-left w-full truncate md:whitespace-normal line-clamp-1 md:line-clamp-2", children: news.intro })
523
+ ] })
524
+ ] })
525
+ ] })
526
+ },
527
+ index
528
+ ))
529
+ }
530
+ ),
531
+ /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "text-center", children: /* @__PURE__ */ (0, import_jsx_runtime9.jsx)(
532
+ import_ui4.Pagination,
533
+ {
534
+ className: "pagination-bar",
535
+ currentPage: Skip + 1,
536
+ totalCount: clusterNews?.totalCount,
537
+ pageSize: NumberOfEntity,
538
+ onPageChange: (page) => setSkip(page - 1),
539
+ siblingCount: 1,
540
+ elementId: "news"
541
+ }
542
+ ) })
543
+ ] }) : /* @__PURE__ */ (0, import_jsx_runtime9.jsx)("div", { className: "w-full text-center", children: "There are no stories to share yet" })
544
+ ] });
545
+ };
546
+ }
547
+ });
548
+
549
+ // src/components/Section/SpecialFeaturesWidget.tsx
550
+ var SpecialFeaturesWidget_exports = {};
551
+ __export(SpecialFeaturesWidget_exports, {
552
+ SpecialFeaturesWidget: () => SpecialFeaturesWidget
553
+ });
554
+ var import_jsx_runtime10, SpecialFeaturesWidget;
555
+ var init_SpecialFeaturesWidget = __esm({
556
+ "src/components/Section/SpecialFeaturesWidget.tsx"() {
557
+ "use strict";
558
+ "use client";
559
+ import_jsx_runtime10 = require("react/jsx-runtime");
560
+ SpecialFeaturesWidget = ({
561
+ data,
562
+ cmsUrl
563
+ }) => {
564
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "container mx-auto px-4 py-8", children: [
565
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { className: "max-w-xl mb-6 sm:mx-auto sm:text-center md:mb-10 lg:max-w-2xl", children: [
566
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { className: "mb-1 text-xs font-semibold tracking-wide uppercase md:mb-2", children: data.SpecialFeatures?.MainText?.Text }),
567
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { className: "text-base md:text-lg", children: data.SpecialFeatures?.SubText?.Text })
568
+ ] }),
569
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("div", { className: "grid gap-6 row-gap-5 lg:grid-cols-3", children: data.FeatureItems?.ContentItems?.map(
570
+ (item, index) => {
571
+ return /* @__PURE__ */ (0, import_jsx_runtime10.jsxs)("div", { children: [
572
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
573
+ "img",
574
+ {
575
+ className: "object-cover w-full h-64 mb-6 rounded shadow-lg lg:h-80 xl:h-96",
576
+ src: `${cmsUrl}/media/${item.FeatureItem?.Image?.Paths?.[0]}?width=480&height=480`,
577
+ alt: ""
578
+ }
579
+ ),
580
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("h5", { className: "mb-2 text-xl font-bold leading-none sm:text-2xl", children: item.FeatureItem?.Name?.Text }),
581
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)("p", { className: "", children: item.FeatureItem?.Description?.Text }),
582
+ /* @__PURE__ */ (0, import_jsx_runtime10.jsx)(
583
+ "a",
584
+ {
585
+ href: item.FeatureItem?.Link?.Url,
586
+ target: "_blank",
587
+ rel: "noreferrer",
588
+ "aria-label": "",
589
+ className: "inline-flex items-center font-semibold transition-colors duration-200 text-primary-400 hover:text-primary-800 mt-5",
590
+ children: item.FeatureItem?.Link?.Text
591
+ }
592
+ )
593
+ ] }, index);
594
+ }
595
+ ) })
596
+ ] });
597
+ };
598
+ }
599
+ });
600
+
601
+ // src/components/Section/SimpleActionListWidget.tsx
602
+ var SimpleActionListWidget_exports = {};
603
+ __export(SimpleActionListWidget_exports, {
604
+ SimpleActionListWidget: () => SimpleActionListWidget
605
+ });
606
+ var import_ui5, import_jsx_runtime11, SimpleActionListWidget;
607
+ var init_SimpleActionListWidget = __esm({
608
+ "src/components/Section/SimpleActionListWidget.tsx"() {
609
+ "use strict";
610
+ "use client";
611
+ import_ui5 = require("@geowiki/ui");
612
+ import_jsx_runtime11 = require("react/jsx-runtime");
613
+ SimpleActionListWidget = ({
614
+ data
615
+ }) => {
616
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "container mx-auto px-4 lg:py-16", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "grid grid-cols-1 lg:grid-cols-3", children: data.ActionItems?.ContentItems?.map(
617
+ (item, index) => {
618
+ return /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)(
619
+ "div",
620
+ {
621
+ className: "p-4 m-2 border rounded shadow-sm flex flex-col justify-between",
622
+ children: [
623
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsxs)("div", { children: [
624
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "mb-2 text-xs font-semibold tracking-wide uppercase", children: item.SimpleAction?.Tag?.Text }),
625
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("h5", { className: "max-w-md mb-6 text-3xl font-extrabold leading-none sm:text-4xl", children: item.SimpleAction?.MainText?.Text }),
626
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("p", { className: "mb-6 text-base md:text-lg sm:mb-8 h-42 overflow-clip", children: item.SimpleAction?.SubText?.Text })
627
+ ] }),
628
+ /* @__PURE__ */ (0, import_jsx_runtime11.jsx)("div", { className: "flex flex-col xl:flex-row", children: /* @__PURE__ */ (0, import_jsx_runtime11.jsx)(import_ui5.ButtonList, { data: item.Buttons?.ContentItems }) })
629
+ ]
630
+ },
631
+ index
632
+ );
633
+ }
634
+ ) }) });
635
+ };
636
+ }
637
+ });
638
+
639
+ // src/components/Section/FeatureRowWithMultipleImagesWidget.tsx
640
+ var FeatureRowWithMultipleImagesWidget_exports = {};
641
+ __export(FeatureRowWithMultipleImagesWidget_exports, {
642
+ FeatureRowWithMultipleImagesWidget: () => FeatureRowWithMultipleImagesWidget
643
+ });
644
+ var import_jsx_runtime12, FeatureRowWithMultipleImagesWidget;
645
+ var init_FeatureRowWithMultipleImagesWidget = __esm({
646
+ "src/components/Section/FeatureRowWithMultipleImagesWidget.tsx"() {
647
+ "use strict";
648
+ "use client";
649
+ import_jsx_runtime12 = require("react/jsx-runtime");
650
+ FeatureRowWithMultipleImagesWidget = ({
651
+ data,
652
+ cmsUrl
653
+ }) => {
654
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "container mx-auto px-4 py-16", children: [
655
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "flex flex-col mb-6", children: [
656
+ /* @__PURE__ */ (0, import_jsx_runtime12.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: [
657
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("span", { className: "inline-block mb-1 sm:mb-4", children: data.FeatureRowWithMultipleImages?.MainText?.Text }),
658
+ /* @__PURE__ */ (0, import_jsx_runtime12.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" })
659
+ ] }),
660
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "text-xl lg:max-w-md", children: data.FeatureRowWithMultipleImages?.SubText?.Text })
661
+ ] }),
662
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "grid gap-6 row-gap-5 mb-8 lg:grid-cols-4 sm:row-gap-6 sm:grid-cols-2", children: data?.Images?.ContentItems?.map(
663
+ (image, index) => {
664
+ return /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
665
+ "a",
666
+ {
667
+ href: image?.ImageWithText?.LinkUrl?.Url,
668
+ "aria-label": "View Item",
669
+ children: /* @__PURE__ */ (0, import_jsx_runtime12.jsxs)("div", { className: "relative overflow-hidden transition duration-200 transform rounded shadow-lg hover:-translate-y-2 hover:shadow-2xl", children: [
670
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)(
671
+ "img",
672
+ {
673
+ className: "object-cover w-full h-56 md:h-64 xl:h-80",
674
+ src: `${cmsUrl}/media/${image?.ImageWithText?.Image?.Paths?.[0]}?height=480&width=480`,
675
+ alt: ""
676
+ }
677
+ ),
678
+ /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("div", { className: "absolute inset-x-0 bottom-0 px-6 py-4 bg-primary bg-opacity-75", children: /* @__PURE__ */ (0, import_jsx_runtime12.jsx)("p", { className: "text-sm font-medium tracking-wide text-white", children: image?.ImageWithText?.Text?.Text }) })
679
+ ] })
680
+ },
681
+ index
682
+ );
683
+ }
684
+ ) })
685
+ ] });
686
+ };
687
+ }
688
+ });
689
+
690
+ // src/components/Section/TestimonialListWidget.tsx
691
+ var TestimonialListWidget_exports = {};
692
+ __export(TestimonialListWidget_exports, {
693
+ TestimonialListWidget: () => TestimonialListWidget
694
+ });
695
+ var import_ui6, import_react_responsive_carousel, import_jsx_runtime13, TestimonialListWidget;
696
+ var init_TestimonialListWidget = __esm({
697
+ "src/components/Section/TestimonialListWidget.tsx"() {
698
+ "use strict";
699
+ "use client";
700
+ import_ui6 = require("@geowiki/ui");
701
+ import_react_responsive_carousel = require("react-responsive-carousel");
702
+ import_jsx_runtime13 = require("react/jsx-runtime");
703
+ TestimonialListWidget = ({ data }) => {
704
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(import_react_responsive_carousel.Carousel, { autoPlay: true, infiniteLoop: true, children: data.BagPart?.ContentItems?.map(
705
+ (item, index) => {
706
+ return /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { id: item.Id, children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: " pt-16 lg:py-24", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "bg-primary-600 pb-16 lg:relative lg:z-10 lg:pb-0", children: /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "lg:mx-auto lg:grid lg:max-w-7xl lg:grid-cols-3 lg:gap-8 lg:px-8", children: [
707
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { className: "relative lg:-my-8", children: [
708
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
709
+ "div",
710
+ {
711
+ "aria-hidden": "true",
712
+ className: "absolute inset-x-0 top-0 h-1/2 lg:hidden"
713
+ }
714
+ ),
715
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mx-auto max-w-md px-6 sm:max-w-3xl lg:h-full lg:p-0", children: /* @__PURE__ */ (0, import_jsx_runtime13.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__ */ (0, import_jsx_runtime13.jsx)(
716
+ import_ui6.CmsImage,
717
+ {
718
+ src: item?.Testimonial?.Image?.Paths?.[0],
719
+ width: 200,
720
+ height: 200
721
+ }
722
+ ) }) })
723
+ ] }),
724
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("div", { className: "mt-12 lg:col-span-2 lg:m-0 lg:pl-8", children: /* @__PURE__ */ (0, import_jsx_runtime13.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__ */ (0, import_jsx_runtime13.jsxs)("blockquote", { children: [
725
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("div", { children: [
726
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)(
727
+ "svg",
728
+ {
729
+ className: "h-12 w-12 text-white opacity-25",
730
+ fill: "currentColor",
731
+ viewBox: "0 0 32 32",
732
+ "aria-hidden": "true",
733
+ children: /* @__PURE__ */ (0, import_jsx_runtime13.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" })
734
+ }
735
+ ),
736
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "mt-6 text-2xl font-medium text-white", children: item.Testimonial?.Info?.Text })
737
+ ] }),
738
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsxs)("footer", { className: "mt-6", children: [
739
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "text-base font-medium text-white", children: item.Testimonial?.Name?.Text }),
740
+ /* @__PURE__ */ (0, import_jsx_runtime13.jsx)("p", { className: "text-base font-medium text-primary-100", children: item.Testimonial?.Title?.Text })
741
+ ] })
742
+ ] }) }) })
743
+ ] }) }) }) }, index);
744
+ }
745
+ ) }) });
746
+ };
747
+ }
748
+ });
749
+
750
+ // src/components/Section/FeatureRowWithImageWidget.tsx
751
+ var FeatureRowWithImageWidget_exports = {};
752
+ __export(FeatureRowWithImageWidget_exports, {
753
+ FeatureRowWithImageWidget: () => FeatureRowWithImageWidget
754
+ });
755
+ var import_ui7, import_jsx_runtime14, FeatureRowWithImageWidget;
756
+ var init_FeatureRowWithImageWidget = __esm({
757
+ "src/components/Section/FeatureRowWithImageWidget.tsx"() {
758
+ "use strict";
759
+ "use client";
760
+ import_ui7 = require("@geowiki/ui");
761
+ import_jsx_runtime14 = require("react/jsx-runtime");
762
+ FeatureRowWithImageWidget = ({
763
+ data,
764
+ cmsUrl
765
+ }) => {
766
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "container mx-auto px-4 py-4", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "grid gap-5 row-gap-8 lg:grid-cols-2", children: [
767
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "flex flex-col justify-center", children: [
768
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "max-w-xl mb-6", children: [
769
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("h2", { className: "max-w-lg mb-6 text-3xl font-bold tracking-tight sm:text-4xl sm:leading-none", children: data.FeatureRowWithImage?.MainText?.Text }),
770
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("p", { className: "text-base md:text-lg", children: data.FeatureRowWithImage?.SubText?.Text })
771
+ ] }),
772
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "grid gap-5 row-gap-8 sm:grid-cols-2", children: data.FeatureItems?.ContentItems?.map(
773
+ (item, index) => {
774
+ return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_ui7.FeatureItemElement, { item, cmsUrl }, index);
775
+ }
776
+ ) })
777
+ ] }),
778
+ /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { className: "flex justify-center items-center ", children: /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
779
+ "img",
780
+ {
781
+ className: "object-cover w-full h-96 rounded shadow-lg",
782
+ alt: data.FeatureRowWithImage?.Image?.Description?.Text,
783
+ src: `${cmsUrl}/media/${data.FeatureRowWithImage?.Image?.Paths?.[0]}?height=480&width=480`
784
+ }
785
+ ) })
786
+ ] }) });
787
+ };
788
+ }
789
+ });
790
+
791
+ // src/components/Section/FeatureRowWidget.tsx
792
+ var FeatureRowWidget_exports = {};
793
+ __export(FeatureRowWidget_exports, {
794
+ FeatureRowWidget: () => FeatureRowWidget
795
+ });
796
+ var import_ui8, import_jsx_runtime15, FeatureRowWidget;
797
+ var init_FeatureRowWidget = __esm({
798
+ "src/components/Section/FeatureRowWidget.tsx"() {
799
+ "use strict";
800
+ "use client";
801
+ import_ui8 = require("@geowiki/ui");
802
+ import_jsx_runtime15 = require("react/jsx-runtime");
803
+ FeatureRowWidget = ({ data, cmsUrl }) => {
804
+ return /* @__PURE__ */ (0, import_jsx_runtime15.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: [
805
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsxs)("div", { className: "max-w-xl mb-10 md:mx-auto sm:text-center lg:max-w-2xl md:mb-12", children: [
806
+ /* @__PURE__ */ (0, import_jsx_runtime15.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 }),
807
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("p", { className: "text-base md:text-lg", children: data.FeatureRow?.SubText?.Text })
808
+ ] }),
809
+ /* @__PURE__ */ (0, import_jsx_runtime15.jsx)("div", { className: "grid gap-8 row-gap-8 lg:grid-cols-3", children: data.FeatureItems?.ContentItems?.map(
810
+ (item, index) => {
811
+ return /* @__PURE__ */ (0, import_jsx_runtime15.jsx)(import_ui8.FeatureItemElement, { item, cmsUrl }, index);
812
+ }
813
+ ) })
814
+ ] });
815
+ };
816
+ }
817
+ });
818
+
819
+ // src/components/Section/SimpleCallToActionWidget.tsx
820
+ var SimpleCallToActionWidget_exports = {};
821
+ __export(SimpleCallToActionWidget_exports, {
822
+ SimpleCallToActionWidget: () => SimpleCallToActionWidget
823
+ });
824
+ var import_jsx_runtime16, SimpleCallToActionWidget;
825
+ var init_SimpleCallToActionWidget = __esm({
826
+ "src/components/Section/SimpleCallToActionWidget.tsx"() {
827
+ "use strict";
828
+ "use client";
829
+ import_jsx_runtime16 = require("react/jsx-runtime");
830
+ SimpleCallToActionWidget = ({
831
+ data
832
+ }) => {
833
+ return /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "relative isolate overflow-hidden bg-primary-800", children: [
834
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "py-24 px-6 sm:px-6 sm:py-32 lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("div", { className: "mx-auto max-w-2xl text-center", children: [
835
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("h2", { className: "text-4xl font-bold tracking-tight text-white", children: data.SimpleCenteredCallToAction?.MainText?.Text }),
836
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("p", { className: "mx-auto mt-6 max-w-xl text-lg leading-8 text-gray-300", children: data.SimpleCenteredCallToAction?.SubText?.Text }),
837
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("div", { className: "mt-10 flex items-center justify-center gap-x-6", children: data.Buttons?.ContentItems?.map(
838
+ (button, index) => /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
839
+ "a",
840
+ {
841
+ href: button.LinkMenuItemPart?.Url,
842
+ 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",
843
+ children: button.LinkMenuItemPart?.Name
844
+ },
845
+ index
846
+ )
847
+ ) })
848
+ ] }) }),
849
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)(
850
+ "svg",
851
+ {
852
+ viewBox: "0 0 1024 1024",
853
+ 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)]",
854
+ "aria-hidden": "true",
855
+ children: [
856
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)(
857
+ "circle",
858
+ {
859
+ cx: 512,
860
+ cy: 512,
861
+ r: 512,
862
+ fill: "url(#8d958450-c69f-4251-94bc-4e091a323369)",
863
+ fillOpacity: "0.7"
864
+ }
865
+ ),
866
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("defs", { children: /* @__PURE__ */ (0, import_jsx_runtime16.jsxs)("radialGradient", { id: "8d958450-c69f-4251-94bc-4e091a323369", children: [
867
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("stop", { stopColor: "#7775D6" }),
868
+ /* @__PURE__ */ (0, import_jsx_runtime16.jsx)("stop", { offset: 1, stopColor: "#E935C1" })
869
+ ] }) })
870
+ ]
871
+ }
872
+ )
873
+ ] });
874
+ };
875
+ }
876
+ });
877
+
878
+ // src/components/Section/ImageWidget.tsx
879
+ var ImageWidget_exports = {};
880
+ __export(ImageWidget_exports, {
881
+ ImageWidget: () => ImageWidget
882
+ });
883
+ var import_ui9, import_jsx_runtime17, ImageWidget;
884
+ var init_ImageWidget = __esm({
885
+ "src/components/Section/ImageWidget.tsx"() {
886
+ "use strict";
887
+ "use client";
888
+ import_ui9 = require("@geowiki/ui");
889
+ import_jsx_runtime17 = require("react/jsx-runtime");
890
+ ImageWidget = ({ data }) => {
891
+ var paths = data?.Image?.Image?.Paths;
892
+ return /* @__PURE__ */ (0, import_jsx_runtime17.jsx)(
893
+ import_ui9.CmsImage,
894
+ {
895
+ src: paths[0],
896
+ className: "relative h-[26.875rem] w-full object-contain rounded-xl mt-6 lg:mt-12 lg:h-[70vh]",
897
+ priority: true
898
+ }
899
+ );
900
+ };
901
+ }
902
+ });
903
+
904
+ // src/components/Section/GalleryWidget.tsx
905
+ var GalleryWidget_exports = {};
906
+ __export(GalleryWidget_exports, {
907
+ GalleryWidget: () => GalleryWidget
908
+ });
909
+ var import_ui10, import_jsx_runtime18, GalleryWidget;
910
+ var init_GalleryWidget = __esm({
911
+ "src/components/Section/GalleryWidget.tsx"() {
912
+ "use strict";
913
+ "use client";
914
+ import_ui10 = require("@geowiki/ui");
915
+ import_jsx_runtime18 = require("react/jsx-runtime");
916
+ GalleryWidget = ({ data, cmsUrl }) => {
917
+ return /* @__PURE__ */ (0, import_jsx_runtime18.jsxs)("div", { className: "container mx-auto my-4", children: [
918
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("p", { className: "my-8 text-center text-4xl tracking-tight font-bold sm:text-5xl lg:text-6xl", children: data.TitlePart?.Title }),
919
+ /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("section", { className: "overflow-hidden", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "py-2", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex flex-wrap -m-1 md:-m-2", children: data?.BagPart?.ContentItems?.map((item) => /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "flex flex-wrap w-1/3", children: /* @__PURE__ */ (0, import_jsx_runtime18.jsx)("div", { className: "w-full p-1 md:p-2", children: item.ContentType === "GalleryMediaItem" ? /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
920
+ import_ui10.MediaItem,
921
+ {
922
+ path: item?.GalleryMediaItem?.Image?.Paths[0],
923
+ cmsUrl
924
+ }
925
+ ) : /* @__PURE__ */ (0, import_jsx_runtime18.jsx)(
926
+ import_ui10.MediaEmbedItem,
927
+ {
928
+ alt: item.GalleryEmbedItem?.AlternateText?.Text,
929
+ src: item.GalleryEmbedItem?.EmbedURL?.Text
930
+ }
931
+ ) }) }, item.ContentItemId)) }) }) })
932
+ ] });
933
+ };
934
+ }
935
+ });
936
+
937
+ // src/components/Section/HeaderWidget.tsx
938
+ var HeaderWidget_exports = {};
939
+ __export(HeaderWidget_exports, {
940
+ HeaderWidget: () => HeaderWidget
941
+ });
942
+ var import_ui11, import_jsx_runtime19, HeaderWidget;
943
+ var init_HeaderWidget = __esm({
944
+ "src/components/Section/HeaderWidget.tsx"() {
945
+ "use strict";
946
+ "use client";
947
+ import_ui11 = require("@geowiki/ui");
948
+ import_jsx_runtime19 = require("react/jsx-runtime");
949
+ HeaderWidget = ({
950
+ data,
951
+ renderAsHtml,
952
+ cssClass
953
+ }) => {
954
+ return /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "space-x-4 px-4", "data-component": "HeaderWidget", children: /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "text-center py-8 flex flex-col gap-6", children: [
955
+ data.Header?.SubHeadingText?.Text && !renderAsHtml ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("h2", { className: "text-lg font-semibold text-secondary", children: data.Header?.SubHeadingText?.Text }) : data.Header?.SubHeadingText?.Text && renderAsHtml ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(import_ui11.HtmlView, { html: data.Header?.SubHeadingText?.Text }) : null,
956
+ data.Header?.HeadingText?.Text && !renderAsHtml ? /* @__PURE__ */ (0, import_jsx_runtime19.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__ */ (0, import_jsx_runtime19.jsx)(import_ui11.HtmlView, { html: data.Header?.HeadingText?.Text }) : null,
957
+ data.Header?.HeadingInfo?.Text && !renderAsHtml ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("p", { className: "mx-auto text-xl", children: data.Header?.HeadingInfo?.Text }) : data.Header?.HeadingInfo?.Text && renderAsHtml ? /* @__PURE__ */ (0, import_jsx_runtime19.jsx)(
958
+ import_ui11.HtmlView,
959
+ {
960
+ html: data.Header?.HeadingInfo?.Text,
961
+ cssClass
962
+ }
963
+ ) : null
964
+ ] }) });
965
+ };
966
+ }
967
+ });
968
+
969
+ // src/components/Section/CardWidget.tsx
970
+ var CardWidget_exports = {};
971
+ __export(CardWidget_exports, {
972
+ CardWidget: () => CardWidget
973
+ });
974
+ var import_ui12, import_core9, import_jsx_runtime20, CardWidget;
975
+ var init_CardWidget = __esm({
976
+ "src/components/Section/CardWidget.tsx"() {
977
+ "use strict";
978
+ "use client";
979
+ import_ui12 = require("@geowiki/ui");
980
+ import_core9 = require("@geowiki/core");
981
+ import_jsx_runtime20 = require("react/jsx-runtime");
982
+ CardWidget = ({ data, cmsUrl }) => {
983
+ cmsUrl = (0, import_core9.useCmsUrl)();
984
+ return /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "container mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime20.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__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col max-w-screen-lg overflow-hidden border rounded shadow-sm lg:flex-row sm:mx-auto", children: [
985
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "relative lg:w-1/2", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
986
+ import_ui12.CmsImage,
987
+ {
988
+ src: data.Card?.Image?.Paths[0],
989
+ className: "object-cover w-full lg:absolute h-80 lg:h-full",
990
+ cmsUrl
991
+ }
992
+ ) }),
993
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)("div", { className: "flex flex-col justify-center p-8 lg:p-16 lg:pl-10 lg:w-1/2", children: [
994
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime20.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 }) }),
995
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("h5", { className: "mb-3 text-3xl font-extrabold leading-none sm:text-4xl", children: data.Card?.MainText?.Text }),
996
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("p", { className: "mb-5", children: data.Card?.Description?.Text }),
997
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)("div", { className: "flex items-center", children: /* @__PURE__ */ (0, import_jsx_runtime20.jsxs)(
998
+ "a",
999
+ {
1000
+ href: data.LinkPart?.Url?.Text,
1001
+ "aria-label": "",
1002
+ className: "inline-flex items-center font-semibold transition-colors duration-200 text-deep-purple-accent-400 hover:text-deep-purple-800",
1003
+ children: [
1004
+ data.LinkPart?.Text?.Text,
1005
+ /* @__PURE__ */ (0, import_jsx_runtime20.jsx)(
1006
+ "svg",
1007
+ {
1008
+ className: "inline-block w-3 ml-2",
1009
+ fill: "currentColor",
1010
+ viewBox: "0 0 12 12",
1011
+ children: /* @__PURE__ */ (0, import_jsx_runtime20.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" })
1012
+ }
1013
+ )
1014
+ ]
1015
+ }
1016
+ ) })
1017
+ ] })
1018
+ ] }) }) });
1019
+ };
1020
+ }
1021
+ });
1022
+
1023
+ // src/components/Section/ColumnWidget.tsx
1024
+ var ColumnWidget_exports = {};
1025
+ __export(ColumnWidget_exports, {
1026
+ ColumnWidget: () => ColumnWidget
1027
+ });
1028
+ var import_ui13, import_jsx_runtime21, ColumnWidget;
1029
+ var init_ColumnWidget = __esm({
1030
+ "src/components/Section/ColumnWidget.tsx"() {
1031
+ "use strict";
1032
+ "use client";
1033
+ import_ui13 = require("@geowiki/ui");
1034
+ import_jsx_runtime21 = require("react/jsx-runtime");
1035
+ ColumnWidget = ({ data, cmsUrl }) => {
1036
+ return /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "container mx-auto pt-12", children: [
1037
+ data.TitlePart && /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("section", { className: "py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("h2", { className: "text-4xl font-bold", children: data.TitlePart?.Title }) }),
1038
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "grid lg:grid-cols-3 gap-6 xl:gap-x-12", children: data.BagPart?.ContentItems?.map((col, index) => /* @__PURE__ */ (0, import_jsx_runtime21.jsxs)("div", { className: "mb-6 lg:mb-0", children: [
1039
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("div", { className: "relative overflow-hidden bg-no-repeat bg-cover ripple shadow-lg rounded-lg mb-6", children: /* @__PURE__ */ (0, import_jsx_runtime21.jsx)(
1040
+ import_ui13.CmsImage,
1041
+ {
1042
+ src: col.Card?.Image?.Paths[0],
1043
+ className: "w-full h-full object-cover",
1044
+ cmsUrl
1045
+ }
1046
+ ) }),
1047
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("h5", { className: "text-xl font-bold mb-3 text-center", children: col.TitlePart?.Title }),
1048
+ /* @__PURE__ */ (0, import_jsx_runtime21.jsx)("p", { className: "text-lg", children: col.Card?.Description?.Text })
1049
+ ] }, index)) })
1050
+ ] }) });
1051
+ };
1052
+ }
1053
+ });
1054
+
1055
+ // src/components/Section/RowWidget.tsx
1056
+ var RowWidget_exports = {};
1057
+ __export(RowWidget_exports, {
1058
+ RowWidget: () => RowWidget
1059
+ });
1060
+ var import_classnames, import_ui14, import_ui15, import_jsx_runtime22, RowWidget;
1061
+ var init_RowWidget = __esm({
1062
+ "src/components/Section/RowWidget.tsx"() {
1063
+ "use strict";
1064
+ "use client";
1065
+ import_classnames = __toESM(require("classnames"));
1066
+ import_ui14 = require("@geowiki/ui");
1067
+ import_ui15 = require("@geowiki/ui");
1068
+ import_jsx_runtime22 = require("react/jsx-runtime");
1069
+ RowWidget = ({ data, cmsUrl }) => {
1070
+ return /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { children: [
1071
+ data.TitlePart && /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("section", { className: "py-12 text-center", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("h2", { className: "text-4xl font-bold", children: data.TitlePart?.Title }) }),
1072
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "container mx-auto flex flex-col gap-12 py-12", children: data.BagPart?.ContentItems?.map((row, index) => /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)(
1073
+ "div",
1074
+ {
1075
+ className: (0, import_classnames.default)(
1076
+ "flex flex-col justify-start md:justify-between md:items-center gap-10",
1077
+ {
1078
+ "lg:flex-row": index % 2 === 0,
1079
+ "lg:flex-row-reverse": index % 2 === 1
1080
+ }
1081
+ ),
1082
+ children: [
1083
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsxs)("div", { className: "w-full lg:w-6/12 lg:pr-6 text-lg", children: [
1084
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("h3", { className: "text-2xl font-bold text-center", children: row.Card?.MainText?.Text }),
1085
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("p", { className: "my-6", children: row.Card?.Description?.Text }),
1086
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(import_ui14.CustomLink, { data: row.LinkPart })
1087
+ ] }),
1088
+ /* @__PURE__ */ (0, import_jsx_runtime22.jsx)("div", { className: "w-full sm:9/12 lg:w-6/12 max-h-full", children: /* @__PURE__ */ (0, import_jsx_runtime22.jsx)(
1089
+ import_ui15.CmsImage,
1090
+ {
1091
+ className: "h-96",
1092
+ src: row.Card?.Image?.Paths[0],
1093
+ height: 384,
1094
+ width: 900,
1095
+ alt: row.Card?.MainText?.Text,
1096
+ cmsUrl
1097
+ }
1098
+ ) })
1099
+ ]
1100
+ },
1101
+ row.ContentItemId
1102
+ )) })
1103
+ ] });
1104
+ };
1105
+ }
1106
+ });
1107
+
1108
+ // src/components/Section/NewsLetterWidget.tsx
1109
+ var NewsLetterWidget_exports = {};
1110
+ __export(NewsLetterWidget_exports, {
1111
+ NewsLetterWidget: () => NewsLetterWidget
1112
+ });
1113
+ var import_ui16, import_react3, import_api_proxy2, import_ui17, import_jsx_runtime23, NewsLetterWidget;
1114
+ var init_NewsLetterWidget = __esm({
1115
+ "src/components/Section/NewsLetterWidget.tsx"() {
1116
+ "use strict";
1117
+ "use client";
1118
+ import_ui16 = require("@geowiki/ui");
1119
+ import_react3 = require("react");
1120
+ import_api_proxy2 = require("@geowiki/api-proxy");
1121
+ import_ui17 = require("@geowiki/ui");
1122
+ import_jsx_runtime23 = require("react/jsx-runtime");
1123
+ NewsLetterWidget = ({ data }) => {
1124
+ const { toast: toast2 } = (0, import_ui17.useToast)();
1125
+ const [loading, setLoading] = (0, import_react3.useState)(false);
1126
+ const [isAccepted, setIsAccepted] = (0, import_react3.useState)(false);
1127
+ const [email, setEmail] = (0, import_react3.useState)("");
1128
+ const isEmailValid = (email2) => {
1129
+ return /^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(email2);
1130
+ };
1131
+ const subscribe = async () => {
1132
+ if (!isAccepted) {
1133
+ toast2({
1134
+ title: "You must accept the privacy policy",
1135
+ variant: "destructive"
1136
+ });
1137
+ return;
1138
+ }
1139
+ if (!email || email.length === 0) {
1140
+ toast2({ title: "You must enter an email", variant: "destructive" });
1141
+ return;
1142
+ }
1143
+ if (!isEmailValid(email)) {
1144
+ toast2({ title: "Invalid email", variant: "destructive" });
1145
+ return;
1146
+ }
1147
+ setLoading(true);
1148
+ try {
1149
+ const res = await fetch(`${import_api_proxy2.OpenAPI.BASE}/api/newsletter/subscribe`, {
1150
+ method: "POST",
1151
+ headers: { "Content-Type": "application/json" },
1152
+ body: JSON.stringify({ email })
1153
+ });
1154
+ if (!res.ok) {
1155
+ let message = "Subscription failed. Please try again later.";
1156
+ try {
1157
+ const body = await res.json();
1158
+ message = body?.error?.message ?? message;
1159
+ } catch {
1160
+ }
1161
+ toast2({ title: message, variant: "destructive" });
1162
+ return;
1163
+ }
1164
+ const result = await res.json();
1165
+ toast2({
1166
+ title: result?.requiresConfirmation ? "Almost there \u2014 please check your inbox to confirm your subscription." : "Subscribed successfully",
1167
+ variant: "default"
1168
+ });
1169
+ setEmail("");
1170
+ setIsAccepted(false);
1171
+ } catch {
1172
+ toast2({
1173
+ title: "Subscription failed. Please try again later.",
1174
+ variant: "destructive"
1175
+ });
1176
+ } finally {
1177
+ setLoading(false);
1178
+ }
1179
+ };
1180
+ return /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "border rounded-xl", children: /* @__PURE__ */ (0, import_jsx_runtime23.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: [
1181
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "lg:w-0 lg:flex-1", children: [
1182
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1183
+ "h2",
1184
+ {
1185
+ className: "text-3xl font-extrabold tracking-tight sm:text-4xl",
1186
+ id: "newsletter-headline",
1187
+ children: data?.NewsLetter?.MainText?.Text
1188
+ }
1189
+ ),
1190
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("p", { className: "mt-3 max-w-3xl text-lg leading-6", children: data?.NewsLetter?.SubText?.Text })
1191
+ ] }),
1192
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)("div", { className: "lg:mt-0 lg:ml-8 ", children: /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { children: [
1193
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("div", { className: "flex flex-col md:flex-row gap-4 pt-8", children: [
1194
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1195
+ "input",
1196
+ {
1197
+ 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",
1198
+ type: "email",
1199
+ name: "email",
1200
+ value: email,
1201
+ onChange: (e) => setEmail(e.target.value),
1202
+ placeholder: data.emailPlaceholder
1203
+ }
1204
+ ),
1205
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1206
+ import_ui16.OldButton,
1207
+ {
1208
+ compact: false,
1209
+ appearance: "dark",
1210
+ label: "Subscribe",
1211
+ handleClick: subscribe,
1212
+ loading
1213
+ }
1214
+ )
1215
+ ] }),
1216
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsxs)("p", { className: "mt-3 text-sm", children: [
1217
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1218
+ "input",
1219
+ {
1220
+ type: "checkbox",
1221
+ checked: isAccepted,
1222
+ onChange: () => setIsAccepted(!isAccepted),
1223
+ className: "mr-2",
1224
+ name: "accept",
1225
+ id: "accept"
1226
+ }
1227
+ ),
1228
+ "We care about the protection of your data. Read our",
1229
+ " ",
1230
+ /* @__PURE__ */ (0, import_jsx_runtime23.jsx)(
1231
+ "a",
1232
+ {
1233
+ href: data.NewsLetter?.PrivacyUrl?.Text || "#",
1234
+ className: "font-medium underline cursor-pointer",
1235
+ children: "Terms of Use."
1236
+ }
1237
+ )
1238
+ ] })
1239
+ ] }) })
1240
+ ] }) });
1241
+ };
1242
+ }
1243
+ });
1244
+
1245
+ // src/components/Section/StatsWidget.tsx
1246
+ var StatsWidget_exports = {};
1247
+ __export(StatsWidget_exports, {
1248
+ StatsWidget: () => StatsWidget
1249
+ });
1250
+ var import_jsx_runtime24, StatsWidget;
1251
+ var init_StatsWidget = __esm({
1252
+ "src/components/Section/StatsWidget.tsx"() {
1253
+ "use strict";
1254
+ "use client";
1255
+ import_jsx_runtime24 = require("react/jsx-runtime");
1256
+ StatsWidget = ({ data }) => {
1257
+ return /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("div", { className: "font-semibold", children: /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "container mx-auto py-12 px-4 sm:py-16 sm:px-6 lg:px-8 lg:py-20", children: [
1258
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "max-w-4xl mx-auto text-center", children: [
1259
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("h2", { className: "text-3xl font-extrabold sm:text-4xl", children: data.Stats?.MainText?.Text }),
1260
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("p", { className: "mt-3 text-xl sm:mt-4", children: data?.Stats?.SubText?.Text })
1261
+ ] }),
1262
+ /* @__PURE__ */ (0, import_jsx_runtime24.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(
1263
+ (stat, index) => /* @__PURE__ */ (0, import_jsx_runtime24.jsxs)("div", { className: "flex flex-col", children: [
1264
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("dt", { className: "order-2 mt-2 text-lg leading-6 font-medium", children: stat.StatisticsItem?.SubText?.Text }),
1265
+ /* @__PURE__ */ (0, import_jsx_runtime24.jsx)("dd", { className: "order-1 text-5xl font-extrabold", children: stat.StatisticsItem?.MainText?.Text })
1266
+ ] }, index)
1267
+ ) })
1268
+ ] }) });
1269
+ };
1270
+ }
1271
+ });
1272
+
1273
+ // src/components/ClusterMap/cluster-markers.tsx
1274
+ function getIcon(color, name) {
1275
+ const myIcon = import_ui18.IconPaths.find((icon) => icon.name === name);
1276
+ if (myIcon) {
1277
+ return (0, import_server.renderToString)(/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(myIcon.icon, {}));
1278
+ } else {
1279
+ const MyIcon = import_MapPinIcon.default;
1280
+ return (0, import_server.renderToString)(/* @__PURE__ */ (0, import_jsx_runtime25.jsx)(MyIcon, { height: 40, width: 40, color }));
1281
+ }
1282
+ }
1283
+ var import_leaflet, import_react_leaflet, import_core10, import_ui18, import_map, import_core11, import_MapPinIcon, import_server, import_core12, import_jsx_runtime25, createClusterIcon, ClusterMarkers;
1284
+ var init_cluster_markers = __esm({
1285
+ "src/components/ClusterMap/cluster-markers.tsx"() {
1286
+ "use strict";
1287
+ "use client";
1288
+ import_leaflet = require("leaflet");
1289
+ import_react_leaflet = require("react-leaflet");
1290
+ import_core10 = require("@geowiki/core");
1291
+ import_ui18 = require("@geowiki/ui");
1292
+ import_map = require("@geowiki/map");
1293
+ import_core11 = require("@geowiki/core");
1294
+ import_MapPinIcon = __toESM(require("@heroicons/react/24/solid/MapPinIcon"));
1295
+ import_server = require("react-dom/server");
1296
+ import_core12 = require("@geowiki/core");
1297
+ import_jsx_runtime25 = require("react/jsx-runtime");
1298
+ createClusterIcon = (color) => {
1299
+ return (cluster) => {
1300
+ const markers = cluster.getAllChildMarkers();
1301
+ const statusCount = {
1302
+ ongoing: 0,
1303
+ auxiliary: 0,
1304
+ default: 0
1305
+ };
1306
+ markers.forEach((marker) => {
1307
+ const status = marker.feature?.properties?.Status?.trim().toLowerCase() || "default";
1308
+ if (status === "ongoing") statusCount.ongoing++;
1309
+ else if (status === "auxiliary") statusCount.auxiliary++;
1310
+ else statusCount.default++;
1311
+ });
1312
+ return (0, import_leaflet.divIcon)({
1313
+ html: `<div style=
1314
+ "background-color: ${color};
1315
+ width: 36px;
1316
+ height: 36px;
1317
+ border-radius: 50%;
1318
+ display: flex;
1319
+ justify-content: center;
1320
+ align-items: center;
1321
+ text-align: center;
1322
+ justify-content: center;
1323
+ font-size: 14px;
1324
+ font-weight: 600;
1325
+ color: white;
1326
+ ">${markers.length}</div>`,
1327
+ className: "custom-cluster-icon",
1328
+ iconSize: [30, 30]
1329
+ });
1330
+ };
1331
+ };
1332
+ ClusterMarkers = (_props) => {
1333
+ const { data: ConfigSettings, isLoading: IsConfigSettingsLoaded } = (0, import_core12.useConfigSettings)();
1334
+ const { data, error, isLoading } = (0, import_core10.useClusterMapInfo)();
1335
+ const fileUrl = (0, import_core11.useFileUrl)();
1336
+ if (error) return null;
1337
+ if (isLoading || IsConfigSettingsLoaded) return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_ui18.LoaderFull, {});
1338
+ if (ConfigSettings?.ConfigSettings?.FeaturesFarmerCluster?.Text) {
1339
+ return /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_map.MarkerClusterGroup, { iconCreateFunction: createClusterIcon("#9999CC"), children: data?.map((cluster) => /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1340
+ import_react_leaflet.Marker,
1341
+ {
1342
+ icon: new import_leaflet.DivIcon({
1343
+ iconSize: [40, 40],
1344
+ html: `${getIcon("#9999CC", "Farmer Clusters")}`,
1345
+ className: "custom-div-icon",
1346
+ iconAnchor: [20, 40]
1347
+ }),
1348
+ position: cluster.location ? new import_leaflet.LatLng(
1349
+ cluster?.location?.latitude,
1350
+ cluster?.location?.longitude
1351
+ ) : new import_leaflet.LatLng(0, 0),
1352
+ children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(import_react_leaflet.Popup, { maxWidth: 600, children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)("div", { className: "bg-white text-black rounded-3xl", children: /* @__PURE__ */ (0, import_jsx_runtime25.jsx)(
1353
+ import_ui18.DesignFarmerClusterPin,
1354
+ {
1355
+ farmerCluster: {
1356
+ description: cluster.description,
1357
+ path: `${fileUrl}${cluster.coverImageId}`,
1358
+ title: cluster.name,
1359
+ viewUrl: `/cluster/view/${cluster.id}`
1360
+ }
1361
+ }
1362
+ ) }) })
1363
+ },
1364
+ cluster.id
1365
+ )) }) });
1366
+ } else {
1367
+ return null;
1368
+ }
1369
+ };
1370
+ }
1371
+ });
1372
+
1373
+ // src/components/ClusterMap/HeroMap.tsx
1374
+ var HeroMap_exports = {};
1375
+ __export(HeroMap_exports, {
1376
+ HeroMap: () => HeroMap
1377
+ });
1378
+ var import_react_leaflet2, import_leaflet2, import_jsx_runtime26, HeroMap;
1379
+ var init_HeroMap = __esm({
1380
+ "src/components/ClusterMap/HeroMap.tsx"() {
1381
+ "use strict";
1382
+ import_react_leaflet2 = require("react-leaflet");
1383
+ import_leaflet2 = require("leaflet/dist/leaflet.css");
1384
+ init_cluster_markers();
1385
+ import_jsx_runtime26 = require("react/jsx-runtime");
1386
+ HeroMap = () => {
1387
+ const position = [48.210033, 16.363449];
1388
+ return /* @__PURE__ */ (0, import_jsx_runtime26.jsxs)(import_react_leaflet2.MapContainer, { center: position, zoom: 5, scrollWheelZoom: false, children: [
1389
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(
1390
+ import_react_leaflet2.TileLayer,
1391
+ {
1392
+ attribution: '\xA9 <a href="http://osm.org/copyright">OpenStreetMap</a> contributors',
1393
+ url: "https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png",
1394
+ maxZoom: 18
1395
+ }
1396
+ ),
1397
+ /* @__PURE__ */ (0, import_jsx_runtime26.jsx)(ClusterMarkers, {})
1398
+ ] });
1399
+ };
1400
+ }
1401
+ });
1402
+
1403
+ // src/components/Section/MapHeroWidget.tsx
1404
+ var MapHeroWidget_exports = {};
1405
+ __export(MapHeroWidget_exports, {
1406
+ MapHeroWidget: () => MapHeroWidget
1407
+ });
1408
+ var import_core13, import_react4, import_jsx_runtime27, MapWithNoSSR, MapHeroWidget;
1409
+ var init_MapHeroWidget = __esm({
1410
+ "src/components/Section/MapHeroWidget.tsx"() {
1411
+ "use strict";
1412
+ "use client";
1413
+ import_core13 = require("@geowiki/core");
1414
+ import_react4 = require("react");
1415
+ import_jsx_runtime27 = require("react/jsx-runtime");
1416
+ MapWithNoSSR = (0, import_core13.dynamic)(
1417
+ () => Promise.resolve().then(() => (init_HeroMap(), HeroMap_exports)).then((x) => x.HeroMap),
1418
+ {
1419
+ ssr: false
1420
+ }
1421
+ );
1422
+ MapHeroWidget = ({}) => {
1423
+ const [position, setPosition] = (0, import_react4.useState)(null);
1424
+ return /* @__PURE__ */ (0, import_jsx_runtime27.jsx)("div", { className: "w-full h-[560px] rounded-[12px] mt-6 overflow-hidden lg:mt-12", children: /* @__PURE__ */ (0, import_jsx_runtime27.jsx)(
1425
+ MapWithNoSSR,
1426
+ {
1427
+ ...{
1428
+ position,
1429
+ setPosition,
1430
+ showClusterMarkers: true,
1431
+ enableLocationMarker: false
1432
+ }
1433
+ }
1434
+ ) });
1435
+ };
1436
+ }
1437
+ });
1438
+
1439
+ // src/components/Section/HeroCenterTextWidget.tsx
1440
+ var HeroCenterTextWidget_exports = {};
1441
+ __export(HeroCenterTextWidget_exports, {
1442
+ HeroCenterTextWidget: () => HeroCenterTextWidget
1443
+ });
1444
+ var import_ui19, import_jsx_runtime28, HeroCenterTextWidget;
1445
+ var init_HeroCenterTextWidget = __esm({
1446
+ "src/components/Section/HeroCenterTextWidget.tsx"() {
1447
+ "use strict";
1448
+ "use client";
1449
+ import_ui19 = require("@geowiki/ui");
1450
+ import_jsx_runtime28 = require("react/jsx-runtime");
1451
+ HeroCenterTextWidget = ({ data }) => {
1452
+ var paths = data?.HeroCenterText?.Image?.Paths;
1453
+ return /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "grid pt-8", children: [
1454
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "w-full bg-center bg-cover hero-geo-wiki rounded-xl overflow-hidden col-start-1 row-start-1", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_ui19.CmsImage, { src: paths[0] }) }),
1455
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "col-start-1 row-start-1 z-10 flex justify-center items-center", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsxs)("div", { className: "text-center bg-opacity-60 p-8 bg-gray-600 text-white", children: [
1456
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("h1", { className: "text-4xl font-bold mt-2 sm:mt-0 mb-4 sm:mb-2", children: data.HeroCenterText?.MainText?.Text }),
1457
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("p", { className: "text-xl mb-6", children: data.HeroCenterText?.SubText?.Text }),
1458
+ /* @__PURE__ */ (0, import_jsx_runtime28.jsx)("div", { className: "flex flex-row flex-wrap gap-4 justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime28.jsx)(import_ui19.ButtonList, { data: data?.Buttons?.ContentItems }) })
1459
+ ] }) })
1460
+ ] });
1461
+ };
1462
+ }
1463
+ });
1464
+
1465
+ // src/components/Section/html-section.tsx
1466
+ var html_section_exports = {};
1467
+ __export(html_section_exports, {
1468
+ HtmlSection: () => HtmlSection
1469
+ });
1470
+ var import_ui20, import_jsx_runtime29, HtmlSection;
1471
+ var init_html_section = __esm({
1472
+ "src/components/Section/html-section.tsx"() {
1473
+ "use strict";
1474
+ "use client";
1475
+ import_ui20 = require("@geowiki/ui");
1476
+ import_jsx_runtime29 = require("react/jsx-runtime");
1477
+ HtmlSection = ({ data }) => {
1478
+ const { HtmlBodyPart } = data;
1479
+ return /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "lg:container mx-auto pt-4 lg:pt-0", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)("div", { className: "max-w-screen-2xl prose prose-xl", children: /* @__PURE__ */ (0, import_jsx_runtime29.jsx)(import_ui20.HtmlView, { html: HtmlBodyPart.Html }) }) });
1480
+ };
1481
+ }
1482
+ });
1483
+
1484
+ // src/components/Section/MarkdownWidget.tsx
1485
+ var MarkdownWidget_exports = {};
1486
+ __export(MarkdownWidget_exports, {
1487
+ MarkdownWidget: () => MarkdownWidget
1488
+ });
1489
+ var import_jsx_runtime30, MarkdownWidget;
1490
+ var init_MarkdownWidget = __esm({
1491
+ "src/components/Section/MarkdownWidget.tsx"() {
1492
+ "use strict";
1493
+ "use client";
1494
+ import_jsx_runtime30 = require("react/jsx-runtime");
1495
+ MarkdownWidget = ({ data }) => {
1496
+ return /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "mx-auto flex flex-col justify-center pt-4", children: /* @__PURE__ */ (0, import_jsx_runtime30.jsx)("div", { className: "container mx-auto", children: data.MarkdownBodyPart?.Markdown }) });
1497
+ };
1498
+ }
1499
+ });
1500
+
1501
+ // src/components/Section/ContainerWidget.tsx
1502
+ var ContainerWidget_exports = {};
1503
+ __export(ContainerWidget_exports, {
1504
+ ContainerWidget: () => ContainerWidget
1505
+ });
1506
+ var import_jsx_runtime31, ContainerWidget;
1507
+ var init_ContainerWidget = __esm({
1508
+ "src/components/Section/ContainerWidget.tsx"() {
1509
+ "use strict";
1510
+ "use client";
1511
+ init_Sections();
1512
+ import_jsx_runtime31 = require("react/jsx-runtime");
1513
+ ContainerWidget = ({ data, settings, cmsUrl }) => {
1514
+ return /* @__PURE__ */ (0, import_jsx_runtime31.jsx)(
1515
+ Sections,
1516
+ {
1517
+ sections: data.FlowPart.Widgets,
1518
+ settings,
1519
+ cmsUrl
1520
+ }
1521
+ );
1522
+ };
1523
+ }
1524
+ });
1525
+
1526
+ // src/components/Section/HeroWidget.tsx
1527
+ var HeroWidget_exports = {};
1528
+ __export(HeroWidget_exports, {
1529
+ HeroWidget: () => HeroWidget
1530
+ });
1531
+ var import_ui21, import_ui22, import_ui23, import_ui24, import_ui25, import_ui26, import_core14, import_ui27, import_ui28, import_jsx_runtime32, HeroWidget;
1532
+ var init_HeroWidget = __esm({
1533
+ "src/components/Section/HeroWidget.tsx"() {
1534
+ "use strict";
1535
+ "use client";
1536
+ import_ui21 = require("@geowiki/ui");
1537
+ import_ui22 = require("@geowiki/ui");
1538
+ import_ui23 = require("@geowiki/ui");
1539
+ import_ui24 = require("@geowiki/ui");
1540
+ import_ui25 = require("@geowiki/ui");
1541
+ import_ui26 = require("@geowiki/ui");
1542
+ import_core14 = require("@geowiki/core");
1543
+ import_ui27 = require("@geowiki/ui");
1544
+ import_ui28 = require("@geowiki/ui");
1545
+ import_jsx_runtime32 = require("react/jsx-runtime");
1546
+ HeroWidget = ({ data }) => {
1547
+ const type = data?.Hero?.Type?.Text;
1548
+ var cmsUrl = (0, import_core14.useCmsUrl)();
1549
+ switch (type) {
1550
+ case "image":
1551
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(import_ui21.HeroImage, { path: data?.Hero?.Images?.Paths[0], cmsUrl });
1552
+ case "withMultipleImages":
1553
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1554
+ import_ui25.HeroWithMultipleImage,
1555
+ {
1556
+ paths: data?.Hero?.Images?.Paths,
1557
+ contentItemId: data.ContentItemId,
1558
+ title: data.Hero?.Title?.Text,
1559
+ description: data.Hero?.Description?.Text,
1560
+ links: data.Buttons?.ContentItems,
1561
+ cmsUrl
1562
+ }
1563
+ );
1564
+ case "withThreeImages":
1565
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1566
+ import_ui26.HeroWithThreeImage,
1567
+ {
1568
+ paths: data?.Hero?.Images?.Paths,
1569
+ title: data?.Hero?.Title?.Text,
1570
+ description: data?.Hero?.Description?.Text,
1571
+ links: data?.Buttons?.ContentItems,
1572
+ cmsUrl
1573
+ }
1574
+ );
1575
+ case "withCenterText":
1576
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1577
+ import_ui23.HeroWithCenterText,
1578
+ {
1579
+ paths: data?.Hero?.Images?.Paths,
1580
+ title: data.Hero?.Title?.Text,
1581
+ description: data.Hero?.Description?.Text,
1582
+ links: data.Buttons?.ContentItems,
1583
+ cmsUrl
1584
+ }
1585
+ );
1586
+ case "withMap":
1587
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1588
+ import_ui24.HeroWithMap,
1589
+ {
1590
+ title: data.Hero?.Title?.Text,
1591
+ description: data.Hero?.Description?.Text,
1592
+ links: data.Buttons?.ContentItems
1593
+ }
1594
+ );
1595
+ case "withImageLeft":
1596
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1597
+ import_ui27.HeroImageLeft,
1598
+ {
1599
+ logoPath: data?.Hero?.Logo?.Paths[0],
1600
+ path: data?.Hero?.Images?.Paths[0],
1601
+ text: data.Hero?.Description?.Text
1602
+ }
1603
+ );
1604
+ case "withImageRight":
1605
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1606
+ import_ui27.HeroImageRight,
1607
+ {
1608
+ path: data?.Hero?.Images?.Paths[0],
1609
+ title: data.Hero?.Title?.Text,
1610
+ description: data.Hero?.Description?.Text
1611
+ }
1612
+ );
1613
+ case "mobileDevice":
1614
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1615
+ import_ui28.HeroWidgetMobileDevice,
1616
+ {
1617
+ version: data.Hero?.LayoutVersion.Value ?? 1,
1618
+ title: data.Hero?.Title?.Text,
1619
+ description: data.Hero?.Description?.Text,
1620
+ image: data.Hero?.Images?.Paths?.[0],
1621
+ cmsUrl,
1622
+ links: data?.Buttons?.ContentItems,
1623
+ storeLinks: [
1624
+ ...data.Hero?.GooglePlayUrl.Text ? [{ url: data.Hero.GooglePlayUrl.Text, type: "google" }] : [],
1625
+ ...data.Hero?.AppStoreUrl.Text ? [{ url: data.Hero.AppStoreUrl.Text, type: "apple" }] : []
1626
+ ]
1627
+ }
1628
+ );
1629
+ default:
1630
+ return /* @__PURE__ */ (0, import_jsx_runtime32.jsx)(
1631
+ import_ui22.HeroWidgetOld,
1632
+ {
1633
+ paths: data?.HeroWidget.Images?.Paths,
1634
+ contentItemId: data.ContentItemId,
1635
+ mainText: data.HeroWidget.MainText.Text,
1636
+ subText: data.HeroWidget.SubText.Text,
1637
+ contentItems: data?.Buttons?.ContentItems,
1638
+ cmsUrl
1639
+ }
1640
+ );
1641
+ }
1642
+ };
1643
+ }
1644
+ });
1645
+
1646
+ // src/components/Section/HeadingTextWidget.tsx
1647
+ var HeadingTextWidget_exports = {};
1648
+ __export(HeadingTextWidget_exports, {
1649
+ HeadingTextWidget: () => HeadingTextWidget
1650
+ });
1651
+ var import_ui29, import_jsx_runtime33, HeadingTextWidget;
1652
+ var init_HeadingTextWidget = __esm({
1653
+ "src/components/Section/HeadingTextWidget.tsx"() {
1654
+ "use strict";
1655
+ import_ui29 = require("@geowiki/ui");
1656
+ import_jsx_runtime33 = require("react/jsx-runtime");
1657
+ HeadingTextWidget = ({ data }) => {
1658
+ var type = data.HeadingText.Type.Values[0];
1659
+ var buttonProps = {
1660
+ text: data.LinkPart.Text.Text,
1661
+ link: data.LinkPart.Url.Text,
1662
+ isNewTab: data.LinkPart.IsNewTab.Value
1663
+ };
1664
+ if (type === "H1BodyButton") {
1665
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1666
+ import_ui29.H1BodyButton,
1667
+ {
1668
+ title: data.TitlePart.Title,
1669
+ textBody: data.HeadingText.TextBody.Html,
1670
+ button: buttonProps
1671
+ }
1672
+ ) });
1673
+ }
1674
+ if (type === "H2BodyButton") {
1675
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1676
+ import_ui29.H2BodyButton,
1677
+ {
1678
+ tag: data.HeadingText.Tag.Text,
1679
+ textBody: data.HeadingText.TextBody.Html,
1680
+ button: buttonProps,
1681
+ title: data.TitlePart.Title,
1682
+ bottomPadding: data.HeadingText.BottomPadding?.Text
1683
+ }
1684
+ );
1685
+ }
1686
+ if (type === "LandingTitleBodyButton") {
1687
+ return /* @__PURE__ */ (0, import_jsx_runtime33.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime33.jsx)(
1688
+ import_ui29.LandingTitleBodyButton,
1689
+ {
1690
+ textBody: data.HeadingText.TextBody.Text,
1691
+ button: buttonProps,
1692
+ title: data.TitlePart.Title
1693
+ }
1694
+ ) });
1695
+ }
1696
+ return null;
1697
+ };
1698
+ }
1699
+ });
1700
+
1701
+ // src/components/Section/ResourceQuickFindWidget.tsx
1702
+ var ResourceQuickFindWidget_exports = {};
1703
+ __export(ResourceQuickFindWidget_exports, {
1704
+ ResourceQuickFindWidget: () => ResourceQuickFindWidget
1705
+ });
1706
+ var import_recodo4, import_jsx_runtime34, ResourceQuickFindWidget;
1707
+ var init_ResourceQuickFindWidget = __esm({
1708
+ "src/components/Section/ResourceQuickFindWidget.tsx"() {
1709
+ "use strict";
1710
+ import_recodo4 = require("@geowiki/recodo");
1711
+ import_jsx_runtime34 = require("react/jsx-runtime");
1712
+ ResourceQuickFindWidget = ({}) => {
1713
+ return /* @__PURE__ */ (0, import_jsx_runtime34.jsx)(import_recodo4.ResourcesQuickFind, {});
1714
+ };
1715
+ }
1716
+ });
1717
+
1718
+ // src/components/Section/NewfeedPreviewWidget.tsx
1719
+ var NewfeedPreviewWidget_exports = {};
1720
+ __export(NewfeedPreviewWidget_exports, {
1721
+ NewsfeedPreviewWidget: () => NewsfeedPreviewWidget
1722
+ });
1723
+ var import_core15, import_ui30, import_jsx_runtime35, NewsfeedPreviewWidget;
1724
+ var init_NewfeedPreviewWidget = __esm({
1725
+ "src/components/Section/NewfeedPreviewWidget.tsx"() {
1726
+ "use strict";
1727
+ import_core15 = require("@geowiki/core");
1728
+ import_ui30 = require("@geowiki/ui");
1729
+ import_jsx_runtime35 = require("react/jsx-runtime");
1730
+ NewsfeedPreviewWidget = () => {
1731
+ var { data: newsItems, isLoading } = (0, import_core15.useNews)("all", 0, 6);
1732
+ var newsArticleData = newsItems?.slice(0, 4)?.map((news) => {
1733
+ return {
1734
+ title: news.title,
1735
+ description: news.description,
1736
+ username: news.sourceName,
1737
+ time: news.publishDate,
1738
+ language: news.language,
1739
+ path: news.imageUrl,
1740
+ link: news.url
1741
+ };
1742
+ });
1743
+ if (isLoading) {
1744
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)("div", { children: "Loading..." });
1745
+ }
1746
+ return /* @__PURE__ */ (0, import_jsx_runtime35.jsx)(import_ui30.NewsfeedPreview, { newsArticleData });
1747
+ };
1748
+ }
1749
+ });
1750
+
1751
+ // src/components/Section/SubtitleH3BodyWidget.tsx
1752
+ var SubtitleH3BodyWidget_exports = {};
1753
+ __export(SubtitleH3BodyWidget_exports, {
1754
+ SubtitleH3BodyWidget: () => SubtitleH3BodyWidget
1755
+ });
1756
+ var import_ui31, import_jsx_runtime36, SubtitleH3BodyWidget;
1757
+ var init_SubtitleH3BodyWidget = __esm({
1758
+ "src/components/Section/SubtitleH3BodyWidget.tsx"() {
1759
+ "use strict";
1760
+ import_ui31 = require("@geowiki/ui");
1761
+ import_jsx_runtime36 = require("react/jsx-runtime");
1762
+ SubtitleH3BodyWidget = ({ data }) => {
1763
+ var buttonProps = {
1764
+ text: data.LinkPart.Text.Text,
1765
+ link: data.LinkPart.Url.Text,
1766
+ isNewTab: data.LinkPart.IsNewTab.Value
1767
+ };
1768
+ var bgColor = data.SubtitleH3Body.BackgroundColor?.Text;
1769
+ const backgroundColor = (color) => {
1770
+ switch (color) {
1771
+ case "greyLightest":
1772
+ return "bg-grey-lightest";
1773
+ case "lightPurple":
1774
+ return "bg-accent-secondary";
1775
+ case "green":
1776
+ return "bg-primary text-white";
1777
+ }
1778
+ };
1779
+ return /* @__PURE__ */ (0, import_jsx_runtime36.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime36.jsx)(
1780
+ import_ui31.SubtitleH3Body,
1781
+ {
1782
+ title: data.TitlePart.Title,
1783
+ subtitle: data.SubtitleH3Body.Subtitle.Text,
1784
+ content: data.SubtitleH3Body.Content.Html,
1785
+ button: buttonProps,
1786
+ backgroundColor: backgroundColor(bgColor),
1787
+ imgClass: data.SubtitleH3Body.ImageClass?.Text
1788
+ }
1789
+ ) });
1790
+ };
1791
+ }
1792
+ });
1793
+
1794
+ // src/components/Section/SubtitleH3BodyInternalLinkListWidget.tsx
1795
+ var SubtitleH3BodyInternalLinkListWidget_exports = {};
1796
+ __export(SubtitleH3BodyInternalLinkListWidget_exports, {
1797
+ SubtitleH3BodyInternalLinkListWidget: () => SubtitleH3BodyInternalLinkListWidget
1798
+ });
1799
+ var import_ui32, import_jsx_runtime37, SubtitleH3BodyInternalLinkListWidget;
1800
+ var init_SubtitleH3BodyInternalLinkListWidget = __esm({
1801
+ "src/components/Section/SubtitleH3BodyInternalLinkListWidget.tsx"() {
1802
+ "use strict";
1803
+ import_ui32 = require("@geowiki/ui");
1804
+ import_jsx_runtime37 = require("react/jsx-runtime");
1805
+ SubtitleH3BodyInternalLinkListWidget = ({
1806
+ data
1807
+ }) => {
1808
+ const links = data.BagPart.ContentItems.map((contentItem) => ({
1809
+ title: contentItem.HtmlLink.Url.Text,
1810
+ href: contentItem.HtmlLink.Url.Url,
1811
+ isNewTab: contentItem.HtmlLink.NewTab.Value,
1812
+ type: contentItem.HtmlLink.NewTab.Value ? "external" : "internal"
1813
+ }));
1814
+ return /* @__PURE__ */ (0, import_jsx_runtime37.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime37.jsx)(
1815
+ import_ui32.SubtitleH3BodyInternalLinkList,
1816
+ {
1817
+ title: data.TitlePart.Title,
1818
+ subtitle: data.SubtitleH3BodyInternalLinkList.Subtitle?.Text,
1819
+ textBody: data.SubtitleH3BodyInternalLinkList.Content?.Html ?? data.SubtitleH3BodyInternalLinkList.TextBody?.Text,
1820
+ links
1821
+ }
1822
+ ) });
1823
+ };
1824
+ }
1825
+ });
1826
+
1827
+ // src/components/Section/SubtitleH3FaqWidget.tsx
1828
+ var SubtitleH3FaqWidget_exports = {};
1829
+ __export(SubtitleH3FaqWidget_exports, {
1830
+ SubtitleH3FaqWidget: () => SubtitleH3FaqWidget
1831
+ });
1832
+ var import_ui33, import_uuid, import_jsx_runtime38, SubtitleH3FaqWidget;
1833
+ var init_SubtitleH3FaqWidget = __esm({
1834
+ "src/components/Section/SubtitleH3FaqWidget.tsx"() {
1835
+ "use strict";
1836
+ import_ui33 = require("@geowiki/ui");
1837
+ import_uuid = require("uuid");
1838
+ import_jsx_runtime38 = require("react/jsx-runtime");
1839
+ SubtitleH3FaqWidget = ({ data }) => {
1840
+ var type = data.SubtitleH3Faq.Type.Text;
1841
+ var bgColor = data.SubtitleH3Faq.BackgroundColor?.Text;
1842
+ const backgroundColor = (color) => {
1843
+ switch (color) {
1844
+ case "transparent":
1845
+ return "";
1846
+ case "lightPurple":
1847
+ return "bg-accent-secondary";
1848
+ case "green":
1849
+ return "bg-primary text-white";
1850
+ }
1851
+ };
1852
+ const addLinksStyles = (text) => {
1853
+ const textToAdd = " class='text-primary font-semibold'";
1854
+ const regex = /(<a(?=[^>]*>))/g;
1855
+ const modifiedText = text?.replace(regex, `$1${textToAdd}`);
1856
+ return modifiedText;
1857
+ };
1858
+ if (type === "withText") {
1859
+ const faqs = data.BagPart.ContentItems.map((contentItem) => ({
1860
+ question: contentItem.Faq.Question.Text,
1861
+ answer: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1862
+ import_ui33.HtmlView,
1863
+ {
1864
+ cssClass: "m-0",
1865
+ html: addLinksStyles(contentItem.Faq.AnswerText?.Html)
1866
+ }
1867
+ ),
1868
+ hint: contentItem.Faq.Hint.Text
1869
+ }));
1870
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1871
+ import_ui33.SubtitleH3Faq,
1872
+ {
1873
+ title: data.TitlePart.Title,
1874
+ subtitle: data.SubtitleH3Faq.Subtitle.Text,
1875
+ description: data.SubtitleH3Faq.Description?.Text,
1876
+ faqs,
1877
+ backgroundColor: backgroundColor(bgColor)
1878
+ }
1879
+ ) });
1880
+ }
1881
+ if (type === "withLinkList") {
1882
+ var textColorLink = bgColor === "green" ? "white" : "black";
1883
+ const faqs = data.BagPart.ContentItems.map((contentItem) => ({
1884
+ question: contentItem.Faq.Question.Text,
1885
+ answer: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { className: "grid grid-cols-1 space-y-4", children: contentItem.BagPart.ContentItems.map((contentItem2) => /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1886
+ import_ui33.DesignCustomLink,
1887
+ {
1888
+ linkText: contentItem2.Link?.Text?.Text,
1889
+ href: contentItem2.Link?.Url?.Text,
1890
+ isNewTab: contentItem2.Link?.IsNewTab?.Value,
1891
+ fillColor: `fill-${textColorLink}`,
1892
+ className: `text-${textColorLink}`
1893
+ },
1894
+ (0, import_uuid.v4)()
1895
+ )) }),
1896
+ hint: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(import_ui33.HtmlView, { cssClass: "m-0", html: contentItem.Faq.Hint.Text })
1897
+ }));
1898
+ return /* @__PURE__ */ (0, import_jsx_runtime38.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime38.jsx)(
1899
+ import_ui33.SubtitleH3Faq,
1900
+ {
1901
+ title: data.TitlePart.Title,
1902
+ subtitle: data.SubtitleH3Faq.Subtitle.Text,
1903
+ description: data.SubtitleH3Faq.Description?.Text,
1904
+ faqs,
1905
+ backgroundColor: backgroundColor(bgColor)
1906
+ }
1907
+ ) });
1908
+ }
1909
+ };
1910
+ }
1911
+ });
1912
+
1913
+ // src/components/Section/NewTestimonialsWidget.tsx
1914
+ var NewTestimonialsWidget_exports = {};
1915
+ __export(NewTestimonialsWidget_exports, {
1916
+ NewTestimonialsWidget: () => NewTestimonialsWidget
1917
+ });
1918
+ var import_ui34, import_jsx_runtime39, NewTestimonialsWidget;
1919
+ var init_NewTestimonialsWidget = __esm({
1920
+ "src/components/Section/NewTestimonialsWidget.tsx"() {
1921
+ "use strict";
1922
+ "use client";
1923
+ import_ui34 = require("@geowiki/ui");
1924
+ import_jsx_runtime39 = require("react/jsx-runtime");
1925
+ NewTestimonialsWidget = ({ data }) => {
1926
+ const testimonials = data.BagPart.ContentItems.map((contentItem) => ({
1927
+ info: contentItem.Testimonial?.Info?.Text,
1928
+ name: contentItem.Testimonial?.Name?.Text,
1929
+ position: contentItem.Testimonial?.Title?.Text,
1930
+ imagePath: contentItem.Testimonial?.Image?.Paths[0]
1931
+ }));
1932
+ return /* @__PURE__ */ (0, import_jsx_runtime39.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime39.jsx)(import_ui34.DesignTestimonials, { testimonials }) });
1933
+ };
1934
+ }
1935
+ });
1936
+
1937
+ // src/components/Section/SubtitleH3ResourceCollectionsWidget.tsx
1938
+ var SubtitleH3ResourceCollectionsWidget_exports = {};
1939
+ __export(SubtitleH3ResourceCollectionsWidget_exports, {
1940
+ SubtitleH3ResourceCollectionsWidget: () => SubtitleH3ResourceCollectionsWidget
1941
+ });
1942
+ var import_recodo5, import_lucide_react, import_jsx_runtime40, SubtitleH3ResourceCollectionsWidget;
1943
+ var init_SubtitleH3ResourceCollectionsWidget = __esm({
1944
+ "src/components/Section/SubtitleH3ResourceCollectionsWidget.tsx"() {
1945
+ "use strict";
1946
+ "use client";
1947
+ import_recodo5 = require("@geowiki/recodo");
1948
+ import_lucide_react = require("lucide-react");
1949
+ import_jsx_runtime40 = require("react/jsx-runtime");
1950
+ SubtitleH3ResourceCollectionsWidget = ({
1951
+ data
1952
+ }) => {
1953
+ const resourceCollections = data.BagPart.ContentItems.map(
1954
+ (contentItem) => ({
1955
+ title: contentItem.NewResourceCollectionItem.Title?.Text,
1956
+ type: contentItem.NewResourceCollectionItem.Subtitle?.Text,
1957
+ text: contentItem.NewResourceCollectionItem.Text?.Text,
1958
+ icon: contentItem.NewResourceCollectionItem.Icon?.Text,
1959
+ button: {
1960
+ link: contentItem.NewResourceCollectionItem.Link?.Text,
1961
+ isNewTab: contentItem.NewResourceCollectionItem.IsNewTab?.Value,
1962
+ variant: "circle",
1963
+ size: "sm",
1964
+ contents: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(import_lucide_react.ArrowRight, { className: "h-6 w-10 my-2" }),
1965
+ className: "w-12 h-12 p-2"
1966
+ }
1967
+ })
1968
+ );
1969
+ return /* @__PURE__ */ (0, import_jsx_runtime40.jsx)("div", { className: "mt-8 lg:mt-24", children: /* @__PURE__ */ (0, import_jsx_runtime40.jsx)(
1970
+ import_recodo5.SubtitleH3ResourceCollections,
1971
+ {
1972
+ title: data.TitlePart?.Title,
1973
+ subtitle: data.SubtitleH3ResourceCollections?.Subtitle?.Text,
1974
+ resourceCollections
1975
+ }
1976
+ ) });
1977
+ };
1978
+ }
1979
+ });
1980
+
1981
+ // src/components/Section/BannerFollowLinksWidget.tsx
1982
+ var BannerFollowLinksWidget_exports = {};
1983
+ __export(BannerFollowLinksWidget_exports, {
1984
+ BannerFollowLinksWidget: () => BannerFollowLinksWidget
1985
+ });
1986
+ var import_ui35, import_jsx_runtime41, BannerFollowLinksWidget;
1987
+ var init_BannerFollowLinksWidget = __esm({
1988
+ "src/components/Section/BannerFollowLinksWidget.tsx"() {
1989
+ "use strict";
1990
+ "use client";
1991
+ import_ui35 = require("@geowiki/ui");
1992
+ import_jsx_runtime41 = require("react/jsx-runtime");
1993
+ BannerFollowLinksWidget = ({ data }) => {
1994
+ return /* @__PURE__ */ (0, import_jsx_runtime41.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime41.jsx)(
1995
+ import_ui35.BannerFollowLinks,
1996
+ {
1997
+ title: data.TitlePart?.Title,
1998
+ links: data.BagPart.ContentItems.map((contentItem) => ({
1999
+ text: contentItem.HtmlLink?.Url?.Text,
2000
+ href: contentItem.HtmlLink?.Url?.Url,
2001
+ isNewTab: contentItem.HtmlLink?.NewTab?.Value
2002
+ }))
2003
+ }
2004
+ ) });
2005
+ };
2006
+ }
2007
+ });
2008
+
2009
+ // src/components/Section/NewContactUsWidget.tsx
2010
+ var NewContactUsWidget_exports = {};
2011
+ __export(NewContactUsWidget_exports, {
2012
+ NewContactUsWidget: () => NewContactUsWidget
2013
+ });
2014
+ var import_api_proxy3, import_react5, import_react_hook_form2, import_ui36, import_ui37, import_ui38, import_react6, import_core16, import_zod, import_zod2, import_jsx_runtime42, ContactFormSchema, NewContactUsWidget;
2015
+ var init_NewContactUsWidget = __esm({
2016
+ "src/components/Section/NewContactUsWidget.tsx"() {
2017
+ "use strict";
2018
+ "use client";
2019
+ import_api_proxy3 = require("@geowiki/api-proxy");
2020
+ import_react5 = require("react");
2021
+ import_react_hook_form2 = require("react-hook-form");
2022
+ import_ui36 = require("@geowiki/ui");
2023
+ import_ui37 = require("@geowiki/ui");
2024
+ import_ui38 = require("@geowiki/ui");
2025
+ import_react6 = require("react");
2026
+ import_core16 = require("@geowiki/core");
2027
+ import_zod = require("zod");
2028
+ import_zod2 = require("@hookform/resolvers/zod");
2029
+ import_jsx_runtime42 = require("react/jsx-runtime");
2030
+ ContactFormSchema = import_zod.z.object({
2031
+ name: import_zod.z.string().min(3, "Name is required"),
2032
+ email: import_zod.z.string().email("Invalid email address"),
2033
+ subject: import_zod.z.string().min(3, "Subject is required"),
2034
+ role: import_zod.z.string({ message: "Role is required" }).min(3, "Role is required"),
2035
+ message: import_zod.z.string().min(3, "Message is required"),
2036
+ acceptTerms: import_zod.z.boolean({ message: "You must accept the terms and conditions" }).default(false).refine((val) => {
2037
+ return val === true;
2038
+ }, "You must accept the terms and conditions")
2039
+ });
2040
+ NewContactUsWidget = ({ data }) => {
2041
+ console.log("data", data);
2042
+ const formRef = (0, import_react5.useRef)(null);
2043
+ const { data: audiences, isLoading: isAudienceLoading } = (0, import_core16.useAudience)();
2044
+ const [open, setOpen] = (0, import_react6.useState)(false);
2045
+ const [openSending, setOpenSending] = (0, import_react6.useState)(false);
2046
+ const form = (0, import_react_hook_form2.useForm)({
2047
+ resolver: (0, import_zod2.zodResolver)(ContactFormSchema)
2048
+ });
2049
+ const {
2050
+ register,
2051
+ handleSubmit,
2052
+ watch,
2053
+ reset,
2054
+ control,
2055
+ formState: { errors }
2056
+ } = form;
2057
+ const acceptTerms = watch("acceptTerms");
2058
+ const onSubmit = async (data2) => {
2059
+ setOpenSending(true);
2060
+ import_api_proxy3.ClusterService.clusterRecodoContact({
2061
+ name: data2.name,
2062
+ email: data2.email,
2063
+ subject: data2.subject,
2064
+ role: data2.role,
2065
+ message: data2.message
2066
+ }).then(() => {
2067
+ setOpenSending(false);
2068
+ setOpen(true);
2069
+ reset({
2070
+ name: "",
2071
+ email: "",
2072
+ subject: "",
2073
+ role: void 0,
2074
+ message: "",
2075
+ acceptTerms: false
2076
+ });
2077
+ }).catch((error) => {
2078
+ console.log(error);
2079
+ setOpenSending(false);
2080
+ setOpen(false);
2081
+ });
2082
+ };
2083
+ return /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("div", { className: "p-5 bg-grey-lightest rounded-xl flex justify-center mt-6 lg:px-88 lg:py-20 lg:mt-12", children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ui37.Form, { ...form, children: /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2084
+ "form",
2085
+ {
2086
+ onSubmit: handleSubmit(onSubmit),
2087
+ className: "w-[41.25rem] space-y-8",
2088
+ ref: formRef,
2089
+ children: [
2090
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "space-y-8", children: [
2091
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2092
+ import_ui36.DesignInput,
2093
+ {
2094
+ placeholder: "Your name",
2095
+ type: "text",
2096
+ id: "name",
2097
+ autoComplete: "name",
2098
+ ...register("name", { required: true })
2099
+ }
2100
+ ),
2101
+ errors.name && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-red-500 text-sm", children: errors.name.message }),
2102
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2103
+ import_ui36.DesignInput,
2104
+ {
2105
+ placeholder: "Your email",
2106
+ type: "email",
2107
+ id: "from",
2108
+ autoComplete: "email",
2109
+ ...register("email", { required: true })
2110
+ }
2111
+ ),
2112
+ errors.email && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-red-500 text-sm", children: errors.email.message }),
2113
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2114
+ import_ui36.DesignInput,
2115
+ {
2116
+ placeholder: "Your subject",
2117
+ id: "subject",
2118
+ ...register("subject", { required: true })
2119
+ }
2120
+ ),
2121
+ errors.subject && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-red-500 text-sm", children: errors.subject.message }),
2122
+ !isAudienceLoading && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2123
+ import_ui37.FormField,
2124
+ {
2125
+ control,
2126
+ name: "role",
2127
+ render: ({ field }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)(
2128
+ import_ui37.DesignSelect,
2129
+ {
2130
+ onValueChange: field.onChange,
2131
+ defaultValue: field.value,
2132
+ children: [
2133
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2134
+ import_ui37.DesignSelectTrigger,
2135
+ {
2136
+ className: "pl-0 py-1.5",
2137
+ variant: "input",
2138
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ui37.DesignSelectValue, { placeholder: "Your role" })
2139
+ }
2140
+ ),
2141
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ui37.DesignSelectContent, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ui37.DesignSelectGroup, { children: audiences.map((audience) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2142
+ import_ui37.DesignSelectItem,
2143
+ {
2144
+ value: audience.value,
2145
+ children: audience.value
2146
+ },
2147
+ audience.key
2148
+ )) }) })
2149
+ ]
2150
+ },
2151
+ field.value
2152
+ )
2153
+ }
2154
+ ),
2155
+ errors.role && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-red-500 text-sm", children: errors.role.message }),
2156
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2157
+ "textarea",
2158
+ {
2159
+ id: "message",
2160
+ placeholder: "Your message",
2161
+ ...register("message", { required: true }),
2162
+ rows: 5,
2163
+ className: "textarea textarea-bordered-0 text-sm lg:text-base w-full bg-transparent pl-0 border-0 border-b border-zinc-300 focus-within:border-primary focus:ring-0 focus:outline-none",
2164
+ defaultValue: ""
2165
+ }
2166
+ ),
2167
+ errors.message && /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-red-500 text-sm", children: errors.message.message })
2168
+ ] }),
2169
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("div", { className: "flex items-center space-x-1", children: [
2170
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2171
+ import_ui37.FormField,
2172
+ {
2173
+ control,
2174
+ name: "acceptTerms",
2175
+ render: ({ field }) => /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ui37.FormItem, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(import_ui37.FormControl, { children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2176
+ import_ui36.Checkbox,
2177
+ {
2178
+ onCheckedChange: field.onChange,
2179
+ checked: field.value
2180
+ }
2181
+ ) }) })
2182
+ }
2183
+ ),
2184
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsxs)("label", { children: [
2185
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-sm lg:text-base leading-[130%]", children: "I'm accepting Recodo's" }),
2186
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2187
+ "a",
2188
+ {
2189
+ href: "/page/terms-of-use",
2190
+ className: " text-primary",
2191
+ target: "_blank",
2192
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-[.9375rem] lg:text-base font-semibold leading-[130%]", children: " Terms of Use " })
2193
+ }
2194
+ ),
2195
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-sm lg:text-base leading-[130%]", children: "and " }),
2196
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2197
+ "a",
2198
+ {
2199
+ href: "/page/privacy-policy",
2200
+ className: " text-primary",
2201
+ target: "_blank",
2202
+ children: /* @__PURE__ */ (0, import_jsx_runtime42.jsx)("span", { className: "text-[.9375rem] lg:text-base font-semibold leading-[130%]", children: "Privacy Policy " })
2203
+ }
2204
+ )
2205
+ ] })
2206
+ ] }),
2207
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2208
+ import_ui38.DesignButton,
2209
+ {
2210
+ type: "submit",
2211
+ disabled: !acceptTerms,
2212
+ className: "w-full lg:w-auto",
2213
+ children: "Send"
2214
+ }
2215
+ ),
2216
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2217
+ import_ui37.Notification,
2218
+ {
2219
+ title: "Sending",
2220
+ description: " ",
2221
+ open: openSending,
2222
+ setOpen: setOpenSending
2223
+ }
2224
+ ),
2225
+ /* @__PURE__ */ (0, import_jsx_runtime42.jsx)(
2226
+ import_ui37.Notification,
2227
+ {
2228
+ title: "Thank you for submitting your information.",
2229
+ description: "Someone from the Recodo team will contact you shortly.",
2230
+ open,
2231
+ setOpen
2232
+ }
2233
+ )
2234
+ ]
2235
+ }
2236
+ ) }) });
2237
+ };
2238
+ }
2239
+ });
2240
+
2241
+ // src/components/Section/ContactCardsWidget.tsx
2242
+ var ContactCardsWidget_exports = {};
2243
+ __export(ContactCardsWidget_exports, {
2244
+ ContactCardsWidget: () => ContactCardsWidget
2245
+ });
2246
+ var import_ui39, import_jsx_runtime43, ContactCardsWidget;
2247
+ var init_ContactCardsWidget = __esm({
2248
+ "src/components/Section/ContactCardsWidget.tsx"() {
2249
+ "use strict";
2250
+ "use client";
2251
+ import_ui39 = require("@geowiki/ui");
2252
+ import_jsx_runtime43 = require("react/jsx-runtime");
2253
+ ContactCardsWidget = ({ data }) => {
2254
+ const cards = data.BagPart?.ContentItems || [];
2255
+ const getIconComponent = (iconName) => {
2256
+ switch (iconName?.toLowerCase()) {
2257
+ case "globe":
2258
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "48", height: "48", viewBox: "0 0 48 48", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M25.4996 37.4478V40.4998H31.9996C32.8276 40.4998 33.4996 41.1718 33.4996 41.9998C33.4996 42.8278 32.8276 43.4998 31.9996 43.4998H15.9996C15.1716 43.4998 14.4996 42.8278 14.4996 41.9998C14.4996 41.1718 15.1716 40.4998 15.9996 40.4998H22.4996V37.3919C18.6216 36.9959 14.9977 35.4357 12.0357 32.8677L9.06157 35.8418C8.47557 36.4278 7.5255 36.4278 6.9395 35.8418C6.3535 35.2558 6.3535 34.3058 6.9395 33.7198L10.9395 29.7198C11.2215 29.4378 11.6016 29.2798 11.9996 29.2798C12.0016 29.2798 12.0035 29.2798 12.0035 29.2798C12.4035 29.2798 12.7875 29.4419 13.0655 29.7259C16.1075 32.8039 20.1535 34.4998 24.4595 34.4998C33.3035 34.4998 40.4996 27.3138 40.4996 18.4798C40.4996 14.1798 38.8017 10.1258 35.7217 7.06375C35.1337 6.47975 35.1294 5.52968 35.7134 4.94168C36.2994 4.35368 37.2535 4.35382 37.8355 4.93582C41.4875 8.56382 43.4996 13.3758 43.4996 18.4798C43.4996 28.6178 35.5136 36.9038 25.4996 37.4478ZM23.9996 6.49979C17.3816 6.49979 11.9996 11.8818 11.9996 18.4998C11.9996 25.1178 17.3816 30.4998 23.9996 30.4998C30.6176 30.4998 35.9996 25.1178 35.9996 18.4998C35.9996 11.8818 30.6176 6.49979 23.9996 6.49979Z", fill: "black" }) });
2259
+ case "gallery":
2260
+ case "frames":
2261
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "48", height: "48", viewBox: "0 0 48 48", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M44.896 15.2155L42.4961 32.3776C42.1821 34.5636 41.3279 36.1156 39.9819 37.0016C39.5159 37.2416 39.0061 36.9998 39.0061 36.5138V19.3317C39.0061 14.1137 35.8901 10.9977 30.6721 10.9977C30.6721 10.9977 12.4479 10.9977 11.8479 10.9977C11.2479 10.9977 11.2339 10.4574 11.2759 10.2174C11.5919 8.32543 12.34 6.92541 13.5 6.05141C14.714 5.13741 16.354 4.81961 18.384 5.10561L39.5061 8.06557C41.5401 8.35357 43.0359 9.11568 43.9519 10.3317C44.8659 11.5457 45.184 13.1895 44.896 15.2155ZM36.0061 19.3297V36.6657C36.0061 40.2217 34.2281 41.9997 30.6721 41.9997H9.33594C5.77994 41.9997 4.00195 40.2217 4.00195 36.6657V19.3297C4.00195 15.7737 5.77994 13.9957 9.33594 13.9957H30.6721C34.2281 13.9957 36.0061 15.7717 36.0061 19.3297ZM7 19.3297V33.6857L9.86597 30.8195C10.546 30.1195 11.686 30.1195 12.386 30.8195L14.0459 32.4796C14.3859 32.8196 14.9659 32.8196 15.3059 32.4796L24.0859 23.6998C24.7659 23.0198 25.906 23.0198 26.606 23.6998L33.0061 30.1159V19.3297C33.0061 17.4317 32.5701 16.9957 30.6721 16.9957H9.33594C7.43594 16.9957 7 17.4317 7 19.3297ZM13.0039 24.9997C14.1059 24.9997 15 24.1037 15 22.9997C15 21.8957 14.1059 20.9997 13.0039 20.9997H12.988C11.886 20.9997 11 21.8957 11 22.9997C11 24.1037 11.9019 24.9997 13.0039 24.9997Z", fill: "black" }) });
2262
+ case "document":
2263
+ case "list":
2264
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", width: "48", height: "48", viewBox: "0 0 48 48", fill: "none", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M37 4.5H14C9.164 4.5 6.5 7.164 6.5 12V36C6.5 40.486 9.514 43.5 14 43.5H37C39.48 43.5 41.5 41.482 41.5 39V27V9C41.5 6.518 39.48 4.5 37 4.5ZM18 12.5H30C30.828 12.5 31.5 13.172 31.5 14C31.5 14.828 30.828 15.5 30 15.5H18C17.172 15.5 16.5 14.828 16.5 14C16.5 13.172 17.172 12.5 18 12.5ZM18 18.5H26C26.828 18.5 27.5 19.172 27.5 20C27.5 20.828 26.828 21.5 26 21.5H18C17.172 21.5 16.5 20.828 16.5 20C16.5 19.172 17.172 18.5 18 18.5ZM38.5 39C38.5 39.828 37.826 40.5 37 40.5H14C9.94 40.5 9.5 37.352 9.5 36C9.5 34.648 9.94 31.5 14 31.5H37C37.29 31.5 37.5702 31.4661 37.8442 31.4141C37.9322 31.3981 38.0161 31.3679 38.1021 31.3459C38.2341 31.3119 38.372 31.2879 38.5 31.2419V39Z", fill: "black" }) });
2265
+ default:
2266
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2267
+ "svg",
2268
+ {
2269
+ className: "w-8 h-8",
2270
+ fill: "currentColor",
2271
+ viewBox: "0 0 24 24",
2272
+ xmlns: "http://www.w3.org/2000/svg",
2273
+ "aria-label": "Star icon",
2274
+ children: [
2275
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("title", { children: "Star icon" }),
2276
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("path", { d: "M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z" })
2277
+ ]
2278
+ }
2279
+ );
2280
+ }
2281
+ };
2282
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "py-16", children: /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8 max-w-6xl mx-auto", children: cards.map((card, index) => {
2283
+ const cardId = card.NewResourceCollectionItem?.Title?.Text || `card-${index}`;
2284
+ return /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2285
+ "div",
2286
+ {
2287
+ className: "bg-gray-100 rounded-xl py-6 px-6 hover:bg-gray-100 hover:shadow-none transition-none",
2288
+ children: [
2289
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("div", { className: "text-black mb-4", children: getIconComponent(
2290
+ card.NewResourceCollectionItem?.Icon?.Text || void 0
2291
+ ) }),
2292
+ card.NewResourceCollectionItem?.Subtitle?.Text && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-green-600 text-base font-semibold mb-2", children: card.NewResourceCollectionItem.Subtitle.Text }),
2293
+ card.NewResourceCollectionItem?.Title?.Text && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("h3", { className: "text-2xl font-bold text-gray-900 mb-4", children: card.NewResourceCollectionItem.Title.Text }),
2294
+ card.NewResourceCollectionItem?.Text?.Text && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("p", { className: "text-gray-700 mb-6 leading-relaxed", children: card.NewResourceCollectionItem.Text.Text }),
2295
+ card.NewResourceCollectionItem?.Link?.Text && /* @__PURE__ */ (0, import_jsx_runtime43.jsx)(
2296
+ import_ui39.DesignButton,
2297
+ {
2298
+ variant: "primary",
2299
+ size: "sm",
2300
+ className: "bg-[#59AD31] hover:bg-[#4a9027] text-white rounded-full w-12 h-12 p-0 flex items-center justify-center",
2301
+ onClick: () => {
2302
+ const linkText = card.NewResourceCollectionItem?.Link?.Text ?? "";
2303
+ if (linkText && typeof linkText === "string") {
2304
+ if (card.NewResourceCollectionItem?.IsNewTab?.Value) {
2305
+ window.open(linkText, "_blank");
2306
+ } else {
2307
+ window.location.href = linkText;
2308
+ }
2309
+ }
2310
+ },
2311
+ children: /* @__PURE__ */ (0, import_jsx_runtime43.jsxs)(
2312
+ "svg",
2313
+ {
2314
+ xmlns: "http://www.w3.org/2000/svg",
2315
+ width: "24",
2316
+ height: "24",
2317
+ viewBox: "0 0 24 24",
2318
+ fill: "none",
2319
+ stroke: "currentColor",
2320
+ strokeWidth: "2",
2321
+ strokeLinecap: "round",
2322
+ strokeLinejoin: "round",
2323
+ className: "h-6 w-10",
2324
+ "aria-label": "Arrow right",
2325
+ children: [
2326
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("title", { children: "Arrow right" }),
2327
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("line", { x1: "5", x2: "19", y1: "12", y2: "12" }),
2328
+ /* @__PURE__ */ (0, import_jsx_runtime43.jsx)("polyline", { points: "12 5 19 12 12 19" })
2329
+ ]
2330
+ }
2331
+ )
2332
+ }
2333
+ )
2334
+ ]
2335
+ },
2336
+ cardId
2337
+ );
2338
+ }) }) });
2339
+ };
2340
+ }
2341
+ });
2342
+
2343
+ // src/components/Section/SubtitleH3BodySpecialFeatureResourceCollectionsWidget.tsx
2344
+ var SubtitleH3BodySpecialFeatureResourceCollectionsWidget_exports = {};
2345
+ __export(SubtitleH3BodySpecialFeatureResourceCollectionsWidget_exports, {
2346
+ SubtitleH3BodySpecialFeatureResourceCollectionsWidget: () => SubtitleH3BodySpecialFeatureResourceCollectionsWidget
2347
+ });
2348
+ var import_recodo6, import_jsx_runtime44, SubtitleH3BodySpecialFeatureResourceCollectionsWidget;
2349
+ var init_SubtitleH3BodySpecialFeatureResourceCollectionsWidget = __esm({
2350
+ "src/components/Section/SubtitleH3BodySpecialFeatureResourceCollectionsWidget.tsx"() {
2351
+ "use strict";
2352
+ "use client";
2353
+ import_recodo6 = require("@geowiki/recodo");
2354
+ import_jsx_runtime44 = require("react/jsx-runtime");
2355
+ SubtitleH3BodySpecialFeatureResourceCollectionsWidget = ({
2356
+ data,
2357
+ cmsUrl
2358
+ }) => {
2359
+ const featureResources = data.BagPart.ContentItems.map(
2360
+ (contentItem) => ({
2361
+ imagesPath: `${cmsUrl}/media/${contentItem.FeatureResourceCollections?.Image?.Paths[0]}`,
2362
+ title: contentItem.FeatureResourceCollections.Title?.Text,
2363
+ subtitle: contentItem.FeatureResourceCollections.Subtitle?.Text,
2364
+ text: contentItem.FeatureResourceCollections.Text?.Text,
2365
+ tag: contentItem.FeatureResourceCollections.Tag?.Text,
2366
+ imageType: contentItem.FeatureResourceCollections.ImageType?.Text,
2367
+ button: {
2368
+ link: contentItem.LinkPart.Url?.Text,
2369
+ isNewTab: contentItem.LinkPart.IsNewTab?.Value,
2370
+ contents: contentItem.LinkPart.Text?.Text
2371
+ }
2372
+ })
2373
+ );
2374
+ return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
2375
+ import_recodo6.SubtitleH3BodySpecialFeatureResourceCollections,
2376
+ {
2377
+ title: data.TitlePart?.Title,
2378
+ subtitle: data.SubtitleH3BodySpecialFeatureResourceCollections?.Subtitle?.Text,
2379
+ description: data.SubtitleH3BodySpecialFeatureResourceCollections?.Description?.Text,
2380
+ featureResources
2381
+ }
2382
+ ) });
2383
+ };
2384
+ }
2385
+ });
2386
+
2387
+ // src/components/Section/H2BodyInternalLinkMapWidget.tsx
2388
+ var H2BodyInternalLinkMapWidget_exports = {};
2389
+ __export(H2BodyInternalLinkMapWidget_exports, {
2390
+ H2BodyInternalLinkMapWidget: () => H2BodyInternalLinkMapWidget
2391
+ });
2392
+ var import_core17, import_core18, import_react7, import_ui40, import_jsx_runtime45, MapWithNoSSR2, H2BodyInternalLinkMapWidget;
2393
+ var init_H2BodyInternalLinkMapWidget = __esm({
2394
+ "src/components/Section/H2BodyInternalLinkMapWidget.tsx"() {
2395
+ "use strict";
2396
+ "use client";
2397
+ import_core17 = require("@geowiki/core");
2398
+ import_core18 = require("@geowiki/core");
2399
+ import_react7 = require("react");
2400
+ import_ui40 = require("@geowiki/ui");
2401
+ import_jsx_runtime45 = require("react/jsx-runtime");
2402
+ MapWithNoSSR2 = (0, import_core18.dynamic)(
2403
+ () => Promise.resolve().then(() => (init_HeroMap(), HeroMap_exports)).then((x) => x.HeroMap),
2404
+ {
2405
+ ssr: false
2406
+ }
2407
+ );
2408
+ H2BodyInternalLinkMapWidget = ({
2409
+ data
2410
+ }) => {
2411
+ var button = {
2412
+ text: data.LinkPart.Text.Text,
2413
+ link: data.LinkPart.Url.Text,
2414
+ isNewTab: data.LinkPart.IsNewTab.Value
2415
+ };
2416
+ const [position, setPosition] = (0, import_react7.useState)(null);
2417
+ return /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2418
+ "div",
2419
+ {
2420
+ className: "rounded-xl bg-grey-lightest ",
2421
+ "data-component": "H2BodyInternalLinkMapWidget",
2422
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "container mx-auto mt-6 p-5 lg:p-0 lg:flex lg:justify-between lg:items-center lg:mt-20", children: [
2423
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsxs)("div", { className: "pt-1 pb-8 lg:pl-28 lg:pr-30 lg:py-0", children: [
2424
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2425
+ import_ui40.HtmlView,
2426
+ {
2427
+ cssClass: "m-0 lg:max-w-sm",
2428
+ html: (0, import_ui40.parseTitle)(data.TitlePart.Title, "H2")
2429
+ }
2430
+ ),
2431
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(import_ui40.Body18, { className: " py-4 lg:max-w-xs lg:pt-16 lg:pb-6", children: data.H2BodyInternalLinkMap.Text.Text }),
2432
+ button?.text && button?.link && /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2433
+ import_ui40.DesignButton,
2434
+ {
2435
+ variant: "internalLink",
2436
+ className: "h-auto p-0 text-base lg:p-0",
2437
+ children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2438
+ import_core17.Link,
2439
+ {
2440
+ href: button.link,
2441
+ target: button.isNewTab ? "_blank" : "_self",
2442
+ rel: "noreferrer",
2443
+ children: button.text
2444
+ }
2445
+ )
2446
+ }
2447
+ )
2448
+ ] }),
2449
+ /* @__PURE__ */ (0, import_jsx_runtime45.jsx)("div", { className: "w-full h-[22.75rem] rounded-[12px] overflow-hidden items-center lg:w-[55%] lg:h-[35rem] lg:m-12 ", children: /* @__PURE__ */ (0, import_jsx_runtime45.jsx)(
2450
+ MapWithNoSSR2,
2451
+ {
2452
+ ...{
2453
+ position,
2454
+ setPosition,
2455
+ showClusterMarkers: true,
2456
+ enableLocationMarker: false
2457
+ }
2458
+ }
2459
+ ) })
2460
+ ] })
2461
+ }
2462
+ );
2463
+ };
2464
+ }
2465
+ });
2466
+
2467
+ // src/components/Section/SignUpBannerWidget.tsx
2468
+ var SignUpBannerWidget_exports = {};
2469
+ __export(SignUpBannerWidget_exports, {
2470
+ SignUpBannerWidget: () => SignUpBannerWidget
2471
+ });
2472
+ var import_ui41, import_jsx_runtime46, SignUpBannerWidget;
2473
+ var init_SignUpBannerWidget = __esm({
2474
+ "src/components/Section/SignUpBannerWidget.tsx"() {
2475
+ "use strict";
2476
+ "use client";
2477
+ import_ui41 = require("@geowiki/ui");
2478
+ import_jsx_runtime46 = require("react/jsx-runtime");
2479
+ SignUpBannerWidget = ({ data }) => {
2480
+ var buttonProps = {
2481
+ text: data.LinkPart.Text.Text,
2482
+ link: data.LinkPart.Url.Text,
2483
+ isNewTab: data.LinkPart.IsNewTab.Value
2484
+ };
2485
+ const imagePaths = data.BagPart.ContentItems.map(
2486
+ (contentItem) => contentItem.Image.Image.Paths[0]
2487
+ );
2488
+ return /* @__PURE__ */ (0, import_jsx_runtime46.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime46.jsx)(
2489
+ import_ui41.SignUpBanner,
2490
+ {
2491
+ title: data.TitlePart.Title,
2492
+ text: data.SignUpBanner.Text.Text,
2493
+ button: buttonProps,
2494
+ imagePaths
2495
+ }
2496
+ ) });
2497
+ };
2498
+ }
2499
+ });
2500
+
2501
+ // src/components/Section/SubtitleH3ChildrenWidget.tsx
2502
+ var SubtitleH3ChildrenWidget_exports = {};
2503
+ __export(SubtitleH3ChildrenWidget_exports, {
2504
+ SubtitleH3ChildrenWidget: () => SubtitleH3ChildrenWidget
2505
+ });
2506
+ var import_ui42, import_jsx_runtime47, SubtitleH3ChildrenWidget;
2507
+ var init_SubtitleH3ChildrenWidget = __esm({
2508
+ "src/components/Section/SubtitleH3ChildrenWidget.tsx"() {
2509
+ "use strict";
2510
+ "use client";
2511
+ import_ui42 = require("@geowiki/ui");
2512
+ import_jsx_runtime47 = require("react/jsx-runtime");
2513
+ SubtitleH3ChildrenWidget = ({ data }) => {
2514
+ var type = data.SubtitleH3Children.Type.Values[0];
2515
+ var buttonProps = {
2516
+ text: data.LinkPart.Text.Text,
2517
+ link: data.LinkPart.Url.Text,
2518
+ isNewTab: data.LinkPart.IsNewTab.Value
2519
+ };
2520
+ if (type === "ClusterNews3Collumn") {
2521
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2522
+ import_ui42.SubtitleH3ClusterNews3Column,
2523
+ {
2524
+ title: data.TitlePart.Title,
2525
+ subtitle: data.SubtitleH3Children.Subtitle.Text,
2526
+ button: buttonProps
2527
+ }
2528
+ ) });
2529
+ }
2530
+ if (type === "Cluster4Column") {
2531
+ return /* @__PURE__ */ (0, import_jsx_runtime47.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime47.jsx)(
2532
+ import_ui42.SubtitleH3Cluster4Column,
2533
+ {
2534
+ title: data.TitlePart.Title,
2535
+ subtitle: data.SubtitleH3Children.Subtitle.Text,
2536
+ button: buttonProps
2537
+ }
2538
+ ) });
2539
+ }
2540
+ return null;
2541
+ };
2542
+ }
2543
+ });
2544
+
2545
+ // src/components/Section/HeaderBodyWidget.tsx
2546
+ var HeaderBodyWidget_exports = {};
2547
+ __export(HeaderBodyWidget_exports, {
2548
+ HeaderBodyWidget: () => HeaderBodyWidget
2549
+ });
2550
+ var import_ui43, import_jsx_runtime48, HeaderBodyWidget;
2551
+ var init_HeaderBodyWidget = __esm({
2552
+ "src/components/Section/HeaderBodyWidget.tsx"() {
2553
+ "use strict";
2554
+ import_ui43 = require("@geowiki/ui");
2555
+ import_jsx_runtime48 = require("react/jsx-runtime");
2556
+ HeaderBodyWidget = ({ data }) => {
2557
+ var type = data.HeaderBody.Type.Values[0];
2558
+ if (type === "H1Body") {
2559
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "mx-auto max-w-full lg:container lg:max-w-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2560
+ import_ui43.H1Body,
2561
+ {
2562
+ title: data.TitlePart.Title,
2563
+ textBody: data.HeaderBody.TextBody.Html
2564
+ }
2565
+ ) });
2566
+ }
2567
+ if (type === "H7Body") {
2568
+ return /* @__PURE__ */ (0, import_jsx_runtime48.jsx)("div", { className: "mx-auto max-w-full lg:container lg:max-w-5xl", children: /* @__PURE__ */ (0, import_jsx_runtime48.jsx)(
2569
+ import_ui43.H7Body,
2570
+ {
2571
+ title: data.TitlePart.Title,
2572
+ textBody: data.HeaderBody.TextBody.Html
2573
+ }
2574
+ ) });
2575
+ }
2576
+ };
2577
+ }
2578
+ });
2579
+
2580
+ // src/components/Section/Recodo/LanguagesWidget.tsx
2581
+ var LanguagesWidget_exports = {};
2582
+ __export(LanguagesWidget_exports, {
2583
+ LanguageWidget: () => LanguageWidget
2584
+ });
2585
+ var import_core19, import_ui44, import_react8, import_jsx_runtime49, LanguageWidget;
2586
+ var init_LanguagesWidget = __esm({
2587
+ "src/components/Section/Recodo/LanguagesWidget.tsx"() {
2588
+ "use strict";
2589
+ import_core19 = require("@geowiki/core");
2590
+ init_Sections();
2591
+ import_ui44 = require("@geowiki/ui");
2592
+ import_react8 = require("react");
2593
+ import_jsx_runtime49 = require("react/jsx-runtime");
2594
+ LanguageWidget = () => {
2595
+ const { data: languages, isLoading: isLanguagesLoading } = (0, import_core19.useCmsContentWithType)("LanguageItem");
2596
+ const { data: generalSettings, isLoading: isGeneralSettingsLoading } = (0, import_core19.useDefaultSettings)();
2597
+ const [selectedLanguageContent, setSelectedLanguageContent] = (0, import_react8.useState)();
2598
+ const handleLanguageChange = (language) => {
2599
+ const selectedLang = languages.find(
2600
+ (lang) => lang.TitlePart.Title === language
2601
+ );
2602
+ console.log(selectedLang);
2603
+ setSelectedLanguageContent(selectedLang);
2604
+ };
2605
+ (0, import_react8.useEffect)(() => {
2606
+ if (languages) {
2607
+ const englishLanguage = languages.find(
2608
+ (lang) => lang.TitlePart.Title === "English"
2609
+ );
2610
+ setSelectedLanguageContent(englishLanguage);
2611
+ }
2612
+ }, [languages]);
2613
+ if (isLanguagesLoading || isGeneralSettingsLoading)
2614
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { children: "Loading..." });
2615
+ return /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "container mx-auto px-4 py-8", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "grid grid-cols-1 md:grid-cols-3 gap-8", children: [
2616
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "space-y-4 lg:mt-28", children: [
2617
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("h2", { className: "text-2xl font-bold", children: "Language" }),
2618
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("nav", { className: "space-y-1", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2619
+ import_ui44.RadioGroup,
2620
+ {
2621
+ defaultValue: "English",
2622
+ onValueChange: (e) => {
2623
+ console.log(e);
2624
+ handleLanguageChange(e);
2625
+ },
2626
+ children: languages.map((language, index) => /* @__PURE__ */ (0, import_jsx_runtime49.jsxs)("div", { className: "flex items-center space-x-2", children: [
2627
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_ui44.RadioGroupItem, { value: language?.TitlePart?.Title, id: "r1" }),
2628
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_ui44.Label, { htmlFor: "r1", children: language?.TitlePart?.Title })
2629
+ ] }, index))
2630
+ }
2631
+ ) })
2632
+ ] }),
2633
+ /* @__PURE__ */ (0, import_jsx_runtime49.jsx)("div", { className: "md:col-span-2 space-y-6", children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(
2634
+ Sections,
2635
+ {
2636
+ sections: selectedLanguageContent?.Content.ContentItems,
2637
+ settings: generalSettings,
2638
+ cmsUrl: ""
2639
+ }
2640
+ ) })
2641
+ ] }) });
2642
+ };
2643
+ }
2644
+ });
2645
+
2646
+ // src/components/Section/Recodo/SubtitleH3KeyResourcesWidget.tsx
2647
+ var SubtitleH3KeyResourcesWidget_exports = {};
2648
+ __export(SubtitleH3KeyResourcesWidget_exports, {
2649
+ SubtitleH3KeyResourcesWidget: () => SubtitleH3KeyResourcesWidget
2650
+ });
2651
+ var import_recodo7, import_jsx_runtime50, SubtitleH3KeyResourcesWidget;
2652
+ var init_SubtitleH3KeyResourcesWidget = __esm({
2653
+ "src/components/Section/Recodo/SubtitleH3KeyResourcesWidget.tsx"() {
2654
+ "use strict";
2655
+ import_recodo7 = require("@geowiki/recodo");
2656
+ import_jsx_runtime50 = require("react/jsx-runtime");
2657
+ SubtitleH3KeyResourcesWidget = ({
2658
+ data
2659
+ }) => {
2660
+ const keyResources = data.BagPart.ContentItems.map((contentItem) => ({
2661
+ imagePath: contentItem.KeyResourceItem?.Image?.Paths[0],
2662
+ title: contentItem.TitlePart?.Title,
2663
+ subtitle: contentItem.KeyResourceItem.Subtitle?.Text,
2664
+ path: contentItem.KeyResourceItem.Link?.Url
2665
+ }));
2666
+ return /* @__PURE__ */ (0, import_jsx_runtime50.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime50.jsx)(
2667
+ import_recodo7.SubtitleH3KeyResources,
2668
+ {
2669
+ title: data.TitlePart?.Title,
2670
+ subtitle: data.SubtitleH3KeyResources?.Subtitle?.Text,
2671
+ keyResources
2672
+ }
2673
+ ) });
2674
+ };
2675
+ }
2676
+ });
2677
+
2678
+ // src/components/Section/VideoWidget.tsx
2679
+ var VideoWidget_exports = {};
2680
+ __export(VideoWidget_exports, {
2681
+ VideoWidget: () => VideoWidget
2682
+ });
2683
+ var import_core20, import_jsx_runtime51, ReactPlayer, VideoWidget;
2684
+ var init_VideoWidget = __esm({
2685
+ "src/components/Section/VideoWidget.tsx"() {
2686
+ "use strict";
2687
+ import_core20 = require("@geowiki/core");
2688
+ import_jsx_runtime51 = require("react/jsx-runtime");
2689
+ ReactPlayer = (0, import_core20.dynamic)(() => import("react-player"), { ssr: false });
2690
+ VideoWidget = ({ data }) => {
2691
+ return /* @__PURE__ */ (0, import_jsx_runtime51.jsx)("div", { className: "mx-auto lg:container w-full lg:w-[60%] pt-10 h-[260px] lg:h-[505px]", children: /* @__PURE__ */ (0, import_jsx_runtime51.jsx)(
2692
+ ReactPlayer,
2693
+ {
2694
+ url: data.LinkPart?.Url?.Text,
2695
+ controls: true,
2696
+ width: "100%",
2697
+ height: "100%"
2698
+ }
2699
+ ) });
2700
+ };
2701
+ }
2702
+ });
2703
+
2704
+ // src/components/Section/SubtitleH2BodyVideoWidget.tsx
2705
+ var SubtitleH2BodyVideoWidget_exports = {};
2706
+ __export(SubtitleH2BodyVideoWidget_exports, {
2707
+ SubtitleH2BodyVideoWidget: () => SubtitleH2BodyVideoWidget
2708
+ });
2709
+ var import_ui45, import_jsx_runtime52, SubtitleH2BodyVideoWidget;
2710
+ var init_SubtitleH2BodyVideoWidget = __esm({
2711
+ "src/components/Section/SubtitleH2BodyVideoWidget.tsx"() {
2712
+ "use strict";
2713
+ import_ui45 = require("@geowiki/ui");
2714
+ import_jsx_runtime52 = require("react/jsx-runtime");
2715
+ SubtitleH2BodyVideoWidget = ({
2716
+ data
2717
+ }) => {
2718
+ var buttonProps = {
2719
+ text: data.LinkPart.Text.Text,
2720
+ link: data.LinkPart.Url.Text,
2721
+ isNewTab: data.LinkPart.IsNewTab.Value
2722
+ };
2723
+ return /* @__PURE__ */ (0, import_jsx_runtime52.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime52.jsx)(
2724
+ import_ui45.SubtitleH2BodyVideo,
2725
+ {
2726
+ title: data.TitlePart.Title,
2727
+ content: data.SubtitleH2BodyVideo?.Content?.Html,
2728
+ button: buttonProps,
2729
+ videoLink: data.SubtitleH2BodyVideo?.VideoLink?.Url
2730
+ }
2731
+ ) });
2732
+ };
2733
+ }
2734
+ });
2735
+
2736
+ // src/components/Section/ImageLefttH3BodyWidget.tsx
2737
+ var ImageLefttH3BodyWidget_exports = {};
2738
+ __export(ImageLefttH3BodyWidget_exports, {
2739
+ ImageLefttH3BodyWidget: () => ImageLefttH3BodyWidget
2740
+ });
2741
+ var import_ui46, import_jsx_runtime53, ImageLefttH3BodyWidget;
2742
+ var init_ImageLefttH3BodyWidget = __esm({
2743
+ "src/components/Section/ImageLefttH3BodyWidget.tsx"() {
2744
+ "use strict";
2745
+ "use client";
2746
+ import_ui46 = require("@geowiki/ui");
2747
+ import_jsx_runtime53 = require("react/jsx-runtime");
2748
+ ImageLefttH3BodyWidget = ({
2749
+ data
2750
+ }) => {
2751
+ var button = {
2752
+ text: data.LinkPart.Text.Text,
2753
+ link: data.LinkPart.Url.Text,
2754
+ isNewTab: data.LinkPart.IsNewTab.Value
2755
+ };
2756
+ return /* @__PURE__ */ (0, import_jsx_runtime53.jsx)(
2757
+ import_ui46.ImageLefttH3Body,
2758
+ {
2759
+ imagePath: data?.ImageLefttH3Body?.Image?.Paths,
2760
+ title: data.TitlePart?.Title,
2761
+ text: data?.ImageLefttH3Body?.Text?.Html,
2762
+ button
2763
+ }
2764
+ );
2765
+ };
2766
+ }
2767
+ });
2768
+
2769
+ // src/components/Section/SixClusterNewsWidget.tsx
2770
+ var SixClusterNewsWidget_exports = {};
2771
+ __export(SixClusterNewsWidget_exports, {
2772
+ SixClusterNewsWidget: () => SixClusterNewsWidget
2773
+ });
2774
+ var import_ui47, import_jsx_runtime54, SixClusterNewsWidget;
2775
+ var init_SixClusterNewsWidget = __esm({
2776
+ "src/components/Section/SixClusterNewsWidget.tsx"() {
2777
+ "use strict";
2778
+ "use client";
2779
+ import_ui47 = require("@geowiki/ui");
2780
+ import_jsx_runtime54 = require("react/jsx-runtime");
2781
+ SixClusterNewsWidget = () => {
2782
+ return /* @__PURE__ */ (0, import_jsx_runtime54.jsx)(import_ui47.SixClusterNews, {});
2783
+ };
2784
+ }
2785
+ });
2786
+
2787
+ // src/components/Section/ImageLeftH3BodyLinkWidget.tsx
2788
+ var ImageLeftH3BodyLinkWidget_exports = {};
2789
+ __export(ImageLeftH3BodyLinkWidget_exports, {
2790
+ ImageLeftH3BodyLinkWidget: () => ImageLeftH3BodyLinkWidget
2791
+ });
2792
+ var import_ui48, import_jsx_runtime55, ImageLeftH3BodyLinkWidget;
2793
+ var init_ImageLeftH3BodyLinkWidget = __esm({
2794
+ "src/components/Section/ImageLeftH3BodyLinkWidget.tsx"() {
2795
+ "use strict";
2796
+ "use client";
2797
+ import_ui48 = require("@geowiki/ui");
2798
+ import_jsx_runtime55 = require("react/jsx-runtime");
2799
+ ImageLeftH3BodyLinkWidget = ({
2800
+ data
2801
+ }) => {
2802
+ var buttonProps = {
2803
+ text: data.LinkPart.Text.Text,
2804
+ link: data.LinkPart.Url.Text,
2805
+ isNewTab: data.LinkPart.IsNewTab.Value
2806
+ };
2807
+ return /* @__PURE__ */ (0, import_jsx_runtime55.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime55.jsx)(
2808
+ import_ui48.ImageLeftH3BodyLink,
2809
+ {
2810
+ title: data.TitlePart.Title,
2811
+ content: data.ImageLeftH3BodyLink.Content.Html,
2812
+ button: buttonProps,
2813
+ path: data?.ImageLeftH3BodyLink?.Image?.Paths[0]
2814
+ }
2815
+ ) });
2816
+ };
2817
+ }
2818
+ });
2819
+
2820
+ // src/components/Section/IframeWidget.tsx
2821
+ var IframeWidget_exports = {};
2822
+ __export(IframeWidget_exports, {
2823
+ IframeWidget: () => IframeWidget
2824
+ });
2825
+ var import_ui49, import_jsx_runtime56, IframeWidget;
2826
+ var init_IframeWidget = __esm({
2827
+ "src/components/Section/IframeWidget.tsx"() {
2828
+ "use strict";
2829
+ "use client";
2830
+ import_ui49 = require("@geowiki/ui");
2831
+ import_jsx_runtime56 = require("react/jsx-runtime");
2832
+ IframeWidget = ({ data }) => {
2833
+ return /* @__PURE__ */ (0, import_jsx_runtime56.jsx)("div", { className: "lg:container mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime56.jsx)(
2834
+ import_ui49.IframeViewer,
2835
+ {
2836
+ html: data.IframeViewer?.Content?.Text,
2837
+ className: data.IframeViewer?.ClassName?.Text
2838
+ }
2839
+ ) });
2840
+ };
2841
+ }
2842
+ });
2843
+
2844
+ // src/components/Section/GeoQuest/DownloadQuestWidget.tsx
2845
+ var DownloadQuestWidget_exports = {};
2846
+ __export(DownloadQuestWidget_exports, {
2847
+ DownloadQuestWidget: () => DownloadQuestWidget
2848
+ });
2849
+ var import_react9, import_jsx_runtime57, quests, DownloadIcon, DownloadQuestWidget;
2850
+ var init_DownloadQuestWidget = __esm({
2851
+ "src/components/Section/GeoQuest/DownloadQuestWidget.tsx"() {
2852
+ "use strict";
2853
+ import_react9 = require("react");
2854
+ import_jsx_runtime57 = require("react/jsx-runtime");
2855
+ quests = [
2856
+ {
2857
+ label: "Crop Capture",
2858
+ value: "quest1",
2859
+ url: "https://geoquest.blob.core.windows.net/crop-observe/points.parquet"
2860
+ }
2861
+ //{ label: "Tree Quest", value: "quest2", url: "/downloads/quest2.csv" },
2862
+ //{ label: "Forest Quest", value: "quest3", url: "/downloads/quest3.csv" },
2863
+ //{ label: "Plot Quest", value: "quest3", url: "/downloads/quest3.csv" },
2864
+ ];
2865
+ DownloadIcon = () => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2866
+ "svg",
2867
+ {
2868
+ xmlns: "http://www.w3.org/2000/svg",
2869
+ fill: "none",
2870
+ viewBox: "0 0 24 24",
2871
+ strokeWidth: 2,
2872
+ stroke: "currentColor",
2873
+ className: "w-5 h-5 ml-2",
2874
+ children: /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2875
+ "path",
2876
+ {
2877
+ strokeLinecap: "round",
2878
+ strokeLinejoin: "round",
2879
+ d: "M4.5 20.25h15m-7.5-16.5v12m0 0l-4.5-4.5m4.5 4.5l4.5-4.5"
2880
+ }
2881
+ )
2882
+ }
2883
+ );
2884
+ DownloadQuestWidget = () => {
2885
+ const [selectedQuest, setSelectedQuest] = (0, import_react9.useState)(quests[0].value);
2886
+ const quest = quests.find((q) => q.value === selectedQuest);
2887
+ return /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("div", { className: "bg-green-100/60 rounded-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("section", { className: "w-full max-w-7xl mx-auto lg:px-16 lg:py-12 p-5 flex flex-col md:flex-row gap-8 items-center justify-center mt-4 md:mt-8", children: [
2888
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex-1 min-w-[250px]", children: [
2889
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("h2", { className: "text-2xl lg:text-4xl md:text-5xl font-light mb-4 text-gray-800", children: [
2890
+ "Download public GeoQuest",
2891
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("br", {}),
2892
+ "data"
2893
+ ] }),
2894
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("p", { className: "text-gray-600 text-base md:text-lg mt-4 max-w-lg", children: "Quick access to the public data produced in our Quests." })
2895
+ ] }),
2896
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "flex-1 max-w-sm w-full bg-white rounded-xl shadow p-8 flex flex-col gap-6 items-center", children: [
2897
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)("div", { className: "w-full", children: [
2898
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2899
+ "label",
2900
+ {
2901
+ htmlFor: "quest-select",
2902
+ className: "block text-sm font-medium text-gray-700 mb-2",
2903
+ children: "Quest"
2904
+ }
2905
+ ),
2906
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(
2907
+ "select",
2908
+ {
2909
+ id: "quest-select",
2910
+ className: "w-full rounded-md border border-gray-200 p-2 text-gray-700 bg-white focus:ring-2 focus:ring-green-200 focus:outline-none",
2911
+ value: selectedQuest,
2912
+ onChange: (e) => setSelectedQuest(e.target.value),
2913
+ children: quests.map((q) => /* @__PURE__ */ (0, import_jsx_runtime57.jsx)("option", { value: q.value, children: q.label }, q.value))
2914
+ }
2915
+ )
2916
+ ] }),
2917
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsxs)(
2918
+ "a",
2919
+ {
2920
+ href: quest?.url || "#",
2921
+ download: true,
2922
+ target: "_blank",
2923
+ rel: "noopener noreferrer",
2924
+ className: `w-full flex items-center justify-center gap-2 rounded-full py-3 text-lg font-medium shadow transition-colors focus:outline-none focus:ring-2 focus:ring-green-200 ${quest?.url ? "bg-black text-white hover:bg-gray-900" : "bg-gray-300 text-gray-500 cursor-not-allowed pointer-events-none"}`,
2925
+ "aria-label": "Download quest data",
2926
+ children: [
2927
+ "Download ",
2928
+ /* @__PURE__ */ (0, import_jsx_runtime57.jsx)(DownloadIcon, {})
2929
+ ]
2930
+ }
2931
+ )
2932
+ ] })
2933
+ ] }) });
2934
+ };
2935
+ }
2936
+ });
2937
+
2938
+ // src/components/Section/GeoQuest/QuestMapClient.tsx
2939
+ var QuestMapClient_exports = {};
2940
+ __export(QuestMapClient_exports, {
2941
+ QuestMapClient: () => QuestMapClient
2942
+ });
2943
+ function getIcon2(color, name) {
2944
+ const myIcon = import_ui51.IconPaths.find((icon) => icon.name === name);
2945
+ if (myIcon) {
2946
+ const MyIcon = import_ui51.LocationIcon;
2947
+ return (0, import_server2.renderToString)(/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(MyIcon, { Icon: myIcon.icon, color }));
2948
+ } else {
2949
+ const MyIcon = import_MapPinIcon2.default;
2950
+ return (0, import_server2.renderToString)(/* @__PURE__ */ (0, import_jsx_runtime58.jsx)(MyIcon, { height: 40, width: 40, color }));
2951
+ }
2952
+ }
2953
+ var import_leaflet3, import_leaflet4, import_leaflet5, import_react10, import_ui50, import_ui51, import_server2, import_MapPinIcon2, import_leaflet6, import_jsx_runtime58, centerLocation, QuestMapClient;
2954
+ var init_QuestMapClient = __esm({
2955
+ "src/components/Section/GeoQuest/QuestMapClient.tsx"() {
2956
+ "use strict";
2957
+ "use client";
2958
+ import_leaflet3 = require("leaflet/dist/leaflet.css");
2959
+ import_leaflet4 = require("leaflet");
2960
+ import_leaflet5 = __toESM(require("leaflet"));
2961
+ import_react10 = require("react");
2962
+ import_ui50 = require("@geowiki/ui");
2963
+ import_ui51 = require("@geowiki/ui");
2964
+ import_server2 = require("react-dom/server");
2965
+ import_MapPinIcon2 = __toESM(require("@heroicons/react/24/solid/MapPinIcon"));
2966
+ import_leaflet6 = require("leaflet.markercluster");
2967
+ import_jsx_runtime58 = require("react/jsx-runtime");
2968
+ centerLocation = new import_leaflet4.LatLng(48.2081, 16.3713);
2969
+ QuestMapClient = () => {
2970
+ const markerCluster = import_leaflet5.default.markerClusterGroup({
2971
+ iconCreateFunction: function(cluster) {
2972
+ var count = cluster.getChildCount();
2973
+ return import_leaflet5.default.divIcon({
2974
+ html: `<div style="
2975
+ position: relative;
2976
+ width: 44px;
2977
+ height: 44px;
2978
+ display: flex;
2979
+ justify-content: center;
2980
+ align-items: center;
2981
+ "><div style="
2982
+ position: absolute;
2983
+ width: 44px;
2984
+ height: 44px;
2985
+ border-radius: 50%;
2986
+ background-color: rgba(0, 167, 206, 0.3);
2987
+ "></div><div style="
2988
+ position: relative;
2989
+ width: 36px;
2990
+ height: 36px;
2991
+ border-radius: 50%;
2992
+ background-color: #00A7CE;
2993
+ color: white;
2994
+ font-size: 14px;
2995
+ font-weight: 600;
2996
+ display: flex;
2997
+ justify-content: center;
2998
+ align-items: center;
2999
+ text-align: center;
3000
+ "><span>${count}</span></div></div>`,
3001
+ className: "custom-cluster-icon",
3002
+ iconSize: import_leaflet5.default.point(40, 40)
3003
+ });
3004
+ }
3005
+ });
3006
+ const mapRef = (0, import_react10.useRef)(null);
3007
+ const leafletmap = (0, import_react10.useRef)(null);
3008
+ const [data, setdata] = (0, import_react10.useState)();
3009
+ const [isLoading, setIsLoading] = (0, import_react10.useState)(true);
3010
+ (0, import_react10.useEffect)(() => {
3011
+ if (isLoading)
3012
+ fetch("/api/minio/fetchResource?filename=public/cropCapture.json").then((res) => res.json()).then((json) => {
3013
+ setdata(json), setIsLoading(false);
3014
+ });
3015
+ }, []);
3016
+ (0, import_react10.useEffect)(() => {
3017
+ if (mapRef.current && !leafletmap.current) {
3018
+ leafletmap.current = import_leaflet5.default.map(mapRef.current).setView(centerLocation, 3);
3019
+ import_leaflet5.default.tileLayer("https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png", {
3020
+ attribution: '&copy; <a href="http://osm.org/copyright">OpenStreetMap</a> contributors'
3021
+ }).addTo(leafletmap.current);
3022
+ if (!isLoading) {
3023
+ if (data) {
3024
+ data?.forEach((element) => {
3025
+ const icon = import_leaflet5.default.divIcon({
3026
+ iconSize: [40, 40],
3027
+ iconAnchor: [28, 15],
3028
+ html: `<i>${getIcon2("#00A7CE")}</i>`,
3029
+ className: ""
3030
+ });
3031
+ const marker = import_leaflet5.default.marker(
3032
+ [
3033
+ element.coordinates.split(",")[1],
3034
+ element.coordinates.split(",")[0]
3035
+ ],
3036
+ { icon }
3037
+ );
3038
+ markerCluster.addLayer(marker);
3039
+ });
3040
+ markerCluster.addTo(leafletmap.current);
3041
+ }
3042
+ }
3043
+ }
3044
+ return () => {
3045
+ if (leafletmap.current) {
3046
+ leafletmap.current.remove();
3047
+ leafletmap.current = null;
3048
+ }
3049
+ };
3050
+ }, [isLoading]);
3051
+ if (isLoading) return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(import_ui50.LoaderFull, {});
3052
+ return /* @__PURE__ */ (0, import_jsx_runtime58.jsx)("div", { className: "w-full rounded-2xl overflow-hidden shadow bg-white", children: /* @__PURE__ */ (0, import_jsx_runtime58.jsx)(
3053
+ "div",
3054
+ {
3055
+ ref: mapRef,
3056
+ className: "w-full min-h-[500px]",
3057
+ style: { height: 500 }
3058
+ }
3059
+ ) });
3060
+ };
3061
+ }
3062
+ });
3063
+
3064
+ // src/components/Section/GeoQuest/QuestMapWidget.tsx
3065
+ var QuestMapWidget_exports = {};
3066
+ __export(QuestMapWidget_exports, {
3067
+ QuestMapWidget: () => QuestMapWidget
3068
+ });
3069
+ var import_core21, import_jsx_runtime59, QuestMapClient2, QuestMapWidget;
3070
+ var init_QuestMapWidget = __esm({
3071
+ "src/components/Section/GeoQuest/QuestMapWidget.tsx"() {
3072
+ "use strict";
3073
+ import_core21 = require("@geowiki/core");
3074
+ import_jsx_runtime59 = require("react/jsx-runtime");
3075
+ QuestMapClient2 = (0, import_core21.dynamic)(
3076
+ () => Promise.resolve().then(() => (init_QuestMapClient(), QuestMapClient_exports)).then((mod) => mod.QuestMapClient),
3077
+ {
3078
+ ssr: false
3079
+ }
3080
+ );
3081
+ QuestMapWidget = () => {
3082
+ return /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(
3083
+ "div",
3084
+ {
3085
+ className: "w-full mt-4 lg:mt-20 rounded-2xl overflow-hidden shadow bg-white",
3086
+ id: "QuestMap",
3087
+ children: /* @__PURE__ */ (0, import_jsx_runtime59.jsx)(QuestMapClient2, {})
3088
+ }
3089
+ );
3090
+ };
3091
+ }
3092
+ });
3093
+
3094
+ // src/components/Section/GeoQuest/SelectQuestWidget.tsx
3095
+ var SelectQuestWidget_exports = {};
3096
+ __export(SelectQuestWidget_exports, {
3097
+ SelectQuestWidget: () => SelectQuestWidget
3098
+ });
3099
+ var import_jsx_runtime60, CornIcon, TreeIcon, UrbanIcon, BiodiversityIcon, ArrowRight2, quests2, SelectQuestWidget;
3100
+ var init_SelectQuestWidget = __esm({
3101
+ "src/components/Section/GeoQuest/SelectQuestWidget.tsx"() {
3102
+ "use strict";
3103
+ import_jsx_runtime60 = require("react/jsx-runtime");
3104
+ CornIcon = () => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
3105
+ "svg",
3106
+ {
3107
+ xmlns: "http://www.w3.org/2000/svg",
3108
+ width: "24",
3109
+ height: "24",
3110
+ viewBox: "0 0 512 512",
3111
+ fill: "none",
3112
+ stroke: "currentColor",
3113
+ strokeWidth: "2",
3114
+ strokeLinecap: "round",
3115
+ strokeLinejoin: "round",
3116
+ children: [
3117
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { d: "", stroke: "none", fill: "#080404", fillRule: "evenodd" }),
3118
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3119
+ "path",
3120
+ {
3121
+ d: "M 436 1.941 C 383.771 13.005, 314.364 51.830, 244.752 108.923 L 231.005 120.198 233.552 124.349 C 245.054 143.095, 254.626 169.071, 259.219 194 C 260.950 203.395, 261.352 209.619, 261.419 228 L 261.500 250.500 284 250.581 C 302.394 250.648, 308.599 251.050, 318 252.784 C 340.099 256.860, 360.594 263.919, 379.743 274.051 C 385.927 277.323, 391.353 280, 391.801 280 C 392.981 280, 411.493 257.240, 425.934 238.036 C 466.610 183.941, 496.829 127.792, 507.644 86.211 C 512.102 69.071, 513.307 49.155, 510.586 37.603 C 506.182 18.912, 493.229 5.860, 474.760 1.506 C 466.042 -0.550, 446.736 -0.333, 436 1.941 M 438.500 40.167 C 432.329 43.580, 429.305 49.482, 430.491 55.801 C 431.030 58.679, 433.358 61.686, 441.258 69.714 C 451.893 80.522, 455.568 82.679, 461.464 81.573 C 471.821 79.630, 476.516 67.049, 470.112 58.400 C 466.867 54.018, 455.801 43.152, 452.027 40.644 C 449.208 38.769, 441.517 38.498, 438.500 40.167 M 396.020 82.752 C 389.050 86.253, 385.947 95.224, 389.431 101.800 C 391.137 105.019, 414.555 128.304, 417.684 129.892 C 425.942 134.082, 437.985 126.625, 437.996 117.315 C 438.003 111.610, 436.057 108.736, 423.779 96.316 C 408.310 80.670, 404.180 78.652, 396.020 82.752 M 162.984 101.863 C 157.968 104.545, 156.278 108.185, 154.064 121.068 C 149.124 149.822, 137.569 176.500, 120.834 197.789 C 117.933 201.480, 104.052 216.200, 89.988 230.500 C 71.495 249.303, 62.867 258.853, 58.817 265 C 43.163 288.761, 35.803 312.607, 35.670 340 C 35.566 361.148, 38.831 377.287, 47.040 396.215 C 50.827 404.946, 50.957 405.561, 49.280 406.827 C 48.301 407.566, 38.050 415.068, 26.500 423.498 C 14.950 431.928, 4.375 440.025, 3 441.493 C 0.831 443.807, 0.500 445.078, 0.500 451.078 L 0.500 457.995 27.184 484.679 L 53.867 511.363 59.684 511.770 C 64.560 512.111, 66.061 511.795, 68.974 509.816 C 70.971 508.459, 79.531 497.772, 89.110 484.674 C 98.275 472.145, 105.974 461.693, 106.218 461.448 C 106.463 461.204, 110.901 462.852, 116.082 465.112 C 158.939 483.809, 207.474 479.371, 247 453.141 C 253.071 449.112, 263.219 439.929, 282.516 421 C 297.374 406.425, 313.126 391.874, 317.519 388.665 C 339.739 372.433, 364.924 362.035, 392.853 357.562 C 397.997 356.738, 403.571 355.262, 405.240 354.282 C 411.417 350.654, 413.752 341.494, 410.335 334.293 C 408.128 329.642, 394.149 317.532, 380.465 308.415 C 336.324 279.008, 278.521 271.017, 229.620 287.562 C 225.760 288.867, 222.481 289.815, 222.333 289.667 C 222.185 289.519, 223.133 286.240, 224.438 282.380 C 240.980 233.487, 232.919 175.357, 203.515 131.501 C 194.265 117.705, 182.249 103.821, 177.684 101.655 C 173.092 99.476, 167.296 99.558, 162.984 101.863 M 331.970 104.250 C 328.432 106.037, 327.127 107.452, 325.624 111.127 C 322.448 118.893, 323.654 121.893, 334.337 132.813 C 344.661 143.365, 347.164 145, 353 145 C 361.119 145, 367 139.154, 367 131.082 C 367 125.115, 365.374 122.623, 354.820 112.413 C 348.148 105.959, 344.473 103.145, 342.094 102.669 C 337.279 101.706, 336.884 101.767, 331.970 104.250 M 282.256 153.645 C 275.860 156.798, 272.980 166.232, 276.410 172.800 C 277.186 174.285, 282.035 179.623, 287.187 184.663 C 294.471 191.789, 297.379 193.980, 300.270 194.523 C 307.680 195.913, 313.886 192.483, 316.542 185.530 C 319.402 178.041, 318.196 175.146, 307.689 164.286 C 302.641 159.068, 297.294 154.169, 295.805 153.399 C 292.233 151.552, 286.282 151.660, 282.256 153.645 M 355 166.722 C 351.203 168.148, 348.018 171.386, 346.499 175.363 C 343.908 182.148, 345.570 186.482, 354.303 195.713 C 362.832 204.728, 369.080 209, 373.736 209 C 378.353 209, 384.140 205.807, 386.333 202.050 C 388.620 198.133, 388.718 190.745, 386.528 187.403 C 383.968 183.495, 371.918 171.536, 367.610 168.627 C 363.864 166.096, 358.728 165.321, 355 166.722",
3122
+ stroke: "none",
3123
+ fill: "#040404",
3124
+ fillRule: "evenodd"
3125
+ }
3126
+ )
3127
+ ]
3128
+ }
3129
+ );
3130
+ TreeIcon = () => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
3131
+ "svg",
3132
+ {
3133
+ xmlns: "http://www.w3.org/2000/svg",
3134
+ width: "24",
3135
+ height: "24",
3136
+ viewBox: "0 0 512 512",
3137
+ version: "1.1",
3138
+ children: [
3139
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("path", { d: "", stroke: "none", fill: "#080404", fillRule: "evenodd" }),
3140
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3141
+ "path",
3142
+ {
3143
+ d: "M 249.500 0.909 C 248.400 1.399, 246.078 3.307, 244.340 5.150 C 239.059 10.750, 157.750 119.178, 155.216 124 C 152.184 129.769, 152.632 135.517, 156.508 140.600 C 160.563 145.916, 164.119 147, 177.499 147 L 189.063 147 152.781 195.176 C 132.827 221.672, 115.731 244.735, 114.792 246.426 C 110.982 253.283, 113.401 263.220, 119.856 267.234 C 123.272 269.358, 124.856 269.531, 145.197 270 L 166.895 270.500 128.814 321 C 107.870 348.775, 90.119 372.948, 89.367 374.718 C 86.439 381.610, 89.179 390.084, 95.632 394.095 L 99.500 396.500 256 396.500 L 412.500 396.500 416.368 394.095 C 422.821 390.084, 425.561 381.609, 422.632 374.718 C 421.880 372.948, 404.125 348.775, 383.177 321 L 345.089 270.500 366.794 270 C 387.145 269.531, 388.728 269.359, 392.144 267.234 C 398.598 263.221, 401.021 253.271, 397.208 246.440 C 396.269 244.757, 379.176 221.694, 359.225 195.190 L 322.950 147 334.507 147 C 347.881 147, 351.437 145.915, 355.492 140.600 C 359.370 135.515, 359.816 129.768, 356.781 124 C 353.857 118.444, 272.312 10.003, 266.970 4.568 C 263.474 1.010, 262.552 0.606, 257.303 0.327 C 254.111 0.157, 250.600 0.419, 249.500 0.909 M 208.194 463.750 C 208.485 498.722, 208.599 500.669, 210.554 503.997 C 211.684 505.920, 214.113 508.507, 215.952 509.747 C 219.270 511.983, 219.576 512, 256 512 C 292.424 512, 292.730 511.983, 296.048 509.747 C 297.887 508.507, 300.316 505.920, 301.446 503.997 C 303.401 500.669, 303.515 498.722, 303.806 463.750 L 304.113 427 256 427 L 207.887 427 208.194 463.750",
3144
+ stroke: "none",
3145
+ fill: "#080404",
3146
+ fillRule: "evenodd"
3147
+ }
3148
+ )
3149
+ ]
3150
+ }
3151
+ );
3152
+ UrbanIcon = () => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3153
+ "img",
3154
+ {
3155
+ width: 24,
3156
+ height: 24,
3157
+ src: "data:image/png;base64,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"
3158
+ }
3159
+ ) });
3160
+ BiodiversityIcon = () => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3161
+ "svg",
3162
+ {
3163
+ xmlns: "http://www.w3.org/2000/svg",
3164
+ width: "24",
3165
+ height: "24",
3166
+ viewBox: "0 0 16 16",
3167
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3168
+ "path",
3169
+ {
3170
+ fill: "#000",
3171
+ "fill-rule": "evenodd",
3172
+ d: "M13.33 7.33C12.05 8.6 10.31 8.94 9 8.99V14a1 1 0 1 1-2 0v-3.01c-1.31-.05-3.05-.39-4.33-1.67C.35 7 1.12 3.12 1.12 3.12S5 2.35 7.33 4.67l.07.08c.25-.73.65-1.46 1.27-2.08C11 .35 14.88 1.12 14.88 1.12S15.65 5 13.33 7.33zM9.01 6.99c.06 0 .13 0 .19-.01 1.03-.08 2.03-.38 2.71-1.06.67-.67.97-1.67 1.06-2.7 0-.06.01-.13.02-.19a10.68 10.68 0 0 0-.19 0c-1.03.08-2.03.38-2.71 1.06-.67.67-.97 1.67-1.06 2.7 0 .06 0 .13-.02.19zM6.8 8.98c.07.01.13.01.19.01 0-.07 0-.13-.01-.19-.08-1.03-.38-2.03-1.06-2.7-.67-.67-1.67-.97-2.7-1.06a10.68 10.68 0 0 0-.19-.01c.01.07.01.13.02.19.08 1.03.38 2.03 1.06 2.7.67.68 1.67.97 2.7 1.06z"
3173
+ }
3174
+ )
3175
+ }
3176
+ );
3177
+ ArrowRight2 = (props) => /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("a", { href: props.url, target: "_blank", className: "bg-primary", children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3178
+ "svg",
3179
+ {
3180
+ width: "24",
3181
+ height: "25",
3182
+ viewBox: "0 0 24 25",
3183
+ fill: "none",
3184
+ xmlns: "http://www.w3.org/2000/svg",
3185
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3186
+ "path",
3187
+ {
3188
+ d: "M5.22848 18.0472L15.1732 8.10249L7.97771 8.10248L7.99468 6.21875H18.5504L18.5504 16.7744L16.6497 16.7744L16.6666 9.59589L6.72189 19.5406L5.22848 18.0472Z",
3189
+ fill: "#F3F3F4"
3190
+ }
3191
+ )
3192
+ }
3193
+ ) });
3194
+ quests2 = [
3195
+ {
3196
+ icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(CornIcon, {}),
3197
+ category: "Crops",
3198
+ title: "Crop Capture",
3199
+ tags: "public",
3200
+ url: "https://crop-capture.main.geo-wiki.org/",
3201
+ description: "Crop Capture is designed to capture spatial and temporal crop information on the field."
3202
+ },
3203
+ {
3204
+ icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(TreeIcon, {}),
3205
+ category: "Forestry",
3206
+ title: "Tree Quest",
3207
+ tags: "pending verification",
3208
+ url: "https://c4cweb.main.geo-wiki.org/",
3209
+ description: "Join the Tree-Quest citizen science campaign! Help measure individual trees, learn how much carbon they store, and support climate science."
3210
+ },
3211
+ {
3212
+ icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(BiodiversityIcon, {}),
3213
+ category: "Biodiversity",
3214
+ title: "Species presence/absence",
3215
+ tags: "upcoming",
3216
+ description: "Designed to document the existence or absence of certain species at specific locations."
3217
+ },
3218
+ {
3219
+ icon: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(UrbanIcon, {}),
3220
+ category: "Urban",
3221
+ title: "Soil Sealing",
3222
+ tags: "upcoming",
3223
+ description: "Monitoring the expanding area of soil sealing in urban and peri-urban locations."
3224
+ }
3225
+ ];
3226
+ SelectQuestWidget = () => {
3227
+ return /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "px-1 py-6", children: [
3228
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "mb-8", children: [
3229
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("span", { className: "text-base text-gray-600", children: "View data" }),
3230
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("h2", { className: "text-4xl font-light mt-4 mb-8", children: "Select a Quest:" })
3231
+ ] }),
3232
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-8", children: quests2.map((quest, idx) => /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)(
3233
+ "div",
3234
+ {
3235
+ className: "bg-gray-100 rounded-xl shadow-sm lg:p-8 p-4 flex flex-col justify-between lg:min-h-[260px] hover:shadow-md transition-shadow",
3236
+ children: [
3237
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { children: [
3238
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "mb-4", children: quest.icon }),
3239
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsxs)("div", { className: "font-semibold text-sm mb-1 flex justify-between items-center w-full text-primary", children: [
3240
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { children: quest.category }),
3241
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "bg-primary text-white rounded-md p-1 text-xs", children: quest.tags })
3242
+ ] }),
3243
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "text-2xl font-medium mb-2", children: quest.title }),
3244
+ /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { className: "text-gray-600 text-sm lg:mb-4 mb-8", children: quest.description })
3245
+ ] }),
3246
+ quest.url && /* @__PURE__ */ (0, import_jsx_runtime60.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(
3247
+ "button",
3248
+ {
3249
+ className: "bg-primary text-white rounded-full w-10 h-10 flex items-center justify-center transition-colors",
3250
+ "aria-label": `Go to ${quest.title}`,
3251
+ children: /* @__PURE__ */ (0, import_jsx_runtime60.jsx)(ArrowRight2, { url: quest.url })
3252
+ }
3253
+ ) })
3254
+ ]
3255
+ },
3256
+ idx
3257
+ )) })
3258
+ ] });
3259
+ };
3260
+ }
3261
+ });
3262
+
3263
+ // src/components/SectionComponents.ts
3264
+ var import_core22, NewsFeedWidget2, UpdateUserInfoWidget2, UserInfoWidget2, ContactWidget2, CardGridWidget2, ResourceCollectionItemWidget2, ResourceCollectionsWidget2, FarmerClusterFinderWidget2, EntityListWidget2, SpecialFeaturesWidget2, SimpleActionListWidget2, FeatureRowWithMultipleImagesWidget2, TestimonialListWidget2, FeatureRowWithImageWidget2, FeatureRowWidget2, SimpleCallToActionWidget2, ImageWidget2, GalleryWidget2, HeaderWidget2, CardWidget2, ColumnWidget2, RowWidget2, NewsLetterWidget2, StatsWidget2, MapHeroWidget2, HeroCenterTextWidget2, HtmlSection2, MarkdownWidget2, ContainerWidget2, HeroWidget2, HeadingTextWidget2, ResourceQuickFindWidget2, NewsfeedPreviewWidget2, SubtitleH3BodyWidget2, SubtitleH3BodyInternalLinkListWidget2, SubtitleH3FaqWidget2, NewTestimonialsWidget2, SubtitleH3ResourceCollectionsWidget2, BannerFollowLinksWidget2, NewContactUsWidget2, ContactCardsWidget2, SubtitleH3BodySpecialFeatureResourceCollectionsWidget2, H2BodyInternalLinkMapWidget2, SignUpBannerWidget2, SubtitleH3ChildrenWidget2, HeaderBodyWidget2, LanguageWidget2, SubtitleH3KeyResourcesWidget2, VideoWidget2, SubtitleH2BodyVideoWidget2, ImageLefttH3BodyWidget2, SixClusterNewsWidget2, ImageLeftH3BodyLinkWidget2, IframeWidget2, DownloadQuestWidget2, QuestMapWidget2, SelectQuestWidget2, SectionComponents;
3265
+ var init_SectionComponents = __esm({
3266
+ "src/components/SectionComponents.ts"() {
3267
+ "use strict";
3268
+ import_core22 = require("@geowiki/core");
3269
+ NewsFeedWidget2 = (0, import_core22.dynamic)(() => Promise.resolve().then(() => (init_NewsFeedWidget(), NewsFeedWidget_exports)));
3270
+ UpdateUserInfoWidget2 = (0, import_core22.dynamic)(
3271
+ () => Promise.resolve().then(() => (init_UpdateUserInfoWidget(), UpdateUserInfoWidget_exports)).then(
3272
+ (mod) => mod.UpdateUserInfoWidget
3273
+ )
3274
+ );
3275
+ UserInfoWidget2 = (0, import_core22.dynamic)(
3276
+ () => Promise.resolve().then(() => (init_UserInfoWidget(), UserInfoWidget_exports)).then((mod) => mod.UserInfoWidget)
3277
+ );
3278
+ ContactWidget2 = (0, import_core22.dynamic)(
3279
+ () => Promise.resolve().then(() => (init_ContactWidget(), ContactWidget_exports)).then((mod) => mod.ContactWidget)
3280
+ );
3281
+ CardGridWidget2 = (0, import_core22.dynamic)(
3282
+ () => Promise.resolve().then(() => (init_CardGridWidget(), CardGridWidget_exports)).then((mod) => mod.CardGridWidget)
3283
+ );
3284
+ ResourceCollectionItemWidget2 = (0, import_core22.dynamic)(
3285
+ () => Promise.resolve().then(() => (init_ResourceCollectionItemWidget(), ResourceCollectionItemWidget_exports)).then(
3286
+ (mod) => mod.ResourceCollectionItemWidget
3287
+ )
3288
+ );
3289
+ ResourceCollectionsWidget2 = (0, import_core22.dynamic)(
3290
+ () => Promise.resolve().then(() => (init_ResourceCollectionsWidget(), ResourceCollectionsWidget_exports)).then(
3291
+ (mod) => mod.ResourceCollectionsWidget
3292
+ )
3293
+ );
3294
+ FarmerClusterFinderWidget2 = (0, import_core22.dynamic)(
3295
+ () => Promise.resolve().then(() => (init_FarmerClusterFinderWidget(), FarmerClusterFinderWidget_exports)).then(
3296
+ (mod) => mod.FarmerClusterFinderWidget
3297
+ )
3298
+ );
3299
+ EntityListWidget2 = (0, import_core22.dynamic)(
3300
+ () => Promise.resolve().then(() => (init_EntityListWidget(), EntityListWidget_exports)).then((mod) => mod.EntityListWidget)
3301
+ );
3302
+ SpecialFeaturesWidget2 = (0, import_core22.dynamic)(
3303
+ () => Promise.resolve().then(() => (init_SpecialFeaturesWidget(), SpecialFeaturesWidget_exports)).then(
3304
+ (mod) => mod.SpecialFeaturesWidget
3305
+ )
3306
+ );
3307
+ SimpleActionListWidget2 = (0, import_core22.dynamic)(
3308
+ () => Promise.resolve().then(() => (init_SimpleActionListWidget(), SimpleActionListWidget_exports)).then(
3309
+ (mod) => mod.SimpleActionListWidget
3310
+ )
3311
+ );
3312
+ FeatureRowWithMultipleImagesWidget2 = (0, import_core22.dynamic)(
3313
+ () => Promise.resolve().then(() => (init_FeatureRowWithMultipleImagesWidget(), FeatureRowWithMultipleImagesWidget_exports)).then(
3314
+ (mod) => mod.FeatureRowWithMultipleImagesWidget
3315
+ )
3316
+ );
3317
+ TestimonialListWidget2 = (0, import_core22.dynamic)(
3318
+ () => Promise.resolve().then(() => (init_TestimonialListWidget(), TestimonialListWidget_exports)).then(
3319
+ (mod) => mod.TestimonialListWidget
3320
+ )
3321
+ );
3322
+ FeatureRowWithImageWidget2 = (0, import_core22.dynamic)(
3323
+ () => Promise.resolve().then(() => (init_FeatureRowWithImageWidget(), FeatureRowWithImageWidget_exports)).then(
3324
+ (mod) => mod.FeatureRowWithImageWidget
3325
+ )
3326
+ );
3327
+ FeatureRowWidget2 = (0, import_core22.dynamic)(
3328
+ () => Promise.resolve().then(() => (init_FeatureRowWidget(), FeatureRowWidget_exports)).then((mod) => mod.FeatureRowWidget)
3329
+ );
3330
+ SimpleCallToActionWidget2 = (0, import_core22.dynamic)(
3331
+ () => Promise.resolve().then(() => (init_SimpleCallToActionWidget(), SimpleCallToActionWidget_exports)).then(
3332
+ (mod) => mod.SimpleCallToActionWidget
3333
+ )
3334
+ );
3335
+ ImageWidget2 = (0, import_core22.dynamic)(
3336
+ () => Promise.resolve().then(() => (init_ImageWidget(), ImageWidget_exports)).then((mod) => mod.ImageWidget)
3337
+ );
3338
+ GalleryWidget2 = (0, import_core22.dynamic)(
3339
+ () => Promise.resolve().then(() => (init_GalleryWidget(), GalleryWidget_exports)).then((mod) => mod.GalleryWidget)
3340
+ );
3341
+ HeaderWidget2 = (0, import_core22.dynamic)(
3342
+ () => Promise.resolve().then(() => (init_HeaderWidget(), HeaderWidget_exports)).then((mod) => mod.HeaderWidget)
3343
+ );
3344
+ CardWidget2 = (0, import_core22.dynamic)(
3345
+ () => Promise.resolve().then(() => (init_CardWidget(), CardWidget_exports)).then((mod) => mod.CardWidget)
3346
+ );
3347
+ ColumnWidget2 = (0, import_core22.dynamic)(
3348
+ () => Promise.resolve().then(() => (init_ColumnWidget(), ColumnWidget_exports)).then((mod) => mod.ColumnWidget)
3349
+ );
3350
+ RowWidget2 = (0, import_core22.dynamic)(
3351
+ () => Promise.resolve().then(() => (init_RowWidget(), RowWidget_exports)).then((mod) => mod.RowWidget)
3352
+ );
3353
+ NewsLetterWidget2 = (0, import_core22.dynamic)(
3354
+ () => Promise.resolve().then(() => (init_NewsLetterWidget(), NewsLetterWidget_exports)).then((mod) => mod.NewsLetterWidget)
3355
+ );
3356
+ StatsWidget2 = (0, import_core22.dynamic)(
3357
+ () => Promise.resolve().then(() => (init_StatsWidget(), StatsWidget_exports)).then((mod) => mod.StatsWidget)
3358
+ );
3359
+ MapHeroWidget2 = (0, import_core22.dynamic)(
3360
+ () => Promise.resolve().then(() => (init_MapHeroWidget(), MapHeroWidget_exports)).then((mod) => mod.MapHeroWidget)
3361
+ );
3362
+ HeroCenterTextWidget2 = (0, import_core22.dynamic)(
3363
+ () => Promise.resolve().then(() => (init_HeroCenterTextWidget(), HeroCenterTextWidget_exports)).then(
3364
+ (mod) => mod.HeroCenterTextWidget
3365
+ )
3366
+ );
3367
+ HtmlSection2 = (0, import_core22.dynamic)(
3368
+ () => Promise.resolve().then(() => (init_html_section(), html_section_exports)).then((mod) => mod.HtmlSection)
3369
+ );
3370
+ MarkdownWidget2 = (0, import_core22.dynamic)(
3371
+ () => Promise.resolve().then(() => (init_MarkdownWidget(), MarkdownWidget_exports)).then((mod) => mod.MarkdownWidget)
3372
+ );
3373
+ ContainerWidget2 = (0, import_core22.dynamic)(
3374
+ () => Promise.resolve().then(() => (init_ContainerWidget(), ContainerWidget_exports)).then((mod) => mod.ContainerWidget)
3375
+ );
3376
+ HeroWidget2 = (0, import_core22.dynamic)(
3377
+ () => Promise.resolve().then(() => (init_HeroWidget(), HeroWidget_exports)).then((mod) => mod.HeroWidget)
3378
+ );
3379
+ HeadingTextWidget2 = (0, import_core22.dynamic)(
3380
+ () => Promise.resolve().then(() => (init_HeadingTextWidget(), HeadingTextWidget_exports)).then((mod) => mod.HeadingTextWidget)
3381
+ );
3382
+ ResourceQuickFindWidget2 = (0, import_core22.dynamic)(
3383
+ () => Promise.resolve().then(() => (init_ResourceQuickFindWidget(), ResourceQuickFindWidget_exports)).then(
3384
+ (mod) => mod.ResourceQuickFindWidget
3385
+ )
3386
+ );
3387
+ NewsfeedPreviewWidget2 = (0, import_core22.dynamic)(
3388
+ () => Promise.resolve().then(() => (init_NewfeedPreviewWidget(), NewfeedPreviewWidget_exports)).then(
3389
+ (mod) => mod.NewsfeedPreviewWidget
3390
+ )
3391
+ );
3392
+ SubtitleH3BodyWidget2 = (0, import_core22.dynamic)(
3393
+ () => Promise.resolve().then(() => (init_SubtitleH3BodyWidget(), SubtitleH3BodyWidget_exports)).then(
3394
+ (mod) => mod.SubtitleH3BodyWidget
3395
+ )
3396
+ );
3397
+ SubtitleH3BodyInternalLinkListWidget2 = (0, import_core22.dynamic)(
3398
+ () => Promise.resolve().then(() => (init_SubtitleH3BodyInternalLinkListWidget(), SubtitleH3BodyInternalLinkListWidget_exports)).then(
3399
+ (mod) => mod.SubtitleH3BodyInternalLinkListWidget
3400
+ )
3401
+ );
3402
+ SubtitleH3FaqWidget2 = (0, import_core22.dynamic)(
3403
+ () => Promise.resolve().then(() => (init_SubtitleH3FaqWidget(), SubtitleH3FaqWidget_exports)).then(
3404
+ (mod) => mod.SubtitleH3FaqWidget
3405
+ )
3406
+ );
3407
+ NewTestimonialsWidget2 = (0, import_core22.dynamic)(
3408
+ () => Promise.resolve().then(() => (init_NewTestimonialsWidget(), NewTestimonialsWidget_exports)).then(
3409
+ (mod) => mod.NewTestimonialsWidget
3410
+ )
3411
+ );
3412
+ SubtitleH3ResourceCollectionsWidget2 = (0, import_core22.dynamic)(
3413
+ () => Promise.resolve().then(() => (init_SubtitleH3ResourceCollectionsWidget(), SubtitleH3ResourceCollectionsWidget_exports)).then(
3414
+ (mod) => mod.SubtitleH3ResourceCollectionsWidget
3415
+ )
3416
+ );
3417
+ BannerFollowLinksWidget2 = (0, import_core22.dynamic)(
3418
+ () => Promise.resolve().then(() => (init_BannerFollowLinksWidget(), BannerFollowLinksWidget_exports)).then(
3419
+ (mod) => mod.BannerFollowLinksWidget
3420
+ )
3421
+ );
3422
+ NewContactUsWidget2 = (0, import_core22.dynamic)(
3423
+ () => Promise.resolve().then(() => (init_NewContactUsWidget(), NewContactUsWidget_exports)).then((mod) => mod.NewContactUsWidget)
3424
+ );
3425
+ ContactCardsWidget2 = (0, import_core22.dynamic)(
3426
+ () => Promise.resolve().then(() => (init_ContactCardsWidget(), ContactCardsWidget_exports)).then((mod) => mod.ContactCardsWidget)
3427
+ );
3428
+ SubtitleH3BodySpecialFeatureResourceCollectionsWidget2 = (0, import_core22.dynamic)(
3429
+ () => Promise.resolve().then(() => (init_SubtitleH3BodySpecialFeatureResourceCollectionsWidget(), SubtitleH3BodySpecialFeatureResourceCollectionsWidget_exports)).then((mod) => mod.SubtitleH3BodySpecialFeatureResourceCollectionsWidget)
3430
+ );
3431
+ H2BodyInternalLinkMapWidget2 = (0, import_core22.dynamic)(
3432
+ () => Promise.resolve().then(() => (init_H2BodyInternalLinkMapWidget(), H2BodyInternalLinkMapWidget_exports)).then(
3433
+ (mod) => mod.H2BodyInternalLinkMapWidget
3434
+ )
3435
+ );
3436
+ SignUpBannerWidget2 = (0, import_core22.dynamic)(
3437
+ () => Promise.resolve().then(() => (init_SignUpBannerWidget(), SignUpBannerWidget_exports)).then((mod) => mod.SignUpBannerWidget)
3438
+ );
3439
+ SubtitleH3ChildrenWidget2 = (0, import_core22.dynamic)(
3440
+ () => Promise.resolve().then(() => (init_SubtitleH3ChildrenWidget(), SubtitleH3ChildrenWidget_exports)).then(
3441
+ (mod) => mod.SubtitleH3ChildrenWidget
3442
+ )
3443
+ );
3444
+ HeaderBodyWidget2 = (0, import_core22.dynamic)(
3445
+ () => Promise.resolve().then(() => (init_HeaderBodyWidget(), HeaderBodyWidget_exports)).then((mod) => mod.HeaderBodyWidget)
3446
+ );
3447
+ LanguageWidget2 = (0, import_core22.dynamic)(
3448
+ () => Promise.resolve().then(() => (init_LanguagesWidget(), LanguagesWidget_exports)).then((mod) => mod.LanguageWidget)
3449
+ );
3450
+ SubtitleH3KeyResourcesWidget2 = (0, import_core22.dynamic)(
3451
+ () => Promise.resolve().then(() => (init_SubtitleH3KeyResourcesWidget(), SubtitleH3KeyResourcesWidget_exports)).then(
3452
+ (mod) => mod.SubtitleH3KeyResourcesWidget
3453
+ )
3454
+ );
3455
+ VideoWidget2 = (0, import_core22.dynamic)(
3456
+ () => Promise.resolve().then(() => (init_VideoWidget(), VideoWidget_exports)).then((mod) => mod.VideoWidget)
3457
+ );
3458
+ SubtitleH2BodyVideoWidget2 = (0, import_core22.dynamic)(
3459
+ () => Promise.resolve().then(() => (init_SubtitleH2BodyVideoWidget(), SubtitleH2BodyVideoWidget_exports)).then(
3460
+ (mod) => mod.SubtitleH2BodyVideoWidget
3461
+ )
3462
+ );
3463
+ ImageLefttH3BodyWidget2 = (0, import_core22.dynamic)(
3464
+ () => Promise.resolve().then(() => (init_ImageLefttH3BodyWidget(), ImageLefttH3BodyWidget_exports)).then(
3465
+ (mod) => mod.ImageLefttH3BodyWidget
3466
+ )
3467
+ );
3468
+ SixClusterNewsWidget2 = (0, import_core22.dynamic)(
3469
+ () => Promise.resolve().then(() => (init_SixClusterNewsWidget(), SixClusterNewsWidget_exports)).then(
3470
+ (mod) => mod.SixClusterNewsWidget
3471
+ )
3472
+ );
3473
+ ImageLeftH3BodyLinkWidget2 = (0, import_core22.dynamic)(
3474
+ () => Promise.resolve().then(() => (init_ImageLeftH3BodyLinkWidget(), ImageLeftH3BodyLinkWidget_exports)).then(
3475
+ (mod) => mod.ImageLeftH3BodyLinkWidget
3476
+ )
3477
+ );
3478
+ IframeWidget2 = (0, import_core22.dynamic)(
3479
+ () => Promise.resolve().then(() => (init_IframeWidget(), IframeWidget_exports)).then((mod) => mod.IframeWidget)
3480
+ );
3481
+ DownloadQuestWidget2 = (0, import_core22.dynamic)(
3482
+ () => Promise.resolve().then(() => (init_DownloadQuestWidget(), DownloadQuestWidget_exports)).then(
3483
+ (mod) => mod.DownloadQuestWidget
3484
+ )
3485
+ );
3486
+ QuestMapWidget2 = (0, import_core22.dynamic)(
3487
+ () => Promise.resolve().then(() => (init_QuestMapWidget(), QuestMapWidget_exports)).then((mod) => mod.QuestMapWidget)
3488
+ );
3489
+ SelectQuestWidget2 = (0, import_core22.dynamic)(
3490
+ () => Promise.resolve().then(() => (init_SelectQuestWidget(), SelectQuestWidget_exports)).then(
3491
+ (mod) => mod.SelectQuestWidget
3492
+ )
3493
+ );
3494
+ SectionComponents = {
3495
+ // PLOP_WIDGET_COMPONENTS
3496
+ NewsFeed: NewsFeedWidget2,
3497
+ UpdateUserInfo: UpdateUserInfoWidget2,
3498
+ UserInfo: UserInfoWidget2,
3499
+ Contact: ContactWidget2,
3500
+ CardGrid: CardGridWidget2,
3501
+ ResourceCollectionItem: ResourceCollectionItemWidget2,
3502
+ ResourceCollections: ResourceCollectionsWidget2,
3503
+ FarmerClusterFinder: FarmerClusterFinderWidget2,
3504
+ EntityList: EntityListWidget2,
3505
+ SpecialFeatures: SpecialFeaturesWidget2,
3506
+ SimpleActionList: SimpleActionListWidget2,
3507
+ FeatureRowWithMultipleImages: FeatureRowWithMultipleImagesWidget2,
3508
+ TestimonialList: TestimonialListWidget2,
3509
+ FeatureRowWithImage: FeatureRowWithImageWidget2,
3510
+ FeatureRow: FeatureRowWidget2,
3511
+ SimpleCenteredCallToAction: SimpleCallToActionWidget2,
3512
+ Image: ImageWidget2,
3513
+ Gallery: GalleryWidget2,
3514
+ Header: HeaderWidget2,
3515
+ Card: CardWidget2,
3516
+ Column: ColumnWidget2,
3517
+ Row: RowWidget2,
3518
+ NewsLetter: NewsLetterWidget2,
3519
+ Stats: StatsWidget2,
3520
+ MapHeroWidget: MapHeroWidget2,
3521
+ HeroCenterText: HeroCenterTextWidget2,
3522
+ HtmlWidget: HtmlSection2,
3523
+ MarkdownWidget: MarkdownWidget2,
3524
+ ContainerWidget: ContainerWidget2,
3525
+ Hero: HeroWidget2,
3526
+ HeroWidget: HeroWidget2,
3527
+ HeadingText: HeadingTextWidget2,
3528
+ ResourceQuickFind: ResourceQuickFindWidget2,
3529
+ NewsFeedPreview: NewsfeedPreviewWidget2,
3530
+ SubtitleH3Body: SubtitleH3BodyWidget2,
3531
+ SubtitleH3BodyInternalLinkList: SubtitleH3BodyInternalLinkListWidget2,
3532
+ SubtitleH3Faq: SubtitleH3FaqWidget2,
3533
+ NewTestimonials: NewTestimonialsWidget2,
3534
+ SubtitleH3ResourceCollections: SubtitleH3ResourceCollectionsWidget2,
3535
+ BannerFollowLinks: BannerFollowLinksWidget2,
3536
+ NewContactUs: NewContactUsWidget2,
3537
+ ContactCards: ContactCardsWidget2,
3538
+ SubtitleH3BodySpecialFeatureResourceCollections: SubtitleH3BodySpecialFeatureResourceCollectionsWidget2,
3539
+ H2BodyInternalLinkMap: H2BodyInternalLinkMapWidget2,
3540
+ SignUpBanner: SignUpBannerWidget2,
3541
+ SubtitleH3Children: SubtitleH3ChildrenWidget2,
3542
+ HeaderBody: HeaderBodyWidget2,
3543
+ Language: LanguageWidget2,
3544
+ SubtitleH3KeyResources: SubtitleH3KeyResourcesWidget2,
3545
+ Video: VideoWidget2,
3546
+ SubtitleH2BodyVideo: SubtitleH2BodyVideoWidget2,
3547
+ ImageLefttH3Body: ImageLefttH3BodyWidget2,
3548
+ SixClusterNews: SixClusterNewsWidget2,
3549
+ ImageLeftH3BodyLink: ImageLeftH3BodyLinkWidget2,
3550
+ IframeViewer: IframeWidget2,
3551
+ DownloadQuest: DownloadQuestWidget2,
3552
+ QuestMap: QuestMapWidget2,
3553
+ SelectQuest: SelectQuestWidget2
3554
+ };
3555
+ }
3556
+ });
3557
+
3558
+ // src/components/WidgetErrorBoundary.tsx
3559
+ var import_react_error_boundary, import_jsx_runtime61, IS_DEV, WidgetFallback, WidgetErrorBoundary;
3560
+ var init_WidgetErrorBoundary = __esm({
3561
+ "src/components/WidgetErrorBoundary.tsx"() {
3562
+ "use strict";
3563
+ "use client";
3564
+ import_react_error_boundary = require("react-error-boundary");
3565
+ import_jsx_runtime61 = require("react/jsx-runtime");
3566
+ IS_DEV = process.env.NODE_ENV === "development";
3567
+ WidgetFallback = ({ widgetName, error }) => {
3568
+ if (!IS_DEV) return null;
3569
+ return /* @__PURE__ */ (0, import_jsx_runtime61.jsxs)("div", { className: "container mx-auto my-4 p-3 border border-dashed border-red-400 bg-red-50 text-red-700 text-sm rounded", children: [
3570
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("strong", { children: "Widget failed to render" }),
3571
+ " \u2014 ",
3572
+ widgetName,
3573
+ /* @__PURE__ */ (0, import_jsx_runtime61.jsx)("pre", { className: "mt-2 text-xs whitespace-pre-wrap", children: error.message })
3574
+ ] });
3575
+ };
3576
+ WidgetErrorBoundary = ({ children, widgetName }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(
3577
+ import_react_error_boundary.ErrorBoundary,
3578
+ {
3579
+ fallbackRender: ({ error }) => /* @__PURE__ */ (0, import_jsx_runtime61.jsx)(WidgetFallback, { widgetName, error }),
3580
+ onError: (error, info) => console.error(
3581
+ `[WidgetErrorBoundary] Widget "${widgetName}" crashed:`,
3582
+ error,
3583
+ info
3584
+ ),
3585
+ children
3586
+ }
3587
+ );
3588
+ }
3589
+ });
3590
+
3591
+ // src/components/Sections.tsx
3592
+ var import_jsx_runtime62, Section, Sections;
3593
+ var init_Sections = __esm({
3594
+ "src/components/Sections.tsx"() {
3595
+ "use strict";
3596
+ "use client";
3597
+ init_SectionComponents();
3598
+ init_WidgetErrorBoundary();
3599
+ import_jsx_runtime62 = require("react/jsx-runtime");
3600
+ Section = ({ sectionData, settings, cmsUrl, newsItems }) => {
3601
+ const SectionComponent = SectionComponents[sectionData.ContentType];
3602
+ if (!SectionComponent) {
3603
+ return null;
3604
+ }
3605
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(WidgetErrorBoundary, { widgetName: sectionData.ContentType, children: /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3606
+ SectionComponent,
3607
+ {
3608
+ data: sectionData,
3609
+ settings,
3610
+ cmsUrl,
3611
+ newsItems
3612
+ }
3613
+ ) });
3614
+ };
3615
+ Sections = ({ sections, settings, cmsUrl }) => {
3616
+ return /* @__PURE__ */ (0, import_jsx_runtime62.jsx)("div", { className: "flex flex-col", children: sections?.map((section) => /* @__PURE__ */ (0, import_jsx_runtime62.jsx)(
3617
+ Section,
3618
+ {
3619
+ sectionData: section,
3620
+ settings,
3621
+ cmsUrl
3622
+ },
3623
+ `${section?.ContentType}_${section?.ContentItemId}`
3624
+ )) });
3625
+ };
3626
+ }
3627
+ });
3628
+
3629
+ // src/index.tsx
3630
+ var index_exports = {};
3631
+ __export(index_exports, {
3632
+ AppsList: () => AppsList,
3633
+ CardGridWidget: () => CardGridWidget,
3634
+ CardWidget: () => CardWidget,
3635
+ ClusterNewsStories: () => ClusterNewsStories,
3636
+ ColumnWidget: () => ColumnWidget,
3637
+ ContactWidget: () => ContactWidget,
3638
+ ContainerWidget: () => ContainerWidget,
3639
+ EntityListWidget: () => EntityListWidget,
3640
+ FarmerClusterFinderWidget: () => FarmerClusterFinderWidget,
3641
+ FeatureColumnsGroup: () => FeatureColumnsGroup,
3642
+ FeatureRowWidget: () => FeatureRowWidget,
3643
+ FeatureRowWithImageWidget: () => FeatureRowWithImageWidget,
3644
+ FeatureRowWithMultipleImagesWidget: () => FeatureRowWithMultipleImagesWidget,
3645
+ GalleryWidget: () => GalleryWidget,
3646
+ HeaderWidget: () => HeaderWidget,
3647
+ HeadingTextWidget: () => HeadingTextWidget,
3648
+ HeroCenterTextWidget: () => HeroCenterTextWidget,
3649
+ HeroGeoWiki: () => HeroGeoWiki,
3650
+ HeroWidget: () => HeroWidget,
3651
+ HtmlSection: () => HtmlSection,
3652
+ ImageWidget: () => ImageWidget,
3653
+ LargeVideo: () => LargeVideo,
3654
+ MapHeroWidget: () => MapHeroWidget,
3655
+ MarkdownWidget: () => MarkdownWidget,
3656
+ NewsLetterWidget: () => NewsLetterWidget,
3657
+ ResourceCollectionItemWidget: () => ResourceCollectionItemWidget,
3658
+ ResourceCollectionsWidget: () => ResourceCollectionsWidget,
3659
+ RichText: () => RichText,
3660
+ RowWidget: () => RowWidget,
3661
+ Sections: () => Sections,
3662
+ SimpleActionListWidget: () => SimpleActionListWidget,
3663
+ SimpleCallToActionWidget: () => SimpleCallToActionWidget,
3664
+ SpecialFeaturesWidget: () => SpecialFeaturesWidget,
3665
+ StatsWidget: () => StatsWidget,
3666
+ TestimonialListWidget: () => TestimonialListWidget,
3667
+ UnderConstruction: () => UnderConstruction,
3668
+ UpdateUserInfoWidget: () => UpdateUserInfoWidget,
3669
+ UserInfoWidget: () => UserInfoWidget,
3670
+ WidgetErrorBoundary: () => WidgetErrorBoundary
3671
+ });
3672
+ module.exports = __toCommonJS(index_exports);
3673
+ init_Sections();
3674
+ init_WidgetErrorBoundary();
3675
+
3676
+ // src/components/Section/apps-list.tsx
3677
+ var import_core23 = require("@geowiki/core");
3678
+ var import_ui52 = require("@geowiki/ui");
3679
+ var import_jsx_runtime63 = require("react/jsx-runtime");
3680
+ var AppsList = ({ apps }) => {
3681
+ console.log("apps", apps);
3682
+ var cmsUrl = (0, import_core23.useCmsUrl)();
3683
+ var visibleApps = apps?.filter(
3684
+ (app) => app?.Application?.IsVisible?.Value === true
3685
+ );
3686
+ visibleApps?.sort((a, b) => {
3687
+ return a?.Application?.Order?.Value - b?.Application?.Order?.Value;
3688
+ });
3689
+ return /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "px-4 py-16 mx-auto sm:max-w-xl md:max-w-full ", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "mx-auto px-4 container sm:px-6", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsxs)("div", { className: "space-y-12", children: [
3690
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "space-y-5 sm:space-y-4", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("h2", { className: "text-3xl font-extrabold tracking-tight sm:text-4xl text-center", children: "Our Apps" }) }),
3691
+ /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("div", { className: "lg:col-span-2", children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("ul", { className: "space-y-12 sm:grid sm:grid-cols-2 lg:grid-cols-3 sm:gap-x-6 sm:gap-y-12 sm:space-y-0 lg:gap-x-8", children: visibleApps && visibleApps.map((app) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
3692
+ import_ui52.ApplicationView,
3693
+ {
3694
+ app,
3695
+ cmsUrl
3696
+ },
3697
+ app.ContentItemId
3698
+ )) }) })
3699
+ ] }) }) }) });
3700
+ };
3701
+
3702
+ // src/index.tsx
3703
+ init_HeaderWidget();
3704
+ init_MapHeroWidget();
3705
+ init_CardGridWidget();
3706
+ init_CardWidget();
3707
+ init_ColumnWidget();
3708
+ init_ContactWidget();
3709
+ init_ContainerWidget();
3710
+ init_EntityListWidget();
3711
+
3712
+ // src/components/Section/feature-columns-group.tsx
3713
+ var import_ui53 = require("@geowiki/ui");
3714
+ var import_jsx_runtime64 = require("react/jsx-runtime");
3715
+ var FeatureColumnsGroup = ({ data }) => {
3716
+ return /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "container mx-auto flex flex-col lg:flex-row lg:flex-wrap gap-12 align-top py-12 text-center", children: data.features.map((feature) => /* @__PURE__ */ (0, import_jsx_runtime64.jsxs)("div", { className: "flex-1 text-lg", children: [
3717
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("div", { className: "flex content-center justify-center", children: /* @__PURE__ */ (0, import_jsx_runtime64.jsx)(import_ui53.CustomImage, { src: feature.icon, className: "w-10" }) }),
3718
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("h3", { className: "font-bold mt-4 mb-4", children: feature.title }),
3719
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("p", { children: feature.description }),
3720
+ /* @__PURE__ */ (0, import_jsx_runtime64.jsx)("a", {})
3721
+ ] }, feature.id)) }) });
3722
+ };
3723
+
3724
+ // src/components/Section/feature-rows-group.tsx
3725
+ var import_classnames2 = __toESM(require("classnames"));
3726
+ var import_ui54 = require("@geowiki/ui");
3727
+ var import_ui55 = require("@geowiki/ui");
3728
+ var import_jsx_runtime65 = require("react/jsx-runtime");
3729
+
3730
+ // src/index.tsx
3731
+ init_FeatureRowWidget();
3732
+ init_FeatureRowWithImageWidget();
3733
+ init_FeatureRowWithMultipleImagesWidget();
3734
+ init_GalleryWidget();
3735
+ init_HeroCenterTextWidget();
3736
+ init_HeroWidget();
3737
+ init_HeadingTextWidget();
3738
+
3739
+ // src/components/Section/hero-geowiki.tsx
3740
+ var import_core24 = require("@geowiki/core");
3741
+ var import_ui56 = require("@geowiki/ui");
3742
+ var import_jsx_runtime66 = require("react/jsx-runtime");
3743
+ var HeroGeoWiki = ({ data }) => {
3744
+ return /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3745
+ "div",
3746
+ {
3747
+ className: "w-full bg-center bg-cover hero-geo-wiki rounded-xl overflow-hidden",
3748
+ style: { backgroundImage: `url('${data.picture.url}')` },
3749
+ children: /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex items-center justify-center w-full h-full", children: /* @__PURE__ */ (0, import_jsx_runtime66.jsxs)("div", { className: "text-center bg-opacity-50 bg-gray-600 p-8", children: [
3750
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "uppercase tracking-wide font-semibold opacity-100 text-white", children: data.label }),
3751
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("h1", { className: "title text-white mt-2 sm:mt-0 mb-4 sm:mb-2", children: data.title }),
3752
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("p", { className: "text-xl text-white mb-6", children: data.description }),
3753
+ /* @__PURE__ */ (0, import_jsx_runtime66.jsx)("div", { className: "flex flex-row flex-wrap gap-4 justify-center text-white", children: data.buttons.map((button) => /* @__PURE__ */ (0, import_jsx_runtime66.jsx)(
3754
+ import_ui56.ButtonLink,
3755
+ {
3756
+ button,
3757
+ compact: false,
3758
+ appearance: (0, import_core24.getButtonAppearance)(button.type, "light")
3759
+ },
3760
+ button.id
3761
+ )) })
3762
+ ] }) })
3763
+ }
3764
+ ) });
3765
+ };
3766
+
3767
+ // src/index.tsx
3768
+ init_html_section();
3769
+ init_ImageWidget();
3770
+
3771
+ // src/components/Section/large-video.tsx
3772
+ var import_ui57 = require("@geowiki/ui");
3773
+ var import_jsx_runtime67 = require("react/jsx-runtime");
3774
+ var LargeVideo = ({ data }) => {
3775
+ return /* @__PURE__ */ (0, import_jsx_runtime67.jsxs)("section", { className: "container flex flex-col align-middle text-center pt-12 pb-16", children: [
3776
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("h2", { className: "title mb-6", children: data.title }),
3777
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("p", { className: "text-lg mb-10", children: data.description }),
3778
+ /* @__PURE__ */ (0, import_jsx_runtime67.jsx)("div", { className: "w-full lg:w-9/12 mx-auto overflow-hidden shadow-2xl", children: /* @__PURE__ */ (0, import_jsx_runtime67.jsx)(
3779
+ import_ui57.Video,
3780
+ {
3781
+ media: data.video,
3782
+ poster: data.poster,
3783
+ className: "w-full max-h-full"
3784
+ }
3785
+ ) })
3786
+ ] });
3787
+ };
3788
+
3789
+ // src/index.tsx
3790
+ init_MarkdownWidget();
3791
+ init_NewsLetterWidget();
3792
+ init_ResourceCollectionItemWidget();
3793
+ init_ResourceCollectionsWidget();
3794
+
3795
+ // src/components/Section/rich-text.tsx
3796
+ var import_react_markdown = __toESM(require("react-markdown"));
3797
+ var import_jsx_runtime68 = require("react/jsx-runtime");
3798
+ var RichText = ({ data }) => {
3799
+ return /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "container mx-auto ", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)("div", { className: "prose prose-lg container mx-auto py-12", children: /* @__PURE__ */ (0, import_jsx_runtime68.jsx)(import_react_markdown.default, { children: data.content }) }) });
3800
+ };
3801
+
3802
+ // src/index.tsx
3803
+ init_RowWidget();
3804
+ init_SimpleActionListWidget();
3805
+ init_SimpleCallToActionWidget();
3806
+ init_SpecialFeaturesWidget();
3807
+ init_StatsWidget();
3808
+ init_TestimonialListWidget();
3809
+
3810
+ // src/components/Section/under-construction.tsx
3811
+ var import_core25 = require("@geowiki/core");
3812
+ var import_jsx_runtime69 = require("react/jsx-runtime");
3813
+ var UnderConstruction = () => {
3814
+ return /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "container mx-auto min-h-screen px-4 py-16 sm:px-6 sm:py-24 md:grid md:place-items-center lg:px-8", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "max-w-max mx-auto", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("main", { className: "sm:flex", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsxs)("div", { className: "sm:ml-6", children: [
3815
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "sm:border-l sm:border-gray-200 sm:pl-6", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("h1", { className: "text-4xl font-extrabold tracking-tight sm:text-5xl", children: "Page under construction" }) }),
3816
+ /* @__PURE__ */ (0, import_jsx_runtime69.jsx)("div", { className: "mt-10 flex space-x-3 sm:border-l sm:border-transparent sm:pl-6", children: /* @__PURE__ */ (0, import_jsx_runtime69.jsx)(
3817
+ import_core25.Link,
3818
+ {
3819
+ href: "/",
3820
+ className: "inline-flex items-center px-4 py-2 border border-transparent text-sm font-medium rounded-md shadow-sm text-white bg-primary-600 hover:bg-primary-700 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-primary-500",
3821
+ children: "Go back home"
3822
+ }
3823
+ ) })
3824
+ ] }) }) }) });
3825
+ };
3826
+
3827
+ // src/index.tsx
3828
+ init_FarmerClusterFinderWidget();
3829
+ init_UpdateUserInfoWidget();
3830
+ init_UserInfoWidget();
3831
+
3832
+ // src/components/Section/Recodo/ClusterNewsStories.tsx
3833
+ var import_core26 = require("@geowiki/core");
3834
+ var import_ui58 = require("@geowiki/ui");
3835
+ var import_core27 = require("@geowiki/core");
3836
+ var import_core28 = require("@geowiki/core");
3837
+ var import_jsx_runtime70 = require("react/jsx-runtime");
3838
+ var ArticleMeta = ({
3839
+ date,
3840
+ location,
3841
+ author
3842
+ }) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex gap-3 items-center", children: [
3843
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ui58.Body16, { children: new Date(date).toDateString() }),
3844
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ui58.Body16m, { children: location }),
3845
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ui58.Body16m, { children: author })
3846
+ ] });
3847
+ var Article = ({ meta, title, newsId }) => /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("article", { className: "flex flex-col items-start self-stretch lg:px-5 my-auto font-medium max-md:mt-6 max-md:max-w-full", children: [
3848
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(ArticleMeta, { ...meta }),
3849
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("h1", { className: "self-stretch mt-4 text-2xl font-light leading-[130%] max-md:max-w-full lg:leading-10 lg:text-3xl lg:mt-6", children: title }),
3850
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "flex gap-2 mt-4 text-lg lg:mt-6", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_core27.Link, { href: `/news/farmer-cluster/${newsId}`, className: "text-primary", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ui58.DesignButton, { variant: "internalLink", className: "h-auto p-0 lg:p-0 ", children: "Read full story" }) }) })
3851
+ ] });
3852
+ var ClusterNewsStories = ({}) => {
3853
+ const router = (0, import_core28.useRouter)();
3854
+ var page = parseInt(router.query.page) || 1;
3855
+ var pageSize = 9;
3856
+ var skip = (page - 1) * pageSize + 1;
3857
+ if (skip === 0) {
3858
+ skip = 1;
3859
+ }
3860
+ var take = pageSize;
3861
+ const { data: clusterNews, isLoading } = (0, import_core26.useNewsFromAllClusters)(skip, take);
3862
+ const { data: featuredNews, isLoading: isFeaturedLoading } = (0, import_core26.useNewsFromAllClusters)(0, 1);
3863
+ var firstNews = featuredNews?.items?.[0];
3864
+ if (isFeaturedLoading || isLoading) {
3865
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ui58.LoaderFull, {});
3866
+ }
3867
+ return /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "lg:container mx-auto", children: [
3868
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsxs)("div", { className: "flex gap-5 max-md:flex-col max-md:gap-0", children: [
3869
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "flex flex-col w-6/12 max-md:ml-0 max-md:w-full", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3870
+ Article,
3871
+ {
3872
+ meta: {
3873
+ date: firstNews?.creationTime,
3874
+ location: firstNews?.clusterCountry,
3875
+ author: firstNews?.username
3876
+ },
3877
+ title: firstNews?.title,
3878
+ newsId: firstNews?.id
3879
+ }
3880
+ ) }),
3881
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "flex flex-col ml-5 w-6/12 max-md:ml-0 max-md:w-full", children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3882
+ import_ui58.ApiImage,
3883
+ {
3884
+ imageId: firstNews?.imageId,
3885
+ className: "flex overflow-hidden relative flex-col grow justify-center min-h-[560px] mt-6 max-md:max-w-full lg:mt-10"
3886
+ }
3887
+ ) })
3888
+ ] }),
3889
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { className: "grid grid-flow-row gap-5 lg:grid-cols-3 py-11 lg:pt-20 lg:pb-24", children: clusterNews?.items?.map((news) => /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(
3890
+ import_ui58.ClusterNewsItem,
3891
+ {
3892
+ id: news.id,
3893
+ clusterCountry: news.clusterCountry,
3894
+ path: news.imageId,
3895
+ time: news.creationTime,
3896
+ title: news.title,
3897
+ clusterName: news.clusterName,
3898
+ username: news.username
3899
+ },
3900
+ news.id
3901
+ ) }, news.id)) }),
3902
+ /* @__PURE__ */ (0, import_jsx_runtime70.jsx)("div", { children: /* @__PURE__ */ (0, import_jsx_runtime70.jsx)(import_ui58.RoutePagination, { pageSize, total: clusterNews?.totalCount }) })
3903
+ ] });
3904
+ };
3905
+
3906
+ // src/index.tsx
3907
+ __reExport(index_exports, require("@geowiki/core/src/hooks/useMapMenuItems"), module.exports);
3908
+ // Annotate the CommonJS export names for ESM import in node:
3909
+ 0 && (module.exports = {
3910
+ AppsList,
3911
+ CardGridWidget,
3912
+ CardWidget,
3913
+ ClusterNewsStories,
3914
+ ColumnWidget,
3915
+ ContactWidget,
3916
+ ContainerWidget,
3917
+ EntityListWidget,
3918
+ FarmerClusterFinderWidget,
3919
+ FeatureColumnsGroup,
3920
+ FeatureRowWidget,
3921
+ FeatureRowWithImageWidget,
3922
+ FeatureRowWithMultipleImagesWidget,
3923
+ GalleryWidget,
3924
+ HeaderWidget,
3925
+ HeadingTextWidget,
3926
+ HeroCenterTextWidget,
3927
+ HeroGeoWiki,
3928
+ HeroWidget,
3929
+ HtmlSection,
3930
+ ImageWidget,
3931
+ LargeVideo,
3932
+ MapHeroWidget,
3933
+ MarkdownWidget,
3934
+ NewsLetterWidget,
3935
+ ResourceCollectionItemWidget,
3936
+ ResourceCollectionsWidget,
3937
+ RichText,
3938
+ RowWidget,
3939
+ Sections,
3940
+ SimpleActionListWidget,
3941
+ SimpleCallToActionWidget,
3942
+ SpecialFeaturesWidget,
3943
+ StatsWidget,
3944
+ TestimonialListWidget,
3945
+ UnderConstruction,
3946
+ UpdateUserInfoWidget,
3947
+ UserInfoWidget,
3948
+ WidgetErrorBoundary,
3949
+ ...require("@geowiki/core/src/hooks/useMapMenuItems")
3950
+ });