@opensite/ui 0.8.1 → 0.8.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.
Files changed (83) hide show
  1. package/dist/carousel-horizontal-cards.cjs +8 -6
  2. package/dist/carousel-horizontal-cards.js +8 -6
  3. package/dist/carousel-image-hero.cjs +85 -160
  4. package/dist/carousel-image-hero.d.cts +1 -5
  5. package/dist/carousel-image-hero.d.ts +1 -5
  6. package/dist/carousel-image-hero.js +85 -160
  7. package/dist/carousel-portfolio-hero.cjs +138 -59
  8. package/dist/carousel-portfolio-hero.js +138 -59
  9. package/dist/carousel-product-feature-showcase.cjs +148 -95
  10. package/dist/carousel-product-feature-showcase.js +148 -95
  11. package/dist/carousel-progress-slider.cjs +13 -9
  12. package/dist/carousel-progress-slider.js +13 -9
  13. package/dist/carousel-scrolling-feature-showcase.cjs +105 -54
  14. package/dist/carousel-scrolling-feature-showcase.js +105 -54
  15. package/dist/feature-accordion-image.cjs +9 -8
  16. package/dist/feature-accordion-image.js +9 -8
  17. package/dist/feature-animated-carousel.cjs +65 -49
  18. package/dist/feature-animated-carousel.js +65 -49
  19. package/dist/feature-badge-grid-six.cjs +20 -17
  20. package/dist/feature-badge-grid-six.js +21 -18
  21. package/dist/feature-bento-image-grid.cjs +12 -8
  22. package/dist/feature-bento-image-grid.js +12 -8
  23. package/dist/feature-bento-utilities.cjs +9 -5
  24. package/dist/feature-bento-utilities.js +9 -5
  25. package/dist/feature-capabilities-grid.cjs +41 -38
  26. package/dist/feature-capabilities-grid.js +41 -38
  27. package/dist/feature-card-grid-linked.cjs +18 -18
  28. package/dist/feature-card-grid-linked.js +19 -19
  29. package/dist/feature-carousel-progress.cjs +3 -3
  30. package/dist/feature-carousel-progress.js +4 -4
  31. package/dist/feature-category-image-cards.cjs +3 -3
  32. package/dist/feature-category-image-cards.js +4 -4
  33. package/dist/feature-checklist-image.cjs +2 -2
  34. package/dist/feature-checklist-image.js +2 -2
  35. package/dist/feature-checklist-three-column.cjs +6 -6
  36. package/dist/feature-checklist-three-column.js +7 -7
  37. package/dist/feature-icon-grid-accent.cjs +2 -2
  38. package/dist/feature-icon-grid-accent.js +2 -2
  39. package/dist/feature-icon-grid-bordered.cjs +29 -31
  40. package/dist/feature-icon-grid-bordered.d.cts +9 -9
  41. package/dist/feature-icon-grid-bordered.d.ts +9 -9
  42. package/dist/feature-icon-grid-bordered.js +30 -32
  43. package/dist/feature-icon-grid-muted.cjs +6 -6
  44. package/dist/feature-icon-grid-muted.d.cts +9 -9
  45. package/dist/feature-icon-grid-muted.d.ts +9 -9
  46. package/dist/feature-icon-grid-muted.js +7 -7
  47. package/dist/feature-icon-tabs-content.cjs +8 -8
  48. package/dist/feature-icon-tabs-content.d.cts +13 -13
  49. package/dist/feature-icon-tabs-content.d.ts +13 -13
  50. package/dist/feature-icon-tabs-content.js +9 -9
  51. package/dist/feature-image-cards-three-column.cjs +26 -27
  52. package/dist/feature-image-cards-three-column.js +27 -28
  53. package/dist/feature-image-overlay-badge.cjs +23 -21
  54. package/dist/feature-image-overlay-badge.js +24 -22
  55. package/dist/feature-integration-cards.cjs +19 -18
  56. package/dist/feature-integration-cards.js +20 -19
  57. package/dist/feature-numbered-cards.cjs +2 -2
  58. package/dist/feature-numbered-cards.js +3 -3
  59. package/dist/feature-pattern-grid-links.cjs +26 -29
  60. package/dist/feature-pattern-grid-links.d.cts +1 -5
  61. package/dist/feature-pattern-grid-links.d.ts +1 -5
  62. package/dist/feature-pattern-grid-links.js +27 -30
  63. package/dist/feature-showcase.cjs +441 -40
  64. package/dist/feature-showcase.d.cts +62 -5
  65. package/dist/feature-showcase.d.ts +62 -5
  66. package/dist/feature-showcase.js +438 -37
  67. package/dist/feature-split-image-reverse.cjs +15 -36
  68. package/dist/feature-split-image-reverse.js +16 -37
  69. package/dist/feature-split-image.cjs +15 -36
  70. package/dist/feature-split-image.js +16 -37
  71. package/dist/feature-stats-highlight.cjs +20 -32
  72. package/dist/feature-stats-highlight.js +21 -33
  73. package/dist/feature-tabbed-content-image.cjs +11 -6
  74. package/dist/feature-tabbed-content-image.js +11 -6
  75. package/dist/feature-three-column-values.cjs +6 -6
  76. package/dist/feature-three-column-values.js +6 -6
  77. package/dist/feature-utility-cards-grid.cjs +17 -15
  78. package/dist/feature-utility-cards-grid.js +18 -16
  79. package/dist/navbar-tabbed-sections.cjs +23 -16
  80. package/dist/navbar-tabbed-sections.js +23 -16
  81. package/dist/registry.cjs +941 -708
  82. package/dist/registry.js +943 -710
  83. package/package.json +1 -1
