@cedros/data-react 0.1.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.
Files changed (152) hide show
  1. package/CHANGELOG.md +24 -0
  2. package/README.md +177 -0
  3. package/dist/admin/api.d.ts +19 -0
  4. package/dist/admin/api.js +108 -0
  5. package/dist/admin/components.d.ts +36 -0
  6. package/dist/admin/components.js +22 -0
  7. package/dist/admin/history.d.ts +17 -0
  8. package/dist/admin/history.js +103 -0
  9. package/dist/admin/icons.d.ts +15 -0
  10. package/dist/admin/icons.js +18 -0
  11. package/dist/admin/index.d.ts +13 -0
  12. package/dist/admin/index.js +12 -0
  13. package/dist/admin/permissions.d.ts +4 -0
  14. package/dist/admin/permissions.js +45 -0
  15. package/dist/admin/plugin.d.ts +4 -0
  16. package/dist/admin/plugin.js +180 -0
  17. package/dist/admin/primitives/ConfirmDialog.d.ts +14 -0
  18. package/dist/admin/primitives/ConfirmDialog.js +7 -0
  19. package/dist/admin/primitives/DataTable.d.ts +14 -0
  20. package/dist/admin/primitives/DataTable.js +7 -0
  21. package/dist/admin/primitives/DiffViewer.d.ts +11 -0
  22. package/dist/admin/primitives/DiffViewer.js +8 -0
  23. package/dist/admin/primitives/FormFieldRow.d.ts +23 -0
  24. package/dist/admin/primitives/FormFieldRow.js +16 -0
  25. package/dist/admin/primitives/JsonCodeEditor.d.ts +10 -0
  26. package/dist/admin/primitives/JsonCodeEditor.js +42 -0
  27. package/dist/admin/primitives/Pagination.d.ts +8 -0
  28. package/dist/admin/primitives/Pagination.js +8 -0
  29. package/dist/admin/primitives/Toolbar.d.ts +23 -0
  30. package/dist/admin/primitives/Toolbar.js +10 -0
  31. package/dist/admin/primitives/alerts.d.ts +21 -0
  32. package/dist/admin/primitives/alerts.js +44 -0
  33. package/dist/admin/sectionIds.d.ts +20 -0
  34. package/dist/admin/sectionIds.js +33 -0
  35. package/dist/admin/sections/CollectionsSection.d.ts +2 -0
  36. package/dist/admin/sections/CollectionsSection.js +125 -0
  37. package/dist/admin/sections/ContractVerifySection.d.ts +11 -0
  38. package/dist/admin/sections/ContractVerifySection.js +98 -0
  39. package/dist/admin/sections/CustomDataSection.d.ts +2 -0
  40. package/dist/admin/sections/CustomDataSection.js +256 -0
  41. package/dist/admin/sections/DataOpsSection.d.ts +26 -0
  42. package/dist/admin/sections/DataOpsSection.js +245 -0
  43. package/dist/admin/sections/HistorySection.d.ts +2 -0
  44. package/dist/admin/sections/HistorySection.js +26 -0
  45. package/dist/admin/sections/MonetizationSection.d.ts +2 -0
  46. package/dist/admin/sections/MonetizationSection.js +140 -0
  47. package/dist/admin/sections/NavigationSection.d.ts +13 -0
  48. package/dist/admin/sections/NavigationSection.js +195 -0
  49. package/dist/admin/sections/PagesSection.d.ts +2 -0
  50. package/dist/admin/sections/PagesSection.js +157 -0
  51. package/dist/admin/sections/SchemaDesignerSection.d.ts +2 -0
  52. package/dist/admin/sections/SchemaDesignerSection.js +167 -0
  53. package/dist/admin/sections/SiteSettingsSection.d.ts +12 -0
  54. package/dist/admin/sections/SiteSettingsSection.js +122 -0
  55. package/dist/admin/sections/TippingSection.d.ts +2 -0
  56. package/dist/admin/sections/TippingSection.js +178 -0
  57. package/dist/admin/sections/media/MediaDetail.d.ts +12 -0
  58. package/dist/admin/sections/media/MediaDetail.js +74 -0
  59. package/dist/admin/sections/media/MediaGrid.d.ts +14 -0
  60. package/dist/admin/sections/media/MediaGrid.js +22 -0
  61. package/dist/admin/sections/media/MediaSection.d.ts +2 -0
  62. package/dist/admin/sections/media/MediaSection.js +97 -0
  63. package/dist/admin/sections/media/MediaUploader.d.ts +7 -0
  64. package/dist/admin/sections/media/MediaUploader.js +72 -0
  65. package/dist/admin/sections/media/types.d.ts +33 -0
  66. package/dist/admin/sections/media/types.js +1 -0
  67. package/dist/admin/styles.css +533 -0
  68. package/dist/admin/types.d.ts +85 -0
  69. package/dist/admin/types.js +1 -0
  70. package/dist/index.d.ts +4 -0
  71. package/dist/index.js +3 -0
  72. package/dist/react/CmsContent.d.ts +20 -0
  73. package/dist/react/CmsContent.js +31 -0
  74. package/dist/react/entries.d.ts +9 -0
  75. package/dist/react/entries.js +25 -0
  76. package/dist/react/fetch.d.ts +11 -0
  77. package/dist/react/fetch.js +32 -0
  78. package/dist/react/index.d.ts +10 -0
  79. package/dist/react/index.js +9 -0
  80. package/dist/react/metadata.d.ts +44 -0
  81. package/dist/react/metadata.js +142 -0
  82. package/dist/react/sanitize.d.ts +17 -0
  83. package/dist/react/sanitize.js +326 -0
  84. package/dist/react/server.d.ts +14 -0
  85. package/dist/react/server.js +13 -0
  86. package/dist/react/sitemap.d.ts +28 -0
  87. package/dist/react/sitemap.js +91 -0
  88. package/dist/react/slugs.d.ts +27 -0
  89. package/dist/react/slugs.js +52 -0
  90. package/dist/react/types.d.ts +85 -0
  91. package/dist/react/types.js +1 -0
  92. package/dist/react/visitor.d.ts +7 -0
  93. package/dist/react/visitor.js +18 -0
  94. package/dist/site-templates/BlogTemplates.d.ts +95 -0
  95. package/dist/site-templates/BlogTemplates.js +64 -0
  96. package/dist/site-templates/ContactPageTemplate.d.ts +14 -0
  97. package/dist/site-templates/ContactPageTemplate.js +5 -0
  98. package/dist/site-templates/DashboardOverviewTemplate.d.ts +29 -0
  99. package/dist/site-templates/DashboardOverviewTemplate.js +17 -0
  100. package/dist/site-templates/DashboardShell.d.ts +28 -0
  101. package/dist/site-templates/DashboardShell.js +10 -0
  102. package/dist/site-templates/DocsSidebar.d.ts +14 -0
  103. package/dist/site-templates/DocsSidebar.js +13 -0
  104. package/dist/site-templates/DocsTemplates.d.ts +60 -0
  105. package/dist/site-templates/DocsTemplates.js +47 -0
  106. package/dist/site-templates/HomePageTemplate.d.ts +15 -0
  107. package/dist/site-templates/HomePageTemplate.js +10 -0
  108. package/dist/site-templates/LegalPageTemplate.d.ts +12 -0
  109. package/dist/site-templates/LegalPageTemplate.js +6 -0
  110. package/dist/site-templates/MarkdownContent.d.ts +7 -0
  111. package/dist/site-templates/MarkdownContent.js +24 -0
  112. package/dist/site-templates/NotFoundTemplate.d.ts +9 -0
  113. package/dist/site-templates/NotFoundTemplate.js +5 -0
  114. package/dist/site-templates/SiteFooter.d.ts +13 -0
  115. package/dist/site-templates/SiteFooter.js +4 -0
  116. package/dist/site-templates/SiteLayout.d.ts +14 -0
  117. package/dist/site-templates/SiteLayout.js +6 -0
  118. package/dist/site-templates/TopNav.d.ts +10 -0
  119. package/dist/site-templates/TopNav.js +8 -0
  120. package/dist/site-templates/blogControls.d.ts +19 -0
  121. package/dist/site-templates/blogControls.js +37 -0
  122. package/dist/site-templates/codeBlock.d.ts +9 -0
  123. package/dist/site-templates/codeBlock.js +31 -0
  124. package/dist/site-templates/content-styles.css +410 -0
  125. package/dist/site-templates/contentIndex.d.ts +65 -0
  126. package/dist/site-templates/contentIndex.js +181 -0
  127. package/dist/site-templates/contentUi.d.ts +14 -0
  128. package/dist/site-templates/contentUi.js +24 -0
  129. package/dist/site-templates/docs-styles.css +259 -0
  130. package/dist/site-templates/docsNavigation.d.ts +18 -0
  131. package/dist/site-templates/docsNavigation.js +50 -0
  132. package/dist/site-templates/index.d.ts +28 -0
  133. package/dist/site-templates/index.js +25 -0
  134. package/dist/site-templates/monetization-styles.css +154 -0
  135. package/dist/site-templates/paywallControls.d.ts +22 -0
  136. package/dist/site-templates/paywallControls.js +9 -0
  137. package/dist/site-templates/routing.d.ts +12 -0
  138. package/dist/site-templates/routing.js +36 -0
  139. package/dist/site-templates/solanaAtaSetup.d.ts +11 -0
  140. package/dist/site-templates/solanaAtaSetup.js +38 -0
  141. package/dist/site-templates/solanaMicropayments.d.ts +65 -0
  142. package/dist/site-templates/solanaMicropayments.js +115 -0
  143. package/dist/site-templates/styles.css +332 -0
  144. package/dist/site-templates/tipControls.d.ts +24 -0
  145. package/dist/site-templates/tipControls.js +43 -0
  146. package/dist/site-templates/tocExtractor.d.ts +16 -0
  147. package/dist/site-templates/tocExtractor.js +58 -0
  148. package/dist/site-templates/tocScrollSpy.d.ts +16 -0
  149. package/dist/site-templates/tocScrollSpy.js +37 -0
  150. package/dist/templates.d.ts +8 -0
  151. package/dist/templates.js +20 -0
  152. package/package.json +58 -0
