@terra-symposium/docs 0.1.71 → 0.1.73

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 (129) hide show
  1. package/README.md +23 -4
  2. package/bin/terra-docs.mjs +187 -0
  3. package/lib-dist/components/NotFound.js +2 -2
  4. package/lib-dist/components/NotFound.js.map +1 -1
  5. package/lib-dist/components/StaticWorkspace.d.ts.map +1 -1
  6. package/lib-dist/components/StaticWorkspace.js +6 -0
  7. package/lib-dist/components/StaticWorkspace.js.map +1 -1
  8. package/lib-dist/components/navigation.d.ts +1 -0
  9. package/lib-dist/components/navigation.d.ts.map +1 -1
  10. package/lib-dist/components/navigation.js.map +1 -1
  11. package/lib-dist/components/terra/Workspace.d.ts.map +1 -1
  12. package/lib-dist/components/terra/Workspace.js.map +1 -1
  13. package/lib-dist/components/terra/editor/TerraContentEditor.d.ts +2 -1
  14. package/lib-dist/components/terra/editor/TerraContentEditor.d.ts.map +1 -1
  15. package/lib-dist/components/terra/editor/TerraContentEditor.js +2 -2
  16. package/lib-dist/components/terra/editor/TerraContentEditor.js.map +1 -1
  17. package/lib-dist/components/terra/editor/_blocks.d.ts.map +1 -1
  18. package/lib-dist/components/terra/editor/_blocks.js +5 -5
  19. package/lib-dist/components/terra/editor/_blocks.js.map +1 -1
  20. package/lib-dist/components/terra/editor/docs/BlockContext.js +1 -1
  21. package/lib-dist/components/terra/editor/docs/BlockContext.js.map +1 -1
  22. package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.js +1 -1
  23. package/lib-dist/components/terra/editor/docs/DocsAttachmentPicker.js.map +1 -1
  24. package/lib-dist/components/terra/editor/docs/TerraToolbar.js +1 -1
  25. package/lib-dist/components/terra/editor/docs/TerraToolbar.js.map +1 -1
  26. package/lib-dist/components/terra/editor/docs/_Callout.js +1 -1
  27. package/lib-dist/components/terra/editor/docs/_Callout.js.map +1 -1
  28. package/lib-dist/components/terra/editor/docs/_CodeBlock.d.ts.map +1 -1
  29. package/lib-dist/components/terra/editor/docs/_CodeBlock.js +4 -5
  30. package/lib-dist/components/terra/editor/docs/_CodeBlock.js.map +1 -1
  31. package/lib-dist/components/terra/editor/docs/_DocsCode.d.ts.map +1 -1
  32. package/lib-dist/components/terra/editor/docs/_DocsCode.js +4 -4
  33. package/lib-dist/components/terra/editor/docs/_DocsCode.js.map +1 -1
  34. package/lib-dist/components/terra/editor/docs/_DocsImage.js +3 -3
  35. package/lib-dist/components/terra/editor/docs/_DocsImage.js.map +1 -1
  36. package/lib-dist/components/terra/editor/docs/_Math.js +3 -3
  37. package/lib-dist/components/terra/editor/docs/_Math.js.map +1 -1
  38. package/lib-dist/components/terra/editor/docs/_Nodes.d.ts.map +1 -1
  39. package/lib-dist/components/terra/editor/docs/_Nodes.js.map +1 -1
  40. package/lib-dist/components/terra/editor/docs/_Table.js +2 -2
  41. package/lib-dist/components/terra/editor/docs/_Table.js.map +1 -1
  42. package/lib-dist/components/terra/editor/docs/_Tabs.js +1 -1
  43. package/lib-dist/components/terra/editor/docs/_Tabs.js.map +1 -1
  44. package/lib-dist/components/terra/editor/docs/_TsDocs.js +1 -1
  45. package/lib-dist/components/terra/editor/docs/_TsDocs.js.map +1 -1
  46. package/lib-dist/components/terra/flow/Nodes.d.ts +1 -2
  47. package/lib-dist/components/terra/flow/Nodes.d.ts.map +1 -1
  48. package/lib-dist/components/terra/flow/Nodes.js +3 -3
  49. package/lib-dist/components/terra/flow/Nodes.js.map +1 -1
  50. package/lib-dist/components/terra/flow/_chrome.d.ts +1 -3
  51. package/lib-dist/components/terra/flow/_chrome.d.ts.map +1 -1
  52. package/lib-dist/components/terra/flow/_chrome.js +5 -5
  53. package/lib-dist/components/terra/flow/_chrome.js.map +1 -1
  54. package/lib-dist/components/terra/pages/docs/_attachments.d.ts.map +1 -1
  55. package/lib-dist/components/terra/pages/docs/_attachments.js +7 -7
  56. package/lib-dist/components/terra/pages/docs/_attachments.js.map +1 -1
  57. package/lib-dist/components/terra/pages/docs/_blocks.d.ts.map +1 -1
  58. package/lib-dist/components/terra/pages/docs/_blocks.js +5 -5
  59. package/lib-dist/components/terra/pages/docs/_blocks.js.map +1 -1
  60. package/lib-dist/components/terra/pages/docs/_editable.d.ts +1 -2
  61. package/lib-dist/components/terra/pages/docs/_editable.d.ts.map +1 -1
  62. package/lib-dist/components/terra/pages/docs/_editable.js +2 -2
  63. package/lib-dist/components/terra/pages/docs/_editable.js.map +1 -1
  64. package/lib-dist/components/terra/pages/docs/_export-dialog.js +5 -5
  65. package/lib-dist/components/terra/pages/docs/_export-dialog.js.map +1 -1
  66. package/lib-dist/components/terra/pages/docs/_main.d.ts.map +1 -1
  67. package/lib-dist/components/terra/pages/docs/_main.js +11 -11
  68. package/lib-dist/components/terra/pages/docs/_main.js.map +1 -1
  69. package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.js +1 -1
  70. package/lib-dist/components/terra/pages/docs/_manage-attachments-dialog.js.map +1 -1
  71. package/lib-dist/components/terra/pages/docs/_sidebar.d.ts.map +1 -1
  72. package/lib-dist/components/terra/pages/docs/_sidebar.js +12 -12
  73. package/lib-dist/components/terra/pages/docs/_sidebar.js.map +1 -1
  74. package/lib-dist/components/terra/pages/docs/_toc.d.ts.map +1 -1
  75. package/lib-dist/components/terra/pages/docs/_toc.js +1 -1
  76. package/lib-dist/components/terra/pages/docs/_toc.js.map +1 -1
  77. package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.js +1 -1
  78. package/lib-dist/components/terra/pages/docs/_toolbar-find-replace.js.map +1 -1
  79. package/lib-dist/components/terra/pages/docs/_toolbar.d.ts +1 -2
  80. package/lib-dist/components/terra/pages/docs/_toolbar.d.ts.map +1 -1
  81. package/lib-dist/components/terra/pages/docs/_toolbar.js +12 -13
  82. package/lib-dist/components/terra/pages/docs/_toolbar.js.map +1 -1
  83. package/lib-dist/components/terra/pages/docs/_tree.d.ts +1 -4
  84. package/lib-dist/components/terra/pages/docs/_tree.d.ts.map +1 -1
  85. package/lib-dist/components/terra/pages/docs/_tree.js +3 -3
  86. package/lib-dist/components/terra/pages/docs/_tree.js.map +1 -1
  87. package/lib-dist/components/terra/ui.d.ts +1 -1
  88. package/lib-dist/components/terra/ui.d.ts.map +1 -1
  89. package/lib-dist/components/terra/ui.js +1 -1
  90. package/lib-dist/components/terra/ui.js.map +1 -1
  91. package/lib-dist/lib/markdown-model.d.ts.map +1 -1
  92. package/lib-dist/lib/markdown-model.js +7 -8
  93. package/lib-dist/lib/markdown-model.js.map +1 -1
  94. package/lib-dist/lib/terra/docs/state.d.ts +0 -1
  95. package/lib-dist/lib/terra/docs/state.d.ts.map +1 -1
  96. package/lib-dist/lib/terra/docs/state.js +0 -1
  97. package/lib-dist/lib/terra/docs/state.js.map +1 -1
  98. package/lib-dist/lib/terra/docs/workspace.d.ts +1 -4
  99. package/lib-dist/lib/terra/docs/workspace.d.ts.map +1 -1
  100. package/lib-dist/lib/terra/docs/workspace.js +0 -1
  101. package/lib-dist/lib/terra/docs/workspace.js.map +1 -1
  102. package/lib-dist/lib/terra/flow/powerSource.d.ts +1 -2
  103. package/lib-dist/lib/terra/flow/powerSource.d.ts.map +1 -1
  104. package/lib-dist/lib/terra/flow/powerSource.js.map +1 -1
  105. package/lib-dist/lib/terra/runtime/content/document-markdown.d.ts.map +1 -1
  106. package/lib-dist/lib/terra/runtime/content/document-markdown.js.map +1 -1
  107. package/lib-dist/lib/terra/runtime/content/markdown.js.map +1 -1
  108. package/lib-dist/lib/terra/runtime/content.d.ts.map +1 -1
  109. package/lib-dist/lib/terra/runtime/content.js.map +1 -1
  110. package/lib-dist/lib/terra/runtime/nodes.d.ts.map +1 -1
  111. package/lib-dist/lib/terra/runtime/nodes.js.map +1 -1
  112. package/lib-dist/lib/workspace-types.d.ts +3 -0
  113. package/lib-dist/lib/workspace-types.d.ts.map +1 -1
  114. package/package.json +42 -34
  115. package/site/astro.config.mjs +71 -0
  116. package/site/base-path-remark-plugin.mjs +31 -0
  117. package/site/docs-content-plugin.mjs +73 -0
  118. package/site/src/components/DocsSiteSearch.tsx +108 -0
  119. package/site/src/lib/catalog.ts +151 -0
  120. package/site/src/pages/404.astro +38 -0
  121. package/site/src/pages/[...slug].astro +49 -0
  122. package/site/src/styles/search.css +56 -0
  123. package/src/components/NotFound.tsx +2 -2
  124. package/src/components/SiteLayout.astro +9 -1
  125. package/src/components/navigation.tsx +1 -0
  126. package/lib-dist/lib/docs-catalog.d.ts +0 -5
  127. package/lib-dist/lib/docs-catalog.d.ts.map +0 -1
  128. package/lib-dist/lib/docs-catalog.js +0 -75
  129. package/lib-dist/lib/docs-catalog.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../../src/lib/terra/runtime/nodes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;oDAEoD;AAEpD,MAAM;AACN,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACzD,OAAO,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AAEzC,aAAa;AACb,OAAO,KAAK,iBAAiB,MAAM,cAAc,CAAC;AAMlD;;oDAEoD;AAEpD,MAAM,KAAK,GAAG,WAAW,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;AAC/C,KAAK,CAAC,eAAe,CAAC,CAAC;AAEvB;;;;;GAKG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,8JAA8J,CAAC;AAE1L;;GAEG;AACH,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,KAAK,EAAE,WAAW;IAClB,GAAG,EAAE,WAAW;IAChB,MAAM;IACJ;;OAEG,CAAC;QACF;YACE,GAAG,EAAE,WAAW;YAChB,IAAI,EAAE,QAAQ;YACd,KAAK,EAAE,WAAW;YAClB,WAAW,EAAE,UAAU;YACvB,OAAO,EAAE,uBAAuB;SACjC;QACD;YACE,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,OAAO;YACpB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,YAAY;SACtB;QACD;YACE,GAAG,EAAE,OAAO;YACZ,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,OAAO;YACd,WAAW,EAAE,OAAO;YACpB,QAAQ,EAAE,IAAI;YACd,OAAO,EAAE,YAAY;SACtB;QACD;YACE,GAAG,EAAE,QAAQ;YACb,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,QAAQ;YACf,WAAW,EAAE,KAAK;YAClB,OAAO,EAAE,gBAAgB;SAC1B;QACD;YACE,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,iBAAiB;SAC3B;QACD;YACE,GAAG,EAAE,SAAS;YACd,IAAI,EAAE,YAAY;YAClB,KAAK,EAAE,UAAU;YACjB,WAAW,EAAE,GAAG;YAChB,OAAO,EAAE,iBAAiB;SAC3B;QACD;YACE,GAAG,EAAE,kBAAkB;YACvB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,WAAW;YAClB,OAAO,EAAE,sBAAsB;SAChC;KAQA;IACL,MAAM,EAAE,mDAAmD;IAC3D,IAAI,EAAE;QACJ,SAAS,EAAE,WAAW;QACtB,KAAK,EAAE,YAAY;QACnB,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE,UAAU;QACnB,KAAK,EAAE,WAAW;QAClB,gBAAgB,EAAE,mBAAmB;QACrC,OAAO,EAAE,UAAU;KACX;IACV,EAAE,EAAE;QACF,KAAK,EAAE,mFAAmF;QAC1F,MAAM,EACJ,2KAA2K;QAC7K,GAAG,EAAE,sBAAsB;QAC3B,IAAI,EAAE,mGAAmG;KAC1G;IACD,MAAM,EAAE,CAAC,OAAe,EAAE,OAAW,EAAE,EAAU,EAAE;QACjD,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAClD,MAAM,CAAC,GAAG,OAAO;YACf,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC;YAC9B,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;YAC5B,MAAM,IAAI,GAAU,MAAM,CAAC,WAAW,CACpC,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CACjE,CAAC;YACF,MAAM,MAAM,GAA4B,EAAE,CAAC;YAC3C,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;gBACjC,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;gBAC7E,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBAC7B,IAAI,OAAO;wBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC;oBAClD,SAAS;gBACX,CAAC;gBACD,IAAI,OAAO,OAAO,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAClD,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;oBAC/B,MAAM,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC/D,IAAI,GAAG,EAAE,CAAC;wBACR,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;oBAC5C,CAAC;;wBAAM,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;gBACzD,CAAC;YACH,CAAC;YACD,OAAO,GAAG,CAAC,MAAM,CAAC,CAAC;QACrB,CAAC,CAAC;YACF,EAAE,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAS,EAAE,EAAE;YACzC,kBAAkB;YAClB,MAAM,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YAC5J,IAAI,CAAC,GAAG;gBACN,OAAO,GAAG,CAAC;oBACT,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE,CAAC;oBAC1E,UAAU,EAAE,EAAE;iBACf,CAAC,CAAC;YACL,MAAM,IAAI,GAAa,EAAE,CAAC;YAC1B,MAAM,UAAU,GAAa,EAAE,CAAC;YAChC,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;gBACnC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACjB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBAChB,SAAS;gBACX,CAAC;gBACD,IAAI,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC;oBACnE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;oBACtB,SAAS;gBACX,CAAC;gBACD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAClB,CAAC;YACD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,cAAc,GAA4B,EAAE,CAAC;YACnD,kBAAkB;YAClB,KAAK,MAAM,IAAI,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9F,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;oBAC9D,MAAM,aAAa,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;oBAC9B,IAAI,CAAC,EAAE,IAAI,CAAC,aAAa;wBAAE,MAAM;oBACjC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC;oBAClB,IAAI,CAAC,GAAG,EAAE,CAAC;oBACX,IAAI,KAAK,GAAG,CAAC,CAAC;oBACd,IAAI,MAAM,GAA2B,IAAI,CAAC;oBAC1C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;wBACxB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;wBACrB,IAAI,MAAM,EAAE,CAAC;4BACZ,CAAC,IAAI,IAAI,CAAC;4BACV,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gCACnB,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gCACvB,CAAC,IAAI,CAAC,CAAC;gCACP,SAAS;4BACV,CAAC;4BACD,IAAI,IAAI,KAAK,MAAM;gCAAE,MAAM,GAAG,IAAI,CAAC;4BACnC,CAAC,EAAE,CAAC;4BACJ,SAAS;wBACV,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BAClD,MAAM,GAAG,IAAI,CAAC;4BACd,CAAC,IAAI,IAAI,CAAC;4BACV,CAAC,EAAE,CAAC;4BACJ,SAAS;wBACV,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BAClD,KAAK,EAAE,CAAC;4BACR,CAAC,IAAI,IAAI,CAAC;4BACV,CAAC,EAAE,CAAC;4BACJ,SAAS;wBACV,CAAC;wBACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;4BAClD,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,KAAK,GAAG,CAAC,CAAC,CAAC;4BAC/B,CAAC,IAAI,IAAI,CAAC;4BACV,CAAC,EAAE,CAAC;4BACJ,SAAS;wBACV,CAAC;wBACA,IAAI,KAAK,KAAK,CAAC,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,IAAI,iBAAiB,CAAC,wBAAwB,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,EAAE,CAAC;4BAAE,MAAM;wBAChK,CAAC,IAAI,IAAI,CAAC;wBACV,CAAC,EAAE,CAAC;oBACL,CAAC;oBACD,MAAM,OAAO,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;oBACxB,cAAc,CAAC,aAAa,CAAC,GAAG,MAAM,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC;oBAClL,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,IAAI,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;wBAAE,CAAC,EAAE,CAAC;gBACzF,CAAC;YACF,CAAC;YACI,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,IAAI,CAAC;YACxE,IAAI,MAAM,GAAmC,IAAI,CAAC;YAClD,IAAI,GAAG,EAAE,CAAC;gBACR,IAAI,CAAC;oBACH,MAAM,GAAG,QAAQ,CAAC,GAAG,CAA4B,CAAC;gBACpD,CAAC;gBAAC,MAAM,CAAC;oBACP,MAAM,GAAG,IAAI,CAAC;gBAChB,CAAC;YACH,CAAC;YACD,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,IAAI,IAAI;oBAAE,MAAM,GAAG,IAAI,CAAC;qBACnB,CAAC;oBACJ,IAAI,CAAC;wBACH,MAAM,GAAG,QAAQ,CAAC,4BAA4B,KAAK,CAAC,GAAG,CAAC,OAAO,CAAC,EAG/D,CAAC;oBACJ,CAAC;oBAAC,MAAM,CAAC;wBACP,MAAM,GAAG,IAAI,CAAC;oBAChB,CAAC;gBACH,CAAC;YACH,CAAC;iBAAM,IAAI,IAAI,IAAI,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAAE,MAAM,GAAG,EAAE,GAAG,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC;YACrF,IAAI,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;gBAAE,OAAO,CAAC,CAAC;YACpF,OAAO,GAAG,CACR,MAAM,CAAC,WAAW,CAChB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;gBACxC,MAAM,KAAK,GACT,IAAI,GAAG,CACL,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAiB,CAAC,CAAC,CACnE,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAE,CAAkB,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;gBAC3D,IAAI,CAAC,KAAK;oBAAE,OAAO,EAAE,CAAC;gBACtB,OAAO,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,KAAgC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7D,CAAC,CAAC,CACH,CACF,CAAC;QACJ,CAAC,CAAC,CAAC;QACL,KAAK,CAAC,iBAAiB,EAAE;YACvB,WAAW,EAAE,OAAO,CAAC,MAAM;YAC3B,YAAY,EAAE,CAAC,EAAE,MAAM,IAAI,CAAC;YAC5B,QAAQ,EAAE,CAAC,EAAE,QAAQ,CAAC,QAAQ,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,CAAC,CAAC;IACX,CAAC;CACO,CAAC;AAEX;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAU,EAAE,CACzD,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,OAAO,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;KAC5F,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,MAAM,CAAC;KACrD,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC;KACpD,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC;AAE9D;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAY,EAAa,EAAE;IAC5D,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;QAAE,OAAO,GAAG,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,CAAC;IACtD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CACvB,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC;YACpD,CAAC,CAAC,GAAG;iBACA,IAAI,EAAE;iBACN,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;iBACZ,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,GAAG,CAAC;iBAClD,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,GAAG,CAAC;iBAClD,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,EAAE,EAAE,IAAI,CAAC;YACxD,CAAC,CAAC,GAAG,CAAC,IAAI,EAAE,CACJ,CAAC;QACb,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC;YAAE,OAAO,MAAM,CAAC;QACzC,IAAI,OAAO,MAAM,KAAK,QAAQ,EAAE,CAAC;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAY,CAAC;YAC7C,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAU,EAAE;IACjD,KAAK,CAAC,cAAc,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC;IAC9C,MAAM,CAAC,GAAG,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,EAAE;QACxC,OAAO,WAAW,KAAK,CAAC,MAAM;aAC3B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;YACb,MAAM,OAAO,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;YACrC,IAAI,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,EAAE;gBAAE,OAAO,EAAE,CAAC;YAC1F,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;gBAAE,OAAO,OAAO,KAAK,IAAI,IAAI,OAAO,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACvF,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;gBACxC,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC;YACrE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;gBACrB,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACpF,IAAI,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC;gBAClD,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC1F,OAAO,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACnD,CAAC,CAAC;aACD,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC;aACpB,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;IACtB,CAAC,CAAC,CAAC;IACH,KAAK,CAAC,iBAAiB,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/C,OAAO,CAAC,CAAC;AACX,CAAC,CAAC;AACF,MAAM,MAAM,GAAG,IAAI,GAAG,CAAgB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;AAE3E;;oDAEoD;AAEpD;;;;;;;;GAQG;AACH,MAAM,OAAO,GAAG,CAAC,CAAU,EAAU,EAAE;IACrC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;IAC9D,IAAI,CAAC,IAAI,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC/B,OAAO,KAAK,MAAM,CAAC,OAAO,CAAC,CAA4B,CAAC;aACrD,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;aACtC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC;aACtD,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACpB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IACpD,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,SAAS;QAAE,OAAO,GAAG,CAAC,EAAE,CAAC;IACnE,IAAI,CAAC,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAC9B,OAAO,WAAW,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,MAAM,GAAG,CAAC,GAAW,EAAW,EAAE;IACtC,MAAM,OAAO,GAAG,GAAG,CAAC,IAAI,EAAE,CAAC;IAC3B,IAAI,CAAC,OAAO;QAAE,OAAO,EAAE,CAAC;IACxB,IAAI,CAAC;QACH,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACpD,OAAO,QAAQ,CAAC,yBAAyB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAa,CAAC;QAC5E,IACE,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YACvB,iBAAiB,CAAC,2CAA2C,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC;YAE7E,OAAO,QAAQ,CAAC,yBAAyB,OAAO,IAAI,CAAC,EAAa,CAAC;QACrE,OAAO,QAAQ,CAAC,yBAAyB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAa,CAAC;IAC5E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,GAAG,CAAC;IACb,CAAC;AACH,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,UAAU,GAAG,CAAC,OAAe,EAAS,EAAE;IAC5C,MAAM,IAAI,GAAU,EAAE,CAAC;IACvB,IAAI,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACrC,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;QAC1B,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,CAAC,EAAE,CAAC;QACvE,IAAI,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG;YAAE,MAAM;QACnE,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrF,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC;QACjB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,CAAC,EAAE,CAAC;QACvE,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACvB,IAAI,KAAK,EAAE,IAAI,KAAK,SAAS;gBAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;YACtD,SAAS;QACX,CAAC;QACD,CAAC,EAAE,CAAC;QACJ,OAAO,iBAAiB,CAAC,eAAe,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,CAAC,EAAE,CAAC;QACvE,IAAI,CAAC,KAAK;YAAE,SAAS;QACrB,IAAI,OAAO,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE,CAAC;YACvB,CAAC,EAAE,CAAC;YACJ,IAAI,KAAK,GAAG,CAAC,CAAC;YACd,IAAI,CAAC,GAAG,EAAE,CAAC;YACX,IAAI,MAAM,GAA2B,IAAI,CAAC;YAC1C,OAAO,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;gBAC/B,MAAM,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,IAAI;oBAAE,MAAM;gBACjB,IAAI,MAAM,EAAE,CAAC;oBACX,CAAC,IAAI,IAAI,CAAC;oBACV,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;wBAClB,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;wBAC1B,CAAC,EAAE,CAAC;wBACJ,SAAS;oBACX,CAAC;oBACD,IAAI,IAAI,KAAK,MAAM;wBAAE,MAAM,GAAG,IAAI,CAAC;oBACnC,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjD,MAAM,GAAG,IAAI,CAAC;oBACd,CAAC,IAAI,IAAI,CAAC;oBACV,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,EAAE,CAAC;oBACR,CAAC,IAAI,IAAI,CAAC;oBACV,SAAS;gBACX,CAAC;gBACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;oBACjB,KAAK,EAAE,CAAC;oBACR,IAAI,CAAC,KAAK;wBAAE,MAAM;oBAClB,CAAC,IAAI,IAAI,CAAC;oBACV,SAAS;gBACX,CAAC;gBACD,CAAC,IAAI,IAAI,CAAC;YACZ,CAAC;YACD,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;YAC3B,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,MAAM,OAAO,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,OAAO,KAAK,GAAG,IAAI,OAAO,KAAK,GAAG;YAAE,SAAS;QACjD,CAAC,EAAE,CAAC;QACJ,MAAM,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACxC,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,MAAM;QACtB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACxC,CAAC,GAAG,GAAG,GAAG,CAAC,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,GAAG,GAAG,CAAC,IAA6B,EAAU,EAAE;IACpD,OAAO,UAAU,KAAK,CAAC,MAAM;SAC1B,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACb,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACxC,IAAI,YAAY,CAAC,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,IAAI,OAAO,KAAK,IAAI;YAAE,OAAO,EAAE,CAAC;QACxE,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;YAAE,OAAO,OAAO,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACjE,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;YACrB,OAAO,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QACpF,OAAO;YACL,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,CAAC,kBAAkB,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG;SACtH,CAAC;IACJ,CAAC,CAAC;SACD,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC;AACpB,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,CAAC,CAAS,EAAU,EAAE;IAClC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnB,IAAI,CAAC,CAAC;QAAE,OAAO,IAAI,CAAC;IACpB,IACE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QAC/C,iBAAiB,CAAC,2CAA2C,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QAEvE,OAAO,CAAC,CAAC;IACX,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,KAAK,GAAG,CAAC,IAAY,EAAU,EAAE;IACrC,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,IAAI,CAAC,GAAG,CAAC,CAAC;IACV,IAAI,MAAM,GAA2B,IAAI,CAAC;IAC1C,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACrB,IAAI,MAAM,EAAE,CAAC;YACX,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;gBAClB,IAAI,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC1B,CAAC,IAAI,CAAC,CAAC;gBACP,SAAS;YACX,CAAC;YACD,IAAI,IAAI,KAAK,MAAM;gBAAE,MAAM,GAAG,IAAI,CAAC;YACnC,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjD,MAAM,GAAG,IAAI,CAAC;YACd,IAAI,IAAI,IAAI,CAAC;YACb,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,KAAK,GAAG,EAAE,CAAC;YACjB,IAAI,IAAI,IAAI,CAAC;YACb,CAAC,EAAE,CAAC;YACJ,SAAS;QACX,CAAC;QACD,IAAI,IAAI,IAAI,CAAC;QACb,CAAC,EAAE,CAAC;QACJ,OAAO,IAAI,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,KAAK,IAAI,EAAE,CAAC;YAC3C,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;YAChB,CAAC,EAAE,CAAC;QACN,CAAC;QACD,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAAE,SAAS;QAC1F,IAAI,GAAG,GAAG,CAAC,CAAC;QACZ,OAAO,GAAG,GAAG,IAAI,CAAC,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;YAAE,GAAG,EAAE,CAAC;QACtE,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC7B,IAAI,kCAAkC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAAE,IAAI,IAAI,CAAC,CAAC;;YAC5D,IAAI,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC;QACtB,CAAC,GAAG,GAAG,CAAC;IACV,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,CAAC,GAAY,EAAa,EAAE;IAC/C,MAAM,OAAO,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IACxC,KAAK;QACH,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,GAAG;QAClD,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;QACrF,aAAa,EAAE,OAAO,CAAC,MAAM;QAC7B,WAAW,EAAE,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE;QAC/E,OAAO,EACL,OAAO,GAAG,KAAK,QAAQ;YACrB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;YACnB,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC;gBAClB,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC;gBAC/C,CAAC,CAAC,EAAE;KACX,CAAC;IACF,OAAO,OAAO,CAAC;AACjB,CAAC,CAAC;AAEF;;oDAEoD"}
