@seed-design/lynx-css 1.0.0 → 1.0.1

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seed-design/lynx-css",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "repository": {
5
5
  "type": "git",
6
6
  "url": "git+https://github.com/daangn/seed-design.git",
package/recipes/badge.css CHANGED
@@ -2,6 +2,10 @@
2
2
  display: flex;
3
3
  flex-direction: row;
4
4
  align-items: center;
5
+ --seed-badge-stroke-width: 0px;
6
+ border-width: var(--seed-badge-stroke-width);
7
+ border-style: solid;
8
+ border-color: transparent;
5
9
  min-width: 0;
6
10
  flex-shrink: 1;
7
11
  overflow: hidden;
@@ -36,10 +40,10 @@
36
40
  }
37
41
  .seed-badge__root--size_medium {
38
42
  min-height: var(--seed-dimension-x5);
39
- padding-left: var(--seed-dimension-x1_5);
40
- padding-right: var(--seed-dimension-x1_5);
41
- padding-top: var(--seed-dimension-x0_5);
42
- padding-bottom: var(--seed-dimension-x0_5);
43
+ padding-left: calc(var(--seed-dimension-x1_5) - var(--seed-badge-stroke-width));
44
+ padding-right: calc(var(--seed-dimension-x1_5) - var(--seed-badge-stroke-width));
45
+ padding-top: calc(var(--seed-dimension-x0_5) - var(--seed-badge-stroke-width));
46
+ padding-bottom: calc(var(--seed-dimension-x0_5) - var(--seed-badge-stroke-width));
43
47
  border-radius: var(--seed-radius-r1);
44
48
  gap: var(--seed-dimension-x0_5)
45
49
  }
@@ -57,10 +61,10 @@
57
61
  }
58
62
  .seed-badge__root--size_large {
59
63
  min-height: var(--seed-dimension-x6);
60
- padding-left: var(--seed-dimension-x2);
61
- padding-right: var(--seed-dimension-x2);
62
- padding-top: var(--seed-dimension-x1);
63
- padding-bottom: var(--seed-dimension-x1);
64
+ padding-left: calc(var(--seed-dimension-x2) - var(--seed-badge-stroke-width));
65
+ padding-right: calc(var(--seed-dimension-x2) - var(--seed-badge-stroke-width));
66
+ padding-top: calc(var(--seed-dimension-x1) - var(--seed-badge-stroke-width));
67
+ padding-bottom: calc(var(--seed-dimension-x1) - var(--seed-badge-stroke-width));
64
68
  border-radius: var(--seed-radius-r1_5);
65
69
  gap: var(--seed-dimension-x0_5)
66
70
  }
@@ -82,6 +86,9 @@
82
86
  .seed-badge__label--variant_solid {
83
87
  font-weight: var(--seed-font-weight-bold)
84
88
  }
89
+ .seed-badge__root--variant_outline {
90
+ --seed-badge-stroke-width: 1px
91
+ }
85
92
  .seed-badge__label--variant_outline {
86
93
  font-weight: var(--seed-font-weight-bold)
87
94
  }
@@ -100,7 +107,7 @@
100
107
  color: var(--seed-color-fg-on-neutral-solid)
101
108
  }
102
109
  .seed-badge__root--tone_neutral-variant_outline {
103
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted);
110
+ border-color: var(--seed-color-stroke-neutral-muted);
104
111
  color: var(--seed-color-fg-neutral-muted)
105
112
  }
106
113
  .seed-badge__label--tone_neutral-variant_outline {
@@ -121,7 +128,7 @@
121
128
  color: var(--seed-color-fg-on-brand-solid)
122
129
  }
123
130
  .seed-badge__root--tone_brand-variant_outline {
124
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-brand-weak);
131
+ border-color: var(--seed-color-stroke-brand-weak);
125
132
  color: var(--seed-color-fg-brand)
126
133
  }
127
134
  .seed-badge__label--tone_brand-variant_outline {
@@ -142,7 +149,7 @@
142
149
  color: var(--seed-color-fg-on-informative-solid)
143
150
  }
