@directus/app 9.12.1 → 9.14.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 (485) hide show
  1. package/dist/assets/{@directus_extensions-sdk.9a1812c6.entry.js → @directus_extensions-sdk.016f1070.entry.js} +1 -1
  2. package/dist/assets/accounts.40ab36c1.js +1 -0
  3. package/dist/assets/{active-line.b42e95d2.js → active-line.71775521.js} +1 -1
  4. package/dist/assets/activity-log.9449feec.js +1 -0
  5. package/dist/assets/activity.fbd319d5.js +80 -0
  6. package/dist/assets/{apl.a10fee96.js → apl.fabbb08e.js} +1 -1
  7. package/dist/assets/ar-SA.215069dc.js +1 -0
  8. package/dist/assets/architecture.9e90b6f3.js +1 -0
  9. package/dist/assets/{asciiarmor.3440160d.js → asciiarmor.f87dc63a.js} +1 -1
  10. package/dist/assets/{asn.1.bdf78f70.js → asn.1.5dd57608.js} +1 -1
  11. package/dist/assets/{asterisk.88ae33f0.js → asterisk.395cf0ad.js} +1 -1
  12. package/dist/assets/authentication.bc20bce5.js +73 -0
  13. package/dist/assets/{autorefresh.fa8b7b34.js → autorefresh.2c9c0320.js} +1 -1
  14. package/dist/assets/aws.6652a1fd.js +1 -0
  15. package/dist/assets/backing-directus.02c28d29.js +1 -0
  16. package/dist/assets/bg-BG.9288ea83.js +1 -0
  17. package/dist/assets/bn-IN.4127b7a4.js +1 -0
  18. package/dist/assets/{br-FR.1ad76918.js → br-FR.d3564938.js} +1 -1
  19. package/dist/assets/{brainfuck.af40cbfc.js → brainfuck.60536f63.js} +1 -1
  20. package/dist/assets/{ca-ES.365a1fc4.js → ca-ES.f3dfdef6.js} +1 -1
  21. package/dist/assets/cli.6e61515e.js +19 -0
  22. package/dist/assets/cli.863ef0d2.js +4 -0
  23. package/dist/assets/{clike.75f55953.js → clike.74e0448b.js} +1 -1
  24. package/dist/assets/{clojure.f44f8182.js → clojure.8f96f0f7.js} +1 -1
  25. package/dist/assets/cloudron.a348537b.js +1 -0
  26. package/dist/assets/{cmake.dc51a5f4.js → cmake.723ea5dd.js} +1 -1
  27. package/dist/assets/{cobol.bd572fbc.js → cobol.a990507c.js} +1 -1
  28. package/dist/assets/codebase-overview.b46635f9.js +1 -0
  29. package/dist/assets/{coffeescript.903da3d2.js → coffeescript.c826a1f4.js} +1 -1
  30. package/dist/assets/collections.60e4b448.js +2 -0
  31. package/dist/assets/collections.80e4a52c.js +106 -0
  32. package/dist/assets/{commonlisp.0c024da5.js → commonlisp.0f5d3fae.js} +1 -1
  33. package/dist/assets/config-options.8e2d8e17.js +138 -0
  34. package/dist/assets/content.003d7d7c.js +1 -0
  35. package/dist/assets/creating-extensions.9a98925a.js +11 -0
  36. package/dist/assets/{crystal.80f7e1ba.js → crystal.8517c407.js} +1 -1
  37. package/dist/assets/cs-CZ.a3c83b73.js +1 -0
  38. package/dist/assets/{css.eb89b9da.js → css.f2b45d65.js} +1 -1
  39. package/dist/assets/{cypher.f649c40f.js → cypher.0f67a8c4.js} +1 -1
  40. package/dist/assets/{d.3e286089.js → d.d8c5a86d.js} +1 -1
  41. package/dist/assets/{da-DK.88f53a7d.js → da-DK.3c379038.js} +1 -1
  42. package/dist/assets/{dart.5b9bb9bb.js → dart.ff540412.js} +1 -1
  43. package/dist/assets/data-model.086edd1e.js +1 -0
  44. package/dist/assets/data-sharing.27afa5ee.js +1 -0
  45. package/dist/assets/de-DE.350023db.js +1 -0
  46. package/dist/assets/{diff.c63eafa7.js → diff.1b6cf85e.js} +1 -1
  47. package/dist/assets/digitalocean-app-platform.aff2a50b.js +3 -0
  48. package/dist/assets/display-templates.d8e93a19.js +1 -0
  49. package/dist/assets/displays.e528abde.js +49 -0
  50. package/dist/assets/{django.3a6905fc.js → django.b05a00dd.js} +1 -1
  51. package/dist/assets/{docker.e1bb4205.js → docker.6f265c46.js} +7 -7
  52. package/dist/assets/{dockerfile.a9f614c8.js → dockerfile.50e7896f.js} +1 -1
  53. package/dist/assets/documentation.ad1fdaf2.js +1 -0
  54. package/dist/assets/{dtd.5b2d40ab.js → dtd.4f30128b.js} +1 -1
  55. package/dist/assets/{dylan.744cd79f.js → dylan.295f582b.js} +1 -1
  56. package/dist/assets/{ebnf.6637a8f6.js → ebnf.48a4d2a4.js} +1 -1
  57. package/dist/assets/{ecl.cdabfae6.js → ecl.686a8714.js} +1 -1
  58. package/dist/assets/{eiffel.60b61e7f.js → eiffel.ee4a91b5.js} +1 -1
  59. package/dist/assets/{el-GR.98199dde.js → el-GR.103ebf8d.js} +1 -1
  60. package/dist/assets/{elm.74b68fc8.js → elm.3575efea.js} +1 -1
  61. package/dist/assets/email-templates.2bdb87a6.js +2 -0
  62. package/dist/assets/{en-CA.58d818b8.js → en-CA.9ad3a3ab.js} +1 -1
  63. package/dist/assets/{en-GB.74320d21.js → en-GB.c55341c7.js} +1 -1
  64. package/dist/assets/endpoints.2c9172db.js +27 -0
  65. package/dist/assets/{erlang.d6cd5265.js → erlang.2f06eab4.js} +1 -1
  66. package/dist/assets/es-419.10094709.js +1 -0
  67. package/dist/assets/es-CL.7f44ec7c.js +1 -0
  68. package/dist/assets/es-ES.3ff9088e.js +1 -0
  69. package/dist/assets/es-MX.17370b17.js +1 -0
  70. package/dist/assets/{et-EE.9e35920e.js → et-EE.fb46a361.js} +1 -1
  71. package/dist/assets/extensions.8d3df212.js +12 -0
  72. package/dist/assets/{fa-IR.f3dc75f9.js → fa-IR.b864f77c.js} +1 -1
  73. package/dist/assets/{factor.965cfdad.js → factor.59c6a149.js} +1 -1
  74. package/dist/assets/faq.63c79c18.js +2 -0
  75. package/dist/assets/{fcl.e515f605.js → fcl.a6a387b9.js} +1 -1
  76. package/dist/assets/{fi-FI.42afdce0.js → fi-FI.14f31cb4.js} +1 -1
  77. package/dist/assets/fields.715d4591.js +135 -0
  78. package/dist/assets/file-library.a4de4015.js +1 -0
  79. package/dist/assets/files.7c2ccfe2.js +189 -0
  80. package/dist/assets/filter-rules.056b97be.js +76 -0
  81. package/dist/assets/filters.2cb82fd9.js +1 -0
  82. package/dist/assets/flows.38f60cc8.js +172 -0
  83. package/dist/assets/flows.f378a262.js +15 -0
  84. package/dist/assets/{fo-FO.ffe478b0.js → fo-FO.cc444b75.js} +1 -1
  85. package/dist/assets/folders.fa66a5ce.js +132 -0
  86. package/dist/assets/{forth.c62ab807.js → forth.eec0a81d.js} +1 -1
  87. package/dist/assets/{fortran.c0e428c5.js → fortran.b9df31da.js} +1 -1
  88. package/dist/assets/fr-CA.0e824ae4.js +1 -0
  89. package/dist/assets/fr-FR.77a5277c.js +1 -0
  90. package/dist/assets/{gas.fd59e425.js → gas.1bf79f8f.js} +1 -1
  91. package/dist/assets/gcp.6c61b39e.js +60 -0
  92. package/dist/assets/{gfm.8125a8e6.js → gfm.04d0828d.js} +1 -1
  93. package/dist/assets/{gherkin.c9a9f9d2.js → gherkin.f334d646.js} +1 -1
  94. package/dist/assets/github-ci.04483301.js +2 -0
  95. package/dist/assets/glossary.485603d9.js +1 -0
  96. package/dist/assets/glossary.6efd77ad.js +1 -0
  97. package/dist/assets/{go.31390264.js → go.81bbba54.js} +1 -1
  98. package/dist/assets/{groovy.c940d48b.js → groovy.3fb79de5.js} +1 -1
  99. package/dist/assets/{haml.1a456af6.js → haml.9645befc.js} +1 -1
  100. package/dist/assets/{handlebars.d3c0e9e6.js → handlebars.c78fa1ca.js} +1 -1
  101. package/dist/assets/{haskell-literate.06d0d330.js → haskell-literate.ee77a8c9.js} +1 -1
  102. package/dist/assets/{haskell.f83a5b48.js → haskell.0f131af0.js} +1 -1
  103. package/dist/assets/{haxe.cf38bc86.js → haxe.5ecd20ea.js} +1 -1
  104. package/dist/assets/{hi-IN.36e79faa.js → hi-IN.c0703db5.js} +1 -1
  105. package/dist/assets/hooks.f7efe9af.js +60 -0
  106. package/dist/assets/{hr-HR.b1e41c07.js → hr-HR.467388ee.js} +1 -1
  107. package/dist/assets/{htmlembedded.4765ab1f.js → htmlembedded.b9d52c93.js} +1 -1
  108. package/dist/assets/{htmlmixed.a4506ee0.js → htmlmixed.b02b6e2e.js} +1 -1
  109. package/dist/assets/{http.cf2042b8.js → http.705b0cd9.js} +1 -1
  110. package/dist/assets/{hu-HU.9c7ec38f.js → hu-HU.47ab36e8.js} +1 -1
  111. package/dist/assets/id-ID.8089647c.js +1 -0
  112. package/dist/assets/{idl.2b562d7a.js → idl.ee86fe0e.js} +1 -1
  113. package/dist/assets/iis.e068f41a.js +24 -0
  114. package/dist/assets/import-export.d334c127.js +2 -0
  115. package/dist/assets/{index.44b36a96.js → index.0295bc4b.js} +1 -1
  116. package/dist/assets/{index.f6d90b7c.js → index.07257d01.js} +1 -1
  117. package/dist/assets/{index.515f0cb5.js → index.0e101049.js} +1 -1
  118. package/dist/assets/{index.bc3296ff.js → index.10f90411.js} +1 -1
  119. package/dist/assets/{index.17ad666d.js → index.14c720ba.js} +1 -1
  120. package/dist/assets/{index.6687eb7d.js → index.16acfb90.js} +1 -1
  121. package/dist/assets/{index.e9099679.js → index.175a81f8.js} +1 -1
  122. package/dist/assets/index.192147d5.css +1 -0
  123. package/dist/assets/{index.734cf408.js → index.1a65b37a.js} +1 -1
  124. package/dist/assets/{index.76212e14.js → index.1b44d300.js} +1 -1
  125. package/dist/assets/{index.35fb04b2.js → index.20b34242.js} +1 -1
  126. package/dist/assets/{index.b871b7a5.js → index.2598f40b.js} +1 -1
  127. package/dist/assets/{index.5490bf54.js → index.28aa754b.js} +1 -1
  128. package/dist/assets/{index.b955a1be.js → index.2926879f.js} +1 -1
  129. package/dist/assets/{index.ff5502c6.js → index.2ec06d14.js} +1 -1
  130. package/dist/assets/{index.05e20b6f.js → index.399c0d62.js} +1 -1
  131. package/dist/assets/{index.788544c8.js → index.3d4cd218.js} +1 -1
  132. package/dist/assets/{index.bbf0131f.js → index.3eda79ec.js} +1 -1
  133. package/dist/assets/{index.f334ad18.js → index.402d83c0.js} +1 -1
  134. package/dist/assets/{index.48fd0edb.js → index.4100d6f0.js} +1 -1
  135. package/dist/assets/{index.5312378b.js → index.43fa9898.js} +1 -1
  136. package/dist/assets/{index.90aad19e.js → index.456ff0bd.js} +1 -1
  137. package/dist/assets/{index.2ff40292.js → index.4e2109fe.js} +1 -1
  138. package/dist/assets/{index.4de2df6a.js → index.4ef25ded.js} +1 -1
  139. package/dist/assets/{index.c91867d3.js → index.4fbaebb7.js} +1 -1
  140. package/dist/assets/{index.5d10078c.js → index.55a12dfb.js} +1 -1
  141. package/dist/assets/{index.1d927fd3.js → index.56188e3b.js} +1 -1
  142. package/dist/assets/{index.ea326829.js → index.5c54c17f.js} +1 -1
  143. package/dist/assets/{index.f715fb2c.js → index.5f5bf5b9.js} +1 -1
  144. package/dist/assets/{index.064c96df.js → index.60d33aa1.js} +1 -1
  145. package/dist/assets/{index.491a4003.js → index.627523d7.js} +1 -1
  146. package/dist/assets/{index.921bf39b.js → index.63d1f569.js} +1 -1
  147. package/dist/assets/{index.27da0362.js → index.663b73a9.js} +1 -1
  148. package/dist/assets/{index.8c9bb9d2.js → index.6bebaca7.js} +1 -1
  149. package/dist/assets/{index.c219c9fd.js → index.6f0b7179.js} +1 -1
  150. package/dist/assets/{index.895a297f.css → index.6f497914.css} +1 -1
  151. package/dist/assets/{index.f5a62bca.js → index.7249f524.js} +1 -1
  152. package/dist/assets/{index.6752521e.js → index.77260d1d.js} +1 -1
  153. package/dist/assets/{index.5e2cb31c.js → index.7f906cfe.js} +1 -1
  154. package/dist/assets/{index.1a186179.js → index.7fd5e2a0.js} +1 -1
  155. package/dist/assets/{index.e9faa1b7.js → index.7fe984e4.js} +1 -1
  156. package/dist/assets/{index.0a4e8fad.js → index.8493b2e7.js} +1 -1
  157. package/dist/assets/{index.db01bb54.js → index.85b9f847.js} +1 -1
  158. package/dist/assets/{index.629b6c38.js → index.8a9f2874.js} +1 -1
  159. package/dist/assets/{index.859a78cb.js → index.93059741.js} +1 -1
  160. package/dist/assets/{index.f6a5906f.js → index.94cf6fb4.js} +1 -1
  161. package/dist/assets/{index.55f6227c.js → index.98713a56.js} +1 -1
  162. package/dist/assets/{index.009353d9.js → index.98ee194a.js} +1 -1
  163. package/dist/assets/{index.9fbcba2f.js → index.9b60cfa4.js} +1 -1
  164. package/dist/assets/{index.bc32829f.js → index.a3e085ea.js} +1 -1
  165. package/dist/assets/{index.1e0212f9.js → index.a40592f5.js} +1 -1
  166. package/dist/assets/{index.fc7b1181.js → index.a5d15d7f.js} +1 -1
  167. package/dist/assets/{index.71e28483.js → index.a71fa74c.js} +1 -1
  168. package/dist/assets/{index.e39c7e76.js → index.a8aa4628.js} +1 -1
  169. package/dist/assets/{index.9b23cd7f.js → index.a9b73f2c.js} +1 -1
  170. package/dist/assets/{index.fd2a5a74.js → index.a9faa4e8.js} +1 -1
  171. package/dist/assets/{index.ddbad0a0.js → index.af021d8a.js} +1 -1
  172. package/dist/assets/{index.8f901e72.js → index.b43832c6.js} +1 -1
  173. package/dist/assets/{index.44c7ed90.js → index.b5ed5076.js} +1 -1
  174. package/dist/assets/{index.540a1c0d.js → index.b67f8116.js} +1 -1
  175. package/dist/assets/{index.b635a926.js → index.b702042e.js} +1 -1
  176. package/dist/assets/{index.3c7e729b.js → index.bce5f50d.js} +1 -1
  177. package/dist/assets/{index.691d9c7a.js → index.bfd23a9c.js} +1 -1
  178. package/dist/assets/{index.70f6f88a.entry.js → index.c2e31551.entry.js} +226 -230
  179. package/dist/assets/{index.a40a776b.js → index.c2e6211e.js} +1 -1
  180. package/dist/assets/{index.f80921e7.js → index.c35b11e6.js} +1 -1
  181. package/dist/assets/{index.131b4ee8.js → index.c5266851.js} +1 -1
  182. package/dist/assets/{index.b09321f5.js → index.c6e501ec.js} +1 -1
  183. package/dist/assets/{index.ae9b035a.js → index.c9fb33ab.js} +1 -1
  184. package/dist/assets/{index.4ff10039.js → index.cc6496a8.js} +1 -1
  185. package/dist/assets/{index.d911a640.js → index.cda6c2d6.js} +1 -1
  186. package/dist/assets/{index.54a49224.js → index.cef58c9b.js} +1 -1
  187. package/dist/assets/{index.a9473e05.js → index.d060d5f6.js} +1 -1
  188. package/dist/assets/{index.b8baec6c.js → index.d0fe3776.js} +1 -1
  189. package/dist/assets/{index.e7e17448.js → index.d653bbf2.js} +1 -1
  190. package/dist/assets/{index.4533ce42.js → index.d8fe2ade.js} +1 -1
  191. package/dist/assets/{index.ff5a189a.js → index.d9285c22.js} +1 -1
  192. package/dist/assets/{index.bb82940a.js → index.e3dcc63c.js} +1 -1
  193. package/dist/assets/{index.c6ea1824.js → index.e6715953.js} +1 -1
  194. package/dist/assets/{index.08e6475d.js → index.ebb444cf.js} +1 -1
  195. package/dist/assets/{index.a0bc3d71.js → index.ee22568a.js} +1 -1
  196. package/dist/assets/{index.c54243ff.js → index.ef3faba8.js} +1 -1
  197. package/dist/assets/index.f0d32a46.js +26 -0
  198. package/dist/assets/{index.3acd783e.js → index.fa57ca3f.js} +1 -1
  199. package/dist/assets/{input-rich-text-html.2d85a8a3.css → input-rich-text-html.172a38cb.css} +1 -1
  200. package/dist/assets/input-rich-text-html.c72d474e.js +239 -0
  201. package/dist/assets/insights.b3ba896c.js +2 -0
  202. package/dist/assets/installation.2025f88b.js +1 -0
  203. package/dist/assets/interfaces.606c790c.js +46 -0
  204. package/dist/assets/introduction.41a72fb0.js +1 -0
  205. package/dist/assets/introduction.527c3465.js +4 -0
  206. package/dist/assets/introduction.5566b96e.js +90 -0
  207. package/dist/assets/introduction.ecd17b88.js +1 -0
  208. package/dist/assets/it-IT.58422a56.js +1 -0
  209. package/dist/assets/items.d1f658a9.js +1 -0
  210. package/dist/assets/items.d9c6a0b4.js +136 -0
  211. package/dist/assets/ja-JP.84597497.js +1 -0
  212. package/dist/assets/{javascript-hint.29e9b67f.js → javascript-hint.af96cc6a.js} +1 -1
  213. package/dist/assets/{javascript.d2db845f.js → javascript.ed7a2c00.js} +1 -1
  214. package/dist/assets/{jinja2.f97723a0.js → jinja2.541c30d3.js} +1 -1
  215. package/dist/assets/{jsx.3f2b01c1.js → jsx.211ba53b.js} +1 -1
  216. package/dist/assets/{julia.fa920089.js → julia.66e518ec.js} +1 -1
  217. package/dist/assets/ko-KR.9056bd31.js +1 -0
  218. package/dist/assets/{ku-TR.9eee23ff.js → ku-TR.3a07a57e.js} +1 -1
  219. package/dist/assets/layouts.0aa8d645.js +54 -0
  220. package/dist/assets/layouts.14b157dc.js +1 -0
  221. package/dist/assets/{livescript.2ec2e5ab.js → livescript.06428372.js} +1 -1
  222. package/dist/assets/localization.c89061c7.js +1 -0
  223. package/dist/assets/{lt-LT.772aac6e.js → lt-LT.f2d719ff.js} +1 -1
  224. package/dist/assets/{lua.5e0c8497.js → lua.4f86b0e3.js} +1 -1
  225. package/dist/assets/manual.20d730b3.js +12 -0
  226. package/dist/assets/{mark-selection.54726b3f.js → mark-selection.c376d4be.js} +1 -1
  227. package/dist/assets/{match-highlighter.218123e7.js → match-highlighter.75cb1404.js} +1 -1
  228. package/dist/assets/{mathematica.df44764c.js → mathematica.1e1f53c5.js} +1 -1
  229. package/dist/assets/{mbox.491dfb6c.js → mbox.4a5729c3.js} +1 -1
  230. package/dist/assets/migrations.f13ec64d.js +19 -0
  231. package/dist/assets/{mirc.a9dca563.js → mirc.9b793041.js} +1 -1
  232. package/dist/assets/{mllike.0a469a43.js → mllike.4e43f07d.js} +1 -1
  233. package/dist/assets/{mn-MN.ae109212.js → mn-MN.c504a096.js} +1 -1
  234. package/dist/assets/{modelica.306697a8.js → modelica.deb73769.js} +1 -1
  235. package/dist/assets/modules.9b5ee510.js +69 -0
  236. package/dist/assets/{ms-MY.e50ff23a.js → ms-MY.e6553dad.js} +1 -1
  237. package/dist/assets/{mscgen.a45d586b.js → mscgen.48ffdfc0.js} +1 -1
  238. package/dist/assets/{multiplex.26e09ed5.js → multiplex.a2d83d7f.js} +1 -1
  239. package/dist/assets/{mumps.ae29c70e.js → mumps.210b8bdf.js} +1 -1
  240. package/dist/assets/{nginx.52e6bfcd.js → nginx.dbe68b8c.js} +1 -1
  241. package/dist/assets/{nl-NL.b57de112.js → nl-NL.2f00af44.js} +1 -1
  242. package/dist/assets/{no-NO.79458b78.js → no-NO.59f9d425.js} +1 -1
  243. package/dist/assets/notifications.674ee6f9.js +153 -0
  244. package/dist/assets/{nsis.5869c4bd.js → nsis.5576ebf1.js} +1 -1
  245. package/dist/assets/{ntriples.c7dd54df.js → ntriples.07c64718.js} +1 -1
  246. package/dist/assets/{octave.ef49cef7.js → octave.9cb94caa.js} +1 -1
  247. package/dist/assets/operations.46679bea.js +1 -0
  248. package/dist/assets/operations.9995851b.js +169 -0
  249. package/dist/assets/{overlay.9a3d0cba.js → overlay.b1fd0f5a.js} +1 -1
  250. package/dist/assets/overview.3616b560.js +1 -0
  251. package/dist/assets/overview.3c9f8f3d.js +1 -0
  252. package/dist/assets/overview.6438dc44.js +1 -0
  253. package/dist/assets/{oz.6a13c27c.js → oz.4bedbc84.js} +1 -1
  254. package/dist/assets/panels.570ee526.js +65 -0
  255. package/dist/assets/{pascal.77947c82.js → pascal.9f3e47db.js} +1 -1
  256. package/dist/assets/{pegjs.fb3674fc.js → pegjs.38dabda4.js} +1 -1
  257. package/dist/assets/{perl.bd20c5e2.js → perl.d07c357e.js} +1 -1
  258. package/dist/assets/permissions.768d1878.js +178 -0
  259. package/dist/assets/{php.f7000a8d.js → php.a2fb29e5.js} +1 -1
  260. package/dist/assets/{pig.7044156f.js → pig.cc357f9e.js} +1 -1
  261. package/dist/assets/pl-PL.80cfbed6.js +1 -0
  262. package/dist/assets/plesk.b0ee9a9a.js +27 -0
  263. package/dist/assets/{powershell.d6251d29.js → powershell.283f357b.js} +1 -1
  264. package/dist/assets/presets-bookmarks.522baf53.js +1 -0
  265. package/dist/assets/presets.d902ebfa.js +164 -0
  266. package/dist/assets/project-settings.1f95b799.js +1 -0
  267. package/dist/assets/projects.1ea6a392.js +1 -0
  268. package/dist/assets/{properties.21d46a91.js → properties.57480d0c.js} +1 -1
  269. package/dist/assets/{protobuf.0595884b.js → protobuf.c1758733.js} +1 -1
  270. package/dist/assets/pt-BR.40750500.js +1 -0
  271. package/dist/assets/pt-PT.fae0fcc3.js +1 -0
  272. package/dist/assets/{pug.02047604.js → pug.bdcaf1c5.js} +1 -1
  273. package/dist/assets/{puppet.7c07ba75.js → puppet.8b6ff9f4.js} +1 -1
  274. package/dist/assets/{python.fe6c7a24.js → python.987c2ae7.js} +1 -1
  275. package/dist/assets/{q.bfdf1988.js → q.85f4c589.js} +1 -1
  276. package/dist/assets/query.8abea6de.js +152 -0
  277. package/dist/assets/quickstart.75164dd7.js +9 -0
  278. package/dist/assets/quickstart.9985cb15.js +20 -0
  279. package/dist/assets/{r.d6b5ac21.js → r.25d10fd4.js} +1 -1
  280. package/dist/assets/relations.9011b2b5.js +115 -0
  281. package/dist/assets/relationships.cbc9b1c5.js +55 -0
  282. package/dist/assets/resources.25cb1e34.js +1 -0
  283. package/dist/assets/revisions.c90ecb76.js +40 -0
  284. package/dist/assets/{ro-RO.5161835a.js → ro-RO.a1adfb6a.js} +1 -1
  285. package/dist/assets/roles.22f7aa37.js +171 -0
  286. package/dist/assets/{rpm.92483469.js → rpm.8909ead0.js} +1 -1
  287. package/dist/assets/{rst.b2603799.js → rst.4d43ef54.js} +1 -1
  288. package/dist/assets/ru-RU.35703ea4.js +1 -0
  289. package/dist/assets/{ruby.0246dbd5.js → ruby.b7e26986.js} +1 -1
  290. package/dist/assets/running-locally.ce0a8200.js +26 -0
  291. package/dist/assets/{rust.dd8abd8d.js → rust.6984b11a.js} +1 -1
  292. package/dist/assets/{sas.d26b2302.js → sas.91990a72.js} +1 -1
  293. package/dist/assets/{sass.a791aa27.js → sass.898f89c7.js} +1 -1
  294. package/dist/assets/{scheme.ef2b1440.js → scheme.f661c5b8.js} +1 -1
  295. package/dist/assets/sdk.916109ed.js +393 -0
  296. package/dist/assets/security.1963da73.js +1 -0
  297. package/dist/assets/server.afec52fc.js +114 -0
  298. package/dist/assets/settings.835be62f.js +51 -0
  299. package/dist/assets/settings.a02abd85.js +1 -0
  300. package/dist/assets/{shell.2f3bc735.js → shell.af2902da.js} +1 -1
  301. package/dist/assets/{show-hint.6fa4d537.js → show-hint.2d43524d.js} +1 -1
  302. package/dist/assets/{sieve.99fca314.js → sieve.327a81f8.js} +1 -1
  303. package/dist/assets/{simple.0e90a38e.js → simple.4fb4f28d.js} +1 -1
  304. package/dist/assets/{sl-SI.719d987e.js → sl-SI.632899f8.js} +1 -1
  305. package/dist/assets/{slim.92d997b6.js → slim.e97ce531.js} +1 -1
  306. package/dist/assets/{smalltalk.a9b3ffec.js → smalltalk.b9556415.js} +1 -1
  307. package/dist/assets/{smarty.c54a652c.js → smarty.d91926e3.js} +1 -1
  308. package/dist/assets/{solr.1356a877.js → solr.20381d3e.js} +1 -1
  309. package/dist/assets/{soy.e1b19eef.js → soy.a0154260.js} +1 -1
  310. package/dist/assets/{sparql.1335f7a5.js → sparql.36de4d3f.js} +1 -1
  311. package/dist/assets/{spreadsheet.e9096343.js → spreadsheet.00a4877b.js} +1 -1
  312. package/dist/assets/{sql.ac45a460.js → sql.1f7dd82a.js} +1 -1
  313. package/dist/assets/{sr-CS.c513578f.js → sr-CS.2e5b18be.js} +1 -1
  314. package/dist/assets/{sso-examples.b52061be.js → sso-examples.048b39c5.js} +12 -12
  315. package/dist/assets/sso.70be105f.js +22 -0
  316. package/dist/assets/{stex.fb7fd990.js → stex.2b7cb363.js} +1 -1
  317. package/dist/assets/{stylus.d0281b2a.js → stylus.123ca166.js} +1 -1
  318. package/dist/assets/support.fce2dba5.js +1 -0
  319. package/dist/assets/{sv-SE.a70fd097.js → sv-SE.d485ddd3.js} +1 -1
  320. package/dist/assets/{swift.a9fd2d64.js → swift.9ca91d28.js} +1 -1
  321. package/dist/assets/{tcl.8f7bdfb5.js → tcl.1b7f83bd.js} +1 -1
  322. package/dist/assets/teams.44eb670e.js +1 -0
  323. package/dist/assets/{textile.ae199003.js → textile.ee402504.js} +1 -1
  324. package/dist/assets/{th-TH.bdbc4a8c.js → th-TH.1e9ab13f.js} +1 -1
  325. package/dist/assets/themes.e4a7762f.js +5 -0
  326. package/dist/assets/{tiddlywiki.52caa0ed.js → tiddlywiki.67540872.js} +1 -1
  327. package/dist/assets/{tiki.831b9315.js → tiki.fb6dd4a0.js} +1 -1
  328. package/dist/assets/{toml.6f660b6b.js → toml.9c5fe3d8.js} +1 -1
  329. package/dist/assets/{tornado.01563722.js → tornado.c681a8fd.js} +1 -1
  330. package/dist/assets/tr-TR.feb24957.js +1 -0
  331. package/dist/assets/translation-strings.4ed25965.js +1 -0
  332. package/dist/assets/translations.cf2353ca.js +1 -0
  333. package/dist/assets/triggers.05092cdf.js +1 -0
  334. package/dist/assets/{troff.f5f797f2.js → troff.a6f4e798.js} +1 -1
  335. package/dist/assets/{ttcn-cfg.a6927435.js → ttcn-cfg.a0214838.js} +1 -1
  336. package/dist/assets/{ttcn.24c6b925.js → ttcn.4c22a431.js} +1 -1
  337. package/dist/assets/{turtle.d0e831a8.js → turtle.d40e9c31.js} +1 -1
  338. package/dist/assets/{twig.d5e90842.js → twig.d78613df.js} +1 -1
  339. package/dist/assets/ubuntu.35dc97df.js +11 -0
  340. package/dist/assets/uk-UA.0e92f9a4.js +1 -0
  341. package/dist/assets/upgrades-migrations.9218bbe9.js +1 -0
  342. package/dist/assets/use-sync.c0f4dfab.js +28 -0
  343. package/dist/assets/user-directory.3daaa818.js +1 -0
  344. package/dist/assets/users-roles-permissions.6e18f7ca.js +1 -0
  345. package/dist/assets/users.4f11a7c5.js +252 -0
  346. package/dist/assets/utilities.0e0d0ace.js +74 -0
  347. package/dist/assets/{vb.bb33c7a5.js → vb.5adeb8ea.js} +1 -1
  348. package/dist/assets/{vbscript.d8f8d95e.js → vbscript.27937162.js} +1 -1
  349. package/dist/assets/{velocity.26721ec5.js → velocity.581c25aa.js} +1 -1
  350. package/dist/assets/{verilog.24512a86.js → verilog.9f72c282.js} +1 -1
  351. package/dist/assets/{vhdl.6e64552d.js → vhdl.4d290e0b.js} +1 -1
  352. package/dist/assets/{vi-VN.7478a743.js → vi-VN.3e9c985f.js} +1 -1
  353. package/dist/assets/{vue.4450af40.js → vue.cf5a232a.js} +1 -1
  354. package/dist/assets/{wast.79f64b4c.js → wast.16f886c5.js} +1 -1
  355. package/dist/assets/webhooks.00ee297b.js +147 -0
  356. package/dist/assets/webhooks.01ddb390.js +1 -0
  357. package/dist/assets/{webidl.860cea4e.js → webidl.1185b166.js} +1 -1
  358. package/dist/assets/{xquery.23f4fa34.js → xquery.34864271.js} +1 -1
  359. package/dist/assets/{yacas.0d60e6b0.js → yacas.880a270b.js} +1 -1
  360. package/dist/assets/{yaml-frontmatter.70ea956b.js → yaml-frontmatter.4cec6c13.js} +1 -1
  361. package/dist/assets/{yaml.9d5c3ac9.js → yaml.15292258.js} +1 -1
  362. package/dist/assets/{z80.527b7cb8.js → z80.727a7271.js} +1 -1
  363. package/dist/assets/zh-CN.432cf71e.js +1 -0
  364. package/dist/assets/zh-TW.cac20c88.js +1 -0
  365. package/dist/index.html +3 -3
  366. package/package.json +10 -7
  367. package/dist/assets/accounts.08433099.js +0 -1
  368. package/dist/assets/activity-log.fd558c9b.js +0 -1
  369. package/dist/assets/activity.0def80ca.js +0 -80
  370. package/dist/assets/ar-SA.1a6c2c65.js +0 -1
  371. package/dist/assets/authentication.a6f04750.js +0 -73
  372. package/dist/assets/aws.3b1c64af.js +0 -1
  373. package/dist/assets/backing-directus.1ed89e33.js +0 -1
  374. package/dist/assets/bg-BG.0eca7613.js +0 -2
  375. package/dist/assets/bn-IN.1385676c.js +0 -1
  376. package/dist/assets/cli.5153aa86.js +0 -4
  377. package/dist/assets/cli.e8e2526b.js +0 -19
  378. package/dist/assets/cloudron.53c430b8.js +0 -1
  379. package/dist/assets/codebase-overview.e9df94fc.js +0 -1
  380. package/dist/assets/collections.1c745e99.css +0 -1
  381. package/dist/assets/collections.2453db3a.js +0 -106
  382. package/dist/assets/collections.aa896b3f.js +0 -2
  383. package/dist/assets/config-options.b1233b4b.js +0 -138
  384. package/dist/assets/content.1b1e95cf.js +0 -1
  385. package/dist/assets/creating-extensions.bfd7c57c.js +0 -11
  386. package/dist/assets/cs-CZ.6910228b.js +0 -1
  387. package/dist/assets/data-model.0e360572.js +0 -1
  388. package/dist/assets/data-sharing.da96e52e.js +0 -1
  389. package/dist/assets/de-DE.d1197f4c.js +0 -1
  390. package/dist/assets/digitalocean-app-platform.3412cb40.js +0 -3
  391. package/dist/assets/display-templates.915c0c5b.js +0 -1
  392. package/dist/assets/displays.99989c6d.js +0 -49
  393. package/dist/assets/documentation.788d4998.js +0 -1
  394. package/dist/assets/email-templates.1f5ac335.js +0 -2
  395. package/dist/assets/endpoints.aaac7c81.js +0 -27
  396. package/dist/assets/es-419.aa0bf259.js +0 -1
  397. package/dist/assets/es-CL.e42c6c3c.js +0 -1
  398. package/dist/assets/es-ES.5c7e9438.js +0 -1
  399. package/dist/assets/es-MX.956444f4.js +0 -1
  400. package/dist/assets/extensions.34c12005.js +0 -12
  401. package/dist/assets/faq.89e68608.js +0 -2
  402. package/dist/assets/fields.54985585.js +0 -135
  403. package/dist/assets/file-library.3e651030.js +0 -1
  404. package/dist/assets/files.064d5a35.js +0 -187
  405. package/dist/assets/filter-rules.e442e006.js +0 -76
  406. package/dist/assets/filters.3db1b044.js +0 -1
  407. package/dist/assets/folders.0024d3d3.js +0 -132
  408. package/dist/assets/fr-CA.6d6d8d1f.js +0 -1
  409. package/dist/assets/fr-FR.7fa01b32.js +0 -1
  410. package/dist/assets/gcp.627205b5.js +0 -60
  411. package/dist/assets/github-ci.abd39dcc.js +0 -2
  412. package/dist/assets/glossary.75ca2027.js +0 -1
  413. package/dist/assets/glossary.bf083fb1.js +0 -1
  414. package/dist/assets/hooks.eda18b02.js +0 -60
  415. package/dist/assets/id-ID.a0052c00.js +0 -1
  416. package/dist/assets/iis.109e5a8a.js +0 -24
  417. package/dist/assets/import-export.3da878a4.js +0 -2
  418. package/dist/assets/index.40c42250.css +0 -1
  419. package/dist/assets/index.9b42e31d.js +0 -26
  420. package/dist/assets/input-rich-text-html.1550fe06.js +0 -240
  421. package/dist/assets/insights.c8ed7c1c.js +0 -1
  422. package/dist/assets/installation.78c6d9f6.js +0 -1
  423. package/dist/assets/interfaces.9e145c45.js +0 -46
  424. package/dist/assets/introduction.2e6f5c1d.js +0 -90
  425. package/dist/assets/introduction.78a2a844.js +0 -4
  426. package/dist/assets/introduction.7c5efc8a.js +0 -1
  427. package/dist/assets/introduction.d5621d79.js +0 -1
  428. package/dist/assets/it-IT.34d52fbd.js +0 -1
  429. package/dist/assets/items.4205dfa0.js +0 -136
  430. package/dist/assets/items.64ed9295.js +0 -1
  431. package/dist/assets/ja-JP.819a38cf.js +0 -1
  432. package/dist/assets/ko-KR.30f60079.js +0 -1
  433. package/dist/assets/layouts.3c14b583.js +0 -54
  434. package/dist/assets/layouts.ca8afd39.js +0 -1
  435. package/dist/assets/localization.374b7427.js +0 -1
  436. package/dist/assets/manual.ab601c95.js +0 -10
  437. package/dist/assets/migrations.8989fedc.js +0 -19
  438. package/dist/assets/modules.17c944d1.js +0 -69
  439. package/dist/assets/notifications.33c688c9.js +0 -153
  440. package/dist/assets/overview.3436365c.js +0 -1
  441. package/dist/assets/overview.623fafba.js +0 -1
  442. package/dist/assets/overview.dbebe94a.js +0 -1
  443. package/dist/assets/panels.385b173a.js +0 -65
  444. package/dist/assets/permissions.f84f8d42.js +0 -178
  445. package/dist/assets/pl-PL.22d5965f.js +0 -1
  446. package/dist/assets/plesk.f7e3d5ef.js +0 -27
  447. package/dist/assets/presets-bookmarks.1b8ec70c.js +0 -1
  448. package/dist/assets/presets.b1e8b6c1.js +0 -164
  449. package/dist/assets/project-settings.d32669a9.js +0 -1
  450. package/dist/assets/projects.b0451bed.js +0 -1
  451. package/dist/assets/pt-BR.2d6fa7cc.js +0 -1
  452. package/dist/assets/pt-PT.c28534a0.js +0 -1
  453. package/dist/assets/query.dbe0b56d.js +0 -152
  454. package/dist/assets/quickstart.01824cc9.js +0 -9
  455. package/dist/assets/quickstart.4d7c7736.js +0 -20
  456. package/dist/assets/relations.d29aa86d.js +0 -115
  457. package/dist/assets/relationships.c9c5db8a.js +0 -55
  458. package/dist/assets/revisions.2898106e.js +0 -40
  459. package/dist/assets/roles.9fec37da.js +0 -171
  460. package/dist/assets/ru-RU.39540ee0.js +0 -1
  461. package/dist/assets/running-locally.811d0dcc.js +0 -26
  462. package/dist/assets/sdk.12cd7974.js +0 -393
  463. package/dist/assets/security.8e2a8a41.js +0 -1
  464. package/dist/assets/server.9f12ae3e.js +0 -114
  465. package/dist/assets/settings.149d1dff.js +0 -1
  466. package/dist/assets/settings.28abc1f0.js +0 -51
  467. package/dist/assets/sso.64b2717b.js +0 -22
  468. package/dist/assets/support.94e3734b.js +0 -1
  469. package/dist/assets/teams.9ff14f8f.js +0 -1
  470. package/dist/assets/themes.df7ec485.js +0 -5
  471. package/dist/assets/tr-TR.d7a7361f.js +0 -1
  472. package/dist/assets/translations.5191ab7c.js +0 -1
  473. package/dist/assets/ubuntu.f4c21886.js +0 -11
  474. package/dist/assets/uk-UA.473dd1c9.js +0 -1
  475. package/dist/assets/upgrades-migrations.15498a47.js +0 -1
  476. package/dist/assets/use-sync.ded22f96.js +0 -28
  477. package/dist/assets/user-directory.47c8beb2.js +0 -1
  478. package/dist/assets/users-roles-permissions.005388fa.js +0 -1
  479. package/dist/assets/users.84251ab9.js +0 -252
  480. package/dist/assets/utilities.26e6a9e8.js +0 -74
  481. package/dist/assets/webhooks.4eeecb7d.js +0 -147
  482. package/dist/assets/webhooks.61b11e7d.js +0 -1
  483. package/dist/assets/zh-CN.c51e7308.js +0 -1
  484. package/dist/assets/zh-TW.8ef6cec8.js +0 -1
  485. package/dist/robots.txt +0 -2