@@ -968,7 +968,7 @@ Section.displayName = "Section";
968
968
  function FeatureUtilityCardsGrid({
969
969
  label,
970
970
  labelIcon,
971
- labelIconName = "lucide/square-dashed-mouse-pointer",
971
+ labelIconName,
972
972
  title,
973
973
  description,
974
974
  learnMoreAction,
@@ -990,11 +990,11 @@ function FeatureUtilityCardsGrid({
990
990
  patternOpacity,
991
991
  patternClassName
992
992
  }) {
993
- const renderLabelIcon = () => {
993
+ const renderLabelIcon = React.useMemo(() => {
994
994
  if (labelIcon) return labelIcon;
995
995
  if (labelIconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: labelIconName, size: 20, className: "text-primary" });
996
- return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/square-dashed-mouse-pointer", size: 20, className: "text-primary" });
997
- };
996
+ return null;
997
+ }, [labelIcon, labelIconName]);
998
998
  const learnMoreContent = React.useMemo(() => {
999
999
  if (learnMoreSlot) return learnMoreSlot;
1000
1000
  if (!learnMoreAction) return null;
@@ -1025,7 +1025,7 @@ function FeatureUtilityCardsGrid({
1025
1025
  }
1026
1026
  );
1027
1027
  }, [learnMoreSlot, learnMoreAction]);
1028
- const renderUtilityImage = (utility) => {
1028
+ const renderUtilityImage = React__namespace.useCallback((utility) => {
1029
1029
  if (utility.imageSlot) return utility.imageSlot;
1030
1030
  if (utility.image) {
1031
1031
  return /* @__PURE__ */ jsxRuntime.jsx(
@@ -1040,7 +1040,7 @@ function FeatureUtilityCardsGrid({
1040
1040
  );
1041
1041
  }
1042
1042
  return null;
1043
- };
1043
+ }, [optixFlowConfig]);
1044
1044
  const utilitiesContent = React.useMemo(() => {
1045
1045
  if (utilitiesSlot) return utilitiesSlot;
1046
1046
  if (!utilities || utilities.length === 0) return null;
@@ -1051,7 +1051,7 @@ function FeatureUtilityCardsGrid({
1051
1051
  utility.description && (typeof utility.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }))
1052
1052
  ] })
1053
1053
  ] }, index));
1054
- }, [utilitiesSlot, utilities, cardClassName, optixFlowConfig]);
1054
+ }, [utilitiesSlot, utilities, cardClassName, renderUtilityImage]);
1055
1055
  return /* @__PURE__ */ jsxRuntime.jsxs(
1056
1056
  Section,
1057
1057
  {
@@ -1063,19 +1063,21 @@ function FeatureUtilityCardsGrid({
1063
1063
  className,
1064
1064
  containerClassName: cn("max-w-7xl", containerClassName),
1065
1065
  children: [
1066
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center justify-between text-sm", headerClassName), children: [
1067
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-1 text-muted-foreground", labelClassName), children: [
1068
- renderLabelIcon(),
1069
- label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: label }))
1066
+ (label || labelIcon || labelIconName || learnMoreSlot || learnMoreAction) && /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
1067
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center justify-between text-sm", headerClassName), children: [
1068
+ (label || labelIcon || labelIconName) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: cn("flex items-center gap-1 text-muted-foreground", labelClassName), children: [
1069
+ renderLabelIcon,
1070
+ label && (typeof label === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { children: label }) : /* @__PURE__ */ jsxRuntime.jsx("div", { children: label }))
1071
+ ] }),
1072
+ learnMoreContent
1070
1073
  ] }),
1071
- learnMoreContent
1074
+ /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "mt-3 mb-8" })
1072
1075
  ] }),
1073
- /* @__PURE__ */ jsxRuntime.jsx(Separator, { className: "mt-3 mb-8" }),
1074
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-6 md:flex-row", children: [
1076
+ (title || description) && /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col justify-between gap-6 md:flex-row", children: [
1075
1077
  title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h2", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title })),
