@hipay/hipay-material-ui 1.0.0-beta.18 → 1.0.0-beta.2

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 (402) hide show
  1. package/HiCheckbox/HiCheckbox.js +1 -4
  2. package/HiChip/HiChip.js +4 -4
  3. package/HiChip/HiChipSwitch.js +4 -11
  4. package/HiColoredLabel/HiColoredLabel.js +3 -9
  5. package/HiDatePicker/HiDatePicker.js +30 -34
  6. package/HiDatePicker/HiDateRangePicker.js +33 -76
  7. package/HiDatePicker/HiDateRangeSelector.js +13 -33
  8. package/HiDatePicker/ListPicker.js +7 -32
  9. package/HiDatePicker/Overlays/CustomOverlayLayout.js +1 -3
  10. package/HiDatePicker/Overlays/MonthPickerOverlay.js +1 -5
  11. package/HiDatePicker/Overlays/Overlay.js +4 -22
  12. package/HiDatePicker/Overlays/YearPickerOverlay.js +1 -2
  13. package/HiDatePicker/stylesheet.js +0 -7
  14. package/HiForm/HiFormControl.js +31 -39
  15. package/HiForm/HiInput.js +18 -39
  16. package/HiForm/HiSearchField.js +2 -2
  17. package/HiForm/index.js +0 -18
  18. package/HiPins/HiPins.js +1 -0
  19. package/HiSelect/HiSelect.js +353 -400
  20. package/HiSelect/HiSelectField.js +6 -8
  21. package/HiSelect/HiSuggestSelect.js +47 -27
  22. package/HiSelect/HiSuggestSelectField.js +80 -88
  23. package/HiSelect/SelectInput.js +23 -34
  24. package/HiSelectableList/HiSelectableList.js +3 -9
  25. package/HiSelectableList/HiSelectableListItem.js +55 -96
  26. package/HiSwitch/HiSwitchState.js +1 -1
  27. package/HiSwitch/index.js +0 -6
  28. package/HiTable/BodyCellBuilder.js +97 -97
  29. package/HiTable/BodyCells/CellCountry.js +36 -11
  30. package/HiTable/BodyCells/CellIcon.js +20 -29
  31. package/HiTable/BodyCells/CellImage.js +22 -43
  32. package/HiTable/BodyCells/CellLayout.js +19 -25
  33. package/HiTable/BodyCells/CellNumeric.js +2 -7
  34. package/HiTable/BodyCells/CellSentinel.js +17 -26
  35. package/HiTable/BodyCells/CellStatus.js +2 -6
  36. package/HiTable/BodyCells/CellText.js +1 -2
  37. package/HiTable/BodyCells/CellThirdPartySecurity.js +22 -45
  38. package/HiTable/BodyRow.js +57 -78
  39. package/HiTable/ColumnFilter.js +15 -28
  40. package/HiTable/HeaderCell.js +16 -20
  41. package/HiTable/HiTable.js +11 -61
  42. package/HiTable/HiTableBody.js +14 -46
  43. package/HiTable/HiTableContextMenu.js +3 -7
  44. package/HiTable/HiTableFooterScroll.js +1 -1
  45. package/HiTable/HiTableHead.js +7 -24
  46. package/HiTable/OrderColumns.js +2 -6
  47. package/HiTopBar/HiTopBar.js +117 -37
  48. package/es/HiCheckbox/HiCheckbox.js +1 -4
  49. package/es/HiChip/HiChip.js +4 -4
  50. package/es/HiChip/HiChipSwitch.js +4 -11
  51. package/es/HiColoredLabel/HiColoredLabel.js +4 -9
  52. package/es/HiDatePicker/HiDatePicker.js +25 -30
  53. package/es/HiDatePicker/HiDateRangePicker.js +32 -72
  54. package/es/HiDatePicker/HiDateRangeSelector.js +14 -34
  55. package/es/HiDatePicker/ListPicker.js +20 -39
  56. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +1 -3
  57. package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +1 -5
  58. package/es/HiDatePicker/Overlays/Overlay.js +4 -18
  59. package/es/HiDatePicker/Overlays/YearPickerOverlay.js +1 -2
  60. package/es/HiDatePicker/stylesheet.js +0 -7
  61. package/es/HiForm/HiFormControl.js +18 -32
  62. package/es/HiForm/HiInput.js +17 -34
  63. package/es/HiForm/HiSearchField.js +2 -2
  64. package/es/HiForm/index.js +1 -3
  65. package/es/HiPins/HiPins.js +1 -0
  66. package/es/HiSelect/HiSelect.js +324 -375
  67. package/es/HiSelect/HiSelectField.js +7 -9
  68. package/es/HiSelect/HiSuggestSelect.js +39 -26
  69. package/es/HiSelect/HiSuggestSelectField.js +69 -77
  70. package/es/HiSelect/SelectInput.js +23 -44
  71. package/es/HiSelectableList/HiSelectableList.js +4 -10
  72. package/es/HiSelectableList/HiSelectableListItem.js +55 -91
  73. package/es/HiSwitch/HiSwitchState.js +1 -1
  74. package/es/HiSwitch/index.js +0 -1
  75. package/es/HiTable/BodyCellBuilder.js +98 -96
  76. package/es/HiTable/BodyCells/CellCountry.js +35 -10
  77. package/es/HiTable/BodyCells/CellIcon.js +9 -18
  78. package/es/HiTable/BodyCells/CellImage.js +23 -42
  79. package/es/HiTable/BodyCells/CellLayout.js +21 -27
  80. package/es/HiTable/BodyCells/CellNumeric.js +2 -6
  81. package/es/HiTable/BodyCells/CellSentinel.js +9 -20
  82. package/es/HiTable/BodyCells/CellStatus.js +2 -6
  83. package/es/HiTable/BodyCells/CellText.js +1 -2
  84. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +18 -42
  85. package/es/HiTable/BodyRow.js +56 -79
  86. package/es/HiTable/ColumnFilter.js +9 -15
  87. package/es/HiTable/HeaderCell.js +16 -20
  88. package/es/HiTable/HiTable.js +12 -59
  89. package/es/HiTable/HiTableBody.js +11 -42
  90. package/es/HiTable/HiTableContextMenu.js +3 -7
  91. package/es/HiTable/HiTableFooterScroll.js +1 -1
  92. package/es/HiTable/HiTableHead.js +7 -19
  93. package/es/HiTable/OrderColumns.js +2 -6
  94. package/es/HiTopBar/HiTopBar.js +108 -40
  95. package/es/styles/createHiMuiTheme.js +0 -11
  96. package/es/utils/hiHelpers.js +5 -6
  97. package/index.es.js +1 -1
  98. package/index.js +1 -1
  99. package/package.json +44 -45
  100. package/styles/createHiMuiTheme.js +0 -11
  101. package/umd/hipay-material-ui.development.js +43603 -87235
  102. package/umd/hipay-material-ui.production.min.js +5 -5
  103. package/utils/hiHelpers.js +4 -6
  104. package/HI-CHANGELOG.md +0 -58
  105. package/HiAlertModal/HiAlertModal.js +0 -247
  106. package/HiAlertModal/index.js +0 -16
  107. package/HiBreadcrumb/HiBreadcrumb.js +0 -149
  108. package/HiBreadcrumb/HiStep.js +0 -159
  109. package/HiBreadcrumb/HiStepConnector.js +0 -207
  110. package/HiBreadcrumb/HiStepContent.js +0 -122
  111. package/HiBreadcrumb/HiStepIcon.js +0 -191
  112. package/HiBreadcrumb/HiStepLabel.js +0 -248
  113. package/HiBreadcrumb/HiStepper.js +0 -106
  114. package/HiBreadcrumb/index.js +0 -16
  115. package/HiDotsStepper/HiDot.js +0 -151
  116. package/HiDotsStepper/HiDotsStepper.js +0 -146
  117. package/HiDotsStepper/index.js +0 -16
  118. package/HiExpansionPanel/HiExpansionPanel.js +0 -231
  119. package/HiExpansionPanel/index.js +0 -16
  120. package/HiForm/HiAddressField.js +0 -204
  121. package/HiForm/HiSlider.js +0 -399
  122. package/HiPdfReader/HiPdfReader.js +0 -282
  123. package/HiPdfReader/index.js +0 -16
  124. package/HiTable/HiTableFooter.js +0 -131
  125. package/es/HiAlertModal/HiAlertModal.js +0 -189
  126. package/es/HiAlertModal/index.js +0 -1
  127. package/es/HiBreadcrumb/HiBreadcrumb.js +0 -81
  128. package/es/HiBreadcrumb/HiStep.js +0 -94
  129. package/es/HiBreadcrumb/HiStepConnector.js +0 -143
  130. package/es/HiBreadcrumb/HiStepContent.js +0 -63
  131. package/es/HiBreadcrumb/HiStepIcon.js +0 -149
  132. package/es/HiBreadcrumb/HiStepLabel.js +0 -197
  133. package/es/HiBreadcrumb/HiStepper.js +0 -46
  134. package/es/HiBreadcrumb/index.js +0 -1
  135. package/es/HiDotsStepper/HiDot.js +0 -92
  136. package/es/HiDotsStepper/HiDotsStepper.js +0 -83
  137. package/es/HiDotsStepper/index.js +0 -1
  138. package/es/HiExpansionPanel/HiExpansionPanel.js +0 -170
  139. package/es/HiExpansionPanel/index.js +0 -1
  140. package/es/HiForm/HiAddressField.js +0 -142
  141. package/es/HiForm/HiSlider.js +0 -309
  142. package/es/HiPdfReader/HiPdfReader.js +0 -198
  143. package/es/HiPdfReader/index.js +0 -1
  144. package/es/HiTable/HiTableFooter.js +0 -74
  145. package/hmu/images/countries/ad.svg +0 -151
  146. package/hmu/images/countries/ae.svg +0 -6
  147. package/hmu/images/countries/af.svg +0 -83
  148. package/hmu/images/countries/ag.svg +0 -15
  149. package/hmu/images/countries/ai.svg +0 -767
  150. package/hmu/images/countries/al.svg +0 -5
  151. package/hmu/images/countries/am.svg +0 -5
  152. package/hmu/images/countries/ao.svg +0 -13
  153. package/hmu/images/countries/aq.svg +0 -6
  154. package/hmu/images/countries/ar.svg +0 -32
  155. package/hmu/images/countries/as.svg +0 -33
  156. package/hmu/images/countries/at.svg +0 -6
  157. package/hmu/images/countries/au.svg +0 -9
  158. package/hmu/images/countries/aw.svg +0 -186
  159. package/hmu/images/countries/ax.svg +0 -18
  160. package/hmu/images/countries/az.svg +0 -8
  161. package/hmu/images/countries/ba.svg +0 -12
  162. package/hmu/images/countries/bb.svg +0 -6
  163. package/hmu/images/countries/bd.svg +0 -4
  164. package/hmu/images/countries/be.svg +0 -7
  165. package/hmu/images/countries/bf.svg +0 -7
  166. package/hmu/images/countries/bg.svg +0 -7
  167. package/hmu/images/countries/bh.svg +0 -11
  168. package/hmu/images/countries/bi.svg +0 -15
  169. package/hmu/images/countries/bj.svg +0 -14
  170. package/hmu/images/countries/bl.svg +0 -7
  171. package/hmu/images/countries/bm.svg +0 -99
  172. package/hmu/images/countries/bn.svg +0 -36
  173. package/hmu/images/countries/bo.svg +0 -686
  174. package/hmu/images/countries/bq.svg +0 -5
  175. package/hmu/images/countries/br.svg +0 -45
  176. package/hmu/images/countries/bs.svg +0 -13
  177. package/hmu/images/countries/bt.svg +0 -89
  178. package/hmu/images/countries/bv.svg +0 -13
  179. package/hmu/images/countries/bw.svg +0 -7
  180. package/hmu/images/countries/by.svg +0 -61
  181. package/hmu/images/countries/bz.svg +0 -146
  182. package/hmu/images/countries/ca.svg +0 -4
  183. package/hmu/images/countries/cc.svg +0 -19
  184. package/hmu/images/countries/cd.svg +0 -5
  185. package/hmu/images/countries/cf.svg +0 -15
  186. package/hmu/images/countries/cg.svg +0 -12
  187. package/hmu/images/countries/ch.svg +0 -9
  188. package/hmu/images/countries/ci.svg +0 -7
  189. package/hmu/images/countries/ck.svg +0 -9
  190. package/hmu/images/countries/cl.svg +0 -13
  191. package/hmu/images/countries/cm.svg +0 -15
  192. package/hmu/images/countries/cn.svg +0 -11
  193. package/hmu/images/countries/co.svg +0 -7
  194. package/hmu/images/countries/cr.svg +0 -7
  195. package/hmu/images/countries/cu.svg +0 -13
  196. package/hmu/images/countries/cv.svg +0 -13
  197. package/hmu/images/countries/cw.svg +0 -14
  198. package/hmu/images/countries/cx.svg +0 -15
  199. package/hmu/images/countries/cy.svg +0 -6
  200. package/hmu/images/countries/cz.svg +0 -12
  201. package/hmu/images/countries/de.svg +0 -5
  202. package/hmu/images/countries/dj.svg +0 -13
  203. package/hmu/images/countries/dk.svg +0 -5
  204. package/hmu/images/countries/dm.svg +0 -152
  205. package/hmu/images/countries/do.svg +0 -6745
  206. package/hmu/images/countries/dz.svg +0 -5
  207. package/hmu/images/countries/ec.svg +0 -141
  208. package/hmu/images/countries/ee.svg +0 -7
  209. package/hmu/images/countries/eg.svg +0 -38
  210. package/hmu/images/countries/eh.svg +0 -15
  211. package/hmu/images/countries/er.svg +0 -8
  212. package/hmu/images/countries/es-ct.svg +0 -4
  213. package/hmu/images/countries/es.svg +0 -581
  214. package/hmu/images/countries/et.svg +0 -14
  215. package/hmu/images/countries/eu.svg +0 -28
  216. package/hmu/images/countries/fi.svg +0 -5
  217. package/hmu/images/countries/fj.svg +0 -124
  218. package/hmu/images/countries/fk.svg +0 -90
  219. package/hmu/images/countries/fm.svg +0 -11
  220. package/hmu/images/countries/fo.svg +0 -12
  221. package/hmu/images/countries/fr.svg +0 -7
  222. package/hmu/images/countries/ga.svg +0 -7
  223. package/hmu/images/countries/gb-eng.svg +0 -5
  224. package/hmu/images/countries/gb-nir.svg +0 -137
  225. package/hmu/images/countries/gb-sct.svg +0 -4
  226. package/hmu/images/countries/gb-wls.svg +0 -9
  227. package/hmu/images/countries/gb.svg +0 -15
  228. package/hmu/images/countries/gd.svg +0 -27
  229. package/hmu/images/countries/ge.svg +0 -6
  230. package/hmu/images/countries/gf.svg +0 -5
  231. package/hmu/images/countries/gg.svg +0 -9
  232. package/hmu/images/countries/gh.svg +0 -6
  233. package/hmu/images/countries/gi.svg +0 -33
  234. package/hmu/images/countries/gl.svg +0 -4
  235. package/hmu/images/countries/gm.svg +0 -14
  236. package/hmu/images/countries/gn.svg +0 -7
  237. package/hmu/images/countries/gp.svg +0 -7
  238. package/hmu/images/countries/gq.svg +0 -23
  239. package/hmu/images/countries/gr.svg +0 -22
  240. package/hmu/images/countries/gs.svg +0 -205
  241. package/hmu/images/countries/gt.svg +0 -204
  242. package/hmu/images/countries/gu.svg +0 -39
  243. package/hmu/images/countries/gw.svg +0 -13
  244. package/hmu/images/countries/gy.svg +0 -9
  245. package/hmu/images/countries/hk.svg +0 -32
  246. package/hmu/images/countries/hm.svg +0 -9
  247. package/hmu/images/countries/hn.svg +0 -18
  248. package/hmu/images/countries/hr.svg +0 -59
  249. package/hmu/images/countries/ht.svg +0 -122
  250. package/hmu/images/countries/hu.svg +0 -7
  251. package/hmu/images/countries/id.svg +0 -6
  252. package/hmu/images/countries/ie.svg +0 -7
  253. package/hmu/images/countries/il.svg +0 -14
  254. package/hmu/images/countries/im.svg +0 -36
  255. package/hmu/images/countries/in.svg +0 -25
  256. package/hmu/images/countries/io.svg +0 -148
  257. package/hmu/images/countries/iq.svg +0 -10
  258. package/hmu/images/countries/ir.svg +0 -219
  259. package/hmu/images/countries/is.svg +0 -12
  260. package/hmu/images/countries/it.svg +0 -7
  261. package/hmu/images/countries/je.svg +0 -32
  262. package/hmu/images/countries/jm.svg +0 -8
  263. package/hmu/images/countries/jo.svg +0 -16
  264. package/hmu/images/countries/jp.svg +0 -11
  265. package/hmu/images/countries/ke.svg +0 -23
  266. package/hmu/images/countries/kg.svg +0 -15
  267. package/hmu/images/countries/kh.svg +0 -69
  268. package/hmu/images/countries/ki.svg +0 -36
  269. package/hmu/images/countries/km.svg +0 -16
  270. package/hmu/images/countries/kn.svg +0 -14
  271. package/hmu/images/countries/kp.svg +0 -15
  272. package/hmu/images/countries/kr.svg +0 -24
  273. package/hmu/images/countries/kw.svg +0 -13
  274. package/hmu/images/countries/ky.svg +0 -63
  275. package/hmu/images/countries/kz.svg +0 -23
  276. package/hmu/images/countries/la.svg +0 -12
  277. package/hmu/images/countries/lb.svg +0 -15
  278. package/hmu/images/countries/lc.svg +0 -8
  279. package/hmu/images/countries/li.svg +0 -43
  280. package/hmu/images/countries/lk.svg +0 -22
  281. package/hmu/images/countries/lr.svg +0 -14
  282. package/hmu/images/countries/ls.svg +0 -8
  283. package/hmu/images/countries/lt.svg +0 -7
  284. package/hmu/images/countries/lu.svg +0 -5
  285. package/hmu/images/countries/lv.svg +0 -6
  286. package/hmu/images/countries/ly.svg +0 -13
  287. package/hmu/images/countries/ma.svg +0 -4
  288. package/hmu/images/countries/mc.svg +0 -6
  289. package/hmu/images/countries/md.svg +0 -72
  290. package/hmu/images/countries/me.svg +0 -118
  291. package/hmu/images/countries/mf.svg +0 -7
  292. package/hmu/images/countries/mg.svg +0 -7
  293. package/hmu/images/countries/mh.svg +0 -7
  294. package/hmu/images/countries/mk.svg +0 -5
  295. package/hmu/images/countries/ml.svg +0 -7
  296. package/hmu/images/countries/mm.svg +0 -16
  297. package/hmu/images/countries/mn.svg +0 -13
  298. package/hmu/images/countries/mo.svg +0 -9
  299. package/hmu/images/countries/mp.svg +0 -86
  300. package/hmu/images/countries/mq.svg +0 -7
  301. package/hmu/images/countries/mr.svg +0 -6
  302. package/hmu/images/countries/ms.svg +0 -39
  303. package/hmu/images/countries/mt.svg +0 -49
  304. package/hmu/images/countries/mu.svg +0 -8
  305. package/hmu/images/countries/mv.svg +0 -6
  306. package/hmu/images/countries/mw.svg +0 -10
  307. package/hmu/images/countries/mx.svg +0 -385
  308. package/hmu/images/countries/my.svg +0 -15
  309. package/hmu/images/countries/mz.svg +0 -21
  310. package/hmu/images/countries/na.svg +0 -16
  311. package/hmu/images/countries/nc.svg +0 -7
  312. package/hmu/images/countries/ne.svg +0 -6
  313. package/hmu/images/countries/nf.svg +0 -9
  314. package/hmu/images/countries/ng.svg +0 -6
  315. package/hmu/images/countries/ni.svg +0 -131
  316. package/hmu/images/countries/nl.svg +0 -7
  317. package/hmu/images/countries/no.svg +0 -7
  318. package/hmu/images/countries/np.svg +0 -14
  319. package/hmu/images/countries/nr.svg +0 -12
  320. package/hmu/images/countries/nu.svg +0 -26
  321. package/hmu/images/countries/nz.svg +0 -41
  322. package/hmu/images/countries/om.svg +0 -116
  323. package/hmu/images/countries/pa.svg +0 -14
  324. package/hmu/images/countries/pe.svg +0 -279
  325. package/hmu/images/countries/pf.svg +0 -19
  326. package/hmu/images/countries/pg.svg +0 -9
  327. package/hmu/images/countries/ph.svg +0 -28
  328. package/hmu/images/countries/pk.svg +0 -15
  329. package/hmu/images/countries/pl.svg +0 -6
  330. package/hmu/images/countries/pm.svg +0 -7
  331. package/hmu/images/countries/pn.svg +0 -62
  332. package/hmu/images/countries/pr.svg +0 -13
  333. package/hmu/images/countries/ps.svg +0 -15
  334. package/hmu/images/countries/pt.svg +0 -57
  335. package/hmu/images/countries/pw.svg +0 -11
  336. package/hmu/images/countries/py.svg +0 -157
  337. package/hmu/images/countries/qa.svg +0 -4
  338. package/hmu/images/countries/re.svg +0 -7
  339. package/hmu/images/countries/ro.svg +0 -7
  340. package/hmu/images/countries/rs.svg +0 -292
  341. package/hmu/images/countries/ru.svg +0 -7
  342. package/hmu/images/countries/rw.svg +0 -13
  343. package/hmu/images/countries/sa.svg +0 -26
  344. package/hmu/images/countries/sb.svg +0 -13
  345. package/hmu/images/countries/sc.svg +0 -14
  346. package/hmu/images/countries/sd.svg +0 -13
  347. package/hmu/images/countries/se.svg +0 -16
  348. package/hmu/images/countries/sg.svg +0 -13
  349. package/hmu/images/countries/sh.svg +0 -74
  350. package/hmu/images/countries/si.svg +0 -18
  351. package/hmu/images/countries/sj.svg +0 -7
  352. package/hmu/images/countries/sk.svg +0 -9
  353. package/hmu/images/countries/sl.svg +0 -7
  354. package/hmu/images/countries/sm.svg +0 -91
  355. package/hmu/images/countries/sn.svg +0 -8
  356. package/hmu/images/countries/so.svg +0 -11
  357. package/hmu/images/countries/sr.svg +0 -6
  358. package/hmu/images/countries/ss.svg +0 -8
  359. package/hmu/images/countries/st.svg +0 -16
  360. package/hmu/images/countries/sv.svg +0 -618
  361. package/hmu/images/countries/sx.svg +0 -56
  362. package/hmu/images/countries/sy.svg +0 -6
  363. package/hmu/images/countries/sz.svg +0 -45
  364. package/hmu/images/countries/tc.svg +0 -67
  365. package/hmu/images/countries/td.svg +0 -7
  366. package/hmu/images/countries/tf.svg +0 -15
  367. package/hmu/images/countries/tg.svg +0 -14
  368. package/hmu/images/countries/th.svg +0 -7
  369. package/hmu/images/countries/tj.svg +0 -22
  370. package/hmu/images/countries/tk.svg +0 -5
  371. package/hmu/images/countries/tl.svg +0 -13
  372. package/hmu/images/countries/tm.svg +0 -213
  373. package/hmu/images/countries/tn.svg +0 -13
  374. package/hmu/images/countries/to.svg +0 -10
  375. package/hmu/images/countries/tr.svg +0 -8
  376. package/hmu/images/countries/tt.svg +0 -5
  377. package/hmu/images/countries/tv.svg +0 -27
  378. package/hmu/images/countries/tw.svg +0 -14
  379. package/hmu/images/countries/tz.svg +0 -13
  380. package/hmu/images/countries/ua.svg +0 -6
  381. package/hmu/images/countries/ug.svg +0 -30
  382. package/hmu/images/countries/um.svg +0 -23
  383. package/hmu/images/countries/un.svg +0 -16
  384. package/hmu/images/countries/us.svg +0 -12
  385. package/hmu/images/countries/uy.svg +0 -28
  386. package/hmu/images/countries/uz.svg +0 -30
  387. package/hmu/images/countries/va.svg +0 -483
  388. package/hmu/images/countries/vc.svg +0 -8
  389. package/hmu/images/countries/ve.svg +0 -26
  390. package/hmu/images/countries/vg.svg +0 -133
  391. package/hmu/images/countries/vi.svg +0 -31
  392. package/hmu/images/countries/vn.svg +0 -11
  393. package/hmu/images/countries/vu.svg +0 -18
  394. package/hmu/images/countries/wf.svg +0 -7
  395. package/hmu/images/countries/ws.svg +0 -7
  396. package/hmu/images/countries/ye.svg +0 -7
  397. package/hmu/images/countries/yt.svg +0 -7
  398. package/hmu/images/countries/za.svg +0 -17
  399. package/hmu/images/countries/zm.svg +0 -27
  400. package/hmu/images/countries/zw.svg +0 -21
  401. package/hmu/images/hipay-white-logo.svg +0 -42
  402. package/hmu/images/logo_visa_75wx45h.gif +0 -0
