graphql-voyager-rails 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE +21 -0
  3. data/README.md +44 -0
  4. data/Rakefile +32 -0
  5. data/app/assets/config/graphql_voyager_rails_manifest.js +1 -0
  6. data/app/assets/javascripts/graphql/voyager/rails/application.js +4 -0
  7. data/app/assets/javascripts/graphql/voyager/rails/fetch-3.0.0.js +531 -0
  8. data/app/assets/javascripts/graphql/voyager/rails/react-16.8.6.js +33 -0
  9. data/app/assets/javascripts/graphql/voyager/rails/react-dom-16.8.6.js +220 -0
  10. data/app/assets/javascripts/graphql/voyager/rails/voyager-1.0.0-rc.27.js +82 -0
  11. data/app/assets/javascripts/graphql/voyager/rails/voyager.js +1 -0
  12. data/app/assets/javascripts/graphql/voyager/rails/voyager.worker-1.0.0-rc.27.js +90 -0
  13. data/app/assets/stylesheets/graphql/voyager/rails/application.css +14 -0
  14. data/app/assets/stylesheets/graphql/voyager/rails/voyager-1.0.0-rc.27.css +847 -0
  15. data/app/controllers/graphql/voyager/rails/explorers_controller.rb +18 -0
  16. data/app/helpers/graphql/voyager/rails/application_helper.rb +8 -0
  17. data/app/jobs/graphql/voyager/rails/application_job.rb +8 -0
  18. data/app/mailers/graphql/voyager/rails/application_mailer.rb +10 -0
  19. data/app/models/graphql/voyager/rails/application_record.rb +9 -0
  20. data/app/views/graphql/voyager/rails/explorers/show.html.erb +34 -0
  21. data/config/initializers/assets.rb +3 -0
  22. data/config/routes.rb +5 -0
  23. data/lib/graphql/voyager/rails.rb +14 -0
  24. data/lib/graphql/voyager/rails/config.rb +45 -0
  25. data/lib/graphql/voyager/rails/engine.rb +9 -0
  26. data/lib/graphql/voyager/rails/version.rb +7 -0
  27. data/lib/tasks/graphql/voyager/rails_tasks.rake +4 -0
  28. data/test/controllers/graphql/voyager/rails/explorers_controller_test.rb +36 -0
  29. data/test/dummy/Rakefile +6 -0
  30. data/test/dummy/app/assets/config/manifest.js +3 -0
  31. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  32. data/test/dummy/app/channels/application_cable/channel.rb +4 -0
  33. data/test/dummy/app/channels/application_cable/connection.rb +4 -0
  34. data/test/dummy/app/controllers/application_controller.rb +2 -0
  35. data/test/dummy/app/helpers/application_helper.rb +2 -0
  36. data/test/dummy/app/javascript/packs/application.js +15 -0
  37. data/test/dummy/app/jobs/application_job.rb +7 -0
  38. data/test/dummy/app/mailers/application_mailer.rb +4 -0
  39. data/test/dummy/app/models/application_record.rb +3 -0
  40. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  41. data/test/dummy/app/views/layouts/mailer.html.erb +13 -0
  42. data/test/dummy/app/views/layouts/mailer.text.erb +1 -0
  43. data/test/dummy/bin/rails +4 -0
  44. data/test/dummy/bin/rake +4 -0
  45. data/test/dummy/bin/setup +33 -0
  46. data/test/dummy/config.ru +5 -0
  47. data/test/dummy/config/application.rb +19 -0
  48. data/test/dummy/config/boot.rb +5 -0
  49. data/test/dummy/config/cable.yml +10 -0
  50. data/test/dummy/config/database.yml +25 -0
  51. data/test/dummy/config/environment.rb +5 -0
  52. data/test/dummy/config/environments/development.rb +62 -0
  53. data/test/dummy/config/environments/production.rb +112 -0
  54. data/test/dummy/config/environments/test.rb +48 -0
  55. data/test/dummy/config/initializers/application_controller_renderer.rb +8 -0
  56. data/test/dummy/config/initializers/assets.rb +12 -0
  57. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  58. data/test/dummy/config/initializers/content_security_policy.rb +25 -0
  59. data/test/dummy/config/initializers/cookies_serializer.rb +5 -0
  60. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  61. data/test/dummy/config/initializers/inflections.rb +16 -0
  62. data/test/dummy/config/initializers/mime_types.rb +4 -0
  63. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  64. data/test/dummy/config/locales/en.yml +33 -0
  65. data/test/dummy/config/puma.rb +35 -0
  66. data/test/dummy/config/routes.rb +3 -0
  67. data/test/dummy/config/spring.rb +6 -0
  68. data/test/dummy/config/storage.yml +34 -0
  69. data/test/dummy/db/test.sqlite3 +0 -0
  70. data/test/dummy/log/test.log +225 -0
  71. data/test/dummy/public/404.html +67 -0
  72. data/test/dummy/public/422.html +67 -0
  73. data/test/dummy/public/500.html +66 -0
  74. data/test/dummy/public/apple-touch-icon-precomposed.png +0 -0
  75. data/test/dummy/public/apple-touch-icon.png +0 -0
  76. data/test/dummy/public/favicon.ico +0 -0
  77. data/test/dummy/tmp/cache/assets/sprockets/v3.0/-L/-LgBrhDMmzlYc5y7PZBz-jB3gZtMw9zXlIOQuJpcO5k.cache +1 -0
  78. data/test/dummy/tmp/cache/assets/sprockets/v3.0/0a/0arWfKbETvMJnjsc7VCRd4StD7zHnRsl490vQofS-kI.cache +1 -0
  79. data/test/dummy/tmp/cache/assets/sprockets/v3.0/23/23GwWp3MsuKldcLgr_v-6LsEX8AwkLotiQ8XKLBdvMY.cache +1 -0
  80. data/test/dummy/tmp/cache/assets/sprockets/v3.0/31/31pOaAAGKosY5PeTUloQaRXYxXJkQh8-06gGzNwLzjU.cache +0 -0
  81. data/test/dummy/tmp/cache/assets/sprockets/v3.0/38/38HwsGJAKo1lFFRdwn961vkOpIktrRn59IzxnxGVle4.cache +0 -0
  82. data/test/dummy/tmp/cache/assets/sprockets/v3.0/46/461GqH0WK0GnjYJkKulRjeIP_zpJW7DWKjY5lR5i1ys.cache +0 -0
  83. data/test/dummy/tmp/cache/assets/sprockets/v3.0/6w/6wB3YjyrXfC4Rn9tSoXPquB3f2-CPl8UhScQKq3OHic.cache +1 -0
  84. data/test/dummy/tmp/cache/assets/sprockets/v3.0/9E/9Ee04zUpTRdLsDBfcytkZ69m1i2SdUuZgV2-6lGIu1M.cache +1 -0
  85. data/test/dummy/tmp/cache/assets/sprockets/v3.0/C7/C7sxwGxvxEA6isvV50r6gv7yOtmPMMQmJSi-dyxgCz4.cache +0 -0
  86. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Do/DoYIq8aUQf6iOlLXzL2pB4WVJm97bEsBAkX0wRTKSWM.cache +1 -0
  87. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Hn/Hn0Dir2Qre1dPpKlHTmQgxuD8qludN0lmBruCYM4TTc.cache +2 -0
  88. data/test/dummy/tmp/cache/assets/sprockets/v3.0/J0/J0pk2EEIbPh09R00H97DDK7_iToFnUfcaPw9SHC6R-Y.cache +1 -0
  89. data/test/dummy/tmp/cache/assets/sprockets/v3.0/JI/JICb7HnCp5lkTc4k2vK8pd3DlmB7KhJhuQuxciGT7Kk.cache +1 -0
  90. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Jc/JcS8opULi6eX1vbG3HmtzPSqlTMafS_iBQvf34aR8l4.cache +0 -0
  91. data/test/dummy/tmp/cache/assets/sprockets/v3.0/KC/KCWWfVN-SFDA8k8UnvtZgGgsgvJSyHd3iIuZKqn0ko8.cache +0 -0
  92. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Mw/Mw0AOXURNQOmuxJirEXvj8Rq_oi6uAHOE3vtlH7u-Fw.cache +1 -0
  93. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Pn/PnFYfKd-pPBGY4FtMnibkYqt2OiEXfnzJZYRdWTxctE.cache +1 -0
  94. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Qc/QcIajxKDzSGoWgu9yOM7fwlbv7Tgo6g16YSh_Dgh6Wc.cache +1 -0
  95. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RJ/RJNZrMhE6yksN5Vue0m1ID9zE207y_4bFRapsiq0vAU.cache +1 -0
  96. data/test/dummy/tmp/cache/assets/sprockets/v3.0/RN/RNmjelpbwuDkCtazWKp7-Zrl5W8VxTQ6nlAGxMKFwDM.cache +1 -0
  97. data/test/dummy/tmp/cache/assets/sprockets/v3.0/SD/SDBbfvTfI2AyEZAV064Nir17NRt4hD0iVb12Aqk8ywM.cache +1 -0
  98. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Sr/SrPbTIVWV2JTBMu84pLDAttN1DIS_DVIOMaAovbMbxg.cache +2 -0
  99. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Tg/TgjwvIfsj0OewsOyWCswjBOHbM_JZDJsG_oXty7PABk.cache +2 -0
  100. data/test/dummy/tmp/cache/assets/sprockets/v3.0/UY/UY1iCdbGcvX3mrkSOAtJBzcrYjUo3m9mdCLbi9BpKr8.cache +0 -0
  101. data/test/dummy/tmp/cache/assets/sprockets/v3.0/Ve/VesnakHSrVqrJzcdqBcg6r6o_62NamiE5cqu7cM-8Kg.cache +1 -0
  102. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZK/ZKO1w-GMI7dF-iETsubYNhyKMeTDJi38zK5GyrlgarM.cache +3 -0
  103. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ZN/ZNJWRapZXTDgjhsC5lmV98x7yJhGTcWQUBanr8JTu0M.cache +0 -0
  104. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c9/c9wvFO9IiujJfKWrHGcboYdbo3zWTao08hj7OLPp2qY.cache +2 -0
  105. data/test/dummy/tmp/cache/assets/sprockets/v3.0/c_/c_4zcUUg5Raxheggo7oPNrkvmaZxWrwGoqeJPjCuYbk.cache +0 -0
  106. data/test/dummy/tmp/cache/assets/sprockets/v3.0/d0/d0C_Yf2uWnuUIVtRk9JIHm3EPypQjxRJ2ZhVS_d8q9E.cache +0 -0
  107. data/test/dummy/tmp/cache/assets/sprockets/v3.0/eR/eRZre7dVJcr8dZjm2kwTh5DN526mPSPitecUgSGgW6g.cache +0 -0
  108. data/test/dummy/tmp/cache/assets/sprockets/v3.0/f3/f330_OiEhbT4mo-cKYRkm_u6IkxoUyDlr8McIhePMgg.cache +3 -0
  109. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gO/gOSQQUbnu8-aEUxfNHjzdU3Q0xa3CbTT8CI0ArfrGk8.cache +2 -0
  110. data/test/dummy/tmp/cache/assets/sprockets/v3.0/gv/gv3E5XN6MpWeJ1wPawSX32pZ0-BrwS5VonWd9z0Yl2I.cache +0 -0
  111. data/test/dummy/tmp/cache/assets/sprockets/v3.0/hA/hAVlAiubzIMyxSE_45AMzA-Rnln8QFvgsWmdgvBgT8Q.cache +1 -0
  112. data/test/dummy/tmp/cache/assets/sprockets/v3.0/jw/jwXtlggMzNp8KtzoRZTf_f-O0jpv0xf2peHabqI2qo8.cache +1 -0
  113. data/test/dummy/tmp/cache/assets/sprockets/v3.0/kH/kHFmhZsd51wI3bn7tsj0VrCFDD4vXVhHoioWI9jPTEo.cache +3 -0
  114. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ly/lynqx7g2h3JAI4LO-mdONn5kqkSsh7-4YwWiUYYpzXo.cache +1 -0
  115. data/test/dummy/tmp/cache/assets/sprockets/v3.0/m8/m8FHrWL34tXn_QbxB37YQ9QgpdY8nz8UGrOj9jBtlEA.cache +0 -0
  116. data/test/dummy/tmp/cache/assets/sprockets/v3.0/mT/mTakZR2CUokGQFZniZzL6aN_iHqgCKqROf1VPKVz5RE.cache +0 -0
  117. data/test/dummy/tmp/cache/assets/sprockets/v3.0/n_/n_xYqQYhwEMQknb3jFQnjlxxBE9TzMNHCdJ-bEyZFIw.cache +2 -0
  118. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nc/nczjjC46sYc081vUb6Bbl_LKcfhD_6wUwawwBiso-bY.cache +2 -0
  119. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ne/neFhocrothF_JPf22LdYgUz8oCpUI2qODBCftbV2lP0.cache +1 -0
  120. data/test/dummy/tmp/cache/assets/sprockets/v3.0/nx/nxTv3sKVUQZADJyM3dPaVmUA78MIsMLD_K279yN_GsI.cache +2 -0
  121. data/test/dummy/tmp/cache/assets/sprockets/v3.0/ow/owB2YQYvII2hIPfhZIKTvjP1JEUwvFVEzlbPDuLQV6I.cache +1 -0
  122. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sL/sLcAwFNqNCjcoYYdPrkJ5ib22YwWDjRYkgYCTgr2I9g.cache +1 -0
  123. data/test/dummy/tmp/cache/assets/sprockets/v3.0/sX/sXn6HtT4X4u50oCdGycXrjpJv_0nAgNVl4uee8YxWFM.cache +1 -0
  124. data/test/dummy/tmp/cache/assets/sprockets/v3.0/tL/tLw2JNRDnFqlxlH3j9FPElYKr-dlWzYd21XelFYn6MQ.cache +1 -0
  125. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uv/uVTZlhUlPFkEdsEicN3XShxTQTpEAOAbRBHx8jGiSiw.cache +2 -0
  126. data/test/dummy/tmp/cache/assets/sprockets/v3.0/uv/uvoTsqYP2RAHZsSGzMLgeRdQ-24LGbJi2mKMacMGbW4.cache +1 -0
  127. data/test/dummy/tmp/cache/assets/sprockets/v3.0/v_/v_qs0XuAAs-BrsCeJ948wTXHlbCmAwVPV3oDRCLHLrE.cache +3 -0
  128. data/test/dummy/tmp/cache/assets/sprockets/v3.0/w6/w6-bOcal92_FVycXYG9H_RuDP3oS2FHRg0OLjD7H6yw.cache +1 -0
  129. data/test/dummy/tmp/cache/assets/sprockets/v3.0/xE/xE27JowT8qDp7wND3Y1urntWOI3xOD8RqB95fK5D_dM.cache +1 -0
  130. data/test/dummy/tmp/cache/assets/sprockets/v3.0/z7/z7_Qw6EopSoxIc_kDbNCSpjs3agHMawg8z1KsFLIyvk.cache +3 -0
  131. data/test/dummy/tmp/cache/assets/sprockets/v3.0/zD/zDm8YoPN8R5NzVC4mvxnO-9eRF5b_hRCdg5tp2ebifc.cache +3 -0
  132. data/test/dummy/tmp/development_secret.txt +1 -0
  133. data/test/graphql/voyager/config_test.rb +32 -0
  134. data/test/graphql/voyager/engine_test.rb +15 -0
  135. data/test/graphql/voyager/rails_test.rb +13 -0
  136. data/test/integration/navigation_test.rb +7 -0
  137. data/test/test_helper.rb +19 -0
  138. metadata +401 -0
