@terra-symposium/docs 0.0.0-stage → 0.1.17

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 (241) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +72 -2
  3. package/lib-dist/Docs.d.ts +22 -0
  4. package/lib-dist/Docs.d.ts.map +1 -0
  5. package/lib-dist/Docs.js +60 -0
  6. package/lib-dist/Docs.js.map +1 -0
  7. package/lib-dist/LocalDocsWorkspace.d.ts +30 -0
  8. package/lib-dist/LocalDocsWorkspace.d.ts.map +1 -0
  9. package/lib-dist/LocalDocsWorkspace.js +148 -0
  10. package/lib-dist/LocalDocsWorkspace.js.map +1 -0
  11. package/lib-dist/SiteLayout.d.ts +30 -0
  12. package/lib-dist/SiteLayout.d.ts.map +1 -0
  13. package/lib-dist/SiteLayout.js +34 -0
  14. package/lib-dist/SiteLayout.js.map +1 -0
  15. package/lib-dist/StaticWorkspace.d.ts +21 -0
  16. package/lib-dist/StaticWorkspace.d.ts.map +1 -0
  17. package/lib-dist/StaticWorkspace.js +179 -0
  18. package/lib-dist/StaticWorkspace.js.map +1 -0
  19. package/lib-dist/_Toolbar.d.ts +7 -0
  20. package/lib-dist/_Toolbar.d.ts.map +1 -0
  21. package/lib-dist/_Toolbar.js +85 -0
  22. package/lib-dist/_Toolbar.js.map +1 -0
  23. package/lib-dist/blocks.d.ts +23 -0
  24. package/lib-dist/blocks.d.ts.map +1 -0
  25. package/lib-dist/blocks.js +321 -0
  26. package/lib-dist/blocks.js.map +1 -0
  27. package/lib-dist/docs-catalog.d.ts +5 -0
  28. package/lib-dist/docs-catalog.d.ts.map +1 -0
  29. package/lib-dist/docs-catalog.js +38 -0
  30. package/lib-dist/docs-catalog.js.map +1 -0
  31. package/lib-dist/docs-style.css +31 -0
  32. package/lib-dist/fonts/Avara-Bold.woff2 +0 -0
  33. package/lib-dist/fonts/Avara-BoldItalic.woff2 +0 -0
  34. package/lib-dist/fonts/OFL-1.1.txt +93 -0
  35. package/lib-dist/fonts/README.md +5 -0
  36. package/lib-dist/host-runtime.d.ts +5 -0
  37. package/lib-dist/host-runtime.d.ts.map +1 -0
  38. package/lib-dist/host-runtime.js +21 -0
  39. package/lib-dist/host-runtime.js.map +1 -0
  40. package/lib-dist/host.d.ts +170 -0
  41. package/lib-dist/host.d.ts.map +1 -0
  42. package/lib-dist/host.js +2 -0
  43. package/lib-dist/host.js.map +1 -0
  44. package/lib-dist/index.d.ts +35 -0
  45. package/lib-dist/index.d.ts.map +1 -0
  46. package/lib-dist/index.js +28 -0
  47. package/lib-dist/index.js.map +1 -0
  48. package/lib-dist/markdown-model.d.ts +7 -0
  49. package/lib-dist/markdown-model.d.ts.map +1 -0
  50. package/lib-dist/markdown-model.js +181 -0
  51. package/lib-dist/markdown-model.js.map +1 -0
  52. package/lib-dist/markdown.d.ts +3 -0
  53. package/lib-dist/markdown.d.ts.map +1 -0
  54. package/lib-dist/markdown.js +83 -0
  55. package/lib-dist/markdown.js.map +1 -0
  56. package/lib-dist/navigation.d.ts +17 -0
  57. package/lib-dist/navigation.d.ts.map +1 -0
  58. package/lib-dist/navigation.js +9 -0
  59. package/lib-dist/navigation.js.map +1 -0
  60. package/lib-dist/schema.d.ts +135 -0
  61. package/lib-dist/schema.d.ts.map +1 -0
  62. package/lib-dist/schema.js +55 -0
  63. package/lib-dist/schema.js.map +1 -0
  64. package/lib-dist/style.css +1 -0
  65. package/lib-dist/terra/Workspace.d.ts +5 -0
  66. package/lib-dist/terra/Workspace.d.ts.map +1 -0
  67. package/lib-dist/terra/Workspace.js +9 -0
  68. package/lib-dist/terra/Workspace.js.map +1 -0
  69. package/lib-dist/terra/editor/TerraContentEditor.d.ts +10 -0
  70. package/lib-dist/terra/editor/TerraContentEditor.d.ts.map +1 -0
  71. package/lib-dist/terra/editor/TerraContentEditor.js +47 -0
  72. package/lib-dist/terra/editor/TerraContentEditor.js.map +1 -0
  73. package/lib-dist/terra/editor/_blocks.d.ts +71 -0
  74. package/lib-dist/terra/editor/_blocks.d.ts.map +1 -0
  75. package/lib-dist/terra/editor/_blocks.js +110 -0
  76. package/lib-dist/terra/editor/_blocks.js.map +1 -0
  77. package/lib-dist/terra/editor/docs/_Callout.d.ts +14 -0
  78. package/lib-dist/terra/editor/docs/_Callout.d.ts.map +1 -0
  79. package/lib-dist/terra/editor/docs/_Callout.js +41 -0
  80. package/lib-dist/terra/editor/docs/_Callout.js.map +1 -0
  81. package/lib-dist/terra/editor/docs/_CodeBlock.d.ts +39 -0
  82. package/lib-dist/terra/editor/docs/_CodeBlock.d.ts.map +1 -0
  83. package/lib-dist/terra/editor/docs/_CodeBlock.js +494 -0
  84. package/lib-dist/terra/editor/docs/_CodeBlock.js.map +1 -0
  85. package/lib-dist/terra/editor/docs/_DocsCode.d.ts +14 -0
  86. package/lib-dist/terra/editor/docs/_DocsCode.d.ts.map +1 -0
  87. package/lib-dist/terra/editor/docs/_DocsCode.js +95 -0
  88. package/lib-dist/terra/editor/docs/_DocsCode.js.map +1 -0
  89. package/lib-dist/terra/editor/docs/_DocsImage.d.ts +18 -0
  90. package/lib-dist/terra/editor/docs/_DocsImage.d.ts.map +1 -0
  91. package/lib-dist/terra/editor/docs/_DocsImage.js +62 -0
  92. package/lib-dist/terra/editor/docs/_DocsImage.js.map +1 -0
  93. package/lib-dist/terra/editor/docs/_Embed.d.ts +15 -0
  94. package/lib-dist/terra/editor/docs/_Embed.d.ts.map +1 -0
  95. package/lib-dist/terra/editor/docs/_Embed.js +27 -0
  96. package/lib-dist/terra/editor/docs/_Embed.js.map +1 -0
  97. package/lib-dist/terra/editor/docs/_Math.d.ts +31 -0
  98. package/lib-dist/terra/editor/docs/_Math.d.ts.map +1 -0
  99. package/lib-dist/terra/editor/docs/_Math.js +126 -0
  100. package/lib-dist/terra/editor/docs/_Math.js.map +1 -0
  101. package/lib-dist/terra/editor/docs/_Nodes.d.ts +15 -0
  102. package/lib-dist/terra/editor/docs/_Nodes.d.ts.map +1 -0
  103. package/lib-dist/terra/editor/docs/_Nodes.js +52 -0
  104. package/lib-dist/terra/editor/docs/_Nodes.js.map +1 -0
  105. package/lib-dist/terra/editor/docs/_Raw.d.ts +15 -0
  106. package/lib-dist/terra/editor/docs/_Raw.d.ts.map +1 -0
  107. package/lib-dist/terra/editor/docs/_Raw.js +26 -0
  108. package/lib-dist/terra/editor/docs/_Raw.js.map +1 -0
  109. package/lib-dist/terra/editor/docs/_Table.d.ts +12 -0
  110. package/lib-dist/terra/editor/docs/_Table.d.ts.map +1 -0
  111. package/lib-dist/terra/editor/docs/_Table.js +71 -0
  112. package/lib-dist/terra/editor/docs/_Table.js.map +1 -0
  113. package/lib-dist/terra/editor/docs/_Tabs.d.ts +14 -0
  114. package/lib-dist/terra/editor/docs/_Tabs.d.ts.map +1 -0
  115. package/lib-dist/terra/editor/docs/_Tabs.js +104 -0
  116. package/lib-dist/terra/editor/docs/_Tabs.js.map +1 -0
  117. package/lib-dist/terra/editor/docs/_TsDocs.d.ts +15 -0
  118. package/lib-dist/terra/editor/docs/_TsDocs.d.ts.map +1 -0
  119. package/lib-dist/terra/editor/docs/_TsDocs.js +81 -0
  120. package/lib-dist/terra/editor/docs/_TsDocs.js.map +1 -0
  121. package/lib-dist/terra/editor/docs/_math_inline.d.ts +14 -0
  122. package/lib-dist/terra/editor/docs/_math_inline.d.ts.map +1 -0
  123. package/lib-dist/terra/editor/docs/_math_inline.js +30 -0
  124. package/lib-dist/terra/editor/docs/_math_inline.js.map +1 -0
  125. package/lib-dist/terra/editor/docs/heading.d.ts +23 -0
  126. package/lib-dist/terra/editor/docs/heading.d.ts.map +1 -0
  127. package/lib-dist/terra/editor/docs/heading.js +60 -0
  128. package/lib-dist/terra/editor/docs/heading.js.map +1 -0
  129. package/lib-dist/terra/editor/docs/index.d.ts +13 -0
  130. package/lib-dist/terra/editor/docs/index.d.ts.map +1 -0
  131. package/lib-dist/terra/editor/docs/index.js +14 -0
  132. package/lib-dist/terra/editor/docs/index.js.map +1 -0
  133. package/lib-dist/terra/editor/types.d.ts +40 -0
  134. package/lib-dist/terra/editor/types.d.ts.map +1 -0
  135. package/lib-dist/terra/editor/types.js +11 -0
  136. package/lib-dist/terra/editor/types.js.map +1 -0
  137. package/lib-dist/terra/flow/Nodes.d.ts +78 -0
  138. package/lib-dist/terra/flow/Nodes.d.ts.map +1 -0
  139. package/lib-dist/terra/flow/Nodes.js +912 -0
  140. package/lib-dist/terra/flow/Nodes.js.map +1 -0
  141. package/lib-dist/terra/flow/_chrome.d.ts +267 -0
  142. package/lib-dist/terra/flow/_chrome.d.ts.map +1 -0
  143. package/lib-dist/terra/flow/_chrome.js +798 -0
  144. package/lib-dist/terra/flow/_chrome.js.map +1 -0
  145. package/lib-dist/terra/flow/_layout.d.ts +30 -0
  146. package/lib-dist/terra/flow/_layout.d.ts.map +1 -0
  147. package/lib-dist/terra/flow/_layout.js +53 -0
  148. package/lib-dist/terra/flow/_layout.js.map +1 -0
  149. package/lib-dist/terra/flow/menuContext.d.ts +13 -0
  150. package/lib-dist/terra/flow/menuContext.d.ts.map +1 -0
  151. package/lib-dist/terra/flow/menuContext.js +10 -0
  152. package/lib-dist/terra/flow/menuContext.js.map +1 -0
  153. package/lib-dist/terra/flow/powerSource.d.ts +16 -0
  154. package/lib-dist/terra/flow/powerSource.d.ts.map +1 -0
  155. package/lib-dist/terra/flow/powerSource.js +59 -0
  156. package/lib-dist/terra/flow/powerSource.js.map +1 -0
  157. package/lib-dist/terra/pages/docs/_attachments.d.ts +20 -0
  158. package/lib-dist/terra/pages/docs/_attachments.d.ts.map +1 -0
  159. package/lib-dist/terra/pages/docs/_attachments.js +904 -0
  160. package/lib-dist/terra/pages/docs/_attachments.js.map +1 -0
  161. package/lib-dist/terra/pages/docs/_blocks.d.ts +48 -0
  162. package/lib-dist/terra/pages/docs/_blocks.d.ts.map +1 -0
  163. package/lib-dist/terra/pages/docs/_blocks.js +192 -0
  164. package/lib-dist/terra/pages/docs/_blocks.js.map +1 -0
  165. package/lib-dist/terra/pages/docs/_custom.d.ts +5 -0
  166. package/lib-dist/terra/pages/docs/_custom.d.ts.map +1 -0
  167. package/lib-dist/terra/pages/docs/_custom.js +6 -0
  168. package/lib-dist/terra/pages/docs/_custom.js.map +1 -0
  169. package/lib-dist/terra/pages/docs/_editable.d.ts +61 -0
  170. package/lib-dist/terra/pages/docs/_editable.d.ts.map +1 -0
  171. package/lib-dist/terra/pages/docs/_editable.js +404 -0
  172. package/lib-dist/terra/pages/docs/_editable.js.map +1 -0
  173. package/lib-dist/terra/pages/docs/_export-dialog.d.ts +19 -0
  174. package/lib-dist/terra/pages/docs/_export-dialog.d.ts.map +1 -0
  175. package/lib-dist/terra/pages/docs/_export-dialog.js +78 -0
  176. package/lib-dist/terra/pages/docs/_export-dialog.js.map +1 -0
  177. package/lib-dist/terra/pages/docs/_helpers.d.ts +395 -0
  178. package/lib-dist/terra/pages/docs/_helpers.d.ts.map +1 -0
  179. package/lib-dist/terra/pages/docs/_helpers.js +911 -0
  180. package/lib-dist/terra/pages/docs/_helpers.js.map +1 -0
  181. package/lib-dist/terra/pages/docs/_icons.d.ts +20 -0
  182. package/lib-dist/terra/pages/docs/_icons.d.ts.map +1 -0
  183. package/lib-dist/terra/pages/docs/_icons.js +29 -0
  184. package/lib-dist/terra/pages/docs/_icons.js.map +1 -0
  185. package/lib-dist/terra/pages/docs/_main.d.ts +51 -0
  186. package/lib-dist/terra/pages/docs/_main.d.ts.map +1 -0
  187. package/lib-dist/terra/pages/docs/_main.js +1959 -0
  188. package/lib-dist/terra/pages/docs/_main.js.map +1 -0
  189. package/lib-dist/terra/pages/docs/_sidebar.d.ts +42 -0
  190. package/lib-dist/terra/pages/docs/_sidebar.d.ts.map +1 -0
  191. package/lib-dist/terra/pages/docs/_sidebar.js +2450 -0
  192. package/lib-dist/terra/pages/docs/_sidebar.js.map +1 -0
  193. package/lib-dist/terra/pages/docs/_toolbar.d.ts +23 -0
  194. package/lib-dist/terra/pages/docs/_toolbar.d.ts.map +1 -0
  195. package/lib-dist/terra/pages/docs/_toolbar.js +1539 -0
  196. package/lib-dist/terra/pages/docs/_toolbar.js.map +1 -0
  197. package/lib-dist/terra/pages/docs/_tree.d.ts +178 -0
  198. package/lib-dist/terra/pages/docs/_tree.d.ts.map +1 -0
  199. package/lib-dist/terra/pages/docs/_tree.js +1168 -0
  200. package/lib-dist/terra/pages/docs/_tree.js.map +1 -0
  201. package/lib-dist/terra/regex.mjs +398 -0
  202. package/lib-dist/terra/runtime/action-proxy.d.ts +5 -0
  203. package/lib-dist/terra/runtime/action-proxy.d.ts.map +1 -0
  204. package/lib-dist/terra/runtime/action-proxy.js +19 -0
  205. package/lib-dist/terra/runtime/action-proxy.js.map +1 -0
  206. package/lib-dist/terra/runtime/content.d.ts +150 -0
  207. package/lib-dist/terra/runtime/content.d.ts.map +1 -0
  208. package/lib-dist/terra/runtime/content.js +1171 -0
  209. package/lib-dist/terra/runtime/content.js.map +1 -0
  210. package/lib-dist/terra/runtime/leaf.d.ts +5 -0
  211. package/lib-dist/terra/runtime/leaf.d.ts.map +1 -0
  212. package/lib-dist/terra/runtime/leaf.js +13 -0
  213. package/lib-dist/terra/runtime/leaf.js.map +1 -0
  214. package/lib-dist/terra/runtime/nodes.d.ts +112 -0
  215. package/lib-dist/terra/runtime/nodes.d.ts.map +1 -0
  216. package/lib-dist/terra/runtime/nodes.js +534 -0
  217. package/lib-dist/terra/runtime/nodes.js.map +1 -0
  218. package/lib-dist/terra/runtime/runtime.d.ts +25 -0
  219. package/lib-dist/terra/runtime/runtime.d.ts.map +1 -0
  220. package/lib-dist/terra/runtime/runtime.js +50 -0
  221. package/lib-dist/terra/runtime/runtime.js.map +1 -0
  222. package/lib-dist/terra/runtime/shared.d.ts +35 -0
  223. package/lib-dist/terra/runtime/shared.d.ts.map +1 -0
  224. package/lib-dist/terra/runtime/shared.js +79 -0
  225. package/lib-dist/terra/runtime/shared.js.map +1 -0
  226. package/lib-dist/terra/runtime/types.d.ts +266 -0
  227. package/lib-dist/terra/runtime/types.d.ts.map +1 -0
  228. package/lib-dist/terra/runtime/types.js +18 -0
  229. package/lib-dist/terra/runtime/types.js.map +1 -0
  230. package/lib-dist/terra/runtime/ui.d.ts +31 -0
  231. package/lib-dist/terra/runtime/ui.d.ts.map +1 -0
  232. package/lib-dist/terra/runtime/ui.js +16 -0
  233. package/lib-dist/terra/runtime/ui.js.map +1 -0
  234. package/lib-dist/workspace.d.ts +78 -0
  235. package/lib-dist/workspace.d.ts.map +1 -0
  236. package/lib-dist/workspace.js +151 -0
  237. package/lib-dist/workspace.js.map +1 -0
  238. package/package.json +90 -3
  239. package/src/SiteLayout.astro +38 -0
  240. package/src/navigation.tsx +47 -0
  241. package/src/style.css +733 -0