144
151
  .seed-badge__root--tone_informative-variant_outline {
145
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-informative-weak);
152
+ border-color: var(--seed-color-stroke-informative-weak);
146
153
  color: var(--seed-color-fg-informative)
147
154
  }
148
155
  .seed-badge__label--tone_informative-variant_outline {
@@ -163,7 +170,7 @@
163
170
  color: var(--seed-color-fg-on-positive-solid)
164
171
  }
165
172
  .seed-badge__root--tone_positive-variant_outline {
166
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-positive-weak);
173
+ border-color: var(--seed-color-stroke-positive-weak);
167
174
  color: var(--seed-color-fg-positive)
168
175
  }
169
176
  .seed-badge__label--tone_positive-variant_outline {
@@ -184,7 +191,7 @@
184
191
  color: var(--seed-color-fg-on-warning-solid)
185
192
  }
186
193
  .seed-badge__root--tone_warning-variant_outline {
187
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-warning-weak);
194
+ border-color: var(--seed-color-stroke-warning-weak);
188
195
  color: var(--seed-color-fg-warning)
189
196
  }
190
197
  .seed-badge__label--tone_warning-variant_outline {
@@ -205,7 +212,7 @@
205
212
  color: var(--seed-color-fg-on-critical-solid)
206
213
  }
207
214
  .seed-badge__root--tone_critical-variant_outline {
208
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-critical-weak);
215
+ border-color: var(--seed-color-stroke-critical-weak);
209
216
  color: var(--seed-color-fg-critical)
210
217
  }
211
218
  .seed-badge__label--tone_critical-variant_outline {
@@ -22,8 +22,12 @@
22
22
  align-items: center;
23
23
  flex-shrink: 0;
24
24
  gap: var(--seed-dimension-x1_5);
25
+ --seed-chip-tabs-stroke-width: 0px;
26
+ border-width: var(--seed-chip-tabs-stroke-width);
27
+ border-style: solid;
28
+ border-color: transparent;
25
29
  border-radius: var(--seed-radius-full);
26
- transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), box-shadow var(--seed-duration-color-transition) var(--seed-timing-function-easing)
30
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), border-color var(--seed-duration-color-transition) var(--seed-timing-function-easing)
27
31
  }
