@directus/app 9.5.2 → 9.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (833) hide show
  1. package/dist/assets/@directus_extensions-sdk.27762347.entry.js +1 -0
  2. package/dist/assets/active-line.e9818888.js +1 -0
  3. package/dist/assets/activity-log.85daf7a4.js +1 -0
  4. package/dist/assets/activity.d0569cd2.js +80 -0
  5. package/dist/assets/af.b15e3fdc.js +1 -0
  6. package/dist/assets/apl.8277d513.js +1 -0
  7. package/dist/assets/app-overview.6445a201.svg +86 -0
  8. package/dist/assets/ar-dz.5481d0db.js +1 -0
  9. package/dist/assets/ar-kw.77cb7412.js +1 -0
  10. package/dist/assets/ar-ly.d2852686.js +1 -0
  11. package/dist/assets/ar-ma.6b2052c4.js +1 -0
  12. package/dist/assets/ar-sa.0ce4896b.js +1 -0
  13. package/dist/assets/ar-tn.0075ee1e.js +1 -0
  14. package/dist/assets/ar.01c8813a.js +1 -0
  15. package/dist/assets/asciiarmor.c653ded3.js +1 -0
  16. package/dist/assets/asn.1.bd4bac01.js +1 -0
  17. package/dist/assets/asterisk.dd04622f.js +1 -0
  18. package/dist/assets/authentication.60521067.js +73 -0
  19. package/dist/assets/autorefresh.fcc43bee.js +1 -0
  20. package/dist/assets/aws.76e96460.js +1 -0
  21. package/dist/assets/az.839e5437.js +1 -0
  22. package/dist/assets/backing-directus.64e6ef1f.js +1 -0
  23. package/dist/assets/bg.71bbc37d.js +1 -0
  24. package/dist/assets/bn.28eb3677.js +1 -0
  25. package/dist/assets/brainfuck.88714c3d.js +1 -0
  26. package/dist/assets/bs.b0570362.js +1 -0
  27. package/dist/assets/ca.d17b0b48.js +1 -0
  28. package/dist/assets/cli.9b6582a5.js +18 -0
  29. package/dist/assets/cli.c91d5269.js +4 -0
  30. package/dist/assets/clike.a23032a9.js +1 -0
  31. package/dist/assets/clojure.77bd41dc.js +1 -0
  32. package/dist/assets/cloudron.52aa95ca.js +1 -0
  33. package/dist/assets/cmake.d6a02425.js +1 -0
  34. package/dist/assets/cobol.12648bf5.js +1 -0
  35. package/dist/assets/codebase-overview.8d89aaef.js +1 -0
  36. package/dist/assets/coffeescript.c039cbb4.js +1 -0
  37. package/dist/assets/collections.dc3b49e6.js +106 -0
  38. package/dist/assets/commonlisp.f2084a1d.js +1 -0
  39. package/dist/assets/config-options.4f623f71.js +138 -0
  40. package/dist/assets/content-collections.ac942019.js +1 -0
  41. package/dist/assets/content-items.5657df9d.js +1 -0
  42. package/dist/assets/content.3725ebd8.js +1 -0
  43. package/dist/assets/creating-extensions.26964364.js +11 -0
  44. package/dist/assets/crystal.67f22611.js +1 -0
  45. package/dist/assets/cs.23d06f43.js +1 -0
  46. package/dist/assets/css.7d0bb97e.js +1 -0
  47. package/dist/assets/cy.3b5a8132.js +1 -0
  48. package/dist/assets/cypher.79c6a384.js +4 -0
  49. package/dist/assets/d.9f3975bc.js +1 -0
  50. package/dist/assets/da.18bc0ec4.js +1 -0
  51. package/dist/assets/dart.2413f6a0.js +1 -0
  52. package/dist/assets/data-model.d6b27512.js +1 -0
  53. package/dist/assets/de-DE.7cd8edca.js +1 -0
  54. package/dist/assets/de-at.a1f7dd1d.js +1 -0
  55. package/dist/assets/de.a8c4aad1.js +1 -0
  56. package/dist/assets/diff.e65cc025.js +1 -0
  57. package/dist/assets/digitalocean-app-platform.1a64c7ed.js +3 -0
  58. package/dist/assets/displays.3a79683e.js +49 -0
  59. package/dist/assets/django.9bb11ca6.js +1 -0
  60. package/dist/assets/docker.790722c7.js +82 -0
  61. package/dist/assets/dockerfile.6abd4f99.js +1 -0
  62. package/dist/assets/documentation.d06bab23.js +1 -0
  63. package/dist/assets/dtd.658f232c.js +1 -0
  64. package/dist/assets/dylan.bb250d49.js +1 -0
  65. package/dist/assets/ebnf.7167c45f.js +1 -0
  66. package/dist/assets/ecl.faa546da.js +1 -0
  67. package/dist/assets/eiffel.bdc2ca84.js +1 -0
  68. package/dist/assets/el.fd48dbad.js +1 -0
  69. package/dist/assets/elm.fc9c507a.js +1 -0
  70. package/dist/assets/email-templates.79e5e2ca.js +2 -0
  71. package/dist/assets/en-au.1268cbf1.js +1 -0
  72. package/dist/assets/en-gb.0165e0db.js +1 -0
  73. package/dist/assets/en-nz.01361cd3.js +1 -0
  74. package/dist/assets/endpoints.04e33b95.js +27 -0
  75. package/dist/assets/eo.7ba085ab.js +1 -0
  76. package/dist/assets/erlang.63538b7a.js +1 -0
  77. package/dist/assets/es-CL.e4d38d3f.js +1 -0
  78. package/dist/assets/es-ES.5ed14f46.js +1 -0
  79. package/dist/assets/es-us.8d0a5dcc.js +1 -0
  80. package/dist/assets/es.33209895.js +1 -0
  81. package/dist/assets/et.d879b698.js +1 -0
  82. package/dist/assets/eu.bfb2c22e.js +1 -0
  83. package/dist/assets/extensions.771f89ad.js +12 -0
  84. package/dist/assets/fa.d9f705ee.js +1 -0
  85. package/dist/assets/factor.9f9f4abb.js +1 -0
  86. package/dist/assets/faq.0cd56497.js +2 -0
  87. package/dist/assets/fcl.f9869b95.js +1 -0
  88. package/dist/assets/fi.5a2e9662.js +1 -0
  89. package/dist/assets/fields.a96528be.js +135 -0
  90. package/dist/assets/file-library.680d5840.js +1 -0
  91. package/dist/assets/files.f21bf259.js +187 -0
  92. package/dist/assets/filter-rules.e04beb8f.js +60 -0
  93. package/dist/assets/folders.c3b0e112.js +132 -0
  94. package/dist/assets/forth.c127aeeb.js +1 -0
  95. package/dist/assets/fortran.971bd1fd.js +1 -0
  96. package/dist/assets/fr-ca.cd8c81b9.js +1 -0
  97. package/dist/assets/fr-ch.d9522a23.js +1 -0
  98. package/dist/assets/fr.56b3c7ac.js +1 -0
  99. package/dist/assets/gas.bf045d26.js +1 -0
  100. package/dist/assets/gcp.678c6445.js +60 -0
  101. package/dist/assets/gfm.4b4dba16.js +1 -0
  102. package/dist/assets/gherkin.28e46387.js +1 -0
  103. package/dist/assets/github-ci.23ecb36d.js +2 -0
  104. package/dist/assets/gl.addde635.js +1 -0
  105. package/dist/assets/glossary.3288b825.js +1 -0
  106. package/dist/assets/go.37f05be2.js +1 -0
  107. package/dist/assets/groovy.caed6356.js +1 -0
  108. package/dist/assets/haml.6d0c1fb8.js +1 -0
  109. package/dist/assets/handlebars.29c511b2.js +1 -0
  110. package/dist/assets/haskell-literate.212af0aa.js +1 -0
  111. package/dist/assets/haskell.701a5e5e.js +1 -0
  112. package/dist/assets/haxe.0989c172.js +1 -0
  113. package/dist/assets/he.343cc1d8.js +1 -0
  114. package/dist/assets/hi.b7726273.js +1 -0
  115. package/dist/assets/hooks.0082d595.js +60 -0
  116. package/dist/assets/hr-HR.17ae4a7f.js +1 -0
  117. package/dist/assets/hr.2709fc3c.js +1 -0
  118. package/dist/assets/htmlembedded.4af5b785.js +1 -0
  119. package/dist/assets/htmlmixed.a51c7358.js +1 -0
  120. package/dist/assets/http.d4f19e67.js +1 -0
  121. package/dist/assets/hu.ec48b74d.js +1 -0
  122. package/dist/assets/hy-am.30c58054.js +1 -0
  123. package/dist/assets/id-ID.730079b9.js +1 -0
  124. package/dist/assets/id.08bda718.js +1 -0
  125. package/dist/assets/idl.eeda14ab.js +1 -0
  126. package/dist/assets/iis.330abbee.js +24 -0
  127. package/dist/assets/index.071a9c3a.js +1 -0
  128. package/dist/assets/index.0d6f77da.js +1 -0
  129. package/dist/assets/index.0dddca1a.js +1 -0
  130. package/dist/assets/index.10548c32.js +1 -0
  131. package/dist/assets/index.10925874.js +1 -0
  132. package/dist/assets/index.146fba14.js +1 -0
  133. package/dist/assets/index.14876b51.js +1 -0
  134. package/dist/assets/index.1806be1f.js +1 -0
  135. package/dist/assets/index.205e1dad.js +1 -0
  136. package/dist/assets/index.326bb798.js +1 -0
  137. package/dist/assets/index.3677702f.css +1 -0
  138. package/dist/assets/index.37cffa7d.js +1 -0
  139. package/dist/assets/index.3ae28004.js +1 -0
  140. package/dist/assets/index.3fc14165.js +1 -0
  141. package/dist/assets/index.415d63b7.js +1 -0
  142. package/dist/assets/index.41b6a5ee.js +1 -0
  143. package/dist/assets/index.4aa69d22.js +1 -0
  144. package/dist/assets/index.4b8ae547.js +1 -0
  145. package/dist/assets/index.4e0946be.js +1 -0
  146. package/dist/assets/index.4f13b227.js +1 -0
  147. package/dist/assets/index.51574b0e.js +1 -0
  148. package/dist/assets/index.51882a25.js +1 -0
  149. package/dist/assets/index.51e43e6a.js +1 -0
  150. package/dist/assets/index.525f3896.js +1 -0
  151. package/dist/assets/index.5e04a811.js +1 -0
  152. package/dist/assets/index.5ea5bfa5.js +1 -0
  153. package/dist/assets/index.60c6d36d.js +1 -0
  154. package/dist/assets/index.625e71a7.js +1 -0
  155. package/dist/assets/index.6260e453.js +1 -0
  156. package/dist/assets/index.62fd2872.js +1 -0
  157. package/dist/assets/index.68a087d1.js +1 -0
  158. package/dist/assets/index.6e92d608.js +1 -0
  159. package/dist/assets/index.73b63f0e.js +1 -0
  160. package/dist/assets/index.7472dc76.js +1 -0
  161. package/dist/assets/index.76e3ec1d.js +1 -0
  162. package/dist/assets/index.7a271708.js +1 -0
  163. package/dist/assets/index.7a98f173.js +1 -0
  164. package/dist/assets/index.7badc515.js +1 -0
  165. package/dist/assets/index.7cfb4e9f.js +1 -0
  166. package/dist/assets/index.7e95afe7.js +1 -0
  167. package/dist/assets/index.8dee4a35.js +1 -0
  168. package/dist/assets/index.8fe44535.js +1 -0
  169. package/dist/assets/index.90abf85c.js +1 -0
  170. package/dist/assets/index.913c3bcb.js +1 -0
  171. package/dist/assets/index.93380fe6.js +1 -0
  172. package/dist/assets/index.98841743.js +1 -0
  173. package/dist/assets/index.9c5d89ae.js +1 -0
  174. package/dist/assets/index.a002e680.js +1 -0
  175. package/dist/assets/index.a09c6735.js +1 -0
  176. package/dist/assets/index.a2862ce9.js +1 -0
  177. package/dist/assets/index.a2ff10ff.js +1 -0
  178. package/dist/assets/index.a6e1eaac.js +1 -0
  179. package/dist/assets/index.a97e922c.js +1 -0
  180. package/dist/assets/index.ac67a5f3.js +1 -0
  181. package/dist/assets/index.b3b7693f.js +1 -0
  182. package/dist/assets/index.b6a98b96.js +1 -0
  183. package/dist/assets/index.c208f0fd.js +1 -0
  184. package/dist/assets/index.c440596f.js +1 -0
  185. package/dist/assets/index.c922886d.js +1 -0
  186. package/dist/assets/index.caf343d8.js +1 -0
  187. package/dist/assets/index.cd1e1e40.js +1 -0
  188. package/dist/assets/index.cd89a422.js +1 -0
  189. package/dist/assets/index.cf683d8c.js +1 -0
  190. package/dist/assets/index.cfae1a8b.js +1 -0
  191. package/dist/assets/index.d03f4b8b.js +1 -0
  192. package/dist/assets/index.d0b4ff86.js +1 -0
  193. package/dist/assets/index.d4834d17.js +1 -0
  194. package/dist/assets/index.d74fe2b2.js +26 -0
  195. package/dist/assets/index.d91c6632.css +1 -0
  196. package/dist/assets/index.df4b8c75.js +1 -0
  197. package/dist/assets/index.e041364c.js +1 -0
  198. package/dist/assets/index.e787f33f.js +1 -0
  199. package/dist/assets/index.e7be0f01.js +1 -0
  200. package/dist/assets/index.e7e6179d.js +1 -0
  201. package/dist/assets/index.e96faed1.js +1 -0
  202. package/dist/assets/index.eacd68de.js +1 -0
  203. package/dist/assets/index.f10b280f.js +1 -0
  204. package/dist/assets/index.f3c9fe2a.js +1 -0
  205. package/dist/assets/index.f52f3569.js +1 -0
  206. package/dist/assets/index.f6a253b6.js +1 -0
  207. package/dist/assets/index.f7322f54.entry.js +531 -0
  208. package/dist/assets/index.fc02ea02.js +1 -0
  209. package/dist/assets/index.fc550611.js +1 -0
  210. package/dist/assets/index.ff32b7e4.js +1 -0
  211. package/dist/assets/input-rich-text-html.12cfd6d6.js +239 -0
  212. package/dist/assets/input-rich-text-html.1d6673ff.css +1 -0
  213. package/dist/assets/insights.7e720aaa.js +1 -0
  214. package/dist/assets/installation.ac1195fb.js +1 -0
  215. package/dist/assets/interfaces.85a891f8.js +46 -0
  216. package/dist/assets/introduction.14ab0709.js +1 -0
  217. package/dist/assets/introduction.16cf3345.js +1 -0
  218. package/dist/assets/introduction.d2c3a9b1.js +4 -0
  219. package/dist/assets/introduction.f1b59346.js +90 -0
  220. package/dist/assets/is.b36ebc71.js +1 -0
  221. package/dist/assets/it-IT.c887dd87.js +1 -0
  222. package/dist/assets/it.3cadf6ad.js +1 -0
  223. package/dist/assets/items.ce1274b9.js +136 -0
  224. package/dist/assets/ja.df6f4b08.js +1 -0
  225. package/dist/assets/javascript-hint.2d9f90b8.js +1 -0
  226. package/dist/assets/javascript.aa968f57.js +1 -0
  227. package/dist/assets/jinja2.36c237ca.js +1 -0
  228. package/dist/assets/jsonlint.e8823cb8.js +8 -0
  229. package/dist/assets/jsx.197dce43.js +1 -0
  230. package/dist/assets/julia.c102dfd3.js +1 -0
  231. package/dist/assets/ka.805bf11c.js +1 -0
  232. package/dist/assets/kk.a6e57d44.js +1 -0
  233. package/dist/assets/ko.08fe68a9.js +1 -0
  234. package/dist/assets/layouts.ff5441c6.js +54 -0
  235. package/dist/assets/lb.e01f5df5.js +1 -0
  236. package/dist/assets/livescript.21105db8.js +1 -0
  237. package/dist/assets/localization.27364f2b.js +1 -0
  238. package/dist/assets/lt.0d291ae5.js +1 -0
  239. package/dist/assets/lua.1d09048d.js +1 -0
  240. package/dist/assets/lv.00399f94.js +1 -0
  241. package/dist/assets/manual.63f9c5d3.js +10 -0
  242. package/dist/assets/mark-selection.48a3dbe8.js +1 -0
  243. package/dist/assets/match-highlighter.0df5b4f1.js +1 -0
  244. package/dist/assets/mathematica.2fe90942.js +1 -0
  245. package/dist/assets/mbox.5cb538b6.js +1 -0
  246. package/dist/assets/migrations.1bc30d80.js +19 -0
  247. package/dist/assets/mirc.96079655.js +1 -0
  248. package/dist/assets/mk.5d734698.js +1 -0
  249. package/dist/assets/mllike.7a80c37b.js +1 -0
  250. package/dist/assets/mn-MN.3b64cd12.js +1 -0
  251. package/dist/assets/modelica.f87d9a24.js +1 -0
  252. package/dist/assets/modules.dfe4aa4e.js +69 -0
  253. package/dist/assets/ms.d459f765.js +1 -0
  254. package/dist/assets/mscgen.1e50688f.js +1 -0
  255. package/dist/assets/multiplex.90c2363b.js +3 -0
  256. package/dist/assets/mumps.aa5704c7.js +1 -0
  257. package/dist/assets/nb.a3febc82.js +1 -0
  258. package/dist/assets/ne.afdfe3bf.js +1 -0
  259. package/dist/assets/nginx.f40bad27.js +1 -0
  260. package/dist/assets/nl.12cdd5b8.js +1 -0
  261. package/dist/assets/nn.535723b4.js +1 -0
  262. package/dist/assets/notifications.20bde137.js +153 -0
  263. package/dist/assets/nsis.99bbd756.js +1 -0
  264. package/dist/assets/ntriples.2e5020c8.js +1 -0
  265. package/dist/assets/octave.ee1a6e70.js +1 -0
  266. package/dist/assets/overlay.8ec15b1b.js +1 -0
  267. package/dist/assets/overview.01ff825c.js +1 -0
  268. package/dist/assets/overview.3a8bd973.js +1 -0
  269. package/dist/assets/oz.9fbab86e.js +1 -0
  270. package/dist/assets/panels.84ef6a84.js +65 -0
  271. package/dist/assets/pascal.c44d5320.js +1 -0
  272. package/dist/assets/pegjs.b32c7ead.js +1 -0
  273. package/dist/assets/perl.2729cf31.js +1 -0
  274. package/dist/assets/permissions.47d65b17.js +178 -0
  275. package/dist/assets/php.d6a66d9d.js +1 -0
  276. package/dist/assets/pig.47fa025c.js +1 -0
  277. package/dist/assets/pinia.f515d45e.entry.js +1 -0
  278. package/dist/assets/pl-PL.c389638f.js +1 -0
  279. package/dist/assets/pl.86440e6e.js +1 -0
  280. package/dist/assets/plesk.0483440c.js +27 -0
  281. package/dist/assets/powershell.99a55b30.js +1 -0
  282. package/dist/assets/presets-bookmarks.82f3f9ef.js +1 -0
  283. package/dist/assets/presets.6ace4e86.js +164 -0
  284. package/dist/assets/project-settings.b6942d32.js +1 -0
  285. package/dist/assets/properties.1055d639.js +1 -0
  286. package/dist/assets/protobuf.4b3eb57a.js +1 -0
  287. package/dist/assets/pt-br.cc4b694f.js +1 -0
  288. package/dist/assets/pt.73886c02.js +1 -0
  289. package/dist/assets/pug.000c324e.js +1 -0
  290. package/dist/assets/puppet.25546d2c.js +1 -0
  291. package/dist/assets/python.8450efc6.js +1 -0
  292. package/dist/assets/q.0ad76756.js +1 -0
  293. package/dist/assets/query.d7cae937.js +152 -0
  294. package/dist/assets/quickstart.7dce1be9.js +20 -0
  295. package/dist/assets/r.2e3f1373.js +1 -0
  296. package/dist/assets/relations.143e59a4.js +115 -0
  297. package/dist/assets/relationships.8a6a55ea.js +55 -0
  298. package/dist/assets/revisions.4a380f31.js +40 -0
  299. package/dist/assets/ro-RO.97f46d61.js +1 -0
  300. package/dist/assets/ro.c45ba3d9.js +1 -0
  301. package/dist/assets/roles.9a467f51.js +171 -0
  302. package/dist/assets/rpm.0f41e62d.js +1 -0
  303. package/dist/assets/rst.a4f3ba5f.js +1 -0
  304. package/dist/assets/ru-RU.08ba5d6b.js +1 -0
  305. package/dist/assets/ru.638f4fa4.js +1 -0
  306. package/dist/assets/ruby.5cb0ba51.js +1 -0
  307. package/dist/assets/running-locally.b2de8da4.js +28 -0
  308. package/dist/assets/rust.b7493419.js +1 -0
  309. package/dist/assets/sas.0cd3626d.js +1 -0
  310. package/dist/assets/sass.cd694623.js +1 -0
  311. package/dist/assets/scheme.3aaec68e.js +1 -0
  312. package/dist/assets/sdk.accde57c.js +355 -0
  313. package/dist/assets/security.c7ae152d.js +1 -0
  314. package/dist/assets/server.4707997f.js +114 -0
  315. package/dist/assets/settings.16ae0506.js +51 -0
  316. package/dist/assets/settings.d10a56a2.js +1 -0
  317. package/dist/assets/shell.330154a1.js +1 -0
  318. package/dist/assets/show-hint.08ce5b35.js +1 -0
  319. package/dist/assets/sieve.b4c7728e.js +1 -0
  320. package/dist/assets/simple.8763f2ec.js +1 -0
  321. package/dist/assets/sk.883343ad.js +1 -0
  322. package/dist/assets/sl.9c1d7271.js +1 -0
  323. package/dist/assets/slim.9ea94231.js +1 -0
  324. package/dist/assets/smalltalk.8b61c119.js +1 -0
  325. package/dist/assets/smarty.706bb089.js +1 -0
  326. package/dist/assets/solr.67c7ee7a.js +1 -0
  327. package/dist/assets/soy.be473048.js +1 -0
  328. package/dist/assets/sparql.51a25620.js +1 -0
  329. package/dist/assets/spreadsheet.fcb893e8.js +1 -0
  330. package/dist/assets/sq.94f802c2.js +1 -0
  331. package/dist/assets/sql.4dc1acac.js +1 -0
  332. package/dist/assets/sr-cyrl.cf2bde33.js +1 -0
  333. package/dist/assets/sr.ae9ed7f6.js +1 -0
  334. package/dist/assets/sso.e2f0df9a.js +22 -0
  335. package/dist/assets/stex.84747908.js +1 -0
  336. package/dist/assets/stylus.7b96e081.js +1 -0
  337. package/dist/assets/support.0b9bd95f.js +1 -0
  338. package/dist/assets/sv.4d9818be.js +1 -0
  339. package/dist/assets/swift.79848d55.js +1 -0
  340. package/dist/assets/ta-in.58b9457c.js +1 -0
  341. package/dist/assets/tcl.1970681b.js +1 -0
  342. package/dist/assets/textile.e83320ea.js +1 -0
  343. package/dist/assets/th.2e10ae87.js +1 -0
  344. package/dist/assets/themes.323d2c59.js +5 -0
  345. package/dist/assets/tiddlywiki.2b2e4ff7.js +1 -0
  346. package/dist/assets/tiki.9cc4254e.js +1 -0
  347. package/dist/assets/toml.9be02e0b.js +1 -0
  348. package/dist/assets/tornado.073889de.js +1 -0
  349. package/dist/assets/tr.56778c02.js +1 -0
  350. package/dist/assets/translations.bd6e2f4c.js +1 -0
  351. package/dist/assets/troff.8fa79cbc.js +1 -0
  352. package/dist/assets/ttcn-cfg.e7bac5a1.js +1 -0
  353. package/dist/assets/ttcn.1cc44c93.js +1 -0
  354. package/dist/assets/turtle.d5e9ffb3.js +1 -0
  355. package/dist/assets/twig.b04e6f4c.js +1 -0
  356. package/dist/assets/ubuntu.2e2a920e.js +11 -0
  357. package/dist/assets/ug.6363a215.js +1 -0
  358. package/dist/assets/uk.5a9060bd.js +1 -0
  359. package/dist/assets/upgrades-migrations.6b40146f.js +1 -0
  360. package/dist/assets/use-sync.6d20172a.js +1 -0
  361. package/dist/assets/user-directory.c5340005.js +1 -0
  362. package/dist/assets/users-roles-permissions.9d570863.js +1 -0
  363. package/dist/assets/users.2bcfad1a.js +252 -0
  364. package/dist/assets/utilities.e5c07634.js +60 -0
  365. package/dist/assets/uz.687d7fbd.js +1 -0
  366. package/dist/assets/vb.c986b370.js +1 -0
  367. package/dist/assets/vbscript.92f83a08.js +1 -0
  368. package/dist/assets/velocity.f11f1d03.js +1 -0
  369. package/dist/assets/vendor.546e1516.js +1976 -0
  370. package/dist/assets/vendor.9387af12.css +1 -0
  371. package/dist/assets/verilog.a24f0500.js +1 -0
  372. package/dist/assets/vhdl.a49602e6.js +1 -0
  373. package/dist/assets/vi.2bf54ce7.js +1 -0
  374. package/dist/assets/vue-i18n.feba4fda.entry.js +1 -0
  375. package/dist/assets/vue-router.9dd9c3aa.entry.js +1 -0
  376. package/dist/assets/vue.b07aacca.entry.js +1 -0
  377. package/dist/assets/vue.c4de942a.js +1 -0
  378. package/dist/assets/wast.6c6c82f6.js +1 -0
  379. package/dist/assets/webhooks.6086e8a1.js +147 -0
  380. package/dist/assets/webhooks.6b93563c.js +1 -0
  381. package/dist/assets/webidl.7ab89b46.js +1 -0
  382. package/dist/assets/xquery.0bb89cc8.js +1 -0
  383. package/dist/assets/yacas.ed921cd2.js +1 -0
  384. package/dist/assets/yaml-frontmatter.1248294d.js +1 -0
  385. package/dist/assets/yaml.b6cf6fc7.js +1 -0
  386. package/dist/assets/z80.84dfc6fb.js +1 -0
  387. package/dist/assets/zh-CN.39bd6632.js +1 -0
  388. package/dist/assets/zh-cn.aac76920.js +1 -0
  389. package/dist/assets/zh-tw.d89266cf.js +1 -0
  390. package/dist/favicon.ico +0 -0
  391. package/dist/index.html +7 -119
  392. package/dist/manifest.webmanifest +7 -25
  393. package/package.json +6 -6
  394. package/dist/assets/200-200-cover-100.6a119754.jpg +0 -0
  395. package/dist/assets/200-200-cover-50.b5c757be.jpg +0 -0
  396. package/dist/assets/200-200-cover-75.5e0d9ff8.jpg +0 -0
  397. package/dist/assets/@directus_extensions-sdk.fdb93800.entry.js +0 -1
  398. package/dist/assets/active-line.91ff5c8d.js +0 -1
  399. package/dist/assets/activity-log.97fbae42.js +0 -1
  400. package/dist/assets/activity.088d1c35.js +0 -80
  401. package/dist/assets/add-field.880542d6.png +0 -0
  402. package/dist/assets/af.0ae12dd5.js +0 -1
  403. package/dist/assets/apl.92e6230c.js +0 -1
  404. package/dist/assets/app-overview.1d041c7b.svg +0 -86
  405. package/dist/assets/ar-dz.4def840c.js +0 -1
  406. package/dist/assets/ar-kw.8e19bfac.js +0 -1
  407. package/dist/assets/ar-ly.1c517370.js +0 -1
  408. package/dist/assets/ar-ma.f01598f3.js +0 -1
  409. package/dist/assets/ar-sa.c5fe14e9.js +0 -1
  410. package/dist/assets/ar-tn.121f69b2.js +0 -1
  411. package/dist/assets/ar.bed29460.js +0 -1
  412. package/dist/assets/article-overview.86ef3f76.png +0 -0
  413. package/dist/assets/asciiarmor.d335dc7c.js +0 -1
  414. package/dist/assets/asn.1.d315920f.js +0 -1
  415. package/dist/assets/asterisk.8cfced94.js +0 -1
  416. package/dist/assets/authentication.0adbdab6.js +0 -73
  417. package/dist/assets/autorefresh.2d612ff9.js +0 -1
  418. package/dist/assets/aws.a670afd3.js +0 -1
  419. package/dist/assets/az.706ff558.js +0 -1
  420. package/dist/assets/backing-directus.2899551f.js +0 -1
  421. package/dist/assets/bg.1c68ab52.js +0 -1
  422. package/dist/assets/bn.52d26e23.js +0 -1
  423. package/dist/assets/brainfuck.0a18d08d.js +0 -1
  424. package/dist/assets/bs.4d20add5.js +0 -1
  425. package/dist/assets/ca.a79eb6d2.js +0 -1
  426. package/dist/assets/cli.91a7b0ef.js +0 -18
  427. package/dist/assets/cli.bc06663f.js +0 -4
  428. package/dist/assets/clike.f1d85fe8.js +0 -1
  429. package/dist/assets/clojure.3e724d4b.js +0 -1
  430. package/dist/assets/cloudron.fa37a185.js +0 -1
  431. package/dist/assets/cmake.b3c9ae9d.js +0 -1
  432. package/dist/assets/cobol.236f6c6d.js +0 -1
  433. package/dist/assets/codebase-overview.0c0f5cba.js +0 -1
  434. package/dist/assets/coffeescript.69af43ea.js +0 -1
  435. package/dist/assets/collection-overview.f5f4bdd0.png +0 -0
  436. package/dist/assets/collections.f48d1811.js +0 -106
  437. package/dist/assets/commonlisp.ae043fd0.js +0 -1
  438. package/dist/assets/config-options.b997fb3e.js +0 -133
  439. package/dist/assets/content-collections.96c41bd1.js +0 -1
  440. package/dist/assets/content-items.f1fc2a9e.js +0 -1
  441. package/dist/assets/content.ef11e1cb.js +0 -1
  442. package/dist/assets/create-item.32e17f40.png +0 -0
  443. package/dist/assets/creating-extensions.8be00e4c.js +0 -11
  444. package/dist/assets/crystal.05d16dee.js +0 -1
  445. package/dist/assets/cs.b1e8bc14.js +0 -1
  446. package/dist/assets/css.62b091b8.js +0 -1
  447. package/dist/assets/cy.ac181a59.js +0 -1
  448. package/dist/assets/cypher.d55c23f3.js +0 -4
  449. package/dist/assets/d.5c2e5119.js +0 -1
  450. package/dist/assets/da.4016bc22.js +0 -1
  451. package/dist/assets/dart.60c85b71.js +0 -1
  452. package/dist/assets/data-model.4b43400f.js +0 -1
  453. package/dist/assets/de-DE.2f3867e9.js +0 -1
  454. package/dist/assets/de-at.c36ba3d5.js +0 -1
  455. package/dist/assets/de.31ae30a8.js +0 -1
  456. package/dist/assets/diff.13039cc0.js +0 -1
  457. package/dist/assets/digitalocean-app-platform.9dbbd151.js +0 -3
  458. package/dist/assets/displays.05a0ba75.js +0 -49
  459. package/dist/assets/django.a3de2d81.js +0 -1
  460. package/dist/assets/docker.94eebb00.js +0 -82
  461. package/dist/assets/dockerfile.87ef21a5.js +0 -1
  462. package/dist/assets/documentation.5662403f.js +0 -1
  463. package/dist/assets/dtd.bd6b4051.js +0 -1
  464. package/dist/assets/dylan.520b25cf.js +0 -1
  465. package/dist/assets/ebnf.2730fea9.js +0 -1
  466. package/dist/assets/ecl.9a6d1532.js +0 -1
  467. package/dist/assets/eiffel.b322eaa7.js +0 -1
  468. package/dist/assets/el.59a913c2.js +0 -1
  469. package/dist/assets/elm.9bd5d49d.js +0 -1
  470. package/dist/assets/email-templates.2622f4f5.js +0 -2
  471. package/dist/assets/empty-state.bbc4e874.png +0 -0
  472. package/dist/assets/en-au.169355d7.js +0 -1
  473. package/dist/assets/en-gb.0b977da8.js +0 -1
  474. package/dist/assets/en-nz.6296f2b6.js +0 -1
  475. package/dist/assets/endpoints.90c6640c.js +0 -27
  476. package/dist/assets/eo.d92d8fbf.js +0 -1
  477. package/dist/assets/erlang.b9d69a18.js +0 -1
  478. package/dist/assets/es-CL.fd6804fd.js +0 -1
  479. package/dist/assets/es-ES.2a2421e3.js +0 -1
  480. package/dist/assets/es-us.35915abe.js +0 -1
  481. package/dist/assets/es.c516dd05.js +0 -1
  482. package/dist/assets/et.420b5f6d.js +0 -1
  483. package/dist/assets/eu.edaff4b0.js +0 -1
  484. package/dist/assets/extensions.087c9534.js +0 -12
  485. package/dist/assets/fa.f3993a60.js +0 -1
  486. package/dist/assets/factor.f7077407.js +0 -1
  487. package/dist/assets/faq.b35d46ed.js +0 -2
  488. package/dist/assets/fcl.45028b4e.js +0 -1
  489. package/dist/assets/fi.3ee32d07.js +0 -1
  490. package/dist/assets/fields.6654fb8d.js +0 -135
  491. package/dist/assets/file-library-overview.b41d2005.png +0 -0
  492. package/dist/assets/file-library.cc49fa2f.js +0 -1
  493. package/dist/assets/file-overview.c28ace50.png +0 -0
  494. package/dist/assets/files.39a1fdcf.js +0 -187
  495. package/dist/assets/filter-rules.afe98b80.js +0 -60
  496. package/dist/assets/folders.9d2e334f.js +0 -132
  497. package/dist/assets/forth.195887c3.js +0 -1
  498. package/dist/assets/fortran.5d5c335b.js +0 -1
  499. package/dist/assets/fr-ca.e2e64899.js +0 -1
  500. package/dist/assets/fr-ch.e9042a4c.js +0 -1
  501. package/dist/assets/fr.9d599b24.js +0 -1
  502. package/dist/assets/gas.16c12037.js +0 -1
  503. package/dist/assets/gcp.9b7c4ed6.js +0 -60
  504. package/dist/assets/gfm.d799b563.js +0 -1
  505. package/dist/assets/gherkin.2b39b6dd.js +0 -1
  506. package/dist/assets/github-ci.8c797816.js +0 -2
  507. package/dist/assets/gl.b8341ed4.js +0 -1
  508. package/dist/assets/glossary.2aef84aa.js +0 -1
  509. package/dist/assets/go.a9b03085.js +0 -1
  510. package/dist/assets/groovy.29bd8618.js +0 -1
  511. package/dist/assets/haml.6e79da90.js +0 -1
  512. package/dist/assets/handlebars.2cc03606.js +0 -1
  513. package/dist/assets/haskell-literate.7d265fa0.js +0 -1
  514. package/dist/assets/haskell.74b99322.js +0 -1
  515. package/dist/assets/haxe.cded41ab.js +0 -1
  516. package/dist/assets/he.18403882.js +0 -1
  517. package/dist/assets/hi.e2a17765.js +0 -1
  518. package/dist/assets/hooks.57af13af.js +0 -60
  519. package/dist/assets/hr-HR.4258bbeb.js +0 -1
  520. package/dist/assets/hr.57f77dc3.js +0 -1
  521. package/dist/assets/htmlembedded.49f79187.js +0 -1
  522. package/dist/assets/htmlmixed.d6f11e3c.js +0 -1
  523. package/dist/assets/http.068172f8.js +0 -1
  524. package/dist/assets/hu.adb9ccdc.js +0 -1
  525. package/dist/assets/hy-am.59b7a75e.js +0 -1
  526. package/dist/assets/id-ID.73df63e3.js +0 -1
  527. package/dist/assets/id.bc299c4a.js +0 -1
  528. package/dist/assets/idl.2f22f15a.js +0 -1
  529. package/dist/assets/iis.0756b349.js +0 -24
  530. package/dist/assets/index.03be9954.js +0 -1
  531. package/dist/assets/index.0ba1faa9.css +0 -1
  532. package/dist/assets/index.1610ceeb.js +0 -1
  533. package/dist/assets/index.1760c023.js +0 -1
  534. package/dist/assets/index.17858738.js +0 -1
  535. package/dist/assets/index.1792b218.js +0 -1
  536. package/dist/assets/index.17dcd22b.js +0 -1
  537. package/dist/assets/index.1a2bd336.js +0 -1
  538. package/dist/assets/index.1e433f7c.js +0 -1
  539. package/dist/assets/index.1ef15bd0.js +0 -1
  540. package/dist/assets/index.25bd5335.js +0 -1
  541. package/dist/assets/index.284ad9ae.js +0 -1
  542. package/dist/assets/index.28c78852.js +0 -1
  543. package/dist/assets/index.30c48506.js +0 -1
  544. package/dist/assets/index.34ca1f4f.js +0 -1
  545. package/dist/assets/index.3d64863b.js +0 -1
  546. package/dist/assets/index.42cf46e8.js +0 -1
  547. package/dist/assets/index.43aaad2f.js +0 -1
  548. package/dist/assets/index.482eee81.js +0 -1
  549. package/dist/assets/index.4c1678f5.js +0 -1
  550. package/dist/assets/index.505c3128.js +0 -1
  551. package/dist/assets/index.51e25346.js +0 -1
  552. package/dist/assets/index.536d6c04.js +0 -1
  553. package/dist/assets/index.538fe012.js +0 -1
  554. package/dist/assets/index.53fd3b94.js +0 -1
  555. package/dist/assets/index.5792c56d.js +0 -1
  556. package/dist/assets/index.5991f264.js +0 -1
  557. package/dist/assets/index.59d23ad1.js +0 -1
  558. package/dist/assets/index.6019766b.js +0 -1
  559. package/dist/assets/index.637ecec8.js +0 -1
  560. package/dist/assets/index.65607570.js +0 -1
  561. package/dist/assets/index.6944de49.js +0 -26
  562. package/dist/assets/index.6b7b67e0.js +0 -1
  563. package/dist/assets/index.6d163e82.js +0 -1
  564. package/dist/assets/index.6f216b4a.js +0 -1
  565. package/dist/assets/index.71a497d6.css +0 -1
  566. package/dist/assets/index.7405e309.js +0 -1
  567. package/dist/assets/index.7b7245a9.js +0 -1
  568. package/dist/assets/index.7ddd41bb.js +0 -1
  569. package/dist/assets/index.8305bbeb.js +0 -1
  570. package/dist/assets/index.86c67d5c.js +0 -1
  571. package/dist/assets/index.893a69a1.js +0 -1
  572. package/dist/assets/index.8cbec1ee.js +0 -1
  573. package/dist/assets/index.8f1e1fba.js +0 -1
  574. package/dist/assets/index.8fc5fb54.js +0 -1
  575. package/dist/assets/index.91639619.js +0 -1
  576. package/dist/assets/index.94f09a1f.js +0 -1
  577. package/dist/assets/index.989d0b7b.js +0 -1
  578. package/dist/assets/index.9e12d78b.js +0 -1
  579. package/dist/assets/index.9f18eda4.js +0 -1
  580. package/dist/assets/index.a0704c57.js +0 -1
  581. package/dist/assets/index.a08492e1.js +0 -1
  582. package/dist/assets/index.a1a28b7c.js +0 -1
  583. package/dist/assets/index.a253b413.entry.js +0 -531
  584. package/dist/assets/index.a54b3a96.js +0 -1
  585. package/dist/assets/index.a635ff40.js +0 -1
  586. package/dist/assets/index.a6b0b229.js +0 -1
  587. package/dist/assets/index.b033f81e.js +0 -1
  588. package/dist/assets/index.b42be304.js +0 -1
  589. package/dist/assets/index.b4f1966d.js +0 -1
  590. package/dist/assets/index.b687f719.js +0 -1
  591. package/dist/assets/index.b6d4c7ef.js +0 -1
  592. package/dist/assets/index.b883b34b.js +0 -1
  593. package/dist/assets/index.bcedb140.js +0 -1
  594. package/dist/assets/index.bdc76b24.js +0 -1
  595. package/dist/assets/index.c2d5da76.js +0 -1
  596. package/dist/assets/index.c5f25555.js +0 -1
  597. package/dist/assets/index.c8f131d2.js +0 -1
  598. package/dist/assets/index.d1768a4c.js +0 -1
  599. package/dist/assets/index.d20355f1.js +0 -1
  600. package/dist/assets/index.da8f8bd1.js +0 -1
  601. package/dist/assets/index.ddf80deb.js +0 -1
  602. package/dist/assets/index.e15ede3f.js +0 -1
  603. package/dist/assets/index.ec1cae03.js +0 -1
  604. package/dist/assets/index.ed021a7e.js +0 -1
  605. package/dist/assets/index.f1402ddb.js +0 -1
  606. package/dist/assets/index.f2f0b19e.js +0 -1
  607. package/dist/assets/index.f39fd82c.js +0 -1
  608. package/dist/assets/index.f4cd1717.js +0 -1
  609. package/dist/assets/index.f76046f7.js +0 -1
  610. package/dist/assets/index.f969f456.js +0 -1
  611. package/dist/assets/index.fd1147cb.js +0 -1
  612. package/dist/assets/index.fe41cd97.js +0 -1
  613. package/dist/assets/index.ff3abc12.js +0 -1
  614. package/dist/assets/input-rich-text-html.bd11c29f.js +0 -239
  615. package/dist/assets/input-rich-text-html.f98395ca.css +0 -1
  616. package/dist/assets/insights.6b9e65c2.js +0 -1
  617. package/dist/assets/installation.170112a4.js +0 -1
  618. package/dist/assets/interfaces.db39b9ff.js +0 -46
  619. package/dist/assets/introduction.831e086e.js +0 -4
  620. package/dist/assets/introduction.ba72705e.js +0 -1
  621. package/dist/assets/introduction.d83586e5.js +0 -1
  622. package/dist/assets/introduction.f0c7891e.js +0 -90
  623. package/dist/assets/is.2eb43668.js +0 -1
  624. package/dist/assets/it-IT.93477255.js +0 -1
  625. package/dist/assets/it.e663f69e.js +0 -1
  626. package/dist/assets/items.2fff6572.js +0 -136
  627. package/dist/assets/ja.21755c02.js +0 -1
  628. package/dist/assets/javascript-hint.ff0e6747.js +0 -1
  629. package/dist/assets/javascript.85c4d25b.js +0 -1
  630. package/dist/assets/jinja2.7a8fb070.js +0 -1
  631. package/dist/assets/jsonlint.09bf5bab.js +0 -8
  632. package/dist/assets/jsx.561c3147.js +0 -1
  633. package/dist/assets/julia.e3b41c51.js +0 -1
  634. package/dist/assets/ka.09267484.js +0 -1
  635. package/dist/assets/kk.c27d7d0f.js +0 -1
  636. package/dist/assets/ko.86462d08.js +0 -1
  637. package/dist/assets/layouts.cebfaaa8.js +0 -54
  638. package/dist/assets/lb.b4fb4102.js +0 -1
  639. package/dist/assets/livescript.da5167f8.js +0 -1
  640. package/dist/assets/localization.f77ab14f.js +0 -1
  641. package/dist/assets/lt.bec1e735.js +0 -1
  642. package/dist/assets/lua.68934f2f.js +0 -1
  643. package/dist/assets/lv.1d9eac62.js +0 -1
  644. package/dist/assets/m2a.347ed339.png +0 -0
  645. package/dist/assets/m2m.07bed843.png +0 -0
  646. package/dist/assets/m2o.ac02ed03.png +0 -0
  647. package/dist/assets/manual.6a6a9570.js +0 -10
  648. package/dist/assets/mark-selection.d8696dde.js +0 -1
  649. package/dist/assets/match-highlighter.011c3968.js +0 -1
  650. package/dist/assets/mathematica.970914fe.js +0 -1
  651. package/dist/assets/mbox.798fd6c8.js +0 -1
  652. package/dist/assets/migrations.cbdea1ca.js +0 -19
  653. package/dist/assets/mirc.03c69e34.js +0 -1
  654. package/dist/assets/mk.ac873732.js +0 -1
  655. package/dist/assets/mllike.01ddd025.js +0 -1
  656. package/dist/assets/mn-MN.9d75cba3.js +0 -1
  657. package/dist/assets/modelica.29193581.js +0 -1
  658. package/dist/assets/modules.32110248.js +0 -69
  659. package/dist/assets/ms.a8caaf33.js +0 -1
  660. package/dist/assets/mscgen.129c1a92.js +0 -1
  661. package/dist/assets/multiplex.07740103.js +0 -3
  662. package/dist/assets/mumps.6bf32390.js +0 -1
  663. package/dist/assets/nb.c4e12345.js +0 -1
  664. package/dist/assets/ne.8c2e7d13.js +0 -1
  665. package/dist/assets/nginx.becfadad.js +0 -1
  666. package/dist/assets/nl.15edef36.js +0 -1
  667. package/dist/assets/nn.33ea37c6.js +0 -1
  668. package/dist/assets/notifications.b9d06648.js +0 -153
  669. package/dist/assets/nsis.60778189.js +0 -1
  670. package/dist/assets/ntriples.57e7f534.js +0 -1
  671. package/dist/assets/o2m.339378e0.png +0 -0
  672. package/dist/assets/octave.9d8386d3.js +0 -1
  673. package/dist/assets/original.888775a8.jpg +0 -0
  674. package/dist/assets/overlay.4aee4ad9.js +0 -1
  675. package/dist/assets/overview.c10655c2.js +0 -1
  676. package/dist/assets/overview.ed8cc8fc.js +0 -1
  677. package/dist/assets/oz.9bd8f7e7.js +0 -1
  678. package/dist/assets/panels.241a2491.js +0 -65
  679. package/dist/assets/pascal.97e8c58d.js +0 -1
  680. package/dist/assets/pegjs.a585faf9.js +0 -1
  681. package/dist/assets/perl.01cca948.js +0 -1
  682. package/dist/assets/permissions.b47530e9.png +0 -0
  683. package/dist/assets/permissions.f4ad3029.js +0 -178
  684. package/dist/assets/php.fd86de38.js +0 -1
  685. package/dist/assets/pig.44da9cf6.js +0 -1
  686. package/dist/assets/pinia.b8958608.entry.js +0 -1
  687. package/dist/assets/pl-PL.65bde531.js +0 -1
  688. package/dist/assets/pl.8a0826b3.js +0 -1
  689. package/dist/assets/plesk.eef0ffe8.js +0 -21
  690. package/dist/assets/powershell.432aa4e3.js +0 -1
  691. package/dist/assets/presets-bookmarks.1c9f5558.js +0 -1
  692. package/dist/assets/presets.a78e9fbc.js +0 -164
  693. package/dist/assets/project-settings.72e83679.js +0 -1
  694. package/dist/assets/properties.41f6ef8f.js +0 -1
  695. package/dist/assets/protobuf.985c6ff9.js +0 -1
  696. package/dist/assets/pt-br.e87cb008.js +0 -1
  697. package/dist/assets/pt.de450764.js +0 -1
  698. package/dist/assets/pug.46a9325f.js +0 -1
  699. package/dist/assets/puppet.978fb907.js +0 -1
  700. package/dist/assets/python.197cf682.js +0 -1
  701. package/dist/assets/q.eb66a399.js +0 -1
  702. package/dist/assets/query.b41e6991.js +0 -152
  703. package/dist/assets/quickstart.eea06952.js +0 -11
  704. package/dist/assets/r.30005c51.js +0 -1
  705. package/dist/assets/relations.7a9fbe53.js +0 -115
  706. package/dist/assets/relationships.b1c4c4d7.js +0 -55
  707. package/dist/assets/revisions.999a1447.js +0 -40
  708. package/dist/assets/ro-RO.e9e3a460.js +0 -1
  709. package/dist/assets/ro.1786958f.js +0 -1
  710. package/dist/assets/roles.c650ebd6.js +0 -171
  711. package/dist/assets/rpm.fb52e459.js +0 -1
  712. package/dist/assets/rst.f7c5571b.js +0 -1
  713. package/dist/assets/ru-RU.799cee27.js +0 -1
  714. package/dist/assets/ru.2c0e4894.js +0 -1
  715. package/dist/assets/ruby.edf804f9.js +0 -1
  716. package/dist/assets/running-locally.efb945d9.js +0 -28
  717. package/dist/assets/rust.8b6761b2.js +0 -1
  718. package/dist/assets/sas.8c2a5af3.js +0 -1
  719. package/dist/assets/sass.f9cb449a.js +0 -1
  720. package/dist/assets/scheme.060ff4c7.js +0 -1
  721. package/dist/assets/sdk.9c072015.js +0 -355
  722. package/dist/assets/security.db7f2ed1.js +0 -1
  723. package/dist/assets/server.bb95f58d.js +0 -114
  724. package/dist/assets/settings.676a9d6b.js +0 -1
  725. package/dist/assets/settings.82d42ce8.js +0 -51
  726. package/dist/assets/shell.b9a0e740.js +0 -1
  727. package/dist/assets/show-hint.64cd9d68.js +0 -1
  728. package/dist/assets/sieve.2e435557.js +0 -1
  729. package/dist/assets/simple.0840e902.js +0 -1
  730. package/dist/assets/sk.e174a41b.js +0 -1
  731. package/dist/assets/sl.34422efd.js +0 -1
  732. package/dist/assets/slim.04b2111c.js +0 -1
  733. package/dist/assets/smalltalk.4fb3b1b9.js +0 -1
  734. package/dist/assets/smarty.f6122c9b.js +0 -1
  735. package/dist/assets/solr.5d518e61.js +0 -1
  736. package/dist/assets/soy.7fcab156.js +0 -1
  737. package/dist/assets/sparql.f1a7f051.js +0 -1
  738. package/dist/assets/spreadsheet.4c6df545.js +0 -1
  739. package/dist/assets/sq.ee367a13.js +0 -1
  740. package/dist/assets/sql.a01b495c.js +0 -1
  741. package/dist/assets/sr-cyrl.0abb2793.js +0 -1
  742. package/dist/assets/sr.efb7e3ec.js +0 -1
  743. package/dist/assets/sso.6c672b92.js +0 -22
  744. package/dist/assets/stex.6cab0c16.js +0 -1
  745. package/dist/assets/stylus.7577596a.js +0 -1
  746. package/dist/assets/support.27c0edd9.js +0 -1
  747. package/dist/assets/sv.b9d19aa9.js +0 -1
  748. package/dist/assets/swift.0d939f23.js +0 -1
  749. package/dist/assets/ta-in.8c88aa82.js +0 -1
  750. package/dist/assets/tcl.7f858309.js +0 -1
  751. package/dist/assets/terminal-install.44adb787.png +0 -0
  752. package/dist/assets/terminal-start.72064e09.png +0 -0
  753. package/dist/assets/textile.237e1506.js +0 -1
  754. package/dist/assets/th.d0e24ade.js +0 -1
  755. package/dist/assets/themes.deee4299.js +0 -5
  756. package/dist/assets/tiddlywiki.08bed973.js +0 -1
  757. package/dist/assets/tiki.9dce5bfd.js +0 -1
  758. package/dist/assets/toml.faf5f476.js +0 -1
  759. package/dist/assets/tornado.4323d4a2.js +0 -1
  760. package/dist/assets/tr.d887c301.js +0 -1
  761. package/dist/assets/translations-2.29d07342.png +0 -0
  762. package/dist/assets/translations.2f0017a9.png +0 -0
  763. package/dist/assets/translations.5ffeab6c.js +0 -1
  764. package/dist/assets/troff.82b9a6c7.js +0 -1
  765. package/dist/assets/ttcn-cfg.3e28bc75.js +0 -1
  766. package/dist/assets/ttcn.f9c675ae.js +0 -1
  767. package/dist/assets/turtle.97cf58a5.js +0 -1
  768. package/dist/assets/twig.36068343.js +0 -1
  769. package/dist/assets/ubuntu.e99e20d0.js +0 -11
  770. package/dist/assets/ug.2ae6849b.js +0 -1
  771. package/dist/assets/uk.69d22b7d.js +0 -1
  772. package/dist/assets/upgrades-migrations.37c4532e.js +0 -1
  773. package/dist/assets/use-sync.04f09f9e.js +0 -1
  774. package/dist/assets/user-directory-overview.69a80519.png +0 -0
  775. package/dist/assets/user-directory.1a185dd0.js +0 -1
  776. package/dist/assets/user-overview.5cc16f64.png +0 -0
  777. package/dist/assets/users-roles-permissions.f59c381a.js +0 -1
  778. package/dist/assets/users.461a15d2.js +0 -252
  779. package/dist/assets/utilities.ff6cf557.js +0 -60
  780. package/dist/assets/uz.a2abf7be.js +0 -1
  781. package/dist/assets/vb.5aaf8565.js +0 -1
  782. package/dist/assets/vbscript.c07dc3c8.js +0 -1
  783. package/dist/assets/velocity.f7cdf7e5.js +0 -1
  784. package/dist/assets/vendor.f59145b7.js +0 -2041
  785. package/dist/assets/vendor.fe7856f0.css +0 -1
  786. package/dist/assets/verilog.55a49c38.js +0 -1
  787. package/dist/assets/vhdl.fc40f629.js +0 -1
  788. package/dist/assets/vi.cc30f87c.js +0 -1
  789. package/dist/assets/vue-i18n.ec7ef603.entry.js +0 -1
  790. package/dist/assets/vue-router.59b4e0a8.entry.js +0 -1
  791. package/dist/assets/vue.0daa2612.js +0 -1
  792. package/dist/assets/vue.ad7417ec.entry.js +0 -1
  793. package/dist/assets/wast.a9fb00d6.js +0 -1
  794. package/dist/assets/webhooks.8438538b.js +0 -147
  795. package/dist/assets/webhooks.9b515577.js +0 -1
  796. package/dist/assets/webidl.dbd219d1.js +0 -1
  797. package/dist/assets/xquery.1638d97d.js +0 -1
  798. package/dist/assets/yacas.d19e357f.js +0 -1
  799. package/dist/assets/yaml-frontmatter.94aa6732.js +0 -1
  800. package/dist/assets/yaml.52d92099.js +0 -1
  801. package/dist/assets/z80.36722ea0.js +0 -1
  802. package/dist/assets/zh-CN.c2a147a6.js +0 -1
  803. package/dist/assets/zh-cn.f12689f7.js +0 -1
  804. package/dist/assets/zh-tw.c5aeda5a.js +0 -1
  805. package/dist/img/icons/android-chrome-192x192.png +0 -0
  806. package/dist/img/icons/android-chrome-512x512.png +0 -0
  807. package/dist/img/icons/apple-touch-icon-152x152.png +0 -0
  808. package/dist/img/icons/apple-touch-icon.png +0 -0
  809. package/dist/img/icons/favicon-16x16.png +0 -0
  810. package/dist/img/icons/favicon-32x32.png +0 -0
  811. package/dist/img/icons/maskable.png +0 -0
  812. package/dist/img/splashscreens/apple-splash-1125-2436.jpg +0 -0
  813. package/dist/img/splashscreens/apple-splash-1136-640.jpg +0 -0
  814. package/dist/img/splashscreens/apple-splash-1242-2208.jpg +0 -0
  815. package/dist/img/splashscreens/apple-splash-1242-2688.jpg +0 -0
  816. package/dist/img/splashscreens/apple-splash-1334-750.jpg +0 -0
  817. package/dist/img/splashscreens/apple-splash-1536-2048.jpg +0 -0
  818. package/dist/img/splashscreens/apple-splash-1620-2160.jpg +0 -0
  819. package/dist/img/splashscreens/apple-splash-1668-2224.jpg +0 -0
  820. package/dist/img/splashscreens/apple-splash-1668-2388.jpg +0 -0
  821. package/dist/img/splashscreens/apple-splash-1792-828.jpg +0 -0
  822. package/dist/img/splashscreens/apple-splash-2048-1536.jpg +0 -0
  823. package/dist/img/splashscreens/apple-splash-2048-2732.jpg +0 -0
  824. package/dist/img/splashscreens/apple-splash-2160-1620.jpg +0 -0
  825. package/dist/img/splashscreens/apple-splash-2208-1242.jpg +0 -0
  826. package/dist/img/splashscreens/apple-splash-2224-1668.jpg +0 -0
  827. package/dist/img/splashscreens/apple-splash-2388-1668.jpg +0 -0
  828. package/dist/img/splashscreens/apple-splash-2436-1125.jpg +0 -0
  829. package/dist/img/splashscreens/apple-splash-2688-1242.jpg +0 -0
  830. package/dist/img/splashscreens/apple-splash-2732-2048.jpg +0 -0
  831. package/dist/img/splashscreens/apple-splash-640-1136.jpg +0 -0
  832. package/dist/img/splashscreens/apple-splash-750-1334.jpg +0 -0
  833. package/dist/img/splashscreens/apple-splash-828-1792.jpg +0 -0
