@hipay/hipay-material-ui 1.0.0-beta.9 → 2.0.0-beta.35

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 (1059) hide show
  1. package/CHANGELOG.md +1922 -21
  2. package/HiAlertModal/HiAlertModal.js +185 -210
  3. package/HiAlertModal/index.js +6 -7
  4. package/HiAppBar/HiAppBar.js +199 -0
  5. package/HiAppBar/index.js +15 -0
  6. package/HiBadge/HiBadge.js +119 -95
  7. package/HiBadge/index.js +6 -7
  8. package/HiBreadcrumb/HiBreadcrumb.js +90 -115
  9. package/HiBreadcrumb/HiStep.js +155 -98
  10. package/HiBreadcrumb/HiStepConnector.js +170 -109
  11. package/HiBreadcrumb/HiStepContent.js +108 -0
  12. package/HiBreadcrumb/HiStepIcon.js +166 -123
  13. package/HiBreadcrumb/HiStepLabel.js +209 -172
  14. package/HiBreadcrumb/HiStepper.js +76 -104
  15. package/HiBreadcrumb/index.js +6 -7
  16. package/HiButton/HiButton.js +192 -136
  17. package/HiButton/index.js +6 -7
  18. package/HiCheckbox/HiCheckbox.js +190 -147
  19. package/HiCheckbox/index.js +6 -7
  20. package/HiChip/HiChip.js +254 -174
  21. package/HiChip/HiChipSwitch.js +279 -289
  22. package/HiChip/index.js +10 -12
  23. package/HiColoredLabel/HiColoredLabel.js +179 -100
  24. package/HiColoredLabel/index.js +6 -7
  25. package/HiDatePicker/Caption.js +77 -82
  26. package/HiDatePicker/Caption.spec.js +88 -0
  27. package/HiDatePicker/HiDatePicker.js +369 -373
  28. package/HiDatePicker/ListPicker.js +137 -148
  29. package/HiDatePicker/ListPicker.spec.js +68 -0
  30. package/HiDatePicker/NavBar.js +146 -0
  31. package/HiDatePicker/NavBar.spec.js +56 -0
  32. package/HiDatePicker/Overlays/CustomOverlayLayout.js +113 -132
  33. package/HiDatePicker/Overlays/MonthPickerOverlay.js +95 -115
  34. package/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +74 -0
  35. package/HiDatePicker/Overlays/Overlay.js +102 -94
  36. package/HiDatePicker/Overlays/Overlay.spec.js +38 -0
  37. package/HiDatePicker/Overlays/TimePickerOverlay.js +242 -281
  38. package/HiDatePicker/Overlays/TimePickerOverlay.spec.js +71 -0
  39. package/HiDatePicker/Overlays/YearPickerOverlay.js +124 -144
  40. package/HiDatePicker/Overlays/YearPickerOverlay.spec.js +127 -0
  41. package/HiDatePicker/Overlays/index.js +22 -27
  42. package/HiDatePicker/Weekday.js +20 -23
  43. package/HiDatePicker/stylesheet.js +198 -181
  44. package/HiExpansionPanel/HiExpansionPanel.js +153 -204
  45. package/HiExpansionPanel/index.js +6 -7
  46. package/HiForm/HiEmailField.js +90 -102
  47. package/HiForm/HiFormControl.js +319 -341
  48. package/HiForm/HiFormLabel.js +129 -152
  49. package/HiForm/HiInput.js +519 -481
  50. package/HiForm/HiPasswordField.js +93 -103
  51. package/HiForm/HiSearchField.js +158 -163
  52. package/HiForm/HiTextField.js +143 -134
  53. package/HiForm/index.js +28 -44
  54. package/HiIcon/HiIcon.js +194 -0
  55. package/HiIcon/index.js +15 -0
  56. package/HiIconButton/HiIconButton.js +120 -0
  57. package/HiIconButton/index.js +15 -0
  58. package/HiLoader/HiLoader.js +53 -39
  59. package/HiLoader/index.js +6 -7
  60. package/HiPin/HiPin.js +117 -0
  61. package/HiPin/index.js +15 -0
  62. package/HiSelect/HiSelect.js +901 -744
  63. package/HiSelect/HiSelectField.js +88 -104
  64. package/HiSelect/HiSuggestSelect.js +288 -242
  65. package/HiSelect/HiSuggestSelectField.js +76 -92
  66. package/HiSelect/SelectInput.js +293 -298
  67. package/HiSelect/index.js +34 -28
  68. package/HiSelectNew/HiDynamicSelect.js +238 -0
  69. package/HiSelectNew/HiNestedSelect.js +453 -0
  70. package/HiSelectNew/HiSelect.js +698 -0
  71. package/HiSelectNew/HiSelectField.js +146 -0
  72. package/HiSelectNew/HiSelectInput.js +349 -0
  73. package/HiSelectNew/index.js +39 -0
  74. package/HiSelectableList/HiSelectableList.js +188 -228
  75. package/HiSelectableList/HiSelectableListHierarchic.js +233 -0
  76. package/HiSelectableList/HiSelectableListItem.js +430 -520
  77. package/HiSelectableList/index.js +18 -12
  78. package/HiSwitch/HiSwitch.js +228 -200
  79. package/HiSwitch/HiSwitchState.js +206 -216
  80. package/HiSwitch/index.js +9 -17
  81. package/README.md +100 -185
  82. package/es/HiAlertModal/HiAlertModal.js +158 -173
  83. package/es/HiAppBar/HiAppBar.js +151 -0
  84. package/es/HiAppBar/index.js +1 -0
  85. package/es/HiBadge/HiBadge.js +106 -64
  86. package/es/HiBreadcrumb/HiBreadcrumb.js +58 -59
  87. package/es/HiBreadcrumb/HiStep.js +112 -80
  88. package/es/HiBreadcrumb/HiStepConnector.js +141 -67
  89. package/es/HiBreadcrumb/HiStepContent.js +66 -0
  90. package/es/HiBreadcrumb/HiStepIcon.js +134 -64
  91. package/es/HiBreadcrumb/HiStepLabel.js +173 -138
  92. package/es/HiBreadcrumb/HiStepper.js +41 -49
  93. package/es/HiButton/HiButton.js +187 -114
  94. package/es/HiCheckbox/HiCheckbox.js +157 -84
  95. package/es/HiChip/HiChip.js +231 -132
  96. package/es/HiChip/HiChipSwitch.js +239 -226
  97. package/es/HiColoredLabel/HiColoredLabel.js +158 -67
  98. package/es/HiDatePicker/Caption.js +59 -57
  99. package/es/HiDatePicker/Caption.spec.js +68 -0
  100. package/es/HiDatePicker/HiDatePicker.js +307 -276
  101. package/es/HiDatePicker/ListPicker.js +93 -92
  102. package/es/HiDatePicker/ListPicker.spec.js +51 -0
  103. package/es/HiDatePicker/NavBar.js +117 -0
  104. package/es/HiDatePicker/NavBar.spec.js +40 -0
  105. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +90 -100
  106. package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +66 -65
  107. package/es/HiDatePicker/Overlays/MonthPickerOverlay.spec.js +53 -0
  108. package/es/HiDatePicker/Overlays/Overlay.js +84 -64
  109. package/es/HiDatePicker/Overlays/Overlay.spec.js +27 -0
  110. package/es/HiDatePicker/Overlays/TimePickerOverlay.js +178 -192
  111. package/es/HiDatePicker/Overlays/TimePickerOverlay.spec.js +53 -0
  112. package/es/HiDatePicker/Overlays/YearPickerOverlay.js +92 -89
  113. package/es/HiDatePicker/Overlays/YearPickerOverlay.spec.js +92 -0
  114. package/es/HiDatePicker/Overlays/index.js +1 -0
  115. package/es/HiDatePicker/Weekday.js +14 -9
  116. package/es/HiDatePicker/stylesheet.js +188 -172
  117. package/es/HiExpansionPanel/HiExpansionPanel.js +121 -154
  118. package/es/HiForm/HiEmailField.js +58 -51
  119. package/es/HiForm/HiFormControl.js +283 -285
  120. package/es/HiForm/HiFormLabel.js +96 -103
  121. package/es/HiForm/HiInput.js +471 -415
  122. package/es/HiForm/HiPasswordField.js +59 -51
  123. package/es/HiForm/HiSearchField.js +120 -107
  124. package/es/HiForm/HiTextField.js +70 -47
  125. package/es/HiForm/index.js +1 -2
  126. package/es/HiIcon/HiIcon.js +173 -0
  127. package/es/HiIcon/index.js +1 -0
  128. package/es/HiIconButton/HiIconButton.js +100 -0
  129. package/es/HiIconButton/index.js +1 -0
  130. package/es/HiLoader/HiLoader.js +45 -22
  131. package/es/HiPin/HiPin.js +101 -0
  132. package/es/HiPin/index.js +1 -0
  133. package/es/HiSelect/HiSelect.js +857 -659
  134. package/es/HiSelect/HiSelectField.js +39 -36
  135. package/es/HiSelect/HiSuggestSelect.js +247 -181
  136. package/es/HiSelect/HiSuggestSelectField.js +36 -33
  137. package/es/HiSelect/SelectInput.js +260 -254
  138. package/es/HiSelect/index.js +4 -10
  139. package/es/HiSelectNew/HiDynamicSelect.js +203 -0
  140. package/es/HiSelectNew/HiNestedSelect.js +401 -0
  141. package/es/HiSelectNew/HiSelect.js +619 -0
  142. package/es/HiSelectNew/HiSelectField.js +111 -0
  143. package/es/HiSelectNew/HiSelectInput.js +307 -0
  144. package/es/HiSelectNew/index.js +4 -0
  145. package/es/HiSelectableList/HiSelectableList.js +144 -184
  146. package/es/HiSelectableList/HiSelectableListHierarchic.js +175 -0
  147. package/es/HiSelectableList/HiSelectableListItem.js +392 -444
  148. package/es/HiSelectableList/index.js +2 -1
  149. package/es/HiSwitch/HiSwitch.js +199 -124
  150. package/es/HiSwitch/HiSwitchState.js +182 -151
  151. package/es/HiSwitch/index.js +0 -1
  152. package/es/hi-svg-icons/HiAccount.js +38 -0
  153. package/es/hi-svg-icons/HiAll.js +43 -0
  154. package/es/hi-svg-icons/HiBilling.js +38 -0
  155. package/es/hi-svg-icons/HiBriefcaseRescue.js +14 -0
  156. package/es/hi-svg-icons/HiCatalog.js +38 -0
  157. package/es/hi-svg-icons/HiCustomer.js +38 -0
  158. package/es/hi-svg-icons/HiFinance.js +38 -0
  159. package/es/hi-svg-icons/HiRoute.js +38 -0
  160. package/es/hi-svg-icons/HiSettlement.js +38 -0
  161. package/es/hi-svg-icons/HiSizeLarge.js +25 -0
  162. package/es/hi-svg-icons/HiSizeMedium.js +25 -0
  163. package/es/hi-svg-icons/HiSizeSmall.js +25 -0
  164. package/es/hi-svg-icons/HiTransaction.js +38 -0
  165. package/es/hi-svg-icons/HiUser.js +38 -0
  166. package/es/hi-svg-icons/HiWidget.js +43 -0
  167. package/es/{svg-icons → hi-svg-icons}/index.js +4 -0
  168. package/es/hi-svg-icons/index.text.js +41 -0
  169. package/es/index.js +16 -63
  170. package/es/styles/MuiThemeProvider.js +36 -26
  171. package/es/styles/colorManipulator.js +71 -43
  172. package/es/styles/createBreakpoints.js +5 -6
  173. package/es/styles/createGenerateClassName.js +29 -27
  174. package/es/styles/createMixins.js +4 -4
  175. package/es/styles/createMuiTheme.js +26 -17
  176. package/es/styles/createPalette.js +111 -30
  177. package/es/styles/createStyles.js +3 -0
  178. package/es/styles/createTypography.js +91 -33
  179. package/es/styles/getStylesCreator.js +14 -7
  180. package/es/styles/getThemeProps.js +14 -0
  181. package/es/styles/index.js +2 -2
  182. package/es/styles/jssPreset.js +2 -3
  183. package/es/styles/mergeClasses.js +29 -0
  184. package/es/styles/shadows.js +0 -1
  185. package/es/styles/shape.js +4 -0
  186. package/es/styles/spacing.js +4 -3
  187. package/es/styles/themeListener.js +2 -5
  188. package/es/styles/transitions.js +15 -19
  189. package/es/styles/withStyles.js +115 -98
  190. package/es/styles/withTheme.js +29 -10
  191. package/es/styles/zIndex.js +0 -1
  192. package/es/test-utils/createMount.js +9 -10
  193. package/es/test-utils/createRender.js +8 -8
  194. package/es/test-utils/createShallow.js +23 -23
  195. package/es/test-utils/getClasses.js +4 -8
  196. package/es/test-utils/until.js +14 -10
  197. package/es/test-utils/unwrap.js +0 -2
  198. package/es/transitions/utils.js +4 -3
  199. package/es/utils/exactProp.js +17 -10
  200. package/es/utils/helpers.js +102 -40
  201. package/es/utils/ownerDocument.js +5 -0
  202. package/es/utils/ownerWindow.js +8 -0
  203. package/es/utils/reactHelpers.js +10 -12
  204. package/es/utils/requirePropFactory.js +7 -3
  205. package/es/utils/unsupportedProp.js +16 -0
  206. package/es/withMobileDialog/index.js +1 -0
  207. package/es/{Dialog → withMobileDialog}/withMobileDialog.js +9 -6
  208. package/es/withWidth/index.js +2 -0
  209. package/es/withWidth/withWidth.js +176 -0
  210. package/hi-svg-icons/HiAccount.js +52 -0
  211. package/hi-svg-icons/HiAll.js +57 -0
  212. package/hi-svg-icons/HiBilling.js +52 -0
  213. package/hi-svg-icons/HiBriefcaseRescue.js +27 -0
  214. package/hi-svg-icons/HiCatalog.js +52 -0
  215. package/hi-svg-icons/HiCustomer.js +52 -0
  216. package/hi-svg-icons/HiFinance.js +52 -0
  217. package/hi-svg-icons/HiRoute.js +52 -0
  218. package/hi-svg-icons/HiSettlement.js +52 -0
  219. package/hi-svg-icons/HiSizeLarge.js +36 -0
  220. package/hi-svg-icons/HiSizeMedium.js +36 -0
  221. package/hi-svg-icons/HiSizeSmall.js +36 -0
  222. package/hi-svg-icons/HiTransaction.js +52 -0
  223. package/hi-svg-icons/HiUser.js +52 -0
  224. package/hi-svg-icons/HiWidget.js +57 -0
  225. package/hi-svg-icons/index.js +127 -0
  226. package/hi-svg-icons/index.text.js +51 -0
  227. package/index.es.js +17 -64
  228. package/index.js +64 -733
  229. package/package.json +36 -42
  230. package/styles/MuiThemeProvider.js +78 -93
  231. package/styles/colorManipulator.js +88 -57
  232. package/styles/createBreakpoints.js +18 -23
  233. package/styles/createGenerateClassName.js +36 -38
  234. package/styles/createMixins.js +11 -17
  235. package/styles/createMuiTheme.js +51 -65
  236. package/styles/createPalette.js +146 -76
  237. package/styles/createStyles.js +10 -0
  238. package/styles/createTypography.js +103 -56
  239. package/styles/getStylesCreator.js +22 -23
  240. package/styles/getThemeProps.js +20 -0
  241. package/styles/index.js +30 -37
  242. package/styles/jssPreset.js +13 -23
  243. package/styles/mergeClasses.js +41 -0
  244. package/styles/shadows.js +5 -4
  245. package/styles/shape.js +11 -0
  246. package/styles/spacing.js +6 -3
  247. package/styles/themeListener.js +11 -15
  248. package/styles/transitions.js +41 -47
  249. package/styles/withStyles.js +162 -200
  250. package/styles/withTheme.js +58 -59
  251. package/styles/zIndex.js +3 -2
  252. package/test-utils/createMount.js +12 -21
  253. package/test-utils/createRender.js +10 -17
  254. package/test-utils/createShallow.js +36 -48
  255. package/test-utils/getClasses.js +15 -26
  256. package/test-utils/index.js +22 -27
  257. package/test-utils/until.js +14 -19
  258. package/test-utils/unwrap.js +0 -1
  259. package/transitions/utils.js +7 -5
  260. package/umd/hipay-material-ui.development.js +75488 -100515
  261. package/umd/hipay-material-ui.production.min.js +5 -20
  262. package/utils/exactProp.js +28 -25
  263. package/utils/helpers.js +125 -55
  264. package/utils/ownerDocument.js +13 -0
  265. package/utils/ownerWindow.js +19 -0
  266. package/utils/reactHelpers.js +17 -8
  267. package/utils/requirePropFactory.js +15 -6
  268. package/utils/unsupportedProp.js +24 -0
  269. package/withMobileDialog/index.js +15 -0
  270. package/withMobileDialog/withMobileDialog.js +45 -0
  271. package/withWidth/index.js +27 -0
  272. package/withWidth/withWidth.js +229 -0
  273. package/AppBar/AppBar.js +0 -144
  274. package/AppBar/index.js +0 -16
  275. package/Avatar/Avatar.js +0 -165
  276. package/Avatar/index.js +0 -16
  277. package/Badge/Badge.js +0 -142
  278. package/Badge/index.js +0 -16
  279. package/BottomNavigation/BottomNavigation.js +0 -113
  280. package/BottomNavigation/BottomNavigationAction.js +0 -219
  281. package/BottomNavigation/index.js +0 -25
  282. package/Button/Button.js +0 -298
  283. package/Button/index.js +0 -16
  284. package/ButtonBase/ButtonBase.js +0 -446
  285. package/ButtonBase/Ripple.js +0 -162
  286. package/ButtonBase/TouchRipple.js +0 -359
  287. package/ButtonBase/createRippleHandler.js +0 -28
  288. package/ButtonBase/index.js +0 -16
  289. package/Card/Card.js +0 -48
  290. package/Card/CardActions.js +0 -94
  291. package/Card/CardContent.js +0 -76
  292. package/Card/CardHeader.js +0 -150
  293. package/Card/CardMedia.js +0 -113
  294. package/Card/index.js +0 -52
  295. package/Checkbox/Checkbox.js +0 -160
  296. package/Checkbox/index.js +0 -16
  297. package/Chip/Chip.js +0 -322
  298. package/Chip/index.js +0 -16
  299. package/Dialog/Dialog.js +0 -271
  300. package/Dialog/DialogActions.js +0 -94
  301. package/Dialog/DialogContent.js +0 -77
  302. package/Dialog/DialogContentText.js +0 -72
  303. package/Dialog/DialogTitle.js +0 -91
  304. package/Dialog/index.js +0 -61
  305. package/Dialog/withMobileDialog.js +0 -49
  306. package/Divider/Divider.js +0 -113
  307. package/Divider/index.js +0 -16
  308. package/Drawer/Drawer.js +0 -325
  309. package/Drawer/index.js +0 -16
  310. package/ExpansionPanel/ExpansionPanel.js +0 -257
  311. package/ExpansionPanel/ExpansionPanelActions.js +0 -79
  312. package/ExpansionPanel/ExpansionPanelDetails.js +0 -73
  313. package/ExpansionPanel/ExpansionPanelSummary.js +0 -250
  314. package/ExpansionPanel/index.js +0 -43
  315. package/Form/FormControl.js +0 -291
  316. package/Form/FormControlLabel.js +0 -168
  317. package/Form/FormGroup.js +0 -94
  318. package/Form/FormHelperText.js +0 -139
  319. package/Form/FormLabel.js +0 -158
  320. package/Form/index.js +0 -52
  321. package/Grid/Grid.js +0 -372
  322. package/Grid/index.js +0 -16
  323. package/GridList/GridList.js +0 -122
  324. package/GridList/GridListTile.js +0 -239
  325. package/GridList/GridListTileBar.js +0 -176
  326. package/GridList/index.js +0 -34
  327. package/HI-CHANGELOG.md +0 -42
  328. package/HiDatePicker/HiDateRangePicker.js +0 -715
  329. package/HiDatePicker/HiDateRangeSelector.js +0 -422
  330. package/HiDatePicker/HiWeekPicker.js +0 -389
  331. package/HiDatePicker/Navbar.js +0 -169
  332. package/HiDatePicker/index.js +0 -33
  333. package/HiDotsStepper/HiDot.js +0 -151
  334. package/HiDotsStepper/HiDotsStepper.js +0 -146
  335. package/HiDotsStepper/index.js +0 -16
  336. package/HiForm/HiAddressField.js +0 -204
  337. package/HiPdfReader/HiPdfReader.js +0 -282
  338. package/HiPdfReader/index.js +0 -16
  339. package/HiPins/HiPins.js +0 -98
  340. package/HiPins/index.js +0 -16
  341. package/HiRadio/HiRadio.js +0 -99
  342. package/HiRadio/index.js +0 -16
  343. package/HiTable/BodyCellBuilder.js +0 -397
  344. package/HiTable/BodyCells/CellAccount.js +0 -100
  345. package/HiTable/BodyCells/CellAccountNumber.js +0 -220
  346. package/HiTable/BodyCells/CellAddress.js +0 -199
  347. package/HiTable/BodyCells/CellCountry.js +0 -172
  348. package/HiTable/BodyCells/CellDate.js +0 -177
  349. package/HiTable/BodyCells/CellIcon.js +0 -148
  350. package/HiTable/BodyCells/CellImage.js +0 -177
  351. package/HiTable/BodyCells/CellLayout.js +0 -287
  352. package/HiTable/BodyCells/CellNumeric.js +0 -135
  353. package/HiTable/BodyCells/CellRate.js +0 -197
  354. package/HiTable/BodyCells/CellSentinel.js +0 -221
  355. package/HiTable/BodyCells/CellStatus.js +0 -140
  356. package/HiTable/BodyCells/CellText.js +0 -268
  357. package/HiTable/BodyCells/CellThirdPartySecurity.js +0 -144
  358. package/HiTable/BodyCells/index.js +0 -133
  359. package/HiTable/BodyRow.js +0 -394
  360. package/HiTable/ChildRow.js +0 -432
  361. package/HiTable/ColumnFilter.js +0 -494
  362. package/HiTable/HeaderCell.js +0 -466
  363. package/HiTable/HiStickyRow.js +0 -300
  364. package/HiTable/HiTable.js +0 -1028
  365. package/HiTable/HiTableBody.js +0 -571
  366. package/HiTable/HiTableContextMenu.js +0 -214
  367. package/HiTable/HiTableFooterScroll.js +0 -202
  368. package/HiTable/HiTableHead.js +0 -506
  369. package/HiTable/OrderColumns.js +0 -561
  370. package/HiTable/constants.js +0 -105
  371. package/HiTable/index.js +0 -25
  372. package/HiTopBar/HiTopBar.js +0 -553
  373. package/HiTopBar/index.js +0 -16
  374. package/Hidden/Hidden.js +0 -130
  375. package/Hidden/HiddenCss.js +0 -175
  376. package/Hidden/HiddenJs.js +0 -149
  377. package/Hidden/index.js +0 -16
  378. package/Icon/Icon.js +0 -109
  379. package/Icon/index.js +0 -16
  380. package/IconButton/IconButton.js +0 -146
  381. package/IconButton/index.js +0 -16
  382. package/Input/Input.js +0 -682
  383. package/Input/InputAdornment.js +0 -116
  384. package/Input/InputLabel.js +0 -163
  385. package/Input/Textarea.js +0 -301
  386. package/Input/index.js +0 -34
  387. package/List/List.js +0 -167
  388. package/List/ListItem.js +0 -279
  389. package/List/ListItemAvatar.js +0 -100
  390. package/List/ListItemIcon.js +0 -77
  391. package/List/ListItemSecondaryAction.js +0 -76
  392. package/List/ListItemText.js +0 -145
  393. package/List/ListSubheader.js +0 -127
  394. package/List/index.js +0 -70
  395. package/Menu/Menu.js +0 -274
  396. package/Menu/MenuItem.js +0 -113
  397. package/Menu/MenuList.js +0 -253
  398. package/Menu/index.js +0 -34
  399. package/MobileStepper/MobileStepper.js +0 -173
  400. package/MobileStepper/index.js +0 -16
  401. package/Modal/Backdrop.js +0 -102
  402. package/Modal/Modal.js +0 -502
  403. package/Modal/ModalManager.js +0 -210
  404. package/Modal/index.js +0 -34
  405. package/Modal/isOverflowing.js +0 -43
  406. package/Modal/manageAriaHidden.js +0 -45
  407. package/Paper/Paper.js +0 -111
  408. package/Paper/index.js +0 -16
  409. package/Popover/Popover.js +0 -564
  410. package/Popover/index.js +0 -16
  411. package/Portal/LegacyPortal.js +0 -158
  412. package/Portal/Portal.js +0 -144
  413. package/Portal/index.js +0 -21
  414. package/Progress/CircularProgress.js +0 -228
  415. package/Progress/LinearProgress.js +0 -258
  416. package/Progress/index.js +0 -25
  417. package/Radio/Radio.js +0 -155
  418. package/Radio/RadioGroup.js +0 -168
  419. package/Radio/index.js +0 -25
  420. package/Reboot/Reboot.js +0 -106
  421. package/Reboot/index.js +0 -16
  422. package/Select/Select.js +0 -229
  423. package/Select/SelectInput.js +0 -502
  424. package/Select/index.js +0 -16
  425. package/Snackbar/Snackbar.js +0 -451
  426. package/Snackbar/SnackbarContent.js +0 -135
  427. package/Snackbar/index.js +0 -25
  428. package/Stepper/Step.js +0 -151
  429. package/Stepper/StepButton.js +0 -143
  430. package/Stepper/StepConnector.js +0 -118
  431. package/Stepper/StepContent.js +0 -153
  432. package/Stepper/StepIcon.js +0 -86
  433. package/Stepper/StepLabel.js +0 -200
  434. package/Stepper/StepPositionIcon.js +0 -95
  435. package/Stepper/Stepper.js +0 -161
  436. package/Stepper/index.js +0 -61
  437. package/SvgIcon/SvgIcon.js +0 -147
  438. package/SvgIcon/index.js +0 -16
  439. package/Switch/Switch.js +0 -215
  440. package/Switch/index.js +0 -16
  441. package/Table/Table.js +0 -127
  442. package/Table/TableBody.js +0 -121
  443. package/Table/TableCell.js +0 -181
  444. package/Table/TableFooter.js +0 -93
  445. package/Table/TableHead.js +0 -121
  446. package/Table/TablePagination.js +0 -310
  447. package/Table/TablePaginationActions.js +0 -183
  448. package/Table/TableRow.js +0 -127
  449. package/Table/TableSortLabel.js +0 -145
  450. package/Table/index.js +0 -79
  451. package/Tabs/Tab.js +0 -340
  452. package/Tabs/TabIndicator.js +0 -95
  453. package/Tabs/TabScrollButton.js +0 -112
  454. package/Tabs/Tabs.js +0 -530
  455. package/Tabs/index.js +0 -25
  456. package/TextField/TextField.js +0 -290
  457. package/TextField/index.js +0 -16
  458. package/Toolbar/Toolbar.js +0 -89
  459. package/Toolbar/index.js +0 -16
  460. package/Tooltip/Tooltip.js +0 -514
  461. package/Tooltip/index.js +0 -16
  462. package/Typography/Typography.js +0 -192
  463. package/Typography/index.js +0 -16
  464. package/colors/amber.js +0 -23
  465. package/colors/blue.js +0 -23
  466. package/colors/blueGrey.js +0 -23
  467. package/colors/brown.js +0 -23
  468. package/colors/common.js +0 -11
  469. package/colors/cyan.js +0 -23
  470. package/colors/deepOrange.js +0 -23
  471. package/colors/deepPurple.js +0 -23
  472. package/colors/green.js +0 -23
  473. package/colors/grey.js +0 -23
  474. package/colors/index.js +0 -187
  475. package/colors/indigo.js +0 -23
  476. package/colors/lightBlue.js +0 -23
  477. package/colors/lightGreen.js +0 -23
  478. package/colors/lime.js +0 -23
  479. package/colors/orange.js +0 -23
  480. package/colors/pink.js +0 -23
  481. package/colors/purple.js +0 -23
  482. package/colors/red.js +0 -23
  483. package/colors/teal.js +0 -23
  484. package/colors/yellow.js +0 -23
  485. package/es/AppBar/AppBar.js +0 -106
  486. package/es/AppBar/index.js +0 -1
  487. package/es/Avatar/Avatar.js +0 -136
  488. package/es/Avatar/index.js +0 -1
  489. package/es/Badge/Badge.js +0 -112
  490. package/es/Badge/index.js +0 -1
  491. package/es/BottomNavigation/BottomNavigation.js +0 -86
  492. package/es/BottomNavigation/BottomNavigationAction.js +0 -153
  493. package/es/BottomNavigation/index.js +0 -2
  494. package/es/Button/Button.js +0 -274
  495. package/es/Button/index.js +0 -1
  496. package/es/ButtonBase/ButtonBase.js +0 -358
  497. package/es/ButtonBase/Ripple.js +0 -102
  498. package/es/ButtonBase/TouchRipple.js +0 -268
  499. package/es/ButtonBase/createRippleHandler.js +0 -23
  500. package/es/ButtonBase/index.js +0 -1
  501. package/es/Card/Card.js +0 -27
  502. package/es/Card/CardActions.js +0 -58
  503. package/es/Card/CardContent.js +0 -45
  504. package/es/Card/CardHeader.js +0 -120
  505. package/es/Card/CardMedia.js +0 -76
  506. package/es/Card/index.js +0 -5
  507. package/es/Checkbox/Checkbox.js +0 -117
  508. package/es/Checkbox/index.js +0 -1
  509. package/es/Chip/Chip.js +0 -241
  510. package/es/Chip/index.js +0 -1
  511. package/es/Dialog/Dialog.js +0 -231
  512. package/es/Dialog/DialogActions.js +0 -58
  513. package/es/Dialog/DialogContent.js +0 -48
  514. package/es/Dialog/DialogContentText.js +0 -41
  515. package/es/Dialog/DialogTitle.js +0 -57
  516. package/es/Dialog/index.js +0 -6
  517. package/es/Divider/Divider.js +0 -83
  518. package/es/Divider/index.js +0 -1
  519. package/es/Drawer/Drawer.js +0 -252
  520. package/es/Drawer/index.js +0 -1
  521. package/es/ExpansionPanel/ExpansionPanel.js +0 -194
  522. package/es/ExpansionPanel/ExpansionPanelActions.js +0 -47
  523. package/es/ExpansionPanel/ExpansionPanelDetails.js +0 -42
  524. package/es/ExpansionPanel/ExpansionPanelSummary.js +0 -182
  525. package/es/ExpansionPanel/index.js +0 -4
  526. package/es/Form/FormControl.js +0 -214
  527. package/es/Form/FormControlLabel.js +0 -137
  528. package/es/Form/FormGroup.js +0 -62
  529. package/es/Form/FormHelperText.js +0 -110
  530. package/es/Form/FormLabel.js +0 -132
  531. package/es/Form/index.js +0 -5
  532. package/es/Grid/Grid.js +0 -353
  533. package/es/Grid/index.js +0 -1
  534. package/es/GridList/GridList.js +0 -97
  535. package/es/GridList/GridListTile.js +0 -153
  536. package/es/GridList/GridListTileBar.js +0 -152
  537. package/es/GridList/index.js +0 -3
  538. package/es/HiDatePicker/HiDateRangePicker.js +0 -567
  539. package/es/HiDatePicker/HiDateRangeSelector.js +0 -345
  540. package/es/HiDatePicker/HiWeekPicker.js +0 -296
  541. package/es/HiDatePicker/Navbar.js +0 -130
  542. package/es/HiDatePicker/index.js +0 -7
  543. package/es/HiDotsStepper/HiDot.js +0 -92
  544. package/es/HiDotsStepper/HiDotsStepper.js +0 -83
  545. package/es/HiDotsStepper/index.js +0 -1
  546. package/es/HiForm/HiAddressField.js +0 -142
  547. package/es/HiPdfReader/HiPdfReader.js +0 -198
  548. package/es/HiPdfReader/index.js +0 -1
  549. package/es/HiPins/HiPins.js +0 -65
  550. package/es/HiPins/index.js +0 -1
  551. package/es/HiRadio/HiRadio.js +0 -41
  552. package/es/HiRadio/index.js +0 -1
  553. package/es/HiTable/BodyCellBuilder.js +0 -344
  554. package/es/HiTable/BodyCells/CellAccount.js +0 -40
  555. package/es/HiTable/BodyCells/CellAccountNumber.js +0 -166
  556. package/es/HiTable/BodyCells/CellAddress.js +0 -129
  557. package/es/HiTable/BodyCells/CellCountry.js +0 -107
  558. package/es/HiTable/BodyCells/CellDate.js +0 -111
  559. package/es/HiTable/BodyCells/CellIcon.js +0 -83
  560. package/es/HiTable/BodyCells/CellImage.js +0 -115
  561. package/es/HiTable/BodyCells/CellLayout.js +0 -204
  562. package/es/HiTable/BodyCells/CellNumeric.js +0 -71
  563. package/es/HiTable/BodyCells/CellRate.js +0 -131
  564. package/es/HiTable/BodyCells/CellSentinel.js +0 -161
  565. package/es/HiTable/BodyCells/CellStatus.js +0 -77
  566. package/es/HiTable/BodyCells/CellText.js +0 -189
  567. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +0 -89
  568. package/es/HiTable/BodyCells/index.js +0 -16
  569. package/es/HiTable/BodyRow.js +0 -320
  570. package/es/HiTable/ChildRow.js +0 -345
  571. package/es/HiTable/ColumnFilter.js +0 -398
  572. package/es/HiTable/HeaderCell.js +0 -379
  573. package/es/HiTable/HiStickyRow.js +0 -217
  574. package/es/HiTable/HiTable.js +0 -892
  575. package/es/HiTable/HiTableBody.js +0 -477
  576. package/es/HiTable/HiTableContextMenu.js +0 -150
  577. package/es/HiTable/HiTableFooterScroll.js +0 -144
  578. package/es/HiTable/HiTableHead.js +0 -415
  579. package/es/HiTable/OrderColumns.js +0 -441
  580. package/es/HiTable/constants.js +0 -180
  581. package/es/HiTable/index.js +0 -2
  582. package/es/HiTopBar/HiTopBar.js +0 -458
  583. package/es/HiTopBar/index.js +0 -1
  584. package/es/Hidden/Hidden.js +0 -107
  585. package/es/Hidden/HiddenCss.js +0 -151
  586. package/es/Hidden/HiddenJs.js +0 -129
  587. package/es/Hidden/index.js +0 -1
  588. package/es/Icon/Icon.js +0 -74
  589. package/es/Icon/index.js +0 -1
  590. package/es/IconButton/IconButton.js +0 -106
  591. package/es/IconButton/index.js +0 -1
  592. package/es/Input/Input.js +0 -616
  593. package/es/Input/InputAdornment.js +0 -83
  594. package/es/Input/InputLabel.js +0 -138
  595. package/es/Input/Textarea.js +0 -234
  596. package/es/Input/index.js +0 -3
  597. package/es/List/List.js +0 -106
  598. package/es/List/ListItem.js +0 -212
  599. package/es/List/ListItemAvatar.js +0 -63
  600. package/es/List/ListItemIcon.js +0 -46
  601. package/es/List/ListItemSecondaryAction.js +0 -45
  602. package/es/List/ListItemText.js +0 -114
  603. package/es/List/ListSubheader.js +0 -90
  604. package/es/List/index.js +0 -7
  605. package/es/Menu/Menu.js +0 -205
  606. package/es/Menu/MenuItem.js +0 -75
  607. package/es/Menu/MenuList.js +0 -168
  608. package/es/Menu/index.js +0 -3
  609. package/es/MobileStepper/MobileStepper.js +0 -137
  610. package/es/MobileStepper/index.js +0 -1
  611. package/es/Modal/Backdrop.js +0 -67
  612. package/es/Modal/Modal.js +0 -398
  613. package/es/Modal/ModalManager.js +0 -162
  614. package/es/Modal/index.js +0 -3
  615. package/es/Modal/isOverflowing.js +0 -25
  616. package/es/Modal/manageAriaHidden.js +0 -33
  617. package/es/Paper/Paper.js +0 -81
  618. package/es/Paper/index.js +0 -1
  619. package/es/Popover/Popover.js +0 -455
  620. package/es/Popover/index.js +0 -1
  621. package/es/Portal/LegacyPortal.js +0 -97
  622. package/es/Portal/Portal.js +0 -82
  623. package/es/Portal/index.js +0 -5
  624. package/es/Progress/CircularProgress.js +0 -201
  625. package/es/Progress/LinearProgress.js +0 -235
  626. package/es/Progress/index.js +0 -2
  627. package/es/Radio/Radio.js +0 -113
  628. package/es/Radio/RadioGroup.js +0 -101
  629. package/es/Radio/index.js +0 -2
  630. package/es/Reboot/Reboot.js +0 -55
  631. package/es/Reboot/index.js +0 -1
  632. package/es/Select/Select.js +0 -199
  633. package/es/Select/SelectInput.js +0 -414
  634. package/es/Select/index.js +0 -1
  635. package/es/Snackbar/Snackbar.js +0 -370
  636. package/es/Snackbar/SnackbarContent.js +0 -96
  637. package/es/Snackbar/index.js +0 -2
  638. package/es/Stepper/Step.js +0 -120
  639. package/es/Stepper/StepButton.js +0 -111
  640. package/es/Stepper/StepConnector.js +0 -85
  641. package/es/Stepper/StepContent.js +0 -116
  642. package/es/Stepper/StepIcon.js +0 -54
  643. package/es/Stepper/StepLabel.js +0 -170
  644. package/es/Stepper/StepPositionIcon.js +0 -64
  645. package/es/Stepper/Stepper.js +0 -126
  646. package/es/Stepper/index.js +0 -6
  647. package/es/SvgIcon/SvgIcon.js +0 -117
  648. package/es/SvgIcon/index.js +0 -1
  649. package/es/Switch/Switch.js +0 -178
  650. package/es/Switch/index.js +0 -1
  651. package/es/Table/Table.js +0 -64
  652. package/es/Table/TableBody.js +0 -61
  653. package/es/Table/TableCell.js +0 -153
  654. package/es/Table/TableFooter.js +0 -44
  655. package/es/Table/TableHead.js +0 -61
  656. package/es/Table/TablePagination.js +0 -224
  657. package/es/Table/TablePaginationActions.js +0 -116
  658. package/es/Table/TableRow.js +0 -99
  659. package/es/Table/TableSortLabel.js +0 -101
  660. package/es/Table/index.js +0 -8
  661. package/es/Tabs/Tab.js +0 -271
  662. package/es/Tabs/TabIndicator.js +0 -63
  663. package/es/Tabs/TabScrollButton.js +0 -70
  664. package/es/Tabs/Tabs.js +0 -425
  665. package/es/Tabs/index.js +0 -2
  666. package/es/TextField/TextField.js +0 -259
  667. package/es/TextField/index.js +0 -1
  668. package/es/Toolbar/Toolbar.js +0 -55
  669. package/es/Toolbar/index.js +0 -1
  670. package/es/Tooltip/Tooltip.js +0 -425
  671. package/es/Tooltip/index.js +0 -1
  672. package/es/Typography/Typography.js +0 -164
  673. package/es/Typography/index.js +0 -1
  674. package/es/colors/amber.js +0 -18
  675. package/es/colors/blue.js +0 -18
  676. package/es/colors/blueGrey.js +0 -18
  677. package/es/colors/brown.js +0 -18
  678. package/es/colors/common.js +0 -6
  679. package/es/colors/cyan.js +0 -18
  680. package/es/colors/deepOrange.js +0 -18
  681. package/es/colors/deepPurple.js +0 -18
  682. package/es/colors/green.js +0 -18
  683. package/es/colors/grey.js +0 -18
  684. package/es/colors/index.js +0 -20
  685. package/es/colors/indigo.js +0 -18
  686. package/es/colors/lightBlue.js +0 -18
  687. package/es/colors/lightGreen.js +0 -18
  688. package/es/colors/lime.js +0 -18
  689. package/es/colors/orange.js +0 -18
  690. package/es/colors/pink.js +0 -18
  691. package/es/colors/purple.js +0 -18
  692. package/es/colors/red.js +0 -18
  693. package/es/colors/teal.js +0 -18
  694. package/es/colors/yellow.js +0 -18
  695. package/es/internal/RefHolder.js +0 -20
  696. package/es/internal/SwitchBase.js +0 -219
  697. package/es/internal/svg-icons/ArrowDownward.js +0 -20
  698. package/es/internal/svg-icons/ArrowDropDown.js +0 -20
  699. package/es/internal/svg-icons/Cancel.js +0 -19
  700. package/es/internal/svg-icons/CheckBox.js +0 -19
  701. package/es/internal/svg-icons/CheckBoxOutlineBlank.js +0 -19
  702. package/es/internal/svg-icons/CheckCircle.js +0 -19
  703. package/es/internal/svg-icons/IndeterminateCheckBox.js +0 -19
  704. package/es/internal/svg-icons/KeyboardArrowLeft.js +0 -19
  705. package/es/internal/svg-icons/KeyboardArrowRight.js +0 -19
  706. package/es/internal/svg-icons/RadioButtonChecked.js +0 -19
  707. package/es/internal/svg-icons/RadioButtonUnchecked.js +0 -19
  708. package/es/styles/createHiMuiTheme.js +0 -307
  709. package/es/svg-icons/ArrowDownward.js +0 -20
  710. package/es/svg-icons/ArrowDropDown.js +0 -20
  711. package/es/svg-icons/Cancel.js +0 -19
  712. package/es/svg-icons/CheckBox.js +0 -19
  713. package/es/svg-icons/CheckBoxOutlineBlank.js +0 -19
  714. package/es/svg-icons/CheckCircle.js +0 -19
  715. package/es/svg-icons/HiAccount.js +0 -33
  716. package/es/svg-icons/HiAll.js +0 -43
  717. package/es/svg-icons/HiBilling.js +0 -33
  718. package/es/svg-icons/HiCatalog.js +0 -33
  719. package/es/svg-icons/HiCustomer.js +0 -39
  720. package/es/svg-icons/HiFinance.js +0 -33
  721. package/es/svg-icons/HiRoute.js +0 -33
  722. package/es/svg-icons/HiSettlement.js +0 -36
  723. package/es/svg-icons/HiSizeLarge.js +0 -19
  724. package/es/svg-icons/HiSizeMedium.js +0 -19
  725. package/es/svg-icons/HiSizeSmall.js +0 -19
  726. package/es/svg-icons/HiTransaction.js +0 -33
  727. package/es/svg-icons/HiUser.js +0 -39
  728. package/es/svg-icons/HiWidget.js +0 -43
  729. package/es/svg-icons/IndeterminateCheckBox.js +0 -19
  730. package/es/svg-icons/KeyboardArrowLeft.js +0 -19
  731. package/es/svg-icons/KeyboardArrowRight.js +0 -19
  732. package/es/svg-icons/RadioButtonChecked.js +0 -19
  733. package/es/svg-icons/RadioButtonUnchecked.js +0 -19
  734. package/es/transitions/Collapse.js +0 -245
  735. package/es/transitions/Fade.js +0 -132
  736. package/es/transitions/Grow.js +0 -173
  737. package/es/transitions/Slide.js +0 -291
  738. package/es/transitions/Zoom.js +0 -129
  739. package/es/transitions/index.js +0 -5
  740. package/es/utils/ClickAwayListener.js +0 -65
  741. package/es/utils/HiIconBuilder.js +0 -107
  742. package/es/utils/addEventListener.js +0 -11
  743. package/es/utils/hiGetMdiIcon.js +0 -12
  744. package/es/utils/hiHelpers.js +0 -173
  745. package/es/utils/keyboardFocus.js +0 -51
  746. package/es/utils/manageAriaHidden.js +0 -33
  747. package/es/utils/withWidth.js +0 -141
  748. package/hmu/images/countries/ad.svg +0 -151
  749. package/hmu/images/countries/ae.svg +0 -6
  750. package/hmu/images/countries/af.svg +0 -83
  751. package/hmu/images/countries/ag.svg +0 -15
  752. package/hmu/images/countries/ai.svg +0 -767
  753. package/hmu/images/countries/al.svg +0 -5
  754. package/hmu/images/countries/am.svg +0 -5
  755. package/hmu/images/countries/ao.svg +0 -13
  756. package/hmu/images/countries/aq.svg +0 -6
  757. package/hmu/images/countries/ar.svg +0 -32
  758. package/hmu/images/countries/as.svg +0 -33
  759. package/hmu/images/countries/at.svg +0 -6
  760. package/hmu/images/countries/au.svg +0 -9
  761. package/hmu/images/countries/aw.svg +0 -186
  762. package/hmu/images/countries/ax.svg +0 -18
  763. package/hmu/images/countries/az.svg +0 -8
  764. package/hmu/images/countries/ba.svg +0 -12
  765. package/hmu/images/countries/bb.svg +0 -6
  766. package/hmu/images/countries/bd.svg +0 -4
  767. package/hmu/images/countries/be.svg +0 -7
  768. package/hmu/images/countries/bf.svg +0 -7
  769. package/hmu/images/countries/bg.svg +0 -7
  770. package/hmu/images/countries/bh.svg +0 -11
  771. package/hmu/images/countries/bi.svg +0 -15
  772. package/hmu/images/countries/bj.svg +0 -14
  773. package/hmu/images/countries/bl.svg +0 -7
  774. package/hmu/images/countries/bm.svg +0 -99
  775. package/hmu/images/countries/bn.svg +0 -36
  776. package/hmu/images/countries/bo.svg +0 -686
  777. package/hmu/images/countries/bq.svg +0 -5
  778. package/hmu/images/countries/br.svg +0 -45
  779. package/hmu/images/countries/bs.svg +0 -13
  780. package/hmu/images/countries/bt.svg +0 -89
  781. package/hmu/images/countries/bv.svg +0 -13
  782. package/hmu/images/countries/bw.svg +0 -7
  783. package/hmu/images/countries/by.svg +0 -61
  784. package/hmu/images/countries/bz.svg +0 -146
  785. package/hmu/images/countries/ca.svg +0 -4
  786. package/hmu/images/countries/cc.svg +0 -19
  787. package/hmu/images/countries/cd.svg +0 -5
  788. package/hmu/images/countries/cf.svg +0 -15
  789. package/hmu/images/countries/cg.svg +0 -12
  790. package/hmu/images/countries/ch.svg +0 -9
  791. package/hmu/images/countries/ci.svg +0 -7
  792. package/hmu/images/countries/ck.svg +0 -9
  793. package/hmu/images/countries/cl.svg +0 -13
  794. package/hmu/images/countries/cm.svg +0 -15
  795. package/hmu/images/countries/cn.svg +0 -11
  796. package/hmu/images/countries/co.svg +0 -7
  797. package/hmu/images/countries/cr.svg +0 -7
  798. package/hmu/images/countries/cu.svg +0 -13
  799. package/hmu/images/countries/cv.svg +0 -13
  800. package/hmu/images/countries/cw.svg +0 -14
  801. package/hmu/images/countries/cx.svg +0 -15
  802. package/hmu/images/countries/cy.svg +0 -6
  803. package/hmu/images/countries/cz.svg +0 -12
  804. package/hmu/images/countries/de.svg +0 -5
  805. package/hmu/images/countries/dj.svg +0 -13
  806. package/hmu/images/countries/dk.svg +0 -5
  807. package/hmu/images/countries/dm.svg +0 -152
  808. package/hmu/images/countries/do.svg +0 -6745
  809. package/hmu/images/countries/dz.svg +0 -5
  810. package/hmu/images/countries/ec.svg +0 -141
  811. package/hmu/images/countries/ee.svg +0 -7
  812. package/hmu/images/countries/eg.svg +0 -38
  813. package/hmu/images/countries/eh.svg +0 -15
  814. package/hmu/images/countries/er.svg +0 -8
  815. package/hmu/images/countries/es-ct.svg +0 -4
  816. package/hmu/images/countries/es.svg +0 -581
  817. package/hmu/images/countries/et.svg +0 -14
  818. package/hmu/images/countries/eu.svg +0 -28
  819. package/hmu/images/countries/fi.svg +0 -5
  820. package/hmu/images/countries/fj.svg +0 -124
  821. package/hmu/images/countries/fk.svg +0 -90
  822. package/hmu/images/countries/fm.svg +0 -11
  823. package/hmu/images/countries/fo.svg +0 -12
  824. package/hmu/images/countries/fr.svg +0 -7
  825. package/hmu/images/countries/ga.svg +0 -7
  826. package/hmu/images/countries/gb-eng.svg +0 -5
  827. package/hmu/images/countries/gb-nir.svg +0 -137
  828. package/hmu/images/countries/gb-sct.svg +0 -4
  829. package/hmu/images/countries/gb-wls.svg +0 -9
  830. package/hmu/images/countries/gb.svg +0 -15
  831. package/hmu/images/countries/gd.svg +0 -27
  832. package/hmu/images/countries/ge.svg +0 -6
  833. package/hmu/images/countries/gf.svg +0 -5
  834. package/hmu/images/countries/gg.svg +0 -9
  835. package/hmu/images/countries/gh.svg +0 -6
  836. package/hmu/images/countries/gi.svg +0 -33
  837. package/hmu/images/countries/gl.svg +0 -4
  838. package/hmu/images/countries/gm.svg +0 -14
  839. package/hmu/images/countries/gn.svg +0 -7
  840. package/hmu/images/countries/gp.svg +0 -7
  841. package/hmu/images/countries/gq.svg +0 -23
  842. package/hmu/images/countries/gr.svg +0 -22
  843. package/hmu/images/countries/gs.svg +0 -205
  844. package/hmu/images/countries/gt.svg +0 -204
  845. package/hmu/images/countries/gu.svg +0 -39
  846. package/hmu/images/countries/gw.svg +0 -13
  847. package/hmu/images/countries/gy.svg +0 -9
  848. package/hmu/images/countries/hk.svg +0 -32
  849. package/hmu/images/countries/hm.svg +0 -9
  850. package/hmu/images/countries/hn.svg +0 -18
  851. package/hmu/images/countries/hr.svg +0 -59
  852. package/hmu/images/countries/ht.svg +0 -122
  853. package/hmu/images/countries/hu.svg +0 -7
  854. package/hmu/images/countries/id.svg +0 -6
  855. package/hmu/images/countries/ie.svg +0 -7
  856. package/hmu/images/countries/il.svg +0 -14
  857. package/hmu/images/countries/im.svg +0 -36
  858. package/hmu/images/countries/in.svg +0 -25
  859. package/hmu/images/countries/io.svg +0 -148
  860. package/hmu/images/countries/iq.svg +0 -10
  861. package/hmu/images/countries/ir.svg +0 -219
  862. package/hmu/images/countries/is.svg +0 -12
  863. package/hmu/images/countries/it.svg +0 -7
  864. package/hmu/images/countries/je.svg +0 -32
  865. package/hmu/images/countries/jm.svg +0 -8
  866. package/hmu/images/countries/jo.svg +0 -16
  867. package/hmu/images/countries/jp.svg +0 -11
  868. package/hmu/images/countries/ke.svg +0 -23
  869. package/hmu/images/countries/kg.svg +0 -15
  870. package/hmu/images/countries/kh.svg +0 -69
  871. package/hmu/images/countries/ki.svg +0 -36
  872. package/hmu/images/countries/km.svg +0 -16
  873. package/hmu/images/countries/kn.svg +0 -14
  874. package/hmu/images/countries/kp.svg +0 -15
  875. package/hmu/images/countries/kr.svg +0 -24
  876. package/hmu/images/countries/kw.svg +0 -13
  877. package/hmu/images/countries/ky.svg +0 -63
  878. package/hmu/images/countries/kz.svg +0 -23
  879. package/hmu/images/countries/la.svg +0 -12
  880. package/hmu/images/countries/lb.svg +0 -15
  881. package/hmu/images/countries/lc.svg +0 -8
  882. package/hmu/images/countries/li.svg +0 -43
  883. package/hmu/images/countries/lk.svg +0 -22
  884. package/hmu/images/countries/lr.svg +0 -14
  885. package/hmu/images/countries/ls.svg +0 -8
  886. package/hmu/images/countries/lt.svg +0 -7
  887. package/hmu/images/countries/lu.svg +0 -5
  888. package/hmu/images/countries/lv.svg +0 -6
  889. package/hmu/images/countries/ly.svg +0 -13
  890. package/hmu/images/countries/ma.svg +0 -4
  891. package/hmu/images/countries/mc.svg +0 -6
  892. package/hmu/images/countries/md.svg +0 -72
  893. package/hmu/images/countries/me.svg +0 -118
  894. package/hmu/images/countries/mf.svg +0 -7
  895. package/hmu/images/countries/mg.svg +0 -7
  896. package/hmu/images/countries/mh.svg +0 -7
  897. package/hmu/images/countries/mk.svg +0 -5
  898. package/hmu/images/countries/ml.svg +0 -7
  899. package/hmu/images/countries/mm.svg +0 -16
  900. package/hmu/images/countries/mn.svg +0 -13
  901. package/hmu/images/countries/mo.svg +0 -9
  902. package/hmu/images/countries/mp.svg +0 -86
  903. package/hmu/images/countries/mq.svg +0 -7
  904. package/hmu/images/countries/mr.svg +0 -6
  905. package/hmu/images/countries/ms.svg +0 -39
  906. package/hmu/images/countries/mt.svg +0 -49
  907. package/hmu/images/countries/mu.svg +0 -8
  908. package/hmu/images/countries/mv.svg +0 -6
  909. package/hmu/images/countries/mw.svg +0 -10
  910. package/hmu/images/countries/mx.svg +0 -385
  911. package/hmu/images/countries/my.svg +0 -15
  912. package/hmu/images/countries/mz.svg +0 -21
  913. package/hmu/images/countries/na.svg +0 -16
  914. package/hmu/images/countries/nc.svg +0 -7
  915. package/hmu/images/countries/ne.svg +0 -6
  916. package/hmu/images/countries/nf.svg +0 -9
  917. package/hmu/images/countries/ng.svg +0 -6
  918. package/hmu/images/countries/ni.svg +0 -131
  919. package/hmu/images/countries/nl.svg +0 -7
  920. package/hmu/images/countries/no.svg +0 -7
  921. package/hmu/images/countries/np.svg +0 -14
  922. package/hmu/images/countries/nr.svg +0 -12
  923. package/hmu/images/countries/nu.svg +0 -26
  924. package/hmu/images/countries/nz.svg +0 -41
  925. package/hmu/images/countries/om.svg +0 -116
  926. package/hmu/images/countries/pa.svg +0 -14
  927. package/hmu/images/countries/pe.svg +0 -279
  928. package/hmu/images/countries/pf.svg +0 -19
  929. package/hmu/images/countries/pg.svg +0 -9
  930. package/hmu/images/countries/ph.svg +0 -28
  931. package/hmu/images/countries/pk.svg +0 -15
  932. package/hmu/images/countries/pl.svg +0 -6
  933. package/hmu/images/countries/pm.svg +0 -7
  934. package/hmu/images/countries/pn.svg +0 -62
  935. package/hmu/images/countries/pr.svg +0 -13
  936. package/hmu/images/countries/ps.svg +0 -15
  937. package/hmu/images/countries/pt.svg +0 -57
  938. package/hmu/images/countries/pw.svg +0 -11
  939. package/hmu/images/countries/py.svg +0 -157
  940. package/hmu/images/countries/qa.svg +0 -4
  941. package/hmu/images/countries/re.svg +0 -7
  942. package/hmu/images/countries/ro.svg +0 -7
  943. package/hmu/images/countries/rs.svg +0 -292
  944. package/hmu/images/countries/ru.svg +0 -7
  945. package/hmu/images/countries/rw.svg +0 -13
  946. package/hmu/images/countries/sa.svg +0 -26
  947. package/hmu/images/countries/sb.svg +0 -13
  948. package/hmu/images/countries/sc.svg +0 -14
  949. package/hmu/images/countries/sd.svg +0 -13
  950. package/hmu/images/countries/se.svg +0 -16
  951. package/hmu/images/countries/sg.svg +0 -13
  952. package/hmu/images/countries/sh.svg +0 -74
  953. package/hmu/images/countries/si.svg +0 -18
  954. package/hmu/images/countries/sj.svg +0 -7
  955. package/hmu/images/countries/sk.svg +0 -9
  956. package/hmu/images/countries/sl.svg +0 -7
  957. package/hmu/images/countries/sm.svg +0 -91
  958. package/hmu/images/countries/sn.svg +0 -8
  959. package/hmu/images/countries/so.svg +0 -11
  960. package/hmu/images/countries/sr.svg +0 -6
  961. package/hmu/images/countries/ss.svg +0 -8
  962. package/hmu/images/countries/st.svg +0 -16
  963. package/hmu/images/countries/sv.svg +0 -618
  964. package/hmu/images/countries/sx.svg +0 -56
  965. package/hmu/images/countries/sy.svg +0 -6
  966. package/hmu/images/countries/sz.svg +0 -45
  967. package/hmu/images/countries/tc.svg +0 -67
  968. package/hmu/images/countries/td.svg +0 -7
  969. package/hmu/images/countries/tf.svg +0 -15
  970. package/hmu/images/countries/tg.svg +0 -14
  971. package/hmu/images/countries/th.svg +0 -7
  972. package/hmu/images/countries/tj.svg +0 -22
  973. package/hmu/images/countries/tk.svg +0 -5
  974. package/hmu/images/countries/tl.svg +0 -13
  975. package/hmu/images/countries/tm.svg +0 -213
  976. package/hmu/images/countries/tn.svg +0 -13
  977. package/hmu/images/countries/to.svg +0 -10
  978. package/hmu/images/countries/tr.svg +0 -8
  979. package/hmu/images/countries/tt.svg +0 -5
  980. package/hmu/images/countries/tv.svg +0 -27
  981. package/hmu/images/countries/tw.svg +0 -14
  982. package/hmu/images/countries/tz.svg +0 -13
  983. package/hmu/images/countries/ua.svg +0 -6
  984. package/hmu/images/countries/ug.svg +0 -30
  985. package/hmu/images/countries/um.svg +0 -23
  986. package/hmu/images/countries/un.svg +0 -16
  987. package/hmu/images/countries/us.svg +0 -12
  988. package/hmu/images/countries/uy.svg +0 -28
  989. package/hmu/images/countries/uz.svg +0 -30
  990. package/hmu/images/countries/va.svg +0 -483
  991. package/hmu/images/countries/vc.svg +0 -8
  992. package/hmu/images/countries/ve.svg +0 -26
  993. package/hmu/images/countries/vg.svg +0 -133
  994. package/hmu/images/countries/vi.svg +0 -31
  995. package/hmu/images/countries/vn.svg +0 -11
  996. package/hmu/images/countries/vu.svg +0 -18
  997. package/hmu/images/countries/wf.svg +0 -7
  998. package/hmu/images/countries/ws.svg +0 -7
  999. package/hmu/images/countries/ye.svg +0 -7
  1000. package/hmu/images/countries/yt.svg +0 -7
  1001. package/hmu/images/countries/za.svg +0 -17
  1002. package/hmu/images/countries/zm.svg +0 -27
  1003. package/hmu/images/countries/zw.svg +0 -21
  1004. package/hmu/images/hipay-white-logo.svg +0 -42
  1005. package/hmu/images/logo_visa_75wx45h.gif +0 -0
  1006. package/internal/RefHolder.js +0 -64
  1007. package/internal/SwitchBase.js +0 -287
  1008. package/internal/svg-icons/ArrowDownward.js +0 -37
  1009. package/internal/svg-icons/ArrowDropDown.js +0 -37
  1010. package/internal/svg-icons/Cancel.js +0 -36
  1011. package/internal/svg-icons/CheckBox.js +0 -36
  1012. package/internal/svg-icons/CheckBoxOutlineBlank.js +0 -36
  1013. package/internal/svg-icons/CheckCircle.js +0 -36
  1014. package/internal/svg-icons/IndeterminateCheckBox.js +0 -36
  1015. package/internal/svg-icons/KeyboardArrowLeft.js +0 -36
  1016. package/internal/svg-icons/KeyboardArrowRight.js +0 -36
  1017. package/internal/svg-icons/RadioButtonChecked.js +0 -36
  1018. package/internal/svg-icons/RadioButtonUnchecked.js +0 -36
  1019. package/styles/createHiMuiTheme.js +0 -339
  1020. package/svg-icons/ArrowDownward.js +0 -37
  1021. package/svg-icons/ArrowDropDown.js +0 -37
  1022. package/svg-icons/Cancel.js +0 -36
  1023. package/svg-icons/CheckBox.js +0 -36
  1024. package/svg-icons/CheckBoxOutlineBlank.js +0 -36
  1025. package/svg-icons/CheckCircle.js +0 -36
  1026. package/svg-icons/HiAccount.js +0 -52
  1027. package/svg-icons/HiAll.js +0 -62
  1028. package/svg-icons/HiBilling.js +0 -52
  1029. package/svg-icons/HiCatalog.js +0 -52
  1030. package/svg-icons/HiCustomer.js +0 -58
  1031. package/svg-icons/HiFinance.js +0 -52
  1032. package/svg-icons/HiRoute.js +0 -52
  1033. package/svg-icons/HiSettlement.js +0 -52
  1034. package/svg-icons/HiSizeLarge.js +0 -36
  1035. package/svg-icons/HiSizeMedium.js +0 -36
  1036. package/svg-icons/HiSizeSmall.js +0 -36
  1037. package/svg-icons/HiTransaction.js +0 -52
  1038. package/svg-icons/HiUser.js +0 -58
  1039. package/svg-icons/HiWidget.js +0 -62
  1040. package/svg-icons/IndeterminateCheckBox.js +0 -36
  1041. package/svg-icons/KeyboardArrowLeft.js +0 -36
  1042. package/svg-icons/KeyboardArrowRight.js +0 -36
  1043. package/svg-icons/RadioButtonChecked.js +0 -36
  1044. package/svg-icons/RadioButtonUnchecked.js +0 -36
  1045. package/svg-icons/index.js +0 -106
  1046. package/transitions/Collapse.js +0 -324
  1047. package/transitions/Fade.js +0 -207
  1048. package/transitions/Grow.js +0 -251
  1049. package/transitions/Slide.js +0 -381
  1050. package/transitions/Zoom.js +0 -204
  1051. package/transitions/index.js +0 -52
  1052. package/utils/ClickAwayListener.js +0 -122
  1053. package/utils/HiIconBuilder.js +0 -178
  1054. package/utils/addEventListener.js +0 -26
  1055. package/utils/hiGetMdiIcon.js +0 -20
  1056. package/utils/hiHelpers.js +0 -195
  1057. package/utils/keyboardFocus.js +0 -75
  1058. package/utils/manageAriaHidden.js +0 -49
  1059. package/utils/withWidth.js +0 -214
