@landtrustinc/design-system 1.2.17 → 1.2.19

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.d.ts CHANGED
@@ -2181,7 +2181,7 @@ type StarRatingProps = {
2181
2181
  };
2182
2182
  declare const StarRating: FC<StarRatingProps>;
2183
2183
 
2184
- type TagChipVariant = 'primary' | 'success' | 'warning' | 'error';
2184
+ type TagChipVariant = 'primary' | 'success' | 'warning' | 'error' | 'active' | 'default';
2185
2185
 
2186
2186
  type TagChipProps = HTMLAttributes<HTMLSpanElement> & {
2187
2187
  /**
package/dist/index.js CHANGED
@@ -1319,7 +1319,22 @@ var FacebookSquare_default = SvgFacebookSquare;
1319
1319
 
1320
1320
  // src/Icon/components/Farm.tsx
1321
1321
  var import_jsx_runtime63 = require("@emotion/react/jsx-runtime");
1322
- var SvgFarm = (props) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 576 512", ...props, children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)("path", { d: "M48 464V176h115.3l23.4-50.2c7.2-15.5 19.8-27.9 35.3-35C212.1 39.1 166.6 0 112 0 50.1 0 0 50.1 0 112v352c0 26.5 21.5 48 48 48h100.1c-11-13.3-18.1-29.8-19.8-48zm128-336H48v-16c0-35.3 28.7-64 64-64s64 28.7 64 64zm81.9 34.4L368 114.2l110.1 48.2 49.9 107V456c0 4.4-3.6 8-8 8h-88v-56c0-22.1-17.9-40-40-40h-48c-22.1 0-40 17.9-40 40v56h-88c-4.4 0-8-3.6-8-8V269.3l49.9-107zM384 68.8c-10.2-4.5-21.8-4.5-32.1 0l-116 50.8c-8.9 3.9-16.1 10.9-20.2 19.7l-51.9 111.3c-2.5 5.3-3.8 11.1-3.8 16.9V456c0 30.9 25.1 56 56 56h304c30.9 0 56-25.1 56-56V267.5c0-5.8-1.3-11.6-3.8-16.9l-51.9-111.3c-4.1-8.8-11.3-15.8-20.2-19.7zM320 248v48c0 13.3 10.7 24 24 24h48c13.3 0 24-10.7 24-24v-48c0-13.3-10.7-24-24-24h-48c-13.3 0-24 10.7-24 24" }) });
1322
+ var SvgFarm = (props) => /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
1323
+ "svg",
1324
+ {
1325
+ xmlns: "http://www.w3.org/2000/svg",
1326
+ fill: "none",
1327
+ viewBox: "0 0 26 26",
1328
+ ...props,
1329
+ children: /* @__PURE__ */ (0, import_jsx_runtime63.jsx)(
1330
+ "path",
1331
+ {
1332
+ fill: "currentColor",
1333
+ d: "M5.5 19.5v-9h3.603l.731-1.569a2.25 2.25 0 0 1 1.104-1.093A3.5 3.5 0 0 0 7.5 5 3.5 3.5 0 0 0 4 8.5v11A1.5 1.5 0 0 0 5.5 21h3.128a2.74 2.74 0 0 1-.619-1.5zM9.5 9h-4v-.5c0-1.103.897-2 2-2s2 .897 2 2zm2.56 1.075 3.44-1.506 3.44 1.506 1.56 3.344v5.831a.25.25 0 0 1-.25.25H17.5v-1.75c0-.69-.56-1.25-1.25-1.25h-1.5c-.69 0-1.25.56-1.25 1.25v1.75h-2.75a.25.25 0 0 1-.25-.25v-5.834l1.56-3.344zM16 7.15a1.25 1.25 0 0 0-1.003 0l-3.625 1.588a1.25 1.25 0 0 0-.631.615l-1.622 3.478A1.24 1.24 0 0 0 9 13.36v5.891c0 .966.784 1.75 1.75 1.75h9.5c.966 0 1.75-.784 1.75-1.75v-5.89c0-.182-.04-.363-.119-.529L20.26 9.353a1.25 1.25 0 0 0-.63-.615zm-2 5.6v1.5c0 .416.334.75.75.75h1.5c.416 0 .75-.334.75-.75v-1.5a.75.75 0 0 0-.75-.75h-1.5a.75.75 0 0 0-.75.75"
1334
+ }
1335
+ )
1336
+ }
1337
+ );
1323
1338
  var Farm_default = SvgFarm;
