conjur-asset-ui 1.4.2 → 1.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (211) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +8 -3
  3. data/CHANGELOG.md +10 -0
  4. data/Makefile +19 -0
  5. data/README.md +0 -3
  6. data/Rakefile +22 -17
  7. data/TODO.md +0 -23
  8. data/app/.csscomb.json +304 -0
  9. data/app/.eslintignore +3 -0
  10. data/app/.eslintrc +265 -0
  11. data/app/config/preprocessor.js +19 -0
  12. data/app/config/webpack.js +124 -0
  13. data/app/gulpfile.js +96 -0
  14. data/app/package.json +86 -0
  15. data/app/src/actions.js +550 -0
  16. data/app/src/app.js +83 -0
  17. data/app/src/clients/audit.js +34 -0
  18. data/app/src/clients/auth.js +24 -0
  19. data/app/src/clients/generic.js +52 -0
  20. data/app/src/clients/graph.js +7 -0
  21. data/app/src/clients/layer_members.js +18 -0
  22. data/app/src/clients/list.js +31 -0
  23. data/app/src/clients/members.js +20 -0
  24. data/app/src/clients/request.js +531 -0
  25. data/app/src/clients/search.js +5 -0
  26. data/app/src/components/app/__tests__/app-test.js +22 -0
  27. data/app/src/components/app/app.js +36 -0
  28. data/app/src/components/app/wrapper.js +17 -0
  29. data/app/src/components/audit/__tests__/table_header-test.js +22 -0
  30. data/app/src/components/audit/box.js +9 -0
  31. data/app/src/components/audit/constants.js +5 -0
  32. data/app/src/components/audit/entry.js +105 -0
  33. data/app/src/components/audit/fields_mixin.js +11 -0
  34. data/app/src/components/audit/humanize_event.js +213 -0
  35. data/app/src/components/audit/table.js +64 -0
  36. data/app/src/components/audit/table_header.js +37 -0
  37. data/app/src/components/audit/timestamp.js +28 -0
  38. data/app/src/components/auth/login.js +177 -0
  39. data/app/src/components/auth/login.less +71 -0
  40. data/app/src/components/auth/logout.js +42 -0
  41. data/app/src/components/auth/logout.less +21 -0
  42. data/app/src/components/chart/chart.js +540 -0
  43. data/app/src/components/chart/chart_helper_mixin.js +78 -0
  44. data/app/src/components/custom/list.js +3 -0
  45. data/app/src/components/custom/view.js +81 -0
  46. data/app/src/components/dashboard/activity.js +144 -0
  47. data/app/src/components/dashboard/dashboard.js +46 -0
  48. data/app/src/components/flash/flash.js +98 -0
  49. data/app/src/components/flash/flash.less +3 -0
  50. data/app/src/components/generic/__tests__/time-test.js +42 -0
  51. data/app/src/components/generic/annotations.js +39 -0
  52. data/app/src/components/generic/breadcrumbs.js +57 -0
  53. data/app/src/components/generic/foldable_audit_section.js +204 -0
  54. data/app/src/components/generic/list.js +141 -0
  55. data/app/src/components/generic/list_factory.js +41 -0
  56. data/app/src/components/generic/resource_link.js +64 -0
  57. data/app/src/components/generic/role_link.js +66 -0
  58. data/app/src/components/generic/tab_mixin.js +146 -0
  59. data/app/src/components/generic/time.js +32 -0
  60. data/app/src/components/graph/__tests__/collapse-test.js +133 -0
  61. data/app/src/components/graph/__tests__/edges-from-vertices-test.js +48 -0
  62. data/app/src/components/graph/__tests__/new-vertex-set-test.js +16 -0
  63. data/app/src/components/graph/__tests__/next-id-test.js +27 -0
  64. data/app/src/components/graph/__tests__/role-kind-from-id-test.js +24 -0
  65. data/app/src/components/graph/__tests__/vertices-from-edges-test.js +72 -0
  66. data/app/src/components/graph/graph.js +449 -0
  67. data/app/src/components/graph/graph.less +39 -0
  68. data/app/src/components/graph/helpers.js +368 -0
  69. data/app/src/components/group/list.js +3 -0
  70. data/app/src/components/group/view.js +153 -0
  71. data/app/src/components/host/activity.js +111 -0
  72. data/app/src/components/host/details.js +28 -0
  73. data/app/src/components/host/executors.js +77 -0
  74. data/app/src/components/host/host_link.js +18 -0
  75. data/app/src/components/host/list.js +3 -0
  76. data/app/src/components/host/updaters.js +77 -0
  77. data/app/src/components/host/view.js +145 -0
  78. data/app/src/components/layer/list.js +3 -0
  79. data/app/src/components/layer/view.js +197 -0
  80. data/app/src/components/navbar/__tests__/navbar-test.js +21 -0
  81. data/app/src/components/navbar/nav_search_form.js +40 -0
  82. data/app/src/components/navbar/navbar.js +96 -0
  83. data/app/src/components/notfound/notfound.js +35 -0
  84. data/app/src/components/notfound/notfound.less +21 -0
  85. data/app/src/components/owned_resources/owned_resources.js +84 -0
  86. data/app/src/components/owned_resources/owned_resources_box.js +101 -0
  87. data/app/src/components/permissions/permissions.js +138 -0
  88. data/app/src/components/permissions/permissions_table.js +101 -0
  89. data/app/src/components/policy/list.js +3 -0
  90. data/app/src/components/policy/view.js +107 -0
  91. data/app/src/components/refresh/refresh.js +29 -0
  92. data/app/src/components/refresh/refresh.less +15 -0
  93. data/app/src/components/search/group.js +43 -0
  94. data/app/src/components/search/group_heading.js +50 -0
  95. data/app/src/components/search/group_title.js +37 -0
  96. data/app/src/components/search/result_item.js +55 -0
  97. data/app/src/components/search/search.js +118 -0
  98. data/app/src/components/user/activity.js +112 -0
  99. data/app/src/components/user/details.js +30 -0
  100. data/app/src/components/user/list.js +3 -0
  101. data/app/src/components/user/pubkeys.js +118 -0
  102. data/app/src/components/user/pubkeys.less +56 -0
  103. data/app/src/components/user/view.js +143 -0
  104. data/app/src/components/variable/activity.js +101 -0
  105. data/app/src/components/variable/details.js +46 -0
  106. data/app/src/components/variable/fetchers.js +77 -0
  107. data/app/src/components/variable/list.js +3 -0
  108. data/app/src/components/variable/updaters.js +77 -0
  109. data/app/src/components/variable/view.js +115 -0
  110. data/app/src/constants.js +36 -0
  111. data/{public → app/src}/images/conjur-logo.svg +0 -0
  112. data/{public → app/src}/images/icon-client-pc.svg +0 -0
  113. data/{public → app/src}/images/icon-environment.png +0 -0
  114. data/{public → app/src}/images/icon-person.svg +0 -0
  115. data/{public → app/src}/images/icon-policy.png +0 -0
  116. data/{public → app/src}/images/icon-resource.png +0 -0
  117. data/{public → app/src}/images/icon-service-dots.svg +0 -0
  118. data/{public → app/src}/images/icon-variable.png +0 -0
  119. data/app/src/pages/index.html +27 -0
  120. data/app/src/routes.js +64 -0
  121. data/app/src/stores/app_store.js +35 -0
  122. data/app/src/stores/audit_store.js +143 -0
  123. data/app/src/stores/graph_store.js +51 -0
  124. data/app/src/stores/group_store.js +104 -0
  125. data/app/src/stores/host_store.js +111 -0
  126. data/app/src/stores/layer_store.js +115 -0
  127. data/app/src/stores/policy_store.js +88 -0
  128. data/app/src/stores/resources_store.js +115 -0
  129. data/app/src/stores/route_store.js +21 -0
  130. data/app/src/stores/search_store.js +77 -0
  131. data/app/src/stores/user_store.js +109 -0
  132. data/app/src/stores/variable_store.js +93 -0
  133. data/app/src/styles/bootstrap.less +54 -0
  134. data/{public/css → app/src/styles}/styles.less +26 -82
  135. data/app/src/utils.js +38 -0
  136. data/app/src/vendor/pace.js +2 -0
  137. data/conjur-asset-ui.gemspec +3 -4
  138. data/docker/assets-build/Dockerfile +12 -0
  139. data/docker/conjur-ui/Dockerfile +33 -0
  140. data/docker/conjur-ui/README.md +38 -0
  141. data/docker/conjur-ui/mime.types +90 -0
  142. data/docker/conjur-ui/nginx.conf +110 -0
  143. data/docker/conjur-ui/start.py +72 -0
  144. data/docker/conjur-ui/start.sh +18 -0
  145. data/docker/conjur-ui/test.env +8 -0
  146. data/lib/conjur-asset-ui-version.rb +1 -1
  147. data/lib/conjur/command/ui.rb +10 -2
  148. data/lib/conjur/webserver/home.rb +3 -3
  149. data/lib/conjur/webserver/login.rb +1 -1
  150. data/lib/conjur/webserver/server.rb +16 -4
  151. data/public/js/views/roleGraph.js +91 -0
  152. metadata +167 -105
  153. data/.jshintrc +0 -41
  154. data/bower.json +0 -98
  155. data/gulpfile.js +0 -139
  156. data/package.json +0 -47
  157. data/preprocessor.js +0 -7
  158. data/public/_client_libs.html +0 -9
  159. data/public/index.html.erb +0 -63
  160. data/public/js/init.js +0 -196
  161. data/public/js/lib/pace.js +0 -2
  162. data/public/js/lib/sorted-set.no-require.js +0 -1145
  163. data/public/js/lib/sorted-set.no-require.js.txt +0 -6
  164. data/public/js/models/groupRecord.js +0 -72
  165. data/public/js/models/hostRecord.js +0 -60
  166. data/public/js/models/layerRecord.js +0 -79
  167. data/public/js/models/namespace.js +0 -12
  168. data/public/js/models/policyList.js +0 -16
  169. data/public/js/models/policyRecord.js +0 -54
  170. data/public/js/models/record.js +0 -117
  171. data/public/js/models/resourceList.js +0 -87
  172. data/public/js/models/userList.js +0 -25
  173. data/public/js/models/userRecord.js +0 -75
  174. data/public/js/models/variableList.js +0 -27
  175. data/public/js/models/variableRecord.js +0 -77
  176. data/public/js/routers.js +0 -242
  177. data/public/js/views/annotations.js +0 -47
  178. data/public/js/views/audit.js +0 -369
  179. data/public/js/views/breadcrumbs.js +0 -62
  180. data/public/js/views/chart.js +0 -617
  181. data/public/js/views/dashboard.js +0 -146
  182. data/public/js/views/generic.js +0 -122
  183. data/public/js/views/group.js +0 -109
  184. data/public/js/views/groups.js +0 -26
  185. data/public/js/views/host.js +0 -200
  186. data/public/js/views/hosts.js +0 -26
  187. data/public/js/views/layer.js +0 -146
  188. data/public/js/views/layers.js +0 -26
  189. data/public/js/views/mixins/search.js +0 -22
  190. data/public/js/views/mixins/tabs.js +0 -154
  191. data/public/js/views/namespaces.js +0 -40
  192. data/public/js/views/navSearch.js +0 -36
  193. data/public/js/views/owned.js +0 -184
  194. data/public/js/views/permissions.js +0 -254
  195. data/public/js/views/policies.js +0 -26
  196. data/public/js/views/policy.js +0 -70
  197. data/public/js/views/resource.js +0 -59
  198. data/public/js/views/role.js +0 -63
  199. data/public/js/views/searchResults.js +0 -212
  200. data/public/js/views/sections.js +0 -226
  201. data/public/js/views/time.js +0 -39
  202. data/public/js/views/user.js +0 -297
  203. data/public/js/views/users.js +0 -26
  204. data/public/js/views/variable.js +0 -310
  205. data/public/js/views/variables.js +0 -26
  206. data/spec/javascripts/helpers/.gitkeep +0 -0
  207. data/spec/javascripts/support/jasmine.yml +0 -112
  208. data/spec/javascripts/support/jasmine_helper.rb +0 -22
  209. data/spec/javascripts/support/run.html.erb +0 -23
  210. data/spec/javascripts/views/AuditSpec.js +0 -22
  211. data/spec/javascripts/views/AuditSpec.ls +0 -18
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: e84b34bd073f6957e24c4681011fc2a76e885910
4
- data.tar.gz: fa39fd6270a10f8574a6b5b3b9e23bfd4f6700b0
3
+ metadata.gz: 505366556661ac37ae18b6c7027bfdacc6d79b3a
4
+ data.tar.gz: 9962fd553595a6b2361a32816ba9254a5a59d273
5
5
  SHA512:
