@mastra/playground-ui 51.3.2-alpha.0 → 51.4.0-alpha.2
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/CHANGELOG.md +57 -0
- package/dist/Badge-DcllBqFg.cjs +125 -0
- package/dist/Badge-DcllBqFg.cjs.map +1 -0
- package/dist/Badge-uGehUtus.js +123 -0
- package/dist/Badge-uGehUtus.js.map +1 -0
- package/dist/components/Badge.cjs.js +1 -1
- package/dist/components/Badge.es.js +1 -1
- package/dist/components/DataList.cjs.js +4 -4
- package/dist/components/DataList.es.js +4 -4
- package/dist/components/EnvironmentVariablesEditor.cjs.js +1 -1
- package/dist/components/EnvironmentVariablesEditor.es.js +1 -1
- package/dist/components/ItemList.cjs.js +59 -40
- package/dist/components/ItemList.cjs.js.map +1 -1
- package/dist/components/ItemList.es.js +58 -41
- package/dist/components/ItemList.es.js.map +1 -1
- package/dist/components/LogsDataList.cjs.js +2 -2
- package/dist/components/LogsDataList.es.js +2 -2
- package/dist/components/ai/ask-user.cjs.js +3 -3
- package/dist/components/ai/ask-user.cjs.js.map +1 -1
- package/dist/components/ai/ask-user.es.js +3 -3
- package/dist/components/ai/ask-user.es.js.map +1 -1
- package/dist/components/ai/plan.cjs.js +3 -3
- package/dist/components/ai/plan.cjs.js.map +1 -1
- package/dist/components/ai/plan.es.js +3 -3
- package/dist/components/ai/plan.es.js.map +1 -1
- package/dist/{data-list-BOI8fRuk.js → data-list-C3tjx5Vb.js} +2 -2
- package/dist/{data-list-BOI8fRuk.js.map → data-list-C3tjx5Vb.js.map} +1 -1
- package/dist/{data-list-CCacNODd.cjs → data-list-CRDewYj9.cjs} +2 -2
- package/dist/{data-list-CCacNODd.cjs.map → data-list-CRDewYj9.cjs.map} +1 -1
- package/dist/{data-list-skeleton-DDO_OE14.js → data-list-skeleton-BCrkk6wG.js} +2 -2
- package/dist/{data-list-skeleton-DDO_OE14.js.map → data-list-skeleton-BCrkk6wG.js.map} +1 -1
- package/dist/{data-list-skeleton-BHBSIQHN.cjs → data-list-skeleton-CONfqzH2.cjs} +2 -2
- package/dist/{data-list-skeleton-BHBSIQHN.cjs.map → data-list-skeleton-CONfqzH2.cjs.map} +1 -1
- package/dist/{data-list-top-cell-BOXO5s7I.cjs → data-list-top-cell-DAztx3m8.cjs} +6 -1
- package/dist/data-list-top-cell-DAztx3m8.cjs.map +1 -0
- package/dist/{data-list-top-cell-CC5jjv5s.js → data-list-top-cell-hNkk6S-Q.js} +6 -2
- package/dist/data-list-top-cell-hNkk6S-Q.js.map +1 -0
- package/dist/domains/logs/components/logs-list-view.cjs.js +2 -2
- package/dist/domains/logs/components/logs-list-view.es.js +2 -2
- package/dist/domains/metrics/components/memory-card-view.cjs.js +1 -1
- package/dist/domains/metrics/components/memory-card-view.es.js +1 -1
- package/dist/domains/metrics/components/model-usage-cost-card-view.cjs.js +1 -1
- package/dist/domains/metrics/components/model-usage-cost-card-view.es.js +1 -1
- package/dist/domains/metrics/components/scores-card-view.cjs.js +1 -1
- package/dist/domains/metrics/components/scores-card-view.es.js +1 -1
- package/dist/domains/traces/components/format-hierarchical-spans.cjs.js +2 -1
- package/dist/domains/traces/components/format-hierarchical-spans.cjs.js.map +1 -1
- package/dist/domains/traces/components/format-hierarchical-spans.es.js +2 -1
- package/dist/domains/traces/components/format-hierarchical-spans.es.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js +10 -1
- package/dist/domains/traces/components/timeline-name-col.cjs.js.map +1 -1
- package/dist/domains/traces/components/timeline-name-col.es.js +10 -1
- package/dist/domains/traces/components/timeline-name-col.es.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js +17 -5
- package/dist/domains/traces/components/trace-data-panel-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/trace-data-panel-view.es.js +17 -5
- package/dist/domains/traces/components/trace-data-panel-view.es.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.cjs.js +7 -9
- package/dist/domains/traces/components/traces-list-view.cjs.js.map +1 -1
- package/dist/domains/traces/components/traces-list-view.es.js +7 -9
- package/dist/domains/traces/components/traces-list-view.es.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-search.cjs.js +10 -4
- package/dist/domains/traces/hooks/use-trace-search.cjs.js.map +1 -1
- package/dist/domains/traces/hooks/use-trace-search.es.js +10 -4
- package/dist/domains/traces/hooks/use-trace-search.es.js.map +1 -1
- package/dist/domains/traces/trace-list-columns.cjs.js +1 -1
- package/dist/domains/traces/trace-list-columns.cjs.js.map +1 -1
- package/dist/domains/traces/trace-list-columns.es.js +1 -1
- package/dist/domains/traces/trace-list-columns.es.js.map +1 -1
- package/dist/domains/traces/types.cjs.js.map +1 -1
- package/dist/domains/traces/types.es.js.map +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.cjs.js +1 -1
- package/dist/ee/topics/components/topic-trace-summary-list.es.js +1 -1
- package/dist/hooks/use-scroll-to-first-highlight.cjs.js +44 -0
- package/dist/hooks/use-scroll-to-first-highlight.cjs.js.map +1 -0
- package/dist/hooks/use-scroll-to-first-highlight.d.ts +2 -0
- package/dist/hooks/use-scroll-to-first-highlight.es.js +40 -0
- package/dist/hooks/use-scroll-to-first-highlight.es.js.map +1 -0
- package/dist/hooks/use-text-highlight.cjs.js +49 -2
- package/dist/hooks/use-text-highlight.cjs.js.map +1 -1
- package/dist/hooks/use-text-highlight.es.js +48 -3
- package/dist/hooks/use-text-highlight.es.js.map +1 -1
- package/dist/{logs-data-list-Xayqbjw4.cjs → logs-data-list-D88JF2lo.cjs} +2 -2
- package/dist/{logs-data-list-Xayqbjw4.cjs.map → logs-data-list-D88JF2lo.cjs.map} +1 -1
- package/dist/{logs-data-list-DRXJ89IZ.js → logs-data-list-DnAXTwr7.js} +2 -2
- package/dist/{logs-data-list-DRXJ89IZ.js.map → logs-data-list-DnAXTwr7.js.map} +1 -1
- package/dist/src/domains/traces/components/format-hierarchical-spans.d.ts +1 -0
- package/dist/src/domains/traces/components/trace-data-panel-view.d.ts +1 -1
- package/dist/src/domains/traces/hooks/use-trace-search.d.ts +7 -0
- package/dist/src/domains/traces/types.d.ts +5 -0
- package/dist/src/ds/components/Badge/Badge.d.ts +86 -12
- package/dist/src/ds/components/Badge/badge.stories.d.ts +3 -0
- package/dist/src/ds/components/DataList/TracesDataList/traces-data-list.d.ts +2 -3
- package/dist/src/ds/components/DataList/data-list-cells.d.ts +5 -0
- package/dist/src/ds/components/ItemList/helpers.d.ts +8 -0
- package/dist/src/ds/components/ItemList/item-list-link-cell.d.ts +2 -1
- package/dist/src/ds/components/ItemList/item-list-row-button.d.ts +2 -1
- package/dist/src/ds/components/ai/plan/plan.d.ts +1 -1
- package/dist/src/hooks/use-scroll-to-first-highlight.d.ts +20 -0
- package/dist/src/hooks/use-text-highlight.d.ts +18 -0
- package/dist/src/test/highlight-api.d.ts +6 -4
- package/dist/style.css +364 -219
- package/dist/{traces-data-list-BLZgf-Es.cjs → traces-data-list-COksp2d4.cjs} +12 -13
- package/dist/traces-data-list-COksp2d4.cjs.map +1 -0
- package/dist/{traces-data-list-DmXGwe4Q.js → traces-data-list-c5I-8hwt.js} +12 -13
- package/dist/traces-data-list-c5I-8hwt.js.map +1 -0
- package/dist/use-text-highlight.css +8 -0
- package/package.json +7 -7
- package/theme.css +53 -0
- package/dist/Badge-BlJpI3fY.cjs +0 -57
- package/dist/Badge-BlJpI3fY.cjs.map +0 -1
- package/dist/Badge-woV6OD8k.js +0 -55
- package/dist/Badge-woV6OD8k.js.map +0 -1
- package/dist/chip-9P9t0dvN.cjs +0 -68
- package/dist/chip-9P9t0dvN.cjs.map +0 -1
- package/dist/chip-Bg0-95sX.js +0 -66
- package/dist/chip-Bg0-95sX.js.map +0 -1
- package/dist/components/Chip.cjs.js +0 -27
- package/dist/components/Chip.cjs.js.map +0 -1
- package/dist/components/Chip.d.ts +0 -2
- package/dist/components/Chip.es.js +0 -22
- package/dist/components/Chip.es.js.map +0 -1
- package/dist/components/StatusBadge.cjs.js +0 -76
- package/dist/components/StatusBadge.cjs.js.map +0 -1
- package/dist/components/StatusBadge.d.ts +0 -2
- package/dist/components/StatusBadge.es.js +0 -72
- package/dist/components/StatusBadge.es.js.map +0 -1
- package/dist/data-list-top-cell-BOXO5s7I.cjs.map +0 -1
- package/dist/data-list-top-cell-CC5jjv5s.js.map +0 -1
- package/dist/src/ds/components/Chip/chip.d.ts +0 -8
- package/dist/src/ds/components/Chip/chip.stories.d.ts +0 -11
- package/dist/src/ds/components/Chip/chips-group.d.ts +0 -2
- package/dist/src/ds/components/Chip/index.d.ts +0 -2
- package/dist/src/ds/components/StatusBadge/StatusBadge.d.ts +0 -13
- package/dist/src/ds/components/StatusBadge/index.d.ts +0 -2
- package/dist/src/ds/components/StatusBadge/status-badge.stories.d.ts +0 -8
- package/dist/traces-data-list-BLZgf-Es.cjs.map +0 -1
- package/dist/traces-data-list-DmXGwe4Q.js.map +0 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
3
|
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
const dataListTopCell = require('./data-list-top-cell-
|
|
5
|
-
const dataList = require('./data-list-
|
|
4
|
+
const dataListTopCell = require('./data-list-top-cell-DAztx3m8.cjs');
|
|
5
|
+
const dataList = require('./data-list-CRDewYj9.cjs');
|
|
6
6
|
const lucideReact = require('lucide-react');
|
|
7
|
+
const Badge = require('./Badge-DcllBqFg.cjs');
|
|
7
8
|
const tooltip = require('./tooltip-DMOZ2oaq.cjs');
|
|
8
9
|
const icons_AgentIcon = require('./icons/AgentIcon.cjs.js');
|
|
9
10
|
const icons_WorkflowIcon = require('./icons/WorkflowIcon.cjs.js');
|
|
10
|
-
const spacings = require('./spacings-BP8L49kn.cjs');
|
|
11
11
|
const utils_cn = require('./cn-vA5sWo9W.cjs');
|
|
12
12
|
|
|
13
13
|
function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }) {
|
|
@@ -46,19 +46,19 @@ function TracesDataListEntityCell({ entityType, entityName }) {
|
|
|
46
46
|
entityName ? /* @__PURE__ */ jsxRuntime.jsx("span", { className: "text-ui-smd min-w-0 truncate", children: entityName }) : "-"
|
|
47
47
|
] });
|
|
48
48
|
}
|
|
49
|
-
const UNSET_STATUS_CONFIG = { label: "-",
|
|
49
|
+
const UNSET_STATUS_CONFIG = { label: "-", variant: "neutral" };
|
|
50
50
|
const STATUS_CONFIG = {
|
|
51
|
-
completed: { label: "OK",
|
|
52
|
-
ok: { label: "OK",
|
|
53
|
-
success: { label: "OK",
|
|
54
|
-
error: { label: "ERR",
|
|
55
|
-
running: { label: "RUN",
|
|
51
|
+
completed: { label: "OK", variant: "green" },
|
|
52
|
+
ok: { label: "OK", variant: "green" },
|
|
53
|
+
success: { label: "OK", variant: "green" },
|
|
54
|
+
error: { label: "ERR", variant: "red" },
|
|
55
|
+
running: { label: "RUN", variant: "neutral" },
|
|
56
56
|
unset: UNSET_STATUS_CONFIG
|
|
57
57
|
};
|
|
58
58
|
function TracesDataListStatusCell({ status }) {
|
|
59
59
|
const key = (status ?? "unset").toLowerCase();
|
|
60
60
|
const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;
|
|
61
|
-
return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
61
|
+
return /* @__PURE__ */ jsxRuntime.jsx(dataListTopCell.DataListCell, { children: /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { size: "xs", variant: config.variant, children: config.label }) });
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
function TracesDataListRoot(props) {
|
|
@@ -74,8 +74,7 @@ const TracesDataList = Object.assign(TracesDataListRoot, {
|
|
|
74
74
|
SubHeading: dataList.DataListSubHeading,
|
|
75
75
|
Spacer: dataListTopCell.DataListSpacer,
|
|
76
76
|
IdCell: dataListTopCell.DataListIdCell,
|
|
77
|
-
|
|
78
|
-
TimeCell: dataListTopCell.DataListTimeCell,
|
|
77
|
+
CreatedCell: dataListTopCell.DataListCreatedCell,
|
|
79
78
|
NameCell: TracesDataListNameCell,
|
|
80
79
|
InputCell: TracesDataListInputCell,
|
|
81
80
|
EntityCell: TracesDataListEntityCell,
|
|
@@ -84,4 +83,4 @@ const TracesDataList = Object.assign(TracesDataListRoot, {
|
|
|
84
83
|
});
|
|
85
84
|
|
|
86
85
|
exports.TracesDataList = TracesDataList;
|
|
87
|
-
//# sourceMappingURL=traces-data-list-
|
|
86
|
+
//# sourceMappingURL=traces-data-list-COksp2d4.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces-data-list-COksp2d4.cjs","sources":["../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { CornerDownRightIcon, ListTreeIcon } from 'lucide-react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-neutral3' : 'text-neutral2')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"text-ui-smd text-neutral4 flex min-w-0 items-center gap-2\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nfunction EntityTypeIcon({ entityType, className }: { entityType: string; className?: string }) {\n const iconClass = cn('size-3.5 shrink-0 text-neutral2', className);\n const normalizedEntityType = entityType.toLowerCase();\n\n switch (normalizedEntityType) {\n case 'agent':\n return <AgentIcon className={iconClass} aria-hidden />;\n case 'workflow':\n case 'workflow_run':\n return <WorkflowIcon className={iconClass} aria-hidden />;\n default:\n return null;\n }\n}\n\nexport interface TracesDataListEntityCellProps {\n entityType?: string | null;\n entityName?: string | null;\n}\n\nexport function TracesDataListEntityCell({ entityType, entityName }: TracesDataListEntityCellProps) {\n const type = entityType ?? '';\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n <EntityTypeIcon entityType={type} />\n {entityName ? <span className=\"text-ui-smd min-w-0 truncate\">{entityName}</span> : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'green' },\n ok: { label: 'OK', variant: 'green' },\n success: { label: 'OK', variant: 'green' },\n error: { label: 'ERR', variant: 'red' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListEntityCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n EntityCell: TracesDataListEntityCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"names":["ListTreeIcon","CornerDownRightIcon","jsx","cn","jsxs","DataListCell","Tooltip","TooltipTrigger","TooltipContent","DataListTextCell","AgentIcon","WorkflowIcon","Badge","DataListRoot","DataListTop","DataListTopCell","DataListTopCellWithTooltip","DataListRowButton","DataListNoMatch","DataListSubheader","DataListSubHeading","DataListSpacer","DataListIdCell","DataListCreatedCell","DataListNextPageLoading"],"mappings":"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"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
|
-
import { a as DataListCell, b as DataListTextCell, c as DataListNextPageLoading,
|
|
3
|
-
import { a as DataListSubHeading, b as DataListSubheader } from './data-list-
|
|
2
|
+
import { a as DataListCell, b as DataListTextCell, c as DataListNextPageLoading, p as DataListCreatedCell, q as DataListIdCell, h as DataListSpacer, g as DataListNoMatch, j as DataListRowButton, m as DataListTopCellWithTooltip, n as DataListTopCell, o as DataListTop, D as DataListRoot } from './data-list-top-cell-hNkk6S-Q.js';
|
|
3
|
+
import { a as DataListSubHeading, b as DataListSubheader } from './data-list-C3tjx5Vb.js';
|
|
4
4
|
import { ListTreeIcon, CornerDownRightIcon } from 'lucide-react';
|
|
5
|
+
import { B as Badge } from './Badge-uGehUtus.js';
|
|
5
6
|
import { T as Tooltip, c as TooltipTrigger, a as TooltipContent } from './tooltip-CF30mRAe.js';
|
|
6
7
|
import { AgentIcon } from './icons/AgentIcon.es.js';
|
|
7
8
|
import { WorkflowIcon } from './icons/WorkflowIcon.es.js';
|
|
8
|
-
import { C as Colors } from './spacings-C87dXiT-.js';
|
|
9
9
|
import { c as cn } from './cn-BakJzhuv.js';
|
|
10
10
|
|
|
11
11
|
function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }) {
|
|
@@ -44,19 +44,19 @@ function TracesDataListEntityCell({ entityType, entityName }) {
|
|
|
44
44
|
entityName ? /* @__PURE__ */ jsx("span", { className: "text-ui-smd min-w-0 truncate", children: entityName }) : "-"
|
|
45
45
|
] });
|
|
46
46
|
}
|
|
47
|
-
const UNSET_STATUS_CONFIG = { label: "-",
|
|
47
|
+
const UNSET_STATUS_CONFIG = { label: "-", variant: "neutral" };
|
|
48
48
|
const STATUS_CONFIG = {
|
|
49
|
-
completed: { label: "OK",
|
|
50
|
-
ok: { label: "OK",
|
|
51
|
-
success: { label: "OK",
|
|
52
|
-
error: { label: "ERR",
|
|
53
|
-
running: { label: "RUN",
|
|
49
|
+
completed: { label: "OK", variant: "green" },
|
|
50
|
+
ok: { label: "OK", variant: "green" },
|
|
51
|
+
success: { label: "OK", variant: "green" },
|
|
52
|
+
error: { label: "ERR", variant: "red" },
|
|
53
|
+
running: { label: "RUN", variant: "neutral" },
|
|
54
54
|
unset: UNSET_STATUS_CONFIG
|
|
55
55
|
};
|
|
56
56
|
function TracesDataListStatusCell({ status }) {
|
|
57
57
|
const key = (status ?? "unset").toLowerCase();
|
|
58
58
|
const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;
|
|
59
|
-
return /* @__PURE__ */ jsx(DataListCell, { children: /* @__PURE__ */ jsx(
|
|
59
|
+
return /* @__PURE__ */ jsx(DataListCell, { children: /* @__PURE__ */ jsx(Badge, { size: "xs", variant: config.variant, children: config.label }) });
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
function TracesDataListRoot(props) {
|
|
@@ -72,8 +72,7 @@ const TracesDataList = Object.assign(TracesDataListRoot, {
|
|
|
72
72
|
SubHeading: DataListSubHeading,
|
|
73
73
|
Spacer: DataListSpacer,
|
|
74
74
|
IdCell: DataListIdCell,
|
|
75
|
-
|
|
76
|
-
TimeCell: DataListTimeCell,
|
|
75
|
+
CreatedCell: DataListCreatedCell,
|
|
77
76
|
NameCell: TracesDataListNameCell,
|
|
78
77
|
InputCell: TracesDataListInputCell,
|
|
79
78
|
EntityCell: TracesDataListEntityCell,
|
|
@@ -82,4 +81,4 @@ const TracesDataList = Object.assign(TracesDataListRoot, {
|
|
|
82
81
|
});
|
|
83
82
|
|
|
84
83
|
export { TracesDataList as T };
|
|
85
|
-
//# sourceMappingURL=traces-data-list-
|
|
84
|
+
//# sourceMappingURL=traces-data-list-c5I-8hwt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"traces-data-list-c5I-8hwt.js","sources":["../src/ds/components/DataList/TracesDataList/traces-data-list-cells.tsx","../src/ds/components/DataList/TracesDataList/traces-data-list.tsx"],"sourcesContent":["import { CornerDownRightIcon, ListTreeIcon } from 'lucide-react';\nimport { DataListCell, DataListTextCell } from '../data-list-cells';\nimport { Badge } from '@/ds/components/Badge';\nimport type { BadgeVariant } from '@/ds/components/Badge';\nimport { Tooltip, TooltipContent, TooltipTrigger } from '@/ds/components/Tooltip';\nimport { AgentIcon } from '@/ds/icons/AgentIcon';\nimport { WorkflowIcon } from '@/ds/icons/WorkflowIcon';\nimport { cn } from '@/lib/utils';\n\n// ---------------------------------------------------------------------------\n// NameCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListNameCellProps {\n name?: string | null;\n /** `null`/missing → root span (Trace). Set → nested span (Subtrace). Drives the leading level icon. */\n parentSpanId?: string | null;\n /** When true, the leading level icon is wrapped in a Trace/Subtrace tooltip. Off by default —\n * only meaningful in branches mode, where rows mix root traces and subtraces. */\n showLevelTooltip?: boolean;\n}\n\nexport function TracesDataListNameCell({ name, parentSpanId, showLevelTooltip }: TracesDataListNameCellProps) {\n const isRoot = parentSpanId == null;\n const Icon = isRoot ? ListTreeIcon : CornerDownRightIcon;\n const label = isRoot ? 'Trace' : 'Subtrace';\n const icon = (\n <span aria-label={label} className=\"inline-flex shrink-0\">\n <Icon className={cn('size-4 shrink-0', isRoot ? 'text-neutral3' : 'text-neutral2')} aria-hidden />\n </span>\n );\n return (\n <DataListCell className=\"text-ui-smd text-neutral4 flex min-w-0 items-center gap-2\">\n {showLevelTooltip ? (\n <Tooltip>\n <TooltipTrigger asChild>{icon}</TooltipTrigger>\n <TooltipContent>{label}</TooltipContent>\n </Tooltip>\n ) : (\n icon\n )}\n <span className=\"min-w-0 truncate\">{name || '-'}</span>\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// InputCell\n// ---------------------------------------------------------------------------\n\nexport interface TracesDataListInputCellProps {\n input?: string | null;\n}\n\nexport function TracesDataListInputCell({ input }: TracesDataListInputCellProps) {\n return <DataListTextCell font=\"mono\">{input || '-'}</DataListTextCell>;\n}\n\n// ---------------------------------------------------------------------------\n// EntityCell\n// ---------------------------------------------------------------------------\n\nfunction EntityTypeIcon({ entityType, className }: { entityType: string; className?: string }) {\n const iconClass = cn('size-3.5 shrink-0 text-neutral2', className);\n const normalizedEntityType = entityType.toLowerCase();\n\n switch (normalizedEntityType) {\n case 'agent':\n return <AgentIcon className={iconClass} aria-hidden />;\n case 'workflow':\n case 'workflow_run':\n return <WorkflowIcon className={iconClass} aria-hidden />;\n default:\n return null;\n }\n}\n\nexport interface TracesDataListEntityCellProps {\n entityType?: string | null;\n entityName?: string | null;\n}\n\nexport function TracesDataListEntityCell({ entityType, entityName }: TracesDataListEntityCellProps) {\n const type = entityType ?? '';\n\n return (\n <DataListCell className=\"flex min-w-0 items-center gap-2\">\n <EntityTypeIcon entityType={type} />\n {entityName ? <span className=\"text-ui-smd min-w-0 truncate\">{entityName}</span> : '-'}\n </DataListCell>\n );\n}\n\n// ---------------------------------------------------------------------------\n// StatusCell\n// ---------------------------------------------------------------------------\n\nconst UNSET_STATUS_CONFIG: { label: string; variant: BadgeVariant } = { label: '-', variant: 'neutral' };\n\nconst STATUS_CONFIG: Record<string, { label: string; variant: BadgeVariant }> = {\n completed: { label: 'OK', variant: 'green' },\n ok: { label: 'OK', variant: 'green' },\n success: { label: 'OK', variant: 'green' },\n error: { label: 'ERR', variant: 'red' },\n running: { label: 'RUN', variant: 'neutral' },\n unset: UNSET_STATUS_CONFIG,\n};\n\nexport interface TracesDataListStatusCellProps {\n status?: string | null;\n}\n\nexport function TracesDataListStatusCell({ status }: TracesDataListStatusCellProps) {\n const key = (status ?? 'unset').toLowerCase();\n const config = STATUS_CONFIG[key] ?? UNSET_STATUS_CONFIG;\n\n return (\n <DataListCell>\n <Badge size=\"xs\" variant={config.variant}>\n {config.label}\n </Badge>\n </DataListCell>\n );\n}\n","import type { ComponentProps } from 'react';\nimport { DataListCreatedCell, DataListIdCell } from '../data-list-cells';\nimport { DataListNextPageLoading } from '../data-list-next-page-loading';\nimport { DataListNoMatch } from '../data-list-no-match';\nimport { DataListRoot } from '../data-list-root';\nimport { DataListRowButton } from '../data-list-row-button';\nimport { DataListSpacer } from '../data-list-spacer';\nimport { DataListSubheader } from '../data-list-subheader';\nimport { DataListSubHeading } from '../data-list-subheading';\nimport { DataListTop } from '../data-list-top';\nimport { DataListTopCell, DataListTopCellWithTooltip } from '../data-list-top-cell';\nimport {\n TracesDataListNameCell,\n TracesDataListInputCell,\n TracesDataListEntityCell,\n TracesDataListStatusCell,\n} from './traces-data-list-cells';\n\n// oxlint-disable-next-line react/only-export-components -- compound component root, same pattern as ScoresDataList\n// eslint-disable-next-line react-refresh/only-export-components -- compound component root, same pattern as ScoresDataList\nfunction TracesDataListRoot(props: ComponentProps<typeof DataListRoot>) {\n return <DataListRoot {...props} />;\n}\n\nexport const TracesDataList = Object.assign(TracesDataListRoot, {\n Top: DataListTop,\n TopCell: DataListTopCell,\n TopCellWithTooltip: DataListTopCellWithTooltip,\n RowButton: DataListRowButton,\n NoMatch: DataListNoMatch,\n Subheader: DataListSubheader,\n SubHeading: DataListSubHeading,\n Spacer: DataListSpacer,\n IdCell: DataListIdCell,\n CreatedCell: DataListCreatedCell,\n NameCell: TracesDataListNameCell,\n InputCell: TracesDataListInputCell,\n EntityCell: TracesDataListEntityCell,\n StatusCell: TracesDataListStatusCell,\n NextPageLoading: DataListNextPageLoading,\n});\n"],"names":[],"mappings":"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"}
|
|
@@ -6,3 +6,11 @@
|
|
|
6
6
|
background-color: var(--color-accent6);
|
|
7
7
|
color: var(--color-surface1);
|
|
8
8
|
}
|
|
9
|
+
|
|
10
|
+
/* The indirect match is a hint, not the answer: same hue, muted pairing (`accent6Dark`
|
|
11
|
+
background with `accent6` text, as `StatusBadge` uses for warnings) so it reads as related
|
|
12
|
+
to the direct highlight without competing with it. Both themes define the pair. */
|
|
13
|
+
::highlight(search-result-indirect) {
|
|
14
|
+
background-color: var(--color-accent6Dark);
|
|
15
|
+
color: var(--color-accent6);
|
|
16
|
+
}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mastra/playground-ui",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "51.
|
|
4
|
+
"version": "51.4.0-alpha.2",
|
|
5
5
|
"description": "Mastra Playground components",
|
|
6
6
|
"sideEffects": [
|
|
7
7
|
"**/*.css"
|
|
@@ -161,8 +161,8 @@
|
|
|
161
161
|
"react": ">=19.0.0",
|
|
162
162
|
"react-dom": ">=19.0.0",
|
|
163
163
|
"tailwindcss": "^4.0.0",
|
|
164
|
-
"@mastra/
|
|
165
|
-
"@mastra/
|
|
164
|
+
"@mastra/react": "1.4.10-alpha.1",
|
|
165
|
+
"@mastra/client-js": "^1.42.5-alpha.1"
|
|
166
166
|
},
|
|
167
167
|
"devDependencies": {
|
|
168
168
|
"@storybook/addon-a11y": "^10.4.1",
|
|
@@ -202,11 +202,11 @@
|
|
|
202
202
|
"vite-plugin-dts": "^4.5.4",
|
|
203
203
|
"vite-plugin-lib-inject-css": "^2.2.2",
|
|
204
204
|
"vitest": "4.1.10",
|
|
205
|
-
"@mastra/client-js": "^1.42.5-alpha.0",
|
|
206
205
|
"@internal/lint": "0.0.129",
|
|
207
|
-
"@mastra/
|
|
208
|
-
"@mastra/
|
|
209
|
-
"@mastra/
|
|
206
|
+
"@mastra/client-js": "^1.42.5-alpha.1",
|
|
207
|
+
"@mastra/core": "1.63.3-alpha.1",
|
|
208
|
+
"@mastra/memory": "1.28.2-alpha.0",
|
|
209
|
+
"@mastra/react": "1.4.10-alpha.1"
|
|
210
210
|
},
|
|
211
211
|
"homepage": "https://mastra.ai",
|
|
212
212
|
"repository": {
|
package/theme.css
CHANGED
|
@@ -71,6 +71,24 @@
|
|
|
71
71
|
--notice-note: oklch(0.18 0 0);
|
|
72
72
|
--notice-note-fg: oklch(0.99 0.001 230);
|
|
73
73
|
|
|
74
|
+
--badge-neutral-fg: var(--neutral5);
|
|
75
|
+
--badge-green: oklch(80% 0.105 160deg);
|
|
76
|
+
--badge-green-fg: oklch(92% 0.05 160deg);
|
|
77
|
+
--badge-red: oklch(69% 0.24 22deg);
|
|
78
|
+
--badge-red-fg: oklch(95% 0.014 18deg);
|
|
79
|
+
--badge-blue: oklch(81% 0.12 230deg);
|
|
80
|
+
--badge-blue-fg: oklch(97% 0.013 224deg);
|
|
81
|
+
--badge-yellow: oklch(91% 0.16 105deg);
|
|
82
|
+
--badge-yellow-fg: oklch(97% 0.025 100deg);
|
|
83
|
+
--badge-purple: oklch(82% 0.12 303deg);
|
|
84
|
+
--badge-purple-fg: oklch(93% 0.045 303deg);
|
|
85
|
+
--badge-orange: oklch(84% 0.13 62deg);
|
|
86
|
+
--badge-orange-fg: oklch(93% 0.06 62deg);
|
|
87
|
+
--badge-cyan: oklch(84% 0.1 210deg);
|
|
88
|
+
--badge-cyan-fg: oklch(93% 0.05 210deg);
|
|
89
|
+
--badge-pink: oklch(82% 0.12 345deg);
|
|
90
|
+
--badge-pink-fg: oklch(93% 0.045 345deg);
|
|
91
|
+
|
|
74
92
|
/* Brand green (dark). Remaps Tailwind green-* via @theme below. */
|
|
75
93
|
--brand-green-50: oklch(99% 0.024 138);
|
|
76
94
|
--brand-green-100: oklch(97.5% 0.055 138);
|
|
@@ -158,6 +176,24 @@ html.light {
|
|
|
158
176
|
--notice-note: oklch(0.97 0 0);
|
|
159
177
|
--notice-note-fg: oklch(0.18 0 0);
|
|
160
178
|
|
|
179
|
+
--badge-neutral-fg: var(--neutral3);
|
|
180
|
+
--badge-green: oklch(40% 0.095 160deg);
|
|
181
|
+
--badge-green-fg: oklch(35% 0.085 160deg);
|
|
182
|
+
--badge-red: oklch(55% 0.22 22deg);
|
|
183
|
+
--badge-red-fg: oklch(36% 0.18 22deg);
|
|
184
|
+
--badge-blue: oklch(55% 0.15 230deg);
|
|
185
|
+
--badge-blue-fg: oklch(36% 0.13 225deg);
|
|
186
|
+
--badge-yellow: oklch(65% 0.16 95deg);
|
|
187
|
+
--badge-yellow-fg: oklch(36% 0.1 95deg);
|
|
188
|
+
--badge-purple: oklch(40% 0.18 303deg);
|
|
189
|
+
--badge-purple-fg: oklch(37% 0.16 303deg);
|
|
190
|
+
--badge-orange: oklch(42% 0.13 62deg);
|
|
191
|
+
--badge-orange-fg: oklch(37% 0.12 62deg);
|
|
192
|
+
--badge-cyan: oklch(40% 0.11 210deg);
|
|
193
|
+
--badge-cyan-fg: oklch(35% 0.095 210deg);
|
|
194
|
+
--badge-pink: oklch(42% 0.17 345deg);
|
|
195
|
+
--badge-pink-fg: oklch(37% 0.15 345deg);
|
|
196
|
+
|
|
161
197
|
/* Brand green (light). badge + chart inherit :root. */
|
|
162
198
|
--brand-green-50: oklch(97.8% 0.025 140);
|
|
163
199
|
--brand-green-100: oklch(95.5% 0.055 140);
|
|
@@ -352,6 +388,23 @@ html.light {
|
|
|
352
388
|
--color-notice-info-fg: var(--notice-info-fg);
|
|
353
389
|
--color-notice-note: var(--notice-note);
|
|
354
390
|
--color-notice-note-fg: var(--notice-note-fg);
|
|
391
|
+
--color-badge-neutral-fg: var(--badge-neutral-fg);
|
|
392
|
+
--color-badge-green: var(--badge-green);
|
|
393
|
+
--color-badge-green-fg: var(--badge-green-fg);
|
|
394
|
+
--color-badge-red: var(--badge-red);
|
|
395
|
+
--color-badge-red-fg: var(--badge-red-fg);
|
|
396
|
+
--color-badge-blue: var(--badge-blue);
|
|
397
|
+
--color-badge-blue-fg: var(--badge-blue-fg);
|
|
398
|
+
--color-badge-yellow: var(--badge-yellow);
|
|
399
|
+
--color-badge-yellow-fg: var(--badge-yellow-fg);
|
|
400
|
+
--color-badge-purple: var(--badge-purple);
|
|
401
|
+
--color-badge-purple-fg: var(--badge-purple-fg);
|
|
402
|
+
--color-badge-orange: var(--badge-orange);
|
|
403
|
+
--color-badge-orange-fg: var(--badge-orange-fg);
|
|
404
|
+
--color-badge-cyan: var(--badge-cyan);
|
|
405
|
+
--color-badge-cyan-fg: var(--badge-cyan-fg);
|
|
406
|
+
--color-badge-pink: var(--badge-pink);
|
|
407
|
+
--color-badge-pink-fg: var(--badge-pink-fg);
|
|
355
408
|
|
|
356
409
|
/* Replace Tailwind green with brand green. initial clears defaults (native v4), then remap. */
|
|
357
410
|
--color-green-*: initial;
|
package/dist/Badge-BlJpI3fY.cjs
DELETED
|
@@ -1,57 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
const index = require('./index-C-Lt4Bx_.cjs');
|
|
5
|
-
const icons_Icon = require('./icons/Icon.cjs.js');
|
|
6
|
-
const primitives_transitions = require('./primitives/transitions.cjs.js');
|
|
7
|
-
const utils_cn = require('./cn-vA5sWo9W.cjs');
|
|
8
|
-
|
|
9
|
-
const badgeVariants = index.cva("inline-flex w-fit max-w-full shrink-0 items-center rounded-full border font-mono", {
|
|
10
|
-
variants: {
|
|
11
|
-
variant: {
|
|
12
|
-
default: "border-border1 bg-surface4 text-neutral5",
|
|
13
|
-
success: "border-notice-success/20 bg-notice-success/20 text-notice-success-fg",
|
|
14
|
-
error: "border-notice-destructive/20 bg-notice-destructive/20 text-notice-destructive-fg",
|
|
15
|
-
info: "border-notice-info/20 bg-notice-info/20 text-notice-info-fg",
|
|
16
|
-
warning: "border-notice-warning/20 bg-notice-warning/20 text-notice-warning-fg"
|
|
17
|
-
},
|
|
18
|
-
size: {
|
|
19
|
-
md: "h-badge-default gap-1 text-ui-sm",
|
|
20
|
-
sm: "h-form-xs gap-1 text-ui-xs",
|
|
21
|
-
xs: "h-5 gap-0.5 text-ui-xs"
|
|
22
|
-
},
|
|
23
|
-
withIcon: {
|
|
24
|
-
true: "",
|
|
25
|
-
false: ""
|
|
26
|
-
}
|
|
27
|
-
},
|
|
28
|
-
compoundVariants: [
|
|
29
|
-
{ size: "md", withIcon: false, className: "px-2.5" },
|
|
30
|
-
{ size: "md", withIcon: true, className: "pl-2 pr-2.5" },
|
|
31
|
-
{ size: "sm", withIcon: false, className: "px-2" },
|
|
32
|
-
{ size: "sm", withIcon: true, className: "pl-1.5 pr-2" },
|
|
33
|
-
{ size: "xs", withIcon: false, className: "px-1.5" },
|
|
34
|
-
{ size: "xs", withIcon: true, className: "pl-1 pr-1.5" }
|
|
35
|
-
],
|
|
36
|
-
defaultVariants: {
|
|
37
|
-
variant: "default",
|
|
38
|
-
size: "md",
|
|
39
|
-
withIcon: false
|
|
40
|
-
}
|
|
41
|
-
});
|
|
42
|
-
const Badge = ({ icon, variant, size, className, children, ...props }) => {
|
|
43
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
44
|
-
"div",
|
|
45
|
-
{
|
|
46
|
-
className: utils_cn.cn(badgeVariants({ variant, size, withIcon: Boolean(icon) }), primitives_transitions.transitions.colors, className),
|
|
47
|
-
...props,
|
|
48
|
-
children: [
|
|
49
|
-
icon && /* @__PURE__ */ jsxRuntime.jsx(icons_Icon.Icon, { size: "sm", children: icon }),
|
|
50
|
-
children
|
|
51
|
-
]
|
|
52
|
-
}
|
|
53
|
-
);
|
|
54
|
-
};
|
|
55
|
-
|
|
56
|
-
exports.Badge = Badge;
|
|
57
|
-
//# sourceMappingURL=Badge-BlJpI3fY.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Badge-BlJpI3fY.cjs","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva('inline-flex w-fit max-w-full shrink-0 items-center rounded-full border font-mono', {\n variants: {\n variant: {\n default: 'border-border1 bg-surface4 text-neutral5',\n success: 'border-notice-success/20 bg-notice-success/20 text-notice-success-fg',\n error: 'border-notice-destructive/20 bg-notice-destructive/20 text-notice-destructive-fg',\n info: 'border-notice-info/20 bg-notice-info/20 text-notice-info-fg',\n warning: 'border-notice-warning/20 bg-notice-warning/20 text-notice-warning-fg',\n },\n size: {\n md: 'h-badge-default gap-1 text-ui-sm',\n sm: 'h-form-xs gap-1 text-ui-xs',\n xs: 'h-5 gap-0.5 text-ui-xs',\n },\n withIcon: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n { size: 'md', withIcon: false, className: 'px-2.5' },\n { size: 'md', withIcon: true, className: 'pl-2 pr-2.5' },\n { size: 'sm', withIcon: false, className: 'px-2' },\n { size: 'sm', withIcon: true, className: 'pl-1.5 pr-2' },\n { size: 'xs', withIcon: false, className: 'px-1.5' },\n { size: 'xs', withIcon: true, className: 'pl-1 pr-1.5' },\n ],\n defaultVariants: {\n variant: 'default',\n size: 'md',\n withIcon: false,\n },\n});\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>, Omit<VariantProps<typeof badgeVariants>, 'withIcon'> {\n icon?: React.ReactNode;\n children?: React.ReactNode;\n}\n\nexport const Badge = ({ icon, variant, size, className, children, ...props }: BadgeProps) => {\n return (\n <div\n className={cn(badgeVariants({ variant, size, withIcon: Boolean(icon) }), transitions.colors, className)}\n {...props}\n >\n {icon && <Icon size=\"sm\">{icon}</Icon>}\n {children}\n </div>\n );\n};\n"],"names":["cva","jsxs","cn","transitions","jsx","Icon"],"mappings":";;;;;;;;AAQA,MAAM,aAAA,GAAgBA,UAAI,kFAAA,EAAoF;AAAA,EAC5G,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,0CAAA;AAAA,MACT,OAAA,EAAS,sEAAA;AAAA,MACT,KAAA,EAAO,kFAAA;AAAA,MACP,IAAA,EAAM,6DAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,kCAAA;AAAA,MACJ,EAAA,EAAI,4BAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,EAAA;AAAA,MACN,KAAA,EAAO;AAAA;AACT,GACF;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,WAAW,QAAA,EAAS;AAAA,IACnD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,WAAW,aAAA,EAAc;AAAA,IACvD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,WAAW,MAAA,EAAO;AAAA,IACjD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,WAAW,aAAA,EAAc;AAAA,IACvD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,WAAW,QAAA,EAAS;AAAA,IACnD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,WAAW,aAAA;AAAc,GACzD;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,IAAA;AAAA,IACN,QAAA,EAAU;AAAA;AAEd,CAAC,CAAA;AAQM,MAAM,KAAA,GAAQ,CAAC,EAAE,IAAA,EAAM,OAAA,EAAS,MAAM,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,KAAkB;AAC3F,EAAA,uBACEC,eAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA,CAAG,aAAA,CAAc,EAAE,SAAS,IAAA,EAAM,QAAA,EAAU,OAAA,CAAQ,IAAI,CAAA,EAAG,CAAA,EAAGC,kCAAA,CAAY,QAAQ,SAAS,CAAA;AAAA,MACrG,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,IAAA,oBAAQC,cAAA,CAACC,eAAA,EAAA,EAAK,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,QAC9B;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
|
package/dist/Badge-woV6OD8k.js
DELETED
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { jsxs, jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { c as cva } from './index-CSm06eOE.js';
|
|
3
|
-
import { Icon } from './icons/Icon.es.js';
|
|
4
|
-
import { transitions } from './primitives/transitions.es.js';
|
|
5
|
-
import { c as cn } from './cn-BakJzhuv.js';
|
|
6
|
-
|
|
7
|
-
const badgeVariants = cva("inline-flex w-fit max-w-full shrink-0 items-center rounded-full border font-mono", {
|
|
8
|
-
variants: {
|
|
9
|
-
variant: {
|
|
10
|
-
default: "border-border1 bg-surface4 text-neutral5",
|
|
11
|
-
success: "border-notice-success/20 bg-notice-success/20 text-notice-success-fg",
|
|
12
|
-
error: "border-notice-destructive/20 bg-notice-destructive/20 text-notice-destructive-fg",
|
|
13
|
-
info: "border-notice-info/20 bg-notice-info/20 text-notice-info-fg",
|
|
14
|
-
warning: "border-notice-warning/20 bg-notice-warning/20 text-notice-warning-fg"
|
|
15
|
-
},
|
|
16
|
-
size: {
|
|
17
|
-
md: "h-badge-default gap-1 text-ui-sm",
|
|
18
|
-
sm: "h-form-xs gap-1 text-ui-xs",
|
|
19
|
-
xs: "h-5 gap-0.5 text-ui-xs"
|
|
20
|
-
},
|
|
21
|
-
withIcon: {
|
|
22
|
-
true: "",
|
|
23
|
-
false: ""
|
|
24
|
-
}
|
|
25
|
-
},
|
|
26
|
-
compoundVariants: [
|
|
27
|
-
{ size: "md", withIcon: false, className: "px-2.5" },
|
|
28
|
-
{ size: "md", withIcon: true, className: "pl-2 pr-2.5" },
|
|
29
|
-
{ size: "sm", withIcon: false, className: "px-2" },
|
|
30
|
-
{ size: "sm", withIcon: true, className: "pl-1.5 pr-2" },
|
|
31
|
-
{ size: "xs", withIcon: false, className: "px-1.5" },
|
|
32
|
-
{ size: "xs", withIcon: true, className: "pl-1 pr-1.5" }
|
|
33
|
-
],
|
|
34
|
-
defaultVariants: {
|
|
35
|
-
variant: "default",
|
|
36
|
-
size: "md",
|
|
37
|
-
withIcon: false
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
const Badge = ({ icon, variant, size, className, children, ...props }) => {
|
|
41
|
-
return /* @__PURE__ */ jsxs(
|
|
42
|
-
"div",
|
|
43
|
-
{
|
|
44
|
-
className: cn(badgeVariants({ variant, size, withIcon: Boolean(icon) }), transitions.colors, className),
|
|
45
|
-
...props,
|
|
46
|
-
children: [
|
|
47
|
-
icon && /* @__PURE__ */ jsx(Icon, { size: "sm", children: icon }),
|
|
48
|
-
children
|
|
49
|
-
]
|
|
50
|
-
}
|
|
51
|
-
);
|
|
52
|
-
};
|
|
53
|
-
|
|
54
|
-
export { Badge as B };
|
|
55
|
-
//# sourceMappingURL=Badge-woV6OD8k.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Badge-woV6OD8k.js","sources":["../src/ds/components/Badge/Badge.tsx"],"sourcesContent":["import { cva } from 'class-variance-authority';\nimport type { VariantProps } from 'class-variance-authority';\nimport React from 'react';\n\nimport { Icon } from '../../icons/Icon';\nimport { transitions } from '@/ds/primitives/transitions';\nimport { cn } from '@/lib/utils';\n\nconst badgeVariants = cva('inline-flex w-fit max-w-full shrink-0 items-center rounded-full border font-mono', {\n variants: {\n variant: {\n default: 'border-border1 bg-surface4 text-neutral5',\n success: 'border-notice-success/20 bg-notice-success/20 text-notice-success-fg',\n error: 'border-notice-destructive/20 bg-notice-destructive/20 text-notice-destructive-fg',\n info: 'border-notice-info/20 bg-notice-info/20 text-notice-info-fg',\n warning: 'border-notice-warning/20 bg-notice-warning/20 text-notice-warning-fg',\n },\n size: {\n md: 'h-badge-default gap-1 text-ui-sm',\n sm: 'h-form-xs gap-1 text-ui-xs',\n xs: 'h-5 gap-0.5 text-ui-xs',\n },\n withIcon: {\n true: '',\n false: '',\n },\n },\n compoundVariants: [\n { size: 'md', withIcon: false, className: 'px-2.5' },\n { size: 'md', withIcon: true, className: 'pl-2 pr-2.5' },\n { size: 'sm', withIcon: false, className: 'px-2' },\n { size: 'sm', withIcon: true, className: 'pl-1.5 pr-2' },\n { size: 'xs', withIcon: false, className: 'px-1.5' },\n { size: 'xs', withIcon: true, className: 'pl-1 pr-1.5' },\n ],\n defaultVariants: {\n variant: 'default',\n size: 'md',\n withIcon: false,\n },\n});\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>, Omit<VariantProps<typeof badgeVariants>, 'withIcon'> {\n icon?: React.ReactNode;\n children?: React.ReactNode;\n}\n\nexport const Badge = ({ icon, variant, size, className, children, ...props }: BadgeProps) => {\n return (\n <div\n className={cn(badgeVariants({ variant, size, withIcon: Boolean(icon) }), transitions.colors, className)}\n {...props}\n >\n {icon && <Icon size=\"sm\">{icon}</Icon>}\n {children}\n </div>\n );\n};\n"],"names":[],"mappings":";;;;;;AAQA,MAAM,aAAA,GAAgB,IAAI,kFAAA,EAAoF;AAAA,EAC5G,QAAA,EAAU;AAAA,IACR,OAAA,EAAS;AAAA,MACP,OAAA,EAAS,0CAAA;AAAA,MACT,OAAA,EAAS,sEAAA;AAAA,MACT,KAAA,EAAO,kFAAA;AAAA,MACP,IAAA,EAAM,6DAAA;AAAA,MACN,OAAA,EAAS;AAAA,KACX;AAAA,IACA,IAAA,EAAM;AAAA,MACJ,EAAA,EAAI,kCAAA;AAAA,MACJ,EAAA,EAAI,4BAAA;AAAA,MACJ,EAAA,EAAI;AAAA,KACN;AAAA,IACA,QAAA,EAAU;AAAA,MACR,IAAA,EAAM,EAAA;AAAA,MACN,KAAA,EAAO;AAAA;AACT,GACF;AAAA,EACA,gBAAA,EAAkB;AAAA,IAChB,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,WAAW,QAAA,EAAS;AAAA,IACnD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,WAAW,aAAA,EAAc;AAAA,IACvD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,WAAW,MAAA,EAAO;AAAA,IACjD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,WAAW,aAAA,EAAc;AAAA,IACvD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,KAAA,EAAO,WAAW,QAAA,EAAS;AAAA,IACnD,EAAE,IAAA,EAAM,IAAA,EAAM,QAAA,EAAU,IAAA,EAAM,WAAW,aAAA;AAAc,GACzD;AAAA,EACA,eAAA,EAAiB;AAAA,IACf,OAAA,EAAS,SAAA;AAAA,IACT,IAAA,EAAM,IAAA;AAAA,IACN,QAAA,EAAU;AAAA;AAEd,CAAC,CAAA;AAQM,MAAM,KAAA,GAAQ,CAAC,EAAE,IAAA,EAAM,OAAA,EAAS,MAAM,SAAA,EAAW,QAAA,EAAU,GAAG,KAAA,EAAM,KAAkB;AAC3F,EAAA,uBACE,IAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,aAAA,CAAc,EAAE,SAAS,IAAA,EAAM,QAAA,EAAU,OAAA,CAAQ,IAAI,CAAA,EAAG,CAAA,EAAG,WAAA,CAAY,QAAQ,SAAS,CAAA;AAAA,MACrG,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,IAAA,oBAAQ,GAAA,CAAC,IAAA,EAAA,EAAK,IAAA,EAAK,IAAA,EAAM,QAAA,EAAA,IAAA,EAAK,CAAA;AAAA,QAC9B;AAAA;AAAA;AAAA,GACH;AAEJ;;;;"}
|
package/dist/chip-9P9t0dvN.cjs
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
const jsxRuntime = require('react/jsx-runtime');
|
|
4
|
-
const utils_cn = require('./cn-vA5sWo9W.cjs');
|
|
5
|
-
|
|
6
|
-
const sizeClasses = {
|
|
7
|
-
small: "text-[10.5px] pt-[5px] pb-[4px]",
|
|
8
|
-
default: "text-[11.5px] pt-[5px] pb-[4px] ",
|
|
9
|
-
large: "text-[12.5px] pt-[5px] pb-[4px] "
|
|
10
|
-
};
|
|
11
|
-
const bgColorClasses = {
|
|
12
|
-
gray: {
|
|
13
|
-
bright: "bg-neutral-500/30",
|
|
14
|
-
muted: "bg-neutral-500/10"
|
|
15
|
-
},
|
|
16
|
-
red: { bright: "bg-red-500/30", muted: "bg-red-500/10" },
|
|
17
|
-
orange: {
|
|
18
|
-
bright: "bg-orange-500/30",
|
|
19
|
-
muted: "bg-orange-500/10"
|
|
20
|
-
},
|
|
21
|
-
blue: { bright: "bg-blue-500/30", muted: "bg-blue-500/10" },
|
|
22
|
-
green: { bright: "bg-green-500/30", muted: "bg-green-500/10" },
|
|
23
|
-
purple: {
|
|
24
|
-
bright: "bg-purple-500/30",
|
|
25
|
-
muted: "bg-purple-500/10"
|
|
26
|
-
},
|
|
27
|
-
yellow: {
|
|
28
|
-
bright: "bg-yellow-500/30",
|
|
29
|
-
muted: "bg-yellow-500/10"
|
|
30
|
-
},
|
|
31
|
-
cyan: { bright: "bg-cyan-500/30", muted: "bg-cyan-500/10" },
|
|
32
|
-
pink: { bright: "bg-pink-500/30", muted: "bg-pink-500/10" }
|
|
33
|
-
};
|
|
34
|
-
const txtIntensityClasses = {
|
|
35
|
-
bright: "text-neutral4/90",
|
|
36
|
-
muted: "text-neutral3/90"
|
|
37
|
-
};
|
|
38
|
-
const Chip = ({
|
|
39
|
-
color = "gray",
|
|
40
|
-
size = "default",
|
|
41
|
-
intensity = "bright",
|
|
42
|
-
className,
|
|
43
|
-
children,
|
|
44
|
-
...props
|
|
45
|
-
}) => {
|
|
46
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
47
|
-
"span",
|
|
48
|
-
{
|
|
49
|
-
className: utils_cn.cn(
|
|
50
|
-
"inline-flex items-center gap-[0.4em] rounded-lg px-1.5 font-normal tracking-wide uppercase",
|
|
51
|
-
// general styles for svg icons within the chip
|
|
52
|
-
"[&>svg]:mx-[-0.2em] [&>svg]:size-[1em] [&>svg]:translate-y-[-0.02em]",
|
|
53
|
-
// if the chip has only one child and it's an svg, make it fully opaque
|
|
54
|
-
"[&>svg]:opacity-50 [&>svg:first-child:last-child]:opacity-100",
|
|
55
|
-
sizeClasses[size],
|
|
56
|
-
bgColorClasses[color][intensity],
|
|
57
|
-
txtIntensityClasses[intensity],
|
|
58
|
-
className
|
|
59
|
-
),
|
|
60
|
-
style: { lineHeight: 1 },
|
|
61
|
-
...props,
|
|
62
|
-
children
|
|
63
|
-
}
|
|
64
|
-
);
|
|
65
|
-
};
|
|
66
|
-
|
|
67
|
-
exports.Chip = Chip;
|
|
68
|
-
//# sourceMappingURL=chip-9P9t0dvN.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chip-9P9t0dvN.cjs","sources":["../src/ds/components/Chip/chip.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst sizeClasses = {\n small: 'text-[10.5px] pt-[5px] pb-[4px]',\n default: 'text-[11.5px] pt-[5px] pb-[4px] ',\n large: 'text-[12.5px] pt-[5px] pb-[4px] ',\n};\n\nconst bgColorClasses = {\n gray: {\n bright: 'bg-neutral-500/30',\n muted: 'bg-neutral-500/10',\n },\n red: { bright: 'bg-red-500/30', muted: 'bg-red-500/10' },\n orange: {\n bright: 'bg-orange-500/30',\n muted: 'bg-orange-500/10',\n },\n blue: { bright: 'bg-blue-500/30', muted: 'bg-blue-500/10' },\n green: { bright: 'bg-green-500/30', muted: 'bg-green-500/10' },\n purple: {\n bright: 'bg-purple-500/30',\n muted: 'bg-purple-500/10',\n },\n yellow: {\n bright: 'bg-yellow-500/30',\n muted: 'bg-yellow-500/10',\n },\n cyan: { bright: 'bg-cyan-500/30', muted: 'bg-cyan-500/10' },\n pink: { bright: 'bg-pink-500/30', muted: 'bg-pink-500/10' },\n};\n\nconst txtIntensityClasses = {\n bright: 'text-neutral4/90',\n muted: 'text-neutral3/90',\n};\n\nexport interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {\n color?: 'gray' | 'red' | 'orange' | 'blue' | 'green' | 'purple' | 'yellow' | 'cyan' | 'pink';\n size?: 'small' | 'default' | 'large';\n intensity?: 'bright' | 'muted';\n children: React.ReactNode;\n}\n\nexport const Chip = ({\n color = 'gray',\n size = 'default',\n intensity = 'bright',\n className,\n children,\n ...props\n}: ChipProps) => {\n return (\n <span\n className={cn(\n 'inline-flex items-center gap-[0.4em] rounded-lg px-1.5 font-normal tracking-wide uppercase',\n // general styles for svg icons within the chip\n '[&>svg]:mx-[-0.2em] [&>svg]:size-[1em] [&>svg]:translate-y-[-0.02em]',\n // if the chip has only one child and it's an svg, make it fully opaque\n '[&>svg]:opacity-50 [&>svg:first-child:last-child]:opacity-100',\n sizeClasses[size],\n bgColorClasses[color][intensity],\n txtIntensityClasses[intensity],\n className,\n )}\n style={{ lineHeight: 1 }}\n {...props}\n >\n {children}\n </span>\n );\n};\n"],"names":["jsx","cn"],"mappings":";;;;;AAIA,MAAM,WAAA,GAAc;AAAA,EAClB,KAAA,EAAO,mCAAA;AAAA,EACP,OAAA,EAAS,kCAAA;AAAA,EACT,KAAA,EAAO;AACT,CAAA;AAEA,MAAM,cAAA,GAAiB;AAAA,EACrB,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,mBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,GAAA,EAAK,EAAE,MAAA,EAAQ,eAAA,EAAiB,OAAO,eAAA,EAAgB;AAAA,EACvD,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,IAAA,EAAM,EAAE,MAAA,EAAQ,gBAAA,EAAkB,OAAO,gBAAA,EAAiB;AAAA,EAC1D,KAAA,EAAO,EAAE,MAAA,EAAQ,iBAAA,EAAmB,OAAO,iBAAA,EAAkB;AAAA,EAC7D,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,IAAA,EAAM,EAAE,MAAA,EAAQ,gBAAA,EAAkB,OAAO,gBAAA,EAAiB;AAAA,EAC1D,IAAA,EAAM,EAAE,MAAA,EAAQ,gBAAA,EAAkB,OAAO,gBAAA;AAC3C,CAAA;AAEA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,MAAA,EAAQ,kBAAA;AAAA,EACR,KAAA,EAAO;AACT,CAAA;AASO,MAAM,OAAO,CAAC;AAAA,EACnB,KAAA,GAAQ,MAAA;AAAA,EACR,IAAA,GAAO,SAAA;AAAA,EACP,SAAA,GAAY,QAAA;AAAA,EACZ,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAiB;AACf,EAAA,uBACEA,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAWC,WAAA;AAAA,QACT,4FAAA;AAAA;AAAA,QAEA,sEAAA;AAAA;AAAA,QAEA,+DAAA;AAAA,QACA,YAAY,IAAI,CAAA;AAAA,QAChB,cAAA,CAAe,KAAK,CAAA,CAAE,SAAS,CAAA;AAAA,QAC/B,oBAAoB,SAAS,CAAA;AAAA,QAC7B;AAAA,OACF;AAAA,MACA,KAAA,EAAO,EAAE,UAAA,EAAY,CAAA,EAAE;AAAA,MACtB,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;;;;"}
|
package/dist/chip-Bg0-95sX.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
import { jsx } from 'react/jsx-runtime';
|
|
2
|
-
import { c as cn } from './cn-BakJzhuv.js';
|
|
3
|
-
|
|
4
|
-
const sizeClasses = {
|
|
5
|
-
small: "text-[10.5px] pt-[5px] pb-[4px]",
|
|
6
|
-
default: "text-[11.5px] pt-[5px] pb-[4px] ",
|
|
7
|
-
large: "text-[12.5px] pt-[5px] pb-[4px] "
|
|
8
|
-
};
|
|
9
|
-
const bgColorClasses = {
|
|
10
|
-
gray: {
|
|
11
|
-
bright: "bg-neutral-500/30",
|
|
12
|
-
muted: "bg-neutral-500/10"
|
|
13
|
-
},
|
|
14
|
-
red: { bright: "bg-red-500/30", muted: "bg-red-500/10" },
|
|
15
|
-
orange: {
|
|
16
|
-
bright: "bg-orange-500/30",
|
|
17
|
-
muted: "bg-orange-500/10"
|
|
18
|
-
},
|
|
19
|
-
blue: { bright: "bg-blue-500/30", muted: "bg-blue-500/10" },
|
|
20
|
-
green: { bright: "bg-green-500/30", muted: "bg-green-500/10" },
|
|
21
|
-
purple: {
|
|
22
|
-
bright: "bg-purple-500/30",
|
|
23
|
-
muted: "bg-purple-500/10"
|
|
24
|
-
},
|
|
25
|
-
yellow: {
|
|
26
|
-
bright: "bg-yellow-500/30",
|
|
27
|
-
muted: "bg-yellow-500/10"
|
|
28
|
-
},
|
|
29
|
-
cyan: { bright: "bg-cyan-500/30", muted: "bg-cyan-500/10" },
|
|
30
|
-
pink: { bright: "bg-pink-500/30", muted: "bg-pink-500/10" }
|
|
31
|
-
};
|
|
32
|
-
const txtIntensityClasses = {
|
|
33
|
-
bright: "text-neutral4/90",
|
|
34
|
-
muted: "text-neutral3/90"
|
|
35
|
-
};
|
|
36
|
-
const Chip = ({
|
|
37
|
-
color = "gray",
|
|
38
|
-
size = "default",
|
|
39
|
-
intensity = "bright",
|
|
40
|
-
className,
|
|
41
|
-
children,
|
|
42
|
-
...props
|
|
43
|
-
}) => {
|
|
44
|
-
return /* @__PURE__ */ jsx(
|
|
45
|
-
"span",
|
|
46
|
-
{
|
|
47
|
-
className: cn(
|
|
48
|
-
"inline-flex items-center gap-[0.4em] rounded-lg px-1.5 font-normal tracking-wide uppercase",
|
|
49
|
-
// general styles for svg icons within the chip
|
|
50
|
-
"[&>svg]:mx-[-0.2em] [&>svg]:size-[1em] [&>svg]:translate-y-[-0.02em]",
|
|
51
|
-
// if the chip has only one child and it's an svg, make it fully opaque
|
|
52
|
-
"[&>svg]:opacity-50 [&>svg:first-child:last-child]:opacity-100",
|
|
53
|
-
sizeClasses[size],
|
|
54
|
-
bgColorClasses[color][intensity],
|
|
55
|
-
txtIntensityClasses[intensity],
|
|
56
|
-
className
|
|
57
|
-
),
|
|
58
|
-
style: { lineHeight: 1 },
|
|
59
|
-
...props,
|
|
60
|
-
children
|
|
61
|
-
}
|
|
62
|
-
);
|
|
63
|
-
};
|
|
64
|
-
|
|
65
|
-
export { Chip as C };
|
|
66
|
-
//# sourceMappingURL=chip-Bg0-95sX.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"chip-Bg0-95sX.js","sources":["../src/ds/components/Chip/chip.tsx"],"sourcesContent":["import React from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst sizeClasses = {\n small: 'text-[10.5px] pt-[5px] pb-[4px]',\n default: 'text-[11.5px] pt-[5px] pb-[4px] ',\n large: 'text-[12.5px] pt-[5px] pb-[4px] ',\n};\n\nconst bgColorClasses = {\n gray: {\n bright: 'bg-neutral-500/30',\n muted: 'bg-neutral-500/10',\n },\n red: { bright: 'bg-red-500/30', muted: 'bg-red-500/10' },\n orange: {\n bright: 'bg-orange-500/30',\n muted: 'bg-orange-500/10',\n },\n blue: { bright: 'bg-blue-500/30', muted: 'bg-blue-500/10' },\n green: { bright: 'bg-green-500/30', muted: 'bg-green-500/10' },\n purple: {\n bright: 'bg-purple-500/30',\n muted: 'bg-purple-500/10',\n },\n yellow: {\n bright: 'bg-yellow-500/30',\n muted: 'bg-yellow-500/10',\n },\n cyan: { bright: 'bg-cyan-500/30', muted: 'bg-cyan-500/10' },\n pink: { bright: 'bg-pink-500/30', muted: 'bg-pink-500/10' },\n};\n\nconst txtIntensityClasses = {\n bright: 'text-neutral4/90',\n muted: 'text-neutral3/90',\n};\n\nexport interface ChipProps extends React.HTMLAttributes<HTMLSpanElement> {\n color?: 'gray' | 'red' | 'orange' | 'blue' | 'green' | 'purple' | 'yellow' | 'cyan' | 'pink';\n size?: 'small' | 'default' | 'large';\n intensity?: 'bright' | 'muted';\n children: React.ReactNode;\n}\n\nexport const Chip = ({\n color = 'gray',\n size = 'default',\n intensity = 'bright',\n className,\n children,\n ...props\n}: ChipProps) => {\n return (\n <span\n className={cn(\n 'inline-flex items-center gap-[0.4em] rounded-lg px-1.5 font-normal tracking-wide uppercase',\n // general styles for svg icons within the chip\n '[&>svg]:mx-[-0.2em] [&>svg]:size-[1em] [&>svg]:translate-y-[-0.02em]',\n // if the chip has only one child and it's an svg, make it fully opaque\n '[&>svg]:opacity-50 [&>svg:first-child:last-child]:opacity-100',\n sizeClasses[size],\n bgColorClasses[color][intensity],\n txtIntensityClasses[intensity],\n className,\n )}\n style={{ lineHeight: 1 }}\n {...props}\n >\n {children}\n </span>\n );\n};\n"],"names":[],"mappings":";;;AAIA,MAAM,WAAA,GAAc;AAAA,EAClB,KAAA,EAAO,mCAAA;AAAA,EACP,OAAA,EAAS,kCAAA;AAAA,EACT,KAAA,EAAO;AACT,CAAA;AAEA,MAAM,cAAA,GAAiB;AAAA,EACrB,IAAA,EAAM;AAAA,IACJ,MAAA,EAAQ,mBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,GAAA,EAAK,EAAE,MAAA,EAAQ,eAAA,EAAiB,OAAO,eAAA,EAAgB;AAAA,EACvD,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,IAAA,EAAM,EAAE,MAAA,EAAQ,gBAAA,EAAkB,OAAO,gBAAA,EAAiB;AAAA,EAC1D,KAAA,EAAO,EAAE,MAAA,EAAQ,iBAAA,EAAmB,OAAO,iBAAA,EAAkB;AAAA,EAC7D,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,MAAA,EAAQ;AAAA,IACN,MAAA,EAAQ,kBAAA;AAAA,IACR,KAAA,EAAO;AAAA,GACT;AAAA,EACA,IAAA,EAAM,EAAE,MAAA,EAAQ,gBAAA,EAAkB,OAAO,gBAAA,EAAiB;AAAA,EAC1D,IAAA,EAAM,EAAE,MAAA,EAAQ,gBAAA,EAAkB,OAAO,gBAAA;AAC3C,CAAA;AAEA,MAAM,mBAAA,GAAsB;AAAA,EAC1B,MAAA,EAAQ,kBAAA;AAAA,EACR,KAAA,EAAO;AACT,CAAA;AASO,MAAM,OAAO,CAAC;AAAA,EACnB,KAAA,GAAQ,MAAA;AAAA,EACR,IAAA,GAAO,SAAA;AAAA,EACP,SAAA,GAAY,QAAA;AAAA,EACZ,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,KAAiB;AACf,EAAA,uBACE,GAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,4FAAA;AAAA;AAAA,QAEA,sEAAA;AAAA;AAAA,QAEA,+DAAA;AAAA,QACA,YAAY,IAAI,CAAA;AAAA,QAChB,cAAA,CAAe,KAAK,CAAA,CAAE,SAAS,CAAA;AAAA,QAC/B,oBAAoB,SAAS,CAAA;AAAA,QAC7B;AAAA,OACF;AAAA,MACA,KAAA,EAAO,EAAE,UAAA,EAAY,CAAA,EAAE;AAAA,MACtB,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;;;;"}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
'use strict';
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
|
|
4
|
-
|
|
5
|
-
const chip = require('../chip-9P9t0dvN.cjs');
|
|
6
|
-
const jsxRuntime = require('react/jsx-runtime');
|
|
7
|
-
const React = require('react');
|
|
8
|
-
const utils_cn = require('../cn-vA5sWo9W.cjs');
|
|
9
|
-
|
|
10
|
-
const ChipsGroup = React.forwardRef(function ChipsGroup2({ children, className, ...props }, ref) {
|
|
11
|
-
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
12
|
-
"div",
|
|
13
|
-
{
|
|
14
|
-
ref,
|
|
15
|
-
className: utils_cn.cn(
|
|
16
|
-
"flex items-center gap-[1px] [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:rounded-r-none",
|
|
17
|
-
className
|
|
18
|
-
),
|
|
19
|
-
...props,
|
|
20
|
-
children
|
|
21
|
-
}
|
|
22
|
-
);
|
|
23
|
-
});
|
|
24
|
-
|
|
25
|
-
exports.Chip = chip.Chip;
|
|
26
|
-
exports.ChipsGroup = ChipsGroup;
|
|
27
|
-
//# sourceMappingURL=Chip.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Chip.cjs.js","sources":["../../src/ds/components/Chip/chips-group.tsx"],"sourcesContent":["import { forwardRef } from 'react';\nimport { cn } from '@/lib/utils';\n\nexport type ChipsGroupProps = React.ComponentPropsWithoutRef<'div'>;\n\nexport const ChipsGroup = forwardRef<HTMLDivElement, ChipsGroupProps>(function ChipsGroup(\n { children, className, ...props },\n ref,\n) {\n return (\n <div\n ref={ref}\n className={cn(\n 'flex items-center gap-[1px] [&>*:not(:first-child)]:rounded-l-none [&>*:not(:last-child)]:rounded-r-none',\n className,\n )}\n {...props}\n >\n {children}\n </div>\n );\n});\n"],"names":["forwardRef","ChipsGroup","jsx","cn"],"mappings":";;;;;;;;;AAKO,MAAM,UAAA,GAAaA,gBAAA,CAA4C,SAASC,WAAAA,CAC7E,EAAE,UAAU,SAAA,EAAW,GAAG,KAAA,EAAM,EAChC,GAAA,EACA;AACA,EAAA,uBACEC,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,GAAA;AAAA,MACA,SAAA,EAAWC,WAAA;AAAA,QACT,0GAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ,CAAC;;;;;"}
|