@onehat/ui 0.1.2 → 0.2.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 (355) hide show
  1. package/ckeditor5/LICENSE.md +49 -0
  2. package/ckeditor5/README.md +68 -0
  3. package/ckeditor5/build/ckeditor.js +6 -0
  4. package/ckeditor5/build/ckeditor.js.map +1 -0
  5. package/ckeditor5/build/translations/af.js +1 -0
  6. package/ckeditor5/build/translations/ar.js +1 -0
  7. package/ckeditor5/build/translations/ast.js +1 -0
  8. package/ckeditor5/build/translations/az.js +1 -0
  9. package/ckeditor5/build/translations/bg.js +1 -0
  10. package/ckeditor5/build/translations/bn.js +1 -0
  11. package/ckeditor5/build/translations/bs.js +1 -0
  12. package/ckeditor5/build/translations/ca.js +1 -0
  13. package/ckeditor5/build/translations/cs.js +1 -0
  14. package/ckeditor5/build/translations/da.js +1 -0
  15. package/ckeditor5/build/translations/de-ch.js +1 -0
  16. package/ckeditor5/build/translations/de.js +1 -0
  17. package/ckeditor5/build/translations/el.js +1 -0
  18. package/ckeditor5/build/translations/en-au.js +1 -0
  19. package/ckeditor5/build/translations/en-gb.js +1 -0
  20. package/ckeditor5/build/translations/eo.js +1 -0
  21. package/ckeditor5/build/translations/es-co.js +1 -0
  22. package/ckeditor5/build/translations/es.js +1 -0
  23. package/ckeditor5/build/translations/et.js +1 -0
  24. package/ckeditor5/build/translations/eu.js +1 -0
  25. package/ckeditor5/build/translations/fa.js +1 -0
  26. package/ckeditor5/build/translations/fi.js +1 -0
  27. package/ckeditor5/build/translations/fr.js +1 -0
  28. package/ckeditor5/build/translations/gl.js +1 -0
  29. package/ckeditor5/build/translations/gu.js +1 -0
  30. package/ckeditor5/build/translations/he.js +1 -0
  31. package/ckeditor5/build/translations/hi.js +1 -0
  32. package/ckeditor5/build/translations/hr.js +1 -0
  33. package/ckeditor5/build/translations/hu.js +1 -0
  34. package/ckeditor5/build/translations/id.js +1 -0
  35. package/ckeditor5/build/translations/it.js +1 -0
  36. package/ckeditor5/build/translations/ja.js +1 -0
  37. package/ckeditor5/build/translations/jv.js +1 -0
  38. package/ckeditor5/build/translations/kk.js +1 -0
  39. package/ckeditor5/build/translations/km.js +1 -0
  40. package/ckeditor5/build/translations/kn.js +1 -0
  41. package/ckeditor5/build/translations/ko.js +1 -0
  42. package/ckeditor5/build/translations/ku.js +1 -0
  43. package/ckeditor5/build/translations/lt.js +1 -0
  44. package/ckeditor5/build/translations/lv.js +1 -0
  45. package/ckeditor5/build/translations/ms.js +1 -0
  46. package/ckeditor5/build/translations/nb.js +1 -0
  47. package/ckeditor5/build/translations/ne.js +1 -0
  48. package/ckeditor5/build/translations/nl.js +1 -0
  49. package/ckeditor5/build/translations/no.js +1 -0
  50. package/ckeditor5/build/translations/oc.js +1 -0
  51. package/ckeditor5/build/translations/pl.js +1 -0
  52. package/ckeditor5/build/translations/pt-br.js +1 -0
  53. package/ckeditor5/build/translations/pt.js +1 -0
  54. package/ckeditor5/build/translations/ro.js +1 -0
  55. package/ckeditor5/build/translations/ru.js +1 -0
  56. package/ckeditor5/build/translations/si.js +1 -0
  57. package/ckeditor5/build/translations/sk.js +1 -0
  58. package/ckeditor5/build/translations/sl.js +1 -0
  59. package/ckeditor5/build/translations/sq.js +1 -0
  60. package/ckeditor5/build/translations/sr-latn.js +1 -0
  61. package/ckeditor5/build/translations/sr.js +1 -0
  62. package/ckeditor5/build/translations/sv.js +1 -0
  63. package/ckeditor5/build/translations/th.js +1 -0
  64. package/ckeditor5/build/translations/tk.js +1 -0
  65. package/ckeditor5/build/translations/tr.js +1 -0
  66. package/ckeditor5/build/translations/tt.js +1 -0
  67. package/ckeditor5/build/translations/ug.js +1 -0
  68. package/ckeditor5/build/translations/uk.js +1 -0
  69. package/ckeditor5/build/translations/ur.js +1 -0
  70. package/ckeditor5/build/translations/uz.js +1 -0
  71. package/ckeditor5/build/translations/vi.js +1 -0
  72. package/ckeditor5/build/translations/zh-cn.js +1 -0
  73. package/ckeditor5/build/translations/zh.js +1 -0
  74. package/ckeditor5/package.json +46 -0
  75. package/ckeditor5/sample/index.html +130 -0
  76. package/ckeditor5/sample/styles.css +496 -0
  77. package/ckeditor5/src/ckeditor.js +138 -0
  78. package/ckeditor5/webpack.config.js +96 -0
  79. package/package.json +19 -23
  80. package/src/Components/Accordion/Accordion.js +144 -0
  81. package/src/Components/Blank.js +14 -0
  82. package/src/Components/Buttons/BackButton.js +16 -0
  83. package/src/Components/Buttons/CartButtonWithBadge.js +25 -0
  84. package/src/Components/Buttons/IconButton.js +42 -0
  85. package/src/Components/Container/Container.js +178 -0
  86. package/src/Components/Container/Splitter.js +61 -0
  87. package/src/Components/Filter/DateRange.js +99 -0
  88. package/src/Components/Filter/NumberRange.js +96 -0
  89. package/src/Components/Form/Field/CKEditor/CKEditor.js +62 -0
  90. package/src/Components/Form/Field/CKEditor/styles.css +503 -0
  91. package/src/Components/Form/Field/CKEditor.js +12 -0
  92. package/src/Components/Form/Field/CheckboxGroup/ArrayCheckboxGroup.js +13 -0
  93. package/src/Components/Form/Field/CheckboxGroup/CheckboxGroup.js +61 -0
  94. package/src/Components/Form/Field/Color.js +226 -0
  95. package/src/Components/Form/Field/Combo/ArrayCombo.js +15 -0
  96. package/src/Components/Form/Field/Combo/BooleanCombo.js +23 -0
  97. package/src/Components/Form/Field/Combo/Combo.js +504 -0
  98. package/src/Components/Form/Field/Combo/ComboEditor.js +22 -0
  99. package/src/Components/Form/Field/Combo/IntervalsCombo.js +18 -0
  100. package/src/Components/Form/Field/Combo/MonthsCombo.js +24 -0
  101. package/src/Components/Form/Field/Combo/PageSizeCombo.js +38 -0
  102. package/src/Components/Form/Field/Combo/Tag.js +12 -0
  103. package/src/Components/Form/Field/Combo/TimezonesCombo.js +432 -0
  104. package/src/Components/Form/Field/Combo/YearsCombo.js +35 -0
  105. package/src/Components/Form/Field/Date.js +370 -0
  106. package/src/Components/Form/Field/DisplayField.js +28 -0
  107. package/src/Components/Form/Field/Field.js +14 -0
  108. package/src/Components/Form/Field/File.js +218 -0
  109. package/src/Components/Form/Field/Input.js +96 -0
  110. package/src/Components/Form/Field/Number.js +151 -0
  111. package/src/Components/Form/Field/RadioGroup/ArrayRadioGroup.js +13 -0
  112. package/src/Components/Form/Field/RadioGroup/RadioGroup.js +62 -0
  113. package/src/Components/Form/Field/Tag.js +11 -0
  114. package/src/Components/Form/Field/Text.js +28 -0
  115. package/src/Components/Form/Field/TextArea.js +26 -0
  116. package/src/Components/Form/Field/Toggle.js +39 -0
  117. package/src/Components/Form/Field/datetime.css +5 -0
  118. package/src/Components/Form/FieldSet.js +64 -0
  119. package/src/Components/Form/FiltersForm.js +66 -0
  120. package/src/Components/Form/Form.js +535 -0
  121. package/src/Components/Form/Label.js +24 -0
  122. package/src/Components/Grid/Grid.js +877 -0
  123. package/src/Components/Grid/GridHeaderRow.js +455 -0
  124. package/src/Components/Grid/GridRow.js +134 -0
  125. package/src/Components/Grid/HeaderReorderHandle.js +29 -0
  126. package/src/Components/Grid/HeaderResizeHandle.js +29 -0
  127. package/src/Components/Grid/NoRecordsFound.js +43 -0
  128. package/src/Components/Grid/ReactGrid.js +468 -0
  129. package/src/Components/Grid/SenchaGrid.js +421 -0
  130. package/src/Components/Grid/reactgrid.css +6 -0
  131. package/src/Components/Hoc/withAlert.js +176 -0
  132. package/src/Components/Hoc/withBlank.js +12 -0
  133. package/src/Components/Hoc/withCollapsible.js +20 -0
  134. package/src/Components/Hoc/withContextMenu.js +127 -0
  135. package/src/Components/Hoc/withData.js +85 -0
  136. package/src/Components/Hoc/withDraggable.js +259 -0
  137. package/src/Components/Hoc/withEditor.js +160 -0
  138. package/src/Components/Hoc/withEvents.js +12 -0
  139. package/src/Components/Hoc/withFilters.js +456 -0
  140. package/src/Components/Hoc/withInlineEditor.js +119 -0
  141. package/src/Components/Hoc/withMultiSelection.js +16 -0
  142. package/src/Components/Hoc/withPresetButtons.js +239 -0
  143. package/src/Components/Hoc/withSelection.js +332 -0
  144. package/src/Components/Hoc/withTooltip.js +21 -0
  145. package/src/Components/Hoc/withValue.js +87 -0
  146. package/src/Components/Hoc/withWindowedEditor.js +51 -0
  147. package/src/Components/Icons/AddressBook.js +14 -0
  148. package/src/Components/Icons/Alt.js +17 -0
  149. package/src/Components/Icons/AngleLeft.js +18 -0
  150. package/src/Components/Icons/AngleRight.js +18 -0
  151. package/src/Components/Icons/AnglesLeft.js +18 -0
  152. package/src/Components/Icons/AnglesRight.js +18 -0
  153. package/src/Components/Icons/Asterisk.js +14 -0
  154. package/src/Components/Icons/Ban.js +18 -0
  155. package/src/Components/Icons/Bars.js +14 -0
  156. package/src/Components/Icons/BigCircle.js +17 -0
  157. package/src/Components/Icons/Book.js +14 -0
  158. package/src/Components/Icons/BookOpen.js +14 -0
  159. package/src/Components/Icons/Bug.js +14 -0
  160. package/src/Components/Icons/Building.js +14 -0
  161. package/src/Components/Icons/Calendar.js +18 -0
  162. package/src/Components/Icons/Calendar2.js +18 -0
  163. package/src/Components/Icons/CalendarDays.js +18 -0
  164. package/src/Components/Icons/Camera.js +18 -0
  165. package/src/Components/Icons/CaretDown.js +18 -0
  166. package/src/Components/Icons/CaretUp.js +18 -0
  167. package/src/Components/Icons/CartPlus.js +14 -0
  168. package/src/Components/Icons/CartShopping.js +14 -0
  169. package/src/Components/Icons/CashRegister.js +14 -0
  170. package/src/Components/Icons/ChartLine.js +14 -0
  171. package/src/Components/Icons/Check.js +14 -0
  172. package/src/Components/Icons/CheckDouble.js +14 -0
  173. package/src/Components/Icons/ChevronDown.js +14 -0
  174. package/src/Components/Icons/ChevronLeft.js +14 -0
  175. package/src/Components/Icons/ChevronRight.js +14 -0
  176. package/src/Components/Icons/ChevronUp.js +14 -0
  177. package/src/Components/Icons/CircleArrowRight.js +14 -0
  178. package/src/Components/Icons/CircleExclamation.js +18 -0
  179. package/src/Components/Icons/CircleInfo.js +14 -0
  180. package/src/Components/Icons/CircleQuestion.js +14 -0
  181. package/src/Components/Icons/CircleXmark.js +14 -0
  182. package/src/Components/Icons/CircleXmarkRegular.js +14 -0
  183. package/src/Components/Icons/Clipboard.js +18 -0
  184. package/src/Components/Icons/Clock.js +14 -0
  185. package/src/Components/Icons/ClockRegular.js +14 -0
  186. package/src/Components/Icons/ClockRotateLeft.js +14 -0
  187. package/src/Components/Icons/Clone.js +14 -0
  188. package/src/Components/Icons/Comment.js +14 -0
  189. package/src/Components/Icons/CommentRegular.js +14 -0
  190. package/src/Components/Icons/Comments.js +14 -0
  191. package/src/Components/Icons/CommentsRegular.js +14 -0
  192. package/src/Components/Icons/Copyright.js +14 -0
  193. package/src/Components/Icons/Duplicate.js +18 -0
  194. package/src/Components/Icons/Edit.js +18 -0
  195. package/src/Components/Icons/EllipsisVertical.js +18 -0
  196. package/src/Components/Icons/Envelope.js +14 -0
  197. package/src/Components/Icons/EnvelopeRegular.js +14 -0
  198. package/src/Components/Icons/Exclamation.js +14 -0
  199. package/src/Components/Icons/Expand.js +14 -0
  200. package/src/Components/Icons/Eye.js +18 -0
  201. package/src/Components/Icons/File.js +18 -0
  202. package/src/Components/Icons/FloppyDiskRegular.js +14 -0
  203. package/src/Components/Icons/Gear.js +18 -0
  204. package/src/Components/Icons/Gift.js +14 -0
  205. package/src/Components/Icons/Grip.js +18 -0
  206. package/src/Components/Icons/GripLines.js +18 -0
  207. package/src/Components/Icons/GripLinesVertical.js +18 -0
  208. package/src/Components/Icons/GripVertical.js +18 -0
  209. package/src/Components/Icons/Hammer.js +14 -0
  210. package/src/Components/Icons/Hand.js +14 -0
  211. package/src/Components/Icons/House.js +14 -0
  212. package/src/Components/Icons/Info.js +14 -0
  213. package/src/Components/Icons/ItunesNote.js +14 -0
  214. package/src/Components/Icons/List.js +14 -0
  215. package/src/Components/Icons/ListCheck.js +14 -0
  216. package/src/Components/Icons/LocationDot.js +14 -0
  217. package/src/Components/Icons/Loop.js +17 -0
  218. package/src/Components/Icons/Loop1.js +18 -0
  219. package/src/Components/Icons/LoopAll.js +18 -0
  220. package/src/Components/Icons/Maximize.js +14 -0
  221. package/src/Components/Icons/Microphone.js +14 -0
  222. package/src/Components/Icons/Minimize.js +14 -0
  223. package/src/Components/Icons/Minus.js +18 -0
  224. package/src/Components/Icons/MobileScreenButton.js +14 -0
  225. package/src/Components/Icons/MoneyBill.js +14 -0
  226. package/src/Components/Icons/MoneyBillWave.js +14 -0
  227. package/src/Components/Icons/Mouth.js +24 -0
  228. package/src/Components/Icons/Music.js +14 -0
  229. package/src/Components/Icons/NoLoop.js +24 -0
  230. package/src/Components/Icons/NoReorderRows.js +25 -0
  231. package/src/Components/Icons/ObjectGroupRegular.js +14 -0
  232. package/src/Components/Icons/Pause.js +14 -0
  233. package/src/Components/Icons/Pencil.js +18 -0
  234. package/src/Components/Icons/Phone.js +14 -0
  235. package/src/Components/Icons/Play.js +14 -0
  236. package/src/Components/Icons/Plus.js +18 -0
  237. package/src/Components/Icons/Presentation.js +19 -0
  238. package/src/Components/Icons/Print.js +18 -0
  239. package/src/Components/Icons/Question.js +14 -0
  240. package/src/Components/Icons/Rate-.25x.js +20 -0
  241. package/src/Components/Icons/Rate-.5x.js +19 -0
  242. package/src/Components/Icons/Rate-.75x.js +19 -0
  243. package/src/Components/Icons/Rate-1.25x.js +20 -0
  244. package/src/Components/Icons/Rate-1.5x.js +19 -0
  245. package/src/Components/Icons/Rate-1.75x.js +19 -0
  246. package/src/Components/Icons/Rate-1x.js +19 -0
  247. package/src/Components/Icons/Rate-2x.js +19 -0
  248. package/src/Components/Icons/RateIcon-.25x.js +20 -0
  249. package/src/Components/Icons/RateIcon-.5x.js +19 -0
  250. package/src/Components/Icons/RateIcon-.75x.js +19 -0
  251. package/src/Components/Icons/RateIcon-1.25x.js +20 -0
  252. package/src/Components/Icons/RateIcon-1.5x.js +19 -0
  253. package/src/Components/Icons/RateIcon-1.75x.js +19 -0
  254. package/src/Components/Icons/RateIcon-1x.js +19 -0
  255. package/src/Components/Icons/RateIcon-2x.js +19 -0
  256. package/src/Components/Icons/RectangleXmark.js +14 -0
  257. package/src/Components/Icons/RectangleXmarkRegular.js +14 -0
  258. package/src/Components/Icons/ReorderRows.js +21 -0
  259. package/src/Components/Icons/RightFromBracket.js +14 -0
  260. package/src/Components/Icons/RightToBracket.js +14 -0
  261. package/src/Components/Icons/Rotate.js +18 -0
  262. package/src/Components/Icons/RotateLeft.js +14 -0
  263. package/src/Components/Icons/RotateRight.js +18 -0
  264. package/src/Components/Icons/ScrewdriverWrench.js +14 -0
  265. package/src/Components/Icons/Scroll.js +14 -0
  266. package/src/Components/Icons/Share.js +14 -0
  267. package/src/Components/Icons/Shop.js +14 -0
  268. package/src/Components/Icons/SortDown.js +18 -0
  269. package/src/Components/Icons/SortUp.js +18 -0
  270. package/src/Components/Icons/Square.js +14 -0
  271. package/src/Components/Icons/SquareCheck.js +14 -0
  272. package/src/Components/Icons/SquareCheckRegular.js +14 -0
  273. package/src/Components/Icons/SquareMinus.js +18 -0
  274. package/src/Components/Icons/SquareRegular.js +14 -0
  275. package/src/Components/Icons/Store.js +14 -0
  276. package/src/Components/Icons/ThumbsDown.js +14 -0
  277. package/src/Components/Icons/ThumbsDownRegular.js +14 -0
  278. package/src/Components/Icons/ThumbsUp.js +14 -0
  279. package/src/Components/Icons/ThumbsUpRegular.js +14 -0
  280. package/src/Components/Icons/Trash.js +18 -0
  281. package/src/Components/Icons/TrashCan.js +18 -0
  282. package/src/Components/Icons/TriangleExclamation.js +18 -0
  283. package/src/Components/Icons/Truck.js +14 -0
  284. package/src/Components/Icons/TruckFast.js +14 -0
  285. package/src/Components/Icons/User.js +14 -0
  286. package/src/Components/Icons/UserGroup.js +14 -0
  287. package/src/Components/Icons/UserSecret.js +14 -0
  288. package/src/Components/Icons/X.js +14 -0
  289. package/src/Components/Icons/Xmark.js +14 -0
  290. package/src/Components/Mask.js +11 -0
  291. package/src/Components/Messages/ConfirmationMessage.js +26 -0
  292. package/src/Components/Messages/ErrorMessage.js +15 -0
  293. package/src/Components/Messages/Loading.js +16 -0
  294. package/src/Components/Messages/OkMessage.js +24 -0
  295. package/src/Components/Messages/WaitMessage.js +18 -0
  296. package/src/Components/Panel/AccordionGridPanel.js +94 -0
  297. package/src/Components/Panel/Footer.js +20 -0
  298. package/src/Components/Panel/FormPanel.js +23 -0
  299. package/src/Components/Panel/GridPanel.js +45 -0
  300. package/src/Components/Panel/Header.js +107 -0
  301. package/src/Components/Panel/Panel.js +152 -0
  302. package/src/Components/Panel/TabPanel.js +331 -0
  303. package/src/Components/Panel/UploadDownload.js +10 -0
  304. package/src/Components/Picker/Picker.js +64 -0
  305. package/src/Components/ScreenContainer.js +71 -0
  306. package/src/Components/Screens/DataMgt.js +250 -0
  307. package/src/Components/Toolbar/FilterToolbar.js +20 -0
  308. package/src/Components/Toolbar/Pagination.js +146 -0
  309. package/src/Components/Toolbar/PaginationToolbar.js +22 -0
  310. package/src/Components/Toolbar/Toolbar.js +18 -0
  311. package/src/Components/WaitModal.js +31 -0
  312. package/src/Components/Window/Editor.js +19 -0
  313. package/src/Constants/Alert.js +3 -0
  314. package/src/Constants/Date.js +3 -0
  315. package/src/Constants/Directions.js +8 -0
  316. package/src/Constants/EditorTypes.js +4 -0
  317. package/src/Constants/File.js +2 -0
  318. package/src/Constants/Grid.js +4 -0
  319. package/src/Constants/Input.js +1 -0
  320. package/src/Constants/Selection.js +5 -0
  321. package/src/Constants/Styles.js +86 -0
  322. package/src/Constants/UiModes.js +2 -0
  323. package/src/Data/Hoc/withRedux.js +48 -0
  324. package/src/Data/useOneHatData.js +75 -0
  325. package/src/Functions/BankersRound.js +11 -0
  326. package/src/Functions/Timer.js +92 -0
  327. package/src/Functions/deleteSecure.js +6 -0
  328. package/src/Functions/emptyFn.js +1 -0
  329. package/src/Functions/getComponentFromType.js +106 -0
  330. package/src/Functions/getIsMobile.js +5 -0
  331. package/src/Functions/getPref.js +7 -0
  332. package/src/Functions/getSecure.js +21 -0
  333. package/src/Functions/getTokenHeaders.js +13 -0
  334. package/src/Functions/inArray.js +5 -0
  335. package/src/Functions/isJson.js +8 -0
  336. package/src/Functions/processImage.js +16 -0
  337. package/src/Functions/setPref.js +14 -0
  338. package/src/Functions/setProgress.js +49 -0
  339. package/src/Functions/setSecure.js +35 -0
  340. package/src/Functions/setUiMode.js +5 -0
  341. package/src/Functions/sleep.js +3 -0
  342. package/src/Functions/testProps.js +24 -0
  343. package/src/Functions/trackEngagementHit.js +11 -0
  344. package/src/Functions/verifyCompleted.js +18 -0
  345. package/src/Functions/waitFor.js +16 -0
  346. package/src/Hooks/useAppState.js +34 -0
  347. package/src/Hooks/useAsync.js +13 -0
  348. package/src/Hooks/useBlocking.js +18 -0
  349. package/src/Hooks/useCameraRoll.js +41 -0
  350. package/src/Hooks/useForceUpdate.js +14 -0
  351. package/src/Hooks/useIsMounted.js +14 -0
  352. package/src/Hooks/useNotifications.js +279 -0
  353. package/src/Styles/StyleSheets.js +14 -0
  354. package/src/Styles/ThemeOverrides.js +264 -0
  355. package/src/UiConfig.js +19 -0
