@nuucognition/ncm-ui 0.1.0-dev.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +129 -0
- package/dist/blocks/admonition/index.d.ts +13 -0
- package/dist/blocks/admonition/index.js +1713 -0
- package/dist/blocks/aside/index.d.ts +13 -0
- package/dist/blocks/aside/index.js +1713 -0
- package/dist/blocks/attribution/index.d.ts +13 -0
- package/dist/blocks/attribution/index.js +32 -0
- package/dist/blocks/blockquote/index.d.ts +15 -0
- package/dist/blocks/blockquote/index.js +609 -0
- package/dist/blocks/chart/index.d.ts +14 -0
- package/dist/blocks/chart/index.js +29 -0
- package/dist/blocks/code/index.d.ts +15 -0
- package/dist/blocks/code/index.js +163 -0
- package/dist/blocks/container/index.d.ts +17 -0
- package/dist/blocks/container/index.js +633 -0
- package/dist/blocks/custom-code/index.d.ts +15 -0
- package/dist/blocks/custom-code/index.js +31 -0
- package/dist/blocks/dataview/index.d.ts +14 -0
- package/dist/blocks/dataview/index.js +29 -0
- package/dist/blocks/definition/index.d.ts +13 -0
- package/dist/blocks/definition/index.js +1713 -0
- package/dist/blocks/embed/index.d.ts +12 -0
- package/dist/blocks/embed/index.js +46 -0
- package/dist/blocks/embedding/index.d.ts +13 -0
- package/dist/blocks/embedding/index.js +763 -0
- package/dist/blocks/figure/index.d.ts +13 -0
- package/dist/blocks/figure/index.js +656 -0
- package/dist/blocks/footnote/index.d.ts +13 -0
- package/dist/blocks/footnote/index.js +1713 -0
- package/dist/blocks/frontmatter/index.d.ts +16 -0
- package/dist/blocks/frontmatter/index.js +38 -0
- package/dist/blocks/header/index.d.ts +9 -0
- package/dist/blocks/header/index.js +610 -0
- package/dist/blocks/horizontal-rule/index.d.ts +9 -0
- package/dist/blocks/horizontal-rule/index.js +19 -0
- package/dist/blocks/html/index.d.ts +31 -0
- package/dist/blocks/html/index.js +52 -0
- package/dist/blocks/index.d.ts +32 -0
- package/dist/blocks/index.js +1736 -0
- package/dist/blocks/latex/index.d.ts +9 -0
- package/dist/blocks/latex/index.js +107 -0
- package/dist/blocks/link/index.d.ts +14 -0
- package/dist/blocks/link/index.js +27 -0
- package/dist/blocks/list/index.d.ts +9 -0
- package/dist/blocks/list/index.js +675 -0
- package/dist/blocks/math/index.d.ts +13 -0
- package/dist/blocks/math/index.js +88 -0
- package/dist/blocks/mermaid/index.d.ts +14 -0
- package/dist/blocks/mermaid/index.js +29 -0
- package/dist/blocks/page-breaker/index.d.ts +16 -0
- package/dist/blocks/page-breaker/index.js +21 -0
- package/dist/blocks/paragraph/index.d.ts +9 -0
- package/dist/blocks/paragraph/index.js +608 -0
- package/dist/blocks/spoiler/index.d.ts +13 -0
- package/dist/blocks/spoiler/index.js +1713 -0
- package/dist/blocks/table/index.d.ts +9 -0
- package/dist/blocks/table/index.js +619 -0
- package/dist/blocks/task-list/index.d.ts +13 -0
- package/dist/blocks/task-list/index.js +670 -0
- package/dist/components/index.d.ts +599 -0
- package/dist/components/index.js +1840 -0
- package/dist/components/ncm-block.d.ts +28 -0
- package/dist/components/ncm-block.js +1712 -0
- package/dist/components/ncm-document.d.ts +48 -0
- package/dist/components/ncm-document.js +1839 -0
- package/dist/context/index.d.ts +7 -0
- package/dist/context/index.js +284 -0
- package/dist/hooks/index.d.ts +7 -0
- package/dist/hooks/index.js +1731 -0
- package/dist/hooks/use-block-renderer.d.ts +28 -0
- package/dist/hooks/use-block-renderer.js +1731 -0
- package/dist/hooks/use-ncm-config.d.ts +6 -0
- package/dist/hooks/use-ncm-config.js +11 -0
- package/dist/index.d.ts +43 -0
- package/dist/index.js +1887 -0
- package/dist/inline/index.d.ts +108 -0
- package/dist/inline/index.js +598 -0
- package/dist/inline-DwUYUmk4.d.ts +75 -0
- package/dist/lib/defaults.d.ts +24 -0
- package/dist/lib/defaults.js +1713 -0
- package/dist/lib/index.d.ts +2 -0
- package/dist/lib/index.js +10 -0
- package/dist/lib/katex.d.ts +3 -0
- package/dist/lib/katex.js +45 -0
- package/dist/lib/utils.d.ts +8 -0
- package/dist/lib/utils.js +10 -0
- package/dist/references-Bs5wJybr.d.ts +63 -0
- package/dist/renderers-C5f41FCy.d.ts +99 -0
- package/dist/styles/fonts/OpenDyslexic3-Bold.woff +0 -0
- package/dist/styles/fonts/OpenDyslexic3-Bold.woff2 +0 -0
- package/dist/styles/fonts/OpenDyslexic3-Regular.woff +0 -0
- package/dist/styles/fonts/OpenDyslexic3-Regular.woff2 +0 -0
- package/dist/styles/nuu.css +364 -0
- package/dist/styles/paper.css +332 -0
- package/dist/types/index.d.ts +4 -0
- package/dist/types/index.js +2 -0
- package/dist/use-ncm-config-D0doMYTH.d.ts +114 -0
- package/package.json +99 -0
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { jsx } from 'react/jsx-runtime';
|
|
3
|
+
|
|
4
|
+
// src/blocks/horizontal-rule/horizontal-rule.tsx
|
|
5
|
+
function HorizontalRuleBlock({ block, className }) {
|
|
6
|
+
return /* @__PURE__ */ jsx(
|
|
7
|
+
"hr",
|
|
8
|
+
{
|
|
9
|
+
"data-ncm-block": block.id,
|
|
10
|
+
"data-ncm-stable": block.stableId,
|
|
11
|
+
"data-ncm-type": block.type,
|
|
12
|
+
"data-block-id": block.id,
|
|
13
|
+
"data-ncm-horizontal-rule": "",
|
|
14
|
+
className
|
|
15
|
+
}
|
|
16
|
+
);
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
export { HorizontalRuleBlock };
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
+
import { HtmlBlock as HtmlBlock$1 } from '@nuucognition/ncm';
|
|
3
|
+
import { a as BlockRendererProps } from '../../renderers-C5f41FCy.js';
|
|
4
|
+
import 'react';
|
|
5
|
+
|
|
6
|
+
type HtmlBlockProps = BlockRendererProps<HtmlBlock$1>;
|
|
7
|
+
interface SanitizedHtmlBlockProps extends HtmlBlockProps {
|
|
8
|
+
/** Allow the safe raw-HTML tag subset before injecting markup. Default: true */
|
|
9
|
+
rawHtml?: boolean;
|
|
10
|
+
/** Allow data: image URLs in media attributes. Default: false */
|
|
11
|
+
allowDataImages?: boolean;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Raw HTML renderer — conservative by default.
|
|
15
|
+
*
|
|
16
|
+
* NCM captures block-level HTML verbatim and leaves sanitization to a
|
|
17
|
+
* downstream layer. This package ships no sanitizer, so the safe default
|
|
18
|
+
* renders the HTML *source* (escaped) rather than injecting it. Consumers with
|
|
19
|
+
* a sanitization step override the `html` renderer key to inject trusted
|
|
20
|
+
* markup.
|
|
21
|
+
*/
|
|
22
|
+
declare function HtmlBlock({ block, className }: HtmlBlockProps): react_jsx_runtime.JSX.Element;
|
|
23
|
+
/**
|
|
24
|
+
* Opt-in HTML renderer for consumers that want sanitized HTML injection.
|
|
25
|
+
*
|
|
26
|
+
* `HtmlBlock` remains the safe default and renders source as text. Use this
|
|
27
|
+
* renderer as an explicit `html` override when your surface supports HTML.
|
|
28
|
+
*/
|
|
29
|
+
declare function SanitizedHtmlBlock({ block, className, rawHtml, allowDataImages, }: SanitizedHtmlBlockProps): react_jsx_runtime.JSX.Element;
|
|
30
|
+
|
|
31
|
+
export { HtmlBlock, type HtmlBlockProps, SanitizedHtmlBlock, type SanitizedHtmlBlockProps };
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
"use client";
|
|
2
|
+
import { sanitizeHtml } from '@nuucognition/ncm';
|
|
3
|
+
import { clsx } from 'clsx';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import { jsx } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
// src/blocks/html/html.tsx
|
|
8
|
+
function cn(...inputs) {
|
|
9
|
+
return twMerge(clsx(inputs));
|
|
10
|
+
}
|
|
11
|
+
function HtmlBlock({ block, className }) {
|
|
12
|
+
return /* @__PURE__ */ jsx(
|
|
13
|
+
"pre",
|
|
14
|
+
{
|
|
15
|
+
"data-ncm-block": block.id,
|
|
16
|
+
"data-ncm-stable": block.stableId,
|
|
17
|
+
"data-ncm-type": block.type,
|
|
18
|
+
"data-block-id": block.id,
|
|
19
|
+
"data-ncm-html": "",
|
|
20
|
+
className: cn(
|
|
21
|
+
"overflow-x-auto rounded-lg border border-border bg-muted p-4 font-mono text-sm",
|
|
22
|
+
className
|
|
23
|
+
),
|
|
24
|
+
children: /* @__PURE__ */ jsx("code", { children: block.content })
|
|
25
|
+
}
|
|
26
|
+
);
|
|
27
|
+
}
|
|
28
|
+
function SanitizedHtmlBlock({
|
|
29
|
+
block,
|
|
30
|
+
className,
|
|
31
|
+
rawHtml = true,
|
|
32
|
+
allowDataImages = false
|
|
33
|
+
}) {
|
|
34
|
+
const sanitized = sanitizeHtml(block.content, {
|
|
35
|
+
rawHtml,
|
|
36
|
+
allowDataImages
|
|
37
|
+
});
|
|
38
|
+
return /* @__PURE__ */ jsx(
|
|
39
|
+
"div",
|
|
40
|
+
{
|
|
41
|
+
"data-ncm-block": block.id,
|
|
42
|
+
"data-ncm-stable": block.stableId,
|
|
43
|
+
"data-ncm-type": block.type,
|
|
44
|
+
"data-block-id": block.id,
|
|
45
|
+
"data-ncm-html-sanitized": "",
|
|
46
|
+
className,
|
|
47
|
+
dangerouslySetInnerHTML: { __html: sanitized.html }
|
|
48
|
+
}
|
|
49
|
+
);
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
export { HtmlBlock, SanitizedHtmlBlock };
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export { AdmonitionBlock, AdmonitionBlockProps } from './admonition/index.js';
|
|
2
|
+
export { AsideBlock, AsideBlockProps } from './aside/index.js';
|
|
3
|
+
export { AttributionBlock, AttributionBlockProps } from './attribution/index.js';
|
|
4
|
+
export { BlockquoteBlock, BlockquoteBlockProps } from './blockquote/index.js';
|
|
5
|
+
export { ChartBlock, ChartBlockProps } from './chart/index.js';
|
|
6
|
+
export { CodeBlock, CodeBlockProps } from './code/index.js';
|
|
7
|
+
export { ContainerBlock, ContainerBlockProps } from './container/index.js';
|
|
8
|
+
export { CustomCodeBlock, CustomCodeBlockProps } from './custom-code/index.js';
|
|
9
|
+
export { DataviewBlock, DataviewBlockProps } from './dataview/index.js';
|
|
10
|
+
export { DefinitionBlock, DefinitionBlockProps } from './definition/index.js';
|
|
11
|
+
export { EmbedBlock, EmbedBlockProps } from './embed/index.js';
|
|
12
|
+
export { EmbeddingBlock, EmbeddingBlockProps } from './embedding/index.js';
|
|
13
|
+
export { FigureBlock, FigureBlockProps } from './figure/index.js';
|
|
14
|
+
export { FootnoteBlock, FootnoteBlockProps } from './footnote/index.js';
|
|
15
|
+
export { FrontmatterBlock, FrontmatterBlockProps } from './frontmatter/index.js';
|
|
16
|
+
export { HeaderBlock, HeaderBlockProps } from './header/index.js';
|
|
17
|
+
export { HorizontalRuleBlock, HorizontalRuleBlockProps } from './horizontal-rule/index.js';
|
|
18
|
+
export { HtmlBlock, HtmlBlockProps, SanitizedHtmlBlock, SanitizedHtmlBlockProps } from './html/index.js';
|
|
19
|
+
export { LatexDisplayBlock, LatexDisplayBlockProps } from './latex/index.js';
|
|
20
|
+
export { LinkBlock, LinkBlockProps } from './link/index.js';
|
|
21
|
+
export { ListBlock, ListBlockProps } from './list/index.js';
|
|
22
|
+
export { MathBlock, MathBlockProps } from './math/index.js';
|
|
23
|
+
export { MermaidBlock, MermaidBlockProps } from './mermaid/index.js';
|
|
24
|
+
export { PageBreakerBlock, PageBreakerBlockProps } from './page-breaker/index.js';
|
|
25
|
+
export { ParagraphBlock, ParagraphBlockProps } from './paragraph/index.js';
|
|
26
|
+
export { SpoilerBlock, SpoilerBlockProps } from './spoiler/index.js';
|
|
27
|
+
export { TableBlock, TableBlockProps } from './table/index.js';
|
|
28
|
+
export { TaskListBlock, TaskListBlockProps } from './task-list/index.js';
|
|
29
|
+
import 'react/jsx-runtime';
|
|
30
|
+
import '@nuucognition/ncm';
|
|
31
|
+
import '../renderers-C5f41FCy.js';
|
|
32
|
+
import 'react';
|