@hachej/boring-ui-kit 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -18
- package/THIRD_PARTY_NOTICES.md +35 -0
- package/dist/canvas-editor-native.d.ts +4 -1
- package/dist/canvas-editor-native.js +8 -6
- package/dist/canvas-editor.js +1 -1
- package/dist/canvas-proposals.d.ts +3 -1
- package/dist/canvas-proposals.js +4 -3
- package/dist/experience-document-viewer.d.ts +3 -0
- package/dist/experience-document-viewer.js +6 -5
- package/dist/experience.d.ts +3 -0
- package/dist/experience.js +2 -1
- package/dist/file-tree-view.d.ts +76 -3
- package/dist/file-tree-view.js +172 -39
- package/dist/file-tree.d.ts +3 -0
- package/dist/file-tree.js +17 -2
- package/dist/html-viewer.d.ts +4 -0
- package/dist/html-viewer.js +5 -3
- package/dist/markdown-autosave.d.ts +13 -0
- package/dist/markdown-autosave.js +94 -0
- package/dist/markdown-editor.d.ts +16 -0
- package/dist/markdown-editor.js +81 -17
- package/dist/markdown-extensions.js +9 -1
- package/dist/markdown-proposal-diff.d.ts +2 -1
- package/dist/markdown-proposal-diff.js +3 -2
- package/dist/markdown-safety.js +3 -1
- package/dist/native-chat.js +1 -1
- package/dist/remote-chat.js +5 -1
- package/dist/text-buffer.js +3 -2
- package/dist/text-draft-controls.d.ts +3 -1
- package/dist/text-draft-controls.js +3 -2
- package/dist/viewer-components.d.ts +14 -0
- package/dist/viewer-components.js +1 -0
- package/package.json +4 -4
- package/r/app-shell.json +39 -20
- package/r/button.json +19 -11
- package/r/dock.json +2 -2
- package/r/documents.json +17 -14
- package/r/feedback-preview.json +8 -2
- package/r/feedback.json +46 -325
- package/r/file-tree.json +14 -6
- package/r/html-viewer.json +8 -42
- package/r/markdown-editor.json +38 -87
- package/r/pi-ambient.json +15 -8
- package/r/pi-app.json +29 -18
- package/r/pi-chat.json +88 -69
- package/r/pi-workspace.json +7 -5
- package/r/provider-setup.json +9 -4
- package/r/registry.json +460 -888
- package/r/task-list-viewer.json +11 -21
- package/r/theme.json +23 -4
- package/r/version-history.json +24 -0
- package/r/viewers.json +139 -320
- package/styles/file-tree.css +41 -42
- package/dist/file-tree-shadcn.d.ts +0 -8
- package/dist/file-tree-shadcn.js +0 -14
package/r/file-tree.json
CHANGED
|
@@ -2,21 +2,29 @@
|
|
|
2
2
|
"$schema": "https://ui.shadcn.com/schema/registry-item.json",
|
|
3
3
|
"name": "file-tree",
|
|
4
4
|
"title": "File tree",
|
|
5
|
-
"description": "Browse, search, upload and inspect retained versions through one revisionProvider binding.",
|
|
5
|
+
"description": "Browse, search, upload and inspect retained versions through one revisionProvider binding. Uses the consumer's shadcn Button and dropdown-menu with shared version-history rows; Base UI style only.",
|
|
6
6
|
"dependencies": [
|
|
7
|
-
"@hachej/boring-ui-kit@^0.
|
|
8
|
-
"@hachej/boring-files@^0.
|
|
7
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
8
|
+
"@hachej/boring-files@^0.4.0",
|
|
9
9
|
"react@^19.0.0",
|
|
10
|
-
"radix-ui@^1.8.0",
|
|
11
10
|
"lucide-react@^1.51.0"
|
|
12
11
|
],
|
|
13
12
|
"registryDependencies": [
|
|
14
|
-
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.
|
|
13
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/theme.json",
|
|
14
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/utils.json",
|
|
15
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/version-history.json",
|
|
16
|
+
"button",
|
|
17
|
+
"dropdown-menu",
|
|
18
|
+
"collapsible",
|
|
19
|
+
"empty",
|
|
20
|
+
"input",
|
|
21
|
+
"separator",
|
|
22
|
+
"sidebar"
|
|
15
23
|
],
|
|
16
24
|
"files": [
|
|
17
25
|
{
|
|
18
26
|
"path": "registry/file-tree/file-tree.tsx",
|
|
19
|
-
"content": "'use client';\n\nimport '@hachej/boring-ui-kit/file-tree.css';\
|
|
27
|
+
"content": "'use client';\n\nimport '@hachej/boring-ui-kit/file-tree.css';\nimport { FileTree as PackageFileTree, FileTreeView as PackageFileTreeView } from '@hachej/boring-ui-kit/file-tree-view';\nimport type { FileTreeComponents, FileTreeActionsProps, FileTreeButtonProps, FileTreeVersionsProps, FileTreeProps as PackageFileTreeProps, FileTreeViewProps as PackageFileTreeViewProps } from '@hachej/boring-ui-kit/file-tree-view';\nimport { useRef } from 'react';\nimport { Button } from '@/components/ui/button';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '@/components/ui/collapsible';\nimport { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle } from '@/components/ui/empty';\nimport { Input } from '@/components/ui/input';\nimport { Separator } from '@/components/ui/separator';\nimport { SidebarMenu, SidebarMenuItem, SidebarMenuSub } from '@/components/ui/sidebar';\nimport { DropdownMenu, DropdownMenuContent, DropdownMenuItem, DropdownMenuPortal, DropdownMenuTrigger } from '@/components/ui/dropdown-menu';\nimport { VersionHistoryRows, frenchVersionHistoryLabels } from '../version-history/version-history';\nimport { cn } from '../utils/utils';\n\n// Only touch-target layout is added; appearance remains the consumer's shadcn Button.\nfunction LibraryButton({ className, ...props }: FileTreeButtonProps) {\n return <Button {...props} className={cn('max-sm:min-h-11 max-sm:min-w-11 pointer-coarse:min-h-11 pointer-coarse:min-w-11', className)} />;\n}\n\nfunction FileActions({ label, icon, items }: FileTreeActionsProps) {\n const trigger = useRef<HTMLButtonElement>(null);\n const portal = useRef<HTMLElement | null>(null);\n return <DropdownMenu>\n <DropdownMenuTrigger ref={trigger} render={<LibraryButton type=\"button\" variant=\"ghost\" size=\"icon\" ref={node => { portal.current = node?.ownerDocument.body ?? null; }} />} data-file-more aria-label={label}>{icon}</DropdownMenuTrigger>\n <DropdownMenuPortal container={portal}>\n <DropdownMenuContent data-boring=\"file-actions\" align=\"end\" finalFocus={trigger} className=\"w-max max-w-(--available-width)\">\n {items.map(item => <DropdownMenuItem key={item.id} data-action={item.id} onClick={item.onSelect} className=\"max-sm:min-h-11 pointer-coarse:min-h-11\">{item.icon}{item.label}</DropdownMenuItem>)}\n </DropdownMenuContent>\n </DropdownMenuPortal>\n </DropdownMenu>;\n}\n\nfunction FileVersions({ versions, current, onSelect, locale, earlierVersion }: FileTreeVersionsProps) {\n return <VersionHistoryRows versions={versions.map(version => ({ id: version.revision, label: earlierVersion, savedAt: version.savedAt, ...(version.source ? { source: version.source } : {}) }))}\n current={current} onSelect={onSelect} testId=\"file-history-versions\" {...(locale === 'fr' ? { labels: frenchVersionHistoryLabels } : {})} />;\n}\n\nfunction FileTreeEmpty({ icon, title, description, className, children }: Parameters<FileTreeComponents['Empty']>[0]) {\n return <Empty className={className}>\n <EmptyHeader>\n {icon && <EmptyMedia variant=\"icon\">{icon}</EmptyMedia>}\n <EmptyTitle>{title}</EmptyTitle>\n {description && <EmptyDescription>{description}</EmptyDescription>}\n </EmptyHeader>\n {children && <EmptyContent>{children}</EmptyContent>}\n </Empty>;\n}\n\nexport const fileTreeComponents = {\n Button: LibraryButton, Actions: FileActions, Versions: FileVersions,\n Menu: SidebarMenu, MenuItem: SidebarMenuItem, MenuSub: SidebarMenuSub, Input, Separator: () => <Separator />,\n Collapsible, CollapsibleTrigger, CollapsibleContent, Empty: FileTreeEmpty,\n} satisfies FileTreeComponents;\nexport type FileTreeProps = Omit<PackageFileTreeProps, 'components'>;\nexport type FileTreeViewProps = Omit<PackageFileTreeViewProps, 'components'>;\n\nexport function FileTree(props: FileTreeProps) {\n return <PackageFileTree {...props} components={fileTreeComponents} />;\n}\nexport function FileTreeView(props: FileTreeViewProps) {\n return <PackageFileTreeView {...props} components={fileTreeComponents} />;\n}\nexport { createFileTreeController } from '@hachej/boring-ui-kit/file-tree';\nexport type { FileTreeController } from '@hachej/boring-ui-kit/file-tree';\n",
|
|
20
28
|
"type": "registry:component",
|
|
21
29
|
"target": "components/file-tree/file-tree.tsx"
|
|
22
30
|
}
|
package/r/html-viewer.json
CHANGED
|
@@ -4,30 +4,28 @@
|
|
|
4
4
|
"title": "HTML source and passive preview",
|
|
5
5
|
"description": "Exact HTML source editing with a reconstructed passive preview and borrowed controller. Browser security qualification remains separate.",
|
|
6
6
|
"dependencies": [
|
|
7
|
-
"@hachej/boring-ui-kit@^0.
|
|
8
|
-
"@hachej/boring-files@^0.
|
|
7
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
8
|
+
"@hachej/boring-files@^0.4.0",
|
|
9
9
|
"react@^19.0.0",
|
|
10
10
|
"react-dom@^19.0.0"
|
|
11
11
|
],
|
|
12
|
+
"registryDependencies": [
|
|
13
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json"
|
|
14
|
+
],
|
|
12
15
|
"files": [
|
|
13
16
|
{
|
|
14
17
|
"path": "registry/html-viewer/html-viewer.tsx",
|
|
15
|
-
"content": "'use client';\n\nimport { HtmlViewer as RuntimeHtmlViewer } from '@hachej/boring-ui-kit/html-viewer';\nimport type { HtmlViewerProps } from '@hachej/boring-ui-kit/html-viewer';\n\nexport type { HtmlViewerProps } from '@hachej/boring-ui-kit/html-viewer';\n\nexport function HtmlViewer({ className, ...props }: HtmlViewerProps) {\n return <RuntimeHtmlViewer {...props} className={['boring-html-recipe', className].filter(Boolean).join(' ')} />;\n}\n",
|
|
18
|
+
"content": "'use client';\n\nimport { HtmlViewer as RuntimeHtmlViewer } from '@hachej/boring-ui-kit/html-viewer';\nimport type { HtmlViewerProps } from '@hachej/boring-ui-kit/html-viewer';\nimport { editorControls } from '../button/editor-controls';\n\nexport type { HtmlViewerProps } from '@hachej/boring-ui-kit/html-viewer';\n\nexport function HtmlViewer({ className, ...props }: HtmlViewerProps) {\n return <RuntimeHtmlViewer components={editorControls} {...props} className={['boring-html-recipe', className].filter(Boolean).join(' ')} />;\n}\n",
|
|
16
19
|
"type": "registry:component",
|
|
17
20
|
"target": "components/html-viewer/html-viewer.tsx"
|
|
18
21
|
}
|
|
19
22
|
],
|
|
20
23
|
"css": {
|
|
21
24
|
".boring-html-recipe[data-boring=\"html-viewer\"]": {
|
|
22
|
-
"background": "var(--boring-html-background, var(--background, #fff))",
|
|
23
|
-
"color": "var(--boring-html-foreground, var(--foreground, #111827))",
|
|
24
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
25
|
-
"border-radius": "var(--boring-html-radius, var(--radius, 0.75rem))",
|
|
26
25
|
"padding": "1rem",
|
|
27
26
|
"display": "grid",
|
|
28
27
|
"gap": "0.75rem",
|
|
29
|
-
"min-width": "0"
|
|
30
|
-
"font-family": "inherit"
|
|
28
|
+
"min-width": "0"
|
|
31
29
|
},
|
|
32
30
|
".boring-html-recipe[data-boring=\"html-viewer\"] > header": {
|
|
33
31
|
"display": "flex",
|
|
@@ -41,49 +39,17 @@
|
|
|
41
39
|
"flex-wrap": "wrap",
|
|
42
40
|
"gap": "0.375rem"
|
|
43
41
|
},
|
|
44
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button": {
|
|
45
|
-
"font": "inherit",
|
|
46
|
-
"background": "var(--boring-html-background, var(--background, #fff))",
|
|
47
|
-
"color": "var(--boring-html-foreground, var(--foreground, #111827))",
|
|
48
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
49
|
-
"border-radius": "0.375rem",
|
|
50
|
-
"padding": "0.375rem 0.625rem",
|
|
51
|
-
"cursor": "pointer"
|
|
52
|
-
},
|
|
53
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button[aria-pressed=\"true\"]": {
|
|
54
|
-
"font-weight": "700",
|
|
55
|
-
"text-decoration": "underline"
|
|
56
|
-
},
|
|
57
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button:disabled": {
|
|
58
|
-
"opacity": "0.5",
|
|
59
|
-
"cursor": "not-allowed"
|
|
60
|
-
},
|
|
61
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] button:focus-visible, .boring-html-recipe[data-boring=\"html-viewer\"] textarea:focus-visible": {
|
|
62
|
-
"outline": "2px solid var(--boring-html-focus, var(--ring, #2563eb))",
|
|
63
|
-
"outline-offset": "2px"
|
|
64
|
-
},
|
|
65
42
|
".boring-html-recipe[data-boring=\"html-viewer\"] .boring-html-viewer__source": {
|
|
66
43
|
"box-sizing": "border-box",
|
|
67
44
|
"width": "100%",
|
|
68
45
|
"min-height": "18rem",
|
|
69
|
-
"font-family": "monospace",
|
|
70
|
-
"line-height": "1.5",
|
|
71
|
-
"background": "var(--boring-html-background, var(--background, #fff))",
|
|
72
|
-
"color": "var(--boring-html-foreground, var(--foreground, #111827))",
|
|
73
46
|
"padding": "0.75rem",
|
|
74
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
75
|
-
"border-radius": "0.375rem",
|
|
76
47
|
"resize": "vertical"
|
|
77
48
|
},
|
|
78
49
|
".boring-html-recipe[data-boring=\"html-viewer\"] .boring-html-viewer__frame": {
|
|
79
50
|
"box-sizing": "border-box",
|
|
80
51
|
"width": "100%",
|
|
81
|
-
"min-height": "18rem"
|
|
82
|
-
"border": "1px solid var(--boring-html-border, var(--border, #d1d5db))",
|
|
83
|
-
"border-radius": "0.375rem"
|
|
84
|
-
},
|
|
85
|
-
".boring-html-recipe[data-boring=\"html-viewer\"] [role=\"status\"]": {
|
|
86
|
-
"font-size": "0.875rem"
|
|
52
|
+
"min-height": "18rem"
|
|
87
53
|
},
|
|
88
54
|
".boring-html-recipe[data-boring=\"html-viewer\"] [role=\"alert\"]": {
|
|
89
55
|
"border-inline-start": "0.25rem solid currentColor",
|
package/r/markdown-editor.json
CHANGED
|
@@ -4,8 +4,8 @@
|
|
|
4
4
|
"title": "Markdown editor",
|
|
5
5
|
"description": "A host-owned styled wrapper over the concrete borrowed Markdown controller.",
|
|
6
6
|
"dependencies": [
|
|
7
|
-
"@hachej/boring-ui-kit@^0.
|
|
8
|
-
"@hachej/boring-files@^0.
|
|
7
|
+
"@hachej/boring-ui-kit@^0.4.0",
|
|
8
|
+
"@hachej/boring-files@^0.4.0",
|
|
9
9
|
"react@^19.0.0",
|
|
10
10
|
"react-dom@^19.0.0",
|
|
11
11
|
"marked@^17.0.6",
|
|
@@ -22,25 +22,23 @@
|
|
|
22
22
|
"@tiptap/extension-bubble-menu@^3.31.4",
|
|
23
23
|
"@tiptap/extension-floating-menu@^3.31.4"
|
|
24
24
|
],
|
|
25
|
+
"registryDependencies": [
|
|
26
|
+
"https://cdn.jsdelivr.net/npm/@hachej/boring-ui-kit@0.4.0/r/button.json"
|
|
27
|
+
],
|
|
25
28
|
"files": [
|
|
26
29
|
{
|
|
27
30
|
"path": "registry/markdown-editor/markdown-editor.tsx",
|
|
28
|
-
"content": "'use client';\n\nimport { MarkdownEditor as RuntimeMarkdownEditor } from '@hachej/boring-ui-kit/markdown-editor';\nimport type { MarkdownEditorProps } from '@hachej/boring-ui-kit/markdown-editor';\n\nexport type { MarkdownEditorProps } from '@hachej/boring-ui-kit/markdown-editor';\n\nexport function MarkdownEditor({ className, ...props }: MarkdownEditorProps) {\n return <RuntimeMarkdownEditor {...props} className={['boring-markdown-recipe', className].filter(Boolean).join(' ')} />;\n}\n",
|
|
31
|
+
"content": "'use client';\n\nimport { MarkdownEditor as RuntimeMarkdownEditor } from '@hachej/boring-ui-kit/markdown-editor';\nimport type { MarkdownEditorProps } from '@hachej/boring-ui-kit/markdown-editor';\nimport { editorControls } from '../button/editor-controls';\n\nexport type { MarkdownEditorProps } from '@hachej/boring-ui-kit/markdown-editor';\n\nexport function MarkdownEditor({ className, ...props }: MarkdownEditorProps) {\n return <RuntimeMarkdownEditor components={editorControls} {...props} className={['boring-markdown-recipe', className].filter(Boolean).join(' ')} />;\n}\n",
|
|
29
32
|
"type": "registry:component",
|
|
30
33
|
"target": "components/markdown-editor/markdown-editor.tsx"
|
|
31
34
|
}
|
|
32
35
|
],
|
|
33
36
|
"css": {
|
|
34
37
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"]": {
|
|
35
|
-
"background": "var(--boring-editor-background, var(--background, #fff))",
|
|
36
|
-
"color": "var(--boring-editor-foreground, var(--foreground, #111827))",
|
|
37
|
-
"border": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
38
|
-
"border-radius": "var(--boring-editor-radius, var(--radius, 0.75rem))",
|
|
39
38
|
"padding": "1rem",
|
|
40
39
|
"display": "grid",
|
|
41
40
|
"gap": "1rem",
|
|
42
|
-
"min-width": "0"
|
|
43
|
-
"font-family": "inherit"
|
|
41
|
+
"min-width": "0"
|
|
44
42
|
},
|
|
45
43
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] > header": {
|
|
46
44
|
"display": "flex",
|
|
@@ -50,45 +48,24 @@
|
|
|
50
48
|
"gap": "0.75rem"
|
|
51
49
|
},
|
|
52
50
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] > header > strong": {
|
|
53
|
-
"margin": "0"
|
|
54
|
-
"font-size": "1.125rem",
|
|
55
|
-
"font-weight": "600"
|
|
51
|
+
"margin": "0"
|
|
56
52
|
},
|
|
57
53
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [role=\"toolbar\"]": {
|
|
58
54
|
"display": "flex",
|
|
59
|
-
"flex-wrap": "
|
|
55
|
+
"flex-wrap": "nowrap",
|
|
60
56
|
"gap": "0.375rem"
|
|
61
57
|
},
|
|
62
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"]
|
|
63
|
-
"
|
|
64
|
-
"
|
|
65
|
-
"
|
|
66
|
-
"
|
|
67
|
-
"
|
|
68
|
-
"color": "inherit",
|
|
69
|
-
"border": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
70
|
-
"border-radius": "0.375rem",
|
|
71
|
-
"padding": "0.375rem 0.625rem",
|
|
72
|
-
"cursor": "pointer"
|
|
73
|
-
},
|
|
74
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] button[aria-pressed=\"true\"]": {
|
|
75
|
-
"background": "var(--boring-editor-accent, var(--accent, #e5e7eb))",
|
|
76
|
-
"font-weight": "600"
|
|
77
|
-
},
|
|
78
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] button:disabled": {
|
|
79
|
-
"opacity": "0.5",
|
|
80
|
-
"cursor": "not-allowed"
|
|
81
|
-
},
|
|
82
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] button:focus-visible, .boring-markdown-recipe[data-boring=\"markdown-editor\"] textarea:focus-visible": {
|
|
83
|
-
"outline": "2px solid var(--boring-editor-focus, var(--ring, #2563eb))",
|
|
84
|
-
"outline-offset": "2px"
|
|
58
|
+
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-toolbar": {
|
|
59
|
+
"min-width": "0",
|
|
60
|
+
"overflow-x": "auto",
|
|
61
|
+
"scrollbar-width": "none",
|
|
62
|
+
"padding-right": "1.5rem",
|
|
63
|
+
"padding-inline-end": "1.5rem"
|
|
85
64
|
},
|
|
86
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"]
|
|
87
|
-
"
|
|
88
|
-
"color": "var(--boring-editor-muted, var(--muted-foreground, #4b5563))"
|
|
65
|
+
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-toolbar > *": {
|
|
66
|
+
"flex-shrink": "0"
|
|
89
67
|
},
|
|
90
68
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] nav[aria-label=\"Document outline\"]": {
|
|
91
|
-
"border-bottom": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
92
69
|
"padding-bottom": "0.75rem"
|
|
93
70
|
},
|
|
94
71
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] nav ol": {
|
|
@@ -102,28 +79,28 @@
|
|
|
102
79
|
"max-width": "75ch",
|
|
103
80
|
"width": "100%",
|
|
104
81
|
"margin-inline": "auto",
|
|
105
|
-
"line-height": "
|
|
82
|
+
"line-height": "var(--leading-relaxed)",
|
|
106
83
|
"overflow-wrap": "anywhere"
|
|
107
84
|
},
|
|
108
85
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content p": {
|
|
109
86
|
"margin": "0.75rem 0"
|
|
110
87
|
},
|
|
111
88
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h1": {
|
|
112
|
-
"font-size": "
|
|
113
|
-
"line-height": "
|
|
89
|
+
"font-size": "var(--text-3xl)",
|
|
90
|
+
"line-height": "var(--leading-tight)",
|
|
114
91
|
"margin": "1.25rem 0 0.75rem",
|
|
115
|
-
"font-weight": "
|
|
92
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
116
93
|
},
|
|
117
94
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h2": {
|
|
118
|
-
"font-size": "
|
|
119
|
-
"line-height": "
|
|
95
|
+
"font-size": "var(--text-2xl)",
|
|
96
|
+
"line-height": "var(--leading-tight)",
|
|
120
97
|
"margin": "1.25rem 0 0.75rem",
|
|
121
|
-
"font-weight": "
|
|
98
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
122
99
|
},
|
|
123
100
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content h3": {
|
|
124
|
-
"font-size": "
|
|
101
|
+
"font-size": "var(--text-xl)",
|
|
125
102
|
"margin": "1rem 0 0.5rem",
|
|
126
|
-
"font-weight": "
|
|
103
|
+
"font-weight": "var(--font-weight-semibold)"
|
|
127
104
|
},
|
|
128
105
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content ul": {
|
|
129
106
|
"list-style": "disc",
|
|
@@ -143,58 +120,37 @@
|
|
|
143
120
|
"align-items": "baseline"
|
|
144
121
|
},
|
|
145
122
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content blockquote": {
|
|
146
|
-
"border-left": "
|
|
123
|
+
"border-left": "var(--default-border-width) solid var(--border)",
|
|
147
124
|
"padding-left": "1rem",
|
|
148
125
|
"margin-inline": "0",
|
|
149
|
-
"color": "var(--
|
|
126
|
+
"color": "var(--muted-foreground)"
|
|
150
127
|
},
|
|
151
128
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content pre, .boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal\"] pre": {
|
|
152
129
|
"overflow-x": "auto",
|
|
153
|
-
"background": "var(--
|
|
154
|
-
"border-radius": "
|
|
130
|
+
"background": "var(--muted)",
|
|
131
|
+
"border-radius": "var(--radius-md)",
|
|
155
132
|
"padding": "0.75rem",
|
|
156
|
-
"font-family": "
|
|
133
|
+
"font-family": "var(--font-mono)"
|
|
157
134
|
},
|
|
158
135
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content code": {
|
|
159
|
-
"font-family": "
|
|
160
|
-
"font-size": "
|
|
136
|
+
"font-family": "var(--font-mono)",
|
|
137
|
+
"font-size": "var(--text-sm)"
|
|
161
138
|
},
|
|
162
139
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] > textarea": {
|
|
163
140
|
"width": "100%",
|
|
164
|
-
"
|
|
165
|
-
"resize": "vertical",
|
|
166
|
-
"font-family": "ui-monospace, monospace",
|
|
167
|
-
"font-size": "0.875rem",
|
|
168
|
-
"line-height": "1.6",
|
|
169
|
-
"padding": "0.75rem",
|
|
170
|
-
"background": "inherit",
|
|
171
|
-
"color": "inherit",
|
|
172
|
-
"border": "1px solid var(--boring-editor-border, var(--border, #d1d5db))",
|
|
173
|
-
"border-radius": "0.375rem",
|
|
174
|
-
"box-sizing": "border-box"
|
|
141
|
+
"resize": "vertical"
|
|
175
142
|
},
|
|
176
143
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [role=\"alert\"]": {
|
|
177
|
-
"border-left": "3px solid var(--boring-editor-danger, var(--destructive, #b91c1c))",
|
|
178
144
|
"padding": "0.75rem",
|
|
179
145
|
"overflow-wrap": "anywhere"
|
|
180
146
|
},
|
|
181
147
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal\"]": {
|
|
182
|
-
"
|
|
183
|
-
"padding": "0.75rem",
|
|
184
|
-
"border-radius": "0.375rem"
|
|
148
|
+
"padding": "0.75rem"
|
|
185
149
|
},
|
|
186
150
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal\"] summary": {
|
|
187
|
-
"cursor": "pointer"
|
|
188
|
-
"font-weight": "600"
|
|
189
|
-
},
|
|
190
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content:focus-visible": {
|
|
191
|
-
"outline": "2px solid var(--boring-editor-focus, var(--ring, #2563eb))",
|
|
192
|
-
"outline-offset": "2px"
|
|
151
|
+
"cursor": "pointer"
|
|
193
152
|
},
|
|
194
153
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-boring=\"proposal-diff\"]": {
|
|
195
|
-
"font-family": "ui-monospace, monospace",
|
|
196
|
-
"font-size": "0.875rem",
|
|
197
|
-
"line-height": "1.5",
|
|
198
154
|
"overflow-x": "auto"
|
|
199
155
|
},
|
|
200
156
|
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-diff]": {
|
|
@@ -202,13 +158,8 @@
|
|
|
202
158
|
"overflow-wrap": "anywhere",
|
|
203
159
|
"padding": "0.125rem 0.375rem"
|
|
204
160
|
},
|
|
205
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"]
|
|
206
|
-
"
|
|
207
|
-
"color": "var(--boring-editor-diff-add-foreground, #065f46)"
|
|
208
|
-
},
|
|
209
|
-
".boring-markdown-recipe[data-boring=\"markdown-editor\"] [data-diff=\"remove\"]": {
|
|
210
|
-
"background": "var(--boring-editor-diff-remove-background, #fff1f2)",
|
|
211
|
-
"color": "var(--boring-editor-diff-remove-foreground, #9f1239)"
|
|
161
|
+
".boring-markdown-recipe[data-boring=\"markdown-editor\"] .boring-markdown-content:focus": {
|
|
162
|
+
"outline": "none"
|
|
212
163
|
}
|
|
213
164
|
},
|
|
214
165
|
"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.",
|