@directus/app 9.9.1 → 9.11.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 (383) hide show
  1. package/dist/assets/{@directus_extensions-sdk.b16f3f9c.entry.js → @directus_extensions-sdk.a9b8b128.entry.js} +1 -1
  2. package/dist/assets/{accounts.5e4228ef.js → accounts.66ec28ae.js} +1 -1
  3. package/dist/assets/{active-line.c47b5f35.js → active-line.b401085a.js} +1 -1
  4. package/dist/assets/{activity-log.05fbb6b2.js → activity-log.f155a932.js} +1 -1
  5. package/dist/assets/{activity.9ac0d92d.js → activity.fda68c16.js} +1 -1
  6. package/dist/assets/af-ZA.ea7e1890.js +1 -0
  7. package/dist/assets/{apl.44b147a4.js → apl.ad4c850a.js} +1 -1
  8. package/dist/assets/ar-SA.3eb89e83.js +1 -0
  9. package/dist/assets/{asciiarmor.d9d1a74a.js → asciiarmor.1533a799.js} +1 -1
  10. package/dist/assets/{asn.1.0bedcc18.js → asn.1.9766c944.js} +1 -1
  11. package/dist/assets/{asterisk.9e1e2b5c.js → asterisk.340bcc6f.js} +1 -1
  12. package/dist/assets/{authentication.f55a38e7.js → authentication.51ceac0b.js} +2 -2
  13. package/dist/assets/{autorefresh.bb3b714c.js → autorefresh.597402d2.js} +1 -1
  14. package/dist/assets/{aws.1b5dfcb9.js → aws.36b50ff7.js} +1 -1
  15. package/dist/assets/{backing-directus.6688e1d8.js → backing-directus.7441049e.js} +1 -1
  16. package/dist/assets/bg-BG.3cee3da1.js +2 -0
  17. package/dist/assets/{brainfuck.9f0e8180.js → brainfuck.5031fbd8.js} +1 -1
  18. package/dist/assets/ca-ES.34596b68.js +1 -0
  19. package/dist/assets/{cli.7b4e2953.js → cli.65e75a12.js} +1 -1
  20. package/dist/assets/{cli.0ca53593.js → cli.89cdebcb.js} +3 -3
  21. package/dist/assets/{clike.99cd0401.js → clike.2014b970.js} +1 -1
  22. package/dist/assets/{clojure.1faf0a0a.js → clojure.49bcb61f.js} +1 -1
  23. package/dist/assets/{cloudron.e59a593d.js → cloudron.3050bd55.js} +1 -1
  24. package/dist/assets/{cmake.cfb44e0d.js → cmake.6206ebe0.js} +1 -1
  25. package/dist/assets/{cobol.94e4970e.js → cobol.bf2929ad.js} +1 -1
  26. package/dist/assets/{codebase-overview.2a6823b1.js → codebase-overview.d34cee5a.js} +1 -1
  27. package/dist/assets/{coffeescript.c48d036c.js → coffeescript.683a9493.js} +1 -1
  28. package/dist/assets/collections.2aabdde0.js +2 -0
  29. package/dist/assets/{collections.315f4d8c.js → collections.6586cf2b.js} +1 -1
  30. package/dist/assets/{commonlisp.38e77db1.js → commonlisp.78d5ea31.js} +1 -1
  31. package/dist/assets/config-options.64c3d803.js +138 -0
  32. package/dist/assets/content.f88a75fa.js +1 -0
  33. package/dist/assets/{creating-extensions.0c8abfa1.js → creating-extensions.06da88d4.js} +2 -2
  34. package/dist/assets/{crystal.797d41f8.js → crystal.0b111653.js} +1 -1
  35. package/dist/assets/cs-CZ.0a7d946d.js +1 -0
  36. package/dist/assets/{css.4143f596.js → css.9ca6545e.js} +1 -1
  37. package/dist/assets/{cypher.b8b073de.js → cypher.491ccd0b.js} +1 -1
  38. package/dist/assets/{d.1d4ff6fe.js → d.b4a0bf85.js} +1 -1
  39. package/dist/assets/{da-DK.6750ac06.js → da-DK.eafe971e.js} +1 -1
  40. package/dist/assets/{dart.09b87006.js → dart.64a49425.js} +1 -1
  41. package/dist/assets/data-model.5a1776e0.js +1 -0
  42. package/dist/assets/data-sharing.26fa9c73.js +1 -0
  43. package/dist/assets/de-DE.e7decfad.js +1 -0
  44. package/dist/assets/{diff.5151f967.js → diff.9b4eb42c.js} +1 -1
  45. package/dist/assets/{digitalocean-app-platform.05c4c314.js → digitalocean-app-platform.1685e8e9.js} +1 -1
  46. package/dist/assets/display-templates.688ccdf0.js +1 -0
  47. package/dist/assets/{displays.f0798610.js → displays.33667d66.js} +1 -1
  48. package/dist/assets/{django.25ec1935.js → django.e92ce65a.js} +1 -1
  49. package/dist/assets/{docker.50e94433.js → docker.a5acf639.js} +1 -1
  50. package/dist/assets/{dockerfile.cabedb31.js → dockerfile.800e464f.js} +1 -1
  51. package/dist/assets/{documentation.1ed9f7a2.js → documentation.75e1dbe7.js} +1 -1
  52. package/dist/assets/{dtd.82e83b59.js → dtd.d899ff4d.js} +1 -1
  53. package/dist/assets/{dylan.9c51410f.js → dylan.3bf494f9.js} +1 -1
  54. package/dist/assets/{ebnf.ae5c413a.js → ebnf.d3953051.js} +1 -1
  55. package/dist/assets/{ecl.c4cb88ea.js → ecl.0272e6d2.js} +1 -1
  56. package/dist/assets/{eiffel.353baac9.js → eiffel.2b68c9d3.js} +1 -1
  57. package/dist/assets/el-GR.6cae7a1c.js +1 -0
  58. package/dist/assets/{elm.bd4624df.js → elm.818f0dcc.js} +1 -1
  59. package/dist/assets/{email-templates.f9a5e9df.js → email-templates.717f473c.js} +2 -2
  60. package/dist/assets/en-GB.a1107f0b.js +1 -0
  61. package/dist/assets/{endpoints.33794f8d.js → endpoints.38ff408f.js} +2 -2
  62. package/dist/assets/{erlang.9dbc839d.js → erlang.5656eb79.js} +1 -1
  63. package/dist/assets/es-419.39bb29ff.js +1 -0
  64. package/dist/assets/es-CL.25194b00.js +1 -0
  65. package/dist/assets/es-ES.4d20beff.js +1 -0
  66. package/dist/assets/{extensions.de24a384.js → extensions.1c445bc7.js} +1 -1
  67. package/dist/assets/fa-IR.117c6e4d.js +1 -0
  68. package/dist/assets/{factor.c11b1d46.js → factor.741e009d.js} +1 -1
  69. package/dist/assets/{faq.ac13aeaa.js → faq.78697b58.js} +1 -1
  70. package/dist/assets/{fcl.a5a5f935.js → fcl.3895a102.js} +1 -1
  71. package/dist/assets/{fields.bc105e57.js → fields.d1074900.js} +1 -1
  72. package/dist/assets/{file-library.bc6397f9.js → file-library.4949e665.js} +1 -1
  73. package/dist/assets/{files.18ebb2c6.js → files.91312a78.js} +1 -1
  74. package/dist/assets/{filter-rules.0cd75320.js → filter-rules.facc75e8.js} +2 -2
  75. package/dist/assets/{filters.ce249fa9.js → filters.7f7e70e1.js} +1 -1
  76. package/dist/assets/{folders.8f839f67.js → folders.2ba716f4.js} +1 -1
  77. package/dist/assets/{forth.2a48338c.js → forth.47a6fd5a.js} +1 -1
  78. package/dist/assets/{fortran.39a5d2da.js → fortran.0476ddaf.js} +1 -1
  79. package/dist/assets/fr-CA.a3d698e2.js +1 -0
  80. package/dist/assets/fr-FR.91bf5a0c.js +1 -0
  81. package/dist/assets/{gas.2be39a3b.js → gas.925fe344.js} +1 -1
  82. package/dist/assets/{gcp.f6eca353.js → gcp.7a7b6f00.js} +1 -1
  83. package/dist/assets/{gfm.8e609735.js → gfm.bab94e18.js} +1 -1
  84. package/dist/assets/{gherkin.7379fdd0.js → gherkin.b12288c3.js} +1 -1
  85. package/dist/assets/{github-ci.35b5d221.js → github-ci.c6adf0fc.js} +2 -2
  86. package/dist/assets/{glossary.50f82640.js → glossary.5256ce56.js} +1 -1
  87. package/dist/assets/{glossary.0bfb8dee.js → glossary.fcceab44.js} +1 -1
  88. package/dist/assets/{go.57e9d20a.js → go.72d6ad84.js} +1 -1
  89. package/dist/assets/{groovy.0164fcf3.js → groovy.41fb7b3d.js} +1 -1
  90. package/dist/assets/{haml.9baa3f10.js → haml.75173308.js} +1 -1
  91. package/dist/assets/{handlebars.2ca50502.js → handlebars.df6b03ee.js} +1 -1
  92. package/dist/assets/{haskell-literate.d6ca9fd0.js → haskell-literate.34795dfa.js} +1 -1
  93. package/dist/assets/{haskell.bc6c4772.js → haskell.d237786e.js} +1 -1
  94. package/dist/assets/{haxe.478e9912.js → haxe.fb5de012.js} +1 -1
  95. package/dist/assets/{hooks.3d981c49.js → hooks.feb279e1.js} +2 -2
  96. package/dist/assets/hr-HR.51d2055f.js +1 -0
  97. package/dist/assets/{htmlembedded.62531935.js → htmlembedded.9cfb9140.js} +1 -1
  98. package/dist/assets/{htmlmixed.634bf459.js → htmlmixed.6ded1069.js} +1 -1
  99. package/dist/assets/{http.67a323b7.js → http.8703fdbc.js} +1 -1
  100. package/dist/assets/{idl.8238e552.js → idl.1cdf60d2.js} +1 -1
  101. package/dist/assets/{iis.f17cd9e8.js → iis.77f179bc.js} +2 -2
  102. package/dist/assets/{import-export.37729346.js → import-export.1b7b1a4e.js} +1 -1
  103. package/dist/assets/{index.fd9a5f6e.js → index.0110a287.js} +1 -1
  104. package/dist/assets/{index.2b376698.js → index.033ed977.js} +1 -1
  105. package/dist/assets/{index.ea7d7704.js → index.04690823.js} +1 -1
  106. package/dist/assets/{index.71c27623.js → index.048eda71.js} +1 -1
  107. package/dist/assets/{index.3018ece6.js → index.0815928f.js} +1 -1
  108. package/dist/assets/{index.a453d122.js → index.09699e1e.js} +1 -1
  109. package/dist/assets/{index.b7eb2760.js → index.0fbada9c.js} +1 -1
  110. package/dist/assets/{index.03e82d0f.js → index.12c0ad4e.js} +1 -1
  111. package/dist/assets/{index.7910f707.js → index.1bf154ed.js} +1 -1
  112. package/dist/assets/{index.6c1cd895.js → index.1df4732b.js} +1 -1
  113. package/dist/assets/{index.47c4a06c.js → index.240f798a.js} +1 -1
  114. package/dist/assets/{index.897edae9.js → index.2e432555.js} +1 -1
  115. package/dist/assets/{index.74a3bead.js → index.32a22ef0.js} +1 -1
  116. package/dist/assets/{index.74831233.js → index.3381f9ac.js} +1 -1
  117. package/dist/assets/{index.39fac911.js → index.34c68b69.js} +1 -1
  118. package/dist/assets/index.39ef93ae.css +1 -0
  119. package/dist/assets/{index.f64580fa.js → index.39fe5fac.js} +1 -1
  120. package/dist/assets/{index.e9dcaf1e.js → index.3d1b223f.js} +1 -1
  121. package/dist/assets/{index.0898ffcc.js → index.41f34e92.js} +1 -1
  122. package/dist/assets/{index.2eae8e43.js → index.44d5e2dc.js} +1 -1
  123. package/dist/assets/{index.fd99a2e6.js → index.46f0bdcc.js} +1 -1
  124. package/dist/assets/{index.d67df067.js → index.48db884c.js} +1 -1
  125. package/dist/assets/{index.72f04310.js → index.4ed4946a.js} +1 -1
  126. package/dist/assets/{index.5225bff7.js → index.514b19db.js} +1 -1
  127. package/dist/assets/{index.3a3a3436.js → index.51cee932.js} +1 -1
  128. package/dist/assets/{index.e4d21fbc.js → index.559605bd.js} +1 -1
  129. package/dist/assets/{index.61ee2548.js → index.5c01e9ee.js} +1 -1
  130. package/dist/assets/{index.e503db08.js → index.5df8dd30.js} +1 -1
  131. package/dist/assets/{index.99a868e4.js → index.608219b0.js} +1 -1
  132. package/dist/assets/{index.709876ee.js → index.61e038ab.js} +1 -1
  133. package/dist/assets/{index.8d30a9b7.js → index.622e101a.js} +1 -1
  134. package/dist/assets/{index.e420cfa9.js → index.62ded6ae.js} +1 -1
  135. package/dist/assets/{index.20d232c4.js → index.63ef0f0a.js} +1 -1
  136. package/dist/assets/{index.9a02c131.js → index.68a203aa.js} +1 -1
  137. package/dist/assets/{index.6146ee27.js → index.699c0012.js} +1 -1
  138. package/dist/assets/{index.8c02ccc9.js → index.69fa0c1b.js} +1 -1
  139. package/dist/assets/{index.c62b6868.js → index.7015d249.js} +1 -1
  140. package/dist/assets/index.711ccefb.entry.js +541 -0
  141. package/dist/assets/{index.66e22b6f.js → index.714cdcfe.js} +1 -1
  142. package/dist/assets/{index.66ad62bb.js → index.794edd66.js} +1 -1
  143. package/dist/assets/{index.52478625.js → index.7b23ebae.js} +1 -1
  144. package/dist/assets/{index.eaede45c.js → index.7c373fdc.js} +1 -1
  145. package/dist/assets/{index.e6b36791.js → index.7dc0331a.js} +1 -1
  146. package/dist/assets/{index.c6614b22.js → index.87e5cc93.js} +1 -1
  147. package/dist/assets/{index.eca0f639.js → index.894b274c.js} +1 -1
  148. package/dist/assets/index.895a297f.css +1 -0
  149. package/dist/assets/{index.8cb5cecc.js → index.8b524510.js} +1 -1
  150. package/dist/assets/{index.94c37923.js → index.92e1f783.js} +1 -1
  151. package/dist/assets/{index.5f8f7e76.js → index.954ec9a0.js} +1 -1
  152. package/dist/assets/{index.b90a9a9e.js → index.9907f7be.js} +1 -1
  153. package/dist/assets/index.9a16f1fd.js +26 -0
  154. package/dist/assets/{index.9a4eb005.js → index.9b2737f9.js} +1 -1
  155. package/dist/assets/{index.a585d6b9.js → index.9c57bec9.js} +1 -1
  156. package/dist/assets/{index.6e68ad3a.js → index.9ecb105d.js} +1 -1
  157. package/dist/assets/{index.370f33b2.js → index.a28b95c7.js} +1 -1
  158. package/dist/assets/{index.93145a08.js → index.a2f7201b.js} +1 -1
  159. package/dist/assets/{index.17aaf60e.js → index.a5f89761.js} +1 -1
  160. package/dist/assets/{index.5836bfd3.js → index.a926e050.js} +1 -1
  161. package/dist/assets/{index.a40ba614.js → index.a9e562ee.js} +1 -1
  162. package/dist/assets/{index.ced9e6c4.js → index.aab3e7b4.js} +1 -1
  163. package/dist/assets/{index.1f8cd33b.js → index.aae62c85.js} +1 -1
  164. package/dist/assets/{index.9c32a380.js → index.ab79c50c.js} +1 -1
  165. package/dist/assets/{index.aba657de.js → index.b4462fae.js} +1 -1
  166. package/dist/assets/{index.2ade6f4c.js → index.b4be1f39.js} +1 -1
  167. package/dist/assets/{index.199627f2.js → index.b4d78ccd.js} +1 -1
  168. package/dist/assets/{index.3fcc5be7.js → index.bf63ef3a.js} +1 -1
  169. package/dist/assets/{index.6fd7572a.js → index.bfad08ee.js} +1 -1
  170. package/dist/assets/{index.d4b072f4.js → index.c004601a.js} +1 -1
  171. package/dist/assets/{index.3fd307c9.js → index.c8469642.js} +1 -1
  172. package/dist/assets/{index.6b991ff5.js → index.c91d8146.js} +1 -1
  173. package/dist/assets/{index.9f82e3be.js → index.c98dd361.js} +1 -1
  174. package/dist/assets/{index.73cf06c6.js → index.c9ff9d0e.js} +1 -1
  175. package/dist/assets/{index.4d327518.js → index.cb3f9a66.js} +1 -1
  176. package/dist/assets/{index.6a8f8e56.js → index.cf0d6f97.js} +1 -1
  177. package/dist/assets/{index.524bdca1.js → index.cfe13745.js} +1 -1
  178. package/dist/assets/{index.840dec92.js → index.d698800c.js} +1 -1
  179. package/dist/assets/{index.6f987d91.js → index.dabfc237.js} +1 -1
  180. package/dist/assets/{index.54056858.js → index.dfe7aaf5.js} +1 -1
  181. package/dist/assets/{index.e02bc037.js → index.e0e28888.js} +1 -1
  182. package/dist/assets/{index.69b05a1e.js → index.e7716891.js} +1 -1
  183. package/dist/assets/{index.946634f1.js → index.eda26b6f.js} +1 -1
  184. package/dist/assets/{index.e56bb3bf.js → index.f2c707f1.js} +1 -1
  185. package/dist/assets/{index.d05c258f.js → index.f9e6a6fc.js} +1 -1
  186. package/dist/assets/{index.a3ff4cef.js → index.fc49cd25.js} +1 -1
  187. package/dist/assets/{input-rich-text-html.d4c2e2cf.js → input-rich-text-html.a7a17352.js} +79 -78
  188. package/dist/assets/{input-rich-text-html.e6c9da69.css → input-rich-text-html.ef9358cf.css} +1 -1
  189. package/dist/assets/{insights.4db4d732.js → insights.addfd136.js} +1 -1
  190. package/dist/assets/{installation.268919de.js → installation.02c68943.js} +1 -1
  191. package/dist/assets/{interfaces.c498302c.js → interfaces.f168e698.js} +1 -1
  192. package/dist/assets/{introduction.c10f10d3.js → introduction.01b1f832.js} +1 -1
  193. package/dist/assets/{introduction.c5e5e21e.js → introduction.020b2d96.js} +1 -1
  194. package/dist/assets/{introduction.83bcfc15.js → introduction.55d775be.js} +1 -1
  195. package/dist/assets/{introduction.d6821907.js → introduction.5ea08cd7.js} +4 -4
  196. package/dist/assets/is-IS.de933c2f.js +1 -0
  197. package/dist/assets/it-IT.7fa03fbc.js +1 -0
  198. package/dist/assets/{items.5732b18d.js → items.0473f1d7.js} +1 -1
  199. package/dist/assets/{items.b0a4ab61.js → items.eae067cd.js} +14 -14
  200. package/dist/assets/ja-JP.08e6d3fa.js +1 -0
  201. package/dist/assets/{javascript-hint.7ae21fbe.js → javascript-hint.de495ceb.js} +1 -1
  202. package/dist/assets/{javascript.4f51ecf0.js → javascript.3248781e.js} +1 -1
  203. package/dist/assets/{jinja2.9bf9144f.js → jinja2.ac8d0b46.js} +1 -1
  204. package/dist/assets/{jsx.a7b4e734.js → jsx.dd1f6e7b.js} +1 -1
  205. package/dist/assets/{julia.5461c3cc.js → julia.43690f91.js} +1 -1
  206. package/dist/assets/layouts.52ea8ab5.js +1 -0
  207. package/dist/assets/{layouts.effabdf0.js → layouts.b3ab207c.js} +1 -1
  208. package/dist/assets/{livescript.7b500566.js → livescript.3a7cd28a.js} +1 -1
  209. package/dist/assets/{localization.be7f565c.js → localization.0df69550.js} +1 -1
  210. package/dist/assets/{lua.00c71164.js → lua.7203e51f.js} +1 -1
  211. package/dist/assets/{manual.1c389d8b.js → manual.47b8c374.js} +1 -1
  212. package/dist/assets/{mark-selection.97d7037b.js → mark-selection.fb569efe.js} +1 -1
  213. package/dist/assets/{match-highlighter.a02da4f0.js → match-highlighter.6b06b78b.js} +1 -1
  214. package/dist/assets/{mathematica.8f6aa856.js → mathematica.06e6fdd3.js} +1 -1
  215. package/dist/assets/{mbox.fd92e018.js → mbox.13290c43.js} +1 -1
  216. package/dist/assets/{migrations.362ff4f6.js → migrations.12e641ae.js} +1 -1
  217. package/dist/assets/{mirc.fdf10b1b.js → mirc.78adf313.js} +1 -1
  218. package/dist/assets/{mllike.6f004a2c.js → mllike.d6434450.js} +1 -1
  219. package/dist/assets/{modelica.cbd88d45.js → modelica.3c01deee.js} +1 -1
  220. package/dist/assets/{modules.b091090c.js → modules.f92aab83.js} +2 -2
  221. package/dist/assets/{mscgen.14353b86.js → mscgen.437e19e9.js} +1 -1
  222. package/dist/assets/{multiplex.cd44ee19.js → multiplex.0354f227.js} +1 -1
  223. package/dist/assets/{mumps.efe96b5e.js → mumps.b8a57f60.js} +1 -1
  224. package/dist/assets/{nginx.96c9c4df.js → nginx.bbf51071.js} +1 -1
  225. package/dist/assets/nl-NL.bbb6b3b0.js +1 -0
  226. package/dist/assets/{notifications.3e5cfc89.js → notifications.883ce8d1.js} +1 -1
  227. package/dist/assets/{nsis.55581ab2.js → nsis.a89a00f6.js} +1 -1
  228. package/dist/assets/{ntriples.aca0fe40.js → ntriples.ef9c72ec.js} +1 -1
  229. package/dist/assets/{octave.62945644.js → octave.a8523cda.js} +1 -1
  230. package/dist/assets/{overlay.2efdf812.js → overlay.008b00ad.js} +1 -1
  231. package/dist/assets/{overview.fb04e55f.js → overview.2d540ea4.js} +1 -1
  232. package/dist/assets/{overview.dfc729e7.js → overview.86e4934b.js} +1 -1
  233. package/dist/assets/{overview.332df7ba.js → overview.de9556fd.js} +1 -1
  234. package/dist/assets/{oz.c7a6ef55.js → oz.de50fb14.js} +1 -1
  235. package/dist/assets/{panels.93ebd845.js → panels.bbc99568.js} +1 -1
  236. package/dist/assets/{pascal.9f427f36.js → pascal.959462c3.js} +1 -1
  237. package/dist/assets/{pegjs.f95b4e7c.js → pegjs.d0ed91d9.js} +1 -1
  238. package/dist/assets/{perl.157b1d6a.js → perl.357b4e1f.js} +1 -1
  239. package/dist/assets/{permissions.3a997b1b.js → permissions.0361ba5a.js} +2 -2
  240. package/dist/assets/{php.45aaf3ff.js → php.d803daf6.js} +1 -1
  241. package/dist/assets/{pig.abf158b5.js → pig.e0e0238c.js} +1 -1
  242. package/dist/assets/pinia.069c0eaf.entry.js +1 -0
  243. package/dist/assets/pl-PL.b97e6b0a.js +1 -0
  244. package/dist/assets/{plesk.93413565.js → plesk.702973ab.js} +4 -4
  245. package/dist/assets/{powershell.c8483dfa.js → powershell.49d52037.js} +1 -1
  246. package/dist/assets/{presets-bookmarks.821ff603.js → presets-bookmarks.6b8983b4.js} +1 -1
  247. package/dist/assets/{presets.e40c980c.js → presets.8666c809.js} +1 -1
  248. package/dist/assets/{project-settings.990a7733.js → project-settings.fd8d1f09.js} +1 -1
  249. package/dist/assets/{projects.8446f9e0.js → projects.c32560d9.js} +1 -1
  250. package/dist/assets/{properties.9746447f.js → properties.71f47129.js} +1 -1
  251. package/dist/assets/{protobuf.da387992.js → protobuf.fd7a72f0.js} +1 -1
  252. package/dist/assets/pt-BR.92a32af8.js +1 -0
  253. package/dist/assets/{pug.799b8b48.js → pug.6691e2a0.js} +1 -1
  254. package/dist/assets/{puppet.50c5f4a8.js → puppet.85bbcdfd.js} +1 -1
  255. package/dist/assets/{python.24183ff4.js → python.4ce17729.js} +1 -1
  256. package/dist/assets/{q.a6bde20d.js → q.dd127609.js} +1 -1
  257. package/dist/assets/{query.0b8a58bf.js → query.cf922720.js} +7 -7
  258. package/dist/assets/{quickstart.c03909d1.js → quickstart.b18751b0.js} +2 -2
  259. package/dist/assets/{r.5ef93882.js → r.d7fdc378.js} +1 -1
  260. package/dist/assets/{relations.3075f46c.js → relations.c91c83fc.js} +1 -1
  261. package/dist/assets/{relationships.799d5eb1.js → relationships.b1a4f98b.js} +1 -1
  262. package/dist/assets/{revisions.0fdeffdb.js → revisions.6e05d820.js} +1 -1
  263. package/dist/assets/ro-RO.83d12aa1.js +1 -0
  264. package/dist/assets/{roles.454d01a2.js → roles.22caf5e4.js} +5 -5
  265. package/dist/assets/{rpm.dc7eb8c7.js → rpm.c5cba333.js} +1 -1
  266. package/dist/assets/rst.0ec4b9fd.js +1 -0
  267. package/dist/assets/{ruby.5f2c5d49.js → ruby.9e4417f8.js} +1 -1
  268. package/dist/assets/{running-locally.b169fd6b.js → running-locally.16ba1e8e.js} +1 -1
  269. package/dist/assets/{rust.cb883a51.js → rust.cb15ec63.js} +1 -1
  270. package/dist/assets/{sas.d4698414.js → sas.20c8274a.js} +1 -1
  271. package/dist/assets/{sass.2a5b4ded.js → sass.de175114.js} +1 -1
  272. package/dist/assets/{scheme.03cb579f.js → scheme.db6fc72b.js} +1 -1
  273. package/dist/assets/{sdk.b30c40c3.js → sdk.5d0984d2.js} +1 -1
  274. package/dist/assets/{security.bb444305.js → security.0309ebfa.js} +1 -1
  275. package/dist/assets/{server.96d2684f.js → server.3056da3b.js} +1 -1
  276. package/dist/assets/{settings.6ee8ba3d.js → settings.1b4f93a0.js} +1 -1
  277. package/dist/assets/{settings.590609ba.js → settings.faf934bd.js} +1 -1
  278. package/dist/assets/{shell.823d1fdc.js → shell.84bb2e73.js} +1 -1
  279. package/dist/assets/{show-hint.ed75f164.js → show-hint.a0b705f3.js} +1 -1
  280. package/dist/assets/{sieve.ca0810e1.js → sieve.d423e40c.js} +1 -1
  281. package/dist/assets/{simple.6f7c2241.js → simple.f329512a.js} +1 -1
  282. package/dist/assets/{slim.6963eba3.js → slim.92e9b12a.js} +1 -1
  283. package/dist/assets/{smalltalk.e8a89293.js → smalltalk.808d306f.js} +1 -1
  284. package/dist/assets/{smarty.c1c7c7b6.js → smarty.b45887b7.js} +1 -1
  285. package/dist/assets/{solr.d56d44ed.js → solr.5cc56749.js} +1 -1
  286. package/dist/assets/{soy.73095779.js → soy.bb278352.js} +1 -1
  287. package/dist/assets/{sparql.3250c390.js → sparql.bcb141bf.js} +1 -1
  288. package/dist/assets/{spreadsheet.502aed5e.js → spreadsheet.e1aa486d.js} +1 -1
  289. package/dist/assets/{sql.2669a728.js → sql.f910bfb4.js} +1 -1
  290. package/dist/assets/sso-examples.05a51dc0.js +64 -0
  291. package/dist/assets/{sso.3e95ead4.js → sso.d50d1779.js} +1 -1
  292. package/dist/assets/{stex.805ccf9b.js → stex.f8b497ca.js} +1 -1
  293. package/dist/assets/{stylus.7a36e1a2.js → stylus.baafca01.js} +1 -1
  294. package/dist/assets/support.030f40ca.js +1 -0
  295. package/dist/assets/sv-SE.95898df0.js +1 -0
  296. package/dist/assets/{swift.8e6dedf9.js → swift.7e0549b9.js} +1 -1
  297. package/dist/assets/{tcl.218bb297.js → tcl.9b3bd512.js} +1 -1
  298. package/dist/assets/{teams.2936126f.js → teams.8a12610a.js} +1 -1
  299. package/dist/assets/{textile.6739cf22.js → textile.bcfc1004.js} +1 -1
  300. package/dist/assets/{themes.99cb1672.js → themes.9658a21b.js} +1 -1
  301. package/dist/assets/{tiddlywiki.9838bde4.js → tiddlywiki.05c69da4.js} +1 -1
  302. package/dist/assets/{tiki.80b69321.js → tiki.c205ced9.js} +1 -1
  303. package/dist/assets/{toml.1089d432.js → toml.21eca43e.js} +1 -1
  304. package/dist/assets/{tornado.43361bdb.js → tornado.98c58954.js} +1 -1
  305. package/dist/assets/{translations.b9e0ee2e.js → translations.a77c3676.js} +1 -1
  306. package/dist/assets/{troff.6fa2515b.js → troff.c60c6b4b.js} +1 -1
  307. package/dist/assets/{ttcn-cfg.29c11a29.js → ttcn-cfg.1fc06da2.js} +1 -1
  308. package/dist/assets/{ttcn.7e441eeb.js → ttcn.4eb17e33.js} +1 -1
  309. package/dist/assets/{turtle.cc980bba.js → turtle.5a68ff69.js} +1 -1
  310. package/dist/assets/{twig.c208e31e.js → twig.f98a23de.js} +1 -1
  311. package/dist/assets/{ubuntu.0d81a10a.js → ubuntu.a95e380a.js} +1 -1
  312. package/dist/assets/uk-UA.8be80c84.js +1 -0
  313. package/dist/assets/{upgrades-migrations.715ee1d6.js → upgrades-migrations.aeab953d.js} +1 -1
  314. package/dist/assets/{use-sync.1c032102.js → use-sync.c510d0f0.js} +1 -1
  315. package/dist/assets/user-directory.4f4f96ee.js +1 -0
  316. package/dist/assets/users-roles-permissions.bfc34421.js +1 -0
  317. package/dist/assets/{users.8d9b68a7.js → users.19874500.js} +1 -1
  318. package/dist/assets/{utilities.dfed4954.js → utilities.1ccaf710.js} +1 -1
  319. package/dist/assets/{vb.6e5aca67.js → vb.e37751ec.js} +1 -1
  320. package/dist/assets/{vbscript.93c429fa.js → vbscript.9afbdc82.js} +1 -1
  321. package/dist/assets/{velocity.c1a64e08.js → velocity.56113a41.js} +1 -1
  322. package/dist/assets/{vendor.c37f7cab.js → vendor.3b903562.js} +212 -199
  323. package/dist/assets/{verilog.748a4e09.js → verilog.431e6106.js} +1 -1
  324. package/dist/assets/{vhdl.b6c77d3f.js → vhdl.73d95444.js} +1 -1
  325. package/dist/assets/vue-i18n.33bfae79.entry.js +1 -0
  326. package/dist/assets/vue-router.af241365.entry.js +1 -0
  327. package/dist/assets/{vue.f9ff97ec.js → vue.6efad370.js} +1 -1
  328. package/dist/assets/vue.6f5ac172.entry.js +1 -0
  329. package/dist/assets/{wast.a3dcc216.js → wast.6c87cd75.js} +1 -1
  330. package/dist/assets/{webhooks.006f48f5.js → webhooks.592cb833.js} +1 -1
  331. package/dist/assets/{webhooks.41585988.js → webhooks.ac49e207.js} +1 -1
  332. package/dist/assets/{webidl.935b4665.js → webidl.3d323e32.js} +1 -1
  333. package/dist/assets/{xquery.1cd12bcf.js → xquery.ca96a9a0.js} +1 -1
  334. package/dist/assets/{yacas.b7fa45c7.js → yacas.a7c67b32.js} +1 -1
  335. package/dist/assets/{yaml-frontmatter.e47634fc.js → yaml-frontmatter.a06727f1.js} +1 -1
  336. package/dist/assets/{yaml.34a5a469.js → yaml.6a26e7a0.js} +1 -1
  337. package/dist/assets/{z80.4847a5a2.js → z80.ee1c60d3.js} +1 -1
  338. package/dist/assets/zh-TW.edfb1fce.js +1 -0
  339. package/dist/index.html +4 -4
  340. package/package.json +10 -6
  341. package/dist/assets/af-ZA.71af2276.js +0 -1
  342. package/dist/assets/ar-SA.4e5e2a4d.js +0 -1
  343. package/dist/assets/bg-BG.ac12438e.js +0 -2
  344. package/dist/assets/ca-ES.56d2029e.js +0 -1
  345. package/dist/assets/collections.709f5818.js +0 -2
  346. package/dist/assets/config-options.09a44368.js +0 -138
  347. package/dist/assets/content.8dfe4d0f.js +0 -1
  348. package/dist/assets/cs-CZ.21eb314a.js +0 -1
  349. package/dist/assets/data-model.3e1183a6.js +0 -1
  350. package/dist/assets/data-sharing.17c81a27.js +0 -1
  351. package/dist/assets/de-DE.b11ba39d.js +0 -1
  352. package/dist/assets/el-GR.b15e80c2.js +0 -1
  353. package/dist/assets/en-GB.d49ab07c.js +0 -1
  354. package/dist/assets/es-419.86b21e53.js +0 -1
  355. package/dist/assets/es-CL.d5fe3b03.js +0 -1
  356. package/dist/assets/es-ES.5299ee2e.js +0 -1
  357. package/dist/assets/fa-IR.e1677687.js +0 -1
  358. package/dist/assets/fr-CA.500843e8.js +0 -1
  359. package/dist/assets/fr-FR.3e980b29.js +0 -1
  360. package/dist/assets/hr-HR.488f4f23.js +0 -1
  361. package/dist/assets/index.31e06860.css +0 -1
  362. package/dist/assets/index.5ca402ee.css +0 -1
  363. package/dist/assets/index.9bc985db.js +0 -26
  364. package/dist/assets/index.dd44fb28.entry.js +0 -541
  365. package/dist/assets/is-IS.35706417.js +0 -1
  366. package/dist/assets/it-IT.c7c56676.js +0 -1
  367. package/dist/assets/ja-JP.fd245edd.js +0 -1
  368. package/dist/assets/layouts.c0d4d117.js +0 -1
  369. package/dist/assets/nl-NL.5b0204f4.js +0 -1
  370. package/dist/assets/pinia.b0a7f3a9.entry.js +0 -1
  371. package/dist/assets/pl-PL.369789f9.js +0 -1
  372. package/dist/assets/pt-BR.629e0c60.js +0 -1
  373. package/dist/assets/ro-RO.26d41bde.js +0 -1
  374. package/dist/assets/rst.c0f0c052.js +0 -1
  375. package/dist/assets/support.53f88829.js +0 -1
  376. package/dist/assets/sv-SE.ea1c82a6.js +0 -1
  377. package/dist/assets/uk-UA.6ba66c91.js +0 -1
  378. package/dist/assets/user-directory.1c64c935.js +0 -1
  379. package/dist/assets/users-roles-permissions.4e51ac63.js +0 -1
  380. package/dist/assets/vue-i18n.38d89027.entry.js +0 -1
  381. package/dist/assets/vue-router.e188e24d.entry.js +0 -1
  382. package/dist/assets/vue.ea10f693.entry.js +0 -1
  383. package/dist/assets/zh-TW.84c79b23.js +0 -1