@@ -1,22 +0,0 @@
1
- import{r as l,p as i,q as c,w as n,z as e,t as u,S as s}from"./vendor.f59145b7.js";const h={class:"markdown-body"},d=e("p",null,"Single Sign-On is a mechanism which allows to use external providers to login into systems. For example, you can use your Google or Facebook account to authenticate into systems without the need to create a new registration on those systems.",-1),p=e("h2",{id:"supported-sso-mechanisms"},[s("Supported SSO mechanisms "),e("a",{class:"header-anchor",href:"#supported-sso-mechanisms"},"#")],-1),g=e("p",null,"Directus supports three standard types of SSO mechanisms:",-1),m=e("ul",null,[e("li",null,[e("a",{href:"https://openid.net/specs/openid-connect-core-1_0.html",target:"_blank",rel:"noopener noreferrer"},"OpenID")]),e("li",null,[e("a",{href:"https://www.ietf.org/rfc/rfc6750.txt",target:"_blank",rel:"noopener noreferrer"},"OAuth 2.0")]),e("li",null,[e("a",{href:"https://datatracker.ietf.org/doc/html/rfc4511",target:"_blank",rel:"noopener noreferrer"},"LDAP")])],-1),_=s("Here are the configuration allowed for each one: "),f=s("SSO configuration"),y=e("p",null,"In order to use these mechanisms you need to:",-1),O=e("ol",null,[e("li",null,"Create an application/configuration on your preferred external provider"),e("li",null,"Set the environment variables to configure the external provider"),e("li",null,[s("["),e("em",null,"Optional"),s("] Set the environment variables to configure cookies")])],-1),S=e("h3",{id:"openid"},[s("OpenID "),e("a",{class:"header-anchor",href:"#openid"},"#")],-1),w=e("p",null,"In this section, we provide some guides to help you set up SSO with OpenID.",-1),E=e("h4",{id:"google"},[s("Google "),e("a",{class:"header-anchor",href:"#google"},"#")],-1),v=e("p",null,"To be able to use Google OpenID as your external provider you will need to:",-1),b=e("ol",null,[e("li",null,[e("p",null,[s("Go into "),e("a",{href:"https://console.cloud.google.com/",target:"_blank",rel:"noopener noreferrer"},"Google Cloud Console")])]),e("li",null,[e("p",null,"Select or Create a new project")]),e("li",null,[e("p",null,[s("Go to "),e("a",{href:"https://console.cloud.google.com/apis/credentials/consent",target:"_blank",rel:"noopener noreferrer"},"APIs & Services -> OAuth consent screen"),s(" on side bar")]),e("ol",null,[e("li",null,[s("Select the access you desire "),e("ul",null,[e("li",null,[s("Select "),e("strong",null,"Internal"),s(" if you only want people within your organization to be able to access")]),e("li",null,[s("Select "),e("strong",null,"External"),s(" to allow everyone with a Google account")])])]),e("li",null,[s("Fill the fields according to your preferences "),e("ul",null,[e("li",null,[s("The "),e("strong",null,"Authorized domains"),s(" add an extra layer of security, but it is not required. In case you fill it, should be the domain where your Directus instance is")])])]),e("li",null,[s("On Scopes, you need to choose "),e("code",null,".../auth/userinfo.email"),s(", "),e("code",null,".../auth/userinfo.profile"),s(" and "),e("code",null,"openid")])])]),e("li",null,[e("p",null,[s("On side bar, go to "),e("a",{href:"https://console.cloud.google.com/apis/credentials",target:"_blank",rel:"noopener noreferrer"},"Credentials")])]),e("li",null,[e("p",null,[s("Click on "),e("a",{href:"https://console.cloud.google.com/apis/credentials/oauthclient",target:"_blank",rel:"noopener noreferrer"},"Create Credentials -> OAuth Client ID")]),e("ol",null,[e("li",null,[s("Choose "),e("code",null,"Web Application"),s(" on "),e("strong",null,"Application Type")]),e("li",null,[s("The "),e("strong",null,"Authorized JavaScript origins"),s(" adds an extra layer of security, but it is not required. In case you fill it, should be the address of your Directus instance. For example, "),e("code",null,"https://directus.myserver.com")]),e("li",null,[s("On "),e("strong",null,"Authorized redirect URIs"),s(" put your Directus instance address plus "),e("code",null,"/auth/login/google/callback"),s(". For example, you should put "),e("code",null,"https://directus.myserver.com/auth/login/google/callback"),s(" where "),e("code",null,"https://directus.myserver.com"),s(" should be the address of your Directus instance. If you are testing locally you should add "),e("code",null,"http://localhost:8055/auth/login/google/callback"),s(" too")])])]),e("li",null,[e("p",null,[s("On click "),e("strong",null,"Create"),s(", a modal will appear with "),e("strong",null,"Client ID"),s(" and "),e("strong",null,"Client Secret"),s(". Save both somewhere to use later.")])]),e("li",null,[e("p",null,[s("Now on Directus side, you need to add the following configuration to your "),e("code",null,".env"),s(" file located on root folder of your project:")])])],-1),j=e("pre",null,[e("code",{class:"language-sh"},[s("AUTH_PROVIDERS="),e("span",{class:"hljs-string"},'"google"'),s(`
2
-
3
- AUTH_GOOGLE_DRIVER=`),e("span",{class:"hljs-string"},'"openid"'),s(`
4
- AUTH_GOOGLE_CLIENT_ID=`),e("span",{class:"hljs-string"},'"XXXX"'),s(),e("span",{class:"hljs-comment"},"# Replace XXXX with the Client ID from Step 6"),s(`
5
- AUTH_GOOGLE_CLIENT_SECRET=`),e("span",{class:"hljs-string"},'"XXXX"'),s(),e("span",{class:"hljs-comment"},"# Replace XXXX with the Client Secret from Step 6"),s(`
6
- AUTH_GOOGLE_ISSUER_URL=`),e("span",{class:"hljs-string"},'"https://accounts.google.com"'),s(`
7
- AUTH_GOOGLE_IDENTIFIER_KEY=`),e("span",{class:"hljs-string"},'"email"'),s(`
8
- AUTH_GOOGLE_ICON=`),e("span",{class:"hljs-string"},'"google"'),s(`
9
- AUTH_GOOGLE_ALLOW_PUBLIC_REGISTRATION=`),e("span",{class:"hljs-string"},'"true"'),s(),e("span",{class:"hljs-comment"},'# This allows users to be automatically created on logins. Use "false" if you want to create users manually'),s(`
10
- AUTH_GOOGLE_DEFAULT_ROLE_ID=`),e("span",{class:"hljs-string"},'"XXXX"'),s(),e("span",{class:"hljs-comment"},"# Replace XXXX with the role ID you would want for new users. If this is not properly configured, new users will not have access to Directus"),s(`
11
- `)])],-1),I=e("ol",{start:"8"},[e("li",null,[s("Now you can see a nice functional "),e("code",null,"Login with Google"),s(" button on Directus login page.")])],-1),D=e("h2",{id:"seamless-sso"},[s("Seamless SSO "),e("a",{class:"header-anchor",href:"#seamless-sso"},"#")],-1),k=e("p",null,"While sometimes you want your users to directly have access to the Directus Application, in other cases you may need to fetch private data from Directus in your client using external providers. In this cases, it is needed a special configuration to work across domains, but is simple as:",-1),X=e("ol",null,[e("li",null,[s("Setup an external provider. You have some examples on "),e("a",{href:"#supported-sso-mechanisms"},"Supported SSO mechanisms")]),e("li",null,[s("Allow cookie to be accessible across domains. Put the following configuration on "),e("code",null,".env"),s(":")])],-1),T=e("pre",null,[e("code",{class:"language-sh"},[s("REFRESH_TOKEN_COOKIE_DOMAIN="),e("span",{class:"hljs-string"},'"XXXX"'),s(),e("span",{class:"hljs-comment"},'# Replace XXXX with the domain of your Directus instance. For example "directus.myserver.com"'),s(`
12
- REFRESH_TOKEN_COOKIE_SECURE=`),e("span",{class:"hljs-string"},'"true"'),s(`
13
- REFRESH_TOKEN_COOKIE_SAME_SITE=`),e("span",{class:"hljs-string"},'"None"'),s(`
14
- `)])],-1),A=e("ol",{start:"2"},[e("li",null,"On your client, your login button should be something like")],-1),C=e("pre",null,[e("code",{class:"language-html"},[e("span",{class:"hljs-tag"},[s("<"),e("span",{class:"hljs-name"},"a"),s(),e("span",{class:"hljs-attr"},"href"),s("="),e("span",{class:"hljs-string"},'"https://directus.myserver.com/auth/login/google?redirect=https://client.myserver.com/login"'),s(">")]),s("Login"),e("span",{class:"hljs-tag"},[s("</"),e("span",{class:"hljs-name"},"a"),s(">")]),s(`
15
- `)])],-1),G=e("ul",null,[e("li",null,[s("Where "),e("code",null,"https://directus.myserver.com"),s(" should be the address of your Directus instance")]),e("li",null,[s("While "),e("code",null,"https://client.myserver.com/login"),s(" should be the address of your client application. The "),e("code",null,"/login"),s(" is not necessary, but helps to separate concerns")])],-1),R=e("ol",{start:"3"},[e("li",null,[e("p",null,[s("On your login page, following the example should be "),e("code",null,"https://client.myserver.com/login"),s(" you need to call the refresh endpoint either via REST API or via SDK in order to retrieve an "),e("code",null,"access_token")]),e("ul",null,[e("li",null,[e("p",null,"via REST API / fetch"),e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"await"),s(" fetch("),e("span",{class:"hljs-string"},"'https://directus.myserver.com/auth/refresh'"),s(`, {
16
- `),e("span",{class:"hljs-attr"},"method"),s(": "),e("span",{class:"hljs-string"},"'POST'"),s(`,
17
- `),e("span",{class:"hljs-attr"},"withCredentials"),s(": "),e("span",{class:"hljs-literal"},"true"),s(", "),e("span",{class:"hljs-comment"},"// this is required in order to send the refresh token cookie"),s(`
18
- });
19
- `)])])]),e("li",null,[e("p",null,"via SDK"),e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"const"),s(" sdk = "),e("span",{class:"hljs-keyword"},"new"),s(" Directus("),e("span",{class:"hljs-string"},"'https://directus.myserver.com'"),s(`);
20
-
21
- `),e("span",{class:"hljs-keyword"},"await"),s(` sdk.auth.refresh();
22
- `)])])])])])],-1),H={setup(x,{expose:t}){const o={title:"Single Sign-On (SSO)",modularExtension:!1};return t({frontmatter:o}),(L,U)=>{const r=l("router-link"),a=l("DocsWrapper");return i(),c(a,{frontmatter:o},{default:n(()=>[e("div",h,[d,p,g,m,e("p",null,[_,u(r,{to:"/docs/configuration/config-options/#sso-oauth2-and-openid"},{default:n(()=>[f]),_:1})]),y,O,S,w,E,v,b,j,I,D,k,X,T,A,C,G,R])]),_:1})}}};export{H as default};
@@ -1 +0,0 @@
1
- import{bJ as w}from"./vendor.f59145b7.js";function B(g,b){return b.forEach(function(a){a&&typeof a!="string"&&!Array.isArray(a)&&Object.keys(a).forEach(function(l){if(l!=="default"&&!(l in g)){var s=Object.getOwnPropertyDescriptor(a,l);Object.defineProperty(g,l,s.get?s:{enumerable:!0,get:function(){return a[l]}})}})}),Object.freeze(g)}var x={exports:{}};(function(g,b){(function(a){a(w.exports)})(function(a){a.defineMode("stex",function(l,s){function p(t,e){t.cmdState.push(e)}function k(t){return t.cmdState.length>0?t.cmdState[t.cmdState.length-1]:null}function v(t){var e=t.cmdState.pop();e&&e.closeBracket()}function S(t){for(var e=t.cmdState,n=e.length-1;n>=0;n--){var i=e[n];if(i.name!="DEFAULT")return i}return{styleIdentifier:function(){return null}}}function f(t,e,n){return function(){this.name=t,this.bracketNo=0,this.style=e,this.styles=n,this.argument=null,this.styleIdentifier=function(){return this.styles[this.bracketNo-1]||null},this.openBracket=function(){return this.bracketNo++,"bracket"},this.closeBracket=function(){}}}var r={};r.importmodule=f("importmodule","tag",["string","builtin"]),r.documentclass=f("documentclass","tag",["","atom"]),r.usepackage=f("usepackage","tag",["atom"]),r.begin=f("begin","tag",["atom"]),r.end=f("end","tag",["atom"]),r.label=f("label","tag",["atom"]),r.ref=f("ref","tag",["atom"]),r.eqref=f("eqref","tag",["atom"]),r.cite=f("cite","tag",["atom"]),r.bibitem=f("bibitem","tag",["atom"]),r.Bibitem=f("Bibitem","tag",["atom"]),r.RBibitem=f("RBibitem","tag",["atom"]),r.DEFAULT=function(){this.name="DEFAULT",this.style="tag",this.styleIdentifier=this.openBracket=this.closeBracket=function(){}};function u(t,e){t.f=e}function h(t,e){var n;if(t.match(/^\\[a-zA-Z@]+/)){var i=t.current().slice(1);return n=r.hasOwnProperty(i)?r[i]:r.DEFAULT,n=new n,p(e,n),u(e,y),n.style}if(t.match(/^\\[$&%#{}_]/)||t.match(/^\\[,;!\/\\]/))return"tag";if(t.match("\\["))return u(e,function(c,m){return d(c,m,"\\]")}),"keyword";if(t.match("\\("))return u(e,function(c,m){return d(c,m,"\\)")}),"keyword";if(t.match("$$"))return u(e,function(c,m){return d(c,m,"$$")}),"keyword";if(t.match("$"))return u(e,function(c,m){return d(c,m,"$")}),"keyword";var o=t.next();if(o=="%")return t.skipToEnd(),"comment";if(o=="}"||o=="]"){if(n=k(e),n)n.closeBracket(o),u(e,y);else return"error";return"bracket"}else return o=="{"||o=="["?(n=r.DEFAULT,n=new n,p(e,n),"bracket"):/\d/.test(o)?(t.eatWhile(/[\w.%]/),"atom"):(t.eatWhile(/[\w\-_]/),n=S(e),n.name=="begin"&&(n.argument=t.current()),n.styleIdentifier())}function d(t,e,n){if(t.eatSpace())return null;if(n&&t.match(n))return u(e,h),"keyword";if(t.match(/^\\[a-zA-Z@]+/))return"tag";if(t.match(/^[a-zA-Z]+/))return"variable-2";if(t.match(/^\\[$&%#{}_]/)||t.match(/^\\[,;!\/]/)||t.match(/^[\^_&]/))return"tag";if(t.match(/^[+\-<>|=,\/@!*:;'"`~#?]/))return null;if(t.match(/^(\d+\.\d*|\d*\.\d+|\d+)/))return"number";var i=t.next();return i=="{"||i=="}"||i=="["||i=="]"||i=="("||i==")"?"bracket":i=="%"?(t.skipToEnd(),"comment"):"error"}function y(t,e){var n=t.peek(),i;return n=="{"||n=="["?(i=k(e),i.openBracket(n),t.eat(n),u(e,h),"bracket"):/[ \t\r]/.test(n)?(t.eat(n),null):(u(e,h),v(e),h(t,e))}return{startState:function(){var t=s.inMathMode?function(e,n){return d(e,n)}:h;return{cmdState:[],f:t}},copyState:function(t){return{cmdState:t.cmdState.slice(),f:t.f}},token:function(t,e){return e.f(t,e)},blankLine:function(t){t.f=h,t.cmdState.length=0},lineComment:"%"}}),a.defineMIME("text/x-stex","stex"),a.defineMIME("text/x-latex","stex")})})();var E=x.exports,_=Object.freeze(B({__proto__:null,[Symbol.toStringTag]:"Module",default:E},[x.exports]));export{x as a,_ as s};
@@ -1 +0,0 @@
1
- import{bJ as ye}from"./vendor.f59145b7.js";function ze(C,S){return S.forEach(function(d){d&&typeof d!="string"&&!Array.isArray(d)&&Object.keys(d).forEach(function(x){if(x!=="default"&&!(x in C)){var P=Object.getOwnPropertyDescriptor(d,x);Object.defineProperty(C,x,P.get?P:{enumerable:!0,get:function(){return d[x]}})}})}),Object.freeze(C)}var ie={exports:{}};(function(C,S){(function(d){d(ye.exports)})(function(d){d.defineMode("stylus",function(g){for(var c=g.indentUnit,v="",te=h(x),K=/^(a|b|i|s|col|em)$/i,ae=h(W),le=h(I),ce=h(U),se=h(N),de=h(P),ue=Z(P),fe=h(R),pe=h(E),he=h(T),be=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,ge=Z(F),me=h(X),A=new RegExp(/^\-(moz|ms|o|webkit)-/i),ke=h(Y),L="",s={},m,y,M,t;v.length<c;)v+=" ";function we(i,e){if(L=i.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),e.context.line.firstWord=L?L[0].replace(/^\s*/,""):"",e.context.line.indent=i.indentation(),m=i.peek(),i.match("//"))return i.skipToEnd(),["comment","comment"];if(i.match("/*"))return e.tokenize=V,V(i,e);if(m=='"'||m=="'")return i.next(),e.tokenize=D(m),e.tokenize(i,e);if(m=="@")return i.next(),i.eatWhile(/[\w\\-]/),["def",i.current()];if(m=="#"){if(i.next(),i.match(/^[0-9a-f]{3}([0-9a-f]([0-9a-f]{2}){0,2})?\b(?!-)/i))return["atom","atom"];if(i.match(/^[a-z][\w-]*/i))return["builtin","hash"]}return i.match(A)?["meta","vendor-prefixes"]:i.match(/^-?[0-9]?\.?[0-9]/)?(i.eatWhile(/[a-z%]/i),["number","unit"]):m=="!"?(i.next(),[i.match(/^(important|optional)/i)?"keyword":"operator","important"]):m=="."&&i.match(/^\.[a-z][\w-]*/i)?["qualifier","qualifier"]:i.match(ue)?(i.peek()=="("&&(e.tokenize=ve),["property","word"]):i.match(/^[a-z][\w-]*\(/i)?(i.backUp(1),["keyword","mixin"]):i.match(/^(\+|-)[a-z][\w-]*\(/i)?(i.backUp(1),["keyword","block-mixin"]):i.string.match(/^\s*&/)&&i.match(/^[-_]+[a-z][\w-]*/)?["qualifier","qualifier"]:i.match(/^(\/|&)(-|_|:|\.|#|[a-z])/)?(i.backUp(1),["variable-3","reference"]):i.match(/^&{1}\s*$/)?["variable-3","reference"]:i.match(ge)?["operator","operator"]:i.match(/^\$?[-_]*[a-z0-9]+[\w-]*/i)?i.match(/^(\.|\[)[\w-\'\"\]]+/i,!1)&&!k(i.current())?(i.match("."),["variable-2","variable-name"]):["variable-2","word"]:i.match(be)?["operator",i.current()]:/[:;,{}\[\]\(\)]/.test(m)?(i.next(),[null,m]):(i.next(),[null,null])}function V(i,e){for(var r=!1,o;(o=i.next())!=null;){if(r&&o=="/"){e.tokenize=null;break}r=o=="*"}return["comment","comment"]}function D(i){return function(e,r){for(var o=!1,l;(l=e.next())!=null;){if(l==i&&!o){i==")"&&e.backUp(1);break}o=!o&&l=="\\"}return(l==i||!o&&i!=")")&&(r.tokenize=null),["string","string"]}}function ve(i,e){return i.next(),i.match(/\s*[\"\')]/,!1)?e.tokenize=null:e.tokenize=D(")"),[null,"("]}function H(i,e,r,o){this.type=i,this.indent=e,this.prev=r,this.line=o||{firstWord:"",indent:0}}function n(i,e,r,o){return o=o>=0?o:c,i.context=new H(r,e.indentation()+o,i.context),r}function z(i,e){var r=i.context.indent-c;return e=e||!1,i.context=i.context.prev,e&&(i.context.indent=r),i.context.type}function xe(i,e,r){return s[r.context.type](i,e,r)}function B(i,e,r,o){for(var l=o||1;l>0;l--)r.context=r.context.prev;return xe(i,e,r)}function k(i){return i.toLowerCase()in te}function j(i){return i=i.toLowerCase(),i in ae||i in he}function q(i){return i.toLowerCase()in me}function J(i){return i.toLowerCase().match(A)}function $(i){var e=i.toLowerCase(),r="variable-2";return k(i)?r="tag":q(i)?r="block-keyword":j(i)?r="property":e in ce||e in ke?r="atom":e=="return"||e in se?r="keyword":i.match(/^[A-Z]/)&&(r="string"),r}function G(i,e){return a(e)&&(i=="{"||i=="]"||i=="hash"||i=="qualifier")||i=="block-mixin"}function Q(i,e){return i=="{"&&e.match(/^\s*\$?[\w-]+/i,!1)}function ee(i,e){return i==":"&&e.match(/^[a-z-]+/,!1)}function _(i){return i.sol()||i.string.match(new RegExp("^\\s*"+oe(i.current())))}function a(i){return i.eol()||i.match(/^\s*$/,!1)}function u(i){var e=/^\s*[-_]*[a-z0-9]+[\w-]*/i,r=typeof i=="string"?i.match(e):i.string.match(e);return r?r[0].replace(/^\s*/,""):""}return s.block=function(i,e,r){if(i=="comment"&&_(e)||i==","&&a(e)||i=="mixin")return n(r,e,"block",0);if(Q(i,e))return n(r,e,"interpolation");if(a(e)&&i=="]"&&!/^\s*(\.|#|:|\[|\*|&)/.test(e.string)&&!k(u(e)))return n(r,e,"block",0);if(G(i,e))return n(r,e,"block");if(i=="}"&&a(e))return n(r,e,"block",0);if(i=="variable-name")return e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||q(u(e))?n(r,e,"variableName"):n(r,e,"variableName",0);if(i=="=")return!a(e)&&!q(u(e))?n(r,e,"block",0):n(r,e,"block");if(i=="*"&&(a(e)||e.match(/\s*(,|\.|#|\[|:|{)/,!1)))return t="tag",n(r,e,"block");if(ee(i,e))return n(r,e,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(i))return n(r,e,a(e)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(i))return n(r,e,"keyframes");if(/@extends?/.test(i))return n(r,e,"extend",0);if(i&&i.charAt(0)=="@")return e.indentation()>0&&j(e.current().slice(1))?(t="variable-2","block"):/(@import|@require|@charset)/.test(i)?n(r,e,"block",0):n(r,e,"block");if(i=="reference"&&a(e))return n(r,e,"block");if(i=="(")return n(r,e,"parens");if(i=="vendor-prefixes")return n(r,e,"vendorPrefixes");if(i=="word"){var o=e.current();if(t=$(o),t=="property")return _(e)?n(r,e,"block",0):(t="atom","block");if(t=="tag"){if(/embed|menu|pre|progress|sub|table/.test(o)&&j(u(e))||e.string.match(new RegExp("\\[\\s*"+o+"|"+o+"\\s*\\]")))return t="atom","block";if(K.test(o)&&(_(e)&&e.string.match(/=/)||!_(e)&&!e.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!k(u(e))))return t="variable-2",q(u(e))?"block":n(r,e,"block",0);if(a(e))return n(r,e,"block")}if(t=="block-keyword")return t="keyword",e.current(/(if|unless)/)&&!_(e)?"block":n(r,e,"block");if(o=="return")return n(r,e,"block",0);if(t=="variable-2"&&e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return n(r,e,"block")}return r.context.type},s.parens=function(i,e,r){if(i=="(")return n(r,e,"parens");if(i==")")return r.context.prev.type=="parens"?z(r):e.string.match(/^[a-z][\w-]*\(/i)&&a(e)||q(u(e))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(u(e))||!e.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&k(u(e))?n(r,e,"block"):e.string.match(/^[\$-]?[a-z][\w-\.\[\]\'\"]*\s*=/)||e.string.match(/^\s*(\(|\)|[0-9])/)||e.string.match(/^\s+[a-z][\w-]*\(/i)||e.string.match(/^\s+[\$-]?[a-z]/i)?n(r,e,"block",0):a(e)?n(r,e,"block"):n(r,e,"block",0);if(i&&i.charAt(0)=="@"&&j(e.current().slice(1))&&(t="variable-2"),i=="word"){var o=e.current();t=$(o),t=="tag"&&K.test(o)&&(t="variable-2"),(t=="property"||o=="to")&&(t="atom")}return i=="variable-name"?n(r,e,"variableName"):ee(i,e)?n(r,e,"pseudo"):r.context.type},s.vendorPrefixes=function(i,e,r){return i=="word"?(t="property",n(r,e,"block",0)):z(r)},s.pseudo=function(i,e,r){return j(u(e.string))?B(i,e,r):(e.match(/^[a-z-]+/),t="variable-3",a(e)?n(r,e,"block"):z(r))},s.atBlock=function(i,e,r){if(i=="(")return n(r,e,"atBlock_parens");if(G(i,e))return n(r,e,"block");if(Q(i,e))return n(r,e,"interpolation");if(i=="word"){var o=e.current().toLowerCase();if(/^(only|not|and|or)$/.test(o)?t="keyword":de.hasOwnProperty(o)?t="tag":pe.hasOwnProperty(o)?t="attribute":fe.hasOwnProperty(o)?t="property":le.hasOwnProperty(o)?t="string-2":t=$(e.current()),t=="tag"&&a(e))return n(r,e,"block")}return i=="operator"&&/^(not|and|or)$/.test(e.current())&&(t="keyword"),r.context.type},s.atBlock_parens=function(i,e,r){if(i=="{"||i=="}")return r.context.type;if(i==")")return a(e)?n(r,e,"block"):n(r,e,"atBlock");if(i=="word"){var o=e.current().toLowerCase();return t=$(o),/^(max|min)/.test(o)&&(t="property"),t=="tag"&&(K.test(o)?t="variable-2":t="atom"),r.context.type}return s.atBlock(i,e,r)},s.keyframes=function(i,e,r){return e.indentation()=="0"&&(i=="}"&&_(e)||i=="]"||i=="hash"||i=="qualifier"||k(e.current()))?B(i,e,r):i=="{"?n(r,e,"keyframes"):i=="}"?_(e)?z(r,!0):n(r,e,"keyframes"):i=="unit"&&/^[0-9]+\%$/.test(e.current())?n(r,e,"keyframes"):i=="word"&&(t=$(e.current()),t=="block-keyword")?(t="keyword",n(r,e,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(i)?n(r,e,a(e)?"block":"atBlock"):i=="mixin"?n(r,e,"block",0):r.context.type},s.interpolation=function(i,e,r){return i=="{"&&z(r)&&n(r,e,"block"),i=="}"?e.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||e.string.match(/^\s*[a-z]/i)&&k(u(e))?n(r,e,"block"):!e.string.match(/^(\{|\s*\&)/)||e.match(/\s*[\w-]/,!1)?n(r,e,"block",0):n(r,e,"block"):i=="variable-name"?n(r,e,"variableName",0):(i=="word"&&(t=$(e.current()),t=="tag"&&(t="atom")),r.context.type)},s.extend=function(i,e,r){return i=="["||i=="="?"extend":i=="]"?z(r):i=="word"?(t=$(e.current()),"extend"):z(r)},s.variableName=function(i,e,r){return i=="string"||i=="["||i=="]"||e.current().match(/^(\.|\$)/)?(e.current().match(/^\.[\w-]+/i)&&(t="variable-2"),"variableName"):B(i,e,r)},{startState:function(i){return{tokenize:null,state:"block",context:new H("block",i||0,null)}},token:function(i,e){return!e.tokenize&&i.eatSpace()?null:(y=(e.tokenize||we)(i,e),y&&typeof y=="object"&&(M=y[1],y=y[0]),t=y,e.state=s[e.state](M,i,e),t)},indent:function(i,e,r){var o=i.context,l=e&&e.charAt(0),b=o.indent,O=u(e),w=r.match(/^\s*/)[0].replace(/\t/g,v).length,f=i.context.prev?i.context.prev.line.firstWord:"",p=i.context.prev?i.context.prev.line.indent:w;return o.prev&&(l=="}"&&(o.type=="block"||o.type=="atBlock"||o.type=="keyframes")||l==")"&&(o.type=="parens"||o.type=="atBlock_parens")||l=="{"&&o.type=="at")?b=o.indent-c:/(\})/.test(l)||(/@|\$|\d/.test(l)||/^\{/.test(e)||/^\s*\/(\/|\*)/.test(e)||/^\s*\/\*/.test(f)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(e)||/^(\+|-)?[a-z][\w-]*\(/i.test(e)||/^return/.test(e)||q(O)?b=w:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(l)||k(O)?/\,\s*$/.test(f)?b=p:/^\s+/.test(r)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(f)||k(f))?b=w<=p?p:p+c:b=w:!/,\s*$/.test(r)&&(J(O)||j(O))&&(q(f)?b=w<=p?p:p+c:/^\{/.test(f)?b=w<=p?w:p+c:J(f)||j(f)?b=w>=p?p:w:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(f)||/=\s*$/.test(f)||k(f)||/^\$[\w-\.\[\]\'\"]/.test(f)?b=p+c:b=w)),b},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var x=["a","abbr","address","area","article","aside","audio","b","base","bdi","bdo","bgsound","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","data","datalist","dd","del","details","dfn","div","dl","dt","em","embed","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","iframe","img","input","ins","kbd","keygen","label","legend","li","link","main","map","mark","marquee","menu","menuitem","meta","meter","nav","nobr","noframes","noscript","object","ol","optgroup","option","output","p","param","pre","progress","q","rp","rt","ruby","s","samp","script","section","select","small","source","span","strong","style","sub","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","track","u","ul","var","video"],P=["domain","regexp","url-prefix","url"],E=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],R=["width","min-width","max-width","height","min-height","max-height","device-width","min-device-width","max-device-width","device-height","min-device-height","max-device-height","aspect-ratio","min-aspect-ratio","max-aspect-ratio","device-aspect-ratio","min-device-aspect-ratio","max-device-aspect-ratio","color","min-color","max-color","color-index","min-color-index","max-color-index","monochrome","min-monochrome","max-monochrome","resolution","min-resolution","max-resolution","scan","grid","dynamic-range","video-dynamic-range"],W=["align-content","align-items","align-self","alignment-adjust","alignment-baseline","anchor-point","animation","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-timing-function","appearance","azimuth","backface-visibility","background","background-attachment","background-clip","background-color","background-image","background-origin","background-position","background-repeat","background-size","baseline-shift","binding","bleed","bookmark-label","bookmark-level","bookmark-state","bookmark-target","border","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-decoration-break","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","clear","clip","color","color-profile","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","content","counter-increment","counter-reset","crop","cue","cue-after","cue-before","cursor","direction","display","dominant-baseline","drop-initial-after-adjust","drop-initial-after-align","drop-initial-before-adjust","drop-initial-before-align","drop-initial-size","drop-initial-value","elevation","empty-cells","fit","fit-position","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","float-offset","flow-from","flow-into","font","font-feature-settings","font-family","font-kerning","font-language-override","font-size","font-size-adjust","font-stretch","font-style","font-synthesis","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-ligatures","font-variant-numeric","font-variant-position","font-weight","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-position","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphens","icon","image-orientation","image-rendering","image-resolution","inline-box-align","justify-content","left","letter-spacing","line-break","line-height","line-stacking","line-stacking-ruby","line-stacking-shift","line-stacking-strategy","list-style","list-style-image","list-style-position","list-style-type","margin","margin-bottom","margin-left","margin-right","margin-top","marker-offset","marks","marquee-direction","marquee-loop","marquee-play-count","marquee-speed","marquee-style","max-height","max-width","min-height","min-width","move-to","nav-down","nav-index","nav-left","nav-right","nav-up","object-fit","object-position","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-style","overflow-wrap","overflow-x","overflow-y","padding","padding-bottom","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","page-policy","pause","pause-after","pause-before","perspective","perspective-origin","pitch","pitch-range","play-during","position","presentation-level","punctuation-trim","quotes","region-break-after","region-break-before","region-break-inside","region-fragment","rendering-intent","resize","rest","rest-after","rest-before","richness","right","rotation","rotation-point","ruby-align","ruby-overhang","ruby-position","ruby-span","shape-image-threshold","shape-inside","shape-margin","shape-outside","size","speak","speak-as","speak-header","speak-numeral","speak-punctuation","speech-rate","stress","string-set","tab-size","table-layout","target","target-name","target-new","target-position","text-align","text-align-last","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-style","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-height","text-indent","text-justify","text-outline","text-overflow","text-shadow","text-size-adjust","text-space-collapse","text-transform","text-underline-position","text-wrap","top","transform","transform-origin","transform-style","transition","transition-delay","transition-duration","transition-property","transition-timing-function","unicode-bidi","vertical-align","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","volume","white-space","widows","width","will-change","word-break","word-spacing","word-wrap","z-index","clip-path","clip-rule","mask","enable-background","filter","flood-color","flood-opacity","lighting-color","stop-color","stop-opacity","pointer-events","color-interpolation","color-interpolation-filters","color-rendering","fill","fill-opacity","fill-rule","image-rendering","marker","marker-end","marker-mid","marker-start","shape-rendering","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","text-rendering","baseline-shift","dominant-baseline","glyph-orientation-horizontal","glyph-orientation-vertical","text-anchor","writing-mode","font-smoothing","osx-font-smoothing"],I=["scrollbar-arrow-color","scrollbar-base-color","scrollbar-dark-shadow-color","scrollbar-face-color","scrollbar-highlight-color","scrollbar-shadow-color","scrollbar-3d-light-color","scrollbar-track-color","shape-inside","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","zoom"],T=["font-family","src","unicode-range","font-variant","font-feature-settings","font-stretch","font-weight","font-style"],N=["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"],U=["above","absolute","activeborder","additive","activecaption","afar","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","amharic","amharic-abegede","antialiased","appworkspace","arabic-indic","armenian","asterisks","attr","auto","avoid","avoid-column","avoid-page","avoid-region","background","backwards","baseline","below","bidi-override","binary","bengali","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","cambodian","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","cjk-earthly-branch","cjk-heavenly-stem","cjk-ideographic","clear","clip","close-quote","col-resize","collapse","column","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","dashed","decimal","decimal-leading-zero","default","default-button","destination-atop","destination-in","destination-out","destination-over","devanagari","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic","ethiopic-abegede","ethiopic-abegede-am-et","ethiopic-abegede-gez","ethiopic-abegede-ti-er","ethiopic-abegede-ti-et","ethiopic-halehame-aa-er","ethiopic-halehame-aa-et","ethiopic-halehame-am-et","ethiopic-halehame-gez","ethiopic-halehame-om-et","ethiopic-halehame-sid-et","ethiopic-halehame-so-et","ethiopic-halehame-ti-er","ethiopic-halehame-ti-et","ethiopic-halehame-tig","ethiopic-numeric","ew-resize","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fixed","flat","flex","footnotes","forwards","from","geometricPrecision","georgian","graytext","groove","gujarati","gurmukhi","hand","hangul","hangul-consonant","hebrew","help","hidden","hide","high","higher","highlight","highlighttext","hiragana","hiragana-iroha","horizontal","hsl","hsla","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-table","inset","inside","intrinsic","invert","italic","japanese-formal","japanese-informal","justify","kannada","katakana","katakana-iroha","keep-all","khmer","korean-hangul-formal","korean-hanja-formal","korean-hanja-informal","landscape","lao","large","larger","left","level","lighter","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-alpha","lower-armenian","lower-greek","lower-hexadecimal","lower-latin","lower-norwegian","lower-roman","lowercase","ltr","malayalam","match","matrix","matrix3d","media-controls-background","media-current-time-display","media-fullscreen-button","media-mute-button","media-play-button","media-return-to-realtime-button","media-rewind-button","media-seek-back-button","media-seek-forward-button","media-slider","media-sliderthumb","media-time-remaining-display","media-volume-slider","media-volume-slider-container","media-volume-sliderthumb","medium","menu","menulist","menulist-button","menulist-text","menulist-textfield","menutext","message-box","middle","min-intrinsic","mix","mongolian","monospace","move","multiple","myanmar","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","octal","open-quote","optimizeLegibility","optimizeSpeed","oriya","oromo","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","persian","perspective","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row-resize","rtl","run-in","running","s-resize","sans-serif","scale","scale3d","scaleX","scaleY","scaleZ","scroll","scrollbar","scroll-position","se-resize","searchfield","searchfield-cancel-button","searchfield-decoration","searchfield-results-button","searchfield-results-decoration","semi-condensed","semi-expanded","separate","serif","show","sidama","simp-chinese-formal","simp-chinese-informal","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","solid","somali","source-atop","source-in","source-out","source-over","space","spell-out","square","square-button","standard","start","static","status-bar","stretch","stroke","sub","subpixel-antialiased","super","sw-resize","symbolic","symbols","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","tamil","telugu","text","text-bottom","text-top","textarea","textfield","thai","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","tibetan","tigre","tigrinya-er","tigrinya-er-abegede","tigrinya-et","tigrinya-et-abegede","to","top","trad-chinese-formal","trad-chinese-informal","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","up","upper-alpha","upper-armenian","upper-greek","upper-hexadecimal","upper-latin","upper-norwegian","upper-roman","uppercase","urdu","url","var","vertical","vertical-text","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","x-large","x-small","xor","xx-large","xx-small","bicubic","optimizespeed","grayscale","row","row-reverse","wrap","wrap-reverse","column-reverse","flex-start","flex-end","space-between","space-around","unset"],F=["in","and","or","not","is not","is a","is","isnt","defined","if unless"],X=["for","if","else","unless","from","to"],Y=["null","true","false","href","title","type","not-allowed","readonly","disabled"],re=["@font-face","@keyframes","@media","@viewport","@page","@host","@supports","@block","@css"],ne=x.concat(P,E,R,W,I,N,U,T,F,X,Y,re);function Z(g){return g=g.sort(function(c,v){return v>c}),new RegExp("^(("+g.join(")|(")+"))\\b")}function h(g){for(var c={},v=0;v<g.length;++v)c[g[v]]=!0;return c}function oe(g){return g.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}d.registerHelper("hintWords","stylus",ne),d.defineMIME("text/x-styl","stylus")})})();var je=ie.exports,$e=Object.freeze(ze({__proto__:null,[Symbol.toStringTag]:"Module",default:je},[ie.exports]));export{ie as a,$e as s};
@@ -1 +0,0 @@
1
- import{r as n,p as c,q as d,w as o,z as e,t as r,S as t}from"./vendor.f59145b7.js";const l={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"Directus is offered completely free and open-source for anyone wishing to self-host the platform. If you have questions along the way, there are many resources, both free and paid, to help you get up-and-running smoothly.")],-1),p=e("h2",{id:"troubleshooting-steps"},[t("Troubleshooting Steps "),e("a",{class:"header-anchor",href:"#troubleshooting-steps"},"#")],-1),f=t("If you\u2019re experiencing issues or think you have found a problem in Directus, be sure to follow these steps before "),m=t("Reporting a Bug"),_=t(":"),g=t("Ensure your server/database meet the "),y=t("minimum requirements"),b=e("li",null,[t("Ensure you\u2019re on the "),e("a",{href:"https://github.com/directus/directus/releases/latest",target:"_blank",rel:"noopener noreferrer"},"latest version of Directus")],-1),w=e("li",null,[t("Stop ("),e("code",null,"CTRL+C"),t(") and restart the server ("),e("code",null,"npx directus start"),t(")")],-1),v=e("li",null,[t("Run the database migration script: "),e("code",null,"directus database migrate:latest"),t(" (backup your database first)")],-1),x=e("li",null,"Disable any data-caching within your project",-1),k=e("li",null,"Test any App issues with browser extensions and cache disabled (eg: Incognito Mode)",-1),q=e("li",null,"Confirm the issue is not related to your own custom code",-1),C=e("li",null,[t("Check for "),e("a",{href:"https://github.com/directus/directus/issues?q=is%3Aissue",target:"_blank",rel:"noopener noreferrer"},"existing Issues"),t(" (and "),e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"Discussions"),t(") that match your problem")],-1),D=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Source Contributors"),e("p",null,[t("Those who have installed from source should also remove all dependencies ("),e("code",null,"npx lerna clean -y"),t(") and then reinstall them ("),e("code",null,"npm install"),t(").")])],-1),F=t("If you\u2019re still experiencing a problem after completing the above steps, you can chat through things on our "),I=e("a",{href:"#community-support"},"community support",-1),S=t(" or "),j=t("report a bug"),E=t("."),W=e("h2",{id:"community-support"},[t("Community Support "),e("a",{class:"header-anchor",href:"#community-support"},"#")],-1),O=e("p",null,[e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"Github Discussions"),t(" is great first place to reach out for help. Our community and core developers often check this platform and answer posts. It has the added benefit of being an archival resource for others developers with similar questions.")],-1),T=e("p",null,[t("Our "),e("a",{href:"https://directus.chat",target:"_blank",rel:"noopener noreferrer"},"Discord Community"),t(" is another great way to get assistance. Please keep all questions on the "),e("code",null,"#help"),t(" channel, be considerate, and remember that you are getting free help from the community for a free product.")],-1),z=e("h2",{id:"premium-support"},[t("Premium Support "),e("a",{class:"header-anchor",href:"#premium-support"},"#")],-1),B=t("Premium support is included with our Enterprise Cloud service. On-Demand Cloud customers and Self-Hosted users interested in learning more about our monthly retainer agreements should contact us at "),M=t("support@directus.io"),N=t("."),R=e("h2",{id:"sponsored-work"},[t("Sponsored Work "),e("a",{class:"header-anchor",href:"#sponsored-work"},"#")],-1),A=e("h3",{id:"commissioned-features"},[t("Commissioned Features "),e("a",{class:"header-anchor",href:"#commissioned-features"},"#")],-1),P=t("If you need a specific feature added to Directus faster than the normal development timeline, "),V=e("a",{href:"https://directus.io/contact/",target:"_blank",rel:"noopener noreferrer"},"reach out to us",-1),H=t(" for a quote. Our parent agency will often help subsidize the cost of developing new features if they pass our "),L=t("80/20 Rule"),Q=t(" and can be merged into the core codebase. Other custom/proprietary development will be built bespoke within our robust extension system."),G=e("h3",{id:"expedited-fixes"},[t("Expedited Fixes "),e("a",{class:"header-anchor",href:"#expedited-fixes"},"#")],-1),Y=e("p",null,[t("We triage all reported bugs based on priority and how long the fix is estimated to take. If you need a specific issue resolved sooner, "),e("a",{href:"https://directus.io/contact/",target:"_blank",rel:"noopener noreferrer"},"reach out to us"),t(" for a quote.")],-1),J=e("h2",{id:"frequently-asked-questions"},[t("Frequently Asked Questions "),e("a",{class:"header-anchor",href:"#frequently-asked-questions"},"#")],-1),K=e("h3",{id:"does-directus-support-mongo%2Fnosql%3F"},[t("Does Directus support Mongo/NoSQL? "),e("a",{class:"header-anchor",href:"#does-directus-support-mongo%2Fnosql%3F"},"#")],-1),U=e("p",null,[t("Not currently. Directus has been built specifically for wrapping "),e("em",null,"relational"),t(" databases. While we could force Mongo to use tables, columns, and rows via Mongoose object modeling, that approach of \u201Cfaking\u201D a relational structure in a non-structured environment like Mongo doesn\u2019t make a lot of sense. We do realize many users are interested in this feature, and will continue to explore its possibility.")],-1),X=e("h3",{id:"why-haven%E2%80%99t-you-added-this-feature%2C-or-fixed-that-issue-yet%3F"},[t("Why haven\u2019t you added this feature, or fixed that issue yet? "),e("a",{class:"header-anchor",href:"#why-haven%E2%80%99t-you-added-this-feature%2C-or-fixed-that-issue-yet%3F"},"#")],-1),Z=e("p",null,"Directus is primarily a free and open-source project, maintained by a small core team and community contributors who donate their time and resources.",-1),$=t("Our platform is feature-rich, however we strictly adhere to our "),ee=t("80/20 Rule"),te=t(" to avoid a messy/bloated codebase. Directus is also quite stable, however new issues still arise, some of which may be triaged with a lower prioritization."),oe=e("p",null,[t("If you require more expeditious updates, you can contact us regarding "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(". You can also "),e("a",{href:"https://github.com/directus/directus/pulls",target:"_blank",rel:"noopener noreferrer"},"submit a pull request"),t(" \u2014 after all, it is open-source!")],-1),se=e("h3",{id:"can-you-give-an-eta-for-this-feature%2Ffix%3F"},[t("Can you give an ETA for this feature/fix? "),e("a",{class:"header-anchor",href:"#can-you-give-an-eta-for-this-feature%2Ffix%3F"},"#")],-1),re=e("p",null,"If it is sponsored work, then yes, delivery dates are part of our statement of work agreements. Otherwise, most likely not. This is open-source software, work is prioritized internally, and all timelines are subject to change.",-1),ie=e("h3",{id:"but-this-is-an-emergency%2C-my-very-important-project-requires-it-now!"},[t("But this is an emergency, my very important project requires it now! "),e("a",{class:"header-anchor",href:"#but-this-is-an-emergency%2C-my-very-important-project-requires-it-now!"},"#")],-1),ne=e("p",null,[t("We understand, and are here to help. If you need something prioritized, you can reach out to us to discuss "),e("a",{href:"#premium-support"},"premium support"),t(", "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(".")],-1),le={setup(ae,{expose:a}){const i={title:"Help & Support",modularExtension:!1};return a({frontmatter:i}),(ue,ce)=>{const s=n("router-link"),u=n("DocsWrapper");return c(),d(u,{frontmatter:i},{default:o(()=>[e("div",l,[h,p,e("p",null,[f,r(s,{to:"/docs/contributing/introduction/#bug-reporting"},{default:o(()=>[m]),_:1}),_]),e("ol",null,[e("li",null,[g,r(s,{to:"/docs/getting-started/installation/cli/#_1-confirm-minimum-requirements"},{default:o(()=>[y]),_:1})]),b,w,v,x,k,q,C]),D,e("p",null,[F,I,S,r(s,{to:"/docs/contributing/introduction/#bug-reporting"},{default:o(()=>[j]),_:1}),E]),W,O,T,z,e("p",null,[B,r(s,{to:"/docsmailto:support@directus.io"},{default:o(()=>[M]),_:1}),N]),R,A,e("p",null,[P,V,H,r(s,{to:"/docs/contributing/introduction/#feature-requests"},{default:o(()=>[L]),_:1}),Q]),G,Y,J,K,U,X,Z,e("p",null,[$,r(s,{to:"/docs/contributing/introduction/#feature-requests"},{default:o(()=>[ee]),_:1}),te]),oe,se,re,ie,ne])]),_:1})}}};export{le as default};
@@ -1 +0,0 @@
1
- function i(e,o){return o.forEach(function(t){t&&typeof t!="string"&&!Array.isArray(t)&&Object.keys(t).forEach(function(r){if(r!=="default"&&!(r in e)){var n=Object.getOwnPropertyDescriptor(t,r);Object.defineProperty(e,r,n.get?n:{enumerable:!0,get:function(){return t[r]}})}})}),Object.freeze(e)}var a={};Object.defineProperty(a,"__esModule",{value:!0});var l={code:"sv",week:{dow:1,doy:4},buttonText:{prev:"F\xF6rra",next:"N\xE4sta",today:"Idag",month:"M\xE5nad",week:"Vecka",day:"Dag",list:"Program"},buttonHints:{prev(e){return`F\xF6reg\xE5ende ${e.toLocaleLowerCase()}`},next(e){return`N\xE4sta ${e.toLocaleLowerCase()}`},today(e){return(e==="Program"?"Detta":"Denna")+" "+e.toLocaleLowerCase()}},viewHint:"$0 vy",navLinkHint:"G\xE5 till $0",moreLinkHint(e){return`Visa ytterligare ${e} h\xE4ndelse${e===1?"":"r"}`},weekText:"v.",weekTextLong:"Vecka",allDayText:"Heldag",moreLinkText:"till",noEventsText:"Inga h\xE4ndelser att visa",closeHint:"St\xE4ng",timeHint:"Klockan",eventHint:"H\xE4ndelse"},s=a.default=l,c=Object.freeze(i({__proto__:null,[Symbol.toStringTag]:"Module",default:s},[a]));export{c as s};
@@ -1 +0,0 @@
1
- import{bJ as E}from"./vendor.f59145b7.js";function j(a,d){return d.forEach(function(u){u&&typeof u!="string"&&!Array.isArray(u)&&Object.keys(u).forEach(function(c){if(c!=="default"&&!(c in a)){var l=Object.getOwnPropertyDescriptor(u,c);Object.defineProperty(a,c,l.get?l:{enumerable:!0,get:function(){return u[c]}})}})}),Object.freeze(a)}var h={exports:{}};(function(a,d){(function(u){u(E.exports)})(function(u){function c(n){for(var t={},e=0;e<n.length;e++)t[n[e]]=!0;return t}var l=c(["_","var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","open","public","internal","fileprivate","private","deinit","init","new","override","self","subscript","super","convenience","dynamic","final","indirect","lazy","required","static","unowned","unowned(safe)","unowned(unsafe)","weak","as","is","break","case","continue","default","else","fallthrough","for","guard","if","in","repeat","switch","where","while","defer","return","inout","mutating","nonmutating","catch","do","rethrows","throw","throws","try","didSet","get","set","willSet","assignment","associativity","infix","left","none","operator","postfix","precedence","precedencegroup","prefix","right","Any","AnyObject","Type","dynamicType","Self","Protocol","__COLUMN__","__FILE__","__FUNCTION__","__LINE__"]),s=c(["var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),_=c(["true","false","nil","self","super","_"]),x=c(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),y="+-/*%=|&<>~^?!",g=":;,.(){}[]",b=/^\-?0b[01][01_]*/,w=/^\-?0o[0-7][0-7_]*/,k=/^\-?0x[\dA-Fa-f][\dA-Fa-f_]*(?:(?:\.[\dA-Fa-f][\dA-Fa-f_]*)?[Pp]\-?\d[\d_]*)?/,z=/^\-?\d[\d_]*(?:\.\d[\d_]*)?(?:[Ee]\-?\d[\d_]*)?/,m=/^\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1/,A=/^\.(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/,O=/^\#[A-Za-z]+/,I=/^@(?:\$\d+|(`?)[_A-Za-z][_A-Za-z$0-9]*\1)/;function v(n,t,e){if(n.sol()&&(t.indented=n.indentation()),n.eatSpace())return null;var r=n.peek();if(r=="/"){if(n.match("//"))return n.skipToEnd(),"comment";if(n.match("/*"))return t.tokenize.push(p),p(n,t)}if(n.match(O))return"builtin";if(n.match(I))return"attribute";if(n.match(b)||n.match(w)||n.match(k)||n.match(z))return"number";if(n.match(A))return"property";if(y.indexOf(r)>-1)return n.next(),"operator";if(g.indexOf(r)>-1)return n.next(),n.match(".."),"punctuation";var i;if(i=n.match(/("""|"|')/)){var o=C.bind(null,i[0]);return t.tokenize.push(o),o(n,t)}if(n.match(m)){var f=n.current();return x.hasOwnProperty(f)?"variable-2":_.hasOwnProperty(f)?"atom":l.hasOwnProperty(f)?(s.hasOwnProperty(f)&&(t.prev="define"),"keyword"):e=="define"?"def":"variable"}return n.next(),null}function S(){var n=0;return function(t,e,r){var i=v(t,e,r);if(i=="punctuation"){if(t.current()=="(")++n;else if(t.current()==")"){if(n==0)return t.backUp(1),e.tokenize.pop(),e.tokenize[e.tokenize.length-1](t,e);--n}}return i}}function C(n,t,e){for(var r=n.length==1,i,o=!1;i=t.peek();)if(o){if(t.next(),i=="(")return e.tokenize.push(S()),"string";o=!1}else{if(t.match(n))return e.tokenize.pop(),"string";t.next(),o=i=="\\"}return r&&e.tokenize.pop(),"string"}function p(n,t){for(var e;n.match(/^[^/*]+/,!0),e=n.next(),!!e;)e==="/"&&n.eat("*")?t.tokenize.push(p):e==="*"&&n.eat("/")&&t.tokenize.pop();return"comment"}function $(n,t,e){this.prev=n,this.align=t,this.indented=e}function P(n,t){var e=t.match(/^\s*($|\/[\/\*])/,!1)?null:t.column()+1;n.context=new $(n.context,e,n.indented)}function U(n){n.context&&(n.indented=n.context.indented,n.context=n.context.prev)}u.defineMode("swift",function(n){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(t,e){var r=e.prev;e.prev=null;var i=e.tokenize[e.tokenize.length-1]||v,o=i(t,e,r);if(!o||o=="comment"?e.prev=r:e.prev||(e.prev=o),o=="punctuation"){var f=/[\(\[\{]|([\]\)\}])/.exec(t.current());f&&(f[1]?U:P)(e,t)}return o},indent:function(t,e){var r=t.context;if(!r)return 0;var i=/^[\]\}\)]/.test(e);return r.align!=null?r.align-(i?1:0):r.indented+(i?0:n.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}}),u.defineMIME("text/x-swift","swift")})})();var F=h.exports,N=Object.freeze(j({__proto__:null,[Symbol.toStringTag]:"Module",default:F},[h.exports]));export{N as s};
@@ -1 +0,0 @@
1
- function u(t,o){return o.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(r){if(r!=="default"&&!(r in t)){var a=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,a.get?a:{enumerable:!0,get:function(){return e[r]}})}})}),Object.freeze(t)}var n={};Object.defineProperty(n,"__esModule",{value:!0});var f={code:"ta-in",week:{dow:1,doy:4},buttonText:{prev:"\u0BAE\u0BC1\u0BA8\u0BCD\u0BA4\u0BC8\u0BAF",next:"\u0B85\u0B9F\u0BC1\u0BA4\u0BCD\u0BA4\u0BA4\u0BC1",today:"\u0B87\u0BA9\u0BCD\u0BB1\u0BC1",month:"\u0BAE\u0BBE\u0BA4\u0BAE\u0BCD",week:"\u0BB5\u0BBE\u0BB0\u0BAE\u0BCD",day:"\u0BA8\u0BBE\u0BB3\u0BCD",list:"\u0BA4\u0BBF\u0BA9\u0B9A\u0BB0\u0BBF \u0B85\u0B9F\u0BCD\u0B9F\u0BB5\u0BA3\u0BC8"},weekText:"\u0BB5\u0BBE\u0BB0\u0BAE\u0BCD",allDayText:"\u0BA8\u0BBE\u0BB3\u0BCD \u0BAE\u0BC1\u0BB4\u0BC1\u0BB5\u0BA4\u0BC1\u0BAE\u0BCD",moreLinkText:function(t){return"+ \u0BAE\u0BC7\u0BB2\u0BC1\u0BAE\u0BCD "+t},noEventsText:"\u0B95\u0BBE\u0BA3\u0BCD\u0BAA\u0BBF\u0B95\u0BCD\u0B95 \u0BA8\u0BBF\u0B95\u0BB4\u0BCD\u0BB5\u0BC1\u0B95\u0BB3\u0BCD \u0B87\u0BB2\u0BCD\u0BB2\u0BC8"},c=n.default=f,i=Object.freeze(u({__proto__:null,[Symbol.toStringTag]:"Module",default:c},[n]));export{i as t};
@@ -1 +0,0 @@
1
- import{bJ as x}from"./vendor.f59145b7.js";function v(f,s){return s.forEach(function(o){o&&typeof o!="string"&&!Array.isArray(o)&&Object.keys(o).forEach(function(a){if(a!=="default"&&!(a in f)){var l=Object.getOwnPropertyDescriptor(o,a);Object.defineProperty(f,a,l.get?l:{enumerable:!0,get:function(){return o[a]}})}})}),Object.freeze(f)}var b={exports:{}};(function(f,s){(function(o){o(x.exports)})(function(o){o.defineMode("tcl",function(){function a(r){for(var t={},n=r.split(" "),e=0;e<n.length;++e)t[n[e]]=!0;return t}var l=a("Tcl safe after append array auto_execok auto_import auto_load auto_mkindex auto_mkindex_old auto_qualify auto_reset bgerror binary break catch cd close concat continue dde eof encoding error eval exec exit expr fblocked fconfigure fcopy file fileevent filename filename flush for foreach format gets glob global history http if incr info interp join lappend lindex linsert list llength load lrange lreplace lsearch lset lsort memory msgcat namespace open package parray pid pkg::create pkg_mkIndex proc puts pwd re_syntax read regex regexp registry regsub rename resource return scan seek set socket source split string subst switch tcl_endOfWord tcl_findLibrary tcl_startOfNextWord tcl_wordBreakAfter tcl_startOfPreviousWord tcl_wordBreakBefore tcltest tclvars tell time trace unknown unset update uplevel upvar variable vwait"),p=a("if elseif else and not or eq ne in ni for foreach while switch"),d=/[+\-*&%=<>!?^\/\|]/;function c(r,t,n){return t.tokenize=n,n(r,t)}function u(r,t){var n=t.beforeParams;t.beforeParams=!1;var e=r.next();if((e=='"'||e=="'")&&t.inParams)return c(r,t,k(e));if(/[\[\]{}\(\),;\.]/.test(e))return e=="("&&n?t.inParams=!0:e==")"&&(t.inParams=!1),null;if(/\d/.test(e))return r.eatWhile(/[\w\.]/),"number";if(e=="#")return r.eat("*")?c(r,t,h):e=="#"&&r.match(/ *\[ *\[/)?c(r,t,g):(r.skipToEnd(),"comment");if(e=='"')return r.skipTo(/"/),"comment";if(e=="$")return r.eatWhile(/[$_a-z0-9A-Z\.{:]/),r.eatWhile(/}/),t.beforeParams=!0,"builtin";if(d.test(e))return r.eatWhile(d),"comment";r.eatWhile(/[\w\$_{}\xa1-\uffff]/);var i=r.current().toLowerCase();return l&&l.propertyIsEnumerable(i)?"keyword":p&&p.propertyIsEnumerable(i)?(t.beforeParams=!0,"keyword"):null}function k(r){return function(t,n){for(var e=!1,i,m=!1;(i=t.next())!=null;){if(i==r&&!e){m=!0;break}e=!e&&i=="\\"}return m&&(n.tokenize=u),"string"}}function h(r,t){for(var n=!1,e;e=r.next();){if(e=="#"&&n){t.tokenize=u;break}n=e=="*"}return"comment"}function g(r,t){for(var n=0,e;e=r.next();){if(e=="#"&&n==2){t.tokenize=u;break}e=="]"?n++:e!=" "&&(n=0)}return"meta"}return{startState:function(){return{tokenize:u,beforeParams:!1,inParams:!1}},token:function(r,t){return r.eatSpace()?null:t.tokenize(r,t)},lineComment:"#"}}),o.defineMIME("text/x-tcl","tcl")})})();var y=b.exports,w=Object.freeze(v({__proto__:null,[Symbol.toStringTag]:"Module",default:y},[b.exports]));export{w as t};
@@ -1 +0,0 @@
1
- import{bJ as R}from"./vendor.f59145b7.js";function w(p,m){return m.forEach(function(c){c&&typeof c!="string"&&!Array.isArray(c)&&Object.keys(c).forEach(function(u){if(u!=="default"&&!(u in p)){var b=Object.getOwnPropertyDescriptor(c,u);Object.defineProperty(p,u,b.get?b:{enumerable:!0,get:function(){return c[u]}})}})}),Object.freeze(p)}var T={exports:{}};(function(p,m){(function(c){c(R.exports)})(function(c){var u={addition:"positive",attributes:"attribute",bold:"strong",cite:"keyword",code:"atom",definitionList:"number",deletion:"negative",div:"punctuation",em:"em",footnote:"variable",footCite:"qualifier",header:"header",html:"comment",image:"string",italic:"em",link:"link",linkDefinition:"link",list1:"variable-2",list2:"variable-3",list3:"keyword",notextile:"string-2",pre:"operator",p:"property",quote:"bracket",span:"quote",specialChar:"tag",strong:"strong",sub:"builtin",sup:"builtin",table:"variable-3",tableHeading:"operator"};function b(i,e){e.mode=l.newLayout,e.tableHeading=!1,e.layoutType==="definitionList"&&e.spanningLayout&&i.match(r("definitionListEnd"),!1)&&(e.spanningLayout=!1)}function v(i,e,t){if(t==="_")return i.eat("_")?f(i,e,"italic",/__/,2):f(i,e,"em",/_/,1);if(t==="*")return i.eat("*")?f(i,e,"bold",/\*\*/,2):f(i,e,"strong",/\*/,1);if(t==="[")return i.match(/\d+\]/)&&(e.footCite=!0),a(e);if(t==="("){var o=i.match(/^(r|tm|c)\)/);if(o)return d(e,u.specialChar)}if(t==="<"&&i.match(/(\w+)[^>]+>[^<]+<\/\1>/))return d(e,u.html);if(t==="?"&&i.eat("?"))return f(i,e,"cite",/\?\?/,2);if(t==="="&&i.eat("="))return f(i,e,"notextile",/==/,2);if(t==="-"&&!i.eat("-"))return f(i,e,"deletion",/-/,1);if(t==="+")return f(i,e,"addition",/\+/,1);if(t==="~")return f(i,e,"sub",/~/,1);if(t==="^")return f(i,e,"sup",/\^/,1);if(t==="%")return f(i,e,"span",/%/,1);if(t==="@")return f(i,e,"code",/@/,1);if(t==="!"){var y=f(i,e,"image",/(?:\([^\)]+\))?!/,1);return i.match(/^:\S+/),y}return a(e)}function f(i,e,t,o,y){var s=i.pos>y?i.string.charAt(i.pos-y-1):null,h=i.peek();if(e[t]){if((!h||/\W/.test(h))&&s&&/\S/.test(s)){var L=a(e);return e[t]=!1,L}}else(!s||/\W/.test(s))&&h&&/\S/.test(h)&&i.match(new RegExp("^.*\\S"+o.source+"(?:\\W|$)"),!1)&&(e[t]=!0,e.mode=l.attributes);return a(e)}function a(i){var e=g(i);if(e)return e;var t=[];return i.layoutType&&t.push(u[i.layoutType]),t=t.concat(k(i,"addition","bold","cite","code","deletion","em","footCite","image","italic","link","span","strong","sub","sup","table","tableHeading")),i.layoutType==="header"&&t.push(u.header+"-"+i.header),t.length?t.join(" "):null}function g(i){var e=i.layoutType;switch(e){case"notextile":case"code":case"pre":return u[e];default:return i.notextile?u.notextile+(e?" "+u[e]:""):null}}function d(i,e){var t=g(i);if(t)return t;var o=a(i);return e?o?o+" "+e:e:o}function k(i){for(var e=[],t=1;t<arguments.length;++t)i[arguments[t]]&&e.push(u[arguments[t]]);return e}function x(i){var e=i.spanningLayout,t=i.layoutType;for(var o in i)i.hasOwnProperty(o)&&delete i[o];i.mode=l.newLayout,e&&(i.layoutType=t,i.spanningLayout=!0)}var n={cache:{},single:{bc:"bc",bq:"bq",definitionList:/- .*?:=+/,definitionListEnd:/.*=:\s*$/,div:"div",drawTable:/\|.*\|/,foot:/fn\d+/,header:/h[1-6]/,html:/\s*<(?:\/)?(\w+)(?:[^>]+)?>(?:[^<]+<\/\1>)?/,link:/[^"]+":\S/,linkDefinition:/\[[^\s\]]+\]\S+/,list:/(?:#+|\*+)/,notextile:"notextile",para:"p",pre:"pre",table:"table",tableCellAttributes:/[\/\\]\d+/,tableHeading:/\|_\./,tableText:/[^"_\*\[\(\?\+~\^%@|-]+/,text:/[^!"_=\*\[\(<\?\+~\^%@-]+/},attributes:{align:/(?:<>|<|>|=)/,selector:/\([^\(][^\)]+\)/,lang:/\[[^\[\]]+\]/,pad:/(?:\(+|\)+){1,2}/,css:/\{[^\}]+\}/},createRe:function(i){switch(i){case"drawTable":return n.makeRe("^",n.single.drawTable,"$");case"html":return n.makeRe("^",n.single.html,"(?:",n.single.html,")*","$");case"linkDefinition":return n.makeRe("^",n.single.linkDefinition,"$");case"listLayout":return n.makeRe("^",n.single.list,r("allAttributes"),"*\\s+");case"tableCellAttributes":return n.makeRe("^",n.choiceRe(n.single.tableCellAttributes,r("allAttributes")),"+\\.");case"type":return n.makeRe("^",r("allTypes"));case"typeLayout":return n.makeRe("^",r("allTypes"),r("allAttributes"),"*\\.\\.?","(\\s+|$)");case"attributes":return n.makeRe("^",r("allAttributes"),"+");case"allTypes":return n.choiceRe(n.single.div,n.single.foot,n.single.header,n.single.bc,n.single.bq,n.single.notextile,n.single.pre,n.single.table,n.single.para);case"allAttributes":return n.choiceRe(n.attributes.selector,n.attributes.css,n.attributes.lang,n.attributes.align,n.attributes.pad);default:return n.makeRe("^",n.single[i])}},makeRe:function(){for(var i="",e=0;e<arguments.length;++e){var t=arguments[e];i+=typeof t=="string"?t:t.source}return new RegExp(i)},choiceRe:function(){for(var i=[arguments[0]],e=1;e<arguments.length;++e)i[e*2-1]="|",i[e*2]=arguments[e];return i.unshift("(?:"),i.push(")"),n.makeRe.apply(null,i)}};function r(i){return n.cache[i]||(n.cache[i]=n.createRe(i))}var l={newLayout:function(i,e){if(i.match(r("typeLayout"),!1))return e.spanningLayout=!1,(e.mode=l.blockType)(i,e);var t;return g(e)||(i.match(r("listLayout"),!1)?t=l.list:i.match(r("drawTable"),!1)?t=l.table:i.match(r("linkDefinition"),!1)?t=l.linkDefinition:i.match(r("definitionList"))?t=l.definitionList:i.match(r("html"),!1)&&(t=l.html)),(e.mode=t||l.text)(i,e)},blockType:function(i,e){var t,o;if(e.layoutType=null,t=i.match(r("type")))o=t[0];else return(e.mode=l.text)(i,e);return(t=o.match(r("header")))?(e.layoutType="header",e.header=parseInt(t[0][1])):o.match(r("bq"))?e.layoutType="quote":o.match(r("bc"))?e.layoutType="code":o.match(r("foot"))?e.layoutType="footnote":o.match(r("notextile"))?e.layoutType="notextile":o.match(r("pre"))?e.layoutType="pre":o.match(r("div"))?e.layoutType="div":o.match(r("table"))&&(e.layoutType="table"),e.mode=l.attributes,a(e)},text:function(i,e){if(i.match(r("text")))return a(e);var t=i.next();return t==='"'?(e.mode=l.link)(i,e):v(i,e,t)},attributes:function(i,e){return e.mode=l.layoutLength,i.match(r("attributes"))?d(e,u.attributes):a(e)},layoutLength:function(i,e){return i.eat(".")&&i.eat(".")&&(e.spanningLayout=!0),e.mode=l.text,a(e)},list:function(i,e){var t=i.match(r("list"));e.listDepth=t[0].length;var o=(e.listDepth-1)%3;return o?o===1?e.layoutType="list2":e.layoutType="list3":e.layoutType="list1",e.mode=l.attributes,a(e)},link:function(i,e){return e.mode=l.text,i.match(r("link"))?(i.match(/\S+/),d(e,u.link)):a(e)},linkDefinition:function(i,e){return i.skipToEnd(),d(e,u.linkDefinition)},definitionList:function(i,e){return i.match(r("definitionList")),e.layoutType="definitionList",i.match(/\s*$/)?e.spanningLayout=!0:e.mode=l.attributes,a(e)},html:function(i,e){return i.skipToEnd(),d(e,u.html)},table:function(i,e){return e.layoutType="table",(e.mode=l.tableCell)(i,e)},tableCell:function(i,e){return i.match(r("tableHeading"))?e.tableHeading=!0:i.eat("|"),e.mode=l.tableCellAttributes,a(e)},tableCellAttributes:function(i,e){return e.mode=l.tableText,i.match(r("tableCellAttributes"))?d(e,u.attributes):a(e)},tableText:function(i,e){return i.match(r("tableText"))?a(e):i.peek()==="|"?(e.mode=l.tableCell,a(e)):v(i,e,i.next())}};c.defineMode("textile",function(){return{startState:function(){return{mode:l.newLayout}},token:function(i,e){return i.sol()&&b(i,e),e.mode(i,e)},blankLine:x}}),c.defineMIME("text/x-textile","textile")})})();var A=T.exports,C=Object.freeze(w({__proto__:null,[Symbol.toStringTag]:"Module",default:A},[T.exports]));export{C as t};
@@ -1 +0,0 @@
1
- function u(r,n){return n.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in r)){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(r)}var a={};Object.defineProperty(a,"__esModule",{value:!0});var f={code:"th",week:{dow:1,doy:4},buttonText:{prev:"\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",next:"\u0E16\u0E31\u0E14\u0E44\u0E1B",prevYear:"\u0E1B\u0E35\u0E01\u0E48\u0E2D\u0E19\u0E2B\u0E19\u0E49\u0E32",nextYear:"\u0E1B\u0E35\u0E16\u0E31\u0E14\u0E44\u0E1B",year:"\u0E1B\u0E35",today:"\u0E27\u0E31\u0E19\u0E19\u0E35\u0E49",month:"\u0E40\u0E14\u0E37\u0E2D\u0E19",week:"\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C",day:"\u0E27\u0E31\u0E19",list:"\u0E01\u0E33\u0E2B\u0E19\u0E14\u0E01\u0E32\u0E23"},weekText:"\u0E2A\u0E31\u0E1B\u0E14\u0E32\u0E2B\u0E4C",allDayText:"\u0E15\u0E25\u0E2D\u0E14\u0E27\u0E31\u0E19",moreLinkText:"\u0E40\u0E1E\u0E34\u0E48\u0E21\u0E40\u0E15\u0E34\u0E21",noEventsText:"\u0E44\u0E21\u0E48\u0E21\u0E35\u0E01\u0E34\u0E08\u0E01\u0E23\u0E23\u0E21\u0E17\u0E35\u0E48\u0E08\u0E30\u0E41\u0E2A\u0E14\u0E07"},c=a.default=f,i=Object.freeze(u({__proto__:null,[Symbol.toStringTag]:"Module",default:c},[a]));export{i as t};
@@ -1,5 +0,0 @@
1
- import{r as n,p as c,q as h,w as s,z as e,t as r,S as t}from"./vendor.f59145b7.js";const d={class:"markdown-body"},u=e("strong",null,"Form Follows Function",-1),p=t(" is the guiding design principle of Directus. The minimal UI allows the platform to be easily tailored to your brand. "),m=t("Learn more about the App"),g=t("."),_=e("h2",{id:"app-themes"},[t("App Themes "),e("a",{class:"header-anchor",href:"#app-themes"},"#")],-1),y=e("p",null,"The Directus App has been developed with customization and extensibility in mind. Colors and styles referenced within the codebase all use CSS variables, and therefore it is easy to make comprehensive changes to the App styling.",-1),b=e("p",null,"There are two themes included by default: Light and Dark. You can duplicate these files to create your own themes \u2014 with no limit to customization. Below are several code resources for key SCSS files.",-1),f=e("ul",null,[e("li",null,[e("strong",null,"Themes"),t(" \u2014 See the "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/themes/_light.scss",target:"_blank",rel:"noopener noreferrer"},"Light Theme"),t(" or "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/themes/_dark.scss",target:"_blank",rel:"noopener noreferrer"},"Dark Theme")]),e("li",null,[e("strong",null,"Typography"),t(" \u2014 See the "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/_type-styles.scss",target:"_blank",rel:"noopener noreferrer"},"Fonts"),t(" and "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/mixins/type-styles.scss",target:"_blank",rel:"noopener noreferrer"},"Type Styles")]),e("li",null,[e("strong",null,"Variables"),t(" \u2014 See the "),e("a",{href:"https://github.com/directus/directus/blob/main/app/src/styles/_variables.scss",target:"_blank",rel:"noopener noreferrer"},"Global Variables")])],-1),S=e("h2",{id:"project-styling"},[t("Project Styling "),e("a",{class:"header-anchor",href:"#project-styling"},"#")],-1),v=t("See "),w=t("Adjusting Project Settings"),k=e("h2",{id:"custom-css"},[t("Custom CSS "),e("a",{class:"header-anchor",href:"#custom-css"},"#")],-1),C=e("p",null,"You can also override any core CSS directly within the App through Project Settings. This makes it easy to edit the CSS variables listed in the themes above.",-1),T=e("ol",null,[e("li",null,[t("Navigate to "),e("strong",null,"Settings Module > Project Settings")]),e("li",null,[t("Scroll to the "),e("strong",null,"Custom CSS"),t(" field")]),e("li",null,[t("Enter any "),e("strong",null,"valid CSS")]),e("li",null,[t("Click the "),e("strong",null,"Save"),t(" action button in the header")])],-1),A=e("h3",{id:"example"},[t("Example "),e("a",{class:"header-anchor",href:"#example"},"#")],-1),j=e("p",null,[t("Since App styles are inserted/removed whenever a component is rendered, you\u2019ll need to be aware of CSS priority. Using "),e("code",null,":root"),t(" or "),e("code",null,"body"),t(" likely isn\u2019t scoped enough, you\u2019ll need to define a more specific scope, such as "),e("code",null,"#app"),t(", or use "),e("code",null,"!important"),t(".")],-1),x=e("pre",null,[e("code",{class:"language-css"},[e("span",{class:"hljs-selector-tag"},"body"),t(` {
2
- --family-sans-serif: `),e("span",{class:"hljs-string"},"'Comic Sans MS'"),t(`;
3
- --primary: MediumSlateBlue `),e("span",{class:"hljs-meta"},"!important"),t(`;
4
- }
5
- `)])],-1),D=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Action Styling"),e("p",null,[t("The "),e("code",null,"--primary"),t(" variable (and its shades) control call-to-actions and all other elements within the App using the \u201CDirectus Green\u201D. While it may be tempting to override this variable with your brand\u2019s color, please first review the following warnings:")]),e("ul",null,[e("li",null,"Avoid using yellow, orange, or red hues that give a sense of \u201Cdanger\u201D"),e("li",null,"Avoid low-contrast colors like yellows, grays, etc, that might not be easily visible"),e("li",null,"Avoid low-saturation colors like black, which might not properly highlight CTAs")])],-1),P={setup(B,{expose:i}){const o={title:"Themes & Styling",modularExtension:!1};return i({frontmatter:o}),(V,F)=>{const l=n("router-link"),a=n("DocsWrapper");return c(),h(a,{frontmatter:o},{default:s(()=>[e("div",d,[e("blockquote",null,[e("p",null,[u,p,r(l,{to:"/docs/app/overview/"},{default:s(()=>[m]),_:1}),g])]),_,y,b,f,S,e("p",null,[v,r(l,{to:"/docs/configuration/project-settings/"},{default:s(()=>[w]),_:1})]),k,C,T,A,j,x,D])]),_:1})}}};export{P as default};
@@ -1 +0,0 @@
1
- import{bJ as O}from"./vendor.f59145b7.js";function A(f,d){return d.forEach(function(i){i&&typeof i!="string"&&!Array.isArray(i)&&Object.keys(i).forEach(function(c){if(c!=="default"&&!(c in f)){var l=Object.getOwnPropertyDescriptor(i,c);Object.defineProperty(f,c,l.get?l:{enumerable:!0,get:function(){return i[c]}})}})}),Object.freeze(f)}var h={exports:{}};(function(f,d){(function(i){i(O.exports)})(function(i){i.defineMode("tiddlywiki",function(){var c={},l={allTags:!0,closeAll:!0,list:!0,newJournal:!0,newTiddler:!0,permaview:!0,saveChanges:!0,search:!0,slider:!0,tabs:!0,tag:!0,tagging:!0,tags:!0,tiddler:!0,timeline:!0,today:!0,version:!0,option:!0,with:!0,filter:!0},a=/[\w_\-]/i,p=/^\-\-\-\-+$/,b=/^\/\*\*\*$/,w=/^\*\*\*\/$/,y=/^<<<$/,v=/^\/\/\{\{\{$/,g=/^\/\/\}\}\}$/,x=/^<!--\{\{\{-->$/,m=/^<!--\}\}\}-->$/,S=/^\{\{\{$/,$=/^\}\}\}$/,z=/.*?\}\}\}/;function u(e,r,n){return r.tokenize=n,n(e,r)}function o(e,r){var n=e.sol(),t=e.peek();if(r.block=!1,n&&/[<\/\*{}\-]/.test(t)){if(e.match(S))return r.block=!0,u(e,r,k);if(e.match(y))return"quote";if(e.match(b)||e.match(w)||e.match(v)||e.match(g)||e.match(x)||e.match(m))return"comment";if(e.match(p))return"hr"}if(e.next(),n&&/[\/\*!#;:>|]/.test(t)){if(t=="!")return e.skipToEnd(),"header";if(t=="*")return e.eatWhile("*"),"comment";if(t=="#")return e.eatWhile("#"),"comment";if(t==";")return e.eatWhile(";"),"comment";if(t==":")return e.eatWhile(":"),"comment";if(t==">")return e.eatWhile(">"),"quote";if(t=="|")return"header"}if(t=="{"&&e.match("{{"))return u(e,r,k);if(/[hf]/i.test(t)&&/[ti]/i.test(e.peek())&&e.match(/\b(ttps?|tp|ile):\/\/[\-A-Z0-9+&@#\/%?=~_|$!:,.;]*[A-Z0-9+&@#\/%=~_|$]/i))return"link";if(t=='"')return"string";if(t=="~"||/[\[\]]/.test(t)&&e.match(t))return"brace";if(t=="@")return e.eatWhile(a),"link";if(/\d/.test(t))return e.eatWhile(/\d/),"number";if(t=="/"){if(e.eat("%"))return u(e,r,_);if(e.eat("/"))return u(e,r,C)}if(t=="_"&&e.eat("_"))return u(e,r,T);if(t=="-"&&e.eat("-")){if(e.peek()!=" ")return u(e,r,W);if(e.peek()==" ")return"brace"}return t=="'"&&e.eat("'")?u(e,r,E):t=="<"&&e.eat("<")?u(e,r,j):(e.eatWhile(/[\w\$_]/),c.propertyIsEnumerable(e.current())?"keyword":null)}function _(e,r){for(var n=!1,t;t=e.next();){if(t=="/"&&n){r.tokenize=o;break}n=t=="%"}return"comment"}function E(e,r){for(var n=!1,t;t=e.next();){if(t=="'"&&n){r.tokenize=o;break}n=t=="'"}return"strong"}function k(e,r){var n=r.block;return n&&e.current()?"comment":!n&&e.match(z)||n&&e.sol()&&e.match($)?(r.tokenize=o,"comment"):(e.next(),"comment")}function C(e,r){for(var n=!1,t;t=e.next();){if(t=="/"&&n){r.tokenize=o;break}n=t=="/"}return"em"}function T(e,r){for(var n=!1,t;t=e.next();){if(t=="_"&&n){r.tokenize=o;break}n=t=="_"}return"underlined"}function W(e,r){for(var n=!1,t;t=e.next();){if(t=="-"&&n){r.tokenize=o;break}n=t=="-"}return"strikethrough"}function j(e,r){if(e.current()=="<<")return"macro";var n=e.next();return n?n==">"&&e.peek()==">"?(e.next(),r.tokenize=o,"macro"):(e.eatWhile(/[\w\$_]/),l.propertyIsEnumerable(e.current())?"keyword":null):(r.tokenize=o,null)}return{startState:function(){return{tokenize:o}},token:function(e,r){if(e.eatSpace())return null;var n=r.tokenize(e,r);return n}}}),i.defineMIME("text/x-tiddlywiki","tiddlywiki")})})();var B=h.exports,M=Object.freeze(A({__proto__:null,[Symbol.toStringTag]:"Module",default:B},[h.exports]));export{M as t};
@@ -1 +0,0 @@
1
- import{bJ as A}from"./vendor.f59145b7.js";function E(k,v){return v.forEach(function(f){f&&typeof f!="string"&&!Array.isArray(f)&&Object.keys(f).forEach(function(a){if(a!=="default"&&!(a in k)){var i=Object.getOwnPropertyDescriptor(f,a);Object.defineProperty(k,a,i.get?i:{enumerable:!0,get:function(){return f[a]}})}})}),Object.freeze(k)}var P={exports:{}};(function(k,v){(function(f){f(A.exports)})(function(f){f.defineMode("tiki",function(a){function i(e,t,n){return function(o,g){for(;!o.eol();){if(o.match(t)){g.tokenize=c;break}o.next()}return n&&(g.tokenize=n),e}}function l(e){return function(t,n){for(;!t.eol();)t.next();return n.tokenize=c,e}}function c(e,t){function n(y){return t.tokenize=y,y(e,t)}var o=e.sol(),g=e.next();switch(g){case"{":return e.eat("/"),e.eatSpace(),e.eatWhile(/[^\s\u00a0=\"\'\/?(}]/),t.tokenize=b,"tag";case"_":if(e.eat("_"))return n(i("strong","__",c));break;case"'":if(e.eat("'"))return n(i("em","''",c));break;case"(":if(e.eat("("))return n(i("variable-2","))",c));break;case"[":return n(i("variable-3","]",c));case"|":if(e.eat("|"))return n(i("comment","||"));break;case"-":if(e.eat("="))return n(i("header string","=-",c));if(e.eat("-"))return n(i("error tw-deleted","--",c));break;case"=":if(e.match("=="))return n(i("tw-underline","===",c));break;case":":if(e.eat(":"))return n(i("comment","::"));break;case"^":return n(i("tw-box","^"));case"~":if(e.match("np~"))return n(i("meta","~/np~"));break}if(o)switch(g){case"!":return e.match("!!!!!")||e.match("!!!!")||e.match("!!!")||e.match("!!"),n(l("header string"));case"*":case"#":case"+":return n(l("tw-listitem bracket"))}return null}var _=a.indentUnit,x,p;function b(e,t){var n=e.next(),o=e.peek();return n=="}"?(t.tokenize=c,"tag"):n=="("||n==")"?"bracket":n=="="?(p="equals",o==">"&&(e.next(),o=e.peek()),/[\'\"]/.test(o)||(t.tokenize=L()),"operator"):/[\'\"]/.test(n)?(t.tokenize=N(n),t.tokenize(e,t)):(e.eatWhile(/[^\s\u00a0=\"\'\/?]/),"keyword")}function N(e){return function(t,n){for(;!t.eol();)if(t.next()==e){n.tokenize=b;break}return"string"}}function L(){return function(e,t){for(;!e.eol();){var n=e.next(),o=e.peek();if(n==" "||n==","||/[ )}]/.test(o)){t.tokenize=b;break}}return"string"}}var r,s;function d(){for(var e=arguments.length-1;e>=0;e--)r.cc.push(arguments[e])}function u(){return d.apply(null,arguments),!0}function w(e,t){var n=r.context&&r.context.noIndent;r.context={prev:r.context,pluginName:e,indent:r.indented,startOfLine:t,noIndent:n}}function z(){r.context&&(r.context=r.context.prev)}function S(e){if(e=="openPlugin")return r.pluginName=x,u(h,j(r.startOfLine));if(e=="closePlugin"){var t=!1;return r.context?(t=r.context.pluginName!=x,z()):t=!0,t&&(s="error"),u(I(t))}else return e=="string"&&((!r.context||r.context.name!="!cdata")&&w("!cdata"),r.tokenize==c&&z()),u()}function j(e){return function(t){return t=="selfclosePlugin"||t=="endPlugin"||t=="endPlugin"&&w(r.pluginName,e),u()}}function I(e){return function(t){return e&&(s="error"),t=="endPlugin"?u():d()}}function h(e){return e=="keyword"?(s="attribute",u(h)):e=="equals"?u(m,h):d()}function m(e){return e=="keyword"?(s="string",u()):e=="string"?u(O):d()}function O(e){return e=="string"?u(O):d()}return{startState:function(){return{tokenize:c,cc:[],indented:0,startOfLine:!0,pluginName:null,context:null}},token:function(e,t){if(e.sol()&&(t.startOfLine=!0,t.indented=e.indentation()),e.eatSpace())return null;s=p=x=null;var n=t.tokenize(e,t);if((n||p)&&n!="comment")for(r=t;;){var o=t.cc.pop()||S;if(o(p||n))break}return t.startOfLine=!1,s||n},indent:function(e,t){var n=e.context;if(n&&n.noIndent)return 0;for(n&&/^{\//.test(t)&&(n=n.prev);n&&!n.startOfLine;)n=n.prev;return n?n.indent+_:0},electricChars:"/"}}),f.defineMIME("text/tiki","tiki")})})();var M=P.exports,C=Object.freeze(E({__proto__:null,[Symbol.toStringTag]:"Module",default:M},[P.exports]));export{C as t};
@@ -1 +0,0 @@
1
- import{bJ as u}from"./vendor.f59145b7.js";function t(i,l){return l.forEach(function(r){r&&typeof r!="string"&&!Array.isArray(r)&&Object.keys(r).forEach(function(e){if(e!=="default"&&!(e in i)){var n=Object.getOwnPropertyDescriptor(r,e);Object.defineProperty(i,e,n.get?n:{enumerable:!0,get:function(){return r[e]}})}})}),Object.freeze(i)}var f={exports:{}};(function(i,l){(function(r){r(u.exports)})(function(r){r.defineMode("toml",function(){return{startState:function(){return{inString:!1,stringType:"",lhs:!0,inArray:0}},token:function(e,n){if(!n.inString&&(e.peek()=='"'||e.peek()=="'")&&(n.stringType=e.peek(),e.next(),n.inString=!0),e.sol()&&n.inArray===0&&(n.lhs=!0),n.inString){for(;n.inString&&!e.eol();)e.peek()===n.stringType?(e.next(),n.inString=!1):e.peek()==="\\"?(e.next(),e.next()):e.match(/^.[^\\\"\']*/);return n.lhs?"property string":"string"}else{if(n.inArray&&e.peek()==="]")return e.next(),n.inArray--,"bracket";if(n.lhs&&e.peek()==="["&&e.skipTo("]"))return e.next(),e.peek()==="]"&&e.next(),"atom";if(e.peek()==="#")return e.skipToEnd(),"comment";if(e.eatSpace())return null;if(n.lhs&&e.eatWhile(function(o){return o!="="&&o!=" "}))return"property";if(n.lhs&&e.peek()==="=")return e.next(),n.lhs=!1,null;if(!n.lhs&&e.match(/^\d\d\d\d[\d\-\:\.T]*Z/))return"atom";if(!n.lhs&&(e.match("true")||e.match("false")))return"atom";if(!n.lhs&&e.peek()==="[")return n.inArray++,e.next(),"bracket";if(!n.lhs&&e.match(/^\-?\d+(?:\.\d+)?/))return"number";e.eatSpace()||e.next()}return null}}}),r.defineMIME("text/x-toml","toml")})})();var p=f.exports,h=Object.freeze(t({__proto__:null,[Symbol.toStringTag]:"Module",default:p},[f.exports]));export{h as t};
@@ -1 +0,0 @@
1
- import{bJ as d}from"./vendor.f59145b7.js";import{a as l}from"./htmlmixed.d6f11e3c.js";import{o as p}from"./overlay.4aee4ad9.js";function m(i,u){return u.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in i)){var o=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(i,t,o.get?o:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(i)}var c={exports:{}};(function(i,u){(function(e){e(d.exports,l.exports,p.exports)})(function(e){e.defineMode("tornado:inner",function(){var t=["and","as","assert","autoescape","block","break","class","comment","context","continue","datetime","def","del","elif","else","end","escape","except","exec","extends","false","finally","for","from","global","if","import","in","include","is","json_encode","lambda","length","linkify","load","module","none","not","or","pass","print","put","raise","raw","return","self","set","squeeze","super","true","try","url_escape","while","with","without","xhtml_escape","yield"];t=new RegExp("^(("+t.join(")|(")+"))\\b");function o(n,r){n.eatWhile(/[^\{]/);var a=n.next();if(a=="{"&&(a=n.eat(/\{|%|#/)))return r.tokenize=f(a),"tag"}function f(n){return n=="{"&&(n="}"),function(r,a){var s=r.next();return s==n&&r.eat("}")?(a.tokenize=o,"tag"):r.match(t)?"keyword":n=="#"?"comment":"string"}}return{startState:function(){return{tokenize:o}},token:function(n,r){return r.tokenize(n,r)}}}),e.defineMode("tornado",function(t){var o=e.getMode(t,"text/html"),f=e.getMode(t,"tornado:inner");return e.overlayMode(o,f)}),e.defineMIME("text/x-tornado","tornado")})})();var x=c.exports,b=Object.freeze(m({__proto__:null,[Symbol.toStringTag]:"Module",default:x},[c.exports]));export{b as t};
@@ -1 +0,0 @@
1
- function i(r,o){return o.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in r)){var n=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,n.get?n:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(r)}var a={};Object.defineProperty(a,"__esModule",{value:!0});var f={code:"tr",week:{dow:1,doy:7},buttonText:{prev:"geri",next:"ileri",today:"bug\xFCn",month:"Ay",week:"Hafta",day:"G\xFCn",list:"Ajanda"},weekText:"Hf",allDayText:"T\xFCm g\xFCn",moreLinkText:"daha fazla",noEventsText:"G\xF6sterilecek etkinlik yok"},u=a.default=f,l=Object.freeze(i({__proto__:null,[Symbol.toStringTag]:"Module",default:u},[a]));export{l as t};
@@ -1 +0,0 @@
1
- import{r as o,p as i,q as l,w as s,z as e,S as a}from"./vendor.f59145b7.js";const u=e("div",{class:"markdown-body"},[e("blockquote",null,[e("p",null,"The platform supports internationalization across the entire App. Many languages are currently supported, with more being added all the time. Anyone can add or refine any languages through the integration with CrowdIn.")]),e("h2",{id:"crowdin"},[a("Crowdin "),e("a",{class:"header-anchor",href:"#crowdin"},"#")]),e("p",null,[a("Our "),e("a",{href:"https://locales.directus.io/",target:"_blank",rel:"noopener noreferrer"},"Crowdin"),a(" page provides an external interface for managing all of the different language translations for the App. You can update and extend existing languages, or request a new language be added.")]),e("h2",{id:"working-with-existing-languages"},[a("Working with Existing Languages "),e("a",{class:"header-anchor",href:"#working-with-existing-languages"},"#")]),e("ol",null,[e("li",null,[a("Navigate to "),e("a",{href:"https://locales.directus.io/",target:"_blank",rel:"noopener noreferrer"},"Crowdin")]),e("li",null,"Click on the desired language"),e("li",null,[a("Click "),e("strong",null,"Translate All"),a(" in the header")]),e("li",null,"Log in to Crowdin, or register an account as needed"),e("li",null,"Select a source string using the left-hand navigation"),e("li",null,"Add or edit the translation in the lower text area"),e("li",null,"Click \u201CSAVE\u201D below the translation")]),e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Character Length"),e("p",null,"It is important to keep the character length approximately the same as the source string (English) to avoid truncation or a drastically different wrapping. For example, some text translations will go in a smaller button with limited space for text and no ability to wrap.")]),e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Suggestions"),e("p",null,"Crowdin provides useful TM and MT suggestions, however you should always confirm that these are context appropriate, as they may not accurately map to the source meaning.")]),e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Request Additional Context"),e("p",null,"If you feel you do not have enough information on how this string is used, you can always ask for additional context using the \u201CComment\u201D section.")]),e("h2",{id:"requesting-a-new-language"},[a("Requesting a New Language "),e("a",{class:"header-anchor",href:"#requesting-a-new-language"},"#")]),e("p",null,[a("To add a new language to the Crowdin service, you can make a request via Crowdin\u2019s "),e("strong",null,"Discussions"),a(" section, or reach out to a Core Team member via "),e("a",{href:"https://directus.chat",target:"_blank",rel:"noopener noreferrer"},"Discord"),a(".")])],-1),p={setup(d,{expose:n}){const t={title:"App Translations",modularExtension:!1};return n({frontmatter:t}),(c,h)=>{const r=o("DocsWrapper");return i(),l(r,{frontmatter:t},{default:s(()=>[u]),_:1})}}};export{p as default};
@@ -1 +0,0 @@
1
- import{bJ as p}from"./vendor.f59145b7.js";function l(r,i){return i.forEach(function(n){n&&typeof n!="string"&&!Array.isArray(n)&&Object.keys(n).forEach(function(f){if(f!=="default"&&!(f in r)){var c=Object.getOwnPropertyDescriptor(n,f);Object.defineProperty(r,f,c.get?c:{enumerable:!0,get:function(){return n[f]}})}})}),Object.freeze(r)}var h={exports:{}};(function(r,i){(function(n){n(p.exports)})(function(n){n.defineMode("troff",function(){var f={};function c(t){if(t.eatSpace())return null;var o=t.sol(),e=t.next();if(e==="\\")return t.match("fB")||t.match("fR")||t.match("fI")||t.match("u")||t.match("d")||t.match("%")||t.match("&")?"string":t.match("m[")?(t.skipTo("]"),t.next(),"string"):t.match("s+")||t.match("s-")?(t.eatWhile(/[\d-]/),"string"):((t.match("(")||t.match("*("))&&t.eatWhile(/[\w-]/),"string");if(o&&(e==="."||e==="'")&&t.eat("\\")&&t.eat('"'))return t.skipToEnd(),"comment";if(o&&e==="."){if(t.match("B ")||t.match("I ")||t.match("R "))return"attribute";if(t.match("TH ")||t.match("SH ")||t.match("SS ")||t.match("HP "))return t.skipToEnd(),"quote";if(t.match(/[A-Z]/)&&t.match(/[A-Z]/)||t.match(/[a-z]/)&&t.match(/[a-z]/))return"attribute"}t.eatWhile(/[\w-]/);var u=t.current();return f.hasOwnProperty(u)?f[u]:null}function a(t,o){return(o.tokens[0]||c)(t,o)}return{startState:function(){return{tokens:[]}},token:function(t,o){return a(t,o)}}}),n.defineMIME("text/troff","troff"),n.defineMIME("text/x-troff","troff"),n.defineMIME("application/x-troff","troff")})})();var d=h.exports,x=Object.freeze(l({__proto__:null,[Symbol.toStringTag]:"Module",default:d},[h.exports]));export{x as t};
@@ -1 +0,0 @@
1
- import{bJ as d}from"./vendor.f59145b7.js";function p(_,U){return U.forEach(function(i){i&&typeof i!="string"&&!Array.isArray(i)&&Object.keys(i).forEach(function(r){if(r!=="default"&&!(r in _)){var C=Object.getOwnPropertyDescriptor(i,r);Object.defineProperty(_,r,C.get?C:{enumerable:!0,get:function(){return i[r]}})}})}),Object.freeze(_)}var S={exports:{}};(function(_,U){(function(i){i(d.exports)})(function(i){i.defineMode("ttcn-cfg",function(C,o){var u=C.indentUnit,I=o.keywords||{},P=o.fileNCtrlMaskOptions||{},L=o.externalCommands||{},a=o.multiLineStrings,M=o.indentStatements!==!1,c=/[\|]/,E;function s(e,n){var t=e.next();if(t=='"'||t=="'")return n.tokenize=D(t),n.tokenize(e,n);if(/[:=]/.test(t))return E=t,"punctuation";if(t=="#")return e.skipToEnd(),"comment";if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(c.test(t))return e.eatWhile(c),"operator";if(t=="[")return e.eatWhile(/[\w_\]]/),"number sectionTitle";e.eatWhile(/[\w\$_]/);var T=e.current();return I.propertyIsEnumerable(T)?"keyword":P.propertyIsEnumerable(T)?"negative fileNCtrlMaskOptions":L.propertyIsEnumerable(T)?"negative externalCommands":"variable"}function D(e){return function(n,t){for(var T=!1,O,f=!1;(O=n.next())!=null;){if(O==e&&!T){var N=n.peek();N&&(N=N.toLowerCase(),(N=="b"||N=="h"||N=="o")&&n.next()),f=!0;break}T=!T&&O=="\\"}return(f||!(T||a))&&(t.tokenize=null),"string"}}function R(e,n,t,T,O){this.indented=e,this.column=n,this.type=t,this.align=T,this.prev=O}function A(e,n,t){var T=e.indented;return e.context&&e.context.type=="statement"&&(T=e.context.indented),e.context=new R(T,n,t,null,e.context)}function l(e){var n=e.context.type;return(n==")"||n=="]"||n=="}")&&(e.indented=e.context.indented),e.context=e.context.prev}return{startState:function(e){return{tokenize:null,context:new R((e||0)-u,0,"top",!1),indented:0,startOfLine:!0}},token:function(e,n){var t=n.context;if(e.sol()&&(t.align==null&&(t.align=!1),n.indented=e.indentation(),n.startOfLine=!0),e.eatSpace())return null;E=null;var T=(n.tokenize||s)(e,n);if(T=="comment")return T;if(t.align==null&&(t.align=!0),(E==";"||E==":"||E==",")&&t.type=="statement")l(n);else if(E=="{")A(n,e.column(),"}");else if(E=="[")A(n,e.column(),"]");else if(E=="(")A(n,e.column(),")");else if(E=="}"){for(;t.type=="statement";)t=l(n);for(t.type=="}"&&(t=l(n));t.type=="statement";)t=l(n)}else E==t.type?l(n):M&&((t.type=="}"||t.type=="top")&&E!=";"||t.type=="statement"&&E=="newstatement")&&A(n,e.column(),"statement");return n.startOfLine=!1,T},electricChars:"{}",lineComment:"#",fold:"brace"}});function r(C){for(var o={},u=C.split(" "),I=0;I<u.length;++I)o[u[I]]=!0;return o}i.defineMIME("text/x-ttcn-cfg",{name:"ttcn-cfg",keywords:r("Yes No LogFile FileMask ConsoleMask AppendFile TimeStampFormat LogEventTypes SourceInfoFormat LogEntityName LogSourceInfo DiskFullAction LogFileNumber LogFileSize MatchingHints Detailed Compact SubCategories Stack Single None Seconds DateTime Time Stop Error Retry Delete TCPPort KillTimer NumHCs UnixSocketsEnabled LocalAddress"),fileNCtrlMaskOptions:r("TTCN_EXECUTOR TTCN_ERROR TTCN_WARNING TTCN_PORTEVENT TTCN_TIMEROP TTCN_VERDICTOP TTCN_DEFAULTOP TTCN_TESTCASE TTCN_ACTION TTCN_USER TTCN_FUNCTION TTCN_STATISTICS TTCN_PARALLEL TTCN_MATCHING TTCN_DEBUG EXECUTOR ERROR WARNING PORTEVENT TIMEROP VERDICTOP DEFAULTOP TESTCASE ACTION USER FUNCTION STATISTICS PARALLEL MATCHING DEBUG LOG_ALL LOG_NOTHING ACTION_UNQUALIFIED DEBUG_ENCDEC DEBUG_TESTPORT DEBUG_UNQUALIFIED DEFAULTOP_ACTIVATE DEFAULTOP_DEACTIVATE DEFAULTOP_EXIT DEFAULTOP_UNQUALIFIED ERROR_UNQUALIFIED EXECUTOR_COMPONENT EXECUTOR_CONFIGDATA EXECUTOR_EXTCOMMAND EXECUTOR_LOGOPTIONS EXECUTOR_RUNTIME EXECUTOR_UNQUALIFIED FUNCTION_RND FUNCTION_UNQUALIFIED MATCHING_DONE MATCHING_MCSUCCESS MATCHING_MCUNSUCC MATCHING_MMSUCCESS MATCHING_MMUNSUCC MATCHING_PCSUCCESS MATCHING_PCUNSUCC MATCHING_PMSUCCESS MATCHING_PMUNSUCC MATCHING_PROBLEM MATCHING_TIMEOUT MATCHING_UNQUALIFIED PARALLEL_PORTCONN PARALLEL_PORTMAP PARALLEL_PTC PARALLEL_UNQUALIFIED PORTEVENT_DUALRECV PORTEVENT_DUALSEND PORTEVENT_MCRECV PORTEVENT_MCSEND PORTEVENT_MMRECV PORTEVENT_MMSEND PORTEVENT_MQUEUE PORTEVENT_PCIN PORTEVENT_PCOUT PORTEVENT_PMIN PORTEVENT_PMOUT PORTEVENT_PQUEUE PORTEVENT_STATE PORTEVENT_UNQUALIFIED STATISTICS_UNQUALIFIED STATISTICS_VERDICT TESTCASE_FINISH TESTCASE_START TESTCASE_UNQUALIFIED TIMEROP_GUARD TIMEROP_READ TIMEROP_START TIMEROP_STOP TIMEROP_TIMEOUT TIMEROP_UNQUALIFIED USER_UNQUALIFIED VERDICTOP_FINAL VERDICTOP_GETVERDICT VERDICTOP_SETVERDICT VERDICTOP_UNQUALIFIED WARNING_UNQUALIFIED"),externalCommands:r("BeginControlPart EndControlPart BeginTestCase EndTestCase"),multiLineStrings:!0})})})();var m=S.exports,g=Object.freeze(p({__proto__:null,[Symbol.toStringTag]:"Module",default:m},[S.exports]));export{g as t};
@@ -1 +0,0 @@
1
- import{bJ as B}from"./vendor.f59145b7.js";function D(y,O){return O.forEach(function(c){c&&typeof c!="string"&&!Array.isArray(c)&&Object.keys(c).forEach(function(o){if(o!=="default"&&!(o in y)){var m=Object.getOwnPropertyDescriptor(c,o);Object.defineProperty(y,o,m.get?m:{enumerable:!0,get:function(){return c[o]}})}})}),Object.freeze(y)}var I={exports:{}};(function(y,O){(function(c){c(B.exports)})(function(c){c.defineMode("ttcn",function(u,i){var p=u.indentUnit,s=i.keywords||{},f=i.builtin||{},d=i.timerOps||{},v=i.portOps||{},z=i.configOps||{},M=i.verdictOps||{},S=i.sutOps||{},L=i.functionOps||{},j=i.verdictConsts||{},_=i.booleanConsts||{},C=i.otherConsts||{},W=i.types||{},P=i.visibilityModifiers||{},T=i.templateMatch||{},U=i.multiLineStrings,$=i.indentStatements!==!1,g=/[+\-*&@=<>!\/]/,l;function A(t,n){var e=t.next();if(e=='"'||e=="'")return n.tokenize=N(e),n.tokenize(t,n);if(/[\[\]{}\(\),;\\:\?\.]/.test(e))return l=e,"punctuation";if(e=="#")return t.skipToEnd(),"atom preprocessor";if(e=="%")return t.eatWhile(/\b/),"atom ttcn3Macros";if(/\d/.test(e))return t.eatWhile(/[\w\.]/),"number";if(e=="/"){if(t.eat("*"))return n.tokenize=k,k(t,n);if(t.eat("/"))return t.skipToEnd(),"comment"}if(g.test(e))return e=="@"&&(t.match("try")||t.match("catch")||t.match("lazy"))?"keyword":(t.eatWhile(g),"operator");t.eatWhile(/[\w\$_\xa1-\uffff]/);var r=t.current();return s.propertyIsEnumerable(r)?"keyword":f.propertyIsEnumerable(r)?"builtin":d.propertyIsEnumerable(r)?"def timerOps":z.propertyIsEnumerable(r)?"def configOps":M.propertyIsEnumerable(r)?"def verdictOps":v.propertyIsEnumerable(r)?"def portOps":S.propertyIsEnumerable(r)?"def sutOps":L.propertyIsEnumerable(r)?"def functionOps":j.propertyIsEnumerable(r)?"string verdictConsts":_.propertyIsEnumerable(r)?"string booleanConsts":C.propertyIsEnumerable(r)?"string otherConsts":W.propertyIsEnumerable(r)?"builtin types":P.propertyIsEnumerable(r)?"builtin visibilityModifiers":T.propertyIsEnumerable(r)?"atom templateMatch":"variable"}function N(t){return function(n,e){for(var r=!1,h,E=!1;(h=n.next())!=null;){if(h==t&&!r){var a=n.peek();a&&(a=a.toLowerCase(),(a=="b"||a=="h"||a=="o")&&n.next()),E=!0;break}r=!r&&h=="\\"}return(E||!(r||U))&&(e.tokenize=null),"string"}}function k(t,n){for(var e=!1,r;r=t.next();){if(r=="/"&&e){n.tokenize=null;break}e=r=="*"}return"comment"}function w(t,n,e,r,h){this.indented=t,this.column=n,this.type=e,this.align=r,this.prev=h}function x(t,n,e){var r=t.indented;return t.context&&t.context.type=="statement"&&(r=t.context.indented),t.context=new w(r,n,e,null,t.context)}function b(t){var n=t.context.type;return(n==")"||n=="]"||n=="}")&&(t.indented=t.context.indented),t.context=t.context.prev}return{startState:function(t){return{tokenize:null,context:new w((t||0)-p,0,"top",!1),indented:0,startOfLine:!0}},token:function(t,n){var e=n.context;if(t.sol()&&(e.align==null&&(e.align=!1),n.indented=t.indentation(),n.startOfLine=!0),t.eatSpace())return null;l=null;var r=(n.tokenize||A)(t,n);if(r=="comment")return r;if(e.align==null&&(e.align=!0),(l==";"||l==":"||l==",")&&e.type=="statement")b(n);else if(l=="{")x(n,t.column(),"}");else if(l=="[")x(n,t.column(),"]");else if(l=="(")x(n,t.column(),")");else if(l=="}"){for(;e.type=="statement";)e=b(n);for(e.type=="}"&&(e=b(n));e.type=="statement";)e=b(n)}else l==e.type?b(n):$&&((e.type=="}"||e.type=="top")&&l!=";"||e.type=="statement"&&l=="newstatement")&&x(n,t.column(),"statement");return n.startOfLine=!1,r},electricChars:"{}",blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//",fold:"brace"}});function o(u){for(var i={},p=u.split(" "),s=0;s<p.length;++s)i[p[s]]=!0;return i}function m(u,i){typeof u=="string"&&(u=[u]);var p=[];function s(d){if(d)for(var v in d)d.hasOwnProperty(v)&&p.push(v)}s(i.keywords),s(i.builtin),s(i.timerOps),s(i.portOps),p.length&&(i.helperType=u[0],c.registerHelper("hintWords",u[0],p));for(var f=0;f<u.length;++f)c.defineMIME(u[f],i)}m(["text/x-ttcn","text/x-ttcn3","text/x-ttcnpp"],{name:"ttcn",keywords:o("activate address alive all alt altstep and and4b any break case component const continue control deactivate display do else encode enumerated except exception execute extends extension external for from function goto group if import in infinity inout interleave label language length log match message mixed mod modifies module modulepar mtc noblock not not4b nowait of on optional or or4b out override param pattern port procedure record recursive rem repeat return runs select self sender set signature system template testcase to type union value valueof var variant while with xor xor4b"),builtin:o("bit2hex bit2int bit2oct bit2str char2int char2oct encvalue decomp decvalue float2int float2str hex2bit hex2int hex2oct hex2str int2bit int2char int2float int2hex int2oct int2str int2unichar isbound ischosen ispresent isvalue lengthof log2str oct2bit oct2char oct2hex oct2int oct2str regexp replace rnd sizeof str2bit str2float str2hex str2int str2oct substr unichar2int unichar2char enum2int"),types:o("anytype bitstring boolean char charstring default float hexstring integer objid octetstring universal verdicttype timer"),timerOps:o("read running start stop timeout"),portOps:o("call catch check clear getcall getreply halt raise receive reply send trigger"),configOps:o("create connect disconnect done kill killed map unmap"),verdictOps:o("getverdict setverdict"),sutOps:o("action"),functionOps:o("apply derefers refers"),verdictConsts:o("error fail inconc none pass"),booleanConsts:o("true false"),otherConsts:o("null NULL omit"),visibilityModifiers:o("private public friend"),templateMatch:o("complement ifpresent subset superset permutation"),multiLineStrings:!0})})})();var H=I.exports,q=Object.freeze(D({__proto__:null,[Symbol.toStringTag]:"Module",default:H},[I.exports]));export{q as t};
@@ -1 +0,0 @@
1
- import{bJ as w}from"./vendor.f59145b7.js";function k(u,d){return d.forEach(function(o){o&&typeof o!="string"&&!Array.isArray(o)&&Object.keys(o).forEach(function(c){if(c!=="default"&&!(c in u)){var f=Object.getOwnPropertyDescriptor(o,c);Object.defineProperty(u,c,f.get?f:{enumerable:!0,get:function(){return o[c]}})}})}),Object.freeze(u)}var g={exports:{}};(function(u,d){(function(o){o(w.exports)})(function(o){o.defineMode("turtle",function(c){var f=c.indentUnit,i;function a(n){return new RegExp("^(?:"+n.join("|")+")$","i")}a([]);var h=a(["@prefix","@base","a"]),v=/[*+\-<>=&|]/;function y(n,e){var t=n.next();if(i=null,t=="<"&&!n.match(/^[\s\u00a0=]/,!1))return n.match(/^[^\s\u00a0>]*>?/),"atom";if(t=='"'||t=="'")return e.tokenize=b(t),e.tokenize(n,e);if(/[{}\(\),\.;\[\]]/.test(t))return i=t,null;if(t=="#")return n.skipToEnd(),"comment";if(v.test(t))return n.eatWhile(v),null;if(t==":")return"operator";if(n.eatWhile(/[_\w\d]/),n.peek()==":")return"variable-3";var r=n.current();return h.test(r)?"meta":t>="A"&&t<="Z"?"comment":"keyword";var r=n.current()}function b(n){return function(e,t){for(var r=!1,l;(l=e.next())!=null;){if(l==n&&!r){t.tokenize=y;break}r=!r&&l=="\\"}return"string"}}function p(n,e,t){n.context={prev:n.context,indent:n.indent,col:t,type:e}}function x(n){n.indent=n.context.indent,n.context=n.context.prev}return{startState:function(){return{tokenize:y,context:null,indent:0,col:0}},token:function(n,e){if(n.sol()&&(e.context&&e.context.align==null&&(e.context.align=!1),e.indent=n.indentation()),n.eatSpace())return null;var t=e.tokenize(n,e);if(t!="comment"&&e.context&&e.context.align==null&&e.context.type!="pattern"&&(e.context.align=!0),i=="(")p(e,")",n.column());else if(i=="[")p(e,"]",n.column());else if(i=="{")p(e,"}",n.column());else if(/[\]\}\)]/.test(i)){for(;e.context&&e.context.type=="pattern";)x(e);e.context&&i==e.context.type&&x(e)}else i=="."&&e.context&&e.context.type=="pattern"?x(e):/atom|string|variable/.test(t)&&e.context&&(/[\}\]]/.test(e.context.type)?p(e,"pattern",n.column()):e.context.type=="pattern"&&!e.context.align&&(e.context.align=!0,e.context.col=n.column()));return t},indent:function(n,e){var t=e&&e.charAt(0),r=n.context;if(/[\]\}]/.test(t))for(;r&&r.type=="pattern";)r=r.prev;var l=r&&t==r.type;return r?r.type=="pattern"?r.col:r.align?r.col+(l?0:1):r.indent+(l?0:f):0},lineComment:"#"}}),o.defineMIME("text/turtle","turtle")})})();var m=g.exports,z=Object.freeze(k({__proto__:null,[Symbol.toStringTag]:"Module",default:m},[g.exports]));export{z as t};
@@ -1 +0,0 @@
1
- import{bJ as p}from"./vendor.f59145b7.js";import{m as s}from"./multiplex.07740103.js";function b(u,a){return a.forEach(function(i){i&&typeof i!="string"&&!Array.isArray(i)&&Object.keys(i).forEach(function(t){if(t!=="default"&&!(t in u)){var r=Object.getOwnPropertyDescriptor(i,t);Object.defineProperty(u,t,r.get?r:{enumerable:!0,get:function(){return i[t]}})}})}),Object.freeze(u)}var d={exports:{}};(function(u,a){(function(i){i(p.exports,s.exports)})(function(i){i.defineMode("twig:inner",function(){var t=["and","as","autoescape","endautoescape","block","do","endblock","else","elseif","extends","for","endfor","embed","endembed","filter","endfilter","flush","from","if","endif","in","is","include","import","not","or","set","spaceless","endspaceless","with","endwith","trans","endtrans","blocktrans","endblocktrans","macro","endmacro","use","verbatim","endverbatim"],r=/^[+\-*&%=<>!?|~^]/,l=/^[:\[\(\{]/,f=["true","false","null","empty","defined","divisibleby","divisible by","even","odd","iterable","sameas","same as"],c=/^(\d[+\-\*\/])?\d+(\.\d+)?/;t=new RegExp("(("+t.join(")|(")+"))\\b"),f=new RegExp("(("+f.join(")|(")+"))\\b");function g(e,n){var o=e.peek();if(n.incomment)return e.skipTo("#}")?(e.eatWhile(/\#|}/),n.incomment=!1):e.skipToEnd(),"comment";if(n.intag){if(n.operator){if(n.operator=!1,e.match(f))return"atom";if(e.match(c))return"number"}if(n.sign){if(n.sign=!1,e.match(f))return"atom";if(e.match(c))return"number"}if(n.instring)return o==n.instring&&(n.instring=!1),e.next(),"string";if(o=="'"||o=='"')return n.instring=o,e.next(),"string";if(e.match(n.intag+"}")||e.eat("-")&&e.match(n.intag+"}"))return n.intag=!1,"tag";if(e.match(r))return n.operator=!0,"operator";if(e.match(l))n.sign=!0;else if(e.eat(" ")||e.sol()){if(e.match(t))return"keyword";if(e.match(f))return"atom";if(e.match(c))return"number";e.sol()&&e.next()}else e.next();return"variable"}else if(e.eat("{")){if(e.eat("#"))return n.incomment=!0,e.skipTo("#}")?(e.eatWhile(/\#|}/),n.incomment=!1):e.skipToEnd(),"comment";if(o=e.eat(/\{|%/))return n.intag=o,o=="{"&&(n.intag="}"),e.eat("-"),"tag"}e.next()}return{startState:function(){return{}},token:function(e,n){return g(e,n)}}}),i.defineMode("twig",function(t,r){var l=i.getMode(t,"twig:inner");return!r||!r.base?l:i.multiplexingMode(i.getMode(t,r.base),{open:/\{[{#%]/,close:/[}#%]\}/,mode:l,parseDelimiters:!0})}),i.defineMIME("text/x-twig","twig")})})();var m=d.exports,w=Object.freeze(b({__proto__:null,[Symbol.toStringTag]:"Module",default:m},[d.exports]));export{w as t};
@@ -1,11 +0,0 @@
1
- import{r,p as s,q as c,w as l,z as t,S as e}from"./vendor.f59145b7.js";const p=t("div",{class:"markdown-body"},[t("p",null,[e("DigitalOcean provides a great tutorial on how to run a Node.js based app in production. See "),t("a",{href:"https://www.digitalocean.com/community/tutorials/how-to-set-up-a-node-js-application-for-production-on-ubuntu-20-04",target:"_blank",rel:"noopener noreferrer"},"How To Set Up a Node.js Application for Production on Ubuntu 20.04"),e(".")]),t("p",null,[e("Instead of starting the app using "),t("code",null,"pm2 start hello.js"),e(", add the line "),t("code",null,'"start": "directus start"'),e(" in the \u201Cscripts\u201D part of the "),t("em",null,"package.json"),e(" and start Directus using the command "),t("code",null,"pm2 start npm -- start")]),t("p",null,[t("em",null,"Example:")]),t("pre",null,[t("code",{class:"language-json"},`{
2
- "name": "directus",
3
- "version": "1.0.0",
4
- "main": "index.js",
5
- "scripts": {
6
- "test": "echo \\"Error: no test specified\\" && exit 1",
7
- "start": "directus start"
8
- },
9
- ...
10
- }
11
- `)])],-1),f={setup(i,{expose:o}){const n={title:"Ubuntu",modularExtension:!1};return o({frontmatter:n}),(u,d)=>{const a=r("DocsWrapper");return s(),c(a,{frontmatter:n},{default:l(()=>[p]),_:1})}}};export{f as default};
@@ -1 +0,0 @@
1
- function n(r,o){return o.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(t){if(t!=="default"&&!(t in r)){var a=Object.getOwnPropertyDescriptor(e,t);Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:function(){return e[t]}})}})}),Object.freeze(r)}var u={};Object.defineProperty(u,"__esModule",{value:!0});var f={code:"ug",buttonText:{month:"\u0626\u0627\u064A",week:"\u06BE\u06D5\u067E\u062A\u06D5",day:"\u0643\u06C8\u0646",list:"\u0643\u06C8\u0646\u062A\u06D5\u0631\u062A\u0649\u067E"},allDayText:"\u067E\u06C8\u062A\u06C8\u0646 \u0643\u06C8\u0646"},c=u.default=f,l=Object.freeze(n({__proto__:null,[Symbol.toStringTag]:"Module",default:c},[u]));export{l as u};
@@ -1 +0,0 @@
1
- function a(t,u){return u.forEach(function(e){e&&typeof e!="string"&&!Array.isArray(e)&&Object.keys(e).forEach(function(r){if(r!=="default"&&!(r in t)){var n=Object.getOwnPropertyDescriptor(e,r);Object.defineProperty(t,r,n.get?n:{enumerable:!0,get:function(){return e[r]}})}})}),Object.freeze(t)}var o={};Object.defineProperty(o,"__esModule",{value:!0});var f={code:"uk",week:{dow:1,doy:7},buttonText:{prev:"\u041F\u043E\u043F\u0435\u0440\u0435\u0434\u043D\u0456\u0439",next:"\u0434\u0430\u043B\u0456",today:"\u0421\u044C\u043E\u0433\u043E\u0434\u043D\u0456",month:"\u041C\u0456\u0441\u044F\u0446\u044C",week:"\u0422\u0438\u0436\u0434\u0435\u043D\u044C",day:"\u0414\u0435\u043D\u044C",list:"\u041F\u043E\u0440\u044F\u0434\u043E\u043A \u0434\u0435\u043D\u043D\u0438\u0439"},weekText:"\u0422\u0438\u0436",allDayText:"\u0423\u0432\u0435\u0441\u044C \u0434\u0435\u043D\u044C",moreLinkText:function(t){return"+\u0449\u0435 "+t+"..."},noEventsText:"\u041D\u0435\u043C\u0430\u0454 \u043F\u043E\u0434\u0456\u0439 \u0434\u043B\u044F \u0432\u0456\u0434\u043E\u0431\u0440\u0430\u0436\u0435\u043D\u043D\u044F"},c=o.default=f,i=Object.freeze(a({__proto__:null,[Symbol.toStringTag]:"Module",default:c},[o]));export{i as u};
@@ -1 +0,0 @@
1
- import{r as s,p as c,q as u,w as o,z as e,t as r,S as t}from"./vendor.f59145b7.js";const d={class:"markdown-body"},h=t("A Project is a complete instance of Directus, including its "),p=e("strong",null,"Database",-1),g=t(", config file, asset storage, and any custom extensions. "),m=t("Learn more about Projects"),_=t("."),f=e("h2",{id:"upgrading-%2F-updating-a-project"},[t("Upgrading / Updating a Project "),e("a",{class:"header-anchor",href:"#upgrading-%2F-updating-a-project"},"#")],-1),y=e("ol",null,[e("li",null,"Backup your project"),e("li",null,[t("Run "),e("code",null,"npm update")]),e("li",null,[t("Run "),e("code",null,"npx directus database migrate:latest"),t(" to update the DB")])],-1),b=e("h2",{id:"backing-up-a-project"},[t("Backing-up a Project "),e("a",{class:"header-anchor",href:"#backing-up-a-project"},"#")],-1),v=e("ol",null,[e("li",null,[t("Make a copy of the "),e("strong",null,"files within each storage adapter"),t(", and store them in a safe place")]),e("li",null,[t("Make a copy of the "),e("strong",null,"Env file"),t(" ("),e("code",null,"/api/.env"),t("), and store it in a safe place")]),e("li",null,"Create a database dump")],-1),w=e("h2",{id:"migrating-a-project"},[t("Migrating a Project "),e("a",{class:"header-anchor",href:"#migrating-a-project"},"#")],-1),k=e("p",null,"Directus doesn\u2019t rely on anything besides the database for it\u2019s operation. Therefore, migrating your Directus project can be done by moving the whole database to a new location using a database dump.",-1),j=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"File Storage"),e("p",null,"If you have files uploaded, make sure to copy those over as well, or use the same storage location in the new location of Directus.")],-1),D=e("h2",{id:"downgrading-a-project"},[t("Downgrading a Project "),e("a",{class:"header-anchor",href:"#downgrading-a-project"},"#")],-1),x=e("p",null,[t("Directus can be reverted to an earlier version by going to your terminal, navigating into your project folder and running "),e("code",null,"npm install directus@<version>"),t(".")],-1),B=e("p",null,[t("If you ran any database migrations for a newer version, you can revert those by running "),e("code",null,"npx directus database migrate:down")],-1),P=e("h2",{id:"deleting-a-project"},[t("Deleting a Project "),e("a",{class:"header-anchor",href:"#deleting-a-project"},"#")],-1),I=e("ol",null,[e("li",null,[t("Optional: "),e("strong",null,"Backup any local files"),t(" stored within the project\u2019s root directory")]),e("li",null,[t("Optional: "),e("strong",null,"Backup any custom code and extensions"),t(" within the project\u2019s root directory")]),e("li",null,[t("Optional: "),e("strong",null,"Backup your entire database"),t(", only system tables, or only project tables")]),e("li",null,[e("strong",null,"Delete the project\u2019s root directory"),t(" from the server")]),e("li",null,[e("strong",null,"Delete all Directus system tables"),t(" ("),e("code",null,"directus_*"),t(") from the database")])],-1),S=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Pure SQL"),e("p",null,"After completing this process, you will be left with a pure SQL database, with no trace that Directus was ever installed. Any external services connecting to your database\u2019s project tables directly (eg: SQL queries) should continue working normally.")],-1),T=e("h2",{id:"migrating-from-v8"},[t("Migrating from v8 "),e("a",{class:"header-anchor",href:"#migrating-from-v8"},"#")],-1),A=e("p",null,"There are two ways to migrate from an existing Directus 8.X instance:",-1),F=e("ul",null,[e("li",null,[e("a",{href:"#automated-script"},"Automated Script"),t(" (recommended)")]),e("li",null,[e("a",{href:"#manual-database-export-import"},"Manual Database Export/Import")])],-1),M=e("p",null,[t("Be sure to check the "),e("a",{href:"#breaking-changes"},"Breaking changes"),t(" if you are consuming the API from an application.")],-1),U=e("h2",{id:"automated-script"},[t("Automated Script "),e("a",{class:"header-anchor",href:"#automated-script"},"#")],-1),q=e("p",null,"We created a (community maintained) script, that will automatically copy over the schema, content, files, users, and roles from an existing v8 instance to a new v9 instance. This is the most hands-off approach to moving from a v8 to a v9 instance, and is the recommended way of migrating your v8 instance.",-1),N=e("div",{class:"tip hint"},[e("p",null,[t("The script, and instructions on how to run it, can be found on the"),e("br"),e("a",{href:"https://github.com/directus-community/migration-tool",target:"_blank",rel:"noopener noreferrer"},[e("code",null,"directus-community/migration-tool")]),t(" repo.")])],-1),O=e("p",null,"This tool will copy over:",-1),C=e("ul",null,[e("li",null,"Schema (collections / fields)"),e("li",null,"Files (including file contents)"),e("li",null,"User data (eg all items in all collections)"),e("li",null,"Roles"),e("li",null,"Users")],-1),E=e("p",null,[t("Due to significant differences in data structure between versions, this tool will "),e("strong",null,"NOT"),t(" copy over:")],-1),L=e("ul",null,[e("li",null,"Interface/display configurations"),e("li",null,"Permissions"),e("li",null,"Activity / revisions")],-1),W=e("h2",{id:"manual-database-export%2Fimport"},[t("Manual Database Export/Import "),e("a",{class:"header-anchor",href:"#manual-database-export%2Fimport"},"#")],-1),Q=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Automated"),e("p",null,"We highly recommend using the automated migration tool mentioned above. If that\u2019s not possible, you can perform the following steps to migrate your v8 instance.")],-1),R=e("p",null,"Directus v9 is a breaking change coming from v8 (hence the major version bump), so you won\u2019t be able to just use your existing v8 database and run v9 on top of it. However, due to the database-mirroring approach of Directus, it\u2019s fairly straightforward to migrate your content from v8 to v9.",-1),V=e("h4",{id:"1)-setup-a-fresh-v9-instance"},[t("1) Setup a Fresh v9 Instance "),e("a",{class:"header-anchor",href:"#1)-setup-a-fresh-v9-instance"},"#")],-1),z=e("p",null,"By installing Directus \u201Cfresh\u201D, you\u2019re ensured your system tables are up-to-date and ready to go.",-1),H=e("h4",{id:"2)-migrate-your-data"},[t("2) Migrate your Data "),e("a",{class:"header-anchor",href:"#2)-migrate-your-data"},"#")],-1),X=e("p",null,[t("Using a tool like "),e("a",{href:"http://sequelpro.com",target:"_blank",rel:"noopener noreferrer"},"Sequel Pro"),t(" or "),e("a",{href:"https://tableplus.com",target:"_blank",rel:"noopener noreferrer"},"TablePlus"),t(", export your v8 user-tables and import them into your v9 database.")],-1),G=e("p",null,"Directus v9 will automatically recognize your tables, and you\u2019ll be ready to get started in v9.",-1),J=e("p",null,[e("strong",null,"Note:"),t(" If you have references to users and files, make sure to update them to the new UUID format.")],-1),K=e("h4",{id:"3)-configure-directus"},[t("3) Configure Directus "),e("a",{class:"header-anchor",href:"#3)-configure-directus"},"#")],-1),Y=e("p",null,"Once the tables are in, you can start configuring the details of the schema. This includes choosing the correct interfaces, displays, and their options for your fields.",-1),Z=e("p",null,"This would also be a good time to reconfigure your permissions, to ensure they are accurate.",-1),$=e("h2",{id:"breaking-changes"},[t("Breaking changes "),e("a",{class:"header-anchor",href:"#breaking-changes"},"#")],-1),ee=t("Filter operators"),te=t(" have changed, now they are preceded with an underscore eg: "),oe=e("code",null,"/items/users?filter[comments.thread.title][like]=Directus",-1),ne=t(" is now "),ae=e("code",null,"/items/users?filter[comments][thread][title][_like]=Directus",-1),ce={setup(se,{expose:i}){const n={title:"Upgrades & Migrations",modularExtension:!1};return i({frontmatter:n}),(re,ie)=>{const a=s("router-link"),l=s("DocsWrapper");return c(),u(l,{frontmatter:n},{default:o(()=>[e("div",d,[e("blockquote",null,[e("p",null,[h,p,g,r(a,{to:"/docs/getting-started/glossary/#projects"},{default:o(()=>[m]),_:1}),_])]),f,y,b,v,w,k,j,D,x,B,P,I,S,T,A,F,M,U,q,N,O,C,E,L,W,Q,R,V,z,H,X,G,J,K,Y,Z,$,e("ul",null,[e("li",null,[r(a,{to:"/docs/configuration/filter-rules/"},{default:o(()=>[ee]),_:1}),te,oe,ne,ae])])])]),_:1})}}};export{ce as default};
@@ -1 +0,0 @@
1
- var G=Object.defineProperty,K=Object.defineProperties;var V=Object.getOwnPropertyDescriptors;var N=Object.getOwnPropertySymbols;var Y=Object.prototype.hasOwnProperty,Z=Object.prototype.propertyIsEnumerable;var R=(e,t,n)=>t in e?G(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,A=(e,t)=>{for(var n in t||(t={}))Y.call(t,n)&&R(e,n,t[n]);if(N)for(var n of N(t))Z.call(t,n)&&R(e,n,t[n]);return e},M=(e,t)=>K(e,V(t));import{H as P,v as F,o as c,l as I,y as ee,ah as y,ad as q,n as te,ao as ne,a1 as le}from"./vendor.f59145b7.js";function ge(e){return e}function Se(e){return e}function be(e){return e}function we(e){return e}function Fe(e){return e}function Ee(e){return e}function Te(e){return e}function $e(e){if(e===null)return[];const t=/{{(.*?)}}/g;let n=e.match(t);return Array.isArray(n)?(n=n.map(i=>i.replace(/{{/g,"").replace(/}}/g,"").trim()),n):[]}function Ce(e){var t,n,i;const{relation:l,collection:a,field:r}=e;return l?l.collection===a&&l.field===r&&((t=l.meta)===null||t===void 0?void 0:t.one_collection_field)&&((n=l.meta)===null||n===void 0?void 0:n.one_allowed_collections)?"m2a":l.collection===a&&l.field===r?"m2o":l.related_collection===a&&((i=l.meta)===null||i===void 0?void 0:i.one_field)===r?"o2m":null:null}const ue="stores",oe="api",ie="extensions";function ae(e,t,n){const i=e[t],l=e.length,a=t-n;if(i===void 0)return e;if(a>0)return[...e.slice(0,n),i,...e.slice(n,t),...e.slice(t+1,l)];if(a<0){const r=n+1;return[...e.slice(0,t),...e.slice(t+1,r),i,...e.slice(r,l)]}return e}function re(){const e=P(ue);if(!e)throw new Error("[useStores]: The stores could not be found.");return e}function se(){const e=P(oe);if(!e)throw new Error("[useApi]: The api could not be found.");return e}function ce(){const e=P(ie);if(!e)throw new Error("[useExtensions]: The extensions could not be found.");return e}function de(e){const{useCollectionsStore:t,useFieldsStore:n}=re(),i=t(),l=n(),a=typeof e=="string"?F(e):e,r=c(()=>i.collections.find(({collection:u})=>u===a.value)||null),h=c(()=>a.value?l.getFieldsForCollection(a.value):[]),T=c(()=>{var u;if(!h.value)return{};const o={};for(const p of h.value)((u=p.schema)===null||u===void 0?void 0:u.default_value)&&(o[p.field]=p.schema.default_value);return o}),$=c(()=>h.value.find(u=>{var o;return u.collection===a.value&&((o=u.schema)===null||o===void 0?void 0:o.is_primary_key)===!0})||null),m=c(()=>{var u;return((u=h.value)===null||u===void 0?void 0:u.find(o=>{var p;return(((p=o.meta)===null||p===void 0?void 0:p.special)||[]).includes("user_created")}))||null}),C=c(()=>{var u,o;return((o=(u=r.value)===null||u===void 0?void 0:u.meta)===null||o===void 0?void 0:o.sort_field)||null}),_=c(()=>{var u,o;return((o=(u=r.value)===null||u===void 0?void 0:u.meta)===null||o===void 0?void 0:o.singleton)===!0}),E=c(()=>!r.value||!r.value.meta?null:r.value.meta.accountability);return{info:r,fields:h,defaults:T,primaryKeyField:$,userCreatedField:m,sortField:C,isSingleton:_,accountabilityScope:E}}function Oe(e,t,n=!0){const i=se(),{primaryKeyField:l}=de(e),{fields:a,limit:r,sort:h,search:T,filter:$,page:m}=t,C=c(()=>e.value?e.value.startsWith("directus_")?`/${e.value.substring(9)}`:`/items/${e.value}`:null),_=F([]),E=F(!1),u=F(null),o=F(null),p=F(null),J=c(()=>{var d,f;return o.value===null||o.value<((d=y(r))!==null&&d!==void 0?d:100)?1:Math.ceil(o.value/((f=y(r))!==null&&f!==void 0?f:100))});let S=null,b=null;const W=I.exports.throttle(x,500);return n&&W(),ee([e,r,h,T,$,a,m],async(d,f)=>{if(I.exports.isEqual(d,f))return;const[v,s,g,w,j,O,pe]=d,[L,Q,X,D,z,me,_e]=f;!v||!t||((!I.exports.isEqual(j,z)||!I.exports.isEqual(g,X)||s!==Q||w!==D)&&L&&(m.value=1),v!==L&&U(),W())},{deep:!0,immediate:!0}),{itemCount:o,totalCount:p,items:_,totalPages:J,loading:E,error:u,changeManualSort:H,getItems:x};async function x(){var d,f;if(!C.value)return;S==null||S.cancel(),S=null,u.value=null,b&&clearTimeout(b),b=setTimeout(()=>{E.value=!0},150);let v=[...(d=y(a))!==null&&d!==void 0?d:[]];!((f=y(a))===null||f===void 0?void 0:f.includes("*"))&&l.value&&v.includes(l.value.field)===!1&&v.push(l.value.field),v=v.filter(s=>s.startsWith("$")===!1);try{S=q.CancelToken.source();const s=await i.get(C.value,{params:{limit:y(r),fields:v,sort:y(h),page:y(m),search:y(T),filter:y($),meta:["filter_count","total_count"]},cancelToken:S.token});let g=s.data.data;e.value==="directus_files"&&(g=g.map(w=>M(A({},w),{$thumbnail:w}))),_.value=g,p.value=s.data.meta.total_count,o.value=s.data.meta.filter_count,m&&g.length===0&&(m==null?void 0:m.value)!==1&&(m.value=1)}catch(s){q.isCancel(s)||(u.value=s)}finally{b&&(clearTimeout(b),b=null),E.value=!1}}function U(){_.value=[],p.value=null,o.value=null}async function H({item:d,to:f}){var v;const s=(v=l.value)===null||v===void 0?void 0:v.field;if(!s)return;const g=_.value.findIndex(O=>O[s]===d),w=_.value.findIndex(O=>O[s]===f);_.value=ae(_.value,g,w);const j=c(()=>`/utils/sort/${e.value}`);await i.post(j.value,{item:d,to:f})}}const k="wrapper",B=["selection","layoutOptions","layoutQuery"];function fe(e){return B.includes(e)}function ve(e){return te({name:`${e.id}-${k}`,props:{collection:{type:String,required:!0},selection:{type:Array,default:()=>[]},layoutOptions:{type:Object,default:()=>({})},layoutQuery:{type:Object,default:()=>({})},filter:{type:Object,default:null},filterUser:{type:Object,default:null},filterSystem:{type:Object,default:null},search:{type:String,default:null},showSelect:{type:String,default:"multiple"},selectMode:{type:Boolean,default:!1},readonly:{type:Boolean,default:!1},resetPreset:{type:Function,default:null},clearFilters:{type:Function,default:null}},emits:B.map(t=>`update:${t}`),setup(t,{emit:n}){const i=ne(A(A({},e.setup(t,{emit:n})),le(t)));for(const l in i)i[`onUpdate:${l}`]=a=>{fe(l)?n(`update:${l}`,a):Object.keys(t).includes(l)||(i[l]=a)};return{state:i}},render(t){return t.$slots.default!==void 0?t.$slots.default({layoutState:t.state}):null}})}function Ae(e){const{layouts:t}=ce(),n=c(()=>t.value.map(l=>ve(l)));return{layoutWrapper:c(()=>{const l=n.value.find(a=>a.name===`${e.value}-${k}`);return l===void 0?n.value.find(a=>a.name===`tabular-${k}`):l})}}function Ie(e,t,n){return c({get(){return e[t]},set(i){n(`update:${t}`,i)}})}export{oe as A,ie as E,ue as S,Ae as a,de as b,Ce as c,we as d,Te as e,Se as f,$e as g,ge as h,be as i,Oe as j,Fe as k,Ee as l,re as m,se as n,ce as o,Ie as u};
@@ -1 +0,0 @@
1
- import{r as l,p as c,q as u,w as t,z as e,t as n,S as s}from"./vendor.f59145b7.js";var h="assets/user-directory-overview.69a80519.png",d="assets/user-overview.5cc16f64.png";const g={class:"markdown-body"},p=s("Users"),_=s(" are the individual accounts for logging in to the App. Each user belongs to a "),f=s("Role"),m=s(" which defines its "),v=s("Permissions"),w=s(". The User Directory shows all users within the project, each with their own customizable profile page."),y=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#browsing-users"},"Browsing Users")]),e("li",null,[e("a",{href:"#viewing-a-user"},"Viewing a User")]),e("li",null,[e("a",{href:"#editing-a-user"},"Editing a User")])])])],-1),b=e("h2",{id:"browsing-users"},[s("Browsing Users "),e("a",{class:"header-anchor",href:"#browsing-users"},"#")],-1),T=e("p",null,[e("img",{src:h,alt:"User Directory Overview"})],-1),A=s("Lists all users of the project, with a navigation that allows quick access to the different role groups. This page has the same functionality as other "),U=s("Content Pages"),k=s("."),D=e("h2",{id:"viewing-a-user"},[s("Viewing a User "),e("a",{class:"header-anchor",href:"#viewing-a-user"},"#")],-1),x=e("p",null,[e("img",{src:d,alt:"User Overview"})],-1),L=e("p",null,"Users are referenced throughout the app, often for accountability purposes. Hovering over a user in this context will provide a popover for basic information, and clicking that popover will navigate you to a readonly view of that user\u2019s profile page.",-1),B=e("h2",{id:"editing-a-user"},[s("Editing a User "),e("a",{class:"header-anchor",href:"#editing-a-user"},"#")],-1),E=s("You can access your profile page from the User Directory or by clicking the User Menu in the "),N=s("Module Bar"),P=s(". The profile page has the same features and functionality as the "),V=s("Item Page"),q=s(". Administrators can customize the fields on this page, but the following are available by default."),C=e("ul",null,[e("li",null,[e("strong",null,"First Name"),s(" \u2014 The given name")]),e("li",null,[e("strong",null,"Last Name"),s(" \u2014 The family/surname")]),e("li",null,[e("strong",null,"Email"),s(" \u2014 A unique email address")]),e("li",null,[e("strong",null,"Password"),s(" \u2014 A hashed system password")]),e("li",null,[e("strong",null,"Avatar"),s(" \u2014 An image to represent the user")]),e("li",null,[e("strong",null,"Location"),s(" \u2014 The city, country, office, or branch name")]),e("li",null,[e("strong",null,"Title"),s(" \u2014 The professional staff title")]),e("li",null,[e("strong",null,"Description"),s(" \u2014 A freeform text description")]),e("li",null,[e("strong",null,"Tags"),s(" \u2014 Keywords for searchability")]),e("li",null,[e("strong",null,"Language"),s(" \u2014 The preferred App language/locale")]),e("li",null,[e("strong",null,"Theme"),s(" \u2014 Light or Dark mode (or based on system preferences)")]),e("li",null,[e("strong",null,"Multi-Factor Authentication"),s(" \u2014 Configuration for MFA")]),e("li",null,[e("strong",null,"Email Notifications"),s(" - Receive emails for notifications")])],-1),F=e("p",null,"The sidebar\u2019s info component also includes the following readonly details:",-1),M=e("ul",null,[e("li",null,[e("strong",null,"User Key"),s(" \u2014 The primary key of the user")]),e("li",null,[e("strong",null,"Last Page"),s(" \u2014 The last App page accessed by the user")]),e("li",null,[e("strong",null,"Last Access"),s(" \u2014 The timestamp of the user\u2019s last App or API action")])],-1),j=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"System Fields"),e("p",null,"Administrators have access to additional system fields.")],-1),R={setup(z,{expose:r}){const i={title:"User Directory",modularExtension:!1};return r({frontmatter:i}),(I,K)=>{const o=l("router-link"),a=l("DocsWrapper");return c(),u(a,{frontmatter:i},{default:t(()=>[e("div",g,[e("blockquote",null,[e("p",null,[n(o,{to:"/docs/getting-started/glossary#users"},{default:t(()=>[p]),_:1}),_,n(o,{to:"/docs/getting-started/glossary#roles"},{default:t(()=>[f]),_:1}),m,n(o,{to:"/docs/getting-started/glossary#permissions"},{default:t(()=>[v]),_:1}),w])]),y,b,T,e("p",null,[A,n(o,{to:"/docs/app/content-collections/"},{default:t(()=>[U]),_:1}),k]),D,x,L,B,e("p",null,[E,n(o,{to:"/docs/app/overview/#_1-module-bar"},{default:t(()=>[N]),_:1}),P,n(o,{to:"/docs/app/content-items/"},{default:t(()=>[V]),_:1}),q]),C,F,M,j])]),_:1})}}};export{R as default};
@@ -1 +0,0 @@
1
- import{r as o,p as c,q as u,w as t,z as e,t as l,S as s}from"./vendor.f59145b7.js";const d={class:"markdown-body"},h=s("Users"),g=s(" are the individual accounts for authenticating into the API and App. Each user belongs to a "),_=s("Role"),p=s(" which defines its access "),f=s("Permissions"),m=s("."),v=e("p",null,[e("div",{class:"table-of-contents"},[e("ul",null,[e("li",null,[e("a",{href:"#creating-a-user"},"Creating a User")]),e("li",null,[e("a",{href:"#inviting-a-user"},"Inviting a User")]),e("li",null,[e("a",{href:"#configuring-a-user"},"Configuring a User")]),e("li",null,[e("a",{href:"#archiving-a-user"},"Archiving a User")]),e("li",null,[e("a",{href:"#deleting-a-user"},"Deleting a User")]),e("li",null,[e("a",{href:"#creating-a-role"},"Creating a Role")]),e("li",null,[e("a",{href:"#configuring-a-role"},"Configuring a Role")]),e("li",null,[e("a",{href:"#deleting-a-role"},"Deleting a Role")]),e("li",null,[e("a",{href:"#configuring-permissions"},"Configuring Permissions")]),e("li",null,[e("a",{href:"#configuring-workflows"},"Configuring Workflows")])])])],-1),b=e("h2",{id:"creating-a-user"},[s("Creating a User "),e("a",{class:"header-anchor",href:"#creating-a-user"},"#")],-1),y=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library")]),e("li",null,[s("Click "),e("span",{mi:"",btn:""},"add"),s(" in the header")]),e("li",null,[s("Enter an "),e("strong",null,"Email Address")]),e("li",null,[s("Optional: Complete the "),e("strong",null,"other user form fields")]),e("li",null,[s("Click "),e("span",{mi:"",btn:""},"check"),s(" to save the user.")])],-1),w=e("h2",{id:"inviting-a-user"},[s("Inviting a User "),e("a",{class:"header-anchor",href:"#inviting-a-user"},"#")],-1),A=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library")]),e("li",null,[s("Click "),e("span",{mi:"",btn:"",sec:""},"person_add"),s(" in the header")]),e("li",null,[s("Enter "),e("strong",null,"one or more email addresses"),s(", separated by new lines, in the modal")]),e("li",null,[s("Select the "),e("strong",null,"Role"),s(" you want to assign to the user(s)")]),e("li",null,[s("Click "),e("strong",null,"Invite")])],-1),k=e("p",null,"At this point the invited user(s) will receive an email with a link to the App where they set a password and enable their account.",-1),C=e("h2",{id:"configuring-a-user"},[s("Configuring a User "),e("a",{class:"header-anchor",href:"#configuring-a-user"},"#")],-1),P=e("li",null,[s("Navigate to the "),e("strong",null,"User Library")],-1),R=e("li",null,[e("strong",null,"Click on the user"),s(" you wish to manage")],-1),U=e("strong",null,"Complete the form",-1),I=s(" of "),D=s("User Fields"),T=e("p",null,"The User Detail is only editable by the current user and admins, and the following fields are only available to admins:",-1),F=e("li",null,[e("strong",null,"Status"),s(" \u2014 Determines if an account is able to access the platform or not. Only the "),e("code",null,"active"),s(" state is able to authenticate, all others are simply descriptive inactive states. "),e("ul",null,[e("li",null,[e("strong",null,"Draft"),s(" \u2014 An incomplete user; no App/API access")]),e("li",null,[e("strong",null,"Invited"),s(" \u2014 Has a pending invite to the project; no App/API access until accepted")]),e("li",null,[e("strong",null,"Active"),s(" \u2014 The only status that has proper access to the App and API")]),e("li",null,[e("strong",null,"Suspended"),s(" \u2014 A user that has been temporarily disabled; no App/API access")]),e("li",null,[e("strong",null,"Archived"),s(" \u2014 A soft-deleted user; no App/API access")])])],-1),N=e("li",null,[e("strong",null,"Role"),s(" \u2014 The user\u2019s role determines their permissions and access")],-1),S=e("strong",null,"Token",-1),x=s(" \u2014 A user\u2019s token is an alternate way to "),L=s("authenticate into the API"),E=s(" using a static string. When NULL, the token is disabled. When enabled, ensure that a secure string is used."),q=e("h2",{id:"archiving-a-user"},[s("Archiving a User "),e("a",{class:"header-anchor",href:"#archiving-a-user"},"#")],-1),W=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library")]),e("li",null,"Click the user you with to archive to go to their User Detail page"),e("li",null,[s("Click on "),e("span",{mi:"",btn:"",warn:""},"archive"),s(" in the header")]),e("li",null,[s("Confirm this decision by clicking "),e("strong",null,"Archive"),s(" in the dialog")])],-1),j=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Disables Access"),e("p",null,[s("Archiving uses "),e("em",null,"soft-delete"),s(", therefore archived users are unable to access the App or API.")])],-1),V=e("h2",{id:"deleting-a-user"},[s("Deleting a User "),e("a",{class:"header-anchor",href:"#deleting-a-user"},"#")],-1),z=e("ol",null,[e("li",null,[s("Navigate to the "),e("strong",null,"User Library")]),e("li",null,"Select one or more users you wish to delete"),e("li",null,[s("Click on "),e("span",{mi:"",btn:"",dngr:""},"delete"),s(" in the header")]),e("li",null,[s("Confirm this decision by clicking "),e("strong",null,"Delete"),s(" in the dialog")])],-1),B=e("div",{class:"danger hint"},[e("div",{class:"hint-title"},"Irreversible Change"),e("p",null,"Unlike the soft-delete of archiving, this process is a hard-delete. Therefore, this action is permanent and can not be undone. Please proceed with caution.")],-1),M=e("h2",{id:"creating-a-role"},[s("Creating a Role "),e("a",{class:"header-anchor",href:"#creating-a-role"},"#")],-1),O=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,[s("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" Roles & Permissions")])]),e("li",null,[s("Click "),e("span",{mi:"",btn:""},"add"),s(" in the header")]),e("li",null,[s("Enter a unique "),e("strong",null,"Role Name")]),e("li",null,[s("Enabling "),e("strong",null,"App Access"),s(" allows logging in to the App")]),e("li",null,[s("Enabling "),e("strong",null,"Admin Access"),s(" gives full permission to project data and Settings")]),e("li",null,[s("Click on "),e("strong",null,"Save"),s(" to save the role")])],-1),Y=e("h2",{id:"configuring-a-role"},[s("Configuring a Role "),e("a",{class:"header-anchor",href:"#configuring-a-role"},"#")],-1),G=e("ul",null,[e("li",null,[e("strong",null,"Permissions"),s(" \u2014 Defines the role\u2019s access permissions")]),e("li",null,[e("strong",null,"Role Name"),s(" \u2014 This is the name of the role")]),e("li",null,[e("strong",null,"Role Icon"),s(" \u2014 The icon used throughout the App when referencing this role")]),e("li",null,[e("strong",null,"Description"),s(" \u2014 A helpful note that explains the role\u2019s purpose")]),e("li",null,[e("strong",null,"App Access"),s(" \u2014 Allows logging in to the App")]),e("li",null,[e("strong",null,"Admin Access"),s(" \u2014 Gives full permission to project data and Settings")]),e("li",null,[e("strong",null,"IP Access"),s(" \u2014 An allow-list of IP addresses from which the platform can be accessed, empty allows all")]),e("li",null,[e("strong",null,"Require 2FA"),s(" \u2014 Forces all users within this role to use two-factor authentication")]),e("li",null,[e("strong",null,"Users in Role"),s(" \u2014 A list of all users within this role")])],-1),H=e("h2",{id:"deleting-a-role"},[s("Deleting a Role "),e("a",{class:"header-anchor",href:"#deleting-a-role"},"#")],-1),K=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,[s("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" Roles & Permissions "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" [Role Name]")])]),e("li",null,[s("Click "),e("span",{mi:"",btn:"",dngr:""},"delete"),s(" in the header")]),e("li",null,[s("Confirm this decision by clicking "),e("strong",null,"Delete"),s(" in the dialog")])],-1),J={class:"warning hint"},Q=e("div",{class:"hint-title"},"Users in a Deleted Role",-1),X=s("If you delete a role that still has users in it, those users will be given a "),Z=e("code",null,"NULL",-1),$=s(" role, which denies their App access and limits them to the "),ee=s("Public Role"),se=s(" permissions. They can then be reassigned to a new role by an admin."),te=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Last Admin"),e("p",null,"You must maintain at least one role/user with Admin Access so that you can still properly manage the project.")],-1),ne=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Public Role"),e("p",null,"You can not delete the Public role, as it is part of the core platform. To disable it completely, simply turn off all Public access permissions.")],-1),le=e("h2",{id:"configuring-permissions"},[s("Configuring Permissions "),e("a",{class:"header-anchor",href:"#configuring-permissions"},"#")],-1),ie=e("p",null,"Directus possesses an extremely granular, yet easy to configure, permissions system. When creating a new role, permissions are disabled for all project collections by default \u2014 allowing you to give explicit access to only what is required. Individual permissions are applied to the role, and each is scoped to a specific collection and CRUD action (create, read, update, delete).",-1),oe=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Saves Automatically"),e("p",null,"Every change made to the permissions of a role is saved automatically and instantly.")],-1),ae=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Admin Roles"),e("p",null,[s("If a role is set to "),e("strong",null,"Admin Access"),s(" then it is granted complete access to the platform, and therefore the permission configuration field is disabled.")])],-1),re=e("ol",null,[e("li",null,[s("Navigate to "),e("strong",null,[s("Settings "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" Roles & Permissions "),e("span",{mi:"",icon:"",dark:""},"chevron_right"),s(" [Role Name]")])]),e("li",null,[s("Scroll to the "),e("strong",null,"Permissions"),s(" section")]),e("li",null,[e("strong",null,"Click the icon"),s(" for the collection (row) and action (column) you want to set")]),e("li",null,[s("Choose the desired permission level: "),e("span",{mi:"",icon:""},"check"),s(),e("strong",null,"All Access"),s(", "),e("span",{mi:"",icon:""},"block"),s(),e("strong",null,"No Access"),s(", or "),e("span",{mi:"",icon:""},"rule"),s(),e("strong",null,"Use Custom")])],-1),ce=e("p",null,[e("strong",null,[s("If you selected \u201C"),e("span",{mi:"",icon:""},"check"),s(" All Access\u201D or \u201C"),e("span",{mi:"",icon:""},"block"),s(" No Access\u201D then setup is complete.")]),s(" If you chose to customize permissions then continue with the appropriate guide below based on the relevant "),e("em",null,"action"),s(".")],-1),ue=e("h3",{id:"create-(custom-access)"},[s("Create (Custom Access) "),e("a",{class:"header-anchor",href:"#create-(custom-access)"},"#")],-1),de=e("ol",{start:"5"},[e("li",null,[e("strong",null,"Field Permissions"),s(" control which fields accept a value on create. Fields are individually toggled.")]),e("li",null,[e("strong",null,"Field Validation"),s(" define the rules for field values on create")]),e("li",null,[e("strong",null,"Field Presets"),s(" control the field defaults when creating an item")])],-1),he=e("h3",{id:"read-(custom-access)"},[s("Read (Custom Access) "),e("a",{class:"header-anchor",href:"#read-(custom-access)"},"#")],-1),ge={start:"5"},_e=e("strong",null,"Item Permissions",-1),pe=s(" control which items can be read, as defined by the "),fe=s("Filter Rules"),me=s(" entered."),ve=e("li",null,[e("strong",null,"Field Permissions"),s(" control which fields can be read. Fields are individually toggled.")],-1),be=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Read Field Permissions"),e("p",null,[s("The Directus App always requires read access to the Primary Key field (eg: "),e("code",null,"id"),s(") so it can uniquely identify items. Also, if a Collection has \u201CArchive\u201D or \u201CSort\u201D fields configured, those fields will also need read access to use the App\u2019s soft-delete and manual sorting features.")])],-1),ye=e("h3",{id:"update-(custom-access)"},[s("Update (Custom Access) "),e("a",{class:"header-anchor",href:"#update-(custom-access)"},"#")],-1),we={start:"5"},Ae=e("strong",null,"Item Permissions",-1),ke=s(" control which items can be updated, as defined by "),Ce=s("Filter Rules"),Pe=s("."),Re=e("li",null,[e("strong",null,"Field Permissions"),s(" control which fields can be updated. Fields are individually toggled.")],-1),Ue=e("strong",null,"Field Validation",-1),Ie=s(" define the rules for field values on update, as defined by "),De=s("Filter Rules"),Te=s("."),Fe=e("li",null,[e("strong",null,"Field Presets"),s(" control the field defaults when updating an item")],-1),Ne=e("h3",{id:"delete-(custom-access)"},[s("Delete (Custom Access) "),e("a",{class:"header-anchor",href:"#delete-(custom-access)"},"#")],-1),Se={start:"5"},xe=e("strong",null,"Item Permissions",-1),Le=s(" control which items can be deleted, as defined by the "),Ee=s("Filter Rules"),qe=s(" entered."),We=e("hr",null,null,-1),je=e("h3",{id:"configuring-public-permissions"},[s("Configuring Public Permissions "),e("a",{class:"header-anchor",href:"#configuring-public-permissions"},"#")],-1),Ve=e("p",null,"The Public permissions control what project data is accessible without authentication. This is managed via the Public \u201Crole\u201D, which is included in the system by default and can not be deleted.",-1),ze=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Private by Default"),e("p",null,"All of the data within the platform is private by default. Permissions for the public role can be granted on a case-by-case basis by administrators.")],-1),Be=e("h3",{id:"configuring-system-permissions"},[s("Configuring System Permissions "),e("a",{class:"header-anchor",href:"#configuring-system-permissions"},"#")],-1),Me=e("p",null,[s("In addition to permissions for "),e("em",null,"your"),s(" custom collections, you can also customize the permissions for "),e("em",null,"system"),s(" collections. It is important to note that when App Access is enabled for a role, Directus will automatically add permission for the necessary system collections. To edit system permissions, simply click \u201CSystem Collections\u201D at the bottom of the permissions configuration.")],-1),Oe=e("p",null,"There are two pre-configured options you can use for resetting the role\u2019s system permissions and ensure proper App access. To access these, click \u201CSystem Collections\u201D to expand, and then click one of the buttons at the bottom of the listing.",-1),Ye=e("ul",null,[e("li",null,[e("strong",null,"App Access Minimum"),s(" \u2014 The minimum permissions required to properly access the App")]),e("li",null,[e("strong",null,"Recommended Defaults"),s(" \u2014 More permissive but balanced for a better App user experience")])],-1),Ge=e("h2",{id:"configuring-workflows"},[s("Configuring Workflows "),e("a",{class:"header-anchor",href:"#configuring-workflows"},"#")],-1),He=e("p",null,"Workflows are a way to add structured stages to the flow of content authoring. They are primarily defined through the permissions for a Collection, but can be further enhanced via email notifications, custom interfaces, and automation. Directus supports endlessly configurable workflows, so we will only cover one simple example below.",-1),Ke=s("To create a structured workflow for "),Je=e("strong",null,"Articles",-1),Qe=s(", the first step is "),Xe=s("Creating a Field"),Ze=s(" to track the article \u201Cstatus\u201D \u2014 we\u2019ll call it "),$e=e("strong",null,"Status",-1),es=s(", but it can be named anything."),ss=e("li",null,[s("Next, create different Roles for each stage of the workflow, such as "),e("code",null,"author"),s(" and "),e("code",null,"manager"),s(".")],-1),ts=e("li",null,[s("Finally, configure the Role permissions based on the possible values of that Status field, such as "),e("code",null,"draft"),s(", "),e("code",null,"review"),s(", "),e("code",null,"approved"),s(", and "),e("code",null,"published"),s(", so that they are properly restricted to create content and update the status. "),e("ul",null,[e("li",null,[s("The Author can create content, but only save a status of "),e("code",null,"draft"),s(" or "),e("code",null,"review"),s(".")]),e("li",null,[s("The Manager has additional permissions that allow them to save statuses of "),e("code",null,"approved"),s(" or "),e("code",null,"published"),s(".")])])],-1),as={setup(ns,{expose:a}){const i={title:"Users, Roles & Permissions",modularExtension:!1};return a({frontmatter:i}),(ls,is)=>{const n=o("router-link"),r=o("DocsWrapper");return c(),u(r,{frontmatter:i},{default:t(()=>[e("div",d,[e("blockquote",null,[e("p",null,[l(n,{to:"/docs/getting-started/glossary/#users"},{default:t(()=>[h]),_:1}),g,l(n,{to:"/docs/getting-started/glossary/#roles"},{default:t(()=>[_]),_:1}),p,l(n,{to:"/docs/getting-started/glossary/#permissions"},{default:t(()=>[f]),_:1}),m])]),v,b,y,w,A,k,C,e("ol",null,[P,R,e("li",null,[U,I,l(n,{to:"/docs/app/user-directory/#editing-a-user"},{default:t(()=>[D]),_:1})])]),T,e("ul",null,[F,N,e("li",null,[S,x,l(n,{to:"/docs/reference/authentication/"},{default:t(()=>[L]),_:1}),E])]),q,W,j,V,z,B,M,O,Y,G,H,K,e("div",J,[Q,e("p",null,[X,Z,$,l(n,{to:"/docs/configuration/users-roles-permissions/#configuring-public-permissions"},{default:t(()=>[ee]),_:1}),se])]),te,ne,le,ie,oe,ae,re,ce,ue,de,he,e("ol",ge,[e("li",null,[_e,pe,l(n,{to:"/docs/configuration/filter-rules"},{default:t(()=>[fe]),_:1}),me]),ve]),be,ye,e("ol",we,[e("li",null,[Ae,ke,l(n,{to:"/docs/configuration/filter-rules/"},{default:t(()=>[Ce]),_:1}),Pe]),Re,e("li",null,[Ue,Ie,l(n,{to:"/docs/configuration/filter-rules/"},{default:t(()=>[De]),_:1}),Te]),Fe]),Ne,e("ol",Se,[e("li",null,[xe,Le,l(n,{to:"/docs/configuration/filter-rules/"},{default:t(()=>[Ee]),_:1}),qe])]),We,je,Ve,ze,Be,Me,Oe,Ye,Ge,He,e("ol",null,[e("li",null,[Ke,Je,Qe,l(n,{to:"/docs/configuration/data-model/#creating-a-field"},{default:t(()=>[Xe]),_:1}),Ze,$e,es]),ss,ts])])]),_:1})}}};export{as as default};