@performant-software/semantic-components 0.5.2 → 0.5.5

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 (440) hide show
  1. package/build/278156e41e0ad908cf7f841b17130502.woff2 +0 -0
  2. package/build/38c6d8bab26db77d8c806813e1497763.woff2 +0 -0
  3. package/build/425399f81e4ce7cbd967685402ba0260.woff +0 -0
  4. package/build/5367103510b27b78482794590e1ce3b0.ttf +0 -0
  5. package/build/62d9dae4e0040e81c980950003df0e07.svg +1518 -0
  6. package/build/65a2fb6d9aaa164b41a039302093995b.ttf +0 -0
  7. package/build/6729d29753e000c17489ed43135ba8d5.svg +1008 -0
  8. package/build/687a4990ea22bb1a49d469a5d9319790.woff2 +0 -0
  9. package/build/752905fa5edf21fc52a10a0c1ca9c7a4.eot +0 -0
  10. package/build/99f63ae7a743f21ab30847ed06a698d9.png +0 -0
  11. package/build/9c4845b4b41ef40a22faee76144fa816.svg +366 -0
  12. package/build/a01e3f2d6c83dc3aee175e2482b3f777.eot +0 -0
  13. package/build/c656b8caa454ed19b9a2ef7f4f5b8fea.ttf +0 -0
  14. package/build/cac87dc00c87a5d74711d0276713808a.woff +0 -0
  15. package/build/d68fa3e67dbb653a13cec44b1bcabcfe.eot +0 -0
  16. package/build/ddae9b1ba9b0b42f58809904b0b21349.woff +0 -0
  17. package/build/index.js +1 -1
  18. package/build/index.js.map +1 -1
  19. package/build/main.css +63 -141
  20. package/build/semantic-ui.css +61259 -0
  21. package/package.json +13 -6
  22. package/src/components/AccordionDataList.js +3 -0
  23. package/src/components/AccordionList.js +9 -2
  24. package/src/components/AccordionSelector.js +93 -86
  25. package/src/components/ArrowButtons.js +2 -0
  26. package/src/components/CancelButton.js +1 -2
  27. package/src/components/ColorPickerModal.js +36 -31
  28. package/src/components/DataList.js +11 -2
  29. package/src/components/DataTable.js +1 -0
  30. package/src/components/DataTableColumnSelector.js +53 -33
  31. package/src/components/DataView.css +4 -0
  32. package/src/components/DataView.js +413 -0
  33. package/src/components/DatabaseView.js +126 -0
  34. package/src/components/DateInput.js +1 -0
  35. package/src/components/DatePicker.css +4 -4
  36. package/src/components/DatePicker.js +4 -0
  37. package/src/components/DropdownButton.js +2 -0
  38. package/src/components/DropdownMenu.js +11 -1
  39. package/src/components/EditModal.js +1 -2
  40. package/src/components/FileUpload.css +3 -3
  41. package/src/components/FileUploadModal.js +43 -38
  42. package/src/components/FuzzyDate.js +114 -99
  43. package/src/components/HorizontalCards.js +3 -0
  44. package/src/components/Items.css +0 -4
  45. package/src/components/Items.js +2 -0
  46. package/src/components/ItemsToggle.js +4 -0
  47. package/src/components/List.js +1 -0
  48. package/src/components/ListFilters.js +115 -109
  49. package/src/components/ListTable.js +7 -4
  50. package/src/components/LoginModal.js +72 -65
  51. package/src/components/MediaList.js +1 -0
  52. package/src/components/MenuBar.css +0 -0
  53. package/src/components/MenuBar.js +84 -0
  54. package/src/components/MenuSidebar.css +0 -0
  55. package/src/components/MenuSidebar.js +84 -0
  56. package/src/components/ModalDropdown.js +6 -3
  57. package/src/components/NestedAccordion.css +4 -0
  58. package/src/components/NestedAccordion.js +1 -0
  59. package/src/components/PhotoViewer.js +23 -15
  60. package/src/components/ReferenceCodeDropdown.css +0 -0
  61. package/src/components/ReferenceCodeDropdown.js +118 -0
  62. package/src/components/ReferenceCodeModal.css +0 -0
  63. package/src/components/ReferenceCodeModal.js +38 -0
  64. package/src/components/ReferenceTableModal.css +0 -0
  65. package/src/components/ReferenceTableModal.js +73 -0
  66. package/src/components/ReferenceTablesList.css +0 -0
  67. package/src/components/ReferenceTablesList.js +44 -0
  68. package/src/components/RemoteDropdown.js +1 -0
  69. package/src/components/Selectize.js +50 -45
  70. package/src/components/TabbedModal.js +30 -24
  71. package/src/components/VideoFrameSelector.js +90 -78
  72. package/src/components/VideoPlayer.js +58 -30
  73. package/src/components/ViewXML.js +38 -32
  74. package/src/context/ModalContext.js +5 -0
  75. package/src/css/site/collections/breadcrumb.overrides +3 -0
  76. package/src/css/site/collections/breadcrumb.variables +3 -0
  77. package/src/css/site/collections/form.overrides +3 -0
  78. package/src/css/site/collections/form.variables +3 -0
  79. package/src/css/site/collections/grid.overrides +3 -0
  80. package/src/css/site/collections/grid.variables +3 -0
  81. package/src/css/site/collections/menu.overrides +3 -0
  82. package/src/css/site/collections/menu.variables +5 -0
  83. package/src/css/site/collections/message.overrides +3 -0
  84. package/src/css/site/collections/message.variables +3 -0
  85. package/src/css/site/collections/table.overrides +3 -0
  86. package/src/css/site/collections/table.variables +3 -0
  87. package/src/css/site/elements/button.overrides +3 -0
  88. package/src/css/site/elements/button.variables +5 -0
  89. package/src/css/site/elements/container.overrides +3 -0
  90. package/src/css/site/elements/container.variables +3 -0
  91. package/src/css/site/elements/divider.overrides +3 -0
  92. package/src/css/site/elements/divider.variables +3 -0
  93. package/src/css/site/elements/flag.overrides +3 -0
  94. package/src/css/site/elements/flag.variables +3 -0
  95. package/src/css/site/elements/header.overrides +3 -0
  96. package/src/css/site/elements/header.variables +3 -0
  97. package/src/css/site/elements/icon.overrides +3 -0
  98. package/src/css/site/elements/icon.variables +3 -0
  99. package/src/css/site/elements/image.overrides +3 -0
  100. package/src/css/site/elements/image.variables +3 -0
  101. package/src/css/site/elements/input.overrides +3 -0
  102. package/src/css/site/elements/input.variables +3 -0
  103. package/src/css/site/elements/label.overrides +3 -0
  104. package/src/css/site/elements/label.variables +3 -0
  105. package/src/css/site/elements/list.overrides +3 -0
  106. package/src/css/site/elements/list.variables +3 -0
  107. package/src/css/site/elements/loader.overrides +3 -0
  108. package/src/css/site/elements/loader.variables +3 -0
  109. package/src/css/site/elements/rail.overrides +3 -0
  110. package/src/css/site/elements/rail.variables +3 -0
  111. package/src/css/site/elements/reveal.overrides +3 -0
  112. package/src/css/site/elements/reveal.variables +3 -0
  113. package/src/css/site/elements/segment.overrides +3 -0
  114. package/src/css/site/elements/segment.variables +3 -0
  115. package/src/css/site/elements/step.overrides +3 -0
  116. package/src/css/site/elements/step.variables +3 -0
  117. package/src/css/site/globals/reset.overrides +3 -0
  118. package/src/css/site/globals/reset.variables +3 -0
  119. package/src/css/site/globals/site.overrides +3 -0
  120. package/src/css/site/globals/site.variables +11 -0
  121. package/src/css/site/modules/accordion.overrides +3 -0
  122. package/src/css/site/modules/accordion.variables +3 -0
  123. package/src/css/site/modules/chatroom.overrides +3 -0
  124. package/src/css/site/modules/chatroom.variables +3 -0
  125. package/src/css/site/modules/checkbox.overrides +3 -0
  126. package/src/css/site/modules/checkbox.variables +3 -0
  127. package/src/css/site/modules/dimmer.overrides +3 -0
  128. package/src/css/site/modules/dimmer.variables +3 -0
  129. package/src/css/site/modules/dropdown.overrides +3 -0
  130. package/src/css/site/modules/dropdown.variables +3 -0
  131. package/src/css/site/modules/embed.overrides +3 -0
  132. package/src/css/site/modules/embed.variables +0 -0
  133. package/src/css/site/modules/modal.overrides +3 -0
  134. package/src/css/site/modules/modal.variables +3 -0
  135. package/src/css/site/modules/nag.overrides +3 -0
  136. package/src/css/site/modules/nag.variables +3 -0
  137. package/src/css/site/modules/popup.overrides +3 -0
  138. package/src/css/site/modules/popup.variables +3 -0
  139. package/src/css/site/modules/progress.overrides +3 -0
  140. package/src/css/site/modules/progress.variables +3 -0
  141. package/src/css/site/modules/rating.overrides +3 -0
  142. package/src/css/site/modules/rating.variables +3 -0
  143. package/src/css/site/modules/search.overrides +3 -0
  144. package/src/css/site/modules/search.variables +3 -0
  145. package/src/css/site/modules/shape.overrides +3 -0
  146. package/src/css/site/modules/shape.variables +3 -0
  147. package/src/css/site/modules/sidebar.overrides +3 -0
  148. package/src/css/site/modules/sidebar.variables +3 -0
  149. package/src/css/site/modules/sticky.overrides +3 -0
  150. package/src/css/site/modules/sticky.variables +3 -0
  151. package/src/css/site/modules/tab.overrides +3 -0
  152. package/src/css/site/modules/tab.variables +3 -0
  153. package/src/css/site/modules/transition.overrides +3 -0
  154. package/src/css/site/modules/transition.variables +3 -0
  155. package/src/css/site/views/ad.overrides +3 -0
  156. package/src/css/site/views/ad.variables +3 -0
  157. package/src/css/site/views/card.overrides +3 -0
  158. package/src/css/site/views/card.variables +3 -0
  159. package/src/css/site/views/comment.overrides +3 -0
  160. package/src/css/site/views/comment.variables +3 -0
  161. package/src/css/site/views/feed.overrides +3 -0
  162. package/src/css/site/views/feed.variables +3 -0
  163. package/src/css/site/views/item.overrides +3 -0
  164. package/src/css/site/views/item.variables +3 -0
  165. package/src/css/site/views/statistic.overrides +3 -0
  166. package/src/css/site/views/statistic.variables +3 -0
  167. package/src/css/style.less +1 -0
  168. package/src/css/theme.config +94 -0
  169. package/src/css/themes/amazon/elements/button.overrides +46 -0
  170. package/src/css/themes/amazon/elements/button.variables +58 -0
  171. package/src/css/themes/amazon/globals/site.variables +43 -0
  172. package/src/css/themes/basic/assets/fonts/icons.eot +0 -0
  173. package/src/css/themes/basic/assets/fonts/icons.svg +450 -0
  174. package/src/css/themes/basic/assets/fonts/icons.ttf +0 -0
  175. package/src/css/themes/basic/assets/fonts/icons.woff +0 -0
  176. package/src/css/themes/basic/collections/table.overrides +4 -0
  177. package/src/css/themes/basic/collections/table.variables +11 -0
  178. package/src/css/themes/basic/elements/button.overrides +4 -0
  179. package/src/css/themes/basic/elements/button.variables +44 -0
  180. package/src/css/themes/basic/elements/icon.overrides +189 -0
  181. package/src/css/themes/basic/elements/icon.variables +12 -0
  182. package/src/css/themes/basic/elements/step.overrides +10 -0
  183. package/src/css/themes/basic/elements/step.variables +18 -0
  184. package/src/css/themes/basic/globals/reset.overrides +5 -0
  185. package/src/css/themes/basic/globals/reset.variables +3 -0
  186. package/src/css/themes/basic/modules/progress.overrides +3 -0
  187. package/src/css/themes/basic/modules/progress.variables +15 -0
  188. package/src/css/themes/basic/views/card.overrides +4 -0
  189. package/src/css/themes/basic/views/card.variables +35 -0
  190. package/src/css/themes/bookish/elements/header.overrides +15 -0
  191. package/src/css/themes/bookish/elements/header.variables +37 -0
  192. package/src/css/themes/bootstrap3/elements/button.overrides +0 -0
  193. package/src/css/themes/bootstrap3/elements/button.variables +63 -0
  194. package/src/css/themes/chubby/collections/form.overrides +16 -0
  195. package/src/css/themes/chubby/collections/form.variables +9 -0
  196. package/src/css/themes/chubby/collections/menu.overrides +0 -0
  197. package/src/css/themes/chubby/collections/menu.variables +40 -0
  198. package/src/css/themes/chubby/elements/button.overrides +21 -0
  199. package/src/css/themes/chubby/elements/button.variables +57 -0
  200. package/src/css/themes/chubby/elements/header.overrides +5 -0
  201. package/src/css/themes/chubby/elements/header.variables +21 -0
  202. package/src/css/themes/chubby/modules/accordion.overrides +7 -0
  203. package/src/css/themes/chubby/modules/accordion.variables +15 -0
  204. package/src/css/themes/chubby/views/comment.overrides +12 -0
  205. package/src/css/themes/chubby/views/comment.variables +46 -0
  206. package/src/css/themes/classic/collections/table.overrides +3 -0
  207. package/src/css/themes/classic/collections/table.variables +14 -0
  208. package/src/css/themes/classic/elements/button.overrides +3 -0
  209. package/src/css/themes/classic/elements/button.variables +96 -0
  210. package/src/css/themes/classic/elements/header.overrides +3 -0
  211. package/src/css/themes/classic/elements/header.variables +12 -0
  212. package/src/css/themes/classic/modules/progress.overrides +3 -0
  213. package/src/css/themes/classic/modules/progress.variables +9 -0
  214. package/src/css/themes/classic/views/card.overrides +98 -0
  215. package/src/css/themes/classic/views/card.variables +22 -0
  216. package/src/css/themes/colored/modules/checkbox.overrides +0 -0
  217. package/src/css/themes/colored/modules/checkbox.variables +29 -0
  218. package/src/css/themes/default/assets/fonts/brand-icons.eot +0 -0
  219. package/src/css/themes/default/assets/fonts/brand-icons.svg +1008 -0
  220. package/src/css/themes/default/assets/fonts/brand-icons.ttf +0 -0
  221. package/src/css/themes/default/assets/fonts/brand-icons.woff +0 -0
  222. package/src/css/themes/default/assets/fonts/brand-icons.woff2 +0 -0
  223. package/src/css/themes/default/assets/fonts/icons.eot +0 -0
  224. package/src/css/themes/default/assets/fonts/icons.svg +1518 -0
  225. package/src/css/themes/default/assets/fonts/icons.ttf +0 -0
  226. package/src/css/themes/default/assets/fonts/icons.woff +0 -0
  227. package/src/css/themes/default/assets/fonts/icons.woff2 +0 -0
  228. package/src/css/themes/default/assets/fonts/outline-icons.eot +0 -0
  229. package/src/css/themes/default/assets/fonts/outline-icons.svg +366 -0
  230. package/src/css/themes/default/assets/fonts/outline-icons.ttf +0 -0
  231. package/src/css/themes/default/assets/fonts/outline-icons.woff +0 -0
  232. package/src/css/themes/default/assets/fonts/outline-icons.woff2 +0 -0
  233. package/src/css/themes/default/assets/images/flags.png +0 -0
  234. package/src/css/themes/default/collections/breadcrumb.overrides +3 -0
  235. package/src/css/themes/default/collections/breadcrumb.variables +33 -0
  236. package/src/css/themes/default/collections/form.overrides +3 -0
  237. package/src/css/themes/default/collections/form.variables +195 -0
  238. package/src/css/themes/default/collections/grid.overrides +4 -0
  239. package/src/css/themes/default/collections/grid.variables +103 -0
  240. package/src/css/themes/default/collections/menu.overrides +3 -0
  241. package/src/css/themes/default/collections/menu.variables +458 -0
  242. package/src/css/themes/default/collections/message.overrides +3 -0
  243. package/src/css/themes/default/collections/message.variables +158 -0
  244. package/src/css/themes/default/collections/table.overrides +0 -0
  245. package/src/css/themes/default/collections/table.variables +247 -0
  246. package/src/css/themes/default/elements/button.overrides +3 -0
  247. package/src/css/themes/default/elements/button.variables +360 -0
  248. package/src/css/themes/default/elements/container.overrides +3 -0
  249. package/src/css/themes/default/elements/container.variables +58 -0
  250. package/src/css/themes/default/elements/divider.overrides +18 -0
  251. package/src/css/themes/default/elements/divider.variables +53 -0
  252. package/src/css/themes/default/elements/flag.overrides +991 -0
  253. package/src/css/themes/default/elements/flag.variables +13 -0
  254. package/src/css/themes/default/elements/header.overrides +4 -0
  255. package/src/css/themes/default/elements/header.variables +151 -0
  256. package/src/css/themes/default/elements/icon.overrides +1716 -0
  257. package/src/css/themes/default/elements/icon.variables +94 -0
  258. package/src/css/themes/default/elements/image.overrides +3 -0
  259. package/src/css/themes/default/elements/image.variables +44 -0
  260. package/src/css/themes/default/elements/input.overrides +3 -0
  261. package/src/css/themes/default/elements/input.variables +101 -0
  262. package/src/css/themes/default/elements/label.overrides +3 -0
  263. package/src/css/themes/default/elements/label.variables +254 -0
  264. package/src/css/themes/default/elements/list.overrides +3 -0
  265. package/src/css/themes/default/elements/list.variables +224 -0
  266. package/src/css/themes/default/elements/loader.overrides +3 -0
  267. package/src/css/themes/default/elements/loader.variables +73 -0
  268. package/src/css/themes/default/elements/placeholder.overrides +3 -0
  269. package/src/css/themes/default/elements/placeholder.variables +55 -0
  270. package/src/css/themes/default/elements/rail.overrides +3 -0
  271. package/src/css/themes/default/elements/rail.variables +34 -0
  272. package/src/css/themes/default/elements/reveal.overrides +3 -0
  273. package/src/css/themes/default/elements/reveal.variables +18 -0
  274. package/src/css/themes/default/elements/segment.overrides +3 -0
  275. package/src/css/themes/default/elements/segment.variables +154 -0
  276. package/src/css/themes/default/elements/step.overrides +16 -0
  277. package/src/css/themes/default/elements/step.variables +130 -0
  278. package/src/css/themes/default/globals/reset.overrides +447 -0
  279. package/src/css/themes/default/globals/reset.variables +3 -0
  280. package/src/css/themes/default/globals/site.overrides +3 -0
  281. package/src/css/themes/default/globals/site.variables +973 -0
  282. package/src/css/themes/default/modules/accordion.overrides +28 -0
  283. package/src/css/themes/default/modules/accordion.variables +100 -0
  284. package/src/css/themes/default/modules/chatroom.overrides +3 -0
  285. package/src/css/themes/default/modules/chatroom.variables +3 -0
  286. package/src/css/themes/default/modules/checkbox.overrides +36 -0
  287. package/src/css/themes/default/modules/checkbox.variables +193 -0
  288. package/src/css/themes/default/modules/dimmer.overrides +3 -0
  289. package/src/css/themes/default/modules/dimmer.variables +58 -0
  290. package/src/css/themes/default/modules/dropdown.overrides +59 -0
  291. package/src/css/themes/default/modules/dropdown.variables +379 -0
  292. package/src/css/themes/default/modules/embed.overrides +3 -0
  293. package/src/css/themes/default/modules/embed.variables +53 -0
  294. package/src/css/themes/default/modules/modal.overrides +3 -0
  295. package/src/css/themes/default/modules/modal.variables +192 -0
  296. package/src/css/themes/default/modules/nag.overrides +3 -0
  297. package/src/css/themes/default/modules/nag.variables +74 -0
  298. package/src/css/themes/default/modules/popup.overrides +3 -0
  299. package/src/css/themes/default/modules/popup.variables +138 -0
  300. package/src/css/themes/default/modules/progress.overrides +3 -0
  301. package/src/css/themes/default/modules/progress.variables +113 -0
  302. package/src/css/themes/default/modules/rating.overrides +68 -0
  303. package/src/css/themes/default/modules/rating.variables +103 -0
  304. package/src/css/themes/default/modules/search.overrides +3 -0
  305. package/src/css/themes/default/modules/search.variables +161 -0
  306. package/src/css/themes/default/modules/shape.overrides +3 -0
  307. package/src/css/themes/default/modules/shape.variables +40 -0
  308. package/src/css/themes/default/modules/sidebar.overrides +3 -0
  309. package/src/css/themes/default/modules/sidebar.variables +45 -0
  310. package/src/css/themes/default/modules/sticky.overrides +3 -0
  311. package/src/css/themes/default/modules/sticky.variables +7 -0
  312. package/src/css/themes/default/modules/tab.overrides +3 -0
  313. package/src/css/themes/default/modules/tab.variables +11 -0
  314. package/src/css/themes/default/modules/transition.overrides +962 -0
  315. package/src/css/themes/default/modules/transition.variables +10 -0
  316. package/src/css/themes/default/modules/video.overrides +3 -0
  317. package/src/css/themes/default/modules/video.variables +16 -0
  318. package/src/css/themes/default/views/ad.overrides +3 -0
  319. package/src/css/themes/default/views/ad.variables +13 -0
  320. package/src/css/themes/default/views/card.overrides +3 -0
  321. package/src/css/themes/default/views/card.variables +220 -0
  322. package/src/css/themes/default/views/comment.overrides +3 -0
  323. package/src/css/themes/default/views/comment.variables +98 -0
  324. package/src/css/themes/default/views/feed.overrides +3 -0
  325. package/src/css/themes/default/views/feed.variables +141 -0
  326. package/src/css/themes/default/views/item.overrides +3 -0
  327. package/src/css/themes/default/views/item.variables +157 -0
  328. package/src/css/themes/default/views/statistic.overrides +3 -0
  329. package/src/css/themes/default/views/statistic.variables +99 -0
  330. package/src/css/themes/duo/elements/loader.overrides +3 -0
  331. package/src/css/themes/duo/elements/loader.variables +6 -0
  332. package/src/css/themes/fixed-width/collections/grid.overrides +3 -0
  333. package/src/css/themes/fixed-width/collections/grid.variables +23 -0
  334. package/src/css/themes/fixed-width/modules/modal.overrides +3 -0
  335. package/src/css/themes/fixed-width/modules/modal.variables +37 -0
  336. package/src/css/themes/flat/collections/form.overrides +28 -0
  337. package/src/css/themes/flat/collections/form.variables +74 -0
  338. package/src/css/themes/flat/globals/site.overrides +3 -0
  339. package/src/css/themes/flat/globals/site.variables +107 -0
  340. package/src/css/themes/github/assets/fonts/octicons-local.ttf +0 -0
  341. package/src/css/themes/github/assets/fonts/octicons.svg +200 -0
  342. package/src/css/themes/github/assets/fonts/octicons.ttf +0 -0
  343. package/src/css/themes/github/assets/fonts/octicons.woff +0 -0
  344. package/src/css/themes/github/collections/breadcrumb.variables +11 -0
  345. package/src/css/themes/github/collections/form.overrides +16 -0
  346. package/src/css/themes/github/collections/form.variables +40 -0
  347. package/src/css/themes/github/collections/grid.variables +2 -0
  348. package/src/css/themes/github/collections/menu.overrides +7 -0
  349. package/src/css/themes/github/collections/menu.variables +61 -0
  350. package/src/css/themes/github/collections/message.overrides +11 -0
  351. package/src/css/themes/github/collections/message.variables +29 -0
  352. package/src/css/themes/github/collections/table.variables +8 -0
  353. package/src/css/themes/github/elements/button.overrides +4 -0
  354. package/src/css/themes/github/elements/button.variables +77 -0
  355. package/src/css/themes/github/elements/header.variables +9 -0
  356. package/src/css/themes/github/elements/icon.overrides +208 -0
  357. package/src/css/themes/github/elements/icon.variables +13 -0
  358. package/src/css/themes/github/elements/image.variables +5 -0
  359. package/src/css/themes/github/elements/input.overrides +32 -0
  360. package/src/css/themes/github/elements/input.variables +16 -0
  361. package/src/css/themes/github/elements/label.overrides +9 -0
  362. package/src/css/themes/github/elements/label.variables +4 -0
  363. package/src/css/themes/github/elements/segment.overrides +3 -0
  364. package/src/css/themes/github/elements/segment.variables +40 -0
  365. package/src/css/themes/github/elements/step.overrides +26 -0
  366. package/src/css/themes/github/elements/step.variables +26 -0
  367. package/src/css/themes/github/globals/site.variables +47 -0
  368. package/src/css/themes/github/modules/dropdown.overrides +53 -0
  369. package/src/css/themes/github/modules/dropdown.variables +35 -0
  370. package/src/css/themes/github/modules/popup.variables +12 -0
  371. package/src/css/themes/gmail/collections/message.overrides +0 -0
  372. package/src/css/themes/gmail/collections/message.variables +15 -0
  373. package/src/css/themes/instagram/views/card.overrides +12 -0
  374. package/src/css/themes/instagram/views/card.variables +23 -0
  375. package/src/css/themes/material/assets/fonts/icons.eot +0 -0
  376. package/src/css/themes/material/assets/fonts/icons.svg +2373 -0
  377. package/src/css/themes/material/assets/fonts/icons.ttf +0 -0
  378. package/src/css/themes/material/assets/fonts/icons.woff +0 -0
  379. package/src/css/themes/material/assets/fonts/icons.woff2 +0 -0
  380. package/src/css/themes/material/collections/menu.overrides +1 -0
  381. package/src/css/themes/material/collections/menu.variables +10 -0
  382. package/src/css/themes/material/elements/button.overrides +15 -0
  383. package/src/css/themes/material/elements/button.variables +97 -0
  384. package/src/css/themes/material/elements/header.overrides +15 -0
  385. package/src/css/themes/material/elements/header.variables +21 -0
  386. package/src/css/themes/material/elements/icon.overrides +934 -0
  387. package/src/css/themes/material/elements/icon.variables +11 -0
  388. package/src/css/themes/material/globals/site.overrides +0 -0
  389. package/src/css/themes/material/globals/site.variables +128 -0
  390. package/src/css/themes/material/modules/dropdown.overrides +5 -0
  391. package/src/css/themes/material/modules/dropdown.variables +20 -0
  392. package/src/css/themes/material/modules/modal.overrides +6 -0
  393. package/src/css/themes/material/modules/modal.variables +15 -0
  394. package/src/css/themes/pulsar/elements/loader.overrides +70 -0
  395. package/src/css/themes/pulsar/elements/loader.variables +7 -0
  396. package/src/css/themes/raised/elements/button.overrides +3 -0
  397. package/src/css/themes/raised/elements/button.variables +27 -0
  398. package/src/css/themes/resetcss/globals/reset.overrides +52 -0
  399. package/src/css/themes/resetcss/globals/reset.variables +3 -0
  400. package/src/css/themes/round/elements/button.overrides +0 -0
  401. package/src/css/themes/round/elements/button.variables +138 -0
  402. package/src/css/themes/rtl/globals/site.overrides +6 -0
  403. package/src/css/themes/rtl/globals/site.variables +14 -0
  404. package/src/css/themes/striped/modules/progress.overrides +29 -0
  405. package/src/css/themes/striped/modules/progress.variables +3 -0
  406. package/src/css/themes/timeline/views/feed.overrides +27 -0
  407. package/src/css/themes/timeline/views/feed.variables +36 -0
  408. package/src/css/themes/twitter/elements/button.overrides +13 -0
  409. package/src/css/themes/twitter/elements/button.variables +44 -0
  410. package/src/i18n/en.json +33 -0
  411. package/src/index.js +10 -0
  412. package/types/components/AccordionDataList.js.flow +3 -0
  413. package/types/components/AccordionList.js.flow +7 -0
  414. package/types/components/ArrowButtons.js.flow +2 -0
  415. package/types/components/CancelButton.js.flow +1 -2
  416. package/types/components/DataList.js.flow +11 -2
  417. package/types/components/DataTable.js.flow +1 -0
  418. package/types/components/DataTableColumnSelector.js.flow +42 -33
  419. package/types/components/DataView.js.flow +302 -20
  420. package/types/components/DateInput.js.flow +1 -0
  421. package/types/components/DatePicker.js.flow +4 -0
  422. package/types/components/DropdownButton.js.flow +2 -0
  423. package/types/components/EditModal.js.flow +1 -2
  424. package/types/components/HorizontalCards.js.flow +3 -0
  425. package/types/components/Items.js.flow +2 -0
  426. package/types/components/ItemsToggle.js.flow +4 -0
  427. package/types/components/List.js.flow +1 -0
  428. package/types/components/MediaList.js.flow +1 -0
  429. package/types/components/MenuBar.js.flow +10 -4
  430. package/types/components/MenuSidebar.js.flow +18 -6
  431. package/types/components/ModalDropdown.js.flow +6 -3
  432. package/types/components/NestedAccordion.js.flow +1 -0
  433. package/types/components/ReferenceCodeDropdown.js.flow +118 -0
  434. package/types/components/ReferenceCodeModal.js.flow +32 -0
  435. package/types/components/ReferenceTableModal.js.flow +67 -0
  436. package/types/components/ReferenceTablesList.js.flow +44 -0
  437. package/types/components/RemoteDropdown.js.flow +1 -0
  438. package/types/css/theme.js.flow +5 -0
  439. package/types/index.js.flow +8 -0
  440. package/webpack.config.js +26 -1
