@yeongseoksong/framework 1.4.0 → 1.5.0
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/README.md +44 -2
- package/dist/ui/index.cjs +509 -268
- package/dist/ui/index.d.mts +56 -14
- package/dist/ui/index.d.ts +56 -14
- package/dist/ui/index.mjs +457 -218
- package/package.json +1 -1
package/dist/ui/index.d.mts
CHANGED
|
@@ -14,10 +14,13 @@ interface LogoProps {
|
|
|
14
14
|
}
|
|
15
15
|
declare function Logo(_props: LogoProps): react_jsx_runtime.JSX.Element;
|
|
16
16
|
|
|
17
|
+
type SdTabsRootProps = TabsProps & {
|
|
18
|
+
syncHash?: boolean;
|
|
19
|
+
};
|
|
17
20
|
declare function SdPanel({ children, ...props }: TabsPanelProps): react_jsx_runtime.JSX.Element;
|
|
18
21
|
declare const SdTabs: {
|
|
19
22
|
Pills: {
|
|
20
|
-
(props:
|
|
23
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
21
24
|
List: _mantine_core.MantineComponent<{
|
|
22
25
|
props: TabsListProps;
|
|
23
26
|
ref: HTMLDivElement;
|
|
@@ -33,7 +36,7 @@ declare const SdTabs: {
|
|
|
33
36
|
Panel: typeof SdPanel;
|
|
34
37
|
};
|
|
35
38
|
Underline: {
|
|
36
|
-
(props:
|
|
39
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
37
40
|
List: _mantine_core.MantineComponent<{
|
|
38
41
|
props: TabsListProps;
|
|
39
42
|
ref: HTMLDivElement;
|
|
@@ -49,7 +52,7 @@ declare const SdTabs: {
|
|
|
49
52
|
Panel: typeof SdPanel;
|
|
50
53
|
};
|
|
51
54
|
Outline: {
|
|
52
|
-
(props:
|
|
55
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
53
56
|
List: _mantine_core.MantineComponent<{
|
|
54
57
|
props: TabsListProps;
|
|
55
58
|
ref: HTMLDivElement;
|
|
@@ -66,7 +69,7 @@ declare const SdTabs: {
|
|
|
66
69
|
};
|
|
67
70
|
};
|
|
68
71
|
declare const SdTabsPills: {
|
|
69
|
-
(props:
|
|
72
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
70
73
|
List: _mantine_core.MantineComponent<{
|
|
71
74
|
props: TabsListProps;
|
|
72
75
|
ref: HTMLDivElement;
|
|
@@ -82,7 +85,7 @@ declare const SdTabsPills: {
|
|
|
82
85
|
Panel: typeof SdPanel;
|
|
83
86
|
};
|
|
84
87
|
declare const SdTabsUnderline: {
|
|
85
|
-
(props:
|
|
88
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
86
89
|
List: _mantine_core.MantineComponent<{
|
|
87
90
|
props: TabsListProps;
|
|
88
91
|
ref: HTMLDivElement;
|
|
@@ -98,7 +101,7 @@ declare const SdTabsUnderline: {
|
|
|
98
101
|
Panel: typeof SdPanel;
|
|
99
102
|
};
|
|
100
103
|
declare const SdTabsOutline: {
|
|
101
|
-
(props:
|
|
104
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
102
105
|
List: _mantine_core.MantineComponent<{
|
|
103
106
|
props: TabsListProps;
|
|
104
107
|
ref: HTMLDivElement;
|
|
@@ -900,6 +903,24 @@ declare const SdMap: {
|
|
|
900
903
|
declare const SdMapSingle: typeof Single;
|
|
901
904
|
declare const SdMapTabs: typeof Tabs;
|
|
902
905
|
|
|
906
|
+
interface SdBreadcrumbProps extends BoxProps {
|
|
907
|
+
navItems: NavItem[];
|
|
908
|
+
/** 현재 경로. 생략하면 `usePathname()`으로 자동 추론한다. */
|
|
909
|
+
currentHref?: string;
|
|
910
|
+
/** 홈(첫 크럼) 링크 대상. 기본 `/`. */
|
|
911
|
+
homeHref?: string;
|
|
912
|
+
/** 홈 아이콘의 접근성 라벨. 기본 `홈`. */
|
|
913
|
+
homeLabel?: string;
|
|
914
|
+
}
|
|
915
|
+
/**
|
|
916
|
+
* 네비게이션 계층 기반 브레드크럼 — `홈 아이콘 > a > b > c`.
|
|
917
|
+
*
|
|
918
|
+
* navItems의 `parentId` 트리에서 현재 경로가 놓인 위치를 찾아 루트까지의 경로를 그린다.
|
|
919
|
+
* 조상 크럼은 클릭 가능한 링크(`SdLink.Sub`), 마지막(현재 페이지) 크럼은 href 없는
|
|
920
|
+
* `SdLink.Body`라 링크가 아닌 강조 텍스트(`SdText.Body`)로 폴백해 현재 위치를 나타낸다.
|
|
921
|
+
*/
|
|
922
|
+
declare function SdBreadcrumb({ navItems, currentHref, homeHref, homeLabel, ...boxProps }: SdBreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
923
|
+
|
|
903
924
|
interface HeroCarouselProps {
|
|
904
925
|
slides: HeroSlide[];
|
|
905
926
|
children?: React$1.ReactNode;
|
|
@@ -921,12 +942,21 @@ declare function MegaHeader({ navItems, loginFlag }: HeaderProps): react_jsx_run
|
|
|
921
942
|
* 바가 자라지 않으므로 AppShell.Header 높이를 그대로 쓰는 레이아웃에 적합하다.
|
|
922
943
|
*/
|
|
923
944
|
declare function SimpleHeader({ navItems, loginFlag }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
945
|
+
/**
|
|
946
|
+
* Panel 변형 — Simple처럼 바 높이는 60px로 고정하고 상위 항목마다 Mantine `Menu`가 붙지만,
|
|
947
|
+
* 드롭다운 내부는 Mega와 동일한 그룹 레이아웃으로 편다: 손자가 없는 자식은 단일 링크,
|
|
948
|
+
* 손자가 있는 자식은 그룹 제목(`SdLink.Body`) 아래로 손자를 `SdLink.Sub`로 얹는다.
|
|
949
|
+
* Simple의 개별 드롭다운 안정성 + Mega의 풍부한 그룹 구성이 함께 필요할 때 쓴다.
|
|
950
|
+
*/
|
|
951
|
+
declare function PanelHeader({ navItems, loginFlag }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
924
952
|
declare const SdHeader: typeof MegaHeader & {
|
|
925
953
|
Mega: typeof MegaHeader;
|
|
926
954
|
Simple: typeof SimpleHeader;
|
|
955
|
+
Panel: typeof PanelHeader;
|
|
927
956
|
};
|
|
928
957
|
declare const SdHeaderMega: typeof MegaHeader;
|
|
929
958
|
declare const SdHeaderSimple: typeof SimpleHeader;
|
|
959
|
+
declare const SdHeaderPanel: typeof PanelHeader;
|
|
930
960
|
|
|
931
961
|
interface SdFooterProps {
|
|
932
962
|
company: CompanyInfo;
|
|
@@ -1065,17 +1095,29 @@ declare const SdResultSuccess: ({ title, description, primaryAction, secondaryAc
|
|
|
1065
1095
|
declare const SdResultError: ({ title, description, primaryAction, secondaryAction, children, mih, }: SdResultProps) => react_jsx_runtime.JSX.Element;
|
|
1066
1096
|
|
|
1067
1097
|
/** 헤더 변형 선택자 — SdHeader의 네임스페이스 키와 1:1로 대응한다. */
|
|
1068
|
-
type HeaderVariant = 'mega' | 'simple';
|
|
1098
|
+
type HeaderVariant = 'mega' | 'simple' | 'panel';
|
|
1069
1099
|
declare function MainLayout({ children, navItems, companyInfo, loginFlag, headerVariant, }: {
|
|
1070
1100
|
children: React.ReactNode;
|
|
1071
1101
|
navItems: NavItem[];
|
|
1072
1102
|
companyInfo: CompanyInfo;
|
|
1073
1103
|
loginFlag?: boolean;
|
|
1074
|
-
/** 기본 `mega` — hover 시 헤더가 확장되는 메가 메뉴. `simple`은 바 높이 고정 + 개별 드롭다운. */
|
|
1104
|
+
/** 기본 `mega` — hover 시 헤더가 확장되는 메가 메뉴. `simple`은 바 높이 고정 + 개별 드롭다운. `panel`은 바 높이 고정 + 드롭다운 내부를 Mega식 그룹 컬럼으로. */
|
|
1075
1105
|
headerVariant?: HeaderVariant;
|
|
1076
1106
|
}): react_jsx_runtime.JSX.Element;
|
|
1077
1107
|
|
|
1078
|
-
|
|
1108
|
+
/**
|
|
1109
|
+
* 모든 변형이 공유하는 브레드크럼 설정.
|
|
1110
|
+
* `navItems`가 있고 `breadcrumb`이 false가 아니면 본문 최상단에 브레드크럼을 그린다.
|
|
1111
|
+
*/
|
|
1112
|
+
interface BreadcrumbProps {
|
|
1113
|
+
/** 브레드크럼용 네비 트리. 없으면 브레드크럼을 렌더하지 않는다. */
|
|
1114
|
+
navItems?: NavItem[];
|
|
1115
|
+
/** 브레드크럼 표시 여부. 기본 `true` — `navItems`가 있을 때만 실제로 그려진다. `false`로 끈다. */
|
|
1116
|
+
breadcrumb?: boolean;
|
|
1117
|
+
/** 현재 경로 강제 지정. 생략 시 `SdBreadcrumb`가 `usePathname()`으로 추론한다. */
|
|
1118
|
+
currentHref?: string;
|
|
1119
|
+
}
|
|
1120
|
+
interface PageHeroBaseProps extends BreadcrumbProps {
|
|
1079
1121
|
label?: ReactNode;
|
|
1080
1122
|
title: ReactNode;
|
|
1081
1123
|
description?: ReactNode;
|
|
@@ -1084,12 +1126,12 @@ interface PageHeroBaseProps {
|
|
|
1084
1126
|
interface WithImageProps extends PageHeroBaseProps {
|
|
1085
1127
|
image?: string;
|
|
1086
1128
|
}
|
|
1087
|
-
declare function Minimal({ label, title, description, children }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1088
|
-
declare function Plain({ children }: {
|
|
1129
|
+
declare function Minimal({ label, title, description, children, navItems, breadcrumb, currentHref, }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1130
|
+
declare function Plain({ children, navItems, breadcrumb, currentHref, }: BreadcrumbProps & {
|
|
1089
1131
|
children: ReactNode;
|
|
1090
1132
|
}): react_jsx_runtime.JSX.Element;
|
|
1091
|
-
declare function Image({ image, label, title, description, children }: WithImageProps): react_jsx_runtime.JSX.Element;
|
|
1092
|
-
declare function Brand({ label, title, description, children }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1133
|
+
declare function Image({ image, label, title, description, children, navItems, breadcrumb, currentHref, }: WithImageProps): react_jsx_runtime.JSX.Element;
|
|
1134
|
+
declare function Brand({ label, title, description, children, navItems, breadcrumb, currentHref, }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1093
1135
|
declare const PageLayout: {
|
|
1094
1136
|
/** 사진 배경 + 하단 스크림 + 좌측 정렬 텍스트 */
|
|
1095
1137
|
Image: typeof Image;
|
|
@@ -1253,4 +1295,4 @@ declare const theme: {
|
|
|
1253
1295
|
} | undefined;
|
|
1254
1296
|
};
|
|
1255
1297
|
|
|
1256
|
-
export { type HeaderVariant, HeroCarousel, Logo, MainLayout, type NavItem, PageLayout, PageLayoutBrand, PageLayoutImage, PageLayoutMinimal, PageLayoutPlain, SdBadge, SdBadgeDefault, SdBadgePrimary, SdBadgeSuccess, SdBadgeWarning, SdButton, SdButtonCancel, SdButtonDelete, SdButtonDownload, SdButtonExcel, SdButtonGhost, SdButtonOutline, SdButtonPrimary, SdButtonSecondary, SdButtonSubmit, SdButtonWhite, SdClients, SdClientsGrid, SdClientsMarquee, SdContainer, SdCta, SdCtaBanner, SdCtaInline, SdCtaSubtle, SdErrorView, SdErrorViewNotFound, SdErrorViewPage, SdFaq, SdFaqDefault, SdFaqFilled, SdFaqWithHeader, SdFeatureSection, SdFeatures, SdFooter, SdHeader, SdHeaderMega, SdHeaderSimple, SdInput, SdInputAutocomplete, SdInputCheckbox, SdInputColor, SdInputDate, SdInputDateRange, SdInputEmail, SdInputFile, SdInputJson, SdInputMultiSelect, SdInputNativeSelect, SdInputNumber, SdInputPassword, SdInputPinCode, SdInputRadioGroup, SdInputRating, SdInputSegmented, SdInputSelect, SdInputSlider, SdInputSwitch, SdInputTags, SdInputText, SdInputTextarea, SdInputTime, SdLink, SdLinkBody, SdLinkHint, SdLinkStrong, SdLinkSub, SdLoginView, SdLoginViewCard, SdLoginViewSplit, SdMap, SdMapSingle, SdMapTabs, SdModal, SdNumberIcon, SdPricingCard, SdPricingCardDefault, SdPricingCardFeatured, SdPricingCardGrid, SdQuote, SdQuoteCard, SdQuotePlain, SdResult, SdResultError, SdResultSuccess, SdSkeleton, SdSkeletonAvatar, SdSkeletonCard, SdSkeletonImage, SdSkeletonText, SdSkeletonTitle, SdSolution, SdSolutionCard, SdSolutionCardGrid, SdSolutionCardItem, SdSolutionFiltered, SdSolutionList, SdSteps, SdStepsBubble, SdStepsCard, SdStepsSection, SdStepsStrip, SdTable, SdTableSpec, SdTabs, SdTabsOutline, SdTabsPills, SdTabsUnderline, SdTestimonial, SdTestimonialCard, SdTestimonialGrid, SdTestimonialStrip, SdText, SdTextBody, SdTextBox, SdTextBoxCard, SdTextBoxHero, SdTextBoxSection, SdTextBoxSub, SdTextError, SdTextEyebrow, SdTextHint, SdTextNumeric, SdTextStrong, SdTextSub, SdTimeline, SdTimelineSection, SdTitle, SdTitleCard, SdTitleDisplay, SdTitleSection, SdTitleSub, SdToast, SdToastClean, SdToastError, SdToastHide, SdToastInfo, SdToastLoading, SdToastProvider, SdToastSuccess, SdToastUpdate, SdToastWarning, theme };
|
|
1298
|
+
export { type HeaderVariant, HeroCarousel, Logo, MainLayout, type NavItem, PageLayout, PageLayoutBrand, PageLayoutImage, PageLayoutMinimal, PageLayoutPlain, SdBadge, SdBadgeDefault, SdBadgePrimary, SdBadgeSuccess, SdBadgeWarning, SdBreadcrumb, SdButton, SdButtonCancel, SdButtonDelete, SdButtonDownload, SdButtonExcel, SdButtonGhost, SdButtonOutline, SdButtonPrimary, SdButtonSecondary, SdButtonSubmit, SdButtonWhite, SdClients, SdClientsGrid, SdClientsMarquee, SdContainer, SdCta, SdCtaBanner, SdCtaInline, SdCtaSubtle, SdErrorView, SdErrorViewNotFound, SdErrorViewPage, SdFaq, SdFaqDefault, SdFaqFilled, SdFaqWithHeader, SdFeatureSection, SdFeatures, SdFooter, SdHeader, SdHeaderMega, SdHeaderPanel, SdHeaderSimple, SdInput, SdInputAutocomplete, SdInputCheckbox, SdInputColor, SdInputDate, SdInputDateRange, SdInputEmail, SdInputFile, SdInputJson, SdInputMultiSelect, SdInputNativeSelect, SdInputNumber, SdInputPassword, SdInputPinCode, SdInputRadioGroup, SdInputRating, SdInputSegmented, SdInputSelect, SdInputSlider, SdInputSwitch, SdInputTags, SdInputText, SdInputTextarea, SdInputTime, SdLink, SdLinkBody, SdLinkHint, SdLinkStrong, SdLinkSub, SdLoginView, SdLoginViewCard, SdLoginViewSplit, SdMap, SdMapSingle, SdMapTabs, SdModal, SdNumberIcon, SdPricingCard, SdPricingCardDefault, SdPricingCardFeatured, SdPricingCardGrid, SdQuote, SdQuoteCard, SdQuotePlain, SdResult, SdResultError, SdResultSuccess, SdSkeleton, SdSkeletonAvatar, SdSkeletonCard, SdSkeletonImage, SdSkeletonText, SdSkeletonTitle, SdSolution, SdSolutionCard, SdSolutionCardGrid, SdSolutionCardItem, SdSolutionFiltered, SdSolutionList, SdSteps, SdStepsBubble, SdStepsCard, SdStepsSection, SdStepsStrip, SdTable, SdTableSpec, SdTabs, SdTabsOutline, SdTabsPills, SdTabsUnderline, SdTestimonial, SdTestimonialCard, SdTestimonialGrid, SdTestimonialStrip, SdText, SdTextBody, SdTextBox, SdTextBoxCard, SdTextBoxHero, SdTextBoxSection, SdTextBoxSub, SdTextError, SdTextEyebrow, SdTextHint, SdTextNumeric, SdTextStrong, SdTextSub, SdTimeline, SdTimelineSection, SdTitle, SdTitleCard, SdTitleDisplay, SdTitleSection, SdTitleSub, SdToast, SdToastClean, SdToastError, SdToastHide, SdToastInfo, SdToastLoading, SdToastProvider, SdToastSuccess, SdToastUpdate, SdToastWarning, theme };
|
package/dist/ui/index.d.ts
CHANGED
|
@@ -14,10 +14,13 @@ interface LogoProps {
|
|
|
14
14
|
}
|
|
15
15
|
declare function Logo(_props: LogoProps): react_jsx_runtime.JSX.Element;
|
|
16
16
|
|
|
17
|
+
type SdTabsRootProps = TabsProps & {
|
|
18
|
+
syncHash?: boolean;
|
|
19
|
+
};
|
|
17
20
|
declare function SdPanel({ children, ...props }: TabsPanelProps): react_jsx_runtime.JSX.Element;
|
|
18
21
|
declare const SdTabs: {
|
|
19
22
|
Pills: {
|
|
20
|
-
(props:
|
|
23
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
21
24
|
List: _mantine_core.MantineComponent<{
|
|
22
25
|
props: TabsListProps;
|
|
23
26
|
ref: HTMLDivElement;
|
|
@@ -33,7 +36,7 @@ declare const SdTabs: {
|
|
|
33
36
|
Panel: typeof SdPanel;
|
|
34
37
|
};
|
|
35
38
|
Underline: {
|
|
36
|
-
(props:
|
|
39
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
37
40
|
List: _mantine_core.MantineComponent<{
|
|
38
41
|
props: TabsListProps;
|
|
39
42
|
ref: HTMLDivElement;
|
|
@@ -49,7 +52,7 @@ declare const SdTabs: {
|
|
|
49
52
|
Panel: typeof SdPanel;
|
|
50
53
|
};
|
|
51
54
|
Outline: {
|
|
52
|
-
(props:
|
|
55
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
53
56
|
List: _mantine_core.MantineComponent<{
|
|
54
57
|
props: TabsListProps;
|
|
55
58
|
ref: HTMLDivElement;
|
|
@@ -66,7 +69,7 @@ declare const SdTabs: {
|
|
|
66
69
|
};
|
|
67
70
|
};
|
|
68
71
|
declare const SdTabsPills: {
|
|
69
|
-
(props:
|
|
72
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
70
73
|
List: _mantine_core.MantineComponent<{
|
|
71
74
|
props: TabsListProps;
|
|
72
75
|
ref: HTMLDivElement;
|
|
@@ -82,7 +85,7 @@ declare const SdTabsPills: {
|
|
|
82
85
|
Panel: typeof SdPanel;
|
|
83
86
|
};
|
|
84
87
|
declare const SdTabsUnderline: {
|
|
85
|
-
(props:
|
|
88
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
86
89
|
List: _mantine_core.MantineComponent<{
|
|
87
90
|
props: TabsListProps;
|
|
88
91
|
ref: HTMLDivElement;
|
|
@@ -98,7 +101,7 @@ declare const SdTabsUnderline: {
|
|
|
98
101
|
Panel: typeof SdPanel;
|
|
99
102
|
};
|
|
100
103
|
declare const SdTabsOutline: {
|
|
101
|
-
(props:
|
|
104
|
+
({ syncHash, value, onChange, ...props }: SdTabsRootProps): react_jsx_runtime.JSX.Element;
|
|
102
105
|
List: _mantine_core.MantineComponent<{
|
|
103
106
|
props: TabsListProps;
|
|
104
107
|
ref: HTMLDivElement;
|
|
@@ -900,6 +903,24 @@ declare const SdMap: {
|
|
|
900
903
|
declare const SdMapSingle: typeof Single;
|
|
901
904
|
declare const SdMapTabs: typeof Tabs;
|
|
902
905
|
|
|
906
|
+
interface SdBreadcrumbProps extends BoxProps {
|
|
907
|
+
navItems: NavItem[];
|
|
908
|
+
/** 현재 경로. 생략하면 `usePathname()`으로 자동 추론한다. */
|
|
909
|
+
currentHref?: string;
|
|
910
|
+
/** 홈(첫 크럼) 링크 대상. 기본 `/`. */
|
|
911
|
+
homeHref?: string;
|
|
912
|
+
/** 홈 아이콘의 접근성 라벨. 기본 `홈`. */
|
|
913
|
+
homeLabel?: string;
|
|
914
|
+
}
|
|
915
|
+
/**
|
|
916
|
+
* 네비게이션 계층 기반 브레드크럼 — `홈 아이콘 > a > b > c`.
|
|
917
|
+
*
|
|
918
|
+
* navItems의 `parentId` 트리에서 현재 경로가 놓인 위치를 찾아 루트까지의 경로를 그린다.
|
|
919
|
+
* 조상 크럼은 클릭 가능한 링크(`SdLink.Sub`), 마지막(현재 페이지) 크럼은 href 없는
|
|
920
|
+
* `SdLink.Body`라 링크가 아닌 강조 텍스트(`SdText.Body`)로 폴백해 현재 위치를 나타낸다.
|
|
921
|
+
*/
|
|
922
|
+
declare function SdBreadcrumb({ navItems, currentHref, homeHref, homeLabel, ...boxProps }: SdBreadcrumbProps): react_jsx_runtime.JSX.Element;
|
|
923
|
+
|
|
903
924
|
interface HeroCarouselProps {
|
|
904
925
|
slides: HeroSlide[];
|
|
905
926
|
children?: React$1.ReactNode;
|
|
@@ -921,12 +942,21 @@ declare function MegaHeader({ navItems, loginFlag }: HeaderProps): react_jsx_run
|
|
|
921
942
|
* 바가 자라지 않으므로 AppShell.Header 높이를 그대로 쓰는 레이아웃에 적합하다.
|
|
922
943
|
*/
|
|
923
944
|
declare function SimpleHeader({ navItems, loginFlag }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
945
|
+
/**
|
|
946
|
+
* Panel 변형 — Simple처럼 바 높이는 60px로 고정하고 상위 항목마다 Mantine `Menu`가 붙지만,
|
|
947
|
+
* 드롭다운 내부는 Mega와 동일한 그룹 레이아웃으로 편다: 손자가 없는 자식은 단일 링크,
|
|
948
|
+
* 손자가 있는 자식은 그룹 제목(`SdLink.Body`) 아래로 손자를 `SdLink.Sub`로 얹는다.
|
|
949
|
+
* Simple의 개별 드롭다운 안정성 + Mega의 풍부한 그룹 구성이 함께 필요할 때 쓴다.
|
|
950
|
+
*/
|
|
951
|
+
declare function PanelHeader({ navItems, loginFlag }: HeaderProps): react_jsx_runtime.JSX.Element;
|
|
924
952
|
declare const SdHeader: typeof MegaHeader & {
|
|
925
953
|
Mega: typeof MegaHeader;
|
|
926
954
|
Simple: typeof SimpleHeader;
|
|
955
|
+
Panel: typeof PanelHeader;
|
|
927
956
|
};
|
|
928
957
|
declare const SdHeaderMega: typeof MegaHeader;
|
|
929
958
|
declare const SdHeaderSimple: typeof SimpleHeader;
|
|
959
|
+
declare const SdHeaderPanel: typeof PanelHeader;
|
|
930
960
|
|
|
931
961
|
interface SdFooterProps {
|
|
932
962
|
company: CompanyInfo;
|
|
@@ -1065,17 +1095,29 @@ declare const SdResultSuccess: ({ title, description, primaryAction, secondaryAc
|
|
|
1065
1095
|
declare const SdResultError: ({ title, description, primaryAction, secondaryAction, children, mih, }: SdResultProps) => react_jsx_runtime.JSX.Element;
|
|
1066
1096
|
|
|
1067
1097
|
/** 헤더 변형 선택자 — SdHeader의 네임스페이스 키와 1:1로 대응한다. */
|
|
1068
|
-
type HeaderVariant = 'mega' | 'simple';
|
|
1098
|
+
type HeaderVariant = 'mega' | 'simple' | 'panel';
|
|
1069
1099
|
declare function MainLayout({ children, navItems, companyInfo, loginFlag, headerVariant, }: {
|
|
1070
1100
|
children: React.ReactNode;
|
|
1071
1101
|
navItems: NavItem[];
|
|
1072
1102
|
companyInfo: CompanyInfo;
|
|
1073
1103
|
loginFlag?: boolean;
|
|
1074
|
-
/** 기본 `mega` — hover 시 헤더가 확장되는 메가 메뉴. `simple`은 바 높이 고정 + 개별 드롭다운. */
|
|
1104
|
+
/** 기본 `mega` — hover 시 헤더가 확장되는 메가 메뉴. `simple`은 바 높이 고정 + 개별 드롭다운. `panel`은 바 높이 고정 + 드롭다운 내부를 Mega식 그룹 컬럼으로. */
|
|
1075
1105
|
headerVariant?: HeaderVariant;
|
|
1076
1106
|
}): react_jsx_runtime.JSX.Element;
|
|
1077
1107
|
|
|
1078
|
-
|
|
1108
|
+
/**
|
|
1109
|
+
* 모든 변형이 공유하는 브레드크럼 설정.
|
|
1110
|
+
* `navItems`가 있고 `breadcrumb`이 false가 아니면 본문 최상단에 브레드크럼을 그린다.
|
|
1111
|
+
*/
|
|
1112
|
+
interface BreadcrumbProps {
|
|
1113
|
+
/** 브레드크럼용 네비 트리. 없으면 브레드크럼을 렌더하지 않는다. */
|
|
1114
|
+
navItems?: NavItem[];
|
|
1115
|
+
/** 브레드크럼 표시 여부. 기본 `true` — `navItems`가 있을 때만 실제로 그려진다. `false`로 끈다. */
|
|
1116
|
+
breadcrumb?: boolean;
|
|
1117
|
+
/** 현재 경로 강제 지정. 생략 시 `SdBreadcrumb`가 `usePathname()`으로 추론한다. */
|
|
1118
|
+
currentHref?: string;
|
|
1119
|
+
}
|
|
1120
|
+
interface PageHeroBaseProps extends BreadcrumbProps {
|
|
1079
1121
|
label?: ReactNode;
|
|
1080
1122
|
title: ReactNode;
|
|
1081
1123
|
description?: ReactNode;
|
|
@@ -1084,12 +1126,12 @@ interface PageHeroBaseProps {
|
|
|
1084
1126
|
interface WithImageProps extends PageHeroBaseProps {
|
|
1085
1127
|
image?: string;
|
|
1086
1128
|
}
|
|
1087
|
-
declare function Minimal({ label, title, description, children }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1088
|
-
declare function Plain({ children }: {
|
|
1129
|
+
declare function Minimal({ label, title, description, children, navItems, breadcrumb, currentHref, }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1130
|
+
declare function Plain({ children, navItems, breadcrumb, currentHref, }: BreadcrumbProps & {
|
|
1089
1131
|
children: ReactNode;
|
|
1090
1132
|
}): react_jsx_runtime.JSX.Element;
|
|
1091
|
-
declare function Image({ image, label, title, description, children }: WithImageProps): react_jsx_runtime.JSX.Element;
|
|
1092
|
-
declare function Brand({ label, title, description, children }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1133
|
+
declare function Image({ image, label, title, description, children, navItems, breadcrumb, currentHref, }: WithImageProps): react_jsx_runtime.JSX.Element;
|
|
1134
|
+
declare function Brand({ label, title, description, children, navItems, breadcrumb, currentHref, }: PageHeroBaseProps): react_jsx_runtime.JSX.Element;
|
|
1093
1135
|
declare const PageLayout: {
|
|
1094
1136
|
/** 사진 배경 + 하단 스크림 + 좌측 정렬 텍스트 */
|
|
1095
1137
|
Image: typeof Image;
|
|
@@ -1253,4 +1295,4 @@ declare const theme: {
|
|
|
1253
1295
|
} | undefined;
|
|
1254
1296
|
};
|
|
1255
1297
|
|
|
1256
|
-
export { type HeaderVariant, HeroCarousel, Logo, MainLayout, type NavItem, PageLayout, PageLayoutBrand, PageLayoutImage, PageLayoutMinimal, PageLayoutPlain, SdBadge, SdBadgeDefault, SdBadgePrimary, SdBadgeSuccess, SdBadgeWarning, SdButton, SdButtonCancel, SdButtonDelete, SdButtonDownload, SdButtonExcel, SdButtonGhost, SdButtonOutline, SdButtonPrimary, SdButtonSecondary, SdButtonSubmit, SdButtonWhite, SdClients, SdClientsGrid, SdClientsMarquee, SdContainer, SdCta, SdCtaBanner, SdCtaInline, SdCtaSubtle, SdErrorView, SdErrorViewNotFound, SdErrorViewPage, SdFaq, SdFaqDefault, SdFaqFilled, SdFaqWithHeader, SdFeatureSection, SdFeatures, SdFooter, SdHeader, SdHeaderMega, SdHeaderSimple, SdInput, SdInputAutocomplete, SdInputCheckbox, SdInputColor, SdInputDate, SdInputDateRange, SdInputEmail, SdInputFile, SdInputJson, SdInputMultiSelect, SdInputNativeSelect, SdInputNumber, SdInputPassword, SdInputPinCode, SdInputRadioGroup, SdInputRating, SdInputSegmented, SdInputSelect, SdInputSlider, SdInputSwitch, SdInputTags, SdInputText, SdInputTextarea, SdInputTime, SdLink, SdLinkBody, SdLinkHint, SdLinkStrong, SdLinkSub, SdLoginView, SdLoginViewCard, SdLoginViewSplit, SdMap, SdMapSingle, SdMapTabs, SdModal, SdNumberIcon, SdPricingCard, SdPricingCardDefault, SdPricingCardFeatured, SdPricingCardGrid, SdQuote, SdQuoteCard, SdQuotePlain, SdResult, SdResultError, SdResultSuccess, SdSkeleton, SdSkeletonAvatar, SdSkeletonCard, SdSkeletonImage, SdSkeletonText, SdSkeletonTitle, SdSolution, SdSolutionCard, SdSolutionCardGrid, SdSolutionCardItem, SdSolutionFiltered, SdSolutionList, SdSteps, SdStepsBubble, SdStepsCard, SdStepsSection, SdStepsStrip, SdTable, SdTableSpec, SdTabs, SdTabsOutline, SdTabsPills, SdTabsUnderline, SdTestimonial, SdTestimonialCard, SdTestimonialGrid, SdTestimonialStrip, SdText, SdTextBody, SdTextBox, SdTextBoxCard, SdTextBoxHero, SdTextBoxSection, SdTextBoxSub, SdTextError, SdTextEyebrow, SdTextHint, SdTextNumeric, SdTextStrong, SdTextSub, SdTimeline, SdTimelineSection, SdTitle, SdTitleCard, SdTitleDisplay, SdTitleSection, SdTitleSub, SdToast, SdToastClean, SdToastError, SdToastHide, SdToastInfo, SdToastLoading, SdToastProvider, SdToastSuccess, SdToastUpdate, SdToastWarning, theme };
|
|
1298
|
+
export { type HeaderVariant, HeroCarousel, Logo, MainLayout, type NavItem, PageLayout, PageLayoutBrand, PageLayoutImage, PageLayoutMinimal, PageLayoutPlain, SdBadge, SdBadgeDefault, SdBadgePrimary, SdBadgeSuccess, SdBadgeWarning, SdBreadcrumb, SdButton, SdButtonCancel, SdButtonDelete, SdButtonDownload, SdButtonExcel, SdButtonGhost, SdButtonOutline, SdButtonPrimary, SdButtonSecondary, SdButtonSubmit, SdButtonWhite, SdClients, SdClientsGrid, SdClientsMarquee, SdContainer, SdCta, SdCtaBanner, SdCtaInline, SdCtaSubtle, SdErrorView, SdErrorViewNotFound, SdErrorViewPage, SdFaq, SdFaqDefault, SdFaqFilled, SdFaqWithHeader, SdFeatureSection, SdFeatures, SdFooter, SdHeader, SdHeaderMega, SdHeaderPanel, SdHeaderSimple, SdInput, SdInputAutocomplete, SdInputCheckbox, SdInputColor, SdInputDate, SdInputDateRange, SdInputEmail, SdInputFile, SdInputJson, SdInputMultiSelect, SdInputNativeSelect, SdInputNumber, SdInputPassword, SdInputPinCode, SdInputRadioGroup, SdInputRating, SdInputSegmented, SdInputSelect, SdInputSlider, SdInputSwitch, SdInputTags, SdInputText, SdInputTextarea, SdInputTime, SdLink, SdLinkBody, SdLinkHint, SdLinkStrong, SdLinkSub, SdLoginView, SdLoginViewCard, SdLoginViewSplit, SdMap, SdMapSingle, SdMapTabs, SdModal, SdNumberIcon, SdPricingCard, SdPricingCardDefault, SdPricingCardFeatured, SdPricingCardGrid, SdQuote, SdQuoteCard, SdQuotePlain, SdResult, SdResultError, SdResultSuccess, SdSkeleton, SdSkeletonAvatar, SdSkeletonCard, SdSkeletonImage, SdSkeletonText, SdSkeletonTitle, SdSolution, SdSolutionCard, SdSolutionCardGrid, SdSolutionCardItem, SdSolutionFiltered, SdSolutionList, SdSteps, SdStepsBubble, SdStepsCard, SdStepsSection, SdStepsStrip, SdTable, SdTableSpec, SdTabs, SdTabsOutline, SdTabsPills, SdTabsUnderline, SdTestimonial, SdTestimonialCard, SdTestimonialGrid, SdTestimonialStrip, SdText, SdTextBody, SdTextBox, SdTextBoxCard, SdTextBoxHero, SdTextBoxSection, SdTextBoxSub, SdTextError, SdTextEyebrow, SdTextHint, SdTextNumeric, SdTextStrong, SdTextSub, SdTimeline, SdTimelineSection, SdTitle, SdTitleCard, SdTitleDisplay, SdTitleSection, SdTitleSub, SdToast, SdToastClean, SdToastError, SdToastHide, SdToastInfo, SdToastLoading, SdToastProvider, SdToastSuccess, SdToastUpdate, SdToastWarning, theme };
|