@opensite/ui 1.5.8 → 1.5.9

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.
@@ -33,32 +33,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
33
  function cn(...inputs) {
34
34
  return tailwindMerge.twMerge(clsx.clsx(inputs));
35
35
  }
36
- function getAccentColor(parentBg, options) {
37
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
38
- return isDark ? "text-accent-foreground" : "text-primary";
39
- }
40
- function getBorderColor(parentBg, variant = "default", options) {
41
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
42
- if (isDark) {
43
- switch (variant) {
44
- case "default":
45
- return "border-foreground/20";
46
- case "muted":
47
- return "border-foreground/10";
48
- case "accent":
49
- return "border-accent-foreground";
50
- }
51
- } else {
52
- switch (variant) {
53
- case "default":
54
- return "border-border";
55
- case "muted":
56
- return "border-muted";
57
- case "accent":
58
- return "border-primary";
59
- }
60
- }
61
- }
62
36
  var svgCache = /* @__PURE__ */ new Map();
63
37
  function DynamicIcon({
64
38
  name,
@@ -987,7 +961,15 @@ function AboutNetworkSpotlight({
987
961
  if (highlightsSlot) return highlightsSlot;
988
962
  if (!highlights || highlights.length === 0) return null;
989
963
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-6 space-y-3", highlightsClassName), children: highlights.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-3 text-background/80", children: [
990
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20", getAccentColor(background)), children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 14 }) }),
964
+ /* @__PURE__ */ jsxRuntime.jsx(
965
+ "span",
966
+ {
967
+ className: cn(
968
+ "mt-1 flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
969
+ ),
970
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 14 })
971
+ }
972
+ ),
991
973
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: item })
992
974
  ] }, index)) });
993
975
  }, [highlightsSlot, highlights, highlightsClassName]);
@@ -1003,11 +985,20 @@ function AboutNetworkSpotlight({
1003
985
  className: actionClassName,
1004
986
  ...pressableProps
1005
987
  } = action;
1006
- return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1007
- icon,
1008
- label,
1009
- iconAfter
1010
- ] }) }, index);
988
+ return /* @__PURE__ */ jsxRuntime.jsx(
989
+ Pressable,
990
+ {
991
+ className: actionClassName,
992
+ asButton: true,
993
+ ...pressableProps,
994
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
995
+ icon,
996
+ label,
997
+ iconAfter
998
+ ] })
999
+ },
1000
+ index
1001
+ );
1011
1002
  });
1012
1003
  }, [actionsSlot, actions]);
1013
1004
  const spotlightCardContent = React.useMemo(() => {
@@ -1018,14 +1009,21 @@ function AboutNetworkSpotlight({
1018
1009
  {
1019
1010
  className: cn(
1020
1011
  "rounded-2xl border bg-foreground/80 p-5 backdrop-blur-sm",
1021
- getBorderColor(background, "accent"),
1022
1012
  spotlightCardClassName
1023
1013
  ),
1024
1014
  children: [
1025
1015
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center gap-3", children: [
1026
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-12 w-12 items-center justify-center rounded-full text-primary-foreground", getAccentColor(background)), children: spotlightCard.icon }),
1016
+ /* @__PURE__ */ jsxRuntime.jsx(
1017
+ "div",
1018
+ {
1019
+ className: cn(
1020
+ "flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
1021
+ ),
1022
+ children: spotlightCard.icon
1023
+ }
1024
+ ),
1027
1025
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1028
- typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]", getAccentColor(background)), children: spotlightCard.label }) : spotlightCard.label,
1026
+ typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]"), children: spotlightCard.label }) : spotlightCard.label,
1029
1027
  typeof spotlightCard.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold text-background", children: spotlightCard.title }) : spotlightCard.title
1030
1028
  ] })
1031
1029
  ] }),