1324
1339
 
1325
1340
  // src/Icon/components/FarmSolid.tsx
@@ -5161,6 +5176,16 @@ var MessageBubble_default = MessageBubble;
5161
5176
  // src/TagChip/TagChip.styles.ts
5162
5177
  var import_react24 = require("@emotion/react");
5163
5178
  var tagChipVariantStyles = {
5179
+ default: import_react24.css`
5180
+ background-color: var(--surface-page);
5181
+ border: 1px solid var(--border-primary);
5182
+ color: var(--text-primary);
5183
+ `,
5184
+ active: import_react24.css`
5185
+ background-color: var(--text-primary);
5186
+ border: 1px solid var(--border-secondary);
5187
+ color: var(--color-base-white);
5188
+ `,
5164
5189
  primary: import_react24.css`
5165
5190
  background-color: var(--surface-disabled);
5166
5191
  border: 1px solid var(--surface-disabled);
@@ -5840,6 +5865,7 @@ var FeatureListItem = ({
5840
5865
  display: "flex",
5841
5866
  alignItems: "center",
5842
5867
  gap: "var(--spacing-2)",
5868
+ maxHeight: iconDimensions.height,
5843
5869
  className,
5844
5870
  ...rest,
5845
5871
  children: [
@@ -6841,7 +6867,6 @@ var InfoBox = ({ heading, features, className }) => {
6841
6867
  var InfoBox_default = InfoBox;
6842
6868
 
6843
6869
  // src/StarRating/StarRating.tsx
6844
- var import_react42 = require("@emotion/react");
6845
6870
  var import_jsx_runtime231 = require("@emotion/react/jsx-runtime");
6846
6871
  var starSize = {
6847
6872
  sm: {
@@ -6866,10 +6891,7 @@ var StarRating = ({
6866
6891
  {
6867
6892
  variant: "StarSolid",
6868
6893
  size: starSize[size].size,
6869
- fill: i <= rating ? "var(--color-yellow-500)" : "var(--color-neutral-100)",
6870
- css: import_react42.css`
6871
- ${size === "md" && "width: 40px; height: 40px;"}
6872
- `
6894
+ fill: i <= rating ? "var(--color-yellow-500)" : "var(--color-neutral-100)"
6873
6895
  },
6874
6896
  i
6875
6897
  )
@@ -6921,7 +6943,7 @@ var UserCard = ({
6921
6943
  /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "2px", children: [
6922
6944
  /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Text_default, { size: "md", fontWeight: "bold", children: title }),
6923
6945
  subtitle && (typeof subtitle === "string" ? /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Text_default, { size: "sm", color: "text-secondary", children: subtitle }) : subtitle),
6924
- showRating && rating !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(StarRating_default, { rating, size: "sm" })
6946
+ showRating && rating !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(StarRating_default, { rating })
6925
6947
  ] })
6926
6948
  ] }),
6927
6949
  isVerified && /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(
@@ -6962,6 +6984,15 @@ var ProfileSubtitle = ({
6962
6984
  };
6963
6985
  var ProfileSubtitle_default = ProfileSubtitle;
6964
6986
 
6987
+ // src/LandownerProfile/LandownerProfile.helpers.ts
6988
+ var hasTextContent = (html) => {
6989
+ if (!html) {
6990
+ return false;
6991
+ }
6992
+ const strippedText = html.replace(/<[^>]*>/g, "").trim();
6993
+ return strippedText.length > 0;
6994
+ };
6995
+
6965
6996
  // src/LandownerProfile/LandownerProfile.tsx
6966
6997
  var import_jsx_runtime234 = require("@emotion/react/jsx-runtime");
6967
6998
  var LandownerProfile = ({
@@ -6996,7 +7027,7 @@ var LandownerProfile = ({
6996
7027
  color: "var(--text-primary)",
6997
7028
  className,
6998
7029
  children: [
6999
- /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Heading_default, { size: "2xs", fontWeight: "bold", children: heading }),
7030
+ heading && /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Heading_default, { size: "2xs", fontWeight: "bold", children: heading }),
7000
7031
  /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(
7001
7032
  Box_default,
7002
7033
  {
@@ -7023,7 +7054,7 @@ var LandownerProfile = ({
7023
7054
  isVerified
7024
7055
  }
7025
7056
  ),
7026
- bio && /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
7057
+ hasTextContent(bio) && !!bio && /* @__PURE__ */ (0, import_jsx_runtime234.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
7027
7058
  /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(Text_default, { fontWeight: "bold", children: "Bio" }),
7028
7059
  /* @__PURE__ */ (0, import_jsx_runtime234.jsx)(
7029
7060
  Text_default,
@@ -7060,11 +7091,11 @@ var LandownerProfile = ({
7060
7091
  var LandownerProfile_default = LandownerProfile;
7061
7092
 
7062
7093
  // src/ListingChat/ListingChat.tsx
7063
- var import_react44 = require("react");
7094
+ var import_react43 = require("react");
7064
7095
 
7065
7096
  // src/ListingChat/ListingChat.styles.ts
7066
- var import_react43 = require("@emotion/react");
7067
- var containerStyles2 = import_react43.css`
7097
+ var import_react42 = require("@emotion/react");
7098
+ var containerStyles2 = import_react42.css`
7068
7099
  display: flex;
7069
7100
  flex-direction: column;
7070
7101
  gap: var(--spacing-4);
@@ -7072,13 +7103,13 @@ var containerStyles2 = import_react43.css`
7072
7103
  border-radius: var(--radius-lg);
7073
7104
  background: var(--surface-success);
7074
7105
  `;
7075
- var headerStyles = import_react43.css`
7106
+ var headerStyles = import_react42.css`
7076
7107
  display: flex;
7077
7108
  align-items: flex-start;
7078
7109
  justify-content: space-between;
7079
7110
  gap: var(--spacing-2);
7080
7111
  `;
7081
- var chipsContainerStyles = import_react43.css`
7112
+ var chipsContainerStyles = import_react42.css`
7082
7113
  display: flex;
7083
7114
  flex-wrap: wrap;
7084
7115
  gap: var(--spacing-4);
@@ -7091,10 +7122,10 @@ var chipsContainerStyles = import_react43.css`
7091
7122
  cursor: pointer;
7092
7123
  }
7093
7124
  `;
7094
- var textAreaStyles = import_react43.css`
7125
+ var textAreaStyles = import_react42.css`
7095
7126
  min-height: 62px;
7096
7127
  `;
7097
- var inputWrapperStyles2 = import_react43.css`
7128
+ var inputWrapperStyles2 = import_react42.css`
7098
7129
  position: relative;
7099
7130
  `;
7100
7131
 
@@ -7109,15 +7140,15 @@ var ListingChat = ({
7109
7140
  disabled = false,
7110
7141
  ...rest
7111
7142
  }) => {
7112
- const [value, setValue] = (0, import_react44.useState)("");
7113
- const handleSubmit = (0, import_react44.useCallback)(() => {
7143
+ const [value, setValue] = (0, import_react43.useState)("");
7144
+ const handleSubmit = (0, import_react43.useCallback)(() => {
7114
7145
  const trimmed = value.trim();
7115
7146
  if (!trimmed)
7116
7147
  return;
7117
7148
  onSubmit(trimmed);
7118
7149
  setValue("");
7119
7150
  }, [onSubmit, value]);
7120
- const handleTagClick = (0, import_react44.useCallback)(
7151
+ const handleTagClick = (0, import_react43.useCallback)(
7121
7152
  (tag) => () => {
7122
7153
  const trimmed = tag.trim();
7123
7154
  if (!trimmed)
@@ -7169,7 +7200,7 @@ var ListingChat = ({
7169
7200
  var ListingChat_default = ListingChat;
7170
7201
 
7171
7202
  // src/Logo/Logo.tsx
7172
- var import_react45 = require("@emotion/react");
7203
+ var import_react44 = require("@emotion/react");
7173
7204
 
7174
7205
  // src/Logo/components/LandtrustPlusDark.tsx
7175
7206
  var import_jsx_runtime236 = require("@emotion/react/jsx-runtime");
@@ -7391,7 +7422,7 @@ var LandtrustStandardLight_default = SvgLandtrustStandardLight;
7391
7422
 
7392
7423
  // src/Logo/Logo.tsx
7393
7424
  var import_jsx_runtime240 = require("@emotion/react/jsx-runtime");
7394
- var logoStyles = (size) => import_react45.css`
7425
+ var logoStyles = (size) => import_react44.css`
7395
7426
  width: ${space[size]};
7396
7427
  height: auto;
7397
7428
  display: block;
@@ -7424,13 +7455,13 @@ var Logo = ({
7424
7455
  var Logo_default = Logo;
7425
7456
 
7426
7457
  // src/Navigation/Navigation.styles.ts
7427
- var import_react46 = require("@emotion/react");
7428
- var navigationStyles = import_react46.css`
7458
+ var import_react45 = require("@emotion/react");
7459
+ var navigationStyles = import_react45.css`
7429
7460
  width: 100%;
7430
7461
  background-color: white;
7431
7462
  border-bottom: 1px solid #e5e5e5;
7432
7463
  `;
7433
- var hamburgerButtonStyles = import_react46.css`
7464
+ var hamburgerButtonStyles = import_react45.css`
7434
7465
  cursor: pointer;
7435
7466
  &:focus {
7436
7467
  outline: 2px solid #4f46e5;
@@ -7441,7 +7472,7 @@ var hamburgerButtonStyles = import_react46.css`
7441
7472
  display: none;
7442
7473
  }
7443
7474
  `;
7444
- var centeredLogoStyles = import_react46.css`
7475
+ var centeredLogoStyles = import_react45.css`
7445
7476
  transform: translate(-50%, -50%);
7446
7477
  max-width: 150px;
7447
7478
 
@@ -7449,27 +7480,27 @@ var centeredLogoStyles = import_react46.css`
7449
7480
  display: none;
7450
7481
  }
7451
7482
  `;
7452
- var desktopLogoStyles = import_react46.css`
7483
+ var desktopLogoStyles = import_react45.css`
7453
7484
  display: none;
7454
7485
 
7455
7486
  @media (min-width: 768px) {
7456
7487
  display: block;
7457
7488
  }
7458
7489
  `;
7459
- var containerStyles3 = import_react46.css`
7490
+ var containerStyles3 = import_react45.css`
7460
7491
  @media (min-width: 768px) {
7461
7492
  justify-content: space-between;
7462
7493
  position: static;
7463
7494
  }
7464
7495
  `;
7465
- var logoStyles2 = import_react46.css`
7496
+ var logoStyles2 = import_react45.css`
7466
7497
  width: 100%;
7467
7498
 
7468
7499
  @media (min-width: 768px) {
7469
7500
  width: initial;
7470
7501
  }
7471
7502
  `;
7472
- var desktopNavStyles = import_react46.css`
7503
+ var desktopNavStyles = import_react45.css`
7473
7504
  display: none;
7474
7505
 
7475
7506
  @media (min-width: 768px) {
@@ -7478,7 +7509,7 @@ var desktopNavStyles = import_react46.css`
7478
7509
  gap: 32px;
7479
7510
  }
7480
7511
  `;
7481
- var navLinksStyles = import_react46.css`
7512
+ var navLinksStyles = import_react45.css`
7482
7513
  display: flex;
7483
7514
  align-items: center;
7484
7515
  gap: 24px;
@@ -7486,7 +7517,7 @@ var navLinksStyles = import_react46.css`
7486
7517
  margin: 0;
7487
7518
  padding: 0;
7488
7519
  `;
7489
- var navLinkStyles = import_react46.css`
7520
+ var navLinkStyles = import_react45.css`
7490
7521
  text-decoration: none;
7491
7522
  color: #374151;
7492
7523
  font-weight: 500;
@@ -7502,7 +7533,7 @@ var navLinkStyles = import_react46.css`
7502
7533
  outline-offset: 2px;
7503
7534
  }
7504
7535
  `;
7505
- var avatarPlaceholderStyles = import_react46.css`
7536
+ var avatarPlaceholderStyles = import_react45.css`
7506
7537
  width: 32px;
7507
7538
  height: 32px;
7508
7539
  border-radius: 50%;
@@ -7604,8 +7635,8 @@ var Navigation = ({
7604
7635
  var Navigation_default = Navigation;
7605
7636
 
7606
7637
  // src/PackageCard/PackageCard.styles.ts
7607
- var import_react47 = require("@emotion/react");
7608
- var cardContainerStyles3 = import_react47.css`
7638
+ var import_react46 = require("@emotion/react");
7639
+ var cardContainerStyles3 = import_react46.css`
7609
7640
  color: var(--text-primary);
7610
7641
  position: relative;
7611
7642
  width: 100%;
@@ -7622,14 +7653,14 @@ var cardContainerStyles3 = import_react47.css`
7622
7653
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
7623
7654
  }
7624
7655
  `;
7625
- var imageContainerStyles = import_react47.css`
7656
+ var imageContainerStyles = import_react46.css`
7626
7657
  position: relative;
7627
7658
  width: 100%;
7628
7659
  height: 200px;
7629
7660
  overflow: hidden;
7630
7661
  border-radius: var(--spacing-4);
7631
7662
  `;
7632
- var imageStyles2 = import_react47.css`
7663
+ var imageStyles2 = import_react46.css`
7633
7664
  width: 100%;
7634
7665
  height: 100%;
7635
7666
  background-size: cover;
@@ -7637,13 +7668,13 @@ var imageStyles2 = import_react47.css`
7637
7668
  background-repeat: no-repeat;
7638
7669
  border-radius: var(--spacing-4) var(--spacing-4) 0 0;
7639
7670
  `;
7640
- var badgeStyles2 = import_react47.css`
7671
+ var badgeStyles2 = import_react46.css`
7641
7672
  position: absolute;
7642
7673
  top: var(--spacing-3);
7643
7674
  left: var(--spacing-3);
7644
7675
  z-index: 2;
7645
7676
  `;
7646
- var heartIconStyles = import_react47.css`
7677
+ var heartIconStyles = import_react46.css`
7647
7678
  position: absolute;
7648
7679
  top: var(--spacing-3);
7649
7680
  right: var(--spacing-3);
@@ -7665,7 +7696,7 @@ var heartIconStyles = import_react47.css`
7665
7696
  transform: scale(1.1);
7666
7697
  }
7667
7698
  `;
7668
- var contentStyles2 = import_react47.css`
7699
+ var contentStyles2 = import_react46.css`
7669
7700
  padding: var(--spacing-3);
7670
7701
  `;
7671
7702
 
@@ -7780,8 +7811,8 @@ var PackageHeader = ({
7780
7811
  var PackageHeader_default = PackageHeader;
7781
7812
 
7782
7813
  // src/ReviewCard/components/ReviewImages.styles.ts
7783
- var import_react48 = require("@emotion/react");
7784
- var imageStyles3 = import_react48.css`
7814
+ var import_react47 = require("@emotion/react");
7815
+ var imageStyles3 = import_react47.css`
7785
7816
  flex: 1;
7786
7817
  min-width: 0;
7787
7818
  max-width: 100%;
@@ -7876,7 +7907,7 @@ var ReviewCard = ({
7876
7907
  {
7877
7908
  backgroundColor: "white",
7878
7909
  borderRadius: "var(--spacing-4) 0",
7879
- p: "var(--spacing-4)",
7910
+ p: "var(--spacing-4) 0",
7880
7911
  display: "flex",
7881
7912
  flexDirection: "column",
7882
7913
  gap: "var(--spacing-4)",
@@ -7912,6 +7943,9 @@ var ReviewCard = ({
7912
7943
  };
7913
7944
  var ReviewCard_default = ReviewCard;
7914
7945
 
7946
+ // src/Reviews/Reviews.tsx
7947
+ var import_react48 = require("@emotion/react");
7948
+
7915
7949
  // src/Reviews/components/ReviewItem.tsx
7916
7950
  var import_jsx_runtime247 = require("@emotion/react/jsx-runtime");
7917
7951
  var ReviewItem = ({ label, rating }) => {
@@ -7967,7 +8001,18 @@ var Reviews = ({
7967
8001
  gap: "var(--spacing-2)",
7968
8002
  children: [
7969
8003
  /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(Heading_default, { size: "sm", fontWeight: "bold", color: "text-primary", children: averageRating.toFixed(1) }),
7970
- /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(StarRating_default, { rating: Math.floor(averageRating) }),
8004
+ /* @__PURE__ */ (0, import_jsx_runtime248.jsx)(
8005
+ StarRating_default,
8006
+ {
8007
+ rating: Math.floor(averageRating),
8008
+ css: import_react48.css`
8009
+ > svg {
8010
+ height: 40px;
8011
+ width: 40px;
8012
+ }
8013
+ `
8014
+ }
8015
+ ),
7971
8016
  /* @__PURE__ */ (0, import_jsx_runtime248.jsxs)(Text_default, { size: "sm", color: "text-secondary", children: [
7972
8017
  "Overall Rating \u2022 ",
7973
8018
  totalReviews,