@landtrustinc/design-system 1.2.63 → 1.2.64

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/index.js CHANGED
@@ -4750,6 +4750,13 @@ var styles = {
4750
4750
  max-height: ${space["14"]};
4751
4751
  font-size: ${fontSizes.base};
4752
4752
  `,
4753
+ iconOnlyXs: import_react12.css`
4754
+ height: var(--spacing-8);
4755
+ min-width: var(--spacing-8);
4756
+ max-height: var(--spacing-8);
4757
+ padding: 0;
4758
+ border-radius: var(--radius-round);
4759
+ `,
4753
4760
  iconOnly: import_react12.css`
4754
4761
  height: var(--spacing-11);
4755
4762
  min-width: var(--spacing-11);
@@ -4827,8 +4834,9 @@ var Button = import_react14.default.forwardRef(
4827
4834
  styles[variant],
4828
4835
  fullWidth && styles.fullWidth,
4829
4836
  size && styles[sizeKey],
4837
+ isIconOnly && size === "xs" && styles.iconOnlyXs,
4830
4838
  isIconOnly && size === "lg" && styles.iconOnlyLg,
4831
- isIconOnly && size !== "lg" && styles.iconOnly,
4839
+ isIconOnly && size !== "lg" && size !== "xs" && styles.iconOnly,
4832
4840
  (isLoading || disabled) && styles.disabled,
4833
4841
  icon2 && children && styles.withIcon
4834
4842
  ],
@@ -6185,7 +6193,8 @@ function useBottomDrawer(options) {
6185
6193
  var useBottomDrawer_default = useBottomDrawer;
6186
6194
 
6187
6195
  // src/ChatWidget/ChatWidget.tsx
6188
- var import_react39 = __toESM(require("react"));
6196
+ var import_react40 = require("@emotion/react");
6197
+ var import_react41 = __toESM(require("react"));
6189
6198
 
6190
6199
  // src/Divider/Divider.tsx
6191
6200
  var import_styled4 = __toESM(require("@emotion/styled"));
@@ -6372,7 +6381,6 @@ var TextArea = (0, import_react31.forwardRef)(
6372
6381
  showSubmit && /* @__PURE__ */ (0, import_jsx_runtime228.jsx)("div", { css: submitButtonContainer, children: /* @__PURE__ */ (0, import_jsx_runtime228.jsx)(
6373
6382
  Button_default,
6374
6383
  {
6375
- size: "xs",
6376
6384
  "aria-label": submitAriaLabel,
6377
6385
  onClick: onSubmit,
6378
6386
  disabled: disabled || submitDisabled,
@@ -6826,6 +6834,21 @@ var closeButtonContent = import_react36.css`
6826
6834
  align-items: center;
6827
6835
  gap: var(--spacing-2);
6828
6836
  `;
6837
+ var scrollToBottomButtonStyles = import_react36.css`
6838
+ position: absolute;
6839
+ bottom: var(--spacing-4);
6840
+ left: 50%;
6841
+ transform: translateX(-50%);
6842
+ opacity: 0;
6843
+ visibility: hidden;
6844
+ transition: opacity 200ms ease-in-out, visibility 200ms ease-in-out;
6845
+ z-index: 2;
6846
+
6847
+ &.visible {
6848
+ opacity: 1;
6849
+ visibility: visible;
6850
+ }
6851
+ `;
6829
6852
 
6830
6853
  // src/ChatWidget/components/AskBuckButton.tsx
6831
6854
  var import_react38 = __toESM(require("react"));
@@ -6954,6 +6977,113 @@ var AskBuckButton = import_react38.default.forwardRef(
6954
6977
  AskBuckButton.displayName = "AskBuckButton";
6955
6978
  var AskBuckButton_default = AskBuckButton;
6956
6979
 
6980
+ // src/ChatWidget/hooks/useChatScrollControl.ts
6981
+ var import_react39 = require("react");
6982
+ var useChatScrollControl = ({
6983
+ messages,
6984
+ isThinking,
6985
+ isExpanded,
6986
+ enableScrollToBottomControl
6987
+ }) => {
6988
+ const scrollRef = (0, import_react39.useRef)(null);
6989
+ const savedScrollPosition = (0, import_react39.useRef)(0);
6990
+ const previousMessagesLength = (0, import_react39.useRef)(messages.length);
6991
+ const previousMessagesRef = (0, import_react39.useRef)(messages);
6992
+ const userJustSentMessageRef = (0, import_react39.useRef)(false);
6993
+ const [isAtBottom, setIsAtBottom] = (0, import_react39.useState)(true);
6994
+ const [showScrollButton, setShowScrollButton] = (0, import_react39.useState)(false);
6995
+ const isScrolledToBottom = (0, import_react39.useCallback)((el) => {
6996
+ const threshold = 50;
6997
+ return el.scrollTop + el.clientHeight >= el.scrollHeight - threshold;
6998
+ }, []);
6999
+ const scrollToBottom = (0, import_react39.useCallback)((behavior = "smooth") => {
7000
+ const el = scrollRef.current;
7001
+ if (!el)
7002
+ return;
7003
+ el.scrollTo({ top: el.scrollHeight, behavior });
7004
+ savedScrollPosition.current = el.scrollHeight;
7005
+ setIsAtBottom(true);
7006
+ setShowScrollButton(false);
7007
+ }, []);
7008
+ const saveCurrentScrollPosition = (0, import_react39.useCallback)(() => {
7009
+ if (!scrollRef.current)
7010
+ return;
7011
+ savedScrollPosition.current = scrollRef.current.scrollTop;
7012
+ }, []);
7013
+ const markUserMessageSubmitted = (0, import_react39.useCallback)(() => {
7014
+ userJustSentMessageRef.current = true;
7015
+ }, []);
7016
+ (0, import_react39.useEffect)(() => {
7017
+ const el = scrollRef.current;
7018
+ if (!el || !isExpanded)
7019
+ return;
7020
+ requestAnimationFrame(() => {
7021
+ if (savedScrollPosition.current > 0) {
7022
+ el.scrollTop = savedScrollPosition.current;
7023
+ }
7024
+ const atBottom = isScrolledToBottom(el);
7025
+ setIsAtBottom(atBottom);
7026
+ setShowScrollButton(enableScrollToBottomControl && !atBottom);
7027
+ });
7028
+ }, [isExpanded, isScrolledToBottom, enableScrollToBottomControl]);
7029
+ (0, import_react39.useEffect)(() => {
7030
+ const el = scrollRef.current;
7031
+ if (!el || !isExpanded)
7032
+ return;
7033
+ const handleScroll = () => {
7034
+ const atBottom = isScrolledToBottom(el);
7035
+ setIsAtBottom(atBottom);
7036
+ setShowScrollButton(enableScrollToBottomControl && !atBottom);
7037
+ savedScrollPosition.current = el.scrollTop;
7038
+ };
7039
+ handleScroll();
7040
+ el.addEventListener("scroll", handleScroll);
7041
+ return () => el.removeEventListener("scroll", handleScroll);
7042
+ }, [isExpanded, isScrolledToBottom, enableScrollToBottomControl]);
7043
+ (0, import_react39.useEffect)(() => {
7044
+ const el = scrollRef.current;
7045
+ if (!el || !isExpanded)
7046
+ return;
7047
+ const messagesLengthChanged = messages.length !== previousMessagesLength.current;
7048
+ const messagesContentChanged = messages !== previousMessagesRef.current;
7049
+ previousMessagesLength.current = messages.length;
7050
+ previousMessagesRef.current = messages;
7051
+ if (messagesLengthChanged || messagesContentChanged || isThinking) {
7052
+ if (!enableScrollToBottomControl) {
7053
+ requestAnimationFrame(() => {
7054
+ scrollToBottom("smooth");
7055
+ });
7056
+ userJustSentMessageRef.current = false;
7057
+ return;
7058
+ }
7059
+ const shouldAutoScroll = userJustSentMessageRef.current || isAtBottom;
7060
+ if (!shouldAutoScroll) {
7061
+ setShowScrollButton(true);
7062
+ return;
7063
+ }
7064
+ requestAnimationFrame(() => {
7065
+ scrollToBottom("smooth");
7066
+ });
7067
+ }
7068
+ userJustSentMessageRef.current = false;
7069
+ }, [
7070
+ messages,
7071
+ isThinking,
7072
+ isExpanded,
7073
+ isAtBottom,
7074
+ scrollToBottom,
7075
+ enableScrollToBottomControl
7076
+ ]);
7077
+ return {
7078
+ scrollRef,
7079
+ showScrollButton,
7080
+ scrollToBottom,
7081
+ markUserMessageSubmitted,
7082
+ saveCurrentScrollPosition
7083
+ };
7084
+ };
7085
+ var useChatScrollControl_default = useChatScrollControl;
7086
+
6957
7087
  // src/ChatWidget/ChatWidget.tsx
6958
7088
  var import_jsx_runtime233 = require("@emotion/react/jsx-runtime");
6959
7089
  var DEFAULT_EMPTY_STATE = [
@@ -6988,54 +7118,37 @@ var ChatWidget = ({
6988
7118
  onPromptClick,
6989
7119
  suggestedPromptsTitle = "Other Helpful Topics",
6990
7120
  notificationCount,
6991
- closeOnClickOutside = true
7121
+ closeOnClickOutside = true,
7122
+ enableScrollToBottomControl = true
6992
7123
  }) => {
6993
- const [value, setValue] = (0, import_react39.useState)("");
6994
- const scrollRef = (0, import_react39.useRef)(null);
6995
- const savedScrollPosition = (0, import_react39.useRef)(0);
6996
- const previousMessagesLength = (0, import_react39.useRef)(messages.length);
6997
- const previousMessagesRef = (0, import_react39.useRef)(messages);
7124
+ const [value, setValue] = (0, import_react41.useState)("");
6998
7125
  const isControlled = typeof expanded === "boolean";
6999
- const [internalExpanded, setInternalExpanded] = (0, import_react39.useState)(defaultExpanded);
7126
+ const [internalExpanded, setInternalExpanded] = (0, import_react41.useState)(defaultExpanded);
7000
7127
  const isExpanded = isControlled ? expanded : internalExpanded;
7001
- const setExpanded = (0, import_react39.useCallback)(
7128
+ const {
7129
+ scrollRef,
7130
+ showScrollButton,
7131
+ scrollToBottom,
7132
+ markUserMessageSubmitted,
7133
+ saveCurrentScrollPosition
7134
+ } = useChatScrollControl_default({
7135
+ messages,
7136
+ isThinking,
7137
+ isExpanded,
7138
+ enableScrollToBottomControl
7139
+ });
7140
+ const setExpanded = (0, import_react41.useCallback)(
7002
7141
  (next) => {
7003
- if (!next && scrollRef.current) {
7004
- savedScrollPosition.current = scrollRef.current.scrollTop;
7005
- }
7142
+ if (!next)
7143
+ saveCurrentScrollPosition();
7006
7144
  if (!isControlled)
7007
7145
  setInternalExpanded(next);
7008
7146
  onExpandedChange == null ? void 0 : onExpandedChange(next);
7009
7147
  },
7010
- [isControlled, onExpandedChange]
7148
+ [isControlled, onExpandedChange, saveCurrentScrollPosition]
7011
7149
  );
7012
- (0, import_react39.useEffect)(() => {
7013
- const el = scrollRef.current;
7014
- if (!el || !isExpanded)
7015
- return;
7016
- requestAnimationFrame(() => {
7017
- if (savedScrollPosition.current > 0) {
7018
- el.scrollTop = savedScrollPosition.current;
7019
- }
7020
- });
7021
- }, [isExpanded]);
7022
- (0, import_react39.useEffect)(() => {
7023
- const el = scrollRef.current;
7024
- if (!el || !isExpanded)
7025
- return;
7026
- const messagesLengthChanged = messages.length !== previousMessagesLength.current;
7027
- const messagesContentChanged = messages !== previousMessagesRef.current;
7028
- previousMessagesLength.current = messages.length;
7029
- previousMessagesRef.current = messages;
7030
- if (messagesLengthChanged || messagesContentChanged || isThinking) {
7031
- requestAnimationFrame(() => {
7032
- el.scrollTo({ top: el.scrollHeight, behavior: "smooth" });
7033
- savedScrollPosition.current = el.scrollHeight;
7034
- });
7035
- }
7036
- }, [messages, isThinking, isExpanded]);
7037
7150
  const messagesToRender = messages.length === 0 ? emptyState : messages;
7038
- const renderedMessages = (0, import_react39.useMemo)(
7151
+ const renderedMessages = (0, import_react41.useMemo)(
7039
7152
  () => messagesToRender.map((element, index) => {
7040
7153
  var _a;
7041
7154
  const key = (_a = element.key) != null ? _a : index;
@@ -7045,7 +7158,7 @@ var ChatWidget = ({
7045
7158
  if (element.type === MessageBubble_default) {
7046
7159
  return /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { css: sentWrapperStyles, children: element }, key);
7047
7160
  }
7048
- return /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(import_react39.default.Fragment, { children: element }, key);
7161
+ return /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(import_react41.default.Fragment, { children: element }, key);
7049
7162
  }),
7050
7163
  [messagesToRender]
7051
7164
  );
@@ -7053,6 +7166,7 @@ var ChatWidget = ({
7053
7166
  const trimmed = value.trim();
7054
7167
  if (!trimmed)
7055
7168
  return;
7169
+ markUserMessageSubmitted();
7056
7170
  onSubmit(trimmed);
7057
7171
  setValue("");
7058
7172
  };
@@ -7109,60 +7223,90 @@ var ChatWidget = ({
7109
7223
  ),
7110
7224
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Divider_default, { mt: 4, mb: 0 })
7111
7225
  ] }),
7112
- /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(
7113
- Box_default,
7114
- {
7115
- ref: scrollRef,
7116
- flex: "1 1 auto",
7117
- minHeight: 0,
7118
- overflowY: "auto",
7119
- p: 0,
7120
- pb: 4,
7121
- display: "flex",
7122
- flexDirection: "column",
7123
- gap: "var(--spacing-2)",
7124
- children: [
7125
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: renderedMessages }),
7126
- isThinking && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { css: receivedWrapperStyles, children: /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { css: thinkingRowStyles, children: [
7127
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Spinner_default2, { size: "medium" }),
7128
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)("span", { css: thinkingTextStyles, children: thinkingText })
7129
- ] }) }),
7130
- suggestedPrompts && suggestedPrompts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { css: receivedWrapperStyles, children: /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(
7131
- Box_default,
7132
- {
7133
- display: "flex",
7134
- flexDirection: "column",
7135
- gap: "var(--spacing-4)",
7136
- children: [
7137
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Text_default, { size: "md", fontWeight: "bold", color: "var(--text-primary)", children: suggestedPromptsTitle }),
7138
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7139
- Box_default,
7140
- {
7141
- display: "flex",
7142
- flexWrap: "wrap",
7143
- gap: "var(--spacing-4)",
7144
- alignItems: "flex-start",
7145
- children: suggestedPrompts.map((prompt, index) => /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7146
- TagChip_default,
7147
- {
7148
- variant: "success",
7149
- onClick: () => {
7150
- var _a;
7151
- return onPromptClick == null ? void 0 : onPromptClick((_a = prompt.value) != null ? _a : prompt.label);
7226
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(Box_default, { position: "relative", flex: "1 1 auto", minHeight: 0, children: [
7227
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(
7228
+ Box_default,
7229
+ {
7230
+ ref: scrollRef,
7231
+ height: "100%",
7232
+ overflowY: "auto",
7233
+ p: 0,
7234
+ pb: 4,
7235
+ display: "flex",
7236
+ flexDirection: "column",
7237
+ gap: "var(--spacing-2)",
7238
+ children: [
7239
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: renderedMessages }),
7240
+ isThinking && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { css: receivedWrapperStyles, children: /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)("div", { css: thinkingRowStyles, children: [
7241
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Spinner_default2, { size: "medium" }),
7242
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsx)("span", { css: thinkingTextStyles, children: thinkingText })
7243
+ ] }) }),
7244
+ suggestedPrompts && suggestedPrompts.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { css: receivedWrapperStyles, children: /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(
7245
+ Box_default,
7246
+ {
7247
+ display: "flex",
7248
+ flexDirection: "column",
7249
+ gap: "var(--spacing-4)",
7250
+ children: [
7251
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7252
+ Text_default,
7253
+ {
7254
+ size: "md",
7255
+ fontWeight: "bold",
7256
+ color: "var(--text-primary)",
7257
+ children: suggestedPromptsTitle
7258
+ }
7259
+ ),
7260
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7261
+ Box_default,
7262
+ {
7263
+ display: "flex",
7264
+ flexWrap: "wrap",
7265
+ gap: "var(--spacing-4)",
7266
+ alignItems: "flex-start",
7267
+ children: suggestedPrompts.map((prompt, index) => /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7268
+ TagChip_default,
7269
+ {
7270
+ variant: "success",
7271
+ onClick: () => {
7272
+ var _a;
7273
+ return onPromptClick == null ? void 0 : onPromptClick((_a = prompt.value) != null ? _a : prompt.label);
7274
+ },
7275
+ style: { cursor: "pointer" },
7276
+ children: prompt.label
7152
7277
  },
7153
- style: { cursor: "pointer" },
7154
- children: prompt.label
7155
- },
7156
- index
7157
- ))
7158
- }
7159
- )
7160
- ]
7278
+ index
7279
+ ))
7280
+ }
7281
+ )
7282
+ ]
7283
+ }
7284
+ ) })
7285
+ ]
7286
+ }
7287
+ ),
7288
+ enableScrollToBottomControl && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7289
+ Box_default,
7290
+ {
7291
+ css: scrollToBottomButtonStyles,
7292
+ className: showScrollButton ? "visible" : void 0,
7293
+ children: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7294
+ Button_default,
7295
+ {
7296
+ variant: "secondary",
7297
+ size: "xs",
7298
+ icon: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Icon_default, { variant: "AngleDownSharp" }),
7299
+ onClick: () => scrollToBottom("smooth"),
7300
+ "aria-label": "Scroll to bottom",
7301
+ css: import_react40.css`
7302
+ background-color: var(--color-base-white);
7303
+ box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
7304
+ `
7161
7305
  }
7162
- ) })
7163
- ]
7164
- }
7165
- ),
7306
+ )
7307
+ }
7308
+ )
7309
+ ] }),
7166
7310
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { position: "sticky", bottom: 0, zIndex: 1, p: 0, children: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
7167
7311
  TextArea_default,
7168
7312
  {
@@ -7186,7 +7330,7 @@ var ChatWidget = ({
7186
7330
  var ChatWidget_default = ChatWidget;
7187
7331
 
7188
7332
  // src/CtaCard/CtaCard.tsx
7189
- var import_react40 = require("react");
7333
+ var import_react42 = require("react");
7190
7334
  var import_jsx_runtime234 = require("@emotion/react/jsx-runtime");
7191
7335
  var CtaCard = ({
7192
7336
  title,
@@ -7198,7 +7342,7 @@ var CtaCard = ({
7198
7342
  onCtaClick,
7199
7343
  className
7200
7344
  }) => {
7201
- (0, import_react40.useEffect)(() => {
7345
+ (0, import_react42.useEffect)(() => {
7202
7346
  onDisplay == null ? void 0 : onDisplay();
7203
7347
  }, [onDisplay]);
7204
7348
  const showButton = ctaUrl || onCtaClick;
@@ -7248,7 +7392,7 @@ CtaCard.displayName = "CtaCard";
7248
7392
  var CtaCard_default = CtaCard;
7249
7393
 
7250
7394
  // src/FeatureList/components/FeatureListItem.tsx
7251
- var import_react41 = require("@emotion/react");
7395
+ var import_react43 = require("@emotion/react");
7252
7396
  var import_react_loading_skeleton = __toESM(require("react-loading-skeleton"));
7253
7397
  var import_jsx_runtime235 = require("@emotion/react/jsx-runtime");
7254
7398
  var FeatureListItem = ({
@@ -7317,7 +7461,7 @@ var FeatureListItem = ({
7317
7461
  variant: iconVariant,
7318
7462
  size: iconSize,
7319
7463
  fill: iconColor,
7320
- css: import_react41.css`
7464
+ css: import_react43.css`
7321
7465
  flex-shrink: 0;
7322
7466
  `
7323
7467
  }
@@ -7354,8 +7498,8 @@ var FeatureList = ({ heading, items, className }) => {
7354
7498
  var FeatureList_default = FeatureList;
7355
7499
 
7356
7500
  // src/FieldNoteCard/FieldNoteCard.styles.ts
7357
- var import_react42 = require("@emotion/react");
7358
- var cardContainerStyles = import_react42.css`
7501
+ var import_react44 = require("@emotion/react");
7502
+ var cardContainerStyles = import_react44.css`
7359
7503
  position: relative;
7360
7504
  height: 335px;
7361
7505
 
@@ -7363,12 +7507,12 @@ var cardContainerStyles = import_react42.css`
7363
7507
  height: 480px;
7364
7508
  }
7365
7509
  `;
7366
- var cardContentStyles = import_react42.css`
7510
+ var cardContentStyles = import_react44.css`
7367
7511
  position: relative;
7368
7512
  border-radius: var(--spacing-4);
7369
7513
  overflow: hidden;
7370
7514
  `;
7371
- var getBackgroundWithGradient = (imageUrl) => import_react42.css`
7515
+ var getBackgroundWithGradient = (imageUrl) => import_react44.css`
7372
7516
  background-image: linear-gradient(
7373
7517
  180deg,
7374
7518
  rgba(0, 0, 0, 0) 48.36%,
@@ -7418,14 +7562,14 @@ var FieldNoteCard = ({
7418
7562
  var FieldNoteCard_default = FieldNoteCard;
7419
7563
 
7420
7564
  // src/Form/FormField.tsx
7421
- var import_react43 = require("@emotion/react");
7565
+ var import_react45 = require("@emotion/react");
7422
7566
  var import_jsx_runtime238 = require("@emotion/react/jsx-runtime");
7423
- var fieldContainerStyles = import_react43.css`
7567
+ var fieldContainerStyles = import_react45.css`
7424
7568
  display: flex;
7425
7569
  flex-direction: column;
7426
7570
  gap: ${space["2"]};
7427
7571
  `;
7428
- var labelStyles2 = import_react43.css`
7572
+ var labelStyles2 = import_react45.css`
7429
7573
  font-family: ${fonts.base};
7430
7574
  font-size: ${fontSizes.sm};
7431
7575
  font-weight: ${fontWeights.medium};
@@ -7433,17 +7577,17 @@ var labelStyles2 = import_react43.css`
7433
7577
  color: ${colors.gray["900"]};
7434
7578
  margin-bottom: ${space["1"]};
7435
7579
  `;
7436
- var requiredIndicatorStyles = import_react43.css`
7580
+ var requiredIndicatorStyles = import_react45.css`
7437
7581
  color: ${colors.red["500"]};
7438
7582
  margin-left: ${space["1"]};
7439
7583
  `;
7440
- var helpTextStyles = import_react43.css`
7584
+ var helpTextStyles = import_react45.css`
7441
7585
  font-family: ${fonts.base};
7442
7586
  font-size: ${fontSizes.sm};
7443
7587
  line-height: ${lineHeights.tight};
7444
7588
  color: ${colors.gray["600"]};
7445
7589
  `;
7446
- var errorTextStyles = import_react43.css`
7590
+ var errorTextStyles = import_react45.css`
7447
7591
  font-family: ${fonts.base};
7448
7592
  font-size: ${fontSizes.sm};
7449
7593
  line-height: ${lineHeights.tight};
@@ -7452,7 +7596,7 @@ var errorTextStyles = import_react43.css`
7452
7596
  align-items: center;
7453
7597
  gap: ${space["1"]};
7454
7598
  `;
7455
- var successTextStyles = import_react43.css`
7599
+ var successTextStyles = import_react45.css`
7456
7600
  font-family: ${fonts.base};
7457
7601
  font-size: ${fontSizes.sm};
7458
7602
  line-height: ${lineHeights.tight};
@@ -7461,7 +7605,7 @@ var successTextStyles = import_react43.css`
7461
7605
  align-items: center;
7462
7606
  gap: ${space["1"]};
7463
7607
  `;
7464
- var visuallyHiddenStyles = import_react43.css`
7608
+ var visuallyHiddenStyles = import_react45.css`
7465
7609
  position: absolute;
7466
7610
  width: 1px;
7467
7611
  height: 1px;
@@ -7526,10 +7670,10 @@ var FormField = ({
7526
7670
  };
7527
7671
 
7528
7672
  // src/Form/Input.tsx
7529
- var import_react44 = require("@emotion/react");
7530
- var import_react45 = require("react");
7673
+ var import_react46 = require("@emotion/react");
7674
+ var import_react47 = require("react");
7531
7675
  var import_jsx_runtime239 = require("@emotion/react/jsx-runtime");
7532
- var inputStyles = import_react44.css`
7676
+ var inputStyles = import_react46.css`
7533
7677
  position: relative;
7534
7678
  width: 100%;
7535
7679
  font-family: ${fonts.base};
@@ -7566,19 +7710,19 @@ var inputStyles = import_react44.css`
7566
7710
  }
7567
7711
  `;
7568
7712
  var sizeStyles = {
7569
- sm: import_react44.css`
7713
+ sm: import_react46.css`
7570
7714
  padding: ${space["2"]} ${space["3"]};
7571
7715
  font-size: ${fontSizes.sm};
7572
7716
  line-height: ${lineHeights.tight};
7573
7717
  height: ${space["8"]};
7574
7718
  `,
7575
- md: import_react44.css`
7719
+ md: import_react46.css`
7576
7720
  padding: ${space["3"]} ${space["4"]};
7577
7721
  font-size: ${fontSizes.base};
7578
7722
  line-height: ${lineHeights.normal};
7579
7723
  height: ${space["10"]};
7580
7724
  `,
7581
- lg: import_react44.css`
7725
+ lg: import_react46.css`
7582
7726
  padding: ${space["4"]} ${space["5"]};
7583
7727
  font-size: ${fontSizes.lg};
7584
7728
  line-height: ${lineHeights.normal};
@@ -7586,8 +7730,8 @@ var sizeStyles = {
7586
7730
  `
7587
7731
  };
7588
7732
  var variantStyles = {
7589
- default: import_react44.css``,
7590
- error: import_react44.css`
7733
+ default: import_react46.css``,
7734
+ error: import_react46.css`
7591
7735
  border-color: ${colors.red["500"]};
7592
7736
 
7593
7737
  &:focus {
@@ -7595,7 +7739,7 @@ var variantStyles = {
7595
7739
  box-shadow: 0 0 0 3px ${colors.red["100"]};
7596
7740
  }
7597
7741
  `,
7598
- success: import_react44.css`
7742
+ success: import_react46.css`
7599
7743
  border-color: ${colors.accent.green};
7600
7744
 
7601
7745
  &:focus {
@@ -7604,7 +7748,7 @@ var variantStyles = {
7604
7748
  }
7605
7749
  `
7606
7750
  };
7607
- var inputWithIconStyles = import_react44.css`
7751
+ var inputWithIconStyles = import_react46.css`
7608
7752
  padding-left: ${space["10"]};
7609
7753
 
7610
7754
  &.has-end-icon {
@@ -7615,7 +7759,7 @@ var inputWithIconStyles = import_react44.css`
7615
7759
  padding-left: ${space["10"]};
7616
7760
  }
7617
7761
  `;
7618
- var iconContainerStyles = import_react44.css`
7762
+ var iconContainerStyles = import_react46.css`
7619
7763
  position: absolute;
7620
7764
  top: 50%;
7621
7765
  transform: translateY(-50%);
@@ -7626,20 +7770,20 @@ var iconContainerStyles = import_react44.css`
7626
7770
  pointer-events: none;
7627
7771
  z-index: 1;
7628
7772
  `;
7629
- var startIconStyles = import_react44.css`
7773
+ var startIconStyles = import_react46.css`
7630
7774
  ${iconContainerStyles}
7631
7775
  left: ${space["3"]};
7632
7776
  `;
7633
- var endIconStyles = import_react44.css`
7777
+ var endIconStyles = import_react46.css`
7634
7778
  ${iconContainerStyles}
7635
7779
  right: ${space["3"]};
7636
7780
  `;
7637
- var inputWrapperStyles = import_react44.css`
7781
+ var inputWrapperStyles = import_react46.css`
7638
7782
  position: relative;
7639
7783
  display: inline-block;
7640
7784
  width: 100%;
7641
7785
  `;
7642
- var Input = (0, import_react45.forwardRef)(
7786
+ var Input = (0, import_react47.forwardRef)(
7643
7787
  ({
7644
7788
  size = "md",
7645
7789
  variant = "default",
@@ -7684,10 +7828,10 @@ var Input = (0, import_react45.forwardRef)(
7684
7828
  Input.displayName = "Input";
7685
7829
 
7686
7830
  // src/Form/Select.tsx
7687
- var import_react46 = require("@emotion/react");
7688
- var import_react47 = require("react");
7831
+ var import_react48 = require("@emotion/react");
7832
+ var import_react49 = require("react");
7689
7833
  var import_jsx_runtime240 = require("@emotion/react/jsx-runtime");
7690
- var selectStyles = import_react46.css`
7834
+ var selectStyles = import_react48.css`
7691
7835
  position: relative;
7692
7836
  width: 100%;
7693
7837
  font-family: ${fonts.base};
@@ -7726,19 +7870,19 @@ var selectStyles = import_react46.css`
7726
7870
  }
7727
7871
  `;
7728
7872
  var sizeStyles2 = {
7729
- sm: import_react46.css`
7873
+ sm: import_react48.css`
7730
7874
  padding: ${space["2"]} ${space["3"]};
7731
7875
  font-size: ${fontSizes.sm};
7732
7876
  line-height: ${lineHeights.tight};
7733
7877
  height: ${space["8"]};
7734
7878
  `,
7735
- md: import_react46.css`
7879
+ md: import_react48.css`
7736
7880
  padding: ${space["3"]} ${space["4"]};
7737
7881
  font-size: ${fontSizes.base};
7738
7882
  line-height: ${lineHeights.normal};
7739
7883
  height: ${space["10"]};
7740
7884
  `,
7741
- lg: import_react46.css`
7885
+ lg: import_react48.css`
7742
7886
  padding: ${space["4"]} ${space["5"]};
7743
7887
  font-size: ${fontSizes.lg};
7744
7888
  line-height: ${lineHeights.normal};
@@ -7746,8 +7890,8 @@ var sizeStyles2 = {
7746
7890
  `
7747
7891
  };
7748
7892
  var variantStyles2 = {
7749
- default: import_react46.css``,
7750
- error: import_react46.css`
7893
+ default: import_react48.css``,
7894
+ error: import_react48.css`
7751
7895
  border-color: ${colors.red["500"]};
7752
7896
 
7753
7897
  &:focus {
@@ -7755,7 +7899,7 @@ var variantStyles2 = {
7755
7899
  box-shadow: 0 0 0 3px ${colors.red["100"]};
7756
7900
  }
7757
7901
  `,
7758
- success: import_react46.css`
7902
+ success: import_react48.css`
7759
7903
  border-color: ${colors.accent.green};
7760
7904
 
7761
7905
  &:focus {
@@ -7764,7 +7908,7 @@ var variantStyles2 = {
7764
7908
  }
7765
7909
  `
7766
7910
  };
7767
- var optionStyles = import_react46.css`
7911
+ var optionStyles = import_react48.css`
7768
7912
  background-color: ${colors.light["100"]};
7769
7913
  color: ${colors.gray["900"]};
7770
7914
 
@@ -7773,7 +7917,7 @@ var optionStyles = import_react46.css`
7773
7917
  background-color: ${colors.gray["100"]};
7774
7918
  }
7775
7919
  `;
7776
- var Select = (0, import_react47.forwardRef)(
7920
+ var Select = (0, import_react49.forwardRef)(
7777
7921
  ({
7778
7922
  size = "md",
7779
7923
  variant = "default",
@@ -7811,10 +7955,10 @@ var Select = (0, import_react47.forwardRef)(
7811
7955
  Select.displayName = "Select";
7812
7956
 
7813
7957
  // src/Grid/Column.tsx
7814
- var import_react49 = require("@emotion/react");
7958
+ var import_react51 = require("@emotion/react");
7815
7959
 
7816
7960
  // src/Grid/utils.ts
7817
- var import_react48 = require("@emotion/react");
7961
+ var import_react50 = require("@emotion/react");
7818
7962
  var LayoutTokens = {
7819
7963
  containers: {
7820
7964
  sm: screens.sm,
@@ -7854,11 +7998,11 @@ var getResponsiveValue = (value) => {
7854
7998
  var generateGridColumns = (columns) => {
7855
7999
  const baseColumns = getResponsiveValue(columns);
7856
8000
  if (typeof columns === "number") {
7857
- return import_react48.css`
8001
+ return import_react50.css`
7858
8002
  grid-template-columns: repeat(${columns}, 1fr);
7859
8003
  `;
7860
8004
  }
7861
- return import_react48.css`
8005
+ return import_react50.css`
7862
8006
  grid-template-columns: repeat(${baseColumns}, 1fr);
7863
8007
 
7864
8008
  ${media.sm} {
@@ -7890,11 +8034,11 @@ var generateGridColumns = (columns) => {
7890
8034
  var generateGapStyles = (gap2) => {
7891
8035
  const baseGap = getResponsiveValue(gap2);
7892
8036
  if (typeof gap2 === "string" || typeof gap2 === "number") {
7893
- return import_react48.css`
8037
+ return import_react50.css`
7894
8038
  gap: ${space[gap2]};
7895
8039
  `;
7896
8040
  }
7897
- return import_react48.css`
8041
+ return import_react50.css`
7898
8042
  gap: ${space[baseGap]};
7899
8043
 
7900
8044
  ${media.sm} {
@@ -7917,11 +8061,11 @@ var generateGapStyles = (gap2) => {
7917
8061
  var generateRowGapStyles = (rowGap) => {
7918
8062
  const baseRowGap = getResponsiveValue(rowGap);
7919
8063
  if (typeof rowGap === "string" || typeof rowGap === "number") {
7920
- return import_react48.css`
8064
+ return import_react50.css`
7921
8065
  row-gap: ${space[rowGap]};
7922
8066
  `;
7923
8067
  }
7924
- return import_react48.css`
8068
+ return import_react50.css`
7925
8069
  row-gap: ${space[baseRowGap]};
7926
8070
 
7927
8071
  ${media.sm} {
@@ -7944,11 +8088,11 @@ var generateRowGapStyles = (rowGap) => {
7944
8088
  var generateColumnGapStyles = (columnGap) => {
7945
8089
  const baseColumnGap = getResponsiveValue(columnGap);
7946
8090
  if (typeof columnGap === "string" || typeof columnGap === "number") {
7947
- return import_react48.css`
8091
+ return import_react50.css`
7948
8092
  column-gap: ${space[columnGap]};
7949
8093
  `;
7950
8094
  }
7951
- return import_react48.css`
8095
+ return import_react50.css`
7952
8096
  column-gap: ${space[baseColumnGap]};
7953
8097
 
7954
8098
  ${media.sm} {
@@ -7971,11 +8115,11 @@ var generateColumnGapStyles = (columnGap) => {
7971
8115
  var generateColumnSpan = (span) => {
7972
8116
  const baseSpan = getResponsiveValue(span);
7973
8117
  if (typeof span === "string" || typeof span === "number") {
7974
- return import_react48.css`
8118
+ return import_react50.css`
7975
8119
  grid-column: ${span === "auto" ? "auto" : `span ${span}`};
7976
8120
  `;
7977
8121
  }
7978
- return import_react48.css`
8122
+ return import_react50.css`
7979
8123
  grid-column: ${baseSpan === "auto" ? "auto" : `span ${baseSpan}`};
7980
8124
 
7981
8125
  ${media.sm} {
@@ -7998,11 +8142,11 @@ var generateColumnSpan = (span) => {
7998
8142
  var generateAlignItems = (alignItems) => {
7999
8143
  const baseAlign = getResponsiveValue(alignItems);
8000
8144
  if (typeof alignItems === "string") {
8001
- return import_react48.css`
8145
+ return import_react50.css`
8002
8146
  align-items: ${alignItems};
8003
8147
  `;
8004
8148
  }
8005
- return import_react48.css`
8149
+ return import_react50.css`
8006
8150
  align-items: ${baseAlign};
8007
8151
 
8008
8152
  ${media.sm} {
@@ -8025,11 +8169,11 @@ var generateAlignItems = (alignItems) => {
8025
8169
  var generateJustifyItems = (justifyItems) => {
8026
8170
  const baseJustify = getResponsiveValue(justifyItems);
8027
8171
  if (typeof justifyItems === "string") {
8028
- return import_react48.css`
8172
+ return import_react50.css`
8029
8173
  justify-items: ${justifyItems};
8030
8174
  `;
8031
8175
  }
8032
- return import_react48.css`
8176
+ return import_react50.css`
8033
8177
  justify-items: ${baseJustify};
8034
8178
 
8035
8179
  ${media.sm} {
@@ -8064,19 +8208,19 @@ var Column = ({
8064
8208
  }) => {
8065
8209
  const columnStyles = [
8066
8210
  span && generateColumnSpan(span),
8067
- start && import_react49.css`
8211
+ start && import_react51.css`
8068
8212
  grid-column-start: ${start};
8069
8213
  `,
8070
- end && import_react49.css`
8214
+ end && import_react51.css`
8071
8215
  grid-column-end: ${end};
8072
8216
  `,
8073
- row && import_react49.css`
8217
+ row && import_react51.css`
8074
8218
  grid-row: ${row};
8075
8219
  `,
8076
- rowSpan && import_react49.css`
8220
+ rowSpan && import_react51.css`
8077
8221
  grid-row: span ${rowSpan};
8078
8222
  `,
8079
- area && import_react49.css`
8223
+ area && import_react51.css`
8080
8224
  grid-area: ${area};
8081
8225
  `
8082
8226
  ].filter(Boolean);
@@ -8085,9 +8229,9 @@ var Column = ({
8085
8229
  var Column_default = Column;
8086
8230
 
8087
8231
  // src/Grid/Grid.tsx
8088
- var import_react50 = require("@emotion/react");
8232
+ var import_react52 = require("@emotion/react");
8089
8233
  var import_jsx_runtime242 = require("@emotion/react/jsx-runtime");
8090
- var baseGridStyles = import_react50.css`
8234
+ var baseGridStyles = import_react52.css`
8091
8235
  display: grid;
8092
8236
  `;
8093
8237
  var Grid = ({
@@ -8112,16 +8256,16 @@ var Grid = ({
8112
8256
  columnGap && generateColumnGapStyles(columnGap),
8113
8257
  alignItems && generateAlignItems(alignItems),
8114
8258
  justifyItems && generateJustifyItems(justifyItems),
8115
- autoRows && import_react50.css`
8259
+ autoRows && import_react52.css`
8116
8260
  grid-auto-rows: ${autoRows};
8117
8261
  `,
8118
- autoColumns && import_react50.css`
8262
+ autoColumns && import_react52.css`
8119
8263
  grid-auto-columns: ${autoColumns};
8120
8264
  `,
8121
- templateAreas && import_react50.css`
8265
+ templateAreas && import_react52.css`
8122
8266
  grid-template-areas: ${typeof templateAreas === "string" ? templateAreas : templateAreas._};
8123
8267
  `,
8124
- justifyContent && import_react50.css`
8268
+ justifyContent && import_react52.css`
8125
8269
  justify-content: ${typeof justifyContent === "string" ? justifyContent : justifyContent._};
8126
8270
  `
8127
8271
  ].filter(Boolean);
@@ -8130,9 +8274,9 @@ var Grid = ({
8130
8274
  var Grid_default = Grid;
8131
8275
 
8132
8276
  // src/Grid/GridContainer.tsx
8133
- var import_react51 = require("@emotion/react");
8277
+ var import_react53 = require("@emotion/react");
8134
8278
  var import_jsx_runtime243 = require("@emotion/react/jsx-runtime");
8135
- var baseContainerStyles = import_react51.css`
8279
+ var baseContainerStyles = import_react53.css`
8136
8280
  width: 100%;
8137
8281
  margin: 0 auto;
8138
8282
  padding-left: 1rem;
@@ -8140,14 +8284,14 @@ var baseContainerStyles = import_react51.css`
8140
8284
  `;
8141
8285
  var generateMaxWidthStyles = (maxWidth) => {
8142
8286
  if (maxWidth === "full") {
8143
- return import_react51.css`
8287
+ return import_react53.css`
8144
8288
  max-width: 100%;
8145
8289
  padding-left: 0;
8146
8290
  padding-right: 0;
8147
8291
  `;
8148
8292
  }
8149
8293
  const width2 = LayoutTokens.containers[maxWidth] || maxWidth;
8150
- return import_react51.css`
8294
+ return import_react53.css`
8151
8295
  max-width: ${width2};
8152
8296
 
8153
8297
  ${media.sm} {
@@ -8181,8 +8325,8 @@ var GridContainer = ({
8181
8325
  var GridContainer_default = GridContainer;
8182
8326
 
8183
8327
  // src/HuntCard/HuntCard.styles.ts
8184
- var import_react52 = require("@emotion/react");
8185
- var cardContainerStyles2 = import_react52.css`
8328
+ var import_react54 = require("@emotion/react");
8329
+ var cardContainerStyles2 = import_react54.css`
8186
8330
  position: relative;
8187
8331
  height: 335px;
8188
8332
 
@@ -8190,12 +8334,12 @@ var cardContainerStyles2 = import_react52.css`
8190
8334
  height: 480px;
8191
8335
  }
8192
8336
  `;
8193
- var cardContentStyles2 = import_react52.css`
8337
+ var cardContentStyles2 = import_react54.css`
8194
8338
  position: relative;
8195
8339
  border-radius: var(--spacing-4);
8196
8340
  overflow: hidden;
8197
8341
  `;
8198
- var getBackgroundWithGradient2 = (imageUrl) => import_react52.css`
8342
+ var getBackgroundWithGradient2 = (imageUrl) => import_react54.css`
8199
8343
  background-image: linear-gradient(
8200
8344
  180deg,
8201
8345
  rgba(0, 0, 0, 0) 48.36%,
@@ -8245,15 +8389,15 @@ var HuntCard = ({
8245
8389
  var HuntCard_default = HuntCard;
8246
8390
 
8247
8391
  // src/ImageGalleryModal/ImageGalleryModal.tsx
8248
- var import_react56 = require("react");
8392
+ var import_react58 = require("react");
8249
8393
 
8250
8394
  // src/Modal/Modal.tsx
8251
- var import_react54 = require("react");
8395
+ var import_react56 = require("react");
8252
8396
  var import_react_dom4 = __toESM(require("react-dom"));
8253
8397
 
8254
8398
  // src/Modal/Modal.styles.ts
8255
- var import_react53 = require("@emotion/react");
8256
- var fadeIn2 = import_react53.keyframes`
8399
+ var import_react55 = require("@emotion/react");
8400
+ var fadeIn2 = import_react55.keyframes`
8257
8401
  from {
8258
8402
  opacity: 0;
8259
8403
  }
@@ -8261,7 +8405,7 @@ var fadeIn2 = import_react53.keyframes`
8261
8405
  opacity: 1;
8262
8406
  }
8263
8407
  `;
8264
- var fadeInScale2 = import_react53.keyframes`
8408
+ var fadeInScale2 = import_react55.keyframes`
8265
8409
  from {
8266
8410
  opacity: 0;
8267
8411
  transform: scale(0.95);
@@ -8271,7 +8415,7 @@ var fadeInScale2 = import_react53.keyframes`
8271
8415
  transform: scale(1);
8272
8416
  }
8273
8417
  `;
8274
- var scrollLayerStyles = import_react53.css`
8418
+ var scrollLayerStyles = import_react55.css`
8275
8419
  background-color: rgba(0, 0, 0, 0.6);
8276
8420
  backdrop-filter: blur(4px);
8277
8421
  animation: ${fadeIn2} 0.15s ease-out forwards;
@@ -8280,7 +8424,7 @@ var scrollLayerStyles = import_react53.css`
8280
8424
  animation: none;
8281
8425
  }
8282
8426
  `;
8283
- var containerStyles3 = import_react53.css`
8427
+ var containerStyles3 = import_react55.css`
8284
8428
  background-color: var(--surface-primary, #ffffff);
8285
8429
  border-radius: var(--radius-lg, 12px);
8286
8430
  max-height: calc(100dvh - var(--spacing-8));
@@ -8292,17 +8436,17 @@ var containerStyles3 = import_react53.css`
8292
8436
  }
8293
8437
  `;
8294
8438
  var sizeStyles3 = {
8295
- sm: import_react53.css`
8439
+ sm: import_react55.css`
8296
8440
  width: 100%;
8297
8441
  max-width: 24rem; /* 384px */
8298
8442
  padding: var(--spacing-5);
8299
8443
  `,
8300
- md: import_react53.css`
8444
+ md: import_react55.css`
8301
8445
  width: 100%;
8302
8446
  max-width: 32rem; /* 512px */
8303
8447
  padding: var(--spacing-6);
8304
8448
  `,
8305
- lg: import_react53.css`
8449
+ lg: import_react55.css`
8306
8450
  width: 100%;
8307
8451
  max-width: 48rem; /* 768px */
8308
8452
  padding: var(--spacing-6);
@@ -8311,7 +8455,7 @@ var sizeStyles3 = {
8311
8455
  padding: var(--spacing-8);
8312
8456
  }
8313
8457
  `,
8314
- xl: import_react53.css`
8458
+ xl: import_react55.css`
8315
8459
  width: 100%;
8316
8460
  max-width: 64rem; /* 1024px */
8317
8461
  padding: var(--spacing-6);
@@ -8320,7 +8464,7 @@ var sizeStyles3 = {
8320
8464
  padding: var(--spacing-8);
8321
8465
  }
8322
8466
  `,
8323
- full: import_react53.css`
8467
+ full: import_react55.css`
8324
8468
  width: calc(100vw - var(--spacing-8));
8325
8469
  height: calc(100dvh - var(--spacing-8));
8326
8470
  max-width: none;
@@ -8329,13 +8473,13 @@ var sizeStyles3 = {
8329
8473
  border-radius: var(--radius-md, 8px);
8330
8474
  `
8331
8475
  };
8332
- var closeButtonStyles2 = import_react53.css`
8476
+ var closeButtonStyles2 = import_react55.css`
8333
8477
  position: absolute;
8334
8478
  top: var(--spacing-4);
8335
8479
  right: var(--spacing-4);
8336
8480
  z-index: 1;
8337
8481
  `;
8338
- var closeButtonFullStyles = import_react53.css`
8482
+ var closeButtonFullStyles = import_react55.css`
8339
8483
  top: var(--spacing-3);
8340
8484
  right: var(--spacing-3);
8341
8485
  background-color: rgba(255, 255, 255, 0.9);
@@ -8367,10 +8511,10 @@ var Modal = ({
8367
8511
  ariaLabel,
8368
8512
  ariaDescribedBy
8369
8513
  }) => {
8370
- const containerRef = (0, import_react54.useRef)(null);
8371
- const previousScrollY = (0, import_react54.useRef)(0);
8372
- const previousActiveElement = (0, import_react54.useRef)(null);
8373
- const handleKeyDown = (0, import_react54.useCallback)(
8514
+ const containerRef = (0, import_react56.useRef)(null);
8515
+ const previousScrollY = (0, import_react56.useRef)(0);
8516
+ const previousActiveElement = (0, import_react56.useRef)(null);
8517
+ const handleKeyDown = (0, import_react56.useCallback)(
8374
8518
  (event) => {
8375
8519
  if (closeOnEscape && event.key === "Escape" && onClose) {
8376
8520
  onClose(event);
@@ -8378,7 +8522,7 @@ var Modal = ({
8378
8522
  },
8379
8523
  [closeOnEscape, onClose]
8380
8524
  );
8381
- (0, import_react54.useEffect)(() => {
8525
+ (0, import_react56.useEffect)(() => {
8382
8526
  if (isOpen) {
8383
8527
  previousScrollY.current = window.scrollY;
8384
8528
  previousActiveElement.current = document.activeElement;
@@ -8408,7 +8552,7 @@ var Modal = ({
8408
8552
  document.body.style.top = "";
8409
8553
  };
8410
8554
  }, [isOpen, handleKeyDown]);
8411
- const handleClose = (0, import_react54.useCallback)(
8555
+ const handleClose = (0, import_react56.useCallback)(
8412
8556
  (event) => {
8413
8557
  if (onClose) {
8414
8558
  onClose(event);
@@ -8416,7 +8560,7 @@ var Modal = ({
8416
8560
  },
8417
8561
  [onClose]
8418
8562
  );
8419
- const handleBackdropClick = (0, import_react54.useCallback)(
8563
+ const handleBackdropClick = (0, import_react56.useCallback)(
8420
8564
  (event) => {
8421
8565
  if (!closeOnOutsideClick || !containerRef.current || containerRef.current.contains(event.target)) {
8422
8566
  return;
@@ -8524,11 +8668,11 @@ Modal.displayName = "Modal";
8524
8668
  var Modal_default = Modal;
8525
8669
 
8526
8670
  // src/ImageGalleryModal/ImageGalleryModal.styles.ts
8527
- var import_react55 = require("@emotion/react");
8528
- var galleryBackgroundStyles = import_react55.css`
8671
+ var import_react57 = require("@emotion/react");
8672
+ var galleryBackgroundStyles = import_react57.css`
8529
8673
  background-color: var(--color-base-black, #000000);
8530
8674
  `;
8531
- var imageStyles2 = import_react55.css`
8675
+ var imageStyles2 = import_react57.css`
8532
8676
  max-width: 100%;
8533
8677
  max-height: 100%;
8534
8678
  width: auto;
@@ -8540,14 +8684,14 @@ var imageStyles2 = import_react55.css`
8540
8684
  max-height: calc(100vh - var(--spacing-32));
8541
8685
  }
8542
8686
  `;
8543
- var counterStyles = import_react55.css`
8687
+ var counterStyles = import_react57.css`
8544
8688
  transform: translateX(-50%);
8545
8689
  color: var(--color-base-white, #ffffff);
8546
8690
  background-color: rgba(0, 0, 0, 0.5);
8547
8691
  padding: var(--spacing-2) var(--spacing-4);
8548
8692
  border-radius: var(--radius-full, 9999px);
8549
8693
  `;
8550
- var captionStyles = import_react55.css`
8694
+ var captionStyles = import_react57.css`
8551
8695
  transform: translateX(-50%);
8552
8696
  color: var(--color-base-white, #ffffff);
8553
8697
  text-align: center;
@@ -8556,7 +8700,7 @@ var captionStyles = import_react55.css`
8556
8700
  border-radius: var(--radius-md, 8px);
8557
8701
  max-width: 80%;
8558
8702
  `;
8559
- var navigationButtonStyles = import_react55.css`
8703
+ var navigationButtonStyles = import_react57.css`
8560
8704
  position: absolute;
8561
8705
  top: 50%;
8562
8706
  transform: translateY(-50%);
@@ -8587,18 +8731,18 @@ var navigationButtonStyles = import_react55.css`
8587
8731
  outline-offset: 2px;
8588
8732
  }
8589
8733
  `;
8590
- var prevButtonStyles = import_react55.css`
8734
+ var prevButtonStyles = import_react57.css`
8591
8735
  ${navigationButtonStyles}
8592
8736
  left: var(--spacing-4);
8593
8737
  `;
8594
- var nextButtonStyles = import_react55.css`
8738
+ var nextButtonStyles = import_react57.css`
8595
8739
  ${navigationButtonStyles}
8596
8740
  right: var(--spacing-4);
8597
8741
  `;
8598
- var dotsContainerPositionStyles = import_react55.css`
8742
+ var dotsContainerPositionStyles = import_react57.css`
8599
8743
  transform: translateX(-50%);
8600
8744
  `;
8601
- var dotStyles = import_react55.css`
8745
+ var dotStyles = import_react57.css`
8602
8746
  width: var(--spacing-2);
8603
8747
  height: var(--spacing-2);
8604
8748
  border-radius: var(--radius-round, 50%);
@@ -8613,11 +8757,11 @@ var dotStyles = import_react55.css`
8613
8757
  transform: scale(1.2);
8614
8758
  }
8615
8759
  `;
8616
- var dotActiveStyles = import_react55.css`
8760
+ var dotActiveStyles = import_react57.css`
8617
8761
  background-color: var(--color-base-white, #ffffff);
8618
8762
  transform: scale(1.2);
8619
8763
  `;
8620
- var closeButtonOverrideStyles = import_react55.css`
8764
+ var closeButtonOverrideStyles = import_react57.css`
8621
8765
  top: var(--spacing-4);
8622
8766
  right: var(--spacing-4);
8623
8767
  z-index: 20;
@@ -8629,17 +8773,17 @@ var closeButtonOverrideStyles = import_react55.css`
8629
8773
  background-color: var(--color-base-white, #ffffff);
8630
8774
  }
8631
8775
  `;
8632
- var scrollLayerOverrideStyles = import_react55.css`
8776
+ var scrollLayerOverrideStyles = import_react57.css`
8633
8777
  padding: 0;
8634
8778
  background-color: rgba(0, 0, 0, 0.95);
8635
8779
  `;
8636
- var containerOverrideStyles = import_react55.css`
8780
+ var containerOverrideStyles = import_react57.css`
8637
8781
  background-color: transparent;
8638
8782
  box-shadow: none;
8639
8783
  border-radius: 0;
8640
8784
  max-height: 100dvh;
8641
8785
  `;
8642
- var contentOverrideStyles = import_react55.css`
8786
+ var contentOverrideStyles = import_react57.css`
8643
8787
  height: 100%;
8644
8788
  padding: 0;
8645
8789
  `;
@@ -8658,30 +8802,30 @@ var ImageGalleryModal = ({
8658
8802
  className,
8659
8803
  ariaLabel = "Image gallery"
8660
8804
  }) => {
8661
- const [currentIndex, setCurrentIndex] = (0, import_react56.useState)(initialIndex);
8662
- (0, import_react56.useEffect)(() => {
8805
+ const [currentIndex, setCurrentIndex] = (0, import_react58.useState)(initialIndex);
8806
+ (0, import_react58.useEffect)(() => {
8663
8807
  if (isOpen) {
8664
8808
  setCurrentIndex(initialIndex);
8665
8809
  }
8666
8810
  }, [isOpen, initialIndex]);
8667
- const handlePrev = (0, import_react56.useCallback)(
8811
+ const handlePrev = (0, import_react58.useCallback)(
8668
8812
  (e) => {
8669
8813
  e == null ? void 0 : e.stopPropagation();
8670
8814
  setCurrentIndex((prev) => prev > 0 ? prev - 1 : images.length - 1);
8671
8815
  },
8672
8816
  [images.length]
8673
8817
  );
8674
- const handleNext = (0, import_react56.useCallback)(
8818
+ const handleNext = (0, import_react58.useCallback)(
8675
8819
  (e) => {
8676
8820
  e == null ? void 0 : e.stopPropagation();
8677
8821
  setCurrentIndex((prev) => prev < images.length - 1 ? prev + 1 : 0);
8678
8822
  },
8679
8823
  [images.length]
8680
8824
  );
8681
- const handleGoTo = (0, import_react56.useCallback)((index) => {
8825
+ const handleGoTo = (0, import_react58.useCallback)((index) => {
8682
8826
  setCurrentIndex(index);
8683
8827
  }, []);
8684
- (0, import_react56.useEffect)(() => {
8828
+ (0, import_react58.useEffect)(() => {
8685
8829
  if (!isOpen)
8686
8830
  return;
8687
8831
  const handleKeyDown = (e) => {
@@ -8877,11 +9021,11 @@ var InfoBox = ({ heading, features, className }) => {
8877
9021
  var InfoBox_default = InfoBox;
8878
9022
 
8879
9023
  // src/LandownerProfile/LandownerProfile.tsx
8880
- var import_react60 = require("react");
9024
+ var import_react62 = require("react");
8881
9025
 
8882
9026
  // src/ProgressBar/ProgressBar.styles.ts
8883
- var import_react57 = require("@emotion/react");
8884
- var progressStyles = import_react57.css`
9027
+ var import_react59 = require("@emotion/react");
9028
+ var progressStyles = import_react59.css`
8885
9029
  transition: width 0.3s ease-in-out;
8886
9030
  `;
8887
9031
 
@@ -8925,11 +9069,11 @@ ProgressBar.displayName = "ProgressBar";
8925
9069
  var ProgressBar_default = ProgressBar;
8926
9070
 
8927
9071
  // src/Timer/Timer.tsx
8928
- var import_react59 = require("react");
9072
+ var import_react61 = require("react");
8929
9073
 
8930
9074
  // src/Timer/Timer.styles.ts
8931
- var import_react58 = require("@emotion/react");
8932
- var rootStyles2 = import_react58.css`
9075
+ var import_react60 = require("@emotion/react");
9076
+ var rootStyles2 = import_react60.css`
8933
9077
  display: inline-flex;
8934
9078
  font-variant-numeric: tabular-nums;
8935
9079
  `;
@@ -8963,10 +9107,10 @@ var Timer = ({
8963
9107
  fontWeight = "bold",
8964
9108
  showSeconds = false
8965
9109
  }) => {
8966
- const [timeLeft, setTimeLeft] = (0, import_react59.useState)(
9110
+ const [timeLeft, setTimeLeft] = (0, import_react61.useState)(
8967
9111
  () => calculateTimeLeft(expirationTimestamp)
8968
9112
  );
8969
- const updateTime = (0, import_react59.useCallback)(() => {
9113
+ const updateTime = (0, import_react61.useCallback)(() => {
8970
9114
  const newTimeLeft = calculateTimeLeft(expirationTimestamp);
8971
9115
  setTimeLeft(newTimeLeft);
8972
9116
  if (newTimeLeft) {
@@ -8976,7 +9120,7 @@ var Timer = ({
8976
9120
  }
8977
9121
  return newTimeLeft;
8978
9122
  }, [expirationTimestamp, onTimeUpdate, onExpire]);
8979
- (0, import_react59.useEffect)(() => {
9123
+ (0, import_react61.useEffect)(() => {
8980
9124
  const initialTime = updateTime();
8981
9125
  if (!initialTime)
8982
9126
  return;
@@ -9223,7 +9367,7 @@ var LandownerProfile = ({
9223
9367
  const progressPercentage = (totalDuration - timeLeft.totalSeconds) / totalDuration * 100;
9224
9368
  return Math.min(100, Math.max(0, progressPercentage));
9225
9369
  };
9226
- const [progress, setProgress] = (0, import_react60.useState)(0);
9370
+ const [progress, setProgress] = (0, import_react62.useState)(0);
9227
9371
  const handleTimeUpdate = (timeLeft) => {
9228
9372
  setProgress(calculateProgress(timeLeft));
9229
9373
  onEarlyAccessTimeUpdate == null ? void 0 : onEarlyAccessTimeUpdate(timeLeft);
@@ -9333,11 +9477,11 @@ var LandownerProfile = ({
9333
9477
  var LandownerProfile_default = LandownerProfile;
9334
9478
 
9335
9479
  // src/ListingChat/ListingChat.tsx
9336
- var import_react62 = require("react");
9480
+ var import_react64 = require("react");
9337
9481
 
9338
9482
  // src/ListingChat/ListingChat.styles.ts
9339
- var import_react61 = require("@emotion/react");
9340
- var containerStyles4 = import_react61.css`
9483
+ var import_react63 = require("@emotion/react");
9484
+ var containerStyles4 = import_react63.css`
9341
9485
  display: flex;
9342
9486
  flex-direction: column;
9343
9487
  gap: var(--spacing-4);
@@ -9345,12 +9489,12 @@ var containerStyles4 = import_react61.css`
9345
9489
  border-radius: var(--radius-lg);
9346
9490
  background: var(--surface-success);
9347
9491
  `;
9348
- var headerStyles = import_react61.css`
9492
+ var headerStyles = import_react63.css`
9349
9493
  display: flex;
9350
9494
  flex-direction: column;
9351
9495
  gap: var(--spacing-2);
9352
9496
  `;
9353
- var chipsContainerStyles = import_react61.css`
9497
+ var chipsContainerStyles = import_react63.css`
9354
9498
  display: flex;
9355
9499
  flex-wrap: wrap;
9356
9500
  gap: var(--spacing-4);
@@ -9363,10 +9507,10 @@ var chipsContainerStyles = import_react61.css`
9363
9507
  cursor: pointer;
9364
9508
  }
9365
9509
  `;
9366
- var textAreaStyles = import_react61.css`
9510
+ var textAreaStyles = import_react63.css`
9367
9511
  min-height: 62px;
9368
9512
  `;
9369
- var inputWrapperStyles2 = import_react61.css`
9513
+ var inputWrapperStyles2 = import_react63.css`
9370
9514
  position: relative;
9371
9515
  `;
9372
9516
 
@@ -9381,15 +9525,15 @@ var ListingChat = ({
9381
9525
  disabled = false,
9382
9526
  ...rest
9383
9527
  }) => {
9384
- const [value, setValue] = (0, import_react62.useState)("");
9385
- const handleSubmit = (0, import_react62.useCallback)(() => {
9528
+ const [value, setValue] = (0, import_react64.useState)("");
9529
+ const handleSubmit = (0, import_react64.useCallback)(() => {
9386
9530
  const trimmed = value.trim();
9387
9531
  if (!trimmed)
9388
9532
  return;
9389
9533
  onSubmit(trimmed);
9390
9534
  setValue("");
9391
9535
  }, [onSubmit, value]);
9392
- const handleTagClick = (0, import_react62.useCallback)(
9536
+ const handleTagClick = (0, import_react64.useCallback)(
9393
9537
  (tag) => () => {
9394
9538
  const trimmed = tag.trim();
9395
9539
  if (!trimmed)
@@ -9441,7 +9585,7 @@ var ListingChat = ({
9441
9585
  var ListingChat_default = ListingChat;
9442
9586
 
9443
9587
  // src/Logo/Logo.tsx
9444
- var import_react63 = require("@emotion/react");
9588
+ var import_react65 = require("@emotion/react");
9445
9589
 
9446
9590
  // src/Logo/components/LandtrustPlusDark.tsx
9447
9591
  var import_jsx_runtime255 = require("@emotion/react/jsx-runtime");
@@ -9663,7 +9807,7 @@ var LandtrustStandardLight_default = SvgLandtrustStandardLight;
9663
9807
 
9664
9808
  // src/Logo/Logo.tsx
9665
9809
  var import_jsx_runtime259 = require("@emotion/react/jsx-runtime");
9666
- var logoStyles = (size) => import_react63.css`
9810
+ var logoStyles = (size) => import_react65.css`
9667
9811
  width: ${space[size]};
9668
9812
  height: auto;
9669
9813
  display: block;
@@ -9696,13 +9840,13 @@ var Logo = ({
9696
9840
  var Logo_default = Logo;
9697
9841
 
9698
9842
  // src/Navigation/Navigation.styles.ts
9699
- var import_react64 = require("@emotion/react");
9700
- var navigationStyles = import_react64.css`
9843
+ var import_react66 = require("@emotion/react");
9844
+ var navigationStyles = import_react66.css`
9701
9845
  width: 100%;
9702
9846
  background-color: white;
9703
9847
  border-bottom: 1px solid #e5e5e5;
9704
9848
  `;
9705
- var hamburgerButtonStyles = import_react64.css`
9849
+ var hamburgerButtonStyles = import_react66.css`
9706
9850
  cursor: pointer;
9707
9851
  &:focus {
9708
9852
  outline: 2px solid #4f46e5;
@@ -9713,7 +9857,7 @@ var hamburgerButtonStyles = import_react64.css`
9713
9857
  display: none;
9714
9858
  }
9715
9859
  `;
9716
- var centeredLogoStyles = import_react64.css`
9860
+ var centeredLogoStyles = import_react66.css`
9717
9861
  transform: translate(-50%, -50%);
9718
9862
  max-width: 150px;
9719
9863
 
@@ -9721,27 +9865,27 @@ var centeredLogoStyles = import_react64.css`
9721
9865
  display: none;
9722
9866
  }
9723
9867
  `;
9724
- var desktopLogoStyles = import_react64.css`
9868
+ var desktopLogoStyles = import_react66.css`
9725
9869
  display: none;
9726
9870
 
9727
9871
  @media (min-width: 768px) {
9728
9872
  display: block;
9729
9873
  }
9730
9874
  `;
9731
- var containerStyles5 = import_react64.css`
9875
+ var containerStyles5 = import_react66.css`
9732
9876
  @media (min-width: 768px) {
9733
9877
  justify-content: space-between;
9734
9878
  position: static;
9735
9879
  }
9736
9880
  `;
9737
- var logoStyles2 = import_react64.css`
9881
+ var logoStyles2 = import_react66.css`
9738
9882
  width: 100%;
9739
9883
 
9740
9884
  @media (min-width: 768px) {
9741
9885
  width: initial;
9742
9886
  }
9743
9887
  `;
9744
- var desktopNavStyles = import_react64.css`
9888
+ var desktopNavStyles = import_react66.css`
9745
9889
  display: none;
9746
9890
 
9747
9891
  @media (min-width: 768px) {
@@ -9750,7 +9894,7 @@ var desktopNavStyles = import_react64.css`
9750
9894
  gap: 32px;
9751
9895
  }
9752
9896
  `;
9753
- var navLinksStyles = import_react64.css`
9897
+ var navLinksStyles = import_react66.css`
9754
9898
  display: flex;
9755
9899
  align-items: center;
9756
9900
  gap: 24px;
@@ -9758,7 +9902,7 @@ var navLinksStyles = import_react64.css`
9758
9902
  margin: 0;
9759
9903
  padding: 0;
9760
9904
  `;
9761
- var navLinkStyles = import_react64.css`
9905
+ var navLinkStyles = import_react66.css`
9762
9906
  text-decoration: none;
9763
9907
  color: #374151;
9764
9908
  font-weight: 500;
@@ -9774,7 +9918,7 @@ var navLinkStyles = import_react64.css`
9774
9918
  outline-offset: 2px;
9775
9919
  }
9776
9920
  `;
9777
- var avatarPlaceholderStyles = import_react64.css`
9921
+ var avatarPlaceholderStyles = import_react66.css`
9778
9922
  width: 32px;
9779
9923
  height: 32px;
9780
9924
  border-radius: 50%;
@@ -9879,21 +10023,21 @@ var Navigation_default = Navigation;
9879
10023
  var import_react_loading_skeleton2 = __toESM(require("react-loading-skeleton"));
9880
10024
 
9881
10025
  // src/ScrollingCarousel/components/ScrollingCarouselStep.tsx
9882
- var import_react67 = require("react");
10026
+ var import_react69 = require("react");
9883
10027
  var import_react_intersection_observer = require("react-intersection-observer");
9884
10028
 
9885
10029
  // src/ScrollingCarousel/context/CarouselContext.tsx
9886
- var import_react65 = __toESM(require("react"));
9887
- var CarouselContext = import_react65.default.createContext(
10030
+ var import_react67 = __toESM(require("react"));
10031
+ var CarouselContext = import_react67.default.createContext(
9888
10032
  null
9889
10033
  );
9890
10034
 
9891
10035
  // src/ScrollingCarousel/ScrollingCarousel.styles.ts
9892
- var import_react66 = require("@emotion/react");
9893
- var carouselRoot = import_react66.css`
10036
+ var import_react68 = require("@emotion/react");
10037
+ var carouselRoot = import_react68.css`
9894
10038
  position: relative;
9895
10039
  `;
9896
- var carousel = (gap2) => import_react66.css`
10040
+ var carousel = (gap2) => import_react68.css`
9897
10041
  display: flex;
9898
10042
  overflow-y: hidden;
9899
10043
  overflow-x: scroll;
@@ -9906,7 +10050,7 @@ var carousel = (gap2) => import_react66.css`
9906
10050
  display: none;
9907
10051
  }
9908
10052
  `;
9909
- var step = (itemWidth) => import_react66.css`
10053
+ var step = (itemWidth) => import_react68.css`
9910
10054
  scroll-snap-align: center;
9911
10055
  flex-basis: ${itemWidth || "100%"};
9912
10056
  flex-shrink: 0;
@@ -9916,7 +10060,7 @@ var step = (itemWidth) => import_react66.css`
9916
10060
  flex-basis: ${itemWidth || "100%"};
9917
10061
  }
9918
10062
  `;
9919
- var controls = (position2) => import_react66.css`
10063
+ var controls = (position2) => import_react68.css`
9920
10064
  ${(position2 === "left-right" || position2 === "top-right") && `
9921
10065
  display: none;
9922
10066
 
@@ -9925,7 +10069,7 @@ var controls = (position2) => import_react66.css`
9925
10069
  }
9926
10070
  `}
9927
10071
  `;
9928
- var iconWrapper = import_react66.css`
10072
+ var iconWrapper = import_react68.css`
9929
10073
  display: flex;
9930
10074
  width: var(--spacing-7);
9931
10075
  height: var(--spacing-7);
@@ -9935,7 +10079,7 @@ var iconWrapper = import_react66.css`
9935
10079
  justify-content: center;
9936
10080
  box-shadow: var(--shadow-md);
9937
10081
  `;
9938
- var button = (position2) => import_react66.css`
10082
+ var button = (position2) => import_react68.css`
9939
10083
  background: transparent;
9940
10084
  border-color: transparent;
9941
10085
  outline: none;
@@ -9967,7 +10111,7 @@ var button = (position2) => import_react66.css`
9967
10111
  bottom: calc(-1 * var(--spacing-1));
9968
10112
  `}
9969
10113
  `;
9970
- var buttonLeft = (position2) => import_react66.css`
10114
+ var buttonLeft = (position2) => import_react68.css`
9971
10115
  ${button(position2)}
9972
10116
 
9973
10117
  ${position2 === "left-right" && `
@@ -9987,7 +10131,7 @@ var buttonLeft = (position2) => import_react66.css`
9987
10131
  left: calc(50% - var(--spacing-16));
9988
10132
  `}
9989
10133
  `;
9990
- var customButtonLeft = (position2) => import_react66.css`
10134
+ var customButtonLeft = (position2) => import_react68.css`
9991
10135
  ${button(position2)}
9992
10136
 
9993
10137
  ${position2 === "left-right" && `
@@ -10007,7 +10151,7 @@ var customButtonLeft = (position2) => import_react66.css`
10007
10151
  left: calc(50% - var(--spacing-16));
10008
10152
  `}
10009
10153
  `;
10010
- var buttonRight = (position2) => import_react66.css`
10154
+ var buttonRight = (position2) => import_react68.css`
10011
10155
  ${button(position2)}
10012
10156
 
10013
10157
  ${position2 === "left-right" && `
@@ -10027,12 +10171,12 @@ var buttonRight = (position2) => import_react66.css`
10027
10171
  right: calc(50% - var(--spacing-16));
10028
10172
  `}
10029
10173
  `;
10030
- var icon = import_react66.css`
10174
+ var icon = import_react68.css`
10031
10175
  width: var(--spacing-3);
10032
10176
  height: var(--spacing-3);
10033
10177
  color: var(--color-base-black);
10034
10178
  `;
10035
- var dots = import_react66.css`
10179
+ var dots = import_react68.css`
10036
10180
  position: absolute;
10037
10181
  bottom: var(--spacing-2);
10038
10182
  left: 0;
@@ -10042,11 +10186,11 @@ var dots = import_react66.css`
10042
10186
  align-items: center;
10043
10187
  justify-content: center;
10044
10188
  `;
10045
- var dotsInner = import_react66.css`
10189
+ var dotsInner = import_react68.css`
10046
10190
  display: flex;
10047
10191
  overflow: hidden;
10048
10192
  `;
10049
- var dot = (dotsColor) => import_react66.css`
10193
+ var dot = (dotsColor) => import_react68.css`
10050
10194
  position: relative;
10051
10195
  flex-shrink: 0;
10052
10196
  flex-grow: 0;
@@ -10085,22 +10229,22 @@ var dot = (dotsColor) => import_react66.css`
10085
10229
  `}
10086
10230
  }
10087
10231
  `;
10088
- var dotDistance2 = import_react66.css`
10232
+ var dotDistance2 = import_react68.css`
10089
10233
  &::after {
10090
10234
  transform: translate(-50%, -50%) scale(0.9);
10091
10235
  }
10092
10236
  `;
10093
- var dotDistance3 = import_react66.css`
10237
+ var dotDistance3 = import_react68.css`
10094
10238
  &::after {
10095
10239
  transform: translate(-50%, -50%) scale(0.8);
10096
10240
  }
10097
10241
  `;
10098
- var dotDistanceGreaterThan3 = import_react66.css`
10242
+ var dotDistanceGreaterThan3 = import_react68.css`
10099
10243
  &::after {
10100
10244
  transform: translate(-50%, -50%) scale(0.7);
10101
10245
  }
10102
10246
  `;
10103
- var dotVisible = import_react66.css`
10247
+ var dotVisible = import_react68.css`
10104
10248
  &::after {
10105
10249
  opacity: 1;
10106
10250
  transform: translate(-50%, -50%) scale(1.2);
@@ -10117,7 +10261,7 @@ var ScrollingCarouselStep = ({
10117
10261
  onClick,
10118
10262
  itemWidth
10119
10263
  }) => {
10120
- const context = (0, import_react67.useContext)(CarouselContext);
10264
+ const context = (0, import_react69.useContext)(CarouselContext);
10121
10265
  if (!context) {
10122
10266
  throw new Error(
10123
10267
  "ScrollingCarouselStep must be used within ScrollingCarousel"
@@ -10128,7 +10272,7 @@ var ScrollingCarouselStep = ({
10128
10272
  threshold: 0.75,
10129
10273
  root: carousel2.current
10130
10274
  });
10131
- (0, import_react67.useEffect)(() => {
10275
+ (0, import_react69.useEffect)(() => {
10132
10276
  if (typeof index !== "undefined") {
10133
10277
  dispatch({
10134
10278
  type: "set_child_visibility",
@@ -10154,10 +10298,10 @@ var ScrollingCarouselStep = ({
10154
10298
  ScrollingCarouselStep.displayName = "ScrollingCarouselStep";
10155
10299
 
10156
10300
  // src/ScrollingCarousel/ScrollingCarousel.tsx
10157
- var import_react71 = __toESM(require("react"));
10301
+ var import_react73 = __toESM(require("react"));
10158
10302
 
10159
10303
  // src/ScrollingCarousel/hooks/useCarouselDots.ts
10160
- var import_react68 = require("react");
10304
+ var import_react70 = require("react");
10161
10305
 
10162
10306
  // src/ScrollingCarousel/ScrollingCarousel.helpers.ts
10163
10307
  var childVisibilityReducer = (state, action) => {
@@ -10188,7 +10332,7 @@ var useCarouselDots = ({
10188
10332
  anyItemsVisible,
10189
10333
  numberOfDots
10190
10334
  }) => {
10191
- const dotOffset = (0, import_react68.useRef)(0);
10335
+ const dotOffset = (0, import_react70.useRef)(0);
10192
10336
  const dotWidth = 12;
10193
10337
  const totalDots = childVisibility.length;
10194
10338
  const dotToCenterIndex = Math.round(
@@ -10220,7 +10364,7 @@ var useCarouselDots = ({
10220
10364
  };
10221
10365
 
10222
10366
  // src/ScrollingCarousel/hooks/useCarouselNavigation.ts
10223
- var import_react69 = require("react");
10367
+ var import_react71 = require("react");
10224
10368
 
10225
10369
  // src/shared/helpers.ts
10226
10370
  var import_seamless_scroll_polyfill = require("seamless-scroll-polyfill");
@@ -10254,7 +10398,7 @@ var useCarouselNavigation = ({
10254
10398
  infiniteScroll,
10255
10399
  childVisibilityLength
10256
10400
  }) => {
10257
- const getStepEl = (0, import_react69.useCallback)(
10401
+ const getStepEl = (0, import_react71.useCallback)(
10258
10402
  (index) => {
10259
10403
  if (carousel2.current) {
10260
10404
  const selector = `[data-carousel-id="${id}"][data-carousel-index="${index}"]`;
@@ -10264,7 +10408,7 @@ var useCarouselNavigation = ({
10264
10408
  },
10265
10409
  [carousel2, id]
10266
10410
  );
10267
- const next = (0, import_react69.useCallback)(
10411
+ const next = (0, import_react71.useCallback)(
10268
10412
  (e) => {
10269
10413
  e.preventDefault();
10270
10414
  if (lastItemIsVisible && !infiniteScroll)
@@ -10292,7 +10436,7 @@ var useCarouselNavigation = ({
10292
10436
  carousel2
10293
10437
  ]
10294
10438
  );
10295
- const back = (0, import_react69.useCallback)(
10439
+ const back = (0, import_react71.useCallback)(
10296
10440
  (e) => {
10297
10441
  e.preventDefault();
10298
10442
  if (firstItemIsVisible && !infiniteScroll)
@@ -10320,7 +10464,7 @@ var useCarouselNavigation = ({
10320
10464
  carousel2
10321
10465
  ]
10322
10466
  );
10323
- const goTo = (0, import_react69.useCallback)(
10467
+ const goTo = (0, import_react71.useCallback)(
10324
10468
  (e, i) => {
10325
10469
  e.preventDefault();
10326
10470
  const el = getStepEl(i);
@@ -10338,12 +10482,12 @@ var useCarouselNavigation = ({
10338
10482
  };
10339
10483
 
10340
10484
  // src/ScrollingCarousel/hooks/useCarouselVisibility.ts
10341
- var import_react70 = require("react");
10485
+ var import_react72 = require("react");
10342
10486
  var useCarouselVisibility = (carousel2) => {
10343
- const [state, dispatch] = (0, import_react70.useReducer)(childVisibilityReducer, {
10487
+ const [state, dispatch] = (0, import_react72.useReducer)(childVisibilityReducer, {
10344
10488
  childVisibility: []
10345
10489
  });
10346
- const carouselContextApi = (0, import_react70.useMemo)(
10490
+ const carouselContextApi = (0, import_react72.useMemo)(
10347
10491
  () => ({ carousel: carousel2, dispatch }),
10348
10492
  [carousel2]
10349
10493
  );
@@ -10383,8 +10527,8 @@ var ScrollingCarousel = ({
10383
10527
  itemWidth,
10384
10528
  gap: gap2
10385
10529
  }) => {
10386
- const carousel2 = (0, import_react71.useRef)(null);
10387
- const [isHovering, setIsHovering] = (0, import_react71.useState)(false);
10530
+ const carousel2 = (0, import_react73.useRef)(null);
10531
+ const [isHovering, setIsHovering] = (0, import_react73.useState)(false);
10388
10532
  const {
10389
10533
  state,
10390
10534
  carouselContextApi,
@@ -10404,7 +10548,7 @@ var ScrollingCarousel = ({
10404
10548
  infiniteScroll,
10405
10549
  childVisibilityLength: state.childVisibility.length
10406
10550
  });
10407
- (0, import_react71.useEffect)(() => {
10551
+ (0, import_react73.useEffect)(() => {
10408
10552
  if (carousel2.current && typeof current === "number" && current >= 0) {
10409
10553
  const childrenArray = Array.from(carousel2.current.children);
10410
10554
  const selectedItem = childrenArray[current];
@@ -10419,9 +10563,9 @@ var ScrollingCarousel = ({
10419
10563
  }
10420
10564
  }
10421
10565
  }, [current]);
10422
- const childrenWithIndex = import_react71.default.Children.map(
10566
+ const childrenWithIndex = import_react73.default.Children.map(
10423
10567
  children,
10424
- (child, index) => import_react71.default.cloneElement(child, { index, itemWidth })
10568
+ (child, index) => import_react73.default.cloneElement(child, { index, itemWidth })
10425
10569
  );
10426
10570
  const { dotOffset, dotDistances, dotWidth } = useCarouselDots({
10427
10571
  childVisibility: state.childVisibility,
@@ -10523,8 +10667,8 @@ var ScrollingCarousel = ({
10523
10667
  ScrollingCarousel.displayName = "ScrollingCarousel";
10524
10668
 
10525
10669
  // src/PackageCard/PackageCard.styles.ts
10526
- var import_react72 = require("@emotion/react");
10527
- var cardContainerStyles3 = (orientation, hasContentBackground, hasClickHandler) => import_react72.css`
10670
+ var import_react74 = require("@emotion/react");
10671
+ var cardContainerStyles3 = (orientation, hasContentBackground, hasClickHandler) => import_react74.css`
10528
10672
  ${hasClickHandler && `
10529
10673
  cursor: pointer;
10530
10674
  `}
@@ -10542,7 +10686,7 @@ var cardContainerStyles3 = (orientation, hasContentBackground, hasClickHandler)
10542
10686
  flex-direction: column;
10543
10687
  gap: var(--spacing-2);
10544
10688
 
10545
- ${orientation === "horizontal" && import_react72.css`
10689
+ ${orientation === "horizontal" && import_react74.css`
10546
10690
  /* Apply horizontal layout only on tablet and up */
10547
10691
  ${media.md} {
10548
10692
  flex-direction: row;
@@ -10570,58 +10714,58 @@ var cardContainerStyles3 = (orientation, hasContentBackground, hasClickHandler)
10570
10714
  }
10571
10715
  `}
10572
10716
  `;
10573
- var imageContainerStyles = (orientation) => import_react72.css`
10717
+ var imageContainerStyles = (orientation) => import_react74.css`
10574
10718
  width: 100%;
10575
10719
  height: 260px;
10576
10720
 
10577
- ${orientation === "horizontal" && import_react72.css`
10721
+ ${orientation === "horizontal" && import_react74.css`
10578
10722
  ${media.md} {
10579
10723
  width: 40%;
10580
10724
  height: 200px;
10581
10725
  `}
10582
10726
  `;
10583
- var imageBoxStyles = (orientation) => import_react72.css`
10727
+ var imageBoxStyles = (orientation) => import_react74.css`
10584
10728
  height: 260px;
10585
- ${orientation === "horizontal" && import_react72.css`
10729
+ ${orientation === "horizontal" && import_react74.css`
10586
10730
  ${media.md} {
10587
10731
  height: 200px;
10588
10732
  }
10589
10733
  `}
10590
10734
  `;
10591
- var contentContainerStyles = (orientation, hasContentBackground) => import_react72.css`
10735
+ var contentContainerStyles = (orientation, hasContentBackground) => import_react74.css`
10592
10736
  ${hasContentBackground ? contentWithBackgroundStyles : contentWithoutBackgroundStyles}
10593
10737
  width: 100%;
10594
10738
  display: flex;
10595
10739
  flex-direction: column;
10596
10740
  justify-content: flex-start;
10597
10741
 
10598
- ${orientation === "horizontal" && import_react72.css`
10742
+ ${orientation === "horizontal" && import_react74.css`
10599
10743
  ${media.md} {
10600
10744
  width: 60%;
10601
10745
  justify-content: center;
10602
10746
  }
10603
10747
  `}
10604
10748
  `;
10605
- var imageStyles3 = import_react72.css`
10749
+ var imageStyles3 = import_react74.css`
10606
10750
  background-size: cover;
10607
10751
  background-position: center;
10608
10752
  background-repeat: no-repeat;
10609
10753
  position: relative;
10610
10754
  background-color: lightgray;
10611
10755
  `;
10612
- var badgeTopLeftStyles = import_react72.css`
10756
+ var badgeTopLeftStyles = import_react74.css`
10613
10757
  position: absolute;
10614
10758
  top: var(--spacing-3);
10615
10759
  left: var(--spacing-3);
10616
10760
  z-index: 2;
10617
10761
  `;
10618
- var badgeBottomRightStyles = import_react72.css`
10762
+ var badgeBottomRightStyles = import_react74.css`
10619
10763
  position: absolute;
10620
10764
  bottom: var(--spacing-3);
10621
10765
  right: var(--spacing-3);
10622
10766
  z-index: 2;
10623
10767
  `;
10624
- var heartIconStyles = import_react72.css`
10768
+ var heartIconStyles = import_react74.css`
10625
10769
  position: absolute;
10626
10770
  top: var(--spacing-3);
10627
10771
  right: var(--spacing-3);
@@ -10643,20 +10787,20 @@ var heartIconStyles = import_react72.css`
10643
10787
  transform: scale(1.1);
10644
10788
  }
10645
10789
  `;
10646
- var actionMenuStyles = import_react72.css`
10790
+ var actionMenuStyles = import_react74.css`
10647
10791
  position: absolute;
10648
10792
  top: var(--spacing-3);
10649
10793
  right: var(--spacing-3);
10650
10794
  z-index: 3;
10651
10795
  `;
10652
- var contentWithBackgroundStyles = import_react72.css`
10796
+ var contentWithBackgroundStyles = import_react74.css`
10653
10797
  padding: 0 var(--spacing-3) var(--spacing-4) var(--spacing-3);
10654
10798
  background-color: var(--surface-page);
10655
10799
  `;
10656
- var contentWithoutBackgroundStyles = import_react72.css`
10800
+ var contentWithoutBackgroundStyles = import_react74.css`
10657
10801
  padding-top: 0 var(--spacing-2) var(--spacing-2) var(--spacing-2);
10658
10802
  `;
10659
- var overlayStyles = import_react72.css`
10803
+ var overlayStyles = import_react74.css`
10660
10804
  position: absolute;
10661
10805
  top: 0;
10662
10806
  left: 0;
@@ -10668,7 +10812,7 @@ var overlayStyles = import_react72.css`
10668
10812
  display: block;
10669
10813
  pointer-events: none;
10670
10814
  `;
10671
- var titleStyles = import_react72.css`
10815
+ var titleStyles = import_react74.css`
10672
10816
  text-wrap: wrap;
10673
10817
  word-break: break-word;
10674
10818
  white-space: pre-wrap;
@@ -10899,8 +11043,8 @@ var PackageHeader = ({
10899
11043
  var PackageHeader_default = PackageHeader;
10900
11044
 
10901
11045
  // src/ReviewCard/components/ReviewImages.styles.ts
10902
- var import_react73 = require("@emotion/react");
10903
- var imageStyles4 = import_react73.css`
11046
+ var import_react75 = require("@emotion/react");
11047
+ var imageStyles4 = import_react75.css`
10904
11048
  flex: 1;
10905
11049
  min-width: 0;
10906
11050
  max-width: 100%;
@@ -11032,7 +11176,7 @@ var ReviewCard = ({
11032
11176
  var ReviewCard_default = ReviewCard;
11033
11177
 
11034
11178
  // src/Reviews/Reviews.tsx
11035
- var import_react74 = require("@emotion/react");
11179
+ var import_react76 = require("@emotion/react");
11036
11180
 
11037
11181
  // src/Reviews/components/ReviewItem.tsx
11038
11182
  var import_jsx_runtime268 = require("@emotion/react/jsx-runtime");
@@ -11090,7 +11234,7 @@ var Reviews = ({
11090
11234
  StarRating_default,
11091
11235
  {
11092
11236
  rating: averageRating,
11093
- css: import_react74.css`
11237
+ css: import_react76.css`
11094
11238
  > svg {
11095
11239
  height: 40px;
11096
11240
  width: 40px;