@compose-market/theme 0.1.4 → 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.
Files changed (57) hide show
  1. package/dist/agents/index.d.ts +5 -16
  2. package/dist/agents/index.d.ts.map +1 -1
  3. package/dist/agents/index.js +12 -7
  4. package/dist/agents/index.js.map +1 -1
  5. package/dist/agents/styles.d.ts +1 -1
  6. package/dist/agents/styles.d.ts.map +1 -1
  7. package/dist/agents/styles.js +110 -736
  8. package/dist/agents/styles.js.map +1 -1
  9. package/dist/chain-logos/index.d.ts +345 -5
  10. package/dist/chain-logos/index.d.ts.map +1 -1
  11. package/dist/chain-logos/index.js +59 -4
  12. package/dist/chain-logos/index.js.map +1 -1
  13. package/dist/css/agents.css +110 -736
  14. package/dist/css/entity.css +581 -0
  15. package/dist/css/index.css +1 -0
  16. package/dist/css/index.d.ts +1 -1
  17. package/dist/css/index.d.ts.map +1 -1
  18. package/dist/css/index.js +1 -0
  19. package/dist/css/index.js.map +1 -1
  20. package/dist/css/mirror.css +59 -2
  21. package/dist/css/shell.css +1 -17
  22. package/dist/css/workflows.css +43 -0
  23. package/dist/entity/index.d.ts +58 -0
  24. package/dist/entity/index.d.ts.map +1 -0
  25. package/dist/entity/index.js +22 -0
  26. package/dist/entity/index.js.map +1 -0
  27. package/dist/entity/styles.d.ts +2 -0
  28. package/dist/entity/styles.d.ts.map +1 -0
  29. package/dist/entity/styles.js +583 -0
  30. package/dist/entity/styles.js.map +1 -0
  31. package/dist/index.d.ts +1 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +1 -0
  34. package/dist/index.js.map +1 -1
  35. package/dist/mirror/index.d.ts +2 -1
  36. package/dist/mirror/index.d.ts.map +1 -1
  37. package/dist/mirror/index.js +3 -5
  38. package/dist/mirror/index.js.map +1 -1
  39. package/dist/mirror/styles.d.ts +1 -1
  40. package/dist/mirror/styles.d.ts.map +1 -1
  41. package/dist/mirror/styles.js +59 -2
  42. package/dist/mirror/styles.js.map +1 -1
  43. package/dist/shell/index.d.ts.map +1 -1
  44. package/dist/shell/index.js +47 -1
  45. package/dist/shell/index.js.map +1 -1
  46. package/dist/shell/styles.d.ts +1 -1
  47. package/dist/shell/styles.d.ts.map +1 -1
  48. package/dist/shell/styles.js +1 -17
  49. package/dist/shell/styles.js.map +1 -1
  50. package/dist/workflows/index.d.ts.map +1 -1
  51. package/dist/workflows/index.js +28 -2
  52. package/dist/workflows/index.js.map +1 -1
  53. package/dist/workflows/styles.d.ts +1 -1
  54. package/dist/workflows/styles.d.ts.map +1 -1
  55. package/dist/workflows/styles.js +43 -0
  56. package/dist/workflows/styles.js.map +1 -1
  57. package/package.json +10 -1
@@ -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
- position: absolute;
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%;
@@ -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"}