@opensite/ui 1.2.2 → 1.2.4

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.
Files changed (51) hide show
  1. package/dist/auto-scroll-carousel.cjs +2 -2
  2. package/dist/auto-scroll-carousel.js +2 -2
  3. package/dist/blur-vignette-grid.cjs +13 -17
  4. package/dist/blur-vignette-grid.d.cts +2 -2
  5. package/dist/blur-vignette-grid.d.ts +2 -2
  6. package/dist/blur-vignette-grid.js +13 -17
  7. package/dist/carousel-gradient-text.cjs +8 -10
  8. package/dist/carousel-gradient-text.js +8 -10
  9. package/dist/carousel-icon-sidebar.cjs +48 -29
  10. package/dist/carousel-icon-sidebar.js +48 -29
  11. package/dist/carousel-scale-focus.cjs +27 -1
  12. package/dist/carousel-scale-focus.js +27 -1
  13. package/dist/carousel-tabs-content.cjs +46 -36
  14. package/dist/carousel-tabs-content.js +46 -36
  15. package/dist/expandable-case-study-cards.cjs +1 -0
  16. package/dist/expandable-case-study-cards.js +1 -0
  17. package/dist/feature-capabilities-grid.cjs +525 -54
  18. package/dist/feature-capabilities-grid.d.cts +4 -0
  19. package/dist/feature-capabilities-grid.d.ts +4 -0
  20. package/dist/feature-capabilities-grid.js +525 -54
  21. package/dist/feature-card-grid-linked.cjs +40 -35
  22. package/dist/feature-card-grid-linked.d.cts +9 -1
  23. package/dist/feature-card-grid-linked.d.ts +9 -1
  24. package/dist/feature-card-grid-linked.js +40 -35
  25. package/dist/feature-carousel-progress.cjs +129 -56
  26. package/dist/feature-carousel-progress.d.cts +13 -1
  27. package/dist/feature-carousel-progress.d.ts +13 -1
  28. package/dist/feature-carousel-progress.js +129 -56
  29. package/dist/feature-checklist-image.cjs +61 -105
  30. package/dist/feature-checklist-image.d.cts +1 -1
  31. package/dist/feature-checklist-image.d.ts +1 -1
  32. package/dist/feature-checklist-image.js +61 -105
  33. package/dist/feature-icon-grid-bordered.cjs +457 -35
  34. package/dist/feature-icon-grid-bordered.d.cts +4 -0
  35. package/dist/feature-icon-grid-bordered.d.ts +4 -0
  36. package/dist/feature-icon-grid-bordered.js +457 -35
  37. package/dist/feature-numbered-cards.cjs +519 -35
  38. package/dist/feature-numbered-cards.d.cts +18 -2
  39. package/dist/feature-numbered-cards.d.ts +18 -2
  40. package/dist/feature-numbered-cards.js +520 -36
  41. package/dist/feature-split-image.cjs +1 -1
  42. package/dist/feature-split-image.js +1 -1
  43. package/dist/masonry-motion-grid.cjs +2 -2
  44. package/dist/masonry-motion-grid.js +2 -2
  45. package/dist/registry.cjs +10264 -9952
  46. package/dist/registry.js +10262 -9950
  47. package/dist/testimonial-carousel-cards.cjs +28 -8
  48. package/dist/testimonial-carousel-cards.d.cts +8 -0
  49. package/dist/testimonial-carousel-cards.d.ts +8 -0
  50. package/dist/testimonial-carousel-cards.js +28 -8
  51. package/package.json +1 -1
@@ -11,32 +11,6 @@ import { Img } from '@page-speed/img';
11
11
  function cn(...inputs) {
12
12
  return twMerge(clsx(inputs));
13
13
  }
