@directus/app 9.5.2 → 9.7.1

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 (898) hide show
  1. package/dist/assets/@directus_extensions-sdk.cdb2e8d9.entry.js +1 -0
  2. package/dist/assets/active-line.6375d8ad.js +1 -0
  3. package/dist/assets/activity-log.de8d5bc0.js +1 -0
  4. package/dist/assets/activity.3a289d00.js +80 -0
  5. package/dist/assets/af.b15e3fdc.js +1 -0
  6. package/dist/assets/apl.1708cb28.js +1 -0
  7. package/dist/assets/app-overview.6445a201.svg +86 -0
  8. package/dist/assets/ar-SA.0a552a0b.js +1 -0
  9. package/dist/assets/ar-dz.5481d0db.js +1 -0
  10. package/dist/assets/ar-kw.77cb7412.js +1 -0
  11. package/dist/assets/ar-ly.d2852686.js +1 -0
  12. package/dist/assets/ar-ma.6b2052c4.js +1 -0
  13. package/dist/assets/ar-sa.0ce4896b.js +1 -0
  14. package/dist/assets/ar-tn.0075ee1e.js +1 -0
  15. package/dist/assets/ar.01c8813a.js +1 -0
  16. package/dist/assets/asciiarmor.e2285682.js +1 -0
  17. package/dist/assets/asn.1.fe12a5dc.js +1 -0
  18. package/dist/assets/asterisk.44d442de.js +1 -0
  19. package/dist/assets/authentication.fa5f5fbf.js +73 -0
  20. package/dist/assets/autorefresh.f0e90988.js +1 -0
  21. package/dist/assets/aws.2ea60aef.js +1 -0
  22. package/dist/assets/az.839e5437.js +1 -0
  23. package/dist/assets/backing-directus.d243249f.js +1 -0
  24. package/dist/assets/bg-BG.bc55bc91.js +2 -0
  25. package/dist/assets/bg.71bbc37d.js +1 -0
  26. package/dist/assets/bn.28eb3677.js +1 -0
  27. package/dist/assets/br-FR.5cd59909.js +1 -0
  28. package/dist/assets/brainfuck.ad35519f.js +1 -0
  29. package/dist/assets/bs.b0570362.js +1 -0
  30. package/dist/assets/ca-ES.65d1acd8.js +1 -0
  31. package/dist/assets/ca.d17b0b48.js +1 -0
  32. package/dist/assets/cli.363cb692.js +4 -0
  33. package/dist/assets/cli.762d4191.js +19 -0
  34. package/dist/assets/clike.5b5b5e72.js +1 -0
  35. package/dist/assets/clojure.252cb52a.js +1 -0
  36. package/dist/assets/cloudron.fb83901b.js +1 -0
  37. package/dist/assets/cmake.ec70f2a6.js +1 -0
  38. package/dist/assets/cobol.4ab4edec.js +1 -0
  39. package/dist/assets/codebase-overview.58ee046d.js +1 -0
  40. package/dist/assets/coffeescript.e9fb6ceb.js +1 -0
  41. package/dist/assets/collections.bc720d33.js +106 -0
  42. package/dist/assets/commonlisp.fb62c5ad.js +1 -0
  43. package/dist/assets/config-options.1dc0d5ed.js +138 -0
  44. package/dist/assets/content-collections.84a369f0.js +1 -0
  45. package/dist/assets/content-items.284eff30.js +1 -0
  46. package/dist/assets/content.8f45d29b.js +1 -0
  47. package/dist/assets/creating-extensions.f95a89af.js +11 -0
  48. package/dist/assets/crystal.c3fd0f99.js +1 -0
  49. package/dist/assets/cs-CZ.b18be214.js +1 -0
  50. package/dist/assets/cs.23d06f43.js +1 -0
  51. package/dist/assets/css.bce2e857.js +1 -0
  52. package/dist/assets/cy.3b5a8132.js +1 -0
  53. package/dist/assets/cypher.240e0449.js +4 -0
  54. package/dist/assets/d.3b7d124d.js +1 -0
  55. package/dist/assets/da-DK.64f2463b.js +1 -0
  56. package/dist/assets/da.18bc0ec4.js +1 -0
  57. package/dist/assets/dart.87d21eb3.js +1 -0
  58. package/dist/assets/data-model.c1aabf84.js +1 -0
  59. package/dist/assets/de-DE.15c2e3e1.js +1 -0
  60. package/dist/assets/de-at.a1f7dd1d.js +1 -0
  61. package/dist/assets/de.a8c4aad1.js +1 -0
  62. package/dist/assets/diff.0485c08c.js +1 -0
  63. package/dist/assets/digitalocean-app-platform.2a64aa2b.js +3 -0
  64. package/dist/assets/displays.b69d4a64.js +49 -0
  65. package/dist/assets/django.c5439874.js +1 -0
  66. package/dist/assets/docker.10363ed7.js +82 -0
  67. package/dist/assets/dockerfile.09928133.js +1 -0
  68. package/dist/assets/documentation.03c2bbdf.js +1 -0
  69. package/dist/assets/dtd.2cbc993e.js +1 -0
  70. package/dist/assets/dylan.1c4709a8.js +1 -0
  71. package/dist/assets/ebnf.4eace14d.js +1 -0
  72. package/dist/assets/ecl.86ab1d92.js +1 -0
  73. package/dist/assets/eiffel.d65fb100.js +1 -0
  74. package/dist/assets/el.fd48dbad.js +1 -0
  75. package/dist/assets/elm.ba340dcd.js +1 -0
  76. package/dist/assets/email-templates.5d338a5d.js +2 -0
  77. package/dist/assets/en-CA.aa96bcad.js +1 -0
  78. package/dist/assets/en-GB.5c2f476e.js +1 -0
  79. package/dist/assets/en-au.1268cbf1.js +1 -0
  80. package/dist/assets/en-gb.0165e0db.js +1 -0
  81. package/dist/assets/en-nz.01361cd3.js +1 -0
  82. package/dist/assets/endpoints.dc405b01.js +27 -0
  83. package/dist/assets/eo.7ba085ab.js +1 -0
  84. package/dist/assets/erlang.6d8de3ae.js +1 -0
  85. package/dist/assets/es-419.6e38424a.js +1 -0
  86. package/dist/assets/es-CL.5ceef757.js +1 -0
  87. package/dist/assets/es-ES.9856a734.js +1 -0
  88. package/dist/assets/es-us.8d0a5dcc.js +1 -0
  89. package/dist/assets/es.33209895.js +1 -0
  90. package/dist/assets/et-EE.17e0caa0.js +3 -0
  91. package/dist/assets/et.d879b698.js +1 -0
  92. package/dist/assets/eu.bfb2c22e.js +1 -0
  93. package/dist/assets/extensions.46c0c4d5.js +12 -0
  94. package/dist/assets/fa-IR.f419c15f.js +1 -0
  95. package/dist/assets/fa.d9f705ee.js +1 -0
  96. package/dist/assets/factor.3a8a4e9e.js +1 -0
  97. package/dist/assets/faq.f30d939a.js +2 -0
  98. package/dist/assets/fcl.40019ca5.js +1 -0
  99. package/dist/assets/fi-FI.7602b87c.js +1 -0
  100. package/dist/assets/fi.5a2e9662.js +1 -0
  101. package/dist/assets/fields.a57e7d83.js +135 -0
  102. package/dist/assets/file-library.bc27695e.js +1 -0
  103. package/dist/assets/files.7a74d1e5.js +187 -0
  104. package/dist/assets/filter-rules.883e19c8.js +60 -0
  105. package/dist/assets/filters.f6249cf7.js +1 -0
  106. package/dist/assets/folders.de1fb384.js +132 -0
  107. package/dist/assets/forth.9eeae1ad.js +1 -0
  108. package/dist/assets/fortran.2f0c1e58.js +1 -0
  109. package/dist/assets/fr-CA.f9ad557e.js +1 -0
  110. package/dist/assets/fr-FR.e00afdf2.js +1 -0
  111. package/dist/assets/fr-ca.cd8c81b9.js +1 -0
  112. package/dist/assets/fr-ch.d9522a23.js +1 -0
  113. package/dist/assets/fr.56b3c7ac.js +1 -0
  114. package/dist/assets/gas.c7c58752.js +1 -0
  115. package/dist/assets/gcp.840b8fd1.js +60 -0
  116. package/dist/assets/gfm.89f8b0da.js +1 -0
  117. package/dist/assets/gherkin.0a58b297.js +1 -0
  118. package/dist/assets/github-ci.6ee6ced1.js +2 -0
  119. package/dist/assets/gl.addde635.js +1 -0
  120. package/dist/assets/glossary.351c390e.js +1 -0
  121. package/dist/assets/go.cffa3b2e.js +1 -0
  122. package/dist/assets/groovy.3cb854bc.js +1 -0
  123. package/dist/assets/haml.11c77bc4.js +1 -0
  124. package/dist/assets/handlebars.9ae7286e.js +1 -0
  125. package/dist/assets/haskell-literate.65e44262.js +1 -0
  126. package/dist/assets/haskell.e1faad6e.js +1 -0
  127. package/dist/assets/haxe.bb82fb6d.js +1 -0
  128. package/dist/assets/he-IL.bc84c4a0.js +1 -0
  129. package/dist/assets/he.343cc1d8.js +1 -0
  130. package/dist/assets/hi-IN.8c11e9ab.js +1 -0
  131. package/dist/assets/hi.b7726273.js +1 -0
  132. package/dist/assets/hooks.481ce879.js +60 -0
  133. package/dist/assets/hr-HR.20250a9e.js +1 -0
  134. package/dist/assets/hr.2709fc3c.js +1 -0
  135. package/dist/assets/htmlembedded.72e58237.js +1 -0
  136. package/dist/assets/htmlmixed.73a6225e.js +1 -0
  137. package/dist/assets/http.b18b22e3.js +1 -0
  138. package/dist/assets/hu-HU.cff882cf.js +1 -0
  139. package/dist/assets/hu.ec48b74d.js +1 -0
  140. package/dist/assets/hy-am.30c58054.js +1 -0
  141. package/dist/assets/id-ID.b2378473.js +1 -0
  142. package/dist/assets/id.08bda718.js +1 -0
  143. package/dist/assets/idl.6596cd41.js +1 -0
  144. package/dist/assets/iis.4ebc99ef.js +24 -0
  145. package/dist/assets/index.0286776b.js +1 -0
  146. package/dist/assets/index.0e7739e5.js +1 -0
  147. package/dist/assets/index.0fe387ed.js +1 -0
  148. package/dist/assets/index.1044f1b9.js +1 -0
  149. package/dist/assets/index.1242a7ae.js +1 -0
  150. package/dist/assets/index.13c42333.js +1 -0
  151. package/dist/assets/index.15d25a9a.js +1 -0
  152. package/dist/assets/index.1980416e.js +1 -0
  153. package/dist/assets/index.1d9d2719.js +1 -0
  154. package/dist/assets/index.1da570e0.js +1 -0
  155. package/dist/assets/index.1f9b2432.js +1 -0
  156. package/dist/assets/index.204221af.js +1 -0
  157. package/dist/assets/index.20df85c5.js +1 -0
  158. package/dist/assets/index.22fbda34.js +1 -0
  159. package/dist/assets/index.243d5e7b.js +1 -0
  160. package/dist/assets/index.262f690c.entry.js +542 -0
  161. package/dist/assets/index.26dab856.js +1 -0
  162. package/dist/assets/index.286b115e.js +1 -0
  163. package/dist/assets/index.290accca.js +1 -0
  164. package/dist/assets/index.2b95062f.js +1 -0
  165. package/dist/assets/index.31e06860.css +1 -0
  166. package/dist/assets/index.33336da1.js +1 -0
  167. package/dist/assets/index.33dd62e3.js +1 -0
  168. package/dist/assets/index.35e56ebe.js +1 -0
  169. package/dist/assets/index.38cc4e96.js +1 -0
  170. package/dist/assets/index.3a3927a1.js +1 -0
  171. package/dist/assets/index.3d9abe2a.js +1 -0
  172. package/dist/assets/index.451644b7.js +1 -0
  173. package/dist/assets/index.4b3944b1.js +1 -0
  174. package/dist/assets/index.4f1c9e2c.js +1 -0
  175. package/dist/assets/index.4f95210a.js +1 -0
  176. package/dist/assets/index.5306b116.js +1 -0
  177. package/dist/assets/index.530e8e3d.js +1 -0
  178. package/dist/assets/index.56390c1c.js +1 -0
  179. package/dist/assets/index.598d0a93.js +1 -0
  180. package/dist/assets/index.5aa4c214.js +1 -0
  181. package/dist/assets/index.5d9e83b8.js +1 -0
  182. package/dist/assets/index.5e4442c6.js +1 -0
  183. package/dist/assets/index.66e1b7f7.js +1 -0
  184. package/dist/assets/index.674e631d.js +1 -0
  185. package/dist/assets/index.7110f06c.js +1 -0
  186. package/dist/assets/index.72267c6b.js +1 -0
  187. package/dist/assets/index.781c12a9.js +1 -0
  188. package/dist/assets/index.7ac0116c.js +1 -0
  189. package/dist/assets/index.7c0a7bfe.js +1 -0
  190. package/dist/assets/index.7c617be3.js +1 -0
  191. package/dist/assets/index.80ed1eef.js +1 -0
  192. package/dist/assets/index.81a41182.js +1 -0
  193. package/dist/assets/index.858628e0.js +1 -0
  194. package/dist/assets/index.8c95f791.js +1 -0
  195. package/dist/assets/index.8ce7a16f.js +1 -0
  196. package/dist/assets/index.9033efd4.js +1 -0
  197. package/dist/assets/index.966c8297.js +1 -0
  198. package/dist/assets/index.96811e72.js +1 -0
  199. package/dist/assets/index.9718529e.js +1 -0
  200. package/dist/assets/index.97725763.js +1 -0
  201. package/dist/assets/index.a0a7b403.js +1 -0
  202. package/dist/assets/index.a11c3487.js +1 -0
  203. package/dist/assets/index.a2ad3c46.js +1 -0
  204. package/dist/assets/index.a685b380.js +1 -0
  205. package/dist/assets/index.a7239a95.js +1 -0
  206. package/dist/assets/index.a842af3c.js +1 -0
  207. package/dist/assets/index.b63d3efb.js +1 -0
  208. package/dist/assets/index.b9d60646.js +1 -0
  209. package/dist/assets/index.bebee43c.js +1 -0
  210. package/dist/assets/index.bfd9be8b.js +1 -0
  211. package/dist/assets/index.c0dc6448.js +1 -0
  212. package/dist/assets/index.c32660ce.js +1 -0
  213. package/dist/assets/index.c48ea2dd.js +1 -0
  214. package/dist/assets/index.c50bcd37.js +1 -0
  215. package/dist/assets/index.cc86593a.js +1 -0
  216. package/dist/assets/index.d04651a5.js +1 -0
  217. package/dist/assets/index.d196ee40.js +1 -0
  218. package/dist/assets/index.d6716446.css +1 -0
  219. package/dist/assets/index.d8e33291.js +1 -0
  220. package/dist/assets/index.e25325da.js +1 -0
  221. package/dist/assets/index.e568b9e3.js +1 -0
  222. package/dist/assets/index.e5aa4fb4.js +1 -0
  223. package/dist/assets/index.e61d2e51.js +26 -0
  224. package/dist/assets/index.eb479801.js +1 -0
  225. package/dist/assets/index.ed3eb336.js +1 -0
  226. package/dist/assets/index.ed8bef08.js +1 -0
  227. package/dist/assets/index.edbb286b.js +1 -0
  228. package/dist/assets/index.f6b60290.js +1 -0
  229. package/dist/assets/input-rich-text-html.13cfe672.css +1 -0
  230. package/dist/assets/input-rich-text-html.c9156531.js +239 -0
  231. package/dist/assets/insights.bb71b59c.js +1 -0
  232. package/dist/assets/installation.69c6e8b3.js +1 -0
  233. package/dist/assets/interfaces.1651e5d5.js +46 -0
  234. package/dist/assets/introduction.590e4eba.js +1 -0
  235. package/dist/assets/introduction.a63d87df.js +1 -0
  236. package/dist/assets/introduction.f7647fc1.js +90 -0
  237. package/dist/assets/introduction.fff52202.js +4 -0
  238. package/dist/assets/is.b36ebc71.js +1 -0
  239. package/dist/assets/it-IT.41ec56b2.js +1 -0
  240. package/dist/assets/it.3cadf6ad.js +1 -0
  241. package/dist/assets/items.76a09b87.js +136 -0
  242. package/dist/assets/ja-JP.9041d966.js +1 -0
  243. package/dist/assets/ja.df6f4b08.js +1 -0
  244. package/dist/assets/javascript-hint.36fc2c99.js +1 -0
  245. package/dist/assets/javascript.03e76510.js +1 -0
  246. package/dist/assets/jinja2.fd7fe523.js +1 -0
  247. package/dist/assets/jsonlint.e8823cb8.js +8 -0
  248. package/dist/assets/jsx.dd4c1cd5.js +1 -0
  249. package/dist/assets/julia.4255f0a0.js +1 -0
  250. package/dist/assets/ka.805bf11c.js +1 -0
  251. package/dist/assets/kk.a6e57d44.js +1 -0
  252. package/dist/assets/ko.08fe68a9.js +1 -0
  253. package/dist/assets/layouts.30c8a1e1.js +54 -0
  254. package/dist/assets/lb.e01f5df5.js +1 -0
  255. package/dist/assets/livescript.23fa45b9.js +1 -0
  256. package/dist/assets/localization.341816ac.js +1 -0
  257. package/dist/assets/lt-LT.471e35c1.js +1 -0
  258. package/dist/assets/lt.0d291ae5.js +1 -0
  259. package/dist/assets/lua.c66dd609.js +1 -0
  260. package/dist/assets/lv.00399f94.js +1 -0
  261. package/dist/assets/manual.dc5b3116.js +10 -0
  262. package/dist/assets/mark-selection.8d87324c.js +1 -0
  263. package/dist/assets/match-highlighter.4899e3b1.js +1 -0
  264. package/dist/assets/mathematica.ddf4b03a.js +1 -0
  265. package/dist/assets/mbox.7efd7aae.js +1 -0
  266. package/dist/assets/migrations.5769e3a6.js +19 -0
  267. package/dist/assets/mirc.5519309e.js +1 -0
  268. package/dist/assets/mk.5d734698.js +1 -0
  269. package/dist/assets/mllike.4fba1c9f.js +1 -0
  270. package/dist/assets/mn-MN.3b64cd12.js +1 -0
  271. package/dist/assets/modelica.d5785180.js +1 -0
  272. package/dist/assets/modules.79942055.js +69 -0
  273. package/dist/assets/ms-MY.3afe9a48.js +1 -0
  274. package/dist/assets/ms.d459f765.js +1 -0
  275. package/dist/assets/mscgen.d1084fac.js +1 -0
  276. package/dist/assets/multiplex.997f0efa.js +3 -0
  277. package/dist/assets/mumps.45d27bdc.js +1 -0
  278. package/dist/assets/nb.a3febc82.js +1 -0
  279. package/dist/assets/ne.afdfe3bf.js +1 -0
  280. package/dist/assets/nginx.f2329a2e.js +1 -0
  281. package/dist/assets/nl-NL.9517ed64.js +1 -0
  282. package/dist/assets/nl.12cdd5b8.js +1 -0
  283. package/dist/assets/nn.535723b4.js +1 -0
  284. package/dist/assets/no-NO.6684a30b.js +1 -0
  285. package/dist/assets/notifications.684fcdb3.js +153 -0
  286. package/dist/assets/nsis.7671fe5a.js +1 -0
  287. package/dist/assets/ntriples.1ef293c5.js +1 -0
  288. package/dist/assets/octave.1e6f25b7.js +1 -0
  289. package/dist/assets/overlay.d53bab44.js +1 -0
  290. package/dist/assets/overview.27b05ee2.js +1 -0
  291. package/dist/assets/overview.aaebfd46.js +1 -0
  292. package/dist/assets/oz.80d1ccf6.js +1 -0
  293. package/dist/assets/panels.5df101f1.js +65 -0
  294. package/dist/assets/pascal.cf8a9c43.js +1 -0
  295. package/dist/assets/pegjs.564a1721.js +1 -0
  296. package/dist/assets/perl.90f6ad1e.js +1 -0
  297. package/dist/assets/permissions.3fecdff8.js +178 -0
  298. package/dist/assets/php.fa8c9bb5.js +1 -0
  299. package/dist/assets/pig.4b3e46fe.js +1 -0
  300. package/dist/assets/pinia.1b52d3f3.entry.js +1 -0
  301. package/dist/assets/pl-PL.802b9560.js +1 -0
  302. package/dist/assets/pl.86440e6e.js +1 -0
  303. package/dist/assets/plesk.98782a18.js +27 -0
  304. package/dist/assets/powershell.5bdeb681.js +1 -0
  305. package/dist/assets/presets-bookmarks.e8a7bd44.js +1 -0
  306. package/dist/assets/presets.517e5211.js +164 -0
  307. package/dist/assets/project-settings.36e7f38f.js +1 -0
  308. package/dist/assets/properties.b9725bf0.js +1 -0
  309. package/dist/assets/protobuf.e8913b71.js +1 -0
  310. package/dist/assets/pt-BR.b7887762.js +1 -0
  311. package/dist/assets/pt-PT.9d22af9f.js +1 -0
  312. package/dist/assets/pt-br.cc4b694f.js +1 -0
  313. package/dist/assets/pt.73886c02.js +1 -0
  314. package/dist/assets/pug.e47e51d9.js +1 -0
  315. package/dist/assets/puppet.02d0c537.js +1 -0
  316. package/dist/assets/python.5a331182.js +1 -0
  317. package/dist/assets/q.7abd2e98.js +1 -0
  318. package/dist/assets/query.dd50494a.js +152 -0
  319. package/dist/assets/quickstart.2a30696e.js +20 -0
  320. package/dist/assets/r.559aca48.js +1 -0
  321. package/dist/assets/relations.f34c0891.js +115 -0
  322. package/dist/assets/relationships.4db828d3.js +55 -0
  323. package/dist/assets/revisions.2eacaa0e.js +40 -0
  324. package/dist/assets/ro-RO.13404884.js +1 -0
  325. package/dist/assets/ro.c45ba3d9.js +1 -0
  326. package/dist/assets/roles.c8bc1e38.js +171 -0
  327. package/dist/assets/rpm.cf2624a1.js +1 -0
  328. package/dist/assets/rst.74a6e7f4.js +1 -0
  329. package/dist/assets/ru-RU.c800aa80.js +1 -0
  330. package/dist/assets/ru.638f4fa4.js +1 -0
  331. package/dist/assets/ruby.57e7ca16.js +1 -0
  332. package/dist/assets/running-locally.3f08151c.js +28 -0
  333. package/dist/assets/rust.603cb7a9.js +1 -0
  334. package/dist/assets/sas.02fe3105.js +1 -0
  335. package/dist/assets/sass.58d3cfe8.js +1 -0
  336. package/dist/assets/scheme.23303e45.js +1 -0
  337. package/dist/assets/sdk.7feea4dd.js +355 -0
  338. package/dist/assets/security.2b004c67.js +1 -0
  339. package/dist/assets/server.64c51953.js +114 -0
  340. package/dist/assets/settings.16945599.js +1 -0
  341. package/dist/assets/settings.1f41229b.js +51 -0
  342. package/dist/assets/shell.861e6b20.js +1 -0
  343. package/dist/assets/show-hint.33e4b0da.js +1 -0
  344. package/dist/assets/sieve.9f4137de.js +1 -0
  345. package/dist/assets/simple.1a88b993.js +1 -0
  346. package/dist/assets/sk.883343ad.js +1 -0
  347. package/dist/assets/sl-SI.4d31a782.js +2 -0
  348. package/dist/assets/sl.9c1d7271.js +1 -0
  349. package/dist/assets/slim.35fbe920.js +1 -0
  350. package/dist/assets/smalltalk.6cdc0be6.js +1 -0
  351. package/dist/assets/smarty.a83da96d.js +1 -0
  352. package/dist/assets/solr.38cb5333.js +1 -0
  353. package/dist/assets/soy.d1dad77c.js +1 -0
  354. package/dist/assets/sparql.8e0b9834.js +1 -0
  355. package/dist/assets/spreadsheet.a9f547e6.js +1 -0
  356. package/dist/assets/sq.94f802c2.js +1 -0
  357. package/dist/assets/sql.0eddf5fb.js +1 -0
  358. package/dist/assets/sr-CS.2c599d6f.js +1 -0
  359. package/dist/assets/sr-cyrl.cf2bde33.js +1 -0
  360. package/dist/assets/sr.ae9ed7f6.js +1 -0
  361. package/dist/assets/sso.a0d3be3d.js +22 -0
  362. package/dist/assets/stex.84414277.js +1 -0
  363. package/dist/assets/stylus.3ed8b40a.js +1 -0
  364. package/dist/assets/support.c48dbfbf.js +1 -0
  365. package/dist/assets/sv-SE.379bf27b.js +1 -0
  366. package/dist/assets/sv.4d9818be.js +1 -0
  367. package/dist/assets/swift.9e36a6bc.js +1 -0
  368. package/dist/assets/ta-in.58b9457c.js +1 -0
  369. package/dist/assets/tcl.1387f30d.js +1 -0
  370. package/dist/assets/textile.6b4f4a09.js +1 -0
  371. package/dist/assets/th-TH.5c6acfee.js +2 -0
  372. package/dist/assets/th.2e10ae87.js +1 -0
  373. package/dist/assets/themes.1726a995.js +5 -0
  374. package/dist/assets/tiddlywiki.9fd95c86.js +1 -0
  375. package/dist/assets/tiki.1c3be72c.js +1 -0
  376. package/dist/assets/toml.d8ce69ac.js +1 -0
  377. package/dist/assets/tornado.4122acd7.js +1 -0
  378. package/dist/assets/tr-TR.7cec66df.js +1 -0
  379. package/dist/assets/tr.56778c02.js +1 -0
  380. package/dist/assets/translations.50d38679.js +1 -0
  381. package/dist/assets/troff.923cc50a.js +1 -0
  382. package/dist/assets/ttcn-cfg.c46d638e.js +1 -0
  383. package/dist/assets/ttcn.bc12e52c.js +1 -0
  384. package/dist/assets/turtle.907013ed.js +1 -0
  385. package/dist/assets/twig.2616faf3.js +1 -0
  386. package/dist/assets/ubuntu.47e4ed9d.js +11 -0
  387. package/dist/assets/ug.6363a215.js +1 -0
  388. package/dist/assets/uk-UA.fde73b19.js +1 -0
  389. package/dist/assets/uk.5a9060bd.js +1 -0
  390. package/dist/assets/upgrades-migrations.f46e3e27.js +1 -0
  391. package/dist/assets/use-sync.33f9b39d.js +1 -0
  392. package/dist/assets/user-directory.dd6f9e40.js +1 -0
  393. package/dist/assets/users-roles-permissions.cb571c73.js +1 -0
  394. package/dist/assets/users.dabef07a.js +252 -0
  395. package/dist/assets/utilities.46a0f632.js +74 -0
  396. package/dist/assets/uz.687d7fbd.js +1 -0
  397. package/dist/assets/vb.245fd092.js +1 -0
  398. package/dist/assets/vbscript.b8912ba1.js +1 -0
  399. package/dist/assets/velocity.239a0928.js +1 -0
  400. package/dist/assets/vendor.9387af12.css +1 -0
  401. package/dist/assets/vendor.a27160c3.js +1976 -0
  402. package/dist/assets/verilog.27cb4562.js +1 -0
  403. package/dist/assets/vhdl.d0516a44.js +1 -0
  404. package/dist/assets/vi-VN.3c48e9bb.js +1 -0
  405. package/dist/assets/vi.2bf54ce7.js +1 -0
  406. package/dist/assets/vue-i18n.569004d7.entry.js +1 -0
  407. package/dist/assets/vue-router.a70f1b0a.entry.js +1 -0
  408. package/dist/assets/vue.5c82b9b9.js +1 -0
  409. package/dist/assets/vue.a5867151.entry.js +1 -0
  410. package/dist/assets/wast.f00b2de6.js +1 -0
  411. package/dist/assets/webhooks.ca623606.js +147 -0
  412. package/dist/assets/webhooks.e456ff27.js +1 -0
  413. package/dist/assets/webidl.02e956cd.js +1 -0
  414. package/dist/assets/xquery.4d6fc924.js +1 -0
  415. package/dist/assets/yacas.3411c4ff.js +1 -0
  416. package/dist/assets/yaml-frontmatter.180c6ff5.js +1 -0
  417. package/dist/assets/yaml.694821cc.js +1 -0
  418. package/dist/assets/z80.e52b0a7b.js +1 -0
  419. package/dist/assets/zh-CN.8e195137.js +1 -0
  420. package/dist/assets/zh-TW.68a59250.js +1 -0
  421. package/dist/assets/zh-cn.aac76920.js +1 -0
  422. package/dist/assets/zh-tw.d89266cf.js +1 -0
  423. package/dist/favicon.ico +0 -0
  424. package/dist/index.html +7 -119
  425. package/dist/manifest.webmanifest +7 -25
  426. package/package.json +6 -6
  427. package/dist/assets/200-200-cover-100.6a119754.jpg +0 -0
  428. package/dist/assets/200-200-cover-50.b5c757be.jpg +0 -0
  429. package/dist/assets/200-200-cover-75.5e0d9ff8.jpg +0 -0
  430. package/dist/assets/@directus_extensions-sdk.fdb93800.entry.js +0 -1
  431. package/dist/assets/active-line.91ff5c8d.js +0 -1
  432. package/dist/assets/activity-log.97fbae42.js +0 -1
  433. package/dist/assets/activity.088d1c35.js +0 -80
  434. package/dist/assets/add-field.880542d6.png +0 -0
  435. package/dist/assets/af.0ae12dd5.js +0 -1
  436. package/dist/assets/apl.92e6230c.js +0 -1
  437. package/dist/assets/app-overview.1d041c7b.svg +0 -86
  438. package/dist/assets/ar-SA.ea40e3a9.js +0 -1
  439. package/dist/assets/ar-dz.4def840c.js +0 -1
  440. package/dist/assets/ar-kw.8e19bfac.js +0 -1
  441. package/dist/assets/ar-ly.1c517370.js +0 -1
  442. package/dist/assets/ar-ma.f01598f3.js +0 -1
  443. package/dist/assets/ar-sa.c5fe14e9.js +0 -1
  444. package/dist/assets/ar-tn.121f69b2.js +0 -1
  445. package/dist/assets/ar.bed29460.js +0 -1
  446. package/dist/assets/article-overview.86ef3f76.png +0 -0
  447. package/dist/assets/asciiarmor.d335dc7c.js +0 -1
  448. package/dist/assets/asn.1.d315920f.js +0 -1
  449. package/dist/assets/asterisk.8cfced94.js +0 -1
  450. package/dist/assets/authentication.0adbdab6.js +0 -73
  451. package/dist/assets/autorefresh.2d612ff9.js +0 -1
  452. package/dist/assets/aws.a670afd3.js +0 -1
  453. package/dist/assets/az.706ff558.js +0 -1
  454. package/dist/assets/backing-directus.2899551f.js +0 -1
  455. package/dist/assets/bg-BG.0d877a81.js +0 -2
  456. package/dist/assets/bg.1c68ab52.js +0 -1
  457. package/dist/assets/bn.52d26e23.js +0 -1
  458. package/dist/assets/br-FR.b5bf22f7.js +0 -1
  459. package/dist/assets/brainfuck.0a18d08d.js +0 -1
  460. package/dist/assets/bs.4d20add5.js +0 -1
  461. package/dist/assets/ca-ES.4ec66903.js +0 -1
  462. package/dist/assets/ca.a79eb6d2.js +0 -1
  463. package/dist/assets/cli.91a7b0ef.js +0 -18
  464. package/dist/assets/cli.bc06663f.js +0 -4
  465. package/dist/assets/clike.f1d85fe8.js +0 -1
  466. package/dist/assets/clojure.3e724d4b.js +0 -1
  467. package/dist/assets/cloudron.fa37a185.js +0 -1
  468. package/dist/assets/cmake.b3c9ae9d.js +0 -1
  469. package/dist/assets/cobol.236f6c6d.js +0 -1
  470. package/dist/assets/codebase-overview.0c0f5cba.js +0 -1
  471. package/dist/assets/coffeescript.69af43ea.js +0 -1
  472. package/dist/assets/collection-overview.f5f4bdd0.png +0 -0
  473. package/dist/assets/collections.f48d1811.js +0 -106
  474. package/dist/assets/commonlisp.ae043fd0.js +0 -1
  475. package/dist/assets/config-options.b997fb3e.js +0 -133
  476. package/dist/assets/content-collections.96c41bd1.js +0 -1
  477. package/dist/assets/content-items.f1fc2a9e.js +0 -1
  478. package/dist/assets/content.ef11e1cb.js +0 -1
  479. package/dist/assets/create-item.32e17f40.png +0 -0
  480. package/dist/assets/creating-extensions.8be00e4c.js +0 -11
  481. package/dist/assets/crystal.05d16dee.js +0 -1
  482. package/dist/assets/cs-CZ.8dfd2141.js +0 -1
  483. package/dist/assets/cs.b1e8bc14.js +0 -1
  484. package/dist/assets/css.62b091b8.js +0 -1
  485. package/dist/assets/cy.ac181a59.js +0 -1
  486. package/dist/assets/cypher.d55c23f3.js +0 -4
  487. package/dist/assets/d.5c2e5119.js +0 -1
  488. package/dist/assets/da-DK.e4e3715f.js +0 -1
  489. package/dist/assets/da.4016bc22.js +0 -1
  490. package/dist/assets/dart.60c85b71.js +0 -1
  491. package/dist/assets/data-model.4b43400f.js +0 -1
  492. package/dist/assets/de-DE.2f3867e9.js +0 -1
  493. package/dist/assets/de-at.c36ba3d5.js +0 -1
  494. package/dist/assets/de.31ae30a8.js +0 -1
  495. package/dist/assets/diff.13039cc0.js +0 -1
  496. package/dist/assets/digitalocean-app-platform.9dbbd151.js +0 -3
  497. package/dist/assets/displays.05a0ba75.js +0 -49
  498. package/dist/assets/django.a3de2d81.js +0 -1
  499. package/dist/assets/docker.94eebb00.js +0 -82
  500. package/dist/assets/dockerfile.87ef21a5.js +0 -1
  501. package/dist/assets/documentation.5662403f.js +0 -1
  502. package/dist/assets/dtd.bd6b4051.js +0 -1
  503. package/dist/assets/dylan.520b25cf.js +0 -1
  504. package/dist/assets/ebnf.2730fea9.js +0 -1
  505. package/dist/assets/ecl.9a6d1532.js +0 -1
  506. package/dist/assets/eiffel.b322eaa7.js +0 -1
  507. package/dist/assets/el.59a913c2.js +0 -1
  508. package/dist/assets/elm.9bd5d49d.js +0 -1
  509. package/dist/assets/email-templates.2622f4f5.js +0 -2
  510. package/dist/assets/empty-state.bbc4e874.png +0 -0
  511. package/dist/assets/en-CA.54b75dac.js +0 -1
  512. package/dist/assets/en-GB.5d984991.js +0 -1
  513. package/dist/assets/en-au.169355d7.js +0 -1
  514. package/dist/assets/en-gb.0b977da8.js +0 -1
  515. package/dist/assets/en-nz.6296f2b6.js +0 -1
  516. package/dist/assets/endpoints.90c6640c.js +0 -27
  517. package/dist/assets/eo.d92d8fbf.js +0 -1
  518. package/dist/assets/erlang.b9d69a18.js +0 -1
  519. package/dist/assets/es-419.768b23e7.js +0 -1
  520. package/dist/assets/es-CL.fd6804fd.js +0 -1
  521. package/dist/assets/es-ES.2a2421e3.js +0 -1
  522. package/dist/assets/es-us.35915abe.js +0 -1
  523. package/dist/assets/es.c516dd05.js +0 -1
  524. package/dist/assets/et-EE.3c82a2a7.js +0 -3
  525. package/dist/assets/et.420b5f6d.js +0 -1
  526. package/dist/assets/eu.edaff4b0.js +0 -1
  527. package/dist/assets/extensions.087c9534.js +0 -12
  528. package/dist/assets/fa-IR.bc4949d0.js +0 -1
  529. package/dist/assets/fa.f3993a60.js +0 -1
  530. package/dist/assets/factor.f7077407.js +0 -1
  531. package/dist/assets/faq.b35d46ed.js +0 -2
  532. package/dist/assets/fcl.45028b4e.js +0 -1
  533. package/dist/assets/fi-FI.ea8c811c.js +0 -1
  534. package/dist/assets/fi.3ee32d07.js +0 -1
  535. package/dist/assets/fields.6654fb8d.js +0 -135
  536. package/dist/assets/file-library-overview.b41d2005.png +0 -0
  537. package/dist/assets/file-library.cc49fa2f.js +0 -1
  538. package/dist/assets/file-overview.c28ace50.png +0 -0
  539. package/dist/assets/files.39a1fdcf.js +0 -187
  540. package/dist/assets/filter-rules.afe98b80.js +0 -60
  541. package/dist/assets/folders.9d2e334f.js +0 -132
  542. package/dist/assets/forth.195887c3.js +0 -1
  543. package/dist/assets/fortran.5d5c335b.js +0 -1
  544. package/dist/assets/fr-CA.98b1ca99.js +0 -1
  545. package/dist/assets/fr-FR.76a38bd1.js +0 -1
  546. package/dist/assets/fr-ca.e2e64899.js +0 -1
  547. package/dist/assets/fr-ch.e9042a4c.js +0 -1
  548. package/dist/assets/fr.9d599b24.js +0 -1
  549. package/dist/assets/gas.16c12037.js +0 -1
  550. package/dist/assets/gcp.9b7c4ed6.js +0 -60
  551. package/dist/assets/gfm.d799b563.js +0 -1
  552. package/dist/assets/gherkin.2b39b6dd.js +0 -1
  553. package/dist/assets/github-ci.8c797816.js +0 -2
  554. package/dist/assets/gl.b8341ed4.js +0 -1
  555. package/dist/assets/glossary.2aef84aa.js +0 -1
  556. package/dist/assets/go.a9b03085.js +0 -1
  557. package/dist/assets/groovy.29bd8618.js +0 -1
  558. package/dist/assets/haml.6e79da90.js +0 -1
  559. package/dist/assets/handlebars.2cc03606.js +0 -1
  560. package/dist/assets/haskell-literate.7d265fa0.js +0 -1
  561. package/dist/assets/haskell.74b99322.js +0 -1
  562. package/dist/assets/haxe.cded41ab.js +0 -1
  563. package/dist/assets/he-IL.80c0db1b.js +0 -1
  564. package/dist/assets/he.18403882.js +0 -1
  565. package/dist/assets/hi-IN.89190874.js +0 -1
  566. package/dist/assets/hi.e2a17765.js +0 -1
  567. package/dist/assets/hooks.57af13af.js +0 -60
  568. package/dist/assets/hr-HR.4258bbeb.js +0 -1
  569. package/dist/assets/hr.57f77dc3.js +0 -1
  570. package/dist/assets/htmlembedded.49f79187.js +0 -1
  571. package/dist/assets/htmlmixed.d6f11e3c.js +0 -1
  572. package/dist/assets/http.068172f8.js +0 -1
  573. package/dist/assets/hu-HU.94582835.js +0 -1
  574. package/dist/assets/hu.adb9ccdc.js +0 -1
  575. package/dist/assets/hy-am.59b7a75e.js +0 -1
  576. package/dist/assets/id-ID.73df63e3.js +0 -1
  577. package/dist/assets/id.bc299c4a.js +0 -1
  578. package/dist/assets/idl.2f22f15a.js +0 -1
  579. package/dist/assets/iis.0756b349.js +0 -24
  580. package/dist/assets/index.03be9954.js +0 -1
  581. package/dist/assets/index.0ba1faa9.css +0 -1
  582. package/dist/assets/index.1610ceeb.js +0 -1
  583. package/dist/assets/index.1760c023.js +0 -1
  584. package/dist/assets/index.17858738.js +0 -1
  585. package/dist/assets/index.1792b218.js +0 -1
  586. package/dist/assets/index.17dcd22b.js +0 -1
  587. package/dist/assets/index.1a2bd336.js +0 -1
  588. package/dist/assets/index.1e433f7c.js +0 -1
  589. package/dist/assets/index.1ef15bd0.js +0 -1
  590. package/dist/assets/index.25bd5335.js +0 -1
  591. package/dist/assets/index.284ad9ae.js +0 -1
  592. package/dist/assets/index.28c78852.js +0 -1
  593. package/dist/assets/index.30c48506.js +0 -1
  594. package/dist/assets/index.34ca1f4f.js +0 -1
  595. package/dist/assets/index.3d64863b.js +0 -1
  596. package/dist/assets/index.42cf46e8.js +0 -1
  597. package/dist/assets/index.43aaad2f.js +0 -1
  598. package/dist/assets/index.482eee81.js +0 -1
  599. package/dist/assets/index.4c1678f5.js +0 -1
  600. package/dist/assets/index.505c3128.js +0 -1
  601. package/dist/assets/index.51e25346.js +0 -1
  602. package/dist/assets/index.536d6c04.js +0 -1
  603. package/dist/assets/index.538fe012.js +0 -1
  604. package/dist/assets/index.53fd3b94.js +0 -1
  605. package/dist/assets/index.5792c56d.js +0 -1
  606. package/dist/assets/index.5991f264.js +0 -1
  607. package/dist/assets/index.59d23ad1.js +0 -1
  608. package/dist/assets/index.6019766b.js +0 -1
  609. package/dist/assets/index.637ecec8.js +0 -1
  610. package/dist/assets/index.65607570.js +0 -1
  611. package/dist/assets/index.6944de49.js +0 -26
  612. package/dist/assets/index.6b7b67e0.js +0 -1
  613. package/dist/assets/index.6d163e82.js +0 -1
  614. package/dist/assets/index.6f216b4a.js +0 -1
  615. package/dist/assets/index.71a497d6.css +0 -1
  616. package/dist/assets/index.7405e309.js +0 -1
  617. package/dist/assets/index.7b7245a9.js +0 -1
  618. package/dist/assets/index.7ddd41bb.js +0 -1
  619. package/dist/assets/index.8305bbeb.js +0 -1
  620. package/dist/assets/index.86c67d5c.js +0 -1
  621. package/dist/assets/index.893a69a1.js +0 -1
  622. package/dist/assets/index.8cbec1ee.js +0 -1
  623. package/dist/assets/index.8f1e1fba.js +0 -1
  624. package/dist/assets/index.8fc5fb54.js +0 -1
  625. package/dist/assets/index.91639619.js +0 -1
  626. package/dist/assets/index.94f09a1f.js +0 -1
  627. package/dist/assets/index.989d0b7b.js +0 -1
  628. package/dist/assets/index.9e12d78b.js +0 -1
  629. package/dist/assets/index.9f18eda4.js +0 -1
  630. package/dist/assets/index.a0704c57.js +0 -1
  631. package/dist/assets/index.a08492e1.js +0 -1
  632. package/dist/assets/index.a1a28b7c.js +0 -1
  633. package/dist/assets/index.a253b413.entry.js +0 -531
  634. package/dist/assets/index.a54b3a96.js +0 -1
  635. package/dist/assets/index.a635ff40.js +0 -1
  636. package/dist/assets/index.a6b0b229.js +0 -1
  637. package/dist/assets/index.b033f81e.js +0 -1
  638. package/dist/assets/index.b42be304.js +0 -1
  639. package/dist/assets/index.b4f1966d.js +0 -1
  640. package/dist/assets/index.b687f719.js +0 -1
  641. package/dist/assets/index.b6d4c7ef.js +0 -1
  642. package/dist/assets/index.b883b34b.js +0 -1
  643. package/dist/assets/index.bcedb140.js +0 -1
  644. package/dist/assets/index.bdc76b24.js +0 -1
  645. package/dist/assets/index.c2d5da76.js +0 -1
  646. package/dist/assets/index.c5f25555.js +0 -1
  647. package/dist/assets/index.c8f131d2.js +0 -1
  648. package/dist/assets/index.d1768a4c.js +0 -1
  649. package/dist/assets/index.d20355f1.js +0 -1
  650. package/dist/assets/index.da8f8bd1.js +0 -1
  651. package/dist/assets/index.ddf80deb.js +0 -1
  652. package/dist/assets/index.e15ede3f.js +0 -1
  653. package/dist/assets/index.ec1cae03.js +0 -1
  654. package/dist/assets/index.ed021a7e.js +0 -1
  655. package/dist/assets/index.f1402ddb.js +0 -1
  656. package/dist/assets/index.f2f0b19e.js +0 -1
  657. package/dist/assets/index.f39fd82c.js +0 -1
  658. package/dist/assets/index.f4cd1717.js +0 -1
  659. package/dist/assets/index.f76046f7.js +0 -1
  660. package/dist/assets/index.f969f456.js +0 -1
  661. package/dist/assets/index.fd1147cb.js +0 -1
  662. package/dist/assets/index.fe41cd97.js +0 -1
  663. package/dist/assets/index.ff3abc12.js +0 -1
  664. package/dist/assets/input-rich-text-html.bd11c29f.js +0 -239
  665. package/dist/assets/input-rich-text-html.f98395ca.css +0 -1
  666. package/dist/assets/insights.6b9e65c2.js +0 -1
  667. package/dist/assets/installation.170112a4.js +0 -1
  668. package/dist/assets/interfaces.db39b9ff.js +0 -46
  669. package/dist/assets/introduction.831e086e.js +0 -4
  670. package/dist/assets/introduction.ba72705e.js +0 -1
  671. package/dist/assets/introduction.d83586e5.js +0 -1
  672. package/dist/assets/introduction.f0c7891e.js +0 -90
  673. package/dist/assets/is.2eb43668.js +0 -1
  674. package/dist/assets/it-IT.93477255.js +0 -1
  675. package/dist/assets/it.e663f69e.js +0 -1
  676. package/dist/assets/items.2fff6572.js +0 -136
  677. package/dist/assets/ja-JP.8078d1fc.js +0 -1
  678. package/dist/assets/ja.21755c02.js +0 -1
  679. package/dist/assets/javascript-hint.ff0e6747.js +0 -1
  680. package/dist/assets/javascript.85c4d25b.js +0 -1
  681. package/dist/assets/jinja2.7a8fb070.js +0 -1
  682. package/dist/assets/jsonlint.09bf5bab.js +0 -8
  683. package/dist/assets/jsx.561c3147.js +0 -1
  684. package/dist/assets/julia.e3b41c51.js +0 -1
  685. package/dist/assets/ka.09267484.js +0 -1
  686. package/dist/assets/kk.c27d7d0f.js +0 -1
  687. package/dist/assets/ko.86462d08.js +0 -1
  688. package/dist/assets/layouts.cebfaaa8.js +0 -54
  689. package/dist/assets/lb.b4fb4102.js +0 -1
  690. package/dist/assets/livescript.da5167f8.js +0 -1
  691. package/dist/assets/localization.f77ab14f.js +0 -1
  692. package/dist/assets/lt-LT.2ee93d0f.js +0 -1
  693. package/dist/assets/lt.bec1e735.js +0 -1
  694. package/dist/assets/lua.68934f2f.js +0 -1
  695. package/dist/assets/lv.1d9eac62.js +0 -1
  696. package/dist/assets/m2a.347ed339.png +0 -0
  697. package/dist/assets/m2m.07bed843.png +0 -0
  698. package/dist/assets/m2o.ac02ed03.png +0 -0
  699. package/dist/assets/manual.6a6a9570.js +0 -10
  700. package/dist/assets/mark-selection.d8696dde.js +0 -1
  701. package/dist/assets/match-highlighter.011c3968.js +0 -1
  702. package/dist/assets/mathematica.970914fe.js +0 -1
  703. package/dist/assets/mbox.798fd6c8.js +0 -1
  704. package/dist/assets/migrations.cbdea1ca.js +0 -19
  705. package/dist/assets/mirc.03c69e34.js +0 -1
  706. package/dist/assets/mk.ac873732.js +0 -1
  707. package/dist/assets/mllike.01ddd025.js +0 -1
  708. package/dist/assets/mn-MN.9d75cba3.js +0 -1
  709. package/dist/assets/modelica.29193581.js +0 -1
  710. package/dist/assets/modules.32110248.js +0 -69
  711. package/dist/assets/ms-MY.3db62076.js +0 -1
  712. package/dist/assets/ms.a8caaf33.js +0 -1
  713. package/dist/assets/mscgen.129c1a92.js +0 -1
  714. package/dist/assets/multiplex.07740103.js +0 -3
  715. package/dist/assets/mumps.6bf32390.js +0 -1
  716. package/dist/assets/nb.c4e12345.js +0 -1
  717. package/dist/assets/ne.8c2e7d13.js +0 -1
  718. package/dist/assets/nginx.becfadad.js +0 -1
  719. package/dist/assets/nl-NL.a0c67bbb.js +0 -1
  720. package/dist/assets/nl.15edef36.js +0 -1
  721. package/dist/assets/nn.33ea37c6.js +0 -1
  722. package/dist/assets/no-NO.13f7014c.js +0 -1
  723. package/dist/assets/notifications.b9d06648.js +0 -153
  724. package/dist/assets/nsis.60778189.js +0 -1
  725. package/dist/assets/ntriples.57e7f534.js +0 -1
  726. package/dist/assets/o2m.339378e0.png +0 -0
  727. package/dist/assets/octave.9d8386d3.js +0 -1
  728. package/dist/assets/original.888775a8.jpg +0 -0
  729. package/dist/assets/overlay.4aee4ad9.js +0 -1
  730. package/dist/assets/overview.c10655c2.js +0 -1
  731. package/dist/assets/overview.ed8cc8fc.js +0 -1
  732. package/dist/assets/oz.9bd8f7e7.js +0 -1
  733. package/dist/assets/panels.241a2491.js +0 -65
  734. package/dist/assets/pascal.97e8c58d.js +0 -1
  735. package/dist/assets/pegjs.a585faf9.js +0 -1
  736. package/dist/assets/perl.01cca948.js +0 -1
  737. package/dist/assets/permissions.b47530e9.png +0 -0
  738. package/dist/assets/permissions.f4ad3029.js +0 -178
  739. package/dist/assets/php.fd86de38.js +0 -1
  740. package/dist/assets/pig.44da9cf6.js +0 -1
  741. package/dist/assets/pinia.b8958608.entry.js +0 -1
  742. package/dist/assets/pl-PL.65bde531.js +0 -1
  743. package/dist/assets/pl.8a0826b3.js +0 -1
  744. package/dist/assets/plesk.eef0ffe8.js +0 -21
  745. package/dist/assets/powershell.432aa4e3.js +0 -1
  746. package/dist/assets/presets-bookmarks.1c9f5558.js +0 -1
  747. package/dist/assets/presets.a78e9fbc.js +0 -164
  748. package/dist/assets/project-settings.72e83679.js +0 -1
  749. package/dist/assets/properties.41f6ef8f.js +0 -1
  750. package/dist/assets/protobuf.985c6ff9.js +0 -1
  751. package/dist/assets/pt-BR.fcdcd0d6.js +0 -1
  752. package/dist/assets/pt-PT.76e3ba8f.js +0 -1
  753. package/dist/assets/pt-br.e87cb008.js +0 -1
  754. package/dist/assets/pt.de450764.js +0 -1
  755. package/dist/assets/pug.46a9325f.js +0 -1
  756. package/dist/assets/puppet.978fb907.js +0 -1
  757. package/dist/assets/python.197cf682.js +0 -1
  758. package/dist/assets/q.eb66a399.js +0 -1
  759. package/dist/assets/query.b41e6991.js +0 -152
  760. package/dist/assets/quickstart.eea06952.js +0 -11
  761. package/dist/assets/r.30005c51.js +0 -1
  762. package/dist/assets/relations.7a9fbe53.js +0 -115
  763. package/dist/assets/relationships.b1c4c4d7.js +0 -55
  764. package/dist/assets/revisions.999a1447.js +0 -40
  765. package/dist/assets/ro-RO.e9e3a460.js +0 -1
  766. package/dist/assets/ro.1786958f.js +0 -1
  767. package/dist/assets/roles.c650ebd6.js +0 -171
  768. package/dist/assets/rpm.fb52e459.js +0 -1
  769. package/dist/assets/rst.f7c5571b.js +0 -1
  770. package/dist/assets/ru-RU.799cee27.js +0 -1
  771. package/dist/assets/ru.2c0e4894.js +0 -1
  772. package/dist/assets/ruby.edf804f9.js +0 -1
  773. package/dist/assets/running-locally.efb945d9.js +0 -28
  774. package/dist/assets/rust.8b6761b2.js +0 -1
  775. package/dist/assets/sas.8c2a5af3.js +0 -1
  776. package/dist/assets/sass.f9cb449a.js +0 -1
  777. package/dist/assets/scheme.060ff4c7.js +0 -1
  778. package/dist/assets/sdk.9c072015.js +0 -355
  779. package/dist/assets/security.db7f2ed1.js +0 -1
  780. package/dist/assets/server.bb95f58d.js +0 -114
  781. package/dist/assets/settings.676a9d6b.js +0 -1
  782. package/dist/assets/settings.82d42ce8.js +0 -51
  783. package/dist/assets/shell.b9a0e740.js +0 -1
  784. package/dist/assets/show-hint.64cd9d68.js +0 -1
  785. package/dist/assets/sieve.2e435557.js +0 -1
  786. package/dist/assets/simple.0840e902.js +0 -1
  787. package/dist/assets/sk.e174a41b.js +0 -1
  788. package/dist/assets/sl-SI.59c76b0a.js +0 -2
  789. package/dist/assets/sl.34422efd.js +0 -1
  790. package/dist/assets/slim.04b2111c.js +0 -1
  791. package/dist/assets/smalltalk.4fb3b1b9.js +0 -1
  792. package/dist/assets/smarty.f6122c9b.js +0 -1
  793. package/dist/assets/solr.5d518e61.js +0 -1
  794. package/dist/assets/soy.7fcab156.js +0 -1
  795. package/dist/assets/sparql.f1a7f051.js +0 -1
  796. package/dist/assets/spreadsheet.4c6df545.js +0 -1
  797. package/dist/assets/sq.ee367a13.js +0 -1
  798. package/dist/assets/sql.a01b495c.js +0 -1
  799. package/dist/assets/sr-CS.9a714a93.js +0 -1
  800. package/dist/assets/sr-cyrl.0abb2793.js +0 -1
  801. package/dist/assets/sr.efb7e3ec.js +0 -1
  802. package/dist/assets/sso.6c672b92.js +0 -22
  803. package/dist/assets/stex.6cab0c16.js +0 -1
  804. package/dist/assets/stylus.7577596a.js +0 -1
  805. package/dist/assets/support.27c0edd9.js +0 -1
  806. package/dist/assets/sv-SE.7051901e.js +0 -1
  807. package/dist/assets/sv.b9d19aa9.js +0 -1
  808. package/dist/assets/swift.0d939f23.js +0 -1
  809. package/dist/assets/ta-in.8c88aa82.js +0 -1
  810. package/dist/assets/tcl.7f858309.js +0 -1
  811. package/dist/assets/terminal-install.44adb787.png +0 -0
  812. package/dist/assets/terminal-start.72064e09.png +0 -0
  813. package/dist/assets/textile.237e1506.js +0 -1
  814. package/dist/assets/th-TH.ed8c9ce8.js +0 -2
  815. package/dist/assets/th.d0e24ade.js +0 -1
  816. package/dist/assets/themes.deee4299.js +0 -5
  817. package/dist/assets/tiddlywiki.08bed973.js +0 -1
  818. package/dist/assets/tiki.9dce5bfd.js +0 -1
  819. package/dist/assets/toml.faf5f476.js +0 -1
  820. package/dist/assets/tornado.4323d4a2.js +0 -1
  821. package/dist/assets/tr-TR.51f6d3f2.js +0 -1
  822. package/dist/assets/tr.d887c301.js +0 -1
  823. package/dist/assets/translations-2.29d07342.png +0 -0
  824. package/dist/assets/translations.2f0017a9.png +0 -0
  825. package/dist/assets/translations.5ffeab6c.js +0 -1
  826. package/dist/assets/troff.82b9a6c7.js +0 -1
  827. package/dist/assets/ttcn-cfg.3e28bc75.js +0 -1
  828. package/dist/assets/ttcn.f9c675ae.js +0 -1
  829. package/dist/assets/turtle.97cf58a5.js +0 -1
  830. package/dist/assets/twig.36068343.js +0 -1
  831. package/dist/assets/ubuntu.e99e20d0.js +0 -11
  832. package/dist/assets/ug.2ae6849b.js +0 -1
  833. package/dist/assets/uk-UA.1bd8aa98.js +0 -1
  834. package/dist/assets/uk.69d22b7d.js +0 -1
  835. package/dist/assets/upgrades-migrations.37c4532e.js +0 -1
  836. package/dist/assets/use-sync.04f09f9e.js +0 -1
  837. package/dist/assets/user-directory-overview.69a80519.png +0 -0
  838. package/dist/assets/user-directory.1a185dd0.js +0 -1
  839. package/dist/assets/user-overview.5cc16f64.png +0 -0
  840. package/dist/assets/users-roles-permissions.f59c381a.js +0 -1
  841. package/dist/assets/users.461a15d2.js +0 -252
  842. package/dist/assets/utilities.ff6cf557.js +0 -60
  843. package/dist/assets/uz.a2abf7be.js +0 -1
  844. package/dist/assets/vb.5aaf8565.js +0 -1
  845. package/dist/assets/vbscript.c07dc3c8.js +0 -1
  846. package/dist/assets/velocity.f7cdf7e5.js +0 -1
  847. package/dist/assets/vendor.f59145b7.js +0 -2041
  848. package/dist/assets/vendor.fe7856f0.css +0 -1
  849. package/dist/assets/verilog.55a49c38.js +0 -1
  850. package/dist/assets/vhdl.fc40f629.js +0 -1
  851. package/dist/assets/vi-VN.b39fb470.js +0 -1
  852. package/dist/assets/vi.cc30f87c.js +0 -1
  853. package/dist/assets/vue-i18n.ec7ef603.entry.js +0 -1
  854. package/dist/assets/vue-router.59b4e0a8.entry.js +0 -1
  855. package/dist/assets/vue.0daa2612.js +0 -1
  856. package/dist/assets/vue.ad7417ec.entry.js +0 -1
  857. package/dist/assets/wast.a9fb00d6.js +0 -1
  858. package/dist/assets/webhooks.8438538b.js +0 -147
  859. package/dist/assets/webhooks.9b515577.js +0 -1
  860. package/dist/assets/webidl.dbd219d1.js +0 -1
  861. package/dist/assets/xquery.1638d97d.js +0 -1
  862. package/dist/assets/yacas.d19e357f.js +0 -1
  863. package/dist/assets/yaml-frontmatter.94aa6732.js +0 -1
  864. package/dist/assets/yaml.52d92099.js +0 -1
  865. package/dist/assets/z80.36722ea0.js +0 -1
  866. package/dist/assets/zh-CN.c2a147a6.js +0 -1
  867. package/dist/assets/zh-TW.ed00cc7a.js +0 -1
  868. package/dist/assets/zh-cn.f12689f7.js +0 -1
  869. package/dist/assets/zh-tw.c5aeda5a.js +0 -1
  870. package/dist/img/icons/android-chrome-192x192.png +0 -0
  871. package/dist/img/icons/android-chrome-512x512.png +0 -0
  872. package/dist/img/icons/apple-touch-icon-152x152.png +0 -0
  873. package/dist/img/icons/apple-touch-icon.png +0 -0
  874. package/dist/img/icons/favicon-16x16.png +0 -0
  875. package/dist/img/icons/favicon-32x32.png +0 -0
  876. package/dist/img/icons/maskable.png +0 -0
  877. package/dist/img/splashscreens/apple-splash-1125-2436.jpg +0 -0
  878. package/dist/img/splashscreens/apple-splash-1136-640.jpg +0 -0
  879. package/dist/img/splashscreens/apple-splash-1242-2208.jpg +0 -0
  880. package/dist/img/splashscreens/apple-splash-1242-2688.jpg +0 -0
  881. package/dist/img/splashscreens/apple-splash-1334-750.jpg +0 -0
  882. package/dist/img/splashscreens/apple-splash-1536-2048.jpg +0 -0
  883. package/dist/img/splashscreens/apple-splash-1620-2160.jpg +0 -0
  884. package/dist/img/splashscreens/apple-splash-1668-2224.jpg +0 -0
  885. package/dist/img/splashscreens/apple-splash-1668-2388.jpg +0 -0
  886. package/dist/img/splashscreens/apple-splash-1792-828.jpg +0 -0
  887. package/dist/img/splashscreens/apple-splash-2048-1536.jpg +0 -0
  888. package/dist/img/splashscreens/apple-splash-2048-2732.jpg +0 -0
  889. package/dist/img/splashscreens/apple-splash-2160-1620.jpg +0 -0
  890. package/dist/img/splashscreens/apple-splash-2208-1242.jpg +0 -0
  891. package/dist/img/splashscreens/apple-splash-2224-1668.jpg +0 -0
  892. package/dist/img/splashscreens/apple-splash-2388-1668.jpg +0 -0
  893. package/dist/img/splashscreens/apple-splash-2436-1125.jpg +0 -0
  894. package/dist/img/splashscreens/apple-splash-2688-1242.jpg +0 -0
  895. package/dist/img/splashscreens/apple-splash-2732-2048.jpg +0 -0
  896. package/dist/img/splashscreens/apple-splash-640-1136.jpg +0 -0
  897. package/dist/img/splashscreens/apple-splash-750-1334.jpg +0 -0
  898. package/dist/img/splashscreens/apple-splash-828-1792.jpg +0 -0
