@hipay/hipay-material-ui 1.0.0-beta.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (675) hide show
  1. package/AppBar/AppBar.js +144 -0
  2. package/AppBar/index.js +16 -0
  3. package/Avatar/Avatar.js +165 -0
  4. package/Avatar/index.js +16 -0
  5. package/Badge/Badge.js +142 -0
  6. package/Badge/index.js +16 -0
  7. package/BottomNavigation/BottomNavigation.js +113 -0
  8. package/BottomNavigation/BottomNavigationAction.js +219 -0
  9. package/BottomNavigation/index.js +25 -0
  10. package/Button/Button.js +298 -0
  11. package/Button/index.js +16 -0
  12. package/ButtonBase/ButtonBase.js +446 -0
  13. package/ButtonBase/Ripple.js +162 -0
  14. package/ButtonBase/TouchRipple.js +359 -0
  15. package/ButtonBase/createRippleHandler.js +28 -0
  16. package/ButtonBase/index.js +16 -0
  17. package/CHANGELOG.md +5481 -0
  18. package/Card/Card.js +48 -0
  19. package/Card/CardActions.js +94 -0
  20. package/Card/CardContent.js +76 -0
  21. package/Card/CardHeader.js +150 -0
  22. package/Card/CardMedia.js +113 -0
  23. package/Card/index.js +52 -0
  24. package/Checkbox/Checkbox.js +160 -0
  25. package/Checkbox/index.js +16 -0
  26. package/Chip/Chip.js +322 -0
  27. package/Chip/index.js +16 -0
  28. package/Dialog/Dialog.js +271 -0
  29. package/Dialog/DialogActions.js +94 -0
  30. package/Dialog/DialogContent.js +77 -0
  31. package/Dialog/DialogContentText.js +72 -0
  32. package/Dialog/DialogTitle.js +91 -0
  33. package/Dialog/index.js +61 -0
  34. package/Dialog/withMobileDialog.js +49 -0
  35. package/Divider/Divider.js +113 -0
  36. package/Divider/index.js +16 -0
  37. package/Drawer/Drawer.js +325 -0
  38. package/Drawer/index.js +16 -0
  39. package/ExpansionPanel/ExpansionPanel.js +257 -0
  40. package/ExpansionPanel/ExpansionPanelActions.js +79 -0
  41. package/ExpansionPanel/ExpansionPanelDetails.js +73 -0
  42. package/ExpansionPanel/ExpansionPanelSummary.js +250 -0
  43. package/ExpansionPanel/index.js +43 -0
  44. package/Form/FormControl.js +291 -0
  45. package/Form/FormControlLabel.js +168 -0
  46. package/Form/FormGroup.js +94 -0
  47. package/Form/FormHelperText.js +139 -0
  48. package/Form/FormLabel.js +158 -0
  49. package/Form/index.js +52 -0
  50. package/Grid/Grid.js +372 -0
  51. package/Grid/index.js +16 -0
  52. package/GridList/GridList.js +122 -0
  53. package/GridList/GridListTile.js +239 -0
  54. package/GridList/GridListTileBar.js +176 -0
  55. package/GridList/index.js +34 -0
  56. package/HiBadge/HiBadge.js +107 -0
  57. package/HiBadge/index.js +16 -0
  58. package/HiButton/HiButton.js +159 -0
  59. package/HiButton/index.js +16 -0
  60. package/HiCheckbox/HiCheckbox.js +171 -0
  61. package/HiCheckbox/index.js +16 -0
  62. package/HiChip/HiChip.js +185 -0
  63. package/HiChip/HiChipSwitch.js +306 -0
  64. package/HiChip/index.js +25 -0
  65. package/HiColoredLabel/HiColoredLabel.js +116 -0
  66. package/HiColoredLabel/index.js +16 -0
  67. package/HiDatePicker/Caption.js +93 -0
  68. package/HiDatePicker/HiDatePicker.js +411 -0
  69. package/HiDatePicker/HiDateRangePicker.js +713 -0
  70. package/HiDatePicker/HiDateRangeSelector.js +414 -0
  71. package/HiDatePicker/HiWeekPicker.js +389 -0
  72. package/HiDatePicker/ListPicker.js +154 -0
  73. package/HiDatePicker/Navbar.js +169 -0
  74. package/HiDatePicker/Overlays/CustomOverlayLayout.js +142 -0
  75. package/HiDatePicker/Overlays/MonthPickerOverlay.js +137 -0
  76. package/HiDatePicker/Overlays/Overlay.js +105 -0
  77. package/HiDatePicker/Overlays/TimePickerOverlay.js +291 -0
  78. package/HiDatePicker/Overlays/YearPickerOverlay.js +173 -0
  79. package/HiDatePicker/Overlays/index.js +52 -0
  80. package/HiDatePicker/Weekday.js +52 -0
  81. package/HiDatePicker/index.js +33 -0
  82. package/HiDatePicker/stylesheet.js +188 -0
  83. package/HiForm/HiEmailField.js +126 -0
  84. package/HiForm/HiFormControl.js +377 -0
  85. package/HiForm/HiFormLabel.js +180 -0
  86. package/HiForm/HiInput.js +546 -0
  87. package/HiForm/HiPasswordField.js +134 -0
  88. package/HiForm/HiSearchField.js +192 -0
  89. package/HiForm/HiTextField.js +293 -0
  90. package/HiForm/index.js +70 -0
  91. package/HiLoader/HiLoader.js +55 -0
  92. package/HiLoader/index.js +16 -0
  93. package/HiPins/HiPins.js +99 -0
  94. package/HiPins/index.js +16 -0
  95. package/HiRadio/HiRadio.js +99 -0
  96. package/HiRadio/index.js +16 -0
  97. package/HiSelect/HiSelect.js +830 -0
  98. package/HiSelect/HiSelectField.js +160 -0
  99. package/HiSelect/HiSuggestSelect.js +306 -0
  100. package/HiSelect/HiSuggestSelectField.js +143 -0
  101. package/HiSelect/SelectInput.js +329 -0
  102. package/HiSelect/index.js +41 -0
  103. package/HiSelectableList/HiSelectableList.js +258 -0
  104. package/HiSelectableList/HiSelectableListItem.js +520 -0
  105. package/HiSelectableList/index.js +25 -0
  106. package/HiSwitch/HiSwitch.js +208 -0
  107. package/HiSwitch/HiSwitchState.js +229 -0
  108. package/HiSwitch/index.js +25 -0
  109. package/HiTable/BodyCellBuilder.js +398 -0
  110. package/HiTable/BodyCells/CellAccount.js +100 -0
  111. package/HiTable/BodyCells/CellAccountNumber.js +220 -0
  112. package/HiTable/BodyCells/CellAddress.js +199 -0
  113. package/HiTable/BodyCells/CellCountry.js +172 -0
  114. package/HiTable/BodyCells/CellDate.js +177 -0
  115. package/HiTable/BodyCells/CellIcon.js +148 -0
  116. package/HiTable/BodyCells/CellImage.js +177 -0
  117. package/HiTable/BodyCells/CellLayout.js +281 -0
  118. package/HiTable/BodyCells/CellNumeric.js +135 -0
  119. package/HiTable/BodyCells/CellRate.js +197 -0
  120. package/HiTable/BodyCells/CellSentinel.js +213 -0
  121. package/HiTable/BodyCells/CellStatus.js +136 -0
  122. package/HiTable/BodyCells/CellText.js +267 -0
  123. package/HiTable/BodyCells/CellThirdPartySecurity.js +144 -0
  124. package/HiTable/BodyCells/index.js +133 -0
  125. package/HiTable/BodyRow.js +388 -0
  126. package/HiTable/ChildRow.js +432 -0
  127. package/HiTable/ColumnFilter.js +490 -0
  128. package/HiTable/HeaderCell.js +463 -0
  129. package/HiTable/HiStickyRow.js +300 -0
  130. package/HiTable/HiTable.js +1012 -0
  131. package/HiTable/HiTableBody.js +547 -0
  132. package/HiTable/HiTableContextMenu.js +214 -0
  133. package/HiTable/HiTableFooterScroll.js +202 -0
  134. package/HiTable/HiTableHead.js +489 -0
  135. package/HiTable/OrderColumns.js +557 -0
  136. package/HiTable/constants.js +105 -0
  137. package/HiTable/index.js +25 -0
  138. package/HiTopBar/HiTopBar.js +635 -0
  139. package/HiTopBar/index.js +16 -0
  140. package/Hidden/Hidden.js +130 -0
  141. package/Hidden/HiddenCss.js +175 -0
  142. package/Hidden/HiddenJs.js +149 -0
  143. package/Hidden/index.js +16 -0
  144. package/Icon/Icon.js +109 -0
  145. package/Icon/index.js +16 -0
  146. package/IconButton/IconButton.js +146 -0
  147. package/IconButton/index.js +16 -0
  148. package/Input/Input.js +682 -0
  149. package/Input/InputAdornment.js +116 -0
  150. package/Input/InputLabel.js +163 -0
  151. package/Input/Textarea.js +301 -0
  152. package/Input/index.js +34 -0
  153. package/LICENSE +21 -0
  154. package/List/List.js +167 -0
  155. package/List/ListItem.js +279 -0
  156. package/List/ListItemAvatar.js +100 -0
  157. package/List/ListItemIcon.js +77 -0
  158. package/List/ListItemSecondaryAction.js +76 -0
  159. package/List/ListItemText.js +145 -0
  160. package/List/ListSubheader.js +127 -0
  161. package/List/index.js +70 -0
  162. package/Menu/Menu.js +274 -0
  163. package/Menu/MenuItem.js +113 -0
  164. package/Menu/MenuList.js +253 -0
  165. package/Menu/index.js +34 -0
  166. package/MobileStepper/MobileStepper.js +173 -0
  167. package/MobileStepper/index.js +16 -0
  168. package/Modal/Backdrop.js +102 -0
  169. package/Modal/Modal.js +502 -0
  170. package/Modal/ModalManager.js +210 -0
  171. package/Modal/index.js +34 -0
  172. package/Modal/isOverflowing.js +43 -0
  173. package/Modal/manageAriaHidden.js +45 -0
  174. package/Paper/Paper.js +111 -0
  175. package/Paper/index.js +16 -0
  176. package/Popover/Popover.js +564 -0
  177. package/Popover/index.js +16 -0
  178. package/Portal/LegacyPortal.js +158 -0
  179. package/Portal/Portal.js +144 -0
  180. package/Portal/index.js +21 -0
  181. package/Progress/CircularProgress.js +228 -0
  182. package/Progress/LinearProgress.js +258 -0
  183. package/Progress/index.js +25 -0
  184. package/README.md +237 -0
  185. package/Radio/Radio.js +155 -0
  186. package/Radio/RadioGroup.js +168 -0
  187. package/Radio/index.js +25 -0
  188. package/Reboot/Reboot.js +106 -0
  189. package/Reboot/index.js +16 -0
  190. package/Select/Select.js +229 -0
  191. package/Select/SelectInput.js +502 -0
  192. package/Select/index.js +16 -0
  193. package/Snackbar/Snackbar.js +451 -0
  194. package/Snackbar/SnackbarContent.js +135 -0
  195. package/Snackbar/index.js +25 -0
  196. package/Stepper/Step.js +151 -0
  197. package/Stepper/StepButton.js +143 -0
  198. package/Stepper/StepConnector.js +118 -0
  199. package/Stepper/StepContent.js +153 -0
  200. package/Stepper/StepIcon.js +86 -0
  201. package/Stepper/StepLabel.js +200 -0
  202. package/Stepper/StepPositionIcon.js +95 -0
  203. package/Stepper/Stepper.js +161 -0
  204. package/Stepper/index.js +61 -0
  205. package/SvgIcon/SvgIcon.js +147 -0
  206. package/SvgIcon/index.js +16 -0
  207. package/Switch/Switch.js +215 -0
  208. package/Switch/index.js +16 -0
  209. package/Table/Table.js +127 -0
  210. package/Table/TableBody.js +121 -0
  211. package/Table/TableCell.js +181 -0
  212. package/Table/TableFooter.js +93 -0
  213. package/Table/TableHead.js +121 -0
  214. package/Table/TablePagination.js +310 -0
  215. package/Table/TablePaginationActions.js +183 -0
  216. package/Table/TableRow.js +127 -0
  217. package/Table/TableSortLabel.js +145 -0
  218. package/Table/index.js +79 -0
  219. package/Tabs/Tab.js +340 -0
  220. package/Tabs/TabIndicator.js +95 -0
  221. package/Tabs/TabScrollButton.js +112 -0
  222. package/Tabs/Tabs.js +530 -0
  223. package/Tabs/index.js +25 -0
  224. package/TextField/TextField.js +290 -0
  225. package/TextField/index.js +16 -0
  226. package/Toolbar/Toolbar.js +89 -0
  227. package/Toolbar/index.js +16 -0
  228. package/Tooltip/Tooltip.js +514 -0
  229. package/Tooltip/index.js +16 -0
  230. package/Typography/Typography.js +192 -0
  231. package/Typography/index.js +16 -0
  232. package/colors/amber.js +23 -0
  233. package/colors/blue.js +23 -0
  234. package/colors/blueGrey.js +23 -0
  235. package/colors/brown.js +23 -0
  236. package/colors/common.js +11 -0
  237. package/colors/cyan.js +23 -0
  238. package/colors/deepOrange.js +23 -0
  239. package/colors/deepPurple.js +23 -0
  240. package/colors/green.js +23 -0
  241. package/colors/grey.js +23 -0
  242. package/colors/index.js +187 -0
  243. package/colors/indigo.js +23 -0
  244. package/colors/lightBlue.js +23 -0
  245. package/colors/lightGreen.js +23 -0
  246. package/colors/lime.js +23 -0
  247. package/colors/orange.js +23 -0
  248. package/colors/pink.js +23 -0
  249. package/colors/purple.js +23 -0
  250. package/colors/red.js +23 -0
  251. package/colors/teal.js +23 -0
  252. package/colors/yellow.js +23 -0
  253. package/es/AppBar/AppBar.js +106 -0
  254. package/es/AppBar/index.js +1 -0
  255. package/es/Avatar/Avatar.js +136 -0
  256. package/es/Avatar/index.js +1 -0
  257. package/es/Badge/Badge.js +112 -0
  258. package/es/Badge/index.js +1 -0
  259. package/es/BottomNavigation/BottomNavigation.js +86 -0
  260. package/es/BottomNavigation/BottomNavigationAction.js +153 -0
  261. package/es/BottomNavigation/index.js +2 -0
  262. package/es/Button/Button.js +274 -0
  263. package/es/Button/index.js +1 -0
  264. package/es/ButtonBase/ButtonBase.js +358 -0
  265. package/es/ButtonBase/Ripple.js +102 -0
  266. package/es/ButtonBase/TouchRipple.js +268 -0
  267. package/es/ButtonBase/createRippleHandler.js +23 -0
  268. package/es/ButtonBase/index.js +1 -0
  269. package/es/Card/Card.js +27 -0
  270. package/es/Card/CardActions.js +58 -0
  271. package/es/Card/CardContent.js +45 -0
  272. package/es/Card/CardHeader.js +120 -0
  273. package/es/Card/CardMedia.js +76 -0
  274. package/es/Card/index.js +5 -0
  275. package/es/Checkbox/Checkbox.js +117 -0
  276. package/es/Checkbox/index.js +1 -0
  277. package/es/Chip/Chip.js +241 -0
  278. package/es/Chip/index.js +1 -0
  279. package/es/Dialog/Dialog.js +231 -0
  280. package/es/Dialog/DialogActions.js +58 -0
  281. package/es/Dialog/DialogContent.js +48 -0
  282. package/es/Dialog/DialogContentText.js +41 -0
  283. package/es/Dialog/DialogTitle.js +57 -0
  284. package/es/Dialog/index.js +6 -0
  285. package/es/Dialog/withMobileDialog.js +25 -0
  286. package/es/Divider/Divider.js +83 -0
  287. package/es/Divider/index.js +1 -0
  288. package/es/Drawer/Drawer.js +252 -0
  289. package/es/Drawer/index.js +1 -0
  290. package/es/ExpansionPanel/ExpansionPanel.js +194 -0
  291. package/es/ExpansionPanel/ExpansionPanelActions.js +47 -0
  292. package/es/ExpansionPanel/ExpansionPanelDetails.js +42 -0
  293. package/es/ExpansionPanel/ExpansionPanelSummary.js +182 -0
  294. package/es/ExpansionPanel/index.js +4 -0
  295. package/es/Form/FormControl.js +214 -0
  296. package/es/Form/FormControlLabel.js +137 -0
  297. package/es/Form/FormGroup.js +62 -0
  298. package/es/Form/FormHelperText.js +110 -0
  299. package/es/Form/FormLabel.js +132 -0
  300. package/es/Form/index.js +5 -0
  301. package/es/Grid/Grid.js +353 -0
  302. package/es/Grid/index.js +1 -0
  303. package/es/GridList/GridList.js +97 -0
  304. package/es/GridList/GridListTile.js +153 -0
  305. package/es/GridList/GridListTileBar.js +152 -0
  306. package/es/GridList/index.js +3 -0
  307. package/es/HiBadge/HiBadge.js +76 -0
  308. package/es/HiBadge/index.js +1 -0
  309. package/es/HiButton/HiButton.js +130 -0
  310. package/es/HiButton/index.js +1 -0
  311. package/es/HiCheckbox/HiCheckbox.js +101 -0
  312. package/es/HiCheckbox/index.js +1 -0
  313. package/es/HiChip/HiChip.js +148 -0
  314. package/es/HiChip/HiChipSwitch.js +244 -0
  315. package/es/HiChip/index.js +2 -0
  316. package/es/HiColoredLabel/HiColoredLabel.js +84 -0
  317. package/es/HiColoredLabel/index.js +1 -0
  318. package/es/HiDatePicker/Caption.js +67 -0
  319. package/es/HiDatePicker/HiDatePicker.js +314 -0
  320. package/es/HiDatePicker/HiDateRangePicker.js +565 -0
  321. package/es/HiDatePicker/HiDateRangeSelector.js +337 -0
  322. package/es/HiDatePicker/HiWeekPicker.js +296 -0
  323. package/es/HiDatePicker/ListPicker.js +93 -0
  324. package/es/HiDatePicker/Navbar.js +130 -0
  325. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +114 -0
  326. package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +80 -0
  327. package/es/HiDatePicker/Overlays/Overlay.js +76 -0
  328. package/es/HiDatePicker/Overlays/TimePickerOverlay.js +218 -0
  329. package/es/HiDatePicker/Overlays/YearPickerOverlay.js +109 -0
  330. package/es/HiDatePicker/Overlays/index.js +5 -0
  331. package/es/HiDatePicker/Weekday.js +34 -0
  332. package/es/HiDatePicker/index.js +7 -0
  333. package/es/HiDatePicker/stylesheet.js +175 -0
  334. package/es/HiForm/HiEmailField.js +71 -0
  335. package/es/HiForm/HiFormControl.js +298 -0
  336. package/es/HiForm/HiFormLabel.js +122 -0
  337. package/es/HiForm/HiInput.js +485 -0
  338. package/es/HiForm/HiPasswordField.js +70 -0
  339. package/es/HiForm/HiSearchField.js +135 -0
  340. package/es/HiForm/HiTextField.js +239 -0
  341. package/es/HiForm/index.js +7 -0
  342. package/es/HiLoader/HiLoader.js +33 -0
  343. package/es/HiLoader/index.js +1 -0
  344. package/es/HiPins/HiPins.js +66 -0
  345. package/es/HiPins/index.js +1 -0
  346. package/es/HiRadio/HiRadio.js +41 -0
  347. package/es/HiRadio/index.js +1 -0
  348. package/es/HiSelect/HiSelect.js +713 -0
  349. package/es/HiSelect/HiSelectField.js +106 -0
  350. package/es/HiSelect/HiSuggestSelect.js +223 -0
  351. package/es/HiSelect/HiSuggestSelectField.js +89 -0
  352. package/es/HiSelect/SelectInput.js +262 -0
  353. package/es/HiSelect/index.js +11 -0
  354. package/es/HiSelectableList/HiSelectableList.js +195 -0
  355. package/es/HiSelectableList/HiSelectableListItem.js +441 -0
  356. package/es/HiSelectableList/index.js +2 -0
  357. package/es/HiSwitch/HiSwitch.js +138 -0
  358. package/es/HiSwitch/HiSwitchState.js +169 -0
  359. package/es/HiSwitch/index.js +2 -0
  360. package/es/HiTable/BodyCellBuilder.js +345 -0
  361. package/es/HiTable/BodyCells/CellAccount.js +40 -0
  362. package/es/HiTable/BodyCells/CellAccountNumber.js +166 -0
  363. package/es/HiTable/BodyCells/CellAddress.js +129 -0
  364. package/es/HiTable/BodyCells/CellCountry.js +107 -0
  365. package/es/HiTable/BodyCells/CellDate.js +111 -0
  366. package/es/HiTable/BodyCells/CellIcon.js +83 -0
  367. package/es/HiTable/BodyCells/CellImage.js +115 -0
  368. package/es/HiTable/BodyCells/CellLayout.js +198 -0
  369. package/es/HiTable/BodyCells/CellNumeric.js +71 -0
  370. package/es/HiTable/BodyCells/CellRate.js +131 -0
  371. package/es/HiTable/BodyCells/CellSentinel.js +153 -0
  372. package/es/HiTable/BodyCells/CellStatus.js +73 -0
  373. package/es/HiTable/BodyCells/CellText.js +188 -0
  374. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +89 -0
  375. package/es/HiTable/BodyCells/index.js +16 -0
  376. package/es/HiTable/BodyRow.js +314 -0
  377. package/es/HiTable/ChildRow.js +345 -0
  378. package/es/HiTable/ColumnFilter.js +394 -0
  379. package/es/HiTable/HeaderCell.js +376 -0
  380. package/es/HiTable/HiStickyRow.js +217 -0
  381. package/es/HiTable/HiTable.js +876 -0
  382. package/es/HiTable/HiTableBody.js +454 -0
  383. package/es/HiTable/HiTableContextMenu.js +150 -0
  384. package/es/HiTable/HiTableFooterScroll.js +144 -0
  385. package/es/HiTable/HiTableHead.js +403 -0
  386. package/es/HiTable/OrderColumns.js +437 -0
  387. package/es/HiTable/constants.js +180 -0
  388. package/es/HiTable/index.js +2 -0
  389. package/es/HiTopBar/HiTopBar.js +527 -0
  390. package/es/HiTopBar/index.js +1 -0
  391. package/es/Hidden/Hidden.js +107 -0
  392. package/es/Hidden/HiddenCss.js +151 -0
  393. package/es/Hidden/HiddenJs.js +129 -0
  394. package/es/Hidden/index.js +1 -0
  395. package/es/Icon/Icon.js +74 -0
  396. package/es/Icon/index.js +1 -0
  397. package/es/IconButton/IconButton.js +106 -0
  398. package/es/IconButton/index.js +1 -0
  399. package/es/Input/Input.js +616 -0
  400. package/es/Input/InputAdornment.js +83 -0
  401. package/es/Input/InputLabel.js +138 -0
  402. package/es/Input/Textarea.js +234 -0
  403. package/es/Input/index.js +3 -0
  404. package/es/List/List.js +106 -0
  405. package/es/List/ListItem.js +212 -0
  406. package/es/List/ListItemAvatar.js +63 -0
  407. package/es/List/ListItemIcon.js +46 -0
  408. package/es/List/ListItemSecondaryAction.js +45 -0
  409. package/es/List/ListItemText.js +114 -0
  410. package/es/List/ListSubheader.js +90 -0
  411. package/es/List/index.js +7 -0
  412. package/es/Menu/Menu.js +205 -0
  413. package/es/Menu/MenuItem.js +75 -0
  414. package/es/Menu/MenuList.js +168 -0
  415. package/es/Menu/index.js +3 -0
  416. package/es/MobileStepper/MobileStepper.js +137 -0
  417. package/es/MobileStepper/index.js +1 -0
  418. package/es/Modal/Backdrop.js +67 -0
  419. package/es/Modal/Modal.js +398 -0
  420. package/es/Modal/ModalManager.js +162 -0
  421. package/es/Modal/index.js +3 -0
  422. package/es/Modal/isOverflowing.js +25 -0
  423. package/es/Modal/manageAriaHidden.js +33 -0
  424. package/es/Paper/Paper.js +81 -0
  425. package/es/Paper/index.js +1 -0
  426. package/es/Popover/Popover.js +455 -0
  427. package/es/Popover/index.js +1 -0
  428. package/es/Portal/LegacyPortal.js +97 -0
  429. package/es/Portal/Portal.js +82 -0
  430. package/es/Portal/index.js +5 -0
  431. package/es/Progress/CircularProgress.js +201 -0
  432. package/es/Progress/LinearProgress.js +235 -0
  433. package/es/Progress/index.js +2 -0
  434. package/es/Radio/Radio.js +113 -0
  435. package/es/Radio/RadioGroup.js +101 -0
  436. package/es/Radio/index.js +2 -0
  437. package/es/Reboot/Reboot.js +55 -0
  438. package/es/Reboot/index.js +1 -0
  439. package/es/Select/Select.js +199 -0
  440. package/es/Select/SelectInput.js +414 -0
  441. package/es/Select/index.js +1 -0
  442. package/es/Snackbar/Snackbar.js +370 -0
  443. package/es/Snackbar/SnackbarContent.js +96 -0
  444. package/es/Snackbar/index.js +2 -0
  445. package/es/Stepper/Step.js +120 -0
  446. package/es/Stepper/StepButton.js +111 -0
  447. package/es/Stepper/StepConnector.js +85 -0
  448. package/es/Stepper/StepContent.js +116 -0
  449. package/es/Stepper/StepIcon.js +54 -0
  450. package/es/Stepper/StepLabel.js +170 -0
  451. package/es/Stepper/StepPositionIcon.js +64 -0
  452. package/es/Stepper/Stepper.js +126 -0
  453. package/es/Stepper/index.js +6 -0
  454. package/es/SvgIcon/SvgIcon.js +117 -0
  455. package/es/SvgIcon/index.js +1 -0
  456. package/es/Switch/Switch.js +178 -0
  457. package/es/Switch/index.js +1 -0
  458. package/es/Table/Table.js +64 -0
  459. package/es/Table/TableBody.js +61 -0
  460. package/es/Table/TableCell.js +153 -0
  461. package/es/Table/TableFooter.js +44 -0
  462. package/es/Table/TableHead.js +61 -0
  463. package/es/Table/TablePagination.js +224 -0
  464. package/es/Table/TablePaginationActions.js +116 -0
  465. package/es/Table/TableRow.js +99 -0
  466. package/es/Table/TableSortLabel.js +101 -0
  467. package/es/Table/index.js +8 -0
  468. package/es/Tabs/Tab.js +271 -0
  469. package/es/Tabs/TabIndicator.js +63 -0
  470. package/es/Tabs/TabScrollButton.js +70 -0
  471. package/es/Tabs/Tabs.js +425 -0
  472. package/es/Tabs/index.js +2 -0
  473. package/es/TextField/TextField.js +259 -0
  474. package/es/TextField/index.js +1 -0
  475. package/es/Toolbar/Toolbar.js +55 -0
  476. package/es/Toolbar/index.js +1 -0
  477. package/es/Tooltip/Tooltip.js +425 -0
  478. package/es/Tooltip/index.js +1 -0
  479. package/es/Typography/Typography.js +164 -0
  480. package/es/Typography/index.js +1 -0
  481. package/es/colors/amber.js +18 -0
  482. package/es/colors/blue.js +18 -0
  483. package/es/colors/blueGrey.js +18 -0
  484. package/es/colors/brown.js +18 -0
  485. package/es/colors/common.js +6 -0
  486. package/es/colors/cyan.js +18 -0
  487. package/es/colors/deepOrange.js +18 -0
  488. package/es/colors/deepPurple.js +18 -0
  489. package/es/colors/green.js +18 -0
  490. package/es/colors/grey.js +18 -0
  491. package/es/colors/index.js +20 -0
  492. package/es/colors/indigo.js +18 -0
  493. package/es/colors/lightBlue.js +18 -0
  494. package/es/colors/lightGreen.js +18 -0
  495. package/es/colors/lime.js +18 -0
  496. package/es/colors/orange.js +18 -0
  497. package/es/colors/pink.js +18 -0
  498. package/es/colors/purple.js +18 -0
  499. package/es/colors/red.js +18 -0
  500. package/es/colors/teal.js +18 -0
  501. package/es/colors/yellow.js +18 -0
  502. package/es/index.js +64 -0
  503. package/es/internal/RefHolder.js +20 -0
  504. package/es/internal/SwitchBase.js +219 -0
  505. package/es/internal/svg-icons/ArrowDownward.js +20 -0
  506. package/es/internal/svg-icons/ArrowDropDown.js +20 -0
  507. package/es/internal/svg-icons/Cancel.js +19 -0
  508. package/es/internal/svg-icons/CheckBox.js +19 -0
  509. package/es/internal/svg-icons/CheckBoxOutlineBlank.js +19 -0
  510. package/es/internal/svg-icons/CheckCircle.js +19 -0
  511. package/es/internal/svg-icons/IndeterminateCheckBox.js +19 -0
  512. package/es/internal/svg-icons/KeyboardArrowLeft.js +19 -0
  513. package/es/internal/svg-icons/KeyboardArrowRight.js +19 -0
  514. package/es/internal/svg-icons/RadioButtonChecked.js +19 -0
  515. package/es/internal/svg-icons/RadioButtonUnchecked.js +19 -0
  516. package/es/styles/MuiThemeProvider.js +125 -0
  517. package/es/styles/colorManipulator.js +221 -0
  518. package/es/styles/createBreakpoints.js +69 -0
  519. package/es/styles/createGenerateClassName.js +72 -0
  520. package/es/styles/createHiMuiTheme.js +296 -0
  521. package/es/styles/createMixins.js +25 -0
  522. package/es/styles/createMuiTheme.js +45 -0
  523. package/es/styles/createPalette.js +164 -0
  524. package/es/styles/createTypography.js +116 -0
  525. package/es/styles/getStylesCreator.js +34 -0
  526. package/es/styles/index.js +7 -0
  527. package/es/styles/jssPreset.js +16 -0
  528. package/es/styles/shadows.js +11 -0
  529. package/es/styles/spacing.js +5 -0
  530. package/es/styles/themeListener.js +31 -0
  531. package/es/styles/transitions.js +80 -0
  532. package/es/styles/withStyles.js +300 -0
  533. package/es/styles/withTheme.js +65 -0
  534. package/es/styles/zIndex.js +12 -0
  535. package/es/svg-icons/ArrowDownward.js +20 -0
  536. package/es/svg-icons/ArrowDropDown.js +20 -0
  537. package/es/svg-icons/Cancel.js +19 -0
  538. package/es/svg-icons/CheckBox.js +19 -0
  539. package/es/svg-icons/CheckBoxOutlineBlank.js +19 -0
  540. package/es/svg-icons/CheckCircle.js +19 -0
  541. package/es/svg-icons/HiAccount.js +33 -0
  542. package/es/svg-icons/HiAll.js +43 -0
  543. package/es/svg-icons/HiBilling.js +33 -0
  544. package/es/svg-icons/HiCatalog.js +33 -0
  545. package/es/svg-icons/HiCustomer.js +39 -0
  546. package/es/svg-icons/HiFinance.js +33 -0
  547. package/es/svg-icons/HiRoute.js +33 -0
  548. package/es/svg-icons/HiSettlement.js +36 -0
  549. package/es/svg-icons/HiSizeLarge.js +19 -0
  550. package/es/svg-icons/HiSizeMedium.js +19 -0
  551. package/es/svg-icons/HiSizeSmall.js +19 -0
  552. package/es/svg-icons/HiTransaction.js +33 -0
  553. package/es/svg-icons/HiUser.js +39 -0
  554. package/es/svg-icons/HiWidget.js +43 -0
  555. package/es/svg-icons/IndeterminateCheckBox.js +19 -0
  556. package/es/svg-icons/KeyboardArrowLeft.js +19 -0
  557. package/es/svg-icons/KeyboardArrowRight.js +19 -0
  558. package/es/svg-icons/RadioButtonChecked.js +19 -0
  559. package/es/svg-icons/RadioButtonUnchecked.js +19 -0
  560. package/es/svg-icons/index.js +11 -0
  561. package/es/test-utils/createMount.js +32 -0
  562. package/es/test-utils/createRender.js +16 -0
  563. package/es/test-utils/createShallow.js +33 -0
  564. package/es/test-utils/getClasses.js +21 -0
  565. package/es/test-utils/index.js +5 -0
  566. package/es/test-utils/until.js +32 -0
  567. package/es/test-utils/unwrap.js +5 -0
  568. package/es/transitions/Collapse.js +245 -0
  569. package/es/transitions/Fade.js +132 -0
  570. package/es/transitions/Grow.js +173 -0
  571. package/es/transitions/Slide.js +291 -0
  572. package/es/transitions/Zoom.js +129 -0
  573. package/es/transitions/index.js +5 -0
  574. package/es/transitions/utils.js +10 -0
  575. package/es/utils/ClickAwayListener.js +65 -0
  576. package/es/utils/HiIconBuilder.js +99 -0
  577. package/es/utils/addEventListener.js +11 -0
  578. package/es/utils/exactProp.js +21 -0
  579. package/es/utils/helpers.js +65 -0
  580. package/es/utils/hiGetMdiIcon.js +12 -0
  581. package/es/utils/hiHelpers.js +173 -0
  582. package/es/utils/keyboardFocus.js +51 -0
  583. package/es/utils/manageAriaHidden.js +33 -0
  584. package/es/utils/reactHelpers.js +21 -0
  585. package/es/utils/requirePropFactory.js +16 -0
  586. package/es/utils/withWidth.js +141 -0
  587. package/index.es.js +69 -0
  588. package/index.js +853 -0
  589. package/internal/RefHolder.js +64 -0
  590. package/internal/SwitchBase.js +287 -0
  591. package/internal/svg-icons/ArrowDownward.js +37 -0
  592. package/internal/svg-icons/ArrowDropDown.js +37 -0
  593. package/internal/svg-icons/Cancel.js +36 -0
  594. package/internal/svg-icons/CheckBox.js +36 -0
  595. package/internal/svg-icons/CheckBoxOutlineBlank.js +36 -0
  596. package/internal/svg-icons/CheckCircle.js +36 -0
  597. package/internal/svg-icons/IndeterminateCheckBox.js +36 -0
  598. package/internal/svg-icons/KeyboardArrowLeft.js +36 -0
  599. package/internal/svg-icons/KeyboardArrowRight.js +36 -0
  600. package/internal/svg-icons/RadioButtonChecked.js +36 -0
  601. package/internal/svg-icons/RadioButtonUnchecked.js +36 -0
  602. package/package.json +77 -0
  603. package/styles/MuiThemeProvider.js +197 -0
  604. package/styles/colorManipulator.js +255 -0
  605. package/styles/createBreakpoints.js +86 -0
  606. package/styles/createGenerateClassName.js +88 -0
  607. package/styles/createHiMuiTheme.js +328 -0
  608. package/styles/createMixins.js +42 -0
  609. package/styles/createMuiTheme.js +91 -0
  610. package/styles/createPalette.js +208 -0
  611. package/styles/createTypography.js +138 -0
  612. package/styles/getStylesCreator.js +55 -0
  613. package/styles/index.js +70 -0
  614. package/styles/jssPreset.js +41 -0
  615. package/styles/shadows.js +16 -0
  616. package/styles/spacing.js +10 -0
  617. package/styles/themeListener.js +44 -0
  618. package/styles/transitions.js +112 -0
  619. package/styles/withStyles.js +416 -0
  620. package/styles/withTheme.js +127 -0
  621. package/styles/zIndex.js +17 -0
  622. package/svg-icons/ArrowDownward.js +37 -0
  623. package/svg-icons/ArrowDropDown.js +37 -0
  624. package/svg-icons/Cancel.js +36 -0
  625. package/svg-icons/CheckBox.js +36 -0
  626. package/svg-icons/CheckBoxOutlineBlank.js +36 -0
  627. package/svg-icons/CheckCircle.js +36 -0
  628. package/svg-icons/HiAccount.js +52 -0
  629. package/svg-icons/HiAll.js +62 -0
  630. package/svg-icons/HiBilling.js +52 -0
  631. package/svg-icons/HiCatalog.js +52 -0
  632. package/svg-icons/HiCustomer.js +58 -0
  633. package/svg-icons/HiFinance.js +52 -0
  634. package/svg-icons/HiRoute.js +52 -0
  635. package/svg-icons/HiSettlement.js +52 -0
  636. package/svg-icons/HiSizeLarge.js +36 -0
  637. package/svg-icons/HiSizeMedium.js +36 -0
  638. package/svg-icons/HiSizeSmall.js +36 -0
  639. package/svg-icons/HiTransaction.js +52 -0
  640. package/svg-icons/HiUser.js +58 -0
  641. package/svg-icons/HiWidget.js +62 -0
  642. package/svg-icons/IndeterminateCheckBox.js +36 -0
  643. package/svg-icons/KeyboardArrowLeft.js +36 -0
  644. package/svg-icons/KeyboardArrowRight.js +36 -0
  645. package/svg-icons/RadioButtonChecked.js +36 -0
  646. package/svg-icons/RadioButtonUnchecked.js +36 -0
  647. package/svg-icons/index.js +106 -0
  648. package/test-utils/createMount.js +53 -0
  649. package/test-utils/createRender.js +36 -0
  650. package/test-utils/createShallow.js +60 -0
  651. package/test-utils/getClasses.js +47 -0
  652. package/test-utils/index.js +52 -0
  653. package/test-utils/until.js +54 -0
  654. package/test-utils/unwrap.js +11 -0
  655. package/transitions/Collapse.js +324 -0
  656. package/transitions/Fade.js +207 -0
  657. package/transitions/Grow.js +251 -0
  658. package/transitions/Slide.js +381 -0
  659. package/transitions/Zoom.js +204 -0
  660. package/transitions/index.js +52 -0
  661. package/transitions/utils.js +21 -0
  662. package/umd/hipay-material-ui.development.js +113768 -0
  663. package/umd/hipay-material-ui.production.min.js +21 -0
  664. package/utils/ClickAwayListener.js +122 -0
  665. package/utils/HiIconBuilder.js +168 -0
  666. package/utils/addEventListener.js +26 -0
  667. package/utils/exactProp.js +40 -0
  668. package/utils/helpers.js +97 -0
  669. package/utils/hiGetMdiIcon.js +20 -0
  670. package/utils/hiHelpers.js +195 -0
  671. package/utils/keyboardFocus.js +75 -0
  672. package/utils/manageAriaHidden.js +49 -0
  673. package/utils/reactHelpers.js +27 -0
  674. package/utils/requirePropFactory.js +23 -0
  675. package/utils/withWidth.js +214 -0
