@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.
Files changed (99) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +129 -0
  3. package/dist/blocks/admonition/index.d.ts +13 -0
  4. package/dist/blocks/admonition/index.js +1713 -0
  5. package/dist/blocks/aside/index.d.ts +13 -0
  6. package/dist/blocks/aside/index.js +1713 -0
  7. package/dist/blocks/attribution/index.d.ts +13 -0
  8. package/dist/blocks/attribution/index.js +32 -0
  9. package/dist/blocks/blockquote/index.d.ts +15 -0
  10. package/dist/blocks/blockquote/index.js +609 -0
  11. package/dist/blocks/chart/index.d.ts +14 -0
  12. package/dist/blocks/chart/index.js +29 -0
  13. package/dist/blocks/code/index.d.ts +15 -0
  14. package/dist/blocks/code/index.js +163 -0
  15. package/dist/blocks/container/index.d.ts +17 -0
  16. package/dist/blocks/container/index.js +633 -0
  17. package/dist/blocks/custom-code/index.d.ts +15 -0
  18. package/dist/blocks/custom-code/index.js +31 -0
  19. package/dist/blocks/dataview/index.d.ts +14 -0
  20. package/dist/blocks/dataview/index.js +29 -0
  21. package/dist/blocks/definition/index.d.ts +13 -0
  22. package/dist/blocks/definition/index.js +1713 -0
  23. package/dist/blocks/embed/index.d.ts +12 -0
  24. package/dist/blocks/embed/index.js +46 -0
  25. package/dist/blocks/embedding/index.d.ts +13 -0
  26. package/dist/blocks/embedding/index.js +763 -0
  27. package/dist/blocks/figure/index.d.ts +13 -0
  28. package/dist/blocks/figure/index.js +656 -0
  29. package/dist/blocks/footnote/index.d.ts +13 -0
  30. package/dist/blocks/footnote/index.js +1713 -0
  31. package/dist/blocks/frontmatter/index.d.ts +16 -0
  32. package/dist/blocks/frontmatter/index.js +38 -0
  33. package/dist/blocks/header/index.d.ts +9 -0
  34. package/dist/blocks/header/index.js +610 -0
  35. package/dist/blocks/horizontal-rule/index.d.ts +9 -0
  36. package/dist/blocks/horizontal-rule/index.js +19 -0
  37. package/dist/blocks/html/index.d.ts +31 -0
  38. package/dist/blocks/html/index.js +52 -0
  39. package/dist/blocks/index.d.ts +32 -0
  40. package/dist/blocks/index.js +1736 -0
  41. package/dist/blocks/latex/index.d.ts +9 -0
  42. package/dist/blocks/latex/index.js +107 -0
  43. package/dist/blocks/link/index.d.ts +14 -0
  44. package/dist/blocks/link/index.js +27 -0
  45. package/dist/blocks/list/index.d.ts +9 -0
  46. package/dist/blocks/list/index.js +675 -0
  47. package/dist/blocks/math/index.d.ts +13 -0
  48. package/dist/blocks/math/index.js +88 -0
  49. package/dist/blocks/mermaid/index.d.ts +14 -0
  50. package/dist/blocks/mermaid/index.js +29 -0
  51. package/dist/blocks/page-breaker/index.d.ts +16 -0
  52. package/dist/blocks/page-breaker/index.js +21 -0
  53. package/dist/blocks/paragraph/index.d.ts +9 -0
  54. package/dist/blocks/paragraph/index.js +608 -0
  55. package/dist/blocks/spoiler/index.d.ts +13 -0
  56. package/dist/blocks/spoiler/index.js +1713 -0
  57. package/dist/blocks/table/index.d.ts +9 -0
  58. package/dist/blocks/table/index.js +619 -0
  59. package/dist/blocks/task-list/index.d.ts +13 -0
  60. package/dist/blocks/task-list/index.js +670 -0
  61. package/dist/components/index.d.ts +599 -0
  62. package/dist/components/index.js +1840 -0
  63. package/dist/components/ncm-block.d.ts +28 -0
  64. package/dist/components/ncm-block.js +1712 -0
  65. package/dist/components/ncm-document.d.ts +48 -0
  66. package/dist/components/ncm-document.js +1839 -0
  67. package/dist/context/index.d.ts +7 -0
  68. package/dist/context/index.js +284 -0
  69. package/dist/hooks/index.d.ts +7 -0
  70. package/dist/hooks/index.js +1731 -0
  71. package/dist/hooks/use-block-renderer.d.ts +28 -0
  72. package/dist/hooks/use-block-renderer.js +1731 -0
  73. package/dist/hooks/use-ncm-config.d.ts +6 -0
  74. package/dist/hooks/use-ncm-config.js +11 -0
  75. package/dist/index.d.ts +43 -0
  76. package/dist/index.js +1887 -0
  77. package/dist/inline/index.d.ts +108 -0
  78. package/dist/inline/index.js +598 -0
  79. package/dist/inline-DwUYUmk4.d.ts +75 -0
  80. package/dist/lib/defaults.d.ts +24 -0
  81. package/dist/lib/defaults.js +1713 -0
  82. package/dist/lib/index.d.ts +2 -0
  83. package/dist/lib/index.js +10 -0
  84. package/dist/lib/katex.d.ts +3 -0
  85. package/dist/lib/katex.js +45 -0
  86. package/dist/lib/utils.d.ts +8 -0
  87. package/dist/lib/utils.js +10 -0
  88. package/dist/references-Bs5wJybr.d.ts +63 -0
  89. package/dist/renderers-C5f41FCy.d.ts +99 -0
  90. package/dist/styles/fonts/OpenDyslexic3-Bold.woff +0 -0
  91. package/dist/styles/fonts/OpenDyslexic3-Bold.woff2 +0 -0
  92. package/dist/styles/fonts/OpenDyslexic3-Regular.woff +0 -0
  93. package/dist/styles/fonts/OpenDyslexic3-Regular.woff2 +0 -0
  94. package/dist/styles/nuu.css +364 -0
  95. package/dist/styles/paper.css +332 -0
  96. package/dist/types/index.d.ts +4 -0
  97. package/dist/types/index.js +2 -0
  98. package/dist/use-ncm-config-D0doMYTH.d.ts +114 -0
  99. 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';