@exem-ui/react 0.3.2 → 0.3.3-next.20260309061812

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.
@@ -0,0 +1,251 @@
1
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
2
+ import * as React$1 from 'react';
3
+ import React__default, { ComponentProps } from 'react';
4
+ import * as SelectPrimitive from '@radix-ui/react-select';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import * as class_variance_authority_types from 'class-variance-authority/types';
7
+ import { VariantProps } from '@exem-ui/core/utils';
8
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
9
+
10
+ type SegmentSize = 'small' | 'medium' | 'large';
11
+ type SegmentListProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
12
+ type SegmentItemProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
13
+ /** 텍스트 왼쪽에 표시할 아이콘 요소 */
14
+ leftIcon?: React__default.ReactElement<{
15
+ className?: string;
16
+ }>;
17
+ };
18
+ type SegmentContentProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
19
+ type SegmentRootProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
20
+ /**
21
+ * 세그먼트 크기
22
+ * @default 'medium'
23
+ */
24
+ size?: SegmentSize;
25
+ };
26
+ type SegmentComponent = React__default.ForwardRefExoticComponent<SegmentRootProps & React__default.RefAttributes<React__default.ElementRef<typeof TabsPrimitive.Root>>> & {
27
+ List: React__default.ForwardRefExoticComponent<SegmentListProps>;
28
+ Item: React__default.ForwardRefExoticComponent<SegmentItemProps>;
29
+ Content: React__default.ForwardRefExoticComponent<SegmentContentProps>;
30
+ };
31
+ /**
32
+ * 탭 형태의 세그먼트 컨트롤 컴포넌트입니다.
33
+ * Compound Component 패턴으로 `Segment.List`, `Segment.Item`, `Segment.Content`와 함께 사용합니다.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <Segment defaultValue="tab1" size="medium">
38
+ * <Segment.List>
39
+ * <Segment.Item value="tab1">첫 번째</Segment.Item>
40
+ * <Segment.Item value="tab2">두 번째</Segment.Item>
41
+ * </Segment.List>
42
+ * <Segment.Content value="tab1">첫 번째 내용</Segment.Content>
43
+ * <Segment.Content value="tab2">두 번째 내용</Segment.Content>
44
+ * </Segment>
45
+ * ```
46
+ *
47
+ * @see {@link SegmentRootProps} 루트 props 상세
48
+ * @see {@link SegmentItemProps} 아이템 props 상세
49
+ */
50
+ declare const Segment: SegmentComponent;
51
+
52
+ type Size = 'xsmall' | 'small' | 'medium' | 'large';
53
+ type Variant = 'fill' | 'line';
54
+ type Icon = React.ReactElement<{
55
+ className?: string;
56
+ }>;
57
+
58
+ /** Select 라벨 Props */
59
+ type SelectLabelProps = {
60
+ children: React$1.ReactNode;
61
+ required?: boolean;
62
+ size?: Size;
63
+ className?: string;
64
+ };
65
+ /** Select 트리거 Props */
66
+ type SelectTriggerProps = {
67
+ children?: React$1.ReactNode;
68
+ /** 트리거 왼쪽에 표시할 아이콘 */
69
+ leftIcon?: Icon;
70
+ className?: string;
71
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, 'children'>;
72
+ /** Select Box (Trigger + Value 조합) Props */
73
+ type SelectBoxProps = {
74
+ placeholder?: string;
75
+ /** 트리거 왼쪽에 표시할 아이콘 */
76
+ leftIcon?: Icon;
77
+ className?: string;
78
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, 'children'>;
79
+ /** Select 아이템 Props */
80
+ type SelectItemProps = {
81
+ children?: React$1.ReactNode;
82
+ /** 아이템 왼쪽에 표시할 아이콘 */
83
+ leftIcon?: Icon;
84
+ /** 아이템 오른쪽에 표시할 아이콘 */
85
+ rightIcon?: Icon;
86
+ /** 왼쪽 아이콘 크기 */
87
+ leftIconSize?: Size;
88
+ /** 오른쪽 아이콘 크기 */
89
+ rightIconSize?: Size;
90
+ size?: Size;
91
+ className?: string;
92
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>, 'children'>;
93
+ type SelectEmptyProps = {
94
+ children?: React$1.ReactNode;
95
+ className?: string;
96
+ };
97
+ type SelectDescriptionProps = {
98
+ children?: React$1.ReactNode;
99
+ size?: Size;
100
+ className?: string;
101
+ };
102
+ type SelectGroupProps = {
103
+ children: React$1.ReactNode;
104
+ size?: Size;
105
+ /** 셀렉트 그룹 스타일 변형 */
106
+ variant?: Variant;
107
+ /** 불투명 배경 (elevation-0) 사용 여부. 반투명 배경이 비쳐보이는 것을 방지합니다. */
108
+ hasBackground?: boolean;
109
+ className?: string;
110
+ };
111
+ /** Select 루트 Props */
112
+ type SelectRootProps = {
113
+ children?: React$1.ReactNode;
114
+ /** 셀렉트 크기 */
115
+ size?: Size;
116
+ /** 셀렉트 스타일 변형 */
117
+ variant?: Variant;
118
+ /** 에러 상태 */
119
+ error?: boolean;
120
+ /** 포커스 상태 (line variant에서만 적용) */
121
+ focus?: boolean;
122
+ /** 활성화 상태 (필터 적용 등 내부 상태가 활성화됨을 표시) */
123
+ active?: boolean;
124
+ /** 비활성화 상태 */
125
+ disabled?: boolean;
126
+ className?: string;
127
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Root>, 'disabled' | 'children'>;
128
+ type SelectListProps = Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>, 'position'>;
129
+ type SelectComponent = React$1.ForwardRefExoticComponent<SelectRootProps & React$1.RefAttributes<HTMLDivElement>> & {
130
+ Label: React$1.ForwardRefExoticComponent<SelectLabelProps & React$1.RefAttributes<HTMLLabelElement>>;
131
+ Trigger: React$1.ForwardRefExoticComponent<SelectTriggerProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Trigger>>>;
132
+ Box: React$1.ForwardRefExoticComponent<SelectBoxProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Trigger>>>;
133
+ Value: React$1.ForwardRefExoticComponent<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Value> & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Value>>>;
134
+ List: React$1.ForwardRefExoticComponent<SelectListProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Content>>>;
135
+ Item: React$1.ForwardRefExoticComponent<SelectItemProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Item>>>;
136
+ Empty: React$1.ForwardRefExoticComponent<SelectEmptyProps & React$1.RefAttributes<HTMLDivElement>>;
137
+ Description: React$1.ForwardRefExoticComponent<SelectDescriptionProps & React$1.RefAttributes<HTMLDivElement>>;
138
+ Group: React$1.ForwardRefExoticComponent<SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
139
+ };
140
+ declare const Select: SelectComponent;
141
+
142
+ type TooltipRootProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>;
143
+ type TooltipProviderProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>;
144
+ type TooltipTriggerProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Trigger>;
145
+ type TooltipContentProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & VariantProps<typeof tooltipContentVariants> & {
146
+ portalContainer?: HTMLElement | null;
147
+ };
148
+ type TooltipTitleProps = React__default.HTMLAttributes<HTMLDivElement>;
149
+ type TooltipDescriptionProps = React__default.HTMLAttributes<HTMLDivElement>;
150
+ type TooltipComponent = typeof TooltipPrimitive.Root & {
151
+ Provider: typeof TooltipPrimitive.Provider;
152
+ Trigger: typeof TooltipPrimitive.Trigger;
153
+ Content: React__default.ForwardRefExoticComponent<TooltipContentProps & React__default.RefAttributes<React__default.ElementRef<typeof TooltipPrimitive.Content>>>;
154
+ Title: React__default.ForwardRefExoticComponent<TooltipTitleProps & React__default.RefAttributes<HTMLDivElement>>;
155
+ Description: React__default.ForwardRefExoticComponent<TooltipDescriptionProps & React__default.RefAttributes<HTMLDivElement>>;
156
+ };
157
+ declare const tooltipContentVariants: (props?: ({
158
+ size?: "small" | "medium" | "large" | "xlarge" | "tiny" | null | undefined;
159
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
160
+ declare const Tooltip: TooltipComponent;
161
+
162
+ interface FlatTooltipProps {
163
+ /** 툴팁을 적용할 자식 요소 */
164
+ children: React.ReactNode;
165
+ /** 툴팁 제목 (선택) */
166
+ title?: React.ReactNode;
167
+ /** 툴팁 크기 */
168
+ size: ComponentProps<typeof Tooltip.Content>['size'];
169
+ /** 툴팁 표시 위치 */
170
+ side?: ComponentProps<typeof Tooltip.Content>['side'];
171
+ /** 툴팁 정렬 */
172
+ align?: ComponentProps<typeof Tooltip.Content>['align'];
173
+ /** 사이드 방향 오프셋 (px) */
174
+ sideOffset?: ComponentProps<typeof Tooltip.Content>['sideOffset'];
175
+ /** 정렬 방향 오프셋 (px) */
176
+ alignOffset?: ComponentProps<typeof Tooltip.Content>['alignOffset'];
177
+ /** 툴팁 설명 텍스트 */
178
+ description: React.ReactNode;
179
+ }
180
+ /**
181
+ * Tooltip 컴포넌트의 간소화된 Flat API입니다.
182
+ * Compound Component 없이 props만으로 간편하게 사용할 수 있습니다.
183
+ *
184
+ * @example
185
+ * ```tsx
186
+ * <FlatTooltip size="small" description="도움말 텍스트">
187
+ * <button>호버하세요</button>
188
+ * </FlatTooltip>
189
+ *
190
+ * <FlatTooltip size="tiny" title="제목" description="설명">
191
+ * <span>정보</span>
192
+ * </FlatTooltip>
193
+ * ```
194
+ *
195
+ * @see {@link FlatTooltipProps} props 상세
196
+ */
197
+ declare const FlatTooltip: {
198
+ ({ children, title, size, description, ...props }: FlatTooltipProps): react_jsx_runtime.JSX.Element;
199
+ displayName: string;
200
+ };
201
+ /** FlatTooltip 설정 객체 타입 (children 제외) */
202
+ type TooltipConfig = Omit<ComponentProps<typeof FlatTooltip>, 'children' | 'size'> & {
203
+ /**
204
+ * 툴팁 사용 여부
205
+ * @default true
206
+ */
207
+ use?: boolean;
208
+ size?: ComponentProps<typeof FlatTooltip>['size'];
209
+ };
210
+ interface ConditionalTooltipProps {
211
+ /** 툴팁으로 감쌀 자식 요소 */
212
+ children: React.ReactNode;
213
+ /**
214
+ * 툴팁 설정값
215
+ * - `string`: 기본 tiny 사이즈의 툴팁 description으로 사용
216
+ * - `object`: FlatTooltip props를 직접 전달 (`use: false`로 비활성화 가능)
217
+ */
218
+ tooltip: ComponentProps<typeof FlatTooltip>['description'] | TooltipConfig;
219
+ }
220
+ /**
221
+ * 조건부로 FlatTooltip을 적용하는 래퍼 컴포넌트입니다.
222
+ *
223
+ * @description
224
+ * tooltip prop의 타입에 따라 다르게 동작합니다:
225
+ * - `string`: tiny 사이즈의 기본 툴팁으로 렌더링
226
+ * - `object` (`use !== false`): 전달된 props로 FlatTooltip 렌더링
227
+ * - `object` (`use === false`) 또는 기타: children만 반환 (툴팁 없음)
228
+ *
229
+ * @example
230
+ * ```tsx
231
+ * <ConditionalTooltip tooltip="도움말 텍스트">
232
+ * <button>버튼</button>
233
+ * </ConditionalTooltip>
234
+ *
235
+ * <ConditionalTooltip tooltip={{ description: "설명", size: "small", side: "top" }}>
236
+ * <button>버튼</button>
237
+ * </ConditionalTooltip>
238
+ *
239
+ * <ConditionalTooltip tooltip={{ use: false, description: "" }}>
240
+ * <button>툴팁 없음</button>
241
+ * </ConditionalTooltip>
242
+ * ```
243
+ *
244
+ * @see {@link ConditionalTooltipProps} props 상세
245
+ */
246
+ declare function ConditionalTooltip({ children, tooltip }: ConditionalTooltipProps): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | null | undefined;
247
+ declare namespace ConditionalTooltip {
248
+ var displayName: string;
249
+ }
250
+
251
+ export { FlatTooltip as A, ConditionalTooltip as C, type FlatTooltipProps as F, type Icon as I, type Size as S, Tooltip as T, type Variant as V, Select as a, type SelectBoxProps as b, type SelectComponent as c, type SelectDescriptionProps as d, type SelectEmptyProps as e, type SelectGroupProps as f, type SelectItemProps as g, type SelectLabelProps as h, type SelectListProps as i, type SelectRootProps as j, type SelectTriggerProps as k, Segment as l, type SegmentComponent as m, type SegmentContentProps as n, type SegmentItemProps as o, type SegmentListProps as p, type SegmentRootProps as q, type TooltipComponent as r, type TooltipContentProps as s, type TooltipDescriptionProps as t, type TooltipProviderProps as u, type TooltipRootProps as v, type TooltipTitleProps as w, type TooltipTriggerProps as x, type ConditionalTooltipProps as y, type TooltipConfig as z };
@@ -0,0 +1,251 @@
1
+ import * as TabsPrimitive from '@radix-ui/react-tabs';
2
+ import * as React$1 from 'react';
3
+ import React__default, { ComponentProps } from 'react';
4
+ import * as SelectPrimitive from '@radix-ui/react-select';
5
+ import * as react_jsx_runtime from 'react/jsx-runtime';
6
+ import * as class_variance_authority_types from 'class-variance-authority/types';
7
+ import { VariantProps } from '@exem-ui/core/utils';
8
+ import * as TooltipPrimitive from '@radix-ui/react-tooltip';
9
+
10
+ type SegmentSize = 'small' | 'medium' | 'large';
11
+ type SegmentListProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.List>;
12
+ type SegmentItemProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger> & {
13
+ /** 텍스트 왼쪽에 표시할 아이콘 요소 */
14
+ leftIcon?: React__default.ReactElement<{
15
+ className?: string;
16
+ }>;
17
+ };
18
+ type SegmentContentProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>;
19
+ type SegmentRootProps = React__default.ComponentPropsWithoutRef<typeof TabsPrimitive.Root> & {
20
+ /**
21
+ * 세그먼트 크기
22
+ * @default 'medium'
23
+ */
24
+ size?: SegmentSize;
25
+ };
26
+ type SegmentComponent = React__default.ForwardRefExoticComponent<SegmentRootProps & React__default.RefAttributes<React__default.ElementRef<typeof TabsPrimitive.Root>>> & {
27
+ List: React__default.ForwardRefExoticComponent<SegmentListProps>;
28
+ Item: React__default.ForwardRefExoticComponent<SegmentItemProps>;
29
+ Content: React__default.ForwardRefExoticComponent<SegmentContentProps>;
30
+ };
31
+ /**
32
+ * 탭 형태의 세그먼트 컨트롤 컴포넌트입니다.
33
+ * Compound Component 패턴으로 `Segment.List`, `Segment.Item`, `Segment.Content`와 함께 사용합니다.
34
+ *
35
+ * @example
36
+ * ```tsx
37
+ * <Segment defaultValue="tab1" size="medium">
38
+ * <Segment.List>
39
+ * <Segment.Item value="tab1">첫 번째</Segment.Item>
40
+ * <Segment.Item value="tab2">두 번째</Segment.Item>
41
+ * </Segment.List>
42
+ * <Segment.Content value="tab1">첫 번째 내용</Segment.Content>
43
+ * <Segment.Content value="tab2">두 번째 내용</Segment.Content>
44
+ * </Segment>
45
+ * ```
46
+ *
47
+ * @see {@link SegmentRootProps} 루트 props 상세
48
+ * @see {@link SegmentItemProps} 아이템 props 상세
49
+ */
50
+ declare const Segment: SegmentComponent;
51
+
52
+ type Size = 'xsmall' | 'small' | 'medium' | 'large';
53
+ type Variant = 'fill' | 'line';
54
+ type Icon = React.ReactElement<{
55
+ className?: string;
56
+ }>;
57
+
58
+ /** Select 라벨 Props */
59
+ type SelectLabelProps = {
60
+ children: React$1.ReactNode;
61
+ required?: boolean;
62
+ size?: Size;
63
+ className?: string;
64
+ };
65
+ /** Select 트리거 Props */
66
+ type SelectTriggerProps = {
67
+ children?: React$1.ReactNode;
68
+ /** 트리거 왼쪽에 표시할 아이콘 */
69
+ leftIcon?: Icon;
70
+ className?: string;
71
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, 'children'>;
72
+ /** Select Box (Trigger + Value 조합) Props */
73
+ type SelectBoxProps = {
74
+ placeholder?: string;
75
+ /** 트리거 왼쪽에 표시할 아이콘 */
76
+ leftIcon?: Icon;
77
+ className?: string;
78
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>, 'children'>;
79
+ /** Select 아이템 Props */
80
+ type SelectItemProps = {
81
+ children?: React$1.ReactNode;
82
+ /** 아이템 왼쪽에 표시할 아이콘 */
83
+ leftIcon?: Icon;
84
+ /** 아이템 오른쪽에 표시할 아이콘 */
85
+ rightIcon?: Icon;
86
+ /** 왼쪽 아이콘 크기 */
87
+ leftIconSize?: Size;
88
+ /** 오른쪽 아이콘 크기 */
89
+ rightIconSize?: Size;
90
+ size?: Size;
91
+ className?: string;
92
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>, 'children'>;
93
+ type SelectEmptyProps = {
94
+ children?: React$1.ReactNode;
95
+ className?: string;
96
+ };
97
+ type SelectDescriptionProps = {
98
+ children?: React$1.ReactNode;
99
+ size?: Size;
100
+ className?: string;
101
+ };
102
+ type SelectGroupProps = {
103
+ children: React$1.ReactNode;
104
+ size?: Size;
105
+ /** 셀렉트 그룹 스타일 변형 */
106
+ variant?: Variant;
107
+ /** 불투명 배경 (elevation-0) 사용 여부. 반투명 배경이 비쳐보이는 것을 방지합니다. */
108
+ hasBackground?: boolean;
109
+ className?: string;
110
+ };
111
+ /** Select 루트 Props */
112
+ type SelectRootProps = {
113
+ children?: React$1.ReactNode;
114
+ /** 셀렉트 크기 */
115
+ size?: Size;
116
+ /** 셀렉트 스타일 변형 */
117
+ variant?: Variant;
118
+ /** 에러 상태 */
119
+ error?: boolean;
120
+ /** 포커스 상태 (line variant에서만 적용) */
121
+ focus?: boolean;
122
+ /** 활성화 상태 (필터 적용 등 내부 상태가 활성화됨을 표시) */
123
+ active?: boolean;
124
+ /** 비활성화 상태 */
125
+ disabled?: boolean;
126
+ className?: string;
127
+ } & Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Root>, 'disabled' | 'children'>;
128
+ type SelectListProps = Omit<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>, 'position'>;
129
+ type SelectComponent = React$1.ForwardRefExoticComponent<SelectRootProps & React$1.RefAttributes<HTMLDivElement>> & {
130
+ Label: React$1.ForwardRefExoticComponent<SelectLabelProps & React$1.RefAttributes<HTMLLabelElement>>;
131
+ Trigger: React$1.ForwardRefExoticComponent<SelectTriggerProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Trigger>>>;
132
+ Box: React$1.ForwardRefExoticComponent<SelectBoxProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Trigger>>>;
133
+ Value: React$1.ForwardRefExoticComponent<React$1.ComponentPropsWithoutRef<typeof SelectPrimitive.Value> & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Value>>>;
134
+ List: React$1.ForwardRefExoticComponent<SelectListProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Content>>>;
135
+ Item: React$1.ForwardRefExoticComponent<SelectItemProps & React$1.RefAttributes<React$1.ComponentRef<typeof SelectPrimitive.Item>>>;
136
+ Empty: React$1.ForwardRefExoticComponent<SelectEmptyProps & React$1.RefAttributes<HTMLDivElement>>;
137
+ Description: React$1.ForwardRefExoticComponent<SelectDescriptionProps & React$1.RefAttributes<HTMLDivElement>>;
138
+ Group: React$1.ForwardRefExoticComponent<SelectGroupProps & React$1.RefAttributes<HTMLDivElement>>;
139
+ };
140
+ declare const Select: SelectComponent;
141
+
142
+ type TooltipRootProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Root>;
143
+ type TooltipProviderProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Provider>;
144
+ type TooltipTriggerProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Trigger>;
145
+ type TooltipContentProps = React__default.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content> & VariantProps<typeof tooltipContentVariants> & {
146
+ portalContainer?: HTMLElement | null;
147
+ };
148
+ type TooltipTitleProps = React__default.HTMLAttributes<HTMLDivElement>;
149
+ type TooltipDescriptionProps = React__default.HTMLAttributes<HTMLDivElement>;
150
+ type TooltipComponent = typeof TooltipPrimitive.Root & {
151
+ Provider: typeof TooltipPrimitive.Provider;
152
+ Trigger: typeof TooltipPrimitive.Trigger;
153
+ Content: React__default.ForwardRefExoticComponent<TooltipContentProps & React__default.RefAttributes<React__default.ElementRef<typeof TooltipPrimitive.Content>>>;
154
+ Title: React__default.ForwardRefExoticComponent<TooltipTitleProps & React__default.RefAttributes<HTMLDivElement>>;
155
+ Description: React__default.ForwardRefExoticComponent<TooltipDescriptionProps & React__default.RefAttributes<HTMLDivElement>>;
156
+ };
157
+ declare const tooltipContentVariants: (props?: ({
158
+ size?: "small" | "medium" | "large" | "xlarge" | "tiny" | null | undefined;
159
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
160
+ declare const Tooltip: TooltipComponent;
161
+
162
+ interface FlatTooltipProps {
163
+ /** 툴팁을 적용할 자식 요소 */
164
+ children: React.ReactNode;
165
+ /** 툴팁 제목 (선택) */
166
+ title?: React.ReactNode;
167
+ /** 툴팁 크기 */
168
+ size: ComponentProps<typeof Tooltip.Content>['size'];
169
+ /** 툴팁 표시 위치 */
170
+ side?: ComponentProps<typeof Tooltip.Content>['side'];
171
+ /** 툴팁 정렬 */
172
+ align?: ComponentProps<typeof Tooltip.Content>['align'];
173
+ /** 사이드 방향 오프셋 (px) */
174
+ sideOffset?: ComponentProps<typeof Tooltip.Content>['sideOffset'];
175
+ /** 정렬 방향 오프셋 (px) */
176
+ alignOffset?: ComponentProps<typeof Tooltip.Content>['alignOffset'];
177
+ /** 툴팁 설명 텍스트 */
178
+ description: React.ReactNode;
179
+ }
180
+ /**
181
+ * Tooltip 컴포넌트의 간소화된 Flat API입니다.
182
+ * Compound Component 없이 props만으로 간편하게 사용할 수 있습니다.
183
+ *
184
+ * @example
185
+ * ```tsx
186
+ * <FlatTooltip size="small" description="도움말 텍스트">
187
+ * <button>호버하세요</button>
188
+ * </FlatTooltip>
189
+ *
190
+ * <FlatTooltip size="tiny" title="제목" description="설명">
191
+ * <span>정보</span>
192
+ * </FlatTooltip>
193
+ * ```
194
+ *
195
+ * @see {@link FlatTooltipProps} props 상세
196
+ */
197
+ declare const FlatTooltip: {
198
+ ({ children, title, size, description, ...props }: FlatTooltipProps): react_jsx_runtime.JSX.Element;
199
+ displayName: string;
200
+ };
201
+ /** FlatTooltip 설정 객체 타입 (children 제외) */
202
+ type TooltipConfig = Omit<ComponentProps<typeof FlatTooltip>, 'children' | 'size'> & {
203
+ /**
204
+ * 툴팁 사용 여부
205
+ * @default true
206
+ */
207
+ use?: boolean;
208
+ size?: ComponentProps<typeof FlatTooltip>['size'];
209
+ };
210
+ interface ConditionalTooltipProps {
211
+ /** 툴팁으로 감쌀 자식 요소 */
212
+ children: React.ReactNode;
213
+ /**
214
+ * 툴팁 설정값
215
+ * - `string`: 기본 tiny 사이즈의 툴팁 description으로 사용
216
+ * - `object`: FlatTooltip props를 직접 전달 (`use: false`로 비활성화 가능)
217
+ */
218
+ tooltip: ComponentProps<typeof FlatTooltip>['description'] | TooltipConfig;
219
+ }
220
+ /**
221
+ * 조건부로 FlatTooltip을 적용하는 래퍼 컴포넌트입니다.
222
+ *
223
+ * @description
224
+ * tooltip prop의 타입에 따라 다르게 동작합니다:
225
+ * - `string`: tiny 사이즈의 기본 툴팁으로 렌더링
226
+ * - `object` (`use !== false`): 전달된 props로 FlatTooltip 렌더링
227
+ * - `object` (`use === false`) 또는 기타: children만 반환 (툴팁 없음)
228
+ *
229
+ * @example
230
+ * ```tsx
231
+ * <ConditionalTooltip tooltip="도움말 텍스트">
232
+ * <button>버튼</button>
233
+ * </ConditionalTooltip>
234
+ *
235
+ * <ConditionalTooltip tooltip={{ description: "설명", size: "small", side: "top" }}>
236
+ * <button>버튼</button>
237
+ * </ConditionalTooltip>
238
+ *
239
+ * <ConditionalTooltip tooltip={{ use: false, description: "" }}>
240
+ * <button>툴팁 없음</button>
241
+ * </ConditionalTooltip>
242
+ * ```
243
+ *
244
+ * @see {@link ConditionalTooltipProps} props 상세
245
+ */
246
+ declare function ConditionalTooltip({ children, tooltip }: ConditionalTooltipProps): string | number | bigint | boolean | react_jsx_runtime.JSX.Element | Iterable<React$1.ReactNode> | Promise<string | number | bigint | boolean | React$1.ReactPortal | React$1.ReactElement<unknown, string | React$1.JSXElementConstructor<any>> | Iterable<React$1.ReactNode> | null | undefined> | null | undefined;
247
+ declare namespace ConditionalTooltip {
248
+ var displayName: string;
249
+ }
250
+
251
+ export { FlatTooltip as A, ConditionalTooltip as C, type FlatTooltipProps as F, type Icon as I, type Size as S, Tooltip as T, type Variant as V, Select as a, type SelectBoxProps as b, type SelectComponent as c, type SelectDescriptionProps as d, type SelectEmptyProps as e, type SelectGroupProps as f, type SelectItemProps as g, type SelectLabelProps as h, type SelectListProps as i, type SelectRootProps as j, type SelectTriggerProps as k, Segment as l, type SegmentComponent as m, type SegmentContentProps as n, type SegmentItemProps as o, type SegmentListProps as p, type SegmentRootProps as q, type TooltipComponent as r, type TooltipContentProps as s, type TooltipDescriptionProps as t, type TooltipProviderProps as u, type TooltipRootProps as v, type TooltipTitleProps as w, type TooltipTriggerProps as x, type ConditionalTooltipProps as y, type TooltipConfig as z };