1
+ {"version":3,"file":"nodes.js","sourceRoot":"","sources":["../../../../src/lib/terra/runtime/nodes.ts"],"names":[],"mappings":"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"}
@@ -13,17 +13,20 @@ export type DocsLeaf = {
13
13
  description?: string;
14
14
  updatedAt?: string;
15
15
  attachments?: DocsAttachment[];
16
+ hue?: number | null;
16
17
  };
17
18
  export type DocsGroup = {
18
19
  title: string;
19
20
  id?: string;
20
21
  path?: string;
22
+ hue?: number | null;
21
23
  leaves: DocsLeaf[];
22
24
  };
23
25
  export type DocsSection = {
24
26
  title: string;
25
27
  id?: string;
26
28
  path?: string;
29
+ hue?: number | null;
27
30
  groups: DocsGroup[];
28
31
  };
29
32
  //# sourceMappingURL=workspace-types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"workspace-types.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-types.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3F,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;CAChC,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAC1F,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC"}
1
+ {"version":3,"file":"workspace-types.d.ts","sourceRoot":"","sources":["../../src/lib/workspace-types.ts"],"names":[],"mappings":"AAAA,uFAAuF;AACvF,MAAM,MAAM,cAAc,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AAC3F,MAAM,MAAM,QAAQ,GAAG;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,cAAc,EAAE,CAAC;IAC/B,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACrB,CAAC;AACF,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,QAAQ,EAAE,CAAA;CAAE,CAAC;AAC/G,MAAM,MAAM,WAAW,GAAG;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAAC,MAAM,EAAE,SAAS,EAAE,CAAA;CAAE,CAAC"}
package/package.json CHANGED
@@ -1,14 +1,20 @@
1
1
  {
2
2
  "name": "@terra-symposium/docs",
3
- "version": "0.1.71",
4
- "description": "Reusable React document editor and viewer.",
5
- "repository": "https://github.com/Terra-Symposium/docs",
3
+ "version": "0.1.73",
4
+ "description": "Terra Docs workspace and Markdown site generator.",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/Terra-Symposium/docs.git"
8
+ },
6
9
  "type": "module",
