@reshape-biotech/design-system 2.7.42 → 2.7.43

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 (55) hide show
  1. package/base.css +1 -0
  2. package/dist/app.css +5 -121
  3. package/dist/base.css +111 -0
  4. package/dist/components/banner/Banner.svelte +3 -6
  5. package/dist/components/button/Button.svelte +27 -321
  6. package/dist/components/card/CardWrapper.svelte +8 -24
  7. package/dist/components/collapsible/components/collapsible-trigger.svelte +8 -15
  8. package/dist/components/combobox/components/combobox-add.svelte +3 -19
  9. package/dist/components/combobox/components/combobox-content.svelte +11 -51
  10. package/dist/components/datepicker/DatePicker.svelte +27 -148
  11. package/dist/components/drawer/Drawer.stories.svelte +8 -7
  12. package/dist/components/drawer/Drawer.stories.svelte.d.ts +6 -14
  13. package/dist/components/dropdown/components/dropdown-field-trigger.svelte +1 -1
  14. package/dist/components/dropdown/components/dropdown-item.svelte +3 -2
  15. package/dist/components/dropdown/components/dropdown-sub-trigger.svelte +3 -2
  16. package/dist/components/graphs/matrix/Matrix.svelte +3 -3
  17. package/dist/components/graphs/scatterplot/Scatterplot.svelte +1 -1
  18. package/dist/components/icon-button/IconButton.stories.svelte +16 -16
  19. package/dist/components/icon-button/IconButton.svelte +43 -121
  20. package/dist/components/icons/AnalysisIcon.svelte +12 -29
  21. package/dist/components/icons/PrincipalIcon.svelte +12 -29
  22. package/dist/components/input/Input.svelte +29 -137
  23. package/dist/components/label/Label.stories.svelte +1 -0
  24. package/dist/components/list/List.svelte +15 -41
  25. package/dist/components/manual-cfu-counter/ManualCFUCounter.svelte +4 -4
  26. package/dist/components/multi-cfu-counter/MultiCFUCounter.svelte +4 -4
  27. package/dist/components/nav/Nav.stories.svelte +1 -1
  28. package/dist/components/nav/Nav.svelte +15 -22
  29. package/dist/components/nav/NavItem.svelte +11 -71
  30. package/dist/components/pill/Pill.svelte +4 -13
  31. package/dist/components/progress-circle/ProgressCircle.svelte +11 -22
  32. package/dist/components/segmented-control-buttons/ControlButton.svelte +11 -13
  33. package/dist/components/select/Select.stories.svelte +1 -1
  34. package/dist/components/select/components/SelectTrigger.svelte +1 -1
  35. package/dist/components/skeleton-loader/SkeletonLoader.stories.svelte +1 -0
  36. package/dist/components/slider/Slider.svelte +11 -37
  37. package/dist/components/spinner/Spinner.svelte +3 -3
  38. package/dist/components/status-badge/StatusBadge.svelte +49 -105
  39. package/dist/components/stepper/components/stepper-step.svelte +2 -3
  40. package/dist/components/table/Table.svelte +3 -5
  41. package/dist/components/table/components/Tr.svelte +6 -13
  42. package/dist/components/tabs/components/Tab.svelte +1 -1
  43. package/dist/components/tabs/components/Tabs.svelte +18 -40
  44. package/dist/components/tag/Tag.svelte +4 -8
  45. package/dist/components/textarea/Textarea.stories.svelte +1 -0
  46. package/dist/components/textarea/Textarea.svelte +1 -1
  47. package/dist/components/toggle/Toggle.svelte +17 -22
  48. package/dist/components/typography/Typography.stories.svelte +143 -0
  49. package/dist/components/typography/Typography.stories.svelte.d.ts +18 -0
  50. package/dist/safelist.css +3 -0
  51. package/dist/tailwind-safelist.js +7 -9
  52. package/dist/tailwind.preset.d.ts +28 -513
  53. package/dist/tailwind.preset.js +30 -25
  54. package/package.json +25 -10
  55. package/safelist.css +1 -0
@@ -76,145 +76,67 @@
76
76
  {/if}
77
77
 
78
78
  <style>