@@ -0,0 +1,20 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M7 10l5 5 5-5z' });
10
+
11
+ let ArrowDropDown = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+
17
+ ArrowDropDown = pure(ArrowDropDown);
18
+ ArrowDropDown.muiName = 'SvgIcon';
19
+
20
+ export default ArrowDropDown;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z' });
10
+
11
+ let Cancel = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ Cancel = pure(Cancel);
17
+ Cancel.muiName = 'SvgIcon';
18
+
19
+ export default Cancel;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z' });
10
+
11
+ let CheckBox = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ CheckBox = pure(CheckBox);
17
+ CheckBox.muiName = 'SvgIcon';
18
+
19
+ export default CheckBox;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z' });
10
+
11
+ let CheckBoxOutlineBlank = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ CheckBoxOutlineBlank = pure(CheckBoxOutlineBlank);
17
+ CheckBoxOutlineBlank.muiName = 'SvgIcon';
18
+
19
+ export default CheckBoxOutlineBlank;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M12 0a12 12 0 1 0 0 24 12 12 0 0 0 0-24zm-2 17l-5-5 1.4-1.4 3.6 3.6 7.6-7.6L19 8l-9 9z' });
10
+
11
+ let CheckCircle = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ CheckCircle = pure(CheckCircle);
17
+ CheckCircle.muiName = 'SvgIcon';
18
+
19
+ export default CheckCircle;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z' });
10
+
11
+ let IndeterminateCheckBox = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ IndeterminateCheckBox = pure(IndeterminateCheckBox);
17
+ IndeterminateCheckBox.muiName = 'SvgIcon';
18
+
19
+ export default IndeterminateCheckBox;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M15.41 16.09l-4.58-4.59 4.58-4.59L14 5.5l-6 6 6 6z' });
10
+
11
+ let KeyboardArrowLeft = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ KeyboardArrowLeft = pure(KeyboardArrowLeft);
17
+ KeyboardArrowLeft.muiName = 'SvgIcon';
18
+
19
+ export default KeyboardArrowLeft;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M8.59 16.34l4.58-4.59-4.58-4.59L10 5.75l6 6-6 6z' });
10
+
11
+ let KeyboardArrowRight = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ KeyboardArrowRight = pure(KeyboardArrowRight);
17
+ KeyboardArrowRight.muiName = 'SvgIcon';
18
+
19
+ export default KeyboardArrowRight;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5zm0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z' });
10
+
11
+ let RadioButtonChecked = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ RadioButtonChecked = pure(RadioButtonChecked);
17
+ RadioButtonChecked.muiName = 'SvgIcon';
18
+
19
+ export default RadioButtonChecked;
@@ -0,0 +1,19 @@
1
+ import React from 'react';
2
+ import pure from 'recompose/pure';
3
+ import SvgIcon from '../../SvgIcon';
4
+
5
+ /**
6
+ * @ignore - internal component.
7
+ */
8
+
9
+ var _ref = React.createElement('path', { d: 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z' });
10
+
11
+ let RadioButtonUnchecked = props => React.createElement(
12
+ SvgIcon,
13
+ props,
14
+ _ref
15
+ );
16
+ RadioButtonUnchecked = pure(RadioButtonUnchecked);
17
+ RadioButtonUnchecked.muiName = 'SvgIcon';
18
+
19
+ export default RadioButtonUnchecked;
@@ -0,0 +1,125 @@
1
+ import _extends from 'babel-runtime/helpers/extends';
2
+ import React from 'react';
3
+ import PropTypes from 'prop-types';
4
+ import warning from 'warning';
5
+ import createBroadcast from 'brcast';
6
+ import themeListener, { CHANNEL } from './themeListener';
7
+ import exactProp from '../utils/exactProp';
8
+
9
+ /**
10
+ * This component takes a `theme` property.
11
+ * It makes the `theme` available down the React tree thanks to React context.
12
+ * This component should preferably be used at **the root of your component tree**.
13
+ */
14
+ class MuiThemeProvider extends React.Component {
15
+ constructor(props, context) {
16
+ super(props, context);
17
+
18
+ // Get the outer theme from the context, can be null
19
+ this.broadcast = createBroadcast();
20
+ this.unsubscribeId = null;
21
+ this.outerTheme = null;
22
+ this.outerTheme = themeListener.initial(context);
23
+ // Propagate the theme so it can be accessed by the children
24
+ this.broadcast.setState(this.mergeOuterLocalTheme(this.props.theme));
25
+ }
26
+
27
+ getChildContext() {
28
+ const { sheetsManager, disableStylesGeneration } = this.props;
29
+ const muiThemeProviderOptions = this.context.muiThemeProviderOptions || {};
30
+
31
+ if (sheetsManager !== undefined) {
32
+ muiThemeProviderOptions.sheetsManager = sheetsManager;
33
+ }
34
+
35
+ if (disableStylesGeneration !== undefined) {
36
+ muiThemeProviderOptions.disableStylesGeneration = disableStylesGeneration;
37
+ }
38
+
39
+ return {
40
+ [CHANNEL]: this.broadcast,
41
+ muiThemeProviderOptions
42
+ };
43
+ }
44
+
45
+ componentDidMount() {
46
+ // Subscribe on the outer theme, if present
47
+ this.unsubscribeId = themeListener.subscribe(this.context, outerTheme => {
48
+ this.outerTheme = outerTheme;
49
+ // Forward the parent theme update to the children
50
+ this.broadcast.setState(this.mergeOuterLocalTheme(this.props.theme));
51
+ });
52
+ }
53
+
54
+ componentWillReceiveProps(nextProps) {
55
+ // Propagate a local theme update
56
+ if (this.props.theme !== nextProps.theme) {
57
+ this.broadcast.setState(this.mergeOuterLocalTheme(nextProps.theme));
58
+ }
59
+ }
60
+
61
+ componentWillUnmount() {
62
+ if (this.unsubscribeId !== null) {
63
+ themeListener.unsubscribe(this.context, this.unsubscribeId);
64
+ }
65
+ }
66
+ // We are not using the React state in order to avoid unnecessary rerender.
67
+
68
+
69
+ // Simple merge between the outer theme and the local theme
70
+ mergeOuterLocalTheme(localTheme) {
71
+ // To support composition of theme.
72
+ if (typeof localTheme === 'function') {
73
+ process.env.NODE_ENV !== "production" ? warning(this.outerTheme, ['Material-UI: you are providing a theme function property ' + 'to the MuiThemeProvider component:', '<MuiThemeProvider theme={outerTheme => outerTheme} />', '', 'However, no outer theme is present.', 'Make sure a theme is already injected higher in the React tree ' + 'or provide a theme object.'].join('\n')) : void 0;
74
+ return localTheme(this.outerTheme);
75
+ }
76
+
77
+ if (!this.outerTheme) {
78
+ return localTheme;
79
+ }
80
+
81
+ return _extends({}, this.outerTheme, localTheme);
82
+ }
83
+
84
+ render() {
85
+ return this.props.children;
86
+ }
87
+ }
88
+
89
+ MuiThemeProvider.propTypes = process.env.NODE_ENV !== "production" ? {
90
+ /**
91
+ * You can only provide a single element with react@15, a node with react@16.
92
+ */
93
+ children: PropTypes.node.isRequired,
94
+ /**
95
+ * You can disable the generation of the styles with this option.
96
+ * It can be useful when traversing the React tree outside of the HTML
97
+ * rendering step on the server.
98
+ * Let's say you are using react-apollo to extract all
99
+ * the queries made by the interface server side.
100
+ * You can significantly speed up the traversal with this property.
101
+ */
102
+ disableStylesGeneration: PropTypes.bool,
103
+ /**
104
+ * The sheetsManager is used to deduplicate style sheet injection in the page.
105
+ * It's deduplicating using the (theme, styles) couple.
106
+ * On the server, you should provide a new instance for each request.
107
+ */
108
+ sheetsManager: PropTypes.object,
109
+ /**
110
+ * A theme object.
111
+ */
112
+ theme: PropTypes.oneOfType([PropTypes.object, PropTypes.func]).isRequired
113
+ } : {};
114
+
115
+ MuiThemeProvider.propTypes = process.env.NODE_ENV !== "production" ? exactProp(MuiThemeProvider.propTypes, 'MuiThemeProvider') : {};
116
+
117
+ MuiThemeProvider.childContextTypes = _extends({}, themeListener.contextTypes, {
118
+ muiThemeProviderOptions: PropTypes.object
119
+ });
120
+
121
+ MuiThemeProvider.contextTypes = _extends({}, themeListener.contextTypes, {
122
+ muiThemeProviderOptions: PropTypes.object
123
+ });
124
+
125
+ export default MuiThemeProvider;
@@ -0,0 +1,221 @@
1
+ // weak
2
+ /* eslint-disable no-use-before-define */
3
+
4
+ import warning from 'warning';
5
+
6
+ /**
7
+ * Returns a number whose value is limited to the given range.
8
+ *
9
+ * @param {number} value The value to be clamped
10
+ * @param {number} min The lower boundary of the output range
11
+ * @param {number} max The upper boundary of the output range
12
+ * @returns {number} A number in the range [min, max]
13
+ */
14
+ function clamp(value, min = 0, max = 1) {
15
+ process.env.NODE_ENV !== "production" ? warning(value >= min && value <= max, `Material-UI: the value provided ${value} is out of range [${min}, ${max}].`) : void 0;
16
+
17
+ if (value < min) {
18
+ return min;
19
+ }
20
+ if (value > max) {
21
+ return max;
22
+ }
23
+ return value;
24
+ }
25
+
26
+ /**
27
+ * Converts a color from CSS hex format to CSS rgb format.
28
+ *
29
+ * @param {string} color - Hex color, i.e. #nnn or #nnnnnn
30
+ * @returns {string} A CSS rgb color string
31
+ */
32
+ export function convertHexToRGB(color) {
33
+ color = color.substr(1);
34
+
35
+ const re = new RegExp(`.{1,${color.length / 3}}`, 'g');
36
+ let colors = color.match(re);
37
+
38
+ if (colors && colors[0].length === 1) {
39
+ colors = colors.map(n => n + n);
40
+ }
41
+
42
+ return colors ? `rgb(${colors.map(n => parseInt(n, 16)).join(', ')})` : '';
43
+ }
44
+
45
+ /**
46
+ * Returns an object with the type and values of a color.
47
+ *
48
+ * Note: Does not support rgb % values.
49
+ *
50
+ * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
51
+ * @returns {object} - A MUI color object: {type: string, values: number[]}
52
+ */
53
+ export function decomposeColor(color) {
54
+ if (color.charAt(0) === '#') {
55
+ return decomposeColor(convertHexToRGB(color));
56
+ }
57
+
58
+ const marker = color.indexOf('(');
59
+ const type = color.substring(0, marker);
60
+ let values = color.substring(marker + 1, color.length - 1).split(',');
61
+ values = values.map(value => parseFloat(value));
62
+
63
+ return { type, values };
64
+ }
65
+
66
+ /**
67
+ * Converts a color object with type and values to a string.
68
+ *
69
+ * @param {object} color - Decomposed color
70
+ * @param {string} color.type - One of: 'rgb', 'rgba', 'hsl', 'hsla'
71
+ * @param {array} color.values - [n,n,n] or [n,n,n,n]
72
+ * @returns {string} A CSS color string
73
+ */
74
+ export function recomposeColor(color) {
75
+ const { type } = color;
76
+ let { values } = color;
77
+
78
+ if (type.indexOf('rgb') > -1) {
79
+ // Only convert the first 3 values to int (i.e. not alpha)
80
+ values = values.map((n, i) => i < 3 ? parseInt(n, 10) : n);
81
+ }
82
+
83
+ if (type.indexOf('hsl') > -1) {
84
+ values[1] = `${values[1]}%`;
85
+ values[2] = `${values[2]}%`;
86
+ }
87
+
88
+ return `${color.type}(${values.join(', ')})`;
89
+ }
90
+
91
+ /**
92
+ * Calculates the contrast ratio between two colors.
93
+ *
94
+ * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
95
+ *
96
+ * @param {string} foreground - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
97
+ * @param {string} background - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
98
+ * @returns {number} A contrast ratio value in the range 0 - 21.
99
+ */
100
+ export function getContrastRatio(foreground, background) {
101
+ const lumA = getLuminance(foreground);
102
+ const lumB = getLuminance(background);
103
+ return (Math.max(lumA, lumB) + 0.05) / (Math.min(lumA, lumB) + 0.05);
104
+ }
105
+
106
+ /**
107
+ * The relative brightness of any point in a color space,
108
+ * normalized to 0 for darkest black and 1 for lightest white.
109
+ *
110
+ * Formula: https://www.w3.org/TR/WCAG20-TECHS/G17.html#G17-tests
111
+ *
112
+ * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
113
+ * @returns {number} The relative brightness of the color in the range 0 - 1
114
+ */
115
+ export function getLuminance(color) {
116
+ const decomposedColor = decomposeColor(color);
117
+
118
+ if (decomposedColor.type.indexOf('rgb') > -1) {
119
+ const rgb = decomposedColor.values.map(val => {
120
+ val /= 255; // normalized
121
+ return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);
122
+ });
123
+ // Truncate at 3 digits
124
+ return Number((0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2]).toFixed(3));
125
+ } else if (decomposedColor.type.indexOf('hsl') > -1) {
126
+ return decomposedColor.values[2] / 100;
127
+ }
128
+
129
+ throw new Error(`Material-UI: unsupported \`${color}\` color.`);
130
+ }
131
+
132
+ /**
133
+ * Darken or lighten a colour, depending on its luminance.
134
+ * Light colors are darkened, dark colors are lightened.
135
+ *
136
+ * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
137
+ * @param {number} coefficient=0.15 - multiplier in the range 0 - 1
138
+ * @returns {string} A CSS color string. Hex input values are returned as rgb
139
+ */
140
+ export function emphasize(color, coefficient = 0.15) {
141
+ return getLuminance(color) > 0.5 ? darken(color, coefficient) : lighten(color, coefficient);
142
+ }
143
+
144
+ /**
145
+ * Set the absolute transparency of a color.
146
+ * Any existing alpha values are overwritten.
147
+ *
148
+ * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
149
+ * @param {number} value - value to set the alpha channel to in the range 0 -1
150
+ * @returns {string} A CSS color string. Hex input values are returned as rgb
151
+ */
152
+ export function fade(color, value) {
153
+ process.env.NODE_ENV !== "production" ? warning(color, `Material-UI: missing color argument in fade(${color}, ${value}).`) : void 0;
154
+
155
+ if (!color) return color;
156
+
157
+ color = decomposeColor(color);
158
+ value = clamp(value);
159
+
160
+ if (color.type === 'rgb' || color.type === 'hsl') {
161
+ color.type += 'a';
162
+ }
163
+ color.values[3] = value;
164
+
165
+ return recomposeColor(color);
166
+ }
167
+
168
+ /**
169
+ * Darkens a color.
170
+ *
171
+ * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
172
+ * @param {number} coefficient - multiplier in the range 0 - 1
173
+ * @returns {string} A CSS color string. Hex input values are returned as rgb
174
+ */
175
+ export function darken(color, coefficient) {
176
+ process.env.NODE_ENV !== "production" ? warning(color, `Material-UI: missing color argument in darken(${color}, ${coefficient}).`) : void 0;
177
+
178
+ if (!color) return color;
179
+
180
+ color = decomposeColor(color);
181
+ coefficient = clamp(coefficient);
182
+
183
+ if (color.type.indexOf('hsl') > -1) {
184
+ color.values[2] *= 1 - coefficient;
185
+ } else if (color.type.indexOf('rgb') > -1) {
186
+ for (let i = 0; i < 3; i += 1) {
187
+ color.values[i] *= 1 - coefficient;
188
+ }
189
+ }
190
+ return recomposeColor(color);
191
+ }
192
+
193
+ /**
194
+ * Lightens a color.
195
+ *
196
+ * @param {string} color - CSS color, i.e. one of: #nnn, #nnnnnn, rgb(), rgba(), hsl(), hsla()
197
+ * @param {number} coefficient - multiplier in the range 0 - 1
198
+ * @returns {string} A CSS color string. Hex input values are returned as rgb
199
+ */
200
+ export function lighten(color, coefficient) {
201
+ process.env.NODE_ENV !== "production" ? warning(color, `Material-UI: missing color argument in lighten(${color}, ${coefficient}).`) : void 0;
202
+
203
+ if (!color) return color;
204
+
205
+ color = decomposeColor(color);
206
+ coefficient = clamp(coefficient);
207
+
208
+ if (color.type.indexOf('hsl') > -1) {
209
+ color.values[2] += (100 - color.values[2]) * coefficient;
210
+ } else if (color.type.indexOf('rgb') > -1) {
211
+ for (let i = 0; i < 3; i += 1) {
212
+ color.values[i] += (255 - color.values[i]) * coefficient;
213
+ }
214
+ }
215
+
216
+ return recomposeColor(color);
217
+ }
218
+
219
+ export function getContrastedTextColor(background, black, white) {
220
+ return getContrastRatio(background, black) < 9 ? white : black;
221
+ }
@@ -0,0 +1,69 @@
1
+ import _extends from 'babel-runtime/helpers/extends';
2
+ import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
3
+ // Sorted ASC by size. That's important.
4
+ // It can't be configured as it's used statically for propTypes.
5
+ export const keys = ['xs', 'sm', 'md', 'lg', 'xl'];
6
+
7
+ // Keep in mind that @media is inclusive by the CSS specification.
8
+ export default function createBreakpoints(breakpoints) {
9
+ const {
10
+ // The breakpoint **start** at this value.
11
+ // For instance with the first breakpoint xs: [xs, sm[.
12
+ values = {
13
+ xs: 0,
14
+ sm: 600,
15
+ md: 960,
16
+ lg: 1280,
17
+ xl: 1920
18
+ },
19
+ unit = 'px',
20
+ step = 5
21
+ } = breakpoints,
22
+ other = _objectWithoutProperties(breakpoints, ['values', 'unit', 'step']);
23
+
24
+ function up(key) {
25
+ const value = typeof values[key] === 'number' ? values[key] : key;
26
+ return `@media (min-width:${value}${unit})`;
27
+ }
28
+
29
+ function down(key) {
30
+ const endIndex = keys.indexOf(key) + 1;
31
+ const upperbound = values[keys[endIndex]];
32
+
33
+ if (endIndex === keys.length) {
34
+ // xl down applies to all sizes
35
+ return up('xs');
36
+ }
37
+
38
+ const value = typeof upperbound === 'number' && endIndex > 0 ? upperbound : key;
39
+ return `@media (max-width:${value - step / 100}${unit})`;
40
+ }
41
+
42
+ function between(start, end) {
43
+ const endIndex = keys.indexOf(end) + 1;
44
+
45
+ if (endIndex === keys.length) {
46
+ return up(start);
47
+ }
48
+
49
+ return `@media (min-width:${values[start]}${unit}) and ` + `(max-width:${values[keys[endIndex]] - step / 100}${unit})`;
50
+ }
51
+
52
+ function only(key) {
53
+ return between(key, key);
54
+ }
55
+
56
+ function width(key) {
57
+ return values[key];
58
+ }
59
+
60
+ return _extends({
61
+ keys,
62
+ values,
63
+ up,
64
+ down,
65
+ between,
66
+ only,
67
+ width
68
+ }, other);
69
+ }
@@ -0,0 +1,72 @@
1
+ import warning from 'warning';
2
+
3
+ let generatorCounter = 0;
4
+
5
+ // Returns a function which generates unique class names based on counters.
6
+ // When new generator function is created, rule counter is reset.
7
+ // We need to reset the rule counter for SSR for each request.
8
+ //
9
+ // It's inspired by
10
+ // https://github.com/cssinjs/jss/blob/4e6a05dd3f7b6572fdd3ab216861d9e446c20331/src/utils/createGenerateClassName.js
11
+ export default function createGenerateClassName(options = {}) {
12
+ const { dangerouslyUseGlobalCSS = false, productionPrefix = 'jss' } = options;
13
+ const escapeRegex = /([[\].#*$><+~=|^:(),"'`\s])/g;
14
+ let ruleCounter = 0;
15
+
16
+ // - HMR can lead to many class name generators being instantiated,
17
+ // so the warning is only triggered in production.
18
+ // - We expect a class name generator to be instantiated per new request on the server,
19
+ // so the warning is only triggered client side.
20
+ // - You can get away with having multiple class name generators
21
+ // by modifying the `productionPrefix`.
22
+ if (process.env.NODE_ENV === 'production' && typeof window !== 'undefined' && productionPrefix === 'jss') {
23
+ generatorCounter += 1;
24
+
25
+ if (generatorCounter > 2) {
26
+ // eslint-disable-next-line no-console
27
+ console.error(['Material-UI: we have detected more than needed creation of the class name generator.', 'You should only use one class name generator on the client side.', 'If you do otherwise, you take the risk to have conflicting class names in production.'].join('\n'));
28
+ }
29
+ }
30
+
31
+ return (rule, styleSheet) => {
32
+ ruleCounter += 1;
33
+ process.env.NODE_ENV !== "production" ? warning(ruleCounter < 1e10, ['Material-UI: you might have a memory leak.', 'The ruleCounter is not supposed to grow that much.'].join('')) : void 0;
34
+
35
+ // Code branch the whole block at the expense of more code.
36
+ if (dangerouslyUseGlobalCSS) {
37
+ if (styleSheet && styleSheet.options.classNamePrefix) {
38
+ let prefix = styleSheet.options.classNamePrefix;
39
+ // Sanitize the string as will be used to prefix the generated class name.
40
+ prefix = prefix.replace(escapeRegex, '-');
41
+
42
+ if (prefix.match(/^Mui/)) {
43
+ return `${prefix}-${rule.key}`;
44
+ }
45
+
46
+ if (process.env.NODE_ENV !== 'production') {
47
+ return `${prefix}-${rule.key}-${ruleCounter}`;
48
+ }
49
+ }
50
+
51
+ if (process.env.NODE_ENV === 'production') {
52
+ return `${productionPrefix}${ruleCounter}`;
53
+ }
54
+
55
+ return `${rule.key}-${ruleCounter}`;
56
+ }
57
+
58
+ if (process.env.NODE_ENV === 'production') {
59
+ return `${productionPrefix}${ruleCounter}`;
60
+ }
61
+
62
+ if (styleSheet && styleSheet.options.classNamePrefix) {
63
+ let prefix = styleSheet.options.classNamePrefix;
64
+ // Sanitize the string as will be used to prefix the generated class name.
65
+ prefix = prefix.replace(escapeRegex, '-');
66
+
67
+ return `${prefix}-${rule.key}-${ruleCounter}`;
68
+ }
69
+
70
+ return `${rule.key}-${ruleCounter}`;
71
+ };
72
+ }