1076
1078
  description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: cn("md:w-1/2", descriptionClassName), children: description }) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("md:w-1/2", descriptionClassName), children: description }))
1077
1079
  ] }),
1078
- /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: utilitiesContent })
1080
+ (utilitiesSlot || utilities && utilities.length > 0) && /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: utilitiesContent })
1079
1081
  ]
1080
1082
  }
1081
1083
  );
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import React__default, { useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
- import { jsx, jsxs } from 'react/jsx-runtime';
6
+ import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
7
7
  import { cva } from 'class-variance-authority';
8
8
  import { Img } from '@page-speed/img';
9
9
  import * as SeparatorPrimitive from '@radix-ui/react-separator';
@@ -946,7 +946,7 @@ Section.displayName = "Section";
946
946
  function FeatureUtilityCardsGrid({
947
947
  label,
948
948
  labelIcon,
949
- labelIconName = "lucide/square-dashed-mouse-pointer",
949
+ labelIconName,
950
950
  title,
951
951
  description,
952
952
  learnMoreAction,
@@ -968,11 +968,11 @@ function FeatureUtilityCardsGrid({
968
968
  patternOpacity,
969
969
  patternClassName
970
970
  }) {
971
- const renderLabelIcon = () => {
971
+ const renderLabelIcon = useMemo(() => {
972
972
  if (labelIcon) return labelIcon;
973
973
  if (labelIconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: labelIconName, size: 20, className: "text-primary" });
974
- return /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/square-dashed-mouse-pointer", size: 20, className: "text-primary" });
975
- };
974
+ return null;
975
+ }, [labelIcon, labelIconName]);
976
976
  const learnMoreContent = useMemo(() => {
977
977
  if (learnMoreSlot) return learnMoreSlot;
978
978
  if (!learnMoreAction) return null;
@@ -1003,7 +1003,7 @@ function FeatureUtilityCardsGrid({
1003
1003
  }
1004
1004
  );
1005
1005
  }, [learnMoreSlot, learnMoreAction]);
1006
- const renderUtilityImage = (utility) => {
1006
+ const renderUtilityImage = React.useCallback((utility) => {
1007
1007
  if (utility.imageSlot) return utility.imageSlot;
1008
1008
  if (utility.image) {
1009
1009
  return /* @__PURE__ */ jsx(
@@ -1018,7 +1018,7 @@ function FeatureUtilityCardsGrid({
1018
1018
  );
1019
1019
  }
1020
1020
  return null;
1021
- };
1021
+ }, [optixFlowConfig]);
1022
1022
  const utilitiesContent = useMemo(() => {
1023
1023
  if (utilitiesSlot) return utilitiesSlot;
1024
1024
  if (!utilities || utilities.length === 0) return null;
@@ -1029,7 +1029,7 @@ function FeatureUtilityCardsGrid({
1029
1029
  utility.description && (typeof utility.description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }) : /* @__PURE__ */ jsx("div", { className: cn("text-muted-foreground", utility.descriptionClassName), children: utility.description }))
1030
1030
  ] })
1031
1031
  ] }, index));