@@ -1085,7 +1083,6 @@ function AboutNetworkSpotlight({
1085
1083
  {
1086
1084
  className: cn(
1087
1085
  "text-sm font-semibold uppercase tracking-[0.2em]",
1088
- getAccentColor(background),
1089
1086
  eyebrowClassName
1090
1087
  ),
1091
1088
  children: eyebrow
@@ -12,32 +12,6 @@ import { cva } from 'class-variance-authority';
12
12
  function cn(...inputs) {
13
13
  return twMerge(clsx(inputs));
14
14
  }
15
- function getAccentColor(parentBg, options) {
16
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
17
- return isDark ? "text-accent-foreground" : "text-primary";
18
- }
19
- function getBorderColor(parentBg, variant = "default", options) {
20
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
21
- if (isDark) {
22
- switch (variant) {
23
- case "default":
24
- return "border-foreground/20";
25
- case "muted":
26
- return "border-foreground/10";
27
- case "accent":
28
- return "border-accent-foreground";
29
- }
30
- } else {
31
- switch (variant) {
32
- case "default":
33
- return "border-border";
34
- case "muted":
35
- return "border-muted";
36
- case "accent":
37
- return "border-primary";
38
- }
39
- }
40
- }
41
15
  var svgCache = /* @__PURE__ */ new Map();
42
16
  function DynamicIcon({
43
17
  name,
@@ -966,7 +940,15 @@ function AboutNetworkSpotlight({
966
940
  if (highlightsSlot) return highlightsSlot;
967
941
  if (!highlights || highlights.length === 0) return null;
968
942
  return /* @__PURE__ */ jsx("ul", { className: cn("mt-6 space-y-3", highlightsClassName), children: highlights.map((item, index) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-3 text-background/80", children: [
969
- /* @__PURE__ */ jsx("span", { className: cn("mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20", getAccentColor(background)), children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 14 }) }),
943
+ /* @__PURE__ */ jsx(
944
+ "span",
945
+ {
946
+ className: cn(
947
+ "mt-1 flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
948
+ ),
949
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 14 })
950
+ }
951
+ ),
970
952
  /* @__PURE__ */ jsx("span", { children: item })
971
953
  ] }, index)) });
972
954
  }, [highlightsSlot, highlights, highlightsClassName]);
@@ -982,11 +964,20 @@ function AboutNetworkSpotlight({
982
964
  className: actionClassName,
983
965
  ...pressableProps
984
966
  } = action;
985
- return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
986
- icon,
987
- label,
988
- iconAfter
989
- ] }) }, index);
967
+ return /* @__PURE__ */ jsx(
968
+ Pressable,
969
+ {
970
+ className: actionClassName,
971
+ asButton: true,
972
+ ...pressableProps,
973
+ children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
974
+ icon,
975
+ label,
976
+ iconAfter
977
+ ] })
978
+ },
979
+ index
980
+ );
990
981
  });
991
982
  }, [actionsSlot, actions]);
