@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,425 @@
1
+ import _extends from 'babel-runtime/helpers/extends';
2
+ import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
3
+ import _Number$isNaN from 'babel-runtime/core-js/number/is-nan';
4
+ import React from 'react';
5
+ import PropTypes from 'prop-types';
6
+ import warning from 'warning';
7
+ import classNames from 'classnames';
8
+ import EventListener from 'react-event-listener';
9
+ import debounce from 'lodash/debounce';
10
+ import ScrollbarSize from 'react-scrollbar-size';
11
+ import { getNormalizedScrollLeft, detectScrollType } from 'normalize-scroll-left';
12
+ import scroll from 'scroll';
13
+ import withStyles from '../styles/withStyles';
14
+ import TabIndicator from './TabIndicator';
15
+ import TabScrollButton from './TabScrollButton';
16
+
17
+ export const styles = theme => ({
18
+ root: {
19
+ overflow: 'hidden',
20
+ minHeight: 48,
21
+ WebkitOverflowScrolling: 'touch' // Add iOS momentum scrolling.
22
+ },
23
+ flexContainer: {
24
+ display: 'flex'
25
+ },
26
+ scroller: {
27
+ position: 'relative',
28
+ display: 'inline-block',
29
+ flex: '1 1 auto',
30
+ whiteSpace: 'nowrap'
31
+ },
32
+ fixed: {
33
+ overflowX: 'hidden',
34
+ width: '100%'
35
+ },
36
+ scrollable: {
37
+ overflowX: 'scroll'
38
+ },
39
+ centered: {
40
+ justifyContent: 'center'
41
+ },
42
+ scrollButtonsAuto: {
43
+ [theme.breakpoints.down('xs')]: {
44
+ display: 'none'
45
+ }
46
+ }
47
+ });
48
+
49
+ class Tabs extends React.Component {
50
+ constructor(...args) {
51
+ var _temp;
52
+
53
+ return _temp = super(...args), this.state = {
54
+ indicatorStyle: {},
55
+ scrollerStyle: {
56
+ marginBottom: 0
57
+ },
58
+ showLeftScroll: false,
59
+ showRightScroll: false,
60
+ mounted: false
61
+ }, this.getConditionalElements = () => {
62
+ const {
63
+ classes,
64
+ buttonClassName,
65
+ scrollable,
66
+ scrollButtons,
67
+ TabScrollButton: TabScrollButtonProp,
68
+ theme
69
+ } = this.props;
70
+ const conditionalElements = {};
71
+ conditionalElements.scrollbarSizeListener = scrollable ? React.createElement(ScrollbarSize, {
72
+ onLoad: this.handleScrollbarSizeChange,
73
+ onChange: this.handleScrollbarSizeChange
74
+ }) : null;
75
+
76
+ const showScrollButtons = scrollable && (scrollButtons === 'auto' || scrollButtons === 'on');
77
+
78
+ conditionalElements.scrollButtonLeft = showScrollButtons ? React.createElement(TabScrollButtonProp, {
79
+ direction: theme && theme.direction === 'rtl' ? 'right' : 'left',
80
+ onClick: this.handleLeftScrollClick,
81
+ visible: this.state.showLeftScroll,
82
+ className: classNames({
83
+ [classes.scrollButtonsAuto]: scrollButtons === 'auto'
84
+ }, buttonClassName)
85
+ }) : null;
86
+
87
+ conditionalElements.scrollButtonRight = showScrollButtons ? React.createElement(TabScrollButtonProp, {
88
+ direction: theme && theme.direction === 'rtl' ? 'left' : 'right',
89
+ onClick: this.handleRightScrollClick,
90
+ visible: this.state.showRightScroll,
91
+ className: classNames({
92
+ [classes.scrollButtonsAuto]: scrollButtons === 'auto'
93
+ }, buttonClassName)
94
+ }) : null;
95
+
96
+ return conditionalElements;
97
+ }, this.getTabsMeta = (value, direction) => {
98
+ let tabsMeta;
99
+ if (this.tabs) {
100
+ const rect = this.tabs.getBoundingClientRect();
101
+ // create a new object with ClientRect class props + scrollLeft
102
+ tabsMeta = {
103
+ clientWidth: this.tabs ? this.tabs.clientWidth : 0,
104
+ scrollLeft: this.tabs ? this.tabs.scrollLeft : 0,
105
+ scrollLeftNormalized: this.tabs ? getNormalizedScrollLeft(this.tabs, direction) : 0,
106
+ scrollWidth: this.tabs ? this.tabs.scrollWidth : 0,
107
+ left: rect.left,
108
+ right: rect.right
109
+ };
110
+ }
111
+
112
+ let tabMeta;
113
+ if (this.tabs && value !== false) {
114
+ const children = this.tabs.children[0].children;
115
+
116
+ if (children.length > 0) {
117
+ const tab = children[this.valueToIndex[value]];
118
+ process.env.NODE_ENV !== "production" ? warning(tab, `Material-UI: the value provided \`${value}\` is invalid`) : void 0;
119
+ tabMeta = tab ? tab.getBoundingClientRect() : null;
120
+ }
121
+ }
122
+ return { tabsMeta, tabMeta };
123
+ }, this.tabs = undefined, this.valueToIndex = {}, this.handleResize = debounce(() => {
124
+ this.updateIndicatorState(this.props);
125
+ this.updateScrollButtonState();
126
+ }, 166), this.handleLeftScrollClick = () => {
127
+ if (this.tabs) {
128
+ this.moveTabsScroll(-this.tabs.clientWidth);
129
+ }
130
+ }, this.handleRightScrollClick = () => {
131
+ if (this.tabs) {
132
+ this.moveTabsScroll(this.tabs.clientWidth);
133
+ }
134
+ }, this.handleScrollbarSizeChange = ({ scrollbarHeight }) => {
135
+ this.setState({
136
+ scrollerStyle: {
137
+ marginBottom: -scrollbarHeight
138
+ }
139
+ });
140
+ }, this.handleTabsScroll = debounce(() => {
141
+ this.updateScrollButtonState();
142
+ }, 166), this.moveTabsScroll = delta => {
143
+ const { theme } = this.props;
144
+
145
+ if (this.tabs) {
146
+ const multiplier = theme.direction === 'rtl' ? -1 : 1;
147
+ const nextScrollLeft = this.tabs.scrollLeft + delta * multiplier;
148
+ // Fix for Edge
149
+ const invert = theme.direction === 'rtl' && detectScrollType() === 'reverse' ? -1 : 1;
150
+ scroll.left(this.tabs, invert * nextScrollLeft);
151
+ }
152
+ }, this.scrollSelectedIntoView = () => {
153
+ const { theme, value } = this.props;
154
+ const { tabsMeta, tabMeta } = this.getTabsMeta(value, theme.direction);
155
+
156
+ if (!tabMeta || !tabsMeta) {
157
+ return;
158
+ }
159
+
160
+ if (tabMeta.left < tabsMeta.left) {
161
+ // left side of button is out of view
162
+ const nextScrollLeft = tabsMeta.scrollLeft + (tabMeta.left - tabsMeta.left);
163
+ scroll.left(this.tabs, nextScrollLeft);
164
+ } else if (tabMeta.right > tabsMeta.right) {
165
+ // right side of button is out of view
166
+ const nextScrollLeft = tabsMeta.scrollLeft + (tabMeta.right - tabsMeta.right);
167
+ scroll.left(this.tabs, nextScrollLeft);
168
+ }
169
+ }, this.updateScrollButtonState = () => {
170
+ const { scrollable, scrollButtons, theme } = this.props;
171
+
172
+ if (this.tabs && scrollable && scrollButtons !== 'off') {
173
+ const { scrollWidth, clientWidth } = this.tabs;
174
+ const scrollLeft = getNormalizedScrollLeft(this.tabs, theme.direction);
175
+
176
+ const showLeftScroll = theme.direction === 'rtl' ? scrollWidth > clientWidth + scrollLeft : scrollLeft > 0;
177
+
178
+ const showRightScroll = theme.direction === 'rtl' ? scrollLeft > 0 : scrollWidth > clientWidth + scrollLeft;
179
+
180
+ if (showLeftScroll !== this.state.showLeftScroll || showRightScroll !== this.state.showRightScroll) {
181
+ this.setState({ showLeftScroll, showRightScroll });
182
+ }
183
+ }
184
+ }, _temp;
185
+ }
186
+
187
+ componentDidMount() {
188
+ // eslint-disable-next-line react/no-did-mount-set-state
189
+ this.setState({ mounted: true });
190
+ this.updateIndicatorState(this.props);
191
+ this.updateScrollButtonState();
192
+
193
+ if (this.props.action) {
194
+ this.props.action({
195
+ updateIndicator: this.handleResize
196
+ });
197
+ }
198
+ }
199
+
200
+ componentDidUpdate(prevProps, prevState) {
201
+ this.updateScrollButtonState();
202
+
203
+ // The index might have changed at the same time.
204
+ // We need to check again the right indicator position.
205
+ this.updateIndicatorState(this.props);
206
+
207
+ if (this.state.indicatorStyle !== prevState.indicatorStyle) {
208
+ this.scrollSelectedIntoView();
209
+ }
210
+ }
211
+
212
+ componentWillUnmount() {
213
+ this.handleResize.cancel();
214
+ this.handleTabsScroll.cancel();
215
+ }
216
+
217
+ updateIndicatorState(props) {
218
+ const { theme, value } = props;
219
+
220
+ const { tabsMeta, tabMeta } = this.getTabsMeta(value, theme.direction);
221
+ let left = 0;
222
+
223
+ if (tabMeta && tabsMeta) {
224
+ const correction = theme.direction === 'rtl' ? tabsMeta.scrollLeftNormalized + tabsMeta.clientWidth - tabsMeta.scrollWidth : tabsMeta.scrollLeft;
225
+ left = tabMeta.left - tabsMeta.left + correction;
226
+ }
227
+
228
+ const indicatorStyle = {
229
+ left,
230
+ // May be wrong until the font is loaded.
231
+ width: tabMeta ? tabMeta.width : 0
232
+ };
233
+
234
+ if ((indicatorStyle.left !== this.state.indicatorStyle.left || indicatorStyle.width !== this.state.indicatorStyle.width) && !_Number$isNaN(indicatorStyle.left) && !_Number$isNaN(indicatorStyle.width)) {
235
+ this.setState({ indicatorStyle });
236
+ }
237
+ }
238
+
239
+ render() {
240
+ const _props = this.props,
241
+ {
242
+ action,
243
+ buttonClassName,
244
+ centered,
245
+ children: childrenProp,
246
+ classes,
247
+ className: classNameProp,
248
+ fullWidth,
249
+ indicatorClassName,
250
+ indicatorColor,
251
+ onChange,
252
+ scrollable,
253
+ scrollButtons,
254
+ TabScrollButton: TabScrollButtonProp,
255
+ textColor,
256
+ theme,
257
+ value
258
+ } = _props,
259
+ other = _objectWithoutProperties(_props, ['action', 'buttonClassName', 'centered', 'children', 'classes', 'className', 'fullWidth', 'indicatorClassName', 'indicatorColor', 'onChange', 'scrollable', 'scrollButtons', 'TabScrollButton', 'textColor', 'theme', 'value']);
260
+
261
+ const className = classNames(classes.root, classNameProp);
262
+ const scrollerClassName = classNames(classes.scroller, {
263
+ [classes.fixed]: !scrollable,
264
+ [classes.scrollable]: scrollable
265
+ });
266
+ const flexContainerClassName = classNames(classes.flexContainer, {
267
+ [classes.centered]: centered && !scrollable
268
+ });
269
+
270
+ const indicator = React.createElement(TabIndicator, {
271
+ style: this.state.indicatorStyle,
272
+ className: indicatorClassName,
273
+ color: indicatorColor
274
+ });
275
+
276
+ this.valueToIndex = {};
277
+ let childIndex = 0;
278
+ const children = React.Children.map(childrenProp, child => {
279
+ if (!React.isValidElement(child)) {
280
+ return null;
281
+ }
282
+
283
+ const childValue = child.props.value || childIndex;
284
+ this.valueToIndex[childValue] = childIndex;
285
+ const selected = childValue === value;
286
+
287
+ childIndex += 1;
288
+ return React.cloneElement(child, {
289
+ fullWidth,
290
+ indicator: selected && !this.state.mounted && indicator,
291
+ selected,
292
+ onChange,
293
+ textColor,
294
+ value: childValue
295
+ });
296
+ });
297
+
298
+ const conditionalElements = this.getConditionalElements();
299
+
300
+ return React.createElement(
301
+ 'div',
302
+ _extends({ className: className }, other),
303
+ React.createElement(EventListener, { target: 'window', onResize: this.handleResize }),
304
+ conditionalElements.scrollbarSizeListener,
305
+ React.createElement(
306
+ 'div',
307
+ { className: classes.flexContainer },
308
+ conditionalElements.scrollButtonLeft,
309
+ React.createElement(
310
+ 'div',
311
+ {
312
+ className: scrollerClassName,
313
+ style: this.state.scrollerStyle,
314
+ ref: node => {
315
+ this.tabs = node;
316
+ },
317
+ role: 'tablist',
318
+ onScroll: this.handleTabsScroll
319
+ },
320
+ React.createElement(
321
+ 'div',
322
+ { className: flexContainerClassName },
323
+ children
324
+ ),
325
+ this.state.mounted && indicator
326
+ ),
327
+ conditionalElements.scrollButtonRight
328
+ )
329
+ );
330
+ }
331
+ }
332
+
333
+ Tabs.propTypes = process.env.NODE_ENV !== "production" ? {
334
+ /**
335
+ * Callback fired when the component mounts.
336
+ * This is useful when you want to trigger an action programmatically.
337
+ * It currently only supports `updateIndicator()` action.
338
+ *
339
+ * @param {object} actions This object contains all possible actions
340
+ * that can be triggered programmatically.
341
+ */
342
+ action: PropTypes.func,
343
+ /**
344
+ * The CSS class name of the scroll button elements.
345
+ */
346
+ buttonClassName: PropTypes.string,
347
+ /**
348
+ * If `true`, the tabs will be centered.
349
+ * This property is intended for large views.
350
+ */
351
+ centered: PropTypes.bool,
352
+ /**
353
+ * The content of the component.
354
+ */
355
+ children: PropTypes.node,
356
+ /**
357
+ * Useful to extend the style applied to components.
358
+ */
359
+ classes: PropTypes.object.isRequired,
360
+ /**
361
+ * @ignore
362
+ */
363
+ className: PropTypes.string,
364
+ /**
365
+ * If `true`, the tabs will grow to use all the available space.
366
+ * This property is intended for small views, like on mobile.
367
+ */
368
+ fullWidth: PropTypes.bool,
369
+ /**
370
+ * The CSS class name of the indicator element.
371
+ */
372
+ indicatorClassName: PropTypes.string,
373
+ /**
374
+ * Determines the color of the indicator.
375
+ */
376
+ indicatorColor: PropTypes.oneOfType([PropTypes.string, PropTypes.oneOf(['secondary', 'primary'])]),
377
+ /**
378
+ * Callback fired when the value changes.
379
+ *
380
+ * @param {object} event The event source of the callback
381
+ * @param {number} value We default to the index of the child
382
+ */
383
+ onChange: PropTypes.func,
384
+ /**
385
+ * True invokes scrolling properties and allow for horizontally scrolling
386
+ * (or swiping) the tab bar.
387
+ */
388
+ scrollable: PropTypes.bool,
389
+ /**
390
+ * Determine behavior of scroll buttons when tabs are set to scroll
391
+ * `auto` will only present them on medium and larger viewports
392
+ * `on` will always present them
393
+ * `off` will never present them
394
+ */
395
+ scrollButtons: PropTypes.oneOf(['auto', 'on', 'off']),
396
+ /**
397
+ * The component used to render the scroll buttons.
398
+ */
399
+ TabScrollButton: PropTypes.oneOfType([PropTypes.string, PropTypes.func]),
400
+ /**
401
+ * Determines the color of the `Tab`.
402
+ */
403
+ textColor: PropTypes.oneOf(['secondary', 'primary', 'inherit']),
404
+ /**
405
+ * @ignore
406
+ */
407
+ theme: PropTypes.object.isRequired,
408
+ /**
409
+ * The value of the currently selected `Tab`.
410
+ * If you don't want any selected `Tab`, you can set this property to `false`.
411
+ */
412
+ value: PropTypes.any
413
+ } : {};
414
+
415
+ Tabs.defaultProps = {
416
+ centered: false,
417
+ fullWidth: false,
418
+ indicatorColor: 'secondary',
419
+ scrollable: false,
420
+ scrollButtons: 'auto',
421
+ TabScrollButton,
422
+ textColor: 'inherit'
423
+ };
424
+
425
+ export default withStyles(styles, { name: 'MuiTabs', withTheme: true })(Tabs);
@@ -0,0 +1,2 @@
1
+ export { default } from './Tabs';
2
+ export { default as Tab } from './Tab';
@@ -0,0 +1,259 @@
1
+ import _extends from 'babel-runtime/helpers/extends';
2
+ import _objectWithoutProperties from 'babel-runtime/helpers/objectWithoutProperties';
3
+ // @inheritedComponent FormControl
4
+
5
+ import React from 'react';
6
+ import warning from 'warning';
7
+ import PropTypes from 'prop-types';
8
+ import Input, { InputLabel } from '../Input';
9
+ import FormControl from '../Form/FormControl';
10
+ import FormHelperText from '../Form/FormHelperText';
11
+ import Select from '../Select/Select';
12
+
13
+ /**
14
+ * The `TextField` is a convenience wrapper for the most common cases (80%).
15
+ * It cannot be all things to all people, otherwise the API would grow out of control.
16
+ *
17
+ * ## Advanced Configuration
18
+ *
19
+ * It's important to understand that the text field is a simple abstraction
20
+ * on top of the following components:
21
+ * - [FormControl](/api/form-control)
22
+ * - [InputLabel](/api/input-label)
23
+ * - [Input](/api/input)
24
+ * - [FormHelperText](/api/form-helper-text)
25
+ *
26
+ * If you wish to alter the properties applied to the native input, you can do as follow:
27
+ *
28
+ * ```jsx
29
+ * const inputProps = {
30
+ * step: 300,
31
+ * };
32
+ *
33
+ * return <TextField id="time" type="time" inputProps={inputProps} />;
34
+ * ```
35
+ *
36
+ * For advanced cases, please look at the source of TextField by clicking on the
37
+ * "Edit this page" button above. Consider either:
38
+ * - using the upper case props for passing values direct to the components.
39
+ * - using the underlying components directly as shown in the demos.
40
+ */
41
+ function TextField(props) {
42
+ const {
43
+ autoComplete,
44
+ autoFocus,
45
+ children,
46
+ className,
47
+ defaultValue,
48
+ disabled,
49
+ error,
50
+ FormHelperTextProps,
51
+ fullWidth,
52
+ helperText,
53
+ helperTextClassName,
54
+ id,
55
+ InputLabelProps,
56
+ inputProps,
57
+ InputProps,
58
+ inputRef,
59
+ label,
60
+ labelClassName,
61
+ multiline,
62
+ name,
63
+ onChange,
64
+ placeholder,
65
+ required,
66
+ rows,
67
+ rowsMax,
68
+ select,
69
+ SelectProps,
70
+ type,
71
+ value
72
+ } = props,
73
+ other = _objectWithoutProperties(props, ['autoComplete', 'autoFocus', 'children', 'className', 'defaultValue', 'disabled', 'error', 'FormHelperTextProps', 'fullWidth', 'helperText', 'helperTextClassName', 'id', 'InputLabelProps', 'inputProps', 'InputProps', 'inputRef', 'label', 'labelClassName', 'multiline', 'name', 'onChange', 'placeholder', 'required', 'rows', 'rowsMax', 'select', 'SelectProps', 'type', 'value']);
74
+
75
+ process.env.NODE_ENV !== "production" ? warning(!select || Boolean(children), 'Material-UI: `children` must be passed when using the `TextField` component with `select`.') : void 0;
76
+
77
+ const helperTextId = helperText && id ? `${id}-helper-text` : undefined;
78
+ const InputComponent = React.createElement(Input, _extends({
79
+ autoComplete: autoComplete,
80
+ autoFocus: autoFocus,
81
+ defaultValue: defaultValue,
82
+ disabled: disabled,
83
+ fullWidth: fullWidth,
84
+ multiline: multiline,
85
+ name: name,
86
+ rows: rows,
87
+ rowsMax: rowsMax,
88
+ type: type,
89
+ value: value,
90
+ id: id,
91
+ inputRef: inputRef,
92
+ onChange: onChange,
93
+ placeholder: placeholder,
94
+ inputProps: inputProps
95
+ }, InputProps));
96
+
97
+ return React.createElement(
98
+ FormControl,
99
+ _extends({
100
+ 'aria-describedby': helperTextId,
101
+ className: className,
102
+ error: error,
103
+ fullWidth: fullWidth,
104
+ required: required
105
+ }, other),
106
+ label && React.createElement(
107
+ InputLabel,
108
+ _extends({ htmlFor: id, className: labelClassName }, InputLabelProps),
109
+ label
110
+ ),
111
+ select ? React.createElement(
112
+ Select,
113
+ _extends({ value: value, input: InputComponent }, SelectProps),
114
+ children
115
+ ) : InputComponent,
116
+ helperText && React.createElement(
117
+ FormHelperText,
118
+ _extends({ className: helperTextClassName, id: helperTextId }, FormHelperTextProps),
119
+ helperText
120
+ )
121
+ );
122
+ }
123
+
124
+ TextField.propTypes = process.env.NODE_ENV !== "production" ? {
125
+ /**
126
+ * This property helps users to fill forms faster, especially on mobile devices.
127
+ * The name can be confusing, as it's more like an autofill.
128
+ * You can learn more about it here:
129
+ * https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill
130
+ */
131
+ autoComplete: PropTypes.string,
132
+ /**
133
+ * If `true`, the input will be focused during the first mount.
134
+ */
135
+ autoFocus: PropTypes.bool,
136
+ /**
137
+ * @ignore
138
+ */
139
+ children: PropTypes.node,
140
+ /**
141
+ * @ignore
142
+ */
143
+ className: PropTypes.string,
144
+ /**
145
+ * The default value of the `Input` element.
146
+ */
147
+ defaultValue: PropTypes.string,
148
+ /**
149
+ * If `true`, the input will be disabled.
150
+ */
151
+ disabled: PropTypes.bool,
152
+ /**
153
+ * If `true`, the label will be displayed in an error state.
154
+ */
155
+ error: PropTypes.bool,
156
+ /**
157
+ * Properties applied to the `FormHelperText` element.
158
+ */
159
+ FormHelperTextProps: PropTypes.object,
160
+ /**
161
+ * If `true`, the input will take up the full width of its container.
162
+ */
163
+ fullWidth: PropTypes.bool,
164
+ /**
165
+ * The helper text content.
166
+ */
167
+ helperText: PropTypes.node,
168
+ /**
169
+ * The CSS class name of the helper text element.
170
+ */
171
+ helperTextClassName: PropTypes.string,
172
+ /**
173
+ * The id of the `input` element.
174
+ * Use that property to make `label` and `helperText` accessible for screen readers.
175
+ */
176
+ id: PropTypes.string,
177
+ /**
178
+ * Properties applied to the `InputLabel` element.
179
+ */
180
+ InputLabelProps: PropTypes.object,
181
+ /**
182
+ * Properties applied to the `Input` element.
183
+ */
184
+ InputProps: PropTypes.object,
185
+ /**
186
+ * Properties applied to the native `input` element.
187
+ */
188
+ inputProps: PropTypes.object,
189
+ /**
190
+ * Use that property to pass a ref callback to the native input component.
191
+ */
192
+ inputRef: PropTypes.func,
193
+ /**
194
+ * The label content.
195
+ */
196
+ label: PropTypes.node,
197
+ /**
198
+ * The CSS class name of the label element.
199
+ */
200
+ labelClassName: PropTypes.string,
201
+ /**
202
+ * If `dense` or `normal`, will adjust vertical spacing of this and contained components.
203
+ */
204
+ margin: PropTypes.oneOf(['none', 'dense', 'normal']),
205
+ /**
206
+ * If `true`, a textarea element will be rendered instead of an input.
207
+ */
208
+ multiline: PropTypes.bool,
209
+ /**
210
+ * Name attribute of the `input` element.
211
+ */
212
+ name: PropTypes.string,
213
+ /**
214
+ * Callback fired when the value is changed.
215
+ *
216
+ * @param {object} event The event source of the callback
217
+ */
218
+ onChange: PropTypes.func,
219
+ /**
220
+ * The short hint displayed in the input before the user enters a value.
221
+ */
222
+ placeholder: PropTypes.string,
223
+ /**
224
+ * If `true`, the label is displayed as required.
225
+ */
226
+ required: PropTypes.bool,
227
+ /**
228
+ * Number of rows to display when multiline option is set to true.
229
+ */
230
+ rows: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
231
+ /**
232
+ * Maximum number of rows to display when multiline option is set to true.
233
+ */
234
+ rowsMax: PropTypes.oneOfType([PropTypes.string, PropTypes.number]),
235
+ /**
236
+ * Render a `Select` element while passing the `Input` element to `Select` as `input` parameter.
237
+ * If this option is set you must pass the options of the select as children.
238
+ */
239
+ select: PropTypes.bool,
240
+ /**
241
+ * Properties applied to the `Select` element.
242
+ */
243
+ SelectProps: PropTypes.object,
244
+ /**
245
+ * Type attribute of the `Input` element. It should be a valid HTML5 input type.
246
+ */
247
+ type: PropTypes.string,
248
+ /**
249
+ * The value of the `Input` element, required for a controlled component.
250
+ */
251
+ value: PropTypes.oneOfType([PropTypes.string, PropTypes.number, PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.string, PropTypes.number]))])
252
+ } : {};
253
+
254
+ TextField.defaultProps = {
255
+ required: false,
256
+ select: false
257
+ };
258
+
259
+ export default TextField;
@@ -0,0 +1 @@
1
+ export { default } from './TextField';