79
+ @reference "../../app.css";
79
80
  button {
80
- display: flex;
81
- flex-shrink: 0;
82
- cursor: pointer;
83
- align-items: center;
84
- justify-content: center;
85
- border-radius: 0.5rem;
86
- transition-duration: 150ms
87
- }
81
+ @apply flex shrink-0 cursor-pointer items-center justify-center rounded-lg duration-150;
82
+ }
88
83
  .rounded {
89
- border-radius: 9999px !important
90
- }
84
+ @apply rounded-full!;
85
+ }
91
86
  .disabled {
92
- cursor: not-allowed
93
- }
94
- .disabled:disabled {
95
- background-color: #12192a0A;
96
- --tw-text-opacity: 1;
97
- color: rgb(136 140 148 / var(--tw-text-opacity, 1))
98
- }
87
+ @apply cursor-not-allowed disabled:bg-neutral disabled:text-tertiary;
88
+ }
99
89
 
100
90
  .size-xs {
101
- width: 1.5rem;
102
- height: 1.5rem;
103
- border-radius: 0.375rem
104
- }
105
-
106
- .size-xs :global(svg) {
107
- width: 1rem;
108
- height: 1rem
109
- }
91
+ @apply size-6 rounded-md;
92
+ :global(svg) {
93
+ @apply size-4;
94
+ }
95
+ }
110
96
  .size-sm {
111
- width: 2rem;
112
- height: 2rem
113
- }
114
- .size-sm :global(svg) {
115
- width: 1rem;
116
- height: 1rem
117
- }
97
+ @apply size-8;
98
+ :global(svg) {
99
+ @apply size-4;
100
+ }
101
+ }
118
102
  .size-md {
119
- width: 2.5rem;
120
- height: 2.5rem
121
- }
122
- .size-md :global(svg) {
123
- width: 1rem;
124
- height: 1rem
125
- }
103
+ @apply size-10;
104
+ :global(svg) {
105
+ @apply size-4;
106
+ }
107
+ }
126
108
 
127
109
  .size-lg {
128
- width: 3rem;
129
- height: 3rem
130
- }
131
-
132
- .size-lg :global(svg) {
133
- width: 1.25rem;
134
- height: 1.25rem
135
- }
110
+ @apply size-12;
111
+ :global(svg) {
112
+ @apply size-5;
113
+ }
114
+ }
136
115
 
137
116
  .color-outline {
138
- border-width: 1px;
139
- border-color: #12192A1A;
140
- --tw-bg-opacity: 1;
141
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
142
- --tw-shadow: 0 1px 4px 0 rgba(18, 25, 42, 0.02);
143
- --tw-shadow-colored: 0 1px 4px 0 var(--tw-shadow-color);
144
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
145
- }
146
-
147
- .color-outline:hover {
148
- background-color: #12192a0A
149
- }
117
+ @apply border border-input bg-surface shadow-input hover:bg-neutral;
118
+ }
150
119
 