992
983
  const spotlightCardContent = useMemo(() => {
@@ -997,14 +988,21 @@ function AboutNetworkSpotlight({
997
988
  {
998
989
  className: cn(
999
990
  "rounded-2xl border bg-foreground/80 p-5 backdrop-blur-sm",
1000
- getBorderColor(background, "accent"),
1001
991
  spotlightCardClassName
1002
992
  ),
1003
993
  children: [
1004
994
  /* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-3", children: [
1005
- /* @__PURE__ */ jsx("div", { className: cn("flex h-12 w-12 items-center justify-center rounded-full text-primary-foreground", getAccentColor(background)), children: spotlightCard.icon }),
995
+ /* @__PURE__ */ jsx(
996
+ "div",
997
+ {
998
+ className: cn(
999
+ "flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
1000
+ ),
1001
+ children: spotlightCard.icon
1002
+ }
1003
+ ),
1006
1004
  /* @__PURE__ */ jsxs("div", { children: [
1007
- typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]", getAccentColor(background)), children: spotlightCard.label }) : spotlightCard.label,
1005
+ typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]"), children: spotlightCard.label }) : spotlightCard.label,
1008
1006
  typeof spotlightCard.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold text-background", children: spotlightCard.title }) : spotlightCard.title
1009
1007
  ] })
1010
1008
  ] }),
@@ -1064,7 +1062,6 @@ function AboutNetworkSpotlight({
1064
1062
  {
1065
1063
  className: cn(
1066
1064
  "text-sm font-semibold uppercase tracking-[0.2em]",
1067
- getAccentColor(background),
1068
1065
  eyebrowClassName
1069
1066
  ),
1070
1067
  children: eyebrow
@@ -33,36 +33,6 @@ var React__namespace = /*#__PURE__*/_interopNamespace(React);
33
33
  function cn(...inputs) {
34
34
  return tailwindMerge.twMerge(clsx.clsx(inputs));
35
35
  }
36
- function getTextColor(parentBg, variant = "default", options) {
37
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
38
- if (isDark) {
39
- switch (variant) {
40
- case "default":
41
- return "text-foreground";
42
- case "muted":
43
- return "text-foreground/80";
44
- case "subtle":
45
- return "text-foreground/60";
46
- case "accent":
47
- return "text-accent-foreground";
48
- }
49
- } else {
50
- switch (variant) {
51
- case "default":
52
- return "text-foreground";
53
- case "muted":
54
- return "text-muted-foreground";
55
- case "subtle":
56
- return "text-muted-foreground/70";
57
- case "accent":
58
- return "text-primary";
59
- }
60
- }
61
- }
62
- function getAccentColor(parentBg, options) {
63
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
64
- return isDark ? "text-accent-foreground" : "text-primary";
65
- }
66
36
  function normalizePhoneNumber(input) {
67
37
  const trimmed = input.trim();
68
38
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -1009,8 +979,8 @@ function HeroEventRegistration({
1009
979
  locationSublabel,
1010
980
  locationSlot,
1011
981
  background,
1012
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
1013
- spacing = "py-6 md:py-32",
982
+ containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
983
+ spacing = "py-20 md:py-32",
1014
984
  pattern,
1015
985
  patternOpacity,
1016
986
  className,
@@ -1062,39 +1032,25 @@ function HeroEventRegistration({
1062
1032
  if (!stats || stats.length === 0) return null;
1063
1033
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
1064
1034
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
1065
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm", getTextColor(background, "muted")), children: stat.label })
1035
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
1066
1036
  ] }, index)) });
1067
1037
  }, [statsSlot, stats, statsClassName]);
1068
1038
  const renderLocation = React.useMemo(() => {
1069
1039
  if (locationSlot) return locationSlot;
1070
1040
  if (!locationLabel && !locationSublabel) return null;
1071
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-background p-4 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1041
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card p-4 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
1072
1042
  /* @__PURE__ */ jsxRuntime.jsx(
1073
1043
  "div",
1074
1044
  {
1075
1045
  className: cn(
1076
- "flex h-12 w-12 items-center justify-center rounded-full",
1077
- `${getAccentColor(background)}/10`
1046
+ "flex h-12 w-12 items-center justify-center rounded-full text-card-foreground"
1078
1047
  ),
1079
- children: /* @__PURE__ */ jsxRuntime.jsx(
1080
- DynamicIcon,
1081
- {
1082
- name: "lucide/map-pin",
1083
- size: 24,
1084
- className: getAccentColor(background)
1085
- }
1086
- )
1048
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/map-pin", size: 24 })
1087
1049
  }
1088
1050
  ),
1089
1051
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
1090
1052
  locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold ", children: locationLabel }) : locationLabel),
1091
- locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1092
- "div",
1093
- {
1094
- className: cn("text-sm", getTextColor(background, "muted")),
1095
- children: locationSublabel
1096
- }
1097
- ) : locationSublabel)
1053
+ locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: locationSublabel }) : locationSublabel)
1098
1054
  ] })
1099
1055
  ] }) });
1100
1056
  }, [locationSlot, locationLabel, locationSublabel]);