@@ -0,0 +1,847 @@
1
+ /*!
2
+ * Graphql Voyager - Represent any Graphql API as an interactive graph
3
+ * -------------------------------------------------------------
4
+ * Version: "1.0.0-rc.27"
5
+ * Repo: https://github.com/APIs-guru/graphql-voyager
6
+ */
7
+ @-webkit-keyframes voyager-shake {
8
+ 0% {
9
+ -webkit-transform: rotateZ(0deg);
10
+ transform: rotateZ(0deg);
11
+ }
12
+
13
+ 50% {
14
+ -webkit-transform: rotateZ(2deg);
15
+ transform: rotateZ(2deg);
16
+ }
17
+
18
+ 100% {
19
+ -webkit-transform: rotateZ(0deg);
20
+ transform: rotateZ(0deg);
21
+ }
22
+ }
23
+
24
+ @keyframes voyager-shake {
25
+ 0% {
26
+ -webkit-transform: rotateZ(0deg);
27
+ transform: rotateZ(0deg);
28
+ }
29
+
30
+ 50% {
31
+ -webkit-transform: rotateZ(2deg);
32
+ transform: rotateZ(2deg);
33
+ }
34
+
35
+ 100% {
36
+ -webkit-transform: rotateZ(0deg);
37
+ transform: rotateZ(0deg);
38
+ }
39
+ }
40
+
41
+ @-webkit-keyframes signal-move {
42
+ 0 {
43
+ opacity: 0.1;
44
+ -webkit-transform: translate3d(0, 0, 0);
45
+ transform: translate3d(0, 0, 0);
46
+ }
47
+
48
+ 25% {
49
+ opacity: 1;
50
+ -webkit-transform: translate3d(3px, -3px, 0);
51
+ transform: translate3d(3px, -3px, 0);
52
+ }
53
+
54
+ 50% {
55
+ opacity: 0.1;
56
+ -webkit-transform: translate3d(0, 0, 0);
57
+ transform: translate3d(0, 0, 0);
58
+ }
59
+ 100% {
60
+ opacity: 0.1;
61
+ -webkit-transform: translate3d(0, 0, 0);
62
+ transform: translate3d(0, 0, 0);
63
+ }
64
+ }
65
+
66
+ @keyframes signal-move {
67
+ 0 {
68
+ opacity: 0.1;
69
+ -webkit-transform: translate3d(0, 0, 0);
70
+ transform: translate3d(0, 0, 0);
71
+ }
72
+
73
+ 25% {
74
+ opacity: 1;
75
+ -webkit-transform: translate3d(3px, -3px, 0);
76
+ transform: translate3d(3px, -3px, 0);
77
+ }
78
+
79
+ 50% {
80
+ opacity: 0.1;
81
+ -webkit-transform: translate3d(0, 0, 0);
82
+ transform: translate3d(0, 0, 0);
83
+ }
84
+ 100% {
85
+ opacity: 0.1;
86
+ -webkit-transform: translate3d(0, 0, 0);
87
+ transform: translate3d(0, 0, 0);
88
+ }
89
+ }
90
+
91
+ .loading-box {
92
+ position: absolute;;
93
+ left: 320px;
94
+ right: 0;
95
+ top: 0;
96
+ bottom: 0;
97
+ background: rgba(0, 0, 0, .8);
98
+ z-index: 10;
99
+
100
+ -webkit-box-align: center;
101
+
102
+ -ms-flex-align: center;
103
+
104
+ align-items: center;
105
+ -webkit-box-pack: center;
106
+ -ms-flex-pack: center;
107
+ justify-content: center;
108
+
109
+ display: none;
110
+ color: white;
111
+ }
112
+
113
+ @media (max-width: 780px) {
114
+ .loading-box {
115
+ left: 0;
116
+ top: 50%;
117
+ }
118
+ }
119
+
120
+ .loading-box.visible {
121
+ display: -webkit-box;
122
+ display: -ms-flexbox;
123
+ display: flex;
124
+ }
125
+
126
+ .loading-animation {
127
+ width: 180px
128
+ }
129
+
130
+ .loading-animation svg {
131
+ -webkit-animation: voyager-shake 2s infinite;
132
+ animation: voyager-shake 2s infinite;
133
+ }
134
+
135
+ .loading-animation path {
136
+ fill: #548f9e;
137
+ }
138
+
139
+ .loading-animation .voyager-signal1, .loading-animation .voyager-signal2, .loading-animation .voyager-signal3 {
140
+ -webkit-animation: signal-move 1s infinite;
141
+ animation: signal-move 1s infinite;
142
+ }
143
+
144
+ .loading-animation .voyager-signal2 {
145
+ -webkit-animation-delay: 0.2s;
146
+ animation-delay: 0.2s;
147
+ }
148
+
149
+ .loading-animation .voyager-signal3 {
150
+ -webkit-animation-delay: 0.4s;
151
+ animation-delay: 0.4s;
152
+ }
153
+
154
+ .loading-animation h1 {
155
+ text-align: center;
156
+ color: #548f9e;
157
+ letter-spacing: 4px;
158
+ }
159
+
160
+ @media (max-width: 780px) {
161
+ .loading-animation {
162
+ text-align: center;
163
+ }
164
+ .loading-animation svg {
165
+ max-width: 40%;
166
+ }
167
+ .loading-animation h1 {
168
+ font-size: 1.5em;
169
+ }
170
+ }
171
+ .typelist-item > .type-name {
172
+ padding-left: 15px;
173
+ }
174
+
175
+ .typelist-item.-root .type-name:after {
176
+ content: "root";
177
+ display: inline-block;
178
+ vertical-align: middle;
179
+ background: #00bcd4;
180
+ color: white;
181
+ padding: 0 5px;
182
+ margin-left: 5px;
183
+ font-size: 0.9em;
184
+ }
185
+ .type-link {
186
+ fill: #42a0dd
187
+ }
188
+
189
+ .type-link:hover {
190
+ fill: #0262a0;
191
+ }
192
+
193
+ .type-name.-input-obj,
194
+ .type-name.-object {
195
+ color: #42a0dd
196
+ }
197
+
198
+ .type-name.-input-obj:hover, .type-name.-object:hover {
199
+ color: #0262a0;
200
+ }
201
+
202
+ .type-name.-scalar,
203
+ .type-name.-built-in {
204
+ color: #711c1c
205
+ }
206
+
207
+ .type-name.-scalar:hover, .type-name.-built-in:hover {
208
+ color: rgb(73, 18, 18);
209
+ }
210
+ .description-box blockquote {
211
+
212
+ border-left: 2px solid rgba(84, 143, 158, 0.5);
213
+
214
+ margin: 5px 15px;
215
+
216
+ padding-left: 10px;
217
+ }
218
+
219
+ .description-box a {
220
+
221
+ word-break: break-all;
222
+ }
223
+
224
+ .description-box p:first-child {
225
+
226
+ margin-top: 0;
227
+ }
228
+
229
+ .description-box.-no-description {
230
+
231
+ font-style:italic;
232
+
233
+ color: #666;
234
+ }
235
+
236
+ .description-box.-linked-type p, .description-box.-field p, .description-box.-enum-value p {
237
+
238
+ margin: 0;
239
+ }
240
+
241
+ .description-box.-enum-value {
242
+
243
+ padding: 5px 0 0 5px;
244
+ }
245
+ .eye-button {
246
+ height: 24px;
247
+ width: 24px;
248
+ min-width: 24px;
249
+ padding: 0;
250
+ vertical-align: middle
251
+ }
252
+
253
+ .eye-button svg {
254
+ line-height: 24px;
255
+ height: 24px;
256
+ width: 20px
257
+ }
258
+
259
+ .eye-button svg path:not([fill]) {
260
+ fill: #00bcd4;
261
+ }
262
+ /* common type doc styling */
263
+
264
+ .field-name {
265
+ color: #224d6f
266
+ }
267
+
268
+ .type-name + .field-name::before {
269
+ content: ".";
270
+ color: #666;
271
+ }
272
+
273
+ .doc-alert-text {
274
+ color: #b71c1c;
275
+ font-family: 'Consolas', 'Inconsolata', 'Droid Sans Mono', 'Monaco', monospace;
276
+ font-size: 13px
277
+ }
278
+
279
+ .doc-alert-text.-search {
280
+ padding: 8px 15px;
281
+ }
282
+
283
+ .value-name {
284
+ color: #0B7FC7;
285
+ }
286
+
287
+ .arg-name {
288
+ color: #c77f53;
289
+ }
290
+
291
+ .type-doc {
292
+ display: -webkit-box;
293
+ display: -ms-flexbox;
294
+ display: flex;
295
+ -webkit-box-orient: vertical;
296
+ -webkit-box-direction: normal;
297
+ -ms-flex-direction: column;
298
+ flex-direction: column;
299
+ -webkit-box-flex: 1;
300
+ -ms-flex: 1;
301
+ flex: 1;
302
+ margin-top: 15px;
303
+ position: relative;
304
+
305
+ /* Overwrite min-height: https://drafts.csswg.org/css-flexbox/#min-size-auto */
306
+ min-height: 0
307
+ }
308
+
309
+ .type-doc > div {
310
+ position: relative;
311
+ z-index: 1;
312
+ background: white;
313
+ }
314
+
315
+ .type-doc > .loading {
316
+ padding: 0 15px;
317
+ font-weight: bold;
318
+ color: #666;
319
+ }
320
+
321
+ .type-doc a {
322
+ cursor: pointer;
323
+ text-decoration: none;
324
+ }
325
+
326
+ .type-doc > .scroll-area {
327
+ padding-top: 15px;
328
+ overflow-y: auto;
329
+ -webkit-box-flex: 1;
330
+ -ms-flex-positive: 1;
331
+ flex-grow: 1
332
+ }
333
+
334
+ .type-doc > .scroll-area .description-box.-doc-type {
335
+ padding: 0 15px;
336
+ }
337
+
338
+ .type-doc > .doc-navigation {
339
+ padding:
340
+ 5px
341
+ 20px
342
+ 5px
343
+ 18px;
344
+ }
345
+
346
+ .doc-category {
347
+ margin: 15px 0 0;
348
+ cursor: pointer
349
+ }
350
+
351
+ .doc-category > .item {
352
+ padding: 8px 15px;
353
+ color: #666;
354
+ position: relative;
355
+ border-left: 3px solid transparent
356
+ }
357
+
358
+ .doc-category > .item > description-box {
359
+ .margin-top: 5px;
360
+ }
361
+
362
+ .doc-category > .title {
363
+ border-bottom: 1px solid #e0e0e0;
364
+ padding: 0 15px;
365
+ color: #666;
366
+ cursor: default;
367
+ font-size: 14px;
368
+ -webkit-font-feature-settings: "c2sc";
369
+ font-feature-settings: "c2sc";
370
+ font-variant: small-caps;
371
+ font-weight: bold;
372
+ letter-spacing: 1px;
373
+ margin: 0 -15px 10px 0;
374
+ -webkit-user-select: none;
375
+ -moz-user-select: none;
376
+ -ms-user-select: none;
377
+ user-select: none;
378
+ -webkit-box-sizing: border-box;
379
+ box-sizing: border-box;
380
+ width: 100%;
381
+ }
382
+
383
+ .doc-category > .item:nth-child(odd) {
384
+ background-color: rgba(158, 158, 158, .07);
385
+ }
386
+
387
+ .doc-category > .item:hover {
388
+ background-color: rgba(214, 236, 238, .6);
389
+ }
390
+
391
+ .doc-category > .item.-with-args:before {
392
+ width: 0;
393
+ height: 0;
394
+ border-left: 5px solid transparent;
395
+ border-right: 5px solid transparent;
396
+ border-top: 5px solid #224d6f;
397
+ display: block;
398
+ content: "";
399
+ float: right;
400
+ margin-top: 8px;
401
+ margin-right: -8px;
402
+ -webkit-transition: all 0.3s ease;
403
+ transition: all 0.3s ease;
404
+ opacity: 0;
405
+ }
406
+
407
+ .doc-category > .item.-with-args:hover:before, .doc-category > .item.-with-args.-selected:before {
408
+ opacity: 1;
409
+ }
410
+
411
+ .doc-category > .item.-with-args.-selected:before {
412
+ -webkit-transform: rotateZ(180deg);
413
+ transform: rotateZ(180deg);
414
+ }
415
+
416
+ .doc-category > .item.-selected {
417
+ background-color: rgba(214, 236, 238, 0.75);
418
+ border-left: 3px solid #00bcd4
419
+ }
420
+
421
+ .doc-category > .item.-selected .args {
422
+ display: block;
423
+ padding-left: 15px;
424
+ }
425
+ .wrapped-type-name::before {
426
+ content: ": ";
427
+ }
428
+
429
+ .relay-icon {
430
+ height: 24px;
431
+ line-height: 24px;
432
+ width: 24px;
433
+ margin-left: 5px
434
+ }
435
+
436
+ .relay-icon svg {
437
+ height: 24px;
438
+ line-height: 24px;
439
+ width: 24px;
440
+ min-height: 24px;
441
+ }
442
+ .args-wrap:before {
443
+
444
+ content: "( ";
445
+
446
+ display: inline;
447
+ }
448
+
449
+ .args-wrap:after {
450
+
451
+ content: " )";
452
+
453
+ display: inline;
454
+ }
455
+
456
+ .args-wrap.-empty:before, .args-wrap.-empty:after {
457
+
458
+ display: none !important;
459
+ }
460
+
461
+ .arg-wrap > .arg {
462
+
463
+ display: inline;
464
+ }
465
+
466
+ .arg-wrap > .arg:after {
467
+
468
+ content: ', ';
469
+ }
470
+
471
+ .arg-wrap > .arg > .default-value {
472
+
473
+ color: #0B7FC7;
474
+ }
475
+
476
+ .arg-wrap:last-child .arg:after {
477
+
478
+ content: '';
479
+ }
480
+
481
+ .arg-wrap > .arg-description,
482
+ .arg-wrap .arg > .wrapped-type-name {
483
+
484
+ display: none;
485
+ }
486
+
487
+ .arg-wrap.-expanded:before, .arg-wrap.-expanded:after {
488
+
489
+ display: none;
490
+ }
491
+
492
+ .arg-wrap.-expanded .arg {
493
+
494
+ display: block;
495
+
496
+ margin: 5px 0;
497
+ }
498
+
499
+ .arg-wrap.-expanded .arg-description {
500
+
501
+ display: block;
502
+
503
+ color: #666;
504
+ }
505
+
506
+ .arg-wrap.-expanded .wrapped-type-name {
507
+
508
+ display: inline-block;
509
+ }
510
+
511
+ .arg-wrap.-expanded .arg-description > p {
512
+
513
+ margin: 0;
514
+ }
515
+
516
+ .arg-wrap.-expanded .arg-description:before {
517
+
518
+ display: block;
519
+
520
+ content: "#";
521
+
522
+ float: left;
523
+
524
+ margin-right: 5px;
525
+ }
526
+ .type-doc > .type-info-popover {
527
+ z-index: 0;
528
+ position: absolute;
529
+ }
530
+
531
+ .type-info-popover {
532
+ left: 320px;
533
+ top: 35px;
534
+ bottom: 75px;
535
+ overflow-y: auto;
536
+
537
+ -webkit-transform: translateX(-110%);
538
+
539
+ transform: translateX(-110%);
540
+ -webkit-box-sizing: border-box;
541
+ box-sizing: border-box;
542
+ width: 320px;
543
+ padding: 10px 15px;
544
+ position: absolute;
545
+ background: white;
546
+ -webkit-box-shadow: 0px 0 10px 3px rgba(0, 0, 0, .1);
547
+ box-shadow: 0px 0 10px 3px rgba(0, 0, 0, .1);
548
+ border: 1px solid rgba(0, 0, 0, .1);
549
+ border-left: 0px;
550
+
551
+ -webkit-transition: all 0.45s ease-out;
552
+
553
+ transition: all 0.45s ease-out
554
+ }
555
+
556
+ .type-info-popover.-opened {
557
+ -webkit-transform: none;
558
+ transform: none;
559
+ }
560
+
561
+ .type-info-popover > button {
562
+ position: absolute;
563
+ right: 10px;
564
+ }
565
+ .search-box-wrapper {
566
+ padding: 0 15px;
567
+ }
568
+
569
+ .search-box-clear {
570
+ cursor: pointer;
571
+ border: none;
572
+ padding: 5px;
573
+ opacity: 0.8;
574
+ }.doc-wrapper {
575
+ position: relative;
576
+ z-index: 1;
577
+ background: white;
578
+ }
579
+
580
+ .doc-panel > .contents {
581
+ display: -webkit-box;
582
+ display: -ms-flexbox;
583
+ display: flex;
584
+ -webkit-box-orient: vertical;
585
+ -webkit-box-direction: normal;
586
+ -ms-flex-direction: column;
587
+ flex-direction: column;
588
+ background: #fff;
589
+ position: relative;
590
+ z-index: 5;
591
+ border-right: 1px solid rgba(0, 0, 0, .1);
592
+ height: 100%;
593
+ }
594
+
595
+ .doc-navigation {
596
+ min-height: 24px;
597
+ border-bottom: 1px solid rgba(0, 0, 0, .1);
598
+ display: -webkit-box;
599
+ display: -ms-flexbox;
600
+ display: flex;
601
+ -webkit-box-pack: justify;
602
+ -ms-flex-pack: justify;
603
+ justify-content: space-between
604
+ }
605
+
606
+ .doc-navigation > span {
607
+ display: inline-block;
608
+ vertical-align: middle;
609
+ white-space: nowrap;
610
+ line-height: 24px;
611
+ }
612
+
613
+ .doc-navigation > .back {
614
+ color: #224d6f;
615
+ cursor: pointer;
616
+ overflow-x: hidden;
617
+ text-overflow: ellipsis;
618
+ white-space: nowrap;
619
+ padding-left: 2px;
620
+ font-weight: normal;
621
+ }
622
+
623
+ .doc-navigation > .back:before {
624
+ border-left: 2px solid #224d6f;
625
+ border-top: 2px solid #224d6f;
626
+ content: '';
627
+ display: inline-block;
628
+ height: 9px;
629
+ margin: 0 3px -1px 0;
630
+ position: relative;
631
+ -webkit-transform: rotate(-45deg);
632
+ transform: rotate(-45deg);
633
+ width: 9px;
634
+ }
635
+
636
+ .doc-navigation > .active {
637
+ font-weight: bold;
638
+ color: #00bcd4;
639
+ font-weight: bold;
640
+ overflow: hidden;
641
+ text-overflow: ellipsis;
642
+ }
643
+
644
+ .doc-navigation > .header {
645
+ font-weight: bold;
646
+ color: #666;
647
+ }
648
+ .powered-by {
649
+ color: #333333;
650
+ text-align: center;
651
+ padding: 10px 10px;
652
+ border-top: 1px solid rgba(0, 0, 0, .1);
653
+ }
654
+ .root-selector {
655
+ width: 100%;
656
+ }
657
+ /* fix height of element */
658
+
659
+ [data-reactroot] {
660
+ height: 100%;
661
+ }
662
+
663
+ .graphql-voyager {
664
+ font: 14px 'helvetica neue', helvetica, arial, sans-serif;
665
+ display: -webkit-box;
666
+ display: -ms-flexbox;
667
+ display: flex;
668
+ height: 100%;
669
+ }
670
+
671
+ @media (max-width: 780px) {
672
+
673
+ .graphql-voyager {
674
+ -webkit-box-orient: vertical;
675
+ -webkit-box-direction: normal;
676
+ -ms-flex-direction: column;
677
+ flex-direction: column;
678
+ }
679
+ }
680
+
681
+ .graphql-voyager > .doc-panel {
682
+ width: 320px;
683
+ min-width: 320px;
684
+ background: #fff;
685
+ -webkit-box-sizing: border-box;
686
+ box-sizing: border-box;
687
+ position: relative;
688
+ z-index: 10;
689
+ }
690
+
691
+ .graphql-voyager > .viewport {
692
+ -webkit-box-flex: 1;
693
+ -ms-flex: 1;
694
+ flex: 1;
695
+ max-height: 100vh;
696
+ }
697
+
698
+ .graphql-voyager > .viewport > svg {
699
+ width: 100%;
700
+ height: 100%;
701
+ }
702
+
703
+ @media (max-width: 780px) {
704
+
705
+ .graphql-voyager > .doc-panel, .graphql-voyager > .viewport {
706
+ height: 50%;
707
+ width: 100%;
708
+ max-width: none;
709
+ }
710
+ }
711
+
712
+ .graphql-voyager > .menu-content {
713
+ position: absolute;
714
+ bottom: 15px;
715
+ left: 335px;
716
+ background: #fff;
717
+ -webkit-box-shadow: 0 4px 4px -2px rgba(0, 0, 0, .1);
718
+ box-shadow: 0 4px 4px -2px rgba(0, 0, 0, .1);
719
+ border: 1px solid rgba(0, 0, 0, .1);
720
+ padding: 5px;
721
+ }
722
+
723
+ .graphql-voyager > .menu-content > .setting-other-options {
724
+ display: -webkit-box;
725
+ display: -ms-flexbox;
726
+ display: flex;
727
+ }
728
+
729
+ .graphql-voyager > .menu-content > .setting-other-options > label:first-of-type {
730
+ padding-right: 5px;
731
+ }
732
+
733
+ .graphql-voyager > .menu-content > .setting-other-options > label {
734
+ margin-bottom: 10px;
735
+ }
736
+
737
+ @media (max-width: 780px) {
738
+
739
+ .graphql-voyager > .menu-content {
740
+ left: 10px;
741
+ }
742
+ }g.graph > polygon {
743
+ fill: transparent;
744
+ }
745
+
746
+ #svg-pan-zoom-controls path {
747
+ fill-opacity: 0.75;
748
+ fill: #224d6f;
749
+ }
750
+
751
+ /* Nodes Styling */
752
+
753
+ .node {
754
+ pointer-events: bounding-box;
755
+ cursor: pointer
756
+ }
757
+
758
+ .node polygon {
759
+ stroke: #548f9e;
760
+ fill: #f6f8f8;
761
+ }
762
+
763
+ .node .type-title polygon {
764
+ fill: #548f9e;
765
+ }
766
+
767
+ .node .type-title text {
768
+ fill: white;
769
+ }
770
+
771
+ .node.selected polygon {
772
+ stroke: #00bcd4;
773
+ stroke-width: 3;
774
+ }
775
+
776
+ .node.selected .type-title polygon {
777
+ fill: #00bcd4;
778
+ }
779
+
780
+ /* field */
781
+
782
+ .field.selected > polygon {
783
+ fill: rgba(255, 0, 0, .18);
784
+ }
785
+
786
+ /* Edges Styling */
787
+
788
+ .edge {
789
+ cursor: pointer
790
+ }
791
+
792
+ .edge path {
793
+ stroke: rgb(56, 97, 107);
794
+ stroke-width: 2;
795
+ }
796
+
797
+ .edge path.hover-path {
798
+ stroke: transparent;
799
+ stroke-width: 15;
800
+ }
801
+
802
+ .edge.highlighted path:not(.hover-path), .edge.hovered path:not(.hover-path), .edge:hover path:not(.hover-path) {
803
+ stroke: #00bcd4;
804
+ stroke-width: 3;
805
+ }
806
+
807
+ .edge.highlighted polygon, .edge.hovered polygon, .edge:hover polygon {
808
+ stroke: rgb(0, 99, 112);
809
+ fill: rgb(0, 99, 112);
810
+ opacity: 1;
811
+ }
812
+
813
+ .edge polygon {
814
+ fill: rgb(48, 82, 90);
815
+ stroke: rgb(48, 82, 90);
816
+ }
817
+
818
+ .edge text {
819
+ font-family: 'helvetica neue', helvetica, arial, sans-serif;
820
+ fill: #224d6f;
821
+ display: none;
822
+ }
823
+
824
+ .edge:hover text, .edge.highlighted text, .edge.hovered text {
825
+ display: block;
826
+ }
827
+
828
+ .edge.selected path:not(.hover-path) {
829
+ stroke: red;
830
+ }
831
+
832
+ .edge.selected polygon {
833
+ stroke: rgb(204, 0, 0);
834
+ fill: rgb(204, 0, 0);
835
+ }
836
+
837
+ /* selection fade */
838
+
839
+ .selection-active .edge, .selection-active .node {
840
+ opacity: 0.2;
841
+ }
842
+
843
+ .selection-active .node.selected-reachable,
844
+ .selection-active .node.selected,
845
+ .selection-active .edge.highlighted {
846
+ opacity: 1;
847
+ }