linear-react-components-ui 0.4.77-beta.9 → 1.0.0-rc.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 (563) hide show
  1. package/.eslintrc.json +99 -0
  2. package/.gitlab-ci.yml +19 -0
  3. package/.husky/pre-push +4 -0
  4. package/.vscode/launch.json +15 -0
  5. package/.vscode/settings.json +5 -2
  6. package/babel.config.json +11 -0
  7. package/config/getHttpsConfig.js +56 -0
  8. package/config/paths.js +140 -0
  9. package/config/webpackDevServer.config.js +128 -0
  10. package/jest.config.js +3 -3
  11. package/lib/@types/Align.d.ts +3 -0
  12. package/lib/@types/Align.js +5 -0
  13. package/lib/@types/ButtonTypes.d.ts +3 -0
  14. package/lib/@types/ButtonTypes.js +5 -0
  15. package/lib/@types/ColorStyles.d.ts +3 -0
  16. package/lib/@types/ColorStyles.js +5 -0
  17. package/lib/@types/DataCombo.d.ts +3 -0
  18. package/lib/@types/DataCombo.js +5 -0
  19. package/lib/@types/Icon.d.ts +5 -0
  20. package/lib/@types/Icon.js +5 -0
  21. package/lib/@types/LabelStyles.d.ts +3 -0
  22. package/lib/@types/Period.d.ts +6 -0
  23. package/lib/@types/Period.js +5 -0
  24. package/lib/@types/PermissionAttr.d.ts +14 -0
  25. package/lib/@types/PointerEvents.d.ts +3 -0
  26. package/lib/@types/Position.d.ts +3 -0
  27. package/lib/@types/PositionAlert.d.ts +3 -0
  28. package/lib/@types/PositionAlert.js +5 -0
  29. package/lib/@types/Size.d.ts +3 -0
  30. package/lib/@types/SizePixels.d.ts +3 -0
  31. package/lib/@types/StorageMock.d.ts +5 -0
  32. package/lib/@types/StorageMock.js +5 -0
  33. package/lib/alerts/AlertContainer.d.ts +16 -0
  34. package/lib/alerts/AlertContainer.js +16 -21
  35. package/lib/alerts/AlertProvider.d.ts +7 -0
  36. package/lib/alerts/AlertProvider.js +13 -18
  37. package/lib/alerts/BaseAlert.d.ts +7 -0
  38. package/lib/alerts/BaseAlert.js +8 -11
  39. package/lib/alerts/Message.d.ts +7 -0
  40. package/lib/alerts/Message.js +41 -50
  41. package/lib/alerts/helpers.d.ts +7 -0
  42. package/lib/alerts/helpers.js +4 -7
  43. package/lib/alerts/index.d.ts +6 -0
  44. package/lib/alerts/index.js +5 -5
  45. package/lib/alerts/types.d.ts +48 -0
  46. package/lib/alerts/types.js +5 -0
  47. package/lib/alerts/withAlert.d.ts +7 -0
  48. package/lib/alerts/withAlert.js +8 -8
  49. package/lib/assets/styles/commons.scss +0 -10
  50. package/lib/assets/styles/dropdown.scss +0 -1
  51. package/lib/assets/styles/list.scss +0 -8
  52. package/lib/assets/styles/sidenav.scss +42 -93
  53. package/lib/assets/styles/table.scss +7 -2
  54. package/lib/avatar/index.d.ts +12 -0
  55. package/lib/avatar/index.js +21 -66
  56. package/lib/avatar/types.d.ts +31 -0
  57. package/lib/avatar/types.js +5 -0
  58. package/lib/badge/index.d.ts +6 -0
  59. package/lib/badge/index.js +11 -27
  60. package/lib/badge/types.d.ts +13 -0
  61. package/lib/badge/types.js +5 -0
  62. package/lib/buttons/ActivateButton.d.ts +9 -0
  63. package/lib/buttons/ActivateButton.js +6 -6
  64. package/lib/buttons/AddButton.d.ts +9 -0
  65. package/lib/buttons/AddButton.js +6 -6
  66. package/lib/buttons/Button.d.ts +12 -0
  67. package/lib/buttons/Button.js +22 -14
  68. package/lib/buttons/ButtonGroups.d.ts +8 -0
  69. package/lib/buttons/ButtonGroups.js +4 -9
  70. package/lib/buttons/CancelButton.d.ts +9 -0
  71. package/lib/buttons/CancelButton.js +19 -6
  72. package/lib/buttons/DangerButton.d.ts +9 -0
  73. package/lib/buttons/DangerButton.js +16 -21
  74. package/lib/buttons/DefaultButton.d.ts +12 -0
  75. package/lib/buttons/DefaultButton.js +73 -135
  76. package/lib/buttons/DestroyButton.d.ts +9 -0
  77. package/lib/buttons/DestroyButton.js +16 -7
  78. package/lib/buttons/EditButton.d.ts +9 -0
  79. package/lib/buttons/EditButton.js +6 -6
  80. package/lib/buttons/InactivateButton.d.ts +9 -0
  81. package/lib/buttons/InactivateButton.js +6 -6
  82. package/lib/buttons/InfoButton.d.ts +9 -0
  83. package/lib/buttons/InfoButton.js +16 -21
  84. package/lib/buttons/PrimaryButton.d.ts +9 -0
  85. package/lib/buttons/PrimaryButton.js +16 -21
  86. package/lib/buttons/RestoreButton.d.ts +9 -0
  87. package/lib/buttons/RestoreButton.js +6 -6
  88. package/lib/buttons/SaveButton.d.ts +9 -0
  89. package/lib/buttons/SaveButton.js +18 -5
  90. package/lib/buttons/SuccessButton.d.ts +9 -0
  91. package/lib/buttons/SuccessButton.js +15 -20
  92. package/lib/buttons/WarningButton.d.ts +9 -0
  93. package/lib/buttons/WarningButton.js +15 -20
  94. package/lib/buttons/button_container/index.d.ts +12 -0
  95. package/lib/buttons/button_container/index.js +10 -23
  96. package/lib/buttons/index.d.ts +21 -0
  97. package/lib/buttons/index.js +18 -18
  98. package/lib/buttons/split_button/index.d.ts +9 -0
  99. package/lib/buttons/split_button/index.js +18 -35
  100. package/lib/buttons/types.d.ts +44 -0
  101. package/lib/calendar/DangerCalendar.d.ts +7 -0
  102. package/lib/calendar/DangerCalendar.js +15 -6
  103. package/lib/calendar/InfoCalendar.d.ts +7 -0
  104. package/lib/calendar/InfoCalendar.js +15 -6
  105. package/lib/calendar/PrimaryCalendar.d.ts +7 -0
  106. package/lib/calendar/PrimaryCalendar.js +15 -6
  107. package/lib/calendar/SuccessCalendar.d.ts +7 -0
  108. package/lib/calendar/SuccessCalendar.js +15 -6
  109. package/lib/calendar/WarningCalendar.d.ts +7 -0
  110. package/lib/calendar/WarningCalendar.js +15 -6
  111. package/lib/calendar/base/Day.d.ts +7 -0
  112. package/lib/calendar/base/Day.js +8 -14
  113. package/lib/calendar/base/Month.d.ts +7 -0
  114. package/lib/calendar/base/Month.js +5 -10
  115. package/lib/calendar/base/Week.d.ts +7 -0
  116. package/lib/calendar/base/Week.js +5 -11
  117. package/lib/calendar/base/helpers.d.ts +62 -0
  118. package/lib/calendar/base/helpers.js +9 -9
  119. package/lib/calendar/base/index.d.ts +7 -0
  120. package/lib/calendar/base/index.js +44 -47
  121. package/lib/calendar/index.d.ts +10 -0
  122. package/lib/calendar/index.js +9 -9
  123. package/lib/calendar/types.d.ts +25 -0
  124. package/lib/calendar/types.js +5 -0
  125. package/lib/checkbox/Label.d.ts +11 -0
  126. package/lib/checkbox/Label.js +7 -17
  127. package/lib/checkbox/index.d.ts +13 -0
  128. package/lib/checkbox/index.js +52 -89
  129. package/lib/checkbox/types.d.ts +42 -0
  130. package/lib/dialog/Alert.d.ts +6 -0
  131. package/lib/dialog/Alert.js +9 -14
  132. package/lib/dialog/Custom.d.ts +6 -0
  133. package/lib/dialog/Custom.js +26 -34
  134. package/lib/dialog/Error.d.ts +6 -0
  135. package/lib/dialog/Error.js +7 -12
  136. package/lib/dialog/Information.d.ts +6 -0
  137. package/lib/dialog/Information.js +7 -12
  138. package/lib/dialog/Question.d.ts +6 -0
  139. package/lib/dialog/Question.js +14 -25
  140. package/lib/dialog/Warning.d.ts +6 -0
  141. package/lib/dialog/Warning.js +7 -12
  142. package/lib/dialog/base/Content.d.ts +6 -0
  143. package/lib/dialog/base/Content.js +4 -13
  144. package/lib/dialog/base/Footer.d.ts +6 -0
  145. package/lib/dialog/base/Footer.js +6 -12
  146. package/lib/dialog/base/Header.d.ts +6 -0
  147. package/lib/dialog/base/Header.js +17 -31
  148. package/lib/dialog/base/index.d.ts +6 -0
  149. package/lib/dialog/base/index.js +13 -35
  150. package/lib/dialog/base/style.js +2 -2
  151. package/lib/dialog/form/index.d.ts +6 -0
  152. package/lib/dialog/form/index.js +34 -44
  153. package/lib/dialog/index.d.ts +10 -0
  154. package/lib/dialog/index.js +10 -10
  155. package/lib/dialog/types.d.ts +68 -0
  156. package/lib/dialog/types.js +5 -0
  157. package/lib/drawer/Content.d.ts +7 -0
  158. package/lib/drawer/Content.js +7 -16
  159. package/lib/drawer/Drawer.d.ts +7 -0
  160. package/lib/drawer/Drawer.js +36 -57
  161. package/lib/drawer/Header.d.ts +7 -0
  162. package/lib/drawer/Header.js +28 -47
  163. package/lib/drawer/helpers.d.ts +7 -0
  164. package/lib/drawer/helpers.js +4 -4
  165. package/lib/drawer/index.d.ts +9 -0
  166. package/lib/drawer/index.js +6 -6
  167. package/lib/drawer/types.d.ts +34 -0
  168. package/lib/drawer/types.js +5 -0
  169. package/lib/dropdown/Popup.d.ts +6 -0
  170. package/lib/dropdown/Popup.js +36 -20
  171. package/lib/dropdown/helper.d.ts +4 -0
  172. package/lib/dropdown/helper.js +2 -2
  173. package/lib/dropdown/types.d.ts +43 -0
  174. package/lib/dropdown/withDropdown.d.ts +10 -0
  175. package/lib/dropdown/withDropdown.js +22 -47
  176. package/lib/fieldset/index.d.ts +8 -0
  177. package/lib/fieldset/index.js +19 -50
  178. package/lib/fieldset/types.d.ts +28 -0
  179. package/lib/fieldset/types.js +5 -0
  180. package/lib/form/Field.d.ts +6 -0
  181. package/lib/form/Field.js +22 -49
  182. package/lib/form/FieldArray.d.ts +6 -0
  183. package/lib/form/FieldArray.js +27 -57
  184. package/lib/form/FieldNumber.d.ts +6 -0
  185. package/lib/form/FieldNumber.js +10 -32
  186. package/lib/form/FieldPeriod.d.ts +6 -0
  187. package/lib/form/FieldPeriod.js +29 -51
  188. package/lib/form/helpers.d.ts +11 -0
  189. package/lib/form/helpers.js +11 -17
  190. package/lib/form/index.d.ts +9 -0
  191. package/lib/form/index.js +68 -103
  192. package/lib/form/types.d.ts +167 -0
  193. package/lib/form/types.js +5 -0
  194. package/lib/form/withFieldHOC.d.ts +6 -0
  195. package/lib/form/withFieldHOC.js +45 -125
  196. package/lib/form/withFormSecurity.d.ts +7 -0
  197. package/lib/form/withFormSecurity.js +20 -41
  198. package/lib/gridlayout/GridCol.d.ts +6 -0
  199. package/lib/gridlayout/GridCol.js +7 -22
  200. package/lib/gridlayout/GridRow.d.ts +6 -0
  201. package/lib/gridlayout/GridRow.js +8 -28
  202. package/lib/gridlayout/index.d.ts +5 -0
  203. package/lib/gridlayout/index.js +5 -5
  204. package/lib/gridlayout/types.d.ts +20 -0
  205. package/lib/gridlayout/types.js +5 -0
  206. package/lib/icons/helper.d.ts +560 -0
  207. package/lib/icons/helper.js +560 -563
  208. package/lib/icons/index.d.ts +8 -0
  209. package/lib/icons/index.js +28 -45
  210. package/lib/icons/types.d.ts +28 -0
  211. package/lib/index.d.ts +35 -0
  212. package/lib/index.js +10 -10
  213. package/lib/inputs/base/InputTextBase.d.ts +8 -0
  214. package/lib/inputs/base/InputTextBase.js +54 -163
  215. package/lib/inputs/base/helpers.d.ts +14 -0
  216. package/lib/inputs/base/helpers.js +9 -9
  217. package/lib/inputs/base/types.d.ts +68 -0
  218. package/lib/inputs/base/types.js +5 -0
  219. package/lib/inputs/color/index.d.ts +7 -0
  220. package/lib/inputs/color/index.js +40 -38
  221. package/lib/inputs/color/types.d.ts +14 -0
  222. package/lib/inputs/color/types.js +5 -0
  223. package/lib/inputs/date/Dialog.d.ts +10 -0
  224. package/lib/inputs/date/Dialog.js +4 -11
  225. package/lib/inputs/date/Dropdown.d.ts +10 -0
  226. package/lib/inputs/date/Dropdown.js +21 -73
  227. package/lib/inputs/date/helpers.d.ts +14 -0
  228. package/lib/inputs/date/helpers.js +4 -4
  229. package/lib/inputs/date/index.d.ts +10 -0
  230. package/lib/inputs/date/index.js +259 -415
  231. package/lib/inputs/date/types.d.ts +53 -0
  232. package/lib/inputs/date/types.js +5 -0
  233. package/lib/inputs/inputHOC.d.ts +11 -0
  234. package/lib/inputs/inputHOC.js +48 -100
  235. package/lib/inputs/mask/BaseMask.d.ts +12 -0
  236. package/lib/inputs/mask/BaseMask.js +6 -20
  237. package/lib/inputs/mask/Cnpj.d.ts +12 -0
  238. package/lib/inputs/mask/Cnpj.js +17 -24
  239. package/lib/inputs/mask/Cpf.d.ts +12 -0
  240. package/lib/inputs/mask/Cpf.js +18 -26
  241. package/lib/inputs/mask/Phone.d.ts +9 -0
  242. package/lib/inputs/mask/Phone.js +5 -13
  243. package/lib/inputs/mask/ZipCode.d.ts +9 -0
  244. package/lib/inputs/mask/ZipCode.js +5 -5
  245. package/lib/inputs/mask/helpers.d.ts +14 -0
  246. package/lib/inputs/mask/helpers.js +21 -36
  247. package/lib/inputs/mask/imaskHOC.d.ts +14 -0
  248. package/lib/inputs/mask/imaskHOC.js +188 -257
  249. package/lib/inputs/mask/index.d.ts +11 -0
  250. package/lib/inputs/mask/index.js +8 -8
  251. package/lib/inputs/mask/types.d.ts +66 -0
  252. package/lib/inputs/mask/types.js +5 -0
  253. package/lib/inputs/multiSelect/ActionButtons.d.ts +10 -0
  254. package/lib/inputs/multiSelect/ActionButtons.js +9 -21
  255. package/lib/inputs/multiSelect/Dropdown.d.ts +10 -0
  256. package/lib/inputs/multiSelect/Dropdown.js +60 -87
  257. package/lib/inputs/multiSelect/helper.d.ts +9 -0
  258. package/lib/inputs/multiSelect/helper.js +2 -2
  259. package/lib/inputs/multiSelect/index.d.ts +10 -0
  260. package/lib/inputs/multiSelect/index.js +67 -90
  261. package/lib/inputs/multiSelect/types.d.ts +49 -0
  262. package/lib/inputs/multiSelect/types.js +5 -0
  263. package/lib/inputs/number/BaseNumber.d.ts +9 -0
  264. package/lib/inputs/number/BaseNumber.js +15 -27
  265. package/lib/inputs/number/Currency.d.ts +9 -0
  266. package/lib/inputs/number/Currency.js +8 -18
  267. package/lib/inputs/number/Decimal.d.ts +9 -0
  268. package/lib/inputs/number/Decimal.js +4 -4
  269. package/lib/inputs/number/format_number.d.ts +4 -0
  270. package/lib/inputs/number/index.d.ts +11 -0
  271. package/lib/inputs/number/index.js +14 -20
  272. package/lib/inputs/number/types.d.ts +27 -0
  273. package/lib/inputs/number/types.js +5 -0
  274. package/lib/inputs/period/Dialog.d.ts +11 -0
  275. package/lib/inputs/period/Dialog.js +4 -11
  276. package/lib/inputs/period/Dropdown.d.ts +11 -0
  277. package/lib/inputs/period/Dropdown.js +19 -73
  278. package/lib/inputs/period/PeriodList.d.ts +11 -0
  279. package/lib/inputs/period/PeriodList.js +12 -25
  280. package/lib/inputs/period/helper.d.ts +19 -0
  281. package/lib/inputs/period/helper.js +33 -74
  282. package/lib/inputs/period/index.d.ts +11 -0
  283. package/lib/inputs/period/index.js +136 -186
  284. package/lib/inputs/period/types.d.ts +58 -0
  285. package/lib/inputs/period/types.js +5 -0
  286. package/lib/inputs/search/index.d.ts +11 -0
  287. package/lib/inputs/search/index.js +133 -265
  288. package/lib/inputs/select/ActionButtons.d.ts +11 -0
  289. package/lib/inputs/select/ActionButtons.js +19 -25
  290. package/lib/inputs/select/Dropdown.d.ts +11 -0
  291. package/lib/inputs/select/Dropdown.js +42 -75
  292. package/lib/inputs/select/helper.d.ts +25 -0
  293. package/lib/inputs/select/helper.js +18 -14
  294. package/lib/inputs/select/index.d.ts +10 -0
  295. package/lib/inputs/select/index.js +15 -16
  296. package/lib/inputs/select/multiple/Selecteds.d.ts +10 -0
  297. package/lib/inputs/select/multiple/Selecteds.js +9 -17
  298. package/lib/inputs/select/multiple/index.d.ts +10 -0
  299. package/lib/inputs/select/multiple/index.js +293 -418
  300. package/lib/inputs/select/simple/index.d.ts +10 -0
  301. package/lib/inputs/select/simple/index.js +310 -463
  302. package/lib/inputs/select/types.d.ts +97 -0
  303. package/lib/inputs/select/types.js +5 -0
  304. package/lib/inputs/text/index.d.ts +9 -0
  305. package/lib/inputs/text/index.js +5 -4
  306. package/lib/inputs/text/types.d.ts +22 -0
  307. package/lib/inputs/text/types.js +5 -0
  308. package/lib/inputs/textarea/index.d.ts +5 -0
  309. package/lib/inputs/textarea/index.js +9 -19
  310. package/lib/inputs/textarea/types.d.ts +8 -0
  311. package/lib/inputs/textarea/types.js +5 -0
  312. package/lib/inputs/types.d.ts +146 -0
  313. package/lib/inputs/types.js +5 -0
  314. package/lib/internals/colorStyles.d.ts +9 -0
  315. package/lib/internals/colorStyles.js +2 -2
  316. package/lib/internals/constants.d.ts +11 -0
  317. package/lib/internals/types.d.ts +21 -0
  318. package/lib/internals/withTooltip.d.ts +11 -0
  319. package/lib/internals/withTooltip.js +32 -40
  320. package/lib/labelMessages/index.d.ts +7 -0
  321. package/lib/labelMessages/index.js +34 -52
  322. package/lib/labelMessages/types.d.ts +18 -0
  323. package/lib/labels/DangerLabel.d.ts +9 -0
  324. package/lib/labels/DangerLabel.js +16 -7
  325. package/lib/labels/DefaultLabel.d.ts +12 -0
  326. package/lib/labels/DefaultLabel.js +31 -63
  327. package/lib/labels/InfoLabel.d.ts +9 -0
  328. package/lib/labels/InfoLabel.js +16 -7
  329. package/lib/labels/PrimaryLabel.d.ts +9 -0
  330. package/lib/labels/PrimaryLabel.js +16 -7
  331. package/lib/labels/SuccessLabel.d.ts +9 -0
  332. package/lib/labels/SuccessLabel.js +16 -7
  333. package/lib/labels/WarningLabel.d.ts +9 -0
  334. package/lib/labels/WarningLabel.js +16 -7
  335. package/lib/labels/index.d.ts +13 -0
  336. package/lib/labels/index.js +10 -10
  337. package/lib/labels/label_container/index.d.ts +12 -0
  338. package/lib/labels/label_container/index.js +7 -17
  339. package/lib/labels/types.d.ts +24 -0
  340. package/lib/labels/types.js +5 -0
  341. package/lib/list/Header.d.ts +7 -0
  342. package/lib/list/Header.js +5 -18
  343. package/lib/list/Item.d.ts +7 -0
  344. package/lib/list/Item.js +39 -77
  345. package/lib/list/Separator.d.ts +3 -0
  346. package/lib/list/Separator.js +4 -4
  347. package/lib/list/helpers.d.ts +12 -0
  348. package/lib/list/helpers.js +2 -2
  349. package/lib/list/index.d.ts +10 -0
  350. package/lib/list/index.js +47 -66
  351. package/lib/list/types.d.ts +64 -0
  352. package/lib/list/types.js +5 -0
  353. package/lib/menus/float/MenuItem.d.ts +7 -0
  354. package/lib/menus/float/MenuItem.js +17 -37
  355. package/lib/menus/float/helpers.d.ts +7 -0
  356. package/lib/menus/float/helpers.js +4 -4
  357. package/lib/menus/float/index.d.ts +8 -0
  358. package/lib/menus/float/index.js +17 -37
  359. package/lib/menus/float/types.d.ts +27 -0
  360. package/lib/menus/float/types.js +5 -0
  361. package/lib/menus/index.d.ts +6 -0
  362. package/lib/menus/index.js +4 -4
  363. package/lib/menus/sidenav/ExpandMenu.d.ts +10 -0
  364. package/lib/menus/sidenav/ExpandMenu.js +6 -18
  365. package/lib/menus/sidenav/MenuLink.d.ts +13 -0
  366. package/lib/menus/sidenav/MenuLink.js +5 -19
  367. package/lib/menus/sidenav/NavMenuGroup.d.ts +10 -0
  368. package/lib/menus/sidenav/NavMenuGroup.js +6 -17
  369. package/lib/menus/sidenav/NavMenuItem.d.ts +13 -0
  370. package/lib/menus/sidenav/NavMenuItem.js +30 -56
  371. package/lib/menus/sidenav/NavSubMenuItem.d.ts +10 -0
  372. package/lib/menus/sidenav/NavSubMenuItem.js +10 -21
  373. package/lib/menus/sidenav/helpers.d.ts +12 -0
  374. package/lib/menus/sidenav/helpers.js +5 -5
  375. package/lib/menus/sidenav/index.d.ts +14 -0
  376. package/lib/menus/sidenav/index.js +39 -69
  377. package/lib/menus/sidenav/popup_menu_search/EmptyList.d.ts +10 -0
  378. package/lib/menus/sidenav/popup_menu_search/EmptyList.js +9 -18
  379. package/lib/menus/sidenav/popup_menu_search/index.d.ts +10 -0
  380. package/lib/menus/sidenav/popup_menu_search/index.js +25 -24
  381. package/lib/menus/sidenav/types.d.ts +82 -0
  382. package/lib/menus/sidenav/types.js +5 -0
  383. package/lib/noPermission/index.d.ts +3 -0
  384. package/lib/noPermission/index.js +7 -7
  385. package/lib/panel/Content.d.ts +8 -0
  386. package/lib/panel/Content.js +14 -26
  387. package/lib/panel/DangerPanel.d.ts +8 -0
  388. package/lib/panel/DangerPanel.js +6 -6
  389. package/lib/panel/Default.d.ts +8 -0
  390. package/lib/panel/Default.js +25 -52
  391. package/lib/panel/Header.d.ts +8 -0
  392. package/lib/panel/Header.js +18 -40
  393. package/lib/panel/InfoPanel.d.ts +8 -0
  394. package/lib/panel/InfoPanel.js +6 -6
  395. package/lib/panel/PrimaryPanel.d.ts +8 -0
  396. package/lib/panel/PrimaryPanel.js +6 -6
  397. package/lib/panel/SuccessPanel.d.ts +8 -0
  398. package/lib/panel/SuccessPanel.js +6 -6
  399. package/lib/panel/ToolBar.d.ts +8 -0
  400. package/lib/panel/ToolBar.js +4 -9
  401. package/lib/panel/WarningPanel.d.ts +8 -0
  402. package/lib/panel/WarningPanel.js +6 -6
  403. package/lib/panel/helpers.d.ts +4 -0
  404. package/lib/panel/helpers.js +9 -5
  405. package/lib/panel/index.d.ts +13 -0
  406. package/lib/panel/index.js +11 -11
  407. package/lib/panel/types.d.ts +4 -0
  408. package/lib/panel/types.js +5 -0
  409. package/lib/permissionValidations.d.ts +14 -0
  410. package/lib/permissionValidations.js +14 -12
  411. package/lib/popover/PopoverText.d.ts +8 -0
  412. package/lib/popover/PopoverText.js +4 -9
  413. package/lib/popover/PopoverTitle.d.ts +8 -0
  414. package/lib/popover/PopoverTitle.js +4 -9
  415. package/lib/popover/index.d.ts +13 -0
  416. package/lib/popover/index.js +35 -49
  417. package/lib/popover/types.d.ts +21 -0
  418. package/lib/popover/types.js +5 -0
  419. package/lib/progress/Bar.d.ts +6 -0
  420. package/lib/progress/Bar.js +42 -52
  421. package/lib/progress/index.d.ts +7 -0
  422. package/lib/progress/index.js +14 -24
  423. package/lib/progress/types.d.ts +37 -0
  424. package/lib/progress/types.js +5 -0
  425. package/lib/radio/index.d.ts +12 -0
  426. package/lib/radio/index.js +28 -52
  427. package/lib/radio/types.d.ts +18 -0
  428. package/lib/skeleton/SkeletonContainer.d.ts +7 -0
  429. package/lib/skeleton/SkeletonContainer.js +4 -17
  430. package/lib/skeleton/index.d.ts +8 -0
  431. package/lib/skeleton/index.js +13 -32
  432. package/lib/skeleton/types.d.ts +21 -0
  433. package/lib/skeleton/types.js +5 -0
  434. package/lib/spinner/SpinnerLoading.d.ts +7 -0
  435. package/lib/spinner/SpinnerLoading.js +45 -53
  436. package/lib/spinner/index.d.ts +7 -0
  437. package/lib/spinner/index.js +28 -33
  438. package/lib/spinner/types.d.ts +20 -0
  439. package/lib/spinner/types.js +5 -0
  440. package/lib/split/Split.d.ts +6 -0
  441. package/lib/split/Split.js +52 -69
  442. package/lib/split/SplitSide.d.ts +6 -0
  443. package/lib/split/SplitSide.js +7 -27
  444. package/lib/split/helpers.d.ts +10 -0
  445. package/lib/split/helpers.js +4 -4
  446. package/lib/split/index.d.ts +5 -0
  447. package/lib/split/index.js +5 -5
  448. package/lib/split/types.d.ts +34 -0
  449. package/lib/split/types.js +5 -0
  450. package/lib/table/Body.d.ts +6 -0
  451. package/lib/table/Body.js +21 -28
  452. package/lib/table/Header.d.ts +6 -0
  453. package/lib/table/Header.js +51 -30
  454. package/lib/table/HeaderColumn.d.ts +6 -0
  455. package/lib/table/HeaderColumn.js +13 -27
  456. package/lib/table/Row.d.ts +6 -0
  457. package/lib/table/Row.js +13 -34
  458. package/lib/table/RowColumn.d.ts +6 -0
  459. package/lib/table/RowColumn.js +18 -36
  460. package/lib/table/helpers.d.ts +8 -0
  461. package/lib/table/helpers.js +5 -5
  462. package/lib/table/index.d.ts +11 -0
  463. package/lib/table/index.js +19 -57
  464. package/lib/table/types.d.ts +84 -0
  465. package/lib/table/types.js +5 -0
  466. package/lib/tabs/DropdownItems.d.ts +9 -0
  467. package/lib/tabs/DropdownItems.js +20 -30
  468. package/lib/tabs/Menu.d.ts +9 -0
  469. package/lib/tabs/Menu.js +21 -25
  470. package/lib/tabs/MenuItems.d.ts +9 -0
  471. package/lib/tabs/MenuItems.js +33 -47
  472. package/lib/tabs/Panel.d.ts +9 -0
  473. package/lib/tabs/Panel.js +24 -57
  474. package/lib/tabs/index.d.ts +10 -0
  475. package/lib/tabs/index.js +89 -83
  476. package/lib/tabs/tabHelpers.d.ts +21 -0
  477. package/lib/tabs/tabHelpers.js +10 -9
  478. package/lib/tabs/types.d.ts +63 -0
  479. package/lib/tabs/types.js +5 -0
  480. package/lib/toolbar/ButtonBar.d.ts +10 -0
  481. package/lib/toolbar/ButtonBar.js +51 -32
  482. package/lib/toolbar/LabelBar.d.ts +10 -0
  483. package/lib/toolbar/LabelBar.js +42 -29
  484. package/lib/toolbar/Separator.d.ts +3 -0
  485. package/lib/toolbar/Separator.js +4 -4
  486. package/lib/toolbar/ToolBarGroup.d.ts +10 -0
  487. package/lib/toolbar/ToolBarGroup.js +10 -16
  488. package/lib/toolbar/helpers.d.ts +10 -0
  489. package/lib/toolbar/helpers.js +3 -3
  490. package/lib/toolbar/index.d.ts +14 -0
  491. package/lib/toolbar/index.js +26 -34
  492. package/lib/toolbar/types.d.ts +43 -0
  493. package/lib/toolbar/types.js +5 -0
  494. package/lib/tooltip/index.d.ts +6 -0
  495. package/lib/tooltip/index.js +34 -43
  496. package/lib/tooltip/types.d.ts +16 -0
  497. package/lib/tooltip/types.js +5 -0
  498. package/lib/treeview/Header.d.ts +7 -0
  499. package/lib/treeview/Header.js +5 -17
  500. package/lib/treeview/Node.d.ts +7 -0
  501. package/lib/treeview/Node.js +265 -391
  502. package/lib/treeview/constants.d.ts +7 -0
  503. package/lib/treeview/constants.js +2 -3
  504. package/lib/treeview/index.d.ts +9 -0
  505. package/lib/treeview/index.js +369 -554
  506. package/lib/treeview/types.d.ts +104 -0
  507. package/lib/treeview/types.js +5 -0
  508. package/lib/treeview_old/Header.js +7 -7
  509. package/lib/treeview_old/Node.js +18 -18
  510. package/lib/treeview_old/index.js +9 -9
  511. package/lib/types-3c6f1c20.d.ts +46 -0
  512. package/lib/uitour/helpers.d.ts +8 -0
  513. package/lib/uitour/index.d.ts +6 -0
  514. package/lib/uitour/index.js +28 -45
  515. package/lib/uitour/types.d.ts +30 -0
  516. package/lib/uitour/types.js +5 -0
  517. package/package.json +57 -18
  518. package/scripts/start.js +135 -0
  519. package/tsconfig.json +32 -0
  520. package/tsup.config.ts +10 -0
  521. package/.eslintrc.js +0 -26
  522. package/.husky/pre-commit +0 -4
  523. package/lib/alerts/alert.spec.js +0 -133
  524. package/lib/avatar/avatar.spec.js +0 -190
  525. package/lib/badge/badge.spec.js +0 -127
  526. package/lib/buttons/SpinnerLoading.js +0 -230
  527. package/lib/buttons/buttons.spec.js +0 -504
  528. package/lib/calendar/calendar.spec.js +0 -171
  529. package/lib/checkbox/checkbox.spec.js +0 -215
  530. package/lib/dialog/dialog.spec.js +0 -488
  531. package/lib/drawer/Drawer.spec.js +0 -258
  532. package/lib/dropdown/dropdown.spec.js +0 -168
  533. package/lib/fieldset/fieldset.spec.js +0 -329
  534. package/lib/form/form.spec.js +0 -293
  535. package/lib/gridlayout/gridLayout.spec.js +0 -169
  536. package/lib/icons/icons.spec.js +0 -86
  537. package/lib/inputs/base/base.spec.js +0 -690
  538. package/lib/inputs/base/index.js +0 -1
  539. package/lib/inputs/color/color_input.spec.js +0 -174
  540. package/lib/inputs/date/date.spec.js +0 -354
  541. package/lib/inputs/mask/input_mask.spec.js +0 -607
  542. package/lib/inputs/number/numberfield.spec.js +0 -215
  543. package/lib/inputs/search/search_input.spec.js +0 -209
  544. package/lib/inputs/select/select.spec.js +0 -391
  545. package/lib/inputs/text/textfield.spec.js +0 -215
  546. package/lib/inputs/textarea/textarea.spec.js +0 -59
  547. package/lib/labelMessages/labelMessages.spec.js +0 -176
  548. package/lib/labels/label.spec.js +0 -162
  549. package/lib/list/list.spec.js +0 -768
  550. package/lib/menus/float/float-menu.spec.js +0 -221
  551. package/lib/menus/sidenav/sidenav.spec.js +0 -379
  552. package/lib/panel/panel.spec.js +0 -216
  553. package/lib/popover/popover.spec.js +0 -146
  554. package/lib/progress/progress.spec.js +0 -86
  555. package/lib/radio/radio.spec.js +0 -189
  556. package/lib/spinner/spinner.spec.js +0 -152
  557. package/lib/split/split.spec.js +0 -151
  558. package/lib/table/table.spec.js +0 -352
  559. package/lib/tabs/tabs.spec.js +0 -349
  560. package/lib/toolbar/toolbar.spec.js +0 -394
  561. package/lib/tooltip/tooltip.spec.js +0 -203
  562. package/lib/treeview/treeview.spec.js +0 -279
  563. package/lib/uitour/uitour.spec.js +0 -176
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -8,21 +8,19 @@ Object.defineProperty(exports, "__esModule", {
8
8
  Object.defineProperty(exports, "TreeNode", {
9
9
  enumerable: true,
10
10
  get: function get() {
11
- return _Node["default"];
11
+ return _Node.default;
12
12
  }
13
13
  });
14
14
  Object.defineProperty(exports, "TreeViewHeader", {
15
15
  enumerable: true,
16
16
  get: function get() {
17
- return _Header["default"];
17
+ return _Header.default;
18
18
  }
19
19
  });
20
- exports["default"] = void 0;
20
+ exports.default = void 0;
21
21
 
22
22
  var _react = _interopRequireWildcard(require("react"));
23
23
 
24
- var _propTypes = _interopRequireDefault(require("prop-types"));
25
-
26
24
  var _lodash = _interopRequireDefault(require("lodash"));
27
25
 
28
26
  var _Node = _interopRequireDefault(require("./Node"));
@@ -33,610 +31,427 @@ require("../assets/styles/treeview.scss");
33
31
 
34
32
  var _constants = require("./constants");
35
33
 
36
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { "default": obj }; }
34
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
37
35
 
38
36
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
39
37
 
40
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { "default": obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj["default"] = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
38
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
39
+
40
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
41
41
 
42
42
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
43
43
 
44
44
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
45
45
 
46
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
47
-
48
46
  function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
49
47
 
50
48
  function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
51
49
 
52
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
53
-
54
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
50
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
55
51
 
56
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
52
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
57
53
 
58
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }
54
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
59
55
 
60
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }
56
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
61
57
 
