@hachej/boring-ui-kit 0.3.1 → 0.4.0
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 +46 -18
- package/THIRD_PARTY_NOTICES.md +35 -0
- package/dist/canvas-editor-native.d.ts +4 -1
- package/dist/canvas-editor-native.js +8 -6
- package/dist/canvas-editor.js +1 -1
- package/dist/canvas-proposals.d.ts +3 -1
- package/dist/canvas-proposals.js +4 -3
- package/dist/experience-document-viewer.d.ts +3 -0
- package/dist/experience-document-viewer.js +6 -5
- package/dist/experience.d.ts +3 -0
- package/dist/experience.js +2 -1
- package/dist/file-tree-view.d.ts +76 -3
- package/dist/file-tree-view.js +172 -39
- package/dist/file-tree.d.ts +3 -0
- package/dist/file-tree.js +17 -2
- package/dist/html-viewer.d.ts +4 -0
- package/dist/html-viewer.js +5 -3
- package/dist/markdown-autosave.d.ts +13 -0
- package/dist/markdown-autosave.js +94 -0
- package/dist/markdown-editor.d.ts +16 -0
- package/dist/markdown-editor.js +81 -17
- package/dist/markdown-extensions.js +9 -1
- package/dist/markdown-proposal-diff.d.ts +2 -1
- package/dist/markdown-proposal-diff.js +3 -2
- package/dist/markdown-safety.js +3 -1
- package/dist/native-chat.js +1 -1
- package/dist/remote-chat.js +5 -1
- package/dist/text-buffer.js +3 -2
- package/dist/text-draft-controls.d.ts +3 -1
- package/dist/text-draft-controls.js +3 -2
- package/dist/viewer-components.d.ts +14 -0
- package/dist/viewer-components.js +1 -0
- package/package.json +4 -4
- package/r/app-shell.json +46 -21
- package/r/button.json +19 -11
- package/r/dock.json +2 -2
- package/r/documents.json +59 -0
- package/r/feedback-preview.json +8 -2
- package/r/feedback.json +46 -325
- package/r/file-tree.json +14 -6
- package/r/html-viewer.json +8 -42
- package/r/markdown-editor.json +38 -87
- package/r/pi-ambient.json +15 -8
- package/r/pi-app.json +30 -19
- package/r/pi-chat.json +89 -70
- package/r/pi-workspace.json +7 -5
- package/r/provider-setup.json +9 -4
- package/r/registry.json +505 -878
- package/r/task-list-viewer.json +11 -21
- package/r/theme.json +23 -4
- package/r/version-history.json +24 -0
- package/r/viewers.json +139 -320
- package/styles/file-tree.css +41 -42
- package/dist/file-tree-shadcn.d.ts +0 -8
- package/dist/file-tree-shadcn.js +0 -14
package/r/registry.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"name": "theme",
|
|
8
8
|
"type": "registry:theme",
|
|
9
9
|
"title": "Theme",
|
|
10
|
-
"description": "The shadcn tokens every Tailwind item is styled with (neutral base, light and dark) and their Tailwind v4 `@theme inline` bindings. The CLI adds only the tokens the host does not define yet. The examples compile the same values (
|
|
10
|
+
"description": "The shadcn tokens every Tailwind item is styled with (neutral base, light and dark) and their Tailwind v4 `@theme inline` bindings. The CLI adds only the tokens the host does not define yet. The examples compile the same values (lab/studio/tailwind.mjs).",
|
|
11
11
|
"cssVars": {
|
|
12
12
|
"theme": {
|
|
13
13
|
"color-background": "var(--background)",
|
|
@@ -33,7 +33,14 @@
|
|
|
33
33
|
"radius-lg": "var(--radius)",
|
|
34
34
|
"radius-xl": "calc(var(--radius) + 4px)",
|
|
35
35
|
"radius-2xl": "calc(var(--radius) * 1.8)",
|
|
36
|
-
"radius-3xl": "calc(var(--radius) * 2.2)"
|
|
36
|
+
"radius-3xl": "calc(var(--radius) * 2.2)",
|
|
37
|
+
"default-border-width": "var(--border-width, 1px)",
|
|
38
|
+
"shadow-xs": "var(--shadow-xs)",
|
|
39
|
+
"shadow-sm": "var(--shadow-sm)",
|
|
40
|
+
"shadow-md": "var(--shadow-md)",
|
|
41
|
+
"shadow-lg": "var(--shadow-lg)",
|
|
42
|
+
"shadow-xl": "var(--shadow-xl)",
|
|
43
|
+
"shadow-2xl": "var(--shadow-2xl)"
|
|
37
44
|
},
|
|
38
45
|
"light": {
|
|
39
46
|
"radius": "0.75rem",
|
|
@@ -55,7 +62,13 @@
|
|
|
55
62
|
"border": "oklch(0.92 0.004 286.32)",
|
|
56
63
|
"input": "oklch(0.89 0.005 286.32)",
|
|
57
64
|
"ring": "oklch(0.55 0.02 286.067)",
|
|
58
|
-
"shell": "oklch(0.975 0.002 286)"
|
|
65
|
+
"shell": "oklch(0.975 0.002 286)",
|
|
66
|
+
"shadow-xs": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
67
|
+
"shadow-sm": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
68
|
+
"shadow-md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
69
|
+
"shadow-lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
|
|
70
|
+
"shadow-xl": "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
|
|
71
|
+
"shadow-2xl": "0 25px 50px -12px rgb(0 0 0 / 0.25)"
|
|
59
72
|
},
|
|
60
73
|
"dark": {
|
|
61
74
|
"background": "oklch(0.175 0.006 285.885)",
|
|
@@ -76,7 +89,13 @@
|
|
|
76
89
|
"border": "oklch(1 0 0 / 11%)",
|
|
77
90
|
"input": "oklch(1 0 0 / 16%)",
|
|
78
91
|
"ring": "oklch(0.65 0.02 286.067)",
|
|
79
|
-
"shell": "oklch(0.13 0.005 285.823)"
|
|
92
|
+
"shell": "oklch(0.13 0.005 285.823)",
|
|
93
|
+
"shadow-xs": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
94
|
+
"shadow-sm": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
95
|
+
"shadow-md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
96
|
+
"shadow-lg": "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
|
|
97
|
+
"shadow-xl": "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
|
|
98
|
+
"shadow-2xl": "0 25px 50px -12px rgb(0 0 0 / 0.25)"
|
|
80
99
|
}
|
|
81
100
|
}
|
|
82
101
|
},
|
|
@@ -99,26 +118,34 @@
|
|
|
99
118
|
},
|
|
100
119
|
{
|
|
101
120
|
"name": "button",
|
|
102
|
-
"type": "registry:
|
|
103
|
-
"title": "
|
|
104
|
-
"description": "
|
|
121
|
+
"type": "registry:component",
|
|
122
|
+
"title": "Block actions",
|
|
123
|
+
"description": "Host action metadata composed with the consumer’s shadcn Button, Toggle and DropdownMenu.",
|
|
105
124
|
"dependencies": [
|
|
106
125
|
"react@^19.0.0",
|
|
126
|
+
"react-dom@^19.0.0",
|
|
107
127
|
"lucide-react@^1.51.0"
|
|
108
128
|
],
|
|
109
129
|
"registryDependencies": [
|
|
110
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
130
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
131
|
+
"dropdown-menu",
|
|
132
|
+
"button",
|
|
133
|
+
"toggle",
|
|
134
|
+
"input",
|
|
135
|
+
"textarea",
|
|
136
|
+
"card",
|
|
137
|
+
"separator"
|
|
111
138
|
],
|
|
112
139
|
"files": [
|
|
113
|
-
{
|
|
114
|
-
"path": "registry/button/button.tsx",
|
|
115
|
-
"type": "registry:ui",
|
|
116
|
-
"target": "components/button/button.tsx"
|
|
117
|
-
},
|
|
118
140
|
{
|
|
119
141
|
"path": "registry/button/actions.tsx",
|
|
120
142
|
"type": "registry:ui",
|
|
121
143
|
"target": "components/button/actions.tsx"
|
|
144
|
+
},
|
|
145
|
+
{
|
|
146
|
+
"path": "registry/button/editor-controls.tsx",
|
|
147
|
+
"type": "registry:component",
|
|
148
|
+
"target": "components/button/editor-controls.tsx"
|
|
122
149
|
}
|
|
123
150
|
]
|
|
124
151
|
},
|
|
@@ -128,8 +155,8 @@
|
|
|
128
155
|
"title": "Markdown editor",
|
|
129
156
|
"description": "A host-owned styled wrapper over the concrete borrowed Markdown controller.",
|
|
130
157
|
"dependencies": [
|
|
131
|
-
"@hachej/boring-ui-kit@^0.
|
|
132
|
-
"@hachej/boring-files@^0.
|
|
158
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
159
|
+
"@hachej/boring-files@^0.4.0",
|
|
133
160
|
"react@^19.0.0",
|
|
134
161
|
"react-dom@^19.0.0",
|
|
135
162
|
"marked@^17.0.6",
|
|
@@ -155,15 +182,10 @@
|
|
|
155
182
|
],
|
|
156
183
|
"css": {
|
|
157
184
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"]": {
|
|
158
|
-
"background": "var(--boring-editor-background, var(--background, #fff))",
|
|
159
|
-
"color": "var(--boring-editor-foreground, var(--foreground, #111827))",
|
|
160
|
-
"border": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
161
|
-
"border-radius": "var(--boring-editor-radius, var(--radius, 0.75rem))",
|
|
162
185
|
"padding": "1rem",
|
|
163
186
|
"display": "grid",
|
|
164
187
|
"gap": "1rem",
|
|
165
|
-
"min-width": "0"
|
|
166
|
-
"font-family": "inherit"
|
|
188
|
+
"min-width": "0"
|
|
167
189
|
},
|
|
168
190
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] > header": {
|
|
169
191
|
"display": "flex",
|
|
@@ -173,45 +195,24 @@
|
|
|
173
195
|
"gap": "0.75rem"
|
|
174
196
|
},
|
|
175
197
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] > header > strong": {
|
|
176
|
-
"margin": "0"
|
|
177
|
-
"font-size": "1.125rem",
|
|
178
|
-
"font-weight": "600"
|
|
198
|
+
"margin": "0"
|
|
179
199
|
},
|
|
180
200
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [role=\"toolbar\"]": {
|
|
181
201
|
"display": "flex",
|
|
182
|
-
"flex-wrap": "
|
|
202
|
+
"flex-wrap": "nowrap",
|
|
183
203
|
"gap": "0.375rem"
|
|
184
204
|
},
|
|
185
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"]
|
|
186
|
-
"
|
|
187
|
-
"
|
|
188
|
-
"
|
|
189
|
-
"
|
|
190
|
-
"
|
|
191
|
-
"color": "inherit",
|
|
192
|
-
"border": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
193
|
-
"border-radius": "0.375rem",
|
|
194
|
-
"padding": "0.375rem 0.625rem",
|
|
195
|
-
"cursor": "pointer"
|
|
196
|
-
},
|
|
197
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] button[aria-pressed=\"true\"]": {
|
|
198
|
-
"background": "var(--boring-editor-accent, var(--accent, #e5e7eb))",
|
|
199
|
-
"font-weight": "600"
|
|
200
|
-
},
|
|
201
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] button:disabled": {
|
|
202
|
-
"opacity": "0.5",
|
|
203
|
-
"cursor": "not-allowed"
|
|
204
|
-
},
|
|
205
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] button:focus-visible, .boring-markdown-recipe[data-boring=\"markdown-editor\"] textarea:focus-visible": {
|
|
206
|
-
"outline": "2px solid var(--boring-editor-focus, var(--ring, #2563eb))",
|
|
207
|
-
"outline-offset": "2px"
|
|
205
|
+
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-toolbar": {
|
|
206
|
+
"min-width": "0",
|
|
207
|
+
"overflow-x": "auto",
|
|
208
|
+
"scrollbar-width": "none",
|
|
209
|
+
"padding-right": "1.5rem",
|
|
210
|
+
"padding-inline-end": "1.5rem"
|
|
208
211
|
},
|
|
209
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"]
|
|
210
|
-
"
|
|
211
|
-
"color": "var(--boring-editor-muted, var(--muted-foreground, #4b5563))"
|
|
212
|
+
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-toolbar > *": {
|
|
213
|
+
"flex-shrink": "0"
|
|
212
214
|
},
|
|
213
215
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] nav[aria-label=\"Document outline\"]": {
|
|
214
|
-
"border-bottom": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
215
216
|
"padding-bottom": "0.75rem"
|
|
216
217
|
},
|
|
217
218
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] nav ol": {
|
|
@@ -225,28 +226,28 @@
|
|
|
225
226
|
"max-width": "75ch",
|
|
226
227
|
"width": "100%",
|
|
227
228
|
"margin-inline": "auto",
|
|
228
|
-
"line-height": "
|
|
229
|
+
"line-height": "var(--leading-relaxed)",
|
|
229
230
|
"overflow-wrap": "anywhere"
|
|
230
231
|
},
|
|
231
232
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content p": {
|
|
232
233
|
"margin": "0.75rem 0"
|
|
233
234
|
},
|
|
234
235
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h1": {
|
|
235
|
-
"font-size": "
|
|
236
|
-
"line-height": "
|
|
236
|
+
"font-size": "var(--text-3xl)",
|
|
237
|
+
"line-height": "var(--leading-tight)",
|
|
237
238
|
"margin": "1.25rem 0 0.75rem",
|
|
238
|
-
"font-weight": "
|
|
239
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
239
240
|
},
|
|
240
241
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h2": {
|
|
241
|
-
"font-size": "
|
|
242
|
-
"line-height": "
|
|
242
|
+
"font-size": "var(--text-2xl)",
|
|
243
|
+
"line-height": "var(--leading-tight)",
|
|
243
244
|
"margin": "1.25rem 0 0.75rem",
|
|
244
|
-
"font-weight": "
|
|
245
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
245
246
|
},
|
|
246
247
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h3": {
|
|
247
|
-
"font-size": "
|
|
248
|
+
"font-size": "var(--text-xl)",
|
|
248
249
|
"margin": "1rem 0 0.5rem",
|
|
249
|
-
"font-weight": "
|
|
250
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
250
251
|
},
|
|
251
252
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content ul": {
|
|
252
253
|
"list-style": "disc",
|
|
@@ -266,58 +267,37 @@
|
|
|
266
267
|
"align-items": "baseline"
|
|
267
268
|
},
|
|
268
269
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content blockquote": {
|
|
269
|
-
"border-left": "
|
|
270
|
+
"border-left": "var(--default-border-width) solid var(--border)",
|
|
270
271
|
"padding-left": "1rem",
|
|
271
272
|
"margin-inline": "0",
|
|
272
|
-
"color": "var(--
|
|
273
|
+
"color": "var(--muted-foreground)"
|
|
273
274
|
},
|
|
274
275
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content pre, .boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal\"] pre": {
|
|
275
276
|
"overflow-x": "auto",
|
|
276
|
-
"background": "var(--
|
|
277
|
-
"border-radius": "
|
|
277
|
+
"background": "var(--muted)",
|
|
278
|
+
"border-radius": "var(--radius-md)",
|
|
278
279
|
"padding": "0.75rem",
|
|
279
|
-
"font-family": "
|
|
280
|
+
"font-family": "var(--font-mono)"
|
|
280
281
|
},
|
|
281
282
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content code": {
|
|
282
|
-
"font-family": "
|
|
283
|
-
"font-size": "
|
|
283
|
+
"font-family": "var(--font-mono)",
|
|
284
|
+
"font-size": "var(--text-sm)"
|
|
284
285
|
},
|
|
285
286
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] > textarea": {
|
|
286
287
|
"width": "100%",
|
|
287
|
-
"
|
|
288
|
-
"resize": "vertical",
|
|
289
|
-
"font-family": "ui-monospace, monospace",
|
|
290
|
-
"font-size": "0.875rem",
|
|
291
|
-
"line-height": "1.6",
|
|
292
|
-
"padding": "0.75rem",
|
|
293
|
-
"background": "inherit",
|
|
294
|
-
"color": "inherit",
|
|
295
|
-
"border": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
296
|
-
"border-radius": "0.375rem",
|
|
297
|
-
"box-sizing": "border-box"
|
|
288
|
+
"resize": "vertical"
|
|
298
289
|
},
|
|
299
290
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [role=\"alert\"]": {
|
|
300
|
-
"border-left": "3px solid var(--boring-editor-danger, var(--destructive, #b91c1c))",
|
|
301
291
|
"padding": "0.75rem",
|
|
302
292
|
"overflow-wrap": "anywhere"
|
|
303
293
|
},
|
|
304
294
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal\"]": {
|
|
305
|
-
"
|
|
306
|
-
"padding": "0.75rem",
|
|
307
|
-
"border-radius": "0.375rem"
|
|
295
|
+
"padding": "0.75rem"
|
|
308
296
|
},
|
|
309
297
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal\"] summary": {
|
|
310
|
-
"cursor": "pointer"
|
|
311
|
-
"font-weight": "600"
|
|
312
|
-
},
|
|
313
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content:focus-visible": {
|
|
314
|
-
"outline": "2px solid var(--boring-editor-focus, var(--ring, #2563eb))",
|
|
315
|
-
"outline-offset": "2px"
|
|
298
|
+
"cursor": "pointer"
|
|
316
299
|
},
|
|
317
300
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal-diff\"]": {
|
|
318
|
-
"font-family": "ui-monospace, monospace",
|
|
319
|
-
"font-size": "0.875rem",
|
|
320
|
-
"line-height": "1.5",
|
|
321
301
|
"overflow-x": "auto"
|
|
322
302
|
},
|
|
323
303
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-diff]": {
|
|
@@ -325,16 +305,14 @@
|
|
|
325
305
|
"overflow-wrap": "anywhere",
|
|
326
306
|
"padding": "0.125rem 0.375rem"
|
|
327
307
|
},
|
|
328
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"]
|
|
329
|
-
"
|
|
330
|
-
"color": "var(--boring-editor-diff-add-foreground, #065f46)"
|
|
331
|
-
},
|
|
332
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-diff=\"remove\"]": {
|
|
333
|
-
"background": "var(--boring-editor-diff-remove-background, #fff1f2)",
|
|
334
|
-
"color": "var(--boring-editor-diff-remove-foreground, #9f1239)"
|
|
308
|
+
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content:focus": {
|
|
309
|
+
"outline": "none"
|
|
335
310
|
}
|
|
336
311
|
},
|
|
337
|
-
"docs": "Create and own a MarkdownController from @hachej/boring-ui-kit/markdown. Pass it to MarkdownEditor. The wrapper does not acquire resources or dispose the controller. Check the repository release notes for available npm versions; local tarball tests do not establish registry availability."
|
|
312
|
+
"docs": "Create and own a MarkdownController from @hachej/boring-ui-kit/markdown. Pass it to MarkdownEditor. The wrapper does not acquire resources or dispose the controller. Check the repository release notes for available npm versions; local tarball tests do not establish registry availability.",
|
|
313
|
+
"registryDependencies": [
|
|
314
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json"
|
|
315
|
+
]
|
|
338
316
|
},
|
|
339
317
|
{
|
|
340
318
|
"name": "html-viewer",
|
|
@@ -342,8 +320,8 @@
|
|
|
342
320
|
"title": "HTML source and passive preview",
|
|
343
321
|
"description": "Exact HTML source editing with a reconstructed passive preview and borrowed controller. Browser security qualification remains separate.",
|
|
344
322
|
"dependencies": [
|
|
345
|
-
"@hachej/boring-ui-kit@^0.
|
|
346
|
-
"@hachej/boring-files@^0.
|
|
323
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
324
|
+
"@hachej/boring-files@^0.4.0",
|
|
347
325
|
"react@^19.0.0",
|
|
348
326
|
"react-dom@^19.0.0"
|
|
349
327
|
],
|
|
@@ -356,15 +334,10 @@
|
|
|
356
334
|
],
|
|
357
335
|
"css": {
|
|
358
336
|
".boring-html-recipe[data-boring=\"html-viewer\"]": {
|
|
359
|
-
"background": "var(--boring-html-background, var(--background, #fff))",
|
|
360
|
-
"color": "var(--boring-html-foreground, var(--foreground, #111827))",
|
|
361
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
362
|
-
"border-radius": "var(--boring-html-radius, var(--radius, 0.75rem))",
|
|
363
337
|
"padding": "1rem",
|
|
364
338
|
"display": "grid",
|
|
365
339
|
"gap": "0.75rem",
|
|
366
|
-
"min-width": "0"
|
|
367
|
-
"font-family": "inherit"
|
|
340
|
+
"min-width": "0"
|
|
368
341
|
},
|
|
369
342
|
".boring-html-recipe[data-boring=\"html-viewer\"] > header": {
|
|
370
343
|
"display": "flex",
|
|
@@ -378,55 +351,26 @@
|
|
|
378
351
|
"flex-wrap": "wrap",
|
|
379
352
|
"gap": "0.375rem"
|
|
380
353
|
},
|
|
381
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button": {
|
|
382
|
-
"font": "inherit",
|
|
383
|
-
"background": "var(--boring-html-background, var(--background, #fff))",
|
|
384
|
-
"color": "var(--boring-html-foreground, var(--foreground, #111827))",
|
|
385
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
386
|
-
"border-radius": "0.375rem",
|
|
387
|
-
"padding": "0.375rem 0.625rem",
|
|
388
|
-
"cursor": "pointer"
|
|
389
|
-
},
|
|
390
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button[aria-pressed=\"true\"]": {
|
|
391
|
-
"font-weight": "700",
|
|
392
|
-
"text-decoration": "underline"
|
|
393
|
-
},
|
|
394
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button:disabled": {
|
|
395
|
-
"opacity": "0.5",
|
|
396
|
-
"cursor": "not-allowed"
|
|
397
|
-
},
|
|
398
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button:focus-visible, .boring-html-recipe[data-boring=\"html-viewer\"] textarea:focus-visible": {
|
|
399
|
-
"outline": "2px solid var(--boring-html-focus, var(--ring, #2563eb))",
|
|
400
|
-
"outline-offset": "2px"
|
|
401
|
-
},
|
|
402
354
|
".boring-html-recipe[data-boring=\"html-viewer\"] .boring-html-viewer__source": {
|
|
403
355
|
"box-sizing": "border-box",
|
|
404
356
|
"width": "100%",
|
|
405
357
|
"min-height": "18rem",
|
|
406
|
-
"font-family": "monospace",
|
|
407
|
-
"line-height": "1.5",
|
|
408
|
-
"background": "var(--boring-html-background, var(--background, #fff))",
|
|
409
|
-
"color": "var(--boring-html-foreground, var(--foreground, #111827))",
|
|
410
358
|
"padding": "0.75rem",
|
|
411
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
412
|
-
"border-radius": "0.375rem",
|
|
413
359
|
"resize": "vertical"
|
|
414
360
|
},
|
|
415
361
|
".boring-html-recipe[data-boring=\"html-viewer\"] .boring-html-viewer__frame": {
|
|
416
362
|
"box-sizing": "border-box",
|
|
417
363
|
"width": "100%",
|
|
418
|
-
"min-height": "18rem"
|
|
419
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
420
|
-
"border-radius": "0.375rem"
|
|
421
|
-
},
|
|
422
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] [role=\"status\"]": {
|
|
423
|
-
"font-size": "0.875rem"
|
|
364
|
+
"min-height": "18rem"
|
|
424
365
|
},
|
|
425
366
|
".boring-html-recipe[data-boring=\"html-viewer\"] [role=\"alert\"]": {
|
|
426
367
|
"border-inline-start": "0.25rem solid currentColor",
|
|
427
368
|
"padding-inline-start": "0.75rem"
|
|
428
369
|
}
|
|
429
|
-
}
|
|
370
|
+
},
|
|
371
|
+
"registryDependencies": [
|
|
372
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json"
|
|
373
|
+
]
|
|
430
374
|
},
|
|
431
375
|
{
|
|
432
376
|
"name": "pi-chat",
|
|
@@ -434,22 +378,51 @@
|
|
|
434
378
|
"title": "Pi chat",
|
|
435
379
|
"description": "A complete Tailwind chat over the borrowed native chat controller: composer, messages, one collapsible activity block per turn (tool calls and reasoning), message queue, history, a human-in-the-loop question card, an Approve / Deny card for host tools wrapped with requireApproval optional artifact cards that open generated content in the host's panel, and feedback cards for the opt-in feedback tool (lists, and Show offers that the host page resolves). Chat only: no layout. Owned, editable source; no AI SDK. The optional pi-ambient and pi-workspace blocks build on it.",
|
|
436
380
|
"dependencies": [
|
|
437
|
-
"@hachej/boring-ui-kit@^0.
|
|
438
|
-
"@hachej/boring-files@^0.
|
|
381
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
382
|
+
"@hachej/boring-files@^0.4.0",
|
|
439
383
|
"react@^19.0.0",
|
|
440
384
|
"react-dom@^19.0.0",
|
|
441
385
|
"marked@^17.0.6",
|
|
442
386
|
"entities@^8.1.0",
|
|
387
|
+
"@base-ui/react@1.9.0",
|
|
443
388
|
"@earendil-works/pi-durable@~1.2.0",
|
|
444
389
|
"@earendil-works/chord@~1.2.0",
|
|
445
390
|
"@earendil-works/pi-ai@~1.2.0",
|
|
446
|
-
"@modelcontextprotocol/sdk@^1.32.
|
|
391
|
+
"@modelcontextprotocol/sdk@^1.32.1",
|
|
447
392
|
"lucide-react@^1.51.0",
|
|
448
|
-
"
|
|
393
|
+
"@shadcn/react@0.3.1"
|
|
449
394
|
],
|
|
450
395
|
"registryDependencies": [
|
|
451
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
452
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
396
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
397
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json",
|
|
398
|
+
"trace",
|
|
399
|
+
"message",
|
|
400
|
+
"message-scroller",
|
|
401
|
+
"bubble",
|
|
402
|
+
"attachment",
|
|
403
|
+
"badge",
|
|
404
|
+
"alert",
|
|
405
|
+
"checkbox",
|
|
406
|
+
"table",
|
|
407
|
+
"card",
|
|
408
|
+
"spinner",
|
|
409
|
+
"collapsible",
|
|
410
|
+
"drawer",
|
|
411
|
+
"button",
|
|
412
|
+
"toggle",
|
|
413
|
+
"dropdown-menu",
|
|
414
|
+
"empty",
|
|
415
|
+
"input",
|
|
416
|
+
"input-group",
|
|
417
|
+
"popover",
|
|
418
|
+
"scroll-area",
|
|
419
|
+
"separator",
|
|
420
|
+
"sidebar",
|
|
421
|
+
"badge",
|
|
422
|
+
"item",
|
|
423
|
+
"drawer",
|
|
424
|
+
"alert",
|
|
425
|
+
"avatar"
|
|
453
426
|
],
|
|
454
427
|
"files": [
|
|
455
428
|
{
|
|
@@ -482,6 +455,11 @@
|
|
|
482
455
|
"type": "registry:component",
|
|
483
456
|
"target": "components/pi-chat/composer.tsx"
|
|
484
457
|
},
|
|
458
|
+
{
|
|
459
|
+
"path": "registry/pi-chat/conversation-files.tsx",
|
|
460
|
+
"type": "registry:component",
|
|
461
|
+
"target": "components/pi-chat/conversation-files.tsx"
|
|
462
|
+
},
|
|
485
463
|
{
|
|
486
464
|
"path": "registry/pi-chat/config.ts",
|
|
487
465
|
"type": "registry:lib",
|
|
@@ -598,7 +576,10 @@
|
|
|
598
576
|
".pi-chat, .pi-chat *, .pi-chat *::before, .pi-chat *::after": {
|
|
599
577
|
"box-sizing": "border-box"
|
|
600
578
|
},
|
|
601
|
-
".pi-chat :where(
|
|
579
|
+
".pi-chat :where(*), .pi-chat :where(*)::before, .pi-chat :where(*)::after": {
|
|
580
|
+
"border-color": "var(--border)"
|
|
581
|
+
},
|
|
582
|
+
".pi-chat :where(button, input, textarea, select)": {
|
|
602
583
|
"font": "inherit",
|
|
603
584
|
"color": "inherit",
|
|
604
585
|
"letter-spacing": "inherit"
|
|
@@ -613,6 +594,22 @@
|
|
|
613
594
|
},
|
|
614
595
|
".pi-chat [hidden]": {
|
|
615
596
|
"display": "none"
|
|
597
|
+
},
|
|
598
|
+
".pi-chat :where([data-slot=\"empty\"])": {
|
|
599
|
+
"border-width": "0"
|
|
600
|
+
},
|
|
601
|
+
".pi-chat :where([data-slot=\"sidebar-menu\"], [data-slot=\"sidebar-menu-sub\"])": {
|
|
602
|
+
"margin": "0",
|
|
603
|
+
"padding": "0",
|
|
604
|
+
"list-style": "none"
|
|
605
|
+
}
|
|
606
|
+
},
|
|
607
|
+
"@layer utilities": {
|
|
608
|
+
"@media (max-width: 640px), (pointer: coarse)": {
|
|
609
|
+
".pi-chat :is([data-slot=\"button\"], [data-slot=\"toggle\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
|
|
610
|
+
"min-height": "2.75rem",
|
|
611
|
+
"min-width": "2.75rem"
|
|
612
|
+
}
|
|
616
613
|
}
|
|
617
614
|
},
|
|
618
615
|
"@layer components": {
|
|
@@ -621,49 +618,14 @@
|
|
|
621
618
|
"--chat-warning": "var(--warning, var(--muted-foreground))",
|
|
622
619
|
"--chat-warning-soft": "var(--warning-soft, color-mix(in oklab, var(--chat-warning) 15%, var(--background)))",
|
|
623
620
|
"--chat-warning-soft-foreground": "var(--warning-soft-foreground, color-mix(in oklab, var(--chat-warning) 75%, var(--foreground)))",
|
|
624
|
-
"--chat-display": "var(--font-display, var(--font-sans))"
|
|
621
|
+
"--chat-display": "var(--font-display, var(--font-sans))",
|
|
622
|
+
"--chat-composer-radius": "26px",
|
|
623
|
+
"--chat-send-radius": "9999px",
|
|
624
|
+
"--chat-sheet-duration": "200ms"
|
|
625
625
|
},
|
|
626
626
|
".pi-chat:is(.dark, .dark *)": {
|
|
627
627
|
"--chat-warning-soft": "var(--warning-soft, color-mix(in oklab, var(--chat-warning) 26%, var(--background)))",
|
|
628
628
|
"--chat-warning-soft-foreground": "var(--warning-soft-foreground, color-mix(in oklab, var(--chat-warning) 55%, var(--foreground)))"
|
|
629
|
-
},
|
|
630
|
-
".pi-chat-shimmer": {
|
|
631
|
-
"background-image": "linear-gradient(100deg, var(--muted-foreground) 35%, var(--foreground) 50%, var(--muted-foreground) 65%)",
|
|
632
|
-
"background-size": "250% 100%",
|
|
633
|
-
"background-clip": "text",
|
|
634
|
-
"-webkit-background-clip": "text",
|
|
635
|
-
"color": "transparent",
|
|
636
|
-
"animation": "pi-chat-shimmer 2.2s linear infinite"
|
|
637
|
-
},
|
|
638
|
-
".pi-chat [data-testid=\"message-text\"][data-streaming=\"true\"] > :last-child:not([data-testid=\"code-block\"])::after": {
|
|
639
|
-
"content": "\"\"",
|
|
640
|
-
"display": "inline-block",
|
|
641
|
-
"width": "0.45em",
|
|
642
|
-
"height": "1.05em",
|
|
643
|
-
"margin-inline-start": "0.2em",
|
|
644
|
-
"vertical-align": "-0.15em",
|
|
645
|
-
"border-radius": "2px",
|
|
646
|
-
"background": "color-mix(in oklab, var(--foreground) 60%, transparent)",
|
|
647
|
-
"animation": "pi-chat-caret 1s steps(2, jump-none) infinite"
|
|
648
|
-
}
|
|
649
|
-
},
|
|
650
|
-
"@keyframes pi-chat-shimmer": {
|
|
651
|
-
"from": {
|
|
652
|
-
"background-position": "100% 0"
|
|
653
|
-
},
|
|
654
|
-
"to": {
|
|
655
|
-
"background-position": "0 0"
|
|
656
|
-
}
|
|
657
|
-
},
|
|
658
|
-
"@keyframes pi-chat-caret": {
|
|
659
|
-
"0%": {
|
|
660
|
-
"opacity": "1"
|
|
661
|
-
},
|
|
662
|
-
"50%": {
|
|
663
|
-
"opacity": "0.15"
|
|
664
|
-
},
|
|
665
|
-
"100%": {
|
|
666
|
-
"opacity": "1"
|
|
667
629
|
}
|
|
668
630
|
}
|
|
669
631
|
}
|
|
@@ -674,7 +636,7 @@
|
|
|
674
636
|
"title": "Pi ambient agent",
|
|
675
637
|
"description": "AmbientChat, a compact floating agent bar that grows into a chat window over an existing page, and AgentNotifications, toasts for finished, failed and waiting tasks (with the one guarded browser Notification helper). A block over the pi-chat item; its in-window artifact panel uses the pi-workspace layout.",
|
|
676
638
|
"dependencies": [
|
|
677
|
-
"@hachej/boring-ui-kit@^0.
|
|
639
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
678
640
|
"react@^19.0.0",
|
|
679
641
|
"react-dom@^19.0.0",
|
|
680
642
|
"@earendil-works/pi-durable@~1.2.0",
|
|
@@ -682,11 +644,18 @@
|
|
|
682
644
|
"lucide-react@^1.51.0"
|
|
683
645
|
],
|
|
684
646
|
"registryDependencies": [
|
|
685
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
686
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
687
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
688
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
689
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
647
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
648
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-chat.json",
|
|
649
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-workspace.json",
|
|
650
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
651
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json",
|
|
652
|
+
"message-scroller",
|
|
653
|
+
"button",
|
|
654
|
+
"toggle",
|
|
655
|
+
"avatar",
|
|
656
|
+
"badge",
|
|
657
|
+
"card",
|
|
658
|
+
"separator"
|
|
690
659
|
],
|
|
691
660
|
"files": [
|
|
692
661
|
{
|
|
@@ -715,7 +684,7 @@
|
|
|
715
684
|
"react@^19.0.0"
|
|
716
685
|
],
|
|
717
686
|
"registryDependencies": [
|
|
718
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
687
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json"
|
|
719
688
|
],
|
|
720
689
|
"files": [
|
|
721
690
|
{
|
|
@@ -735,10 +704,12 @@
|
|
|
735
704
|
"react-dom@^19.0.0"
|
|
736
705
|
],
|
|
737
706
|
"registryDependencies": [
|
|
738
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
739
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
740
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
741
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
707
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
708
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-chat.json",
|
|
709
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
710
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/dock.json",
|
|
711
|
+
"badge",
|
|
712
|
+
"card"
|
|
742
713
|
],
|
|
743
714
|
"files": [
|
|
744
715
|
{
|
|
@@ -759,20 +730,25 @@
|
|
|
759
730
|
"title": "Pi agent app",
|
|
760
731
|
"description": "AgentWorkspace: a whole agent page in one component. Left: the sessions pane (search, New, rename, archive, delete; collapsible, a drawer on a narrow screen). Center: PiChat. Right: the artifact viewers (artifact panel with versions, file viewer, auto-open of new artifacts) in the ArtifactWorkspace panel, a full-screen sheet on a phone. Props are data and callbacks; hooks for the conversations handler (useConversations), the chat transport (useRemoteChat) and saved resources (useSaved).",
|
|
761
732
|
"dependencies": [
|
|
762
|
-
"@hachej/boring-ui-kit@^0.
|
|
763
|
-
"@hachej/boring-files@^0.
|
|
733
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
734
|
+
"@hachej/boring-files@^0.4.0",
|
|
764
735
|
"react@^19.0.0",
|
|
765
736
|
"react-dom@^19.0.0",
|
|
766
|
-
"lucide-react@^1.51.0"
|
|
767
|
-
"radix-ui@^1.8.0"
|
|
737
|
+
"lucide-react@^1.51.0"
|
|
768
738
|
],
|
|
769
739
|
"registryDependencies": [
|
|
770
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
771
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
772
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
773
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
774
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
775
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
740
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
741
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-chat.json",
|
|
742
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-workspace.json",
|
|
743
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/viewers.json",
|
|
744
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
745
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json",
|
|
746
|
+
"drawer",
|
|
747
|
+
"button",
|
|
748
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/file-tree.json",
|
|
749
|
+
"dropdown-menu",
|
|
750
|
+
"scroll-area",
|
|
751
|
+
"separator"
|
|
776
752
|
],
|
|
777
753
|
"files": [
|
|
778
754
|
{
|
|
@@ -785,6 +761,11 @@
|
|
|
785
761
|
"type": "registry:component",
|
|
786
762
|
"target": "components/pi-app/sessions.tsx"
|
|
787
763
|
},
|
|
764
|
+
{
|
|
765
|
+
"path": "registry/pi-app/history-column.tsx",
|
|
766
|
+
"type": "registry:component",
|
|
767
|
+
"target": "components/pi-app/history-column.tsx"
|
|
768
|
+
},
|
|
788
769
|
{
|
|
789
770
|
"path": "registry/pi-app/artifact-panel.tsx",
|
|
790
771
|
"type": "registry:component",
|
|
@@ -846,25 +827,30 @@
|
|
|
846
827
|
"name": "app-shell",
|
|
847
828
|
"type": "registry:block",
|
|
848
829
|
"title": "App shell: layouts, list/detail and agent layer",
|
|
849
|
-
"description": "AppShell with three layouts. B \"workspace\" puts a ListDetail on a screen (phone: the list, then the detail as a stack step with Back; wide: a 20rem list and the detail side by side, sidebar as an icon rail). C \"chat\" wraps the app's own AgentWorkspace (untouched, passed as the nav item's render; install the pi-app item yourself) in the same sidebar, account menu and header; it takes no shell agent. A \"screen\": one screen at a time, every screen kept mounted. On a phone bottom tabs (at most four; more give three plus a « Plus » sheet) and an avatar button that opens the account sheet; on a wide screen the shadcn sidebar (icon rail, NavUser). One header per screen through useScreenHeader (title, subtitle, back, up to two actions, the rest behind « … »). The account menu holds « Améliorer l'app » (the improve agent), the app's own entries and sign out. AppSheet is the one bottom sheet (one open at a time, Back closes it). It mounts the AgentLayer: one agent's PiChat above the app (phone: a drawer with peek, half and full snap points; wide: a right panel), the improve agent in the same layer, optional push-to-talk and point mode. Also useAgentContext and readAgentContext (the screen on show travels as `context` with each submit) and useBackLayer, the one Back manager. Built on
|
|
830
|
+
"description": "AppShell with three layouts. B \"workspace\" puts a ListDetail on a screen (phone: the list, then the detail as a stack step with Back; wide: a 20rem list and the detail side by side, sidebar as an icon rail). C \"chat\" wraps the app's own AgentWorkspace (untouched, passed as the nav item's render; install the pi-app item yourself) in the same sidebar, account menu and header; it takes no shell agent. A \"screen\": one screen at a time, every screen kept mounted. On a phone bottom tabs (at most four; more give three plus a « Plus » sheet) and an avatar button that opens the account sheet; on a wide screen the shadcn sidebar (icon rail, NavUser). One header per screen through useScreenHeader (title, subtitle, back, up to two actions, the rest behind « … »). The account menu holds « Améliorer l'app » (the improve agent), the app's own entries and sign out. AppSheet is the one bottom sheet (one open at a time, Back closes it). It mounts the AgentLayer: one agent's PiChat above the app (phone: a drawer with peek, half and full snap points; wide: a right panel), the improve agent in the same layer, optional push-to-talk and point mode. Also useAgentContext and readAgentContext (the screen on show travels as `context` with each submit) and useBackLayer, the one Back manager. Built on explicitly pinned Base UI drawer and dropdown-menu recipes, plus the sidebar and avatar of the host's own shadcn style.",
|
|
850
831
|
"dependencies": [
|
|
851
|
-
"@hachej/boring-feedback@^0.
|
|
852
|
-
"@hachej/boring-ui-kit@^0.
|
|
853
|
-
"@base-ui/react@^1.
|
|
832
|
+
"@hachej/boring-feedback@^0.4.0",
|
|
833
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
834
|
+
"@base-ui/react@^1.9.0",
|
|
854
835
|
"react@^19.0.0",
|
|
855
836
|
"react-dom@^19.0.0",
|
|
856
837
|
"lucide-react@^1.51.0"
|
|
857
838
|
],
|
|
858
839
|
"registryDependencies": [
|
|
859
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
860
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
861
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
862
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
863
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
840
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-chat.json",
|
|
841
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/dock.json",
|
|
842
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/feedback.json",
|
|
843
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
844
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json",
|
|
864
845
|
"drawer",
|
|
865
846
|
"sidebar",
|
|
866
847
|
"avatar",
|
|
867
|
-
"dropdown-menu"
|
|
848
|
+
"dropdown-menu",
|
|
849
|
+
"button",
|
|
850
|
+
"switch",
|
|
851
|
+
"badge",
|
|
852
|
+
"card",
|
|
853
|
+
"separator"
|
|
868
854
|
],
|
|
869
855
|
"css": {
|
|
870
856
|
"@layer base": {
|
|
@@ -881,6 +867,14 @@
|
|
|
881
867
|
"margin": "0",
|
|
882
868
|
"font": "inherit"
|
|
883
869
|
}
|
|
870
|
+
},
|
|
871
|
+
"@layer utilities": {
|
|
872
|
+
"@media (max-width: 640px), (pointer: coarse)": {
|
|
873
|
+
".app-shell :is([data-slot=\"button\"], [data-slot=\"toggle\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
|
|
874
|
+
"min-height": "2.75rem",
|
|
875
|
+
"min-width": "2.75rem"
|
|
876
|
+
}
|
|
877
|
+
}
|
|
884
878
|
}
|
|
885
879
|
},
|
|
886
880
|
"files": [
|
|
@@ -904,6 +898,11 @@
|
|
|
904
898
|
"type": "registry:hook",
|
|
905
899
|
"target": "components/app-shell/use-visual-viewport.ts"
|
|
906
900
|
},
|
|
901
|
+
{
|
|
902
|
+
"path": "registry/app-shell/shell-layer.ts",
|
|
903
|
+
"type": "registry:lib",
|
|
904
|
+
"target": "components/app-shell/shell-layer.ts"
|
|
905
|
+
},
|
|
907
906
|
{
|
|
908
907
|
"path": "registry/app-shell/text.ts",
|
|
909
908
|
"type": "registry:lib",
|
|
@@ -940,9 +939,14 @@
|
|
|
940
939
|
"target": "components/app-shell/account.tsx"
|
|
941
940
|
},
|
|
942
941
|
{
|
|
943
|
-
"path": "registry/app-shell/sheet.tsx",
|
|
942
|
+
"path": "registry/app-shell/app-sheet.tsx",
|
|
944
943
|
"type": "registry:component",
|
|
945
|
-
"target": "components/app-shell/sheet.tsx"
|
|
944
|
+
"target": "components/app-shell/app-sheet.tsx"
|
|
945
|
+
},
|
|
946
|
+
{
|
|
947
|
+
"path": "registry/app-shell/use-exclusive-sheet.ts",
|
|
948
|
+
"type": "registry:hook",
|
|
949
|
+
"target": "components/app-shell/use-exclusive-sheet.ts"
|
|
946
950
|
},
|
|
947
951
|
{
|
|
948
952
|
"path": "registry/app-shell/compact.ts",
|
|
@@ -962,8 +966,8 @@
|
|
|
962
966
|
"title": "Viewers",
|
|
963
967
|
"description": "The standard viewer top bar (title, status, viewer controls, Refresh, Share, Copy, Download, Open in new tab, Close, overflow menu) with Tailwind panes over it: the Markdown editor with a formatting toolbar and prose styling, the passive HTML preview and source editor, an image viewer with zoom and pan, and a PDF viewer. Owned, editable source over the borrowed controllers; no AI SDK.",
|
|
964
968
|
"dependencies": [
|
|
965
|
-
"@hachej/boring-ui-kit@^0.
|
|
966
|
-
"@hachej/boring-files@^0.
|
|
969
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
970
|
+
"@hachej/boring-files@^0.4.0",
|
|
967
971
|
"react@^19.0.0",
|
|
968
972
|
"react-dom@^19.0.0",
|
|
969
973
|
"marked@^17.0.6",
|
|
@@ -979,12 +983,21 @@
|
|
|
979
983
|
"@tiptap/extension-highlight@^3.31.4",
|
|
980
984
|
"@tiptap/extension-bubble-menu@^3.31.4",
|
|
981
985
|
"@tiptap/extension-floating-menu@^3.31.4",
|
|
982
|
-
"lucide-react@^1.51.0"
|
|
986
|
+
"lucide-react@^1.51.0",
|
|
987
|
+
"pdfjs-dist@6.3.289"
|
|
983
988
|
],
|
|
984
989
|
"registryDependencies": [
|
|
985
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
986
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
987
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
990
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
991
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
992
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json",
|
|
993
|
+
"button",
|
|
994
|
+
"toggle",
|
|
995
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/version-history.json",
|
|
996
|
+
"toggle-group",
|
|
997
|
+
"dialog",
|
|
998
|
+
"textarea",
|
|
999
|
+
"badge",
|
|
1000
|
+
"dropdown-menu"
|
|
988
1001
|
],
|
|
989
1002
|
"files": [
|
|
990
1003
|
{
|
|
@@ -1027,6 +1040,11 @@
|
|
|
1027
1040
|
"type": "registry:component",
|
|
1028
1041
|
"target": "components/viewers/pdf-pane.tsx"
|
|
1029
1042
|
},
|
|
1043
|
+
{
|
|
1044
|
+
"path": "registry/viewers/pdf-pages.tsx",
|
|
1045
|
+
"type": "registry:component",
|
|
1046
|
+
"target": "components/viewers/pdf-pages.tsx"
|
|
1047
|
+
},
|
|
1030
1048
|
{
|
|
1031
1049
|
"path": "registry/viewers/share.ts",
|
|
1032
1050
|
"type": "registry:lib",
|
|
@@ -1049,29 +1067,20 @@
|
|
|
1049
1067
|
}
|
|
1050
1068
|
],
|
|
1051
1069
|
"css": {
|
|
1052
|
-
"@layer
|
|
1053
|
-
"
|
|
1054
|
-
"
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
"
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
"background-color": "transparent",
|
|
1063
|
-
"border": "0",
|
|
1064
|
-
"padding": "0"
|
|
1065
|
-
},
|
|
1066
|
-
".boring-viewer :where(textarea, input)": {
|
|
1067
|
-
"margin": "0"
|
|
1068
|
-
},
|
|
1069
|
-
".boring-viewer [hidden]": {
|
|
1070
|
-
"display": "none"
|
|
1070
|
+
"@layer utilities": {
|
|
1071
|
+
"@media (max-width: 640px), (pointer: coarse)": {
|
|
1072
|
+
".boring-viewer :is([data-slot=\"button\"], [data-slot=\"toggle\"], [data-slot=\"toggle-group-item\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
|
|
1073
|
+
"min-height": "2.75rem",
|
|
1074
|
+
"min-width": "2.75rem"
|
|
1075
|
+
},
|
|
1076
|
+
".boring-viewer.boring-markdown-bubble :is([data-slot=\"button\"], [data-slot=\"toggle\"])": {
|
|
1077
|
+
"min-height": "2.75rem",
|
|
1078
|
+
"min-width": "2.75rem"
|
|
1079
|
+
}
|
|
1071
1080
|
}
|
|
1072
1081
|
},
|
|
1073
1082
|
"@layer components": {
|
|
1074
|
-
".boring-viewer .boring-markdown-editor": {
|
|
1083
|
+
".boring-viewer .boring-markdown-editor, .boring-viewer .boring-html-pane": {
|
|
1075
1084
|
"display": "flex",
|
|
1076
1085
|
"flex-direction": "column",
|
|
1077
1086
|
"flex": "1 1 auto",
|
|
@@ -1082,156 +1091,60 @@
|
|
|
1082
1091
|
".boring-viewer .boring-markdown-surface": {
|
|
1083
1092
|
"flex": "1 1 auto",
|
|
1084
1093
|
"min-height": "0",
|
|
1085
|
-
"overflow": "auto"
|
|
1086
|
-
"scrollbar-width": "thin",
|
|
1087
|
-
"scrollbar-color": "color-mix(in oklab, var(--foreground) 22%, transparent) transparent"
|
|
1094
|
+
"overflow": "auto"
|
|
1088
1095
|
},
|
|
1089
|
-
".boring-viewer .boring-markdown-
|
|
1090
|
-
"box-shadow": "inset 0 0 0 1px color-mix(in oklab, var(--ring) 55%, transparent)"
|
|
1091
|
-
},
|
|
1092
|
-
".boring-viewer .boring-markdown-toolbar": {
|
|
1096
|
+
".boring-viewer .boring-markdown-toolbar, .boring-viewer.boring-markdown-bubble": {
|
|
1093
1097
|
"display": "flex",
|
|
1094
1098
|
"flex": "none",
|
|
1095
1099
|
"align-items": "center",
|
|
1096
|
-
"gap": "0.
|
|
1097
|
-
"
|
|
1098
|
-
|
|
1099
|
-
|
|
1100
|
+
"gap": "0.25rem",
|
|
1101
|
+
"max-width": "calc(100vw - 24px)"
|
|
1102
|
+
},
|
|
1103
|
+
".boring-viewer .boring-markdown-toolbar": {
|
|
1104
|
+
"padding": "0.375rem 1.5rem 0.375rem 0.75rem",
|
|
1100
1105
|
"overflow-x": "auto",
|
|
1101
|
-
"scrollbar-width": "none"
|
|
1106
|
+
"scrollbar-width": "none",
|
|
1107
|
+
"mask-image": "linear-gradient(to right, black calc(100% - 2rem), transparent)"
|
|
1102
1108
|
},
|
|
1103
1109
|
".boring-viewer .boring-markdown-toolbar::-webkit-scrollbar": {
|
|
1104
1110
|
"display": "none"
|
|
1105
1111
|
},
|
|
1106
1112
|
".boring-viewer .boring-markdown-tool": {
|
|
1107
|
-
"
|
|
1108
|
-
"flex": "none",
|
|
1109
|
-
"align-items": "center",
|
|
1110
|
-
"justify-content": "center",
|
|
1111
|
-
"width": "2rem",
|
|
1112
|
-
"height": "2rem",
|
|
1113
|
-
"border-radius": "0.375rem",
|
|
1114
|
-
"color": "var(--muted-foreground)",
|
|
1115
|
-
"cursor": "pointer",
|
|
1116
|
-
"transition": "background-color 0.12s, color 0.12s"
|
|
1117
|
-
},
|
|
1118
|
-
".boring-viewer .boring-markdown-tool:hover:not(:disabled)": {
|
|
1119
|
-
"background": "var(--muted)",
|
|
1120
|
-
"color": "var(--foreground)"
|
|
1121
|
-
},
|
|
1122
|
-
".boring-viewer .boring-markdown-tool[aria-pressed=\"true\"]": {
|
|
1123
|
-
"background": "color-mix(in oklab, var(--primary) 12%, transparent)",
|
|
1124
|
-
"color": "var(--foreground)",
|
|
1125
|
-
"box-shadow": "inset 0 0 0 1px color-mix(in oklab, var(--primary) 22%, transparent)"
|
|
1126
|
-
},
|
|
1127
|
-
".boring-viewer .boring-markdown-tool:disabled": {
|
|
1128
|
-
"opacity": "0.4",
|
|
1129
|
-
"cursor": "not-allowed"
|
|
1130
|
-
},
|
|
1131
|
-
".boring-viewer .boring-markdown-tool:focus-visible, .boring-viewer .boring-markdown-link button:focus-visible, .boring-viewer .boring-markdown-alert button:focus-visible, .boring-viewer .boring-markdown-proposal button:focus-visible": {
|
|
1132
|
-
"outline": "2px solid color-mix(in oklab, var(--ring) 70%, transparent)",
|
|
1133
|
-
"outline-offset": "1px"
|
|
1113
|
+
"flex": "none"
|
|
1134
1114
|
},
|
|
1135
1115
|
".boring-viewer .boring-markdown-separator": {
|
|
1136
1116
|
"flex": "none",
|
|
1137
|
-
"
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
"
|
|
1117
|
+
"margin-inline": "0.25rem"
|
|
1118
|
+
},
|
|
1119
|
+
".boring-viewer span.boring-markdown-separator": {
|
|
1120
|
+
"width": "0.5rem",
|
|
1121
|
+
"margin": "0"
|
|
1141
1122
|
},
|
|
1142
1123
|
".boring-viewer .boring-markdown-icon": {
|
|
1143
1124
|
"display": "block"
|
|
1144
1125
|
},
|
|
1145
|
-
".boring-viewer .boring-markdown-link": {
|
|
1126
|
+
".boring-viewer .boring-markdown-link, .boring-viewer .boring-markdown-alert, .boring-viewer .boring-markdown-proposal, .boring-viewer [data-boring=\"text-draft-controls\"]": {
|
|
1146
1127
|
"display": "flex",
|
|
1147
1128
|
"flex": "none",
|
|
1148
1129
|
"flex-wrap": "wrap",
|
|
1149
1130
|
"align-items": "center",
|
|
1150
1131
|
"gap": "0.5rem",
|
|
1151
|
-
"padding": "0.5rem 0.75rem"
|
|
1152
|
-
"border-bottom": "1px solid var(--border)",
|
|
1153
|
-
"background": "var(--muted)"
|
|
1132
|
+
"padding": "0.5rem 0.75rem"
|
|
1154
1133
|
},
|
|
1155
|
-
".boring-viewer .boring-markdown-link input": {
|
|
1134
|
+
".boring-viewer .boring-markdown-link [data-slot=\"input\"]": {
|
|
1156
1135
|
"flex": "1 1 14rem",
|
|
1157
|
-
"min-width": "0"
|
|
1158
|
-
"height": "2rem",
|
|
1159
|
-
"padding": "0 0.625rem",
|
|
1160
|
-
"border": "1px solid var(--input)",
|
|
1161
|
-
"border-radius": "0.375rem",
|
|
1162
|
-
"background": "var(--background)",
|
|
1163
|
-
"font-size": "0.875rem"
|
|
1164
|
-
},
|
|
1165
|
-
".boring-viewer .boring-markdown-link input:focus-visible": {
|
|
1166
|
-
"outline": "2px solid color-mix(in oklab, var(--ring) 70%, transparent)",
|
|
1167
|
-
"outline-offset": "0"
|
|
1168
|
-
},
|
|
1169
|
-
".boring-viewer .boring-markdown-link button, .boring-viewer .boring-markdown-alert button, .boring-viewer .boring-markdown-proposal > button": {
|
|
1170
|
-
"height": "2rem",
|
|
1171
|
-
"padding": "0 0.75rem",
|
|
1172
|
-
"border": "1px solid var(--border)",
|
|
1173
|
-
"border-radius": "0.375rem",
|
|
1174
|
-
"background": "var(--background)",
|
|
1175
|
-
"font-size": "0.8125rem",
|
|
1176
|
-
"font-weight": "500",
|
|
1177
|
-
"cursor": "pointer"
|
|
1178
|
-
},
|
|
1179
|
-
".boring-viewer .boring-markdown-link button:hover:not(:disabled), .boring-viewer .boring-markdown-alert button:hover:not(:disabled), .boring-viewer .boring-markdown-proposal > button:hover:not(:disabled)": {
|
|
1180
|
-
"background": "var(--muted)"
|
|
1181
|
-
},
|
|
1182
|
-
".boring-viewer .boring-markdown-alert button:disabled, .boring-viewer .boring-markdown-proposal > button:disabled": {
|
|
1183
|
-
"opacity": "0.45",
|
|
1184
|
-
"cursor": "not-allowed"
|
|
1185
|
-
},
|
|
1186
|
-
".boring-viewer .boring-markdown-notice, .boring-viewer .boring-markdown-alert, .boring-viewer .boring-markdown-proposal": {
|
|
1187
|
-
"flex": "none",
|
|
1188
|
-
"margin": "0.75rem 0.75rem 0",
|
|
1189
|
-
"padding": "0.625rem 0.75rem",
|
|
1190
|
-
"border": "1px solid var(--border)",
|
|
1191
|
-
"border-radius": "0.5rem",
|
|
1192
|
-
"background": "var(--muted)",
|
|
1193
|
-
"font-size": "0.8125rem",
|
|
1194
|
-
"line-height": "1.5"
|
|
1136
|
+
"min-width": "0"
|
|
1195
1137
|
},
|
|
1196
1138
|
".boring-viewer .boring-markdown-notice": {
|
|
1197
|
-
"
|
|
1139
|
+
"margin": "0.75rem"
|
|
1198
1140
|
},
|
|
1199
|
-
".boring-viewer .boring-markdown-
|
|
1200
|
-
"display": "flex",
|
|
1201
|
-
"flex-wrap": "wrap",
|
|
1202
|
-
"align-items": "center",
|
|
1203
|
-
"gap": "0.5rem",
|
|
1204
|
-
"border-color": "color-mix(in oklab, var(--destructive) 40%, var(--border))",
|
|
1205
|
-
"background": "color-mix(in oklab, var(--destructive) 8%, var(--background))"
|
|
1206
|
-
},
|
|
1207
|
-
".boring-viewer .boring-markdown-proposal": {
|
|
1208
|
-
"display": "flex",
|
|
1209
|
-
"flex-wrap": "wrap",
|
|
1210
|
-
"align-items": "center",
|
|
1211
|
-
"gap": "0.5rem",
|
|
1212
|
-
"background": "var(--background)"
|
|
1213
|
-
},
|
|
1214
|
-
".boring-viewer .boring-markdown-proposal h3": {
|
|
1215
|
-
"flex": "1 1 100%",
|
|
1216
|
-
"margin": "0",
|
|
1217
|
-
"font-size": "0.875rem"
|
|
1218
|
-
},
|
|
1219
|
-
".boring-viewer .boring-markdown-proposal details": {
|
|
1141
|
+
".boring-viewer .boring-markdown-proposal :is(h3, details)": {
|
|
1220
1142
|
"flex": "1 1 100%",
|
|
1221
1143
|
"min-width": "0"
|
|
1222
1144
|
},
|
|
1223
|
-
".boring-viewer .boring-markdown-proposal summary": {
|
|
1224
|
-
"cursor": "pointer",
|
|
1225
|
-
"color": "var(--muted-foreground)"
|
|
1226
|
-
},
|
|
1227
1145
|
".boring-viewer .boring-markdown-proposal pre": {
|
|
1228
|
-
"margin": "0.25rem 0",
|
|
1229
1146
|
"max-height": "12rem",
|
|
1230
1147
|
"overflow": "auto",
|
|
1231
|
-
"padding": "0.5rem",
|
|
1232
|
-
"border-radius": "0.375rem",
|
|
1233
|
-
"background": "var(--muted)",
|
|
1234
|
-
"font": "0.75rem/1.5 ui-monospace, SFMono-Regular, Menlo, monospace",
|
|
1235
1148
|
"white-space": "pre-wrap"
|
|
1236
1149
|
},
|
|
1237
1150
|
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"]": {
|
|
@@ -1241,70 +1154,35 @@
|
|
|
1241
1154
|
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"]": {
|
|
1242
1155
|
"display": "block",
|
|
1243
1156
|
"flex": "none",
|
|
1244
|
-
"
|
|
1245
|
-
"
|
|
1246
|
-
"overflow-x": "auto"
|
|
1157
|
+
"overflow-x": "auto",
|
|
1158
|
+
"padding": "0.375rem 0.75rem"
|
|
1247
1159
|
},
|
|
1248
1160
|
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"] ol": {
|
|
1249
1161
|
"display": "flex",
|
|
1250
1162
|
"gap": "0.25rem",
|
|
1163
|
+
"list-style": "none",
|
|
1251
1164
|
"margin": "0",
|
|
1252
|
-
"padding": "0"
|
|
1253
|
-
"list-style": "none"
|
|
1254
|
-
},
|
|
1255
|
-
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"] button": {
|
|
1256
|
-
"max-width": "14rem",
|
|
1257
|
-
"padding": "0.125rem 0.5rem",
|
|
1258
|
-
"overflow": "hidden",
|
|
1259
|
-
"border-radius": "999px",
|
|
1260
|
-
"color": "var(--muted-foreground)",
|
|
1261
|
-
"font-size": "0.75rem",
|
|
1262
|
-
"text-overflow": "ellipsis",
|
|
1263
|
-
"white-space": "nowrap",
|
|
1264
|
-
"cursor": "pointer"
|
|
1265
|
-
},
|
|
1266
|
-
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"] button:hover": {
|
|
1267
|
-
"background": "var(--muted)",
|
|
1268
|
-
"color": "var(--foreground)"
|
|
1269
|
-
},
|
|
1270
|
-
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"] [data-heading-level=\"1\"] button": {
|
|
1271
|
-
"font-weight": "600"
|
|
1165
|
+
"padding": "0"
|
|
1272
1166
|
}
|
|
1273
1167
|
},
|
|
1274
1168
|
".boring-viewer .boring-markdown-source, .boring-viewer .boring-html-viewer__source": {
|
|
1275
|
-
"display": "block",
|
|
1276
1169
|
"flex": "1 1 auto",
|
|
1277
1170
|
"width": "100%",
|
|
1278
1171
|
"min-height": "0",
|
|
1279
|
-
"
|
|
1280
|
-
"padding": "1rem 1.25rem",
|
|
1281
|
-
"border": "0",
|
|
1282
|
-
"border-radius": "0",
|
|
1283
|
-
"outline": "none",
|
|
1284
|
-
"resize": "none",
|
|
1285
|
-
"background": "var(--background)",
|
|
1286
|
-
"color": "var(--foreground)",
|
|
1287
|
-
"font": "0.8125rem/1.65 ui-monospace, SFMono-Regular, \"SF Mono\", Menlo, Consolas, monospace",
|
|
1288
|
-
"tab-size": "2",
|
|
1289
|
-
"caret-color": "var(--foreground)"
|
|
1290
|
-
},
|
|
1291
|
-
".boring-viewer .boring-markdown-source:focus-visible, .boring-viewer .boring-html-viewer__source:focus-visible": {
|
|
1292
|
-
"box-shadow": "inset 0 0 0 1px color-mix(in oklab, var(--ring) 55%, transparent)"
|
|
1293
|
-
},
|
|
1294
|
-
".boring-viewer .boring-markdown-source::selection, .boring-viewer .boring-html-viewer__source::selection, .boring-viewer .boring-markdown-content ::selection, .boring-viewer .boring-markdown-content::selection": {
|
|
1295
|
-
"background": "color-mix(in oklab, var(--primary) 24%, transparent)"
|
|
1172
|
+
"resize": "none"
|
|
1296
1173
|
},
|
|
1297
1174
|
".boring-viewer .boring-markdown-content": {
|
|
1298
|
-
"max-width": "
|
|
1175
|
+
"max-width": "68ch",
|
|
1299
1176
|
"min-height": "100%",
|
|
1300
1177
|
"margin": "0 auto",
|
|
1301
|
-
"padding": "1.
|
|
1302
|
-
"
|
|
1178
|
+
"padding": "1.5rem 1.5rem 3rem",
|
|
1179
|
+
"overflow-wrap": "anywhere",
|
|
1303
1180
|
"color": "var(--foreground)",
|
|
1304
|
-
"font-size": "
|
|
1305
|
-
"line-height": "
|
|
1306
|
-
|
|
1307
|
-
|
|
1181
|
+
"font-size": "var(--text-base)",
|
|
1182
|
+
"line-height": "var(--leading-relaxed)"
|
|
1183
|
+
},
|
|
1184
|
+
".boring-viewer .boring-markdown-content:focus": {
|
|
1185
|
+
"outline": "none"
|
|
1308
1186
|
},
|
|
1309
1187
|
".boring-viewer .boring-markdown-content > :first-child": {
|
|
1310
1188
|
"margin-top": "0"
|
|
@@ -1317,32 +1195,27 @@
|
|
|
1317
1195
|
"float": "left",
|
|
1318
1196
|
"height": "0",
|
|
1319
1197
|
"color": "var(--muted-foreground)",
|
|
1320
|
-
"opacity": "0.8",
|
|
1321
1198
|
"pointer-events": "none"
|
|
1322
1199
|
},
|
|
1323
1200
|
".boring-viewer .boring-markdown-content :is(h1, h2, h3, h4, h5, h6)": {
|
|
1324
|
-
"
|
|
1325
|
-
"
|
|
1326
|
-
"letter-spacing": "-0.02em",
|
|
1327
|
-
"line-height": "1.25"
|
|
1201
|
+
"font-weight": "var(--font-weight-semibold)",
|
|
1202
|
+
"line-height": "var(--leading-tight)"
|
|
1328
1203
|
},
|
|
1329
1204
|
".boring-viewer .boring-markdown-content h1": {
|
|
1330
1205
|
"margin": "1.75rem 0 0.75rem",
|
|
1331
|
-
"font-size": "
|
|
1206
|
+
"font-size": "var(--text-2xl)"
|
|
1332
1207
|
},
|
|
1333
1208
|
".boring-viewer .boring-markdown-content h2": {
|
|
1334
|
-
"margin": "
|
|
1335
|
-
"
|
|
1336
|
-
"border-bottom": "1px solid color-mix(in oklab, var(--border) 70%, transparent)",
|
|
1337
|
-
"font-size": "1.375rem"
|
|
1209
|
+
"margin": "2rem 0 0.75rem",
|
|
1210
|
+
"font-size": "var(--text-xl)"
|
|
1338
1211
|
},
|
|
1339
1212
|
".boring-viewer .boring-markdown-content h3": {
|
|
1340
1213
|
"margin": "1.25rem 0 0.5rem",
|
|
1341
|
-
"font-size": "
|
|
1214
|
+
"font-size": "var(--text-lg)"
|
|
1342
1215
|
},
|
|
1343
1216
|
".boring-viewer .boring-markdown-content :is(h4, h5, h6)": {
|
|
1344
1217
|
"margin": "1rem 0 0.4rem",
|
|
1345
|
-
"font-size": "
|
|
1218
|
+
"font-size": "var(--text-base)"
|
|
1346
1219
|
},
|
|
1347
1220
|
".boring-viewer .boring-markdown-content :is(ul, ol)": {
|
|
1348
1221
|
"margin": "0.75rem 0",
|
|
@@ -1351,27 +1224,12 @@
|
|
|
1351
1224
|
".boring-viewer .boring-markdown-content ul": {
|
|
1352
1225
|
"list-style": "disc"
|
|
1353
1226
|
},
|
|
1354
|
-
".boring-viewer .boring-markdown-content ul ul": {
|
|
1355
|
-
"list-style": "circle"
|
|
1356
|
-
},
|
|
1357
|
-
".boring-viewer .boring-markdown-content ul ul ul": {
|
|
1358
|
-
"list-style": "square"
|
|
1359
|
-
},
|
|
1360
1227
|
".boring-viewer .boring-markdown-content ol": {
|
|
1361
1228
|
"list-style": "decimal"
|
|
1362
1229
|
},
|
|
1363
|
-
".boring-viewer .boring-markdown-content ol ol": {
|
|
1364
|
-
"list-style": "lower-alpha"
|
|
1365
|
-
},
|
|
1366
|
-
".boring-viewer .boring-markdown-content ol ol ol": {
|
|
1367
|
-
"list-style": "lower-roman"
|
|
1368
|
-
},
|
|
1369
1230
|
".boring-viewer .boring-markdown-content li": {
|
|
1370
1231
|
"margin": "0.25rem 0"
|
|
1371
1232
|
},
|
|
1372
|
-
".boring-viewer .boring-markdown-content li::marker": {
|
|
1373
|
-
"color": "var(--muted-foreground)"
|
|
1374
|
-
},
|
|
1375
1233
|
".boring-viewer .boring-markdown-content li > p": {
|
|
1376
1234
|
"margin": "0"
|
|
1377
1235
|
},
|
|
@@ -1403,27 +1261,29 @@
|
|
|
1403
1261
|
"flex": "1 1 auto",
|
|
1404
1262
|
"min-width": "0"
|
|
1405
1263
|
},
|
|
1406
|
-
".boring-viewer .boring-markdown-content
|
|
1264
|
+
".boring-viewer .boring-markdown-content li[data-checked=\"true\"] > div": {
|
|
1407
1265
|
"color": "var(--muted-foreground)",
|
|
1408
1266
|
"text-decoration": "line-through"
|
|
1409
1267
|
},
|
|
1410
1268
|
".boring-viewer .boring-markdown-content strong": {
|
|
1411
|
-
"font-weight": "
|
|
1269
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
1412
1270
|
},
|
|
1413
1271
|
".boring-viewer .boring-markdown-content code": {
|
|
1414
1272
|
"padding": "0.1em 0.35em",
|
|
1415
|
-
"border-radius": "
|
|
1416
|
-
"background": "
|
|
1417
|
-
"font": "
|
|
1273
|
+
"border-radius": "var(--radius-sm)",
|
|
1274
|
+
"background": "var(--muted)",
|
|
1275
|
+
"font-family": "var(--font-mono)",
|
|
1276
|
+
"font-size": "var(--text-sm)"
|
|
1418
1277
|
},
|
|
1419
1278
|
".boring-viewer .boring-markdown-content pre": {
|
|
1420
1279
|
"margin": "1rem 0",
|
|
1421
1280
|
"padding": "0.875rem 1rem",
|
|
1422
1281
|
"overflow-x": "auto",
|
|
1423
|
-
"border": "
|
|
1424
|
-
"border-radius": "
|
|
1425
|
-
"background": "
|
|
1426
|
-
"font": "
|
|
1282
|
+
"border": "var(--default-border-width) solid var(--border)",
|
|
1283
|
+
"border-radius": "var(--radius-lg)",
|
|
1284
|
+
"background": "var(--muted)",
|
|
1285
|
+
"font-family": "var(--font-mono)",
|
|
1286
|
+
"font-size": "var(--text-sm)"
|
|
1427
1287
|
},
|
|
1428
1288
|
".boring-viewer .boring-markdown-content pre code": {
|
|
1429
1289
|
"padding": "0",
|
|
@@ -1433,35 +1293,22 @@
|
|
|
1433
1293
|
".boring-viewer .boring-markdown-content blockquote": {
|
|
1434
1294
|
"margin": "1rem 0",
|
|
1435
1295
|
"padding": "0.5rem 1rem",
|
|
1436
|
-
"border-
|
|
1437
|
-
"
|
|
1438
|
-
"background": "color-mix(in oklab, var(--foreground) 4%, transparent)",
|
|
1439
|
-
"color": "color-mix(in oklab, var(--foreground) 85%, transparent)"
|
|
1440
|
-
},
|
|
1441
|
-
".boring-viewer .boring-markdown-content blockquote > :first-child": {
|
|
1442
|
-
"margin-top": "0"
|
|
1443
|
-
},
|
|
1444
|
-
".boring-viewer .boring-markdown-content blockquote > :last-child": {
|
|
1445
|
-
"margin-bottom": "0"
|
|
1296
|
+
"border-inline-start": "var(--default-border-width) solid var(--border)",
|
|
1297
|
+
"color": "var(--muted-foreground)"
|
|
1446
1298
|
},
|
|
1447
1299
|
".boring-viewer .boring-markdown-content a": {
|
|
1448
1300
|
"color": "var(--foreground)",
|
|
1449
1301
|
"text-decoration": "underline",
|
|
1450
|
-
"text-decoration-thickness": "1px",
|
|
1451
|
-
"text-underline-offset": "3px",
|
|
1452
|
-
"text-decoration-color": "color-mix(in oklab, var(--foreground) 45%, transparent)",
|
|
1453
1302
|
"cursor": "text"
|
|
1454
1303
|
},
|
|
1455
1304
|
".boring-viewer .boring-markdown-content hr": {
|
|
1456
1305
|
"margin": "1.5rem 0",
|
|
1457
1306
|
"border": "0",
|
|
1458
|
-
"border-top": "
|
|
1307
|
+
"border-top": "var(--default-border-width) solid var(--border)"
|
|
1459
1308
|
},
|
|
1460
1309
|
".boring-viewer .boring-markdown-content mark": {
|
|
1461
|
-
"
|
|
1462
|
-
"
|
|
1463
|
-
"background": "color-mix(in oklab, #facc15 40%, transparent)",
|
|
1464
|
-
"color": "inherit"
|
|
1310
|
+
"background": "var(--accent)",
|
|
1311
|
+
"color": "var(--accent-foreground)"
|
|
1465
1312
|
},
|
|
1466
1313
|
".boring-viewer .boring-markdown-content .tableWrapper": {
|
|
1467
1314
|
"margin": "1rem 0",
|
|
@@ -1470,84 +1317,49 @@
|
|
|
1470
1317
|
".boring-viewer .boring-markdown-content table": {
|
|
1471
1318
|
"width": "100%",
|
|
1472
1319
|
"border-collapse": "collapse",
|
|
1473
|
-
"font-size": "
|
|
1320
|
+
"font-size": "var(--text-sm)"
|
|
1474
1321
|
},
|
|
1475
1322
|
".boring-viewer .boring-markdown-content :is(th, td)": {
|
|
1476
1323
|
"min-width": "4rem",
|
|
1477
1324
|
"padding": "0.5rem 0.75rem",
|
|
1478
|
-
"border": "
|
|
1325
|
+
"border": "var(--default-border-width) solid var(--border)",
|
|
1479
1326
|
"text-align": "left",
|
|
1480
1327
|
"vertical-align": "top"
|
|
1481
1328
|
},
|
|
1482
1329
|
".boring-viewer .boring-markdown-content th": {
|
|
1483
|
-
"background": "
|
|
1484
|
-
"font-weight": "
|
|
1330
|
+
"background": "var(--muted)",
|
|
1331
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
1485
1332
|
},
|
|
1486
1333
|
".boring-viewer .boring-markdown-content :is(th, td) > p": {
|
|
1487
1334
|
"margin": "0"
|
|
1488
1335
|
},
|
|
1489
1336
|
".boring-viewer .boring-markdown-content .selectedCell": {
|
|
1490
|
-
"background": "
|
|
1337
|
+
"background": "var(--accent)"
|
|
1491
1338
|
},
|
|
1492
1339
|
".boring-viewer .boring-markdown-content img": {
|
|
1493
1340
|
"display": "block",
|
|
1494
1341
|
"max-width": "100%",
|
|
1495
1342
|
"height": "auto",
|
|
1496
|
-
"margin": "1rem 0"
|
|
1497
|
-
"border-radius": "0.5rem"
|
|
1343
|
+
"margin": "1rem 0"
|
|
1498
1344
|
},
|
|
1499
1345
|
".boring-viewer .boring-markdown-content .boring-markdown-image": {
|
|
1500
1346
|
"display": "inline-flex",
|
|
1501
|
-
"align-items": "center",
|
|
1502
|
-
"gap": "0.4rem",
|
|
1503
1347
|
"max-width": "100%",
|
|
1504
1348
|
"margin": "0.125rem 0",
|
|
1505
1349
|
"padding": "0.125rem 0.5rem",
|
|
1506
|
-
"border": "1px dashed var(--border)",
|
|
1507
|
-
"border-radius": "0.375rem",
|
|
1508
1350
|
"background": "var(--muted)",
|
|
1509
|
-
"color": "var(--muted-foreground)"
|
|
1510
|
-
"font-size": "0.85em",
|
|
1511
|
-
"line-height": "1.5"
|
|
1512
|
-
},
|
|
1513
|
-
".boring-viewer .boring-markdown-content .boring-markdown-image::before": {
|
|
1514
|
-
"content": "\"\"",
|
|
1515
|
-
"flex": "none",
|
|
1516
|
-
"width": "0.85em",
|
|
1517
|
-
"height": "0.85em",
|
|
1518
|
-
"border": "1.5px solid currentColor",
|
|
1519
|
-
"border-radius": "0.15em",
|
|
1520
|
-
"opacity": "0.7"
|
|
1521
|
-
},
|
|
1522
|
-
".boring-viewer .boring-markdown-content .ProseMirror-selectednode": {
|
|
1523
|
-
"outline": "2px solid color-mix(in oklab, var(--ring) 70%, transparent)",
|
|
1524
|
-
"outline-offset": "2px"
|
|
1525
|
-
},
|
|
1526
|
-
".boring-viewer .boring-html-pane": {
|
|
1527
|
-
"display": "flex",
|
|
1528
|
-
"flex": "1 1 auto",
|
|
1529
|
-
"flex-direction": "column",
|
|
1530
|
-
"min-height": "0",
|
|
1531
|
-
"min-width": "0"
|
|
1351
|
+
"color": "var(--muted-foreground)"
|
|
1532
1352
|
},
|
|
1533
1353
|
".boring-viewer .boring-html-viewer__preview": {
|
|
1534
1354
|
"display": "flex",
|
|
1535
1355
|
"flex": "1 1 auto",
|
|
1536
1356
|
"flex-direction": "column",
|
|
1537
|
-
"min-height": "0"
|
|
1538
|
-
"background": "var(--muted)"
|
|
1357
|
+
"min-height": "0"
|
|
1539
1358
|
},
|
|
1540
1359
|
".boring-viewer .boring-html-viewer__preview > p": {
|
|
1541
1360
|
"flex": "none",
|
|
1542
1361
|
"margin": "0",
|
|
1543
|
-
"padding": "0.375rem 0.75rem"
|
|
1544
|
-
"border-bottom": "1px solid var(--border)",
|
|
1545
|
-
"background": "var(--background)",
|
|
1546
|
-
"color": "var(--muted-foreground)",
|
|
1547
|
-
"font-size": "0.75rem"
|
|
1548
|
-
},
|
|
1549
|
-
".boring-viewer .boring-html-viewer__preview > p[role=\"alert\"]": {
|
|
1550
|
-
"color": "var(--destructive)"
|
|
1362
|
+
"padding": "0.375rem 0.75rem"
|
|
1551
1363
|
},
|
|
1552
1364
|
".boring-viewer .boring-html-viewer__preview > div": {
|
|
1553
1365
|
"display": "flex",
|
|
@@ -1559,38 +1371,48 @@
|
|
|
1559
1371
|
"width": "100%",
|
|
1560
1372
|
"height": "100%",
|
|
1561
1373
|
"min-height": "0",
|
|
1562
|
-
"border": "0"
|
|
1563
|
-
"background": "#fff",
|
|
1564
|
-
"color-scheme": "light"
|
|
1374
|
+
"border": "0"
|
|
1565
1375
|
},
|
|
1566
1376
|
".boring-viewer .boring-viewer-checker": {
|
|
1567
|
-
"background-color": "
|
|
1568
|
-
"background-image": "linear-gradient(45deg,
|
|
1377
|
+
"background-color": "var(--background)",
|
|
1378
|
+
"background-image": "linear-gradient(45deg, var(--muted) 25%, transparent 25%, transparent 75%, var(--muted) 75%), linear-gradient(45deg, var(--muted) 25%, transparent 25%, transparent 75%, var(--muted) 75%)",
|
|
1569
1379
|
"background-position": "0 0, 8px 8px",
|
|
1570
1380
|
"background-size": "16px 16px"
|
|
1571
1381
|
},
|
|
1572
1382
|
".boring-viewer .boring-viewer-stage": {
|
|
1573
|
-
"
|
|
1574
|
-
"scrollbar-width": "thin"
|
|
1575
|
-
},
|
|
1576
|
-
".boring-viewer .boring-viewer-stage:focus-visible": {
|
|
1577
|
-
"outline": "2px solid color-mix(in oklab, var(--ring) 60%, transparent)",
|
|
1578
|
-
"outline-offset": "-2px"
|
|
1383
|
+
"overflow": "auto"
|
|
1579
1384
|
},
|
|
1580
|
-
"@media (
|
|
1581
|
-
".boring-viewer .boring-markdown-
|
|
1582
|
-
"
|
|
1583
|
-
"height": "2.75rem"
|
|
1385
|
+
"@media (max-width: 640px)": {
|
|
1386
|
+
".boring-viewer .boring-markdown-content": {
|
|
1387
|
+
"padding": "1.25rem 1.25rem 3rem"
|
|
1584
1388
|
},
|
|
1585
|
-
".boring-viewer .boring-markdown-
|
|
1586
|
-
"
|
|
1389
|
+
".boring-viewer .boring-markdown-toolbar": {
|
|
1390
|
+
"display": "none"
|
|
1587
1391
|
},
|
|
1588
|
-
".boring-viewer
|
|
1589
|
-
"
|
|
1392
|
+
".boring-viewer.boring-markdown-dock": {
|
|
1393
|
+
"display": "flex",
|
|
1394
|
+
"align-items": "center",
|
|
1395
|
+
"gap": "0.125rem",
|
|
1396
|
+
"overflow-x": "auto",
|
|
1397
|
+
"scrollbar-width": "none",
|
|
1398
|
+
"position": "fixed",
|
|
1399
|
+
"inset-inline": "0",
|
|
1400
|
+
"z-index": "50",
|
|
1401
|
+
"padding": "0.25rem 1.5rem 0.25rem 0.5rem",
|
|
1402
|
+
"padding-bottom": "calc(0.25rem + env(safe-area-inset-bottom, 0px))",
|
|
1403
|
+
"background": "var(--background)",
|
|
1404
|
+
"mask-image": "linear-gradient(to right, black calc(100% - 2rem), transparent)"
|
|
1405
|
+
},
|
|
1406
|
+
".boring-viewer.boring-markdown-dock[data-keyboard]": {
|
|
1407
|
+
"padding-bottom": "0.25rem"
|
|
1408
|
+
},
|
|
1409
|
+
".boring-viewer.boring-markdown-dock > .boring-markdown-dock-rule": {
|
|
1410
|
+
"position": "absolute",
|
|
1411
|
+
"inset-inline": "0",
|
|
1412
|
+
"top": "0"
|
|
1590
1413
|
},
|
|
1591
|
-
".boring-viewer
|
|
1592
|
-
"
|
|
1593
|
-
"height": "1.25rem"
|
|
1414
|
+
".boring-viewer [data-boring=\"markdown-editor\"][data-dock] .boring-markdown-content": {
|
|
1415
|
+
"padding-bottom": "6rem"
|
|
1594
1416
|
}
|
|
1595
1417
|
}
|
|
1596
1418
|
}
|
|
@@ -1600,15 +1422,20 @@
|
|
|
1600
1422
|
"name": "provider-setup",
|
|
1601
1423
|
"type": "registry:component",
|
|
1602
1424
|
"title": "Provider setup",
|
|
1603
|
-
"description": "A
|
|
1425
|
+
"description": "A shadcn popover for configuring model access: pick any registered Pi provider and model, save an API key (masked, shows \"saved\"), run a device-code subscription sign-in (code, link and status), set an optional gateway and see when a provider needs one. Transport-agnostic: props in, callbacks out, no fetch. Owned, editable source; fits the pi-chat controls slot.",
|
|
1604
1426
|
"dependencies": [
|
|
1605
1427
|
"react@^19.0.0",
|
|
1606
1428
|
"react-dom@^19.0.0",
|
|
1607
1429
|
"lucide-react@^1.51.0"
|
|
1608
1430
|
],
|
|
1609
1431
|
"registryDependencies": [
|
|
1610
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
1611
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
1432
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
1433
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
1434
|
+
"button",
|
|
1435
|
+
"input",
|
|
1436
|
+
"label",
|
|
1437
|
+
"native-select",
|
|
1438
|
+
"popover"
|
|
1612
1439
|
],
|
|
1613
1440
|
"files": [
|
|
1614
1441
|
{
|
|
@@ -1624,9 +1451,9 @@
|
|
|
1624
1451
|
"title": "Feedback",
|
|
1625
1452
|
"description": "Feedback from the chat composer: one Feedback button starts feedback mode on the application page (hover, click to pin a numbered note, hold ⌥ to use the app, optional voice), and one chip carries the notes to the next message. FeedbackBar, NoteBubble, FeedbackChip with its review, useComposerFeedback for the pi-chat composer, and PickerOverlay styles. Optional, not mounted by default: PointButton, AnnotateSheet, FeedbackList and FeedbackReport. Picking, masking, anchoring and placement stay in @hachej/boring-feedback/page and /ui, so restyling cannot weaken them.",
|
|
1626
1453
|
"dependencies": [
|
|
1627
|
-
"@hachej/boring-feedback@^0.
|
|
1628
|
-
"@hachej/boring-ui-kit@^0.
|
|
1629
|
-
"@hachej/boring-files@^0.
|
|
1454
|
+
"@hachej/boring-feedback@^0.4.0",
|
|
1455
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
1456
|
+
"@hachej/boring-files@^0.4.0",
|
|
1630
1457
|
"react@^19.0.0",
|
|
1631
1458
|
"react-dom@^19.0.0",
|
|
1632
1459
|
"lucide-react@^1.51.0"
|
|
@@ -1696,9 +1523,6 @@
|
|
|
1696
1523
|
"--boring-feedback-text": "var(--popover-foreground)",
|
|
1697
1524
|
"--boring-feedback-muted": "var(--muted-foreground)",
|
|
1698
1525
|
"--boring-feedback-border": "var(--border)",
|
|
1699
|
-
"--boring-feedback-radius": "var(--radius-lg, var(--radius, 0.625rem))",
|
|
1700
|
-
"--boring-feedback-radius-md": "var(--radius-md, calc(var(--radius, 0.625rem) * 0.8))",
|
|
1701
|
-
"--boring-feedback-shadow": "var(--shadow-lg, 0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1))",
|
|
1702
1526
|
"--boring-feedback-label-background": "var(--foreground)",
|
|
1703
1527
|
"--boring-feedback-label-foreground": "var(--background)",
|
|
1704
1528
|
"font-family": "inherit",
|
|
@@ -1706,58 +1530,17 @@
|
|
|
1706
1530
|
"line-height": "var(--leading-normal, 1.5)",
|
|
1707
1531
|
"color": "var(--boring-feedback-text)"
|
|
1708
1532
|
},
|
|
1533
|
+
"@layer base": {
|
|
1534
|
+
"[data-boring=\"feedback\"] :where(button, [role=\"button\"])": {
|
|
1535
|
+
"appearance": "none",
|
|
1536
|
+
"background-color": "transparent",
|
|
1537
|
+
"border": "0",
|
|
1538
|
+
"padding": "0"
|
|
1539
|
+
}
|
|
1540
|
+
},
|
|
1709
1541
|
"[data-boring=\"feedback\"] *, [data-boring=\"feedback\"] *::before, [data-boring=\"feedback\"] *::after": {
|
|
1710
1542
|
"box-sizing": "border-box"
|
|
1711
1543
|
},
|
|
1712
|
-
"[data-boring=\"feedback\"] .boring-feedback-button": {
|
|
1713
|
-
"display": "inline-flex",
|
|
1714
|
-
"align-items": "center",
|
|
1715
|
-
"justify-content": "center",
|
|
1716
|
-
"gap": "0.375rem",
|
|
1717
|
-
"min-height": "2.25rem",
|
|
1718
|
-
"padding": "0 0.875rem",
|
|
1719
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
1720
|
-
"border-radius": "var(--boring-feedback-radius-md)",
|
|
1721
|
-
"background": "var(--boring-feedback-surface)",
|
|
1722
|
-
"color": "var(--boring-feedback-text)",
|
|
1723
|
-
"font": "inherit",
|
|
1724
|
-
"font-weight": "var(--font-weight-semibold, 600)",
|
|
1725
|
-
"cursor": "pointer"
|
|
1726
|
-
},
|
|
1727
|
-
"[data-boring=\"feedback\"] .boring-feedback-button:hover": {
|
|
1728
|
-
"background": "var(--accent)"
|
|
1729
|
-
},
|
|
1730
|
-
"[data-boring=\"feedback\"] .boring-feedback-button:focus-visible, [data-boring=\"feedback\"] button:focus-visible, [data-boring=\"feedback\"] textarea:focus-visible": {
|
|
1731
|
-
"outline": "2px solid var(--ring)",
|
|
1732
|
-
"outline-offset": "2px"
|
|
1733
|
-
},
|
|
1734
|
-
"[data-boring=\"feedback\"] .boring-feedback-button[data-variant=\"primary\"]": {
|
|
1735
|
-
"border-color": "transparent",
|
|
1736
|
-
"background": "var(--boring-feedback-accent)",
|
|
1737
|
-
"color": "var(--primary-foreground)"
|
|
1738
|
-
},
|
|
1739
|
-
"[data-boring=\"feedback\"] .boring-feedback-button:disabled": {
|
|
1740
|
-
"opacity": "0.6",
|
|
1741
|
-
"cursor": "default"
|
|
1742
|
-
},
|
|
1743
|
-
"[data-boring=\"feedback\"] .boring-feedback-button[aria-pressed=\"true\"]": {
|
|
1744
|
-
"background": "var(--boring-feedback-accent)",
|
|
1745
|
-
"color": "var(--primary-foreground)"
|
|
1746
|
-
},
|
|
1747
|
-
"[data-boring=\"feedback\"] .boring-feedback-icon": {
|
|
1748
|
-
"display": "inline-flex",
|
|
1749
|
-
"align-items": "center",
|
|
1750
|
-
"justify-content": "center",
|
|
1751
|
-
"width": "2rem",
|
|
1752
|
-
"height": "2rem",
|
|
1753
|
-
"border": "0",
|
|
1754
|
-
"border-radius": "var(--boring-feedback-radius-md)",
|
|
1755
|
-
"background": "transparent",
|
|
1756
|
-
"color": "var(--boring-feedback-muted)",
|
|
1757
|
-
"font-size": "var(--text-xl, 1.25rem)",
|
|
1758
|
-
"line-height": "1",
|
|
1759
|
-
"cursor": "pointer"
|
|
1760
|
-
},
|
|
1761
1544
|
"[data-boring=\"feedback\"].boring-feedback-point": {
|
|
1762
1545
|
"display": "inline-flex",
|
|
1763
1546
|
"align-items": "center",
|
|
@@ -1774,18 +1557,11 @@
|
|
|
1774
1557
|
"[data-boring=\"feedback\"] .boring-feedback-keys": {
|
|
1775
1558
|
"opacity": "0.8"
|
|
1776
1559
|
},
|
|
1777
|
-
"[data-boring=\"feedback\"].boring-feedback-sheet,
|
|
1778
|
-
"
|
|
1779
|
-
"flex-direction": "column",
|
|
1780
|
-
"gap": "0.75rem",
|
|
1781
|
-
"padding": "1rem",
|
|
1782
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
1783
|
-
"border-radius": "var(--boring-feedback-radius)",
|
|
1784
|
-
"background": "var(--boring-feedback-surface)"
|
|
1560
|
+
"[data-boring=\"feedback\"]:is(.boring-feedback-sheet, .boring-feedback-report, .boring-feedback-list, .boring-feedback-bubble, .boring-feedback-review, .boring-feedback-pointbar, .boring-feedback-preview, .boring-feedback-bar)": {
|
|
1561
|
+
"padding-inline": "var(--card-spacing)"
|
|
1785
1562
|
},
|
|
1786
1563
|
"[data-boring=\"feedback\"].boring-feedback-sheet": {
|
|
1787
1564
|
"z-index": "2147483000",
|
|
1788
|
-
"box-shadow": "var(--boring-feedback-shadow)",
|
|
1789
1565
|
"max-height": "calc(100dvh - 24px)",
|
|
1790
1566
|
"overflow": "auto"
|
|
1791
1567
|
},
|
|
@@ -1826,18 +1602,6 @@
|
|
|
1826
1602
|
"font-weight": "var(--font-weight-semibold, 600)",
|
|
1827
1603
|
"font-size": "var(--text-sm, 0.875rem)"
|
|
1828
1604
|
},
|
|
1829
|
-
"[data-boring=\"feedback\"] textarea": {
|
|
1830
|
-
"width": "100%",
|
|
1831
|
-
"padding": "0.5rem 0.625rem",
|
|
1832
|
-
"border": "var(--border-width, 1px) solid var(--input)",
|
|
1833
|
-
"border-radius": "var(--boring-feedback-radius-md)",
|
|
1834
|
-
"background": "var(--background)",
|
|
1835
|
-
"color": "inherit",
|
|
1836
|
-
"font": "inherit",
|
|
1837
|
-
"font-size": "var(--text-base, 1rem)",
|
|
1838
|
-
"font-weight": "var(--font-weight-normal, 400)",
|
|
1839
|
-
"resize": "vertical"
|
|
1840
|
-
},
|
|
1841
1605
|
"[data-boring=\"feedback\"] .boring-feedback-actions": {
|
|
1842
1606
|
"display": "flex",
|
|
1843
1607
|
"flex-wrap": "wrap",
|
|
@@ -1856,9 +1620,7 @@
|
|
|
1856
1620
|
},
|
|
1857
1621
|
"[data-boring=\"feedback\"] .boring-feedback-notice": {
|
|
1858
1622
|
"margin": "0",
|
|
1859
|
-
"
|
|
1860
|
-
"border-radius": "var(--boring-feedback-radius-md)",
|
|
1861
|
-
"background": "color-mix(in srgb, var(--boring-feedback-reveal) 14%, transparent)",
|
|
1623
|
+
"color": "var(--boring-feedback-muted)",
|
|
1862
1624
|
"font-size": "var(--text-sm, 0.875rem)"
|
|
1863
1625
|
},
|
|
1864
1626
|
"[data-boring=\"feedback\"] .boring-feedback-copied pre, [data-boring=\"feedback\"] .boring-feedback-manual": {
|
|
@@ -1883,22 +1645,6 @@
|
|
|
1883
1645
|
"padding": "0",
|
|
1884
1646
|
"list-style": "none"
|
|
1885
1647
|
},
|
|
1886
|
-
"[data-boring=\"feedback\"].boring-feedback-list li button": {
|
|
1887
|
-
"display": "grid",
|
|
1888
|
-
"gap": "0.125rem",
|
|
1889
|
-
"width": "100%",
|
|
1890
|
-
"padding": "0.5rem 0.625rem",
|
|
1891
|
-
"border": "0",
|
|
1892
|
-
"border-radius": "var(--boring-feedback-radius-md)",
|
|
1893
|
-
"background": "transparent",
|
|
1894
|
-
"color": "inherit",
|
|
1895
|
-
"font": "inherit",
|
|
1896
|
-
"text-align": "left",
|
|
1897
|
-
"cursor": "pointer"
|
|
1898
|
-
},
|
|
1899
|
-
"[data-boring=\"feedback\"].boring-feedback-list li button:hover, [data-boring=\"feedback\"].boring-feedback-list li button[aria-current=\"true\"]": {
|
|
1900
|
-
"background": "var(--accent)"
|
|
1901
|
-
},
|
|
1902
1648
|
"[data-boring=\"feedback\"] .boring-feedback-title": {
|
|
1903
1649
|
"font-weight": "var(--font-weight-semibold, 600)"
|
|
1904
1650
|
},
|
|
@@ -1949,30 +1695,20 @@
|
|
|
1949
1695
|
"left": "0",
|
|
1950
1696
|
"right": "0",
|
|
1951
1697
|
"z-index": "2147483000",
|
|
1952
|
-
"
|
|
1698
|
+
"flex-direction": "row",
|
|
1953
1699
|
"flex-wrap": "nowrap",
|
|
1954
1700
|
"align-items": "center",
|
|
1955
1701
|
"gap": "0.5rem",
|
|
1956
1702
|
"width": "max-content",
|
|
1957
1703
|
"max-width": "calc(100vw - 24px)",
|
|
1958
|
-
"margin": "0 auto"
|
|
1959
|
-
"padding": "0.375rem 0.5rem 0.375rem 0.875rem",
|
|
1960
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
1961
|
-
"border-radius": "999px",
|
|
1962
|
-
"background": "var(--boring-feedback-surface)",
|
|
1963
|
-
"box-shadow": "var(--boring-feedback-shadow)"
|
|
1964
|
-
},
|
|
1965
|
-
"[data-boring=\"feedback\"].boring-feedback-bar[data-using=\"true\"]": {
|
|
1966
|
-
"border-color": "var(--boring-feedback-reveal)"
|
|
1704
|
+
"margin": "0 auto"
|
|
1967
1705
|
},
|
|
1968
1706
|
"[data-boring=\"feedback\"].boring-feedback-bar[data-docked=\"true\"]": {
|
|
1969
1707
|
"position": "static",
|
|
1970
1708
|
"width": "auto",
|
|
1971
1709
|
"max-width": "none",
|
|
1972
1710
|
"margin": "0 0.625rem 0.625rem",
|
|
1973
|
-
"flex-wrap": "wrap"
|
|
1974
|
-
"border-radius": "var(--radius-xl, calc(var(--radius, 0.625rem) * 1.4))",
|
|
1975
|
-
"box-shadow": "none"
|
|
1711
|
+
"flex-wrap": "wrap"
|
|
1976
1712
|
},
|
|
1977
1713
|
"[data-boring=\"feedback\"].boring-feedback-bar > *": {
|
|
1978
1714
|
"flex": "none"
|
|
@@ -1989,15 +1725,6 @@
|
|
|
1989
1725
|
"gap": "0.375rem",
|
|
1990
1726
|
"font-weight": "var(--font-weight-semibold, 600)"
|
|
1991
1727
|
},
|
|
1992
|
-
"[data-boring=\"feedback\"] .boring-feedback-dot": {
|
|
1993
|
-
"width": "0.5rem",
|
|
1994
|
-
"height": "0.5rem",
|
|
1995
|
-
"border-radius": "50%",
|
|
1996
|
-
"background": "var(--boring-feedback-accent)"
|
|
1997
|
-
},
|
|
1998
|
-
"[data-boring=\"feedback\"].boring-feedback-bar[data-using=\"true\"] .boring-feedback-dot": {
|
|
1999
|
-
"background": "var(--boring-feedback-reveal)"
|
|
2000
|
-
},
|
|
2001
1728
|
"[data-boring=\"feedback\"] .boring-feedback-bar-meta": {
|
|
2002
1729
|
"color": "var(--boring-feedback-muted)",
|
|
2003
1730
|
"font-size": "var(--text-sm, 0.875rem)"
|
|
@@ -2006,59 +1733,14 @@
|
|
|
2006
1733
|
"color": "var(--boring-feedback-muted)",
|
|
2007
1734
|
"font-size": "var(--text-xs, 0.75rem)"
|
|
2008
1735
|
},
|
|
2009
|
-
"[data-boring=\"feedback\"] .boring-feedback-icon[aria-pressed=\"true\"]": {
|
|
2010
|
-
"background": "color-mix(in srgb, var(--destructive) 16%, transparent)",
|
|
2011
|
-
"color": "var(--destructive)"
|
|
2012
|
-
},
|
|
2013
|
-
"[data-boring=\"feedback\"] .boring-feedback-icon:disabled": {
|
|
2014
|
-
"opacity": "0.45",
|
|
2015
|
-
"cursor": "default"
|
|
2016
|
-
},
|
|
2017
|
-
"[data-boring=\"feedback\"] .boring-feedback-recording": {
|
|
2018
|
-
"display": "inline-flex",
|
|
2019
|
-
"align-items": "center",
|
|
2020
|
-
"gap": "0.375rem",
|
|
2021
|
-
"padding": "0.125rem 0.5rem",
|
|
2022
|
-
"border-radius": "999px",
|
|
2023
|
-
"background": "color-mix(in srgb, var(--destructive) 12%, transparent)",
|
|
2024
|
-
"color": "var(--destructive)",
|
|
2025
|
-
"font-size": "var(--text-xs, 0.75rem)",
|
|
2026
|
-
"font-weight": "var(--font-weight-semibold, 600)"
|
|
2027
|
-
},
|
|
2028
|
-
"[data-boring=\"feedback\"] .boring-feedback-rec": {
|
|
2029
|
-
"width": "0.5rem",
|
|
2030
|
-
"height": "0.5rem",
|
|
2031
|
-
"border-radius": "50%",
|
|
2032
|
-
"background": "var(--destructive)"
|
|
2033
|
-
},
|
|
2034
1736
|
"[data-boring=\"feedback\"].boring-feedback-bar[data-docked=\"true\"] > .boring-feedback-hint": {
|
|
2035
1737
|
"flex": "1 1 10rem",
|
|
2036
1738
|
"max-width": "none",
|
|
2037
1739
|
"white-space": "normal"
|
|
2038
1740
|
},
|
|
2039
|
-
"[data-boring=\"feedback\"] .boring-feedback-record": {
|
|
2040
|
-
"min-height": "2rem",
|
|
2041
|
-
"padding": "0 0.625rem",
|
|
2042
|
-
"gap": "0.3125rem",
|
|
2043
|
-
"font-size": "var(--text-sm, 0.875rem)"
|
|
2044
|
-
},
|
|
2045
|
-
"[data-boring=\"feedback\"] .boring-feedback-record[aria-pressed=\"true\"]": {
|
|
2046
|
-
"border-color": "transparent",
|
|
2047
|
-
"background": "var(--destructive)",
|
|
2048
|
-
"color": "white"
|
|
2049
|
-
},
|
|
2050
|
-
"[data-boring=\"feedback\"] .boring-feedback-stop": {
|
|
2051
|
-
"width": "0.625rem",
|
|
2052
|
-
"height": "0.625rem",
|
|
2053
|
-
"border-radius": "2px",
|
|
2054
|
-
"background": "currentColor"
|
|
2055
|
-
},
|
|
2056
1741
|
"[data-boring=\"feedback\"] .boring-feedback-timer": {
|
|
2057
1742
|
"font-variant-numeric": "tabular-nums"
|
|
2058
1743
|
},
|
|
2059
|
-
"[data-boring=\"feedback\"].boring-feedback-bar[data-recording=\"true\"]": {
|
|
2060
|
-
"border-color": "color-mix(in srgb, var(--destructive) 55%, var(--boring-feedback-border))"
|
|
2061
|
-
},
|
|
2062
1744
|
"[data-boring=\"feedback\"] .boring-feedback-voice-problem": {
|
|
2063
1745
|
"flex": "1 1 100%",
|
|
2064
1746
|
"margin": "0",
|
|
@@ -2093,24 +1775,8 @@
|
|
|
2093
1775
|
"font-size": "var(--text-xs, 0.75rem)",
|
|
2094
1776
|
"line-height": "var(--leading-snug, 1.375)"
|
|
2095
1777
|
},
|
|
2096
|
-
"[data-boring=\"feedback\"] .boring-feedback-badge": {
|
|
2097
|
-
"flex": "none",
|
|
2098
|
-
"padding": "0 0.375rem",
|
|
2099
|
-
"border-radius": "999px",
|
|
2100
|
-
"background": "var(--muted)",
|
|
2101
|
-
"color": "var(--boring-feedback-muted)",
|
|
2102
|
-
"font-size": "var(--text-xs, 0.75rem)",
|
|
2103
|
-
"line-height": "calc(var(--spacing, 0.25rem) * 5)"
|
|
2104
|
-
},
|
|
2105
1778
|
"[data-boring=\"feedback\"].boring-feedback-bubble": {
|
|
2106
|
-
"z-index": "2147483001"
|
|
2107
|
-
"display": "grid",
|
|
2108
|
-
"gap": "0.375rem",
|
|
2109
|
-
"padding": "0.5rem",
|
|
2110
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
2111
|
-
"border-radius": "var(--boring-feedback-radius)",
|
|
2112
|
-
"background": "var(--boring-feedback-surface)",
|
|
2113
|
-
"box-shadow": "var(--boring-feedback-shadow)"
|
|
1779
|
+
"z-index": "2147483001"
|
|
2114
1780
|
},
|
|
2115
1781
|
"[data-boring=\"feedback\"] .boring-feedback-bubble-head, [data-boring=\"feedback\"] .boring-feedback-note-head": {
|
|
2116
1782
|
"display": "flex",
|
|
@@ -2137,46 +1803,17 @@
|
|
|
2137
1803
|
"flex-wrap": "wrap",
|
|
2138
1804
|
"align-items": "center",
|
|
2139
1805
|
"gap": "0.125rem",
|
|
2140
|
-
"max-width": "100%"
|
|
2141
|
-
"padding": "0.125rem 0.125rem 0.125rem 0.625rem",
|
|
2142
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
2143
|
-
"border-radius": "999px",
|
|
2144
|
-
"background": "color-mix(in srgb, var(--boring-feedback-accent) 8%, var(--boring-feedback-surface))",
|
|
2145
|
-
"font-size": "var(--text-sm, 0.875rem)"
|
|
2146
|
-
},
|
|
2147
|
-
"[data-boring=\"feedback\"] .boring-feedback-chip-open": {
|
|
2148
|
-
"min-width": "0",
|
|
2149
|
-
"padding": "0.25rem 0.25rem",
|
|
2150
|
-
"border": "0",
|
|
2151
|
-
"background": "transparent",
|
|
2152
|
-
"color": "inherit",
|
|
2153
|
-
"font": "inherit",
|
|
2154
|
-
"font-weight": "var(--font-weight-semibold, 600)",
|
|
2155
|
-
"text-align": "left",
|
|
2156
|
-
"cursor": "pointer"
|
|
1806
|
+
"max-width": "100%"
|
|
2157
1807
|
},
|
|
2158
1808
|
"[data-boring=\"feedback\"] .boring-feedback-chip-route": {
|
|
2159
1809
|
"color": "var(--boring-feedback-muted)",
|
|
2160
1810
|
"font-family": "var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace)",
|
|
2161
1811
|
"font-weight": "var(--font-weight-medium, 500)"
|
|
2162
1812
|
},
|
|
2163
|
-
"[data-boring=\"feedback\"] .boring-feedback-chip-remove": {
|
|
2164
|
-
"width": "1.5rem",
|
|
2165
|
-
"height": "1.5rem",
|
|
2166
|
-
"font-size": "var(--text-base, 1rem)"
|
|
2167
|
-
},
|
|
2168
1813
|
"[data-boring=\"feedback\"].boring-feedback-review": {
|
|
2169
1814
|
"z-index": "2147483000",
|
|
2170
|
-
"display": "flex",
|
|
2171
|
-
"flex-direction": "column",
|
|
2172
|
-
"gap": "0.625rem",
|
|
2173
1815
|
"max-height": "min(28rem, calc(100dvh - 24px))",
|
|
2174
1816
|
"overflow": "auto",
|
|
2175
|
-
"padding": "0.875rem",
|
|
2176
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
2177
|
-
"border-radius": "var(--boring-feedback-radius)",
|
|
2178
|
-
"background": "var(--boring-feedback-surface)",
|
|
2179
|
-
"box-shadow": "var(--boring-feedback-shadow)",
|
|
2180
1817
|
"text-align": "left"
|
|
2181
1818
|
},
|
|
2182
1819
|
"[data-boring=\"feedback\"] .boring-feedback-notes": {
|
|
@@ -2189,34 +1826,15 @@
|
|
|
2189
1826
|
},
|
|
2190
1827
|
"[data-boring=\"feedback\"] .boring-feedback-notes > li": {
|
|
2191
1828
|
"display": "grid",
|
|
2192
|
-
"gap": "0.25rem"
|
|
2193
|
-
"padding": "0.375rem",
|
|
2194
|
-
"border-radius": "var(--boring-feedback-radius-md)"
|
|
2195
|
-
},
|
|
2196
|
-
"[data-boring=\"feedback\"] .boring-feedback-notes > li:hover, [data-boring=\"feedback\"] .boring-feedback-notes > li:focus-within": {
|
|
2197
|
-
"background": "var(--accent)"
|
|
1829
|
+
"gap": "0.25rem"
|
|
2198
1830
|
},
|
|
2199
1831
|
"[data-boring=\"feedback\"].boring-feedback-pointbar": {
|
|
2200
1832
|
"position": "fixed",
|
|
2201
1833
|
"left": "8px",
|
|
2202
1834
|
"right": "8px",
|
|
2203
1835
|
"z-index": "2147483000",
|
|
2204
|
-
"display": "flex",
|
|
2205
|
-
"flex-direction": "column",
|
|
2206
|
-
"gap": "0.375rem",
|
|
2207
1836
|
"max-width": "32rem",
|
|
2208
|
-
"margin": "0 auto"
|
|
2209
|
-
"padding": "0.5rem",
|
|
2210
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
2211
|
-
"border-radius": "var(--boring-feedback-radius)",
|
|
2212
|
-
"background": "var(--boring-feedback-surface)",
|
|
2213
|
-
"box-shadow": "var(--boring-feedback-shadow)"
|
|
2214
|
-
},
|
|
2215
|
-
"[data-boring=\"feedback\"].boring-feedback-pointbar[data-using=\"true\"]": {
|
|
2216
|
-
"border-color": "var(--boring-feedback-reveal)"
|
|
2217
|
-
},
|
|
2218
|
-
"[data-boring=\"feedback\"].boring-feedback-pointbar[data-using=\"true\"] .boring-feedback-dot": {
|
|
2219
|
-
"background": "var(--boring-feedback-reveal)"
|
|
1837
|
+
"margin": "0 auto"
|
|
2220
1838
|
},
|
|
2221
1839
|
"[data-boring=\"feedback\"] .boring-feedback-point-line": {
|
|
2222
1840
|
"display": "flex",
|
|
@@ -2225,9 +1843,6 @@
|
|
|
2225
1843
|
"min-width": "0",
|
|
2226
1844
|
"padding": "0 0.25rem"
|
|
2227
1845
|
},
|
|
2228
|
-
"[data-boring=\"feedback\"] .boring-feedback-point-line .boring-feedback-dot": {
|
|
2229
|
-
"flex": "none"
|
|
2230
|
-
},
|
|
2231
1846
|
"[data-boring=\"feedback\"] .boring-feedback-point-hint": {
|
|
2232
1847
|
"flex": "1",
|
|
2233
1848
|
"min-width": "0",
|
|
@@ -2244,21 +1859,10 @@
|
|
|
2244
1859
|
"align-items": "center",
|
|
2245
1860
|
"gap": "0.375rem"
|
|
2246
1861
|
},
|
|
2247
|
-
"[data-boring=\"feedback\"] .boring-feedback-point-actions .boring-feedback-button": {
|
|
2248
|
-
"min-height": "2.75rem",
|
|
2249
|
-
"min-width": "2.75rem"
|
|
2250
|
-
},
|
|
2251
1862
|
"[data-boring=\"feedback\"] .boring-feedback-point-spacer": {
|
|
2252
1863
|
"flex": "1"
|
|
2253
1864
|
},
|
|
2254
1865
|
"@media (max-width: 640px), (pointer: coarse)": {
|
|
2255
|
-
"[data-boring=\"feedback\"] .boring-feedback-button": {
|
|
2256
|
-
"min-height": "2.75rem"
|
|
2257
|
-
},
|
|
2258
|
-
"[data-boring=\"feedback\"] .boring-feedback-icon": {
|
|
2259
|
-
"width": "2.75rem",
|
|
2260
|
-
"height": "2.75rem"
|
|
2261
|
-
},
|
|
2262
1866
|
"[data-boring=\"feedback\"] .boring-feedback-hint": {
|
|
2263
1867
|
"display": "none"
|
|
2264
1868
|
},
|
|
@@ -2268,30 +1872,21 @@
|
|
|
2268
1872
|
"[data-boring=\"feedback\"].boring-feedback-bar": {
|
|
2269
1873
|
"top": "auto",
|
|
2270
1874
|
"bottom": "12px",
|
|
2271
|
-
"flex-wrap": "wrap"
|
|
2272
|
-
|
|
1875
|
+
"flex-wrap": "wrap"
|
|
1876
|
+
},
|
|
1877
|
+
"[data-boring=\"feedback\"] :is([data-slot=\"button\"], [data-slot=\"toggle\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
|
|
1878
|
+
"min-height": "2.75rem",
|
|
1879
|
+
"min-width": "2.75rem"
|
|
2273
1880
|
}
|
|
2274
1881
|
},
|
|
2275
|
-
"[data-boring=\"feedback\"] .boring-feedback-mic": {
|
|
2276
|
-
"flex": "none",
|
|
2277
|
-
"display": "block"
|
|
2278
|
-
},
|
|
2279
1882
|
"[data-boring=\"feedback\"].boring-feedback-preview": {
|
|
2280
1883
|
"position": "fixed",
|
|
2281
1884
|
"top": "12px",
|
|
2282
1885
|
"left": "0",
|
|
2283
1886
|
"right": "0",
|
|
2284
1887
|
"z-index": "2147483001",
|
|
2285
|
-
"display": "flex",
|
|
2286
|
-
"flex-direction": "column",
|
|
2287
|
-
"gap": "0.5rem",
|
|
2288
1888
|
"width": "min(40rem, calc(100vw - 24px))",
|
|
2289
|
-
"margin": "0 auto"
|
|
2290
|
-
"padding": "0.75rem 0.875rem",
|
|
2291
|
-
"border": "calc(var(--border-width, 1px) * 2) solid var(--boring-feedback-reveal)",
|
|
2292
|
-
"border-radius": "var(--boring-feedback-radius)",
|
|
2293
|
-
"background": "var(--boring-feedback-surface)",
|
|
2294
|
-
"box-shadow": "var(--boring-feedback-shadow)"
|
|
1889
|
+
"margin": "0 auto"
|
|
2295
1890
|
},
|
|
2296
1891
|
"[data-boring=\"feedback\"] .boring-feedback-preview-head": {
|
|
2297
1892
|
"display": "flex",
|
|
@@ -2299,15 +1894,6 @@
|
|
|
2299
1894
|
"align-items": "baseline",
|
|
2300
1895
|
"gap": "0.5rem"
|
|
2301
1896
|
},
|
|
2302
|
-
"[data-boring=\"feedback\"] .boring-feedback-preview-title": {
|
|
2303
|
-
"padding": "0.125rem 0.5rem",
|
|
2304
|
-
"border-radius": "999px",
|
|
2305
|
-
"background": "var(--primary)",
|
|
2306
|
-
"color": "var(--primary-foreground)",
|
|
2307
|
-
"font-size": "var(--text-sm, 0.875rem)",
|
|
2308
|
-
"letter-spacing": "var(--tracking-wide, 0.025em)",
|
|
2309
|
-
"text-transform": "uppercase"
|
|
2310
|
-
},
|
|
2311
1897
|
"[data-boring=\"feedback\"] .boring-feedback-preview-notice": {
|
|
2312
1898
|
"font-weight": "var(--font-weight-semibold, 600)"
|
|
2313
1899
|
},
|
|
@@ -2338,17 +1924,6 @@
|
|
|
2338
1924
|
"flex-wrap": "wrap",
|
|
2339
1925
|
"gap": "0.5rem"
|
|
2340
1926
|
},
|
|
2341
|
-
"[data-boring=\"feedback\"] .boring-feedback-preview-input": {
|
|
2342
|
-
"flex": "1 1 12rem",
|
|
2343
|
-
"min-width": "0",
|
|
2344
|
-
"min-height": "2.25rem",
|
|
2345
|
-
"padding": "0 0.75rem",
|
|
2346
|
-
"border": "var(--border-width, 1px) solid var(--boring-feedback-border)",
|
|
2347
|
-
"border-radius": "var(--boring-feedback-radius-md)",
|
|
2348
|
-
"background": "var(--boring-feedback-surface)",
|
|
2349
|
-
"color": "var(--boring-feedback-text)",
|
|
2350
|
-
"font": "inherit"
|
|
2351
|
-
},
|
|
2352
1927
|
"[data-boring=\"feedback\"] .boring-feedback-pin-field": {
|
|
2353
1928
|
"display": "grid"
|
|
2354
1929
|
},
|
|
@@ -2362,55 +1937,28 @@
|
|
|
2362
1937
|
"grid-row": "2"
|
|
2363
1938
|
},
|
|
2364
1939
|
"[data-boring=\"feedback\"] .boring-feedback-pin-field textarea": {
|
|
2365
|
-
"display": "block",
|
|
2366
|
-
"box-sizing": "border-box",
|
|
2367
1940
|
"width": "100%",
|
|
2368
|
-
"padding-
|
|
1941
|
+
"padding-inline-end": "3.25rem"
|
|
2369
1942
|
},
|
|
2370
1943
|
"[data-boring=\"feedback\"] .boring-feedback-pin-mic": {
|
|
2371
1944
|
"justify-self": "end",
|
|
2372
|
-
"align-self": "end"
|
|
2373
|
-
"display": "inline-flex",
|
|
2374
|
-
"align-items": "center",
|
|
2375
|
-
"justify-content": "center",
|
|
2376
|
-
"width": "2.75rem",
|
|
2377
|
-
"height": "2.75rem",
|
|
2378
|
-
"padding": "0",
|
|
2379
|
-
"border": "0",
|
|
2380
|
-
"border-radius": "var(--boring-feedback-radius-md)",
|
|
2381
|
-
"background": "transparent",
|
|
2382
|
-
"color": "var(--boring-feedback-muted)",
|
|
2383
|
-
"cursor": "pointer"
|
|
2384
|
-
},
|
|
2385
|
-
"[data-boring=\"feedback\"] .boring-feedback-pin-mic:hover": {
|
|
2386
|
-
"color": "var(--boring-feedback-text, inherit)"
|
|
2387
|
-
},
|
|
2388
|
-
"[data-boring=\"feedback\"] .boring-feedback-pin-mic[aria-pressed=\"true\"]": {
|
|
2389
|
-
"color": "var(--boring-feedback-accent)"
|
|
2390
|
-
},
|
|
2391
|
-
"[data-boring=\"feedback\"] .boring-feedback-pin-mic:disabled": {
|
|
2392
|
-
"opacity": "0.6",
|
|
2393
|
-
"cursor": "default"
|
|
1945
|
+
"align-self": "end"
|
|
2394
1946
|
},
|
|
2395
1947
|
"[data-boring=\"feedback\"] .boring-feedback-bubble-actions": {
|
|
2396
1948
|
"display": "flex",
|
|
2397
1949
|
"flex-wrap": "wrap",
|
|
2398
1950
|
"gap": "0.375rem"
|
|
2399
|
-
},
|
|
2400
|
-
"[data-boring=\"feedback\"] .boring-feedback-bubble-actions .boring-feedback-button": {
|
|
2401
|
-
"min-height": "2.75rem",
|
|
2402
|
-
"padding": "0 0.625rem",
|
|
2403
|
-
"font-size": "var(--text-sm, 0.875rem)"
|
|
2404
|
-
},
|
|
2405
|
-
"@media (pointer: coarse)": {
|
|
2406
|
-
"[data-boring=\"feedback\"] .boring-feedback-bubble-actions .boring-feedback-button": {
|
|
2407
|
-
"min-height": "2.75rem"
|
|
2408
|
-
}
|
|
2409
1951
|
}
|
|
2410
1952
|
},
|
|
2411
1953
|
"registryDependencies": [
|
|
2412
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
2413
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
1954
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-chat.json",
|
|
1955
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
1956
|
+
"button",
|
|
1957
|
+
"toggle",
|
|
1958
|
+
"badge",
|
|
1959
|
+
"item",
|
|
1960
|
+
"card",
|
|
1961
|
+
"textarea"
|
|
2414
1962
|
]
|
|
2415
1963
|
},
|
|
2416
1964
|
{
|
|
@@ -2419,7 +1967,7 @@
|
|
|
2419
1967
|
"title": "Feedback preview",
|
|
2420
1968
|
"description": "PreviewBanner: a live, reversible preview of a change in the page (Approve / Discard) over `@hachej/boring-feedback/preview`, whose subagent calls models through a host gateway. Separate from `feedback` so annotation-only apps do not install the model SDK; install `feedback` first (its styles cover the banner).",
|
|
2421
1969
|
"dependencies": [
|
|
2422
|
-
"@hachej/boring-feedback@^0.
|
|
1970
|
+
"@hachej/boring-feedback@^0.4.0",
|
|
2423
1971
|
"@earendil-works/pi-ai@~1.2.0",
|
|
2424
1972
|
"react@^19.0.0"
|
|
2425
1973
|
],
|
|
@@ -2429,6 +1977,12 @@
|
|
|
2429
1977
|
"type": "registry:component",
|
|
2430
1978
|
"target": "components/feedback-preview/preview-banner.tsx"
|
|
2431
1979
|
}
|
|
1980
|
+
],
|
|
1981
|
+
"registryDependencies": [
|
|
1982
|
+
"button",
|
|
1983
|
+
"card",
|
|
1984
|
+
"badge",
|
|
1985
|
+
"input"
|
|
2432
1986
|
]
|
|
2433
1987
|
},
|
|
2434
1988
|
{
|
|
@@ -2437,8 +1991,8 @@
|
|
|
2437
1991
|
"title": "Consumer task-list viewer",
|
|
2438
1992
|
"description": "A consumer-defined task-list schema and controller over the shared text buffer, with a restylable borrowed React renderer.",
|
|
2439
1993
|
"dependencies": [
|
|
2440
|
-
"@hachej/boring-ui-kit@^0.
|
|
2441
|
-
"@hachej/boring-files@^0.
|
|
1994
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
1995
|
+
"@hachej/boring-files@^0.4.0",
|
|
2442
1996
|
"react@^19.0.0",
|
|
2443
1997
|
"react-dom@^19.0.0",
|
|
2444
1998
|
"zod@^4.6.5"
|
|
@@ -2462,11 +2016,7 @@
|
|
|
2462
2016
|
],
|
|
2463
2017
|
"css": {
|
|
2464
2018
|
".boring-task-list-recipe[data-boring=\"task-list-viewer\"]": {
|
|
2465
|
-
"padding": "
|
|
2466
|
-
"border": "1px solid var(--border, #d1d5db)",
|
|
2467
|
-
"border-radius": "var(--boring-task-list-radius, 0.75rem)",
|
|
2468
|
-
"background": "var(--background, #fff)",
|
|
2469
|
-
"color": "var(--foreground, #111827)"
|
|
2019
|
+
"padding-inline": "var(--card-spacing)"
|
|
2470
2020
|
},
|
|
2471
2021
|
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] ul": {
|
|
2472
2022
|
"list-style": "none",
|
|
@@ -2480,38 +2030,62 @@
|
|
|
2480
2030
|
"gap": "0.5rem",
|
|
2481
2031
|
"flex-wrap": "wrap"
|
|
2482
2032
|
},
|
|
2483
|
-
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] button": {
|
|
2484
|
-
"min-height": "2.25rem",
|
|
2485
|
-
"padding": "0.375rem 0.75rem"
|
|
2486
|
-
},
|
|
2487
|
-
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] input[type=\"text\"]": {
|
|
2488
|
-
"min-height": "2.25rem",
|
|
2489
|
-
"max-width": "100%"
|
|
2490
|
-
},
|
|
2491
2033
|
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] [role=\"alert\"]": {
|
|
2492
|
-
"color": "var(--destructive
|
|
2493
|
-
},
|
|
2494
|
-
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] :focus-visible": {
|
|
2495
|
-
"outline": "2px solid var(--ring, #2563eb)",
|
|
2496
|
-
"outline-offset": "2px"
|
|
2034
|
+
"color": "var(--destructive)"
|
|
2497
2035
|
}
|
|
2498
2036
|
},
|
|
2499
|
-
"docs": "The installed task-list schema/controller are trusted consumer code; publication and draft recovery come from @hachej/boring-ui-kit/text-buffer. Construct a feature with a host-authenticated ResourceClient and exact source, then pass its concrete controller to TaskListViewer. Install native tools separately on the server. No host credentials or native kernel are copied into this item. Local tarball qualification only; no hosted release endpoint is advertised."
|
|
2037
|
+
"docs": "The installed task-list schema/controller are trusted consumer code; publication and draft recovery come from @hachej/boring-ui-kit/text-buffer. Construct a feature with a host-authenticated ResourceClient and exact source, then pass its concrete controller to TaskListViewer. Install native tools separately on the server. No host credentials or native kernel are copied into this item. Local tarball qualification only; no hosted release endpoint is advertised.",
|
|
2038
|
+
"registryDependencies": [
|
|
2039
|
+
"button",
|
|
2040
|
+
"card",
|
|
2041
|
+
"input",
|
|
2042
|
+
"checkbox"
|
|
2043
|
+
]
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
"name": "version-history",
|
|
2047
|
+
"type": "registry:component",
|
|
2048
|
+
"title": "Version history rows",
|
|
2049
|
+
"description": "Shared view-only version rows and menu metadata with relative time, provenance and Current. No file reads, publication or restoration.",
|
|
2050
|
+
"dependencies": [
|
|
2051
|
+
"@hachej/boring-files@^0.4.0",
|
|
2052
|
+
"react@^19.0.0"
|
|
2053
|
+
],
|
|
2054
|
+
"registryDependencies": [
|
|
2055
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
2056
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json",
|
|
2057
|
+
"button"
|
|
2058
|
+
],
|
|
2059
|
+
"files": [
|
|
2060
|
+
{
|
|
2061
|
+
"path": "registry/version-history/version-history.tsx",
|
|
2062
|
+
"type": "registry:component",
|
|
2063
|
+
"target": "components/version-history/version-history.tsx"
|
|
2064
|
+
}
|
|
2065
|
+
]
|
|
2500
2066
|
},
|
|
2501
2067
|
{
|
|
2502
2068
|
"name": "file-tree",
|
|
2503
2069
|
"type": "registry:component",
|
|
2504
2070
|
"title": "File tree",
|
|
2505
|
-
"description": "Browse, search, upload and inspect retained versions through one revisionProvider binding.",
|
|
2071
|
+
"description": "Browse, search, upload and inspect retained versions through one revisionProvider binding. Uses the consumer's shadcn Button and dropdown-menu with shared version-history rows; Base UI style only.",
|
|
2506
2072
|
"dependencies": [
|
|
2507
|
-
"@hachej/boring-ui-kit@^0.
|
|
2508
|
-
"@hachej/boring-files@^0.
|
|
2073
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
2074
|
+
"@hachej/boring-files@^0.4.0",
|
|
2509
2075
|
"react@^19.0.0",
|
|
2510
|
-
"radix-ui@^1.8.0",
|
|
2511
2076
|
"lucide-react@^1.51.0"
|
|
2512
2077
|
],
|
|
2513
2078
|
"registryDependencies": [
|
|
2514
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
2079
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
2080
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
2081
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/version-history.json",
|
|
2082
|
+
"button",
|
|
2083
|
+
"dropdown-menu",
|
|
2084
|
+
"collapsible",
|
|
2085
|
+
"empty",
|
|
2086
|
+
"input",
|
|
2087
|
+
"separator",
|
|
2088
|
+
"sidebar"
|
|
2515
2089
|
],
|
|
2516
2090
|
"files": [
|
|
2517
2091
|
{
|
|
@@ -2521,6 +2095,59 @@
|
|
|
2521
2095
|
}
|
|
2522
2096
|
],
|
|
2523
2097
|
"css": {}
|
|
2098
|
+
},
|
|
2099
|
+
{
|
|
2100
|
+
"name": "documents",
|
|
2101
|
+
"type": "registry:block",
|
|
2102
|
+
"title": "Documents: the Library, a file and its revisions",
|
|
2103
|
+
"description": "The workspace's Library as the list, the chosen file in its viewer and its retained revisions beside it (an older one opens read-only). DocumentSheet opens one document over the app for a host's « Voir la fiche », with an optional « Toutes les fiches ». Every read goes through one revisionProvider binding.",
|
|
2104
|
+
"dependencies": [
|
|
2105
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
2106
|
+
"@hachej/boring-files@^0.4.0",
|
|
2107
|
+
"react@^19.0.0",
|
|
2108
|
+
"lucide-react@^1.51.0"
|
|
2109
|
+
],
|
|
2110
|
+
"registryDependencies": [
|
|
2111
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
2112
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
2113
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json",
|
|
2114
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-chat.json",
|
|
2115
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/pi-app.json",
|
|
2116
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/app-shell.json",
|
|
2117
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/file-tree.json",
|
|
2118
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/viewers.json",
|
|
2119
|
+
"drawer",
|
|
2120
|
+
"button",
|
|
2121
|
+
"scroll-area",
|
|
2122
|
+
"separator"
|
|
2123
|
+
],
|
|
2124
|
+
"files": [
|
|
2125
|
+
{
|
|
2126
|
+
"path": "registry/documents/documents.tsx",
|
|
2127
|
+
"type": "registry:component",
|
|
2128
|
+
"target": "components/documents/documents.tsx"
|
|
2129
|
+
},
|
|
2130
|
+
{
|
|
2131
|
+
"path": "registry/documents/document-sheet.tsx",
|
|
2132
|
+
"type": "registry:component",
|
|
2133
|
+
"target": "components/documents/document-sheet.tsx"
|
|
2134
|
+
},
|
|
2135
|
+
{
|
|
2136
|
+
"path": "registry/documents/revisions.tsx",
|
|
2137
|
+
"type": "registry:component",
|
|
2138
|
+
"target": "components/documents/revisions.tsx"
|
|
2139
|
+
},
|
|
2140
|
+
{
|
|
2141
|
+
"path": "registry/documents/words.tsx",
|
|
2142
|
+
"type": "registry:component",
|
|
2143
|
+
"target": "components/documents/words.tsx"
|
|
2144
|
+
},
|
|
2145
|
+
{
|
|
2146
|
+
"path": "registry/documents/documents-labels.ts",
|
|
2147
|
+
"type": "registry:lib",
|
|
2148
|
+
"target": "components/documents/documents-labels.ts"
|
|
2149
|
+
}
|
|
2150
|
+
]
|
|
2524
2151
|
}
|
|
2525
2152
|
]
|
|
2526
2153
|
}
|