@@ -1,114 +0,0 @@
1
- import{a as l,o as h,b as i,w as n,g as s,e as t,B as e}from"./runtime-core.esm-bundler.b1f35d24.js";var r={};const p={class:"markdown-body"},d={class:"two-up"},u={class:"left"},g=e("Provides detailed information about the project server, its schema, and its health. "),_=e("Learn more about Projects"),f=e("."),m=s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#get-openapi-specification"},"Get OpenAPI Specification")]),s("li",null,[s("a",{href:"#get-graphql-sdl"},"Get GraphQL SDL")]),s("li",null,[s("a",{href:"#ping"},"Ping")]),s("li",null,[s("a",{href:"#info"},"Info")]),s("li",null,[s("a",{href:"#health"},"Health")])])])])],-1),j=s("hr",null,null,-1),y=s("h2",{id:"get-openapi-specification"},[e("Get OpenAPI Specification "),s("a",{class:"header-anchor",href:"#get-openapi-specification"},"#")],-1),v=s("p",null,"Retrieve the OpenAPI spec for the current project.",-1),b=s("div",{class:"two-up"},[s("div",{class:"left"},[s("div",{class:"tip hint"},[s("div",{class:"hint-title"},"Permissions"),s("p",null,"This OAS spec is based on the read permissions of the currently authenticated user.")]),s("h3",{id:"returns"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns"},"#")]),s("p",null,[e("Object conforming to "),s("a",{href:"https://swagger.io/specification/",target:"_blank",rel:"noopener noreferrer"},"the OpenAPI Specification")])]),s("div",{class:"right"},[s("h3",{id:"rest-api"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api"},"#")]),s("pre",null,[s("code",{class:""},`GET /server/specs/oas
2
- `)]),s("h3",{id:"graphql"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
3
- `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
4
- server_specs_oas:`),s("span",{class:"hljs-type"}," String"),e(`
5
- }
6
- `)])]),s("h5",{id:"example"},[e("Example "),s("a",{class:"header-anchor",href:"#example"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
7
- server_specs_oas
8
- }
9
- `)])])])],-1),q=s("hr",null,null,-1),k=s("h2",{id:"get-graphql-sdl"},[e("Get GraphQL SDL "),s("a",{class:"header-anchor",href:"#get-graphql-sdl"},"#")],-1),w=s("p",null,"Retrieve the GraphQL SDL for the current project.",-1),S=s("div",{class:"two-up"},[s("div",{class:"left"},[s("div",{class:"tip hint"},[s("div",{class:"hint-title"},"Permissions"),s("p",null,"The SDL is based on the permissions of the currently authenticated user.")]),s("h3",{id:"returns-2"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-2"},"#")]),s("p",null,"GraphQL SDL file."),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),e(` about_us {
10
- id:`),s("span",{class:"hljs-type"}," Int"),e(`
11
- introduction:`),s("span",{class:"hljs-type"}," String"),e(`
12
- our_process:`),s("span",{class:"hljs-type"}," String"),e(`
13
- sales_email:`),s("span",{class:"hljs-type"}," String"),e(`
14
- general_email:`),s("span",{class:"hljs-type"}," String"),e(`
15
- primary_color:`),s("span",{class:"hljs-type"}," String"),e(`
16
- secondary_color:`),s("span",{class:"hljs-type"}," String"),e(`
17
- logo: directus_files
18
- mark: directus_files
19
- }
20
-
21
- `),s("span",{class:"hljs-keyword"},"type"),e(` articles {
22
- id:`),s("span",{class:"hljs-type"}," Int"),e(`
23
- status:`),s("span",{class:"hljs-type"}," String"),e(`
24
- `),s("span",{class:"hljs-keyword"},"..."),e(`
25
- `),s("span",{class:"hljs-comment"},"# etc"),e(`
26
- `)])])]),s("div",{class:"right"},[s("h3",{id:"rest-api-2"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-2"},"#")]),s("pre",null,[s("code",{class:""},`GET /server/specs/graphql/
27
- GET /server/specs/graphql/system
28
- `)]),s("h3",{id:"graphql-2"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-2"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
29
- `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
30
- server_specs_graphql(scope: graphql_sdl_scope):`),s("span",{class:"hljs-type"}," String"),e(`
31
- }
32
- `)])]),s("h5",{id:"example-2"},[e("Example "),s("a",{class:"header-anchor",href:"#example-2"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
33
- server_specs_graphql(scope: `),s("span",{class:"hljs-string"},'"system"'),e(`)
34
- }
35
- `)])])])],-1),T=s("hr",null,null,-1),P=s("h2",{id:"ping"},[e("Ping "),s("a",{class:"header-anchor",href:"#ping"},"#")],-1),x=s("p",null,"Ping\u2026 pong! \u{1F3D3}",-1),A=s("div",{class:"two-up"},[s("div",{class:"left"},[s("h3",{id:"returns-3"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-3"},"#")]),s("p",null,"Pong.")]),s("div",{class:"right"},[s("h3",{id:"rest-api-3"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-3"},"#")]),s("pre",null,[s("code",{class:""},`GET /server/ping
36
- `)]),s("h3",{id:"graphql-3"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-3"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
37
- `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
38
- server_ping:`),s("span",{class:"hljs-type"}," String"),e(`
39
- }
40
- `)])]),s("h5",{id:"example-3"},[e("Example "),s("a",{class:"header-anchor",href:"#example-3"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
41
- server_ping
42
- }
43
- `)])])])],-1),G=s("hr",null,null,-1),I=s("h2",{id:"info"},[e("Info "),s("a",{class:"header-anchor",href:"#info"},"#")],-1),E=s("p",null,"Information about the current installation.",-1),R={class:"two-up"},L={class:"left"},Q=s("div",{class:"tip hint"},[s("div",{class:"hint-title"},"Permissions"),s("p",null,"The public information is returned for everybody. Admin users get additional information (see below).")],-1),O=s("h3",{id:"returns-4"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-4"},"#")],-1),D={class:"definitions"},C=s("p",null,[s("code",{class:""},"project"),e(),s("strong",null,"object"),s("br"),e(" Public information about the project. Used to render the Admin App public pages.")],-1),H=e("See "),B=e("the settings object"),V=e(" for more information on the individual properties of the "),N=s("code",{class:""},"project",-1),U=e(" object."),W=s("p",null,"Admin users also get the following information:",-1),z=s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"directus.version"),e(),s("strong",null,"string"),s("br"),e(" Current version of Directus used.")]),s("p",null,[s("code",{class:""},"node.version"),e(),s("strong",null,"string"),s("br"),e(" Current version of Node used.")]),s("p",null,[s("code",{class:""},"node.uptime"),e(),s("strong",null,"integer"),s("br"),e(" How long the current process has been running.")]),s("p",null,[s("code",{class:""},"os.type"),e(),s("strong",null,"string"),s("br"),e(" What type of operation system is used.")]),s("p",null,[s("code",{class:""},"os.version"),e(),s("strong",null,"string"),s("br"),e(" What version of the operation system is used.")]),s("p",null,[s("code",{class:""},"os.uptime"),e(),s("strong",null,"string"),s("br"),e(" How long the operating system has been up.")]),s("p",null,[s("code",{class:""},"os.totalmem"),e(),s("strong",null,"string"),s("br"),e(" How much memory is available on the operating system.")])],-1),F=s("div",{class:"right"},[s("h3",{id:"rest-api-4"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-4"},"#")]),s("pre",null,[s("code",{class:""},`GET /server/info
44
- `)]),s("h3",{id:"graphql-4"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-4"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
45
- `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
46
- server_info: server_info
47
- }
48
- `)])]),s("h5",{id:"example-4"},[e("Example "),s("a",{class:"header-anchor",href:"#example-4"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
49
- server_info {
50
- directus {
51
- version
52
- }
53
- }
54
- }
55
- `)])])],-1),J=s("hr",null,null,-1),K=s("h2",{id:"health"},[e("Health "),s("a",{class:"header-anchor",href:"#health"},"#")],-1),M=s("p",null,"Get the current health status of the server.",-1),X=s("div",{class:"two-up"},[s("div",{class:"left"},[s("p",null,[e("The "),s("code",{class:""},"/server/health"),e(" endpoint shows you a general health status for the server and all connected (third party) services, such as Redis or S3.")]),s("p",null,[e("The output is based on the \u201CHealth Check Response for HTTP APIs\u201D draft spec: "),s("a",{href:"https://tools.ietf.org/id/draft-inadarei-api-health-check-05.html",target:"_blank",rel:"noopener noreferrer"},"Health Check Response Format for HTTP APIs Draft Specification"),e(".")]),s("p",null,"This endpoint can be used to ensure a healthy system when running in a horizontally scaled setup, like Kubernetes, Google Cloud Platform or AWS Elastic Beanstalk."),s("p",null,[e("By default, the endpoint only returns a "),s("code",{class:""},"status"),e(" of "),s("code",{class:""},"ok"),e(", "),s("code",{class:""},"warn"),e(" or "),s("code",{class:""},"error"),e(". By authenticating as an admin, it will return more in-depth information about the current health status of the system.")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// Response"),e(`
56
-
57
- `),s("span",{class:"hljs-comment"},"// Non-admin"),e(`
58
- {
59
- `),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"ok"'),e(`
60
- }
61
-
62
- `),s("span",{class:"hljs-comment"},"// Admin"),e(`
63
- {
64
- `),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"ok"'),e(`,
65
- `),s("span",{class:"hljs-attr"},'"releaseId"'),e(": "),s("span",{class:"hljs-string"},'"9.0.0"'),e(`,
66
- `),s("span",{class:"hljs-attr"},'"serviceId"'),e(": "),s("span",{class:"hljs-string"},'"3292c816-ae02-43b4-ba91-f0bb549f040c"'),e(`,
67
- `),s("span",{class:"hljs-attr"},'"checks"'),e(`: {
68
- `),s("span",{class:"hljs-attr"},'"pg:responseTime"'),e(`: [
69
- {
70
- `),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"ok"'),e(`,
71
- `),s("span",{class:"hljs-attr"},'"componentType"'),e(": "),s("span",{class:"hljs-string"},'"datastore"'),e(`,
72
- `),s("span",{class:"hljs-attr"},'"observedUnit"'),e(": "),s("span",{class:"hljs-string"},'"ms"'),e(`,
73
- `),s("span",{class:"hljs-attr"},'"observedValue"'),e(": "),s("span",{class:"hljs-number"},"0.489"),e(`
74
- }
75
- ],
76
- `),s("span",{class:"hljs-attr"},'"pg:connectionsAvailable"'),e(`: [
77
- {
78
- `),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"ok"'),e(`,
79
- `),s("span",{class:"hljs-attr"},'"componentType"'),e(": "),s("span",{class:"hljs-string"},'"datastore"'),e(`,
80
- `),s("span",{class:"hljs-attr"},'"observedValue"'),e(": "),s("span",{class:"hljs-number"},"2"),e(`
81
- }
82
- ],
83
- `),s("span",{class:"hljs-attr"},'"pg:connectionsUsed"'),e(`: [
84
- {
85
- `),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"ok"'),e(`,
86
- `),s("span",{class:"hljs-attr"},'"componentType"'),e(": "),s("span",{class:"hljs-string"},'"datastore"'),e(`,
87
- `),s("span",{class:"hljs-attr"},'"observedValue"'),e(": "),s("span",{class:"hljs-number"},"0"),e(`
88
- }
89
- ],
90
- `),s("span",{class:"hljs-attr"},'"storage:local:responseTime"'),e(`: [
91
- {
92
- `),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"ok"'),e(`,
93
- `),s("span",{class:"hljs-attr"},'"componentType"'),e(": "),s("span",{class:"hljs-string"},'"objectstore"'),e(`,
94
- `),s("span",{class:"hljs-attr"},'"observedValue"'),e(": "),s("span",{class:"hljs-number"},"1.038"),e(`,
95
- `),s("span",{class:"hljs-attr"},'"observedUnit"'),e(": "),s("span",{class:"hljs-string"},'"ms"'),e(`
96
- }
97
- ],
98
- `),s("span",{class:"hljs-attr"},'"email:connection"'),e(`: [
99
- {
100
- `),s("span",{class:"hljs-attr"},'"status"'),e(": "),s("span",{class:"hljs-string"},'"ok"'),e(`,
101
- `),s("span",{class:"hljs-attr"},'"componentType"'),e(": "),s("span",{class:"hljs-string"},'"email"'),e(`
102
- }
103
- ]
104
- }
105
- }
106
- `)])]),s("h3",{id:"returns-5"},[e("Returns "),s("a",{class:"header-anchor",href:"#returns-5"},"#")]),s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"status"),e(),s("strong",null,"string"),s("br"),e(" One of "),s("code",{class:""},"ok"),e(", "),s("code",{class:""},"warn"),e(", "),s("code",{class:""},"error"),e(".")])]),s("p",null,"Authenticated admin users also get the following information:"),s("div",{class:"definitions"},[s("p",null,[s("code",{class:""},"releaseId"),e(),s("strong",null,"string"),s("br"),e(" Directus version in use.")]),s("p",null,[s("code",{class:""},"serviceId"),e(),s("strong",null,"string"),s("br"),e(" UUID of the current Directus instance.")]),s("p",null,[s("code",{class:""},"checks"),e(),s("strong",null,"array"),s("br"),e(" Array with the status of all individually connected services.")])])]),s("div",{class:"right"},[s("h3",{id:"rest-api-5"},[e("REST API "),s("a",{class:"header-anchor",href:"#rest-api-5"},"#")]),s("pre",null,[s("code",{class:""},`GET /server/health
107
- `)]),s("h3",{id:"graphql-5"},[e("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-5"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
108
- `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),e(` {
109
- server_health:`),s("span",{class:"hljs-literal"}," JSON"),e(`
110
- }
111
- `)])]),s("h5",{id:"example-5"},[e("Example "),s("a",{class:"header-anchor",href:"#example-5"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),e(` {
112
- server_health
113
- }
114
- `)])])])],-1),Y=s("hr",null,null,-1),Z={title:"Server",modularExtension:!1,pageClass:"page-reference"},$={name:"server",setup(ss,{expose:o}){return o({frontmatter:{title:"Server",modularExtension:!1,pageClass:"page-reference"}}),(es,ns)=>{const a=l("router-link"),c=l("docswrapper");return h(),i(c,{frontmatter:Z},{default:n(()=>[s("div",p,[s("div",d,[s("div",u,[s("blockquote",null,[s("p",null,[g,t(a,{to:"/docs/getting-started/glossary/#projects"},{default:n(()=>[_]),_:1}),f])])]),m]),j,y,v,b,q,k,w,S,T,P,x,A,G,I,E,s("div",R,[s("div",L,[Q,O,s("div",D,[C,s("p",null,[H,t(a,{to:"/docs/reference/system/settings/#the-settings-object"},{default:n(()=>[B]),_:1}),V,N,U])]),W,z]),F]),J,K,M,X,Y])]),_:1})}}};typeof r=="function"&&r($);export{$ as default,Z as frontmatter};
@@ -1 +0,0 @@
1
- import{a as i,o as d,b as c,w as o,g as t,e as n,B as e}from"./runtime-core.esm-bundler.b1f35d24.js";var r={};const u={class:"markdown-body"},_=t("blockquote",null,[t("p",null,"The Settings Module is where your entire Project is configured, making it the first place to go after installation. To maintain project safety and integrity, this module is only available to Administrators.")],-1),h=t("video",{autoplay:"",muted:"",loop:"",controls:""},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/settings/settings-20220308A/settings-20220308A.mp4",type:"video/mp4"})],-1),g=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Administrators Only"),t("p",null,"Only Administrators have access to the Settings Module.")],-1),p=t("p",null,"Settings are split into five distinct sections, each described below.",-1),f=e("Project Settings"),m=e(" \u2014 Setup branding and other global style options."),b=e("Data Model"),y=e(" \u2014 Create and modify "),k=e("Collections"),v=e(", "),w=e("Relationships"),x=e(", form layout, and "),A=e("Fields"),S=e("."),C=e("Roles & Permissions"),q=e(" \u2014 Create and manage access via Roles and Permissions."),B=e("Presets & Bookmarks"),P=e(" \u2014 Set default views of data and configure bookmarks."),j=e("Webhooks"),R=e(" \u2014 Use platform events to trigger external services."),V=t("p",null,"Aside from the above pages, there are three shorthand links:",-1),F=t("li",null,[t("p",null,[t("strong",null,"Report Bug"),t("br"),e(" A direct link to report a bug in the platform. When using this button, helpful debugging information about your project is automatically included, such as: version number, operating system, and environment type.")])],-1),M=t("strong",null,"Request Feature",-1),N=t("br",null,null,-1),T=e(" A direct link to "),D=t("a",{href:"https://github.com/directus/directus/discussions/new",target:"_blank",rel:"noopener noreferrer"},"submit a new feature request",-1),E=e(" on GitHub. Feature requests are a great way to let our team know what should be prioritized next. Learn more about making feature requests in the "),G=e("Contributing > Introduction"),H=e("."),O=t("li",null,[t("p",null,[t("strong",null,"Platform Version"),t("br"),e(" Displays the exact version of your platform. Click this button to go to the GitHub releases page, which includes the full change logs.")])],-1),W={title:"Settings",modularExtension:!1},z={name:"settings",setup(I,{expose:l}){return l({frontmatter:{title:"Settings",modularExtension:!1}}),(L,U)=>{const s=i("router-link"),a=i("docswrapper");return d(),c(a,{frontmatter:W},{default:o(()=>[t("div",u,[_,h,g,p,t("ul",null,[t("li",null,[n(s,{to:"/docs/configuration/project-settings"},{default:o(()=>[f]),_:1}),m]),t("li",null,[n(s,{to:"/docs/configuration/data-model"},{default:o(()=>[b]),_:1}),y,n(s,{to:"/docs/getting-started/glossary/#collections"},{default:o(()=>[k]),_:1}),v,n(s,{to:"/docs/getting-started/glossary/#relationships"},{default:o(()=>[w]),_:1}),x,n(s,{to:"/docs/getting-started/glossary/#fields"},{default:o(()=>[A]),_:1}),S]),t("li",null,[n(s,{to:"/docs/configuration/users-roles-permissions"},{default:o(()=>[C]),_:1}),q]),t("li",null,[n(s,{to:"/docs/configuration/presets-bookmarks"},{default:o(()=>[B]),_:1}),P]),t("li",null,[n(s,{to:"/docs/configuration/webhooks"},{default:o(()=>[j]),_:1}),R])]),V,t("ul",null,[F,t("li",null,[t("p",null,[M,N,T,D,E,n(s,{to:"/docs/contributing/introduction/#feature-requests"},{default:o(()=>[G]),_:1}),H])]),O])])]),_:1})}}};typeof r=="function"&&r(z);export{z as default,W as frontmatter};
@@ -1,51 +0,0 @@
1
- import{a,o as i,b as h,w as e,g as s,e as n,B as t}from"./runtime-core.esm-bundler.b1f35d24.js";var o={};const d={class:"markdown-body"},_=s("div",{class:"two-up"},[s("div",{class:"left"},[s("blockquote",null,[s("p",null,"Settings are key-value pairs that are stored in the database, and control different aspects of the project. Only administrators have access to manage Settings.")])]),s("div",{class:"right"},[s("p",null,[s("div",{class:"table-of-contents"},[s("ul",null,[s("li",null,[s("a",{href:"#the-settings-object"},"The Settings Object")]),s("li",null,[s("a",{href:"#retrieve-settings"},"Retrieve Settings")]),s("li",null,[s("a",{href:"#update-settings"},"Update Settings")])])])])])],-1),p=s("hr",null,null,-1),u=s("h2",{id:"the-settings-object"},[t("The Settings Object "),s("a",{class:"header-anchor",href:"#the-settings-object"},"#")],-1),g={class:"two-up"},f={class:"left"},j={class:"definitions"},m=s("p",null,[s("code",{class:""},"id"),t(),s("strong",null,"uuid"),s("br"),t(" Primary key of the setting.")],-1),b=s("p",null,[s("code",{class:""},"project_name"),t(),s("strong",null,"string"),s("br"),t(" Name of the project, shown in the Admin App.")],-1),y=s("p",null,[s("code",{class:""},"project_descriptor"),t(),s("strong",null,"string"),s("br"),t(" Descriptor of the project, shown in the Admin App.")],-1),v=s("p",null,[s("code",{class:""},"project_url"),t(),s("strong",null,"string"),s("br"),t(" Link to the (public) website that goes with this project.")],-1),w=s("p",null,[s("code",{class:""},"project_color"),t(),s("strong",null,"string"),s("br"),t(" Brand color for the current project.")],-1),x=s("code",{class:""},"project_logo",-1),q=t(),k=s("strong",null,"many-to-one",-1),A=s("br",null,null,-1),S=t(" Primary logo for the current project. Many-to-one to "),T=t("files"),E=t("."),P=s("code",{class:""},"public_foreground",-1),R=t(),C=s("strong",null,"many-to-one",-1),B=s("br",null,null,-1),M=t(" Foreground image for the Admin App\u2019s public pages. Many-to-one to "),O=t("files"),N=t("."),Q=s("code",{class:""},"public_background",-1),D=t(),G=s("strong",null,"many-to-one",-1),H=s("br",null,null,-1),I=t(" Background image for the Admin App\u2019s public pages. Many-to-one to "),L=t("files"),V=t("."),W=s("p",null,[s("code",{class:""},"public_note"),t(),s("strong",null,"string"),s("br"),t(" Note shown on the Admin App\u2019s public pages. Supports Markdown.")],-1),F=s("p",null,[s("code",{class:""},"auth_login_attempts"),t(),s("strong",null,"integer"),s("br"),t(" How often a user is allowed to try to login. After which times the user will be suspended.")],-1),U=s("p",null,[s("code",{class:""},"auth_password_policy"),t(),s("strong",null,"RegEx"),s("br"),t(" What regex passwords must pass in order to be valid.")],-1),z=s("code",{class:""},"storage_asset_transform",-1),J=t(),K=s("strong",null,"string",-1),X=s("br",null,null,-1),Y=t(" If the transform endpoints are allowed to be used on "),Z=t("the assets endpoint"),$=t(". One of "),ss=s("code",{class:""},"all",-1),ts=t(", "),es=s("code",{class:""},"none",-1),ls=t(" or "),ns=s("code",{class:""},"presets",-1),as=t("."),os=s("code",{class:""},"storage_asset_presets",-1),rs=t(),cs=s("strong",null,"array",-1),is=s("br",null,null,-1),hs=t(" What preset keys exist in "),ds=t("the assets endpoint"),_s=t("."),ps=s("p",null,[s("code",{class:""},"custom_css"),t(),s("strong",null,"string"),s("br"),t(" CSS rules to override the App\u2019s default styling.")],-1),us=s("p",null,[s("code",{class:""},"storage_default_folder"),t(),s("strong",null,"uuid"),s("br"),t(" Folder for uploaded files. Does not affect existing files.")],-1),gs=s("p",null,[s("code",{class:""},"basemaps"),t(),s("strong",null,"array"),s("br"),t(" Custom tiles to overriding the Mapbox defaults.")],-1),fs=s("p",null,[s("code",{class:""},"mapbox_key"),t(),s("strong",null,"string"),s("br"),s("a",{href:"https://docs.mapbox.com/help/glossary/access-token/",target:"_blank",rel:"noopener noreferrer"},"Mapbox Access Token"),t(".")],-1),js=s("p",null,[s("code",{class:""},"module_bar"),t(),s("strong",null,"array"),s("br"),t(" What modules are enabled/added globally.")],-1),ms=s("div",{class:"right"},[s("pre",null,[s("code",{class:"language-json"},[t(`{
2
- `),s("span",{class:"hljs-attr"},'"data"'),t(`: {
3
- `),s("span",{class:"hljs-attr"},'"id"'),t(": "),s("span",{class:"hljs-number"},"1"),t(`,
4
- `),s("span",{class:"hljs-attr"},'"project_name"'),t(": "),s("span",{class:"hljs-string"},'"Directus"'),t(`,
5
- `),s("span",{class:"hljs-attr"},'"project_descriptor"'),t(": "),s("span",{class:"hljs-string"},'"Application"'),t(`,
6
- `),s("span",{class:"hljs-attr"},'"project_url"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
7
- `),s("span",{class:"hljs-attr"},'"project_color"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
8
- `),s("span",{class:"hljs-attr"},'"project_logo"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
9
- `),s("span",{class:"hljs-attr"},'"public_foreground"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
10
- `),s("span",{class:"hljs-attr"},'"public_background"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
11
- `),s("span",{class:"hljs-attr"},'"public_note"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
12
- `),s("span",{class:"hljs-attr"},'"auth_login_attempts"'),t(": "),s("span",{class:"hljs-number"},"25"),t(`,
13
- `),s("span",{class:"hljs-attr"},'"auth_password_policy"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
14
- `),s("span",{class:"hljs-attr"},'"storage_asset_transform"'),t(": "),s("span",{class:"hljs-string"},'"all"'),t(`,
15
- `),s("span",{class:"hljs-attr"},'"storage_asset_presets"'),t(`: [
16
- { `),s("span",{class:"hljs-attr"},'"key"'),t(": "),s("span",{class:"hljs-string"},'"small"'),t(", "),s("span",{class:"hljs-attr"},'"fit"'),t(": "),s("span",{class:"hljs-string"},'"cover"'),t(", "),s("span",{class:"hljs-attr"},'"width"'),t(": "),s("span",{class:"hljs-number"},"200"),t(", "),s("span",{class:"hljs-attr"},'"height"'),t(": "),s("span",{class:"hljs-number"},"161"),t(", "),s("span",{class:"hljs-attr"},'"quality"'),t(": "),s("span",{class:"hljs-number"},"80"),t(", "),s("span",{class:"hljs-attr"},'"withoutEnlargement"'),t(": "),s("span",{class:"hljs-literal"},"false"),t(` }
17
- ],
18
- `),s("span",{class:"hljs-attr"},'"custom_css"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
19
- `),s("span",{class:"hljs-attr"},'"storage_default_folder"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
20
- `),s("span",{class:"hljs-attr"},'"basemaps"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
21
- `),s("span",{class:"hljs-attr"},'"mapbox_key"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`,
22
- `),s("span",{class:"hljs-attr"},'"module_bar"'),t(": "),s("span",{class:"hljs-literal"},"null"),t(`
23
- }
24
- }
25
- `)])])],-1),bs=s("hr",null,null,-1),ys=s("h2",{id:"retrieve-settings"},[t("Retrieve Settings "),s("a",{class:"header-anchor",href:"#retrieve-settings"},"#")],-1),vs={class:"two-up"},ws={class:"left"},xs=s("h3",{id:"query-parameters"},[t("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters"},"#")],-1),qs=t("Supports all "),ks=t("global query parameters"),As=t("."),Ss=s("h3",{id:"returns"},[t("Returns "),s("a",{class:"header-anchor",href:"#returns"},"#")],-1),Ts=s("p",null,[t("Returns the "),s("a",{href:"#the-settings-object"},"settings object"),t(".")],-1),Es=s("div",{class:"right"},[s("h3",{id:"rest-api"},[t("REST API "),s("a",{class:"header-anchor",href:"#rest-api"},"#")]),s("pre",null,[s("code",{class:""},`GET /settings
26
- `)]),s("h3",{id:"graphql"},[t("GraphQL "),s("a",{class:"header-anchor",href:"#graphql"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
27
- `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Query"),t(` {
28
- settings: directus_settings
29
- }
30
- `)])]),s("h5",{id:"example"},[t("Example "),s("a",{class:"header-anchor",href:"#example"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"query"),t(` {
31
- settings {
32
- project_name
33
- }
34
- }
35
- `)])])],-1),Ps=s("hr",null,null,-1),Rs=s("h2",{id:"update-settings"},[t("Update Settings "),s("a",{class:"header-anchor",href:"#update-settings"},"#")],-1),Cs={class:"two-up"},Bs={class:"left"},Ms=s("h3",{id:"query-parameters-2"},[t("Query Parameters "),s("a",{class:"header-anchor",href:"#query-parameters-2"},"#")],-1),Os=t("Supports all "),Ns=t("global query parameters"),Qs=t("."),Ds=s("h3",{id:"request-body"},[t("Request Body "),s("a",{class:"header-anchor",href:"#request-body"},"#")],-1),Gs=s("p",null,[t("A partial "),s("a",{href:"#the-settings-object"},"settings object"),t(".")],-1),Hs=s("h3",{id:"returns-2"},[t("Returns "),s("a",{class:"header-anchor",href:"#returns-2"},"#")],-1),Is=s("p",null,[t("Returns the "),s("a",{href:"#the-setting-object"},"settings object"),t(".")],-1),Ls=s("div",{class:"right"},[s("h3",{id:"rest-api-2"},[t("REST API "),s("a",{class:"header-anchor",href:"#rest-api-2"},"#")]),s("pre",null,[s("code",{class:""},`PATCH /settings
36
- `)]),s("h5",{id:"example-2"},[t("Example "),s("a",{class:"header-anchor",href:"#example-2"},"#")]),s("pre",null,[s("code",{class:"language-json"},[s("span",{class:"hljs-comment"},"// PATCH /settings"),t(`
37
-
38
- {
39
- `),s("span",{class:"hljs-attr"},'"project_url"'),t(": "),s("span",{class:"hljs-string"},'"https://example.com/"'),t(`
40
- }
41
- `)])]),s("h3",{id:"graphql-2"},[t("GraphQL "),s("a",{class:"header-anchor",href:"#graphql-2"},"#")]),s("pre",null,[s("code",{class:""},`POST /graphql/system
42
- `)]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"type"),s("span",{class:"hljs-type"}," Mutation"),t(` {
43
- update_settings(data: update_directus_settings_input!): directus_settings
44
- }
45
- `)])]),s("h5",{id:"example-3"},[t("Example "),s("a",{class:"header-anchor",href:"#example-3"},"#")]),s("pre",null,[s("code",{class:"language-graphql"},[s("span",{class:"hljs-keyword"},"mutation"),t(` {
46
- update_settings(data: { project_url: `),s("span",{class:"hljs-string"},'"https://example.com"'),t(` }) {
47
- project_name
48
- project_url
49
- }
50
- }
51
- `)])])],-1),Vs={title:"Settings",modularExtension:!1,pageClass:"page-reference"},Ws={name:"settings",setup(Fs,{expose:r}){return r({frontmatter:{title:"Settings",modularExtension:!1,pageClass:"page-reference"}}),(Us,zs)=>{const l=a("router-link"),c=a("docswrapper");return i(),h(c,{frontmatter:Vs},{default:e(()=>[s("div",d,[_,p,u,s("div",g,[s("div",f,[s("div",j,[m,b,y,v,w,s("p",null,[x,q,k,A,S,n(l,{to:"/docs/reference/files/"},{default:e(()=>[T]),_:1}),E]),s("p",null,[P,R,C,B,M,n(l,{to:"/docs/reference/files/"},{default:e(()=>[O]),_:1}),N]),s("p",null,[Q,D,G,H,I,n(l,{to:"/docs/reference/files/"},{default:e(()=>[L]),_:1}),V]),W,F,U,s("p",null,[z,J,K,X,Y,n(l,{to:"/docs/reference/files/#requesting-a-thumbnail"},{default:e(()=>[Z]),_:1}),$,ss,ts,es,ls,ns,as]),s("p",null,[os,rs,cs,is,hs,n(l,{to:"/docs/reference/files/#requesting-a-thumbnail"},{default:e(()=>[ds]),_:1}),_s]),ps,us,gs,fs,js])]),ms]),bs,ys,s("div",vs,[s("div",ws,[xs,s("p",null,[qs,n(l,{to:"/docs/reference/query"},{default:e(()=>[ks]),_:1}),As]),Ss,Ts]),Es]),Ps,Rs,s("div",Cs,[s("div",Bs,[Ms,s("p",null,[Os,n(l,{to:"/docs/reference/query"},{default:e(()=>[Ns]),_:1}),Qs]),Ds,Gs,Hs,Is]),Ls])])]),_:1})}}};typeof o=="function"&&o(Ws);export{Ws as default,Vs as frontmatter};
@@ -1,22 +0,0 @@
1
- import{a as o,o as i,b as c,w as l,g as e,e as u,B as s}from"./runtime-core.esm-bundler.b1f35d24.js";var n={};const h={class:"markdown-body"},d=e("p",null,"Single Sign-On is a mechanism which allows to use external providers to login into systems. For example, you can use your Google or Facebook account to authenticate into systems without the need to create a new registration on those systems.",-1),p=e("h2",{id:"supported-sso-mechanisms"},[s("Supported SSO mechanisms "),e("a",{class:"header-anchor",href:"#supported-sso-mechanisms"},"#")],-1),g=e("p",null,"Directus supports three standard types of SSO mechanisms:",-1),_=e("ul",null,[e("li",null,[e("a",{href:"https://openid.net/specs/openid-connect-core-1_0.html",target:"_blank",rel:"noopener noreferrer"},"OpenID")]),e("li",null,[e("a",{href:"https://www.ietf.org/rfc/rfc6750.txt",target:"_blank",rel:"noopener noreferrer"},"OAuth 2.0")]),e("li",null,[e("a",{href:"https://datatracker.ietf.org/doc/html/rfc4511",target:"_blank",rel:"noopener noreferrer"},"LDAP")])],-1),m=s("Here are the configuration allowed for each one: "),f=s("SSO configuration"),y=e("p",null,"In order to use these mechanisms you need to:",-1),O=e("ol",null,[e("li",null,"Create an application/configuration on your preferred external provider"),e("li",null,"Set the environment variables to configure the external provider"),e("li",null,[s("["),e("em",null,"Optional"),s("] Set the environment variables to configure cookies")])],-1),S=e("h3",{id:"openid"},[s("OpenID "),e("a",{class:"header-anchor",href:"#openid"},"#")],-1),X=e("p",null,"In this section, we provide some guides to help you set up SSO with OpenID.",-1),w=e("h4",{id:"google"},[s("Google "),e("a",{class:"header-anchor",href:"#google"},"#")],-1),v=e("p",null,"To be able to use Google OpenID as your external provider you will need to:",-1),E=e("ol",null,[e("li",null,[e("p",null,[s("Go into "),e("a",{href:"https://console.cloud.google.com/",target:"_blank",rel:"noopener noreferrer"},"Google Cloud Console")])]),e("li",null,[e("p",null,"Select or Create a new project")]),e("li",null,[e("p",null,[s("Go to "),e("a",{href:"https://console.cloud.google.com/apis/credentials/consent",target:"_blank",rel:"noopener noreferrer"},"APIs & Services -> OAuth consent screen"),s(" on side bar")]),e("ol",null,[e("li",null,[s("Select the access you desire "),e("ul",null,[e("li",null,[s("Select "),e("strong",null,"Internal"),s(" if you only want people within your organization to be able to access")]),e("li",null,[s("Select "),e("strong",null,"External"),s(" to allow everyone with a Google account")])])]),e("li",null,[s("Fill the fields according to your preferences "),e("ul",null,[e("li",null,[s("The "),e("strong",null,"Authorized domains"),s(" add an extra layer of security, but it is not required. In case you fill it, should be the domain where your Directus instance is")])])]),e("li",null,[s("On Scopes, you need to choose "),e("code",{class:""},".../auth/userinfo.email"),s(", "),e("code",{class:""},".../auth/userinfo.profile"),s(" and "),e("code",{class:""},"openid")])])]),e("li",null,[e("p",null,[s("On side bar, go to "),e("a",{href:"https://console.cloud.google.com/apis/credentials",target:"_blank",rel:"noopener noreferrer"},"Credentials")])]),e("li",null,[e("p",null,[s("Click on "),e("a",{href:"https://console.cloud.google.com/apis/credentials/oauthclient",target:"_blank",rel:"noopener noreferrer"},"Create Credentials -> OAuth Client ID")]),e("ol",null,[e("li",null,[s("Choose "),e("code",{class:""},"Web Application"),s(" on "),e("strong",null,"Application Type")]),e("li",null,[s("The "),e("strong",null,"Authorized JavaScript origins"),s(" adds an extra layer of security, but it is not required. In case you fill it, should be the address of your Directus instance. For example, "),e("code",{class:""},"https://directus.myserver.com")]),e("li",null,[s("On "),e("strong",null,"Authorized redirect URIs"),s(" put your Directus instance address plus "),e("code",{class:""},"/auth/login/google/callback"),s(". For example, you should put "),e("code",{class:""},"https://directus.myserver.com/auth/login/google/callback"),s(" where "),e("code",{class:""},"https://directus.myserver.com"),s(" should be the address of your Directus instance. If you are testing locally you should add "),e("code",{class:""},"http://localhost:8055/auth/login/google/callback"),s(" too")])])]),e("li",null,[e("p",null,[s("On click "),e("strong",null,"Create"),s(", a modal will appear with "),e("strong",null,"Client ID"),s(" and "),e("strong",null,"Client Secret"),s(". Save both somewhere to use later.")])]),e("li",null,[e("p",null,[s("Now on Directus side, you need to add the following configuration to your "),e("code",{class:""},".env"),s(" file located on root folder of your project:")])])],-1),b=e("pre",null,[e("code",{class:"language-sh"},[s("AUTH_PROVIDERS="),e("span",{class:"hljs-string"},'"google"'),s(`
2
-
3
- AUTH_GOOGLE_DRIVER=`),e("span",{class:"hljs-string"},'"openid"'),s(`
4
- AUTH_GOOGLE_CLIENT_ID=`),e("span",{class:"hljs-string"},'"XXXX"'),s(),e("span",{class:"hljs-comment"},"# Replace XXXX with the Client ID from Step 6"),s(`
5
- AUTH_GOOGLE_CLIENT_SECRET=`),e("span",{class:"hljs-string"},'"XXXX"'),s(),e("span",{class:"hljs-comment"},"# Replace XXXX with the Client Secret from Step 6"),s(`
6
- AUTH_GOOGLE_ISSUER_URL=`),e("span",{class:"hljs-string"},'"https://accounts.google.com"'),s(`
7
- AUTH_GOOGLE_IDENTIFIER_KEY=`),e("span",{class:"hljs-string"},'"email"'),s(`
8
- AUTH_GOOGLE_ICON=`),e("span",{class:"hljs-string"},'"google"'),s(`
9
- AUTH_GOOGLE_ALLOW_PUBLIC_REGISTRATION=`),e("span",{class:"hljs-string"},'"true"'),s(),e("span",{class:"hljs-comment"},'# This allows users to be automatically created on logins. Use "false" if you want to create users manually'),s(`
10
- AUTH_GOOGLE_DEFAULT_ROLE_ID=`),e("span",{class:"hljs-string"},'"XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX"'),s(),e("span",{class:"hljs-comment"},"# Replace this with the Directus Role ID you would want for new users. If this is not properly configured, new users will not have access to Directus"),s(`
11
- `)])],-1),I=e("ol",{start:"8"},[e("li",null,[s("Now you can see a nice functional "),e("code",{class:""},"Login with Google"),s(" button on Directus login page.")])],-1),j=e("h2",{id:"seamless-sso"},[s("Seamless SSO "),e("a",{class:"header-anchor",href:"#seamless-sso"},"#")],-1),k=e("p",null,"While sometimes you want your users to directly have access to the Directus Application, in other cases you may need to fetch private data from Directus in your client using external providers. In this cases, it is needed a special configuration to work across domains, but is simple as:",-1),D=e("ol",null,[e("li",null,[s("Setup an external provider. You have some examples on "),e("a",{href:"#supported-sso-mechanisms"},"Supported SSO mechanisms")]),e("li",null,[s("Allow cookie to be accessible across domains. Put the following configuration on "),e("code",{class:""},".env"),s(":")])],-1),T=e("pre",null,[e("code",{class:"language-sh"},[s("REFRESH_TOKEN_COOKIE_DOMAIN="),e("span",{class:"hljs-string"},'"XXXX"'),s(),e("span",{class:"hljs-comment"},'# Replace XXXX with the domain of your Directus instance. For example "directus.myserver.com"'),s(`
12
- REFRESH_TOKEN_COOKIE_SECURE=`),e("span",{class:"hljs-string"},'"true"'),s(`
13
- REFRESH_TOKEN_COOKIE_SAME_SITE=`),e("span",{class:"hljs-string"},'"None"'),s(`
14
- `)])],-1),A=e("ol",{start:"2"},[e("li",null,"On your client, your login button should be something like")],-1),C=e("pre",null,[e("code",{class:"language-html"},[e("span",{class:"hljs-tag"},[s("<"),e("span",{class:"hljs-name"},"a"),s(),e("span",{class:"hljs-attr"},"href"),s("="),e("span",{class:"hljs-string"},'"https://directus.myserver.com/auth/login/google?redirect=https://client.myserver.com/login"'),s(">")]),s("Login"),e("span",{class:"hljs-tag"},[s("</"),e("span",{class:"hljs-name"},"a"),s(">")]),s(`
15
- `)])],-1),R=e("ul",null,[e("li",null,[s("Where "),e("code",{class:""},"https://directus.myserver.com"),s(" should be the address of your Directus instance")]),e("li",null,[s("While "),e("code",{class:""},"https://client.myserver.com/login"),s(" should be the address of your client application. The "),e("code",{class:""},"/login"),s(" is not necessary, but helps to separate concerns")])],-1),G=e("ol",{start:"3"},[e("li",null,[e("p",null,[s("On your login page, following the example should be "),e("code",{class:""},"https://client.myserver.com/login"),s(" you need to call the refresh endpoint either via REST API or via SDK in order to retrieve an "),e("code",{class:""},"access_token")]),e("ul",null,[e("li",null,[e("p",null,"via REST API / fetch"),e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"await"),s(" fetch("),e("span",{class:"hljs-string"},"'https://directus.myserver.com/auth/refresh'"),s(`, {
16
- `),e("span",{class:"hljs-attr"},"method"),s(": "),e("span",{class:"hljs-string"},"'POST'"),s(`,
17
- `),e("span",{class:"hljs-attr"},"withCredentials"),s(": "),e("span",{class:"hljs-literal"},"true"),s(", "),e("span",{class:"hljs-comment"},"// this is required in order to send the refresh token cookie"),s(`
18
- });
19
- `)])])]),e("li",null,[e("p",null,"via SDK"),e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"const"),s(" sdk = "),e("span",{class:"hljs-keyword"},"new"),s(" Directus("),e("span",{class:"hljs-string"},"'https://directus.myserver.com'"),s(`);
20
-
21
- `),e("span",{class:"hljs-keyword"},"await"),s(` sdk.auth.refresh();
22
- `)])])])])])],-1),x={title:"Single Sign-On (SSO)",modularExtension:!1},L={name:"sso",setup(U,{expose:t}){return t({frontmatter:{title:"Single Sign-On (SSO)",modularExtension:!1}}),(N,H)=>{const a=o("router-link"),r=o("docswrapper");return i(),c(r,{frontmatter:x},{default:l(()=>[e("div",h,[d,p,g,_,e("p",null,[m,u(a,{to:"/docs/configuration/config-options/#sso-oauth2-and-openid"},{default:l(()=>[f]),_:1})]),y,O,S,X,w,v,E,b,I,j,k,D,T,A,C,R,G])]),_:1})}}};typeof n=="function"&&n(L);export{L as default,x as frontmatter};
@@ -1 +0,0 @@
1
- import{a as n,o as c,b as l,w as o,g as e,e as r,B as t}from"./runtime-core.esm-bundler.b1f35d24.js";var i={};const d={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"Directus is offered completely free and open-source for anyone wishing to self-host the platform. If you have questions along the way, there are many resources, both free and paid, to help you get up-and-running smoothly.")],-1),p=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#troubleshooting-steps"},"Troubleshooting Steps")]),e("li",null,[e("a",{href:"#support-tiers"},"Support Tiers")]),e("li",null,[e("a",{href:"#sponsored-work"},"Sponsored Work")]),e("li",null,[e("a",{href:"#frequently-asked-questions"},"Frequently Asked Questions")])])])],-1),f=e("h2",{id:"troubleshooting-steps"},[t("Troubleshooting Steps "),e("a",{class:"header-anchor",href:"#troubleshooting-steps"},"#")],-1),m=t("If you\u2019re experiencing issues or think you have found a problem in Directus, be sure to follow these steps before "),_=t("Reporting a Bug"),y=t(":"),g=t("Ensure your server and database meet the "),b=t("minimum requirements"),w=t("."),v=e("li",null,[t("Ensure you\u2019re on the "),e("a",{href:"https://github.com/directus/directus/releases/latest",target:"_blank",rel:"noopener noreferrer"},"latest version"),t(" of Directus.")],-1),k=e("li",null,[t("Stop "),e("code",{class:""},"CTRL+C"),t(" and restart the server "),e("code",{class:""},"npx directus start"),t(".")],-1),x=e("li",null,[t("Run the database migration script: "),e("code",{class:""},"directus database migrate:latest"),e("br"),e("em",null,"Note: backup your database first.")],-1),q=e("li",null,"Disable any data-caching within your project.",-1),C=e("li",null,[t("Test any app issues with both browser extensions and caching disabled "),e("em",null,"(i.e. Incognito Mode)"),t(".")],-1),S=e("li",null,"Confirm the issue is not related to your own custom code.",-1),D=e("li",null,[t("Check for "),e("a",{href:"https://github.com/directus/directus/issues?q=is%3Aissue",target:"_blank",rel:"noopener noreferrer"},"existing Issues"),t(" (and "),e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"Discussions"),t(") that match your problem.")],-1),F=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Source Contributors"),e("p",null,[t("If you have installed from source, then you should also remove all dependencies by running "),e("code",{class:""},"npx lerna clean -y"),t(" and reinstall them with "),e("code",{class:""},"npm install")])],-1),I=t("If you\u2019re still experiencing a problem after completing the above steps, you can chat through things on our "),T=e("a",{href:"#community-support"},"community support",-1),B=t(" or "),E=t("report a bug"),j=t("."),W=e("h2",{id:"support-tiers"},[t("Support Tiers "),e("a",{class:"header-anchor",href:"#support-tiers"},"#")],-1),N=e("h3",{id:"community-support"},[t("Community Support "),e("a",{class:"header-anchor",href:"#community-support"},"#")],-1),O=e("p",null,[e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"GitHub Discussions"),t(" is a great first place to reach out for help. Our community and core developers often check this platform and answer posts. It has the added benefit of being an archival resource for others developers with similar questions.")],-1),R=e("p",null,[t("Our "),e("a",{href:"https://directus.chat",target:"_blank",rel:"noopener noreferrer"},"Discord Community"),t(" is another great way to get assistance. Please keep all questions on the "),e("code",{class:""},"#help"),t(" channel, be considerate, and remember that you are getting free help from the community for a free product.")],-1),z=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"No Guaranteed Response Time"),e("p",null,"While the Directus Core Team plays an active and engaged role in community discussions, there is no guaranteed response time for Community Support.")],-1),M=e("h3",{id:"basic-and-premium-support"},[t("Basic and Premium Support "),e("a",{class:"header-anchor",href:"#basic-and-premium-support"},"#")],-1),P=e("p",null,"Basic and Premium Support offer direct communication with the Directus Core Team. Basic support is included on all Enterprise Projects, and Premium Support adds 24/7 response times for critical software issues only.",-1),A=t("Cloud customers and Self-Hosted users interested in learning more about our monthly retainer agreements should contact us at "),H=t("support@directus.io"),Q=t("."),V=e("h2",{id:"sponsored-work"},[t("Sponsored Work "),e("a",{class:"header-anchor",href:"#sponsored-work"},"#")],-1),G=e("h3",{id:"commissioned-features"},[t("Commissioned Features "),e("a",{class:"header-anchor",href:"#commissioned-features"},"#")],-1),L=t("If you need a specific feature added to Directus faster than the normal development timeline, "),Y=e("a",{href:"https://directus.io/contact/",target:"_blank",rel:"noopener noreferrer"},"reach out to us",-1),J=t(" for a quote. Our parent agency will often help subsidize the cost of developing new features if they pass our "),K=t("80/20 Rule"),U=t(" and can be merged into the core codebase. Other custom/proprietary development will be built bespoke within our robust extension system."),X=e("h3",{id:"expedited-fixes"},[t("Expedited Fixes "),e("a",{class:"header-anchor",href:"#expedited-fixes"},"#")],-1),Z=e("p",null,[t("We triage all reported bugs based on priority and how long the fix is estimated to take. If you need a specific issue resolved sooner, "),e("a",{href:"https://directus.io/contact/",target:"_blank",rel:"noopener noreferrer"},"reach out to us"),t(" for a quote.")],-1),$=e("h2",{id:"frequently-asked-questions"},[t("Frequently Asked Questions "),e("a",{class:"header-anchor",href:"#frequently-asked-questions"},"#")],-1),ee=e("h3",{id:"does-directus-support-mongo%2Fnosql%3F"},[t("Does Directus support Mongo/NoSQL? "),e("a",{class:"header-anchor",href:"#does-directus-support-mongo%2Fnosql%3F"},"#")],-1),te=e("p",null,[t("Not currently. Directus has been built specifically for wrapping "),e("em",null,"relational"),t(" databases. While we could force Mongo to use tables, columns, and rows via Mongoose object modeling, that approach of \u201Cfaking\u201D a relational structure in a non-structured environment like Mongo doesn\u2019t make a lot of sense. We do realize many users are interested in this feature, and will continue to explore its possibility.")],-1),oe=e("h3",{id:"why-haven%E2%80%99t-you-added-this-feature%2C-or-fixed-that-issue-yet%3F"},[t("Why haven\u2019t you added this feature, or fixed that issue yet? "),e("a",{class:"header-anchor",href:"#why-haven%E2%80%99t-you-added-this-feature%2C-or-fixed-that-issue-yet%3F"},"#")],-1),se=e("p",null,"Directus is primarily a free and open-source project, maintained by a small core team and community contributors who donate their time and resources.",-1),re=t("Our platform is feature-rich, however we strictly adhere to our "),ne=t("80/20 Rule"),ie=t(" to avoid a messy/bloated codebase. Directus is also quite stable, however new issues still arise, some of which may be triaged with a lower prioritization."),ae=e("p",null,[t("If you need, you can contact us about "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(". You can also "),e("a",{href:"https://github.com/directus/directus/pulls",target:"_blank",rel:"noopener noreferrer"},"submit a pull request"),t(" \u2014 after all, it is open-source!")],-1),ue=e("h3",{id:"can-you-give-an-eta-for-this-feature%2Ffix%3F"},[t("Can you give an ETA for this feature/fix? "),e("a",{class:"header-anchor",href:"#can-you-give-an-eta-for-this-feature%2Ffix%3F"},"#")],-1),ce=e("p",null,"If it is sponsored work, then yes, delivery dates are part of our statement of work agreements. Otherwise, most likely not. This is open-source software, work is prioritized internally, and all timelines are subject to change.",-1),le=e("h3",{id:"but-this-is-an-emergency%2C-my-very-important-project-requires-it-now!"},[t("But this is an emergency, my very important project requires it now! "),e("a",{class:"header-anchor",href:"#but-this-is-an-emergency%2C-my-very-important-project-requires-it-now!"},"#")],-1),de=e("p",null,[t("We understand, and are here to help. If you need something prioritized, you can reach out to us to discuss "),e("a",{href:"#basic-and-premium-support"},"premium support"),t(", "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(".")],-1),he={title:"Help & Support",modularExtension:!1},pe={name:"support",setup(fe,{expose:a}){return a({frontmatter:{title:"Help & Support",modularExtension:!1}}),(me,_e)=>{const s=n("router-link"),u=n("docswrapper");return c(),l(u,{frontmatter:he},{default:o(()=>[e("div",d,[h,p,f,e("p",null,[m,r(s,{to:"/docs/contributing/introduction/#bug-reporting"},{default:o(()=>[_]),_:1}),y]),e("ol",null,[e("li",null,[g,r(s,{to:"/docs/self-hosted/installation/cli/#_1-confirm-minimum-requirements"},{default:o(()=>[b]),_:1}),w]),v,k,x,q,C,S,D]),F,e("p",null,[I,T,B,r(s,{to:"/docs/contributing/introduction/#bug-reporting"},{default:o(()=>[E]),_:1}),j]),W,N,O,R,z,M,P,e("p",null,[A,r(s,{to:"/docsmailto:support@directus.io"},{default:o(()=>[H]),_:1}),Q]),V,G,e("p",null,[L,Y,J,r(s,{to:"/docs/contributing/introduction/#feature-requests"},{default:o(()=>[K]),_:1}),U]),X,Z,$,ee,te,oe,se,e("p",null,[re,r(s,{to:"/docs/contributing/introduction/#feature-requests"},{default:o(()=>[ne]),_:1}),ie]),ae,ue,ce,le,de])]),_:1})}}};typeof i=="function"&&i(pe);export{pe as default,he as frontmatter};
@@ -1 +0,0 @@
1
- import{a as s,o as d,b as c,w as a,g as e,e as i,B as t}from"./runtime-core.esm-bundler.b1f35d24.js";var n={};const h={class:"markdown-body"},m=e("blockquote",null,[e("p",null,"A Team is an organizational system that groups Accounts together as Team Members and provides consolidated billing on its nested Projects.")],-1),u=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#create-a-team"},"Create a Team")]),e("li",null,[e("a",{href:"#update-team-settings"},"Update Team Settings")]),e("li",null,[e("a",{href:"#view-team-activity"},"View Team Activity")]),e("li",null,[e("a",{href:"#view-billing-details"},"View Billing Details")]),e("li",null,[e("a",{href:"#manage-billing"},"Manage Billing")]),e("li",null,[e("a",{href:"#invite-team-members"},"Invite Team Members")]),e("li",null,[e("a",{href:"#manage-team-members"},"Manage Team Members")]),e("li",null,[e("a",{href:"#destroy-a-team"},"Destroy a Team")])])])],-1),p=e("p",null,"Teams within the Cloud Dashboard allow individuals to separate or consolidate Projects and payment methods, as well as manage Projects independently or with other Team Members.",-1),g=e("p",null,"For example, a company can use Teams to organize Projects by department, each with consolidated billing and scoped access. Similarly, agencies or freelancers with multiple customers can create a Team per client to limit their access and isolate billing. Teams are free, so create as many as you need to appropriately organize Team Members, Projects and payment methods.",-1),_=t("See the "),b=t("Overview"),y=t(" to learn how Accounts, Teams and Projects interrelate."),v=e("h2",{id:"create-a-team"},[t("Create a Team "),e("a",{class:"header-anchor",href:"#create-a-team"},"#")],-1),f=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/create-a-team-20220329A.webp",alt:"Create Team"})],-1),T=e("p",null,"To create a Team:",-1),w=e("ol",null,[e("li",null,[t("Open the Team Menu in the Dashboard Header and click "),e("strong",null,[t("\u201CCreate a Team "),e("span",{mi:"",icon:"",prmry:""},"add"),t("\u201D")]),t("."),e("br"),t(" The Create Team page will open.")]),e("li",null,[t("Enter a Team Name and Team Slug, then click "),e("strong",null,"\u201CSave\u201D"),t(".")])],-1),P=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Team Name and Team Slug"),e("p",null,[t("The Team Name is a text name assigned to a Team, used in the Cloud Dashboard. The Team slug lies within the full URL "),e("code",{class:""},"https://directus.cloud/TEAM-SLUG/projects"),t(". These are purely organizational, allowing you to easily remember the Team and link to specific Cloud Dashboards. They do not impact Cloud Projects or billing and can be "),e("a",{href:"#update-team-settings"},"updated at any time"),t(".")])],-1),A=e("h2",{id:"update-team-settings"},[t("Update Team Settings "),e("a",{class:"header-anchor",href:"#update-team-settings"},"#")],-1),N=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/managing-a-team-20220225A.webp",alt:"Managing a Team"})],-1),j=e("p",null,"To update Team Settings:",-1),M=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CSettings\u201D"),t(" to enter the Team Settings page.")]),e("li",null,[t("Toggle "),e("span",{mi:"",icon:"",prmry:""},"edit"),t(" to allow edits.")]),e("li",null,"Edit Team Name and Team Slug as desired."),e("li",null,[t("Click the "),e("strong",null,"\u201CSave\u201D"),t(" button.")])],-1),S=e("h2",{id:"view-team-activity"},[t("View Team Activity "),e("a",{class:"header-anchor",href:"#view-team-activity"},"#")],-1),k=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/view-team-activity-20220322A.webp",alt:"View Team Activity"})],-1),C=e("p",null,"The Team Activity Page displays billing information changes, created and destroyed Projects, Team Members added or removed, Team Name and Team Slug changes, and any other major Team-oriented activities. To view Team Activity:",-1),x=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CActivity\u201D"),t(".")])],-1),D=e("h2",{id:"view-billing-details"},[t("View Billing Details "),e("a",{class:"header-anchor",href:"#view-billing-details"},"#")],-1),B=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/view-billing-details-20220322A.webp",alt:"View Billing Details"})],-1),$=e("p",null,"Follow these steps to see billing details such as credit available to Team Projects, total active subscriptions and invoice receipts:",-1),I=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CBilling\u201D"),t(" to enter the Billing Details Page.")])],-1),V=e("h2",{id:"manage-billing"},[t("Manage Billing "),e("a",{class:"header-anchor",href:"#manage-billing"},"#")],-1),O=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/manage-billing-20220322A.webp",alt:"Manage Billing"})],-1),z=e("p",null,"Since our Community tier is completely free, and our Enterprise tier pricing is individually tailored based on customer needs, this section will focus on our pay-as-you-go Standard tier. Follow the steps below to change a default payment method, add or remove additional payment methods or change other billing details:",-1),H=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CBilling\u201D"),t(" to enter the Billing Details page.")]),e("li",null,[t("Click "),e("strong",null,"\u201CManage Billing\u201D"),t(" to enter the Stripe payments gateway.")]),e("li",null,"Adjust payment methods and details as needed."),e("li",null,[t("Click "),e("strong",null,"\u201CReturn to Directus Cloud\u201D"),t(".")])],-1),E=e("h3",{id:"team-billing"},[t("Team Billing "),e("a",{class:"header-anchor",href:"#team-billing"},"#")],-1),G=e("p",null,[t("Teams are free to create, and they give Team Members access to the same Projects, Project invoices and payment methods. Each Team has its own separate billing, and each Project within a Team is "),e("a",{href:"#how-bills-are-calculated"},"calculated"),t(" and "),e("a",{href:"#billing-cycles"},"invoiced separately every month"),t(".")],-1),F=e("p",null,"Team Members are SuperAdmins. As such, they have full access to manage billing information and payment methods, including information provided by other Team Members. Team Members should be highly trusted individuals.",-1),U=e("p",null,"All bills will first be invoiced to the default payment method. You may notice that it is possible to add additional payment methods, and it may be a good idea to do so, as keeping multiple payment methods on file provides a fail-safe to help make sure your Project stays running. In the event that there is an issue processing the default payment method, the other payment methods on file will be attempted. If the bill is not paid, the Nodes will be paused, halting web-traffic, until a successful payment is made.",-1),R=e("div",{class:"warning hint"},[e("p",null,[t("If the paused Project is never repaid, it will eventually be deleted along with all of its data and assets. For details on unpaid Projects and refunds, see "),e("a",{href:"https://directus.io/cloud-policies/",target:"_blank",rel:"noopener noreferrer"},"Cloud Policies")])],-1),Y=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Team Metered Usage"),e("p",null,[t("You may notice credit on top of the "),e("a",{href:"#view-billing-details"},"Billing Page"),t(". In the "),e("em",null,"rare event"),t(" your Team receives credit from the Directus Team, this credit balance will decrease the amount due on the next invoice(s) until all credit is used up. Then the default payment method will be used.")])],-1),L=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Stripe Payment"),e("p",null,"To handle billing, Directus Cloud uses Stripe, a secure, industry-leading, dynamic international billing service.")],-1),q=e("h3",{id:"billing-cycles"},[t("Billing Cycles "),e("a",{class:"header-anchor",href:"#billing-cycles"},"#")],-1),K=e("p",null,"Bills are invoiced on a calendar monthly basis, so each new billing period begins after exactly one month. When a Project is destroyed, the bill is processed immediately. As mentioned in the previous section, bills are invoiced per-Project; so if a Team has 4 Standard Projects, it will be charged 4 times each month.",-1),W=e("h3",{id:"how-bills-are-calculated"},[t("How Bills Are Calculated "),e("a",{class:"header-anchor",href:"#how-bills-are-calculated"},"#")],-1),J=t("Project billing is calculated based on the total number of hours that Active and Standby Nodes are used during the billing period. Once the "),Q=t("Node Type"),X=t(" is selected, the associated hourly rate will apply to both Active and Standby Nodes."),Z=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Node Pricing"),e("p",null,[e("strong",null,"General Purpose:"),t(" $0.03424657534 / hour"),e("br"),e("strong",null,"Performance Tier:"),t(" $0.06849315068 / hour")])],-1),ee=e("p",null,[t("This means the monthly prices given for Active Nodes, "),e("em",null,"$25/month for General Purpose and $50/month for Performance tier"),t(", are actually estimates based on the cost per hour times the average length of a month (730 hours). So, the pricing shown for one Active General Purpose Node is "),e("code",{class:""},"$0.03424657534 x 730hrs = $25"),t(", however the actual bill will vary slightly each month.")],-1),te=e("p",null,[t("Keep in mind that a Standard Project\u2019s Nodes can be reconfigured at any time. You can upgrade and downgrade Node Types add and remove Nodes, or destroy your Project as you please. In the end, "),e("em",null,"you simply pay for the actual Node-hours used by your Project"),t(".")],-1),ae=e("p",null,"The following four examples demonstrate this billing system:",-1),oe=e("p",null,[e("strong",null,"Hourly Pricing"),e("br"),t(" A Project is configured to use General Purpose Nodes, with one Active Node and zero Standby Nodes. The Project runs for 3 days and 3.5 hours (75.5 hours total, rounded to 76 hours) and is then destroyed, costing "),e("code",{class:""},"1 Node x $0.03424657534/hr x 76 hrs = $2.60"),t(".")],-1),ie=e("p",null,[t("The bill will be "),e("code",{class:""},"$2.60"),t(" plus Tax/VAT, charged at Project destruction.")],-1),se=e("p",null,[e("strong",null,"Active Nodes"),e("br"),t(" A Project is configured to use Performance Tier Nodes, with two Active Nodes and zero Standby Nodes. The Project runs the full month (730 hours). For this billing cycle, the two Active Nodes will cost "),e("code",{class:""},"2 Nodes x $0.06849315068/hr x 730 hrs = $100"),t(".")],-1),ne=e("p",null,[t("The monthly bill will be "),e("code",{class:""},"$100"),t(" plus Tax/VAT.")],-1),le=e("p",null,[e("strong",null,"Overages on Standby Nodes"),e("br"),t(" A Project is configured to use General Purpose Nodes, with three Active Nodes and two Standby Nodes. The Project runs the full month (730 hours). There are two traffic spikes. The first spike is smaller and only activates one Standby Node for 6.5 hours. The second spike is larger and activates the first Node from 4pm to 12am (eight hours), and the second Node from 6pm to 11pm (five hours), for a total of "),e("code",{class:""},"8 + 5 = 13"),t(" hours. Between both spikes, Standby Nodes run for a total of 19.5 hours (rounds to 20 hrs). Active Nodes will cost "),e("code",{class:""},"3 Nodes x $0.03424657534/hr x 730 hrs = $75.00"),t(" plus Standby Node overages "),e("code",{class:""},"20 Node-hrs x $0.03424657534/hr = $0.68"),t(".")],-1),re=e("p",null,[t("The monthly bill will be "),e("code",{class:""},"$75.68"),t(" plus VAT/Tax.")],-1),de=e("p",null,[e("strong",null,"Pro-rated Changes"),e("br"),t(" A Project begins the billing cycle configured to use General Purpose Nodes, one Active and zero Standby. A massive traffic spike is expected from marketing activities this month and 200 hours into the month, the Project is reconfigured. The Node Type is now Performance Tier, using two Active Nodes and five Standby Nodes. In the end, the marketing event was a failure, and traffic was just slightly above average. The five Standby Nodes were not needed and never activated. The first 200 hours cost "),e("code",{class:""},"(1 General Purpose Node x $0.03424657534/hr x 200hrs) = $6.85"),t(". The other 530 hours cost "),e("code",{class:""},"(2 Performance Nodes x $0.06849315068/hr x 530hrs) = 72.60"),t(".")],-1),ce=e("p",null,[t("The monthly bill will be "),e("code",{class:""},"$79.45"),t(" plus VAT/Tax.")],-1),he=e("h3",{id:"optimize-node-configuration"},[t("Optimize Node Configuration "),e("a",{class:"header-anchor",href:"#optimize-node-configuration"},"#")],-1),me=t("Remember: "),ue=e("em",null,"you are never locked-in to a specific Node configuration",-1),pe=t(". As your needs change for a Project, you can reconfigure the Node Type as well as the number of Active and Standby Nodes at any time. To that end, you may want to monitor overall system traffic to make informed decisions on Node reconfiguration. The "),ge=t("Project Monitor Page"),_e=t(" provides performance analytics, which can be used to help identify optimal Node configurations for your Project."),be=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Standby Nodes"),e("p",null,"For production-ready Projects of any kind, it is probably a good idea to have one or more Standby Nodes. These do not activate, and you do not pay for their usage until they are needed. If you have no Standby Nodes, you many not have the processing power to handle traffic spikes, which can crash your Nodes!")],-1),ye=e("h2",{id:"invite-team-members"},[t("Invite Team Members "),e("a",{class:"header-anchor",href:"#invite-team-members"},"#")],-1),ve=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/inviting-a-team-member-20220225A.webp",alt:"Inviting a Team Member"})],-1),fe=e("p",null,"All Team Members can invite new Members via email. Each invitee will be emailed a link to accept the invitation and join the Team. To invite Team Members:",-1),Te=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CMembers\u201D"),t(" to enter the Members Page.")]),e("li",null,"Scroll down to the Invite New Members section."),e("li",null,"Enter one or more email(s), comma separated."),e("li",null,[t("Click "),e("strong",null,"\u201CSend Invites.\u201D")])],-1),we={class:"tip hint"},Pe=t("Clicking the emailed invitation link does not automatically create an Account for you. Invitees will need to "),Ae=t("create an Account"),Ne=t(" before accepting an invitation to join a Team."),je=e("h2",{id:"manage-team-members"},[t("Manage Team Members "),e("a",{class:"header-anchor",href:"#manage-team-members"},"#")],-1),Me=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/leaving-a-team-20220225A.webp",alt:"Removing a Team member"})],-1),Se=e("p",null,"All Team Members have the ability to remove other Members or invites from a Team. To remove Members or leave a Team yourself:",-1),ke=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CMembers\u201D"),t(" to enter the Members Page.")]),e("li",null,[t("Click the "),e("span",{mi:"",icon:""},"exit_to_app"),t(" or "),e("span",{mi:"",icon:""},"close"),t(" button on the desired Member.")]),e("li",null,[t("Click "),e("strong",null,"\u201CConfirm\u201D"),t(".")])],-1),Ce=e("div",{class:"warning hint"},[e("p",null,"If an Account leaves or is removed from a Team, it will be fully \u201Clocked out\u201D of the Team until re-invited by another Member.")],-1),xe=e("h2",{id:"destroy-a-team"},[t("Destroy a Team "),e("a",{class:"header-anchor",href:"#destroy-a-team"},"#")],-1),De=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/destroy-a-team-20220225A.webp",alt:"Destroying a Team"})],-1),Be=e("p",null,"To destroy a Team:",-1),$e=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CSettings\u201D"),t(" to enter the Team Settings Page.")]),e("li",null,"Scroll down to the \u201CDestroy this Team\u201D section."),e("li",null,[t("Toggle "),e("span",{mi:"",icon:"",dngr:""},"local_fire_department"),t(" and an input box will appear.")]),e("li",null,"Type the Team Name into the input box."),e("li",null,[t("Click "),e("strong",null,"\u201CDestroy Team\u201D"),t(".")])],-1),Ie=e("div",{class:"danger hint"},[e("p",null,"Destroying a Team completely removes all its data from Directus Cloud. This action is permanent and irreversible. Proceed with caution!")],-1),Ve=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Teams with Active Projects"),e("p",null,"To delete a Team, you must first delete any active Projects within it.")],-1),Oe={title:"Cloud Teams",modularExtension:!1},ze={name:"teams",setup(He,{expose:l}){return l({frontmatter:{title:"Cloud Teams",modularExtension:!1}}),(Ee,Ge)=>{const o=s("router-link"),r=s("docswrapper");return d(),c(r,{frontmatter:Oe},{default:a(()=>[e("div",h,[m,u,p,g,e("p",null,[_,i(o,{to:"/docs/cloud/overview"},{default:a(()=>[b]),_:1}),y]),v,f,T,w,P,A,N,j,M,S,k,C,x,D,B,$,I,V,O,z,H,E,G,F,U,R,Y,L,q,K,W,e("p",null,[J,i(o,{to:"/docs/cloud/glossary/#nodes"},{default:a(()=>[Q]),_:1}),X]),Z,ee,te,ae,oe,ie,se,ne,le,re,de,ce,he,e("p",null,[me,ue,pe,i(o,{to:"/docs/cloud/projects/#monitor-a-project"},{default:a(()=>[ge]),_:1}),_e]),be,ye,ve,fe,Te,e("div",we,[e("p",null,[Pe,i(o,{to:"/docs/cloud/accounts/#create-account-and-login"},{default:a(()=>[Ae]),_:1}),Ne])]),je,Me,Se,ke,Ce,xe,De,Be,$e,Ie,Ve])]),_:1})}}};typeof n=="function"&&n(ze);export{ze as default,Oe as frontmatter};
@@ -1,5 +0,0 @@
1
- import{a as l,o as c,b as h,w as s,g as e,e as n,B as t}from"./runtime-core.esm-bundler.b1f35d24.js";var r={};const d={class:"markdown-body"},u=e("strong",null,"Form Follows Function",-1),p=t(" is the guiding design principle of Directus. The minimal UI allows the platform to be easily tailored to your brand. "),m=t("Learn more about the App"),_=t("."),g=e("h2",{id:"app-themes"},[t("App Themes "),e("a",{class:"header-anchor",href:"#app-themes"},"#")],-1),y=e("p",null,"The Directus App has been developed with customization and extensibility in mind. Colors and styles referenced within the codebase all use CSS variables, and therefore it is easy to make comprehensive changes to the App styling.",-1),b=e("p",null,"There are two themes included by default: Light and Dark. You can duplicate these files to create your own themes \u2014 with no limit to customization. Below are several code resources for key SCSS files.",-1),f=e("ul",null,[e("li",null,[e("strong",null,"Themes"),t(" \u2014 See the "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/themes/_light.scss",target:"_blank",rel:"noopener noreferrer"},"Light Theme"),t(" or "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/themes/_dark.scss",target:"_blank",rel:"noopener noreferrer"},"Dark Theme")]),e("li",null,[e("strong",null,"Typography"),t(" \u2014 See the "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/_type-styles.scss",target:"_blank",rel:"noopener noreferrer"},"Fonts"),t(" and "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/mixins/type-styles.scss",target:"_blank",rel:"noopener noreferrer"},"Type Styles")]),e("li",null,[e("strong",null,"Variables"),t(" \u2014 See the "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/_variables.scss",target:"_blank",rel:"noopener noreferrer"},"Global Variables")])],-1),S=e("h2",{id:"project-styling"},[t("Project Styling "),e("a",{class:"header-anchor",href:"#project-styling"},"#")],-1),v=t("See "),w=t("Adjusting Project Settings"),k=e("h2",{id:"custom-css"},[t("Custom CSS "),e("a",{class:"header-anchor",href:"#custom-css"},"#")],-1),C=e("p",null,"You can also override any core CSS directly within the App through Project Settings. This makes it easy to edit the CSS variables listed in the themes above.",-1),T=e("ol",null,[e("li",null,[t("Navigate to "),e("strong",null,"Settings Module > Project Settings")]),e("li",null,[t("Scroll to the "),e("strong",null,"Custom CSS"),t(" field")]),e("li",null,[t("Enter any "),e("strong",null,"valid CSS")]),e("li",null,[t("Click the "),e("strong",null,"Save"),t(" action button in the header")])],-1),A=e("h3",{id:"example"},[t("Example "),e("a",{class:"header-anchor",href:"#example"},"#")],-1),x=e("p",null,[t("Since App styles are inserted/removed whenever a component is rendered, you\u2019ll need to be aware of CSS priority. Using "),e("code",{class:""},":root"),t(" or "),e("code",{class:""},"body"),t(" likely isn\u2019t scoped enough, you\u2019ll need to define a more specific scope, such as "),e("code",{class:""},"#app"),t(", or use "),e("code",{class:""},"!important"),t(".")],-1),j=e("pre",null,[e("code",{class:"language-css"},[e("span",{class:"hljs-selector-tag"},"body"),t(` {
2
- --family-sans-serif: `),e("span",{class:"hljs-string"},"'Comic Sans MS'"),t(`;
3
- --primary: MediumSlateBlue `),e("span",{class:"hljs-meta"},"!important"),t(`;
4
- }
5
- `)])],-1),B=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Action Styling"),e("p",null,[t("The "),e("code",{class:""},"--primary"),t(" variable (and its shades) control call-to-actions and all other elements within the App using the \u201CDirectus Green\u201D. While it may be tempting to override this variable with your brand\u2019s color, please first review the following warnings:")]),e("ul",null,[e("li",null,"Avoid using yellow, orange, or red hues that give a sense of \u201Cdanger\u201D"),e("li",null,"Avoid low-contrast colors like yellows, grays, etc, that might not be easily visible"),e("li",null,"Avoid low-saturation colors like black, which might not properly highlight CTAs")])],-1),D={title:"Themes & Styling",modularExtension:!1},V={name:"themes",setup(E,{expose:i}){return i({frontmatter:{title:"Themes & Styling",modularExtension:!1}}),(F,N)=>{const o=l("router-link"),a=l("docswrapper");return c(),h(a,{frontmatter:D},{default:s(()=>[e("div",d,[e("blockquote",null,[e("p",null,[u,p,n(o,{to:"/docs/app/overview/"},{default:s(()=>[m]),_:1}),_])]),g,y,b,f,S,e("p",null,[v,n(o,{to:"/docs/configuration/project-settings/"},{default:s(()=>[w]),_:1})]),k,C,T,A,x,j,B])]),_:1})}}};typeof r=="function"&&r(V);export{V as default,D as frontmatter};