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