28
32
  .seed-chip-tabs__triggerLabel {
29
33
  display: flex;
@@ -48,8 +52,8 @@
48
52
  .seed-chip-tabs__trigger--size_medium {
49
53
  min-height: 36px;
50
54
  min-width: var(--seed-dimension-x12);
51
- padding-left: calc(var(--seed-dimension-x2) + var(--seed-dimension-x1_5));
52
- padding-right: calc(var(--seed-dimension-x2) + var(--seed-dimension-x1_5))
55
+ padding-left: calc(var(--seed-dimension-x2) + var(--seed-dimension-x1_5) - var(--seed-chip-tabs-stroke-width));
56
+ padding-right: calc(var(--seed-dimension-x2) + var(--seed-dimension-x1_5) - var(--seed-chip-tabs-stroke-width))
53
57
  }
54
58
  .seed-chip-tabs__triggerLabel--size_medium {
55
59
  font-size: var(--seed-font-size-t4);
@@ -58,8 +62,8 @@
58
62
  .seed-chip-tabs__trigger--size_large {
59
63
  min-height: 40px;
60
64
  min-width: var(--seed-dimension-x13);
61
- padding-left: calc(var(--seed-dimension-x2_5) + var(--seed-dimension-x1_5));
62
- padding-right: calc(var(--seed-dimension-x2_5) + var(--seed-dimension-x1_5))
65
+ padding-left: calc(var(--seed-dimension-x2_5) + var(--seed-dimension-x1_5) - var(--seed-chip-tabs-stroke-width));
66
+ padding-right: calc(var(--seed-dimension-x2_5) + var(--seed-dimension-x1_5) - var(--seed-chip-tabs-stroke-width))
63
67
  }
64
68
  .seed-chip-tabs__triggerLabel--size_large {
65
69
  font-size: var(--seed-font-size-t4);
@@ -73,7 +77,8 @@
73
77
  }
74
78
  .seed-chip-tabs__trigger--variant_neutralOutline {
75
79
  background-color: var(--seed-color-bg-transparent);
76
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
80
+ --seed-chip-tabs-stroke-width: 1px;
81
+ border-color: var(--seed-color-stroke-neutral-muted)
77
82
  }
78
83
  .seed-chip-tabs__triggerLabel--variant_neutralOutline {
79
84
  color: var(--seed-color-fg-neutral)
@@ -108,7 +113,7 @@
108
113
  }
109
114
  .seed-chip-tabs__trigger--variant_neutralOutline-selected_true {
110
115
  background-color: var(--seed-color-bg-neutral-solid);
111
- box-shadow: inset 0 0 0 1px transparent
116
+ border-color: transparent
112
117
  }
113
118
  .seed-chip-tabs__triggerLabel--variant_neutralOutline-selected_true {
114
119
  color: var(--seed-color-fg-on-neutral-solid)
package/recipes/chip.css CHANGED
@@ -5,9 +5,12 @@
5
5
  justify-content: center;
6
6
  align-items: center;
7
7
  flex-shrink: 0;
8
- border: none;
8
+ --seed-chip-stroke-width: 0px;
9
+ border-width: var(--seed-chip-stroke-width);
10
+ border-style: solid;
11
+ border-color: transparent;
9
12
  border-radius: var(--seed-radius-full);
10
- transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), color var(--seed-duration-color-transition) var(--seed-timing-function-easing), border-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), box-shadow var(--seed-duration-color-transition) var(--seed-timing-function-easing)
13
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), color var(--seed-duration-color-transition) var(--seed-timing-function-easing), border-color var(--seed-duration-color-transition) var(--seed-timing-function-easing)
11
14
  }
12
15
  .seed-chip__label {
13
16
  display: flex;
@@ -57,7 +60,8 @@
57
60
  }
58
61
  .seed-chip__root--variant_outlineStrong {
59
62
  background: var(--seed-color-bg-transparent);
60
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
63
+ --seed-chip-stroke-width: 1px;
64
+ border-color: var(--seed-color-stroke-neutral-muted)
61
65
  }
62
66
  .seed-chip__label--variant_outlineStrong {
63
67
  color: var(--seed-color-fg-neutral)
@@ -73,7 +77,8 @@
73
77
  }
74
78
  .seed-chip__root--variant_outlineWeak {
75
79
  background: var(--seed-color-bg-transparent);
76
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted)
80
+ --seed-chip-stroke-width: 1px;
81
+ border-color: var(--seed-color-stroke-neutral-muted)
77
82
  }
78
83
  .seed-chip__label--variant_outlineWeak {
79
84
  color: var(--seed-color-fg-neutral)
@@ -89,8 +94,8 @@
89
94
  }
90
95
  .seed-chip__root--size_small {
91
96
  height: 32px;
92
- padding-left: var(--seed-dimension-x1_5);
93
- padding-right: var(--seed-dimension-x1_5)
97
+ padding-left: calc(var(--seed-dimension-x1_5) - var(--seed-chip-stroke-width));
98
+ padding-right: calc(var(--seed-dimension-x1_5) - var(--seed-chip-stroke-width))
94
99
  }
95
100
  .seed-chip__label--size_small {
96
101
  font-size: var(--seed-font-size-t4);
@@ -114,8 +119,8 @@
114
119
  }
115
120
  .seed-chip__root--size_medium {
116
121
  height: 36px;
117
- padding-left: var(--seed-dimension-x2);
118
- padding-right: var(--seed-dimension-x2)
122
+ padding-left: calc(var(--seed-dimension-x2) - var(--seed-chip-stroke-width));
123
+ padding-right: calc(var(--seed-dimension-x2) - var(--seed-chip-stroke-width))
119
124
  }
