@designbasekorea/ui-contracts 0.1.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.
- package/dist/components.cjs +441 -0
- package/dist/components.d.ts +397 -0
- package/dist/components.d.ts.map +1 -0
- package/dist/components.js +435 -0
- package/dist/index.cjs +33 -0
- package/dist/index.d.ts +18 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +17 -0
- package/dist/primitives.cjs +48 -0
- package/dist/primitives.d.ts +40 -0
- package/dist/primitives.d.ts.map +1 -0
- package/dist/primitives.js +43 -0
- package/package.json +46 -0
- package/src/components.ts +753 -0
- package/src/index.ts +18 -0
- package/src/primitives.ts +64 -0
|
@@ -0,0 +1,753 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 컴포넌트별 API 계약.
|
|
3
|
+
*
|
|
4
|
+
* 웹(@designbasekorea/ui-wc)과 React Native(@designbasekorea/ui-native)가
|
|
5
|
+
* 공유하는 컴포넌트의 variant/size/type 값은 전부 여기서 나온다.
|
|
6
|
+
* 한쪽에만 있는 컴포넌트(db-code-block, db-animation-background 등)는
|
|
7
|
+
* 여기에 넣지 않는다 — 공유하지 않는 것을 계약에 넣으면 계약이 죽는다.
|
|
8
|
+
*
|
|
9
|
+
* 값을 바꾸면 양쪽 구현이 동시에 타입 에러를 낸다. 그게 이 파일의 목적이다.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
import {
|
|
13
|
+
FEEDBACK_TONES,
|
|
14
|
+
RADIUS_SCALE,
|
|
15
|
+
SIZE_SML,
|
|
16
|
+
SIZE_XS_2XL,
|
|
17
|
+
SIZE_XS_XL,
|
|
18
|
+
type FeedbackTone,
|
|
19
|
+
type RadiusScale,
|
|
20
|
+
type SizeSML,
|
|
21
|
+
type SizeXs2Xl,
|
|
22
|
+
type SizeXsXl,
|
|
23
|
+
} from './primitives.js';
|
|
24
|
+
|
|
25
|
+
// ─────────────────────────────────────────────────────────────
|
|
26
|
+
// Button
|
|
27
|
+
// ─────────────────────────────────────────────────────────────
|
|
28
|
+
|
|
29
|
+
export const BUTTON_VARIANTS = [
|
|
30
|
+
'primary',
|
|
31
|
+
'secondary',
|
|
32
|
+
'tertiary',
|
|
33
|
+
'destructive',
|
|
34
|
+
'ghost',
|
|
35
|
+
'accent',
|
|
36
|
+
] as const;
|
|
37
|
+
export type ButtonVariant = (typeof BUTTON_VARIANTS)[number];
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* 구 이름 → 현 이름. 버튼은 *동작*을 나타내므로 `destructive` 가 맞고,
|
|
41
|
+
* badge/chip/tooltip 등 *상태* 축은 `danger` 를 그대로 쓴다.
|
|
42
|
+
*
|
|
43
|
+
* 이미 배포된 `variant="danger"` 를 깨지 않기 위해 별칭을 남긴다.
|
|
44
|
+
* `coerceWithAliases` 가 이 표를 거쳐 정본 값으로 접는다.
|
|
45
|
+
*/
|
|
46
|
+
export const BUTTON_VARIANT_ALIASES: Readonly<Record<string, ButtonVariant>> = {
|
|
47
|
+
danger: 'destructive',
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
export const BUTTON_SIZES = SIZE_SML;
|
|
51
|
+
export type ButtonSize = SizeSML;
|
|
52
|
+
|
|
53
|
+
export const BUTTON_RADII = RADIUS_SCALE;
|
|
54
|
+
export type ButtonRadius = RadiusScale;
|
|
55
|
+
|
|
56
|
+
/** accent variant 에서만 의미가 있다 */
|
|
57
|
+
/**
|
|
58
|
+
* accent 버튼의 표현 방식.
|
|
59
|
+
*
|
|
60
|
+
* `primary` 가 먹색이 되면서 accent 가 브랜드 색을 쓰는 일상적인 버튼이 됐다.
|
|
61
|
+
* 그래서 기본은 `solid` 이고, 나머지는 의도적으로 고르는 장식이다.
|
|
62
|
+
* `prism` 은 테마의 프리즘 축(`--db-prism-*`)을 따르므로 프리셋을 바꾸면 함께 바뀐다.
|
|
63
|
+
*/
|
|
64
|
+
export const BUTTON_ACCENT_STYLES = ['solid', 'gradient', 'backlight', 'outline', 'prism'] as const;
|
|
65
|
+
export type ButtonAccentStyle = (typeof BUTTON_ACCENT_STYLES)[number];
|
|
66
|
+
|
|
67
|
+
// ─────────────────────────────────────────────────────────────
|
|
68
|
+
// Input
|
|
69
|
+
// ─────────────────────────────────────────────────────────────
|
|
70
|
+
|
|
71
|
+
export const INPUT_SIZES = SIZE_SML;
|
|
72
|
+
export type InputSize = SizeSML;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* 웹의 <input type> 에 대응한다. RN 에는 type 개념이 없고 keyboardType /
|
|
76
|
+
* secureTextEntry / autoComplete 조합으로 매핑되므로, RN 구현체는 이 값을
|
|
77
|
+
* 받아 내부적으로 변환한다. 값 집합 자체는 공유해야 API 가 통일된다.
|
|
78
|
+
*/
|
|
79
|
+
export const INPUT_TYPES = [
|
|
80
|
+
'text',
|
|
81
|
+
'email',
|
|
82
|
+
'password',
|
|
83
|
+
'url',
|
|
84
|
+
'search',
|
|
85
|
+
'tel',
|
|
86
|
+
'number',
|
|
87
|
+
] as const;
|
|
88
|
+
export type InputType = (typeof INPUT_TYPES)[number];
|
|
89
|
+
|
|
90
|
+
// ─────────────────────────────────────────────────────────────
|
|
91
|
+
// Card
|
|
92
|
+
// ─────────────────────────────────────────────────────────────
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* 웹 기준으로 확정. RN 에 있던 elevated/outlined/filled 는 제거한다.
|
|
96
|
+
* (웹 db-card.scss 가 default/flat 만 구현하고 있고, 그림자·테두리 변형은
|
|
97
|
+
* 현재 hoverable/clickable 같은 별도 modifier 로 처리된다)
|
|
98
|
+
*/
|
|
99
|
+
export const CARD_VARIANTS = ['default', 'flat'] as const;
|
|
100
|
+
export type CardVariant = (typeof CARD_VARIANTS)[number];
|
|
101
|
+
|
|
102
|
+
export const CARD_SIZES = SIZE_SML;
|
|
103
|
+
export type CardSize = SizeSML;
|
|
104
|
+
|
|
105
|
+
// ─────────────────────────────────────────────────────────────
|
|
106
|
+
// Badge
|
|
107
|
+
// ─────────────────────────────────────────────────────────────
|
|
108
|
+
|
|
109
|
+
export const BADGE_VARIANTS = [
|
|
110
|
+
'primary',
|
|
111
|
+
'secondary',
|
|
112
|
+
'info',
|
|
113
|
+
'success',
|
|
114
|
+
'warning',
|
|
115
|
+
'danger',
|
|
116
|
+
] as const;
|
|
117
|
+
export type BadgeVariant = (typeof BADGE_VARIANTS)[number];
|
|
118
|
+
|
|
119
|
+
export const BADGE_SIZES = SIZE_SML;
|
|
120
|
+
export type BadgeSize = SizeSML;
|
|
121
|
+
|
|
122
|
+
/**
|
|
123
|
+
* 표시 형태. 웹은 이 축을 `style` 이라고 불렀지만 `type` 으로 통일한다.
|
|
124
|
+
* (`style` 은 RN 에서 사실상 예약어이고, 나머지 컴포넌트도 `type` 을 쓴다)
|
|
125
|
+
*/
|
|
126
|
+
export const BADGE_TYPES = ['dot', 'number', 'text', 'outlined'] as const;
|
|
127
|
+
export type BadgeType = (typeof BADGE_TYPES)[number];
|
|
128
|
+
|
|
129
|
+
// ─────────────────────────────────────────────────────────────
|
|
130
|
+
// Avatar
|
|
131
|
+
// ─────────────────────────────────────────────────────────────
|
|
132
|
+
|
|
133
|
+
export const AVATAR_SIZES = SIZE_XS_2XL;
|
|
134
|
+
export type AvatarSize = SizeXs2Xl;
|
|
135
|
+
|
|
136
|
+
export const AVATAR_VARIANTS = [
|
|
137
|
+
'default',
|
|
138
|
+
'primary',
|
|
139
|
+
'success',
|
|
140
|
+
'warning',
|
|
141
|
+
'danger',
|
|
142
|
+
'info',
|
|
143
|
+
] as const;
|
|
144
|
+
export type AvatarVariant = (typeof AVATAR_VARIANTS)[number];
|
|
145
|
+
|
|
146
|
+
export const AVATAR_STATUSES = ['online', 'offline', 'away', 'busy'] as const;
|
|
147
|
+
export type AvatarStatus = (typeof AVATAR_STATUSES)[number];
|
|
148
|
+
|
|
149
|
+
// ─────────────────────────────────────────────────────────────
|
|
150
|
+
// Chip
|
|
151
|
+
// ─────────────────────────────────────────────────────────────
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* `outlined` 는 여기 없다. 색상 축(variant)과 테두리 축(outlined)이 섞여 있던 것을
|
|
155
|
+
* 분리했다 — outlined 는 별도 boolean prop 이며, 모든 색상과 조합 가능하다.
|
|
156
|
+
*/
|
|
157
|
+
export const CHIP_VARIANTS = [
|
|
158
|
+
'default',
|
|
159
|
+
'primary',
|
|
160
|
+
'success',
|
|
161
|
+
'warning',
|
|
162
|
+
'danger',
|
|
163
|
+
'info',
|
|
164
|
+
'neutral',
|
|
165
|
+
] as const;
|
|
166
|
+
export type ChipVariant = (typeof CHIP_VARIANTS)[number];
|
|
167
|
+
|
|
168
|
+
export const CHIP_SIZES = SIZE_SML;
|
|
169
|
+
export type ChipSize = SizeSML;
|
|
170
|
+
|
|
171
|
+
// ─────────────────────────────────────────────────────────────
|
|
172
|
+
// Divider
|
|
173
|
+
// ─────────────────────────────────────────────────────────────
|
|
174
|
+
|
|
175
|
+
export const DIVIDER_COLORS = [
|
|
176
|
+
'primary',
|
|
177
|
+
'secondary',
|
|
178
|
+
'success',
|
|
179
|
+
'warning',
|
|
180
|
+
'danger',
|
|
181
|
+
'muted',
|
|
182
|
+
] as const;
|
|
183
|
+
export type DividerColor = (typeof DIVIDER_COLORS)[number];
|
|
184
|
+
|
|
185
|
+
export const DIVIDER_ORIENTATIONS = ['horizontal', 'vertical'] as const;
|
|
186
|
+
export type DividerOrientation = (typeof DIVIDER_ORIENTATIONS)[number];
|
|
187
|
+
|
|
188
|
+
// ─────────────────────────────────────────────────────────────
|
|
189
|
+
// Spinner
|
|
190
|
+
// ─────────────────────────────────────────────────────────────
|
|
191
|
+
|
|
192
|
+
export const SPINNER_SIZES = SIZE_XS_XL;
|
|
193
|
+
export type SpinnerSize = SizeXsXl;
|
|
194
|
+
|
|
195
|
+
/**
|
|
196
|
+
* RN 은 ActivityIndicator 가 circular 만 제공하므로 나머지는 직접 그려야 한다.
|
|
197
|
+
* 미구현 타입은 circular 로 폴백하되, 계약에서 빼지는 않는다.
|
|
198
|
+
*/
|
|
199
|
+
export const SPINNER_TYPES = ['circular', 'dots', 'bars', 'pulse', 'ripple'] as const;
|
|
200
|
+
export type SpinnerType = (typeof SPINNER_TYPES)[number];
|
|
201
|
+
|
|
202
|
+
// ─────────────────────────────────────────────────────────────
|
|
203
|
+
// Toggle / Checkbox / Radio
|
|
204
|
+
// ─────────────────────────────────────────────────────────────
|
|
205
|
+
|
|
206
|
+
export const TOGGLE_SIZES = SIZE_SML;
|
|
207
|
+
export type ToggleSize = SizeSML;
|
|
208
|
+
|
|
209
|
+
/** 선택 상태의 시각적 톤. neutral 은 브랜드 컬러 없이 배경 레이어로 선택을 표현한다. */
|
|
210
|
+
export const TOGGLE_VARIANTS = ['default', 'neutral'] as const;
|
|
211
|
+
export type ToggleVariant = (typeof TOGGLE_VARIANTS)[number];
|
|
212
|
+
|
|
213
|
+
export const CHECKBOX_SIZES = SIZE_SML;
|
|
214
|
+
export type CheckboxSize = SizeSML;
|
|
215
|
+
|
|
216
|
+
export const RADIO_SIZES = SIZE_SML;
|
|
217
|
+
export type RadioSize = SizeSML;
|
|
218
|
+
|
|
219
|
+
// ─────────────────────────────────────────────────────────────
|
|
220
|
+
// Alert / Toast
|
|
221
|
+
// ─────────────────────────────────────────────────────────────
|
|
222
|
+
|
|
223
|
+
/** `error` 아님 — danger 로 통일했다. FEEDBACK_TONES 참고. */
|
|
224
|
+
export const ALERT_VARIANTS = ['default', ...FEEDBACK_TONES] as const;
|
|
225
|
+
export type AlertVariant = 'default' | FeedbackTone;
|
|
226
|
+
|
|
227
|
+
export const ALERT_SIZES = SIZE_SML;
|
|
228
|
+
export type AlertSize = SizeSML;
|
|
229
|
+
|
|
230
|
+
/**
|
|
231
|
+
* 웹은 이 축을 `status` attribute 로 불렀지만 `variant` 로 통일한다.
|
|
232
|
+
* 나머지 컴포넌트가 전부 variant 를 쓰는데 Toast 만 달랐다.
|
|
233
|
+
*/
|
|
234
|
+
export const TOAST_VARIANTS = ['default', ...FEEDBACK_TONES] as const;
|
|
235
|
+
export type ToastVariant = 'default' | FeedbackTone;
|
|
236
|
+
|
|
237
|
+
/**
|
|
238
|
+
* 웹 `toast()` 헬퍼가 이미 배포한 값 그대로다.
|
|
239
|
+
* RN 은 화면이 좁아 좌/중앙/우 차이가 작지만, 같은 이름을 받아야 코드가 옮겨진다.
|
|
240
|
+
*/
|
|
241
|
+
export const TOAST_POSITIONS = [
|
|
242
|
+
'top-left',
|
|
243
|
+
'top-center',
|
|
244
|
+
'top-right',
|
|
245
|
+
'bottom-left',
|
|
246
|
+
'bottom-center',
|
|
247
|
+
'bottom-right',
|
|
248
|
+
] as const;
|
|
249
|
+
export type ToastPosition = (typeof TOAST_POSITIONS)[number];
|
|
250
|
+
|
|
251
|
+
// ─────────────────────────────────────────────────────────────
|
|
252
|
+
// Modal / BottomSheet
|
|
253
|
+
// ─────────────────────────────────────────────────────────────
|
|
254
|
+
|
|
255
|
+
export const MODAL_SIZES = ['s', 'm', 'l', 'xl', 'full'] as const;
|
|
256
|
+
export type ModalSize = (typeof MODAL_SIZES)[number];
|
|
257
|
+
|
|
258
|
+
export const BOTTOM_SHEET_VARIANTS = [
|
|
259
|
+
'default',
|
|
260
|
+
'persistent',
|
|
261
|
+
'temporary',
|
|
262
|
+
'fullscreen',
|
|
263
|
+
] as const;
|
|
264
|
+
export type BottomSheetVariant = (typeof BOTTOM_SHEET_VARIANTS)[number];
|
|
265
|
+
|
|
266
|
+
export const BOTTOM_SHEET_ANIMATIONS = ['slide', 'fade', 'scale', 'none'] as const;
|
|
267
|
+
export type BottomSheetAnimation = (typeof BOTTOM_SHEET_ANIMATIONS)[number];
|
|
268
|
+
|
|
269
|
+
// ─────────────────────────────────────────────────────────────
|
|
270
|
+
// Tabs
|
|
271
|
+
// ─────────────────────────────────────────────────────────────
|
|
272
|
+
|
|
273
|
+
export const TABS_VARIANTS = ['default', 'pills'] as const;
|
|
274
|
+
export type TabsVariant = (typeof TABS_VARIANTS)[number];
|
|
275
|
+
|
|
276
|
+
export const TABS_SIZES = SIZE_SML;
|
|
277
|
+
export type TabsSize = SizeSML;
|
|
278
|
+
|
|
279
|
+
export const TABS_ORIENTATIONS = ['horizontal', 'vertical'] as const;
|
|
280
|
+
export type TabsOrientation = (typeof TABS_ORIENTATIONS)[number];
|
|
281
|
+
|
|
282
|
+
// ─────────────────────────────────────────────────────────────
|
|
283
|
+
// Select
|
|
284
|
+
// ─────────────────────────────────────────────────────────────
|
|
285
|
+
|
|
286
|
+
export const SELECT_SIZES = SIZE_SML;
|
|
287
|
+
export type SelectSize = SizeSML;
|
|
288
|
+
|
|
289
|
+
/** 드롭다운이 트리거 위/아래 중 어디에 펼쳐지는지 */
|
|
290
|
+
export const SELECT_POSITIONS = ['bottom', 'top'] as const;
|
|
291
|
+
export type SelectPosition = (typeof SELECT_POSITIONS)[number];
|
|
292
|
+
|
|
293
|
+
// ─────────────────────────────────────────────────────────────
|
|
294
|
+
// Navbar / BottomNavigation
|
|
295
|
+
// ─────────────────────────────────────────────────────────────
|
|
296
|
+
|
|
297
|
+
export const NAVBAR_VARIANTS = ['default', 'transparent'] as const;
|
|
298
|
+
export type NavbarVariant = (typeof NAVBAR_VARIANTS)[number];
|
|
299
|
+
|
|
300
|
+
export const NAVBAR_SIZES = SIZE_SML;
|
|
301
|
+
export type NavbarSize = SizeSML;
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* RN 에는 CSS position 개념이 없다. sticky/fixed 는 네이티브에서 동일하게
|
|
305
|
+
* "스크롤과 무관하게 상단 고정" 으로 해석되고, static 만 스크롤을 따라간다.
|
|
306
|
+
*/
|
|
307
|
+
export const NAVBAR_POSITIONS = ['fixed', 'sticky', 'static'] as const;
|
|
308
|
+
export type NavbarPosition = (typeof NAVBAR_POSITIONS)[number];
|
|
309
|
+
|
|
310
|
+
export const NAVIGATION_RAIL_SIZES = SIZE_SML;
|
|
311
|
+
export const NAVIGATION_RAIL_LABEL_DISPLAYS = ['tooltip', 'always'] as const;
|
|
312
|
+
export type NavigationRailLabelDisplay = (typeof NAVIGATION_RAIL_LABEL_DISPLAYS)[number];
|
|
313
|
+
|
|
314
|
+
export const BOTTOM_NAV_SIZES = SIZE_SML;
|
|
315
|
+
export type BottomNavSize = SizeSML;
|
|
316
|
+
|
|
317
|
+
export const BOTTOM_NAV_BACKGROUNDS = ['default', 'glass', 'transparent'] as const;
|
|
318
|
+
export type BottomNavBackground = (typeof BOTTOM_NAV_BACKGROUNDS)[number];
|
|
319
|
+
|
|
320
|
+
// ─────────────────────────────────────────────────────────────
|
|
321
|
+
// SearchBar
|
|
322
|
+
// ─────────────────────────────────────────────────────────────
|
|
323
|
+
|
|
324
|
+
export const SEARCH_BAR_SIZES = SIZE_SML;
|
|
325
|
+
export type SearchBarSize = SizeSML;
|
|
326
|
+
|
|
327
|
+
export const SEARCH_BAR_RECENT_LAYOUTS = ['vertical', 'horizontal'] as const;
|
|
328
|
+
export type SearchBarRecentLayout = (typeof SEARCH_BAR_RECENT_LAYOUTS)[number];
|
|
329
|
+
|
|
330
|
+
// ─────────────────────────────────────────────────────────────
|
|
331
|
+
// Skeleton
|
|
332
|
+
// ─────────────────────────────────────────────────────────────
|
|
333
|
+
|
|
334
|
+
export const SKELETON_VARIANTS = [
|
|
335
|
+
'text',
|
|
336
|
+
'circular',
|
|
337
|
+
'rectangular',
|
|
338
|
+
'rounded',
|
|
339
|
+
] as const;
|
|
340
|
+
export type SkeletonVariant = (typeof SKELETON_VARIANTS)[number];
|
|
341
|
+
|
|
342
|
+
export const SKELETON_SIZES = SIZE_XS_XL;
|
|
343
|
+
export type SkeletonSize = SizeXsXl;
|
|
344
|
+
|
|
345
|
+
// ─────────────────────────────────────────────────────────────
|
|
346
|
+
// ProgressBar
|
|
347
|
+
// ─────────────────────────────────────────────────────────────
|
|
348
|
+
|
|
349
|
+
export const PROGRESS_BAR_VARIANTS = ['default', 'primary', ...FEEDBACK_TONES] as const;
|
|
350
|
+
export type ProgressBarVariant = 'default' | 'primary' | FeedbackTone;
|
|
351
|
+
|
|
352
|
+
export const PROGRESS_BAR_SIZES = SIZE_SML;
|
|
353
|
+
export type ProgressBarSize = SizeSML;
|
|
354
|
+
|
|
355
|
+
export const PROGRESS_BAR_STYLES = ['solid', 'striped', 'animated'] as const;
|
|
356
|
+
export type ProgressBarStyle = (typeof PROGRESS_BAR_STYLES)[number];
|
|
357
|
+
|
|
358
|
+
// ─────────────────────────────────────────────────────────────
|
|
359
|
+
// 컴포넌트 로컬 enum 이관분
|
|
360
|
+
//
|
|
361
|
+
// 아래 상수들은 원래 각 ui-wc 컴포넌트 파일이 직접 선언하던 것이다.
|
|
362
|
+
// 같은 값을 두 곳에서 선언하면 한쪽에 값이 추가될 때 다른 쪽이 조용히 뒤처지므로
|
|
363
|
+
// 정본을 여기로 옮겼다. ui-native 는 필요한 것부터 이 상수를 채택한다.
|
|
364
|
+
// ─────────────────────────────────────────────────────────────
|
|
365
|
+
|
|
366
|
+
// db-accordion
|
|
367
|
+
export const ACCORDION_VARIANTS = ['default', 'bordered', 'separated', 'contained'] as const;
|
|
368
|
+
export type AccordionVariant = (typeof ACCORDION_VARIANTS)[number];
|
|
369
|
+
export const ACCORDION_SIZES = SIZE_SML;
|
|
370
|
+
export type AccordionSize = SizeSML;
|
|
371
|
+
|
|
372
|
+
// db-banner
|
|
373
|
+
export const BANNER_VARIANTS = ['primary', 'secondary', 'tertiary', 'outline', 'image'] as const;
|
|
374
|
+
export type BannerVariant = (typeof BANNER_VARIANTS)[number];
|
|
375
|
+
export const BANNER_SIZES = SIZE_SML;
|
|
376
|
+
export type BannerSize = SizeSML;
|
|
377
|
+
|
|
378
|
+
// db-breadcrumbs
|
|
379
|
+
export const BREADCRUMBS_VARIANTS = ['default', 'contained', 'underlined'] as const;
|
|
380
|
+
export type BreadcrumbsVariant = (typeof BREADCRUMBS_VARIANTS)[number];
|
|
381
|
+
export const BREADCRUMBS_SIZES = SIZE_SML;
|
|
382
|
+
export type BreadcrumbsSize = SizeSML;
|
|
383
|
+
|
|
384
|
+
// db-empty-state
|
|
385
|
+
export const EMPTY_STATE_VARIANTS = ['no-data', 'no-results', 'no-access', 'error', 'onboarding'] as const;
|
|
386
|
+
export type EmptyStateVariant = (typeof EMPTY_STATE_VARIANTS)[number];
|
|
387
|
+
export const EMPTY_STATE_SIZES = SIZE_SML;
|
|
388
|
+
export type EmptyStateSize = SizeSML;
|
|
389
|
+
|
|
390
|
+
// db-logo
|
|
391
|
+
export const LOGO_VARIANTS = ['default', 'original', 'primary', 'secondary', 'light', 'dark', 'white'] as const;
|
|
392
|
+
export type LogoVariant = (typeof LOGO_VARIANTS)[number];
|
|
393
|
+
export const LOGO_SIZES = ['xs', 's', 'm', 'l', 'xl'] as const;
|
|
394
|
+
export type LogoSize = (typeof LOGO_SIZES)[number];
|
|
395
|
+
|
|
396
|
+
// db-menu-item
|
|
397
|
+
export const MENU_ITEM_VARIANTS = ['default', 'primary', 'success', 'warning', 'danger', 'info'] as const;
|
|
398
|
+
export type MenuItemVariant = (typeof MENU_ITEM_VARIANTS)[number];
|
|
399
|
+
export const MENU_ITEM_SIZES = SIZE_SML;
|
|
400
|
+
export type MenuItemSize = SizeSML;
|
|
401
|
+
|
|
402
|
+
// db-pagination
|
|
403
|
+
export const PAGINATION_VARIANTS = ['default', 'outlined', 'minimal'] as const;
|
|
404
|
+
export type PaginationVariant = (typeof PAGINATION_VARIANTS)[number];
|
|
405
|
+
export const PAGINATION_SIZES = SIZE_SML;
|
|
406
|
+
export type PaginationSize = SizeSML;
|
|
407
|
+
|
|
408
|
+
// db-kanban
|
|
409
|
+
export const KANBAN_SIZES = SIZE_SML;
|
|
410
|
+
export type KanbanSize = SizeSML;
|
|
411
|
+
|
|
412
|
+
// db-activity-heatmap
|
|
413
|
+
export const ACTIVITY_HEATMAP_SIZES = SIZE_SML;
|
|
414
|
+
export type ActivityHeatmapSize = SizeSML;
|
|
415
|
+
|
|
416
|
+
export const ACTIVITY_HEATMAP_COLOR_SCHEMES = ['green', 'primary'] as const;
|
|
417
|
+
export type ActivityHeatmapColorScheme = (typeof ACTIVITY_HEATMAP_COLOR_SCHEMES)[number];
|
|
418
|
+
|
|
419
|
+
// db-chat-message
|
|
420
|
+
export const CHAT_MESSAGE_ROLES = ['user', 'assistant', 'system'] as const;
|
|
421
|
+
export type ChatMessageRole = (typeof CHAT_MESSAGE_ROLES)[number];
|
|
422
|
+
|
|
423
|
+
// db-ai-glow
|
|
424
|
+
export const AI_GLOW_VARIANTS = ['aurora', 'brand'] as const;
|
|
425
|
+
export type AiGlowVariant = (typeof AI_GLOW_VARIANTS)[number];
|
|
426
|
+
|
|
427
|
+
export const AI_GLOW_STATES = ['thinking', 'working', 'listening'] as const;
|
|
428
|
+
export type AiGlowState = (typeof AI_GLOW_STATES)[number];
|
|
429
|
+
|
|
430
|
+
export const AI_GLOW_SIZES = SIZE_SML;
|
|
431
|
+
export type AiGlowSize = SizeSML;
|
|
432
|
+
|
|
433
|
+
// db-chat-orb
|
|
434
|
+
export const CHAT_ORB_SIZES = SIZE_XS_XL;
|
|
435
|
+
export type ChatOrbSize = SizeXsXl;
|
|
436
|
+
|
|
437
|
+
export const CHAT_ORB_VARIANTS = ['aurora', 'ocean', 'emerald', 'violet', 'mono'] as const;
|
|
438
|
+
export type ChatOrbVariant = (typeof CHAT_ORB_VARIANTS)[number];
|
|
439
|
+
|
|
440
|
+
export const CHAT_ORB_STATES = ['idle', 'thinking', 'listening'] as const;
|
|
441
|
+
export type ChatOrbState = (typeof CHAT_ORB_STATES)[number];
|
|
442
|
+
|
|
443
|
+
export const CHAT_ORB_THEMES = ['auto', 'light', 'dark'] as const;
|
|
444
|
+
export type ChatOrbTheme = (typeof CHAT_ORB_THEMES)[number];
|
|
445
|
+
|
|
446
|
+
// db-chat-welcome
|
|
447
|
+
export const CHAT_WELCOME_ALIGNS = ['center', 'left'] as const;
|
|
448
|
+
export type ChatWelcomeAlign = (typeof CHAT_WELCOME_ALIGNS)[number];
|
|
449
|
+
|
|
450
|
+
// db-chat-widget
|
|
451
|
+
export const CHAT_WIDGET_VIEWS = ['home', 'messages', 'conversation', 'help', 'article'] as const;
|
|
452
|
+
export type ChatWidgetView = (typeof CHAT_WIDGET_VIEWS)[number];
|
|
453
|
+
|
|
454
|
+
export const CHAT_WIDGET_POSITIONS = ['bottom-right', 'bottom-left'] as const;
|
|
455
|
+
export type ChatWidgetPosition = (typeof CHAT_WIDGET_POSITIONS)[number];
|
|
456
|
+
|
|
457
|
+
// db-container
|
|
458
|
+
export const CONTAINER_SIZES = ['s', 'm', 'l', 'xl', 'full'] as const;
|
|
459
|
+
export type ContainerSize = (typeof CONTAINER_SIZES)[number];
|
|
460
|
+
|
|
461
|
+
export const CONTAINER_PADDINGS = ['none', 's', 'm', 'l', 'xl'] as const;
|
|
462
|
+
export type ContainerPadding = (typeof CONTAINER_PADDINGS)[number];
|
|
463
|
+
|
|
464
|
+
// db-date-picker
|
|
465
|
+
export const DATE_PICKER_SIZES = SIZE_SML;
|
|
466
|
+
export type DatePickerSize = SizeSML;
|
|
467
|
+
|
|
468
|
+
export const DATE_PICKER_VARIANTS = ['default', 'outlined', 'filled'] as const;
|
|
469
|
+
export type DatePickerVariant = (typeof DATE_PICKER_VARIANTS)[number];
|
|
470
|
+
|
|
471
|
+
// db-download-progress
|
|
472
|
+
export const DOWNLOAD_PROGRESS_STATUSES = ['downloading', 'paused', 'error', 'complete'] as const;
|
|
473
|
+
export type DownloadProgressStatus = (typeof DOWNLOAD_PROGRESS_STATUSES)[number];
|
|
474
|
+
|
|
475
|
+
export const DOWNLOAD_PROGRESS_POSITIONS = ['bottom-right', 'bottom-left', 'bottom-center', 'top-right', 'top-left', 'top-center'] as const;
|
|
476
|
+
export type DownloadProgressPosition = (typeof DOWNLOAD_PROGRESS_POSITIONS)[number];
|
|
477
|
+
|
|
478
|
+
// db-drawer
|
|
479
|
+
export const DRAWER_POSITIONS = ['left', 'right', 'top', 'bottom'] as const;
|
|
480
|
+
export type DrawerPosition = (typeof DRAWER_POSITIONS)[number];
|
|
481
|
+
|
|
482
|
+
export const DRAWER_SIZES = ['s', 'm', 'l', 'xl', 'full'] as const;
|
|
483
|
+
export type DrawerSize = (typeof DRAWER_SIZES)[number];
|
|
484
|
+
|
|
485
|
+
// db-dropdown
|
|
486
|
+
export const DROPDOWN_SIZES = SIZE_SML;
|
|
487
|
+
export type DropdownSize = SizeSML;
|
|
488
|
+
|
|
489
|
+
export const DROPDOWN_PLACEMENTS = ['bottom-left', 'bottom-right', 'top-left', 'top-right'] as const;
|
|
490
|
+
export type DropdownPlacement = (typeof DROPDOWN_PLACEMENTS)[number];
|
|
491
|
+
|
|
492
|
+
export const DROPDOWN_TRIGGER_VARIANTS = ['primary', 'secondary', 'tertiary', 'danger', 'ghost'] as const;
|
|
493
|
+
export type DropdownTriggerVariant = (typeof DROPDOWN_TRIGGER_VARIANTS)[number];
|
|
494
|
+
|
|
495
|
+
// db-dropzone
|
|
496
|
+
export const DROPZONE_SIZES = SIZE_SML;
|
|
497
|
+
export type DropzoneSize = SizeSML;
|
|
498
|
+
|
|
499
|
+
export const DROPZONE_VARIANTS = ['default', 'outlined', 'filled'] as const;
|
|
500
|
+
export type DropzoneVariant = (typeof DROPZONE_VARIANTS)[number];
|
|
501
|
+
|
|
502
|
+
// db-email-verify
|
|
503
|
+
export const EMAIL_VERIFY_SIZES = SIZE_SML;
|
|
504
|
+
export type EmailVerifySize = SizeSML;
|
|
505
|
+
|
|
506
|
+
// db-file-uploader
|
|
507
|
+
export const FILE_UPLOADER_SIZES = SIZE_SML;
|
|
508
|
+
export type FileUploaderSize = SizeSML;
|
|
509
|
+
|
|
510
|
+
export const FILE_UPLOADER_VARIANTS = ['default', 'outlined', 'filled'] as const;
|
|
511
|
+
export type FileUploaderVariant = (typeof FILE_UPLOADER_VARIANTS)[number];
|
|
512
|
+
|
|
513
|
+
// db-floating-action-button
|
|
514
|
+
export const FLOATING_ACTION_BUTTON_SIZES = SIZE_SML;
|
|
515
|
+
export type FloatingActionButtonSize = SizeSML;
|
|
516
|
+
|
|
517
|
+
export const FLOATING_ACTION_BUTTON_VARIANTS = ['primary', 'secondary', 'tertiary'] as const;
|
|
518
|
+
export type FloatingActionButtonVariant = (typeof FLOATING_ACTION_BUTTON_VARIANTS)[number];
|
|
519
|
+
|
|
520
|
+
// db-footer
|
|
521
|
+
export const FOOTER_VARIANTS = ['default', 'compact', 'minimal'] as const;
|
|
522
|
+
export type FooterVariant = (typeof FOOTER_VARIANTS)[number];
|
|
523
|
+
|
|
524
|
+
export const FOOTER_SIZES = SIZE_SML;
|
|
525
|
+
export type FooterSize = SizeSML;
|
|
526
|
+
|
|
527
|
+
// db-indicator
|
|
528
|
+
export const INDICATOR_TYPES = ['dots', 'numbers', 'line', 'dot-line', 'slide', 'fill', 'combined'] as const;
|
|
529
|
+
export type IndicatorType = (typeof INDICATOR_TYPES)[number];
|
|
530
|
+
|
|
531
|
+
export const INDICATOR_SIZES = SIZE_SML;
|
|
532
|
+
export type IndicatorSize = SizeSML;
|
|
533
|
+
|
|
534
|
+
export const INDICATOR_DIRECTIONS = ['horizontal', 'vertical'] as const;
|
|
535
|
+
export type IndicatorDirection = (typeof INDICATOR_DIRECTIONS)[number];
|
|
536
|
+
|
|
537
|
+
// db-lightbox
|
|
538
|
+
export const LIGHTBOX_SIZES = ['s', 'm', 'l', 'xl'] as const;
|
|
539
|
+
export type LightboxSize = (typeof LIGHTBOX_SIZES)[number];
|
|
540
|
+
|
|
541
|
+
// db-otp-input
|
|
542
|
+
export const OTP_INPUT_SIZES = SIZE_SML;
|
|
543
|
+
export type OtpInputSize = SizeSML;
|
|
544
|
+
|
|
545
|
+
// db-page-header
|
|
546
|
+
export const PAGE_HEADER_VARIANTS = ['default', 'minimal'] as const;
|
|
547
|
+
export type PageHeaderVariant = (typeof PAGE_HEADER_VARIANTS)[number];
|
|
548
|
+
|
|
549
|
+
export const PAGE_HEADER_ALIGNS = ['center', 'left'] as const;
|
|
550
|
+
export type PageHeaderAlign = (typeof PAGE_HEADER_ALIGNS)[number];
|
|
551
|
+
|
|
552
|
+
// db-phone-verify
|
|
553
|
+
export const PHONE_VERIFY_SIZES = SIZE_SML;
|
|
554
|
+
export type PhoneVerifySize = SizeSML;
|
|
555
|
+
|
|
556
|
+
// db-popover
|
|
557
|
+
export const POPOVER_PLACEMENTS = ['top', 'bottom', 'left', 'right', 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-start', 'left-end', 'right-start', 'right-end'] as const;
|
|
558
|
+
export type PopoverPlacement = (typeof POPOVER_PLACEMENTS)[number];
|
|
559
|
+
|
|
560
|
+
export const POPOVER_SIZES = SIZE_SML;
|
|
561
|
+
export type PopoverSize = SizeSML;
|
|
562
|
+
|
|
563
|
+
export const POPOVER_VARIANTS = ['default', 'primary', 'success', 'warning', 'danger', 'info'] as const;
|
|
564
|
+
export type PopoverVariant = (typeof POPOVER_VARIANTS)[number];
|
|
565
|
+
|
|
566
|
+
export const POPOVER_TRIGGERS = ['click', 'hover', 'focus', 'manual'] as const;
|
|
567
|
+
export type PopoverTrigger = (typeof POPOVER_TRIGGERS)[number];
|
|
568
|
+
|
|
569
|
+
// db-progress
|
|
570
|
+
export const PROGRESS_SIZES = SIZE_SML;
|
|
571
|
+
export type ProgressSize = SizeSML;
|
|
572
|
+
|
|
573
|
+
export const PROGRESS_VARIANTS = ['default', 'success', 'warning', 'danger'] as const;
|
|
574
|
+
export type ProgressVariant = (typeof PROGRESS_VARIANTS)[number];
|
|
575
|
+
|
|
576
|
+
export const PROGRESS_CIRCULAR_STYLES = ['default', 'minimal'] as const;
|
|
577
|
+
export type ProgressCircularStyle = (typeof PROGRESS_CIRCULAR_STYLES)[number];
|
|
578
|
+
|
|
579
|
+
// db-section
|
|
580
|
+
export const SECTION_SIZES = SIZE_SML;
|
|
581
|
+
export type SectionSize = SizeSML;
|
|
582
|
+
|
|
583
|
+
// db-sidebar
|
|
584
|
+
export const SIDEBAR_SIZES = SIZE_SML;
|
|
585
|
+
export type SidebarSize = SizeSML;
|
|
586
|
+
|
|
587
|
+
export const SIDEBAR_THEMES = ['default', 'dark', 'light'] as const;
|
|
588
|
+
export type SidebarTheme = (typeof SIDEBAR_THEMES)[number];
|
|
589
|
+
|
|
590
|
+
export const SIDEBAR_VARIANTS = ['default', 'wrapper'] as const;
|
|
591
|
+
export type SidebarVariant = (typeof SIDEBAR_VARIANTS)[number];
|
|
592
|
+
|
|
593
|
+
export const SIDEBAR_POSITIONS = ['left', 'right'] as const;
|
|
594
|
+
export type SidebarPosition = (typeof SIDEBAR_POSITIONS)[number];
|
|
595
|
+
|
|
596
|
+
export const SIDEBAR_PANEL_MODES = ['auto', 'adjacent', 'replace'] as const;
|
|
597
|
+
export type SidebarPanelMode = (typeof SIDEBAR_PANEL_MODES)[number];
|
|
598
|
+
|
|
599
|
+
export const SIDEBAR_CUSTOM_NAV_SLOTS = ['nav-top', 'nav', 'nav-bottom'] as const;
|
|
600
|
+
export type SidebarCustomNavSlot = (typeof SIDEBAR_CUSTOM_NAV_SLOTS)[number];
|
|
601
|
+
|
|
602
|
+
// db-stat
|
|
603
|
+
export const STAT_SIZES = SIZE_SML;
|
|
604
|
+
export type StatSize = SizeSML;
|
|
605
|
+
|
|
606
|
+
export const STAT_VARIANTS = ['default', 'minimal', 'card', 'colored', 'iconBox'] as const;
|
|
607
|
+
export type StatVariant = (typeof STAT_VARIANTS)[number];
|
|
608
|
+
|
|
609
|
+
export const STAT_LAYOUTS = ['horizontal', 'vertical', 'reverse'] as const;
|
|
610
|
+
export type StatLayout = (typeof STAT_LAYOUTS)[number];
|
|
611
|
+
|
|
612
|
+
export const STAT_COLORS = ['primary', 'secondary', 'success', 'warning', 'error', 'info', 'custom'] as const;
|
|
613
|
+
export type StatColor = (typeof STAT_COLORS)[number];
|
|
614
|
+
|
|
615
|
+
// db-table
|
|
616
|
+
export const TABLE_SIZES = SIZE_SML;
|
|
617
|
+
export type TableSize = SizeSML;
|
|
618
|
+
|
|
619
|
+
export const TABLE_VARIANTS = ['default', 'striped', 'hoverable'] as const;
|
|
620
|
+
export type TableVariant = (typeof TABLE_VARIANTS)[number];
|
|
621
|
+
|
|
622
|
+
// db-testimonial
|
|
623
|
+
export const TESTIMONIAL_VARIANTS = ['list', 'card', 'logo', 'image', 'text'] as const;
|
|
624
|
+
export type TestimonialVariant = (typeof TESTIMONIAL_VARIANTS)[number];
|
|
625
|
+
|
|
626
|
+
// db-textarea
|
|
627
|
+
export const TEXTAREA_SIZES = SIZE_SML;
|
|
628
|
+
export type TextareaSize = SizeSML;
|
|
629
|
+
|
|
630
|
+
// db-time-picker
|
|
631
|
+
export const TIME_PICKER_SIZES = SIZE_SML;
|
|
632
|
+
export type TimePickerSize = SizeSML;
|
|
633
|
+
|
|
634
|
+
export const TIME_PICKER_FORMATS = ['12h', '24h', '12h-with-seconds', '24h-with-seconds'] as const;
|
|
635
|
+
export type TimePickerFormat = (typeof TIME_PICKER_FORMATS)[number];
|
|
636
|
+
|
|
637
|
+
/** TimePicker 드롭다운의 기준점. auto는 뷰포트 공간에 맞춰 상·하/좌·우를 계산한다. */
|
|
638
|
+
export const TIME_PICKER_DROPDOWN_POSITIONS = [
|
|
639
|
+
'auto',
|
|
640
|
+
'bottom-start',
|
|
641
|
+
'bottom-end',
|
|
642
|
+
'top-start',
|
|
643
|
+
'top-end',
|
|
644
|
+
] as const;
|
|
645
|
+
export type TimePickerDropdownPosition = (typeof TIME_PICKER_DROPDOWN_POSITIONS)[number];
|
|
646
|
+
|
|
647
|
+
// db-tooltip
|
|
648
|
+
export const TOOLTIP_POSITIONS = ['top', 'bottom', 'left', 'right', 'top-start', 'top-end', 'bottom-start', 'bottom-end', 'left-start', 'left-end', 'right-start', 'right-end'] as const;
|
|
649
|
+
export type TooltipPosition = (typeof TOOLTIP_POSITIONS)[number];
|
|
650
|
+
|
|
651
|
+
export const TOOLTIP_SIZES = SIZE_SML;
|
|
652
|
+
export type TooltipSize = SizeSML;
|
|
653
|
+
|
|
654
|
+
export const TOOLTIP_VARIANTS = ['default', 'primary', 'success', 'warning', 'danger', 'info'] as const;
|
|
655
|
+
export type TooltipVariant = (typeof TOOLTIP_VARIANTS)[number];
|
|
656
|
+
|
|
657
|
+
// db-top-banner
|
|
658
|
+
export const TOP_BANNER_VARIANTS = ['primary', 'white', 'dark'] as const;
|
|
659
|
+
export type TopBannerVariant = (typeof TOP_BANNER_VARIANTS)[number];
|
|
660
|
+
|
|
661
|
+
// db-two-factor
|
|
662
|
+
export const TWO_FACTOR_SIZES = SIZE_SML;
|
|
663
|
+
export type TwoFactorSize = SizeSML;
|
|
664
|
+
|
|
665
|
+
// ─────────────────────────────────────────────────────────────
|
|
666
|
+
// ui-wc 전용 컴포넌트 enum
|
|
667
|
+
//
|
|
668
|
+
// 웹 커스텀 엘리먼트도 attribute 를 통해 임의의 문자열을 받기 때문에,
|
|
669
|
+
// 공개 허용값과 런타임 fallback 을 같은 계약으로 유지한다.
|
|
670
|
+
// ─────────────────────────────────────────────────────────────
|
|
671
|
+
|
|
672
|
+
export const AD_BANNER_VARIANTS = ['primary', 'secondary', 'success', 'warning', 'error'] as const;
|
|
673
|
+
export const AD_BANNER_SIZES = SIZE_SML;
|
|
674
|
+
|
|
675
|
+
export const ANIMATION_TEXT_SIZES = ['xs', 's', 'm', 'l', 'xl', '2xl', '3xl'] as const;
|
|
676
|
+
export const ANIMATION_TEXT_ALIGNS = ['left', 'center', 'right', 'justify'] as const;
|
|
677
|
+
|
|
678
|
+
export const APP_BADGE_SIZES = SIZE_SML;
|
|
679
|
+
|
|
680
|
+
export const AUDIO_PLAYER_VARIANTS = ['default', 'minimal', 'compact', 'full'] as const;
|
|
681
|
+
export const AUDIO_PLAYER_SIZES = ['s', 'm', 'l', 'xl'] as const;
|
|
682
|
+
|
|
683
|
+
export const CAROUSEL_VARIANTS = ['default', 'cards', 'gallery', 'hero', 'testimonial'] as const;
|
|
684
|
+
export const CAROUSEL_SIZES = ['s', 'm', 'l', 'xl'] as const;
|
|
685
|
+
|
|
686
|
+
export const COLOR_PICKER_SIZES = SIZE_SML;
|
|
687
|
+
export const COLOR_PICKER_POSITIONS = ['bottom-start', 'bottom-end', 'top-start', 'top-end'] as const;
|
|
688
|
+
|
|
689
|
+
export const COLOR_SWATCH_SIZES = SIZE_SML;
|
|
690
|
+
|
|
691
|
+
export const CONFIRM_VARIANTS = ['default', 'info', 'success', 'warning', 'danger'] as const;
|
|
692
|
+
export const CONFIRM_SIZES = SIZE_SML;
|
|
693
|
+
|
|
694
|
+
export const COUNTDOWN_VARIANTS = ['default', 'compact', 'minimal'] as const;
|
|
695
|
+
export const COUNTDOWN_SIZES = SIZE_SML;
|
|
696
|
+
|
|
697
|
+
export const GRADIENT_VARIANTS = ['default', 'animated', 'mesh'] as const;
|
|
698
|
+
export const GRADIENT_SIZES = ['s', 'm', 'l', 'xl', 'full'] as const;
|
|
699
|
+
|
|
700
|
+
export const GRID_BACKGROUND_SIZES = SIZE_SML;
|
|
701
|
+
export const LABEL_SIZES = SIZE_SML;
|
|
702
|
+
|
|
703
|
+
export const LIST_VARIANTS = ['default', 'minimal', 'bordered', 'card', 'navigation'] as const;
|
|
704
|
+
export const LIST_SIZES = SIZE_SML;
|
|
705
|
+
|
|
706
|
+
export const MARKDOWN_EDITOR_VARIANTS = ['default', 'filled', 'outlined'] as const;
|
|
707
|
+
export const MARKDOWN_EDITOR_SIZES = SIZE_SML;
|
|
708
|
+
|
|
709
|
+
export const MARQUEE_VARIANTS = ['default', 'filled', 'outlined'] as const;
|
|
710
|
+
export const MARQUEE_SIZES = SIZE_SML;
|
|
711
|
+
|
|
712
|
+
export const PROGRESS_STEP_SIZES = SIZE_SML;
|
|
713
|
+
export const RANDOM_GRADIENT_TONES = ['light', 'vivid', 'dark'] as const;
|
|
714
|
+
|
|
715
|
+
export const RATING_VARIANTS = ['default', 'minimal', 'card', 'inline', 'large'] as const;
|
|
716
|
+
export const RATING_SIZES = SIZE_SML;
|
|
717
|
+
|
|
718
|
+
export const REORDER_VARIANTS = ['default', 'bordered', 'filled', 'minimal'] as const;
|
|
719
|
+
export const REORDER_SIZES = SIZE_SML;
|
|
720
|
+
|
|
721
|
+
export const SECTION_ALIGNS = ['left', 'center', 'right'] as const;
|
|
722
|
+
export const SECTION_APP_DOWNLOAD_SIZES = SIZE_SML;
|
|
723
|
+
export const SECTION_CONTACT_SIZES = SIZE_SML;
|
|
724
|
+
export const SECTION_CTA_VARIANTS = ['default', 'dark', 'light', 'gradient', 'tinted'] as const;
|
|
725
|
+
export const SECTION_CTA_SIZES = SIZE_SML;
|
|
726
|
+
export const SECTION_FAQ_SIZES = SIZE_SML;
|
|
727
|
+
export const SECTION_FEATURE_SIZES = SIZE_SML;
|
|
728
|
+
export const SECTION_FEATURE_GRID_SIZES = SIZE_SML;
|
|
729
|
+
export const SECTION_HERO_VARIANTS = ['default', 'showcase', 'split', 'overlay', 'centered'] as const;
|
|
730
|
+
export const SECTION_LOGO_CLOUD_VARIANTS = ['grid', 'inline', 'minimal', 'marquee'] as const;
|
|
731
|
+
export const SECTION_LOGO_CLOUD_SIZES = SIZE_SML;
|
|
732
|
+
export const SECTION_PRICING_SIZES = SIZE_SML;
|
|
733
|
+
export const SECTION_STATS_SIZES = SIZE_SML;
|
|
734
|
+
export const SECTION_TESTIMONIALS_VARIANTS = ['grid', 'list', 'carousel', 'cards'] as const;
|
|
735
|
+
export const SECTION_TESTIMONIALS_SIZES = SIZE_SML;
|
|
736
|
+
|
|
737
|
+
export const SHARE_VARIANTS = ['button', 'dropdown', 'modal', 'inline'] as const;
|
|
738
|
+
export const SHARE_SIZES = SIZE_SML;
|
|
739
|
+
export const SHARE_POSITIONS = ['top', 'bottom', 'left', 'right'] as const;
|
|
740
|
+
|
|
741
|
+
export const SIGNATURE_VARIANTS = ['dashed', 'outlined'] as const;
|
|
742
|
+
|
|
743
|
+
export const TIMELINE_VARIANTS = ['default', 'alternate', 'left', 'right'] as const;
|
|
744
|
+
export const TIMELINE_SIZES = SIZE_SML;
|
|
745
|
+
|
|
746
|
+
export const TOOLBAR_VARIANTS = ['default', 'filled', 'outlined', 'ghost'] as const;
|
|
747
|
+
export const TOOLBAR_SIZES = SIZE_SML;
|
|
748
|
+
export const TOOLBAR_POSITIONS = ['top', 'bottom', 'left', 'right', 'floating'] as const;
|
|
749
|
+
|
|
750
|
+
export const VIDEO_PLAYER_VARIANTS = ['default', 'minimal', 'theater'] as const;
|
|
751
|
+
export const VIDEO_PLAYER_SIZES = ['s', 'm', 'l', 'xl'] as const;
|
|
752
|
+
export const YOUTUBE_PLAYER_VARIANTS = ['default', 'minimal', 'theater', 'full'] as const;
|
|
753
|
+
export const YOUTUBE_PLAYER_SIZES = ['s', 'm', 'l', 'xl'] as const;
|