@@ -0,0 +1,34 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { colors } from '@terra-symposium/styling';
3
+ import { DocsToolbarFrame } from '@terra-symposium/styling/ui';
4
+ import { DocsWorkspaceNavigation, DocsWorkspaceToolbar, DocsAttachmentsView } from './workspace.js';
5
+ import { DocsStaticWorkspace } from './StaticWorkspace.js';
6
+ /** Shared Terra Docs page shell for independent installations and repository guides. */
7
+ export function DocsSiteLayout({ title, homeHref = '/', description, pageTitle, nodes, currentPath, hue = 145, children, sidebarContent, sections, attachments = [], rootPath, markdown, content, capabilities, onEdit, onSave, onHistory, onPublish, remoteProvider, onModeChange, onUpload, treeActions, }) {
8
+ if (markdown !== undefined || content !== undefined) {
9
+ return (_jsx(DocsStaticWorkspace, { title: title, homeHref: homeHref, ...(description ? { description } : {}), ...(pageTitle ? { pageTitle } : {}), nodes: nodes, ...(sections ? { sections } : {}), currentPath: currentPath, ...(rootPath ? { rootPath } : {}), ...(markdown !== undefined ? { markdown } : {}), ...(content !== undefined ? { content } : {}), attachments: attachments }));
10
+ }
11
+ const [accent, neutral] = colors(hue);
12
+ const style = {
13
+ '--terra-docs-accent': `rgb(${accent.light[8]})`,
14
+ ...Object.fromEntries(accent.light.map((value, index) => [`--primary-${index + 1}`, value])),
15
+ ...Object.fromEntries(neutral.light.map((value, index) => [`--secondary-${index + 1}`, value])),
16
+ };
17
+ const workspaceSections = sections ??
18
+ nodes.map((node) => ({
19
+ title: node.title,
20
+ groups: [
21
+ {
22
+ title: node.title,
23
+ leaves: (node.children?.length ? node.children : [node])
24
+ .filter((entry) => entry.href)
25
+ .map((entry) => ({ title: entry.title, href: entry.href })),
26
+ },
27
+ ],
28
+ }));
29
+ const activeLeaf = workspaceSections
30
+ .flatMap((section) => section.groups.flatMap((group) => group.leaves))
31
+ .find((leaf) => leaf.href === currentPath);
32
+ return (_jsx("div", { className: "terra-docs-site light", style: style, children: _jsxs("div", { className: "terra-docs-site-layout", children: [_jsxs("aside", { className: "terra-docs-site-sidebar", children: [_jsxs("header", { className: "terra-docs-site-header", children: [_jsx("a", { className: "terra-docs-site-brand", href: homeHref, children: title }), description && _jsx("span", { className: "terra-docs-site-description", children: description })] }), _jsx(DocsWorkspaceNavigation, { sections: workspaceSections, currentPath: currentPath, actions: treeActions }), sidebarContent] }), _jsxs("main", { className: "terra-docs-site-main", children: [_jsxs("header", { className: "terra-docs-document-header", children: [_jsx("h1", { children: pageTitle ?? activeLeaf?.title ?? title }), activeLeaf?.description && (_jsx("p", { className: "terra-docs-site-metadata", children: activeLeaf.description })), activeLeaf?.updatedAt && (_jsxs("p", { className: "terra-docs-site-metadata", children: ["Updated ", activeLeaf.updatedAt] }))] }), _jsxs(DocsToolbarFrame, { children: [_jsx(DocsWorkspaceToolbar, { attachments: attachments, capabilities: capabilities, onEdit: onEdit, onSave: onSave, onHistory: onHistory, onPublish: onPublish, remoteProvider: remoteProvider, onModeChange: onModeChange }), _jsx("div", { className: "terra-docs-formatting-slot" })] }), _jsx(DocsAttachmentsView, { attachments: attachments, onUpload: onUpload }), _jsx("article", { className: "terra-docs-site-article", children: children })] })] }) }));
33
+ }
34
+ //# sourceMappingURL=SiteLayout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SiteLayout.js","sourceRoot":"","sources":["../src/SiteLayout.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ import type { DocsAttachment, DocsSection } from './workspace.js';
2
+ import type { DocsNavNode } from './navigation.js';
3
+ import type { JSX } from 'react';
4
+ type Props = {
5
+ title: string;
6
+ homeHref?: string;
7
+ description?: string;
8
+ pageTitle?: string;
9
+ nodes?: DocsNavNode[];
10
+ sections?: DocsSection[];
11
+ currentPath: string;
12
+ rootPath?: string;
13
+ markdown?: string;
14
+ content?: unknown;
15
+ attachments?: DocsAttachment[];
16
+ updatedAt?: string;
17
+ };
18
+ /** Adapts a host's local Markdown pages to the original, read-only Terra Docs workspace. */
19
+ export declare function DocsStaticWorkspace({ title, homeHref, description, pageTitle, nodes, sections, currentPath, rootPath, markdown, content, attachments, updatedAt, }: Props): JSX.Element;
20
+ export {};
21
+ //# sourceMappingURL=StaticWorkspace.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticWorkspace.d.ts","sourceRoot":"","sources":["../src/StaticWorkspace.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAY,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AACnD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,KAAK,KAAK,GAAG;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,QAAQ,CAAC,EAAE,WAAW,EAAE,CAAC;IACzB,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAqDF,4FAA4F;AAC5F,wBAAgB,mBAAmB,CAAC,EACnC,KAAK,EACL,QAAc,EACd,WAAW,EACX,SAAS,EACT,KAAU,EACV,QAAQ,EACR,WAAW,EACX,QAAc,EACd,QAAa,EACb,OAAO,EACP,WAAgB,EAChB,SAAS,GACT,EAAE,KAAK,GAAG,GAAG,CAAC,OAAO,CAgHrB"}
@@ -0,0 +1,179 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { markdownToDocsValue } from './markdown-model.js';
3
+ import { TerraDocsWorkspace } from './terra/Workspace.js';
4
+ const slug = (value) => value.trim().toLowerCase().replace(/[^a-z0-9]+/g, '-').replace(/^-|-$/g, '') || 'index';
5
+ const routeKey = (value) => {
6
+ try {
7
+ const url = new URL(value, 'http://terra-docs.local');
8
+ return `${url.pathname.replace(/\/$/, '') || '/'}${url.hash}`;
9
+ }
10
+ catch {
11
+ return value;
12
+ }
13
+ };
14
+ const storageKey = (value) => {
15
+ try {
16
+ const url = new URL(value, 'http://terra-docs.local');
17
+ return (url.pathname.replace(/^\/+|\/+$/g, '') || 'index.mdx') + url.hash;
18
+ }
19
+ catch {
20
+ return value.replace(/^\/+|\/+$/g, '') || 'index.mdx';
21
+ }
22
+ };
23
+ function sectionsFromNavigation(nodes) {
24
+ const toLeaf = (node) => node.href ? ({
25
+ ...(node.id ? { id: node.id } : {}),
26
+ ...(node.path ? { path: node.path } : {}),
27
+ title: node.title,
28
+ href: node.href,
29
+ ...(node.description ? { description: node.description } : {}),
30
+ ...(node.updatedAt ? { updatedAt: node.updatedAt } : {}),
31
+ ...(node.attachments ? { attachments: node.attachments } : {}),
32
+ }) : null;
33
+ return nodes.map(section => {
34
+ const children = section.children ?? [];
35
+ const nestedGroups = children.some(node => Boolean(node.children?.length));
36
+ const groups = nestedGroups
37
+ ? children.map(group => ({
38
+ ...(group.id ? { id: group.id } : {}),
39
+ ...(group.path ? { path: group.path } : {}),
40
+ title: group.title,
41
+ leaves: (group.children ?? []).map(toLeaf).filter((leaf) => leaf !== null),
42
+ }))
43
+ : [{
44
+ title: section.title,
45
+ leaves: (children.length ? children : [section]).map(toLeaf).filter((leaf) => leaf !== null),
46
+ }];
47
+ return {
48
+ ...(section.id ? { id: section.id } : {}),
49
+ ...(section.path ? { path: section.path } : {}),
50
+ title: section.title,
51
+ groups,
52
+ };
53
+ });
54
+ }
55
+ /** Adapts a host's local Markdown pages to the original, read-only Terra Docs workspace. */
56
+ export function DocsStaticWorkspace({ title, homeHref = '/', description, pageTitle, nodes = [], sections, currentPath, rootPath = '/', markdown = '', content, attachments = [], updatedAt, }) {
57
+ const workspaceSections = sections ?? sectionsFromNavigation(nodes);
58
+ const currentKey = routeKey(currentPath);
59
+ const allLeaves = workspaceSections.flatMap((section, sectionIndex) => section.groups.flatMap((group, groupIndex) => group.leaves.map((leaf, leafIndex) => ({ section, group, leaf, sectionIndex, groupIndex, leafIndex }))));
60
+ const active = allLeaves.find(item => routeKey(item.leaf.href) === currentKey) ?? allLeaves.find(item => routeKey(item.leaf.href) === routeKey(rootPath)) ?? allLeaves[0];
61
+ const currentAttachments = active?.leaf.attachments ?? attachments;
62
+ const docPath = active?.leaf.href ?? currentPath;
63
+ const docContent = Array.isArray(content) ? content : markdownToDocsValue(markdown);
64
+ const tree = workspaceSections.map(section => {
65
+ const sectionId = section.id ?? slug(section.title);
66
+ return {
67
+ type: 'branch',
68
+ origName: sectionId,
69
+ title: section.title,
70
+ path: section.path ?? sectionId,
71
+ url: section.groups[0]?.leaves[0]?.href ?? rootPath,
72
+ permission: 'read',
73
+ children: section.groups.map(group => {
74
+ const groupId = group.id ?? slug(group.title);
75
+ const groupKey = `${sectionId}/${groupId}`;
76
+ return {
77
+ type: 'branch',
78
+ origName: group.id ?? groupKey,
79
+ title: group.title,
80
+ path: group.path ?? groupKey,
81
+ permission: 'read',
82
+ children: group.leaves.map(leaf => ({
83
+ type: 'leaf',
84
+ origName: leaf.id ?? `${groupKey}/${slug(leaf.title)}`,
85
+ title: leaf.title,
86
+ path: leaf.path ?? storageKey(leaf.href),
87
+ url: leaf.href,
88
+ permission: 'read',
89
+ ...(leaf.description ? { description: leaf.description } : {}),
90
+ ...(leaf.updatedAt ? { updatedAt: leaf.updatedAt } : {}),
91
+ })),
92
+ };
93
+ }),
94
+ };
95
+ });
96
+ const leafForPath = (path) => {
97
+ if (!path)
98
+ return active?.leaf;
99
+ const requestedRoute = routeKey(path);
100
+ const requestedStoragePath = storageKey(path);
101
+ return allLeaves.find(item => routeKey(item.leaf.href) === requestedRoute || storageKey(item.leaf.path ?? item.leaf.href) === requestedStoragePath)?.leaf;
102
+ };
103
+ const hostAttachments = currentAttachments.map((item, index) => ({
104
+ id: String(index),
105
+ name: item.title,
106
+ path: item.href,
107
+ ...(item.type ? { type: item.type } : {}),
108
+ ...(item.size !== undefined ? { size: item.size } : {}),
109
+ }));
110
+ const host = {
111
+ capabilities: { read: true, write: false, reorder: false, attachments: false, export: false, history: false, publish: false },
112
+ rootPath,
113
+ homePath: homeHref,
114
+ siteTitle: title,
115
+ ...(description ? { siteDescription: description } : {}),
116
+ buildRoute(sectionId, groupId, leafId) {
117
+ const found = allLeaves.find(item => (item.section.id ?? slug(item.section.title)) === sectionId && (groupId === undefined || (item.group.id ?? slug(item.group.title)) === groupId) && (leafId === undefined || (item.leaf.id ?? slug(item.leaf.title)) === leafId));
118
+ return found?.leaf.href ?? rootPath;
119
+ },
120
+ resolveRoute(value) {
121
+ const match = allLeaves.find(item => routeKey(item.leaf.href) === routeKey(value)) ?? active;
122
+ return {
123
+ sectionId: match?.section.id ?? slug(match?.section.title ?? 'index'),
124
+ groupId: match?.group.id ?? slug(match?.group.title ?? 'index'),
125
+ leafId: match?.leaf.id ?? slug(match?.leaf.title ?? 'index'),
126
+ targetId: match?.leaf.id ?? slug(match?.leaf.title ?? 'index'),
127
+ pathname: match?.leaf.href ?? rootPath,
128
+ };
129
+ },
130
+ routePath(path) {
131
+ if (/^(?:https?:)?\/\//i.test(path) || path.startsWith('/'))
132
+ return path;
133
+ return `${rootPath.replace(/\/$/, '')}/${path}`;
134
+ },
135
+ async invoke(operation, input) {
136
+ let data;
137
+ if (operation === 'read.doc.list') {
138
+ const request = input;
139
+ if (request?.type === 'nav')
140
+ data = tree;
141
+ else if (request?.type === 'folderEntries') {
142
+ const folder = (request.path ?? '').replace(/^\/+|\/+$/g, '');
143
+ data = allLeaves.filter(item => !folder || (item.leaf.path ?? item.leaf.href).replace(/^\/+/, '').startsWith(`${folder}/`)).map(item => item.leaf.path ?? item.leaf.href);
144
+ }
145
+ else
146
+ data = [];
147
+ }
148
+ else if (operation === 'read.doc.get') {
149
+ const request = input;
150
+ const selected = leafForPath(request?.path) ?? active?.leaf;
151
+ if (selected && typeof window !== 'undefined' && routeKey(selected.href) !== routeKey(currentPath)) {
152
+ window.location.assign(selected.href);
153
+ }
154
+ data = selected ? { path: selected.path ?? selected.href, pathname: selected.href, title: selected.title, description: selected.description, updatedAt: selected.updatedAt ?? updatedAt, source: markdown, content: docContent } : null;
155
+ }
156
+ else if (operation === 'read.doc.attachments') {
157
+ data = hostAttachments;
158
+ }
159
+ else if (operation === 'read.util.pathname') {
160
+ data = currentPath;
161
+ }
162
+ else if (operation === 'read.util.node') {
163
+ data = { title: active?.leaf.title ?? pageTitle ?? title, origName: slug(active?.leaf.title ?? pageTitle ?? title) };
164
+ }
165
+ else if (operation === 'read.tsdocs') {
166
+ data = { scopes: [] };
167
+ }
168
+ else if (operation === 'read.asset.get') {
169
+ data = new ArrayBuffer(0);
170
+ }
171
+ else {
172
+ return { error: new Error(`The local Docs provider does not implement ${operation}.`) };
173
+ }
174
+ return { data: data };
175
+ },
176
+ };
177
+ return _jsx(TerraDocsWorkspace, { host: host, tree: tree, pathname: currentPath, permission: "read", path: active?.leaf.path ?? docPath, title: pageTitle ?? active?.leaf.title ?? title, ...(active?.leaf.description ?? description ? { description: active?.leaf.description ?? description } : {}), ...(active?.leaf.updatedAt ?? updatedAt ? { updatedAt: active?.leaf.updatedAt ?? updatedAt } : {}), source: markdown, content: docContent });
178
+ }
179
+ //# sourceMappingURL=StaticWorkspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"StaticWorkspace.js","sourceRoot":"","sources":["../src/StaticWorkspace.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ import type { DocsBlockOptions } from './blocks.js';
2
+ import type { JSX } from 'react';
3
+ /** Terra's style dropdown and Carbon formatting controls, without website UI dependencies. */
4
+ export declare function Toolbar({ blocks }: {
5
+ blocks?: DocsBlockOptions | undefined;
6
+ }): JSX.Element;
7
+ //# sourceMappingURL=_Toolbar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_Toolbar.d.ts","sourceRoot":"","sources":["../src/_Toolbar.tsx"],"names":[],"mappings":"AA4BA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAEpD,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEjC,8FAA8F;AAC9F,wBAAgB,OAAO,CAAC,EAAE,MAAM,EAAE,EAAE;IAAE,MAAM,CAAC,EAAE,gBAAgB,GAAG,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA+M1F"}
@@ -0,0 +1,85 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Link, Redo, TextBold, TextItalic, TextStrikethrough, TextUnderline, Undo, } from '@carbon/icons-react';
3
+ import { useEditor, useEditorSelector } from '@portabletext/editor';
4
+ import { getActiveStyle, isActiveAnnotation, isActiveDecorator, } from '@portabletext/editor/selectors';
5
+ import { Button, Input, Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from '@terra-symposium/styling/ui';
6
+ import { useEffect, useId, useRef, useState } from 'react';
7
+ import { createPortal } from 'react-dom';
8
+ import { safeLink, schema } from './schema.js';
9
+ import { defaultDocsBlock, enabledDocsBlocks } from './blocks.js';
10
+ /** Terra's style dropdown and Carbon formatting controls, without website UI dependencies. */
11
+ export function Toolbar({ blocks }) {
12
+ const editor = useEditor();
13
+ const snapshot = useEditorSelector(editor, (state) => state);
14
+ const selection = useRef(null);
15
+ const linkDialog = useRef(null);
16
+ const linkId = useId();
17
+ const [linkValue, setLinkValue] = useState('');
18
+ const [linkError, setLinkError] = useState(false);
19
+ const [blockSelection, setBlockSelection] = useState('');
20
+ const [slot, setSlot] = useState(null);
21
+ useEffect(() => setSlot(document.querySelector('.terra-docs-formatting-slot')), []);
22
+ const controls = (_jsxs("div", { className: "terra-docs-toolbar", role: "toolbar", "aria-label": "Editor controls", children: [_jsxs(Select, { value: getActiveStyle(snapshot) ?? 'normal', onValueChange: (style) => {
23
+ if (selection.current)
24
+ editor.send({ type: 'select', at: selection.current });
25
+ editor.send({ type: 'style.toggle', style });
26
+ editor.send({ type: 'focus' });
27
+ }, children: [_jsx(SelectTrigger, { className: "terra-docs-select", "aria-label": "Block type", onPointerDownCapture: () => {
28
+ selection.current = editor.getSnapshot().context.selection;
29
+ }, onKeyDownCapture: () => {
30
+ selection.current = editor.getSnapshot().context.selection;
31
+ }, children: _jsx(SelectValue, { placeholder: "Text" }) }), _jsx(SelectContent, { className: "terra-docs-select-menu", position: "popper", sideOffset: 8, onCloseAutoFocus: (event) => event.preventDefault(), children: schema.styles.map(({ name, title }) => (_jsx(SelectItem, { value: name, className: "terra-docs-select-item", children: title }, name))) })] }), _jsx("span", { className: "terra-docs-toolbar-divider", "aria-hidden": "true" }), [
32
+ { Icon: TextBold, name: 'strong', label: 'Bold' },
33
+ { Icon: TextItalic, name: 'em', label: 'Italic' },
34
+ { Icon: TextUnderline, name: 'underline', label: 'Underline' },
35
+ { Icon: TextStrikethrough, name: 'strike-through', label: 'Strikethrough' },
36
+ ].map(({ Icon, name, label }) => (_jsx(Button, { type: "button", variant: "ghost", size: "xs", "aria-label": label, title: label, "aria-pressed": isActiveDecorator(name)(snapshot), onMouseDown: (event) => event.preventDefault(), onClick: () => {
37
+ editor.send({ type: 'decorator.toggle', decorator: name });
38
+ editor.send({ type: 'focus' });
39
+ }, children: _jsx(Icon, { size: 16, "aria-hidden": "true" }) }, name))), _jsx(Button, { type: "button", variant: "ghost", size: "xs", "aria-label": "Link", title: "Link", "aria-pressed": isActiveAnnotation('link')(snapshot), onMouseDown: (event) => event.preventDefault(), onClick: () => {
40
+ selection.current = editor.getSnapshot().context.selection;
41
+ setLinkValue('');
42
+ setLinkError(false);
43
+ linkDialog.current?.showModal();
44
+ }, children: _jsx(Link, { size: 16, "aria-hidden": "true" }) }), _jsxs(Select, { value: blockSelection, onValueChange: (value) => {
45
+ const type = value;
46
+ if (!type)
47
+ return;
48
+ editor.send({
49
+ type: 'insert.block object',
50
+ blockObject: { name: type, value: defaultDocsBlock(type) },
51
+ placement: 'after',
52
+ });
53
+ setBlockSelection('');
54
+ editor.send({ type: 'focus' });
55
+ }, children: [_jsx(SelectTrigger, { "aria-label": "Insert rich block", children: _jsx(SelectValue, { placeholder: "Insert block" }) }), _jsx(SelectContent, { children: enabledDocsBlocks(blocks).map((type) => (_jsx(SelectItem, { value: type, children: type }, type))) })] }), blocks?.inlineMath !== false && (_jsx(Button, { type: "button", variant: "ghost", size: "xs", "aria-label": "Insert inline math", title: "Insert inline math", onClick: () => {
56
+ editor.send({
57
+ type: 'insert.inline object',
58
+ inlineObject: { name: 'math', value: { code: 'E = mc^2', inline: true } },
59
+ });
60
+ editor.send({ type: 'focus' });
61
+ }, children: "\u2211" })), _jsx(Button, { type: "button", variant: "ghost", size: "xs", "aria-label": "Undo", title: "Undo", onMouseDown: (event) => event.preventDefault(), onClick: () => {
62
+ editor.send({ type: 'history.undo' });
63
+ editor.send({ type: 'focus' });
64
+ }, children: _jsx(Undo, { size: 16, "aria-hidden": "true" }) }), _jsx(Button, { type: "button", variant: "ghost", size: "xs", "aria-label": "Redo", title: "Redo", onMouseDown: (event) => event.preventDefault(), onClick: () => {
65
+ editor.send({ type: 'history.redo' });
66
+ editor.send({ type: 'focus' });
67
+ }, children: _jsx(Redo, { size: 16, "aria-hidden": "true" }) }), _jsx("dialog", { ref: linkDialog, className: "terra-docs-link-dialog", "aria-labelledby": `${linkId}-title`, children: _jsxs("form", { onSubmit: (event) => {
68
+ event.preventDefault();
69
+ const href = safeLink(linkValue);
70
+ if (!href) {
71
+ setLinkError(true);
72
+ return;
73
+ }
74
+ if (selection.current)
75
+ editor.send({ type: 'select', at: selection.current });
76
+ editor.send({ type: 'annotation.add', annotation: { name: 'link', value: { href } } });
77
+ linkDialog.current?.close();
78
+ editor.send({ type: 'focus' });
79
+ }, children: [_jsx("h2", { id: `${linkId}-title`, children: "Add link" }), _jsx("label", { htmlFor: `${linkId}-url`, children: "URL" }), _jsx(Input, { id: `${linkId}-url`, autoFocus: true, required: true, value: linkValue, onChange: (event) => setLinkValue(event.currentTarget.value), placeholder: "https://example.com" }), linkError && _jsx("p", { role: "alert", children: "Enter a valid web, email, or relative URL." }), _jsxs("div", { children: [_jsx(Button, { type: "button", variant: "ghost", onClick: () => {
80
+ linkDialog.current?.close();
81
+ editor.send({ type: 'focus' });
82
+ }, children: "Cancel" }), _jsx(Button, { type: "submit", children: "Add link" })] })] }) })] }));
83
+ return slot ? createPortal(controls, slot) : controls;
84
+ }
85
+ //# sourceMappingURL=_Toolbar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_Toolbar.js","sourceRoot":"","sources":["../src/_Toolbar.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type { JSX } from 'react';
2
+ /** The portable Docs members. A host can disable any member without changing stored data. */
3
+ export declare const DOCS_BLOCK_TYPES: readonly ["accordion", "tabs", "table", "callout", "code", "docImage", "embed", "math", "nodes", "raw", "tsDocs"];
4
+ export type DocsBlockType = (typeof DOCS_BLOCK_TYPES)[number];
5
+ export type DocsBlockOptions = Partial<Record<DocsBlockType | 'inlineMath', boolean>>;
6
+ export type RichBlock = {
7
+ _type: string;
8
+ _key?: string;
9
+ markdown?: string;
10
+ [key: string]: unknown;
11
+ };
12
+ export declare function enabledDocsBlocks(options?: DocsBlockOptions): DocsBlockType[];
13
+ export declare const DOCS_BLOCK_FIELDS: Record<DocsBlockType, {
14
+ name: string;
15
+ type: 'string' | 'number' | 'boolean' | 'array' | 'object';
16
+ }[]>;
17
+ export declare function defaultDocsBlock(type: DocsBlockType): RichBlock;
18
+ /** Read-only rendering for every reusable Terra Docs member. Unknown data stays in the value. */
19
+ export declare function DocsRichBlock({ block }: {
20
+ block: RichBlock;
21
+ }): JSX.Element;
22
+ export declare function docsBlockNodes(options?: DocsBlockOptions): import("@portabletext/editor").BlockObject[];
23
+ //# sourceMappingURL=blocks.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"blocks.d.ts","sourceRoot":"","sources":["../src/blocks.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAGjC,6FAA6F;AAC7F,eAAO,MAAM,gBAAgB,mHAYnB,CAAC;AACX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,gBAAgB,CAAC,CAAC,MAAM,CAAC,CAAC;AAC9D,MAAM,MAAM,gBAAgB,GAAG,OAAO,CAAC,MAAM,CAAC,aAAa,GAAG,YAAY,EAAE,OAAO,CAAC,CAAC,CAAC;AACtF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AAEpG,wBAAgB,iBAAiB,CAAC,OAAO,GAAE,gBAAqB,GAAG,aAAa,EAAE,CAEjF;AAED,eAAO,MAAM,iBAAiB,EAAE,MAAM,CACpC,aAAa,EACb;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,OAAO,GAAG,QAAQ,CAAA;CAAE,EAAE,CA8D/E,CAAC;AAeF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,aAAa,GAAG,SAAS,CAE/D;AAoGD,iGAAiG;AACjG,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE;IAAE,KAAK,EAAE,SAAS,CAAA;CAAE,GAAG,GAAG,CAAC,OAAO,CA2H1E;AA+WD,wBAAgB,cAAc,CAAC,OAAO,GAAE,gBAAqB,gDAyB5D"}