@@ -1,54 +1,53 @@
1
- import _Object$keys from 'babel-runtime/core-js/object/keys';
2
- import _extends from 'babel-runtime/helpers/extends';
1
+ import _extends from "@babel/runtime/helpers/extends";
2
+ import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
3
+ import _objectSpread from "@babel/runtime/helpers/objectSpread";
3
4
  // @inheritedComponent Input
4
-
5
5
  import React from 'react';
6
6
  import PropTypes from 'prop-types';
7
7
  import classNames from 'classnames';
8
- import Grow from 'material-ui/transitions/Grow';
8
+ import Grow from '@material-ui/core/Grow';
9
9
  import { findDOMNode } from 'react-dom';
10
- import Paper from 'material-ui/Paper';
11
- import ClickAwayListener from 'material-ui/utils/ClickAwayListener';
12
- import { Manager, Target, Popper } from 'react-popper';
13
- import { CheckboxBlankOutline, CheckboxMarked } from 'mdi-material-ui';
10
+ import Scrollbars from 'react-custom-scrollbars';
11
+ import Paper from '@material-ui/core/Paper';
12
+ import ClickAwayListener from '@material-ui/core/ClickAwayListener';
13
+ import Popper from '@material-ui/core/Popper';
14
14
  import HiSelectableList from '../HiSelectableList';
