@yuva-devlab/ui 2.1.0 → 2.2.1
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 +4 -3
- package/dist/components/checkpoint/checkpoint.css +6 -0
- package/dist/components/code-block/code-block.css +12 -0
- package/dist/components/file-tree/file-tree.css +39 -0
- package/dist/components/legal-footer/legal-footer.css +98 -0
- package/dist/components/legal-footer/legal-footer.mdx +38 -0
- package/dist/components/model-selector/model-selector.css +49 -0
- package/dist/components/multi-select/multi-select.css +12 -0
- package/dist/components/plan/plan.css +47 -0
- package/dist/components/prompt-input/prompt-input.css +7 -0
- package/dist/components/queue/queue.css +61 -0
- package/dist/components/search-input/search-input.css +12 -0
- package/dist/components/sources/sources.css +16 -0
- package/dist/components/stack-trace/stack-trace.css +19 -0
- package/dist/components/subagent/subagent.css +47 -0
- package/dist/components/terminal/terminal.css +17 -0
- package/dist/components/test-results/test-results.css +34 -0
- package/dist/components.css +478 -0
- package/dist/index.cjs +283 -90
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +26 -2
- package/dist/index.d.ts +26 -2
- package/dist/index.js +282 -90
- package/dist/index.js.map +1 -1
- package/dist/styles/components.css +478 -0
- package/package.json +4 -3
package/dist/index.cjs
CHANGED
|
@@ -197,6 +197,7 @@ __export(index_exports, {
|
|
|
197
197
|
Kbd: () => Kbd,
|
|
198
198
|
KbdGroup: () => KbdGroup,
|
|
199
199
|
Label: () => Label3,
|
|
200
|
+
LegalFooter: () => LegalFooter,
|
|
200
201
|
LoadingState: () => LoadingState,
|
|
201
202
|
Menubar: () => Menubar,
|
|
202
203
|
MenubarCheckboxItem: () => MenubarCheckboxItem,
|
|
@@ -1336,7 +1337,7 @@ var Checkpoint = React14.forwardRef(
|
|
|
1336
1337
|
...props
|
|
1337
1338
|
}, ref) => {
|
|
1338
1339
|
return /* @__PURE__ */ (0, import_jsx_runtime14.jsx)("div", { ref, className: cn("dl-checkpoint", className), ...props, children: /* @__PURE__ */ (0, import_jsx_runtime14.jsxs)("div", { className: "dl-checkpoint__content", children: [
|
|
1339
|
-
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react6.History, { className: "
|
|
1340
|
+
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)(import_lucide_react6.History, { className: "dl-checkpoint__icon" }),
|
|
1340
1341
|
/* @__PURE__ */ (0, import_jsx_runtime14.jsx)("span", { children: label }),
|
|
1341
1342
|
onRestore && /* @__PURE__ */ (0, import_jsx_runtime14.jsx)(
|
|
1342
1343
|
"button",
|
|
@@ -1620,11 +1621,11 @@ var CodeBlockCopyButton = React20.forwardRef(({ className, code = "", onClick, .
|
|
|
1620
1621
|
});
|
|
1621
1622
|
CodeBlockCopyButton.displayName = "CodeBlockCopyButton";
|
|
1622
1623
|
var CodeBlockHeader = React20.forwardRef(({ className, filename, language, children, ...props }, ref) => /* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { ref, className: cn("dl-code-block__header", className), ...props, children: [
|
|
1623
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "
|
|
1624
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsxs)("div", { className: "dl-code-block__header-meta", children: [
|
|
1624
1625
|
filename && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "dl-code-block__filename", children: filename }),
|
|
1625
1626
|
language && /* @__PURE__ */ (0, import_jsx_runtime19.jsx)("span", { className: "dl-code-block__language", children: language })
|
|
1626
1627
|
] }),
|
|
1627
|
-
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "
|
|
1628
|
+
/* @__PURE__ */ (0, import_jsx_runtime19.jsx)("div", { className: "dl-code-block__header-actions", children })
|
|
1628
1629
|
] }));
|
|
1629
1630
|
CodeBlockHeader.displayName = "CodeBlockHeader";
|
|
1630
1631
|
var CodeBlockContent = React20.forwardRef(
|
|
@@ -3079,16 +3080,10 @@ var SearchInput = React42.forwardRef(
|
|
|
3079
3080
|
onClick: onClear,
|
|
3080
3081
|
"aria-label": "Clear search query",
|
|
3081
3082
|
tabIndex: -1,
|
|
3082
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react21.X, { className: "
|
|
3083
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react21.X, { className: "dl-search-icon", "aria-hidden": "true" })
|
|
3083
3084
|
}
|
|
3084
3085
|
) : null;
|
|
3085
|
-
const trailingIcon = loading ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3086
|
-
import_lucide_react21.Loader2,
|
|
3087
|
-
{
|
|
3088
|
-
className: "size-4 animate-spin text-muted-foreground",
|
|
3089
|
-
"aria-hidden": "true"
|
|
3090
|
-
}
|
|
3091
|
-
) : clearButton ?? endIcon;
|
|
3086
|
+
const trailingIcon = loading ? /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(import_lucide_react21.Loader2, { className: "dl-search-spinner", "aria-hidden": "true" }) : clearButton ?? endIcon;
|
|
3092
3087
|
return /* @__PURE__ */ (0, import_jsx_runtime44.jsx)(
|
|
3093
3088
|
Input,
|
|
3094
3089
|
{
|
|
@@ -3422,7 +3417,7 @@ function MultiSelect({
|
|
|
3422
3417
|
onClick: (e) => handleRemove(e, opt.value),
|
|
3423
3418
|
"aria-label": `Remove ${opt.label}`,
|
|
3424
3419
|
className: "dl-multi-select-chip__remove",
|
|
3425
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react24.X, { className: "
|
|
3420
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react24.X, { className: "dl-multi-select-chip__icon" })
|
|
3426
3421
|
}
|
|
3427
3422
|
)
|
|
3428
3423
|
] }, opt.value)),
|
|
@@ -3432,7 +3427,7 @@ function MultiSelect({
|
|
|
3432
3427
|
" more"
|
|
3433
3428
|
] })
|
|
3434
3429
|
] }) }),
|
|
3435
|
-
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react24.ChevronDown, { className: "
|
|
3430
|
+
/* @__PURE__ */ (0, import_jsx_runtime49.jsx)(import_lucide_react24.ChevronDown, { className: "dl-multi-select-chevron" })
|
|
3436
3431
|
]
|
|
3437
3432
|
}
|
|
3438
3433
|
) }),
|
|
@@ -5254,7 +5249,7 @@ var PromptInput = React74.forwardRef(
|
|
|
5254
5249
|
...props,
|
|
5255
5250
|
children: [
|
|
5256
5251
|
files.length > 0 && /* @__PURE__ */ (0, import_jsx_runtime78.jsx)("div", { className: "dl-prompt-input__attachments", children: files.map((file) => /* @__PURE__ */ (0, import_jsx_runtime78.jsxs)("span", { className: "dl-prompt-input__chip", children: [
|
|
5257
|
-
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react34.FileText, { className: "
|
|
5252
|
+
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react34.FileText, { className: "dl-prompt-input__chip-icon" }),
|
|
5258
5253
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)("span", { className: "dl-prompt-input__chip-name", children: file.name }),
|
|
5259
5254
|
/* @__PURE__ */ (0, import_jsx_runtime78.jsx)(
|
|
5260
5255
|
"button",
|
|
@@ -5263,7 +5258,7 @@ var PromptInput = React74.forwardRef(
|
|
|
5263
5258
|
onClick: () => handleRemoveFile(file.id),
|
|
5264
5259
|
"aria-label": `Remove ${file.name}`,
|
|
5265
5260
|
className: "dl-prompt-input__chip-remove",
|
|
5266
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react34.X, { className: "
|
|
5261
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime78.jsx)(import_lucide_react34.X, { className: "dl-prompt-input__chip-icon" })
|
|
5267
5262
|
}
|
|
5268
5263
|
)
|
|
5269
5264
|
] }, file.id)) }),
|
|
@@ -5509,18 +5504,18 @@ var TerminalHeader = React77.forwardRef(
|
|
|
5509
5504
|
className: cn("dl-terminal__header", className),
|
|
5510
5505
|
...props,
|
|
5511
5506
|
children: [
|
|
5512
|
-
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "
|
|
5507
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "dl-terminal__header-left", children: [
|
|
5513
5508
|
windowControls && /* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "dl-terminal__dots", "aria-hidden": "true", children: [
|
|
5514
5509
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "dl-terminal__dot" }),
|
|
5515
5510
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "dl-terminal__dot" }),
|
|
5516
5511
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { className: "dl-terminal__dot" })
|
|
5517
5512
|
] }),
|
|
5518
5513
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "dl-terminal__title", children: [
|
|
5519
|
-
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react37.Terminal, { className: "
|
|
5514
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react37.Terminal, { className: "dl-terminal__icon" }),
|
|
5520
5515
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)("span", { children: command ?? "Terminal" })
|
|
5521
5516
|
] })
|
|
5522
5517
|
] }),
|
|
5523
|
-
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "
|
|
5518
|
+
/* @__PURE__ */ (0, import_jsx_runtime81.jsxs)("div", { className: "dl-terminal__header-actions", children: [
|
|
5524
5519
|
/* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
5525
5520
|
"button",
|
|
5526
5521
|
{
|
|
@@ -5528,7 +5523,13 @@ var TerminalHeader = React77.forwardRef(
|
|
|
5528
5523
|
onClick: handleCopy,
|
|
5529
5524
|
"aria-label": copied ? "Copied" : "Copy output",
|
|
5530
5525
|
className: "dl-code-block__copy-btn",
|
|
5531
|
-
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
5526
|
+
children: copied ? /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(
|
|
5527
|
+
import_lucide_react37.Check,
|
|
5528
|
+
{
|
|
5529
|
+
className: "dl-terminal__icon",
|
|
5530
|
+
style: { color: "var(--success, #22c55e)" }
|
|
5531
|
+
}
|
|
5532
|
+
) : /* @__PURE__ */ (0, import_jsx_runtime81.jsx)(import_lucide_react37.Copy, { className: "dl-terminal__icon" })
|
|
5532
5533
|
}
|
|
5533
5534
|
),
|
|
5534
5535
|
children
|
|
@@ -5684,16 +5685,25 @@ var ModelSelector = React78.forwardRef(
|
|
|
5684
5685
|
"aria-haspopup": "listbox",
|
|
5685
5686
|
"aria-expanded": isOpen,
|
|
5686
5687
|
children: [
|
|
5687
|
-
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "
|
|
5688
|
-
currentModel?.icon ?? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5689
|
-
|
|
5688
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "dl-model-selector__trigger-label", children: [
|
|
5689
|
+
currentModel?.icon ?? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5690
|
+
import_lucide_react38.Bot,
|
|
5691
|
+
{
|
|
5692
|
+
style: {
|
|
5693
|
+
width: "0.875rem",
|
|
5694
|
+
height: "0.875rem",
|
|
5695
|
+
color: "var(--primary)"
|
|
5696
|
+
}
|
|
5697
|
+
}
|
|
5698
|
+
),
|
|
5699
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { style: { fontWeight: 600, color: "var(--foreground)" }, children: currentModel ? currentModel.name : placeholder })
|
|
5690
5700
|
] }),
|
|
5691
5701
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5692
5702
|
import_lucide_react38.ChevronDown,
|
|
5693
5703
|
{
|
|
5694
5704
|
className: cn(
|
|
5695
|
-
"
|
|
5696
|
-
isOpen && "
|
|
5705
|
+
"dl-model-selector__chevron",
|
|
5706
|
+
isOpen && "dl-model-selector__chevron--open"
|
|
5697
5707
|
)
|
|
5698
5708
|
}
|
|
5699
5709
|
)
|
|
@@ -5701,8 +5711,8 @@ var ModelSelector = React78.forwardRef(
|
|
|
5701
5711
|
}
|
|
5702
5712
|
),
|
|
5703
5713
|
isOpen && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "dl-model-selector__content", role: "listbox", children: [
|
|
5704
|
-
models.length > 3 && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "
|
|
5705
|
-
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react38.Search, { className: "
|
|
5714
|
+
models.length > 3 && /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "dl-model-selector__search-wrapper", children: [
|
|
5715
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(import_lucide_react38.Search, { className: "dl-model-selector__search-icon" }),
|
|
5706
5716
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5707
5717
|
"input",
|
|
5708
5718
|
{
|
|
@@ -5710,12 +5720,13 @@ var ModelSelector = React78.forwardRef(
|
|
|
5710
5720
|
placeholder: "Filter models...",
|
|
5711
5721
|
value: query,
|
|
5712
5722
|
onChange: (e) => setQuery(e.target.value),
|
|
5713
|
-
className: "dl-model-selector__search
|
|
5723
|
+
className: "dl-model-selector__search",
|
|
5724
|
+
style: { width: "100%", paddingLeft: "1.75rem" },
|
|
5714
5725
|
autoFocus: true
|
|
5715
5726
|
}
|
|
5716
5727
|
)
|
|
5717
5728
|
] }),
|
|
5718
|
-
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "
|
|
5729
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "dl-model-selector__list", children: filteredModels.length === 0 ? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)("div", { className: "dl-model-selector__empty", children: "No matching models found" }) : filteredModels.map((model) => {
|
|
5719
5730
|
const isSelected = model.id === activeId;
|
|
5720
5731
|
return /* @__PURE__ */ (0, import_jsx_runtime82.jsxs)(
|
|
5721
5732
|
"div",
|
|
@@ -5727,14 +5738,24 @@ var ModelSelector = React78.forwardRef(
|
|
|
5727
5738
|
className: cn(
|
|
5728
5739
|
"dl-model-selector__item",
|
|
5729
5740
|
isSelected && "dl-model-selector__item--active",
|
|
5730
|
-
model.disabled && "
|
|
5741
|
+
model.disabled && "dl-cursor-not-allowed"
|
|
5731
5742
|
),
|
|
5743
|
+
style: model.disabled ? { opacity: 0.5 } : void 0,
|
|
5732
5744
|
children: [
|
|
5733
5745
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "dl-model-selector__item-info", children: [
|
|
5734
5746
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("div", { className: "dl-model-selector__item-title", children: [
|
|
5735
|
-
model.icon ?? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5747
|
+
model.icon ?? /* @__PURE__ */ (0, import_jsx_runtime82.jsx)(
|
|
5748
|
+
import_lucide_react38.Sparkles,
|
|
5749
|
+
{
|
|
5750
|
+
style: {
|
|
5751
|
+
width: "0.75rem",
|
|
5752
|
+
height: "0.75rem",
|
|
5753
|
+
color: "var(--primary)"
|
|
5754
|
+
}
|
|
5755
|
+
}
|
|
5756
|
+
),
|
|
5736
5757
|
/* @__PURE__ */ (0, import_jsx_runtime82.jsx)("span", { children: model.name }),
|
|
5737
|
-
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { className: "
|
|
5758
|
+
/* @__PURE__ */ (0, import_jsx_runtime82.jsxs)("span", { className: "dl-model-selector__provider", children: [
|
|
5738
5759
|
"(",
|
|
5739
5760
|
model.provider,
|
|
5740
5761
|
")"
|
|
@@ -5787,11 +5808,11 @@ var PlanHeader = React79.forwardRef(
|
|
|
5787
5808
|
"span",
|
|
5788
5809
|
{
|
|
5789
5810
|
className: cn(
|
|
5790
|
-
"
|
|
5791
|
-
status === "completed" && "
|
|
5792
|
-
status === "in-progress" && "
|
|
5793
|
-
status === "failed" && "
|
|
5794
|
-
status === "pending" && "
|
|
5811
|
+
"dl-plan__status-chip",
|
|
5812
|
+
status === "completed" && "dl-plan__status-chip--completed",
|
|
5813
|
+
status === "in-progress" && "dl-plan__status-chip--in-progress",
|
|
5814
|
+
status === "failed" && "dl-plan__status-chip--failed",
|
|
5815
|
+
status === "pending" && "dl-plan__status-chip--pending"
|
|
5795
5816
|
),
|
|
5796
5817
|
children: status
|
|
5797
5818
|
}
|
|
@@ -5816,14 +5837,47 @@ var PlanTask = React79.forwardRef(
|
|
|
5816
5837
|
const renderIcon = () => {
|
|
5817
5838
|
switch (status) {
|
|
5818
5839
|
case "completed":
|
|
5819
|
-
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5840
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5841
|
+
import_lucide_react39.CheckCircle2,
|
|
5842
|
+
{
|
|
5843
|
+
style: { width: "1rem", height: "1rem", color: "var(--success)" }
|
|
5844
|
+
}
|
|
5845
|
+
);
|
|
5820
5846
|
case "running":
|
|
5821
|
-
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5847
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5848
|
+
import_lucide_react39.Loader2,
|
|
5849
|
+
{
|
|
5850
|
+
style: {
|
|
5851
|
+
width: "1rem",
|
|
5852
|
+
height: "1rem",
|
|
5853
|
+
color: "var(--primary)",
|
|
5854
|
+
animation: "spin 1s linear infinite"
|
|
5855
|
+
}
|
|
5856
|
+
}
|
|
5857
|
+
);
|
|
5822
5858
|
case "failed":
|
|
5823
|
-
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5859
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5860
|
+
import_lucide_react39.XCircle,
|
|
5861
|
+
{
|
|
5862
|
+
style: {
|
|
5863
|
+
width: "1rem",
|
|
5864
|
+
height: "1rem",
|
|
5865
|
+
color: "var(--destructive)"
|
|
5866
|
+
}
|
|
5867
|
+
}
|
|
5868
|
+
);
|
|
5824
5869
|
case "pending":
|
|
5825
5870
|
default:
|
|
5826
|
-
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5871
|
+
return /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5872
|
+
import_lucide_react39.Circle,
|
|
5873
|
+
{
|
|
5874
|
+
style: {
|
|
5875
|
+
width: "1rem",
|
|
5876
|
+
height: "1rem",
|
|
5877
|
+
color: "var(--muted-foreground)"
|
|
5878
|
+
}
|
|
5879
|
+
}
|
|
5880
|
+
);
|
|
5827
5881
|
}
|
|
5828
5882
|
};
|
|
5829
5883
|
return /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)(
|
|
@@ -5846,14 +5900,14 @@ var PlanTask = React79.forwardRef(
|
|
|
5846
5900
|
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "dl-plan__task-icon", children: renderIcon() }),
|
|
5847
5901
|
/* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "dl-plan__task-body", children: [
|
|
5848
5902
|
/* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "dl-plan__task-title", children: title }),
|
|
5849
|
-
description && !expanded && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "dl-plan__task-desc line-clamp-1", children: description })
|
|
5903
|
+
description && !expanded && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("span", { className: "dl-plan__task-desc dl-line-clamp-1", children: description })
|
|
5850
5904
|
] }),
|
|
5851
5905
|
hasChildren && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)(
|
|
5852
5906
|
import_lucide_react39.ChevronRight,
|
|
5853
5907
|
{
|
|
5854
5908
|
className: cn(
|
|
5855
|
-
"
|
|
5856
|
-
expanded && "
|
|
5909
|
+
"dl-plan__chevron",
|
|
5910
|
+
expanded && "dl-plan__chevron--expanded"
|
|
5857
5911
|
)
|
|
5858
5912
|
}
|
|
5859
5913
|
)
|
|
@@ -5861,7 +5915,7 @@ var PlanTask = React79.forwardRef(
|
|
|
5861
5915
|
}
|
|
5862
5916
|
),
|
|
5863
5917
|
expanded && hasChildren && /* @__PURE__ */ (0, import_jsx_runtime83.jsxs)("div", { className: "dl-plan__task-details", children: [
|
|
5864
|
-
description && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "
|
|
5918
|
+
description && /* @__PURE__ */ (0, import_jsx_runtime83.jsx)("div", { className: "dl-plan__desc-block", children: description }),
|
|
5865
5919
|
children
|
|
5866
5920
|
] })
|
|
5867
5921
|
]
|
|
@@ -5939,9 +5993,9 @@ var SourceCard = React80.forwardRef(
|
|
|
5939
5993
|
children: [
|
|
5940
5994
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsxs)("div", { className: "dl-source-card__meta", children: [
|
|
5941
5995
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "dl-source-card__index", children: source.index }),
|
|
5942
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react40.Globe, { className: "
|
|
5996
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react40.Globe, { className: "dl-source-card__icon" }),
|
|
5943
5997
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("span", { className: "dl-source-card__domain", children: domain }),
|
|
5944
|
-
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react40.ExternalLink, { className: "
|
|
5998
|
+
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)(import_lucide_react40.ExternalLink, { className: "dl-source-card__external" })
|
|
5945
5999
|
] }),
|
|
5946
6000
|
/* @__PURE__ */ (0, import_jsx_runtime84.jsx)("div", { className: "dl-source-card__title", title: source.title, children: source.title })
|
|
5947
6001
|
]
|
|
@@ -5981,15 +6035,15 @@ var import_lucide_react41 = require("lucide-react");
|
|
|
5981
6035
|
var import_jsx_runtime85 = require("react/jsx-runtime");
|
|
5982
6036
|
var getFileIcon = (name) => {
|
|
5983
6037
|
if (name.endsWith(".ts") || name.endsWith(".tsx") || name.endsWith(".js") || name.endsWith(".jsx")) {
|
|
5984
|
-
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FileCode, { className: "
|
|
6038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FileCode, { className: "dl-file-tree__glyph dl-file-tree__glyph--primary" });
|
|
5985
6039
|
}
|
|
5986
6040
|
if (name.endsWith(".json")) {
|
|
5987
|
-
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FileJson, { className: "
|
|
6041
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FileJson, { className: "dl-file-tree__glyph dl-file-tree__glyph--warning" });
|
|
5988
6042
|
}
|
|
5989
6043
|
if (name.endsWith(".md") || name.endsWith(".mdx")) {
|
|
5990
|
-
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FileText, { className: "
|
|
6044
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FileText, { className: "dl-file-tree__glyph dl-file-tree__glyph--info" });
|
|
5991
6045
|
}
|
|
5992
|
-
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.File, { className: "
|
|
6046
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.File, { className: "dl-file-tree__glyph dl-file-tree__glyph--muted" });
|
|
5993
6047
|
};
|
|
5994
6048
|
var FileTreeNode = React81.forwardRef(
|
|
5995
6049
|
({ className, item, level = 0, selectedId, onSelect, ...props }, ref) => {
|
|
@@ -6003,7 +6057,7 @@ var FileTreeNode = React81.forwardRef(
|
|
|
6003
6057
|
}
|
|
6004
6058
|
onSelect?.(item);
|
|
6005
6059
|
};
|
|
6006
|
-
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { ref, className: cn("
|
|
6060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime85.jsxs)("div", { ref, className: cn("dl-file-tree__item", className), ...props, children: [
|
|
6007
6061
|
/* @__PURE__ */ (0, import_jsx_runtime85.jsxs)(
|
|
6008
6062
|
"div",
|
|
6009
6063
|
{
|
|
@@ -6017,12 +6071,12 @@ var FileTreeNode = React81.forwardRef(
|
|
|
6017
6071
|
import_lucide_react41.ChevronRight,
|
|
6018
6072
|
{
|
|
6019
6073
|
className: cn(
|
|
6020
|
-
"
|
|
6021
|
-
isOpen && "
|
|
6074
|
+
"dl-file-tree__chevron",
|
|
6075
|
+
isOpen && "dl-file-tree__chevron--open"
|
|
6022
6076
|
)
|
|
6023
6077
|
}
|
|
6024
6078
|
),
|
|
6025
|
-
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "dl-file-tree__icon", children: isFolder ? isOpen ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FolderOpen, { className: "
|
|
6079
|
+
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "dl-file-tree__icon", children: isFolder ? isOpen ? /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.FolderOpen, { className: "dl-file-tree__glyph dl-file-tree__glyph--warning" }) : /* @__PURE__ */ (0, import_jsx_runtime85.jsx)(import_lucide_react41.Folder, { className: "dl-file-tree__glyph dl-file-tree__glyph--warning" }) : getFileIcon(item.name) }),
|
|
6026
6080
|
/* @__PURE__ */ (0, import_jsx_runtime85.jsx)("span", { className: "dl-file-tree__name", children: item.name })
|
|
6027
6081
|
]
|
|
6028
6082
|
}
|
|
@@ -6097,13 +6151,13 @@ var StackFrame = React82.forwardRef(
|
|
|
6097
6151
|
className: "dl-stack-frame__header",
|
|
6098
6152
|
onClick: () => hasSnippet && setExpanded((prev) => !prev),
|
|
6099
6153
|
children: [
|
|
6100
|
-
/* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "
|
|
6154
|
+
/* @__PURE__ */ (0, import_jsx_runtime86.jsxs)("div", { className: "dl-stack-frame__fn-wrapper", children: [
|
|
6101
6155
|
hasSnippet && /* @__PURE__ */ (0, import_jsx_runtime86.jsx)(
|
|
6102
6156
|
import_lucide_react42.ChevronRight,
|
|
6103
6157
|
{
|
|
6104
6158
|
className: cn(
|
|
6105
|
-
"
|
|
6106
|
-
expanded && "
|
|
6159
|
+
"dl-stack-frame__chevron",
|
|
6160
|
+
expanded && "dl-stack-frame__chevron--expanded"
|
|
6107
6161
|
)
|
|
6108
6162
|
}
|
|
6109
6163
|
),
|
|
@@ -6181,24 +6235,33 @@ var import_jsx_runtime87 = require("react/jsx-runtime");
|
|
|
6181
6235
|
var getStatusBadge = (status) => {
|
|
6182
6236
|
switch (status) {
|
|
6183
6237
|
case "running":
|
|
6184
|
-
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "
|
|
6185
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
6238
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "dl-subagent__status dl-subagent__status--running", children: [
|
|
6239
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(
|
|
6240
|
+
import_lucide_react43.Loader2,
|
|
6241
|
+
{
|
|
6242
|
+
style: {
|
|
6243
|
+
width: "0.75rem",
|
|
6244
|
+
height: "0.75rem",
|
|
6245
|
+
animation: "spin 1s linear infinite"
|
|
6246
|
+
}
|
|
6247
|
+
}
|
|
6248
|
+
),
|
|
6186
6249
|
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { children: "Running" })
|
|
6187
6250
|
] });
|
|
6188
6251
|
case "completed":
|
|
6189
|
-
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "
|
|
6190
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react43.CheckCircle2, {
|
|
6252
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "dl-subagent__status dl-subagent__status--completed", children: [
|
|
6253
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react43.CheckCircle2, { style: { width: "0.75rem", height: "0.75rem" } }),
|
|
6191
6254
|
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { children: "Done" })
|
|
6192
6255
|
] });
|
|
6193
6256
|
case "failed":
|
|
6194
|
-
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "
|
|
6195
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react43.XCircle, {
|
|
6257
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "dl-subagent__status dl-subagent__status--failed", children: [
|
|
6258
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react43.XCircle, { style: { width: "0.75rem", height: "0.75rem" } }),
|
|
6196
6259
|
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { children: "Failed" })
|
|
6197
6260
|
] });
|
|
6198
6261
|
case "idle":
|
|
6199
6262
|
default:
|
|
6200
|
-
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "
|
|
6201
|
-
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react43.Circle, {
|
|
6263
|
+
return /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "dl-subagent__status dl-subagent__status--idle", children: [
|
|
6264
|
+
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)(import_lucide_react43.Circle, { style: { width: "0.75rem", height: "0.75rem" } }),
|
|
6202
6265
|
/* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { children: "Idle" })
|
|
6203
6266
|
] });
|
|
6204
6267
|
}
|
|
@@ -6232,8 +6295,8 @@ var Subagent = React83.forwardRef(
|
|
|
6232
6295
|
] })
|
|
6233
6296
|
] }),
|
|
6234
6297
|
/* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("div", { className: "dl-subagent__badges", children: [
|
|
6235
|
-
model && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "
|
|
6236
|
-
conversationId && /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "
|
|
6298
|
+
model && /* @__PURE__ */ (0, import_jsx_runtime87.jsx)("span", { className: "dl-subagent__chip", children: model }),
|
|
6299
|
+
conversationId && /* @__PURE__ */ (0, import_jsx_runtime87.jsxs)("span", { className: "dl-subagent__chip", children: [
|
|
6237
6300
|
"#",
|
|
6238
6301
|
conversationId.slice(0, 6)
|
|
6239
6302
|
] }),
|
|
@@ -6242,8 +6305,8 @@ var Subagent = React83.forwardRef(
|
|
|
6242
6305
|
import_lucide_react43.ChevronRight,
|
|
6243
6306
|
{
|
|
6244
6307
|
className: cn(
|
|
6245
|
-
"
|
|
6246
|
-
open && "
|
|
6308
|
+
"dl-subagent__chevron",
|
|
6309
|
+
open && "dl-subagent__chevron--open"
|
|
6247
6310
|
)
|
|
6248
6311
|
}
|
|
6249
6312
|
)
|
|
@@ -6353,10 +6416,30 @@ var QueueItem = React85.forwardRef(
|
|
|
6353
6416
|
case "active":
|
|
6354
6417
|
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react45.Loader2, { className: "size-3 text-primary animate-spin shrink-0" });
|
|
6355
6418
|
case "paused":
|
|
6356
|
-
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
6419
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
6420
|
+
import_lucide_react45.Pause,
|
|
6421
|
+
{
|
|
6422
|
+
style: {
|
|
6423
|
+
width: "0.75rem",
|
|
6424
|
+
height: "0.75rem",
|
|
6425
|
+
color: "var(--warning, #eab308)",
|
|
6426
|
+
flexShrink: 0
|
|
6427
|
+
}
|
|
6428
|
+
}
|
|
6429
|
+
);
|
|
6357
6430
|
case "waiting":
|
|
6358
6431
|
default:
|
|
6359
|
-
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
6432
|
+
return /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
6433
|
+
import_lucide_react45.Clock,
|
|
6434
|
+
{
|
|
6435
|
+
style: {
|
|
6436
|
+
width: "0.75rem",
|
|
6437
|
+
height: "0.75rem",
|
|
6438
|
+
color: "var(--muted-foreground)",
|
|
6439
|
+
flexShrink: 0
|
|
6440
|
+
}
|
|
6441
|
+
}
|
|
6442
|
+
);
|
|
6360
6443
|
}
|
|
6361
6444
|
};
|
|
6362
6445
|
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { ref, className: cn("dl-queue-item", className), ...props, children: [
|
|
@@ -6370,23 +6453,23 @@ var QueueItem = React85.forwardRef(
|
|
|
6370
6453
|
"span",
|
|
6371
6454
|
{
|
|
6372
6455
|
className: cn(
|
|
6373
|
-
"
|
|
6374
|
-
task.priority === "high" && "
|
|
6375
|
-
task.priority === "normal" && "
|
|
6376
|
-
task.priority === "low" && "
|
|
6456
|
+
"dl-queue-item__priority",
|
|
6457
|
+
task.priority === "high" && "dl-queue-item__priority--high",
|
|
6458
|
+
task.priority === "normal" && "dl-queue-item__priority--normal",
|
|
6459
|
+
task.priority === "low" && "dl-queue-item__priority--low"
|
|
6377
6460
|
),
|
|
6378
6461
|
children: task.priority
|
|
6379
6462
|
}
|
|
6380
6463
|
),
|
|
6381
|
-
task.estimatedDuration && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "
|
|
6464
|
+
task.estimatedDuration && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { className: "dl-queue-item__duration", children: task.estimatedDuration }),
|
|
6382
6465
|
onRemove && /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
6383
6466
|
"button",
|
|
6384
6467
|
{
|
|
6385
6468
|
type: "button",
|
|
6386
6469
|
onClick: onRemove,
|
|
6387
6470
|
"aria-label": "Remove task",
|
|
6388
|
-
className: "
|
|
6389
|
-
children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react45.X, {
|
|
6471
|
+
className: "dl-queue-item__remove-btn",
|
|
6472
|
+
children: /* @__PURE__ */ (0, import_jsx_runtime89.jsx)(import_lucide_react45.X, { style: { width: "0.875rem", height: "0.875rem" } })
|
|
6390
6473
|
}
|
|
6391
6474
|
)
|
|
6392
6475
|
] })
|
|
@@ -6405,11 +6488,16 @@ var Queue = React85.forwardRef(
|
|
|
6405
6488
|
}, ref) => {
|
|
6406
6489
|
return /* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { ref, className: cn("dl-queue", className), ...props, children: [
|
|
6407
6490
|
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "dl-queue__header", children: [
|
|
6408
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "
|
|
6409
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
6491
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("div", { className: "dl-queue__header-left", children: [
|
|
6492
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)(
|
|
6493
|
+
import_lucide_react45.ListOrdered,
|
|
6494
|
+
{
|
|
6495
|
+
style: { width: "1rem", height: "1rem", color: "var(--primary)" }
|
|
6496
|
+
}
|
|
6497
|
+
),
|
|
6410
6498
|
/* @__PURE__ */ (0, import_jsx_runtime89.jsx)("span", { children: title })
|
|
6411
6499
|
] }),
|
|
6412
|
-
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("span", { className: "
|
|
6500
|
+
/* @__PURE__ */ (0, import_jsx_runtime89.jsxs)("span", { className: "dl-queue__header-count", children: [
|
|
6413
6501
|
tasks.length,
|
|
6414
6502
|
" item",
|
|
6415
6503
|
tasks.length === 1 ? "" : "s"
|
|
@@ -6446,21 +6534,31 @@ var TestCase = React86.forwardRef(
|
|
|
6446
6534
|
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(import_lucide_react46.XCircle, { className: "size-4 text-destructive shrink-0" });
|
|
6447
6535
|
case "skipped":
|
|
6448
6536
|
default:
|
|
6449
|
-
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
6537
|
+
return /* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
6538
|
+
import_lucide_react46.MinusCircle,
|
|
6539
|
+
{
|
|
6540
|
+
style: {
|
|
6541
|
+
width: "1rem",
|
|
6542
|
+
height: "1rem",
|
|
6543
|
+
color: "var(--muted-foreground)",
|
|
6544
|
+
flexShrink: 0
|
|
6545
|
+
}
|
|
6546
|
+
}
|
|
6547
|
+
);
|
|
6450
6548
|
}
|
|
6451
6549
|
};
|
|
6452
6550
|
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { ref, className: cn("dl-test-case", className), ...props, children: [
|
|
6453
6551
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)(
|
|
6454
6552
|
"div",
|
|
6455
6553
|
{
|
|
6456
|
-
className: cn("dl-test-case__row", hasError && "cursor-pointer"),
|
|
6554
|
+
className: cn("dl-test-case__row", hasError && "dl-cursor-pointer"),
|
|
6457
6555
|
onClick: () => hasError && setExpanded((prev) => !prev),
|
|
6458
6556
|
children: [
|
|
6459
6557
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "dl-test-case__info", children: [
|
|
6460
6558
|
renderIcon(),
|
|
6461
6559
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "dl-test-case__name", children: test.name })
|
|
6462
6560
|
] }),
|
|
6463
|
-
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "
|
|
6561
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "dl-test-case__meta", children: [
|
|
6464
6562
|
test.durationMs !== void 0 && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("span", { className: "dl-test-case__duration", children: [
|
|
6465
6563
|
test.durationMs,
|
|
6466
6564
|
"ms"
|
|
@@ -6469,8 +6567,8 @@ var TestCase = React86.forwardRef(
|
|
|
6469
6567
|
import_lucide_react46.ChevronRight,
|
|
6470
6568
|
{
|
|
6471
6569
|
className: cn(
|
|
6472
|
-
"
|
|
6473
|
-
expanded && "
|
|
6570
|
+
"dl-test-case__chevron",
|
|
6571
|
+
expanded && "dl-test-case__chevron--expanded"
|
|
6474
6572
|
)
|
|
6475
6573
|
}
|
|
6476
6574
|
)
|
|
@@ -6497,10 +6595,15 @@ var TestResults = React86.forwardRef(
|
|
|
6497
6595
|
const skipped = tests.filter((t) => t.status === "skipped").length;
|
|
6498
6596
|
return /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { ref, className: cn("dl-test-results", className), ...props, children: [
|
|
6499
6597
|
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "dl-test-results__header", children: [
|
|
6500
|
-
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "
|
|
6501
|
-
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
6502
|
-
|
|
6503
|
-
|
|
6598
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("div", { className: "dl-test-results__header-left", children: [
|
|
6599
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)(
|
|
6600
|
+
import_lucide_react46.FlaskConical,
|
|
6601
|
+
{
|
|
6602
|
+
style: { width: "1rem", height: "1rem", color: "var(--primary)" }
|
|
6603
|
+
}
|
|
6604
|
+
),
|
|
6605
|
+
/* @__PURE__ */ (0, import_jsx_runtime90.jsx)("span", { className: "dl-test-results__title", children: title }),
|
|
6606
|
+
duration && /* @__PURE__ */ (0, import_jsx_runtime90.jsxs)("span", { className: "dl-test-results__duration", children: [
|
|
6504
6607
|
"in ",
|
|
6505
6608
|
duration
|
|
6506
6609
|
] })
|
|
@@ -6894,6 +6997,95 @@ var Container = React94.forwardRef(
|
|
|
6894
6997
|
}
|
|
6895
6998
|
);
|
|
6896
6999
|
Container.displayName = "Container";
|
|
7000
|
+
|
|
7001
|
+
// src/components/legal-footer/legal-footer.tsx
|
|
7002
|
+
var React95 = __toESM(require("react"), 1);
|
|
7003
|
+
var import_jsx_runtime101 = require("react/jsx-runtime");
|
|
7004
|
+
var LegalFooter = React95.forwardRef(
|
|
7005
|
+
({
|
|
7006
|
+
appName,
|
|
7007
|
+
version,
|
|
7008
|
+
companyName = "Yuva Devlab",
|
|
7009
|
+
variant = "login",
|
|
7010
|
+
showLinks = true,
|
|
7011
|
+
termsHref = "#",
|
|
7012
|
+
privacyHref = "#",
|
|
7013
|
+
securityHref = "#",
|
|
7014
|
+
className,
|
|
7015
|
+
...props
|
|
7016
|
+
}, ref) => {
|
|
7017
|
+
const currentYear = (/* @__PURE__ */ new Date()).getFullYear();
|
|
7018
|
+
if (variant === "sidebar") {
|
|
7019
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
7020
|
+
"div",
|
|
7021
|
+
{
|
|
7022
|
+
ref,
|
|
7023
|
+
className: cn("dl-legal-footer dl-legal-footer--sidebar", className),
|
|
7024
|
+
...props,
|
|
7025
|
+
children: [
|
|
7026
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { children: appName ? `${appName} ${version ?? ""}`.trim() : version ?? "v1.0.0" }),
|
|
7027
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("span", { children: [
|
|
7028
|
+
"\xA9 ",
|
|
7029
|
+
currentYear,
|
|
7030
|
+
" ",
|
|
7031
|
+
companyName
|
|
7032
|
+
] })
|
|
7033
|
+
]
|
|
7034
|
+
}
|
|
7035
|
+
);
|
|
7036
|
+
}
|
|
7037
|
+
if (variant === "settings") {
|
|
7038
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
7039
|
+
"div",
|
|
7040
|
+
{
|
|
7041
|
+
ref,
|
|
7042
|
+
className: cn("dl-legal-footer dl-legal-footer--settings", className),
|
|
7043
|
+
...props,
|
|
7044
|
+
children: [
|
|
7045
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("div", { className: "dl-legal-footer__meta-row", children: [
|
|
7046
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { children: appName ?? companyName }),
|
|
7047
|
+
version && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "dl-legal-footer__version-badge", children: version })
|
|
7048
|
+
] }),
|
|
7049
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("p", { className: "dl-legal-footer__copyright", children: [
|
|
7050
|
+
"\xA9 ",
|
|
7051
|
+
currentYear,
|
|
7052
|
+
" ",
|
|
7053
|
+
companyName,
|
|
7054
|
+
". All rights reserved."
|
|
7055
|
+
] })
|
|
7056
|
+
]
|
|
7057
|
+
}
|
|
7058
|
+
);
|
|
7059
|
+
}
|
|
7060
|
+
return /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)(
|
|
7061
|
+
"footer",
|
|
7062
|
+
{
|
|
7063
|
+
ref,
|
|
7064
|
+
className: cn("dl-legal-footer dl-legal-footer--login", className),
|
|
7065
|
+
...props,
|
|
7066
|
+
children: [
|
|
7067
|
+
showLinks && /* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("nav", { "aria-label": "Legal navigation", className: "dl-legal-footer__links", children: [
|
|
7068
|
+
appName && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "dl-legal-footer__app-name", children: appName }),
|
|
7069
|
+
appName && /* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "dl-legal-footer__divider", "aria-hidden": "true", children: "\u2022" }),
|
|
7070
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("a", { href: privacyHref, className: "dl-legal-footer__link", children: "Privacy" }),
|
|
7071
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "dl-legal-footer__divider", "aria-hidden": "true", children: "\u2022" }),
|
|
7072
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("a", { href: termsHref, className: "dl-legal-footer__link", children: "Terms" }),
|
|
7073
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("span", { className: "dl-legal-footer__divider", "aria-hidden": "true", children: "\u2022" }),
|
|
7074
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsx)("a", { href: securityHref, className: "dl-legal-footer__link", children: "Security" })
|
|
7075
|
+
] }),
|
|
7076
|
+
/* @__PURE__ */ (0, import_jsx_runtime101.jsxs)("p", { className: "dl-legal-footer__copyright", children: [
|
|
7077
|
+
"\xA9 ",
|
|
7078
|
+
currentYear,
|
|
7079
|
+
" ",
|
|
7080
|
+
companyName,
|
|
7081
|
+
". All rights reserved."
|
|
7082
|
+
] })
|
|
7083
|
+
]
|
|
7084
|
+
}
|
|
7085
|
+
);
|
|
7086
|
+
}
|
|
7087
|
+
);
|
|
7088
|
+
LegalFooter.displayName = "LegalFooter";
|
|
6897
7089
|
// Annotate the CommonJS export names for ESM import in node:
|
|
6898
7090
|
0 && (module.exports = {
|
|
6899
7091
|
Accordion,
|
|
@@ -7062,6 +7254,7 @@ Container.displayName = "Container";
|
|
|
7062
7254
|
Kbd,
|
|
7063
7255
|
KbdGroup,
|
|
7064
7256
|
Label,
|
|
7257
|
+
LegalFooter,
|
|
7065
7258
|
LoadingState,
|
|
7066
7259
|
Menubar,
|
|
7067
7260
|
MenubarCheckboxItem,
|