@landtrustinc/design-system 1.2.76 → 1.2.78

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
@@ -2591,6 +2591,16 @@ type NavigationProps = {
2591
2591
  };
2592
2592
  declare const Navigation: ({ onMenuToggle, className, logoVariant, logoTheme, navLinks, onAvatarClick, ...rest }: NavigationProps) => _emotion_react_jsx_runtime.JSX.Element;
2593
2593
 
2594
+ type PackageCardFeatureCheck = {
2595
+ /**
2596
+ * Feature label (matched vs unmatched styling is controlled by `matched`)
2597
+ */
2598
+ label: React__default.ReactNode;
2599
+ /**
2600
+ * When false, shows error icon and muted label; otherwise success icon and primary label
2601
+ */
2602
+ matched?: boolean;
2603
+ };
2594
2604
  type PackageCardBadge = {
2595
2605
  /**
2596
2606
  * Icon variant for the badge
@@ -2638,6 +2648,10 @@ type PackageCardProps = {
2638
2648
  * Additional CSS class names
2639
2649
  */
2640
2650
  className?: string;
2651
+ /**
2652
+ * Stacked feature rows with check/x icons (below title/price; separate from amenity `badges`)
2653
+ */
2654
+ featureChecks?: PackageCardFeatureCheck[];
2641
2655
  /**
2642
2656
  * Array of badges to display (features/amenities)
2643
2657
  */
@@ -2698,7 +2712,7 @@ type PackageCardProps = {
2698
2712
  */
2699
2713
  isLoading?: boolean;
2700
2714
  };
2701
- declare const PackageCard: ({ images, title, subtitle, startingPrice, isFavorited, onFavoriteClick, onClick, className, badges, availabilityBadges, id, hasContentBackground, orientation, actions, size, isLoading, ...rest }: PackageCardProps) => _emotion_react_jsx_runtime.JSX.Element;
2715
+ declare const PackageCard: ({ images, title, subtitle, startingPrice, isFavorited, onFavoriteClick, onClick, className, featureChecks, badges, availabilityBadges, id, hasContentBackground, orientation, actions, size, isLoading, ...rest }: PackageCardProps) => _emotion_react_jsx_runtime.JSX.Element;
2702
2716
 
2703
2717
  type PackageHeaderProps = {
2704
2718
  /**
@@ -3129,4 +3143,4 @@ declare const Widget: React__default.FC<WidgetProps> & {
3129
3143
  }>;
3130
3144
  };
3131
3145
 
3132
- export { AIResponse, type AIResponseProps, ActionMenu, type ActionMenuItem, type ActionMenuProps, AddOnBlock, type AddOnBlockProps, AvailabilityBadge, type AvailabilityBadgeProps, type AvailabilityBadgeVariant, Avatar, type AvatarProps, type AvatarSize, type AvatarType, type BaseInputProps, BottomDrawer, type BottomDrawerProps, Box, type BoxProps, Button, type ButtonProps, type ButtonVariants, BytescaleImage, type BytescaleImageProps, type CarouselPositions, ChatWidget, type ChatWidgetMessage, type ChatWidgetProps, Column, type ColumnProps, ContactLandownerButton, type ContactLandownerButtonProps, Container, CtaCard, type CtaCardProps, Divider, type DividerProps, type DotsColors, type EarlyAccessTimerConfig, type FeatureItem, FeatureList, FeatureListItem, type FeatureListItemProps, type FeatureListProps, type FeatureListSection, FieldNoteCard, type FieldNoteCardProps, FormField, type FormFieldProps, GlobalStyle, Grid, type GridBreakpoint, GridContainer, type GridContainerProps, type GridProps, Heading, type HeadingProps, HuntCard, type HuntCardProps, Icon, IconLabel, type IconLabelProps, type IconProps, type IconSize, IconSizeMap, type IconVariantTypes$1 as IconVariantTypes, type ImageGalleryItem, ImageGalleryModal, ImageGalleryModal as ImageGalleryModalComponent, type ImageGalleryModalProps, InfoBox, type InfoBoxProps, Input, type InputProps, type InputSize, type InputVariant, LandownerProfile, type LandownerProfileProps, LayoutTokens, ListingChat, type ListingChatProps, Logo, type LogoProps, type LogoTheme, type LogoVariant, MarkdownContent, type MarkdownContentProps, MessageBubble, type MessageBubbleProps, Modal, Modal as ModalComponent, type ModalProps, type ModalSize, type NavLink, Navigation, type NavigationProps, PackageCard, type PackageCardBadge, type PackageCardProps, PackageHeader, type PackageHeaderProps, ProgressBar, type ProgressBarProps, type ResponsiveValue, ReviewCard, type ReviewCardProps, Reviews, type ReviewsProps, ReviewsShowcase, ScrollingCarousel, type ScrollingCarouselProps, ScrollingCarouselStep, type ScrollingCarouselStepProps, Select, type SelectOption, type SelectProps, Spinner, type SpinnerProps, StarRating, type StarRatingProps, type SuggestedPrompt, type TFontWeight, type THeadingSize, type TTextAlign, type TTextSize, type TTextWrap, TagChip, type TagChipProps, type TagChipVariant, Text, TextArea, type TextProps, type TextareaProps, ThemeTokens, ThinkingIndicator, type ThinkingIndicatorProps, type ThinkingIndicatorSize, type ThinkingStep, type ThinkingStepStatus, ThinkingSteps, type ThinkingStepsProps, type TimeLeft, Timer, type TimerProps, Tooltip, type TooltipPosition, type TooltipProps, TopMatchingFieldNote, type TopMatchingFieldNoteProps, TopMatchingReview, type TopMatchingReviewProps, type UseBottomDrawerOptions, type UseBottomDrawerReturn, UserCard, type UserCardProps, Widget, WidgetPanel, type WidgetPanelProps, type WidgetProps, WidgetTrigger, type WidgetTriggerProps, globalStyles, styles, useBottomDrawer, useBottomDrawer as useBottomDrawerHook };
3146
+ export { AIResponse, type AIResponseProps, ActionMenu, type ActionMenuItem, type ActionMenuProps, AddOnBlock, type AddOnBlockProps, AvailabilityBadge, type AvailabilityBadgeProps, type AvailabilityBadgeVariant, Avatar, type AvatarProps, type AvatarSize, type AvatarType, type BaseInputProps, BottomDrawer, type BottomDrawerProps, Box, type BoxProps, Button, type ButtonProps, type ButtonVariants, BytescaleImage, type BytescaleImageProps, type CarouselPositions, ChatWidget, type ChatWidgetMessage, type ChatWidgetProps, Column, type ColumnProps, ContactLandownerButton, type ContactLandownerButtonProps, Container, CtaCard, type CtaCardProps, Divider, type DividerProps, type DotsColors, type EarlyAccessTimerConfig, type FeatureItem, FeatureList, FeatureListItem, type FeatureListItemProps, type FeatureListProps, type FeatureListSection, FieldNoteCard, type FieldNoteCardProps, FormField, type FormFieldProps, GlobalStyle, Grid, type GridBreakpoint, GridContainer, type GridContainerProps, type GridProps, Heading, type HeadingProps, HuntCard, type HuntCardProps, Icon, IconLabel, type IconLabelProps, type IconProps, type IconSize, IconSizeMap, type IconVariantTypes$1 as IconVariantTypes, type ImageGalleryItem, ImageGalleryModal, ImageGalleryModal as ImageGalleryModalComponent, type ImageGalleryModalProps, InfoBox, type InfoBoxProps, Input, type InputProps, type InputSize, type InputVariant, LandownerProfile, type LandownerProfileProps, LayoutTokens, ListingChat, type ListingChatProps, Logo, type LogoProps, type LogoTheme, type LogoVariant, MarkdownContent, type MarkdownContentProps, MessageBubble, type MessageBubbleProps, Modal, Modal as ModalComponent, type ModalProps, type ModalSize, type NavLink, Navigation, type NavigationProps, PackageCard, type PackageCardBadge, type PackageCardFeatureCheck, type PackageCardProps, PackageHeader, type PackageHeaderProps, ProgressBar, type ProgressBarProps, type ResponsiveValue, ReviewCard, type ReviewCardProps, Reviews, type ReviewsProps, ReviewsShowcase, ScrollingCarousel, type ScrollingCarouselProps, ScrollingCarouselStep, type ScrollingCarouselStepProps, Select, type SelectOption, type SelectProps, Spinner, type SpinnerProps, StarRating, type StarRatingProps, type SuggestedPrompt, type TFontWeight, type THeadingSize, type TTextAlign, type TTextSize, type TTextWrap, TagChip, type TagChipProps, type TagChipVariant, Text, TextArea, type TextProps, type TextareaProps, ThemeTokens, ThinkingIndicator, type ThinkingIndicatorProps, type ThinkingIndicatorSize, type ThinkingStep, type ThinkingStepStatus, ThinkingSteps, type ThinkingStepsProps, type TimeLeft, Timer, type TimerProps, Tooltip, type TooltipPosition, type TooltipProps, TopMatchingFieldNote, type TopMatchingFieldNoteProps, TopMatchingReview, type TopMatchingReviewProps, type UseBottomDrawerOptions, type UseBottomDrawerReturn, UserCard, type UserCardProps, Widget, WidgetPanel, type WidgetPanelProps, type WidgetProps, WidgetTrigger, type WidgetTriggerProps, globalStyles, styles, useBottomDrawer, useBottomDrawer as useBottomDrawerHook };
package/dist/index.js CHANGED
@@ -11040,6 +11040,7 @@ var PackageCard = ({
11040
11040
  onFavoriteClick,
11041
11041
  onClick,
11042
11042
  className,
11043
+ featureChecks,
11043
11044
  badges,
11044
11045
  availabilityBadges,
11045
11046
  id,
@@ -11181,7 +11182,7 @@ var PackageCard = ({
11181
11182
  display: "flex",
11182
11183
  flexDirection: "column",
11183
11184
  gap: "var(--spacing-1)",
11184
- mb: "var(--spacing-1)",
11185
+ mb: "var(--spacing-2)",
11185
11186
  children: [
11186
11187
  /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(Box_default, { children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
11187
11188
  Text_default,
@@ -11201,6 +11202,57 @@ var PackageCard = ({
11201
11202
  ]
11202
11203
  }
11203
11204
  ),
11205
+ featureChecks && featureChecks.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
11206
+ Box_default,
11207
+ {
11208
+ display: "flex",
11209
+ flexDirection: "column",
11210
+ gap: "var(--spacing-2)",
11211
+ mb: "var(--spacing-1)",
11212
+ width: "100%",
11213
+ children: featureChecks.map((feature, index) => {
11214
+ const isMatched = feature.matched !== false;
11215
+ return /* @__PURE__ */ (0, import_jsx_runtime266.jsxs)(
11216
+ Box_default,
11217
+ {
11218
+ display: "flex",
11219
+ alignItems: "center",
11220
+ gap: "var(--spacing-2)",
11221
+ minWidth: 0,
11222
+ children: [
11223
+ /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
11224
+ Box_default,
11225
+ {
11226
+ flexShrink: 0,
11227
+ display: "flex",
11228
+ alignItems: "center",
11229
+ justifyContent: "center",
11230
+ children: /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
11231
+ Icon_default,
11232
+ {
11233
+ variant: isMatched ? "Check" : "Xmark",
11234
+ size: "small",
11235
+ fill: isMatched ? "var(--text-success)" : "var(--text-error)"
11236
+ }
11237
+ )
11238
+ }
11239
+ ),
11240
+ /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
11241
+ Text_default,
11242
+ {
11243
+ size: "xs",
11244
+ fontWeight: "semibold",
11245
+ color: isMatched ? "var(--text-primary)" : "var(--text-disabled)",
11246
+ children: feature.label
11247
+ }
11248
+ )
11249
+ ]
11250
+ },
11251
+ `feature-check-${index}`
11252
+ );
11253
+ })
11254
+ }
11255
+ ),
11204
11256
  badges && badges.length > 0 && size !== "xs" && /* @__PURE__ */ (0, import_jsx_runtime266.jsx)(
11205
11257
  Box_default,
11206
11258
  {