15
- import { HiSearchField } from '../HiForm';
15
+ import HiSearchField from '../HiForm/HiSearchField';
16
16
  import SelectInput from './SelectInput';
17
17
  import HiChip from '../HiChip/HiChip';
18
18
  import { withStyles } from '../styles';
19
- import { arrayUnique, getNextItemSelectable } from '../utils/hiHelpers';
20
- import HiIconBuilder from '../utils/HiIconBuilder';
21
-
19
+ import { arrayUnique, getNextItemSelectable } from '../utils/helpers';
20
+ import HiIcon from '../HiIcon';
21
+ export const INFINITESCROLL_ERROR_MESSAGE = 'La propriété "loadMoreResults" est obligatoire si la prop "infiniteScroll" est à true';
22
22
  export const styles = theme => ({
23
- root: {
24
- backgroundColor: theme.palette.background2,
25
- maxWidth: 500,
26
- width: '100%',
27
- position: 'relative'
28
- },
29
- popper: {
30
- width: '100%',
31
- zIndex: 9
32
- },
33
- paper: {
34
- borderRadius: '0px 2px',
35
- maxHeight: 440,
36
- transition: 'none !important'
37
- },
38
- labelIcon: {
39
- marginRight: 10
40
- },
41
- selectIconLabel: _extends({
42
- whiteSpace: 'nowrap',
43
- overflow: 'hidden',
44
- textOverflow: 'ellipsis',
45
- paddingRight: 16
46
- }, theme.typography.body1, {
47
- display: 'inline-flex',
48
- width: '100%'
49
- })
23
+ root: {
24
+ backgroundColor: theme.palette.background2,
25
+ maxWidth: 500,
26
+ width: '100%',
27
+ position: 'relative'
28
+ },
29
+ popper: {
30
+ width: '100%',
31
+ zIndex: 1200
32
+ },
33
+ paper: {
34
+ borderRadius: '0px 2px',
35
+ maxHeight: 440,
36
+ transition: 'none !important'
37
+ },
38
+ labelIcon: {
39
+ marginRight: 10
40
+ },
41
+ selectIconLabel: _objectSpread({
42
+ whiteSpace: 'nowrap',
43
+ overflow: 'hidden',
44
+ textOverflow: 'ellipsis',
45
+ paddingRight: 16
46
+ }, theme.typography.b1, {
47
+ display: 'inline-flex',
48
+ width: '100%'
49
+ })
50
50
  });
