@lightworkai.official/debug-capture 0.13.0 → 0.14.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 +19 -0
- package/dist/debug-capture.js +54 -15
- package/dist/index.mjs +65 -26
- package/dist/requests.d.ts +1 -0
- package/dist/ui/strings.d.ts +13 -5
- package/dist/ui/styles.d.ts +1 -1
- package/package.json +1 -1
- package/src/requests.ts +11 -8
- package/src/ui/annotator.ts +2 -0
- package/src/ui/element.ts +317 -178
- package/src/ui/strings.ts +36 -17
- package/src/ui/styles.ts +50 -11
package/src/ui/strings.ts
CHANGED
|
@@ -65,14 +65,15 @@ export interface Strings {
|
|
|
65
65
|
handoffBlocked: string;
|
|
66
66
|
handoffOpen: string;
|
|
67
67
|
/*
|
|
68
|
-
* ขอให้ทีมดำเนินการ —
|
|
69
|
-
* types to its reporters (
|
|
68
|
+
* ขอให้ทีมดำเนินการ — the same dialog turned into a request, where the desk
|
|
69
|
+
* opens request types to its reporters (docs/WIDGET-ASK-PLAN.md): two cards
|
|
70
|
+
* under the heading, แจ้งปัญหา chosen as it opens, either one any time.
|
|
70
71
|
*/
|
|
71
72
|
chooseTitle: string;
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
73
|
+
kindProblem: string;
|
|
74
|
+
kindProblemHint: string;
|
|
75
|
+
kindRequest: string;
|
|
76
|
+
kindRequestHint: string;
|
|
76
77
|
requestTitle: string;
|
|
77
78
|
requestTypeLabel: string;
|
|
78
79
|
/** Carries `{time}`. */
|
|
@@ -83,7 +84,15 @@ export interface Strings {
|
|
|
83
84
|
requestDetailPlaceholder: string;
|
|
84
85
|
requestSubmit: string;
|
|
85
86
|
requestSubmitted: string;
|
|
86
|
-
|
|
87
|
+
/** The picture, a request's to keep or take off. */
|
|
88
|
+
requestWithShot: string;
|
|
89
|
+
requestAnnotateHint: string;
|
|
90
|
+
/** What was typed last time and not sent, back in the form — and the way to clear it. */
|
|
91
|
+
draftRestored: string;
|
|
92
|
+
draftClear: string;
|
|
93
|
+
/** In the captured row, turned: what a request does NOT send. */
|
|
94
|
+
requestLeaves: string;
|
|
95
|
+
requestLeavesWhat: string;
|
|
87
96
|
/** Carry `{n}`. */
|
|
88
97
|
days: string;
|
|
89
98
|
hours: string;
|
|
@@ -133,10 +142,10 @@ const th: Strings = {
|
|
|
133
142
|
handoffBlocked: "เบราว์เซอร์บล็อกการเปิดแท็บใหม่",
|
|
134
143
|
handoffOpen: "เปิดในแท็บใหม่",
|
|
135
144
|
chooseTitle: "ต้องการให้ทีมช่วยเรื่องอะไร",
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
145
|
+
kindProblem: "แจ้งปัญหา",
|
|
146
|
+
kindProblemHint: "มีอะไรเสีย หรือใช้งานไม่ได้",
|
|
147
|
+
kindRequest: "คำขอ",
|
|
148
|
+
kindRequestHint: "ขอให้ทีมทำ เช่น ขอสิทธิ์ ขอแก้ข้อมูล",
|
|
140
149
|
requestTitle: "ขอให้ทีมดำเนินการ",
|
|
141
150
|
requestTypeLabel: "เรื่องที่ขอ",
|
|
142
151
|
requestTarget: "ทีมตั้งใจให้เสร็จภายใน {time}",
|
|
@@ -146,7 +155,12 @@ const th: Strings = {
|
|
|
146
155
|
requestDetailPlaceholder: "สิ่งที่ทีมต้องรู้เพื่อดำเนินการ",
|
|
147
156
|
requestSubmit: "ส่งคำขอ",
|
|
148
157
|
requestSubmitted: "ส่งคำขอแล้ว",
|
|
149
|
-
|
|
158
|
+
requestWithShot: "แนบภาพหน้าจอนี้ไปกับคำขอ",
|
|
159
|
+
requestAnnotateHint: "ทำเครื่องหมายสิ่งที่ขอบนภาพ — วงกรอบ ชี้ลูกศร ไฮไลต์ หรือพิมพ์ข้อความ",
|
|
160
|
+
draftRestored: "ข้อความที่พิมพ์ไว้ครั้งก่อน ยังไม่ได้ส่ง",
|
|
161
|
+
draftClear: "ล้าง",
|
|
162
|
+
requestLeaves: "ไม่ส่งไปกับคำขอ",
|
|
163
|
+
requestLeavesWhat: "บันทึกการใช้งานของหน้านี้ — ใช้กับการแจ้งปัญหาเท่านั้น",
|
|
150
164
|
days: "{n} วัน",
|
|
151
165
|
hours: "{n} ชั่วโมง",
|
|
152
166
|
};
|
|
@@ -195,10 +209,10 @@ const en: Strings = {
|
|
|
195
209
|
handoffBlocked: "Your browser blocked the new tab",
|
|
196
210
|
handoffOpen: "Open in a new tab",
|
|
197
211
|
chooseTitle: "How can the team help?",
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
212
|
+
kindProblem: "Report a problem",
|
|
213
|
+
kindProblemHint: "Something is broken or not working",
|
|
214
|
+
kindRequest: "Request",
|
|
215
|
+
kindRequestHint: "Ask the team to do something, like access or a data change",
|
|
202
216
|
requestTitle: "Ask the team",
|
|
203
217
|
requestTypeLabel: "What you need",
|
|
204
218
|
requestTarget: "The team aims to finish within {time}",
|
|
@@ -208,7 +222,12 @@ const en: Strings = {
|
|
|
208
222
|
requestDetailPlaceholder: "What the team needs to know to do it",
|
|
209
223
|
requestSubmit: "Send request",
|
|
210
224
|
requestSubmitted: "Request sent",
|
|
211
|
-
|
|
225
|
+
requestWithShot: "Attach this screenshot to the request",
|
|
226
|
+
requestAnnotateHint: "Mark what you are asking about — box it, point at it, highlight it, or type on it",
|
|
227
|
+
draftRestored: "What you typed last time, not sent yet",
|
|
228
|
+
draftClear: "Clear",
|
|
229
|
+
requestLeaves: "Not sent with a request",
|
|
230
|
+
requestLeavesWhat: "this page's activity log — it is for problem reports only",
|
|
212
231
|
days: "{n} days",
|
|
213
232
|
hours: "{n} hours",
|
|
214
233
|
};
|
package/src/ui/styles.ts
CHANGED
|
@@ -94,16 +94,55 @@ canvas { width: 100%; height: auto; display: block; border: 1px solid #e2e8f0; b
|
|
|
94
94
|
}
|
|
95
95
|
.foot .grow { flex: 1; }
|
|
96
96
|
|
|
97
|
-
/*
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
97
|
+
/* ขอให้ทีมดำเนินการ — the same dialog turned into a request (docs/WIDGET-ASK-PLAN.md):
|
|
98
|
+
แจ้งปัญหา · คำขอ as two cards under the heading, the way the desk's own
|
|
99
|
+
สร้างเวิร์กโฟลว์ asks it; what is asked for as cards, the way the portal lists it. */
|
|
100
|
+
[hidden] { display: none !important; }
|
|
101
|
+
.kinds { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: -4px; }
|
|
102
|
+
button.kind {
|
|
103
|
+
position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
|
|
104
|
+
padding: 12px 34px 12px 14px; text-align: left; border-radius: 12px;
|
|
103
105
|
}
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
.
|
|
108
|
-
.
|
|
106
|
+
.kind-top { display: flex; align-items: center; gap: 8px; font-size: 15px; }
|
|
107
|
+
.kind-top b { font-weight: 600; }
|
|
108
|
+
.kind-hint { font-size: 13px; font-weight: 400; line-height: 1.5; color: #64748b; }
|
|
109
|
+
button.kind .icon { width: 18px; height: 18px; flex-shrink: 0; color: #64748b; }
|
|
110
|
+
button.kind[data-kind="request"] .icon { color: #1d4ed8; }
|
|
111
|
+
button.kind .tick { position: absolute; top: 12px; right: 12px; width: 16px; height: 16px; color: #2563eb; opacity: 0; }
|
|
112
|
+
button.kind[aria-checked="true"], button.kind[aria-checked="true"]:hover:not(:disabled) {
|
|
113
|
+
border-color: #2563eb; background: #eff6ff; box-shadow: inset 0 0 0 1px #2563eb;
|
|
114
|
+
}
|
|
115
|
+
button.kind[aria-checked="true"] .tick { opacity: 1; }
|
|
116
|
+
button.kind:focus-visible, button.type:focus-visible { outline: none; box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.25); }
|
|
117
|
+
button.kind[aria-checked="true"]:focus-visible { box-shadow: inset 0 0 0 1px #2563eb, 0 0 0 3px rgba(37, 99, 235, 0.25); }
|
|
118
|
+
.types { display: grid; gap: 8px; }
|
|
119
|
+
button.type {
|
|
120
|
+
display: flex; align-items: flex-start; gap: 10px; width: 100%;
|
|
121
|
+
padding: 10px 12px; text-align: left; border-radius: 10px;
|
|
122
|
+
}
|
|
123
|
+
button.type .icon { width: 16px; height: 16px; margin-top: 3px; flex-shrink: 0; color: #64748b; }
|
|
124
|
+
button.type[aria-checked="true"], button.type[aria-checked="true"]:hover:not(:disabled) { border-color: #2563eb; background: #eff6ff; }
|
|
125
|
+
button.type[aria-checked="true"] .icon { color: #2563eb; }
|
|
126
|
+
.type-body { display: grid; gap: 2px; min-width: 0; }
|
|
127
|
+
.type-body b { font-size: 14px; font-weight: 600; }
|
|
128
|
+
.type-hint { font-size: 13px; font-weight: 400; color: #64748b; }
|
|
129
|
+
.type-due { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; font-weight: 400; color: #64748b; }
|
|
130
|
+
button.type .type-due .icon { width: 12px; height: 12px; margin: 0; }
|
|
131
|
+
/* A phone: the two kinds still side by side — their names are the choice; the hints stay short. */
|
|
132
|
+
@media (max-width: 480px) {
|
|
133
|
+
.kind-hint { font-size: 12px; }
|
|
134
|
+
button.kind { padding: 10px 30px 10px 12px; }
|
|
135
|
+
}
|
|
136
|
+
button.link {
|
|
137
|
+
display: inline; padding: 0; border: 0; border-radius: 4px; background: none;
|
|
138
|
+
font-size: 13px; font-weight: 600; color: #2563eb;
|
|
139
|
+
text-decoration: underline; text-underline-offset: 3px;
|
|
140
|
+
}
|
|
141
|
+
button.link:hover:not(:disabled) { background: none; color: #1d4ed8; }
|
|
142
|
+
button.link:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
|
|
143
|
+
.ask p { margin: 0; }
|
|
144
|
+
.shot-choice { display: flex; align-items: center; gap: 8px; margin: 0; font-weight: 500; }
|
|
145
|
+
.shot-choice input { width: 16px; height: 16px; margin: 0; accent-color: #2563eb; }
|
|
146
|
+
.dropped { opacity: 0.35; pointer-events: none; }
|
|
147
|
+
.draft { margin: -8px 0 0; padding: 8px 12px; border-radius: 10px; background: #eff6ff; font-size: 13px; color: #1e3a8a; }
|
|
109
148
|
`;
|