@toolr/ui-design 0.1.3 → 0.1.4
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/README.md +0 -7
- package/components/content/info-panel-primitives.tsx +3 -3
- package/components/lib/ai-tools.tsx +1 -1
- package/components/lib/theme-engine.ts +10 -0
- package/components/sections/captured-issues/captured-issues-panel.tsx +1 -1
- package/components/sections/golden-snapshots/file-diff-viewer.tsx +2 -2
- package/components/sections/golden-snapshots/snapshot-manager.tsx +3 -3
- package/components/sections/golden-snapshots/status-overview.tsx +4 -4
- package/components/sections/golden-snapshots/version-manager.tsx +3 -3
- package/components/sections/report-bug/screenshot-uploader.tsx +2 -2
- package/components/sections/snapshot-browser/snapshot-tree.tsx +1 -1
- package/components/sections/snippets-editor/snippets-editor.tsx +5 -5
- package/components/ui/action-dialog.tsx +1 -1
- package/components/ui/badge.tsx +4 -4
- package/components/ui/breadcrumb.tsx +1 -1
- package/components/ui/file-structure-section.tsx +4 -4
- package/components/ui/files-panel.tsx +5 -5
- package/components/ui/filter-dropdown.tsx +2 -2
- package/components/ui/frontmatter-form-header.tsx +2 -2
- package/components/ui/input.tsx +1 -1
- package/components/ui/label.tsx +4 -4
- package/components/ui/modal.tsx +1 -1
- package/components/ui/nav-card.tsx +1 -1
- package/components/ui/navigation-bar.tsx +1 -1
- package/components/ui/number-input.tsx +1 -1
- package/components/ui/registry-card.tsx +7 -7
- package/components/ui/registry-detail.tsx +2 -2
- package/components/ui/segmented-toggle.tsx +2 -2
- package/components/ui/select.tsx +2 -2
- package/components/ui/selection-grid.tsx +7 -19
- package/components/ui/snapshot-card.tsx +2 -2
- package/components/ui/snippets-panel.tsx +9 -9
- package/components/ui/tab-bar.tsx +1 -1
- package/dist/content.js +3 -3
- package/dist/index.d.ts +10 -0
- package/dist/index.js +78 -80
- package/dist/tokens/primitives.css +10 -0
- package/dist/tokens/semantic.css +3 -0
- package/package.json +1 -7
- package/tokens/primitives.css +10 -0
- package/tokens/semantic.css +3 -0
- package/dist/preset.d.ts +0 -24
- package/dist/preset.js +0 -17
- package/tailwind-preset.ts +0 -22
package/dist/index.js
CHANGED
|
@@ -166,7 +166,7 @@ function AiToolIcon({ tool, size, showName, className, style }) {
|
|
|
166
166
|
if (!showName) return img;
|
|
167
167
|
return /* @__PURE__ */ jsxs2("span", { style: { display: "inline-flex", flexDirection: "column", alignItems: "center", gap: 4 }, children: [
|
|
168
168
|
img,
|
|
169
|
-
/* @__PURE__ */ jsx2("span", { className: "text-
|
|
169
|
+
/* @__PURE__ */ jsx2("span", { className: "text-xss text-neutral-400", children: AI_TOOL_NAMES[tool] ?? tool })
|
|
170
170
|
] });
|
|
171
171
|
}
|
|
172
172
|
|
|
@@ -798,10 +798,10 @@ var progressFillColors = {
|
|
|
798
798
|
sky: "bg-sky-500/20"
|
|
799
799
|
};
|
|
800
800
|
var sizeConfig = {
|
|
801
|
-
xss: { height: 14, padding: "px-1", text: "text-
|
|
802
|
-
xs: { height: 16, padding: "px-1.5", text: "text-
|
|
803
|
-
sm: { height: 18, padding: "px-1.5", text: "text-
|
|
804
|
-
md: { height: 20, padding: "px-1.5", text: "text-
|
|
801
|
+
xss: { height: 14, padding: "px-1", text: "text-xss", iconSize: "w-2 h-2", gap: "gap-0.5" },
|
|
802
|
+
xs: { height: 16, padding: "px-1.5", text: "text-xss", iconSize: "w-2.5 h-2.5", gap: "gap-1" },
|
|
803
|
+
sm: { height: 18, padding: "px-1.5", text: "text-xss", iconSize: "w-2.5 h-2.5", gap: "gap-1.5" },
|
|
804
|
+
md: { height: 20, padding: "px-1.5", text: "text-xss", iconSize: "w-3 h-3", gap: "gap-1" },
|
|
805
805
|
lg: { height: 22, padding: "px-2", text: "text-xs", iconSize: "w-3 h-3", gap: "gap-1" }
|
|
806
806
|
};
|
|
807
807
|
function smartCapitalize(value) {
|
|
@@ -906,10 +906,10 @@ var colorClasses3 = {
|
|
|
906
906
|
teal: "border-teal-500/30 text-teal-400"
|
|
907
907
|
};
|
|
908
908
|
var sizeClasses2 = {
|
|
909
|
-
xss: "min-w-[14px] h-[14px] px-0.5 text-
|
|
910
|
-
xs: "min-w-[16px] h-[16px] px-1 text-
|
|
911
|
-
sm: "min-w-[18px] h-[18px] px-1 text-
|
|
912
|
-
md: "min-w-[20px] h-[20px] px-1.5 text-
|
|
909
|
+
xss: "min-w-[14px] h-[14px] px-0.5 text-xss",
|
|
910
|
+
xs: "min-w-[16px] h-[16px] px-1 text-xss",
|
|
911
|
+
sm: "min-w-[18px] h-[18px] px-1 text-xss",
|
|
912
|
+
md: "min-w-[20px] h-[20px] px-1.5 text-xss",
|
|
913
913
|
lg: "min-w-[22px] h-[22px] px-1.5 text-xs"
|
|
914
914
|
};
|
|
915
915
|
function Badge({
|
|
@@ -1160,7 +1160,7 @@ import { forwardRef, useEffect as useEffect2, useRef as useRef2, useState as use
|
|
|
1160
1160
|
import { Search as Search2, X as X2, Eye as Eye2, EyeOff as EyeOff2 } from "lucide-react";
|
|
1161
1161
|
import { jsx as jsx10, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
1162
1162
|
var sizeClasses4 = {
|
|
1163
|
-
xss: "px-1 py-0.5 text-
|
|
1163
|
+
xss: "px-1 py-0.5 text-xss",
|
|
1164
1164
|
xs: "px-1.5 py-0.5 text-xs",
|
|
1165
1165
|
sm: "px-2 py-1 text-xs",
|
|
1166
1166
|
md: "px-3 py-1.5 text-sm",
|
|
@@ -1332,7 +1332,7 @@ import { useState as useState3, useRef as useRef3, useCallback } from "react";
|
|
|
1332
1332
|
import { ChevronUp as ChevronUp2, ChevronDown as ChevronDown2 } from "lucide-react";
|
|
1333
1333
|
import { jsx as jsx11, jsxs as jsxs7 } from "react/jsx-runtime";
|
|
1334
1334
|
var SIZE_CONFIG = {
|
|
1335
|
-
xss: { wrapper: "h-[18px]", input: "px-1 text-
|
|
1335
|
+
xss: { wrapper: "h-[18px]", input: "px-1 text-xss", chevron: "w-2.5 h-2.5", stepperW: "w-4" },
|
|
1336
1336
|
xs: { wrapper: "h-6", input: "px-1.5 text-xs", chevron: "w-2.5 h-2.5", stepperW: "w-5" },
|
|
1337
1337
|
sm: { wrapper: "h-7", input: "px-2 text-xs", chevron: "w-3 h-3", stepperW: "w-5" },
|
|
1338
1338
|
md: { wrapper: "h-8", input: "px-3 text-sm", chevron: "w-3 h-3", stepperW: "w-6" },
|
|
@@ -1546,8 +1546,8 @@ var ICON_SIZE_CLASSES = {
|
|
|
1546
1546
|
lg: "w-9 h-9"
|
|
1547
1547
|
};
|
|
1548
1548
|
var TEXT_SIZE_CLASSES = {
|
|
1549
|
-
xss: "h-[18px] px-1.5 text-
|
|
1550
|
-
xs: "h-6 px-2 text-
|
|
1549
|
+
xss: "h-[18px] px-1.5 text-xss",
|
|
1550
|
+
xs: "h-6 px-2 text-xss",
|
|
1551
1551
|
sm: "h-7 px-2.5 text-xs",
|
|
1552
1552
|
md: "h-8 px-3 text-xs",
|
|
1553
1553
|
lg: "h-9 px-3.5 text-sm"
|
|
@@ -1904,7 +1904,7 @@ var VARIANT_CLASSES2 = {
|
|
|
1904
1904
|
outline: { bg: "bg-transparent", hoverBg: "hover:bg-neutral-700", menuBg: "bg-[var(--popover)]" }
|
|
1905
1905
|
};
|
|
1906
1906
|
var SIZE_CLASSES = {
|
|
1907
|
-
xss: "h-[18px] px-1.5 text-
|
|
1907
|
+
xss: "h-[18px] px-1.5 text-xss",
|
|
1908
1908
|
xs: "h-6 px-2 text-xs",
|
|
1909
1909
|
sm: "h-7 px-2 text-xs",
|
|
1910
1910
|
md: "h-8 px-3 text-sm",
|
|
@@ -2020,7 +2020,7 @@ function Select({
|
|
|
2020
2020
|
close();
|
|
2021
2021
|
},
|
|
2022
2022
|
onPointerEnter: () => setHighlightIdx(idx),
|
|
2023
|
-
className: `w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors cursor-pointer ${isHighlighted ?
|
|
2023
|
+
className: `w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors cursor-pointer ${isHighlighted ? `${FORM_COLORS[color].selectedBg} text-neutral-200` : isSelected ? `${FORM_COLORS[color].selectedBg} text-neutral-200` : `text-neutral-400 ${v.hoverBg}`}`,
|
|
2024
2024
|
children: [
|
|
2025
2025
|
/* @__PURE__ */ jsx15(Check4, { className: `w-3 h-3 shrink-0 ${isSelected ? FORM_COLORS[color].accent : "invisible"}` }),
|
|
2026
2026
|
opt.icon,
|
|
@@ -2169,7 +2169,7 @@ function FilterDropdown({
|
|
|
2169
2169
|
{
|
|
2170
2170
|
"data-idx": 0,
|
|
2171
2171
|
onClick: () => handleSelect("all"),
|
|
2172
|
-
className: `w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors cursor-pointer ${highlightIdx === 0 ?
|
|
2172
|
+
className: `w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors cursor-pointer ${highlightIdx === 0 ? `${FORM_COLORS[color].selectedBg} text-neutral-200` : !isActive ? `${FORM_COLORS[color].selectedBg} text-neutral-200` : `text-neutral-400 ${v.hoverBg}`}`,
|
|
2173
2173
|
children: [
|
|
2174
2174
|
/* @__PURE__ */ jsx16(Check5, { className: `w-3 h-3 shrink-0 ${!isActive ? FORM_COLORS[color].accent : "invisible"}` }),
|
|
2175
2175
|
/* @__PURE__ */ jsx16("span", { children: "All" })
|
|
@@ -2185,7 +2185,7 @@ function FilterDropdown({
|
|
|
2185
2185
|
{
|
|
2186
2186
|
"data-idx": idx,
|
|
2187
2187
|
onClick: () => handleSelect(opt.value),
|
|
2188
|
-
className: `w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors cursor-pointer ${isHighlighted ?
|
|
2188
|
+
className: `w-full flex items-center gap-2 px-3 py-1.5 text-xs text-left transition-colors cursor-pointer ${isHighlighted ? `${FORM_COLORS[color].selectedBg} text-neutral-200` : isSelected ? `${FORM_COLORS[color].selectedBg} text-neutral-200` : `text-neutral-400 ${v.hoverBg}`}`,
|
|
2189
2189
|
children: [
|
|
2190
2190
|
/* @__PURE__ */ jsx16(Check5, { className: `w-3 h-3 shrink-0 ${isSelected ? FORM_COLORS[color].accent : "invisible"}` }),
|
|
2191
2191
|
/* @__PURE__ */ jsx16("span", { children: opt.label })
|
|
@@ -2416,7 +2416,7 @@ function Modal({ isOpen, onClose, title, children, kind = "info", size = "md", h
|
|
|
2416
2416
|
if (!isOpen) return null;
|
|
2417
2417
|
return createPortal3(
|
|
2418
2418
|
/* @__PURE__ */ jsxs14("div", { className: "fixed inset-0 z-50 flex items-center justify-center", children: [
|
|
2419
|
-
/* @__PURE__ */ jsx19("div", { className: "absolute inset-0 bg-
|
|
2419
|
+
/* @__PURE__ */ jsx19("div", { className: "absolute inset-0 bg-[var(--dialog-backdrop)] backdrop-blur-sm", onClick: onClose }),
|
|
2420
2420
|
/* @__PURE__ */ jsxs14(
|
|
2421
2421
|
"div",
|
|
2422
2422
|
{
|
|
@@ -2798,11 +2798,10 @@ function GridCard({ item, selected, onClick }) {
|
|
|
2798
2798
|
disabled: item.disabled,
|
|
2799
2799
|
className: cn(
|
|
2800
2800
|
"relative p-3 rounded-lg text-center transition-all border-2 flex flex-col items-center",
|
|
2801
|
-
item.disabled ? "opacity-30 cursor-not-allowed border-neutral-800 bg-
|
|
2801
|
+
item.disabled ? "opacity-30 cursor-not-allowed border-neutral-800 bg-[var(--background)]" : selected ? "cursor-pointer" : "bg-neutral-800/50 border-neutral-700 hover:bg-[var(--surface-hover)] hover:border-neutral-600 cursor-pointer"
|
|
2802
2802
|
),
|
|
2803
|
-
style: selected && !item.disabled ? { borderColor: color
|
|
2803
|
+
style: selected && !item.disabled ? { borderColor: color } : void 0,
|
|
2804
2804
|
children: [
|
|
2805
|
-
selected && !item.disabled && /* @__PURE__ */ jsx20("span", { className: "absolute top-1 right-1", children: /* @__PURE__ */ jsx20(ConfirmBadge, { color: item.badgeColor || "blue", size: "xs" }) }),
|
|
2806
2805
|
Icon && /* @__PURE__ */ jsx20(
|
|
2807
2806
|
Icon,
|
|
2808
2807
|
{
|
|
@@ -2827,11 +2826,10 @@ function ListCard({ item, selected, onClick }) {
|
|
|
2827
2826
|
disabled: item.disabled,
|
|
2828
2827
|
className: cn(
|
|
2829
2828
|
"relative p-3 rounded-lg transition-all border-2 flex items-center gap-3 text-left",
|
|
2830
|
-
item.disabled ? "opacity-30 cursor-not-allowed border-neutral-800 bg-
|
|
2829
|
+
item.disabled ? "opacity-30 cursor-not-allowed border-neutral-800 bg-[var(--background)]" : selected ? "cursor-pointer" : "bg-neutral-800/50 border-neutral-700 hover:bg-[var(--surface-hover)] hover:border-neutral-600 cursor-pointer"
|
|
2831
2830
|
),
|
|
2832
|
-
style: selected && !item.disabled ? { borderColor: color
|
|
2831
|
+
style: selected && !item.disabled ? { borderColor: color } : void 0,
|
|
2833
2832
|
children: [
|
|
2834
|
-
selected && !item.disabled && /* @__PURE__ */ jsx20("span", { className: "absolute top-1 right-1", children: /* @__PURE__ */ jsx20(ConfirmBadge, { color: item.badgeColor || "blue", size: "xs" }) }),
|
|
2835
2833
|
Icon && /* @__PURE__ */ jsx20(
|
|
2836
2834
|
Icon,
|
|
2837
2835
|
{
|
|
@@ -3036,7 +3034,7 @@ function ActionDialog({
|
|
|
3036
3034
|
}
|
|
3037
3035
|
return createPortal4(
|
|
3038
3036
|
/* @__PURE__ */ jsxs17("div", { className: "fixed inset-0 z-50 flex items-center justify-center", children: [
|
|
3039
|
-
/* @__PURE__ */ jsx22("div", { className: "absolute inset-0 bg-
|
|
3037
|
+
/* @__PURE__ */ jsx22("div", { className: "absolute inset-0 bg-[var(--dialog-backdrop)] backdrop-blur-sm", onClick: onCancel }),
|
|
3040
3038
|
/* @__PURE__ */ jsxs17(
|
|
3041
3039
|
"div",
|
|
3042
3040
|
{
|
|
@@ -3494,8 +3492,8 @@ function FrontmatterFormHeader({
|
|
|
3494
3492
|
}
|
|
3495
3493
|
),
|
|
3496
3494
|
/* @__PURE__ */ jsx26("span", { className: "text-xs font-medium text-neutral-400 uppercase tracking-wide", children: "Configuration" }),
|
|
3497
|
-
collapsed && hasFm && /* @__PURE__ */ jsx26("span", { className: "text-
|
|
3498
|
-
collapsed && !hasFm && /* @__PURE__ */ jsx26("span", { className: "text-
|
|
3495
|
+
collapsed && hasFm && /* @__PURE__ */ jsx26("span", { className: "text-xss text-neutral-500 font-mono ml-2 truncate", children: renderSummary() }),
|
|
3496
|
+
collapsed && !hasFm && /* @__PURE__ */ jsx26("span", { className: "text-xss text-neutral-600 ml-2", children: "No frontmatter" })
|
|
3499
3497
|
]
|
|
3500
3498
|
}
|
|
3501
3499
|
),
|
|
@@ -3961,7 +3959,7 @@ function RegistryCard(props) {
|
|
|
3961
3959
|
if (!count || count <= 0) return [];
|
|
3962
3960
|
return [/* @__PURE__ */ jsx29(Tooltip, { content: { description: `${count} ${count === 1 ? label : labelPlural}` }, position: "top", children: /* @__PURE__ */ jsxs24("span", { className: "flex items-center gap-0.5", children: [
|
|
3963
3961
|
/* @__PURE__ */ jsx29(Icon, { className: `w-3 h-3 ${color}` }),
|
|
3964
|
-
/* @__PURE__ */ jsx29("span", { className: "text-
|
|
3962
|
+
/* @__PURE__ */ jsx29("span", { className: "text-xss text-neutral-500", children: count })
|
|
3965
3963
|
] }) }, `pkg-${key}`)];
|
|
3966
3964
|
});
|
|
3967
3965
|
}
|
|
@@ -4013,11 +4011,11 @@ function RegistryCard(props) {
|
|
|
4013
4011
|
const compatibleTools = props.compatibleTools ?? [];
|
|
4014
4012
|
bottomLogos = compatibleTools.map((tool) => /* @__PURE__ */ jsx29(Tooltip, { content: { description: `Compatible with ${AI_TOOL_NAMES[tool] ?? tool}` }, position: "top", children: /* @__PURE__ */ jsx29(AiToolIcon, { tool, size: 16 }) }, tool));
|
|
4015
4013
|
bottomStats = [
|
|
4016
|
-
...props.stars != null && props.stars > 0 ? [/* @__PURE__ */ jsx29(CardClickable, { onClick: () => props.onSortBy?.("stars"), children: /* @__PURE__ */ jsx29(Tooltip, { content: { description: `${props.stars.toLocaleString()} stars \xB7 Click to sort` }, position: "top", children: /* @__PURE__ */ jsxs24("span", { className: "flex items-center gap-1 text-
|
|
4014
|
+
...props.stars != null && props.stars > 0 ? [/* @__PURE__ */ jsx29(CardClickable, { onClick: () => props.onSortBy?.("stars"), children: /* @__PURE__ */ jsx29(Tooltip, { content: { description: `${props.stars.toLocaleString()} stars \xB7 Click to sort` }, position: "top", children: /* @__PURE__ */ jsxs24("span", { className: "flex items-center gap-1 text-xss text-amber-400/80", children: [
|
|
4017
4015
|
/* @__PURE__ */ jsx29(Star4, { className: "w-3 h-3" }),
|
|
4018
4016
|
formatCount(props.stars)
|
|
4019
4017
|
] }) }) }, "stars")] : [],
|
|
4020
|
-
...props.downloads != null && props.downloads > 0 ? [/* @__PURE__ */ jsx29(CardClickable, { onClick: () => props.onSortBy?.("downloads"), children: /* @__PURE__ */ jsx29(Tooltip, { content: { description: `${props.downloads.toLocaleString()} downloads \xB7 Click to sort` }, position: "top", children: /* @__PURE__ */ jsxs24("span", { className: "flex items-center gap-1 text-
|
|
4018
|
+
...props.downloads != null && props.downloads > 0 ? [/* @__PURE__ */ jsx29(CardClickable, { onClick: () => props.onSortBy?.("downloads"), children: /* @__PURE__ */ jsx29(Tooltip, { content: { description: `${props.downloads.toLocaleString()} downloads \xB7 Click to sort` }, position: "top", children: /* @__PURE__ */ jsxs24("span", { className: "flex items-center gap-1 text-xss text-emerald-400/80", children: [
|
|
4021
4019
|
/* @__PURE__ */ jsx29(Download3, { className: "w-3 h-3" }),
|
|
4022
4020
|
formatCount(props.downloads)
|
|
4023
4021
|
] }) }) }, "downloads")] : []
|
|
@@ -4110,7 +4108,7 @@ function RegistryCard(props) {
|
|
|
4110
4108
|
const allTools = props.allToolKeys ?? [];
|
|
4111
4109
|
bottomLogos = allTools.map((tool) => /* @__PURE__ */ jsx29(Tooltip, { content: { description: `Compatible with ${AI_TOOL_NAMES[tool] ?? tool}` }, position: "top", children: /* @__PURE__ */ jsx29(AiToolIcon, { tool, size: 14 }) }, tool));
|
|
4112
4110
|
if (props.installs != null && props.installs > 0) {
|
|
4113
|
-
bottomStats = [/* @__PURE__ */ jsx29(Tooltip, { content: { description: `${props.installs.toLocaleString()} installs` }, position: "top", children: /* @__PURE__ */ jsxs24("span", { className: "flex items-center gap-1 text-
|
|
4111
|
+
bottomStats = [/* @__PURE__ */ jsx29(Tooltip, { content: { description: `${props.installs.toLocaleString()} installs` }, position: "top", children: /* @__PURE__ */ jsxs24("span", { className: "flex items-center gap-1 text-xss text-neutral-500", children: [
|
|
4114
4112
|
/* @__PURE__ */ jsx29(Download3, { className: "w-3 h-3" }),
|
|
4115
4113
|
props.installs.toLocaleString()
|
|
4116
4114
|
] }) }, "installs")];
|
|
@@ -4141,12 +4139,12 @@ function RegistryCard(props) {
|
|
|
4141
4139
|
/* @__PURE__ */ jsx29("h3", { className: "text-sm font-medium text-white", children: name }),
|
|
4142
4140
|
subtitle && /* @__PURE__ */ jsx29("div", { className: "text-xs text-neutral-400 mb-1.5", children: subtitle }),
|
|
4143
4141
|
description && /* @__PURE__ */ jsx29("p", { className: "text-xs text-neutral-500 mb-3 flex-grow line-clamp-2", children: description }),
|
|
4144
|
-
errorMessage && /* @__PURE__ */ jsx29("p", { className: `text-
|
|
4142
|
+
errorMessage && /* @__PURE__ */ jsx29("p", { className: `text-xss mb-2 break-all ${flash === "warning" ? "text-amber-400" : "text-red-400"}`, children: errorMessage }),
|
|
4145
4143
|
(bottomLogos.length > 0 || bottomStats.length > 0 || updatedAt) && (() => {
|
|
4146
4144
|
const dateNode = updatedAt ? /* @__PURE__ */ jsx29(Tooltip, { content: { description: onDateClick ? `Last updated ${formatFullDate(updatedAt)} \xB7 Click to sort by date` : `Last updated ${formatFullDate(updatedAt)}` }, position: "top", children: /* @__PURE__ */ jsxs24(
|
|
4147
4145
|
"span",
|
|
4148
4146
|
{
|
|
4149
|
-
className: `flex items-center gap-1 text-
|
|
4147
|
+
className: `flex items-center gap-1 text-xss text-neutral-500 whitespace-nowrap${onDateClick ? " cursor-pointer hover:brightness-125 transition-all" : ""}`,
|
|
4150
4148
|
onClick: onDateClick ? (e) => {
|
|
4151
4149
|
e.stopPropagation();
|
|
4152
4150
|
onDateClick();
|
|
@@ -4168,7 +4166,7 @@ function RegistryCard(props) {
|
|
|
4168
4166
|
if ("renderScopeConfirm" in props && props.renderScopeConfirm) {
|
|
4169
4167
|
return /* @__PURE__ */ jsx29("div", { onClick: (e) => e.stopPropagation(), children: props.renderScopeConfirm({ isOpen: true, onClose: () => setShowScopeConfirm(false), onConfirm: props.onInstall, name }) });
|
|
4170
4168
|
}
|
|
4171
|
-
return /* @__PURE__ */ jsx29("div", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx29("div", { className: "fixed inset-0 bg-
|
|
4169
|
+
return /* @__PURE__ */ jsx29("div", { onClick: (e) => e.stopPropagation(), children: /* @__PURE__ */ jsx29("div", { className: "fixed inset-0 bg-[var(--background)]/50 z-50 flex items-center justify-center", onClick: () => setShowScopeConfirm(false), children: /* @__PURE__ */ jsxs24("div", { className: "bg-neutral-800 border border-neutral-700 rounded-lg p-4 max-w-sm", onClick: (e) => e.stopPropagation(), children: [
|
|
4172
4170
|
/* @__PURE__ */ jsx29("h3", { className: "text-sm font-medium text-neutral-200 mb-2", children: ALREADY_AT_USER }),
|
|
4173
4171
|
/* @__PURE__ */ jsxs24("p", { className: "text-xs text-neutral-400 mb-4", children: [
|
|
4174
4172
|
/* @__PURE__ */ jsx29("strong", { className: "text-neutral-300", children: name }),
|
|
@@ -4303,7 +4301,7 @@ function renderMarkdownContent(content) {
|
|
|
4303
4301
|
}
|
|
4304
4302
|
i++;
|
|
4305
4303
|
nodes.push(
|
|
4306
|
-
/* @__PURE__ */ jsxs25("div", { className: "mb-3 font-mono text-
|
|
4304
|
+
/* @__PURE__ */ jsxs25("div", { className: "mb-3 font-mono text-xss text-neutral-500 border-l-2 border-neutral-700 pl-2 py-0.5", children: [
|
|
4307
4305
|
/* @__PURE__ */ jsx30("div", { className: "text-neutral-600", children: "---" }),
|
|
4308
4306
|
fmLines.map((l, j) => /* @__PURE__ */ jsx30("div", { children: l }, j)),
|
|
4309
4307
|
/* @__PURE__ */ jsx30("div", { className: "text-neutral-600", children: "---" })
|
|
@@ -4320,10 +4318,10 @@ function renderMarkdownContent(content) {
|
|
|
4320
4318
|
i++;
|
|
4321
4319
|
}
|
|
4322
4320
|
nodes.push(
|
|
4323
|
-
/* @__PURE__ */ jsx30("pre", { className: "mb-2 p-2 bg-
|
|
4321
|
+
/* @__PURE__ */ jsx30("pre", { className: "mb-2 p-2 bg-[var(--background)]/30 rounded text-xss font-mono text-neutral-300 overflow-x-auto", children: codeLines.join("\n") }, i)
|
|
4324
4322
|
);
|
|
4325
4323
|
} else if (line.startsWith("### ")) {
|
|
4326
|
-
nodes.push(/* @__PURE__ */ jsx30("h3", { className: "text-
|
|
4324
|
+
nodes.push(/* @__PURE__ */ jsx30("h3", { className: "text-xss font-semibold text-neutral-300 mt-2 mb-0.5", children: line.slice(4) }, i));
|
|
4327
4325
|
} else if (line.startsWith("## ")) {
|
|
4328
4326
|
nodes.push(/* @__PURE__ */ jsx30("h2", { className: "text-xs font-semibold text-neutral-200 mt-2.5 mb-1", children: line.slice(3) }, i));
|
|
4329
4327
|
} else if (line.startsWith("# ")) {
|
|
@@ -4331,7 +4329,7 @@ function renderMarkdownContent(content) {
|
|
|
4331
4329
|
} else if (line === "" || line === "\r") {
|
|
4332
4330
|
nodes.push(/* @__PURE__ */ jsx30("div", { className: "h-1.5" }, i));
|
|
4333
4331
|
} else {
|
|
4334
|
-
nodes.push(/* @__PURE__ */ jsx30("p", { className: "text-
|
|
4332
|
+
nodes.push(/* @__PURE__ */ jsx30("p", { className: "text-xss text-neutral-400 leading-relaxed", children: line }, i));
|
|
4335
4333
|
}
|
|
4336
4334
|
i++;
|
|
4337
4335
|
}
|
|
@@ -4647,7 +4645,7 @@ function CompatibleWithSection({ tools }) {
|
|
|
4647
4645
|
/* @__PURE__ */ jsx31("h3", { className: "text-xs font-medium text-neutral-500 uppercase tracking-wider mb-3", children: "Compatible with" }),
|
|
4648
4646
|
/* @__PURE__ */ jsx31("div", { className: "flex items-start gap-3", children: tools.map((tool) => /* @__PURE__ */ jsxs26("div", { className: "flex flex-col items-center gap-1", children: [
|
|
4649
4647
|
/* @__PURE__ */ jsx31(AiToolIcon, { tool, size: 18 }),
|
|
4650
|
-
/* @__PURE__ */ jsx31("span", { className: "text-
|
|
4648
|
+
/* @__PURE__ */ jsx31("span", { className: "text-xss text-neutral-400", children: AI_TOOL_NAMES[tool] ?? tool })
|
|
4651
4649
|
] }, tool)) })
|
|
4652
4650
|
] });
|
|
4653
4651
|
}
|
|
@@ -4677,7 +4675,7 @@ function RegistryDetail({
|
|
|
4677
4675
|
/* @__PURE__ */ jsxs26("div", { className: "min-w-0", children: [
|
|
4678
4676
|
/* @__PURE__ */ jsxs26("div", { className: "flex items-center gap-3 flex-wrap", children: [
|
|
4679
4677
|
/* @__PURE__ */ jsx31(Icon, { className: `w-6 h-6 shrink-0 ${iconColor}` }),
|
|
4680
|
-
/* @__PURE__ */ jsx31("h2", { className: "text-
|
|
4678
|
+
/* @__PURE__ */ jsx31("h2", { className: "text-lg font-semibold text-neutral-200", children: title }),
|
|
4681
4679
|
labels && labels.length > 0 && labels.map((labelProps, i) => /* @__PURE__ */ jsx31(Label, { size: "lg", ...labelProps }, i)),
|
|
4682
4680
|
titleExtra
|
|
4683
4681
|
] }),
|
|
@@ -5209,7 +5207,7 @@ function ScreenshotUploader({
|
|
|
5209
5207
|
className: "w-full h-full object-cover"
|
|
5210
5208
|
}
|
|
5211
5209
|
),
|
|
5212
|
-
/* @__PURE__ */ jsxs29("div", { className: "absolute inset-0 bg-
|
|
5210
|
+
/* @__PURE__ */ jsxs29("div", { className: "absolute inset-0 bg-[var(--background)]/60 opacity-0 group-hover:opacity-100 transition-opacity flex flex-col justify-between p-2", children: [
|
|
5213
5211
|
/* @__PURE__ */ jsx35(
|
|
5214
5212
|
"button",
|
|
5215
5213
|
{
|
|
@@ -5225,7 +5223,7 @@ function ScreenshotUploader({
|
|
|
5225
5223
|
),
|
|
5226
5224
|
/* @__PURE__ */ jsx35("span", { className: "text-xs text-white truncate", children: s.filename })
|
|
5227
5225
|
] }),
|
|
5228
|
-
/* @__PURE__ */ jsx35("div", { className: "absolute bottom-1 right-1 px-1.5 py-0.5 bg-
|
|
5226
|
+
/* @__PURE__ */ jsx35("div", { className: "absolute bottom-1 right-1 px-1.5 py-0.5 bg-[var(--background)]/70 rounded text-xs text-neutral-400", children: formatFileSize(s.size) })
|
|
5229
5227
|
]
|
|
5230
5228
|
},
|
|
5231
5229
|
s.id
|
|
@@ -6280,7 +6278,7 @@ function StatusOverview({
|
|
|
6280
6278
|
/* @__PURE__ */ jsxs31("div", { className: "bg-neutral-900 rounded-lg p-4 border border-amber-500/30", children: [
|
|
6281
6279
|
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-3 mb-3", children: [
|
|
6282
6280
|
/* @__PURE__ */ jsx37(Archive, { className: "w-5 h-5 text-amber-400" }),
|
|
6283
|
-
/* @__PURE__ */ jsx37("h3", { className: "text-neutral-300 font-medium", children: "Bundled Seed (App Distribution)" }),
|
|
6281
|
+
/* @__PURE__ */ jsx37("h3", { className: "text-sm text-neutral-300 font-medium", children: "Bundled Seed (App Distribution)" }),
|
|
6284
6282
|
status?.seed.meta && renderVersionBadge(status.seed.meta, "bg-amber-500/20 text-amber-400")
|
|
6285
6283
|
] }),
|
|
6286
6284
|
/* @__PURE__ */ jsxs31("div", { className: "grid grid-cols-2 gap-4 text-sm", children: [
|
|
@@ -6304,7 +6302,7 @@ function StatusOverview({
|
|
|
6304
6302
|
/* @__PURE__ */ jsxs31("div", { className: "bg-neutral-900 rounded-lg p-4 border border-blue-500/30", children: [
|
|
6305
6303
|
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
6306
6304
|
/* @__PURE__ */ jsx37("div", { className: "w-3 h-3 rounded-full bg-blue-400" }),
|
|
6307
|
-
/* @__PURE__ */ jsx37("h4", { className: "text-neutral-300 font-medium", children: "Golden (Reference)" }),
|
|
6305
|
+
/* @__PURE__ */ jsx37("h4", { className: "text-sm text-neutral-300 font-medium", children: "Golden (Reference)" }),
|
|
6308
6306
|
renderVersionBadge(status?.goldenMeta, "bg-blue-500/20 text-blue-400")
|
|
6309
6307
|
] }),
|
|
6310
6308
|
/* @__PURE__ */ jsx37("div", { className: "space-y-2 text-sm", children: components.map((comp) => {
|
|
@@ -6329,7 +6327,7 @@ function StatusOverview({
|
|
|
6329
6327
|
/* @__PURE__ */ jsxs31("div", { className: "bg-neutral-900 rounded-lg p-4 border border-green-500/30", children: [
|
|
6330
6328
|
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
6331
6329
|
/* @__PURE__ */ jsx37("div", { className: "w-3 h-3 rounded-full bg-green-400" }),
|
|
6332
|
-
/* @__PURE__ */ jsx37("h4", { className: "text-neutral-300 font-medium", children: "Live (Working Copy)" }),
|
|
6330
|
+
/* @__PURE__ */ jsx37("h4", { className: "text-sm text-neutral-300 font-medium", children: "Live (Working Copy)" }),
|
|
6333
6331
|
renderVersionBadge(status?.liveMeta, "bg-green-500/20 text-green-400"),
|
|
6334
6332
|
/* @__PURE__ */ jsxs31("div", { className: "ml-auto relative", ref: resetMenuRef, children: [
|
|
6335
6333
|
/* @__PURE__ */ jsx37(
|
|
@@ -6453,7 +6451,7 @@ function StatusOverview({
|
|
|
6453
6451
|
devtools && manifest && /* @__PURE__ */ jsxs31("div", { className: "bg-neutral-900 rounded-lg p-4 border border-neutral-700", children: [
|
|
6454
6452
|
/* @__PURE__ */ jsxs31("div", { className: "flex items-center gap-2 mb-3", children: [
|
|
6455
6453
|
/* @__PURE__ */ jsx37(Archive, { className: "w-4 h-4 text-neutral-500" }),
|
|
6456
|
-
/* @__PURE__ */ jsx37("h4", { className: "text-neutral-300 font-medium", children: "Local Snapshots" })
|
|
6454
|
+
/* @__PURE__ */ jsx37("h4", { className: "text-sm text-neutral-300 font-medium", children: "Local Snapshots" })
|
|
6457
6455
|
] }),
|
|
6458
6456
|
/* @__PURE__ */ jsx37("div", { className: "flex gap-6 text-sm", children: /* @__PURE__ */ jsxs31("div", { children: [
|
|
6459
6457
|
/* @__PURE__ */ jsx37("span", { className: "text-neutral-500", children: "Count: " }),
|
|
@@ -6519,7 +6517,7 @@ function DiffFileItem({ file, isSelected, onSelect, onReset, resettingFile, anyR
|
|
|
6519
6517
|
children: [
|
|
6520
6518
|
icon,
|
|
6521
6519
|
/* @__PURE__ */ jsx38("span", { className: "truncate", children: filename }),
|
|
6522
|
-
statusLabel && /* @__PURE__ */ jsx38("span", { className: `text-
|
|
6520
|
+
statusLabel && /* @__PURE__ */ jsx38("span", { className: `text-xss font-medium ml-auto flex-shrink-0 ${statusColor}`, children: statusLabel })
|
|
6523
6521
|
]
|
|
6524
6522
|
}
|
|
6525
6523
|
),
|
|
@@ -6567,7 +6565,7 @@ function DiffFileTreePanel({ sync, componentLabels, renderFileIcon }) {
|
|
|
6567
6565
|
const displayLabel = isRoot ? componentLabels?.[label] ?? label.charAt(0).toUpperCase() + label.slice(1) : label;
|
|
6568
6566
|
const headerClasses = isRoot ? `${color.text} ${color.hoverBg} border-l-2 ${color.border} ${color.bg} px-3 py-2 text-sm font-medium` : "text-neutral-500 hover:bg-neutral-850 px-3 py-1.5";
|
|
6569
6567
|
const chevronSize = isRoot ? "w-4 h-4" : "w-3 h-3";
|
|
6570
|
-
const countElement = isRoot ? /* @__PURE__ */ jsx38("span", { className: `ml-auto px-1.5 py-0.5 rounded-full text-
|
|
6568
|
+
const countElement = isRoot ? /* @__PURE__ */ jsx38("span", { className: `ml-auto px-1.5 py-0.5 rounded-full text-xss font-medium ${color.pillBg} ${color.text}`, children: fileCount }) : /* @__PURE__ */ jsx38("span", { className: "text-neutral-600 ml-auto", children: fileCount });
|
|
6571
6569
|
const containerLineClass = isRoot ? color.line : lineClass;
|
|
6572
6570
|
return /* @__PURE__ */ jsxs32("div", { children: [
|
|
6573
6571
|
/* @__PURE__ */ jsxs32(
|
|
@@ -6784,7 +6782,7 @@ function SnapshotManager({ sync }) {
|
|
|
6784
6782
|
/* @__PURE__ */ jsxs33("div", { className: "bg-neutral-900 rounded-lg p-4 border border-neutral-700", children: [
|
|
6785
6783
|
/* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-3 mb-3", children: [
|
|
6786
6784
|
/* @__PURE__ */ jsx39(Plus4, { className: "w-5 h-5 text-green-400" }),
|
|
6787
|
-
/* @__PURE__ */ jsx39("h4", { className: "text-neutral-300 font-medium", children: "Create Snapshot" })
|
|
6785
|
+
/* @__PURE__ */ jsx39("h4", { className: "text-sm text-neutral-300 font-medium", children: "Create Snapshot" })
|
|
6788
6786
|
] }),
|
|
6789
6787
|
/* @__PURE__ */ jsx39("p", { className: "text-xs text-neutral-600 mb-3", children: "Archives the current live state. If components differ from golden, their patch version is auto-bumped." }),
|
|
6790
6788
|
/* @__PURE__ */ jsxs33("div", { className: "flex gap-2", children: [
|
|
@@ -6815,7 +6813,7 @@ function SnapshotManager({ sync }) {
|
|
|
6815
6813
|
/* @__PURE__ */ jsxs33("div", { className: "flex items-center justify-between px-4 py-3 border-b border-neutral-700", children: [
|
|
6816
6814
|
/* @__PURE__ */ jsxs33("div", { className: "flex items-center gap-2", children: [
|
|
6817
6815
|
/* @__PURE__ */ jsx39(Archive2, { className: "w-4 h-4 text-neutral-500" }),
|
|
6818
|
-
/* @__PURE__ */ jsx39("h4", { className: "text-neutral-300 font-medium", children: "Snapshots" }),
|
|
6816
|
+
/* @__PURE__ */ jsx39("h4", { className: "text-sm text-neutral-300 font-medium", children: "Snapshots" }),
|
|
6819
6817
|
/* @__PURE__ */ jsxs33("span", { className: "text-xs text-neutral-500", children: [
|
|
6820
6818
|
"(",
|
|
6821
6819
|
manifest?.snapshots.length ?? 0,
|
|
@@ -6845,7 +6843,7 @@ function SnapshotManager({ sync }) {
|
|
|
6845
6843
|
"v",
|
|
6846
6844
|
snap.version
|
|
6847
6845
|
] }),
|
|
6848
|
-
snap.version === manifest.activeVersion && /* @__PURE__ */ jsx39("span", { className: "px-1.5 py-0.5 bg-green-500/20 text-green-400 text-
|
|
6846
|
+
snap.version === manifest.activeVersion && /* @__PURE__ */ jsx39("span", { className: "px-1.5 py-0.5 bg-green-500/20 text-green-400 text-xss rounded font-medium", children: "active" }),
|
|
6849
6847
|
snap.pinned && /* @__PURE__ */ jsx39(Pin4, { className: "w-3 h-3 text-amber-400" }),
|
|
6850
6848
|
snap.metaVersion && /* @__PURE__ */ jsx39("span", { className: "text-xs text-neutral-600 font-mono", children: snap.metaVersion })
|
|
6851
6849
|
] }),
|
|
@@ -6973,7 +6971,7 @@ function VersionManager({ sync, components, componentLabels }) {
|
|
|
6973
6971
|
/* @__PURE__ */ jsxs34("div", { className: "bg-neutral-900 rounded-lg p-4 border border-teal-500/30", children: [
|
|
6974
6972
|
/* @__PURE__ */ jsxs34("div", { className: "flex items-center gap-3 mb-3", children: [
|
|
6975
6973
|
/* @__PURE__ */ jsx40(Tag4, { className: "w-5 h-5 text-teal-400" }),
|
|
6976
|
-
/* @__PURE__ */ jsx40("h4", { className: "text-neutral-300 font-medium", children: "Golden Version" }),
|
|
6974
|
+
/* @__PURE__ */ jsx40("h4", { className: "text-sm text-neutral-300 font-medium", children: "Golden Version" }),
|
|
6977
6975
|
status?.goldenMeta && /* @__PURE__ */ jsx40("span", { className: "px-2 py-0.5 bg-teal-500/20 text-teal-400 text-xs rounded font-mono", children: status.goldenMeta.version })
|
|
6978
6976
|
] }),
|
|
6979
6977
|
/* @__PURE__ */ jsx40("p", { className: "text-xs text-neutral-600 mb-3", children: "Bump the overall golden version number. This updates the top-level version in meta.json." }),
|
|
@@ -7014,7 +7012,7 @@ function VersionManager({ sync, components, componentLabels }) {
|
|
|
7014
7012
|
] }),
|
|
7015
7013
|
/* @__PURE__ */ jsxs34("div", { className: "bg-neutral-900 rounded-lg border border-neutral-700 overflow-hidden", children: [
|
|
7016
7014
|
/* @__PURE__ */ jsxs34("div", { className: "px-4 py-3 border-b border-neutral-700", children: [
|
|
7017
|
-
/* @__PURE__ */ jsx40("h4", { className: "text-neutral-300 font-medium", children: "Component Versions" }),
|
|
7015
|
+
/* @__PURE__ */ jsx40("h4", { className: "text-sm text-neutral-300 font-medium", children: "Component Versions" }),
|
|
7018
7016
|
/* @__PURE__ */ jsx40("p", { className: "text-xs text-neutral-600 mt-1", children: "Update individual component versions. Click a component to edit." })
|
|
7019
7017
|
] }),
|
|
7020
7018
|
/* @__PURE__ */ jsx40("div", { className: "divide-y divide-neutral-700", children: components.map((comp) => {
|
|
@@ -7030,7 +7028,7 @@ function VersionManager({ sync, components, componentLabels }) {
|
|
|
7030
7028
|
"v",
|
|
7031
7029
|
currentVersion
|
|
7032
7030
|
] }),
|
|
7033
|
-
mismatch && /* @__PURE__ */ jsxs34("span", { className: "text-
|
|
7031
|
+
mismatch && /* @__PURE__ */ jsxs34("span", { className: "text-xss text-yellow-400", children: [
|
|
7034
7032
|
"(live: v",
|
|
7035
7033
|
liveVersion,
|
|
7036
7034
|
")"
|
|
@@ -7673,7 +7671,7 @@ function CapturedIssuesPanel({
|
|
|
7673
7671
|
] }) : /* @__PURE__ */ jsx43("div", { className: "bg-neutral-900 border border-neutral-700 rounded-lg p-6", children: /* @__PURE__ */ jsxs37("div", { className: "flex items-center gap-4", children: [
|
|
7674
7672
|
/* @__PURE__ */ jsx43("div", { className: "w-10 h-10 bg-green-500/10 rounded-lg flex items-center justify-center", children: /* @__PURE__ */ jsx43(Check13, { className: "w-5 h-5 text-green-400" }) }),
|
|
7675
7673
|
/* @__PURE__ */ jsxs37("div", { children: [
|
|
7676
|
-
/* @__PURE__ */ jsx43("h3", { className: "text-neutral-300 font-medium", children: "No Issues Captured" }),
|
|
7674
|
+
/* @__PURE__ */ jsx43("h3", { className: "text-sm text-neutral-300 font-medium", children: "No Issues Captured" }),
|
|
7677
7675
|
/* @__PURE__ */ jsx43("p", { className: "text-sm text-neutral-500", children: "Everything is running smoothly." })
|
|
7678
7676
|
] })
|
|
7679
7677
|
] }) }),
|
|
@@ -7859,7 +7857,7 @@ function SnapshotEntryRow({
|
|
|
7859
7857
|
children: [
|
|
7860
7858
|
/* @__PURE__ */ jsx44(Clock2, { className: "w-3 h-3 shrink-0 text-neutral-500" }),
|
|
7861
7859
|
/* @__PURE__ */ jsx44("span", { className: "text-xs flex-1 truncate", children: searchQuery ? highlightMatch(displayName, searchQuery) : displayName }),
|
|
7862
|
-
/* @__PURE__ */ jsx44("span", { className: "text-
|
|
7860
|
+
/* @__PURE__ */ jsx44("span", { className: "text-xss text-neutral-500 shrink-0", title: formatFullDate2(entry.savedAt), children: formatRelativeTime2(entry.savedAt) }),
|
|
7863
7861
|
/* @__PURE__ */ jsx44(
|
|
7864
7862
|
IconButton,
|
|
7865
7863
|
{
|
|
@@ -8467,7 +8465,7 @@ function SnippetsEditor({
|
|
|
8467
8465
|
filteredSnippets.length === 0 && !isAdding && /* @__PURE__ */ jsxs40("div", { className: "text-center py-10 px-4", children: [
|
|
8468
8466
|
/* @__PURE__ */ jsx46(Braces, { className: "w-8 h-8 mx-auto text-purple-400/40 mb-3" }),
|
|
8469
8467
|
/* @__PURE__ */ jsx46("p", { className: "text-xs text-neutral-500 mb-1", children: searchQuery ? "No matching snippets" : "No snippets defined" }),
|
|
8470
|
-
/* @__PURE__ */ jsx46("p", { className: "text-
|
|
8468
|
+
/* @__PURE__ */ jsx46("p", { className: "text-xss text-neutral-600", children: searchQuery ? "Try a different search term" : "Click + to add your first snippet" })
|
|
8471
8469
|
] }),
|
|
8472
8470
|
filteredSnippets.map((snippet) => /* @__PURE__ */ jsx46(
|
|
8473
8471
|
SnippetListItem,
|
|
@@ -8530,8 +8528,8 @@ function SnippetListItem({ snippet, selected, onSelect, onDelete }) {
|
|
|
8530
8528
|
children: [
|
|
8531
8529
|
/* @__PURE__ */ jsxs40("div", { className: "flex-1 min-w-0", children: [
|
|
8532
8530
|
/* @__PURE__ */ jsx46("p", { className: "text-xs font-mono font-medium text-neutral-300 truncate", children: snippet.name }),
|
|
8533
|
-
/* @__PURE__ */ jsx46("p", { className: "text-
|
|
8534
|
-
snippet.value && /* @__PURE__ */ jsxs40("p", { className: "text-
|
|
8531
|
+
/* @__PURE__ */ jsx46("p", { className: "text-xss text-neutral-500 truncate mt-0.5", children: snippet.description }),
|
|
8532
|
+
snippet.value && /* @__PURE__ */ jsxs40("p", { className: "text-xss text-neutral-600 truncate mt-0.5 font-mono", children: [
|
|
8535
8533
|
snippet.value.slice(0, 80),
|
|
8536
8534
|
snippet.value.length > 80 ? "..." : ""
|
|
8537
8535
|
] })
|
|
@@ -8581,7 +8579,7 @@ function SnippetForm({
|
|
|
8581
8579
|
autoFocus: !isEditing
|
|
8582
8580
|
}
|
|
8583
8581
|
),
|
|
8584
|
-
/* @__PURE__ */ jsxs40("p", { className: "mt-1 text-
|
|
8582
|
+
/* @__PURE__ */ jsxs40("p", { className: "mt-1 text-xss text-neutral-600", children: [
|
|
8585
8583
|
"Use in prompts as ",
|
|
8586
8584
|
/* @__PURE__ */ jsx46("span", { className: "font-mono text-purple-400", children: "{{" + (formData.name || "NAME") + "}}" })
|
|
8587
8585
|
] })
|
|
@@ -8612,7 +8610,7 @@ function SnippetForm({
|
|
|
8612
8610
|
minHeight: 160
|
|
8613
8611
|
}
|
|
8614
8612
|
),
|
|
8615
|
-
/* @__PURE__ */ jsx46("p", { className: "mt-1 text-
|
|
8613
|
+
/* @__PURE__ */ jsx46("p", { className: "mt-1 text-xss text-neutral-600", children: "Can be a single value, multi-line text, or an entire document" })
|
|
8616
8614
|
] }),
|
|
8617
8615
|
formError && /* @__PURE__ */ jsx46("div", { className: "px-3 py-2 bg-red-500/10 border border-red-500/30 rounded-lg", children: /* @__PURE__ */ jsx46("p", { className: "text-xs text-red-400", children: formError }) })
|
|
8618
8616
|
] }),
|
|
@@ -9618,7 +9616,7 @@ function FileNode({ entry, depth, selectedPath, expandedPaths, onToggleExpand, o
|
|
|
9618
9616
|
}
|
|
9619
9617
|
),
|
|
9620
9618
|
/* @__PURE__ */ jsx51("span", { className: "truncate", children: entry.name }),
|
|
9621
|
-
entry.badge && /* @__PURE__ */ jsx51("span", { className: "ml-auto shrink-0 px-1.5 py-0.5 text-
|
|
9619
|
+
entry.badge && /* @__PURE__ */ jsx51("span", { className: "ml-auto shrink-0 px-1.5 py-0.5 text-xss rounded bg-neutral-700 text-neutral-500", children: entry.badge }),
|
|
9622
9620
|
onAction && /* @__PURE__ */ jsx51(
|
|
9623
9621
|
"span",
|
|
9624
9622
|
{
|
|
@@ -9681,13 +9679,13 @@ function FilesPanel({
|
|
|
9681
9679
|
}
|
|
9682
9680
|
return /* @__PURE__ */ jsxs45("div", { className: cn("flex flex-col bg-neutral-800 rounded-lg overflow-hidden", className), children: [
|
|
9683
9681
|
/* @__PURE__ */ jsxs45("div", { className: "flex items-center justify-between px-3 py-2 border-b border-neutral-700", children: [
|
|
9684
|
-
/* @__PURE__ */ jsx51("span", { className: "text-
|
|
9685
|
-
/* @__PURE__ */ jsxs45("span", { className: "text-
|
|
9682
|
+
/* @__PURE__ */ jsx51("span", { className: "text-xss font-semibold uppercase tracking-wider text-neutral-500", children: "Files" }),
|
|
9683
|
+
/* @__PURE__ */ jsxs45("span", { className: "text-xss text-neutral-500", children: [
|
|
9686
9684
|
fileCount,
|
|
9687
9685
|
" files"
|
|
9688
9686
|
] })
|
|
9689
9687
|
] }),
|
|
9690
|
-
showSearch && /* @__PURE__ */ jsx51("div", { className: "px-2 py-2 border-b border-neutral-700", children: /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-1.5 px-2 py-1 bg-
|
|
9688
|
+
showSearch && /* @__PURE__ */ jsx51("div", { className: "px-2 py-2 border-b border-neutral-700", children: /* @__PURE__ */ jsxs45("div", { className: "flex items-center gap-1.5 px-2 py-1 bg-[var(--background)] border border-neutral-700 rounded text-xs", children: [
|
|
9691
9689
|
/* @__PURE__ */ jsx51(Search10, { className: "w-3 h-3 text-neutral-500 shrink-0" }),
|
|
9692
9690
|
/* @__PURE__ */ jsx51(
|
|
9693
9691
|
"input",
|
|
@@ -9714,7 +9712,7 @@ function FilesPanel({
|
|
|
9714
9712
|
},
|
|
9715
9713
|
entry.path
|
|
9716
9714
|
)) }),
|
|
9717
|
-
displayedFiles.length === 0 && /* @__PURE__ */ jsx51("p", { className: "text-
|
|
9715
|
+
displayedFiles.length === 0 && /* @__PURE__ */ jsx51("p", { className: "text-xss text-neutral-500 text-center py-4", children: "No files found" })
|
|
9718
9716
|
] })
|
|
9719
9717
|
] });
|
|
9720
9718
|
}
|
|
@@ -9759,13 +9757,13 @@ function SnippetsPanel({
|
|
|
9759
9757
|
);
|
|
9760
9758
|
return /* @__PURE__ */ jsxs46("div", { className: cn("flex flex-col bg-neutral-800 rounded-lg overflow-hidden", className), children: [
|
|
9761
9759
|
/* @__PURE__ */ jsxs46("div", { className: "flex items-center justify-between px-3 py-2 border-b border-neutral-700", children: [
|
|
9762
|
-
/* @__PURE__ */ jsx52("span", { className: "text-
|
|
9763
|
-
/* @__PURE__ */ jsxs46("span", { className: "text-
|
|
9760
|
+
/* @__PURE__ */ jsx52("span", { className: "text-xss font-semibold uppercase tracking-wider text-neutral-500", children: "Snippets" }),
|
|
9761
|
+
/* @__PURE__ */ jsxs46("span", { className: "text-xss text-neutral-500", children: [
|
|
9764
9762
|
snippets.length,
|
|
9765
9763
|
" snippets"
|
|
9766
9764
|
] })
|
|
9767
9765
|
] }),
|
|
9768
|
-
showSearch && /* @__PURE__ */ jsx52("div", { className: "px-2 py-2 border-b border-neutral-700", children: /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-1.5 px-2 py-1 bg-
|
|
9766
|
+
showSearch && /* @__PURE__ */ jsx52("div", { className: "px-2 py-2 border-b border-neutral-700", children: /* @__PURE__ */ jsxs46("div", { className: "flex items-center gap-1.5 px-2 py-1 bg-[var(--background)] border border-neutral-700 rounded text-xs", children: [
|
|
9769
9767
|
/* @__PURE__ */ jsx52(Search11, { className: "w-3 h-3 text-neutral-500 shrink-0" }),
|
|
9770
9768
|
/* @__PURE__ */ jsx52(
|
|
9771
9769
|
"input",
|
|
@@ -9788,7 +9786,7 @@ function SnippetsPanel({
|
|
|
9788
9786
|
},
|
|
9789
9787
|
snippet.id
|
|
9790
9788
|
)),
|
|
9791
|
-
filteredSnippets.length === 0 && /* @__PURE__ */ jsx52("p", { className: "text-
|
|
9789
|
+
filteredSnippets.length === 0 && /* @__PURE__ */ jsx52("p", { className: "text-xss text-neutral-500 text-center py-4", children: "No snippets found" })
|
|
9792
9790
|
] })
|
|
9793
9791
|
] });
|
|
9794
9792
|
}
|
|
@@ -9801,7 +9799,7 @@ function SnippetCard({ snippet, onInsert, onCopy }) {
|
|
|
9801
9799
|
snippet.language && /* @__PURE__ */ jsx52(
|
|
9802
9800
|
"span",
|
|
9803
9801
|
{
|
|
9804
|
-
className: "px-1.5 py-0.5 text-
|
|
9802
|
+
className: "px-1.5 py-0.5 text-xss font-medium rounded shrink-0",
|
|
9805
9803
|
style: { color: langColor, backgroundColor: `${langColor}20` },
|
|
9806
9804
|
children: snippet.language
|
|
9807
9805
|
}
|
|
@@ -9828,9 +9826,9 @@ function SnippetCard({ snippet, onInsert, onCopy }) {
|
|
|
9828
9826
|
)
|
|
9829
9827
|
] })
|
|
9830
9828
|
] }),
|
|
9831
|
-
snippet.description && /* @__PURE__ */ jsx52("p", { className: "px-2.5 pb-1.5 text-
|
|
9832
|
-
/* @__PURE__ */ jsx52("div", { className: "mx-2.5 mb-2 rounded bg-
|
|
9833
|
-
snippet.tags && snippet.tags.length > 0 && /* @__PURE__ */ jsx52("div", { className: "flex flex-wrap gap-1 px-2.5 pb-2", children: snippet.tags.map((tag) => /* @__PURE__ */ jsx52("span", { className: "px-1.5 py-0.5 text-
|
|
9829
|
+
snippet.description && /* @__PURE__ */ jsx52("p", { className: "px-2.5 pb-1.5 text-xss text-neutral-400 leading-relaxed", children: snippet.description }),
|
|
9830
|
+
/* @__PURE__ */ jsx52("div", { className: "mx-2.5 mb-2 rounded bg-[var(--background)] border border-neutral-700 overflow-hidden", children: /* @__PURE__ */ jsx52("pre", { className: "p-2 text-xss text-neutral-400 leading-relaxed overflow-x-auto max-h-24", children: /* @__PURE__ */ jsx52("code", { children: snippet.code }) }) }),
|
|
9831
|
+
snippet.tags && snippet.tags.length > 0 && /* @__PURE__ */ jsx52("div", { className: "flex flex-wrap gap-1 px-2.5 pb-2", children: snippet.tags.map((tag) => /* @__PURE__ */ jsx52("span", { className: "px-1.5 py-0.5 text-xss rounded bg-neutral-700 text-neutral-500", children: tag }, tag)) })
|
|
9834
9832
|
] });
|
|
9835
9833
|
}
|
|
9836
9834
|
|
|
@@ -9908,7 +9906,7 @@ var iconSubset3 = {
|
|
|
9908
9906
|
"package": Package3
|
|
9909
9907
|
};
|
|
9910
9908
|
var sizeConfig2 = {
|
|
9911
|
-
xss: { text: "text-
|
|
9909
|
+
xss: { text: "text-xss", icon: "w-2.5 h-2.5", px: "px-1", py: "py-0.5", gap: "gap-0.5", sep: "w-2 h-2" },
|
|
9912
9910
|
xs: { text: "text-xs", icon: "w-3 h-3", px: "px-1.5", py: "py-0.5", gap: "gap-1", sep: "w-2.5 h-2.5" },
|
|
9913
9911
|
sm: { text: "text-sm", icon: "w-3.5 h-3.5", px: "px-2", py: "py-1", gap: "gap-1.5", sep: "w-3 h-3" },
|
|
9914
9912
|
md: { text: "text-base", icon: "w-4 h-4", px: "px-2.5", py: "py-1", gap: "gap-1.5", sep: "w-3.5 h-3.5" },
|
|
@@ -10082,7 +10080,7 @@ var iconSubset4 = {
|
|
|
10082
10080
|
webhook: Webhook6
|
|
10083
10081
|
};
|
|
10084
10082
|
var sizeConfig3 = {
|
|
10085
|
-
xss: { text: "text-
|
|
10083
|
+
xss: { text: "text-xss", segIcon: "w-2.5 h-2.5", navIcon: "w-2.5 h-2.5", navBtn: "w-[18px] h-[18px] rounded-[3px]", px: "px-1", py: "py-0.5", sep: "w-2 h-2", divH: "h-3" },
|
|
10086
10084
|
xs: { text: "text-xs", segIcon: "w-3 h-3", navIcon: "w-3 h-3", navBtn: "w-6 h-6 rounded-[5px]", px: "px-1.5", py: "py-0.5", sep: "w-2.5 h-2.5", divH: "h-3.5" },
|
|
10087
10085
|
sm: { text: "text-sm", segIcon: "w-3.5 h-3.5", navIcon: "w-3.5 h-3.5", navBtn: "w-7 h-7 rounded-md", px: "px-2", py: "py-1", sep: "w-3 h-3", divH: "h-4" },
|
|
10088
10086
|
md: { text: "text-base", segIcon: "w-4 h-4", navIcon: "w-4 h-4", navBtn: "w-8 h-8 rounded-md", px: "px-2.5", py: "py-1", sep: "w-3.5 h-3.5", divH: "h-5" },
|
|
@@ -10296,7 +10294,7 @@ var iconSubset5 = {
|
|
|
10296
10294
|
heart: Heart7
|
|
10297
10295
|
};
|
|
10298
10296
|
var sizeConfig4 = {
|
|
10299
|
-
xss: { text: "text-
|
|
10297
|
+
xss: { text: "text-xss", icon: "w-2.5 h-2.5", px: "px-1.5", py: "py-1", close: "w-2.5 h-2.5", badgeSize: "xss", gap: "gap-1" },
|
|
10300
10298
|
xs: { text: "text-xs", icon: "w-3 h-3", px: "px-2", py: "py-1", close: "w-3 h-3", badgeSize: "xs", gap: "gap-1" },
|
|
10301
10299
|
sm: { text: "text-sm", icon: "w-3.5 h-3.5", px: "px-3", py: "py-1.5", close: "w-3 h-3", badgeSize: "sm", gap: "gap-1.5" },
|
|
10302
10300
|
md: { text: "text-base", icon: "w-4 h-4", px: "px-4", py: "py-2", close: "w-3.5 h-3.5", badgeSize: "md", gap: "gap-2" },
|
|
@@ -10868,7 +10866,7 @@ function NavCard({
|
|
|
10868
10866
|
disabled,
|
|
10869
10867
|
className: cn(
|
|
10870
10868
|
"relative w-full text-left rounded-lg border border-neutral-700 bg-neutral-800 p-4 transition-all duration-200 cursor-pointer",
|
|
10871
|
-
!disabled && "hover:-translate-y-0.5 hover:
|
|
10869
|
+
!disabled && "hover:-translate-y-0.5 hover:border-neutral-600 hover:bg-neutral-700",
|
|
10872
10870
|
disabled && "opacity-50 cursor-not-allowed",
|
|
10873
10871
|
className
|
|
10874
10872
|
),
|
|
@@ -11069,10 +11067,10 @@ function SnapshotCard({
|
|
|
11069
11067
|
}
|
|
11070
11068
|
)
|
|
11071
11069
|
] }),
|
|
11072
|
-
timestamp && /* @__PURE__ */ jsx60("p", { className: "mt-1 text-
|
|
11070
|
+
timestamp && /* @__PURE__ */ jsx60("p", { className: "mt-1 text-xss text-neutral-500", children: timestamp }),
|
|
11073
11071
|
description && /* @__PURE__ */ jsx60("p", { className: "mt-2 text-xs text-neutral-500 leading-relaxed line-clamp-2", children: description }),
|
|
11074
11072
|
stats && stats.length > 0 && /* @__PURE__ */ jsx60("div", { className: "mt-3 grid grid-cols-2 gap-x-4 gap-y-2", children: stats.map((stat) => /* @__PURE__ */ jsxs54("div", { children: [
|
|
11075
|
-
/* @__PURE__ */ jsx60("p", { className: "text-
|
|
11073
|
+
/* @__PURE__ */ jsx60("p", { className: "text-xss text-neutral-500", children: stat.label }),
|
|
11076
11074
|
/* @__PURE__ */ jsx60("p", { className: "text-xs font-medium text-neutral-200", children: stat.value })
|
|
11077
11075
|
] }, stat.label)) }),
|
|
11078
11076
|
(onSync || onView) && /* @__PURE__ */ jsxs54("div", { className: "mt-3 pt-3 border-t border-neutral-700 flex items-center gap-2", children: [
|
|
@@ -21,6 +21,16 @@
|
|
|
21
21
|
--color-neutral-100: #f0f0f0;
|
|
22
22
|
--color-neutral-50: #fafafa;
|
|
23
23
|
|
|
24
|
+
/* Typography — minimum font size */
|
|
25
|
+
--font-size-xss: 11px;
|
|
26
|
+
|
|
27
|
+
/* Breakpoints */
|
|
28
|
+
--breakpoint-3xl: 100rem;
|
|
29
|
+
--breakpoint-4xl: 156.25rem;
|
|
30
|
+
|
|
31
|
+
/* Font family */
|
|
32
|
+
--font-sans: Inter, system-ui, Avenir, Helvetica, Arial, sans-serif;
|
|
33
|
+
|
|
24
34
|
/* Disable Tailwind default gray to prevent accidental usage */
|
|
25
35
|
--color-gray-*: initial;
|
|
26
36
|
}
|
package/dist/tokens/semantic.css
CHANGED
|
@@ -20,6 +20,9 @@
|
|
|
20
20
|
--surface-overlay: var(--color-neutral-700);
|
|
21
21
|
--surface-hover: var(--color-neutral-750);
|
|
22
22
|
|
|
23
|
+
/* Dialog backdrop: modal/dialog overlays */
|
|
24
|
+
--dialog-backdrop: rgba(0, 0, 0, 0.85);
|
|
25
|
+
|
|
23
26
|
/* Popover: floating panels, dropdown menus */
|
|
24
27
|
--popover: rgba(0, 0, 0, 0.8);
|
|
25
28
|
--popover-foreground: var(--color-neutral-300);
|