@flamingo-stack/openframe-frontend-core 0.0.203 → 0.0.204

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.
@@ -10524,7 +10524,8 @@ function NavigationSidebar({ config, disabled = false }) {
10524
10524
  } else if (item.path) {
10525
10525
  config.onNavigate?.(item.path);
10526
10526
  }
10527
- }, [config]);
10527
+ if (isTablet) setTabletMinimized(true);
10528
+ }, [config, isTablet]);
10528
10529
  const { primaryItems, secondaryItems } = useMemo10(() => ({
10529
10530
  primaryItems: config.items.filter((item) => item.section !== "secondary"),
10530
10531
  secondaryItems: config.items.filter((item) => item.section === "secondary")
@@ -17610,32 +17611,26 @@ function ProductReleaseCard({
17610
17611
  }) {
17611
17612
  if (size === "catalog") {
17612
17613
  const totalChangelog = (changelogCounts?.features ?? 0) + (changelogCounts?.fixes ?? 0) + (changelogCounts?.improvements ?? 0) + (changelogCounts?.breaking ?? 0);
17613
- const valueCells = [];
17614
- if (releaseType && releaseTypeBadgeColor) {
17615
- valueCells.push({
17614
+ const valueCells = [
17615
+ releaseType && releaseTypeBadgeColor ? {
17616
17616
  value: releaseType.toUpperCase(),
17617
17617
  label: "Type",
17618
17618
  uppercase: true,
17619
17619
  colorScheme: releaseTypeBadgeColor
17620
- });
17621
- }
17622
- if (releaseStatus) {
17623
- valueCells.push({
17620
+ } : { value: "\u2014", label: "Type", uppercase: false },
17621
+ releaseStatus ? {
17624
17622
  value: releaseStatus.toUpperCase(),
17625
17623
  label: "Status",
17626
17624
  uppercase: true
17627
- });
17628
- }
17629
- if (formattedDate) {
17630
- valueCells.push({
17625
+ } : { value: "\u2014", label: "Status", uppercase: false },
17626
+ formattedDate ? {
17631
17627
  value: formattedDate,
17632
17628
  label: "Released",
17633
17629
  uppercase: false
17634
- });
17635
- }
17636
- const hasAuthorCell = !!author?.full_name;
17637
- const totalCells = valueCells.length + (hasAuthorCell ? 1 : 0);
17638
- const gridColsClass = totalCells >= 4 ? "md:grid-cols-4" : totalCells === 3 ? "md:grid-cols-3" : totalCells === 2 ? "md:grid-cols-2" : "md:grid-cols-1";
17630
+ } : { value: "\u2014", label: "Released", uppercase: false }
17631
+ ];
17632
+ const effectiveAuthor = author?.full_name ? author : { full_name: "\u2014", avatar_url: null, job_title: "Unknown" };
17633
+ const gridColsClass = "md:grid-cols-4";
17639
17634
  const dividerClass = "border-b md:border-b-0 md:border-r border-ods-border";
17640
17635
  const frameClass = cn(
17641
17636
  "group bg-ods-system-greys-black border border-ods-border rounded-lg overflow-hidden",
@@ -17667,11 +17662,11 @@ function ProductReleaseCard({
17667
17662
  "v",
17668
17663
  version
17669
17664
  ] }) }),
17670
- /* @__PURE__ */ jsx139("h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight line-clamp-2 mb-3", children: title }),
17671
- summary && /* @__PURE__ */ jsx139("p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-4 flex-1", children: summary })
17665
+ /* @__PURE__ */ jsx139("div", { className: "min-h-[60px] md:min-h-[72px] flex items-start mb-3", children: /* @__PURE__ */ jsx139("h3", { className: "font-['Azeret_Mono'] font-semibold text-xl md:text-2xl text-ods-text-primary leading-tight line-clamp-2", children: title }) }),
17666
+ /* @__PURE__ */ jsx139("div", { className: "min-h-[68px] md:min-h-[78px]", children: /* @__PURE__ */ jsx139("p", { className: "font-['DM_Sans'] text-sm md:text-base text-ods-text-secondary leading-relaxed line-clamp-3", children: summary ?? "" }) })
17672
17667
  ] })
17673
17668
  ] }),
