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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (415) hide show
  1. package/HI-CHANGELOG.md +58 -0
  2. package/HiAlertModal/HiAlertModal.js +247 -0
  3. package/HiAlertModal/index.js +16 -0
  4. package/HiBreadcrumb/HiBreadcrumb.js +149 -0
  5. package/HiBreadcrumb/HiStep.js +159 -0
  6. package/HiBreadcrumb/HiStepConnector.js +207 -0
  7. package/HiBreadcrumb/HiStepContent.js +122 -0
  8. package/HiBreadcrumb/HiStepIcon.js +191 -0
  9. package/HiBreadcrumb/HiStepLabel.js +248 -0
  10. package/HiBreadcrumb/HiStepper.js +106 -0
  11. package/HiBreadcrumb/index.js +16 -0
  12. package/HiCheckbox/HiCheckbox.js +4 -1
  13. package/HiChip/HiChip.js +16 -6
  14. package/HiChip/HiChipSwitch.js +11 -4
  15. package/HiColoredLabel/HiColoredLabel.js +9 -3
  16. package/HiDatePicker/HiDatePicker.js +34 -30
  17. package/HiDatePicker/HiDateRangePicker.js +77 -34
  18. package/HiDatePicker/HiDateRangeSelector.js +38 -17
  19. package/HiDatePicker/ListPicker.js +32 -7
  20. package/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  21. package/HiDatePicker/Overlays/MonthPickerOverlay.js +5 -1
  22. package/HiDatePicker/Overlays/Overlay.js +22 -4
  23. package/HiDatePicker/Overlays/YearPickerOverlay.js +2 -1
  24. package/HiDatePicker/stylesheet.js +11 -0
  25. package/HiDotsStepper/HiDot.js +151 -0
  26. package/HiDotsStepper/HiDotsStepper.js +146 -0
  27. package/HiDotsStepper/index.js +16 -0
  28. package/HiExpansionPanel/HiExpansionPanel.js +231 -0
  29. package/HiExpansionPanel/index.js +16 -0
  30. package/HiForm/HiAddressField.js +187 -0
  31. package/HiForm/HiFormControl.js +39 -31
  32. package/HiForm/HiInput.js +48 -22
  33. package/HiForm/HiSearchField.js +2 -2
  34. package/HiForm/HiSlider.js +399 -0
  35. package/HiForm/HiUpload.js +280 -0
  36. package/HiForm/HiUploadField.js +456 -0
  37. package/HiForm/index.js +36 -0
  38. package/HiMap/HiMap.js +367 -0
  39. package/HiMap/HiMapExpand.js +217 -0
  40. package/HiMap/index.js +25 -0
  41. package/HiPdfReader/HiPdfReader.js +282 -0
  42. package/HiPdfReader/index.js +16 -0
  43. package/HiPins/HiPins.js +0 -1
  44. package/HiSelect/HiSelect.js +431 -354
  45. package/HiSelect/HiSelectField.js +8 -6
  46. package/HiSelect/HiSuggestSelect.js +60 -50
  47. package/HiSelect/HiSuggestSelectField.js +88 -80
  48. package/HiSelect/SelectInput.js +34 -23
  49. package/HiSelectableList/HiSelectableList.js +9 -3
  50. package/HiSelectableList/HiSelectableListItem.js +126 -92
  51. package/HiSwitch/HiSwitchState.js +1 -1
  52. package/HiSwitch/index.js +6 -0
  53. package/HiTable/BodyCellBuilder.js +116 -101
  54. package/HiTable/BodyCells/CellCountry.js +11 -36
  55. package/HiTable/BodyCells/CellIcon.js +29 -20
  56. package/HiTable/BodyCells/CellImage.js +44 -23
  57. package/HiTable/BodyCells/CellLayout.js +50 -21
  58. package/HiTable/BodyCells/CellNumeric.js +7 -2
  59. package/HiTable/BodyCells/CellSentinel.js +26 -17
  60. package/HiTable/BodyCells/CellStatus.js +7 -3
  61. package/HiTable/BodyCells/CellText.js +2 -1
  62. package/HiTable/BodyCells/CellThirdPartySecurity.js +45 -22
  63. package/HiTable/BodyRow.js +106 -62
  64. package/HiTable/ChildRow.js +3 -9
  65. package/HiTable/ColumnFilter.js +28 -15
  66. package/HiTable/HeaderCell.js +25 -20
  67. package/HiTable/HiTable.js +75 -11
  68. package/HiTable/HiTableBody.js +80 -36
  69. package/HiTable/HiTableContextMenu.js +7 -3
  70. package/HiTable/HiTableFooter.js +132 -0
  71. package/HiTable/HiTableFooterScroll.js +1 -1
  72. package/HiTable/HiTableHead.js +24 -7
  73. package/HiTable/OrderColumns.js +6 -2
  74. package/HiTopBar/HiTopBar.js +49 -120
  75. package/es/HiAlertModal/HiAlertModal.js +189 -0
  76. package/es/HiAlertModal/index.js +1 -0
  77. package/es/HiBreadcrumb/HiBreadcrumb.js +81 -0
  78. package/es/HiBreadcrumb/HiStep.js +94 -0
  79. package/es/HiBreadcrumb/HiStepConnector.js +143 -0
  80. package/es/HiBreadcrumb/HiStepContent.js +63 -0
  81. package/es/HiBreadcrumb/HiStepIcon.js +149 -0
  82. package/es/HiBreadcrumb/HiStepLabel.js +197 -0
  83. package/es/HiBreadcrumb/HiStepper.js +46 -0
  84. package/es/HiBreadcrumb/index.js +1 -0
  85. package/es/HiCheckbox/HiCheckbox.js +4 -1
  86. package/es/HiChip/HiChip.js +15 -6
  87. package/es/HiChip/HiChipSwitch.js +11 -4
  88. package/es/HiColoredLabel/HiColoredLabel.js +9 -4
  89. package/es/HiDatePicker/HiDatePicker.js +30 -25
  90. package/es/HiDatePicker/HiDateRangePicker.js +73 -33
  91. package/es/HiDatePicker/HiDateRangeSelector.js +39 -18
  92. package/es/HiDatePicker/ListPicker.js +39 -20
  93. package/es/HiDatePicker/Overlays/CustomOverlayLayout.js +3 -1
  94. package/es/HiDatePicker/Overlays/MonthPickerOverlay.js +5 -1
  95. package/es/HiDatePicker/Overlays/Overlay.js +18 -4
  96. package/es/HiDatePicker/Overlays/YearPickerOverlay.js +2 -1
  97. package/es/HiDatePicker/stylesheet.js +11 -0
  98. package/es/HiDotsStepper/HiDot.js +92 -0
  99. package/es/HiDotsStepper/HiDotsStepper.js +83 -0
  100. package/es/HiDotsStepper/index.js +1 -0
  101. package/es/HiExpansionPanel/HiExpansionPanel.js +170 -0
  102. package/es/HiExpansionPanel/index.js +1 -0
  103. package/es/HiForm/HiAddressField.js +127 -0
  104. package/es/HiForm/HiFormControl.js +32 -18
  105. package/es/HiForm/HiInput.js +43 -21
  106. package/es/HiForm/HiSearchField.js +2 -2
  107. package/es/HiForm/HiSlider.js +309 -0
  108. package/es/HiForm/HiUpload.js +194 -0
  109. package/es/HiForm/HiUploadField.js +368 -0
  110. package/es/HiForm/index.js +5 -1
  111. package/es/HiMap/HiMap.js +285 -0
  112. package/es/HiMap/HiMapExpand.js +145 -0
  113. package/es/HiMap/index.js +2 -0
  114. package/es/HiPdfReader/HiPdfReader.js +198 -0
  115. package/es/HiPdfReader/index.js +1 -0
  116. package/es/HiPins/HiPins.js +0 -1
  117. package/es/HiSelect/HiSelect.js +403 -326
  118. package/es/HiSelect/HiSelectField.js +9 -7
  119. package/es/HiSelect/HiSuggestSelect.js +57 -42
  120. package/es/HiSelect/HiSuggestSelectField.js +77 -69
  121. package/es/HiSelect/SelectInput.js +44 -23
  122. package/es/HiSelectableList/HiSelectableList.js +10 -4
  123. package/es/HiSelectableList/HiSelectableListItem.js +121 -92
  124. package/es/HiSwitch/HiSwitchState.js +1 -1
  125. package/es/HiSwitch/index.js +1 -0
  126. package/es/HiTable/BodyCellBuilder.js +112 -102
  127. package/es/HiTable/BodyCells/CellCountry.js +10 -35
  128. package/es/HiTable/BodyCells/CellIcon.js +18 -9
  129. package/es/HiTable/BodyCells/CellImage.js +43 -24
  130. package/es/HiTable/BodyCells/CellLayout.js +51 -24
  131. package/es/HiTable/BodyCells/CellNumeric.js +6 -2
  132. package/es/HiTable/BodyCells/CellSentinel.js +20 -9
  133. package/es/HiTable/BodyCells/CellStatus.js +7 -3
  134. package/es/HiTable/BodyCells/CellText.js +2 -1
  135. package/es/HiTable/BodyCells/CellThirdPartySecurity.js +42 -18
  136. package/es/HiTable/BodyRow.js +106 -61
  137. package/es/HiTable/ChildRow.js +3 -10
  138. package/es/HiTable/ColumnFilter.js +15 -9
  139. package/es/HiTable/HeaderCell.js +25 -19
  140. package/es/HiTable/HiTable.js +73 -12
  141. package/es/HiTable/HiTableBody.js +71 -32
  142. package/es/HiTable/HiTableContextMenu.js +7 -3
  143. package/es/HiTable/HiTableFooter.js +75 -0
  144. package/es/HiTable/HiTableFooterScroll.js +1 -1
  145. package/es/HiTable/HiTableHead.js +19 -7
  146. package/es/HiTable/OrderColumns.js +6 -2
  147. package/es/HiTopBar/HiTopBar.js +52 -111
  148. package/es/styles/createHiMuiTheme.js +13 -0
  149. package/es/utils/hiHelpers.js +9 -8
  150. package/hmu/images/countries/ad.svg +151 -0
  151. package/hmu/images/countries/ae.svg +6 -0
  152. package/hmu/images/countries/af.svg +83 -0
  153. package/hmu/images/countries/ag.svg +15 -0
  154. package/hmu/images/countries/ai.svg +767 -0
  155. package/hmu/images/countries/al.svg +5 -0
  156. package/hmu/images/countries/am.svg +5 -0
  157. package/hmu/images/countries/ao.svg +13 -0
  158. package/hmu/images/countries/aq.svg +6 -0
  159. package/hmu/images/countries/ar.svg +32 -0
  160. package/hmu/images/countries/as.svg +33 -0
  161. package/hmu/images/countries/at.svg +6 -0
  162. package/hmu/images/countries/au.svg +9 -0
  163. package/hmu/images/countries/aw.svg +186 -0
  164. package/hmu/images/countries/ax.svg +18 -0
  165. package/hmu/images/countries/az.svg +8 -0
  166. package/hmu/images/countries/ba.svg +12 -0
  167. package/hmu/images/countries/bb.svg +6 -0
  168. package/hmu/images/countries/bd.svg +4 -0
  169. package/hmu/images/countries/be.svg +7 -0
  170. package/hmu/images/countries/bf.svg +7 -0
  171. package/hmu/images/countries/bg.svg +7 -0
  172. package/hmu/images/countries/bh.svg +11 -0
  173. package/hmu/images/countries/bi.svg +15 -0
  174. package/hmu/images/countries/bj.svg +14 -0
  175. package/hmu/images/countries/bl.svg +7 -0
  176. package/hmu/images/countries/bm.svg +99 -0
  177. package/hmu/images/countries/bn.svg +36 -0
  178. package/hmu/images/countries/bo.svg +686 -0
  179. package/hmu/images/countries/bq.svg +5 -0
  180. package/hmu/images/countries/br.svg +45 -0
  181. package/hmu/images/countries/bs.svg +13 -0
  182. package/hmu/images/countries/bt.svg +89 -0
  183. package/hmu/images/countries/bv.svg +13 -0
  184. package/hmu/images/countries/bw.svg +7 -0
  185. package/hmu/images/countries/by.svg +61 -0
  186. package/hmu/images/countries/bz.svg +146 -0
  187. package/hmu/images/countries/ca.svg +4 -0
  188. package/hmu/images/countries/cc.svg +19 -0
  189. package/hmu/images/countries/cd.svg +5 -0
  190. package/hmu/images/countries/cf.svg +15 -0
  191. package/hmu/images/countries/cg.svg +12 -0
  192. package/hmu/images/countries/ch.svg +9 -0
  193. package/hmu/images/countries/ci.svg +7 -0
  194. package/hmu/images/countries/ck.svg +9 -0
  195. package/hmu/images/countries/cl.svg +13 -0
  196. package/hmu/images/countries/cm.svg +15 -0
  197. package/hmu/images/countries/cn.svg +11 -0
  198. package/hmu/images/countries/co.svg +7 -0
  199. package/hmu/images/countries/cr.svg +7 -0
  200. package/hmu/images/countries/cu.svg +13 -0
  201. package/hmu/images/countries/cv.svg +13 -0
  202. package/hmu/images/countries/cw.svg +14 -0
  203. package/hmu/images/countries/cx.svg +15 -0
  204. package/hmu/images/countries/cy.svg +6 -0
  205. package/hmu/images/countries/cz.svg +12 -0
  206. package/hmu/images/countries/de.svg +5 -0
  207. package/hmu/images/countries/dj.svg +13 -0
  208. package/hmu/images/countries/dk.svg +5 -0
  209. package/hmu/images/countries/dm.svg +152 -0
  210. package/hmu/images/countries/do.svg +6745 -0
  211. package/hmu/images/countries/dz.svg +5 -0
  212. package/hmu/images/countries/ec.svg +141 -0
  213. package/hmu/images/countries/ee.svg +7 -0
  214. package/hmu/images/countries/eg.svg +38 -0
  215. package/hmu/images/countries/eh.svg +15 -0
  216. package/hmu/images/countries/er.svg +8 -0
  217. package/hmu/images/countries/es-ct.svg +4 -0
  218. package/hmu/images/countries/es.svg +581 -0
  219. package/hmu/images/countries/et.svg +14 -0
  220. package/hmu/images/countries/eu.svg +28 -0
  221. package/hmu/images/countries/fi.svg +5 -0
  222. package/hmu/images/countries/fj.svg +124 -0
  223. package/hmu/images/countries/fk.svg +90 -0
  224. package/hmu/images/countries/fm.svg +11 -0
  225. package/hmu/images/countries/fo.svg +12 -0
  226. package/hmu/images/countries/fr.svg +7 -0
  227. package/hmu/images/countries/ga.svg +7 -0
  228. package/hmu/images/countries/gb-eng.svg +5 -0
  229. package/hmu/images/countries/gb-nir.svg +137 -0
  230. package/hmu/images/countries/gb-sct.svg +4 -0
  231. package/hmu/images/countries/gb-wls.svg +9 -0
  232. package/hmu/images/countries/gb.svg +15 -0
  233. package/hmu/images/countries/gd.svg +27 -0
  234. package/hmu/images/countries/ge.svg +6 -0
  235. package/hmu/images/countries/gf.svg +5 -0
  236. package/hmu/images/countries/gg.svg +9 -0
  237. package/hmu/images/countries/gh.svg +6 -0
  238. package/hmu/images/countries/gi.svg +33 -0
  239. package/hmu/images/countries/gl.svg +4 -0
  240. package/hmu/images/countries/gm.svg +14 -0
  241. package/hmu/images/countries/gn.svg +7 -0
  242. package/hmu/images/countries/gp.svg +7 -0
  243. package/hmu/images/countries/gq.svg +23 -0
  244. package/hmu/images/countries/gr.svg +22 -0
  245. package/hmu/images/countries/gs.svg +205 -0
  246. package/hmu/images/countries/gt.svg +204 -0
  247. package/hmu/images/countries/gu.svg +39 -0
  248. package/hmu/images/countries/gw.svg +13 -0
  249. package/hmu/images/countries/gy.svg +9 -0
  250. package/hmu/images/countries/hk.svg +32 -0
  251. package/hmu/images/countries/hm.svg +9 -0
  252. package/hmu/images/countries/hn.svg +18 -0
  253. package/hmu/images/countries/hr.svg +59 -0
  254. package/hmu/images/countries/ht.svg +122 -0
  255. package/hmu/images/countries/hu.svg +7 -0
  256. package/hmu/images/countries/id.svg +6 -0
  257. package/hmu/images/countries/ie.svg +7 -0
  258. package/hmu/images/countries/il.svg +14 -0
  259. package/hmu/images/countries/im.svg +36 -0
  260. package/hmu/images/countries/in.svg +25 -0
  261. package/hmu/images/countries/io.svg +148 -0
  262. package/hmu/images/countries/iq.svg +10 -0
  263. package/hmu/images/countries/ir.svg +219 -0
  264. package/hmu/images/countries/is.svg +12 -0
  265. package/hmu/images/countries/it.svg +7 -0
  266. package/hmu/images/countries/je.svg +32 -0
  267. package/hmu/images/countries/jm.svg +8 -0
  268. package/hmu/images/countries/jo.svg +16 -0
  269. package/hmu/images/countries/jp.svg +11 -0
  270. package/hmu/images/countries/ke.svg +23 -0
  271. package/hmu/images/countries/kg.svg +15 -0
  272. package/hmu/images/countries/kh.svg +69 -0
  273. package/hmu/images/countries/ki.svg +36 -0
  274. package/hmu/images/countries/km.svg +16 -0
  275. package/hmu/images/countries/kn.svg +14 -0
  276. package/hmu/images/countries/kp.svg +15 -0
  277. package/hmu/images/countries/kr.svg +24 -0
  278. package/hmu/images/countries/kw.svg +13 -0
  279. package/hmu/images/countries/ky.svg +63 -0
  280. package/hmu/images/countries/kz.svg +23 -0
  281. package/hmu/images/countries/la.svg +12 -0
  282. package/hmu/images/countries/lb.svg +15 -0
  283. package/hmu/images/countries/lc.svg +8 -0
  284. package/hmu/images/countries/li.svg +43 -0
  285. package/hmu/images/countries/lk.svg +22 -0
  286. package/hmu/images/countries/lr.svg +14 -0
  287. package/hmu/images/countries/ls.svg +8 -0
  288. package/hmu/images/countries/lt.svg +7 -0
  289. package/hmu/images/countries/lu.svg +5 -0
  290. package/hmu/images/countries/lv.svg +6 -0
  291. package/hmu/images/countries/ly.svg +13 -0
  292. package/hmu/images/countries/ma.svg +4 -0
  293. package/hmu/images/countries/mc.svg +6 -0
  294. package/hmu/images/countries/md.svg +72 -0
  295. package/hmu/images/countries/me.svg +118 -0
  296. package/hmu/images/countries/mf.svg +7 -0
  297. package/hmu/images/countries/mg.svg +7 -0
  298. package/hmu/images/countries/mh.svg +7 -0
  299. package/hmu/images/countries/mk.svg +5 -0
  300. package/hmu/images/countries/ml.svg +7 -0
  301. package/hmu/images/countries/mm.svg +16 -0
  302. package/hmu/images/countries/mn.svg +13 -0
  303. package/hmu/images/countries/mo.svg +9 -0
  304. package/hmu/images/countries/mp.svg +86 -0
  305. package/hmu/images/countries/mq.svg +7 -0
  306. package/hmu/images/countries/mr.svg +6 -0
  307. package/hmu/images/countries/ms.svg +39 -0
  308. package/hmu/images/countries/mt.svg +49 -0
  309. package/hmu/images/countries/mu.svg +8 -0
  310. package/hmu/images/countries/mv.svg +6 -0
  311. package/hmu/images/countries/mw.svg +10 -0
  312. package/hmu/images/countries/mx.svg +385 -0
  313. package/hmu/images/countries/my.svg +15 -0
  314. package/hmu/images/countries/mz.svg +21 -0
  315. package/hmu/images/countries/na.svg +16 -0
  316. package/hmu/images/countries/nc.svg +7 -0
  317. package/hmu/images/countries/ne.svg +6 -0
  318. package/hmu/images/countries/nf.svg +9 -0
  319. package/hmu/images/countries/ng.svg +6 -0
  320. package/hmu/images/countries/ni.svg +131 -0
  321. package/hmu/images/countries/nl.svg +7 -0
  322. package/hmu/images/countries/no.svg +7 -0
  323. package/hmu/images/countries/np.svg +14 -0
  324. package/hmu/images/countries/nr.svg +12 -0
  325. package/hmu/images/countries/nu.svg +26 -0
  326. package/hmu/images/countries/nz.svg +41 -0
  327. package/hmu/images/countries/om.svg +116 -0
  328. package/hmu/images/countries/pa.svg +14 -0
  329. package/hmu/images/countries/pe.svg +279 -0
  330. package/hmu/images/countries/pf.svg +19 -0
  331. package/hmu/images/countries/pg.svg +9 -0
  332. package/hmu/images/countries/ph.svg +28 -0
  333. package/hmu/images/countries/pk.svg +15 -0
  334. package/hmu/images/countries/pl.svg +6 -0
  335. package/hmu/images/countries/pm.svg +7 -0
  336. package/hmu/images/countries/pn.svg +62 -0
  337. package/hmu/images/countries/pr.svg +13 -0
  338. package/hmu/images/countries/ps.svg +15 -0
  339. package/hmu/images/countries/pt.svg +57 -0
  340. package/hmu/images/countries/pw.svg +11 -0
  341. package/hmu/images/countries/py.svg +157 -0
  342. package/hmu/images/countries/qa.svg +4 -0
  343. package/hmu/images/countries/re.svg +7 -0
  344. package/hmu/images/countries/ro.svg +7 -0
  345. package/hmu/images/countries/rs.svg +292 -0
  346. package/hmu/images/countries/ru.svg +7 -0
  347. package/hmu/images/countries/rw.svg +13 -0
  348. package/hmu/images/countries/sa.svg +26 -0
  349. package/hmu/images/countries/sb.svg +13 -0
  350. package/hmu/images/countries/sc.svg +14 -0
  351. package/hmu/images/countries/sd.svg +13 -0
  352. package/hmu/images/countries/se.svg +16 -0
  353. package/hmu/images/countries/sg.svg +13 -0
  354. package/hmu/images/countries/sh.svg +74 -0
  355. package/hmu/images/countries/si.svg +18 -0
  356. package/hmu/images/countries/sj.svg +7 -0
  357. package/hmu/images/countries/sk.svg +9 -0
  358. package/hmu/images/countries/sl.svg +7 -0
  359. package/hmu/images/countries/sm.svg +91 -0
  360. package/hmu/images/countries/sn.svg +8 -0
  361. package/hmu/images/countries/so.svg +11 -0
  362. package/hmu/images/countries/sr.svg +6 -0
  363. package/hmu/images/countries/ss.svg +8 -0
  364. package/hmu/images/countries/st.svg +16 -0
  365. package/hmu/images/countries/sv.svg +618 -0
  366. package/hmu/images/countries/sx.svg +56 -0
  367. package/hmu/images/countries/sy.svg +6 -0
  368. package/hmu/images/countries/sz.svg +45 -0
  369. package/hmu/images/countries/tc.svg +67 -0
  370. package/hmu/images/countries/td.svg +7 -0
  371. package/hmu/images/countries/tf.svg +15 -0
  372. package/hmu/images/countries/tg.svg +14 -0
  373. package/hmu/images/countries/th.svg +7 -0
  374. package/hmu/images/countries/tj.svg +22 -0
  375. package/hmu/images/countries/tk.svg +5 -0
  376. package/hmu/images/countries/tl.svg +13 -0
  377. package/hmu/images/countries/tm.svg +213 -0
  378. package/hmu/images/countries/tn.svg +13 -0
  379. package/hmu/images/countries/to.svg +10 -0
  380. package/hmu/images/countries/tr.svg +8 -0
  381. package/hmu/images/countries/tt.svg +5 -0
  382. package/hmu/images/countries/tv.svg +27 -0
  383. package/hmu/images/countries/tw.svg +14 -0
  384. package/hmu/images/countries/tz.svg +13 -0
  385. package/hmu/images/countries/ua.svg +6 -0
  386. package/hmu/images/countries/ug.svg +30 -0
  387. package/hmu/images/countries/um.svg +23 -0
  388. package/hmu/images/countries/un.svg +16 -0
  389. package/hmu/images/countries/us.svg +12 -0
  390. package/hmu/images/countries/uy.svg +28 -0
  391. package/hmu/images/countries/uz.svg +30 -0
  392. package/hmu/images/countries/va.svg +483 -0
  393. package/hmu/images/countries/vc.svg +8 -0
  394. package/hmu/images/countries/ve.svg +26 -0
  395. package/hmu/images/countries/vg.svg +133 -0
  396. package/hmu/images/countries/vi.svg +31 -0
  397. package/hmu/images/countries/vn.svg +11 -0
  398. package/hmu/images/countries/vu.svg +18 -0
  399. package/hmu/images/countries/wf.svg +7 -0
  400. package/hmu/images/countries/ws.svg +7 -0
  401. package/hmu/images/countries/ye.svg +7 -0
  402. package/hmu/images/countries/yt.svg +7 -0
  403. package/hmu/images/countries/za.svg +17 -0
  404. package/hmu/images/countries/zm.svg +27 -0
  405. package/hmu/images/countries/zw.svg +21 -0
  406. package/hmu/images/hipay-white-logo.svg +42 -0
  407. package/hmu/images/logo_visa_75wx45h.gif +0 -0
  408. package/hmu/images/map_marker.svg +8 -0
  409. package/index.es.js +1 -1
  410. package/index.js +1 -1
  411. package/package.json +8 -5
  412. package/styles/createHiMuiTheme.js +13 -0
  413. package/umd/hipay-material-ui.development.js +12997 -11186
  414. package/umd/hipay-material-ui.production.min.js +5 -5
  415. package/utils/hiHelpers.js +9 -7