120
125
  .seed-chip__label--size_medium {
121
126
  font-size: var(--seed-font-size-t4);
@@ -139,8 +144,8 @@
139
144
  }
140
145
  .seed-chip__root--size_large {
141
146
  height: 40px;
142
- padding-left: var(--seed-dimension-x2_5);
143
- padding-right: var(--seed-dimension-x2_5)
147
+ padding-left: calc(var(--seed-dimension-x2_5) - var(--seed-chip-stroke-width));
148
+ padding-right: calc(var(--seed-dimension-x2_5) - var(--seed-chip-stroke-width))
144
149
  }
145
150
  .seed-chip__label--size_large {
146
151
  font-size: var(--seed-font-size-t4);
@@ -216,7 +221,7 @@
216
221
  }
217
222
  .seed-chip__root--variant_outlineWeak-selected_true {
218
223
  background: var(--seed-color-bg-neutral-weak);
219
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-contrast)
224
+ border-color: var(--seed-color-stroke-neutral-contrast)
220
225
  }
221
226
  .seed-chip__root--variant_solid-pressed_true-selected_false {
222
227
  background: var(--seed-color-bg-neutral-weak-alpha-pressed)
@@ -51,10 +51,7 @@
51
51
  }
52
52
 
53
53
  .seed-progress-circle__spinner,
54
- .seed-progress-circle__indeterminate-range,
55
- .seed-progress-circle__half,
56
- .seed-progress-circle__semicircle--first,
57
- .seed-progress-circle__semicircle--second {
54
+ .seed-progress-circle__indeterminate-range {
58
55
  position: absolute;
59
56
  top: 0;
60
57
  left: 0;
@@ -66,16 +63,42 @@
66
63
  background-color: transparent;
67
64
  }
68
65
 
69
- .seed-progress-circle__half--first,
66
+ /* Android는 clip-path를 가진 부모가 transform 애니메이션 중인 자식을 자르지 않는다.
67
+ 반쪽 영역은 폭 50% 박스의 overflow로 자르고, 반원은 그 안에서 링 크기로 둔다. */
68
+ .seed-progress-circle__half {
69
+ position: absolute;
70
+ top: 0;
71
+ width: 50%;
72
+ height: 100%;
73
+ overflow: hidden;
74
+ }
75
+
76
+ .seed-progress-circle__half--first {
77
+ left: 50%;
78
+ }
79
+
80
+ .seed-progress-circle__half--second {
81
+ left: 0;
82
+ }
83
+
84
+ .seed-progress-circle__semicircle--first,
70
85
  .seed-progress-circle__semicircle--second {
71
- clip-path: inset(0 0 0 50%);
86
+ position: absolute;
87
+ top: 0;
88
+ width: 200%;
89
+ height: 100%;
72
90
  }
73
91
 
74
- .seed-progress-circle__half--second,
75
92
  .seed-progress-circle__semicircle--first {
93
+ left: -100%;
76
94
  clip-path: inset(0 50% 0 0);
77
95
  }
78
96
 
97
+ .seed-progress-circle__semicircle--second {
98
+ left: 0;
99
+ clip-path: inset(0 0 0 50%);
100
+ }
101
+
79
102
  .seed-progress-circle__track--tone_neutral {
80
103
  background-color: var(--seed-color-palette-gray-200);
81
104
  }
@@ -6,10 +6,13 @@
6
6
  justify-content: center;
7
7
  flex-shrink: 0;
8
8
  background: var(--seed-color-bg-transparent);
9
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-neutral-muted);
9
+ border-width: var(--seed-reaction-button-stroke-width);
10
+ border-style: solid;
11
+ --seed-reaction-button-stroke-width: 1px;
12
+ border-color: var(--seed-color-stroke-neutral-muted);
10
13
  --track-color: var(--seed-color-palette-gray-500);
11
14
  --range-color: var(--seed-color-fg-neutral);
