@landtrustinc/design-system 1.2.11 → 1.2.12

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
@@ -1863,6 +1863,10 @@ type LandownerProfileProps = {
1863
1863
  * Link to reviews (optional)
1864
1864
  */
1865
1865
  reviewsLink?: string;
1866
+ /**
1867
+ * Whether the reviews are loading
1868
+ */
1869
+ isReviewsLoading?: boolean;
1866
1870
  /**
1867
1871
  * Whether the landowner is verified
1868
1872
  */
@@ -1874,11 +1878,11 @@ type LandownerProfileProps = {
1874
1878
  /**
1875
1879
  * Response rate percentage (e.g., "100%")
1876
1880
  */
1877
- responseRate: string;
1881
+ responseRate?: string;
1878
1882
  /**
1879
1883
  * Response time text (e.g., "Within 6 Hours")
1880
1884
  */
1881
- responseTime: string;
1885
+ responseTime?: string;
1882
1886
  /**
1883
1887
  * Message button text
1884
1888
  */
package/dist/index.js CHANGED
@@ -6918,25 +6918,23 @@ var ProfileSubtitle = ({
6918
6918
  rating,
6919
6919
  reviewCount,
6920
6920
  reviewsLink,
6921
+ isReviewsLoading = false,
6921
6922
  onReviewsClick
6922
6923
  }) => {
6923
- return /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "2px", children: [
6924
- yearsHosting && /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Text_default, { size: "sm", color: "text-secondary", children: [
6925
- yearsHosting,
6926
- " Years Hosting"
6927
- ] }),
6928
- rating !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Box_default, { display: "flex", alignItems: "center", gap: "var(--spacing-2)", children: [
6929
- /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
6930
- Icon_default,
6931
- {
6932
- variant: "StarSolid",
6933
- size: "medium",
6934
- fill: "var(--color-yellow-500)"
6935
- }
6936
- ),
6937
- /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Text_default, { size: "md", fontWeight: "bold", children: rating.toFixed(1) }),
6938
- reviewCount !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(import_jsx_runtime232.Fragment, { children: [
6939
- /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Text_default, { size: "md", children: "\u2022" }),
6924
+ let reviewFeatureItem;
6925
+ if (isReviewsLoading) {
6926
+ reviewFeatureItem = {
6927
+ iconVariant: "StarSolid",
6928
+ label: "",
6929
+ isLoading: true
6930
+ };
6931
+ } else if (rating && reviewCount) {
6932
+ reviewFeatureItem = {
6933
+ iconVariant: "StarSolid",
6934
+ iconColor: "var(--icon-warning)",
6935
+ label: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Box_default, { display: "flex", alignItems: "center", gap: "var(--spacing-2)", children: [
6936
+ /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Text_default, { size: "sm", fontWeight: "bold", children: rating == null ? void 0 : rating.toFixed(1) }),
6937
+ /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(Text_default, { size: "sm", fontWeight: "bold", children: "\u2022" }),
6940
6938
  reviewsLink ? /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
6941
6939
  "a",
6942
6940
  {
@@ -6949,7 +6947,7 @@ var ProfileSubtitle = ({
6949
6947
  }
6950
6948
  },
6951
6949
  onClick: onReviewsClick,
6952
- children: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Text_default, { size: "md", fontWeight: "bold", children: [
6950
+ children: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Text_default, { size: "sm", fontWeight: "bold", children: [
6953
6951
  reviewCount,
6954
6952
  " ",
6955
6953
  reviewCount === 1 ? "Review" : "Reviews"
@@ -6961,7 +6959,16 @@ var ProfileSubtitle = ({
6961
6959
  reviewCount === 1 ? "Review" : "Reviews"
6962
6960
  ] })
6963
6961
  ] })
6964
- ] })
6962
+ };
6963
+ } else {
6964
+ reviewFeatureItem = void 0;
6965
+ }
6966
+ return /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "2px", children: [
6967
+ yearsHosting && /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Text_default, { size: "sm", color: "text-secondary", children: [
6968
+ yearsHosting,
6969
+ " Years Hosting"
6970
+ ] }),
6971
+ reviewFeatureItem && /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(FeatureListItem_default, { ...reviewFeatureItem })
6965
6972
  ] });
6966
6973
  };
6967
6974
  var ProfileSubtitle_default = ProfileSubtitle;
@@ -6976,6 +6983,7 @@ var LandownerProfile = ({
6976
6983
  rating,
6977
6984
  reviewCount,
6978
6985
  reviewsLink,
6986
+ isReviewsLoading = false,
6979
6987
  isVerified = false,
6980
6988
  bio,
6981
6989
  responseRate,
@@ -6984,14 +6992,14 @@ var LandownerProfile = ({
6984
6992
  onMessageClick,
6985
6993
  className
6986
6994
  }) => {
6987
- const responseRateFeature = {
6995
+ const responseRateFeature = responseRate ? {
6988
6996
  iconVariant: "IconComment",
6989
6997
  label: `Response Rate: ${responseRate}`
6990
- };
6991
- const responseTimeFeature = {
6998
+ } : void 0;
6999
+ const responseTimeFeature = responseTime ? {
6992
7000
  iconVariant: "Bolt",
6993
7001
  label: `Response Time: ${responseTime}`
6994
- };
7002
+ } : void 0;
6995
7003
  return /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(
6996
7004
  Box_default,
6997
7005
  {
@@ -7023,7 +7031,8 @@ var LandownerProfile = ({
7023
7031
  yearsHosting,
7024
7032
  rating,
7025
7033
  reviewCount,
7026
- reviewsLink
7034
+ reviewsLink,
7035
+ isReviewsLoading
7027
7036
  }
7028
7037
  ),
7029
7038
  showRating: false,
@@ -7034,11 +7043,11 @@ var LandownerProfile = ({
7034
7043
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Text_default, { fontWeight: "bold", children: "Bio" }),
7035
7044
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Text_default, { children: bio })
7036
7045
  ] }),
7037
- /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
7046
+ (!!responseRateFeature || !!responseTimeFeature) && /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
7038
7047
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Text_default, { fontWeight: "bold", children: "Landowner Details" }),
7039
7048
  /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
7040
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(FeatureListItem_default, { ...responseRateFeature }),
7041
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(FeatureListItem_default, { ...responseTimeFeature })
7049
+ !!responseRateFeature && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(FeatureListItem_default, { ...responseRateFeature }),
7050
+ !!responseTimeFeature && /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(FeatureListItem_default, { ...responseTimeFeature })
7042
7051
  ] })
7043
7052
  ] }),
7044
7053
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Box_default, { alignSelf: "flex-start", children: /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Button_default, { variant: "secondary", onClick: onMessageClick, children: messageButtonText }) })
@@ -7049,7 +7058,6 @@ var LandownerProfile = ({
7049
7058
  }
7050
7059
  );
7051
7060
  };
7052
- LandownerProfile.displayName = "LandownerProfile";
7053
7061
  var LandownerProfile_default = LandownerProfile;
7054
7062
 
7055
7063
  // src/ListingChat/ListingChat.tsx