@landtrustinc/design-system 1.2.12 → 1.2.14

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
@@ -1331,6 +1331,84 @@ type DividerProps = React__default.HTMLAttributes<HTMLHRElement> & SpaceProps &
1331
1331
  };
1332
1332
  declare const Divider: React__default.FC<DividerProps>;
1333
1333
 
1334
+ type THeadingSize = 'xl' | 'lg' | 'md' | 'sm' | 'xs' | '2xs';
1335
+ type TTextSize = 'md' | 'sm' | 'xs' | '2xs';
1336
+ type TFontWeight = 'normal' | 'semibold' | 'bold' | 'extrabold';
1337
+ type TTextAlign = 'left' | 'center' | 'right' | 'justify' | 'start' | 'end';
1338
+ type TTextWrap = 'pretty' | 'balance' | 'nowrap' | 'wrap' | 'stable';
1339
+
1340
+ type HeadingProps = HTMLAttributes<HTMLElement> & {
1341
+ /**
1342
+ * Size variant of the heading
1343
+ */
1344
+ size?: THeadingSize;
1345
+ /**
1346
+ * DOM element name to render as
1347
+ */
1348
+ as?: string;
1349
+ /**
1350
+ * Additional CSS class names
1351
+ */
1352
+ className?: string;
1353
+ /**
1354
+ * Whether to transform text to uppercase
1355
+ */
1356
+ uppercase?: boolean;
1357
+ /**
1358
+ * Font weight of the heading
1359
+ */
1360
+ fontWeight?: TFontWeight;
1361
+ /**
1362
+ * Text alignment
1363
+ */
1364
+ textAlign?: TTextAlign;
1365
+ /**
1366
+ * Text wrapping behavior
1367
+ */
1368
+ textWrap?: TTextWrap;
1369
+ /**
1370
+ * Color token or CSS color value
1371
+ */
1372
+ color?: string;
1373
+ };
1374
+ declare const Heading: FC<PropsWithChildren<HeadingProps>>;
1375
+
1376
+ type TextProps = HTMLAttributes<HTMLElement> & {
1377
+ /**
1378
+ * Size variant of the text
1379
+ */
1380
+ size?: TTextSize;
1381
+ /**
1382
+ * DOM element name to render as
1383
+ */
1384
+ as?: string;
1385
+ /**
1386
+ * Additional CSS class names
1387
+ */
1388
+ className?: string;
1389
+ /**
1390
+ * Font weight of the text
1391
+ */
1392
+ fontWeight?: TFontWeight;
1393
+ /**
1394
+ * Whether to transform text to uppercase
1395
+ */
1396
+ uppercase?: boolean;
1397
+ /**
1398
+ * Text alignment
1399
+ */
1400
+ textAlign?: TTextAlign;
1401
+ /**
1402
+ * Text wrapping behavior
1403
+ */
1404
+ textWrap?: TTextWrap;
1405
+ /**
1406
+ * Color token or CSS color value
1407
+ */
1408
+ color?: string;
1409
+ };
1410
+ declare const Text: FC<PropsWithChildren<TextProps>>;
1411
+
1334
1412
  type FeatureListItemProps = {
1335
1413
  /**
1336
1414
  * Icon variant to display
@@ -1348,6 +1426,10 @@ type FeatureListItemProps = {
1348
1426
  * Main label text
1349
1427
  */
1350
1428
  label: React__default.ReactNode;
1429
+ /**
1430
+ * Size of the label text
1431
+ */
1432
+ labelSize?: TTextSize;
1351
1433
  /**
1352
1434
  * Optional subtitle/description text
1353
1435
  */
@@ -1365,7 +1447,7 @@ type FeatureListItemProps = {
1365
1447
  */
1366
1448
  isInline?: boolean;
1367
1449
  };
1368
- declare const FeatureListItem: ({ iconVariant, label, subtitle, iconSize, iconColor, isLoading, className, isInline, ...rest }: FeatureListItemProps) => _emotion_react_jsx_runtime.JSX.Element;
1450
+ declare const FeatureListItem: ({ iconVariant, label, labelSize, subtitle, iconSize, iconColor, isLoading, className, isInline, ...rest }: FeatureListItemProps) => _emotion_react_jsx_runtime.JSX.Element;
1369
1451
 
1370
1452
  type FeatureItem = Omit<FeatureListItemProps, 'className'>;
1371
1453
  type FeatureListSection = {
@@ -1716,84 +1798,6 @@ type HuntCardProps = {
1716
1798
  };
1717
1799
  declare const HuntCard: ({ backgroundImage, title, buttonLabel, onClick, className, ...rest }: HuntCardProps) => _emotion_react_jsx_runtime.JSX.Element;
1718
1800
 
1719
- type THeadingSize = 'xl' | 'lg' | 'md' | 'sm' | 'xs' | '2xs';
1720
- type TTextSize = 'md' | 'sm' | 'xs' | '2xs';
1721
- type TFontWeight = 'normal' | 'semibold' | 'bold' | 'extrabold';
1722
- type TTextAlign = 'left' | 'center' | 'right' | 'justify' | 'start' | 'end';
1723
- type TTextWrap = 'pretty' | 'balance' | 'nowrap' | 'wrap' | 'stable';
1724
-
1725
- type HeadingProps = HTMLAttributes<HTMLElement> & {
1726
- /**
1727
- * Size variant of the heading
1728
- */
1729
- size?: THeadingSize;
1730
- /**
1731
- * DOM element name to render as
1732
- */
1733
- as?: string;
1734
- /**
1735
- * Additional CSS class names
1736
- */
1737
- className?: string;
1738
- /**
1739
- * Whether to transform text to uppercase
1740
- */
1741
- uppercase?: boolean;
1742
- /**
1743
- * Font weight of the heading
1744
- */
1745
- fontWeight?: TFontWeight;
1746
- /**
1747
- * Text alignment
1748
- */
1749
- textAlign?: TTextAlign;
1750
- /**
1751
- * Text wrapping behavior
1752
- */
1753
- textWrap?: TTextWrap;
1754
- /**
1755
- * Color token or CSS color value
1756
- */
1757
- color?: string;
1758
- };
1759
- declare const Heading: FC<PropsWithChildren<HeadingProps>>;
1760
-
1761
- type TextProps = HTMLAttributes<HTMLElement> & {
1762
- /**
1763
- * Size variant of the text
1764
- */
1765
- size?: TTextSize;
1766
- /**
1767
- * DOM element name to render as
1768
- */
1769
- as?: string;
1770
- /**
1771
- * Additional CSS class names
1772
- */
1773
- className?: string;
1774
- /**
1775
- * Font weight of the text
1776
- */
1777
- fontWeight?: TFontWeight;
1778
- /**
1779
- * Whether to transform text to uppercase
1780
- */
1781
- uppercase?: boolean;
1782
- /**
1783
- * Text alignment
1784
- */
1785
- textAlign?: TTextAlign;
1786
- /**
1787
- * Text wrapping behavior
1788
- */
1789
- textWrap?: TTextWrap;
1790
- /**
1791
- * Color token or CSS color value
1792
- */
1793
- color?: string;
1794
- };
1795
- declare const Text: FC<PropsWithChildren<TextProps>>;
1796
-
1797
1801
  type IconLabelProps = {
1798
1802
  /**
1799
1803
  * Icon variant to display
@@ -1852,21 +1856,9 @@ type LandownerProfileProps = {
1852
1856
  */
1853
1857
  yearsHosting?: number;
1854
1858
  /**
1855
- * Rating value from 1 to 5
1856
- */
1857
- rating?: number;
1858
- /**
1859
- * Number of reviews
1860
- */
1861
- reviewCount?: number;
1862
- /**
1863
- * Link to reviews (optional)
1864
- */
1865
- reviewsLink?: string;
1866
- /**
1867
- * Whether the reviews are loading
1859
+ * Optional feature item for reviews display
1868
1860
  */
1869
- isReviewsLoading?: boolean;
1861
+ featureReviewItem?: FeatureItem;
1870
1862
  /**
1871
1863
  * Whether the landowner is verified
1872
1864
  */
@@ -1874,7 +1866,7 @@ type LandownerProfileProps = {
1874
1866
  /**
1875
1867
  * Bio text content
1876
1868
  */
1877
- bio: string;
1869
+ bio?: string;
1878
1870
  /**
1879
1871
  * Response rate percentage (e.g., "100%")
1880
1872
  */
package/dist/index.js CHANGED
@@ -5790,6 +5790,7 @@ var import_jsx_runtime219 = require("@emotion/react/jsx-runtime");
5790
5790
  var FeatureListItem = ({
5791
5791
  iconVariant,
5792
5792
  label,
5793
+ labelSize = "md",
5793
5794
  subtitle,
5794
5795
  iconSize = "large",
5795
5796
  iconColor,
@@ -5846,7 +5847,7 @@ var FeatureListItem = ({
5846
5847
  ...rest,
5847
5848
  children: [
5848
5849
  iconVariant && /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(Icon_default, { variant: iconVariant, size: iconSize, fill: iconColor }),
5849
- /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(Text_default, { fontWeight: "semibold", children: label })
5850
+ /* @__PURE__ */ (0, import_jsx_runtime219.jsx)(Text_default, { fontWeight: "semibold", size: labelSize, children: label })
5850
5851
  ]
5851
5852
  }
5852
5853
  ),
@@ -6914,61 +6915,17 @@ var UserCard_default = UserCard;
6914
6915
  // src/LandownerProfile/components/ProfileSubtitle.tsx
6915
6916
  var import_jsx_runtime232 = require("@emotion/react/jsx-runtime");
6916
6917
  var ProfileSubtitle = ({
6917
- yearsHosting,
6918
- rating,
6919
- reviewCount,
6920
- reviewsLink,
6921
- isReviewsLoading = false,
6922
- onReviewsClick
6918
+ yearsHosting = 1,
6919
+ featureReviewItem
6923
6920
  }) => {
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" }),
6938
- reviewsLink ? /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(
6939
- "a",
6940
- {
6941
- href: reviewsLink,
6942
- css: {
6943
- color: "var(--text-primary)",
6944
- textDecoration: "underline",
6945
- "&:hover": {
6946
- color: "var(--text-secondary)"
6947
- }
6948
- },
6949
- onClick: onReviewsClick,
6950
- children: /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Text_default, { size: "sm", fontWeight: "bold", children: [
6951
- reviewCount,
6952
- " ",
6953
- reviewCount === 1 ? "Review" : "Reviews"
6954
- ] })
6955
- }
6956
- ) : /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Text_default, { size: "md", fontWeight: "bold", children: [
6957
- reviewCount,
6958
- " ",
6959
- reviewCount === 1 ? "Review" : "Reviews"
6960
- ] })
6961
- ] })
6962
- };
6963
- } else {
6964
- reviewFeatureItem = void 0;
6965
- }
6966
6921
  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: [
6922
+ yearsHosting && yearsHosting > 0 && /* @__PURE__ */ (0, import_jsx_runtime232.jsxs)(Text_default, { size: "sm", color: "text-secondary", children: [
6968
6923
  yearsHosting,
6969
- " Years Hosting"
6924
+ " ",
6925
+ yearsHosting === 1 ? "Year" : "Years",
6926
+ " Hosting"
6970
6927
  ] }),
6971
- reviewFeatureItem && /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(FeatureListItem_default, { ...reviewFeatureItem })
6928
+ featureReviewItem && /* @__PURE__ */ (0, import_jsx_runtime232.jsx)(FeatureListItem_default, { ...featureReviewItem })
6972
6929
  ] });