6
- metadata.gz: d0b428ca78cdafe84e6bc7b32c0adfd46ee67b9a150ee409a35a1699aca87e849ba51fffe9d7a0434fad28e51c45721681ea28bc947383dcca4b80ab3721bdbe
7
- data.tar.gz: 9fe20dd4f9f496533bbcd8edb561ac34171602268052a4ec60167c3c861755fceb08b8926f33980b1aaa24c724fc8d90a5c9fb4e32b4de987b0bfc17dcd85490
6
+ metadata.gz: 010ac6a00c86a5852879c902dc15a58e45c68cd8806a71dfa4a00f4ee423d10a72e6512e23e6b0dde339326fb92e0b9b791b6b683602c84213cd6dbdf823618d
7
+ data.tar.gz: ba9389546fb4a9c1d757a895db9002f5d5afc7557a819325a66fd1f6f2220a8da3b687757e76191362216bc09a869a6bccce64421e142b40d46462beb51f8f55
data/.gitignore CHANGED
@@ -17,6 +17,11 @@ test/version_tmp
17
17
  tmp
18
18
  .idea
19
19
  .DS_Store
20
- bower_components/
21
- node_modules/
22
- public/build/
20
+ npm-debug.log
21
+ app/npm-debug.log
22
+ app/node_modules/
23
+ app/build/
24
+ *.iml
25
+ *.conjurrc
26
+ .ruby-version
27
+ .ruby-gemset
@@ -1,3 +1,13 @@
1
+ # v1.6.0
2
+
3
+ * two operation modes supported: Conjur CLI plugin and regular JS
4
+ * improved role graph
5
+ * bugfixes
6
+
7
+ # v1.5.0
8
+
9
+ * `-p` and `--headless` options for launching the UI
10
+
1
11
  # v1.4.2