51
-
52
51
  /**
53
52
  *
54
53
  * Utilisé pour tous types de selects dans les formulaires.
@@ -64,671 +63,870 @@ export const styles = theme => ({
64
63
  * il filtre la liste des suggestions
65
64
  * - HiSelectableList : affiche la liste des suggestions selon le type des éléments
66
65
  */
67
- class HiSelect extends React.PureComponent {
68
-
69
- constructor(props) {
70
- super(props);
71
-
72
- _initialiseProps.call(this);
73
-
74
- this.state = {
75
- open: false,
76
- focused: false,
77
- suggestions: [],
78
- hierarchySelected: {},
79
- hierarchy: {},
80
- nbOptions: 0,
81
- dynamic: false
82
- };
83
-
84
- // Check if value is in options
85
- let valueInOptions = false;
86
- const val = props.value;
87
- // No options provided.
88
- if (!props.options.length || !val || !val.length) {
89
- valueInOptions = true;
90
- } else {
91
- // Check if an option match value prop.
92
- props.options.forEach(item => {
93
- if (!valueInOptions && val.indexOf(item.id) !== -1) {
94
- valueInOptions = true;
95
- }
96
- });
97
- }
98
-
99
- if (!valueInOptions) {
100
- throw new Error('prop value provided does not match any option.');
101
- }
102
-
103
- if (props.hierarchic === true && props.options.length > 1) {
104
- const hierarchyTrees = this.buildHierarchyTrees(props);
105
-
106
- this.state.hierarchy = hierarchyTrees.hierarchy;
107
- this.state.hierarchySelected = hierarchyTrees.hierarchySelected;
108
- }
109
-
110
- if (props.options.length > 0) {
111
- // Get real options number (parent & _all are not real options)
112
- let optionsLength = 0;
113
- props.options.forEach(option => {
114
- if (option.hasChildren !== true && option.id !== '_all') {
115
- optionsLength++;
116
- }
117
- });
118
- this.state.nbOptions = optionsLength;
119
- } else {
120
- this.state.dynamic = true;
121
- }
122
-
123
- this.handleSelect = this.handleSelect.bind(this);
124
- this.handleClick = this.handleClick.bind(this);
125
- this.handleClose = this.handleClose.bind(this);
126
- this.handleRequestDelete = this.handleRequestDelete.bind(this);
127
- this.handleSuggestions = this.handleSuggestions.bind(this);
128
- this.handleFocus = this.handleFocus.bind(this);
129
- this.handleBlur = this.handleBlur.bind(this);
130
- }
131
-
132
- componentWillReceiveProps(nextProps) {
133
- if (typeof this.props.onSearch !== 'undefined' && this.props.options && this.props.options.length > 0) {
134
- this.handleSuggestions(nextProps.options);
135
- let optionsLength = 0;
136
- nextProps.options.forEach(option => {
137
- if (option.hasChildren !== true && option.id !== '_all') {
138
- optionsLength++;
139
- }
140
- });
141
- this.setState({ nbOptions: optionsLength });
142
- }
143
-
144
- if (nextProps.hierarchic === true && nextProps.options.length > 1) {
145
- const hierarchyTrees = this.buildHierarchyTrees(nextProps);
146
- this.setState({ hierarchy: hierarchyTrees.hierarchy, hierarchySelected: hierarchyTrees.hierarchySelected });
147
- }
148
- }
149
-
150
- buildHierarchyTrees(props) {
151
- // Construct two associative arrays
152
- // hierarchy[parentId] => children
153
- // hierarchySelected[parentId] => selected children
154
- const hierarchy = {};
155
- const hierarchySelected = {};
156
- let value = props.value || [];
157
- if (!Array.isArray(value)) value = [props.value];
158
- props.options.forEach(option => {
159
- if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
160
- hierarchy[option.id] = [];
161
- hierarchySelected[option.id] = [];
162
- } else if (option.hasOwnProperty('parentId')) {
163
- hierarchy[option.parentId].push(option.id);
164
- if (value.includes(option.id)) {
165
- hierarchySelected[option.parentId].push(option.id);
166
- }
167
- }
168
- });
169
- return { hierarchy, hierarchySelected };
170
- }
171
-
172
- // Key down on list items
173
-
174
-
175
- // Key down on search input
176
-
177
-
178
- /**
179
- * Call onChange with the updated value
180
- *
181
- * - handle single value
182
- * - handle multiple value
183
- * - handle '_all' id
184
- *
185
- * @param event
186
- * @param item
187
- */
188
-
189
-
190
- /**
191
- * Update suggestions list
192
- * - add '_no_result' item if suggestion list is empty
193
- * - add '_all' item if suggestion list is complete
194
- * @param suggestions
195
- */
196
-
197
-
198
- render() {
199
- const {
200
- classes,
201
- disabled,
202
- error,
203
- options,
204
- checkbox,
205
- searchable,
206
- displayAsChip,
207
- type,
208
- value,
209
- translations,
210
- parentItemSelectable,
211
- icon,
212
- parentIcon,
213
- hoverIcon,
214
- checkedIcon,
215
- hierarchic,
216
- id,
217
- placeholder
218
- } = this.props;
219
-
220
- const { open, suggestions, focused } = this.state;
221
-
222
- let display = '';
223
- const selectedIdList = Array.isArray(value) ? value : value ? [value] : [];
224
-
225
- if (this.state.dynamic && selectedIdList.length === 1) {
226
- display = translations.one_item_selected.replace('%s', selectedIdList.length);
227
- } else if (this.state.nbOptions !== selectedIdList.length && selectedIdList.length > 1) {
228
- display = translations.n_items_selected.replace('%s', selectedIdList.length);
229
- } else if (this.state.nbOptions === selectedIdList.length && this.state.nbOptions >= 1) {
230
- display = translations.all;
231
- } else if (selectedIdList.length === 1) {
232
- if (type !== 'icon') {
233
- display = options.find(o => o.id === selectedIdList[0]).label;
234
- } else {
235
- const optionSelected = options.find(o => o.id === selectedIdList[0]);
236
- display = React.createElement(
237
- 'span',
238
- { className: classes.selectIconLabel },
239
- React.createElement(HiIconBuilder, { icon: optionSelected.icon, className: classes.labelIcon }),
240
- optionSelected.label
241
- );
242
- }
243
- }
244
-
245
- if (displayAsChip) {
246
- const chipFilter = React.createElement(HiChip, { label: placeholder || display, onDelete: this.handleRequestDelete });
247
- if (display) {
248
- display = chipFilter;
249
- }
250
- }
251
-
252
- const popperClass = classNames(classes.popper, {
253
- [classes.popperClose]: !open
254
- });
255
-
256
- let allSelected = false;
257
- if (selectedIdList.length === this.state.nbOptions) {
258
- allSelected = true;
259
- }
260
-
261
- let popperStyle = {};
262
- if (this.props.containerWidth > 0) {
263
- popperStyle = { width: this.props.containerWidth };
264
- }
265
-
266
- return React.createElement(
267
- 'div',
268
- {
269
- className: classes.root,
270
- ref: el => {
271
- this.overlay = el;
272
- }
273
- },
274
- React.createElement(
275
- Manager,
276
- null,
277
- React.createElement(
278
- Target,
279
- null,
280
- React.createElement(SelectInput, {
281
- id: id,
282
- value: placeholder || display,
283
- open: open,
284
- focused: focused,
285
- type: type,
286
- disabled: disabled,
287
- noButton: displayAsChip,
288
- error: error,
289
- onClick: this.handleClick,
290
- onFocus: this.handleFocus,
291
- onBlur: this.handleBlur,
292
- onMouseEnter: this.props.onMouseEnter,
293
- onMouseLeave: this.props.onMouseLeave,
294
- refElement: el => {
295
- this.selectInputElement = el;
296
- }
297
- })
298
- ),
299
- open && React.createElement(
300
- Popper,
301
- {
302
- placement: 'bottom-start',
303
- eventsEnabled: open,
304
- className: popperClass,
305
- style: popperStyle
306
- },
307
- React.createElement(
308
- ClickAwayListener,
309
- { onClickAway: this.handleClose },
310
- React.createElement(
311
- Grow,
312
- { 'in': open, id: 'menu-list', style: { transformOrigin: '0 0 0' } },
313
- React.createElement(
314
- Paper,
315
- { className: classes.paper },
316
- !!searchable && React.createElement(HiSearchField, {
317
- itemList: options,
318
- callbackFilteredList: this.handleSuggestions,
319
- filterPropertyList: ['label'],
320
- placeholder: translations.search,
321
- autoFocus: true,
322
- onSearch: this.props.onSearch,
323
- inputRef: el => {
324
- this.searchField = el;
325
- },
326
- onKeyDown: this.handleKeyDownSearch
327
- }),
328
- React.createElement(HiSelectableList, {
329
- type: type,
330
- parentItemSelectable: parentItemSelectable,
331
- itemList: suggestions,
332
- onSelect: this.handleSelect,
333
- selectedIdList: selectedIdList,
334
- checkbox: checkbox,
335
- hierarchy: this.state.hierarchy,
336
- hierarchic: hierarchic,
337
- hierarchySelected: this.state.hierarchySelected,
338
- translations: translations,
339
- icon: icon,
340
- parentIcon: parentIcon,
341
- hoverIcon: hoverIcon,
342
- checkedIcon: checkedIcon,
343
- allSelected: allSelected,
344
- value: value,
345
- onKeyDown: this.handleKeyDown
346
- })
347
- )
348
- )
349
- )
350
- )
351
- )
352
- );
353
- }
354
- }
355
66
 