@@ -0,0 +1,413 @@
1
+ // @flow
2
+
3
+ import axios from 'axios';
4
+ import React, {
5
+ useCallback,
6
+ useEffect,
7
+ useMemo,
8
+ useRef,
9
+ useState
10
+ } from 'react';
11
+ import { Form, Grid, Modal } from 'semantic-ui-react';
12
+ import _ from 'underscore';
13
+ import DataTable from './DataTable';
14
+ import DropdownButton from './DropdownButton';
15
+ import i18n from '../i18n/i18n';
16
+ import MenuBar from './MenuBar';
17
+ import MenuSidebar from './MenuSidebar';
18
+ import ModalContext from '../context/ModalContext';
19
+ import useDataList, { SORT_ASCENDING, SORT_DESCENDING } from './DataList';
20
+ import './DataView.css';
21
+
22
+ import type { Column } from './DataTable';
23
+
24
+ type Sort = {
25
+ label: string,
26
+ value: string
27
+ };
28
+
29
+ type Item = {
30
+ id: string,
31
+ label: string,
32
+ group?: string,
33
+ columns?: Array<Column>,
34
+ sorts?: Array<Sort>
35
+ };
36
+
37
+ type Props = {
38
+ columnCount?: number,
39
+ items: Array<Item>,
40
+ layout: 'top' | 'left',
41
+ title: string
42
+ };
43
+
44
+ /**
45
+ * Sets up the List component used by the DataView component. This component is responsible for rendering the DataTable
46
+ * and handling sorting.
47
+ */
48
+ const List = useDataList((props) => {
49
+ const [activeSort, setActiveSort] = useState();
50
+
51
+ /**
52
+ * Sets the active sort object on the state.
53
+ *
54
+ * @type {(function(*): void)|*}
55
+ */
56
+ const onSortChange = useCallback((sort) => {
57
+ const newSort = { ...sort };
58
+
59
+ if (activeSort && activeSort.value === sort.value) {
60
+ newSort.direction = activeSort.direction === SORT_DESCENDING ? SORT_ASCENDING : SORT_DESCENDING;
61
+ }
62
+
63
+ setActiveSort(newSort);
64
+ }, [props.sorts, activeSort]);
65
+
66
+ /**
67
+ * Calls the onSort prop when the active sort is changed.
68
+ */
69
+ useEffect(() => {
70
+ if (activeSort) {
71
+ props.onSort(activeSort.value, activeSort.direction, props.page);
72
+ }
73
+ }, [activeSort]);
74
+
75
+ /**
76
+ * Calls the onSort prop when the component is loaded to initialize the data set.
77
+ */
78
+ useEffect(() => {
79
+ const { page } = props;
80
+
81
+ let { sortColumn = '', sortDirection = SORT_ASCENDING } = props;
82
+
83
+ if (!sortColumn) {
84
+ const defaultSort = _.first(props.sort);
85
+
86
+ if (defaultSort) {
87
+ sortColumn = defaultSort.value;
88
+
89
+ if (defaultSort.direction) {
90
+ sortDirection = defaultSort.direction;
91
+ }
92
+ }
93
+ }
94
+
95
+ props.onSort(sortColumn, sortDirection, page);
96
+ }, []);
97
+
98
+ return (
99
+ <DataTable
100
+ {...props}
101
+ renderListHeader={() => props.sorts && (
102
+ <DropdownButton
103
+ basic
104
+ icon={activeSort && activeSort.direction === SORT_DESCENDING
105
+ ? 'sort alphabet down'
106
+ : 'sort alphabet up'}
107
+ onChange={() => {}}
108
+ options={_.map(props.sorts, (sort) => ({
109
+ key: sort.value,
110
+ value: sort.value,
111
+ text: sort.label,
112
+ onClick: () => onSortChange(sort)
113
+ }))}
114
+ text={activeSort
115
+ ? i18n.t('DataView.labels.sortBy', { column: activeSort.label })
116
+ : i18n.t('DataView.labels.noSort')}
117
+ value={activeSort && activeSort.value}
118
+ />
119
+ )}
120
+ tableProps={{
121
+ ...props.tableProps || {},
122
+ celled: true
123
+ }}
124
+ />
125
+ );
126
+ });
127
+
128
+ const DataView = (props: Props) => {
129
+ const [activeItem, setActiveItem] = useState();
130
+ const [selectedRecord, setSelectedRecord] = useState();
131
+
132
+ const [columns, setColumns] = useState([]);
133
+ const [menu, setMenu] = useState([]);
134
+ const [paddingLeft, setPaddingLeft] = useState();
135
+ const [key, setKey] = useState();
136
+
137
+ const menuRef = useRef();
138
+
139
+ /**
140
+ * Sets the collection name based on the URL of the active item.
141
+ *
142
+ * @type {string}
143
+ */
144
+ const collectionName = useMemo(() => {
145
+ let name = '';
146
+
147
+ if (activeItem) {
148
+ name = activeItem.url.substr(activeItem.url.lastIndexOf('/') + 1, activeItem.url.length);
149
+ }
150
+
151
+ return name;
152
+ }, [activeItem]);
153
+
154
+ /**
155
+ * Merges the calculated columns with the columns passed with the active item. The idea is to allow customization
156
+ * of the columns by the implementing component, but not require it.
157
+ *
158
+ * @type {(function(*): ([]|*))|*}
159
+ */
160
+ const mergeColumns = useCallback((items) => {
161
+ if (!activeItem) {
162
+ return [];
163
+ }
164
+
165
+ // Build the list of columns based on the unique set of properties
166
+ const keys = _.chain(items)
167
+ .map((item) => _.keys(item))
168
+ .flatten()
169
+ .uniq()
170
+ .value();
171
+
172
+ // Merge any columns provided by the implementing component by name
173
+ let cols = _.map(keys, (col, index) => {
174
+ const columnValue = _.findWhere(activeItem.columns, { name: col }) || {};
175
+
176
+ const defaultValue = {
177
+ name: col,
178
+ label: col.trim().replace(/^\w/, (c) => c.toUpperCase()).replaceAll('_', ' '),
179
+ sortable: false,
180
+ resolve: (item) => resolveValue(item, col),
181
+ hidden: index > props.columnCount,
182
+ index
183
+ };
184
+
185
+ return _.extend(defaultValue, columnValue);
186
+ });
187
+
188
+ // Include any columns provided by the implementing component that do not exist on the object (i.e. extra columns)
189
+ cols = [
190
+ ...cols,
191
+ ..._.reject(activeItem.columns, (col) => _.contains(keys, col.name))
192
+ ];
193
+
194
+ // Sort the columns by the index property
195
+ return _.sortBy(cols, 'index');
196
+ }, [activeItem]);
197
+
198
+ /**
199
+ * Calls the "show" URL for the passed item. It's possible that the API does not implement a public "show" route. In
200
+ * this case and error is expected and the passed item will be set as the selected record.
201
+ *
202
+ * @type {(function(*): void)|*}
203
+ */
204
+ const onItemSelection = useCallback((item) => {
205
+ if (activeItem) {
206
+ axios
207
+ .get(`${activeItem.url}/${item.id}`)
208
+ .then(({ data }) => {
209
+ const itemKey = _.first(_.keys(data));
210
+ setSelectedRecord(data[itemKey]);
211
+ })
212
+ .catch(() => {
213
+ setSelectedRecord(item);
214
+ });
215
+ }
216
+ }, [activeItem]);
217
+
218
+ /**
219
+ * Calls the "index" URL to initialize the data set.
220
+ *
221
+ * @type {function(*): *}
222
+ */
223
+ const onLoad = useCallback((params) => {
224
+ let promise;
225
+
226
+ if (activeItem) {
227
+ promise = axios
228
+ .get(activeItem.url, { params })
229
+ .then((response) => {
230
+ const items = response.data[collectionName];
231
+ setColumns(mergeColumns(items));
232
+
233
+ return response;
234
+ });
235
+ } else {
236
+ promise = Promise.resolve();
237
+ }
238
+
239
+ return promise;
240
+ }, [activeItem]);
241
+
242
+ /**
243
+ * Returns the value of the passed attribute on the passed item. This function handles use cases for special
244
+ * types of objects.
245
+ *
246
+ * @type {function(*, *): *}
247
+ */
248
+ const resolveValue = useCallback((item, attribute) => {
249
+ let value = item[attribute];
250
+
251
+ if (_.isArray(value)) {
252
+ value = _.size(value);
253
+ } else if (_.isBoolean(value)) {
254
+ value = Boolean(value).toString();
255
+ } else if (_.isObject(value)) {
256
+ value = value[_.first(_.keys(value))];
257
+ }
258
+
259
+ return value;
260
+ }, []);
261
+
262
+ /**
263
+ * Re-formats the passed items as a menu object. If we're grouping the menu items, items will be added as
264
+ * a child property of the group object.
265
+ */
266
+ useEffect(() => {
267
+ const hasGroups = _.every(props.items, (item) => !!item.group);
268
+
269
+ if (!hasGroups) {
270
+ setMenu(props.items);
271
+ } else {
272
+ const menuItems = _.groupBy(props.items, 'group');
273
+ const headers = _.keys(menuItems);
274
+
275
+ setMenu(_.map(headers, (header) => ({
276
+ content: header,
277
+ items: _.map(menuItems[header], (item) => ({
278
+ active: activeItem && activeItem.id === item.id,
279
+ content: item.label,
280
+ onClick: () => setActiveItem(item)
281
+ }))
282
+ })));
283
+ }
284
+ }, [activeItem, props.items]);
285
+
286
+ /**
287
+ * Set the active item as the first item in the list.
288
+ */
289
+ useEffect(() => {
290
+ if (props.items && props.items.length) {
291
+ setActiveItem(_.first(props.items));
292
+ }
293
+ }, [props.items]);
294
+
295
+ /**
296
+ * If we're using the sidebar layout, set the padding so the fixed positioned menu does not overlap the content.
297
+ */
298
+ useEffect(() => {
299
+ if (props.layout === 'left' && menuRef && menuRef.current) {
300
+ setPaddingLeft(menuRef.current.offsetWidth);
301
+ }
302
+ }, [menuRef, props.layout]);
303
+
304
+ /**
305
+ * Calculates the key value when the active item or columns are changed. This is done to force re-rendering
306
+ * of the List component when the columns are loaded via the API.
307
+ */
308
+ useEffect(() => {
309
+ const keys = [];
310
+
311
+ if (activeItem) {
312
+ keys.push(activeItem.id);
313
+ }
314
+
315
+ if (columns && columns.length) {
316
+ keys.push(..._.pluck(columns, 'name'));
317
+ }
318
+
319
+ setKey(keys.join(''));
320
+ }, [activeItem, columns]);
321
+
322
+ return (
323
+ <div
324
+ className='data-view'
325
+ >
326
+ { props.layout === 'top' && (
327
+ <MenuBar
328
+ header={{
329
+ content: props.title
330
+ }}
331
+ items={menu}
332
+ />
333
+ )}
334
+ { props.layout === 'left' && (
335
+ <MenuSidebar
336
+ contextRef={menuRef}
337
+ header={{
338
+ content: props.title
339
+ }}
340
+ items={menu}
341
+ />
342
+ )}
343
+ <div
344
+ style={{
345
+ marginLeft: paddingLeft
346
+ }}
347
+ >
348
+ { activeItem && (
349
+ <List
350
+ actions={[{
351
+ name: 'details',
352
+ icon: 'info',
353
+ onClick: onItemSelection
354
+ }]}
355
+ collectionName={collectionName}
356
+ columns={columns}
357
+ key={key}
358
+ onLoad={onLoad}
359
+ perPageOptions={[10, 25, 50, 100]}
360
+ searchable
361
+ sorts={activeItem.sorts}
362
+ />
363
+ )}
364
+ </div>
365
+ { selectedRecord && (
366
+ <ModalContext.Consumer>
367
+ { (mountNode) => (
368
+ <Modal
369
+ as={Form}
370
+ centered={false}
371
+ className='data-view-modal'
372
+ closeIcon
373
+ mountNode={mountNode}
374
+ onClose={() => setSelectedRecord(null)}
375
+ open
376
+ >
377
+ <Modal.Header
378
+ content={i18n.t('DataView.labels.details')}
379
+ />
380
+ <Modal.Content>
381
+ <Grid
382
+ columns={3}
383
+ doubling
384
+ >
385
+ { _.map(mergeColumns([selectedRecord]), (column) => (
386
+ <Grid.Column
387
+ as={Form.Field}
388
+ key={column.name}
389
+ >
390
+ <span
391
+ className='label'
392
+ >
393
+ { column.label }
394
+ </span>
395
+ { resolveValue(selectedRecord, column.name) }
396
+ </Grid.Column>
397
+ ))}
398
+ </Grid>
399
+ </Modal.Content>
400
+ </Modal>
401
+ )}
402
+ </ModalContext.Consumer>
403
+ )}
404
+ </div>
405
+ );
406
+ };
407
+
408
+ DataView.defaultProps = {
409
+ columnCount: 5,
410
+ layout: 'left'
411
+ };
412
+
413
+ export default DataView;
@@ -0,0 +1,126 @@
1
+ // @flow
2
+
3
+ import React, {
4
+ useCallback,
5
+ useEffect,
6
+ useMemo,
7
+ useRef,
8
+ useState
9
+ } from 'react';
10
+ import axios from 'axios';
11
+ import _ from 'underscore';
12
+ import ListTable from './ListTable';
13
+ import MenuSidebar from './MenuSidebar';
14
+
15
+ type Props = {
16
+ columnCount?: number,
17
+ title: string,
18
+ url: string
19
+ };
20
+
21
+ const DatabaseView = (props: Props) => {
22
+ const [columns, setColumns] = useState([]);
23
+ const [selectedTable, setSelectedTable] = useState();
24
+ const [tables, setTables] = useState([]);
25
+
26
+ const menuRef = useRef();
27
+
28
+ const service = useMemo(() => ({
29
+ getColumns: (params) => axios.get(`${props.url}/api/columns`, { params }),
30
+ getData: (params) => axios.post(`${props.url}/api/search`, params),
31
+ getTables: () => axios.get(`${props.url}/api/tables`)
32
+ }), [props.url]);
33
+
34
+ const resolveValue = useCallback((column, item) => {
35
+ let value = item[column.column_name];
36
+
37
+ const { data_type: dataType } = column;
38
+
39
+ if (value) {
40
+ switch (dataType) {
41
+ case 'timestamp without time zone':
42
+ value = new Date(value).toLocaleDateString();
43
+ break;
44
+
45
+ default:
46
+ // Value is already set
47
+ }
48
+ }
49
+
50
+ return value;
51
+ }, []);
52
+
53
+ useEffect(() => {
54
+ if (service) {
55
+ service
56
+ .getTables()
57
+ .then(({ data }) => {
58
+ setTables(data);
59
+ setSelectedTable(_.first(data));
60
+ });
61
+ }
62
+ }, [service]);
63
+
64
+ useEffect(() => {
65
+ if (selectedTable) {
66
+ service
67
+ .getColumns({ table_name: selectedTable.table_name })
68
+ .then(({ data }) => setColumns(data));
69
+ }
70
+ }, [selectedTable, service]);
71
+
72
+ const test = useMemo(() => _.map(columns, (column, index) => ({
73
+ name: column.column_name,
74
+ label: column.column_name,
75
+ resolve: resolveValue.bind(this, column),
76
+ sortable: true,
77
+ hidden: index > props.columnCount
78
+ })), [columns, resolveValue, props.columnCount]);
79
+
80
+ return (
81
+ <div
82
+ className='database-view'
83
+ >
84
+ <MenuSidebar
85
+ contextRef={menuRef}
86
+ header={{
87
+ content: props.title,
88
+ inverted: true
89
+ }}
90
+ inverted
91
+ items={[{
92
+ items: _.map(tables, (table) => ({
93
+ active: selectedTable === table,
94
+ content: table.table_name,
95
+ onClick: () => setSelectedTable(table)
96
+ }))
97
+ }]}
98
+ style={{
99
+ overflow: 'auto',
100
+ width: '250px'
101
+ }}
102
+ />
103
+ <div
104
+ style={{
105
+ marginLeft: '250px'
106
+ }}
107
+ >
108
+ { selectedTable && (
109
+ <ListTable
110
+ collectionName='items'
111
+ columns={test}
112
+ onLoad={(params) => service.getData({ ...params, table_name: selectedTable.table_name })}
113
+ perPageOptions={[10, 25, 50, 100]}
114
+ searchable
115
+ />
116
+ )}
117
+ </div>
118
+ </div>
119
+ );
120
+ };
121
+
122
+ DatabaseView.defaultProps = {
123
+ columnCount: Number.MAX_SAFE_INTEGER
124
+ };
125
+
126
+ export default DatabaseView;
@@ -28,6 +28,7 @@ const DateInput = (props: Props) => {
28
28
 
29
29
  return (
30
30
  <Input
31
+ aria-label='Date Input'
31
32
  className='date-input icon'
32
33
  icon='calendar alternate outline'
33
34
  iconPosition='left'
@@ -36,7 +36,7 @@ div.react-calendar {
36
36
  }
37
37
 
38
38
  .react-calendar .react-calendar__month-view__days__day--neighboringMonth {
39
- color: rgba(0,0,0,.4);
39
+ color: rgba(0,0,0,.54);
40
40
  }
41
41
 
42
42
  .react-calendar abbr[title] {
@@ -45,7 +45,7 @@ div.react-calendar {
45
45
 
46
46
  .react-calendar .react-calendar__tile--now {
47
47
  background-color: #fbbd08;
48
- color: #fff;
48
+ color: #000000;
49
49
  }
50
50
 
51
51
  .react-calendar .react-calendar__tile--now:enabled:hover {
@@ -62,11 +62,11 @@ div.react-calendar {
62
62
  }
63
63
 
64
64
  .react-calendar .react-calendar__tile--active {
65
- background-color: #2185d0;
65
+ background-color: #1d77bb;
66
66
  color: #fff;
67
67
  }
68
68
 
69
69
  .react-calendar .react-calendar__tile--active:enabled:hover {
70
70
  background-color: #1678c2;
71
71
  color: #fff;
72
- }
72
+ }
@@ -62,9 +62,13 @@ const DatePicker = (props: Props) => {
62
62
  setCalendar(false);
63
63
  }
64
64
  }}
65
+ next2AriaLabel='Next Year'
65
66
  next2Label={<Icon name='angle double right' />}
67
+ nextAriaLabel='Next Month'
66
68
  nextLabel={<Icon name='chevron right' />}
69
+ prev2AriaLabel='Previous Year'
67
70
  prev2Label={<Icon name='angle double left' />}
71
+ prevAriaLabel='Previous Month'
68
72
  prevLabel={<Icon name='chevron left' />}
69
73
  value={props.value}
70
74
  />
@@ -34,12 +34,14 @@ const DropdownButton = (props: Props) => {
34
34
  color={props.color}
35
35
  >
36
36
  <Button
37
+ aria-label='Select'
37
38
  content={props.text}
38
39
  disabled={props.disabled}
39
40
  icon={props.icon}
40
41
  onClick={(e) => dropdownRef.current && dropdownRef.current.handleClick(e)}
41
42
  />
42
43
  <Dropdown
44
+ aria-label='Select'
43
45
  className='button icon'
44
46
  direction={props.direction}
45
47
  disabled={props.disabled}
@@ -11,7 +11,8 @@ import { Dropdown, Ref } from 'semantic-ui-react';
11
11
 
12
12
  type Props = {
13
13
  children: Node,
14
- onClick?: () => void
14
+ onClick?: () => void,
15
+ role?: string
15
16
  };
16
17
 
17
18
  const DropdownMenu = (props: Props) => {
@@ -38,6 +39,15 @@ const DropdownMenu = (props: Props) => {
38
39
  };
39
40
  }, [ref]);
40
41
 
42
+ /**
43
+ * Sets the "role" aria attribute on the current element if provided.
44
+ */
45
+ useEffect(() => {
46
+ if (ref.current && props.role) {
47
+ ref.current.setAttribute('role', props.role);
48
+ }
49
+ }, [ref, props.role]);
50
+
41
51
  return (
42
52
  <Ref
43
53
  innerRef={ref}
@@ -78,10 +78,9 @@ const EditModal = (props: Props) => {
78
78
  )}
79
79
  </Button>
80
80
  <Button
81
+ basic
81
82
  disabled={props.saving}
82
- inverted
83
83
  onClick={props.onClose.bind(this)}
84
- primary
85
84
  size='medium'
86
85
  type='button'
87
86
  >
@@ -15,7 +15,7 @@
15
15
  }
16
16
 
17
17
  .file-upload .file-dropzone .icon {
18
- color: #2185D0;
18
+ color: #1d77bb;
19
19
  }
20
20
 
21
21
  .file-upload .file-dropzone-text {
@@ -23,9 +23,9 @@
23
23
  }
24
24
 
25
25
  .file-upload .file-dropzone-text .link-text {
26
- color: #2185D0;
26
+ color: #1d77bb;
27
27
  }
28
28
 
29
29
  .file-upload .file-input {
30
30
  display: none;
31
- }
31
+ }