2
12
 
3
13
  * New dashboard
@@ -0,0 +1,19 @@
1
+ .PHONY: warn clean assets docker
2
+
3
+ DOCKERNAME?=conjurinc/conjur-ui
4
+
5
+ warn:
6
+ @echo "This make process sucks. You are warned!"
7
+
8
+ clean: warn
9
+ rm -rf app/build app/node_modules docker/conjur-ui/assets
10
+
11
+ assets: warn clean
12
+ bundle install
13
+ rake deps:install assets:build
14
+ mv app/build docker/conjur-ui/assets
15
+
16
+ docker: warn assets
17
+ #docker pull $(DOCKERNAME)
18
+ docker build -t $(DOCKERNAME) docker/conjur-ui
19
+
data/README.md CHANGED
@@ -21,11 +21,8 @@ gem 'conjur-asset-ui'
21
21
  Next, edit your `.conjurrc` file to add the `"ui"` plugin, for example:
22
22
 
23
23
  ```
24
- stack: v4
25
- account: sandbox
26
24
  plugins:
27
25
  - ui
28
- - layer
29
26
  ```
30
27
 
31
28
  Make sure you are logged into conjur:
data/Rakefile CHANGED
@@ -1,8 +1,5 @@
1
1
  require 'bundler/gem_tasks'
