@hachej/boring-ui-kit 0.4.58 → 0.4.59
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/bin/boring-ui-blocks.mjs +49 -4
- package/package.json +6 -6
- package/r/_shared.json +19 -0
- package/r/agent-target.json +4 -4
- package/r/app-shell.json +17 -17
- package/r/board-viewer.json +10 -10
- package/r/button.json +4 -4
- package/r/data-table.json +21 -0
- package/r/diagram-viewer.json +6 -4
- package/r/dock.json +1 -1
- package/r/documents.json +13 -14
- package/r/drawing-viewer.json +6 -4
- package/r/empty-state.json +22 -0
- package/r/feedback.json +14 -14
- package/r/file-tree.json +4 -4
- package/r/highlights.json +3 -3
- package/r/html-viewer.json +3 -3
- package/r/kpi-stat.json +22 -0
- package/r/list-row.json +21 -0
- package/r/looks-viewer.json +6 -6
- package/r/maquette-viewer.json +7 -6
- package/r/markdown-editor.json +10 -9
- package/r/mockup-viewer.json +5 -5
- package/r/page-header.json +22 -0
- package/r/pi-ambient.json +12 -12
- package/r/pi-app-kinds.json +10 -10
- package/r/pi-app.json +17 -17
- package/r/pi-artifacts.json +4 -4
- package/r/pi-chat-approval.json +4 -4
- package/r/pi-chat-attachments.json +4 -4
- package/r/pi-chat-markdown.json +3 -3
- package/r/pi-chat-mentions.json +4 -4
- package/r/pi-chat-pickers.json +4 -4
- package/r/pi-chat-plugins.json +11 -11
- package/r/pi-chat-question.json +3 -3
- package/r/pi-chat-slash.json +5 -5
- package/r/pi-chat-subagent.json +4 -4
- package/r/pi-chat-voice.json +7 -7
- package/r/pi-chat.json +17 -17
- package/r/pi-workspace.json +3 -3
- package/r/placed-agent.json +7 -7
- package/r/provider-setup.json +4 -4
- package/r/record-viewer.json +5 -3
- package/r/registry.json +494 -280
- package/r/shared-chat.json +11 -11
- package/r/spaces.json +7 -5
- package/r/task-list-viewer.json +28 -3
- package/r/theme.json +115 -50
- package/r/version-history.json +2 -2
- package/r/viewer-code.json +5 -5
- package/r/viewer-frame.json +9 -9
- package/r/viewer-html.json +7 -7
- package/r/viewer-image.json +5 -5
- package/r/viewer-markdown.json +7 -7
- package/r/viewer-pdf.json +6 -6
- package/r/viewers.json +6 -6
- package/r/windows.json +4 -4
package/r/registry.json
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"name": "theme",
|
|
8
8
|
"type": "registry:theme",
|
|
9
9
|
"title": "Theme",
|
|
10
|
-
"description": "
|
|
10
|
+
"description": "Optional default theme tokens and Tailwind v4 bindings: original grey canvas, flat white surface roles, compact type and semantic statuses. Explicit shadcn add overwrites matching host tokens; blocks never install this theme automatically. Font families are declarations only; hosts load the fonts and own primitive geometry and icons.",
|
|
11
11
|
"cssVars": {
|
|
12
12
|
"theme": {
|
|
13
13
|
"color-background": "var(--background)",
|
|
@@ -25,6 +25,7 @@
|
|
|
25
25
|
"color-accent": "var(--accent)",
|
|
26
26
|
"color-accent-foreground": "var(--accent-foreground)",
|
|
27
27
|
"color-destructive": "var(--destructive)",
|
|
28
|
+
"color-success": "var(--success)",
|
|
28
29
|
"color-border": "var(--border)",
|
|
29
30
|
"color-input": "var(--input)",
|
|
30
31
|
"color-ring": "var(--ring)",
|
|
@@ -33,6 +34,16 @@
|
|
|
33
34
|
"color-chart-3": "var(--chart-3)",
|
|
34
35
|
"color-chart-4": "var(--chart-4)",
|
|
35
36
|
"color-chart-5": "var(--chart-5)",
|
|
37
|
+
"color-sidebar": "var(--sidebar)",
|
|
38
|
+
"color-sidebar-foreground": "var(--sidebar-foreground)",
|
|
39
|
+
"color-sidebar-primary": "var(--sidebar-primary)",
|
|
40
|
+
"color-sidebar-primary-foreground": "var(--sidebar-primary-foreground)",
|
|
41
|
+
"color-sidebar-accent": "var(--sidebar-accent)",
|
|
42
|
+
"color-sidebar-accent-foreground": "var(--sidebar-accent-foreground)",
|
|
43
|
+
"color-sidebar-border": "var(--sidebar-border)",
|
|
44
|
+
"color-sidebar-ring": "var(--sidebar-ring)",
|
|
45
|
+
"text-xs": "var(--text-body)",
|
|
46
|
+
"text-sm": "var(--text-title)",
|
|
36
47
|
"radius-sm": "calc(var(--radius) - 4px)",
|
|
37
48
|
"radius-md": "calc(var(--radius) - 2px)",
|
|
38
49
|
"radius-lg": "var(--radius)",
|
|
@@ -72,34 +83,57 @@
|
|
|
72
83
|
"radius-pm-popover": "var(--pm-radius-popover)",
|
|
73
84
|
"radius-pm-send": "var(--pm-radius-send)",
|
|
74
85
|
"shadow-pm-popover": "var(--pm-shadow-popover)",
|
|
75
|
-
"color-pm-label": "var(--pm-label)"
|
|
86
|
+
"color-pm-label": "var(--pm-label)",
|
|
87
|
+
"font-sans": "var(--font-sans)",
|
|
88
|
+
"font-mono": "var(--font-mono)",
|
|
89
|
+
"color-success-soft": "var(--success-soft)",
|
|
90
|
+
"color-success-soft-foreground": "var(--success-soft-foreground)",
|
|
91
|
+
"color-warning": "var(--warning)",
|
|
92
|
+
"color-warning-soft": "var(--warning-soft)",
|
|
93
|
+
"color-warning-soft-foreground": "var(--warning-soft-foreground)",
|
|
94
|
+
"color-info": "var(--info)",
|
|
95
|
+
"color-info-soft": "var(--info-soft)",
|
|
96
|
+
"color-info-soft-foreground": "var(--info-soft-foreground)",
|
|
97
|
+
"color-destructive-soft": "var(--destructive-soft)",
|
|
98
|
+
"color-destructive-soft-foreground": "var(--destructive-soft-foreground)"
|
|
76
99
|
},
|
|
77
100
|
"light": {
|
|
78
|
-
"radius": "0.
|
|
79
|
-
"background": "oklch(
|
|
80
|
-
"foreground": "oklch(0.
|
|
101
|
+
"radius": "0.5rem",
|
|
102
|
+
"background": "oklch(0.97 0 0)",
|
|
103
|
+
"foreground": "oklch(0.2 0 0)",
|
|
81
104
|
"card": "oklch(1 0 0)",
|
|
82
|
-
"card-foreground": "
|
|
83
|
-
"popover": "
|
|
84
|
-
"popover-foreground": "
|
|
105
|
+
"card-foreground": "var(--foreground)",
|
|
106
|
+
"popover": "var(--card)",
|
|
107
|
+
"popover-foreground": "var(--foreground)",
|
|
85
108
|
"primary": "oklch(0.21 0.006 285.885)",
|
|
86
109
|
"primary-foreground": "oklch(0.985 0 0)",
|
|
87
|
-
"secondary": "
|
|
88
|
-
"secondary-foreground": "
|
|
89
|
-
"muted": "oklch(0.
|
|
90
|
-
"muted-foreground": "
|
|
91
|
-
"accent": "oklch(0.
|
|
92
|
-
"accent-foreground": "
|
|
93
|
-
"destructive": "oklch(0.577 0.
|
|
94
|
-
"
|
|
95
|
-
"
|
|
96
|
-
"
|
|
97
|
-
"
|
|
98
|
-
"chart-
|
|
99
|
-
"chart-
|
|
100
|
-
"chart-
|
|
101
|
-
"chart-
|
|
102
|
-
"
|
|
110
|
+
"secondary": "var(--muted)",
|
|
111
|
+
"secondary-foreground": "var(--foreground)",
|
|
112
|
+
"muted": "oklch(0.95 0 0)",
|
|
113
|
+
"muted-foreground": "color-mix(in oklab, var(--foreground) 57%, var(--background))",
|
|
114
|
+
"accent": "oklch(0.94 0 0)",
|
|
115
|
+
"accent-foreground": "var(--foreground)",
|
|
116
|
+
"destructive": "oklch(0.577 0.2 27)",
|
|
117
|
+
"success": "oklch(0.527 0.154 150)",
|
|
118
|
+
"border": "oklch(0.91 0 0)",
|
|
119
|
+
"input": "var(--border)",
|
|
120
|
+
"ring": "oklch(0.55 0.02 286)",
|
|
121
|
+
"chart-1": "oklch(0.55 0.17 264)",
|
|
122
|
+
"chart-2": "oklch(0.58 0.15 160)",
|
|
123
|
+
"chart-3": "oklch(0.63 0.15 75)",
|
|
124
|
+
"chart-4": "oklch(0.6 0.18 15)",
|
|
125
|
+
"chart-5": "oklch(0.57 0.12 300)",
|
|
126
|
+
"shell": "var(--background)",
|
|
127
|
+
"text-body": "0.75rem",
|
|
128
|
+
"text-title": "0.875rem",
|
|
129
|
+
"sidebar": "var(--background)",
|
|
130
|
+
"sidebar-foreground": "var(--foreground)",
|
|
131
|
+
"sidebar-primary": "var(--primary)",
|
|
132
|
+
"sidebar-primary-foreground": "var(--primary-foreground)",
|
|
133
|
+
"sidebar-accent": "var(--accent)",
|
|
134
|
+
"sidebar-accent-foreground": "var(--accent-foreground)",
|
|
135
|
+
"sidebar-border": "var(--border)",
|
|
136
|
+
"sidebar-ring": "var(--ring)",
|
|
103
137
|
"shadow-xs": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
104
138
|
"shadow-sm": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
105
139
|
"shadow-md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
@@ -134,33 +168,54 @@
|
|
|
134
168
|
"pm-shadow-popover": "0 0 0 1px var(--border), 0 8px 24px rgb(0 0 0 / 0.14)",
|
|
135
169
|
"pm-label": "var(--foreground)",
|
|
136
170
|
"pm-mark-line": "35%",
|
|
137
|
-
"pm-mark-width": "2px"
|
|
171
|
+
"pm-mark-width": "2px",
|
|
172
|
+
"warning": "oklch(0.6 0.15 65)",
|
|
173
|
+
"info": "oklch(0.5 0.2 264)",
|
|
174
|
+
"font-sans": "'Geist', ui-sans-serif, system-ui, sans-serif",
|
|
175
|
+
"font-mono": "'Geist Mono', ui-monospace, Menlo, monospace",
|
|
176
|
+
"success-soft": "color-mix(in oklab, var(--success) 14%, var(--card))",
|
|
177
|
+
"success-soft-foreground": "var(--success)",
|
|
178
|
+
"warning-soft": "color-mix(in oklab, var(--warning) 16%, var(--card))",
|
|
179
|
+
"warning-soft-foreground": "var(--warning)",
|
|
180
|
+
"info-soft": "color-mix(in oklab, var(--info) 12%, var(--card))",
|
|
181
|
+
"info-soft-foreground": "var(--info)",
|
|
182
|
+
"destructive-soft": "color-mix(in oklab, var(--destructive) 12%, var(--card))",
|
|
183
|
+
"destructive-soft-foreground": "var(--destructive)"
|
|
138
184
|
},
|
|
139
185
|
"dark": {
|
|
140
|
-
"background": "oklch(0.
|
|
141
|
-
"foreground": "oklch(0.
|
|
142
|
-
"card": "oklch(0.
|
|
143
|
-
"card-foreground": "
|
|
144
|
-
"popover": "
|
|
145
|
-
"popover-foreground": "
|
|
146
|
-
"primary": "oklch(0.92 0
|
|
147
|
-
"primary-foreground": "oklch(0.
|
|
148
|
-
"secondary": "
|
|
149
|
-
"secondary-foreground": "
|
|
150
|
-
"muted": "oklch(0.
|
|
151
|
-
"muted-foreground": "
|
|
152
|
-
"accent": "oklch(0.
|
|
153
|
-
"accent-foreground": "
|
|
154
|
-
"destructive": "oklch(0.
|
|
155
|
-
"
|
|
156
|
-
"
|
|
157
|
-
"
|
|
158
|
-
"
|
|
159
|
-
"chart-
|
|
160
|
-
"chart-
|
|
161
|
-
"chart-
|
|
162
|
-
"chart-
|
|
163
|
-
"
|
|
186
|
+
"background": "oklch(0.18 0 0)",
|
|
187
|
+
"foreground": "oklch(0.96 0 0)",
|
|
188
|
+
"card": "oklch(0.23 0 0)",
|
|
189
|
+
"card-foreground": "var(--foreground)",
|
|
190
|
+
"popover": "var(--card)",
|
|
191
|
+
"popover-foreground": "var(--foreground)",
|
|
192
|
+
"primary": "oklch(0.92 0 0)",
|
|
193
|
+
"primary-foreground": "oklch(0.2 0 0)",
|
|
194
|
+
"secondary": "var(--muted)",
|
|
195
|
+
"secondary-foreground": "var(--foreground)",
|
|
196
|
+
"muted": "oklch(0.27 0 0)",
|
|
197
|
+
"muted-foreground": "color-mix(in oklab, var(--foreground) 62%, var(--background))",
|
|
198
|
+
"accent": "oklch(0.28 0 0)",
|
|
199
|
+
"accent-foreground": "var(--foreground)",
|
|
200
|
+
"destructive": "oklch(0.7 0.19 22)",
|
|
201
|
+
"success": "oklch(0.7 0.17 150)",
|
|
202
|
+
"border": "oklch(1 0 0 / 10%)",
|
|
203
|
+
"input": "var(--border)",
|
|
204
|
+
"ring": "oklch(0.65 0.02 286)",
|
|
205
|
+
"chart-1": "oklch(0.72 0.15 264)",
|
|
206
|
+
"chart-2": "oklch(0.75 0.15 160)",
|
|
207
|
+
"chart-3": "oklch(0.78 0.15 75)",
|
|
208
|
+
"chart-4": "oklch(0.73 0.16 15)",
|
|
209
|
+
"chart-5": "oklch(0.74 0.12 300)",
|
|
210
|
+
"shell": "var(--background)",
|
|
211
|
+
"sidebar": "var(--background)",
|
|
212
|
+
"sidebar-foreground": "var(--foreground)",
|
|
213
|
+
"sidebar-primary": "var(--primary)",
|
|
214
|
+
"sidebar-primary-foreground": "var(--primary-foreground)",
|
|
215
|
+
"sidebar-accent": "var(--accent)",
|
|
216
|
+
"sidebar-accent-foreground": "var(--accent-foreground)",
|
|
217
|
+
"sidebar-border": "var(--border)",
|
|
218
|
+
"sidebar-ring": "var(--ring)",
|
|
164
219
|
"shadow-xs": "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
165
220
|
"shadow-sm": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)",
|
|
166
221
|
"shadow-md": "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
@@ -195,7 +250,17 @@
|
|
|
195
250
|
"pm-shadow-popover": "0 0 0 1px var(--border), 0 8px 24px rgb(0 0 0 / 0.14)",
|
|
196
251
|
"pm-label": "var(--foreground)",
|
|
197
252
|
"pm-mark-line": "35%",
|
|
198
|
-
"pm-mark-width": "2px"
|
|
253
|
+
"pm-mark-width": "2px",
|
|
254
|
+
"warning": "oklch(0.78 0.15 75)",
|
|
255
|
+
"info": "oklch(0.72 0.14 254)",
|
|
256
|
+
"success-soft": "color-mix(in oklab, var(--success) 22%, var(--card))",
|
|
257
|
+
"success-soft-foreground": "var(--success)",
|
|
258
|
+
"warning-soft": "color-mix(in oklab, var(--warning) 22%, var(--card))",
|
|
259
|
+
"warning-soft-foreground": "var(--warning)",
|
|
260
|
+
"info-soft": "color-mix(in oklab, var(--info) 22%, var(--card))",
|
|
261
|
+
"info-soft-foreground": "var(--info)",
|
|
262
|
+
"destructive-soft": "color-mix(in oklab, var(--destructive) 22%, var(--card))",
|
|
263
|
+
"destructive-soft-foreground": "var(--destructive)"
|
|
199
264
|
}
|
|
200
265
|
}
|
|
201
266
|
},
|
|
@@ -249,11 +314,11 @@
|
|
|
249
314
|
"description": "Host action metadata composed with the consumer’s shadcn Button, Toggle and DropdownMenu.",
|
|
250
315
|
"dependencies": [
|
|
251
316
|
"react@^19.0.0",
|
|
252
|
-
"react-dom@^19.0.0"
|
|
253
|
-
"lucide-react@^1.51.0"
|
|
317
|
+
"react-dom@^19.0.0"
|
|
254
318
|
],
|
|
255
319
|
"registryDependencies": [
|
|
256
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
320
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
321
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
257
322
|
],
|
|
258
323
|
"files": [
|
|
259
324
|
{
|
|
@@ -274,8 +339,8 @@
|
|
|
274
339
|
"title": "Markdown editor",
|
|
275
340
|
"description": "A host-owned styled wrapper over the concrete borrowed Markdown controller.",
|
|
276
341
|
"dependencies": [
|
|
277
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
278
|
-
"@hachej/boring-files@^0.4.
|
|
342
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
343
|
+
"@hachej/boring-files@^0.4.59",
|
|
279
344
|
"react@^19.0.0",
|
|
280
345
|
"react-dom@^19.0.0",
|
|
281
346
|
"marked@^17.0.6",
|
|
@@ -290,8 +355,7 @@
|
|
|
290
355
|
"@tiptap/extension-image@^3.31.4",
|
|
291
356
|
"@tiptap/extension-highlight@^3.31.4",
|
|
292
357
|
"@tiptap/extension-bubble-menu@^3.31.4",
|
|
293
|
-
"@tiptap/extension-floating-menu@^3.31.4"
|
|
294
|
-
"lucide-react@^1.51.0"
|
|
358
|
+
"@tiptap/extension-floating-menu@^3.31.4"
|
|
295
359
|
],
|
|
296
360
|
"files": [
|
|
297
361
|
{
|
|
@@ -346,6 +410,7 @@
|
|
|
346
410
|
"max-width": "75ch",
|
|
347
411
|
"width": "100%",
|
|
348
412
|
"margin-inline": "auto",
|
|
413
|
+
"font-size": "var(--text-xs)",
|
|
349
414
|
"line-height": "var(--leading-relaxed)",
|
|
350
415
|
"overflow-wrap": "anywhere"
|
|
351
416
|
},
|
|
@@ -353,19 +418,19 @@
|
|
|
353
418
|
"margin": "0.75rem 0"
|
|
354
419
|
},
|
|
355
420
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h1": {
|
|
356
|
-
"font-size": "var(--text-
|
|
421
|
+
"font-size": "var(--text-sm)",
|
|
357
422
|
"line-height": "var(--leading-tight)",
|
|
358
423
|
"margin": "1.25rem 0 0.75rem",
|
|
359
424
|
"font-weight": "var(--font-weight-semibold)"
|
|
360
425
|
},
|
|
361
426
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h2": {
|
|
362
|
-
"font-size": "var(--text-
|
|
427
|
+
"font-size": "var(--text-sm)",
|
|
363
428
|
"line-height": "var(--leading-tight)",
|
|
364
429
|
"margin": "1.25rem 0 0.75rem",
|
|
365
430
|
"font-weight": "var(--font-weight-semibold)"
|
|
366
431
|
},
|
|
367
432
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h3": {
|
|
368
|
-
"font-size": "var(--text-
|
|
433
|
+
"font-size": "var(--text-sm)",
|
|
369
434
|
"margin": "1rem 0 0.5rem",
|
|
370
435
|
"font-weight": "var(--font-weight-semibold)"
|
|
371
436
|
},
|
|
@@ -431,7 +496,8 @@
|
|
|
431
496
|
},
|
|
432
497
|
"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.",
|
|
433
498
|
"registryDependencies": [
|
|
434
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
499
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
500
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
435
501
|
]
|
|
436
502
|
},
|
|
437
503
|
{
|
|
@@ -440,8 +506,8 @@
|
|
|
440
506
|
"title": "HTML source and passive preview",
|
|
441
507
|
"description": "Exact HTML source editing with a reconstructed passive preview and borrowed controller. Browser security qualification remains separate.",
|
|
442
508
|
"dependencies": [
|
|
443
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
444
|
-
"@hachej/boring-files@^0.4.
|
|
509
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
510
|
+
"@hachej/boring-files@^0.4.59",
|
|
445
511
|
"react@^19.0.0",
|
|
446
512
|
"react-dom@^19.0.0"
|
|
447
513
|
],
|
|
@@ -489,7 +555,7 @@
|
|
|
489
555
|
}
|
|
490
556
|
},
|
|
491
557
|
"registryDependencies": [
|
|
492
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
558
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json"
|
|
493
559
|
]
|
|
494
560
|
},
|
|
495
561
|
{
|
|
@@ -498,22 +564,22 @@
|
|
|
498
564
|
"title": "Pi chat",
|
|
499
565
|
"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 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 question, approval, sub-agent and artifact cards are separate items (pi-chat-question, pi-chat-approval, pi-chat-subagent, pi-artifacts); without them a question or an approval shows a \"waiting for your answer\" notice, a sub-agent call is an ordinary tool step and no artifact is offered. The optional pi-ambient and pi-workspace blocks build on it.",
|
|
500
566
|
"dependencies": [
|
|
501
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
502
|
-
"@hachej/boring-files@^0.4.
|
|
567
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
568
|
+
"@hachej/boring-files@^0.4.59",
|
|
503
569
|
"react@^19.0.0",
|
|
504
570
|
"react-dom@^19.0.0",
|
|
505
571
|
"@base-ui/react@1.9.0",
|
|
506
572
|
"@earendil-works/pi-durable@~1.4.0",
|
|
507
573
|
"@earendil-works/chord@~1.4.0",
|
|
508
574
|
"@earendil-works/pi-ai@~1.4.0",
|
|
509
|
-
"@modelcontextprotocol/sdk@^1.32.
|
|
510
|
-
"lucide-react@^1.51.0",
|
|
575
|
+
"@modelcontextprotocol/sdk@^1.32.2",
|
|
511
576
|
"@shadcn/react@0.3.1",
|
|
512
577
|
"zod@^4.6.5"
|
|
513
578
|
],
|
|
514
579
|
"registryDependencies": [
|
|
515
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
516
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
580
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
581
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
582
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
517
583
|
],
|
|
518
584
|
"files": [
|
|
519
585
|
{
|
|
@@ -710,13 +776,13 @@
|
|
|
710
776
|
"title": "Pi chat Markdown",
|
|
711
777
|
"description": "Markdown for the chat's assistant replies: safe token-by-token rendering (raw HTML shown as text, no images fetched, http(s) links only), code blocks, tables, task lists and /command buttons. Plug it in with `renderText={markdownText}`; without it pi-chat shows replies as plain text.",
|
|
712
778
|
"dependencies": [
|
|
713
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
779
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
714
780
|
"react@^19.0.0",
|
|
715
781
|
"marked@^17.0.6",
|
|
716
|
-
"entities@^
|
|
782
|
+
"entities@^9.0.0"
|
|
717
783
|
],
|
|
718
784
|
"registryDependencies": [
|
|
719
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
785
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json"
|
|
720
786
|
],
|
|
721
787
|
"files": [
|
|
722
788
|
{
|
|
@@ -732,12 +798,12 @@
|
|
|
732
798
|
"title": "Pi chat slash menu",
|
|
733
799
|
"description": "The composer's `/` menu of commands and skills (and the Commands entry of the + menu). Plug it in with `slash={{ ...config, Picker: SlashPicker }}`; without it pi-chat has no `/` menu.",
|
|
734
800
|
"dependencies": [
|
|
735
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
736
|
-
"react@^19.0.0"
|
|
737
|
-
"lucide-react@^1.51.0"
|
|
801
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
802
|
+
"react@^19.0.0"
|
|
738
803
|
],
|
|
739
804
|
"registryDependencies": [
|
|
740
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
805
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
806
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
741
807
|
],
|
|
742
808
|
"files": [
|
|
743
809
|
{
|
|
@@ -753,11 +819,11 @@
|
|
|
753
819
|
"title": "Pi chat mentions",
|
|
754
820
|
"description": "The composer's `@` picker for files and other mentionable things. Plug it in with `mentions={{ ...config, Picker: MentionPicker }}`; without it typing `@` opens nothing (sent mentions still show as chips).",
|
|
755
821
|
"dependencies": [
|
|
756
|
-
"react@^19.0.0"
|
|
757
|
-
"lucide-react@^1.51.0"
|
|
822
|
+
"react@^19.0.0"
|
|
758
823
|
],
|
|
759
824
|
"registryDependencies": [
|
|
760
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
825
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
826
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
761
827
|
],
|
|
762
828
|
"files": [
|
|
763
829
|
{
|
|
@@ -773,11 +839,11 @@
|
|
|
773
839
|
"title": "Pi chat model and effort picker",
|
|
774
840
|
"description": "The composer's one model-and-effort pill. Plug it in with `model={{ ...config, Picker: ModelEffortPicker }}` (or on `effort`); without it pi-chat shows no pill.",
|
|
775
841
|
"dependencies": [
|
|
776
|
-
"react@^19.0.0"
|
|
777
|
-
"lucide-react@^1.51.0"
|
|
842
|
+
"react@^19.0.0"
|
|
778
843
|
],
|
|
779
844
|
"registryDependencies": [
|
|
780
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
845
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
846
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
781
847
|
],
|
|
782
848
|
"files": [
|
|
783
849
|
{
|
|
@@ -793,13 +859,13 @@
|
|
|
793
859
|
"title": "Pi chat voice messages",
|
|
794
860
|
"description": "Tap-to-record voice messages: a compatibility export of the kit's chat-react/voice recorder hook, the composer's record button and the pending voice bubble, plus useHoldToRecord. Plug it in with `voiceMessage={{ ...config, ...voiceMessagePlugin }}`; without it pi-chat has no voice button.",
|
|
795
861
|
"dependencies": [
|
|
796
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
797
|
-
"react@^19.0.0"
|
|
798
|
-
"lucide-react@^1.51.0"
|
|
862
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
863
|
+
"react@^19.0.0"
|
|
799
864
|
],
|
|
800
865
|
"registryDependencies": [
|
|
801
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
802
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
866
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
867
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
868
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
803
869
|
],
|
|
804
870
|
"files": [
|
|
805
871
|
{
|
|
@@ -831,11 +897,11 @@
|
|
|
831
897
|
"description": "The full-screen phone camera the composer's + menu opens (Take a photo). Plug it in with `attachments={{ ...config, Camera: CameraSheet }}`; without it the menu offers file upload only.",
|
|
832
898
|
"dependencies": [
|
|
833
899
|
"react@^19.0.0",
|
|
834
|
-
"react-dom@^19.0.0"
|
|
835
|
-
"lucide-react@^1.51.0"
|
|
900
|
+
"react-dom@^19.0.0"
|
|
836
901
|
],
|
|
837
902
|
"registryDependencies": [
|
|
838
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
903
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
904
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
839
905
|
],
|
|
840
906
|
"files": [
|
|
841
907
|
{
|
|
@@ -852,11 +918,11 @@
|
|
|
852
918
|
"description": "The human-in-the-loop question card for `ask_user` (choices, free text, answered state). Plug it in with `cards={{ question: QuestionCard }}`; without it pi-chat shows a \"waiting for your answer\" notice with no answer UI.",
|
|
853
919
|
"dependencies": [
|
|
854
920
|
"react@^19.0.0",
|
|
855
|
-
"lucide-react@^1.51.0",
|
|
856
921
|
"@earendil-works/pi-ai@~1.4.0"
|
|
857
922
|
],
|
|
858
923
|
"registryDependencies": [
|
|
859
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
924
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
925
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
860
926
|
],
|
|
861
927
|
"files": [
|
|
862
928
|
{
|
|
@@ -872,13 +938,13 @@
|
|
|
872
938
|
"title": "Pi chat approval card",
|
|
873
939
|
"description": "The Approve / Deny card for host tools wrapped with `requireApproval`. Plug it in with `cards={{ approval: ApprovalCard }}`; without it pi-chat shows a \"waiting for your answer\" notice with no answer UI.",
|
|
874
940
|
"dependencies": [
|
|
875
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
941
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
876
942
|
"react@^19.0.0",
|
|
877
|
-
"lucide-react@^1.51.0",
|
|
878
943
|
"@earendil-works/pi-ai@~1.4.0"
|
|
879
944
|
],
|
|
880
945
|
"registryDependencies": [
|
|
881
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
946
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
947
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
882
948
|
],
|
|
883
949
|
"files": [
|
|
884
950
|
{
|
|
@@ -895,11 +961,11 @@
|
|
|
895
961
|
"description": "The card for a tool call that ran a sub-agent (`delegate`, and the run card of a started run). Plug it in with `cards={{ subagent: subagentCard }}`; without it the call is an ordinary tool step.",
|
|
896
962
|
"dependencies": [
|
|
897
963
|
"react@^19.0.0",
|
|
898
|
-
"lucide-react@^1.51.0",
|
|
899
964
|
"@earendil-works/pi-ai@~1.4.0"
|
|
900
965
|
],
|
|
901
966
|
"registryDependencies": [
|
|
902
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
967
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
968
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
903
969
|
],
|
|
904
970
|
"files": [
|
|
905
971
|
{
|
|
@@ -920,14 +986,14 @@
|
|
|
920
986
|
"title": "Pi artifacts",
|
|
921
987
|
"description": "Artifact descriptors, kinds and the artifact card that opens generated content in the host's panel. Plug it in with `artifacts={{ ...artifactCards, open, isOpen, kinds }}`; without it pi-chat offers no artifact. pi-app and the viewers import their artifact kinds and types from it.",
|
|
922
988
|
"dependencies": [
|
|
923
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
989
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
924
990
|
"react@^19.0.0",
|
|
925
|
-
"lucide-react@^1.51.0",
|
|
926
991
|
"@earendil-works/pi-ai@~1.4.0",
|
|
927
992
|
"@earendil-works/pi-durable@~1.4.0"
|
|
928
993
|
],
|
|
929
994
|
"registryDependencies": [
|
|
930
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
995
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
996
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
931
997
|
],
|
|
932
998
|
"files": [
|
|
933
999
|
{
|
|
@@ -951,17 +1017,17 @@
|
|
|
951
1017
|
"react@^19.0.0"
|
|
952
1018
|
],
|
|
953
1019
|
"registryDependencies": [
|
|
954
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
955
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
956
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
957
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
958
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
959
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
960
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
961
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
962
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
963
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
964
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1020
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
1021
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-markdown.json",
|
|
1022
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-slash.json",
|
|
1023
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-mentions.json",
|
|
1024
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-pickers.json",
|
|
1025
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-voice.json",
|
|
1026
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-attachments.json",
|
|
1027
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-question.json",
|
|
1028
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-approval.json",
|
|
1029
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-subagent.json",
|
|
1030
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-artifacts.json"
|
|
965
1031
|
],
|
|
966
1032
|
"files": [
|
|
967
1033
|
{
|
|
@@ -977,21 +1043,21 @@
|
|
|
977
1043
|
"title": "Pi ambient agent",
|
|
978
1044
|
"description": "AmbientChat, a compact floating agent bar that grows into a chat window over an existing page, and AgentNotifications, toasts over the kit's shared chat-react run notifications (with the one guarded browser Notification helper). A block over the pi-chat item; its in-window artifact panel uses the pi-workspace layout.",
|
|
979
1045
|
"dependencies": [
|
|
980
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1046
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
981
1047
|
"react@^19.0.0",
|
|
982
1048
|
"react-dom@^19.0.0",
|
|
983
1049
|
"@earendil-works/pi-durable@~1.4.0",
|
|
984
|
-
"@earendil-works/pi-ai@~1.4.0"
|
|
985
|
-
"lucide-react@^1.51.0"
|
|
1050
|
+
"@earendil-works/pi-ai@~1.4.0"
|
|
986
1051
|
],
|
|
987
1052
|
"registryDependencies": [
|
|
988
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
989
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
990
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
991
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
992
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
993
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
994
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1053
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
1054
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-plugins.json",
|
|
1055
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-question.json",
|
|
1056
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-artifacts.json",
|
|
1057
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-workspace.json",
|
|
1058
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
1059
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
1060
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
995
1061
|
],
|
|
996
1062
|
"files": [
|
|
997
1063
|
{
|
|
@@ -1020,7 +1086,7 @@
|
|
|
1020
1086
|
"react@^19.0.0"
|
|
1021
1087
|
],
|
|
1022
1088
|
"registryDependencies": [
|
|
1023
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1089
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json"
|
|
1024
1090
|
],
|
|
1025
1091
|
"files": [
|
|
1026
1092
|
{
|
|
@@ -1040,9 +1106,9 @@
|
|
|
1040
1106
|
"react-dom@^19.0.0"
|
|
1041
1107
|
],
|
|
1042
1108
|
"registryDependencies": [
|
|
1043
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1044
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1045
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1109
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
1110
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
1111
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/dock.json"
|
|
1046
1112
|
],
|
|
1047
1113
|
"files": [
|
|
1048
1114
|
{
|
|
@@ -1064,12 +1130,12 @@
|
|
|
1064
1130
|
"description": "Sandboxed *.mockup.html artifacts with host theme variables (or a given shadcn theme through themeOverride), lazy Tailwind compilation and feedback point comments. Host presentation only; artifact scripts run in an opaque-origin InteractiveFrame, never in the host.",
|
|
1065
1131
|
"dependencies": [
|
|
1066
1132
|
"react@^19.0.0",
|
|
1067
|
-
"lucide-react@^1.51.0",
|
|
1068
1133
|
"tailwindcss@4.3.3",
|
|
1069
1134
|
"zod@^4.6.5"
|
|
1070
1135
|
],
|
|
1071
1136
|
"registryDependencies": [
|
|
1072
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1137
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
1138
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1073
1139
|
],
|
|
1074
1140
|
"files": [
|
|
1075
1141
|
{
|
|
@@ -1110,12 +1176,12 @@
|
|
|
1110
1176
|
"title": "Looks viewer",
|
|
1111
1177
|
"description": "A looks@1 artifact kind for *.looks.json: the same *.mockup.html key screen in 2 to 6 shadcn themes side by side (label, one-line personality, colour, font and radius swatches, Pick), then layout variants in the chosen look. A look is a shadcn preset and its theme block, applied to each sandboxed frame through MockupViewer's themeOverride. The host decides what a pick does.",
|
|
1112
1178
|
"dependencies": [
|
|
1113
|
-
"react@^19.0.0"
|
|
1114
|
-
"lucide-react@^1.51.0"
|
|
1179
|
+
"react@^19.0.0"
|
|
1115
1180
|
],
|
|
1116
1181
|
"registryDependencies": [
|
|
1117
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1118
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1182
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/mockup-viewer.json",
|
|
1183
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
1184
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1119
1185
|
],
|
|
1120
1186
|
"files": [
|
|
1121
1187
|
{
|
|
@@ -1141,8 +1207,7 @@
|
|
|
1141
1207
|
"title": "Record viewer",
|
|
1142
1208
|
"description": "Typed RecordTable and RecordList, with grouping, app-defined status badges and host row actions. createRecordsKind renders *.records.json (records@1), with a phone list and exact raw-text fallback for invalid files. English and French labels and locale formatting.",
|
|
1143
1209
|
"dependencies": [
|
|
1144
|
-
"react@^19.0.0"
|
|
1145
|
-
"lucide-react@^1.51.0"
|
|
1210
|
+
"react@^19.0.0"
|
|
1146
1211
|
],
|
|
1147
1212
|
"files": [
|
|
1148
1213
|
{
|
|
@@ -1165,6 +1230,9 @@
|
|
|
1165
1230
|
"type": "registry:component",
|
|
1166
1231
|
"target": "components/record-viewer/records-kind.tsx"
|
|
1167
1232
|
}
|
|
1233
|
+
],
|
|
1234
|
+
"registryDependencies": [
|
|
1235
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1168
1236
|
]
|
|
1169
1237
|
},
|
|
1170
1238
|
{
|
|
@@ -1173,8 +1241,7 @@
|
|
|
1173
1241
|
"title": "Diagram viewer",
|
|
1174
1242
|
"description": "DiagramViewer, DiagramView and diagramKind: an agent's *.diagram.json (format v1, versioned: nodes, edges, optional groups, highlighted path and note) as boxes and numbered arrows with a legend that says what happens and who acts. Layers run left to right while they fit and top to bottom on a phone, scrolling inside their own box; no layout library. A superset of a maquette's workflow, which the maquette viewer draws with DiagramView. Its kind is in the pi-app-kinds default list, which an app passes to the pi-app artifact panel; an app kind placed before it wins.",
|
|
1175
1243
|
"dependencies": [
|
|
1176
|
-
"react@^19.0.0"
|
|
1177
|
-
"lucide-react@^1.51.0"
|
|
1244
|
+
"react@^19.0.0"
|
|
1178
1245
|
],
|
|
1179
1246
|
"files": [
|
|
1180
1247
|
{
|
|
@@ -1202,6 +1269,9 @@
|
|
|
1202
1269
|
"type": "registry:component",
|
|
1203
1270
|
"target": "components/diagram-viewer/diagram-kind.tsx"
|
|
1204
1271
|
}
|
|
1272
|
+
],
|
|
1273
|
+
"registryDependencies": [
|
|
1274
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1205
1275
|
]
|
|
1206
1276
|
},
|
|
1207
1277
|
{
|
|
@@ -1210,9 +1280,8 @@
|
|
|
1210
1280
|
"title": "Drawing viewer",
|
|
1211
1281
|
"description": "DrawingViewer, drawingKind and describeDrawing: an Excalidraw (.excalidraw) or draw.io (.drawio) file, read-only, drawn by the tool's own renderer on a white page fitted to the shapes: Excalidraw's exportToSvg (its fonts served by the app, never its CDN) and the official diagrams.net viewer, vendored in the kit (@hachej/boring-ui-kit/drawio-viewer), in a sandboxed frame without network. Shown as an image, so nothing in the file runs; an unreadable file shows an inline error. onRead hands the shapes and arrows the renderer read (kind, place, size, label, colours, from and to). Each renderer loads the first time a drawing of its format opens; the kind is not in the pi-app-kinds default list, so apps without drawings install nothing.",
|
|
1212
1282
|
"dependencies": [
|
|
1213
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1283
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
1214
1284
|
"react@^19.0.0",
|
|
1215
|
-
"lucide-react@^1.51.0",
|
|
1216
1285
|
"@excalidraw/excalidraw@0.18.1"
|
|
1217
1286
|
],
|
|
1218
1287
|
"files": [
|
|
@@ -1251,6 +1320,9 @@
|
|
|
1251
1320
|
"type": "registry:component",
|
|
1252
1321
|
"target": "components/drawing-viewer/drawing-kind.tsx"
|
|
1253
1322
|
}
|
|
1323
|
+
],
|
|
1324
|
+
"registryDependencies": [
|
|
1325
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1254
1326
|
]
|
|
1255
1327
|
},
|
|
1256
1328
|
{
|
|
@@ -1259,11 +1331,12 @@
|
|
|
1259
1331
|
"title": "Maquette viewer",
|
|
1260
1332
|
"description": "MaquetteViewer and maquetteKind: a PM agent's *.maquette.json mock-up (format v1, versioned) one screen at a time, drawn from the host's shadcn components, under one thin icon bar: Back, previous and next (also arrow keys and swipe), an optional comment icon (point mode of the feedback item: a note pinned on a block names the maquette path, screen id and block id) and a menu with guided tours and How it works (the workflow, inline or a linked *.diagram.json, drawn by the diagram-viewer item in a dialog). Optional phone or desktop frame and #screen=<id> deep links. Its kind is in the pi-app-kinds default list, which an app passes to the pi-app artifact panel; an app kind placed before it wins.",
|
|
1261
1333
|
"dependencies": [
|
|
1262
|
-
"react@^19.0.0"
|
|
1263
|
-
"lucide-react@^1.51.0"
|
|
1334
|
+
"react@^19.0.0"
|
|
1264
1335
|
],
|
|
1265
1336
|
"registryDependencies": [
|
|
1266
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1337
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/diagram-viewer.json",
|
|
1338
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/data-table.json",
|
|
1339
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1267
1340
|
],
|
|
1268
1341
|
"files": [
|
|
1269
1342
|
{
|
|
@@ -1328,17 +1401,17 @@
|
|
|
1328
1401
|
"title": "Board viewer",
|
|
1329
1402
|
"description": "A board@1 artifact kind for *.board.json. Lazy native tldraw projection of maquette screens, sandboxed HTML mock-ups, goto arrows and notes. Conditional board-file autosave; phone viewing without accidental frame edits. Hosts supply their resource client, asset URLs and license key.",
|
|
1330
1403
|
"dependencies": [
|
|
1331
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1332
|
-
"@hachej/boring-files@^0.4.
|
|
1404
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
1405
|
+
"@hachej/boring-files@^0.4.59",
|
|
1333
1406
|
"react@^19.0.0",
|
|
1334
|
-
"
|
|
1335
|
-
"tldraw@5.5.2"
|
|
1407
|
+
"tldraw@5.6.0"
|
|
1336
1408
|
],
|
|
1337
1409
|
"registryDependencies": [
|
|
1338
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1339
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1340
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1341
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1410
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/maquette-viewer.json",
|
|
1411
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/mockup-viewer.json",
|
|
1412
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-artifacts.json",
|
|
1413
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
1414
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1342
1415
|
],
|
|
1343
1416
|
"files": [
|
|
1344
1417
|
{
|
|
@@ -1374,16 +1447,16 @@
|
|
|
1374
1447
|
"title": "Shared chat",
|
|
1375
1448
|
"description": "Optional multi-party host log presentation over PiChat's generic composition seams. No agent runtime or speaking policy.",
|
|
1376
1449
|
"dependencies": [
|
|
1377
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1378
|
-
"react@^19.0.0"
|
|
1379
|
-
"lucide-react@^1.51.0"
|
|
1450
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
1451
|
+
"react@^19.0.0"
|
|
1380
1452
|
],
|
|
1381
1453
|
"registryDependencies": [
|
|
1382
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1383
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1384
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1385
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1386
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1454
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
1455
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-plugins.json",
|
|
1456
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-markdown.json",
|
|
1457
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-mentions.json",
|
|
1458
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
1459
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1387
1460
|
],
|
|
1388
1461
|
"files": [
|
|
1389
1462
|
{
|
|
@@ -1439,21 +1512,21 @@
|
|
|
1439
1512
|
"title": "Pi agent app",
|
|
1440
1513
|
"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 panel (versions, file viewer, auto-open of new artifacts) in the ArtifactWorkspace panel, a full-screen sheet on a phone; it draws files with the kinds the app passes in artifactKinds (defaultKinds of the pi-app-kinds item is the default list). layout=\"embedded\" drops the left column for one compact top bar (title, History, Library, New) that joins an app-shell screen header. Props are data and callbacks; hooks for the conversations handler (useConversations), the chat transport (useRemoteChat) and saved resources (useSaved).",
|
|
1441
1514
|
"dependencies": [
|
|
1442
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1443
|
-
"@hachej/boring-files@^0.4.
|
|
1515
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
1516
|
+
"@hachej/boring-files@^0.4.59",
|
|
1444
1517
|
"react@^19.0.0",
|
|
1445
|
-
"react-dom@^19.0.0"
|
|
1446
|
-
"lucide-react@^1.51.0"
|
|
1518
|
+
"react-dom@^19.0.0"
|
|
1447
1519
|
],
|
|
1448
1520
|
"registryDependencies": [
|
|
1449
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1450
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1451
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1452
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1453
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1454
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1455
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1456
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1521
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
1522
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-plugins.json",
|
|
1523
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-artifacts.json",
|
|
1524
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-workspace.json",
|
|
1525
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
1526
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
1527
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
1528
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/file-tree.json",
|
|
1529
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1457
1530
|
],
|
|
1458
1531
|
"files": [
|
|
1459
1532
|
{
|
|
@@ -1539,16 +1612,16 @@
|
|
|
1539
1612
|
"title": "Pi agent app default kinds",
|
|
1540
1613
|
"description": "defaultKinds({ locale, comments }): the artifact kinds the pi-app item draws with by default, in order: maquette, diagram, mock-up and records, then Markdown, HTML, SVG, CSV, image and PDF (documentKinds). Pass it as AgentWorkspace's artifactKinds (or ViewerOptions.kinds), with an app's own kinds before it. Each kind loads its viewer on first open.",
|
|
1541
1614
|
"registryDependencies": [
|
|
1542
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1543
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1544
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1545
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1546
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1547
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1548
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1549
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1550
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1551
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1615
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-app.json",
|
|
1616
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-markdown.json",
|
|
1617
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-html.json",
|
|
1618
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-image.json",
|
|
1619
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-pdf.json",
|
|
1620
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-code.json",
|
|
1621
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/maquette-viewer.json",
|
|
1622
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/diagram-viewer.json",
|
|
1623
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/mockup-viewer.json",
|
|
1624
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/record-viewer.json"
|
|
1552
1625
|
],
|
|
1553
1626
|
"files": [
|
|
1554
1627
|
{
|
|
@@ -1565,14 +1638,14 @@
|
|
|
1565
1638
|
"description": "PlacedAgentWorkspace: AgentWorkspace over ONE controller, as a page (the app's Agent tab) or collapsed beside the app. Collapsed on a wide screen it is a floating AmbientChat; on a phone inside an app shell the same controller is lent to the shell's bottom drawer (useAgentLoan of app-shell), so one chat drawer serves the app. Outside a shell on a phone it stays the page. Placement is remembered (usePlacedAgentState) or controlled; usePlacedAgent gives collapse and expand to buttons inside it. The page stays mounted while collapsed, so its open file survives. Layout only: Pi owns the conversation.",
|
|
1566
1639
|
"dependencies": [
|
|
1567
1640
|
"react@^19.0.0",
|
|
1568
|
-
"react-dom@^19.0.0"
|
|
1569
|
-
"lucide-react@^1.51.0"
|
|
1641
|
+
"react-dom@^19.0.0"
|
|
1570
1642
|
],
|
|
1571
1643
|
"registryDependencies": [
|
|
1572
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1573
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1574
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1575
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1644
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-app.json",
|
|
1645
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-ambient.json",
|
|
1646
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/app-shell.json",
|
|
1647
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
1648
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
1576
1649
|
],
|
|
1577
1650
|
"files": [
|
|
1578
1651
|
{
|
|
@@ -1588,12 +1661,11 @@
|
|
|
1588
1661
|
"title": "Feedback",
|
|
1589
1662
|
"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.",
|
|
1590
1663
|
"dependencies": [
|
|
1591
|
-
"@hachej/boring-feedback@^0.4.
|
|
1592
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1593
|
-
"@hachej/boring-files@^0.4.
|
|
1664
|
+
"@hachej/boring-feedback@^0.4.59",
|
|
1665
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
1666
|
+
"@hachej/boring-files@^0.4.59",
|
|
1594
1667
|
"react@^19.0.0",
|
|
1595
|
-
"react-dom@^19.0.0"
|
|
1596
|
-
"lucide-react@^1.51.0"
|
|
1668
|
+
"react-dom@^19.0.0"
|
|
1597
1669
|
],
|
|
1598
1670
|
"files": [
|
|
1599
1671
|
{
|
|
@@ -2068,9 +2140,10 @@
|
|
|
2068
2140
|
}
|
|
2069
2141
|
},
|
|
2070
2142
|
"registryDependencies": [
|
|
2071
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2072
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2073
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2143
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
2144
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-voice.json",
|
|
2145
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
2146
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2074
2147
|
]
|
|
2075
2148
|
},
|
|
2076
2149
|
{
|
|
@@ -2079,21 +2152,21 @@
|
|
|
2079
2152
|
"title": "App shell: layouts, list/detail and agent layer",
|
|
2080
2153
|
"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.",
|
|
2081
2154
|
"dependencies": [
|
|
2082
|
-
"@hachej/boring-feedback@^0.4.
|
|
2083
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2155
|
+
"@hachej/boring-feedback@^0.4.59",
|
|
2156
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
2084
2157
|
"@base-ui/react@^1.9.0",
|
|
2085
2158
|
"react@^19.0.0",
|
|
2086
|
-
"react-dom@^19.0.0"
|
|
2087
|
-
"lucide-react@^1.51.0"
|
|
2159
|
+
"react-dom@^19.0.0"
|
|
2088
2160
|
],
|
|
2089
2161
|
"registryDependencies": [
|
|
2090
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2091
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2092
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2093
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2094
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2095
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2096
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2162
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
2163
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-plugins.json",
|
|
2164
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat-voice.json",
|
|
2165
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/dock.json",
|
|
2166
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/feedback.json",
|
|
2167
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
2168
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
2169
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2097
2170
|
],
|
|
2098
2171
|
"css": {
|
|
2099
2172
|
"@layer base": {
|
|
@@ -2222,15 +2295,15 @@
|
|
|
2222
2295
|
"title": "Viewer frame",
|
|
2223
2296
|
"description": "The standard viewer top bar every viewer draws in (title, status, viewer controls, Refresh, Share, Copy, Download, Open in new tab, Close, overflow menu), its window labels, download, share and media helpers and the sandboxed interactive HTML frame. The viewers' styles live here. Each viewer is its own item (viewer-markdown, viewer-html, viewer-image, viewer-pdf, viewer-code) with a cheap kind module and a view loaded on first open.",
|
|
2224
2297
|
"dependencies": [
|
|
2225
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2298
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
2226
2299
|
"react@^19.0.0",
|
|
2227
|
-
"react-dom@^19.0.0"
|
|
2228
|
-
"lucide-react@^1.51.0"
|
|
2300
|
+
"react-dom@^19.0.0"
|
|
2229
2301
|
],
|
|
2230
2302
|
"registryDependencies": [
|
|
2231
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2232
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2233
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2303
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
2304
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
2305
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/version-history.json",
|
|
2306
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2234
2307
|
],
|
|
2235
2308
|
"files": [
|
|
2236
2309
|
{
|
|
@@ -2652,9 +2725,8 @@
|
|
|
2652
2725
|
"title": "Markdown viewer",
|
|
2653
2726
|
"description": "The Markdown kind: `markdownKind` (match, loader) and `MarkdownPane`, the tiptap editor with a formatting toolbar and prose styling over the kit's revisioned Markdown controller, in the viewer frame. The pane and tiptap load the first time a Markdown file opens.",
|
|
2654
2727
|
"dependencies": [
|
|
2655
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2728
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
2656
2729
|
"react@^19.0.0",
|
|
2657
|
-
"lucide-react@^1.51.0",
|
|
2658
2730
|
"marked@^17.0.6",
|
|
2659
2731
|
"@tiptap/core@^3.31.4",
|
|
2660
2732
|
"@tiptap/react@^3.31.4",
|
|
@@ -2670,10 +2742,11 @@
|
|
|
2670
2742
|
"@tiptap/extension-floating-menu@^3.31.4"
|
|
2671
2743
|
],
|
|
2672
2744
|
"registryDependencies": [
|
|
2673
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2674
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2675
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2676
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2745
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
2746
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/markdown-editor.json",
|
|
2747
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
2748
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
2749
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2677
2750
|
],
|
|
2678
2751
|
"files": [
|
|
2679
2752
|
{
|
|
@@ -2694,14 +2767,14 @@
|
|
|
2694
2767
|
"title": "HTML viewer",
|
|
2695
2768
|
"description": "The HTML kind: `htmlKind` (match, loader) and `HtmlPane`, the passive HTML preview (sandboxed when the host opts in) and source editor, in the viewer frame. The pane loads the first time an HTML file opens.",
|
|
2696
2769
|
"dependencies": [
|
|
2697
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2698
|
-
"react@^19.0.0"
|
|
2699
|
-
"lucide-react@^1.51.0"
|
|
2770
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
2771
|
+
"react@^19.0.0"
|
|
2700
2772
|
],
|
|
2701
2773
|
"registryDependencies": [
|
|
2702
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2703
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2704
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2774
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
2775
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
2776
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
2777
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2705
2778
|
],
|
|
2706
2779
|
"files": [
|
|
2707
2780
|
{
|
|
@@ -2722,12 +2795,12 @@
|
|
|
2722
2795
|
"title": "Image viewer",
|
|
2723
2796
|
"description": "The image kind: `imageKind` (match on PNG, JPEG, GIF, WebP and SVG, loader) and `ImagePane`, zoom and pan in the viewer frame. The pane loads the first time an image opens.",
|
|
2724
2797
|
"dependencies": [
|
|
2725
|
-
"react@^19.0.0"
|
|
2726
|
-
"lucide-react@^1.51.0"
|
|
2798
|
+
"react@^19.0.0"
|
|
2727
2799
|
],
|
|
2728
2800
|
"registryDependencies": [
|
|
2729
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2730
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2801
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
2802
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
2803
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2731
2804
|
],
|
|
2732
2805
|
"files": [
|
|
2733
2806
|
{
|
|
@@ -2753,14 +2826,14 @@
|
|
|
2753
2826
|
"title": "PDF viewer",
|
|
2754
2827
|
"description": "The PDF kind: `pdfKind` (match, loader) and `PdfPane` in the viewer frame (the browser's viewer, or pdf.js pages where there is none), and LocalFileViewer for browser-only files. The pane loads the first time a PDF opens.",
|
|
2755
2828
|
"dependencies": [
|
|
2756
|
-
"@hachej/boring-files@^0.4.
|
|
2829
|
+
"@hachej/boring-files@^0.4.59",
|
|
2757
2830
|
"react@^19.0.0",
|
|
2758
|
-
"
|
|
2759
|
-
"pdfjs-dist@6.4.299"
|
|
2831
|
+
"pdfjs-dist@6.5.438"
|
|
2760
2832
|
],
|
|
2761
2833
|
"registryDependencies": [
|
|
2762
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2763
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2834
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
2835
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-image.json",
|
|
2836
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2764
2837
|
],
|
|
2765
2838
|
"files": [
|
|
2766
2839
|
{
|
|
@@ -2791,12 +2864,12 @@
|
|
|
2791
2864
|
"title": "Code viewers",
|
|
2792
2865
|
"description": "The SVG and CSV kinds: `svgKind` (a preview from a blob URL, or its source) and `csvKind` (a table), drawn inside the artifact panel's bar. Each view loads the first time its artifact opens; other code stays in the panel's code block.",
|
|
2793
2866
|
"dependencies": [
|
|
2794
|
-
"react@^19.0.0"
|
|
2795
|
-
"lucide-react@^1.51.0"
|
|
2867
|
+
"react@^19.0.0"
|
|
2796
2868
|
],
|
|
2797
2869
|
"registryDependencies": [
|
|
2798
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2799
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2870
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
2871
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json",
|
|
2872
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2800
2873
|
],
|
|
2801
2874
|
"files": [
|
|
2802
2875
|
{
|
|
@@ -2823,12 +2896,12 @@
|
|
|
2823
2896
|
"description": "Deprecated aggregate: installs every viewer item (viewer-frame, viewer-markdown, viewer-html, viewer-image, viewer-pdf, viewer-code). Add the items you use instead.",
|
|
2824
2897
|
"files": [],
|
|
2825
2898
|
"registryDependencies": [
|
|
2826
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2827
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2828
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2829
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2830
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2831
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2899
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
2900
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-markdown.json",
|
|
2901
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-html.json",
|
|
2902
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-image.json",
|
|
2903
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-pdf.json",
|
|
2904
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-code.json"
|
|
2832
2905
|
]
|
|
2833
2906
|
},
|
|
2834
2907
|
{
|
|
@@ -2838,11 +2911,11 @@
|
|
|
2838
2911
|
"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.",
|
|
2839
2912
|
"dependencies": [
|
|
2840
2913
|
"react@^19.0.0",
|
|
2841
|
-
"react-dom@^19.0.0"
|
|
2842
|
-
"lucide-react@^1.51.0"
|
|
2914
|
+
"react-dom@^19.0.0"
|
|
2843
2915
|
],
|
|
2844
2916
|
"registryDependencies": [
|
|
2845
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2917
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
2918
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
2846
2919
|
],
|
|
2847
2920
|
"files": [
|
|
2848
2921
|
{
|
|
@@ -2858,8 +2931,8 @@
|
|
|
2858
2931
|
"title": "Consumer task-list viewer",
|
|
2859
2932
|
"description": "A consumer-defined task-list schema and controller over the shared text buffer, with a restylable borrowed React renderer.",
|
|
2860
2933
|
"dependencies": [
|
|
2861
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2862
|
-
"@hachej/boring-files@^0.4.
|
|
2934
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
2935
|
+
"@hachej/boring-files@^0.4.59",
|
|
2863
2936
|
"react@^19.0.0",
|
|
2864
2937
|
"react-dom@^19.0.0",
|
|
2865
2938
|
"zod@^4.6.5"
|
|
@@ -2891,11 +2964,36 @@
|
|
|
2891
2964
|
"display": "grid",
|
|
2892
2965
|
"gap": "0.5rem"
|
|
2893
2966
|
},
|
|
2967
|
+
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] h2": {
|
|
2968
|
+
"font-size": "var(--text-sm)",
|
|
2969
|
+
"font-weight": "600"
|
|
2970
|
+
},
|
|
2894
2971
|
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] li": {
|
|
2972
|
+
"display": "grid",
|
|
2973
|
+
"grid-template-columns": "minmax(0, 1fr) auto",
|
|
2974
|
+
"align-items": "center",
|
|
2975
|
+
"gap": "0.5rem"
|
|
2976
|
+
},
|
|
2977
|
+
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] li > label": {
|
|
2895
2978
|
"display": "flex",
|
|
2896
2979
|
"align-items": "center",
|
|
2897
2980
|
"gap": "0.5rem",
|
|
2898
|
-
"
|
|
2981
|
+
"min-width": "0",
|
|
2982
|
+
"overflow-wrap": "anywhere"
|
|
2983
|
+
},
|
|
2984
|
+
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] form": {
|
|
2985
|
+
"display": "grid",
|
|
2986
|
+
"grid-template-columns": "minmax(0, 1fr) auto",
|
|
2987
|
+
"align-items": "center",
|
|
2988
|
+
"gap": "0.5rem"
|
|
2989
|
+
},
|
|
2990
|
+
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] form > label": {
|
|
2991
|
+
"grid-column": "1 / -1"
|
|
2992
|
+
},
|
|
2993
|
+
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] .boring-task-list-actions": {
|
|
2994
|
+
"display": "flex",
|
|
2995
|
+
"flex-wrap": "wrap",
|
|
2996
|
+
"gap": "0.5rem"
|
|
2899
2997
|
},
|
|
2900
2998
|
".boring-task-list-recipe[data-boring=\"task-list-viewer\"] [role=\"alert\"]": {
|
|
2901
2999
|
"color": "var(--destructive)"
|
|
@@ -2909,11 +3007,11 @@
|
|
|
2909
3007
|
"title": "Version history rows",
|
|
2910
3008
|
"description": "Shared view-only version rows and menu metadata with relative time, provenance and Current. No file reads, publication or restoration.",
|
|
2911
3009
|
"dependencies": [
|
|
2912
|
-
"@hachej/boring-files@^0.4.
|
|
3010
|
+
"@hachej/boring-files@^0.4.59",
|
|
2913
3011
|
"react@^19.0.0"
|
|
2914
3012
|
],
|
|
2915
3013
|
"registryDependencies": [
|
|
2916
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3014
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json"
|
|
2917
3015
|
],
|
|
2918
3016
|
"files": [
|
|
2919
3017
|
{
|
|
@@ -2929,14 +3027,14 @@
|
|
|
2929
3027
|
"title": "File tree",
|
|
2930
3028
|
"description": "Browse, search, upload, rename, move, delete and inspect retained versions through one revisionProvider binding. Uses the consumer's shadcn Button, dropdown-menu and dialog with shared version-history rows; Base UI style only.",
|
|
2931
3029
|
"dependencies": [
|
|
2932
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2933
|
-
"@hachej/boring-files@^0.4.
|
|
3030
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
3031
|
+
"@hachej/boring-files@^0.4.59",
|
|
2934
3032
|
"react@^19.0.0",
|
|
2935
3033
|
"lucide-react@^1.51.0"
|
|
2936
3034
|
],
|
|
2937
3035
|
"registryDependencies": [
|
|
2938
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2939
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3036
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
3037
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/version-history.json"
|
|
2940
3038
|
],
|
|
2941
3039
|
"files": [
|
|
2942
3040
|
{
|
|
@@ -2953,22 +3051,21 @@
|
|
|
2953
3051
|
"title": "Documents: the Library, a file and its revisions",
|
|
2954
3052
|
"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.",
|
|
2955
3053
|
"dependencies": [
|
|
2956
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2957
|
-
"@hachej/boring-files@^0.4.
|
|
2958
|
-
"react@^19.0.0"
|
|
2959
|
-
"lucide-react@^1.51.0"
|
|
3054
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
3055
|
+
"@hachej/boring-files@^0.4.59",
|
|
3056
|
+
"react@^19.0.0"
|
|
2960
3057
|
],
|
|
2961
3058
|
"registryDependencies": [
|
|
2962
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2963
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2964
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2965
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2966
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2967
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2968
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2969
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2970
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2971
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3059
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
3060
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/button.json",
|
|
3061
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-artifacts.json",
|
|
3062
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-app.json",
|
|
3063
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-app-kinds.json",
|
|
3064
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/app-shell.json",
|
|
3065
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/file-tree.json",
|
|
3066
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-frame.json",
|
|
3067
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-image.json",
|
|
3068
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/viewer-pdf.json"
|
|
2972
3069
|
],
|
|
2973
3070
|
"files": [
|
|
2974
3071
|
{
|
|
@@ -3004,15 +3101,15 @@
|
|
|
3004
3101
|
"title": "Point and dictate on app data",
|
|
3005
3102
|
"description": "Tap explicitly marked JSON app context, dictate once and show the same app agent’s native reply without opening chat. Host-controlled presentation; no feedback report or second controller.",
|
|
3006
3103
|
"dependencies": [
|
|
3007
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
3008
|
-
"@hachej/boring-feedback@^0.4.
|
|
3104
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
3105
|
+
"@hachej/boring-feedback@^0.4.59",
|
|
3009
3106
|
"@earendil-works/pi-durable@~1.4.0",
|
|
3010
3107
|
"react@^19.0.0",
|
|
3011
3108
|
"react-dom@^19.0.0"
|
|
3012
3109
|
],
|
|
3013
3110
|
"registryDependencies": [
|
|
3014
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3015
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3111
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/app-shell.json",
|
|
3112
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/pi-chat.json"
|
|
3016
3113
|
],
|
|
3017
3114
|
"files": [
|
|
3018
3115
|
{
|
|
@@ -3033,13 +3130,13 @@
|
|
|
3033
3130
|
"title": "Anchored highlights",
|
|
3034
3131
|
"description": "Exact Markdown highlights and comments in a conditional workspace sidecar.",
|
|
3035
3132
|
"dependencies": [
|
|
3036
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
3037
|
-
"@hachej/boring-files@^0.4.
|
|
3133
|
+
"@hachej/boring-ui-kit@^0.4.59",
|
|
3134
|
+
"@hachej/boring-files@^0.4.59",
|
|
3038
3135
|
"react@^19.0.0",
|
|
3039
3136
|
"react-dom@^19.0.0"
|
|
3040
3137
|
],
|
|
3041
3138
|
"registryDependencies": [
|
|
3042
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3139
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/markdown-editor.json"
|
|
3043
3140
|
],
|
|
3044
3141
|
"files": [
|
|
3045
3142
|
{
|
|
@@ -3056,11 +3153,11 @@
|
|
|
3056
3153
|
"description": "Host utility windows with shared pointer-capture drag, resize, focus stacking, minimize/close, remembered rectangles and a keyboard launcher; full-screen Drawer below 768px. No agent or content persistence.",
|
|
3057
3154
|
"dependencies": [
|
|
3058
3155
|
"react@^19.0.0",
|
|
3059
|
-
"react-dom@^19.0.0"
|
|
3060
|
-
"lucide-react@^1.51.0"
|
|
3156
|
+
"react-dom@^19.0.0"
|
|
3061
3157
|
],
|
|
3062
3158
|
"registryDependencies": [
|
|
3063
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3159
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
3160
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
3064
3161
|
],
|
|
3065
3162
|
"files": [
|
|
3066
3163
|
{
|
|
@@ -3076,9 +3173,8 @@
|
|
|
3076
3173
|
"title": "Spaces",
|
|
3077
3174
|
"description": "A client for a host's Spaces service: useSpaces, SpaceSwitcher and MembersSheet over a transport the app gives. Membership and roles stay the host's; no route or app wording.",
|
|
3078
3175
|
"dependencies": [
|
|
3079
|
-
"@hachej/boring-files@^0.4.
|
|
3080
|
-
"react@^19.0.0"
|
|
3081
|
-
"lucide-react@^1.51.0"
|
|
3176
|
+
"@hachej/boring-files@^0.4.59",
|
|
3177
|
+
"react@^19.0.0"
|
|
3082
3178
|
],
|
|
3083
3179
|
"files": [
|
|
3084
3180
|
{
|
|
@@ -3106,6 +3202,124 @@
|
|
|
3106
3202
|
"type": "registry:component",
|
|
3107
3203
|
"target": "components/spaces/members-sheet.tsx"
|
|
3108
3204
|
}
|
|
3205
|
+
],
|
|
3206
|
+
"registryDependencies": [
|
|
3207
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
3208
|
+
]
|
|
3209
|
+
},
|
|
3210
|
+
{
|
|
3211
|
+
"name": "_shared",
|
|
3212
|
+
"type": "registry:lib",
|
|
3213
|
+
"title": "Kit icons",
|
|
3214
|
+
"description": "One fixed semantic icon-symbol map for all kit blocks and bundled primitives. Real Phosphor defaults; hosts may replace this shared module or use existing icon props, independently of theme tokens.",
|
|
3215
|
+
"dependencies": [
|
|
3216
|
+
"@phosphor-icons/react@2.1.10",
|
|
3217
|
+
"react@^19.0.0"
|
|
3218
|
+
],
|
|
3219
|
+
"files": [
|
|
3220
|
+
{
|
|
3221
|
+
"path": "registry/_shared/icons.ts",
|
|
3222
|
+
"type": "registry:lib",
|
|
3223
|
+
"target": "components/_shared/icons.ts"
|
|
3224
|
+
}
|
|
3225
|
+
]
|
|
3226
|
+
},
|
|
3227
|
+
{
|
|
3228
|
+
"name": "kpi-stat",
|
|
3229
|
+
"type": "registry:component",
|
|
3230
|
+
"title": "KPI stat and row",
|
|
3231
|
+
"description": "A muted label, a title-size value in tabular mono numerals and an optional delta (up in success, down in destructive; an unchanged value shows none). `KpiRow` is the one surface that holds a row of stats.",
|
|
3232
|
+
"dependencies": [
|
|
3233
|
+
"react@^19.0.0"
|
|
3234
|
+
],
|
|
3235
|
+
"registryDependencies": [
|
|
3236
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
3237
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
3238
|
+
],
|
|
3239
|
+
"files": [
|
|
3240
|
+
{
|
|
3241
|
+
"path": "registry/kpi-stat/kpi-stat.tsx",
|
|
3242
|
+
"type": "registry:component",
|
|
3243
|
+
"target": "components/kpi-stat/kpi-stat.tsx"
|
|
3244
|
+
}
|
|
3245
|
+
]
|
|
3246
|
+
},
|
|
3247
|
+
{
|
|
3248
|
+
"name": "list-row",
|
|
3249
|
+
"type": "registry:component",
|
|
3250
|
+
"title": "List row",
|
|
3251
|
+
"description": "A row with a leading slot, a title, a muted subtitle and a trailing slot. Hover wash, no separator lines, 44px touch target on phones, truncation instead of wrapping.",
|
|
3252
|
+
"dependencies": [
|
|
3253
|
+
"react@^19.0.0"
|
|
3254
|
+
],
|
|
3255
|
+
"registryDependencies": [
|
|
3256
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json"
|
|
3257
|
+
],
|
|
3258
|
+
"files": [
|
|
3259
|
+
{
|
|
3260
|
+
"path": "registry/list-row/list-row.tsx",
|
|
3261
|
+
"type": "registry:component",
|
|
3262
|
+
"target": "components/list-row/list-row.tsx"
|
|
3263
|
+
}
|
|
3264
|
+
]
|
|
3265
|
+
},
|
|
3266
|
+
{
|
|
3267
|
+
"name": "empty-state",
|
|
3268
|
+
"type": "registry:component",
|
|
3269
|
+
"title": "Empty state",
|
|
3270
|
+
"description": "An icon, a title, an optional hint and an optional action, as a plain centred column on the surface.",
|
|
3271
|
+
"dependencies": [
|
|
3272
|
+
"react@^19.0.0"
|
|
3273
|
+
],
|
|
3274
|
+
"registryDependencies": [
|
|
3275
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
3276
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
3277
|
+
],
|
|
3278
|
+
"files": [
|
|
3279
|
+
{
|
|
3280
|
+
"path": "registry/empty-state/blank-state.tsx",
|
|
3281
|
+
"type": "registry:component",
|
|
3282
|
+
"target": "components/empty-state/blank-state.tsx"
|
|
3283
|
+
}
|
|
3284
|
+
]
|
|
3285
|
+
},
|
|
3286
|
+
{
|
|
3287
|
+
"name": "page-header",
|
|
3288
|
+
"type": "registry:component",
|
|
3289
|
+
"title": "Page header",
|
|
3290
|
+
"description": "A 14px semibold title, an optional badge, an actions slot, and one `assistant` prop that says where the assistant opens (beside the page or over it).",
|
|
3291
|
+
"dependencies": [
|
|
3292
|
+
"react@^19.0.0"
|
|
3293
|
+
],
|
|
3294
|
+
"registryDependencies": [
|
|
3295
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json",
|
|
3296
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/_shared.json"
|
|
3297
|
+
],
|
|
3298
|
+
"files": [
|
|
3299
|
+
{
|
|
3300
|
+
"path": "registry/page-header/page-header.tsx",
|
|
3301
|
+
"type": "registry:component",
|
|
3302
|
+
"target": "components/page-header/page-header.tsx"
|
|
3303
|
+
}
|
|
3304
|
+
]
|
|
3305
|
+
},
|
|
3306
|
+
{
|
|
3307
|
+
"name": "data-table",
|
|
3308
|
+
"type": "registry:component",
|
|
3309
|
+
"title": "Data table",
|
|
3310
|
+
"description": "A fixed-layout table that never scrolls sideways. Columns carry a priority; cells truncate; numbers are mono and right-aligned; below 520px of container width the rows stack as label/value pairs.",
|
|
3311
|
+
"dependencies": [
|
|
3312
|
+
"react@^19.0.0"
|
|
3313
|
+
],
|
|
3314
|
+
"registryDependencies": [
|
|
3315
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.59/r/utils.json"
|
|
3316
|
+
],
|
|
3317
|
+
"files": [
|
|
3318
|
+
{
|
|
3319
|
+
"path": "registry/data-table/data-table.tsx",
|
|
3320
|
+
"type": "registry:component",
|
|
3321
|
+
"target": "components/data-table/data-table.tsx"
|
|
3322
|
+
}
|
|
3109
3323
|
]
|
|
3110
3324
|
}
|
|
3111
3325
|
]
|