6973
6930
  };
6974
6931
  var ProfileSubtitle_default = ProfileSubtitle;
@@ -6980,10 +6937,7 @@ var LandownerProfile = ({
6980
6937
  avatarSrc,
6981
6938
  name,
6982
6939
  yearsHosting,
6983
- rating,
6984
- reviewCount,
6985
- reviewsLink,
6986
- isReviewsLoading = false,
6940
+ featureReviewItem,
6987
6941
  isVerified = false,
6988
6942
  bio,
6989
6943
  responseRate,
@@ -7029,19 +6983,23 @@ var LandownerProfile = ({
7029
6983
  ProfileSubtitle_default,
7030
6984
  {
7031
6985
  yearsHosting,
7032
- rating,
7033
- reviewCount,
7034
- reviewsLink,
7035
- isReviewsLoading
6986
+ featureReviewItem
7036
6987
  }
7037
6988
  ),
7038
6989
  showRating: false,
7039
6990
  isVerified
7040
6991
  }
7041
6992
  ),
7042
- /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
6993
+ bio && /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
7043
6994
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Text_default, { fontWeight: "bold", children: "Bio" }),
7044
- /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Text_default, { children: bio })
6995
+ /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(
6996
+ Text_default,
6997
+ {
6998
+ dangerouslySetInnerHTML: {
6999
+ __html: bio
7000
+ }
7001
+ }
7002
+ )
7045
7003
  ] }),
7046
7004
  (!!responseRateFeature || !!responseTimeFeature) && /* @__PURE__ */ (0, import_jsx_runtime233.jsxs)(Box_default, { display: "flex", flexDirection: "column", gap: "var(--spacing-2)", children: [
7047
7005
  /* @__PURE__ */ (0, import_jsx_runtime233.jsx)(Text_default, { fontWeight: "bold", children: "Landowner Details" }),