@@ -0,0 +1,37 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { useEffect, useState } from "react";
4
+ /**
5
+ * Client-side scroll-spy TOC component.
6
+ *
7
+ * Uses IntersectionObserver to highlight the current section heading.
8
+ * Renders the same link structure as the static TOC in DocArticleTemplate
9
+ * but adds `cedros-site__toc-link--active` to the visible heading.
10
+ */
11
+ export function TocScrollSpy({ entries }) {
12
+ const [activeId, setActiveId] = useState("");
13
+ useEffect(() => {
14
+ if (entries.length === 0)
15
+ return;
16
+ const ids = entries.map((e) => e.id);
17
+ const elements = ids
18
+ .map((id) => document.getElementById(id))
19
+ .filter((el) => el !== null);
20
+ if (elements.length === 0)
21
+ return;
22
+ const observer = new IntersectionObserver((observed) => {
23
+ for (const entry of observed) {
24
+ if (entry.isIntersecting) {
25
+ setActiveId(entry.target.id);
26
+ }
27
+ }
28
+ }, { rootMargin: "-10% 0px -80% 0px" });
29
+ for (const el of elements)
30
+ observer.observe(el);
31
+ return () => observer.disconnect();
32
+ }, [entries]);
33
+ return (_jsx("nav", { className: "cedros-site__toc-links", "aria-label": "Table of contents", children: entries.map((entry) => {
34
+ const isActive = entry.id === activeId;
35
+ return (_jsx("a", { href: `#${entry.id}`, className: `cedros-site__toc-link cedros-site__toc-link--depth-${entry.depth ?? 2}${isActive ? " cedros-site__toc-link--active" : ""}`, "aria-current": isActive ? "true" : undefined, children: entry.label }, entry.id));
36
+ }) }));
37
+ }
@@ -0,0 +1,8 @@
1
+ export type DefaultPageKey = "home" | "about" | "contact" | "docs" | "blog" | "privacy-policy" | "terms-of-service" | "not-found";
2
+ export interface PageTemplateContract {
3
+ key: DefaultPageKey;
4
+ title: string;
5
+ route: string;
6
+ section: "core" | "content" | "legal";
7
+ }
8
+ export declare const defaultPageTemplates: PageTemplateContract[];
@@ -0,0 +1,20 @@
1
+ export const defaultPageTemplates = [
2
+ { key: "home", title: "Home", route: "/", section: "core" },
3
+ { key: "about", title: "About", route: "/about", section: "core" },
4
+ { key: "contact", title: "Contact", route: "/contact", section: "core" },
5
+ { key: "docs", title: "Docs", route: "/docs", section: "content" },
6
+ { key: "blog", title: "Blog", route: "/blog", section: "content" },
7
+ {
8
+ key: "privacy-policy",
9
+ title: "Privacy Policy",
10
+ route: "/privacy-policy",
11
+ section: "legal"
12
+ },
13
+ {
14
+ key: "terms-of-service",
15
+ title: "Terms of Service",
16
+ route: "/terms-of-service",
17
+ section: "legal"
18
+ },
19
+ { key: "not-found", title: "Not Found", route: "/404", section: "core" }
20
+ ];
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "@cedros/data-react",
3
+ "version": "0.1.0",
4
+ "description": "React components, page templates, and Next.js integration for cedros-data",
5
+ "type": "module",
6
+ "main": "./dist/react/index.js",
7
+ "types": "./dist/react/index.d.ts",
8
+ "files": [
9
+ "dist",
10
+ "README.md",
11
+ "CHANGELOG.md"
12
+ ],
13
+ "exports": {
14
+ ".": {
15
+ "types": "./dist/react/index.d.ts",
16
+ "import": "./dist/react/index.js"
17
+ },
18
+ "./server": {
19
+ "types": "./dist/react/server.d.ts",
20
+ "import": "./dist/react/server.js"
21
+ },
22
+ "./types": {
23
+ "types": "./dist/react/types.d.ts",
24
+ "import": "./dist/react/types.js"
25
+ },
26
+ "./admin": {
27
+ "types": "./dist/admin/index.d.ts",
28
+ "import": "./dist/admin/index.js"
29
+ },
30
+ "./admin/styles.css": "./dist/admin/styles.css",
31
+ "./site-templates": {
32
+ "types": "./dist/site-templates/index.d.ts",
33
+ "import": "./dist/site-templates/index.js"
34
+ },
35
+ "./site-templates/styles.css": "./dist/site-templates/styles.css",
36
+ "./templates": {
37
+ "types": "./dist/templates.d.ts",
38
+ "import": "./dist/templates.js"
39
+ }
40
+ },
41
+ "peerDependencies": {
42
+ "react": "^18.0.0 || ^19.0.0",
43
+ "react-dom": "^18.0.0 || ^19.0.0"
44
+ },
45
+ "dependencies": {
46
+ "@solana/spl-token": "^0.4.0",
47
+ "@solana/web3.js": "^1.98.4",
48
+ "highlight.js": "^11.11.1",
49
+ "react-markdown": "^10.1.0",
50
+ "rehype-autolink-headings": "^7.1.0",
51
+ "rehype-highlight": "^7.0.2",
52
+ "rehype-slug": "^6.0.0",
53
+ "remark-gfm": "^4.0.1",
54
+ "remark-github-blockquote-alert": "^1.3.1",
55
+ "remark-parse": "^11.0.0",
56
+ "unified": "^11.0.5"
57
+ }
58
+ }