@plaidlabs/ui 0.1.1 → 0.1.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.
@@ -1,10 +1,10 @@
1
1
  export declare const container: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  type: {
3
3
  default: {
4
- backgroundColor: "#dee0e7";
4
+ backgroundColor: string;
5
5
  };
6
6
  photo: {
7
- backgroundColor: "#c5c7d2";
7
+ backgroundColor: string;
8
8
  };
9
9
  };
10
10
  status: {
@@ -47,7 +47,7 @@ export declare const statusIndicator: import("@vanilla-extract/recipes").Runtime
47
47
  height: "0.75rem";
48
48
  bottom: "0.0625rem";
49
49
  right: "0.0625rem";
50
- border: "0.13rem solid #ffffff";
50
+ border: `0.13rem solid ${string}`;
51
51
  };
52
52
  };
53
53
  }>;
@@ -1,20 +1,20 @@
1
1
  export declare const labelStyle: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  selected: {
3
3
  true: {
4
- color: "#0c5dde";
4
+ color: string;
5
5
  };
6
6
  false: {
7
- color: "#6e7078";
7
+ color: string;
8
8
  };
9
9
  };
10
10
  }>;
11
11
  export declare const iconStyle: import("@vanilla-extract/recipes").RuntimeFn<{
12
12
  selected: {
13
13
  true: {
14
- color: "#0c5dde";
14
+ color: string;
15
15
  };
16
16
  false: {
17
- color: "#989aa4";
17
+ color: string;
18
18
  };
19
19
  };
20
20
  }>;
@@ -26,7 +26,7 @@ export declare const bottomTabRecipe: import("@vanilla-extract/recipes").Runtime
26
26
  export declare const tabItemRecipe: import("@vanilla-extract/recipes").RuntimeFn<{
27
27
  selected: {
28
28
  true: {
29
- backgroundColor: "#f3f7fd";
29
+ backgroundColor: string;
30
30
  };
31
31
  false: {};
32
32
  };
@@ -28,10 +28,10 @@ export declare const buttonRecipe: import("@vanilla-extract/recipes").RuntimeFn<
28
28
  };
