@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
@@ -554,22 +554,6 @@ var Pressable = React__namespace.forwardRef(
554
554
  }
555
555
  );
556
556
  Pressable.displayName = "Pressable";
557
-
558
- // lib/patternSvgs.ts
559
- var patternSvgs = {
560
- squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
561
- grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
562
- noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
563
- dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
564
- dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
565
- dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
566
- circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
567
- waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
568
- crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
569
- architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
570
- tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
571
- p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
572
- };
573
557
  var maxWidthStyles = {
574
558
  sm: "max-w-screen-sm",
575
559
  md: "max-w-screen-md",
@@ -598,6 +582,22 @@ var Container = React__namespace.default.forwardRef(
598
582
  }
599
583
  );
600
584
  Container.displayName = "Container";
585
+
586
+ // lib/patternSvgs.ts
587
+ var patternSvgs = {
588
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
589
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
590
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
591
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
592
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
593
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
594
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
595
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
596
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
597
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
598
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
599
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
600
+ };
601
601
  var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
602
602
  var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
603
603
  var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
@@ -932,7 +932,6 @@ Section.displayName = "Section";
932
932
  function FeaturePatternGridLinks({
933
933
  features,
934
934
  featuresSlot,
935
- patternUrl = patternSvgs.dotPattern,
936
935
  className,
937
936
  containerClassName,
938
937
  gridClassName,
@@ -943,26 +942,28 @@ function FeaturePatternGridLinks({
943
942
  patternOpacity,
944
943
  patternClassName
945
944
  }) {
946
- const renderFeatureIcon = (feature) => {
945
+ const renderFeatureIcon = React.useCallback((feature) => {
947
946
  if (feature.icon) return feature.icon;
948
947
  if (feature.iconName) return /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: feature.iconName, size: 24, className: feature.iconClassName });
949
948
  return null;
950
- };
951
- const renderFeatureLink = (feature) => {
949
+ }, []);
950
+ const renderFeatureLink = React.useCallback((feature) => {
952
951
  if (feature.linkSlot) return feature.linkSlot;
953
- if (!feature.link) return null;
952
+ if (!feature.link && !feature.linkLabel) return null;
953
+ const label = feature.linkLabel || (feature.link ? "Learn more" : null);
954
+ if (!label) return null;
954
955
  return /* @__PURE__ */ jsxRuntime.jsxs(
955
956
  Pressable,
956
957
  {
957
958
  href: feature.link,
958
959
  className: cn("flex items-center gap-2 text-sm font-medium", feature.linkClassName),
959
960
  children: [
960
- feature.linkLabel || "Learn more",
961
+ label,
961
962
  /* @__PURE__ */ jsxRuntime.jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
962
963
  ]
963
964
  }
964
965
  );
965
- };
966
+ }, []);
966
967
  const featuresContent = React.useMemo(() => {
967
968
  if (featuresSlot) return featuresSlot;
968
969
  if (!features || features.length === 0) return null;
@@ -981,7 +982,7 @@ function FeaturePatternGridLinks({
981
982
  },
982
983
  index
983
984
  ));
984
- }, [featuresSlot, features, cardClassName]);
985
+ }, [featuresSlot, features, cardClassName, renderFeatureIcon, renderFeatureLink]);
985
986
  return /* @__PURE__ */ jsxRuntime.jsx(
986
987
  Section,
987
988
  {
@@ -990,12 +991,8 @@ function FeaturePatternGridLinks({
990
991
  pattern,
991
992
  patternOpacity,
992
993
  patternClassName,
993
- className: cn("bg-muted/30", className),
994
+ className,
994
995
  containerClassName,
995
- style: {
996
- backgroundImage: `url(${patternUrl})`,
997
- backgroundRepeat: "repeat"
998
- },
999
996
  children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("grid gap-6 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: featuresContent })
1000
997
  }
1001
998
  );
@@ -66,10 +66,6 @@ interface FeaturePatternGridLinksProps {
66
66
  * Custom slot for rendering features (overrides features array)
67
67
  */
68
68
  featuresSlot?: React.ReactNode;
69
- /**
70
- * Background pattern URL
71
- */
72
- patternUrl?: string;
73
69
  /**
74
70
  * Additional CSS classes for the section
75
71
  */
@@ -124,6 +120,6 @@ interface FeaturePatternGridLinksProps {
124
120
  * />
125
121
  * ```
126
122
  */
127
- declare function FeaturePatternGridLinks({ features, featuresSlot, patternUrl, className, containerClassName, gridClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeaturePatternGridLinksProps): React.JSX.Element;
123
+ declare function FeaturePatternGridLinks({ features, featuresSlot, className, containerClassName, gridClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeaturePatternGridLinksProps): React.JSX.Element;
128
124
 
129
125
  export { FeaturePatternGridLinks, type FeaturePatternGridLinksProps };
@@ -66,10 +66,6 @@ interface FeaturePatternGridLinksProps {
66
66
  * Custom slot for rendering features (overrides features array)
67
67
  */
68
68
  featuresSlot?: React.ReactNode;
69
- /**
70
- * Background pattern URL
71
- */
72
- patternUrl?: string;
73
69
  /**
74
70
  * Additional CSS classes for the section
75
71
  */
@@ -124,6 +120,6 @@ interface FeaturePatternGridLinksProps {
124
120
  * />
125
121
  * ```
126
122
  */
127
- declare function FeaturePatternGridLinks({ features, featuresSlot, patternUrl, className, containerClassName, gridClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeaturePatternGridLinksProps): React.JSX.Element;
123
+ declare function FeaturePatternGridLinks({ features, featuresSlot, className, containerClassName, gridClassName, cardClassName, background, spacing, pattern, patternOpacity, patternClassName, }: FeaturePatternGridLinksProps): React.JSX.Element;
128
124
 
129
125
  export { FeaturePatternGridLinks, type FeaturePatternGridLinksProps };
@@ -1,6 +1,6 @@
1
1
  "use client";
2
2
  import * as React from 'react';
3
- import React__default, { useMemo } from 'react';
3
+ import React__default, { useCallback, useMemo } from 'react';
4
4
  import { clsx } from 'clsx';
5
5
  import { twMerge } from 'tailwind-merge';
6
6
  import { jsx, jsxs } from 'react/jsx-runtime';
@@ -533,22 +533,6 @@ var Pressable = React.forwardRef(
533
533
  }
534
534
  );
535
535
  Pressable.displayName = "Pressable";
536
-
537
- // lib/patternSvgs.ts
538
- var patternSvgs = {
539
- squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
540
- grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
541
- noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
542
- dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
543
- dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
544
- dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
545
- circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
546
- waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
547
- crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
548
- architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
549
- tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
550
- p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
551
- };
552
536
  var maxWidthStyles = {
553
537
  sm: "max-w-screen-sm",
554
538
  md: "max-w-screen-md",
@@ -577,6 +561,22 @@ var Container = React__default.forwardRef(
577
561
  }
578
562
  );
579
563
  Container.displayName = "Container";
564
+
565
+ // lib/patternSvgs.ts
566
+ var patternSvgs = {
567
+ squareAltGrid: "https://cdn.ing/assets/files/record/286187/4gpn0yq2ptra8iwlvmwwv860ggwv",
568
+ grid1: "https://cdn.ing/assets/files/record/286186/nbdflpgp4ostrno079hygibsflp3",
569
+ noise: "https://cdn.ing/assets/i/r/286188/zrqcp9hynh3j7p2laihwzfbujgrl/noise.png",
570
+ dots: "https://cdn.ing/assets/files/record/286198/yfsjx9thvtxzhl2qtshxyhkrm524",
571
+ dotPattern: "https://cdn.ing/assets/files/record/286192/7ig0cku8aqbboiza8nuk6hw0nnsr",
572
+ dotPattern2: "https://cdn.ing/assets/files/record/286189/arez6gd2s7isn9i1o6c7sexdq7bl",
573
+ circles: "https://cdn.ing/assets/files/record/286190/gtmia3sncjtzetdshc20zf1d3c17",
574
+ waves: "https://cdn.ing/assets/files/record/286191/mqlb33fzxz9cdth1bx7if0wmpkp1",
575
+ crossPattern: "https://cdn.ing/assets/files/record/286193/9yfqwdbnqaipbp7fsb3wbzzmq472",
576
+ architect: "https://cdn.ing/assets/files/record/286194/vgs88ugpvyhxu13wqgy0acvae6re",
577
+ tinyCheckers: "https://cdn.ing/assets/files/record/286195/65efaknsw8kcpf9o3c2gybytsl5b",
578
+ p6: "https://cdn.ing/assets/i/r/286196/6kl0rqnd6mjk8j7e525fo8fo0vkc/p6.webp"
579
+ };
580
580
  var maskTop = "radial-gradient(ellipse 70% 60% at 50% 0%, #000 60%, transparent 100%)";
581
581
  var maskBottom = "radial-gradient(ellipse 100% 80% at 50% 100%, #000 50%, transparent 90%)";
582
582
  var maskCenter = "radial-gradient(ellipse 60% 60% at 50% 50%, #000 30%, transparent 70%)";
@@ -911,7 +911,6 @@ Section.displayName = "Section";
911
911
  function FeaturePatternGridLinks({
912
912
  features,
913
913
  featuresSlot,
914
- patternUrl = patternSvgs.dotPattern,
915
914
  className,
916
915
  containerClassName,
917
916
  gridClassName,
@@ -922,26 +921,28 @@ function FeaturePatternGridLinks({
922
921
  patternOpacity,
923
922
  patternClassName
924
923
  }) {
925
- const renderFeatureIcon = (feature) => {
924
+ const renderFeatureIcon = useCallback((feature) => {
926
925
  if (feature.icon) return feature.icon;
927
926
  if (feature.iconName) return /* @__PURE__ */ jsx(DynamicIcon, { name: feature.iconName, size: 24, className: feature.iconClassName });
928
927
  return null;
929
- };
930
- const renderFeatureLink = (feature) => {
928
+ }, []);
929
+ const renderFeatureLink = useCallback((feature) => {
931
930
  if (feature.linkSlot) return feature.linkSlot;
932
- if (!feature.link) return null;
931
+ if (!feature.link && !feature.linkLabel) return null;
932
+ const label = feature.linkLabel || (feature.link ? "Learn more" : null);
933
+ if (!label) return null;
933
934
  return /* @__PURE__ */ jsxs(
934
935
  Pressable,
935
936
  {
936
937
  href: feature.link,
937
938
  className: cn("flex items-center gap-2 text-sm font-medium", feature.linkClassName),
938
939
  children: [
939
- feature.linkLabel || "Learn more",
940
+ label,
940
941
  /* @__PURE__ */ jsx(DynamicIcon, { name: "lucide/chevron-right", size: 16 })
941
942
  ]
942
943
  }
943
944
  );
944
- };
945
+ }, []);
945
946
  const featuresContent = useMemo(() => {
946
947
  if (featuresSlot) return featuresSlot;
947
948
  if (!features || features.length === 0) return null;
@@ -960,7 +961,7 @@ function FeaturePatternGridLinks({
960
961
  },
961
962
  index
962
963
  ));
963
- }, [featuresSlot, features, cardClassName]);
964
+ }, [featuresSlot, features, cardClassName, renderFeatureIcon, renderFeatureLink]);
964
965
  return /* @__PURE__ */ jsx(
965
966
  Section,
966
967
  {
@@ -969,12 +970,8 @@ function FeaturePatternGridLinks({
969
970
  pattern,
970
971
  patternOpacity,
971
972
  patternClassName,
972
- className: cn("bg-muted/30", className),
973
+ className,
973
974
  containerClassName,
974
- style: {
975
- backgroundImage: `url(${patternUrl})`,
976
- backgroundRepeat: "repeat"
977
- },
978
975
  children: /* @__PURE__ */ jsx("div", { className: cn("grid gap-6 md:grid-cols-2 lg:grid-cols-3", gridClassName), children: featuresContent })
979
976
  }
980
977
  );