2
2
 
3
- require 'jasmine'
4
- load 'jasmine/tasks/jasmine.rake'
5
-
6
3
  begin
7
4
  require 'cucumber'
8
5
  require 'cucumber/rake/task'
@@ -24,40 +21,48 @@ rescue LoadError
24
21
  end
25
22
 
26
23
  namespace :deps do
27
- desc 'Installs non-ruby dependencies like gulp, bower and nodejs packages'
24
+ desc 'Installs non-ruby dependencies like gulp and nodejs packages'
28
25
  task :install do
29
- sh 'sudo npm install -g gulp bower'
30
- sh 'npm install'
31
- sh 'bower install'
26
+ Dir.chdir('app') do
27
+ sh 'npm install'
28
+ end
32
29
  end
33
30
 
34
- desc 'Updates npm and bower packages'
31
+ desc 'Updates npm packages'
35
32
  task :update do
36
- sh 'npm update'
37
- sh 'bower update'
33
+ Dir.chdir('app') do
34
+ sh 'npm update'
35
+ end
38
36
  end
39
37
 
40
- desc 'Removes npm and bower packages from filesystem'
38
+ desc 'Removes npm packages from filesystem'
41
39
  task :clean do
42
- sh 'rm -rf node_modules'
43
- sh 'rm -rf bower_components'
40
+ Dir.chdir('app') do
41
+ sh 'rm -rf node_modules'
42
+ end
44
43
  end
