@planetaexo/design-system 0.57.0 → 0.57.2

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.cts CHANGED
@@ -2756,6 +2756,12 @@ interface TripCardProps {
2756
2756
  onFavoriteToggle?: (next: boolean) => void;
2757
2757
  /** Localização/região exibida no rodapé branco (ex.: "Pantanal, Brazil"). */
2758
2758
  location?: string;
2759
+ /**
2760
+ * When set, the location becomes a link to its destination/taxonomy page.
2761
+ * Rendered above the card's own stretched link so it's independently
2762
+ * clickable (no nested anchors).
2763
+ */
2764
+ locationHref?: string;
2759
2765
  /** Nível de dificuldade — renderizado com um dot colorido. */
2760
2766
  difficulty?: TripCardDifficulty;
2761
2767
  /**
@@ -3098,6 +3104,8 @@ interface Category2BlogPost {
3098
3104
  excerpt?: string;
3099
3105
  category?: string;
3100
3106
  readingTime?: string;
3107
+ /** When true, the card opens its href in a new tab (external article URL). */
3108
+ external?: boolean;
3101
3109
  }
3102
3110
  interface Category2Faq {
3103
3111
  question: string;
package/dist/index.d.ts CHANGED
@@ -2756,6 +2756,12 @@ interface TripCardProps {
2756
2756
  onFavoriteToggle?: (next: boolean) => void;
2757
2757
  /** Localização/região exibida no rodapé branco (ex.: "Pantanal, Brazil"). */
2758
2758
  location?: string;
2759
+ /**
2760
+ * When set, the location becomes a link to its destination/taxonomy page.
2761
+ * Rendered above the card's own stretched link so it's independently
2762
+ * clickable (no nested anchors).
2763
+ */
2764
+ locationHref?: string;
2759
2765
  /** Nível de dificuldade — renderizado com um dot colorido. */
2760
2766
  difficulty?: TripCardDifficulty;
2761
2767
  /**
@@ -3098,6 +3104,8 @@ interface Category2BlogPost {
3098
3104
  excerpt?: string;
3099
3105
  category?: string;
3100
3106
  readingTime?: string;
3107
+ /** When true, the card opens its href in a new tab (external article URL). */
3108
+ external?: boolean;
3101
3109
  }
3102
3110
  interface Category2Faq {
3103
3111
  question: string;
package/dist/index.js CHANGED
@@ -12118,6 +12118,7 @@ function TripCardEditorial(props) {
12118
12118
  favorited: favoritedProp,
12119
12119
  onFavoriteToggle,
12120
12120
  location,
12121
+ locationHref,
12121
12122
  difficulty,
12122
12123
  tag,
12123
12124
  tagHref
@@ -12180,7 +12181,22 @@ function TripCardEditorial(props) {
12180
12181
  ] }),
12181
12182
  (description || price || nights || location || difficulty) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 bg-card p-6", children: [
12182
12183
  (location || difficulty) && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between gap-3", children: [
12183
- location ? /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-foreground/85", children: [
12184
+ location ? locationHref ? (
12185
+ // Above the card's stretched link (z-20) so the location is
12186
+ // independently clickable through to its destination page.
12187
+ /* @__PURE__ */ jsxs(
12188
+ "a",
12189
+ {
12190
+ href: locationHref,
12191
+ onClick: (e) => e.stopPropagation(),
12192
+ className: "relative z-20 flex items-center gap-1.5 text-foreground/85 transition-colors hover:text-primary focus:outline-none focus-visible:ring-2 focus-visible:ring-ring rounded",
12193
+ children: [
12194
+ /* @__PURE__ */ jsx(MapPinIcon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
12195
+ /* @__PURE__ */ jsx("span", { className: "text-sm font-ui font-semibold underline-offset-2 hover:underline", children: location })
12196
+ ]
12197
+ }
12198
+ )
12199
+ ) : /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-1.5 text-foreground/85", children: [
12184
12200
  /* @__PURE__ */ jsx(MapPinIcon, { className: "h-4 w-4 shrink-0 text-muted-foreground" }),
12185
12201
  /* @__PURE__ */ jsx("span", { className: "text-sm font-ui font-semibold", children: location })
12186
12202
  ] }) : /* @__PURE__ */ jsx("span", {}),
@@ -13663,6 +13679,7 @@ function BlogCard({
13663
13679
  title,
13664
13680
  excerpt,
13665
13681
  href,
13682
+ external,
13666
13683
  cta,
13667
13684
  size = "md",
13668
13685
  className
@@ -13725,6 +13742,8 @@ function BlogCard({
13725
13742
  onClick: cta == null ? void 0 : cta.onClick,
13726
13743
  className: baseClasses,
13727
13744
  "aria-label": title,
13745
+ target: external ? "_blank" : void 0,
13746
+ rel: external ? "noopener noreferrer" : void 0,
13728
13747
  children: inner
13729
13748
  }
13730
13749
  ) : /* @__PURE__ */ jsx("div", { className: baseClasses, children: inner });
@@ -14035,6 +14054,7 @@ function CategoryPage2({
14035
14054
  BlogCard,
14036
14055
  {
14037
14056
  href: post.href,
14057
+ external: post.external,
14038
14058
  image: post.image,
14039
14059
  imageAlt: post.imageAlt,
14040
14060
  title: post.title,