@@ -1,133 +0,0 @@
1
- import{r as s,p as r,q as i,w as n,z as l,t as o,S as e}from"./vendor.f59145b7.js";const c={class:"markdown-body"},h=l("blockquote",null,[l("p",null,"Environment variables are used for all configuration within a Directus project. These variables can be defined in a number of ways, which we cover below.")],-1),_=l("p",null,[l("div",{class:"table-of-contents"},[l("ul",null,[l("li",null,[l("a",{href:"#configuration-files"},"Configuration Files")]),l("li",null,[l("a",{href:"#environment-variable-files"},"Environment Variable Files")]),l("li",null,[l("a",{href:"#type-casting-and-nesting"},"Type Casting and Nesting")]),l("li",null,[l("a",{href:"#environment-syntax-prefix"},"Environment Syntax Prefix")]),l("li",null,[l("a",{href:"#general"},"General")]),l("li",null,[l("a",{href:"#database"},"Database")]),l("li",null,[l("a",{href:"#security"},"Security")]),l("li",null,[l("a",{href:"#cors"},"CORS")]),l("li",null,[l("a",{href:"#rate-limiting"},"Rate Limiting")]),l("li",null,[l("a",{href:"#cache"},"Cache")]),l("li",null,[l("a",{href:"#file-storage"},"File Storage")]),l("li",null,[l("a",{href:"#assets"},"Assets")]),l("li",null,[l("a",{href:"#authentication"},"Authentication")]),l("li",null,[l("a",{href:"#extensions"},"Extensions")]),l("li",null,[l("a",{href:"#email"},"Email")]),l("li",null,[l("a",{href:"#admin-account"},"Admin Account")]),l("li",null,[l("a",{href:"#telemetry"},"Telemetry")])])])],-1),p=l("h2",{id:"configuration-files"},[e("Configuration Files "),l("a",{class:"header-anchor",href:"#configuration-files"},"#")],-1),f=l("p",null,[e("By default, Directus will read the "),l("code",null,".env"),e(" file located next to your project\u2019s "),l("code",null,"package.json"),e(" (typically in the root folder of your project) for its configuration. You can change this path and filename by setting the "),l("code",null,"CONFIG_PATH"),e(" environment variable before starting Directus. For example:")],-1),m=l("pre",null,[l("code",{class:"language-bash"},[e("CONFIG_PATH="),l("span",{class:"hljs-string"},'"/path/to/config.js"'),e(` npx directus start
2
- `)])],-1),E=l("p",null,[e("In case you prefer using a configuration file instead of environment variables, you can also use the "),l("code",null,"CONFIG_PATH"),e(" environment variable to instruct Directus to use a local configuration file instead of environment variables. The config file can be one of the following formats:")],-1),g=l("ul",null,[l("li",null,[l("a",{href:"#env"},".env")]),l("li",null,[l("a",{href:"#config-json"},"config.json")]),l("li",null,[l("a",{href:"#config-yaml"},"config.yaml")]),l("li",null,[l("a",{href:"#config-js"},"config.js")])],-1),A=l("h3",{id:".env"},[e(".env "),l("a",{class:"header-anchor",href:"#.env"},"#")],-1),T=l("p",null,"If the config path has no file extension, or a file extension that\u2019s not one of the other supported formats, Directus will try reading the file config path as environment variables. This has the following structure:",-1),R=l("pre",null,[l("code",null,`PORT=8055
3
-
4
- DB_CLIENT="pg"
5
- DB_HOST="localhost"
6
- DB_PORT=5432
7
-
8
- etc
9
- `)],-1),b=l("h3",{id:"config.json"},[e("config.json "),l("a",{class:"header-anchor",href:"#config.json"},"#")],-1),O=l("p",null,"If you prefer a single JSON file for your configuration, create a JSON file with the environment variables as keys, for example:",-1),S=l("pre",null,[l("code",null,`CONFIG_PATH="/path/to/config.json"
10
- `)],-1),I=l("pre",null,[l("code",{class:"language-json"},[e(`{
11
- `),l("span",{class:"hljs-attr"},'"PORT"'),e(": "),l("span",{class:"hljs-number"},"8055"),e(`,
12
-
13
- `),l("span",{class:"hljs-attr"},'"DB_CLIENT"'),e(": "),l("span",{class:"hljs-string"},'"pg"'),e(`,
14
- `),l("span",{class:"hljs-attr"},'"DB_HOST"'),e(": "),l("span",{class:"hljs-string"},'"localhost"'),e(`,
15
- `),l("span",{class:"hljs-attr"},'"DB_PORT"'),e(": "),l("span",{class:"hljs-number"},"5432"),e(`
16
-
17
- `),l("span",{class:"hljs-comment"},"// etc"),e(`
18
- }
19
- `)])],-1),y=l("h3",{id:"config.yaml"},[e("config.yaml "),l("a",{class:"header-anchor",href:"#config.yaml"},"#")],-1),D=l("p",null,[e("Similar to JSON, you can use a "),l("code",null,".yaml"),e(" (or "),l("code",null,".yml"),e(") file for your config:")],-1),C=l("pre",null,[l("code",null,`CONFIG_PATH="/path/to/config.yaml"
20
- `)],-1),L=l("pre",null,[l("code",{class:"language-yaml"},[l("span",{class:"hljs-attr"},"PORT:"),e(),l("span",{class:"hljs-number"},"8055"),e(`
21
-
22
- `),l("span",{class:"hljs-attr"},"DB_CLIENT:"),e(),l("span",{class:"hljs-string"},"pg"),e(`
23
- `),l("span",{class:"hljs-attr"},"DB_HOST:"),e(),l("span",{class:"hljs-string"},"localhost"),e(`
24
- `),l("span",{class:"hljs-attr"},"DB_PORT:"),e(),l("span",{class:"hljs-number"},"5432"),e(`
25
- `),l("span",{class:"hljs-comment"},"#"),e(`
26
- `),l("span",{class:"hljs-comment"},"# etc"),e(`
27
- `)])],-1),v=l("h3",{id:"config.js"},[e("config.js "),l("a",{class:"header-anchor",href:"#config.js"},"#")],-1),w=l("p",null,[e("Using a JavaScript file for your config allows you to dynamically generate the configuration of the project during startup. The JavaScript configuration supports two different formats, either an "),l("strong",null,"Object Structure"),e(" where the key is the environment variable name:")],-1),U=l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-comment"},"// Object Sytax"),e(`
28
-
29
- `),l("span",{class:"hljs-built_in"},"module"),e(`.exports = {
30
- `),l("span",{class:"hljs-attr"},"PORT"),e(": "),l("span",{class:"hljs-number"},"8055"),e(`,
31
-
32
- `),l("span",{class:"hljs-attr"},"DB_CLIENT"),e(": "),l("span",{class:"hljs-string"},"'pg'"),e(`,
33
- `),l("span",{class:"hljs-attr"},"DB_HOST"),e(": "),l("span",{class:"hljs-string"},"'localhost'"),e(`,
34
- `),l("span",{class:"hljs-attr"},"DB_PORT"),e(": "),l("span",{class:"hljs-number"},"5432"),e(`,
35
-
36
- `),l("span",{class:"hljs-comment"},"// etc"),e(`
37
- };
38
- `)])],-1),N=l("p",null,[e("Or a "),l("strong",null,"Function Structure"),e(" that "),l("em",null,"returns"),e(" the same object format as above. The function gets "),l("code",null,"process.env"),e(" as its parameter.")],-1),P=l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-comment"},"// Function Syntax"),e(`
39
-
40
- `),l("span",{class:"hljs-built_in"},"module"),e(".exports = "),l("span",{class:"hljs-function"},[l("span",{class:"hljs-keyword"},"function"),e(" ("),l("span",{class:"hljs-params"},"env"),e(") ")]),e(`{
41
- `),l("span",{class:"hljs-keyword"},"return"),e(` {
42
- `),l("span",{class:"hljs-attr"},"PORT"),e(": "),l("span",{class:"hljs-number"},"8055"),e(`,
43
-
44
- `),l("span",{class:"hljs-attr"},"DB_CLIENT"),e(": "),l("span",{class:"hljs-string"},"'pg'"),e(`,
45
- `),l("span",{class:"hljs-attr"},"DB_HOST"),e(": "),l("span",{class:"hljs-string"},"'localhost'"),e(`,
46
- `),l("span",{class:"hljs-attr"},"DB_PORT"),e(": "),l("span",{class:"hljs-number"},"5432"),e(`,
47
-
48
- `),l("span",{class:"hljs-comment"},"// etc"),e(`
49
- };
50
- };
51
- `)])],-1),H=l("h2",{id:"environment-variable-files"},[e("Environment Variable Files "),l("a",{class:"header-anchor",href:"#environment-variable-files"},"#")],-1),V=l("p",null,[e("Any of the environment variable values can be imported from a file, by appending "),l("code",null,"_FILE"),e(" to the environment variable name. This is especially useful when used in conjunction with Docker Secrets, so you can keep sensitive data out of your compose files. For example:")],-1),x=l("pre",null,[l("code",null,`DB_PASSWORD_FILE="/run/secrets/db_password"
52
- `)],-1),M=l("h2",{id:"type-casting-and-nesting"},[e("Type Casting and Nesting "),l("a",{class:"header-anchor",href:"#type-casting-and-nesting"},"#")],-1),G=l("p",null,"Environment variables are automatically type cast based on the structure of the variable, for example:",-1),B=l("pre",null,[l("code",null,`PUBLIC_URL="https://example.com"
53
- // "https://example.com"
54
-
55
- DB_HOST="3306"
56
- // 3306
57
-
58
- CORS_ENABLED="false"
59
- // false
60
-
61
- STORAGE_LOCATIONS="s3,local,example"
62
- // ["s3", "local", "example"]
63
- `)],-1),j=l("p",null,[e("In cases where the environment variables are converted to a configuration object for third party library use, like in "),l("code",null,"DB_*"),e(" or "),l("code",null,"RATE_LIMITER_REDIS_*"),e(", the environment variable will be converted to camelCase. You can use a double underscore ("),l("code",null,"__"),e(") for nested objects:")],-1),k=l("pre",null,[l("code",null,`DB_CLIENT="pg"
64
- DB_CONNECTION_STRING="postgresql://postgres:example@127.0.0.1"
65
- DB_SSL__REJECT_UNAUTHORIZED="false"
66
-
67
- {
68
- client: "pg",
69
- connectionString: "postgresql://postgres:example@127.0.0.1",
70
- ssl: {
71
- rejectUnauthorized: false
72
- }
73
- }
74
- `)],-1),W=l("h2",{id:"environment-syntax-prefix"},[e("Environment Syntax Prefix "),l("a",{class:"header-anchor",href:"#environment-syntax-prefix"},"#")],-1),q=l("p",null,[e("Directus will attempt to "),l("a",{href:"#type-casting-and-nesting"},"automatically type cast environment variables"),e(" based on context clues. If you have a specific need for a given type, you can tell Directus what type to use for the given value by prefixing the value with "),l("code",null,"{type}:"),e(". The following types are available:")],-1),F=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Syntax Prefix"),l("th",null,"Example"),l("th",null,"Output")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"string")]),l("td",null,[l("code",null,"string:value")]),l("td",null,[l("code",null,'"value"')])]),l("tr",null,[l("td",null,[l("code",null,"number")]),l("td",null,[l("code",null,"number:3306")]),l("td",null,[l("code",null,"3306")])]),l("tr",null,[l("td",null,[l("code",null,"regex")]),l("td",null,[l("code",null,"regex:\\.example\\.com$")]),l("td",null,[l("code",null,"/\\.example\\.com$/")])]),l("tr",null,[l("td",null,[l("code",null,"array")]),l("td",null,[l("code",null,"array:https://example.com,https://example2.com"),e(),l("br"),e(),l("code",null,"array:string:https://example.com,regex:\\.example3\\.com$")]),l("td",null,[l("code",null,'["https://example.com", "https://example2.com"]'),e(),l("br"),e(),l("code",null,'["https://example.com", "https://example2.com", /\\.example3\\.com$/]')])])])],-1),Y=l("hr",null,null,-1),K=l("h2",{id:"general"},[e("General "),l("a",{class:"header-anchor",href:"#general"},"#")],-1),z=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CONFIG_PATH")]),l("td",null,[e("Where your config file is located. See "),l("a",{href:"#configuration-files"},"Configuration Files")]),l("td",null,[l("code",null,".env")])]),l("tr",null,[l("td",null,[l("code",null,"PORT")]),l("td",null,"What port to run the API under."),l("td",null,[l("code",null,"8055")])]),l("tr",null,[l("td",null,[l("code",null,"PUBLIC_URL"),l("sup",null,"[1]")]),l("td",null,"URL where your API can be reached on the web."),l("td",null,[l("code",null,"/")])]),l("tr",null,[l("td",null,[l("code",null,"LOG_LEVEL")]),l("td",null,[e("What level of detail to log. One of "),l("code",null,"fatal"),e(", "),l("code",null,"error"),e(", "),l("code",null,"warn"),e(", "),l("code",null,"info"),e(", "),l("code",null,"debug"),e(", "),l("code",null,"trace"),e(" or "),l("code",null,"silent"),e(".")]),l("td",null,[l("code",null,"info")])]),l("tr",null,[l("td",null,[l("code",null,"LOG_STYLE")]),l("td",null,[e("Render the logs human readable (pretty) or as JSON. One of "),l("code",null,"pretty"),e(", "),l("code",null,"raw"),e(".")]),l("td",null,[l("code",null,"pretty")])]),l("tr",null,[l("td",null,[l("code",null,"MAX_PAYLOAD_SIZE")]),l("td",null,"Controls the maximum request body size. Accepts number of bytes, or human readable string."),l("td",null,[l("code",null,"100kb")])]),l("tr",null,[l("td",null,[l("code",null,"ROOT_REDIRECT")]),l("td",null,[e("Where to redirect to when navigating to "),l("code",null,"/"),e(". Accepts a relative path, absolute URL, or "),l("code",null,"false"),e(" to disable.")]),l("td",null,[l("code",null,"./admin")])]),l("tr",null,[l("td",null,[l("code",null,"SERVE_APP")]),l("td",null,[e("Whether or not to serve the Admin App under "),l("code",null,"/admin"),e(".")]),l("td",null,[l("code",null,"true")])])])],-1),X=l("p",null,[l("sup",null,"[1]"),e(" The PUBLIC_URL value is used for things like OAuth redirects, forgot-password emails, and logos that needs to be publicly available on the internet.")],-1),J=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Additional Logger Variables"),l("p",null,[e("All "),l("code",null,"LOGGER_*"),e(" environment variables are passed to the "),l("code",null,"options"),e(" configuration of a "),l("a",{href:"https://github.com/pinojs/pino/blob/master/docs/api.md#options",target:"_blank",rel:"noopener noreferrer"},[l("code",null,"Pino"),e(" instance")]),e(". All "),l("code",null,"LOGGER_HTTP*"),e(" environment variables are passed to the "),l("code",null,"options"),e(" configuration of a "),l("a",{href:"https://github.com/pinojs/pino-http#api",target:"_blank",rel:"noopener noreferrer"},[l("code",null,"Pino-http"),e(" instance")]),e(". Based on your project\u2019s needs, you can extend the "),l("code",null,"LOGGER_*"),e(" environment variables with any config you need to pass to the logger instance. If a LOGGER_LEVELS key is added, these values will be passed to the logger formatter, as described "),l("a",{href:"https://github.com/pinojs/pino/blob/master/docs/help.md#mapping-pino-log-levels-to-google-cloud-logging-stackdriver-serverity-levels",target:"_blank",rel:"noopener noreferrer"},"here"),e(" for example. The format for adding LEVELS values is: "),l("code",null,'LOGGER_LEVELS="trace:DEBUG,debug:DEBUG,info:INFO,warn:WARNING,error:ERROR,fatal:CRITICAL"')])],-1),Z=l("h2",{id:"database"},[e("Database "),l("a",{class:"header-anchor",href:"#database"},"#")],-1),Q=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"DB_CLIENT")]),l("td",null,[l("strong",null,"Required"),e(". What database client to use. One of "),l("code",null,"pg"),e(" or "),l("code",null,"postgres"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", "),l("code",null,"mssql"),e(", or "),l("code",null,"sqlite3"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_HOST")]),l("td",null,[e("Database host. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_PORT")]),l("td",null,[e("Database port. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_DATABASE")]),l("td",null,[e("Database name. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_USER")]),l("td",null,[e("Database user. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_PASSWORD")]),l("td",null,[e("Database user\u2019s password. "),l("strong",null,"Required"),e(" when using "),l("code",null,"pg"),e(", "),l("code",null,"mysql"),e(", "),l("code",null,"oracledb"),e(", or "),l("code",null,"mssql"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_FILENAME")]),l("td",null,[e("Where to read/write the SQLite database. "),l("strong",null,"Required"),e(" when using "),l("code",null,"sqlite3"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_CONNECTION_STRING")]),l("td",null,[e("When using "),l("code",null,"pg"),e(", you can submit a connection string instead of individual properties. Using this will ignore any of the other connection settings.")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_POOL_*")]),l("td",null,[e("Pooling settings. Passed on to "),l("a",{href:"https://github.com/vincit/tarn.js#usage",target:"_blank",rel:"noopener noreferrer"},[e("the "),l("code",null,"tarn.js")]),e(" library.")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"DB_EXCLUDE_TABLES")]),l("td",null,"CSV of tables you want Directus to ignore completely"),l("td",null,[l("code",null,"spatial_ref_sys,sysdiagrams")])]),l("tr",null,[l("td",null,[l("code",null,"DB_CHARSET")]),l("td",null,"Charset/collation to use in the connection to MySQL/MariaDB"),l("td",null,[l("code",null,"UTF8_GENERAL_CI")])]),l("tr",null,[l("td",null,[l("code",null,"DB_VERSION")]),l("td",null,"Database version, in case you use the PostgreSQL adapter to connect a non-standard database. Not normally required."),l("td",null,"\u2013")])])],-1),$=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Additional Database Variables"),l("p",null,[e("All "),l("code",null,"DB_*"),e(" environment variables are passed to the "),l("code",null,"connection"),e(" configuration of a "),l("a",{href:"http://knexjs.org",target:"_blank",rel:"noopener noreferrer"},[l("code",null,"Knex"),e(" instance")]),e(". Based on your project\u2019s needs, you can extend the "),l("code",null,"DB_*"),e(" environment variables with any config you need to pass to the database instance.")])],-1),ll=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Pooling"),l("p",null,[e("All the "),l("code",null,"DB_POOL_"),e(" prefixed options are passed to "),l("a",{href:"https://github.com/vincit/tarn.js#usage",target:"_blank",rel:"noopener noreferrer"},[l("code",null,"tarn.js")]),e(" through "),l("a",{href:"http://knexjs.org/#Installation-pooling",target:"_blank",rel:"noopener noreferrer"},"Knex")])],-1),el=l("h2",{id:"security"},[e("Security "),l("a",{class:"header-anchor",href:"#security"},"#")],-1),nl=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),tl=l("tr",null,[l("td",null,[l("code",null,"KEY")]),l("td",null,"Unique identifier for the project."),l("td",null,"\u2013")],-1),ol=l("tr",null,[l("td",null,[l("code",null,"SECRET")]),l("td",null,"Secret string for the project."),l("td",null,"\u2013")],-1),ul=l("tr",null,[l("td",null,[l("code",null,"ACCESS_TOKEN_TTL")]),l("td",null,"The duration that the access token is valid."),l("td",null,[l("code",null,"15m")])],-1),sl=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_TTL")]),l("td",null,"The duration that the refresh token is valid, and also how long users stay logged-in to the App."),l("td",null,[l("code",null,"7d")])],-1),al=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_DOMAIN")]),l("td",null,"Which domain to use for the refresh cookie. Useful for development mode."),l("td",null,"\u2013")],-1),dl=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_SECURE")]),l("td",null,"Whether or not to use a secure cookie for the refresh token in cookie mode."),l("td",null,[l("code",null,"false")])],-1),rl=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_SAME_SITE")]),l("td",null,[e("Value for "),l("code",null,"sameSite"),e(" in the refresh token cookie when in cookie mode.")]),l("td",null,[l("code",null,"lax")])],-1),il=l("tr",null,[l("td",null,[l("code",null,"REFRESH_TOKEN_COOKIE_NAME")]),l("td",null,"Name of refresh token cookie ."),l("td",null,[l("code",null,"directus_refresh_token")])],-1),cl=l("td",null,[l("code",null,"PASSWORD_RESET_URL_ALLOW_LIST")],-1),hl=e("List of URLs that can be used "),_l=e("as "),pl=l("code",null,"reset_url",-1),fl=e(" in /password/request"),ml=l("td",null,"\u2013",-1),El=l("td",null,[l("code",null,"USER_INVITE_URL_ALLOW_LIST")],-1),gl=e("List of URLs that can be used "),Al=e("as "),Tl=l("code",null,"invite_url",-1),Rl=e(" in /users/invite"),bl=l("td",null,"\u2013",-1),Ol=l("tr",null,[l("td",null,[l("code",null,"IP_TRUST_PROXY")]),l("td",null,[e("Settings for "),l("a",{href:"https://expressjs.com/en/guide/behind-proxies.html",target:"_blank",rel:"noopener noreferrer"},"express\u2019 trust proxy setting")]),l("td",null,"true")],-1),Sl=l("tr",null,[l("td",null,[l("code",null,"IP_CUSTOM_HEADER")]),l("td",null,"What custom request header to use for the IP address"),l("td",null,"false")],-1),Il=l("tr",null,[l("td",null,[l("code",null,"CONTENT_SECURITY_POLICY")]),l("td",null,[e("Custom options for the Content-Security-Policy header. See "),l("a",{href:"https://helmetjs.github.io",target:"_blank",rel:"noopener noreferrer"},"helmet\u2019s documentation"),e(" for more information.")]),l("td",null,"\u2013")],-1),yl=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Cookie Strictness"),l("p",null,[e("Browser are pretty strict when it comes to third-party cookies. If you\u2019re running into unexpected problems when running your project and API on different domains, make sure to verify your configuration for "),l("code",null,"REFRESH_TOKEN_COOKIE_NAME"),e(", "),l("code",null,"REFRESH_TOKEN_COOKIE_SECURE"),e(" and "),l("code",null,"REFRESH_TOKEN_COOKIE_SAME_SITE"),e(".")])],-1),Dl=l("h3",{id:"hashing"},[e("Hashing "),l("a",{class:"header-anchor",href:"#hashing"},"#")],-1),Cl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"HASH_MEMORY_COST")]),l("td",null,"How much memory to use when generating hashes, in KiB."),l("td",null,[l("code",null,"4096"),e(" (4 MiB)")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_LENGTH")]),l("td",null,"The length of the hash function output in bytes."),l("td",null,[l("code",null,"32")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_TIME_COST")]),l("td",null,"The amount of passes (iterations) used by the hash function. It increases hash strength at the cost of time required to compute."),l("td",null,[l("code",null,"3")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_PARALLELISM")]),l("td",null,[e("The amount of threads to compute the hash on. Each thread has a memory pool with "),l("code",null,"HASH_MEMORY_COST"),e(" size.")]),l("td",null,[l("code",null,"1"),e(" (single thread)")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_TYPE")]),l("td",null,[e("The variant of the hash function ("),l("code",null,"0"),e(": argon2d, "),l("code",null,"1"),e(": argon2i, or "),l("code",null,"2"),e(": argon2id).")]),l("td",null,[l("code",null,"1"),e(" (argon2i)")])]),l("tr",null,[l("td",null,[l("code",null,"HASH_ASSOCIATED_DATA")]),l("td",null,"An extra and optional non-secret value. The value will be included B64 encoded in the parameters portion of the digest."),l("td",null,"\u2013")])])],-1),Ll=e("Argon2\u2019s hashing function is used by Directus for three purposes: 1) hashing user passwords, 2) generating hashes for the "),vl=l("code",null,"Hash",-1),wl=e(" field type in collections, and 3) the "),Ul=e("generate a hash API endpoint"),Nl=e("."),Pl=l("p",null,[e("All "),l("code",null,"HASH_*"),e(" environment variable parameters are passed to the "),l("code",null,"argon2.hash"),e(" function. See the "),l("a",{href:"https://github.com/ranisalt/node-argon2/wiki/Options",target:"_blank",rel:"noopener noreferrer"},"node-argon2 library options page"),e(" for reference.")],-1),Hl=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Memory Usage"),l("p",null,[e("Modifying "),l("code",null,"HASH_MEMORY_COST"),e(" and/or "),l("code",null,"HASH_PARALLELISM"),e(" will affect the amount of memory directus uses when computing hashes; each thread gets "),l("code",null,"HASH_MEMORY_COST"),e(" amount of memory, so the total additional memory will be these two values multiplied. This may cause out of memory errors, especially when running in containerized environments.")])],-1),Vl=l("h2",{id:"cors"},[e("CORS "),l("a",{class:"header-anchor",href:"#cors"},"#")],-1),xl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CORS_ENABLED")]),l("td",null,"Whether or not to enable the CORS headers."),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_ORIGIN")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Allow-Origin"),e(" header. Use "),l("code",null,"true"),e(" to match the Origin header, or provide a domain or a CSV of domains for specific access")]),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_METHODS")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Allow-Methods"),e(" header.")]),l("td",null,[l("code",null,"GET,POST,PATCH,DELETE")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_ALLOWED_HEADERS")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Allow-Headers"),e(" header.")]),l("td",null,[l("code",null,"Content-Type,Authorization")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_EXPOSED_HEADERS")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Expose-Headers"),e(" header.")]),l("td",null,[l("code",null,"Content-Range")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_CREDENTIALS")]),l("td",null,[e("Whether or not to send the "),l("code",null,"Access-Control-Allow-Credentials"),e(" header.")]),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CORS_MAX_AGE")]),l("td",null,[e("Value for the "),l("code",null,"Access-Control-Max-Age"),e(" header.")]),l("td",null,[l("code",null,"18000")])])])],-1),Ml=l("h2",{id:"rate-limiting"},[e("Rate Limiting "),l("a",{class:"header-anchor",href:"#rate-limiting"},"#")],-1),Gl=l("p",null,[e("You can use the built-in rate-limiter to prevent users from hitting the API too much. Simply enabling the rate-limiter will set a default maximum of 50 requests per second, tracked in memory. Once you have multiple copies of Directus running under a load-balancer, or your user base grows so much that memory is no longer a viable place to store the rate limiter information, you can use an external "),l("code",null,"memcache"),e(" or "),l("code",null,"redis"),e(" instance to store the rate limiter data.")],-1),Bl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_ENABLED")]),l("td",null,"Whether or not to enable rate limiting on the API."),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_POINTS")]),l("td",null,"The amount of allowed hits per duration."),l("td",null,[l("code",null,"50")])]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_DURATION")]),l("td",null,"The time window in seconds in which the points are counted."),l("td",null,[l("code",null,"1")])]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_STORE")]),l("td",null,[e("Where to store the rate limiter counts. One of "),l("code",null,"memory"),e(", "),l("code",null,"redis"),e(", or "),l("code",null,"memcache"),e(".")]),l("td",null,[l("code",null,"memory")])])])],-1),jl=l("p",null,[e("Based on the "),l("code",null,"RATE_LIMITER_STORE"),e(" used, you must also provide the following configurations:")],-1),kl=l("h3",{id:"memory"},[e("Memory "),l("a",{class:"header-anchor",href:"#memory"},"#")],-1),Wl=l("p",null,"No additional configuration required.",-1),ql=l("h3",{id:"redis"},[e("Redis "),l("a",{class:"header-anchor",href:"#redis"},"#")],-1),Fl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS")]),l("td",null,[e("Redis connection string, eg: "),l("code",null,"redis://:authpassword@127.0.0.1:6380/4")]),l("td",null,"\u2014")])])],-1),Yl=l("p",null,"Alternatively, you can provide the individual connection parameters:",-1),Kl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS_HOST")]),l("td",null,"Hostname of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS_PORT")]),l("td",null,"Port of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_REDIS_PASSWORD")]),l("td",null,"Password for your Redis instance"),l("td",null,"\u2013")])])],-1),zl=l("h3",{id:"memcache"},[e("Memcache "),l("a",{class:"header-anchor",href:"#memcache"},"#")],-1),Xl=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"RATE_LIMITER_MEMCACHE")]),l("td",null,[e("Location of your memcache instance. You can use "),l("a",{href:"#environment-syntax-prefix"},[l("code",null,"array:"),e(" syntax")]),e(", eg: "),l("code",null,"array:<instance-1>,<instance-2>"),e(" for multiple memcache instances.")]),l("td",null,"\u2014")])])],-1),Jl=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Additional Rate Limiter Variables"),l("p",null,[e("All "),l("code",null,"RATE_LIMITER_*"),e(" variables are passed directly to a "),l("code",null,"rate-limiter-flexible"),e(" instance. Depending on your project\u2019s needs, you can extend the above environment variables to configure any of "),l("a",{href:"https://github.com/animir/node-rate-limiter-flexible/wiki/Options",target:"_blank",rel:"noopener noreferrer"},[e("the "),l("code",null,"rate-limiter-flexible"),e(" options")]),e(".")])],-1),Zl=l("h3",{id:"example%3A-basic"},[e("Example: Basic "),l("a",{class:"header-anchor",href:"#example%3A-basic"},"#")],-1),Ql=l("pre",null,[l("code",null,`// 10 requests per 5 seconds
75
-
76
- RATE_LIMITER_POINTS="10"
77
- RATE_LIMITER_DURATION="5"
78
- `)],-1),$l=l("h3",{id:"example%3A-redis"},[e("Example: Redis "),l("a",{class:"header-anchor",href:"#example%3A-redis"},"#")],-1),le=l("pre",null,[l("code",null,`RATE_LIMITER_ENABLED="true"
79
-
80
- RATE_LIMITER_POINTS="10"
81
- RATE_LIMITER_DURATION="5"
82
-
83
- RATE_LIMITER_STORE="redis"
84
-
85
- RATE_LIMITER_REDIS="redis://@127.0.0.1"
86
- `)],-1),ee=l("h2",{id:"cache"},[e("Cache "),l("a",{class:"header-anchor",href:"#cache"},"#")],-1),ne=l("p",null,"Directus has a built-in data-caching option. Enabling this will cache the output of requests (based on the current user and exact query parameters used) into configured cache storage location. This drastically improves API performance, as subsequent requests are served straight from this cache. Enabling cache will also make Directus return accurate cache-control headers. Depending on your setup, this will further improve performance by caching the request in middleman servers (like CDNs) and even the browser.",-1),te=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Assets Cache"),l("p",null,[e("The cache-control header for the "),l("code",null,"/assets"),e(" endpoint is separate from the regular data-cache. This is useful as it\u2019s often possible to cache assets for far longer than you would cache database content. "),l("a",{href:"#assets"},"Learn More")])],-1),oe=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_ENABLED")]),l("td",null,"Whether or not caching is enabled."),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_TTL"),l("sup",null,"[1]")]),l("td",null,"How long the cache is persisted."),l("td",null,[l("code",null,"30m")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_CONTROL_S_MAXAGE")]),l("td",null,[e("Whether to not to add the "),l("code",null,"s-maxage"),e(" expiration flag. Set to a number for a custom value")]),l("td",null,[l("code",null,"0")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_AUTO_PURGE"),l("sup",null,"[2]")]),l("td",null,[e("Automatically purge the cache on "),l("code",null,"create"),e(", "),l("code",null,"update"),e(", and "),l("code",null,"delete"),e(" actions.")]),l("td",null,[l("code",null,"false")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_SCHEMA"),l("sup",null,"[3]")]),l("td",null,[e("Whether or not the database schema is cached. One of "),l("code",null,"false"),e(", "),l("code",null,"true")]),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_PERMISSIONS"),l("sup",null,"[3]")]),l("td",null,[e("Whether or not the user permissions are cached. One of "),l("code",null,"false"),e(", "),l("code",null,"true")]),l("td",null,[l("code",null,"true")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_NAMESPACE")]),l("td",null,"How to scope the cache data."),l("td",null,[l("code",null,"directus-cache")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_STORE"),l("sup",null,"[4]")]),l("td",null,[e("Where to store the cache data. Either "),l("code",null,"memory"),e(", "),l("code",null,"redis"),e(", or "),l("code",null,"memcache"),e(".")]),l("td",null,[l("code",null,"memory")])])])],-1),ue=l("p",null,[l("sup",null,"[1]"),e(),l("code",null,"CACHE_TTL"),e(" Based on your project\u2019s needs, you might be able to aggressively cache your data, only requiring new data to be fetched every hour or so. This allows you to squeeze the most performance out of your Directus instance. This can be incredibly useful for applications where you have a lot of (public) read-access and where updates aren\u2019t real-time (for example a website). "),l("code",null,"CACHE_TTL"),e(" uses "),l("a",{href:"https://www.npmjs.com/package/ms",target:"_blank",rel:"noopener noreferrer"},[l("code",null,"ms")]),e(" to parse the value, so you configure it using human readable values (like "),l("code",null,"2 days"),e(", "),l("code",null,"7 hrs"),e(", "),l("code",null,"5m"),e(").")],-1),se=l("p",null,[l("sup",null,"[2]"),e(),l("code",null,"CACHE_AUTO_PURGE"),e(" allows you to keep the Directus API real-time, while still getting the performance benefits on quick subsequent reads.")],-1),ae=l("p",null,[l("sup",null,"[3]"),e(" Not affected by the "),l("code",null,"CACHE_ENABLED"),e(" value.")],-1),de=l("p",null,[l("sup",null,"[4]"),e(),l("code",null,"CACHE_STORE"),e(" For larger projects, you most likely don\u2019t want to rely on local memory for caching. Instead, you can use the above "),l("code",null,"CACHE_STORE"),e(" environment variable to use either "),l("code",null,"memcache"),e(" or "),l("code",null,"redis"),e(" as the cache store. Based on the chosen "),l("code",null,"CACHE_STORE"),e(", you must also provide the following configurations:")],-1),re=l("h3",{id:"memory-2"},[e("Memory "),l("a",{class:"header-anchor",href:"#memory-2"},"#")],-1),ie=l("p",null,"No additional configuration required.",-1),ce=l("h3",{id:"redis-2"},[e("Redis "),l("a",{class:"header-anchor",href:"#redis-2"},"#")],-1),he=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS")]),l("td",null,[e("Redis connection string, eg: "),l("code",null,"redis://:authpassword@127.0.0.1:6380/4")]),l("td",null,"\u2014")])])],-1),_e=l("p",null,"Alternatively, you can provide the individual connection parameters:",-1),pe=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS_HOST")]),l("td",null,"Hostname of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS_PORT")]),l("td",null,"Port of the Redis instance"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"CACHE_REDIS_PASSWORD")]),l("td",null,"Password for your Redis instance"),l("td",null,"\u2013")])])],-1),fe=l("h3",{id:"memcache-2"},[e("Memcache "),l("a",{class:"header-anchor",href:"#memcache-2"},"#")],-1),me=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"CACHE_MEMCACHE")]),l("td",null,[e("Location of your memcache instance. You can use "),l("a",{href:"#environment-syntax-prefix"},[l("code",null,"array:"),e(" syntax")]),e(", eg: "),l("code",null,"array:<instance-1>,<instance-2>"),e(" for multiple memcache instances.")]),l("td",null,"\u2014")])])],-1),Ee=l("h2",{id:"file-storage"},[e("File Storage "),l("a",{class:"header-anchor",href:"#file-storage"},"#")],-1),ge=l("p",null,[e("By default, Directus stores all uploaded files locally on disk. However, you can also configure Directus to use S3, Google Cloud Storage, or Azure. You can also configure "),l("em",null,"multiple"),e(" storage adapters at the same time. This allows you to choose where files are being uploaded on a file-by-file basis. In the Admin App, files will automatically be uploaded to the first configured storage location (in this case "),l("code",null,"local"),e("). The used storage location is saved under "),l("code",null,"storage"),e(" in "),l("code",null,"directus_files"),e(".")],-1),Ae=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"File Storage Default"),l("p",null,"If you don\u2019t provide any configuration for storage adapters, this default will be used:"),l("pre",null,[l("code",null,`STORAGE_LOCATIONS="local"
87
- STORAGE_LOCAL_ROOT="./uploads"
88
- `)])],-1),Te=l("div",{class:"warning hint"},[l("div",{class:"hint-title"},"Case sensitivity"),l("p",null,"The location value(s) you specify should be capitalized when specifying the additional configuration values. For example, this will not work:"),l("pre",null,[l("code",null,`STORAGE_LOCATIONS="s3"
89
- STORAGE_s3_DRIVER="s3" # Will not work, lowercase "s3" \u274C
90
- `)]),l("p",null,"but this will work:"),l("pre",null,[l("code",null,`STORAGE_LOCATIONS="s3"
91
- STORAGE_S3_DRIVER="s3" # Will work, "s3" is uppercased \u2705
92
- `)])],-1),Re=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_LOCATIONS")]),l("td",null,[e("A CSV of storage locations (eg: "),l("code",null,"local,digitalocean,amazon"),e(") to use. You can use any names you\u2019d like for these keys.")]),l("td",null,[l("code",null,"local")])])])],-1),be=l("p",null,"For each of the storage locations listed, you must provide the following configuration:",-1),Oe=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_DRIVER")]),l("td",null,[e("Which driver to use, either "),l("code",null,"local"),e(", "),l("code",null,"s3"),e(", "),l("code",null,"gcs"),e(", "),l("code",null,"azure")]),l("td")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ROOT")]),l("td",null,"Where to store the files on disk"),l("td",null,[l("code",null,"''")])])])],-1),Se=l("p",null,"Based on your configured driver, you must also provide the following configurations:",-1),Ie=l("h3",{id:"local-(local)"},[e("Local ("),l("code",null,"local"),e(") "),l("a",{class:"header-anchor",href:"#local-(local)"},"#")],-1),ye=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ROOT")]),l("td",null,"Where to store the files on disk"),l("td",null,"\u2013")])])],-1),De=l("h3",{id:"s3-(s3)"},[e("S3 ("),l("code",null,"s3"),e(") "),l("a",{class:"header-anchor",href:"#s3-(s3)"},"#")],-1),Ce=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_KEY")]),l("td",null,"User key"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_SECRET")]),l("td",null,"User secret"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_BUCKET")]),l("td",null,"S3 Bucket"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_REGION")]),l("td",null,"S3 Region"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ENDPOINT")]),l("td",null,"S3 Endpoint"),l("td",null,[l("code",null,"s3.amazonaws.com")])]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ACL")]),l("td",null,"S3 ACL"),l("td",null,"\u2013")])])],-1),Le=l("h3",{id:"azure-(azure)"},[e("Azure ("),l("code",null,"azure"),e(") "),l("a",{class:"header-anchor",href:"#azure-(azure)"},"#")],-1),ve=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_CONTAINER_NAME")]),l("td",null,"Azure Storage container"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ACCOUNT_NAME")]),l("td",null,"Azure Storage account name"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ACCOUNT_KEY")]),l("td",null,"Azure Storage key"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_ENDPOINT")]),l("td",null,"Azure URL"),l("td",null,[l("code",null,"https://{ACCOUNT_KEY}.blob.core.windows.net")])])])],-1),we=l("h3",{id:"google-cloud-storage-(gcs)"},[e("Google Cloud Storage ("),l("code",null,"gcs"),e(") "),l("a",{class:"header-anchor",href:"#google-cloud-storage-(gcs)"},"#")],-1),Ue=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_KEY_FILENAME")]),l("td",null,"Path to key file on disk"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"STORAGE_<LOCATION>_BUCKET")]),l("td",null,"Google Cloud Storage bucket"),l("td",null,"\u2013")])])],-1),Ne=l("h3",{id:"example%3A-multiple-storage-adapters"},[e("Example: Multiple Storage Adapters "),l("a",{class:"header-anchor",href:"#example%3A-multiple-storage-adapters"},"#")],-1),Pe=l("p",null,"Below showcases a CSV of storage location names, with a config block for each:",-1),He=l("pre",null,[l("code",null,`STORAGE_LOCATIONS="local,aws"
93
-
94
- STORAGE_LOCAL_DRIVER="local"
95
- STORAGE_LOCAL_ROOT="local"
96
-
97
- STORAGE_AWS_KEY="tp15c...510vk"
98
- STORAGE_AWS_SECRET="yk29b...b932n"
99
- STORAGE_AWS_REGION="us-east-2"
100
- STORAGE_AWS_BUCKET="my-files"
101
- `)],-1),Ve=l("h2",{id:"assets"},[e("Assets "),l("a",{class:"header-anchor",href:"#assets"},"#")],-1),xe=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"ASSETS_CACHE_TTL")]),l("td",null,[e("How long assets will be cached for in the browser. Sets the "),l("code",null,"max-age"),e(" value of the "),l("code",null,"Cache-Control"),e(" header.")]),l("td",null,[l("code",null,"30m")])]),l("tr",null,[l("td",null,[l("code",null,"ASSETS_TRANSFORM_MAX_CONCURRENT")]),l("td",null,"How many file transformations can be done simultaneously"),l("td",null,[l("code",null,"4")])]),l("tr",null,[l("td",null,[l("code",null,"ASSETS_TRANSFORM_IMAGE_MAX_DIMENSION")]),l("td",null,"The max pixel dimensions size (width/height) that is allowed to be transformed"),l("td",null,[l("code",null,"6000")])]),l("tr",null,[l("td",null,[l("code",null,"ASSETS_TRANSFORM_MAX_OPERATIONS")]),l("td",null,"The max number of transform operations that is allowed to be processed (excludes saved presets)"),l("td",null,[l("code",null,"5")])])])],-1),Me=l("p",null,"Image transformations can be fairly heavy on memory usage. If you\u2019re using a system with 1GB or less available memory, we recommend lowering the allowed concurrent transformations to prevent you from overflowing your server.",-1),Ge=l("h2",{id:"authentication"},[e("Authentication "),l("a",{class:"header-anchor",href:"#authentication"},"#")],-1),Be=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"AUTH_PROVIDERS")]),l("td",null,"CSV of auth providers you want to use."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_DISABLE_DEFAULT")]),l("td",null,"Disable the default auth provider"),l("td",null,[l("code",null,"false")])])])],-1),je=l("p",null,"For each of the auth providers you list, you must provide the following configuration:",-1),ke=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_DRIVER")]),l("td",null,[e("Which driver to use, either "),l("code",null,"local"),e(", "),l("code",null,"oauth2"),e(", "),l("code",null,"openid"),e(", "),l("code",null,"ldap")]),l("td",null,"\u2013")])])],-1),We=l("p",null,"You must also provide a number of extra variables. These differ per auth driver service. The following is a list of common required configuration options:",-1),qe=l("h3",{id:"local-(local)-2"},[e("Local ("),l("code",null,"local"),e(") "),l("a",{class:"header-anchor",href:"#local-(local)-2"},"#")],-1),Fe=l("p",null,"No additional configuration required.",-1),Ye=l("h3",{id:"sso-(oauth2-and-openid)"},[e("SSO ("),l("code",null,"oauth2"),e(" and "),l("code",null,"openid"),e(") "),l("a",{class:"header-anchor",href:"#sso-(oauth2-and-openid)"},"#")],-1),Ke=l("p",null,"Directus\u2019 SSO integrations provide powerful alternative ways to authenticate into your project. Directus will ask you to login on the external service, and return authenticated with a Directus account linked to that service.",-1),ze=l("p",null,[e("For example, you can login to Directus using a github account by creating an "),l("a",{href:"https://github.com/settings/developers",target:"_blank",rel:"noopener noreferrer"},"OAuth 2.0 app in GitHub"),e(" and adding the following configuration to Directus:")],-1),Xe=l("pre",null,[l("code",null,`AUTH_PROVIDERS="github"
102
-
103
- AUTH_GITHUB_DRIVER="oauth2"
104
- AUTH_GITHUB_CLIENT_ID="99d3...c3c4"
105
- AUTH_GITHUB_CLIENT_SECRET="34ae...f963"
106
- AUTH_GITHUB_AUTHORIZE_URL="https://github.com/login/oauth/authorize"
107
- AUTH_GITHUB_ACCESS_URL="https://github.com/login/oauth/access_token"
108
- AUTH_GITHUB_PROFILE_URL="https://api.github.com/user"
109
- `)],-1),Je=l("div",{class:"warning hint"},[l("div",{class:"hint-title"},"PUBLIC_URL"),l("p",null,[e("These flows rely on the "),l("code",null,"PUBLIC_URL"),e(" variable for redirecting. Make sure that variable is configured correctly.")])],-1),Ze=l("h4",{id:"oauth-2.0"},[e("OAuth 2.0 "),l("a",{class:"header-anchor",href:"#oauth-2.0"},"#")],-1),Qe=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),$e=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_ID")]),l("td",null,"OAuth identifier for the external service."),l("td",null,"\u2013")],-1),ln=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_SECRET")]),l("td",null,"OAuth secret for the external service."),l("td",null,"\u2013")],-1),en=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_SCOPE")]),l("td",null,"A white-space separated list of privileges Directus will request."),l("td",null,[l("code",null,"email")])],-1),nn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_AUTHORIZE_URL")]),l("td",null,"The authorize page URL of the external service."),l("td",null,"\u2013")],-1),tn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ACCESS_URL")]),l("td",null,"The token access URL of the external service."),l("td",null,"\u2013")],-1),on=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_PROFILE_URL")]),l("td",null,"The user profile information URL of the external service."),l("td",null,"\u2013")],-1),un=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_EMAIL_KEY")]),l("td",null,"OAuth profile email key used to find the email address."),l("td",null,[l("code",null,"email")])],-1),sn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_IDENTIFIER_KEY")]),l("td",null,[e("OAuth profile identifier key used to verify the user. Will default to "),l("code",null,"EMAIL_KEY"),e(".")]),l("td",null,"\u2013")],-1),an=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ALLOW_PUBLIC_REGISTRATION")]),l("td",null,"Automatically create accounts for authenticating users."),l("td",null,[l("code",null,"false")])],-1),dn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_DEFAULT_ROLE_ID")]),l("td",null,"The Directus role ID assigned to created users."),l("td",null,"\u2013")],-1),rn=l("td",null,[l("code",null,"AUTH_<PROVIDER>_ICON")],-1),cn=e("SVG icon to display with the login link. You can choose from "),hn=e("Social icon or Material icon set"),_n=e("."),pn=l("td",null,[l("code",null,"account_circle")],-1),fn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_PARAMS")]),l("td",null,"Custom parameters to send to the auth provider"),l("td",null,"\u2013")],-1),mn=l("h4",{id:"openid"},[e("OpenID "),l("a",{class:"header-anchor",href:"#openid"},"#")],-1),En=l("p",null,"OpenID is an authentication protocol built on OAuth 2.0, and should be preferred over standard OAuth 2.0 where possible. OpenID offers better user verification and consistent profile information, allowing for more complete user registrations.",-1),gn=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),An=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_ID")]),l("td",null,"OpenID identifier for the external service."),l("td",null,"\u2013")],-1),Tn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_SECRET")]),l("td",null,"OpenID secret for the external service."),l("td",null,"\u2013")],-1),Rn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_SCOPE")]),l("td",null,"A white-space separated list of privileges Directus will request."),l("td",null,[l("code",null,"openid profile email")])],-1),bn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ISSUER_URL")]),l("td",null,[e("The OpenID "),l("code",null,".well-known"),e(" Discovery Document URL.")]),l("td",null,"\u2013")],-1),On=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_IDENTIFIER_KEY")]),l("td",null,"OpenID profile identifier key used to verify the user."),l("td",null,[l("code",null,"sub")])],-1),Sn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_ALLOW_PUBLIC_REGISTRATION")]),l("td",null,"Automatically create accounts for authenticating users."),l("td",null,[l("code",null,"false")])],-1),In=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_REQUIRE_VERIFIED_EMAIL")]),l("td",null,"Require users to have a verified email address."),l("td",null,[l("code",null,"false")])],-1),yn=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_DEFAULT_ROLE_ID")]),l("td",null,"The Directus role ID assigned to created users."),l("td",null,"\u2013")],-1),Dn=l("td",null,[l("code",null,"AUTH_<PROVIDER>_ICON")],-1),Cn=e("SVG icon to display with the login link. You can choose from "),Ln=e("Social icon or Material icon set"),vn=e("."),wn=l("td",null,[l("code",null,"account_circle")],-1),Un=l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_PARAMS")]),l("td",null,"Custom parameters to send to the auth provider"),l("td",null,"\u2013")],-1),Nn=l("h3",{id:"ldap-(ldap)"},[e("LDAP ("),l("code",null,"ldap"),e(") "),l("a",{class:"header-anchor",href:"#ldap-(ldap)"},"#")],-1),Pn=l("p",null,"LDAP allows Active Directory users to authenticate and use Directus without having to be manually configured. User information and roles will be assigned from Active Directory.",-1),Hn=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_CLIENT_URL")]),l("td",null,"LDAP connection URL."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_BIND_DN")]),l("td",null,[e("Bind user "),l("sup",null,"[1]"),e(" distinguished name.")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_BIND_PASSWORD")]),l("td",null,"Bind user password."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_USER_DN")]),l("td",null,"Directory path containing users."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_USER_ATTRIBUTE")]),l("td",null,"Attribute to identify users by."),l("td",null,[l("code",null,"cn")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_USER_SCOPE")]),l("td",null,[e("Scope of the user search, either "),l("code",null,"base"),e(", "),l("code",null,"one"),e(", "),l("code",null,"sub"),e(),l("sup",null,"[2]"),e(".")]),l("td",null,[l("code",null,"one")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_GROUP_DN")]),l("td",null,"Directory path containing groups."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_GROUP_ATTRIBUTE")]),l("td",null,"Attribute to identify user as a member of a group."),l("td",null,[l("code",null,"member")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_GROUP_SCOPE")]),l("td",null,[e("Scope of the group search, either "),l("code",null,"base"),e(", "),l("code",null,"one"),e(", "),l("code",null,"sub"),e(),l("sup",null,"[2]"),e(".")]),l("td",null,[l("code",null,"one")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_MAIL_ATTRIBUTE")]),l("td",null,"Attribute containing the email of the user."),l("td",null,[l("code",null,"mail")])])])],-1),Vn=l("p",null,[l("sup",null,"[1]"),e(" The bind user must have permission to query users and groups to perform authentication.")],-1),xn=l("p",null,[l("sup",null,"[2]"),e(" The scope defines the following behaviors:")],-1),Mn=l("ul",null,[l("li",null,[l("code",null,"base"),e(": Limits the scope to a single object defined by the associated DN.")]),l("li",null,[l("code",null,"one"),e(": Searches all objects within the associated DN.")]),l("li",null,[l("code",null,"sub"),e(": Searches all objects and sub-objects within the associated DN.")])],-1),Gn=l("h3",{id:"example%3A-ldap"},[e("Example: LDAP "),l("a",{class:"header-anchor",href:"#example%3A-ldap"},"#")],-1),Bn=l("pre",null,[l("code",null,`AUTH_PROVIDERS="ldap"
110
-
111
- AUTH_LDAP_DRIVER="ldap"
112
- AUTH_LDAP_CLIENT_URL="ldap://ldap.directus.io"
113
- AUTH_LDAP_BIND_DN="CN=Bind User,OU=Users,DC=ldap,DC=directus,DC=io"
114
- AUTH_LDAP_BIND_PASSWORD="p455w0rd"
115
- AUTH_LDAP_USER_DN="OU=Users,DC=ldap,DC=directus,DC=io"
116
- AUTH_LDAP_GROUP_DN="OU=Groups,DC=ldap,DC=directus,DC=io"
117
- `)],-1),jn=l("h3",{id:"example%3A-multiple-auth-providers"},[e("Example: Multiple Auth Providers "),l("a",{class:"header-anchor",href:"#example%3A-multiple-auth-providers"},"#")],-1),kn=l("p",null,"You can configure multiple providers for handling authentication in Directus. This allows for different options when logging in. To do this, you can provide a CSV of provider names, and provide a config block for each of them:",-1),Wn=l("pre",null,[l("code",null,`AUTH_PROVIDERS="google,adobe"
118
-
119
- AUTH_GOOGLE_DRIVER="openid"
120
- AUTH_GOOGLE_CLIENT_ID="<google_application_id>"
121
- AUTH_GOOGLE_CLIENT_SECRET= "<google_application_secret_key>"
122
- AUTH_GOOGLE_ISSUER_URL="https://accounts.google.com"
123
- AUTH_GOOGLE_IDENTIFIER_KEY="email"
124
- AUTH_GOOGLE_ICON="google"
125
-
126
- AUTH_ADOBE_DRIVER="oauth2"
127
- AUTH_ADOBE_CLIENT_ID="<adobe_application_id>"
128
- AUTH_ADOBE_CLIENT_SECRET="<adobe_application_secret_key>"
129
- AUTH_ADOBE_AUTHORIZE_URL="https://ims-na1.adobelogin.com/ims/authorize/v2"
130
- AUTH_ADOBE_ACCESS_URL="https://ims-na1.adobelogin.com/ims/token/v3"
131
- AUTH_ADOBE_PROFILE_URL="https://ims-na1.adobelogin.com/ims/userinfo/v2"
132
- AUTH_ADOBE_ICON="adobe"
133
- `)],-1),qn=l("h2",{id:"extensions"},[e("Extensions "),l("a",{class:"header-anchor",href:"#extensions"},"#")],-1),Fn=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EXTENSIONS_PATH")]),l("td",null,"Path to your local extensions folder."),l("td",null,[l("code",null,"./extensions")])]),l("tr",null,[l("td",null,[l("code",null,"EXTENSIONS_AUTO_RELOAD")]),l("td",null,"Automatically reload extensions when they have changed."),l("td",null,[l("code",null,"false")])])])],-1),Yn=l("h2",{id:"email"},[e("Email "),l("a",{class:"header-anchor",href:"#email"},"#")],-1),Kn=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_FROM")]),l("td",null,"Email address from which emails are sent."),l("td",null,[l("code",null,"no-reply@directus.io")])]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_TRANSPORT")]),l("td",null,[e("What to use to send emails. One of "),l("code",null,"sendmail"),e(", "),l("code",null,"smtp"),e(", "),l("code",null,"mailgun"),e(", "),l("code",null,"ses"),e(".")]),l("td",null,[l("code",null,"sendmail")])])])],-1),zn=l("p",null,[e("Based on the "),l("code",null,"EMAIL_TRANSPORT"),e(" used, you must also provide the following configurations:")],-1),Xn=l("h3",{id:"sendmail-(sendmail)"},[e("Sendmail ("),l("code",null,"sendmail"),e(") "),l("a",{class:"header-anchor",href:"#sendmail-(sendmail)"},"#")],-1),Jn=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_SENDMAIL_NEW_LINE")]),l("td",null,"What new line style to use in sendmail."),l("td",null,[l("code",null,"unix")])]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SENDMAIL_PATH")]),l("td",null,"Path to your sendmail executable."),l("td",null,[l("code",null,"/usr/sbin/sendmail")])])])],-1),Zn=l("h3",{id:"smtp-(smtp)"},[e("SMTP ("),l("code",null,"smtp"),e(") "),l("a",{class:"header-anchor",href:"#smtp-(smtp)"},"#")],-1),Qn=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_HOST")]),l("td",null,"SMTP Host"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_PORT")]),l("td",null,"SMTP Port"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_USER")]),l("td",null,"SMTP User"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_PASSWORD")]),l("td",null,"SMTP Password"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_POOL")]),l("td",null,"Use SMTP pooling"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_SECURE")]),l("td",null,"Enable TLS"),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SMTP_IGNORE_TLS")]),l("td",null,"Ignore TLS"),l("td",null,"\u2013")])])],-1),$n=l("h3",{id:"mailgun-(mailgun)"},[e("Mailgun ("),l("code",null,"mailgun"),e(") "),l("a",{class:"header-anchor",href:"#mailgun-(mailgun)"},"#")],-1),lt=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_MAILGUN_API_KEY")]),l("td",null,"Your Mailgun API key."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_MAILGUN_DOMAIN")]),l("td",null,[e("A domain from "),l("a",{href:"https://app.mailgun.com/app/sending/domains",target:"_blank",rel:"noopener noreferrer"},"your Mailgun account")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_MAILGUN_HOST")]),l("td",null,"Allows you to specify a custom host."),l("td",null,[l("code",null,"api.mailgun.net")])])])],-1),et=l("h3",{id:"aws-ses-(ses)"},[e("AWS SES ("),l("code",null,"ses"),e(") "),l("a",{class:"header-anchor",href:"#aws-ses-(ses)"},"#")],-1),nt=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"EMAIL_SES_CREDENTIALS__ACCESS_KEY_ID")]),l("td",null,"Your AWS SES access key. ID."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SES_CREDENTIALS__SECRET_ACCESS_KEY")]),l("td",null,"Your AWS SES secret key."),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"EMAIL_SES_REGION")]),l("td",null,"Your AWS SES region."),l("td",null,"\u2013")])])],-1),tt=l("h2",{id:"admin-account"},[e("Admin Account "),l("a",{class:"header-anchor",href:"#admin-account"},"#")],-1),ot=l("p",null,[e("If you\u2019re relying on Docker and/or the "),l("code",null,"directus bootstrap"),e(" CLI command, you can pass the following two environment variables to automatically configure the first user:")],-1),ut=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"ADMIN_EMAIL")]),l("td",null,[e("The email address of the first user that\u2019s automatically created when using "),l("code",null,"directus bootstrap"),e(".")]),l("td",null,"\u2013")]),l("tr",null,[l("td",null,[l("code",null,"ADMIN_PASSWORD")]),l("td",null,[e("The password of the first user that\u2019s automatically created when using "),l("code",null,"directus bootstrap"),e(".")]),l("td",null,"\u2013")])])],-1),st=l("h2",{id:"telemetry"},[e("Telemetry "),l("a",{class:"header-anchor",href:"#telemetry"},"#")],-1),at=l("p",null,"To more accurately gauge the frequency of installation, version fragmentation, and general size of the userbase, Directus collects little and anonymized data about your environment. You can easily opt-out with the following environment variable:",-1),dt=l("table",null,[l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])]),l("tbody",null,[l("tr",null,[l("td",null,[l("code",null,"TELEMETRY")]),l("td",null,"Allow Directus to collect anonymized data about your environment."),l("td",null,[l("code",null,"true")])])])],-1),_t={setup(rt,{expose:a}){const u={title:"Configuration Options",modularExtension:!1};return a({frontmatter:u}),(it,ct)=>{const t=s("router-link"),d=s("DocsWrapper");return r(),i(d,{frontmatter:u},{default:n(()=>[l("div",c,[h,_,p,f,m,E,g,A,T,R,b,O,S,I,y,D,C,L,v,w,U,N,P,H,V,x,M,G,B,j,k,W,q,F,Y,K,z,X,J,Z,Q,$,ll,el,l("table",null,[nl,l("tbody",null,[tl,ol,ul,sl,al,dl,rl,il,l("tr",null,[cl,l("td",null,[hl,o(t,{to:"/docs/reference/authentication/#request-password-reset"},{default:n(()=>[_l,pl,fl]),_:1})]),ml]),l("tr",null,[El,l("td",null,[gl,o(t,{to:"/docs/reference/system/users/#invite-a-new-user"},{default:n(()=>[Al,Tl,Rl]),_:1})]),bl]),Ol,Sl,Il])]),yl,Dl,Cl,l("p",null,[Ll,vl,wl,o(t,{to:"/docs/reference/system/utilities/#generate-a-hash"},{default:n(()=>[Ul]),_:1}),Nl]),Pl,Hl,Vl,xl,Ml,Gl,Bl,jl,kl,Wl,ql,Fl,Yl,Kl,zl,Xl,Jl,Zl,Ql,$l,le,ee,ne,te,oe,ue,se,ae,de,re,ie,ce,he,_e,pe,fe,me,Ee,ge,Ae,Te,Re,be,Oe,Se,Ie,ye,De,Ce,Le,ve,we,Ue,Ne,Pe,He,Ve,xe,Me,Ge,Be,je,ke,We,qe,Fe,Ye,Ke,ze,Xe,Je,Ze,l("table",null,[Qe,l("tbody",null,[$e,ln,en,nn,tn,on,un,sn,an,dn,l("tr",null,[rn,l("td",null,[cn,o(t,{to:"/docs/getting-started/glossary/#icons"},{default:n(()=>[hn]),_:1}),_n]),pn]),fn])]),mn,En,l("table",null,[gn,l("tbody",null,[An,Tn,Rn,bn,On,Sn,In,yn,l("tr",null,[Dn,l("td",null,[Cn,o(t,{to:"/docs/getting-started/glossary/#icons"},{default:n(()=>[Ln]),_:1}),vn]),wn]),Un])]),Nn,Pn,Hn,Vn,xn,Mn,Gn,Bn,jn,kn,Wn,qn,Fn,Yn,Kn,zn,Xn,Jn,Zn,Qn,$n,lt,et,nt,tt,ot,ut,st,at,dt])]),_:1})}}};export{_t as default};
@@ -1 +0,0 @@
1
- import{r as s,p as d,q as h,w as o,z as t,t as l,S as e}from"./vendor.f59145b7.js";const c={class:"markdown-body"},u=t("blockquote",null,[t("p",null,"This is the main gateway to your content items, providing a highly configurable Layout for browsing and visualizing the items within a collection. The header of this page includes key action buttons for creating, deleting, and batch editing items.")],-1),_=t("p",null,[t("div",{class:"table-of-contents"},[t("ul",null,[t("li",null,[t("a",{href:"#creating-an-item"},"Creating an Item")]),t("li",null,[t("a",{href:"#manually-sorting-items"},"Manually Sorting Items")]),t("li",null,[t("a",{href:"#ordering-items"},"Ordering Items")]),t("li",null,[t("a",{href:"#adjusting-item-layouts"},"Adjusting Item Layouts")]),t("li",null,[t("a",{href:"#searching-items"},"Searching Items")]),t("li",null,[t("a",{href:"#filtering-items"},"Filtering Items")]),t("li",null,[t("a",{href:"#viewing-archived-items"},"Viewing Archived Items")]),t("li",null,[t("a",{href:"#bookmarking-item-presets"},"Bookmarking Item Presets")]),t("li",null,[t("a",{href:"#importing-%2F-exporting-items"},"Importing / Exporting Items")])])])],-1),m=t("h2",{id:"creating-an-item"},[e("Creating an Item "),t("a",{class:"header-anchor",href:"#creating-an-item"},"#")],-1),g=t("ol",null,[t("li",null,"Navigate to the collection where you want to add an item"),t("li",null,"Click on the \u201CCreate Item\u201D (+ icon) button located in the header"),t("li",null,"Complete the Item Detail form"),t("li",null,"Click the \u201CSave Item\u201D (\u2713 icon) button located in the header")],-1),p=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},"Singletons"),t("p",null,"If the Collection is configured as a \u201CSingleton\u201D in the data model settings, then the App will automatically skip step #2 above.")],-1),f=t("h2",{id:"manually-sorting-items"},[e("Manually Sorting Items "),t("a",{class:"header-anchor",href:"#manually-sorting-items"},"#")],-1),y=e("Navigate to the "),v=e("Content Module"),b=t("li",null,"Navigate to the collection of the items you want to sort",-1),w=t("li",null,"Choose a layout that supports manual sorting (eg: the default \u201Ctable\u201D mode)",-1),k=t("li",null,"Enable manual sorting. (eg: for the table layout, click on the Sort column\u2019s header)",-1),C=t("li",null,"Drag items by their handle into a new position",-1),I=t("p",null,"The new sort order is saved automatically, so make sure you wait until the App\u2019s loading indicator finishes before navigating away from the page.",-1),S=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Requires Configuration"),t("p",null,"This feature is only available if a Sort column has been configured in the Collection\u2019s data model settings.")],-1),N=t("h2",{id:"ordering-items"},[e("Ordering Items "),t("a",{class:"header-anchor",href:"#ordering-items"},"#")],-1),L=e("Navigate to the "),F=e("Content Module"),x=t("li",null,"Navigate to a collection of items",-1),O=t("li",null,"Choose a layout that supports manual ordering (eg: the default \u201Ctable\u201D mode)",-1),A=t("li",null,[e("Set the Order Field and Order Direction "),t("ul",null,[t("li",null,"Table Layout: Click on the field\u2019s column header, clicking again changes order direction"),t("li",null,"Card Layout: Adjust the two dropdowns in the layout\u2019s subheader")])],-1),D={class:"tip hint"},M=t("div",{class:"hint-title"},"Sort vs Order",-1),T=t("strong",null,"Ordering",-1),E=e(" is a non-destructive action (does "),B=t("em",null,"not",-1),j=e(" change your data) used to browse items alphabetically or numerically. "),R=t("strong",null,"Sorting",-1),V=e(" (when enabled) saves a value in a "),q=e("Sort"),z=e(" field, which can then be used to return data in a custom order."),P=t("h2",{id:"adjusting-item-layouts"},[e("Adjusting Item Layouts "),t("a",{class:"header-anchor",href:"#adjusting-item-layouts"},"#")],-1),W=e("Learn more about Layouts"),J=e("Navigate to the "),X=e("Content Module"),U=t("li",null,"Navigate to the collection of the items you want to browse",-1),G=t("li",null,"Click \u201CLayout Options\u201D in the page sidebar",-1),H=t("li",null,"Choose the desired \u201CLayout\u201D you want to use",-1),K=t("li",null,"Configure any other layout options",-1),Q=t("h3",{id:"table-layout"},[e("Table Layout "),t("a",{class:"header-anchor",href:"#table-layout"},"#")],-1),Y=t("p",null,"Supports all forms of data, and is therefore the default within the Content module. It includes the following features/options:",-1),Z=t("ul",null,[t("li",null,"Toggle & Reorder Field Columns (Option)"),t("li",null,"Row Spacing (Option)"),t("li",null,"Manual Item Ordering"),t("li",null,"Column Sort"),t("li",null,"Column Resizing"),t("li",null,"Select All")],-1),$=t("h3",{id:"card-layout"},[e("Card Layout "),t("a",{class:"header-anchor",href:"#card-layout"},"#")],-1),tt=e("This tiled layout is ideal for collections that prioritize an image, and is the default for both the "),et=e("User Directory"),ot=e(" and "),it=e("File Library"),lt=e(". It includes the following features/options:"),nt=t("ul",null,[t("li",null,"Image Source (Option)"),t("li",null,"Title (Option)"),t("li",null,"Subtitle (Option)"),t("li",null,"Image Fit (Option)"),t("li",null,"Fallback Icon (Option)"),t("li",null,"Card Size"),t("li",null,"Sort Field & Direction"),t("li",null,"Select All")],-1),st=t("h3",{id:"calendar-layout"},[e("Calendar Layout "),t("a",{class:"header-anchor",href:"#calendar-layout"},"#")],-1),at=t("p",null,"An excellent choice for temporal (date/time) data, this Layout allows you to choose between a Month, Week, Day, and List view. The following options are included:",-1),rt=t("ul",null,[t("li",null,"Display Template"),t("li",null,"Start Date Field"),t("li",null,"End Date Field")],-1),dt=t("h3",{id:"map-layout"},[e("Map Layout "),t("a",{class:"header-anchor",href:"#map-layout"},"#")],-1),ht=t("p",null,"For geospatial/geographic data, the Map Layout provides a world map for points, lines, and other geometry. The following options are available:",-1),ct=t("ul",null,[t("li",null,"Basemap"),t("li",null,"Location Field"),t("li",null,"Display Template"),t("li",null,"Enable Clustering")],-1),ut=t("h2",{id:"searching-items"},[e("Searching Items "),t("a",{class:"header-anchor",href:"#searching-items"},"#")],-1),_t=e("Navigate to the "),mt=e("Content Module"),gt=t("li",null,"Navigate to the collection of the items you want to search",-1),pt=t("li",null,"Type your search query into the input (magnifying glass icon) located in the header",-1),ft=t("h2",{id:"filtering-items"},[e("Filtering Items "),t("a",{class:"header-anchor",href:"#filtering-items"},"#")],-1),yt=e("Learn more about Filtering"),vt=e("."),bt=e("Navigate to the "),wt=e("Content Module"),kt=t("li",null,"Navigate to the collection of the items you want to filter",-1),Ct=t("li",null,"Click on Filter (filter icon) located in the header",-1),It=t("li",null,"Click the \u201CAdd Filter\u201D dropdown and select the field to filter on",-1),St=t("li",null,"Adjust the operator (eg: \u201CContains\u201D) as needed by clicking on it",-1),Nt=t("li",null,"Enter a value in the field filter\u2019s input(s)",-1),Lt=t("li",null,"Remove unwanted filters by hovering over the field and clicking \u201CX\u201D",-1),Ft=t("h2",{id:"viewing-archived-items"},[e("Viewing Archived Items "),t("a",{class:"header-anchor",href:"#viewing-archived-items"},"#")],-1),xt=e("Learn more about Archive"),Ot=e("."),At=e("Navigate to the "),Dt=e("Content Module"),Mt=t("li",null,"Navigate to the collection of the items you want to view",-1),Tt=t("li",null,"Click \u201CArchive\u201D in the page sidebar",-1),Et=t("li",null,[e("Choose the desired view: "),t("code",null,"Show Items"),e(" (default), "),t("code",null,"Show Archived Items"),e(", or "),t("code",null,"Show Items + Archived Items")],-1),Bt=t("h2",{id:"bookmarking-item-presets"},[e("Bookmarking Item Presets "),t("a",{class:"header-anchor",href:"#bookmarking-item-presets"},"#")],-1),jt=e("Navigate to the "),Rt=e("Content Module"),Vt=t("li",null,"Navigate to the collection of the items you want to bookmark",-1),qt=t("li",null,"Configure the page as desired (eg: layout, options, search, filters, order, etc)",-1),zt=t("li",null,"Click the \u201CCreate Bookmark\u201D (bookmark icon) button in the header beside the page title",-1),Pt=t("li",null,"Rename bookmarks by right-clicking them in the navigation sidebar and selecting \u201CRename Bookmark\u201D",-1),Wt=t("li",null,"Delete bookmarks by right-clicking them in the navigation sidebar and selecting \u201CDelete Bookmark\u201D",-1),Jt=t("h2",{id:"importing-%2F-exporting-items"},[e("Importing / Exporting Items "),t("a",{class:"header-anchor",href:"#importing-%2F-exporting-items"},"#")],-1),Xt=t("h3",{id:"import"},[e("Import "),t("a",{class:"header-anchor",href:"#import"},"#")],-1),Ut=e("Learn more about Import Data from a File"),Gt=e("Navigate to the "),Ht=e("Content Module"),Kt=t("li",null,"Navigate to the collection of the items you want to import",-1),Qt=t("li",null,"Click \u201CImport / Export\u201D in the page sidebar",-1),Yt=t("li",null,"Choose the desired file containing items to import in the accepted format: either CSV or JSON",-1),Zt=t("li",null,"Click the \u201CStart Import\u201D button to import the items from the chosen file",-1),$t=t("h3",{id:"export"},[e("Export "),t("a",{class:"header-anchor",href:"#export"},"#")],-1),te=t("ol",null,[t("li",null,"Navigate to the collection of the items you want to export"),t("li",null,"Optional: Configure the dataset as desired (eg: layout, options, search, filters, order, etc)"),t("li",null,"Click \u201CImport / Export\u201D in the page sidebar"),t("li",null,"Choose the desired format: either CSV, JSON or XML"),t("li",null,"Choose whether you want to use your current Filters and Settings in the export"),t("li",null,"Click the \u201CStart Export\u201D button to download the file to your device")],-1),ne={setup(ee,{expose:a}){const n={title:"Collection Page",modularExtension:!1};return a({frontmatter:n}),(oe,ie)=>{const i=s("router-link"),r=s("DocsWrapper");return d(),h(r,{frontmatter:n},{default:o(()=>[t("div",c,[u,_,m,g,p,f,t("ol",null,[t("li",null,[y,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[v]),_:1})]),b,w,k,C]),I,S,N,t("ol",null,[t("li",null,[L,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[F]),_:1})]),x,O,A]),t("div",D,[M,t("p",null,[T,E,B,j,R,V,l(i,{to:"/docs/reference/query/#sort"},{default:o(()=>[q]),_:1}),z])]),P,t("p",null,[t("strong",null,[l(i,{to:"/docs/getting-started/glossary/#layouts"},{default:o(()=>[W]),_:1})])]),t("ol",null,[t("li",null,[J,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[X]),_:1})]),U,G,H,K]),Q,Y,Z,$,t("p",null,[tt,l(i,{to:"/docs/app/user-directory/"},{default:o(()=>[et]),_:1}),ot,l(i,{to:"/docs/reference/files/"},{default:o(()=>[it]),_:1}),lt]),nt,st,at,rt,dt,ht,ct,ut,t("ol",null,[t("li",null,[_t,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[mt]),_:1})]),gt,pt]),ft,t("p",null,[t("strong",null,[l(i,{to:"/docs/configuration/filter-rules/"},{default:o(()=>[yt]),_:1}),vt])]),t("ol",null,[t("li",null,[bt,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[wt]),_:1})]),kt,Ct,It,St,Nt,Lt]),Ft,t("p",null,[t("strong",null,[l(i,{to:"/docs/configuration/data-model/#archive"},{default:o(()=>[xt]),_:1}),Ot])]),t("ol",null,[t("li",null,[At,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[Dt]),_:1})]),Mt,Tt,Et]),Bt,t("ol",null,[t("li",null,[jt,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[Rt]),_:1})]),Vt,qt,zt,Pt,Wt]),Jt,Xt,t("p",null,[t("strong",null,[l(i,{to:"/docs/reference/system/utilities/#import-data-from-file"},{default:o(()=>[Ut]),_:1})])]),t("ol",null,[t("li",null,[Gt,l(i,{to:"/docs/app/overview/#_1-module-bar"},{default:o(()=>[Ht]),_:1})]),Kt,Qt,Yt,Zt]),$t,te])]),_:1})}}};export{ne as default};
@@ -1 +0,0 @@
1
- import{r as a,p as c,q as d,w as i,z as t,t as o,S as e}from"./vendor.f59145b7.js";const r={class:"markdown-body"},u=t("blockquote",null,[t("p",null,"A tailored form for viewing and editing an item\u2019s fields. This page also includes options for archiving, reverting, deleting, and commenting on the item.")],-1),_=t("p",null,[t("div",{class:"table-of-contents"},[t("ul",null,[t("li",null,[t("a",{href:"#updating-an-item"},"Updating an Item")]),t("li",null,[t("a",{href:"#deleting-an-item"},"Deleting an Item")]),t("li",null,[t("a",{href:"#archiving-an-item"},"Archiving an Item")]),t("li",null,[t("a",{href:"#reverting-an-item"},"Reverting an Item")]),t("li",null,[t("a",{href:"#commenting-on-an-item"},"Commenting on an Item")])])])],-1),m=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Permissions"),t("p",null,"The actions on this page assume the current user has permission to perform that action. However, certain features may be disabled or hidden based on permissions.")],-1),g=t("h2",{id:"updating-an-item"},[e("Updating an Item "),t("a",{class:"header-anchor",href:"#updating-an-item"},"#")],-1),v=e("Navigate to the "),p=e("Content Module"),f=t("li",null,"Navigate to the collection of the item you want to update",-1),w=t("li",null,"Click on the item within the current layout (eg: on the row of the table)",-1),b=t("li",null,"Update the Item Detail form",-1),y=t("li",null,"Click the \u201CSave Item\u201D (\u2713 icon) button located in the header",-1),C=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},"Other Save Options"),t("p",null,"To the right of the primary Save button there is a \u201C\u2026\u201D icon which contains the following alternate save options:"),t("ul",null,[t("li",null,"Save and Stay (\u2318S)"),t("li",null,"Save and Create New (\u2318\u21E7S)"),t("li",null,"Save as Copy")])],-1),k=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},"Singletons"),t("p",null,"If the Collection is configured as a \u201CSingleton\u201D in the data model settings, then the App will automatically skip step #3 above.")],-1),I=t("h2",{id:"deleting-an-item"},[e("Deleting an Item "),t("a",{class:"header-anchor",href:"#deleting-an-item"},"#")],-1),D=e("Navigate to the "),S=e("Content Module"),N=t("li",null,"Navigate to the collection of the item you want to delete",-1),A=t("li",null,"Select the item(s) within the desired layout (eg: the checkbox on the table row)",-1),x=t("li",null,"Click the \u201CDelete Item\u201D (trash icon) button located in the header",-1),T=t("li",null,"Confirm the action within the dialog by clicking \u201CDelete\u201D",-1),M=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},"Deleting from the Item Detail page"),t("p",null,"You can also click on an item to navigate to its Detail page. From there, you can click on the \u201CDelete Item\u201D (trash icon) button located in the header.")],-1),R=t("h2",{id:"archiving-an-item"},[e("Archiving an Item "),t("a",{class:"header-anchor",href:"#archiving-an-item"},"#")],-1),q=e("Navigate to the "),B=e("Content Module"),U=t("li",null,"Navigate to the collection of the item you want to archive",-1),V=t("li",null,"Select the item(s) within the desired layout (eg: the checkbox on the table row)",-1),Y=t("li",null,"Click the \u201CArchive Item\u201D (archive icon) button located in the header",-1),F=t("li",null,"Confirm the action within the dialog by clicking \u201CArchive\u201D",-1),O=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Requires Configuration"),t("p",null,"This feature is only available if an Archive column has been configured in the Collection\u2019s data model settings.")],-1),P=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},"Archiving from the Item Detail page"),t("p",null,"You can also click on an item to navigate to its Detail page. From there, you can click on the \u201CArchive Item\u201D (archive icon) button located in the header.")],-1),W=t("h2",{id:"reverting-an-item"},[e("Reverting an Item "),t("a",{class:"header-anchor",href:"#reverting-an-item"},"#")],-1),j=e("Navigate to the "),z=e("Content Module"),E=t("li",null,"Navigate to the collection of the item you want to archive",-1),H=t("li",null,"Click on an item to navigate to its Detail page",-1),G=t("li",null,"Click \u201CRevisions\u201D in the page sidebar",-1),J=t("li",null,"Click on the revision you wish to preview",-1),K=t("li",null,"Click on the \u201CRevert\u201D button located in the drawer\u2019s header",-1),L=t("li",null,"Confirm the action within the dialog by clicking \u201CRevert\u201D",-1),Q=t("h2",{id:"commenting-on-an-item"},[e("Commenting on an Item "),t("a",{class:"header-anchor",href:"#commenting-on-an-item"},"#")],-1),X=e("Navigate to the "),Z=e("Content Module"),$=t("li",null,"Navigate to the collection of the item you want to comment on",-1),tt=t("li",null,"Click on an item to navigate to its Detail page",-1),et=t("li",null,"Click \u201CComments\u201D in the page sidebar",-1),it=t("li",null,"Type your message within the input",-1),nt=t("li",null,"Click the \u201CSubmit\u201D button",-1),ot=t("h3",{id:"mentions"},[e("Mentions "),t("a",{class:"header-anchor",href:"#mentions"},"#")],-1),lt=t("p",null,[e("You can also mention any user by typing "),t("code",null,"@"),e(" along with their name or email in your comment. They will then receive a notification which will direct them to your comment.")],-1),dt={setup(at,{expose:s}){const l={title:"Item Page",modularExtension:!1};return s({frontmatter:l}),(st,ht)=>{const n=a("router-link"),h=a("DocsWrapper");return c(),d(h,{frontmatter:l},{default:i(()=>[t("div",r,[u,_,m,g,t("ol",null,[t("li",null,[v,o(n,{to:"/docs/app/overview#1.-module-bar"},{default:i(()=>[p]),_:1})]),f,w,b,y]),C,k,I,t("ol",null,[t("li",null,[D,o(n,{to:"/docs/app/overview#1.-module-bar"},{default:i(()=>[S]),_:1})]),N,A,x,T]),M,R,t("ol",null,[t("li",null,[q,o(n,{to:"/docs/app/overview#1.-module-bar"},{default:i(()=>[B]),_:1})]),U,V,Y,F]),O,P,W,t("ol",null,[t("li",null,[j,o(n,{to:"/docs/app/overview#1.-module-bar"},{default:i(()=>[z]),_:1})]),E,H,G,J,K,L]),Q,t("ol",null,[t("li",null,[X,o(n,{to:"/docs/app/overview#1.-module-bar"},{default:i(()=>[Z]),_:1})]),$,tt,et,it,nt]),ot,lt])]),_:1})}}};export{dt as default};
@@ -1 +0,0 @@
1
- import{r as n,p as c,q as d,w as o,z as e,t as s,S as t}from"./vendor.f59145b7.js";var _="assets/collection-overview.f5f4bdd0.png",g="assets/article-overview.86ef3f76.png";const m={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"This module is the primary way for interacting with your database content. Here you can browse/visualize collections of items, and navigate to their individual item forms.")],-1),p=e("h2",{id:"collection-page"},[t("Collection Page "),e("a",{class:"header-anchor",href:"#collection-page"},"#")],-1),u=e("p",null,[e("img",{src:_,alt:"Collection Overview"})],-1),f=t("This is the main gateway to your items, providing highly configurable Layouts for browsing, visualizing, and managing the items within a collection. Clicking on an item takes to you to the Item Page. "),v=t("Learn more about the Collection Page"),w=e("h2",{id:"item-page"},[t("Item Page "),e("a",{class:"header-anchor",href:"#item-page"},"#")],-1),y=e("p",null,[e("img",{src:g,alt:"Article Overview"})],-1),b=t("A tailored form for viewing and editing an item\u2019s fields. This page also includes options for archiving, reverting, deleting, and commenting on the item. "),k=t("Learn more about the Item Page"),z={setup(C,{expose:r}){const i={title:"Content",modularExtension:!1};return r({frontmatter:i}),(x,P)=>{const a=n("router-link"),l=n("DocsWrapper");return c(),d(l,{frontmatter:i},{default:o(()=>[e("div",m,[h,p,u,e("p",null,[f,s(a,{to:"/docs/getting-started/glossary/#collections"},{default:o(()=>[v]),_:1})]),w,y,e("p",null,[b,s(a,{to:"/docs/getting-started/glossary/#items"},{default:o(()=>[k]),_:1})])])]),_:1})}}};export{z as default};
@@ -1,11 +0,0 @@
1
- import{r as l,p as c,q as u,w as t,z as e,t as s,S as n}from"./vendor.f59145b7.js";const r={class:"markdown-body"},h=e("h2",{id:"scaffolding-your-directus-extension"},[n("Scaffolding your Directus Extension "),e("a",{class:"header-anchor",href:"#scaffolding-your-directus-extension"},"#")],-1),p=e("p",null,[n("The easiest way to start developing extensions is to use the "),e("code",null,"create-directus-extension"),n(" utility:")],-1),_=e("pre",null,[e("code",{class:"language-bash"},`npm init directus-extension
2
- `)],-1),f=e("p",null,"After specifying the the name of the extension, the type of the extension and the programming language you want to use, the utility will create a folder with the recommended file structure to create an extension.",-1),g=e("h3",{id:"extension-folder-structure"},[n("Extension Folder Structure "),e("a",{class:"header-anchor",href:"#extension-folder-structure"},"#")],-1),y=e("p",null,[n("The folder created by the utility is in fact a npm package. It comes with a few pre-installed packages depending on the extension type and the language you chose. The most important one is "),e("code",null,"@directus/extensions-sdk"),n(". This package includes a CLI, which allows you to build your extension and to scaffold additional extensions, and it provides Typescript helpers and other utilities.")],-1),x=e("p",null,[n("Inside the created folder there is a "),e("code",null,"src/"),n(" folder. This folder contains the entrypoint of your extension. If you write additional source files, they should go into this folder.")],-1),m=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Entrypoint"),e("p",null,[n("The entrypoint is either called "),e("code",null,"index.js"),n(" or "),e("code",null,"index.ts"),n(", depending on which programming language you chose.")])],-1),b=e("p",null,[n("The generated "),e("code",null,"package.json"),n(" file contains an additional "),e("code",null,"directus:extension"),n(" field with the following sub-fields:")],-1),w=e("ul",null,[e("li",null,[e("code",null,"type"),n(" \u2014 The type of the extension")]),e("li",null,[e("code",null,"path"),n(" \u2014 The path to the built extension")]),e("li",null,[e("code",null,"source"),n(" \u2014 The path to the source entrypoint")]),e("li",null,[e("code",null,"host"),n(" \u2014 A semver string that indicates with which versions of the Directus host, the extension is compatible with")])],-1),v=e("p",null,"The CLI will use those fields by default to determine the input and output file paths and how the extension should be built.",-1),T=e("h2",{id:"building-your-extension"},[n("Building your Extension "),e("a",{class:"header-anchor",href:"#building-your-extension"},"#")],-1),k=e("p",null,[n("Before your extension can be used by Directus, it has to be built. If you used the "),e("code",null,"create-directus-extension"),n(" utility to scaffold your extension, building your extension is as easy as running:")],-1),I=e("pre",null,[e("code",{class:"language-bash"},`npm run build
3
- `)],-1),j=e("p",null,[n("The generated "),e("code",null,"package.json"),n(" contains a script that calls the "),e("code",null,"directus-extension"),n(" CLI which is part of "),e("code",null,"@directus/extensions-sdk"),n(":")],-1),E=e("pre",null,[e("code",{class:"language-json"},[n(`{
4
- `),e("span",{class:"hljs-attr"},'"scripts"'),n(`: {
5
- `),e("span",{class:"hljs-attr"},'"build"'),n(": "),e("span",{class:"hljs-string"},'"directus-extension build"'),n(`
6
- }
7
- }
8
- `)])],-1),C=e("p",null,[n("If you prefer to scaffold your extension manually, you can use the "),e("code",null,"directus-extension"),n(" CLI binary directly. The "),e("code",null,"--help"),n(" flag provides useful information regarding the available options and flags.")],-1),L=e("p",null,"Internally, the CLI uses Rollup to bundle your extension to a single entrypoint.",-1),S=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Watch"),e("p",null,[n("The CLI supports rebuilding extensions whenever a file has changed by using the "),e("code",null,"--watch"),n(" flag.")])],-1),D=e("h3",{id:"configuring-the-cli"},[n("Configuring the CLI "),e("a",{class:"header-anchor",href:"#configuring-the-cli"},"#")],-1),A=e("p",null,[n("Most of the time, it should be sufficient to use the CLI as is. But, in some cases it might be necessary to customize it to your specific needs. This can be done by creating a "),e("code",null,"extension.config.js"),n(" file at the root of your extension package with the following content:")],-1),B=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-built_in"},"module"),n(`.exports = {
9
- `),e("span",{class:"hljs-attr"},"plugins"),n(`: [],
10
- };
11
- `)])],-1),N=e("h4",{id:"supported-options"},[n("Supported Options "),e("a",{class:"header-anchor",href:"#supported-options"},"#")],-1),M=e("ul",null,[e("li",null,[e("code",null,"plugins"),n(" \u2014 An array of Rollup plugins that will be used when building extensions in addition to the built-in ones.")])],-1),O=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"CommonJS or ESM"),e("p",null,[n("By using the "),e("code",null,"type"),n(" field inside your "),e("code",null,"package.json"),n(" file or using the appropriate file extension ("),e("code",null,".mjs"),n(" or "),e("code",null,".cjs"),n("), the config file can be loaded as a CommonJS or ESM file.")])],-1),R=e("h2",{id:"deploying-your-extension"},[n("Deploying your Extension "),e("a",{class:"header-anchor",href:"#deploying-your-extension"},"#")],-1),W=e("p",null,[n("To deploy your extension, you have to move the output from the "),e("code",null,"dist/"),n(" folder into your project\u2019s "),e("code",null,"./extensions/<extension-folder>/<extension-name>/"),n(" folder. "),e("code",null,"<extension-folder>"),n(" has to be replaced by the extension type in plural form (e.g. interfaces). "),e("code",null,"<extension-name>"),n(" should be replaced with the name of your extension.")],-1),P=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Configurable Folders"),e("p",null,"The path to the built extension as well as the extensions directory are configurable and may be located elsewhere.")],-1),V=e("h2",{id:"developing-your-extension"},[n("Developing your Extension "),e("a",{class:"header-anchor",href:"#developing-your-extension"},"#")],-1),z=e("p",null,"To learn more about developing extensions of a specific type, you can refer to one of the individual guides:",-1),F=e("h4",{id:"app-extensions"},[n("App Extensions "),e("a",{class:"header-anchor",href:"#app-extensions"},"#")],-1),J=n("Interfaces"),q=n("Displays"),H=n("Layouts"),U=n("Modules"),X=n("Panels"),G=e("h4",{id:"api-extensions"},[n("API Extensions "),e("a",{class:"header-anchor",href:"#api-extensions"},"#")],-1),K=n("Hooks"),Q=n("Endpoints"),Y={class:"tip hint"},Z=e("div",{class:"hint-title"},"Live Reloading",-1),$=n("When working on extensions, try setting the "),ee=e("code",null,"EXTENSIONS_AUTO_RELOAD",-1),ne=n(" environment variable"),te=n(". This will make the API reload extensions on changes automatically."),ae={setup(oe,{expose:a}){const i={title:"Creating Extensions",modularExtension:!1};return a({frontmatter:i}),(se,ie)=>{const o=l("router-link"),d=l("DocsWrapper");return c(),u(d,{frontmatter:i},{default:t(()=>[e("div",r,[h,p,_,f,g,y,x,m,b,w,v,T,k,I,j,E,C,L,S,D,A,B,N,M,O,R,W,P,V,z,F,e("ul",null,[e("li",null,[s(o,{to:"/docs/extensions/interfaces/"},{default:t(()=>[J]),_:1})]),e("li",null,[s(o,{to:"/docs/extensions/displays/"},{default:t(()=>[q]),_:1})]),e("li",null,[s(o,{to:"/docs/extensions/layouts/"},{default:t(()=>[H]),_:1})]),e("li",null,[s(o,{to:"/docs/extensions/modules/"},{default:t(()=>[U]),_:1})]),e("li",null,[s(o,{to:"/docs/extensions/panels/"},{default:t(()=>[X]),_:1})])]),G,e("ul",null,[e("li",null,[s(o,{to:"/docs/extensions/hooks/"},{default:t(()=>[K]),_:1})]),e("li",null,[s(o,{to:"/docs/extensions/endpoints/"},{default:t(()=>[Q]),_:1})])]),e("div",Y,[Z,e("p",null,[$,s(o,{to:"/docs/configuration/config-options"},{default:t(()=>[ee,ne]),_:1}),te])])])]),_:1})}}};export{ae as default};
@@ -1 +0,0 @@
1
- import{bJ as L}from"./vendor.f59145b7.js";function q(v,b){return b.forEach(function(o){o&&typeof o!="string"&&!Array.isArray(o)&&Object.keys(o).forEach(function(c){if(c!=="default"&&!(c in v)){var f=Object.getOwnPropertyDescriptor(o,c);Object.defineProperty(v,c,f.get?f:{enumerable:!0,get:function(){return o[c]}})}})}),Object.freeze(v)}var O={exports:{}};(function(v,b){(function(o){o(L.exports)})(function(o){o.defineMode("crystal",function(c){function f(n,e){return new RegExp((e?"":"^")+"(?:"+n.join("|")+")"+(e?"$":"\\b"))}function l(n,e,r){return r.tokenize.push(n),n(e,r)}var y=/^(?:[-+/%|&^]|\*\*?|[<>]{2})/,_=/^(?:[=!]~|===|<=>|[<>=!]=?|[|&]{2}|~)/,g=/^(?:\[\][?=]?)/,A=/^(?:\.(?:\.{2})?|->|[?:])/,h=/^[a-z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,F=/^[A-Z_\u009F-\uFFFF][a-zA-Z0-9_\u009F-\uFFFF]*/,T=f(["abstract","alias","as","asm","begin","break","case","class","def","do","else","elsif","end","ensure","enum","extend","for","fun","if","include","instance_sizeof","lib","macro","module","next","of","out","pointerof","private","protected","rescue","return","require","select","sizeof","struct","super","then","type","typeof","uninitialized","union","unless","until","when","while","with","yield","__DIR__","__END_LINE__","__FILE__","__LINE__"]),j=f(["true","false","nil","self"]),K=["def","fun","macro","class","module","struct","lib","enum","union","do","for"],P=f(K),D=["if","unless","case","while","until","begin","then"],M=f(D),s=["end","else","elsif","rescue","ensure"],N=f(s),I=["\\)","\\}","\\]"],Z=new RegExp("^(?:"+I.join("|")+")$"),E={def:S,fun:S,macro:$,class:p,module:p,struct:p,lib:p,enum:p,union:p},z={"[":"]","{":"}","(":")","<":">"};function w(n,e){if(n.eatSpace())return null;if(e.lastToken!="\\"&&n.match("{%",!1))return l(a("%","%"),n,e);if(e.lastToken!="\\"&&n.match("{{",!1))return l(a("{","}"),n,e);if(n.peek()=="#")return n.skipToEnd(),"comment";var r;if(n.match(h))return n.eat(/[?!]/),r=n.current(),n.eat(":")?"atom":e.lastToken=="."?"property":T.test(r)?(P.test(r)?!(r=="fun"&&e.blocks.indexOf("lib")>=0)&&!(r=="def"&&e.lastToken=="abstract")&&(e.blocks.push(r),e.currentIndent+=1):(e.lastStyle=="operator"||!e.lastStyle)&&M.test(r)?(e.blocks.push(r),e.currentIndent+=1):r=="end"&&(e.blocks.pop(),e.currentIndent-=1),E.hasOwnProperty(r)&&e.tokenize.push(E[r]),"keyword"):j.test(r)?"atom":"variable";if(n.eat("@"))return n.peek()=="["?l(d("[","]","meta"),n,e):(n.eat("@"),n.match(h)||n.match(F),"variable-2");if(n.match(F))return"tag";if(n.eat(":"))return n.eat('"')?l(x('"',"atom",!1),n,e):n.match(h)||n.match(F)||n.match(y)||n.match(_)||n.match(g)?"atom":(n.eat(":"),"operator");if(n.eat('"'))return l(x('"',"string",!0),n,e);if(n.peek()=="%"){var u="string",t=!0,i;if(n.match("%r"))u="string-2",i=n.next();else if(n.match("%w"))t=!1,i=n.next();else if(n.match("%q"))t=!1,i=n.next();else if(i=n.match(/^%([^\w\s=])/))i=i[1];else{if(n.match(/^%[a-zA-Z_\u009F-\uFFFF][\w\u009F-\uFFFF]*/))return"meta";if(n.eat("%"))return"operator"}return z.hasOwnProperty(i)&&(i=z[i]),l(x(i,u,t),n,e)}return(r=n.match(/^<<-('?)([A-Z]\w*)\1/))?l(R(r[2],!r[1]),n,e):n.eat("'")?(n.match(/^(?:[^']|\\(?:[befnrtv0'"]|[0-7]{3}|u(?:[0-9a-fA-F]{4}|\{[0-9a-fA-F]{1,6}\})))/),n.eat("'"),"atom"):n.eat("0")?(n.eat("x")?n.match(/^[0-9a-fA-F_]+/):n.eat("o")?n.match(/^[0-7_]+/):n.eat("b")&&n.match(/^[01_]+/),"number"):n.eat(/^\d/)?(n.match(/^[\d_]*(?:\.[\d_]+)?(?:[eE][+-]?\d+)?/),"number"):n.match(y)?(n.eat("="),"operator"):n.match(_)||n.match(A)?"operator":(r=n.match(/[({[]/,!1))?(r=r[0],l(d(r,z[r],null),n,e)):n.eat("\\")?(n.next(),"meta"):(n.next(),null)}function d(n,e,r,u){return function(t,i){if(!u&&t.match(n))return i.tokenize[i.tokenize.length-1]=d(n,e,r,!0),i.currentIndent+=1,r;var k=w(t,i);return t.current()===e&&(i.tokenize.pop(),i.currentIndent-=1,k=r),k}}function a(n,e,r){return function(u,t){return!r&&u.match("{"+n)?(t.currentIndent+=1,t.tokenize[t.tokenize.length-1]=a(n,e,!0),"meta"):u.match(e+"}")?(t.currentIndent-=1,t.tokenize.pop(),"meta"):w(u,t)}}function $(n,e){if(n.eatSpace())return null;var r;if(r=n.match(h)){if(r=="def")return"keyword";n.eat(/[?!]/)}return e.tokenize.pop(),"def"}function S(n,e){return n.eatSpace()?null:(n.match(h)?n.eat(/[!?]/):n.match(y)||n.match(_)||n.match(g),e.tokenize.pop(),"def")}function p(n,e){return n.eatSpace()?null:(n.match(F),e.tokenize.pop(),"def")}function x(n,e,r){return function(u,t){for(var i=!1;u.peek();)if(i)u.next(),i=!1;else{if(u.match("{%",!1))return t.tokenize.push(a("%","%")),e;if(u.match("{{",!1))return t.tokenize.push(a("{","}")),e;if(r&&u.match("#{",!1))return t.tokenize.push(d("#{","}","meta")),e;var k=u.next();if(k==n)return t.tokenize.pop(),e;i=r&&k=="\\"}return e}}function R(n,e){return function(r,u){if(r.sol()&&(r.eatSpace(),r.match(n)))return u.tokenize.pop(),"string";for(var t=!1;r.peek();)if(t)r.next(),t=!1;else{if(r.match("{%",!1))return u.tokenize.push(a("%","%")),"string";if(r.match("{{",!1))return u.tokenize.push(a("{","}")),"string";if(e&&r.match("#{",!1))return u.tokenize.push(d("#{","}","meta")),"string";t=e&&r.next()=="\\"}return"string"}}return{startState:function(){return{tokenize:[w],currentIndent:0,lastToken:null,lastStyle:null,blocks:[]}},token:function(n,e){var r=e.tokenize[e.tokenize.length-1](n,e),u=n.current();return r&&r!="comment"&&(e.lastToken=u,e.lastStyle=r),r},indent:function(n,e){return e=e.replace(/^\s*(?:\{%)?\s*|\s*(?:%\})?\s*$/g,""),N.test(e)||Z.test(e)?c.indentUnit*(n.currentIndent-1):c.indentUnit*n.currentIndent},fold:"indent",electricInput:f(I.concat(s),!0),lineComment:"#"}}),o.defineMIME("text/x-crystal","crystal")})})();var U=O.exports,H=Object.freeze(q({__proto__:null,[Symbol.toStringTag]:"Module",default:U},[O.exports]));export{H as c};
@@ -1 +0,0 @@
1
- var e={identifier:"Identifik\xE1tor",avatar:"Avatar",default_provider:"V\xFDchoz\xED",published:"Zve\u0159ejn\u011Bno",draft:"N\xE1vrh",archived:"Archivov\xE1no",modules:"Moduly",module_bar:"Panel modul\u016F",tile_size:"Velikost dla\u017Edice",edit_field:"Upravit pole",conditions:"Podm\xEDnky",maps:"Mapy",item_creation:"Vytvo\u0159en\xED polo\u017Eky",item_revision:"Revize polo\u017Eky",enter_a_name:"Zadejte n\xE1zev...",duplicate_field:"Duplikovat pole",half_width:"Polovi\u010Dn\xED \u0161\xED\u0159ka",full_width:"Pln\xE1 \u0161\xED\u0159ka",group:"Skupina",and:"A",or:"Nebo",fill_width:"Pln\xE1 \u0161\xED\u0159ka",field_name_translations:"P\u0159eklady n\xE1zvu pol\xED",enter_password_to_enable_tfa:"Zadejte sv\xE9 heslo pro zapnut\xED dvouf\xE1zov\xE9ho ov\u011B\u0159ov\xE1n\xED",add_field:"P\u0159idat pole",role_name:"Jm\xE9no role",branch:"V\u011Btev",leaf:"List",indeterminate:"Neur\u010Dit\xFD",edit_collection:"Upravit kolekci",exclusive:"Exkluzivn\xED",children:"Potomci",db_only_click_to_configure:"Pouze datab\xE1ze: Klikn\u011Bte pro nastaven\xED",show_archived_items:"Zobrazit archivovan\xE9 polo\u017Eky",edited:"Hodnota upravena",required:"Povinn\xE9",required_for_app_access:"Vy\u017Eadov\xE1no pro p\u0159\xEDstup k aplikac\xEDm",requires_value:"Vy\u017Eaduje hodnotu",create_preset:"Vytvo\u0159it \u0161ablonu",create_panel:"Vytvo\u0159it panel",create_role:"Vytvo\u0159it roli",create_user:"Vytvo\u0159it u\u017Eivatele",delete_panel:"Odstranit panel",create_webhook:"Vytvo\u0159it webhook",invite_users:"Pozvat u\u017Eivatele",invite:"Pozvat",email_already_invited:'E-mail "{email}" ji\u017E byl pozv\xE1n',subject:"P\u0159edm\u011Bt",inbox:"Doru\u010Den\xE9",emails:"E-mail",connection_excellent:"Vynikaj\xEDc\xED p\u0159ipojen\xED",connection_good:"Dobr\xE9 p\u0159ipojen\xED",connection_fair:"Zhor\u0161en\xE9 p\u0159ipojen\xED",connection_poor:"\u0160patn\xE9 p\u0159ipojen\xED",primary:"Prim\xE1rn\xED",rename_folder:"P\u0159ejmenovat slo\u017Eku",delete_folder:"Smazat slo\u017Eku",prefix:"Prefix",suffix:"P\u0159\xEDpona",reset_bookmark:"Obnovit z\xE1lo\u017Eku",rename_bookmark:"P\u0159ejmenovat z\xE1lo\u017Eku",update_bookmark:"Aktualizovat z\xE1lo\u017Eku",delete_bookmark:"Smazat z\xE1lo\u017Eku",delete_bookmark_copy:'Jste si jisti, \u017Ee chcete odstranit z\xE1lo\u017Eku "{bookmark}"? Tuto akci nelze vr\xE1tit zp\u011Bt.',logoutReason:{SIGN_OUT:"Odhl\xE1\u0161en",SESSION_EXPIRED:"Relace vypr\u0161ela"},public_label:"Ve\u0159ejn\xFD",public_description:"Ur\u010Duje, kter\xE1 API data jsou dostupn\xE1 bez ov\u011B\u0159ov\xE1n\xED.",not_allowed:"Nepovoleno",directus_version:"Verze Directusu",node_version:"Node verze",node_uptime:"Doba provozu Node",os_type:"Typ OS",os_version:"Verze OS",os_uptime:"Dobra provozu opera\u010Dn\xEDho syst\xE9mu",os_totalmem:"Pam\u011Bt OS",archive:"Archivovat",archive_confirm:"Skute\u010Dn\u011B chcete tuto polo\u017Eku archivovat?",archive_confirm_count:"Nevybr\xE1ny \u017E\xE1dn\xE9 polo\u017Eky | Jste si jisti, \u017Ee chcete archivovat tuto polo\u017Eku? | Jste si jisti, \u017Ee chcete archivovat tyto {count} polo\u017Eky?",reset_system_permissions_to:"Resetovat syst\xE9mov\xE1 opr\xE1vn\u011Bn\xED na:",reset_system_permissions_copy:"Tato akce p\u0159ep\xED\u0161e libovoln\xE1 vlastn\xED opr\xE1vn\u011Bn\xED, kter\xE1 jste mo\u017En\xE1 pou\u017Eili na kolekce syst\xE9mu. Jste si jisti?",the_following_are_minimum_permissions:'N\xE1sleduj\xEDc\xED opr\xE1vn\u011Bn\xED jsou vy\u017Eadov\xE1na v p\u0159\xEDpad\u011B, \u017Ee je povolen "P\u0159\xEDstup k aplikaci". M\u016F\u017Eete roz\u0161\xED\u0159it opr\xE1vn\u011Bn\xED nad tuto \xFArove\u0148, ale ne n\xED\u017Ee.',recommended_defaults:"Doporu\u010Den\xE9 v\xFDchoz\xED hodnoty",unarchive:"Vyjmout z archivu",unarchive_confirm:"Skute\u010Dn\u011B chcete tuto polo\u017Eku obnovit z archivu?",nested_files_folders_will_be_moved:"Vno\u0159en\xE9 soubory a slo\u017Eky budou p\u0159esunuty o \xFArove\u0148 v\xFD\u0161e.",unknown_validation_errors:"Do\u0161lo k chyb\xE1m validace pro n\xE1sleduj\xEDc\xED skryt\xE1 pole:",validationError:{eq:"Hodnota mus\xED b\xFDt {valid}",neq:"Hodnota nem\u016F\u017Ee b\xFDt {invalid}",in:"Hodnota mus\xED b\xFDt jedna z {valid}",nin:"Hodnota nem\u016F\u017Ee b\xFDt jedna z {invalid}",contains:"Hodnota mus\xED obsahovat {substring}",ncontains:"Hodnota nesm\xED obsahovat {substring}",gt:"Hodnota mus\xED b\xFDt v\u011Bt\u0161\xED ne\u017E {valid}",gte:"Hodnota mus\xED b\xFDt v\u011Bt\u0161\xED nebo rovna {valid}",lt:"Hodnota mus\xED b\xFDt men\u0161\xED ne\u017E {valid}",lte:"Hodnota mus\xED b\xFDt men\u0161\xED nebo rovna {valid}",empty:"Hodnota mus\xED b\xFDt pr\xE1zdn\xE1",nempty:"Hodnota nesm\xED b\xFDt pr\xE1zdn\xE1",null:"Hodnota mus\xED b\xFDt null",nnull:"Hodnota nesm\xED b\xFDt null",required:"Hodnota je povinn\xE1",unique:"Hodnota mus\xED b\xFDt unik\xE1tn\xED",regex:"Hodnota nem\xE1 spr\xE1vn\xFD form\xE1t"},all_access:"Ve\u0161ker\xFD p\u0159\xEDstup",no_access:"\u017D\xE1dn\xFD p\u0159\xEDstup",use_custom:"Pou\u017E\xEDt vlastn\xED",nullable:"Nulovateln\xFD",allow_null_value:"Povolit NULL hodnotu",allow_multiple:"Povolit v\xEDce",allow_multiple_to_be_open:"Povolit v\xEDce otev\u0159en\xFDch",enter_value_to_replace_nulls:"Zadejte novou hodnotu, kter\xE1 nahrad\xED v\u0161echny NULL, kter\xE9 jsou aktu\xE1ln\u011B v tomto poli.",field_standard:"Standardn\xED",field_m2o:"M2O vazba",field_m2a:"M2A vazba",field_o2m:"O2M vazba",field_m2m:"M2M vazba",item_permissions:"Opr\xE1vn\u011Bn\xED polo\u017Eky",field_permissions:"Opr\xE1vn\u011Bn\xED pole",field_validation:"Validace pole",permissions_for_role:"Polo\u017Eky, kter\xE9 {role} role m\u016F\u017Ee {action}.",fields_for_role:"Pole, kter\xE9 {role} role m\u016F\u017Ee {action}.",hide_field_on_detail:"Skr\xFDt pole v detailu",show_field_on_detail:"Zobrazit pole v detailu",delete_field:"Smazat pole",fields_and_layout:"Pole a rozlo\u017Een\xED",field_create_success:'Vytvo\u0159eno pole: "{field}"',field_update_success:'Aktualizov\xE1no pole: "{field}"',duplicate_where_to:"Kam chcete zkop\xEDrovat toto pole?",language:"Jazyk",global:"Glob\xE1ln\xED",admins_have_all_permissions:"Administr\xE1to\u0159i maj\xED v\u0161echna opr\xE1vn\u011Bn\xED",camera:"Fotoapar\xE1t",exposure:"Expozice",shutter:"Z\xE1v\u011Brka",iso:"ISO",focal_length:"Ohniskov\xE1 vzd\xE1lenost",schema_setup_key:"N\xE1zev datab\xE1zov\xE9ho sloupce tohoto pole a API kl\xED\u010D",create_field:"Vytvo\u0159it pole",creating_new_field:"Nov\xE9 pole ({collection})",field_in_collection:"{field} ({collection})",reset_page_preferences:"Obnovit p\u0159edvolby str\xE1nky",hidden_field:"Skryt\xE9 pole",hidden_on_detail:"Skryt\xE9 v detailu",disabled_editing_value:"Zak\xE1zat \xFApravy hodnoty",key:"Kl\xED\u010D",alias:"Alias",date:"Datum",text:"Text",auto_generate:"Auto-generov\xE1n\xED",new_field:"Nov\xE9 pole",add_note:"P\u0159idat u\u017Eite\u010Dnou pozn\xE1mku pro u\u017Eivatele...",default_value:"V\xFDchoz\xED hodnota",next:"Dal\u0161\xED",note:"Pozn\xE1mka",length:"D\xE9lka",readonly:"Pouze pro \u010Dten\xED",unique:"Unik\xE1tn\xED",primary_key:"Prim\xE1rn\xED kl\xED\u010D",notifications:"Notifikace",page_not_found:"Str\xE1nka nenalezena",page_not_found_body:"Hledan\xE1 str\xE1nka nebyla nalezena.",title:"N\xE1zev",leave_comment:"Napsat koment\xE1\u0159...",this_collection:"Tato kategorie",related_collection:"Souvisej\xEDc\xED kategorie",format:"Form\xE1t",submit:"Potvrdit",move_to_folder:"P\u0159esunout do slo\u017Eky",months:{january:"Leden",february:"\xDAnor",march:"B\u0159ezen",april:"Duben",may:"Kv\u011Bten",june:"\u010Cerven",july:"\u010Cervenec",august:"Srpen",september:"Z\xE1\u0159\xED",october:"\u0158\xEDjen",november:"Listopad",december:"Prosinec"},modified:"Upraveno",checksum:"Kontroln\xED sou\u010Det",owner:"Vlastn\xEDk",folder:"Slo\u017Eka",download:"St\xE1hnout",download_file:"St\xE1hnout soubor",name:"Jm\xE9no",type:"Typ",created_by:"Vytvo\u0159il/-a",created_on:"Vytvo\u0159eno",save_and_stay:"Ulo\u017Eit a z\u016Fstat",save_as_copy:"Ulo\u017Eit jako kopii",comments:"Koment\xE1\u0159e",no_comments:"Zat\xEDm bez koment\xE1\u0159\u016F",request_feature:"Po\u017Eadavek na funkci",item_count:"Bez v\xFDsledk\u016F | Jeden v\xFDsledek | V\xFDsledk\u016F: {count}",create_collection:"Vytvo\u0159it kategorii",copy:"Kop\xEDrovat",users:"U\u017Eivatel\xE9",activity:"Aktivita",action:"Akce",ip_address:"IP adresa",user_agent:"U\u017Eivatelsk\xFD agent",webhooks:"Webhooky",field_width:"\u0160\xED\u0159ka pole",user_directory:"U\u017Eivatel\xE9",documentation:"Dokumentace",duration:"Trv\xE1n\xED",modified_on:"Upraveno",status:"Stav",remove:"Odebrat",errors:{NOT_NULL_VIOLATION:"Hodnota nesm\xED b\xFDt null"},bookmarks:"Z\xE1lo\u017Eky",back:"Zp\u011Bt",all_users:"V\u0161ichni u\u017Eivatel\xE9",icon_left:"Ikona vlevo",color:"Barva",advanced_filter:"Roz\u0161\xED\u0159en\xFD filtr",delete_advanced_filter:"Smazat filtr",operators:{lt:"M\xE9n\u011B ne\u017E",gt:"V\u011Bt\u0161\xED ne\u017E",lte:"M\xE9n\u011B nebo rovno ne\u017E",gte:"V\u011Bt\u0161\xED nebo rovno ne\u017E",contains:"Obsahuje",ncontains:"Neobsahuje",empty:"Je pr\xE1zn\xE9"},loading:"Nahr\xE1v\xE1m...",upload_file:"Nahr\xE1t soubor",upload_file_indeterminate:"Nahr\xE1v\xE1m soubor...",upload_file_success:"Soubor nahr\xE1n",upload_files_indeterminate:"Nahr\xE1v\xE1m soubory {done}/{total}",upload_files_success:"Nahr\xE1no {count} soubor\u016F",drag_file_here:"P\u0159et\xE1hn\u011Bte sem soubor",layout_options:"Mo\u017Enosti rozvr\u017Een\xED",value_unique:"Hodnota mus\xED b\xFDt unik\xE1tn\xED",all_files:"V\u0161echny soubory",my_files:"M\xE9 soubory",recent_files:"Ned\xE1vn\xE9 soubory",create_folder:"Vytvo\u0159it slo\u017Eku",folder_name:"N\xE1zev slo\u017Eky...",add_file:"P\u0159idat soubor",replace_file:"Nahradit soubor",no_results:"Bez v\xFDsledk\u016F",role:"Role",user:"U\u017Eivatel",create:"Vyto\u0159it",on_update:"P\u0159i \xFAprav\u011B",read:"\u010C\xEDst",update:"\xDApravy",select_fields:"Vybrat pole",width:"\u0160\xED\u0159ka",height:"V\xFD\u0161ka",wysiwyg_options:{copy:"Kop\xEDrovat",cut:"Vyjmout",paste:"Vlo\u017Eit",fontselect:"V\xFDb\u011Br p\xEDsma",fontsizeselect:"V\xFDb\u011Br velikosti p\xEDsma",remove:"Odebrat",table:"Tabulka"},choices:"Volby",deselect:"Zru\u0161it v\xFDb\u011Br",editing_in_batch:"Hromadn\xE1 \xFAprava {count} polo\u017Eek",settings_permissions:"Role a opr\xE1vn\u011Bn\xED",settings_project:"Nastaven\xED projektu",settings_webhooks:"Webhooky",layout:"Rozvr\u017Een\xED",layout_preview:"N\xE1hled rozvr\u017Een\xED",unsaved_changes:"Neulo\u017Een\xE9 zm\u011Bny",unsaved_changes_copy:"Jste si jisti, \u017Ee chcete opustit tuto str\xE1nku?",discard_changes:"Ano, odej\xEDt bez ulo\u017Een\xED",keep_editing:"Ne, vr\xE1tit se k \xFAprav\xE1m",add_new:"P\u0159idat nov\xFD",all:"V\u0161e",batch_delete_confirm:"Nebyly vybr\xE1ny \u017E\xE1dn\xE9 polo\u017Eky | Opravdu chcete smazat tuto polo\u017Eku? Operace je nevratn\xE1. | Jste si jist(a) smaz\xE1n\xEDm t\u011Bchto {count} polo\u017Eek? Operace je nevratn\xE1.",cancel:"Zru\u0161it",collection:"Kategorie",collections:"Kategorie",fields:{directus_activity:{item:"Prim\xE1rn\xED kl\xED\u010D polo\u017Eky",action:"Akce",collection:"Kategorie",timestamp:"Akce podle",user:"Akce podle",comment:"Koment\xE1\u0159",user_agent:"U\u017Eivatelsk\xFD agent",ip:"IP adresa"},directus_collections:{collection:"Kategorie",icon:"Ikona",note:"Pozn\xE1mka",color:"Barva",hidden:"Skryt\xE9"},directus_files:{title:"N\xE1zev",description:"Popis",tags:"\u0160t\xEDtky",location:"Poloha",metadata:"Metadata",filesize:"Velikost souboru",modified_by:"Upravil/-a",modified_on:"Upraveno",created_on:"Vytvo\u0159eno",created_by:"Vytvo\u0159il/-a",embed:"Vlo\u017Een\xED",uploaded_by:"Nahr\xE1no od",folder:"Slo\u017Eka",width:"\u0160\xED\u0159ka",uploaded_on:"Nahr\xE1no",height:"V\xFD\u0161ka",duration:"Trv\xE1n\xED"},directus_users:{first_name:"K\u0159estn\xED jm\xE9no",last_name:"P\u0159\xEDjmen\xED",email:"E-mail",password:"Heslo",avatar:"Avatar",location:"Poloha",title:"N\xE1zev",description:"Popis",tags:"\u0160t\xEDtky",language:"Jazyk",theme:"T\xE9ma",tfa_secret:"Dvouf\xE1zov\xE9 ov\u011B\u0159en\xED",status:"Stav",role:"Role"},directus_settings:{project_name:"N\xE1zev projektu",module_bar:"Panel modul\u016F"},directus_shares:{name:"Jm\xE9no",role:"Role",password:"Heslo"},directus_fields:{note:"Pozn\xE1mka",hidden:"Skryt\xE9",translation:"P\u0159eklady n\xE1zvu pol\xED"},directus_roles:{name:"Jm\xE9no role",description:"Popis"},directus_webhooks:{name:"Jm\xE9no",status:"Stav",value:"Hodnota",collections:"Kategorie"}},field_options:{directus_activity:{create:"Vyto\u0159it",update:"\xDApravy"},directus_collections:{language:"Jazyk",translation:"P\u0159eklad",archive_divider:"Archivovat"},directus_roles:{fields:{icon_name:"Ikona",name_name:"Jm\xE9no"},collections_name:"Kategorie"},directus_webhooks:{actions_create:"Vyto\u0159it",actions_update:"\xDApravy",headers:{value:"Hodnota"}}},comment:"Koment\xE1\u0159",delete_field_are_you_sure:'Opravdu chcete smazat pole "{field}"? Tuto akci nelze vr\xE1tit zp\u011Bt.',description:"Popis",done:"Hotovo",duplicate:"Duplikovat",limit:"Limit",email:"E-mail",embed:"Vlo\u017Een\xED",field:"Pole | Pole",file:"Soubor",file_library:"Slo\u017Eka soubor\u016F",forgot_password:"Zapomenut\xE9 heslo",hidden:"Skryt\xE9",icon:"Ikona",info:"Informace",junction_collection:"Spojovac\xED kategorie",latency:"Latence",login:"P\u0159ihl\xE1sit",my_activity:"Moje aktivita",not_authenticated:"Neov\u011B\u0159en\xE1/-\xFD",options:"Mo\u017Enosti",otp:"Jednor\xE1zov\xE9 heslo",password:"Heslo",permissions:"Opr\xE1vn\u011Bn\xED",relationship:"Vztah",reset:"Resetovat",reset_password:"Obnovit heslo",revert:"Vr\xE1tit",save:"Ulo\u017Eit",schema:"Sch\xE9ma",search:"Vyhledat",select_existing:"Vybrat z ulo\u017Een\xFDch",select_interface:"Vyberte rozhran\xED",settings:"Nastaven\xED",sign_in:"P\u0159ihl\xE1sit se",sign_out:"Odhl\xE1sit se",sign_out_confirm:"Chcete se odhl\xE1sit?",something_went_wrong:"N\u011Bco se pokazilo.",sort_direction:"Sm\u011Br \u0159azen\xED",translation:"P\u0159eklad",value:"Hodnota",interfaces:{filter:{all:"V\u0161e"},"presentation-links":{primary:"Prim\xE1rn\xED"},"system-collection":{collection:"Kategorie"},"system-collections":{collections:"Kategorie"},"select-color":{color:"Barva"},file:{file:"Soubor",description:"Vyberte nebo nahrajte soubor"},files:{files:"Soubory",description:"Vyberte nebo nahrajte soubory"},"select-icon":{icon:"Ikona"},"system-folder":{folder:"Slo\u017Eka"},tags:{tags:"\u0160t\xEDtky"},user:{user:"U\u017Eivatel"}},displays:{collection:{collection:"Kategorie"},color:{color:"Barva"},datetime:{format:"Form\xE1t"},file:{file:"Soubor",description:"Zobrazit soubory"},filesize:{filesize:"Velikost souboru"},"formatted-value":{format:"Form\xE1t",prefix:"Prefix",suffix:"P\u0159\xEDpona",color:"Barva",icon:"Ikona",text:"Text"},icon:{icon:"Ikona"},user:{user:"U\u017Eivatel",avatar:"Avatar",name:"Jm\xE9no",both:"V\u0161e"}},layouts:{cards:{cards:"Karty",title:"N\xE1zev"},tabular:{tabular:"Tabulka",fields:"Sloupce",spacing:"Odsazen\xED",comfortable:"Komfortn\xED",compact:"Kompaktn\xED",cozy:"Pohodln\xFD"}}},o=e.identifier,a=e.avatar,t=e.default_provider,r=e.published,i=e.draft,n=e.archived,l=e.modules,s=e.module_bar,_=e.tile_size,d=e.edit_field,v=e.conditions,c=e.maps,u=e.item_creation,m=e.item_revision,p=e.enter_a_name,f=e.duplicate_field,h=e.half_width,k=e.full_width,y=e.group,b=e.and,g=e.or,w=e.fill_width,z=e.field_name_translations,P=e.enter_password_to_enable_tfa,j=e.add_field,V=e.role_name,N=e.branch,S=e.leaf,x=e.indeterminate,H=e.edit_collection,O=e.exclusive,K=e.children,q=e.db_only_click_to_configure,A=e.show_archived_items,U=e.edited,I=e.required,J=e.required_for_app_access,Z=e.requires_value,D=e.create_preset,T=e.create_panel,M=e.create_role,R=e.create_user,E=e.delete_panel,L=e.create_webhook,B=e.invite_users,F=e.invite,G=e.email_already_invited,W=e.subject,C=e.inbox,X=e.emails,Q=e.connection_excellent,Y=e.connection_good,$=e.connection_fair,ee=e.connection_poor,oe=e.primary,ae=e.rename_folder,te=e.delete_folder,re=e.prefix,ie=e.suffix,ne=e.reset_bookmark,le=e.rename_bookmark,se=e.update_bookmark,_e=e.delete_bookmark,de=e.delete_bookmark_copy,ve=e.logoutReason,ce=e.public_label,ue=e.public_description,me=e.not_allowed,pe=e.directus_version,fe=e.node_version,he=e.node_uptime,ke=e.os_type,ye=e.os_version,be=e.os_uptime,ge=e.os_totalmem,we=e.archive,ze=e.archive_confirm,Pe=e.archive_confirm_count,je=e.reset_system_permissions_to,Ve=e.reset_system_permissions_copy,Ne=e.the_following_are_minimum_permissions,Se=e.recommended_defaults,xe=e.unarchive,He=e.unarchive_confirm,Oe=e.nested_files_folders_will_be_moved,Ke=e.unknown_validation_errors,qe=e.validationError,Ae=e.all_access,Ue=e.no_access,Ie=e.use_custom,Je=e.nullable,Ze=e.allow_null_value,De=e.allow_multiple,Te=e.allow_multiple_to_be_open,Me=e.enter_value_to_replace_nulls,Re=e.field_standard,Ee=e.field_m2o,Le=e.field_m2a,Be=e.field_o2m,Fe=e.field_m2m,Ge=e.item_permissions,We=e.field_permissions,Ce=e.field_validation,Xe=e.permissions_for_role,Qe=e.fields_for_role,Ye=e.hide_field_on_detail,$e=e.show_field_on_detail,eo=e.delete_field,oo=e.fields_and_layout,ao=e.field_create_success,to=e.field_update_success,ro=e.duplicate_where_to,io=e.language,no=e.global,lo=e.admins_have_all_permissions,so=e.camera,_o=e.exposure,vo=e.shutter,co=e.iso,uo=e.focal_length,mo=e.schema_setup_key,po=e.create_field,fo=e.creating_new_field,ho=e.field_in_collection,ko=e.reset_page_preferences,yo=e.hidden_field,bo=e.hidden_on_detail,go=e.disabled_editing_value,wo=e.key,zo=e.alias,Po=e.date,jo=e.text,Vo=e.auto_generate,No=e.new_field,So=e.add_note,xo=e.default_value,Ho=e.next,Oo=e.note,Ko=e.length,qo=e.readonly,Ao=e.unique,Uo=e.primary_key,Io=e.notifications,Jo=e.page_not_found,Zo=e.page_not_found_body,Do=e.title,To=e.leave_comment,Mo=e.this_collection,Ro=e.related_collection,Eo=e.format,Lo=e.submit,Bo=e.move_to_folder,Fo=e.months,Go=e.modified,Wo=e.checksum,Co=e.owner,Xo=e.folder,Qo=e.download,Yo=e.download_file,$o=e.name,ea=e.type,oa=e.created_by,aa=e.created_on,ta=e.save_and_stay,ra=e.save_as_copy,ia=e.comments,na=e.no_comments,la=e.request_feature,sa=e.item_count,_a=e.create_collection,da=e.copy,va=e.users,ca=e.activity,ua=e.action,ma=e.ip_address,pa=e.user_agent,fa=e.webhooks,ha=e.field_width,ka=e.user_directory,ya=e.documentation,ba=e.duration,ga=e.modified_on,wa=e.status,za=e.remove,Pa=e.errors,ja=e.bookmarks,Va=e.back,Na=e.all_users,Sa=e.icon_left,xa=e.color,Ha=e.advanced_filter,Oa=e.delete_advanced_filter,Ka=e.operators,qa=e.loading,Aa=e.upload_file,Ua=e.upload_file_indeterminate,Ia=e.upload_file_success,Ja=e.upload_files_indeterminate,Za=e.upload_files_success,Da=e.drag_file_here,Ta=e.layout_options,Ma=e.value_unique,Ra=e.all_files,Ea=e.my_files,La=e.recent_files,Ba=e.create_folder,Fa=e.folder_name,Ga=e.add_file,Wa=e.replace_file,Ca=e.no_results,Xa=e.role,Qa=e.user,Ya=e.create,$a=e.on_update,et=e.read,ot=e.update,at=e.select_fields,tt=e.width,rt=e.height,it=e.wysiwyg_options,nt=e.choices,lt=e.deselect,st=e.editing_in_batch,_t=e.settings_permissions,dt=e.settings_project,vt=e.settings_webhooks,ct=e.layout,ut=e.layout_preview,mt=e.unsaved_changes,pt=e.unsaved_changes_copy,ft=e.discard_changes,ht=e.keep_editing,kt=e.add_new,yt=e.all,bt=e.batch_delete_confirm,gt=e.cancel,wt=e.collection,zt=e.collections,Pt=e.fields,jt=e.field_options,Vt=e.comment,Nt=e.delete_field_are_you_sure,St=e.description,xt=e.done,Ht=e.duplicate,Ot=e.limit,Kt=e.email,qt=e.embed,At=e.field,Ut=e.file,It=e.file_library,Jt=e.forgot_password,Zt=e.hidden,Dt=e.icon,Tt=e.info,Mt=e.junction_collection,Rt=e.latency,Et=e.login,Lt=e.my_activity,Bt=e.not_authenticated,Ft=e.options,Gt=e.otp,Wt=e.password,Ct=e.permissions,Xt=e.relationship,Qt=e.reset,Yt=e.reset_password,$t=e.revert,er=e.save,or=e.schema,ar=e.search,tr=e.select_existing,rr=e.select_interface,ir=e.settings,nr=e.sign_in,lr=e.sign_out,sr=e.sign_out_confirm,_r=e.something_went_wrong,dr=e.sort_direction,vr=e.translation,cr=e.value,ur=e.interfaces,mr=e.displays,pr=e.layouts;export{ua as action,ca as activity,j as add_field,Ga as add_file,kt as add_new,So as add_note,lo as admins_have_all_permissions,Ha as advanced_filter,zo as alias,yt as all,Ae as all_access,Ra as all_files,Na as all_users,De as allow_multiple,Te as allow_multiple_to_be_open,Ze as allow_null_value,b as and,we as archive,ze as archive_confirm,Pe as archive_confirm_count,n as archived,Vo as auto_generate,a as avatar,Va as back,bt as batch_delete_confirm,ja as bookmarks,N as branch,so as camera,gt as cancel,Wo as checksum,K as children,nt as choices,wt as collection,zt as collections,xa as color,Vt as comment,ia as comments,v as conditions,Q as connection_excellent,$ as connection_fair,Y as connection_good,ee as connection_poor,da as copy,Ya as create,_a as create_collection,po as create_field,Ba as create_folder,T as create_panel,D as create_preset,M as create_role,R as create_user,L as create_webhook,oa as created_by,aa as created_on,fo as creating_new_field,Po as date,q as db_only_click_to_configure,e as default,t as default_provider,xo as default_value,Oa as delete_advanced_filter,_e as delete_bookmark,de as delete_bookmark_copy,eo as delete_field,Nt as delete_field_are_you_sure,te as delete_folder,E as delete_panel,St as description,lt as deselect,pe as directus_version,go as disabled_editing_value,ft as discard_changes,mr as displays,ya as documentation,xt as done,Qo as download,Yo as download_file,i as draft,Da as drag_file_here,Ht as duplicate,f as duplicate_field,ro as duplicate_where_to,ba as duration,H as edit_collection,d as edit_field,U as edited,st as editing_in_batch,Kt as email,G as email_already_invited,X as emails,qt as embed,p as enter_a_name,P as enter_password_to_enable_tfa,Me as enter_value_to_replace_nulls,Pa as errors,O as exclusive,_o as exposure,At as field,ao as field_create_success,ho as field_in_collection,Le as field_m2a,Fe as field_m2m,Ee as field_m2o,z as field_name_translations,Be as field_o2m,jt as field_options,We as field_permissions,Re as field_standard,to as field_update_success,Ce as field_validation,ha as field_width,Pt as fields,oo as fields_and_layout,Qe as fields_for_role,Ut as file,It as file_library,w as fill_width,uo as focal_length,Xo as folder,Fa as folder_name,Jt as forgot_password,Eo as format,k as full_width,no as global,y as group,h as half_width,rt as height,Zt as hidden,yo as hidden_field,bo as hidden_on_detail,Ye as hide_field_on_detail,Dt as icon,Sa as icon_left,o as identifier,C as inbox,x as indeterminate,Tt as info,ur as interfaces,F as invite,B as invite_users,ma as ip_address,co as iso,sa as item_count,u as item_creation,Ge as item_permissions,m as item_revision,Mt as junction_collection,ht as keep_editing,wo as key,io as language,Rt as latency,ct as layout,Ta as layout_options,ut as layout_preview,pr as layouts,S as leaf,To as leave_comment,Ko as length,Ot as limit,qa as loading,Et as login,ve as logoutReason,c as maps,Go as modified,ga as modified_on,s as module_bar,l as modules,Fo as months,Bo as move_to_folder,Lt as my_activity,Ea as my_files,$o as name,Oe as nested_files_folders_will_be_moved,No as new_field,Ho as next,Ue as no_access,na as no_comments,Ca as no_results,he as node_uptime,fe as node_version,me as not_allowed,Bt as not_authenticated,Oo as note,Io as notifications,Je as nullable,$a as on_update,Ka as operators,Ft as options,g as or,ge as os_totalmem,ke as os_type,be as os_uptime,ye as os_version,Gt as otp,Co as owner,Jo as page_not_found,Zo as page_not_found_body,Wt as password,Ct as permissions,Xe as permissions_for_role,re as prefix,oe as primary,Uo as primary_key,ue as public_description,ce as public_label,r as published,et as read,qo as readonly,La as recent_files,Se as recommended_defaults,Ro as related_collection,Xt as relationship,za as remove,le as rename_bookmark,ae as rename_folder,Wa as replace_file,la as request_feature,I as required,J as required_for_app_access,Z as requires_value,Qt as reset,ne as reset_bookmark,ko as reset_page_preferences,Yt as reset_password,Ve as reset_system_permissions_copy,je as reset_system_permissions_to,$t as revert,Xa as role,V as role_name,er as save,ta as save_and_stay,ra as save_as_copy,or as schema,mo as schema_setup_key,ar as search,tr as select_existing,at as select_fields,rr as select_interface,ir as settings,_t as settings_permissions,dt as settings_project,vt as settings_webhooks,A as show_archived_items,$e as show_field_on_detail,vo as shutter,nr as sign_in,lr as sign_out,sr as sign_out_confirm,_r as something_went_wrong,dr as sort_direction,wa as status,W as subject,Lo as submit,ie as suffix,jo as text,Ne as the_following_are_minimum_permissions,Mo as this_collection,_ as tile_size,Do as title,vr as translation,ea as type,xe as unarchive,He as unarchive_confirm,Ao as unique,Ke as unknown_validation_errors,mt as unsaved_changes,pt as unsaved_changes_copy,ot as update,se as update_bookmark,Aa as upload_file,Ua as upload_file_indeterminate,Ia as upload_file_success,Ja as upload_files_indeterminate,Za as upload_files_success,Ie as use_custom,Qa as user,pa as user_agent,ka as user_directory,va as users,qe as validationError,cr as value,Ma as value_unique,fa as webhooks,tt as width,it as wysiwyg_options};
@@ -1 +0,0 @@
1
- function c(t,a){return a.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(r){if(r!=="default"&&!(r in t)){var o=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,o.get?o:{enumerable:!0,get:function(){return e[r]}})}})}),Object.freeze(t)}var n={};Object.defineProperty(n,"__esModule",{value:!0});var u={code:"cs",week:{dow:1,doy:4},buttonText:{prev:"D\u0159\xEDve",next:"Pozd\u011Bji",today:"Nyn\xED",month:"M\u011Bs\xEDc",week:"T\xFDden",day:"Den",list:"Agenda"},weekText:"T\xFDd",allDayText:"Cel\xFD den",moreLinkText:function(t){return"+dal\u0161\xED: "+t},noEventsText:"\u017D\xE1dn\xE9 akce k zobrazen\xED"},d=n.default=u,f=Object.freeze(c({__proto__:null,[Symbol.toStringTag]:"Module",default:d},[n]));export{f as c};