@loword/loword-design-system 0.0.5 → 0.0.7

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.
Files changed (74) hide show
  1. package/dist/components/Icon/LucideIcon.d.ts.map +1 -1
  2. package/dist/components/Icon/LucideIcon.js +9 -1
  3. package/dist/components/LDAnchor/AnchorBase.d.ts +24 -0
  4. package/dist/components/LDAnchor/AnchorBase.d.ts.map +1 -0
  5. package/dist/components/LDAnchor/AnchorBase.js +69 -0
  6. package/dist/components/LDAnchor/LDAnchor.d.ts +10 -0
  7. package/dist/components/LDAnchor/LDAnchor.d.ts.map +1 -0
  8. package/dist/components/LDAnchor/LDAnchor.js +14 -0
  9. package/dist/components/LDAutoComplete/AutoCompleteBase.d.ts +36 -0
  10. package/dist/components/LDAutoComplete/AutoCompleteBase.d.ts.map +1 -0
  11. package/dist/components/LDAutoComplete/AutoCompleteBase.js +175 -0
  12. package/dist/components/LDAutoComplete/LDAutoComplete.d.ts +19 -0
  13. package/dist/components/LDAutoComplete/LDAutoComplete.d.ts.map +1 -0
  14. package/dist/components/LDAutoComplete/LDAutoComplete.js +7 -0
  15. package/dist/components/LDEditor/EditorBase.js +1 -1
  16. package/dist/components/LDEditor/LDEditor.d.ts.map +1 -1
  17. package/dist/components/LDEditor/LDEditor.js +1 -1
  18. package/dist/components/LDFileUpload/FileUploadBase.d.ts +52 -0
  19. package/dist/components/LDFileUpload/FileUploadBase.d.ts.map +1 -0
  20. package/dist/components/LDFileUpload/FileUploadBase.js +186 -0
  21. package/dist/components/LDFileUpload/LDFileUpload.d.ts +16 -0
  22. package/dist/components/LDFileUpload/LDFileUpload.d.ts.map +1 -0
  23. package/dist/components/LDFileUpload/LDFileUpload.js +8 -0
  24. package/dist/components/LDFileUpload/LDFileUploadList.d.ts +17 -0
  25. package/dist/components/LDFileUpload/LDFileUploadList.d.ts.map +1 -0
  26. package/dist/components/LDFileUpload/LDFileUploadList.js +8 -0
  27. package/dist/components/LDFileUpload/LDImageUpload.d.ts +16 -0
  28. package/dist/components/LDFileUpload/LDImageUpload.d.ts.map +1 -0
  29. package/dist/components/LDFileUpload/LDImageUpload.js +8 -0
  30. package/dist/components/LDFileUpload/LDImageUploadList.d.ts +17 -0
  31. package/dist/components/LDFileUpload/LDImageUploadList.d.ts.map +1 -0
  32. package/dist/components/LDFileUpload/LDImageUploadList.js +8 -0
  33. package/dist/components/LDInput/LDInput.d.ts +2 -1
  34. package/dist/components/LDInput/LDInput.d.ts.map +1 -1
  35. package/dist/components/LDInput/LDInput.js +6 -6
  36. package/dist/constants/file.d.ts +1 -0
  37. package/dist/constants/file.d.ts.map +1 -1
  38. package/dist/constants/file.js +1 -0
  39. package/dist/index.css +248 -4
  40. package/dist/index.d.ts +8 -2
  41. package/dist/index.d.ts.map +1 -1
  42. package/dist/index.js +10 -2
  43. package/dist/utils/file.d.ts +2 -0
  44. package/dist/utils/file.d.ts.map +1 -1
  45. package/dist/utils/file.js +35 -2
  46. package/package.json +5 -2
  47. package/src/styles/carousel.css +9 -0
  48. package/src/styles/color.css +185 -0
  49. package/src/styles/components/auto-complete.css +72 -0
  50. package/src/styles/components/badge.css +41 -0
  51. package/src/styles/components/bread-crumb.css +23 -0
  52. package/src/styles/components/button.css +183 -0
  53. package/src/styles/components/editor.css +147 -0
  54. package/src/styles/components/icon.css +29 -0
  55. package/src/styles/components/index.css +10 -0
  56. package/src/styles/components/input.css +52 -0
  57. package/src/styles/components/modal.css +25 -0
  58. package/src/styles/components/shared.css +52 -0
  59. package/src/styles/components/spinner.css +38 -0
  60. package/src/styles/focus.css +12 -0
  61. package/src/styles/gradient.css +41 -0
  62. package/src/styles/layout.css +19 -0
  63. package/src/styles/motion.css +235 -0
  64. package/src/styles/radius.css +8 -0
  65. package/src/styles/responsive.css +42 -0
  66. package/src/styles/scrollbar.css +59 -0
  67. package/src/styles/slider.css +65 -0
  68. package/src/styles/spacing.css +592 -0
  69. package/src/styles/text-utils.css +7 -0
  70. package/src/styles/typography.css +171 -0
  71. package/src/theme.css +19 -0
  72. package/dist/components/LDFileUpload/LDFileUploadBase.d.ts +0 -50
  73. package/dist/components/LDFileUpload/LDFileUploadBase.d.ts.map +0 -1
  74. package/dist/components/LDFileUpload/LDFileUploadBase.js +0 -102
