@directus/app 9.20.3 → 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 (500) 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/{ar-SA.3a51ad1e.js → ar-SA.c5ee16de.js} +1 -1
  8. package/dist/assets/{architecture.0ded5b28.js → architecture.e66cc597.js} +1 -1
  9. package/dist/assets/asciiarmor.ffaf0f62.js +1 -0
  10. package/dist/assets/asn.1.cd62dee4.js +1 -0
  11. package/dist/assets/asterisk.07d1e4af.js +1 -0
  12. package/dist/assets/{authentication.5b7d5fa7.js → authentication.8a718856.js} +5 -5
  13. package/dist/assets/autorefresh.e63fec5a.js +1 -0
  14. package/dist/assets/{aws.890dfda5.js → aws.99d49c74.js} +1 -1
  15. package/dist/assets/{backing-directus.7f54a4af.js → backing-directus.23aeddff.js} +1 -1
  16. package/dist/assets/brainfuck.587235ad.js +1 -0
  17. package/dist/assets/{cli.4e995657.js → cli.8e7d9b17.js} +4 -4
  18. package/dist/assets/{cli.bf0b2442.js → cli.ce3a6393.js} +2 -2
  19. package/dist/assets/clike.8df07672.js +1 -0
  20. package/dist/assets/clojure.7ed940f7.js +1 -0
  21. package/dist/assets/{cloudron.0a16f34b.js → cloudron.0cf18005.js} +1 -1
  22. package/dist/assets/cmake.8058664d.js +1 -0
  23. package/dist/assets/cobol.7925af76.js +1 -0
  24. package/dist/assets/{codebase-overview.2ba91a80.js → codebase-overview.4707b17a.js} +1 -1
  25. package/dist/assets/coffeescript.36666708.js +1 -0
  26. package/dist/assets/{collections.7fa07fe7.js → collections.30500b8b.js} +2 -2
  27. package/dist/assets/{collections.2a61805a.js → collections.88058903.js} +2 -2
  28. package/dist/assets/{collections.ea858bf6.js → collections.b74ab838.js} +3 -3
  29. package/dist/assets/commonlisp.ce672eb5.js +1 -0
  30. package/dist/assets/{conditions.32339903.js → conditions.db9bebfc.js} +1 -1
  31. package/dist/assets/{config-options.53449c2c.js → config-options.48260929.js} +12 -12
  32. package/dist/assets/{content.18716bf7.js → content.647b054c.js} +1 -1
  33. package/dist/assets/{creating-extensions.0a6d6d3b.js → creating-extensions.e032c2f0.js} +3 -3
  34. package/dist/assets/crystal.3c7c09cc.js +1 -0
  35. package/dist/assets/css.b68c041b.js +1 -0
  36. package/dist/assets/cypher.3b38874c.js +4 -0
  37. package/dist/assets/d.0460be39.js +1 -0
  38. package/dist/assets/dart.680bdb1d.js +1 -0
  39. package/dist/assets/{data-model.b5eb7565.js → data-model.63af932c.js} +3 -3
  40. package/dist/assets/de-DE.590d3c70.js +1 -0
  41. package/dist/assets/diff.11dadb16.js +1 -0
  42. package/dist/assets/{digitalocean-app-platform.4063d6cc.js → digitalocean-app-platform.adb9fc63.js} +2 -2
  43. package/dist/assets/{display-templates.65a9b519.js → display-templates.7c1dae6d.js} +1 -1
  44. package/dist/assets/display.87df21d6.js +1 -0
  45. package/dist/assets/{displays.b72d546c.js → displays.c0024804.js} +5 -5
  46. package/dist/assets/django.c5c2bb33.js +1 -0
  47. package/dist/assets/{docker.ae6227ab.js → docker.a790e063.js} +1 -1
  48. package/dist/assets/dockerfile.cb57c90a.js +1 -0
  49. package/dist/assets/{documentation.6628aaac.js → documentation.1783cd53.js} +1 -1
  50. package/dist/assets/dtd.4bdd906a.js +1 -0
  51. package/dist/assets/dylan.af09e3f8.js +1 -0
  52. package/dist/assets/ebnf.0ec983c0.js +1 -0
  53. package/dist/assets/ecl.eeba0610.js +1 -0
  54. package/dist/assets/eiffel.d9fec659.js +1 -0
  55. package/dist/assets/elm.c3ce2b54.js +1 -0
  56. package/dist/assets/{email-templates.5e1b5472.js → email-templates.ed708d89.js} +1 -1
  57. package/dist/assets/{endpoints.44874916.js → endpoints.10a1484a.js} +1 -1
  58. package/dist/assets/erlang.d00fab30.js +1 -0
  59. package/dist/assets/es-419.37d0e1bd.js +1 -0
  60. package/dist/assets/{extensions.9790f6ff.js → extensions.d542042f.js} +1 -1
  61. package/dist/assets/factor.a6dddf2c.js +1 -0
  62. package/dist/assets/{faq.0fd5ca6e.js → faq.8904941c.js} +2 -2
  63. package/dist/assets/fcl.0c78a020.js +1 -0
  64. package/dist/assets/{field-types.e5bd5900.js → field-types.e3e041fc.js} +1 -1
  65. package/dist/assets/{field.b9b55fc2.js → field.64c29e0b.js} +1 -1
  66. package/dist/assets/{fields.fc8af154.js → fields.1597bfad.js} +1 -1
  67. package/dist/assets/{fields.7df6f624.js → fields.c76c2d8b.js} +1 -1
  68. package/dist/assets/{file-library.7a11d866.js → file-library.8fb3da43.js} +1 -1
  69. package/dist/assets/{files.84b41f2f.js → files.d8e3acf4.js} +2 -2
  70. package/dist/assets/{filter-rules.099e9689.js → filter-rules.edb18765.js} +4 -4
  71. package/dist/assets/{filters.98d31bd5.js → filters.26e88a50.js} +1 -1
  72. package/dist/assets/{flows.b6ebb4b6.js → flows.8c6f69bb.js} +6 -6
  73. package/dist/assets/{flows.2646c3ae.js → flows.f014b9cc.js} +2 -2
  74. package/dist/assets/{folders.35cfde90.js → folders.8aec87f5.js} +5 -5
  75. package/dist/assets/forth.fbb63d06.js +1 -0
  76. package/dist/assets/fortran.cbc14824.js +1 -0
  77. package/dist/assets/fr-FR.d8dbf5de.js +1 -0
  78. package/dist/assets/gas.3e3eaaa0.js +1 -0
  79. package/dist/assets/{gcp.ce76381f.js → gcp.97542e88.js} +5 -5
  80. package/dist/assets/gfm.a5597fec.js +1 -0
  81. package/dist/assets/gherkin.9cfc1ed7.js +1 -0
  82. package/dist/assets/{github-ci.b4dde47f.js → github-ci.e7d15770.js} +2 -2
  83. package/dist/assets/{glossary.3b14c64d.js → glossary.beaf358c.js} +1 -1
  84. package/dist/assets/{glossary.930fe38e.js → glossary.c972e836.js} +1 -1
  85. package/dist/assets/go.f180871e.js +1 -0
  86. package/dist/assets/groovy.4db995a9.js +1 -0
  87. package/dist/assets/haml.ed77ce51.js +1 -0
  88. package/dist/assets/handlebars.81504d91.js +1 -0
  89. package/dist/assets/haskell-literate.d54dc9c7.js +1 -0
  90. package/dist/assets/haskell.f21c4399.js +1 -0
  91. package/dist/assets/haxe.50f0db0c.js +1 -0
  92. package/dist/assets/{hooks.b9909639.js → hooks.feaad058.js} +1 -1
  93. package/dist/assets/htmlembedded.5ff69a18.js +1 -0
  94. package/dist/assets/htmlmixed.5efed62b.js +1 -0
  95. package/dist/assets/{htmlmixed.bca09a1b.js → htmlmixed.f69cc072.js} +1 -1
  96. package/dist/assets/http.6b260d22.js +1 -0
  97. package/dist/assets/hu-HU.b086156a.js +1 -0
  98. package/dist/assets/idl.617214c8.js +1 -0
  99. package/dist/assets/{iis.63d75601.js → iis.0358929d.js} +1 -1
  100. package/dist/assets/{import-export.fe680598.js → import-export.391b74e0.js} +2 -2
  101. package/dist/assets/{index.ffcfdc79.js → index.04b73e2f.js} +1 -1
  102. package/dist/assets/{index.3ccb1a62.js → index.09845961.js} +1 -1
  103. package/dist/assets/{index.671547c3.js → index.130287f6.js} +1 -1
  104. package/dist/assets/{index.3d4f0091.css → index.19e6c20c.css} +1 -1
  105. package/dist/assets/{index.20179e31.js → index.1ba23fe5.js} +1 -1
  106. package/dist/assets/{index.f19e5b18.js → index.1f330fc3.js} +1 -1
  107. package/dist/assets/{index.7f210d25.js → index.24999c03.js} +1 -1
  108. package/dist/assets/{index.06aaef91.entry.js → index.312f2c91.entry.js} +2693 -2687
  109. package/dist/assets/{index.b242e4b8.js → index.31f6e6f2.js} +3 -3
  110. package/dist/assets/{index.7c5199ad.js → index.330c3aee.js} +1 -1
  111. package/dist/assets/{index.549a82a6.js → index.3470f134.js} +1 -1
  112. package/dist/assets/index.38d152bf.js +1 -0
  113. package/dist/assets/{index.a6c65314.js → index.4044e5c7.js} +1 -1
  114. package/dist/assets/{index.764b9d6e.js → index.4706b3f5.js} +1 -1
  115. package/dist/assets/{index.875a771b.js → index.4b24f075.js} +1 -1
  116. package/dist/assets/{index.6949d989.js → index.4c6e76b7.js} +1 -1
  117. package/dist/assets/{index.0d7f4d79.js → index.522f44b0.js} +1 -1
  118. package/dist/assets/{index.1c9cfeb8.js → index.525d8fd8.js} +1 -1
  119. package/dist/assets/{index.d8e4727e.js → index.528e4b54.js} +1 -1
  120. package/dist/assets/{index.d9e48160.js → index.52a4297c.js} +1 -1
  121. package/dist/assets/{index.34c47fcf.js → index.530fd584.js} +1 -1
  122. package/dist/assets/{index.91e98759.js → index.546018df.js} +1 -1
  123. package/dist/assets/{index.d557b36c.js → index.57542755.js} +1 -1
  124. package/dist/assets/{index.425c965c.js → index.5a8952da.js} +1 -1
  125. package/dist/assets/{index.9b6db0de.js → index.5cf97c2b.js} +1 -1
  126. package/dist/assets/index.65e5d28f.css +1 -0
  127. package/dist/assets/{index.08c5d5a2.js → index.6b77e807.js} +1 -1
  128. package/dist/assets/{index.393b7fd6.js → index.6bf3a163.js} +1 -1
  129. package/dist/assets/{index.fe4bc374.js → index.6c07a132.js} +1 -1
  130. package/dist/assets/{index.1f99dc82.js → index.6c4fabf1.js} +1 -1
  131. package/dist/assets/{index.7468a23c.js → index.6fa71870.js} +1 -1
  132. package/dist/assets/{index.8fb3c07f.js → index.7045dfad.js} +1 -1
  133. package/dist/assets/{index.aa66a39f.js → index.75ef0473.js} +1 -1
  134. package/dist/assets/{index.c3959367.js → index.77b8f02e.js} +1 -1
  135. package/dist/assets/{index.62e48e8e.js → index.7943fd38.js} +1 -1
  136. package/dist/assets/{index.ac96f5b3.js → index.7c5b74dc.js} +1 -1
  137. package/dist/assets/{index.f32d0fbe.js → index.7de5db57.js} +1 -1
  138. package/dist/assets/{index.8aa50b59.js → index.7e90d361.js} +1 -1
  139. package/dist/assets/{index.2399ffb8.js → index.7edb8b15.js} +1 -1
  140. package/dist/assets/{index.d370fafd.js → index.7fcf2b86.js} +1 -1
  141. package/dist/assets/{index.5c5acddc.js → index.80106d2d.js} +1 -1
  142. package/dist/assets/{index.8b8e6073.js → index.804b3c9b.js} +1 -1
  143. package/dist/assets/{index.5264aa26.js → index.8063dc25.js} +1 -1
  144. package/dist/assets/{index.eb772cab.js → index.81a02f8c.js} +1 -1
  145. package/dist/assets/{index.38e5dfc6.js → index.81d5b763.js} +1 -1
  146. package/dist/assets/{index.7269b9b7.js → index.8200528c.js} +1 -1
  147. package/dist/assets/{index.00acb7aa.js → index.82939b3a.js} +1 -1
  148. package/dist/assets/{index.d024a491.js → index.8446e18c.js} +1 -1
  149. package/dist/assets/index.87afb869.js +1 -0
  150. package/dist/assets/{index.7e37814b.js → index.92f59a75.js} +1 -1
  151. package/dist/assets/{index.3abfd687.js → index.98cb4ee1.js} +1 -1
  152. package/dist/assets/{index.486669b9.js → index.9d2fbf00.js} +1 -1
  153. package/dist/assets/{index.ec87e7f6.js → index.9dfe292c.js} +1 -1
  154. package/dist/assets/{index.4ce96101.js → index.a1b7be9b.js} +1 -1
  155. package/dist/assets/{index.1b594a21.js → index.a5356d91.js} +1 -1
  156. package/dist/assets/{index.b67fb5fc.js → index.ab4e5ca3.js} +1 -1
  157. package/dist/assets/{index.f511aff3.js → index.ab7b6cba.js} +1 -1
  158. package/dist/assets/{index.578c30ec.js → index.ac6c3fe9.js} +1 -1
  159. package/dist/assets/{index.5062f951.js → index.adc560cb.js} +1 -1
  160. package/dist/assets/{index.045e97f0.js → index.ae4bf6ea.js} +1 -1
  161. package/dist/assets/{index.9f69b190.js → index.aeaa0aa9.js} +1 -1
  162. package/dist/assets/{index.8b9e43f4.js → index.afc6b30e.js} +1 -1
  163. package/dist/assets/{index.23def130.js → index.b02dbd39.js} +1 -1
  164. package/dist/assets/{index.3cb24d7f.js → index.b391672d.js} +1 -1
  165. package/dist/assets/{index.19a506a0.js → index.b503f187.js} +1 -1
  166. package/dist/assets/{index.a88d2d0b.js → index.b7113e87.js} +1 -1
  167. package/dist/assets/{index.7bb84aa5.js → index.c156c46e.js} +1 -1
  168. package/dist/assets/{index.68337c85.js → index.c5e16ef6.js} +1 -1
  169. package/dist/assets/{index.45686201.js → index.c85c3f77.js} +1 -1
  170. package/dist/assets/{index.03886e4a.js → index.cb7799d1.js} +1 -1
  171. package/dist/assets/{index.eb4d5cbc.js → index.cb93c1e8.js} +1 -1
  172. package/dist/assets/{index.dc4d9b6a.js → index.d0d998a0.js} +1 -1
  173. package/dist/assets/{index.c2858d95.js → index.d790d684.js} +1 -1
  174. package/dist/assets/{index.a264494d.js → index.dc9006a1.js} +1 -1
  175. package/dist/assets/{index.8130aabc.js → index.e3619b04.js} +1 -1
  176. package/dist/assets/{index.ab5ebdc3.js → index.e4224764.js} +1 -1
  177. package/dist/assets/{index.426d219b.js → index.e5079c3a.js} +1 -1
  178. package/dist/assets/{index.90ecf353.js → index.e6971ab1.js} +1 -1
  179. package/dist/assets/{index.b2e447e3.js → index.e85bc569.js} +1 -1
  180. package/dist/assets/{index.42614221.js → index.e95b7e4b.js} +1 -1
  181. package/dist/assets/{index.0608a502.js → index.ec8cfaac.js} +1 -1
  182. package/dist/assets/{index.b0e3c55c.js → index.f2e26d1f.js} +1 -1
  183. package/dist/assets/{index.eecb0d4b.js → index.f60d22d0.js} +1 -1
  184. package/dist/assets/{index.a8b94b31.js → index.f828781f.js} +1 -1
  185. package/dist/assets/{index.2b61f9fb.js → index.fb6b1657.js} +1 -1
  186. package/dist/assets/{index.9c4a7f65.js → index.fb8023b0.js} +1 -1
  187. package/dist/assets/{index.79264a03.js → index.fe536421.js} +1 -1
  188. package/dist/assets/{input-rich-text-html.9a04a626.js → input-rich-text-html.b1656039.js} +30 -30
  189. package/dist/assets/{insights.bb6e6dd9.js → insights.8a1beae6.js} +2 -2
  190. package/dist/assets/{installation.a80b7bdd.js → installation.2db8d0e1.js} +1 -1
  191. package/dist/assets/{interface.6b3d318d.js → interface.8e4a64f0.js} +1 -1
  192. package/dist/assets/{interfaces.9c9cb203.js → interfaces.8e88b01f.js} +4 -4
  193. package/dist/assets/{introduction.17ce0958.js → introduction.2a0882fe.js} +4 -4
  194. package/dist/assets/{introduction.74d5f276.js → introduction.42a2136e.js} +1 -1
  195. package/dist/assets/{introduction.2b473cdb.js → introduction.4f0ccbaf.js} +1 -1
  196. package/dist/assets/{introduction.23bcca02.js → introduction.dbd85d4e.js} +1 -1
  197. package/dist/assets/it-IT.53711e9b.js +1 -0
  198. package/dist/assets/{items.a200a734.js → items.9f358fa7.js} +5 -5
  199. package/dist/assets/{items.d9558b12.js → items.abb8d314.js} +1 -1
  200. package/dist/assets/javascript-hint.bd3c0fcf.js +1 -0
  201. package/dist/assets/javascript.7eff1543.js +1 -0
  202. package/dist/assets/jinja2.eec1b998.js +1 -0
  203. package/dist/assets/jsx.8808ecb1.js +1 -0
  204. package/dist/assets/julia.56479fbf.js +1 -0
  205. package/dist/assets/{layouts.71139077.js → layouts.9c64beac.js} +3 -3
  206. package/dist/assets/{layouts.67e010c3.js → layouts.b4771384.js} +1 -1
  207. package/dist/assets/livescript.37040ed1.js +1 -0
  208. package/dist/assets/lua.7730f9fd.js +1 -0
  209. package/dist/assets/{manual.be26c257.js → manual.4a53ccfe.js} +4 -4
  210. package/dist/assets/mark-selection.c1a5d4e1.js +1 -0
  211. package/dist/assets/match-highlighter.ed7a2467.js +1 -0
  212. package/dist/assets/{matchbrackets.9e20b864.js → matchbrackets.ebc48bf8.js} +1 -1
  213. package/dist/assets/mathematica.1dbfb6f4.js +1 -0
  214. package/dist/assets/mbox.0ac8a216.js +1 -0
  215. package/dist/assets/{migrations.58c8fd96.js → migrations.2969a369.js} +1 -1
  216. package/dist/assets/mirc.1cc06f67.js +1 -0
  217. package/dist/assets/mllike.cee4eaf7.js +1 -0
  218. package/dist/assets/modelica.2292d0b8.js +1 -0
  219. package/dist/assets/{modules.0cfbe882.js → modules.f057fcd0.js} +3 -3
  220. package/dist/assets/mscgen.38b6bb11.js +1 -0
  221. package/dist/assets/multiplex.1d92e024.js +3 -0
  222. package/dist/assets/mumps.f37c25cb.js +1 -0
  223. package/dist/assets/nginx.39e016a3.js +1 -0
  224. package/dist/assets/{notifications.7b442623.js → notifications.ca876814.js} +11 -11
  225. package/dist/assets/nsis.1cf932c7.js +1 -0
  226. package/dist/assets/ntriples.e6c37d71.js +1 -0
  227. package/dist/assets/octave.2bec4045.js +1 -0
  228. package/dist/assets/{operations.bd173669.js → operations.246298bc.js} +11 -11
  229. package/dist/assets/{operations.6fcceb98.js → operations.64af444f.js} +3 -3
  230. package/dist/assets/{operations.30bbad94.js → operations.b4042de2.js} +2 -2
  231. package/dist/assets/overlay.16f98fb6.js +1 -0
  232. package/dist/assets/{overview.cb1196c4.js → overview.0b4ab371.js} +1 -1
  233. package/dist/assets/{overview.4c1683c3.js → overview.359f9713.js} +1 -1
  234. package/dist/assets/{overview.23ad824a.js → overview.40893677.js} +1 -1
  235. package/dist/assets/oz.8955a131.js +1 -0
  236. package/dist/assets/{panels.187b8f0d.js → panels.3969b423.js} +2 -2
  237. package/dist/assets/pascal.7213d964.js +1 -0
  238. package/dist/assets/pegjs.6877c220.js +1 -0
  239. package/dist/assets/perl.7f37e0c4.js +1 -0
  240. package/dist/assets/{permissions.2ad2e118.js → permissions.0712320e.js} +4 -4
  241. package/dist/assets/php.b63c0c50.js +1 -0
  242. package/dist/assets/pig.1cddd148.js +1 -0
  243. package/dist/assets/{pinia.24c7b35a.entry.js → pinia.0d44ec62.entry.js} +2 -2
  244. package/dist/assets/{plesk.279941fc.js → plesk.e3ea514c.js} +5 -5
  245. package/dist/assets/powershell.3aecbe91.js +1 -0
  246. package/dist/assets/{presets-bookmarks.62ac9314.js → presets-bookmarks.0baf10eb.js} +1 -1
  247. package/dist/assets/{presets.0390ff92.js → presets.0de7849a.js} +8 -8
  248. package/dist/assets/{project-settings.8b91aa04.js → project-settings.6e5956c8.js} +1 -1
  249. package/dist/assets/{projects.97bc15fa.js → projects.12d7a177.js} +1 -1
  250. package/dist/assets/properties.db539b03.js +1 -0
  251. package/dist/assets/protobuf.0fa0e9b4.js +1 -0
  252. package/dist/assets/pt-BR.2c2e8c4f.js +1 -0
  253. package/dist/assets/pug.e6d33f3a.js +1 -0
  254. package/dist/assets/puppet.18346b43.js +1 -0
  255. package/dist/assets/python.065d28e0.js +1 -0
  256. package/dist/assets/q.ed3c142c.js +1 -0
  257. package/dist/assets/{query.19ee7756.js → query.6dcece55.js} +1 -1
  258. package/dist/assets/{quickstart.96d7fa17.js → quickstart.f1c431cf.js} +3 -3
  259. package/dist/assets/{quickstart.7f55e26e.js → quickstart.fd328631.js} +2 -2
  260. package/dist/assets/r.f2ad8682.js +1 -0
  261. package/dist/assets/{readme.abb2691e.js → readme.c063616b.js} +1 -1
  262. package/dist/assets/{relations.1409faa0.js → relations.c92ebc4e.js} +6 -6
  263. package/dist/assets/{relationship.8e3bc45d.js → relationship.0344c790.js} +1 -1
  264. package/dist/assets/{relationships.2449eed5.js → relationships.ad2ee267.js} +7 -7
  265. package/dist/assets/{resources.f9b64d6f.js → resources.84b84252.js} +1 -1
  266. package/dist/assets/{revisions.7ffa76fe.js → revisions.39f423d0.js} +4 -4
  267. package/dist/assets/ro-RO.4c33f715.js +1 -0
  268. package/dist/assets/{roles.ce6518a4.js → roles.89c51107.js} +7 -7
  269. package/dist/assets/rpm.1674f668.js +1 -0
  270. package/dist/assets/rst.0a69f626.js +1 -0
  271. package/dist/assets/ruby.02498746.js +1 -0
  272. package/dist/assets/{ruby.514cda97.js → ruby.d805273a.js} +1 -1
  273. package/dist/assets/{running-locally.8b135453.js → running-locally.24e1b4bf.js} +6 -6
  274. package/dist/assets/runtime-core.esm-bundler.22ec0346.js +1 -0
  275. package/dist/assets/rust.90ce6688.js +1 -0
  276. package/dist/assets/sas.3b045c8d.js +1 -0
  277. package/dist/assets/sass.4fcb9b12.js +1 -0
  278. package/dist/assets/{schema.6649576e.js → schema.c326d911.js} +1 -1
  279. package/dist/assets/scheme.eb7abc5c.js +1 -0
  280. package/dist/assets/{sdk.33dcc072.js → sdk.2fdc3788.js} +17 -17
  281. package/dist/assets/{security.acb2be94.js → security.a0326c54.js} +1 -1
  282. package/dist/assets/{server.60bfa539.js → server.5b19042c.js} +1 -1
  283. package/dist/assets/{settings.6ac3895b.js → settings.2195b191.js} +1 -1
  284. package/dist/assets/{settings.a00aa4fa.js → settings.2553780f.js} +1 -1
  285. package/dist/assets/{shares.9a7ea736.js → shares.a17e644c.js} +1 -1
  286. package/dist/assets/shell.09d717f3.js +1 -0
  287. package/dist/assets/show-hint.4fc17cec.js +1 -0
  288. package/dist/assets/sieve.fe87517f.js +1 -0
  289. package/dist/assets/slim.76f6114d.js +1 -0
  290. package/dist/assets/smalltalk.eaf13594.js +1 -0
  291. package/dist/assets/smarty.abf4421d.js +1 -0
  292. package/dist/assets/solr.62208f30.js +1 -0
  293. package/dist/assets/soy.b2db807b.js +1 -0
  294. package/dist/assets/sparql.7042a2b3.js +1 -0
  295. package/dist/assets/spreadsheet.ca1422ad.js +1 -0
  296. package/dist/assets/sql.fcb976c5.js +1 -0
  297. package/dist/assets/{sso-examples.eb3ba478.js → sso-examples.8a36c968.js} +2 -2
  298. package/dist/assets/{sso.29d67116.js → sso.92e5b5f1.js} +4 -4
  299. package/dist/assets/stex.30c4dc01.js +1 -0
  300. package/dist/assets/{stex.dd8072e9.js → stex.a5fe2e4a.js} +1 -1
  301. package/dist/assets/stylus.f7fcee76.js +1 -0
  302. package/dist/assets/{support.e9e535b3.js → support.f153d4ae.js} +1 -1
  303. package/dist/assets/swift.116cdb17.js +1 -0
  304. package/dist/assets/tcl.42613799.js +1 -0
  305. package/dist/assets/{teams.347f0563.js → teams.c564c81f.js} +1 -1
  306. package/dist/assets/textile.4285b886.js +1 -0
  307. package/dist/assets/{themes.32a50b86.js → themes.6c5c943f.js} +2 -2
  308. package/dist/assets/tiddlywiki.eb66e0c7.js +1 -0
  309. package/dist/assets/tiki.c796e616.js +1 -0
  310. package/dist/assets/toml.3b8b1e04.js +1 -0
  311. package/dist/assets/tornado.89f4bce8.js +1 -0
  312. package/dist/assets/tr-TR.328a2546.js +1 -0
  313. package/dist/assets/{translation-strings.285d6bb2.js → translation-strings.326a2741.js} +1 -1
  314. package/dist/assets/translations.4c0efc6a.js +1 -0
  315. package/dist/assets/{translations.f87a601e.js → translations.645f8c9c.js} +1 -1
  316. package/dist/assets/{triggers.325e50d8.js → triggers.44703cf0.js} +1 -1
  317. package/dist/assets/troff.51ba9964.js +1 -0
  318. package/dist/assets/ttcn-cfg.62ff9e40.js +1 -0
  319. package/dist/assets/ttcn.08f34f21.js +1 -0
  320. package/dist/assets/turtle.2efc3e1b.js +1 -0
  321. package/dist/assets/twig.bd0ee3cd.js +1 -0
  322. package/dist/assets/{ubuntu.3ba252fe.js → ubuntu.47e06de3.js} +2 -2
  323. package/dist/assets/uk-UA.fe247137.js +1 -0
  324. package/dist/assets/{upgrades-migrations.a091b8af.js → upgrades-migrations.a23cace7.js} +1 -1
  325. package/dist/assets/{use-sync.d9160f34.js → use-sync.e83d9ab3.js} +3 -3
  326. package/dist/assets/{user-directory.9ca05985.js → user-directory.e1f15d1a.js} +1 -1
  327. package/dist/assets/{users-roles-permissions.bb71f6c9.js → users-roles-permissions.14757490.js} +1 -1
  328. package/dist/assets/{users.a44125e3.js → users.0ea4e372.js} +1 -1
  329. package/dist/assets/{utilities.0380c496.js → utilities.c76e17ac.js} +7 -7
  330. package/dist/assets/validation.99c6fcd4.js +1 -0
  331. package/dist/assets/vb.e77c04f4.js +1 -0
  332. package/dist/assets/vbscript.b1155c12.js +1 -0
  333. package/dist/assets/velocity.5f33a92c.js +1 -0
  334. package/dist/assets/verilog.064306e8.js +1 -0
  335. package/dist/assets/vhdl.c71b4d0c.js +1 -0
  336. package/dist/assets/{vue-i18n.df8d89e7.entry.js → vue-i18n.fbc77449.entry.js} +1 -1
  337. package/dist/assets/vue-router.3a828e63.entry.js +5 -0
  338. package/dist/assets/vue.1a8f18be.js +1 -0
  339. package/dist/assets/vue.486f3e62.entry.js +1 -0
  340. package/dist/assets/vue.runtime.esm-bundler.f6138180.js +1 -0
  341. package/dist/assets/wast.7970d24f.js +1 -0
  342. package/dist/assets/{webhooks.2d23be4c.js → webhooks.105c0454.js} +1 -1
  343. package/dist/assets/{webhooks.40d9a7a3.js → webhooks.d7f419fe.js} +4 -4
  344. package/dist/assets/webidl.f56d782e.js +1 -0
  345. package/dist/assets/{xml.6c641966.js → xml.c9106c48.js} +1 -1
  346. package/dist/assets/xquery.d326f7d2.js +1 -0
  347. package/dist/assets/yacas.aab21d14.js +1 -0
  348. package/dist/assets/yaml-frontmatter.c4684bee.js +1 -0
  349. package/dist/assets/yaml.02beca9a.js +1 -0
  350. package/dist/assets/z80.2c343a72.js +1 -0
  351. package/dist/assets/{zh-CN.a9e8d795.js → zh-CN.a8f9e881.js} +1 -1
  352. package/dist/index.html +8 -8
  353. package/package.json +61 -61
  354. package/dist/assets/@directus_extensions-sdk.fd0e4213.entry.js +0 -1
  355. package/dist/assets/active-line.6ad3cc1b.js +0 -1
  356. package/dist/assets/apl.c686918c.js +0 -1
  357. package/dist/assets/asciiarmor.461dfa97.js +0 -1
  358. package/dist/assets/asn.1.edf36206.js +0 -1
  359. package/dist/assets/asterisk.ec604180.js +0 -1
  360. package/dist/assets/autorefresh.12942f0a.js +0 -1
  361. package/dist/assets/brainfuck.f0a9ac27.js +0 -1
  362. package/dist/assets/clike.6813c8af.js +0 -1
  363. package/dist/assets/clojure.282c98e9.js +0 -1
  364. package/dist/assets/cmake.3a19ac2e.js +0 -1
  365. package/dist/assets/cobol.1a968dc2.js +0 -1
  366. package/dist/assets/coffeescript.f4d04eff.js +0 -1
  367. package/dist/assets/commonlisp.b6ce4697.js +0 -1
  368. package/dist/assets/crystal.c82fbe0e.js +0 -1
  369. package/dist/assets/css.f5233cc9.js +0 -1
  370. package/dist/assets/cypher.039d2c7c.js +0 -4
  371. package/dist/assets/d.9a180f99.js +0 -1
  372. package/dist/assets/dart.6eb5ddde.js +0 -1
  373. package/dist/assets/de-DE.ae6e5ffb.js +0 -1
  374. package/dist/assets/diff.5b316696.js +0 -1
  375. package/dist/assets/display.4a967445.js +0 -1
  376. package/dist/assets/django.6c78c8f8.js +0 -1
  377. package/dist/assets/dockerfile.99dfeb4b.js +0 -1
  378. package/dist/assets/dtd.0634c33c.js +0 -1
  379. package/dist/assets/dylan.8694ba80.js +0 -1
  380. package/dist/assets/ebnf.462b292d.js +0 -1
  381. package/dist/assets/ecl.3dbd76a1.js +0 -1
  382. package/dist/assets/eiffel.4ec3277b.js +0 -1
  383. package/dist/assets/elm.04561af7.js +0 -1
  384. package/dist/assets/erlang.4826206d.js +0 -1
  385. package/dist/assets/es-419.582d398a.js +0 -1
  386. package/dist/assets/factor.bc3247f5.js +0 -1
  387. package/dist/assets/fcl.9f2d1e59.js +0 -1
  388. package/dist/assets/forth.bd08c7e3.js +0 -1
  389. package/dist/assets/fortran.2ae538b0.js +0 -1
  390. package/dist/assets/fr-FR.fa3f9dfa.js +0 -1
  391. package/dist/assets/gas.01960520.js +0 -1
  392. package/dist/assets/gfm.8e7c0694.js +0 -1
  393. package/dist/assets/gherkin.c6599791.js +0 -1
  394. package/dist/assets/go.f623c1d3.js +0 -1
  395. package/dist/assets/groovy.b5a3df5c.js +0 -1
  396. package/dist/assets/haml.6302e530.js +0 -1
  397. package/dist/assets/handlebars.698c31d7.js +0 -1
  398. package/dist/assets/haskell-literate.d3ee41f3.js +0 -1
  399. package/dist/assets/haskell.e4bd92a1.js +0 -1
  400. package/dist/assets/haxe.db74ea0a.js +0 -1
  401. package/dist/assets/htmlembedded.67d9d54e.js +0 -1
  402. package/dist/assets/htmlmixed.f95449b1.js +0 -1
  403. package/dist/assets/http.16e0eb29.js +0 -1
  404. package/dist/assets/hu-HU.ff4d97e1.js +0 -1
  405. package/dist/assets/idl.fb34fd03.js +0 -1
  406. package/dist/assets/index.4ce1e26c.js +0 -1
  407. package/dist/assets/index.90515a60.css +0 -1
  408. package/dist/assets/index.a36c94c4.js +0 -1
  409. package/dist/assets/it-IT.5db21711.js +0 -1
  410. package/dist/assets/javascript-hint.835011a8.js +0 -1
  411. package/dist/assets/javascript.098ad3f4.js +0 -1
  412. package/dist/assets/jinja2.5d6e4ebc.js +0 -1
  413. package/dist/assets/jsx.9e86f9c1.js +0 -1
  414. package/dist/assets/julia.3d7819b8.js +0 -1
  415. package/dist/assets/livescript.d3e3ffd7.js +0 -1
  416. package/dist/assets/lua.dcc90e1a.js +0 -1
  417. package/dist/assets/mark-selection.555804b8.js +0 -1
  418. package/dist/assets/match-highlighter.d280d567.js +0 -1
  419. package/dist/assets/mathematica.a4cf7905.js +0 -1
  420. package/dist/assets/mbox.0118ba5e.js +0 -1
  421. package/dist/assets/mirc.f16a416b.js +0 -1
  422. package/dist/assets/mllike.8af83228.js +0 -1
  423. package/dist/assets/modelica.fff0e69c.js +0 -1
  424. package/dist/assets/mscgen.4f351ed7.js +0 -1
  425. package/dist/assets/multiplex.24637d75.js +0 -3
  426. package/dist/assets/mumps.b29547a0.js +0 -1
  427. package/dist/assets/nginx.0b30c51b.js +0 -1
  428. package/dist/assets/nsis.931674c1.js +0 -1
  429. package/dist/assets/ntriples.b3ee92f7.js +0 -1
  430. package/dist/assets/octave.9fa134a4.js +0 -1
  431. package/dist/assets/overlay.7325085f.js +0 -1
  432. package/dist/assets/oz.418a19b3.js +0 -1
  433. package/dist/assets/pascal.abc2efea.js +0 -1
  434. package/dist/assets/pegjs.533a8931.js +0 -1
  435. package/dist/assets/perl.b0843cce.js +0 -1
  436. package/dist/assets/php.c4294507.js +0 -1
  437. package/dist/assets/pig.9e076d83.js +0 -1
  438. package/dist/assets/powershell.9163521a.js +0 -1
  439. package/dist/assets/properties.7389537c.js +0 -1
  440. package/dist/assets/protobuf.3ba8f801.js +0 -1
  441. package/dist/assets/pt-BR.c51763f3.js +0 -1
  442. package/dist/assets/pug.b98726b9.js +0 -1
  443. package/dist/assets/puppet.c2c7aecb.js +0 -1
  444. package/dist/assets/python.672ad786.js +0 -1
  445. package/dist/assets/q.58e35d92.js +0 -1
  446. package/dist/assets/r.86a12cf3.js +0 -1
  447. package/dist/assets/ro-RO.52802a17.js +0 -1
  448. package/dist/assets/rpm.057276c6.js +0 -1
  449. package/dist/assets/rst.3911d824.js +0 -1
  450. package/dist/assets/ruby.4ca30934.js +0 -1
  451. package/dist/assets/runtime-core.esm-bundler.fe249c5c.js +0 -4
  452. package/dist/assets/rust.f8f204a0.js +0 -1
  453. package/dist/assets/sas.b027b508.js +0 -1
  454. package/dist/assets/sass.6778645c.js +0 -1
  455. package/dist/assets/scheme.7d2fc5ef.js +0 -1
  456. package/dist/assets/shell.586a365e.js +0 -1
  457. package/dist/assets/show-hint.294aed89.js +0 -1
  458. package/dist/assets/sieve.76492164.js +0 -1
  459. package/dist/assets/slim.b75d75fc.js +0 -1
  460. package/dist/assets/smalltalk.c3811c1d.js +0 -1
  461. package/dist/assets/smarty.7ad51fee.js +0 -1
  462. package/dist/assets/solr.bc858702.js +0 -1
  463. package/dist/assets/soy.3523b082.js +0 -1
  464. package/dist/assets/sparql.23f67405.js +0 -1
  465. package/dist/assets/spreadsheet.fa0c4509.js +0 -1
  466. package/dist/assets/sql.e5dcae4e.js +0 -1
  467. package/dist/assets/stex.9edbeb3d.js +0 -1
  468. package/dist/assets/stylus.71868f10.js +0 -1
  469. package/dist/assets/swift.141c772a.js +0 -1
  470. package/dist/assets/tcl.e5b16da9.js +0 -1
  471. package/dist/assets/textile.0ba58239.js +0 -1
  472. package/dist/assets/tiddlywiki.cd3e074b.js +0 -1
  473. package/dist/assets/tiki.8884b81d.js +0 -1
  474. package/dist/assets/toml.0b104a38.js +0 -1
  475. package/dist/assets/tornado.ca0dd624.js +0 -1
  476. package/dist/assets/tr-TR.1dcfd6d4.js +0 -1
  477. package/dist/assets/translations.074feb87.js +0 -1
  478. package/dist/assets/troff.ceff2948.js +0 -1
  479. package/dist/assets/ttcn-cfg.20ce326a.js +0 -1
  480. package/dist/assets/ttcn.348a5af1.js +0 -1
  481. package/dist/assets/turtle.a74dd24d.js +0 -1
  482. package/dist/assets/twig.103f6c63.js +0 -1
  483. package/dist/assets/uk-UA.99a7a7a6.js +0 -1
  484. package/dist/assets/validation.cb080608.js +0 -1
  485. package/dist/assets/vb.9bd07f67.js +0 -1
  486. package/dist/assets/vbscript.f266487f.js +0 -1
  487. package/dist/assets/velocity.b63b2da2.js +0 -1
  488. package/dist/assets/verilog.94262bc9.js +0 -1
  489. package/dist/assets/vhdl.89bc6c80.js +0 -1
  490. package/dist/assets/vue-router.805cb517.entry.js +0 -5
  491. package/dist/assets/vue.c7dd8317.entry.js +0 -1
  492. package/dist/assets/vue.e839556b.js +0 -1
  493. package/dist/assets/vue.runtime.esm-bundler.eb605ed6.js +0 -1
  494. package/dist/assets/wast.077750a6.js +0 -1
  495. package/dist/assets/webidl.4f90cc6b.js +0 -1
  496. package/dist/assets/xquery.1f517ebf.js +0 -1
  497. package/dist/assets/yacas.5d349152.js +0 -1
  498. package/dist/assets/yaml-frontmatter.744c0030.js +0 -1
  499. package/dist/assets/yaml.41d6e7e9.js +0 -1
  500. package/dist/assets/z80.7e67c12c.js +0 -1