@@ -1 +0,0 @@
1
- var e={avatar:"Foto",default_provider:"Predeterminat",draft:"Esborrany",archived:"Arxivat",edit_field:"Edita el camp",conditions:"Condicions",maps:"Mapes",item_revision:"Revisi\xF3 de l'element",duplicate_field:"Camp duplicat",half_width:"Mitja amplada",full_width:"Amplada Completa",group:"Grup",and:"I",or:"O",fill_width:"Amplada de l'emplenat",field_name_translations:"Traducci\xF3 de noms de camps",enter_password_to_enable_tfa:"Introdueix la contrasenya per activar l'autenticaci\xF3 de dos factors",add_field:"Afegeix camp",role_name:"Nom del Rol",branch:"Branca",leaf:"Fulla",indeterminate:"Indeterminat",exclusive:"Exclusiu",children:"Fills",show_archived_items:"Mostra els elements arxivats",edited:"Valor editat",required:"Requerit",required_for_app_access:"Requerit per l'acc\xE9s a l'aplicaci\xF3",requires_value:"Requereix valor",create_preset:"Crear un predefinit",create_role:"Crea un rol",create_user:"Crear usuari",create_webhook:"Crear Webhook",invite_users:"Convidar usuaris",invite:"Convida",email_already_invited:`El correu "{email}" ja s'ha convidat`,emails:"Correus electr\xF2nics",connection_excellent:"Connexi\xF3 excel\xB7lent",connection_good:"Connexi\xF3 bona",connection_fair:"Connexi\xF3 justa",connection_poor:"Connexi\xF3 pobra",primary:"Primari",rename_folder:"Renombra carpeta",delete_folder:"Suprimeix carpeta",prefix:"Prefix",suffix:"Sufix",reset_bookmark:"Reinicia marcador",update_bookmark:"Actualitza marcador",delete_bookmark:"Eliminar marcador",delete_bookmark_copy:'Segur que voleu eliminar aquest marcador "{bookmark}"? Aquesta acci\xF3 no es pot desfer.',logoutReason:{SIGN_OUT:"S'ha desconnectat",SESSION_EXPIRED:"Sessi\xF3 caducada"},public_label:"P\xFAblic",public_description:"Controla quines dades API estan disponibles sense autenticar.",not_allowed:"No perm\xE8s",directus_version:"Versi\xF3 de Directus",node_version:"Versi\xF3 de Node",node_uptime:"Temps d'activitat de Node",os_type:"Tipus de SO",os_version:"Versi\xF3 d'OS",os_uptime:"Temps d'activitat del SO",os_totalmem:"Mem\xF2ria del SO",archive:"Arxiu",archive_confirm:"Est\xE0s segur de que vols arxivar aquest element?",archive_confirm_count:"No hi ha elements seleccionats | Segur que voleu arxivar aquest element? | Segur que voleu arxivar aquests {count} elements?",reset_system_permissions_to:"Restableix els permisos del sistema a:",reset_system_permissions_copy:"Aquesta acci\xF3 rescriur\xE0 qualsevol perm\xEDs personalitzat que hagis aplicat a les col\xB7leccions del sistema. Est\xE0s sgur?",the_following_are_minimum_permissions:`Els seg\xFCents s\xF3n els m\xEDnims permisos requerits quan l'"Acc\xE9s a l'aplicaci\xF3" est\xE0 habilitat. Pots estendre els permisos a partir d'aqu\xED, per\xF2 no els de m\xE9s abaix.`,app_access_minimum:"Acc\xE9s a l'aplicaci\xF3 m\xEDnim",recommended_defaults:"Predeterminats recomanats",unarchive:"Desarxiva",unarchive_confirm:"Segur que vols desarxivar aquest element?",nested_files_folders_will_be_moved:"Els fitxers i carpetes anidats es mouran un nivell amunt.",validationError:{eq:"El valor ha de ser {valid}",neq:"El valor no pot ser {invalid}",in:"El valor ha de ser un dels {valid}",nin:"El valor no pot ser un de {invalid}",contains:"El valor ha de contenir {substring}",ncontains:"El valor no pot contenir {substring}",gt:"El valor ha de ser major que {valid}",gte:"El valor ha de ser major o igual a {valid}",lt:"El valor ha de ser menor que {valid}",lte:"El valor ha de ser menor o igual a {valid}",empty:"El valor ha de ser buit",nempty:"El valor no pot ser buit",null:"El valor ha de ser null",nnull:"El valor no pot ser null",required:"El valor es requerit",unique:"El valor ha de ser \xFAnic",regex:"El valor no t\xE9 el format correcte"},all_access:"Acc\xE9s complet",no_access:"Sense acc\xE9s",use_custom:"Personalitzat",nullable:"Nullable",allow_null_value:"Permet valors nuls",allow_multiple:"Permet m\xFAltiples",allow_multiple_to_be_open:"Permet que s'obrin m\xFAltiples",enter_value_to_replace_nulls:"Si us plau, introdueix un nou valor per reempla\xE7ar qualsevol NULL que hi hagi en aquest camp.",field_standard:"Est\xE0ndard",field_presentation:"Presentaci\xF3 i \xE0lies",field_file:"Un fitxer",field_files:"Multiples fitxers",field_m2o:"Relaci\xF3 M2O",field_m2a:"Relaci\xF3 M2A",field_o2m:"Relaci\xF3 O2M",field_m2m:"Relaci\xF3 M2M",field_translations:"Traduccions",field_group:"Agrupaci\xF3 de camps",item_permissions:"Permisos de l'element",field_permissions:"Permisos del camp",field_validation:"Validaci\xF3 del camp",field_presets:"Predefinits del camp",permissions_for_role:"Elements {role} poden {action}.",fields_for_role:"Camps del {role} poden {action}.",validation_for_role:"El camp {action} determina que el rol {role} ha de obeir.",presets_for_role:"Valor de camp predeterminat per al rol\xA0{role}.",presentation_and_aliases:"Presentaci\xF3 i \xE0lies",hide_field_on_detail:"Amaga el camp en el detall",show_field_on_detail:"Mostra el camp en el detall",delete_field:"Elimina el camp",fields_and_layout:"Camps i disposici\xF3",field_create_success:'Camp creat: "{field}"',field_update_success:'Camp actualitzat: "{field}"',duplicate_where_to:"A on t'agradaria duplicar aquest camp?",language:"Idioma",global:"Global",admins_have_all_permissions:"Els administradors tenen tots els permisos",camera:"C\xE0mera",exposure:"Exposici\xF3",shutter:"Obturador",iso:"ISO",focal_length:"Distancia focal",schema_setup_key:"Aquest nom de columna del camp i clau de l'API",create_field:"Crea un camp",creating_new_field:"Nou camp ({collection})",field_in_collection:"{field} ({collection})",reset_page_preferences:"Restableix la p\xE0gina de prefer\xE8ncies",hidden_field:"Camp ocult",hidden_on_detail:"Amagat al detall",disabled_editing_value:"Deshabilita l'edici\xF3 del valor",key:"Clau",alias:"\xC0lies",bigInteger:"Big Integer",boolean:"Boolean",date:"Data",datetime:"DateTime",dateTime:"DateTime",decimal:"Decimal",float:"Float",integer:"Integer",json:"JSON",xml:"XML",string:"String",text:"Text",time:"Time",timestamp:"Timestamp",uuid:"UUID",hash:"Hash",not_available_for_type:"No disponible per aquest Tipus",create_translations:"Crea traduccions",auto_refresh:"Refrescament autom\xE0tic",refresh_interval:"Interval de refresc",no_refresh:"No refresquis",refresh_interval_seconds:"Refresca immediatament | Cada Segon | Cada {seconds} segons",refresh_interval_minutes:"Cada minut | Cada {minutes} minuts",auto_generate:"Generar autom\xE0ticament",this_will_auto_setup_fields_relations:"Aix\xF2 establir\xE0 autom\xE0ticament tots els camps requerits i les relacions.",click_here:"Fes clic aqu\xED",to_manually_setup_translations:"per establir les traduccions.",click_to_manage_translated_fields:"Encara no s'han tradu\xEFt els camps. Fes clic aqu\xED per crear-los. | Hi ha un camp tradu\xEFt. Fes clic per gestionar-lo. | Hi ha {count} camps tradu\xEFts. Fes clic aqu\xED per gestionar-los.",fields_group:"Agrupaci\xF3 de camps",no_collections_found:"No s'han trobat col\xB7leccions.",new_data_alert:"Es crear\xE0 el seg\xFCent en el teu Model de dades:",search_collection:"Cerca la col\xB7lecci\xF3...",new_field:"Nou camp",new_collection:"Nova col\xB7lecci\xF3",choose_a_type:"Tria un tipus...",determined_by_relationship:"Determinat per la relaci\xF3",add_note:"Afegiu una nota \xFAtil per als usuaris...",default_value:"Valor per defecte",standard_field:"Camp est\xE0ndard",single_file:"Un fitxer",multiple_files:"Multiples fitxers",m2o_relationship:"Relaci\xF3 Molts a Un",o2m_relationship:"Relaci\xF3 Un a molts",m2m_relationship:"Relaci\xF3 Molts a molts",m2a_relationship:"Relaci\xF3 Molts a qualsevol",invalid_item:"Element inv\xE0lid",next:"Seg\xFCent",field_name:"Nom del camp",translations:"Traduccions",note:"Nota",enter_a_value:"Introdueix un valor...",enter_a_placeholder:"Introdueix un placeholder...",length:"Mida",precision_scale:"Precisi\xF3 i escala",readonly:"Nom\xE9s lectura",unique:"\xDAnic",updated_on:"Actualitzat el",updated_by:"Actualitzat per",primary_key:"Clau prim\xE0ria",foreign_key:"Clau forana",finish_setup:"Finalitza la configuraci\xF3",dismiss:"Descarta",raw_value:"Valor en brut",edit_raw_value:"Edita valor en brut",enter_raw_value:"Introdueix valor en brut...",notifications:"Notificacions",show_all_activity:"Mostra tota l'activitat",page_not_found:"P\xE0gina no trobada",page_not_found_body:"No hem trobat la p\xE0gina que cerques.",confirm_revert:"Confirma Revertir",confirm_revert_body:"Aix\xF2 revertir\xE0 l'element a l'estat seleccionat.",display:"Mostra",settings_update_success:"Ajustaments actualitzats",title:"T\xEDtol",revision_delta_created:"Creat",revision_delta_created_externally:"Creat externament",revision_delta_updated:"Actualitzat 1 camp | Actualitzats {count} camps",revision_delta_deleted:"Eliminat",revision_delta_reverted:"Revertit",revision_delta_other:"Revisi\xF3",revision_delta_by:"{date} per {user}",private_user:"Usuari privat",revision_preview:"Vista preliminar de la revisi\xF3",updates_made:"Actualitzacions fetes",leave_comment:"Deixa un comentari...",post_comment_success:"Comentari publicat",item_create_success:"Element creat | Elements creats",item_update_success:"Element actualitzat | Elements actualitzats",item_delete_success:"Element eliminat |\xA0Elements eliminats",this_collection:"Aquesta col\xB7lecci\xF3",related_collection:"Col\xB7lecci\xF3 relacionada",related_collections:"Col\xB7leccions relacionades",translations_collection:"Col\xB7lecci\xF3 de traduccions",languages_collection:"Col\xB7lecci\xF3 de idiomes",label_import:"Importa",format:"Format",last_page:"\xDAltima p\xE0gina",last_access:"\xDAltim acc\xE9s",fill_template:"Emplena amb el valor de plantilla",a_unique_table_name:"Un nom de taula \xFAnic...",a_unique_column_name:"Un nom de columna \xFAnic...",enable_custom_values:"Habilita valors personalitzats",submit:"Envia",move_to_folder:"Mou a la carpeta",move:"Mou",system:"Sistema",add_field_related:"Afegeix camps a la col\xB7lecci\xF3 relacionada",interface_label:"Interf\xEDcie",today:"Avui",yesterday:"Ahir",delete_comment:"Elimina comentari",functions:{year:"Any",month:"Mes"},"date-fns_date":"PPP","date-fns_time":"h:mm:ss a","date-fns_time_no_seconds":"h.mm a","date-fns_date_short":"MMM d, u","date-fns_time_short":"h:mma","date-fns_date_short_no_year":"MMM d",month:"Mes",year:"Any",select_all:"Marca totes",months:{january:"Gener",february:"Febrer",march:"Mar\xE7",april:"Abril",may:"Maig",june:"Juny",july:"Juliol",august:"Agost",september:"Setembre",october:"Octubre",november:"Novembre",december:"Desembre"},drag_mode:"Mode d'arrossegament",cancel_crop:"Cancel\xB7la el retall",original:"Original",url:"URL",import_label:"Importa",file_details:"Detalls del fitxer",dimensions:"Dimensions",size:"Mida",created:"Creat",modified:"Modificat",checksum:"Checksum",owner:"Propietari",edited_by:"Editat per",folder:"Carpeta",zoom:"Zoom",download:"Descarrega",open:"Obre",open_in_new_window:"Obre en una nova finestra",foreground_color:"Color de primer pla",background_color:"Color de fons",upload_from_device:"Carrega el fitxer des del dispositiu",choose_from_library:"Tria de la biblioteca",import_from_url:"Importa el fitxer des de la URL",replace_from_device:"Reempla\xE7a el fitxer des del dispositiu",replace_from_library:"Reempla\xE7a el fitxer des de la biblioteca",replace_from_url:"Reempla\xE7a el fitxer des d'una URL",no_file_selected:"Cap fitxer seleccionat",download_file:"Descarrega el fitxer",collection_key:"Clau de la col\xB7lecci\xF3",name:"Nom",primary_key_field:"Camp de clau prim\xE0ria",type:"Tipus",creating_new_collection:"Creant una nova col\xB7lecci\xF3",created_by:"Creat per",created_on:"Creat el",creating_collection_info:'Fica nom a la col\xB7lecci\xF3 i estableix la seu camp "clau" \xFAnic...',creating_collection_system:"Habilita i reanomena qualsevol d'aquests camps opcionals.",auto_increment_integer:"Sencer auto-incremental",generated_uuid:"UUID Generat",manual_string:"String entrada manualment",save_and_create_new:"Desa i crea un nou",save_and_stay:"Desa i queda't",save_as_copy:"Desa com a c\xF2pia",add_existing:"Afegeix existent",creating_items:"Creant elements",enable_create_button:"Habilita el bot\xF3 de creaci\xF3",selecting_items:"Seleccionant elements",enable_select_button:"Habilita el bot\xF3 de selecci\xF3",comments:"Comentaris",no_comments:"No hi ha comentaris, encara",click_to_expand:"Fes clic per ampliar",select_item:"Selecciona element",no_items:"No hi ha elements",search_items:"Cerca elements...",disabled:"Deshabilitat",information:"Informaci\xF3",report_bug:"Informa d'un error",request_feature:"Sol\xB7licita una millora",interface_not_found:'Interficie "{interface}" no trobada.',reset_interface:"Restableix la interf\xEDcie",display_not_found:'Disposici\xF3 "{display}" no trobada.',reset_display:"Restableix disposici\xF3","list-m2a":"Constructor (M2A)",item_count:"No hi ha elements | Un element | {count} elements",no_items_copy:"Encara no hi ha elements en aquesta col\xB7lecci\xF3.",file_count:"No hi ha fitxers | Un fitxer | {count} fitxers",no_files_copy:"No hi ha fitxers aqu\xED.",user_count:"No hi ha usuaris | Un usuari | {count} usuaris",no_users_copy:"Encara no hi ha usuaris en aquest rol.",webhooks_count:"No hi ha webhooks | Un webhook | {count} webhooks",all_items:"Tots els elements",any:"Qualsevol",csv:"CSV",no_collections:"No hi ha col\xB7leccions",create_collection:"Crea una col\xB7lecci\xF3",no_collections_copy_admin:"Encara no hi ha cap col\xB7lecci\xF3. Fes clic al bot\xF3 seg\xFCent per comen\xE7ar.",no_collections_copy:"Encara no hi ha cap col\xB7lecci\xF3. Posa't en contacte amb l'administrador del sistema.",relationship_not_setup:"La relaci\xF3 no s'ha configurat correctament",display_template_not_setup:"L'opci\xF3 de plantilla de disposi\xF3 no est\xE0 configurada",collection_field_not_setup:"L'opci\xF3 de camp de col\xB7lecci\xF3 no est\xE0 configurada",select_a_collection:"Selecciona una col\xB7lecci\xF3",active:"Activa",copy:"Copia",inactive:"Inactiva",users:"Usuaris",activity:"Activitat",action:"Acci\xF3",ip_address:"Adre\xE7a IP",user_agent:"Agent de l'usuari",webhooks:"Webhooks",field_width:"Amplada del camp",add_filter:"Afegeix un filtre",upper_limit:"L\xEDmit superior...",lower_limit:"L\xEDmit inferior...",user_directory:"Directori de l'usuari",documentation:"Documentaci\xF3",sidebar:"Barra lateral",duration:"Durada",charset:"Conjunt de car\xE0cters",second:"segon",file_moved:"Fitxer mogut",collection_created:"Col\xB7lecci\xF3 creada",modified_on:"Modificat el",card_size:"Mida de la targeta",sort_field:"Camp d'ordenaci\xF3",add_sort_field:"Afegeix el camp d'ordenaci\xF3",sort:"Ordre",status:"Estat",remove:"Elimina",toggle_manual_sorting:"Activa l'ordenaci\xF3 manual",bookmark_doesnt_exist:"No existeix el marcador",bookmark_doesnt_exist_copy:"El marcador que est\xE0s intentant obrir no pot ser trobat.",bookmark_doesnt_exist_cta:"Torna a la col\xB7lecci\xF3",select_an_item:"Selecciona un element...",edit:"Edita",enabled:"Habilitat",disable_tfa:"Desactiva 2FA",tfa_scan_code:"Escaneja el codi a l'aplicaci\xF3 d'autenticaci\xF3 per acabar d'establir el 2Fa",enter_otp_to_disable_tfa:"Introdueix el OTP per deshabilitar el 2FA",create_account:"Crea un compte",account_created_successfully:"Compte creat amb \xE8xit",auto_fill:"Omple autom\xE0ticament",corresponding_field:"Camp corresponent",errors:{COLLECTION_NOT_FOUND:"La col\xB7lecci\xF3 no existeix",FIELD_NOT_FOUND:"Camp no trobat",FORBIDDEN:"Prohibit",INVALID_CREDENTIALS:"Identificador o contrasenya incorrectes",INVALID_OTP:"Contrasenya d'un sol \xFAs err\xF2nia",INVALID_PAYLOAD:"Payload inv\xE0lid",INVALID_QUERY:"Consulta inv\xE0lida",ITEM_LIMIT_REACHED:"L\xEDmit d'elements assolit",ITEM_NOT_FOUND:"Element no trobat",ROUTE_NOT_FOUND:"No trobat",RECORD_NOT_UNIQUE:"Valor duplicat detectat",USER_SUSPENDED:"Usuari susp\xE8s",CONTAINS_NULL_VALUES:"El camp cont\xE9 valors nuls",UNPROCESSABLE_ENTITY:"Entitat no processable",INTERNAL_SERVER_ERROR:"Error inesperat",NOT_NULL_VIOLATION:"El valor no pot ser null",UNKNOWN:"Error inesperat"},security:"Seguretat",value_hashed:"Aplicat hash segur al valor",bookmark_name:"Nom del marcador...",create_bookmark:"Crea un marcador",edit_bookmark:"Edita el marcador",bookmarks:"Favorits",presets:"Predefinits",unexpected_error:"Error inesperat",unexpected_error_copy:"Hi ha hagut un error inesperat. Si us plau, prova m\xE9s tard.",copy_details:"Copia detalls",no_app_access:"Sense acc\xE9s a l'aplicaci\xF3",no_app_access_copy:"Aquest usuari no pot administrar l'aplicaci\xF3.",password_reset_sent:"T'hem enviat un enlla\xE7 segur per restablir la teva contrasenya",password_reset_successful:"Contrasenya restablerta correctament",back:"Enrere",editing_image:"Editant imatge",square:"Quadrat",free:"Lliure",flip_horizontal:"Capgira horitzontalment",flip_vertical:"Capgira verticalment",aspect_ratio:"Relaci\xF3 d'aspecte",rotate:"Gira",all_users:"Tots els usuaris",delete_collection:"Elimina la col\xB7lecci\xF3",update_collection_success:"Actualitza la col\xB7lecci\xF3",delete_collection_success:"Col\xB7lecci\xF3 eliminada",start_end_of_count_items:"{start}-{end} de {count} elements",start_end_of_count_filtered_items:"{start}-{end} de {count} elements filtrats",one_item:"1 element",one_filtered_item:"1 element filtrat",delete_collection_are_you_sure:"Est\xE0s segur d'eliminar aquesta col\xB7lecci\xF3? Aix\xF2 tamb\xE9 eliminar\xE0 tots els elements que cont\xE9. Aquesta acci\xF3 \xE9s permanent.",collections_shown:"Col\xB7leccions mostrades",visible_collections:"Col\xB7leccions visibles",hidden_collections:"Col\xB7leccions amagades",show_hidden_collections:"Mosta les col\xB7leccions amagades",hide_hidden_collections:"Amaga les col\xB7leccions amagades",unmanaged_collections:"Col\xB7leccions no configurades",system_collections:"Col\xB7leccions del sistema",placeholder:"Refer\xE8ncia",icon_left:"Icona a l'esquerra",icon_right:"Icona a la dreta",count_other_revisions:"{count} revisions m\xE9s",font:"Font",sans_serif:"Sans Serif",serif:"Serif",monospace:"Espai \xFAnic",divider:"Separador",color:"Color",circle:"Cercle",empty_item:"Element buit",log_in_with:"Inicia sessi\xF3 amb {provider}",advanced_settings:"Ajustaments avan\xE7ats",advanced_filter:"Filtre avan\xE7at",delete_advanced_filter:"Elimina filtre",change_advanced_filter_operator:"Operador Canvia",operators:{eq:"\xC9s igual",neq:"No \xE9s igual",lt:"Menor que",gt:"Major que",lte:"Menor o igual que",gte:"Major o igual que",in:"\xC9s un de",nin:"No \xE9s un de",null:"\xC9s nul",nnull:"No \xE9s null",contains:"Cont\xE9",ncontains:"No cont\xE9",starts_with:"Comen\xE7a amb",nstarts_with:"No comen\xE7a amb",ends_with:"Acaba amb",nends_with:"No acaba amb",between:"\xC9s entre",nbetween:"No \xE9s entre",empty:"Es buida",nempty:"No es buida",all:"Cont\xE9 aquestes claus",has:"Cont\xE9 alguna d'aquestes claus",intersects:"Intersecta",nintersects:"No intersecta",intersects_bbox:"Intersecta la caixa delimitadora",nintersects_bbox:"No intersecta la caixa delimitadora"},loading:"Carregant...",drop_to_upload:"Deixa anar per carregar",item:"Element",items:"Elements",upload_file:"Carrega un fitxer",upload_file_indeterminate:"Carregant el fitxer...",upload_file_success:"Fitxer carregat",upload_files_indeterminate:"Carregant fitxers {done}/{total}",upload_files_success:"{count} fitxers carregats",upload_pending:"C\xE0rrega pendent",drag_file_here:"Arrossega i deixa anar un fitxer aqu\xED",click_to_browse:"Fes clic per a explorar",interface_options:"Opcions d'Interf\xEDcie",layout_options:"Opcions de presentaci\xF3",rows:"Files",columns:"Columnes",collection_setup:"Configuraci\xF3 de la col\xB7lecci\xF3",optional_system_fields:"Camps del sistema opcionals",value_unique:"El valor ha de ser \xFAnic",all_activity:"Tota l'activitat",create_item:"Crea un element",display_template:"Mostra la plantilla",language_display_template:"Plantilla de visualitzaci\xF3 d'idioma",translations_display_template:"Plantilla de visualitzaci\xF3 de traduccions",n_items_selected:"No hi han elements seleccionats | Un element seleccionat |\xA0{n} Elements seleccionats",per_page:"Per p\xE0gina",all_files:"Tots els fitxers",my_files:"Els meus fitxers",recent_files:"Fitxers recents",create_folder:"Crea una carpeta",folder_name:"Nom de la carpeta...",add_file:"Afegeix un fitxer",replace_file:"Reempla\xE7a el fitxer",no_results:"Sense resultats",no_results_copy:"Ajusta o neteja els filtres de cerca per veure els resultats.",clear_filters:"Neteja els filtres",saves_automatically:"Desa autom\xE0ticament",role:"Rol",rule:"Regla",user:"Usuari",no_presets:"Sense predefinits",no_presets_copy:"Encara no s'han desat predefinits o marcadors.",no_presets_cta:"Afegeix predefinit",presets_only:"Nom\xE9s predefinit",create:"Crear",on_create:"En la creaci\xF3",on_update:"En l'actualitzaci\xF3",read:"Llegir",update:"Actualitzar",select_fields:"Selecciona els camps",format_text:"Formata el text",bold:"Negreta",toggle:"Canvia",icon_on:"Icona activada",icon_off:"Icona desactivada",label:"Etiqueta",full_screen:"Pantalla completa",image_url:"URL de la imatge",alt_text:"Text alternatiu",media:"M\xE8dia",quality:"Qualitat",width:"Amplada",height:"Al\xE7ada",source:"Origen",url_placeholder:"Introdueix una URL...",display_text:"Text a mostrar",display_text_placeholder:"Introdueix el text a mostrar...",tooltip:"Consell",tooltip_placeholder:"Introdueix el consell...",unlimited:"Il\xB7limitat",open_link_in:"Obre l'enlla\xE7 a",new_tab:"Nova pestanya",current_tab:"Pestanya actual",wysiwyg_options:{aligncenter:"Alinea al centre",alignjustify:"Justifica",alignleft:"Alinea a l'esquerra",alignnone:"Cap alineament",alignright:"Alinea a la dreta",forecolor:"Color de primer pla",backcolor:"Color de fons",bold:"Negreta",italic:"Cursiva",underline:"Subratllat",strikethrough:"Tatxat",subscript:"Sub\xEDndex",superscript:"Super\xEDndex",codeblock:"Codi",blockquote:"Bloc de cita",bullist:"Llista amb vinyetes",numlist:"Llista ordenada",hr:"Regle horitzontal",link:"Afegeix / Edita l'enlla\xE7",unlink:"Elimina l'enlla\xE7",media:"Afegeix / Edita el m\xE8dia",image:"Afegeix / Edita la imatge",copy:"Copia",cut:"Retalla",paste:"Enganxa",heading:"Encap\xE7alament",h1:"Cap\xE7alera 1",h2:"Encap\xE7alament 2",h3:"Encap\xE7alament 3",h4:"Encap\xE7alament 4",h5:"Encap\xE7alament 5",h6:"Heading 6",fontselect:"Selecciona font",fontsizeselect:"Selecciona la mida de la font",indent:"Sagna",outdent:"Redueix el sagnat",undo:"Desf\xE9s",redo:"Ref\xE9s",remove:"Elimina",removeformat:"Elimina el format",selectall:"Marca totes",table:"Taula",visualaid:"Visualitza els elements invisibles",source_code:"Edita el codi font",fullscreen:"Pantalla completa",directionality:"Direcci\xF3"},dropdown:"Desplegable",choices:"Opcions",choices_option_configured_incorrectly:"Opcions configurades incorrectament",deselect:"Deselecciona",deselect_all:"Deselecciona-ho tot",other:"Altres...",adding_user:"Afegint usuari",unknown_user:"Usuari desconegut",creating_in:"Creant element a {collection}",editing_in:"Editant l'element a {collection}",creating_unit:"Creant {unit}",editing_unit:"Editant {unit}",editing_in_batch:"Editant {count} elements",no_options_available:"Sense opcions disponibles",settings_data_model:"Model de dades",settings_permissions:"Rols i permisos",settings_project:"Ajustaments del projecte",settings_webhooks:"Webhooks",settings_presets:"Predefinits i Marcadors",one_or_more_options_are_missing:"Falta una o m\xE9s opcions",scope:"Abast",select:"Selecciona...",layout:"Disposici\xF3",tree_view:"Vista d'arbre",changes_are_permanent:"Els canvis s\xF3n permanents",preset_name_placeholder:"Serveix com a predeterminat quan \xE9s buit...",preset_search_placeholder:"Cerca consulta...",editing_preset:"Editant el predefinit",layout_preview:"Vista preliminar de la disposici\xF3",layout_setup:"Configuraci\xF3 de la disposici\xF3",unsaved_changes:"Canvis no desats",unsaved_changes_copy:"Est\xE0s segur que vols sortir d'aquesta p\xE0gina?",discard_changes:"Descarta els canvis",keep_editing:"Continua editant",page_help_collections_collection:"** Cerca elements **: Llista de tots els elements de {collection} als quals tens acc\xE9s. Personalitza el disseny, els filtres i l\u2019ordenaci\xF3 per adaptar-la a la teva vista i, fins i tot, desa els marcadors d\u2019aquestes diferents configuracions per accedir-hi r\xE0pidament.",page_help_collections_item:"** Detall de l'element **: Un formulari per visualitzar i gestionar aquest element. Aquesta barra lateral tamb\xE9 cont\xE9 un historial complet de revisions i comentaris incrustats.",page_help_activity_collection:"** Activitat de navegaci\xF3 **: Llista completa de tota l'activitat de contingut i sistema del vostre usuari.",page_help_docs_global:"** Informaci\xF3 general de la documentaci\xF3 **: Documents adaptats espec\xEDficament a la versi\xF3 i l'esquema d'aquest projecte.",page_help_files_collection:"** Biblioteca de fitxers **: Llista de tots els recursos de fitxers carregats en aquest projecte. Personalitza el disseny, els filtres i l\u2019ordenaci\xF3 per adaptar-la a la teva vista i, fins i tot, desa els marcadors d\u2019aquestes configuracions per accedir-hi r\xE0pidament.",page_help_files_item:"** Detall de fitxer **: Formulari per gestionar metadades de fitxers, editar el recurs original i actualitzar la configuraci\xF3 d'acc\xE9s.",page_help_settings_project:"** Configuraci\xF3 del projecte **: Opcions de configuraci\xF3 global del vostre projecte.",page_help_settings_datamodel_collections:"** Model de dades: Col\xB7leccions **: Llista de totes les col\xB7leccions disponibles. Aix\xF2 inclou col\xB7leccions visibles, ocultes i del sistema, aix\xED com taules de bases de dades no gestionades que es poden afegir.",page_help_settings_datamodel_fields:"** Model de dades: col\xB7lecci\xF3 **: Un formulari per gestionar aquesta col\xB7lecci\xF3 i els seus camps.",page_help_settings_roles_collection:"** Fons d'exploraci\xF3 **: Llista dels rols Administrador, p\xFAblic i personalitzats.",page_help_settings_roles_item:"** Detalls del rol **: Gestiona els permisos i altres par\xE0metres d'un rol.",page_help_settings_presets_collection:"** Cerca predefinits **: Llista de tots els predefinits del projecte, inclosos: marcadors d'usuaris, de rol i globals, aix\xED com les vistes predeterminades.",page_help_settings_presets_item:"** Detall de predefinit **: Un formulari per gestionar adreces d'inter\xE8s i predefinits de col\xB7lecci\xF3 predeterminats.",page_help_settings_webhooks_collection:"** Examinar Webhooks **: Llista tots els webhooks del projecte.",page_help_settings_webhooks_item:"** Detall de webhook **: Un formulari per crear i gestionar webhooks del projecte.",page_help_users_collection:"**Directori de l'usuari**.",page_help_users_item:"** Detall de l'usuari **: Gestiona la informaci\xF3 del compte o consulta la informaci\xF3 d'altres usuaris.",activity_feed:"Canal d'activitat",add_new:"Afegir nou",create_new:"Crea un nou",all:"Tots",none:"Cap",no_layout_collection_selected_yet:"No s'ha seleccionat cap disposici\xF3 / col\xB7lecci\xF3",batch_delete_confirm:"No s'ha seleccionat cap element | Esteu segur que voleu suprimir aquest element? No es pot desfer aquesta acci\xF3. | Esteu segur que voleu suprimir aquests {count} elements? No es pot desfer aquesta acci\xF3.",cancel:"Cancel \xB7 la",collection:"Co\u0140lecci\xF3",collections:"Col\xB7leccions",singleton:"Singleton",singleton_label:"Tracta com un objecte \xFAnic",system_fields_locked:"Els camps del sistema estan bloquejats i no poden editar-se",fields:{directus_activity:{item:"Clau primaria de l'\xEDtem",action:"Acci\xF3",collection:"Co\u0140lecci\xF3",timestamp:"Acci\xF3 activada",user:"Acci\xF3 de",comment:"Comentari",user_agent:"Agent de l'usuari",ip:"Adre\xE7a IP",revisions:"Revisions"},directus_collections:{collection:"Co\u0140lecci\xF3",icon:"Icona",note:"Nota",color:"Color",display_template:"Mostra la plantilla",hidden:"Amagat",singleton:"Singleton",translations:"Traduccions de noms de col\xB7lecci\xF3",archive_app_filter:"Filtre d'arxivat de l'aplicaci\xF3",archive_value:"Valor d'arxivat",unarchive_value:"Valor per desarxivar",sort_field:"Camp d'ordenaci\xF3",accountability:"Tra\xE7a d'activitat i revisi\xF3"},directus_files:{$thumbnail:"Miniatura",title:"T\xEDtol",description:"Descripci\xF3",tags:"Etiquetes",location:"Localitzaci\xF3",storage:"Emmagatzematge",filename_disk:"Nom del fitxer (Disc)",filename_download:"Nom del fitxer (Desc\xE0rrega)",metadata:"Metadades",type:"Tipus Mime",filesize:"Mida",modified_by:"Modificat per",modified_on:"Modificat el",created_on:"Creat el",created_by:"Creat per",embed:"Inclou",uploaded_by:"Pujat per",folder:"Carpeta",width:"Amplada",uploaded_on:"Pujat el",height:"Al\xE7ada",charset:"Conjunt de car\xE0cters",duration:"Durada"},directus_users:{first_name:"Nom",last_name:"Cognoms",email:"Correu electr\xF2nic",password:"Contrasenya",avatar:"Foto",location:"Localitzaci\xF3",title:"T\xEDtol",description:"Descripci\xF3",tags:"Etiquetes",user_preferences:"Prefer\xE8ncies de l'usuari",language:"Idioma",theme:"Tema",theme_auto:"Autom\xE0tic (basat en el sistema)",theme_light:"Mode clar",theme_dark:"Mode fosc",tfa_secret:"Autenticaci\xF3 de doble factor",admin_options:"Opcions d'administrador",status:"Estat",status_draft:"Esborrany",status_active:"Activa",status_suspended:"Susp\xE8s",status_archived:"Arxivat",role:"Rol",token:"Token",token_placeholder:"Entra un testimoni d'acc\xE9s (token) segur...",last_page:"\xDAltima p\xE0gina",last_access:"\xDAltim acc\xE9s"},directus_settings:{project_name:"Nom del projecte",project_url:"URL del projecte",project_color:"Color del projecte",project_logo:"Logotip del projecte",public_foreground:"Primer pla p\xFAblic",public_background:"Fons p\xFAblic",public_note:"Anotaci\xF3 de la vista p\xFAblica",auth_password_policy:"Pol\xEDtica de contrasenyes",auth_login_attempts:"Intents d'autenticaci\xF3",overrides:"Substituci\xF3ns de l'aplicaci\xF3",custom_css:"CSS personalitzat"},directus_shares:{name:"Nom",role:"Rol",password:"Contrasenya"},directus_fields:{collection:"Nom de la col\xB7lecci\xF3",icon:"Icona de la col\xB7lecci\xF3",note:"Nota",hidden:"Amagat",singleton:"Singleton",translation:"Traducci\xF3 de noms de camps",display_template:"Plantilla"},directus_roles:{name:"Nom del Rol",icon:"Icona del rol",description:"Descripci\xF3",app_access:"Acc\xE9s a l'aplicaci\xF3",admin_access:"Acc\xE9s d'administrador",ip_access:"Acc\xE9s per IP",enforce_tfa:"Requereix 2FA",users:"Usuaris al rol",module_list:"Navegaci\xF3 dels m\xF2duls"},directus_webhooks:{name:"Nom",method:"M\xE8tode",status:"Estat",data:"Dades",value:"Valor",data_label:"Envia les dades de l'event",triggers:"Disparadors",actions:"Accions",collections:"Col\xB7leccions"}},field_options:{directus_settings:{security_divider_title:"Seguretat",files_divider_title:"Fitxers i miniatures",overrides_divider_title:"Substituci\xF3ns de l'aplicaci\xF3"},directus_activity:{create:"Crear",update:"Actualitzar",delete:"Elimina"},directus_collections:{track_activity_revisions:"Tra\xE7a l'activitat i revisions",only_track_activity:"Nom\xE9s tra\xE7a l'activitat",do_not_track_anything:"No tracis res",collection_setup:"Configuraci\xF3 de la col\xB7lecci\xF3",singleton:"Tracta com un objecte \xFAnic",language:"Idioma",translation:"Traducci\xF3",collection_name:"Nom de la col\xB7lecci\xF3",archive_divider:"Arxiu",sort_divider:"Ordre"},directus_roles:{fields:{icon_name:"Icona",name_name:"Nom",name_placeholder:"Introdueix un t\xEDtol..."},collections_name:"Col\xB7leccions"},directus_users:{preferences_divider:"Prefer\xE8ncies de l'usuari",dropdown_auto:"Autom\xE0tic (basat en el sistema)",dropdown_light:"Mode clar",dropdown_dark:"Mode fosc",admin_divider:"Opcions d'administrador",status_dropdown_draft:"Esborrany",status_dropdown_active:"Activa",status_dropdown_suspended:"Susp\xE8s",status_dropdown_archived:"Arxivat",token:"Entra un testimoni d'acc\xE9s (token) segur..."},directus_webhooks:{status_options_active:"Activa",status_options_inactive:"Inactiva",data_label:"Envia les dades de l'event",triggers_divider:"Disparadors",actions_create:"Crear",actions_update:"Actualitzar",actions_delete:"Elimina",headers:{value:"Valor"}}},no_fields_in_collection:'Encara no hi ha camps a "{collection}"',do_nothing:"No facis res",generate_and_save_uuid:"Genera i Desa UUID",save_current_user_id:"Desa el ID d'usuari actual",save_current_user_role:"Desa el rol d'usuari actual",save_current_datetime:"Desa la Data/Hora actual",start_open:"Comen\xE7a obert",block:"Block",inline:"Inline",comment:"Comentari",relational_triggers:"Disparadors relacionals",referential_action_field_label_m2o:"Si s'esborra de {collection}...",referential_action_field_label_o2m:"Si es deselecciona de {collection}...",referential_action_no_action:"Evita l'eliminaci\xF3",referential_action_cascade:"Elimina l'element de {collection} (cascada)",referential_action_set_null:"Nullifica el camp {field}",referential_action_set_default:"Assigna el camp {field} al valor per defecte",choose_action:"Tria una acci\xF3",continue_label:"Continua",continue_as:"{name} est\xE0 autenticat. Si no reconeixes aquest compte, polsa continua.",editing_role:"Rol {role}",creating_webhook:"Creant el webhook",default_label:"Predeterminat",delete_label:"Elimina",delete_are_you_sure:"Aquesta acci\xF3 \xE9s permanent i no es pot desfer. Est\xE0s segur que vols continuar?",delete_field_are_you_sure:'Segur que vols eliminar el camp "{field}"? Aquesta acci\xF3 no es pot desfer.',description:"Descripci\xF3",done:"Fet",duplicate:"Duplicat",limit:"L\xEDmit",email:"Correu electr\xF2nic",embed:"Inclou",fallback_icon:"Icona de reserva",field:"Camp | Camps",file:"Fitxer",file_library:"Biblioteca de fitxers",forgot_password:"He oblidat la contrasenya",hidden:"Amagat",icon:"Icona",info:"Informaci\xF3",normal:"Normal",success:"\xC8xit",warning:"Advertencia",danger:"Perill",junction_collection:"Uni\xF3 de col\xB7leccions",latency:"Lat\xE8ncia",login:"Entra",my_activity:"La meva activitat",not_authenticated:"No autenticat",authenticated:"Autenticat",options:"Opcions",otp:"Contrasenya d'un sol \xFAs",password:"Contrasenya",permissions:"Permisos",relationship:"Relacions",reset:"Restablir",reset_password:"Restableix la contrasenya",revisions:"Revisions",revert:"Desf\xE9s",save:"Desa",schema:"Esquema",search:"Cerca",select_existing:"Selecciona existent",select_field_type:"Selecciona el tipus de camp",select_interface:"Selecciona la interf\xEDcie",settings:"Configuraci\xF3",sign_in:"Inicia sessi\xF3",sign_out:"Tanca la sessi\xF3",sign_out_confirm:"Est\xE0s segur que vols tancar la sessi\xF3?",something_went_wrong:"Alguna cosa no ha anat b\xE9.",sort_direction:"Direcci\xF3 de l'ordenaci\xF3",sort_asc:"Ordre ascendent",sort_desc:"Ordre descendent",template:"Plantilla",require_value_to_be_set:"Requereix un valor",translation:"Traducci\xF3",value:"Valor",view_project:"Veure el projecte",report_error:"Notifica un error",start:"Comen\xE7a",interfaces:{filter:{add_filter:"Afegeix un filtre",all:"Tots",any:"Qualsevol"},"group-accordion":{name:"Acordi\xF3",description:"Mostra els camps o els grups com a seccions de l'acordi\xF3",start:"Comen\xE7a",all_closed:"Tots tancats",first_opened:"Primer obert",all_opened:"Tots oberts",accordion_mode:"Mode d'acordi\xF3",max_one_section_open:"M\xE0xim 1 secci\xF3 oberta"},"presentation-links":{"presentation-links":"Bot\xF3 d'enlla\xE7os",links:"Enlla\xE7os",description:"Botons d'enlla\xE7os configurables per a llan\xE7ar URLs din\xE0miques",style:"Estil",primary:"Primari",link:"Enlla\xE7os",button:"Botons",error:"No es pot dur a terme l'acci\xF3"},"select-multiple-checkbox":{checkboxes:"Camps de selecci\xF3 (Checkboxes)",description:"Selecciona entre m\xFAltiples opcions via camps de selecci\xF3",allow_other:"Permet altres",show_more:"Mostra {count} m\xE9s",items_shown:"Elements mostrats"},"select-multiple-checkbox-tree":{name:"Arbre de camps de selecci\xF3 (checkboxes Tree)",description:"Selecciona entre m\xFAltiples opcions via camps de selecci\xF3 (checkboxes)",value_combining:"Valor combinant",value_combining_note:"Controla quin valor \xE9s emmagatzemant quan es fan les seleccions anidades.",show_all:"Mostra-ho tot",show_selected:"Mostra els seleccionts"},"input-code":{code:"Codi",description:"Escriu o comparteix snippets de codi",line_number:"N\xFAmero de l\xEDnia",placeholder:"Introdueix el codi aqu\xED..."},"system-collection":{collection:"Co\u0140lecci\xF3",description:"Selecciona entre les seg\xFCents col\xB7leccions",include_system_collections:"Inclou les col\xB7leccions del sistema"},"system-collections":{collections:"Col\xB7leccions",description:"Selecciona entre les seg\xFCents col\xB7leccions",include_system_collections:"Inclou les col\xB7leccions del sistema"},"select-color":{color:"Color",description:"Entra o selecciona un valor de color",placeholder:"Tria un color...",preset_colors:"Predefinit de colors",preset_colors_add_label:"Afegeix un nou color...",name_placeholder:"Introdueix un nom de color..."},datetime:{datetime:"Data i hora",description:"Introdueix dates i hores",include_seconds:"Inclou els segons",set_to_now:`Fixa'l a "Ara"`,use_24:"Utilitza el format de 24 hores"},"system-display-template":{"display-template":"Mostra la plantilla",description:"Barreja text est\xE0tic i valors de camp din\xE0mic",collection_field:"Camp de col\xB7lecci\xF3",collection_field_not_setup:"L'opci\xF3 de camp de col\xB7lecci\xF3 no est\xE0 configurada",select_a_collection:"Selecciona una col\xB7lecci\xF3"},"presentation-divider":{divider:"Separador",description:"Etiqueta i divideix els camps en seccions",inline_title:"T\xEDtol en l\xEDnia",inline_title_label:"Mostra el t\xEDtol dins la l\xEDnia",margin_top:"Marge superior",margin_top_label:"Incrementa el marge superior"},"select-dropdown":{description:"Selecciona el valor del desplegable",choices_placeholder:"Afegeix una nova opci\xF3",allow_other:"Permet altres",allow_other_label:"Permet altres valors",allow_none:"No permetre cap",allow_none_label:"Permet cap selecci\xF3",choices_name_placeholder:"Introdueix un nom...",choices_value_placeholder:"Introdueix un valor..."},"select-multiple-dropdown":{"select-multiple-dropdown":"Desplegable (M\xFAltiple)",description:"Selecciona m\xFAltiples valors des del desplegable"},file:{file:"Fitxer",description:"Selecciona o carrega un fitxer"},files:{files:"Arxius",description:"Selecciona o carrega m\xFAltiples fitxers"},"input-hash":{hash:"Hash",description:"Entra un valor per aplicar-hi hash",masked:"Enmascarat",masked_label:'Amaga els valors "cert"'},"select-icon":{icon:"Icona",description:"Selecciona la icona d'un desplegable",search_for_icon:"Cerca una icona..."},"file-image":{image:"Imatge",description:"Selecciona o carrega una imatge"},"system-interface":{interface:"Interf\xEDcie",description:"Selecciona una interf\xEDcie existent",placeholder:"Selecciona una interf\xEDcie..."},"system-interface-options":{"interface-options":"Opcions d'Interf\xEDcie",description:"Un modal per la selecci\xF3 de les opcions d'interf\xEDcie"},"list-m2m":{"many-to-many":"Molts a molts",description:"Selecciona m\xFAltiples elements d'uni\xF3 relacionats"},"select-dropdown-m2o":{"many-to-one":"Molts a un",description:"Selecciona un \xFAnic element relacionat",display_template:"Mostra la plantilla"},"input-rich-text-md":{markdown:"Markdown",description:"Entra i previsualitza el markdown",edit:"Edita",customSyntax:"Blocs personalitzats",customSyntax_label:"Afegeix tipus de sintaxi personalitzats",customSyntax_add:"Afegeix sintaxi personalitzada",box:"Block / Inline"},map:{map:"Mapa",description:"Selecciona una localitzaci\xF3 al mapa",zoom:"Zoom",invalid_options:"Opcions no v\xE0lides",invalid_format:"Format no v\xE0lid ({format})",unexpected_geometry:"Esperat {expected}, obtingut {got}.",fit_bounds:"Ajusta la vista a les dades",native:"Nadiu",geojson:"GeoJSON",lnglat:"Longitud, Latitud",wkt:"WKT",wkb:"WKB"},"presentation-notice":{notice:"Av\xEDs",description:"Mostra un petit av\xEDs",text:"Introdueix el contingut de l'av\xEDs aqu\xED..."},"list-o2m":{"one-to-many":"Un a Molts",description:"Selecciona m\xFAltiples elements relacionats",no_collection:"No s'ha trobat la col\xB7lecci\xF3"},"system-folder":{folder:"Carpeta",description:"Selecciona una carpeta",root_name:"Arrel de la biblioteca de fitxers",system_default:"Predeterminats del sistema"},"select-radio":{"radio-buttons":"Botons de selecci\xF3",description:"Selecciona una de m\xFAltiples opcions"},list:{repeater:"Repetidor",description:"Crea m\xFAltiples entrades de la mateixa estructura",edit_fields:"Edita els camps",add_label:'Etiqueta "Crea nou"',field_name_placeholder:"Introdueix nou camp...",field_note_placeholder:"Introdueix una nota sobre el camp..."},slider:{slider:"Lliscador",description:"Selecciona un n\xFAmero utilitzant el lliscador",always_show_value:"Mostra el valor sempre"},tags:{tags:"Etiquetes",description:"Selecciona o afegeix etiquetes",whitespace:"Espai en blanc",hyphen:"Substitueix per guionet",underscore:"Substitueix per gui\xF3 baix",remove:"Elimina l'espai en blanc",capitalization:"Maj\xFAscules",uppercase:"Converteix maj\xFAscules",lowercase:"Converteix min\xFAscules",auto_formatter:"Utilitza autoformatador del t\xEDtol",alphabetize:"Alfab\xE8tic",alphabetize_label:"For\xE7a ordre alfab\xE8tic"},input:{input:"Entrada",description:"Entra manualment un valor",trim:"Elimina espais",trim_label:"Elimina espais de l'inici i el final",mask:"Enmascarat",mask_label:"Amaga el valor real",clear:"Valor netejat",clear_label:"Desa com una cadena buida",minimum_value:"Valor m\xEDnim",maximum_value:"Valor m\xE0xim",step_interval:"Interval del pas",slug:"Slugify",slug_label:"Fes URL segura el valor entrat"},"input-multiline":{textarea:"Textarea",description:"Entra text multil\xEDnia"},boolean:{toggle:"Canvia",description:"Canvia entre Enc\xE9s i apagat",color_on:"Color activat",color_off:"Color desactivat",label_placeholder:"Introdueix una etiqueta...",label_default:"Habilitat"},translations:{display_template:"Mostra la plantilla",no_collection:"No hi ha col\xB7leccions"},"list-o2m-tree-view":{description:"Vista d'arbre per a elements un-a-molts anidats recursivament",recursive_only:"La interf\xEDcie de vista d'arbre nom\xE9s funciona per a relacions recursives."},user:{user:"Usuari",description:"Seleccioneu un usuari existent",select_mode:"Selecciona el mode",modes:{auto:"Auto",dropdown:"Desplegable",modal:"Modal"}},"input-rich-text-html":{wysiwyg:"WYSIWYG",description:"Un editor de text enriquit escrivint contingut HTML",toolbar:"Barra d'eines",custom_formats:"Formats personalitzats",options_override:"Sobreescriptura d'opcions"},"input-autocomplete-api":{"input-autocomplete-api":"Entrada autocompleta (API)",description:"Una cerca typeahead per valors d'API externes.",results_path:"Cam\xED dels resultats",value_path:"Cam\xED del Valor",trigger:"Disparador",rate:"Velocitat"},"group-raw":{name:"Grup en brut",description:"Mostra el contingut tal com \xE9s"},"group-detail":{name:"Detall del grup",description:"Mostra els camps com una secci\xF3 plegable",show_header:"Mostra la cap\xE7alera del grup",header_icon:"Icona de la cap\xE7alera",header_color:"Color de la cap\xE7alera",start_open:"Comen\xE7a obert",start_closed:"Comen\xE1 tancat"}},displays:{translations:{translations:"Traduccions"},boolean:{boolean:"Boolean",description:"Mostra els estats Activat i desactivat",label_on:"Etiqueta activada",label_on_placeholder:"Introdueix l'etiqueta activada...",label_off:"Etiqueta desactivada",label_off_placeholder:"Introdueix l'etiqueta desactivada...",icon_on:"Icona activada",icon_off:"Icona desactivada",color_on:"Color activat",color_off:"Color desactivat"},collection:{collection:"Co\u0140lecci\xF3",description:"Mostra una col\xB7lecci\xF3",icon_label:"Mostra la icona de la col\xB7lecci\xF3"},color:{color:"Color",description:"Mostra un punt colorejat",default_color:"Color predeterminat"},datetime:{datetime:"Data i hora",description:"Mostra valors associats al temps",format:"Format",format_note:"El format personalitzat accepta __[Date Field Symbol Table](https://www.unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table)__",long:"Llarg",short:"Curt",relative:"Relatiu",relative_label:"Mostra el temps relatiu, ex: fa 5 minuts"},file:{file:"Fitxer",description:"Mostra fitxers"},filesize:{filesize:"Mida del fitxer",description:"Mostra la mida del fitxer"},"formatted-value":{"formatted-value":"Valor formatat",description:"Mostra una versi\xF3 formatada del text",format:"Format",font:"Font",font_serif:"Serif",font_monospace:"Espai \xFAnic",bold:"Negreta",bold_label:"Utilitza text en negreta",italic:"Cursiva",prefix:"Prefix",suffix:"Sufix",color:"Color",icon:"Icona",text:"Text"},"formatted-json-value":{"formatted-json-value":"Valor JSON formatat",description:"Mostra una versi\xF3 formatada del l'objecte"},icon:{icon:"Icona",description:"Mostra una icona",filled:"Emplenat",filled_label:"Utilitza una variant emplenada"},image:{image:"Imatge",description:"Mostra una petita previsualitzaci\xF3 de la imatge",circle:"Cercle",circle_label:"Mostra com a cercle"},labels:{labels:"Etiquetes",description:"Mostra un \xFAnic o b\xE9 una llista d'etiquetes",default_foreground:"Primer pla predeterminat",default_background:"Fons prederterminat",format_label:"Formata cada etiqueta",show_as_dot:"Mostra com a punt",choices_value_placeholder:"Introdueix un valor...",choices_text_placeholder:"Introdueix un text..."},"mime-type":{"mime-type":"TIpus MIME",description:"Mostra el tipus MIME d'un fitxer",extension_only:"Nom\xE9s l'extensi\xF3",extension_only_label:"Mostra nom\xE9s l'extensi\xF3"},rating:{rating:"Puntuaci\xF3",description:"Visualitza un n\xFAmero d'estrelles relatiu al valor m\xE0xim",simple:"Simple",simple_label:"Mostra estrelles en un format simple"},raw:{raw:"Calor en brut"},"related-values":{"related-values":"Valors relacionats",description:"Mostra valors relacionats"},user:{user:"Usuari",description:"Mostra un usuari",avatar:"Foto",name:"Nom",both:"Ambd\xF3s",circle_label:"Mostra l'usuari en un cercle"}},layouts:{cards:{cards:"Targetes",image_source:"Recurs d'imatge",image_fit:"Ajusta l'imatge",crop:"Retalla",contain:"Cont\xE9",title:"T\xEDtol",subtitle:"Subt\xEDtol"},tabular:{tabular:"Taula",spacing:"Espaiat",comfortable:"C\xF2moda",compact:"Compacta",cozy:"Acollidora"},calendar:{calendar:"Calendari",start_date_field:"Camp de data d'inici",end_date_field:"Camp de data de fi"},map:{map:"Mapa",basemap:"Mapa base",layers:"Capes",cluster_options:"Opcions de clustering",cluster_radius:"Radi del cluster",cluster_minpoints:"Mida m\xEDnima del cl\xFAster",cluster_maxzoom:"Zoom m\xE0xim per clustering",invalid_geometry:"Geometria inv\xE0lida"}},panels:{label:{name:"Etiqueta"}}},a=e.avatar,t=e.default_provider,i=e.draft,r=e.archived,l=e.edit_field,o=e.conditions,s=e.maps,n=e.item_revision,c=e.duplicate_field,_=e.half_width,d=e.full_width,u=e.group,p=e.and,m=e.or,v=e.fill_width,f=e.field_name_translations,g=e.enter_password_to_enable_tfa,h=e.add_field,b=e.role_name,y=e.branch,x=e.leaf,w=e.indeterminate,C=e.exclusive,k=e.children,E=e.show_archived_items,q=e.edited,A=e.required,I=e.required_for_app_access,M=e.requires_value,S=e.create_preset,N=e.create_role,D=e.create_user,T=e.create_webhook,R=e.invite_users,z=e.invite,P=e.email_already_invited,j=e.emails,U=e.connection_excellent,O=e.connection_good,L=e.connection_fair,F=e.connection_poor,V=e.primary,B=e.rename_folder,H=e.delete_folder,G=e.prefix,W=e.suffix,J=e.reset_bookmark,Q=e.update_bookmark,Y=e.delete_bookmark,K=e.delete_bookmark_copy,Z=e.logoutReason,X=e.public_label,$=e.public_description,ee=e.not_allowed,ae=e.directus_version,te=e.node_version,ie=e.node_uptime,re=e.os_type,le=e.os_version,oe=e.os_uptime,se=e.os_totalmem,ne=e.archive,ce=e.archive_confirm,_e=e.archive_confirm_count,de=e.reset_system_permissions_to,ue=e.reset_system_permissions_copy,pe=e.the_following_are_minimum_permissions,me=e.app_access_minimum,ve=e.recommended_defaults,fe=e.unarchive,ge=e.unarchive_confirm,he=e.nested_files_folders_will_be_moved,be=e.validationError,ye=e.all_access,xe=e.no_access,we=e.use_custom,Ce=e.nullable,ke=e.allow_null_value,Ee=e.allow_multiple,qe=e.allow_multiple_to_be_open,Ae=e.enter_value_to_replace_nulls,Ie=e.field_standard,Me=e.field_presentation,Se=e.field_file,Ne=e.field_files,De=e.field_m2o,Te=e.field_m2a,Re=e.field_o2m,ze=e.field_m2m,Pe=e.field_translations,je=e.field_group,Ue=e.item_permissions,Oe=e.field_permissions,Le=e.field_validation,Fe=e.field_presets,Ve=e.permissions_for_role,Be=e.fields_for_role,He=e.validation_for_role,Ge=e.presets_for_role,We=e.presentation_and_aliases,Je=e.hide_field_on_detail,Qe=e.show_field_on_detail,Ye=e.delete_field,Ke=e.fields_and_layout,Ze=e.field_create_success,Xe=e.field_update_success,$e=e.duplicate_where_to,ea=e.language,aa=e.global,ta=e.admins_have_all_permissions,ia=e.camera,ra=e.exposure,la=e.shutter,oa=e.iso,sa=e.focal_length,na=e.schema_setup_key,ca=e.create_field,_a=e.creating_new_field,da=e.field_in_collection,ua=e.reset_page_preferences,pa=e.hidden_field,ma=e.hidden_on_detail,va=e.disabled_editing_value,fa=e.key,ga=e.alias,ha=e.bigInteger,ba=e.boolean,ya=e.date,xa=e.datetime,wa=e.dateTime,Ca=e.decimal,ka=e.float,Ea=e.integer,qa=e.json,Aa=e.xml,Ia=e.string,Ma=e.text,Sa=e.time,Na=e.timestamp,Da=e.uuid,Ta=e.hash,Ra=e.not_available_for_type,za=e.create_translations,Pa=e.auto_refresh,ja=e.refresh_interval,Ua=e.no_refresh,Oa=e.refresh_interval_seconds,La=e.refresh_interval_minutes,Fa=e.auto_generate,Va=e.this_will_auto_setup_fields_relations,Ba=e.click_here,Ha=e.to_manually_setup_translations,Ga=e.click_to_manage_translated_fields,Wa=e.fields_group,Ja=e.no_collections_found,Qa=e.new_data_alert,Ya=e.search_collection,Ka=e.new_field,Za=e.new_collection,Xa=e.choose_a_type,$a=e.determined_by_relationship,et=e.add_note,at=e.default_value,tt=e.standard_field,it=e.single_file,rt=e.multiple_files,lt=e.m2o_relationship,ot=e.o2m_relationship,st=e.m2m_relationship,nt=e.m2a_relationship,ct=e.invalid_item,_t=e.next,dt=e.field_name,ut=e.translations,pt=e.note,mt=e.enter_a_value,vt=e.enter_a_placeholder,ft=e.length,gt=e.precision_scale,ht=e.readonly,bt=e.unique,yt=e.updated_on,xt=e.updated_by,wt=e.primary_key,Ct=e.foreign_key,kt=e.finish_setup,Et=e.dismiss,qt=e.raw_value,At=e.edit_raw_value,It=e.enter_raw_value,Mt=e.notifications,St=e.show_all_activity,Nt=e.page_not_found,Dt=e.page_not_found_body,Tt=e.confirm_revert,Rt=e.confirm_revert_body,zt=e.display,Pt=e.settings_update_success,jt=e.title,Ut=e.revision_delta_created,Ot=e.revision_delta_created_externally,Lt=e.revision_delta_updated,Ft=e.revision_delta_deleted,Vt=e.revision_delta_reverted,Bt=e.revision_delta_other,Ht=e.revision_delta_by,Gt=e.private_user,Wt=e.revision_preview,Jt=e.updates_made,Qt=e.leave_comment,Yt=e.post_comment_success,Kt=e.item_create_success,Zt=e.item_update_success,Xt=e.item_delete_success,$t=e.this_collection,ei=e.related_collection,ai=e.related_collections,ti=e.translations_collection,ii=e.languages_collection,ri=e.label_import,li=e.format,oi=e.last_page,si=e.last_access,ni=e.fill_template,ci=e.a_unique_table_name,_i=e.a_unique_column_name,di=e.enable_custom_values,ui=e.submit,pi=e.move_to_folder,mi=e.move,vi=e.system,fi=e.add_field_related,gi=e.interface_label,hi=e.today,bi=e.yesterday,yi=e.delete_comment,xi=e.functions,wi=e.month,Ci=e.year,ki=e.select_all,Ei=e.months,qi=e.drag_mode,Ai=e.cancel_crop,Ii=e.original,Mi=e.url,Si=e.import_label,Ni=e.file_details,Di=e.dimensions,Ti=e.size,Ri=e.created,zi=e.modified,Pi=e.checksum,ji=e.owner,Ui=e.edited_by,Oi=e.folder,Li=e.zoom,Fi=e.download,Vi=e.open,Bi=e.open_in_new_window,Hi=e.foreground_color,Gi=e.background_color,Wi=e.upload_from_device,Ji=e.choose_from_library,Qi=e.import_from_url,Yi=e.replace_from_device,Ki=e.replace_from_library,Zi=e.replace_from_url,Xi=e.no_file_selected,$i=e.download_file,er=e.collection_key,ar=e.name,tr=e.primary_key_field,ir=e.type,rr=e.creating_new_collection,lr=e.created_by,or=e.created_on,sr=e.creating_collection_info,nr=e.creating_collection_system,cr=e.auto_increment_integer,_r=e.generated_uuid,dr=e.manual_string,ur=e.save_and_create_new,pr=e.save_and_stay,mr=e.save_as_copy,vr=e.add_existing,fr=e.creating_items,gr=e.enable_create_button,hr=e.selecting_items,br=e.enable_select_button,yr=e.comments,xr=e.no_comments,wr=e.click_to_expand,Cr=e.select_item,kr=e.no_items,Er=e.search_items,qr=e.disabled,Ar=e.information,Ir=e.report_bug,Mr=e.request_feature,Sr=e.interface_not_found,Nr=e.reset_interface,Dr=e.display_not_found,Tr=e.reset_display,Rr=e.item_count,zr=e.no_items_copy,Pr=e.file_count,jr=e.no_files_copy,Ur=e.user_count,Or=e.no_users_copy,Lr=e.webhooks_count,Fr=e.all_items,Vr=e.any,Br=e.csv,Hr=e.no_collections,Gr=e.create_collection,Wr=e.no_collections_copy_admin,Jr=e.no_collections_copy,Qr=e.relationship_not_setup,Yr=e.display_template_not_setup,Kr=e.collection_field_not_setup,Zr=e.select_a_collection,Xr=e.active,$r=e.copy,el=e.inactive,al=e.users,tl=e.activity,il=e.action,rl=e.ip_address,ll=e.user_agent,ol=e.webhooks,sl=e.field_width,nl=e.add_filter,cl=e.upper_limit,_l=e.lower_limit,dl=e.user_directory,ul=e.documentation,pl=e.sidebar,ml=e.duration,vl=e.charset,fl=e.second,gl=e.file_moved,hl=e.collection_created,bl=e.modified_on,yl=e.card_size,xl=e.sort_field,wl=e.add_sort_field,Cl=e.sort,kl=e.status,El=e.remove,ql=e.toggle_manual_sorting,Al=e.bookmark_doesnt_exist,Il=e.bookmark_doesnt_exist_copy,Ml=e.bookmark_doesnt_exist_cta,Sl=e.select_an_item,Nl=e.edit,Dl=e.enabled,Tl=e.disable_tfa,Rl=e.tfa_scan_code,zl=e.enter_otp_to_disable_tfa,Pl=e.create_account,jl=e.account_created_successfully,Ul=e.auto_fill,Ol=e.corresponding_field,Ll=e.errors,Fl=e.security,Vl=e.value_hashed,Bl=e.bookmark_name,Hl=e.create_bookmark,Gl=e.edit_bookmark,Wl=e.bookmarks,Jl=e.presets,Ql=e.unexpected_error,Yl=e.unexpected_error_copy,Kl=e.copy_details,Zl=e.no_app_access,Xl=e.no_app_access_copy,$l=e.password_reset_sent,eo=e.password_reset_successful,ao=e.back,to=e.editing_image,io=e.square,ro=e.free,lo=e.flip_horizontal,oo=e.flip_vertical,so=e.aspect_ratio,no=e.rotate,co=e.all_users,_o=e.delete_collection,uo=e.update_collection_success,po=e.delete_collection_success,mo=e.start_end_of_count_items,vo=e.start_end_of_count_filtered_items,fo=e.one_item,go=e.one_filtered_item,ho=e.delete_collection_are_you_sure,bo=e.collections_shown,yo=e.visible_collections,xo=e.hidden_collections,wo=e.show_hidden_collections,Co=e.hide_hidden_collections,ko=e.unmanaged_collections,Eo=e.system_collections,qo=e.placeholder,Ao=e.icon_left,Io=e.icon_right,Mo=e.count_other_revisions,So=e.font,No=e.sans_serif,Do=e.serif,To=e.monospace,Ro=e.divider,zo=e.color,Po=e.circle,jo=e.empty_item,Uo=e.log_in_with,Oo=e.advanced_settings,Lo=e.advanced_filter,Fo=e.delete_advanced_filter,Vo=e.change_advanced_filter_operator,Bo=e.operators,Ho=e.loading,Go=e.drop_to_upload,Wo=e.item,Jo=e.items,Qo=e.upload_file,Yo=e.upload_file_indeterminate,Ko=e.upload_file_success,Zo=e.upload_files_indeterminate,Xo=e.upload_files_success,$o=e.upload_pending,es=e.drag_file_here,as=e.click_to_browse,ts=e.interface_options,is=e.layout_options,rs=e.rows,ls=e.columns,os=e.collection_setup,ss=e.optional_system_fields,ns=e.value_unique,cs=e.all_activity,_s=e.create_item,ds=e.display_template,us=e.language_display_template,ps=e.translations_display_template,ms=e.n_items_selected,vs=e.per_page,fs=e.all_files,gs=e.my_files,hs=e.recent_files,bs=e.create_folder,ys=e.folder_name,xs=e.add_file,ws=e.replace_file,Cs=e.no_results,ks=e.no_results_copy,Es=e.clear_filters,qs=e.saves_automatically,As=e.role,Is=e.rule,Ms=e.user,Ss=e.no_presets,Ns=e.no_presets_copy,Ds=e.no_presets_cta,Ts=e.presets_only,Rs=e.create,zs=e.on_create,Ps=e.on_update,js=e.read,Us=e.update,Os=e.select_fields,Ls=e.format_text,Fs=e.bold,Vs=e.toggle,Bs=e.icon_on,Hs=e.icon_off,Gs=e.label,Ws=e.full_screen,Js=e.image_url,Qs=e.alt_text,Ys=e.media,Ks=e.quality,Zs=e.width,Xs=e.height,$s=e.source,en=e.url_placeholder,an=e.display_text,tn=e.display_text_placeholder,rn=e.tooltip,ln=e.tooltip_placeholder,on=e.unlimited,sn=e.open_link_in,nn=e.new_tab,cn=e.current_tab,_n=e.wysiwyg_options,dn=e.dropdown,un=e.choices,pn=e.choices_option_configured_incorrectly,mn=e.deselect,vn=e.deselect_all,fn=e.other,gn=e.adding_user,hn=e.unknown_user,bn=e.creating_in,yn=e.editing_in,xn=e.creating_unit,wn=e.editing_unit,Cn=e.editing_in_batch,kn=e.no_options_available,En=e.settings_data_model,qn=e.settings_permissions,An=e.settings_project,In=e.settings_webhooks,Mn=e.settings_presets,Sn=e.one_or_more_options_are_missing,Nn=e.scope,Dn=e.select,Tn=e.layout,Rn=e.tree_view,zn=e.changes_are_permanent,Pn=e.preset_name_placeholder,jn=e.preset_search_placeholder,Un=e.editing_preset,On=e.layout_preview,Ln=e.layout_setup,Fn=e.unsaved_changes,Vn=e.unsaved_changes_copy,Bn=e.discard_changes,Hn=e.keep_editing,Gn=e.page_help_collections_collection,Wn=e.page_help_collections_item,Jn=e.page_help_activity_collection,Qn=e.page_help_docs_global,Yn=e.page_help_files_collection,Kn=e.page_help_files_item,Zn=e.page_help_settings_project,Xn=e.page_help_settings_datamodel_collections,$n=e.page_help_settings_datamodel_fields,ec=e.page_help_settings_roles_collection,ac=e.page_help_settings_roles_item,tc=e.page_help_settings_presets_collection,ic=e.page_help_settings_presets_item,rc=e.page_help_settings_webhooks_collection,lc=e.page_help_settings_webhooks_item,oc=e.page_help_users_collection,sc=e.page_help_users_item,nc=e.activity_feed,cc=e.add_new,_c=e.create_new,dc=e.all,uc=e.none,pc=e.no_layout_collection_selected_yet,mc=e.batch_delete_confirm,vc=e.cancel,fc=e.collection,gc=e.collections,hc=e.singleton,bc=e.singleton_label,yc=e.system_fields_locked,xc=e.fields,wc=e.field_options,Cc=e.no_fields_in_collection,kc=e.do_nothing,Ec=e.generate_and_save_uuid,qc=e.save_current_user_id,Ac=e.save_current_user_role,Ic=e.save_current_datetime,Mc=e.start_open,Sc=e.block,Nc=e.inline,Dc=e.comment,Tc=e.relational_triggers,Rc=e.referential_action_field_label_m2o,zc=e.referential_action_field_label_o2m,Pc=e.referential_action_no_action,jc=e.referential_action_cascade,Uc=e.referential_action_set_null,Oc=e.referential_action_set_default,Lc=e.choose_action,Fc=e.continue_label,Vc=e.continue_as,Bc=e.editing_role,Hc=e.creating_webhook,Gc=e.default_label,Wc=e.delete_label,Jc=e.delete_are_you_sure,Qc=e.delete_field_are_you_sure,Yc=e.description,Kc=e.done,Zc=e.duplicate,Xc=e.limit,$c=e.email,e_=e.embed,a_=e.fallback_icon,t_=e.field,i_=e.file,r_=e.file_library,l_=e.forgot_password,o_=e.hidden,s_=e.icon,n_=e.info,c_=e.normal,__=e.success,d_=e.warning,u_=e.danger,p_=e.junction_collection,m_=e.latency,v_=e.login,f_=e.my_activity,g_=e.not_authenticated,h_=e.authenticated,b_=e.options,y_=e.otp,x_=e.password,w_=e.permissions,C_=e.relationship,k_=e.reset,E_=e.reset_password,q_=e.revisions,A_=e.revert,I_=e.save,M_=e.schema,S_=e.search,N_=e.select_existing,D_=e.select_field_type,T_=e.select_interface,R_=e.settings,z_=e.sign_in,P_=e.sign_out,j_=e.sign_out_confirm,U_=e.something_went_wrong,O_=e.sort_direction,L_=e.sort_asc,F_=e.sort_desc,V_=e.template,B_=e.require_value_to_be_set,H_=e.translation,G_=e.value,W_=e.view_project,J_=e.report_error,Q_=e.start,Y_=e.interfaces,K_=e.displays,Z_=e.layouts,X_=e.panels;export{_i as a_unique_column_name,ci as a_unique_table_name,jl as account_created_successfully,il as action,Xr as active,tl as activity,nc as activity_feed,vr as add_existing,h as add_field,fi as add_field_related,xs as add_file,nl as add_filter,cc as add_new,et as add_note,wl as add_sort_field,gn as adding_user,ta as admins_have_all_permissions,Lo as advanced_filter,Oo as advanced_settings,ga as alias,dc as all,ye as all_access,cs as all_activity,fs as all_files,Fr as all_items,co as all_users,Ee as allow_multiple,qe as allow_multiple_to_be_open,ke as allow_null_value,Qs as alt_text,p as and,Vr as any,me as app_access_minimum,ne as archive,ce as archive_confirm,_e as archive_confirm_count,r as archived,so as aspect_ratio,h_ as authenticated,Ul as auto_fill,Fa as auto_generate,cr as auto_increment_integer,Pa as auto_refresh,a as avatar,ao as back,Gi as background_color,mc as batch_delete_confirm,ha as bigInteger,Sc as block,Fs as bold,Al as bookmark_doesnt_exist,Il as bookmark_doesnt_exist_copy,Ml as bookmark_doesnt_exist_cta,Bl as bookmark_name,Wl as bookmarks,ba as boolean,y as branch,ia as camera,vc as cancel,Ai as cancel_crop,yl as card_size,Vo as change_advanced_filter_operator,zn as changes_are_permanent,vl as charset,Pi as checksum,k as children,un as choices,pn as choices_option_configured_incorrectly,Xa as choose_a_type,Lc as choose_action,Ji as choose_from_library,Po as circle,Es as clear_filters,Ba as click_here,as as click_to_browse,wr as click_to_expand,Ga as click_to_manage_translated_fields,fc as collection,hl as collection_created,Kr as collection_field_not_setup,er as collection_key,os as collection_setup,gc as collections,bo as collections_shown,zo as color,ls as columns,Dc as comment,yr as comments,o as conditions,Tt as confirm_revert,Rt as confirm_revert_body,U as connection_excellent,L as connection_fair,O as connection_good,F as connection_poor,Vc as continue_as,Fc as continue_label,$r as copy,Kl as copy_details,Ol as corresponding_field,Mo as count_other_revisions,Rs as create,Pl as create_account,Hl as create_bookmark,Gr as create_collection,ca as create_field,bs as create_folder,_s as create_item,_c as create_new,S as create_preset,N as create_role,za as create_translations,D as create_user,T as create_webhook,Ri as created,lr as created_by,or as created_on,sr as creating_collection_info,nr as creating_collection_system,bn as creating_in,fr as creating_items,rr as creating_new_collection,_a as creating_new_field,xn as creating_unit,Hc as creating_webhook,Br as csv,cn as current_tab,u_ as danger,ya as date,wa as dateTime,xa as datetime,Ca as decimal,e as default,Gc as default_label,t as default_provider,at as default_value,Fo as delete_advanced_filter,Jc as delete_are_you_sure,Y as delete_bookmark,K as delete_bookmark_copy,_o as delete_collection,ho as delete_collection_are_you_sure,po as delete_collection_success,yi as delete_comment,Ye as delete_field,Qc as delete_field_are_you_sure,H as delete_folder,Wc as delete_label,Yc as description,mn as deselect,vn as deselect_all,$a as determined_by_relationship,Di as dimensions,ae as directus_version,Tl as disable_tfa,qr as disabled,va as disabled_editing_value,Bn as discard_changes,Et as dismiss,zt as display,Dr as display_not_found,ds as display_template,Yr as display_template_not_setup,an as display_text,tn as display_text_placeholder,K_ as displays,Ro as divider,kc as do_nothing,ul as documentation,Kc as done,Fi as download,$i as download_file,i as draft,es as drag_file_here,qi as drag_mode,Go as drop_to_upload,dn as dropdown,Zc as duplicate,c as duplicate_field,$e as duplicate_where_to,ml as duration,Nl as edit,Gl as edit_bookmark,l as edit_field,At as edit_raw_value,q as edited,Ui as edited_by,to as editing_image,yn as editing_in,Cn as editing_in_batch,Un as editing_preset,Bc as editing_role,wn as editing_unit,$c as email,P as email_already_invited,j as emails,e_ as embed,jo as empty_item,gr as enable_create_button,di as enable_custom_values,br as enable_select_button,Dl as enabled,vt as enter_a_placeholder,mt as enter_a_value,zl as enter_otp_to_disable_tfa,g as enter_password_to_enable_tfa,It as enter_raw_value,Ae as enter_value_to_replace_nulls,Ll as errors,C as exclusive,ra as exposure,a_ as fallback_icon,t_ as field,Ze as field_create_success,Se as field_file,Ne as field_files,je as field_group,da as field_in_collection,Te as field_m2a,ze as field_m2m,De as field_m2o,dt as field_name,f as field_name_translations,Re as field_o2m,wc as field_options,Oe as field_permissions,Me as field_presentation,Fe as field_presets,Ie as field_standard,Pe as field_translations,Xe as field_update_success,Le as field_validation,sl as field_width,xc as fields,Ke as fields_and_layout,Be as fields_for_role,Wa as fields_group,i_ as file,Pr as file_count,Ni as file_details,r_ as file_library,gl as file_moved,ni as fill_template,v as fill_width,kt as finish_setup,lo as flip_horizontal,oo as flip_vertical,ka as float,sa as focal_length,Oi as folder,ys as folder_name,So as font,Hi as foreground_color,Ct as foreign_key,l_ as forgot_password,li as format,Ls as format_text,ro as free,Ws as full_screen,d as full_width,xi as functions,Ec as generate_and_save_uuid,_r as generated_uuid,aa as global,u as group,_ as half_width,Ta as hash,Xs as height,o_ as hidden,xo as hidden_collections,pa as hidden_field,ma as hidden_on_detail,Je as hide_field_on_detail,Co as hide_hidden_collections,s_ as icon,Ao as icon_left,Hs as icon_off,Bs as icon_on,Io as icon_right,Js as image_url,Qi as import_from_url,Si as import_label,el as inactive,w as indeterminate,n_ as info,Ar as information,Nc as inline,Ea as integer,gi as interface_label,Sr as interface_not_found,ts as interface_options,Y_ as interfaces,ct as invalid_item,z as invite,R as invite_users,rl as ip_address,oa as iso,Wo as item,Rr as item_count,Kt as item_create_success,Xt as item_delete_success,Ue as item_permissions,n as item_revision,Zt as item_update_success,Jo as items,qa as json,p_ as junction_collection,Hn as keep_editing,fa as key,Gs as label,ri as label_import,ea as language,us as language_display_template,ii as languages_collection,si as last_access,oi as last_page,m_ as latency,Tn as layout,is as layout_options,On as layout_preview,Ln as layout_setup,Z_ as layouts,x as leaf,Qt as leave_comment,ft as length,Xc as limit,Ho as loading,Uo as log_in_with,v_ as login,Z as logoutReason,_l as lower_limit,nt as m2a_relationship,st as m2m_relationship,lt as m2o_relationship,dr as manual_string,s as maps,Ys as media,zi as modified,bl as modified_on,To as monospace,wi as month,Ei as months,mi as move,pi as move_to_folder,rt as multiple_files,f_ as my_activity,gs as my_files,ms as n_items_selected,ar as name,he as nested_files_folders_will_be_moved,Za as new_collection,Qa as new_data_alert,Ka as new_field,nn as new_tab,_t as next,xe as no_access,Zl as no_app_access,Xl as no_app_access_copy,Hr as no_collections,Jr as no_collections_copy,Wr as no_collections_copy_admin,Ja as no_collections_found,xr as no_comments,Cc as no_fields_in_collection,Xi as no_file_selected,jr as no_files_copy,kr as no_items,zr as no_items_copy,pc as no_layout_collection_selected_yet,kn as no_options_available,Ss as no_presets,Ns as no_presets_copy,Ds as no_presets_cta,Ua as no_refresh,Cs as no_results,ks as no_results_copy,Or as no_users_copy,ie as node_uptime,te as node_version,uc as none,c_ as normal,ee as not_allowed,g_ as not_authenticated,Ra as not_available_for_type,pt as note,Mt as notifications,Ce as nullable,ot as o2m_relationship,zs as on_create,Ps as on_update,go as one_filtered_item,fo as one_item,Sn as one_or_more_options_are_missing,Vi as open,Bi as open_in_new_window,sn as open_link_in,Bo as operators,ss as optional_system_fields,b_ as options,m as or,Ii as original,se as os_totalmem,re as os_type,oe as os_uptime,le as os_version,fn as other,y_ as otp,ji as owner,Jn as page_help_activity_collection,Gn as page_help_collections_collection,Wn as page_help_collections_item,Qn as page_help_docs_global,Yn as page_help_files_collection,Kn as page_help_files_item,Xn as page_help_settings_datamodel_collections,$n as page_help_settings_datamodel_fields,tc as page_help_settings_presets_collection,ic as page_help_settings_presets_item,Zn as page_help_settings_project,ec as page_help_settings_roles_collection,ac as page_help_settings_roles_item,rc as page_help_settings_webhooks_collection,lc as page_help_settings_webhooks_item,oc as page_help_users_collection,sc as page_help_users_item,Nt as page_not_found,Dt as page_not_found_body,X_ as panels,x_ as password,$l as password_reset_sent,eo as password_reset_successful,vs as per_page,w_ as permissions,Ve as permissions_for_role,qo as placeholder,Yt as post_comment_success,gt as precision_scale,G as prefix,We as presentation_and_aliases,Pn as preset_name_placeholder,jn as preset_search_placeholder,Jl as presets,Ge as presets_for_role,Ts as presets_only,V as primary,wt as primary_key,tr as primary_key_field,Gt as private_user,$ as public_description,X as public_label,Ks as quality,qt as raw_value,js as read,ht as readonly,hs as recent_files,ve as recommended_defaults,jc as referential_action_cascade,Rc as referential_action_field_label_m2o,zc as referential_action_field_label_o2m,Pc as referential_action_no_action,Oc as referential_action_set_default,Uc as referential_action_set_null,ja as refresh_interval,La as refresh_interval_minutes,Oa as refresh_interval_seconds,ei as related_collection,ai as related_collections,Tc as relational_triggers,C_ as relationship,Qr as relationship_not_setup,El as remove,B as rename_folder,ws as replace_file,Yi as replace_from_device,Ki as replace_from_library,Zi as replace_from_url,Ir as report_bug,J_ as report_error,Mr as request_feature,B_ as require_value_to_be_set,A as required,I as required_for_app_access,M as requires_value,k_ as reset,J as reset_bookmark,Tr as reset_display,Nr as reset_interface,ua as reset_page_preferences,E_ as reset_password,ue as reset_system_permissions_copy,de as reset_system_permissions_to,A_ as revert,Ht as revision_delta_by,Ut as revision_delta_created,Ot as revision_delta_created_externally,Ft as revision_delta_deleted,Bt as revision_delta_other,Vt as revision_delta_reverted,Lt as revision_delta_updated,Wt as revision_preview,q_ as revisions,As as role,b as role_name,no as rotate,rs as rows,Is as rule,No as sans_serif,I_ as save,ur as save_and_create_new,pr as save_and_stay,mr as save_as_copy,Ic as save_current_datetime,qc as save_current_user_id,Ac as save_current_user_role,qs as saves_automatically,M_ as schema,na as schema_setup_key,Nn as scope,S_ as search,Ya as search_collection,Er as search_items,fl as second,Fl as security,Dn as select,Zr as select_a_collection,ki as select_all,Sl as select_an_item,N_ as select_existing,D_ as select_field_type,Os as select_fields,T_ as select_interface,Cr as select_item,hr as selecting_items,Do as serif,R_ as settings,En as settings_data_model,qn as settings_permissions,Mn as settings_presets,An as settings_project,Pt as settings_update_success,In as settings_webhooks,St as show_all_activity,E as show_archived_items,Qe as show_field_on_detail,wo as show_hidden_collections,la as shutter,pl as sidebar,z_ as sign_in,P_ as sign_out,j_ as sign_out_confirm,it as single_file,hc as singleton,bc as singleton_label,Ti as size,U_ as something_went_wrong,Cl as sort,L_ as sort_asc,F_ as sort_desc,O_ as sort_direction,xl as sort_field,$s as source,io as square,tt as standard_field,Q_ as start,vo as start_end_of_count_filtered_items,mo as start_end_of_count_items,Mc as start_open,kl as status,Ia as string,ui as submit,__ as success,W as suffix,vi as system,Eo as system_collections,yc as system_fields_locked,V_ as template,Ma as text,Rl as tfa_scan_code,pe as the_following_are_minimum_permissions,$t as this_collection,Va as this_will_auto_setup_fields_relations,Sa as time,Na as timestamp,jt as title,Ha as to_manually_setup_translations,hi as today,Vs as toggle,ql as toggle_manual_sorting,rn as tooltip,ln as tooltip_placeholder,H_ as translation,ut as translations,ti as translations_collection,ps as translations_display_template,Rn as tree_view,ir as type,fe as unarchive,ge as unarchive_confirm,Ql as unexpected_error,Yl as unexpected_error_copy,bt as unique,hn as unknown_user,on as unlimited,ko as unmanaged_collections,Fn as unsaved_changes,Vn as unsaved_changes_copy,Us as update,Q as update_bookmark,uo as update_collection_success,xt as updated_by,yt as updated_on,Jt as updates_made,Qo as upload_file,Yo as upload_file_indeterminate,Ko as upload_file_success,Zo as upload_files_indeterminate,Xo as upload_files_success,Wi as upload_from_device,$o as upload_pending,cl as upper_limit,Mi as url,en as url_placeholder,we as use_custom,Ms as user,ll as user_agent,Ur as user_count,dl as user_directory,al as users,Da as uuid,be as validationError,He as validation_for_role,G_ as value,Vl as value_hashed,ns as value_unique,W_ as view_project,yo as visible_collections,d_ as warning,ol as webhooks,Lr as webhooks_count,Zs as width,_n as wysiwyg_options,Aa as xml,Ci as year,bi as yesterday,Li as zoom};
@@ -1,2 +0,0 @@
1
- import{w as i,y as r,z as d,A as o,E as t,C as l,W as e}from"./vendor.c37f7cab.js";const h={class:"markdown-body"},u=t("blockquote",null,[t("p",null,"The Collection Page displays all Items within a Collection and comes with highly configurable Layouts for browsing, visualizing, and managing these Items.")],-1),p=t("p",null,[t("div",{class:"table-of-contents"},[t("ul",null,[t("li",null,[t("a",{href:"#adjust-page-layout"},"Adjust Page Layout")]),t("li",null,[t("a",{href:"#search-items"},"Search Items")]),t("li",null,[t("a",{href:"#filter-items"},"Filter Items")]),t("li",null,[t("a",{href:"#manually-sort-items"},"Manually Sort Items")]),t("li",null,[t("a",{href:"#automatically-sort-items"},"Automatically Sort Items")]),t("li",null,[t("a",{href:"#view-archived-items"},"View Archived Items")]),t("li",null,[t("a",{href:"#create-presets-and-bookmarks"},"Create Presets and Bookmarks")]),t("li",null,[t("a",{href:"#import-%2F-export-items"},"Import / Export Items")]),t("li",null,[t("a",{href:"#batch-delete%2C-archive-or-edit-items"},"Batch Delete, Archive or Edit Items")])])])],-1),m={class:"tip hint"},_=t("div",{class:"hint-title"},"Before You Begin",-1),g=e("To efficiently use the Collection Page, you will need to know about "),v=e("Collections"),f=e(", "),y=e("Items"),b=e(" and "),I=e("Fields"),w=e("."),C=t("h2",{id:"adjust-page-layout"},[e("Adjust Page Layout "),t("a",{class:"header-anchor",href:"#adjust-page-layout"},"#")],-1),k=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"Layouts"},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/adjust-page-layout-20220415A.mp4",type:"video/mp4"})],-1),A=e("Layouts determine how you view or interact with Items in a Collection. Whether your Collection contains blog posts, project management tasks, geo-coordinates, temporal data or beyond; Layouts present Items in a more human-friendly way. "),S=e("Learn More"),L=t("h2",{id:"search-items"},[e("Search Items "),t("a",{class:"header-anchor",href:"#search-items"},"#")],-1),x=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"Search Items"},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/search-items-20220419A.mp4",type:"video/mp4"})],-1),M=t("p",null,[e("Find all Items with one or more Fields containing your searched value, excluding any Items which have been "),t("a",{href:"#filter-items"},"filtered out"),e(". To search through a Collection\u2019s Items, follow the steps below.")],-1),F=t("ol",null,[t("li",null,"Navigate to the Content Module and select the desired Collection."),t("li",null,[e("Select "),t("span",{mi:"",icon:""},"search"),e(" in the Page Header and a search bar will appear.")]),t("li",null,"Type in the value to search for.")],-1),T=t("h2",{id:"filter-items"},[e("Filter Items "),t("a",{class:"header-anchor",href:"#filter-items"},"#")],-1),P=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"Filter Items"},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/filter-items-2022019A.mp4",type:"video/mp4"})],-1),B=e("Filters enable complex and granular filtered displays of Items. "),D=e("Learn More"),E=t("h2",{id:"manually-sort-items"},[e("Manually Sort Items "),t("a",{class:"header-anchor",href:"#manually-sort-items"},"#")],-1),j=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"Batch Edit Items"},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/manually-sort-items-20220415A.mp4",type:"video/mp4"})],-1),N=e("Drag and drop Items to custom-sort them as desired. This is only possible on certain Layouts, such as the default "),V=e("Table Layout"),W=e(". To sort a Collection\u2019s Items, follow the steps below."),q=t("ol",null,[t("li",null,[e("Be sure a sorting column has been configured under "),t("strong",null,"\u201CSettings > Data Model > Collection\u201D"),e("."),t("br"),t("em",null,"(Shown in the video)")])],-1),O=t("ol",{start:"2"},[t("li",null,"Navigate to the Content Module and select the desired Collection."),t("li",null,[e("In the Sidebar, be sure a "),t("a",{href:"#adjust-page-layout"},"Layout"),e(" is chosen that supports manual sorting.")]),t("li",null,[e("Enable manual sorting: "),t("ul",null,[t("li",null,[e("For the Table Layout, toggle "),t("span",{mi:"",icon:""},"sort"),e(" in the configured Sort column.")])])]),t("li",null,"Drag Items by their handle into a new position.")],-1),z=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Manual Sorting Requires Configuration"),t("p",null,[e("Only available if a Sort column has been configured under:"),t("br"),t("strong",null,"\u201CSettings > Data Model > Collection > Sort\u201D")])],-1),H={class:"tip hint"},R=e("Sorting saves a value in a "),U=e("Sort Field"),Y=e(". This value is used to return data in a custom order. This means that while the values in this Sort Field do get updated and modified, values in other Fields are not changed."),G=t("h2",{id:"automatically-sort-items"},[e("Automatically Sort Items "),t("a",{class:"header-anchor",href:"#automatically-sort-items"},"#")],-1),J=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"Automatically Sort Items"},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/automatically-sort-items-20220415A.mp4",type:"video/mp4"})],-1),K=e("Sort Items alphabetically or numerically, in ascending or descending order. Sorting is not possible on certain Layouts, such as the Map Layout. Layouts that do support automatic sorting have controls in slightly different locations. "),Q=e("Learn More"),X=t("div",{class:"tip hint"},[t("p",null,"Automatic sorting is a non-destructive action which does not change your data.")],-1),Z=t("h2",{id:"view-archived-items"},[e("View Archived Items "),t("a",{class:"header-anchor",href:"#view-archived-items"},"#")],-1),$=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"View Archived Items"},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/view-archived-items.mp4",type:"video/mp4"})],-1),tt=e("To view an archived Item, follow the steps below. "),et=e("Learn More"),ot=t("ol",null,[t("li",null,"Navigate to the Content Module and select the desired Collection."),t("li",null,[e("Click "),t("strong",null,"\u201CArchive\u201D"),e(" in the Sidebar.")]),t("li",null,[e("Choose the desired view: "),t("ul",null,[t("li",null,[t("strong",null,"\u201CShow Items\u201D")]),t("li",null,[t("strong",null,"\u201CShow Archived Items\u201D")]),t("li",null,[t("strong",null,"\u201CShow Items + Archived Items\u201D")])])])],-1),st=t("div",{class:"warning hint"},[t("div",{class:"hint-title"},"Archiving Requires Configuration"),t("p",null,[e("Only available if an Archive column has been configured under:"),t("br"),t("strong",null,"\u201CSettings > Data Model > Collection > Archive\u201D"),e(".")])],-1),lt=t("h2",{id:"create-presets-and-bookmarks"},[e("Create Presets and Bookmarks "),t("a",{class:"header-anchor",href:"#create-presets-and-bookmarks"},"#")],-1),nt=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"Create Presets and Bookmarks"},[t("source",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/presets-and-bookmarks-20220415A.mp4",type:"video/mp4"})],-1),it=e("Save how a Collection Page looks so that you can return to the exact same view later, including details such as the Layout, searches, filters, sorting, ordering, etc. "),at=e("Learn More"),ct=t("h2",{id:"import-%2F-export-items"},[e("Import / Export Items "),t("a",{class:"header-anchor",href:"#import-%2F-export-items"},"#")],-1),rt=t("p",null,[t("img",{src:"https://cdn.directus.io/docs/v9/app-guide/content/content-collections/content-collections-20220415A/imports-exports-20220416A.webp",alt:"Import and Export Items"})],-1),dt=e("No-code Users can import and export a Collection\u2019s Items in file-format. "),ht=e("Learn More"),ut=t("h2",{id:"batch-delete%2C-archive-or-edit-items"},[e("Batch Delete, Archive or Edit Items "),t("a",{class:"header-anchor",href:"#batch-delete%2C-archive-or-edit-items"},"#")],-1),pt=t("video",{autoplay:"",muted:"",loop:"",controls:"",title:"Batch Edit Items"},[t("source",{src:`https://cdn.directus.io/docs/v9/app-guide/content/content-items/content-items-20220415A/batch-edit-items-20220415A.mp4
2
- `,type:"video/mp4"})],-1),mt=t("p",null,"It is possible to delete, archive, or edit multiple Items at once from the Collection Page. Deletion will permanently delete Items from the database, this cannot be reverted. When batch editing, the Item Page opens, allowing you to make the same edit across multiple Items. Follow the steps below to batch delete, archive, or edit Items.",-1),_t=t("li",null,"Navigate to the Content Module and select the desired Collection.",-1),gt=e("Choose a "),vt=e("Layout"),ft=e(" that supports multiple Item selection from the Sidebar."),yt=t("br",null,null,-1),bt=e(" (e.g. The Table or Card Layout)"),It=t("li",null,[e("Click the Items you wish to select: "),t("ul",null,[t("li",null,[t("strong",null,"Table Layout:"),e(" Click "),t("span",{mi:"",icon:""},"check_box_outline_blank"),e(" in the left-most column.")]),t("li",null,[t("strong",null,"Card Layout:"),e(" Click "),t("span",{mi:"",icon:""},"radio_button_unchecked"),e(" in the upper left-hand corner of each Card.")])])],-1),wt=t("p",null,[e("Once Items are selected, the following buttons will appear in the Page Header: "),t("span",{mi:"",btn:"",muted:""},"delete"),t("span",{mi:"",btn:"",muted:""},"archive"),e(),t("span",{mi:"",btn:"",muted:""},"edit")],-1),Ct=t("p",null,[t("strong",null,"Delete"),t("br"),e(" 4. Click "),t("span",{mi:"",btn:"",dngr:""},"delete"),e(" in the header and a popup will appear."),t("br"),e(" 5. Click "),t("strong",null,"\u201CDelete\u201D"),e(" to confirm the action.")],-1),kt=t("p",null,[t("strong",null,"Archive"),t("br"),e(" 4. Click "),t("span",{mi:"",btn:"",muted:""},"archive"),e(" in the header and a popup will appear."),t("br"),e(" 5. Click "),t("strong",null,"\u201CDelete\u201D"),e(" to confirm the action.")],-1),At=t("p",null,[t("strong",null,"Edit"),t("br"),e(" 4. Click "),t("span",{mi:"",btn:"",muted:""},"edit"),e(" in the header and the Item Page will open."),t("br"),e(" 5. Update Item details as desired."),t("br"),e(" 6. Click "),t("span",{mi:"",btn:""},"check"),e(" to confirm batch edits on all Items.")],-1),Ft={setup(St,{expose:a}){const n={title:"Collection Page",modularExtension:!1};return a({frontmatter:n}),(Lt,xt)=>{const s=i("router-link"),c=i("DocsWrapper");return r(),d(c,{frontmatter:n},{default:o(()=>[t("div",h,[u,p,t("div",m,[_,t("p",null,[g,l(s,{to:"/docs/getting-started/glossary/#collections"},{default:o(()=>[v]),_:1}),f,l(s,{to:"/docs/getting-started/glossary/#items"},{default:o(()=>[y]),_:1}),b,l(s,{to:"/docs/getting-started/glossary/#fields"},{default:o(()=>[I]),_:1}),w])]),C,k,t("p",null,[A,l(s,{to:"/docs/app/layouts"},{default:o(()=>[S]),_:1})]),L,x,M,F,T,P,t("p",null,[B,l(s,{to:"/docs/app/filters/"},{default:o(()=>[D]),_:1})]),E,j,t("p",null,[N,l(s,{to:"/docs/app/layouts/#table-layout"},{default:o(()=>[V]),_:1}),W]),q,O,z,t("div",H,[t("p",null,[R,l(s,{to:"/docs/reference/query/#sort"},{default:o(()=>[U]),_:1}),Y])]),G,J,t("p",null,[K,l(s,{to:"/docs/app/layouts"},{default:o(()=>[Q]),_:1})]),X,Z,$,t("p",null,[tt,l(s,{to:"/docs/app/content/items/#archive-an-item"},{default:o(()=>[et]),_:1})]),ot,st,lt,nt,t("p",null,[it,l(s,{to:"/docs/configuration/presets-bookmarks/"},{default:o(()=>[at]),_:1})]),ct,rt,t("p",null,[dt,l(s,{to:"/docs/app/import-export/"},{default:o(()=>[ht]),_:1})]),ut,pt,mt,t("ol",null,[_t,t("li",null,[gt,l(s,{to:"/docs/app/layouts"},{default:o(()=>[vt]),_:1}),ft,yt,bt]),It]),wt,Ct,kt,At])]),_:1})}}};export{Ft as default};
@@ -1,138 +0,0 @@
1
- import{w as s,y as d,z as i,A as n,E as l,C as o,W as e}from"./vendor.c37f7cab.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:"#server"},"Server")]),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")]),l("li",null,[l("a",{href:"#limits-%26-optimizations"},"Limits & Optimizations")])])])],-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,`HOST="0.0.0.0"
3
- PORT=8055
4
-
5
- DB_CLIENT="pg"
6
- DB_HOST="localhost"
7
- DB_PORT=5432
8
-
9
- etc
10
- `)],-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"
11
- `)],-1),I=l("pre",null,[l("code",{class:"language-json"},[e(`{
12
- `),l("span",{class:"hljs-attr"},'"HOST"'),e(": "),l("span",{class:"hljs-string"},'"0.0.0.0"'),e(`,
13
- `),l("span",{class:"hljs-attr"},'"PORT"'),e(": "),l("span",{class:"hljs-number"},"8055"),e(`,
14
-
15
- `),l("span",{class:"hljs-attr"},'"DB_CLIENT"'),e(": "),l("span",{class:"hljs-string"},'"pg"'),e(`,
16
- `),l("span",{class:"hljs-attr"},'"DB_HOST"'),e(": "),l("span",{class:"hljs-string"},'"localhost"'),e(`,
17
- `),l("span",{class:"hljs-attr"},'"DB_PORT"'),e(": "),l("span",{class:"hljs-number"},"5432"),e(`
18
-
19
- `),l("span",{class:"hljs-comment"},"// etc"),e(`
20
- }
21
- `)])],-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),v=l("pre",null,[l("code",null,`CONFIG_PATH="/path/to/config.yaml"
22
- `)],-1),C=l("pre",null,[l("code",{class:"language-yaml"},[l("span",{class:"hljs-attr"},"HOST:"),e(),l("span",{class:"hljs-number"},"0.0"),l("span",{class:"hljs-number"},".0"),l("span",{class:"hljs-number"},".0"),e(`
23
- `),l("span",{class:"hljs-attr"},"PORT:"),e(),l("span",{class:"hljs-number"},"8055"),e(`
24
-
25
- `),l("span",{class:"hljs-attr"},"DB_CLIENT:"),e(),l("span",{class:"hljs-string"},"pg"),e(`
26
- `),l("span",{class:"hljs-attr"},"DB_HOST:"),e(),l("span",{class:"hljs-string"},"localhost"),e(`
27
- `),l("span",{class:"hljs-attr"},"DB_PORT:"),e(),l("span",{class:"hljs-number"},"5432"),e(`
28
- `),l("span",{class:"hljs-comment"},"#"),e(`
29
- `),l("span",{class:"hljs-comment"},"# etc"),e(`
30
- `)])],-1),L=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),P=l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-comment"},"// Object Sytax"),e(`
31
-
32
- `),l("span",{class:"hljs-built_in"},"module"),e(`.exports = {
33
- `),l("span",{class:"hljs-attr"},"HOST"),e(": "),l("span",{class:"hljs-string"},"'0.0.0.0'"),e(`,
34
- `),l("span",{class:"hljs-attr"},"PORT"),e(": "),l("span",{class:"hljs-number"},"8055"),e(`,
35
-
36
- `),l("span",{class:"hljs-attr"},"DB_CLIENT"),e(": "),l("span",{class:"hljs-string"},"'pg'"),e(`,
37
- `),l("span",{class:"hljs-attr"},"DB_HOST"),e(": "),l("span",{class:"hljs-string"},"'localhost'"),e(`,
38
- `),l("span",{class:"hljs-attr"},"DB_PORT"),e(": "),l("span",{class:"hljs-number"},"5432"),e(`,
39
-
40
- `),l("span",{class:"hljs-comment"},"// etc"),e(`
41
- };
42
- `)])],-1),U=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),H=l("pre",null,[l("code",{class:"language-js"},[l("span",{class:"hljs-comment"},"// Function Syntax"),e(`
43
-
44
- `),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(`{
45
- `),l("span",{class:"hljs-keyword"},"return"),e(` {
46
- `),l("span",{class:"hljs-attr"},"HOST"),e(": "),l("span",{class:"hljs-string"},"'0.0.0.0'"),e(`,
47
- `),l("span",{class:"hljs-attr"},"PORT"),e(": "),l("span",{class:"hljs-number"},"8055"),e(`,
48
-
49
- `),l("span",{class:"hljs-attr"},"DB_CLIENT"),e(": "),l("span",{class:"hljs-string"},"'pg'"),e(`,
50
- `),l("span",{class:"hljs-attr"},"DB_HOST"),e(": "),l("span",{class:"hljs-string"},"'localhost'"),e(`,
51
- `),l("span",{class:"hljs-attr"},"DB_PORT"),e(": "),l("span",{class:"hljs-number"},"5432"),e(`,
52
-
53
- `),l("span",{class:"hljs-comment"},"// etc"),e(`
54
- };
55
- };
56
- `)])],-1),N=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),M=l("pre",null,[l("code",null,`DB_PASSWORD_FILE="/run/secrets/db_password"
57
- `)],-1),x=l("h2",{id:"type-casting-and-nesting"},[e("Type Casting and Nesting "),l("a",{class:"header-anchor",href:"#type-casting-and-nesting"},"#")],-1),j=l("p",null,"Environment variables are automatically type cast based on the structure of the variable, for example:",-1),k=l("pre",null,[l("code",null,`PUBLIC_URL="https://example.com"
58
- // "https://example.com"
59
-
60
- DB_HOST="3306"
61
- // 3306
62
-
63
- CORS_ENABLED="false"
64
- // false
65
-
66
- STORAGE_LOCATIONS="s3,local,example"
67
- // ["s3", "local", "example"]
68
- `)],-1),B=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),G=l("pre",null,[l("code",null,`DB_CLIENT="pg"
69
- DB_CONNECTION_STRING="postgresql://postgres:example@127.0.0.1"
70
- DB_SSL__REJECT_UNAUTHORIZED="false"
71
-
72
- {
73
- client: "pg",
74
- connectionString: "postgresql://postgres:example@127.0.0.1",
75
- ssl: {
76
- rejectUnauthorized: false
77
- }
78
- }
79
- `)],-1),W=l("h2",{id:"environment-syntax-prefix"},[e("Environment Syntax Prefix "),l("a",{class:"header-anchor",href:"#environment-syntax-prefix"},"#")],-1),F=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),q=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,"HOST")]),l("td",null,"IP or host the API listens on."),l("td",null,[l("code",null,"0.0.0.0")])]),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:"server"},[e("Server "),l("a",{class:"header-anchor",href:"#server"},"#")],-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,"SERVER_KEEP_ALIVE_TIMEOUT")]),l("td",null,"Timeout in milliseconds for socket to be destroyed"),l("td",null,[l("a",{href:"https://github.com/nodejs/node/blob/master/doc/api/http.md#serverkeepalivetimeout",target:"_blank",rel:"noopener noreferrer"},"server.keepAliveTimeout")])]),l("tr",null,[l("td",null,[l("code",null,"SERVER_HEADERS_TIMEOUT")]),l("td",null,"Timeout in milliseconds to parse HTTP headers"),l("td",null,[l("a",{href:"https://github.com/nodejs/node/blob/master/doc/api/http.md#serverheaderstimeout",target:"_blank",rel:"noopener noreferrer"},"server.headersTimeout")])])])],-1),$=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Additional Server Variables"),l("p",null,[e("All "),l("code",null,"SERVER_*"),e(" environment variables are merged with "),l("code",null,"server"),e(" instance properties created from "),l("a",{href:"https://github.com/nodejs/node/blob/master/doc/api/http.md#class-httpserver",target:"_blank",rel:"noopener noreferrer"},"http.Server"),e(". This allows to configure server behind a proxy, a load balancer, etc. Be careful to not override methods of this instance otherwise you may incur into unexpected behaviors.")])],-1),ll=l("h2",{id:"database"},[e("Database "),l("a",{class:"header-anchor",href:"#database"},"#")],-1),el=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(", "),l("code",null,"sqlite3"),e(", "),l("code",null,"cockroachdb"),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),nl=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),tl=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),ol=l("h2",{id:"security"},[e("Security "),l("a",{class:"header-anchor",href:"#security"},"#")],-1),ul=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),sl=l("tr",null,[l("td",null,[l("code",null,"KEY")]),l("td",null,"Unique identifier for the project."),l("td",null,"\u2013")],-1),al=l("tr",null,[l("td",null,[l("code",null,"SECRET")]),l("td",null,"Secret string for the project."),l("td",null,"\u2013")],-1),rl=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),dl=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),il=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),cl=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),hl=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),_l=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),pl=l("td",null,[l("code",null,"PASSWORD_RESET_URL_ALLOW_LIST")],-1),fl=e("List of URLs that can be used "),ml=e("as "),El=l("code",null,"reset_url",-1),gl=e(" in /password/request"),Al=l("td",null,"\u2013",-1),Tl=l("td",null,[l("code",null,"USER_INVITE_URL_ALLOW_LIST")],-1),Rl=e("List of URLs that can be used "),bl=e("as "),Ol=l("code",null,"invite_url",-1),Sl=e(" in /users/invite"),Il=l("td",null,"\u2013",-1),yl=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),Dl=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),vl=l("tr",null,[l("td",null,[l("code",null,"CONTENT_SECURITY_POLICY")]),l("td",null,[e("Custom overrides 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),Cl=l("tr",null,[l("td",null,[l("code",null,"ASSETS_CONTENT_SECURITY_POLICY")]),l("td",null,[e("Custom overrides for the Content-Security-Policy header for the /assets endpoint. 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),Ll=l("tr",null,[l("td",null,[l("code",null,"IMPORT_IP_DENY_LIST")]),l("td",null,[e("Deny importing files from these IP addresses. Use "),l("code",null,"0.0.0.0"),e(" for any local IP address")]),l("td",null,[l("code",null,"0.0.0.0")])],-1),wl=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),Pl=l("h3",{id:"hashing"},[e("Hashing "),l("a",{class:"header-anchor",href:"#hashing"},"#")],-1),Ul=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),Hl=e("Argon2\u2019s hashing function is used by Directus for three purposes: 1) hashing user passwords, 2) generating hashes for the "),Nl=l("code",null,"Hash",-1),Vl=e(" field type in collections, and 3) the "),Ml=e("generate a hash API endpoint"),xl=e("."),jl=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),kl=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),Bl=l("h2",{id:"cors"},[e("CORS "),l("a",{class:"header-anchor",href:"#cors"},"#")],-1),Gl=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,"false")])]),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,"false")])]),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),Wl=l("h2",{id:"rate-limiting"},[e("Rate Limiting "),l("a",{class:"header-anchor",href:"#rate-limiting"},"#")],-1),Fl=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),ql=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),Yl=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),zl=l("p",null,"No additional configuration required.",-1),Xl=l("h3",{id:"redis"},[e("Redis "),l("a",{class:"header-anchor",href:"#redis"},"#")],-1),Jl=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),Zl=l("p",null,"Alternatively, you can provide the individual connection parameters:",-1),Ql=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),$l=l("h3",{id:"memcache"},[e("Memcache "),l("a",{class:"header-anchor",href:"#memcache"},"#")],-1),le=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),ee=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),ne=l("h3",{id:"example%3A-basic"},[e("Example: Basic "),l("a",{class:"header-anchor",href:"#example%3A-basic"},"#")],-1),te=l("pre",null,[l("code",null,`// 10 requests per 5 seconds
80
-
81
- RATE_LIMITER_POINTS="10"
82
- RATE_LIMITER_DURATION="5"
83
- `)],-1),oe=l("h3",{id:"example%3A-redis"},[e("Example: Redis "),l("a",{class:"header-anchor",href:"#example%3A-redis"},"#")],-1),ue=l("pre",null,[l("code",null,`RATE_LIMITER_ENABLED="true"
84
-
85
- RATE_LIMITER_POINTS="10"
86
- RATE_LIMITER_DURATION="5"
87
-
88
- RATE_LIMITER_STORE="redis"
89
-
90
- RATE_LIMITER_REDIS="redis://@127.0.0.1"
91
- `)],-1),se=l("h2",{id:"cache"},[e("Cache "),l("a",{class:"header-anchor",href:"#cache"},"#")],-1),ae=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),re=l("div",{class:"tip hint"},[l("div",{class:"hint-title"},"Assets Cache"),l("p",null,[l("code",null,"Cache-Control"),e(" and "),l("code",null,"Last-Modified"),e(" headers for the "),l("code",null,"/assets"),e(" endpoint are separate from the regular data-cache. "),l("code",null,"Last-Modified"),e(" comes from "),l("code",null,"modified_on"),e(" DB field. 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),de=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,"5m")])]),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_SYSTEM_TTL"),l("sup",null,"[3]")]),l("td",null,"How long the schema caches (schema/permissions) are persisted."),l("td",null,[l("code",null,"10m")])]),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")])]),l("tr",null,[l("td",null,[l("code",null,"CACHE_STATUS_HEADER")]),l("td",null,[e("If set, returns the cache status in the configured header. One of "),l("code",null,"HIT"),e(", "),l("code",null,"MISS"),e(".")]),l("td",null,"\u2013")])])],-1),ie=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),ce=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),he=l("p",null,[l("sup",null,"[3]"),e(" Not affected by the "),l("code",null,"CACHE_ENABLED"),e(" value.")],-1),_e=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),pe=l("h3",{id:"memory-2"},[e("Memory "),l("a",{class:"header-anchor",href:"#memory-2"},"#")],-1),fe=l("p",null,"No additional configuration required.",-1),me=l("h3",{id:"redis-2"},[e("Redis "),l("a",{class:"header-anchor",href:"#redis-2"},"#")],-1),Ee=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),ge=l("p",null,"Alternatively, you can provide the individual connection parameters:",-1),Ae=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),Te=l("h3",{id:"memcache-2"},[e("Memcache "),l("a",{class:"header-anchor",href:"#memcache-2"},"#")],-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,"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),be=l("h2",{id:"file-storage"},[e("File Storage "),l("a",{class:"header-anchor",href:"#file-storage"},"#")],-1),Oe=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),Se=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"
92
- STORAGE_LOCAL_ROOT="./uploads"
93
- `)])],-1),Ie=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"
94
- STORAGE_s3_DRIVER="s3" # Will not work, lowercase "s3" \u274C
95
- `)]),l("p",null,"but this will work:"),l("pre",null,[l("code",null,`STORAGE_LOCATIONS="s3"
96
- STORAGE_S3_DRIVER="s3" # Will work, "s3" is uppercased \u2705
97
- `)])],-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_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),De=l("p",null,"For each of the storage locations listed, you must provide the following configuration:",-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>_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),Ce=l("p",null,"Based on your configured driver, you must also provide the following configurations:",-1),Le=l("h3",{id:"local-(local)"},[e("Local ("),l("code",null,"local"),e(") "),l("a",{class:"header-anchor",href:"#local-(local)"},"#")],-1),we=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),Pe=l("h3",{id:"s3-(s3)"},[e("S3 ("),l("code",null,"s3"),e(") "),l("a",{class:"header-anchor",href:"#s3-(s3)"},"#")],-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")]),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),He=l("h3",{id:"azure-(azure)"},[e("Azure ("),l("code",null,"azure"),e(") "),l("a",{class:"header-anchor",href:"#azure-(azure)"},"#")],-1),Ne=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),Ve=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),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,"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),xe=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),je=l("p",null,"Below showcases a CSV of storage location names, with a config block for each:",-1),ke=l("pre",null,[l("code",null,`STORAGE_LOCATIONS="local,aws"
98
-
99
- STORAGE_LOCAL_DRIVER="local"
100
- STORAGE_LOCAL_ROOT="local"
101
-
102
- STORAGE_AWS_KEY="tp15c...510vk"
103
- STORAGE_AWS_SECRET="yk29b...b932n"
104
- STORAGE_AWS_REGION="us-east-2"
105
- STORAGE_AWS_BUCKET="my-files"
106
- `)],-1),Be=l("h3",{id:"metadata"},[e("Metadata "),l("a",{class:"header-anchor",href:"#metadata"},"#")],-1),Ge=l("p",null,[e("When uploading an image, Directus persists the "),l("em",null,"description, title, and tags"),e(" from available EXIF metadata. For security purposes, collection of additional metadata must be configured:")],-1),We=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,"FILE_METADATA_ALLOW_LIST")]),l("td",null,[e("A comma-separated list of metadata keys to collect during file upload. Use "),l("code",null,"*"),e(" for all"),l("sup",null,"[1]"),e(".")]),l("td",null,"ifd0.Make,ifd0.Model,exif.FNumber,exif.ExposureTime,exif.FocalLength,exif.ISO")])])],-1),Fe=l("p",null,[l("sup",null,"[1]"),e(": Extracting all metadata might cause memory issues when the file has an unusually large set of metadata")],-1),qe=l("h2",{id:"assets"},[e("Assets "),l("a",{class:"header-anchor",href:"#assets"},"#")],-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,"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")])]),l("tr",null,[l("td",null,[l("code",null,"ASSETS_CONTENT_SECURITY_POLICY")]),l("td",null,[e("Custom overrides 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),Ke=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),ze=l("h2",{id:"authentication"},[e("Authentication "),l("a",{class:"header-anchor",href:"#authentication"},"#")],-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,"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),Ze=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),Qe=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),$e=l("h3",{id:"local-(local)-2"},[e("Local ("),l("code",null,"local"),e(") "),l("a",{class:"header-anchor",href:"#local-(local)-2"},"#")],-1),ln=l("p",null,"No additional configuration required.",-1),en=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),nn=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),tn=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),on=l("pre",null,[l("code",null,`AUTH_PROVIDERS="github"
107
-
108
- AUTH_GITHUB_DRIVER="oauth2"
109
- AUTH_GITHUB_CLIENT_ID="99d3...c3c4"
110
- AUTH_GITHUB_CLIENT_SECRET="34ae...f963"
111
- AUTH_GITHUB_AUTHORIZE_URL="https://github.com/login/oauth/authorize"
112
- AUTH_GITHUB_ACCESS_URL="https://github.com/login/oauth/access_token"
113
- AUTH_GITHUB_PROFILE_URL="https://api.github.com/user"
114
- `)],-1),un=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),sn=l("h4",{id:"oauth-2.0"},[e("OAuth 2.0 "),l("a",{class:"header-anchor",href:"#oauth-2.0"},"#")],-1),an=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),rn=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),dn=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),cn=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),hn=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),_n=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),pn=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),fn=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),mn=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),En=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),gn=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),An=l("td",null,[l("code",null,"AUTH_<PROVIDER>_ICON")],-1),Tn=e("SVG icon to display with the login link. You can choose from "),Rn=e("Social icon or Material icon set"),bn=e("."),On=l("td",null,[l("code",null,"account_circle")],-1),Sn=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),In=l("h4",{id:"openid"},[e("OpenID "),l("a",{class:"header-anchor",href:"#openid"},"#")],-1),yn=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),Dn=l("thead",null,[l("tr",null,[l("th",null,"Variable"),l("th",null,"Description"),l("th",null,"Default Value")])],-1),vn=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),Cn=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),Ln=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),wn=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),Pn=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),Un=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),Hn=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),Nn=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),Vn=l("td",null,[l("code",null,"AUTH_<PROVIDER>_ICON")],-1),Mn=e("SVG icon to display with the login link. You can choose from "),xn=e("Social icon or Material icon set"),jn=e("."),kn=l("td",null,[l("code",null,"account_circle")],-1),Bn=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),Gn=l("h3",{id:"ldap-(ldap)"},[e("LDAP ("),l("code",null,"ldap"),e(") "),l("a",{class:"header-anchor",href:"#ldap-(ldap)"},"#")],-1),Wn=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),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,"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("sup",null,"[3]")]),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")])]),l("tr",null,[l("td",null,[l("code",null,"AUTH_<PROVIDER>_DEFAULT_ROLE_ID"),l("sup",null,"[3]")]),l("td",null,"Role to use on user sign-up. Only used when GROUP_DN isn\u2019t configured."),l("td",null,"\u2013")])])],-1),qn=l("p",null,[l("sup",null,"[1]"),e(" The bind user must have permission to query users and groups to perform authentication. To bind anonymously use "),l("code",null,'AUTH_LDAP_BIND_DN=""'),e(" and "),l("code",null,'AUTH_LDAP_BIND_PASSWORD=""')],-1),Yn=l("p",null,[l("sup",null,"[2]"),e(" The scope defines the following behaviors:")],-1),Kn=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),zn=l("p",null,[l("sup",null,"[3]"),e(" If you specify groupDn, the user\u2019s role will always get updated on authentication to what\u2019s configured in AD. It will fallback to the configured default role id if supplied.")],-1),Xn=l("h3",{id:"example%3A-ldap"},[e("Example: LDAP "),l("a",{class:"header-anchor",href:"#example%3A-ldap"},"#")],-1),Jn=l("pre",null,[l("code",null,`AUTH_PROVIDERS="ldap"
115
-
116
- AUTH_LDAP_DRIVER="ldap"
117
- AUTH_LDAP_CLIENT_URL="ldap://ldap.directus.io"
118
- AUTH_LDAP_BIND_DN="CN=Bind User,OU=Users,DC=ldap,DC=directus,DC=io"
119
- AUTH_LDAP_BIND_PASSWORD="p455w0rd"
120
- AUTH_LDAP_USER_DN="OU=Users,DC=ldap,DC=directus,DC=io"
121
- AUTH_LDAP_GROUP_DN="OU=Groups,DC=ldap,DC=directus,DC=io"
122
- `)],-1),Zn=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),Qn=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),$n=l("pre",null,[l("code",null,`AUTH_PROVIDERS="google,adobe"
123
-
124
- AUTH_GOOGLE_DRIVER="openid"
125
- AUTH_GOOGLE_CLIENT_ID="<google_application_id>"
126
- AUTH_GOOGLE_CLIENT_SECRET= "<google_application_secret_key>"
127
- AUTH_GOOGLE_ISSUER_URL="https://accounts.google.com"
128
- AUTH_GOOGLE_IDENTIFIER_KEY="email"
129
- AUTH_GOOGLE_ICON="google"
130
-
131
- AUTH_ADOBE_DRIVER="oauth2"
132
- AUTH_ADOBE_CLIENT_ID="<adobe_application_id>"
133
- AUTH_ADOBE_CLIENT_SECRET="<adobe_application_secret_key>"
134
- AUTH_ADOBE_AUTHORIZE_URL="https://ims-na1.adobelogin.com/ims/authorize/v2"
135
- AUTH_ADOBE_ACCESS_URL="https://ims-na1.adobelogin.com/ims/token/v3"
136
- AUTH_ADOBE_PROFILE_URL="https://ims-na1.adobelogin.com/ims/userinfo/v2"
137
- AUTH_ADOBE_ICON="adobe"
138
- `)],-1),lt=l("h2",{id:"extensions"},[e("Extensions "),l("a",{class:"header-anchor",href:"#extensions"},"#")],-1),et=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),nt=l("h2",{id:"email"},[e("Email "),l("a",{class:"header-anchor",href:"#email"},"#")],-1),tt=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),ot=l("p",null,[e("Based on the "),l("code",null,"EMAIL_TRANSPORT"),e(" used, you must also provide the following configurations:")],-1),ut=l("h3",{id:"sendmail-(sendmail)"},[e("Sendmail ("),l("code",null,"sendmail"),e(") "),l("a",{class:"header-anchor",href:"#sendmail-(sendmail)"},"#")],-1),st=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),at=l("h3",{id:"smtp-(smtp)"},[e("SMTP ("),l("code",null,"smtp"),e(") "),l("a",{class:"header-anchor",href:"#smtp-(smtp)"},"#")],-1),rt=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),dt=l("h3",{id:"mailgun-(mailgun)"},[e("Mailgun ("),l("code",null,"mailgun"),e(") "),l("a",{class:"header-anchor",href:"#mailgun-(mailgun)"},"#")],-1),it=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),ct=l("h3",{id:"aws-ses-(ses)"},[e("AWS SES ("),l("code",null,"ses"),e(") "),l("a",{class:"header-anchor",href:"#aws-ses-(ses)"},"#")],-1),ht=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),_t=l("h2",{id:"admin-account"},[e("Admin Account "),l("a",{class:"header-anchor",href:"#admin-account"},"#")],-1),pt=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),ft=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),mt=l("h2",{id:"telemetry"},[e("Telemetry "),l("a",{class:"header-anchor",href:"#telemetry"},"#")],-1),Et=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),gt=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),At=l("h2",{id:"limits-%26-optimizations"},[e("Limits & Optimizations "),l("a",{class:"header-anchor",href:"#limits-%26-optimizations"},"#")],-1),Tt=l("p",null,"Allows you to configure hard technical limits, to prevent abuse and optimize for your particular server environment.",-1),Rt=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,"RELATIONAL_BATCH_SIZE")]),l("td",null,"How many rows are read into memory at a time when constructing nested relational datasets"),l("td",null,"25000")]),l("tr",null,[l("td",null,[l("code",null,"EXPORT_BATCH_SIZE")]),l("td",null,"How many rows are read into memory at a time when constructing exports"),l("td",null,"5000")])])],-1),yt={setup(bt,{expose:a}){const u={title:"Configuration Options",modularExtension:!1};return a({frontmatter:u}),(Ot,St)=>{const t=s("router-link"),r=s("DocsWrapper");return d(),i(r,{frontmatter:u},{default:n(()=>[l("div",c,[h,_,p,f,m,E,g,A,T,R,b,O,S,I,y,D,v,C,L,w,P,U,H,N,V,M,x,j,k,B,G,W,F,q,Y,K,z,X,J,Z,Q,$,ll,el,nl,tl,ol,l("table",null,[ul,l("tbody",null,[sl,al,rl,dl,il,cl,hl,_l,l("tr",null,[pl,l("td",null,[fl,o(t,{to:"/docs/reference/authentication/#request-password-reset"},{default:n(()=>[ml,El,gl]),_:1})]),Al]),l("tr",null,[Tl,l("td",null,[Rl,o(t,{to:"/docs/reference/system/users/#invite-a-new-user"},{default:n(()=>[bl,Ol,Sl]),_:1})]),Il]),yl,Dl,vl,Cl,Ll])]),wl,Pl,Ul,l("p",null,[Hl,Nl,Vl,o(t,{to:"/docs/reference/system/utilities/#generate-a-hash"},{default:n(()=>[Ml]),_:1}),xl]),jl,kl,Bl,Gl,Wl,Fl,ql,Yl,Kl,zl,Xl,Jl,Zl,Ql,$l,le,ee,ne,te,oe,ue,se,ae,re,de,ie,ce,he,_e,pe,fe,me,Ee,ge,Ae,Te,Re,be,Oe,Se,Ie,ye,De,ve,Ce,Le,we,Pe,Ue,He,Ne,Ve,Me,xe,je,ke,Be,Ge,We,Fe,qe,Ye,Ke,ze,Xe,Je,Ze,Qe,$e,ln,en,nn,tn,on,un,sn,l("table",null,[an,l("tbody",null,[rn,dn,cn,hn,_n,pn,fn,mn,En,gn,l("tr",null,[An,l("td",null,[Tn,o(t,{to:"/docs/getting-started/glossary/#icons"},{default:n(()=>[Rn]),_:1}),bn]),On]),Sn])]),In,yn,l("table",null,[Dn,l("tbody",null,[vn,Cn,Ln,wn,Pn,Un,Hn,Nn,l("tr",null,[Vn,l("td",null,[Mn,o(t,{to:"/docs/getting-started/glossary/#icons"},{default:n(()=>[xn]),_:1}),jn]),kn]),Bn])]),Gn,Wn,Fn,qn,Yn,Kn,zn,Xn,Jn,Zn,Qn,$n,lt,et,nt,tt,ot,ut,st,at,rt,dt,it,ct,ht,_t,pt,ft,mt,Et,gt,At,Tt,Rt])]),_:1})}}};export{yt as default};