@@ -1145,17 +1101,7 @@ function HeroEventRegistration({
1145
1101
  children: heading
1146
1102
  }
1147
1103
  )),
1148
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
1149
- "p",
1150
- {
1151
- className: cn(
1152
- "text-lg",
1153
- getTextColor(background, "muted"),
1154
- descriptionClassName
1155
- ),
1156
- children: description
1157
- }
1158
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1104
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
1159
1105
  renderActions,
1160
1106
  renderStats
1161
1107
  ] }),
@@ -12,36 +12,6 @@ import { Img } from '@page-speed/img';
12
12
  function cn(...inputs) {
13
13
  return twMerge(clsx(inputs));
14
14
  }
15
- function getTextColor(parentBg, variant = "default", options) {
16
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
17
- if (isDark) {
18
- switch (variant) {
19
- case "default":
20
- return "text-foreground";
21
- case "muted":
22
- return "text-foreground/80";
23
- case "subtle":
24
- return "text-foreground/60";
25
- case "accent":
26
- return "text-accent-foreground";
27
- }
28
- } else {
29
- switch (variant) {
30
- case "default":
31
- return "text-foreground";
32
- case "muted":
33
- return "text-muted-foreground";
34
- case "subtle":
35
- return "text-muted-foreground/70";
36
- case "accent":
37
- return "text-primary";
38
- }
39
- }
40
- }
41
- function getAccentColor(parentBg, options) {
42
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
43
- return isDark ? "text-accent-foreground" : "text-primary";
44
- }
45
15
  function normalizePhoneNumber(input) {
46
16
  const trimmed = input.trim();
47
17
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -988,8 +958,8 @@ function HeroEventRegistration({
988
958
  locationSublabel,
989
959
  locationSlot,
990
960
  background,
991
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
992
- spacing = "py-6 md:py-32",
961
+ containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
962
+ spacing = "py-20 md:py-32",
993
963
  pattern,
994
964
  patternOpacity,
995
965
  className,
@@ -1041,39 +1011,25 @@ function HeroEventRegistration({
1041
1011
  if (!stats || stats.length === 0) return null;
1042
1012
  return /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
1043
1013
  /* @__PURE__ */ jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
1044
- /* @__PURE__ */ jsx("div", { className: cn("text-sm", getTextColor(background, "muted")), children: stat.label })
1014
+ /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
1045
1015
  ] }, index)) });
1046
1016
  }, [statsSlot, stats, statsClassName]);
1047
1017
  const renderLocation = useMemo(() => {
1048
1018
  if (locationSlot) return locationSlot;
1049
1019
  if (!locationLabel && !locationSublabel) return null;
1050
- return /* @__PURE__ */ jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-background p-4 shadow-lg", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
1020
+ return /* @__PURE__ */ jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card p-4 shadow-lg", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
1051
1021
  /* @__PURE__ */ jsx(
1052
1022
  "div",
1053
1023
  {
1054
1024
  className: cn(
1055
- "flex h-12 w-12 items-center justify-center rounded-full",
1056
- `${getAccentColor(background)}/10`
1025
+ "flex h-12 w-12 items-center justify-center rounded-full text-card-foreground"
1057
1026
  ),
1058
- children: /* @__PURE__ */ jsx(
1059
- DynamicIcon,
1060
- {
1061
- name: "lucide/map-pin",
1062
- size: 24,
1063
- className: getAccentColor(background)
1064
- }
1065
- )
1027
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/map-pin", size: 24 })
1066
1028
  }
1067
1029
  ),
1068
1030
  /* @__PURE__ */ jsxs("div", { children: [
1069
1031
  locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsx("div", { className: "font-semibold ", children: locationLabel }) : locationLabel),
1070
- locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsx(
1071
- "div",
1072
- {
1073
- className: cn("text-sm", getTextColor(background, "muted")),
1074
- children: locationSublabel
1075
- }
1076
- ) : locationSublabel)
1032
+ locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: locationSublabel }) : locationSublabel)
1077
1033
  ] })
