@hachej/boring-ui-kit 0.4.46 → 0.4.48
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 +0 -4
- package/dist/chat-react-session.d.ts +1 -0
- package/dist/chat-react-session.js +12 -3
- package/dist/chat-view.d.ts +2 -1
- package/dist/native-chat.d.ts +39 -2
- package/dist/native-chat.js +135 -9
- package/dist/remote-chat.d.ts +6 -0
- package/dist/remote-chat.js +22 -0
- package/dist/shared-chat/index.d.ts +1 -1
- package/package.json +2 -6
- package/r/agent-target.json +4 -4
- package/r/app-shell.json +12 -12
- package/r/board-viewer.json +6 -6
- package/r/button.json +1 -1
- package/r/dock.json +1 -1
- package/r/documents.json +12 -12
- package/r/feedback.json +24 -12
- package/r/file-tree.json +4 -4
- package/r/highlights.json +3 -3
- package/r/html-viewer.json +3 -3
- package/r/looks-viewer.json +2 -2
- package/r/maquette-viewer.json +1 -1
- package/r/markdown-editor.json +3 -3
- package/r/mockup-viewer.json +1 -1
- package/r/pi-ambient.json +9 -9
- package/r/pi-app-kinds.json +10 -10
- package/r/pi-app.json +12 -12
- package/r/pi-artifacts.json +2 -2
- package/r/pi-chat-approval.json +2 -2
- package/r/pi-chat-attachments.json +1 -1
- package/r/pi-chat-markdown.json +2 -2
- package/r/pi-chat-mentions.json +1 -1
- package/r/pi-chat-pickers.json +1 -1
- package/r/pi-chat-plugins.json +11 -11
- package/r/pi-chat-question.json +1 -1
- package/r/pi-chat-slash.json +2 -2
- package/r/pi-chat-subagent.json +1 -1
- package/r/pi-chat-voice.json +9 -3
- package/r/pi-chat.json +11 -24
- package/r/pi-workspace.json +3 -3
- package/r/placed-agent.json +4 -4
- package/r/provider-setup.json +1 -1
- package/r/registry.json +1211 -1381
- package/r/shared-chat.json +6 -6
- package/r/spaces.json +44 -0
- package/r/task-list-viewer.json +2 -2
- package/r/version-history.json +2 -2
- package/r/viewer-code.json +2 -2
- package/r/viewer-frame.json +4 -4
- package/r/viewer-html.json +4 -4
- package/r/viewer-image.json +2 -2
- package/r/viewer-markdown.json +5 -5
- package/r/viewer-pdf.json +3 -3
- package/r/viewers.json +6 -6
- package/r/windows.json +1 -1
- package/dist/task-board.d.ts +0 -96
- package/dist/task-board.js +0 -48
- package/r/feedback-preview.json +0 -20
- package/r/pm-panel.json +0 -122
- package/r/requests-board.json +0 -33
- package/r/task-board.json +0 -41
- package/r/task-mentions.json +0 -25
package/r/registry.json
CHANGED
|
@@ -253,7 +253,7 @@
|
|
|
253
253
|
"lucide-react@^1.51.0"
|
|
254
254
|
],
|
|
255
255
|
"registryDependencies": [
|
|
256
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
256
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
257
257
|
],
|
|
258
258
|
"files": [
|
|
259
259
|
{
|
|
@@ -274,8 +274,8 @@
|
|
|
274
274
|
"title": "Markdown editor",
|
|
275
275
|
"description": "A host-owned styled wrapper over the concrete borrowed Markdown controller.",
|
|
276
276
|
"dependencies": [
|
|
277
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
278
|
-
"@hachej/boring-files@^0.4.
|
|
277
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
278
|
+
"@hachej/boring-files@^0.4.48",
|
|
279
279
|
"react@^19.0.0",
|
|
280
280
|
"react-dom@^19.0.0",
|
|
281
281
|
"marked@^17.0.6",
|
|
@@ -431,7 +431,7 @@
|
|
|
431
431
|
},
|
|
432
432
|
"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
433
|
"registryDependencies": [
|
|
434
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
434
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
435
435
|
]
|
|
436
436
|
},
|
|
437
437
|
{
|
|
@@ -440,8 +440,8 @@
|
|
|
440
440
|
"title": "HTML source and passive preview",
|
|
441
441
|
"description": "Exact HTML source editing with a reconstructed passive preview and borrowed controller. Browser security qualification remains separate.",
|
|
442
442
|
"dependencies": [
|
|
443
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
444
|
-
"@hachej/boring-files@^0.4.
|
|
443
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
444
|
+
"@hachej/boring-files@^0.4.48",
|
|
445
445
|
"react@^19.0.0",
|
|
446
446
|
"react-dom@^19.0.0"
|
|
447
447
|
],
|
|
@@ -489,7 +489,7 @@
|
|
|
489
489
|
}
|
|
490
490
|
},
|
|
491
491
|
"registryDependencies": [
|
|
492
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
492
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
493
493
|
]
|
|
494
494
|
},
|
|
495
495
|
{
|
|
@@ -498,9 +498,8 @@
|
|
|
498
498
|
"title": "Pi chat",
|
|
499
499
|
"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
500
|
"dependencies": [
|
|
501
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
502
|
-
"@hachej/boring-files@^0.4.
|
|
503
|
-
"@hachej/boring-feedback@^0.4.46",
|
|
501
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
502
|
+
"@hachej/boring-files@^0.4.48",
|
|
504
503
|
"react@^19.0.0",
|
|
505
504
|
"react-dom@^19.0.0",
|
|
506
505
|
"@base-ui/react@1.9.0",
|
|
@@ -513,8 +512,8 @@
|
|
|
513
512
|
"zod@^4.6.5"
|
|
514
513
|
],
|
|
515
514
|
"registryDependencies": [
|
|
516
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
517
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
515
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
516
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
518
517
|
],
|
|
519
518
|
"files": [
|
|
520
519
|
{
|
|
@@ -557,16 +556,6 @@
|
|
|
557
556
|
"type": "registry:component",
|
|
558
557
|
"target": "components/pi-chat/image-viewer.tsx"
|
|
559
558
|
},
|
|
560
|
-
{
|
|
561
|
-
"path": "registry/pi-chat/feedback-content.ts",
|
|
562
|
-
"type": "registry:lib",
|
|
563
|
-
"target": "components/pi-chat/feedback-content.ts"
|
|
564
|
-
},
|
|
565
|
-
{
|
|
566
|
-
"path": "registry/pi-chat/sent-feedback.tsx",
|
|
567
|
-
"type": "registry:component",
|
|
568
|
-
"target": "components/pi-chat/sent-feedback.tsx"
|
|
569
|
-
},
|
|
570
559
|
{
|
|
571
560
|
"path": "registry/pi-chat/message.tsx",
|
|
572
561
|
"type": "registry:component",
|
|
@@ -721,13 +710,13 @@
|
|
|
721
710
|
"title": "Pi chat Markdown",
|
|
722
711
|
"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.",
|
|
723
712
|
"dependencies": [
|
|
724
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
713
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
725
714
|
"react@^19.0.0",
|
|
726
715
|
"marked@^17.0.6",
|
|
727
716
|
"entities@^8.1.0"
|
|
728
717
|
],
|
|
729
718
|
"registryDependencies": [
|
|
730
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
719
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
731
720
|
],
|
|
732
721
|
"files": [
|
|
733
722
|
{
|
|
@@ -743,12 +732,12 @@
|
|
|
743
732
|
"title": "Pi chat slash menu",
|
|
744
733
|
"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.",
|
|
745
734
|
"dependencies": [
|
|
746
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
735
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
747
736
|
"react@^19.0.0",
|
|
748
737
|
"lucide-react@^1.51.0"
|
|
749
738
|
],
|
|
750
739
|
"registryDependencies": [
|
|
751
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
740
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
752
741
|
],
|
|
753
742
|
"files": [
|
|
754
743
|
{
|
|
@@ -768,7 +757,7 @@
|
|
|
768
757
|
"lucide-react@^1.51.0"
|
|
769
758
|
],
|
|
770
759
|
"registryDependencies": [
|
|
771
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
760
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
772
761
|
],
|
|
773
762
|
"files": [
|
|
774
763
|
{
|
|
@@ -788,7 +777,7 @@
|
|
|
788
777
|
"lucide-react@^1.51.0"
|
|
789
778
|
],
|
|
790
779
|
"registryDependencies": [
|
|
791
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
780
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
792
781
|
],
|
|
793
782
|
"files": [
|
|
794
783
|
{
|
|
@@ -804,13 +793,13 @@
|
|
|
804
793
|
"title": "Pi chat voice messages",
|
|
805
794
|
"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.",
|
|
806
795
|
"dependencies": [
|
|
807
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
796
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
808
797
|
"react@^19.0.0",
|
|
809
798
|
"lucide-react@^1.51.0"
|
|
810
799
|
],
|
|
811
800
|
"registryDependencies": [
|
|
812
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
813
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
801
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
802
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
814
803
|
],
|
|
815
804
|
"files": [
|
|
816
805
|
{
|
|
@@ -827,6 +816,11 @@
|
|
|
827
816
|
"path": "registry/pi-chat-voice/voice-message.tsx",
|
|
828
817
|
"type": "registry:component",
|
|
829
818
|
"target": "components/pi-chat-voice/voice-message.tsx"
|
|
819
|
+
},
|
|
820
|
+
{
|
|
821
|
+
"path": "registry/pi-chat-voice/voice-input.tsx",
|
|
822
|
+
"type": "registry:component",
|
|
823
|
+
"target": "components/pi-chat-voice/voice-input.tsx"
|
|
830
824
|
}
|
|
831
825
|
]
|
|
832
826
|
},
|
|
@@ -841,7 +835,7 @@
|
|
|
841
835
|
"lucide-react@^1.51.0"
|
|
842
836
|
],
|
|
843
837
|
"registryDependencies": [
|
|
844
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
838
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
845
839
|
],
|
|
846
840
|
"files": [
|
|
847
841
|
{
|
|
@@ -862,7 +856,7 @@
|
|
|
862
856
|
"@earendil-works/pi-ai@~1.4.0"
|
|
863
857
|
],
|
|
864
858
|
"registryDependencies": [
|
|
865
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
859
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
866
860
|
],
|
|
867
861
|
"files": [
|
|
868
862
|
{
|
|
@@ -878,13 +872,13 @@
|
|
|
878
872
|
"title": "Pi chat approval card",
|
|
879
873
|
"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.",
|
|
880
874
|
"dependencies": [
|
|
881
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
875
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
882
876
|
"react@^19.0.0",
|
|
883
877
|
"lucide-react@^1.51.0",
|
|
884
878
|
"@earendil-works/pi-ai@~1.4.0"
|
|
885
879
|
],
|
|
886
880
|
"registryDependencies": [
|
|
887
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
881
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
888
882
|
],
|
|
889
883
|
"files": [
|
|
890
884
|
{
|
|
@@ -905,7 +899,7 @@
|
|
|
905
899
|
"@earendil-works/pi-ai@~1.4.0"
|
|
906
900
|
],
|
|
907
901
|
"registryDependencies": [
|
|
908
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
902
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
909
903
|
],
|
|
910
904
|
"files": [
|
|
911
905
|
{
|
|
@@ -926,14 +920,14 @@
|
|
|
926
920
|
"title": "Pi artifacts",
|
|
927
921
|
"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.",
|
|
928
922
|
"dependencies": [
|
|
929
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
923
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
930
924
|
"react@^19.0.0",
|
|
931
925
|
"lucide-react@^1.51.0",
|
|
932
926
|
"@earendil-works/pi-ai@~1.4.0",
|
|
933
927
|
"@earendil-works/pi-durable@~1.4.0"
|
|
934
928
|
],
|
|
935
929
|
"registryDependencies": [
|
|
936
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
930
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
937
931
|
],
|
|
938
932
|
"files": [
|
|
939
933
|
{
|
|
@@ -957,17 +951,17 @@
|
|
|
957
951
|
"react@^19.0.0"
|
|
958
952
|
],
|
|
959
953
|
"registryDependencies": [
|
|
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.
|
|
965
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
966
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
967
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
968
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
969
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
970
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
954
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json",
|
|
955
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-markdown.json",
|
|
956
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-slash.json",
|
|
957
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-mentions.json",
|
|
958
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-pickers.json",
|
|
959
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-voice.json",
|
|
960
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-attachments.json",
|
|
961
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-question.json",
|
|
962
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-approval.json",
|
|
963
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-subagent.json",
|
|
964
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-artifacts.json"
|
|
971
965
|
],
|
|
972
966
|
"files": [
|
|
973
967
|
{
|
|
@@ -983,7 +977,7 @@
|
|
|
983
977
|
"title": "Pi ambient agent",
|
|
984
978
|
"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.",
|
|
985
979
|
"dependencies": [
|
|
986
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
980
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
987
981
|
"react@^19.0.0",
|
|
988
982
|
"react-dom@^19.0.0",
|
|
989
983
|
"@earendil-works/pi-durable@~1.4.0",
|
|
@@ -991,13 +985,13 @@
|
|
|
991
985
|
"lucide-react@^1.51.0"
|
|
992
986
|
],
|
|
993
987
|
"registryDependencies": [
|
|
994
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
995
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
996
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
997
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
998
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
999
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1000
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
988
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json",
|
|
989
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-plugins.json",
|
|
990
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-question.json",
|
|
991
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-artifacts.json",
|
|
992
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-workspace.json",
|
|
993
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
994
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
1001
995
|
],
|
|
1002
996
|
"files": [
|
|
1003
997
|
{
|
|
@@ -1026,7 +1020,7 @@
|
|
|
1026
1020
|
"react@^19.0.0"
|
|
1027
1021
|
],
|
|
1028
1022
|
"registryDependencies": [
|
|
1029
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1023
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
1030
1024
|
],
|
|
1031
1025
|
"files": [
|
|
1032
1026
|
{
|
|
@@ -1046,9 +1040,9 @@
|
|
|
1046
1040
|
"react-dom@^19.0.0"
|
|
1047
1041
|
],
|
|
1048
1042
|
"registryDependencies": [
|
|
1049
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1050
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1051
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1043
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json",
|
|
1044
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
1045
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/dock.json"
|
|
1052
1046
|
],
|
|
1053
1047
|
"files": [
|
|
1054
1048
|
{
|
|
@@ -1075,7 +1069,7 @@
|
|
|
1075
1069
|
"zod@^4.6.5"
|
|
1076
1070
|
],
|
|
1077
1071
|
"registryDependencies": [
|
|
1078
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1072
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json"
|
|
1079
1073
|
],
|
|
1080
1074
|
"files": [
|
|
1081
1075
|
{
|
|
@@ -1120,8 +1114,8 @@
|
|
|
1120
1114
|
"lucide-react@^1.51.0"
|
|
1121
1115
|
],
|
|
1122
1116
|
"registryDependencies": [
|
|
1123
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1124
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1117
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/mockup-viewer.json",
|
|
1118
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
1125
1119
|
],
|
|
1126
1120
|
"files": [
|
|
1127
1121
|
{
|
|
@@ -1220,7 +1214,7 @@
|
|
|
1220
1214
|
"lucide-react@^1.51.0"
|
|
1221
1215
|
],
|
|
1222
1216
|
"registryDependencies": [
|
|
1223
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1217
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/diagram-viewer.json"
|
|
1224
1218
|
],
|
|
1225
1219
|
"files": [
|
|
1226
1220
|
{
|
|
@@ -1285,17 +1279,17 @@
|
|
|
1285
1279
|
"title": "Board viewer",
|
|
1286
1280
|
"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.",
|
|
1287
1281
|
"dependencies": [
|
|
1288
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1289
|
-
"@hachej/boring-files@^0.4.
|
|
1282
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
1283
|
+
"@hachej/boring-files@^0.4.48",
|
|
1290
1284
|
"react@^19.0.0",
|
|
1291
1285
|
"lucide-react@1.51.0",
|
|
1292
1286
|
"tldraw@5.5.2"
|
|
1293
1287
|
],
|
|
1294
1288
|
"registryDependencies": [
|
|
1295
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1296
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1297
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1298
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1289
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/maquette-viewer.json",
|
|
1290
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/mockup-viewer.json",
|
|
1291
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-artifacts.json",
|
|
1292
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
1299
1293
|
],
|
|
1300
1294
|
"files": [
|
|
1301
1295
|
{
|
|
@@ -1331,16 +1325,16 @@
|
|
|
1331
1325
|
"title": "Shared chat",
|
|
1332
1326
|
"description": "Optional multi-party host log presentation over PiChat's generic composition seams. No agent runtime or speaking policy.",
|
|
1333
1327
|
"dependencies": [
|
|
1334
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1328
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
1335
1329
|
"react@^19.0.0",
|
|
1336
1330
|
"lucide-react@^1.51.0"
|
|
1337
1331
|
],
|
|
1338
1332
|
"registryDependencies": [
|
|
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.
|
|
1342
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1343
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1333
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json",
|
|
1334
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-plugins.json",
|
|
1335
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-markdown.json",
|
|
1336
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-mentions.json",
|
|
1337
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
1344
1338
|
],
|
|
1345
1339
|
"files": [
|
|
1346
1340
|
{
|
|
@@ -1396,21 +1390,21 @@
|
|
|
1396
1390
|
"title": "Pi agent app",
|
|
1397
1391
|
"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).",
|
|
1398
1392
|
"dependencies": [
|
|
1399
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1400
|
-
"@hachej/boring-files@^0.4.
|
|
1393
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
1394
|
+
"@hachej/boring-files@^0.4.48",
|
|
1401
1395
|
"react@^19.0.0",
|
|
1402
1396
|
"react-dom@^19.0.0",
|
|
1403
1397
|
"lucide-react@^1.51.0"
|
|
1404
1398
|
],
|
|
1405
1399
|
"registryDependencies": [
|
|
1406
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1407
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1408
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1409
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1410
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1411
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1412
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1413
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1400
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json",
|
|
1401
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-plugins.json",
|
|
1402
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-artifacts.json",
|
|
1403
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-workspace.json",
|
|
1404
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
1405
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
1406
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json",
|
|
1407
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/file-tree.json"
|
|
1414
1408
|
],
|
|
1415
1409
|
"files": [
|
|
1416
1410
|
{
|
|
@@ -1496,16 +1490,16 @@
|
|
|
1496
1490
|
"title": "Pi agent app default kinds",
|
|
1497
1491
|
"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.",
|
|
1498
1492
|
"registryDependencies": [
|
|
1499
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1500
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1501
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1502
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1503
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1504
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1505
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1506
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1507
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1508
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1493
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-app.json",
|
|
1494
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-markdown.json",
|
|
1495
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-html.json",
|
|
1496
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-image.json",
|
|
1497
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-pdf.json",
|
|
1498
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-code.json",
|
|
1499
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/maquette-viewer.json",
|
|
1500
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/diagram-viewer.json",
|
|
1501
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/mockup-viewer.json",
|
|
1502
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/record-viewer.json"
|
|
1509
1503
|
],
|
|
1510
1504
|
"files": [
|
|
1511
1505
|
{
|
|
@@ -1526,10 +1520,10 @@
|
|
|
1526
1520
|
"lucide-react@^1.51.0"
|
|
1527
1521
|
],
|
|
1528
1522
|
"registryDependencies": [
|
|
1529
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1530
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1531
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1532
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
1523
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-app.json",
|
|
1524
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-ambient.json",
|
|
1525
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/app-shell.json",
|
|
1526
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
1533
1527
|
],
|
|
1534
1528
|
"files": [
|
|
1535
1529
|
{
|
|
@@ -1540,903 +1534,134 @@
|
|
|
1540
1534
|
]
|
|
1541
1535
|
},
|
|
1542
1536
|
{
|
|
1543
|
-
"name": "
|
|
1544
|
-
"type": "registry:
|
|
1545
|
-
"title": "
|
|
1546
|
-
"description": "
|
|
1537
|
+
"name": "feedback",
|
|
1538
|
+
"type": "registry:component",
|
|
1539
|
+
"title": "Feedback",
|
|
1540
|
+
"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.",
|
|
1547
1541
|
"dependencies": [
|
|
1548
|
-
"@hachej/boring-feedback@^0.4.
|
|
1549
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
1550
|
-
"@
|
|
1542
|
+
"@hachej/boring-feedback@^0.4.48",
|
|
1543
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
1544
|
+
"@hachej/boring-files@^0.4.48",
|
|
1551
1545
|
"react@^19.0.0",
|
|
1552
1546
|
"react-dom@^19.0.0",
|
|
1553
1547
|
"lucide-react@^1.51.0"
|
|
1554
1548
|
],
|
|
1555
|
-
"registryDependencies": [
|
|
1556
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat.json",
|
|
1557
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat-plugins.json",
|
|
1558
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat-voice.json",
|
|
1559
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/dock.json",
|
|
1560
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/feedback.json",
|
|
1561
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json",
|
|
1562
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/button.json"
|
|
1563
|
-
],
|
|
1564
|
-
"css": {
|
|
1565
|
-
"@layer base": {
|
|
1566
|
-
".app-shell :where(*, ::before, ::after)": {
|
|
1567
|
-
"border-color": "var(--border)"
|
|
1568
|
-
},
|
|
1569
|
-
".app-shell :where(button, [role=button])": {
|
|
1570
|
-
"appearance": "none",
|
|
1571
|
-
"background-color": "transparent",
|
|
1572
|
-
"border": "0 solid",
|
|
1573
|
-
"font": "inherit",
|
|
1574
|
-
"color": "inherit",
|
|
1575
|
-
"cursor": "pointer",
|
|
1576
|
-
"padding": "0"
|
|
1577
|
-
},
|
|
1578
|
-
".app-shell :where(h2)": {
|
|
1579
|
-
"margin": "0",
|
|
1580
|
-
"font": "inherit"
|
|
1581
|
-
}
|
|
1582
|
-
},
|
|
1583
|
-
"@layer utilities": {
|
|
1584
|
-
"@media (width < 768px), (pointer: coarse)": {
|
|
1585
|
-
".app-shell :is([data-slot=\"button\"], [data-slot=\"toggle\"], [class~=\"group/button\"], [class~=\"group/toggle\"]):not([data-dense]):not([data-dense] *)": {
|
|
1586
|
-
"min-height": "2.75rem",
|
|
1587
|
-
"min-width": "2.75rem"
|
|
1588
|
-
}
|
|
1589
|
-
}
|
|
1590
|
-
}
|
|
1591
|
-
},
|
|
1592
1549
|
"files": [
|
|
1593
1550
|
{
|
|
1594
|
-
"path": "registry/
|
|
1551
|
+
"path": "registry/feedback/feedback-session.tsx",
|
|
1595
1552
|
"type": "registry:component",
|
|
1596
|
-
"target": "components/
|
|
1597
|
-
},
|
|
1598
|
-
{
|
|
1599
|
-
"path": "registry/app-shell/agent-context.ts",
|
|
1600
|
-
"type": "registry:lib",
|
|
1601
|
-
"target": "components/app-shell/agent-context.ts"
|
|
1602
|
-
},
|
|
1603
|
-
{
|
|
1604
|
-
"path": "registry/app-shell/agent-link.ts",
|
|
1605
|
-
"type": "registry:lib",
|
|
1606
|
-
"target": "components/app-shell/agent-link.ts"
|
|
1607
|
-
},
|
|
1608
|
-
{
|
|
1609
|
-
"path": "registry/app-shell/use-visual-viewport.ts",
|
|
1610
|
-
"type": "registry:hook",
|
|
1611
|
-
"target": "components/app-shell/use-visual-viewport.ts"
|
|
1553
|
+
"target": "components/feedback/feedback-session.tsx"
|
|
1612
1554
|
},
|
|
1613
1555
|
{
|
|
1614
|
-
"path": "registry/
|
|
1615
|
-
"type": "registry:
|
|
1616
|
-
"target": "components/
|
|
1556
|
+
"path": "registry/feedback/point-button.tsx",
|
|
1557
|
+
"type": "registry:component",
|
|
1558
|
+
"target": "components/feedback/point-button.tsx"
|
|
1617
1559
|
},
|
|
1618
1560
|
{
|
|
1619
|
-
"path": "registry/
|
|
1561
|
+
"path": "registry/feedback/picker-overlay.ts",
|
|
1620
1562
|
"type": "registry:lib",
|
|
1621
|
-
"target": "components/
|
|
1563
|
+
"target": "components/feedback/picker-overlay.ts"
|
|
1622
1564
|
},
|
|
1623
1565
|
{
|
|
1624
|
-
"path": "registry/
|
|
1566
|
+
"path": "registry/feedback/annotate-sheet.tsx",
|
|
1625
1567
|
"type": "registry:component",
|
|
1626
|
-
"target": "components/
|
|
1568
|
+
"target": "components/feedback/annotate-sheet.tsx"
|
|
1627
1569
|
},
|
|
1628
1570
|
{
|
|
1629
|
-
"path": "registry/
|
|
1571
|
+
"path": "registry/feedback/feedback-list.tsx",
|
|
1630
1572
|
"type": "registry:component",
|
|
1631
|
-
"target": "components/
|
|
1573
|
+
"target": "components/feedback/feedback-list.tsx"
|
|
1632
1574
|
},
|
|
1633
1575
|
{
|
|
1634
|
-
"path": "registry/
|
|
1576
|
+
"path": "registry/feedback/feedback-report.tsx",
|
|
1635
1577
|
"type": "registry:component",
|
|
1636
|
-
"target": "components/
|
|
1578
|
+
"target": "components/feedback/feedback-report.tsx"
|
|
1637
1579
|
},
|
|
1638
1580
|
{
|
|
1639
|
-
"path": "registry/
|
|
1640
|
-
"type": "registry:
|
|
1641
|
-
"target": "components/
|
|
1581
|
+
"path": "registry/feedback/use-external.ts",
|
|
1582
|
+
"type": "registry:hook",
|
|
1583
|
+
"target": "components/feedback/use-external.ts"
|
|
1642
1584
|
},
|
|
1643
1585
|
{
|
|
1644
|
-
"path": "registry/
|
|
1586
|
+
"path": "registry/feedback/feedback-card.tsx",
|
|
1645
1587
|
"type": "registry:component",
|
|
1646
|
-
"target": "components/
|
|
1588
|
+
"target": "components/feedback/feedback-card.tsx"
|
|
1647
1589
|
},
|
|
1648
1590
|
{
|
|
1649
|
-
"path": "registry/
|
|
1650
|
-
"type": "registry:
|
|
1651
|
-
"target": "components/
|
|
1591
|
+
"path": "registry/feedback/feedback-labels.ts",
|
|
1592
|
+
"type": "registry:lib",
|
|
1593
|
+
"target": "components/feedback/feedback-labels.ts"
|
|
1652
1594
|
},
|
|
1653
1595
|
{
|
|
1654
|
-
"path": "registry/
|
|
1596
|
+
"path": "registry/feedback/point-mode.tsx",
|
|
1655
1597
|
"type": "registry:component",
|
|
1656
|
-
"target": "components/
|
|
1598
|
+
"target": "components/feedback/point-mode.tsx"
|
|
1657
1599
|
},
|
|
1658
1600
|
{
|
|
1659
|
-
"path": "registry/
|
|
1660
|
-
"type": "registry:
|
|
1661
|
-
"target": "components/
|
|
1601
|
+
"path": "registry/feedback/feedback-content.ts",
|
|
1602
|
+
"type": "registry:lib",
|
|
1603
|
+
"target": "components/feedback/feedback-content.ts"
|
|
1662
1604
|
},
|
|
1663
1605
|
{
|
|
1664
|
-
"path": "registry/
|
|
1606
|
+
"path": "registry/feedback/sent-feedback.tsx",
|
|
1665
1607
|
"type": "registry:component",
|
|
1666
|
-
"target": "components/
|
|
1667
|
-
},
|
|
1668
|
-
{
|
|
1669
|
-
"path": "registry/app-shell/compact.ts",
|
|
1670
|
-
"type": "registry:hook",
|
|
1671
|
-
"target": "components/app-shell/compact.ts"
|
|
1608
|
+
"target": "components/feedback/sent-feedback.tsx"
|
|
1672
1609
|
},
|
|
1673
1610
|
{
|
|
1674
|
-
"path": "registry/
|
|
1675
|
-
"type": "registry:
|
|
1676
|
-
"target": "components/
|
|
1677
|
-
},
|
|
1678
|
-
{
|
|
1679
|
-
"path": "registry/app-shell/use-dictation.ts",
|
|
1680
|
-
"type": "registry:hook",
|
|
1681
|
-
"target": "components/app-shell/use-dictation.ts"
|
|
1611
|
+
"path": "registry/feedback/sent-content.tsx",
|
|
1612
|
+
"type": "registry:component",
|
|
1613
|
+
"target": "components/feedback/sent-content.tsx"
|
|
1682
1614
|
}
|
|
1683
|
-
]
|
|
1684
|
-
},
|
|
1685
|
-
{
|
|
1686
|
-
"name": "viewer-frame",
|
|
1687
|
-
"type": "registry:component",
|
|
1688
|
-
"title": "Viewer frame",
|
|
1689
|
-
"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.",
|
|
1690
|
-
"dependencies": [
|
|
1691
|
-
"@hachej/boring-ui-kit@^0.4.46",
|
|
1692
|
-
"react@^19.0.0",
|
|
1693
|
-
"react-dom@^19.0.0",
|
|
1694
|
-
"lucide-react@^1.51.0"
|
|
1695
1615
|
],
|
|
1696
|
-
"
|
|
1697
|
-
"
|
|
1698
|
-
|
|
1699
|
-
|
|
1700
|
-
|
|
1701
|
-
|
|
1702
|
-
|
|
1703
|
-
"
|
|
1704
|
-
"
|
|
1705
|
-
"
|
|
1616
|
+
"css": {
|
|
1617
|
+
"[data-boring=\"feedback\"]": {
|
|
1618
|
+
"--boring-feedback-accent": "var(--primary)",
|
|
1619
|
+
"--boring-feedback-reveal": "var(--ring)",
|
|
1620
|
+
"--boring-feedback-surface": "var(--popover)",
|
|
1621
|
+
"--boring-feedback-text": "var(--popover-foreground)",
|
|
1622
|
+
"--boring-feedback-muted": "var(--muted-foreground)",
|
|
1623
|
+
"--boring-feedback-border": "var(--border)",
|
|
1624
|
+
"--boring-feedback-label-background": "var(--foreground)",
|
|
1625
|
+
"--boring-feedback-label-foreground": "var(--background)",
|
|
1626
|
+
"font-family": "inherit",
|
|
1627
|
+
"font-size": "var(--text-sm, 0.875rem)",
|
|
1628
|
+
"line-height": "var(--leading-normal, 1.5)",
|
|
1629
|
+
"color": "var(--boring-feedback-text)"
|
|
1706
1630
|
},
|
|
1707
|
-
{
|
|
1708
|
-
"
|
|
1709
|
-
|
|
1710
|
-
|
|
1631
|
+
"@layer base": {
|
|
1632
|
+
"[data-boring=\"feedback\"] :where(button, [role=\"button\"])": {
|
|
1633
|
+
"appearance": "none",
|
|
1634
|
+
"background-color": "transparent",
|
|
1635
|
+
"border": "0",
|
|
1636
|
+
"padding": "0"
|
|
1637
|
+
}
|
|
1711
1638
|
},
|
|
1712
|
-
{
|
|
1713
|
-
"
|
|
1714
|
-
"type": "registry:lib",
|
|
1715
|
-
"target": "components/viewer-frame/media.ts"
|
|
1639
|
+
"[data-boring=\"feedback\"] *, [data-boring=\"feedback\"] *::before, [data-boring=\"feedback\"] *::after": {
|
|
1640
|
+
"box-sizing": "border-box"
|
|
1716
1641
|
},
|
|
1717
|
-
{
|
|
1718
|
-
"
|
|
1719
|
-
"
|
|
1720
|
-
"
|
|
1642
|
+
"[data-boring=\"feedback\"].boring-feedback-point": {
|
|
1643
|
+
"display": "inline-flex",
|
|
1644
|
+
"align-items": "center",
|
|
1645
|
+
"gap": "0.625rem"
|
|
1721
1646
|
},
|
|
1722
|
-
{
|
|
1723
|
-
"
|
|
1724
|
-
"
|
|
1725
|
-
"
|
|
1647
|
+
"[data-boring=\"feedback\"] .boring-feedback-hint": {
|
|
1648
|
+
"max-width": "32rem",
|
|
1649
|
+
"overflow": "hidden",
|
|
1650
|
+
"text-overflow": "ellipsis",
|
|
1651
|
+
"white-space": "nowrap",
|
|
1652
|
+
"color": "var(--boring-feedback-muted)",
|
|
1653
|
+
"font-size": "var(--text-sm, 0.875rem)"
|
|
1726
1654
|
},
|
|
1727
|
-
{
|
|
1728
|
-
"
|
|
1729
|
-
"type": "registry:component",
|
|
1730
|
-
"target": "components/viewer-frame/viewer-frame.tsx"
|
|
1655
|
+
"[data-boring=\"feedback\"] .boring-feedback-keys": {
|
|
1656
|
+
"opacity": "0.8"
|
|
1731
1657
|
},
|
|
1732
|
-
{
|
|
1733
|
-
"
|
|
1734
|
-
"type": "registry:lib",
|
|
1735
|
-
"target": "components/viewer-frame/viewer-window.ts"
|
|
1658
|
+
"[data-boring=\"feedback\"]:is(.boring-feedback-sheet, .boring-feedback-report, .boring-feedback-list, .boring-feedback-bubble, .boring-feedback-review, .boring-feedback-banner, .boring-feedback-preview, .boring-feedback-bar)": {
|
|
1659
|
+
"padding-inline": "var(--card-spacing)"
|
|
1736
1660
|
},
|
|
1737
|
-
{
|
|
1738
|
-
"
|
|
1739
|
-
"
|
|
1740
|
-
"
|
|
1741
|
-
}
|
|
1742
|
-
],
|
|
1743
|
-
"css": {
|
|
1744
|
-
"@layer utilities": {
|
|
1745
|
-
"@media (width < 768px), (pointer: coarse)": {
|
|
1746
|
-
".boring-viewer :is([data-slot=\"button\"], [data-slot=\"toggle\"], [data-slot=\"toggle-group-item\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
|
|
1747
|
-
"min-height": "2.75rem",
|
|
1748
|
-
"min-width": "2.75rem"
|
|
1749
|
-
},
|
|
1750
|
-
".boring-viewer.boring-markdown-bubble :is([data-slot=\"button\"], [data-slot=\"toggle\"])": {
|
|
1751
|
-
"min-height": "2.75rem",
|
|
1752
|
-
"min-width": "2.75rem"
|
|
1753
|
-
}
|
|
1754
|
-
}
|
|
1755
|
-
},
|
|
1756
|
-
"@layer components": {
|
|
1757
|
-
".boring-viewer .boring-markdown-editor, .boring-viewer .boring-html-pane": {
|
|
1758
|
-
"display": "flex",
|
|
1759
|
-
"flex-direction": "column",
|
|
1760
|
-
"flex": "1 1 auto",
|
|
1761
|
-
"min-height": "0",
|
|
1762
|
-
"min-width": "0",
|
|
1763
|
-
"container-type": "inline-size"
|
|
1764
|
-
},
|
|
1765
|
-
".boring-viewer .boring-markdown-surface": {
|
|
1766
|
-
"flex": "1 1 auto",
|
|
1767
|
-
"min-height": "0",
|
|
1768
|
-
"overflow": "auto"
|
|
1769
|
-
},
|
|
1770
|
-
".boring-viewer .boring-markdown-toolbar, .boring-viewer.boring-markdown-bubble": {
|
|
1771
|
-
"display": "flex",
|
|
1772
|
-
"flex": "none",
|
|
1773
|
-
"align-items": "center",
|
|
1774
|
-
"gap": "0.25rem",
|
|
1775
|
-
"max-width": "calc(100vw - 24px)"
|
|
1776
|
-
},
|
|
1777
|
-
".boring-viewer .boring-markdown-toolbar": {
|
|
1778
|
-
"padding": "0.375rem 1.5rem 0.375rem 0.75rem",
|
|
1779
|
-
"overflow-x": "auto",
|
|
1780
|
-
"scrollbar-width": "none",
|
|
1781
|
-
"mask-image": "linear-gradient(to right, black calc(100% - 2rem), transparent)"
|
|
1782
|
-
},
|
|
1783
|
-
".boring-viewer .boring-markdown-toolbar::-webkit-scrollbar": {
|
|
1784
|
-
"display": "none"
|
|
1785
|
-
},
|
|
1786
|
-
".boring-viewer .boring-markdown-tool": {
|
|
1787
|
-
"flex": "none"
|
|
1788
|
-
},
|
|
1789
|
-
".boring-viewer .boring-markdown-separator": {
|
|
1790
|
-
"flex": "none",
|
|
1791
|
-
"margin-inline": "0.25rem"
|
|
1792
|
-
},
|
|
1793
|
-
".boring-viewer span.boring-markdown-separator": {
|
|
1794
|
-
"width": "0.5rem",
|
|
1795
|
-
"margin": "0"
|
|
1796
|
-
},
|
|
1797
|
-
".boring-viewer .boring-markdown-icon": {
|
|
1798
|
-
"display": "block"
|
|
1799
|
-
},
|
|
1800
|
-
".boring-viewer .boring-markdown-link, .boring-viewer .boring-markdown-alert, .boring-viewer .boring-markdown-proposal, .boring-viewer [data-boring=\"text-draft-controls\"]": {
|
|
1801
|
-
"display": "flex",
|
|
1802
|
-
"flex": "none",
|
|
1803
|
-
"flex-wrap": "wrap",
|
|
1804
|
-
"align-items": "center",
|
|
1805
|
-
"gap": "0.5rem",
|
|
1806
|
-
"padding": "0.5rem 0.75rem"
|
|
1807
|
-
},
|
|
1808
|
-
".boring-viewer .boring-markdown-link [data-slot=\"input\"]": {
|
|
1809
|
-
"flex": "1 1 14rem",
|
|
1810
|
-
"min-width": "0"
|
|
1811
|
-
},
|
|
1812
|
-
".boring-viewer .boring-markdown-notice": {
|
|
1813
|
-
"margin": "0.75rem"
|
|
1814
|
-
},
|
|
1815
|
-
".boring-viewer .boring-markdown-proposal :is(h3, details)": {
|
|
1816
|
-
"flex": "1 1 100%",
|
|
1817
|
-
"min-width": "0"
|
|
1818
|
-
},
|
|
1819
|
-
".boring-viewer .boring-markdown-proposal pre": {
|
|
1820
|
-
"max-height": "12rem",
|
|
1821
|
-
"overflow": "auto",
|
|
1822
|
-
"white-space": "pre-wrap"
|
|
1823
|
-
},
|
|
1824
|
-
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"]": {
|
|
1825
|
-
"display": "none"
|
|
1826
|
-
},
|
|
1827
|
-
"@container (min-width: 46rem)": {
|
|
1828
|
-
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"]": {
|
|
1829
|
-
"display": "block",
|
|
1830
|
-
"flex": "none",
|
|
1831
|
-
"overflow-x": "auto",
|
|
1832
|
-
"padding": "0.375rem 0.75rem"
|
|
1833
|
-
},
|
|
1834
|
-
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"] ol": {
|
|
1835
|
-
"display": "flex",
|
|
1836
|
-
"gap": "0.25rem",
|
|
1837
|
-
"list-style": "none",
|
|
1838
|
-
"margin": "0",
|
|
1839
|
-
"padding": "0"
|
|
1840
|
-
}
|
|
1841
|
-
},
|
|
1842
|
-
".boring-viewer .boring-markdown-source, .boring-viewer .boring-html-viewer__source": {
|
|
1843
|
-
"flex": "1 1 auto",
|
|
1844
|
-
"width": "100%",
|
|
1845
|
-
"min-height": "0",
|
|
1846
|
-
"resize": "none"
|
|
1847
|
-
},
|
|
1848
|
-
".boring-viewer .boring-markdown-content": {
|
|
1849
|
-
"max-width": "68ch",
|
|
1850
|
-
"min-height": "100%",
|
|
1851
|
-
"margin": "0 auto",
|
|
1852
|
-
"padding": "1.5rem 1.5rem 3rem",
|
|
1853
|
-
"overflow-wrap": "anywhere",
|
|
1854
|
-
"color": "var(--foreground)",
|
|
1855
|
-
"font-size": "var(--text-base)",
|
|
1856
|
-
"line-height": "var(--leading-relaxed)"
|
|
1857
|
-
},
|
|
1858
|
-
".boring-viewer .boring-markdown-content:focus": {
|
|
1859
|
-
"outline": "none"
|
|
1860
|
-
},
|
|
1861
|
-
".boring-viewer .boring-markdown-content > :first-child": {
|
|
1862
|
-
"margin-top": "0"
|
|
1863
|
-
},
|
|
1864
|
-
".boring-viewer .boring-markdown-content p": {
|
|
1865
|
-
"margin": "0.75rem 0"
|
|
1866
|
-
},
|
|
1867
|
-
".boring-viewer .boring-markdown-content p.is-editor-empty:first-child::before": {
|
|
1868
|
-
"content": "attr(data-placeholder)",
|
|
1869
|
-
"float": "left",
|
|
1870
|
-
"height": "0",
|
|
1871
|
-
"color": "var(--muted-foreground)",
|
|
1872
|
-
"pointer-events": "none"
|
|
1873
|
-
},
|
|
1874
|
-
".boring-viewer .boring-markdown-content :is(h1, h2, h3, h4, h5, h6)": {
|
|
1875
|
-
"font-weight": "var(--font-weight-semibold)",
|
|
1876
|
-
"line-height": "var(--leading-tight)"
|
|
1877
|
-
},
|
|
1878
|
-
".boring-viewer .boring-markdown-content h1": {
|
|
1879
|
-
"margin": "1.75rem 0 0.75rem",
|
|
1880
|
-
"font-size": "var(--text-2xl)"
|
|
1881
|
-
},
|
|
1882
|
-
".boring-viewer .boring-markdown-content h2": {
|
|
1883
|
-
"margin": "2rem 0 0.75rem",
|
|
1884
|
-
"font-size": "var(--text-xl)"
|
|
1885
|
-
},
|
|
1886
|
-
".boring-viewer .boring-markdown-content h3": {
|
|
1887
|
-
"margin": "1.25rem 0 0.5rem",
|
|
1888
|
-
"font-size": "var(--text-lg)"
|
|
1889
|
-
},
|
|
1890
|
-
".boring-viewer .boring-markdown-content :is(h4, h5, h6)": {
|
|
1891
|
-
"margin": "1rem 0 0.4rem",
|
|
1892
|
-
"font-size": "var(--text-base)"
|
|
1893
|
-
},
|
|
1894
|
-
".boring-viewer .boring-markdown-content :is(ul, ol)": {
|
|
1895
|
-
"margin": "0.75rem 0",
|
|
1896
|
-
"padding-left": "1.5rem"
|
|
1897
|
-
},
|
|
1898
|
-
".boring-viewer .boring-markdown-content ul": {
|
|
1899
|
-
"list-style": "disc"
|
|
1900
|
-
},
|
|
1901
|
-
".boring-viewer .boring-markdown-content ol": {
|
|
1902
|
-
"list-style": "decimal"
|
|
1903
|
-
},
|
|
1904
|
-
".boring-viewer .boring-markdown-content li": {
|
|
1905
|
-
"margin": "0.25rem 0"
|
|
1906
|
-
},
|
|
1907
|
-
".boring-viewer .boring-markdown-content li > p": {
|
|
1908
|
-
"margin": "0"
|
|
1909
|
-
},
|
|
1910
|
-
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"]": {
|
|
1911
|
-
"padding-left": "0",
|
|
1912
|
-
"list-style": "none"
|
|
1913
|
-
},
|
|
1914
|
-
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li": {
|
|
1915
|
-
"display": "flex",
|
|
1916
|
-
"align-items": "flex-start",
|
|
1917
|
-
"gap": "0.5rem"
|
|
1918
|
-
},
|
|
1919
|
-
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li > label": {
|
|
1920
|
-
"display": "inline-flex",
|
|
1921
|
-
"flex": "none",
|
|
1922
|
-
"align-items": "center",
|
|
1923
|
-
"height": "1.7em",
|
|
1924
|
-
"margin": "0",
|
|
1925
|
-
"user-select": "none"
|
|
1926
|
-
},
|
|
1927
|
-
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li > label input[type=\"checkbox\"]": {
|
|
1928
|
-
"width": "1rem",
|
|
1929
|
-
"height": "1rem",
|
|
1930
|
-
"margin": "0",
|
|
1931
|
-
"accent-color": "var(--primary)",
|
|
1932
|
-
"cursor": "pointer"
|
|
1933
|
-
},
|
|
1934
|
-
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li > div": {
|
|
1935
|
-
"flex": "1 1 auto",
|
|
1936
|
-
"min-width": "0"
|
|
1937
|
-
},
|
|
1938
|
-
".boring-viewer .boring-markdown-content li[data-checked=\"true\"] > div": {
|
|
1939
|
-
"color": "var(--muted-foreground)",
|
|
1940
|
-
"text-decoration": "line-through"
|
|
1941
|
-
},
|
|
1942
|
-
".boring-viewer .boring-markdown-content strong": {
|
|
1943
|
-
"font-weight": "var(--font-weight-semibold)"
|
|
1944
|
-
},
|
|
1945
|
-
".boring-viewer .boring-markdown-content code": {
|
|
1946
|
-
"padding": "0.1em 0.35em",
|
|
1947
|
-
"border-radius": "var(--radius-sm)",
|
|
1948
|
-
"background": "var(--muted)",
|
|
1949
|
-
"font-family": "var(--font-mono)",
|
|
1950
|
-
"font-size": "var(--text-sm)"
|
|
1951
|
-
},
|
|
1952
|
-
".boring-viewer .boring-markdown-content pre": {
|
|
1953
|
-
"margin": "1rem 0",
|
|
1954
|
-
"padding": "0.875rem 1rem",
|
|
1955
|
-
"overflow-x": "auto",
|
|
1956
|
-
"border": "var(--default-border-width) solid var(--border)",
|
|
1957
|
-
"border-radius": "var(--radius-lg)",
|
|
1958
|
-
"background": "var(--muted)",
|
|
1959
|
-
"font-family": "var(--font-mono)",
|
|
1960
|
-
"font-size": "var(--text-sm)"
|
|
1961
|
-
},
|
|
1962
|
-
".boring-viewer .boring-markdown-content pre code": {
|
|
1963
|
-
"padding": "0",
|
|
1964
|
-
"background": "transparent",
|
|
1965
|
-
"font": "inherit"
|
|
1966
|
-
},
|
|
1967
|
-
".boring-viewer .boring-markdown-content blockquote": {
|
|
1968
|
-
"margin": "1rem 0",
|
|
1969
|
-
"padding": "0.5rem 1rem",
|
|
1970
|
-
"border-inline-start": "var(--default-border-width) solid var(--border)",
|
|
1971
|
-
"color": "var(--muted-foreground)"
|
|
1972
|
-
},
|
|
1973
|
-
".boring-viewer .boring-markdown-content a": {
|
|
1974
|
-
"color": "var(--foreground)",
|
|
1975
|
-
"text-decoration": "underline",
|
|
1976
|
-
"cursor": "text"
|
|
1977
|
-
},
|
|
1978
|
-
".boring-viewer .boring-markdown-content hr": {
|
|
1979
|
-
"margin": "1.5rem 0",
|
|
1980
|
-
"border": "0",
|
|
1981
|
-
"border-top": "var(--default-border-width) solid var(--border)"
|
|
1982
|
-
},
|
|
1983
|
-
".boring-viewer .boring-markdown-content mark": {
|
|
1984
|
-
"background": "var(--accent)",
|
|
1985
|
-
"color": "var(--accent-foreground)"
|
|
1986
|
-
},
|
|
1987
|
-
".boring-viewer .boring-markdown-content .tableWrapper": {
|
|
1988
|
-
"margin": "1rem 0",
|
|
1989
|
-
"overflow-x": "auto"
|
|
1990
|
-
},
|
|
1991
|
-
".boring-viewer .boring-markdown-content table": {
|
|
1992
|
-
"width": "100%",
|
|
1993
|
-
"border-collapse": "collapse",
|
|
1994
|
-
"font-size": "var(--text-sm)"
|
|
1995
|
-
},
|
|
1996
|
-
".boring-viewer .boring-markdown-content :is(th, td)": {
|
|
1997
|
-
"min-width": "4rem",
|
|
1998
|
-
"padding": "0.5rem 0.75rem",
|
|
1999
|
-
"border": "var(--default-border-width) solid var(--border)",
|
|
2000
|
-
"text-align": "left",
|
|
2001
|
-
"vertical-align": "top"
|
|
2002
|
-
},
|
|
2003
|
-
".boring-viewer .boring-markdown-content th": {
|
|
2004
|
-
"background": "var(--muted)",
|
|
2005
|
-
"font-weight": "var(--font-weight-semibold)"
|
|
2006
|
-
},
|
|
2007
|
-
".boring-viewer .boring-markdown-content :is(th, td) > p": {
|
|
2008
|
-
"margin": "0"
|
|
2009
|
-
},
|
|
2010
|
-
".boring-viewer .boring-markdown-content .selectedCell": {
|
|
2011
|
-
"background": "var(--accent)"
|
|
2012
|
-
},
|
|
2013
|
-
".boring-viewer .boring-markdown-content img": {
|
|
2014
|
-
"display": "block",
|
|
2015
|
-
"max-width": "100%",
|
|
2016
|
-
"height": "auto",
|
|
2017
|
-
"margin": "1rem 0"
|
|
2018
|
-
},
|
|
2019
|
-
".boring-viewer .boring-markdown-content .boring-markdown-preserved": {
|
|
2020
|
-
"margin": "0.75rem 0",
|
|
2021
|
-
"color": "var(--muted-foreground)",
|
|
2022
|
-
"font-family": "var(--font-mono)",
|
|
2023
|
-
"font-size": "var(--text-sm)"
|
|
2024
|
-
},
|
|
2025
|
-
".boring-viewer .boring-markdown-content .boring-markdown-preserved small": {
|
|
2026
|
-
"font-size": "var(--text-xs)"
|
|
2027
|
-
},
|
|
2028
|
-
".boring-viewer .boring-markdown-content .boring-markdown-preserved pre": {
|
|
2029
|
-
"margin": "0.25rem 0",
|
|
2030
|
-
"padding": "0.5rem 0.75rem",
|
|
2031
|
-
"white-space": "pre-wrap",
|
|
2032
|
-
"overflow-wrap": "anywhere"
|
|
2033
|
-
},
|
|
2034
|
-
".boring-viewer .boring-markdown-content .boring-markdown-preserved-inline": {
|
|
2035
|
-
"color": "var(--muted-foreground)",
|
|
2036
|
-
"font-family": "var(--font-mono)",
|
|
2037
|
-
"font-size": "var(--text-sm)"
|
|
2038
|
-
},
|
|
2039
|
-
".boring-viewer .boring-markdown-content .boring-markdown-image": {
|
|
2040
|
-
"display": "inline-flex",
|
|
2041
|
-
"max-width": "100%",
|
|
2042
|
-
"margin": "0.125rem 0",
|
|
2043
|
-
"padding": "0.125rem 0.5rem",
|
|
2044
|
-
"background": "var(--muted)",
|
|
2045
|
-
"color": "var(--muted-foreground)"
|
|
2046
|
-
},
|
|
2047
|
-
".boring-viewer .boring-html-viewer__preview": {
|
|
2048
|
-
"display": "flex",
|
|
2049
|
-
"flex": "1 1 auto",
|
|
2050
|
-
"flex-direction": "column",
|
|
2051
|
-
"min-height": "0"
|
|
2052
|
-
},
|
|
2053
|
-
".boring-viewer .boring-html-viewer__preview > p": {
|
|
2054
|
-
"flex": "none",
|
|
2055
|
-
"margin": "0",
|
|
2056
|
-
"padding": "0.375rem 0.75rem"
|
|
2057
|
-
},
|
|
2058
|
-
".boring-viewer .boring-html-viewer__preview > div": {
|
|
2059
|
-
"display": "flex",
|
|
2060
|
-
"flex": "1 1 auto",
|
|
2061
|
-
"min-height": "0"
|
|
2062
|
-
},
|
|
2063
|
-
".boring-viewer .boring-html-viewer__frame": {
|
|
2064
|
-
"flex": "1 1 auto",
|
|
2065
|
-
"width": "100%",
|
|
2066
|
-
"height": "100%",
|
|
2067
|
-
"min-height": "0",
|
|
2068
|
-
"border": "0"
|
|
2069
|
-
},
|
|
2070
|
-
".boring-viewer .boring-viewer-checker": {
|
|
2071
|
-
"background-color": "var(--background)",
|
|
2072
|
-
"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%)",
|
|
2073
|
-
"background-position": "0 0, 8px 8px",
|
|
2074
|
-
"background-size": "16px 16px"
|
|
2075
|
-
},
|
|
2076
|
-
".boring-viewer .boring-viewer-stage": {
|
|
2077
|
-
"overflow": "auto"
|
|
2078
|
-
},
|
|
2079
|
-
"@media (width < 768px)": {
|
|
2080
|
-
".boring-viewer .boring-markdown-content": {
|
|
2081
|
-
"padding": "1.25rem 1.25rem 3rem"
|
|
2082
|
-
},
|
|
2083
|
-
".boring-viewer .boring-markdown-toolbar": {
|
|
2084
|
-
"display": "none"
|
|
2085
|
-
},
|
|
2086
|
-
".boring-viewer.boring-markdown-dock": {
|
|
2087
|
-
"display": "flex",
|
|
2088
|
-
"align-items": "center",
|
|
2089
|
-
"gap": "0.125rem",
|
|
2090
|
-
"overflow-x": "auto",
|
|
2091
|
-
"scrollbar-width": "none",
|
|
2092
|
-
"position": "fixed",
|
|
2093
|
-
"inset-inline": "0",
|
|
2094
|
-
"z-index": "50",
|
|
2095
|
-
"padding": "0.25rem 1.5rem 0.25rem 0.5rem",
|
|
2096
|
-
"padding-bottom": "calc(0.25rem + env(safe-area-inset-bottom, 0px))",
|
|
2097
|
-
"background": "var(--background)",
|
|
2098
|
-
"mask-image": "linear-gradient(to right, black calc(100% - 2rem), transparent)"
|
|
2099
|
-
},
|
|
2100
|
-
".boring-viewer.boring-markdown-dock[data-keyboard]": {
|
|
2101
|
-
"padding-bottom": "0.25rem"
|
|
2102
|
-
},
|
|
2103
|
-
".boring-viewer.boring-markdown-dock > .boring-markdown-dock-rule": {
|
|
2104
|
-
"position": "absolute",
|
|
2105
|
-
"inset-inline": "0",
|
|
2106
|
-
"top": "0"
|
|
2107
|
-
},
|
|
2108
|
-
".boring-viewer [data-boring=\"markdown-editor\"][data-dock] .boring-markdown-content": {
|
|
2109
|
-
"padding-bottom": "6rem"
|
|
2110
|
-
}
|
|
2111
|
-
}
|
|
2112
|
-
}
|
|
2113
|
-
}
|
|
2114
|
-
},
|
|
2115
|
-
{
|
|
2116
|
-
"name": "viewer-markdown",
|
|
2117
|
-
"type": "registry:component",
|
|
2118
|
-
"title": "Markdown viewer",
|
|
2119
|
-
"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.",
|
|
2120
|
-
"dependencies": [
|
|
2121
|
-
"@hachej/boring-ui-kit@^0.4.46",
|
|
2122
|
-
"react@^19.0.0",
|
|
2123
|
-
"lucide-react@^1.51.0",
|
|
2124
|
-
"marked@^17.0.6",
|
|
2125
|
-
"@tiptap/core@^3.31.4",
|
|
2126
|
-
"@tiptap/react@^3.31.4",
|
|
2127
|
-
"@tiptap/pm@^3.31.4",
|
|
2128
|
-
"@tiptap/starter-kit@^3.31.4",
|
|
2129
|
-
"@tiptap/markdown@^3.31.4",
|
|
2130
|
-
"@tiptap/extensions@^3.31.4",
|
|
2131
|
-
"@tiptap/extension-list@^3.31.4",
|
|
2132
|
-
"@tiptap/extension-table@^3.31.4",
|
|
2133
|
-
"@tiptap/extension-image@^3.31.4",
|
|
2134
|
-
"@tiptap/extension-highlight@^3.31.4",
|
|
2135
|
-
"@tiptap/extension-bubble-menu@^3.31.4",
|
|
2136
|
-
"@tiptap/extension-floating-menu@^3.31.4"
|
|
2137
|
-
],
|
|
2138
|
-
"registryDependencies": [
|
|
2139
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-frame.json",
|
|
2140
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/markdown-editor.json",
|
|
2141
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json",
|
|
2142
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/button.json"
|
|
2143
|
-
],
|
|
2144
|
-
"files": [
|
|
2145
|
-
{
|
|
2146
|
-
"path": "registry/viewer-markdown/markdown-kind.ts",
|
|
2147
|
-
"type": "registry:lib",
|
|
2148
|
-
"target": "components/viewer-markdown/markdown-kind.ts"
|
|
2149
|
-
},
|
|
2150
|
-
{
|
|
2151
|
-
"path": "registry/viewer-markdown/markdown-pane.tsx",
|
|
2152
|
-
"type": "registry:component",
|
|
2153
|
-
"target": "components/viewer-markdown/markdown-pane.tsx"
|
|
2154
|
-
}
|
|
2155
|
-
]
|
|
2156
|
-
},
|
|
2157
|
-
{
|
|
2158
|
-
"name": "viewer-html",
|
|
2159
|
-
"type": "registry:component",
|
|
2160
|
-
"title": "HTML viewer",
|
|
2161
|
-
"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.",
|
|
2162
|
-
"dependencies": [
|
|
2163
|
-
"@hachej/boring-ui-kit@^0.4.46",
|
|
2164
|
-
"react@^19.0.0",
|
|
2165
|
-
"lucide-react@^1.51.0"
|
|
2166
|
-
],
|
|
2167
|
-
"registryDependencies": [
|
|
2168
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-frame.json",
|
|
2169
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json",
|
|
2170
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/button.json"
|
|
2171
|
-
],
|
|
2172
|
-
"files": [
|
|
2173
|
-
{
|
|
2174
|
-
"path": "registry/viewer-html/html-kind.ts",
|
|
2175
|
-
"type": "registry:lib",
|
|
2176
|
-
"target": "components/viewer-html/html-kind.ts"
|
|
2177
|
-
},
|
|
2178
|
-
{
|
|
2179
|
-
"path": "registry/viewer-html/html-pane.tsx",
|
|
2180
|
-
"type": "registry:component",
|
|
2181
|
-
"target": "components/viewer-html/html-pane.tsx"
|
|
2182
|
-
}
|
|
2183
|
-
]
|
|
2184
|
-
},
|
|
2185
|
-
{
|
|
2186
|
-
"name": "viewer-image",
|
|
2187
|
-
"type": "registry:component",
|
|
2188
|
-
"title": "Image viewer",
|
|
2189
|
-
"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.",
|
|
2190
|
-
"dependencies": [
|
|
2191
|
-
"react@^19.0.0",
|
|
2192
|
-
"lucide-react@^1.51.0"
|
|
2193
|
-
],
|
|
2194
|
-
"registryDependencies": [
|
|
2195
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-frame.json",
|
|
2196
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json"
|
|
2197
|
-
],
|
|
2198
|
-
"files": [
|
|
2199
|
-
{
|
|
2200
|
-
"path": "registry/viewer-image/image-kind.ts",
|
|
2201
|
-
"type": "registry:lib",
|
|
2202
|
-
"target": "components/viewer-image/image-kind.ts"
|
|
2203
|
-
},
|
|
2204
|
-
{
|
|
2205
|
-
"path": "registry/viewer-image/image-types.ts",
|
|
2206
|
-
"type": "registry:lib",
|
|
2207
|
-
"target": "components/viewer-image/image-types.ts"
|
|
2208
|
-
},
|
|
2209
|
-
{
|
|
2210
|
-
"path": "registry/viewer-image/image-pane.tsx",
|
|
2211
|
-
"type": "registry:component",
|
|
2212
|
-
"target": "components/viewer-image/image-pane.tsx"
|
|
2213
|
-
}
|
|
2214
|
-
]
|
|
2215
|
-
},
|
|
2216
|
-
{
|
|
2217
|
-
"name": "viewer-pdf",
|
|
2218
|
-
"type": "registry:component",
|
|
2219
|
-
"title": "PDF viewer",
|
|
2220
|
-
"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.",
|
|
2221
|
-
"dependencies": [
|
|
2222
|
-
"@hachej/boring-files@^0.4.46",
|
|
2223
|
-
"react@^19.0.0",
|
|
2224
|
-
"lucide-react@^1.51.0",
|
|
2225
|
-
"pdfjs-dist@6.4.299"
|
|
2226
|
-
],
|
|
2227
|
-
"registryDependencies": [
|
|
2228
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-frame.json",
|
|
2229
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-image.json"
|
|
2230
|
-
],
|
|
2231
|
-
"files": [
|
|
2232
|
-
{
|
|
2233
|
-
"path": "registry/viewer-pdf/pdf-kind.ts",
|
|
2234
|
-
"type": "registry:lib",
|
|
2235
|
-
"target": "components/viewer-pdf/pdf-kind.ts"
|
|
2236
|
-
},
|
|
2237
|
-
{
|
|
2238
|
-
"path": "registry/viewer-pdf/pdf-pane.tsx",
|
|
2239
|
-
"type": "registry:component",
|
|
2240
|
-
"target": "components/viewer-pdf/pdf-pane.tsx"
|
|
2241
|
-
},
|
|
2242
|
-
{
|
|
2243
|
-
"path": "registry/viewer-pdf/pdf-pages.tsx",
|
|
2244
|
-
"type": "registry:component",
|
|
2245
|
-
"target": "components/viewer-pdf/pdf-pages.tsx"
|
|
2246
|
-
},
|
|
2247
|
-
{
|
|
2248
|
-
"path": "registry/viewer-pdf/local-file-viewer.tsx",
|
|
2249
|
-
"type": "registry:component",
|
|
2250
|
-
"target": "components/viewer-pdf/local-file-viewer.tsx"
|
|
2251
|
-
}
|
|
2252
|
-
]
|
|
2253
|
-
},
|
|
2254
|
-
{
|
|
2255
|
-
"name": "viewer-code",
|
|
2256
|
-
"type": "registry:component",
|
|
2257
|
-
"title": "Code viewers",
|
|
2258
|
-
"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.",
|
|
2259
|
-
"dependencies": [
|
|
2260
|
-
"react@^19.0.0",
|
|
2261
|
-
"lucide-react@^1.51.0"
|
|
2262
|
-
],
|
|
2263
|
-
"registryDependencies": [
|
|
2264
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-frame.json",
|
|
2265
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat.json"
|
|
2266
|
-
],
|
|
2267
|
-
"files": [
|
|
2268
|
-
{
|
|
2269
|
-
"path": "registry/viewer-code/code-kinds.ts",
|
|
2270
|
-
"type": "registry:lib",
|
|
2271
|
-
"target": "components/viewer-code/code-kinds.ts"
|
|
2272
|
-
},
|
|
2273
|
-
{
|
|
2274
|
-
"path": "registry/viewer-code/svg-view.tsx",
|
|
2275
|
-
"type": "registry:component",
|
|
2276
|
-
"target": "components/viewer-code/svg-view.tsx"
|
|
2277
|
-
},
|
|
2278
|
-
{
|
|
2279
|
-
"path": "registry/viewer-code/csv-table.tsx",
|
|
2280
|
-
"type": "registry:component",
|
|
2281
|
-
"target": "components/viewer-code/csv-table.tsx"
|
|
2282
|
-
}
|
|
2283
|
-
]
|
|
2284
|
-
},
|
|
2285
|
-
{
|
|
2286
|
-
"name": "viewers",
|
|
2287
|
-
"type": "registry:component",
|
|
2288
|
-
"title": "Viewers",
|
|
2289
|
-
"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.",
|
|
2290
|
-
"files": [],
|
|
2291
|
-
"registryDependencies": [
|
|
2292
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-frame.json",
|
|
2293
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-markdown.json",
|
|
2294
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-html.json",
|
|
2295
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-image.json",
|
|
2296
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-pdf.json",
|
|
2297
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-code.json"
|
|
2298
|
-
]
|
|
2299
|
-
},
|
|
2300
|
-
{
|
|
2301
|
-
"name": "provider-setup",
|
|
2302
|
-
"type": "registry:component",
|
|
2303
|
-
"title": "Provider setup",
|
|
2304
|
-
"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.",
|
|
2305
|
-
"dependencies": [
|
|
2306
|
-
"react@^19.0.0",
|
|
2307
|
-
"react-dom@^19.0.0",
|
|
2308
|
-
"lucide-react@^1.51.0"
|
|
2309
|
-
],
|
|
2310
|
-
"registryDependencies": [
|
|
2311
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json"
|
|
2312
|
-
],
|
|
2313
|
-
"files": [
|
|
2314
|
-
{
|
|
2315
|
-
"path": "registry/provider-setup/provider-setup.tsx",
|
|
2316
|
-
"type": "registry:component",
|
|
2317
|
-
"target": "components/provider-setup/provider-setup.tsx"
|
|
2318
|
-
}
|
|
2319
|
-
]
|
|
2320
|
-
},
|
|
2321
|
-
{
|
|
2322
|
-
"name": "feedback",
|
|
2323
|
-
"type": "registry:component",
|
|
2324
|
-
"title": "Feedback",
|
|
2325
|
-
"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.",
|
|
2326
|
-
"dependencies": [
|
|
2327
|
-
"@hachej/boring-feedback@^0.4.46",
|
|
2328
|
-
"@hachej/boring-ui-kit@^0.4.46",
|
|
2329
|
-
"@hachej/boring-files@^0.4.46",
|
|
2330
|
-
"react@^19.0.0",
|
|
2331
|
-
"react-dom@^19.0.0",
|
|
2332
|
-
"lucide-react@^1.51.0"
|
|
2333
|
-
],
|
|
2334
|
-
"files": [
|
|
2335
|
-
{
|
|
2336
|
-
"path": "registry/feedback/feedback-session.tsx",
|
|
2337
|
-
"type": "registry:component",
|
|
2338
|
-
"target": "components/feedback/feedback-session.tsx"
|
|
2339
|
-
},
|
|
2340
|
-
{
|
|
2341
|
-
"path": "registry/feedback/point-button.tsx",
|
|
2342
|
-
"type": "registry:component",
|
|
2343
|
-
"target": "components/feedback/point-button.tsx"
|
|
2344
|
-
},
|
|
2345
|
-
{
|
|
2346
|
-
"path": "registry/feedback/picker-overlay.ts",
|
|
2347
|
-
"type": "registry:lib",
|
|
2348
|
-
"target": "components/feedback/picker-overlay.ts"
|
|
2349
|
-
},
|
|
2350
|
-
{
|
|
2351
|
-
"path": "registry/feedback/annotate-sheet.tsx",
|
|
2352
|
-
"type": "registry:component",
|
|
2353
|
-
"target": "components/feedback/annotate-sheet.tsx"
|
|
2354
|
-
},
|
|
2355
|
-
{
|
|
2356
|
-
"path": "registry/feedback/feedback-list.tsx",
|
|
2357
|
-
"type": "registry:component",
|
|
2358
|
-
"target": "components/feedback/feedback-list.tsx"
|
|
2359
|
-
},
|
|
2360
|
-
{
|
|
2361
|
-
"path": "registry/feedback/feedback-report.tsx",
|
|
2362
|
-
"type": "registry:component",
|
|
2363
|
-
"target": "components/feedback/feedback-report.tsx"
|
|
2364
|
-
},
|
|
2365
|
-
{
|
|
2366
|
-
"path": "registry/feedback/use-external.ts",
|
|
2367
|
-
"type": "registry:hook",
|
|
2368
|
-
"target": "components/feedback/use-external.ts"
|
|
2369
|
-
},
|
|
2370
|
-
{
|
|
2371
|
-
"path": "registry/feedback/feedback-card.tsx",
|
|
2372
|
-
"type": "registry:component",
|
|
2373
|
-
"target": "components/feedback/feedback-card.tsx"
|
|
2374
|
-
},
|
|
2375
|
-
{
|
|
2376
|
-
"path": "registry/feedback/voice-input.tsx",
|
|
2377
|
-
"type": "registry:component",
|
|
2378
|
-
"target": "components/feedback/voice-input.tsx"
|
|
2379
|
-
},
|
|
2380
|
-
{
|
|
2381
|
-
"path": "registry/feedback/feedback-labels.ts",
|
|
2382
|
-
"type": "registry:lib",
|
|
2383
|
-
"target": "components/feedback/feedback-labels.ts"
|
|
2384
|
-
},
|
|
2385
|
-
{
|
|
2386
|
-
"path": "registry/feedback/point-mode.tsx",
|
|
2387
|
-
"type": "registry:component",
|
|
2388
|
-
"target": "components/feedback/point-mode.tsx"
|
|
2389
|
-
}
|
|
2390
|
-
],
|
|
2391
|
-
"css": {
|
|
2392
|
-
"[data-boring=\"feedback\"]": {
|
|
2393
|
-
"--boring-feedback-accent": "var(--primary)",
|
|
2394
|
-
"--boring-feedback-reveal": "var(--ring)",
|
|
2395
|
-
"--boring-feedback-surface": "var(--popover)",
|
|
2396
|
-
"--boring-feedback-text": "var(--popover-foreground)",
|
|
2397
|
-
"--boring-feedback-muted": "var(--muted-foreground)",
|
|
2398
|
-
"--boring-feedback-border": "var(--border)",
|
|
2399
|
-
"--boring-feedback-label-background": "var(--foreground)",
|
|
2400
|
-
"--boring-feedback-label-foreground": "var(--background)",
|
|
2401
|
-
"font-family": "inherit",
|
|
2402
|
-
"font-size": "var(--text-sm, 0.875rem)",
|
|
2403
|
-
"line-height": "var(--leading-normal, 1.5)",
|
|
2404
|
-
"color": "var(--boring-feedback-text)"
|
|
2405
|
-
},
|
|
2406
|
-
"@layer base": {
|
|
2407
|
-
"[data-boring=\"feedback\"] :where(button, [role=\"button\"])": {
|
|
2408
|
-
"appearance": "none",
|
|
2409
|
-
"background-color": "transparent",
|
|
2410
|
-
"border": "0",
|
|
2411
|
-
"padding": "0"
|
|
2412
|
-
}
|
|
2413
|
-
},
|
|
2414
|
-
"[data-boring=\"feedback\"] *, [data-boring=\"feedback\"] *::before, [data-boring=\"feedback\"] *::after": {
|
|
2415
|
-
"box-sizing": "border-box"
|
|
2416
|
-
},
|
|
2417
|
-
"[data-boring=\"feedback\"].boring-feedback-point": {
|
|
2418
|
-
"display": "inline-flex",
|
|
2419
|
-
"align-items": "center",
|
|
2420
|
-
"gap": "0.625rem"
|
|
2421
|
-
},
|
|
2422
|
-
"[data-boring=\"feedback\"] .boring-feedback-hint": {
|
|
2423
|
-
"max-width": "32rem",
|
|
2424
|
-
"overflow": "hidden",
|
|
2425
|
-
"text-overflow": "ellipsis",
|
|
2426
|
-
"white-space": "nowrap",
|
|
2427
|
-
"color": "var(--boring-feedback-muted)",
|
|
2428
|
-
"font-size": "var(--text-sm, 0.875rem)"
|
|
2429
|
-
},
|
|
2430
|
-
"[data-boring=\"feedback\"] .boring-feedback-keys": {
|
|
2431
|
-
"opacity": "0.8"
|
|
2432
|
-
},
|
|
2433
|
-
"[data-boring=\"feedback\"]:is(.boring-feedback-sheet, .boring-feedback-report, .boring-feedback-list, .boring-feedback-bubble, .boring-feedback-review, .boring-feedback-banner, .boring-feedback-preview, .boring-feedback-bar)": {
|
|
2434
|
-
"padding-inline": "var(--card-spacing)"
|
|
2435
|
-
},
|
|
2436
|
-
"[data-boring=\"feedback\"].boring-feedback-sheet": {
|
|
2437
|
-
"z-index": "2147483000",
|
|
2438
|
-
"max-height": "calc(100dvh - 24px)",
|
|
2439
|
-
"overflow": "auto"
|
|
1661
|
+
"[data-boring=\"feedback\"].boring-feedback-sheet": {
|
|
1662
|
+
"z-index": "2147483000",
|
|
1663
|
+
"max-height": "calc(100dvh - 24px)",
|
|
1664
|
+
"overflow": "auto"
|
|
2440
1665
|
},
|
|
2441
1666
|
"[data-boring=\"feedback\"].boring-feedback-sheet[data-docked=\"bottom\"]": {
|
|
2442
1667
|
"position": "fixed",
|
|
@@ -2533,287 +1758,1048 @@
|
|
|
2533
1758
|
"margin": "0",
|
|
2534
1759
|
"color": "var(--boring-feedback-muted)"
|
|
2535
1760
|
},
|
|
2536
|
-
"[data-boring=\"feedback\"] .boring-feedback-said": {
|
|
2537
|
-
"margin": "0",
|
|
2538
|
-
"white-space": "pre-wrap"
|
|
1761
|
+
"[data-boring=\"feedback\"] .boring-feedback-said": {
|
|
1762
|
+
"margin": "0",
|
|
1763
|
+
"white-space": "pre-wrap"
|
|
1764
|
+
},
|
|
1765
|
+
"[data-boring=\"feedback\"] .boring-feedback-anchors": {
|
|
1766
|
+
"display": "flex",
|
|
1767
|
+
"flex-direction": "column",
|
|
1768
|
+
"gap": "0.5rem",
|
|
1769
|
+
"margin": "0",
|
|
1770
|
+
"padding-left": "1.25rem"
|
|
1771
|
+
},
|
|
1772
|
+
"[data-boring=\"feedback\"] .boring-feedback-anchors > li": {
|
|
1773
|
+
"display": "flex",
|
|
1774
|
+
"flex-wrap": "wrap",
|
|
1775
|
+
"align-items": "center",
|
|
1776
|
+
"gap": "0.5rem"
|
|
1777
|
+
},
|
|
1778
|
+
"[data-boring=\"feedback\"] .boring-feedback-anchors code": {
|
|
1779
|
+
"font-size": "var(--text-xs, 0.75rem)",
|
|
1780
|
+
"color": "var(--boring-feedback-muted)"
|
|
1781
|
+
},
|
|
1782
|
+
"[data-boring=\"feedback\"] .boring-feedback-candidates": {
|
|
1783
|
+
"display": "flex",
|
|
1784
|
+
"flex-wrap": "wrap",
|
|
1785
|
+
"gap": "0.375rem",
|
|
1786
|
+
"margin": "0.375rem 0 0",
|
|
1787
|
+
"padding": "0",
|
|
1788
|
+
"list-style": "none"
|
|
1789
|
+
},
|
|
1790
|
+
"[data-boring=\"feedback\"].boring-feedback-bar": {
|
|
1791
|
+
"position": "fixed",
|
|
1792
|
+
"top": "12px",
|
|
1793
|
+
"left": "0",
|
|
1794
|
+
"right": "0",
|
|
1795
|
+
"z-index": "2147483000",
|
|
1796
|
+
"flex-direction": "row",
|
|
1797
|
+
"flex-wrap": "nowrap",
|
|
1798
|
+
"align-items": "center",
|
|
1799
|
+
"gap": "0.5rem",
|
|
1800
|
+
"width": "max-content",
|
|
1801
|
+
"max-width": "calc(100vw - 24px)",
|
|
1802
|
+
"margin": "0 auto"
|
|
1803
|
+
},
|
|
1804
|
+
"[data-boring=\"feedback\"].boring-feedback-bar[data-docked=\"true\"]": {
|
|
1805
|
+
"position": "static",
|
|
1806
|
+
"width": "auto",
|
|
1807
|
+
"max-width": "none",
|
|
1808
|
+
"margin": "0 0.625rem 0.625rem",
|
|
1809
|
+
"flex-wrap": "wrap"
|
|
1810
|
+
},
|
|
1811
|
+
"[data-boring=\"feedback\"].boring-feedback-bar > *": {
|
|
1812
|
+
"flex": "none"
|
|
1813
|
+
},
|
|
1814
|
+
"[data-boring=\"feedback\"].boring-feedback-bar > .boring-feedback-hint": {
|
|
1815
|
+
"flex": "0 1 auto",
|
|
1816
|
+
"min-width": "0",
|
|
1817
|
+
"max-width": "24rem"
|
|
1818
|
+
},
|
|
1819
|
+
"[data-boring=\"feedback\"] .boring-feedback-bar-title": {
|
|
1820
|
+
"display": "inline-flex",
|
|
1821
|
+
"font-family": "var(--font-display, inherit)",
|
|
1822
|
+
"align-items": "center",
|
|
1823
|
+
"gap": "0.375rem",
|
|
1824
|
+
"font-weight": "var(--font-weight-semibold, 600)"
|
|
1825
|
+
},
|
|
1826
|
+
"[data-boring=\"feedback\"] .boring-feedback-bar-meta": {
|
|
1827
|
+
"color": "var(--boring-feedback-muted)",
|
|
1828
|
+
"font-size": "var(--text-sm, 0.875rem)"
|
|
1829
|
+
},
|
|
1830
|
+
"[data-boring=\"feedback\"].boring-feedback-bar[data-docked=\"true\"] > .boring-feedback-hint": {
|
|
1831
|
+
"flex": "1 1 10rem",
|
|
1832
|
+
"max-width": "none",
|
|
1833
|
+
"white-space": "normal"
|
|
1834
|
+
},
|
|
1835
|
+
"[data-boring=\"feedback\"] .boring-feedback-timer": {
|
|
1836
|
+
"font-variant-numeric": "tabular-nums"
|
|
1837
|
+
},
|
|
1838
|
+
"[data-boring=\"feedback\"] .boring-feedback-voice-problem": {
|
|
1839
|
+
"flex": "1 1 100%",
|
|
1840
|
+
"margin": "0",
|
|
1841
|
+
"color": "var(--destructive)",
|
|
1842
|
+
"font-size": "var(--text-sm, 0.875rem)",
|
|
1843
|
+
"white-space": "normal"
|
|
1844
|
+
},
|
|
1845
|
+
"[data-boring=\"feedback\"] .boring-feedback-element": {
|
|
1846
|
+
"display": "inline-flex",
|
|
1847
|
+
"flex": "1",
|
|
1848
|
+
"align-items": "baseline",
|
|
1849
|
+
"gap": "0.375rem",
|
|
1850
|
+
"min-width": "0",
|
|
1851
|
+
"overflow": "hidden",
|
|
1852
|
+
"white-space": "nowrap"
|
|
1853
|
+
},
|
|
1854
|
+
"[data-boring=\"feedback\"] .boring-feedback-element-name": {
|
|
1855
|
+
"flex": "0 1 auto",
|
|
1856
|
+
"min-width": "2rem",
|
|
1857
|
+
"overflow": "hidden",
|
|
1858
|
+
"text-overflow": "ellipsis",
|
|
1859
|
+
"font-size": "var(--text-sm, 0.875rem)",
|
|
1860
|
+
"font-weight": "var(--font-weight-semibold, 600)"
|
|
1861
|
+
},
|
|
1862
|
+
"[data-boring=\"feedback\"] .boring-feedback-element-file": {
|
|
1863
|
+
"flex": "0 100 auto",
|
|
1864
|
+
"min-width": "0",
|
|
1865
|
+
"overflow": "hidden",
|
|
1866
|
+
"text-overflow": "ellipsis",
|
|
1867
|
+
"color": "var(--boring-feedback-muted)",
|
|
1868
|
+
"font-family": "var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace)",
|
|
1869
|
+
"font-size": "var(--text-xs, 0.75rem)",
|
|
1870
|
+
"line-height": "var(--leading-snug, 1.375)"
|
|
1871
|
+
},
|
|
1872
|
+
"[data-boring=\"feedback\"].boring-feedback-bubble": {
|
|
1873
|
+
"z-index": "2147483001"
|
|
1874
|
+
},
|
|
1875
|
+
"[data-boring=\"feedback\"] .boring-feedback-bubble-head, [data-boring=\"feedback\"] .boring-feedback-note-head": {
|
|
1876
|
+
"display": "flex",
|
|
1877
|
+
"align-items": "center",
|
|
1878
|
+
"gap": "0.375rem",
|
|
1879
|
+
"min-width": "0"
|
|
1880
|
+
},
|
|
1881
|
+
"[data-boring=\"feedback\"] .boring-feedback-bubble-label, [data-boring=\"feedback\"] .boring-feedback-note-label": {
|
|
1882
|
+
"flex": "1",
|
|
1883
|
+
"min-width": "0",
|
|
1884
|
+
"overflow": "hidden",
|
|
1885
|
+
"text-overflow": "ellipsis",
|
|
1886
|
+
"white-space": "nowrap",
|
|
1887
|
+
"color": "var(--boring-feedback-muted)",
|
|
1888
|
+
"font-size": "var(--text-xs, 0.75rem)"
|
|
1889
|
+
},
|
|
1890
|
+
"[data-boring=\"feedback\"] .boring-feedback-pin": {
|
|
1891
|
+
"color": "var(--boring-feedback-accent)",
|
|
1892
|
+
"font-weight": "var(--font-weight-bold, 700)"
|
|
1893
|
+
},
|
|
1894
|
+
"[data-boring=\"feedback\"].boring-feedback-chip": {
|
|
1895
|
+
"position": "relative",
|
|
1896
|
+
"display": "inline-flex",
|
|
1897
|
+
"flex-wrap": "wrap",
|
|
1898
|
+
"align-items": "center",
|
|
1899
|
+
"gap": "0.125rem",
|
|
1900
|
+
"max-width": "100%"
|
|
1901
|
+
},
|
|
1902
|
+
"[data-boring=\"feedback\"] .boring-feedback-chip-route": {
|
|
1903
|
+
"color": "var(--boring-feedback-muted)",
|
|
1904
|
+
"font-family": "var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace)",
|
|
1905
|
+
"font-weight": "var(--font-weight-medium, 500)"
|
|
1906
|
+
},
|
|
1907
|
+
"[data-boring=\"feedback\"].boring-feedback-review": {
|
|
1908
|
+
"z-index": "2147483000",
|
|
1909
|
+
"max-height": "min(28rem, calc(100dvh - 24px))",
|
|
1910
|
+
"overflow": "auto",
|
|
1911
|
+
"text-align": "left"
|
|
1912
|
+
},
|
|
1913
|
+
"[data-boring=\"feedback\"] .boring-feedback-notes": {
|
|
1914
|
+
"display": "flex",
|
|
1915
|
+
"flex-direction": "column",
|
|
1916
|
+
"gap": "0.5rem",
|
|
1917
|
+
"margin": "0",
|
|
1918
|
+
"padding": "0",
|
|
1919
|
+
"list-style": "none"
|
|
1920
|
+
},
|
|
1921
|
+
"[data-boring=\"feedback\"] .boring-feedback-notes > li": {
|
|
1922
|
+
"display": "grid",
|
|
1923
|
+
"gap": "0.25rem"
|
|
1924
|
+
},
|
|
1925
|
+
"[data-boring=\"feedback\"].boring-feedback-banner": {
|
|
1926
|
+
"position": "fixed",
|
|
1927
|
+
"left": "8px",
|
|
1928
|
+
"right": "8px",
|
|
1929
|
+
"z-index": "2147483000",
|
|
1930
|
+
"max-width": "32rem",
|
|
1931
|
+
"margin": "0 auto",
|
|
1932
|
+
"flex-direction": "row",
|
|
1933
|
+
"align-items": "center",
|
|
1934
|
+
"gap": "0.75rem"
|
|
1935
|
+
},
|
|
1936
|
+
"@media (max-width: 640px), (pointer: coarse)": {
|
|
1937
|
+
"[data-boring=\"feedback\"] .boring-feedback-hint": {
|
|
1938
|
+
"display": "none"
|
|
1939
|
+
},
|
|
1940
|
+
"[data-boring=\"feedback\"].boring-feedback-bar": {
|
|
1941
|
+
"top": "auto",
|
|
1942
|
+
"bottom": "12px",
|
|
1943
|
+
"flex-wrap": "wrap"
|
|
1944
|
+
},
|
|
1945
|
+
"[data-boring=\"feedback\"] :is([data-slot=\"button\"], [data-slot=\"toggle\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
|
|
1946
|
+
"min-height": "2.75rem",
|
|
1947
|
+
"min-width": "2.75rem"
|
|
1948
|
+
}
|
|
1949
|
+
},
|
|
1950
|
+
"[data-boring=\"feedback\"].boring-feedback-preview": {
|
|
1951
|
+
"position": "fixed",
|
|
1952
|
+
"top": "12px",
|
|
1953
|
+
"left": "0",
|
|
1954
|
+
"right": "0",
|
|
1955
|
+
"z-index": "2147483001",
|
|
1956
|
+
"width": "min(40rem, calc(100vw - 24px))",
|
|
1957
|
+
"margin": "0 auto"
|
|
1958
|
+
},
|
|
1959
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-head": {
|
|
1960
|
+
"display": "flex",
|
|
1961
|
+
"flex-wrap": "wrap",
|
|
1962
|
+
"align-items": "baseline",
|
|
1963
|
+
"gap": "0.5rem"
|
|
1964
|
+
},
|
|
1965
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-notice": {
|
|
1966
|
+
"font-weight": "var(--font-weight-semibold, 600)"
|
|
1967
|
+
},
|
|
1968
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-status": {
|
|
1969
|
+
"margin-left": "auto",
|
|
1970
|
+
"color": "var(--boring-feedback-muted)",
|
|
1971
|
+
"font-size": "var(--text-sm, 0.875rem)"
|
|
1972
|
+
},
|
|
1973
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-summary": {
|
|
1974
|
+
"margin": "0"
|
|
1975
|
+
},
|
|
1976
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-changes": {
|
|
1977
|
+
"margin": "0",
|
|
1978
|
+
"padding-left": "1.125rem",
|
|
1979
|
+
"color": "var(--boring-feedback-muted)",
|
|
1980
|
+
"font-size": "var(--text-sm, 0.875rem)"
|
|
1981
|
+
},
|
|
1982
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-changes code": {
|
|
1983
|
+
"font-size": "var(--text-xs, 0.75rem)"
|
|
1984
|
+
},
|
|
1985
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-error": {
|
|
1986
|
+
"margin": "0",
|
|
1987
|
+
"color": "var(--destructive)",
|
|
1988
|
+
"font-size": "var(--text-sm, 0.875rem)"
|
|
1989
|
+
},
|
|
1990
|
+
"[data-boring=\"feedback\"] .boring-feedback-preview-actions": {
|
|
1991
|
+
"display": "flex",
|
|
1992
|
+
"flex-wrap": "wrap",
|
|
1993
|
+
"gap": "0.5rem"
|
|
1994
|
+
},
|
|
1995
|
+
"[data-boring=\"feedback\"] .boring-feedback-pin-field": {
|
|
1996
|
+
"display": "grid"
|
|
1997
|
+
},
|
|
1998
|
+
"[data-boring=\"feedback\"] .boring-feedback-pin-field > *": {
|
|
1999
|
+
"grid-column": "1"
|
|
2000
|
+
},
|
|
2001
|
+
"[data-boring=\"feedback\"] .boring-feedback-pin-field > textarea, [data-boring=\"feedback\"] .boring-feedback-pin-field > .boring-feedback-pin-mic": {
|
|
2002
|
+
"grid-row": "1"
|
|
2003
|
+
},
|
|
2004
|
+
"[data-boring=\"feedback\"] .boring-feedback-pin-field > .boring-feedback-voice-problem": {
|
|
2005
|
+
"grid-row": "2"
|
|
2006
|
+
},
|
|
2007
|
+
"[data-boring=\"feedback\"] .boring-feedback-pin-field textarea": {
|
|
2008
|
+
"width": "100%",
|
|
2009
|
+
"padding-inline-end": "3.25rem"
|
|
2539
2010
|
},
|
|
2540
|
-
"[data-boring=\"feedback\"] .boring-feedback-
|
|
2541
|
-
"
|
|
2542
|
-
"
|
|
2543
|
-
"gap": "0.5rem",
|
|
2544
|
-
"margin": "0",
|
|
2545
|
-
"padding-left": "1.25rem"
|
|
2011
|
+
"[data-boring=\"feedback\"] .boring-feedback-pin-mic": {
|
|
2012
|
+
"justify-self": "end",
|
|
2013
|
+
"align-self": "end"
|
|
2546
2014
|
},
|
|
2547
|
-
"[data-boring=\"feedback\"] .boring-feedback-
|
|
2015
|
+
"[data-boring=\"feedback\"] .boring-feedback-bubble-actions": {
|
|
2548
2016
|
"display": "flex",
|
|
2549
2017
|
"flex-wrap": "wrap",
|
|
2550
|
-
"
|
|
2551
|
-
|
|
2018
|
+
"gap": "0.375rem"
|
|
2019
|
+
}
|
|
2020
|
+
},
|
|
2021
|
+
"registryDependencies": [
|
|
2022
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json",
|
|
2023
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-voice.json",
|
|
2024
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
2025
|
+
]
|
|
2026
|
+
},
|
|
2027
|
+
{
|
|
2028
|
+
"name": "app-shell",
|
|
2029
|
+
"type": "registry:block",
|
|
2030
|
+
"title": "App shell: layouts, list/detail and agent layer",
|
|
2031
|
+
"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.",
|
|
2032
|
+
"dependencies": [
|
|
2033
|
+
"@hachej/boring-feedback@^0.4.48",
|
|
2034
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2035
|
+
"@base-ui/react@^1.9.0",
|
|
2036
|
+
"react@^19.0.0",
|
|
2037
|
+
"react-dom@^19.0.0",
|
|
2038
|
+
"lucide-react@^1.51.0"
|
|
2039
|
+
],
|
|
2040
|
+
"registryDependencies": [
|
|
2041
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json",
|
|
2042
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-plugins.json",
|
|
2043
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat-voice.json",
|
|
2044
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/dock.json",
|
|
2045
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/feedback.json",
|
|
2046
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
2047
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
2048
|
+
],
|
|
2049
|
+
"css": {
|
|
2050
|
+
"@layer base": {
|
|
2051
|
+
".app-shell :where(*, ::before, ::after)": {
|
|
2052
|
+
"border-color": "var(--border)"
|
|
2053
|
+
},
|
|
2054
|
+
".app-shell :where(button, [role=button])": {
|
|
2055
|
+
"appearance": "none",
|
|
2056
|
+
"background-color": "transparent",
|
|
2057
|
+
"border": "0 solid",
|
|
2058
|
+
"font": "inherit",
|
|
2059
|
+
"color": "inherit",
|
|
2060
|
+
"cursor": "pointer",
|
|
2061
|
+
"padding": "0"
|
|
2062
|
+
},
|
|
2063
|
+
".app-shell :where(h2)": {
|
|
2064
|
+
"margin": "0",
|
|
2065
|
+
"font": "inherit"
|
|
2066
|
+
}
|
|
2552
2067
|
},
|
|
2553
|
-
"
|
|
2554
|
-
"
|
|
2555
|
-
|
|
2068
|
+
"@layer utilities": {
|
|
2069
|
+
"@media (width < 768px), (pointer: coarse)": {
|
|
2070
|
+
".app-shell :is([data-slot=\"button\"], [data-slot=\"toggle\"], [class~=\"group/button\"], [class~=\"group/toggle\"]):not([data-dense]):not([data-dense] *)": {
|
|
2071
|
+
"min-height": "2.75rem",
|
|
2072
|
+
"min-width": "2.75rem"
|
|
2073
|
+
}
|
|
2074
|
+
}
|
|
2075
|
+
}
|
|
2076
|
+
},
|
|
2077
|
+
"files": [
|
|
2078
|
+
{
|
|
2079
|
+
"path": "registry/app-shell/agent-layer.tsx",
|
|
2080
|
+
"type": "registry:component",
|
|
2081
|
+
"target": "components/app-shell/agent-layer.tsx"
|
|
2556
2082
|
},
|
|
2557
|
-
|
|
2558
|
-
"
|
|
2559
|
-
"
|
|
2560
|
-
"
|
|
2561
|
-
"margin": "0.375rem 0 0",
|
|
2562
|
-
"padding": "0",
|
|
2563
|
-
"list-style": "none"
|
|
2083
|
+
{
|
|
2084
|
+
"path": "registry/app-shell/agent-context.ts",
|
|
2085
|
+
"type": "registry:lib",
|
|
2086
|
+
"target": "components/app-shell/agent-context.ts"
|
|
2564
2087
|
},
|
|
2565
|
-
|
|
2566
|
-
"
|
|
2567
|
-
"
|
|
2568
|
-
"
|
|
2569
|
-
"right": "0",
|
|
2570
|
-
"z-index": "2147483000",
|
|
2571
|
-
"flex-direction": "row",
|
|
2572
|
-
"flex-wrap": "nowrap",
|
|
2573
|
-
"align-items": "center",
|
|
2574
|
-
"gap": "0.5rem",
|
|
2575
|
-
"width": "max-content",
|
|
2576
|
-
"max-width": "calc(100vw - 24px)",
|
|
2577
|
-
"margin": "0 auto"
|
|
2088
|
+
{
|
|
2089
|
+
"path": "registry/app-shell/agent-link.ts",
|
|
2090
|
+
"type": "registry:lib",
|
|
2091
|
+
"target": "components/app-shell/agent-link.ts"
|
|
2578
2092
|
},
|
|
2579
|
-
|
|
2580
|
-
"
|
|
2581
|
-
"
|
|
2582
|
-
"
|
|
2583
|
-
"margin": "0 0.625rem 0.625rem",
|
|
2584
|
-
"flex-wrap": "wrap"
|
|
2093
|
+
{
|
|
2094
|
+
"path": "registry/app-shell/use-visual-viewport.ts",
|
|
2095
|
+
"type": "registry:hook",
|
|
2096
|
+
"target": "components/app-shell/use-visual-viewport.ts"
|
|
2585
2097
|
},
|
|
2586
|
-
|
|
2587
|
-
"
|
|
2098
|
+
{
|
|
2099
|
+
"path": "registry/app-shell/shell-layer.ts",
|
|
2100
|
+
"type": "registry:lib",
|
|
2101
|
+
"target": "components/app-shell/shell-layer.ts"
|
|
2588
2102
|
},
|
|
2589
|
-
|
|
2590
|
-
"
|
|
2591
|
-
"
|
|
2592
|
-
"
|
|
2103
|
+
{
|
|
2104
|
+
"path": "registry/app-shell/text.ts",
|
|
2105
|
+
"type": "registry:lib",
|
|
2106
|
+
"target": "components/app-shell/text.ts"
|
|
2593
2107
|
},
|
|
2594
|
-
|
|
2595
|
-
"
|
|
2596
|
-
"
|
|
2597
|
-
"
|
|
2598
|
-
"gap": "0.375rem",
|
|
2599
|
-
"font-weight": "var(--font-weight-semibold, 600)"
|
|
2108
|
+
{
|
|
2109
|
+
"path": "registry/app-shell/app-shell.tsx",
|
|
2110
|
+
"type": "registry:component",
|
|
2111
|
+
"target": "components/app-shell/app-shell.tsx"
|
|
2600
2112
|
},
|
|
2601
|
-
|
|
2602
|
-
"
|
|
2603
|
-
"
|
|
2113
|
+
{
|
|
2114
|
+
"path": "registry/app-shell/list-detail.tsx",
|
|
2115
|
+
"type": "registry:component",
|
|
2116
|
+
"target": "components/app-shell/list-detail.tsx"
|
|
2604
2117
|
},
|
|
2605
|
-
|
|
2606
|
-
"
|
|
2607
|
-
"
|
|
2608
|
-
"
|
|
2118
|
+
{
|
|
2119
|
+
"path": "registry/app-shell/header.tsx",
|
|
2120
|
+
"type": "registry:component",
|
|
2121
|
+
"target": "components/app-shell/header.tsx"
|
|
2609
2122
|
},
|
|
2610
|
-
|
|
2611
|
-
"
|
|
2123
|
+
{
|
|
2124
|
+
"path": "registry/app-shell/header-actions.tsx",
|
|
2125
|
+
"type": "registry:component",
|
|
2126
|
+
"target": "components/app-shell/header-actions.tsx"
|
|
2612
2127
|
},
|
|
2613
|
-
|
|
2614
|
-
"
|
|
2615
|
-
"
|
|
2616
|
-
"
|
|
2617
|
-
"font-size": "var(--text-sm, 0.875rem)",
|
|
2618
|
-
"white-space": "normal"
|
|
2128
|
+
{
|
|
2129
|
+
"path": "registry/app-shell/nav.tsx",
|
|
2130
|
+
"type": "registry:component",
|
|
2131
|
+
"target": "components/app-shell/nav.tsx"
|
|
2619
2132
|
},
|
|
2620
|
-
|
|
2621
|
-
"
|
|
2622
|
-
"
|
|
2623
|
-
"
|
|
2624
|
-
"gap": "0.375rem",
|
|
2625
|
-
"min-width": "0",
|
|
2626
|
-
"overflow": "hidden",
|
|
2627
|
-
"white-space": "nowrap"
|
|
2133
|
+
{
|
|
2134
|
+
"path": "registry/app-shell/account.tsx",
|
|
2135
|
+
"type": "registry:component",
|
|
2136
|
+
"target": "components/app-shell/account.tsx"
|
|
2628
2137
|
},
|
|
2629
|
-
|
|
2630
|
-
"
|
|
2631
|
-
"
|
|
2632
|
-
"
|
|
2633
|
-
"text-overflow": "ellipsis",
|
|
2634
|
-
"font-size": "var(--text-sm, 0.875rem)",
|
|
2635
|
-
"font-weight": "var(--font-weight-semibold, 600)"
|
|
2138
|
+
{
|
|
2139
|
+
"path": "registry/app-shell/app-sheet.tsx",
|
|
2140
|
+
"type": "registry:component",
|
|
2141
|
+
"target": "components/app-shell/app-sheet.tsx"
|
|
2636
2142
|
},
|
|
2637
|
-
|
|
2638
|
-
"
|
|
2639
|
-
"
|
|
2640
|
-
"
|
|
2641
|
-
"text-overflow": "ellipsis",
|
|
2642
|
-
"color": "var(--boring-feedback-muted)",
|
|
2643
|
-
"font-family": "var(--font-mono, ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace)",
|
|
2644
|
-
"font-size": "var(--text-xs, 0.75rem)",
|
|
2645
|
-
"line-height": "var(--leading-snug, 1.375)"
|
|
2143
|
+
{
|
|
2144
|
+
"path": "registry/app-shell/use-exclusive-sheet.ts",
|
|
2145
|
+
"type": "registry:hook",
|
|
2146
|
+
"target": "components/app-shell/use-exclusive-sheet.ts"
|
|
2646
2147
|
},
|
|
2647
|
-
|
|
2648
|
-
"
|
|
2148
|
+
{
|
|
2149
|
+
"path": "registry/app-shell/shell-panel.tsx",
|
|
2150
|
+
"type": "registry:component",
|
|
2151
|
+
"target": "components/app-shell/shell-panel.tsx"
|
|
2649
2152
|
},
|
|
2650
|
-
|
|
2651
|
-
"
|
|
2652
|
-
"
|
|
2653
|
-
"
|
|
2654
|
-
"min-width": "0"
|
|
2153
|
+
{
|
|
2154
|
+
"path": "registry/app-shell/compact.ts",
|
|
2155
|
+
"type": "registry:hook",
|
|
2156
|
+
"target": "components/app-shell/compact.ts"
|
|
2655
2157
|
},
|
|
2656
|
-
|
|
2657
|
-
"
|
|
2658
|
-
"
|
|
2659
|
-
"
|
|
2660
|
-
"text-overflow": "ellipsis",
|
|
2661
|
-
"white-space": "nowrap",
|
|
2662
|
-
"color": "var(--boring-feedback-muted)",
|
|
2663
|
-
"font-size": "var(--text-xs, 0.75rem)"
|
|
2158
|
+
{
|
|
2159
|
+
"path": "registry/app-shell/index.ts",
|
|
2160
|
+
"type": "registry:lib",
|
|
2161
|
+
"target": "components/app-shell/index.ts"
|
|
2664
2162
|
},
|
|
2665
|
-
|
|
2666
|
-
"
|
|
2667
|
-
"
|
|
2163
|
+
{
|
|
2164
|
+
"path": "registry/app-shell/use-dictation.ts",
|
|
2165
|
+
"type": "registry:hook",
|
|
2166
|
+
"target": "components/app-shell/use-dictation.ts"
|
|
2167
|
+
}
|
|
2168
|
+
]
|
|
2169
|
+
},
|
|
2170
|
+
{
|
|
2171
|
+
"name": "viewer-frame",
|
|
2172
|
+
"type": "registry:component",
|
|
2173
|
+
"title": "Viewer frame",
|
|
2174
|
+
"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.",
|
|
2175
|
+
"dependencies": [
|
|
2176
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2177
|
+
"react@^19.0.0",
|
|
2178
|
+
"react-dom@^19.0.0",
|
|
2179
|
+
"lucide-react@^1.51.0"
|
|
2180
|
+
],
|
|
2181
|
+
"registryDependencies": [
|
|
2182
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
2183
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json",
|
|
2184
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/version-history.json"
|
|
2185
|
+
],
|
|
2186
|
+
"files": [
|
|
2187
|
+
{
|
|
2188
|
+
"path": "registry/viewer-frame/download.ts",
|
|
2189
|
+
"type": "registry:lib",
|
|
2190
|
+
"target": "components/viewer-frame/download.ts"
|
|
2668
2191
|
},
|
|
2669
|
-
|
|
2670
|
-
"
|
|
2671
|
-
"
|
|
2672
|
-
"
|
|
2673
|
-
"align-items": "center",
|
|
2674
|
-
"gap": "0.125rem",
|
|
2675
|
-
"max-width": "100%"
|
|
2192
|
+
{
|
|
2193
|
+
"path": "registry/viewer-frame/interactive-html.tsx",
|
|
2194
|
+
"type": "registry:component",
|
|
2195
|
+
"target": "components/viewer-frame/interactive-html.tsx"
|
|
2676
2196
|
},
|
|
2677
|
-
|
|
2678
|
-
"
|
|
2679
|
-
"
|
|
2680
|
-
"
|
|
2197
|
+
{
|
|
2198
|
+
"path": "registry/viewer-frame/media.ts",
|
|
2199
|
+
"type": "registry:lib",
|
|
2200
|
+
"target": "components/viewer-frame/media.ts"
|
|
2681
2201
|
},
|
|
2682
|
-
|
|
2683
|
-
"
|
|
2684
|
-
"
|
|
2685
|
-
"
|
|
2686
|
-
"text-align": "left"
|
|
2202
|
+
{
|
|
2203
|
+
"path": "registry/viewer-frame/menu.tsx",
|
|
2204
|
+
"type": "registry:component",
|
|
2205
|
+
"target": "components/viewer-frame/menu.tsx"
|
|
2687
2206
|
},
|
|
2688
|
-
|
|
2689
|
-
"
|
|
2690
|
-
"
|
|
2691
|
-
"
|
|
2692
|
-
"margin": "0",
|
|
2693
|
-
"padding": "0",
|
|
2694
|
-
"list-style": "none"
|
|
2207
|
+
{
|
|
2208
|
+
"path": "registry/viewer-frame/share.ts",
|
|
2209
|
+
"type": "registry:lib",
|
|
2210
|
+
"target": "components/viewer-frame/share.ts"
|
|
2695
2211
|
},
|
|
2696
|
-
|
|
2697
|
-
"
|
|
2698
|
-
"
|
|
2212
|
+
{
|
|
2213
|
+
"path": "registry/viewer-frame/viewer-frame.tsx",
|
|
2214
|
+
"type": "registry:component",
|
|
2215
|
+
"target": "components/viewer-frame/viewer-frame.tsx"
|
|
2699
2216
|
},
|
|
2700
|
-
|
|
2701
|
-
"
|
|
2702
|
-
"
|
|
2703
|
-
"
|
|
2704
|
-
"z-index": "2147483000",
|
|
2705
|
-
"max-width": "32rem",
|
|
2706
|
-
"margin": "0 auto",
|
|
2707
|
-
"flex-direction": "row",
|
|
2708
|
-
"align-items": "center",
|
|
2709
|
-
"gap": "0.75rem"
|
|
2217
|
+
{
|
|
2218
|
+
"path": "registry/viewer-frame/viewer-window.ts",
|
|
2219
|
+
"type": "registry:lib",
|
|
2220
|
+
"target": "components/viewer-frame/viewer-window.ts"
|
|
2710
2221
|
},
|
|
2711
|
-
|
|
2712
|
-
"
|
|
2222
|
+
{
|
|
2223
|
+
"path": "registry/viewer-frame/viewer-labels-fr.ts",
|
|
2224
|
+
"type": "registry:lib",
|
|
2225
|
+
"target": "components/viewer-frame/viewer-labels-fr.ts"
|
|
2226
|
+
}
|
|
2227
|
+
],
|
|
2228
|
+
"css": {
|
|
2229
|
+
"@layer utilities": {
|
|
2230
|
+
"@media (width < 768px), (pointer: coarse)": {
|
|
2231
|
+
".boring-viewer :is([data-slot=\"button\"], [data-slot=\"toggle\"], [data-slot=\"toggle-group-item\"], [class~=\"group/button\"], [class~=\"group/toggle\"])": {
|
|
2232
|
+
"min-height": "2.75rem",
|
|
2233
|
+
"min-width": "2.75rem"
|
|
2234
|
+
},
|
|
2235
|
+
".boring-viewer.boring-markdown-bubble :is([data-slot=\"button\"], [data-slot=\"toggle\"])": {
|
|
2236
|
+
"min-height": "2.75rem",
|
|
2237
|
+
"min-width": "2.75rem"
|
|
2238
|
+
}
|
|
2239
|
+
}
|
|
2240
|
+
},
|
|
2241
|
+
"@layer components": {
|
|
2242
|
+
".boring-viewer .boring-markdown-editor, .boring-viewer .boring-html-pane": {
|
|
2243
|
+
"display": "flex",
|
|
2244
|
+
"flex-direction": "column",
|
|
2245
|
+
"flex": "1 1 auto",
|
|
2246
|
+
"min-height": "0",
|
|
2247
|
+
"min-width": "0",
|
|
2248
|
+
"container-type": "inline-size"
|
|
2249
|
+
},
|
|
2250
|
+
".boring-viewer .boring-markdown-surface": {
|
|
2251
|
+
"flex": "1 1 auto",
|
|
2252
|
+
"min-height": "0",
|
|
2253
|
+
"overflow": "auto"
|
|
2254
|
+
},
|
|
2255
|
+
".boring-viewer .boring-markdown-toolbar, .boring-viewer.boring-markdown-bubble": {
|
|
2256
|
+
"display": "flex",
|
|
2257
|
+
"flex": "none",
|
|
2258
|
+
"align-items": "center",
|
|
2259
|
+
"gap": "0.25rem",
|
|
2260
|
+
"max-width": "calc(100vw - 24px)"
|
|
2261
|
+
},
|
|
2262
|
+
".boring-viewer .boring-markdown-toolbar": {
|
|
2263
|
+
"padding": "0.375rem 1.5rem 0.375rem 0.75rem",
|
|
2264
|
+
"overflow-x": "auto",
|
|
2265
|
+
"scrollbar-width": "none",
|
|
2266
|
+
"mask-image": "linear-gradient(to right, black calc(100% - 2rem), transparent)"
|
|
2267
|
+
},
|
|
2268
|
+
".boring-viewer .boring-markdown-toolbar::-webkit-scrollbar": {
|
|
2269
|
+
"display": "none"
|
|
2270
|
+
},
|
|
2271
|
+
".boring-viewer .boring-markdown-tool": {
|
|
2272
|
+
"flex": "none"
|
|
2273
|
+
},
|
|
2274
|
+
".boring-viewer .boring-markdown-separator": {
|
|
2275
|
+
"flex": "none",
|
|
2276
|
+
"margin-inline": "0.25rem"
|
|
2277
|
+
},
|
|
2278
|
+
".boring-viewer span.boring-markdown-separator": {
|
|
2279
|
+
"width": "0.5rem",
|
|
2280
|
+
"margin": "0"
|
|
2281
|
+
},
|
|
2282
|
+
".boring-viewer .boring-markdown-icon": {
|
|
2283
|
+
"display": "block"
|
|
2284
|
+
},
|
|
2285
|
+
".boring-viewer .boring-markdown-link, .boring-viewer .boring-markdown-alert, .boring-viewer .boring-markdown-proposal, .boring-viewer [data-boring=\"text-draft-controls\"]": {
|
|
2286
|
+
"display": "flex",
|
|
2287
|
+
"flex": "none",
|
|
2288
|
+
"flex-wrap": "wrap",
|
|
2289
|
+
"align-items": "center",
|
|
2290
|
+
"gap": "0.5rem",
|
|
2291
|
+
"padding": "0.5rem 0.75rem"
|
|
2292
|
+
},
|
|
2293
|
+
".boring-viewer .boring-markdown-link [data-slot=\"input\"]": {
|
|
2294
|
+
"flex": "1 1 14rem",
|
|
2295
|
+
"min-width": "0"
|
|
2296
|
+
},
|
|
2297
|
+
".boring-viewer .boring-markdown-notice": {
|
|
2298
|
+
"margin": "0.75rem"
|
|
2299
|
+
},
|
|
2300
|
+
".boring-viewer .boring-markdown-proposal :is(h3, details)": {
|
|
2301
|
+
"flex": "1 1 100%",
|
|
2302
|
+
"min-width": "0"
|
|
2303
|
+
},
|
|
2304
|
+
".boring-viewer .boring-markdown-proposal pre": {
|
|
2305
|
+
"max-height": "12rem",
|
|
2306
|
+
"overflow": "auto",
|
|
2307
|
+
"white-space": "pre-wrap"
|
|
2308
|
+
},
|
|
2309
|
+
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"]": {
|
|
2713
2310
|
"display": "none"
|
|
2714
2311
|
},
|
|
2715
|
-
"
|
|
2716
|
-
"
|
|
2717
|
-
|
|
2718
|
-
|
|
2312
|
+
"@container (min-width: 46rem)": {
|
|
2313
|
+
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"]": {
|
|
2314
|
+
"display": "block",
|
|
2315
|
+
"flex": "none",
|
|
2316
|
+
"overflow-x": "auto",
|
|
2317
|
+
"padding": "0.375rem 0.75rem"
|
|
2318
|
+
},
|
|
2319
|
+
".boring-viewer .boring-markdown-editor nav[aria-label=\"Document outline\"] ol": {
|
|
2320
|
+
"display": "flex",
|
|
2321
|
+
"gap": "0.25rem",
|
|
2322
|
+
"list-style": "none",
|
|
2323
|
+
"margin": "0",
|
|
2324
|
+
"padding": "0"
|
|
2325
|
+
}
|
|
2326
|
+
},
|
|
2327
|
+
".boring-viewer .boring-markdown-source, .boring-viewer .boring-html-viewer__source": {
|
|
2328
|
+
"flex": "1 1 auto",
|
|
2329
|
+
"width": "100%",
|
|
2330
|
+
"min-height": "0",
|
|
2331
|
+
"resize": "none"
|
|
2332
|
+
},
|
|
2333
|
+
".boring-viewer .boring-markdown-content": {
|
|
2334
|
+
"max-width": "68ch",
|
|
2335
|
+
"min-height": "100%",
|
|
2336
|
+
"margin": "0 auto",
|
|
2337
|
+
"padding": "1.5rem 1.5rem 3rem",
|
|
2338
|
+
"overflow-wrap": "anywhere",
|
|
2339
|
+
"color": "var(--foreground)",
|
|
2340
|
+
"font-size": "var(--text-base)",
|
|
2341
|
+
"line-height": "var(--leading-relaxed)"
|
|
2342
|
+
},
|
|
2343
|
+
".boring-viewer .boring-markdown-content:focus": {
|
|
2344
|
+
"outline": "none"
|
|
2345
|
+
},
|
|
2346
|
+
".boring-viewer .boring-markdown-content > :first-child": {
|
|
2347
|
+
"margin-top": "0"
|
|
2348
|
+
},
|
|
2349
|
+
".boring-viewer .boring-markdown-content p": {
|
|
2350
|
+
"margin": "0.75rem 0"
|
|
2351
|
+
},
|
|
2352
|
+
".boring-viewer .boring-markdown-content p.is-editor-empty:first-child::before": {
|
|
2353
|
+
"content": "attr(data-placeholder)",
|
|
2354
|
+
"float": "left",
|
|
2355
|
+
"height": "0",
|
|
2356
|
+
"color": "var(--muted-foreground)",
|
|
2357
|
+
"pointer-events": "none"
|
|
2358
|
+
},
|
|
2359
|
+
".boring-viewer .boring-markdown-content :is(h1, h2, h3, h4, h5, h6)": {
|
|
2360
|
+
"font-weight": "var(--font-weight-semibold)",
|
|
2361
|
+
"line-height": "var(--leading-tight)"
|
|
2362
|
+
},
|
|
2363
|
+
".boring-viewer .boring-markdown-content h1": {
|
|
2364
|
+
"margin": "1.75rem 0 0.75rem",
|
|
2365
|
+
"font-size": "var(--text-2xl)"
|
|
2366
|
+
},
|
|
2367
|
+
".boring-viewer .boring-markdown-content h2": {
|
|
2368
|
+
"margin": "2rem 0 0.75rem",
|
|
2369
|
+
"font-size": "var(--text-xl)"
|
|
2370
|
+
},
|
|
2371
|
+
".boring-viewer .boring-markdown-content h3": {
|
|
2372
|
+
"margin": "1.25rem 0 0.5rem",
|
|
2373
|
+
"font-size": "var(--text-lg)"
|
|
2374
|
+
},
|
|
2375
|
+
".boring-viewer .boring-markdown-content :is(h4, h5, h6)": {
|
|
2376
|
+
"margin": "1rem 0 0.4rem",
|
|
2377
|
+
"font-size": "var(--text-base)"
|
|
2378
|
+
},
|
|
2379
|
+
".boring-viewer .boring-markdown-content :is(ul, ol)": {
|
|
2380
|
+
"margin": "0.75rem 0",
|
|
2381
|
+
"padding-left": "1.5rem"
|
|
2382
|
+
},
|
|
2383
|
+
".boring-viewer .boring-markdown-content ul": {
|
|
2384
|
+
"list-style": "disc"
|
|
2385
|
+
},
|
|
2386
|
+
".boring-viewer .boring-markdown-content ol": {
|
|
2387
|
+
"list-style": "decimal"
|
|
2388
|
+
},
|
|
2389
|
+
".boring-viewer .boring-markdown-content li": {
|
|
2390
|
+
"margin": "0.25rem 0"
|
|
2391
|
+
},
|
|
2392
|
+
".boring-viewer .boring-markdown-content li > p": {
|
|
2393
|
+
"margin": "0"
|
|
2394
|
+
},
|
|
2395
|
+
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"]": {
|
|
2396
|
+
"padding-left": "0",
|
|
2397
|
+
"list-style": "none"
|
|
2398
|
+
},
|
|
2399
|
+
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li": {
|
|
2400
|
+
"display": "flex",
|
|
2401
|
+
"align-items": "flex-start",
|
|
2402
|
+
"gap": "0.5rem"
|
|
2403
|
+
},
|
|
2404
|
+
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li > label": {
|
|
2405
|
+
"display": "inline-flex",
|
|
2406
|
+
"flex": "none",
|
|
2407
|
+
"align-items": "center",
|
|
2408
|
+
"height": "1.7em",
|
|
2409
|
+
"margin": "0",
|
|
2410
|
+
"user-select": "none"
|
|
2411
|
+
},
|
|
2412
|
+
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li > label input[type=\"checkbox\"]": {
|
|
2413
|
+
"width": "1rem",
|
|
2414
|
+
"height": "1rem",
|
|
2415
|
+
"margin": "0",
|
|
2416
|
+
"accent-color": "var(--primary)",
|
|
2417
|
+
"cursor": "pointer"
|
|
2418
|
+
},
|
|
2419
|
+
".boring-viewer .boring-markdown-content ul[data-type=\"taskList\"] li > div": {
|
|
2420
|
+
"flex": "1 1 auto",
|
|
2421
|
+
"min-width": "0"
|
|
2719
2422
|
},
|
|
2720
|
-
"
|
|
2721
|
-
"
|
|
2722
|
-
"
|
|
2423
|
+
".boring-viewer .boring-markdown-content li[data-checked=\"true\"] > div": {
|
|
2424
|
+
"color": "var(--muted-foreground)",
|
|
2425
|
+
"text-decoration": "line-through"
|
|
2426
|
+
},
|
|
2427
|
+
".boring-viewer .boring-markdown-content strong": {
|
|
2428
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
2429
|
+
},
|
|
2430
|
+
".boring-viewer .boring-markdown-content code": {
|
|
2431
|
+
"padding": "0.1em 0.35em",
|
|
2432
|
+
"border-radius": "var(--radius-sm)",
|
|
2433
|
+
"background": "var(--muted)",
|
|
2434
|
+
"font-family": "var(--font-mono)",
|
|
2435
|
+
"font-size": "var(--text-sm)"
|
|
2436
|
+
},
|
|
2437
|
+
".boring-viewer .boring-markdown-content pre": {
|
|
2438
|
+
"margin": "1rem 0",
|
|
2439
|
+
"padding": "0.875rem 1rem",
|
|
2440
|
+
"overflow-x": "auto",
|
|
2441
|
+
"border": "var(--default-border-width) solid var(--border)",
|
|
2442
|
+
"border-radius": "var(--radius-lg)",
|
|
2443
|
+
"background": "var(--muted)",
|
|
2444
|
+
"font-family": "var(--font-mono)",
|
|
2445
|
+
"font-size": "var(--text-sm)"
|
|
2446
|
+
},
|
|
2447
|
+
".boring-viewer .boring-markdown-content pre code": {
|
|
2448
|
+
"padding": "0",
|
|
2449
|
+
"background": "transparent",
|
|
2450
|
+
"font": "inherit"
|
|
2451
|
+
},
|
|
2452
|
+
".boring-viewer .boring-markdown-content blockquote": {
|
|
2453
|
+
"margin": "1rem 0",
|
|
2454
|
+
"padding": "0.5rem 1rem",
|
|
2455
|
+
"border-inline-start": "var(--default-border-width) solid var(--border)",
|
|
2456
|
+
"color": "var(--muted-foreground)"
|
|
2457
|
+
},
|
|
2458
|
+
".boring-viewer .boring-markdown-content a": {
|
|
2459
|
+
"color": "var(--foreground)",
|
|
2460
|
+
"text-decoration": "underline",
|
|
2461
|
+
"cursor": "text"
|
|
2462
|
+
},
|
|
2463
|
+
".boring-viewer .boring-markdown-content hr": {
|
|
2464
|
+
"margin": "1.5rem 0",
|
|
2465
|
+
"border": "0",
|
|
2466
|
+
"border-top": "var(--default-border-width) solid var(--border)"
|
|
2467
|
+
},
|
|
2468
|
+
".boring-viewer .boring-markdown-content mark": {
|
|
2469
|
+
"background": "var(--accent)",
|
|
2470
|
+
"color": "var(--accent-foreground)"
|
|
2471
|
+
},
|
|
2472
|
+
".boring-viewer .boring-markdown-content .tableWrapper": {
|
|
2473
|
+
"margin": "1rem 0",
|
|
2474
|
+
"overflow-x": "auto"
|
|
2475
|
+
},
|
|
2476
|
+
".boring-viewer .boring-markdown-content table": {
|
|
2477
|
+
"width": "100%",
|
|
2478
|
+
"border-collapse": "collapse",
|
|
2479
|
+
"font-size": "var(--text-sm)"
|
|
2480
|
+
},
|
|
2481
|
+
".boring-viewer .boring-markdown-content :is(th, td)": {
|
|
2482
|
+
"min-width": "4rem",
|
|
2483
|
+
"padding": "0.5rem 0.75rem",
|
|
2484
|
+
"border": "var(--default-border-width) solid var(--border)",
|
|
2485
|
+
"text-align": "left",
|
|
2486
|
+
"vertical-align": "top"
|
|
2487
|
+
},
|
|
2488
|
+
".boring-viewer .boring-markdown-content th": {
|
|
2489
|
+
"background": "var(--muted)",
|
|
2490
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
2491
|
+
},
|
|
2492
|
+
".boring-viewer .boring-markdown-content :is(th, td) > p": {
|
|
2493
|
+
"margin": "0"
|
|
2494
|
+
},
|
|
2495
|
+
".boring-viewer .boring-markdown-content .selectedCell": {
|
|
2496
|
+
"background": "var(--accent)"
|
|
2497
|
+
},
|
|
2498
|
+
".boring-viewer .boring-markdown-content img": {
|
|
2499
|
+
"display": "block",
|
|
2500
|
+
"max-width": "100%",
|
|
2501
|
+
"height": "auto",
|
|
2502
|
+
"margin": "1rem 0"
|
|
2503
|
+
},
|
|
2504
|
+
".boring-viewer .boring-markdown-content .boring-markdown-preserved": {
|
|
2505
|
+
"margin": "0.75rem 0",
|
|
2506
|
+
"color": "var(--muted-foreground)",
|
|
2507
|
+
"font-family": "var(--font-mono)",
|
|
2508
|
+
"font-size": "var(--text-sm)"
|
|
2509
|
+
},
|
|
2510
|
+
".boring-viewer .boring-markdown-content .boring-markdown-preserved small": {
|
|
2511
|
+
"font-size": "var(--text-xs)"
|
|
2512
|
+
},
|
|
2513
|
+
".boring-viewer .boring-markdown-content .boring-markdown-preserved pre": {
|
|
2514
|
+
"margin": "0.25rem 0",
|
|
2515
|
+
"padding": "0.5rem 0.75rem",
|
|
2516
|
+
"white-space": "pre-wrap",
|
|
2517
|
+
"overflow-wrap": "anywhere"
|
|
2518
|
+
},
|
|
2519
|
+
".boring-viewer .boring-markdown-content .boring-markdown-preserved-inline": {
|
|
2520
|
+
"color": "var(--muted-foreground)",
|
|
2521
|
+
"font-family": "var(--font-mono)",
|
|
2522
|
+
"font-size": "var(--text-sm)"
|
|
2523
|
+
},
|
|
2524
|
+
".boring-viewer .boring-markdown-content .boring-markdown-image": {
|
|
2525
|
+
"display": "inline-flex",
|
|
2526
|
+
"max-width": "100%",
|
|
2527
|
+
"margin": "0.125rem 0",
|
|
2528
|
+
"padding": "0.125rem 0.5rem",
|
|
2529
|
+
"background": "var(--muted)",
|
|
2530
|
+
"color": "var(--muted-foreground)"
|
|
2531
|
+
},
|
|
2532
|
+
".boring-viewer .boring-html-viewer__preview": {
|
|
2533
|
+
"display": "flex",
|
|
2534
|
+
"flex": "1 1 auto",
|
|
2535
|
+
"flex-direction": "column",
|
|
2536
|
+
"min-height": "0"
|
|
2537
|
+
},
|
|
2538
|
+
".boring-viewer .boring-html-viewer__preview > p": {
|
|
2539
|
+
"flex": "none",
|
|
2540
|
+
"margin": "0",
|
|
2541
|
+
"padding": "0.375rem 0.75rem"
|
|
2542
|
+
},
|
|
2543
|
+
".boring-viewer .boring-html-viewer__preview > div": {
|
|
2544
|
+
"display": "flex",
|
|
2545
|
+
"flex": "1 1 auto",
|
|
2546
|
+
"min-height": "0"
|
|
2547
|
+
},
|
|
2548
|
+
".boring-viewer .boring-html-viewer__frame": {
|
|
2549
|
+
"flex": "1 1 auto",
|
|
2550
|
+
"width": "100%",
|
|
2551
|
+
"height": "100%",
|
|
2552
|
+
"min-height": "0",
|
|
2553
|
+
"border": "0"
|
|
2554
|
+
},
|
|
2555
|
+
".boring-viewer .boring-viewer-checker": {
|
|
2556
|
+
"background-color": "var(--background)",
|
|
2557
|
+
"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%)",
|
|
2558
|
+
"background-position": "0 0, 8px 8px",
|
|
2559
|
+
"background-size": "16px 16px"
|
|
2560
|
+
},
|
|
2561
|
+
".boring-viewer .boring-viewer-stage": {
|
|
2562
|
+
"overflow": "auto"
|
|
2563
|
+
},
|
|
2564
|
+
"@media (width < 768px)": {
|
|
2565
|
+
".boring-viewer .boring-markdown-content": {
|
|
2566
|
+
"padding": "1.25rem 1.25rem 3rem"
|
|
2567
|
+
},
|
|
2568
|
+
".boring-viewer .boring-markdown-toolbar": {
|
|
2569
|
+
"display": "none"
|
|
2570
|
+
},
|
|
2571
|
+
".boring-viewer.boring-markdown-dock": {
|
|
2572
|
+
"display": "flex",
|
|
2573
|
+
"align-items": "center",
|
|
2574
|
+
"gap": "0.125rem",
|
|
2575
|
+
"overflow-x": "auto",
|
|
2576
|
+
"scrollbar-width": "none",
|
|
2577
|
+
"position": "fixed",
|
|
2578
|
+
"inset-inline": "0",
|
|
2579
|
+
"z-index": "50",
|
|
2580
|
+
"padding": "0.25rem 1.5rem 0.25rem 0.5rem",
|
|
2581
|
+
"padding-bottom": "calc(0.25rem + env(safe-area-inset-bottom, 0px))",
|
|
2582
|
+
"background": "var(--background)",
|
|
2583
|
+
"mask-image": "linear-gradient(to right, black calc(100% - 2rem), transparent)"
|
|
2584
|
+
},
|
|
2585
|
+
".boring-viewer.boring-markdown-dock[data-keyboard]": {
|
|
2586
|
+
"padding-bottom": "0.25rem"
|
|
2587
|
+
},
|
|
2588
|
+
".boring-viewer.boring-markdown-dock > .boring-markdown-dock-rule": {
|
|
2589
|
+
"position": "absolute",
|
|
2590
|
+
"inset-inline": "0",
|
|
2591
|
+
"top": "0"
|
|
2592
|
+
},
|
|
2593
|
+
".boring-viewer [data-boring=\"markdown-editor\"][data-dock] .boring-markdown-content": {
|
|
2594
|
+
"padding-bottom": "6rem"
|
|
2595
|
+
}
|
|
2723
2596
|
}
|
|
2597
|
+
}
|
|
2598
|
+
}
|
|
2599
|
+
},
|
|
2600
|
+
{
|
|
2601
|
+
"name": "viewer-markdown",
|
|
2602
|
+
"type": "registry:component",
|
|
2603
|
+
"title": "Markdown viewer",
|
|
2604
|
+
"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.",
|
|
2605
|
+
"dependencies": [
|
|
2606
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2607
|
+
"react@^19.0.0",
|
|
2608
|
+
"lucide-react@^1.51.0",
|
|
2609
|
+
"marked@^17.0.6",
|
|
2610
|
+
"@tiptap/core@^3.31.4",
|
|
2611
|
+
"@tiptap/react@^3.31.4",
|
|
2612
|
+
"@tiptap/pm@^3.31.4",
|
|
2613
|
+
"@tiptap/starter-kit@^3.31.4",
|
|
2614
|
+
"@tiptap/markdown@^3.31.4",
|
|
2615
|
+
"@tiptap/extensions@^3.31.4",
|
|
2616
|
+
"@tiptap/extension-list@^3.31.4",
|
|
2617
|
+
"@tiptap/extension-table@^3.31.4",
|
|
2618
|
+
"@tiptap/extension-image@^3.31.4",
|
|
2619
|
+
"@tiptap/extension-highlight@^3.31.4",
|
|
2620
|
+
"@tiptap/extension-bubble-menu@^3.31.4",
|
|
2621
|
+
"@tiptap/extension-floating-menu@^3.31.4"
|
|
2622
|
+
],
|
|
2623
|
+
"registryDependencies": [
|
|
2624
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
2625
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/markdown-editor.json",
|
|
2626
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
2627
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
2628
|
+
],
|
|
2629
|
+
"files": [
|
|
2630
|
+
{
|
|
2631
|
+
"path": "registry/viewer-markdown/markdown-kind.ts",
|
|
2632
|
+
"type": "registry:lib",
|
|
2633
|
+
"target": "components/viewer-markdown/markdown-kind.ts"
|
|
2724
2634
|
},
|
|
2725
|
-
|
|
2726
|
-
"
|
|
2727
|
-
"
|
|
2728
|
-
"
|
|
2729
|
-
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
|
|
2733
|
-
|
|
2734
|
-
|
|
2735
|
-
|
|
2736
|
-
|
|
2737
|
-
|
|
2738
|
-
|
|
2739
|
-
|
|
2740
|
-
"
|
|
2741
|
-
|
|
2742
|
-
|
|
2743
|
-
"
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
|
|
2748
|
-
|
|
2749
|
-
"
|
|
2750
|
-
|
|
2751
|
-
|
|
2752
|
-
"margin": "0",
|
|
2753
|
-
"padding-left": "1.125rem",
|
|
2754
|
-
"color": "var(--boring-feedback-muted)",
|
|
2755
|
-
"font-size": "var(--text-sm, 0.875rem)"
|
|
2756
|
-
},
|
|
2757
|
-
"[data-boring=\"feedback\"] .boring-feedback-preview-changes code": {
|
|
2758
|
-
"font-size": "var(--text-xs, 0.75rem)"
|
|
2759
|
-
},
|
|
2760
|
-
"[data-boring=\"feedback\"] .boring-feedback-preview-error": {
|
|
2761
|
-
"margin": "0",
|
|
2762
|
-
"color": "var(--destructive)",
|
|
2763
|
-
"font-size": "var(--text-sm, 0.875rem)"
|
|
2764
|
-
},
|
|
2765
|
-
"[data-boring=\"feedback\"] .boring-feedback-preview-actions": {
|
|
2766
|
-
"display": "flex",
|
|
2767
|
-
"flex-wrap": "wrap",
|
|
2768
|
-
"gap": "0.5rem"
|
|
2635
|
+
{
|
|
2636
|
+
"path": "registry/viewer-markdown/markdown-pane.tsx",
|
|
2637
|
+
"type": "registry:component",
|
|
2638
|
+
"target": "components/viewer-markdown/markdown-pane.tsx"
|
|
2639
|
+
}
|
|
2640
|
+
]
|
|
2641
|
+
},
|
|
2642
|
+
{
|
|
2643
|
+
"name": "viewer-html",
|
|
2644
|
+
"type": "registry:component",
|
|
2645
|
+
"title": "HTML viewer",
|
|
2646
|
+
"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.",
|
|
2647
|
+
"dependencies": [
|
|
2648
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2649
|
+
"react@^19.0.0",
|
|
2650
|
+
"lucide-react@^1.51.0"
|
|
2651
|
+
],
|
|
2652
|
+
"registryDependencies": [
|
|
2653
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
2654
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
2655
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
2656
|
+
],
|
|
2657
|
+
"files": [
|
|
2658
|
+
{
|
|
2659
|
+
"path": "registry/viewer-html/html-kind.ts",
|
|
2660
|
+
"type": "registry:lib",
|
|
2661
|
+
"target": "components/viewer-html/html-kind.ts"
|
|
2769
2662
|
},
|
|
2770
|
-
|
|
2771
|
-
"
|
|
2663
|
+
{
|
|
2664
|
+
"path": "registry/viewer-html/html-pane.tsx",
|
|
2665
|
+
"type": "registry:component",
|
|
2666
|
+
"target": "components/viewer-html/html-pane.tsx"
|
|
2667
|
+
}
|
|
2668
|
+
]
|
|
2669
|
+
},
|
|
2670
|
+
{
|
|
2671
|
+
"name": "viewer-image",
|
|
2672
|
+
"type": "registry:component",
|
|
2673
|
+
"title": "Image viewer",
|
|
2674
|
+
"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.",
|
|
2675
|
+
"dependencies": [
|
|
2676
|
+
"react@^19.0.0",
|
|
2677
|
+
"lucide-react@^1.51.0"
|
|
2678
|
+
],
|
|
2679
|
+
"registryDependencies": [
|
|
2680
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
2681
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
2682
|
+
],
|
|
2683
|
+
"files": [
|
|
2684
|
+
{
|
|
2685
|
+
"path": "registry/viewer-image/image-kind.ts",
|
|
2686
|
+
"type": "registry:lib",
|
|
2687
|
+
"target": "components/viewer-image/image-kind.ts"
|
|
2772
2688
|
},
|
|
2773
|
-
|
|
2774
|
-
"
|
|
2689
|
+
{
|
|
2690
|
+
"path": "registry/viewer-image/image-types.ts",
|
|
2691
|
+
"type": "registry:lib",
|
|
2692
|
+
"target": "components/viewer-image/image-types.ts"
|
|
2775
2693
|
},
|
|
2776
|
-
|
|
2777
|
-
"
|
|
2694
|
+
{
|
|
2695
|
+
"path": "registry/viewer-image/image-pane.tsx",
|
|
2696
|
+
"type": "registry:component",
|
|
2697
|
+
"target": "components/viewer-image/image-pane.tsx"
|
|
2698
|
+
}
|
|
2699
|
+
]
|
|
2700
|
+
},
|
|
2701
|
+
{
|
|
2702
|
+
"name": "viewer-pdf",
|
|
2703
|
+
"type": "registry:component",
|
|
2704
|
+
"title": "PDF viewer",
|
|
2705
|
+
"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.",
|
|
2706
|
+
"dependencies": [
|
|
2707
|
+
"@hachej/boring-files@^0.4.48",
|
|
2708
|
+
"react@^19.0.0",
|
|
2709
|
+
"lucide-react@^1.51.0",
|
|
2710
|
+
"pdfjs-dist@6.4.299"
|
|
2711
|
+
],
|
|
2712
|
+
"registryDependencies": [
|
|
2713
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
2714
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-image.json"
|
|
2715
|
+
],
|
|
2716
|
+
"files": [
|
|
2717
|
+
{
|
|
2718
|
+
"path": "registry/viewer-pdf/pdf-kind.ts",
|
|
2719
|
+
"type": "registry:lib",
|
|
2720
|
+
"target": "components/viewer-pdf/pdf-kind.ts"
|
|
2778
2721
|
},
|
|
2779
|
-
|
|
2780
|
-
"
|
|
2722
|
+
{
|
|
2723
|
+
"path": "registry/viewer-pdf/pdf-pane.tsx",
|
|
2724
|
+
"type": "registry:component",
|
|
2725
|
+
"target": "components/viewer-pdf/pdf-pane.tsx"
|
|
2781
2726
|
},
|
|
2782
|
-
|
|
2783
|
-
"
|
|
2784
|
-
"
|
|
2727
|
+
{
|
|
2728
|
+
"path": "registry/viewer-pdf/pdf-pages.tsx",
|
|
2729
|
+
"type": "registry:component",
|
|
2730
|
+
"target": "components/viewer-pdf/pdf-pages.tsx"
|
|
2785
2731
|
},
|
|
2786
|
-
|
|
2787
|
-
"
|
|
2788
|
-
"
|
|
2732
|
+
{
|
|
2733
|
+
"path": "registry/viewer-pdf/local-file-viewer.tsx",
|
|
2734
|
+
"type": "registry:component",
|
|
2735
|
+
"target": "components/viewer-pdf/local-file-viewer.tsx"
|
|
2736
|
+
}
|
|
2737
|
+
]
|
|
2738
|
+
},
|
|
2739
|
+
{
|
|
2740
|
+
"name": "viewer-code",
|
|
2741
|
+
"type": "registry:component",
|
|
2742
|
+
"title": "Code viewers",
|
|
2743
|
+
"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.",
|
|
2744
|
+
"dependencies": [
|
|
2745
|
+
"react@^19.0.0",
|
|
2746
|
+
"lucide-react@^1.51.0"
|
|
2747
|
+
],
|
|
2748
|
+
"registryDependencies": [
|
|
2749
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
2750
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
2751
|
+
],
|
|
2752
|
+
"files": [
|
|
2753
|
+
{
|
|
2754
|
+
"path": "registry/viewer-code/code-kinds.ts",
|
|
2755
|
+
"type": "registry:lib",
|
|
2756
|
+
"target": "components/viewer-code/code-kinds.ts"
|
|
2789
2757
|
},
|
|
2790
|
-
|
|
2791
|
-
"
|
|
2792
|
-
"
|
|
2793
|
-
"
|
|
2758
|
+
{
|
|
2759
|
+
"path": "registry/viewer-code/svg-view.tsx",
|
|
2760
|
+
"type": "registry:component",
|
|
2761
|
+
"target": "components/viewer-code/svg-view.tsx"
|
|
2762
|
+
},
|
|
2763
|
+
{
|
|
2764
|
+
"path": "registry/viewer-code/csv-table.tsx",
|
|
2765
|
+
"type": "registry:component",
|
|
2766
|
+
"target": "components/viewer-code/csv-table.tsx"
|
|
2794
2767
|
}
|
|
2795
|
-
|
|
2768
|
+
]
|
|
2769
|
+
},
|
|
2770
|
+
{
|
|
2771
|
+
"name": "viewers",
|
|
2772
|
+
"type": "registry:component",
|
|
2773
|
+
"title": "Viewers",
|
|
2774
|
+
"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.",
|
|
2775
|
+
"files": [],
|
|
2796
2776
|
"registryDependencies": [
|
|
2797
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2798
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2799
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2777
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
2778
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-markdown.json",
|
|
2779
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-html.json",
|
|
2780
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-image.json",
|
|
2781
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-pdf.json",
|
|
2782
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-code.json"
|
|
2800
2783
|
]
|
|
2801
2784
|
},
|
|
2802
2785
|
{
|
|
2803
|
-
"name": "
|
|
2786
|
+
"name": "provider-setup",
|
|
2804
2787
|
"type": "registry:component",
|
|
2805
|
-
"title": "
|
|
2806
|
-
"description": "
|
|
2788
|
+
"title": "Provider setup",
|
|
2789
|
+
"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.",
|
|
2807
2790
|
"dependencies": [
|
|
2808
|
-
"
|
|
2809
|
-
"
|
|
2810
|
-
"react@^
|
|
2791
|
+
"react@^19.0.0",
|
|
2792
|
+
"react-dom@^19.0.0",
|
|
2793
|
+
"lucide-react@^1.51.0"
|
|
2794
|
+
],
|
|
2795
|
+
"registryDependencies": [
|
|
2796
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
2811
2797
|
],
|
|
2812
2798
|
"files": [
|
|
2813
2799
|
{
|
|
2814
|
-
"path": "registry/
|
|
2800
|
+
"path": "registry/provider-setup/provider-setup.tsx",
|
|
2815
2801
|
"type": "registry:component",
|
|
2816
|
-
"target": "components/
|
|
2802
|
+
"target": "components/provider-setup/provider-setup.tsx"
|
|
2817
2803
|
}
|
|
2818
2804
|
]
|
|
2819
2805
|
},
|
|
@@ -2823,8 +2809,8 @@
|
|
|
2823
2809
|
"title": "Consumer task-list viewer",
|
|
2824
2810
|
"description": "A consumer-defined task-list schema and controller over the shared text buffer, with a restylable borrowed React renderer.",
|
|
2825
2811
|
"dependencies": [
|
|
2826
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2827
|
-
"@hachej/boring-files@^0.4.
|
|
2812
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2813
|
+
"@hachej/boring-files@^0.4.48",
|
|
2828
2814
|
"react@^19.0.0",
|
|
2829
2815
|
"react-dom@^19.0.0",
|
|
2830
2816
|
"zod@^4.6.5"
|
|
@@ -2874,11 +2860,11 @@
|
|
|
2874
2860
|
"title": "Version history rows",
|
|
2875
2861
|
"description": "Shared view-only version rows and menu metadata with relative time, provenance and Current. No file reads, publication or restoration.",
|
|
2876
2862
|
"dependencies": [
|
|
2877
|
-
"@hachej/boring-files@^0.4.
|
|
2863
|
+
"@hachej/boring-files@^0.4.48",
|
|
2878
2864
|
"react@^19.0.0"
|
|
2879
2865
|
],
|
|
2880
2866
|
"registryDependencies": [
|
|
2881
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2867
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json"
|
|
2882
2868
|
],
|
|
2883
2869
|
"files": [
|
|
2884
2870
|
{
|
|
@@ -2894,14 +2880,14 @@
|
|
|
2894
2880
|
"title": "File tree",
|
|
2895
2881
|
"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.",
|
|
2896
2882
|
"dependencies": [
|
|
2897
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2898
|
-
"@hachej/boring-files@^0.4.
|
|
2883
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2884
|
+
"@hachej/boring-files@^0.4.48",
|
|
2899
2885
|
"react@^19.0.0",
|
|
2900
2886
|
"lucide-react@^1.51.0"
|
|
2901
2887
|
],
|
|
2902
2888
|
"registryDependencies": [
|
|
2903
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2904
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2889
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
2890
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/version-history.json"
|
|
2905
2891
|
],
|
|
2906
2892
|
"files": [
|
|
2907
2893
|
{
|
|
@@ -2918,22 +2904,22 @@
|
|
|
2918
2904
|
"title": "Documents: the Library, a file and its revisions",
|
|
2919
2905
|
"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.",
|
|
2920
2906
|
"dependencies": [
|
|
2921
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2922
|
-
"@hachej/boring-files@^0.4.
|
|
2907
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2908
|
+
"@hachej/boring-files@^0.4.48",
|
|
2923
2909
|
"react@^19.0.0",
|
|
2924
2910
|
"lucide-react@^1.51.0"
|
|
2925
2911
|
],
|
|
2926
2912
|
"registryDependencies": [
|
|
2927
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2928
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2929
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2930
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2931
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2932
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2933
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2934
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2935
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2936
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2913
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json",
|
|
2914
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/button.json",
|
|
2915
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-artifacts.json",
|
|
2916
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-app.json",
|
|
2917
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-app-kinds.json",
|
|
2918
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/app-shell.json",
|
|
2919
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/file-tree.json",
|
|
2920
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-frame.json",
|
|
2921
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-image.json",
|
|
2922
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/viewer-pdf.json"
|
|
2937
2923
|
],
|
|
2938
2924
|
"files": [
|
|
2939
2925
|
{
|
|
@@ -2969,15 +2955,15 @@
|
|
|
2969
2955
|
"title": "Point and dictate on app data",
|
|
2970
2956
|
"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.",
|
|
2971
2957
|
"dependencies": [
|
|
2972
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
2973
|
-
"@hachej/boring-feedback@^0.4.
|
|
2958
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2959
|
+
"@hachej/boring-feedback@^0.4.48",
|
|
2974
2960
|
"@earendil-works/pi-durable@~1.4.0",
|
|
2975
2961
|
"react@^19.0.0",
|
|
2976
2962
|
"react-dom@^19.0.0"
|
|
2977
2963
|
],
|
|
2978
2964
|
"registryDependencies": [
|
|
2979
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2980
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2965
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/app-shell.json",
|
|
2966
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/pi-chat.json"
|
|
2981
2967
|
],
|
|
2982
2968
|
"files": [
|
|
2983
2969
|
{
|
|
@@ -2992,154 +2978,19 @@
|
|
|
2992
2978
|
}
|
|
2993
2979
|
]
|
|
2994
2980
|
},
|
|
2995
|
-
{
|
|
2996
|
-
"name": "pm-panel",
|
|
2997
|
-
"type": "registry:block",
|
|
2998
|
-
"title": "Shared PM composer and in-app panel",
|
|
2999
|
-
"description": "« Améliorer l'app »: the embedded AgentWorkspace chat, History, read-only Library and host Tasks panel, with the shared pointing strip, numbered pins and timestamped chips. Docked beside the app on desktop and full screen on phones; PmChat gives Studio the same component.",
|
|
3000
|
-
"registryDependencies": [
|
|
3001
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-app.json",
|
|
3002
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-app-kinds.json",
|
|
3003
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat.json",
|
|
3004
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat-markdown.json",
|
|
3005
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat-plugins.json",
|
|
3006
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat-voice.json",
|
|
3007
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/feedback.json",
|
|
3008
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/task-board.json",
|
|
3009
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/task-mentions.json",
|
|
3010
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json",
|
|
3011
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-artifacts.json",
|
|
3012
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/viewer-frame.json"
|
|
3013
|
-
],
|
|
3014
|
-
"dependencies": [
|
|
3015
|
-
"@hachej/boring-ui-kit@^0.4.46",
|
|
3016
|
-
"@hachej/boring-feedback@^0.4.46",
|
|
3017
|
-
"@hachej/boring-files@^0.4.46",
|
|
3018
|
-
"@earendil-works/pi-durable@~1.4.0",
|
|
3019
|
-
"lucide-react@^1.51.0",
|
|
3020
|
-
"react@^19.0.0",
|
|
3021
|
-
"react-dom@^19.0.0"
|
|
3022
|
-
],
|
|
3023
|
-
"files": [
|
|
3024
|
-
{
|
|
3025
|
-
"path": "registry/pm-panel/pm-panel.tsx",
|
|
3026
|
-
"type": "registry:component",
|
|
3027
|
-
"target": "components/pm-panel/pm-panel.tsx"
|
|
3028
|
-
},
|
|
3029
|
-
{
|
|
3030
|
-
"path": "registry/pm-panel/pm-composer.tsx",
|
|
3031
|
-
"type": "registry:component",
|
|
3032
|
-
"target": "components/pm-panel/pm-composer.tsx"
|
|
3033
|
-
},
|
|
3034
|
-
{
|
|
3035
|
-
"path": "registry/pm-panel/use-pm-panel.ts",
|
|
3036
|
-
"type": "registry:hook",
|
|
3037
|
-
"target": "components/pm-panel/use-pm-panel.ts"
|
|
3038
|
-
},
|
|
3039
|
-
{
|
|
3040
|
-
"path": "registry/pm-panel/point-state.ts",
|
|
3041
|
-
"type": "registry:lib",
|
|
3042
|
-
"target": "components/pm-panel/point-state.ts"
|
|
3043
|
-
},
|
|
3044
|
-
{
|
|
3045
|
-
"path": "registry/pm-panel/use-point-page.ts",
|
|
3046
|
-
"type": "registry:hook",
|
|
3047
|
-
"target": "components/pm-panel/use-point-page.ts"
|
|
3048
|
-
},
|
|
3049
|
-
{
|
|
3050
|
-
"path": "registry/pm-panel/point-frames.ts",
|
|
3051
|
-
"type": "registry:hook",
|
|
3052
|
-
"target": "components/pm-panel/point-frames.ts"
|
|
3053
|
-
},
|
|
3054
|
-
{
|
|
3055
|
-
"path": "registry/pm-panel/pm-host-theme.ts",
|
|
3056
|
-
"type": "registry:hook",
|
|
3057
|
-
"target": "components/pm-panel/pm-host-theme.ts"
|
|
3058
|
-
},
|
|
3059
|
-
{
|
|
3060
|
-
"path": "registry/pm-panel/capture.ts",
|
|
3061
|
-
"type": "registry:lib",
|
|
3062
|
-
"target": "components/pm-panel/capture.ts"
|
|
3063
|
-
},
|
|
3064
|
-
{
|
|
3065
|
-
"path": "registry/pm-panel/point-message.tsx",
|
|
3066
|
-
"type": "registry:component",
|
|
3067
|
-
"target": "components/pm-panel/point-message.tsx"
|
|
3068
|
-
},
|
|
3069
|
-
{
|
|
3070
|
-
"path": "registry/pm-panel/inline-point-input.tsx",
|
|
3071
|
-
"type": "registry:component",
|
|
3072
|
-
"target": "components/pm-panel/inline-point-input.tsx"
|
|
3073
|
-
},
|
|
3074
|
-
{
|
|
3075
|
-
"path": "registry/pm-panel/point-comment.tsx",
|
|
3076
|
-
"type": "registry:component",
|
|
3077
|
-
"target": "components/pm-panel/point-comment.tsx"
|
|
3078
|
-
},
|
|
3079
|
-
{
|
|
3080
|
-
"path": "registry/pm-panel/pm-mentions.tsx",
|
|
3081
|
-
"type": "registry:component",
|
|
3082
|
-
"target": "components/pm-panel/pm-mentions.tsx"
|
|
3083
|
-
},
|
|
3084
|
-
{
|
|
3085
|
-
"path": "registry/pm-panel/pm-task-source.tsx",
|
|
3086
|
-
"type": "registry:component",
|
|
3087
|
-
"target": "components/pm-panel/pm-task-source.tsx"
|
|
3088
|
-
},
|
|
3089
|
-
{
|
|
3090
|
-
"path": "registry/pm-panel/pm-text.ts",
|
|
3091
|
-
"type": "registry:lib",
|
|
3092
|
-
"target": "components/pm-panel/pm-text.ts"
|
|
3093
|
-
},
|
|
3094
|
-
{
|
|
3095
|
-
"path": "registry/pm-panel/use-improve-agent.ts",
|
|
3096
|
-
"type": "registry:hook",
|
|
3097
|
-
"target": "components/pm-panel/use-improve-agent.ts"
|
|
3098
|
-
}
|
|
3099
|
-
]
|
|
3100
|
-
},
|
|
3101
|
-
{
|
|
3102
|
-
"name": "requests-board",
|
|
3103
|
-
"type": "registry:block",
|
|
3104
|
-
"title": "Requests board",
|
|
3105
|
-
"description": "Host-fed compact requests and responsive list/detail with questions and decisions.",
|
|
3106
|
-
"registryDependencies": [
|
|
3107
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json"
|
|
3108
|
-
],
|
|
3109
|
-
"files": [
|
|
3110
|
-
{
|
|
3111
|
-
"path": "registry/requests-board/requests-board.tsx",
|
|
3112
|
-
"type": "registry:component",
|
|
3113
|
-
"target": "components/requests-board/requests-board.tsx"
|
|
3114
|
-
},
|
|
3115
|
-
{
|
|
3116
|
-
"path": "registry/requests-board/requests.ts",
|
|
3117
|
-
"type": "registry:lib",
|
|
3118
|
-
"target": "components/requests-board/requests.ts"
|
|
3119
|
-
},
|
|
3120
|
-
{
|
|
3121
|
-
"path": "registry/requests-board/requests-labels.ts",
|
|
3122
|
-
"type": "registry:lib",
|
|
3123
|
-
"target": "components/requests-board/requests-labels.ts"
|
|
3124
|
-
}
|
|
3125
|
-
],
|
|
3126
|
-
"dependencies": [
|
|
3127
|
-
"react@^19.0.0"
|
|
3128
|
-
]
|
|
3129
|
-
},
|
|
3130
2981
|
{
|
|
3131
2982
|
"name": "highlights",
|
|
3132
2983
|
"type": "registry:block",
|
|
3133
2984
|
"title": "Anchored highlights",
|
|
3134
2985
|
"description": "Exact Markdown highlights and comments in a conditional workspace sidecar.",
|
|
3135
2986
|
"dependencies": [
|
|
3136
|
-
"@hachej/boring-ui-kit@^0.4.
|
|
3137
|
-
"@hachej/boring-files@^0.4.
|
|
2987
|
+
"@hachej/boring-ui-kit@^0.4.48",
|
|
2988
|
+
"@hachej/boring-files@^0.4.48",
|
|
3138
2989
|
"react@^19.0.0",
|
|
3139
2990
|
"react-dom@^19.0.0"
|
|
3140
2991
|
],
|
|
3141
2992
|
"registryDependencies": [
|
|
3142
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
2993
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/markdown-editor.json"
|
|
3143
2994
|
],
|
|
3144
2995
|
"files": [
|
|
3145
2996
|
{
|
|
@@ -3160,7 +3011,7 @@
|
|
|
3160
3011
|
"lucide-react@^1.51.0"
|
|
3161
3012
|
],
|
|
3162
3013
|
"registryDependencies": [
|
|
3163
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.
|
|
3014
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.48/r/utils.json"
|
|
3164
3015
|
],
|
|
3165
3016
|
"files": [
|
|
3166
3017
|
{
|
|
@@ -3171,61 +3022,40 @@
|
|
|
3171
3022
|
]
|
|
3172
3023
|
},
|
|
3173
3024
|
{
|
|
3174
|
-
"name": "
|
|
3025
|
+
"name": "spaces",
|
|
3175
3026
|
"type": "registry:component",
|
|
3176
|
-
"title": "
|
|
3177
|
-
"description": "
|
|
3178
|
-
"dependencies": [
|
|
3179
|
-
"@hachej/boring-ui-kit@^0.4.46",
|
|
3180
|
-
"react@^19.0.0",
|
|
3181
|
-
"lucide-react@^1.51.0"
|
|
3182
|
-
],
|
|
3183
|
-
"registryDependencies": [
|
|
3184
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/task-board.json",
|
|
3185
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat.json",
|
|
3186
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/pi-chat-mentions.json"
|
|
3187
|
-
],
|
|
3188
|
-
"files": [
|
|
3189
|
-
{
|
|
3190
|
-
"path": "registry/task-mentions/task-mentions.tsx",
|
|
3191
|
-
"type": "registry:component",
|
|
3192
|
-
"target": "components/task-mentions/task-mentions.tsx"
|
|
3193
|
-
}
|
|
3194
|
-
]
|
|
3195
|
-
},
|
|
3196
|
-
{
|
|
3197
|
-
"name": "task-board",
|
|
3198
|
-
"type": "registry:block",
|
|
3199
|
-
"title": "Task board",
|
|
3200
|
-
"description": "Host-owned business requests: board, stacked task/file overlays and compact own-request rows. No agent or task backend required.",
|
|
3027
|
+
"title": "Spaces",
|
|
3028
|
+
"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.",
|
|
3201
3029
|
"dependencies": [
|
|
3202
|
-
"@hachej/boring-
|
|
3030
|
+
"@hachej/boring-files@^0.4.48",
|
|
3203
3031
|
"react@^19.0.0",
|
|
3204
3032
|
"lucide-react@^1.51.0"
|
|
3205
3033
|
],
|
|
3206
|
-
"registryDependencies": [
|
|
3207
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.46/r/utils.json"
|
|
3208
|
-
],
|
|
3209
3034
|
"files": [
|
|
3210
3035
|
{
|
|
3211
|
-
"path": "registry/
|
|
3036
|
+
"path": "registry/spaces/spaces.ts",
|
|
3212
3037
|
"type": "registry:lib",
|
|
3213
|
-
"target": "components/
|
|
3038
|
+
"target": "components/spaces/spaces.ts"
|
|
3214
3039
|
},
|
|
3215
3040
|
{
|
|
3216
|
-
"path": "registry/
|
|
3217
|
-
"type": "registry:
|
|
3218
|
-
"target": "components/
|
|
3041
|
+
"path": "registry/spaces/use-spaces.ts",
|
|
3042
|
+
"type": "registry:hook",
|
|
3043
|
+
"target": "components/spaces/use-spaces.ts"
|
|
3044
|
+
},
|
|
3045
|
+
{
|
|
3046
|
+
"path": "registry/spaces/spaces-labels.ts",
|
|
3047
|
+
"type": "registry:lib",
|
|
3048
|
+
"target": "components/spaces/spaces-labels.ts"
|
|
3219
3049
|
},
|
|
3220
3050
|
{
|
|
3221
|
-
"path": "registry/
|
|
3051
|
+
"path": "registry/spaces/space-switcher.tsx",
|
|
3222
3052
|
"type": "registry:component",
|
|
3223
|
-
"target": "components/
|
|
3053
|
+
"target": "components/spaces/space-switcher.tsx"
|
|
3224
3054
|
},
|
|
3225
3055
|
{
|
|
3226
|
-
"path": "registry/
|
|
3056
|
+
"path": "registry/spaces/members-sheet.tsx",
|
|
3227
3057
|
"type": "registry:component",
|
|
3228
|
-
"target": "components/
|
|
3058
|
+
"target": "components/spaces/members-sheet.tsx"
|
|
3229
3059
|
}
|
|
3230
3060
|
]
|
|
3231
3061
|
}
|