@opensite/ui 0.6.2 → 0.6.3
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.
- package/dist/about-mission-dual-image.cjs +89 -34
- package/dist/about-mission-dual-image.js +89 -34
- package/dist/about-mission-principles.cjs +86 -23
- package/dist/about-mission-principles.js +86 -23
- package/dist/about-startup-team.cjs +119 -17
- package/dist/about-startup-team.d.cts +5 -1
- package/dist/about-startup-team.d.ts +5 -1
- package/dist/about-startup-team.js +121 -19
- package/dist/components.cjs +86 -23
- package/dist/components.js +86 -23
- package/dist/index.cjs +86 -23
- package/dist/index.js +86 -23
- package/dist/registry.cjs +294 -74
- package/dist/registry.js +294 -74
- package/package.json +1 -1
|
@@ -928,6 +928,7 @@ var Section = React__namespace.default.forwardRef(
|
|
|
928
928
|
}
|
|
929
929
|
);
|
|
930
930
|
Section.displayName = "Section";
|
|
931
|
+
var ALL_TAB_VALUE = "__all__";
|
|
931
932
|
function AboutStartupTeam({
|
|
932
933
|
className,
|
|
933
934
|
containerClassName,
|
|
@@ -949,19 +950,48 @@ function AboutStartupTeam({
|
|
|
949
950
|
pattern,
|
|
950
951
|
patternOpacity,
|
|
951
952
|
defaultActiveTab,
|
|
952
|
-
onTabChange
|
|
953
|
+
onTabChange,
|
|
954
|
+
allTabLabel = "All"
|
|
953
955
|
}) {
|
|
956
|
+
const effectiveTabs = React.useMemo(() => {
|
|
957
|
+
if (!sidebarLinks || sidebarLinks.length === 0 || !teamMembers || teamMembers.length === 0) {
|
|
958
|
+
return sidebarLinks || [];
|
|
959
|
+
}
|
|
960
|
+
const allTab = {
|
|
961
|
+
label: allTabLabel,
|
|
962
|
+
value: ALL_TAB_VALUE
|
|
963
|
+
};
|
|
964
|
+
return [allTab, ...sidebarLinks];
|
|
965
|
+
}, [sidebarLinks, teamMembers, allTabLabel]);
|
|
954
966
|
const [activeTab, setActiveTab] = React.useState(
|
|
955
|
-
defaultActiveTab || (
|
|
967
|
+
defaultActiveTab || (effectiveTabs.length > 0 ? effectiveTabs[0].value : "")
|
|
956
968
|
);
|
|
957
969
|
const handleTabChange = (value) => {
|
|
958
970
|
setActiveTab(value);
|
|
959
971
|
onTabChange?.(value);
|
|
960
972
|
};
|
|
961
|
-
const
|
|
973
|
+
const activeTabLabel = React.useMemo(() => {
|
|
974
|
+
if (!effectiveTabs || effectiveTabs.length === 0) return null;
|
|
975
|
+
const currentTab = effectiveTabs.find((tab) => tab.value === activeTab);
|
|
976
|
+
return currentTab?.label || null;
|
|
977
|
+
}, [effectiveTabs, activeTab]);
|
|
978
|
+
const dynamicTeamTitle = React.useMemo(() => {
|
|
979
|
+
if (teamTitle) return teamTitle;
|
|
980
|
+
if (activeTabLabel) {
|
|
981
|
+
if (typeof activeTabLabel === "string") {
|
|
982
|
+
return `${activeTabLabel} Team`;
|
|
983
|
+
}
|
|
984
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [
|
|
985
|
+
activeTabLabel,
|
|
986
|
+
" Team"
|
|
987
|
+
] });
|
|
988
|
+
}
|
|
989
|
+
return null;
|
|
990
|
+
}, [teamTitle, activeTabLabel]);
|
|
991
|
+
const renderTabsNav = React.useMemo(() => {
|
|
962
992
|
if (sidebarSlot) return sidebarSlot;
|
|
963
|
-
if (!
|
|
964
|
-
return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "space-y-1", children:
|
|
993
|
+
if (!effectiveTabs || effectiveTabs.length === 0) return null;
|
|
994
|
+
return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "space-y-1", children: effectiveTabs.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
965
995
|
Pressable,
|
|
966
996
|
{
|
|
967
997
|
componentType: "button",
|
|
@@ -974,10 +1004,10 @@ function AboutStartupTeam({
|
|
|
974
1004
|
},
|
|
975
1005
|
idx
|
|
976
1006
|
)) });
|
|
977
|
-
}, [sidebarSlot,
|
|
1007
|
+
}, [sidebarSlot, effectiveTabs, activeTab]);
|
|
978
1008
|
const filteredTeamMembers = React.useMemo(() => {
|
|
979
1009
|
if (!teamMembers || teamMembers.length === 0) return [];
|
|
980
|
-
if (!activeTab) return teamMembers;
|
|
1010
|
+
if (!activeTab || activeTab === ALL_TAB_VALUE) return teamMembers;
|
|
981
1011
|
return teamMembers.filter(
|
|
982
1012
|
(member) => !member.tab || member.tab === activeTab
|
|
983
1013
|
);
|
|
@@ -985,11 +1015,14 @@ function AboutStartupTeam({
|
|
|
985
1015
|
const teamMembersContent = React.useMemo(() => {
|
|
986
1016
|
if (teamMembersSlot) return teamMembersSlot;
|
|
987
1017
|
if (filteredTeamMembers.length === 0) return null;
|
|
988
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1018
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
989
1019
|
"div",
|
|
990
1020
|
{
|
|
991
|
-
className:
|
|
992
|
-
|
|
1021
|
+
className: cn(
|
|
1022
|
+
"mt-8 grid gap-8 sm:grid-cols-2 lg:grid-cols-3",
|
|
1023
|
+
teamMembersClassName
|
|
1024
|
+
),
|
|
1025
|
+
children: filteredTeamMembers.map((member, idx) => /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "rounded-xl border bg-card p-6 text-center", children: [
|
|
993
1026
|
member.avatar ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
994
1027
|
img.Img,
|
|
995
1028
|
{
|
|
@@ -1018,11 +1051,33 @@ function AboutStartupTeam({
|
|
|
1018
1051
|
},
|
|
1019
1052
|
linkIdx
|
|
1020
1053
|
)) })
|
|
1021
|
-
]
|
|
1054
|
+
] }, idx))
|
|
1055
|
+
}
|
|
1056
|
+
);
|
|
1057
|
+
}, [
|
|
1058
|
+
teamMembersSlot,
|
|
1059
|
+
filteredTeamMembers,
|
|
1060
|
+
teamMembersClassName,
|
|
1061
|
+
optixFlowConfig
|
|
1062
|
+
]);
|
|
1063
|
+
const mobileTabsNav = React.useMemo(() => {
|
|
1064
|
+
if (sidebarSlot) return null;
|
|
1065
|
+
if (!effectiveTabs || effectiveTabs.length === 0) return null;
|
|
1066
|
+
if (!teamMembers || teamMembers.length === 0) return null;
|
|
1067
|
+
return /* @__PURE__ */ jsxRuntime.jsx("nav", { className: "flex gap-2 overflow-x-auto pb-2 lg:hidden", children: effectiveTabs.map((link, idx) => /* @__PURE__ */ jsxRuntime.jsx(
|
|
1068
|
+
Pressable,
|
|
1069
|
+
{
|
|
1070
|
+
componentType: "button",
|
|
1071
|
+
onClick: () => handleTabChange(link.value),
|
|
1072
|
+
className: cn(
|
|
1073
|
+
"shrink-0 rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
1074
|
+
activeTab === link.value ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"
|
|
1075
|
+
),
|
|
1076
|
+
children: link.label
|
|
1022
1077
|
},
|
|
1023
1078
|
idx
|
|
1024
1079
|
)) });
|
|
1025
|
-
}, [
|
|
1080
|
+
}, [sidebarSlot, effectiveTabs, activeTab]);
|
|
1026
1081
|
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1027
1082
|
Section,
|
|
1028
1083
|
{
|
|
@@ -1032,12 +1087,59 @@ function AboutStartupTeam({
|
|
|
1032
1087
|
patternOpacity,
|
|
1033
1088
|
className: cn(className),
|
|
1034
1089
|
children: /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn(containerClassName), children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid gap-12 lg:grid-cols-4", children: [
|
|
1035
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1090
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1091
|
+
"aside",
|
|
1092
|
+
{
|
|
1093
|
+
className: cn(
|
|
1094
|
+
"hidden lg:block lg:sticky lg:top-24 lg:self-start",
|
|
1095
|
+
sidebarClassName
|
|
1096
|
+
),
|
|
1097
|
+
children: renderTabsNav
|
|
1098
|
+
}
|
|
1099
|
+
),
|
|
1036
1100
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-3", children: [
|
|
1037
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1038
|
-
|
|
1039
|
-
|
|
1040
|
-
|
|
1101
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1102
|
+
"h1",
|
|
1103
|
+
{
|
|
1104
|
+
className: cn(
|
|
1105
|
+
"text-4xl font-bold tracking-tight md:text-5xl",
|
|
1106
|
+
titleClassName
|
|
1107
|
+
),
|
|
1108
|
+
children: title
|
|
1109
|
+
}
|
|
1110
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: titleClassName, children: title })),
|
|
1111
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1112
|
+
"p",
|
|
1113
|
+
{
|
|
1114
|
+
className: cn(
|
|
1115
|
+
"mt-6 text-lg text-muted-foreground whitespace-pre-line",
|
|
1116
|
+
descriptionClassName
|
|
1117
|
+
),
|
|
1118
|
+
children: description
|
|
1119
|
+
}
|
|
1120
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mt-6", descriptionClassName), children: description })),
|
|
1121
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "mt-8 md:mt-16", children: [
|
|
1122
|
+
mobileTabsNav,
|
|
1123
|
+
dynamicTeamTitle && (typeof dynamicTeamTitle === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1124
|
+
"h2",
|
|
1125
|
+
{
|
|
1126
|
+
className: cn(
|
|
1127
|
+
"text-2xl font-bold",
|
|
1128
|
+
mobileTabsNav ? "mt-6" : "",
|
|
1129
|
+
teamTitleClassName
|
|
1130
|
+
),
|
|
1131
|
+
children: dynamicTeamTitle
|
|
1132
|
+
}
|
|
1133
|
+
) : /* @__PURE__ */ jsxRuntime.jsx(
|
|
1134
|
+
"div",
|
|
1135
|
+
{
|
|
1136
|
+
className: cn(
|
|
1137
|
+
mobileTabsNav ? "mt-6" : "",
|
|
1138
|
+
teamTitleClassName
|
|
1139
|
+
),
|
|
1140
|
+
children: dynamicTeamTitle
|
|
1141
|
+
}
|
|
1142
|
+
)),
|
|
1041
1143
|
teamMembersContent
|
|
1042
1144
|
] })
|
|
1043
1145
|
] })
|
|
@@ -121,7 +121,11 @@ interface AboutStartupTeamProps {
|
|
|
121
121
|
* Callback when tab changes
|
|
122
122
|
*/
|
|
123
123
|
onTabChange?: (value: string) => void;
|
|
124
|
+
/**
|
|
125
|
+
* Label for the "All" tab (defaults to "All")
|
|
126
|
+
*/
|
|
127
|
+
allTabLabel?: React.ReactNode;
|
|
124
128
|
}
|
|
125
|
-
declare function AboutStartupTeam({ className, containerClassName, title, titleClassName, description, descriptionClassName, sidebarLinks, sidebarSlot, sidebarClassName, teamTitle, teamTitleClassName, teamMembers, teamMembersSlot, teamMembersClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, defaultActiveTab, onTabChange, }: AboutStartupTeamProps): React.JSX.Element;
|
|
129
|
+
declare function AboutStartupTeam({ className, containerClassName, title, titleClassName, description, descriptionClassName, sidebarLinks, sidebarSlot, sidebarClassName, teamTitle, teamTitleClassName, teamMembers, teamMembersSlot, teamMembersClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, defaultActiveTab, onTabChange, allTabLabel, }: AboutStartupTeamProps): React.JSX.Element;
|
|
126
130
|
|
|
127
131
|
export { AboutStartupTeam, type AboutStartupTeamProps };
|
|
@@ -121,7 +121,11 @@ interface AboutStartupTeamProps {
|
|
|
121
121
|
* Callback when tab changes
|
|
122
122
|
*/
|
|
123
123
|
onTabChange?: (value: string) => void;
|
|
124
|
+
/**
|
|
125
|
+
* Label for the "All" tab (defaults to "All")
|
|
126
|
+
*/
|
|
127
|
+
allTabLabel?: React.ReactNode;
|
|
124
128
|
}
|
|
125
|
-
declare function AboutStartupTeam({ className, containerClassName, title, titleClassName, description, descriptionClassName, sidebarLinks, sidebarSlot, sidebarClassName, teamTitle, teamTitleClassName, teamMembers, teamMembersSlot, teamMembersClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, defaultActiveTab, onTabChange, }: AboutStartupTeamProps): React.JSX.Element;
|
|
129
|
+
declare function AboutStartupTeam({ className, containerClassName, title, titleClassName, description, descriptionClassName, sidebarLinks, sidebarSlot, sidebarClassName, teamTitle, teamTitleClassName, teamMembers, teamMembersSlot, teamMembersClassName, optixFlowConfig, background, spacing, pattern, patternOpacity, defaultActiveTab, onTabChange, allTabLabel, }: AboutStartupTeamProps): React.JSX.Element;
|
|
126
130
|
|
|
127
131
|
export { AboutStartupTeam, type AboutStartupTeamProps };
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
import * as React from 'react';
|
|
3
|
-
import React__default, {
|
|
3
|
+
import React__default, { useMemo, useState } from 'react';
|
|
4
4
|
import { clsx } from 'clsx';
|
|
5
5
|
import { twMerge } from 'tailwind-merge';
|
|
6
6
|
import { Img } from '@page-speed/img';
|
|
7
7
|
import { cva } from 'class-variance-authority';
|
|
8
|
-
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
8
|
+
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
9
9
|
|
|
10
10
|
// components/blocks/about/about-startup-team.tsx
|
|
11
11
|
function cn(...inputs) {
|
|
@@ -907,6 +907,7 @@ var Section = React__default.forwardRef(
|
|
|
907
907
|
}
|
|
908
908
|
);
|
|
909
909
|
Section.displayName = "Section";
|
|
910
|
+
var ALL_TAB_VALUE = "__all__";
|
|
910
911
|
function AboutStartupTeam({
|
|
911
912
|
className,
|
|
912
913
|
containerClassName,
|
|
@@ -928,19 +929,48 @@ function AboutStartupTeam({
|
|
|
928
929
|
pattern,
|
|
929
930
|
patternOpacity,
|
|
930
931
|
defaultActiveTab,
|
|
931
|
-
onTabChange
|
|
932
|
+
onTabChange,
|
|
933
|
+
allTabLabel = "All"
|
|
932
934
|
}) {
|
|
935
|
+
const effectiveTabs = useMemo(() => {
|
|
936
|
+
if (!sidebarLinks || sidebarLinks.length === 0 || !teamMembers || teamMembers.length === 0) {
|
|
937
|
+
return sidebarLinks || [];
|
|
938
|
+
}
|
|
939
|
+
const allTab = {
|
|
940
|
+
label: allTabLabel,
|
|
941
|
+
value: ALL_TAB_VALUE
|
|
942
|
+
};
|
|
943
|
+
return [allTab, ...sidebarLinks];
|
|
944
|
+
}, [sidebarLinks, teamMembers, allTabLabel]);
|
|
933
945
|
const [activeTab, setActiveTab] = useState(
|
|
934
|
-
defaultActiveTab || (
|
|
946
|
+
defaultActiveTab || (effectiveTabs.length > 0 ? effectiveTabs[0].value : "")
|
|
935
947
|
);
|
|
936
948
|
const handleTabChange = (value) => {
|
|
937
949
|
setActiveTab(value);
|
|
938
950
|
onTabChange?.(value);
|
|
939
951
|
};
|
|
940
|
-
const
|
|
952
|
+
const activeTabLabel = useMemo(() => {
|
|
953
|
+
if (!effectiveTabs || effectiveTabs.length === 0) return null;
|
|
954
|
+
const currentTab = effectiveTabs.find((tab) => tab.value === activeTab);
|
|
955
|
+
return currentTab?.label || null;
|
|
956
|
+
}, [effectiveTabs, activeTab]);
|
|
957
|
+
const dynamicTeamTitle = useMemo(() => {
|
|
958
|
+
if (teamTitle) return teamTitle;
|
|
959
|
+
if (activeTabLabel) {
|
|
960
|
+
if (typeof activeTabLabel === "string") {
|
|
961
|
+
return `${activeTabLabel} Team`;
|
|
962
|
+
}
|
|
963
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
964
|
+
activeTabLabel,
|
|
965
|
+
" Team"
|
|
966
|
+
] });
|
|
967
|
+
}
|
|
968
|
+
return null;
|
|
969
|
+
}, [teamTitle, activeTabLabel]);
|
|
970
|
+
const renderTabsNav = useMemo(() => {
|
|
941
971
|
if (sidebarSlot) return sidebarSlot;
|
|
942
|
-
if (!
|
|
943
|
-
return /* @__PURE__ */ jsx("nav", { className: "space-y-1", children:
|
|
972
|
+
if (!effectiveTabs || effectiveTabs.length === 0) return null;
|
|
973
|
+
return /* @__PURE__ */ jsx("nav", { className: "space-y-1", children: effectiveTabs.map((link, idx) => /* @__PURE__ */ jsx(
|
|
944
974
|
Pressable,
|
|
945
975
|
{
|
|
946
976
|
componentType: "button",
|
|
@@ -953,10 +983,10 @@ function AboutStartupTeam({
|
|
|
953
983
|
},
|
|
954
984
|
idx
|
|
955
985
|
)) });
|
|
956
|
-
}, [sidebarSlot,
|
|
986
|
+
}, [sidebarSlot, effectiveTabs, activeTab]);
|
|
957
987
|
const filteredTeamMembers = useMemo(() => {
|
|
958
988
|
if (!teamMembers || teamMembers.length === 0) return [];
|
|
959
|
-
if (!activeTab) return teamMembers;
|
|
989
|
+
if (!activeTab || activeTab === ALL_TAB_VALUE) return teamMembers;
|
|
960
990
|
return teamMembers.filter(
|
|
961
991
|
(member) => !member.tab || member.tab === activeTab
|
|
962
992
|
);
|
|
@@ -964,11 +994,14 @@ function AboutStartupTeam({
|
|
|
964
994
|
const teamMembersContent = useMemo(() => {
|
|
965
995
|
if (teamMembersSlot) return teamMembersSlot;
|
|
966
996
|
if (filteredTeamMembers.length === 0) return null;
|
|
967
|
-
return /* @__PURE__ */ jsx(
|
|
997
|
+
return /* @__PURE__ */ jsx(
|
|
968
998
|
"div",
|
|
969
999
|
{
|
|
970
|
-
className:
|
|
971
|
-
|
|
1000
|
+
className: cn(
|
|
1001
|
+
"mt-8 grid gap-8 sm:grid-cols-2 lg:grid-cols-3",
|
|
1002
|
+
teamMembersClassName
|
|
1003
|
+
),
|
|
1004
|
+
children: filteredTeamMembers.map((member, idx) => /* @__PURE__ */ jsxs("div", { className: "rounded-xl border bg-card p-6 text-center", children: [
|
|
972
1005
|
member.avatar ? /* @__PURE__ */ jsx(
|
|
973
1006
|
Img,
|
|
974
1007
|
{
|
|
@@ -997,11 +1030,33 @@ function AboutStartupTeam({
|
|
|
997
1030
|
},
|
|
998
1031
|
linkIdx
|
|
999
1032
|
)) })
|
|
1000
|
-
]
|
|
1033
|
+
] }, idx))
|
|
1034
|
+
}
|
|
1035
|
+
);
|
|
1036
|
+
}, [
|
|
1037
|
+
teamMembersSlot,
|
|
1038
|
+
filteredTeamMembers,
|
|
1039
|
+
teamMembersClassName,
|
|
1040
|
+
optixFlowConfig
|
|
1041
|
+
]);
|
|
1042
|
+
const mobileTabsNav = useMemo(() => {
|
|
1043
|
+
if (sidebarSlot) return null;
|
|
1044
|
+
if (!effectiveTabs || effectiveTabs.length === 0) return null;
|
|
1045
|
+
if (!teamMembers || teamMembers.length === 0) return null;
|
|
1046
|
+
return /* @__PURE__ */ jsx("nav", { className: "flex gap-2 overflow-x-auto pb-2 lg:hidden", children: effectiveTabs.map((link, idx) => /* @__PURE__ */ jsx(
|
|
1047
|
+
Pressable,
|
|
1048
|
+
{
|
|
1049
|
+
componentType: "button",
|
|
1050
|
+
onClick: () => handleTabChange(link.value),
|
|
1051
|
+
className: cn(
|
|
1052
|
+
"shrink-0 rounded-lg px-4 py-2 text-sm font-medium transition-colors",
|
|
1053
|
+
activeTab === link.value ? "bg-primary text-primary-foreground" : "bg-muted text-muted-foreground hover:bg-muted/80 hover:text-foreground"
|
|
1054
|
+
),
|
|
1055
|
+
children: link.label
|
|
1001
1056
|
},
|
|
1002
1057
|
idx
|
|
1003
1058
|
)) });
|
|
1004
|
-
}, [
|
|
1059
|
+
}, [sidebarSlot, effectiveTabs, activeTab]);
|
|
1005
1060
|
return /* @__PURE__ */ jsx(
|
|
1006
1061
|
Section,
|
|
1007
1062
|
{
|
|
@@ -1011,12 +1066,59 @@ function AboutStartupTeam({
|
|
|
1011
1066
|
patternOpacity,
|
|
1012
1067
|
className: cn(className),
|
|
1013
1068
|
children: /* @__PURE__ */ jsx("div", { className: cn(containerClassName), children: /* @__PURE__ */ jsxs("div", { className: "grid gap-12 lg:grid-cols-4", children: [
|
|
1014
|
-
/* @__PURE__ */ jsx(
|
|
1069
|
+
/* @__PURE__ */ jsx(
|
|
1070
|
+
"aside",
|
|
1071
|
+
{
|
|
1072
|
+
className: cn(
|
|
1073
|
+
"hidden lg:block lg:sticky lg:top-24 lg:self-start",
|
|
1074
|
+
sidebarClassName
|
|
1075
|
+
),
|
|
1076
|
+
children: renderTabsNav
|
|
1077
|
+
}
|
|
1078
|
+
),
|
|
1015
1079
|
/* @__PURE__ */ jsxs("div", { className: "lg:col-span-3", children: [
|
|
1016
|
-
title && (typeof title === "string" ? /* @__PURE__ */ jsx(
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1080
|
+
title && (typeof title === "string" ? /* @__PURE__ */ jsx(
|
|
1081
|
+
"h1",
|
|
1082
|
+
{
|
|
1083
|
+
className: cn(
|
|
1084
|
+
"text-4xl font-bold tracking-tight md:text-5xl",
|
|
1085
|
+
titleClassName
|
|
1086
|
+
),
|
|
1087
|
+
children: title
|
|
1088
|
+
}
|
|
1089
|
+
) : /* @__PURE__ */ jsx("div", { className: titleClassName, children: title })),
|
|
1090
|
+
description && (typeof description === "string" ? /* @__PURE__ */ jsx(
|
|
1091
|
+
"p",
|
|
1092
|
+
{
|
|
1093
|
+
className: cn(
|
|
1094
|
+
"mt-6 text-lg text-muted-foreground whitespace-pre-line",
|
|
1095
|
+
descriptionClassName
|
|
1096
|
+
),
|
|
1097
|
+
children: description
|
|
1098
|
+
}
|
|
1099
|
+
) : /* @__PURE__ */ jsx("div", { className: cn("mt-6", descriptionClassName), children: description })),
|
|
1100
|
+
/* @__PURE__ */ jsxs("div", { className: "mt-8 md:mt-16", children: [
|
|
1101
|
+
mobileTabsNav,
|
|
1102
|
+
dynamicTeamTitle && (typeof dynamicTeamTitle === "string" ? /* @__PURE__ */ jsx(
|
|
1103
|
+
"h2",
|
|
1104
|
+
{
|
|
1105
|
+
className: cn(
|
|
1106
|
+
"text-2xl font-bold",
|
|
1107
|
+
mobileTabsNav ? "mt-6" : "",
|
|
1108
|
+
teamTitleClassName
|
|
1109
|
+
),
|
|
1110
|
+
children: dynamicTeamTitle
|
|
1111
|
+
}
|
|
1112
|
+
) : /* @__PURE__ */ jsx(
|
|
1113
|
+
"div",
|
|
1114
|
+
{
|
|
1115
|
+
className: cn(
|
|
1116
|
+
mobileTabsNav ? "mt-6" : "",
|
|
1117
|
+
teamTitleClassName
|
|
1118
|
+
),
|
|
1119
|
+
children: dynamicTeamTitle
|
|
1120
|
+
}
|
|
1121
|
+
)),
|
|
1020
1122
|
teamMembersContent
|
|
1021
1123
|
] })
|
|
1022
1124
|
] })
|
package/dist/components.cjs
CHANGED
|
@@ -1775,20 +1775,29 @@ function AboutMissionPrinciples({
|
|
|
1775
1775
|
const principlesContent = React4.useMemo(() => {
|
|
1776
1776
|
if (principlesSlot) return principlesSlot;
|
|
1777
1777
|
if (!principles || principles.length === 0) return null;
|
|
1778
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1778
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
1779
1779
|
"div",
|
|
1780
1780
|
{
|
|
1781
|
-
className:
|
|
1782
|
-
|
|
1783
|
-
|
|
1784
|
-
|
|
1785
|
-
|
|
1786
|
-
|
|
1787
|
-
|
|
1788
|
-
|
|
1789
|
-
|
|
1790
|
-
|
|
1791
|
-
|
|
1781
|
+
className: cn(
|
|
1782
|
+
"grid grid-cols-1 gap-6 sm:grid-cols-2",
|
|
1783
|
+
principlesClassName
|
|
1784
|
+
),
|
|
1785
|
+
children: principles.map((principle, idx) => /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1786
|
+
"div",
|
|
1787
|
+
{
|
|
1788
|
+
className: "relative rounded-lg border p-6 transition-colors hover:bg-muted",
|
|
1789
|
+
children: [
|
|
1790
|
+
principle.number && /* @__PURE__ */ jsxRuntime.jsx("div", { className: "absolute right-4 top-4 text-3xl font-bold text-primary/20", children: principle.number }),
|
|
1791
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-3", children: [
|
|
1792
|
+
principle.title && (typeof principle.title === "string" ? /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "text-xl font-bold", children: principle.title }) : principle.title),
|
|
1793
|
+
principle.description && (typeof principle.description === "string" ? /* @__PURE__ */ jsxRuntime.jsx("p", { className: "text-muted-foreground", children: principle.description }) : principle.description)
|
|
1794
|
+
] })
|
|
1795
|
+
]
|
|
1796
|
+
},
|
|
1797
|
+
idx
|
|
1798
|
+
))
|
|
1799
|
+
}
|
|
1800
|
+
);
|
|
1792
1801
|
}, [principlesSlot, principles, principlesClassName]);
|
|
1793
1802
|
const visionActionContent = React4.useMemo(() => {
|
|
1794
1803
|
if (visionActionSlot) return visionActionSlot;
|
|
@@ -1827,21 +1836,75 @@ function AboutMissionPrinciples({
|
|
|
1827
1836
|
containerClassName,
|
|
1828
1837
|
children: [
|
|
1829
1838
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-12 lg:grid-cols-2 lg:gap-24", children: [
|
|
1830
|
-
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-8", children: [
|
|
1831
|
-
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1832
|
-
|
|
1833
|
-
|
|
1839
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "space-y-4 md:space-y-8", children: [
|
|
1840
|
+
badgeText && (typeof badgeText === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1841
|
+
"div",
|
|
1842
|
+
{
|
|
1843
|
+
className: cn(
|
|
1844
|
+
"inline-block rounded-lg bg-primary/10 px-3 py-1 text-sm text-primary",
|
|
1845
|
+
badgeClassName
|
|
1846
|
+
),
|
|
1847
|
+
children: badgeText
|
|
1848
|
+
}
|
|
1849
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: badgeClassName, children: badgeText })),
|
|
1850
|
+
missionHeading && (typeof missionHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1851
|
+
"h2",
|
|
1852
|
+
{
|
|
1853
|
+
className: cn(
|
|
1854
|
+
"text-4xl font-bold leading-tight tracking-tight lg:text-5xl",
|
|
1855
|
+
missionHeadingClassName
|
|
1856
|
+
),
|
|
1857
|
+
children: missionHeading
|
|
1858
|
+
}
|
|
1859
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionHeadingClassName, children: missionHeading })),
|
|
1860
|
+
missionDescription && (typeof missionDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1861
|
+
"p",
|
|
1862
|
+
{
|
|
1863
|
+
className: cn(
|
|
1864
|
+
"text-xl text-muted-foreground",
|
|
1865
|
+
missionDescriptionClassName
|
|
1866
|
+
),
|
|
1867
|
+
children: missionDescription
|
|
1868
|
+
}
|
|
1869
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: missionDescriptionClassName, children: missionDescription })),
|
|
1834
1870
|
missionActionContent
|
|
1835
1871
|
] }),
|
|
1836
1872
|
principlesContent
|
|
1837
1873
|
] }),
|
|
1838
|
-
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1839
|
-
|
|
1840
|
-
|
|
1841
|
-
|
|
1842
|
-
|
|
1843
|
-
|
|
1844
|
-
|
|
1874
|
+
/* @__PURE__ */ jsxRuntime.jsx(
|
|
1875
|
+
"div",
|
|
1876
|
+
{
|
|
1877
|
+
className: cn(
|
|
1878
|
+
"mt-6 md:mt-24 rounded-lg bg-muted p-8 lg:p-12",
|
|
1879
|
+
visionClassName
|
|
1880
|
+
),
|
|
1881
|
+
children: /* @__PURE__ */ jsxRuntime.jsxs("div", { className: "grid grid-cols-1 items-center gap-8 lg:grid-cols-3", children: [
|
|
1882
|
+
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "lg:col-span-2", children: [
|
|
1883
|
+
visionHeading && (typeof visionHeading === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1884
|
+
"h3",
|
|
1885
|
+
{
|
|
1886
|
+
className: cn(
|
|
1887
|
+
"mb-4 text-2xl font-bold",
|
|
1888
|
+
visionHeadingClassName
|
|
1889
|
+
),
|
|
1890
|
+
children: visionHeading
|
|
1891
|
+
}
|
|
1892
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", visionHeadingClassName), children: visionHeading })),
|
|
1893
|
+
visionDescription && (typeof visionDescription === "string" ? /* @__PURE__ */ jsxRuntime.jsx(
|
|
1894
|
+
"p",
|
|
1895
|
+
{
|
|
1896
|
+
className: cn(
|
|
1897
|
+
"mb-4 text-foreground/80",
|
|
1898
|
+
visionDescriptionClassName
|
|
1899
|
+
),
|
|
1900
|
+
children: visionDescription
|
|
1901
|
+
}
|
|
1902
|
+
) : /* @__PURE__ */ jsxRuntime.jsx("div", { className: cn("mb-4", visionDescriptionClassName), children: visionDescription }))
|
|
1903
|
+
] }),
|
|
1904
|
+
/* @__PURE__ */ jsxRuntime.jsx("div", { className: "flex justify-center lg:col-span-1 lg:justify-end", children: visionActionContent })
|
|
1905
|
+
] })
|
|
1906
|
+
}
|
|
1907
|
+
)
|
|
1845
1908
|
]
|
|
1846
1909
|
}
|
|
1847
1910
|
);
|