@leed-ai/cli 0.0.0-stage → 6.19.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 (263) hide show
  1. package/LICENSE.md +57 -0
  2. package/README.md +125 -2
  3. package/dist/LICENSE.md +57 -0
  4. package/dist/acorn-DAgDT1om.js +5087 -0
  5. package/dist/angular-l0_4PK8N.js +3598 -0
  6. package/dist/authShared-Dray38Ls.js +1161 -0
  7. package/dist/babel-CJeRQd5u.js +10038 -0
  8. package/dist/buildResults-tiq1nugP.js +21180 -0
  9. package/dist/chunk-1VJ9lAw7.js +42 -0
  10. package/dist/cliAuth-38JjD6hw.js +15 -0
  11. package/dist/env-B0bHiXJJ.js +29 -0
  12. package/dist/errors-CqKamGCu.js +481 -0
  13. package/dist/estree-E8WG8UHj.js +6930 -0
  14. package/dist/flow-6xaRIbPQ.js +52255 -0
  15. package/dist/glimmer-aJPjsfbT.js +7272 -0
  16. package/dist/graphql-mcgtPEiZ.js +1901 -0
  17. package/dist/html--eeea3Kl.js +6553 -0
  18. package/dist/leed.eleventy.mjs +6525 -0
  19. package/dist/leed.mjs +88952 -0
  20. package/dist/leed.sources.json +798 -0
  21. package/dist/leedLogger-Zkada5aO.js +78 -0
  22. package/dist/markdown-D73jNKwx.js +6836 -0
  23. package/dist/meriyah-CMp1nDDW.js +8932 -0
  24. package/dist/package.json +101 -0
  25. package/dist/postcss-h4fBr2Fn.js +6760 -0
  26. package/dist/prettier-CwFSKxfN.js +16821 -0
  27. package/dist/static/customer-site-worker/package.json +9 -0
  28. package/dist/static/customer-site-worker/src/assetsHydration.ts +55 -0
  29. package/dist/static/customer-site-worker/src/constants.ts +20 -0
  30. package/dist/static/customer-site-worker/src/cors.ts +120 -0
  31. package/dist/static/customer-site-worker/src/index.ts +242 -0
  32. package/dist/static/customer-site-worker/src/mcp-proxy.ts +98 -0
  33. package/dist/static/customer-site-worker/src/proxy.ts +92 -0
  34. package/dist/static/customer-site-worker/src/proxyHeaders.ts +47 -0
  35. package/dist/static/customer-site-worker/src/tier.ts +40 -0
  36. package/dist/static/customer-site-worker/src/types.ts +82 -0
  37. package/dist/static/customer-site-worker/test/functions-mock.worker.js +50 -0
  38. package/dist/static/customer-site-worker/tsconfig.json +19 -0
  39. package/dist/static/customer-site-worker/vitest.workers.config.ts +61 -0
  40. package/dist/static/install/husky/colors.mjs +5 -0
  41. package/dist/static/install/husky/hooks/commit-msg +1 -0
  42. package/dist/static/install/husky/hooks/pre-commit +1 -0
  43. package/dist/static/install/husky/hooks/pre-push +1 -0
  44. package/dist/static/install/husky/valid-command.mjs +29 -0
  45. package/dist/static/install/husky/valid-commit-msg.mjs +20 -0
  46. package/dist/static/install/package.json +10 -0
  47. package/dist/static/install/packages.txt +4 -0
  48. package/dist/static/install/tasks.json +111 -0
  49. package/dist/static/javascript/detectIncognito.js +195 -0
  50. package/dist/static/javascript/documentation.js +2781 -0
  51. package/dist/static/javascript/fp/fp.esm.js +2896 -0
  52. package/dist/static/javascript/fp/fp.js +3067 -0
  53. package/dist/static/javascript/live-search.js +986 -0
  54. package/dist/static/javascript/lunr-search.js +843 -0
  55. package/dist/static/javascript/timeme.js +451 -0
  56. package/dist/static/javascript/tracker/webmcp.js +67 -0
  57. package/dist/static/javascript/tracker/whisper.js +1 -0
  58. package/dist/static/javascript/utilities.js +819 -0
  59. package/dist/static/javascript/versions.json +74 -0
  60. package/dist/static/javascript/zoomable.js +488 -0
  61. package/dist/static/site/_data/eleventyComputed.js +228 -0
  62. package/dist/static/site/_data/leed-form-data.json +253 -0
  63. package/dist/static/site/_includes/leed/api/bits/array-type.hbs +24 -0
  64. package/dist/static/site/_includes/leed/api/bits/badges.hbs +9 -0
  65. package/dist/static/site/_includes/leed/api/bits/description.hbs +9 -0
  66. package/dist/static/site/_includes/leed/api/bits/examples.hbs +42 -0
  67. package/dist/static/site/_includes/leed/api/bits/scopes.hbs +28 -0
  68. package/dist/static/site/_includes/leed/api/object.hbs +110 -0
  69. package/dist/static/site/_includes/leed/api/parameters.hbs +11 -0
  70. package/dist/static/site/_includes/leed/api/property.hbs +153 -0
  71. package/dist/static/site/_includes/leed/api/request-body.hbs +51 -0
  72. package/dist/static/site/_includes/leed/api/responses.hbs +89 -0
  73. package/dist/static/site/_includes/leed/api/security-constraints.hbs +59 -0
  74. package/dist/static/site/_includes/leed/api/security.hbs +75 -0
  75. package/dist/static/site/_includes/leed/components/pagination.hbs +45 -0
  76. package/dist/static/site/_includes/leed/components/scroll-status-indicator-horizontal.hbs +22 -0
  77. package/dist/static/site/_includes/leed/docs/alpha/api.hbs +6 -0
  78. package/dist/static/site/_includes/leed/docs/alpha/base.hbs +26 -0
  79. package/dist/static/site/_includes/leed/docs/alpha/documentation.hbs +7 -0
  80. package/dist/static/site/_includes/leed/docs/api-article.hbs +75 -0
  81. package/dist/static/site/_includes/leed/docs/bravo/api.hbs +5 -0
  82. package/dist/static/site/_includes/leed/docs/bravo/base.hbs +31 -0
  83. package/dist/static/site/_includes/leed/docs/bravo/documentation.hbs +7 -0
  84. package/dist/static/site/_includes/leed/docs/charlie/api.hbs +6 -0
  85. package/dist/static/site/_includes/leed/docs/charlie/base.hbs +27 -0
  86. package/dist/static/site/_includes/leed/docs/charlie/documentation.hbs +10 -0
  87. package/dist/static/site/_includes/leed/docs/doc-article.hbs +40 -0
  88. package/dist/static/site/_includes/leed/docs/docs-footer.hbs +35 -0
  89. package/dist/static/site/_includes/leed/docs/docs-header.hbs +59 -0
  90. package/dist/static/site/_includes/leed/docs/document-search-modal.hbs +36 -0
  91. package/dist/static/site/_includes/leed/docs/document-search.hbs +23 -0
  92. package/dist/static/site/_includes/leed/docs/footer.hbs +12 -0
  93. package/dist/static/site/_includes/leed/docs/header/brand.hbs +19 -0
  94. package/dist/static/site/_includes/leed/docs/header/chrome.hbs +33 -0
  95. package/dist/static/site/_includes/leed/docs/header/compact.hbs +19 -0
  96. package/dist/static/site/_includes/leed/docs/header/cta.hbs +15 -0
  97. package/dist/static/site/_includes/leed/docs/header/nav.hbs +18 -0
  98. package/dist/static/site/_includes/leed/docs/header/top-search.hbs +15 -0
  99. package/dist/static/site/_includes/leed/docs/mini-bar.hbs +53 -0
  100. package/dist/static/site/_includes/leed/docs/pagination.hbs +19 -0
  101. package/dist/static/site/_includes/leed/docs/shell.hbs +56 -0
  102. package/dist/static/site/_includes/leed/docs/sidebar.hbs +52 -0
  103. package/dist/static/site/_includes/leed/docs/social-icons.hbs +81 -0
  104. package/dist/static/site/_includes/leed/docs/style.hbs +17 -0
  105. package/dist/static/site/_includes/leed/docs/toc.hbs +7 -0
  106. package/dist/static/site/_includes/leed/form.hbs +266 -0
  107. package/dist/static/site/_includes/leed/head.hbs +67 -0
  108. package/dist/static/site/_includes/leed/menu/builder.hbs +35 -0
  109. package/dist/static/site/_includes/leed/menu/item.hbs +67 -0
  110. package/dist/static/site/_includes/leed/menu/link.hbs +59 -0
  111. package/dist/static/site/_includes/leed/metadata/ogCard.hbs +40 -0
  112. package/dist/static/site/_includes/leed/metadata/siteMetadata.hbs +24 -0
  113. package/dist/static/site/_includes/leed/metadata/twitterCard.hbs +34 -0
  114. package/dist/static/site/_includes/leed/popup-video.hbs +21 -0
  115. package/dist/static/site/_includes/leed/stub-template.hbs +17 -0
  116. package/dist/static/site/_includes/leed/unsubscribe-form.hbs +30 -0
  117. package/dist/static/site/_layouts/leed-documentation.hbs +12 -0
  118. package/dist/static/site/leed-feed-atom.hbs +42 -0
  119. package/dist/static/site/leed-feed-json.hbs +56 -0
  120. package/dist/static/site/leed-feed-rss.hbs +39 -0
  121. package/dist/static/site/leed-headers.hbs +38 -0
  122. package/dist/static/site/leed-redirects.hbs +10 -0
  123. package/dist/static/site/leed-sitemap-pageType.hbs +28 -0
  124. package/dist/static/site/leed-sitemap.hbs +19 -0
  125. package/dist/static/site/leed-unsubscribe.hbs +44 -0
  126. package/dist/static/site/leed-unsubscribed.hbs +40 -0
  127. package/dist/static/tailwind/components/alerts.css +132 -0
  128. package/dist/static/tailwind/components/api-methods.css +39 -0
  129. package/dist/static/tailwind/components/breadcrumbs.css +31 -0
  130. package/dist/static/tailwind/components/code.css +88 -0
  131. package/dist/static/tailwind/components/collapsible.css +38 -0
  132. package/dist/static/tailwind/components/document-search.css +222 -0
  133. package/dist/static/tailwind/components/form.css +185 -0
  134. package/dist/static/tailwind/components/kbd.css +7 -0
  135. package/dist/static/tailwind/components/pagination.css +81 -0
  136. package/dist/static/tailwind/components/scroll-status-indicator.css +5 -0
  137. package/dist/static/tailwind/components/tab-groups.css +117 -0
  138. package/dist/static/tailwind/components/tables.css +0 -0
  139. package/dist/static/tailwind/components/toc.css +60 -0
  140. package/dist/static/tailwind/components.css +248 -0
  141. package/dist/static/tailwind/defaults.css +260 -0
  142. package/dist/static/tailwind/docs/api.css +701 -0
  143. package/dist/static/tailwind/docs/components/blockquote.css +5 -0
  144. package/dist/static/tailwind/docs/components/button.css +11 -0
  145. package/dist/static/tailwind/docs/components/docs-pagination.css +71 -0
  146. package/dist/static/tailwind/docs/components/mobile-bar.css +83 -0
  147. package/dist/static/tailwind/docs/components/navigation.css +279 -0
  148. package/dist/static/tailwind/docs/components/table.css +54 -0
  149. package/dist/static/tailwind/docs/components.css +6 -0
  150. package/dist/static/tailwind/docs/docs.css +427 -0
  151. package/dist/static/tailwind/docs/layouts/alpha.css +108 -0
  152. package/dist/static/tailwind/docs/layouts/bravo.css +218 -0
  153. package/dist/static/tailwind/docs/layouts/charlie.css +105 -0
  154. package/dist/static/tailwind/docs/layouts.css +3 -0
  155. package/dist/static/tailwind/docs/themes/amber.css +113 -0
  156. package/dist/static/tailwind/docs/themes/blue.css +94 -0
  157. package/dist/static/tailwind/docs/themes/cyan.css +111 -0
  158. package/dist/static/tailwind/docs/themes/emerald.css +111 -0
  159. package/dist/static/tailwind/docs/themes/fuchsia.css +111 -0
  160. package/dist/static/tailwind/docs/themes/green.css +95 -0
  161. package/dist/static/tailwind/docs/themes/indigo.css +111 -0
  162. package/dist/static/tailwind/docs/themes/lime.css +111 -0
  163. package/dist/static/tailwind/docs/themes/orange.css +111 -0
  164. package/dist/static/tailwind/docs/themes/pink.css +111 -0
  165. package/dist/static/tailwind/docs/themes/purple.css +111 -0
  166. package/dist/static/tailwind/docs/themes/red.css +111 -0
  167. package/dist/static/tailwind/docs/themes/rose.css +111 -0
  168. package/dist/static/tailwind/docs/themes/sky.css +111 -0
  169. package/dist/static/tailwind/docs/themes/teal.css +111 -0
  170. package/dist/static/tailwind/docs/themes/violet.css +111 -0
  171. package/dist/static/tailwind/docs/themes/yellow.css +111 -0
  172. package/dist/static/tailwind/docs/themes.css +84 -0
  173. package/dist/static/tailwind/font-awesome/free-7.3.1/brands.css +2455 -0
  174. package/dist/static/tailwind/font-awesome/free-7.3.1/fontawesome.css +8997 -0
  175. package/dist/static/tailwind/font-awesome/free-7.3.1/fonts.css +45 -0
  176. package/dist/static/tailwind/font-awesome/free-7.3.1/icons.json +2608 -0
  177. package/dist/static/tailwind/font-awesome/free-7.3.1.css +3 -0
  178. package/dist/static/tailwind/font-awesome/pro-7.0.0/brands.css +2215 -0
  179. package/dist/static/tailwind/font-awesome/pro-7.0.0/fontawesome.css +19281 -0
  180. package/dist/static/tailwind/font-awesome/pro-7.0.0/fonts.css +445 -0
  181. package/dist/static/tailwind/font-awesome/pro-7.0.0.css +3 -0
  182. package/dist/static/tailwind/font-awesome/pro-7.3.1/brands.css +2455 -0
  183. package/dist/static/tailwind/font-awesome/pro-7.3.1/fontawesome.css +20365 -0
  184. package/dist/static/tailwind/font-awesome/pro-7.3.1/fonts.css +589 -0
  185. package/dist/static/tailwind/font-awesome/pro-7.3.1.css +3 -0
  186. package/dist/static/tailwind/fonts/all.css +6 -0
  187. package/dist/static/tailwind/fonts/config.jsonc +31 -0
  188. package/dist/static/tailwind/fonts/geist-mono.css +142 -0
  189. package/dist/static/tailwind/fonts/geist.css +142 -0
  190. package/dist/static/tailwind/fonts/inter.css +215 -0
  191. package/dist/static/tailwind/fonts/jetbrains-mono.css +126 -0
  192. package/dist/static/tailwind/fonts/noto-sans.css +134 -0
  193. package/dist/static/tailwind/fonts/open-sans.css +89 -0
  194. package/dist/static/tailwind/highlighters.css +14 -0
  195. package/dist/static/tailwind/hljs/README.md +53 -0
  196. package/dist/static/tailwind/hljs/a11y.css +96 -0
  197. package/dist/static/tailwind/hljs/atom-fruit.css +90 -0
  198. package/dist/static/tailwind/hljs/atom-one.css +164 -0
  199. package/dist/static/tailwind/hljs/default.css +164 -0
  200. package/dist/static/tailwind/hljs/github.css +101 -0
  201. package/dist/static/tailwind/hljs/google-code.css +112 -0
  202. package/dist/static/tailwind/hljs/grayscale.css +115 -0
  203. package/dist/static/tailwind/hljs/gruvbox-hard.css +115 -0
  204. package/dist/static/tailwind/hljs/gruvbox-medium.css +115 -0
  205. package/dist/static/tailwind/hljs/gruvbox-soft.css +115 -0
  206. package/dist/static/tailwind/hljs/papercolor.css +120 -0
  207. package/dist/static/tailwind/hljs/qt-creator.css +91 -0
  208. package/dist/static/tailwind/hljs/summerfruit.css +115 -0
  209. package/dist/static/tailwind/hljs/tomorrow.css +115 -0
  210. package/dist/static/tailwind/leed.css +170 -0
  211. package/dist/static/tailwind/site-tokens.reference.css +105 -0
  212. package/dist/static/tailwind/utils/icons.css +102 -0
  213. package/dist/static/tailwind/utils/utilities.css +105 -0
  214. package/dist/static/templates/pages/PAGE.hbs +27 -0
  215. package/dist/static/templates/pages/PAGE_LAYOUT.hbs +19 -0
  216. package/dist/static/templates/pages/PAGE_TYPE_INDEX.hbs +89 -0
  217. package/dist/static/templates/pages/PAGINATED_PAGE_TYPE_ITEM.hbs +52 -0
  218. package/dist/static/templates/pages/PAGINATED_PAGE_TYPE_LIST.hbs +39 -0
  219. package/dist/static/templates/pages/PAGINATED_PAGE_TYPE_PAGINATION.hbs +11 -0
  220. package/dist/static/templates/raw-content/.ci/build.sh +58 -0
  221. package/dist/static/templates/raw-content/README.md +179 -0
  222. package/dist/static/templates/raw-content/_gitignore +50 -0
  223. package/dist/static/templates/raw-content/src/404.hbs +21 -0
  224. package/dist/static/templates/raw-content/src/_data/autolink.json +1 -0
  225. package/dist/static/templates/raw-content/src/_data/ctaList.json +1 -0
  226. package/dist/static/templates/raw-content/src/_data/leedForms.json +1 -0
  227. package/dist/static/templates/raw-content/src/_data/menu.json +1 -0
  228. package/dist/static/templates/raw-content/src/_includes/footer.hbs +18 -0
  229. package/dist/static/templates/raw-content/src/_includes/header-includes.hbs +25 -0
  230. package/dist/static/templates/raw-content/src/_includes/header.hbs +5 -0
  231. package/dist/static/templates/raw-content/src/_includes/site-template.hbs +23 -0
  232. package/dist/static/templates/raw-content/src/_includes/unsubscribe-DISABLED.hbs +17 -0
  233. package/dist/static/templates/raw-content/src/_includes/unsubscribed-DISABLED.hbs +13 -0
  234. package/dist/static/templates/raw-content/src/_layouts/empty.hbs +2 -0
  235. package/dist/static/templates/raw-content/src/index.hbs +21 -0
  236. package/dist/static/templates/raw-content/src/robots.hbs +9 -0
  237. package/dist/static/templates/raw-content/tailwind/site/base.css +44 -0
  238. package/dist/static/templates/raw-content/tailwind/site.config.css +3 -0
  239. package/dist/static/templates/sandbox/_gitignore +50 -0
  240. package/dist/static/templates/sandbox/identity.json +1 -0
  241. package/dist/static/templates/sandbox/src/404.hbs +21 -0
  242. package/dist/static/templates/sandbox/src/_data/autolink.json +1 -0
  243. package/dist/static/templates/sandbox/src/_data/ctaList.json +1 -0
  244. package/dist/static/templates/sandbox/src/_data/labelList.json +9 -0
  245. package/dist/static/templates/sandbox/src/_data/leedForms.json +20 -0
  246. package/dist/static/templates/sandbox/src/_data/menu.json +19 -0
  247. package/dist/static/templates/sandbox/src/_data/pageTypeList.json +14 -0
  248. package/dist/static/templates/sandbox/src/_data/searchIndexList.json +1 -0
  249. package/dist/static/templates/sandbox/src/_data/userList.json +11 -0
  250. package/dist/static/templates/sandbox/src/_includes/footer.hbs +18 -0
  251. package/dist/static/templates/sandbox/src/_includes/header-includes.hbs +25 -0
  252. package/dist/static/templates/sandbox/src/_includes/header.hbs +5 -0
  253. package/dist/static/templates/sandbox/src/_includes/site-template.hbs +23 -0
  254. package/dist/static/templates/sandbox/src/_layouts/empty.hbs +2 -0
  255. package/dist/static/templates/sandbox/src/index.hbs +20 -0
  256. package/dist/static/templates/sandbox/src/robots.hbs +9 -0
  257. package/dist/static/templates/sandbox/src/src.11tydata.json +39 -0
  258. package/dist/static/templates/sandbox/tailwind/site/base.css +44 -0
  259. package/dist/static/templates/sandbox/tailwind/site.config.css +3 -0
  260. package/dist/thrown-sukVkp_1.js +113 -0
  261. package/dist/typescript-D4T0V_Hn.js +23004 -0
  262. package/dist/yaml-9wR8GxF_.js +5236 -0
  263. package/package.json +157 -4