151
120
  .color-primary {
152
- --tw-bg-opacity: 1;
153
- background-color: rgb(87 80 238 / var(--tw-bg-opacity, 1));
154
- --tw-text-opacity: 1;
155
- color: rgb(255 255 255 / var(--tw-text-opacity, 1))
156
- }
157
-
158
- .color-primary:hover {
159
- --tw-bg-opacity: 1;
160
- background-color: rgb(71 65 193 / var(--tw-bg-opacity, 1))
161
- }
121
+ @apply bg-accent-inverse text-icon-primary-inverse hover:bg-accent-inverse-hover;
122
+ }
162
123
  .color-secondary {
163
- background-color: #12192a0A;
164
- --tw-text-opacity: 1;
165
- color: rgb(18 25 42 / var(--tw-text-opacity, 1))
166
- }
167
- .color-secondary:hover {
168
- background-color: #12192A1A
169
- }
124
+ @apply bg-neutral text-icon-primary hover:bg-neutral-hover;
125
+ }
170
126
  .color-accent {
171
- background-color: #5750ee1A;
172
- --tw-text-opacity: 1;
173
- color: rgb(255 255 255 / var(--tw-text-opacity, 1))
174
- }
175
- .color-accent:hover {
176
- background-color: #5750ee40
177
- }
127
+ @apply bg-accent text-icon-primary-inverse hover:bg-accent-hover;
128
+ }
178
129
  .color-transparent {
179
- background-color: transparent;
180
- --tw-text-opacity: 1;
181
- color: rgb(89 94 106 / var(--tw-text-opacity, 1))
182
- }
183
- .color-transparent:hover {
184
- background-color: #12192a0A;
185
- --tw-text-opacity: 1;
186
- color: rgb(18 25 42 / var(--tw-text-opacity, 1))
187
- }
130
+ @apply bg-transparent text-icon-secondary hover:bg-neutral hover:text-icon-primary;
131
+ }
188
132
  .color-danger {
189
- --tw-bg-opacity: 1;
190
- background-color: rgb(235 70 71 / var(--tw-bg-opacity, 1));
191
- --tw-text-opacity: 1;
192
- color: rgb(255 255 255 / var(--tw-text-opacity, 1))
193
- }
194
- .color-danger:hover {
195
- --tw-bg-opacity: 1;
196
- background-color: rgb(191 57 58 / var(--tw-bg-opacity, 1))
197
- }
133
+ @apply bg-danger-inverse text-icon-primary-inverse hover:bg-danger-inverse-hover;
134
+ }
198
135
  .color-secondary-inverse {
199
- background-color: #FFFFFF0D;
200
- --tw-text-opacity: 1;
201
- color: rgb(255 255 255 / var(--tw-text-opacity, 1))
202
- }
203
- .color-secondary-inverse:hover {
204
- background-color: #FFFFFF26
205
- }
136
+ @apply bg-neutral-inverse text-icon-primary-inverse hover:bg-neutral-inverse-hover;
137
+ }
206
138
 
207
139
  .color-transparent-inverse {
208
- background-color: transparent;
209
- --tw-text-opacity: 1;
210
- color: rgb(255 255 255 / var(--tw-text-opacity, 1))
211
- }
212
-
213
- .color-transparent-inverse:hover {
214
- background-color: #FFFFFF26
215
- }
216
-
217
- .color-transparent-inverse:hover:disabled {
218
- background-color: transparent
219
- }
140
+ @apply bg-transparent text-icon-primary-inverse hover:bg-neutral-inverse-hover disabled:hover:bg-transparent;
141
+ }
220
142
  </style>
@@ -101,35 +101,18 @@
101
101
  </div>
102
102
 
103
103
  <style>
104
+ @reference "../../app.css";
104
105
  .withBackground {
106
+ @apply flex items-center justify-center rounded-md;
105
107
 
106
- display: flex;
107
-
108
- align-items: center;
109
-
110
- justify-content: center;
111
-
112
- border-radius: 0.375rem
113
- }
114
-
115
- .withBackground.size-sm {
116
-
117
- height: 1.5rem;
118
-
119
- width: 1.5rem
120
- }
121
-
122
- .withBackground.size-md {
123
-
124
- height: 2rem;
125
-
126
- width: 2rem
127
- }
128
-
129
- .withBackground.size-lg {
130
-
131
- height: 2.5rem;
132
-
133
- width: 2.5rem
134
- }
108
+ &.size-sm {
109
+ @apply h-6 w-6;
110
+ }
111
+ &.size-md {
112
+ @apply h-8 w-8;
113
+ }
114
+ &.size-lg {
115
+ @apply h-10 w-10;
116
+ }
117
+ }
135
118
  </style>
@@ -82,35 +82,18 @@
82
82
  </div>
83
83
 
84
84
  <style>
85
+ @reference "../../app.css";
85
86
  .withBackground {
87
+ @apply flex items-center justify-center rounded-md;
86
88
 
87
- display: flex;
88
-
89
- align-items: center;
90
-
91
- justify-content: center;
92
-
93
- border-radius: 0.375rem
94
- }
95
-
96
- .withBackground.size-sm {
97
-
98
- height: 1.5rem;
99
-
100
- width: 1.5rem
101
- }
102
-
103
- .withBackground.size-md {
104
-
105
- height: 2rem;
106
-
107
- width: 2rem
108
- }
109
-
110
- .withBackground.size-lg {
111
-
112
- height: 2.5rem;
113
-
114
- width: 2.5rem
115
- }
89
+ &.size-sm {
90
+ @apply h-6 w-6;
91
+ }
92
+ &.size-md {
93
+ @apply h-8 w-8;
94
+ }
95
+ &.size-lg {
96
+ @apply h-10 w-10;
97
+ }
98
+ }
116
99
  </style>