@@ -5,14 +5,14 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.styles = undefined;
7
7
 
8
- var _keys = require('babel-runtime/core-js/object/keys');
9
-
10
- var _keys2 = _interopRequireDefault(_keys);
11
-
12
8
  var _defineProperty2 = require('babel-runtime/helpers/defineProperty');
13
9
 
14
10
  var _defineProperty3 = _interopRequireDefault(_defineProperty2);
15
11
 
12
+ var _keys = require('babel-runtime/core-js/object/keys');
13
+
14
+ var _keys2 = _interopRequireDefault(_keys);
15
+
16
16
  var _getPrototypeOf = require('babel-runtime/core-js/object/get-prototype-of');
17
17
 
18
18
  var _getPrototypeOf2 = _interopRequireDefault(_getPrototypeOf);
@@ -63,6 +63,10 @@ var _ClickAwayListener = require('material-ui/utils/ClickAwayListener');
63
63
 
64
64
  var _ClickAwayListener2 = _interopRequireDefault(_ClickAwayListener);
65
65
 
66
+ var _Collapse = require('material-ui/transitions/Collapse');
67
+
68
+ var _Collapse2 = _interopRequireDefault(_Collapse);
69
+
66
70
  var _reactPopper = require('react-popper');
67
71
 
68
72
  var _mdiMaterialUi = require('mdi-material-ui');