45
44
  end
46
45
 
47
46
  namespace :assets do
48
47
  desc 'Build js and css'
49
48
  task :build do
50
- sh 'gulp build'
49
+ Dir.chdir('app') do
50
+ sh './node_modules/gulp/bin/gulp.js build'
51
+ end
51
52
  end
52
53
 
53
54
  desc 'Watch the assets files and rebuild when one of them changes'
54
55
  task :watch => :build do
55
- sh 'gulp watch'
56
+ Dir.chdir('app') do
57
+ sh './node_modules/gulp/bin/gulp.js watch'
58
+ end
56
59
  end
57
60
 
58
61
  desc 'Clean builded assets'
59
62
  task :clean do
60
- sh 'gulp clean'
63
+ Dir.chdir('app') do
64
+ sh './node_modules/gulp/bin/gulp.js clean'
65
+ end
61
66
  end
62
67
  end
63
68
 
@@ -66,6 +71,6 @@ task :build => %w(deps:install assets:build)
66
71
  namespace :git do
67
72
  desc 'Executes git clean'
68
73
  task :clean do
69
- sh 'git clean -dfX'
74
+ sh 'git clean -dfx'
70
75
  end
71
76
  end
data/TODO.md CHANGED
@@ -1,31 +1,8 @@
1
- # General
2
-
3
- 1. Flux?
4
- 2. Reflux?
5
- 3. Astarisx?
6
-
7
- # JS
8
-
9
- 1. Make audit.js readable
10
- 2. Extract from audit.js common components and refactor it
11
- 3. Better models
12
- 4. Create navigation menu component
13
-
14
-
15
1
  # General JS
16
2
 
17
- 1. Drop backbone
18
- 2. Think how to replace backbone history
19
- 3. Drop prelude-ls
20
- 4. Drop jquery everywhere
21
- 5. Find nice library for ajax requests
22
- 6. Move from underscore to lo-dash
23
- 7. Drop underscore.string
24
- 8. Drop underscore-deep-extend
25
3
  9. Drop react-bootstrap and bootstrap.js
26
4
 
27
5
  # CSS
28
6
 
29
7
  1. Move to SASS
30
- 2. Break monolite file in to modules
31
8
  3. More BEM everywhere