@@ -93,7 +93,7 @@
93
93
  <div class="flex-1">
94
94
  <div
95
95
  class={twMerge('flex w-full items-center gap-1 transition-colors', `size-${size}`, className)}
96
- class:!border-error={!valid}
96
+ class:border-error!={!valid}
97
97
  class:primary={variant === 'primary'}
98
98
  class:secondary={variant === 'secondary'}
99
99
  class:transparent={variant === 'transparent'}
@@ -140,164 +140,56 @@
140
140
  </div>
141
141
 
142
142
  <style>
143
+ @reference "../../app.css";
143
144
  input {
144
-
145
- width: 100%;
146
-
147
- resize: none;
148
-
149
- background-color: transparent;
150
-
151
- padding: 0.25rem;
152
-
153
- outline: 2px solid transparent;
154
-
155
- outline-offset: 2px
156
- }
157
-
158
- input::-moz-placeholder {
159
-
160
- --tw-text-opacity: 1;
161
-
162
- color: rgb(136 140 148 / var(--tw-text-opacity, 1))
163
- }
164
-
165
- input::placeholder {
166
-
167
- --tw-text-opacity: 1;
168
-
169
- color: rgb(136 140 148 / var(--tw-text-opacity, 1))
170
- }
145
+ @apply w-full resize-none bg-transparent p-1 outline-none placeholder:text-tertiary;
146
+ }
171
147
 
172
148
  div:not(:focus-within):hover {
173
-
174
- border-color: #5750ee80
175
- }
149
+ @apply border-hover;
150
+ }
176
151
 
177
152
  div:focus-within {
178
-
179
- --tw-border-opacity: 1;
180
-
181
- border-color: rgb(87 80 238 / var(--tw-border-opacity, 1))
182
- }
153
+ @apply border-focus;
154
+ }
183
155
 
184
156
  .primary {
185
-
186
- border-width: 1px;
187
-
188
- border-color: #12192A1A;
189
-
190
- --tw-bg-opacity: 1;
191
-
192
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
193
-
194
- --tw-shadow: 0 1px 4px 0 rgba(18, 25, 42, 0.02);
195
-
196
- --tw-shadow-colored: 0 1px 4px 0 var(--tw-shadow-color);
197
-
198
- box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
199
- }
157
+ @apply border border-input bg-surface shadow-input;
158
+ }
200
159
 
201
160
  .secondary {
202
-
203
- border-width: 1px;
204
-
205
- border-color: #12192A1A;
206
-
207
- --tw-bg-opacity: 1;
208
-
209
- background-color: rgb(249 249 250 / var(--tw-bg-opacity, 1))
210
- }
161
+ @apply border border-input bg-base;
162
+ }
211
163
 
212
164
  .transparent {
213
-
214
- border-width: 1px;
215
-
216
- border-color: transparent
217
- }
165
+ @apply border border-transparent;
166
+ }
218
167
 
219
168
  .borderless {
169
+ @apply border-none;
220
170
 
221
- border-style: none
222
- }
223
-
224
- .borderless input {
225
-
226
- border-style: none;
227
-
228
- outline: 2px solid transparent;
229
-
230
- outline-offset: 2px;
231
-
232
- --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
233
-
234
- --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
235
-
236
- box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
237
- }
171
+ input {
172
+ @apply border-none outline-none ring-0;
173
+ }
174
+ }
238
175
 
239
176
  .size-xs {
240
-
241
- height: 1.5rem;
242
-
243
- border-radius: 0.375rem;
244
-
245
- padding: 0.25rem;
246
-
247
- font-size: 0.75rem;
248
-
249
- line-height: 1rem
250
- }
177
+ @apply h-6 rounded-md p-1 text-xs;
178
+ }
251
179
 
252
180
  .size-sm {
253
-
254
- height: 2rem;
255
-
256
- border-radius: 0.375rem;
257
-
258
- padding: 0.25rem
259
- }
181
+ @apply h-8 rounded-md p-1;
182
+ }
260
183
 
