@iyulab/components 0.1.3 → 0.1.4
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/CHANGELOG.md +18 -15
- package/LICENSE +20 -20
- package/README.md +33 -33
- package/dist/assets/icons/arrow-clockwise.svg.js +1 -1
- package/dist/assets/icons/arrow-down.svg.js +1 -1
- package/dist/assets/icons/arrow-up.svg.js +1 -1
- package/dist/assets/icons/ban.svg.js +1 -1
- package/dist/assets/icons/check-circle-fill.svg.js +1 -1
- package/dist/assets/icons/check-lg.svg.js +1 -1
- package/dist/assets/icons/chevron-down.svg.js +1 -1
- package/dist/assets/icons/chevron-left.svg.js +1 -1
- package/dist/assets/icons/chevron-right.svg.js +1 -1
- package/dist/assets/icons/chevron-up.svg.js +1 -1
- package/dist/assets/icons/copy.svg.js +1 -1
- package/dist/assets/icons/dash-lg.svg.js +1 -1
- package/dist/assets/icons/exclamation-circle-fill.svg.js +1 -1
- package/dist/assets/icons/exclamation-triangle-fill.svg.js +1 -1
- package/dist/assets/icons/info-circle-fill.svg.js +1 -1
- package/dist/assets/icons/layout-sidebar.svg.js +1 -1
- package/dist/assets/icons/lightbulb-fill.svg.js +1 -1
- package/dist/assets/icons/lightbulb-off.svg.js +1 -1
- package/dist/assets/icons/lightbulb.svg.js +1 -1
- package/dist/assets/icons/mic-fill.svg.js +1 -1
- package/dist/assets/icons/mic-mute-fill.svg.js +1 -1
- package/dist/assets/icons/paperclip.svg.js +1 -1
- package/dist/assets/icons/pencil-square.svg.js +1 -1
- package/dist/assets/icons/plus-lg.svg.js +1 -1
- package/dist/assets/icons/search.svg.js +1 -1
- package/dist/assets/icons/speedometer.svg.js +1 -1
- package/dist/assets/icons/x-lg.svg.js +1 -1
- package/dist/assets/styles/dark.css +125 -125
- package/dist/assets/styles/dark.css.js +1 -1
- package/dist/assets/styles/light.css +126 -126
- package/dist/assets/styles/light.css.js +1 -1
- package/dist/components/BaseElement.styles.js +0 -1
- package/dist/components/divider/Divider.d.ts +25 -0
- package/dist/components/divider/Divider.js +89 -0
- package/dist/components/{split-panel/Splitter.styles.js → divider/Divider.styles.js} +20 -10
- package/dist/components/divider/index.d.ts +7 -0
- package/dist/components/icon/Icon.d.ts +3 -7
- package/dist/components/icon/Icon.js +8 -15
- package/dist/components/index.d.ts +1 -0
- package/dist/components/panel/Panel.d.ts +0 -1
- package/dist/components/panel/Panel.js +0 -4
- package/dist/components/progress-bar/ProgressBar.d.ts +1 -1
- package/dist/components/progress-ring/ProgressRing.js +3 -1
- package/dist/components/split-panel/SplitPanel.d.ts +8 -12
- package/dist/components/split-panel/SplitPanel.js +63 -88
- package/dist/components/split-panel/SplitPanel.styles.js +16 -1
- package/dist/components/tooltip/Tooltip.d.ts +8 -12
- package/dist/components/tooltip/Tooltip.js +39 -38
- package/dist/components/tooltip/Tooltip.styles.js +4 -4
- package/dist/components/tree/Tree.d.ts +2 -14
- package/dist/components/tree/Tree.js +9 -49
- package/dist/components/tree/Tree.styles.js +5 -5
- package/dist/components/tree-item/TreeItem.d.ts +10 -29
- package/dist/components/tree-item/TreeItem.js +63 -95
- package/dist/components/tree-item/TreeItem.styles.js +10 -41
- package/dist/index.js +1 -0
- package/dist/integrations/react/UDivider.d.ts +8 -0
- package/dist/integrations/react/UDivider.js +10 -0
- package/dist/integrations/react/index.d.ts +1 -0
- package/dist/integrations/react/index.js +1 -0
- package/dist/internals/icon-helpers.d.ts +32 -0
- package/dist/internals/{icons.js → icon-helpers.js} +10 -4
- package/dist/internals/index.d.ts +1 -1
- package/dist/utilities/theme.js +16 -13
- package/package.json +57 -57
- package/dist/components/split-panel/SplitPanel.types.d.ts +0 -2
- package/dist/components/split-panel/Splitter.d.ts +0 -17
- package/dist/components/split-panel/Splitter.js +0 -45
- package/dist/internals/icons.d.ts +0 -6
- /package/dist/components/{split-panel/Splitter.styles.d.ts → divider/Divider.styles.d.ts} +0 -0
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const dark = ":root[theme=\"dark\"] {\
|
|
1
|
+
const dark = ":root[theme=\"dark\"] {\n color-scheme: dark;\n\n /* Neutral Colors */\n --u-neutral-0: #000000;\n --u-neutral-50: #0A0A0A;\n --u-neutral-100: #121212;\n --u-neutral-200: #1E1E1E;\n --u-neutral-300: #2A2A2A;\n --u-neutral-400: #3D3D3D;\n --u-neutral-500: #525252;\n --u-neutral-600: #6E6E6E;\n --u-neutral-700: #8A8A8A;\n --u-neutral-800: #B0B0B0;\n --u-neutral-900: #D4D4D4;\n --u-neutral-1000: #FFFFFF;\n\n /* Blue Colors */\n --u-blue-0: #0A1E3D;\n --u-blue-100: #1E3A5F;\n --u-blue-200: #2B4F7E;\n --u-blue-300: #3D6B9E;\n --u-blue-400: #5284BE;\n --u-blue-500: #6BA3E3;\n --u-blue-600: #87B8F5;\n --u-blue-700: #A5CDFF;\n --u-blue-800: #C2DEFF;\n --u-blue-900: #DDEEFF;\n --u-blue-1000: #F0F7FF;\n\n /* Green Colors */\n --u-green-0: #0D2818;\n --u-green-100: #1A3F2A;\n --u-green-200: #285639;\n --u-green-300: #3A7450;\n --u-green-400: #4E9268;\n --u-green-500: #66B584;\n --u-green-600: #81D19D;\n --u-green-700: #9FE5B5;\n --u-green-800: #BEF2CD;\n --u-green-900: #DDF9E5;\n --u-green-1000: #F0FDF5;\n\n /* Yellow Colors */\n --u-yellow-0: #2E2200;\n --u-yellow-100: #4D3A00;\n --u-yellow-200: #6B5200;\n --u-yellow-300: #8A6B00;\n --u-yellow-400: #B08900;\n --u-yellow-500: #D4A712;\n --u-yellow-600: #F5C842;\n --u-yellow-700: #FFE066;\n --u-yellow-800: #FFED99;\n --u-yellow-900: #FFF5CC;\n --u-yellow-1000: #FFFBE6;\n\n /* Red Colors */\n --u-red-0: #2E0A0A;\n --u-red-100: #4D1717;\n --u-red-200: #6B2424;\n --u-red-300: #8F3535;\n --u-red-400: #B24848;\n --u-red-500: #D66060;\n --u-red-600: #F57878;\n --u-red-700: #FF9494;\n --u-red-800: #FFB3B3;\n --u-red-900: #FFD2D2;\n --u-red-1000: #FFF0F0;\n\n /* Shadow Colors */\n --u-shadow-weak: rgba(0, 0, 0, 0.15);\n --u-shadow-normal: rgba(0, 0, 0, 0.25);\n --u-shadow-medium: rgba(0, 0, 0, 0.35);\n --u-shadow-strong: rgba(0, 0, 0, 0.45);\n --u-shadow-heavy: rgba(0, 0, 0, 0.60);\n\n /* background Colors */\n --u-bg-color: var(--u-neutral-100);\n --u-bg-color-inverse: var(--u-neutral-0);\n --u-bg-color-hover: var(--u-neutral-300);\n --u-bg-color-active: var(--u-neutral-400);\n --u-bg-color-disabled: var(--u-neutral-200);\n \n --u-panel-bg-color: var(--u-neutral-200);\n --u-overlay-bg-color: rgba(0, 0, 0, 0.7);\n --u-tooltip-bg-color: rgba(255, 255, 255, 0.85);\n\n /* border Colors */\n --u-border-color: var(--u-neutral-400);\n --u-border-color-weak: var(--u-neutral-300);\n --u-border-color-strong: var(--u-neutral-500);\n\n --u-input-border-color: var(--u-neutral-400);\n --u-input-border-hover: var(--u-neutral-500);\n --u-input-border-focus: var(--u-blue-600);\n\n /* text Colors */\n --u-text-color: var(--u-neutral-900);\n --u-text-color-inverse: var(--u-neutral-100);\n --u-text-color-hover: var(--u-blue-600);\n --u-text-color-disabled: var(--u-neutral-500);\n\n --u-soft-text-color: var(--u-neutral-700);\n --u-strong-text-color: var(--u-neutral-1000);\n --u-link-text-color: var(--u-blue-700);\n --u-tooltip-text-color: var(--u-neutral-100);\n\n /* Icon Colors */\n --u-icon-color: var(--u-neutral-800);\n --u-icon-color-inverse: var(--u-neutral-100);\n --u-icon-color-hover: var(--u-blue-600);\n --u-icon-color-disabled: var(--u-neutral-500);\n\n /* Scrollbar Colors */\n --u-scrollbar-color: var(--u-neutral-500);\n --u-scrollbar-color-hover: var(--u-neutral-600);\n --u-scrollbar-track-color: transparent;\n\n /* Font Styles */\n --u-font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n --u-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace;\n --u-font-serif: 'Georgia', 'Times New Roman', Times, serif;\n --u-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;\n --u-font-modern: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n --u-font-rounded: 'Nunito', 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n}";
|
|
2
2
|
|
|
3
3
|
export { dark as default };
|
|
@@ -1,127 +1,127 @@
|
|
|
1
|
-
:root {
|
|
2
|
-
color-scheme: light;
|
|
3
|
-
|
|
4
|
-
/* Neutral Colors */
|
|
5
|
-
--u-neutral-0: #FFFFFF;
|
|
6
|
-
--u-neutral-50: #FAFAFA;
|
|
7
|
-
--u-neutral-100: #F5F5F5;
|
|
8
|
-
--u-neutral-200: #EEEEEE;
|
|
9
|
-
--u-neutral-300: #E0E0E0;
|
|
10
|
-
--u-neutral-400: #BDBDBD;
|
|
11
|
-
--u-neutral-500: #9E9E9E;
|
|
12
|
-
--u-neutral-600: #757575;
|
|
13
|
-
--u-neutral-700: #616161;
|
|
14
|
-
--u-neutral-800: #424242;
|
|
15
|
-
--u-neutral-900: #212121;
|
|
16
|
-
--u-neutral-1000: #000000;
|
|
17
|
-
|
|
18
|
-
/* Blue Colors */
|
|
19
|
-
--u-blue-0: #E3F2FD;
|
|
20
|
-
--u-blue-100: #BBDEFB;
|
|
21
|
-
--u-blue-200: #90CAF9;
|
|
22
|
-
--u-blue-300: #64B5F6;
|
|
23
|
-
--u-blue-400: #42A5F5;
|
|
24
|
-
--u-blue-500: #2196F3;
|
|
25
|
-
--u-blue-600: #1E88E5;
|
|
26
|
-
--u-blue-700: #1976D2;
|
|
27
|
-
--u-blue-800: #1565C0;
|
|
28
|
-
--u-blue-900: #0D47A1;
|
|
29
|
-
--u-blue-1000: #062A5E;
|
|
30
|
-
|
|
31
|
-
/* Green Colors */
|
|
32
|
-
--u-green-0: #E8F5E9;
|
|
33
|
-
--u-green-100: #C8E6C9;
|
|
34
|
-
--u-green-200: #A5D6A7;
|
|
35
|
-
--u-green-300: #81C784;
|
|
36
|
-
--u-green-400: #66BB6A;
|
|
37
|
-
--u-green-500: #4CAF50;
|
|
38
|
-
--u-green-600: #43A047;
|
|
39
|
-
--u-green-700: #388E3C;
|
|
40
|
-
--u-green-800: #2E7D32;
|
|
41
|
-
--u-green-900: #1B5E20;
|
|
42
|
-
--u-green-1000: #0F3A12;
|
|
43
|
-
|
|
44
|
-
/* Yellow Colors */
|
|
45
|
-
--u-yellow-0: #FFFDE7;
|
|
46
|
-
--u-yellow-100: #FFF9C4;
|
|
47
|
-
--u-yellow-200: #FFF59D;
|
|
48
|
-
--u-yellow-300: #FFF176;
|
|
49
|
-
--u-yellow-400: #FFEE58;
|
|
50
|
-
--u-yellow-500: #FFEB3B;
|
|
51
|
-
--u-yellow-600: #FDD835;
|
|
52
|
-
--u-yellow-700: #FBC02D;
|
|
53
|
-
--u-yellow-800: #F9A825;
|
|
54
|
-
--u-yellow-900: #F57F17;
|
|
55
|
-
--u-yellow-1000: #8A4A00;
|
|
56
|
-
|
|
57
|
-
/* Red Colors */
|
|
58
|
-
--u-red-0: #FFEBEE;
|
|
59
|
-
--u-red-100: #FFCDD2;
|
|
60
|
-
--u-red-200: #EF9A9A;
|
|
61
|
-
--u-red-300: #E57373;
|
|
62
|
-
--u-red-400: #EF5350;
|
|
63
|
-
--u-red-500: #F44336;
|
|
64
|
-
--u-red-600: #E53935;
|
|
65
|
-
--u-red-700: #D32F2F;
|
|
66
|
-
--u-red-800: #C62828;
|
|
67
|
-
--u-red-900: #B71C1C;
|
|
68
|
-
--u-red-1000: #6B0F0F;
|
|
69
|
-
|
|
70
|
-
/* Shadow Colors */
|
|
71
|
-
--u-shadow-weak: rgba(0, 0, 0, 0.04);
|
|
72
|
-
--u-shadow-normal: rgba(0, 0, 0, 0.08);
|
|
73
|
-
--u-shadow-medium: rgba(0, 0, 0, 0.12);
|
|
74
|
-
--u-shadow-strong: rgba(0, 0, 0, 0.16);
|
|
75
|
-
--u-shadow-heavy: rgba(0, 0, 0, 0.24);
|
|
76
|
-
|
|
77
|
-
/* background Colors */
|
|
78
|
-
--u-bg-color: var(--u-neutral-0);
|
|
79
|
-
--u-bg-color-inverse: var(--u-neutral-900);
|
|
80
|
-
--u-bg-color-hover: var(--u-neutral-100);
|
|
81
|
-
--u-bg-color-active: var(--u-neutral-200);
|
|
82
|
-
--u-bg-color-disabled: var(--u-neutral-50);
|
|
83
|
-
|
|
84
|
-
--u-panel-bg-color: var(--u-neutral-0);
|
|
85
|
-
--u-overlay-bg-color: rgba(0, 0, 0, 0.5);
|
|
86
|
-
--u-tooltip-bg-color: rgba(0, 0, 0, 0.75);
|
|
87
|
-
|
|
88
|
-
/* border Colors */
|
|
89
|
-
--u-border-color: var(--u-neutral-300);
|
|
90
|
-
--u-border-color-weak: var(--u-neutral-200);
|
|
91
|
-
--u-border-color-strong: var(--u-neutral-400);
|
|
92
|
-
|
|
93
|
-
--u-input-border-color: var(--u-neutral-300);
|
|
94
|
-
--u-input-border-hover: var(--u-neutral-400);
|
|
95
|
-
--u-input-border-focus: var(--u-blue-600);
|
|
96
|
-
|
|
97
|
-
/* text Colors */
|
|
98
|
-
--u-text-color: var(--u-neutral-900);
|
|
99
|
-
--u-text-color-inverse: var(--u-neutral-0);
|
|
100
|
-
--u-text-color-hover: var(--u-blue-600);
|
|
101
|
-
--u-text-color-active: var(--u-blue-600);
|
|
102
|
-
--u-text-color-disabled: var(--u-neutral-400);
|
|
103
|
-
|
|
104
|
-
--u-soft-text-color: var(--u-neutral-700);
|
|
105
|
-
--u-link-text-color: var(--u-blue-700);
|
|
106
|
-
--u-tooltip-text-color: var(--u-neutral-0);
|
|
107
|
-
|
|
108
|
-
/* Icon Colors */
|
|
109
|
-
--u-icon-color: var(--u-neutral-700);
|
|
110
|
-
--u-icon-color-inverse: var(--u-neutral-0);
|
|
111
|
-
--u-icon-color-hover: var(--u-blue-600);
|
|
112
|
-
--u-icon-color-active: var(--u-blue-600);
|
|
113
|
-
--u-icon-color-disabled: var(--u-neutral-400);
|
|
114
|
-
|
|
115
|
-
/* Scrollbar Colors */
|
|
116
|
-
--u-scrollbar-color: var(--u-neutral-400);
|
|
117
|
-
--u-scrollbar-color-hover: var(--u-neutral-500);
|
|
118
|
-
--u-scrollbar-track-color: transparent;
|
|
119
|
-
|
|
120
|
-
/* Font Styles */
|
|
121
|
-
--u-font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
|
|
122
|
-
--u-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace;
|
|
123
|
-
--u-font-serif: 'Georgia', 'Times New Roman', Times, serif;
|
|
124
|
-
--u-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
|
|
125
|
-
--u-font-modern: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
126
|
-
--u-font-rounded: 'Nunito', 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
1
|
+
:root {
|
|
2
|
+
color-scheme: light;
|
|
3
|
+
|
|
4
|
+
/* Neutral Colors */
|
|
5
|
+
--u-neutral-0: #FFFFFF;
|
|
6
|
+
--u-neutral-50: #FAFAFA;
|
|
7
|
+
--u-neutral-100: #F5F5F5;
|
|
8
|
+
--u-neutral-200: #EEEEEE;
|
|
9
|
+
--u-neutral-300: #E0E0E0;
|
|
10
|
+
--u-neutral-400: #BDBDBD;
|
|
11
|
+
--u-neutral-500: #9E9E9E;
|
|
12
|
+
--u-neutral-600: #757575;
|
|
13
|
+
--u-neutral-700: #616161;
|
|
14
|
+
--u-neutral-800: #424242;
|
|
15
|
+
--u-neutral-900: #212121;
|
|
16
|
+
--u-neutral-1000: #000000;
|
|
17
|
+
|
|
18
|
+
/* Blue Colors */
|
|
19
|
+
--u-blue-0: #E3F2FD;
|
|
20
|
+
--u-blue-100: #BBDEFB;
|
|
21
|
+
--u-blue-200: #90CAF9;
|
|
22
|
+
--u-blue-300: #64B5F6;
|
|
23
|
+
--u-blue-400: #42A5F5;
|
|
24
|
+
--u-blue-500: #2196F3;
|
|
25
|
+
--u-blue-600: #1E88E5;
|
|
26
|
+
--u-blue-700: #1976D2;
|
|
27
|
+
--u-blue-800: #1565C0;
|
|
28
|
+
--u-blue-900: #0D47A1;
|
|
29
|
+
--u-blue-1000: #062A5E;
|
|
30
|
+
|
|
31
|
+
/* Green Colors */
|
|
32
|
+
--u-green-0: #E8F5E9;
|
|
33
|
+
--u-green-100: #C8E6C9;
|
|
34
|
+
--u-green-200: #A5D6A7;
|
|
35
|
+
--u-green-300: #81C784;
|
|
36
|
+
--u-green-400: #66BB6A;
|
|
37
|
+
--u-green-500: #4CAF50;
|
|
38
|
+
--u-green-600: #43A047;
|
|
39
|
+
--u-green-700: #388E3C;
|
|
40
|
+
--u-green-800: #2E7D32;
|
|
41
|
+
--u-green-900: #1B5E20;
|
|
42
|
+
--u-green-1000: #0F3A12;
|
|
43
|
+
|
|
44
|
+
/* Yellow Colors */
|
|
45
|
+
--u-yellow-0: #FFFDE7;
|
|
46
|
+
--u-yellow-100: #FFF9C4;
|
|
47
|
+
--u-yellow-200: #FFF59D;
|
|
48
|
+
--u-yellow-300: #FFF176;
|
|
49
|
+
--u-yellow-400: #FFEE58;
|
|
50
|
+
--u-yellow-500: #FFEB3B;
|
|
51
|
+
--u-yellow-600: #FDD835;
|
|
52
|
+
--u-yellow-700: #FBC02D;
|
|
53
|
+
--u-yellow-800: #F9A825;
|
|
54
|
+
--u-yellow-900: #F57F17;
|
|
55
|
+
--u-yellow-1000: #8A4A00;
|
|
56
|
+
|
|
57
|
+
/* Red Colors */
|
|
58
|
+
--u-red-0: #FFEBEE;
|
|
59
|
+
--u-red-100: #FFCDD2;
|
|
60
|
+
--u-red-200: #EF9A9A;
|
|
61
|
+
--u-red-300: #E57373;
|
|
62
|
+
--u-red-400: #EF5350;
|
|
63
|
+
--u-red-500: #F44336;
|
|
64
|
+
--u-red-600: #E53935;
|
|
65
|
+
--u-red-700: #D32F2F;
|
|
66
|
+
--u-red-800: #C62828;
|
|
67
|
+
--u-red-900: #B71C1C;
|
|
68
|
+
--u-red-1000: #6B0F0F;
|
|
69
|
+
|
|
70
|
+
/* Shadow Colors */
|
|
71
|
+
--u-shadow-weak: rgba(0, 0, 0, 0.04);
|
|
72
|
+
--u-shadow-normal: rgba(0, 0, 0, 0.08);
|
|
73
|
+
--u-shadow-medium: rgba(0, 0, 0, 0.12);
|
|
74
|
+
--u-shadow-strong: rgba(0, 0, 0, 0.16);
|
|
75
|
+
--u-shadow-heavy: rgba(0, 0, 0, 0.24);
|
|
76
|
+
|
|
77
|
+
/* background Colors */
|
|
78
|
+
--u-bg-color: var(--u-neutral-0);
|
|
79
|
+
--u-bg-color-inverse: var(--u-neutral-900);
|
|
80
|
+
--u-bg-color-hover: var(--u-neutral-100);
|
|
81
|
+
--u-bg-color-active: var(--u-neutral-200);
|
|
82
|
+
--u-bg-color-disabled: var(--u-neutral-50);
|
|
83
|
+
|
|
84
|
+
--u-panel-bg-color: var(--u-neutral-0);
|
|
85
|
+
--u-overlay-bg-color: rgba(0, 0, 0, 0.5);
|
|
86
|
+
--u-tooltip-bg-color: rgba(0, 0, 0, 0.75);
|
|
87
|
+
|
|
88
|
+
/* border Colors */
|
|
89
|
+
--u-border-color: var(--u-neutral-300);
|
|
90
|
+
--u-border-color-weak: var(--u-neutral-200);
|
|
91
|
+
--u-border-color-strong: var(--u-neutral-400);
|
|
92
|
+
|
|
93
|
+
--u-input-border-color: var(--u-neutral-300);
|
|
94
|
+
--u-input-border-hover: var(--u-neutral-400);
|
|
95
|
+
--u-input-border-focus: var(--u-blue-600);
|
|
96
|
+
|
|
97
|
+
/* text Colors */
|
|
98
|
+
--u-text-color: var(--u-neutral-900);
|
|
99
|
+
--u-text-color-inverse: var(--u-neutral-0);
|
|
100
|
+
--u-text-color-hover: var(--u-blue-600);
|
|
101
|
+
--u-text-color-active: var(--u-blue-600);
|
|
102
|
+
--u-text-color-disabled: var(--u-neutral-400);
|
|
103
|
+
|
|
104
|
+
--u-soft-text-color: var(--u-neutral-700);
|
|
105
|
+
--u-link-text-color: var(--u-blue-700);
|
|
106
|
+
--u-tooltip-text-color: var(--u-neutral-0);
|
|
107
|
+
|
|
108
|
+
/* Icon Colors */
|
|
109
|
+
--u-icon-color: var(--u-neutral-700);
|
|
110
|
+
--u-icon-color-inverse: var(--u-neutral-0);
|
|
111
|
+
--u-icon-color-hover: var(--u-blue-600);
|
|
112
|
+
--u-icon-color-active: var(--u-blue-600);
|
|
113
|
+
--u-icon-color-disabled: var(--u-neutral-400);
|
|
114
|
+
|
|
115
|
+
/* Scrollbar Colors */
|
|
116
|
+
--u-scrollbar-color: var(--u-neutral-400);
|
|
117
|
+
--u-scrollbar-color-hover: var(--u-neutral-500);
|
|
118
|
+
--u-scrollbar-track-color: transparent;
|
|
119
|
+
|
|
120
|
+
/* Font Styles */
|
|
121
|
+
--u-font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';
|
|
122
|
+
--u-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace;
|
|
123
|
+
--u-font-serif: 'Georgia', 'Times New Roman', Times, serif;
|
|
124
|
+
--u-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;
|
|
125
|
+
--u-font-modern: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
126
|
+
--u-font-rounded: 'Nunito', 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
|
|
127
127
|
}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
const light = ":root {\
|
|
1
|
+
const light = ":root {\n color-scheme: light;\n\n /* Neutral Colors */\n --u-neutral-0: #FFFFFF;\n --u-neutral-50: #FAFAFA;\n --u-neutral-100: #F5F5F5;\n --u-neutral-200: #EEEEEE;\n --u-neutral-300: #E0E0E0;\n --u-neutral-400: #BDBDBD;\n --u-neutral-500: #9E9E9E;\n --u-neutral-600: #757575;\n --u-neutral-700: #616161;\n --u-neutral-800: #424242;\n --u-neutral-900: #212121;\n --u-neutral-1000: #000000;\n\n /* Blue Colors */\n --u-blue-0: #E3F2FD;\n --u-blue-100: #BBDEFB;\n --u-blue-200: #90CAF9;\n --u-blue-300: #64B5F6;\n --u-blue-400: #42A5F5;\n --u-blue-500: #2196F3;\n --u-blue-600: #1E88E5;\n --u-blue-700: #1976D2;\n --u-blue-800: #1565C0;\n --u-blue-900: #0D47A1;\n --u-blue-1000: #062A5E;\n\n /* Green Colors */\n --u-green-0: #E8F5E9;\n --u-green-100: #C8E6C9;\n --u-green-200: #A5D6A7;\n --u-green-300: #81C784;\n --u-green-400: #66BB6A;\n --u-green-500: #4CAF50;\n --u-green-600: #43A047;\n --u-green-700: #388E3C;\n --u-green-800: #2E7D32;\n --u-green-900: #1B5E20;\n --u-green-1000: #0F3A12;\n\n /* Yellow Colors */\n --u-yellow-0: #FFFDE7;\n --u-yellow-100: #FFF9C4;\n --u-yellow-200: #FFF59D;\n --u-yellow-300: #FFF176;\n --u-yellow-400: #FFEE58;\n --u-yellow-500: #FFEB3B;\n --u-yellow-600: #FDD835;\n --u-yellow-700: #FBC02D;\n --u-yellow-800: #F9A825;\n --u-yellow-900: #F57F17;\n --u-yellow-1000: #8A4A00;\n\n /* Red Colors */\n --u-red-0: #FFEBEE;\n --u-red-100: #FFCDD2;\n --u-red-200: #EF9A9A;\n --u-red-300: #E57373;\n --u-red-400: #EF5350;\n --u-red-500: #F44336;\n --u-red-600: #E53935;\n --u-red-700: #D32F2F;\n --u-red-800: #C62828;\n --u-red-900: #B71C1C;\n --u-red-1000: #6B0F0F;\n\n /* Shadow Colors */\n --u-shadow-weak: rgba(0, 0, 0, 0.04);\n --u-shadow-normal: rgba(0, 0, 0, 0.08);\n --u-shadow-medium: rgba(0, 0, 0, 0.12);\n --u-shadow-strong: rgba(0, 0, 0, 0.16);\n --u-shadow-heavy: rgba(0, 0, 0, 0.24);\n\n /* background Colors */\n --u-bg-color: var(--u-neutral-0);\n --u-bg-color-inverse: var(--u-neutral-900);\n --u-bg-color-hover: var(--u-neutral-100);\n --u-bg-color-active: var(--u-neutral-200);\n --u-bg-color-disabled: var(--u-neutral-50);\n \n --u-panel-bg-color: var(--u-neutral-0);\n --u-overlay-bg-color: rgba(0, 0, 0, 0.5);\n --u-tooltip-bg-color: rgba(0, 0, 0, 0.75);\n\n /* border Colors */\n --u-border-color: var(--u-neutral-300);\n --u-border-color-weak: var(--u-neutral-200);\n --u-border-color-strong: var(--u-neutral-400);\n\n --u-input-border-color: var(--u-neutral-300);\n --u-input-border-hover: var(--u-neutral-400);\n --u-input-border-focus: var(--u-blue-600);\n\n /* text Colors */\n --u-text-color: var(--u-neutral-900);\n --u-text-color-inverse: var(--u-neutral-0);\n --u-text-color-hover: var(--u-blue-600);\n --u-text-color-active: var(--u-blue-600);\n --u-text-color-disabled: var(--u-neutral-400);\n \n --u-soft-text-color: var(--u-neutral-700);\n --u-link-text-color: var(--u-blue-700);\n --u-tooltip-text-color: var(--u-neutral-0);\n\n /* Icon Colors */\n --u-icon-color: var(--u-neutral-700);\n --u-icon-color-inverse: var(--u-neutral-0);\n --u-icon-color-hover: var(--u-blue-600);\n --u-icon-color-active: var(--u-blue-600);\n --u-icon-color-disabled: var(--u-neutral-400);\n\n /* Scrollbar Colors */\n --u-scrollbar-color: var(--u-neutral-400);\n --u-scrollbar-color-hover: var(--u-neutral-500);\n --u-scrollbar-track-color: transparent;\n\n /* Font Styles */\n --u-font-base: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji';\n --u-font-mono: ui-monospace, 'Cascadia Code', 'Source Code Pro', Menlo, Monaco, 'Courier New', monospace;\n --u-font-serif: 'Georgia', 'Times New Roman', Times, serif;\n --u-font-display: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Noto Sans', Helvetica, Arial, sans-serif;\n --u-font-modern: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n --u-font-rounded: 'Nunito', 'Quicksand', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;\n}";
|
|
2
2
|
|
|
3
3
|
export { light as default };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { nothing } from 'lit';
|
|
2
|
+
import { BaseElement } from '../BaseElement.js';
|
|
3
|
+
/**
|
|
4
|
+
* Divider 컴포넌트는 엘리먼트 사이에 드래그 가능한 구분선을 표시합니다.
|
|
5
|
+
*/
|
|
6
|
+
export declare class Divider extends BaseElement {
|
|
7
|
+
static styles: import('lit').CSSResultGroup[];
|
|
8
|
+
static dependencies: Record<string, typeof BaseElement>;
|
|
9
|
+
/** 마지막 마우스 위치를 저장합니다. */
|
|
10
|
+
private position;
|
|
11
|
+
/** 드래그 중인지 여부를 나타냅니다. */
|
|
12
|
+
dragging: boolean;
|
|
13
|
+
/** 드래그 가능 여부를 설정합니다. */
|
|
14
|
+
draggable: boolean;
|
|
15
|
+
/** 분할 방향을 설정합니다. */
|
|
16
|
+
orientation: 'horizontal' | 'vertical';
|
|
17
|
+
disconnectedCallback(): void;
|
|
18
|
+
render(): typeof nothing | import('lit-html').TemplateResult<1>;
|
|
19
|
+
/** 마우스 다운 이벤트 핸들러 */
|
|
20
|
+
private handleMouseDown;
|
|
21
|
+
/** 마우스 무브 이벤트 핸들러 */
|
|
22
|
+
private handleMouseMove;
|
|
23
|
+
/** 마우스 업 이벤트 핸들러 */
|
|
24
|
+
private handleMouseUp;
|
|
25
|
+
}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
import { html, nothing } from 'lit';
|
|
2
|
+
import { state, property } from 'lit/decorators.js';
|
|
3
|
+
import { BaseElement } from '../BaseElement.js';
|
|
4
|
+
import { styles } from './Divider.styles.js';
|
|
5
|
+
|
|
6
|
+
var __defProp = Object.defineProperty;
|
|
7
|
+
var __decorateClass = (decorators, target, key, kind) => {
|
|
8
|
+
var result = void 0 ;
|
|
9
|
+
for (var i = decorators.length - 1, decorator; i >= 0; i--)
|
|
10
|
+
if (decorator = decorators[i])
|
|
11
|
+
result = (decorator(target, key, result) ) || result;
|
|
12
|
+
if (result) __defProp(target, key, result);
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
class Divider extends BaseElement {
|
|
16
|
+
constructor() {
|
|
17
|
+
super(...arguments);
|
|
18
|
+
/** 마지막 마우스 위치를 저장합니다. */
|
|
19
|
+
this.position = 0;
|
|
20
|
+
this.dragging = false;
|
|
21
|
+
this.draggable = false;
|
|
22
|
+
this.orientation = "horizontal";
|
|
23
|
+
/** 마우스 다운 이벤트 핸들러 */
|
|
24
|
+
this.handleMouseDown = (e) => {
|
|
25
|
+
e.preventDefault();
|
|
26
|
+
this.dragging = true;
|
|
27
|
+
this.position = this.orientation === "horizontal" ? e.clientX : e.clientY;
|
|
28
|
+
this.emit("u-dragstart");
|
|
29
|
+
document.addEventListener("mousemove", this.handleMouseMove);
|
|
30
|
+
document.addEventListener("mouseup", this.handleMouseUp);
|
|
31
|
+
document.body.style.userSelect = "none";
|
|
32
|
+
document.body.style.cursor = this.orientation === "horizontal" ? "col-resize" : "row-resize";
|
|
33
|
+
};
|
|
34
|
+
/** 마우스 무브 이벤트 핸들러 */
|
|
35
|
+
this.handleMouseMove = (e) => {
|
|
36
|
+
if (!this.dragging) return;
|
|
37
|
+
e.preventDefault();
|
|
38
|
+
const position = this.orientation === "horizontal" ? e.clientX : e.clientY;
|
|
39
|
+
const delta = position - this.position;
|
|
40
|
+
this.emit("u-drag", { delta });
|
|
41
|
+
this.position = position;
|
|
42
|
+
};
|
|
43
|
+
/** 마우스 업 이벤트 핸들러 */
|
|
44
|
+
this.handleMouseUp = (_) => {
|
|
45
|
+
if (!this.dragging) return;
|
|
46
|
+
this.dragging = false;
|
|
47
|
+
this.emit("u-dragend");
|
|
48
|
+
document.removeEventListener("mousemove", this.handleMouseMove);
|
|
49
|
+
document.removeEventListener("mouseup", this.handleMouseUp);
|
|
50
|
+
document.body.style.userSelect = "";
|
|
51
|
+
document.body.style.cursor = "";
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
static {
|
|
55
|
+
this.styles = [super.styles, styles];
|
|
56
|
+
}
|
|
57
|
+
static {
|
|
58
|
+
this.dependencies = {};
|
|
59
|
+
}
|
|
60
|
+
disconnectedCallback() {
|
|
61
|
+
super.disconnectedCallback();
|
|
62
|
+
document.removeEventListener("mousemove", this.handleMouseMove);
|
|
63
|
+
document.removeEventListener("mouseup", this.handleMouseUp);
|
|
64
|
+
}
|
|
65
|
+
render() {
|
|
66
|
+
if (this.draggable) {
|
|
67
|
+
return html`
|
|
68
|
+
<div class="handler"
|
|
69
|
+
?dragging=${this.dragging}
|
|
70
|
+
orientation=${this.orientation}
|
|
71
|
+
@mousedown=${this.handleMouseDown}
|
|
72
|
+
></div>
|
|
73
|
+
`;
|
|
74
|
+
} else {
|
|
75
|
+
return nothing;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
__decorateClass([
|
|
80
|
+
state()
|
|
81
|
+
], Divider.prototype, "dragging");
|
|
82
|
+
__decorateClass([
|
|
83
|
+
property({ type: Boolean, reflect: true })
|
|
84
|
+
], Divider.prototype, "draggable");
|
|
85
|
+
__decorateClass([
|
|
86
|
+
property({ type: String, reflect: true })
|
|
87
|
+
], Divider.prototype, "orientation");
|
|
88
|
+
|
|
89
|
+
export { Divider };
|
|
@@ -6,36 +6,46 @@ const styles = css`
|
|
|
6
6
|
display: block;
|
|
7
7
|
flex-shrink: 0;
|
|
8
8
|
background-color: var(--u-neutral-200, #e5e7eb);
|
|
9
|
-
transition: background-color 0.2s ease;
|
|
10
9
|
|
|
11
|
-
--
|
|
12
|
-
--handler-size:
|
|
10
|
+
--divider-size: 2px;
|
|
11
|
+
--handler-size: 4px;
|
|
13
12
|
--handler-color: var(--u-blue-500, #3b82f6);
|
|
14
13
|
}
|
|
15
14
|
:host([orientation="horizontal"]) {
|
|
16
|
-
width: var(--
|
|
15
|
+
width: var(--divider-size, 2px);
|
|
17
16
|
height: 100%;
|
|
18
17
|
cursor: col-resize;
|
|
19
18
|
}
|
|
20
19
|
:host([orientation="vertical"]) {
|
|
21
20
|
width: 100%;
|
|
22
|
-
height: var(--
|
|
21
|
+
height: var(--divider-size, 2px);
|
|
23
22
|
cursor: row-resize;
|
|
24
23
|
}
|
|
25
24
|
|
|
26
25
|
.handler {
|
|
27
26
|
position: absolute;
|
|
28
27
|
z-index: 100;
|
|
29
|
-
top: 50%;
|
|
30
|
-
left: 50%;
|
|
31
|
-
transform: translate(-50%, -50%);
|
|
32
28
|
display: block;
|
|
33
|
-
width: 300%;
|
|
34
|
-
height: 300%;
|
|
35
29
|
background-color: var(--handler-color, #3b82f6);
|
|
36
30
|
opacity: 0;
|
|
37
31
|
transition: opacity 0.2s ease;
|
|
38
32
|
}
|
|
33
|
+
.handler[orientation="horizontal"] {
|
|
34
|
+
top: 0;
|
|
35
|
+
bottom: 0;
|
|
36
|
+
left: 50%;
|
|
37
|
+
transform: translateX(-50%);
|
|
38
|
+
width: var(--handler-size, 4px);
|
|
39
|
+
height: 100%;
|
|
40
|
+
}
|
|
41
|
+
.handler[orientation="vertical"] {
|
|
42
|
+
left: 0;
|
|
43
|
+
right: 0;
|
|
44
|
+
top: 50%;
|
|
45
|
+
transform: translateY(-50%);
|
|
46
|
+
width: 100%;
|
|
47
|
+
height: var(--handler-size, 4px);
|
|
48
|
+
}
|
|
39
49
|
.handler[dragging],
|
|
40
50
|
.handler:hover {
|
|
41
51
|
opacity: 1;
|
|
@@ -6,13 +6,9 @@ export declare class Icon extends BaseElement {
|
|
|
6
6
|
static styles: import('lit').CSSResultGroup[];
|
|
7
7
|
static dependencies: Record<string, typeof BaseElement>;
|
|
8
8
|
/**
|
|
9
|
-
* 아이콘을
|
|
10
|
-
*
|
|
11
|
-
|
|
12
|
-
static remoteBaseUrl: string;
|
|
13
|
-
/**
|
|
14
|
-
* 아이콘을 외부에서 로드할때 사용하는 설정입니다.
|
|
15
|
-
* @see {@link Icon.remoteBaseUrl}에서 외부 기본 경로를 설정할 수 있습니다.
|
|
9
|
+
* 아이콘을 원격 경로에서 로드할지 여부입니다.
|
|
10
|
+
* - `false`(기본): 번들된 내부 아이콘 레지스트리(`iconBundle`)에서 아이콘을 찾습니다.
|
|
11
|
+
* - `true` : `getBaseUrl()`을 기준으로 원격 SVG 파일을 fetch 합니다.
|
|
16
12
|
* @default false
|
|
17
13
|
*/
|
|
18
14
|
remote: boolean;
|
|
@@ -3,7 +3,7 @@ import { property } from 'lit/decorators.js';
|
|
|
3
3
|
import { unsafeHTML } from 'lit/directives/unsafe-html.js';
|
|
4
4
|
import { until } from 'lit/directives/until.js';
|
|
5
5
|
import { BaseElement } from '../BaseElement.js';
|
|
6
|
-
import {
|
|
6
|
+
import { getBaseUrl, iconBundle } from '../../internals/icon-helpers.js';
|
|
7
7
|
import { styles } from './Icon.styles.js';
|
|
8
8
|
|
|
9
9
|
var __defProp = Object.defineProperty;
|
|
@@ -15,7 +15,7 @@ var __decorateClass = (decorators, target, key, kind) => {
|
|
|
15
15
|
if (result) __defProp(target, key, result);
|
|
16
16
|
return result;
|
|
17
17
|
};
|
|
18
|
-
|
|
18
|
+
class Icon extends BaseElement {
|
|
19
19
|
constructor() {
|
|
20
20
|
super(...arguments);
|
|
21
21
|
this.remote = false;
|
|
@@ -26,13 +26,6 @@ const _Icon = class _Icon extends BaseElement {
|
|
|
26
26
|
static {
|
|
27
27
|
this.dependencies = {};
|
|
28
28
|
}
|
|
29
|
-
static {
|
|
30
|
-
/**
|
|
31
|
-
* 아이콘을 외부에서 불러올 때 사용되는 기본 경로를 설정합니다.
|
|
32
|
-
* @default '/assets/icons/'
|
|
33
|
-
*/
|
|
34
|
-
this.remoteBaseUrl = "/assets/icons/";
|
|
35
|
-
}
|
|
36
29
|
render() {
|
|
37
30
|
if (!this.name) return nothing;
|
|
38
31
|
return until(this.load(this.name).then((html) => {
|
|
@@ -47,7 +40,8 @@ const _Icon = class _Icon extends BaseElement {
|
|
|
47
40
|
*/
|
|
48
41
|
async load(name) {
|
|
49
42
|
if (this.remote) {
|
|
50
|
-
const
|
|
43
|
+
const baseUrl = getBaseUrl();
|
|
44
|
+
const remoteUrl = baseUrl.endsWith("/") ? `${baseUrl}${name}.svg` : `${baseUrl}/${name}.svg`;
|
|
51
45
|
try {
|
|
52
46
|
const response = await fetch(remoteUrl);
|
|
53
47
|
if (!response.ok) return void 0;
|
|
@@ -57,7 +51,7 @@ const _Icon = class _Icon extends BaseElement {
|
|
|
57
51
|
return void 0;
|
|
58
52
|
}
|
|
59
53
|
} else {
|
|
60
|
-
return
|
|
54
|
+
return iconBundle.get(name)?.trim();
|
|
61
55
|
}
|
|
62
56
|
}
|
|
63
57
|
/**
|
|
@@ -68,13 +62,12 @@ const _Icon = class _Icon extends BaseElement {
|
|
|
68
62
|
if (!html.endsWith("</svg>")) return false;
|
|
69
63
|
return true;
|
|
70
64
|
}
|
|
71
|
-
}
|
|
65
|
+
}
|
|
72
66
|
__decorateClass([
|
|
73
67
|
property({ type: Boolean })
|
|
74
|
-
],
|
|
68
|
+
], Icon.prototype, "remote");
|
|
75
69
|
__decorateClass([
|
|
76
70
|
property({ type: String })
|
|
77
|
-
],
|
|
78
|
-
let Icon = _Icon;
|
|
71
|
+
], Icon.prototype, "name");
|
|
79
72
|
|
|
80
73
|
export { Icon };
|
|
@@ -5,6 +5,5 @@ import { BaseElement } from '../BaseElement.js';
|
|
|
5
5
|
export declare class Panel extends BaseElement {
|
|
6
6
|
static styles: import('lit').CSSResultGroup[];
|
|
7
7
|
static dependencies: Record<string, typeof BaseElement>;
|
|
8
|
-
connectedCallback(): void;
|
|
9
8
|
render(): import('lit-html').TemplateResult<1>;
|
|
10
9
|
}
|
|
@@ -64,7 +64,9 @@ class ProgressRing extends BaseElement {
|
|
|
64
64
|
mask="url(#progress-mask)"
|
|
65
65
|
></circle>
|
|
66
66
|
</svg>
|
|
67
|
-
<div class="label" part="label"
|
|
67
|
+
<div class="label" part="label">
|
|
68
|
+
${Math.round(this.progress * 100)}%
|
|
69
|
+
</div>
|
|
68
70
|
`;
|
|
69
71
|
}
|
|
70
72
|
/**
|