@@ -0,0 +1,304 @@
1
+ {
2
+ "always-semicolon": true,
3
+ "block-indent": 2,
4
+ "color-case": "lower",
5
+ "color-shorthand": true,
6
+ "element-case": "lower",
7
+ "eof-newline": true,
8
+ "leading-zero": false,
9
+ "remove-empty-rulesets": true,
10
+ "space-after-colon": 1,
11
+ "space-after-combinator": 1,
12
+ "space-before-selector-delimiter": 0,
13
+ "space-between-declarations": "\n",
14
+ "space-after-opening-brace": "\n",
15
+ "space-before-closing-brace": "\n",
16
+ "space-before-colon": 0,
17
+ "space-before-combinator": 1,
18
+ "space-before-opening-brace": 1,
19
+ "strip-spaces": true,
20
+ "unitless-zero": true,
21
+ "vendor-prefix-align": true,
22
+ "sort-order": [
23
+ [
24
+ "position",
25
+ "top",
26
+ "right",
27
+ "bottom",
28
+ "left",
29
+ "z-index",
30
+ "display",
31
+ "float",
32
+ "width",
33
+ "min-width",
34
+ "max-width",
35
+ "height",
36
+ "min-height",
37
+ "max-height",
38
+ "-webkit-box-sizing",
39
+ "-moz-box-sizing",
40
+ "box-sizing",
41
+ "-webkit-appearance",
42
+ "padding",
43
+ "padding-top",
44
+ "padding-right",
45
+ "padding-bottom",
46
+ "padding-left",
47
+ "margin",
48
+ "margin-top",
49
+ "margin-right",
50
+ "margin-bottom",
51
+ "margin-left",
52
+ "overflow",
53
+ "overflow-x",
54
+ "overflow-y",
55
+ "-webkit-overflow-scrolling",
56
+ "-ms-overflow-x",
57
+ "-ms-overflow-y",
58
+ "-ms-overflow-style",
59
+ "clip",
60
+ "clear",
61
+ "font",
62
+ "font-family",
63
+ "font-size",
64
+ "font-style",
65
+ "font-weight",
66
+ "font-variant",
67
+ "font-size-adjust",
68
+ "font-stretch",
69
+ "font-effect",
70
+ "font-emphasize",
71
+ "font-emphasize-position",
72
+ "font-emphasize-style",
73
+ "font-smooth",
74
+ "-webkit-hyphens",
75
+ "-moz-hyphens",
76
+ "hyphens",
77
+ "line-height",
78
+ "color",
79
+ "text-align",
80
+ "-webkit-text-align-last",
81
+ "-moz-text-align-last",
82
+ "-ms-text-align-last",
83
+ "text-align-last",
84
+ "text-emphasis",
85
+ "text-emphasis-color",
86
+ "text-emphasis-style",
87
+ "text-emphasis-position",
88
+ "text-decoration",
89
+ "text-indent",
90
+ "text-justify",
91
+ "text-outline",
92
+ "-ms-text-overflow",
93
+ "text-overflow",
94
+ "text-overflow-ellipsis",
95
+ "text-overflow-mode",
96
+ "text-shadow",
97
+ "text-transform",
98
+ "text-wrap",
99
+ "-webkit-text-size-adjust",
100
+ "-ms-text-size-adjust",
101
+ "letter-spacing",
102
+ "-ms-word-break",
103
+ "word-break",
104
+ "word-spacing",
105
+ "-ms-word-wrap",
106
+ "word-wrap",
107
+ "-moz-tab-size",
108
+ "-o-tab-size",
109
+ "tab-size",
110
+ "white-space",
111
+ "vertical-align",
112
+ "list-style",
113
+ "list-style-position",
114
+ "list-style-type",
115
+ "list-style-image",
116
+ "pointer-events",
117
+ "-ms-touch-action",
118
+ "touch-action",
119
+ "cursor",
120
+ "visibility",
121
+ "zoom",
122
+ "flex-direction",
123
+ "flex-order",
124
+ "flex-pack",
125
+ "flex-align",
126
+ "table-layout",
127
+ "empty-cells",
128
+ "caption-side",
129
+ "border-spacing",
130
+ "border-collapse",
131
+ "content",
132
+ "quotes",
133
+ "counter-reset",
134
+ "counter-increment",
135
+ "resize",
136
+ "-webkit-user-select",
137
+ "-moz-user-select",
138
+ "-ms-user-select",
139
+ "-o-user-select",
140
+ "user-select",
141
+ "nav-index",
142
+ "nav-up",
143
+ "nav-right",
144
+ "nav-down",
145
+ "nav-left",
146
+ "background",
147
+ "background-color",
148
+ "background-image",
149
+ "-ms-filter:\\'progid:DXImageTransform.Microsoft.gradient",
150
+ "filter:progid:DXImageTransform.Microsoft.gradient",
151
+ "filter:progid:DXImageTransform.Microsoft.AlphaImageLoader",
152
+ "filter",
153
+ "background-repeat",
154
+ "background-attachment",
155
+ "background-position",
156
+ "background-position-x",
157
+ "background-position-y",
158
+ "-webkit-background-clip",
159
+ "-moz-background-clip",
160
+ "background-clip",
161
+ "background-origin",
162
+ "-webkit-background-size",
163
+ "-moz-background-size",
164
+ "-o-background-size",
165
+ "background-size",
166
+ "border",
167
+ "border-color",
168
+ "border-style",
169
+ "border-width",
170
+ "border-top",
171
+ "border-top-color",
172
+ "border-top-style",
173
+ "border-top-width",
174
+ "border-right",
175
+ "border-right-color",
176
+ "border-right-style",
177
+ "border-right-width",
178
+ "border-bottom",
179
+ "border-bottom-color",
180
+ "border-bottom-style",
181
+ "border-bottom-width",
182
+ "border-left",
183
+ "border-left-color",
184
+ "border-left-style",
185
+ "border-left-width",
186
+ "border-radius",
187
+ "border-top-left-radius",
188
+ "border-top-right-radius",
189
+ "border-bottom-right-radius",
190
+ "border-bottom-left-radius",
191
+ "-webkit-border-image",
192
+ "-moz-border-image",
193
+ "-o-border-image",
194
+ "border-image",
195
+ "-webkit-border-image-source",
196
+ "-moz-border-image-source",
197
+ "-o-border-image-source",
198
+ "border-image-source",
199
+ "-webkit-border-image-slice",
200
+ "-moz-border-image-slice",
201
+ "-o-border-image-slice",
202
+ "border-image-slice",
203
+ "-webkit-border-image-width",
204
+ "-moz-border-image-width",
205
+ "-o-border-image-width",
206
+ "border-image-width",
207
+ "-webkit-border-image-outset",
208
+ "-moz-border-image-outset",
209
+ "-o-border-image-outset",
210
+ "border-image-outset",
211
+ "-webkit-border-image-repeat",
212
+ "-moz-border-image-repeat",
213
+ "-o-border-image-repeat",
214
+ "border-image-repeat",
215
+ "outline",
216
+ "outline-width",
217
+ "outline-style",
218
+ "outline-color",
219
+ "outline-offset",
220
+ "-webkit-box-shadow",
221
+ "-moz-box-shadow",
222
+ "box-shadow",
223
+ "filter:progid:DXImageTransform.Microsoft.Alpha(Opacity",
224
+ "-ms-filter:\\'progid:DXImageTransform.Microsoft.Alpha",
225
+ "opacity",
226
+ "-ms-interpolation-mode",
227
+ "-webkit-transition",
228
+ "-moz-transition",
229
+ "-ms-transition",
230
+ "-o-transition",
231
+ "transition",
232
+ "-webkit-transition-delay",
233
+ "-moz-transition-delay",
234
+ "-ms-transition-delay",
235
+ "-o-transition-delay",
236
+ "transition-delay",
237
+ "-webkit-transition-timing-function",
238
+ "-moz-transition-timing-function",
239
+ "-ms-transition-timing-function",
240
+ "-o-transition-timing-function",
241
+ "transition-timing-function",
242
+ "-webkit-transition-duration",
243
+ "-moz-transition-duration",
244
+ "-ms-transition-duration",
245
+ "-o-transition-duration",
246
+ "transition-duration",
247
+ "-webkit-transition-property",
248
+ "-moz-transition-property",
249
+ "-ms-transition-property",
250
+ "-o-transition-property",
251
+ "transition-property",
252
+ "-webkit-transform",
253
+ "-moz-transform",
254
+ "-ms-transform",
255
+ "-o-transform",
256
+ "transform",
257
+ "-webkit-transform-origin",
258
+ "-moz-transform-origin",
259
+ "-ms-transform-origin",
260
+ "-o-transform-origin",
261
+ "transform-origin",
262
+ "-webkit-animation",
263
+ "-moz-animation",
264
+ "-ms-animation",
265
+ "-o-animation",
266
+ "animation",
267
+ "-webkit-animation-name",
268
+ "-moz-animation-name",
269
+ "-ms-animation-name",
270
+ "-o-animation-name",
271
+ "animation-name",
272
+ "-webkit-animation-duration",
273
+ "-moz-animation-duration",
274
+ "-ms-animation-duration",
275
+ "-o-animation-duration",
276
+ "animation-duration",
277
+ "-webkit-animation-play-state",
278
+ "-moz-animation-play-state",
279
+ "-ms-animation-play-state",
280
+ "-o-animation-play-state",
281
+ "animation-play-state",
282
+ "-webkit-animation-timing-function",
283
+ "-moz-animation-timing-function",
284
+ "-ms-animation-timing-function",
285
+ "-o-animation-timing-function",
286
+ "animation-timing-function",
287
+ "-webkit-animation-delay",
288
+ "-moz-animation-delay",
289
+ "-ms-animation-delay",
290
+ "-o-animation-delay",
291
+ "animation-delay",
292
+ "-webkit-animation-iteration-count",
293
+ "-moz-animation-iteration-count",
294
+ "-ms-animation-iteration-count",
295
+ "-o-animation-iteration-count",
296
+ "animation-iteration-count",
297
+ "-webkit-animation-direction",
298
+ "-moz-animation-direction",
299
+ "-ms-animation-direction",
300
+ "-o-animation-direction",
301
+ "animation-direction"
302
+ ]
303
+ ]
304
+ }