fermmap-shared 0.9.0 → 0.9.2

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.
package/dist/main.cjs CHANGED
@@ -12,6 +12,7 @@ var $fs04y$reactspectrums2iconsClose = require("@react-spectrum/s2/icons/Close")
12
12
  var $fs04y$nextnavigation = require("next/navigation");
13
13
  var $fs04y$reactspectrums2iconsGlobeGrid = require("@react-spectrum/s2/icons/GlobeGrid");
14
14
  var $fs04y$reactspectrums2iconsViewList = require("@react-spectrum/s2/icons/ViewList");
15
+ var $fs04y$reactspectrumutils = require("@react-spectrum/utils");
15
16
 
16
17
 
17
18
  function $parcel$exportWildcard(dest, source) {
@@ -53,6 +54,11 @@ $parcel$export($305101ddbb5f36e4$exports, "Button", () => $e6839169613154d7$expo
53
54
  $parcel$export($305101ddbb5f36e4$exports, "Checkbox", () => $300c3c8c5b9089df$export$48513f6b9f8ce62d);
54
55
  $parcel$export($305101ddbb5f36e4$exports, "CloseButton", () => $5a568b5eb65bfe76$export$de65de8213222d10);
55
56
  $parcel$export($305101ddbb5f36e4$exports, "ComboBox", () => $1c0dbf01eb96351a$export$72b9695b8216309a);
57
+ $parcel$export($305101ddbb5f36e4$exports, "CookieConsent", () => $93232b8350e1cfa9$export$e06767a507a85916);
58
+ $parcel$export($305101ddbb5f36e4$exports, "getConsentLevel", () => $93232b8350e1cfa9$export$d9c3278f7514faac);
59
+ $parcel$export($305101ddbb5f36e4$exports, "canUseAnalytics", () => $93232b8350e1cfa9$export$789e7db30a32746e);
60
+ $parcel$export($305101ddbb5f36e4$exports, "canUseEssentials", () => $93232b8350e1cfa9$export$2024021dc39f38be);
61
+ $parcel$export($305101ddbb5f36e4$exports, "hasConsented", () => $93232b8350e1cfa9$export$2f5968b662bd1947);
56
62
  $parcel$export($305101ddbb5f36e4$exports, "DisclosureGroup", () => $3764d8bc3c612a35$export$944aceb4f8c89f10);
57
63
  $parcel$export($305101ddbb5f36e4$exports, "FermentTypeBadge", () => $6a064977073da228$export$3dd2bd9a4b724d5b);
58
64
  $parcel$export($305101ddbb5f36e4$exports, "FilterTabs", () => $75461c19e6a33bc7$export$221f31a87e5a826c);
@@ -161,8 +167,9 @@ const $e6839169613154d7$var$buttonStyles = function anonymous(props) {
161
167
  rules += ' plc12';
162
168
  } else {
163
169
  if (props.variant === "navigation") rules += ' pMbOPsb12';
164
- else if (props.variant === "danger") rules += ' pLYrGTd12';
170
+ else if (props.variant === "danger") rules += ' pmM8ah12';
165
171
  else if (props.variant === "secondary") rules += ' pMbOPsb12';
172
+ else if (props.variant === "primary") rules += ' ppxXPsb12';
166
173
  rules += ' plb12';
167
174
  }
168
175
  rules += ' sd12';
@@ -189,28 +196,29 @@ const $e6839169613154d7$var$buttonStyles = function anonymous(props) {
189
196
  else if (props.size === "S") rules += ' Re12';
190
197
  else rules += ' Rf12';
191
198
  if (props.variant === "navigation") rules += ' ZJ12';
199
+ rules += ' -_8sjo0b-t5ZbAob12';
192
200
  if (props.isDisabled) {
193
- if (props.isDisabled) rules += ' gd12';
194
- else rules += ' gH12';
201
+ rules += ' gH12';
202
+ rules += ' gld12';
195
203
  } else {
196
204
  if (props.variant === "danger") {
197
- if (props.isPressed) rules += ' gnkUCZ12';
198
- else if (props.isFocusVisibile) rules += ' gKYKCZ12';
199
- else if (props.isHovered) rules += ' gKYKCZ12';
200
- else rules += ' g7CBCZ12';
205
+ if (props.isPressed) rules += ' gD1cDZ12';
206
+ else if (props.isFocusVisible) rules += ' g0F3CZ12';
207
+ else if (props.isHovered) rules += ' g0F3CZ12';
208
+ else rules += ' gnkUCZ12';
201
209
  } else if (props.variant === "navigation") {
202
210
  if (props.isPressed) rules += ' gjpY2ub12';
203
- else if (props.isFocusVisibile) rules += ' gG3O2ub12';
211
+ else if (props.isFocusVisible) rules += ' gG3O2ub12';
204
212
  else if (props.isHovered) rules += ' gG3O2ub12';
205
213
  else rules += ' g912';
206
214
  } else if (props.variant === "secondary") {
207
215
  if (props.isPressed) rules += ' gWK72ub12';
208
- else if (props.isFocusVisibile) rules += ' gjpY2ub12';
216
+ else if (props.isFocusVisible) rules += ' gjpY2ub12';
209
217
  else if (props.isHovered) rules += ' gjpY2ub12';
210
218
  else rules += ' gG3O2ub12';
211
219
  } else if (props.variant === "primary") {
212
220
  if (props.isPressed) rules += ' ggNcPsb12';
213
- else if (props.isFocusVisibile) rules += ' ggNcPsb12';
221
+ else if (props.isFocusVisible) rules += ' ggNcPsb12';
214
222
  else if (props.isHovered) rules += ' ggNcPsb12';
215
223
  else rules += ' gDr3Osb12';
216
224
  } else rules += ' gDr3Osb12';
@@ -294,11 +302,12 @@ const $6ab530226d5e3153$var$inputStyles = function anonymous(props) {
294
302
  rules += ' gqlRAZb12';
295
303
  return rules;
296
304
  };
297
- const $6ab530226d5e3153$export$923a9dafaeef3fba = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pKYKCZ12 Js12";
298
- const $6ab530226d5e3153$export$bf233b285dc0c047 = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pMbOPsb12 Js12";
305
+ const $6ab530226d5e3153$export$923a9dafaeef3fba = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pKYKCZ12";
306
+ const $6ab530226d5e3153$export$bf233b285dc0c047 = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pMbOPsb12";
299
307
  function $6ab530226d5e3153$export$2c73285ae9390cec({ label: label, type: type = 'text', error: error, description: description, placeholder: placeholder, ...props }) {
300
308
  return (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.TextField), {
301
309
  className: $6ab530226d5e3153$export$298b9ad7287f04ba,
310
+ isInvalid: !!error,
302
311
  ...props,
303
312
  children: [
304
313
  (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Label), {
@@ -315,8 +324,7 @@ function $6ab530226d5e3153$export$2c73285ae9390cec({ label: label, type: type =
315
324
  className: $6ab530226d5e3153$export$bf233b285dc0c047,
316
325
  children: description
317
326
  }),
318
- error && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Text), {
319
- slot: "errorMessage",
327
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.FieldError), {
320
328
  className: $6ab530226d5e3153$export$923a9dafaeef3fba,
321
329
  children: error
322
330
  })
@@ -720,6 +728,7 @@ function $cfd85bddfbd540ef$export$2f2b9559550c7bbc({ items: items, selectedKeys:
720
728
  className: $cfd85bddfbd540ef$var$searchFieldStyles,
721
729
  "aria-label": ariaLabel || label,
722
730
  isDisabled: isDisabled,
731
+ isInvalid: !!error,
723
732
  children: [
724
733
  (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Label), {
725
734
  className: $cfd85bddfbd540ef$var$labelStyles,
@@ -771,7 +780,7 @@ function $cfd85bddfbd540ef$export$2f2b9559550c7bbc({ items: items, selectedKeys:
771
780
  }, item.id);
772
781
  }
773
782
  }),
774
- error && (0, $fs04y$reactjsxruntime.jsx)("div", {
783
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.FieldError), {
775
784
  className: $cfd85bddfbd540ef$var$errorStyles,
776
785
  children: error
777
786
  })
@@ -944,9 +953,9 @@ function $59fb461a0a6fd889$export$c17561cb55d4db30({ label: label, value: value
944
953
 
945
954
 
946
955
 
947
- const $dd65cef98a3548c0$var$tableContainerStyles = " gqlRAZb12 oe12 ne12 ke12 je12 _kb12 hb12 mb12 lb12 _jf12 i05TOsb12 _Na12 Pa12";
956
+ const $dd65cef98a3548c0$var$tableContainerStyles = " gqlRAZb12 oe12 ne12 ke12 je12 _kb12 hb12 mb12 lb12 _jf12 i05TOsb12 _Na12 Pa12 K3qtvrc12";
948
957
  const $dd65cef98a3548c0$var$tableStyles = " Za12 __na12";
949
- const $dd65cef98a3548c0$var$tableHeaderStyles = " gG3O2ub12 hb12";
958
+ const $dd65cef98a3548c0$var$tableHeaderStyles = " gG3O2ub12 hb12 _Pe12 Wr12 _9c12";
950
959
  const $dd65cef98a3548c0$var$columnHeaderStyles = function anonymous(props) {
951
960
  let rules = " ";
952
961
  rules += ' Tf12';
@@ -1035,69 +1044,59 @@ const $dd65cef98a3548c0$var$cellStyles = function anonymous(props) {
1035
1044
  };
1036
1045
  const $dd65cef98a3548c0$var$checkboxCellStyles = " Tf12 Qf12 Sf12 Rf12 ZF12 hb12";
1037
1046
  const $dd65cef98a3548c0$var$emptyStateStyles = " To12 Qo12 So12 Ro12 _Wa12 uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-d12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pMbOPsb12";
1038
- const $dd65cef98a3548c0$var$loadingStyles = " Th12 Qh12 Sh12 Rh12 sd12 _Ca12";
1039
- const $dd65cef98a3548c0$var$scrollTriggerStyles = " FesY7Od12 _Ob12";
1040
- function $dd65cef98a3548c0$export$54ec01a60f47d33d({ data: data, columns: columns, onRowAction: onRowAction, ariaLabel: ariaLabel, sortDescriptor: sortDescriptor, onSortChange: onSortChange, selectionMode: selectionMode = 'none', selectedKeys: selectedKeys, onSelectionChange: onSelectionChange, onLoadMore: onLoadMore, isLoadingMore: isLoadingMore }) {
1041
- const observerTarget = (0, $fs04y$react.useRef)(null);
1042
- // Infinite scroll observer
1043
- (0, $fs04y$react.useEffect)(()=>{
1044
- if (!onLoadMore) return;
1045
- const observer = new IntersectionObserver((entries)=>{
1046
- if (entries[0].isIntersecting && !isLoadingMore) onLoadMore();
1047
- }, {
1048
- threshold: 0.1,
1049
- rootMargin: '100px'
1050
- });
1051
- if (observerTarget.current) observer.observe(observerTarget.current);
1052
- return ()=>observer.disconnect();
1053
- }, [
1054
- onLoadMore,
1055
- isLoadingMore
1056
- ]);
1057
- return (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactjsxruntime.Fragment), {
1058
- children: [
1059
- (0, $fs04y$reactjsxruntime.jsx)("div", {
1060
- className: $dd65cef98a3548c0$var$tableContainerStyles,
1061
- children: (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.Table), {
1062
- "aria-label": ariaLabel,
1063
- selectionMode: selectionMode,
1064
- selectedKeys: selectedKeys,
1065
- onSelectionChange: onSelectionChange,
1066
- onRowAction: onRowAction,
1067
- sortDescriptor: sortDescriptor,
1068
- onSortChange: onSortChange,
1069
- className: $dd65cef98a3548c0$var$tableStyles,
1047
+ function $dd65cef98a3548c0$export$54ec01a60f47d33d({ data: data, columns: columns, onRowAction: onRowAction, ariaLabel: ariaLabel, sortDescriptor: sortDescriptor, onSortChange: onSortChange, selectionMode: selectionMode = 'none', selectedKeys: selectedKeys, onSelectionChange: onSelectionChange, onLoadMore: onLoadMore, isLoading: isLoading = false, emptyMessage: emptyMessage }) {
1048
+ const intl = (0, $25d82f0a3d474ebc$export$5aebe9a147f4d146)();
1049
+ return (0, $fs04y$reactjsxruntime.jsx)("div", {
1050
+ className: $dd65cef98a3548c0$var$tableContainerStyles,
1051
+ children: (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.Table), {
1052
+ "aria-label": ariaLabel,
1053
+ selectionMode: selectionMode,
1054
+ selectedKeys: selectedKeys,
1055
+ onSelectionChange: onSelectionChange,
1056
+ onRowAction: onRowAction,
1057
+ sortDescriptor: sortDescriptor,
1058
+ onSortChange: onSortChange,
1059
+ className: $dd65cef98a3548c0$var$tableStyles,
1060
+ children: [
1061
+ (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.TableHeader), {
1062
+ className: $dd65cef98a3548c0$var$tableHeaderStyles,
1070
1063
  children: [
1071
- (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.TableHeader), {
1072
- className: $dd65cef98a3548c0$var$tableHeaderStyles,
1073
- children: [
1074
- selectionMode === 'multiple' && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Column), {
1075
- className: $dd65cef98a3548c0$var$columnHeaderStyles({
1076
- align: 'center',
1077
- alignItems: 'center'
1078
- }),
1079
- children: (0, $fs04y$reactjsxruntime.jsx)((0, $300c3c8c5b9089df$export$48513f6b9f8ce62d), {
1080
- slot: "selection",
1081
- size: "S"
1082
- })
1064
+ selectionMode === 'multiple' && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Column), {
1065
+ className: $dd65cef98a3548c0$var$columnHeaderStyles({
1066
+ align: 'center',
1067
+ alignItems: 'center'
1068
+ }),
1069
+ children: (0, $fs04y$reactjsxruntime.jsx)((0, $300c3c8c5b9089df$export$48513f6b9f8ce62d), {
1070
+ slot: "selection",
1071
+ size: "S"
1072
+ })
1073
+ }),
1074
+ columns.map((column)=>(0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Column), {
1075
+ id: column.key,
1076
+ isRowHeader: column.isRowHeader,
1077
+ allowsSorting: !!onSortChange,
1078
+ className: $dd65cef98a3548c0$var$columnHeaderStyles({
1079
+ align: column.align
1083
1080
  }),
1084
- columns.map((column)=>(0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Column), {
1085
- id: column.key,
1086
- isRowHeader: column.isRowHeader,
1087
- allowsSorting: !!onSortChange,
1088
- className: $dd65cef98a3548c0$var$columnHeaderStyles({
1089
- align: column.align
1090
- }),
1091
- children: column.label
1092
- }, column.key))
1093
- ]
1081
+ children: column.label
1082
+ }, column.key))
1083
+ ]
1084
+ }),
1085
+ (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.TableBody), {
1086
+ renderEmptyState: ()=>(0, $fs04y$reactjsxruntime.jsx)("div", {
1087
+ className: $dd65cef98a3548c0$var$emptyStateStyles,
1088
+ children: isLoading ? (0, $fs04y$reactjsxruntime.jsx)((0, $59fb461a0a6fd889$export$c17561cb55d4db30), {
1089
+ isIndeterminate: true,
1090
+ label: intl.formatMessage({
1091
+ id: 'table.common.loading'
1092
+ })
1093
+ }) : emptyMessage || intl.formatMessage({
1094
+ id: 'common.noData'
1095
+ })
1094
1096
  }),
1095
- (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.TableBody), {
1097
+ children: [
1098
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Collection), {
1096
1099
  items: data,
1097
- renderEmptyState: ()=>(0, $fs04y$reactjsxruntime.jsx)("div", {
1098
- className: $dd65cef98a3548c0$var$emptyStateStyles,
1099
- children: "No data available"
1100
- }),
1101
1100
  children: (item)=>(0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.Row), {
1102
1101
  id: item.id,
1103
1102
  className: (renderProps)=>$dd65cef98a3548c0$var$rowStyles({
@@ -1121,22 +1120,20 @@ function $dd65cef98a3548c0$export$54ec01a60f47d33d({ data: data, columns: column
1121
1120
  }, column.key))
1122
1121
  ]
1123
1122
  }, item.id)
1123
+ }),
1124
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.TableLoadMoreItem), {
1125
+ onLoadMore: onLoadMore,
1126
+ children: (0, $fs04y$reactjsxruntime.jsx)((0, $59fb461a0a6fd889$export$c17561cb55d4db30), {
1127
+ isIndeterminate: true,
1128
+ label: intl.formatMessage({
1129
+ id: 'table.common.loadingMore'
1130
+ })
1131
+ })
1124
1132
  })
1125
1133
  ]
1126
1134
  })
1127
- }),
1128
- onLoadMore && (0, $fs04y$reactjsxruntime.jsx)("div", {
1129
- ref: observerTarget,
1130
- className: $dd65cef98a3548c0$var$scrollTriggerStyles
1131
- }),
1132
- isLoadingMore && (0, $fs04y$reactjsxruntime.jsx)("div", {
1133
- className: $dd65cef98a3548c0$var$loadingStyles,
1134
- children: (0, $fs04y$reactjsxruntime.jsx)((0, $59fb461a0a6fd889$export$c17561cb55d4db30), {
1135
- isIndeterminate: true,
1136
- "aria-label": "Loading more items"
1137
- })
1138
- })
1139
- ]
1135
+ ]
1136
+ })
1140
1137
  });
1141
1138
  }
1142
1139
 
@@ -1187,29 +1184,6 @@ const $59eacca4673dd591$var$avatarButtonStyles = function anonymous(props) {
1187
1184
  rules += ' Oh12';
1188
1185
  rules += ' _Mc12';
1189
1186
  rules += ' _Kd12';
1190
- rules += ' sd12';
1191
- rules += ' eb12';
1192
- rules += ' Ug12';
1193
- rules += ' qg12';
1194
- rules += ' Tt12';
1195
- rules += ' Qt12';
1196
- rules += ' Sf12';
1197
- rules += ' Rf12';
1198
- if (props.isFocusVisible) rules += ' g05TOsb12';
1199
- else if (props.isPressed) rules += ' gDr3Osb12';
1200
- else if (props.isHovered) rules += ' g05TOsb12';
1201
- else rules += ' gnKKOsb12';
1202
- rules += ' po12';
1203
- rules += ' og12';
1204
- rules += ' ng12';
1205
- rules += ' kg12';
1206
- rules += ' jg12';
1207
- rules += ' _kc12';
1208
- rules += ' hc12';
1209
- rules += ' mc12';
1210
- rules += ' lc12';
1211
- rules += ' _jf12';
1212
- rules += ' iDr3Osb12';
1213
1187
  rules += ' uk12';
1214
1188
  rules += ' uch12';
1215
1189
  rules += ' udi12';
@@ -1236,20 +1210,44 @@ const $59eacca4673dd591$var$avatarButtonStyles = function anonymous(props) {
1236
1210
  rules += ' _Fd12';
1237
1211
  rules += ' _FezxGHba12';
1238
1212
  rules += ' _FnuYUweb12';
1213
+ rules += ' pMbOPsb12';
1214
+ rules += ' sd12';
1215
+ rules += ' eb12';
1216
+ rules += ' Ug12';
1217
+ rules += ' qg12';
1218
+ rules += ' Tt12';
1219
+ rules += ' Qt12';
1220
+ rules += ' Sf12';
1221
+ rules += ' Rf12';
1222
+ if (props.isFocusVisible) rules += ' g05TOsb12';
1223
+ else if (props.isPressed) rules += ' gDr3Osb12';
1224
+ else if (props.isHovered) rules += ' g05TOsb12';
1225
+ else rules += ' gnKKOsb12';
1226
+ rules += ' og12';
1227
+ rules += ' ng12';
1228
+ rules += ' kg12';
1229
+ rules += ' jg12';
1230
+ rules += ' _kc12';
1231
+ rules += ' hc12';
1232
+ rules += ' mc12';
1233
+ rules += ' lc12';
1234
+ rules += ' _jf12';
1235
+ rules += ' iDr3Osb12';
1239
1236
  rules += ' ry12';
1240
1237
  return rules;
1241
1238
  };
1242
- const $59eacca4673dd591$var$avatarCircleStyles = " sd12 eb12 _Ca12 ZC12 Fx12 og12 ng12 kg12 jg12 gT8lPsb12 po12 uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-e12 vx12 wd12 xd12 _xa12 wX0cczbc12 xX0cczbc12 _xX0cczba12 wfd12 xfd12 _xfa12 wfX0cczbc12 xfX0cczbc12 _xfX0cczba12 _Fd12 _FezxGHba12 _FnuYUweb12";
1243
- const $59eacca4673dd591$export$5525762649f7bdac = ({ initials: initials, name: name, ...props })=>{
1239
+ const $59eacca4673dd591$var$avatarCircleStyles = " sd12 eb12 _Ca12 ZC12 Fx12 og12 ng12 kg12 jg12 gMbOPsb12 uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-e12 vx12 wd12 xd12 _xa12 wX0cczbc12 xX0cczbc12 _xX0cczba12 wfd12 xfd12 _xfa12 wfX0cczbc12 xfX0cczbc12 _xfX0cczba12 _Fd12 _FezxGHba12 _FnuYUweb12 pmM8ah12";
1240
+ const $59eacca4673dd591$export$5525762649f7bdac = ({ initials: initials, name: name, showName: showName = true, ...props })=>{
1244
1241
  return (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.Button), {
1245
1242
  ...props,
1243
+ "aria-label": !showName && name && !props['aria-label'] ? name : props['aria-label'],
1246
1244
  className: (renderProps)=>$59eacca4673dd591$var$avatarButtonStyles(renderProps),
1247
1245
  children: [
1248
1246
  (0, $fs04y$reactjsxruntime.jsx)("div", {
1249
1247
  className: $59eacca4673dd591$var$avatarCircleStyles,
1250
1248
  children: initials
1251
1249
  }),
1252
- (0, $fs04y$reactjsxruntime.jsx)("span", {
1250
+ showName && name && (0, $fs04y$reactjsxruntime.jsx)("span", {
1253
1251
  children: name
1254
1252
  })
1255
1253
  ]
@@ -1429,9 +1427,13 @@ const $1c0dbf01eb96351a$var$inputStyles = function anonymous(props) {
1429
1427
  };
1430
1428
  const $1c0dbf01eb96351a$var$buttonStyles = function anonymous(props) {
1431
1429
  let rules = " ";
1430
+ if (props.isFocusVisible) rules += ' _Lf12';
1431
+ else rules += ' _Le12';
1432
+ rules += ' Oh12';
1433
+ rules += ' _Mc12';
1434
+ rules += ' _Kd12';
1432
1435
  rules += ' _5c12';
1433
1436
  rules += ' Ii12';
1434
- rules += ' Hv12';
1435
1437
  rules += ' Tp12';
1436
1438
  rules += ' Qp12';
1437
1439
  rules += ' Sp12';
@@ -1521,6 +1523,7 @@ function $1c0dbf01eb96351a$export$72b9695b8216309a({ label: label, description:
1521
1523
  onSelectionChange: onSelectionChange,
1522
1524
  isDisabled: isDisabled,
1523
1525
  isRequired: isRequired,
1526
+ isInvalid: !!errorMessage,
1524
1527
  "aria-label": ariaLabel || label,
1525
1528
  children: [
1526
1529
  label && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Label), {
@@ -1574,6 +1577,209 @@ function $1c0dbf01eb96351a$export$72b9695b8216309a({ label: label, description:
1574
1577
 
1575
1578
 
1576
1579
 
1580
+ const $e0bb5e496bf3f32a$var$linkStyles = function anonymous(props) {
1581
+ let rules = " ";
1582
+ if (props.isFocusVisible) rules += ' _Lf12';
1583
+ else rules += ' _Le12';
1584
+ rules += ' Oh12';
1585
+ rules += ' _Mc12';
1586
+ rules += ' _Kd12';
1587
+ rules += ' uk12';
1588
+ rules += ' uch12';
1589
+ rules += ' udi12';
1590
+ rules += ' uea12';
1591
+ rules += ' ugb12';
1592
+ rules += ' uhd12';
1593
+ rules += ' uje12';
1594
+ rules += ' u2NhKxcl12';
1595
+ rules += ' uic12';
1596
+ rules += ' -_6BNtrc-d12';
1597
+ rules += ' vx12';
1598
+ rules += ' wb12';
1599
+ rules += ' xb12';
1600
+ rules += ' _xa12';
1601
+ rules += ' _Fb12';
1602
+ rules += ' _FnuYUwec12';
1603
+ if (props.colorScheme === "dark") {
1604
+ if (props.isPressed) rules += ' pMbOPsb12';
1605
+ else if (props.isHovered) rules += ' pMbOPsb12';
1606
+ else rules += ' ppxXPsb12';
1607
+ } else if (props.colorScheme === "light") {
1608
+ if (props.isPressed) rules += ' pG3O2ub12';
1609
+ else if (props.isHovered) rules += ' p3HF2ub12';
1610
+ else rules += ' pmM8ah12';
1611
+ } else if (props.isPressed) rules += ' ppxXPsb12';
1612
+ else if (props.isHovered) rules += ' ppxXPsb12';
1613
+ else rules += ' pMbOPsb12';
1614
+ if (props.isQuiet) rules += ' _Xa12';
1615
+ else {
1616
+ rules += ' _Xb12';
1617
+ rules += ' __Va12';
1618
+ }
1619
+ rules += ' ry12';
1620
+ if (props.isHovered) rules += ' g912';
1621
+ else rules += ' g912';
1622
+ return rules;
1623
+ };
1624
+ function $e0bb5e496bf3f32a$export$a6c7ac8248d6e38a({ children: children, href: href, isExternal: isExternal, isQuiet: isQuiet = false, colorScheme: colorScheme = 'default', className: className, ...props }) {
1625
+ // Automatically detect external links if not specified
1626
+ const isExternalLink = isExternal ?? (href?.toString().startsWith('http://') || href?.toString().startsWith('https://'));
1627
+ const externalProps = isExternalLink ? {
1628
+ target: '_blank',
1629
+ rel: 'noopener noreferrer'
1630
+ } : {};
1631
+ return (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Link), {
1632
+ ...props,
1633
+ ...externalProps,
1634
+ href: href,
1635
+ className: className || $e0bb5e496bf3f32a$var$linkStyles({
1636
+ isQuiet: isQuiet,
1637
+ colorScheme: colorScheme
1638
+ }),
1639
+ children: children
1640
+ });
1641
+ }
1642
+
1643
+
1644
+ const $93232b8350e1cfa9$var$bannerStyles = " _Pb12 _lr12 _Er12 _Rr12 gpxXPsb12 px12 Tf12 Qf12 Sf12 Soh12 Rf12 Roh12 _nLeasBb12 _9unpurc12 sd12 _ta12 _toc12 ee12 eob12 _Ce12 Ul12 ql12";
1645
+ const $93232b8350e1cfa9$var$messageStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-d12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pLYrGTd12 Jy12 Gy12 Iy12 Hy12 _ub12";
1646
+ const $93232b8350e1cfa9$var$actionsStyles = " sd12 Ue12 qe12 eb12 _va12 _wb12";
1647
+ const $93232b8350e1cfa9$var$linkStyles = " pG3O2ub12";
1648
+ function $93232b8350e1cfa9$export$e06767a507a85916({ storagePrefix: storagePrefix, intl: intl, privacyPolicyUrl: privacyPolicyUrl = '/privacy-policy', additionalEssentialKeys: additionalEssentialKeys = [], onConsentChange: onConsentChange }) {
1649
+ const [isVisible, setIsVisible] = (0, $fs04y$react.useState)(false);
1650
+ const consentKey = 'cookie-consent';
1651
+ (0, $fs04y$react.useEffect)(()=>{
1652
+ // Check if user has already made a choice
1653
+ const consent = localStorage.getItem(consentKey);
1654
+ if (consent === null) setIsVisible(true);
1655
+ }, []);
1656
+ const clearNonEssentialStorage = ()=>{
1657
+ // Essential keys that should never be removed (strictly necessary for site operation)
1658
+ const essentialKeys = [
1659
+ consentKey,
1660
+ `${storagePrefix}-theme`,
1661
+ ...additionalEssentialKeys
1662
+ ];
1663
+ // Remove all localStorage items except essential ones
1664
+ const keys = Object.keys(localStorage);
1665
+ keys.forEach((key)=>{
1666
+ const isEssential = essentialKeys.includes(key);
1667
+ if (!isEssential) localStorage.removeItem(key);
1668
+ });
1669
+ // Clear non-essential cookies (analytics, tracking, Vercel platform cookies)
1670
+ if (typeof document !== 'undefined') document.cookie.split(';').forEach((cookie)=>{
1671
+ const name = cookie.split('=')[0].trim();
1672
+ // Clear analytics cookies
1673
+ if (name.startsWith('_ga') || name.startsWith('_gid')) document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
1674
+ // Clear Vercel platform cookies (not essential for end users)
1675
+ if (name.startsWith('__vercel') || name.startsWith('_vercel') || name.startsWith('__prerender')) document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
1676
+ });
1677
+ };
1678
+ const clearAllStorage = ()=>{
1679
+ const consentValue = localStorage.getItem(consentKey);
1680
+ localStorage.clear();
1681
+ // Restore only the consent preference itself
1682
+ if (consentValue) localStorage.setItem(consentKey, consentValue);
1683
+ // Clear ALL cookies including Vercel platform cookies
1684
+ if (typeof document !== 'undefined') document.cookie.split(';').forEach((cookie)=>{
1685
+ const name = cookie.split('=')[0].trim();
1686
+ // Remove all cookies - user has rejected everything
1687
+ document.cookie = `${name}=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;`;
1688
+ });
1689
+ };
1690
+ const handleAccept = ()=>{
1691
+ localStorage.setItem(consentKey, 'accepted');
1692
+ setIsVisible(false);
1693
+ onConsentChange?.('accepted');
1694
+ // When analytics is implemented, initialize here
1695
+ // Example: initializeGoogleAnalytics();
1696
+ };
1697
+ const handleEssential = ()=>{
1698
+ localStorage.setItem(consentKey, 'essential');
1699
+ setIsVisible(false);
1700
+ clearNonEssentialStorage();
1701
+ onConsentChange?.('essential');
1702
+ // Ensure analytics is not initialized
1703
+ };
1704
+ const handleReject = ()=>{
1705
+ localStorage.setItem(consentKey, 'rejected');
1706
+ clearAllStorage();
1707
+ setIsVisible(false);
1708
+ onConsentChange?.('rejected');
1709
+ // Ensure analytics is not initialized
1710
+ };
1711
+ if (!isVisible) return null;
1712
+ return (0, $fs04y$reactjsxruntime.jsxs)("div", {
1713
+ className: $93232b8350e1cfa9$var$bannerStyles,
1714
+ children: [
1715
+ (0, $fs04y$reactjsxruntime.jsxs)("p", {
1716
+ className: $93232b8350e1cfa9$var$messageStyles,
1717
+ children: [
1718
+ intl.formatMessage({
1719
+ id: 'cookieConsent.message'
1720
+ }),
1721
+ ' ',
1722
+ (0, $fs04y$reactjsxruntime.jsx)((0, $e0bb5e496bf3f32a$export$a6c7ac8248d6e38a), {
1723
+ href: privacyPolicyUrl,
1724
+ className: $93232b8350e1cfa9$var$linkStyles,
1725
+ children: intl.formatMessage({
1726
+ id: 'cookieConsent.learnMore'
1727
+ })
1728
+ })
1729
+ ]
1730
+ }),
1731
+ (0, $fs04y$reactjsxruntime.jsxs)("div", {
1732
+ className: $93232b8350e1cfa9$var$actionsStyles,
1733
+ children: [
1734
+ (0, $fs04y$reactjsxruntime.jsx)((0, $e6839169613154d7$export$353f5b6fc5456de1), {
1735
+ onPress: handleReject,
1736
+ variant: "danger",
1737
+ children: intl.formatMessage({
1738
+ id: 'cookieConsent.reject'
1739
+ })
1740
+ }),
1741
+ (0, $fs04y$reactjsxruntime.jsx)((0, $e6839169613154d7$export$353f5b6fc5456de1), {
1742
+ onPress: handleEssential,
1743
+ variant: "secondary",
1744
+ children: intl.formatMessage({
1745
+ id: 'cookieConsent.essential'
1746
+ })
1747
+ }),
1748
+ (0, $fs04y$reactjsxruntime.jsx)((0, $e6839169613154d7$export$353f5b6fc5456de1), {
1749
+ onPress: handleAccept,
1750
+ variant: "primary",
1751
+ children: intl.formatMessage({
1752
+ id: 'cookieConsent.accept'
1753
+ })
1754
+ })
1755
+ ]
1756
+ })
1757
+ ]
1758
+ });
1759
+ }
1760
+ function $93232b8350e1cfa9$export$d9c3278f7514faac() {
1761
+ if (typeof window === 'undefined') return null;
1762
+ const consent = localStorage.getItem('cookie-consent');
1763
+ if (consent === 'accepted' || consent === 'essential' || consent === 'rejected') return consent;
1764
+ return null;
1765
+ }
1766
+ function $93232b8350e1cfa9$export$789e7db30a32746e() {
1767
+ return $93232b8350e1cfa9$export$d9c3278f7514faac() === 'accepted';
1768
+ }
1769
+ function $93232b8350e1cfa9$export$2024021dc39f38be() {
1770
+ const level = $93232b8350e1cfa9$export$d9c3278f7514faac();
1771
+ return level === 'accepted' || level === 'essential';
1772
+ }
1773
+ function $93232b8350e1cfa9$export$2f5968b662bd1947() {
1774
+ return $93232b8350e1cfa9$export$d9c3278f7514faac() !== null;
1775
+ }
1776
+
1777
+
1778
+
1779
+
1780
+
1781
+
1782
+
1577
1783
  // Disclosure container - very thin grey border, full width button appearance
1578
1784
  const $3764d8bc3c612a35$var$disclosureContainerStyles = " _je12 _ka12 ha12 ma12 la12 iA12 oc12 nc12 kc12 jc12 _Nc12 Pc12 Za12 g3HF2ub12";
1579
1785
  // Disclosure trigger button - blends seamlessly with container
@@ -1940,6 +2146,7 @@ function $8cb76c7220c44b28$export$d1328f67a56fa517({ label: label, children: chi
1940
2146
  className: $8cb76c7220c44b28$var$labeledValueStyles({
1941
2147
  labelPosition: labelPosition
1942
2148
  }),
2149
+ isInvalid: !!error,
1943
2150
  ...props,
1944
2151
  children: [
1945
2152
  (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.Label), {
@@ -1959,8 +2166,7 @@ function $8cb76c7220c44b28$export$d1328f67a56fa517({ label: label, children: chi
1959
2166
  className: (0, $6ab530226d5e3153$export$bf233b285dc0c047),
1960
2167
  children: description
1961
2168
  }),
1962
- error && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Text), {
1963
- slot: "errorMessage",
2169
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.FieldError), {
1964
2170
  className: (0, $6ab530226d5e3153$export$923a9dafaeef3fba),
1965
2171
  children: error
1966
2172
  })
@@ -1971,62 +2177,6 @@ function $8cb76c7220c44b28$export$d1328f67a56fa517({ label: label, children: chi
1971
2177
 
1972
2178
 
1973
2179
 
1974
- const $e0bb5e496bf3f32a$var$linkStyles = function anonymous(props) {
1975
- let rules = " ";
1976
- if (props.isFocusVisible) rules += ' _Lf12';
1977
- else rules += ' _Le12';
1978
- rules += ' Oh12';
1979
- rules += ' _Mc12';
1980
- rules += ' _Kd12';
1981
- rules += ' uk12';
1982
- rules += ' uch12';
1983
- rules += ' udi12';
1984
- rules += ' uea12';
1985
- rules += ' ugb12';
1986
- rules += ' uhd12';
1987
- rules += ' uje12';
1988
- rules += ' u2NhKxcl12';
1989
- rules += ' uic12';
1990
- rules += ' -_6BNtrc-d12';
1991
- rules += ' vx12';
1992
- rules += ' wb12';
1993
- rules += ' xb12';
1994
- rules += ' _xa12';
1995
- rules += ' _Fb12';
1996
- rules += ' _FnuYUwec12';
1997
- if (props.isPressed) rules += ' ppxXPsb12';
1998
- else if (props.isHovered) rules += ' ppxXPsb12';
1999
- else rules += ' pMbOPsb12';
2000
- if (props.isQuiet) rules += ' _Xa12';
2001
- else {
2002
- rules += ' _Xb12';
2003
- rules += ' __Va12';
2004
- }
2005
- rules += ' ry12';
2006
- if (props.isHovered) rules += ' g912';
2007
- else rules += ' g912';
2008
- return rules;
2009
- };
2010
- function $e0bb5e496bf3f32a$export$a6c7ac8248d6e38a({ children: children, href: href, isExternal: isExternal, isQuiet: isQuiet = false, className: className, ...props }) {
2011
- // Automatically detect external links if not specified
2012
- const isExternalLink = isExternal ?? (href?.toString().startsWith('http://') || href?.toString().startsWith('https://'));
2013
- const externalProps = isExternalLink ? {
2014
- target: '_blank',
2015
- rel: 'noopener noreferrer'
2016
- } : {};
2017
- return (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Link), {
2018
- ...props,
2019
- ...externalProps,
2020
- href: href,
2021
- className: className || $e0bb5e496bf3f32a$var$linkStyles({
2022
- isQuiet: isQuiet
2023
- }),
2024
- children: children
2025
- });
2026
- }
2027
-
2028
-
2029
-
2030
2180
 
2031
2181
  const $0febc43943e0acfb$var$linkButtonStyles = function anonymous(props) {
2032
2182
  let rules = " ";
@@ -2111,8 +2261,9 @@ const $0febc43943e0acfb$var$linkButtonStyles = function anonymous(props) {
2111
2261
  if (props.isPressed) rules += ' ppxXPsb12';
2112
2262
  else if (props.isHovered) rules += ' ppxXPsb12';
2113
2263
  else rules += ' pMbOPsb12';
2114
- } else if (props.variant === "danger") rules += ' px12';
2264
+ } else if (props.variant === "danger") rules += ' pmM8ah12';
2115
2265
  else if (props.variant === "secondary") rules += ' pMbOPsb12';
2266
+ else if (props.variant === "primary") rules += ' ppxXPsb12';
2116
2267
  rules += ' plb12';
2117
2268
  }
2118
2269
  rules += ' sd12';
@@ -2151,10 +2302,10 @@ const $0febc43943e0acfb$var$linkButtonStyles = function anonymous(props) {
2151
2302
  else if (props.isHovered) rules += ' gG3O2ub12';
2152
2303
  else rules += ' g912';
2153
2304
  } else if (props.variant === "danger") {
2154
- if (props.isPressed) rules += ' gnkUCZ12';
2155
- else if (props.isFocusVisible) rules += ' gKYKCZ12';
2156
- else if (props.isHovered) rules += ' gKYKCZ12';
2157
- else rules += ' g7CBCZ12';
2305
+ if (props.isPressed) rules += ' gD1cDZ12';
2306
+ else if (props.isFocusVisible) rules += ' g0F3CZ12';
2307
+ else if (props.isHovered) rules += ' g0F3CZ12';
2308
+ else rules += ' gnkUCZ12';
2158
2309
  } else if (props.variant === "navigation") {
2159
2310
  if (props.isPressed) rules += ' gjpY2ub12';
2160
2311
  else if (props.isFocusVisible) rules += ' gG3O2ub12';
@@ -2457,7 +2608,8 @@ const $41157374edf6228b$var$radioInnerDotStyles = function anonymous(props) {
2457
2608
  else rules += ' _Ia12';
2458
2609
  return rules;
2459
2610
  };
2460
- const $41157374edf6228b$var$errorStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pKYKCZ12 Js12";
2611
+ const $41157374edf6228b$var$errorStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pKYKCZ12";
2612
+ const $41157374edf6228b$var$descriptionStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pMbOPsb12";
2461
2613
  function $41157374edf6228b$export$d7b12c4107be0d61({ children: children, ...props }) {
2462
2614
  return (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Radio), {
2463
2615
  ...props,
@@ -2477,10 +2629,11 @@ function $41157374edf6228b$export$d7b12c4107be0d61({ children: children, ...prop
2477
2629
  })
2478
2630
  });
2479
2631
  }
2480
- function $41157374edf6228b$export$a98f0dcb43a68a25({ label: label, options: options, error: error, ...props }) {
2632
+ function $41157374edf6228b$export$a98f0dcb43a68a25({ label: label, options: options, error: error, description: description, ...props }) {
2481
2633
  let ariaLabelId = (0, $fs04y$react.useId)();
2482
2634
  return (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.RadioGroup), {
2483
2635
  ...props,
2636
+ isInvalid: !!error,
2484
2637
  className: $41157374edf6228b$var$radioGroupStyles,
2485
2638
  "aria-labelledby": ariaLabelId,
2486
2639
  children: [
@@ -2496,7 +2649,12 @@ function $41157374edf6228b$export$a98f0dcb43a68a25({ label: label, options: opti
2496
2649
  children: option.label
2497
2650
  }, option.id))
2498
2651
  }),
2499
- error && (0, $fs04y$reactjsxruntime.jsx)("span", {
2652
+ description && !error && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Text), {
2653
+ slot: "description",
2654
+ className: $41157374edf6228b$var$descriptionStyles,
2655
+ children: description
2656
+ }),
2657
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.FieldError), {
2500
2658
  className: $41157374edf6228b$var$errorStyles,
2501
2659
  children: error
2502
2660
  })
@@ -2594,7 +2752,9 @@ const $1f2c2c3990efdd5e$var$clearButtonStyles = function anonymous(props) {
2594
2752
  else rules += ' pcsq3ub12';
2595
2753
  return rules;
2596
2754
  };
2597
- function $1f2c2c3990efdd5e$export$b94867ecbd698f21({ value: value, onChange: onChange, label: label, placeholder: placeholder, ariaLabel: ariaLabel }) {
2755
+ const $1f2c2c3990efdd5e$var$descriptionStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pMbOPsb12";
2756
+ const $1f2c2c3990efdd5e$var$errorStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pKYKCZ12";
2757
+ function $1f2c2c3990efdd5e$export$b94867ecbd698f21({ value: value, onChange: onChange, label: label, placeholder: placeholder, ariaLabel: ariaLabel, description: description, error: error }) {
2598
2758
  const intl = (0, $25d82f0a3d474ebc$export$5aebe9a147f4d146)();
2599
2759
  return (0, $fs04y$reactjsxruntime.jsx)("div", {
2600
2760
  className: $1f2c2c3990efdd5e$var$searchFieldContainerStyles,
@@ -2602,6 +2762,7 @@ function $1f2c2c3990efdd5e$export$b94867ecbd698f21({ value: value, onChange: onC
2602
2762
  value: value,
2603
2763
  onChange: onChange,
2604
2764
  className: $1f2c2c3990efdd5e$var$searchFieldStyles,
2765
+ isInvalid: !!error,
2605
2766
  "aria-label": ariaLabel,
2606
2767
  children: ({ isEmpty: isEmpty })=>(0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactjsxruntime.Fragment), {
2607
2768
  children: [
@@ -2632,6 +2793,15 @@ function $1f2c2c3990efdd5e$export$b94867ecbd698f21({ value: value, onChange: onC
2632
2793
  })
2633
2794
  })
2634
2795
  ]
2796
+ }),
2797
+ description && !error && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Text), {
2798
+ slot: "description",
2799
+ className: $1f2c2c3990efdd5e$var$descriptionStyles,
2800
+ children: description
2801
+ }),
2802
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.FieldError), {
2803
+ className: $1f2c2c3990efdd5e$var$errorStyles,
2804
+ children: error
2635
2805
  })
2636
2806
  ]
2637
2807
  })
@@ -2906,6 +3076,8 @@ function $461fcfe38bace82f$export$460d6ec869d02044({ children: children, ...prop
2906
3076
 
2907
3077
  const $24de22966748f2e6$var$selectContainerStyles = " sd12 _ta12 Ub12 qb12 Ng12";
2908
3078
  const $24de22966748f2e6$var$labelStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-d12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pMbOPsb12";
3079
+ const $24de22966748f2e6$var$descriptionStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pMbOPsb12";
3080
+ const $24de22966748f2e6$var$errorStyles = " uk12 uch12 udi12 uea12 ugb12 uhd12 uje12 u2NhKxcl12 uic12 -_6BNtrc-c12 vx12 wb12 xb12 _xa12 _Fb12 _FnuYUwec12 pKYKCZ12";
2909
3081
  const $24de22966748f2e6$var$buttonStyles = function anonymous(props) {
2910
3082
  let rules = " ";
2911
3083
  if (props.isFocusVisible) rules += ' _Lf12';
@@ -3004,9 +3176,10 @@ const $24de22966748f2e6$var$listBoxItemStyles = function anonymous(props) {
3004
3176
  else rules += ' g912';
3005
3177
  return rules;
3006
3178
  };
3007
- function $24de22966748f2e6$export$ef9b1a59e592288f({ label: label, options: options, placeholder: placeholder, ...props }) {
3179
+ function $24de22966748f2e6$export$ef9b1a59e592288f({ label: label, options: options, placeholder: placeholder, description: description, error: error, ...props }) {
3008
3180
  return (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.Select), {
3009
3181
  ...props,
3182
+ isInvalid: !!error,
3010
3183
  className: $24de22966748f2e6$var$selectContainerStyles,
3011
3184
  children: [
3012
3185
  (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Label), {
@@ -3023,6 +3196,15 @@ function $24de22966748f2e6$export$ef9b1a59e592288f({ label: label, options: opti
3023
3196
  })
3024
3197
  ]
3025
3198
  }),
3199
+ description && !error && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Text), {
3200
+ slot: "description",
3201
+ className: $24de22966748f2e6$var$descriptionStyles,
3202
+ children: description
3203
+ }),
3204
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.FieldError), {
3205
+ className: $24de22966748f2e6$var$errorStyles,
3206
+ children: error
3207
+ }),
3026
3208
  (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Popover), {
3027
3209
  className: $24de22966748f2e6$var$popoverStyles,
3028
3210
  children: (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.ListBox), {
@@ -3629,6 +3811,7 @@ const $e00b7714d9bed1e1$var$tabStyles = function anonymous(props) {
3629
3811
  else rules += ' iA12';
3630
3812
  if (props.isDisabled) rules += ' ru12';
3631
3813
  else rules += ' ry12';
3814
+ rules += ' _Xa12';
3632
3815
  rules += ' Xc12';
3633
3816
  return rules;
3634
3817
  };
@@ -3766,7 +3949,7 @@ const $fad215bb6064e329$var$textareaStyles = function anonymous(props) {
3766
3949
  rules += ' Pa12';
3767
3950
  return rules;
3768
3951
  };
3769
- function $fad215bb6064e329$export$f5c9f3c2c4054eec({ label: label, error: error, placeholder: placeholder, value: value, ...props }) {
3952
+ function $fad215bb6064e329$export$f5c9f3c2c4054eec({ label: label, error: error, description: description, placeholder: placeholder, value: value, ...props }) {
3770
3953
  const textareaRef = (0, $fs04y$react.useRef)(null);
3771
3954
  // Auto-grow on value change
3772
3955
  (0, $fs04y$react.useEffect)(()=>{
@@ -3782,6 +3965,7 @@ function $fad215bb6064e329$export$f5c9f3c2c4054eec({ label: label, error: error,
3782
3965
  ]);
3783
3966
  return (0, $fs04y$reactjsxruntime.jsxs)((0, $fs04y$reactariacomponents.TextField), {
3784
3967
  className: (0, $6ab530226d5e3153$export$298b9ad7287f04ba),
3968
+ isInvalid: !!error,
3785
3969
  ...props,
3786
3970
  value: value,
3787
3971
  children: [
@@ -3794,7 +3978,12 @@ function $fad215bb6064e329$export$f5c9f3c2c4054eec({ label: label, error: error,
3794
3978
  className: $fad215bb6064e329$var$textareaStyles,
3795
3979
  placeholder: placeholder
3796
3980
  }),
3797
- error && (0, $fs04y$reactjsxruntime.jsx)("div", {
3981
+ description && !error && (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.Text), {
3982
+ slot: "description",
3983
+ className: (0, $6ab530226d5e3153$export$bf233b285dc0c047),
3984
+ children: description
3985
+ }),
3986
+ (0, $fs04y$reactjsxruntime.jsx)((0, $fs04y$reactariacomponents.FieldError), {
3798
3987
  className: (0, $6ab530226d5e3153$export$923a9dafaeef3fba),
3799
3988
  children: error
3800
3989
  })
@@ -3819,7 +4008,7 @@ $parcel$export($885bdde2b07b7632$exports, "useFilters", () => $8f5795e91d23efab$
3819
4008
 
3820
4009
 
3821
4010
  const $3a1d0d18027ba81c$var$ThemeContext = /*#__PURE__*/ (0, $fs04y$react.createContext)(undefined);
3822
- const $3a1d0d18027ba81c$var$THEME_STORAGE_KEY = 'globalferments-theme';
4011
+ const $3a1d0d18027ba81c$var$THEME_STORAGE_KEY = 'worldferments-theme';
3823
4012
  // Get initial theme synchronously to prevent flicker
3824
4013
  function $3a1d0d18027ba81c$var$getInitialTheme() {
3825
4014
  if (!(0, $de0c62f65c50224a$export$4e09c449d6c407f7)) return 'light';
@@ -3836,18 +4025,15 @@ function $3a1d0d18027ba81c$var$getInitialTheme() {
3836
4025
  return (0, $de0c62f65c50224a$export$7dd80fbc14cd23b1).matchMedia('(prefers-color-scheme: dark)').matches ? 'dark' : 'light';
3837
4026
  }
3838
4027
  function $3a1d0d18027ba81c$export$d8964aec282183a3({ children: children }) {
3839
- // Initialize with a function to avoid SSR issues
3840
- const [colorScheme, setColorScheme] = (0, $fs04y$react.useState)(()=>{
3841
- if (!(0, $de0c62f65c50224a$export$4e09c449d6c407f7)) return 'light';
3842
- return $3a1d0d18027ba81c$var$getInitialTheme();
3843
- });
4028
+ // Always start with 'light' to match server render
4029
+ // Will update to actual theme after mount
4030
+ const [colorScheme, setColorScheme] = (0, $fs04y$react.useState)('light');
3844
4031
  const [mounted, setMounted] = (0, $fs04y$react.useState)(false);
3845
- // Set mounted flag on client
4032
+ // Set mounted flag and sync to actual theme on client
3846
4033
  (0, $fs04y$react.useEffect)(()=>{
3847
4034
  setMounted(true);
3848
- // Ensure colorScheme matches what's actually set
3849
4035
  const actual = $3a1d0d18027ba81c$var$getInitialTheme();
3850
- if (actual !== colorScheme) setColorScheme(actual);
4036
+ setColorScheme(actual);
3851
4037
  }, []);
3852
4038
  // Update html attribute and localStorage when scheme changes
3853
4039
  (0, $fs04y$react.useEffect)(()=>{
@@ -3922,7 +4108,7 @@ function $8f5795e91d23efab$export$973ca22476b0e05f() {
3922
4108
 
3923
4109
  // Export all locale message files for i18n
3924
4110
  var $c6f2b9804e791467$exports = {};
3925
- $c6f2b9804e791467$exports = JSON.parse("{\"app.title\":\"World Ferments\",\"app.subtitle\":\"Explore Fermented Foods Around the World\",\"home.hello\":\"Hello World!\",\"home.description\":\"Next.js is running successfully with React Aria Components and React Spectrum S2. The foundation is set!\",\"home.checkHealth\":\"Check API Health\",\"home.healthChecking\":\"Checking health...\",\"home.healthClickPrompt\":\"Click the button to check API health\",\"health.status\":\"Status\",\"health.database\":\"Database\",\"health.time\":\"Time\",\"health.error\":\"Error\",\"health.siteUrls\":\"Site URLs\",\"health.apiEndpoints\":\"API Endpoints\",\"theme.toggle.label\":\"Dark Mode\",\"theme.toggle.ariaLabel\":\"Toggle dark mode\",\"features.map\":\"Coming soon: Interactive map with fermented foods\",\"features.browse\":\"Browse by region, category, and culture\",\"ferments.subtitle\":\"Explore and discover fermented foods from around the world\",\"ferments.loading\":\"Loading...\",\"ferments.count\":\"{count, plural, =0 {No ferments found} one {# ferment found} other {# ferments found}}\",\"ferments.filter.category\":\"Category\",\"ferments.filter.country\":\"Country\",\"ferments.filter.allCategories\":\"All Categories\",\"ferments.filter.allCountries\":\"All Countries\",\"ferments.filter.all\":\"All\",\"ferments.filter.alphabetLabel\":\"Filter by first letter\",\"ferments.filter.clear\":\"Clear Filters\",\"ferments.filter.loading\":\"Loading filters...\",\"ferments.filter.category.ariaLabel\":\"Filter by category\",\"ferments.filter.country.ariaLabel\":\"Filter by country\",\"ferments.search.placeholder\":\"Search ferments...\",\"ferments.search.label\":\"Search\",\"ferments.search.ariaLabel\":\"Search ferments by name or description\",\"ferments.search.clear\":\"Clear\",\"ferment.detail.backToBrowse\":\"Back to Browse\",\"ferment.detail.loading\":\"Loading ferment details...\",\"ferment.detail.notFound\":\"Ferment not found\",\"ferment.detail.error\":\"Failed to load ferment details\",\"ferment.detail.country\":\"Country\",\"ferment.detail.region\":\"Region\",\"ferment.detail.category\":\"Category\",\"ferment.detail.ingredients\":\"Ingredients\",\"ferment.detail.learnMore\":\"Learn More\",\"ferment.detail.viewSource\":\"View Source\",\"ferment.detail.location\":\"Location\",\"ferment.detail.coordinates\":\"Coordinates\",\"ferment.detail.relatedFerments\":\"Related Ferments\",\"ferment.detail.close\":\"Close\",\"map.loading\":\"Loading map...\",\"map.error.title\":\"Map Error\",\"map.error.load\":\"Failed to load ferments for map\",\"map.error.noToken\":\"Mapbox token not configured. Please set NEXT_PUBLIC_MAPBOX_TOKEN in your environment.\",\"map.error.init\":\"Failed to initialize map\",\"map.ariaLabel\":\"Interactive map showing fermented foods around the world\",\"map.marker.label\":\"{name} from {country}\",\"map.popup.viewDetails\":\"View details\",\"nav.map\":\"Map\",\"nav.list\":\"List\",\"nav.viewToggle.ariaLabel\":\"Switch between map and list views\",\"nav.about\":\"About\",\"common.back\":\"Back\",\"common.loading\":\"Loading...\",\"common.saving\":\"Saving...\",\"filterTabs.ariaLabel\":\"Filter options\",\"statCard.viewAll\":\"View all\",\"ferments.category.all\":\"All Categories\",\"ferments.category.vegetable\":\"Vegetable\",\"ferments.category.dairy\":\"Dairy\",\"ferments.category.grain\":\"Grain\",\"ferments.category.legume\":\"Legume\",\"ferments.category.beverage\":\"Beverage\",\"ferments.category.condiment\":\"Condiment\",\"ferments.category.protein\":\"Protein\",\"ferments.category.fruit\":\"Fruit\",\"ferments.category.other\":\"Other\",\"sources.content_type.about\":\"About\",\"sources.content_type.history\":\"History\",\"sources.content_type.recipes\":\"Recipes\",\"sources.content_type.tools\":\"Tools & Equipment\",\"sources.content_type.starters\":\"Starters & Cultures\",\"sources.content_type.culture\":\"Cultural Context\",\"sources.content_type.scientific\":\"Scientific Research\",\"sources.content_type.commercial\":\"Commercial Products\",\"sources.content_type.course\":\"Courses & Tutorials\",\"sources.content_type.general\":\"General Information\"}");
4111
+ $c6f2b9804e791467$exports = JSON.parse("{\"app.title\":\"World Ferments\",\"app.subtitle\":\"Explore Fermented Foods Around the World\",\"home.hello\":\"Hello World!\",\"home.description\":\"Next.js is running successfully with React Aria Components and React Spectrum S2. The foundation is set!\",\"home.checkHealth\":\"Check API Health\",\"home.healthChecking\":\"Checking health...\",\"home.healthClickPrompt\":\"Click the button to check API health\",\"health.status\":\"Status\",\"health.database\":\"Database\",\"health.time\":\"Time\",\"health.error\":\"Error\",\"health.siteUrls\":\"Site URLs\",\"health.apiEndpoints\":\"API Endpoints\",\"theme.toggle.label\":\"Dark Mode\",\"theme.toggle.ariaLabel\":\"Toggle dark mode\",\"features.map\":\"Coming soon: Interactive map with fermented foods\",\"features.browse\":\"Browse by region, category, and culture\",\"ferments.subtitle\":\"Explore and discover fermented foods from around the world\",\"ferments.loading\":\"Loading...\",\"ferments.count\":\"{count, plural, =0 {No ferments found} one {# ferment found} other {# ferments found}}\",\"ferments.filter.category\":\"Category\",\"ferments.filter.country\":\"Country\",\"ferments.filter.allCategories\":\"All Categories\",\"ferments.filter.allCountries\":\"All Countries\",\"ferments.filter.all\":\"All\",\"ferments.filter.alphabetLabel\":\"Filter by first letter\",\"ferments.filter.clear\":\"Clear Filters\",\"ferments.filter.loading\":\"Loading filters...\",\"ferments.filter.category.ariaLabel\":\"Filter by category\",\"ferments.filter.country.ariaLabel\":\"Filter by country\",\"ferments.search.placeholder\":\"Search ferments...\",\"ferments.search.label\":\"Search\",\"ferments.search.ariaLabel\":\"Search ferments by name or description\",\"ferments.search.clear\":\"Clear\",\"ferment.detail.backToBrowse\":\"Back to Browse\",\"ferment.detail.loading\":\"Loading ferment details...\",\"ferment.detail.notFound\":\"Ferment not found\",\"ferment.detail.error\":\"Failed to load ferment details\",\"ferment.detail.country\":\"Country\",\"ferment.detail.region\":\"Region\",\"ferment.detail.category\":\"Category\",\"ferment.detail.ingredients\":\"Ingredients\",\"ferment.detail.learnMore\":\"Learn More\",\"ferment.detail.viewSource\":\"View Source\",\"ferment.detail.location\":\"Location\",\"ferment.detail.coordinates\":\"Coordinates\",\"ferment.detail.relatedFerments\":\"Related Ferments\",\"ferment.detail.close\":\"Close\",\"map.loading\":\"Loading map...\",\"map.error.title\":\"Map Error\",\"map.error.load\":\"Failed to load ferments for map\",\"map.error.noToken\":\"Mapbox token not configured. Please set NEXT_PUBLIC_MAPBOX_TOKEN in your environment.\",\"map.error.init\":\"Failed to initialize map\",\"map.ariaLabel\":\"Interactive map showing fermented foods around the world\",\"map.marker.label\":\"{name} from {country}\",\"map.popup.viewDetails\":\"View details\",\"nav.map\":\"Map\",\"nav.list\":\"List\",\"nav.viewToggle.ariaLabel\":\"Switch between map and list views\",\"nav.about\":\"About\",\"common.back\":\"Back\",\"common.loading\":\"Loading...\",\"common.saving\":\"Saving...\",\"common.noData\":\"No data available\",\"table.common.loading\":\"Loading data...\",\"table.common.loadingMore\":\"Loading more data...\",\"filterTabs.ariaLabel\":\"Filter options\",\"statCard.viewAll\":\"View all\",\"ferments.category.all\":\"All Categories\",\"ferments.category.vegetable\":\"Vegetable\",\"ferments.category.dairy\":\"Dairy\",\"ferments.category.grain\":\"Grain\",\"ferments.category.legume\":\"Legume\",\"ferments.category.beverage\":\"Beverage\",\"ferments.category.condiment\":\"Condiment\",\"ferments.category.protein\":\"Protein\",\"ferments.category.fruit\":\"Fruit\",\"ferments.category.other\":\"Other\",\"sources.content_type.about\":\"About\",\"sources.content_type.history\":\"History\",\"sources.content_type.recipes\":\"Recipes\",\"sources.content_type.tools\":\"Tools & Equipment\",\"sources.content_type.starters\":\"Starters & Cultures\",\"sources.content_type.culture\":\"Cultural Context\",\"sources.content_type.scientific\":\"Scientific Research\",\"sources.content_type.commercial\":\"Commercial Products\",\"sources.content_type.course\":\"Courses & Tutorials\",\"sources.content_type.general\":\"General Information\"}");
3926
4112
 
3927
4113
 
3928
4114
  const $c5d9f7a2bd6c13d4$export$d0451c6199f2a163 = {
@@ -3970,7 +4156,17 @@ function $c5b52867831f5132$export$5d7f9913734d3d5f(filters) {
3970
4156
  }
3971
4157
 
3972
4158
 
4159
+ var $5beda7e4a045cdbf$exports = {};
4160
+
4161
+ $parcel$export($5beda7e4a045cdbf$exports, "useIsMobileDevice", () => $5beda7e4a045cdbf$export$736bf165441b18c7);
4162
+
4163
+ function $5beda7e4a045cdbf$export$736bf165441b18c7() {
4164
+ return (0, $fs04y$reactspectrumutils.useMediaQuery)('(max-width: 640px)');
4165
+ }
4166
+
4167
+
3973
4168
  $parcel$exportWildcard($d44b0b07a2b9c664$exports, $c5b52867831f5132$exports);
4169
+ $parcel$exportWildcard($d44b0b07a2b9c664$exports, $5beda7e4a045cdbf$exports);
3974
4170
 
3975
4171
 
3976
4172
  var $0911ce1d49060a15$exports = {};