@@ -0,0 +1,110 @@
1
+ {{!-- Common object partial for rendering schema objects and arrays --}}
2
+ {{#if schema}}
3
+ {{#unless skipHeader}}
4
+ <div class="api-item api-object-item">
5
+ <div class="api-property-header">
6
+ <div class="api-property-name-section">
7
+ <span class="api-name api-property-name">
8
+ {{#if schema.objectName}}
9
+ {{schema.objectName}}
10
+ {{else}}
11
+ {{#if (eq schema.type "array")}}
12
+ {{> leed/api/bits/array-type items=schema.items}}
13
+ {{else}}
14
+ Object
15
+ {{/if}}
16
+ {{/if}}
17
+ </span>
18
+ {{#if schema.objectName}}
19
+ <span class="api-type api-property-type">
20
+ {{#if (eq schema.type "array")}}
21
+ {{> leed/api/bits/array-type items=schema.items isUnion=schema.isUnion}}
22
+ {{else}}
23
+ object
24
+ {{/if}}
25
+ </span>
26
+ {{/if}}
27
+ {{!-- If required is defined, show the required or optional badge --}}
28
+ {{#is (typeOf required) "boolean"}}
29
+ {{> leed/api/bits/badges required=required nullable=nullable}}
30
+ {{/is}}
31
+ </div>
32
+ </div>
33
+ {{/unless}}
34
+
35
+ {{#firstTruthy description schema.description }}
36
+ {{> leed/api/bits/description description=this }}
37
+ {{/firstTruthy}}
38
+
39
+ {{!-- Union type descriptions --}}
40
+ {{#if schema.isUnion}}
41
+ <div class="api-description union-type-description">
42
+ <p>Must satisfy {{#if (eq schema.unionType "oneOf")}}exactly{{else}}at least{{/if}} one of {{length schema.items}} schemas</p>
43
+ </div>
44
+ {{/if}}
45
+
46
+ {{!-- Handle union types (anyOf/oneOf) --}}
47
+ {{#if schema.isUnion}}
48
+ <div class="api-property-details">
49
+ {{#if (eq schema.type "array")}}
50
+ <div class="api-union-items">
51
+ {{#each schema.items}}
52
+ <div class="api-item api-property-item">
53
+ <div class="api-property-header">
54
+ <div class="api-property-name-section union-type-header">
55
+ <span class="api-name api-property-name">Option {{add @index 1}}</span>
56
+ {{#if this.type}}
57
+ <span class="api-type api-property-type api-type-{{this.type}}">{{this.type}}</span>
58
+ {{/if}}
59
+ </div>
60
+ </div>
61
+
62
+ {{#if this.properties}}
63
+ <div class="api-property-details">
64
+ {{#each this.properties}}
65
+ {{> leed/api/property name=@key schema=this required=this.required description=this.description example=this.example}}
66
+ {{/each}}
67
+ </div>
68
+ {{/if}}
69
+ </div>
70
+ {{/each}}
71
+ </div>
72
+ {{/if}}
73
+ </div>
74
+ {{else}}
75
+ {{#or (and (eq schema.type "array") (not schema.isUnion)) schema.properties }}
76
+ <div class="api-property-details">
77
+
78
+ {{!-- Handle non-union array items --}}
79
+ {{#and (eq schema.type "array") schema.items (not schema.isUnion) }}
80
+ <div class="api-array-items">
81
+ <div class="api-array-type">
82
+ {{> leed/api/bits/array-type items=schema.items}}
83
+ </div>
84
+
85
+ {{> leed/api/bits/description description=schema.items.description}}
86
+
87
+ {{#if schema.items.properties}}
88
+ <div class="api-array-properties">
89
+ {{#each schema.items.properties}}
90
+ {{> leed/api/property name=@key schema=this required=this.required description=this.description example=this.example}}
91
+ {{/each}}
92
+ </div>
93
+ {{/if}}
94
+ </div>
95
+ {{/and}}
96
+
97
+ {{!-- Handle object properties --}}
98
+ {{#if schema.properties}}
99
+ {{#each schema.properties}}
100
+ {{> leed/api/property name=@key schema=this required=this.required description=this.description example=this.example}}
101
+ {{/each}}
102
+ {{/if}}
103
+ </div>
104
+ {{/or}}
105
+ {{/if}}
106
+
107
+ {{#unless skipHeader}}
108
+ </div>
109
+ {{/unless}}
110
+ {{/if}}
@@ -0,0 +1,11 @@
1
+ {{#if parameters }}
2
+ <div class="api-section api-params-section">
3
+ <h2 class="api-section-title">{{ paramType }} Parameters</h2>
4
+
5
+ <div class="api-property-details">
6
+ {{#each parameters}}
7
+ {{> leed/api/property name=name schema=schema required=required description=description example=example}}
8
+ {{/each}}
9
+ </div>
10
+ </div>
11
+ {{/if}}
@@ -0,0 +1,153 @@
1
+ {{!-- Unified partial for rendering both parameters and object properties --}}
2
+ <div class="api-item api-property-item" data-property-name="{{name}}" x-data="{ expanded: false }">
3
+ <div class="api-property-header{{#if schema.enum}} enum-toggle{{/if}}"
4
+ {{#if schema.enum}}@click="expanded = !expanded" {{/if}}>
5
+ <div class="api-property-name-section">
6
+ {{#if schema.enum}}
7
+ <i class="api-property-chevron fa-solid leed-icon-chevron-right" :class="{ 'rotate-90': expanded }"></i>
8
+ {{/if}}
9
+ <span class="api-name api-property-name">{{name}}:</span>
10
+ <span class="api-type api-property-type api-type-{{schema.type}}">
11
+ {{#if schema.enum}}
12
+ <span class="enum-type-display" data-enum-count="{{schema.enum.length}}">
13
+ <span class="enum-values-inline" x-show="!expanded">
14
+ {{#each schema.enum}}
15
+ {{#if (lt @index 2)}}
16
+ <span class="enum-value-inline">"{{this}}"</span>
17
+ {{/if}}
18
+ {{/each}}
19
+ {{#if (gt (length schema.enum) 2)}}
20
+ <span class="enum-value-inline enum-ellipsis">...</span>
21
+ {{/if}}
22
+ </span>
23
+ <span x-show="expanded">enum</span>
24
+ </span>
25
+ {{else if (eq schema.type "array")}}
26
+ {{> leed/api/bits/array-type items=schema.items withSpans=true}}
27
+ {{else}}
28
+ {{schema.type}}{{#if (and (or schema.format schema.contentType) (not (or (eq schema.type "number") (eq schema.type "integer"))))}} <span class="constraint-item">({{#if schema.format}}{{schema.format}}{{else}}{{schema.contentType}}{{/if}})</span>{{/if}}
29
+ {{/if}}
30
+ </span>
31
+ {{> leed/api/bits/badges required=required nullable=nullable}}
32
+
33
+ {{!-- Compact constraints display for schema properties --}}
34
+ {{#if (or minimum maximum schema.default maxLength minLength maxItems (and (eq schema.type "array")
35
+ schema.items.maxLength))}}
36
+ <div class="api-property-compact-constraints">
37
+ <span class="compact-constraints">
38
+ {{#if minimum}}
39
+ <span class="constraint-item">minimum: {{minimum}}</span>
40
+ {{/if}}
41
+ {{#if maximum}}
42
+ <span class="constraint-item">maximum: {{maximum}}</span>
43
+ {{/if}}
44
+ {{#if minLength}}
45
+ <span class="constraint-item">minLength: {{minLength}}</span>
46
+ {{/if}}
47
+ {{#if maxLength}}
48
+ <span class="constraint-item">maxLength: {{maxLength}}</span>
49
+ {{/if}}
50
+ {{#and (eq schema.type "array") schema.items.maxLength }}
51
+ <span class="constraint-item">maxLength: {{schema.items.maxLength}}</span>
52
+ {{/and}}
53
+ {{#if maxItems}}
54
+ <span class="constraint-item">maxItems: {{maxItems}}</span>
55
+ {{/if}}
56
+ {{#if (isArray schema.default) }}
57
+ <span class="constraint-item">
58
+ default: [{{#each schema.default}}"{{this}}"{{#unless @last}},{{/unless}}{{/each}}]
59
+ </span>
60
+ {{else}}
61
+ {{#if schema.default }}
62
+ <span class="constraint-item">default: {{schema.default}}</span>
63
+ {{/if}}
64
+ {{/if}}
65
+ </span>
66
+ </div>
67
+ {{/if}}
68
+ </div>
69
+ </div>
70
+
71
+ {{> leed/api/bits/description description=description}}
72
+
73
+
74
+ {{!-- Handle examples with all logic moved to the template --}}
75
+ {{> leed/api/bits/examples example=example schema=schema}}
76
+
77
+ {{#if schema.pattern}}
78
+ <div class="api-property-constraints">
79
+ <div class="constraint-item">
80
+ <span class="constraint-label">Pattern:</span>
81
+ <code>{{schema.pattern}}</code>
82
+ </div>
83
+ </div>
84
+ {{/if}}
85
+
86
+ {{#if (or scopes (and (eq schema.type "object") schema.properties) (and (eq schema.type "array") schema.items schema.items.properties (not schema.isUnion)) schema.enum)}}
87
+ <div class="api-property-details{{#if (and schema.enum (not scopes) (not (and (eq schema.type "object") schema.properties)) (not (and (eq schema.type "array") schema.items schema.items.properties)))}} enum-details{{/if}}">
88
+ {{> leed/api/bits/scopes scopes=scopes type="property"}}
89
+
90
+ {{!-- Recursively render nested objects and arrays --}}
91
+ {{#if (and (eq schema.type "object") schema.properties)}}
92
+ <div class="api-nested-object">
93
+ {{#each schema.properties}}
94
+ {{!-- Skip circularRef properties as they're just markers --}}
95
+ {{#unless (eq @key "circularRef")}}
96
+ <div class="api-item api-property-item">
97
+ <div class="api-property-header">
98
+ <div class="api-property-name-section">
99
+ <span class="api-name api-property-name">{{@key}}:</span>
100
+ <span class="api-type api-property-type api-type-{{this.type}}">
101
+ {{#if (eq this.type "array")}}
102
+ {{> leed/api/bits/array-type items=this.items withSpans=true}}
103
+ {{else}}
104
+ {{this.type}}
105
+ {{/if}}
106
+ </span>
107
+ {{> leed/api/bits/badges required=this.required}}
108
+ </div>
109
+ </div>
110
+ {{> leed/api/bits/description description=this.description}}
111
+ {{> leed/api/bits/examples example=this.example isNested=true}}
112
+ </div>
113
+ {{/unless}}
114
+ {{/each}}
115
+ </div>
116
+ {{/if}}
117
+
118
+ {{!-- Handle array items --}}
119
+ {{#if (and (eq schema.type "array") schema.items)}}
120
+ {{#if schema.isUnion}}
121
+ {{!-- Union arrays: schema.items is an array of different object types --}}
122
+ {{> leed/api/object schema=schema skipHeader=true}}
123
+ {{else if schema.items.properties}}
124
+ {{!-- Regular arrays: schema.items is a single object with properties --}}
125
+ <div class="api-array-properties">
126
+ {{#each schema.items.properties}}
127
+ {{!-- Skip circularRef properties as they're just markers --}}
128
+ {{#unless (eq @key "circularRef")}}
129
+ {{> leed/api/property name=@key schema=this required=this.required description=this.description
130
+ example=this.example}}
131
+ {{/unless}}
132
+ {{/each}}
133
+ </div>
134
+ {{/if}}
135
+ {{/if}}
136
+
137
+ {{!-- Expanded enum values (hidden by default) --}}
138
+ {{#if schema.enum}}
139
+ <div class="api-enum-expanded" x-show="expanded">
140
+ {{#each schema.enum}}
141
+ <div class="enum-value-expanded">"{{this}}"</div>
142
+ {{/each}}
143
+ </div>
144
+ {{/if}}
145
+ </div>
146
+ {{/if}}
147
+
148
+ {{!-- Handle union arrays separately to avoid extra wrapper --}}
149
+ {{#if (and (eq schema.type "array") schema.items schema.isUnion)}}
150
+ {{> leed/api/object schema=schema skipHeader=true}}
151
+ {{/if}}
152
+
153
+ </div>
@@ -0,0 +1,51 @@
1
+ {{#if requestBody}}
2
+ <div class="api-section" x-data="requestBodySelector()">
3
+ <!-- Request Body Header Row -->
4
+ <div class="api-property-header request-body-row">
5
+ <div class="api-property-name-section">
6
+ <h2 class="api-section-title">Body</h2>
7
+ </div>
8
+ <div class="api-unified-select-wrapper request-body-selector" :class="{ 'open': contentTypeOpen }">
9
+ <div class="api-selection" @click.away="contentTypeOpen = false">
10
+ <button @click="contentTypeOptionsCount > 1 ? contentTypeOpen = !contentTypeOpen : null"
11
+ class="api-dropdown-btn request-body-content-type-select"
12
+ :class="{ 'disabled': contentTypeOptionsCount <= 1 }"
13
+ type="button"
14
+ role="combobox"
15
+ :aria-expanded="contentTypeOpen"
16
+ :aria-haspopup="true"
17
+ :aria-disabled="contentTypeOptionsCount <= 1"
18
+ :tabindex="contentTypeOptionsCount > 1 ? 0 : -1">
19
+ <span x-text="selectedContentType || 'Select content type'"></span>
20
+ <i class="fa-solid leed-icon-chevron-down" :class="{ 'rotate-180': contentTypeOpen }"></i>
21
+ </button>
22
+ <ul x-cloak x-show="contentTypeOpen" class="api-list">
23
+ {{#each requestBody.contentTypes}}
24
+ <li @click.prevent="selectedContentType = '{{mediaType}}'; contentTypeOpen = false"
25
+ class="api-item"
26
+ :class="{ 'selected': selectedContentType === '{{mediaType}}' }"
27
+ role="option"
28
+ :aria-selected="selectedContentType === '{{mediaType}}'"
29
+ data-value="{{mediaType}}">
30
+ <div class="title">
31
+ <span>{{mediaType}}</span>
32
+ </div>
33
+ </li>
34
+ {{/each}}
35
+ </ul>
36
+ </div>
37
+ </div>
38
+ </div>
39
+
40
+ <!-- Request Body Content -->
41
+ {{#each requestBody.contentTypes}}
42
+ <div class="api-content-container api-property-item"
43
+ data-media-type="{{mediaType}}"
44
+ x-show="selectedContentType === '{{mediaType}}'"
45
+ style="display: none;">
46
+ {{!-- Use object partial to handle both objects and arrays --}}
47
+ {{> leed/api/object schema=schema description=../requestBody.description required=../requestBody.required}}
48
+ </div>
49
+ {{/each}}
50
+ </div>
51
+ {{/if}}
@@ -0,0 +1,89 @@
1
+ {{#if responses}}
2
+ <div class="api-section" x-data="responseSelector()">
3
+ <!-- Response Header Row -->
4
+ <div class="api-property-header response-row">
5
+ <div class="api-property-name-section">
6
+ <h2 class="api-section-title">Response</h2>
7
+ </div>
8
+ <div class="api-response-controls">
9
+ <div class="api-unified-select-wrapper" :class="{ 'open': statusOpen }">
10
+ <div class="api-selection" @click.away="statusOpen = false">
11
+ <button @click="statusOptionsCount > 1 ? statusOpen = !statusOpen : null"
12
+ class="api-dropdown-btn"
13
+ :class="{ 'disabled': statusOptionsCount <= 1 }"
14
+ type="button"
15
+ role="combobox"
16
+ :aria-expanded="statusOpen"
17
+ :aria-haspopup="true"
18
+ :aria-disabled="statusOptionsCount <= 1"
19
+ :tabindex="statusOptionsCount > 1 ? 0 : -1">
20
+ <span x-text="selectedStatus || 'Select status'"></span>
21
+ <i class="fa-solid leed-icon-chevron-down" :class="{ 'rotate-180': statusOpen }"></i>
22
+ </button>
23
+ <ul x-cloak x-show="statusOpen" class="api-list">
24
+ {{#each responses}}
25
+ <li @click.prevent="selectedStatus = '{{statusCode}}'; statusOpen = false"
26
+ class="api-item"
27
+ :class="{ 'selected': selectedStatus === '{{statusCode}}' }"
28
+ role="option"
29
+ :aria-selected="selectedStatus === '{{statusCode}}'"
30
+ data-value="{{statusCode}}"
31
+ data-description="{{description}}">
32
+ <div class="title">
33
+ <span>{{statusCode}}</span>
34
+ </div>
35
+ </li>
36
+ {{/each}}
37
+ </ul>
38
+ </div>
39
+ </div>
40
+ <div class="api-unified-select-wrapper" :class="{ 'open': contentTypeOpen }">
41
+ <div class="api-selection" @click.away="contentTypeOpen = false">
42
+ <button @click="contentTypeOptionsCount > 1 ? contentTypeOpen = !contentTypeOpen : null"
43
+ class="api-dropdown-btn"
44
+ :class="{ 'disabled': contentTypeOptionsCount <= 1 }"
45
+ type="button"
46
+ role="combobox"
47
+ :aria-expanded="contentTypeOpen"
48
+ :aria-haspopup="true"
49
+ :aria-disabled="contentTypeOptionsCount <= 1"
50
+ :tabindex="contentTypeOptionsCount > 1 ? 0 : -1">
51
+ <span x-text="selectedContentType || 'Select content type'"></span>
52
+ <i class="fa-solid leed-icon-chevron-down" :class="{ 'rotate-180': contentTypeOpen }"></i>
53
+ </button>
54
+ <ul x-cloak x-show="contentTypeOpen" class="api-list">
55
+ {{#each responses}}
56
+ {{#each contentTypes}}
57
+ <li @click.prevent="selectedContentType = '{{mediaType}}'; contentTypeOpen = false"
58
+ class="api-item"
59
+ :class="{ 'selected': selectedContentType === '{{mediaType}}' }"
60
+ role="option"
61
+ :aria-selected="selectedContentType === '{{mediaType}}'"
62
+ data-value="{{mediaType}}"
63
+ data-status-code="{{../statusCode}}">
64
+ <div class="title">
65
+ <span>{{mediaType}}</span>
66
+ </div>
67
+ </li>
68
+ {{/each}}
69
+ {{/each}}
70
+ </ul>
71
+ </div>
72
+ </div>
73
+ </div>
74
+ </div>
75
+
76
+ <!-- Response Content -->
77
+ {{#each responses}}
78
+ {{#each contentTypes}}
79
+ <div class="api-content-container api-response-fields-item"
80
+ data-status-code="{{../statusCode}}"
81
+ data-media-type="{{mediaType}}"
82
+ x-show="selectedStatus === '{{../statusCode}}' && selectedContentType === '{{mediaType}}'">
83
+ {{!-- Use object partial to handle both objects and arrays --}}
84
+ {{> leed/api/object schema=schema description=../description}}
85
+ </div>
86
+ {{/each}}
87
+ {{/each}}
88
+ </div>
89
+ {{/if}}
@@ -0,0 +1,59 @@
1
+ {{!-- Custom security constraints partial --}}
2
+ <div class="api-property-constraints">
3
+ {{#if scheme.description}}
4
+ <div class="api-description">
5
+ <p>{{scheme.description}}
6
+ {{#if (and scheme.scheme (eq scheme.scheme "bearer") scheme.bearerFormat)}}
7
+ (<code>{{scheme.bearerFormat}}</code>)
8
+ {{/if}}
9
+ </p>
10
+ </div>
11
+ {{/if}}
12
+
13
+
14
+ {{#if scheme.flows}}
15
+ {{#each scheme.flows}}
16
+ {{#if this.authorizationUrl}}
17
+ <div class="api-property-example">
18
+ <span class="constraint-label">Authorization URL:</span>
19
+ <code>{{this.authorizationUrl}}</code>
20
+ </div>
21
+ {{/if}}
22
+ {{#if this.tokenUrl}}
23
+ <div class="api-property-example">
24
+ <span class="constraint-label">Token URL:</span>
25
+ <code>{{this.tokenUrl}}</code>
26
+ </div>
27
+ {{/if}}
28
+ {{> leed/api/bits/scopes scopes=this.scopes type="security"}}
29
+ {{/each}}
30
+ {{/if}}
31
+
32
+ {{#if (and (eq scheme.type "http") scheme.scopes)}}
33
+ {{> leed/api/bits/scopes scopes=scheme.scopes type="security"}}
34
+ {{/if}}
35
+
36
+ {{#if (or (eq scheme.type "apiKey") (eq scheme.type "http"))}}
37
+ <div class="api-property-example">
38
+ <span class="constraint-label">{{scheme.in}}:</span>
39
+ <code>{{scheme.name}}: {{#if scheme.example}}{{scheme.example}}{{else}}key{{/if}}</code>
40
+ </div>
41
+ {{/if}}
42
+
43
+ {{#if (eq scheme.type "oauth2")}}
44
+ {{> leed/api/bits/examples example=scheme.example}}
45
+ {{/if}}
46
+
47
+ {{#if (eq scheme.type "openIdConnect")}}
48
+ {{#if scheme.openIdConnectUrl}}
49
+ <div class="api-property-example">
50
+ <span class="constraint-label">URL:</span>
51
+ <code>{{scheme.openIdConnectUrl}}</code>
52
+ </div>
53
+ {{/if}}
54
+
55
+ {{> leed/api/bits/scopes scopes=scheme.scopes type="security"}}
56
+
57
+ {{> leed/api/bits/examples example=scheme.example}}
58
+ {{/if}}
59
+ </div>
@@ -0,0 +1,75 @@
1
+ {{#if security}}
2
+ <div class="api-section" x-data="securitySelector()">
3
+ <!-- Security Header Row -->
4
+ <div class="api-property-header security-row">
5
+ <div class="api-property-name-section">
6
+ <h2 class="api-section-title">Security</h2>
7
+ </div>
8
+ <div class="api-unified-select-wrapper security-selector" :class="{ 'open': securityOpen }">
9
+ <div class="api-selection" @click.away="securityOpen = false">
10
+ <button @click="securityOptionsCount > 1 ? securityOpen = !securityOpen : null"
11
+ class="api-dropdown-btn security-select"
12
+ :class="{ 'disabled': securityOptionsCount <= 1 }"
13
+ type="button"
14
+ role="combobox"
15
+ :aria-expanded="securityOpen"
16
+ :aria-haspopup="true"
17
+ :aria-disabled="securityOptionsCount <= 1"
18
+ :tabindex="securityOptionsCount > 1 ? 0 : -1">
19
+ <span x-text="getSelectedSecurityName()"></span>
20
+ <i class="fa-solid leed-icon-chevron-down" :class="{ 'rotate-180': securityOpen }"></i>
21
+ </button>
22
+ <ul x-cloak x-show="securityOpen" class="api-list">
23
+ {{#each security}}
24
+ <li @click.prevent="selectedSecurity = '{{formatSecurityName this}}'; showSecurity(); securityOpen = false"
25
+ class="api-item"
26
+ :class="{ 'selected': selectedSecurity === '{{formatSecurityName this}}' }"
27
+ role="option"
28
+ :aria-selected="selectedSecurity === '{{formatSecurityName this}}'"
29
+ data-value="{{formatSecurityName this}}"
30
+ data-group-index="{{@index}}">
31
+ <div class="title">
32
+ <span>{{formatSecurityName this}}</span>
33
+ </div>
34
+ </li>
35
+ {{/each}}
36
+ </ul>
37
+ </div>
38
+ </div>
39
+ </div>
40
+
41
+ <!-- Security Content -->
42
+ {{#each security}}
43
+ <div class="api-item api-property-item"
44
+ data-security-group="{{@index}}"
45
+ x-show="selectedSecurity === '{{formatSecurityName this}}'"
46
+ style="display: none;">
47
+
48
+ {{#if (gt (length this) 1)}}
49
+ <div class="api-security-property-details">
50
+ <div class="api-description">
51
+ <p>This security method requires <strong>all</strong> of the following:</p>
52
+ </div>
53
+
54
+ {{#each this}}
55
+ <div class="api-security-nested-object">
56
+ <div class="api-security-property-details">
57
+ {{> leed/api/security-constraints scheme=scheme}}
58
+ </div>
59
+ </div>
60
+ {{/each}}
61
+ </div>
62
+ {{else}}
63
+ <!-- Single authentication method in this group -->
64
+ {{#each this}}
65
+ <div class="api-security-nested-object">
66
+ <div class="api-security-property-details">
67
+ {{> leed/api/security-constraints scheme=scheme}}
68
+ </div>
69
+ </div>
70
+ {{/each}}
71
+ {{/if}}
72
+ </div>
73
+ {{/each}}
74
+ </div>
75
+ {{/if}}
@@ -0,0 +1,45 @@
1
+ {{!--
2
+ Pagination component
3
+ @param {Object} [data] - The pagination list object. Defaults to @root/list if not provided.
4
+ Usage:
5
+ {{> leed/components/pagination }\} (uses @root/list)
6
+ {{> leed/components/pagination data=list }\} (explicit)
7
+ {{> leed/components/pagination data=myAlias }\} (custom alias)
8
+ --}}
9
+ {{#firstTruthy data @root/list }}
10
+ {{#gt this.pageCount 1}}
11
+ <div class="flex items-center mb-6 md:mb-0 justify-center md:justify-between mt-6 sm:border-t border-(--site-border-color) sm:py-6 sm:px-1">
12
+ <div class="flex flex-1 items-center justify-center md:justify-between flex-col gap-4 md:gap-0 md:flex-row">
13
+ <div class="pagination-page-range">
14
+ {{#PaginationRange true }}
15
+ <p class="text-sm ">
16
+ Showing <span class="font-semibold">{{ @rangeStart }}</span>
17
+ to <span class="font-semibold">{{ @rangeEnd }} </span>
18
+ of <span class="font-semibold">{{ @total }}</span>
19
+ results
20
+ </p>
21
+ {{/PaginationRange}}
22
+ </div>
23
+ <div>
24
+ <nav class="pagination-list isolate inline-flex -space-x-px rounded-md" aria-label="Pagination">
25
+ {{#if this.page.next }}
26
+ <a href="{{ @root/pagination.href.next }}" class="pagination-inactive rounded-l-md px-2">
27
+ <span class="sr-only">Previous</span>
28
+ <span class="arrow"><i class="back-arrow"></i></span>
29
+ </a>
30
+ {{/if}}
31
+
32
+ {{{ SmartPaginationLinks true }}}
33
+
34
+ {{#if this.page.previous }}
35
+ <a href="{{ @root/pagination.href.previous }}" class="pagination-inactive rounded-r-md px-2">
36
+ <span class="sr-only">Next</span>
37
+ <span class="arrow"><i class="next-arrow"></i></span>
38
+ </a>
39
+ {{/if}}
40
+ </nav>
41
+ </div>
42
+ </div>
43
+ </div>
44
+ {{/gt}}
45
+ {{/firstTruthy}}
@@ -0,0 +1,22 @@
1
+ {{!--
2
+ Reading progress for the element named by `scrollBarId`. The outer div is
3
+ the track and takes the start color; the inner one is the fill.
4
+
5
+ The fill is scaled, not widened. `percent` is recomputed on every animation
6
+ frame the reader scrolls, and `width` is a layout property — setting it that
7
+ often re-lays-out the bar and repaints, on every frame, for the whole length
8
+ of an article. A transform is composited: it never touches layout, so the
9
+ work leaves the main thread. Same pixels, and on a long documentation page
10
+ it is the difference between a scroll that stays smooth and one that does
11
+ not. `w-full` plus `origin-left` are what make scaleX(0..1) read as 0..100%.
12
+ --}}
13
+ {{#if scrollBarId }}
14
+ <div x-cloak id="scroll-status-indicator-horizontal"
15
+ class="w-full z-50 bg-(--scroll-status-indicator-horizontal-start-bg)"
16
+ x-data="scrollStatusIndicatorHorizontalHandler('{{ scrollBarId }}')"
17
+ aria-hidden="true">
18
+ <div class="h-0.75 w-full origin-left will-change-transform" :style="`transform: scaleX(${percent / 100})`"
19
+ :class="{'bg-(--scroll-status-indicator-horizontal-complete-bg)': percent === 100, 'bg-(--scroll-status-indicator-horizontal-partial-bg)': percent < 100 }">
20
+ </div>
21
+ </div>
22
+ {{/if}}
@@ -0,0 +1,6 @@
1
+ {{> leed/docs/mini-bar toc=false }}
2
+
3
+ {{!-- No right padding in larger size due to extra space from sidebar --}}
4
+ <main id="documentation" class="api-documentation docs-main">
5
+ {{> leed/docs/api-article footer=true }}
6
+ </main>
@@ -0,0 +1,26 @@
1
+ {{!--
2
+ Alpha layout: fixed-width three column page (sidebar / content / TOC) with a
3
+ centered search header. The footer lives inside the content column.
4
+
5
+ Partial calls that lead to page content MUST start at column 0 — Handlebars
6
+ indents a partial's whole output by its call site, which would indent the
7
+ rendered code blocks.
8
+ --}}
9
+ {{#> leed/docs/shell header="leed/docs/header/top-search" }}
10
+ {{!-- Main docs container --}}
11
+ <div id="docs-container" class="w-full max-w-[1408px] mx-auto">
12
+ {{!-- Main 3-column layout --}}
13
+ <div id="docs-layout" class="flex w-full">
14
+ {{> leed/docs/sidebar }}
15
+
16
+ {{!-- Content area (contains main content and TOC) --}}
17
+ <div id="docs-content-wrapper" class="flex-1 flex flex-col lg:flex-row min-w-0">
18
+ {{#if openapi.endpoint}}
19
+ {{> leed/docs/alpha/api }}
20
+ {{else}}
21
+ {{> leed/docs/alpha/documentation }}
22
+ {{/if}}
23
+ </div>
24
+ </div>
25
+ </div>
26
+ {{/leed/docs/shell}}