@directus/app 9.20.4 → 9.21.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 (492) hide show
  1. package/dist/assets/@directus_extensions-sdk.7480601b.entry.js +1 -0
  2. package/dist/assets/{accounts.8d02a534.js → accounts.6f69dc83.js} +1 -1
  3. package/dist/assets/active-line.f3bab3a5.js +1 -0
  4. package/dist/assets/{activity-log.957853bb.js → activity-log.2e944bfa.js} +1 -1
  5. package/dist/assets/{activity.58bbe1c2.js → activity.dda3417f.js} +1 -1
  6. package/dist/assets/apl.1805b26f.js +1 -0
  7. package/dist/assets/{architecture.0ded5b28.js → architecture.e66cc597.js} +1 -1
  8. package/dist/assets/asciiarmor.ffaf0f62.js +1 -0
  9. package/dist/assets/asn.1.cd62dee4.js +1 -0
  10. package/dist/assets/asterisk.07d1e4af.js +1 -0
  11. package/dist/assets/{authentication.5b7d5fa7.js → authentication.8a718856.js} +5 -5
  12. package/dist/assets/autorefresh.e63fec5a.js +1 -0
  13. package/dist/assets/{aws.890dfda5.js → aws.99d49c74.js} +1 -1
  14. package/dist/assets/{backing-directus.7f54a4af.js → backing-directus.23aeddff.js} +1 -1
  15. package/dist/assets/brainfuck.587235ad.js +1 -0
  16. package/dist/assets/{cli.4e995657.js → cli.8e7d9b17.js} +4 -4
  17. package/dist/assets/{cli.bf0b2442.js → cli.ce3a6393.js} +2 -2
  18. package/dist/assets/clike.8df07672.js +1 -0
  19. package/dist/assets/clojure.7ed940f7.js +1 -0
  20. package/dist/assets/{cloudron.0a16f34b.js → cloudron.0cf18005.js} +1 -1
  21. package/dist/assets/cmake.8058664d.js +1 -0
  22. package/dist/assets/cobol.7925af76.js +1 -0
  23. package/dist/assets/{codebase-overview.2ba91a80.js → codebase-overview.4707b17a.js} +1 -1
  24. package/dist/assets/coffeescript.36666708.js +1 -0
  25. package/dist/assets/{collections.7fa07fe7.js → collections.30500b8b.js} +2 -2
  26. package/dist/assets/{collections.2a61805a.js → collections.88058903.js} +2 -2
  27. package/dist/assets/{collections.ea858bf6.js → collections.b74ab838.js} +3 -3
  28. package/dist/assets/commonlisp.ce672eb5.js +1 -0
  29. package/dist/assets/{conditions.32339903.js → conditions.db9bebfc.js} +1 -1
  30. package/dist/assets/{config-options.53449c2c.js → config-options.48260929.js} +12 -12
  31. package/dist/assets/{content.18716bf7.js → content.647b054c.js} +1 -1
  32. package/dist/assets/{creating-extensions.0a6d6d3b.js → creating-extensions.e032c2f0.js} +3 -3
  33. package/dist/assets/crystal.3c7c09cc.js +1 -0
  34. package/dist/assets/css.b68c041b.js +1 -0
  35. package/dist/assets/cypher.3b38874c.js +4 -0
  36. package/dist/assets/d.0460be39.js +1 -0
  37. package/dist/assets/dart.680bdb1d.js +1 -0
  38. package/dist/assets/{data-model.b5eb7565.js → data-model.63af932c.js} +3 -3
  39. package/dist/assets/de-DE.590d3c70.js +1 -0
  40. package/dist/assets/diff.11dadb16.js +1 -0
  41. package/dist/assets/{digitalocean-app-platform.4063d6cc.js → digitalocean-app-platform.adb9fc63.js} +2 -2
  42. package/dist/assets/{display-templates.65a9b519.js → display-templates.7c1dae6d.js} +1 -1
  43. package/dist/assets/display.87df21d6.js +1 -0
  44. package/dist/assets/{displays.b72d546c.js → displays.c0024804.js} +5 -5
  45. package/dist/assets/django.c5c2bb33.js +1 -0
  46. package/dist/assets/{docker.ae6227ab.js → docker.a790e063.js} +1 -1
  47. package/dist/assets/dockerfile.cb57c90a.js +1 -0
  48. package/dist/assets/{documentation.6628aaac.js → documentation.1783cd53.js} +1 -1
  49. package/dist/assets/dtd.4bdd906a.js +1 -0
  50. package/dist/assets/dylan.af09e3f8.js +1 -0
  51. package/dist/assets/ebnf.0ec983c0.js +1 -0
  52. package/dist/assets/ecl.eeba0610.js +1 -0
  53. package/dist/assets/eiffel.d9fec659.js +1 -0
  54. package/dist/assets/elm.c3ce2b54.js +1 -0
  55. package/dist/assets/{email-templates.5e1b5472.js → email-templates.ed708d89.js} +1 -1
  56. package/dist/assets/{endpoints.44874916.js → endpoints.10a1484a.js} +1 -1
  57. package/dist/assets/erlang.d00fab30.js +1 -0
  58. package/dist/assets/{extensions.9790f6ff.js → extensions.d542042f.js} +1 -1
  59. package/dist/assets/factor.a6dddf2c.js +1 -0
  60. package/dist/assets/{faq.0fd5ca6e.js → faq.8904941c.js} +2 -2
  61. package/dist/assets/fcl.0c78a020.js +1 -0
  62. package/dist/assets/{field-types.e5bd5900.js → field-types.e3e041fc.js} +1 -1
  63. package/dist/assets/{field.b9b55fc2.js → field.64c29e0b.js} +1 -1
  64. package/dist/assets/{fields.fc8af154.js → fields.1597bfad.js} +1 -1
  65. package/dist/assets/{fields.7df6f624.js → fields.c76c2d8b.js} +1 -1
  66. package/dist/assets/{file-library.7a11d866.js → file-library.8fb3da43.js} +1 -1
  67. package/dist/assets/{files.84b41f2f.js → files.d8e3acf4.js} +2 -2
  68. package/dist/assets/{filter-rules.099e9689.js → filter-rules.edb18765.js} +4 -4
  69. package/dist/assets/{filters.98d31bd5.js → filters.26e88a50.js} +1 -1
  70. package/dist/assets/{flows.b6ebb4b6.js → flows.8c6f69bb.js} +6 -6
  71. package/dist/assets/{flows.2646c3ae.js → flows.f014b9cc.js} +2 -2
  72. package/dist/assets/{folders.35cfde90.js → folders.8aec87f5.js} +5 -5
  73. package/dist/assets/forth.fbb63d06.js +1 -0
  74. package/dist/assets/fortran.cbc14824.js +1 -0
  75. package/dist/assets/fr-FR.d8dbf5de.js +1 -0
  76. package/dist/assets/gas.3e3eaaa0.js +1 -0
  77. package/dist/assets/{gcp.ce76381f.js → gcp.97542e88.js} +5 -5
  78. package/dist/assets/gfm.a5597fec.js +1 -0
  79. package/dist/assets/gherkin.9cfc1ed7.js +1 -0
  80. package/dist/assets/{github-ci.b4dde47f.js → github-ci.e7d15770.js} +2 -2
  81. package/dist/assets/{glossary.3b14c64d.js → glossary.beaf358c.js} +1 -1
  82. package/dist/assets/{glossary.930fe38e.js → glossary.c972e836.js} +1 -1
  83. package/dist/assets/go.f180871e.js +1 -0
  84. package/dist/assets/groovy.4db995a9.js +1 -0
  85. package/dist/assets/haml.ed77ce51.js +1 -0
  86. package/dist/assets/handlebars.81504d91.js +1 -0
  87. package/dist/assets/haskell-literate.d54dc9c7.js +1 -0
  88. package/dist/assets/haskell.f21c4399.js +1 -0
  89. package/dist/assets/haxe.50f0db0c.js +1 -0
  90. package/dist/assets/{hooks.b9909639.js → hooks.feaad058.js} +1 -1
  91. package/dist/assets/htmlembedded.5ff69a18.js +1 -0
  92. package/dist/assets/htmlmixed.5efed62b.js +1 -0
  93. package/dist/assets/{htmlmixed.a7900839.js → htmlmixed.f69cc072.js} +1 -1
  94. package/dist/assets/http.6b260d22.js +1 -0
  95. package/dist/assets/idl.617214c8.js +1 -0
  96. package/dist/assets/{iis.63d75601.js → iis.0358929d.js} +1 -1
  97. package/dist/assets/{import-export.fe680598.js → import-export.391b74e0.js} +2 -2
  98. package/dist/assets/{index.ffcfdc79.js → index.04b73e2f.js} +1 -1
  99. package/dist/assets/{index.3ccb1a62.js → index.09845961.js} +1 -1
  100. package/dist/assets/{index.671547c3.js → index.130287f6.js} +1 -1
  101. package/dist/assets/{index.3d4f0091.css → index.19e6c20c.css} +1 -1
  102. package/dist/assets/{index.20179e31.js → index.1ba23fe5.js} +1 -1
  103. package/dist/assets/{index.f19e5b18.js → index.1f330fc3.js} +1 -1
  104. package/dist/assets/{index.7f210d25.js → index.24999c03.js} +1 -1
  105. package/dist/assets/{index.f047ba76.entry.js → index.312f2c91.entry.js} +2693 -2687
  106. package/dist/assets/{index.c781a7ba.js → index.31f6e6f2.js} +3 -3
  107. package/dist/assets/{index.7c5199ad.js → index.330c3aee.js} +1 -1
  108. package/dist/assets/{index.549a82a6.js → index.3470f134.js} +1 -1
  109. package/dist/assets/index.38d152bf.js +1 -0
  110. package/dist/assets/{index.a6c65314.js → index.4044e5c7.js} +1 -1
  111. package/dist/assets/{index.764b9d6e.js → index.4706b3f5.js} +1 -1
  112. package/dist/assets/{index.875a771b.js → index.4b24f075.js} +1 -1
  113. package/dist/assets/{index.6949d989.js → index.4c6e76b7.js} +1 -1
  114. package/dist/assets/{index.0d7f4d79.js → index.522f44b0.js} +1 -1
  115. package/dist/assets/{index.1c9cfeb8.js → index.525d8fd8.js} +1 -1
  116. package/dist/assets/{index.d8e4727e.js → index.528e4b54.js} +1 -1
  117. package/dist/assets/{index.d9e48160.js → index.52a4297c.js} +1 -1
  118. package/dist/assets/{index.34c47fcf.js → index.530fd584.js} +1 -1
  119. package/dist/assets/{index.91e98759.js → index.546018df.js} +1 -1
  120. package/dist/assets/{index.d557b36c.js → index.57542755.js} +1 -1
  121. package/dist/assets/{index.425c965c.js → index.5a8952da.js} +1 -1
  122. package/dist/assets/{index.9b6db0de.js → index.5cf97c2b.js} +1 -1
  123. package/dist/assets/index.65e5d28f.css +1 -0
  124. package/dist/assets/{index.08c5d5a2.js → index.6b77e807.js} +1 -1
  125. package/dist/assets/{index.393b7fd6.js → index.6bf3a163.js} +1 -1
  126. package/dist/assets/{index.fe4bc374.js → index.6c07a132.js} +1 -1
  127. package/dist/assets/{index.1f99dc82.js → index.6c4fabf1.js} +1 -1
  128. package/dist/assets/{index.7468a23c.js → index.6fa71870.js} +1 -1
  129. package/dist/assets/{index.8fb3c07f.js → index.7045dfad.js} +1 -1
  130. package/dist/assets/{index.aa66a39f.js → index.75ef0473.js} +1 -1
  131. package/dist/assets/{index.c3959367.js → index.77b8f02e.js} +1 -1
  132. package/dist/assets/{index.62e48e8e.js → index.7943fd38.js} +1 -1
  133. package/dist/assets/{index.ac96f5b3.js → index.7c5b74dc.js} +1 -1
  134. package/dist/assets/{index.f32d0fbe.js → index.7de5db57.js} +1 -1
  135. package/dist/assets/{index.8aa50b59.js → index.7e90d361.js} +1 -1
  136. package/dist/assets/{index.2399ffb8.js → index.7edb8b15.js} +1 -1
  137. package/dist/assets/{index.d370fafd.js → index.7fcf2b86.js} +1 -1
  138. package/dist/assets/{index.5c5acddc.js → index.80106d2d.js} +1 -1
  139. package/dist/assets/{index.8b8e6073.js → index.804b3c9b.js} +1 -1
  140. package/dist/assets/{index.5264aa26.js → index.8063dc25.js} +1 -1
  141. package/dist/assets/{index.eb772cab.js → index.81a02f8c.js} +1 -1
  142. package/dist/assets/{index.38e5dfc6.js → index.81d5b763.js} +1 -1
  143. package/dist/assets/{index.7269b9b7.js → index.8200528c.js} +1 -1
  144. package/dist/assets/{index.00acb7aa.js → index.82939b3a.js} +1 -1
  145. package/dist/assets/{index.d024a491.js → index.8446e18c.js} +1 -1
  146. package/dist/assets/index.87afb869.js +1 -0
  147. package/dist/assets/{index.7e37814b.js → index.92f59a75.js} +1 -1
  148. package/dist/assets/{index.3abfd687.js → index.98cb4ee1.js} +1 -1
  149. package/dist/assets/{index.486669b9.js → index.9d2fbf00.js} +1 -1
  150. package/dist/assets/{index.ec87e7f6.js → index.9dfe292c.js} +1 -1
  151. package/dist/assets/{index.4ce96101.js → index.a1b7be9b.js} +1 -1
  152. package/dist/assets/{index.1b594a21.js → index.a5356d91.js} +1 -1
  153. package/dist/assets/{index.b67fb5fc.js → index.ab4e5ca3.js} +1 -1
  154. package/dist/assets/{index.f511aff3.js → index.ab7b6cba.js} +1 -1
  155. package/dist/assets/{index.578c30ec.js → index.ac6c3fe9.js} +1 -1
  156. package/dist/assets/{index.5062f951.js → index.adc560cb.js} +1 -1
  157. package/dist/assets/{index.045e97f0.js → index.ae4bf6ea.js} +1 -1
  158. package/dist/assets/{index.9f69b190.js → index.aeaa0aa9.js} +1 -1
  159. package/dist/assets/{index.8b9e43f4.js → index.afc6b30e.js} +1 -1
  160. package/dist/assets/{index.23def130.js → index.b02dbd39.js} +1 -1
  161. package/dist/assets/{index.3cb24d7f.js → index.b391672d.js} +1 -1
  162. package/dist/assets/{index.19a506a0.js → index.b503f187.js} +1 -1
  163. package/dist/assets/{index.a88d2d0b.js → index.b7113e87.js} +1 -1
  164. package/dist/assets/{index.7bb84aa5.js → index.c156c46e.js} +1 -1
  165. package/dist/assets/{index.68337c85.js → index.c5e16ef6.js} +1 -1
  166. package/dist/assets/{index.45686201.js → index.c85c3f77.js} +1 -1
  167. package/dist/assets/{index.03886e4a.js → index.cb7799d1.js} +1 -1
  168. package/dist/assets/{index.eb4d5cbc.js → index.cb93c1e8.js} +1 -1
  169. package/dist/assets/{index.dc4d9b6a.js → index.d0d998a0.js} +1 -1
  170. package/dist/assets/{index.c2858d95.js → index.d790d684.js} +1 -1
  171. package/dist/assets/{index.a264494d.js → index.dc9006a1.js} +1 -1
  172. package/dist/assets/{index.8130aabc.js → index.e3619b04.js} +1 -1
  173. package/dist/assets/{index.ab5ebdc3.js → index.e4224764.js} +1 -1
  174. package/dist/assets/{index.426d219b.js → index.e5079c3a.js} +1 -1
  175. package/dist/assets/{index.90ecf353.js → index.e6971ab1.js} +1 -1
  176. package/dist/assets/{index.b2e447e3.js → index.e85bc569.js} +1 -1
  177. package/dist/assets/{index.42614221.js → index.e95b7e4b.js} +1 -1
  178. package/dist/assets/{index.0608a502.js → index.ec8cfaac.js} +1 -1
  179. package/dist/assets/{index.b0e3c55c.js → index.f2e26d1f.js} +1 -1
  180. package/dist/assets/{index.eecb0d4b.js → index.f60d22d0.js} +1 -1
  181. package/dist/assets/{index.a8b94b31.js → index.f828781f.js} +1 -1
  182. package/dist/assets/{index.2b61f9fb.js → index.fb6b1657.js} +1 -1
  183. package/dist/assets/{index.9c4a7f65.js → index.fb8023b0.js} +1 -1
  184. package/dist/assets/{index.79264a03.js → index.fe536421.js} +1 -1
  185. package/dist/assets/{input-rich-text-html.7e721a60.js → input-rich-text-html.b1656039.js} +30 -30
  186. package/dist/assets/{insights.bb6e6dd9.js → insights.8a1beae6.js} +2 -2
  187. package/dist/assets/{installation.a80b7bdd.js → installation.2db8d0e1.js} +1 -1
  188. package/dist/assets/{interface.6b3d318d.js → interface.8e4a64f0.js} +1 -1
  189. package/dist/assets/{interfaces.9c9cb203.js → interfaces.8e88b01f.js} +4 -4
  190. package/dist/assets/{introduction.17ce0958.js → introduction.2a0882fe.js} +4 -4
  191. package/dist/assets/{introduction.74d5f276.js → introduction.42a2136e.js} +1 -1
  192. package/dist/assets/{introduction.2b473cdb.js → introduction.4f0ccbaf.js} +1 -1
  193. package/dist/assets/{introduction.23bcca02.js → introduction.dbd85d4e.js} +1 -1
  194. package/dist/assets/{items.a200a734.js → items.9f358fa7.js} +5 -5
  195. package/dist/assets/{items.d9558b12.js → items.abb8d314.js} +1 -1
  196. package/dist/assets/javascript-hint.bd3c0fcf.js +1 -0
  197. package/dist/assets/javascript.7eff1543.js +1 -0
  198. package/dist/assets/jinja2.eec1b998.js +1 -0
  199. package/dist/assets/jsx.8808ecb1.js +1 -0
  200. package/dist/assets/julia.56479fbf.js +1 -0
  201. package/dist/assets/{layouts.71139077.js → layouts.9c64beac.js} +3 -3
  202. package/dist/assets/{layouts.67e010c3.js → layouts.b4771384.js} +1 -1
  203. package/dist/assets/livescript.37040ed1.js +1 -0
  204. package/dist/assets/lua.7730f9fd.js +1 -0
  205. package/dist/assets/{manual.be26c257.js → manual.4a53ccfe.js} +4 -4
  206. package/dist/assets/mark-selection.c1a5d4e1.js +1 -0
  207. package/dist/assets/match-highlighter.ed7a2467.js +1 -0
  208. package/dist/assets/{matchbrackets.e0f8c83a.js → matchbrackets.ebc48bf8.js} +1 -1
  209. package/dist/assets/mathematica.1dbfb6f4.js +1 -0
  210. package/dist/assets/mbox.0ac8a216.js +1 -0
  211. package/dist/assets/{migrations.58c8fd96.js → migrations.2969a369.js} +1 -1
  212. package/dist/assets/mirc.1cc06f67.js +1 -0
  213. package/dist/assets/mllike.cee4eaf7.js +1 -0
  214. package/dist/assets/modelica.2292d0b8.js +1 -0
  215. package/dist/assets/{modules.0cfbe882.js → modules.f057fcd0.js} +3 -3
  216. package/dist/assets/mscgen.38b6bb11.js +1 -0
  217. package/dist/assets/multiplex.1d92e024.js +3 -0
  218. package/dist/assets/mumps.f37c25cb.js +1 -0
  219. package/dist/assets/nginx.39e016a3.js +1 -0
  220. package/dist/assets/{notifications.7b442623.js → notifications.ca876814.js} +11 -11
  221. package/dist/assets/nsis.1cf932c7.js +1 -0
  222. package/dist/assets/ntriples.e6c37d71.js +1 -0
  223. package/dist/assets/octave.2bec4045.js +1 -0
  224. package/dist/assets/{operations.bd173669.js → operations.246298bc.js} +11 -11
  225. package/dist/assets/{operations.6fcceb98.js → operations.64af444f.js} +3 -3
  226. package/dist/assets/{operations.30bbad94.js → operations.b4042de2.js} +2 -2
  227. package/dist/assets/overlay.16f98fb6.js +1 -0
  228. package/dist/assets/{overview.cb1196c4.js → overview.0b4ab371.js} +1 -1
  229. package/dist/assets/{overview.4c1683c3.js → overview.359f9713.js} +1 -1
  230. package/dist/assets/{overview.23ad824a.js → overview.40893677.js} +1 -1
  231. package/dist/assets/oz.8955a131.js +1 -0
  232. package/dist/assets/{panels.187b8f0d.js → panels.3969b423.js} +2 -2
  233. package/dist/assets/pascal.7213d964.js +1 -0
  234. package/dist/assets/pegjs.6877c220.js +1 -0
  235. package/dist/assets/perl.7f37e0c4.js +1 -0
  236. package/dist/assets/{permissions.2ad2e118.js → permissions.0712320e.js} +4 -4
  237. package/dist/assets/php.b63c0c50.js +1 -0
  238. package/dist/assets/pig.1cddd148.js +1 -0
  239. package/dist/assets/{pinia.24c7b35a.entry.js → pinia.0d44ec62.entry.js} +2 -2
  240. package/dist/assets/{plesk.279941fc.js → plesk.e3ea514c.js} +5 -5
  241. package/dist/assets/powershell.3aecbe91.js +1 -0
  242. package/dist/assets/{presets-bookmarks.62ac9314.js → presets-bookmarks.0baf10eb.js} +1 -1
  243. package/dist/assets/{presets.0390ff92.js → presets.0de7849a.js} +8 -8
  244. package/dist/assets/{project-settings.8b91aa04.js → project-settings.6e5956c8.js} +1 -1
  245. package/dist/assets/{projects.97bc15fa.js → projects.12d7a177.js} +1 -1
  246. package/dist/assets/properties.db539b03.js +1 -0
  247. package/dist/assets/protobuf.0fa0e9b4.js +1 -0
  248. package/dist/assets/pt-BR.2c2e8c4f.js +1 -0
  249. package/dist/assets/pug.e6d33f3a.js +1 -0
  250. package/dist/assets/puppet.18346b43.js +1 -0
  251. package/dist/assets/python.065d28e0.js +1 -0
  252. package/dist/assets/q.ed3c142c.js +1 -0
  253. package/dist/assets/{query.19ee7756.js → query.6dcece55.js} +1 -1
  254. package/dist/assets/{quickstart.96d7fa17.js → quickstart.f1c431cf.js} +3 -3
  255. package/dist/assets/{quickstart.7f55e26e.js → quickstart.fd328631.js} +2 -2
  256. package/dist/assets/r.f2ad8682.js +1 -0
  257. package/dist/assets/{readme.abb2691e.js → readme.c063616b.js} +1 -1
  258. package/dist/assets/{relations.1409faa0.js → relations.c92ebc4e.js} +6 -6
  259. package/dist/assets/{relationship.8e3bc45d.js → relationship.0344c790.js} +1 -1
  260. package/dist/assets/{relationships.2449eed5.js → relationships.ad2ee267.js} +7 -7
  261. package/dist/assets/{resources.f9b64d6f.js → resources.84b84252.js} +1 -1
  262. package/dist/assets/{revisions.7ffa76fe.js → revisions.39f423d0.js} +4 -4
  263. package/dist/assets/ro-RO.4c33f715.js +1 -0
  264. package/dist/assets/{roles.ce6518a4.js → roles.89c51107.js} +7 -7
  265. package/dist/assets/rpm.1674f668.js +1 -0
  266. package/dist/assets/rst.0a69f626.js +1 -0
  267. package/dist/assets/ruby.02498746.js +1 -0
  268. package/dist/assets/{ruby.57265cfb.js → ruby.d805273a.js} +1 -1
  269. package/dist/assets/{running-locally.8b135453.js → running-locally.24e1b4bf.js} +6 -6
  270. package/dist/assets/runtime-core.esm-bundler.22ec0346.js +1 -0
  271. package/dist/assets/rust.90ce6688.js +1 -0
  272. package/dist/assets/sas.3b045c8d.js +1 -0
  273. package/dist/assets/sass.4fcb9b12.js +1 -0
  274. package/dist/assets/{schema.6649576e.js → schema.c326d911.js} +1 -1
  275. package/dist/assets/scheme.eb7abc5c.js +1 -0
  276. package/dist/assets/{sdk.33dcc072.js → sdk.2fdc3788.js} +17 -17
  277. package/dist/assets/{security.acb2be94.js → security.a0326c54.js} +1 -1
  278. package/dist/assets/{server.60bfa539.js → server.5b19042c.js} +1 -1
  279. package/dist/assets/{settings.6ac3895b.js → settings.2195b191.js} +1 -1
  280. package/dist/assets/{settings.a00aa4fa.js → settings.2553780f.js} +1 -1
  281. package/dist/assets/{shares.9a7ea736.js → shares.a17e644c.js} +1 -1
  282. package/dist/assets/shell.09d717f3.js +1 -0
  283. package/dist/assets/show-hint.4fc17cec.js +1 -0
  284. package/dist/assets/sieve.fe87517f.js +1 -0
  285. package/dist/assets/slim.76f6114d.js +1 -0
  286. package/dist/assets/smalltalk.eaf13594.js +1 -0
  287. package/dist/assets/smarty.abf4421d.js +1 -0
  288. package/dist/assets/solr.62208f30.js +1 -0
  289. package/dist/assets/soy.b2db807b.js +1 -0
  290. package/dist/assets/sparql.7042a2b3.js +1 -0
  291. package/dist/assets/spreadsheet.ca1422ad.js +1 -0
  292. package/dist/assets/sql.fcb976c5.js +1 -0
  293. package/dist/assets/{sso-examples.eb3ba478.js → sso-examples.8a36c968.js} +2 -2
  294. package/dist/assets/{sso.29d67116.js → sso.92e5b5f1.js} +4 -4
  295. package/dist/assets/stex.30c4dc01.js +1 -0
  296. package/dist/assets/{stex.a70dfdc0.js → stex.a5fe2e4a.js} +1 -1
  297. package/dist/assets/stylus.f7fcee76.js +1 -0
  298. package/dist/assets/{support.e9e535b3.js → support.f153d4ae.js} +1 -1
  299. package/dist/assets/swift.116cdb17.js +1 -0
  300. package/dist/assets/tcl.42613799.js +1 -0
  301. package/dist/assets/{teams.347f0563.js → teams.c564c81f.js} +1 -1
  302. package/dist/assets/textile.4285b886.js +1 -0
  303. package/dist/assets/{themes.32a50b86.js → themes.6c5c943f.js} +2 -2
  304. package/dist/assets/tiddlywiki.eb66e0c7.js +1 -0
  305. package/dist/assets/tiki.c796e616.js +1 -0
  306. package/dist/assets/toml.3b8b1e04.js +1 -0
  307. package/dist/assets/tornado.89f4bce8.js +1 -0
  308. package/dist/assets/{translation-strings.285d6bb2.js → translation-strings.326a2741.js} +1 -1
  309. package/dist/assets/translations.4c0efc6a.js +1 -0
  310. package/dist/assets/{translations.f87a601e.js → translations.645f8c9c.js} +1 -1
  311. package/dist/assets/{triggers.325e50d8.js → triggers.44703cf0.js} +1 -1
  312. package/dist/assets/troff.51ba9964.js +1 -0
  313. package/dist/assets/ttcn-cfg.62ff9e40.js +1 -0
  314. package/dist/assets/ttcn.08f34f21.js +1 -0
  315. package/dist/assets/turtle.2efc3e1b.js +1 -0
  316. package/dist/assets/twig.bd0ee3cd.js +1 -0
  317. package/dist/assets/{ubuntu.3ba252fe.js → ubuntu.47e06de3.js} +2 -2
  318. package/dist/assets/uk-UA.fe247137.js +1 -0
  319. package/dist/assets/{upgrades-migrations.a091b8af.js → upgrades-migrations.a23cace7.js} +1 -1
  320. package/dist/assets/{use-sync.d9160f34.js → use-sync.e83d9ab3.js} +3 -3
  321. package/dist/assets/{user-directory.9ca05985.js → user-directory.e1f15d1a.js} +1 -1
  322. package/dist/assets/{users-roles-permissions.bb71f6c9.js → users-roles-permissions.14757490.js} +1 -1
  323. package/dist/assets/{users.a44125e3.js → users.0ea4e372.js} +1 -1
  324. package/dist/assets/{utilities.0380c496.js → utilities.c76e17ac.js} +7 -7
  325. package/dist/assets/validation.99c6fcd4.js +1 -0
  326. package/dist/assets/vb.e77c04f4.js +1 -0
  327. package/dist/assets/vbscript.b1155c12.js +1 -0
  328. package/dist/assets/velocity.5f33a92c.js +1 -0
  329. package/dist/assets/verilog.064306e8.js +1 -0
  330. package/dist/assets/vhdl.c71b4d0c.js +1 -0
  331. package/dist/assets/{vue-i18n.df8d89e7.entry.js → vue-i18n.fbc77449.entry.js} +1 -1
  332. package/dist/assets/vue-router.3a828e63.entry.js +5 -0
  333. package/dist/assets/vue.1a8f18be.js +1 -0
  334. package/dist/assets/vue.486f3e62.entry.js +1 -0
  335. package/dist/assets/vue.runtime.esm-bundler.f6138180.js +1 -0
  336. package/dist/assets/wast.7970d24f.js +1 -0
  337. package/dist/assets/{webhooks.2d23be4c.js → webhooks.105c0454.js} +1 -1
  338. package/dist/assets/{webhooks.40d9a7a3.js → webhooks.d7f419fe.js} +4 -4
  339. package/dist/assets/webidl.f56d782e.js +1 -0
  340. package/dist/assets/{xml.ea66d5f3.js → xml.c9106c48.js} +1 -1
  341. package/dist/assets/xquery.d326f7d2.js +1 -0
  342. package/dist/assets/yacas.aab21d14.js +1 -0
  343. package/dist/assets/yaml-frontmatter.c4684bee.js +1 -0
  344. package/dist/assets/yaml.02beca9a.js +1 -0
  345. package/dist/assets/z80.2c343a72.js +1 -0
  346. package/dist/assets/{zh-CN.a9e8d795.js → zh-CN.a8f9e881.js} +1 -1
  347. package/dist/index.html +8 -8
  348. package/package.json +61 -61
  349. package/dist/assets/@directus_extensions-sdk.fd0e4213.entry.js +0 -1
  350. package/dist/assets/active-line.9ef493aa.js +0 -1
  351. package/dist/assets/apl.80228b26.js +0 -1
  352. package/dist/assets/asciiarmor.6c86ea34.js +0 -1
  353. package/dist/assets/asn.1.c414ac8d.js +0 -1
  354. package/dist/assets/asterisk.b919c017.js +0 -1
  355. package/dist/assets/autorefresh.4d24f530.js +0 -1
  356. package/dist/assets/brainfuck.31207812.js +0 -1
  357. package/dist/assets/clike.4381bb65.js +0 -1
  358. package/dist/assets/clike.70f54732.js +0 -1
  359. package/dist/assets/clojure.5e71b148.js +0 -1
  360. package/dist/assets/cmake.4292630d.js +0 -1
  361. package/dist/assets/cobol.0f026188.js +0 -1
  362. package/dist/assets/coffeescript.c9867ce1.js +0 -1
  363. package/dist/assets/commonlisp.575f73fb.js +0 -1
  364. package/dist/assets/crystal.c6b2e074.js +0 -1
  365. package/dist/assets/css.68e5f1b4.js +0 -1
  366. package/dist/assets/cypher.b9a2a2ff.js +0 -4
  367. package/dist/assets/d.29704d27.js +0 -1
  368. package/dist/assets/dart.3bc9103c.js +0 -1
  369. package/dist/assets/de-DE.1232afb9.js +0 -1
  370. package/dist/assets/diff.ed5ea48e.js +0 -1
  371. package/dist/assets/display.4a967445.js +0 -1
  372. package/dist/assets/django.a4f2e396.js +0 -1
  373. package/dist/assets/dockerfile.63d471ed.js +0 -1
  374. package/dist/assets/dtd.a3075452.js +0 -1
  375. package/dist/assets/dylan.f084efb3.js +0 -1
  376. package/dist/assets/ebnf.04f6993f.js +0 -1
  377. package/dist/assets/ecl.716928e4.js +0 -1
  378. package/dist/assets/eiffel.adac2439.js +0 -1
  379. package/dist/assets/elm.79decf86.js +0 -1
  380. package/dist/assets/erlang.3a8664fd.js +0 -1
  381. package/dist/assets/factor.5720b335.js +0 -1
  382. package/dist/assets/fcl.23169462.js +0 -1
  383. package/dist/assets/forth.0aa4b2af.js +0 -1
  384. package/dist/assets/fortran.2a5ba2e9.js +0 -1
  385. package/dist/assets/fr-FR.fa3f9dfa.js +0 -1
  386. package/dist/assets/gas.bb020a68.js +0 -1
  387. package/dist/assets/gfm.ab87931a.js +0 -1
  388. package/dist/assets/gherkin.14ad5708.js +0 -1
  389. package/dist/assets/go.db54967b.js +0 -1
  390. package/dist/assets/groovy.70142c17.js +0 -1
  391. package/dist/assets/haml.48d17fa5.js +0 -1
  392. package/dist/assets/handlebars.99f3b281.js +0 -1
  393. package/dist/assets/haskell-literate.dd8055d7.js +0 -1
  394. package/dist/assets/haskell.5163bc39.js +0 -1
  395. package/dist/assets/haxe.c37e45b0.js +0 -1
  396. package/dist/assets/htmlembedded.259e134c.js +0 -1
  397. package/dist/assets/htmlmixed.d4ccede2.js +0 -1
  398. package/dist/assets/http.c2a41932.js +0 -1
  399. package/dist/assets/idl.756f9381.js +0 -1
  400. package/dist/assets/index.4ce1e26c.js +0 -1
  401. package/dist/assets/index.90515a60.css +0 -1
  402. package/dist/assets/index.a36c94c4.js +0 -1
  403. package/dist/assets/javascript-hint.edf0fbfe.js +0 -1
  404. package/dist/assets/javascript.3f76a939.js +0 -1
  405. package/dist/assets/jinja2.5ece3da1.js +0 -1
  406. package/dist/assets/jsx.bf843278.js +0 -1
  407. package/dist/assets/julia.3deacccb.js +0 -1
  408. package/dist/assets/livescript.0f4ee94d.js +0 -1
  409. package/dist/assets/lua.55a0ef58.js +0 -1
  410. package/dist/assets/mark-selection.c61be770.js +0 -1
  411. package/dist/assets/match-highlighter.653539e4.js +0 -1
  412. package/dist/assets/mathematica.581f102c.js +0 -1
  413. package/dist/assets/mbox.b8d42368.js +0 -1
  414. package/dist/assets/mirc.54d6f3dc.js +0 -1
  415. package/dist/assets/mllike.3fea0214.js +0 -1
  416. package/dist/assets/modelica.e91f192a.js +0 -1
  417. package/dist/assets/mscgen.26838643.js +0 -1
  418. package/dist/assets/multiplex.93cf07bd.js +0 -3
  419. package/dist/assets/mumps.47e48202.js +0 -1
  420. package/dist/assets/nginx.87019c99.js +0 -1
  421. package/dist/assets/nsis.fafee21f.js +0 -1
  422. package/dist/assets/ntriples.a43258b6.js +0 -1
  423. package/dist/assets/octave.1f682cef.js +0 -1
  424. package/dist/assets/overlay.a2442f5e.js +0 -1
  425. package/dist/assets/oz.62b729b0.js +0 -1
  426. package/dist/assets/pascal.0fa9599a.js +0 -1
  427. package/dist/assets/pegjs.32083f8f.js +0 -1
  428. package/dist/assets/perl.5a777d8c.js +0 -1
  429. package/dist/assets/php.c6ab96f7.js +0 -1
  430. package/dist/assets/pig.2c7c4277.js +0 -1
  431. package/dist/assets/powershell.e6b0a933.js +0 -1
  432. package/dist/assets/properties.35c2d705.js +0 -1
  433. package/dist/assets/protobuf.625d3a47.js +0 -1
  434. package/dist/assets/pt-BR.c51763f3.js +0 -1
  435. package/dist/assets/pug.da3530b5.js +0 -1
  436. package/dist/assets/puppet.655afe2c.js +0 -1
  437. package/dist/assets/python.a67d678a.js +0 -1
  438. package/dist/assets/q.cc56fcdd.js +0 -1
  439. package/dist/assets/r.c1bddb02.js +0 -1
  440. package/dist/assets/ro-RO.52802a17.js +0 -1
  441. package/dist/assets/rpm.e046de56.js +0 -1
  442. package/dist/assets/rst.424d4d80.js +0 -1
  443. package/dist/assets/ruby.c0348dbc.js +0 -1
  444. package/dist/assets/runtime-core.esm-bundler.fe249c5c.js +0 -4
  445. package/dist/assets/rust.b8eab4c6.js +0 -1
  446. package/dist/assets/sas.171b5cec.js +0 -1
  447. package/dist/assets/sass.ef1df49e.js +0 -1
  448. package/dist/assets/scheme.96f6ce73.js +0 -1
  449. package/dist/assets/shell.4c172f18.js +0 -1
  450. package/dist/assets/show-hint.e95ab391.js +0 -1
  451. package/dist/assets/sieve.bdcdd5e1.js +0 -1
  452. package/dist/assets/slim.bab26569.js +0 -1
  453. package/dist/assets/smalltalk.0234383f.js +0 -1
  454. package/dist/assets/smarty.d8aca261.js +0 -1
  455. package/dist/assets/solr.d8e27de0.js +0 -1
  456. package/dist/assets/soy.06b4848e.js +0 -1
  457. package/dist/assets/sparql.ef7b1e37.js +0 -1
  458. package/dist/assets/spreadsheet.0d9dfaef.js +0 -1
  459. package/dist/assets/sql.85f5cd30.js +0 -1
  460. package/dist/assets/stex.38cc6e30.js +0 -1
  461. package/dist/assets/stylus.4d43a0f9.js +0 -1
  462. package/dist/assets/swift.e665f92b.js +0 -1
  463. package/dist/assets/tcl.4f846188.js +0 -1
  464. package/dist/assets/textile.eef6bf65.js +0 -1
  465. package/dist/assets/tiddlywiki.29dce321.js +0 -1
  466. package/dist/assets/tiki.a2f71a50.js +0 -1
  467. package/dist/assets/toml.64d737ee.js +0 -1
  468. package/dist/assets/tornado.5ebb7f6b.js +0 -1
  469. package/dist/assets/translations.074feb87.js +0 -1
  470. package/dist/assets/troff.e64b5292.js +0 -1
  471. package/dist/assets/ttcn-cfg.1b57714e.js +0 -1
  472. package/dist/assets/ttcn.3ddce744.js +0 -1
  473. package/dist/assets/turtle.0839041f.js +0 -1
  474. package/dist/assets/twig.99a62381.js +0 -1
  475. package/dist/assets/uk-UA.99a7a7a6.js +0 -1
  476. package/dist/assets/validation.cb080608.js +0 -1
  477. package/dist/assets/vb.9a802cc7.js +0 -1
  478. package/dist/assets/vbscript.c3cbffdb.js +0 -1
  479. package/dist/assets/velocity.a1b7e170.js +0 -1
  480. package/dist/assets/verilog.d98a6823.js +0 -1
  481. package/dist/assets/vhdl.6a93f1eb.js +0 -1
  482. package/dist/assets/vue-router.805cb517.entry.js +0 -5
  483. package/dist/assets/vue.c7dd8317.entry.js +0 -1
  484. package/dist/assets/vue.f82ff76a.js +0 -1
  485. package/dist/assets/vue.runtime.esm-bundler.eb605ed6.js +0 -1
  486. package/dist/assets/wast.2c3ec473.js +0 -1
  487. package/dist/assets/webidl.49c5abd3.js +0 -1
  488. package/dist/assets/xquery.a0c67ec5.js +0 -1
  489. package/dist/assets/yacas.d6cc38c0.js +0 -1
  490. package/dist/assets/yaml-frontmatter.f078c218.js +0 -1
  491. package/dist/assets/yaml.2ae1a5ef.js +0 -1
  492. package/dist/assets/z80.fc28354f.js +0 -1