@@ -71,6 +75,10 @@ var _HiSelectableList = require('../HiSelectableList');
71
75
 
72
76
  var _HiSelectableList2 = _interopRequireDefault(_HiSelectableList);
73
77
 
78
+ var _HiSelectableListItem = require('../HiSelectableList/HiSelectableListItem');
79
+
80
+ var _HiSelectableListItem2 = _interopRequireDefault(_HiSelectableListItem);
81
+
74
82
  var _HiForm = require('../HiForm');
75
83
 
76
84
  var _SelectInput = require('./SelectInput');
@@ -103,6 +111,7 @@ var styles = exports.styles = function styles(theme) {
103
111
  },
104
112
  popper: {
105
113
  width: '100%',
114
+ transform: 'none !important',
106
115
  zIndex: 9
107
116
  },
108
117
  paper: {
@@ -149,7 +158,249 @@ var HiSelect = function (_React$PureComponent) {
149
158
 
150
159
  var _this = (0, _possibleConstructorReturn3.default)(this, (HiSelect.__proto__ || (0, _getPrototypeOf2.default)(HiSelect)).call(this, props));
151
160
 
152
- _initialiseProps.call(_this);
161
+ _this.handleClick = function () {
162
+ document.body.style.overflow = 'hidden';
163
+ _this.setState({ open: true });
164
+ var options = _this.props.options.slice();
165
+ _this.handleSuggestions(options);
166
+
167
+ if (_this.props.onClick) {
168
+ _this.props.onClick();
169
+ }
170
+
171
+ // Gestion du focus
172
+ if (_this.searchField) {
173
+ // si searchable, focus sur le champs de recherche
174
+ var searchField = _this.searchField;
175
+ setTimeout(function () {
176
+ searchField.focus();
177
+ }, 1);
178
+ } else if (_this.overlay) {
179
+ // sinon focus sur le dernier élément selectionné
180
+ _this.focusOnSelectedItem();
181
+ }
182
+ };
183
+
184
+ _this.focusOnSelectedItem = function () {
185
+ // On récupère la div parent "overlay"
186
+ var overlay = (0, _reactDom.findDOMNode)(_this.overlay);
187
+ var multiple = _this.props.multiple;
188
+ var value = _this.props.value;
189
+ var selectedIdList = Array.isArray(value) ? value : [value];
190
+ setTimeout(function () {
191
+ var focused = false;
192
+ // Si un ou plusieurs items sont selectionnés, on focus sur le dernier
193
+ if (selectedIdList.length > 0) {
194
+ var itemSelected = overlay.querySelector('[data-id="' + selectedIdList[selectedIdList.length - 1] + '"]');
195
+ if (itemSelected && itemSelected.parentElement.tagName === 'LI') {
196
+ itemSelected.parentElement.focus();
197
+ focused = true;
198
+ }
199
+ }
200
+ // Si pas d'item selectionné, ou pas visible (en cas de recherche), focus sur le premier
201
+ if (selectedIdList.length === 0 || !focused) {
202
+ // On recupère tous les items
203
+ var items = overlay.getElementsByTagName('li');
204
+ var itemToFocus = items[0];
205
+ // Si select multiple, et qu'au moins un selectionné, focus sur le 2e item
206
+ if (multiple && selectedIdList.length > 0) {
207
+ itemToFocus = items[1];
208
+ }
209
+ itemToFocus.focus();
210
+ }
211
+ }, 1);
212
+ };
213
+
214
+ _this.handleKeyDown = function (event) {
215
+ var nextItem = void 0;
216
+ if (event.key === 'ArrowDown') {
217
+ nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'down');
218
+ } else if (event.key === 'ArrowUp') {
219
+ nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'up');
220
+ } else if (event.key === 'Tab') {
221
+ document.body.style.overflow = 'auto';
222
+ _this.setState({ open: false });
223
+ }
224
+ if (nextItem) {
225
+ nextItem.focus();
226
+ }
227
+ };
228
+
229
+ _this.handleKeyDownSearch = function (event) {
230
+ if (_this.overlay && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
231
+ _this.focusOnSelectedItem();
232
+ }
233
+ };
234
+
235
+ _this.handleFocus = function () {
236
+ _this.setState({ focused: true });
237
+ };
238
+
239
+ _this.handleBlur = function () {
240
+ _this.setState({ focused: false });
241
+ };
242
+
243
+ _this.handleClose = function () {
244
+ document.body.style.overflow = 'auto';
245
+ _this.setState({
246
+ open: false
247
+ });
248
+
249
+ if (_this.props.onClose) {
250
+ _this.props.onClose();
251
+ }
252
+ };
253
+
254
+ _this.handleSelect = function (event, item) {
255
+ var _this$props = _this.props,
256
+ multiple = _this$props.multiple,
257
+ value = _this$props.value,
258
+ name = _this$props.name,
259
+ onChange = _this$props.onChange,
260
+ options = _this$props.options,
261
+ hierarchic = _this$props.hierarchic;
262
+ var _this$state = _this.state,
263
+ hierarchySelected = _this$state.hierarchySelected,
264
+ hierarchy = _this$state.hierarchy,
265
+ nbOptions = _this$state.nbOptions;
266
+
267
+ var hiSelected = (0, _extends3.default)({}, hierarchySelected);
268
+
269
+ if (multiple) {
270
+ var valueList = value;
271
+ if (item.id === '_all') {
272
+ if (valueList.length === nbOptions) {
273
+ valueList = [];
274
+ if (hierarchic) {
275
+ // if hierarchic select => empty associative array of selected children
276
+ (0, _keys2.default)(hiSelected).forEach(function (key) {
277
+ hiSelected[key] = [];
278
+ });
279
+ }
280
+ } else {
281
+ options.forEach(function (option) {
282
+ if (option.hasChildren !== true && !valueList.includes(option.id) && option.id !== '_all') {
283
+ valueList.push(option.id);
284
+ } else if (option.hasChildren === true) {
285
+ // if hierarchic select => fill associative array of selected children
286
+ hiSelected[option.id] = hierarchy[option.id];
287
+ }
288
+ });
289
+ }
290
+ } else if (valueList.includes(item.id) || item.hasChildren === true && hierarchySelected[item.id].length === hierarchy[item.id].length) {
291
+ // item déjà sélectionné => on le déselectionne
292
+ if (item.hasChildren !== true) {
293
+ valueList = valueList.filter(function (val) {
294
+ return val !== item.id;
295
+ });
296
+ }
297
+
298
+ if (item.hasChildren === true) {
299
+ // remove all children
300
+ valueList = valueList.filter(function (val) {
301
+ return !_this.state.hierarchy[item.id].includes(val);
302
+ });
303
+ hiSelected[item.id] = [];
304
+ } else if (item.hasOwnProperty('parentId')) {
305
+ // Si item est un enfant on l'enlève du tableau associatif des
306
+ // elmts sélectionnés
307
+ hiSelected[item.parentId].splice(hiSelected[item.parentId].indexOf(item.id), 1);
308
+ }
309
+ } else {
310
+ // item non sélectionné => on le sélectionne
311
+ if (item.hasChildren !== true) valueList.push(item.id);
312
+
313
+ if (item.hasChildren === true) {
314
+ // Si item parent => on ajoute tous les enfants
315
+ // Ou on les supprime s'ils sont déjà tous sélectionnés (dans une liste filtrée)
316
+ var idsInSuggestions = [];
317
+ _this.state.suggestions.forEach(function (suggestion) {
318
+ if (_this.state.hierarchy[item.id].includes(suggestion.id)) {
319
+ idsInSuggestions.push(suggestion.id);
320
+ }
321
+ });
322
+ // if(hierarchySelected[item.id].length > 0) {}
323
+ var allChildrenSuggestionsSelected = true;
324
+ idsInSuggestions.forEach(function (id) {
325
+ if (!hierarchySelected[item.id].includes(id)) {
326
+ allChildrenSuggestionsSelected = false;
327
+ }
328
+ });
329
+
330
+ if (allChildrenSuggestionsSelected === true) {
331
+ // On supprime les enfants car déjà tous sélectionnés
332
+ idsInSuggestions.forEach(function (id) {
333
+ valueList.splice(valueList.indexOf(id), 1);
334
+ hiSelected[item.id].splice(hiSelected[item.id].indexOf(id), 1);
335
+ });
336
+ } else {
337
+ // On ajoute tous les enfants filtrés au éléments sélectionnés
338
+ valueList = (0, _hiHelpers.arrayUnique)(valueList.concat(idsInSuggestions));
339
+ hiSelected[item.id] = (0, _hiHelpers.arrayUnique)(hiSelected[item.id].concat(idsInSuggestions));
340
+ }
341
+
342
+ _this.setState({ hierarchySelected: hiSelected });
343
+ } else if (item.hasOwnProperty('parentId')) {
344
+ // Si item est un enfant on l'ajoute du tableau associatif des
345
+ // elmts sélectionnés
346
+ hiSelected[item.parentId].push(item.id);
347
+ }
348
+ }
349
+ _this.setState({ hierarchySelected: hiSelected });
350
+ onChange(event, valueList);
351
+ } else {
352
+ onChange(event, item.id);
353
+ _this.handleClose();
354
+ }
355
+ };
356
+
357
+ _this.handleSuggestions = function (suggestions) {
358
+ var _this$props2 = _this.props,
359
+ options = _this$props2.options,
360
+ hasAll = _this$props2.hasAll,
361
+ iconAll = _this$props2.iconAll,
362
+ translations = _this$props2.translations,
363
+ multiple = _this$props2.multiple;
364
+
365
+
366
+ if (suggestions.length === 0) {
367
+ // Handle No Result
368
+ // FIX to remove all item
369
+ suggestions = [];
370
+ suggestions.push({
371
+ id: '_no_result',
372
+ type: 'text',
373
+ disabled: true,
374
+ centered: true,
375
+ checkbox: false,
376
+ label: translations.no_result_match
377
+ });
378
+ } else if (hasAll && suggestions.length > 0 && suggestions.length === options.length && multiple === true) {
379
+ // Handle 'All'
380
+ if (suggestions.filter(function (suggestion) {
381
+ return suggestion.id === '_all';
382
+ }).length === 0) {
383
+ var allItem = {
384
+ id: '_all',
385
+ icon: iconAll,
386
+ label: translations.all
387
+ };
388
+ if (iconAll !== false) {
389
+ allItem.type = 'icon';
390
+ }
391
+ suggestions.unshift(allItem);
392
+ }
393
+ }
394
+
395
+ _this.setState({
396
+ suggestions: suggestions
397
+ });
398
+ };
399
+
400
+ _this.handleRequestDelete = function (evt) {
401
+ evt.stopPropagation();
402
+ _this.props.onChange(_this.props.name, []);
403
+ };
153
404
 