1078
1034
  ] }) });
1079
1035
  }, [locationSlot, locationLabel, locationSublabel]);
@@ -1124,17 +1080,7 @@ function HeroEventRegistration({
1124
1080
  children: heading
1125
1081
  }
1126
1082
  )),
1127
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
1128
- "p",
1129
- {
1130
- className: cn(
1131
- "text-lg",
1132
- getTextColor(background, "muted"),
1133
- descriptionClassName
1134
- ),
1135
- children: description
1136
- }
1137
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1083
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
1138
1084
  renderActions,
1139
1085
  renderStats
1140
1086
  ] }),
package/dist/registry.cjs CHANGED
@@ -3632,7 +3632,15 @@ function AboutNetworkSpotlight({
3632
3632
  if (highlightsSlot) return highlightsSlot;
3633
3633
  if (!highlights || highlights.length === 0) return null;
3634
3634
  return /* @__PURE__ */ jsxRuntime.jsx("ul", { className: cn("mt-6 space-y-3", highlightsClassName), children: highlights.map((item, index) => /* @__PURE__ */ jsxRuntime.jsxs("li", { className: "flex items-start gap-3 text-background/80", children: [
3635
- /* @__PURE__ */ jsxRuntime.jsx("span", { className: cn("mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20", getAccentColor(background)), children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 14 }) }),
3635
+ /* @__PURE__ */ jsxRuntime.jsx(
3636
+ "span",
3637
+ {
3638
+ className: cn(
3639
+ "mt-1 flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
3640
+ ),
3641
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/check", size: 14 })
3642
+ }
3643
+ ),
3636
3644
  /* @__PURE__ */ jsxRuntime.jsx("span", { children: item })
3637
3645
  ] }, index)) });
3638
3646
  }, [highlightsSlot, highlights, highlightsClassName]);
@@ -3648,11 +3656,20 @@ function AboutNetworkSpotlight({
3648
3656
  className: actionClassName,
3649
3657
  ...pressableProps
3650
3658
  } = action;
3651
- return /* @__PURE__ */ jsxRuntime.jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3652
- icon,
3653
- label,
3654
- iconAfter
3655
- ] }) }, index);
3659
+ return /* @__PURE__ */ jsxRuntime.jsx(
3660
+ Pressable,
3661
+ {
3662
+ className: actionClassName,
3663
+ asButton: true,
3664
+ ...pressableProps,
3665
+ children: children ?? /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
3666
+ icon,
3667
+ label,
3668
+ iconAfter
3669
+ ] })
3670
+ },
3671
+ index
3672
+ );
3656
3673
  });
3657
3674
  }, [actionsSlot, actions]);
3658
3675
  const spotlightCardContent = React52.useMemo(() => {
@@ -3663,14 +3680,21 @@ function AboutNetworkSpotlight({
3663
3680
  {
3664
3681
  className: cn(
3665
3682
  "rounded-2xl border bg-foreground/80 p-5 backdrop-blur-sm",
3666
- getBorderColor(background, "accent"),
3667
3683
  spotlightCardClassName
3668
3684
  ),
3669
3685
  children: [
3670
3686
  /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mb-2 flex items-center gap-3", children: [
3671
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("flex h-12 w-12 items-center justify-center rounded-full text-primary-foreground", getAccentColor(background)), children: spotlightCard.icon }),
3687
+ /* @__PURE__ */ jsxRuntime.jsx(
3688
+ "div",
3689
+ {
3690
+ className: cn(
3691
+ "flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
3692
+ ),
3693
+ children: spotlightCard.icon
3694
+ }
3695
+ ),
3672
3696
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
3673
- typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]", getAccentColor(background)), children: spotlightCard.label }) : spotlightCard.label,
3697
+ typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]"), children: spotlightCard.label }) : spotlightCard.label,
3674
3698
  typeof spotlightCard.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-lg font-bold text-background", children: spotlightCard.title }) : spotlightCard.title
3675
3699
  ] })
3676
3700
  ] }),