261
184
  .size-md {
262
-
263
- height: 2.5rem;
264
-
265
- border-radius: 0.5rem;
266
-
267
- padding: 0.25rem
268
- }
185
+ @apply h-10 rounded-lg p-1;
186
+ }
269
187
 
270
188
  .size-lg {
271
-
272
- height: 3rem;
273
-
274
- border-radius: 0.5rem;
275
-
276
- padding-left: 0.5rem;
277
-
278
- padding-right: 0.5rem;
279
-
280
- padding-top: 0.75rem;
281
-
282
- padding-bottom: 0.75rem;
283
-
284
- font-size: 1rem;
285
-
286
- line-height: 1.5rem
287
- }
189
+ @apply h-12 rounded-lg px-2 py-3 text-base;
190
+ }
288
191
 
289
192
  .size-dynamic {
290
-
291
- height: auto;
292
-
293
- border-radius: 0.5rem;
294
-
295
- padding-left: 0.75rem;
296
-
297
- padding-right: 0.75rem;
298
-
299
- padding-top: 0.5rem;
300
-
301
- padding-bottom: 0.5rem
302
- }
193
+ @apply h-auto rounded-lg px-3 py-2;
194
+ }
303
195
  </style>
@@ -5,6 +5,7 @@
5
5
  const { Story } = defineMeta({
6
6
  title: 'Design System/Label',
7
7
  component: Label,
8
+ tags: ['autodocs'],
8
9
  argTypes: {
9
10
  text: { control: 'text' },
10
11
  forId: { control: 'text' },
@@ -23,50 +23,24 @@
23
23
  </div>
24
24
 
25
25
  <style>
26
+ @reference "../../app.css";
26
27
  .listStyles {
28
+ @apply flex h-full flex-col items-start self-stretch rounded;
27
29
 
28
- display: flex;
30
+ &.default {
31
+ @apply gap-4;
32
+ }
29
33
 
30
- height: 100%;
34
+ &.compact {
35
+ @apply gap-0 bg-surface px-4;
31
36
 
32
- flex-direction: column;
37
+ :global(> .item:not(:last-child)) {
38
+ @apply border-b border-solid border-static;
39
+ }
40
+ }
33
41
 
34
- align-items: flex-start;
35
-
36
- align-self: stretch;
37
-
38
- border-radius: 0.25rem
39
- }
40
-
41
- .listStyles.default {
42
-
43
- gap: 1rem
44
- }
45
-
46
- .listStyles.compact {
47
-
48
- gap: 0px;
49
-
50
- --tw-bg-opacity: 1;
51
-
52
- background-color: rgb(255 255 255 / var(--tw-bg-opacity, 1));
53
-
54
- padding-left: 1rem;
55
-
56
- padding-right: 1rem
57
- }
58
-
59
- .listStyles.compact :global(> .item:not(:last-child)) {
60
-
61
- border-bottom-width: 1px;
62
-
63
- border-style: solid;
64
-
65
- border-color: #12192a14
66
- }
67
-
68
- .listStyles :global(.item) {
69
-
70
- align-self: stretch
71
- }
42
+ :global(.item) {
43
+ @apply self-stretch;
44
+ }
45
+ }
72
46
  </style>
@@ -223,7 +223,7 @@
223
223
  circle.setAttribute('cy', String(markY));
224
224
  circle.setAttribute('r', String(adjustedMarkerSize));
225
225
  circle.setAttribute('fill', MARKER_COLOR);
226
- circle.setAttribute('class', 'drop-shadow-sm');
226
+ circle.setAttribute('class', 'drop-shadow-xs');
227
227
  circle.setAttribute('opacity', '0.75');
228
228
  circle.setAttribute('stroke', MARKER_BORDER_COLOR);
229
229
  circle.setAttribute('stroke-width', String(1 / transform.scale));
@@ -491,14 +491,14 @@
491
491
  >
492
492
  <Icon icon={ArrowUUpLeft} />
493
493
  </IconButton>
494
- <Divider vertical inverse class="!h-5" />
494
+ <Divider vertical inverse class="h-5!" />
495
495
  <Button
496
496
  variant="transparent-inverse"
497
497
  size="sm"
498
498
  onClick={reset}
499
499
  disabled={marks.length === 0 || disabled}
500
500
  accessibilityLabel="Reset all marks"
501
- class="!text-primary-inverse"
501
+ class="text-primary-inverse!"
502
502
  >
503
503
  Clear all
504
504
  </Button>
@@ -531,7 +531,7 @@
531
531
  </div>
532
532
  {/snippet}
533
533
 
534
- <div bind:this={container} class="group relative h-full w-full overflow-hidden rounded-lg border">
534
+ <div bind:this={container} class="group relative h-full w-full overflow-hidden rounded-lg border border-static">
535
535
  {#if !hideMarkers && !disabled}
536
536
  {@render TopLeftActions()}
537
537
  {@render ZoomControls()}
@@ -267,7 +267,7 @@
267
267
  circle.setAttribute('cy', String(markY));
268
268
  circle.setAttribute('r', String(adjustedMarkerSize));
269
269
  circle.setAttribute('fill', resolvedMarkColor);
270
- circle.setAttribute('class', 'drop-shadow-sm');
270
+ circle.setAttribute('class', 'drop-shadow-xs');
271
271
  group.appendChild(circle);
272
272
 
273
273
  const text = document.createElementNS(svgns, 'text');
@@ -298,7 +298,7 @@
298
298
  circle.setAttribute('cy', String(markY));
299
299
  circle.setAttribute('r', String(adjustedMarkerSize));
300
300
  circle.setAttribute('fill', resolvedActiveMarkerColor());
301
- circle.setAttribute('class', 'drop-shadow-sm');
301
+ circle.setAttribute('class', 'drop-shadow-xs');
302
302
  group.appendChild(circle);
303
303
 
304
304
  const text = document.createElementNS(svgns, 'text');
@@ -557,14 +557,14 @@
557
557
  >
558
558
  <Icon icon={ArrowUUpLeft} />
559
559
  </IconButton>
560
- <Divider vertical inverse class="!h-4" />
560
+ <Divider vertical inverse class="h-4!" />
561
561
  <Button
562
562
  variant="transparent-inverse"
563
563
  size="sm"
564
564
  onClick={reset}
565
565
  disabled={marks.length === 0 || disabled}
566
566
  accessibilityLabel="Reset all marks"
567
- class="!text-primary-inverse"
567
+ class="text-primary-inverse!"
568
568
  >
569
569
  Clear all
570
570
  </Button>
@@ -10,7 +10,7 @@
10
10
 
11
11
  // More on how to set up stories at: https://storybook.js.org/docs/writing-stories
12
12
  const { Story } = defineMeta({
13
- title: 'Components/Nav',
13
+ title: 'Design System/Nav',
14
14
  parameters: {
15
15
  layout: 'fullscreen',
16
16
  },
@@ -111,33 +111,26 @@
111
111
  </div>
112
112
 
113
113
  <style>
114
- .nav:hover .nav-toggle {
115
- opacity: 1;
116
- transition-property: opacity;
117
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
118
- transition-duration: 150ms;
119
- transition-delay: 0s;
120
- }
114
+ @reference "../../app.css";
115
+ .nav {
116
+ &:hover .nav-toggle {
117
+ @apply opacity-100 transition-opacity delay-0;
118
+ }
119
+ }
121
120
 
122
- .main-section-wrapper::after {
121
+ .main-section-wrapper {
122
+ &::after {
123
123
  content: '';
124
- pointer-events: none;
125
- position: absolute;
126
- bottom: 0px;
127
- left: 0px;
128
- right: 0px;
129
- z-index: 10;
130
- height: 1.5rem;
131
- background: linear-gradient(to bottom, transparent, #f9f9fa);
124
+ @apply absolute bottom-0 left-0 right-0 h-6 pointer-events-none z-10;
125
+ background: linear-gradient(to bottom, transparent, var(--color-bg-base, #f9f9fa));
132
126
  }
127
+ }
133
128
 
134
129
  .section {
135
- display: flex;
136
- flex-direction: column;
137
- gap: 0.25rem;
138
- }
130
+ @apply flex flex-col gap-1;
131
+ }
139
132
 
140
133
  .collapsed {
141
- width: 3.5rem;
142
- }
134
+ @apply w-14;
135
+ }
143
136
  </style>