154
405
  _this.state = {
155
406
  open: false,
@@ -161,30 +412,28 @@ var HiSelect = function (_React$PureComponent) {
161
412
  dynamic: false
162
413
  };
163
414
 
164
- // Check if value is in options
165
- var valueInOptions = false;
166
- var val = props.value;
167
- // No options provided.
168
- if (!props.options.length || !val || !val.length) {
169
- valueInOptions = true;
170
- } else {
171
- // Check if an option match value prop.
172
- props.options.forEach(function (item) {
173
- if (!valueInOptions && val.indexOf(item.id) !== -1) {
174
- valueInOptions = true;
415
+ if (props.hierarchic === true && props.options.length > 1) {
416
+ // Construct two associative arrays
417
+ // hierarchy[parentId] => children
418
+ // hierarchySelected[parentId] => selected children
419
+ var hierarchy = {};
420
+ var hierarchySelected = {};
421
+ var value = props.value || [];
422
+ if (!Array.isArray(value)) value = [props.value];
423
+ props.options.forEach(function (option) {
424
+ if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
425
+ hierarchy[option.id] = [];
426
+ hierarchySelected[option.id] = [];
427
+ } else if (option.hasOwnProperty('parentId')) {
428
+ hierarchy[option.parentId].push(option.id);
429
+ if (value.includes(option.id)) {
430
+ hierarchySelected[option.parentId].push(option.id);
431
+ }
175
432
  }
176
433
  });
177
- }
178
434
 
179
- if (!valueInOptions) {
180
- throw new Error('prop value provided does not match any option.');
181
- }
182
-
183
- if (props.hierarchic === true && props.options.length > 1) {
184
- var hierarchyTrees = _this.buildHierarchyTrees(props);
185
-
186
- _this.state.hierarchy = hierarchyTrees.hierarchy;
187
- _this.state.hierarchySelected = hierarchyTrees.hierarchySelected;
435
+ _this.state.hierarchy = hierarchy;
436
+ _this.state.hierarchySelected = hierarchySelected;
188
437
  }
189
438
 
190
439
  if (props.options.length > 0) {
@@ -203,7 +452,6 @@ var HiSelect = function (_React$PureComponent) {
203
452
  _this.handleSelect = _this.handleSelect.bind(_this);
204
453
  _this.handleClick = _this.handleClick.bind(_this);
205
454
  _this.handleClose = _this.handleClose.bind(_this);
206
- _this.handleClickAway = _this.handleClickAway.bind(_this);
207
455
  _this.handleRequestDelete = _this.handleRequestDelete.bind(_this);
208
456
  _this.handleSuggestions = _this.handleSuggestions.bind(_this);
209
457
  _this.handleFocus = _this.handleFocus.bind(_this);
@@ -224,34 +472,6 @@ var HiSelect = function (_React$PureComponent) {
224
472
  });
225
473
  this.setState({ nbOptions: optionsLength });
226
474
  }
227
-
228
- if (nextProps.hierarchic === true && nextProps.options.length > 1) {
229
- var hierarchyTrees = this.buildHierarchyTrees(nextProps);
230
- this.setState({ hierarchy: hierarchyTrees.hierarchy, hierarchySelected: hierarchyTrees.hierarchySelected });
231
- }
232
- }
233
- }, {
234
- key: 'buildHierarchyTrees',
235
- value: function buildHierarchyTrees(props) {
236
- // Construct two associative arrays
237
- // hierarchy[parentId] => children
238
- // hierarchySelected[parentId] => selected children
239
- var hierarchy = {};
240
- var hierarchySelected = {};
241
- var value = props.value || [];
242
- if (!Array.isArray(value)) value = [props.value];
243
- props.options.forEach(function (option) {
244
- if (option.hasChildren === true && !hierarchy.hasOwnProperty(option.id)) {
245
- hierarchy[option.id] = [];
246
- hierarchySelected[option.id] = [];
247
- } else if (option.hasOwnProperty('parentId')) {
248
- hierarchy[option.parentId].push(option.id);
249
- if (value.includes(option.id)) {
250
- hierarchySelected[option.parentId].push(option.id);
251
- }
252
- }
253
- });
254
- return { hierarchy: hierarchy, hierarchySelected: hierarchySelected };
255
475
  }
256
476
 
257
477
  // Key down on list items
@@ -288,12 +508,15 @@ var HiSelect = function (_React$PureComponent) {
288
508
  classes = _props.classes,
289
509
  disabled = _props.disabled,
290
510
  error = _props.error,
511
+ multiple = _props.multiple,
291
512
  options = _props.options,
292
513
  checkbox = _props.checkbox,
293
514
  searchable = _props.searchable,
294
515
  displayAsChip = _props.displayAsChip,
295
516
  type = _props.type,
296
517
  value = _props.value,
518
+ _props$hasSelectedCou = _props.hasSelectedCount,
519
+ hasSelectedCount = _props$hasSelectedCou === undefined ? multiple : _props$hasSelectedCou,
297
520
  translations = _props.translations,
298
521
  parentItemSelectable = _props.parentItemSelectable,
299
522
  icon = _props.icon,
@@ -301,9 +524,7 @@ var HiSelect = function (_React$PureComponent) {
301
524
  hoverIcon = _props.hoverIcon,
302
525
  checkedIcon = _props.checkedIcon,
303
526
  hierarchic = _props.hierarchic,
304
- id = _props.id,
305
- placeholder = _props.placeholder,
306
- staticPosition = _props.staticPosition;
527
+ id = _props.id;
307
528
  var _state = this.state,
308
529
  open = _state.open,
309
530
  suggestions = _state.suggestions,
@@ -311,13 +532,13 @@ var HiSelect = function (_React$PureComponent) {
311
532
 
312
533
 
313
534
  var display = '';
314
- var selectedIdList = Array.isArray(value) ? value : value ? [value] : [];
535
+ var selectedIdList = Array.isArray(value) ? value : [value];
315
536
 
316
537
  if (this.state.dynamic && selectedIdList.length === 1) {
317
538
  display = translations.one_item_selected.replace('%s', selectedIdList.length);
318
539
  } else if (this.state.nbOptions !== selectedIdList.length && selectedIdList.length > 1) {
319
540
  display = translations.n_items_selected.replace('%s', selectedIdList.length);
320
- } else if (this.state.nbOptions === selectedIdList.length && this.state.nbOptions >= 1) {
541
+ } else if (this.state.nbOptions === selectedIdList.length) {
321
542
  display = translations.all;
322
543
  } else if (selectedIdList.length === 1) {
323
544
  if (type !== 'icon') {
@@ -338,7 +559,7 @@ var HiSelect = function (_React$PureComponent) {
338
559
  }
339
560
 
340
561
  if (displayAsChip) {
341
- var chipFilter = _react2.default.createElement(_HiChip2.default, { label: placeholder || display, onDelete: this.handleRequestDelete });
562
+ var chipFilter = _react2.default.createElement(_HiChip2.default, { label: display, onDelete: this.handleRequestDelete });
342
563
  if (display) {
343
564
  display = chipFilter;
344
565
  }
@@ -356,50 +577,6 @@ var HiSelect = function (_React$PureComponent) {
356
577
  popperStyle = { width: this.props.containerWidth };
357
578
  }
358
579
 
359
- var content = _react2.default.createElement(
360
- _ClickAwayListener2.default,
361
- { onClickAway: this.handleClickAway },
362
- _react2.default.createElement(
363
- _Grow2.default,
364
- { 'in': open, id: 'menu-list', style: { transformOrigin: '0 0 0' } },
365
- _react2.default.createElement(
366
- _Paper2.default,
367
- { className: classes.paper },
368
- !!searchable && _react2.default.createElement(_HiForm.HiSearchField, {
369
- itemList: options,
370
- callbackFilteredList: this.handleSuggestions,
371
- filterPropertyList: ['label'],
372
- placeholder: translations.search,
373
- autoFocus: true,
374
- onSearch: this.props.onSearch,
375
- inputRef: function inputRef(el) {
376
- _this2.searchField = el;
377
- },
378
- onKeyDown: this.handleKeyDownSearch
379
- }),
380
- _react2.default.createElement(_HiSelectableList2.default, {
381
- type: type,
382
- parentItemSelectable: parentItemSelectable,
383
- itemList: suggestions,
384
- onSelect: this.handleSelect,
385
- selectedIdList: selectedIdList,
386
- checkbox: checkbox,
387
- hierarchy: this.state.hierarchy,
388
- hierarchic: hierarchic,
389
- hierarchySelected: this.state.hierarchySelected,
390
- translations: translations,
391
- icon: icon,
392
- parentIcon: parentIcon,
393
- hoverIcon: hoverIcon,
394
- checkedIcon: checkedIcon,
395
- allSelected: allSelected,
396
- value: value,
397
- onKeyDown: this.handleKeyDown
398
- })
399
- )
400
- )
401
- );
402
-
403
580
  return _react2.default.createElement(
404
581
  'div',
405
582
  {
@@ -416,7 +593,7 @@ var HiSelect = function (_React$PureComponent) {
416
593
  null,
417
594
  _react2.default.createElement(_SelectInput2.default, {
418
595
  id: id,
419
- value: placeholder || display,
596
+ value: display,
420
597
  open: open,
421
598
  focused: focused,
422
599
  type: type,
@@ -427,17 +604,10 @@ var HiSelect = function (_React$PureComponent) {
427
604
  onFocus: this.handleFocus,
428
605
  onBlur: this.handleBlur,
429
606
  onMouseEnter: this.props.onMouseEnter,
430
- onMouseLeave: this.props.onMouseLeave,
431
- refElement: function refElement(el) {
432
- _this2.selectInputElement = el;
433
- }
607
+ onMouseLeave: this.props.onMouseLeave
434
608
  })
435
609
  ),
436
- open && (staticPosition ? _react2.default.createElement(
437
- 'div',
438
- { style: popperStyle },
439
- content
440
- ) : _react2.default.createElement(
610
+ open && _react2.default.createElement(
441
611
  _reactPopper.Popper,
442
612
  {
443
613
  placement: 'bottom-start',
@@ -445,8 +615,69 @@ var HiSelect = function (_React$PureComponent) {
445
615
  className: popperClass,
446
616
  style: popperStyle
447
617
  },
448
- content
449
- ))
618
+ _react2.default.createElement(
619
+ _ClickAwayListener2.default,
620
+ { onClickAway: this.handleClose },
621
+ _react2.default.createElement(
622
+ _Grow2.default,
623
+ { 'in': open, id: 'menu-list', style: { transformOrigin: '0 0 0' } },
624
+ _react2.default.createElement(
625
+ _Paper2.default,
626
+ { className: classes.paper },
627
+ !!searchable && _react2.default.createElement(_HiForm.HiSearchField, {
628
+ itemList: options,
629
+ callbackFilteredList: this.handleSuggestions,
630
+ filterPropertyList: ['label'],
631
+ placeholder: translations.search,
632
+ autoFocus: true,
633
+ onSearch: this.props.onSearch,
634
+ inputRef: function inputRef(el) {
635
+ _this2.searchField = el;
636
+ },
637
+ onKeyDown: this.handleKeyDownSearch
638
+ }),
639
+ !!hasSelectedCount && _react2.default.createElement(
640
+ _Collapse2.default,
641
+ {
642
+ 'in': selectedIdList.length > 0,
643
+ timeout: 'auto',
644
+ unmountOnExit: true
645
+ },
646
+ _react2.default.createElement(_HiSelectableListItem2.default, {
647
+ key: '_selected_count',
648
+ item: {
649
+ id: '_selected_count',
650
+ type: 'text',
651
+ disabled: true,
652
+ checkbox: false,
653
+ label: selectedIdList.length < 2 ? translations.one_item_selected.replace('%s', selectedIdList.length) : translations.n_items_selected.replace('%s', selectedIdList.length),
654
+ centered: true
655
+ }
656
+ })
657
+ ),
658
+ _react2.default.createElement(_HiSelectableList2.default, {
659
+ type: type,
660
+ parentItemSelectable: parentItemSelectable,
661
+ itemList: suggestions,
662
+ onSelect: this.handleSelect,
663
+ selectedIdList: selectedIdList,
664
+ checkbox: checkbox,
665
+ hierarchy: this.state.hierarchy,
666
+ hierarchic: hierarchic,
667
+ hierarchySelected: this.state.hierarchySelected,
668
+ translations: translations,
669
+ icon: icon,
670
+ parentIcon: parentIcon,
671
+ hoverIcon: hoverIcon,
672
+ checkedIcon: checkedIcon,
673
+ allSelected: allSelected,
674
+ value: value,
675
+ onKeyDown: this.handleKeyDown
676
+ })
677
+ )
678
+ )
679
+ )
680
+ )
450
681
  )
451
682
  );
452
683
  }
@@ -478,280 +709,8 @@ HiSelect.defaultProps = {
478
709
  one_item_selected: '%s item selected',
479
710
  n_children: '%s items',
480
711
  one_child: '%s item'
481
- },
482
- staticPosition: false
483
- };
484
-
485
- var _initialiseProps = function _initialiseProps() {
486
- var _this3 = this;
487
-
488
- this.handleClick = function () {
489
- if (_this3.state.open) {
490
- _this3.handleClose();
491
- } else {
492
- if (!_this3.props.staticPosition) {
493
- document.body.style.overflow = 'hidden';
494
- }
495
- _this3.setState({ open: true });
496
- var options = _this3.props.options.slice();
497
- _this3.handleSuggestions(options);
498
-
499
- if (_this3.props.onClick) {
500
- _this3.props.onClick();
501
- }
502
-
503
- // Gestion du focus
504
- if (_this3.searchField) {
505
- // si searchable, focus sur le champs de recherche
506
- var searchField = _this3.searchField;
507
- setTimeout(function () {
508
- searchField.focus();
509
- }, 1);
510
- } else if (_this3.overlay) {
511
- // sinon focus sur le dernier élément selectionné
512
- _this3.focusOnSelectedItem();
513
- }
514
- }
515
- };
516
-
517
- this.focusOnSelectedItem = function () {
518
- // On récupère la div parent "overlay"
519
- var overlay = (0, _reactDom.findDOMNode)(_this3.overlay);
520
- var multiple = _this3.props.multiple;
521
- var value = _this3.props.value;
522
- var selectedIdList = Array.isArray(value) ? value : [value];
523
- setTimeout(function () {
524
- var focused = false;
525
- // Si un ou plusieurs items sont selectionnés, on focus sur le dernier
526
- if (selectedIdList.length > 0) {
527
- var itemSelected = overlay.querySelector('[data-id="' + selectedIdList[selectedIdList.length - 1] + '"]');
528
- if (itemSelected && itemSelected.parentElement.tagName === 'LI') {
529
- itemSelected.parentElement.focus();
530
- focused = true;
531
- }
532
- }
533
- // Si pas d'item selectionné, ou pas visible (en cas de recherche), focus sur le premier
534
- if (selectedIdList.length === 0 || !focused) {
535
- // On recupère tous les items
536
- var items = overlay.getElementsByTagName('li');
537
- var itemToFocus = items[0];
538
- // Si select multiple, et qu'au moins un selectionné, focus sur le 2e item
539
- if (multiple && selectedIdList.length > 0) {
540
- itemToFocus = items[1];
541
- }
542
- if (itemToFocus) {
543
- itemToFocus.focus();
544
- }
545
- }
546
- }, 1);
547
- };
548
-
549
- this.handleKeyDown = function (event) {
550
- var nextItem = void 0;
551
- if (event.key === 'ArrowDown') {
552
- nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'down');
553
- } else if (event.key === 'ArrowUp') {
554
- nextItem = (0, _hiHelpers.getNextItemSelectable)(document.activeElement, 'up');
555
- } else if (event.key === 'Tab') {
556
- if (!_this3.props.staticPosition) {
557
- document.body.style.overflow = 'auto';
558
- }
559
- _this3.setState({ open: false });
560
- }
561
- if (nextItem) {
562
- nextItem.focus();
563
- }
564
- };
565
-
566
- this.handleKeyDownSearch = function (event) {
567
- if (_this3.overlay && (event.key === 'ArrowDown' || event.key === 'ArrowUp')) {
568
- _this3.focusOnSelectedItem();
569
- }
570
- };
571
-
572
- this.handleFocus = function () {
573
- _this3.setState({ focused: true });
574
- };
575
-
576
- this.handleBlur = function () {
577
- _this3.setState({ focused: false });
578
- };
579
-
580
- this.handleClose = function () {
581
- if (!_this3.props.staticPosition) {
582
- document.body.style.overflow = 'auto';
583
- }
584
- _this3.setState({
585
- open: false
586
- });
587
-
588
- if (_this3.props.onClose) {
589
- _this3.props.onClose();
590
- }
591
- if (_this3.selectInputElement) {
592
- _this3.selectInputElement.focus();
593
- }
594
- };
595
-
596
- this.handleClickAway = function (event) {
597
- // Au clic sur le bouton, on laisse le handleClick fermer le select
598
- if (!_this3.selectInputElement.contains(event.target)) {
599
- _this3.handleClose(event);
600
- }
601
- };
602
-
603
- this.handleSelect = function (event, item) {
604
- var _props2 = _this3.props,
605
- multiple = _props2.multiple,
606
- value = _props2.value,
607
- name = _props2.name,
608
- onChange = _props2.onChange,
609
- options = _props2.options,
610
- hierarchic = _props2.hierarchic;
611
- var _state2 = _this3.state,
612
- hierarchySelected = _state2.hierarchySelected,
613
- hierarchy = _state2.hierarchy,
614
- nbOptions = _state2.nbOptions;
615
-
616
- var hiSelected = (0, _extends3.default)({}, hierarchySelected);
617
-
618
- if (multiple) {
619
- var valueList = value;
620
- if (item.id === '_all') {
621
- if (valueList.length === nbOptions) {
622
- valueList = [];
623
- if (hierarchic) {
624
- // if hierarchic select => empty associative array of selected children
625
- (0, _keys2.default)(hiSelected).forEach(function (key) {
626
- hiSelected[key] = [];
627
- });
628
- }
629
- } else {
630
- options.forEach(function (option) {
631
- if (option.hasChildren !== true && !valueList.includes(option.id) && option.id !== '_all') {
632
- valueList.push(option.id);
633
- } else if (option.hasChildren === true) {
634
- // if hierarchic select => fill associative array of selected children
635
- hiSelected[option.id] = hierarchy[option.id];
636
- }
637
- });
638
- }
639
- } else if (valueList.includes(item.id) || item.hasChildren === true && hierarchySelected[item.id].length === hierarchy[item.id].length) {
640
- // item déjà sélectionné => on le déselectionne
641
- if (item.hasChildren !== true) {
642
- valueList = valueList.filter(function (val) {
643
- return val !== item.id;
644
- });
645
- }
646
-
647
- if (item.hasChildren === true) {
648
- // remove all children
649
- valueList = valueList.filter(function (val) {
650
- return !_this3.state.hierarchy[item.id].includes(val);
651
- });
652
- hiSelected[item.id] = [];
653
- } else if (item.hasOwnProperty('parentId')) {
654
- // Si item est un enfant on l'enlève du tableau associatif des
655
- // elmts sélectionnés
656
- hiSelected[item.parentId].splice(hiSelected[item.parentId].indexOf(item.id), 1);
657
- }
658
- } else {
659
- // item non sélectionné => on le sélectionne
660
- if (item.hasChildren !== true) valueList.push(item.id);
661
-
662
- if (item.hasChildren === true) {
663
- // Si item parent => on ajoute tous les enfants
664
- // Ou on les supprime s'ils sont déjà tous sélectionnés (dans une liste filtrée)
665
- var idsInSuggestions = [];
666
- _this3.state.suggestions.forEach(function (suggestion) {
667
- if (_this3.state.hierarchy[item.id].includes(suggestion.id)) {
668
- idsInSuggestions.push(suggestion.id);
669
- }
670
- });
671
- // if(hierarchySelected[item.id].length > 0) {}
672
- var allChildrenSuggestionsSelected = true;
673
- idsInSuggestions.forEach(function (id) {
674
- if (!hierarchySelected[item.id].includes(id)) {
675
- allChildrenSuggestionsSelected = false;
676
- }
677
- });
678
-
679
- if (allChildrenSuggestionsSelected === true) {
680
- // On supprime les enfants car déjà tous sélectionnés
681
- idsInSuggestions.forEach(function (id) {
682
- valueList.splice(valueList.indexOf(id), 1);
683
- hiSelected[item.id].splice(hiSelected[item.id].indexOf(id), 1);
684
- });
685
- } else {
686
- // On ajoute tous les enfants filtrés au éléments sélectionnés
687
- valueList = (0, _hiHelpers.arrayUnique)(valueList.concat(idsInSuggestions));
688
- hiSelected[item.id] = (0, _hiHelpers.arrayUnique)(hiSelected[item.id].concat(idsInSuggestions));
689
- }
690
-
691
- _this3.setState({ hierarchySelected: hiSelected });
692
- } else if (item.hasOwnProperty('parentId')) {
693
- // Si item est un enfant on l'ajoute du tableau associatif des
694
- // elmts sélectionnés
695
- hiSelected[item.parentId].push(item.id);
696
- }
697
- }
698
- _this3.setState({ hierarchySelected: hiSelected });
699
- onChange(event, valueList);
700
- } else {
701
- onChange(event, item.id);
702
- _this3.handleClose();
703
- }
704
- };
705
-
706
- this.handleSuggestions = function (suggestions) {
707
- var _props3 = _this3.props,
708
- options = _props3.options,
709
- hasAll = _props3.hasAll,
710
- iconAll = _props3.iconAll,
711
- translations = _props3.translations,
712
- multiple = _props3.multiple;
713
-
714
-
715
- if (suggestions.length === 0) {
716
- // Handle No Result
717
- // FIX to remove all item
718
- suggestions = [];
719
- suggestions.push({
720
- id: '_no_result',
721
- type: 'text',
722
- disabled: true,
723
- centered: true,
724
- checkbox: false,
725
- label: translations.no_result_match
726
- });
727
- } else if (hasAll && suggestions.length > 0 && suggestions.length === options.length && multiple === true) {
728
- // Handle 'All'
729
- if (suggestions.filter(function (suggestion) {
730
- return suggestion.id === '_all';
731
- }).length === 0) {
732
- var allItem = {
733
- id: '_all',
734
- icon: iconAll,
735
- label: translations.all
736
- };
737
- if (iconAll !== false) {
738
- allItem.type = 'icon';
739
- }
740
- suggestions.unshift(allItem);
741
- }
742
- }
743
-
744
- _this3.setState({
745
- suggestions: suggestions
746
- });
747
- };
748
-
749
- this.handleRequestDelete = function (evt) {
750
- evt.stopPropagation();
751
- _this3.props.onChange(_this3.props.name, []);
752
- };
712
+ }
753
713
  };
754
-
755
714
  HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
756
715
  /**
757
716
  * Affiche une checkbox pour chaque éléments, par défaut si options est nested
@@ -781,6 +740,10 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
781
740
  * Affiche l'élément 'All'
782
741
  */
783
742
  hasAll: _propTypes2.default.bool,
743
+ /**
744
+ * Affiche le compte d'éléments sélectionnés en haut de la liste
745
+ */
746
+ hasSelectedCount: _propTypes2.default.bool,
784
747
  /**
785
748
  * Les items sont hiérarchisés
786
749
  */
@@ -832,7 +795,6 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
832
795
  * Fonction de callback appelée lorsqu'on écrit dans la barre de recherche
833
796
  * A utiliser pour les selects avec des données dynamiques
834
797
  *
835
- * @param {object} event
836
798
  * @param {string} value
837
799
  */
838
800
  onSearch: _propTypes2.default.func,
@@ -848,19 +810,10 @@ HiSelect.propTypes = process.env.NODE_ENV !== "production" ? {
848
810
  * Les items parents sont sélectionnables
849
811
  */
850
812
  parentItemSelectable: _propTypes2.default.bool,
851
- /**
852
- * Placeholder affiché lorsque le select est fermé
853
- * Surcharge le placeholder par défaut
854
- */
855
- placeholder: _propTypes2.default.string,
856
813
  /**
857
814
  * Affiche un input de recherche permettant de filtrer les options
858
815
  */
859
816
  searchable: _propTypes2.default.bool,
860
- /**
861
- * Si true, le contenu du select sera dans une div static plutot que dans une popper absolute
862
- */
863
- staticPosition: _propTypes2.default.bool,
864
817
  /**
865
818
  * Traductions (par défaut en anglais)
866
819
  */