@compose-market/theme 0.1.3 → 0.1.5
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/dist/agents/index.d.ts +5 -16
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +12 -7
- package/dist/agents/index.js.map +1 -1
- package/dist/agents/styles.d.ts +1 -1
- package/dist/agents/styles.d.ts.map +1 -1
- package/dist/agents/styles.js +112 -729
- package/dist/agents/styles.js.map +1 -1
- package/dist/chain-logos/index.d.ts +345 -5
- package/dist/chain-logos/index.d.ts.map +1 -1
- package/dist/chain-logos/index.js +58 -4
- package/dist/chain-logos/index.js.map +1 -1
- package/dist/css/agents.css +112 -729
- package/dist/css/entity.css +581 -0
- package/dist/css/index.css +1 -0
- package/dist/css/index.d.ts +1 -1
- package/dist/css/index.d.ts.map +1 -1
- package/dist/css/index.js +1 -0
- package/dist/css/index.js.map +1 -1
- package/dist/css/mirror.css +78 -20
- package/dist/css/shell.css +1 -17
- package/dist/css/workflows.css +43 -0
- package/dist/entity/index.d.ts +58 -0
- package/dist/entity/index.d.ts.map +1 -0
- package/dist/entity/index.js +22 -0
- package/dist/entity/index.js.map +1 -0
- package/dist/entity/styles.d.ts +2 -0
- package/dist/entity/styles.d.ts.map +1 -0
- package/dist/entity/styles.js +583 -0
- package/dist/entity/styles.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/mirror/index.d.ts +2 -1
- package/dist/mirror/index.d.ts.map +1 -1
- package/dist/mirror/index.js +3 -5
- package/dist/mirror/index.js.map +1 -1
- package/dist/mirror/styles.d.ts +1 -1
- package/dist/mirror/styles.d.ts.map +1 -1
- package/dist/mirror/styles.js +78 -20
- package/dist/mirror/styles.js.map +1 -1
- package/dist/shell/index.d.ts.map +1 -1
- package/dist/shell/index.js +47 -1
- package/dist/shell/index.js.map +1 -1
- package/dist/shell/styles.d.ts +1 -1
- package/dist/shell/styles.d.ts.map +1 -1
- package/dist/shell/styles.js +1 -17
- package/dist/shell/styles.js.map +1 -1
- package/dist/workflows/index.d.ts.map +1 -1
- package/dist/workflows/index.js +28 -2
- package/dist/workflows/index.js.map +1 -1
- package/dist/workflows/styles.d.ts +1 -1
- package/dist/workflows/styles.d.ts.map +1 -1
- package/dist/workflows/styles.js +43 -0
- package/dist/workflows/styles.js.map +1 -1
- package/package.json +10 -1
package/dist/css/mirror.css
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
flex-direction: column;
|
|
6
6
|
min-width: 0;
|
|
7
7
|
min-height: 0;
|
|
8
|
-
height:
|
|
8
|
+
height: 100%;
|
|
9
9
|
overflow: visible;
|
|
10
10
|
border: 1px solid hsl(var(--primary) / 0.18);
|
|
11
11
|
border-radius: 16px;
|
|
@@ -94,13 +94,67 @@
|
|
|
94
94
|
}
|
|
95
95
|
|
|
96
96
|
.cm-mirror-pane__body {
|
|
97
|
-
flex:
|
|
97
|
+
flex: 1 1 auto;
|
|
98
98
|
min-height: 0;
|
|
99
99
|
display: flex;
|
|
100
100
|
flex-direction: column;
|
|
101
|
-
gap: clamp(0.
|
|
101
|
+
gap: clamp(0.85rem, 3cqi, 1.08rem);
|
|
102
102
|
overflow: visible;
|
|
103
|
-
padding: clamp(0.
|
|
103
|
+
padding: clamp(0.85rem, 3cqi, 1.08rem);
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
.cm-mirror-pane__card {
|
|
107
|
+
border: 0;
|
|
108
|
+
background: transparent;
|
|
109
|
+
box-shadow: none;
|
|
110
|
+
backdrop-filter: none;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
.cm-mirror-pane__card > .cm-card__body {
|
|
114
|
+
padding: 0;
|
|
115
|
+
gap: 0.68rem;
|
|
116
|
+
grid-template-rows: auto auto;
|
|
117
|
+
height: auto;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
.cm-mirror-pane__card .cm-card__header {
|
|
121
|
+
gap: 0.78rem;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
.cm-mirror-pane__card .cm-card__title-row {
|
|
125
|
+
flex-wrap: nowrap;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
.cm-mirror-pane__card .cm-card__title {
|
|
129
|
+
min-width: 0;
|
|
130
|
+
overflow: hidden;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
.cm-mirror-pane__card .cm-card__subtitle {
|
|
134
|
+
overflow: hidden;
|
|
135
|
+
text-overflow: ellipsis;
|
|
136
|
+
white-space: nowrap;
|
|
137
|
+
}
|
|
138
|
+
|
|
139
|
+
.cm-mirror-pane__card .cm-card__meta {
|
|
140
|
+
display: grid;
|
|
141
|
+
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
142
|
+
align-items: center;
|
|
143
|
+
width: 100%;
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
.cm-mirror-pane__card .cm-card__meta-chip {
|
|
147
|
+
width: 100%;
|
|
148
|
+
justify-content: center;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
.cm-mirror-pane__card-title {
|
|
152
|
+
display: block;
|
|
153
|
+
min-width: 0;
|
|
154
|
+
max-width: 100%;
|
|
155
|
+
overflow: hidden;
|
|
156
|
+
text-overflow: ellipsis;
|
|
157
|
+
white-space: nowrap;
|
|
104
158
|
}
|
|
105
159
|
|
|
106
160
|
.cm-mirror-pane__footer {
|
|
@@ -146,8 +200,8 @@
|
|
|
146
200
|
|
|
147
201
|
.cm-mirror-pane__model-icon-box {
|
|
148
202
|
display: grid;
|
|
149
|
-
width: 2.
|
|
150
|
-
height: 2.
|
|
203
|
+
width: clamp(2.85rem, 8cqi, 3.35rem);
|
|
204
|
+
height: clamp(2.85rem, 8cqi, 3.35rem);
|
|
151
205
|
place-items: center;
|
|
152
206
|
flex: 0 0 auto;
|
|
153
207
|
border: 1px solid hsl(var(--primary) / 0.24);
|
|
@@ -182,7 +236,7 @@
|
|
|
182
236
|
margin: 0;
|
|
183
237
|
color: hsl(var(--foreground));
|
|
184
238
|
font-family: var(--font-display), sans-serif;
|
|
185
|
-
font-size: clamp(
|
|
239
|
+
font-size: clamp(1.06rem, 4cqi, 1.24rem);
|
|
186
240
|
font-weight: 800;
|
|
187
241
|
line-height: 1.08;
|
|
188
242
|
overflow-wrap: anywhere;
|
|
@@ -198,14 +252,14 @@
|
|
|
198
252
|
.cm-mirror-pane__badge {
|
|
199
253
|
display: inline-flex;
|
|
200
254
|
align-items: center;
|
|
201
|
-
min-height: 1.
|
|
255
|
+
min-height: 1.58rem;
|
|
202
256
|
border: 1px solid hsl(var(--primary) / 0.18);
|
|
203
257
|
border-radius: 999px;
|
|
204
258
|
background: hsl(var(--primary) / 0.08);
|
|
205
259
|
color: hsl(var(--primary));
|
|
206
|
-
padding: 0 0.
|
|
260
|
+
padding: 0 0.58rem;
|
|
207
261
|
font-family: var(--font-mono), monospace;
|
|
208
|
-
font-size: 0.
|
|
262
|
+
font-size: 0.7rem;
|
|
209
263
|
font-weight: 700;
|
|
210
264
|
letter-spacing: 0.06em;
|
|
211
265
|
text-transform: uppercase;
|
|
@@ -240,7 +294,7 @@
|
|
|
240
294
|
margin: 0;
|
|
241
295
|
color: hsl(var(--muted-foreground));
|
|
242
296
|
font-family: var(--font-mono), monospace;
|
|
243
|
-
font-size: 0.
|
|
297
|
+
font-size: 0.82rem;
|
|
244
298
|
line-height: 1.35;
|
|
245
299
|
overflow-wrap: anywhere;
|
|
246
300
|
}
|
|
@@ -265,9 +319,10 @@
|
|
|
265
319
|
|
|
266
320
|
.cm-mirror-pane__description,
|
|
267
321
|
.cm-mirror-pane__description--clamped {
|
|
268
|
-
padding: 0.
|
|
322
|
+
padding: 0.82rem 0.9rem;
|
|
269
323
|
color: hsl(var(--muted-foreground));
|
|
270
|
-
|
|
324
|
+
font-size: 0.92rem;
|
|
325
|
+
line-height: 1.55;
|
|
271
326
|
}
|
|
272
327
|
|
|
273
328
|
.cm-mirror-pane__section {
|
|
@@ -275,6 +330,7 @@
|
|
|
275
330
|
flex-direction: column;
|
|
276
331
|
gap: 0.6rem;
|
|
277
332
|
min-width: 0;
|
|
333
|
+
min-height: 4.2rem;
|
|
278
334
|
}
|
|
279
335
|
|
|
280
336
|
.cm-mirror-pane__section--compact {
|
|
@@ -285,7 +341,7 @@
|
|
|
285
341
|
.cm-mirror-pane__tool-group-label {
|
|
286
342
|
color: hsl(var(--muted-foreground));
|
|
287
343
|
font-family: var(--font-mono), monospace;
|
|
288
|
-
font-size: 0.
|
|
344
|
+
font-size: 0.74rem;
|
|
289
345
|
font-weight: 800;
|
|
290
346
|
letter-spacing: 0.1em;
|
|
291
347
|
text-transform: uppercase;
|
|
@@ -300,6 +356,7 @@
|
|
|
300
356
|
justify-content: space-between;
|
|
301
357
|
gap: 0.75rem;
|
|
302
358
|
min-width: 0;
|
|
359
|
+
min-height: 2.75rem;
|
|
303
360
|
}
|
|
304
361
|
|
|
305
362
|
.cm-mirror-pane__io-row {
|
|
@@ -311,7 +368,7 @@
|
|
|
311
368
|
flex: 0 0 auto;
|
|
312
369
|
color: hsl(var(--muted-foreground));
|
|
313
370
|
font-family: var(--font-mono), monospace;
|
|
314
|
-
font-size: 0.
|
|
371
|
+
font-size: 0.76rem;
|
|
315
372
|
}
|
|
316
373
|
|
|
317
374
|
.cm-mirror-pane__io-badges,
|
|
@@ -334,7 +391,7 @@
|
|
|
334
391
|
min-width: 0;
|
|
335
392
|
color: hsl(var(--foreground));
|
|
336
393
|
font-family: var(--font-mono), monospace;
|
|
337
|
-
font-size: 0.
|
|
394
|
+
font-size: 0.82rem;
|
|
338
395
|
text-align: right;
|
|
339
396
|
overflow-wrap: anywhere;
|
|
340
397
|
}
|
|
@@ -345,13 +402,14 @@
|
|
|
345
402
|
display: flex;
|
|
346
403
|
flex-direction: column;
|
|
347
404
|
gap: 0.45rem;
|
|
405
|
+
min-height: 4.2rem;
|
|
348
406
|
padding: 0.62rem 0.7rem;
|
|
349
407
|
}
|
|
350
408
|
|
|
351
409
|
.cm-mirror-pane__pricing-unit {
|
|
352
410
|
color: hsl(var(--muted-foreground) / 0.72);
|
|
353
411
|
font-family: var(--font-mono), monospace;
|
|
354
|
-
font-size: 0.
|
|
412
|
+
font-size: 0.72rem;
|
|
355
413
|
letter-spacing: 0.08em;
|
|
356
414
|
text-transform: uppercase;
|
|
357
415
|
}
|
|
@@ -393,7 +451,7 @@
|
|
|
393
451
|
padding: 0.72rem;
|
|
394
452
|
color: hsl(var(--foreground));
|
|
395
453
|
font-family: var(--font-mono), monospace;
|
|
396
|
-
font-size: 0.
|
|
454
|
+
font-size: 0.86rem;
|
|
397
455
|
resize: vertical;
|
|
398
456
|
}
|
|
399
457
|
|
|
@@ -402,7 +460,7 @@
|
|
|
402
460
|
min-height: 2.45rem;
|
|
403
461
|
color: hsl(var(--foreground));
|
|
404
462
|
font-family: var(--font-mono), monospace;
|
|
405
|
-
font-size: 0.
|
|
463
|
+
font-size: 0.86rem;
|
|
406
464
|
}
|
|
407
465
|
|
|
408
466
|
.cm-mirror-pane__field:focus,
|
|
@@ -417,7 +475,7 @@
|
|
|
417
475
|
.cm-mirror-pane__param-description,
|
|
418
476
|
.cm-mirror-pane__no-params {
|
|
419
477
|
color: hsl(var(--muted-foreground));
|
|
420
|
-
font-size: 0.
|
|
478
|
+
font-size: 0.86rem;
|
|
421
479
|
line-height: 1.4;
|
|
422
480
|
}
|
|
423
481
|
|
package/dist/css/shell.css
CHANGED
|
@@ -166,7 +166,6 @@
|
|
|
166
166
|
}
|
|
167
167
|
|
|
168
168
|
.cm-hint {
|
|
169
|
-
position: relative;
|
|
170
169
|
display: inline-flex;
|
|
171
170
|
align-items: center;
|
|
172
171
|
}
|
|
@@ -185,13 +184,9 @@
|
|
|
185
184
|
}
|
|
186
185
|
|
|
187
186
|
.cm-hint__content {
|
|
188
|
-
|
|
189
|
-
z-index: 80;
|
|
190
|
-
left: 50%;
|
|
191
|
-
bottom: calc(100% + 0.45rem);
|
|
187
|
+
z-index: 120;
|
|
192
188
|
min-width: max-content;
|
|
193
189
|
max-width: min(18rem, 72vw);
|
|
194
|
-
transform: translate(-50%, 0.25rem);
|
|
195
190
|
border: 1px solid hsl(var(--primary) / 0.26);
|
|
196
191
|
border-radius: 8px;
|
|
197
192
|
background:
|
|
@@ -204,23 +199,12 @@
|
|
|
204
199
|
font-size: 0.68rem;
|
|
205
200
|
letter-spacing: 0.04em;
|
|
206
201
|
line-height: 1.35;
|
|
207
|
-
opacity: 0;
|
|
208
202
|
padding: 0.48rem 0.58rem;
|
|
209
203
|
pointer-events: none;
|
|
210
204
|
text-align: left;
|
|
211
|
-
transition:
|
|
212
|
-
opacity 140ms ease,
|
|
213
|
-
transform 140ms ease;
|
|
214
205
|
white-space: normal;
|
|
215
206
|
}
|
|
216
207
|
|
|
217
|
-
.cm-hint__trigger:hover + .cm-hint__content,
|
|
218
|
-
.cm-hint__trigger:focus-visible + .cm-hint__content,
|
|
219
|
-
.cm-hint:focus-within .cm-hint__content {
|
|
220
|
-
opacity: 1;
|
|
221
|
-
transform: translate(-50%, 0);
|
|
222
|
-
}
|
|
223
|
-
|
|
224
208
|
.cm-excerpt {
|
|
225
209
|
min-width: 0;
|
|
226
210
|
max-width: 100%;
|
package/dist/css/workflows.css
CHANGED
|
@@ -592,6 +592,49 @@
|
|
|
592
592
|
}
|
|
593
593
|
}
|
|
594
594
|
|
|
595
|
+
/* Shared card-backed workflow overrides */
|
|
596
|
+
.cm-workflow-card.cm-card {
|
|
597
|
+
display: grid;
|
|
598
|
+
min-height: 0;
|
|
599
|
+
overflow: visible;
|
|
600
|
+
border-color: hsl(var(--accent) / 0.24);
|
|
601
|
+
background:
|
|
602
|
+
linear-gradient(145deg, hsl(226 21% 23% / 0.42), hsl(221 50% 9% / 0.32)),
|
|
603
|
+
radial-gradient(circle at 18% 0%, hsl(var(--accent) / 0.08), transparent 34%),
|
|
604
|
+
hsl(224 36% 13% / 0.24);
|
|
605
|
+
}
|
|
606
|
+
|
|
607
|
+
.cm-workflow-card.cm-card .cm-card__body {
|
|
608
|
+
padding: 1rem;
|
|
609
|
+
}
|
|
610
|
+
|
|
611
|
+
.cm-workflow-card__banner-image {
|
|
612
|
+
display: block;
|
|
613
|
+
width: 100%;
|
|
614
|
+
height: 100%;
|
|
615
|
+
object-fit: cover;
|
|
616
|
+
}
|
|
617
|
+
|
|
618
|
+
.cm-workflow-card__coordinator,
|
|
619
|
+
.cm-workflow-card__agents,
|
|
620
|
+
.cm-workflow-card__lease,
|
|
621
|
+
.cm-workflow-card__endpoint-row,
|
|
622
|
+
.cm-workflow-card__agent-preview {
|
|
623
|
+
min-width: 0;
|
|
624
|
+
max-width: 100%;
|
|
625
|
+
overflow: visible;
|
|
626
|
+
}
|
|
627
|
+
|
|
628
|
+
.cm-workflow-card__coordinator-value,
|
|
629
|
+
.cm-workflow-card__endpoint-code,
|
|
630
|
+
.cm-workflow-card__agent-preview-name,
|
|
631
|
+
.cm-workflow-card__agent-preview-model {
|
|
632
|
+
white-space: normal;
|
|
633
|
+
overflow: visible;
|
|
634
|
+
text-overflow: clip;
|
|
635
|
+
overflow-wrap: anywhere;
|
|
636
|
+
}
|
|
637
|
+
|
|
595
638
|
/* Plan review shell */
|
|
596
639
|
.cm-plan-review {
|
|
597
640
|
display: flex;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import * as React from "react";
|
|
2
|
+
export type Variant = "market" | "detail" | "pane" | "compact";
|
|
3
|
+
export type Tone = "neutral" | "cyan" | "green" | "fuchsia" | "warning" | "danger";
|
|
4
|
+
export interface Mark {
|
|
5
|
+
label: React.ReactNode;
|
|
6
|
+
icon?: React.ReactNode;
|
|
7
|
+
tone?: Tone;
|
|
8
|
+
}
|
|
9
|
+
export interface Badge {
|
|
10
|
+
label: React.ReactNode;
|
|
11
|
+
icon?: React.ReactNode;
|
|
12
|
+
tone?: Tone;
|
|
13
|
+
}
|
|
14
|
+
export interface Metric {
|
|
15
|
+
label: React.ReactNode;
|
|
16
|
+
value: React.ReactNode;
|
|
17
|
+
icon?: React.ReactNode;
|
|
18
|
+
tone?: Tone;
|
|
19
|
+
}
|
|
20
|
+
export interface Tag {
|
|
21
|
+
label: React.ReactNode;
|
|
22
|
+
title?: string;
|
|
23
|
+
}
|
|
24
|
+
export interface Section {
|
|
25
|
+
label?: React.ReactNode;
|
|
26
|
+
children: React.ReactNode;
|
|
27
|
+
}
|
|
28
|
+
export interface CardProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
|
|
29
|
+
variant?: Variant;
|
|
30
|
+
media?: React.ReactNode;
|
|
31
|
+
mediaAlt?: string;
|
|
32
|
+
mediaFallback?: React.ReactNode;
|
|
33
|
+
title: React.ReactNode;
|
|
34
|
+
marks?: Mark[];
|
|
35
|
+
subtitle?: React.ReactNode;
|
|
36
|
+
meta?: Badge[];
|
|
37
|
+
description?: React.ReactNode;
|
|
38
|
+
badges?: Badge[];
|
|
39
|
+
metrics?: Metric[];
|
|
40
|
+
focusLabel?: React.ReactNode;
|
|
41
|
+
focusValue?: React.ReactNode;
|
|
42
|
+
focusIcon?: React.ReactNode;
|
|
43
|
+
tagsTitle?: React.ReactNode;
|
|
44
|
+
tags?: Tag[];
|
|
45
|
+
sections?: Section[];
|
|
46
|
+
headerAction?: React.ReactNode;
|
|
47
|
+
footer?: React.ReactNode;
|
|
48
|
+
actions?: React.ReactNode;
|
|
49
|
+
interactive?: boolean;
|
|
50
|
+
status?: "default" | "running";
|
|
51
|
+
}
|
|
52
|
+
export declare function Card({ variant, media, mediaAlt, mediaFallback, title, marks, subtitle, meta, description, badges, metrics, focusLabel, focusValue, focusIcon, tagsTitle, tags, sections, headerAction, footer, actions, interactive, status, className, ...props }: CardProps): React.JSX.Element;
|
|
53
|
+
export interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
54
|
+
media?: boolean;
|
|
55
|
+
rows?: number;
|
|
56
|
+
}
|
|
57
|
+
export declare function Skeleton({ className, media, rows, ...props }: SkeletonProps): React.JSX.Element;
|
|
58
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/entity/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cx } from "../internal/cx";
|
|
3
|
+
function tone(value) {
|
|
4
|
+
return value || "neutral";
|
|
5
|
+
}
|
|
6
|
+
function Mark({ mark }) {
|
|
7
|
+
return (_jsxs("span", { className: "cm-card__mark", "data-tone": tone(mark.tone), "aria-label": typeof mark.label === "string" ? mark.label : undefined, children: [mark.icon ? _jsx("span", { className: "cm-card__mark-icon", children: mark.icon }) : null, _jsx("span", { className: "cm-card__mark-label", children: mark.label })] }));
|
|
8
|
+
}
|
|
9
|
+
function Badge({ badge, className }) {
|
|
10
|
+
return (_jsxs("span", { className: className, "data-tone": tone(badge.tone), children: [badge.icon ? _jsx("span", { className: `${className}-icon`, children: badge.icon }) : null, _jsx("span", { children: badge.label })] }));
|
|
11
|
+
}
|
|
12
|
+
function text(value) {
|
|
13
|
+
return typeof value === "string" && value.trim() ? value : undefined;
|
|
14
|
+
}
|
|
15
|
+
export function Card({ variant = "detail", media, mediaAlt, mediaFallback, title, marks = [], subtitle, meta = [], description, badges = [], metrics = [], focusLabel, focusValue, focusIcon, tagsTitle = "Tags", tags = [], sections = [], headerAction, footer, actions, interactive = false, status = "default", className, ...props }) {
|
|
16
|
+
const mediaNode = media ?? (mediaFallback ? (_jsx("span", { className: "cm-card__media-fallback", children: mediaFallback })) : null);
|
|
17
|
+
return (_jsxs("article", { className: cx("cm-card", `cm-card--${variant}`, status === "running" && "cm-card--running", interactive && "cm-card--interactive", className), ...props, children: [_jsxs("div", { className: "cm-card__body", children: [_jsxs("div", { className: "cm-card__header", children: [mediaNode ? (_jsx("div", { className: "cm-card__media", "aria-label": mediaAlt, children: mediaNode })) : null, _jsxs("div", { className: "cm-card__identity", children: [_jsxs("div", { className: "cm-card__title-row", children: [_jsx("h3", { className: "cm-card__title", children: title }), marks.length > 0 ? (_jsx("span", { className: "cm-card__marks", children: marks.map((mark, index) => _jsx(Mark, { mark: mark }, index)) })) : null, headerAction ? _jsx("span", { className: "cm-card__header-action", children: headerAction }) : null] }), subtitle ? _jsx("div", { className: "cm-card__subtitle", children: subtitle }) : null, meta.length > 0 ? (_jsx("div", { className: "cm-card__meta", children: meta.map((item, index) => _jsx(Badge, { badge: item, className: "cm-card__meta-chip" }, index)) })) : null] })] }), description ? _jsx("div", { className: "cm-card__description", children: description }) : null, badges.length > 0 ? (_jsx("div", { className: "cm-card__badges", children: badges.map((badge, index) => _jsx(Badge, { badge: badge, className: "cm-card__badge" }, index)) })) : null, metrics.length > 0 ? (_jsx("div", { className: "cm-card__metrics", children: metrics.map((metric, index) => (_jsxs("div", { className: "cm-card__metric", "data-tone": tone(metric.tone), title: text(metric.label), "aria-label": text(metric.label), children: [metric.icon ? _jsx("span", { className: "cm-card__metric-icon", children: metric.icon }) : null, _jsxs("span", { className: "cm-card__metric-copy", children: [_jsx("span", { className: "cm-card__metric-label", children: metric.label }), _jsx("strong", { className: "cm-card__metric-value", children: metric.value })] })] }, index))) })) : null, focusValue ? (_jsxs("div", { className: "cm-card__focus", children: [focusIcon ? _jsx("span", { className: "cm-card__focus-icon", children: focusIcon }) : null, _jsxs("span", { className: "cm-card__focus-copy", children: [focusLabel ? _jsx("span", { className: "cm-card__focus-label", children: focusLabel }) : null, _jsx("strong", { className: "cm-card__focus-value", children: focusValue })] })] })) : null, tags.length > 0 ? (_jsxs("div", { className: "cm-card__tags-block", children: [tagsTitle ? _jsx("div", { className: "cm-card__tags-title", children: tagsTitle }) : null, _jsx("div", { className: "cm-card__tags", children: tags.map((tag, index) => (_jsx("span", { className: "cm-card__tag", title: tag.title, children: tag.label }, index))) })] })) : null, sections.length > 0 ? (_jsx("div", { className: "cm-card__sections", children: sections.map((section, index) => (_jsxs("section", { className: "cm-card__section", children: [section.label ? _jsx("div", { className: "cm-card__section-label", children: section.label }) : null, _jsx("div", { className: "cm-card__section-body", children: section.children })] }, index))) })) : null, footer ? _jsx("div", { className: "cm-card__footer", children: footer }) : null] }), actions ? _jsx("div", { className: "cm-card__actions", children: actions }) : null] }));
|
|
18
|
+
}
|
|
19
|
+
export function Skeleton({ className, media = true, rows = 4, ...props }) {
|
|
20
|
+
return (_jsx("div", { className: cx("cm-card cm-card--skeleton", className), ...props, children: _jsxs("div", { className: "cm-card__body", children: [_jsxs("div", { className: "cm-card__header", children: [media ? _jsx("div", { className: "cm-card__skeleton cm-card__skeleton--media" }) : null, _jsxs("div", { className: "cm-card__identity", children: [_jsx("div", { className: "cm-card__skeleton cm-card__skeleton--title" }), _jsx("div", { className: "cm-card__skeleton cm-card__skeleton--line" })] })] }), Array.from({ length: rows }).map((_, index) => (_jsx("div", { className: "cm-card__skeleton cm-card__skeleton--line" }, index)))] }) }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/entity/index.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
export declare const entityCss = "/**\n * Compose.Market Card\n * @compose-market/theme/css/entity\n */\n\n.cm-card {\n container-type: inline-size;\n display: grid;\n grid-template-columns: minmax(0, 1fr);\n grid-template-rows: minmax(0, 1fr) auto;\n width: 100%;\n height: 100%;\n min-height: 0;\n min-width: 0;\n max-width: 100%;\n border: 1px solid hsl(var(--primary) / 0.18);\n border-radius: 12px;\n background:\n linear-gradient(145deg, hsl(226 21% 23% / 0.42), hsl(221 50% 9% / 0.32)),\n radial-gradient(circle at 18% 0%, hsl(var(--primary) / 0.08), transparent 34%),\n hsl(224 36% 13% / 0.24);\n box-shadow:\n 0 0 34px hsl(var(--primary) / 0.055),\n inset 0 1px 0 hsl(0 0% 100% / 0.06);\n overflow: visible;\n color: hsl(var(--foreground));\n backdrop-filter: blur(16px) saturate(1.12);\n}\n\n.cm-card--interactive {\n cursor: pointer;\n transition:\n transform 180ms ease,\n border-color 180ms ease,\n box-shadow 180ms ease;\n}\n\n.cm-card--interactive:hover {\n transform: translateY(-2px);\n border-color: hsl(var(--primary) / 0.45);\n box-shadow:\n 0 18px 36px hsl(240 30% 2% / 0.32),\n 0 0 24px hsl(var(--primary) / 0.14),\n inset 0 1px 0 hsl(0 0% 100% / 0.05);\n}\n\n.cm-card--interactive:focus-visible {\n outline: 2px solid hsl(var(--primary) / 0.72);\n outline-offset: 3px;\n}\n\n.cm-card--running {\n border-color: hsl(142 71% 45% / 0.48);\n box-shadow:\n 0 10px 30px hsl(142 71% 45% / 0.08),\n 0 0 24px hsl(142 71% 45% / 0.12),\n inset 0 1px 0 hsl(0 0% 100% / 0.05);\n}\n\n.cm-card__body {\n display: grid;\n gap: 0.9rem;\n height: 100%;\n min-width: 0;\n min-height: 0;\n max-width: 100%;\n padding: 1rem;\n align-content: start;\n}\n\n.cm-card__header {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n align-items: flex-start;\n gap: 0.9rem;\n min-width: 0;\n max-width: 100%;\n}\n\n.cm-card__media {\n display: grid;\n width: 3.5rem;\n height: 3.5rem;\n place-items: center;\n min-width: 0;\n flex: 0 0 auto;\n overflow: hidden;\n border: 1px solid hsl(var(--primary) / 0.28);\n border-radius: max(var(--radius, 0.25rem), 0.35rem);\n background:\n linear-gradient(180deg, hsl(var(--background) / 0.92), hsl(var(--muted) / 0.34));\n box-shadow: inset 0 0 0 1px hsl(var(--primary) / 0.08);\n}\n\n.cm-card__media img,\n.cm-card__media video {\n display: block;\n width: 100%;\n height: 100%;\n object-fit: cover;\n}\n\n.cm-card__media-fallback {\n color: hsl(var(--primary));\n font-family: var(--font-mono), monospace;\n font-size: 0.88rem;\n font-weight: 700;\n letter-spacing: 0.14em;\n text-transform: uppercase;\n}\n\n.cm-card__identity {\n display: grid;\n gap: 0.38rem;\n min-width: 0;\n max-width: 100%;\n}\n\n.cm-card__title-row {\n display: flex;\n align-items: center;\n gap: 0.45rem;\n min-width: 0;\n max-width: 100%;\n flex-wrap: wrap;\n}\n\n.cm-card__title {\n min-width: 0;\n max-width: 100%;\n margin: 0;\n color: hsl(var(--foreground));\n font-family: var(--font-display), sans-serif;\n font-size: 1.08rem;\n font-weight: 800;\n letter-spacing: 0;\n line-height: 1.12;\n overflow-wrap: anywhere;\n}\n\n.cm-card__marks {\n display: inline-flex;\n align-items: center;\n gap: 0.32rem;\n flex: 0 0 auto;\n}\n\n.cm-card__mark {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n min-width: 1.15rem;\n min-height: 1.15rem;\n color: hsl(var(--primary));\n}\n\n.cm-card__mark-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n}\n\n.cm-card__mark-icon svg {\n width: 1rem;\n height: 1rem;\n stroke-width: 2.6;\n}\n\n.cm-card__mark[data-tone=\"green\"] {\n color: hsl(142 76% 54%);\n}\n\n.cm-card__mark[data-tone=\"fuchsia\"] {\n color: hsl(var(--accent));\n}\n\n.cm-card__mark[data-tone=\"warning\"] {\n color: hsl(42 100% 58%);\n}\n\n.cm-card__mark-label {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.cm-card__header-action {\n display: inline-flex;\n margin-left: auto;\n flex: 0 0 auto;\n}\n\n.cm-card__subtitle {\n min-width: 0;\n max-width: 100%;\n color: hsl(var(--muted-foreground));\n font-family: var(--font-mono), monospace;\n font-size: 0.8rem;\n line-height: 1.25;\n overflow-wrap: anywhere;\n}\n\n.cm-card__meta,\n.cm-card__badges,\n.cm-card__tags {\n display: flex;\n align-items: center;\n gap: 0.45rem;\n flex-wrap: wrap;\n min-width: 0;\n max-width: 100%;\n}\n\n.cm-card__meta-chip,\n.cm-card__badge,\n.cm-card__tag {\n display: inline-flex;\n align-items: center;\n gap: 0.34rem;\n min-width: 0;\n max-width: 100%;\n min-height: 1.78rem;\n max-height: 1.78rem;\n padding: 0.32rem 0.62rem;\n border: 1px solid hsl(var(--border) / 0.72);\n border-radius: 999px;\n background: hsl(var(--muted) / 0.28);\n color: hsl(var(--muted-foreground));\n font-family: var(--font-mono), monospace;\n font-size: 0.72rem;\n font-weight: 650;\n letter-spacing: 0.04em;\n line-height: 1.2;\n overflow: hidden;\n overflow-wrap: anywhere;\n}\n\n.cm-card__meta-chip > span:last-child,\n.cm-card__badge > span:last-child,\n.cm-card__tag {\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.cm-card__meta-chip-icon,\n.cm-card__badge-icon {\n display: inline-flex;\n flex: 0 0 auto;\n}\n\n.cm-card__meta-chip-icon svg,\n.cm-card__badge-icon svg {\n width: 0.82rem;\n height: 0.82rem;\n}\n\n.cm-card__meta-chip[data-tone=\"cyan\"],\n.cm-card__badge[data-tone=\"cyan\"],\n.cm-card__tag {\n border-color: hsl(var(--primary) / 0.28);\n background: hsl(var(--primary) / 0.12);\n color: hsl(var(--primary));\n}\n\n.cm-card__meta-chip[data-tone=\"green\"],\n.cm-card__badge[data-tone=\"green\"] {\n border-color: hsl(142 71% 45% / 0.28);\n background: hsl(142 71% 45% / 0.12);\n color: hsl(142 71% 45%);\n}\n\n.cm-card__meta-chip[data-tone=\"fuchsia\"],\n.cm-card__badge[data-tone=\"fuchsia\"] {\n border-color: hsl(var(--accent) / 0.28);\n background: hsl(var(--accent) / 0.12);\n color: hsl(var(--accent));\n}\n\n.cm-card__meta-chip[data-tone=\"warning\"],\n.cm-card__badge[data-tone=\"warning\"] {\n border-color: hsl(42 100% 48% / 0.28);\n background: hsl(42 100% 48% / 0.12);\n color: hsl(42 100% 58%);\n}\n\n.cm-card__meta-chip[data-tone=\"danger\"],\n.cm-card__badge[data-tone=\"danger\"] {\n border-color: hsl(var(--destructive) / 0.28);\n background: hsl(var(--destructive) / 0.12);\n color: hsl(var(--destructive));\n}\n\n.cm-card__description {\n min-width: 0;\n max-width: 100%;\n color: hsl(var(--muted-foreground));\n font-size: 0.94rem;\n line-height: 1.52;\n overflow-wrap: anywhere;\n}\n\n.cm-card__metrics {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(8.5rem, 1fr));\n align-items: stretch;\n gap: 0.58rem;\n min-width: 0;\n}\n\n.cm-card__metric {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n align-items: center;\n gap: 0.55rem;\n min-width: 0;\n min-height: 3.05rem;\n max-height: 3.05rem;\n padding: 0.58rem 0.68rem;\n border: 1px solid hsl(var(--border) / 0.62);\n border-radius: var(--radius, 0.25rem);\n background:\n radial-gradient(circle at 0% 0%, hsl(var(--primary) / 0.07), transparent 42%),\n hsl(var(--background) / 0.48);\n}\n\n.cm-card__metric-icon,\n.cm-card__focus-icon {\n display: inline-flex;\n align-items: center;\n justify-content: center;\n color: hsl(var(--primary));\n}\n\n.cm-card__metric-icon svg,\n.cm-card__focus-icon svg {\n width: 1rem;\n height: 1rem;\n}\n\n.cm-card__metric-copy,\n.cm-card__focus-copy,\n.cm-card__tags-block,\n.cm-card__sections,\n.cm-card__section,\n.cm-card__section-body {\n display: grid;\n gap: 0.35rem;\n min-width: 0;\n max-width: 100%;\n}\n\n.cm-card__metric-label,\n.cm-card__focus-label,\n.cm-card__tags-title,\n.cm-card__section-label {\n color: hsl(var(--muted-foreground));\n font-family: var(--font-mono), monospace;\n font-size: 0.68rem;\n font-weight: 700;\n letter-spacing: 0.08em;\n line-height: 1.25;\n text-transform: uppercase;\n}\n\n.cm-card__metric-label {\n position: absolute;\n width: 1px;\n height: 1px;\n padding: 0;\n margin: -1px;\n overflow: hidden;\n clip: rect(0, 0, 0, 0);\n white-space: nowrap;\n border: 0;\n}\n\n.cm-card__metric-value,\n.cm-card__focus-value {\n color: hsl(var(--foreground));\n font-family: var(--font-mono), monospace;\n font-size: 0.84rem;\n line-height: 1.25;\n overflow-wrap: anywhere;\n}\n\n.cm-card__metric[data-tone=\"green\"] .cm-card__metric-icon,\n.cm-card__metric[data-tone=\"green\"] .cm-card__metric-value {\n color: hsl(142 71% 45%);\n}\n\n.cm-card__metric[data-tone=\"cyan\"] .cm-card__metric-icon,\n.cm-card__metric[data-tone=\"cyan\"] .cm-card__metric-value {\n color: hsl(var(--primary));\n}\n\n.cm-card__metric[data-tone=\"fuchsia\"] .cm-card__metric-icon,\n.cm-card__metric[data-tone=\"fuchsia\"] .cm-card__metric-value {\n color: hsl(var(--accent));\n}\n\n.cm-card__metric[data-tone=\"warning\"] .cm-card__metric-icon,\n.cm-card__metric[data-tone=\"warning\"] .cm-card__metric-value {\n color: hsl(42 100% 58%);\n}\n\n.cm-card__focus,\n.cm-card__section {\n display: grid;\n grid-template-columns: auto minmax(0, 1fr);\n gap: 0.68rem;\n align-items: center;\n min-width: 0;\n min-height: 4.05rem;\n padding: 0.78rem 0.88rem;\n border: 1px solid hsl(var(--border) / 0.72);\n border-radius: var(--radius, 0.25rem);\n background:\n linear-gradient(135deg, hsl(var(--primary) / 0.1), transparent 68%),\n hsl(221 50% 9% / 0.22);\n}\n\n.cm-card__section {\n grid-template-columns: minmax(0, 1fr);\n align-items: start;\n}\n\n.cm-card__footer {\n min-width: 0;\n max-width: 100%;\n align-self: end;\n padding-top: 0.85rem;\n border-top: 1px solid hsl(var(--border) / 0.52);\n}\n\n.cm-card__actions {\n display: flex;\n align-items: flex-start;\n gap: 0.55rem;\n padding: 1rem 1rem 1rem 0;\n flex-wrap: wrap;\n}\n\n.cm-card__actions:empty {\n display: none;\n}\n\n.cm-card--market .cm-card__body {\n gap: 0.92rem;\n padding: 0.95rem;\n grid-template-rows:\n minmax(5.9rem, auto)\n minmax(calc(0.95rem * 1.52 * 3), auto)\n minmax(3.05rem, auto)\n minmax(3.75rem, auto);\n align-content: start;\n}\n\n.cm-card--market .cm-card__media {\n width: 3.25rem;\n height: 3.25rem;\n}\n\n.cm-card--market .cm-card__title {\n font-size: 1.08rem;\n}\n\n.cm-card--market .cm-card__description {\n font-size: 0.95rem;\n line-height: 1.52;\n min-height: calc(0.95rem * 1.52 * 3);\n}\n\n.cm-card--market .cm-card__metrics {\n grid-template-columns: repeat(3, minmax(0, 1fr));\n}\n\n.cm-card--market .cm-card__metric {\n min-height: 3.05rem;\n max-height: 3.05rem;\n}\n\n.cm-card--market .cm-card__tags-block {\n align-self: start;\n min-height: 3.75rem;\n}\n\n.cm-card--detail .cm-card__body,\n.cm-card--pane .cm-card__body {\n align-content: start;\n}\n\n.cm-card--detail .cm-card__description,\n.cm-card--pane .cm-card__description {\n font-size: 0.96rem;\n line-height: 1.55;\n}\n\n.cm-card--compact .cm-card__body {\n gap: 0.68rem;\n padding: 0.78rem;\n}\n\n.cm-card--compact .cm-card__media {\n width: 2.8rem;\n height: 2.8rem;\n}\n\n.cm-card--pane .cm-card__media {\n border-radius: 10px;\n}\n\n.cm-card--skeleton {\n pointer-events: none;\n}\n\n.cm-card__skeleton {\n border-radius: var(--radius, 0.25rem);\n background: linear-gradient(90deg, hsl(var(--muted) / 0.55), hsl(var(--muted) / 0.8), hsl(var(--muted) / 0.55));\n background-size: 220% 100%;\n animation: cm-card-shimmer 1.6s linear infinite;\n}\n\n.cm-card__skeleton--media {\n width: 3.5rem;\n height: 3.5rem;\n}\n\n.cm-card__skeleton--title {\n width: min(12rem, 70%);\n height: 1.18rem;\n}\n\n.cm-card__skeleton--line {\n width: 100%;\n height: 0.88rem;\n}\n\n@container (max-width: 22rem) {\n .cm-card__header {\n gap: 0.75rem;\n }\n\n .cm-card__metrics {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .cm-card--market .cm-card__metrics {\n grid-template-columns: minmax(0, 1fr);\n }\n\n .cm-card--market .cm-card__description,\n .cm-card--market .cm-card__tags-block {\n min-height: 0;\n }\n}\n\n@keyframes cm-card-shimmer {\n 0% {\n background-position: 200% 0;\n }\n\n 100% {\n background-position: -200% 0;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .cm-card--interactive,\n .cm-card__skeleton {\n transition-duration: 0.01ms !important;\n animation-duration: 0.01ms !important;\n }\n}\n";
|
|
2
|
+
//# sourceMappingURL=styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../../src/entity/styles.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,6wYAqkBrB,CAAC"}
|