nexmo-oas-renderer 2.1.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (128) hide show
  1. checksums.yaml +7 -0
  2. data/.env.example +1 -0
  3. data/.github/workflows/push-docker-publish.yml +19 -0
  4. data/.gitignore +6 -0
  5. data/.rspec +1 -0
  6. data/.rubocop.yml +135 -0
  7. data/.travis.yml +9 -0
  8. data/CHANGELOG.md +58 -0
  9. data/CONTRIBUTING.md +46 -0
  10. data/Dockerfile +6 -0
  11. data/Gemfile +6 -0
  12. data/Gemfile.lock +248 -0
  13. data/LICENSE.txt +21 -0
  14. data/README.md +103 -0
  15. data/Rakefile +2 -0
  16. data/bin/console +14 -0
  17. data/bin/setup +8 -0
  18. data/exe/nexmo-oas-renderer +5 -0
  19. data/lib/nexmo/oas/engine.rb +11 -0
  20. data/lib/nexmo/oas/renderer.rb +13 -0
  21. data/lib/nexmo/oas/renderer/app.rb +201 -0
  22. data/lib/nexmo/oas/renderer/config.ru +9 -0
  23. data/lib/nexmo/oas/renderer/config/code_languages.yml +138 -0
  24. data/lib/nexmo/oas/renderer/config/dynamic_content.yml +1 -0
  25. data/lib/nexmo/oas/renderer/decorators/response_parser_decorator.rb +55 -0
  26. data/lib/nexmo/oas/renderer/helpers/navigation.rb +66 -0
  27. data/lib/nexmo/oas/renderer/helpers/render.rb +25 -0
  28. data/lib/nexmo/oas/renderer/helpers/summary.rb +33 -0
  29. data/lib/nexmo/oas/renderer/helpers/url.rb +19 -0
  30. data/lib/nexmo/oas/renderer/presenters/api_specification.rb +54 -0
  31. data/lib/nexmo/oas/renderer/presenters/endpoint.rb +21 -0
  32. data/lib/nexmo/oas/renderer/presenters/groups.rb +39 -0
  33. data/lib/nexmo/oas/renderer/presenters/navigation.rb +26 -0
  34. data/lib/nexmo/oas/renderer/presenters/open_api_specification.rb +62 -0
  35. data/lib/nexmo/oas/renderer/presenters/request_body_raw.rb +141 -0
  36. data/lib/nexmo/oas/renderer/presenters/response_format.rb +29 -0
  37. data/lib/nexmo/oas/renderer/presenters/response_tab/link.rb +36 -0
  38. data/lib/nexmo/oas/renderer/presenters/response_tab/panel.rb +45 -0
  39. data/lib/nexmo/oas/renderer/presenters/response_tabs.rb +58 -0
  40. data/lib/nexmo/oas/renderer/presenters/versions.rb +51 -0
  41. data/lib/nexmo/oas/renderer/public/500.html +66 -0
  42. data/lib/nexmo/oas/renderer/public/assets/images/brands/android.svg +1 -0
  43. data/lib/nexmo/oas/renderer/public/assets/images/brands/curl.svg +1 -0
  44. data/lib/nexmo/oas/renderer/public/assets/images/brands/dotnet.svg +1 -0
  45. data/lib/nexmo/oas/renderer/public/assets/images/brands/ios.svg +1 -0
  46. data/lib/nexmo/oas/renderer/public/assets/images/brands/java.svg +1 -0
  47. data/lib/nexmo/oas/renderer/public/assets/images/brands/javascript.svg +1 -0
  48. data/lib/nexmo/oas/renderer/public/assets/images/brands/node.svg +1 -0
  49. data/lib/nexmo/oas/renderer/public/assets/images/brands/php.svg +1 -0
  50. data/lib/nexmo/oas/renderer/public/assets/images/brands/python.svg +11 -0
  51. data/lib/nexmo/oas/renderer/public/assets/images/brands/ruby.svg +1 -0
  52. data/lib/nexmo/oas/renderer/public/assets/images/lost.svg +37 -0
  53. data/lib/nexmo/oas/renderer/public/assets/javascripts/components/format.js +47 -0
  54. data/lib/nexmo/oas/renderer/public/assets/javascripts/nexmo-oas-renderer.js +65 -0
  55. data/lib/nexmo/oas/renderer/public/assets/javascripts/popper.min.js +5 -0
  56. data/lib/nexmo/oas/renderer/public/assets/javascripts/prism.js +22 -0
  57. data/lib/nexmo/oas/renderer/public/assets/javascripts/tooltip.min.js +5 -0
  58. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.accordion.js +307 -0
  59. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.core.js +230 -0
  60. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.modal.js +300 -0
  61. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.tabs.js +143 -0
  62. data/lib/nexmo/oas/renderer/public/assets/javascripts/volta.tooltip.js +76 -0
  63. data/lib/nexmo/oas/renderer/public/assets/stylesheets/nexmo-oas-renderer.css +287 -0
  64. data/lib/nexmo/oas/renderer/public/assets/stylesheets/nexmo-oas-renderer.css.map +7 -0
  65. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/api.scss +341 -0
  66. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/mediaqueries.scss +48 -0
  67. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/style.scss +6 -0
  68. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/themes/dark.scss +89 -0
  69. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/themes/light.scss +68 -0
  70. data/lib/nexmo/oas/renderer/public/assets/stylesheets/sass/variables.scss +91 -0
  71. data/lib/nexmo/oas/renderer/public/assets/stylesheets/volta-prism.min.css +1 -0
  72. data/lib/nexmo/oas/renderer/public/assets/stylesheets/volta.min.css +1 -0
  73. data/lib/nexmo/oas/renderer/public/assets/symbol/volta-icons.svg +1 -0
  74. data/lib/nexmo/oas/renderer/public/favicon.ico +0 -0
  75. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.eot +0 -0
  76. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.ttf +0 -0
  77. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.woff +0 -0
  78. data/lib/nexmo/oas/renderer/public/fonts/Spezia-Regular.woff2 +0 -0
  79. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.eot +0 -0
  80. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.ttf +0 -0
  81. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.woff +0 -0
  82. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiBold.woff2 +0 -0
  83. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.eot +0 -0
  84. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.ttf +0 -0
  85. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.woff +0 -0
  86. data/lib/nexmo/oas/renderer/public/fonts/Spezia-SemiMonoSemiBold.woff2 +0 -0
  87. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.eot +0 -0
  88. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.ttf +0 -0
  89. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.woff +0 -0
  90. data/lib/nexmo/oas/renderer/public/fonts/Spezia-WideMedium.woff2 +0 -0
  91. data/lib/nexmo/oas/renderer/services/oas_parser.rb +23 -0
  92. data/lib/nexmo/oas/renderer/services/open_api_definition_resolver.rb +35 -0
  93. data/lib/nexmo/oas/renderer/version.rb +9 -0
  94. data/lib/nexmo/oas/renderer/views/api/index.erb +19 -0
  95. data/lib/nexmo/oas/renderer/views/api/show.erb +1 -0
  96. data/lib/nexmo/oas/renderer/views/concepts/list/plain.html.erb +5 -0
  97. data/lib/nexmo/oas/renderer/views/layouts/_head.erb +6 -0
  98. data/lib/nexmo/oas/renderer/views/layouts/_javascripts.erb +14 -0
  99. data/lib/nexmo/oas/renderer/views/layouts/api.erb +23 -0
  100. data/lib/nexmo/oas/renderer/views/layouts/open_api.erb +12 -0
  101. data/lib/nexmo/oas/renderer/views/open_api/_auth.erb +74 -0
  102. data/lib/nexmo/oas/renderer/views/open_api/_available_endpoints.erb +25 -0
  103. data/lib/nexmo/oas/renderer/views/open_api/_callback.erb +5 -0
  104. data/lib/nexmo/oas/renderer/views/open_api/_callback_endpoint.erb +38 -0
  105. data/lib/nexmo/oas/renderer/views/open_api/_callbacks.erb +5 -0
  106. data/lib/nexmo/oas/renderer/views/open_api/_code_examples.erb +16 -0
  107. data/lib/nexmo/oas/renderer/views/open_api/_endpoint.erb +54 -0
  108. data/lib/nexmo/oas/renderer/views/open_api/_header.erb +71 -0
  109. data/lib/nexmo/oas/renderer/views/open_api/_model.erb +43 -0
  110. data/lib/nexmo/oas/renderer/views/open_api/_navigation.erb +68 -0
  111. data/lib/nexmo/oas/renderer/views/open_api/_parameter_groups.erb +56 -0
  112. data/lib/nexmo/oas/renderer/views/open_api/_parameters.erb +115 -0
  113. data/lib/nexmo/oas/renderer/views/open_api/_request_json.erb +4 -0
  114. data/lib/nexmo/oas/renderer/views/open_api/_request_one_of.erb +70 -0
  115. data/lib/nexmo/oas/renderer/views/open_api/_request_single.erb +53 -0
  116. data/lib/nexmo/oas/renderer/views/open_api/_requests.erb +22 -0
  117. data/lib/nexmo/oas/renderer/views/open_api/_response_description_parameters.erb +130 -0
  118. data/lib/nexmo/oas/renderer/views/open_api/_response_descriptions.erb +45 -0
  119. data/lib/nexmo/oas/renderer/views/open_api/_response_fields.erb +3 -0
  120. data/lib/nexmo/oas/renderer/views/open_api/_response_tabs.erb +18 -0
  121. data/lib/nexmo/oas/renderer/views/open_api/_responses.erb +51 -0
  122. data/lib/nexmo/oas/renderer/views/open_api/_tabbed_parameters.erb +64 -0
  123. data/lib/nexmo/oas/renderer/views/open_api/_tabbed_single_parameter.erb +56 -0
  124. data/lib/nexmo/oas/renderer/views/open_api/_webhooks.erb +30 -0
  125. data/lib/nexmo/oas/renderer/views/open_api/show.erb +26 -0
  126. data/lib/nexmo/oas/renderer/views/static/404.erb +6 -0
  127. data/nexmo-oas-renderer.gemspec +51 -0
  128. metadata +397 -0