10
+ "packageManager": "pnpm@10.30.3",
7
11
  "engines": {
8
12
  "node": ">=24.12.0"
9
13
  },
10
14
  "files": [
11
15
  "lib-dist",
16
+ "bin",
17
+ "site",
12
18
  "src/components/navigation.tsx",
13
19
  "src/components/SiteLayout.astro",
14
20
  "src/components/NotFound.astro",
@@ -31,38 +37,55 @@
31
37
  "./site-layout.astro": "./src/components/SiteLayout.astro",
32
38
  "./not-found.astro": "./src/components/NotFound.astro"
33
39
  },
34
- "peerDependencies": {
35
- "@terra-symposium/styling": "^0.1.24",
36
- "react": "^19.0.0",
37
- "react-dom": "^19.0.0"
40
+ "bin": {
41
+ "terra-docs": "bin/terra-docs.mjs"
42
+ },
43
+ "scripts": {
44
+ "dev": "terra-quality-dev -- vite --host 127.0.0.1 --open",
45
+ "docs:dev": "pnpm build && node bin/terra-docs.mjs dev --title 'Terra Docs'",
46
+ "docs:build": "pnpm build && node bin/terra-docs.mjs build --title 'Terra Docs'",
47
+ "docs:preview": "pnpm docs:build && node bin/terra-docs.mjs preview --title 'Terra Docs'",
48
+ "dev:library": "tsc --watch",
49
+ "build": "rm -rf lib-dist && tsc && tailwindcss --postcss tailwind.postcss.config.cjs -c tailwind.docs.config.mjs -i src/styles/style.css -o lib-dist/style.css --minify && tailwindcss --postcss tailwind.postcss.config.cjs -c tailwind.docs.config.mjs -i src/styles/workspace.css -o lib-dist/workspace.css --minify && node scripts/copy-runtime.mjs",
50
+ "build:demo": "vite build",
51
+ "typecheck": "tsc --noEmit && tsc -p tsconfig.demo.json",
52
+ "lint": "eslint .",
53
+ "format": "prettier --write .",
54
+ "format:check": "prettier --check .",
55
+ "check": "pnpm run format:check && pnpm run lint && pnpm run typecheck",
56
+ "test": "pnpm build && node --test test/*.test.mjs",
57
+ "test:browser": "pnpm docs:build && node scripts/acquire-playwright-port.mjs && playwright test",
58
+ "test:report:slides": "node scripts/generate-screenshot-deck.mjs",
59
+ "prepare": "husky",
60
+ "changeset": "changeset",
61
+ "version-packages": "changeset version"
38
62
  },
39
63
  "devDependencies": {
40
- "@astrojs/react": "^7.1.0",
41
64
  "@changesets/cli": "^3.0.3",
42
65
  "@eslint/js": "10.0.1",
43
66
  "@playwright/test": "^1.64.1",
44
- "@terra-symposium/styling": "file:vendor/terra-symposium-styling-parity-0.1.34.tgz",
67
+ "@terra-symposium/standards-quality": "2.1.0",
68
+ "@terra-symposium/standards-reporting": "0.6.2",
45
69
  "@types/katex": "^0.16.8",
46
70
  "@types/node": "^24.19.2",
47
71
  "@types/react": "19.3.0",
48
72
  "@types/react-dom": "19.3.0",
49
73
  "@types/sanitize-html": "^2.16.2",
50
- "@terra-symposium/standards-quality": "file:vendor/terra-symposium-standards-quality-2.1.0.tgz",
51
74
  "@vitejs/plugin-react": "6.1.2",
52
- "astro": "^7.4.2",
53
75
  "eslint": "10.13.0",
54
76
  "husky": "^9.1.7",
55
77
  "postcss": "8.5.31",
56
78
  "postcss-import": "15.1.0",
57
79
  "prettier": "3.9.10",
58
- "react": "19.3.1",
59
- "react-dom": "19.3.1",
60
80
  "tailwindcss": "^3.4.3",
61
81
  "typescript": "5.9.3",
62
82
  "typescript-eslint": "8.71.2",
63
83
  "vite": "8.3.4"
64
84
  },
65
85
  "dependencies": {
86
+ "@astrojs/markdown-remark": "7.3.5",
87
+ "@astrojs/mdx": "8.1.2",
88
+ "@astrojs/react": "^7.1.0",
66
89
  "@carbon/icons-react": "11.90.0",
67
90
  "@codemirror/commands": "^6.10.0",
68
91
  "@codemirror/lang-markdown": "^6.1.3",
@@ -76,36 +99,21 @@
76
99
  "@portabletext/editor": "7.9.0",
77
100
  "@radix-ui/react-popover": "^1.1.15",
78
101
  "@radix-ui/react-select": "2.4.1",
102
+ "@terra-symposium/styling": "0.1.34",
79
103
  "@uiw/codemirror-theme-github": "^4.25.9",
80
104
  "@xyflow/react": "^12.3.6",
105
+ "astro": "^7.4.2",
81
106
  "jszip": "^3.10.1",
82
107
  "katex": "^0.19.1",
83
108
  "lexical": "^0.35.0",
84
109
  "marked": "^18.1.1",
85
110
  "nanostores": "^1.3.0",
86
111
  "pdf-lib": "^1.17.1",
112
+ "react": "^19.3.1",
113
+ "react-dom": "^19.3.1",
87
114
  "sanitize-html": "^2.18.1",
88
115
  "sonner": "^1.4.41",
89
116
  "yaml": "^2.7.0"
90
117
  },
91
- "license": "Apache-2.0",
92
- "scripts": {
93
- "dev": "terra-quality-dev -- vite --host 127.0.0.1 --open",
94
- "docs:dev": "pnpm build && terra-quality-dev --port 4311 -- astro dev --host 127.0.0.1 --open",
95
- "docs:build": "pnpm build && astro build",
96
- "docs:preview": "pnpm docs:build && astro preview --host 127.0.0.1",
97
- "dev:library": "tsc --watch",
98
- "build": "rm -rf lib-dist && tsc && tailwindcss --postcss tailwind.postcss.config.cjs -c tailwind.docs.config.mjs -i src/styles/style.css -o lib-dist/style.css --minify && tailwindcss --postcss tailwind.postcss.config.cjs -c tailwind.docs.config.mjs -i src/styles/workspace.css -o lib-dist/workspace.css --minify && node scripts/copy-runtime.mjs",
99
- "build:demo": "vite build",
100
- "typecheck": "tsc --noEmit && tsc -p tsconfig.demo.json",
101
- "lint": "eslint .",
102
- "format": "prettier --write .",
103
- "format:check": "prettier --check .",
104
- "check": "pnpm run format:check && pnpm run lint && pnpm run typecheck",
105
- "test": "pnpm build && node --test test/*.test.mjs",
106
- "test:browser": "pnpm docs:build && node scripts/acquire-playwright-port.mjs && playwright test",
107
- "test:consumer": "playwright test --config=playwright.consumer.config.ts",
108
- "changeset": "changeset",
109
- "version-packages": "changeset version"
110
- }
111
- }
118
+ "license": "Apache-2.0"
119
+ }
@@ -0,0 +1,71 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { resolve } from 'node:path';
3
+ import { readFileSync } from 'node:fs';
4
+ import { createRequire } from 'node:module';
5
+ import { defineConfig } from 'astro/config';
6
+ import mdx from '@astrojs/mdx';
7
+ import react from '@astrojs/react';
8
+ import { unified } from '@astrojs/markdown-remark';
9
+ import { basePathRemarkPlugin } from './base-path-remark-plugin.mjs';
10
+ import { docsContentPlugin } from './docs-content-plugin.mjs';
11
+
12
+ const packageRoot = fileURLToPath(new URL('../', import.meta.url));
13
+ const requireFromPackage = createRequire(import.meta.url);
14
+ const projectRoot = process.env.TERRA_DOCS_ROOT ?? process.cwd();
15
+ const publicDir = resolve(projectRoot, '.terra-docs/public');
16
+ const outDir = resolve(projectRoot, process.env.TERRA_DOCS_OUT ?? 'docs-dist');
17
+ const site = process.env.TERRA_DOCS_SITE;
18
+ const base = process.env.TERRA_DOCS_BASE ?? '/';
19
+ const projectManifest = (() => {
20
+ try {
21
+ return JSON.parse(readFileSync(resolve(projectRoot, 'package.json'), 'utf8'));
22
+ } catch {
23
+ return {};
24
+ }
25
+ })();
26
+
27
+ function packageExportAliases() {
28
+ if (!projectManifest.name || !projectManifest.exports) return [];
29
+ const escapeRegex = (value) => value.replace(/[|\\{}()[\]^$+?.]/g, '\\$&');
30
+ return Object.entries(projectManifest.exports).flatMap(([key, value]) => {
31
+ const target = typeof value === 'string' ? value : value?.import ?? value?.default;
32
+ if (!target?.startsWith('./')) return [];
33
+ const prefix = projectManifest.name + (key === '.' ? '' : key.slice(1));
34
+ if (key.includes('*')) {
35
+ const matcher = new RegExp(`^${escapeRegex(prefix).replace('*', '(.+)')}$`);
36
+ return [{ find: matcher, replacement: resolve(projectRoot, target.replace('*', '$1')) }];
37
+ }
38
+ return [{ find: new RegExp(`^${escapeRegex(prefix)}$`), replacement: resolve(projectRoot, target) }];
39
+ });
40
+ }
41
+
42
+ const packageDependencyResolver = {
43
+ name: 'terra-docs-package-dependencies',
44
+ enforce: 'pre',
45
+ resolveId(source) {
46
+ if (!/^(?:astro|@astrojs\/(?:markdown-remark|mdx|react))(?:\/|$)/.test(source)) return null;
47
+ try {
48
+ return requireFromPackage.resolve(source);
49
+ } catch {
50
+ return null;
51
+ }
52
+ },
53
+ };
54
+
55
+ export default defineConfig({
56
+ root: projectRoot,
57
+ srcDir: resolve(packageRoot, 'site/src'),
58
+ publicDir,
59
+ outDir,
60
+ ...(site ? { site } : {}),
61
+ base,
62
+ devToolbar: { enabled: false },
63
+ build: { format: 'directory' },
64
+ integrations: [react(), mdx()],
65
+ markdown: { processor: unified({ remarkPlugins: [[basePathRemarkPlugin, { base }]] }) },
66
+ vite: {
67
+ plugins: [packageDependencyResolver, docsContentPlugin({ root: projectRoot, base })],
68
+ resolve: { alias: packageExportAliases() },
69
+ server: { fs: { allow: [projectRoot, packageRoot] } },
70
+ },
71
+ });
@@ -0,0 +1,31 @@
1
+ function addBasePath(value, base) {
2
+ if (typeof value !== 'string' || !value.startsWith('/') || value.startsWith('//') || base === '/') return value;
3
+ const basePath = `/${base.replace(/^\/+|\/+$/g, '')}`;
4
+ if (value === basePath) return `${basePath}/`;
5
+ if (value.startsWith(`${basePath}/`)) return value;
6
+ return `${basePath}${value}`;
7
+ }
8
+
9
+ function addBaseToHtml(source, base) {
10
+ return source.replace(/\b(href|src)=(['"])(\/[^'"#?]*)([^'"]*)\2/gi, (_match, attribute, quote, pathname, suffix) =>
11
+ `${attribute}=${quote}${addBasePath(`${pathname}${suffix}`, base)}${quote}`,
12
+ );
13
+ }
14
+
15
+ export function basePathRemarkPlugin({ base }) {
16
+ return (tree) => {
17
+ const visit = (node) => {
18
+ if (['link', 'image', 'definition'].includes(node.type) && typeof node.url === 'string') {
19
+ node.url = addBasePath(node.url, base);
20
+ }
21
+ if (node.type === 'html' && typeof node.value === 'string') {
22
+ node.value = addBaseToHtml(node.value, base);
23
+ }
24
+ if (node.type === 'mdxJsxAttribute' && ['href', 'src'].includes(node.name) && typeof node.value === 'string') {
25
+ node.value = addBasePath(node.value, base);
26
+ }
27
+ for (const child of node.children ?? []) visit(child);
28
+ };
29
+ visit(tree);
30
+ };
31
+ }
@@ -0,0 +1,73 @@
1
+ import { existsSync } from 'node:fs';
2
+ import { extname, relative, resolve, sep } from 'node:path';
3
+
4
+ const markdownExtensions = new Set(['.md', '.mdx']);
5
+
6
+ function publicRoute(file, docsRoot, base) {
7
+ const path = relative(docsRoot, file).split(sep).join('/').replace(/\.(?:md|mdx)$/i, '');
8
+ const route = path.replace(/(?:^|\/)index$/i, '').replace(/^\/+|\/+$/g, '');
9
+ return `${base}${route ? `${route}/` : ''}`;
10
+ }
11
+
12
+ function rewriteTarget(rawTarget, sourceFile, docsRoot, base) {
13
+ const target = rawTarget.trim();
14
+ if (!target || /^(?:[a-z][a-z\d+.-]*:|\/\/|#)/i.test(target)) return rawTarget;
15
+ const match = /^(<[^>]+>|[^\s]+)([\s\S]*)$/.exec(target);
16
+ if (!match) return rawTarget;
17
+ const bracketed = match[1].startsWith('<') && match[1].endsWith('>');
18
+ const pathname = bracketed ? match[1].slice(1, -1) : match[1];
19
+ const suffix = match[2];
20
+ const [filePath, ...hashParts] = pathname.split('#');
21
+ const [cleanPath, ...queryParts] = filePath.split('?');
22
+ const fragment = hashParts.length ? `#${hashParts.join('#')}` : '';
23
+ const query = queryParts.length ? `?${queryParts.join('?')}` : '';
24
+ if (cleanPath.startsWith('/')) {
25
+ const basePath = base === '/' ? '' : `/${base.replace(/^\/+|\/+$/g, '')}`;
26
+ const rootBase = `${basePath}/`;
27
+ const routedPath = base === '/' || cleanPath.startsWith(rootBase)
28
+ ? cleanPath
29
+ : cleanPath === basePath
30
+ ? rootBase
31
+ : `${basePath}${cleanPath}`;
32
+ const rewritten = `${routedPath}${query}${fragment}`;
33
+ return `${bracketed ? `<${rewritten}>` : rewritten}${suffix}`;
34
+ }
35
+ let resolvedPath;
36
+ try {
37
+ resolvedPath = resolve(sourceFile, '..', decodeURIComponent(cleanPath));
38
+ } catch {
39
+ return rawTarget;
40
+ }
41
+ const relativePath = relative(docsRoot, resolvedPath);
42
+ if (relativePath.startsWith(`..${sep}`) || relativePath === '..' || !existsSync(resolvedPath)) return rawTarget;
43
+ const extension = extname(resolvedPath).toLowerCase();
44
+ const rewritten = markdownExtensions.has(extension)
45
+ ? publicRoute(resolvedPath, docsRoot, base)
46
+ : `${base}_terra-docs/assets/${relativePath.split(sep).join('/')}`;
47
+ return `${bracketed ? `<${rewritten}${query}${fragment}>` : `${rewritten}${query}${fragment}`}${suffix}`;
48
+ }
49
+
50
+ function mapOutsideCode(source, callback) {
51
+ const sections = source.split(/(```[\s\S]*?```|~~~[\s\S]*?~~~)/g);
52
+ return sections.map((section, index) => index % 2 ? section : callback(section)).join('');
53
+ }
54
+
55
+ export function docsContentPlugin({ root, base }) {
56
+ const docsRoot = resolve(root, 'docs');
57
+ return {
58
+ name: 'terra-docs-content-assets',
59
+ enforce: 'pre',
60
+ transform(source, id) {
61
+ if (id.includes('?') || !markdownExtensions.has(extname(id).toLowerCase())) return null;
62
+ const sourceFile = resolve(id);
63
+ const relativePath = relative(docsRoot, sourceFile);
64
+ if (relativePath.startsWith(`..${sep}`) || relativePath === '..') return null;
65
+ const withMarkdownLinks = source.replace(/(!?\[[^\]]*\]\()([^)]+)(\))/g, (_full, before, target, after) =>
66
+ `${before}${rewriteTarget(target, sourceFile, docsRoot, base)}${after}`,
67
+ );
68
+ return mapOutsideCode(withMarkdownLinks, (section) => section.replace(/\b(src|href)=(['"])(.*?)\2/g, (full, attribute, quote, target) =>
69
+ `${attribute}=${quote}${rewriteTarget(target, sourceFile, docsRoot, base)}${quote}`,
70
+ ));
71
+ },
72
+ };
73
+ }
@@ -0,0 +1,108 @@
1
+ import { useEffect, useMemo, useRef, useState } from 'react';
2
+
3
+ type SearchDocument = {
4
+ title: string;
5
+ description: string;
6
+ href: string;
7
+ text: string;
8
+ };
9
+
10
+ type Props = { base?: string };
11
+
12
+ function excerpt(text: string, query: string): string {
13
+ const normalized = text.replace(/\s+/g, ' ').trim();
14
+ const offset = normalized.toLowerCase().indexOf(query.toLowerCase());
15
+ const start = Math.max(0, offset - 72);
16
+ const end = Math.min(normalized.length, start + 190);
17
+ return `${start > 0 ? '…' : ''}${normalized.slice(start, end)}${end < normalized.length ? '…' : ''}`;
18
+ }
19
+
20
+ export function DocsSiteSearch({ base = '/' }: Props) {
21
+ const dialog = useRef<HTMLDialogElement>(null);
22
+ const input = useRef<HTMLInputElement>(null);
23
+ const [query, setQuery] = useState('');
24
+ const [documents, setDocuments] = useState<SearchDocument[]>([]);
25
+ const [loaded, setLoaded] = useState(false);
26
+ const [failed, setFailed] = useState(false);
27
+ const [opened, setOpened] = useState(false);
28
+ const normalizedBase = base.endsWith('/') ? base : `${base}/`;
29
+
30
+ const open = () => {
31
+ if (!dialog.current?.open) dialog.current?.showModal();
32
+ setOpened(true);
33
+ window.setTimeout(() => input.current?.focus(), 0);
34
+ };
35
+
36
+ useEffect(() => {
37
+ const onKeyDown = (event: KeyboardEvent) => {
38
+ if ((event.metaKey || event.ctrlKey) && event.key.toLowerCase() === 'k') {
39
+ event.preventDefault();
40
+ open();
41
+ } else if (event.key === '/' && !/input|textarea|select/i.test((event.target as HTMLElement)?.tagName ?? '')) {
42
+ event.preventDefault();
43
+ open();
44
+ }
45
+ };
46
+ document.addEventListener('keydown', onKeyDown);
47
+ return () => document.removeEventListener('keydown', onKeyDown);
48
+ }, []);
49
+
50
+ useEffect(() => {
51
+ if (!opened || loaded) return;
52
+ fetch(`${normalizedBase}_terra-docs/search-index.json`)
53
+ .then((response) => {
54
+ if (!response.ok) throw new Error(`Search index returned ${response.status}`);
55
+ return response.json() as Promise<SearchDocument[]>;
56
+ })
57
+ .then((data) => {
58
+ setDocuments(data);
59
+ setLoaded(true);
60
+ })
61
+ .catch(() => setFailed(true));
62
+ }, [loaded, normalizedBase, opened]);
63
+
64
+ const results = useMemo(() => {
65
+ const terms = query.toLowerCase().trim().split(/\s+/).filter(Boolean);
66
+ if (!terms.length) return [];
67
+ return documents
68
+ .map((document) => {
69
+ const title = document.title.toLowerCase();
70
+ const text = `${document.description} ${document.text}`.toLowerCase();
71
+ const matches = terms.filter((term) => title.includes(term) || text.includes(term));
72
+ const score = matches.length * 10 + terms.filter((term) => title.includes(term)).length * 5;
73
+ return { document, score };
74
+ })
75
+ .filter((result) => result.score > 0)
76
+ .sort((left, right) => right.score - left.score || left.document.title.localeCompare(right.document.title))
77
+ .slice(0, 10);
78
+ }, [documents, query]);
79
+
80
+ return (
81
+ <div className="terra-docs-search">
82
+ <button className="terra-docs-search-trigger" type="button" onClick={open} aria-label="Search documentation">
83
+ <span aria-hidden="true">⌕</span><span>Search docs</span><kbd>⌘ K</kbd>
84
+ </button>
85
+ <dialog className="terra-docs-search-dialog" ref={dialog} onClose={() => setQuery('')}>
86
+ <div className="terra-docs-search-panel">
87
+ <label className="terra-docs-search-input-row">
88
+ <span aria-hidden="true">⌕</span>
89
+ <input ref={input} value={query} onChange={(event) => setQuery(event.currentTarget.value)} placeholder="Search documentation…" />
90
+ <button type="button" onClick={() => dialog.current?.close()} aria-label="Close search">Esc</button>
91
+ </label>
92
+ <div className="terra-docs-search-results" aria-live="polite">
93
+ {failed ? <p>Search is unavailable right now.</p> : null}
94
+ {!loaded && !failed ? <p>Loading search…</p> : null}
95
+ {loaded && query.trim() && results.length === 0 ? <p>No matching pages.</p> : null}
96
+ {results.map(({ document }) => (
97
+ <a key={document.href} href={document.href} onClick={() => dialog.current?.close()}>
98
+ <strong>{document.title}</strong>
99
+ {document.description ? <span>{document.description}</span> : null}
100
+ <small>{excerpt(document.text, query.trim().split(/\s+/)[0] ?? query)}</small>
101
+ </a>
102
+ ))}
103
+ </div>
104
+ </div>
105
+ </dialog>
106
+ </div>
107
+ );
108
+ }