@@ -3730,7 +3754,6 @@ function AboutNetworkSpotlight({
3730
3754
  {
3731
3755
  className: cn(
3732
3756
  "text-sm font-semibold uppercase tracking-[0.2em]",
3733
- getAccentColor(background),
3734
3757
  eyebrowClassName
3735
3758
  ),
3736
3759
  children: eyebrow
@@ -57524,8 +57547,8 @@ function HeroEventRegistration({
57524
57547
  locationSublabel,
57525
57548
  locationSlot,
57526
57549
  background,
57527
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
57528
- spacing = "py-6 md:py-32",
57550
+ containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
57551
+ spacing = "py-20 md:py-32",
57529
57552
  pattern,
57530
57553
  patternOpacity,
57531
57554
  className,
@@ -57577,39 +57600,25 @@ function HeroEventRegistration({
57577
57600
  if (!stats || stats.length === 0) return null;
57578
57601
  return /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "text-center", children: [
57579
57602
  /* @__PURE__ */ jsxRuntime.jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
57580
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm", getTextColor(background, "muted")), children: stat.label })
57603
+ /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: stat.label })
57581
57604
  ] }, index)) });
57582
57605
  }, [statsSlot, stats, statsClassName]);
57583
57606
  const renderLocation = React52.useMemo(() => {
57584
57607
  if (locationSlot) return locationSlot;
57585
57608
  if (!locationLabel && !locationSublabel) return null;
57586
- return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-background p-4 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
57609
+ return /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card p-4 shadow-lg", children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex items-center gap-3", children: [
57587
57610
  /* @__PURE__ */ jsxRuntime.jsx(
57588
57611
  "div",
57589
57612
  {
57590
57613
  className: cn(
57591
- "flex h-12 w-12 items-center justify-center rounded-full",
57592
- `${getAccentColor(background)}/10`
57614
+ "flex h-12 w-12 items-center justify-center rounded-full text-card-foreground"
57593
57615
  ),
57594
- children: /* @__PURE__ */ jsxRuntime.jsx(
57595
- DynamicIcon,
57596
- {
57597
- name: "lucide/map-pin",
57598
- size: 24,
57599
- className: getAccentColor(background)
57600
- }
57601
- )
57616
+ children: /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/map-pin", size: 24 })
57602
57617
  }
57603
57618
  ),
57604
57619
  /* @__PURE__ */ jsxRuntime.jsxs("div", { children: [
57605
57620
  locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: "font-semibold ", children: locationLabel }) : locationLabel),
57606
- locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
57607
- "div",
57608
- {
57609
- className: cn("text-sm", getTextColor(background, "muted")),
57610
- children: locationSublabel
57611
- }
57612
- ) : locationSublabel)
57621
+ locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-sm"), children: locationSublabel }) : locationSublabel)
57613
57622
  ] })
57614
57623
  ] }) });
57615
57624
  }, [locationSlot, locationLabel, locationSublabel]);
@@ -57660,17 +57669,7 @@ function HeroEventRegistration({
57660
57669
  children: heading
57661
57670
  }
57662
57671
  )),
57663
- description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
57664
- "p",
57665
- {
57666
- className: cn(
57667
- "text-lg",
57668
- getTextColor(background, "muted"),
57669
- descriptionClassName
57670
- ),
57671
- children: description
57672
- }
57673
- ) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
57672
+ description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: descriptionClassName, children: description })),
57674
57673
  renderActions,
57675
57674
  renderStats
57676
57675
  ] }),