@@ -0,0 +1 @@
1
+ import{y as H}from"./index.312f2c91.entry.js";function J(p,s){for(var u=0;u<s.length;u++){const f=s[u];if(typeof f!="string"&&!Array.isArray(f)){for(const t in f)if(t!=="default"&&!(t in p)){const o=Object.getOwnPropertyDescriptor(f,t);o&&Object.defineProperty(p,t,o.get?o:{enumerable:!0,get:()=>f[t]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var g={exports:{}};(function(p,s){(function(u){u(H.exports)})(function(u){u.defineMode("julia",function(f,t){function o(n,e,i){return typeof i>"u"&&(i=""),typeof e>"u"&&(e="\\b"),new RegExp("^"+i+"(("+n.join(")|(")+"))"+e)}var b="\\\\[0-7]{1,3}",y="\\\\x[A-Fa-f0-9]{1,2}",m=`\\\\[abefnrtv0%?'"\\\\]`,x="([^\\u0027\\u005C\\uD800-\\uDFFF]|[\\uD800-\\uDFFF][\\uDC00-\\uDFFF])",h=["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","\\.{2,3}","[\\.\\\\%*+\\-<>!\\/^|&]=?","\\?","\\$","~",":"],z=t.operators||o(["[<>]:","[<>=]=","<<=?",">>>?=?","=>","--?>","<--[->]?","\\/\\/","[\\\\%*+\\-<>!\\/^|&\\u00F7\\u22BB]=?","\\?","\\$","~",":","\\u00D7","\\u2208","\\u2209","\\u220B","\\u220C","\\u2218","\\u221A","\\u221B","\\u2229","\\u222A","\\u2260","\\u2264","\\u2265","\\u2286","\\u2288","\\u228A","\\u22C5","\\b(in|isa)\\b(?!.?\\()"],""),_=t.delimiters||/^[;,()[\]{}]/,A=t.identifiers||/^[_A-Za-z\u00A1-\u2217\u2219-\uFFFF][\w\u00A1-\u2217\u2219-\uFFFF]*!*/,E=o([b,y,m,x],"'"),w=["begin","function","type","struct","immutable","let","macro","for","while","quote","if","else","elseif","try","finally","catch","do"],C=["end","else","elseif","catch","finally"],d=["if","else","elseif","while","for","begin","let","end","do","try","catch","finally","return","break","continue","global","local","const","export","import","importall","using","function","where","macro","module","baremodule","struct","type","mutable","immutable","quote","typealias","abstract","primitive","bitstype"],v=["true","false","nothing","NaN","Inf"];u.registerHelper("hintWords","julia",d.concat(v));var j=o(w),D=o(C),P=o(d),T=o(v),O=/^@[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,S=/^:[_A-Za-z\u00A1-\uFFFF][\w\u00A1-\uFFFF]*!*/,B=/^(`|([_A-Za-z\u00A1-\uFFFF]*"("")?))/,$=o(h,"","@"),G=o(h,"",":");function k(n){return n.nestedArrays>0}function I(n){return n.nestedGenerators>0}function F(n,e){return typeof e>"u"&&(e=0),n.scopes.length<=e?null:n.scopes[n.scopes.length-(e+1)]}function a(n,e){if(n.match("#=",!1))return e.tokenize=N,e.tokenize(n,e);var i=e.leavingExpr;if(n.sol()&&(i=!1),e.leavingExpr=!1,i&&n.match(/^'+/))return"operator";if(n.match(/\.{4,}/))return"error";if(n.match(/\.{1,3}/))return"operator";if(n.eatSpace())return null;var r=n.peek();if(r==="#")return n.skipToEnd(),"comment";if(r==="["&&(e.scopes.push("["),e.nestedArrays++),r==="("&&(e.scopes.push("("),e.nestedGenerators++),k(e)&&r==="]"){for(;e.scopes.length&&F(e)!=="[";)e.scopes.pop();e.scopes.pop(),e.nestedArrays--,e.leavingExpr=!0}if(I(e)&&r===")"){for(;e.scopes.length&&F(e)!=="(";)e.scopes.pop();e.scopes.pop(),e.nestedGenerators--,e.leavingExpr=!0}if(k(e)){if(e.lastToken=="end"&&n.match(":"))return"operator";if(n.match("end"))return"number"}var c;if((c=n.match(j,!1))&&e.scopes.push(c[0]),n.match(D,!1)&&e.scopes.pop(),n.match(/^::(?![:\$])/))return e.tokenize=Z,e.tokenize(n,e);if(!i&&(n.match(S)||n.match(G)))return"builtin";if(n.match(z))return"operator";if(n.match(/^\.?\d/,!1)){var U=RegExp(/^im\b/),l=!1;if(n.match(/^0x\.[0-9a-f_]+p[\+\-]?[_\d]+/i)&&(l=!0),n.match(/^0x[0-9a-f_]+/i)&&(l=!0),n.match(/^0b[01_]+/i)&&(l=!0),n.match(/^0o[0-7_]+/i)&&(l=!0),n.match(/^(?:(?:\d[_\d]*)?\.(?!\.)(?:\d[_\d]*)?|\d[_\d]*\.(?!\.)(?:\d[_\d]*))?([Eef][\+\-]?[_\d]+)?/i)&&(l=!0),n.match(/^\d[_\d]*(e[\+\-]?\d+)?/i)&&(l=!0),l)return n.match(U),e.leavingExpr=!0,"number"}if(n.match("'"))return e.tokenize=R,e.tokenize(n,e);if(n.match(B))return e.tokenize=q(n.current()),e.tokenize(n,e);if(n.match(O)||n.match($))return"meta";if(n.match(_))return null;if(n.match(P))return"keyword";if(n.match(T))return"builtin";var W=e.isDefinition||e.lastToken=="function"||e.lastToken=="macro"||e.lastToken=="type"||e.lastToken=="struct"||e.lastToken=="immutable";return n.match(A)?W?n.peek()==="."?(e.isDefinition=!0,"variable"):(e.isDefinition=!1,"def"):(e.leavingExpr=!0,"variable"):(n.next(),"error")}function Z(n,e){return n.match(/.*?(?=[,;{}()=\s]|$)/),n.match("{")?e.nestedParameters++:n.match("}")&&e.nestedParameters>0&&e.nestedParameters--,e.nestedParameters>0?n.match(/.*?(?={|})/)||n.next():e.nestedParameters==0&&(e.tokenize=a),"builtin"}function N(n,e){return n.match("#=")&&e.nestedComments++,n.match(/.*?(?=(#=|=#))/)||n.skipToEnd(),n.match("=#")&&(e.nestedComments--,e.nestedComments==0&&(e.tokenize=a)),"comment"}function R(n,e){var i=!1,r;if(n.match(E))i=!0;else if(r=n.match(/\\u([a-f0-9]{1,4})(?=')/i)){var c=parseInt(r[1],16);(c<=55295||c>=57344)&&(i=!0,n.next())}else if(r=n.match(/\\U([A-Fa-f0-9]{5,8})(?=')/)){var c=parseInt(r[1],16);c<=1114111&&(i=!0,n.next())}return i?(e.leavingExpr=!0,e.tokenize=a,"string"):(n.match(/^[^']+(?=')/)||n.skipToEnd(),n.match("'")&&(e.tokenize=a),"error")}function q(n){n.substr(-3)==='"""'?n='"""':n.substr(-1)==='"'&&(n='"');function e(i,r){if(i.eat("\\"))i.next();else{if(i.match(n))return r.tokenize=a,r.leavingExpr=!0,"string";i.eat(/[`"]/)}return i.eatWhile(/[^\\`"]/),"string"}return e}var M={startState:function(){return{tokenize:a,scopes:[],lastToken:null,leavingExpr:!1,isDefinition:!1,nestedArrays:0,nestedComments:0,nestedGenerators:0,nestedParameters:0,firstParenPos:-1}},token:function(n,e){var i=e.tokenize(n,e),r=n.current();return r&&i&&(e.lastToken=r),i},indent:function(n,e){var i=0;return(e==="]"||e===")"||/^end\b/.test(e)||/^else/.test(e)||/^catch\b/.test(e)||/^elseif\b/.test(e)||/^finally/.test(e))&&(i=-1),(n.scopes.length+i)*f.indentUnit},electricInput:/\b(end|else|catch|finally)\b/,blockCommentStart:"#=",blockCommentEnd:"=#",lineComment:"#",closeBrackets:'()[]{}""',fold:"indent"};return M}),u.defineMIME("text/x-julia","julia")})})();const K=g.exports,V=J({__proto__:null,default:K},[g.exports]);export{V as j};
@@ -1,4 +1,4 @@
1
- import{a as l,o as r,b as u,w as s,l as e,E as t,e as a}from"./runtime-core.esm-bundler.fe249c5c.js";const d={class:"markdown-body"},p=e("h2",{id:"extension-entrypoint",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#extension-entrypoint"},"#"),t(" Extension Entrypoint")],-1),h=e("p",null,[t("The entrypoint of your layout is the "),e("code",null,"index"),t(" file inside the "),e("code",null,"src/"),t(" folder of your extension package. It exports a configuration object with options to configure the behavior of your layout. When loading your layout, this object is imported by the Directus host.")],-1),m=e("p",null,"Example of an entrypoint:",-1),y=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(" { ref } "),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'vue'"),t(`;
1
+ import{a as l,o as r,e as u,y as s,u as e,q as t,z as a}from"./runtime-core.esm-bundler.22ec0346.js";const d={class:"markdown-body"},p=e("h2",{id:"extension-entrypoint",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#extension-entrypoint"},"#"),t(" Extension Entrypoint")],-1),h=e("p",null,[t("The entrypoint of your layout is the "),e("code",null,"index"),t(" file inside the "),e("code",null,"src/"),t(" folder of your extension package. It exports a configuration object with options to configure the behavior of your layout. When loading your layout, this object is imported by the Directus host.")],-1),y=e("p",null,"Example of an entrypoint:",-1),m=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(" { ref } "),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'vue'"),t(`;
2
2
  `),e("span",{class:"hljs-keyword"},"import"),t(),e("span",{class:"hljs-title class_"},"LayoutComponent"),t(),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'./layout.vue'"),t(`;
3
3
 
4
4
  `),e("span",{class:"hljs-keyword"},"export"),t(),e("span",{class:"hljs-keyword"},"default"),t(` {
@@ -39,7 +39,7 @@ export default {
39
39
  },
40
40
  };
41
41
  <\/script>
42
- `)],-1),C=e("p",null,[t("In addition to some predefined props, the component receives the state defined inside the "),e("code",null,"setup()"),t(" function as individual props. Besides some predefined emits, the component also provides emits for every property returned by the "),e("code",null,"setup()"),t(" function. Those emits are prefixed by "),e("code",null,"update:"),t(".")],-1),I=e("p",null,"These props and emits are available in all components associated with your layout.",-1),S=e("h4",{id:"available-props",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#available-props"},"#"),t(" Available Props")],-1),V=e("ul",null,[e("li",null,[e("code",null,"collection"),t(" \u2014 The current collection\u2019s name.")]),e("li",null,[e("code",null,"selection"),t(" \u2014 Any currently selected items.")]),e("li",null,[e("code",null,"layoutOptions"),t(" \u2014 The user\u2019s currently saved layout options.")]),e("li",null,[e("code",null,"layoutQuery"),t(" \u2014 The user\u2019s layout query parameters. (e.g., sort, limit, etc)")]),e("li",null,[e("code",null,"filter"),t(" \u2014 The combined active filter.")]),e("li",null,[e("code",null,"filterUser"),t(" \u2014 The user\u2019s currently active filter.")]),e("li",null,[e("code",null,"filterSystem"),t(" \u2014 The system\u2019s currently active filter.")]),e("li",null,[e("code",null,"search"),t(" \u2014 The user\u2019s current search query.")]),e("li",null,[e("code",null,"selectMode"),t(" \u2014 A boolean that indicates if the layout should be in select mode.")]),e("li",null,[e("code",null,"readonly"),t(" \u2014 A boolean that indicates if the layout should be in readonly mode.")]),e("li",null,[e("code",null,"resetPreset"),t(" \u2014 A function to reset the preset.")])],-1),L=e("h4",{id:"available-emits",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#available-emits"},"#"),t(" Available Emits")],-1),D=e("ul",null,[e("li",null,[e("code",null,"update:selection"),t(" \u2014 Update the currently selected items.")]),e("li",null,[e("code",null,"update:layoutOptions"),t(" \u2014 Update the user\u2019s currently saved layout options.")]),e("li",null,[e("code",null,"update:layoutQuery"),t(" \u2014 Update the user\u2019s layout query parameters.")])],-1),E=e("p",null,"Other than this simple API to communicate with the Directus App and the system to share state between components, the layout component is a blank canvas, allowing you to create anything you need.",-1),q=e("p",null,[t("The "),e("code",null,"@directus/extensions-sdk"),t(" package provides some useful composables to help with creating layouts:")],-1),P=e("ul",null,[e("li",null,[e("code",null,"useSync()"),t(" \u2014 This function can be used to synchronize a writable ref with a prop and a corresponding emit.")]),e("li",null,[e("code",null,"useCollection()"),t(" \u2014 This function can be used to receive information about a collection.")]),e("li",null,[e("code",null,"useItems()"),t(" \u2014 This function can be used to fetch items from the API.")])],-1),O=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Vue Version"),e("p",null,"The Directus App uses Vue 3. There might be 3rd party libraries that aren\u2019t yet compatible with Vue 3.")],-1),B=e("h2",{id:"accessing-internal-systems",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#accessing-internal-systems"},"#"),t(" Accessing Internal Systems")],-1),N=e("p",null,[t("To access internal systems like the API or the stores, you can use the "),e("code",null,"useApi()"),t(" and "),e("code",null,"useStores()"),t(" composables exported by the "),e("code",null,"@directus/extensions-sdk"),t(" package. They can be used inside a "),e("code",null,"setup()"),t(" function like this:")],-1),U=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(" { useApi, useStores } "),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'@directus/extensions-sdk'"),t(`;
42
+ `)],-1),C=e("p",null,[t("In addition to some predefined props, the component receives the state defined inside the "),e("code",null,"setup()"),t(" function as individual props. Besides some predefined emits, the component also provides emits for every property returned by the "),e("code",null,"setup()"),t(" function. Those emits are prefixed by "),e("code",null,"update:"),t(".")],-1),I=e("p",null,"These props and emits are available in all components associated with your layout.",-1),S=e("h4",{id:"available-props",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#available-props"},"#"),t(" Available Props")],-1),V=e("ul",null,[e("li",null,[e("code",null,"collection"),t(" \u2014 The current collection\u2019s name.")]),e("li",null,[e("code",null,"selection"),t(" \u2014 Any currently selected items.")]),e("li",null,[e("code",null,"layoutOptions"),t(" \u2014 The user\u2019s currently saved layout options.")]),e("li",null,[e("code",null,"layoutQuery"),t(" \u2014 The user\u2019s layout query parameters. (e.g., sort, limit, etc)")]),e("li",null,[e("code",null,"filter"),t(" \u2014 The combined active filter.")]),e("li",null,[e("code",null,"filterUser"),t(" \u2014 The user\u2019s currently active filter.")]),e("li",null,[e("code",null,"filterSystem"),t(" \u2014 The system\u2019s currently active filter.")]),e("li",null,[e("code",null,"search"),t(" \u2014 The user\u2019s current search query.")]),e("li",null,[e("code",null,"selectMode"),t(" \u2014 A boolean that indicates if the layout should be in select mode.")]),e("li",null,[e("code",null,"readonly"),t(" \u2014 A boolean that indicates if the layout should be in readonly mode.")]),e("li",null,[e("code",null,"resetPreset"),t(" \u2014 A function to reset the preset.")])],-1),L=e("h4",{id:"available-emits",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#available-emits"},"#"),t(" Available Emits")],-1),q=e("ul",null,[e("li",null,[e("code",null,"update:selection"),t(" \u2014 Update the currently selected items.")]),e("li",null,[e("code",null,"update:layoutOptions"),t(" \u2014 Update the user\u2019s currently saved layout options.")]),e("li",null,[e("code",null,"update:layoutQuery"),t(" \u2014 Update the user\u2019s layout query parameters.")])],-1),D=e("p",null,"Other than this simple API to communicate with the Directus App and the system to share state between components, the layout component is a blank canvas, allowing you to create anything you need.",-1),E=e("p",null,[t("The "),e("code",null,"@directus/extensions-sdk"),t(" package provides some useful composables to help with creating layouts:")],-1),P=e("ul",null,[e("li",null,[e("code",null,"useSync()"),t(" \u2014 This function can be used to synchronize a writable ref with a prop and a corresponding emit.")]),e("li",null,[e("code",null,"useCollection()"),t(" \u2014 This function can be used to receive information about a collection.")]),e("li",null,[e("code",null,"useItems()"),t(" \u2014 This function can be used to fetch items from the API.")])],-1),O=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Vue Version"),e("p",null,"The Directus App uses Vue 3. There might be 3rd party libraries that aren\u2019t yet compatible with Vue 3.")],-1),B=e("h2",{id:"accessing-internal-systems",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#accessing-internal-systems"},"#"),t(" Accessing Internal Systems")],-1),N=e("p",null,[t("To access internal systems like the API or the stores, you can use the "),e("code",null,"useApi()"),t(" and "),e("code",null,"useStores()"),t(" composables exported by the "),e("code",null,"@directus/extensions-sdk"),t(" package. They can be used inside a "),e("code",null,"setup()"),t(" function like this:")],-1),U=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(" { useApi, useStores } "),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'@directus/extensions-sdk'"),t(`;
43
43
 
44
44
  `),e("span",{class:"hljs-keyword"},"export"),t(),e("span",{class:"hljs-keyword"},"default"),t(` {
45
45
  `),e("span",{class:"hljs-title function_"},"setup"),t("("),e("span",{class:"hljs-params"}),t(`) {
@@ -51,4 +51,4 @@ export default {
51
51
  `),e("span",{class:"hljs-comment"},"// ..."),t(`
52
52
  },
53
53
  };
54
- `)])],-1),F=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Vue Options API"),e("p",null,[t("If you prefer to use the Vue Options API, you can inject the "),e("code",null,"api"),t(" and "),e("code",null,"stores"),t(" properties directly.")])],-1),G="Custom Layouts",H=!0,J="A guide on how to build custom Layouts in Directus.",K="4 min read",R={__name:"layouts",setup(Q,{expose:i}){const n={title:"Custom Layouts",modularExtension:!0,description:"A guide on how to build custom Layouts in Directus.",readTime:"4 min read"};return i({frontmatter:n}),(z,M)=>{const o=l("router-link"),c=l("docs-wrapper");return r(),u(c,{frontmatter:n},{default:s(()=>[e("div",d,[e("blockquote",null,[e("p",null,[t("Custom Layouts allow for building new ways to view or interact with Items via the Collection Detail pages. "),a(o,{to:"/docs/getting-started/glossary#layouts"},{default:s(()=>[t("Learn more about Layouts")]),_:1}),t(".")])]),p,h,m,y,_,e("ul",null,[f,b,e("li",null,[j,t(" \u2014 An icon name from the "),a(o,{to:"/docs/getting-started/glossary#material-icons"},{default:s(()=>[t("material icon set")]),_:1}),t(", or the extended list of Directus custom icons.")]),g,w,v]),x,k,A,T,C,I,S,V,L,D,E,q,P,O,B,N,U,F])]),_:1})}}};export{R as default,J as description,H as modularExtension,K as readTime,G as title};
54
+ `)])],-1),z=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Vue Options API"),e("p",null,[t("If you prefer to use the Vue Options API, you can inject the "),e("code",null,"api"),t(" and "),e("code",null,"stores"),t(" properties directly.")])],-1),G="Custom Layouts",H=!0,J="A guide on how to build custom Layouts in Directus.",K="4 min read",R={__name:"layouts",setup(F,{expose:i}){const n={title:"Custom Layouts",modularExtension:!0,description:"A guide on how to build custom Layouts in Directus.",readTime:"4 min read"};return i({frontmatter:n}),(Q,M)=>{const o=l("router-link"),c=l("docs-wrapper");return r(),u(c,{frontmatter:n},{default:s(()=>[e("div",d,[e("blockquote",null,[e("p",null,[t("Custom Layouts allow for building new ways to view or interact with Items via the Collection Detail pages. "),a(o,{to:"/docs/getting-started/glossary#layouts"},{default:s(()=>[t("Learn more about Layouts")]),_:1}),t(".")])]),p,h,y,m,_,e("ul",null,[f,b,e("li",null,[j,t(" \u2014 An icon name from the "),a(o,{to:"/docs/getting-started/glossary#material-icons"},{default:s(()=>[t("material icon set")]),_:1}),t(", or the extended list of Directus custom icons.")]),g,w,v]),x,k,A,T,C,I,S,V,L,q,D,E,P,O,B,N,U,z])]),_:1})}}};export{R as default,J as description,H as modularExtension,K as readTime,G as title};
@@ -1 +1 @@
1
- import{a as s,o as u,b as d,w as l,l as e,E as t,e as n}from"./runtime-core.esm-bundler.fe249c5c.js";const c={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"Layouts are customized displays for viewing and interacting with the Items in a Collection. This makes working with some general category of data model, such as map locations or calendar events, a more human-friendly experience.")],-1),p=e("h2",{id:"what%E2%80%99s-a-layout%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#what%E2%80%99s-a-layout%3F"},"#"),t(" What\u2019s a Layout?")],-1),g=e("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:"",title:"Layouts Montage"},[e("source",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/layouts-montage-20220419A.mp4",type:"video/mp4"})],-1),m=e("p",null,[t("Data models vary drastically in shape and purpose, from eCommerce platforms to IoT fleets and everything in between. While your Directus Project data may be stored in Collections "),e("em",null,"(i.e. SQL data tables)"),t(", this table representation is not always the most human-friendly way to interact with information. Layouts provide more human-friendly, intuitive displays to view and interact with Items in a Collection.")],-1),y=e("a",{href:"https://discord.com/invite/directus",target:"_blank",rel:"noopener noreferrer"},"Discord",-1),_=e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"GitHub",-1),f=e("h2",{id:"how-it-works",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#how-it-works"},"#"),t(" How it Works")],-1),b=e("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:"",title:"Adjust Item Layouts"},[e("source",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/adjust-page-layout-20220415A.mp4",type:"video/mp4"})],-1),C=e("p",null,"To adjust an Item\u2019s Layout, follow the steps below.",-1),w=e("ol",null,[e("li",null,"Navigate to the Content Module and select the desired Collection."),e("li",null,[t("In the page Sidebar, click "),e("strong",null,"\u201CLayout Options\u201D"),t(".")]),e("li",null,"Choose the desired Layout you want to use."),e("li",null,"Customize the Layout as desired.")],-1),L=e("h3",{id:"customization-controls",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#customization-controls"},"#"),t(" Customization Controls")],-1),v=e("p",null,"Customization controls can be found in the following three locations.",-1),I=e("ul",null,[e("li",null,[e("strong",null,"Layout Options"),t(" \u2014 Located in the Sidebar.")]),e("li",null,[e("strong",null,"Subheader"),t(" \u2014 Located just below the Page Header and above the Page Area.")]),e("li",null,[e("strong",null,"Page Area"),t(" \u2014 The center of the webpage, which displays all Items.")])],-1),k=e("p",null,"These controls typically fall into three general categories.",-1),S=e("ul",null,[e("li",null,[e("p",null,[e("strong",null,"Styling and Formatting"),e("br"),t(" These are additional customizations to the way a Layout displays such as the size of each Item, how images are cropped, etc.")])]),e("li",null,[e("p",null,[e("strong",null,"Field Values Displayed"),e("br"),t(" Most Layouts allow you to choose which Field Value(s) are used to represent each Item on the Collection Page. For example, with blog posts, it may be ideal to have the hero image, blog title, date, author, etc.")])]),e("li",null,[e("p",null,[e("strong",null,"Manual and Automatic Sorting"),e("br"),t(" Certain Layouts may allow sorting Items by value in ascending and descending order, drag-and-drop repositioning of Items, etc.")])])],-1),T=e("h3",{id:"key-takeaways",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#key-takeaways"},"#"),t(" Key Takeaways")],-1),F=e("p",null,"As you go through Layouts, it may be helpful to keep the following points in mind.",-1),A=e("ul",null,[e("li",null,[e("p",null,[e("strong",null,"Layouts will not be universally usable for all Collections."),e("br"),t(" Layouts are tailored to work with specific data-models. For example, in order to work properly, the Map Layout requires the Collection have a Map Field configured and the Calendar Layout requires the Collection have a datetime Field configured.")])]),e("li",null,[e("p",null,[e("strong",null,"Controls are different for each Layout."),e("br"),t(" Each Layout presents data differently, so certain customizations may not be functional with certain Layouts. For example, the Map Layout displays each Item as a pin on a map, so this Layout has no controls for sorting.")])]),e("li",null,[e("p",null,[e("strong",null,"Controls for a Layout may be in different locations."),e("br"),t(" Depending on the Layout, the same control may be under Layout Options in the sidebar, the subheader, or on the Page Area "),e("em",null,"(and Items themselves)"),t(". For example, the Table Layout lets you set the Field Values displayed in the subheader while the Card Layout lets you set Field Values displayed in the Layout Options menu.")])])],-1),x=e("h2",{id:"table-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#table-layout"},"#"),t(" Table Layout")],-1),D=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/table-layout.webp",alt:"Table Layout"})],-1),P=e("p",null,"This Layout supports all forms of data, as it directly reflects how data is stored in a Collection. This is the default Layout used in the Content Module. It includes the following controls.",-1),z=e("p",null,[e("strong",null,"Layout Options")],-1),M=e("ul",null,[e("li",null,[e("strong",null,"Spacing"),t(" \u2014 Adjust the vertical space a row takes up.")])],-1),j=e("p",null,[e("strong",null,"Subheader")],-1),O=e("ul",null,[e("li",null,[e("strong",null,"Adjust Column Width"),t(" \u2014 Click and drag the column divider to resize as desired.")]),e("li",null,[e("strong",null,"Add Field"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"add"),t(" in the page subheader and select the desired Field(s).")]),e("li",null,[e("strong",null,"Remove Field"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"arrow_drop_down"),t(" in the column title and click "),e("strong",null,"\u201CHide Field\u201D"),t(".")]),e("li",null,[e("strong",null,"Sort Items by Column"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"arrow_drop_down"),t(" in the column title and sort ascending or descending.")]),e("li",null,[e("strong",null,"Set Text Alignment"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"arrow_drop_down"),t(" in the column title and set left, right, or center.")]),e("li",null,[e("strong",null,"Toggle & Reorder Columns"),t(" \u2014 Click the column header, then drag-and-drop as desired.")]),e("li",null,[e("strong",null,"Select All"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"check_box_outline_blank"),t(" in the selection column header.")])],-1),E=e("p",null,[e("strong",null,"Page Area")],-1),q=e("ul",null,[e("li",null,[e("strong",null,"Select Item(s)"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"check_box_outline_blank"),t(" in the selection column for the desired Item(s).")]),e("li",null,[e("strong",null,"Manually Sort Items"),t(" \u2014 Toggle "),e("span",{mi:"",icon:""},"sort"),t(" in the configured Sort column to drag and drop "),e("span",{mi:"",icon:""},"drag_handle"),t(" Items.")])],-1),B={class:"warning hint"},R=e("div",{class:"hint-title"},"Manual Sorting Requires Configuration",-1),N=e("h2",{id:"card-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#card-layout"},"#"),t(" Card Layout")],-1),V=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/card-layout-20220416A.webp",alt:"Card Layout"})],-1),G=e("em",null,"(e.g. a user or blog post)",-1),K=e("p",null,[e("strong",null,"Layout Options")],-1),U=e("ul",null,[e("li",null,[e("strong",null,"Image Source"),t(" \u2014 Set the Field used as the display image.")]),e("li",null,[e("strong",null,"Title"),t(" \u2014 Set a mix of Field values and text to use as a title.")]),e("li",null,[e("strong",null,"Subtitle"),t(" \u2014 Set a mix of Field values and text to use as a subtitle.")]),e("li",null,[e("strong",null,"Image Fit"),t(" \u2014 Set how an image fits inside the Card.")]),e("li",null,[e("strong",null,"Fallback Icon"),t(" \u2014 Set a default icon to display when an Item has no image.")])],-1),W=e("p",null,[e("strong",null,"Subheader")],-1),H=e("ul",null,[e("li",null,[e("strong",null,"Card Size"),t(" \u2014 Toggle the Card size as it appears in the Page Area.")]),e("li",null,[e("strong",null,"Sort Field"),t(" \u2014 Click to select the Field you wish to sort by from the dropdown menu.")]),e("li",null,[e("strong",null,"Sort Direction"),t(" \u2014 Toggle ascending and descending sort directions.")]),e("li",null,[e("strong",null,"Select All"),t(" \u2014 Click "),e("strong",null,[t("\u201C"),e("span",{mi:"",icon:""},"check_circle"),t(" Select All\u201D")]),t(" in the selection column header.")])],-1),Y=e("p",null,[e("strong",null,"Page Area")],-1),Z=e("ul",null,[e("li",null,[e("strong",null,"Select Item(s)"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"radio_button_unchecked"),t(" in the selection column for the desired Item(s).")]),e("li",null,[e("strong",null,"Adjust Time"),t(" \u2014 Click and drag an Item to change its time.")])],-1),J=e("h2",{id:"calendar-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#calendar-layout"},"#"),t(" Calendar Layout")],-1),Q=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/calendar-layout-20220416A.webp",alt:"Calendar Layout"})],-1),X=e("p",null,[t("This Layout is ideal for Collections with time-oriented data "),e("em",null,"(e.g. events and appointments)"),t(". It includes the following controls.")],-1),$=e("p",null,[e("strong",null,"Layout Options")],-1),ee=e("ul",null,[e("li",null,[e("strong",null,"Display Template"),t(" \u2014 Set a mix of Field values and text to represent Items on the calendar.")]),e("li",null,[e("strong",null,"Start Date Field"),t(" \u2014 Choose Field to determine each Item\u2019s beginning time on the calendar.")]),e("li",null,[e("strong",null,"End Date Field"),t(" \u2014 Choose Field to determine each Item\u2019s ending time on the calendar.")])],-1),te=e("p",null,[e("strong",null,"Subheader")],-1),le=e("ul",null,[e("li",null,[e("strong",null,"Toggle Month and Year"),t(" \u2014 Move across time using the chevrons in the subheader.")]),e("li",null,[e("strong",null,"Today"),t(" \u2014 Click to jump to the current date on the calendar.")]),e("li",null,[e("strong",null,"Month Week Day List"),t(" \u2014 Adjust the time interval used to display Items in the Page Area.")])],-1),oe=e("p",null,[e("strong",null,"Page Area")],-1),ne=e("ul",null,[e("li",null,[e("strong",null,"Select Item"),t(" \u2014 Click an Item on the calendar to open its Item Page.")])],-1),ae=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Configuration Requirements"),e("p",null,[t("To use this Layout, the Collection will need at least one datetime Field to set a start time, but ideally two "),e("em",null,"(to set a start and end time)"),t(".")])],-1),se=e("h2",{id:"map-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#map-layout"},"#"),t(" Map Layout")],-1),ie=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/map-layout-20220416A.webp",alt:"Map Layout"})],-1),re=e("p",null,"This Layout is ideal for Collections that emphasize geospatial data. It provides a world map, with Items displayed as points, lines, and other geometry. The following options are available:",-1),ue=e("p",null,[e("strong",null,"Layout Options")],-1),de=e("ul",null,[e("li",null,[e("strong",null,"Basemap"),t(" \u2014 Choose the map provider used for the Collection.")]),e("li",null,[e("strong",null,"Geospatial Field"),t(" \u2014 Select the geospatial field type to display on screen: "),e("ul",null,[e("li",null,[e("strong",null,"Map JSON Point"),t(" \u2014 Supports latitude-longitude based, single-point locations.")]),e("li",null,[e("strong",null,"Map Geometry"),t(" \u2014 Supports geometric areas such as lines and polygons.")])])]),e("li",null,[e("strong",null,"Display Template"),t(" \u2014 Choose the Fields displayed when hovering over an Item on the map.")]),e("li",null,[e("strong",null,"Cluster Nearby Data"),t(" \u2014 Toggle whether or not nearby Items get clustered into a single pin.")])],-1),ce=e("p",null,[e("strong",null,"Subheader"),e("br"),e("em",null,"There is no Subheader on the Map Layout.")],-1),he=e("p",null,[e("strong",null,"Page Area")],-1),pe=e("ul",null,[e("li",null,[e("strong",null,"Zoom"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"add"),t(" and "),e("span",{mi:"",icon:""},"remove"),t(" in the upper left hand corner of the Page Area to zoom in and out.")]),e("li",null,[e("strong",null,"Zoom to my Location"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"my_location"),t(" to zoom into your current location on the map.")]),e("li",null,[e("strong",null,"Reframe"),t(" \u2014 Click the square in the upper left-hand corner to resize and reframe the map area.")]),e("li",null,[e("strong",null,"Select Item"),t(" \u2014 Click a single Item to enter its Item Page.")]),e("li",null,[e("strong",null,"Select Items"),t(" \u2014 Click and drag to select multiple Items at once, opening the Item Page.")])],-1),ge=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Configuration Requirements"),e("p",null,"To use this Layout, the Collection must have a Map Field configured.")],-1),me=e("h2",{id:"kanban-layout-%5Bcloud-exclusive%5D",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#kanban-layout-%5Bcloud-exclusive%5D"},"#"),t(" Kanban Layout [Cloud Exclusive]")],-1),ye=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/kanban-layout-20220416A.webp",alt:"Kanban Layout"})],-1),_e=e("p",null,[t("This Layout is ideal for Collections that serve as project management tools or to-do lists, where each Item represents a task, because it groups Items onto columns according to their status "),e("em",null,"(e.g. \u201CNot Started\u201D, \u201CIn Progress\u201D, \u201CUnder Review\u201D, \u201CComplete\u201D, or any other status defined)"),t(". The following controls are available.")],-1),fe=e("p",null,[e("strong",null,"Layout Options")],-1),be=e("ul",null,[e("li",null,[e("strong",null,"Group By"),t(" \u2014 Select the Field used to define Item status. See below for details.")]),e("li",null,[e("strong",null,"Card Title"),t(" \u2014 Choose a Field to serve as a title on each Item.")]),e("li",null,[e("strong",null,"Card Text"),t(" \u2014 Choose a Field to display additional text on each Item.")])],-1),Ce=e("p",null,[e("strong",null,"Layout Options > Advanced")],-1),we=e("ul",null,[e("li",null,[e("strong",null,"Card Tags"),t(" \u2014 Choose a Tag Field to be displayed on the Item.")]),e("li",null,[e("strong",null,"Card Date"),t(" \u2014 Choose a Datetime Field to be displayed on each Item.")]),e("li",null,[e("strong",null,"Card Image"),t(" \u2014 Choose an Image Field to be displayed on each Item.")]),e("li",null,[e("strong",null,"Card Image Fit"),t(" \u2014 Toggle whether the image fit is cropped.")]),e("li",null,[e("strong",null,"Card User"),t(" \u2014 Choose the User Created Field to display their avatar in the bottom right corner.")]),e("li",null,[e("strong",null,"Show Ungrouped"),t(" \u2014 Toggle display of a column containing Items with no assigned status.")])],-1),Le=e("p",null,[e("strong",null,"Subheader"),e("br"),e("em",null,"There is no Subheader for the Kanban Layout.")],-1),ve=e("p",null,[e("strong",null,"Page Area")],-1),Ie=e("ul",null,[e("li",null,[e("strong",null,"Create Task and Assign Status"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"add"),t(" in a status column and the Item Page will open.")]),e("li",null,[e("strong",null,"Sort Panels"),t(" \u2014 Drag and drop Items to reposition or change task status.")]),e("li",null,[e("strong",null,"Add Status Panel"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"add_box"),t(" and add a group name (i.e. new status column).")]),e("li",null,[e("strong",null,"Edit or Delete Status Column"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"more_horiz"),t(" and then click "),e("span",{mi:"",icon:""},"edit"),t(" to edit or "),e("span",{mi:"",icon:""},"delete"),t(" to delete.")])],-1),ke=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Configuration Requirements"),e("p",null,[t("To make this Layout work, you will need to configure an appropriate status Field on the Collection, then identify this Field under "),e("strong",null,"\u201CGroup By\u201D"),t(" in the Layout Options menu.")])],-1),xe="Layouts",De=!1,Pe="Layouts are customized displays for viewing and interacting with the Items in a Collection.",ze="9 min read",Me={__name:"layouts",setup(Se,{expose:i}){const a={title:"Layouts",modularExtension:!1,description:"Layouts are customized displays for viewing and interacting with the Items in a Collection.",readTime:"9 min read"};return i({frontmatter:a}),(Te,Fe)=>{const o=s("router-link"),r=s("docs-wrapper");return u(),d(r,{frontmatter:a},{default:l(()=>[e("div",c,[h,p,g,m,e("p",null,[t("The following sections detail the Layouts managed and supported by the Directus Team. Keep in mind that Directus is open-source, modular and extensible. You are free to create any Layout you need on self-hosted and Enterprise Cloud Projects. Additionally, Directus Cloud is always adding more Layouts to its "),n(o,{to:"/docs/cloud/glossary#extensions"},{default:l(()=>[t("Cloud Exclusive Extensions")]),_:1}),t(", so check back often to stay up-to-date with the latest and greatest. Additionally, you can join the community on "),y,t(" and "),_,t(" to find thousands of engineers guiding development of the Directus platform.")]),f,b,C,w,L,v,I,k,S,T,F,A,x,D,P,z,M,j,O,E,q,e("div",B,[R,e("p",null,[t("Only available if you "),n(o,{to:"/docs/configuration/data-model/collections#sort-field"},{default:l(()=>[t("configure a sort field")]),_:1}),t(" in the Collection\u2019s Data Model Settings.")])]),N,V,e("p",null,[t("This tiled Layout is ideal for Collections that prioritize an image "),G,t(". This is the default for both the "),n(o,{to:"/docs/app/user-directory"},{default:l(()=>[t("User Directory")]),_:1}),t(" and "),n(o,{to:"/docs/app/file-library"},{default:l(()=>[t("File Library")]),_:1}),t(". It includes the following controls.")]),K,U,W,H,Y,Z,J,Q,X,$,ee,te,le,oe,ne,ae,se,ie,re,ue,de,ce,he,pe,ge,me,ye,_e,fe,be,Ce,we,Le,ve,Ie,ke])]),_:1})}}};export{Me as default,Pe as description,De as modularExtension,ze as readTime,xe as title};
1
+ import{a as s,o as r,e as d,y as l,u as e,q as t,z as n}from"./runtime-core.esm-bundler.22ec0346.js";const c={class:"markdown-body"},h=e("blockquote",null,[e("p",null,"Layouts are customized displays for viewing and interacting with the Items in a Collection. This makes working with some general category of data model, such as map locations or calendar events, a more human-friendly experience.")],-1),p=e("h2",{id:"what%E2%80%99s-a-layout%3F",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#what%E2%80%99s-a-layout%3F"},"#"),t(" What\u2019s a Layout?")],-1),g=e("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:"",title:"Layouts Montage"},[e("source",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/layouts-montage-20220419A.mp4",type:"video/mp4"})],-1),m=e("p",null,[t("Data models vary drastically in shape and purpose, from eCommerce platforms to IoT fleets and everything in between. While your Directus Project data may be stored in Collections "),e("em",null,"(i.e. SQL data tables)"),t(", this table representation is not always the most human-friendly way to interact with information. Layouts provide more human-friendly, intuitive displays to view and interact with Items in a Collection.")],-1),y=e("a",{href:"https://discord.com/invite/directus",target:"_blank",rel:"noopener noreferrer"},"Discord",-1),_=e("a",{href:"https://github.com/directus/directus/discussions",target:"_blank",rel:"noopener noreferrer"},"GitHub",-1),f=e("h2",{id:"how-it-works",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#how-it-works"},"#"),t(" How it Works")],-1),b=e("video",{autoplay:"",playsinline:"",muted:"",loop:"",controls:"",title:"Adjust Item Layouts"},[e("source",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/adjust-page-layout-20220415A.mp4",type:"video/mp4"})],-1),C=e("p",null,"To adjust an Item\u2019s Layout, follow the steps below.",-1),w=e("ol",null,[e("li",null,"Navigate to the Content Module and select the desired Collection."),e("li",null,[t("In the page Sidebar, click "),e("strong",null,"\u201CLayout Options\u201D"),t(".")]),e("li",null,"Choose the desired Layout you want to use."),e("li",null,"Customize the Layout as desired.")],-1),L=e("h3",{id:"customization-controls",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#customization-controls"},"#"),t(" Customization Controls")],-1),v=e("p",null,"Customization controls can be found in the following three locations.",-1),I=e("ul",null,[e("li",null,[e("strong",null,"Layout Options"),t(" \u2014 Located in the Sidebar.")]),e("li",null,[e("strong",null,"Subheader"),t(" \u2014 Located just below the Page Header and above the Page Area.")]),e("li",null,[e("strong",null,"Page Area"),t(" \u2014 The center of the webpage, which displays all Items.")])],-1),k=e("p",null,"These controls typically fall into three general categories.",-1),S=e("ul",null,[e("li",null,[e("p",null,[e("strong",null,"Styling and Formatting"),e("br"),t(" These are additional customizations to the way a Layout displays such as the size of each Item, how images are cropped, etc.")])]),e("li",null,[e("p",null,[e("strong",null,"Field Values Displayed"),e("br"),t(" Most Layouts allow you to choose which Field Value(s) are used to represent each Item on the Collection Page. For example, with blog posts, it may be ideal to have the hero image, blog title, date, author, etc.")])]),e("li",null,[e("p",null,[e("strong",null,"Manual and Automatic Sorting"),e("br"),t(" Certain Layouts may allow sorting Items by value in ascending and descending order, drag-and-drop repositioning of Items, etc.")])])],-1),T=e("h3",{id:"key-takeaways",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#key-takeaways"},"#"),t(" Key Takeaways")],-1),F=e("p",null,"As you go through Layouts, it may be helpful to keep the following points in mind.",-1),A=e("ul",null,[e("li",null,[e("p",null,[e("strong",null,"Layouts will not be universally usable for all Collections."),e("br"),t(" Layouts are tailored to work with specific data-models. For example, in order to work properly, the Map Layout requires the Collection have a Map Field configured and the Calendar Layout requires the Collection have a datetime Field configured.")])]),e("li",null,[e("p",null,[e("strong",null,"Controls are different for each Layout."),e("br"),t(" Each Layout presents data differently, so certain customizations may not be functional with certain Layouts. For example, the Map Layout displays each Item as a pin on a map, so this Layout has no controls for sorting.")])]),e("li",null,[e("p",null,[e("strong",null,"Controls for a Layout may be in different locations."),e("br"),t(" Depending on the Layout, the same control may be under Layout Options in the sidebar, the subheader, or on the Page Area "),e("em",null,"(and Items themselves)"),t(". For example, the Table Layout lets you set the Field Values displayed in the subheader while the Card Layout lets you set Field Values displayed in the Layout Options menu.")])])],-1),x=e("h2",{id:"table-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#table-layout"},"#"),t(" Table Layout")],-1),D=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/table-layout.webp",alt:"Table Layout"})],-1),P=e("p",null,"This Layout supports all forms of data, as it directly reflects how data is stored in a Collection. This is the default Layout used in the Content Module. It includes the following controls.",-1),z=e("p",null,[e("strong",null,"Layout Options")],-1),M=e("ul",null,[e("li",null,[e("strong",null,"Spacing"),t(" \u2014 Adjust the vertical space a row takes up.")])],-1),j=e("p",null,[e("strong",null,"Subheader")],-1),O=e("ul",null,[e("li",null,[e("strong",null,"Adjust Column Width"),t(" \u2014 Click and drag the column divider to resize as desired.")]),e("li",null,[e("strong",null,"Add Field"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"add"),t(" in the page subheader and select the desired Field(s).")]),e("li",null,[e("strong",null,"Remove Field"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"arrow_drop_down"),t(" in the column title and click "),e("strong",null,"\u201CHide Field\u201D"),t(".")]),e("li",null,[e("strong",null,"Sort Items by Column"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"arrow_drop_down"),t(" in the column title and sort ascending or descending.")]),e("li",null,[e("strong",null,"Set Text Alignment"),t(" \u2014 Select "),e("span",{mi:"",icon:""},"arrow_drop_down"),t(" in the column title and set left, right, or center.")]),e("li",null,[e("strong",null,"Toggle & Reorder Columns"),t(" \u2014 Click the column header, then drag-and-drop as desired.")]),e("li",null,[e("strong",null,"Select All"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"check_box_outline_blank"),t(" in the selection column header.")])],-1),E=e("p",null,[e("strong",null,"Page Area")],-1),q=e("ul",null,[e("li",null,[e("strong",null,"Select Item(s)"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"check_box_outline_blank"),t(" in the selection column for the desired Item(s).")]),e("li",null,[e("strong",null,"Manually Sort Items"),t(" \u2014 Toggle "),e("span",{mi:"",icon:""},"sort"),t(" in the configured Sort column to drag and drop "),e("span",{mi:"",icon:""},"drag_handle"),t(" Items.")])],-1),B={class:"warning hint"},R=e("div",{class:"hint-title"},"Manual Sorting Requires Configuration",-1),N=e("h2",{id:"card-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#card-layout"},"#"),t(" Card Layout")],-1),V=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/card-layout-20220416A.webp",alt:"Card Layout"})],-1),G=e("em",null,"(e.g. a user or blog post)",-1),K=e("p",null,[e("strong",null,"Layout Options")],-1),U=e("ul",null,[e("li",null,[e("strong",null,"Image Source"),t(" \u2014 Set the Field used as the display image.")]),e("li",null,[e("strong",null,"Title"),t(" \u2014 Set a mix of Field values and text to use as a title.")]),e("li",null,[e("strong",null,"Subtitle"),t(" \u2014 Set a mix of Field values and text to use as a subtitle.")]),e("li",null,[e("strong",null,"Image Fit"),t(" \u2014 Set how an image fits inside the Card.")]),e("li",null,[e("strong",null,"Fallback Icon"),t(" \u2014 Set a default icon to display when an Item has no image.")])],-1),W=e("p",null,[e("strong",null,"Subheader")],-1),H=e("ul",null,[e("li",null,[e("strong",null,"Card Size"),t(" \u2014 Toggle the Card size as it appears in the Page Area.")]),e("li",null,[e("strong",null,"Sort Field"),t(" \u2014 Click to select the Field you wish to sort by from the dropdown menu.")]),e("li",null,[e("strong",null,"Sort Direction"),t(" \u2014 Toggle ascending and descending sort directions.")]),e("li",null,[e("strong",null,"Select All"),t(" \u2014 Click "),e("strong",null,[t("\u201C"),e("span",{mi:"",icon:""},"check_circle"),t(" Select All\u201D")]),t(" in the selection column header.")])],-1),Y=e("p",null,[e("strong",null,"Page Area")],-1),Z=e("ul",null,[e("li",null,[e("strong",null,"Select Item(s)"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"radio_button_unchecked"),t(" in the selection column for the desired Item(s).")]),e("li",null,[e("strong",null,"Adjust Time"),t(" \u2014 Click and drag an Item to change its time.")])],-1),J=e("h2",{id:"calendar-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#calendar-layout"},"#"),t(" Calendar Layout")],-1),Q=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/calendar-layout-20220416A.webp",alt:"Calendar Layout"})],-1),X=e("p",null,[t("This Layout is ideal for Collections with time-oriented data "),e("em",null,"(e.g. events and appointments)"),t(". It includes the following controls.")],-1),$=e("p",null,[e("strong",null,"Layout Options")],-1),ee=e("ul",null,[e("li",null,[e("strong",null,"Display Template"),t(" \u2014 Set a mix of Field values and text to represent Items on the calendar.")]),e("li",null,[e("strong",null,"Start Date Field"),t(" \u2014 Choose Field to determine each Item\u2019s beginning time on the calendar.")]),e("li",null,[e("strong",null,"End Date Field"),t(" \u2014 Choose Field to determine each Item\u2019s ending time on the calendar.")])],-1),te=e("p",null,[e("strong",null,"Subheader")],-1),le=e("ul",null,[e("li",null,[e("strong",null,"Toggle Month and Year"),t(" \u2014 Move across time using the chevrons in the subheader.")]),e("li",null,[e("strong",null,"Today"),t(" \u2014 Click to jump to the current date on the calendar.")]),e("li",null,[e("strong",null,"Month Week Day List"),t(" \u2014 Adjust the time interval used to display Items in the Page Area.")])],-1),oe=e("p",null,[e("strong",null,"Page Area")],-1),ne=e("ul",null,[e("li",null,[e("strong",null,"Select Item"),t(" \u2014 Click an Item on the calendar to open its Item Page.")])],-1),ae=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Configuration Requirements"),e("p",null,[t("To use this Layout, the Collection will need at least one datetime Field to set a start time, but ideally two "),e("em",null,"(to set a start and end time)"),t(".")])],-1),se=e("h2",{id:"map-layout",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#map-layout"},"#"),t(" Map Layout")],-1),ie=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/map-layout-20220416A.webp",alt:"Map Layout"})],-1),ue=e("p",null,"This Layout is ideal for Collections that emphasize geospatial data. It provides a world map, with Items displayed as points, lines, and other geometry. The following options are available:",-1),re=e("p",null,[e("strong",null,"Layout Options")],-1),de=e("ul",null,[e("li",null,[e("strong",null,"Basemap"),t(" \u2014 Choose the map provider used for the Collection.")]),e("li",null,[e("strong",null,"Geospatial Field"),t(" \u2014 Select the geospatial field type to display on screen: "),e("ul",null,[e("li",null,[e("strong",null,"Map JSON Point"),t(" \u2014 Supports latitude-longitude based, single-point locations.")]),e("li",null,[e("strong",null,"Map Geometry"),t(" \u2014 Supports geometric areas such as lines and polygons.")])])]),e("li",null,[e("strong",null,"Display Template"),t(" \u2014 Choose the Fields displayed when hovering over an Item on the map.")]),e("li",null,[e("strong",null,"Cluster Nearby Data"),t(" \u2014 Toggle whether or not nearby Items get clustered into a single pin.")])],-1),ce=e("p",null,[e("strong",null,"Subheader"),e("br"),e("em",null,"There is no Subheader on the Map Layout.")],-1),he=e("p",null,[e("strong",null,"Page Area")],-1),pe=e("ul",null,[e("li",null,[e("strong",null,"Zoom"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"add"),t(" and "),e("span",{mi:"",icon:""},"remove"),t(" in the upper left hand corner of the Page Area to zoom in and out.")]),e("li",null,[e("strong",null,"Zoom to my Location"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"my_location"),t(" to zoom into your current location on the map.")]),e("li",null,[e("strong",null,"Reframe"),t(" \u2014 Click the square in the upper left-hand corner to resize and reframe the map area.")]),e("li",null,[e("strong",null,"Select Item"),t(" \u2014 Click a single Item to enter its Item Page.")]),e("li",null,[e("strong",null,"Select Items"),t(" \u2014 Click and drag to select multiple Items at once, opening the Item Page.")])],-1),ge=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Configuration Requirements"),e("p",null,"To use this Layout, the Collection must have a Map Field configured.")],-1),me=e("h2",{id:"kanban-layout-%5Bcloud-exclusive%5D",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#kanban-layout-%5Bcloud-exclusive%5D"},"#"),t(" Kanban Layout [Cloud Exclusive]")],-1),ye=e("p",null,[e("img",{src:"https://cdn.directus.io/docs/v9/app-guide/layouts/layouts-20220415A/kanban-layout-20220416A.webp",alt:"Kanban Layout"})],-1),_e=e("p",null,[t("This Layout is ideal for Collections that serve as project management tools or to-do lists, where each Item represents a task, because it groups Items onto columns according to their status "),e("em",null,"(e.g. \u201CNot Started\u201D, \u201CIn Progress\u201D, \u201CUnder Review\u201D, \u201CComplete\u201D, or any other status defined)"),t(". The following controls are available.")],-1),fe=e("p",null,[e("strong",null,"Layout Options")],-1),be=e("ul",null,[e("li",null,[e("strong",null,"Group By"),t(" \u2014 Select the Field used to define Item status. See below for details.")]),e("li",null,[e("strong",null,"Card Title"),t(" \u2014 Choose a Field to serve as a title on each Item.")]),e("li",null,[e("strong",null,"Card Text"),t(" \u2014 Choose a Field to display additional text on each Item.")])],-1),Ce=e("p",null,[e("strong",null,"Layout Options > Advanced")],-1),we=e("ul",null,[e("li",null,[e("strong",null,"Card Tags"),t(" \u2014 Choose a Tag Field to be displayed on the Item.")]),e("li",null,[e("strong",null,"Card Date"),t(" \u2014 Choose a Datetime Field to be displayed on each Item.")]),e("li",null,[e("strong",null,"Card Image"),t(" \u2014 Choose an Image Field to be displayed on each Item.")]),e("li",null,[e("strong",null,"Card Image Fit"),t(" \u2014 Toggle whether the image fit is cropped.")]),e("li",null,[e("strong",null,"Card User"),t(" \u2014 Choose the User Created Field to display their avatar in the bottom right corner.")]),e("li",null,[e("strong",null,"Show Ungrouped"),t(" \u2014 Toggle display of a column containing Items with no assigned status.")])],-1),Le=e("p",null,[e("strong",null,"Subheader"),e("br"),e("em",null,"There is no Subheader for the Kanban Layout.")],-1),ve=e("p",null,[e("strong",null,"Page Area")],-1),Ie=e("ul",null,[e("li",null,[e("strong",null,"Create Task and Assign Status"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"add"),t(" in a status column and the Item Page will open.")]),e("li",null,[e("strong",null,"Sort Panels"),t(" \u2014 Drag and drop Items to reposition or change task status.")]),e("li",null,[e("strong",null,"Add Status Panel"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"add_box"),t(" and add a group name (i.e. new status column).")]),e("li",null,[e("strong",null,"Edit or Delete Status Column"),t(" \u2014 Click "),e("span",{mi:"",icon:""},"more_horiz"),t(" and then click "),e("span",{mi:"",icon:""},"edit"),t(" to edit or "),e("span",{mi:"",icon:""},"delete"),t(" to delete.")])],-1),ke=e("div",{class:"tip hint"},[e("div",{class:"hint-title"},"Configuration Requirements"),e("p",null,[t("To make this Layout work, you will need to configure an appropriate status Field on the Collection, then identify this Field under "),e("strong",null,"\u201CGroup By\u201D"),t(" in the Layout Options menu.")])],-1),xe="Layouts",De=!1,Pe="Layouts are customized displays for viewing and interacting with the Items in a Collection.",ze="9 min read",Me={__name:"layouts",setup(Se,{expose:i}){const a={title:"Layouts",modularExtension:!1,description:"Layouts are customized displays for viewing and interacting with the Items in a Collection.",readTime:"9 min read"};return i({frontmatter:a}),(Te,Fe)=>{const o=s("router-link"),u=s("docs-wrapper");return r(),d(u,{frontmatter:a},{default:l(()=>[e("div",c,[h,p,g,m,e("p",null,[t("The following sections detail the Layouts managed and supported by the Directus Team. Keep in mind that Directus is open-source, modular and extensible. You are free to create any Layout you need on self-hosted and Enterprise Cloud Projects. Additionally, Directus Cloud is always adding more Layouts to its "),n(o,{to:"/docs/cloud/glossary#extensions"},{default:l(()=>[t("Cloud Exclusive Extensions")]),_:1}),t(", so check back often to stay up-to-date with the latest and greatest. Additionally, you can join the community on "),y,t(" and "),_,t(" to find thousands of engineers guiding development of the Directus platform.")]),f,b,C,w,L,v,I,k,S,T,F,A,x,D,P,z,M,j,O,E,q,e("div",B,[R,e("p",null,[t("Only available if you "),n(o,{to:"/docs/configuration/data-model/collections#sort-field"},{default:l(()=>[t("configure a sort field")]),_:1}),t(" in the Collection\u2019s Data Model Settings.")])]),N,V,e("p",null,[t("This tiled Layout is ideal for Collections that prioritize an image "),G,t(". This is the default for both the "),n(o,{to:"/docs/app/user-directory"},{default:l(()=>[t("User Directory")]),_:1}),t(" and "),n(o,{to:"/docs/app/file-library"},{default:l(()=>[t("File Library")]),_:1}),t(". It includes the following controls.")]),K,U,W,H,Y,Z,J,Q,X,$,ee,te,le,oe,ne,ae,se,ie,ue,re,de,ce,he,pe,ge,me,ye,_e,fe,be,Ce,we,Le,ve,Ie,ke])]),_:1})}}};export{Me as default,Pe as description,De as modularExtension,ze as readTime,xe as title};
@@ -0,0 +1 @@
1
+ import{y as b}from"./index.312f2c91.entry.js";function A(l,d){for(var g=0;g<d.length;g++){const n=d[g];if(typeof n!="string"&&!Array.isArray(n)){for(const i in n)if(i!=="default"&&!(i in l)){const r=Object.getOwnPropertyDescriptor(n,i);r&&Object.defineProperty(l,i,r.get?r:{enumerable:!0,get:()=>n[i]})}}}return Object.freeze(Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}))}var v={exports:{}};(function(l,d){(function(g){g(b.exports)})(function(g){g.defineMode("livescript",function(){var w=function(e,t){var a=t.next||"start";if(a){t.next=t.next;var p=s[a];if(p.splice){for(var y=0;y<p.length;++y){var o=p[y];if(o.regex&&e.match(o.regex))return t.next=o.next||t.next,o.token}return e.next(),"error"}if(e.match(o=s[a]))return o.regex&&e.match(o.regex)?(t.next=o.next,o.token):(e.next(),"error")}return e.next(),"error"},h={startState:function(){return{next:"start",lastToken:{style:null,indent:0,content:""}}},token:function(e,t){for(;e.pos==e.start;)var a=w(e,t);return t.lastToken={style:a,indent:e.indentation(),content:e.current()},a.replace(/\./g," ")},indent:function(e){var t=e.lastToken.indent;return e.lastToken.content.match(i)&&(t+=2),t}};return h});var n="(?![\\d\\s])[$\\w\\xAA-\\uFFDC](?:(?!\\s)[$\\w\\xAA-\\uFFDC]|-[A-Za-z])*",i=RegExp("(?:[({[=:]|[-~]>|\\b(?:e(?:lse|xport)|d(?:o|efault)|t(?:ry|hen)|finally|import(?:\\s*all)?|const|var|let|new|catch(?:\\s*"+n+")?))\\s*$"),r="(?![$\\w]|-[A-Za-z]|\\s*:(?![:=]))",x={token:"string",regex:".+"},s={start:[{token:"comment.doc",regex:"/\\*",next:"comment"},{token:"comment",regex:"#.*"},{token:"keyword",regex:"(?:t(?:h(?:is|row|en)|ry|ypeof!?)|c(?:on(?:tinue|st)|a(?:se|tch)|lass)|i(?:n(?:stanceof)?|mp(?:ort(?:\\s+all)?|lements)|[fs])|d(?:e(?:fault|lete|bugger)|o)|f(?:or(?:\\s+own)?|inally|unction)|s(?:uper|witch)|e(?:lse|x(?:tends|port)|val)|a(?:nd|rguments)|n(?:ew|ot)|un(?:less|til)|w(?:hile|ith)|o[fr]|return|break|let|var|loop)"+r},{token:"constant.language",regex:"(?:true|false|yes|no|on|off|null|void|undefined)"+r},{token:"invalid.illegal",regex:"(?:p(?:ackage|r(?:ivate|otected)|ublic)|i(?:mplements|nterface)|enum|static|yield)"+r},{token:"language.support.class",regex:"(?:R(?:e(?:gExp|ferenceError)|angeError)|S(?:tring|yntaxError)|E(?:rror|valError)|Array|Boolean|Date|Function|Number|Object|TypeError|URIError)"+r},{token:"language.support.function",regex:"(?:is(?:NaN|Finite)|parse(?:Int|Float)|Math|JSON|(?:en|de)codeURI(?:Component)?)"+r},{token:"variable.language",regex:"(?:t(?:hat|il|o)|f(?:rom|allthrough)|it|by|e)"+r},{token:"identifier",regex:n+"\\s*:(?![:=])"},{token:"variable",regex:n},{token:"keyword.operator",regex:"(?:\\.{3}|\\s+\\?)"},{token:"keyword.variable",regex:"(?:@+|::|\\.\\.)",next:"key"},{token:"keyword.operator",regex:"\\.\\s*",next:"key"},{token:"string",regex:"\\\\\\S[^\\s,;)}\\]]*"},{token:"string.doc",regex:"'''",next:"qdoc"},{token:"string.doc",regex:'"""',next:"qqdoc"},{token:"string",regex:"'",next:"qstring"},{token:"string",regex:'"',next:"qqstring"},{token:"string",regex:"`",next:"js"},{token:"string",regex:"<\\[",next:"words"},{token:"string.regex",regex:"//",next:"heregex"},{token:"string.regex",regex:"\\/(?:[^[\\/\\n\\\\]*(?:(?:\\\\.|\\[[^\\]\\n\\\\]*(?:\\\\.[^\\]\\n\\\\]*)*\\])[^[\\/\\n\\\\]*)*)\\/[gimy$]{0,4}",next:"key"},{token:"constant.numeric",regex:"(?:0x[\\da-fA-F][\\da-fA-F_]*|(?:[2-9]|[12]\\d|3[0-6])r[\\da-zA-Z][\\da-zA-Z_]*|(?:\\d[\\d_]*(?:\\.\\d[\\d_]*)?|\\.\\d[\\d_]*)(?:e[+-]?\\d[\\d_]*)?[\\w$]*)"},{token:"lparen",regex:"[({[]"},{token:"rparen",regex:"[)}\\]]",next:"key"},{token:"keyword.operator",regex:"\\S+"},{token:"text",regex:"\\s+"}],heregex:[{token:"string.regex",regex:".*?//[gimy$?]{0,4}",next:"start"},{token:"string.regex",regex:"\\s*#{"},{token:"comment.regex",regex:"\\s+(?:#.*)?"},{token:"string.regex",regex:"\\S+"}],key:[{token:"keyword.operator",regex:"[.?@!]+"},{token:"identifier",regex:n,next:"start"},{token:"text",regex:"",next:"start"}],comment:[{token:"comment.doc",regex:".*?\\*/",next:"start"},{token:"comment.doc",regex:".+"}],qdoc:[{token:"string",regex:".*?'''",next:"key"},x],qqdoc:[{token:"string",regex:'.*?"""',next:"key"},x],qstring:[{token:"string",regex:"[^\\\\']*(?:\\\\.[^\\\\']*)*'",next:"key"},x],qqstring:[{token:"string",regex:'[^\\\\"]*(?:\\\\.[^\\\\"]*)*"',next:"key"},x],js:[{token:"string",regex:"[^\\\\`]*(?:\\\\.[^\\\\`]*)*`",next:"key"},x],words:[{token:"string",regex:".*?\\]>",next:"key"},x]};for(var f in s){var c=s[f];if(c.splice)for(var k=0,m=c.length;k<m;++k){var u=c[k];typeof u.regex=="string"&&(s[f][k].regex=new RegExp("^"+u.regex))}else typeof u.regex=="string"&&(s[f].regex=new RegExp("^"+c.regex))}g.defineMIME("text/x-livescript","livescript")})})();const q=v.exports,_=A({__proto__:null,default:q},[v.exports]);export{_ as l};
@@ -0,0 +1 @@
1
+ import{y as j}from"./index.312f2c91.entry.js";function O(c,f){for(var a=0;a<f.length;a++){const o=f[a];if(typeof o!="string"&&!Array.isArray(o)){for(const l in o)if(l!=="default"&&!(l in c)){const u=Object.getOwnPropertyDescriptor(o,l);u&&Object.defineProperty(c,l,u.get?u:{enumerable:!0,get:()=>o[l]})}}}return Object.freeze(Object.defineProperty(c,Symbol.toStringTag,{value:"Module"}))}var h={exports:{}};(function(c,f){(function(a){a(j.exports)})(function(a){a.defineMode("lua",function(o,l){var u=o.indentUnit;function b(e){return new RegExp("^(?:"+e.join("|")+")","i")}function s(e){return new RegExp("^(?:"+e.join("|")+")$","i")}var v=s(l.specials||[]),k=s(["_G","_VERSION","assert","collectgarbage","dofile","error","getfenv","getmetatable","ipairs","load","loadfile","loadstring","module","next","pairs","pcall","print","rawequal","rawget","rawset","require","select","setfenv","setmetatable","tonumber","tostring","type","unpack","xpcall","coroutine.create","coroutine.resume","coroutine.running","coroutine.status","coroutine.wrap","coroutine.yield","debug.debug","debug.getfenv","debug.gethook","debug.getinfo","debug.getlocal","debug.getmetatable","debug.getregistry","debug.getupvalue","debug.setfenv","debug.sethook","debug.setlocal","debug.setmetatable","debug.setupvalue","debug.traceback","close","flush","lines","read","seek","setvbuf","write","io.close","io.flush","io.input","io.lines","io.open","io.output","io.popen","io.read","io.stderr","io.stdin","io.stdout","io.tmpfile","io.type","io.write","math.abs","math.acos","math.asin","math.atan","math.atan2","math.ceil","math.cos","math.cosh","math.deg","math.exp","math.floor","math.fmod","math.frexp","math.huge","math.ldexp","math.log","math.log10","math.max","math.min","math.modf","math.pi","math.pow","math.rad","math.random","math.randomseed","math.sin","math.sinh","math.sqrt","math.tan","math.tanh","os.clock","os.date","os.difftime","os.execute","os.exit","os.getenv","os.remove","os.rename","os.setlocale","os.time","os.tmpname","package.cpath","package.loaded","package.loaders","package.loadlib","package.path","package.preload","package.seeall","string.byte","string.char","string.dump","string.find","string.format","string.gmatch","string.gsub","string.len","string.lower","string.match","string.rep","string.reverse","string.sub","string.upper","table.concat","table.insert","table.maxn","table.remove","table.sort"]),x=s(["and","break","elseif","false","nil","not","or","return","true","function","end","if","then","else","do","while","repeat","until","for","in","local"]),w=s(["function","if","repeat","do","\\(","{"]),y=s(["end","until","\\)","}"]),_=b(["end","until","\\)","}","else","elseif"]);function p(e){for(var n=0;e.eat("=");)++n;return e.eat("["),n}function g(e,n){var t=e.next();return t=="-"&&e.eat("-")?e.eat("[")&&e.eat("[")?(n.cur=m(p(e),"comment"))(e,n):(e.skipToEnd(),"comment"):t=='"'||t=="'"?(n.cur=E(t))(e,n):t=="["&&/[\[=]/.test(e.peek())?(n.cur=m(p(e),"string"))(e,n):/\d/.test(t)?(e.eatWhile(/[\w.%]/),"number"):/[\w_]/.test(t)?(e.eatWhile(/[\w\\\-_.]/),"variable"):null}function m(e,n){return function(t,r){for(var i=null,d;(d=t.next())!=null;)if(i==null)d=="]"&&(i=0);else if(d=="=")++i;else if(d=="]"&&i==e){r.cur=g;break}else i=null;return n}}function E(e){return function(n,t){for(var r=!1,i;(i=n.next())!=null&&!(i==e&&!r);)r=!r&&i=="\\";return r||(t.cur=g),"string"}}return{startState:function(e){return{basecol:e||0,indentDepth:0,cur:g}},token:function(e,n){if(e.eatSpace())return null;var t=n.cur(e,n),r=e.current();return t=="variable"&&(x.test(r)?t="keyword":k.test(r)?t="builtin":v.test(r)&&(t="variable-2")),t!="comment"&&t!="string"&&(w.test(r)?++n.indentDepth:y.test(r)&&--n.indentDepth),t},indent:function(e,n){var t=_.test(n);return e.basecol+u*(e.indentDepth-(t?1:0))},electricInput:/^\s*(?:end|until|else|\)|\})$/,lineComment:"--",blockCommentStart:"--[[",blockCommentEnd:"]]"}}),a.defineMIME("text/x-lua","lua")})})();const S=h.exports,R=O({__proto__:null,default:S},[h.exports]);export{R as l};
@@ -1,4 +1,4 @@
1
- import{a as l,o as c,b as d,w as e,l as t,E as s,e as o}from"./runtime-core.esm-bundler.fe249c5c.js";const u={class:"markdown-body"},h={class:"tip hint"},p=t("div",{class:"hint-title"},"Automation",-1),_=t("h2",{id:"1.-setup-a-project-folder",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#1.-setup-a-project-folder"},"#"),s(" 1. Setup a Project Folder")],-1),f=t("p",null,[s("Create a new directory, and add a "),t("code",null,"package.json"),s(" by running the following command.")],-1),m=t("pre",null,[t("code",{class:"language-bash"},`npm init -y
1
+ import{a as l,o as c,e as d,y as e,u as t,q as s,z as o}from"./runtime-core.esm-bundler.22ec0346.js";const u={class:"markdown-body"},h={class:"tip hint"},p=t("div",{class:"hint-title"},"Automation",-1),_=t("h2",{id:"1.-setup-a-project-folder",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#1.-setup-a-project-folder"},"#"),s(" 1. Setup a Project Folder")],-1),f=t("p",null,[s("Create a new directory, and add a "),t("code",null,"package.json"),s(" by running the following command.")],-1),m=t("pre",null,[t("code",{class:"language-bash"},`npm init -y
2
2
  `)],-1),g=t("code",null,"start",-1),b=t("pre",null,[t("code",{class:"language-json"},[t("span",{class:"hljs-punctuation"},"{"),s(`
3
3
  ...
4
4
  `),t("span",{class:"hljs-attr"},'"scripts"'),t("span",{class:"hljs-punctuation"},":"),s(),t("span",{class:"hljs-punctuation"},"{"),s(`
@@ -6,7 +6,7 @@ import{a as l,o as c,b as d,w as e,l as t,E as s,e as o}from"./runtime-core.esm-
6
6
  `),t("span",{class:"hljs-punctuation"},"}"),s(`
7
7
  ...
8
8
  `),t("span",{class:"hljs-punctuation"},"}"),s(`
9
- `)])],-1),v=t("h2",{id:"2.-install-directus",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#2.-install-directus"},"#"),s(" 2. Install Directus")],-1),y=t("pre",null,[t("code",{class:"language-bash"},`npm install directus
10
- `)],-1),j=t("h2",{id:"3.-setup-a-configuration-file",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#3.-setup-a-configuration-file"},"#"),s(" 3. Setup a Configuration File")],-1),x=t("p",null,[s("Finally, you\u2019ll need to setup your "),t("code",null,".env"),s(" file, or configure the environment variables through other means, such as Docker, etc.")],-1),w=t("p",null,[t("strong",null,"Don\u2019t forget to fill your database information before continuing to next step")],-1),k=t("h2",{id:"4.-bootstrap-it",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#4.-bootstrap-it"},"#"),s(" 4. Bootstrap It")],-1),C=t("pre",null,[t("code",{class:"language-bash"},`npx directus bootstrap
9
+ `)])],-1),y=t("h2",{id:"2.-install-directus",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#2.-install-directus"},"#"),s(" 2. Install Directus")],-1),v=t("pre",null,[t("code",{class:"language-bash"},`npm install directus
10
+ `)],-1),j=t("h2",{id:"3.-setup-a-configuration-file",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#3.-setup-a-configuration-file"},"#"),s(" 3. Setup a Configuration File")],-1),x=t("p",null,[s("Finally, you\u2019ll need to setup your "),t("code",null,".env"),s(" file, or configure the environment variables through other means, such as Docker, etc.")],-1),k=t("p",null,[t("strong",null,"Don\u2019t forget to fill your database information before continuing to next step")],-1),w=t("h2",{id:"4.-bootstrap-it",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#4.-bootstrap-it"},"#"),s(" 4. Bootstrap It")],-1),C=t("pre",null,[t("code",{class:"language-bash"},`npx directus bootstrap
11
11
  `)],-1),D=t("h2",{id:"5.-start-server",tabindex:"-1"},[t("a",{class:"header-anchor",href:"#5.-start-server"},"#"),s(" 5. Start Server")],-1),I=t("pre",null,[t("code",{class:"language-bash"},`npm run start
12
- `)],-1),V="Installing Manually",A=!1,N="How to manually install Directus.",P="1 min read",T={__name:"manual",setup(S,{expose:i}){const n={title:"Installing Manually",modularExtension:!1,description:"How to manually install Directus.",readTime:"1 min read"};return i({frontmatter:n}),(B,E)=>{const a=l("router-link"),r=l("docs-wrapper");return c(),d(r,{frontmatter:n},{default:e(()=>[t("div",u,[t("div",h,[p,t("p",null,[s("We\u2019ve created a little CLI tool you can run that does this process automatically. For more info, check the doc on "),o(a,{to:"/docs/self-hosted/installation/cli"},{default:e(()=>[s("installing through the CLI")]),_:1}),s(".")])]),_,f,m,t("p",null,[s("We recommend aliasing the "),g,s(" script to Directus\u2019 start for easier deployments to services like "),o(a,{to:"/docs/self-hosted/installation/aws"},{default:e(()=>[s("AWS")]),_:1}),s(", "),o(a,{to:"/docs/self-hosted/installation/gcp"},{default:e(()=>[s("Google Cloud Platform")]),_:1}),s(" or "),o(a,{to:"/docs/self-hosted/installation/digitalocean-app-platform"},{default:e(()=>[s("DigitalOcean App Platform")]),_:1}),s(".")]),b,v,y,j,x,w,t("p",null,[s("See "),o(a,{to:"/docs/self-hosted/config-options#general"},{default:e(()=>[s("Environment Variables")]),_:1}),s(" for all available variables.")]),k,C,D,I])]),_:1})}}};export{T as default,N as description,A as modularExtension,P as readTime,V as title};
12
+ `)],-1),A="Installing Manually",E=!1,N="How to manually install Directus.",P="1 min read",T={__name:"manual",setup(S,{expose:i}){const n={title:"Installing Manually",modularExtension:!1,description:"How to manually install Directus.",readTime:"1 min read"};return i({frontmatter:n}),(B,F)=>{const a=l("router-link"),r=l("docs-wrapper");return c(),d(r,{frontmatter:n},{default:e(()=>[t("div",u,[t("div",h,[p,t("p",null,[s("We\u2019ve created a little CLI tool you can run that does this process automatically. For more info, check the doc on "),o(a,{to:"/docs/self-hosted/installation/cli"},{default:e(()=>[s("installing through the CLI")]),_:1}),s(".")])]),_,f,m,t("p",null,[s("We recommend aliasing the "),g,s(" script to Directus\u2019 start for easier deployments to services like "),o(a,{to:"/docs/self-hosted/installation/aws"},{default:e(()=>[s("AWS")]),_:1}),s(", "),o(a,{to:"/docs/self-hosted/installation/gcp"},{default:e(()=>[s("Google Cloud Platform")]),_:1}),s(" or "),o(a,{to:"/docs/self-hosted/installation/digitalocean-app-platform"},{default:e(()=>[s("DigitalOcean App Platform")]),_:1}),s(".")]),b,y,v,j,x,k,t("p",null,[s("See "),o(a,{to:"/docs/self-hosted/config-options#general"},{default:e(()=>[s("Environment Variables")]),_:1}),s(" for all available variables.")]),w,C,D,I])]),_:1})}}};export{T as default,N as description,E as modularExtension,P as readTime,A as title};
@@ -0,0 +1 @@
1
+ import{y as j}from"./index.312f2c91.entry.js";function A(p,S){for(var a=0;a<S.length;a++){const l=S[a];if(typeof l!="string"&&!Array.isArray(l)){for(const f in l)if(f!=="default"&&!(f in p)){const s=Object.getOwnPropertyDescriptor(l,f);s&&Object.defineProperty(p,f,s.get?s:{enumerable:!0,get:()=>l[f]})}}}return Object.freeze(Object.defineProperty(p,Symbol.toStringTag,{value:"Module"}))}var b={exports:{}};(function(p,S){(function(a){a(j.exports)})(function(a){a.defineOption("styleSelectedText",!1,function(e,t,r){var n=r&&r!=a.Init;t&&!n?(e.state.markedSelection=[],e.state.markedSelectionStyle=typeof t=="string"?t:"CodeMirror-selectedtext",d(e),e.on("cursorActivity",l),e.on("change",f)):!t&&n&&(e.off("cursorActivity",l),e.off("change",f),g(e),e.state.markedSelection=e.state.markedSelectionStyle=null)});function l(e){e.state.markedSelection&&e.operation(function(){O(e)})}function f(e){e.state.markedSelection&&e.state.markedSelection.length&&e.operation(function(){g(e)})}var s=8,h=a.Pos,u=a.cmpPos;function c(e,t,r,n){if(u(t,r)!=0)for(var o=e.state.markedSelection,i=e.state.markedSelectionStyle,v=t.line;;){var P=v==t.line?t:h(v,0),y=v+s,k=y>=r.line,_=k?r:h(y,0),x=e.markText(P,_,{className:i});if(n==null?o.push(x):o.splice(n++,0,x),k)break;v=y}}function g(e){for(var t=e.state.markedSelection,r=0;r<t.length;++r)t[r].clear();t.length=0}function d(e){g(e);for(var t=e.listSelections(),r=0;r<t.length;r++)c(e,t[r].from(),t[r].to())}function O(e){if(!e.somethingSelected())return g(e);if(e.listSelections().length>1)return d(e);var t=e.getCursor("start"),r=e.getCursor("end"),n=e.state.markedSelection;if(!n.length)return c(e,t,r);var o=n[0].find(),i=n[n.length-1].find();if(!o||!i||r.line-t.line<=s||u(t,i.to)>=0||u(r,o.from)<=0)return d(e);for(;u(t,o.from)>0;)n.shift().clear(),o=n[0].find();for(u(t,o.from)<0&&(o.to.line-t.line<s?(n.shift().clear(),c(e,t,o.to,0)):c(e,t,o.from,0));u(r,i.to)<0;)n.pop().clear(),i=n[n.length-1].find();u(r,i.to)>0&&(r.line-i.from.line<s?(n.pop().clear(),c(e,i.from,r)):c(e,i.to,r))}})})();const w=b.exports,N=A({__proto__:null,default:w},[b.exports]);export{N as m};
@@ -0,0 +1 @@
1
+ import{y as k}from"./index.312f2c91.entry.js";function S(f,u){for(var a=0;a<u.length;a++){const l=u[a];if(typeof l!="string"&&!Array.isArray(l)){for(const s in l)if(s!=="default"&&!(s in f)){const h=Object.getOwnPropertyDescriptor(l,s);h&&Object.defineProperty(f,s,h.get?h:{enumerable:!0,get:()=>l[s]})}}}return Object.freeze(Object.defineProperty(f,Symbol.toStringTag,{value:"Module"}))}var $={exports:{}},A={exports:{}};(function(f,u){(function(a){a(k.exports,$.exports)})(function(a){var l={style:"matchhighlight",minChars:2,delay:100,wordsOnly:!1,annotateScrollbar:!1,showToken:!1,trim:!0};function s(t){this.options={};for(var e in l)this.options[e]=(t&&t.hasOwnProperty(e)?t:l)[e];this.overlay=this.timeout=null,this.matchesonscroll=null,this.active=!1}a.defineOption("highlightSelectionMatches",!1,function(t,e,i){if(i&&i!=a.Init&&(O(t),clearTimeout(t.state.matchHighlighter.timeout),t.state.matchHighlighter=null,t.off("cursorActivity",h),t.off("focus",y)),e){var o=t.state.matchHighlighter=new s(e);t.hasFocus()?(o.active=!0,b(t)):t.on("focus",y),t.on("cursorActivity",h)}});function h(t){var e=t.state.matchHighlighter;(e.active||t.hasFocus())&&w(t,e)}function y(t){var e=t.state.matchHighlighter;e.active||(e.active=!0,w(t,e))}function w(t,e){clearTimeout(e.timeout),e.timeout=setTimeout(function(){b(t)},e.options.delay)}function d(t,e,i,o){var r=t.state.matchHighlighter;if(t.addOverlay(r.overlay=T(e,i,o)),r.options.annotateScrollbar&&t.showMatchesOnScrollbar){var n=i?new RegExp((/\w/.test(e.charAt(0))?"\\b":"")+e.replace(/[\\\[.+*?(){|^$]/g,"\\$&")+(/\w/.test(e.charAt(e.length-1))?"\\b":"")):e;r.matchesonscroll=t.showMatchesOnScrollbar(n,!1,{className:"CodeMirror-selection-highlight-scrollbar"})}}function O(t){var e=t.state.matchHighlighter;e.overlay&&(t.removeOverlay(e.overlay),e.overlay=null,e.matchesonscroll&&(e.matchesonscroll.clear(),e.matchesonscroll=null))}function b(t){t.operation(function(){var e=t.state.matchHighlighter;if(O(t),!t.somethingSelected()&&e.options.showToken){for(var i=e.options.showToken===!0?/[\w$]/:e.options.showToken,o=t.getCursor(),r=t.getLine(o.line),n=o.ch,c=n;n&&i.test(r.charAt(n-1));)--n;for(;c<r.length&&i.test(r.charAt(c));)++c;n<c&&d(t,r.slice(n,c),i,e.options.style);return}var v=t.getCursor("from"),p=t.getCursor("to");if(v.line==p.line&&!(e.options.wordsOnly&&!H(t,v,p))){var g=t.getRange(v,p);e.options.trim&&(g=g.replace(/^\s+|\s+$/g,"")),g.length>=e.options.minChars&&d(t,g,!1,e.options.style)}})}function H(t,e,i){var o=t.getRange(e,i);if(o.match(/^\w+$/)!==null){if(e.ch>0){var r={line:e.line,ch:e.ch-1},n=t.getRange(r,e);if(n.match(/\W/)===null)return!1}if(i.ch<t.getLine(e.line).length){var r={line:i.line,ch:i.ch+1},n=t.getRange(i,r);if(n.match(/\W/)===null)return!1}return!0}else return!1}function x(t,e){return(!t.start||!e.test(t.string.charAt(t.start-1)))&&(t.pos==t.string.length||!e.test(t.string.charAt(t.pos)))}function T(t,e,i){return{token:function(o){if(o.match(t)&&(!e||x(o,e)))return i;o.next(),o.skipTo(t.charAt(0))||o.skipToEnd()}}}})})();const C=A.exports,R=S({__proto__:null,default:C},[A.exports]);export{R as m};
@@ -1 +1 @@
1
- import{z as s}from"./index.06aaef91.entry.js";function f(r,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const t in e)if(t!=="default"&&!(t in r)){const a=Object.getOwnPropertyDescriptor(e,t);a&&Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const p=f({__proto__:null,default:n},[n]);export{p as m};
1
+ import{z as s}from"./index.312f2c91.entry.js";function f(r,c){for(var o=0;o<c.length;o++){const e=c[o];if(typeof e!="string"&&!Array.isArray(e)){for(const t in e)if(t!=="default"&&!(t in r)){const a=Object.getOwnPropertyDescriptor(e,t);a&&Object.defineProperty(r,t,a.get?a:{enumerable:!0,get:()=>e[t]})}}}return Object.freeze(Object.defineProperty(r,Symbol.toStringTag,{value:"Module"}))}var n=s();const p=f({__proto__:null,default:n},[n]);export{p as m};
@@ -0,0 +1 @@
1
+ import{y as x}from"./index.312f2c91.entry.js";function g(u,l){for(var n=0;n<l.length;n++){const i=l[n];if(typeof i!="string"&&!Array.isArray(i)){for(const o in i)if(o!=="default"&&!(o in u)){const f=Object.getOwnPropertyDescriptor(i,o);f&&Object.defineProperty(u,o,f.get?f:{enumerable:!0,get:()=>i[o]})}}}return Object.freeze(Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}))}var $={exports:{}};(function(u,l){(function(n){n(x.exports)})(function(n){n.defineMode("mathematica",function(i,o){var f="[a-zA-Z\\$][a-zA-Z0-9\\$]*",p="(?:\\d+)",z="(?:\\.\\d+|\\d+\\.\\d*|\\d+)",v="(?:\\.\\w+|\\w+\\.\\w*|\\w+)",A="(?:`(?:`?"+z+")?)",Z=new RegExp("(?:"+p+"(?:\\^\\^"+v+A+"?(?:\\*\\^[+-]?\\d+)?))"),h=new RegExp("(?:"+z+A+"?(?:\\*\\^[+-]?\\d+)?)"),d=new RegExp("(?:`?)(?:"+f+")(?:`(?:"+f+"))*(?:`?)");function m(e,t){var r;return r=e.next(),r==='"'?(t.tokenize=b,t.tokenize(e,t)):r==="("&&e.eat("*")?(t.commentLevel++,t.tokenize=k,t.tokenize(e,t)):(e.backUp(1),e.match(Z,!0,!1)||e.match(h,!0,!1)?"number":e.match(/(?:In|Out)\[[0-9]*\]/,!0,!1)?"atom":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::usage)/,!0,!1)?"meta":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*(?:`[a-zA-Z0-9\$]+)*::[a-zA-Z\$][a-zA-Z0-9\$]*):?/,!0,!1)?"string-2":e.match(/([a-zA-Z\$][a-zA-Z0-9\$]*\s*:)(?:(?:[a-zA-Z\$][a-zA-Z0-9\$]*)|(?:[^:=>~@\^\&\*\)\[\]'\?,\|])).*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)||e.match(/[a-zA-Z\$][a-zA-Z0-9\$]*_+/,!0,!1)||e.match(/_+[a-zA-Z\$][a-zA-Z0-9\$]*/,!0,!1)?"variable-2":e.match(/\\\[[a-zA-Z\$][a-zA-Z0-9\$]*\]/,!0,!1)?"variable-3":e.match(/(?:\[|\]|{|}|\(|\))/,!0,!1)?"bracket":e.match(/(?:#[a-zA-Z\$][a-zA-Z0-9\$]*|#+[0-9]?)/,!0,!1)?"variable-2":e.match(d,!0,!1)?"keyword":e.match(/(?:\\|\+|\-|\*|\/|,|;|\.|:|@|~|=|>|<|&|\||_|`|'|\^|\?|!|%)/,!0,!1)?"operator":(e.next(),"error"))}function b(e,t){for(var r,a=!1,c=!1;(r=e.next())!=null;){if(r==='"'&&!c){a=!0;break}c=!c&&r==="\\"}return a&&!c&&(t.tokenize=m),"string"}function k(e,t){for(var r,a;t.commentLevel>0&&(a=e.next())!=null;)r==="("&&a==="*"&&t.commentLevel++,r==="*"&&a===")"&&t.commentLevel--,r=a;return t.commentLevel<=0&&(t.tokenize=m),"comment"}return{startState:function(){return{tokenize:m,commentLevel:0}},token:function(e,t){return e.eatSpace()?null:t.tokenize(e,t)},blockCommentStart:"(*",blockCommentEnd:"*)"}}),n.defineMIME("text/x-mathematica",{name:"mathematica"})})})();const s=$.exports,_=g({__proto__:null,default:s},[$.exports]);export{_ as m};
@@ -0,0 +1 @@
1
+ import{y as k}from"./index.312f2c91.entry.js";function E(u,f){for(var n=0;n<f.length;n++){const i=f[n];if(typeof i!="string"&&!Array.isArray(i)){for(const o in i)if(o!=="default"&&!(o in u)){const a=Object.getOwnPropertyDescriptor(i,o);a&&Object.defineProperty(u,o,a.get?a:{enumerable:!0,get:()=>i[o]})}}}return Object.freeze(Object.defineProperty(u,Symbol.toStringTag,{value:"Module"}))}var c={exports:{}};(function(u,f){(function(n){n(k.exports)})(function(n){var i=["From","Sender","Reply-To","To","Cc","Bcc","Message-ID","In-Reply-To","References","Resent-From","Resent-Sender","Resent-To","Resent-Cc","Resent-Bcc","Resent-Message-ID","Return-Path","Received"],o=["Date","Subject","Comments","Keywords","Resent-Date"];n.registerHelper("hintWords","mbox",i.concat(o));var a=/^[ \t]/,p=/^From /,m=new RegExp("^("+i.join("|")+"): "),s=new RegExp("^("+o.join("|")+"): "),v=/^[^:]+:/,b=/^[^ ]+@[^ ]+/,H=/^.*?(?=[^ ]+?@[^ ]+)/,h=/^<.*?>/,x=/^.*?(?=<.*>)/;function g(e){return e==="Subject"?"header":"string"}function R(e,r){if(e.sol()){if(r.inSeparator=!1,r.inHeader&&e.match(a))return null;if(r.inHeader=!1,r.header=null,e.match(p))return r.inHeaders=!0,r.inSeparator=!0,"atom";var t,d=!1;return(t=e.match(s))||(d=!0)&&(t=e.match(m))?(r.inHeaders=!0,r.inHeader=!0,r.emailPermitted=d,r.header=t[1],"atom"):r.inHeaders&&(t=e.match(v))?(r.inHeader=!0,r.emailPermitted=!0,r.header=t[1],"atom"):(r.inHeaders=!1,e.skipToEnd(),null)}if(r.inSeparator)return e.match(b)?"link":(e.match(H)||e.skipToEnd(),"atom");if(r.inHeader){var l=g(r.header);if(r.emailPermitted){if(e.match(h))return l+" link";if(e.match(x))return l}return e.skipToEnd(),l}return e.skipToEnd(),null}n.defineMode("mbox",function(){return{startState:function(){return{inSeparator:!1,inHeader:!1,emailPermitted:!1,header:null,inHeaders:!1}},token:R,blankLine:function(e){e.inHeaders=e.inSeparator=e.inHeader=!1}}}),n.defineMIME("application/mbox","mbox")})})();const S=c.exports,T=E({__proto__:null,default:S},[c.exports]);export{T as m};
@@ -1,4 +1,4 @@
1
- import{a as o,o as l,b as r,w as i,l as s,E as e}from"./runtime-core.esm-bundler.fe249c5c.js";const c=s("div",{class:"markdown-body"},[s("blockquote",null,[s("p",null,[e("Directus allows adding custom migration files that run whenever the "),s("code",null,"directus database migrate:*"),e(" commands are executed. All migrations must reside in the "),s("code",null,"extensions/migrations"),e(" folder.")])]),s("h2",{id:"file-name",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#file-name"},"#"),e(" File Name")]),s("p",null,"The file name follows the following structure:"),s("pre",null,[s("code",null,`[identifier]-[name].js
1
+ import{a as o,o as l,e as r,y as i,u as s,q as e}from"./runtime-core.esm-bundler.22ec0346.js";const c=s("div",{class:"markdown-body"},[s("blockquote",null,[s("p",null,[e("Directus allows adding custom migration files that run whenever the "),s("code",null,"directus database migrate:*"),e(" commands are executed. All migrations must reside in the "),s("code",null,"extensions/migrations"),e(" folder.")])]),s("h2",{id:"file-name",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#file-name"},"#"),e(" File Name")]),s("p",null,"The file name follows the following structure:"),s("pre",null,[s("code",null,`[identifier]-[name].js
2
2
  `)]),s("p",null,"for example:"),s("pre",null,[s("code",null,`20201202A-my-custom-migration.js
3
3
  `)]),s("h2",{id:"structure",tabindex:"-1"},[s("a",{class:"header-anchor",href:"#structure"},"#"),e(" Structure")]),s("p",null,[e("Migrations have to export an "),s("code",null,"up"),e(" and a "),s("code",null,"down"),e(" function. These functions get a "),s("a",{href:"http://knexjs.org",target:"_blank",rel:"noopener noreferrer"},"Knex"),e(" instance that can be used to do virtually whatever.")]),s("pre",null,[s("code",{class:"language-js"},[s("span",{class:"hljs-variable language_"},"module"),e("."),s("span",{class:"hljs-property"},"exports"),e(` = {
4
4
  `),s("span",{class:"hljs-keyword"},"async"),e(),s("span",{class:"hljs-title function_"},"up"),e("("),s("span",{class:"hljs-params"},"knex"),e(`) {
@@ -0,0 +1 @@
1
+ import{y as h}from"./index.312f2c91.entry.js";function g(s,l){for(var n=0;n<l.length;n++){const t=l[n];if(typeof t!="string"&&!Array.isArray(t)){for(const o in t)if(o!=="default"&&!(o in s)){const a=Object.getOwnPropertyDescriptor(t,o);a&&Object.defineProperty(s,o,a.get?a:{enumerable:!0,get:()=>t[o]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}var u={exports:{}};(function(s,l){(function(n){n(h.exports)})(function(n){n.defineMIME("text/mirc","mirc"),n.defineMode("mirc",function(){function t(e){for(var r={},$=e.split(" "),i=0;i<$.length;++i)r[$[i]]=!0;return r}var o=t("$! $$ $& $? $+ $abook $abs $active $activecid $activewid $address $addtok $agent $agentname $agentstat $agentver $alias $and $anick $ansi2mirc $aop $appactive $appstate $asc $asctime $asin $atan $avoice $away $awaymsg $awaytime $banmask $base $bfind $binoff $biton $bnick $bvar $bytes $calc $cb $cd $ceil $chan $chanmodes $chantypes $chat $chr $cid $clevel $click $cmdbox $cmdline $cnick $color $com $comcall $comchan $comerr $compact $compress $comval $cos $count $cr $crc $creq $crlf $ctime $ctimer $ctrlenter $date $day $daylight $dbuh $dbuw $dccignore $dccport $dde $ddename $debug $decode $decompress $deltok $devent $dialog $did $didreg $didtok $didwm $disk $dlevel $dll $dllcall $dname $dns $duration $ebeeps $editbox $emailaddr $encode $error $eval $event $exist $feof $ferr $fgetc $file $filename $filtered $finddir $finddirn $findfile $findfilen $findtok $fline $floor $fopen $fread $fserve $fulladdress $fulldate $fullname $fullscreen $get $getdir $getdot $gettok $gmt $group $halted $hash $height $hfind $hget $highlight $hnick $hotline $hotlinepos $ial $ialchan $ibl $idle $iel $ifmatch $ignore $iif $iil $inelipse $ini $inmidi $inpaste $inpoly $input $inrect $inroundrect $insong $instok $int $inwave $ip $isalias $isbit $isdde $isdir $isfile $isid $islower $istok $isupper $keychar $keyrpt $keyval $knick $lactive $lactivecid $lactivewid $left $len $level $lf $line $lines $link $lock $lock $locked $log $logstamp $logstampfmt $longfn $longip $lower $ltimer $maddress $mask $matchkey $matchtok $md5 $me $menu $menubar $menucontext $menutype $mid $middir $mircdir $mircexe $mircini $mklogfn $mnick $mode $modefirst $modelast $modespl $mouse $msfile $network $newnick $nick $nofile $nopath $noqt $not $notags $notify $null $numeric $numok $oline $onpoly $opnick $or $ord $os $passivedcc $pic $play $pnick $port $portable $portfree $pos $prefix $prop $protect $puttok $qt $query $rand $r $rawmsg $read $readomo $readn $regex $regml $regsub $regsubex $remove $remtok $replace $replacex $reptok $result $rgb $right $round $scid $scon $script $scriptdir $scriptline $sdir $send $server $serverip $sfile $sha1 $shortfn $show $signal $sin $site $sline $snick $snicks $snotify $sock $sockbr $sockerr $sockname $sorttok $sound $sqrt $ssl $sreq $sslready $status $strip $str $stripped $syle $submenu $switchbar $tan $target $ticks $time $timer $timestamp $timestampfmt $timezone $tip $titlebar $toolbar $treebar $trust $ulevel $ulist $upper $uptime $url $usermode $v1 $v2 $var $vcmd $vcmdstat $vcmdver $version $vnick $vol $wid $width $wildsite $wildtok $window $wrap $xor"),a=t("abook ajinvite alias aline ame amsg anick aop auser autojoin avoice away background ban bcopy beep bread break breplace bset btrunc bunset bwrite channel clear clearall cline clipboard close cnick color comclose comopen comreg continue copy creq ctcpreply ctcps dcc dccserver dde ddeserver debug dec describe dialog did didtok disable disconnect dlevel dline dll dns dqwindow drawcopy drawdot drawfill drawline drawpic drawrect drawreplace drawrot drawsave drawscroll drawtext ebeeps echo editbox emailaddr enable events exit fclose filter findtext finger firewall flash flist flood flush flushini font fopen fseek fsend fserve fullname fwrite ghide gload gmove gopts goto gplay gpoint gqreq groups gshow gsize gstop gtalk gunload hadd halt haltdef hdec hdel help hfree hinc hload hmake hop hsave ial ialclear ialmark identd if ignore iline inc invite iuser join kick linesep links list load loadbuf localinfo log mdi me menubar mkdir mnick mode msg nick noop notice notify omsg onotice part partall pdcc perform play playctrl pop protect pvoice qme qmsg query queryn quit raw reload remini remote remove rename renwin reseterror resetidle return rlevel rline rmdir run ruser save savebuf saveini say scid scon server set showmirc signam sline sockaccept sockclose socklist socklisten sockmark sockopen sockpause sockread sockrename sockudp sockwrite sound speak splay sreq strip switchbar timer timestamp titlebar tnick tokenize toolbar topic tray treebar ulist unload unset unsetall updatenl url uwho var vcadd vcmd vcrem vol while whois window winhelp write writeint if isalnum isalpha isaop isavoice isban ischan ishop isignore isin isincs isletter islower isnotify isnum ison isop isprotect isreg isupper isvoice iswm iswmcs elseif else goto menu nicklist status title icon size option text edit button check radio box scroll list combo link tab item"),d=t("if elseif else and not or eq ne in ni for foreach while switch"),m=/[+\-*&%=<>!?^\/\|]/;function p(e,r,$){return r.tokenize=$,$(e,r)}function c(e,r){var $=r.beforeParams;r.beforeParams=!1;var i=e.next();if(/[\[\]{}\(\),\.]/.test(i))return i=="("&&$?r.inParams=!0:i==")"&&(r.inParams=!1),null;if(/\d/.test(i))return e.eatWhile(/[\w\.]/),"number";if(i=="\\")return e.eat("\\"),e.eat(/./),"number";if(i=="/"&&e.eat("*"))return p(e,r,k);if(i==";"&&e.match(/ *\( *\(/))return p(e,r,b);if(i==";"&&!r.inParams)return e.skipToEnd(),"comment";if(i=='"')return e.eat(/"/),"keyword";if(i=="$")return e.eatWhile(/[$_a-z0-9A-Z\.:]/),o&&o.propertyIsEnumerable(e.current().toLowerCase())?"keyword":(r.beforeParams=!0,"builtin");if(i=="%")return e.eatWhile(/[^,\s()]/),r.beforeParams=!0,"string";if(m.test(i))return e.eatWhile(m),"operator";e.eatWhile(/[\w\$_{}]/);var f=e.current().toLowerCase();return a&&a.propertyIsEnumerable(f)?"keyword":d&&d.propertyIsEnumerable(f)?(r.beforeParams=!0,"keyword"):null}function k(e,r){for(var $=!1,i;i=e.next();){if(i=="/"&&$){r.tokenize=c;break}$=i=="*"}return"comment"}function b(e,r){for(var $=0,i;i=e.next();){if(i==";"&&$==2){r.tokenize=c;break}i==")"?$++:i!=" "&&($=0)}return"meta"}return{startState:function(){return{tokenize:c,beforeParams:!1,inParams:!1}},token:function(e,r){return e.eatSpace()?null:r.tokenize(e,r)}}})})})();const v=u.exports,y=g({__proto__:null,default:v},[u.exports]);export{y as m};
@@ -0,0 +1 @@
1
+ import{y as x}from"./index.312f2c91.entry.js";function g(k,u){for(var t=0;t<u.length;t++){const l=u[t];if(typeof l!="string"&&!Array.isArray(l)){for(const i in l)if(i!=="default"&&!(i in k)){const d=Object.getOwnPropertyDescriptor(l,i);d&&Object.defineProperty(k,i,d.get?d:{enumerable:!0,get:()=>l[i]})}}}return Object.freeze(Object.defineProperty(k,Symbol.toStringTag,{value:"Module"}))}var s={exports:{}};(function(k,u){(function(t){t(x.exports)})(function(t){t.defineMode("mllike",function(l,i){var d={as:"keyword",do:"keyword",else:"keyword",end:"keyword",exception:"keyword",fun:"keyword",functor:"keyword",if:"keyword",in:"keyword",include:"keyword",let:"keyword",of:"keyword",open:"keyword",rec:"keyword",struct:"keyword",then:"keyword",type:"keyword",val:"keyword",while:"keyword",with:"keyword"},f=i.extraWords||{};for(var a in f)f.hasOwnProperty(a)&&(d[a]=i.extraWords[a]);var c=[];for(var b in d)c.push(b);t.registerHelper("hintWords","mllike",c);function y(e,r){var o=e.next();if(o==='"')return r.tokenize=m,r.tokenize(e,r);if(o==="{"&&e.eat("|"))return r.longString=!0,r.tokenize=h,r.tokenize(e,r);if(o==="("&&e.eat("*"))return r.commentLevel++,r.tokenize=p,r.tokenize(e,r);if(o==="~"||o==="?")return e.eatWhile(/\w/),"variable-2";if(o==="`")return e.eatWhile(/\w/),"quote";if(o==="/"&&i.slashComments&&e.eat("/"))return e.skipToEnd(),"comment";if(/\d/.test(o))return o==="0"&&e.eat(/[bB]/)&&e.eatWhile(/[01]/),o==="0"&&e.eat(/[xX]/)&&e.eatWhile(/[0-9a-fA-F]/),o==="0"&&e.eat(/[oO]/)?e.eatWhile(/[0-7]/):(e.eatWhile(/[\d_]/),e.eat(".")&&e.eatWhile(/[\d]/),e.eat(/[eE]/)&&e.eatWhile(/[\d\-+]/)),"number";if(/[+\-*&%=<>!?|@\.~:]/.test(o))return"operator";if(/[\w\xa1-\uffff]/.test(o)){e.eatWhile(/[\w\xa1-\uffff]/);var n=e.current();return d.hasOwnProperty(n)?d[n]:"variable"}return null}function m(e,r){for(var o,n=!1,w=!1;(o=e.next())!=null;){if(o==='"'&&!w){n=!0;break}w=!w&&o==="\\"}return n&&!w&&(r.tokenize=y),"string"}function p(e,r){for(var o,n;r.commentLevel>0&&(n=e.next())!=null;)o==="("&&n==="*"&&r.commentLevel++,o==="*"&&n===")"&&r.commentLevel--,o=n;return r.commentLevel<=0&&(r.tokenize=y),"comment"}function h(e,r){for(var o,n;r.longString&&(n=e.next())!=null;)o==="|"&&n==="}"&&(r.longString=!1),o=n;return r.longString||(r.tokenize=y),"string"}return{startState:function(){return{tokenize:y,commentLevel:0,longString:!1}},token:function(e,r){return e.eatSpace()?null:r.tokenize(e,r)},blockCommentStart:"(*",blockCommentEnd:"*)",lineComment:i.slashComments?"//":null}}),t.defineMIME("text/x-ocaml",{name:"mllike",extraWords:{and:"keyword",assert:"keyword",begin:"keyword",class:"keyword",constraint:"keyword",done:"keyword",downto:"keyword",external:"keyword",function:"keyword",initializer:"keyword",lazy:"keyword",match:"keyword",method:"keyword",module:"keyword",mutable:"keyword",new:"keyword",nonrec:"keyword",object:"keyword",private:"keyword",sig:"keyword",to:"keyword",try:"keyword",value:"keyword",virtual:"keyword",when:"keyword",raise:"builtin",failwith:"builtin",true:"builtin",false:"builtin",asr:"builtin",land:"builtin",lor:"builtin",lsl:"builtin",lsr:"builtin",lxor:"builtin",mod:"builtin",or:"builtin",raise_notrace:"builtin",trace:"builtin",exit:"builtin",print_string:"builtin",print_endline:"builtin",int:"type",float:"type",bool:"type",char:"type",string:"type",unit:"type",List:"builtin"}}),t.defineMIME("text/x-fsharp",{name:"mllike",extraWords:{abstract:"keyword",assert:"keyword",base:"keyword",begin:"keyword",class:"keyword",default:"keyword",delegate:"keyword","do!":"keyword",done:"keyword",downcast:"keyword",downto:"keyword",elif:"keyword",extern:"keyword",finally:"keyword",for:"keyword",function:"keyword",global:"keyword",inherit:"keyword",inline:"keyword",interface:"keyword",internal:"keyword",lazy:"keyword","let!":"keyword",match:"keyword",member:"keyword",module:"keyword",mutable:"keyword",namespace:"keyword",new:"keyword",null:"keyword",override:"keyword",private:"keyword",public:"keyword","return!":"keyword",return:"keyword",select:"keyword",static:"keyword",to:"keyword",try:"keyword",upcast:"keyword","use!":"keyword",use:"keyword",void:"keyword",when:"keyword","yield!":"keyword",yield:"keyword",atomic:"keyword",break:"keyword",checked:"keyword",component:"keyword",const:"keyword",constraint:"keyword",constructor:"keyword",continue:"keyword",eager:"keyword",event:"keyword",external:"keyword",fixed:"keyword",method:"keyword",mixin:"keyword",object:"keyword",parallel:"keyword",process:"keyword",protected:"keyword",pure:"keyword",sealed:"keyword",tailcall:"keyword",trait:"keyword",virtual:"keyword",volatile:"keyword",List:"builtin",Seq:"builtin",Map:"builtin",Set:"builtin",Option:"builtin",int:"builtin",string:"builtin",not:"builtin",true:"builtin",false:"builtin",raise:"builtin",failwith:"builtin"},slashComments:!0}),t.defineMIME("text/x-sml",{name:"mllike",extraWords:{abstype:"keyword",and:"keyword",andalso:"keyword",case:"keyword",datatype:"keyword",fn:"keyword",handle:"keyword",infix:"keyword",infixr:"keyword",local:"keyword",nonfix:"keyword",op:"keyword",orelse:"keyword",raise:"keyword",withtype:"keyword",eqtype:"keyword",sharing:"keyword",sig:"keyword",signature:"keyword",structure:"keyword",where:"keyword",true:"keyword",false:"keyword",int:"builtin",real:"builtin",string:"builtin",char:"builtin",bool:"builtin"},slashComments:!0})})})();const v=s.exports,z=g({__proto__:null,default:v},[s.exports]);export{z as m};
@@ -0,0 +1 @@
1
+ import{y as D}from"./index.312f2c91.entry.js";function P(h,b){for(var r=0;r<b.length;r++){const l=b[r];if(typeof l!="string"&&!Array.isArray(l)){for(const c in l)if(c!=="default"&&!(c in h)){const d=Object.getOwnPropertyDescriptor(l,c);d&&Object.defineProperty(h,c,d.get?d:{enumerable:!0,get:()=>l[c]})}}}return Object.freeze(Object.defineProperty(h,Symbol.toStringTag,{value:"Module"}))}var y={exports:{}};(function(h,b){(function(r){r(D.exports)})(function(r){r.defineMode("modelica",function(o,t){var u=o.indentUnit,a=t.keywords||{},p=t.builtin||{},k=t.atoms||{},v=/[;=\(:\),{}.*<>+\-\/^\[\]]/,w=/(:=|<=|>=|==|<>|\.\+|\.\-|\.\*|\.\/|\.\^)/,s=/[0-9]/,g=/[_a-zA-Z]/;function x(n,e){return n.skipToEnd(),e.tokenize=null,"comment"}function S(n,e){for(var i=!1,f;f=n.next();){if(i&&f=="/"){e.tokenize=null;break}i=f=="*"}return"comment"}function E(n,e){for(var i=!1,f;(f=n.next())!=null;){if(f=='"'&&!i){e.tokenize=null,e.sol=!1;break}i=!i&&f=="\\"}return"string"}function I(n,e){for(n.eatWhile(s);n.eat(s)||n.eat(g););var i=n.current();return e.sol&&(i=="package"||i=="model"||i=="when"||i=="connector")?e.level++:e.sol&&i=="end"&&e.level>0&&e.level--,e.tokenize=null,e.sol=!1,a.propertyIsEnumerable(i)?"keyword":p.propertyIsEnumerable(i)?"builtin":k.propertyIsEnumerable(i)?"atom":"variable"}function O(n,e){for(;n.eat(/[^']/););return e.tokenize=null,e.sol=!1,n.eat("'")?"variable":"error"}function _(n,e){return n.eatWhile(s),n.eat(".")&&n.eatWhile(s),(n.eat("e")||n.eat("E"))&&(n.eat("-")||n.eat("+"),n.eatWhile(s)),e.tokenize=null,e.sol=!1,"number"}return{startState:function(){return{tokenize:null,level:0,sol:!0}},token:function(n,e){if(e.tokenize!=null)return e.tokenize(n,e);if(n.sol()&&(e.sol=!0),n.eatSpace())return e.tokenize=null,null;var i=n.next();if(i=="/"&&n.eat("/"))e.tokenize=x;else if(i=="/"&&n.eat("*"))e.tokenize=S;else{if(w.test(i+n.peek()))return n.next(),e.tokenize=null,"operator";if(v.test(i))return e.tokenize=null,"operator";if(g.test(i))e.tokenize=I;else if(i=="'"&&n.peek()&&n.peek()!="'")e.tokenize=O;else if(i=='"')e.tokenize=E;else if(s.test(i))e.tokenize=_;else return e.tokenize=null,"error"}return e.tokenize(n,e)},indent:function(n,e){if(n.tokenize!=null)return r.Pass;var i=n.level;return/(algorithm)/.test(e)&&i--,/(equation)/.test(e)&&i--,/(initial algorithm)/.test(e)&&i--,/(initial equation)/.test(e)&&i--,/(end)/.test(e)&&i--,i>0?u*i:0},blockCommentStart:"/*",blockCommentEnd:"*/",lineComment:"//"}});function l(o){for(var t={},u=o.split(" "),a=0;a<u.length;++a)t[u[a]]=!0;return t}var c="algorithm and annotation assert block break class connect connector constant constrainedby der discrete each else elseif elsewhen encapsulated end enumeration equation expandable extends external false final flow for function if import impure in initial inner input loop model not operator or outer output package parameter partial protected public pure record redeclare replaceable return stream then true type when while within",d="abs acos actualStream asin atan atan2 cardinality ceil cos cosh delay div edge exp floor getInstanceName homotopy inStream integer log log10 mod pre reinit rem semiLinear sign sin sinh spatialDistribution sqrt tan tanh",m="Real Boolean Integer String";function z(o,t){typeof o=="string"&&(o=[o]);var u=[];function a(k){if(k)for(var v in k)k.hasOwnProperty(v)&&u.push(v)}a(t.keywords),a(t.builtin),a(t.atoms),u.length&&(t.helperType=o[0],r.registerHelper("hintWords",o[0],u));for(var p=0;p<o.length;++p)r.defineMIME(o[p],t)}z(["text/x-modelica"],{name:"modelica",keywords:l(c),builtin:l(d),atoms:l(m)})})})();const W=y.exports,N=P({__proto__:null,default:W},[y.exports]);export{N as m};
@@ -1,4 +1,4 @@
1
- import{a as l,o as c,b as u,w as o,l as e,E as t,e as a}from"./runtime-core.esm-bundler.fe249c5c.js";const d={class:"markdown-body"},h=e("h2",{id:"extension-entrypoint",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#extension-entrypoint"},"#"),t(" Extension Entrypoint")],-1),p=e("p",null,[t("The entrypoint of your module is the "),e("code",null,"index"),t(" file inside the "),e("code",null,"src/"),t(" folder of your extension package. It exports a configuration object with options to configure the behavior of your module. When loading your module, this object is imported by the Directus host.")],-1),m=e("p",null,"Example of an entrypoint:",-1),_=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(),e("span",{class:"hljs-title class_"},"ModuleComponent"),t(),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'./module.vue'"),t(`;
1
+ import{a as l,o as c,e as u,y as o,u as e,q as t,z as a}from"./runtime-core.esm-bundler.22ec0346.js";const d={class:"markdown-body"},h=e("h2",{id:"extension-entrypoint",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#extension-entrypoint"},"#"),t(" Extension Entrypoint")],-1),p=e("p",null,[t("The entrypoint of your module is the "),e("code",null,"index"),t(" file inside the "),e("code",null,"src/"),t(" folder of your extension package. It exports a configuration object with options to configure the behavior of your module. When loading your module, this object is imported by the Directus host.")],-1),m=e("p",null,"Example of an entrypoint:",-1),_=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(),e("span",{class:"hljs-title class_"},"ModuleComponent"),t(),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'./module.vue'"),t(`;
2
2
 
3
3
  `),e("span",{class:"hljs-keyword"},"export"),t(),e("span",{class:"hljs-keyword"},"default"),t(` {
4
4
  `),e("span",{class:"hljs-attr"},"id"),t(": "),e("span",{class:"hljs-string"},"'custom'"),t(`,
@@ -18,7 +18,7 @@ import{a as l,o as c,b as u,w as o,l as e,E as t,e as a}from"./runtime-core.esm-
18
18
  <script>
19
19
  export default {};
20
20
  <\/script>
21
- `)],-1),E=e("p",null,[t("A route component provides a blank canvas for creating anything you need. You can use the globally registered "),e("code",null,"private-view"),t(" component to get access to Directus\u2019 page structure consisting of the module bar, the navigation, the sidebar, the header and the main content area.")],-1),B=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Enable the Module"),e("p",null,"Before a module appears in the module bar, it has to be enabled inside the project settings.")],-1),R=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Vue Version"),e("p",null,"The Directus App uses Vue 3. There might be 3rd party libraries that aren\u2019t yet compatible with Vue 3.")],-1),P=e("h2",{id:"accessing-internal-systems",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#accessing-internal-systems"},"#"),t(" Accessing Internal Systems")],-1),q=e("p",null,[t("To access internal systems like the API or the stores, you can use the "),e("code",null,"useApi()"),t(" and "),e("code",null,"useStores()"),t(" composables exported by the "),e("code",null,"@directus/extensions-sdk"),t(" package. They can be used inside a "),e("code",null,"setup()"),t(" function like this:")],-1),L=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(" { useApi, useStores } "),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'@directus/extensions-sdk'"),t(`;
21
+ `)],-1),E=e("p",null,[t("A route component provides a blank canvas for creating anything you need. You can use the globally registered "),e("code",null,"private-view"),t(" component to get access to Directus\u2019 page structure consisting of the module bar, the navigation, the sidebar, the header and the main content area.")],-1),B=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Enable the Module"),e("p",null,"Before a module appears in the module bar, it has to be enabled inside the project settings.")],-1),R=e("div",{class:"warning hint"},[e("div",{class:"hint-title"},"Vue Version"),e("p",null,"The Directus App uses Vue 3. There might be 3rd party libraries that aren\u2019t yet compatible with Vue 3.")],-1),q=e("h2",{id:"accessing-internal-systems",tabindex:"-1"},[e("a",{class:"header-anchor",href:"#accessing-internal-systems"},"#"),t(" Accessing Internal Systems")],-1),P=e("p",null,[t("To access internal systems like the API or the stores, you can use the "),e("code",null,"useApi()"),t(" and "),e("code",null,"useStores()"),t(" composables exported by the "),e("code",null,"@directus/extensions-sdk"),t(" package. They can be used inside a "),e("code",null,"setup()"),t(" function like this:")],-1),L=e("pre",null,[e("code",{class:"language-js"},[e("span",{class:"hljs-keyword"},"import"),t(" { useApi, useStores } "),e("span",{class:"hljs-keyword"},"from"),t(),e("span",{class:"hljs-string"},"'@directus/extensions-sdk'"),t(`;
22
22
 
23
23
  `),e("span",{class:"hljs-keyword"},"export"),t(),e("span",{class:"hljs-keyword"},"default"),t(` {
24
24
  `),e("span",{class:"hljs-title function_"},"setup"),t("("),e("span",{class:"hljs-params"}),t(`) {
@@ -66,4 +66,4 @@ export default {
66
66
  },
67
67
  };
68
68
  <\/script>
69
- `)],-1),G=e("p",null,"In the above example, you can see that:",-1),H=e("ul",null,[e("li",null,[t("The "),e("code",null,"api"),t(" field gets injected into the component and becomes available as an attribute of the component (i.e., "),e("code",null,"this.api"),t(")")]),e("li",null,[t("When the component is mounted, it uses "),e("code",null,"this.api.get"),t(" to request a list of all available collections")]),e("li",null,"The names of the collections are rendered into a list in the component\u2019s template"),e("li",null,"a button is added with a method that logs all the data for the collections to the console")],-1),Y=e("p",null,[t("This is just a basic example. A more efficient way to access and work with the list of collections would be to get an instance of the "),e("code",null,"collectionsStore"),t(" using the provided "),e("code",null,"stores"),t(" and accessing "),e("code",null,"stores.useCollectionsStore()"),t(", but that\u2019s beyond the scope of this guide.")],-1),U="Custom Modules",X=!0,Z="A guide on how to build custom Modules in Directus.",$="5 min read",ee={__name:"modules",setup(z,{expose:i}){const s={title:"Custom Modules",modularExtension:!0,description:"A guide on how to build custom Modules in Directus.",readTime:"5 min read"};return i({frontmatter:s}),(J,K)=>{const n=l("router-link"),r=l("docs-wrapper");return c(),u(r,{frontmatter:s},{default:o(()=>[e("div",d,[e("blockquote",null,[e("p",null,[t("Custom Modules are completely open-ended components that allow you to create new experiences within the Directus platform. "),a(n,{to:"/docs/getting-started/glossary#modules"},{default:o(()=>[t("Learn more about Modules")]),_:1}),t(".")])]),h,p,m,_,f,e("ul",null,[g,y,e("li",null,[b,t(" \u2014 An icon name from the "),a(n,{to:"/docs/getting-started/glossary#material-icons"},{default:o(()=>[t("material icon set")]),_:1}),t(", or the extended list of Directus custom icons.")]),w,v,j,x]),k,A,T,C,V,I,M,S,D,E,B,R,P,q,L,N,O,W,F,G,H,Y])]),_:1})}}};export{ee as default,Z as description,X as modularExtension,$ as readTime,U as title};
69
+ `)],-1),z=e("p",null,"In the above example, you can see that:",-1),G=e("ul",null,[e("li",null,[t("The "),e("code",null,"api"),t(" field gets injected into the component and becomes available as an attribute of the component (i.e., "),e("code",null,"this.api"),t(")")]),e("li",null,[t("When the component is mounted, it uses "),e("code",null,"this.api.get"),t(" to request a list of all available collections")]),e("li",null,"The names of the collections are rendered into a list in the component\u2019s template"),e("li",null,"a button is added with a method that logs all the data for the collections to the console")],-1),H=e("p",null,[t("This is just a basic example. A more efficient way to access and work with the list of collections would be to get an instance of the "),e("code",null,"collectionsStore"),t(" using the provided "),e("code",null,"stores"),t(" and accessing "),e("code",null,"stores.useCollectionsStore()"),t(", but that\u2019s beyond the scope of this guide.")],-1),U="Custom Modules",X=!0,Z="A guide on how to build custom Modules in Directus.",$="5 min read",ee={__name:"modules",setup(Y,{expose:i}){const s={title:"Custom Modules",modularExtension:!0,description:"A guide on how to build custom Modules in Directus.",readTime:"5 min read"};return i({frontmatter:s}),(J,K)=>{const n=l("router-link"),r=l("docs-wrapper");return c(),u(r,{frontmatter:s},{default:o(()=>[e("div",d,[e("blockquote",null,[e("p",null,[t("Custom Modules are completely open-ended components that allow you to create new experiences within the Directus platform. "),a(n,{to:"/docs/getting-started/glossary#modules"},{default:o(()=>[t("Learn more about Modules")]),_:1}),t(".")])]),h,p,m,_,f,e("ul",null,[g,y,e("li",null,[b,t(" \u2014 An icon name from the "),a(n,{to:"/docs/getting-started/glossary#material-icons"},{default:o(()=>[t("material icon set")]),_:1}),t(", or the extended list of Directus custom icons.")]),w,v,j,x]),k,A,T,C,V,I,M,S,D,E,B,R,q,P,L,N,O,W,F,z,G,H])]),_:1})}}};export{ee as default,Z as description,X as modularExtension,$ as readTime,U as title};
@@ -0,0 +1 @@
1
+ import{y as x}from"./index.312f2c91.entry.js";function d(s,a){for(var r=0;r<a.length;r++){const i=a[r];if(typeof i!="string"&&!Array.isArray(i)){for(const n in i)if(n!=="default"&&!(n in s)){const c=Object.getOwnPropertyDescriptor(i,n);c&&Object.defineProperty(s,n,c.get?c:{enumerable:!0,get:()=>i[n]})}}}return Object.freeze(Object.defineProperty(s,Symbol.toStringTag,{value:"Module"}))}var u={exports:{}};(function(s,a){(function(r){r(x.exports)})(function(r){var i={mscgen:{keywords:["msc"],options:["hscale","width","arcgradient","wordwraparcs"],constants:["true","false","on","off"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},xu:{keywords:["msc","xu"],options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:["label","idurl","id","url","linecolor","linecolour","textcolor","textcolour","textbgcolor","textbgcolour","arclinecolor","arclinecolour","arctextcolor","arctextcolour","arctextbgcolor","arctextbgcolour","arcskip","title","deactivate","activate","activation"],brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]},msgenny:{keywords:null,options:["hscale","width","arcgradient","wordwraparcs","wordwrapentities","watermark"],constants:["true","false","on","off","auto"],attributes:null,brackets:["\\{","\\}"],arcsWords:["note","abox","rbox","box","alt","else","opt","break","par","seq","strict","neg","critical","ignore","consider","assert","loop","ref","exc"],arcsOthers:["\\|\\|\\|","\\.\\.\\.","---","--","<->","==","<<=>>","<=>","\\.\\.","<<>>","::","<:>","->","=>>","=>",">>",":>","<-","<<=","<=","<<","<:","x-","-x"],singlecomment:["//","#"],operators:["="]}};r.defineMode("mscgen",function(t,e){var o=i[e&&e.language||"mscgen"];return{startState:l,copyState:m,token:b(o),lineComment:"#",blockCommentStart:"/*",blockCommentEnd:"*/"}}),r.defineMIME("text/x-mscgen","mscgen"),r.defineMIME("text/x-xu",{name:"mscgen",language:"xu"}),r.defineMIME("text/x-msgenny",{name:"mscgen",language:"msgenny"});function n(t){return new RegExp("^\\b(?:"+t.join("|")+")\\b","i")}function c(t){return new RegExp("^(?:"+t.join("|")+")","i")}function l(){return{inComment:!1,inString:!1,inAttributeList:!1,inScript:!1}}function m(t){return{inComment:t.inComment,inString:t.inString,inAttributeList:t.inAttributeList,inScript:t.inScript}}function b(t){return function(e,o){if(e.match(c(t.brackets),!0,!0))return"bracket";if(!o.inComment){if(e.match(/\/\*[^\*\/]*/,!0,!0))return o.inComment=!0,"comment";if(e.match(c(t.singlecomment),!0,!0))return e.skipToEnd(),"comment"}if(o.inComment)return e.match(/[^\*\/]*\*\//,!0,!0)?o.inComment=!1:e.skipToEnd(),"comment";if(!o.inString&&e.match(/\"(\\\"|[^\"])*/,!0,!0))return o.inString=!0,"string";if(o.inString)return e.match(/[^\"]*\"/,!0,!0)?o.inString=!1:e.skipToEnd(),"string";if(!!t.keywords&&e.match(n(t.keywords),!0,!0)||e.match(n(t.options),!0,!0)||e.match(n(t.arcsWords),!0,!0)||e.match(c(t.arcsOthers),!0,!0))return"keyword";if(!!t.operators&&e.match(c(t.operators),!0,!0))return"operator";if(!!t.constants&&e.match(c(t.constants),!0,!0))return"variable";if(!t.inAttributeList&&!!t.attributes&&e.match("[",!0,!0))return t.inAttributeList=!0,"bracket";if(t.inAttributeList){if(t.attributes!==null&&e.match(n(t.attributes),!0,!0))return"attribute";if(e.match("]",!0,!0))return t.inAttributeList=!1,"bracket"}return e.next(),"base"}}})})();const f=u.exports,k=d({__proto__:null,default:f},[u.exports]);export{k as m};
@@ -0,0 +1,3 @@
1
+ import{y as m}from"./index.312f2c91.entry.js";var g={exports:{}},S;function L(){return S||(S=1,function(s,D){(function(c){c(m.exports)})(function(c){c.multiplexingMode=function(o){var A=Array.prototype.slice.call(arguments,1);function y(i,n,l,e){if(typeof n=="string"){var p=i.indexOf(n,l);return e&&p>-1?p+n.length:p}var v=n.exec(l?i.slice(l):i);return v?v.index+l+(e?v[0].length:0):-1}return{startState:function(){return{outer:c.startState(o),innerActive:null,inner:null,startingInner:!1}},copyState:function(i){return{outer:c.copyState(o,i.outer),innerActive:i.innerActive,inner:i.innerActive&&c.copyState(i.innerActive.mode,i.inner),startingInner:i.startingInner}},token:function(i,n){if(n.innerActive){var r=n.innerActive,e=i.string;if(!r.close&&i.sol())return n.innerActive=n.inner=null,this.token(i,n);var f=r.close&&!n.startingInner?y(e,r.close,i.pos,r.parseDelimiters):-1;if(f==i.pos&&!r.parseDelimiters)return i.match(r.close),n.innerActive=n.inner=null,r.delimStyle&&r.delimStyle+" "+r.delimStyle+"-close";f>-1&&(i.string=e.slice(0,f));var t=r.mode.token(i,n.inner);return f>-1?i.string=e:i.pos>i.start&&(n.startingInner=!1),f==i.pos&&r.parseDelimiters&&(n.innerActive=n.inner=null),r.innerStyle&&(t?t=t+" "+r.innerStyle:t=r.innerStyle),t}else{for(var l=1/0,e=i.string,p=0;p<A.length;++p){var v=A[p],f=y(e,v.open,i.pos);if(f==i.pos){v.parseDelimiters||i.match(v.open),n.startingInner=!!v.parseDelimiters,n.innerActive=v;var u=0;if(o.indent){var d=o.indent(n.outer,"","");d!==c.Pass&&(u=d)}return n.inner=c.startState(v.mode,u),v.delimStyle&&v.delimStyle+" "+v.delimStyle+"-open"}else f!=-1&&f<l&&(l=f)}l!=1/0&&(i.string=e.slice(0,l));var x=o.token(i,n.outer);return l!=1/0&&(i.string=e),x}},indent:function(i,n,l){var e=i.innerActive?i.innerActive.mode:o;return e.indent?e.indent(i.innerActive?i.inner:i.outer,n,l):c.Pass},blankLine:function(i){var n=i.innerActive?i.innerActive.mode:o;if(n.blankLine&&n.blankLine(i.innerActive?i.inner:i.outer),i.innerActive)i.innerActive.close===`
2
+ `&&(i.innerActive=i.inner=null);else for(var l=0;l<A.length;++l){var e=A[l];e.open===`
3
+ `&&(i.innerActive=e,i.inner=c.startState(e.mode,n.indent?n.indent(i.outer,"",""):0))}},electricChars:o.electricChars,innerMode:function(i){return i.inner?{state:i.inner,mode:i.innerActive.mode}:{state:i.outer,mode:o}}}}})}()),g.exports}export{L as r};
@@ -0,0 +1 @@
1
+ import{y as x}from"./index.312f2c91.entry.js";function v($,u){for(var t=0;t<u.length;t++){const o=u[t];if(typeof o!="string"&&!Array.isArray(o)){for(const i in o)if(i!=="default"&&!(i in $)){const c=Object.getOwnPropertyDescriptor(o,i);c&&Object.defineProperty($,i,c.get?c:{enumerable:!0,get:()=>o[i]})}}}return Object.freeze(Object.defineProperty($,Symbol.toStringTag,{value:"Module"}))}var a={exports:{}};(function($,u){(function(t){t(x.exports)})(function(t){t.defineMode("mumps",function(){function o(e){return new RegExp("^(("+e.join(")|(")+"))\\b","i")}var i=new RegExp("^[\\+\\-\\*/&#!_?\\\\<>=\\'\\[\\]]"),c=new RegExp("^(('=)|(<=)|(>=)|('>)|('<)|([[)|(]])|(^$))"),l=new RegExp("^[\\.,:]"),f=new RegExp("[()]"),d=new RegExp("^[%A-Za-z][A-Za-z0-9]*"),m=["break","close","do","else","for","goto","halt","hang","if","job","kill","lock","merge","new","open","quit","read","set","tcommit","trollback","tstart","use","view","write","xecute","b","c","d","e","f","g","h","i","j","k","l","m","n","o","q","r","s","tc","tro","ts","u","v","w","x"],s=["\\$ascii","\\$char","\\$data","\\$ecode","\\$estack","\\$etrap","\\$extract","\\$find","\\$fnumber","\\$get","\\$horolog","\\$io","\\$increment","\\$job","\\$justify","\\$length","\\$name","\\$next","\\$order","\\$piece","\\$qlength","\\$qsubscript","\\$query","\\$quit","\\$random","\\$reverse","\\$select","\\$stack","\\$test","\\$text","\\$translate","\\$view","\\$x","\\$y","\\$a","\\$c","\\$d","\\$e","\\$ec","\\$es","\\$et","\\$f","\\$fn","\\$g","\\$h","\\$i","\\$j","\\$l","\\$n","\\$na","\\$o","\\$p","\\$q","\\$ql","\\$qs","\\$r","\\$re","\\$s","\\$st","\\$t","\\$tr","\\$v","\\$z"],p=o(s),g=o(m);function b(e,r){e.sol()&&(r.label=!0,r.commandMode=0);var n=e.peek();return n==" "||n==" "?(r.label=!1,r.commandMode==0?r.commandMode=1:(r.commandMode<0||r.commandMode==2)&&(r.commandMode=0)):n!="."&&r.commandMode>0&&(n==":"?r.commandMode=-1:r.commandMode=2),(n==="("||n===" ")&&(r.label=!1),n===";"?(e.skipToEnd(),"comment"):e.match(/^[-+]?\d+(\.\d+)?([eE][-+]?\d+)?/)?"number":n=='"'?e.skipTo('"')?(e.next(),"string"):(e.skipToEnd(),"error"):e.match(c)||e.match(i)?"operator":e.match(l)?null:f.test(n)?(e.next(),"bracket"):r.commandMode>0&&e.match(g)?"variable-2":e.match(p)?"builtin":e.match(d)?"variable":n==="$"||n==="^"?(e.next(),"builtin"):n==="@"?(e.next(),"string-2"):/[\w%]/.test(n)?(e.eatWhile(/[\w%]/),"variable"):(e.next(),"error")}return{startState:function(){return{label:!1,commandMode:0}},token:function(e,r){var n=b(e,r);return r.label?"tag":n}}}),t.defineMIME("text/x-mumps","mumps")})})();const h=a.exports,w=v({__proto__:null,default:h},[a.exports]);export{w as m};
@@ -0,0 +1 @@
1
+ import{y as v}from"./index.312f2c91.entry.js";function k(l,u){for(var a=0;a<u.length;a++){const n=u[a];if(typeof n!="string"&&!Array.isArray(n)){for(const s in n)if(s!=="default"&&!(s in l)){const c=Object.getOwnPropertyDescriptor(n,s);c&&Object.defineProperty(l,s,c.get?c:{enumerable:!0,get:()=>n[s]})}}}return Object.freeze(Object.defineProperty(l,Symbol.toStringTag,{value:"Module"}))}var h={exports:{}};(function(l,u){(function(a){a(v.exports)})(function(a){a.defineMode("nginx",function(n){function s(_){for(var t={},r=_.split(" "),e=0;e<r.length;++e)t[r[e]]=!0;return t}var c=s("break return rewrite set accept_mutex accept_mutex_delay access_log add_after_body add_before_body add_header addition_types aio alias allow ancient_browser ancient_browser_value auth_basic auth_basic_user_file auth_http auth_http_header auth_http_timeout autoindex autoindex_exact_size autoindex_localtime charset charset_types client_body_buffer_size client_body_in_file_only client_body_in_single_buffer client_body_temp_path client_body_timeout client_header_buffer_size client_header_timeout client_max_body_size connection_pool_size create_full_put_path daemon dav_access dav_methods debug_connection debug_points default_type degradation degrade deny devpoll_changes devpoll_events directio directio_alignment empty_gif env epoll_events error_log eventport_events expires fastcgi_bind fastcgi_buffer_size fastcgi_buffers fastcgi_busy_buffers_size fastcgi_cache fastcgi_cache_key fastcgi_cache_methods fastcgi_cache_min_uses fastcgi_cache_path fastcgi_cache_use_stale fastcgi_cache_valid fastcgi_catch_stderr fastcgi_connect_timeout fastcgi_hide_header fastcgi_ignore_client_abort fastcgi_ignore_headers fastcgi_index fastcgi_intercept_errors fastcgi_max_temp_file_size fastcgi_next_upstream fastcgi_param fastcgi_pass_header fastcgi_pass_request_body fastcgi_pass_request_headers fastcgi_read_timeout fastcgi_send_lowat fastcgi_send_timeout fastcgi_split_path_info fastcgi_store fastcgi_store_access fastcgi_temp_file_write_size fastcgi_temp_path fastcgi_upstream_fail_timeout fastcgi_upstream_max_fails flv geoip_city geoip_country google_perftools_profiles gzip gzip_buffers gzip_comp_level gzip_disable gzip_hash gzip_http_version gzip_min_length gzip_no_buffer gzip_proxied gzip_static gzip_types gzip_vary gzip_window if_modified_since ignore_invalid_headers image_filter image_filter_buffer image_filter_jpeg_quality image_filter_transparency imap_auth imap_capabilities imap_client_buffer index ip_hash keepalive_requests keepalive_timeout kqueue_changes kqueue_events large_client_header_buffers limit_conn limit_conn_log_level limit_rate limit_rate_after limit_req limit_req_log_level limit_req_zone limit_zone lingering_time lingering_timeout lock_file log_format log_not_found log_subrequest map_hash_bucket_size map_hash_max_size master_process memcached_bind memcached_buffer_size memcached_connect_timeout memcached_next_upstream memcached_read_timeout memcached_send_timeout memcached_upstream_fail_timeout memcached_upstream_max_fails merge_slashes min_delete_depth modern_browser modern_browser_value msie_padding msie_refresh multi_accept open_file_cache open_file_cache_errors open_file_cache_events open_file_cache_min_uses open_file_cache_valid open_log_file_cache output_buffers override_charset perl perl_modules perl_require perl_set pid pop3_auth pop3_capabilities port_in_redirect postpone_gzipping postpone_output protocol proxy proxy_bind proxy_buffer proxy_buffer_size proxy_buffering proxy_buffers proxy_busy_buffers_size proxy_cache proxy_cache_key proxy_cache_methods proxy_cache_min_uses proxy_cache_path proxy_cache_use_stale proxy_cache_valid proxy_connect_timeout proxy_headers_hash_bucket_size proxy_headers_hash_max_size proxy_hide_header proxy_ignore_client_abort proxy_ignore_headers proxy_intercept_errors proxy_max_temp_file_size proxy_method proxy_next_upstream proxy_pass_error_message proxy_pass_header proxy_pass_request_body proxy_pass_request_headers proxy_read_timeout proxy_redirect proxy_send_lowat proxy_send_timeout proxy_set_body proxy_set_header proxy_ssl_session_reuse proxy_store proxy_store_access proxy_temp_file_write_size proxy_temp_path proxy_timeout proxy_upstream_fail_timeout proxy_upstream_max_fails random_index read_ahead real_ip_header recursive_error_pages request_pool_size reset_timedout_connection resolver resolver_timeout rewrite_log rtsig_overflow_events rtsig_overflow_test rtsig_overflow_threshold rtsig_signo satisfy secure_link_secret send_lowat send_timeout sendfile sendfile_max_chunk server_name_in_redirect server_names_hash_bucket_size server_names_hash_max_size server_tokens set_real_ip_from smtp_auth smtp_capabilities smtp_client_buffer smtp_greeting_delay so_keepalive source_charset ssi ssi_ignore_recycled_buffers ssi_min_file_chunk ssi_silent_errors ssi_types ssi_value_length ssl ssl_certificate ssl_certificate_key ssl_ciphers ssl_client_certificate ssl_crl ssl_dhparam ssl_engine ssl_prefer_server_ciphers ssl_protocols ssl_session_cache ssl_session_timeout ssl_verify_client ssl_verify_depth starttls stub_status sub_filter sub_filter_once sub_filter_types tcp_nodelay tcp_nopush thread_stack_size timeout timer_resolution types_hash_bucket_size types_hash_max_size underscores_in_headers uninitialized_variable_warn use user userid userid_domain userid_expires userid_mark userid_name userid_p3p userid_path userid_service valid_referers variables_hash_bucket_size variables_hash_max_size worker_connections worker_cpu_affinity worker_priority worker_processes worker_rlimit_core worker_rlimit_nofile worker_rlimit_sigpending worker_threads working_directory xclient xml_entities xslt_stylesheet xslt_typesdrew@li229-23"),g=s("http mail events server types location upstream charset_map limit_except if geo map"),y=s("include root server server_name listen internal proxy_pass memcached_pass fastcgi_pass try_files"),x=n.indentUnit,o;function i(_,t){return o=t,_}function p(_,t){_.eatWhile(/[\w\$_]/);var r=_.current();if(c.propertyIsEnumerable(r))return"keyword";if(g.propertyIsEnumerable(r))return"variable-2";if(y.propertyIsEnumerable(r))return"string-2";var e=_.next();if(e=="@")return _.eatWhile(/[\w\\\-]/),i("meta",_.current());if(e=="/"&&_.eat("*"))return t.tokenize=d,d(_,t);if(e=="<"&&_.eat("!"))return t.tokenize=m,m(_,t);if(e=="=")i(null,"compare");else return(e=="~"||e=="|")&&_.eat("=")?i(null,"compare"):e=='"'||e=="'"?(t.tokenize=b(e),t.tokenize(_,t)):e=="#"?(_.skipToEnd(),i("comment","comment")):e=="!"?(_.match(/^\s*\w*/),i("keyword","important")):/\d/.test(e)?(_.eatWhile(/[\w.%]/),i("number","unit")):/[,.+>*\/]/.test(e)?i(null,"select-op"):/[;{}:\[\]]/.test(e)?i(null,e):(_.eatWhile(/[\w\\\-]/),i("variable","variable"))}function d(_,t){for(var r=!1,e;(e=_.next())!=null;){if(r&&e=="/"){t.tokenize=p;break}r=e=="*"}return i("comment","comment")}function m(_,t){for(var r=0,e;(e=_.next())!=null;){if(r>=2&&e==">"){t.tokenize=p;break}r=e=="-"?r+1:0}return i("comment","comment")}function b(_){return function(t,r){for(var e=!1,f;(f=t.next())!=null&&!(f==_&&!e);)e=!e&&f=="\\";return e||(r.tokenize=p),i("string","string")}}return{startState:function(_){return{tokenize:p,baseIndent:_||0,stack:[]}},token:function(_,t){if(_.eatSpace())return null;o=null;var r=t.tokenize(_,t),e=t.stack[t.stack.length-1];return o=="hash"&&e=="rule"?r="atom":r=="variable"&&(e=="rule"?r="number":(!e||e=="@media{")&&(r="tag")),e=="rule"&&/^[\{\};]$/.test(o)&&t.stack.pop(),o=="{"?e=="@media"?t.stack[t.stack.length-1]="@media{":t.stack.push("{"):o=="}"?t.stack.pop():o=="@media"?t.stack.push("@media"):e=="{"&&o!="comment"&&t.stack.push("rule"),r},indent:function(_,t){var r=_.stack.length;return/^\}/.test(t)&&(r-=_.stack[_.stack.length-1]=="rule"?2:1),_.baseIndent+r*x},electricChars:"}"}}),a.defineMIME("text/x-nginx-conf","nginx")})})();const z=h.exports,q=k({__proto__:null,default:z},[h.exports]);export{q as n};