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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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';