356
- HiSelect.defaultProps = {
357
- disabled: false,
358
- error: false,
359
- multiple: false,
360
- type: 'text',
361
- checkbox: false,
362
- searchable: false,
363
- hasAll: false,
364
- iconAll: false,
365
- hierarchic: false,
366
- parentItemSelectable: false,
367
- displayAsChip: false,
368
- icon: React.createElement(CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
369
- parentIcon: React.createElement(CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
370
- hoverIcon: React.createElement(CheckboxBlankOutline, { style: { width: 20, height: 20 } }),
371
- checkedIcon: React.createElement(CheckboxMarked, { style: { width: 20, height: 20 } }),
372
- translations: {
373
- all: 'All',
374
- no_result_match: 'No result match',
375
- search: 'Search',
376
- n_items_selected: '%s items selected',
377
- one_item_selected: '%s item selected',
378
- n_children: '%s items',
379
- one_child: '%s item'
380
- }
381
- };
67
+ class HiSelect extends React.PureComponent {
68
+ constructor(_props) {
69
+ super(_props);
382
70
 
383
- var _initialiseProps = function () {
384
71
  this.handleClick = () => {
385
- document.body.style.overflow = 'hidden';
386
- this.setState({ open: true });
72
+ if (this.state.open) {
73
+ this.handleClose();
74
+ } else {
75
+ this.setState({
76
+ open: true
77
+ });
387
78
  const options = this.props.options.slice();
388
79
  this.handleSuggestions(options);
389
80
 
390
81
  if (this.props.onClick) {
391
- this.props.onClick();
82
+ this.props.onClick();
83
+ } // Gestion du focus
84
+
85
+
86
+ if (!this.props.searchable) {
87
+ // sinon focus sur le dernier élément selectionné
88
+ this.focusOnSelectedItem();
392
89
  }
90
+ }
91
+ };
393
92
 
394
- // Gestion du focus
395
- if (this.searchField) {
396
- // si searchable, focus sur le champs de recherche
397
- const searchField = this.searchField;
398
- setTimeout(() => {
399
- searchField.focus();
400
- }, 1);
401
- } else if (this.overlay) {
402
- // sinon focus sur le dernier élément selectionné
403
- this.focusOnSelectedItem();
93
+ this.buildHierarchyTrees = props => {
94
+ // Construct two associative arrays
95
+ // hierarchy[parentId] => children
96
+ // hierarchySelected[parentId] => selected children
97
+ const hierarchy = {};
98
+ const hierarchySelected = {};
99
+ let value = props.value || [];
100
+ if (!Array.isArray(value)) value = [props.value];
101
+ props.options.forEach(option => {
102
+ if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
103
+ hierarchy[option.id] = [];
104
+ hierarchySelected[option.id] = [];
105
+ } else if (option.hasOwnProperty('parentId')) {
106
+ hierarchy[option.parentId].push(option.id);
107
+
108
+ if (value.includes(option.id)) {
109
+ hierarchySelected[option.parentId].push(option.id);
110
+ }
404
111
  }
112
+ });
113
+ return {
114
+ hierarchy,
115
+ hierarchySelected
116
+ };
405
117
  };
406
118
 
407
119
  this.focusOnSelectedItem = () => {
408
- // On récupère la div parent "overlay"
409
- const overlay = findDOMNode(this.overlay);
410
- const multiple = this.props.multiple;
411
- const value = this.props.value;
412
- const selectedIdList = Array.isArray(value) ? value : [value];
413
- setTimeout(() => {
414
- let focused = false;
415
- // Si un ou plusieurs items sont selectionnés, on focus sur le dernier
416
- if (selectedIdList.length > 0) {
417
- const itemSelected = overlay.querySelector(`[data-id="${selectedIdList[selectedIdList.length - 1]}"]`);
418
- if (itemSelected && itemSelected.parentElement.tagName === 'LI') {
419
- itemSelected.parentElement.focus();
420
- focused = true;
421
- }
422
- }
423
- // Si pas d'item selectionné, ou pas visible (en cas de recherche), focus sur le premier
424
- if (selectedIdList.length === 0 || !focused) {
425
- // On recupère tous les items
426
- const items = overlay.getElementsByTagName('li');
427
- let itemToFocus = items[0];
428
- // Si select multiple, et qu'au moins un selectionné, focus sur le 2e item
429
- if (multiple && selectedIdList.length > 0) {
430
- itemToFocus = items[1];
431
- }
432
- if (itemToFocus) {
433
- itemToFocus.focus();
434
- }
435
- }
436
- }, 1);
120
+ // On récupère la div parent "overlay"
121
+ const overlay = findDOMNode(this.overlay);
122
+ const multiple = this.props.multiple;
123
+ const value = this.props.value;
124
+ const selectedIdList = Array.isArray(value) ? value : [value];
125
+ setTimeout(() => {
126
+ let focused = false; // Si un ou plusieurs items sont selectionnés, on focus sur le dernier
127
+
128
+ if (selectedIdList.length > 0) {
129
+ const itemSelected = overlay.querySelector(`[data-id="${selectedIdList[selectedIdList.length - 1]}"]`);
130
+
131
+ if (itemSelected && itemSelected.parentElement.tagName === 'LI') {
132
+ itemSelected.parentElement.focus();
133
+ focused = true;
134
+ }
135
+ } // Si pas d'item selectionné, ou pas visible (en cas de recherche), focus sur le premier
136
+
137
+
138
+ if (selectedIdList.length === 0 || !focused) {
139
+ // On recupère tous les items
140
+ const items = overlay.getElementsByTagName('li');
141
+ let itemToFocus = items[0]; // Si select multiple, et qu'au moins un selectionné, focus sur le 2e item
142
+
143
+ if (multiple && selectedIdList.length > 0) {
144
+ itemToFocus = items[1];
145
+ }
146
+
147
+ if (itemToFocus) {
148
+ itemToFocus.focus();
149
+ }
150
+ }
151
+ }, 1);
437
152
  };
438
153
 
439
154
  this.handleKeyDown = event => {
440
- let nextItem;
441
- if (event.key === 'ArrowDown') {
442
- nextItem = getNextItemSelectable(document.activeElement, 'down');
443
- } else if (event.key === 'ArrowUp') {
444
- nextItem = getNextItemSelectable(document.activeElement, 'up');
445
- } else if (event.key === 'Tab') {
155
+ let nextItem;
156
+
157
+ if (event.key === 'ArrowDown') {
158
+ nextItem = getNextItemSelectable(document.activeElement, 'down');
159
+ } else if (event.key === 'ArrowUp') {
160
+ nextItem = getNextItemSelectable(document.activeElement, 'up');
161
+ } else if (event.key === 'Tab') {
162
+ /* if (!this.props.staticPosition) {
446
163
  document.body.style.overflow = 'auto';
447
- this.setState({ open: false });
448
- }
449
- if (nextItem) {
450
- nextItem.focus();
451
- }
164
+ } */
165
+ this.setState({
166
+ open: false
167
+ });
168
+ } else if (event.key === 'Escape') {
169
+ this.setState({
170
+ open: false
171
+ });
172
+ }
173
+
174
+ if (nextItem) {
175
+ nextItem.focus();
176
+ }
452
177
  };
453
178
 
454
179
  this.handleKeyDownSearch = event => {
455
- if (this.overlay && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
456
- this.focusOnSelectedItem();
457
- }
180
+ if (this.overlay && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
181
+ this.focusOnSelectedItem();
182
+ } else if (event.key === 'Enter' && this.props.onSubmit) {
183
+ this.props.onSubmit(event);
184
+ }
458
185
  };
459
186
 
460
187
  this.handleFocus = () => {
461
- this.setState({ focused: true });
188
+ this.setState({
189
+ focused: true
190
+ });
462
191
  };
463
192
 
464
193
  this.handleBlur = () => {
465
- this.setState({ focused: false });
194
+ this.setState({
195
+ focused: false
196
+ });
466
197
  };
467
198
 
468
199
  this.handleClose = () => {
469
- document.body.style.overflow = 'auto';
470
- this.setState({
471
- open: false
472
- });
200
+ if (this.props.onClose) {
201
+ this.props.onClose();
202
+ }
473
203
 
474
- if (this.props.onClose) {
475
- this.props.onClose();
476
- }
477
- if (this.selectInputElement) {
478
- this.selectInputElement.focus();
479
- }
204
+ if (this.selectInputElement) {
205
+ this.selectInputElement.focus();
206
+ }
207
+
208
+ this.setState({
209
+ open: false
210
+ });
211
+ };
212
+
213
+ this.handleClickAway = event => {
214
+ // Au clic sur le bouton, on laisse le handleClick fermer le select
215
+ if (!this.selectInputElement.contains(event.target)) {
216
+ this.handleClose(event);
217
+ }
480
218
  };
481
219
 
482
220
  this.handleSelect = (event, item) => {
483
- const { multiple, value, name, onChange, options, hierarchic } = this.props;
484
- const { hierarchySelected, hierarchy, nbOptions } = this.state;
485
- const hiSelected = _extends({}, hierarchySelected);
486
-
487
- if (multiple) {
488
- let valueList = value;
489
- if (item.id === '_all') {
490
- if (valueList.length === nbOptions) {
491
- valueList = [];
492
- if (hierarchic) {
493
- // if hierarchic select => empty associative array of selected children
494
- _Object$keys(hiSelected).forEach(key => {
495
- hiSelected[key] = [];
496
- });
497
- }
498
- } else {
499
- options.forEach(option => {
500
- if (option.hasChildren !== true && !valueList.includes(option.id) && option.id !== '_all') {
501
- valueList.push(option.id);
502
- } else if (option.hasChildren === true) {
503
- // if hierarchic select => fill associative array of selected children
504
- hiSelected[option.id] = hierarchy[option.id];
505
- }
506
- });
507
- }
508
- } else if (valueList.includes(item.id) || item.hasChildren === true && hierarchySelected[item.id].length === hierarchy[item.id].length) {
509
- // item déjà sélectionné => on le déselectionne
510
- if (item.hasChildren !== true) {
511
- valueList = valueList.filter(val => {
512
- return val !== item.id;
513
- });
514
- }
515
-
516
- if (item.hasChildren === true) {
517
- // remove all children
518
- valueList = valueList.filter(val => {
519
- return !this.state.hierarchy[item.id].includes(val);
520
- });
521
- hiSelected[item.id] = [];
522
- } else if (item.hasOwnProperty('parentId')) {
523
- // Si item est un enfant on l'enlève du tableau associatif des
524
- // elmts sélectionnés
525
- hiSelected[item.parentId].splice(hiSelected[item.parentId].indexOf(item.id), 1);
526
- }
527
- } else {
528
- // item non sélectionné => on le sélectionne
529
- if (item.hasChildren !== true) valueList.push(item.id);
530
-
531
- if (item.hasChildren === true) {
532
- // Si item parent => on ajoute tous les enfants
533
- // Ou on les supprime s'ils sont déjà tous sélectionnés (dans une liste filtrée)
534
- const idsInSuggestions = [];
535
- this.state.suggestions.forEach(suggestion => {
536
- if (this.state.hierarchy[item.id].includes(suggestion.id)) {
537
- idsInSuggestions.push(suggestion.id);
538
- }
539
- });
540
- // if(hierarchySelected[item.id].length > 0) {}
541
- let allChildrenSuggestionsSelected = true;
542
- idsInSuggestions.forEach(id => {
543
- if (!hierarchySelected[item.id].includes(id)) {
544
- allChildrenSuggestionsSelected = false;
545
- }
546
- });
547
-
548
- if (allChildrenSuggestionsSelected === true) {
549
- // On supprime les enfants car déjà tous sélectionnés
550
- idsInSuggestions.forEach(id => {
551
- valueList.splice(valueList.indexOf(id), 1);
552
- hiSelected[item.id].splice(hiSelected[item.id].indexOf(id), 1);
553
- });
554
- } else {
555
- // On ajoute tous les enfants filtrés au éléments sélectionnés
556
- valueList = arrayUnique(valueList.concat(idsInSuggestions));
557
- hiSelected[item.id] = arrayUnique(hiSelected[item.id].concat(idsInSuggestions));
558
- }
559
-
560
- this.setState({ hierarchySelected: hiSelected });
561
- } else if (item.hasOwnProperty('parentId')) {
562
- // Si item est un enfant on l'ajoute du tableau associatif des
563
- // elmts sélectionnés
564
- hiSelected[item.parentId].push(item.id);
565
- }
221
+ const {
222
+ multiple,
223
+ value,
224
+ onChange,
225
+ options,
226
+ hierarchic,
227
+ pinnedItem
228
+ } = this.props;
229
+ const {
230
+ hierarchySelected,
231
+ hierarchy,
232
+ nbOptions
233
+ } = this.state;
234
+
235
+ const hiSelected = _objectSpread({}, hierarchySelected);
236
+
237
+ if (multiple) {
238
+ let valueList = value;
239
+
240
+ if (item.id === '_all') {
241
+ if (valueList.length === nbOptions) {
242
+ valueList = [];
243
+
244
+ if (hierarchic) {
245
+ // if hierarchic select => empty associative array of selected children
246
+ Object.keys(hiSelected).forEach(key => {
247
+ hiSelected[key] = [];
248
+ });
566
249
  }
567
- this.setState({ hierarchySelected: hiSelected });
568
- onChange(event, valueList);
250
+ } else {
251
+ options.forEach(option => {
252
+ if (option.hasChildren !== true && !valueList.includes(option.id) && option.id !== '_all') {
253
+ valueList.push(option.id);
254
+ } else if (option.hasChildren === true) {
255
+ // if hierarchic select => fill associative array of selected children
256
+ hiSelected[option.id] = hierarchy[option.id];
257
+ }
258
+ });
259
+ }
260
+ } else if (valueList.includes(item.id) || item.hasChildren === true && hierarchySelected[item.id].length === hierarchy[item.id].length) {
261
+ // item déjà sélectionné => on le déselectionne
262
+ if (item.hasChildren !== true) {
263
+ valueList = valueList.filter(val => {
264
+ return val !== item.id;
265
+ });
266
+ }
267
+
268
+ if (item.hasChildren === true) {
269
+ // remove all children
270
+ valueList = valueList.filter(val => {
271
+ return !this.state.hierarchy[item.id].includes(val);
272
+ });
273
+ hiSelected[item.id] = [];
274
+ } else if (item.hasOwnProperty('parentId')) {
275
+ // Si item est un enfant on l'enlève du tableau associatif des
276
+ // elmts sélectionnés
277
+ hiSelected[item.parentId].splice(hiSelected[item.parentId].indexOf(item.id), 1);
278
+ }
569
279
  } else {
570
- onChange(event, item.id);
571
- this.handleClose();
572
- }
573
- };
280
+ if (pinnedItem && item.id === pinnedItem.id) {
281
+ Object.keys(hiSelected).map(parentItemId => {
282
+ hiSelected[parentItemId] = [];
283
+ return true;
284
+ });
285
+ valueList = [item.id];
286
+ } else {
287
+ // item non sélectionné => on le sélectionne
288
+ if (item.hasChildren !== true) valueList.push(item.id);
574
289
 
575
- this.handleSuggestions = suggestions => {
576
- const { options, hasAll, iconAll, translations, multiple } = this.props;
577
-
578
- if (suggestions.length === 0) {
579
- // Handle No Result
580
- // FIX to remove all item
581
- suggestions = [];
582
- suggestions.push({
583
- id: '_no_result',
584
- type: 'text',
585
- disabled: true,
586
- centered: true,
587
- checkbox: false,
588
- label: translations.no_result_match
290
+ if (pinnedItem && valueList.includes(pinnedItem.id)) {
291
+ valueList.splice(valueList.indexOf(pinnedItem.id), 1);
292
+ }
293
+ }
294
+
295
+ if (item.hasChildren === true) {
296
+ // Si item parent => on ajoute tous les enfants
297
+ // Ou on les supprime s'ils sont déjà tous sélectionnés (dans une liste filtrée)
298
+ const idsInSuggestions = [];
299
+ this.state.suggestions.forEach(suggestion => {
300
+ if (this.state.hierarchy[item.id].includes(suggestion.id)) {
301
+ idsInSuggestions.push(suggestion.id);
302
+ }
303
+ }); // if(hierarchySelected[item.id].length > 0) {}
304
+
305
+ let allChildrenSuggestionsSelected = true;
306
+ idsInSuggestions.forEach(id => {
307
+ if (!hierarchySelected[item.id].includes(id)) {
308
+ allChildrenSuggestionsSelected = false;
309
+ }
589
310
  });
590
- } else if (hasAll && suggestions.length > 0 && suggestions.length === options.length && multiple === true) {
591
- // Handle 'All'
592
- if (suggestions.filter(suggestion => suggestion.id === '_all').length === 0) {
593
- const allItem = {
594
- id: '_all',
595
- icon: iconAll,
596
- label: translations.all
597
- };
598
- if (iconAll !== false) {
599
- allItem.type = 'icon';
600
- }
601
- suggestions.unshift(allItem);
311
+
312
+ if (allChildrenSuggestionsSelected === true) {
313
+ // On supprime les enfants car déjà tous sélectionnés
314
+ idsInSuggestions.forEach(id => {
315
+ valueList.splice(valueList.indexOf(id), 1);
316
+ hiSelected[item.id].splice(hiSelected[item.id].indexOf(id), 1);
317
+ });
318
+ } else {
319
+ // On ajoute tous les enfants filtrés au éléments sélectionnés
320
+ valueList = arrayUnique(valueList.concat(idsInSuggestions));
321
+ hiSelected[item.id] = arrayUnique(hiSelected[item.id].concat(idsInSuggestions));
602
322
  }
323
+
324
+ this.setState({
325
+ hierarchySelected: hiSelected
326
+ });
327
+ } else if (item.hasOwnProperty('parentId')) {
328
+ // Si item est un enfant on l'ajoute du tableau associatif des
329
+ // elmts sélectionnés
330
+ hiSelected[item.parentId].push(item.id);
331
+ }
603
332
  }
604
333
 
605
334
  this.setState({
606
- suggestions
335
+ hierarchySelected: hiSelected
607
336
  });
337
+ onChange(event, valueList, item);
338
+ } else {
339
+ onChange(event, item.id, item);
340
+ this.handleClose();
341
+ }
342
+ };
343
+
344
+ this.handleSuggestions = suggestions => {
345
+ const {
346
+ options,
347
+ hasAll,
348
+ iconAll,
349
+ translations,
350
+ multiple
351
+ } = this.props;
352
+
353
+ if (suggestions.length === 0) {
354
+ // Handle No Result
355
+ // FIX to remove all item
356
+ suggestions = [];
357
+ suggestions.push({
358
+ id: '_no_result',
359
+ type: 'text',
360
+ disabled: true,
361
+ centered: true,
362
+ checkbox: false,
363
+ label: translations.no_result_match
364
+ });
365
+ } else if (hasAll && suggestions.length > 0 && suggestions.length === options.length && multiple === true) {
366
+ // Handle 'All'
367
+ if (suggestions.filter(suggestion => suggestion.id === '_all').length === 0) {
368
+ const allItem = {
369
+ id: '_all',
370
+ icon: iconAll,
371
+ label: translations.all
372
+ };
373
+
374
+ if (iconAll !== false) {
375
+ allItem.type = 'icon';
376
+ }
377
+
378
+ suggestions.unshift(allItem);
379
+ }
380
+ }
381
+
382
+ this.setState({
383
+ suggestions
384
+ });
608
385
  };
609
386
 
610
387
  this.handleRequestDelete = evt => {
611
- evt.stopPropagation();
612
- this.props.onChange(this.props.name, []);
388
+ evt.stopPropagation();
389
+ this.props.onChange(this.props.name, []);
613
390
  };
614
- };
615
391
 
392
+ this.handleScroll = event => {
393
+ if (!this.props.loadingMoreResults && this.props.hasMore && event.target.scrollHeight - event.target.clientHeight - event.target.scrollTop < 15) {
394
+ this.props.loadMoreResults(this.state.resultsPageNumber + 1);
395
+ this.setState(prevState => ({
396
+ resultsPageNumber: prevState.resultsPageNumber + 1
397
+ }));
398
+ }
399
+ };
400
+
401
+ this.state = {
402
+ open: false,
403
+ focused: false,
404
+ suggestions: [],
405
+ hierarchySelected: {},
406
+ hierarchy: {},
407
+ nbOptions: 0,
408
+ dynamic: _props.dynamic || false,
409
+ resultsPageNumber: 1
410
+ }; // Check if value is in options
411
+
412
+ let valueInOptions = false;
413
+ const _val = _props.value; // No options provided.
414
+
415
+ if (!_props.options.length || !_val || !_val.length) {
416
+ valueInOptions = true;
417
+ } else {
418
+ // Check if an option match value prop.
419
+ _props.options.forEach(item => {
420
+ if (!valueInOptions && _val.indexOf(item.id) !== -1) {
421
+ valueInOptions = true;
422
+ }
423
+ });
424
+
425
+ if (!valueInOptions && _props.pinnedItem) {
426
+ if (_props.value.indexOf(_props.pinnedItem.id) >= 0) {
427
+ valueInOptions = true;
428
+ }
429
+ }
430
+ }
431
+
432
+ if (!valueInOptions) {
433
+ throw new Error('prop value provided does not match any option.');
434
+ }
435
+
436
+ if (_props.hierarchic === true && _props.options.length > 1) {
437
+ const hierarchyTrees = this.buildHierarchyTrees(_props);
438
+ this.state.hierarchy = hierarchyTrees.hierarchy;
439
+ this.state.hierarchySelected = hierarchyTrees.hierarchySelected;
440
+ }
441
+
442
+ if (_props.options.length > 0) {
443
+ // Get real options number (parent & _all are not real options)
444
+ let optionsLength = 0;
445
+
446
+ _props.options.forEach(option => {
447
+ if (option.hasChildren !== true && option.id !== '_all') {
448
+ optionsLength += 1;
449
+ }
450
+ });
451
+
452
+ this.state.nbOptions = optionsLength;
453
+ } else if (!_props.dynamic) {
454
+ this.state.dynamic = true;
455
+ }
456
+
457
+ this.handleSelect = this.handleSelect.bind(this);
458
+ this.handleClick = this.handleClick.bind(this);
459
+ this.handleClose = this.handleClose.bind(this);
460
+ this.handleClickAway = this.handleClickAway.bind(this);
461
+ this.handleRequestDelete = this.handleRequestDelete.bind(this);
462
+ this.handleSuggestions = this.handleSuggestions.bind(this);
463
+ this.handleFocus = this.handleFocus.bind(this);
464
+ this.handleBlur = this.handleBlur.bind(this);
465
+ this.handleScroll = this.handleScroll.bind(this);
466
+ }
467
+
468
+ componentWillReceiveProps(nextProps) {
469
+ if (typeof this.props.onSearch !== 'undefined' && this.props.options && this.props.options.length > 0) {
470
+ this.handleSuggestions(nextProps.options);
471
+ let optionsLength = 0;
472
+ nextProps.options.forEach(option => {
473
+ if (option.hasChildren !== true && option.id !== '_all') {
474
+ optionsLength += 1;
475
+ }
476
+ });
477
+ this.setState({
478
+ nbOptions: optionsLength
479
+ });
480
+ }
481
+
482
+ if (nextProps.hierarchic === true && nextProps.options.length > 1) {
483
+ const hierarchyTrees = this.buildHierarchyTrees(nextProps);
484
+ this.setState({
485
+ hierarchy: hierarchyTrees.hierarchy,
486
+ hierarchySelected: hierarchyTrees.hierarchySelected
487
+ });
488
+ }
489
+ }
490
+
491
+ render() {
492
+ const _this$props = this.props,
493
+ {
494
+ classes,
495
+ disabled,
496
+ error,
497
+ loading,
498
+ options,
499
+ searchable,
500
+ displayAsChip,
501
+ type,
502
+ value,
503
+ translations,
504
+ parentItemSelectable,
505
+ icon,
506
+ parentIcon,
507
+ hoverIcon,
508
+ checkedIcon,
509
+ id,
510
+ placeholder,
511
+ staticPosition,
512
+ pinnedItem,
513
+ hasAll,
514
+ infiniteScroll,
515
+ loadingMoreResults,
516
+ multiple
517
+ } = _this$props,
518
+ other = _objectWithoutProperties(_this$props, ["classes", "disabled", "error", "loading", "options", "searchable", "displayAsChip", "type", "value", "translations", "parentItemSelectable", "icon", "parentIcon", "hoverIcon", "checkedIcon", "id", "placeholder", "staticPosition", "pinnedItem", "hasAll", "infiniteScroll", "loadingMoreResults", "multiple"]);
519
+
520
+ const {
521
+ open,
522
+ suggestions: stateSuggestions,
523
+ focused,
524
+ dynamic
525
+ } = this.state;
526
+ let display = '';
527
+ let selectedIdList;
528
+
529
+ if (Array.isArray(value)) {
530
+ selectedIdList = value;
531
+ } else if (value) {
532
+ selectedIdList = [value];
533
+ } else {
534
+ selectedIdList = [];
535
+ }
536
+
537
+ const suggestions = [...stateSuggestions];
538
+
539
+ if (pinnedItem) {
540
+ suggestions.unshift(pinnedItem);
541
+ } // If loading
542
+
543
+
544
+ if (loading && !loadingMoreResults) {
545
+ suggestions.unshift({
546
+ id: '_loading',
547
+ type: 'loader',
548
+ disabled: true,
549
+ centered: true,
550
+ checkbox: false,
551
+ label: 'loading'
552
+ });
553
+ }
554
+
555
+ if ((dynamic || loading) && selectedIdList.length === 1) {
556
+ display = translations.one_item_selected;
557
+ } else if ((this.state.nbOptions !== selectedIdList.length || !hasAll) && selectedIdList.length > 1) {
558
+ display = translations.n_items_selected.replace('%s', selectedIdList.length);
559
+ } else if (this.state.nbOptions === selectedIdList.length && this.state.nbOptions > 1) {
560
+ display = translations.all;
561
+ } else if (selectedIdList.length === 1) {
562
+ let item = options.find(o => o.id === selectedIdList[0]);
563
+
564
+ if (item === undefined) {
565
+ display = translations.one_item_selected;
566
+ } else if (type !== 'icon') {
567
+ if (pinnedItem) {
568
+ item = pinnedItem;
569
+ }
570
+
571
+ display = item.label;
572
+ } else {
573
+ display = React.createElement("span", {
574
+ className: classes.selectIconLabel
575
+ }, React.createElement(HiIcon, {
576
+ icon: item.icon,
577
+ className: classes.labelIcon
578
+ }), item.label);
579
+ }
580
+ }
581
+
582
+ if (displayAsChip) {
583
+ const chipFilter = React.createElement(HiChip, {
584
+ label: placeholder || display,
585
+ onDelete: this.handleRequestDelete
586
+ });
587
+
588
+ if (display) {
589
+ display = chipFilter;
590
+ }
591
+ }
592
+
593
+ const popperClass = classNames(classes.popper, {
594
+ [classes.popperClose]: !open
595
+ });
596
+ let allSelected = false;
597
+
598
+ if (selectedIdList.length === this.state.nbOptions) {
599
+ allSelected = true;
600
+ }
601
+
602
+ let popperStyle = {};
603
+
604
+ if (this.props.containerWidth > 0) {
605
+ popperStyle = {
606
+ width: this.props.containerWidth
607
+ };
608
+ }
609
+
610
+ if (infiniteScroll && loadingMoreResults) {
611
+ suggestions.push({
612
+ id: '_loading',
613
+ type: 'loader',
614
+ disabled: true,
615
+ centered: true,
616
+ checkbox: false,
617
+ label: 'loading'
618
+ });
619
+ }
620
+
621
+ const content = React.createElement(ClickAwayListener, {
622
+ onClickAway: this.handleClickAway
623
+ }, React.createElement(Grow, {
624
+ in: open,
625
+ id: "menu-list",
626
+ style: {
627
+ transformOrigin: '0 0 0'
628
+ }
629
+ }, React.createElement(Paper, {
630
+ className: classes.paper
631
+ }, !!searchable && React.createElement(HiSearchField, {
632
+ itemList: options,
633
+ onFilteredList: this.handleSuggestions,
634
+ filterPropertyList: ['label'],
635
+ placeholder: translations.search,
636
+ autoFocus: true,
637
+ onSearch: this.props.onSearch,
638
+ inputRef: el => {
639
+ this.searchField = el;
640
+ },
641
+ onKeyDown: this.handleKeyDownSearch
642
+ }), React.createElement(Scrollbars, {
643
+ ref: contentEl => {
644
+ this.optionsContent = contentEl;
645
+ },
646
+ autoHeight: true,
647
+ autoHeightMax: 400,
648
+ onScroll: this.handleScroll
649
+ }, React.createElement(HiSelectableList, _extends({
650
+ type: type,
651
+ parentItemSelectable: parentItemSelectable,
652
+ itemList: suggestions,
653
+ onSelect: this.handleSelect,
654
+ selectedItemIdList: selectedIdList,
655
+ hideCheckbox: !multiple,
656
+ translations: translations,
657
+ icon: icon,
658
+ parentIcon: parentIcon,
659
+ hoverIcon: hoverIcon,
660
+ checkedIcon: checkedIcon,
661
+ allSelected: allSelected,
662
+ value: value,
663
+ onKeyDown: this.handleKeyDown
664
+ }, other))))));
665
+ return React.createElement("div", {
666
+ className: classes.root,
667
+ ref: el => {
668
+ this.overlay = el;
669
+ }
670
+ }, React.createElement(SelectInput, {
671
+ id: id,
672
+ value: placeholder || display,
673
+ open: open,
674
+ focused: focused,
675
+ type: type,
676
+ disabled: disabled,
677
+ noButton: displayAsChip,
678
+ error: error,
679
+ onClick: this.handleClick,
680
+ onFocus: this.handleFocus,
681
+ onBlur: this.handleBlur,
682
+ onMouseEnter: this.props.onMouseEnter,
683
+ onMouseLeave: this.props.onMouseLeave,
684
+ refElement: el => {
685
+ this.selectInputElement = el;
686
+ }
687
+ }), open && staticPosition ? React.createElement("div", {
688
+ style: popperStyle
689
+ }, content) : React.createElement(Popper, {
690
+ anchorEl: this.inputEl,
691
+ placement: "bottom-start",
692
+ open: open,
693
+ eventsEnabled: open,
694
+ className: popperClass,
695
+ style: popperStyle,
696
+ disablePortal: true
697
+ }, content));
698
+ }
699
+
700
+ }
701
+
702
+ HiSelect.defaultProps = {
703
+ containerWidth: 0,
704
+ disabled: false,
705
+ displayAsChip: false,
706
+ dynamic: false,
707
+ error: false,
708
+ hasAll: false,
709
+ hasMore: false,
710
+ hierarchic: false,
711
+ iconAll: false,
712
+ infiniteScroll: false,
713
+ loadingMoreResults: false,
714
+ multiple: false,
715
+ parentItemSelectable: false,
716
+ type: 'text',
717
+ translations: {
718
+ all: 'All',
719
+ no_result_match: 'No result match',
720
+ search: 'Search',
721
+ n_items_selected: '%s items selected',
722
+ one_item_selected: '%s item selected',
723
+ n_children: '%s items',
724
+ one_child: '%s item'
725
+ },
726
+ searchable: false,
727
+ staticPosition: false
728
+ };
616
729
  HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
617
- /**
618
- * Affiche une checkbox pour chaque éléments, par défaut si options est nested
619
- */
620
- checkbox: PropTypes.bool,
621
- /**
622
- * Icon affiché lorsque l'item est sélectionné
623
- */
624
- checkedIcon: PropTypes.node,
625
- /**
626
- * Useful to extend the style applied to components.
627
- */
628
- classes: PropTypes.object,
629
- /**
630
- * Inactif
631
- */
632
- disabled: PropTypes.bool,
633
- /**
634
- * Option permettant d'afficher les sélection sous forme de Chip.
635
- */
636
- displayAsChip: PropTypes.bool,
637
- /**
638
- * Applique le style error
639
- */
640
- error: PropTypes.bool,
641
- /**
642
- * Affiche l'élément 'All'
643
- */
644
- hasAll: PropTypes.bool,
645
- /**
646
- * Les items sont hiérarchisés
647
- */
648
- hierarchic: PropTypes.bool,
649
- /**
650
- * Icon affiché lorsque l'item n'est pas sélectionné et qu'on le survole
651
- */
652
- hoverIcon: PropTypes.node,
653
- /**
654
- * Icon affiché lorsque l'item n'est pas sélectionné
655
- */
656
- icon: PropTypes.node,
657
- /**
658
- * Nom de l'icône
659
- */
660
- iconAll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
661
- /**
662
- * id du select
663
- */
664
- id: PropTypes.string,
665
- /**
666
- * Autorise la sélection de plusieurs valeurs
667
- */
668
- multiple: PropTypes.bool,
669
- /**
670
- * Nom du champ de formulaire
671
- */
672
- name: PropTypes.string.isRequired,
673
- /**
674
- * Fonction de callback qui renvoit la/les valeurs sélectionnées
675
- *
676
- * @param {object} event
677
- * @param {string || array} value
678
- */
679
- onChange: PropTypes.func.isRequired,
680
- /**
681
- * Fonction de callback appelée lorsqu'on ferme le select
682
- */
683
- onClose: PropTypes.func,
684
- /**
685
- * Fonction de callback appelée lorsqu'on survole le champs
686
- */
687
- onMouseEnter: PropTypes.func,
688
- /**
689
- * Fonction de callback appelée lorsque le curseur quitte le champs
690
- */
691
- onMouseLeave: PropTypes.func,
692
- /**
693
- * Fonction de callback appelée lorsqu'on écrit dans la barre de recherche
694
- * A utiliser pour les selects avec des données dynamiques
695
- *
696
- * @param {object} event
697
- * @param {string} value
698
- */
699
- onSearch: PropTypes.func,
700
- /**
701
- * Listes des options du select
702
- */
703
- options: PropTypes.array.isRequired,
704
- /**
705
- * Icon affiché lorsqu'un item parent n'est pas sélectionné
706
- */
707
- parentIcon: PropTypes.node,
708
- /**
709
- * Les items parents sont sélectionnables
710
- */
711
- parentItemSelectable: PropTypes.bool,
712
- /**
713
- * Placeholder affiché lorsque le select est fermé
714
- * Surcharge le placeholder par défaut
715
- */
716
- placeholder: PropTypes.string,
717
- /**
718
- * Affiche un input de recherche permettant de filtrer les options
719
- */
720
- searchable: PropTypes.bool,
721
- /**
722
- * Traductions (par défaut en anglais)
723
- */
724
- translations: PropTypes.object,
725
- /**
726
- * Type des éléments du select, définit le rendu d'un élément
727
- */
728
- type: PropTypes.oneOf(['icon', 'text', 'image', 'primary-highlight']),
729
- /**
730
- * Value(s) du select
731
- */
732
- value: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.array])
730
+ /**
731
+ * Icon affiché lorsque l'item est sélectionné
732
+ */
733
+ checkedIcon: PropTypes.node,
734
+
735
+ /**
736
+ * Useful to extend the style applied to components.
737
+ */
738
+ classes: PropTypes.object,
739
+
740
+ /**
741
+ * Popper width
742
+ */
743
+ containerWidth: PropTypes.number,
744
+
745
+ /**
746
+ * Inactif
747
+ */
748
+ disabled: PropTypes.bool,
749
+
750
+ /**
751
+ * Option permettant d'afficher les sélection sous forme de Chip.
752
+ */
753
+ displayAsChip: PropTypes.bool,
754
+
755
+ /**
756
+ * Option permettant de définir si les options du select sont dynamiques.
757
+ * Si les options du select sont initialisées à vide, alors ce sera mis à true
758
+ * automatiquement.
759
+ */
760
+ dynamic: PropTypes.bool,
761
+
762
+ /**
763
+ * Applique le style error
764
+ */
765
+ error: PropTypes.bool,
766
+
767
+ /**
768
+ * Affiche l'élément 'All'
769
+ */
770
+ hasAll: PropTypes.bool,
771
+
772
+ /**
773
+ * Indique si l'infinite scroll doit rechercher de nouveaux résultats
774
+ */
775
+ hasMore: PropTypes.bool,
776
+
777
+ /**
778
+ * Les items sont hiérarchisés
779
+ */
780
+ hierarchic: PropTypes.bool,
781
+
782
+ /**
783
+ * Icon affiché lorsque l'item n'est pas sélectionné et qu'on le survole
784
+ */
785
+ hoverIcon: PropTypes.node,
786
+
787
+ /**
788
+ * Icon affiché lorsque l'item n'est pas sélectionné
789
+ */
790
+ icon: PropTypes.node,
791
+
792
+ /**
793
+ * Nom de l'icône
794
+ */
795
+ iconAll: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),
796
+
797
+ /**
798
+ * id du select
799
+ */
800
+ id: PropTypes.string,
801
+
802
+ /**
803
+ * Infinite scroll dans le select dans le cas où il y a beaucoup de résultats à afficher
804
+ * afin d'éviter un lag du navigateur
805
+ */
806
+ infiniteScroll: PropTypes.bool,
807
+
808
+ /**
809
+ * Ajoute un loader
810
+ */
811
+ loading: PropTypes.bool,
812
+
813
+ /**
814
+ * Ajoute un loader en bas pour l'infiniteScroll
815
+ */
816
+ loadingMoreResults: PropTypes.bool,
817
+
818
+ /**
819
+ * Fonction de callback appelée lorsque l'utilisateur arrive en bas de la liste des options
820
+ * afin de charger les nouvelles options
821
+ *
822
+ * @param {int} pageNumber
823
+ */
824
+ loadMoreResults: PropTypes.func,
825
+
826
+ /**
827
+ * Autorise la sélection de plusieurs valeurs
828
+ */
829
+ multiple: PropTypes.bool,
830
+
831
+ /**
832
+ * Nom du champ de formulaire
833
+ */
834
+ name: PropTypes.string.isRequired,
835
+
836
+ /**
837
+ * Fonction de callback qui renvoit la/les valeurs sélectionnées
838
+ *
839
+ * @param {object} event
840
+ * @param {string || array} value
841
+ */
842
+ onChange: PropTypes.func.isRequired,
843
+
844
+ /**
845
+ * Fonction de callback appelée click dans l'input
846
+ */
847
+ onClick: PropTypes.func,
848
+
849
+ /**
850
+ * Fonction de callback appelée lorsqu'on ferme le select
851
+ */
852
+ onClose: PropTypes.func,
853
+
854
+ /**
855
+ * Fonction de callback appelée lorsqu'on survole le champs
856
+ */
857
+ onMouseEnter: PropTypes.func,
858
+
859
+ /**
860
+ * Fonction de callback appelée lorsque le curseur quitte le champs
861
+ */
862
+ onMouseLeave: PropTypes.func,
863
+
864
+ /**
865
+ * Fonction de callback appelée lorsqu'on écrit dans la barre de recherche
866
+ * A utiliser pour les selects avec des données dynamiques
867
+ *
868
+ * @param {object} event
869
+ * @param {string} value
870
+ */
871
+ onSearch: PropTypes.func,
872
+
873
+ /**
874
+ * Fonction de callback à la pression de la touche "Entrée"
875
+ */
876
+ onSubmit: PropTypes.func,
877
+
878
+ /**
879
+ * Listes des options du select
880
+ */
881
+ options: PropTypes.array.isRequired,
882
+
883
+ /**
884
+ * Icon affiché lorsqu'un item parent n'est pas sélectionné
885
+ */
886
+ parentIcon: PropTypes.node,
887
+
888
+ /**
889
+ * Les items parents sont sélectionnables
890
+ */
891
+ parentItemSelectable: PropTypes.bool,
892
+
893
+ /**
894
+ * Item épinglé en début de liste
895
+ */
896
+ pinnedItem: PropTypes.object,
897
+
898
+ /**
899
+ * Placeholder affiché lorsque le select est fermé
900
+ * Surcharge le placeholder par défaut
901
+ */
902
+ placeholder: PropTypes.string,
903
+
904
+ /**
905
+ * Affiche un input de recherche permettant de filtrer les options
906
+ */
907
+ searchable: PropTypes.bool,
908
+
909
+ /**
910
+ * Si true, le contenu du select sera dans une div static plutot que dans une popper absolute
911
+ */
912
+ staticPosition: PropTypes.bool,
913
+
914
+ /**
915
+ * Traductions (par défaut en anglais)
916
+ */
917
+ translations: PropTypes.object,
918
+
919
+ /**
920
+ * Type des éléments du select, définit le rendu d'un élément
921
+ */
922
+ type: PropTypes.oneOf(['icon', 'text', 'image', 'primary-highlight']),
923
+
924
+ /**
925
+ * Value(s) du select
926
+ */
927
+ value: PropTypes.oneOfType([PropTypes.number, PropTypes.string, PropTypes.array])
733
928
  } : {};
734
- export default withStyles(styles, { name: 'HmuiHiSelect' })(HiSelect);
929
+ export default withStyles(styles, {
930
+ hiComponent: true,
931
+ name: 'HmuiHiSelect'
932
+ })(HiSelect);