1032
- }, [utilitiesSlot, utilities, cardClassName, optixFlowConfig]);
1032
+ }, [utilitiesSlot, utilities, cardClassName, renderUtilityImage]);
1033
1033
  return /* @__PURE__ */ jsxs(
1034
1034
  Section,
1035
1035
  {
@@ -1041,19 +1041,21 @@ function FeatureUtilityCardsGrid({
1041
1041
  className,
1042
1042
  containerClassName: cn("max-w-7xl", containerClassName),
1043
1043
  children: [
1044
- /* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-between text-sm", headerClassName), children: [
1045
- /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1 text-muted-foreground", labelClassName), children: [
1046
- renderLabelIcon(),
1047
- label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { children: label }) : /* @__PURE__ */ jsx("div", { children: label }))
1044
+ (label || labelIcon || labelIconName || learnMoreSlot || learnMoreAction) && /* @__PURE__ */ jsxs(Fragment, { children: [
1045
+ /* @__PURE__ */ jsxs("div", { className: cn("flex items-center justify-between text-sm", headerClassName), children: [
1046
+ (label || labelIcon || labelIconName) && /* @__PURE__ */ jsxs("div", { className: cn("flex items-center gap-1 text-muted-foreground", labelClassName), children: [
1047
+ renderLabelIcon,
1048
+ label && (typeof label === "string" ? /* @__PURE__ */ jsx("p", { children: label }) : /* @__PURE__ */ jsx("div", { children: label }))
1049
+ ] }),
1050
+ learnMoreContent
1048
1051
  ] }),
1049
- learnMoreContent
1052
+ /* @__PURE__ */ jsx(Separator, { className: "mt-3 mb-8" })
1050
1053
  ] }),
1051
- /* @__PURE__ */ jsx(Separator, { className: "mt-3 mb-8" }),
1052
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-6 md:flex-row", children: [
1054
+ (title || description) && /* @__PURE__ */ jsxs("div", { className: "flex flex-col justify-between gap-6 md:flex-row", children: [
1053
1055
  title && (typeof title === "string" ? /* @__PURE__ */ jsx("h2", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title }) : /* @__PURE__ */ jsx("div", { className: cn("text-3xl font-medium md:w-1/2", titleClassName), children: title })),
1054
1056
  description && (typeof description === "string" ? /* @__PURE__ */ jsx("p", { className: cn("md:w-1/2", descriptionClassName), children: description }) : /* @__PURE__ */ jsx("div", { className: cn("md:w-1/2", descriptionClassName), children: description }))
1055
1057
  ] }),
1056
- /* @__PURE__ */ jsx("div", { className: cn("mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: utilitiesContent })
1058
+ (utilitiesSlot || utilities && utilities.length > 0) && /* @__PURE__ */ jsx("div", { className: cn("mt-11 grid w-full grid-cols-1 gap-4 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: utilitiesContent })
1057
1059
  ]
1058
1060
  }
1059
1061
  );
@@ -1481,22 +1481,29 @@ var NavbarTabbedSections = ({
1481
1481
  ]
1482
1482
  }
1483
1483
  ) }),
1484
- /* @__PURE__ */ jsxRuntime.jsxs(SheetContent, { side: "right", className: "w-[300px] overflow-y-auto", children: [
1485
- /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { className: "sr-only", children: "Navigation Menu" }),
1486
- /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 pt-8", children: [
1487
- renderMobileMenu,
1488
- /* @__PURE__ */ jsxRuntime.jsx(
1489
- "div",
1490
- {
1491
- className: cn(
1492
- "mt-4 flex flex-col gap-2 border-t pt-4",
1493
- actionsClassName
1494
- ),
1495
- children: renderAuthActions
1496
- }
1497
- )
1498
- ] })
1499
- ] })
1484
+ /* @__PURE__ */ jsxRuntime.jsxs(
1485
+ SheetContent,
1486
+ {
1487
+ side: "right",
1488
+ className: "w-[300px] overflow-y-auto",
1489
+ children: [
1490
+ /* @__PURE__ */ jsxRuntime.jsx(SheetTitle, { className: "sr-only", children: "Navigation Menu" }),
1491
+ /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "flex flex-col gap-4 pt-8", children: [
1492
+ renderMobileMenu,
1493
+ /* @__PURE__ */ jsxRuntime.jsx(
1494
+ "div",
1495
+ {
1496
+ className: cn(
1497
+ "mt-4 flex flex-col gap-2 border-t pt-4",
1498
+ actionsClassName
1499
+ ),
1500
+ children: renderAuthActions
1501
+ }
1502
+ )
1503
+ ] })
1504
+ ]
1505
+ }
1506
+ )
1500
1507
  ] })
1501
1508
  ]
1502
1509
  }
@@ -1457,22 +1457,29 @@ var NavbarTabbedSections = ({
1457
1457
  ]
1458
1458
  }
1459
1459
  ) }),
1460
- /* @__PURE__ */ jsxs(SheetContent, { side: "right", className: "w-[300px] overflow-y-auto", children: [
1461
- /* @__PURE__ */ jsx(SheetTitle, { className: "sr-only", children: "Navigation Menu" }),
1462
- /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 pt-8", children: [
1463
- renderMobileMenu,
1464
- /* @__PURE__ */ jsx(
1465
- "div",
1466
- {
1467
- className: cn(
1468
- "mt-4 flex flex-col gap-2 border-t pt-4",
1469
- actionsClassName
1470
- ),
1471
- children: renderAuthActions
1472
- }
1473
- )
1474
- ] })
1475
- ] })
1460
+ /* @__PURE__ */ jsxs(
1461
+ SheetContent,
1462
+ {
1463
+ side: "right",
1464
+ className: "w-[300px] overflow-y-auto",
1465
+ children: [
1466
+ /* @__PURE__ */ jsx(SheetTitle, { className: "sr-only", children: "Navigation Menu" }),
1467
+ /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-4 pt-8", children: [
1468
+ renderMobileMenu,
1469
+ /* @__PURE__ */ jsx(
1470
+ "div",
1471
+ {
1472
+ className: cn(
1473
+ "mt-4 flex flex-col gap-2 border-t pt-4",
1474
+ actionsClassName
1475
+ ),
1476
+ children: renderAuthActions
1477
+ }
1478
+ )
1479
+ ] })
1480
+ ]
1481
+ }
1482
+ )
1476
1483
  ] })
1477
1484
  ]
1478
1485
  }