29
29
  variant: {
30
30
  filled: {
31
- color: "#ffffff";
31
+ color: string;
32
32
  };
33
33
  outline: {
34
- backgroundColor: "#ffffff";
34
+ backgroundColor: string;
35
35
  borderStyle: "solid";
36
36
  borderWidth: "0.09375rem";
37
37
  };
@@ -16,36 +16,36 @@ export declare const checkboxBox: import("@vanilla-extract/recipes").RuntimeFn<{
16
16
  blue_1000: {
17
17
  selectors: {
18
18
  ':not([data-selected="true"]) &': {
19
- borderColor: "#b6cef5";
19
+ borderColor: string;
20
20
  };
21
21
  '[data-selected="true"] &': {
22
- backgroundColor: "#0c5dde";
23
- borderColor: "#0c5dde";
22
+ backgroundColor: string;
23
+ borderColor: string;
24
24
  };
25
25
  '[data-hovered="true"]:not([data-disabled="true"]):not([data-selected="true"]):not([data-indeterminate="true"]) &': {
26
- borderColor: "#558ee8";
27
- boxShadow: "0 0 0 0.12rem #0c5dde33";
26
+ borderColor: string;
27
+ boxShadow: `0 0 0 0.12rem ${string}`;
28
28
  };
29
29
  '[data-disabled="true"] &': {
30
- borderColor: "#c5c7d2";
30
+ borderColor: string;
31
31
  };
32
32
  };
33
33
  };
34
34
  gray_700: {
35
35
  selectors: {
36
36
  ':not([data-selected="true"]) &': {
37
- borderColor: "#6e7078";
37
+ borderColor: string;
38
38
  };
39
39
  '[data-selected="true"] &': {
40
- backgroundColor: "#3e3f46";
41
- borderColor: "#3e3f46";
40
+ backgroundColor: string;
41
+ borderColor: string;
42
42
  };
43
43
  '[data-hovered="true"]:not([data-disabled="true"]):not([data-selected="true"]):not([data-indeterminate="true"]) &': {
44
- borderColor: "#3e3f46";
45
- boxShadow: "0 0 0 0.12rem #dee0e7";
44
+ borderColor: string;
45
+ boxShadow: `0 0 0 0.12rem ${string}`;
46
46
  };
47
47
  '[data-disabled="true"] &': {
48
- borderColor: "#c5c7d2";
48
+ borderColor: string;
49
49
  };
50
50
  };
51
51
  };
@@ -2,7 +2,7 @@ import { RecipeVariants } from '@vanilla-extract/recipes';
2
2
  export declare const chipRecipe: import("@vanilla-extract/recipes").RuntimeFn<{
3
3
  variant: {
4
4
  filled: {
5
- color: "#ffffff";
5
+ color: string;
6
6
  };
7
7
  outlined: {
8
8
  border: "1px solid";
@@ -1,10 +1,10 @@
1
1
  export declare const close: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  color: {
3
3
  gray600: {
4
- color: "#53545c";
4
+ color: string;
5
5
  };
6
6
  gray100: {
7
- color: "#f1f2f6";
7
+ color: string;
8
8
  };
9
9
  };
10
10
  size: {
@@ -1,16 +1,16 @@
1
1
  export declare const guideText: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  color: {
3
3
  gray: {
4
- color: "#989aa4";
4
+ color: string;
5
5
  };
6
6
  red: {
7
- color: "#d21b1b";
7
+ color: string;
8
8
  };
9
9
  blue: {
10
- color: "#0c5dde";
10
+ color: string;
11
11
  };
12
12
  green: {
13
- color: "#00903d";
13
+ color: string;
14
14
  };
15
15
  };
16
16
  }>;
@@ -5,13 +5,13 @@ export declare const link: import("@vanilla-extract/recipes").RuntimeFn<{
5
5
  };
6
6
  color: {
7
7
  blue: {
8
- color: "#0c5dde";
8
+ color: string;
9
9
  };
10
10
  gray700: {
11
- color: "#3e3f46";
11
+ color: string;
12
12
  };
13
13
  gray500: {
14
- color: "#6e7078";
14
+ color: string;
15
15
  };
16
16
  };
17
17
  }>;
@@ -3,13 +3,13 @@ export declare const lnbItem: import("@vanilla-extract/recipes").RuntimeFn<{
3
3
  default: (string | {
4
4
  selectors: {
5
5
  '&:hover:not([data-selected="true"])': {
6
- backgroundColor: "#f7f7fa";
6
+ backgroundColor: string;
7
7
  };
8
8
  };
9
9
  })[];
10
10
  selected: (string | {
11
- backgroundColor: "#f3f7fd";
12
- color: "#0c5dde";
11
+ backgroundColor: string;
12
+ color: string;
13
13
  })[];
14
14
  };
15
15
  icon: {
@@ -24,16 +24,16 @@ export declare const lnbItem: import("@vanilla-extract/recipes").RuntimeFn<{
24
24
  item: {};
25
25
  option: {
26
26
  height: "2.375rem";
27
- backgroundColor: "#ffffff";
28
- color: "#53545c";
27
+ backgroundColor: string;
28
+ color: string;
29
29
  selectors: {
30
30
  '&:hover:not([data-selected="true"])': {
31
- backgroundColor: "#f7f7fa";
32
- color: "#53545c";
31
+ backgroundColor: string;
32
+ color: string;
33
33
  };
34
34
  '&[data-selected="true"]': {
35
- backgroundColor: "#f3f7fd";
36
- color: "#0c5dde";
35
+ backgroundColor: string;
36
+ color: string;
37
37
  ':hover': {
38
38
  backgroundColor: string;
39
39
  color: string;
@@ -39,42 +39,42 @@ export declare const track: string;
39
39
  export declare const fill: import("@vanilla-extract/recipes").RuntimeFn<{
40
40
  color: {
41
41
  blue: {
42
- borderLeftColor: "#0c5dde";
42
+ borderLeftColor: string;
43
43
  '@media': {
44
44
  '(prefers-color-scheme: dark)': {
45
- borderLeftColor: "#558ee8";
45
+ borderLeftColor: string;
46
46
  };
47
47
  };
48
48
  };
49
49
  green: {
50
- borderLeftColor: "#00903d";
50
+ borderLeftColor: string;
51
51
  '@media': {
52
52
  '(prefers-color-scheme: dark)': {
53
- borderLeftColor: "#66bc8b";
53
+ borderLeftColor: string;
54
54
  };
55
55
  };
56
56
  };
57
57
  yellow: {
58
- borderLeftColor: "#f6bd00";
58
+ borderLeftColor: string;
59
59
  '@media': {
60
60
  '(prefers-color-scheme: dark)': {
61
- borderLeftColor: "#f8ca33";
61
+ borderLeftColor: string;
62
62
  };
63
63
  };
64
64
  };
65
65
  red: {
66
- borderLeftColor: "#d21b1b";
66
+ borderLeftColor: string;
67
67
  '@media': {
68
68
  '(prefers-color-scheme: dark)': {
69
- borderLeftColor: "#e05f5f";
69
+ borderLeftColor: string;
70
70
  };
71
71
  };
72
72
  };
73
73
  gray: {
74
- borderLeftColor: "#989aa4";
74
+ borderLeftColor: string;
75
75
  '@media': {
76
76
  '(prefers-color-scheme: dark)': {
77
- borderLeftColor: "#dee0e7";
77
+ borderLeftColor: string;
78
78
  };
79
79
  };
80
80
  };
@@ -1,24 +1,24 @@
1
1
  export declare const notice: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  color: {
3
3
  gray: {
4
- backgroundColor: "#f7f7fa";
5
- color: "#6e7078";
4
+ backgroundColor: string;
5
+ color: string;
6
6
  };
7
7
  blue: {
8
- backgroundColor: "#0c5dde0d";
9
- color: "#0c5dde";
8
+ backgroundColor: string;
9
+ color: string;
10
10
  };
11
11
  red: {
12
- backgroundColor: "#d21b1b0d";
13
- color: "#d21b1b";
12
+ backgroundColor: string;
13
+ color: string;
14
14
  };
15
15
  green: {
16
- backgroundColor: "#00903d0d";
17
- color: "#00903d";
16
+ backgroundColor: string;
17
+ color: string;
18
18
  };
19
19
  yellow: {
20
- backgroundColor: "#f6bd000d";
21
- color: "#f6bd00";
20
+ backgroundColor: string;
21
+ color: string;
22
22
  };
23
23
  };
24
24
  }>;
@@ -7,20 +7,20 @@ export declare const paginationItem: import("@vanilla-extract/recipes").RuntimeF
7
7
  };
8
8
  state: {
9
9
  default: (string | {
10
- color: "#6e7078";
10
+ color: string;
11
11
  })[];
12
12
  selected: (string | {
13
- backgroundColor: "#f1f2f6";
14
- color: "#3e3f46";
15
- border: "0.0625rem solid #dee0e7";
13
+ backgroundColor: string;
14
+ color: string;
15
+ border: `0.0625rem solid ${string}`;
16
16
  })[];
17
17
  };
18
18
  disabled: {
19
19
  true: {
20
20
  cursor: "not-allowed";
21
21
  pointerEvents: "none";
22
- color: "#dee0e7";
23
- backgroundColor: "#ffffff";
22
+ color: string;
23
+ backgroundColor: string;
24
24
  border: "none";
25
25
  };
26
26
  false: {};
@@ -1,10 +1,10 @@
1
1
  export declare const container: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  color: {
3
3
  blue: {
4
- borderColor: "#e7effc";
4
+ borderColor: string;
5
5
  };
6
6
  gray: {
7
- borderColor: "#f1f2f6";
7
+ borderColor: string;
8
8
  };
9
9
  };
10
10
  }>;
@@ -1,24 +1,24 @@
1
1
  export declare const container: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  state: {
3
3
  default: {
4
- borderColor: "#f1f2f6";
4
+ borderColor: string;
5
5
  selectors: {
6
6
  '&:hover:not(:focus-within)': {
7
7
  '@media': {
8
8
  '(hover: hover)': {
9
- borderColor: "#cedff8";
9
+ borderColor: string;
10
10
  };
11
11
  };
12
12
  };
13
13
  };
14
14
  };
15
15
  error: {
16
- borderColor: "#f1bbbb";
16
+ borderColor: string;
17
17
  selectors: {
18
18
  '&:hover:not(:focus-within)': {
19
19
  '@media': {
20
20
  '(hover: hover)': {
21
- borderColor: "#e98d8d";
21
+ borderColor: string;
22
22
  };
23
23
  };
24
24
  };
@@ -41,10 +41,10 @@ export declare const labelText: import("@vanilla-extract/recipes").RuntimeFn<{
41
41
  default: {};
42
42
  error: {};
43
43
  disabled: {
44
- color: "#c5c7d2";
44
+ color: string;
45
45
  };
46
46
  filledDisabled: {
47
- color: "#c5c7d2";
47
+ color: string;
48
48
  };
49
49
  };
50
50
  }>;
@@ -57,10 +57,10 @@ export declare const limitCurrent: import("@vanilla-extract/recipes").RuntimeFn<
57
57
  default: {};
58
58
  error: {};
59
59
  disabled: {
60
- color: "#c5c7d2";
60
+ color: string;
61
61
  };
62
62
  filledDisabled: {
63
- color: "#c5c7d2";
63
+ color: string;
64
64
  };
65
65
  };
66
66
  }>;
@@ -1,35 +1,35 @@
1
1
  export declare const container: import("@vanilla-extract/recipes").RuntimeFn<{
2
2
  state: {
3
3
  default: {
4
- borderColor: "#f1f2f6";
4
+ borderColor: string;
5
5
  selectors: {
6
6
  '&:hover:not(:focus-within)': {
7
7
  '@media': {
8
8
  '(hover: hover)': {
9
- borderColor: "#cedff8";
9
+ borderColor: string;
10
10
  };
11
11
  };
12
12
  };
13
13
  };
14
14
  };
15
15
  error: {
16
- borderColor: "#f1bbbb";
16
+ borderColor: string;
17
17
  selectors: {
18
18
  '&:hover:not(:focus-within)': {
19
19
  '@media': {
20
20
  '(hover: hover)': {
21
- borderColor: "#e98d8d";
21
+ borderColor: string;
22
22
  };
23
23
  };
24
24
  };
25
25
  };
26
26
  };
27
27
  disabled: {
28
- readonly backgroundColor: "#f7f7fa";
28
+ readonly backgroundColor: string;
29
29
  readonly border: "none";
30
30
  };
31
31
  filledDisabled: {
32
- readonly backgroundColor: "#f7f7fa";
32
+ readonly backgroundColor: string;
33
33
  readonly border: "none";
34
34
  };
35
35
  };
@@ -52,13 +52,13 @@ export declare const labelText: import("@vanilla-extract/recipes").RuntimeFn<{
52
52
  state: {
53
53
  default: {};
54
54
  error: {
55
- color: "#989aa4";
55
+ color: string;
56
56
  };
57
57
  disabled: {
58
- color: "#c5c7d2";
58
+ color: string;
59
59
  };
60
60
  filledDisabled: {
61
- color: "#c5c7d2";
61
+ color: string;
62
62
  };
63
63
  };
64
64
  }>;
@@ -71,10 +71,10 @@ export declare const limitCurrent: import("@vanilla-extract/recipes").RuntimeFn<
71
71
  default: {};
72
72
  error: {};
73
73
  disabled: {
74
- color: "#c5c7d2";
74
+ color: string;
75
75
  };
76
76
  filledDisabled: {
77
- color: "#c5c7d2";
77
+ color: string;
78
78
  };
79
79
  };
80
80
  }>;
@@ -4,7 +4,7 @@ export declare const track: import("@vanilla-extract/recipes").RuntimeFn<{
4
4
  blue: {
5
5
  selectors: {
6
6
  '&[data-focus="true"]:not([data-disabled="true"])': {
7
- outline: "0.125rem solid #85aeef";
7
+ outline: `0.125rem solid ${string}`;
8
8
  outlineOffset: "0.12rem";
9
9
  };
10
10
  };
@@ -12,7 +12,7 @@ export declare const track: import("@vanilla-extract/recipes").RuntimeFn<{
12
12
  green: {
13
13
  selectors: {
14
14
  '&[data-focus="true"]:not([data-disabled="true"])': {
15
- outline: "0.125rem solid #80c79e";
15
+ outline: `0.125rem solid ${string}`;
16
16
  outlineOffset: "0.12rem";
17
17
  };
18
18
  };
@@ -20,7 +20,7 @@ export declare const track: import("@vanilla-extract/recipes").RuntimeFn<{
20
20
  };
21
21
  checked: {
22
22
  false: {
23
- backgroundColor: "#dee0e7";
23
+ backgroundColor: string;
24
24
  };
25
25
  true: {};
26
26
  };
@@ -2,11 +2,13 @@ import React from 'react';
2
2
  import { type ButtonProps as AriaButtonProps } from 'react-aria-components';
3
3
  export type DropdownSize = 'sm' | 'md';
4
4
  export type DropdownSubTextLayout = 'caption' | 'title';
5
+ export type DropdownSelectionMode = 'single' | 'multiple';
5
6
  export interface DropdownProps extends Omit<AriaButtonProps, 'children'> {
6
7
  size: DropdownSize;
7
8
  isSelected?: boolean;
8
9
  isDisabled?: boolean;
9
10
  className?: string;
11
+ selectionMode?: DropdownSelectionMode;
10
12
  children: React.ReactNode;
11
13
  subText?: string;
12
14
  subTextLayout?: DropdownSubTextLayout;
@@ -18,5 +20,7 @@ export interface DropdownProps extends Omit<AriaButtonProps, 'children'> {
18
20
  onSubItemClick?: (id: string) => void;
19
21
  isDefaultExpanded?: boolean;
20
22
  selectedMenuItemId?: string;
23
+ selectedMenuItemIds?: string[];
24
+ onSelectedMenuItemIdsChange?: (ids: string[]) => void;
21
25
  }
22
- export default function Dropdown({ size, isSelected, isDisabled, className, children, subText, subTextLayout, menuItems, onSubItemClick, isDefaultExpanded, selectedMenuItemId, ...props }: DropdownProps): import("react/jsx-runtime").JSX.Element;
26
+ export default function Dropdown({ size, isSelected, isDisabled, className, selectionMode, children, subText, subTextLayout, menuItems, onSubItemClick, isDefaultExpanded, selectedMenuItemId, selectedMenuItemIds, onSelectedMenuItemIdsChange, ...props }: DropdownProps): import("react/jsx-runtime").JSX.Element;
@@ -11,6 +11,7 @@ declare const meta: {
11
11
  size: "md";
12
12
  isSelected: false;
13
13
  isDisabled: false;
14
+ selectionMode: "single";
14
15
  children: string;
15
16
  };
16
17
  argTypes: {
@@ -27,6 +28,11 @@ declare const meta: {
27
28
  control: "boolean";
28
29
  description: string;
29
30
  };
31
+ selectionMode: {
32
+ control: "select";
33
+ options: string[];
34
+ description: string;
35
+ };
30
36
  subText: {
31
37
  control: "text";
32
38
  description: string;
@@ -52,6 +58,14 @@ declare const meta: {
52
58
  control: "text";
53
59
  description: string;
54
60
  };
61
+ selectedMenuItemIds: {
62
+ control: "object";
63
+ description: string;
64
+ };
65
+ onSelectedMenuItemIdsChange: {
66
+ action: string;
67
+ description: string;
68
+ };
55
69
  children: {
56
70
  control: "text";
57
71
  description: string;
@@ -91,3 +105,9 @@ export declare const MenuWithSubText: Story;
91
105
  * - 메뉴 + 체크 아이콘
92
106
  */
93
107
  export declare const Interactive: Story;
108
+ /**
109
+ * 8. Multiple 선택
110
+ * - 선택 유지
111
+ * - 체크 아이콘 다중 표시
112
+ */
113
+ export declare const Multiple: Story;
@@ -1,2 +1,2 @@
1
1
  export { default as Dropdown } from './Dropdown.tsx';
2
- export type { DropdownProps, DropdownSize, DropdownSubTextLayout } from './Dropdown.tsx';
2
+ export type { DropdownProps, DropdownSize, DropdownSubTextLayout, DropdownSelectionMode, } from './Dropdown.tsx';
@@ -13,7 +13,9 @@ export * from './basic/text-field/index.ts';
13
13
  export * from './basic/text-area/index.ts';
14
14
  export * from './basic/toggle/index.ts';
15
15
  export * from './basic/pagination/index.ts';
16
+ export * from './complex/modal/index.ts';
16
17
  export * from './complex/popup/index.ts';
18
+ export * from './complex/dropdown/index.ts';
17
19
  export * from './basic/bottom-tab/index.ts';
18
20
  export * from './basic/page-header/index.ts';
19
21
  export * from './basic/tab/index.ts';