@@ -0,0 +1,250 @@
1
+ import React, { useState, useMemo, } from 'react';
2
+ import {
3
+ HORIZONTAL,
4
+ VERTICAL,
5
+ } from '../../Constants/Directions';
6
+ import {
7
+ SELECTION_MODE_SINGLE,
8
+ SELECTION_MODE_MULTI,
9
+ } from '../../Constants/Selection';
10
+ import getComponentFromType from '../../Functions/getComponentFromType';
11
+ import Container from '../Container/Container';
12
+ import Panel from '../Panel/Panel';
13
+ import TabPanel from '../Panel/TabPanel';
14
+ import UploadDownload from '../Panel/UploadDownload';
15
+ import _ from 'lodash';
16
+
17
+ export default function DataMgt(props) {
18
+ let {
19
+ showSelector = false,
20
+ showDownload = false,
21
+ westElementType,
22
+ westTitle,
23
+ westStartsCollapsed = false,
24
+ westWidth = 300,
25
+ westProps = {},
26
+ westSelector_id, // the foreign id of west records that center and some associated panels listen to
27
+ // westPermission,
28
+ centerElementType,
29
+ centerTitle,
30
+ centerNoSelectorMeansNoResults = true,
31
+ centerProps = {},
32
+ centerSelector_id, // the foreign id of center records that some associated panels listen to
33
+ onAddCenterRecord,
34
+ onSearchCenterText,
35
+ eastStartsCollapsed = false,
36
+ eastWidth = 340,
37
+ associatedPanels = [], // array of React components
38
+ associatedPanelsPerTab = 3,
39
+ additionalTabButtons = [],
40
+ } = props;
41
+
42
+ const
43
+ // westRef = useRef(),
44
+ [isWestCollapsed, setIsWestCollapsed] = useState(westStartsCollapsed),
45
+ [isEastCollapsed, setIsEastCollapsed] = useState(eastStartsCollapsed),
46
+ [isFullscreen, setIsFullscreen] = useState(false),
47
+ [westSelected, setWestSelectedRaw] = useState([]),
48
+ [centerSelected, setCenterSelected] = useState([]),
49
+ setWestSelected = (selected) => {
50
+ setWestSelectedRaw(selected);
51
+ setCenterSelected(); // clear selection in center
52
+ },
53
+ onToggleFullscreen = () => {
54
+ const newIsFullScreen = !isFullscreen;
55
+ setIsFullscreen(!newIsFullScreen);
56
+ if (newIsFullScreen) {
57
+ setIsWestCollapsed(true);
58
+ setIsEastCollapsed(true);
59
+ } else {
60
+ setIsWestCollapsed(false);
61
+ setIsEastCollapsed(false);
62
+ }
63
+ },
64
+ onNavigateTo = (path) => {
65
+ debugger;
66
+ },
67
+ onBatchUpload = (path) => {
68
+ debugger;
69
+ // How do I route this back to center?
70
+ // Maybe don't, but look at the props on CenterElementType??
71
+
72
+ },
73
+ onEvent = (e, arg1) => {
74
+ switch(e) {
75
+ case 'toggleFullscreen': // from center
76
+ onToggleFullscreen();
77
+ break;
78
+ case 'navigateTo':
79
+ onNavigateTo(arg1);
80
+ break;
81
+ case 'batchUpload': // from uploadDownload
82
+ onBatchUpload(arg1);
83
+ break;
84
+ default:
85
+ }
86
+ };
87
+
88
+
89
+ // REGIONS -------------------------------------------------------
90
+ // [ ] [ ] [ ]
91
+ // [ west ] [ center ] [ east ]
92
+ // [ ] [ ] [ ]
93
+ // PANELS ---------------------------------------------------------
94
+ // [ ] [ ] [ associated1 ]
95
+ // [ ] [ ] [ associated2 ]
96
+ // [ ] [ ] [ associated3... ]
97
+ // [ ] [ ] [ uploadDownload ]
98
+ // ---------------------------------------------------------------
99
+
100
+
101
+ // 'west' section, AKA 'selector', the far-left column
102
+ const west = useMemo(() => {
103
+ if (!showSelector || !westElementType) {
104
+ return null;
105
+ }
106
+ const WestElementType = getComponentFromType(westElementType);
107
+ return <WestElementType
108
+ reference="west"
109
+ title={westTitle}
110
+ w={westWidth}
111
+ // maxWidth="230px" // this breaks drag resize!
112
+ startsCollapsed={westStartsCollapsed}
113
+ collapseDirection={HORIZONTAL}
114
+ isResizable={true}
115
+ frame={false}
116
+ disablePagination={true}
117
+ autoLoad={true}
118
+ canColumnsReorder={false}
119
+ canColumnsResize={false}
120
+ uniqueRepository={true}
121
+ selectionMode={SELECTION_MODE_SINGLE}
122
+ selection={westSelected}
123
+ onChangeSelection={setWestSelected}
124
+ onEvent={onEvent}
125
+ {...westProps}
126
+ />;
127
+ }, [
128
+ showSelector,
129
+ westElementType,
130
+ westTitle,
131
+ westWidth,
132
+ westStartsCollapsed,
133
+ westSelected,
134
+ westSelected?.hash,
135
+ westProps,
136
+ ]);
137
+
138
+ // 'center' section, the main Grid
139
+ const center = useMemo(() => {
140
+ if (!centerElementType) {
141
+ return null;
142
+ }
143
+
144
+ if (!showSelector && centerNoSelectorMeansNoResults) {
145
+ centerNoSelectorMeansNoResults = false;
146
+ }
147
+ const CenterElementType = getComponentFromType(centerElementType);
148
+ return <CenterElementType
149
+ reference="center"
150
+ title={centerTitle}
151
+ isCollapsible={false}
152
+ isFullscreen={isFullscreen}
153
+ frame={false}
154
+ isResizable={false}
155
+ // disablePagination={true}
156
+ autoLoad={!showSelector}
157
+ uniqueRepository={true}
158
+ selectorId={showSelector ? westSelector_id : null}
159
+ selectorSelected={westSelected}
160
+ noSelectorMeansNoResults={centerNoSelectorMeansNoResults}
161
+ onChangeSelection={setCenterSelected}
162
+ onEvent={onEvent}
163
+ {...centerProps}
164
+ />;
165
+ }, [
166
+ centerTitle,
167
+ isFullscreen,
168
+ showSelector,
169
+ westSelected,
170
+ westSelected?.hash,
171
+ centerNoSelectorMeansNoResults,
172
+ // {...centerProps}
173
+ ])
174
+
175
+ // 'east' section, contains associated panels
176
+ let east;
177
+ if (showDownload) {
178
+ associatedPanels.push(<UploadDownload key="ud" reference="uploadDownload" onEvent={onEvent} />);
179
+ }
180
+ if (associatedPanels.length) {
181
+ const
182
+ tabs = [],
183
+ allAssociatedPanelProps = {
184
+ // isCollapsible: false,
185
+ onEvent,
186
+ noSelectorMeansNoResults: true,
187
+ disablePagination: true,
188
+ },
189
+ panels = _.map(associatedPanels, (associatedPanel, ix) => {
190
+ const
191
+ controlledByCenter = typeof associatedPanel.props.controlledByCenter === 'undefined' ? true : associatedPanel.props.controlledByCenter,
192
+ thisAssociatedPanelProps = {
193
+ selectorId: controlledByCenter ? centerSelector_id : westSelector_id,
194
+ selectorSelected: controlledByCenter ? centerSelected : westSelected,
195
+ ...associatedPanel.props,
196
+ };
197
+ return React.cloneElement(associatedPanel, { key: ix, reference: 'associatedPanel' + ix, ...allAssociatedPanelProps, ...thisAssociatedPanelProps, });
198
+ });
199
+
200
+
201
+ if (panels.length > associatedPanelsPerTab) {
202
+ // Tab panel holds them
203
+ let tabIx = 0,
204
+ panelIx = 0;
205
+ _.each(panels, (associatedPanel, ix) => {
206
+ if (panelIx === associatedPanelsPerTab) {
207
+ // New tab
208
+ panelIx = 0;
209
+ tabIx++;
210
+ }
211
+ if (panelIx === 0) {
212
+ tabs[tabIx] = {
213
+ title: 'Page ' + (tabIx +1),
214
+ items: [],
215
+ };
216
+ }
217
+ tabs[tabIx].items.push(associatedPanel);
218
+ panelIx++;
219
+ });
220
+ east = <TabPanel
221
+ title="Associated Information"
222
+ w={eastWidth}
223
+ startsCollapsed={eastStartsCollapsed}
224
+ frame={true}
225
+ isResizable={true}
226
+ tabs={tabs}
227
+ additionalButtons={additionalTabButtons}
228
+ />;
229
+ } else {
230
+ // Single container holds them
231
+ east = <Panel
232
+ title="Associated Information"
233
+ w={eastWidth}
234
+ startsCollapsed={eastStartsCollapsed}
235
+ frame={true}
236
+ isResizable={true}
237
+ >{panels}</Panel>;
238
+ }
239
+ }
240
+
241
+ return <Container
242
+ west={west}
243
+ isWestCollapsed={isWestCollapsed}
244
+ setIsWestCollapsed={setIsWestCollapsed}
245
+ center={center}
246
+ east={east}
247
+ isEastCollapsed={isEastCollapsed}
248
+ setIsEastCollapsed={setIsEastCollapsed}
249
+ />;
250
+ }
@@ -0,0 +1,20 @@
1
+ import {
2
+ Row,
3
+ } from 'native-base';
4
+ import Toolbar from './Toolbar'
5
+ import _ from 'lodash';
6
+
7
+ export default function FilterToolbar(props) {
8
+ const {
9
+ toolbarItems = [],
10
+ } = props,
11
+ propsToPass = _.omit(props, 'toolbarItems');
12
+ return <Toolbar
13
+ bg="trueGray.200"
14
+ borderTopWidth={1}
15
+ borderTopColor="trueGray.400"
16
+ w="100%"
17
+ >
18
+ {toolbarItems.length ? <Row flex={1} borderLeftWidth={1} borderLeftColor="trueGray.100">{toolbarItems}</Row> : null}
19
+ </Toolbar>;
20
+ };
@@ -0,0 +1,146 @@
1
+ import { useEffect, useMemo, } from 'react';
2
+ import {
3
+ Icon,
4
+ Row,
5
+ Text,
6
+ } from 'native-base';
7
+ import useForceUpdate from '../../Hooks/useForceUpdate';
8
+ import IconButton from '../Buttons/IconButton';
9
+ import AngleLeft from '../Icons/AngleLeft';
10
+ import AnglesLeft from '../Icons/AnglesLeft';
11
+ import AngleRight from '../Icons/AngleRight';
12
+ import AnglesRight from '../Icons/AnglesRight';
13
+ import Rotate from '../Icons/Rotate';
14
+ import Input from '../Form/Field/Input';
15
+ import PageSizeCombo from '../Form/Field/Combo/PageSizeCombo';
16
+
17
+ export default function Pagination(props) {
18
+ const {
19
+ // withData
20
+ Repository,
21
+ } = props,
22
+ {
23
+ page,
24
+ pageSize,
25
+ total,
26
+ totalPages,
27
+ pageStart,
28
+ pageEnd,
29
+ } = Repository,
30
+ forceUpdate = useForceUpdate();
31
+
32
+ useEffect(() => {
33
+ Repository.ons(['changePage', 'changePageSize', 'changeData', ], forceUpdate);
34
+ return () => {
35
+ Repository.offs(['changePage', 'changePageSize', 'changeData', ], forceUpdate);
36
+ };
37
+ }, [Repository]);
38
+
39
+ return useMemo(() => {
40
+ const
41
+ iconButtonProps = {
42
+ _hover: {
43
+ bg: 'trueGray.400',
44
+ },
45
+ // mx: 1,
46
+ },
47
+ iconProps = {
48
+ // position: 'absolute',
49
+ alignSelf: 'center',
50
+ size: 'sm',
51
+ color: 'trueGray.500',
52
+ h: 20,
53
+ w: 20,
54
+ };
55
+ let items = [],
56
+ isDisabled = page === 1;
57
+ items.push(<IconButton
58
+ key="first"
59
+ {...iconButtonProps}
60
+ isDisabled={isDisabled}
61
+ icon={<Icon as={AnglesLeft} {...iconProps} color={isDisabled ? 'disabled' : 'trueGray.600'} />}
62
+ onPress={() => Repository.setPage(1)}
63
+ tooltip="First Page"
64
+ />);
65
+ items.push(<IconButton
66
+ key="prev"
67
+ {...iconButtonProps}
68
+ isDisabled={isDisabled}
69
+ icon={<Icon as={AngleLeft} {...iconProps} color={isDisabled ? 'disabled' : 'trueGray.600'} />}
70
+ onPress={() => Repository.prevPage()}
71
+ tooltip="Previous Page"
72
+ />);
73
+ items.push(<Row
74
+ key="pageSelector"
75
+ mx={3}
76
+ justifyContent="center"
77
+ alignItems="center"
78
+ >
79
+ <Text mr={2}>Page</Text>
80
+ <Input
81
+ value={page}
82
+ onChangeValue={(value) => Repository.setPage(value)}
83
+ maxValue={totalPages}
84
+ isDisabled={totalPages === 1}
85
+ w={10}
86
+ tooltip="Set Page"
87
+ />
88
+ <Text ml={2}>of {totalPages}</Text>
89
+ </Row>);
90
+
91
+ isDisabled = page === totalPages || totalPages <= 1;
92
+ items.push(<IconButton
93
+ key="next"
94
+ {...iconButtonProps}
95
+ isDisabled={isDisabled}
96
+ icon={<Icon as={AngleRight} {...iconProps} color={isDisabled ? 'disabled' : 'trueGray.600'} />}
97
+ onPress={() => Repository.nextPage()}
98
+ tooltip="Next Page"
99
+ />);
100
+ items.push(<IconButton
101
+ key="last"
102
+ {...iconButtonProps}
103
+ isDisabled={isDisabled}
104
+ icon={<Icon as={AnglesRight} {...iconProps} color={isDisabled ? 'disabled' : 'trueGray.600'} />}
105
+ onPress={() => Repository.setPage(totalPages)}
106
+ tooltip="Last Page"
107
+ />);
108
+ if (!Repository.isLocal) {
109
+ items.push(<IconButton
110
+ key="reload"
111
+ {...iconButtonProps}
112
+ icon={<Icon as={Rotate} {...iconProps} color="trueGray.600" />}
113
+ onPress={() => Repository.reload()}
114
+ tooltip="Reload"
115
+ />);
116
+ }
117
+
118
+ items.push(<PageSizeCombo key="pageSize" pageSize={pageSize} Repository={Repository} />);
119
+
120
+ let pageSpan = `${pageStart} – ${pageEnd}`;
121
+ if (pageStart === pageEnd) {
122
+ pageSpan = pageStart;
123
+ }
124
+
125
+ return <Row
126
+ justifyContent="flex-start"
127
+ alignItems="center"
128
+ px={2}
129
+ style={{ userSelect: 'none', }}
130
+ {...props}
131
+ >
132
+ {items}
133
+ <Text ml={3}>Displaying {pageSpan} of {total}</Text>
134
+ </Row>;
135
+ }, [
136
+ // Repository,
137
+ page,
138
+ pageSize,
139
+ total,
140
+ totalPages,
141
+ pageStart,
142
+ pageEnd,
143
+ ])
144
+
145
+
146
+ };
@@ -0,0 +1,22 @@
1
+ import {
2
+ Row,
3
+ } from 'native-base';
4
+ import Pagination from './Pagination'
5
+ import Toolbar from './Toolbar'
6
+ import _ from 'lodash';
7
+
8
+ export default function PaginationToolbar(props) {
9
+ const {
10
+ toolbarItems = [],
11
+ } = props,
12
+ propsToPass = _.omit(props, 'toolbarItems');
13
+ return <Toolbar
14
+ bg="trueGray.200"
15
+ borderTopWidth={1}
16
+ borderTopColor="trueGray.400"
17
+ w="100%"
18
+ >
19
+ <Pagination {...propsToPass} w={toolbarItems.length ? null : '100%'} />
20
+ {toolbarItems.length ? <Row flex={1} borderLeftWidth={1} borderLeftColor="trueGray.400" pl={3} ml={3}>{toolbarItems}</Row> : null}
21
+ </Toolbar>;
22
+ };
@@ -0,0 +1,18 @@
1
+ import {
2
+ Row,
3
+ } from 'native-base';
4
+
5
+ export default function Toolbar(props) {
6
+ return <Row
7
+ w="100%"
8
+ justifyContent="flex-start"
9
+ bg="trueGray.200"
10
+ borderBottomWidth={1}
11
+ borderBottomColor="trueGray.400"
12
+ p={2}
13
+ overflow="scroll"
14
+ {...props}
15
+ >
16
+ {props.children}
17
+ </Row>;
18
+ };
@@ -0,0 +1,31 @@
1
+ import {
2
+ Modal,
3
+ Row,
4
+ Text,
5
+ } from 'native-base';
6
+ import withRedux from '../Data/hoc/withRedux';
7
+ import Loading from './Loading';
8
+ import _ from 'lodash';
9
+
10
+ export function WaitModal(props) {
11
+ const {
12
+ textMessage = 'Please wait...',
13
+ waitStack,
14
+ } = props;
15
+
16
+ return <Modal {...props} _backdrop={{ bg: "#000" }}>
17
+ <Modal.Content maxWidth="400px">
18
+ <Modal.Body>
19
+ <Row justifyContent="center" alignItems="center">
20
+ <Loading minHeight="auto" h={5} w={5} mr={2} />
21
+ <Text color="#000">{textMessage}</Text>
22
+ {/* {!!waitStack ? <Text color="#000">{_.keys(waitStack).join(', ')}</Text> : null} */}
23
+ </Row>
24
+ </Modal.Body>
25
+ </Modal.Content>
26
+ </Modal>;
27
+ }
28
+
29
+ export default withRedux(WaitModal, [
30
+ 'waitStack',
31
+ ]);
@@ -0,0 +1,19 @@
1
+ import {
2
+ Box,
3
+ Column,
4
+ Row,
5
+ } from 'native-base';
6
+ import Container from '../Container/Container';
7
+ import emptyFn from '../../Functions/emptyFn';
8
+ import _ from 'lodash';
9
+
10
+ export default function EditorWindow(props) {
11
+ const {
12
+ title,
13
+ isOpen = false,
14
+ onClose = emptyFn,
15
+ ...propsToPass
16
+ } = props;
17
+
18
+
19
+ }
@@ -0,0 +1,3 @@
1
+ export const ALERT_MODE_OK = 'ALERT_MODE_OK';
2
+ export const ALERT_MODE_YES_NO = 'ALERT_MODE_YES_NO';
3
+ export const ALERT_MODE_CUSTOM = 'ALERT_MODE_CUSTOM';
@@ -0,0 +1,3 @@
1
+ export const DATE = 'DATE';
2
+ export const TIME = 'TIME';
3
+ export const DATETIME = 'DATETIME';
@@ -0,0 +1,8 @@
1
+ export const HORIZONTAL = 'HORIZONTAL';
2
+ export const VERTICAL = 'VERTICAL';
3
+ export const LEFT = 'LEFT';
4
+ export const RIGHT = 'RIGHT';
5
+ export const NORTH = 'NORTH';
6
+ export const SOUTH = 'SOUTH';
7
+ export const EAST = 'EAST';
8
+ export const WEST = 'WEST';
@@ -0,0 +1,4 @@
1
+ export const EDITOR_TYPE_INLINE = 'EDITOR_TYPE_INLINE';
2
+ export const EDITOR_TYPE_WINDOWED = 'EDITOR_TYPE_WINDOWED';
3
+ export const EDITOR_TYPE_SMART = 'EDITOR_TYPE_SMART';
4
+ export const EDITOR_TYPE_PLAIN = 'EDITOR_TYPE_PLAIN';
@@ -0,0 +1,2 @@
1
+ export const FILE_MODE_IMAGE = 'FILE_MODE_IMAGE';
2
+ export const FILE_MODE_FILE = 'FILE_MODE_FILE';
@@ -0,0 +1,4 @@
1
+ export const SORT_ASCENDING = 'ASC'; // This is what RestTrait expects
2
+ export const SORT_DESCENDING = 'DESC'; // This is what RestTrait expects
3
+ export const DROP_POSITION_BEFORE = 'before'; // This is what RestTrait expects
4
+ export const DROP_POSITION_AFTER = 'after'; // This is what RestTrait expects
@@ -0,0 +1 @@
1
+ export const AUTO_SUBMIT_DELAY = 500;
@@ -0,0 +1,5 @@
1
+ export const SELECTION_MODE_ALL = 'SELECTION_MODE_ALL';
2
+ export const SELECTION_MODE_SINGLE = 'SELECTION_MODE_SINGLE';
3
+ export const SELECTION_MODE_MULTI = 'SELECTION_MODE_MULTI';
4
+ export const SELECT_UP = 'SELECT_UP';
5
+ export const SELECT_DOWN = 'SELECT_DOWN';
@@ -0,0 +1,86 @@
1
+ import * as appStyles from '../../Constants/Styles';
2
+ import _ from 'lodash';
3
+
4
+ const
5
+ DEFAULT_FONTSIZE = 15,
6
+ WHITE = '#fff',
7
+ FOCUS = '#ffd';
8
+
9
+ const defaults = {
10
+ FORM_COLOR_READOUT_FONTSIZE: DEFAULT_FONTSIZE,
11
+ FORM_COLOR_INPUT_BG: WHITE,
12
+ FORM_COLOR_INPUT_FOCUS_BG: FOCUS,
13
+ FORM_COMBO_HEIGHT: '40px',
14
+ FORM_COMBO_INPUT_FONTSIZE: DEFAULT_FONTSIZE,
15
+ FORM_COMBO_INPUT_BG: WHITE,
16
+ FORM_COMBO_INPUT_FOCUS_BG: FOCUS,
17
+ FORM_COMBO_TRIGGER_BG: WHITE,
18
+ FORM_COMBO_TRIGGER_HOVER_BG: 'trueGray.300',
19
+ FORM_DATE_ICON_BG: 'primary.200',
20
+ FORM_DATE_ICON_BG_HOVER: 'primary.400',
21
+ FORM_DATE_ICON_COLOR: WHITE,
22
+ FORM_DATE_INPUT_BG: WHITE,
23
+ FORM_DATE_INPUT_FOCUS_BG: FOCUS,
24
+ FORM_DATE_READOUT_FONTSIZE: DEFAULT_FONTSIZE,
25
+ FORM_FIELDSET_FONTSIZE: DEFAULT_FONTSIZE,
26
+ FORM_FIELDSET_BG: '#f6f6f6',
27
+ FORM_FILE_ICON_BG: 'primary.200',
28
+ FORM_FILE_ICON_BG_HOVER: 'primary.400',
29
+ FORM_FILE_ICON_COLOR: WHITE,
30
+ FORM_FILE_INPUT_FONTSIZE: DEFAULT_FONTSIZE,
31
+ FORM_FILE_READOUT_FONTSIZE: DEFAULT_FONTSIZE,
32
+ FORM_FILE_READOUT_BG: WHITE,
33
+ FORM_INPUT_BG: WHITE,
34
+ FORM_INPUT_FONTSIZE: DEFAULT_FONTSIZE,
35
+ FORM_INPUT_FOCUS_BG: FOCUS,
36
+ FORM_LABEL_WIDTH: '170px',
37
+ FORM_LABEL_FONTSIZE: DEFAULT_FONTSIZE,
38
+ FORM_NUMBER_FONTSIZE: DEFAULT_FONTSIZE,
39
+ FORM_TEXT_FONTSIZE: DEFAULT_FONTSIZE,
40
+ FORM_TEXT_BG: WHITE,
41
+ FORM_TEXTAREA_BG: WHITE,
42
+ FORM_TEXTAREA_FONTSIZE: DEFAULT_FONTSIZE,
43
+ FORM_TEXTAREA_HEIGHT: 130,
44
+ FORM_TOGGLE_BG: null,
45
+ FORM_TOGGLE_SIZE: 'md',
46
+ FORM_TOGGLE_ON_COLOR: '#0b0',
47
+ FORM_TOGGLE_ON_HOVER_COLOR: '#090',
48
+ FORM_TOGGLE_OFF_COLOR: '#f00',
49
+ FORM_TOGGLE_OFF_HOVER_COLOR: '#c00',
50
+ GRID_CELL_FONTSIZE: DEFAULT_FONTSIZE,
51
+ GRID_HEADER_BG: '#eee',
52
+ GRID_HEADER_HOVER_BG: '#ddd',
53
+ GRID_HEADER_FONTSIZE: DEFAULT_FONTSIZE,
54
+ GRID_INLINE_EDITOR_BORDER_COLOR: 'primary.100',
55
+ GRID_NAV_COLUMN_COLOR: '#aaa',
56
+ GRID_ROW_BG: WHITE,
57
+ GRID_ROW_HOVER_BG: 'hover',
58
+ GRID_ROW_SELECTED_BG: 'selected',
59
+ GRID_ROW_SELECTED_HOVER_BG: 'selectedHover',
60
+ GRID_TOOLBAR_ITEMS_COLOR: 'trueGray.800',
61
+ GRID_TOOLBAR_ITEMS_DISABLED_COLOR: 'disabled',
62
+ GRID_TOOLBAR_ITEMS_ICON_SIZE: 'sm',
63
+ PANEL_FOOTER_BG: 'primary.100', // :alpha.50
64
+ PANEL_HEADER_BG: 'primary.100',
65
+ PANEL_HEADER_BG_VERTICAL: 'primary.100',
66
+ PANEL_HEADER_ICON_COLOR: WHITE,
67
+ PANEL_HEADER_ICON_SIZE: 13,
68
+ PANEL_HEADER_TEXT_COLOR: WHITE,
69
+ PANEL_HEADER_TEXT_FONTSIZE: 15,
70
+ PANEL_HEADER_PX: 3,
71
+ PANEL_HEADER_PY: 1,
72
+ TAB_ACTIVE_BG: 'trueGray.200',
73
+ TAB_ACTIVE_HOVER_BG: 'trueGray.200',
74
+ TAB_ACTIVE_COLOR: 'primary.800',
75
+ TAB_ICON_COLOR: WHITE,
76
+ TAB_ACTIVE_ICON_COLOR: '#000',
77
+ TAB_BAR_BG: 'primary.700',
78
+ TAB_BG: 'primary.300',
79
+ TAB_HOVER_BG: 'primary.500',
80
+ TAB_COLOR: WHITE,
81
+ TAB_FONTSIZE: DEFAULT_FONTSIZE,
82
+ TEXT_FONTSIZE: DEFAULT_FONTSIZE,
83
+ };
84
+
85
+ export default _.merge(defaults, appStyles);
86
+
@@ -0,0 +1,2 @@
1
+ export const UI_MODE_WEB = 'UI_MODE_WEB';
2
+ export const UI_MODE_REACT_NATIVE = 'UI_MODE_REACT_NATIVE';