@@ -0,0 +1,9 @@
1
+ .ld-carousel__viewport {
2
+ overflow: hidden;
3
+ }
4
+
5
+ /* 세로 방향 캐러셀은 viewport에 높이가 필요합니다.
6
+ 소비자가 viewportClassName 또는 height 스타일로 지정합니다. */
7
+ .ld-carousel__viewport > * {
8
+ height: 100%;
9
+ }
@@ -0,0 +1,185 @@
1
+ @theme {
2
+ --color-scheme: light;
3
+
4
+ /* absolute */
5
+ --color-white: #ffffff;
6
+ --color-black: #000000;
7
+
8
+ /* hyper */
9
+ --color-hyper-blue: #0066ff;
10
+
11
+ /* mono (grayscale) */
12
+ --color-mono50: #f6f7f9;
13
+ --color-mono100: #f0f0f0;
14
+ --color-mono200: #ebebeb;
15
+ --color-mono300: #dadada;
16
+ --color-mono400: #aaaaaa;
17
+ --color-mono500: #7c7c7c;
18
+ --color-mono600: #5c5c5c;
19
+ --color-mono700: #4e4e4e;
20
+ --color-mono800: #2a2a2a;
21
+ --color-mono900: #111111;
22
+
23
+ /* neutral (cool gray) */
24
+ --color-neutral50: #fafafa;
25
+ --color-neutral100: #e3e6ea;
26
+ --color-neutral200: #cdd2d7;
27
+ --color-neutral300: #b7bbbf;
28
+ --color-neutral400: #9da3a9;
29
+ --color-neutral500: #848a92;
30
+ --color-neutral600: #6a7079;
31
+ --color-neutral700: #535a64;
32
+ --color-neutral800: #3a3f46;
33
+ --color-neutral900: #191f28;
34
+
35
+ /* blue (primary palette) */
36
+ --color-blue50: #ccd9ff;
37
+ --color-blue100: #b8c9ff;
38
+ --color-blue200: #8fabff;
39
+ --color-blue300: #5c85ff;
40
+ --color-blue400: #2158fd;
41
+ --color-blue500: #003fff;
42
+ --color-blue600: #0033cc;
43
+ --color-blue700: #002699;
44
+ --color-blue800: #011960;
45
+ --color-blue900: #000a29;
46
+
47
+ /* red */
48
+ --color-red50: #ffdbdb;
49
+ --color-red100: #ffbdbd;
50
+ --color-red200: #ff9494;
51
+ --color-red300: #ff7575;
52
+ --color-red400: #ff5a5a;
53
+ --color-red500: #ff4747;
54
+ --color-red600: #ff2e2e;
55
+ --color-red700: #ff0404;
56
+ --color-red800: #c70000;
57
+ --color-red900: #7b0000;
58
+
59
+ /* orange */
60
+ --color-orange50: #ffe8dd;
61
+ --color-orange100: #ffd4c4;
62
+ --color-orange200: #ffb699;
63
+ --color-orange300: #ff9166;
64
+ --color-orange400: #ff7a33;
65
+ --color-orange500: #ff6a00;
66
+ --color-orange600: #ff530f;
67
+ --color-orange700: #e64500;
68
+ --color-orange800: #cc3a00;
69
+ --color-orange900: #802300;
70
+
71
+ /* yellow */
72
+ --color-yellow50: #fff8e0;
73
+ --color-yellow100: #fff3cc;
74
+ --color-yellow200: #ffedb3;
75
+ --color-yellow300: #fce392;
76
+ --color-yellow400: #ffdc6b;
77
+ --color-yellow500: #ffd23d;
78
+ --color-yellow600: #ffcc24;
79
+ --color-yellow700: #f0ac00;
80
+ --color-yellow800: #c58e02;
81
+ --color-yellow900: #856403;
82
+
83
+ /* green */
84
+ --color-green50: #e6ffee;
85
+ --color-green100: #c2ffd5;
86
+ --color-green200: #8effae;
87
+ --color-green300: #52ff89;
88
+ --color-green400: #25f968;
89
+ --color-green500: #00f34c;
90
+ --color-green600: #00de47;
91
+ --color-green700: #00cc41;
92
+ --color-green800: #008f2d;
93
+ --color-green900: #004717;
94
+
95
+ /* pink */
96
+ --color-pink50: #fcf2f8;
97
+ --color-pink100: #fde0ef;
98
+ --color-pink200: #fbb9db;
99
+ --color-pink300: #ff78cb;
100
+ --color-pink400: #ff52d0;
101
+ --color-pink500: #ff33d3;
102
+ --color-pink600: #e61eb8;
103
+ --color-pink700: #c2128f;
104
+ --color-pink800: #930e6d;
105
+ --color-pink900: #5a0744;
106
+
107
+ /* purple */
108
+ --color-purple50: #f1e3ff;
109
+ --color-purple100: #deb3ff;
110
+ --color-purple200: #c78ef0;
111
+ --color-purple300: #b06be0;
112
+ --color-purple400: #9069c2;
113
+ --color-purple500: #7b40c7;
114
+ --color-purple600: #8520c9;
115
+ --color-purple700: #9210cc;
116
+ --color-purple800: #6a0ea9;
117
+ --color-purple900: #450b90;
118
+
119
+ /* danger */
120
+ --color-danger50: #fef7f7;
121
+ --color-danger100: #fdefef;
122
+ --color-danger200: #fbdede;
123
+ --color-danger300: #f7bdbd;
124
+ --color-danger400: #f29d9d;
125
+ --color-danger500: #ee7c7c;
126
+ --color-danger600: #ea5b5b;
127
+ --color-danger700: #c54646;
128
+ --color-danger800: #9e3838;
129
+ --color-danger900: #6d2626;
130
+
131
+ /* accept */
132
+ --color-accept50: #f0f6ff;
133
+ --color-accept100: #e0eaff;
134
+ --color-accept200: #bdd4ff;
135
+ --color-accept300: #9bbdff;
136
+ --color-accept400: #81abfc;
137
+ --color-accept500: #6c9cf9;
138
+ --color-accept600: #5388ef;
139
+ --color-accept700: #3e73dc;
140
+ --color-accept800: #2a5ec0;
141
+ --color-accept900: #1a4499;
142
+
143
+ /* success */
144
+ --color-success50: #f5fdf8;
145
+ --color-success100: #eafbf1;
146
+ --color-success200: #d5f7e3;
147
+ --color-success300: #a9eec7;
148
+ --color-success400: #82e6ab;
149
+ --color-success500: #58dd8f;
150
+ --color-success600: #2ed573;
151
+ --color-success700: #20b560;
152
+ --color-success800: #158a47;
153
+ --color-success900: #0c5e30;
154
+
155
+ /* warning */
156
+ --color-warning50: #fffcf4;
157
+ --color-warning100: #fff8e9;
158
+ --color-warning200: #fff2d3;
159
+ --color-warning300: #ffe5a6;
160
+ --color-warning400: #ffd87a;
161
+ --color-warning500: #ffcb4d;
162
+ --color-warning600: #ffbe21;
163
+ --color-warning700: #e6a500;
164
+ --color-warning800: #b38000;
165
+ --color-warning900: #805b00;
166
+
167
+ /* loword blue */
168
+ --color-lb50: #e0e9ff;
169
+ --color-lb100: #c3d4ff;
170
+ --color-lb200: #acc3ff;
171
+ --color-lb300: #95b2fa;
172
+ --color-lb400: #7ea1f9;
173
+ --color-lb500: #6891f8;
174
+ --color-lb600: #5883ee;
175
+ --color-lb700: #4a75df;
176
+ --color-lb800: #315cc9;
177
+ --color-lb900: #143ca3;
178
+
179
+ /* tint (배경 전용) */
180
+ --color-tintRed: #fdf4f4;
181
+ --color-tintOrange: #fffaf2;
182
+ --color-tintYellow: #ffefd2;
183
+ --color-tintGreen: #f5fbf8;
184
+ --color-tintBlue: #f0f4ff;
185
+ }
@@ -0,0 +1,72 @@
1
+ @utility autocomplete-2xs {
2
+ --autocomplete-item-min-height: var(--spacing_32);
3
+ --autocomplete-item-padding-x: var(--spacing_4);
4
+ --autocomplete-item-padding-y: var(--spacing_4);
5
+ --autocomplete-secondary-font-size: var(--text-display10);
6
+ --autocomplete-secondary-line-height: var(--leading-display10);
7
+ --autocomplete-secondary-letter-spacing: var(--tracking-display10);
8
+ @apply display10;
9
+ }
10
+
11
+ @utility autocomplete-xs {
12
+ --autocomplete-item-min-height: var(--spacing_40);
13
+ --autocomplete-item-padding-x: var(--spacing_8);
14
+ --autocomplete-item-padding-y: var(--spacing_4);
15
+ --autocomplete-secondary-font-size: var(--text-display10);
16
+ --autocomplete-secondary-line-height: var(--leading-display10);
17
+ --autocomplete-secondary-letter-spacing: var(--tracking-display10);
18
+ @apply display12;
19
+ }
20
+
21
+ @utility autocomplete-sm {
22
+ --autocomplete-item-min-height: var(--spacing_60);
23
+ --autocomplete-item-padding-x: var(--spacing_16);
24
+ --autocomplete-item-padding-y: var(--spacing_12);
25
+ --autocomplete-secondary-font-size: var(--text-display12);
26
+ --autocomplete-secondary-line-height: var(--leading-display12);
27
+ --autocomplete-secondary-letter-spacing: var(--tracking-display12);
28
+ @apply display14;
29
+ }
30
+
31
+ @utility autocomplete-md {
32
+ --autocomplete-item-min-height: var(--spacing_60);
33
+ --autocomplete-item-padding-x: var(--spacing_16);
34
+ --autocomplete-item-padding-y: var(--spacing_12);
35
+ --autocomplete-secondary-font-size: var(--text-display12);
36
+ --autocomplete-secondary-line-height: var(--leading-display12);
37
+ --autocomplete-secondary-letter-spacing: var(--tracking-display12);
38
+ @apply display14;
39
+ }
40
+
41
+ @utility autocomplete-lg {
42
+ --autocomplete-item-min-height: var(--spacing_60);
43
+ --autocomplete-item-padding-x: var(--spacing_16);
44
+ --autocomplete-item-padding-y: var(--spacing_12);
45
+ --autocomplete-secondary-font-size: var(--text-display12);
46
+ --autocomplete-secondary-line-height: var(--leading-display12);
47
+ --autocomplete-secondary-letter-spacing: var(--tracking-display12);
48
+ @apply display14;
49
+ }
50
+
51
+ @utility autocomplete-xl {
52
+ --autocomplete-item-min-height: var(--spacing_60);
53
+ --autocomplete-item-padding-x: var(--spacing_16);
54
+ --autocomplete-item-padding-y: var(--spacing_12);
55
+ --autocomplete-secondary-font-size: var(--text-display12);
56
+ --autocomplete-secondary-line-height: var(--leading-display12);
57
+ --autocomplete-secondary-letter-spacing: var(--tracking-display12);
58
+ @apply display14;
59
+ }
60
+
61
+ @utility autocomplete-item {
62
+ min-height: var(--autocomplete-item-min-height);
63
+ padding-inline: var(--autocomplete-item-padding-x);
64
+ padding-block: var(--autocomplete-item-padding-y);
65
+ font-weight: var(--font-regular);
66
+ }
67
+
68
+ @utility autocomplete-secondary {
69
+ font-size: var(--autocomplete-secondary-font-size);
70
+ line-height: var(--autocomplete-secondary-line-height);
71
+ letter-spacing: var(--autocomplete-secondary-letter-spacing);
72
+ }
@@ -0,0 +1,41 @@
1
+ @theme {
2
+ /* padding-x: Button */
3
+ --control-padding-x-badge-2xs: var(--spacing_4);
4
+ --control-padding-x-badge-xs: var(--spacing_8);
5
+ --control-padding-x-badge-sm: var(--spacing_12);
6
+ --control-padding-x-badge-md: var(--spacing_16);
7
+ --control-padding-x-badge-lg: var(--spacing_20);
8
+ --control-padding-x-badge-xl: var(--spacing_28);
9
+ }
10
+
11
+ @utility badge-xs {
12
+ height: var(--control-height-2xs);
13
+ padding-inline: var(--control-padding-x-badge-2xs);
14
+ border-radius: var(--control-radius-xs);
15
+ gap: var(--control-gap-2xs);
16
+ @apply display10;
17
+ }
18
+
19
+ @utility badge-sm {
20
+ height: var(--control-height-xs);
21
+ padding-inline: var(--control-padding-x-badge-xs);
22
+ border-radius: var(--control-radius-xs);
23
+ gap: var(--control-gap-xs);
24
+ @apply display12;
25
+ }
26
+
27
+ @utility badge-md {
28
+ height: var(--control-height-sm);
29
+ padding-inline: var(--control-padding-x-badge-sm);
30
+ border-radius: var(--control-radius-sm);
31
+ gap: var(--control-gap-sm);
32
+ @apply display16;
33
+ }
34
+
35
+ @utility badge-lg {
36
+ height: var(--control-height-md);
37
+ padding-inline: var(--control-padding-x-badge-md);
38
+ border-radius: var(--control-radius-md);
39
+ gap: var(--control-gap-md);
40
+ @apply display20;
41
+ }
@@ -0,0 +1,23 @@
1
+ @utility bread-crumb-2xs {
2
+ @apply display10;
3
+ }
4
+
5
+ @utility bread-crumb-xs {
6
+ @apply display12;
7
+ }
8
+
9
+ @utility bread-crumb-sm {
10
+ @apply display14;
11
+ }
12
+
13
+ @utility bread-crumb-md {
14
+ @apply display16;
15
+ }
16
+
17
+ @utility bread-crumb-lg {
18
+ @apply display18;
19
+ }
20
+
21
+ @utility bread-crumb-xl {
22
+ @apply display20;
23
+ }
@@ -0,0 +1,183 @@
1
+ @theme {
2
+ /* padding-x: Button */
3
+ --control-padding-x-button-2xs: var(--spacing_4);
4
+ --control-padding-x-button-xs: var(--spacing_8);
5
+ --control-padding-x-button-sm: var(--spacing_12);
6
+ --control-padding-x-button-md: var(--spacing_16);
7
+ --control-padding-x-button-lg: var(--spacing_20);
8
+ --control-padding-x-button-xl: var(--spacing_28);
9
+
10
+ /* min-width (Button) */
11
+ --control-min-width-2xs: 32px;
12
+ --control-min-width-xs: 48px;
13
+ --control-min-width-sm: 64px;
14
+ --control-min-width-md: 80px;
15
+ --control-min-width-lg: 96px;
16
+ --control-min-width-xl: 128px;
17
+
18
+ /* toggle-gap */
19
+ --toggle-gap: 2px;
20
+ }
21
+
22
+ /**
23
+ * button-root
24
+ */
25
+
26
+ @utility btn-2xs {
27
+ height: var(--control-height-2xs);
28
+ /* min-width: var(--control-min-width-2xs); */
29
+ padding-inline: var(--control-padding-x-button-2xs);
30
+ border-radius: var(--control-radius-2xs);
31
+ gap: var(--control-gap-2xs);
32
+ font-weight: var(--control-font-weight);
33
+ @apply display10;
34
+ }
35
+
36
+ @utility btn-xs {
37
+ height: var(--control-height-xs);
38
+ /* min-width: var(--control-min-width-xs); */
39
+ padding-inline: var(--control-padding-x-button-xs);
40
+ border-radius: var(--control-radius-xs);
41
+ gap: var(--control-gap-xs);
42
+ font-weight: var(--control-font-weight);
43
+ @apply display12;
44
+ }
45
+
46
+ @utility btn-sm {
47
+ height: var(--control-height-sm);
48
+ min-width: var(--control-min-width-sm);
49
+ padding-inline: var(--control-padding-x-button-sm);
50
+ border-radius: var(--control-radius-sm);
51
+ gap: var(--control-gap-sm);
52
+ font-weight: var(--control-font-weight);
53
+ @apply display14;
54
+ }
55
+
56
+ @utility btn-md {
57
+ height: var(--control-height-md);
58
+ min-width: var(--control-min-width-md);
59
+ padding-inline: var(--control-padding-x-button-md);
60
+ border-radius: var(--control-radius-md);
61
+ gap: var(--control-gap-md);
62
+ font-weight: var(--control-font-weight);
63
+ @apply display16;
64
+ }
65
+
66
+ @utility btn-lg {
67
+ height: var(--control-height-lg);
68
+ min-width: var(--control-min-width-lg);
69
+ padding-inline: var(--control-padding-x-button-lg);
70
+ border-radius: var(--control-radius-lg);
71
+ gap: var(--control-gap-lg);
72
+ font-weight: var(--control-font-weight);
73
+ @apply display18;
74
+ }
75
+
76
+ @utility btn-xl {
77
+ height: var(--control-height-xl);
78
+ min-width: var(--control-min-width-xl);
79
+ padding-inline: var(--control-padding-x-button-xl);
80
+ border-radius: var(--control-radius-xl);
81
+ gap: var(--control-gap-xl);
82
+ font-weight: var(--control-font-weight);
83
+ @apply display20;
84
+ }
85
+
86
+ /**
87
+ * toggle-button size
88
+ */
89
+
90
+ /* track */
91
+ @utility toggle-track-xs {
92
+ width: 28px;
93
+ height: 14px;
94
+ }
95
+ @utility toggle-track-sm {
96
+ width: 32px;
97
+ height: 16px;
98
+ }
99
+ @utility toggle-track-md {
100
+ width: 36px;
101
+ height: 18px;
102
+ }
103
+ @utility toggle-track-lg {
104
+ width: 40px;
105
+ height: 20px;
106
+ }
107
+ @utility toggle-track-xl {
108
+ width: 44px;
109
+ height: 22px;
110
+ }
111
+
112
+ /* thumb */
113
+ @utility toggle-thumb-xs {
114
+ width: 10px;
115
+ height: 10px;
116
+ }
117
+ @utility toggle-thumb-sm {
118
+ width: 12px;
119
+ height: 12px;
120
+ }
121
+ @utility toggle-thumb-md {
122
+ width: 14px;
123
+ height: 14px;
124
+ }
125
+ @utility toggle-thumb-lg {
126
+ width: 16px;
127
+ height: 16px;
128
+ }
129
+ @utility toggle-thumb-xl {
130
+ width: 18px;
131
+ height: 18px;
132
+ }
133
+
134
+ /* thumb unchecked */
135
+ @utility toggle-thumb-off-xs {
136
+ left: var(--toggle-gap);
137
+ }
138
+ @utility toggle-thumb-off-sm {
139
+ left: var(--toggle-gap);
140
+ }
141
+ @utility toggle-thumb-off-md {
142
+ left: var(--toggle-gap);
143
+ }
144
+ @utility toggle-thumb-off-lg {
145
+ left: var(--toggle-gap);
146
+ }
147
+ @utility toggle-thumb-off-xl {
148
+ left: var(--toggle-gap);
149
+ }
150
+
151
+ /* thumb checked */
152
+ @utility toggle-thumb-on-xs {
153
+ left: 16px;
154
+ } /* 28 - 10 - 2 */
155
+ @utility toggle-thumb-on-sm {
156
+ left: 18px;
157
+ } /* 32 - 12 - 2 */
158
+ @utility toggle-thumb-on-md {
159
+ left: 20px;
160
+ } /* 36 - 14 - 2 */
161
+ @utility toggle-thumb-on-lg {
162
+ left: 22px;
163
+ } /* 40 - 16 - 2 */
164
+ @utility toggle-thumb-on-xl {
165
+ left: 24px;
166
+ } /* 44 - 18 - 2 */
167
+
168
+ /* root font */
169
+ @utility toggle-xs {
170
+ @apply display12;
171
+ }
172
+ @utility toggle-sm {
173
+ @apply display12;
174
+ }
175
+ @utility toggle-md {
176
+ @apply display14;
177
+ }
178
+ @utility toggle-lg {
179
+ @apply display14;
180
+ }
181
+ @utility toggle-xl {
182
+ @apply display16;
183
+ }
@@ -0,0 +1,147 @@
1
+ @layer utilities {
2
+ prose p {
3
+ margin-top: 0 !important;
4
+ margin-bottom: 0.5rem !important;
5
+ padding: 0 !important;
6
+ }
7
+
8
+ prose h1,
9
+ prose h2,
10
+ prose h3 {
11
+ margin-top: 0 !important;
12
+ margin-bottom: 0.5rem !important;
13
+ padding: 0 !important;
14
+ }
15
+
16
+ prose ul,
17
+ prose ol {
18
+ margin-top: 0 !important;
19
+ margin-bottom: 0.5rem !important;
20
+ padding: 0 20px !important;
21
+ }
22
+
23
+ prose ul li::marker,
24
+ prose ol li::marker {
25
+ color: #000 !important;
26
+ }
27
+ }
28
+
29
+ /* 이미지 정렬 스타일 */
30
+ .ProseMirror img {
31
+ max-width: 100%;
32
+ height: auto;
33
+ display: block;
34
+ margin: 1rem auto;
35
+ }
36
+
37
+ .ProseMirror img[style*='text-align: left'] {
38
+ margin-left: 0;
39
+ margin-right: auto;
40
+ }
41
+
42
+ .ProseMirror img[style*='text-align: center'] {
43
+ margin-left: auto;
44
+ margin-right: auto;
45
+ }
46
+
47
+ .ProseMirror img[style*='text-align: right'] {
48
+ margin-left: auto;
49
+ margin-right: 0;
50
+ }
51
+
52
+ /* 이미지 선택 스타일 */
53
+ .ProseMirror img {
54
+ cursor: pointer;
55
+ border: 2px solid transparent;
56
+ transition: border-color 0.2s;
57
+ }
58
+
59
+ .ProseMirror img:hover {
60
+ border-color: rgba(59, 130, 246, 0.3);
61
+ }
62
+
63
+ /* 이미지 리사이즈 핸들 스타일 */
64
+ .ProseMirror [data-resize-handle] {
65
+ position: absolute;
66
+ background: rgba(0, 0, 0, 0.5);
67
+ border: 1px solid rgba(255, 255, 255, 0.8);
68
+ border-radius: 2px;
69
+ z-index: 10;
70
+ }
71
+
72
+ .ProseMirror [data-resize-handle]:hover {
73
+ background: rgba(0, 0, 0, 0.8);
74
+ }
75
+
76
+ /* 모서리 핸들 */
77
+ .ProseMirror [data-resize-handle='top-left'],
78
+ .ProseMirror [data-resize-handle='top-right'],
79
+ .ProseMirror [data-resize-handle='bottom-left'],
80
+ .ProseMirror [data-resize-handle='bottom-right'] {
81
+ width: 8px;
82
+ height: 8px;
83
+ }
84
+
85
+ .ProseMirror [data-resize-handle='top-left'] {
86
+ top: -4px;
87
+ left: -4px;
88
+ cursor: nwse-resize;
89
+ }
90
+
91
+ .ProseMirror [data-resize-handle='top-right'] {
92
+ top: -4px;
93
+ right: -4px;
94
+ cursor: nesw-resize;
95
+ }
96
+
97
+ .ProseMirror [data-resize-handle='bottom-left'] {
98
+ bottom: -4px;
99
+ left: -4px;
100
+ cursor: nesw-resize;
101
+ }
102
+
103
+ .ProseMirror [data-resize-handle='bottom-right'] {
104
+ bottom: -4px;
105
+ right: -4px;
106
+ cursor: nwse-resize;
107
+ }
108
+
109
+ /* 상하 핸들 */
110
+ .ProseMirror [data-resize-handle='top'],
111
+ .ProseMirror [data-resize-handle='bottom'] {
112
+ height: 6px;
113
+ left: 8px;
114
+ right: 8px;
115
+ }
116
+
117
+ .ProseMirror [data-resize-handle='top'] {
118
+ top: -3px;
119
+ cursor: ns-resize;
120
+ }
121
+
122
+ .ProseMirror [data-resize-handle='bottom'] {
123
+ bottom: -3px;
124
+ cursor: ns-resize;
125
+ }
126
+
127
+ /* 좌우 핸들 */
128
+ .ProseMirror [data-resize-handle='left'],
129
+ .ProseMirror [data-resize-handle='right'] {
130
+ width: 6px;
131
+ top: 8px;
132
+ bottom: 8px;
133
+ }
134
+
135
+ .ProseMirror [data-resize-handle='left'] {
136
+ left: -3px;
137
+ cursor: ew-resize;
138
+ }
139
+
140
+ .ProseMirror [data-resize-handle='right'] {
141
+ right: -3px;
142
+ cursor: ew-resize;
143
+ }
144
+
145
+ .ProseMirror [data-resize-wrapper] img {
146
+ margin: 0 !important;
147
+ }
@@ -0,0 +1,29 @@
1
+ @utility icon-2xs {
2
+ width: var(--control-icon-2xs);
3
+ height: var(--control-icon-2xs);
4
+ }
5
+
6
+ @utility icon-xs {
7
+ width: var(--control-icon-xs);
8
+ height: var(--control-icon-xs);
9
+ }
10
+
11
+ @utility icon-sm {
12
+ width: var(--control-icon-sm);
13
+ height: var(--control-icon-sm);
14
+ }
15
+
16
+ @utility icon-md {
17
+ width: var(--control-icon-md);
18
+ height: var(--control-icon-md);
19
+ }
20
+
21
+ @utility icon-lg {
22
+ width: var(--control-icon-lg);
23
+ height: var(--control-icon-lg);
24
+ }
25
+
26
+ @utility icon-xl {
27
+ width: var(--control-icon-xl);
28
+ height: var(--control-icon-xl);
29
+ }
@@ -0,0 +1,10 @@
1
+ @import './shared.css';
2
+ @import './icon.css';
3
+ @import './spinner.css';
4
+ @import './button.css';
5
+ @import './input.css';
6
+ @import './badge.css';
7
+ @import './modal.css';
8
+ @import './editor.css';
9
+ @import './bread-crumb.css';
10
+ @import './auto-complete.css';