12
- transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), box-shadow var(--seed-duration-color-transition) var(--seed-timing-function-easing)
15
+ transition: background-color var(--seed-duration-color-transition) var(--seed-timing-function-easing), border-color var(--seed-duration-color-transition) var(--seed-timing-function-easing)
13
16
  }
14
17
  .seed-reaction-button__content {
15
18
  display: flex;
@@ -43,10 +46,10 @@
43
46
  .seed-reaction-button__root--size_xsmall {
44
47
  height: var(--seed-dimension-x8);
45
48
  border-radius: var(--seed-radius-full);
46
- padding-left: var(--seed-dimension-x3);
47
- padding-right: var(--seed-dimension-x3);
48
- padding-top: var(--seed-dimension-x1_5);
49
- padding-bottom: var(--seed-dimension-x1_5)
49
+ padding-left: calc(var(--seed-dimension-x3) - var(--seed-reaction-button-stroke-width));
50
+ padding-right: calc(var(--seed-dimension-x3) - var(--seed-reaction-button-stroke-width));
51
+ padding-top: calc(var(--seed-dimension-x1_5) - var(--seed-reaction-button-stroke-width));
52
+ padding-bottom: calc(var(--seed-dimension-x1_5) - var(--seed-reaction-button-stroke-width))
50
53
  }
51
54
  .seed-reaction-button__content--size_xsmall {
52
55
  gap: var(--seed-dimension-x1)
@@ -66,10 +69,10 @@
66
69
  .seed-reaction-button__root--size_small {
67
70
  height: var(--seed-dimension-x9);
68
71
  border-radius: var(--seed-radius-full);
69
- padding-left: var(--seed-dimension-x3_5);
70
- padding-right: var(--seed-dimension-x3_5);
71
- padding-top: var(--seed-dimension-x2);
72
- padding-bottom: var(--seed-dimension-x2)
72
+ padding-left: calc(var(--seed-dimension-x3_5) - var(--seed-reaction-button-stroke-width));
73
+ padding-right: calc(var(--seed-dimension-x3_5) - var(--seed-reaction-button-stroke-width));
74
+ padding-top: calc(var(--seed-dimension-x2) - var(--seed-reaction-button-stroke-width));
75
+ padding-bottom: calc(var(--seed-dimension-x2) - var(--seed-reaction-button-stroke-width))
73
76
  }
74
77
  .seed-reaction-button__content--size_small {
75
78
  gap: var(--seed-dimension-x1)
@@ -88,7 +91,8 @@
88
91
  }
89
92
  .seed-reaction-button__root--selected_true {
90
93
  background: var(--seed-color-bg-transparent);
91
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-brand-weak);
94
+ --seed-reaction-button-stroke-width: 1px;
95
+ border-color: var(--seed-color-stroke-brand-weak);
92
96
  --track-color: var(--seed-color-palette-carrot-200);
93
97
  --range-color: var(--seed-color-fg-brand)
94
98
  }
@@ -103,7 +107,8 @@
103
107
  }
104
108
  .seed-reaction-button__root--disabled_true {
105
109
  background: var(--seed-color-bg-disabled);
106
- box-shadow: inset 0 0 0 0px var(--seed-color-stroke-neutral-muted)
110
+ --seed-reaction-button-stroke-width: 0px;
111
+ border-color: var(--seed-color-stroke-neutral-muted)
107
112
  }
108
113
  .seed-reaction-button__label--disabled_true {
109
114
  color: var(--seed-color-fg-disabled)
@@ -128,7 +133,8 @@
128
133
  }
129
134
  .seed-reaction-button__root--selected_true-loading_true {
130
135
  background: var(--seed-color-bg-transparent-pressed);
131
- box-shadow: inset 0 0 0 1px var(--seed-color-stroke-brand-weak);
136
+ --seed-reaction-button-stroke-width: 1px;
137
+ border-color: var(--seed-color-stroke-brand-weak);
132
138
  --track-color: var(--seed-color-palette-carrot-200);
133
139
  --range-color: var(--seed-color-fg-brand)
134
140
  }