@@ -112,9 +112,9 @@ class ChildRow extends React.PureComponent {
112
112
  parentIndicatorColumn, parentLabel, parentLabelIcon,
113
113
  children, columns, orderedColumns,
114
114
  selectable, selected,
115
- dateLocale, dense, sticky, view
115
+ dateLocale, dense, sticky, view, row
116
116
  } = _props,
117
- other = _objectWithoutProperties(_props, ['classes', 'theme', 'onClose', 'parentRowId', 'parentRowDatas', 'parentIndicatorColumn', 'parentLabel', 'parentLabelIcon', 'children', 'columns', 'orderedColumns', 'selectable', 'selected', 'dateLocale', 'dense', 'sticky', 'view']);
117
+ other = _objectWithoutProperties(_props, ['classes', 'theme', 'onClose', 'parentRowId', 'parentRowDatas', 'parentIndicatorColumn', 'parentLabel', 'parentLabelIcon', 'children', 'columns', 'orderedColumns', 'selectable', 'selected', 'dateLocale', 'dense', 'sticky', 'view', 'row']);
118
118
 
119
119
  let indicator = '';
120
120
  if (parentIndicatorColumn && columns.hasOwnProperty(parentIndicatorColumn)) {
@@ -141,10 +141,7 @@ class ChildRow extends React.PureComponent {
141
141
  TableBody,
142
142
  null,
143
143
  React.createElement(BodyRow, _extends({
144
- row: {
145
- rowId: parentRowId,
146
- datas: parentRowDatas
147
- },
144
+ row: row,
148
145
  selectable: selectable,
149
146
  selected: selected,
150
147
  columns: columns,
@@ -277,10 +274,6 @@ ChildRow.propTypes = process.env.NODE_ENV !== "production" ? {
277
274
  * Données de la ligne parente
278
275
  */
279
276
  parentRowDatas: PropTypes.object.isRequired,
280
- /**
281
- * Ligne des détails de la ligne parente
282
- */
283
- parentDetailRows: PropTypes.array,
284
277
  /**
285
278
  * Indicateur du sous-ensemble (en général la date)
286
279
  */
@@ -1,3 +1,4 @@
1
+ import _Set from 'babel-runtime/core-js/set';
1
2
  import _extends from 'babel-runtime/helpers/extends';
2
3
  import React from 'react';
3
4
  import Popover from 'material-ui/Popover';
@@ -142,20 +143,20 @@ class ColumnFilter extends React.Component {
142
143
  * Sélectionne tous les items filtrés
143
144
  */
144
145
  selectAllFilters() {
145
- this.setState({ selectedIdList: this.state.suggestions.map(item => item.id) });
146
+ this.setState(prevState => ({
147
+ selectedIdList: [...new _Set([...prevState.selectedIdList, ...prevState.suggestions.map(item => item.id)])]
148
+ }));
146
149
  }
147
150
 
148
151
  /**
149
152
  * Désélectionne tous les items filtrés
150
153
  */
151
154
  deselectAllFilters() {
152
- const selectedIdList = this.state.selectedIdList;
153
- this.state.suggestions.map(item => {
154
- if (this.state.selectedIdList.includes(item.id)) {
155
- selectedIdList.splice(this.state.selectedIdList.indexOf(item.id), 1);
156
- }
155
+ this.setState(prevState => {
156
+ return {
157
+ selectedIdList: prevState.selectedIdList.filter(item => prevState.suggestions.find(suggestion => suggestion.id === item) === undefined)
158
+ };
157
159
  });
158
- this.setState({ selectedIdList });
159
160
  }
160
161
 
161
162
  handleSort(direction) {
@@ -253,7 +254,11 @@ class ColumnFilter extends React.Component {
253
254
  React.createElement(
254
255
  'div',
255
256
  { className: classes.menuItemFilter },
256
- translations.filter,
257
+ React.createElement(
258
+ 'span',
259
+ { style: { marginRight: 4 } },
260
+ translations.filter
261
+ ),
257
262
  React.createElement(
258
263
  HiPins,
259
264
  {
@@ -297,7 +302,8 @@ class ColumnFilter extends React.Component {
297
302
  itemList: suggestions,
298
303
  selectedIdList: selectedIdList,
299
304
  onSelect: this.toggleSelectItem,
300
- leftPadding: 28
305
+ leftPadding: 28,
306
+ checkbox: type !== 'icon'
301
307
  }),
302
308
  React.createElement(
303
309
  'div',
@@ -130,6 +130,7 @@ class HeaderCell extends React.PureComponent {
130
130
  classes,
131
131
  type,
132
132
  title,
133
+ smallTitle,
133
134
  selectable,
134
135
  selected,
135
136
  onSelect,
@@ -140,8 +141,8 @@ class HeaderCell extends React.PureComponent {
140
141
  filterSource,
141
142
  view,
142
143
  dense,
143
- width = cst.DEFAULT_WIDTHS[type][view],
144
- fixedWidth,
144
+ width,
145
+ fixedColumnWidth,
145
146
  align = cst.ALIGN_RIGHT_TYPES.includes(type) ? 'right' : 'left',
146
147
  sticky,
147
148
  padding,
@@ -153,7 +154,7 @@ class HeaderCell extends React.PureComponent {
153
154
  let offset = selectable ? dense ? 32 : 40 : padding;
154
155
 
155
156
  // Inclue le padding et/ou la checkbox dans la largeur de la cellule
156
- let _width = width + offset + padding;
157
+ let _width = (width || cst.DEFAULT_WIDTHS[type][view]) + offset + padding;
157
158
  // N'affiche pas le tri si il est désactivé.
158
159
  let _sorted = sortable && sorted;
159
160
  // N'active pas le filtre si il n'y a pas de jeu de donnée sur lesquelles filtrées.
@@ -178,19 +179,24 @@ class HeaderCell extends React.PureComponent {
178
179
 
179
180
  const lookedUpClassName = classNames({ [classes.lookedUp]: lookedUp });
180
181
 
182
+ const cellStyle = {
183
+ padding: 0,
184
+ zIndex: sticky ? 13 : 12, // la cellule sticky doit être au dessus des autres cellules du header
185
+ backgroundColor: 'inherit',
186
+ textAlign: align
187
+ };
188
+
189
+ if (fixedColumnWidth) {
190
+ cellStyle.maxWidth = _width;
191
+ cellStyle.minWidth = _width;
192
+ cellStyle.width = _width;
193
+ } else if (width) {
194
+ cellStyle.width = width;
195
+ }
196
+
181
197
  return React.createElement(
182
198
  TableCell,
183
- {
184
- style: {
185
- maxWidth: _width,
186
- minWidth: _width,
187
- width: _width,
188
- padding: 0,
189
- zIndex: sticky ? 13 : 12, // la cellule sticky doit être au dessus des autres cellules du header
190
- backgroundColor: 'inherit',
191
- textAlign: align
192
- }
193
- },
199
+ { style: cellStyle },
194
200
  React.createElement(
195
201
  'div',
196
202
  null,
@@ -233,7 +239,7 @@ class HeaderCell extends React.PureComponent {
233
239
  {
234
240
  className: classes.labelContainer + (_sorted ? ' ' + classes.labelContainerOrdered : '')
235
241
  },
236
- title
242
+ view !== 's' ? title : smallTitle ? smallTitle : title
237
243
  ),
238
244
  align !== 'right' && _icons
239
245
  ) : React.createElement(
@@ -250,7 +256,7 @@ class HeaderCell extends React.PureComponent {
250
256
  React.createElement(
251
257
  'span',
252
258
  { className: classes.labelContainer, style: { width: '100%' } },
253
- title
259
+ view !== 's' ? title : smallTitle ? smallTitle : title
254
260
  )
255
261
  )
256
262
  ),
@@ -279,7 +285,7 @@ HeaderCell.defaultProps = {
279
285
  sortDirection: 'asc',
280
286
  view: 'l',
281
287
  dense: false,
282
- fixedWidth: false,
288
+ fixedColumnWidth: true,
283
289
  sticky: true,
284
290
  padding: 8
285
291
  };
@@ -355,11 +361,11 @@ HeaderCell.propTypes = process.env.NODE_ENV !== "production" ? {
355
361
  /**
356
362
  * Largeur de la cellule (hors padding), est déduit de view par défaut
357
363
  */
358
- width: PropTypes.number,
364
+ width: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
359
365
  /**
360
366
  * La largeur de la cellule est fixé (toutes les colonnes sauf une)
361
367
  */
362
- fixedWidth: PropTypes.bool,
368
+ fixedColumnWidth: PropTypes.bool,
363
369
  /**
364
370
  * Title alignement, est déduit de type par défaut
365
371
  */
@@ -5,10 +5,11 @@ import ArrowUp from 'mdi-material-ui/ArrowUp';
5
5
  import isRequiredIf from 'react-proptype-conditional-require';
6
6
  import HiButton from '../HiButton';
7
7
 
8
- import { withStyles, withTheme } from '../styles';
8
+ import { withStyles } from '../styles';
9
9
  import HiTableHead from './HiTableHead';
10
10
  import HiTableBody from './HiTableBody';
11
11
  import HiTableFooterScroll from './HiTableFooterScroll';
12
+ import HiTableFooter from './HiTableFooter';
12
13
  import * as cst from './constants';
13
14
  import HiTableContextMenu from './HiTableContextMenu';
14
15
 
@@ -581,13 +582,25 @@ class HiTable extends React.Component {
581
582
  translations,
582
583
  view,
583
584
  groupBy,
584
- lookupColumns
585
+ lookupColumns,
586
+ loading,
587
+ fixedColumnWidth,
588
+ disableContextMenu,
589
+ footerContent,
590
+ detailRowsOptions
585
591
  } = this.props;
586
592
 
587
593
  const { dateUpdate, isScrollToBottom, groupByIds } = this.state;
588
594
 
589
595
  const headerHeight = dense ? cst.CELL_HEADER_HEIGHT_DENSE : cst.CELL_HEADER_HEIGHT;
590
596
 
597
+ let nbColumnsDisplayed = 0;
598
+ orderedColumns.forEach(column => {
599
+ if (column.displayed !== false) {
600
+ nbColumnsDisplayed += 1;
601
+ }
602
+ });
603
+
591
604
  return React.createElement(
592
605
  'div',
593
606
  { className: classes.root },
@@ -627,7 +640,8 @@ class HiTable extends React.Component {
627
640
  sticky: sticky,
628
641
  view: view,
629
642
  translations: translations,
630
- lookupColumns: lookupColumns
643
+ lookupColumns: lookupColumns,
644
+ fixedColumnWidth: fixedColumnWidth
631
645
  }),
632
646
  React.createElement(HiTableBody, {
633
647
  tabId: tabId,
@@ -652,7 +666,11 @@ class HiTable extends React.Component {
652
666
  groupBy: groupBy,
653
667
  onClickNext: this.handleNextStickyRow,
654
668
  groupByIds: groupByIds,
655
- lookupColumns: lookupColumns
669
+ lookupColumns: lookupColumns,
670
+ loading: loading,
671
+ fixedColumnWidth: fixedColumnWidth,
672
+ disableContextMenu: disableContextMenu,
673
+ detailRowsOptions: detailRowsOptions
656
674
  }),
657
675
  infiniteScroll && React.createElement(HiTableFooterScroll, {
658
676
  tabId: tabId,
@@ -661,7 +679,15 @@ class HiTable extends React.Component {
661
679
  maxAutoRequest: 3,
662
680
  isScrollToBottom: isScrollToBottom,
663
681
  translations: translations
664
- })
682
+ }),
683
+ !infiniteScroll && footerContent && React.createElement(
684
+ HiTableFooter,
685
+ {
686
+ nbColumnsDisplayed: nbColumnsDisplayed,
687
+ view: view
688
+ },
689
+ footerContent
690
+ )
665
691
  ),
666
692
  React.createElement(HiTableContextMenu, {
667
693
  tabId: tabId,
@@ -674,7 +700,7 @@ class HiTable extends React.Component {
674
700
  React.createElement(
675
701
  HiButton,
676
702
  {
677
- raised: true,
703
+ variant: 'raised',
678
704
  color: 'primary',
679
705
  className: classes.backToTopButton,
680
706
  onClick: () => this.scrollToTop()
@@ -701,6 +727,7 @@ HiTable.defaultProps = {
701
727
  dateLocale: 'en-EN',
702
728
  numberLocale: 'en-EN',
703
729
  dense: false,
730
+ detailRowsOptions: {},
704
731
  height: 450,
705
732
  sticky: true,
706
733
  translations: {
@@ -717,7 +744,10 @@ HiTable.defaultProps = {
717
744
  }
718
745
  },
719
746
  view: 'l',
720
- lookupColumns: []
747
+ lookupColumns: [],
748
+ loading: false,
749
+ fixedColumnWidth: true,
750
+ disableContextMenu: true
721
751
  };
722
752
  HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
723
753
  /**
@@ -740,14 +770,42 @@ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
740
770
  * Locale utilisé pour le format des dates
741
771
  */
742
772
  dateLocale: PropTypes.string,
773
+ /**
774
+ * Options utilisées pour décrire le comportement de lignes de détails
775
+ * ex: {
776
+ * payment_operation: {
777
+ * anchor: 'transaction_id'
778
+ * }
779
+ * }
780
+ * dans cet exemple, on veut que les lignes de détails de type payment_operation
781
+ * soient affichable à partir d'un chip button dans les cellules transaction_id
782
+ */
783
+ detailRowsOptions: PropTypes.object,
743
784
  /**
744
785
  * Densité d'affichage (joue sur la hauteur des lignes)
745
786
  */
746
787
  dense: PropTypes.bool,
788
+ /**
789
+ * Active/désactive le menu contextuel au clic droit sur les cellules du tableau
790
+ */
791
+ disableContextMenu: PropTypes.bool.isRequired,
747
792
  /**
748
793
  * Active le filtre sur les colonnes filtrables
749
794
  */
750
795
  filterable: PropTypes.bool,
796
+ /**
797
+ * Fixe la taille des colonnes selon le type de vue
798
+ * Sinon les colonnes s'adaptent à l'espace disponible
799
+ */
800
+ fixedColumnWidth: PropTypes.bool,
801
+ /**
802
+ * Ajoute un footer avec le contenu footerContent à l'intérieur
803
+ */
804
+ footerContent: PropTypes.node,
805
+ /**
806
+ * Id de la colonne par laquelle sont regroupé les éléments
807
+ */
808
+ groupBy: PropTypes.string,
751
809
  /**
752
810
  * Ajoute le loader et le requestNextDatas en fin de tableau (si infiniteScroll activé)
753
811
  */
@@ -760,6 +818,10 @@ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
760
818
  * Ajoute l'infinite scroll
761
819
  */
762
820
  infiniteScroll: PropTypes.bool,
821
+ /**
822
+ * État du tableau en cours de chargement des données
823
+ */
824
+ loading: PropTypes.bool,
763
825
  /**
764
826
  * Identifiant de la ou des colonnes sur la/lesquelles il y a une 'lookup' search
765
827
  */
@@ -812,6 +874,9 @@ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
812
874
  /**
813
875
  * Fonction de callback sur le tri d'une colonne
814
876
  * Passe l'id de la colonne et la direction du tri (ou false si tri par défaut)
877
+ *
878
+ * @param {string} column id
879
+ * @param {string} direction
815
880
  */
816
881
  onSort: PropTypes.func,
817
882
  /**
@@ -867,10 +932,6 @@ HiTable.propTypes = process.env.NODE_ENV !== "production" ? {
867
932
  * Taille du tableau (L/M/S),
868
933
  * définit l'espace entre les cellules et leurs tailles par default
869
934
  */
870
- view: PropTypes.oneOf(['l', 'm', 's']),
871
- /**
872
- * Id de la colonne par laquelle sont regroupé les éléments
873
- */
874
- groupBy: PropTypes.string
935
+ view: PropTypes.oneOf(['l', 'm', 's'])
875
936
  } : {};
876
937
  export default withStyles(styles, { withTheme: true, name: 'HmuiHiTable' })(HiTable);
@@ -2,23 +2,24 @@ import _extends from 'babel-runtime/helpers/extends';
2
2
  import React from 'react';
3
3
  import PropTypes from 'prop-types';
4
4
  import { TableBody, TableRow } from 'material-ui/Table';
5
- import { withStyles, withTheme } from '../styles';
5
+ import classNames from 'classnames';
6
+ import { withStyles } from '../styles';
6
7
  import BodyRow from './BodyRow';
7
8
  import ChildRow from './ChildRow';
8
9
  import HiStickyRow from './HiStickyRow';
9
10
  import * as cst from './constants';
10
- import { SORTED_COLUMN_ERROR_MESSAGE } from './HiTableHead';
11
- import isRequiredIf from 'react-proptype-conditional-require';
12
11
 
13
12
  export const styles = theme => ({
14
13
  tbody: {
15
14
  position: 'relative',
16
- display: 'block' /* seperates the tbody from the header */
17
- , width: '100%',
15
+ width: '100%',
18
16
  overflowX: 'hidden',
19
17
  overflowY: 'auto',
20
18
  zIndex: 11
21
19
  },
20
+ tbodyFixedWidth: {
21
+ display: 'block' /* seperates the tbody from the header */
22
+ },
22
23
  tbodyRows: {
23
24
  backgroundColor: theme.palette.background3
24
25
  },
@@ -149,14 +150,16 @@ class HiTableBody extends React.Component {
149
150
  /**
150
151
  * Définit les id des lignes dont les détails sont affichés ou null
151
152
  * (ajoute une ligne pour chaque détails)
153
+ * vérifie aussi le type du détail
152
154
  *
153
155
  * @param rowId
156
+ * @param type
154
157
  */
155
- toggleOpenedDetailsRowId(rowId) {
158
+ toggleOpenedDetailsRowId(rowId, type) {
156
159
  this.setState(prevState => ({
157
- openedDetailsRowIdList: prevState.openedDetailsRowIdList.includes(rowId) ? prevState.openedDetailsRowIdList.filter(id => {
158
- return id !== rowId;
159
- }) : [...prevState.openedDetailsRowIdList, rowId]
160
+ openedDetailsRowIdList: prevState.openedDetailsRowIdList.find(item => item.id === rowId && item.type === type) ? prevState.openedDetailsRowIdList.filter(item => {
161
+ return item.id !== rowId || item.type !== type;
162
+ }) : [...prevState.openedDetailsRowIdList, { id: rowId, type: type }]
160
163
  }));
161
164
  this.props.addNewRowRefs();
162
165
  }
@@ -191,7 +194,11 @@ class HiTableBody extends React.Component {
191
194
  numberLocale,
192
195
  groupByIds,
193
196
  sortedColumnId,
194
- lookupColumns
197
+ lookupColumns,
198
+ loading,
199
+ fixedColumnWidth,
200
+ disableContextMenu,
201
+ detailRowsOptions
195
202
  } = this.props;
196
203
 
197
204
  const { openedParentRowId, openedDetailsRowIdList } = this.state;
@@ -262,9 +269,6 @@ class HiTableBody extends React.Component {
262
269
  // has children
263
270
  const hasChildren = row.hasOwnProperty('children') && row.children.length > 0;
264
271
 
265
- // has detail rows
266
- const hasDetailRows = row.hasOwnProperty('detailRows') && row.detailRows.length > 0;
267
-
268
272
  const BodyRowProps = _extends({
269
273
  columns,
270
274
  dateLocale,
@@ -276,9 +280,9 @@ class HiTableBody extends React.Component {
276
280
  }, hasChildren && {
277
281
  openedAsParent: openedParentRowId === row.rowId,
278
282
  onClick: this.setOpenedParentRowId // if row has children, onClick display the children
279
- }, hasDetailRows && {
280
- onOpenRowDetails: this.toggleOpenedDetailsRowId
281
283
  }, {
284
+ onOpenRowDetails: this.toggleOpenedDetailsRowId,
285
+ detailRowsOptions,
282
286
  orderedColumns
283
287
  }, selectable && {
284
288
  selectable,
@@ -288,7 +292,9 @@ class HiTableBody extends React.Component {
288
292
  row,
289
293
  sticky,
290
294
  tabId,
291
- view
295
+ view,
296
+ fixedColumnWidth,
297
+ disableContextMenu
292
298
  });
293
299
 
294
300
  if (hasChildren && openedParentRowId === row.rowId) {
@@ -299,7 +305,6 @@ class HiTableBody extends React.Component {
299
305
  parentIndicatorColumn: row.parentIndicatorColumn,
300
306
  parentLabel: row.parentLabel,
301
307
  parentLabelIcon: row.parentLabelIcon,
302
- parentDetailRows: row.detailRows,
303
308
  children: row.children,
304
309
  onClose: this.setOpenedParentRowId
305
310
  }, BodyRowProps)));
@@ -308,29 +313,43 @@ class HiTableBody extends React.Component {
308
313
  }
309
314
 
310
315
  // add opened detail rows
311
- if (hasDetailRows && openedDetailsRowIdList.includes(row.rowId)) {
312
- row.detailRows.forEach(detailRow => {
313
- const detailRowProps = {
314
- row: detailRow,
315
- columns,
316
- orderedColumns,
317
- view,
318
- dense,
319
- sticky,
320
- isDetail: true
321
- };
316
+ if (row.details && row.details.length > 0) {
317
+ row.details.forEach(detail => {
318
+ if (detail.rows.length > 0 && openedDetailsRowIdList.find(item => item.id === row.rowId && item.type === detail.type)) {
319
+ detail.rows.forEach(detailRow => {
320
+ const detailRowProps = {
321
+ row: detailRow,
322
+ columns,
323
+ orderedColumns,
324
+ view,
325
+ dense,
326
+ sticky,
327
+ isDetail: true,
328
+ fixedColumnWidth,
329
+ disableContextMenu
330
+ };
322
331
 
323
- tableRows.push(React.createElement(BodyRow, _extends({ key: `${row.rowId}-${detailRow.rowId}` }, detailRowProps)));
332
+ tableRows.push(React.createElement(BodyRow, _extends({ key: `${row.rowId}-${detailRow.rowId}` }, detailRowProps)));
333
+ });
334
+ }
324
335
  });
325
336
  }
326
337
  });
327
338
 
339
+ const tBodyClasses = classNames(classes.tbody, {
340
+ [classes.tbodyFixedWidth]: fixedColumnWidth
341
+ });
342
+
328
343
  return React.createElement(
329
344
  TableBody,
330
345
  {
331
346
  id: `${tabId}-body`,
332
- className: classes.tbody,
333
- style: { height },
347
+ className: tBodyClasses,
348
+ style: _extends({
349
+ height
350
+ }, loading && {
351
+ opacity: 0.6
352
+ }),
334
353
  onScroll: onScroll
335
354
  },
336
355
  tableRows.map(tableRow => {
@@ -349,7 +368,10 @@ HiTableBody.defaultProps = {
349
368
  dense: false,
350
369
  height: 450,
351
370
  sticky: true,
352
- view: 'l'
371
+ view: 'l',
372
+ loading: false,
373
+ disableContextMenu: true,
374
+ detailRowsOptions: {}
353
375
  };
354
376
  HiTableBody.propTypes = process.env.NODE_ENV !== "production" ? {
355
377
  /**
@@ -377,10 +399,27 @@ HiTableBody.propTypes = process.env.NODE_ENV !== "production" ? {
377
399
  * Densité d'affichage (joue sur la hauteur des lignes)
378
400
  */
379
401
  dense: PropTypes.bool,
402
+ /**
403
+ * Options utilisées pour décrire le comportement de lignes de détails
404
+ */
405
+ detailRowsOptions: PropTypes.object,
406
+ /**
407
+ * Active/désactive le menu contextuel au clic droit sur les cellules du tableau
408
+ */
409
+ disableContextMenu: PropTypes.bool.isRequired,
410
+ /**
411
+ * Fixe la taille des colonnes selon le type de vue
412
+ * Sinon les colonnes s'adaptent à l'espace disponible
413
+ */
414
+ fixedColumnWidth: PropTypes.bool,
380
415
  /**
381
416
  * Hauteur du tableau (px)
382
417
  */
383
418
  height: PropTypes.number,
419
+ /**
420
+ * État du tableau en cours de chargement des données
421
+ */
422
+ loading: PropTypes.bool,
384
423
  /**
385
424
  * Identifiant de la ou des colonnes sur la/lesquelles il y a une 'lookup' search
386
425
  */
@@ -39,7 +39,8 @@ class HiTableContextMenu extends React.Component {
39
39
  super(props);
40
40
 
41
41
  this.state = {
42
- value: ''
42
+ value: '',
43
+ label: ''
43
44
  };
44
45
 
45
46
  this.handleContextMenuOpen = this.handleContextMenuOpen.bind(this);
@@ -50,7 +51,10 @@ class HiTableContextMenu extends React.Component {
50
51
  }
51
52
 
52
53
  handleContextMenuOpen(event) {
53
- this.setState({ value: event.detail.data.label });
54
+ this.setState({
55
+ value: event.detail.data.value,
56
+ label: event.detail.data.label
57
+ });
54
58
  }
55
59
 
56
60
  handleClickCopy(event, data) {
@@ -100,7 +104,7 @@ class HiTableContextMenu extends React.Component {
100
104
  React.createElement(
101
105
  'span',
102
106
  { className: classes.title },
103
- menuItem.title.replace('%s', this.state.value)
107
+ menuItem.title.replace('%s', this.state.label)
104
108
  )
105
109
  );
106
110
  })
@@ -0,0 +1,75 @@
1
+ import React from 'react';
2
+ import { TableCell, TableFooter, TableRow } from 'material-ui/Table';
3
+ import { withStyles } from '../styles';
4
+ import PropTypes from 'prop-types';
5
+ import * as cst from "./constants";
6
+
7
+ export const styles = theme => ({
8
+ tfoot: {
9
+ zIndex: 13
10
+ },
11
+ tfootCell: {
12
+ borderTop: '1px solid',
13
+ borderTopColor: theme.palette.line.stepper,
14
+ padding: 0
15
+ },
16
+ patchDiv: {
17
+ position: 'relative',
18
+ border: 'none',
19
+ width: 0,
20
+ paddingRight: 0,
21
+ paddingTop: 0,
22
+ paddingBottom: 0,
23
+ height: '100%',
24
+ zIndex: 12,
25
+ backgroundColor: 'inherit'
26
+ }
27
+ });
28
+
29
+ class HiTableFooter extends React.Component {
30
+
31
+ render() {
32
+ const { classes, nbColumnsDisplayed, view } = this.props;
33
+
34
+ return React.createElement(
35
+ TableFooter,
36
+ { className: classes.tfoot },
37
+ React.createElement(
38
+ TableRow,
39
+ null,
40
+ React.createElement(TableCell, {
41
+ style: {
42
+ paddingLeft: cst.DEFAULT_PADDING[view]
43
+ },
44
+ key: `footer-left-cell`,
45
+ className: classes.patchDiv
46
+ }),
47
+ React.createElement(
48
+ TableCell,
49
+ { colSpan: nbColumnsDisplayed, classes: { root: classes.tfootCell } },
50
+ this.props.children
51
+ ),
52
+ React.createElement(TableCell, {
53
+ style: {
54
+ paddingLeft: cst.DEFAULT_PADDING[view]
55
+ },
56
+ key: `footer-right-cell`,
57
+ className: classes.patchDiv
58
+ })
59
+ )
60
+ );
61
+ }
62
+ }
63
+
64
+ HiTableFooter.propTypes = process.env.NODE_ENV !== "production" ? {
65
+ /**
66
+ * Nombre de colonnes affichées
67
+ */
68
+ nbColumnsDisplayed: PropTypes.number.isRequired,
69
+ /**
70
+ * Taille du tableau (L/M/S),
71
+ * définit l'espace entre les cellules et leurs tailles par default
72
+ */
73
+ view: PropTypes.oneOf(['l', 'm', 's'])
74
+ } : {};
75
+ export default withStyles(styles, { name: 'HmuiHiTableFooter' })(HiTableFooter);