package/dist/registry.js CHANGED
@@ -3592,7 +3592,15 @@ function AboutNetworkSpotlight({
3592
3592
  if (highlightsSlot) return highlightsSlot;
3593
3593
  if (!highlights || highlights.length === 0) return null;
3594
3594
  return /* @__PURE__ */ jsx("ul", { className: cn("mt-6 space-y-3", highlightsClassName), children: highlights.map((item, index) => /* @__PURE__ */ jsxs("li", { className: "flex items-start gap-3 text-background/80", children: [
3595
- /* @__PURE__ */ jsx("span", { className: cn("mt-1 flex h-5 w-5 items-center justify-center rounded-full bg-primary/20", getAccentColor(background)), children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 14 }) }),
3595
+ /* @__PURE__ */ jsx(
3596
+ "span",
3597
+ {
3598
+ className: cn(
3599
+ "mt-1 flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
3600
+ ),
3601
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/check", size: 14 })
3602
+ }
3603
+ ),
3596
3604
  /* @__PURE__ */ jsx("span", { children: item })
3597
3605
  ] }, index)) });
3598
3606
  }, [highlightsSlot, highlights, highlightsClassName]);
@@ -3608,11 +3616,20 @@ function AboutNetworkSpotlight({
3608
3616
  className: actionClassName,
3609
3617
  ...pressableProps
3610
3618
  } = action;
3611
- return /* @__PURE__ */ jsx(Pressable, { className: actionClassName, asButton: true, ...pressableProps, children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
3612
- icon,
3613
- label,
3614
- iconAfter
3615
- ] }) }, index);
3619
+ return /* @__PURE__ */ jsx(
3620
+ Pressable,
3621
+ {
3622
+ className: actionClassName,
3623
+ asButton: true,
3624
+ ...pressableProps,
3625
+ children: children ?? /* @__PURE__ */ jsxs(Fragment$1, { children: [
3626
+ icon,
3627
+ label,
3628
+ iconAfter
3629
+ ] })
3630
+ },
3631
+ index
3632
+ );
3616
3633
  });
3617
3634
  }, [actionsSlot, actions]);