14
- function getTextColor(parentBg, variant = "default", options) {
15
- const isDark = parentBg === "dark" || parentBg === "secondary" || parentBg === "primary";
16
- if (isDark) {
17
- switch (variant) {
18
- case "default":
19
- return "text-foreground";
20
- case "muted":
21
- return "text-foreground/80";
22
- case "subtle":
23
- return "text-foreground/60";
24
- case "accent":
25
- return "text-accent-foreground";
26
- }
27
- } else {
28
- switch (variant) {
29
- case "default":
30
- return "text-foreground";
31
- case "muted":
32
- return "text-muted-foreground";
33
- case "subtle":
34
- return "text-muted-foreground/70";
35
- case "accent":
36
- return "text-primary";
37
- }
38
- }
39
- }
40
14
  function normalizePhoneNumber(input) {
41
15
  const trimmed = input.trim();
42
16
  if (trimmed.toLowerCase().startsWith("tel:")) {
@@ -938,6 +912,8 @@ Section.displayName = "Section";
938
912
  function FeatureChecklistImage({
939
913
  title,
940
914
  description,
915
+ titleClassName,
916
+ descriptionClassName,
941
917
  imageSrc,
942
918
  imageAlt,
943
919
  imageSlot,
@@ -946,12 +922,10 @@ function FeatureChecklistImage({
946
922
  checklistItems,
947
923
  checklistSlot,
948
924
  className,
949
- containerClassName,
925
+ containerClassName = "px-6 sm:px-6 md:mx-6 lg:px-8",
950
926
  contentWrapperClassName,
951
927
  imageClassName,
952
928
  contentClassName,
953
- titleClassName,
954
- descriptionClassName,
955
929
  actionsClassName,
956
930
  checklistClassName,
957
931
  optixFlowConfig,
@@ -973,7 +947,7 @@ function FeatureChecklistImage({
973
947
  onClick: action.onClick,
974
948
  variant: action.variant,
975
949
  size: action.size,
976
- className: cn("mt-6", action.className),
950
+ className: cn("", action.className),
977
951
  "aria-label": action["aria-label"],
978
952
  asButton: true,
979
953
  children: action.children
@@ -988,7 +962,7 @@ function FeatureChecklistImage({
988
962
  onClick: action.onClick,
989
963
  variant: action.variant,
990
964
  size: action.size,
991
- className: cn("mt-6", action.className),
965
+ className: cn("", action.className),
992
966
  "aria-label": action["aria-label"],
993
967
  asButton: true,
994
968
  children: [
@@ -1010,7 +984,7 @@ function FeatureChecklistImage({
1010
984
  src: imageSrc,
1011
985
  alt: imageAlt || "Feature illustration",
1012
986
  className: cn(
1013
- "max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2",
987
+ "max-h-96 w-full rounded-lg object-cover md:max-h-[500px] md:w-1/2 shadow-xl",
1014
988
  imageClassName
1015
989
  ),
1016
990
  loading: "lazy",
@@ -1026,17 +1000,10 @@ function FeatureChecklistImage({
1026
1000
  const content = isString ? item : item.content;
1027
1001
  const iconElement = isString ? /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }) : item.icon ?? (item.iconName ? /* @__PURE__ */ jsx(DynamicIcon, { name: item.iconName, size: 16 }) : /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/circle-check-big", size: 16 }));
1028
1002
  const itemClassName = isString ? void 0 : item.className;
1029
- return /* @__PURE__ */ jsxs(
1030
- "li",
1031
- {
1032
- className: cn("flex items-center gap-3", itemClassName),
1033
- children: [
1034
- iconElement,
1035
- content
1036
- ]
1037
- },
1038
- index
1039
- );
1003
+ return /* @__PURE__ */ jsxs("li", { className: cn("flex items-start gap-3", itemClassName), children: [
1004
+ /* @__PURE__ */ jsx("div", { className: "mt-1", children: iconElement }),
1005
+ content
1006
+ ] }, index);
1040
1007
  });
1041
1008
  }, [checklistSlot, checklistItems]);
1042
1009
  return /* @__PURE__ */ jsx(
@@ -1053,73 +1020,62 @@ function FeatureChecklistImage({
1053
1020
  "div",
1054
1021
  {
1055
1022
  className: cn(
1056
- "flex flex-col gap-12 md:flex-row",
1023
+ "flex flex-col gap-6 md:gap-12 md:flex-row",
1057
1024
  contentWrapperClassName
1058
1025
  ),
1059
1026
  children: [
1060
1027
  imageContent,
1061
- /* @__PURE__ */ jsxs("div", { className: cn("lg:p-10", contentClassName), children: [
1062
- title && (typeof title === "string" ? /* @__PURE__ */ jsx(
1063
- "h2",
1064
- {
1065
- className: cn(
1066
- "text-3xl font-medium text-balance md:text-5xl",
1067
- titleClassName
1068
- ),
1069
- children: title
1070
- }
1071
- ) : /* @__PURE__ */ jsx(
1072
- "div",
1073
- {
1074
- className: cn(
1075
- "text-3xl font-medium text-balance md:text-5xl",
1076
- titleClassName
1077
- ),
1078
- children: title
1079
- }
1080
- )),
1081
- description && (typeof description === "string" ? /* @__PURE__ */ jsx(
1082
- "p",
1083
- {
1084
- className: cn(
1085
- "mt-1 md:mt-6",
1086
- getTextColor(background, "muted"),
1087
- descriptionClassName
1088
- ),
1089
- children: description
1090
- }
1091
- ) : /* @__PURE__ */ jsx(
1092
- "div",
1093
- {
1094
- className: cn(
1095
- "mt-1 md:mt-6",
1096
- getTextColor(background, "muted"),
1097
- descriptionClassName
1098
- ),
1099
- children: description
1100
- }
1101
- )),
1102
- actionsContent && /* @__PURE__ */ jsx(
1103
- "div",
1104
- {
1105
- className: cn(
1106
- "flex flex-wrap items-center gap-2",
1107
- actionsClassName
1108
- ),
1109
- children: actionsContent
1110
- }
1111
- ),
1112
- checklistContent && /* @__PURE__ */ jsx(
1113
- "ul",
1114
- {
1115
- className: cn(
1116
- "mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
1117
- checklistClassName
1028
+ /* @__PURE__ */ jsxs(
1029
+ "div",
1030
+ {
1031
+ className: cn(
1032
+ "px-4 md:px-6 lg:px-10 py-4 md:py-4 lg:py-0",
1033
+ contentClassName
1034
+ ),
1035
+ children: [
1036
+ title && (typeof title === "string" ? /* @__PURE__ */ jsx(
1037
+ "h2",
1038
+ {
1039
+ className: cn(
1040
+ "text-xl font-semibold text-balance md:text-2xl lg:text-3xl",
1041
+ titleClassName
1042
+ ),
1043
+ children: title
1044
+ }
1045
+ ) : /* @__PURE__ */ jsx(
1046
+ "div",
1047
+ {
1048
+ className: cn(
1049
+ "text-xl font-semibold text-balance md:text-2xl lg:text-3xl",
1050
+ titleClassName
1051
+ ),
1052
+ children: title
1053
+ }
1054
+ )),
1055
+ description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("mt-1 md:mt-6", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("mt-1 md:mt-6", descriptionClassName), children: description })),
1056
+ actionsContent && /* @__PURE__ */ jsx(
1057
+ "div",
1058
+ {
1059
+ className: cn(
1060
+ "flex flex-wrap items-center gap-4 md:gap-2",
1061
+ actionsClassName
1062
+ ),
1063
+ children: actionsContent
1064
+ }
1118
1065
  ),
1119
- children: checklistContent
1120
- }
1121
- )
1122
- ] })
1066
+ checklistContent && /* @__PURE__ */ jsx(
1067
+ "ul",
1068
+ {
1069
+ className: cn(
1070
+ "mt-10 flex-wrap items-center gap-6 space-y-6 md:flex md:space-y-0",
1071
+ checklistClassName
1072
+ ),
1073
+ children: checklistContent
1074
+ }
1075
+ )
1076
+ ]
1077
+ }
1078
+ )
1123
1079
  ]
1124
1080
  }
1125
1081
  )