trestle-jsoneditor 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,25 @@
1
+ //= require vendored_jsoneditor/jsoneditor
2
+
3
+ Trestle.init(function (root) {
4
+ $(root).find('[data-enable-jsoneditor]').each(function (index, element) {
5
+ const $field = $(element).parent().find('input.json-text-area');
6
+ let object;
7
+ try {
8
+ object = JSON.parse($field.val());
9
+ } catch {
10
+ object = {}
11
+ }
12
+
13
+ const editor = new JSONEditor(element, Object.assign({
14
+ mode: 'code',
15
+ onChangeText: function (string) {
16
+ $field.val(string)
17
+ }
18
+ }, Trestle.JSONEditorConfig || {}), object)
19
+
20
+ editor.aceEditor.setOptions({
21
+ maxLines: 10000
22
+ })
23
+ })
24
+ })
25
+
@@ -0,0 +1 @@
1
+ /*= require vendored_jsoneditor/jsoneditor */
@@ -0,0 +1,19 @@
1
+ require "trestle/jsoneditor/field"
2
+
3
+ Trestle.configure do |config|
4
+ config.jsoneditor.configure do |c|
5
+ c.indent_with_tabs = false
6
+ c.auto_download_font_awesome = false
7
+ end
8
+
9
+ config.hook(:stylesheets) { stylesheet_link_tag "trestle/jsoneditor" }
10
+
11
+ config.hook(:javascripts) do
12
+ config = Trestle.config.jsoneditor
13
+
14
+ javascript_include_tag("trestle/jsoneditor") +
15
+ javascript_tag("Trestle.JSONEditorConfig = #{config.to_javascript.to_json};")
16
+ end
17
+
18
+ config.form_field :jsoneditor, Trestle::JSONEditor::Field
19
+ end
@@ -0,0 +1,6 @@
1
+ require "trestle"
2
+ require "trestle/jsoneditor/version"
3
+ require "trestle/jsoneditor/configuration"
4
+ require "trestle/jsoneditor/engine" if defined?(Rails)
5
+
6
+ Trestle::Configuration.option :jsoneditor, Trestle::JSONEditor::Configuration.new
@@ -0,0 +1,15 @@
1
+ module Trestle
2
+ module JSONEditor
3
+ class Configuration
4
+ include Configurable
5
+ include Configurable::Open
6
+
7
+ def to_javascript
8
+ Hash[*options.map { |key, value|
9
+ value = value.to_javascript if value.is_a?(self.class)
10
+ [key.to_s.camelize(:lower), value]
11
+ }.flatten]
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,7 @@
1
+ module Trestle
2
+ module JSONEditor
3
+ class Engine < ::Rails::Engine
4
+ config.assets.precompile << "trestle/jsoneditor.js" << "trestle/jsoneditor.css"
5
+ end
6
+ end
7
+ end
@@ -0,0 +1,24 @@
1
+ module Trestle
2
+ module JSONEditor
3
+ class Field < Trestle::Form::Fields::FormControl
4
+ def defaults
5
+ super.merge(class: "json-text-area")
6
+ end
7
+
8
+ def field
9
+ value = if builder.object
10
+ builder.object.send(name)
11
+ else
12
+ {}
13
+ end
14
+
15
+ content_tag(:div, class: "json-text-area") do
16
+ concat builder.hidden_field(name, options.merge(value: value.to_json))
17
+ concat content_tag(:div, "", data: { enable_jsoneditor: true, value_field: name })
18
+ end
19
+ end
20
+ end
21
+ end
22
+ end
23
+
24
+ Trestle::Form::Builder.register(:json_editor, Trestle::JSONEditor::Field)
@@ -0,0 +1,5 @@
1
+ module Trestle
2
+ module JSONEditor
3
+ VERSION = "0.1.0"
4
+ end
5
+ end
data/package-lock.json ADDED
@@ -0,0 +1,120 @@
1
+ {
2
+ "name": "trestle-jsoneditor",
3
+ "version": "0.1.0",
4
+ "lockfileVersion": 1,
5
+ "requires": true,
6
+ "dependencies": {
7
+ "@sphinxxxx/color-conversion": {
8
+ "version": "2.2.2",
9
+ "resolved": "https://registry.npmjs.org/@sphinxxxx/color-conversion/-/color-conversion-2.2.2.tgz",
10
+ "integrity": "sha512-XExJS3cLqgrmNBIP3bBw6+1oQ1ksGjFh0+oClDKFYpCCqx/hlqwWO5KO/S63fzUo67SxI9dMrF0y5T/Ey7h8Zw==",
11
+ "dev": true
12
+ },
13
+ "ace-builds": {
14
+ "version": "1.4.8",
15
+ "resolved": "https://registry.npmjs.org/ace-builds/-/ace-builds-1.4.8.tgz",
16
+ "integrity": "sha512-8ZVAxwyCGAxQX8mOp9imSXH0hoSPkGfy8igJy+WO/7axL30saRhKgg1XPACSmxxPA7nfHVwM+ShWXT+vKsNuFg==",
17
+ "dev": true
18
+ },
19
+ "ajv": {
20
+ "version": "6.12.0",
21
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz",
22
+ "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==",
23
+ "dev": true,
24
+ "requires": {
25
+ "fast-deep-equal": "^3.1.1",
26
+ "fast-json-stable-stringify": "^2.0.0",
27
+ "json-schema-traverse": "^0.4.1",
28
+ "uri-js": "^4.2.2"
29
+ }
30
+ },
31
+ "fast-deep-equal": {
32
+ "version": "3.1.1",
33
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz",
34
+ "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==",
35
+ "dev": true
36
+ },
37
+ "fast-json-stable-stringify": {
38
+ "version": "2.1.0",
39
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
40
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
41
+ "dev": true
42
+ },
43
+ "javascript-natural-sort": {
44
+ "version": "0.7.1",
45
+ "resolved": "https://registry.npmjs.org/javascript-natural-sort/-/javascript-natural-sort-0.7.1.tgz",
46
+ "integrity": "sha1-+eIwPUUH9tdDVac2ZNFED7Wg71k=",
47
+ "dev": true
48
+ },
49
+ "jmespath": {
50
+ "version": "0.15.0",
51
+ "resolved": "https://registry.npmjs.org/jmespath/-/jmespath-0.15.0.tgz",
52
+ "integrity": "sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc=",
53
+ "dev": true
54
+ },
55
+ "json-schema-traverse": {
56
+ "version": "0.4.1",
57
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
58
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
59
+ "dev": true
60
+ },
61
+ "json-source-map": {
62
+ "version": "0.6.1",
63
+ "resolved": "https://registry.npmjs.org/json-source-map/-/json-source-map-0.6.1.tgz",
64
+ "integrity": "sha512-1QoztHPsMQqhDq0hlXY5ZqcEdUzxQEIxgFkKl4WUp2pgShObl+9ovi4kRh2TfvAfxAoHOJ9vIMEqk3k4iex7tg==",
65
+ "dev": true
66
+ },
67
+ "jsoneditor": {
68
+ "version": "8.6.1",
69
+ "resolved": "https://registry.npmjs.org/jsoneditor/-/jsoneditor-8.6.1.tgz",
70
+ "integrity": "sha512-E9bAGus/xFMEgAnKMZEQqnyzdbPvsrWQNU2HjbXitl71V2ZaWTqxcNJEGXeA4n2mEjxYst6GzWm3NGGh2AwXdg==",
71
+ "dev": true,
72
+ "requires": {
73
+ "ace-builds": "^1.4.8",
74
+ "ajv": "^6.11.0",
75
+ "javascript-natural-sort": "^0.7.1",
76
+ "jmespath": "^0.15.0",
77
+ "json-source-map": "^0.6.1",
78
+ "mobius1-selectr": "^2.4.13",
79
+ "picomodal": "^3.0.0",
80
+ "vanilla-picker": "^2.10.1"
81
+ }
82
+ },
83
+ "mobius1-selectr": {
84
+ "version": "2.4.13",
85
+ "resolved": "https://registry.npmjs.org/mobius1-selectr/-/mobius1-selectr-2.4.13.tgz",
86
+ "integrity": "sha512-Mk9qDrvU44UUL0EBhbAA1phfQZ7aMZPjwtL7wkpiBzGh8dETGqfsh50mWoX9EkjDlkONlErWXArHCKfoxVg0Bw==",
87
+ "dev": true
88
+ },
89
+ "picomodal": {
90
+ "version": "3.0.0",
91
+ "resolved": "https://registry.npmjs.org/picomodal/-/picomodal-3.0.0.tgz",
92
+ "integrity": "sha1-+s0w9PvzSoCcHgTqUl8ATzmcC4I=",
93
+ "dev": true
94
+ },
95
+ "punycode": {
96
+ "version": "2.1.1",
97
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
98
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
99
+ "dev": true
100
+ },
101
+ "uri-js": {
102
+ "version": "4.2.2",
103
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz",
104
+ "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==",
105
+ "dev": true,
106
+ "requires": {
107
+ "punycode": "^2.1.0"
108
+ }
109
+ },
110
+ "vanilla-picker": {
111
+ "version": "2.10.1",
112
+ "resolved": "https://registry.npmjs.org/vanilla-picker/-/vanilla-picker-2.10.1.tgz",
113
+ "integrity": "sha512-Bo4HOKkSorcQoRB08HwDMb8X2jt3SsZw7gzFlbzXbhnaxdUVJBm3LOUudr7M1SCVwPCo8d3nq8ajiAg8lAoqPg==",
114
+ "dev": true,
115
+ "requires": {
116
+ "@sphinxxxx/color-conversion": "^2.2.2"
117
+ }
118
+ }
119
+ }
120
+ }
data/package.json ADDED
@@ -0,0 +1,18 @@
1
+ {
2
+ "name": "trestle-jsoneditor",
3
+ "version": "0.1.0",
4
+ "description": "> [JSONEditor](https://github.com/josdejong/jsoneditor) integration plugin for the Trestle admin framework",
5
+ "main": "index.js",
6
+ "directories": {
7
+ "lib": "lib"
8
+ },
9
+ "devDependencies": {
10
+ "jsoneditor": "^8.6.1"
11
+ },
12
+ "dependencies": {},
13
+ "scripts": {
14
+ "test": "echo \"Error: no test specified\" && exit 1"
15
+ },
16
+ "author": "",
17
+ "license": "LGPLv3"
18
+ }
@@ -0,0 +1,26 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path("../lib", __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require "trestle/jsoneditor/version"
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "trestle-jsoneditor"
8
+ spec.version = Trestle::JSONEditor::VERSION
9
+
10
+ spec.authors = ["Harry Brundage"]
11
+ spec.email = ["harry@harry.me"]
12
+
13
+ spec.summary = "JSONEditor integration for the Trestle admin framework"
14
+ spec.description = "JSONEditor integration for the Trestle admin framework."
15
+ spec.homepage = "https://www.trestle.io"
16
+ spec.license = "LGPL-3.0"
17
+
18
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "trestle", "~> 0.9"
22
+ spec.add_dependency "activesupport", ">= 4.2.0"
23
+
24
+ spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "rspec", "~> 3.0"
26
+ end
data/vendor-assets.sh ADDED
@@ -0,0 +1,6 @@
1
+ #!/bin/bash
2
+ set -ex
3
+ npm install
4
+ cp node_modules/jsoneditor/dist/jsoneditor.{js,css} vendor/assets/jsoneditor/vendored_jsoneditor
5
+ mkdir -p app/assets/images/trestle/img
6
+ cp -r node_modules/jsoneditor/dist/img app/assets/images/trestle
@@ -0,0 +1,2000 @@
1
+ .jsoneditor input,
2
+ .jsoneditor input:not([type]),
3
+ .jsoneditor input[type="text"],
4
+ .jsoneditor input[type="search"],
5
+ .jsoneditor-modal input,
6
+ .jsoneditor-modal input:not([type]),
7
+ .jsoneditor-modal input[type="text"],
8
+ .jsoneditor-modal input[type="search"] {
9
+ height: auto;
10
+ border: inherit;
11
+ box-shadow: none;
12
+ font-size: inherit;
13
+ box-sizing: inherit;
14
+ padding: inherit;
15
+ font-family: inherit;
16
+ transition: none;
17
+ line-height: inherit;
18
+ }
19
+
20
+ .jsoneditor input:focus,
21
+ .jsoneditor input:not([type]):focus,
22
+ .jsoneditor input[type="text"]:focus,
23
+ .jsoneditor input[type="search"]:focus,
24
+ .jsoneditor-modal input:focus,
25
+ .jsoneditor-modal input:not([type]):focus,
26
+ .jsoneditor-modal input[type="text"]:focus,
27
+ .jsoneditor-modal input[type="search"]:focus {
28
+ border: inherit;
29
+ box-shadow: inherit;
30
+ }
31
+
32
+ .jsoneditor textarea,
33
+ .jsoneditor-modal textarea {
34
+ height: inherit;
35
+ }
36
+
37
+ .jsoneditor select,
38
+ .jsoneditor-modal select {
39
+ display: inherit;
40
+ height: inherit;
41
+ }
42
+
43
+ .jsoneditor label,
44
+ .jsoneditor-modal label {
45
+ font-size: inherit;
46
+ font-weight: inherit;
47
+ color: inherit;
48
+ }
49
+
50
+ .jsoneditor table,
51
+ .jsoneditor-modal table {
52
+ border-collapse: collapse;
53
+ width: auto;
54
+ }
55
+
56
+ .jsoneditor td,
57
+ .jsoneditor th,
58
+ .jsoneditor-modal td,
59
+ .jsoneditor-modal th {
60
+ padding: 0;
61
+ display: table-cell;
62
+ text-align: left;
63
+ vertical-align: inherit;
64
+ border-radius: inherit;
65
+ }
66
+
67
+ .jsoneditor .autocomplete.dropdown {
68
+ position: absolute;
69
+ background: #ffffff;
70
+ box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3);
71
+ border: 1px solid #d3d3d3;
72
+ overflow-x: hidden;
73
+ overflow-y: auto;
74
+ cursor: default;
75
+ margin: 0;
76
+ padding: 5px;
77
+ text-align: left;
78
+ outline: 0;
79
+ font-family: "dejavu sans mono", "droid sans mono", consolas, monaco, "lucida console", "courier new", courier, monospace, sans-serif;
80
+ font-size: 10pt;
81
+ }
82
+
83
+ .jsoneditor .autocomplete.dropdown .item {
84
+ color: #333;
85
+ }
86
+
87
+ .jsoneditor .autocomplete.dropdown .item.hover {
88
+ background-color: #ddd;
89
+ }
90
+
91
+ .jsoneditor .autocomplete.hint {
92
+ color: #aaa;
93
+ top: 4px;
94
+ left: 4px;
95
+ }
96
+
97
+ .jsoneditor-contextmenu-root {
98
+ position: relative;
99
+ width: 0;
100
+ height: 0;
101
+ }
102
+
103
+ .jsoneditor-contextmenu {
104
+ position: absolute;
105
+ box-sizing: content-box;
106
+ z-index: 1;
107
+ }
108
+
109
+ .jsoneditor-contextmenu .jsoneditor-menu {
110
+ position: relative;
111
+ left: 0;
112
+ top: 0;
113
+ width: 128px;
114
+ height: auto;
115
+ background: #ffffff;
116
+ border: 1px solid #d3d3d3;
117
+ box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3);
118
+ list-style: none;
119
+ margin: 0;
120
+ padding: 0;
121
+ }
122
+
123
+ .jsoneditor-contextmenu .jsoneditor-menu button {
124
+ position: relative;
125
+ padding: 0 4px 0 0;
126
+ margin: 0;
127
+ width: 128px;
128
+ height: auto;
129
+ border: none;
130
+ cursor: pointer;
131
+ color: #4d4d4d;
132
+ background: transparent;
133
+ font-size: 10pt;
134
+ font-family: arial, sans-serif;
135
+ box-sizing: border-box;
136
+ text-align: left;
137
+ }
138
+
139
+ .jsoneditor-contextmenu .jsoneditor-menu button::-moz-focus-inner {
140
+ padding: 0;
141
+ border: 0;
142
+ }
143
+
144
+ .jsoneditor-contextmenu .jsoneditor-menu button.jsoneditor-default {
145
+ width: 96px;
146
+ }
147
+
148
+ .jsoneditor-contextmenu .jsoneditor-menu button.jsoneditor-expand {
149
+ float: right;
150
+ width: 32px;
151
+ height: 24px;
152
+ border-left: 1px solid #e5e5e5;
153
+ }
154
+
155
+ .jsoneditor-contextmenu .jsoneditor-menu li {
156
+ overflow: hidden;
157
+ }
158
+
159
+ .jsoneditor-contextmenu .jsoneditor-menu li ul {
160
+ display: none;
161
+ position: relative;
162
+ left: -10px;
163
+ top: 0;
164
+ border: none;
165
+ box-shadow: inset 0 0 10px rgba(128, 128, 128, 0.5);
166
+ padding: 0 10px;
167
+ -webkit-transition: all 0.3s ease-out;
168
+ -moz-transition: all 0.3s ease-out;
169
+ -o-transition: all 0.3s ease-out;
170
+ transition: all 0.3s ease-out;
171
+ }
172
+
173
+ .jsoneditor-contextmenu .jsoneditor-menu li ul .jsoneditor-icon {
174
+ margin-left: 24px;
175
+ }
176
+
177
+ .jsoneditor-contextmenu .jsoneditor-menu li ul li button {
178
+ padding-left: 24px;
179
+ animation: all ease-in-out 1s;
180
+ }
181
+
182
+ .jsoneditor-contextmenu .jsoneditor-menu li button .jsoneditor-expand {
183
+ position: absolute;
184
+ top: 0;
185
+ right: 0;
186
+ width: 24px;
187
+ height: 24px;
188
+ padding: 0;
189
+ margin: 0 4px 0 0;
190
+ background: url("img/jsoneditor-icons.svg") 0 -72px;
191
+ }
192
+
193
+ .jsoneditor-contextmenu .jsoneditor-icon {
194
+ position: absolute;
195
+ top: 0;
196
+ left: 0;
197
+ width: 24px;
198
+ height: 24px;
199
+ border: none;
200
+ padding: 0;
201
+ margin: 0;
202
+ background-image: url("img/jsoneditor-icons.svg");
203
+ }
204
+
205
+ .jsoneditor-contextmenu .jsoneditor-text {
206
+ padding: 4px 0 4px 24px;
207
+ word-wrap: break-word;
208
+ }
209
+
210
+ .jsoneditor-contextmenu .jsoneditor-text.jsoneditor-right-margin {
211
+ padding-right: 24px;
212
+ }
213
+
214
+ .jsoneditor-contextmenu .jsoneditor-separator {
215
+ height: 0;
216
+ border-top: 1px solid #e5e5e5;
217
+ padding-top: 5px;
218
+ margin-top: 5px;
219
+ }
220
+
221
+ .jsoneditor-contextmenu button.jsoneditor-remove .jsoneditor-icon {
222
+ background-position: -24px 0;
223
+ }
224
+
225
+ .jsoneditor-contextmenu button.jsoneditor-append .jsoneditor-icon {
226
+ background-position: 0 0;
227
+ }
228
+
229
+ .jsoneditor-contextmenu button.jsoneditor-insert .jsoneditor-icon {
230
+ background-position: 0 0;
231
+ }
232
+
233
+ .jsoneditor-contextmenu button.jsoneditor-duplicate .jsoneditor-icon {
234
+ background-position: -48px 0;
235
+ }
236
+
237
+ .jsoneditor-contextmenu button.jsoneditor-sort-asc .jsoneditor-icon {
238
+ background-position: -168px 0;
239
+ }
240
+
241
+ .jsoneditor-contextmenu button.jsoneditor-sort-desc .jsoneditor-icon {
242
+ background-position: -192px 0;
243
+ }
244
+
245
+ .jsoneditor-contextmenu button.jsoneditor-transform .jsoneditor-icon {
246
+ background-position: -216px 0;
247
+ }
248
+
249
+ .jsoneditor-contextmenu button.jsoneditor-extract .jsoneditor-icon {
250
+ background-position: 0 -24px;
251
+ }
252
+
253
+ .jsoneditor-contextmenu button.jsoneditor-type-string .jsoneditor-icon {
254
+ background-position: -144px 0;
255
+ }
256
+
257
+ .jsoneditor-contextmenu button.jsoneditor-type-auto .jsoneditor-icon {
258
+ background-position: -120px 0;
259
+ }
260
+
261
+ .jsoneditor-contextmenu button.jsoneditor-type-object .jsoneditor-icon {
262
+ background-position: -72px 0;
263
+ }
264
+
265
+ .jsoneditor-contextmenu button.jsoneditor-type-array .jsoneditor-icon {
266
+ background-position: -96px 0;
267
+ }
268
+
269
+ .jsoneditor-contextmenu button.jsoneditor-type-modes .jsoneditor-icon {
270
+ background-image: none;
271
+ width: 6px;
272
+ }
273
+
274
+ .jsoneditor-contextmenu ul,
275
+ .jsoneditor-contextmenu li {
276
+ box-sizing: content-box;
277
+ position: relative;
278
+ }
279
+
280
+ .jsoneditor-contextmenu .jsoneditor-menu button:hover,
281
+ .jsoneditor-contextmenu .jsoneditor-menu button:focus {
282
+ color: #1a1a1a;
283
+ background-color: #f5f5f5;
284
+ outline: none;
285
+ }
286
+
287
+ .jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected,
288
+ .jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:hover,
289
+ .jsoneditor-contextmenu .jsoneditor-menu li button.jsoneditor-selected:focus {
290
+ color: #ffffff;
291
+ background-color: #ee422e;
292
+ }
293
+
294
+ .jsoneditor-contextmenu .jsoneditor-menu li ul li button:hover,
295
+ .jsoneditor-contextmenu .jsoneditor-menu li ul li button:focus {
296
+ background-color: #f5f5f5;
297
+ }
298
+
299
+ .jsoneditor-modal {
300
+ max-width: 95%;
301
+ border-radius: 2px !important;
302
+ padding: 45px 15px 15px 15px !important;
303
+ box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3);
304
+ color: #4d4d4d;
305
+ line-height: 1.3em;
306
+ }
307
+
308
+ .jsoneditor-modal.jsoneditor-modal-transform {
309
+ width: 600px !important;
310
+ }
311
+
312
+ .jsoneditor-modal .pico-modal-header {
313
+ position: absolute;
314
+ box-sizing: border-box;
315
+ top: 0;
316
+ left: 0;
317
+ width: 100%;
318
+ padding: 0 10px;
319
+ height: 30px;
320
+ line-height: 30px;
321
+ font-family: arial, sans-serif;
322
+ font-size: 11pt;
323
+ background: #3883fa;
324
+ color: #ffffff;
325
+ }
326
+
327
+ .jsoneditor-modal table {
328
+ width: 100%;
329
+ }
330
+
331
+ .jsoneditor-modal table td {
332
+ padding: 3px 0;
333
+ }
334
+
335
+ .jsoneditor-modal table td.jsoneditor-modal-input {
336
+ text-align: right;
337
+ padding-right: 0;
338
+ white-space: nowrap;
339
+ }
340
+
341
+ .jsoneditor-modal table td.jsoneditor-modal-actions {
342
+ padding-top: 15px;
343
+ }
344
+
345
+ .jsoneditor-modal table th {
346
+ vertical-align: middle;
347
+ }
348
+
349
+ .jsoneditor-modal p:first-child {
350
+ margin-top: 0;
351
+ }
352
+
353
+ .jsoneditor-modal a {
354
+ color: #3883fa;
355
+ }
356
+
357
+ .jsoneditor-modal .jsoneditor-jmespath-block {
358
+ margin-bottom: 10px;
359
+ }
360
+
361
+ .jsoneditor-modal .pico-close {
362
+ background: none !important;
363
+ font-size: 24px !important;
364
+ top: 7px !important;
365
+ right: 7px !important;
366
+ color: #ffffff;
367
+ }
368
+
369
+ .jsoneditor-modal input {
370
+ padding: 4px;
371
+ }
372
+
373
+ .jsoneditor-modal input[type="text"] {
374
+ cursor: inherit;
375
+ }
376
+
377
+ .jsoneditor-modal input[disabled] {
378
+ background: #d3d3d3;
379
+ color: #808080;
380
+ }
381
+
382
+ .jsoneditor-modal .jsoneditor-select-wrapper {
383
+ position: relative;
384
+ display: inline-block;
385
+ }
386
+
387
+ .jsoneditor-modal .jsoneditor-select-wrapper:after {
388
+ content: "";
389
+ width: 0;
390
+ height: 0;
391
+ border-left: 5px solid transparent;
392
+ border-right: 5px solid transparent;
393
+ border-top: 6px solid #666;
394
+ position: absolute;
395
+ right: 8px;
396
+ top: 14px;
397
+ pointer-events: none;
398
+ }
399
+
400
+ .jsoneditor-modal select {
401
+ padding: 3px 24px 3px 10px;
402
+ min-width: 180px;
403
+ max-width: 350px;
404
+ -webkit-appearance: none;
405
+ -moz-appearance: none;
406
+ appearance: none;
407
+ text-indent: 0;
408
+ text-overflow: "";
409
+ font-size: 10pt;
410
+ line-height: 1.5em;
411
+ }
412
+
413
+ .jsoneditor-modal select::-ms-expand {
414
+ display: none;
415
+ }
416
+
417
+ .jsoneditor-modal .jsoneditor-button-group input {
418
+ padding: 4px 10px;
419
+ margin: 0;
420
+ border-radius: 0;
421
+ border-left-style: none;
422
+ }
423
+
424
+ .jsoneditor-modal .jsoneditor-button-group input.jsoneditor-button-first {
425
+ border-top-left-radius: 3px;
426
+ border-bottom-left-radius: 3px;
427
+ border-left-style: solid;
428
+ }
429
+
430
+ .jsoneditor-modal .jsoneditor-button-group input.jsoneditor-button-last {
431
+ border-top-right-radius: 3px;
432
+ border-bottom-right-radius: 3px;
433
+ }
434
+
435
+ .jsoneditor-modal .jsoneditor-transform-preview {
436
+ background: #f5f5f5;
437
+ height: 200px;
438
+ }
439
+
440
+ .jsoneditor-modal .jsoneditor-transform-preview.jsoneditor-error {
441
+ color: #ee422e;
442
+ }
443
+
444
+ .jsoneditor-modal .jsoneditor-jmespath-wizard {
445
+ line-height: 1.2em;
446
+ width: 100%;
447
+ padding: 0;
448
+ border-radius: 3px;
449
+ }
450
+
451
+ .jsoneditor-modal .jsoneditor-jmespath-label {
452
+ font-weight: bold;
453
+ color: dodgerblue;
454
+ margin-top: 20px;
455
+ margin-bottom: 5px;
456
+ }
457
+
458
+ .jsoneditor-modal .jsoneditor-jmespath-wizard-table {
459
+ width: 100%;
460
+ border-collapse: collapse;
461
+ }
462
+
463
+ .jsoneditor-modal .jsoneditor-jmespath-wizard-label {
464
+ font-style: italic;
465
+ margin: 4px 0 2px 0;
466
+ }
467
+
468
+ .jsoneditor-modal .jsoneditor-inline {
469
+ position: relative;
470
+ display: inline-block;
471
+ width: 100%;
472
+ padding-top: 2px;
473
+ padding-bottom: 2px;
474
+ }
475
+
476
+ .jsoneditor-modal .jsoneditor-inline:not(:last-child) {
477
+ padding-right: 2px;
478
+ }
479
+
480
+ .jsoneditor-modal .jsoneditor-jmespath-filter {
481
+ display: flex;
482
+ flex-wrap: wrap;
483
+ }
484
+
485
+ .jsoneditor-modal .jsoneditor-jmespath-filter-field {
486
+ width: 180px;
487
+ }
488
+
489
+ .jsoneditor-modal .jsoneditor-jmespath-filter-relation {
490
+ width: 100px;
491
+ }
492
+
493
+ .jsoneditor-modal .jsoneditor-jmespath-filter-value {
494
+ min-width: 180px;
495
+ flex: 1;
496
+ }
497
+
498
+ .jsoneditor-modal .jsoneditor-jmespath-sort-field {
499
+ width: 170px;
500
+ }
501
+
502
+ .jsoneditor-modal .jsoneditor-jmespath-sort-order {
503
+ width: 150px;
504
+ }
505
+
506
+ .jsoneditor-modal .jsoneditor-jmespath-select-fields {
507
+ width: 100%;
508
+ }
509
+
510
+ .jsoneditor-modal .selectr-selected {
511
+ border-color: #d3d3d3;
512
+ padding: 4px 28px 4px 8px;
513
+ }
514
+
515
+ .jsoneditor-modal .selectr-selected .selectr-tag {
516
+ background-color: #3883fa;
517
+ border-radius: 5px;
518
+ }
519
+
520
+ .jsoneditor-modal table th,
521
+ .jsoneditor-modal table td {
522
+ text-align: left;
523
+ vertical-align: middle;
524
+ font-weight: normal;
525
+ color: #4d4d4d;
526
+ border-spacing: 0;
527
+ border-collapse: collapse;
528
+ }
529
+
530
+ .jsoneditor-modal select,
531
+ .jsoneditor-modal textarea,
532
+ .jsoneditor-modal input,
533
+ .jsoneditor-modal input[type="text"],
534
+ .jsoneditor-modal input[type="text"]:focus,
535
+ .jsoneditor-modal #query {
536
+ background: #ffffff;
537
+ border: 1px solid #d3d3d3;
538
+ color: #4d4d4d;
539
+ border-radius: 3px;
540
+ padding: 4px;
541
+ }
542
+
543
+ .jsoneditor-modal,
544
+ .jsoneditor-modal table td,
545
+ .jsoneditor-modal table th,
546
+ .jsoneditor-modal select,
547
+ .jsoneditor-modal option,
548
+ .jsoneditor-modal textarea,
549
+ .jsoneditor-modal input,
550
+ .jsoneditor-modal input[type="text"],
551
+ .jsoneditor-modal #query {
552
+ font-size: 10.5pt;
553
+ font-family: arial, sans-serif;
554
+ }
555
+
556
+ .jsoneditor-modal #query,
557
+ .jsoneditor-modal .jsoneditor-transform-preview {
558
+ font-family: "dejavu sans mono", "droid sans mono", consolas, monaco, "lucida console", "courier new", courier, monospace, sans-serif;
559
+ font-size: 10pt;
560
+ width: 100%;
561
+ box-sizing: border-box;
562
+ }
563
+
564
+ .jsoneditor-modal input[type="button"],
565
+ .jsoneditor-modal input[type="submit"] {
566
+ background: #f5f5f5;
567
+ padding: 4px 20px;
568
+ }
569
+
570
+ .jsoneditor-modal select,
571
+ .jsoneditor-modal input {
572
+ cursor: pointer;
573
+ }
574
+
575
+ .jsoneditor-modal .jsoneditor-button-group.jsoneditor-button-group-value-asc input.jsoneditor-button-asc,
576
+ .jsoneditor-modal .jsoneditor-button-group.jsoneditor-button-group-value-desc input.jsoneditor-button-desc {
577
+ background: #3883fa;
578
+ border-color: #3883fa;
579
+ color: #ffffff;
580
+ }
581
+
582
+ .jsoneditor {
583
+ color: #1a1a1a;
584
+ border: thin solid #3883fa;
585
+ -moz-box-sizing: border-box;
586
+ -webkit-box-sizing: border-box;
587
+ box-sizing: border-box;
588
+ width: 100%;
589
+ height: 100%;
590
+ position: relative;
591
+ padding: 0;
592
+ line-height: 100%;
593
+ }
594
+
595
+ div.jsoneditor-field,
596
+ div.jsoneditor-value,
597
+ div.jsoneditor-readonly,
598
+ div.jsoneditor-default {
599
+ border: 1px solid transparent;
600
+ min-height: 16px;
601
+ min-width: 32px;
602
+ padding: 2px;
603
+ margin: 1px;
604
+ word-wrap: break-word;
605
+ float: left;
606
+ }
607
+
608
+ div.jsoneditor-field p,
609
+ div.jsoneditor-value p {
610
+ margin: 0;
611
+ }
612
+
613
+ div.jsoneditor-value {
614
+ word-break: break-word;
615
+ }
616
+
617
+ div.jsoneditor-value.jsoneditor-empty::after {
618
+ content: "value";
619
+ }
620
+
621
+ div.jsoneditor-value.jsoneditor-string {
622
+ color: #006000;
623
+ }
624
+
625
+ div.jsoneditor-value.jsoneditor-number {
626
+ color: #ee422e;
627
+ }
628
+
629
+ div.jsoneditor-value.jsoneditor-boolean {
630
+ color: #ff8c00;
631
+ }
632
+
633
+ div.jsoneditor-value.jsoneditor-null {
634
+ color: #004ed0;
635
+ }
636
+
637
+ div.jsoneditor-value.jsoneditor-invalid {
638
+ color: #000000;
639
+ }
640
+
641
+ div.jsoneditor-readonly {
642
+ min-width: 16px;
643
+ color: #808080;
644
+ }
645
+
646
+ div.jsoneditor-empty {
647
+ border-color: #d3d3d3;
648
+ border-style: dashed;
649
+ border-radius: 2px;
650
+ }
651
+
652
+ div.jsoneditor-field.jsoneditor-empty::after {
653
+ content: "field";
654
+ }
655
+
656
+ div.jsoneditor td {
657
+ vertical-align: top;
658
+ }
659
+
660
+ div.jsoneditor td.jsoneditor-separator {
661
+ padding: 3px 0;
662
+ vertical-align: top;
663
+ color: #808080;
664
+ }
665
+
666
+ div.jsoneditor td.jsoneditor-tree {
667
+ vertical-align: top;
668
+ }
669
+
670
+ div.jsoneditor.busy pre.jsoneditor-preview {
671
+ background: #f5f5f5;
672
+ color: #808080;
673
+ }
674
+
675
+ div.jsoneditor.busy div.jsoneditor-busy {
676
+ display: inherit;
677
+ }
678
+
679
+ div.jsoneditor code.jsoneditor-preview {
680
+ background: none;
681
+ }
682
+
683
+ div.jsoneditor.jsoneditor-mode-preview pre.jsoneditor-preview {
684
+ width: 100%;
685
+ height: 100%;
686
+ box-sizing: border-box;
687
+ overflow: auto;
688
+ padding: 2px;
689
+ margin: 0;
690
+ white-space: pre-wrap;
691
+ word-break: break-all;
692
+ }
693
+
694
+ div.jsoneditor-default {
695
+ color: #808080;
696
+ padding-left: 10px;
697
+ }
698
+
699
+ div.jsoneditor-tree {
700
+ width: 100%;
701
+ height: 100%;
702
+ position: relative;
703
+ overflow: auto;
704
+ }
705
+
706
+ div.jsoneditor-tree button.jsoneditor-button {
707
+ width: 24px;
708
+ height: 24px;
709
+ padding: 0;
710
+ margin: 0;
711
+ border: none;
712
+ cursor: pointer;
713
+ background: transparent url("img/jsoneditor-icons.svg");
714
+ }
715
+
716
+ div.jsoneditor-tree button.jsoneditor-button:focus {
717
+ background-color: #f5f5f5;
718
+ outline: #e5e5e5 solid 1px;
719
+ }
720
+
721
+ div.jsoneditor-tree button.jsoneditor-collapsed {
722
+ background-position: 0 -48px;
723
+ }
724
+
725
+ div.jsoneditor-tree button.jsoneditor-expanded {
726
+ background-position: 0 -72px;
727
+ }
728
+
729
+ div.jsoneditor-tree button.jsoneditor-contextmenu-button {
730
+ background-position: -48px -72px;
731
+ }
732
+
733
+ div.jsoneditor-tree button.jsoneditor-invisible {
734
+ visibility: hidden;
735
+ background: none;
736
+ }
737
+
738
+ div.jsoneditor-tree button.jsoneditor-dragarea {
739
+ background: url("img/jsoneditor-icons.svg") -72px -72px;
740
+ cursor: move;
741
+ }
742
+
743
+ div.jsoneditor-tree *:focus {
744
+ outline: none;
745
+ }
746
+
747
+ div.jsoneditor-tree div.jsoneditor-show-more {
748
+ display: inline-block;
749
+ padding: 3px 4px;
750
+ margin: 2px 0;
751
+ background-color: #e5e5e5;
752
+ border-radius: 3px;
753
+ color: #808080;
754
+ font-family: arial, sans-serif;
755
+ font-size: 10pt;
756
+ }
757
+
758
+ div.jsoneditor-tree div.jsoneditor-show-more a {
759
+ display: inline-block;
760
+ color: #808080;
761
+ }
762
+
763
+ div.jsoneditor-tree div.jsoneditor-color {
764
+ display: inline-block;
765
+ width: 12px;
766
+ height: 12px;
767
+ margin: 4px;
768
+ border: 1px solid #808080;
769
+ cursor: pointer;
770
+ }
771
+
772
+ div.jsoneditor-tree div.jsoneditor-date {
773
+ background: #a1a1a1;
774
+ color: #ffffff;
775
+ font-family: arial, sans-serif;
776
+ border-radius: 3px;
777
+ display: inline-block;
778
+ padding: 3px;
779
+ margin: 0 3px;
780
+ }
781
+
782
+ div.jsoneditor-tree table.jsoneditor-tree {
783
+ border-collapse: collapse;
784
+ border-spacing: 0;
785
+ width: 100%;
786
+ }
787
+
788
+ div.jsoneditor-tree .jsoneditor-button.jsoneditor-schema-error {
789
+ width: 24px;
790
+ height: 24px;
791
+ padding: 0;
792
+ margin: 0 4px 0 0;
793
+ background: url("img/jsoneditor-icons.svg") -168px -48px;
794
+ }
795
+
796
+ div.jsoneditor-outer {
797
+ position: static;
798
+ width: 100%;
799
+ height: 100%;
800
+ margin: 0;
801
+ padding: 0;
802
+ -moz-box-sizing: border-box;
803
+ -webkit-box-sizing: border-box;
804
+ box-sizing: border-box;
805
+ }
806
+
807
+ div.jsoneditor-outer.has-nav-bar {
808
+ margin-top: -26px;
809
+ padding-top: 26px;
810
+ }
811
+
812
+ div.jsoneditor-outer.has-nav-bar.has-main-menu-bar {
813
+ margin-top: -61px;
814
+ padding-top: 61px;
815
+ }
816
+
817
+ div.jsoneditor-outer.has-status-bar {
818
+ margin-bottom: -26px;
819
+ padding-bottom: 26px;
820
+ }
821
+
822
+ div.jsoneditor-outer.has-main-menu-bar {
823
+ margin-top: -35px;
824
+ padding-top: 35px;
825
+ }
826
+
827
+ div.jsoneditor-busy {
828
+ position: absolute;
829
+ top: 15%;
830
+ left: 0;
831
+ box-sizing: border-box;
832
+ width: 100%;
833
+ text-align: center;
834
+ display: none;
835
+ }
836
+
837
+ div.jsoneditor-busy span {
838
+ background-color: #ffffab;
839
+ border: 1px solid #ffee00;
840
+ border-radius: 3px;
841
+ padding: 5px 15px;
842
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
843
+ }
844
+
845
+ div.jsoneditor-field.jsoneditor-empty::after,
846
+ div.jsoneditor-value.jsoneditor-empty::after {
847
+ pointer-events: none;
848
+ color: #d3d3d3;
849
+ font-size: 8pt;
850
+ }
851
+
852
+ div.jsoneditor-value.jsoneditor-url,
853
+ a.jsoneditor-value.jsoneditor-url {
854
+ color: #006000;
855
+ text-decoration: underline;
856
+ }
857
+
858
+ a.jsoneditor-value.jsoneditor-url {
859
+ display: inline-block;
860
+ padding: 2px;
861
+ margin: 2px;
862
+ }
863
+
864
+ a.jsoneditor-value.jsoneditor-url:hover,
865
+ a.jsoneditor-value.jsoneditor-url:focus {
866
+ color: #ee422e;
867
+ }
868
+
869
+ div.jsoneditor-field[contenteditable="true"]:focus,
870
+ div.jsoneditor-field[contenteditable="true"]:hover,
871
+ div.jsoneditor-value[contenteditable="true"]:focus,
872
+ div.jsoneditor-value[contenteditable="true"]:hover,
873
+ div.jsoneditor-field.jsoneditor-highlight,
874
+ div.jsoneditor-value.jsoneditor-highlight {
875
+ background-color: #ffffab;
876
+ border: 1px solid #ffee00;
877
+ border-radius: 2px;
878
+ }
879
+
880
+ div.jsoneditor-field.jsoneditor-highlight-active,
881
+ div.jsoneditor-field.jsoneditor-highlight-active:focus,
882
+ div.jsoneditor-field.jsoneditor-highlight-active:hover,
883
+ div.jsoneditor-value.jsoneditor-highlight-active,
884
+ div.jsoneditor-value.jsoneditor-highlight-active:focus,
885
+ div.jsoneditor-value.jsoneditor-highlight-active:hover {
886
+ background-color: #ffee00;
887
+ border: 1px solid #ffc700;
888
+ border-radius: 2px;
889
+ }
890
+
891
+ div.jsoneditor-value.jsoneditor-object,
892
+ div.jsoneditor-value.jsoneditor-array {
893
+ min-width: 16px;
894
+ }
895
+
896
+ div.jsoneditor-tree button.jsoneditor-contextmenu-button:hover,
897
+ div.jsoneditor-tree button.jsoneditor-contextmenu-button:focus,
898
+ div.jsoneditor-tree button.jsoneditor-contextmenu-button.jsoneditor-selected,
899
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu-button {
900
+ background-position: -48px -48px;
901
+ }
902
+
903
+ div.jsoneditor-tree div.jsoneditor-show-more a:hover,
904
+ div.jsoneditor-tree div.jsoneditor-show-more a:focus {
905
+ color: #ee422e;
906
+ }
907
+
908
+ textarea.jsoneditor-text,
909
+ .ace-jsoneditor {
910
+ min-height: 150px;
911
+ }
912
+
913
+ textarea.jsoneditor-text *,
914
+ .ace-jsoneditor * {
915
+ font-family: "dejavu sans mono", "droid sans mono", consolas, monaco, "lucida console", "courier new", courier, monospace, sans-serif;
916
+ }
917
+
918
+ textarea.jsoneditor-text {
919
+ width: 100%;
920
+ height: 100%;
921
+ margin: 0;
922
+ -moz-box-sizing: border-box;
923
+ -webkit-box-sizing: border-box;
924
+ box-sizing: border-box;
925
+ outline-width: 0;
926
+ border: none;
927
+ background-color: #ffffff;
928
+ resize: none;
929
+ }
930
+
931
+ tr.jsoneditor-highlight,
932
+ tr.jsoneditor-selected {
933
+ background-color: #d3d3d3;
934
+ }
935
+
936
+ tr.jsoneditor-selected button.jsoneditor-dragarea,
937
+ tr.jsoneditor-selected button.jsoneditor-contextmenu-button {
938
+ visibility: hidden;
939
+ }
940
+
941
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea,
942
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-contextmenu-button {
943
+ visibility: visible;
944
+ }
945
+
946
+ div.jsoneditor-tree button.jsoneditor-dragarea:hover,
947
+ div.jsoneditor-tree button.jsoneditor-dragarea:focus,
948
+ tr.jsoneditor-selected.jsoneditor-first button.jsoneditor-dragarea {
949
+ background-position: -72px -48px;
950
+ }
951
+
952
+ div.jsoneditor tr,
953
+ div.jsoneditor th,
954
+ div.jsoneditor td {
955
+ padding: 0;
956
+ margin: 0;
957
+ }
958
+
959
+ div.jsoneditor-field,
960
+ div.jsoneditor-value,
961
+ div.jsoneditor td,
962
+ div.jsoneditor th,
963
+ div.jsoneditor textarea,
964
+ pre.jsoneditor-preview,
965
+ .jsoneditor-schema-error,
966
+ .jsoneditor-popover {
967
+ font-family: "dejavu sans mono", "droid sans mono", consolas, monaco, "lucida console", "courier new", courier, monospace, sans-serif;
968
+ font-size: 10pt;
969
+ color: #1a1a1a;
970
+ }
971
+
972
+ .jsoneditor-schema-error {
973
+ cursor: default;
974
+ display: inline-block;
975
+ height: 24px;
976
+ line-height: 24px;
977
+ position: relative;
978
+ text-align: center;
979
+ width: 24px;
980
+ }
981
+
982
+ .jsoneditor-popover {
983
+ background-color: #4c4c4c;
984
+ border-radius: 3px;
985
+ box-shadow: 0 0 5px rgba(0, 0, 0, 0.4);
986
+ color: #ffffff;
987
+ padding: 7px 10px;
988
+ position: absolute;
989
+ cursor: auto;
990
+ width: 200px;
991
+ }
992
+
993
+ .jsoneditor-popover.jsoneditor-above {
994
+ bottom: 32px;
995
+ left: -98px;
996
+ }
997
+
998
+ .jsoneditor-popover.jsoneditor-above:before {
999
+ border-top: 7px solid #4c4c4c;
1000
+ bottom: -7px;
1001
+ }
1002
+
1003
+ .jsoneditor-popover.jsoneditor-below {
1004
+ top: 32px;
1005
+ left: -98px;
1006
+ }
1007
+
1008
+ .jsoneditor-popover.jsoneditor-below:before {
1009
+ border-bottom: 7px solid #4c4c4c;
1010
+ top: -7px;
1011
+ }
1012
+
1013
+ .jsoneditor-popover.jsoneditor-left {
1014
+ top: -7px;
1015
+ right: 32px;
1016
+ }
1017
+
1018
+ .jsoneditor-popover.jsoneditor-left:before {
1019
+ border-left: 7px solid #4c4c4c;
1020
+ border-top: 7px solid transparent;
1021
+ border-bottom: 7px solid transparent;
1022
+ content: "";
1023
+ top: 19px;
1024
+ right: -14px;
1025
+ left: inherit;
1026
+ margin-left: inherit;
1027
+ margin-top: -7px;
1028
+ position: absolute;
1029
+ }
1030
+
1031
+ .jsoneditor-popover.jsoneditor-right {
1032
+ top: -7px;
1033
+ left: 32px;
1034
+ }
1035
+
1036
+ .jsoneditor-popover.jsoneditor-right:before {
1037
+ border-right: 7px solid #4c4c4c;
1038
+ border-top: 7px solid transparent;
1039
+ border-bottom: 7px solid transparent;
1040
+ content: "";
1041
+ top: 19px;
1042
+ left: -14px;
1043
+ margin-left: inherit;
1044
+ margin-top: -7px;
1045
+ position: absolute;
1046
+ }
1047
+
1048
+ .jsoneditor-popover:before {
1049
+ border-right: 7px solid transparent;
1050
+ border-left: 7px solid transparent;
1051
+ content: "";
1052
+ display: block;
1053
+ left: 50%;
1054
+ margin-left: -7px;
1055
+ position: absolute;
1056
+ }
1057
+
1058
+ .jsoneditor-text-errors tr.jump-to-line:hover {
1059
+ text-decoration: underline;
1060
+ cursor: pointer;
1061
+ }
1062
+
1063
+ .jsoneditor-schema-error:hover .jsoneditor-popover,
1064
+ .jsoneditor-schema-error:focus .jsoneditor-popover {
1065
+ display: block;
1066
+ animation: fade-in 0.3s linear 1, move-up 0.3s linear 1;
1067
+ }
1068
+
1069
+ @keyframes fade-in {
1070
+ from {
1071
+ opacity: 0;
1072
+ }
1073
+
1074
+ to {
1075
+ opacity: 1;
1076
+ }
1077
+ }
1078
+
1079
+ /* JSON schema errors displayed at the bottom of the editor in mode text and code */
1080
+
1081
+ .jsoneditor .jsoneditor-validation-errors-container {
1082
+ max-height: 130px;
1083
+ overflow-y: auto;
1084
+ }
1085
+
1086
+ .jsoneditor .jsoneditor-validation-errors {
1087
+ width: 100%;
1088
+ overflow: hidden;
1089
+ }
1090
+
1091
+ .jsoneditor .jsoneditor-additional-errors {
1092
+ position: absolute;
1093
+ margin: auto;
1094
+ bottom: 31px;
1095
+ left: calc(50% - 92px);
1096
+ color: #808080;
1097
+ background-color: #ebebeb;
1098
+ padding: 7px 15px;
1099
+ border-radius: 8px;
1100
+ }
1101
+
1102
+ .jsoneditor .jsoneditor-additional-errors.visible {
1103
+ visibility: visible;
1104
+ opacity: 1;
1105
+ transition: opacity 2s linear;
1106
+ }
1107
+
1108
+ .jsoneditor .jsoneditor-additional-errors.hidden {
1109
+ visibility: hidden;
1110
+ opacity: 0;
1111
+ transition: visibility 0s 2s, opacity 2s linear;
1112
+ }
1113
+
1114
+ .jsoneditor .jsoneditor-text-errors {
1115
+ width: 100%;
1116
+ border-collapse: collapse;
1117
+ border-top: 1px solid #ffc700;
1118
+ }
1119
+
1120
+ .jsoneditor .jsoneditor-text-errors td {
1121
+ padding: 3px 6px;
1122
+ vertical-align: middle;
1123
+ }
1124
+
1125
+ .jsoneditor .jsoneditor-text-errors td pre {
1126
+ margin: 0;
1127
+ white-space: normal;
1128
+ }
1129
+
1130
+ .jsoneditor .jsoneditor-text-errors tr {
1131
+ background-color: #ffffab;
1132
+ }
1133
+
1134
+ .jsoneditor .jsoneditor-text-errors tr.parse-error {
1135
+ background-color: #ee2e2e70;
1136
+ }
1137
+
1138
+ .jsoneditor-text-errors .jsoneditor-schema-error {
1139
+ border: none;
1140
+ width: 24px;
1141
+ height: 24px;
1142
+ padding: 0;
1143
+ margin: 0 4px 0 0;
1144
+ cursor: pointer;
1145
+ }
1146
+
1147
+ .jsoneditor-text-errors tr .jsoneditor-schema-error {
1148
+ background: url("img/jsoneditor-icons.svg") -168px -48px;
1149
+ }
1150
+
1151
+ .jsoneditor-text-errors tr.parse-error .jsoneditor-schema-error {
1152
+ background: url("img/jsoneditor-icons.svg") -25px 0px;
1153
+ }
1154
+
1155
+ .jsoneditor-anchor {
1156
+ cursor: pointer;
1157
+ }
1158
+
1159
+ .jsoneditor-anchor .picker_wrapper.popup.popup_bottom {
1160
+ top: 28px;
1161
+ left: -10px;
1162
+ }
1163
+
1164
+ .fadein {
1165
+ -webkit-animation: fadein 0.3s;
1166
+ animation: fadein 0.3s;
1167
+ -moz-animation: fadein 0.3s;
1168
+ -o-animation: fadein 0.3s;
1169
+ }
1170
+
1171
+ @keyframes fadein {
1172
+ 0% {
1173
+ opacity: 0;
1174
+ }
1175
+
1176
+ 100% {
1177
+ opacity: 1;
1178
+ }
1179
+ }
1180
+
1181
+ .jsoneditor-modal input[type="search"].selectr-input {
1182
+ border: 1px solid #d3d3d3;
1183
+ width: calc(100% - 4px);
1184
+ margin: 2px;
1185
+ padding: 4px;
1186
+ box-sizing: border-box;
1187
+ }
1188
+
1189
+ .jsoneditor-modal button.selectr-input-clear {
1190
+ right: 8px;
1191
+ }
1192
+
1193
+ .jsoneditor-menu {
1194
+ width: 100%;
1195
+ height: 35px;
1196
+ padding: 2px;
1197
+ margin: 0;
1198
+ -moz-box-sizing: border-box;
1199
+ -webkit-box-sizing: border-box;
1200
+ box-sizing: border-box;
1201
+ color: #ffffff;
1202
+ background-color: #3883fa;
1203
+ border-bottom: 1px solid #3883fa;
1204
+ }
1205
+
1206
+ .jsoneditor-menu > button,
1207
+ .jsoneditor-menu > .jsoneditor-modes > button {
1208
+ width: 26px;
1209
+ height: 26px;
1210
+ margin: 2px;
1211
+ padding: 0;
1212
+ border-radius: 2px;
1213
+ border: 1px solid transparent;
1214
+ background: transparent url("img/jsoneditor-icons.svg");
1215
+ color: #ffffff;
1216
+ opacity: 0.8;
1217
+ font-family: arial, sans-serif;
1218
+ font-size: 10pt;
1219
+ float: left;
1220
+ }
1221
+
1222
+ .jsoneditor-menu > button:hover,
1223
+ .jsoneditor-menu > .jsoneditor-modes > button:hover {
1224
+ background-color: rgba(255, 255, 255, 0.2);
1225
+ border: 1px solid rgba(255, 255, 255, 0.4);
1226
+ }
1227
+
1228
+ .jsoneditor-menu > button:focus,
1229
+ .jsoneditor-menu > button:active,
1230
+ .jsoneditor-menu > .jsoneditor-modes > button:focus,
1231
+ .jsoneditor-menu > .jsoneditor-modes > button:active {
1232
+ background-color: rgba(255, 255, 255, 0.3);
1233
+ }
1234
+
1235
+ .jsoneditor-menu > button:disabled,
1236
+ .jsoneditor-menu > .jsoneditor-modes > button:disabled {
1237
+ opacity: 0.5;
1238
+ background-color: transparent;
1239
+ border: none;
1240
+ }
1241
+
1242
+ .jsoneditor-menu > button.jsoneditor-collapse-all {
1243
+ background-position: 0 -96px;
1244
+ }
1245
+
1246
+ .jsoneditor-menu > button.jsoneditor-expand-all {
1247
+ background-position: 0 -120px;
1248
+ }
1249
+
1250
+ .jsoneditor-menu > button.jsoneditor-sort {
1251
+ background-position: -120px -96px;
1252
+ }
1253
+
1254
+ .jsoneditor-menu > button.jsoneditor-transform {
1255
+ background-position: -144px -96px;
1256
+ }
1257
+
1258
+ .jsoneditor.jsoneditor-mode-view > .jsoneditor-menu > button.jsoneditor-sort,
1259
+ .jsoneditor.jsoneditor-mode-form > .jsoneditor-menu > button.jsoneditor-sort,
1260
+ .jsoneditor.jsoneditor-mode-view > .jsoneditor-menu > button.jsoneditor-transform,
1261
+ .jsoneditor.jsoneditor-mode-form > .jsoneditor-menu > button.jsoneditor-transform {
1262
+ display: none;
1263
+ }
1264
+
1265
+ .jsoneditor-menu > button.jsoneditor-undo {
1266
+ background-position: -24px -96px;
1267
+ }
1268
+
1269
+ .jsoneditor-menu > button.jsoneditor-undo:disabled {
1270
+ background-position: -24px -120px;
1271
+ }
1272
+
1273
+ .jsoneditor-menu > button.jsoneditor-redo {
1274
+ background-position: -48px -96px;
1275
+ }
1276
+
1277
+ .jsoneditor-menu > button.jsoneditor-redo:disabled {
1278
+ background-position: -48px -120px;
1279
+ }
1280
+
1281
+ .jsoneditor-menu > button.jsoneditor-compact {
1282
+ background-position: -72px -96px;
1283
+ }
1284
+
1285
+ .jsoneditor-menu > button.jsoneditor-format {
1286
+ background-position: -72px -120px;
1287
+ }
1288
+
1289
+ .jsoneditor-menu > button.jsoneditor-repair {
1290
+ background-position: -96px -96px;
1291
+ }
1292
+
1293
+ .jsoneditor-menu > .jsoneditor-modes {
1294
+ display: inline-block;
1295
+ float: left;
1296
+ }
1297
+
1298
+ .jsoneditor-menu > .jsoneditor-modes > button {
1299
+ background-image: none;
1300
+ width: auto;
1301
+ padding-left: 6px;
1302
+ padding-right: 6px;
1303
+ }
1304
+
1305
+ .jsoneditor-menu > button.jsoneditor-separator,
1306
+ .jsoneditor-menu > .jsoneditor-modes > button.jsoneditor-separator {
1307
+ margin-left: 10px;
1308
+ }
1309
+
1310
+ .jsoneditor-menu a {
1311
+ font-family: arial, sans-serif;
1312
+ font-size: 10pt;
1313
+ color: #ffffff;
1314
+ opacity: 0.8;
1315
+ vertical-align: middle;
1316
+ }
1317
+
1318
+ .jsoneditor-menu a:hover {
1319
+ opacity: 1;
1320
+ }
1321
+
1322
+ .jsoneditor-menu a.jsoneditor-poweredBy {
1323
+ font-size: 8pt;
1324
+ position: absolute;
1325
+ right: 0;
1326
+ top: 0;
1327
+ padding: 10px;
1328
+ }
1329
+
1330
+ .jsoneditor-navigation-bar {
1331
+ width: 100%;
1332
+ height: 26px;
1333
+ line-height: 26px;
1334
+ padding: 0;
1335
+ margin: 0;
1336
+ border-bottom: 1px solid #d3d3d3;
1337
+ -moz-box-sizing: border-box;
1338
+ -webkit-box-sizing: border-box;
1339
+ box-sizing: border-box;
1340
+ color: #808080;
1341
+ background-color: #ebebeb;
1342
+ overflow: hidden;
1343
+ font-family: arial, sans-serif;
1344
+ font-size: 10pt;
1345
+ }
1346
+
1347
+ .jsoneditor-search {
1348
+ font-family: arial, sans-serif;
1349
+ position: absolute;
1350
+ right: 4px;
1351
+ top: 4px;
1352
+ border-collapse: collapse;
1353
+ border-spacing: 0;
1354
+ display: flex;
1355
+ }
1356
+
1357
+ .jsoneditor-search input {
1358
+ color: #1a1a1a;
1359
+ width: 120px;
1360
+ border: none;
1361
+ outline: none;
1362
+ margin: 1px;
1363
+ line-height: 20px;
1364
+ font-family: arial, sans-serif;
1365
+ }
1366
+
1367
+ .jsoneditor-search button {
1368
+ width: 16px;
1369
+ height: 24px;
1370
+ padding: 0;
1371
+ margin: 0;
1372
+ border: none;
1373
+ background: url("img/jsoneditor-icons.svg");
1374
+ vertical-align: top;
1375
+ }
1376
+
1377
+ .jsoneditor-search button:hover {
1378
+ background-color: transparent;
1379
+ }
1380
+
1381
+ .jsoneditor-search button.jsoneditor-refresh {
1382
+ width: 18px;
1383
+ background-position: -99px -73px;
1384
+ }
1385
+
1386
+ .jsoneditor-search button.jsoneditor-next {
1387
+ cursor: pointer;
1388
+ background-position: -124px -73px;
1389
+ }
1390
+
1391
+ .jsoneditor-search button.jsoneditor-next:hover {
1392
+ background-position: -124px -49px;
1393
+ }
1394
+
1395
+ .jsoneditor-search button.jsoneditor-previous {
1396
+ cursor: pointer;
1397
+ background-position: -148px -73px;
1398
+ margin-right: 2px;
1399
+ }
1400
+
1401
+ .jsoneditor-search button.jsoneditor-previous:hover {
1402
+ background-position: -148px -49px;
1403
+ }
1404
+
1405
+ .jsoneditor-results {
1406
+ font-family: arial, sans-serif;
1407
+ color: #ffffff;
1408
+ padding-right: 5px;
1409
+ line-height: 26px;
1410
+ }
1411
+
1412
+ .jsoneditor-frame {
1413
+ border: 1px solid transparent;
1414
+ background-color: #ffffff;
1415
+ padding: 0 2px;
1416
+ margin: 0;
1417
+ }
1418
+
1419
+ .jsoneditor-statusbar {
1420
+ line-height: 26px;
1421
+ height: 26px;
1422
+ color: #808080;
1423
+ background-color: #ebebeb;
1424
+ border-top: 1px solid #d3d3d3;
1425
+ -moz-box-sizing: border-box;
1426
+ -webkit-box-sizing: border-box;
1427
+ box-sizing: border-box;
1428
+ font-size: 10pt;
1429
+ }
1430
+
1431
+ .jsoneditor-statusbar > .jsoneditor-curserinfo-val {
1432
+ margin-right: 12px;
1433
+ }
1434
+
1435
+ .jsoneditor-statusbar > .jsoneditor-curserinfo-count {
1436
+ margin-left: 4px;
1437
+ }
1438
+
1439
+ .jsoneditor-statusbar > .jsoneditor-validation-error-icon {
1440
+ float: right;
1441
+ width: 24px;
1442
+ height: 24px;
1443
+ padding: 0;
1444
+ margin-top: 1px;
1445
+ background: url("img/jsoneditor-icons.svg") -168px -48px;
1446
+ cursor: pointer;
1447
+ }
1448
+
1449
+ .jsoneditor-statusbar > .jsoneditor-validation-error-count {
1450
+ float: right;
1451
+ margin: 0 4px 0 0;
1452
+ cursor: pointer;
1453
+ }
1454
+
1455
+ .jsoneditor-statusbar > .jsoneditor-parse-error-icon {
1456
+ float: right;
1457
+ width: 24px;
1458
+ height: 24px;
1459
+ padding: 0;
1460
+ margin: 1px;
1461
+ background: url("img/jsoneditor-icons.svg") -25px 0px;
1462
+ }
1463
+
1464
+ .jsoneditor-statusbar .jsoneditor-array-info a {
1465
+ color: inherit;
1466
+ }
1467
+
1468
+ div.jsoneditor-statusbar > .jsoneditor-curserinfo-label,
1469
+ div.jsoneditor-statusbar > .jsoneditor-size-info {
1470
+ margin: 0 4px;
1471
+ }
1472
+
1473
+ .jsoneditor-treepath {
1474
+ padding: 0 5px;
1475
+ overflow: hidden;
1476
+ white-space: nowrap;
1477
+ outline: none;
1478
+ }
1479
+
1480
+ .jsoneditor-treepath.show-all {
1481
+ word-wrap: break-word;
1482
+ white-space: normal;
1483
+ position: absolute;
1484
+ background-color: #ebebeb;
1485
+ z-index: 1;
1486
+ box-shadow: 2px 2px 12px rgba(128, 128, 128, 0.3);
1487
+ }
1488
+
1489
+ .jsoneditor-treepath.show-all span.jsoneditor-treepath-show-all-btn {
1490
+ display: none;
1491
+ }
1492
+
1493
+ .jsoneditor-treepath div.jsoneditor-contextmenu-root {
1494
+ position: absolute;
1495
+ left: 0;
1496
+ }
1497
+
1498
+ .jsoneditor-treepath .jsoneditor-treepath-show-all-btn {
1499
+ position: absolute;
1500
+ background-color: #ebebeb;
1501
+ left: 0;
1502
+ height: 20px;
1503
+ padding: 0 3px;
1504
+ cursor: pointer;
1505
+ }
1506
+
1507
+ .jsoneditor-treepath .jsoneditor-treepath-element {
1508
+ margin: 1px;
1509
+ font-family: arial, sans-serif;
1510
+ font-size: 10pt;
1511
+ }
1512
+
1513
+ .jsoneditor-treepath .jsoneditor-treepath-seperator {
1514
+ margin: 2px;
1515
+ font-size: 9pt;
1516
+ font-family: arial, sans-serif;
1517
+ }
1518
+
1519
+ .jsoneditor-treepath span.jsoneditor-treepath-element:hover,
1520
+ .jsoneditor-treepath span.jsoneditor-treepath-seperator:hover {
1521
+ cursor: pointer;
1522
+ text-decoration: underline;
1523
+ }
1524
+
1525
+ /*!
1526
+ * Selectr 2.4.0
1527
+ * https://github.com/Mobius1/Selectr
1528
+ *
1529
+ * Released under the MIT license
1530
+ */
1531
+
1532
+ .selectr-container {
1533
+ position: relative;
1534
+ }
1535
+
1536
+ .selectr-container li {
1537
+ list-style: none;
1538
+ }
1539
+
1540
+ .selectr-hidden {
1541
+ position: absolute;
1542
+ overflow: hidden;
1543
+ clip: rect(0px, 0px, 0px, 0px);
1544
+ width: 1px;
1545
+ height: 1px;
1546
+ margin: -1px;
1547
+ padding: 0;
1548
+ border: 0 none;
1549
+ }
1550
+
1551
+ .selectr-visible {
1552
+ position: absolute;
1553
+ left: 0;
1554
+ top: 0;
1555
+ width: 100%;
1556
+ height: 100%;
1557
+ opacity: 0;
1558
+ z-index: 11;
1559
+ }
1560
+
1561
+ .selectr-desktop.multiple .selectr-visible {
1562
+ display: none;
1563
+ }
1564
+
1565
+ .selectr-desktop.multiple.native-open .selectr-visible {
1566
+ top: 100%;
1567
+ min-height: 200px !important;
1568
+ height: auto;
1569
+ opacity: 1;
1570
+ display: block;
1571
+ }
1572
+
1573
+ .selectr-container.multiple.selectr-mobile .selectr-selected {
1574
+ z-index: 0;
1575
+ }
1576
+
1577
+ .selectr-selected {
1578
+ position: relative;
1579
+ z-index: 1;
1580
+ box-sizing: border-box;
1581
+ width: 100%;
1582
+ padding: 7px 28px 7px 14px;
1583
+ cursor: pointer;
1584
+ border: 1px solid #999999;
1585
+ border-radius: 3px;
1586
+ background-color: #ffffff;
1587
+ }
1588
+
1589
+ .selectr-selected::before {
1590
+ position: absolute;
1591
+ top: 50%;
1592
+ right: 10px;
1593
+ width: 0;
1594
+ height: 0;
1595
+ content: '';
1596
+ -o-transform: rotate(0deg) translate3d(0px, -50%, 0px);
1597
+ -ms-transform: rotate(0deg) translate3d(0px, -50%, 0px);
1598
+ -moz-transform: rotate(0deg) translate3d(0px, -50%, 0px);
1599
+ -webkit-transform: rotate(0deg) translate3d(0px, -50%, 0px);
1600
+ transform: rotate(0deg) translate3d(0px, -50%, 0px);
1601
+ border-width: 4px 4px 0 4px;
1602
+ border-style: solid;
1603
+ border-color: #6c7a86 transparent transparent;
1604
+ }
1605
+
1606
+ .selectr-container.open .selectr-selected::before,
1607
+ .selectr-container.native-open .selectr-selected::before {
1608
+ border-width: 0 4px 4px 4px;
1609
+ border-style: solid;
1610
+ border-color: transparent transparent #6c7a86;
1611
+ }
1612
+
1613
+ .selectr-label {
1614
+ display: none;
1615
+ overflow: hidden;
1616
+ width: 100%;
1617
+ white-space: nowrap;
1618
+ text-overflow: ellipsis;
1619
+ }
1620
+
1621
+ .selectr-placeholder {
1622
+ color: #6c7a86;
1623
+ }
1624
+
1625
+ .selectr-tags {
1626
+ margin: 0;
1627
+ padding: 0;
1628
+ white-space: normal;
1629
+ }
1630
+
1631
+ .has-selected .selectr-tags {
1632
+ margin: 0 0 -2px;
1633
+ }
1634
+
1635
+ .selectr-tag {
1636
+ list-style: none;
1637
+ position: relative;
1638
+ float: left;
1639
+ padding: 2px 25px 2px 8px;
1640
+ margin: 0 2px 2px 0;
1641
+ cursor: default;
1642
+ color: #ffffff;
1643
+ border: medium none;
1644
+ border-radius: 10px;
1645
+ background: #acb7bf none repeat scroll 0 0;
1646
+ }
1647
+
1648
+ .selectr-container.multiple.has-selected .selectr-selected {
1649
+ padding: 5px 28px 5px 5px;
1650
+ }
1651
+
1652
+ .selectr-options-container {
1653
+ position: absolute;
1654
+ z-index: 10000;
1655
+ top: calc(100% - 1px);
1656
+ left: 0;
1657
+ display: none;
1658
+ box-sizing: border-box;
1659
+ width: 100%;
1660
+ border-width: 0 1px 1px;
1661
+ border-style: solid;
1662
+ border-color: transparent #999999 #999999;
1663
+ border-radius: 0 0 3px 3px;
1664
+ background-color: #ffffff;
1665
+ }
1666
+
1667
+ .selectr-container.open .selectr-options-container {
1668
+ display: block;
1669
+ }
1670
+
1671
+ .selectr-input-container {
1672
+ position: relative;
1673
+ display: none;
1674
+ }
1675
+
1676
+ .selectr-clear,
1677
+ .selectr-input-clear,
1678
+ .selectr-tag-remove {
1679
+ position: absolute;
1680
+ top: 50%;
1681
+ right: 22px;
1682
+ width: 20px;
1683
+ height: 20px;
1684
+ padding: 0;
1685
+ cursor: pointer;
1686
+ -o-transform: translate3d(0px, -50%, 0px);
1687
+ -ms-transform: translate3d(0px, -50%, 0px);
1688
+ -moz-transform: translate3d(0px, -50%, 0px);
1689
+ -webkit-transform: translate3d(0px, -50%, 0px);
1690
+ transform: translate3d(0px, -50%, 0px);
1691
+ border: medium none;
1692
+ background-color: transparent;
1693
+ z-index: 11;
1694
+ }
1695
+
1696
+ .selectr-clear,
1697
+ .selectr-input-clear {
1698
+ display: none;
1699
+ }
1700
+
1701
+ .selectr-container.has-selected .selectr-clear,
1702
+ .selectr-input-container.active .selectr-input-clear {
1703
+ display: block;
1704
+ }
1705
+
1706
+ .selectr-selected .selectr-tag-remove {
1707
+ right: 2px;
1708
+ }
1709
+
1710
+ .selectr-clear::before,
1711
+ .selectr-clear::after,
1712
+ .selectr-input-clear::before,
1713
+ .selectr-input-clear::after,
1714
+ .selectr-tag-remove::before,
1715
+ .selectr-tag-remove::after {
1716
+ position: absolute;
1717
+ top: 5px;
1718
+ left: 9px;
1719
+ width: 2px;
1720
+ height: 10px;
1721
+ content: ' ';
1722
+ background-color: #6c7a86;
1723
+ }
1724
+
1725
+ .selectr-tag-remove::before,
1726
+ .selectr-tag-remove::after {
1727
+ top: 4px;
1728
+ width: 3px;
1729
+ height: 12px;
1730
+ background-color: #ffffff;
1731
+ }
1732
+
1733
+ .selectr-clear:before,
1734
+ .selectr-input-clear::before,
1735
+ .selectr-tag-remove::before {
1736
+ -o-transform: rotate(45deg);
1737
+ -ms-transform: rotate(45deg);
1738
+ -moz-transform: rotate(45deg);
1739
+ -webkit-transform: rotate(45deg);
1740
+ transform: rotate(45deg);
1741
+ }
1742
+
1743
+ .selectr-clear:after,
1744
+ .selectr-input-clear::after,
1745
+ .selectr-tag-remove::after {
1746
+ -o-transform: rotate(-45deg);
1747
+ -ms-transform: rotate(-45deg);
1748
+ -moz-transform: rotate(-45deg);
1749
+ -webkit-transform: rotate(-45deg);
1750
+ transform: rotate(-45deg);
1751
+ }
1752
+
1753
+ .selectr-input-container.active,
1754
+ .selectr-input-container.active .selectr-clear {
1755
+ display: block;
1756
+ }
1757
+
1758
+ .selectr-input {
1759
+ top: 5px;
1760
+ left: 5px;
1761
+ box-sizing: border-box;
1762
+ width: calc(100% - 30px);
1763
+ margin: 10px 15px;
1764
+ padding: 7px 30px 7px 9px;
1765
+ border: 1px solid #999999;
1766
+ border-radius: 3px;
1767
+ }
1768
+
1769
+ .selectr-notice {
1770
+ display: none;
1771
+ box-sizing: border-box;
1772
+ width: 100%;
1773
+ padding: 8px 16px;
1774
+ border-top: 1px solid #999999;
1775
+ border-radius: 0 0 3px 3px;
1776
+ background-color: #ffffff;
1777
+ }
1778
+
1779
+ .selectr-container.notice .selectr-notice {
1780
+ display: block;
1781
+ }
1782
+
1783
+ .selectr-container.notice .selectr-selected {
1784
+ border-radius: 3px 3px 0 0;
1785
+ }
1786
+
1787
+ .selectr-options {
1788
+ position: relative;
1789
+ top: calc(100% + 2px);
1790
+ display: none;
1791
+ overflow-x: auto;
1792
+ overflow-y: scroll;
1793
+ max-height: 200px;
1794
+ margin: 0;
1795
+ padding: 0;
1796
+ }
1797
+
1798
+ .selectr-container.open .selectr-options,
1799
+ .selectr-container.open .selectr-input-container,
1800
+ .selectr-container.notice .selectr-options-container {
1801
+ display: block;
1802
+ }
1803
+
1804
+ .selectr-option {
1805
+ position: relative;
1806
+ display: block;
1807
+ padding: 5px 20px;
1808
+ list-style: outside none none;
1809
+ cursor: pointer;
1810
+ font-weight: normal;
1811
+ }
1812
+
1813
+ .selectr-options.optgroups > .selectr-option {
1814
+ padding-left: 25px;
1815
+ }
1816
+
1817
+ .selectr-optgroup {
1818
+ font-weight: bold;
1819
+ padding: 0;
1820
+ }
1821
+
1822
+ .selectr-optgroup--label {
1823
+ font-weight: bold;
1824
+ margin-top: 10px;
1825
+ padding: 5px 15px;
1826
+ }
1827
+
1828
+ .selectr-match {
1829
+ text-decoration: underline;
1830
+ }
1831
+
1832
+ .selectr-option.selected {
1833
+ background-color: #ddd;
1834
+ }
1835
+
1836
+ .selectr-option.active {
1837
+ color: #ffffff;
1838
+ background-color: #5897fb;
1839
+ }
1840
+
1841
+ .selectr-option.disabled {
1842
+ opacity: 0.4;
1843
+ }
1844
+
1845
+ .selectr-option.excluded {
1846
+ display: none;
1847
+ }
1848
+
1849
+ .selectr-container.open .selectr-selected {
1850
+ border-color: #999999 #999999 transparent #999999;
1851
+ border-radius: 3px 3px 0 0;
1852
+ }
1853
+
1854
+ .selectr-container.open .selectr-selected::after {
1855
+ -o-transform: rotate(180deg) translate3d(0px, 50%, 0px);
1856
+ -ms-transform: rotate(180deg) translate3d(0px, 50%, 0px);
1857
+ -moz-transform: rotate(180deg) translate3d(0px, 50%, 0px);
1858
+ -webkit-transform: rotate(180deg) translate3d(0px, 50%, 0px);
1859
+ transform: rotate(180deg) translate3d(0px, 50%, 0px);
1860
+ }
1861
+
1862
+ .selectr-disabled {
1863
+ opacity: .6;
1864
+ }
1865
+
1866
+ .selectr-empty,
1867
+ .has-selected .selectr-placeholder {
1868
+ display: none;
1869
+ }
1870
+
1871
+ .has-selected .selectr-label {
1872
+ display: block;
1873
+ }
1874
+
1875
+ /* TAGGABLE */
1876
+
1877
+ .taggable .selectr-selected {
1878
+ padding: 4px 28px 4px 4px;
1879
+ }
1880
+
1881
+ .taggable .selectr-selected::after {
1882
+ display: table;
1883
+ content: " ";
1884
+ clear: both;
1885
+ }
1886
+
1887
+ .taggable .selectr-label {
1888
+ width: auto;
1889
+ }
1890
+
1891
+ .taggable .selectr-tags {
1892
+ float: left;
1893
+ display: block;
1894
+ }
1895
+
1896
+ .taggable .selectr-placeholder {
1897
+ display: none;
1898
+ }
1899
+
1900
+ .input-tag {
1901
+ float: left;
1902
+ min-width: 90px;
1903
+ width: auto;
1904
+ }
1905
+
1906
+ .selectr-tag-input {
1907
+ border: medium none;
1908
+ padding: 3px 10px;
1909
+ width: 100%;
1910
+ font-family: inherit;
1911
+ font-weight: inherit;
1912
+ font-size: inherit;
1913
+ }
1914
+
1915
+ .selectr-input-container.loading::after {
1916
+ position: absolute;
1917
+ top: 50%;
1918
+ right: 20px;
1919
+ width: 20px;
1920
+ height: 20px;
1921
+ content: '';
1922
+ -o-transform: translate3d(0px, -50%, 0px);
1923
+ -ms-transform: translate3d(0px, -50%, 0px);
1924
+ -moz-transform: translate3d(0px, -50%, 0px);
1925
+ -webkit-transform: translate3d(0px, -50%, 0px);
1926
+ transform: translate3d(0px, -50%, 0px);
1927
+ -o-transform-origin: 50% 0 0;
1928
+ -ms-transform-origin: 50% 0 0;
1929
+ -moz-transform-origin: 50% 0 0;
1930
+ -webkit-transform-origin: 50% 0 0;
1931
+ transform-origin: 50% 0 0;
1932
+ -moz-animation: 500ms linear 0s normal forwards infinite running spin;
1933
+ -webkit-animation: 500ms linear 0s normal forwards infinite running spin;
1934
+ animation: 500ms linear 0s normal forwards infinite running spin;
1935
+ border-width: 3px;
1936
+ border-style: solid;
1937
+ border-color: #aaa #ddd #ddd;
1938
+ border-radius: 50%;
1939
+ }
1940
+
1941
+ @-webkit-keyframes spin {
1942
+ 0% {
1943
+ -webkit-transform: rotate(0deg) translate3d(0px, -50%, 0px);
1944
+ transform: rotate(0deg) translate3d(0px, -50%, 0px);
1945
+ }
1946
+
1947
+ 100% {
1948
+ -webkit-transform: rotate(360deg) translate3d(0px, -50%, 0px);
1949
+ transform: rotate(360deg) translate3d(0px, -50%, 0px);
1950
+ }
1951
+ }
1952
+
1953
+ @keyframes spin {
1954
+ 0% {
1955
+ -webkit-transform: rotate(0deg) translate3d(0px, -50%, 0px);
1956
+ transform: rotate(0deg) translate3d(0px, -50%, 0px);
1957
+ }
1958
+
1959
+ 100% {
1960
+ -webkit-transform: rotate(360deg) translate3d(0px, -50%, 0px);
1961
+ transform: rotate(360deg) translate3d(0px, -50%, 0px);
1962
+ }
1963
+ }
1964
+
1965
+ .selectr-container.open.inverted .selectr-selected {
1966
+ border-color: transparent #999999 #999999;
1967
+ border-radius: 0 0 3px 3px;
1968
+ }
1969
+
1970
+ .selectr-container.inverted .selectr-options-container {
1971
+ border-width: 1px 1px 0;
1972
+ border-color: #999999 #999999 transparent;
1973
+ border-radius: 3px 3px 0 0;
1974
+ background-color: #ffffff;
1975
+ }
1976
+
1977
+ .selectr-container.inverted .selectr-options-container {
1978
+ top: auto;
1979
+ bottom: calc(100% - 1px);
1980
+ }
1981
+
1982
+ .selectr-container ::-webkit-input-placeholder {
1983
+ color: #6c7a86;
1984
+ opacity: 1;
1985
+ }
1986
+
1987
+ .selectr-container ::-moz-placeholder {
1988
+ color: #6c7a86;
1989
+ opacity: 1;
1990
+ }
1991
+
1992
+ .selectr-container :-ms-input-placeholder {
1993
+ color: #6c7a86;
1994
+ opacity: 1;
1995
+ }
1996
+
1997
+ .selectr-container ::placeholder {
1998
+ color: #6c7a86;
1999
+ opacity: 1;
2000
+ }