@@ -0,0 +1,287 @@
1
+ @media only screen and (min-width: 576px) {
2
+ .Vlt-S-only {
3
+ display: none !important; } }
4
+
5
+ @media only screen and (max-width: 575px) {
6
+ .Vlt-M-only {
7
+ display: none !important; } }
8
+ @media only screen and (min-width: 768px) {
9
+ .Vlt-M-only {
10
+ display: none !important; } }
11
+
12
+ @media only screen and (max-width: 767px) {
13
+ .Vlt-L-plus {
14
+ display: none !important; } }
15
+
16
+ @media only screen and (max-width: 575px) {
17
+ .Vlt-M-plus {
18
+ display: none !important; } }
19
+
20
+ @media only screen and (min-width: 768px) {
21
+ .Vlt-M-less {
22
+ display: none !important; } }
23
+
24
+ .oas-page .Nxd-header__sub__menu {
25
+ margin-bottom: 0; }
26
+ .oas-page .oas-wrapper {
27
+ margin-top: 0; }
28
+ .oas-page .oas-wrapper .oas-navbar {
29
+ position: sticky;
30
+ height: 56px; }
31
+ .oas-page .oas-wrapper .oas-navbar .Vlt-native-dropdown {
32
+ margin-left: auto; }
33
+ .oas-page .oas-wrapper .oas-navbar .Vlt-native-dropdown select {
34
+ padding-right: 32px; }
35
+
36
+ .oas-wrapper {
37
+ margin-top: 50px; }
38
+ .oas-wrapper em {
39
+ font-style: italic; }
40
+ .oas-wrapper .Vlt-tooltip__content {
41
+ width: auto !important;
42
+ max-width: none !important; }
43
+ .oas-wrapper .Nxd-content {
44
+ display: flex; }
45
+ .oas-wrapper .Nxd-method-badge {
46
+ text-transform: uppercase; }
47
+ .oas-wrapper .api-path-parameter {
48
+ color: #33aaee; }
49
+ .oas-wrapper .Vlt-col {
50
+ padding: 0; }
51
+ .oas-wrapper .Vlt-accordion--chevron-left .Vlt-accordion__trigger:before {
52
+ margin-right: 8px !important; }
53
+ .oas-wrapper .oas-parameter-description {
54
+ margin-left: 16px; }
55
+ .oas-wrapper .oas-parameter-meta {
56
+ border-bottom: 1px solid #ccc;
57
+ margin-bottom: 4px; }
58
+ .oas-wrapper .oas-parameter-nested {
59
+ margin-left: 12px;
60
+ padding-left: 12px;
61
+ border-left: 1px solid #ccc; }
62
+ .oas-wrapper .oas-navbar {
63
+ position: fixed;
64
+ top: 0;
65
+ padding-left: 18px;
66
+ z-index: 100000;
67
+ width: 100vw;
68
+ display: flex; }
69
+ .oas-wrapper .oas-navbar .Vlt-native-dropdown {
70
+ height: fit-content;
71
+ margin-top: 8px;
72
+ margin-left: auto;
73
+ margin-right: 32px;
74
+ justify-content: flex-end; }
75
+ .oas-wrapper .header-row .Vlt-col {
76
+ padding: 0; }
77
+ .oas-wrapper .Vlt-grid {
78
+ margin: 0 !important; }
79
+ .oas-wrapper pre[class*=language-] code {
80
+ white-space: pre-wrap; }
81
+ .oas-wrapper .Vlt-accordion__trigger {
82
+ width: auto;
83
+ font-size: 1.5rem; }
84
+ .oas-wrapper .oas-grid {
85
+ display: flex;
86
+ width: 100%;
87
+ flex-direction: column; }
88
+ .oas-wrapper .oas-parameter-name {
89
+ margin-top: 8px; }
90
+ .oas-wrapper .oas-parameter-name-nested b {
91
+ border-bottom: 1px dashed #ccc; }
92
+ .oas-wrapper .oas-left-panel {
93
+ padding: 0 36px;
94
+ max-width: 51%;
95
+ width: 50%;
96
+ background: white; }
97
+ .oas-wrapper .oas-right-panel {
98
+ font-size: 13px;
99
+ max-width: 49%;
100
+ width: 49%;
101
+ padding: 0 16px; }
102
+ .oas-wrapper .oas-right-panel .Vlt-tabs__header {
103
+ border: 0;
104
+ padding-left: 8px; }
105
+ .oas-wrapper .oas-right-panel .Vlt-js-tabs__link_active {
106
+ font-weight: bold; }
107
+ .oas-wrapper .response-description-toggle strong {
108
+ margin-right: 4px; }
109
+ .oas-wrapper .response-tabs-selector {
110
+ display: flex;
111
+ margin-bottom: 12px;
112
+ flex-direction: row;
113
+ flex-wrap: wrap; }
114
+ .oas-wrapper .response-tabs-selector span {
115
+ padding: 6px 12px;
116
+ margin-right: 2px; }
117
+ .oas-wrapper .response-tabs-selector .response-tabs-selector-item.Vlt-js-tabs__link_active {
118
+ font-weight: normal; }
119
+ .oas-wrapper .oas-path-full {
120
+ display: flex; }
121
+ .oas-wrapper .oas-path-small, .oas-wrapper .oas-navbar-small {
122
+ display: none; }
123
+ @media only screen and (max-width: 1080px) {
124
+ .oas-wrapper .Nxd-header {
125
+ display: none !important; }
126
+ .oas-wrapper .oas-navbar {
127
+ position: sticky !important;
128
+ height: auto !important; }
129
+ .oas-wrapper .oas-navbar-full {
130
+ display: none; }
131
+ .oas-wrapper .oas-navbar-small {
132
+ display: flex; } }
133
+ @media only screen and (max-width: 1080px) {
134
+ .oas-wrapper .response-tabs-selector span {
135
+ margin-bottom: 2px; }
136
+ .oas-wrapper .oas-navbar {
137
+ padding-left: 0; }
138
+ .oas-wrapper .oas-navbar .Vlt-accordion__trigger {
139
+ padding-left: 18px; }
140
+ .oas-wrapper .oas-path-full {
141
+ display: none; }
142
+ .oas-wrapper .oas-path-small {
143
+ display: flex; }
144
+ .oas-wrapper .oas-row {
145
+ padding-left: 0; }
146
+ .oas-wrapper .oas-left-panel, .oas-wrapper .oas-right-panel {
147
+ min-width: 100%; }
148
+ .oas-wrapper .oas-right-panel {
149
+ padding: 36px; }
150
+ .oas-wrapper .oas-left-panel h2, .oas-wrapper .oas-left-panel h3 {
151
+ margin-top: 30px; }
152
+ .oas-wrapper .sm-hidden {
153
+ display: none; }
154
+ .oas-wrapper .Vlt-grid {
155
+ flex-direction: column !important; }
156
+ .oas-wrapper .Vlt-col {
157
+ margin-top: 0px !important;
158
+ margin-bottom: 0px !important; }
159
+ .oas-wrapper .Vlt-right-sm {
160
+ text-align: left !important; } }
161
+ .oas-wrapper .full-background {
162
+ position: absolute;
163
+ height: 100vh;
164
+ z-index: 0; }
165
+ .oas-wrapper .full-background.oas-right-panel {
166
+ left: 51%; }
167
+ .oas-wrapper .oas-trigger-content {
168
+ display: none;
169
+ padding: 16px; }
170
+ .oas-wrapper .oas-trigger {
171
+ font-size: 3rem;
172
+ display: inline-block;
173
+ width: 100%;
174
+ cursor: pointer;
175
+ padding: 12px 0;
176
+ padding-left: 16px;
177
+ border-bottom: 1px solid #ccc;
178
+ display: flex; }
179
+ .oas-wrapper .oas-trigger .Vlt-native-dropdown {
180
+ margin-top: 0; }
181
+ .oas-wrapper .oas-trigger:before {
182
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABkCAMAAACCTv/3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFAAAA5ubmSUUG+gAAAAJ0Uk5T/wDltzBKAAAAPklEQVR42uzYQQ0AAAgDseHfNC4IyVoD912WAACUm3uampqampqamq+aAAD+IVtTU1NTU1NT0z8EAFBsBRgAX+kR+Qam138AAAAASUVORK5CYII=);
183
+ background-position: center center;
184
+ background-repeat: no-repeat;
185
+ background-size: 22px;
186
+ content: '';
187
+ display: inline-block;
188
+ -ms-flex: 0 0 24px;
189
+ flex: 0 0 24px;
190
+ min-height: 24px;
191
+ width: 24px;
192
+ margin-right: 8px; }
193
+ .oas-wrapper .Nxd-version p {
194
+ text-transform: uppercase;
195
+ font-size: 1.3rem !important; }
196
+ .oas-wrapper .Nxd-version a {
197
+ font-size: 1.3rem !important;
198
+ color: #005282 !important; }
199
+ .oas-wrapper .Nxd-version a.active {
200
+ font-weight: bold; }
201
+ .oas-wrapper .constraint {
202
+ text-transform: uppercase;
203
+ font-size: 0.82em;
204
+ font-weight: 600;
205
+ color: #f25a6b; }
206
+ .oas-wrapper .xml-flag {
207
+ text-transform: uppercase;
208
+ font-size: 0.82em;
209
+ font-weight: 600;
210
+ color: #117bb8; }
211
+
212
+ .theme-light .Vlt-switch__slider:after {
213
+ background-image: url("data:image/svg+xml,%0A%3Csvg height='15px' viewBox='0 0 230 200' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23131415' d='M45.3408,0 L-0.0002,0 L64.6808,146.958 C65.1748,148.081 66.7718,148.07 67.2508,146.942 L88.7628,96.337 L45.3408,0 Z'%3E%3C/path%3E%3Cpath fill='%23131415' d='M183.4502,0 C183.4502,0 113.9562,159.156 104.6482,173.833 C93.8292,190.896 86.6592,197.409 73.3912,199.496 C73.2682,199.515 73.1772,199.621 73.1772,199.746 C73.1772,199.886 73.2912,200 73.4312,200 L114.9552,200 C132.9432,200 145.9152,184.979 153.1042,171.714 C161.2742,156.637 229.5902,0 229.5902,0 L183.4502,0 Z'%3E%3C/path%3E%3C/svg%3E");
214
+ background-repeat: no-repeat;
215
+ background-position: center; }
216
+ .theme-light .theme-link {
217
+ color: black; }
218
+ .theme-light .oas-navbar, .theme-light .oas-right-panel {
219
+ background: #f8fafc !important; }
220
+ .theme-light .group-link {
221
+ background: black !important;
222
+ color: white; }
223
+ .theme-light .Nxd-method-badge--post {
224
+ color: #2d966f;
225
+ background: #d7f2e8; }
226
+ .theme-light .Nxd-method-badge--get {
227
+ color: #117bb8;
228
+ background: #d6eefc; }
229
+ .theme-light .Nxd-method-badge--delete {
230
+ color: #bb3241;
231
+ background: #fde8eb; }
232
+ .theme-light .Nxd-method-badge--patch {
233
+ color: #00848e;
234
+ background: #dbf3f6; }
235
+ .theme-light .Nxd-method-badge--put {
236
+ color: #8f4fa7;
237
+ background: #f3e7f8; }
238
+ .theme-light .oas-right-panel .Vlt-js-tabs__link_active {
239
+ background: #131415 !important;
240
+ color: white; }
241
+ .theme-light .oas-right-panel h4,
242
+ .theme-light .oas-right-panel .Vlt-tabs__link {
243
+ color: black !important; }
244
+
245
+ .theme-dark .Vlt-switch__slider:after {
246
+ background: black;
247
+ background-image: url("data:image/svg+xml,%0A%3Csvg width='15px' height='200px' viewBox='0 0 230 200' version='1.1' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%23ffffff' d='M45.3408,0 L-0.0002,0 L64.6808,146.958 C65.1748,148.081 66.7718,148.07 67.2508,146.942 L88.7628,96.337 L45.3408,0 Z'%3E%3C/path%3E%3Cpath fill='%23ffffff' d='M183.4502,0 C183.4502,0 113.9562,159.156 104.6482,173.833 C93.8292,190.896 86.6592,197.409 73.3912,199.496 C73.2682,199.515 73.1772,199.621 73.1772,199.746 C73.1772,199.886 73.2912,200 73.4312,200 L114.9552,200 C132.9432,200 145.9152,184.979 153.1042,171.714 C161.2742,156.637 229.5902,0 229.5902,0 L183.4502,0 Z'%3E%3C/path%3E%3C/svg%3E");
248
+ background-repeat: no-repeat;
249
+ background-position: center;
250
+ left: 22px; }
251
+ .theme-dark .theme-link {
252
+ color: white !important; }
253
+ .theme-dark .group-link {
254
+ background: #e1e2e6 !important;
255
+ color: #131415; }
256
+ .theme-dark .oas-navbar .oas-trigger, .theme-dark .oas-navbar h4 {
257
+ color: white !important; }
258
+ .theme-dark .oas-navbar .oas-trigger:before, .theme-dark .oas-navbar h4:before {
259
+ filter: invert(100%); }
260
+ .theme-dark .oas-navbar, .theme-dark .oas-right-panel {
261
+ background: #131415; }
262
+ .theme-dark .Vlt-native-dropdown select {
263
+ background: #e1e2e6 !important;
264
+ color: black; }
265
+ .theme-dark .Vlt-native-dropdown:after {
266
+ filter: invert(100%); }
267
+ .theme-dark .Nxd-method-badge {
268
+ color: white;
269
+ text-transform: uppercase; }
270
+ .theme-dark .Nxd-method-badge--post {
271
+ background: #35be8b; }
272
+ .theme-dark .Nxd-method-badge--get {
273
+ background: #117bb8; }
274
+ .theme-dark .Nxd-method-badge--delete {
275
+ background: #f25a6b; }
276
+ .theme-dark .Nxd-method-badge--patch {
277
+ background: #4cc3d2; }
278
+ .theme-dark .Nxd-method-badge--put {
279
+ background: #8f4fa7; }
280
+ .theme-dark .oas-right-panel .Vlt-tabs__link {
281
+ color: white !important; }
282
+ .theme-dark .oas-right-panel .Vlt-tabs__link_active:after {
283
+ background: white !important; }
284
+ .theme-dark .oas-right-panel .Vlt-js-tabs__link_active {
285
+ background: white !important; }
286
+
287
+ /*# sourceMappingURL=nexmo-oas-renderer.css.map */
@@ -0,0 +1,7 @@
1
+ {
2
+ "version": 3,
3
+ "mappings": "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",
4
+ "sources": ["sass/mediaqueries.scss","sass/api.scss","sass/variables.scss","sass/themes/light.scss","sass/themes/dark.scss"],
5
+ "names": [],
6
+ "file": "nexmo-oas-renderer.css"
7
+ }
@@ -0,0 +1,341 @@
1
+ .oas-page {
2
+ .Nxd-header__sub__menu {
3
+ margin-bottom: 0;
4
+ }
5
+
6
+ .oas-wrapper {
7
+ margin-top: 0;
8
+ .oas-navbar {
9
+ position: sticky;
10
+ height: 56px;
11
+
12
+ .Vlt-native-dropdown {
13
+ margin-left: auto;
14
+
15
+ select {
16
+ padding-right: 32px;
17
+ }
18
+ }
19
+ }
20
+
21
+ }
22
+ }
23
+
24
+ .oas-wrapper {
25
+ margin-top: 50px;
26
+
27
+ em {
28
+ font-style: italic;
29
+ }
30
+
31
+ .Vlt-tooltip__content {
32
+ width: auto !important;
33
+ max-width: none !important;
34
+ }
35
+
36
+ .Nxd-content {
37
+ display: flex;
38
+ }
39
+
40
+ .Nxd-method-badge {
41
+ text-transform: uppercase;
42
+ }
43
+
44
+ .api-path-parameter {
45
+ color: $blue;
46
+ }
47
+
48
+ .Vlt-col {
49
+ padding: 0;
50
+ }
51
+
52
+ .Vlt-accordion--chevron-left {
53
+ .Vlt-accordion__trigger {
54
+ &:before {
55
+ margin-right: 8px !important;
56
+ }
57
+ }
58
+ }
59
+
60
+ // New Layout
61
+
62
+ .oas-parameter-description {
63
+ margin-left: 16px;
64
+ }
65
+
66
+ .oas-parameter-meta {
67
+ border-bottom: 1px solid #ccc;
68
+ margin-bottom: 4px;
69
+ }
70
+
71
+ .oas-parameter-nested {
72
+ margin-left:12px;
73
+ padding-left:12px;
74
+ border-left: 1px solid #ccc;
75
+ }
76
+
77
+ .oas-navbar {
78
+ position: fixed;
79
+ top: 0;
80
+ padding-left: 18px;
81
+ z-index: 100000;
82
+ width: 100vw;
83
+ display: flex;
84
+
85
+ .Vlt-native-dropdown {
86
+ height: fit-content;
87
+ margin-top: 8px;
88
+ margin-left: auto;
89
+ margin-right: 32px;
90
+ justify-content: flex-end;
91
+ }
92
+ }
93
+
94
+ .header-row {
95
+ .Vlt-col {
96
+ padding: 0;
97
+ }
98
+ }
99
+
100
+ .Vlt-grid {
101
+ margin: 0 !important;
102
+ }
103
+
104
+ pre[class*=language-] code {
105
+ white-space: pre-wrap;
106
+ }
107
+
108
+ .Vlt-accordion__trigger {
109
+ width: auto;
110
+ font-size: 1.5rem;
111
+ }
112
+
113
+ .oas-grid {
114
+ display: flex;
115
+ width: 100%;
116
+ flex-direction: column;
117
+ }
118
+
119
+ .oas-parameter-name {
120
+ margin-top: 8px;
121
+ }
122
+
123
+ .oas-parameter-name-nested {
124
+ b {
125
+ border-bottom: 1px dashed #ccc;
126
+ }
127
+ }
128
+
129
+ .oas-left-panel {
130
+ padding: 0 36px;
131
+ max-width: 51%;
132
+ width: 50%;
133
+ background: white;
134
+ }
135
+
136
+ .oas-right-panel {
137
+ font-size: 13px;
138
+ max-width:49%;
139
+ width: 49%;
140
+ padding: 0 16px;
141
+
142
+ .Vlt-tabs__header {
143
+ border:0;
144
+ padding-left: 8px;
145
+ }
146
+
147
+ .Vlt-js-tabs__link_active {
148
+ font-weight: bold;
149
+ }
150
+ }
151
+
152
+
153
+ .response-description-toggle strong {
154
+ margin-right: 4px;
155
+ }
156
+
157
+ .response-tabs-selector {
158
+ display: flex;
159
+ margin-bottom: 12px;
160
+ flex-direction: row;
161
+ flex-wrap: wrap;
162
+ span {
163
+ padding: 6px 12px;
164
+ margin-right: 2px;
165
+ }
166
+ .response-tabs-selector-item.Vlt-js-tabs__link_active {
167
+ font-weight: normal;
168
+ }
169
+ }
170
+
171
+ .oas-path-full {
172
+ display: flex;
173
+ }
174
+
175
+
176
+ .oas-path-small, .oas-navbar-small {
177
+ display: none;
178
+ }
179
+
180
+
181
+ @media only screen and (max-width: 1080px) {
182
+ .Nxd-header {
183
+ display: none !important;
184
+ }
185
+
186
+ .oas-navbar {
187
+ position: sticky !important;
188
+ height: auto !important;
189
+ }
190
+
191
+ .oas-navbar-full {
192
+ display: none;
193
+ }
194
+
195
+ .oas-navbar-small {
196
+ display: flex;
197
+ }
198
+
199
+ }
200
+
201
+ @media only screen and (max-width: 1080px) {
202
+
203
+ .response-tabs-selector {
204
+ span {
205
+ margin-bottom: 2px;
206
+ }
207
+ }
208
+
209
+ .oas-navbar {
210
+ padding-left: 0;
211
+ .Vlt-accordion__trigger {
212
+ padding-left: 18px;
213
+ }
214
+ .Vlt-accordion__content > div {
215
+ }
216
+ }
217
+
218
+ .oas-path-full {
219
+ display: none;
220
+ }
221
+
222
+ .oas-path-small {
223
+ display: flex;
224
+ }
225
+
226
+ .oas-row {
227
+ padding-left: 0;
228
+ }
229
+
230
+ .oas-left-panel, .oas-right-panel {
231
+ min-width: 100%;
232
+ }
233
+
234
+ .oas-right-panel {
235
+ padding: 36px;
236
+ }
237
+
238
+ .oas-left-panel {
239
+ h2, h3 {
240
+ margin-top: 30px;
241
+ }
242
+ }
243
+
244
+ .sm-hidden {
245
+ display: none;
246
+ }
247
+
248
+ .Vlt-grid {
249
+ flex-direction: column !important;
250
+ }
251
+
252
+ .Vlt-col {
253
+ margin-top: 0px !important;
254
+ margin-bottom: 0px !important;
255
+ }
256
+
257
+ .Vlt-right-sm {
258
+ text-align: left !important;
259
+ }
260
+
261
+ }
262
+
263
+
264
+ .full-background {
265
+ position: absolute;
266
+ height: 100vh;
267
+ z-index: 0;
268
+ &.oas-right-panel {
269
+ left: 51%;
270
+ }
271
+ }
272
+
273
+ .oas-trigger-content {
274
+ display: none;
275
+ padding: 16px;
276
+ }
277
+
278
+ .oas-trigger {
279
+ font-size: 3rem;
280
+ display: inline-block;
281
+ width: 100%;
282
+ cursor: pointer;
283
+ padding: 12px 0;
284
+ padding-left: 16px;
285
+ border-bottom: 1px solid #ccc;
286
+ display: flex;
287
+
288
+ .Vlt-native-dropdown {
289
+ margin-top: 0;
290
+ }
291
+ }
292
+
293
+ .oas-trigger:before {
294
+ background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAHMAAABkCAMAAACCTv/3AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAAZQTFRFAAAA5ubmSUUG+gAAAAJ0Uk5T/wDltzBKAAAAPklEQVR42uzYQQ0AAAgDseHfNC4IyVoD912WAACUm3uampqampqamq+aAAD+IVtTU1NTU1NT0z8EAFBsBRgAX+kR+Qam138AAAAASUVORK5CYII=);
295
+
296
+ background-position: center center;
297
+ background-repeat: no-repeat;
298
+ background-size: 22px;
299
+ content: '';
300
+ display: inline-block;
301
+ -ms-flex: 0 0 24px;
302
+ flex: 0 0 24px;
303
+ min-height: 24px;
304
+ width: 24px;
305
+ margin-right: 8px;
306
+ }
307
+
308
+
309
+
310
+ // OAS Version switcher
311
+ .Nxd-version {
312
+ p {
313
+ text-transform: uppercase;
314
+ font-size: 1.3rem !important;
315
+ }
316
+
317
+ a {
318
+ font-size: 1.3rem !important;
319
+ color: #005282 !important;
320
+ &.active {
321
+ font-weight: bold;
322
+ }
323
+ }
324
+ }
325
+
326
+ // Used for the Required field
327
+ .constraint {
328
+ text-transform: uppercase;
329
+ font-size: 0.82em;
330
+ font-weight: 600;
331
+ color: $red;
332
+ }
333
+
334
+ .xml-flag {
335
+ text-transform: uppercase;
336
+ font-size: 0.82em;
337
+ font-weight: 600;
338
+ color: $blue-dark;
339
+ }
340
+
341
+ }