17674
- totalChangelog > 0 && changelogCounts && /* @__PURE__ */ jsxs110("div", { className: "border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 font-['DM_Sans'] text-sm text-ods-text-secondary", children: [
17669
+ /* @__PURE__ */ jsx139("div", { className: "border-t border-ods-border pt-3 flex flex-wrap items-center gap-x-4 gap-y-1.5 font-['DM_Sans'] text-sm text-ods-text-secondary", children: totalChangelog > 0 && changelogCounts ? /* @__PURE__ */ jsxs110(Fragment20, { children: [
17675
17670
  changelogCounts.features > 0 && /* @__PURE__ */ jsxs110("span", { className: "inline-flex items-center gap-1.5", children: [
17676
17671
  /* @__PURE__ */ jsx139(Sparkles2, { className: "w-3.5 h-3.5" }),
17677
17672
  changelogCounts.features,
@@ -17695,8 +17690,8 @@ function ProductReleaseCard({
17695
17690
  changelogCounts.breaking,
17696
17691
  " breaking"
17697
17692
  ] })
17698
- ] }),
17699
- totalCells > 0 && /* @__PURE__ */ jsxs110(
17693
+ ] }) : /* @__PURE__ */ jsx139("span", { className: "text-sm text-ods-text-secondary", children: "No changelog entries yet" }) }),
17694
+ /* @__PURE__ */ jsxs110(
17700
17695
  "div",
17701
17696
  {
17702
17697
  className: cn(
@@ -17708,12 +17703,7 @@ function ProductReleaseCard({
17708
17703
  valueCells.map((cell, i) => /* @__PURE__ */ jsx139(
17709
17704
  "div",
17710
17705
  {
17711
- className: cn(
17712
- "bg-ods-card p-4 flex flex-col gap-3",
17713
- // Last value cell skips the trailing divider when no
17714
- // author cell follows; otherwise every value cell gets it.
17715
- (i < valueCells.length - 1 || hasAuthorCell) && dividerClass
17716
- ),
17706
+ className: cn("bg-ods-card p-4 flex flex-col gap-3", dividerClass),
17717
17707
  children: /* @__PURE__ */ jsxs110("div", { className: "flex flex-col gap-0", children: [
17718
17708
  cell.colorScheme ? /* @__PURE__ */ jsx139(
17719
17709
  StatusBadge,
@@ -17724,26 +17714,37 @@ function ProductReleaseCard({
17724
17714
  singleLine: true,
17725
17715
  className: "self-start"
17726
17716
  }
17727
- ) : /* @__PURE__ */ jsx139("p", { className: "text-h4 text-ods-text-primary", children: cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value }),
17717
+ ) : /* @__PURE__ */ jsx139(
17718
+ "p",
17719
+ {
17720
+ className: cn(
17721
+ "text-h4",
17722
+ // Em-dash placeholder reads as secondary text;
17723
+ // populated values stay primary.
17724
+ cell.value === "\u2014" ? "text-ods-text-secondary" : "text-ods-text-primary"
17725
+ ),
17726
+ children: cell.uppercase ? cell.value.toLocaleUpperCase() : cell.value
17727
+ }
17728
+ ),
17728
17729
  /* @__PURE__ */ jsx139("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: cell.label })
17729
17730
  ] })
17730
17731
  },
17731
17732
  `${cell.label}-${i}`
17732
17733
  )),
17733
- hasAuthorCell && author && /* @__PURE__ */ jsxs110("div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17734
+ /* @__PURE__ */ jsxs110("div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17734
17735
  /* @__PURE__ */ jsx139(
17735
17736
  SquareAvatar,
17736
17737
  {
17737
- src: author.avatar_url ?? void 0,
17738
- alt: author.full_name,
17739
- fallback: author.full_name.charAt(0).toUpperCase(),
17738
+ src: effectiveAuthor.avatar_url ?? void 0,
17739
+ alt: effectiveAuthor.full_name,
17740
+ fallback: effectiveAuthor.full_name.charAt(0).toUpperCase(),
17740
17741
  size: "md",
17741
17742
  variant: "round"
17742
17743
  }
17743
17744
  ),
17744
17745
  /* @__PURE__ */ jsxs110("div", { className: "flex flex-col gap-0 flex-1 min-w-0", children: [
17745
- /* @__PURE__ */ jsx139("p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: author.full_name }),
17746
- /* @__PURE__ */ jsx139("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: author.job_title || "Author" })
17746
+ /* @__PURE__ */ jsx139("p", { className: "text-h3 tracking-[-0.36px] text-ods-text-primary truncate", children: effectiveAuthor.full_name }),
17747
+ /* @__PURE__ */ jsx139("p", { className: "font-['DM_Sans'] font-medium text-[14px] leading-[20px] text-ods-text-secondary", children: effectiveAuthor.job_title || "Author" })
17747
17748
  ] })
17748
17749
  ] })
17749
17750
  ]
@@ -17921,24 +17922,29 @@ function ProductReleaseCardSkeleton({ className, size = "default" }) {
17921
17922
  ),
17922
17923
  children: [
17923
17924
  /* @__PURE__ */ jsxs111("div", { className: "flex flex-col md:flex-row gap-4 md:gap-6", children: [
17924
- /* @__PURE__ */ jsx140("div", { className: "w-full md:w-[256px] aspect-[16/9] bg-ods-bg rounded-lg flex-shrink-0" }),
17925
+ /* @__PURE__ */ jsx140("div", { className: "w-full md:w-[256px] aspect-[16/9] bg-ods-border rounded-lg flex-shrink-0" }),
17925
17926
  /* @__PURE__ */ jsxs111("div", { className: "flex-1 min-w-0 flex flex-col", children: [
17926
- /* @__PURE__ */ jsx140("div", { className: "h-6 w-20 bg-ods-bg rounded mb-3" }),
17927
- /* @__PURE__ */ jsx140("div", { className: "h-7 w-3/4 bg-ods-bg rounded mb-2" }),
17928
- /* @__PURE__ */ jsx140("div", { className: "h-7 w-1/2 bg-ods-bg rounded mb-3" }),
17929
- /* @__PURE__ */ jsx140("div", { className: "h-3 w-full bg-ods-bg/60 rounded mb-1" }),
17930
- /* @__PURE__ */ jsx140("div", { className: "h-3 w-5/6 bg-ods-bg/60 rounded" })
17927
+ /* @__PURE__ */ jsx140("div", { className: "flex items-center gap-3 mb-3", children: /* @__PURE__ */ jsx140("div", { className: "h-7 w-20 bg-ods-border rounded" }) }),
17928
+ /* @__PURE__ */ jsxs111("div", { className: "min-h-[60px] md:min-h-[72px] flex flex-col gap-1.5 justify-start mb-3", children: [
17929
+ /* @__PURE__ */ jsx140("div", { className: "h-[25px] md:h-[30px] w-3/4 bg-ods-border rounded" }),
17930
+ /* @__PURE__ */ jsx140("div", { className: "h-[25px] md:h-[30px] w-1/2 bg-ods-border rounded" })
17931
+ ] }),
17932
+ /* @__PURE__ */ jsxs111("div", { className: "min-h-[68px] md:min-h-[78px] flex flex-col gap-2 justify-start", children: [
17933
+ /* @__PURE__ */ jsx140("div", { className: "h-3 w-full bg-ods-border/70 rounded" }),
17934
+ /* @__PURE__ */ jsx140("div", { className: "h-3 w-11/12 bg-ods-border/70 rounded" }),
17935
+ /* @__PURE__ */ jsx140("div", { className: "h-3 w-5/6 bg-ods-border/70 rounded" })
17936
+ ] })
17931
17937
  ] })
17932
17938
  ] }),
17933
- /* @__PURE__ */ jsx140("div", { className: "border-t border-ods-border pt-3", children: /* @__PURE__ */ jsx140("div", { className: "h-4 w-2/3 bg-ods-bg/60 rounded" }) }),
17939
+ /* @__PURE__ */ jsx140("div", { className: "border-t border-ods-border pt-3", children: /* @__PURE__ */ jsx140("div", { className: "h-5 w-2/3 bg-ods-border/70 rounded" }) }),
17934
17940
  /* @__PURE__ */ jsxs111("div", { className: "grid grid-cols-1 md:grid-cols-4 border border-ods-border rounded-md overflow-hidden w-full", children: [
17935
17941
  [0, 1, 2].map((i) => /* @__PURE__ */ jsx140(
17936
17942
  "div",
17937
17943
  {
17938
17944
  className: "bg-ods-card p-4 flex flex-col gap-3 border-b md:border-b-0 md:border-r border-ods-border",
17939
17945
  children: /* @__PURE__ */ jsxs111("div", { className: "flex flex-col gap-2", children: [
17940
- /* @__PURE__ */ jsx140("div", { className: "h-6 w-24 bg-ods-bg rounded" }),
17941
- /* @__PURE__ */ jsx140("div", { className: "h-3 w-16 bg-ods-bg/60 rounded" })
17946
+ /* @__PURE__ */ jsx140("div", { className: "h-7 w-24 bg-ods-bg rounded" }),
17947
+ /* @__PURE__ */ jsx140("div", { className: "h-4 w-16 bg-ods-bg/60 rounded" })
17942
17948
  ] })
17943
17949
  },
17944
17950
  `cell-${i}`
@@ -17946,8 +17952,8 @@ function ProductReleaseCardSkeleton({ className, size = "default" }) {
17946
17952
  /* @__PURE__ */ jsxs111("div", { className: "bg-ods-card p-4 flex items-center gap-3", children: [
17947
17953
  /* @__PURE__ */ jsx140("div", { className: "h-10 w-10 rounded-full bg-ods-bg shrink-0" }),
17948
17954
  /* @__PURE__ */ jsxs111("div", { className: "flex flex-col gap-2 flex-1 min-w-0", children: [
17949
- /* @__PURE__ */ jsx140("div", { className: "h-4 w-3/4 bg-ods-bg rounded" }),
17950
- /* @__PURE__ */ jsx140("div", { className: "h-3 w-1/2 bg-ods-bg/60 rounded" })
17955
+ /* @__PURE__ */ jsx140("div", { className: "h-5 w-3/4 bg-ods-bg rounded" }),
17956
+ /* @__PURE__ */ jsx140("div", { className: "h-4 w-1/2 bg-ods-bg/60 rounded" })
17951
17957
  ] })
17952
17958
  ] })
17953
17959
  ] })
@@ -35096,4 +35102,4 @@ export {
35096
35102
  TMCG_SOCIAL_PLATFORMS,
35097
35103
  assets
35098
35104
  };
35099
- //# sourceMappingURL=chunk-E6Q6UGDK.js.map
35105
+ //# sourceMappingURL=chunk-LY34ORX6.js.map