@tutti-os/workspace-issue-manager 0.0.33 → 0.0.35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{chunk-MQSZDN7T.js → chunk-BZTHQIC6.js} +2 -2
- package/dist/{chunk-AM6P2Q3K.js → chunk-FHPEIPBO.js} +108 -105
- package/dist/chunk-FHPEIPBO.js.map +1 -0
- package/dist/{chunk-UR3NVHQY.js → chunk-NHFXUZ4Q.js} +2 -2
- package/dist/chunk-NHFXUZ4Q.js.map +1 -0
- package/dist/{chunk-AFYBY6G4.js → chunk-VM6JTHOF.js} +2 -2
- package/dist/core/index.js +2 -2
- package/dist/i18n/index.js +1 -1
- package/dist/index.js +3 -3
- package/dist/services/index.js +3 -3
- package/dist/ui/index.js +4 -4
- package/dist/workbench/index.js +4 -4
- package/package.json +9 -9
- package/dist/chunk-AM6P2Q3K.js.map +0 -1
- package/dist/chunk-UR3NVHQY.js.map +0 -1
- /package/dist/{chunk-MQSZDN7T.js.map → chunk-BZTHQIC6.js.map} +0 -0
- /package/dist/{chunk-AFYBY6G4.js.map → chunk-VM6JTHOF.js.map} +0 -0
|
@@ -24,7 +24,7 @@ import {
|
|
|
24
24
|
resolveIssueManagerTopicDeleteErrorMessage,
|
|
25
25
|
toContextRefInput,
|
|
26
26
|
toIssueManagerWorkspaceFileLinkInput
|
|
27
|
-
} from "./chunk-
|
|
27
|
+
} from "./chunk-VM6JTHOF.js";
|
|
28
28
|
import {
|
|
29
29
|
appendIssueManagerWorkspaceFileLinksToContent,
|
|
30
30
|
appendIssueManagerWorkspaceReferenceMentionsToContent,
|
|
@@ -36,7 +36,7 @@ import {
|
|
|
36
36
|
issueManagerSidebarMinWidth,
|
|
37
37
|
normalizeIssueManagerContent,
|
|
38
38
|
shouldAutoCollapseIssueManagerSidebar
|
|
39
|
-
} from "./chunk-
|
|
39
|
+
} from "./chunk-BZTHQIC6.js";
|
|
40
40
|
|
|
41
41
|
// src/ui/react/internal/shell/IssueManagerNodeState.ts
|
|
42
42
|
import { useEffect, useEffectEvent, useState } from "react";
|
|
@@ -2277,7 +2277,7 @@ import {
|
|
|
2277
2277
|
useEffect as useEffect10,
|
|
2278
2278
|
useRef as useRef8
|
|
2279
2279
|
} from "react";
|
|
2280
|
-
import { Button as Button13, PanelIcon, cn as
|
|
2280
|
+
import { Button as Button13, PanelIcon, cn as cn13 } from "@tutti-os/ui-system";
|
|
2281
2281
|
import {
|
|
2282
2282
|
ReferenceSourcePicker,
|
|
2283
2283
|
WorkspaceFileReferencePicker
|
|
@@ -2289,7 +2289,7 @@ import {
|
|
|
2289
2289
|
useRef as useRef7,
|
|
2290
2290
|
useState as useState10
|
|
2291
2291
|
} from "react";
|
|
2292
|
-
import { Button as Button11, FileCreateIcon as
|
|
2292
|
+
import { Button as Button11, FileCreateIcon as FileCreateIcon3, cn as cn11 } from "@tutti-os/ui-system";
|
|
2293
2293
|
|
|
2294
2294
|
// src/ui/internal/shell/IssueManagerPanels.tsx
|
|
2295
2295
|
import { useState as useState7 } from "react";
|
|
@@ -2328,7 +2328,7 @@ import {
|
|
|
2328
2328
|
FileCreateIcon as FileCreateIcon2,
|
|
2329
2329
|
FileIcon,
|
|
2330
2330
|
ScrollArea,
|
|
2331
|
-
cn as
|
|
2331
|
+
cn as cn3
|
|
2332
2332
|
} from "@tutti-os/ui-system";
|
|
2333
2333
|
|
|
2334
2334
|
// src/ui/internal/content/IssueManagerTitleTooltip.tsx
|
|
@@ -2380,27 +2380,28 @@ function resolveIssueManagerCreatorLabel(entity) {
|
|
|
2380
2380
|
}
|
|
2381
2381
|
|
|
2382
2382
|
// src/ui/internal/panel/IssueManagerPanelSurface.tsx
|
|
2383
|
-
import { Button, FileCreateIcon } from "@tutti-os/ui-system";
|
|
2383
|
+
import { Button, FileCreateIcon, cn } from "@tutti-os/ui-system";
|
|
2384
2384
|
import { jsx as jsx2, jsxs as jsxs2 } from "react/jsx-runtime";
|
|
2385
|
+
var issueManagerLoadingBoneClassName = "h-4 rounded-[4px] bg-[var(--transparency-block)]";
|
|
2385
2386
|
function IssueManagerPaneLoadingState() {
|
|
2386
2387
|
return /* @__PURE__ */ jsxs2(
|
|
2387
2388
|
"div",
|
|
2388
2389
|
{
|
|
2389
2390
|
"aria-hidden": "true",
|
|
2390
|
-
className: "mx-auto flex w-full max-w-4xl flex-col gap-
|
|
2391
|
+
className: "mx-auto flex w-full max-w-4xl flex-col gap-9",
|
|
2391
2392
|
children: [
|
|
2392
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2393
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2394
|
-
/* @__PURE__ */ jsxs2("div", { className: "
|
|
2395
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2396
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2397
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2398
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2393
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-28") }),
|
|
2394
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-2/3") }),
|
|
2395
|
+
/* @__PURE__ */ jsxs2("div", { className: "grid gap-3", children: [
|
|
2396
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-24") }),
|
|
2397
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-full") }),
|
|
2398
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-11/12") }),
|
|
2399
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-10/12") })
|
|
2399
2400
|
] }),
|
|
2400
|
-
/* @__PURE__ */ jsxs2("div", { className: "
|
|
2401
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2402
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2403
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2401
|
+
/* @__PURE__ */ jsxs2("div", { className: "grid gap-3", children: [
|
|
2402
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-32") }),
|
|
2403
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-full") }),
|
|
2404
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-9/12") })
|
|
2404
2405
|
] })
|
|
2405
2406
|
]
|
|
2406
2407
|
}
|
|
@@ -2408,16 +2409,16 @@ function IssueManagerPaneLoadingState() {
|
|
|
2408
2409
|
}
|
|
2409
2410
|
function IssueManagerTaskDrawerLoadingState() {
|
|
2410
2411
|
return /* @__PURE__ */ jsxs2("div", { "aria-hidden": "true", className: "grid gap-5", children: [
|
|
2411
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2412
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-full") }),
|
|
2412
2413
|
/* @__PURE__ */ jsxs2("div", { className: "grid grid-cols-2 gap-3", children: [
|
|
2413
|
-
/* @__PURE__ */ jsx2("div", { className:
|
|
2414
|
-
/* @__PURE__ */ jsx2("div", { className:
|
|
2414
|
+
/* @__PURE__ */ jsx2("div", { className: issueManagerLoadingBoneClassName }),
|
|
2415
|
+
/* @__PURE__ */ jsx2("div", { className: issueManagerLoadingBoneClassName })
|
|
2415
2416
|
] }),
|
|
2416
|
-
/* @__PURE__ */ jsxs2("div", { className: "
|
|
2417
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2418
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2419
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2420
|
-
/* @__PURE__ */ jsx2("div", { className: "
|
|
2417
|
+
/* @__PURE__ */ jsxs2("div", { className: "grid gap-3", children: [
|
|
2418
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-24") }),
|
|
2419
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-full") }),
|
|
2420
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-11/12") }),
|
|
2421
|
+
/* @__PURE__ */ jsx2("div", { className: cn(issueManagerLoadingBoneClassName, "w-9/12") })
|
|
2421
2422
|
] })
|
|
2422
2423
|
] });
|
|
2423
2424
|
}
|
|
@@ -2429,7 +2430,7 @@ import {
|
|
|
2429
2430
|
useRef,
|
|
2430
2431
|
useState as useState3
|
|
2431
2432
|
} from "react";
|
|
2432
|
-
import { cn } from "@tutti-os/ui-system";
|
|
2433
|
+
import { cn as cn2 } from "@tutti-os/ui-system";
|
|
2433
2434
|
import { jsx as jsx3, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
2434
2435
|
var issueManagerSubtaskBoardStatuses = [
|
|
2435
2436
|
"not_started",
|
|
@@ -2858,7 +2859,7 @@ function IssueManagerSubtaskBoardColumn({
|
|
|
2858
2859
|
"div",
|
|
2859
2860
|
{
|
|
2860
2861
|
"aria-hidden": "true",
|
|
2861
|
-
className:
|
|
2862
|
+
className: cn2(
|
|
2862
2863
|
"rounded-[8px] border border-dashed motion-safe:animate-in motion-safe:fade-in-0 motion-safe:zoom-in-[0.98] motion-safe:duration-[160ms] motion-safe:ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:animate-none",
|
|
2863
2864
|
resolveIssueManagerBoardPlaceholderClassName(status)
|
|
2864
2865
|
),
|
|
@@ -2876,7 +2877,7 @@ function IssueManagerSubtaskBoardColumn({
|
|
|
2876
2877
|
return /* @__PURE__ */ jsxs3(
|
|
2877
2878
|
"div",
|
|
2878
2879
|
{
|
|
2879
|
-
className:
|
|
2880
|
+
className: cn2(
|
|
2880
2881
|
"min-h-[220px] rounded-lg border px-2.5 py-2.5",
|
|
2881
2882
|
canAcceptTaskDrop && "transition-shadow duration-[180ms] ease-[cubic-bezier(0.22,1,0.36,1)] motion-reduce:transition-none",
|
|
2882
2883
|
resolveIssueManagerBoardColumnClassName(status)
|
|
@@ -2892,7 +2893,7 @@ function IssueManagerSubtaskBoardColumn({
|
|
|
2892
2893
|
"span",
|
|
2893
2894
|
{
|
|
2894
2895
|
"aria-hidden": "true",
|
|
2895
|
-
className:
|
|
2896
|
+
className: cn2(
|
|
2896
2897
|
"size-2 rounded-full",
|
|
2897
2898
|
resolveIssueManagerBoardDotClassName(status)
|
|
2898
2899
|
)
|
|
@@ -2916,7 +2917,7 @@ function IssueManagerSubtaskBoardColumn({
|
|
|
2916
2917
|
/* @__PURE__ */ jsxs3(
|
|
2917
2918
|
"button",
|
|
2918
2919
|
{
|
|
2919
|
-
className:
|
|
2920
|
+
className: cn2(
|
|
2920
2921
|
"rounded-[8px] bg-[var(--background-fronted)] px-3 py-2.5 text-left transition-shadow duration-150 motion-reduce:transition-none focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25",
|
|
2921
2922
|
"cursor-grab active:cursor-grabbing",
|
|
2922
2923
|
isDraggingTask && issueManagerSubtaskDragShadowClassName
|
|
@@ -3013,7 +3014,7 @@ function IssueManagerDetailTextSection({
|
|
|
3013
3014
|
}) {
|
|
3014
3015
|
const bodyText = stripIssueManagerDescriptionTerminalPunctuation(body);
|
|
3015
3016
|
const metaText = meta ? stripIssueManagerDescriptionTerminalPunctuation(meta) : null;
|
|
3016
|
-
const bodyClassName =
|
|
3017
|
+
const bodyClassName = cn3(
|
|
3017
3018
|
"max-w-full whitespace-normal break-words text-[13px] leading-5 [overflow-wrap:anywhere]",
|
|
3018
3019
|
isPlaceholder ? "font-normal text-[var(--text-secondary)]" : tone === "destructive" ? "font-semibold text-[var(--state-danger)]" : "font-semibold text-[var(--text-primary)]"
|
|
3019
3020
|
);
|
|
@@ -3075,7 +3076,7 @@ function IssueManagerLatestRunStatusSection({
|
|
|
3075
3076
|
"span",
|
|
3076
3077
|
{
|
|
3077
3078
|
"aria-hidden": "true",
|
|
3078
|
-
className:
|
|
3079
|
+
className: cn3(
|
|
3079
3080
|
"mt-0.5 flex h-7 w-7 shrink-0 items-center justify-center rounded-md border border-[var(--line-2)]",
|
|
3080
3081
|
canOpenAgentSession ? "bg-transparency-actived text-primary" : "bg-transparent text-[var(--text-secondary)]"
|
|
3081
3082
|
),
|
|
@@ -3087,7 +3088,7 @@ function IssueManagerLatestRunStatusSection({
|
|
|
3087
3088
|
/* @__PURE__ */ jsx4(
|
|
3088
3089
|
"p",
|
|
3089
3090
|
{
|
|
3090
|
-
className:
|
|
3091
|
+
className: cn3(
|
|
3091
3092
|
"min-w-0 flex-1 text-[13px] font-semibold leading-5 text-[var(--text-primary)] [overflow-wrap:anywhere]",
|
|
3092
3093
|
agentSessionId ? "font-mono" : ""
|
|
3093
3094
|
),
|
|
@@ -3101,7 +3102,7 @@ function IssueManagerLatestRunStatusSection({
|
|
|
3101
3102
|
errorMessage ? /* @__PURE__ */ jsx4("p", { className: "mt-2 text-[11px] font-medium leading-5 text-[var(--state-danger)] [overflow-wrap:anywhere]", children: errorMessage }) : null
|
|
3102
3103
|
] })
|
|
3103
3104
|
] });
|
|
3104
|
-
const cardClassName =
|
|
3105
|
+
const cardClassName = cn3(
|
|
3105
3106
|
"min-w-0 rounded-[12px] border border-[var(--line-2)] px-4 py-3",
|
|
3106
3107
|
canOpenAgentSession ? "w-full bg-transparent text-left transition-colors hover:bg-transparency-hover focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25 focus-visible:ring-inset" : "bg-transparent"
|
|
3107
3108
|
);
|
|
@@ -3249,7 +3250,7 @@ function IssueManagerSubtaskViewModeSwitch({
|
|
|
3249
3250
|
"span",
|
|
3250
3251
|
{
|
|
3251
3252
|
"aria-hidden": "true",
|
|
3252
|
-
className:
|
|
3253
|
+
className: cn3(
|
|
3253
3254
|
"absolute top-0.5 bottom-0.5 left-0.5 w-[calc((100%-4px)/2)] rounded-[5px] bg-[var(--background-fronted)] transition-transform duration-150 ease-out",
|
|
3254
3255
|
value === "board" && "translate-x-full"
|
|
3255
3256
|
)
|
|
@@ -3259,7 +3260,7 @@ function IssueManagerSubtaskViewModeSwitch({
|
|
|
3259
3260
|
"button",
|
|
3260
3261
|
{
|
|
3261
3262
|
"aria-pressed": value === mode,
|
|
3262
|
-
className:
|
|
3263
|
+
className: cn3(
|
|
3263
3264
|
"relative z-[1] inline-flex h-7 w-14 items-center justify-center rounded-[5px] px-2.5 text-[12px] font-semibold leading-none transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25",
|
|
3264
3265
|
value === mode ? "text-[var(--text-primary)]" : "text-[var(--text-secondary)] hover:text-[var(--text-primary)]"
|
|
3265
3266
|
),
|
|
@@ -3282,7 +3283,7 @@ function IssueManagerSubtaskList({
|
|
|
3282
3283
|
return /* @__PURE__ */ jsx4("div", { className: "overflow-hidden rounded-lg border border-[var(--line-2)] bg-transparent", children: tasks.map((task) => /* @__PURE__ */ jsxs4(
|
|
3283
3284
|
"button",
|
|
3284
3285
|
{
|
|
3285
|
-
className:
|
|
3286
|
+
className: cn3(
|
|
3286
3287
|
"flex w-full items-start justify-between gap-4 border-b border-[var(--line-2)] px-4 py-3 text-left transition-colors last:border-b-0 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/25 focus-visible:ring-inset",
|
|
3287
3288
|
selectedTaskId === task.taskId ? "bg-transparency-actived" : "bg-transparent hover:bg-transparency-hover"
|
|
3288
3289
|
),
|
|
@@ -3354,7 +3355,7 @@ function resolveIssueManagerVisibleSubtasks(input) {
|
|
|
3354
3355
|
// src/ui/internal/content/IssueManagerDescriptionSection.tsx
|
|
3355
3356
|
import { useEffect as useEffect5, useRef as useRef2, useState as useState5 } from "react";
|
|
3356
3357
|
import { RichTextReadonlyContent } from "@tutti-os/ui-rich-text/editor";
|
|
3357
|
-
import { cn as
|
|
3358
|
+
import { cn as cn4 } from "@tutti-os/ui-system";
|
|
3358
3359
|
import { jsx as jsx5, jsxs as jsxs5 } from "react/jsx-runtime";
|
|
3359
3360
|
function IssueManagerDescriptionSection({
|
|
3360
3361
|
content,
|
|
@@ -3417,7 +3418,7 @@ function IssueManagerDescriptionSection({
|
|
|
3417
3418
|
/* @__PURE__ */ jsxs5(
|
|
3418
3419
|
"div",
|
|
3419
3420
|
{
|
|
3420
|
-
className:
|
|
3421
|
+
className: cn4(
|
|
3421
3422
|
"relative min-w-0 rounded-lg border border-border-1 bg-transparent px-4 py-3",
|
|
3422
3423
|
minHeightClass
|
|
3423
3424
|
),
|
|
@@ -3425,7 +3426,7 @@ function IssueManagerDescriptionSection({
|
|
|
3425
3426
|
/* @__PURE__ */ jsx5(
|
|
3426
3427
|
"div",
|
|
3427
3428
|
{
|
|
3428
|
-
className:
|
|
3429
|
+
className: cn4(
|
|
3429
3430
|
"min-w-0 max-w-full overflow-x-hidden max-h-[18rem] overflow-y-auto pr-2 text-[13px] font-normal leading-5 text-[var(--text-secondary)]",
|
|
3430
3431
|
isOverflowing && "pb-8"
|
|
3431
3432
|
),
|
|
@@ -3478,7 +3479,7 @@ function IssueManagerDescriptionContent({
|
|
|
3478
3479
|
// src/ui/internal/content/IssueManagerRichTextTextarea.tsx
|
|
3479
3480
|
import { useEffect as useEffect6, useMemo as useMemo3, useRef as useRef3, useState as useState6 } from "react";
|
|
3480
3481
|
import { RichTextTriggerEditor } from "@tutti-os/ui-rich-text/editor";
|
|
3481
|
-
import { Button as Button3, LinkIcon, cn as
|
|
3482
|
+
import { Button as Button3, LinkIcon, cn as cn5 } from "@tutti-os/ui-system";
|
|
3482
3483
|
import { jsx as jsx6, jsxs as jsxs6 } from "react/jsx-runtime";
|
|
3483
3484
|
var issueManagerRichTextTextareaBaseClassName = "min-h-20 w-full rounded-[8px] border border-transparent bg-[var(--transparency-block)] p-3 text-[13px] font-normal leading-[1.3] text-[var(--text-primary)] transition-[background-color,border-color,color] outline-none shadow-none placeholder:text-[var(--text-placeholder)] hover:bg-[var(--transparency-hover)] focus:bg-[var(--transparency-hover)] focus-visible:border-transparent focus-visible:bg-[var(--transparency-hover)] focus-visible:ring-0 disabled:cursor-not-allowed disabled:bg-[var(--transparency-block)] disabled:text-[var(--text-disabled)] disabled:opacity-100 aria-invalid:border-[var(--state-danger)] aria-invalid:bg-[var(--transparency-block)] aria-invalid:hover:bg-[var(--transparency-hover)] aria-invalid:focus:bg-[var(--transparency-hover)] aria-invalid:focus-visible:bg-[var(--transparency-hover)] aria-invalid:ring-0 aria-invalid:shadow-none";
|
|
3484
3485
|
var issueManagerRichTextPlaceholderBaseClassName = "min-h-20 w-full p-3 text-[13px] font-normal leading-[1.3] text-[var(--text-placeholder)]";
|
|
@@ -3518,12 +3519,12 @@ function IssueManagerRichTextTextarea({
|
|
|
3518
3519
|
noMatchesLabel: controller.copy.t("richTextAt.noMatches"),
|
|
3519
3520
|
removeReferenceActionLabel: controller.copy.t("actions.removeReference")
|
|
3520
3521
|
},
|
|
3521
|
-
textareaClassName:
|
|
3522
|
+
textareaClassName: cn5(
|
|
3522
3523
|
issueManagerRichTextTextareaBaseClassName,
|
|
3523
3524
|
textareaClassName,
|
|
3524
3525
|
showReferenceAction && "pb-11"
|
|
3525
3526
|
),
|
|
3526
|
-
placeholderClassName:
|
|
3527
|
+
placeholderClassName: cn5(
|
|
3527
3528
|
issueManagerRichTextPlaceholderBaseClassName,
|
|
3528
3529
|
textareaClassName,
|
|
3529
3530
|
showReferenceAction && "pb-11"
|
|
@@ -3929,7 +3930,7 @@ function IssueManagerIssuePane({
|
|
|
3929
3930
|
}
|
|
3930
3931
|
|
|
3931
3932
|
// src/ui/internal/shell/IssueManagerBottomBar.tsx
|
|
3932
|
-
import { Button as Button7, cn as
|
|
3933
|
+
import { Button as Button7, cn as cn7 } from "@tutti-os/ui-system";
|
|
3933
3934
|
|
|
3934
3935
|
// src/ui/internal/task/IssueManagerRunSections.tsx
|
|
3935
3936
|
import {
|
|
@@ -3942,7 +3943,7 @@ import {
|
|
|
3942
3943
|
DropdownMenuItem,
|
|
3943
3944
|
DropdownMenuTrigger,
|
|
3944
3945
|
IssueIcon,
|
|
3945
|
-
cn as
|
|
3946
|
+
cn as cn6
|
|
3946
3947
|
} from "@tutti-os/ui-system";
|
|
3947
3948
|
import { WorkspaceUserProjectSelect } from "@tutti-os/workspace-user-project/ui";
|
|
3948
3949
|
import { Fragment, jsx as jsx10, jsxs as jsxs9 } from "react/jsx-runtime";
|
|
@@ -4002,7 +4003,7 @@ function IssueManagerProviderActionMenu({
|
|
|
4002
4003
|
/* @__PURE__ */ jsx10(DropdownMenuTrigger, { asChild: true, disabled, children: /* @__PURE__ */ jsxs9(
|
|
4003
4004
|
Button6,
|
|
4004
4005
|
{
|
|
4005
|
-
className:
|
|
4006
|
+
className: cn6(
|
|
4006
4007
|
"min-w-0",
|
|
4007
4008
|
"[&[data-state=open]_[data-issue-manager-provider-chevron=true]]:rotate-180",
|
|
4008
4009
|
providerActionTriggerClassName,
|
|
@@ -4092,7 +4093,7 @@ function IssueManagerExecutionDirectoryTrigger({
|
|
|
4092
4093
|
classNames: {
|
|
4093
4094
|
content: "w-[240px] min-w-[240px]",
|
|
4094
4095
|
item: "min-h-7 overflow-hidden rounded-md py-1 pr-7 pl-2.5 text-[13px] font-normal leading-[1.2] text-[var(--text-primary)]",
|
|
4095
|
-
trigger:
|
|
4096
|
+
trigger: cn6(
|
|
4096
4097
|
"group inline-flex min-h-7 max-w-[240px] min-w-0 items-center gap-1.5 overflow-hidden rounded-md border-0 bg-transparent px-0.5 py-0 text-[13px] font-normal leading-[1.2] text-[var(--text-secondary)] shadow-none outline-none hover:bg-transparent hover:text-[var(--text-primary)] focus:bg-transparent focus:text-[var(--text-primary)] focus-visible:bg-transparent focus-visible:ring-0 disabled:bg-transparent disabled:text-[var(--text-disabled)]",
|
|
4097
4098
|
className
|
|
4098
4099
|
)
|
|
@@ -4162,7 +4163,7 @@ function IssueManagerBottomBar({
|
|
|
4162
4163
|
return /* @__PURE__ */ jsx11("div", { className: "border-t border-[var(--border-1)] bg-transparent px-6 py-4 backdrop-blur", children: /* @__PURE__ */ jsxs10(
|
|
4163
4164
|
"div",
|
|
4164
4165
|
{
|
|
4165
|
-
className:
|
|
4166
|
+
className: cn7(
|
|
4166
4167
|
"flex gap-3",
|
|
4167
4168
|
isNarrowLayout ? "flex-wrap items-center justify-end" : "items-center justify-end"
|
|
4168
4169
|
),
|
|
@@ -4234,7 +4235,7 @@ function IssueManagerFloatingNotice({
|
|
|
4234
4235
|
}
|
|
4235
4236
|
|
|
4236
4237
|
// src/ui/internal/shell/IssueManagerSidebar.tsx
|
|
4237
|
-
import { cn as
|
|
4238
|
+
import { cn as cn9 } from "@tutti-os/ui-system";
|
|
4238
4239
|
|
|
4239
4240
|
// src/ui/internal/shell/IssueManagerSidebarSections.tsx
|
|
4240
4241
|
import { useComposedInputValue as useComposedInputValue2 } from "@tutti-os/ui-react-hooks";
|
|
@@ -4242,12 +4243,12 @@ import {
|
|
|
4242
4243
|
Badge as Badge4,
|
|
4243
4244
|
Button as Button8,
|
|
4244
4245
|
CloseIcon,
|
|
4245
|
-
FileCreateIcon as FileCreateIcon3,
|
|
4246
4246
|
Input as Input2,
|
|
4247
4247
|
ScrollArea as ScrollArea3,
|
|
4248
4248
|
UnderlineTabs,
|
|
4249
|
-
cn as
|
|
4249
|
+
cn as cn8
|
|
4250
4250
|
} from "@tutti-os/ui-system";
|
|
4251
|
+
import { CreateChatIcon } from "@tutti-os/ui-system/icons";
|
|
4251
4252
|
|
|
4252
4253
|
// src/ui/internal/shell/IssueManagerShellState.ts
|
|
4253
4254
|
var issueManagerStatusFilters = [
|
|
@@ -4369,6 +4370,10 @@ function resolveIssueManagerShellContentViewState(input) {
|
|
|
4369
4370
|
|
|
4370
4371
|
// src/ui/internal/shell/IssueManagerSidebarSections.tsx
|
|
4371
4372
|
import { jsx as jsx13, jsxs as jsxs11 } from "react/jsx-runtime";
|
|
4373
|
+
var issueManagerSidebarHeaderClassName = "grid grid-cols-[minmax(0,1fr)_max-content] items-center gap-2.5 [--agent-gui-rail-control-radius:6px]";
|
|
4374
|
+
var issueManagerSidebarSearchFieldClassName = "room-issue-node__search-field";
|
|
4375
|
+
var issueManagerSidebarSearchInputClassName = "room-issue-node__search-input";
|
|
4376
|
+
var issueManagerSidebarCreateButtonClassName = "agent-gui-node__new-conversation-icon-button";
|
|
4372
4377
|
function IssueManagerSidebarHeader({
|
|
4373
4378
|
copy,
|
|
4374
4379
|
issueSearchQuery,
|
|
@@ -4376,7 +4381,7 @@ function IssueManagerSidebarHeader({
|
|
|
4376
4381
|
onIssueSearchUsage,
|
|
4377
4382
|
onIssueSearchQueryChange
|
|
4378
4383
|
}) {
|
|
4379
|
-
return /* @__PURE__ */ jsx13("div", { className: "px-4 py-4", children: /* @__PURE__ */ jsxs11("div", { className:
|
|
4384
|
+
return /* @__PURE__ */ jsx13("div", { className: "px-4 py-4", children: /* @__PURE__ */ jsxs11("div", { className: issueManagerSidebarHeaderClassName, children: [
|
|
4380
4385
|
/* @__PURE__ */ jsx13(
|
|
4381
4386
|
IssueManagerSearchField,
|
|
4382
4387
|
{
|
|
@@ -4390,14 +4395,14 @@ function IssueManagerSidebarHeader({
|
|
|
4390
4395
|
/* @__PURE__ */ jsxs11(
|
|
4391
4396
|
Button8,
|
|
4392
4397
|
{
|
|
4393
|
-
className:
|
|
4398
|
+
className: issueManagerSidebarCreateButtonClassName,
|
|
4394
4399
|
size: "dialog",
|
|
4395
4400
|
type: "button",
|
|
4396
4401
|
variant: "secondary",
|
|
4397
4402
|
onClick: onCreateIssue,
|
|
4398
4403
|
children: [
|
|
4399
|
-
/* @__PURE__ */ jsx13(
|
|
4400
|
-
copy.t("actions.createIssue")
|
|
4404
|
+
/* @__PURE__ */ jsx13(CreateChatIcon, { "aria-hidden": "true" }),
|
|
4405
|
+
/* @__PURE__ */ jsx13("span", { children: copy.t("actions.createIssue") })
|
|
4401
4406
|
]
|
|
4402
4407
|
}
|
|
4403
4408
|
)
|
|
@@ -4439,11 +4444,11 @@ function IssueManagerSidebarBody({
|
|
|
4439
4444
|
ScrollArea3,
|
|
4440
4445
|
{
|
|
4441
4446
|
scrollbarMode: "native",
|
|
4442
|
-
className:
|
|
4447
|
+
className: cn8("min-h-0", isNarrowLayout ? "flex-none" : "h-full flex-1"),
|
|
4443
4448
|
children: /* @__PURE__ */ jsx13(
|
|
4444
4449
|
"div",
|
|
4445
4450
|
{
|
|
4446
|
-
className:
|
|
4451
|
+
className: cn8(
|
|
4447
4452
|
"flex min-h-full flex-col gap-2.5 px-4 pt-1.5 pb-4",
|
|
4448
4453
|
isNarrowLayout ? "min-h-0" : "h-full"
|
|
4449
4454
|
),
|
|
@@ -4459,8 +4464,7 @@ function IssueManagerSidebarBody({
|
|
|
4459
4464
|
IssueManagerSidebarEmptyState,
|
|
4460
4465
|
{
|
|
4461
4466
|
body: sidebarViewState.body,
|
|
4462
|
-
isNarrowLayout
|
|
4463
|
-
title: sidebarViewState.title
|
|
4467
|
+
isNarrowLayout
|
|
4464
4468
|
}
|
|
4465
4469
|
) : /* @__PURE__ */ jsx13(
|
|
4466
4470
|
IssueManagerSidebarIssueList,
|
|
@@ -4492,7 +4496,7 @@ function IssueManagerSidebarStandalonePane({
|
|
|
4492
4496
|
{
|
|
4493
4497
|
isNarrowLayout,
|
|
4494
4498
|
retryLabel,
|
|
4495
|
-
title,
|
|
4499
|
+
title: title ?? "",
|
|
4496
4500
|
onRetry
|
|
4497
4501
|
}
|
|
4498
4502
|
);
|
|
@@ -4501,8 +4505,7 @@ function IssueManagerSidebarStandalonePane({
|
|
|
4501
4505
|
IssueManagerSidebarEmptyState,
|
|
4502
4506
|
{
|
|
4503
4507
|
body: body ?? "",
|
|
4504
|
-
isNarrowLayout
|
|
4505
|
-
title
|
|
4508
|
+
isNarrowLayout
|
|
4506
4509
|
}
|
|
4507
4510
|
);
|
|
4508
4511
|
}
|
|
@@ -4517,17 +4520,16 @@ function IssueManagerSearchField({
|
|
|
4517
4520
|
return /* @__PURE__ */ jsxs11(
|
|
4518
4521
|
"div",
|
|
4519
4522
|
{
|
|
4520
|
-
className:
|
|
4523
|
+
className: issueManagerSidebarSearchFieldClassName,
|
|
4521
4524
|
"data-has-value": searchInput.value ? "true" : "false",
|
|
4522
4525
|
children: [
|
|
4523
4526
|
/* @__PURE__ */ jsx13(
|
|
4524
4527
|
Input2,
|
|
4525
4528
|
{
|
|
4526
4529
|
"aria-label": placeholder,
|
|
4527
|
-
className:
|
|
4528
|
-
|
|
4529
|
-
"[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none"
|
|
4530
|
-
searchInput.value ? "pr-9" : "pr-3"
|
|
4530
|
+
className: cn8(
|
|
4531
|
+
issueManagerSidebarSearchInputClassName,
|
|
4532
|
+
"[&::-webkit-search-cancel-button]:appearance-none [&::-webkit-search-decoration]:appearance-none"
|
|
4531
4533
|
),
|
|
4532
4534
|
placeholder,
|
|
4533
4535
|
type: "search",
|
|
@@ -4545,11 +4547,11 @@ function IssueManagerSearchField({
|
|
|
4545
4547
|
"button",
|
|
4546
4548
|
{
|
|
4547
4549
|
"aria-label": clearLabel,
|
|
4548
|
-
className: "
|
|
4550
|
+
className: "room-issue-node__search-clear-button",
|
|
4549
4551
|
type: "button",
|
|
4550
4552
|
onClick: searchInput.clearValue,
|
|
4551
4553
|
onMouseDown: (event) => event.preventDefault(),
|
|
4552
|
-
children: /* @__PURE__ */ jsx13(CloseIcon, {
|
|
4554
|
+
children: /* @__PURE__ */ jsx13(CloseIcon, { "aria-hidden": "true" })
|
|
4553
4555
|
}
|
|
4554
4556
|
) : null
|
|
4555
4557
|
]
|
|
@@ -4567,7 +4569,7 @@ function IssueManagerSidebarIssueList({
|
|
|
4567
4569
|
return /* @__PURE__ */ jsx13(
|
|
4568
4570
|
"div",
|
|
4569
4571
|
{
|
|
4570
|
-
className:
|
|
4572
|
+
className: cn8(
|
|
4571
4573
|
"flex gap-2.5",
|
|
4572
4574
|
isNarrowLayout ? "flex-row flex-nowrap items-start overflow-x-auto overflow-y-hidden [scrollbar-width:none] [&::-webkit-scrollbar]:hidden" : "flex-col"
|
|
4573
4575
|
),
|
|
@@ -4598,7 +4600,7 @@ function IssueManagerSidebarItem({
|
|
|
4598
4600
|
return /* @__PURE__ */ jsxs11(
|
|
4599
4601
|
"button",
|
|
4600
4602
|
{
|
|
4601
|
-
className:
|
|
4603
|
+
className: cn8(
|
|
4602
4604
|
"relative rounded-lg border px-3.5 py-3.5 text-left transition-colors",
|
|
4603
4605
|
isNarrowLayout ? "h-24 max-h-24 min-h-24 w-[clamp(220px,58vw,320px)] flex-[0_0_clamp(220px,58vw,320px)] overflow-hidden" : "w-full",
|
|
4604
4606
|
selected ? "border-[var(--border-1)] bg-[var(--background-fronted)]" : "border-[var(--border-1)] bg-transparent hover:bg-[var(--transparency-block)]"
|
|
@@ -4660,14 +4662,14 @@ function IssueManagerSidebarLoadingState({
|
|
|
4660
4662
|
"div",
|
|
4661
4663
|
{
|
|
4662
4664
|
"aria-hidden": "true",
|
|
4663
|
-
className:
|
|
4665
|
+
className: cn8(
|
|
4664
4666
|
"gap-2.5",
|
|
4665
4667
|
isNarrowLayout ? "flex flex-row flex-nowrap overflow-x-hidden" : "grid"
|
|
4666
4668
|
),
|
|
4667
4669
|
children: Array.from({ length: 4 }, (_, index) => /* @__PURE__ */ jsxs11(
|
|
4668
4670
|
"div",
|
|
4669
4671
|
{
|
|
4670
|
-
className:
|
|
4672
|
+
className: cn8(
|
|
4671
4673
|
"rounded-lg bg-transparent px-3.5 py-3.5",
|
|
4672
4674
|
isNarrowLayout && "h-24 max-h-24 min-h-24 w-[clamp(220px,58vw,320px)] flex-[0_0_clamp(220px,58vw,320px)]"
|
|
4673
4675
|
),
|
|
@@ -4683,25 +4685,25 @@ function IssueManagerSidebarLoadingState({
|
|
|
4683
4685
|
);
|
|
4684
4686
|
}
|
|
4685
4687
|
function IssueManagerSidebarEmptyState({
|
|
4688
|
+
body,
|
|
4686
4689
|
isNarrowLayout,
|
|
4687
|
-
title,
|
|
4688
4690
|
tone = "default"
|
|
4689
4691
|
}) {
|
|
4690
4692
|
return /* @__PURE__ */ jsx13(
|
|
4691
4693
|
"div",
|
|
4692
4694
|
{
|
|
4693
|
-
className:
|
|
4695
|
+
className: cn8(
|
|
4694
4696
|
"relative flex flex-1 flex-col items-center justify-center self-stretch overflow-hidden p-0 text-center",
|
|
4695
4697
|
isNarrowLayout ? "h-24 max-h-24 min-h-24 w-full flex-[0_0_100%]" : "min-h-full"
|
|
4696
4698
|
),
|
|
4697
4699
|
children: /* @__PURE__ */ jsx13(
|
|
4698
4700
|
"p",
|
|
4699
4701
|
{
|
|
4700
|
-
className:
|
|
4702
|
+
className: cn8(
|
|
4701
4703
|
"max-w-sm text-[13px] leading-5 text-[var(--text-secondary)]",
|
|
4702
4704
|
tone === "destructive" ? "text-[var(--state-danger)]" : "text-[var(--text-secondary)]"
|
|
4703
4705
|
),
|
|
4704
|
-
children:
|
|
4706
|
+
children: body
|
|
4705
4707
|
}
|
|
4706
4708
|
)
|
|
4707
4709
|
}
|
|
@@ -4716,7 +4718,7 @@ function IssueManagerSidebarErrorState({
|
|
|
4716
4718
|
return /* @__PURE__ */ jsxs11(
|
|
4717
4719
|
"div",
|
|
4718
4720
|
{
|
|
4719
|
-
className:
|
|
4721
|
+
className: cn8(
|
|
4720
4722
|
"relative flex flex-1 flex-col items-center justify-center self-stretch overflow-hidden px-4 py-6 text-center",
|
|
4721
4723
|
isNarrowLayout ? "h-24 max-h-24 min-h-24 w-full flex-[0_0_100%]" : "min-h-full"
|
|
4722
4724
|
),
|
|
@@ -4754,8 +4756,7 @@ function resolveIssueManagerSidebarPresentationState(input) {
|
|
|
4754
4756
|
if (sidebarViewState.kind === "empty") {
|
|
4755
4757
|
return {
|
|
4756
4758
|
body: sidebarViewState.body,
|
|
4757
|
-
kind: "empty"
|
|
4758
|
-
title: sidebarViewState.title
|
|
4759
|
+
kind: "empty"
|
|
4759
4760
|
};
|
|
4760
4761
|
}
|
|
4761
4762
|
return { kind: "none" };
|
|
@@ -4794,7 +4795,7 @@ function IssueManagerSidebar({
|
|
|
4794
4795
|
"aside",
|
|
4795
4796
|
{
|
|
4796
4797
|
"aria-hidden": isCollapsed ? "true" : void 0,
|
|
4797
|
-
className:
|
|
4798
|
+
className: cn9(
|
|
4798
4799
|
"relative isolate flex h-full min-h-0 min-w-0 flex-col overflow-hidden bg-transparent opacity-100 transition-[border-color] duration-[140ms] ease-in-out after:pointer-events-none after:absolute after:inset-0 after:z-[1] after:bg-[color-mix(in_srgb,var(--background-panel)_88%,transparent)] after:opacity-0 after:transition-opacity after:duration-[160ms] after:delay-[70ms] motion-reduce:transition-none motion-reduce:after:transition-none [&>*]:transition-[opacity,filter] [&>*]:duration-[160ms] [&>*]:delay-[70ms] [&>*]:ease-in-out motion-reduce:[&>*]:transition-none",
|
|
4799
4800
|
isNarrowLayout ? "border-b border-[var(--border-1)]" : "border-r border-[var(--border-1)]",
|
|
4800
4801
|
isCollapsed && "pointer-events-none border-r-transparent after:opacity-100 after:delay-0 [&>*]:opacity-0 [&>*]:blur-[1px] [&>*]:delay-0 motion-reduce:[&>*]:blur-none"
|
|
@@ -4824,7 +4825,7 @@ function IssueManagerSidebar({
|
|
|
4824
4825
|
/* @__PURE__ */ jsx14(
|
|
4825
4826
|
"div",
|
|
4826
4827
|
{
|
|
4827
|
-
className:
|
|
4828
|
+
className: cn9(
|
|
4828
4829
|
"relative flex min-h-0 flex-col",
|
|
4829
4830
|
isNarrowLayout ? "flex-none" : "flex-1"
|
|
4830
4831
|
),
|
|
@@ -4835,7 +4836,7 @@ function IssueManagerSidebar({
|
|
|
4835
4836
|
isNarrowLayout: false,
|
|
4836
4837
|
kind: presentation.kind,
|
|
4837
4838
|
retryLabel: presentation.kind === "error" ? presentation.retryLabel : void 0,
|
|
4838
|
-
title: presentation.title,
|
|
4839
|
+
title: presentation.kind === "error" ? presentation.title : void 0,
|
|
4839
4840
|
onRetry: () => controller.refreshAll()
|
|
4840
4841
|
}
|
|
4841
4842
|
) }) : /* @__PURE__ */ jsx14(
|
|
@@ -4949,7 +4950,7 @@ function IssueManagerTaskComposerPane({
|
|
|
4949
4950
|
|
|
4950
4951
|
// src/ui/internal/shell/IssueManagerTaskDrawer.tsx
|
|
4951
4952
|
import { useRef as useRef5 } from "react";
|
|
4952
|
-
import { ScrollArea as ScrollArea4, cn as
|
|
4953
|
+
import { ScrollArea as ScrollArea4, cn as cn10 } from "@tutti-os/ui-system";
|
|
4953
4954
|
|
|
4954
4955
|
// src/ui/internal/shell/IssueManagerTaskDrawerSections.tsx
|
|
4955
4956
|
import { useState as useState8 } from "react";
|
|
@@ -5346,7 +5347,7 @@ function IssueManagerTaskDrawer({
|
|
|
5346
5347
|
return /* @__PURE__ */ jsx17(
|
|
5347
5348
|
"div",
|
|
5348
5349
|
{
|
|
5349
|
-
className:
|
|
5350
|
+
className: cn10(
|
|
5350
5351
|
"absolute inset-0 z-20 flex justify-end overscroll-contain bg-[var(--backdrop)] backdrop-blur-[1px] motion-reduce:animate-none",
|
|
5351
5352
|
isClosing ? "motion-safe:animate-out motion-safe:fade-out-0 motion-safe:duration-[180ms] motion-safe:ease-[cubic-bezier(0.4,0,0.2,1)]" : "motion-safe:animate-in motion-safe:fade-in-0 motion-safe:duration-[180ms] motion-safe:ease-[cubic-bezier(0.4,0,0.2,1)]"
|
|
5352
5353
|
),
|
|
@@ -5361,7 +5362,7 @@ function IssueManagerTaskDrawer({
|
|
|
5361
5362
|
children: /* @__PURE__ */ jsxs15(
|
|
5362
5363
|
"aside",
|
|
5363
5364
|
{
|
|
5364
|
-
className:
|
|
5365
|
+
className: cn10(
|
|
5365
5366
|
"flex h-full w-[min(360px,92cqw)] flex-col overscroll-contain border-l border-border-1 bg-background-panel text-[var(--text-primary)] shadow-[-20px_0_60px_var(--shadow-elevated)] @min-[960px]/issue-manager-content:w-[480px] motion-reduce:animate-none",
|
|
5366
5367
|
isClosing ? "motion-safe:animate-out motion-safe:slide-out-to-right-full motion-safe:duration-[180ms] motion-safe:ease-[cubic-bezier(0.4,0,0.2,1)]" : "motion-safe:animate-in motion-safe:slide-in-from-right-full motion-safe:duration-[220ms] motion-safe:ease-[cubic-bezier(0.22,1,0.36,1)]"
|
|
5367
5368
|
),
|
|
@@ -5386,7 +5387,7 @@ function IssueManagerTaskDrawer({
|
|
|
5386
5387
|
children: /* @__PURE__ */ jsx17(
|
|
5387
5388
|
"div",
|
|
5388
5389
|
{
|
|
5389
|
-
className:
|
|
5390
|
+
className: cn10(
|
|
5390
5391
|
"flex flex-col",
|
|
5391
5392
|
view.bodyKind === "edit" ? "gap-[14px] px-6 py-8" : "gap-8 px-6 pt-1 pb-7"
|
|
5392
5393
|
),
|
|
@@ -5829,7 +5830,7 @@ function IssueManagerShell({
|
|
|
5829
5830
|
"aria-valuemax": shellView.resizeHandle.ariaValueMax,
|
|
5830
5831
|
"aria-valuemin": shellView.resizeHandle.ariaValueMin,
|
|
5831
5832
|
"aria-valuenow": shellView.resizeHandle.ariaValueNow,
|
|
5832
|
-
className:
|
|
5833
|
+
className: cn11(
|
|
5833
5834
|
"group absolute top-0 bottom-0 left-[calc(var(--issue-manager-sidebar-width)-6px)] z-20 w-3 cursor-col-resize touch-none opacity-100 transition-[left,opacity] duration-[180ms,120ms] ease-[cubic-bezier(0.4,0,0.2,1),ease] motion-reduce:transition-none",
|
|
5834
5835
|
shellView.sidebar.isCollapsed && "pointer-events-none left-[-6px] opacity-0"
|
|
5835
5836
|
),
|
|
@@ -5914,8 +5915,8 @@ function IssueManagerShellEmptyState({
|
|
|
5914
5915
|
emptyIllustration
|
|
5915
5916
|
}) {
|
|
5916
5917
|
return /* @__PURE__ */ jsx18("div", { className: "flex h-full min-h-[320px] items-center justify-center px-10 py-10", children: /* @__PURE__ */ jsxs16("div", { className: "grid max-w-[420px] justify-items-center gap-2 text-center", children: [
|
|
5917
|
-
emptyIllustration ? /* @__PURE__ */ jsx18("div", { className: "mb-
|
|
5918
|
-
/* @__PURE__ */ jsx18("h2", { className: "text-[
|
|
5918
|
+
emptyIllustration ? /* @__PURE__ */ jsx18("div", { className: "mb-2", children: emptyIllustration }) : null,
|
|
5919
|
+
/* @__PURE__ */ jsx18("h2", { className: "text-[15px] font-semibold leading-5 text-[var(--text-primary)]", children: controller.copy.t("messages.noIssues") }),
|
|
5919
5920
|
/* @__PURE__ */ jsx18("p", { className: "max-w-[420px] text-[13px] leading-5 text-[var(--text-secondary)]", children: controller.copy.t("emptyState") }),
|
|
5920
5921
|
/* @__PURE__ */ jsxs16(
|
|
5921
5922
|
Button11,
|
|
@@ -5924,7 +5925,7 @@ function IssueManagerShellEmptyState({
|
|
|
5924
5925
|
type: "button",
|
|
5925
5926
|
onClick: () => controller.setIssueEditorMode("create"),
|
|
5926
5927
|
children: [
|
|
5927
|
-
/* @__PURE__ */ jsx18(
|
|
5928
|
+
/* @__PURE__ */ jsx18(FileCreateIcon3, { size: 16 }),
|
|
5928
5929
|
controller.copy.t("actions.createIssue")
|
|
5929
5930
|
]
|
|
5930
5931
|
}
|
|
@@ -5952,13 +5953,13 @@ import {
|
|
|
5952
5953
|
DropdownMenuSeparator,
|
|
5953
5954
|
DropdownMenuTrigger as DropdownMenuTrigger2,
|
|
5954
5955
|
EditIcon,
|
|
5955
|
-
FileCreateIcon as
|
|
5956
|
+
FileCreateIcon as FileCreateIcon4,
|
|
5956
5957
|
Input as Input3,
|
|
5957
5958
|
MoreHorizontalIcon,
|
|
5958
5959
|
PinFilledIcon,
|
|
5959
5960
|
PinIcon,
|
|
5960
5961
|
Textarea,
|
|
5961
|
-
cn as
|
|
5962
|
+
cn as cn12
|
|
5962
5963
|
} from "@tutti-os/ui-system";
|
|
5963
5964
|
import { Fragment as Fragment3, jsx as jsx19, jsxs as jsxs17 } from "react/jsx-runtime";
|
|
5964
5965
|
var topicSelectorMenuItemClassName = "min-h-7 overflow-hidden rounded-md py-1 text-[13px] font-normal leading-[1.2] text-[var(--text-primary)]";
|
|
@@ -5994,7 +5995,7 @@ function IssueManagerTopicSelector({
|
|
|
5994
5995
|
Button12,
|
|
5995
5996
|
{
|
|
5996
5997
|
"aria-label": topicLabel,
|
|
5997
|
-
className:
|
|
5998
|
+
className: cn12(
|
|
5998
5999
|
"max-w-[220px] gap-1 rounded-md border-0 bg-transparent text-[13px] font-normal shadow-none hover:bg-transparent focus:bg-transparent focus-visible:border-0 focus-visible:bg-transparent focus-visible:ring-0 active:bg-transparent aria-expanded:bg-transparent [&[data-state=open]>svg]:rotate-180",
|
|
5999
6000
|
className
|
|
6000
6001
|
),
|
|
@@ -6016,7 +6017,7 @@ function IssueManagerTopicSelector({
|
|
|
6016
6017
|
/* @__PURE__ */ jsxs17(
|
|
6017
6018
|
DropdownMenuItem2,
|
|
6018
6019
|
{
|
|
6019
|
-
className:
|
|
6020
|
+
className: cn12(
|
|
6020
6021
|
topicSelectorMenuItemClassName,
|
|
6021
6022
|
topicSelectorRowItemClassName
|
|
6022
6023
|
),
|
|
@@ -6037,7 +6038,7 @@ function IssueManagerTopicSelector({
|
|
|
6037
6038
|
BareIconButton2,
|
|
6038
6039
|
{
|
|
6039
6040
|
"aria-label": pinLabel,
|
|
6040
|
-
className:
|
|
6041
|
+
className: cn12(
|
|
6041
6042
|
"pointer-events-none shrink-0 opacity-0 text-[var(--text-tertiary)] transition-opacity duration-150 group-hover/topic-row:pointer-events-auto group-hover/topic-row:opacity-100 group-focus-within/topic-row:pointer-events-auto group-focus-within/topic-row:opacity-100 hover:text-[var(--text-primary)]",
|
|
6042
6043
|
isPinned && "text-[var(--text-primary)]"
|
|
6043
6044
|
),
|
|
@@ -6117,7 +6118,7 @@ function IssueManagerTopicSelector({
|
|
|
6117
6118
|
/* @__PURE__ */ jsxs17(
|
|
6118
6119
|
DropdownMenuItem2,
|
|
6119
6120
|
{
|
|
6120
|
-
className:
|
|
6121
|
+
className: cn12(
|
|
6121
6122
|
topicSelectorMenuItemClassName,
|
|
6122
6123
|
"justify-start gap-2 px-2 text-left"
|
|
6123
6124
|
),
|
|
@@ -6129,7 +6130,7 @@ function IssueManagerTopicSelector({
|
|
|
6129
6130
|
});
|
|
6130
6131
|
},
|
|
6131
6132
|
children: [
|
|
6132
|
-
/* @__PURE__ */ jsx19(
|
|
6133
|
+
/* @__PURE__ */ jsx19(FileCreateIcon4, { className: "size-3.5" }),
|
|
6133
6134
|
/* @__PURE__ */ jsx19("span", { className: "truncate", children: copy.t("actions.createTopic") })
|
|
6134
6135
|
]
|
|
6135
6136
|
}
|
|
@@ -6401,6 +6402,8 @@ function IssueManagerNode({
|
|
|
6401
6402
|
);
|
|
6402
6403
|
}
|
|
6403
6404
|
var issueManagerWorkbenchDragHandleAttribute = "data-workbench-drag-handle";
|
|
6405
|
+
var issueManagerHeaderChromeIconButtonClassName = "cursor-pointer rounded-md text-[var(--text-secondary)] hover:text-[var(--text-primary)]";
|
|
6406
|
+
var issueManagerHeaderChromeIconClassName = "size-3.5";
|
|
6404
6407
|
function IssueManagerNodeHeader({
|
|
6405
6408
|
activeTopicId = null,
|
|
6406
6409
|
className,
|
|
@@ -6442,7 +6445,7 @@ function IssueManagerNodeHeader({
|
|
|
6442
6445
|
"header",
|
|
6443
6446
|
{
|
|
6444
6447
|
...restHeaderProps,
|
|
6445
|
-
className:
|
|
6448
|
+
className: cn13(
|
|
6446
6449
|
"relative flex h-full min-h-0 items-center justify-between gap-3 bg-[var(--background-panel)] px-2 pl-3",
|
|
6447
6450
|
className
|
|
6448
6451
|
),
|
|
@@ -6459,14 +6462,14 @@ function IssueManagerNodeHeader({
|
|
|
6459
6462
|
"div",
|
|
6460
6463
|
{
|
|
6461
6464
|
...dragHandleProps,
|
|
6462
|
-
className: "z-10 flex min-w-0 cursor-grab items-center gap-
|
|
6465
|
+
className: "z-10 flex min-w-0 flex-1 cursor-grab items-center gap-1 active:cursor-grabbing",
|
|
6463
6466
|
children: [
|
|
6464
|
-
/* @__PURE__ */ jsx20("span", { className: "
|
|
6467
|
+
/* @__PURE__ */ jsx20("span", { className: "shrink-0 truncate text-[13px] font-semibold leading-5 text-[var(--text-primary)]", children: title?.trim() || copy.t("title") }),
|
|
6465
6468
|
/* @__PURE__ */ jsx20(
|
|
6466
6469
|
Button13,
|
|
6467
6470
|
{
|
|
6468
6471
|
"aria-label": toggleLabel,
|
|
6469
|
-
className:
|
|
6472
|
+
className: issueManagerHeaderChromeIconButtonClassName,
|
|
6470
6473
|
"data-issue-manager-sidebar-auto-collapsed": isSidebarAutoCollapsed ? "true" : void 0,
|
|
6471
6474
|
"data-issue-manager-sidebar-collapsed": effectiveCollapsed ? "true" : void 0,
|
|
6472
6475
|
size: "icon-sm",
|
|
@@ -6479,7 +6482,7 @@ function IssueManagerNodeHeader({
|
|
|
6479
6482
|
},
|
|
6480
6483
|
onDoubleClick: (event) => event.stopPropagation(),
|
|
6481
6484
|
onPointerDown: (event) => event.stopPropagation(),
|
|
6482
|
-
children: /* @__PURE__ */ jsx20(PanelIcon, { className:
|
|
6485
|
+
children: /* @__PURE__ */ jsx20(PanelIcon, { className: issueManagerHeaderChromeIconClassName })
|
|
6483
6486
|
}
|
|
6484
6487
|
)
|
|
6485
6488
|
]
|
|
@@ -6549,4 +6552,4 @@ export {
|
|
|
6549
6552
|
IssueManagerNode,
|
|
6550
6553
|
IssueManagerNodeHeader
|
|
6551
6554
|
};
|
|
6552
|
-
//# sourceMappingURL=chunk-
|
|
6555
|
+
//# sourceMappingURL=chunk-FHPEIPBO.js.map
|