@@ -0,0 +1 @@
1
+ import{y as ye}from"./index.312f2c91.entry.js";function ze(K,O){for(var w=0;w<O.length;w++){const y=O[w];if(typeof y!="string"&&!Array.isArray(y)){for(const v in y)if(v!=="default"&&!(v in K)){const C=Object.getOwnPropertyDescriptor(y,v);C&&Object.defineProperty(K,v,C.get?C:{enumerable:!0,get:()=>y[v]})}}}return Object.freeze(Object.defineProperty(K,Symbol.toStringTag,{value:"Module"}))}var ie={exports:{}};(function(K,O){(function(w){w(ye.exports)})(function(w){w.defineMode("stylus",function(b){for(var c=b.indentUnit,x="",te=p(y),B=/^(a|b|i|s|col|em)$/i,ae=p(I),le=p(E),ce=p(U),se=p(N),de=p(v),ue=Z(v),fe=p(W),pe=p(C),he=p(T),be=/^\s*([.]{2,3}|&&|\|\||\*\*|[?!=:]?=|[-+*\/%<>]=?|\?:|\~)/,ge=Z(F),me=p(X),A=new RegExp(/^\-(moz|ms|o|webkit)-/i),ke=p(Y),S="",s={},g,z,M,t;x.length<c;)x+=" ";function we(i,e){if(S=i.string.match(/(^[\w-]+\s*=\s*$)|(^\s*[\w-]+\s*=\s*[\w-])|(^\s*(\.|#|@|\$|\&|\[|\d|\+|::?|\{|\>|~|\/)?\s*[\w-]*([a-z0-9-]|\*|\/\*)(\(|,)?)/),e.context.line.firstWord=S?S[0].replace(/^\s*/,""):"",e.context.line.indent=i.indentation(),g=i.peek(),i.match("//"))return i.skipToEnd(),["comment","comment"];if(i.match("/*"))return e.tokenize=V,V(i,e);if(g=='"'||g=="'")return i.next(),e.tokenize=D(g),e.tokenize(i,e);if(g=="@")return i.next(),i.eatWhile(/[\w\\-]/),["def",i.current()];if(g=="#"){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"]):g=="!"?(i.next(),[i.match(/^(important|optional)/i)?"keyword":"operator","important"]):g=="."&&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)&&!m(i.current())?(i.match("."),["variable-2","variable-name"]):["variable-2","word"]:i.match(be)?["operator",i.current()]:/[:;,{}\[\]\(\)]/.test(g)?(i.next(),[null,g]):(i.next(),[null,null])}function V(i,e){for(var r=!1,n;(n=i.next())!=null;){if(r&&n=="/"){e.tokenize=null;break}r=n=="*"}return["comment","comment"]}function D(i){return function(e,r){for(var n=!1,l;(l=e.next())!=null;){if(l==i&&!n){i==")"&&e.backUp(1);break}n=!n&&l=="\\"}return(l==i||!n&&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,n){this.type=i,this.indent=e,this.prev=r,this.line=n||{firstWord:"",indent:0}}function o(i,e,r,n){return n=n>=0?n:c,i.context=new H(r,e.indentation()+n,i.context),r}function j(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 R(i,e,r,n){for(var l=n||1;l>0;l--)r.context=r.context.prev;return xe(i,e,r)}function m(i){return i.toLowerCase()in te}function q(i){return i=i.toLowerCase(),i in ae||i in he}function $(i){return i.toLowerCase()in me}function G(i){return i.toLowerCase().match(A)}function _(i){var e=i.toLowerCase(),r="variable-2";return m(i)?r="tag":$(i)?r="block-keyword":q(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 J(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 P(i){return i.sol()||i.string.match(new RegExp("^\\s*"+ne(i.current())))}function a(i){return i.eol()||i.match(/^\s*$/,!1)}function d(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"&&P(e)||i==","&&a(e)||i=="mixin")return o(r,e,"block",0);if(Q(i,e))return o(r,e,"interpolation");if(a(e)&&i=="]"&&!/^\s*(\.|#|:|\[|\*|&)/.test(e.string)&&!m(d(e)))return o(r,e,"block",0);if(J(i,e))return o(r,e,"block");if(i=="}"&&a(e))return o(r,e,"block",0);if(i=="variable-name")return e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/)||$(d(e))?o(r,e,"variableName"):o(r,e,"variableName",0);if(i=="=")return!a(e)&&!$(d(e))?o(r,e,"block",0):o(r,e,"block");if(i=="*"&&(a(e)||e.match(/\s*(,|\.|#|\[|:|{)/,!1)))return t="tag",o(r,e,"block");if(ee(i,e))return o(r,e,"pseudo");if(/@(font-face|media|supports|(-moz-)?document)/.test(i))return o(r,e,a(e)?"block":"atBlock");if(/@(-(moz|ms|o|webkit)-)?keyframes$/.test(i))return o(r,e,"keyframes");if(/@extends?/.test(i))return o(r,e,"extend",0);if(i&&i.charAt(0)=="@")return e.indentation()>0&&q(e.current().slice(1))?(t="variable-2","block"):/(@import|@require|@charset)/.test(i)?o(r,e,"block",0):o(r,e,"block");if(i=="reference"&&a(e))return o(r,e,"block");if(i=="(")return o(r,e,"parens");if(i=="vendor-prefixes")return o(r,e,"vendorPrefixes");if(i=="word"){var n=e.current();if(t=_(n),t=="property")return P(e)?o(r,e,"block",0):(t="atom","block");if(t=="tag"){if(/embed|menu|pre|progress|sub|table/.test(n)&&q(d(e))||e.string.match(new RegExp("\\[\\s*"+n+"|"+n+"\\s*\\]")))return t="atom","block";if(B.test(n)&&(P(e)&&e.string.match(/=/)||!P(e)&&!e.string.match(/^(\s*\.|#|\&|\[|\/|>|\*)/)&&!m(d(e))))return t="variable-2",$(d(e))?"block":o(r,e,"block",0);if(a(e))return o(r,e,"block")}if(t=="block-keyword")return t="keyword",e.current(/(if|unless)/)&&!P(e)?"block":o(r,e,"block");if(n=="return")return o(r,e,"block",0);if(t=="variable-2"&&e.string.match(/^\s?\$[\w-\.\[\]\'\"]+$/))return o(r,e,"block")}return r.context.type},s.parens=function(i,e,r){if(i=="(")return o(r,e,"parens");if(i==")")return r.context.prev.type=="parens"?j(r):e.string.match(/^[a-z][\w-]*\(/i)&&a(e)||$(d(e))||/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(d(e))||!e.string.match(/^-?[a-z][\w-\.\[\]\'\"]*\s*=/)&&m(d(e))?o(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)?o(r,e,"block",0):a(e)?o(r,e,"block"):o(r,e,"block",0);if(i&&i.charAt(0)=="@"&&q(e.current().slice(1))&&(t="variable-2"),i=="word"){var n=e.current();t=_(n),t=="tag"&&B.test(n)&&(t="variable-2"),(t=="property"||n=="to")&&(t="atom")}return i=="variable-name"?o(r,e,"variableName"):ee(i,e)?o(r,e,"pseudo"):r.context.type},s.vendorPrefixes=function(i,e,r){return i=="word"?(t="property",o(r,e,"block",0)):j(r)},s.pseudo=function(i,e,r){return q(d(e.string))?R(i,e,r):(e.match(/^[a-z-]+/),t="variable-3",a(e)?o(r,e,"block"):j(r))},s.atBlock=function(i,e,r){if(i=="(")return o(r,e,"atBlock_parens");if(J(i,e))return o(r,e,"block");if(Q(i,e))return o(r,e,"interpolation");if(i=="word"){var n=e.current().toLowerCase();if(/^(only|not|and|or)$/.test(n)?t="keyword":de.hasOwnProperty(n)?t="tag":pe.hasOwnProperty(n)?t="attribute":fe.hasOwnProperty(n)?t="property":le.hasOwnProperty(n)?t="string-2":t=_(e.current()),t=="tag"&&a(e))return o(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)?o(r,e,"block"):o(r,e,"atBlock");if(i=="word"){var n=e.current().toLowerCase();return t=_(n),/^(max|min)/.test(n)&&(t="property"),t=="tag"&&(B.test(n)?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=="}"&&P(e)||i=="]"||i=="hash"||i=="qualifier"||m(e.current()))?R(i,e,r):i=="{"?o(r,e,"keyframes"):i=="}"?P(e)?j(r,!0):o(r,e,"keyframes"):i=="unit"&&/^[0-9]+\%$/.test(e.current())?o(r,e,"keyframes"):i=="word"&&(t=_(e.current()),t=="block-keyword")?(t="keyword",o(r,e,"keyframes")):/@(font-face|media|supports|(-moz-)?document)/.test(i)?o(r,e,a(e)?"block":"atBlock"):i=="mixin"?o(r,e,"block",0):r.context.type},s.interpolation=function(i,e,r){return i=="{"&&j(r)&&o(r,e,"block"),i=="}"?e.string.match(/^\s*(\.|#|:|\[|\*|&|>|~|\+|\/)/i)||e.string.match(/^\s*[a-z]/i)&&m(d(e))?o(r,e,"block"):!e.string.match(/^(\{|\s*\&)/)||e.match(/\s*[\w-]/,!1)?o(r,e,"block",0):o(r,e,"block"):i=="variable-name"?o(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=="]"?j(r):i=="word"?(t=_(e.current()),"extend"):j(r)},s.variableName=function(i,e,r){return i=="string"||i=="["||i=="]"||e.current().match(/^(\.|\$)/)?(e.current().match(/^\.[\w-]+/i)&&(t="variable-2"),"variableName"):R(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:(z=(e.tokenize||we)(i,e),z&&typeof z=="object"&&(M=z[1],z=z[0]),t=z,e.state=s[e.state](M,i,e),t)},indent:function(i,e,r){var n=i.context,l=e&&e.charAt(0),h=n.indent,L=d(e),k=r.match(/^\s*/)[0].replace(/\t/g,x).length,u=i.context.prev?i.context.prev.line.firstWord:"",f=i.context.prev?i.context.prev.line.indent:k;return n.prev&&(l=="}"&&(n.type=="block"||n.type=="atBlock"||n.type=="keyframes")||l==")"&&(n.type=="parens"||n.type=="atBlock_parens")||l=="{"&&n.type=="at")?h=n.indent-c:/(\})/.test(l)||(/@|\$|\d/.test(l)||/^\{/.test(e)||/^\s*\/(\/|\*)/.test(e)||/^\s*\/\*/.test(u)||/^\s*[\w-\.\[\]\'\"]+\s*(\?|:|\+)?=/i.test(e)||/^(\+|-)?[a-z][\w-]*\(/i.test(e)||/^return/.test(e)||$(L)?h=k:/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(l)||m(L)?/\,\s*$/.test(u)?h=f:/^\s+/.test(r)&&(/(\.|#|:|\[|\*|&|>|~|\+|\/)/.test(u)||m(u))?h=k<=f?f:f+c:h=k:!/,\s*$/.test(r)&&(G(L)||q(L))&&($(u)?h=k<=f?f:f+c:/^\{/.test(u)?h=k<=f?k:f+c:G(u)||q(u)?h=k>=f?f:k:/^(\.|#|:|\[|\*|&|@|\+|\-|>|~|\/)/.test(u)||/=\s*$/.test(u)||m(u)||/^\$[\w-\.\[\]\'\"]/.test(u)?h=f+c:h=k)),h},electricChars:"}",blockCommentStart:"/*",blockCommentEnd:"*/",blockCommentContinue:" * ",lineComment:"//",fold:"indent"}});var y=["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"],v=["domain","regexp","url-prefix","url"],C=["all","aural","braille","handheld","print","projection","screen","tty","tv","embossed"],W=["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"],I=["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"],E=["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"],oe=y.concat(v,C,W,I,E,N,U,T,F,X,Y,re);function Z(b){return b=b.sort(function(c,x){return x>c}),new RegExp("^(("+b.join(")|(")+"))\\b")}function p(b){for(var c={},x=0;x<b.length;++x)c[b[x]]=!0;return c}function ne(b){return b.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}w.registerHelper("hintWords","stylus",oe),w.defineMIME("text/x-styl","stylus")})})();const je=ie.exports,$e=ze({__proto__:null,default:je},[ie.exports]);export{ie as a,$e as s};
@@ -1 +1 @@
1
- import{a as n,o as d,b as c,w as o,l as e,E as t,e as r}from"./runtime-core.esm-bundler.fe249c5c.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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#troubleshooting-steps"},"#"),t(" Troubleshooting Steps")],-1),m=e("li",null,[t("Ensure you\u2019re on the "),e("a",{href:"https://github.com/directus/directus/releases/latest",target:"_blank",rel:"noopener noreferrer"},"latest version"),t(" of Directus.")],-1),f=e("li",null,[t("Stop "),e("code",null,"CTRL+C"),t(" and restart the server "),e("code",null,"npx directus start"),t(".")],-1),_=e("li",null,[t("Run the database migration script: "),e("code",null,"directus database migrate:latest"),e("br"),e("em",null,"Note: backup your database first.")],-1),b=e("li",null,"Disable any data-caching within your project.",-1),y=e("li",null,[t("Test any app issues with both browser extensions and caching disabled "),e("em",null,"(i.e. Incognito Mode)"),t(".")],-1),g=e("li",null,"Confirm the issue is not related to your own custom code.",-1),w=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),x=e("a",{href:"#community-support"},"community support",-1),k=e("h2",{id:"support-tiers",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#support-tiers"},"#"),t(" Support Tiers")],-1),v=e("h3",{id:"community-support",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#community-support"},"#"),t(" Community Support")],-1),q=e("p",null,[e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"GitHub Discussions"),t(" is a great first place to reach out for help. Our community and core developers often check this platform and answer posts. It has the added benefit of being an archival resource for others developers with similar questions.")],-1),C=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),D=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"No Guaranteed Response Time"),e("p",null,"While the Directus Core Team plays an active and engaged role in community discussions, there is no guaranteed response time for Community Support.")],-1),F=e("h3",{id:"basic-and-premium-support",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#basic-and-premium-support"},"#"),t(" Basic and Premium Support")],-1),S=e("p",null,"Basic and Premium Support offer direct communication with the Directus Core Team. Basic support is included on all Enterprise Projects, and Premium Support adds 24/7 response times for critical software issues only.",-1),T=e("h2",{id:"sponsored-work",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#sponsored-work"},"#"),t(" Sponsored Work")],-1),I=e("h3",{id:"commissioned-features",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#commissioned-features"},"#"),t(" Commissioned Features")],-1),j=e("a",{href:"https://directus.io/contact",target:"_blank",rel:"noopener noreferrer"},"reach out to us",-1),E=e("h3",{id:"expedited-fixes",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#expedited-fixes"},"#"),t(" Expedited Fixes")],-1),B=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),N=e("h2",{id:"frequently-asked-questions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#frequently-asked-questions"},"#"),t(" Frequently Asked Questions")],-1),W=e("h3",{id:"does-directus-support-mongo%2Fnosql%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#does-directus-support-mongo%2Fnosql%3F"},"#"),t(" Does Directus support Mongo/NoSQL?")],-1),H=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),O=e("h3",{id:"why-haven%E2%80%99t-you-added-this-feature%2C-or-fixed-that-issue-yet%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#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?")],-1),R=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),z=e("p",null,[t("If you need, you can contact us about "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(". You can also "),e("a",{href:"https://github.com/directus/directus/pulls",target:"_blank",rel:"noopener noreferrer"},"submit a pull request"),t(" \u2014 after all, it is open-source!")],-1),M=e("h3",{id:"can-you-give-an-eta-for-this-feature%2Ffix%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#can-you-give-an-eta-for-this-feature%2Ffix%3F"},"#"),t(" Can you give an ETA for this feature/fix?")],-1),P=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),A=e("h3",{id:"but-this-is-an-emergency%2C-my-very-important-project-requires-it-now!",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#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!")],-1),V=e("p",null,[t("We understand, and are here to help. If you need something prioritized, you can reach out to us to discuss "),e("a",{href:"#basic-and-premium-support"},"premium support"),t(", "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(".")],-1),J="Help & Support",K=!1,U="How to get support for your Directus project.",X="4 min read",Z={__name:"support",setup(G,{expose:a}){const i={title:"Help & Support",modularExtension:!1,description:"How to get support for your Directus project.",readTime:"4 min read"};return a({frontmatter:i}),(L,Q)=>{const s=n("router-link"),u=n("docs-wrapper");return d(),c(u,{frontmatter:i},{default:o(()=>[e("div",l,[h,p,e("p",null,[t("If you\u2019re experiencing issues or think you have found a problem in Directus, be sure to follow these steps before "),r(s,{to:"/docs/contributing/introduction#bug-reporting"},{default:o(()=>[t("Reporting a Bug")]),_:1}),t(":")]),e("ol",null,[e("li",null,[t("Ensure your server and database meet the "),r(s,{to:"/docs/self-hosted/installation/cli#_1-confirm-minimum-requirements"},{default:o(()=>[t("minimum requirements")]),_:1}),t(".")]),m,f,_,b,y,g,w]),e("p",null,[t("If you\u2019re still experiencing a problem after completing the above steps, you can chat through things on our "),x,t(" or "),r(s,{to:"/docs/contributing/introduction#bug-reporting"},{default:o(()=>[t("report a bug")]),_:1}),t(".")]),k,v,q,C,D,F,S,e("p",null,[t("Cloud customers and Self-Hosted users interested in learning more about our monthly retainer agreements should contact us at "),r(s,{to:"/docsmailto:support@directus.io"},{default:o(()=>[t("support@directus.io")]),_:1}),t(".")]),T,I,e("p",null,[t("If you need a specific feature added to Directus faster than the normal development timeline, "),j,t(" for a quote. Our parent agency will often help subsidize the cost of developing new features if they pass our "),r(s,{to:"/docs/contributing/introduction#feature-requests"},{default:o(()=>[t("80/20 Rule")]),_:1}),t(" and can be merged into the core codebase. Other custom/proprietary development will be built bespoke within our robust extension system.")]),E,B,N,W,H,O,R,e("p",null,[t("Our platform is feature-rich, however we strictly adhere to our "),r(s,{to:"/docs/contributing/introduction#feature-requests"},{default:o(()=>[t("80/20 Rule")]),_:1}),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.")]),z,M,P,A,V])]),_:1})}}};export{Z as default,U as description,K as modularExtension,X as readTime,J as title};
1
+ import{a as n,o as d,e as c,y as o,u as e,q as t,z as r}from"./runtime-core.esm-bundler.22ec0346.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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#troubleshooting-steps"},"#"),t(" Troubleshooting Steps")],-1),m=e("li",null,[t("Ensure you\u2019re on the "),e("a",{href:"https://github.com/directus/directus/releases/latest",target:"_blank",rel:"noopener noreferrer"},"latest version"),t(" of Directus.")],-1),f=e("li",null,[t("Stop "),e("code",null,"CTRL+C"),t(" and restart the server "),e("code",null,"npx directus start"),t(".")],-1),_=e("li",null,[t("Run the database migration script: "),e("code",null,"directus database migrate:latest"),e("br"),e("em",null,"Note: backup your database first.")],-1),b=e("li",null,"Disable any data-caching within your project.",-1),y=e("li",null,[t("Test any app issues with both browser extensions and caching disabled "),e("em",null,"(i.e. Incognito Mode)"),t(".")],-1),g=e("li",null,"Confirm the issue is not related to your own custom code.",-1),w=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),x=e("a",{href:"#community-support"},"community support",-1),k=e("h2",{id:"support-tiers",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#support-tiers"},"#"),t(" Support Tiers")],-1),v=e("h3",{id:"community-support",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#community-support"},"#"),t(" Community Support")],-1),q=e("p",null,[e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"GitHub Discussions"),t(" is a great first place to reach out for help. Our community and core developers often check this platform and answer posts. It has the added benefit of being an archival resource for others developers with similar questions.")],-1),C=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),D=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"No Guaranteed Response Time"),e("p",null,"While the Directus Core Team plays an active and engaged role in community discussions, there is no guaranteed response time for Community Support.")],-1),F=e("h3",{id:"basic-and-premium-support",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#basic-and-premium-support"},"#"),t(" Basic and Premium Support")],-1),S=e("p",null,"Basic and Premium Support offer direct communication with the Directus Core Team. Basic support is included on all Enterprise Projects, and Premium Support adds 24/7 response times for critical software issues only.",-1),T=e("h2",{id:"sponsored-work",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#sponsored-work"},"#"),t(" Sponsored Work")],-1),I=e("h3",{id:"commissioned-features",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#commissioned-features"},"#"),t(" Commissioned Features")],-1),j=e("a",{href:"https://directus.io/contact",target:"_blank",rel:"noopener noreferrer"},"reach out to us",-1),E=e("h3",{id:"expedited-fixes",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#expedited-fixes"},"#"),t(" Expedited Fixes")],-1),B=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),N=e("h2",{id:"frequently-asked-questions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#frequently-asked-questions"},"#"),t(" Frequently Asked Questions")],-1),W=e("h3",{id:"does-directus-support-mongo%2Fnosql%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#does-directus-support-mongo%2Fnosql%3F"},"#"),t(" Does Directus support Mongo/NoSQL?")],-1),z=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),H=e("h3",{id:"why-haven%E2%80%99t-you-added-this-feature%2C-or-fixed-that-issue-yet%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#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?")],-1),O=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),R=e("p",null,[t("If you need, you can contact us about "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(". You can also "),e("a",{href:"https://github.com/directus/directus/pulls",target:"_blank",rel:"noopener noreferrer"},"submit a pull request"),t(" \u2014 after all, it is open-source!")],-1),M=e("h3",{id:"can-you-give-an-eta-for-this-feature%2Ffix%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#can-you-give-an-eta-for-this-feature%2Ffix%3F"},"#"),t(" Can you give an ETA for this feature/fix?")],-1),P=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),A=e("h3",{id:"but-this-is-an-emergency%2C-my-very-important-project-requires-it-now!",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#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!")],-1),V=e("p",null,[t("We understand, and are here to help. If you need something prioritized, you can reach out to us to discuss "),e("a",{href:"#basic-and-premium-support"},"premium support"),t(", "),e("a",{href:"#expedited-fixes"},"sponsoring expedited fixes"),t(" or "),e("a",{href:"#commissioned-features"},"commissioning new features"),t(".")],-1),J="Help & Support",K=!1,U="How to get support for your Directus project.",X="4 min read",Z={__name:"support",setup(G,{expose:a}){const i={title:"Help & Support",modularExtension:!1,description:"How to get support for your Directus project.",readTime:"4 min read"};return a({frontmatter:i}),(L,Q)=>{const s=n("router-link"),u=n("docs-wrapper");return d(),c(u,{frontmatter:i},{default:o(()=>[e("div",l,[h,p,e("p",null,[t("If you\u2019re experiencing issues or think you have found a problem in Directus, be sure to follow these steps before "),r(s,{to:"/docs/contributing/introduction#bug-reporting"},{default:o(()=>[t("Reporting a Bug")]),_:1}),t(":")]),e("ol",null,[e("li",null,[t("Ensure your server and database meet the "),r(s,{to:"/docs/self-hosted/installation/cli#_1-confirm-minimum-requirements"},{default:o(()=>[t("minimum requirements")]),_:1}),t(".")]),m,f,_,b,y,g,w]),e("p",null,[t("If you\u2019re still experiencing a problem after completing the above steps, you can chat through things on our "),x,t(" or "),r(s,{to:"/docs/contributing/introduction#bug-reporting"},{default:o(()=>[t("report a bug")]),_:1}),t(".")]),k,v,q,C,D,F,S,e("p",null,[t("Cloud customers and Self-Hosted users interested in learning more about our monthly retainer agreements should contact us at "),r(s,{to:"/docsmailto:support@directus.io"},{default:o(()=>[t("support@directus.io")]),_:1}),t(".")]),T,I,e("p",null,[t("If you need a specific feature added to Directus faster than the normal development timeline, "),j,t(" for a quote. Our parent agency will often help subsidize the cost of developing new features if they pass our "),r(s,{to:"/docs/contributing/introduction#feature-requests"},{default:o(()=>[t("80/20 Rule")]),_:1}),t(" and can be merged into the core codebase. Other custom/proprietary development will be built bespoke within our robust extension system.")]),E,B,N,W,z,H,O,e("p",null,[t("Our platform is feature-rich, however we strictly adhere to our "),r(s,{to:"/docs/contributing/introduction#feature-requests"},{default:o(()=>[t("80/20 Rule")]),_:1}),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.")]),R,M,P,A,V])]),_:1})}}};export{Z as default,U as description,K as modularExtension,X as readTime,J as title};
@@ -0,0 +1 @@
1
+ import{y as F}from"./index.312f2c91.entry.js";function Z(p,d){for(var c=0;c<d.length;c++){const u=d[c];if(typeof u!="string"&&!Array.isArray(u)){for(const f in u)if(f!=="default"&&!(f in p)){const l=Object.getOwnPropertyDescriptor(u,f);l&&Object.defineProperty(p,f,l.get?l:{enumerable:!0,get:()=>u[f]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(p,d){(function(c){c(F.exports)})(function(c){function u(e){for(var t={},n=0;n<e.length;n++)t[e[n]]=!0;return t}var f=u(["_","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__"]),l=u(["var","let","class","enum","extension","import","protocol","struct","func","typealias","associatedtype","for"]),_=u(["true","false","nil","self","super","_"]),x=u(["Array","Bool","Character","Dictionary","Double","Float","Int","Int8","Int16","Int32","Int64","Never","Optional","Set","String","UInt8","UInt16","UInt32","UInt64","Void"]),y="+-/*%=|&<>~^?!",g=":;,.(){}[]",k=/^\-?0b[01][01_]*/,w=/^\-?0o[0-7][0-7_]*/,b=/^\-?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 h(e,t,n){if(e.sol()&&(t.indented=e.indentation()),e.eatSpace())return null;var r=e.peek();if(r=="/"){if(e.match("//"))return e.skipToEnd(),"comment";if(e.match("/*"))return t.tokenize.push(v),v(e,t)}if(e.match(O))return"builtin";if(e.match(I))return"attribute";if(e.match(k)||e.match(w)||e.match(b)||e.match(z))return"number";if(e.match(A))return"property";if(y.indexOf(r)>-1)return e.next(),"operator";if(g.indexOf(r)>-1)return e.next(),e.match(".."),"punctuation";var i;if(i=e.match(/("""|"|')/)){var o=C.bind(null,i[0]);return t.tokenize.push(o),o(e,t)}if(e.match(m)){var a=e.current();return x.hasOwnProperty(a)?"variable-2":_.hasOwnProperty(a)?"atom":f.hasOwnProperty(a)?(l.hasOwnProperty(a)&&(t.prev="define"),"keyword"):n=="define"?"def":"variable"}return e.next(),null}function S(){var e=0;return function(t,n,r){var i=h(t,n,r);if(i=="punctuation"){if(t.current()=="(")++e;else if(t.current()==")"){if(e==0)return t.backUp(1),n.tokenize.pop(),n.tokenize[n.tokenize.length-1](t,n);--e}}return i}}function C(e,t,n){for(var r=e.length==1,i,o=!1;i=t.peek();)if(o){if(t.next(),i=="(")return n.tokenize.push(S()),"string";o=!1}else{if(t.match(e))return n.tokenize.pop(),"string";t.next(),o=i=="\\"}return r&&n.tokenize.pop(),"string"}function v(e,t){for(var n;e.match(/^[^/*]+/,!0),n=e.next(),!!n;)n==="/"&&e.eat("*")?t.tokenize.push(v):n==="*"&&e.eat("/")&&t.tokenize.pop();return"comment"}function P(e,t,n){this.prev=e,this.align=t,this.indented=n}function $(e,t){var n=t.match(/^\s*($|\/[\/\*])/,!1)?null:t.column()+1;e.context=new P(e.context,n,e.indented)}function U(e){e.context&&(e.indented=e.context.indented,e.context=e.context.prev)}c.defineMode("swift",function(e){return{startState:function(){return{prev:null,context:null,indented:0,tokenize:[]}},token:function(t,n){var r=n.prev;n.prev=null;var i=n.tokenize[n.tokenize.length-1]||h,o=i(t,n,r);if(!o||o=="comment"?n.prev=r:n.prev||(n.prev=o),o=="punctuation"){var a=/[\(\[\{]|([\]\)\}])/.exec(t.current());a&&(a[1]?U:$)(n,t)}return o},indent:function(t,n){var r=t.context;if(!r)return 0;var i=/^[\]\}\)]/.test(n);return r.align!=null?r.align-(i?1:0):r.indented+(i?0:e.indentUnit)},electricInput:/^\s*[\)\}\]]$/,lineComment:"//",blockCommentStart:"/*",blockCommentEnd:"*/",fold:"brace",closeBrackets:"()[]{}''\"\"``"}}),c.defineMIME("text/x-swift","swift")})})();const E=s.exports,j=Z({__proto__:null,default:E},[s.exports]);export{j as s};
@@ -0,0 +1 @@
1
+ import{y as x}from"./index.312f2c91.entry.js";function y(c,s){for(var o=0;o<s.length;o++){const i=s[o];if(typeof i!="string"&&!Array.isArray(i)){for(const a in i)if(a!=="default"&&!(a in c)){const l=Object.getOwnPropertyDescriptor(i,a);l&&Object.defineProperty(c,a,l.get?l:{enumerable:!0,get:()=>i[a]})}}}return Object.freeze(Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}))}var k={exports:{}};(function(c,s){(function(o){o(x.exports)})(function(o){o.defineMode("tcl",function(){function i(r){for(var t={},n=r.split(" "),e=0;e<n.length;++e)t[n[e]]=!0;return t}var a=i("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"),l=i("if elseif else and not or eq ne in ni for foreach while switch"),d=/[+\-*&%=<>!?^\/\|]/;function p(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 p(r,t,b(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("*")?p(r,t,g):e=="#"&&r.match(/ *\[ *\[/)?p(r,t,h):(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 f=r.current().toLowerCase();return a&&a.propertyIsEnumerable(f)?"keyword":l&&l.propertyIsEnumerable(f)?(t.beforeParams=!0,"keyword"):null}function b(r){return function(t,n){for(var e=!1,f,m=!1;(f=t.next())!=null;){if(f==r&&!e){m=!0;break}e=!e&&f=="\\"}return m&&(n.tokenize=u),"string"}}function g(r,t){for(var n=!1,e;e=r.next();){if(e=="#"&&n){t.tokenize=u;break}n=e=="*"}return"comment"}function h(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")})})();const _=k.exports,w=y({__proto__:null,default:_},[k.exports]);export{w as t};
@@ -1 +1 @@
1
- import{a as s,o as d,b as c,w as a,l as e,E as t,e as n}from"./runtime-core.esm-bundler.fe249c5c.js";const h={class:"markdown-body"},m=e("blockquote",null,[e("p",null,"A Team is an organizational system that groups Accounts together as Team Members and provides consolidated billing on its nested Projects.")],-1),u=e("p",null,"Teams within the Cloud Dashboard allow individuals to separate or consolidate Projects and payment methods, as well as manage Projects independently or with other Team Members.",-1),p=e("p",null,"For example, a company can use Teams to organize Projects by department, each with consolidated billing and scoped access. Similarly, agencies or freelancers with multiple customers can create a Team per client to limit their access and isolate billing. Teams are free, so create as many as you need to appropriately organize Team Members, Projects and payment methods.",-1),g=e("h2",{id:"create-a-team",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#create-a-team"},"#"),t(" Create a Team")],-1),b=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/create-a-team-20220329A.webp",alt:"Create Team"})],-1),_=e("p",null,"To create a Team:",-1),T=e("ol",null,[e("li",null,[t("Open the Team Menu in the Dashboard Header and click "),e("strong",null,[t("\u201CCreate a Team "),e("span",{mi:"",icon:"",prmry:""},"add"),t("\u201D")]),t("."),e("br"),t(" The Create Team page will open.")]),e("li",null,[t("Enter a Team Name and Team Slug, then click "),e("strong",null,"\u201CSave\u201D"),t(".")])],-1),y=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Team Name and Team Slug"),e("p",null,[t("The Team Name is a text name assigned to a Team, used in the Cloud Dashboard. The Team slug lies within the full URL "),e("code",null,"https://directus.cloud/TEAM-SLUG/projects"),t(". These are purely organizational, allowing you to easily remember the Team and link to specific Cloud Dashboards. They do not impact Cloud Projects or billing and can be "),e("a",{href:"#update-team-settings"},"updated at any time"),t(".")])],-1),v=e("h2",{id:"update-team-settings",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#update-team-settings"},"#"),t(" Update Team Settings")],-1),f=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/managing-a-team-20220225A.webp",alt:"Managing a Team"})],-1),w=e("p",null,"To update Team Settings:",-1),P=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CSettings\u201D"),t(" to enter the Team Settings page.")]),e("li",null,[t("Toggle "),e("span",{mi:"",icon:"",prmry:""},"edit"),t(" to allow edits.")]),e("li",null,"Edit Team Name and Team Slug as desired."),e("li",null,[t("Click the "),e("strong",null,"\u201CSave\u201D"),t(" button.")])],-1),A=e("h2",{id:"view-team-activity",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#view-team-activity"},"#"),t(" View Team Activity")],-1),j=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/view-team-activity-20220322A.webp",alt:"View Team Activity"})],-1),M=e("p",null,"The Team Activity Page displays billing information changes, created and destroyed Projects, Team Members added or removed, Team Name and Team Slug changes, and any other major Team-oriented activities. To view Team Activity:",-1),x=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CActivity\u201D"),t(".")])],-1),N=e("h2",{id:"view-billing-details",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#view-billing-details"},"#"),t(" View Billing Details")],-1),C=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/view-billing-details-20220322A.webp",alt:"View Billing Details"})],-1),k=e("p",null,"Follow these steps to see billing details such as credit available to Team Projects, total active subscriptions and invoice receipts:",-1),S=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CBilling\u201D"),t(" to enter the Billing Details Page.")])],-1),D=e("h2",{id:"manage-billing",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#manage-billing"},"#"),t(" Manage Billing")],-1),B=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/manage-billing-20220322A.webp",alt:"Manage Billing"})],-1),$=e("p",null,"Since our Community tier is completely free, and our Enterprise tier pricing is individually tailored based on customer needs, this section will focus on our pay-as-you-go Standard tier. Follow the steps below to change a default payment method, add or remove additional payment methods or change other billing details:",-1),I=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CBilling\u201D"),t(" to enter the Billing Details page.")]),e("li",null,[t("Click "),e("strong",null,"\u201CManage Billing\u201D"),t(" to enter the Stripe payments gateway.")]),e("li",null,"Adjust payment methods and details as needed."),e("li",null,[t("Click "),e("strong",null,"\u201CReturn to Directus Cloud\u201D"),t(".")])],-1),R=e("h3",{id:"team-billing",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#team-billing"},"#"),t(" Team Billing")],-1),O=e("p",null,[t("Teams are free to create, and they give Team Members access to the same Projects, Project invoices and payment methods. Each Team has its own separate billing, and each Project within a Team is "),e("a",{href:"#how-bills-are-calculated"},"calculated"),t(" and "),e("a",{href:"#billing-cycles"},"invoiced separately every month"),t(".")],-1),E=e("p",null,"Team Members are SuperAdmins. As such, they have full access to manage billing information and payment methods, including information provided by other Team Members. When creating Projects in an existing team, you can reuse existing team credit card on file. Team Members should be highly trusted individuals.",-1),H=e("p",null,"All bills will first be invoiced to the default payment method. You may notice that it is possible to add additional payment methods, and it may be a good idea to do so, as keeping multiple payment methods on file provides a fail-safe to help make sure your Project stays running. In the event that there is an issue processing the default payment method, the other payment methods on file will be attempted. If the bill is not paid, the Nodes will be paused, halting web-traffic, until a successful payment is made.",-1),V=e("div",{class:"warning hint"},[e("p",null,[t("If the paused Project is never repaid, it will eventually be deleted along with all of its data and assets. For details on unpaid Projects and refunds, see "),e("a",{href:"https://directus.io/cloud-policies",target:"_blank",rel:"noopener noreferrer"},"Cloud Policies")])],-1),z=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Team Metered Usage"),e("p",null,[t("You may notice credit on top of the "),e("a",{href:"#view-billing-details"},"Billing Page"),t(". In the "),e("em",null,"rare event"),t(" your Team receives credit from the Directus Team, this credit balance will decrease the amount due on the next invoice(s) until all credit is used up. Then the default payment method will be used.")])],-1),L=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Stripe Payment"),e("p",null,"To handle billing, Directus Cloud uses Stripe, a secure, industry-leading, dynamic international billing service.")],-1),F=e("h3",{id:"billing-cycles",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#billing-cycles"},"#"),t(" Billing Cycles")],-1),G=e("p",null,"Bills are invoiced on a calendar monthly basis, so each new billing period begins after exactly one month. When a Project is destroyed, the bill is processed immediately. As mentioned in the previous section, bills are invoiced per-Project; so if a Team has 4 Standard Projects, it will be charged 4 times each month.",-1),U=e("h3",{id:"how-bills-are-calculated",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#how-bills-are-calculated"},"#"),t(" How Bills Are Calculated")],-1),Y=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Node Pricing"),e("p",null,[e("strong",null,"Lite:"),t(" $0.03424657534 / hour"),e("br"),e("strong",null,"General Purpose Tier:"),t(" $0.06849315068 / hour")])],-1),W=e("p",null,[t("This means the monthly prices given for Reserved Nodes, "),e("em",null,"$25/month for Lite and $50/month for General Purpose tier"),t(", are actually estimates based on the cost per hour times the average length of a month (730 hours). So, the pricing shown for one Lite Node is "),e("code",null,"$0.03424657534 x 730hrs = $25"),t(", however the actual bill will vary slightly each month, based on the actual hours in the month.")],-1),q=e("p",null,[t("Keep in mind that a Standard Project\u2019s Nodes can be reconfigured at any time. You can upgrade and downgrade Node Types, add and remove Nodes, or destroy your Project as you please. In the end, "),e("em",null,"you simply pay for the actual Node-hours used by your Project"),t(".")],-1),K=e("p",null,"The following examples demonstrate this billing system:",-1),J=e("p",null,[e("strong",null,"Hourly Pricing"),e("br"),t(" A Project is configured to use one Lite Node. The Project runs for 3 days and 3.5 hours (75.5 hours total, rounded to 76 hours) and is then destroyed, costing "),e("code",null,"1 Node x $0.03424657534/hr x 76 hrs = $2.60"),t(".")],-1),Q=e("p",null,[t("The bill will be "),e("code",null,"$2.60"),t(" plus Tax/VAT, charged at Project destruction.")],-1),X=e("p",null,[e("strong",null,"Monthly Node Rates"),e("br"),t(" A Project is configured to use two General Purpose Tier Nodes. The Project runs the full month (730 hours). For this billing cycle, the two Reserved Nodes will cost "),e("code",null,"2 Nodes x $0.06849315068/hr x 730 hrs = $100"),t(".")],-1),Z=e("p",null,[t("The monthly bill will be "),e("code",null,"$100"),t(" plus Tax/VAT.")],-1),ee=e("p",null,[e("strong",null,"Pro-rated Changes"),e("br"),t(" A Project begins the billing cycle configured to use one Lite Node. A massive traffic spike is expected from marketing activities this month and 200 hours into the month, the Project is reconfigured to use five General Purpose Tier Nodes. The first 200 hours run the bill to "),e("code",null,"(1 Lite Node x $0.03424657534/hr x 200hrs) = $6.85"),t(". Then the other 530 hours add "),e("code",null,"(5 General Purpose Nodes x $0.06849315068/hr x 530hrs) = $181.51"),t(".")],-1),te=e("p",null,[t("The monthly bill will be "),e("code",null,"$188.36"),t(" plus VAT/Tax.")],-1),ae=e("h3",{id:"optimize-node-configuration",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#optimize-node-configuration"},"#"),t(" Optimize Node Configuration")],-1),ie=e("em",null,"you are never locked-in to a specific Node configuration",-1),ne=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Reserved Nodes"),e("p",null,"For production-ready Projects of any kind, it is probably a good idea to have one or more than one Reserved Node. If you do not have the processing power to handle incoming traffic spikes, this can crash your Node!")],-1),oe=e("h2",{id:"invite-team-members",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#invite-team-members"},"#"),t(" Invite Team Members")],-1),se=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/inviting-a-team-member-20220225A.webp",alt:"Inviting a Team Member"})],-1),le=e("p",null,"All Team Members can invite new Members via email. Each invitee will be emailed a link to accept the invitation and join the Team. To invite Team Members:",-1),re=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CMembers\u201D"),t(" to enter the Members Page.")]),e("li",null,"Scroll down to the Invite New Members section."),e("li",null,"Enter one or more email(s), comma separated."),e("li",null,[t("Click "),e("strong",null,"\u201CSend Invites.\u201D")])],-1),de={class:"tip hint"},ce=e("h2",{id:"manage-team-members",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#manage-team-members"},"#"),t(" Manage Team Members")],-1),he=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/leaving-a-team-20220225A.webp",alt:"Removing a Team member"})],-1),me=e("p",null,"All Team Members have the ability to remove other Members or invites from a Team. To remove Members or leave a Team yourself:",-1),ue=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CMembers\u201D"),t(" to enter the Members Page.")]),e("li",null,[t("Click the "),e("span",{mi:"",icon:""},"exit_to_app"),t(" or "),e("span",{mi:"",icon:""},"close"),t(" button on the desired Member.")]),e("li",null,[t("Click "),e("strong",null,"\u201CConfirm\u201D"),t(".")])],-1),pe=e("div",{class:"warning hint"},[e("p",null,"If an Account leaves or is removed from a Team, it will be fully \u201Clocked out\u201D of the Team until re-invited by another Member.")],-1),ge=e("h2",{id:"destroy-a-team",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#destroy-a-team"},"#"),t(" Destroy a Team")],-1),be=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/destroy-a-team-20220225A.webp",alt:"Destroying a Team"})],-1),_e=e("p",null,"To destroy a Team:",-1),Te=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CSettings\u201D"),t(" to enter the Team Settings Page.")]),e("li",null,"Scroll down to the \u201CDestroy this Team\u201D section."),e("li",null,[t("Toggle "),e("span",{mi:"",icon:"",dngr:""},"local_fire_department"),t(" and an input box will appear.")]),e("li",null,"Type the Team Name into the input box."),e("li",null,[t("Click "),e("strong",null,"\u201CDestroy Team\u201D"),t(".")])],-1),ye=e("div",{class:"danger hint"},[e("p",null,"Destroying a Team completely removes all its data from Directus Cloud. This action is permanent and irreversible. Proceed with caution!")],-1),ve=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Teams with Active Projects"),e("p",null,"To delete a Team, you must first delete any active Projects within it.")],-1),je="Cloud Teams",Me=!1,xe="A Team is an organizational system that groups Accounts together as Team Members and provides consolidated billing on its nested Projects.",Ne="10 min read",Ce={__name:"teams",setup(fe,{expose:l}){const o={title:"Cloud Teams",modularExtension:!1,description:"A Team is an organizational system that groups Accounts together as Team Members and provides consolidated billing on its nested Projects.",readTime:"10 min read"};return l({frontmatter:o}),(we,Pe)=>{const i=s("router-link"),r=s("docs-wrapper");return d(),c(r,{frontmatter:o},{default:a(()=>[e("div",h,[m,u,p,e("p",null,[t("See the "),n(i,{to:"/docs/cloud/overview"},{default:a(()=>[t("Overview")]),_:1}),t(" to learn how Accounts, Teams and Projects interrelate.")]),g,b,_,T,y,v,f,w,P,A,j,M,x,N,C,k,S,D,B,$,I,R,O,E,H,V,z,L,F,G,U,e("p",null,[t("Project billing is calculated based on the total number of hours that Reserved Nodes are used during the billing period. Once the "),n(i,{to:"/docs/cloud/glossary#nodes"},{default:a(()=>[t("Node Type")]),_:1}),t(" is selected, this applies to all Reserved Nodes.")]),Y,W,q,K,J,Q,X,Z,ee,te,ae,e("p",null,[t("Remember: "),ie,t(". As your needs change for a Project, you can reconfigure the Node Type as well as the number of Reserved Nodes at any time. To that end, you may want to monitor overall system traffic and make more-informed decisions on Node reconfiguration. The "),n(i,{to:"/docs/cloud/projects#monitor-a-project"},{default:a(()=>[t("Project Monitor Page")]),_:1}),t(" provides performance analytics, which can be used to help identify optimal Node configurations for your Project.")]),ne,oe,se,le,re,e("div",de,[e("p",null,[t("Clicking the emailed invitation link does not automatically create an Account for you. Invitees will need to "),n(i,{to:"/docs/cloud/accounts#create-account-and-login"},{default:a(()=>[t("create an Account")]),_:1}),t(" before accepting an invitation to join a Team.")])]),ce,he,me,ue,pe,ge,be,_e,Te,ye,ve])]),_:1})}}};export{Ce as default,xe as description,Me as modularExtension,Ne as readTime,je as title};
1
+ import{a as s,o as d,e as c,y as a,u as e,q as t,z as n}from"./runtime-core.esm-bundler.22ec0346.js";const h={class:"markdown-body"},m=e("blockquote",null,[e("p",null,"A Team is an organizational system that groups Accounts together as Team Members and provides consolidated billing on its nested Projects.")],-1),u=e("p",null,"Teams within the Cloud Dashboard allow individuals to separate or consolidate Projects and payment methods, as well as manage Projects independently or with other Team Members.",-1),p=e("p",null,"For example, a company can use Teams to organize Projects by department, each with consolidated billing and scoped access. Similarly, agencies or freelancers with multiple customers can create a Team per client to limit their access and isolate billing. Teams are free, so create as many as you need to appropriately organize Team Members, Projects and payment methods.",-1),g=e("h2",{id:"create-a-team",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#create-a-team"},"#"),t(" Create a Team")],-1),b=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/create-a-team-20220329A.webp",alt:"Create Team"})],-1),_=e("p",null,"To create a Team:",-1),T=e("ol",null,[e("li",null,[t("Open the Team Menu in the Dashboard Header and click "),e("strong",null,[t("\u201CCreate a Team "),e("span",{mi:"",icon:"",prmry:""},"add"),t("\u201D")]),t("."),e("br"),t(" The Create Team page will open.")]),e("li",null,[t("Enter a Team Name and Team Slug, then click "),e("strong",null,"\u201CSave\u201D"),t(".")])],-1),y=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Team Name and Team Slug"),e("p",null,[t("The Team Name is a text name assigned to a Team, used in the Cloud Dashboard. The Team slug lies within the full URL "),e("code",null,"https://directus.cloud/TEAM-SLUG/projects"),t(". These are purely organizational, allowing you to easily remember the Team and link to specific Cloud Dashboards. They do not impact Cloud Projects or billing and can be "),e("a",{href:"#update-team-settings"},"updated at any time"),t(".")])],-1),v=e("h2",{id:"update-team-settings",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#update-team-settings"},"#"),t(" Update Team Settings")],-1),f=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/managing-a-team-20220225A.webp",alt:"Managing a Team"})],-1),w=e("p",null,"To update Team Settings:",-1),P=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CSettings\u201D"),t(" to enter the Team Settings page.")]),e("li",null,[t("Toggle "),e("span",{mi:"",icon:"",prmry:""},"edit"),t(" to allow edits.")]),e("li",null,"Edit Team Name and Team Slug as desired."),e("li",null,[t("Click the "),e("strong",null,"\u201CSave\u201D"),t(" button.")])],-1),A=e("h2",{id:"view-team-activity",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#view-team-activity"},"#"),t(" View Team Activity")],-1),j=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/view-team-activity-20220322A.webp",alt:"View Team Activity"})],-1),M=e("p",null,"The Team Activity Page displays billing information changes, created and destroyed Projects, Team Members added or removed, Team Name and Team Slug changes, and any other major Team-oriented activities. To view Team Activity:",-1),x=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CActivity\u201D"),t(".")])],-1),N=e("h2",{id:"view-billing-details",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#view-billing-details"},"#"),t(" View Billing Details")],-1),C=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/view-billing-details-20220322A.webp",alt:"View Billing Details"})],-1),k=e("p",null,"Follow these steps to see billing details such as credit available to Team Projects, total active subscriptions and invoice receipts:",-1),S=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CBilling\u201D"),t(" to enter the Billing Details Page.")])],-1),D=e("h2",{id:"manage-billing",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#manage-billing"},"#"),t(" Manage Billing")],-1),B=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/manage-billing-20220322A.webp",alt:"Manage Billing"})],-1),$=e("p",null,"Since our Community tier is completely free, and our Enterprise tier pricing is individually tailored based on customer needs, this section will focus on our pay-as-you-go Standard tier. Follow the steps below to change a default payment method, add or remove additional payment methods or change other billing details:",-1),I=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CBilling\u201D"),t(" to enter the Billing Details page.")]),e("li",null,[t("Click "),e("strong",null,"\u201CManage Billing\u201D"),t(" to enter the Stripe payments gateway.")]),e("li",null,"Adjust payment methods and details as needed."),e("li",null,[t("Click "),e("strong",null,"\u201CReturn to Directus Cloud\u201D"),t(".")])],-1),R=e("h3",{id:"team-billing",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#team-billing"},"#"),t(" Team Billing")],-1),O=e("p",null,[t("Teams are free to create, and they give Team Members access to the same Projects, Project invoices and payment methods. Each Team has its own separate billing, and each Project within a Team is "),e("a",{href:"#how-bills-are-calculated"},"calculated"),t(" and "),e("a",{href:"#billing-cycles"},"invoiced separately every month"),t(".")],-1),z=e("p",null,"Team Members are SuperAdmins. As such, they have full access to manage billing information and payment methods, including information provided by other Team Members. When creating Projects in an existing team, you can reuse existing team credit card on file. Team Members should be highly trusted individuals.",-1),H=e("p",null,"All bills will first be invoiced to the default payment method. You may notice that it is possible to add additional payment methods, and it may be a good idea to do so, as keeping multiple payment methods on file provides a fail-safe to help make sure your Project stays running. In the event that there is an issue processing the default payment method, the other payment methods on file will be attempted. If the bill is not paid, the Nodes will be paused, halting web-traffic, until a successful payment is made.",-1),V=e("div",{class:"warning hint"},[e("p",null,[t("If the paused Project is never repaid, it will eventually be deleted along with all of its data and assets. For details on unpaid Projects and refunds, see "),e("a",{href:"https://directus.io/cloud-policies",target:"_blank",rel:"noopener noreferrer"},"Cloud Policies")])],-1),E=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Team Metered Usage"),e("p",null,[t("You may notice credit on top of the "),e("a",{href:"#view-billing-details"},"Billing Page"),t(". In the "),e("em",null,"rare event"),t(" your Team receives credit from the Directus Team, this credit balance will decrease the amount due on the next invoice(s) until all credit is used up. Then the default payment method will be used.")])],-1),L=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Stripe Payment"),e("p",null,"To handle billing, Directus Cloud uses Stripe, a secure, industry-leading, dynamic international billing service.")],-1),F=e("h3",{id:"billing-cycles",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#billing-cycles"},"#"),t(" Billing Cycles")],-1),G=e("p",null,"Bills are invoiced on a calendar monthly basis, so each new billing period begins after exactly one month. When a Project is destroyed, the bill is processed immediately. As mentioned in the previous section, bills are invoiced per-Project; so if a Team has 4 Standard Projects, it will be charged 4 times each month.",-1),U=e("h3",{id:"how-bills-are-calculated",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#how-bills-are-calculated"},"#"),t(" How Bills Are Calculated")],-1),Y=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Node Pricing"),e("p",null,[e("strong",null,"Lite:"),t(" $0.03424657534 / hour"),e("br"),e("strong",null,"General Purpose Tier:"),t(" $0.06849315068 / hour")])],-1),q=e("p",null,[t("This means the monthly prices given for Reserved Nodes, "),e("em",null,"$25/month for Lite and $50/month for General Purpose tier"),t(", are actually estimates based on the cost per hour times the average length of a month (730 hours). So, the pricing shown for one Lite Node is "),e("code",null,"$0.03424657534 x 730hrs = $25"),t(", however the actual bill will vary slightly each month, based on the actual hours in the month.")],-1),W=e("p",null,[t("Keep in mind that a Standard Project\u2019s Nodes can be reconfigured at any time. You can upgrade and downgrade Node Types, add and remove Nodes, or destroy your Project as you please. In the end, "),e("em",null,"you simply pay for the actual Node-hours used by your Project"),t(".")],-1),K=e("p",null,"The following examples demonstrate this billing system:",-1),J=e("p",null,[e("strong",null,"Hourly Pricing"),e("br"),t(" A Project is configured to use one Lite Node. The Project runs for 3 days and 3.5 hours (75.5 hours total, rounded to 76 hours) and is then destroyed, costing "),e("code",null,"1 Node x $0.03424657534/hr x 76 hrs = $2.60"),t(".")],-1),Q=e("p",null,[t("The bill will be "),e("code",null,"$2.60"),t(" plus Tax/VAT, charged at Project destruction.")],-1),X=e("p",null,[e("strong",null,"Monthly Node Rates"),e("br"),t(" A Project is configured to use two General Purpose Tier Nodes. The Project runs the full month (730 hours). For this billing cycle, the two Reserved Nodes will cost "),e("code",null,"2 Nodes x $0.06849315068/hr x 730 hrs = $100"),t(".")],-1),Z=e("p",null,[t("The monthly bill will be "),e("code",null,"$100"),t(" plus Tax/VAT.")],-1),ee=e("p",null,[e("strong",null,"Pro-rated Changes"),e("br"),t(" A Project begins the billing cycle configured to use one Lite Node. A massive traffic spike is expected from marketing activities this month and 200 hours into the month, the Project is reconfigured to use five General Purpose Tier Nodes. The first 200 hours run the bill to "),e("code",null,"(1 Lite Node x $0.03424657534/hr x 200hrs) = $6.85"),t(". Then the other 530 hours add "),e("code",null,"(5 General Purpose Nodes x $0.06849315068/hr x 530hrs) = $181.51"),t(".")],-1),te=e("p",null,[t("The monthly bill will be "),e("code",null,"$188.36"),t(" plus VAT/Tax.")],-1),ae=e("h3",{id:"optimize-node-configuration",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#optimize-node-configuration"},"#"),t(" Optimize Node Configuration")],-1),ie=e("em",null,"you are never locked-in to a specific Node configuration",-1),ne=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Reserved Nodes"),e("p",null,"For production-ready Projects of any kind, it is probably a good idea to have one or more than one Reserved Node. If you do not have the processing power to handle incoming traffic spikes, this can crash your Node!")],-1),oe=e("h2",{id:"invite-team-members",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#invite-team-members"},"#"),t(" Invite Team Members")],-1),se=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/inviting-a-team-member-20220225A.webp",alt:"Inviting a Team Member"})],-1),le=e("p",null,"All Team Members can invite new Members via email. Each invitee will be emailed a link to accept the invitation and join the Team. To invite Team Members:",-1),re=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CMembers\u201D"),t(" to enter the Members Page.")]),e("li",null,"Scroll down to the Invite New Members section."),e("li",null,"Enter one or more email(s), comma separated."),e("li",null,[t("Click "),e("strong",null,"\u201CSend Invites.\u201D")])],-1),de={class:"tip hint"},ce=e("h2",{id:"manage-team-members",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#manage-team-members"},"#"),t(" Manage Team Members")],-1),he=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/leaving-a-team-20220225A.webp",alt:"Removing a Team member"})],-1),me=e("p",null,"All Team Members have the ability to remove other Members or invites from a Team. To remove Members or leave a Team yourself:",-1),ue=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CMembers\u201D"),t(" to enter the Members Page.")]),e("li",null,[t("Click the "),e("span",{mi:"",icon:""},"exit_to_app"),t(" or "),e("span",{mi:"",icon:""},"close"),t(" button on the desired Member.")]),e("li",null,[t("Click "),e("strong",null,"\u201CConfirm\u201D"),t(".")])],-1),pe=e("div",{class:"warning hint"},[e("p",null,"If an Account leaves or is removed from a Team, it will be fully \u201Clocked out\u201D of the Team until re-invited by another Member.")],-1),ge=e("h2",{id:"destroy-a-team",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#destroy-a-team"},"#"),t(" Destroy a Team")],-1),be=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/cloud/teams/teams-20220322A/destroy-a-team-20220225A.webp",alt:"Destroying a Team"})],-1),_e=e("p",null,"To destroy a Team:",-1),Te=e("ol",null,[e("li",null,"Open the Team Menu in the Dashboard Header and select the desired Team."),e("li",null,[t("Click "),e("strong",null,"\u201CSettings\u201D"),t(" to enter the Team Settings Page.")]),e("li",null,"Scroll down to the \u201CDestroy this Team\u201D section."),e("li",null,[t("Toggle "),e("span",{mi:"",icon:"",dngr:""},"local_fire_department"),t(" and an input box will appear.")]),e("li",null,"Type the Team Name into the input box."),e("li",null,[t("Click "),e("strong",null,"\u201CDestroy Team\u201D"),t(".")])],-1),ye=e("div",{class:"danger hint"},[e("p",null,"Destroying a Team completely removes all its data from Directus Cloud. This action is permanent and irreversible. Proceed with caution!")],-1),ve=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Teams with Active Projects"),e("p",null,"To delete a Team, you must first delete any active Projects within it.")],-1),je="Cloud Teams",Me=!1,xe="A Team is an organizational system that groups Accounts together as Team Members and provides consolidated billing on its nested Projects.",Ne="10 min read",Ce={__name:"teams",setup(fe,{expose:l}){const o={title:"Cloud Teams",modularExtension:!1,description:"A Team is an organizational system that groups Accounts together as Team Members and provides consolidated billing on its nested Projects.",readTime:"10 min read"};return l({frontmatter:o}),(we,Pe)=>{const i=s("router-link"),r=s("docs-wrapper");return d(),c(r,{frontmatter:o},{default:a(()=>[e("div",h,[m,u,p,e("p",null,[t("See the "),n(i,{to:"/docs/cloud/overview"},{default:a(()=>[t("Overview")]),_:1}),t(" to learn how Accounts, Teams and Projects interrelate.")]),g,b,_,T,y,v,f,w,P,A,j,M,x,N,C,k,S,D,B,$,I,R,O,z,H,V,E,L,F,G,U,e("p",null,[t("Project billing is calculated based on the total number of hours that Reserved Nodes are used during the billing period. Once the "),n(i,{to:"/docs/cloud/glossary#nodes"},{default:a(()=>[t("Node Type")]),_:1}),t(" is selected, this applies to all Reserved Nodes.")]),Y,q,W,K,J,Q,X,Z,ee,te,ae,e("p",null,[t("Remember: "),ie,t(". As your needs change for a Project, you can reconfigure the Node Type as well as the number of Reserved Nodes at any time. To that end, you may want to monitor overall system traffic and make more-informed decisions on Node reconfiguration. The "),n(i,{to:"/docs/cloud/projects#monitor-a-project"},{default:a(()=>[t("Project Monitor Page")]),_:1}),t(" provides performance analytics, which can be used to help identify optimal Node configurations for your Project.")]),ne,oe,se,le,re,e("div",de,[e("p",null,[t("Clicking the emailed invitation link does not automatically create an Account for you. Invitees will need to "),n(i,{to:"/docs/cloud/accounts#create-account-and-login"},{default:a(()=>[t("create an Account")]),_:1}),t(" before accepting an invitation to join a Team.")])]),ce,he,me,ue,pe,ge,be,_e,Te,ye,ve])]),_:1})}}};export{Ce as default,xe as description,Me as modularExtension,Ne as readTime,je as title};
@@ -0,0 +1 @@
1
+ import{y as R}from"./index.312f2c91.entry.js";function w(y,m){for(var c=0;c<m.length;c++){const u=m[c];if(typeof u!="string"&&!Array.isArray(u)){for(const d in u)if(d!=="default"&&!(d in y)){const b=Object.getOwnPropertyDescriptor(u,d);b&&Object.defineProperty(y,d,b.get?b:{enumerable:!0,get:()=>u[d]})}}}return Object.freeze(Object.defineProperty(y,Symbol.toStringTag,{value:"Module"}))}var k={exports:{}};(function(y,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 d(t,e){e.mode=r.newLayout,e.tableHeading=!1,e.layoutType==="definitionList"&&e.spanningLayout&&t.match(l("definitionListEnd"),!1)&&(e.spanningLayout=!1)}function b(t,e,i){if(i==="_")return t.eat("_")?f(t,e,"italic",/__/,2):f(t,e,"em",/_/,1);if(i==="*")return t.eat("*")?f(t,e,"bold",/\*\*/,2):f(t,e,"strong",/\*/,1);if(i==="[")return t.match(/\d+\]/)&&(e.footCite=!0),a(e);if(i==="("){var o=t.match(/^(r|tm|c)\)/);if(o)return p(e,u.specialChar)}if(i==="<"&&t.match(/(\w+)[^>]+>[^<]+<\/\1>/))return p(e,u.html);if(i==="?"&&t.eat("?"))return f(t,e,"cite",/\?\?/,2);if(i==="="&&t.eat("="))return f(t,e,"notextile",/==/,2);if(i==="-"&&!t.eat("-"))return f(t,e,"deletion",/-/,1);if(i==="+")return f(t,e,"addition",/\+/,1);if(i==="~")return f(t,e,"sub",/~/,1);if(i==="^")return f(t,e,"sup",/\^/,1);if(i==="%")return f(t,e,"span",/%/,1);if(i==="@")return f(t,e,"code",/@/,1);if(i==="!"){var s=f(t,e,"image",/(?:\([^\)]+\))?!/,1);return t.match(/^:\S+/),s}return a(e)}function f(t,e,i,o,s){var g=t.pos>s?t.string.charAt(t.pos-s-1):null,h=t.peek();if(e[i]){if((!h||/\W/.test(h))&&g&&/\S/.test(g)){var L=a(e);return e[i]=!1,L}}else(!g||/\W/.test(g))&&h&&/\S/.test(h)&&t.match(new RegExp("^.*\\S"+o.source+"(?:\\W|$)"),!1)&&(e[i]=!0,e.mode=r.attributes);return a(e)}function a(t){var e=v(t);if(e)return e;var i=[];return t.layoutType&&i.push(u[t.layoutType]),i=i.concat(T(t,"addition","bold","cite","code","deletion","em","footCite","image","italic","link","span","strong","sub","sup","table","tableHeading")),t.layoutType==="header"&&i.push(u.header+"-"+t.header),i.length?i.join(" "):null}function v(t){var e=t.layoutType;switch(e){case"notextile":case"code":case"pre":return u[e];default:return t.notextile?u.notextile+(e?" "+u[e]:""):null}}function p(t,e){var i=v(t);if(i)return i;var o=a(t);return e?o?o+" "+e:e:o}function T(t){for(var e=[],i=1;i<arguments.length;++i)t[arguments[i]]&&e.push(u[arguments[i]]);return e}function x(t){var e=t.spanningLayout,i=t.layoutType;for(var o in t)t.hasOwnProperty(o)&&delete t[o];t.mode=r.newLayout,e&&(t.layoutType=i,t.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(t){switch(t){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,l("allAttributes"),"*\\s+");case"tableCellAttributes":return n.makeRe("^",n.choiceRe(n.single.tableCellAttributes,l("allAttributes")),"+\\.");case"type":return n.makeRe("^",l("allTypes"));case"typeLayout":return n.makeRe("^",l("allTypes"),l("allAttributes"),"*\\.\\.?","(\\s+|$)");case"attributes":return n.makeRe("^",l("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[t])}},makeRe:function(){for(var t="",e=0;e<arguments.length;++e){var i=arguments[e];t+=typeof i=="string"?i:i.source}return new RegExp(t)},choiceRe:function(){for(var t=[arguments[0]],e=1;e<arguments.length;++e)t[e*2-1]="|",t[e*2]=arguments[e];return t.unshift("(?:"),t.push(")"),n.makeRe.apply(null,t)}};function l(t){return n.cache[t]||(n.cache[t]=n.createRe(t))}var r={newLayout:function(t,e){if(t.match(l("typeLayout"),!1))return e.spanningLayout=!1,(e.mode=r.blockType)(t,e);var i;return v(e)||(t.match(l("listLayout"),!1)?i=r.list:t.match(l("drawTable"),!1)?i=r.table:t.match(l("linkDefinition"),!1)?i=r.linkDefinition:t.match(l("definitionList"))?i=r.definitionList:t.match(l("html"),!1)&&(i=r.html)),(e.mode=i||r.text)(t,e)},blockType:function(t,e){var i,o;if(e.layoutType=null,i=t.match(l("type")))o=i[0];else return(e.mode=r.text)(t,e);return(i=o.match(l("header")))?(e.layoutType="header",e.header=parseInt(i[0][1])):o.match(l("bq"))?e.layoutType="quote":o.match(l("bc"))?e.layoutType="code":o.match(l("foot"))?e.layoutType="footnote":o.match(l("notextile"))?e.layoutType="notextile":o.match(l("pre"))?e.layoutType="pre":o.match(l("div"))?e.layoutType="div":o.match(l("table"))&&(e.layoutType="table"),e.mode=r.attributes,a(e)},text:function(t,e){if(t.match(l("text")))return a(e);var i=t.next();return i==='"'?(e.mode=r.link)(t,e):b(t,e,i)},attributes:function(t,e){return e.mode=r.layoutLength,t.match(l("attributes"))?p(e,u.attributes):a(e)},layoutLength:function(t,e){return t.eat(".")&&t.eat(".")&&(e.spanningLayout=!0),e.mode=r.text,a(e)},list:function(t,e){var i=t.match(l("list"));e.listDepth=i[0].length;var o=(e.listDepth-1)%3;return o?o===1?e.layoutType="list2":e.layoutType="list3":e.layoutType="list1",e.mode=r.attributes,a(e)},link:function(t,e){return e.mode=r.text,t.match(l("link"))?(t.match(/\S+/),p(e,u.link)):a(e)},linkDefinition:function(t,e){return t.skipToEnd(),p(e,u.linkDefinition)},definitionList:function(t,e){return t.match(l("definitionList")),e.layoutType="definitionList",t.match(/\s*$/)?e.spanningLayout=!0:e.mode=r.attributes,a(e)},html:function(t,e){return t.skipToEnd(),p(e,u.html)},table:function(t,e){return e.layoutType="table",(e.mode=r.tableCell)(t,e)},tableCell:function(t,e){return t.match(l("tableHeading"))?e.tableHeading=!0:t.eat("|"),e.mode=r.tableCellAttributes,a(e)},tableCellAttributes:function(t,e){return e.mode=r.tableText,t.match(l("tableCellAttributes"))?p(e,u.attributes):a(e)},tableText:function(t,e){return t.match(l("tableText"))?a(e):t.peek()==="|"?(e.mode=r.tableCell,a(e)):b(t,e,t.next())}};c.defineMode("textile",function(){return{startState:function(){return{mode:r.newLayout}},token:function(t,e){return t.sol()&&d(t,e),e.mode(t,e)},blankLine:x}}),c.defineMIME("text/x-textile","textile")})})();const A=k.exports,C=w({__proto__:null,default:A},[k.exports]);export{C as t};
@@ -1,5 +1,5 @@
1
- import{a as n,o as c,b as h,w as s,l as e,E as t,e as i}from"./runtime-core.esm-bundler.fe249c5c.js";const d={class:"markdown-body"},u=e("strong",null,"Form Follows Function",-1),p=e("h2",{id:"app-themes",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#app-themes"},"#"),t(" App Themes")],-1),m=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),g=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),b=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),_=e("h2",{id:"project-styling",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#project-styling"},"#"),t(" Project Styling")],-1),y=e("h2",{id:"custom-css",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#custom-css"},"#"),t(" Custom CSS")],-1),f=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),S=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),w=e("h3",{id:"example",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#example"},"#"),t(" Example")],-1),v=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),k=e("pre",null,[e("code",{class:"language-css"},[e("span",{class:"hljs-selector-tag"},"body"),t(` {
1
+ import{a as n,o as c,e as h,y as s,u as e,q as t,z as i}from"./runtime-core.esm-bundler.22ec0346.js";const d={class:"markdown-body"},u=e("strong",null,"Form Follows Function",-1),p=e("h2",{id:"app-themes",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#app-themes"},"#"),t(" App Themes")],-1),m=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),g=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),_=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),b=e("h2",{id:"project-styling",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#project-styling"},"#"),t(" Project Styling")],-1),y=e("h2",{id:"custom-css",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#custom-css"},"#"),t(" Custom CSS")],-1),f=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),S=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),w=e("h3",{id:"example",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#example"},"#"),t(" Example")],-1),v=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),k=e("pre",null,[e("code",{class:"language-css"},[e("span",{class:"hljs-selector-tag"},"body"),t(` {
2
2
  `),e("span",{class:"hljs-attr"},"--family-sans-serif"),t(": "),e("span",{class:"hljs-string"},"'Comic Sans MS'"),t(`;
3
3
  `),e("span",{class:"hljs-attr"},"--primary"),t(": MediumSlateBlue "),e("span",{class:"hljs-meta"},"!important"),t(`;
4
4
  }
5
- `)])],-1),T=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 Purple\u201D. While it may be tempting to override this variable with your brand\u2019s color, please first review the following warnings:")]),e("ul",null,[e("li",null,"Avoid using yellow, orange, or red hues that give a sense of \u201Cdanger\u201D"),e("li",null,"Avoid low-contrast colors like yellows, grays, etc, that might not be easily visible"),e("li",null,"Avoid low-saturation colors like black, which might not properly highlight CTAs")])],-1),D="Themes & Styling",B=!1,E="A guide on how to build custom Themes in Directus.",P="2 min read",V={__name:"themes",setup(C,{expose:r}){const o={title:"Themes & Styling",modularExtension:!1,description:"A guide on how to build custom Themes in Directus.",readTime:"2 min read"};return r({frontmatter:o}),(x,A)=>{const l=n("router-link"),a=n("docs-wrapper");return c(),h(a,{frontmatter:o},{default:s(()=>[e("div",d,[e("blockquote",null,[e("p",null,[u,t(" is the guiding design principle of Directus. The minimal UI allows the platform to be easily tailored to your brand. "),i(l,{to:"/docs/app/overview"},{default:s(()=>[t("Learn more about the App")]),_:1}),t(".")])]),p,m,g,b,_,e("p",null,[t("See "),i(l,{to:"/docs/configuration/project-settings"},{default:s(()=>[t("Adjusting Project Settings")]),_:1})]),y,f,S,w,v,k,T])]),_:1})}}};export{V as default,E as description,B as modularExtension,P as readTime,D as title};
5
+ `)])],-1),T=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 Purple\u201D. While it may be tempting to override this variable with your brand\u2019s color, please first review the following warnings:")]),e("ul",null,[e("li",null,"Avoid using yellow, orange, or red hues that give a sense of \u201Cdanger\u201D"),e("li",null,"Avoid low-contrast colors like yellows, grays, etc, that might not be easily visible"),e("li",null,"Avoid low-saturation colors like black, which might not properly highlight CTAs")])],-1),D="Themes & Styling",B=!1,P="A guide on how to build custom Themes in Directus.",V="2 min read",E={__name:"themes",setup(C,{expose:r}){const o={title:"Themes & Styling",modularExtension:!1,description:"A guide on how to build custom Themes in Directus.",readTime:"2 min read"};return r({frontmatter:o}),(x,A)=>{const l=n("router-link"),a=n("docs-wrapper");return c(),h(a,{frontmatter:o},{default:s(()=>[e("div",d,[e("blockquote",null,[e("p",null,[u,t(" is the guiding design principle of Directus. The minimal UI allows the platform to be easily tailored to your brand. "),i(l,{to:"/docs/app/overview"},{default:s(()=>[t("Learn more about the App")]),_:1}),t(".")])]),p,m,g,_,b,e("p",null,[t("See "),i(l,{to:"/docs/configuration/project-settings"},{default:s(()=>[t("Adjusting Project Settings")]),_:1})]),y,f,S,w,v,k,T])]),_:1})}}};export{E as default,P as description,B as modularExtension,V as readTime,D as title};
@@ -0,0 +1 @@
1
+ import{y as O}from"./index.312f2c91.entry.js";function j(k,d){for(var o=0;o<d.length;o++){const c=d[o];if(typeof c!="string"&&!Array.isArray(c)){for(const f in c)if(f!=="default"&&!(f in k)){const l=Object.getOwnPropertyDescriptor(c,f);l&&Object.defineProperty(k,f,l.get?l:{enumerable:!0,get:()=>c[f]})}}}return Object.freeze(Object.defineProperty(k,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(k,d){(function(o){o(O.exports)})(function(o){o.defineMode("tiddlywiki",function(){var c={},f={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},l=/[\w_\-]/i,p=/^\-\-\-\-+$/,w=/^\/\*\*\*$/,b=/^\*\*\*\/$/,y=/^<<<$/,g=/^\/\/\{\{\{$/,v=/^\/\/\}\}\}$/,x=/^<!--\{\{\{-->$/,S=/^<!--\}\}\}-->$/,$=/^\{\{\{$/,m=/^\}\}\}$/,_=/.*?\}\}\}/;function u(e,n,r){return n.tokenize=r,r(e,n)}function i(e,n){var r=e.sol(),t=e.peek();if(n.block=!1,r&&/[<\/\*{}\-]/.test(t)){if(e.match($))return n.block=!0,u(e,n,h);if(e.match(y))return"quote";if(e.match(w)||e.match(b)||e.match(g)||e.match(v)||e.match(x)||e.match(S))return"comment";if(e.match(p))return"hr"}if(e.next(),r&&/[\/\*!#;:>|]/.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,n,h);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(l),"link";if(/\d/.test(t))return e.eatWhile(/\d/),"number";if(t=="/"){if(e.eat("%"))return u(e,n,z);if(e.eat("/"))return u(e,n,T)}if(t=="_"&&e.eat("_"))return u(e,n,W);if(t=="-"&&e.eat("-")){if(e.peek()!=" ")return u(e,n,E);if(e.peek()==" ")return"brace"}return t=="'"&&e.eat("'")?u(e,n,C):t=="<"&&e.eat("<")?u(e,n,A):(e.eatWhile(/[\w\$_]/),c.propertyIsEnumerable(e.current())?"keyword":null)}function z(e,n){for(var r=!1,t;t=e.next();){if(t=="/"&&r){n.tokenize=i;break}r=t=="%"}return"comment"}function C(e,n){for(var r=!1,t;t=e.next();){if(t=="'"&&r){n.tokenize=i;break}r=t=="'"}return"strong"}function h(e,n){var r=n.block;return r&&e.current()?"comment":!r&&e.match(_)||r&&e.sol()&&e.match(m)?(n.tokenize=i,"comment"):(e.next(),"comment")}function T(e,n){for(var r=!1,t;t=e.next();){if(t=="/"&&r){n.tokenize=i;break}r=t=="/"}return"em"}function W(e,n){for(var r=!1,t;t=e.next();){if(t=="_"&&r){n.tokenize=i;break}r=t=="_"}return"underlined"}function E(e,n){for(var r=!1,t;t=e.next();){if(t=="-"&&r){n.tokenize=i;break}r=t=="-"}return"strikethrough"}function A(e,n){if(e.current()=="<<")return"macro";var r=e.next();return r?r==">"&&e.peek()==">"?(e.next(),n.tokenize=i,"macro"):(e.eatWhile(/[\w\$_]/),f.propertyIsEnumerable(e.current())?"keyword":null):(n.tokenize=i,null)}return{startState:function(){return{tokenize:i}},token:function(e,n){if(e.eatSpace())return null;var r=n.tokenize(e,n);return r}}}),o.defineMIME("text/x-tiddlywiki","tiddlywiki")})})();const B=a.exports,I=j({__proto__:null,default:B},[a.exports]);export{I as t};
@@ -0,0 +1 @@
1
+ import{y as m}from"./index.312f2c91.entry.js";function M(g,x){for(var l=0;l<x.length;l++){const a=x[l];if(typeof a!="string"&&!Array.isArray(a)){for(const i in a)if(i!=="default"&&!(i in g)){const f=Object.getOwnPropertyDescriptor(a,i);f&&Object.defineProperty(g,i,f.get?f:{enumerable:!0,get:()=>a[i]})}}}return Object.freeze(Object.defineProperty(g,Symbol.toStringTag,{value:"Module"}))}var P={exports:{}};(function(g,x){(function(l){l(m.exports)})(function(l){l.defineMode("tiki",function(a){function i(e,t,n){return function(o,k){for(;!o.eol();){if(o.match(t)){k.tokenize=c;break}o.next()}return n&&(k.tokenize=n),e}}function f(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(),k=e.next();switch(k){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(k){case"!":return e.match("!!!!!")||e.match("!!!!")||e.match("!!!")||e.match("!!"),n(f("header string"));case"*":case"#":case"+":return n(f("tw-listitem bracket"))}return null}var _=a.indentUnit,h,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=h,u(v,I(r.startOfLine));if(e=="closePlugin"){var t=!1;return r.context?(t=r.context.pluginName!=h,z()):t=!0,t&&(s="error"),u(j(t))}else return e=="string"&&((!r.context||r.context.name!="!cdata")&&w("!cdata"),r.tokenize==c&&z()),u()}function I(e){return function(t){return t=="selfclosePlugin"||t=="endPlugin"||t=="endPlugin"&&w(r.pluginName,e),u()}}function j(e){return function(t){return e&&(s="error"),t=="endPlugin"?u():d()}}function v(e){return e=="keyword"?(s="attribute",u(v)):e=="equals"?u(A,v):d()}function A(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=h=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:"/"}}),l.defineMIME("text/tiki","tiki")})})();const q=P.exports,U=M({__proto__:null,default:q},[P.exports]);export{U as t};
@@ -0,0 +1 @@
1
+ import{y as u}from"./index.312f2c91.entry.js";function t(l,o){for(var r=0;r<o.length;r++){const e=o[r];if(typeof e!="string"&&!Array.isArray(e)){for(const n in e)if(n!=="default"&&!(n in l)){const i=Object.getOwnPropertyDescriptor(e,n);i&&Object.defineProperty(l,n,i.get?i:{enumerable:!0,get:()=>e[n]})}}}return Object.freeze(Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(l,o){(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(i){return i!="="&&i!=" "}))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")})})();const p=f.exports,g=t({__proto__:null,default:p},[f.exports]);export{g as t};
@@ -0,0 +1 @@
1
+ import{y as d}from"./index.312f2c91.entry.js";import{r as l}from"./htmlmixed.5efed62b.js";import{r as p}from"./overlay.16f98fb6.js";function m(u,f){for(var e=0;e<f.length;e++){const t=f[e];if(typeof t!="string"&&!Array.isArray(t)){for(const n in t)if(n!=="default"&&!(n in u)){const a=Object.getOwnPropertyDescriptor(t,n);a&&Object.defineProperty(u,n,a.get?a:{enumerable:!0,get:()=>t[n]})}}}return Object.freeze(Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(u,f){(function(e){e(d.exports,l(),p())})(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 n(r,o){r.eatWhile(/[^\{]/);var i=r.next();if(i=="{"&&(i=r.eat(/\{|%|#/)))return o.tokenize=a(i),"tag"}function a(r){return r=="{"&&(r="}"),function(o,i){var c=o.next();return c==r&&o.eat("}")?(i.tokenize=n,"tag"):o.match(t)?"keyword":r=="#"?"comment":"string"}}return{startState:function(){return{tokenize:n}},token:function(r,o){return o.tokenize(r,o)}}}),e.defineMode("tornado",function(t){var n=e.getMode(t,"text/html"),a=e.getMode(t,"tornado:inner");return e.overlayMode(n,a)}),e.defineMIME("text/x-tornado","tornado")})})();const x=s.exports,k=m({__proto__:null,default:x},[s.exports]);export{k as t};
@@ -1 +1 @@
1
- import{a as i,o as c,b as d,w as a,l as t,E as n,e as s}from"./runtime-core.esm-bundler.fe249c5c.js";const p={class:"markdown-body"},u=t("blockquote",null,[t("p",null,"Translation Strings are multilingual key-value pairs that you can use throughout the app. They enable you to translate things like dropdown options, placeholder text, field notes, and more.")],-1),h=t("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[t("source",{src:"https://cdn.directus.io/docs/v9/configuration/translation-strings/translation-strings-20220615A/translation-strings-20220615A.mp4",type:"video/mp4"})],-1),g=t("h2",{id:"create-a-translation-string",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#create-a-translation-string"},"#"),n(" Create a Translation String")],-1),m=t("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[t("source",{src:"https://cdn.directus.io/docs/v9/configuration/translation-strings/translation-strings-20220616A/create-and-manage-a-trasnlation-string-20220616A.mp4",type:"video/mp4"})],-1),_=t("p",null,"To create a Translation String, follow these steps.",-1),y=t("ol",null,[t("li",null,[n("Navigate to "),t("strong",null,"Settings > Translation Strings"),n(".")]),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"add"),n(" in the page header and a drawer will open.")]),t("li",null,[n("Add a key and click "),t("strong",null,"\u201CCreate New\u201D"),n(" and another drawer will open.")]),t("li",null,"Select the language and type in the corresponding translation."),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"check"),n(" to confirm and add the translation.")]),t("li",null,"Repeat steps 3-5 as desired."),t("li",null,[n("Optional: Click "),t("span",{mi:"",icon:""},"close"),n(" to delete a translation.")]),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"check"),n(" to confirm and save the Translation Strings.")])],-1),f=t("h2",{id:"use-a-translation-string",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#use-a-translation-string"},"#"),n(" Use a Translation String")],-1),w=t("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[t("source",{src:"https://cdn.directus.io/docs/v9/configuration/translation-strings/translation-strings-20220616A/assign-and-remove-translation-string-20220616A.mp4",type:"video/mp4"})],-1),T=t("p",null,[n("Throughout the Settings Module, you will notice certain input fields have a "),t("span",{mi:"",icon:""},"translate"),n(" icon on them. While can always type static text into these input fields, this "),t("span",{mi:"",icon:""},"translate"),n(" icon indicates that you have the option assign a Translation String. To assign a Translation String, follow these steps.")],-1),k=t("ol",null,[t("li",null,"Navigate to the input that you\u2019d like to add a Translation String to."),t("li",null,[n("There are two ways to assign a Translation String: "),t("ul",null,[t("li",null,[n("Click "),t("span",{mi:"",icon:""},"translate"),n(" and a dropdown menu with all Translation Strings will appear.")]),t("li",null,[n("Type "),t("code",null,"$t:translation-string-key"),n(" and hit enter.")])])]),t("li",null,"Choose a Translation String key as desired."),t("li",null,"Optional: Click to remove the Translation String."),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"check"),n(" to confirm.")])],-1),S=t("em",null,"(from step three)",-1),v=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},[t("span",{mi:"",icon:"",prmry:""},"add"),n(" New Translation String")]),t("p",null,[n("You can also click "),t("span",{mi:"",icon:"",prmry:""},"add"),n(),t("strong",null,"New Translation String"),n(" in the "),t("span",{mi:"",icon:""},"translate"),n(" dropdown menu to create a new Translation String on the fly.")])],-1),A="Translation Strings",B=!1,E="Translation Strings are multilingual key-value pairs that you can use throughout the app. They enable you to translate things like dropdown options, placeholder text, field notes, and more.",V="3 min read",j={__name:"translation-strings",setup(b,{expose:l}){const e={title:"Translation Strings",modularExtension:!1,description:"Translation Strings are multilingual key-value pairs that you can use throughout the app. They enable you to translate things like dropdown options, placeholder text, field notes, and more.",readTime:"3 min read"};return l({frontmatter:e}),(x,C)=>{const o=i("router-link"),r=i("docs-wrapper");return c(),d(r,{frontmatter:e},{default:a(()=>[t("div",p,[u,h,g,m,_,y,f,w,T,k,t("p",null,[n("Your Translation String is set! Now the language-appropriate text will be shown based on the current language of the app. There are two ways to change the app language. First, administrators can set the Project\u2019s "),s(o,{to:"/docs/configuration/project-settings#general"},{default:a(()=>[n("default language")]),_:1}),n(". Second, Users can choose their own personal "),s(o,{to:"/docs/app/user-directory#user-preferences"},{default:a(()=>[n("language preference")]),_:1}),n(". Also note that if a language is chosen for which there is no Translation String, the translation key "),S,n(" will be displayed instead.")]),v])]),_:1})}}};export{j as default,E as description,B as modularExtension,V as readTime,A as title};
1
+ import{a as i,o as c,e as d,y as a,u as t,q as n,z as s}from"./runtime-core.esm-bundler.22ec0346.js";const p={class:"markdown-body"},u=t("blockquote",null,[t("p",null,"Translation Strings are multilingual key-value pairs that you can use throughout the app. They enable you to translate things like dropdown options, placeholder text, field notes, and more.")],-1),h=t("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[t("source",{src:"https://cdn.directus.io/docs/v9/configuration/translation-strings/translation-strings-20220615A/translation-strings-20220615A.mp4",type:"video/mp4"})],-1),g=t("h2",{id:"create-a-translation-string",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#create-a-translation-string"},"#"),n(" Create a Translation String")],-1),m=t("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[t("source",{src:"https://cdn.directus.io/docs/v9/configuration/translation-strings/translation-strings-20220616A/create-and-manage-a-trasnlation-string-20220616A.mp4",type:"video/mp4"})],-1),_=t("p",null,"To create a Translation String, follow these steps.",-1),y=t("ol",null,[t("li",null,[n("Navigate to "),t("strong",null,"Settings > Translation Strings"),n(".")]),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"add"),n(" in the page header and a drawer will open.")]),t("li",null,[n("Add a key and click "),t("strong",null,"\u201CCreate New\u201D"),n(" and another drawer will open.")]),t("li",null,"Select the language and type in the corresponding translation."),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"check"),n(" to confirm and add the translation.")]),t("li",null,"Repeat steps 3-5 as desired."),t("li",null,[n("Optional: Click "),t("span",{mi:"",icon:""},"close"),n(" to delete a translation.")]),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"check"),n(" to confirm and save the Translation Strings.")])],-1),f=t("h2",{id:"use-a-translation-string",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#use-a-translation-string"},"#"),n(" Use a Translation String")],-1),T=t("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:""},[t("source",{src:"https://cdn.directus.io/docs/v9/configuration/translation-strings/translation-strings-20220616A/assign-and-remove-translation-string-20220616A.mp4",type:"video/mp4"})],-1),w=t("p",null,[n("Throughout the Settings Module, you will notice certain input fields have a "),t("span",{mi:"",icon:""},"translate"),n(" icon on them. While can always type static text into these input fields, this "),t("span",{mi:"",icon:""},"translate"),n(" icon indicates that you have the option assign a Translation String. To assign a Translation String, follow these steps.")],-1),k=t("ol",null,[t("li",null,"Navigate to the input that you\u2019d like to add a Translation String to."),t("li",null,[n("There are two ways to assign a Translation String: "),t("ul",null,[t("li",null,[n("Click "),t("span",{mi:"",icon:""},"translate"),n(" and a dropdown menu with all Translation Strings will appear.")]),t("li",null,[n("Type "),t("code",null,"$t:translation-string-key"),n(" and hit enter.")])])]),t("li",null,"Choose a Translation String key as desired."),t("li",null,"Optional: Click to remove the Translation String."),t("li",null,[n("Click "),t("span",{mi:"",btn:""},"check"),n(" to confirm.")])],-1),S=t("em",null,"(from step three)",-1),v=t("div",{class:"tip hint"},[t("div",{class:"hint-title"},[t("span",{mi:"",icon:"",prmry:""},"add"),n(" New Translation String")]),t("p",null,[n("You can also click "),t("span",{mi:"",icon:"",prmry:""},"add"),n(),t("strong",null,"New Translation String"),n(" in the "),t("span",{mi:"",icon:""},"translate"),n(" dropdown menu to create a new Translation String on the fly.")])],-1),A="Translation Strings",B=!1,V="Translation Strings are multilingual key-value pairs that you can use throughout the app. They enable you to translate things like dropdown options, placeholder text, field notes, and more.",j="3 min read",q={__name:"translation-strings",setup(b,{expose:l}){const e={title:"Translation Strings",modularExtension:!1,description:"Translation Strings are multilingual key-value pairs that you can use throughout the app. They enable you to translate things like dropdown options, placeholder text, field notes, and more.",readTime:"3 min read"};return l({frontmatter:e}),(x,C)=>{const o=i("router-link"),r=i("docs-wrapper");return c(),d(r,{frontmatter:e},{default:a(()=>[t("div",p,[u,h,g,m,_,y,f,T,w,k,t("p",null,[n("Your Translation String is set! Now the language-appropriate text will be shown based on the current language of the app. There are two ways to change the app language. First, administrators can set the Project\u2019s "),s(o,{to:"/docs/configuration/project-settings#general"},{default:a(()=>[n("default language")]),_:1}),n(". Second, Users can choose their own personal "),s(o,{to:"/docs/app/user-directory#user-preferences"},{default:a(()=>[n("language preference")]),_:1}),n(". Also note that if a language is chosen for which there is no Translation String, the translation key "),S,n(" will be displayed instead.")]),v])]),_:1})}}};export{q as default,V as description,B as modularExtension,j as readTime,A as title};
@@ -0,0 +1 @@
1
+ import{a,o as e,e as n,y as r,u as c}from"./runtime-core.esm-bundler.22ec0346.js";const l=c("div",{class:"markdown-body"},null,-1),m="Translations",u=!1,f={__name:"translations",setup(_,{expose:o}){const t={title:"Translations",modularExtension:!1};return o({frontmatter:t}),(i,p)=>{const s=a("docs-wrapper");return e(),n(s,{frontmatter:t},{default:r(()=>[l]),_:1})}}};export{f as default,u as modularExtension,m as title};
@@ -1 +1 @@
1
- import{a as i,o,b as s,w as l,l as e,E as n}from"./runtime-core.esm-bundler.fe249c5c.js";const d=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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#crowdin"},"#"),n(" Crowdin")]),e("p",null,[n("Our "),e("a",{href:"https://locales.directus.io",target:"_blank",rel:"noopener noreferrer"},"Crowdin"),n(" 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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#working-with-existing-languages"},"#"),n(" Working with Existing Languages")]),e("ol",null,[e("li",null,[n("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,[n("Click "),e("strong",null,"Translate All"),n(" 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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#requesting-a-new-language"},"#"),n(" Requesting a New Language")]),e("p",null,[n("To add a new language to the Crowdin service, you can make a request via Crowdin\u2019s "),e("strong",null,"Discussions"),n(" section, or reach out to a Core Team member via "),e("a",{href:"https://directus.chat",target:"_blank",rel:"noopener noreferrer"},"Discord"),n(".")])],-1),p="App Translations",w=!1,m="Directus 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",f="2 min read",y={__name:"translations",setup(u,{expose:a}){const t={title:"App Translations",modularExtension:!1,description:"Directus 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",readTime:"2 min read"};return a({frontmatter:t}),(c,h)=>{const r=i("docs-wrapper");return o(),s(r,{frontmatter:t},{default:l(()=>[d]),_:1})}}};export{y as default,m as description,w as modularExtension,f as readTime,p as title};
1
+ import{a as i,o,e as s,y as l,u as e,q as n}from"./runtime-core.esm-bundler.22ec0346.js";const d=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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#crowdin"},"#"),n(" Crowdin")]),e("p",null,[n("Our "),e("a",{href:"https://locales.directus.io",target:"_blank",rel:"noopener noreferrer"},"Crowdin"),n(" 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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#working-with-existing-languages"},"#"),n(" Working with Existing Languages")]),e("ol",null,[e("li",null,[n("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,[n("Click "),e("strong",null,"Translate All"),n(" 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",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#requesting-a-new-language"},"#"),n(" Requesting a New Language")]),e("p",null,[n("To add a new language to the Crowdin service, you can make a request via Crowdin\u2019s "),e("strong",null,"Discussions"),n(" section, or reach out to a Core Team member via "),e("a",{href:"https://directus.chat",target:"_blank",rel:"noopener noreferrer"},"Discord"),n(".")])],-1),p="App Translations",w=!1,m="Directus 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",f="2 min read",y={__name:"translations",setup(u,{expose:a}){const t={title:"App Translations",modularExtension:!1,description:"Directus 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",readTime:"2 min read"};return a({frontmatter:t}),(c,h)=>{const r=i("docs-wrapper");return o(),s(r,{frontmatter:t},{default:l(()=>[d]),_:1})}}};export{y as default,m as description,w as modularExtension,f as readTime,p as title};
@@ -1 +1 @@
1
- import{a as i,o as c,b as h,w as o,l as e,E as t,e as l}from"./runtime-core.esm-bundler.fe249c5c.js";const u={class:"markdown-body"},d=e("blockquote",null,[e("p",null,"A trigger defines the event that starts your flow. This could be from an internal or external activity, such as changes to data, logins, errors, incoming webhooks, cron jobs, operations from other flows, or even the click of a button within the Data Studio.")],-1),p={class:"tip hint"},g=e("div",{class:"hint-title"},"Before You Begin",-1),f=e("h2",{id:"event-hook",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#event-hook"},"#"),t(" Event Hook")],-1),w=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/event-hook-20220602A.webp",alt:"Event Hooks"})],-1),m=e("code",null,"$trigger",-1),_=e("ul",null,[e("li",null,[e("strong",null,"Type"),t(" \u2014 Choose the type of event hook: "),e("ul",null,[e("li",null,[e("a",{href:"#filters"},"Filter (Blocking)"),t(" \u2014 This pauses the transaction and passes the "),e("code",null,"payload"),t(" to your flow, allowing you to validate or transform "),e("code",null,"payload"),t(" or even prevent the event transaction.")]),e("li",null,[e("a",{href:"#actions"},"Action (Non-Blocking)"),t(" \u2014 Actions do not block the event. A non-blocking action is mostly useful for completing tasks in response to an event, without modifying the event or slowing the API.")])])]),e("li",null,[e("strong",null,"Scope"),t(" \u2014 Set the types of events that trip this trigger.")]),e("li",null,[e("strong",null,"Collections"),t(" \u2014 Set the collections "),e("em",null,"whose events"),t(" trip this trigger.")]),e("li",null,[e("strong",null,"Response Body"),t(" \u2014 This is optional. Its also only for "),e("strong",null,"Filter (Blocking)"),t(" events. Defines data to replace the event\u2019s original "),e("code",null,"payload"),t(". Choose to return: "),e("ul",null,[e("li",null,[e("strong",null,"Data of Last Operation"),t(" \u2014 Replaces event "),e("code",null,"payload"),t(" with value from "),e("code",null,"$last"),t(".")]),e("li",null,[e("strong",null,"All Data"),t(" \u2014 Replaces event "),e("code",null,"payload"),t(" with the entire data chain.")]),e("li",null,[e("strong",null,"Other"),t(" \u2014 Replaces event "),e("code",null,"payload"),t(" with value from an "),e("code",null,"<operationKey>"),t(".")])])])],-1),y=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Events with Multiple Items"),e("p",null,"If you create items in a single request, the Flow will trigger once for each and every item. If you create three items, the flow runs three separate times. On each run, just one item will be in the payload.")],-1),v=e("h3",{id:"filters",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#filters"},"#"),t(" Filters")],-1),b=e("p",null,[t("A Filter will halt the event transaction, copy the event "),e("code",null,"payload"),t(" into the flow, let the whole flow run, "),e("strong",null,[e("em",null,"optionally")]),t(" replace the original "),e("code",null,"payload"),t(" by configuring "),e("strong",null,"Response Body"),t(", then resume the event\u2019s transaction to the database.")],-1),A=e("p",null,[t("For example, let\u2019s say you configure the scope to be "),e("code",null,"item.create"),t(".")],-1),T=e("ul",null,[e("li",null,"A request to create an item is sent to Directus."),e("li",null,"The create item event halts."),e("li",null,[t("The event\u2019s "),e("code",null,"payload"),t(" is copied into the "),e("code",null,"$trigger"),t(" of the flow.")]),e("li",null,"The flow runs."),e("li",null,[e("em",null,"Optional:"),t(" If you defined a "),e("strong",null,"Response Body"),t(", this replaces the event\u2019s "),e("code",null,"payload"),t(".")]),e("li",null,"The event transaction is committed or cancelled, based on your flow\u2019s logic.")],-1),k=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Response Body"),e("p",null,[t("If no "),e("strong",null,"Response Body"),t(" is configured, the original payload will not be modified, but you\u2019d still have the ability to cancel the transaction.")])],-1),x={class:"tip hint"},I=e("div",{class:"hint-title"},"Cancelling Transactions",-1),R=e("h3",{id:"actions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#actions"},"#"),t(" Actions")],-1),B=e("p",null,[t("An Action lets the event commit its transaction to the database without waiting for the flow to finish. Therefore, Actions give you a more performant API, but you have no ability to validate or transform the payload before the transaction is committed to the database. However, a copy of the "),e("code",null,"payload"),t(" is still added into "),e("code",null,"$trigger"),t(" to use as desired.")],-1),F=e("p",null,[t("For example, let\u2019s imagine once more that you configure the scope to be "),e("code",null,"item.create"),t(".")],-1),C=e("ul",null,[e("li",null,"A request to create an item is sent to Directus."),e("li",null,"The create item event is transacted."),e("li",null,[t("The event\u2019s "),e("code",null,"payload"),t(" is copied into the "),e("code",null,"$trigger"),t(" of the flow.")]),e("li",null,"The flow runs.")],-1),D=e("p",null,[t("To recap, Filters let you modify the original "),e("code",null,"payload"),t(" of an event but block the API until the flow finishes. Actions still provide the "),e("code",null,"payload"),t(" to the flow, but don\u2019t let you modify it before transaction; so you get a faster API but no control over the event transaction.")],-1),P=e("h2",{id:"webhook",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#webhook"},"#"),t(" Webhook")],-1),O=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/webhook-20220602A.webp",alt:"Webhook"})],-1),S=e("p",null,[t("Triggers on an incoming HTTP request to: "),e("code",null,"/flows/trigger/:this-webhook-trigger-id"),t(" which you can copy from the webhook trigger panel.")],-1),q=e("ul",null,[e("li",null,[e("strong",null,"Method"),t(" \u2014 Choose whether the flow will be triggered by a "),e("code",null,"GET"),t(" or "),e("code",null,"POST"),t(" request from the dropdown.")]),e("li",null,[e("strong",null,"Asynchronous"),t(" \u2014 Toggle whether or not the trigger responds asynchronously.")]),e("li",null,[e("strong",null,"Response Body"),t(" \u2014 Optional. Defines data to return as a response. Choose to return: "),e("ul",null,[e("li",null,[e("strong",null,"Data of Last Operation"),t(" \u2014 Responds with value from "),e("code",null,"$last"),t(".")]),e("li",null,[e("strong",null,"All Data"),t(" \u2014 Responds with the entire data chain.")]),e("li",null,[e("strong",null,"Other"),t(" \u2014 Responds with value from an "),e("code",null,"<operationKey>"),t(".")])])])],-1),E=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Response Body"),e("p",null,[t("If no data is defined in "),e("strong",null,"Response Body"),t(", the response is empty.")])],-1),$=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Asynchronous"),e("p",null,[t("If "),e("strong",null,"Asynchronous"),t(" is enabled, the flows system will immediately resolve/respond to the request without returning a "),e("strong",null,"Response Body"),t(", which frees up the API immediately. If it is disabled, the flows system will wait for the flow to finish and return whatever value is in "),e("strong",null,"Response Body"),t(". This slows the API, but lets you send data.")])],-1),j=e("h2",{id:"schedule",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#schedule"},"#"),t(" Schedule")],-1),H=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/cron-20220602A.webp",alt:"Schedule a Cron Job"})],-1),K=e("p",null,[t("This trigger enables you to create data at scheduled intervals, via "),e("a",{href:"https://github.com/node-cron/node-cron#cron-syntax",target:"_blank",rel:"noopener noreferrer"},"6-point cron job syntax"),t(".")],-1),L=e("ul",null,[e("li",null,[e("strong",null,"Interval"),t(" \u2014 Set the cron job interval to schedule when the flow triggers.")])],-1),M=e("h2",{id:"another-flow",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#another-flow"},"#"),t(" Another Flow")],-1),N=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/another-flow-20220602A.webp",alt:"Another Flow"})],-1),V=e("strong",null,"Response Body",-1),W=e("code",null,"<operationKey>",-1),G=e("ul",null,[e("li",null,[e("strong",null,"Data of Last Operation"),t(" \u2014 Responds with value from "),e("code",null,"$last"),t(".")]),e("li",null,[e("strong",null,"All Data"),t(" \u2014 Responds with the entire data chain.")]),e("li",null,[e("strong",null,"Other"),t(" \u2014 Responds with value from an "),e("code",null,"<operationKey>"),t(".")])],-1),J=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Flows for-loops"),e("p",null,"If you pass an array to this trigger, it will run once for each item in the array.")],-1),Y=e("h2",{id:"manual",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#manual"},"#"),t(" Manual")],-1),z=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/manual-20220602A.webp",alt:"Manual"})],-1),Q=e("p",null,[t("This Trigger starts your flow on a manual click of a button within the Data Studio. When you use this trigger, a "),e("strong",null,"Flows"),t(" menu containing a button will appear in the sidebar of the specified collection page(s) and/or its item pages.")],-1),U=e("p",null,[t("The manual trigger must take in item ID(s) before you can click it. So on the collection page, the button will be "),e("em",null,"grayed out"),t(" until you select some number of items. From the item page, the current item\u2019s ID is passed in automatically. These item IDs are passed in to "),e("code",null,"$trigger"),t(".")],-1),X=e("li",null,[e("strong",null,"Collections"),t(" \u2014 Choose the Collection(s) to add the button to.")],-1),Z=e("strong",null,"Location",-1),ee=e("li",null,[e("strong",null,"Asynchronous"),t(" \u2014 Toggle whether or not the Flow executes asynchronously.")],-1),te=e("li",null,[e("strong",null,"Collection Page (Requires Selection)"),t(" \u2014 Toggle whether a selection is required in the Collection Page to trigger.")],-1),oe=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Asynchronous"),e("p",null,[t("If "),e("strong",null,"Asynchronous"),t(" is enabled, the flows system will immediately allow you to use the manual trigger button again to send more requests. If it is disabled, you will have to wait until the flow completes to use it again.")])],-1),ae="Triggers",re=!1,ce="A Trigger initiates a Flow on some internal or external event, such as an in-app activity, incoming webhook, cron job, execution of Operation(s) from other Flows, and beyond!",he="3 min read",ue={__name:"triggers",setup(ne,{expose:a}){const s={title:"Triggers",modularExtension:!1,description:"A Trigger initiates a Flow on some internal or external event, such as an in-app activity, incoming webhook, cron job, execution of Operation(s) from other Flows, and beyond!",readTime:"3 min read"};return a({frontmatter:s}),(le,se)=>{const n=i("router-link"),r=i("docs-wrapper");return c(),h(r,{frontmatter:s},{default:o(()=>[e("div",u,[d,e("div",p,[g,e("p",null,[t("Please be sure to read the overview documentation on "),l(n,{to:"/docs/configuration/flows"},{default:o(()=>[t("Flows")]),_:1}),t(".")])]),f,w,e("p",null,[t("Event Hooks are triggered by events within the platform. The logic is based on "),l(n,{to:"/docs/extensions/hooks"},{default:o(()=>[t("Custom API Hooks")]),_:1}),t(". Any data generated by the event will be nested in the "),m,t(".")]),_,y,v,b,A,T,k,e("div",x,[I,e("p",null,[t("To completely cancel a transaction, you\u2019ll need to throw an error within a "),l(n,{to:"/docs/configuration/flows/operations.md#script"},{default:o(()=>[t("script operation")]),_:1}),t(" or end the flow on a "),l(n,{to:"/docs/configuration/flows#control-flow"},{default:o(()=>[t("failure path")]),_:1}),t(".")])]),R,B,F,C,D,P,O,S,q,E,$,j,H,K,L,M,N,e("p",null,[t("This trigger executes by the "),l(n,{to:"/docs/configuration/flows/operations#another-flow"},{default:o(()=>[t("trigger flow")]),_:1}),t(" operation, allowing you to chain flows.")]),e("ul",null,[e("li",null,[V,t(" \u2014 Optional. Defines data to return and append under the "),W,t(" of "),l(n,{to:"/docs/configuration/flows/operations#another-flow"},{default:o(()=>[t("trigger flow")]),_:1}),t(" operation that tripped the trigger. Choose to return: "),G])]),J,Y,z,Q,U,e("ul",null,[X,e("li",null,[Z,t(" \u2014 Choose to display the button on the "),l(n,{to:"/docs/app/content.md#item-page"},{default:o(()=>[t("Item Page")]),_:1}),t(", "),l(n,{to:"/docs/app/content.md#collection-page"},{default:o(()=>[t("Collection Page")]),_:1}),t(", or both.")]),ee,te]),e("p",null,[t("After the operation runs, a toast notification will appear in your "),l(n,{to:"/docs/app/overview.md#4-sidebar"},{default:o(()=>[t("sidebar")]),_:1}),t(" indicating whether the flow ran successfully.")]),oe])]),_:1})}}};export{ue as default,ce as description,re as modularExtension,he as readTime,ae as title};
1
+ import{a as i,o as c,e as h,y as o,u as e,q as t,z as l}from"./runtime-core.esm-bundler.22ec0346.js";const u={class:"markdown-body"},d=e("blockquote",null,[e("p",null,"A trigger defines the event that starts your flow. This could be from an internal or external activity, such as changes to data, logins, errors, incoming webhooks, cron jobs, operations from other flows, or even the click of a button within the Data Studio.")],-1),p={class:"tip hint"},g=e("div",{class:"hint-title"},"Before You Begin",-1),f=e("h2",{id:"event-hook",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#event-hook"},"#"),t(" Event Hook")],-1),w=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/event-hook-20220602A.webp",alt:"Event Hooks"})],-1),m=e("code",null,"$trigger",-1),_=e("ul",null,[e("li",null,[e("strong",null,"Type"),t(" \u2014 Choose the type of event hook: "),e("ul",null,[e("li",null,[e("a",{href:"#filters"},"Filter (Blocking)"),t(" \u2014 This pauses the transaction and passes the "),e("code",null,"payload"),t(" to your flow, allowing you to validate or transform "),e("code",null,"payload"),t(" or even prevent the event transaction.")]),e("li",null,[e("a",{href:"#actions"},"Action (Non-Blocking)"),t(" \u2014 Actions do not block the event. A non-blocking action is mostly useful for completing tasks in response to an event, without modifying the event or slowing the API.")])])]),e("li",null,[e("strong",null,"Scope"),t(" \u2014 Set the types of events that trip this trigger.")]),e("li",null,[e("strong",null,"Collections"),t(" \u2014 Set the collections "),e("em",null,"whose events"),t(" trip this trigger.")]),e("li",null,[e("strong",null,"Response Body"),t(" \u2014 This is optional. Its also only for "),e("strong",null,"Filter (Blocking)"),t(" events. Defines data to replace the event\u2019s original "),e("code",null,"payload"),t(". Choose to return: "),e("ul",null,[e("li",null,[e("strong",null,"Data of Last Operation"),t(" \u2014 Replaces event "),e("code",null,"payload"),t(" with value from "),e("code",null,"$last"),t(".")]),e("li",null,[e("strong",null,"All Data"),t(" \u2014 Replaces event "),e("code",null,"payload"),t(" with the entire data chain.")]),e("li",null,[e("strong",null,"Other"),t(" \u2014 Replaces event "),e("code",null,"payload"),t(" with value from an "),e("code",null,"<operationKey>"),t(".")])])])],-1),y=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Events with Multiple Items"),e("p",null,"If you create items in a single request, the Flow will trigger once for each and every item. If you create three items, the flow runs three separate times. On each run, just one item will be in the payload.")],-1),v=e("h3",{id:"filters",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#filters"},"#"),t(" Filters")],-1),b=e("p",null,[t("A Filter will halt the event transaction, copy the event "),e("code",null,"payload"),t(" into the flow, let the whole flow run, "),e("strong",null,[e("em",null,"optionally")]),t(" replace the original "),e("code",null,"payload"),t(" by configuring "),e("strong",null,"Response Body"),t(", then resume the event\u2019s transaction to the database.")],-1),A=e("p",null,[t("For example, let\u2019s say you configure the scope to be "),e("code",null,"item.create"),t(".")],-1),T=e("ul",null,[e("li",null,"A request to create an item is sent to Directus."),e("li",null,"The create item event halts."),e("li",null,[t("The event\u2019s "),e("code",null,"payload"),t(" is copied into the "),e("code",null,"$trigger"),t(" of the flow.")]),e("li",null,"The flow runs."),e("li",null,[e("em",null,"Optional:"),t(" If you defined a "),e("strong",null,"Response Body"),t(", this replaces the event\u2019s "),e("code",null,"payload"),t(".")]),e("li",null,"The event transaction is committed or cancelled, based on your flow\u2019s logic.")],-1),k=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Response Body"),e("p",null,[t("If no "),e("strong",null,"Response Body"),t(" is configured, the original payload will not be modified, but you\u2019d still have the ability to cancel the transaction.")])],-1),x={class:"tip hint"},I=e("div",{class:"hint-title"},"Cancelling Transactions",-1),R=e("h3",{id:"actions",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#actions"},"#"),t(" Actions")],-1),B=e("p",null,[t("An Action lets the event commit its transaction to the database without waiting for the flow to finish. Therefore, Actions give you a more performant API, but you have no ability to validate or transform the payload before the transaction is committed to the database. However, a copy of the "),e("code",null,"payload"),t(" is still added into "),e("code",null,"$trigger"),t(" to use as desired.")],-1),F=e("p",null,[t("For example, let\u2019s imagine once more that you configure the scope to be "),e("code",null,"item.create"),t(".")],-1),C=e("ul",null,[e("li",null,"A request to create an item is sent to Directus."),e("li",null,"The create item event is transacted."),e("li",null,[t("The event\u2019s "),e("code",null,"payload"),t(" is copied into the "),e("code",null,"$trigger"),t(" of the flow.")]),e("li",null,"The flow runs.")],-1),D=e("p",null,[t("To recap, Filters let you modify the original "),e("code",null,"payload"),t(" of an event but block the API until the flow finishes. Actions still provide the "),e("code",null,"payload"),t(" to the flow, but don\u2019t let you modify it before transaction; so you get a faster API but no control over the event transaction.")],-1),P=e("h2",{id:"webhook",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#webhook"},"#"),t(" Webhook")],-1),O=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/webhook-20220602A.webp",alt:"Webhook"})],-1),q=e("p",null,[t("Triggers on an incoming HTTP request to: "),e("code",null,"/flows/trigger/:this-webhook-trigger-id"),t(" which you can copy from the webhook trigger panel.")],-1),S=e("ul",null,[e("li",null,[e("strong",null,"Method"),t(" \u2014 Choose whether the flow will be triggered by a "),e("code",null,"GET"),t(" or "),e("code",null,"POST"),t(" request from the dropdown.")]),e("li",null,[e("strong",null,"Asynchronous"),t(" \u2014 Toggle whether or not the trigger responds asynchronously.")]),e("li",null,[e("strong",null,"Response Body"),t(" \u2014 Optional. Defines data to return as a response. Choose to return: "),e("ul",null,[e("li",null,[e("strong",null,"Data of Last Operation"),t(" \u2014 Responds with value from "),e("code",null,"$last"),t(".")]),e("li",null,[e("strong",null,"All Data"),t(" \u2014 Responds with the entire data chain.")]),e("li",null,[e("strong",null,"Other"),t(" \u2014 Responds with value from an "),e("code",null,"<operationKey>"),t(".")])])])],-1),$=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Response Body"),e("p",null,[t("If no data is defined in "),e("strong",null,"Response Body"),t(", the response is empty.")])],-1),E=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Asynchronous"),e("p",null,[t("If "),e("strong",null,"Asynchronous"),t(" is enabled, the flows system will immediately resolve/respond to the request without returning a "),e("strong",null,"Response Body"),t(", which frees up the API immediately. If it is disabled, the flows system will wait for the flow to finish and return whatever value is in "),e("strong",null,"Response Body"),t(". This slows the API, but lets you send data.")])],-1),j=e("h2",{id:"schedule",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#schedule"},"#"),t(" Schedule")],-1),H=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/cron-20220602A.webp",alt:"Schedule a Cron Job"})],-1),K=e("p",null,[t("This trigger enables you to create data at scheduled intervals, via "),e("a",{href:"https://github.com/node-cron/node-cron#cron-syntax",target:"_blank",rel:"noopener noreferrer"},"6-point cron job syntax"),t(".")],-1),L=e("ul",null,[e("li",null,[e("strong",null,"Interval"),t(" \u2014 Set the cron job interval to schedule when the flow triggers.")])],-1),M=e("h2",{id:"another-flow",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#another-flow"},"#"),t(" Another Flow")],-1),N=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/another-flow-20220602A.webp",alt:"Another Flow"})],-1),V=e("strong",null,"Response Body",-1),W=e("code",null,"<operationKey>",-1),z=e("ul",null,[e("li",null,[e("strong",null,"Data of Last Operation"),t(" \u2014 Responds with value from "),e("code",null,"$last"),t(".")]),e("li",null,[e("strong",null,"All Data"),t(" \u2014 Responds with the entire data chain.")]),e("li",null,[e("strong",null,"Other"),t(" \u2014 Responds with value from an "),e("code",null,"<operationKey>"),t(".")])],-1),G=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Flows for-loops"),e("p",null,"If you pass an array to this trigger, it will run once for each item in the array.")],-1),J=e("h2",{id:"manual",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#manual"},"#"),t(" Manual")],-1),Y=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/configuration/flows/triggers/triggers-20220603A/manual-20220602A.webp",alt:"Manual"})],-1),Q=e("p",null,[t("This Trigger starts your flow on a manual click of a button within the Data Studio. When you use this trigger, a "),e("strong",null,"Flows"),t(" menu containing a button will appear in the sidebar of the specified collection page(s) and/or its item pages.")],-1),U=e("p",null,[t("The manual trigger must take in item ID(s) before you can click it. So on the collection page, the button will be "),e("em",null,"grayed out"),t(" until you select some number of items. From the item page, the current item\u2019s ID is passed in automatically. These item IDs are passed in to "),e("code",null,"$trigger"),t(".")],-1),X=e("li",null,[e("strong",null,"Collections"),t(" \u2014 Choose the Collection(s) to add the button to.")],-1),Z=e("strong",null,"Location",-1),ee=e("li",null,[e("strong",null,"Asynchronous"),t(" \u2014 Toggle whether or not the Flow executes asynchronously.")],-1),te=e("li",null,[e("strong",null,"Collection Page (Requires Selection)"),t(" \u2014 Toggle whether a selection is required in the Collection Page to trigger.")],-1),oe=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Asynchronous"),e("p",null,[t("If "),e("strong",null,"Asynchronous"),t(" is enabled, the flows system will immediately allow you to use the manual trigger button again to send more requests. If it is disabled, you will have to wait until the flow completes to use it again.")])],-1),ae="Triggers",re=!1,ce="A Trigger initiates a Flow on some internal or external event, such as an in-app activity, incoming webhook, cron job, execution of Operation(s) from other Flows, and beyond!",he="3 min read",ue={__name:"triggers",setup(ne,{expose:a}){const s={title:"Triggers",modularExtension:!1,description:"A Trigger initiates a Flow on some internal or external event, such as an in-app activity, incoming webhook, cron job, execution of Operation(s) from other Flows, and beyond!",readTime:"3 min read"};return a({frontmatter:s}),(le,se)=>{const n=i("router-link"),r=i("docs-wrapper");return c(),h(r,{frontmatter:s},{default:o(()=>[e("div",u,[d,e("div",p,[g,e("p",null,[t("Please be sure to read the overview documentation on "),l(n,{to:"/docs/configuration/flows"},{default:o(()=>[t("Flows")]),_:1}),t(".")])]),f,w,e("p",null,[t("Event Hooks are triggered by events within the platform. The logic is based on "),l(n,{to:"/docs/extensions/hooks"},{default:o(()=>[t("Custom API Hooks")]),_:1}),t(". Any data generated by the event will be nested in the "),m,t(".")]),_,y,v,b,A,T,k,e("div",x,[I,e("p",null,[t("To completely cancel a transaction, you\u2019ll need to throw an error within a "),l(n,{to:"/docs/configuration/flows/operations.md#script"},{default:o(()=>[t("script operation")]),_:1}),t(" or end the flow on a "),l(n,{to:"/docs/configuration/flows#control-flow"},{default:o(()=>[t("failure path")]),_:1}),t(".")])]),R,B,F,C,D,P,O,q,S,$,E,j,H,K,L,M,N,e("p",null,[t("This trigger executes by the "),l(n,{to:"/docs/configuration/flows/operations#another-flow"},{default:o(()=>[t("trigger flow")]),_:1}),t(" operation, allowing you to chain flows.")]),e("ul",null,[e("li",null,[V,t(" \u2014 Optional. Defines data to return and append under the "),W,t(" of "),l(n,{to:"/docs/configuration/flows/operations#another-flow"},{default:o(()=>[t("trigger flow")]),_:1}),t(" operation that tripped the trigger. Choose to return: "),z])]),G,J,Y,Q,U,e("ul",null,[X,e("li",null,[Z,t(" \u2014 Choose to display the button on the "),l(n,{to:"/docs/app/content.md#item-page"},{default:o(()=>[t("Item Page")]),_:1}),t(", "),l(n,{to:"/docs/app/content.md#collection-page"},{default:o(()=>[t("Collection Page")]),_:1}),t(", or both.")]),ee,te]),e("p",null,[t("After the operation runs, a toast notification will appear in your "),l(n,{to:"/docs/app/overview.md#4-sidebar"},{default:o(()=>[t("sidebar")]),_:1}),t(" indicating whether the flow ran successfully.")]),oe])]),_:1})}}};export{ue as default,ce as description,re as modularExtension,he as readTime,ae as title};
@@ -0,0 +1 @@
1
+ import{y as p}from"./index.312f2c91.entry.js";function l(r,u){for(var n=0;n<u.length;n++){const f=u[n];if(typeof f!="string"&&!Array.isArray(f)){for(const o in f)if(o!=="default"&&!(o in r)){const c=Object.getOwnPropertyDescriptor(f,o);c&&Object.defineProperty(r,o,c.get?c:{enumerable:!0,get:()=>f[o]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function(r,u){(function(n){n(p.exports)})(function(n){n.defineMode("troff",function(){var f={};function o(t){if(t.eatSpace())return null;var e=t.sol(),i=t.next();if(i==="\\")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(e&&(i==="."||i==="'")&&t.eat("\\")&&t.eat('"'))return t.skipToEnd(),"comment";if(e&&i==="."){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 h=t.current();return f.hasOwnProperty(h)?f[h]:null}function c(t,e){return(e.tokens[0]||o)(t,e)}return{startState:function(){return{tokens:[]}},token:function(t,e){return c(t,e)}}}),n.defineMIME("text/troff","troff"),n.defineMIME("text/x-troff","troff"),n.defineMIME("application/x-troff","troff")})})();const d=a.exports,x=l({__proto__:null,default:d},[a.exports]);export{x as t};
@@ -0,0 +1 @@
1
+ import{y as D}from"./index.312f2c91.entry.js";function p(_,U){for(var C=0;C<U.length;C++){const r=U[C];if(typeof r!="string"&&!Array.isArray(r)){for(const o in r)if(o!=="default"&&!(o in _)){const E=Object.getOwnPropertyDescriptor(r,o);E&&Object.defineProperty(_,o,E.get?E:{enumerable:!0,get:()=>r[o]})}}}return Object.freeze(Object.defineProperty(_,Symbol.toStringTag,{value:"Module"}))}var f={exports:{}};(function(_,U){(function(C){C(D.exports)})(function(C){C.defineMode("ttcn-cfg",function(o,E){var A=o.indentUnit,l=E.keywords||{},P=E.fileNCtrlMaskOptions||{},L=E.externalCommands||{},s=E.multiLineStrings,M=E.indentStatements!==!1,R=/[\|]/,i;function a(e,n){var t=e.next();if(t=='"'||t=="'")return n.tokenize=d(t),n.tokenize(e,n);if(/[:=]/.test(t))return i=t,"punctuation";if(t=="#")return e.skipToEnd(),"comment";if(/\d/.test(t))return e.eatWhile(/[\w\.]/),"number";if(R.test(t))return e.eatWhile(R),"operator";if(t=="[")return e.eatWhile(/[\w_\]]/),"number sectionTitle";e.eatWhile(/[\w\$_]/);var T=e.current();return l.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,S=!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()),S=!0;break}T=!T&&O=="\\"}return(S||!(T||s))&&(t.tokenize=null),"string"}}function c(e,n,t,T,O){this.indented=e,this.column=n,this.type=t,this.align=T,this.prev=O}function u(e,n,t){var T=e.indented;return e.context&&e.context.type=="statement"&&(T=e.context.indented),e.context=new c(T,n,t,null,e.context)}function I(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 c((e||0)-A,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;i=null;var T=(n.tokenize||a)(e,n);if(T=="comment")return T;if(t.align==null&&(t.align=!0),(i==";"||i==":"||i==",")&&t.type=="statement")I(n);else if(i=="{")u(n,e.column(),"}");else if(i=="[")u(n,e.column(),"]");else if(i=="(")u(n,e.column(),")");else if(i=="}"){for(;t.type=="statement";)t=I(n);for(t.type=="}"&&(t=I(n));t.type=="statement";)t=I(n)}else i==t.type?I(n):M&&((t.type=="}"||t.type=="top")&&i!=";"||t.type=="statement"&&i=="newstatement")&&u(n,e.column(),"statement");return n.startOfLine=!1,T},electricChars:"{}",lineComment:"#",fold:"brace"}});function r(o){for(var E={},A=o.split(" "),l=0;l<A.length;++l)E[A[l]]=!0;return E}C.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})})})();const m=f.exports,g=p({__proto__:null,default:m},[f.exports]);export{g as t};