62
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }
58
+ function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
59
+
60
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
61
+
62
+ var TreeView = function TreeView(props) {
63
+ var _props$selectedIds = props.selectedIds,
64
+ selectedIds = _props$selectedIds === void 0 ? [] : _props$selectedIds,
65
+ enableDynamicData = props.enableDynamicData,
66
+ allowCheckAllAncestry = props.allowCheckAllAncestry,
67
+ onNodeOpen = props.onNodeOpen,
68
+ allowCheckAllChildren = props.allowCheckAllChildren,
69
+ onSelectedIdsChange = props.onSelectedIdsChange,
70
+ idsInLoading = props.idsInLoading,
71
+ _props$startNodesOpen = props.startNodesOpened,
72
+ startNodesOpened = _props$startNodesOpen === void 0 ? false : _props$startNodesOpen,
73
+ alwaysShowArrow = props.alwaysShowArrow,
74
+ nodeElementsValidations = props.nodeElementsValidations,
75
+ nodeRightElements = props.nodeRightElements,
76
+ _props$nodeMenuButton = props.nodeMenuButtonSize,
77
+ nodeMenuButtonSize = _props$nodeMenuButton === void 0 ? 'small' : _props$nodeMenuButton,
78
+ nodeToolbarElements = props.nodeToolbarElements,
79
+ onNodeClick = props.onNodeClick,
80
+ selectedNodeId = props.selectedNodeId,
81
+ customClass = props.customClass,
82
+ children = props.children,
83
+ styleForContainer = props.styleForContainer,
84
+ bordered = props.bordered,
85
+ _props$requiredIds = props.requiredIds,
86
+ propsRequiredIds = _props$requiredIds === void 0 ? [] : _props$requiredIds;
87
+
88
+ var _useState = (0, _react.useState)(props.data),
89
+ _useState2 = _slicedToArray(_useState, 2),
90
+ data = _useState2[0],
91
+ setData = _useState2[1];
92
+
93
+ var _useState3 = (0, _react.useState)(selectedIds),
94
+ _useState4 = _slicedToArray(_useState3, 2),
95
+ currentSelectedIds = _useState4[0],
96
+ setCurrentSelectedIds = _useState4[1];
97
+
98
+ var _useState5 = (0, _react.useState)(selectedIds),
99
+ _useState6 = _slicedToArray(_useState5, 2),
100
+ propSelectedIds = _useState6[0],
101
+ setPropSelectedIds = _useState6[1];
102
+
103
+ var _useState7 = (0, _react.useState)(false),
104
+ _useState8 = _slicedToArray(_useState7, 2),
105
+ isHandlingSelectedIds = _useState8[0],
106
+ setIsHandlingSelectedIds = _useState8[1];
107
+
108
+ var _useState9 = (0, _react.useState)(false),
109
+ _useState10 = _slicedToArray(_useState9, 2),
110
+ selectedIdsUpdatedOnMount = _useState10[0],
111
+ setSelectedIdsUpdatedOnMount = _useState10[1];
112
+
113
+ var _useState11 = (0, _react.useState)([]),
114
+ _useState12 = _slicedToArray(_useState11, 2),
115
+ requiredParentsIds = _useState12[0],
116
+ setRequiredParentsIds = _useState12[1];
117
+
118
+ var _useState13 = (0, _react.useState)([]),
119
+ _useState14 = _slicedToArray(_useState13, 2),
120
+ alreadyOpenedIds = _useState14[0],
121
+ setAlreadyOpenedIds = _useState14[1];
122
+
123
+ var _useState15 = (0, _react.useState)({}),
124
+ _useState16 = _slicedToArray(_useState15, 1),
125
+ idsWithChildren = _useState16[0];
126
+
127
+ var returnChildrenIds = function returnChildrenIds(nodeId) {
128
+ var returnRequiredIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
129
+ var nodeChildrenIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
130
+ var requiredIds = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
131
+
132
+ if (idsWithChildren[nodeId] !== undefined) {
133
+ nodeChildrenIds.push(nodeId);
134
+ if (returnRequiredIds) requiredIds.push(nodeId);
135
+ idsWithChildren[nodeId].forEach(function (childId) {
136
+ return returnChildrenIds(childId, returnRequiredIds, nodeChildrenIds, requiredIds);
137
+ });
138
+ } else nodeChildrenIds.push(nodeId);
139
+
140
+ return returnRequiredIds ? {
141
+ nodeChildrenIds: nodeChildrenIds,
142
+ requiredIds: requiredIds
143
+ } : {
144
+ nodeChildrenIds: nodeChildrenIds
145
+ };
146
+ };
63
147
 
64
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
148
+ var returnParentId = function returnParentId(nodeId) {
149
+ var parentId = Object.keys(idsWithChildren).find(function (id) {
150
+ return idsWithChildren[id].find(function (childId) {
151
+ return childId === nodeId;
152
+ });
153
+ });
154
+ return Number(parentId);
155
+ };
65
156
 
66
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
157
+ var returnAllAncestryIds = function returnAllAncestryIds(nodeId) {
158
+ var ancestryIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
159
+ var parentId = returnParentId(nodeId);
67
160
 
68
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
161
+ if (parentId) {
162
+ var currentAncestryIds = [].concat(_toConsumableArray(ancestryIds), [Number(parentId)]);
163
+ return returnAllAncestryIds(Number(parentId), currentAncestryIds);
164
+ }
69
165
 
70
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
166
+ return ancestryIds;
167
+ };
71
168
 
72
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
169
+ var returnRequiredAncestryIds = function returnRequiredAncestryIds(nodeId) {
170
+ var requiredAncestryIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
171
+ var previousParentId = arguments.length > 2 ? arguments[2] : undefined;
172
+ var selectedSiblingsIds = [];
173
+ var parentId = returnParentId(nodeId);
73
174
 
74
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
175
+ if (parentId) {
176
+ var nodeSiblingsIds = idsWithChildren && idsWithChildren[parentId].filter(function (childId) {
177
+ return childId !== nodeId;
178
+ });
179
+ var isPreviousParentSelected = previousParentId && currentSelectedIds.includes(previousParentId);
75
180
 
76
- var TreeView = /*#__PURE__*/function (_Component) {
77
- _inherits(TreeView, _Component);
181
+ if (nodeSiblingsIds && nodeSiblingsIds.length > 0) {
182
+ selectedSiblingsIds = currentSelectedIds.filter(function (id) {
183
+ return nodeSiblingsIds.includes(id);
184
+ });
185
+ }
78
186
 
79
- var _super = _createSuper(TreeView);
187
+ var requiredIds = isPreviousParentSelected || selectedSiblingsIds.length > 0 ? _toConsumableArray(requiredAncestryIds) : [].concat(_toConsumableArray(requiredAncestryIds), [parentId]);
80
188
 
81
- function TreeView(props) {
82
- var _this;
189
+ if (selectedSiblingsIds.length === 0 && !isPreviousParentSelected) {
190
+ return returnRequiredAncestryIds(parentId, requiredIds, parentId);
191
+ }
192
+ }
83
193
 
84
- _classCallCheck(this, TreeView);
194
+ return requiredAncestryIds;
195
+ };
85
196
 
86
- _this = _super.call(this, props);
87
- Object.defineProperty(_assertThisInitialized(_this), "getContextValues", {
88
- configurable: true,
89
- enumerable: true,
90
- writable: true,
91
- value: function value() {
92
- return _extends({}, _this.props, _this.state, {
93
- handlerUpdateSelectedIds: _this.updateSelectedIds,
94
- handlerToggleCheckChildren: _this.toggleCheckChildren
95
- });
96
- }
197
+ var updateAncestryAndSelectedIds = function updateAncestryAndSelectedIds(nodeId, codigos, requiredParents) {
198
+ var ancestryIds = returnRequiredAncestryIds(nodeId);
199
+ var remainRequiredParentsIds = requiredParents.filter(function (id) {
200
+ return !ancestryIds.includes(id);
97
201
  });
98
- Object.defineProperty(_assertThisInitialized(_this), "handleNewSelectedIds", {
99
- configurable: true,
100
- enumerable: true,
101
- writable: true,
102
- value: function value(selectedIds) {
103
- _this.setState({
104
- requiredParentsIds: []
105
- }, function () {
106
- var requiredIds = [];
107
- var newSelectedIds = [];
108
- var selectedIdsUpdatedOnMount = _this.state.selectedIdsUpdatedOnMount;
109
- selectedIds.forEach(function (id) {
110
- var _this$checkAllAncestr = _this.checkAllAncestry(id, [], true, false),
111
- requiredParentsIds = _this$checkAllAncestr.requiredParentsIds,
112
- updatedIdsWithAncestryIds = _this$checkAllAncestr.updatedIdsWithAncestryIds;
113
-
114
- newSelectedIds = [].concat(_toConsumableArray(newSelectedIds), _toConsumableArray(updatedIdsWithAncestryIds));
115
- requiredIds = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParentsIds));
116
- });
117
-
118
- _this.setState({
119
- requiredParentsIds: _lodash["default"].uniq(requiredIds),
120
- selectedIds: _lodash["default"].uniq(newSelectedIds),
121
- selectedIdsUpdatedOnMount: selectedIdsUpdatedOnMount || true
122
- });
123
- });
124
- }
202
+ var newSelectedIds = currentSelectedIds.filter(function (selectedId) {
203
+ return !codigos.includes(selectedId);
125
204
  });
126
- Object.defineProperty(_assertThisInitialized(_this), "returnParentId", {
127
- configurable: true,
128
- enumerable: true,
129
- writable: true,
130
- value: function value(nodeId) {
131
- var parentId = Object.keys(_this.idsWithChildren).find(function (id) {
132
- return _this.idsWithChildren[id].find(function (childId) {
133
- return childId === nodeId;
134
- });
135
- });
136
- return Number(parentId);
137
- }
205
+ setRequiredParentsIds(remainRequiredParentsIds);
206
+ return newSelectedIds;
207
+ };
208
+
209
+ var checkAllAncestry = function checkAllAncestry(nodeId, codigos) {
210
+ var returnRequiredParentsIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
211
+ var updateState = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
212
+ var nodeAncestryIds = returnAllAncestryIds(nodeId);
213
+ var notRequiredAncestryIds = nodeAncestryIds.filter(function (id) {
214
+ return !requiredParentsIds.includes(id);
138
215
  });
139
- Object.defineProperty(_assertThisInitialized(_this), "returnAllAncestryIds", {
140
- configurable: true,
141
- enumerable: true,
142
- writable: true,
143
- value: function value(nodeId) {
144
- var ancestryIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
145
-
146
- var parentId = _this.returnParentId(nodeId);
216
+ var notSelectedAncestryIds = nodeAncestryIds.filter(function (id) {
217
+ return !currentSelectedIds.includes(id);
218
+ });
219
+ var newSelectedIds = [].concat(_toConsumableArray(currentSelectedIds), _toConsumableArray(codigos), _toConsumableArray(notSelectedAncestryIds));
220
+ var newRequiredParentsIds = [].concat(_toConsumableArray(requiredParentsIds), _toConsumableArray(notRequiredAncestryIds));
147
221
 
148
- if (parentId) {
149
- var currentAncestryIds = [].concat(_toConsumableArray(ancestryIds), [Number(parentId)]);
150
- return _this.returnAllAncestryIds(Number(parentId), currentAncestryIds);
151
- }
222
+ if (updateState) {
223
+ setRequiredParentsIds(newRequiredParentsIds);
224
+ }
152
225
 
153
- return ancestryIds;
154
- }
155
- });
156
- Object.defineProperty(_assertThisInitialized(_this), "returnChildrenIds", {
157
- configurable: true,
158
- enumerable: true,
159
- writable: true,
160
- value: function value(nodeId) {
161
- var returnRequiredIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
162
- var nodeChildrenIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
163
- var requiredIds = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : [];
164
-
165
- if (_this.idsWithChildren[nodeId] !== undefined) {
166
- nodeChildrenIds.push(nodeId);
167
- if (returnRequiredIds) requiredIds.push(nodeId);
168
-
169
- _this.idsWithChildren[nodeId].forEach(function (childId) {
170
- return _this.returnChildrenIds(childId, returnRequiredIds, nodeChildrenIds, requiredIds);
171
- });
172
- } else nodeChildrenIds.push(nodeId);
173
-
174
- return returnRequiredIds ? {
175
- nodeChildrenIds: nodeChildrenIds,
176
- requiredIds: requiredIds
177
- } : nodeChildrenIds;
178
- }
179
- });
180
- Object.defineProperty(_assertThisInitialized(_this), "returnRequiredAncestryIds", {
181
- configurable: true,
182
- enumerable: true,
183
- writable: true,
184
- value: function value(nodeId) {
185
- var requiredAncestryIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
186
- var previousParentId = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
187
- var selectedSiblingsIds = [];
188
- var selectedIds = _this.state.selectedIds;
189
-
190
- var parentId = _this.returnParentId(nodeId);
191
-
192
- if (parentId) {
193
- var nodeSiblingsIds = _this.idsWithChildren[parentId].filter(function (childId) {
194
- return childId !== nodeId;
195
- });
196
-
197
- var isPreviousParentSelected = selectedIds.includes(previousParentId);
198
-
199
- if (nodeSiblingsIds && nodeSiblingsIds.length > 0) {
200
- selectedSiblingsIds = selectedIds.filter(function (id) {
201
- return nodeSiblingsIds.includes(id);
202
- });
203
- }
204
-
205
- var requiredIds = isPreviousParentSelected || selectedSiblingsIds.length > 0 ? _toConsumableArray(requiredAncestryIds) : [].concat(_toConsumableArray(requiredAncestryIds), [parentId]);
206
-
207
- if (selectedSiblingsIds.length === 0 && !isPreviousParentSelected) {
208
- return _this.returnRequiredAncestryIds(parentId, requiredIds, parentId);
209
- }
210
- }
211
-
212
- return requiredAncestryIds;
213
- }
226
+ return !returnRequiredParentsIds ? {
227
+ updatedIdsWithAncestryIds: newSelectedIds
228
+ } : {
229
+ updatedIdsWithAncestryIds: newSelectedIds,
230
+ requiredParentsIds: newRequiredParentsIds
231
+ };
232
+ };
233
+
234
+ var checkAllChildren = function checkAllChildren(nodeId) {
235
+ var returnRequiredIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
236
+ var currentRequiredIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
237
+ var childrenIds;
238
+ var newRequiredParentsIds = currentRequiredIds;
239
+
240
+ if (returnRequiredIds) {
241
+ var _returnChildrenIds = returnChildrenIds(nodeId, returnRequiredIds),
242
+ nodeChildrenIds = _returnChildrenIds.nodeChildrenIds,
243
+ requiredIds = _returnChildrenIds.requiredIds;
244
+
245
+ var newRequiredIds = requiredIds ? requiredIds.filter(function (id) {
246
+ return !currentRequiredIds.includes(id);
247
+ }) : [];
248
+ newRequiredParentsIds = [].concat(_toConsumableArray(currentRequiredIds), _toConsumableArray(newRequiredIds));
249
+ childrenIds = nodeChildrenIds;
250
+ } else childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;
251
+
252
+ var notSelectedChildrenIds = childrenIds.filter(function (id) {
253
+ return !currentSelectedIds.includes(id);
214
254
  });
215
- Object.defineProperty(_assertThisInitialized(_this), "toggleCheckChildren", {
216
- configurable: true,
217
- enumerable: true,
218
- writable: true,
219
- value: function value(nodeId, check) {
220
- var required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
221
-
222
- _this.setState({
223
- isHandlingSelectedIds: true
224
- }, function () {
225
- _this.updateSelectedIds(nodeId, check, true, required);
226
- });
227
- }
255
+ var newSelectedIds = [].concat(_toConsumableArray(currentSelectedIds), _toConsumableArray(notSelectedChildrenIds));
256
+ setRequiredParentsIds(newRequiredParentsIds);
257
+ setIsHandlingSelectedIds(false);
258
+ return newSelectedIds;
259
+ };
260
+
261
+ var uncheckAllChildren = function uncheckAllChildren(nodeId) {
262
+ var remainSelectedIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
263
+ var newSelectedIds = remainSelectedIds.length > 0 ? remainSelectedIds : currentSelectedIds;
264
+ var childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;
265
+ newSelectedIds = newSelectedIds.filter(function (selectedId) {
266
+ return !childrenIds.includes(selectedId);
228
267
  });
229
- Object.defineProperty(_assertThisInitialized(_this), "checkAllAncestry", {
230
- configurable: true,
231
- enumerable: true,
232
- writable: true,
233
- value: function value(nodeId, codigos) {
234
- var returnRequiredParentsIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
235
- var updateState = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : true;
236
- var selectedIds = _this.state.selectedIds;
237
- var requiredParentsIds = _this.state.requiredParentsIds;
238
-
239
- var nodeAncestryIds = _this.returnAllAncestryIds(nodeId);
240
-
241
- var notRequiredAncestryIds = nodeAncestryIds.filter(function (id) {
242
- return !requiredParentsIds.includes(id);
243
- });
244
- var notSelectedAncestryIds = nodeAncestryIds.filter(function (id) {
245
- return !selectedIds.includes(id);
246
- });
247
- selectedIds = [].concat(_toConsumableArray(selectedIds), _toConsumableArray(codigos), _toConsumableArray(notSelectedAncestryIds));
248
- requiredParentsIds = [].concat(_toConsumableArray(requiredParentsIds), _toConsumableArray(notRequiredAncestryIds));
249
- if (updateState) _this.setState({
250
- requiredParentsIds: requiredParentsIds
251
- });
252
- return !returnRequiredParentsIds ? selectedIds : {
253
- updatedIdsWithAncestryIds: selectedIds,
254
- requiredParentsIds: requiredParentsIds
255
- };
256
- }
268
+ setIsHandlingSelectedIds(false);
269
+ return newSelectedIds;
270
+ };
271
+
272
+ var uncheckRequiredChildren = function uncheckRequiredChildren(nodeId, codigos, requiredParents) {
273
+ var childrenIds = returnChildrenIds(nodeId).nodeChildrenIds;
274
+ var remainRequiredIds = requiredParents.filter(function (id) {
275
+ return !childrenIds.includes(id);
257
276
  });
258
- Object.defineProperty(_assertThisInitialized(_this), "updateAncestryAndSelectedIds", {
259
- configurable: true,
260
- enumerable: true,
261
- writable: true,
262
- value: function value(nodeId, codigos, requiredParentsIds) {
263
- var selectedIds = _this.state.selectedIds;
277
+ setRequiredParentsIds(_toConsumableArray(remainRequiredIds));
278
+ updateAncestryAndSelectedIds(nodeId, codigos, remainRequiredIds);
279
+ };
264
280
 
265
- var ancestryIds = _this.returnRequiredAncestryIds(nodeId);
281
+ var handleOnNodeOpen = function handleOnNodeOpen(node) {
282
+ var id = node.id;
283
+ var newAlreadyOpenedIds = alreadyOpenedIds;
266
284
 
267
- var remainRequiredParentsIds = requiredParentsIds.filter(function (id) {
268
- return !ancestryIds.includes(id);
269
- });
270
- selectedIds = selectedIds.filter(function (selectedId) {
271
- return !codigos.includes(selectedId);
272
- });
285
+ if (!alreadyOpenedIds.includes(id) && onNodeOpen) {
286
+ newAlreadyOpenedIds = [].concat(_toConsumableArray(newAlreadyOpenedIds), [id]);
287
+ onNodeOpen(node);
288
+ }
273
289
 
274
- _this.setState({
275
- requiredParentsIds: remainRequiredParentsIds
276
- });
290
+ setAlreadyOpenedIds(newAlreadyOpenedIds);
291
+ };
277
292
 
278
- return selectedIds;
279
- }
280
- });
281
- Object.defineProperty(_assertThisInitialized(_this), "checkAllChildren", {
282
- configurable: true,
283
- enumerable: true,
284
- writable: true,
285
- value: function value(nodeId) {
286
- var returnRequiredIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
287
- var currentRequiredIds = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];
288
- var _this$state = _this.state,
289
- selectedIds = _this$state.selectedIds,
290
- requiredParentsIds = _this$state.requiredParentsIds;
291
- var childrenIds;
292
-
293
- if (returnRequiredIds) {
294
- var _this$returnChildrenI = _this.returnChildrenIds(nodeId, returnRequiredIds),
295
- nodeChildrenIds = _this$returnChildrenI.nodeChildrenIds,
296
- requiredIds = _this$returnChildrenI.requiredIds;
297
-
298
- var newRequiredIds = requiredIds.filter(function (id) {
299
- return !currentRequiredIds.includes(id);
300
- });
301
- requiredParentsIds = [].concat(_toConsumableArray(currentRequiredIds), _toConsumableArray(newRequiredIds));
302
- childrenIds = nodeChildrenIds;
303
- } else childrenIds = _this.returnChildrenIds(nodeId);
304
-
305
- var notSelectedChildrenIds = childrenIds.filter(function (id) {
306
- return !selectedIds.includes(id);
307
- });
308
- selectedIds = [].concat(_toConsumableArray(selectedIds), _toConsumableArray(notSelectedChildrenIds));
293
+ var handleCheck = function handleCheck(nodeId, handlingSelectedIds, isParent) {
294
+ var codigos = _lodash.default.isArray(nodeId) ? nodeId : [nodeId];
295
+ var newSelectedIds = [].concat(_toConsumableArray(currentSelectedIds), _toConsumableArray(codigos));
309
296
 
310
- _this.setState({
311
- isHandlingSelectedIds: false,
312
- requiredParentsIds: requiredParentsIds
313
- });
297
+ if (isParent && (handlingSelectedIds || isHandlingSelectedIds) && allowCheckAllChildren) {
298
+ if (allowCheckAllAncestry) {
299
+ var _checkAllAncestry = checkAllAncestry(nodeId, codigos, true),
300
+ updatedIdsWithAncestryIds = _checkAllAncestry.updatedIdsWithAncestryIds,
301
+ requiredParents = _checkAllAncestry.requiredParentsIds;
314
302
 
315
- return selectedIds;
316
- }
317
- });
318
- Object.defineProperty(_assertThisInitialized(_this), "uncheckAllChildren", {
319
- configurable: true,
320
- enumerable: true,
321
- writable: true,
322
- value: function value(nodeId) {
323
- var remainSelectedIds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];
324
- var selectedIds = remainSelectedIds.length > 0 ? remainSelectedIds : _this.state.selectedIds;
325
-
326
- var childrenIds = _this.returnChildrenIds(nodeId);
327
-
328
- selectedIds = selectedIds.filter(function (selectedId) {
329
- return !childrenIds.includes(selectedId);
330
- });
303
+ var updatedIdsWithChildrenIds = checkAllChildren(nodeId, true, requiredParents);
304
+ newSelectedIds = [].concat(_toConsumableArray(updatedIdsWithAncestryIds), _toConsumableArray(updatedIdsWithChildrenIds));
305
+ } else newSelectedIds = checkAllChildren(nodeId);
306
+ } else if (allowCheckAllAncestry) {
307
+ newSelectedIds = checkAllAncestry(nodeId, codigos).updatedIdsWithAncestryIds;
308
+ }
331
309
 
332
- _this.setState({
333
- isHandlingSelectedIds: false
334
- });
310
+ return newSelectedIds;
311
+ };
335
312
 
336
- return selectedIds;
337
- }
313
+ var handleUncheck = function handleUncheck(nodeId, handlingSelectedIds, isParent, required) {
314
+ var codigos = _lodash.default.isArray(nodeId) ? nodeId : [nodeId];
315
+ var newSelectedIds = currentSelectedIds.filter(function (id) {
316
+ return !codigos.includes(id);
338
317
  });
339
- Object.defineProperty(_assertThisInitialized(_this), "uncheckRequiredChildren", {
340
- configurable: true,
341
- enumerable: true,
342
- writable: true,
343
- value: function value(nodeId, codigos, requiredParentsIds) {
344
- var childrenIds = _this.returnChildrenIds(nodeId);
345
-
346
- var remainRequiredIds = requiredParentsIds.filter(function (id) {
347
- return !childrenIds.includes(id);
348
- });
349
318
 
350
- _this.setState({
351
- requiredParentsIds: _toConsumableArray(remainRequiredIds)
352
- }, function () {
353
- return _this.updateAncestryAndSelectedIds(nodeId, codigos, remainRequiredIds);
354
- });
355
- }
356
- });
357
- Object.defineProperty(_assertThisInitialized(_this), "handleOnNodeOpen", {
358
- configurable: true,
359
- enumerable: true,
360
- writable: true,
361
- value: function value(node) {
362
- var id = node.id;
363
- var onNodeOpen = _this.props.onNodeOpen;
364
- var alreadyOpenedIds = _this.state.alreadyOpenedIds;
365
-
366
- if (!alreadyOpenedIds.includes(id) && onNodeOpen) {
367
- alreadyOpenedIds = [].concat(_toConsumableArray(alreadyOpenedIds), [id]);
368
- onNodeOpen(node);
369
- }
370
-
371
- _this.setState({
372
- alreadyOpenedIds: alreadyOpenedIds
373
- });
374
- }
375
- });
376
- Object.defineProperty(_assertThisInitialized(_this), "handleCheck", {
377
- configurable: true,
378
- enumerable: true,
379
- writable: true,
380
- value: function value(nodeId, isParent) {
381
- var selectedIds = _this.state.selectedIds;
382
- var codigos = _lodash["default"].isArray(nodeId) ? nodeId : [nodeId];
383
- var isHandlingSelectedIds = _this.state.isHandlingSelectedIds;
384
- var _this$props = _this.props,
385
- allowCheckAllChildren = _this$props.allowCheckAllChildren,
386
- allowCheckAllAncestry = _this$props.allowCheckAllAncestry;
387
- selectedIds = [].concat(_toConsumableArray(selectedIds), _toConsumableArray(codigos));
388
-
389
- if (isParent && isHandlingSelectedIds && allowCheckAllChildren) {
390
- if (allowCheckAllAncestry) {
391
- var _this$checkAllAncestr2 = _this.checkAllAncestry(nodeId, codigos, true),
392
- updatedIdsWithAncestryIds = _this$checkAllAncestr2.updatedIdsWithAncestryIds,
393
- requiredParentsIds = _this$checkAllAncestr2.requiredParentsIds;
394
-
395
- var updatedIdsWithChidlrenIds = _this.checkAllChildren(nodeId, true, requiredParentsIds);
396
-
397
- selectedIds = [].concat(_toConsumableArray(updatedIdsWithAncestryIds), _toConsumableArray(updatedIdsWithChidlrenIds));
398
- } else selectedIds = _this.checkAllChildren(nodeId);
399
- } else if (allowCheckAllAncestry) {
400
- selectedIds = _this.checkAllAncestry(nodeId, codigos);
401
- }
402
-
403
- return selectedIds;
404
- }
405
- });
406
- Object.defineProperty(_assertThisInitialized(_this), "handleUncheck", {
407
- configurable: true,
408
- enumerable: true,
409
- writable: true,
410
- value: function value(nodeId, isParent, required) {
411
- var selectedIds = _this.state.selectedIds;
412
- var _this$state2 = _this.state,
413
- isHandlingSelectedIds = _this$state2.isHandlingSelectedIds,
414
- requiredParentsIds = _this$state2.requiredParentsIds;
415
- var _this$props2 = _this.props,
416
- allowCheckAllChildren = _this$props2.allowCheckAllChildren,
417
- allowCheckAllAncestry = _this$props2.allowCheckAllAncestry;
418
- var codigos = _lodash["default"].isArray(nodeId) ? nodeId : [nodeId];
419
- selectedIds = selectedIds.filter(function (id) {
420
- return !codigos.includes(id);
421
- });
319
+ if (isParent && (handlingSelectedIds || isHandlingSelectedIds) && allowCheckAllChildren) {
320
+ if (allowCheckAllAncestry) {
321
+ var updatedSelectedIds = updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);
322
+ newSelectedIds = uncheckAllChildren(nodeId, updatedSelectedIds);
323
+ if (required) uncheckRequiredChildren(nodeId, codigos, requiredParentsIds);
324
+ } else newSelectedIds = uncheckAllChildren(nodeId);
325
+ } else if (allowCheckAllAncestry) {
326
+ newSelectedIds = updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);
327
+ }
422
328
 
423
- if (isParent && isHandlingSelectedIds && allowCheckAllChildren) {
424
- if (allowCheckAllAncestry) {
425
- var updatedSelectedIds = _this.updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);
329
+ return newSelectedIds;
330
+ };
426
331
 
427
- selectedIds = _this.uncheckAllChildren(nodeId, updatedSelectedIds);
428
- if (required) _this.uncheckRequiredChildren(nodeId, codigos, requiredParentsIds);
429
- } else selectedIds = _this.uncheckAllChildren(nodeId);
430
- } else if (allowCheckAllAncestry) {
431
- selectedIds = _this.updateAncestryAndSelectedIds(nodeId, codigos, requiredParentsIds);
432
- }
332
+ var updateSelectedIds = function updateSelectedIds(nodeId, checked, isParent) {
333
+ var required = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
334
+ var handlingSelectedIds = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : isHandlingSelectedIds;
433
335
 
434
- return selectedIds;
336
+ var newSelectedIds = _toConsumableArray(currentSelectedIds);
337
+
338
+ if (checked) {
339
+ newSelectedIds = handleCheck(nodeId, handlingSelectedIds, isParent);
340
+ } else {
341
+ newSelectedIds = handleUncheck(nodeId, handlingSelectedIds, isParent, required);
342
+ }
343
+
344
+ setCurrentSelectedIds(newSelectedIds);
345
+ if (onSelectedIdsChange) onSelectedIdsChange(newSelectedIds);
346
+ };
347
+
348
+ var toggleCheckChildren = function toggleCheckChildren(nodeId, check) {
349
+ var required = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;
350
+ setIsHandlingSelectedIds(true);
351
+ updateSelectedIds(nodeId, check, true, required, true);
352
+ };
353
+
354
+ var buildTree = function buildTree(node, parentId, ids) {
355
+ var childrenIds = [];
356
+
357
+ if (node.itens && node.itens.length > 0) {
358
+ childrenIds = node.itens.map(function (i) {
359
+ return i.id;
360
+ });
361
+
362
+ if (ids) {
363
+ var idWithChildren = {};
364
+ idWithChildren[node.id] = childrenIds;
365
+ Object.assign(ids, idWithChildren);
435
366
  }
436
- });
437
- Object.defineProperty(_assertThisInitialized(_this), "updateSelectedIds", {
438
- configurable: true,
439
- enumerable: true,
440
- writable: true,
441
- value: function value(nodeId, checked, isParent, required) {
442
- var selectedIds = _this.state.selectedIds;
443
- var onSelectedIdsChange = _this.props.onSelectedIdsChange;
444
-
445
- if (checked) {
446
- selectedIds = _this.handleCheck(nodeId, isParent);
447
- } else {
448
- selectedIds = _this.handleUncheck(nodeId, isParent, required);
449
- }
450
-
451
- _this.setState({
452
- selectedIds: selectedIds
453
- });
367
+ }
454
368
 
455
- if (onSelectedIdsChange) onSelectedIdsChange(selectedIds);
369
+ return /*#__PURE__*/_react.default.createElement(_Node.default, {
370
+ key: "node-".concat(node.id),
371
+ node: node,
372
+ idsInLoading: idsInLoading,
373
+ startNodesOpened: startNodesOpened,
374
+ alwaysShowArrow: alwaysShowArrow,
375
+ childrenIds: childrenIds,
376
+ isParent: node.itens && node.itens.length > 0,
377
+ parentId: parentId,
378
+ nodeRightElements: nodeRightElements,
379
+ nodeToolbarElements: nodeToolbarElements,
380
+ nodeElementsValidations: nodeElementsValidations,
381
+ nodeMenuButtonSize: nodeMenuButtonSize,
382
+ onNodeClick: onNodeClick,
383
+ selectedNodeId: selectedNodeId,
384
+ handlerOnNodeOpen: handleOnNodeOpen
385
+ }, childrenIds.length > 0 && node.itens && node.itens.map(function (nodeitem) {
386
+ return buildTree(nodeitem, node.id, idsWithChildren);
387
+ }));
388
+ };
389
+
390
+ var handleNewSelectedIds = function handleNewSelectedIds(selectedNodeIds) {
391
+ var requiredIds = [];
392
+ var newSelectedIds = [];
393
+ selectedNodeIds.forEach(function (id) {
394
+ var _checkAllAncestry2 = checkAllAncestry(id, [], true, false),
395
+ requiredParents = _checkAllAncestry2.requiredParentsIds,
396
+ updatedIdsWithAncestryIds = _checkAllAncestry2.updatedIdsWithAncestryIds;
397
+
398
+ newSelectedIds = [].concat(_toConsumableArray(newSelectedIds), _toConsumableArray(updatedIdsWithAncestryIds));
399
+
400
+ if (requiredParents) {
401
+ requiredIds = [].concat(_toConsumableArray(requiredIds), _toConsumableArray(requiredParents));
456
402
  }
457
403
  });
458
- Object.defineProperty(_assertThisInitialized(_this), "buildTree", {
459
- configurable: true,
460
- enumerable: true,
461
- writable: true,
462
- value: function value(node) {
463
- var parentId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : undefined;
464
- var ids = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;
465
- var _this$props3 = _this.props,
466
- nodeRightElements = _this$props3.nodeRightElements,
467
- onNodeClick = _this$props3.onNodeClick,
468
- nodeElementsValidations = _this$props3.nodeElementsValidations,
469
- nodeToolbarElements = _this$props3.nodeToolbarElements,
470
- nodeMenuButtonSize = _this$props3.nodeMenuButtonSize,
471
- alwaysShowArrow = _this$props3.alwaysShowArrow,
472
- startNodesOpened = _this$props3.startNodesOpened,
473
- idsInLoading = _this$props3.idsInLoading,
474
- selectedNodeId = _this$props3.selectedNodeId;
475
- var childrenIds = [];
476
-
477
- if (node.itens && node.itens.length > 0) {
478
- childrenIds = node.itens.map(function (i) {
479
- return i.id;
480
- });
481
-
482
- if (ids) {
483
- var idWithChildren = {};
484
- idWithChildren[node.id] = childrenIds;
485
- Object.assign(ids, idWithChildren);
486
- }
487
- }
488
-
489
- return /*#__PURE__*/_react["default"].createElement(_Node["default"], {
490
- key: "node-".concat(node.id),
491
- node: node,
492
- idsInLoading: idsInLoading,
493
- startNodesOpened: startNodesOpened,
494
- alwaysShowArrow: alwaysShowArrow,
495
- childrenIds: childrenIds,
496
- isParent: node.itens && node.itens.length > 0,
497
- parentId: parentId,
498
- nodeRightElements: nodeRightElements,
499
- nodeToolbarElements: nodeToolbarElements,
500
- nodeElementsValidations: nodeElementsValidations,
501
- nodeMenuButtonSize: nodeMenuButtonSize,
502
- onNodeClick: onNodeClick,
503
- selectedNodeId: selectedNodeId,
504
- handlerOnNodeOpen: _this.handleOnNodeOpen
505
- }, childrenIds.length > 0 && node.itens.map(function (nodeitem) {
506
- return _this.buildTree(nodeitem, node.id, ids);
507
- }));
508
- }
404
+ setRequiredParentsIds(_lodash.default.uniq(requiredIds));
405
+ setCurrentSelectedIds(_lodash.default.uniq(newSelectedIds));
406
+ setSelectedIdsUpdatedOnMount(function (prevState) {
407
+ return prevState || true;
509
408
  });
510
- _this.idsWithChildren = {};
511
- _this.state = {
512
- data: _this.props.data,
513
- propSelectedIds: _this.props.selectedIds,
514
- selectedIds: _this.props.selectedIds,
515
- isHandlingSelectedIds: false,
516
- requiredParentsIds: [],
517
- alreadyOpenedIds: [],
518
- selectedIdsUpdatedOnMount: false
519
- };
520
- return _this;
521
- }
409
+ };
522
410
 
523
- _createClass(TreeView, [{
524
- key: "componentDidMount",
525
- value: function componentDidMount() {
526
- this.buildTree(this.state.data, undefined, this.idsWithChildren);
527
- }
528
- }, {
529
- key: "componentDidUpdate",
530
- value: function componentDidUpdate(prevProps, prevState) {
531
- var _this$state3 = this.state,
532
- selectedIds = _this$state3.selectedIds,
533
- propSelectedIds = _this$state3.propSelectedIds,
534
- selectedIdsUpdatedOnMount = _this$state3.selectedIdsUpdatedOnMount;
535
- var allowCheckAllAncestry = this.props.allowCheckAllAncestry;
536
-
537
- var isSameSelectedIds = _lodash["default"].isEqual(propSelectedIds.sort(), prevState.propSelectedIds.sort());
538
-
539
- if (allowCheckAllAncestry && (!selectedIdsUpdatedOnMount || !isSameSelectedIds)) {
540
- this.handleNewSelectedIds(selectedIds);
541
- }
411
+ (0, _react.useEffect)(function () {
412
+ var isSameSelectedIds = _lodash.default.isEqual(propSelectedIds.sort(), selectedIds.sort());
413
+
414
+ if (enableDynamicData && props.data !== data) {
415
+ setData(props.data);
416
+ } else if (!isSameSelectedIds) {
417
+ setCurrentSelectedIds(selectedIds);
418
+ setPropSelectedIds(selectedIds);
542
419
  }
543
- }, {
544
- key: "render",
545
- value: function render() {
546
- var _this$props4 = this.props,
547
- customClass = _this$props4.customClass,
548
- bordered = _this$props4.bordered,
549
- children = _this$props4.children,
550
- styleForContainer = _this$props4.styleForContainer;
551
- var data = this.state.data;
552
- return /*#__PURE__*/_react["default"].createElement(_constants.TreeviewContext.Provider, {
553
- value: this.getContextValues()
554
- }, /*#__PURE__*/_react["default"].createElement("div", {
555
- className: "treeview-component ".concat(customClass)
556
- }, children, /*#__PURE__*/_react["default"].createElement("ul", {
557
- style: styleForContainer,
558
- className: "treeviewcontainer ".concat(bordered && '-bordered')
559
- }, this.buildTree(data))));
420
+ }, [selectedIds.length, props.data]);
421
+ (0, _react.useEffect)(function () {
422
+ if (allowCheckAllAncestry && !selectedIdsUpdatedOnMount) {
423
+ handleNewSelectedIds(currentSelectedIds);
560
424
  }
561
- }], [{
562
- key: "getDerivedStateFromProps",
563
- value: function getDerivedStateFromProps(props, state) {
564
- var data = props.data,
565
- selectedIds = props.selectedIds,
566
- enableDynamicData = props.enableDynamicData;
567
- var propSelectedIds = state.propSelectedIds;
568
-
569
- var isSameSelectedIds = _lodash["default"].isEqual(propSelectedIds.sort(), selectedIds.sort());
570
-
571
- if (enableDynamicData && data !== state.data) {
572
- return {
573
- data: data
574
- };
575
- } else if (!isSameSelectedIds) {
576
- return {
577
- selectedIds: selectedIds,
578
- propSelectedIds: selectedIds
579
- };
580
- }
581
-
582
- return null;
425
+ }, [currentSelectedIds]);
426
+ (0, _react.useEffect)(function () {
427
+ if (allowCheckAllAncestry) {
428
+ handleNewSelectedIds(currentSelectedIds);
583
429
  }
584
- }]);
585
-
586
- return TreeView;
587
- }(_react.Component);
588
-
589
- TreeView.propTypes = {
590
- data: _propTypes["default"].object.isRequired,
591
- customClass: _propTypes["default"].string,
592
- bordered: _propTypes["default"].bool,
593
- valuePropName: _propTypes["default"].string.isRequired,
594
- labelPropName: _propTypes["default"].string.isRequired,
595
- parentPropName: _propTypes["default"].string.isRequired,
596
- startNodesOpened: _propTypes["default"].bool,
597
- alwaysShowArrow: _propTypes["default"].bool,
598
- selectedIds: _propTypes["default"].arrayOf(_propTypes["default"].number),
599
- requiredIds: _propTypes["default"].arrayOf(_propTypes["default"].oneOfType([_propTypes["default"].string, _propTypes["default"].number])),
600
- showCheckBox: _propTypes["default"].bool,
601
- onSelectedIdsChange: _propTypes["default"].func,
602
- children: _propTypes["default"].instanceOf(Object),
603
- styleForContainer: _propTypes["default"].object,
604
- allowCheckAllChildren: _propTypes["default"].bool,
605
- allowCheckAllAncestry: _propTypes["default"].bool,
606
- defaultDisabledTooltip: _propTypes["default"].string,
607
- nodeRightElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
608
- nodeToolbarElements: _propTypes["default"].oneOfType([_propTypes["default"].arrayOf(_propTypes["default"].object), _propTypes["default"].element, _propTypes["default"].object]),
609
- nodeMenuButtonSize: _propTypes["default"].oneOf(['mini', 'small', 'medium', 'large', 'default']),
610
- onNodeClick: _propTypes["default"].func,
611
- onNodeOpen: _propTypes["default"].func,
612
- nodeElementsValidations: _propTypes["default"].object,
613
- enableDynamicData: _propTypes["default"].bool,
614
- idsInLoading: _propTypes["default"].arrayOf(_propTypes["default"].number),
615
- selectedNodeId: _propTypes["default"].number
616
- };
617
- TreeView.defaultProps = {
618
- customClass: '',
619
- bordered: false,
620
- startNodesOpened: false,
621
- alwaysShowArrow: false,
622
- selectedIds: [],
623
- requiredIds: [],
624
- showCheckBox: false,
625
- onSelectedIdsChange: undefined,
626
- children: undefined,
627
- styleForContainer: {},
628
- allowCheckAllChildren: false,
629
- allowCheckAllAncestry: false,
630
- defaultDisabledTooltip: '',
631
- nodeRightElements: undefined,
632
- nodeToolbarElements: undefined,
633
- nodeMenuButtonSize: 'small',
634
- onNodeClick: undefined,
635
- onNodeOpen: undefined,
636
- nodeElementsValidations: undefined,
637
- enableDynamicData: false,
638
- idsInLoading: [],
639
- selectedNodeId: undefined
430
+ }, [propSelectedIds]);
431
+ (0, _react.useEffect)(function () {
432
+ buildTree(data, undefined, idsWithChildren);
433
+ }, []);
434
+
435
+ var contextValues = _extends({}, props, {
436
+ requiredIds: propsRequiredIds,
437
+ selectedIds: currentSelectedIds,
438
+ isHandlingSelectedIds: isHandlingSelectedIds,
439
+ selectedIdsUpdatedOnMount: selectedIdsUpdatedOnMount,
440
+ requiredParentsIds: requiredParentsIds,
441
+ alreadyOpenedIds: alreadyOpenedIds,
442
+ handlerUpdateSelectedIds: updateSelectedIds,
443
+ handlerToggleCheckChildren: toggleCheckChildren
444
+ });
445
+
446
+ return /*#__PURE__*/_react.default.createElement(_constants.TreeviewContext.Provider, {
447
+ value: contextValues
448
+ }, /*#__PURE__*/_react.default.createElement("div", {
449
+ className: "treeview-component ".concat(customClass)
450
+ }, children, /*#__PURE__*/_react.default.createElement("ul", {
451
+ style: styleForContainer,
452
+ className: "treeviewcontainer ".concat(bordered && '-bordered')
453
+ }, buildTree(data))));
640
454
  };
455
+
641
456
  var _default = TreeView;
642
- exports["default"] = _default;
457
+ exports.default = _default;