3618
3635
  const spotlightCardContent = useMemo(() => {
@@ -3623,14 +3640,21 @@ function AboutNetworkSpotlight({
3623
3640
  {
3624
3641
  className: cn(
3625
3642
  "rounded-2xl border bg-foreground/80 p-5 backdrop-blur-sm",
3626
- getBorderColor(background, "accent"),
3627
3643
  spotlightCardClassName
3628
3644
  ),
3629
3645
  children: [
3630
3646
  /* @__PURE__ */ jsxs("div", { className: "mb-2 flex items-center gap-3", children: [
3631
- /* @__PURE__ */ jsx("div", { className: cn("flex h-12 w-12 items-center justify-center rounded-full text-primary-foreground", getAccentColor(background)), children: spotlightCard.icon }),
3647
+ /* @__PURE__ */ jsx(
3648
+ "div",
3649
+ {
3650
+ className: cn(
3651
+ "flex size-fit p-2 items-center justify-center rounded-full bg-primary text-primary-foreground"
3652
+ ),
3653
+ children: spotlightCard.icon
3654
+ }
3655
+ ),
3632
3656
  /* @__PURE__ */ jsxs("div", { children: [
3633
- typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]", getAccentColor(background)), children: spotlightCard.label }) : spotlightCard.label,
3657
+ typeof spotlightCard.label === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-xs font-bold uppercase tracking-[0.2em]"), children: spotlightCard.label }) : spotlightCard.label,
3634
3658
  typeof spotlightCard.title === "string" ? /* @__PURE__ */ jsx("h3", { className: "text-lg font-bold text-background", children: spotlightCard.title }) : spotlightCard.title
3635
3659
  ] })
3636
3660
  ] }),
@@ -3690,7 +3714,6 @@ function AboutNetworkSpotlight({
3690
3714
  {
3691
3715
  className: cn(
3692
3716
  "text-sm font-semibold uppercase tracking-[0.2em]",
3693
- getAccentColor(background),
3694
3717
  eyebrowClassName
3695
3718
  ),
3696
3719
  children: eyebrow
@@ -57484,8 +57507,8 @@ function HeroEventRegistration({
57484
57507
  locationSublabel,
57485
57508
  locationSlot,
57486
57509
  background,
57487
- containerClassName = "px-6 sm:px-6 md:px-8 lg:px-8",
57488
- spacing = "py-6 md:py-32",
57510
+ containerClassName = "px-6 sm:px-0 md:px-0 lg:px-0",
57511
+ spacing = "py-20 md:py-32",
57489
57512
  pattern,
57490
57513
  patternOpacity,
57491
57514
  className,
@@ -57537,39 +57560,25 @@ function HeroEventRegistration({
57537
57560
  if (!stats || stats.length === 0) return null;
57538
57561
  return /* @__PURE__ */ jsx("div", { className: cn("grid grid-cols-3 gap-4 pt-4", statsClassName), children: stats.map((stat, index) => /* @__PURE__ */ jsxs("div", { className: "text-center", children: [
57539
57562
  /* @__PURE__ */ jsx("div", { className: "text-2xl font-bold ", children: stat.value }),
57540
- /* @__PURE__ */ jsx("div", { className: cn("text-sm", getTextColor(background, "muted")), children: stat.label })
57563
+ /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: stat.label })
57541
57564
  ] }, index)) });
57542
57565
  }, [statsSlot, stats, statsClassName]);
57543
57566
  const renderLocation = useMemo(() => {
57544
57567
  if (locationSlot) return locationSlot;
57545
57568
  if (!locationLabel && !locationSublabel) return null;
57546
- return /* @__PURE__ */ jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-background p-4 shadow-lg", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
57569
+ return /* @__PURE__ */ jsx("div", { className: "absolute -bottom-4 -left-4 rounded-xl bg-card p-4 shadow-lg", children: /* @__PURE__ */ jsxs("div", { className: "flex items-center gap-3", children: [
57547
57570
  /* @__PURE__ */ jsx(
57548
57571
  "div",
57549
57572
  {
57550
57573
  className: cn(
57551
- "flex h-12 w-12 items-center justify-center rounded-full",
57552
- `${getAccentColor(background)}/10`
57574
+ "flex h-12 w-12 items-center justify-center rounded-full text-card-foreground"
57553
57575
  ),
57554
- children: /* @__PURE__ */ jsx(
57555
- DynamicIcon,
57556
- {
57557
- name: "lucide/map-pin",
57558
- size: 24,
57559
- className: getAccentColor(background)
57560
- }
57561
- )
57576
+ children: /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/map-pin", size: 24 })
57562
57577
  }
57563
57578
  ),
57564
57579
  /* @__PURE__ */ jsxs("div", { children: [
57565
57580
  locationLabel && (typeof locationLabel === "string" ? /* @__PURE__ */ jsx("div", { className: "font-semibold ", children: locationLabel }) : locationLabel),
57566
- locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsx(
57567
- "div",
57568
- {
57569
- className: cn("text-sm", getTextColor(background, "muted")),
57570
- children: locationSublabel
57571
- }
57572
- ) : locationSublabel)
57581
+ locationSublabel && (typeof locationSublabel === "string" ? /* @__PURE__ */ jsx("div", { className: cn("text-sm"), children: locationSublabel }) : locationSublabel)
57573
57582
  ] })
57574
57583
  ] }) });
57575
57584
  }, [locationSlot, locationLabel, locationSublabel]);
@@ -57620,17 +57629,7 @@ function HeroEventRegistration({
57620
57629
  children: heading
57621
57630
  }
57622
57631
  )),
57623
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
57624
- "p",
57625
- {
57626
- className: cn(
57627
- "text-lg",
57628
- getTextColor(background, "muted"),
57629
- descriptionClassName
57630
- ),
57631
- children: description
57632
- }
57633
- ) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
57632
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-lg", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: descriptionClassName, children: description })),
57634
57633
  renderActions,
57635
57634
  renderStats
57636
57635
  ] }),
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opensite/ui",
3
- "version": "1.5.8",
3
+ "version": "1.5.9",
4
4
  "description": "Foundational UI component library for OpenSite Semantic Site Builder with tree-shakable exports and abstract styling",
5
5
  "keywords": [
6
6
  "react",