@patternfly/react-core 6.0.0-alpha.69 → 6.0.0-alpha.70

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 (423) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/components/package.json +1 -1
  3. package/deprecated/package.json +1 -1
  4. package/dist/dynamic/components/AboutModal/package.json +1 -1
  5. package/dist/dynamic/components/Accordion/package.json +1 -1
  6. package/dist/dynamic/components/ActionList/package.json +1 -1
  7. package/dist/dynamic/components/Alert/package.json +1 -1
  8. package/dist/dynamic/components/Avatar/package.json +1 -1
  9. package/dist/dynamic/components/BackToTop/package.json +1 -1
  10. package/dist/dynamic/components/Backdrop/package.json +1 -1
  11. package/dist/dynamic/components/BackgroundImage/package.json +1 -1
  12. package/dist/dynamic/components/Badge/package.json +1 -1
  13. package/dist/dynamic/components/Banner/package.json +1 -1
  14. package/dist/dynamic/components/Brand/package.json +1 -1
  15. package/dist/dynamic/components/Breadcrumb/package.json +1 -1
  16. package/dist/dynamic/components/Button/package.json +1 -1
  17. package/dist/dynamic/components/CalendarMonth/package.json +1 -1
  18. package/dist/dynamic/components/Card/package.json +1 -1
  19. package/dist/dynamic/components/Checkbox/package.json +1 -1
  20. package/dist/dynamic/components/ClipboardCopy/package.json +1 -1
  21. package/dist/dynamic/components/CodeBlock/package.json +1 -1
  22. package/dist/dynamic/components/DataList/package.json +1 -1
  23. package/dist/dynamic/components/DatePicker/package.json +1 -1
  24. package/dist/dynamic/components/DescriptionList/package.json +1 -1
  25. package/dist/dynamic/components/Divider/package.json +1 -1
  26. package/dist/dynamic/components/Drawer/package.json +1 -1
  27. package/dist/dynamic/components/Dropdown/package.json +1 -1
  28. package/dist/dynamic/components/DualListSelector/package.json +1 -1
  29. package/dist/dynamic/components/EmptyState/package.json +1 -1
  30. package/dist/dynamic/components/ExpandableSection/package.json +1 -1
  31. package/dist/dynamic/components/FileUpload/package.json +1 -1
  32. package/dist/dynamic/components/Form/package.json +1 -1
  33. package/dist/dynamic/components/FormSelect/package.json +1 -1
  34. package/dist/dynamic/components/HelperText/package.json +1 -1
  35. package/dist/dynamic/components/Hint/package.json +1 -1
  36. package/dist/dynamic/components/Icon/package.json +1 -1
  37. package/dist/dynamic/components/InputGroup/package.json +1 -1
  38. package/dist/dynamic/components/JumpLinks/package.json +1 -1
  39. package/dist/dynamic/components/Label/package.json +1 -1
  40. package/dist/dynamic/components/List/package.json +1 -1
  41. package/dist/dynamic/components/LoginPage/package.json +1 -1
  42. package/dist/dynamic/components/Masthead/package.json +1 -1
  43. package/dist/dynamic/components/Menu/package.json +1 -1
  44. package/dist/dynamic/components/MenuToggle/package.json +1 -1
  45. package/dist/dynamic/components/Modal/package.json +1 -1
  46. package/dist/dynamic/components/MultipleFileUpload/package.json +1 -1
  47. package/dist/dynamic/components/Nav/package.json +1 -1
  48. package/dist/dynamic/components/NotificationBadge/package.json +1 -1
  49. package/dist/dynamic/components/NotificationDrawer/package.json +1 -1
  50. package/dist/dynamic/components/NumberInput/package.json +1 -1
  51. package/dist/dynamic/components/OverflowMenu/package.json +1 -1
  52. package/dist/dynamic/components/Page/package.json +1 -1
  53. package/dist/dynamic/components/Pagination/package.json +1 -1
  54. package/dist/dynamic/components/Panel/package.json +1 -1
  55. package/dist/dynamic/components/Popover/package.json +1 -1
  56. package/dist/dynamic/components/Progress/package.json +1 -1
  57. package/dist/dynamic/components/ProgressStepper/package.json +1 -1
  58. package/dist/dynamic/components/Radio/package.json +1 -1
  59. package/dist/dynamic/components/SearchInput/package.json +1 -1
  60. package/dist/dynamic/components/Select/package.json +1 -1
  61. package/dist/dynamic/components/Sidebar/package.json +1 -1
  62. package/dist/dynamic/components/SimpleList/package.json +1 -1
  63. package/dist/dynamic/components/Skeleton/package.json +1 -1
  64. package/dist/dynamic/components/SkipToContent/package.json +1 -1
  65. package/dist/dynamic/components/Slider/package.json +1 -1
  66. package/dist/dynamic/components/Spinner/package.json +1 -1
  67. package/dist/dynamic/components/Switch/package.json +1 -1
  68. package/dist/dynamic/components/Tabs/package.json +1 -1
  69. package/dist/dynamic/components/Text/package.json +1 -1
  70. package/dist/dynamic/components/TextArea/package.json +1 -1
  71. package/dist/dynamic/components/TextInput/package.json +1 -1
  72. package/dist/dynamic/components/TextInputGroup/package.json +1 -1
  73. package/dist/dynamic/components/Tile/package.json +1 -1
  74. package/dist/dynamic/components/TimePicker/package.json +1 -1
  75. package/dist/dynamic/components/Timestamp/package.json +1 -1
  76. package/dist/dynamic/components/Title/package.json +1 -1
  77. package/dist/dynamic/components/ToggleGroup/package.json +1 -1
  78. package/dist/dynamic/components/Toolbar/package.json +1 -1
  79. package/dist/dynamic/components/Tooltip/package.json +1 -1
  80. package/dist/dynamic/components/TreeView/package.json +1 -1
  81. package/dist/dynamic/components/Truncate/package.json +1 -1
  82. package/dist/dynamic/components/Wizard/hooks/package.json +1 -1
  83. package/dist/dynamic/components/Wizard/package.json +1 -1
  84. package/dist/dynamic/deprecated/components/Chip/package.json +1 -1
  85. package/dist/dynamic/deprecated/components/DragDrop/package.json +1 -1
  86. package/dist/dynamic/deprecated/components/DualListSelector/package.json +1 -0
  87. package/dist/dynamic/deprecated/components/Modal/package.json +1 -1
  88. package/dist/dynamic/deprecated/components/Wizard/package.json +1 -1
  89. package/dist/dynamic/deprecated/components/package.json +1 -1
  90. package/dist/dynamic/helpers/FocusTrap/FocusTrap/package.json +1 -1
  91. package/dist/dynamic/helpers/GenerateId/GenerateId/package.json +1 -1
  92. package/dist/dynamic/helpers/KeyboardHandler/package.json +1 -1
  93. package/dist/dynamic/helpers/OUIA/ouia/package.json +1 -1
  94. package/dist/dynamic/helpers/Popper/Popper/package.json +1 -1
  95. package/dist/dynamic/helpers/constants/package.json +1 -1
  96. package/dist/dynamic/helpers/datetimeUtils/package.json +1 -1
  97. package/dist/dynamic/helpers/fileUtils/package.json +1 -1
  98. package/dist/dynamic/helpers/htmlConstants/package.json +1 -1
  99. package/dist/dynamic/helpers/package.json +1 -1
  100. package/dist/dynamic/helpers/resizeObserver/package.json +1 -1
  101. package/dist/dynamic/helpers/typeUtils/package.json +1 -1
  102. package/dist/dynamic/helpers/useInterval/package.json +1 -1
  103. package/dist/dynamic/helpers/useIsomorphicLayout/package.json +1 -1
  104. package/dist/dynamic/helpers/useUnmountEffect/package.json +1 -1
  105. package/dist/dynamic/helpers/util/package.json +1 -1
  106. package/dist/dynamic/layouts/Bullseye/package.json +1 -1
  107. package/dist/dynamic/layouts/Flex/package.json +1 -1
  108. package/dist/dynamic/layouts/Gallery/package.json +1 -1
  109. package/dist/dynamic/layouts/Grid/package.json +1 -1
  110. package/dist/dynamic/layouts/Level/package.json +1 -1
  111. package/dist/dynamic/layouts/Split/package.json +1 -1
  112. package/dist/dynamic/layouts/Stack/package.json +1 -1
  113. package/dist/dynamic/styles/package.json +1 -1
  114. package/dist/dynamic-modules.json +0 -3
  115. package/dist/esm/components/DualListSelector/DualListSelector.d.ts +4 -112
  116. package/dist/esm/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  117. package/dist/esm/components/DualListSelector/DualListSelector.js +3 -433
  118. package/dist/esm/components/DualListSelector/DualListSelector.js.map +1 -1
  119. package/dist/esm/components/DualListSelector/DualListSelectorContext.d.ts +0 -1
  120. package/dist/esm/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -1
  121. package/dist/esm/components/DualListSelector/DualListSelectorContext.js.map +1 -1
  122. package/dist/esm/components/DualListSelector/DualListSelectorControl.js +1 -1
  123. package/dist/esm/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  124. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  125. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  126. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.js +1 -0
  127. package/dist/esm/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -1
  128. package/dist/esm/components/DualListSelector/DualListSelectorList.d.ts +1 -1
  129. package/dist/esm/components/DualListSelector/DualListSelectorList.d.ts.map +1 -1
  130. package/dist/esm/components/DualListSelector/DualListSelectorList.js +2 -7
  131. package/dist/esm/components/DualListSelector/DualListSelectorList.js.map +1 -1
  132. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts +4 -4
  133. package/dist/esm/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  134. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts +4 -6
  135. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  136. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js +3 -4
  137. package/dist/esm/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  138. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts +1 -22
  139. package/dist/esm/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  140. package/dist/esm/components/DualListSelector/DualListSelectorPane.js +6 -66
  141. package/dist/esm/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  142. package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts +15 -15
  143. package/dist/esm/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  144. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts +7 -7
  145. package/dist/esm/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
  146. package/dist/esm/components/DualListSelector/index.d.ts +0 -2
  147. package/dist/esm/components/DualListSelector/index.d.ts.map +1 -1
  148. package/dist/esm/components/DualListSelector/index.js +0 -2
  149. package/dist/esm/components/DualListSelector/index.js.map +1 -1
  150. package/dist/esm/deprecated/components/DualListSelector/DualListSelector.d.ts +131 -0
  151. package/dist/esm/deprecated/components/DualListSelector/DualListSelector.d.ts.map +1 -0
  152. package/dist/esm/deprecated/components/DualListSelector/DualListSelector.js +453 -0
  153. package/dist/esm/deprecated/components/DualListSelector/DualListSelector.js.map +1 -0
  154. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorContext.d.ts +1 -0
  155. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -0
  156. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorContext.js.map +1 -0
  157. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -0
  158. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorControl.js +1 -1
  159. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorControl.js.map +1 -0
  160. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  161. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -0
  162. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorControlsWrapper.js +0 -1
  163. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -0
  164. package/dist/{js/next → esm/deprecated}/components/DualListSelector/DualListSelectorList.d.ts +1 -1
  165. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorList.d.ts.map +1 -0
  166. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorList.js +7 -2
  167. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorList.js.map +1 -0
  168. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorListItem.d.ts +4 -4
  169. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -0
  170. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListItem.js.map +1 -0
  171. package/dist/{js/next → esm/deprecated}/components/DualListSelector/DualListSelectorListWrapper.d.ts +6 -4
  172. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -0
  173. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorListWrapper.js +4 -3
  174. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -0
  175. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorPane.d.ts +52 -0
  176. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -0
  177. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorPane.js +87 -0
  178. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorPane.js.map +1 -0
  179. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorTree.d.ts +15 -15
  180. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -0
  181. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorTree.js.map +1 -0
  182. package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorTreeItem.d.ts +7 -7
  183. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -0
  184. package/dist/esm/deprecated/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -0
  185. package/dist/esm/{next → deprecated}/components/DualListSelector/index.d.ts +1 -0
  186. package/dist/esm/deprecated/components/DualListSelector/index.d.ts.map +1 -0
  187. package/dist/esm/{next → deprecated}/components/DualListSelector/index.js +1 -0
  188. package/dist/esm/deprecated/components/DualListSelector/index.js.map +1 -0
  189. package/dist/esm/deprecated/components/DualListSelector/treeUtils.d.ts.map +1 -0
  190. package/dist/esm/deprecated/components/DualListSelector/treeUtils.js.map +1 -0
  191. package/dist/esm/deprecated/components/index.d.ts +1 -0
  192. package/dist/esm/deprecated/components/index.d.ts.map +1 -1
  193. package/dist/esm/deprecated/components/index.js +1 -0
  194. package/dist/esm/deprecated/components/index.js.map +1 -1
  195. package/dist/esm/next/components/index.d.ts +0 -1
  196. package/dist/esm/next/components/index.d.ts.map +1 -1
  197. package/dist/esm/next/components/index.js +1 -1
  198. package/dist/esm/next/components/index.js.map +1 -1
  199. package/dist/esm/next/index.d.ts +0 -1
  200. package/dist/esm/next/index.d.ts.map +1 -1
  201. package/dist/esm/next/index.js +1 -1
  202. package/dist/esm/next/index.js.map +1 -1
  203. package/dist/js/components/DualListSelector/DualListSelector.d.ts +4 -112
  204. package/dist/js/components/DualListSelector/DualListSelector.d.ts.map +1 -1
  205. package/dist/js/components/DualListSelector/DualListSelector.js +3 -433
  206. package/dist/js/components/DualListSelector/DualListSelector.js.map +1 -1
  207. package/dist/js/components/DualListSelector/DualListSelectorContext.d.ts +0 -1
  208. package/dist/js/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -1
  209. package/dist/js/components/DualListSelector/DualListSelectorContext.js.map +1 -1
  210. package/dist/js/components/DualListSelector/DualListSelectorControl.js +1 -1
  211. package/dist/js/components/DualListSelector/DualListSelectorControl.js.map +1 -1
  212. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  213. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -1
  214. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.js +1 -0
  215. package/dist/js/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -1
  216. package/dist/js/components/DualListSelector/DualListSelectorList.d.ts +1 -1
  217. package/dist/js/components/DualListSelector/DualListSelectorList.d.ts.map +1 -1
  218. package/dist/js/components/DualListSelector/DualListSelectorList.js +2 -7
  219. package/dist/js/components/DualListSelector/DualListSelectorList.js.map +1 -1
  220. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts +4 -4
  221. package/dist/js/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -1
  222. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts +4 -6
  223. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -1
  224. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js +3 -4
  225. package/dist/js/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -1
  226. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts +1 -22
  227. package/dist/js/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -1
  228. package/dist/js/components/DualListSelector/DualListSelectorPane.js +5 -65
  229. package/dist/js/components/DualListSelector/DualListSelectorPane.js.map +1 -1
  230. package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts +15 -15
  231. package/dist/js/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -1
  232. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts +7 -7
  233. package/dist/js/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -1
  234. package/dist/js/components/DualListSelector/index.d.ts +0 -2
  235. package/dist/js/components/DualListSelector/index.d.ts.map +1 -1
  236. package/dist/js/components/DualListSelector/index.js +0 -2
  237. package/dist/js/components/DualListSelector/index.js.map +1 -1
  238. package/dist/js/deprecated/components/DualListSelector/DualListSelector.d.ts +131 -0
  239. package/dist/js/deprecated/components/DualListSelector/DualListSelector.d.ts.map +1 -0
  240. package/dist/js/deprecated/components/DualListSelector/DualListSelector.js +456 -0
  241. package/dist/js/deprecated/components/DualListSelector/DualListSelector.js.map +1 -0
  242. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorContext.d.ts +1 -0
  243. package/dist/js/deprecated/components/DualListSelector/DualListSelectorContext.d.ts.map +1 -0
  244. package/dist/js/deprecated/components/DualListSelector/DualListSelectorContext.js.map +1 -0
  245. package/dist/js/deprecated/components/DualListSelector/DualListSelectorControl.d.ts.map +1 -0
  246. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorControl.js +1 -1
  247. package/dist/js/deprecated/components/DualListSelector/DualListSelectorControl.js.map +1 -0
  248. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorControlsWrapper.d.ts +1 -1
  249. package/dist/js/deprecated/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +1 -0
  250. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorControlsWrapper.js +0 -1
  251. package/dist/js/deprecated/components/DualListSelector/DualListSelectorControlsWrapper.js.map +1 -0
  252. package/dist/{esm/next → js/deprecated}/components/DualListSelector/DualListSelectorList.d.ts +1 -1
  253. package/dist/js/deprecated/components/DualListSelector/DualListSelectorList.d.ts.map +1 -0
  254. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorList.js +7 -2
  255. package/dist/js/deprecated/components/DualListSelector/DualListSelectorList.js.map +1 -0
  256. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorListItem.d.ts +4 -4
  257. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListItem.d.ts.map +1 -0
  258. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListItem.js.map +1 -0
  259. package/dist/{esm/next → js/deprecated}/components/DualListSelector/DualListSelectorListWrapper.d.ts +6 -4
  260. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +1 -0
  261. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorListWrapper.js +4 -3
  262. package/dist/js/deprecated/components/DualListSelector/DualListSelectorListWrapper.js.map +1 -0
  263. package/dist/js/deprecated/components/DualListSelector/DualListSelectorPane.d.ts +52 -0
  264. package/dist/js/deprecated/components/DualListSelector/DualListSelectorPane.d.ts.map +1 -0
  265. package/dist/js/deprecated/components/DualListSelector/DualListSelectorPane.js +91 -0
  266. package/dist/js/deprecated/components/DualListSelector/DualListSelectorPane.js.map +1 -0
  267. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorTree.d.ts +15 -15
  268. package/dist/js/deprecated/components/DualListSelector/DualListSelectorTree.d.ts.map +1 -0
  269. package/dist/js/deprecated/components/DualListSelector/DualListSelectorTree.js.map +1 -0
  270. package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorTreeItem.d.ts +7 -7
  271. package/dist/js/deprecated/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +1 -0
  272. package/dist/js/deprecated/components/DualListSelector/DualListSelectorTreeItem.js.map +1 -0
  273. package/dist/js/{next → deprecated}/components/DualListSelector/index.d.ts +1 -0
  274. package/dist/js/deprecated/components/DualListSelector/index.d.ts.map +1 -0
  275. package/dist/js/{next → deprecated}/components/DualListSelector/index.js +1 -0
  276. package/dist/js/deprecated/components/DualListSelector/index.js.map +1 -0
  277. package/dist/js/deprecated/components/DualListSelector/treeUtils.d.ts.map +1 -0
  278. package/dist/js/deprecated/components/DualListSelector/treeUtils.js.map +1 -0
  279. package/dist/js/deprecated/components/index.d.ts +1 -0
  280. package/dist/js/deprecated/components/index.d.ts.map +1 -1
  281. package/dist/js/deprecated/components/index.js +1 -0
  282. package/dist/js/deprecated/components/index.js.map +1 -1
  283. package/dist/js/next/components/index.d.ts +0 -1
  284. package/dist/js/next/components/index.d.ts.map +1 -1
  285. package/dist/js/next/components/index.js +0 -3
  286. package/dist/js/next/components/index.js.map +1 -1
  287. package/dist/js/next/index.d.ts +0 -1
  288. package/dist/js/next/index.d.ts.map +1 -1
  289. package/dist/js/next/index.js +0 -3
  290. package/dist/js/next/index.js.map +1 -1
  291. package/dist/umd/assets/{output-D0meVdH2.css → output-BcpwRLsL.css} +7486 -7486
  292. package/dist/umd/react-core.min.js +2 -2
  293. package/helpers/package.json +1 -1
  294. package/layouts/package.json +1 -1
  295. package/next/package.json +1 -1
  296. package/package.json +2 -2
  297. package/single-packages.config.json +1 -1
  298. package/src/components/DualListSelector/DualListSelector.tsx +7 -752
  299. package/src/components/DualListSelector/DualListSelectorContext.ts +0 -1
  300. package/src/components/DualListSelector/DualListSelectorControl.tsx +1 -1
  301. package/src/components/DualListSelector/DualListSelectorControlsWrapper.tsx +2 -1
  302. package/src/components/DualListSelector/DualListSelectorList.tsx +3 -20
  303. package/src/components/DualListSelector/DualListSelectorListItem.tsx +4 -4
  304. package/src/components/DualListSelector/DualListSelectorListWrapper.tsx +6 -10
  305. package/src/components/DualListSelector/DualListSelectorPane.tsx +41 -192
  306. package/src/components/DualListSelector/DualListSelectorTree.tsx +15 -15
  307. package/src/components/DualListSelector/DualListSelectorTreeItem.tsx +7 -7
  308. package/src/components/DualListSelector/__tests__/DualListSelector.test.tsx +6 -45
  309. package/src/components/DualListSelector/__tests__/__snapshots__/DualListSelector.test.tsx.snap +52 -1715
  310. package/src/components/DualListSelector/examples/DualListSelector.md +27 -42
  311. package/src/components/DualListSelector/examples/DualListSelectorBasic.tsx +146 -19
  312. package/src/components/DualListSelector/examples/DualListSelectorBasicSearch.tsx +202 -22
  313. package/src/components/DualListSelector/examples/DualListSelectorBasicTooltips.tsx +155 -28
  314. package/src/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +298 -121
  315. package/src/components/DualListSelector/index.ts +0 -2
  316. package/src/deprecated/components/DualListSelector/DualListSelector.tsx +795 -0
  317. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorContext.ts +1 -0
  318. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorControl.tsx +1 -1
  319. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorControlsWrapper.tsx +1 -2
  320. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorList.tsx +20 -3
  321. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorListItem.tsx +4 -4
  322. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorListWrapper.tsx +10 -6
  323. package/src/deprecated/components/DualListSelector/DualListSelectorPane.tsx +245 -0
  324. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorTree.tsx +15 -15
  325. package/src/{next → deprecated}/components/DualListSelector/DualListSelectorTreeItem.tsx +7 -7
  326. package/src/deprecated/components/DualListSelector/__tests__/DualListSelector.test.tsx +65 -0
  327. package/src/deprecated/components/DualListSelector/__tests__/__snapshots__/DualListSelector.test.tsx.snap +1785 -0
  328. package/src/{next → deprecated}/components/DualListSelector/examples/DualListSelector.md +56 -28
  329. package/src/deprecated/components/DualListSelector/examples/DualListSelectorBasic.tsx +30 -0
  330. package/src/deprecated/components/DualListSelector/examples/DualListSelectorBasicSearch.tsx +31 -0
  331. package/src/deprecated/components/DualListSelector/examples/DualListSelectorBasicTooltips.tsx +38 -0
  332. package/src/deprecated/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +93 -0
  333. package/src/{components → deprecated/components}/DualListSelector/examples/DualListSelectorComposable.tsx +32 -30
  334. package/src/{components → deprecated/components}/DualListSelector/examples/DualListSelectorComposableDragDrop.tsx +35 -32
  335. package/src/{components → deprecated/components}/DualListSelector/examples/DualListSelectorComposableTree.tsx +29 -27
  336. package/src/{components → deprecated/components}/DualListSelector/examples/DualListSelectorTreeExample.tsx +9 -6
  337. package/src/{next → deprecated}/components/DualListSelector/index.ts +1 -0
  338. package/src/deprecated/components/index.ts +1 -0
  339. package/src/next/components/index.ts +0 -1
  340. package/src/next/index.ts +0 -1
  341. package/dist/dynamic/next/components/DualListSelector/package.json +0 -1
  342. package/dist/dynamic/next/components/package.json +0 -1
  343. package/dist/esm/next/components/DualListSelector/DualListSelector.d.ts +0 -23
  344. package/dist/esm/next/components/DualListSelector/DualListSelector.d.ts.map +0 -1
  345. package/dist/esm/next/components/DualListSelector/DualListSelector.js +0 -23
  346. package/dist/esm/next/components/DualListSelector/DualListSelector.js.map +0 -1
  347. package/dist/esm/next/components/DualListSelector/DualListSelectorContext.d.ts.map +0 -1
  348. package/dist/esm/next/components/DualListSelector/DualListSelectorContext.js.map +0 -1
  349. package/dist/esm/next/components/DualListSelector/DualListSelectorControl.d.ts.map +0 -1
  350. package/dist/esm/next/components/DualListSelector/DualListSelectorControl.js.map +0 -1
  351. package/dist/esm/next/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +0 -1
  352. package/dist/esm/next/components/DualListSelector/DualListSelectorControlsWrapper.js.map +0 -1
  353. package/dist/esm/next/components/DualListSelector/DualListSelectorList.d.ts.map +0 -1
  354. package/dist/esm/next/components/DualListSelector/DualListSelectorList.js.map +0 -1
  355. package/dist/esm/next/components/DualListSelector/DualListSelectorListItem.d.ts.map +0 -1
  356. package/dist/esm/next/components/DualListSelector/DualListSelectorListItem.js.map +0 -1
  357. package/dist/esm/next/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +0 -1
  358. package/dist/esm/next/components/DualListSelector/DualListSelectorListWrapper.js.map +0 -1
  359. package/dist/esm/next/components/DualListSelector/DualListSelectorPane.d.ts +0 -31
  360. package/dist/esm/next/components/DualListSelector/DualListSelectorPane.d.ts.map +0 -1
  361. package/dist/esm/next/components/DualListSelector/DualListSelectorPane.js +0 -27
  362. package/dist/esm/next/components/DualListSelector/DualListSelectorPane.js.map +0 -1
  363. package/dist/esm/next/components/DualListSelector/DualListSelectorTree.d.ts.map +0 -1
  364. package/dist/esm/next/components/DualListSelector/DualListSelectorTree.js.map +0 -1
  365. package/dist/esm/next/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +0 -1
  366. package/dist/esm/next/components/DualListSelector/DualListSelectorTreeItem.js.map +0 -1
  367. package/dist/esm/next/components/DualListSelector/index.d.ts.map +0 -1
  368. package/dist/esm/next/components/DualListSelector/index.js.map +0 -1
  369. package/dist/esm/next/components/DualListSelector/treeUtils.d.ts.map +0 -1
  370. package/dist/esm/next/components/DualListSelector/treeUtils.js.map +0 -1
  371. package/dist/js/next/components/DualListSelector/DualListSelector.d.ts +0 -23
  372. package/dist/js/next/components/DualListSelector/DualListSelector.d.ts.map +0 -1
  373. package/dist/js/next/components/DualListSelector/DualListSelector.js +0 -26
  374. package/dist/js/next/components/DualListSelector/DualListSelector.js.map +0 -1
  375. package/dist/js/next/components/DualListSelector/DualListSelectorContext.d.ts.map +0 -1
  376. package/dist/js/next/components/DualListSelector/DualListSelectorContext.js.map +0 -1
  377. package/dist/js/next/components/DualListSelector/DualListSelectorControl.d.ts.map +0 -1
  378. package/dist/js/next/components/DualListSelector/DualListSelectorControl.js.map +0 -1
  379. package/dist/js/next/components/DualListSelector/DualListSelectorControlsWrapper.d.ts.map +0 -1
  380. package/dist/js/next/components/DualListSelector/DualListSelectorControlsWrapper.js.map +0 -1
  381. package/dist/js/next/components/DualListSelector/DualListSelectorList.d.ts.map +0 -1
  382. package/dist/js/next/components/DualListSelector/DualListSelectorList.js.map +0 -1
  383. package/dist/js/next/components/DualListSelector/DualListSelectorListItem.d.ts.map +0 -1
  384. package/dist/js/next/components/DualListSelector/DualListSelectorListItem.js.map +0 -1
  385. package/dist/js/next/components/DualListSelector/DualListSelectorListWrapper.d.ts.map +0 -1
  386. package/dist/js/next/components/DualListSelector/DualListSelectorListWrapper.js.map +0 -1
  387. package/dist/js/next/components/DualListSelector/DualListSelectorPane.d.ts +0 -31
  388. package/dist/js/next/components/DualListSelector/DualListSelectorPane.d.ts.map +0 -1
  389. package/dist/js/next/components/DualListSelector/DualListSelectorPane.js +0 -31
  390. package/dist/js/next/components/DualListSelector/DualListSelectorPane.js.map +0 -1
  391. package/dist/js/next/components/DualListSelector/DualListSelectorTree.d.ts.map +0 -1
  392. package/dist/js/next/components/DualListSelector/DualListSelectorTree.js.map +0 -1
  393. package/dist/js/next/components/DualListSelector/DualListSelectorTreeItem.d.ts.map +0 -1
  394. package/dist/js/next/components/DualListSelector/DualListSelectorTreeItem.js.map +0 -1
  395. package/dist/js/next/components/DualListSelector/index.d.ts.map +0 -1
  396. package/dist/js/next/components/DualListSelector/index.js.map +0 -1
  397. package/dist/js/next/components/DualListSelector/treeUtils.d.ts.map +0 -1
  398. package/dist/js/next/components/DualListSelector/treeUtils.js.map +0 -1
  399. package/src/next/components/DualListSelector/DualListSelector.tsx +0 -50
  400. package/src/next/components/DualListSelector/DualListSelectorPane.tsx +0 -94
  401. package/src/next/components/DualListSelector/__tests__/DualListSelector.test.tsx +0 -26
  402. package/src/next/components/DualListSelector/__tests__/__snapshots__/DualListSelector.test.tsx.snap +0 -122
  403. package/src/next/components/DualListSelector/examples/DualListSelectorBasic.tsx +0 -157
  404. package/src/next/components/DualListSelector/examples/DualListSelectorBasicSearch.tsx +0 -211
  405. package/src/next/components/DualListSelector/examples/DualListSelectorBasicTooltips.tsx +0 -165
  406. package/src/next/components/DualListSelector/examples/DualListSelectorComplexOptionsActions.tsx +0 -344
  407. /package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorContext.js +0 -0
  408. /package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorControl.d.ts +0 -0
  409. /package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorListItem.js +0 -0
  410. /package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorTree.js +0 -0
  411. /package/dist/esm/{next → deprecated}/components/DualListSelector/DualListSelectorTreeItem.js +0 -0
  412. /package/dist/esm/{next → deprecated}/components/DualListSelector/treeUtils.d.ts +0 -0
  413. /package/dist/esm/{next → deprecated}/components/DualListSelector/treeUtils.js +0 -0
  414. /package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorContext.js +0 -0
  415. /package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorControl.d.ts +0 -0
  416. /package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorListItem.js +0 -0
  417. /package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorTree.js +0 -0
  418. /package/dist/js/{next → deprecated}/components/DualListSelector/DualListSelectorTreeItem.js +0 -0
  419. /package/dist/js/{next → deprecated}/components/DualListSelector/treeUtils.d.ts +0 -0
  420. /package/dist/js/{next → deprecated}/components/DualListSelector/treeUtils.js +0 -0
  421. /package/src/{next/components → components}/DualListSelector/examples/DualListSelectorDragDrop.tsx +0 -0
  422. /package/src/{next/components → components}/DualListSelector/examples/DualListSelectorTree.tsx +0 -0
  423. /package/src/{next → deprecated}/components/DualListSelector/treeUtils.ts +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DualListSelector/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC;AACvC,cAAc,2BAA2B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/DualListSelector/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mCAAmC,CAAC;AAClD,cAAc,wBAAwB,CAAC;AACvC,cAAc,wBAAwB,CAAC;AACvC,cAAc,4BAA4B,CAAC;AAC3C,cAAc,wBAAwB,CAAC"}
@@ -2,12 +2,10 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./DualListSelector"), exports);
5
- tslib_1.__exportStar(require("./DualListSelectorContext"), exports);
6
5
  tslib_1.__exportStar(require("./DualListSelectorControl"), exports);
7
6
  tslib_1.__exportStar(require("./DualListSelectorControlsWrapper"), exports);
8
7
  tslib_1.__exportStar(require("./DualListSelectorPane"), exports);
9
8
  tslib_1.__exportStar(require("./DualListSelectorList"), exports);
10
9
  tslib_1.__exportStar(require("./DualListSelectorListItem"), exports);
11
10
  tslib_1.__exportStar(require("./DualListSelectorTree"), exports);
12
- tslib_1.__exportStar(require("./DualListSelectorContext"), exports);
13
11
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DualListSelector/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,oEAA0C;AAC1C,oEAA0C;AAC1C,4EAAkD;AAClD,iEAAuC;AACvC,iEAAuC;AACvC,qEAA2C;AAC3C,iEAAuC;AACvC,oEAA0C"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/DualListSelector/index.ts"],"names":[],"mappings":";;;AAAA,6DAAmC;AACnC,oEAA0C;AAC1C,4EAAkD;AAClD,iEAAuC;AACvC,iEAAuC;AACvC,qEAA2C;AAC3C,iEAAuC"}
@@ -0,0 +1,131 @@
1
+ import * as React from 'react';
2
+ import { PickOptional } from '../../../helpers';
3
+ import { DualListSelectorTreeItemData } from './DualListSelectorTree';
4
+ /** Acts as a container for all other DualListSelector sub-components when using a
5
+ * composable dual list selector.
6
+ */
7
+ export interface DualListSelectorProps {
8
+ /** Additional classes applied to the dual list selector. */
9
+ className?: string;
10
+ /** Id of the dual list selector. */
11
+ id?: string;
12
+ /** Flag indicating if the dual list selector uses trees instead of simple lists */
13
+ isTree?: boolean;
14
+ /** Flag indicating if the dual list selector is in a disabled state */
15
+ isDisabled?: boolean;
16
+ /** Content to be rendered in the dual list selector. Panes & controls will not be built dynamically when children are provided. */
17
+ children?: React.ReactNode;
18
+ /** Title applied to the dynamically built available options pane. */
19
+ availableOptionsTitle?: string;
20
+ /** Options to display in the dynamically built available options pane. When using trees, the options should be in the DualListSelectorTreeItemData[] format. */
21
+ availableOptions?: React.ReactNode[] | DualListSelectorTreeItemData[];
22
+ /** Status message to display above the dynamically built available options pane. */
23
+ availableOptionsStatus?: string;
24
+ /** Actions to be displayed above the dynamically built available options pane. */
25
+ availableOptionsActions?: React.ReactNode[];
26
+ /** Title applied to the dynamically built chosen options pane. */
27
+ chosenOptionsTitle?: string;
28
+ /** Options to display in the dynamically built chosen options pane. When using trees, the options should be in the DualListSelectorTreeItemData[] format. */
29
+ chosenOptions?: React.ReactNode[] | DualListSelectorTreeItemData[];
30
+ /** Status message to display above the dynamically built chosen options pane.*/
31
+ chosenOptionsStatus?: string;
32
+ /** Actions to be displayed above the dynamically built chosen options pane. */
33
+ chosenOptionsActions?: React.ReactNode[];
34
+ /** Accessible label for the dynamically built controls between the two panes. */
35
+ controlsAriaLabel?: string;
36
+ /** Optional callback for the dynamically built add selected button */
37
+ addSelected?: (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => void;
38
+ /** Accessible label for the dynamically built add selected button */
39
+ addSelectedAriaLabel?: string;
40
+ /** Tooltip content for the dynamically built add selected button */
41
+ addSelectedTooltip?: React.ReactNode;
42
+ /** Additonal tooltip properties for the dynamically built add selected tooltip */
43
+ addSelectedTooltipProps?: any;
44
+ /** Callback fired every time dynamically built options are chosen or removed */
45
+ onListChange?: (event: React.MouseEvent<HTMLElement>, newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => void;
46
+ /** Optional callback for the dynamically built add all button */
47
+ addAll?: (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => void;
48
+ /** Accessible label for the dynamically built add all button */
49
+ addAllAriaLabel?: string;
50
+ /** Tooltip content for the dynamically built add all button */
51
+ addAllTooltip?: React.ReactNode;
52
+ /** Additonal tooltip properties for the dynamically built add all tooltip */
53
+ addAllTooltipProps?: any;
54
+ /** Optional callback for the dynamically built remove selected button */
55
+ removeSelected?: (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => void;
56
+ /** Accessible label for the dynamically built remove selected button */
57
+ removeSelectedAriaLabel?: string;
58
+ /** Tooltip content for the dynamically built remove selected button */
59
+ removeSelectedTooltip?: React.ReactNode;
60
+ /** Additonal tooltip properties for the dynamically built remove selected tooltip */
61
+ removeSelectedTooltipProps?: any;
62
+ /** Optional callback for the dynamically built remove all button */
63
+ removeAll?: (newAvailableOptions: React.ReactNode[], newChosenOptions: React.ReactNode[]) => void;
64
+ /** Accessible label for the dynamically built remove all button */
65
+ removeAllAriaLabel?: string;
66
+ /** Tooltip content for the dynamically built remove all button */
67
+ removeAllTooltip?: React.ReactNode;
68
+ /** Additonal tooltip properties for the dynamically built remove all tooltip */
69
+ removeAllTooltipProps?: any;
70
+ /** Optional callback fired when a dynamically built option is selected */
71
+ onOptionSelect?: (event: React.MouseEvent | React.ChangeEvent | React.KeyboardEvent, index: number, isChosen: boolean, id: string, itemData: any, parentData: any) => void;
72
+ /** Optional callback fired when a dynamically built option is checked */
73
+ onOptionCheck?: (event: React.MouseEvent | React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent, checked: boolean, checkedId: string, newCheckedItems: string[]) => void;
74
+ /** Flag indicating a search bar should be included above both the dynamically built available and chosen panes. */
75
+ isSearchable?: boolean;
76
+ /** Accessible label for the search input on the dynamically built available options pane. */
77
+ availableOptionsSearchAriaLabel?: string;
78
+ /** A callback for when the search input value for the dynamically built available options changes. */
79
+ onAvailableOptionsSearchInputChanged?: (event: React.FormEvent<HTMLInputElement>, value: string) => void;
80
+ /** Accessible label for the search input on the dynamically built chosen options pane. */
81
+ chosenOptionsSearchAriaLabel?: string;
82
+ /** A callback for when the search input value for the dynamically built chosen options changes. */
83
+ onChosenOptionsSearchInputChanged?: (event: React.FormEvent<HTMLInputElement>, value: string) => void;
84
+ /** Optional filter function for custom filtering based on search string. Used with a dynamically built search input. */
85
+ filterOption?: (option: React.ReactNode, input: string) => boolean;
86
+ }
87
+ interface DualListSelectorState {
88
+ availableOptions: React.ReactNode[];
89
+ availableOptionsSelected: number[];
90
+ availableFilteredOptions: React.ReactNode[];
91
+ chosenOptions: React.ReactNode[];
92
+ chosenOptionsSelected: number[];
93
+ chosenFilteredOptions: React.ReactNode[];
94
+ availableTreeFilteredOptions: string[];
95
+ availableTreeOptionsChecked: string[];
96
+ chosenTreeOptionsChecked: string[];
97
+ chosenTreeFilteredOptions: string[];
98
+ }
99
+ declare class DualListSelector extends React.Component<DualListSelectorProps, DualListSelectorState> {
100
+ static displayName: string;
101
+ private addAllButtonRef;
102
+ private addSelectedButtonRef;
103
+ private removeSelectedButtonRef;
104
+ private removeAllButtonRef;
105
+ static defaultProps: PickOptional<DualListSelectorProps>;
106
+ private createMergedCopy;
107
+ constructor(props: DualListSelectorProps);
108
+ /** In dev environment, prevents circular structure during JSON stringification when
109
+ * options passed in to the dual list selector include HTML elements.
110
+ */
111
+ replacer: (key: string, value: any) => any;
112
+ componentDidUpdate(): void;
113
+ onFilterUpdate: (newFilteredOptions: React.ReactNode[], paneType: string, isSearchReset: boolean) => void;
114
+ addAllVisible: (event: React.MouseEvent<HTMLElement>) => void;
115
+ addAllTreeVisible: (event: React.MouseEvent<HTMLElement>) => void;
116
+ addSelected: (event: React.MouseEvent<HTMLElement>) => void;
117
+ addTreeSelected: (event: React.MouseEvent<HTMLElement>) => void;
118
+ removeAllVisible: (event: React.MouseEvent<HTMLElement>) => void;
119
+ removeAllTreeVisible: (event: React.MouseEvent<HTMLElement>) => void;
120
+ removeSelected: (event: React.MouseEvent<HTMLElement>) => void;
121
+ removeTreeSelected: (event: React.MouseEvent<HTMLElement>) => void;
122
+ onOptionSelect: (e: React.MouseEvent | React.ChangeEvent | React.KeyboardEvent, index: number, isChosen: boolean, id?: string, itemData?: any, parentData?: any) => void;
123
+ isChecked: (treeItem: DualListSelectorTreeItemData, isChosen: boolean) => boolean;
124
+ areAllDescendantsChecked: (treeItem: DualListSelectorTreeItemData, isChosen: boolean) => boolean;
125
+ areSomeDescendantsChecked: (treeItem: DualListSelectorTreeItemData, isChosen: boolean) => boolean;
126
+ mapChecked: (item: DualListSelectorTreeItemData, isChosen: boolean) => DualListSelectorTreeItemData;
127
+ onTreeOptionCheck: (evt: React.MouseEvent | React.ChangeEvent<HTMLInputElement> | React.KeyboardEvent, isChecked: boolean, itemData: DualListSelectorTreeItemData, isChosen: boolean) => void;
128
+ render(): React.JSX.Element;
129
+ }
130
+ export { DualListSelector };
131
+ //# sourceMappingURL=DualListSelector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DualListSelector.d.ts","sourceRoot":"","sources":["../../../../../src/deprecated/components/DualListSelector/DualListSelector.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,456 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.DualListSelector = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const React = tslib_1.__importStar(require("react"));
6
+ const dual_list_selector_1 = tslib_1.__importDefault(require("@patternfly/react-styles/css/components/DualListSelector/dual-list-selector"));
7
+ const react_styles_1 = require("@patternfly/react-styles");
8
+ const angle_double_left_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/angle-double-left-icon'));
9
+ const angle_left_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/angle-left-icon'));
10
+ const angle_double_right_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/angle-double-right-icon'));
11
+ const angle_right_icon_1 = tslib_1.__importDefault(require('@patternfly/react-icons/dist/js/icons/angle-right-icon'));
12
+ const DualListSelectorPane_1 = require("./DualListSelectorPane");
13
+ const helpers_1 = require("../../../helpers");
14
+ const treeUtils_1 = require("./treeUtils");
15
+ const DualListSelectorControlsWrapper_1 = require("./DualListSelectorControlsWrapper");
16
+ const DualListSelectorControl_1 = require("./DualListSelectorControl");
17
+ const DualListSelectorContext_1 = require("./DualListSelectorContext");
18
+ class DualListSelector extends React.Component {
19
+ // If the DualListSelector uses trees, concat the two initial arrays and merge duplicate folder IDs
20
+ createMergedCopy() {
21
+ const copyOfAvailable = JSON.parse(JSON.stringify(this.props.availableOptions));
22
+ const copyOfChosen = JSON.parse(JSON.stringify(this.props.chosenOptions));
23
+ return this.props.isTree
24
+ ? Object.values(copyOfAvailable
25
+ .concat(copyOfChosen)
26
+ .reduce((mapObj, item) => {
27
+ const key = item.id;
28
+ if (mapObj[key]) {
29
+ // If map already has an item ID, add the dupe ID's children to the existing map
30
+ mapObj[key].children.push(...item.children);
31
+ }
32
+ else {
33
+ // Else clone the item data
34
+ mapObj[key] = Object.assign({}, item);
35
+ }
36
+ return mapObj;
37
+ }, {}))
38
+ : null;
39
+ }
40
+ constructor(props) {
41
+ super(props);
42
+ this.addAllButtonRef = React.createRef();
43
+ this.addSelectedButtonRef = React.createRef();
44
+ this.removeSelectedButtonRef = React.createRef();
45
+ this.removeAllButtonRef = React.createRef();
46
+ /** In dev environment, prevents circular structure during JSON stringification when
47
+ * options passed in to the dual list selector include HTML elements.
48
+ */
49
+ this.replacer = (key, value) => {
50
+ if (key[0] === '_') {
51
+ return undefined;
52
+ }
53
+ return value;
54
+ };
55
+ this.onFilterUpdate = (newFilteredOptions, paneType, isSearchReset) => {
56
+ const { isTree } = this.props;
57
+ if (paneType === 'available') {
58
+ if (isSearchReset) {
59
+ this.setState({
60
+ availableFilteredOptions: null,
61
+ availableTreeFilteredOptions: null
62
+ });
63
+ return;
64
+ }
65
+ if (isTree) {
66
+ this.setState({
67
+ availableTreeFilteredOptions: (0, treeUtils_1.flattenTreeWithFolders)(newFilteredOptions)
68
+ });
69
+ }
70
+ else {
71
+ this.setState({
72
+ availableFilteredOptions: newFilteredOptions
73
+ });
74
+ }
75
+ }
76
+ else if (paneType === 'chosen') {
77
+ if (isSearchReset) {
78
+ this.setState({
79
+ chosenFilteredOptions: null,
80
+ chosenTreeFilteredOptions: null
81
+ });
82
+ return;
83
+ }
84
+ if (isTree) {
85
+ this.setState({
86
+ chosenTreeFilteredOptions: (0, treeUtils_1.flattenTreeWithFolders)(newFilteredOptions)
87
+ });
88
+ }
89
+ else {
90
+ this.setState({
91
+ chosenFilteredOptions: newFilteredOptions
92
+ });
93
+ }
94
+ }
95
+ };
96
+ this.addAllVisible = (event) => {
97
+ this.setState((prevState) => {
98
+ const itemsToRemove = [];
99
+ const newAvailable = [];
100
+ const movedOptions = prevState.availableFilteredOptions || prevState.availableOptions;
101
+ prevState.availableOptions.forEach((value) => {
102
+ if (movedOptions.indexOf(value) !== -1) {
103
+ itemsToRemove.push(value);
104
+ }
105
+ else {
106
+ newAvailable.push(value);
107
+ }
108
+ });
109
+ const newChosen = [...prevState.chosenOptions, ...itemsToRemove];
110
+ this.props.addAll && this.props.addAll(newAvailable, newChosen);
111
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
112
+ return {
113
+ chosenOptions: newChosen,
114
+ chosenFilteredOptions: newChosen,
115
+ availableOptions: newAvailable,
116
+ availableFilteredOptions: newAvailable,
117
+ chosenOptionsSelected: [],
118
+ availableOptionsSelected: []
119
+ };
120
+ });
121
+ };
122
+ this.addAllTreeVisible = (event) => {
123
+ this.setState((prevState) => {
124
+ const movedOptions = prevState.availableTreeFilteredOptions ||
125
+ (0, treeUtils_1.flattenTreeWithFolders)(prevState.availableOptions);
126
+ const newAvailable = prevState.availableOptions
127
+ .map((opt) => Object.assign({}, opt))
128
+ .filter((item) => (0, treeUtils_1.filterRestTreeItems)(item, movedOptions));
129
+ const currChosen = (0, treeUtils_1.flattenTree)(prevState.chosenOptions);
130
+ const nextChosenOptions = currChosen.concat(movedOptions);
131
+ const newChosen = this.createMergedCopy()
132
+ .map((opt) => Object.assign({}, opt))
133
+ .filter((item) => (0, treeUtils_1.filterTreeItemsWithoutFolders)(item, nextChosenOptions));
134
+ this.props.addAll && this.props.addAll(newAvailable, newChosen);
135
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
136
+ return {
137
+ chosenOptions: newChosen,
138
+ chosenFilteredOptions: newChosen,
139
+ availableOptions: newAvailable,
140
+ availableFilteredOptions: newAvailable,
141
+ availableTreeOptionsChecked: [],
142
+ chosenTreeOptionsChecked: []
143
+ };
144
+ });
145
+ };
146
+ this.addSelected = (event) => {
147
+ this.setState((prevState) => {
148
+ const itemsToRemove = [];
149
+ const newAvailable = [];
150
+ prevState.availableOptions.forEach((value, index) => {
151
+ if (prevState.availableOptionsSelected.indexOf(index) !== -1) {
152
+ itemsToRemove.push(value);
153
+ }
154
+ else {
155
+ newAvailable.push(value);
156
+ }
157
+ });
158
+ const newChosen = [...prevState.chosenOptions, ...itemsToRemove];
159
+ this.props.addSelected && this.props.addSelected(newAvailable, newChosen);
160
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
161
+ return {
162
+ chosenOptionsSelected: [],
163
+ availableOptionsSelected: [],
164
+ chosenOptions: newChosen,
165
+ chosenFilteredOptions: newChosen,
166
+ availableOptions: newAvailable,
167
+ availableFilteredOptions: newAvailable
168
+ };
169
+ });
170
+ };
171
+ this.addTreeSelected = (event) => {
172
+ this.setState((prevState) => {
173
+ // Remove selected available nodes from current available nodes
174
+ const newAvailable = prevState.availableOptions
175
+ .map((opt) => Object.assign({}, opt))
176
+ .filter((item) => (0, treeUtils_1.filterRestTreeItems)(item, prevState.availableTreeOptionsChecked));
177
+ // Get next chosen options from current + new nodes and remap from base
178
+ const currChosen = (0, treeUtils_1.flattenTree)(prevState.chosenOptions);
179
+ const nextChosenOptions = currChosen.concat(prevState.availableTreeOptionsChecked);
180
+ const newChosen = this.createMergedCopy()
181
+ .map((opt) => Object.assign({}, opt))
182
+ .filter((item) => (0, treeUtils_1.filterTreeItemsWithoutFolders)(item, nextChosenOptions));
183
+ this.props.addSelected && this.props.addSelected(newAvailable, newChosen);
184
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
185
+ return {
186
+ availableTreeOptionsChecked: [],
187
+ chosenTreeOptionsChecked: [],
188
+ availableOptions: newAvailable,
189
+ chosenOptions: newChosen
190
+ };
191
+ });
192
+ };
193
+ this.removeAllVisible = (event) => {
194
+ this.setState((prevState) => {
195
+ const itemsToRemove = [];
196
+ const newChosen = [];
197
+ const movedOptions = prevState.chosenFilteredOptions || prevState.chosenOptions;
198
+ prevState.chosenOptions.forEach((value) => {
199
+ if (movedOptions.indexOf(value) !== -1) {
200
+ itemsToRemove.push(value);
201
+ }
202
+ else {
203
+ newChosen.push(value);
204
+ }
205
+ });
206
+ const newAvailable = [...prevState.availableOptions, ...itemsToRemove];
207
+ this.props.removeAll && this.props.removeAll(newAvailable, newChosen);
208
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
209
+ return {
210
+ chosenOptions: newChosen,
211
+ chosenFilteredOptions: newChosen,
212
+ availableOptions: newAvailable,
213
+ availableFilteredOptions: newAvailable,
214
+ chosenOptionsSelected: [],
215
+ availableOptionsSelected: []
216
+ };
217
+ });
218
+ };
219
+ this.removeAllTreeVisible = (event) => {
220
+ this.setState((prevState) => {
221
+ const movedOptions = prevState.chosenTreeFilteredOptions ||
222
+ (0, treeUtils_1.flattenTreeWithFolders)(prevState.chosenOptions);
223
+ const newChosen = prevState.chosenOptions
224
+ .map((opt) => Object.assign({}, opt))
225
+ .filter((item) => (0, treeUtils_1.filterRestTreeItems)(item, movedOptions));
226
+ const currAvailable = (0, treeUtils_1.flattenTree)(prevState.availableOptions);
227
+ const nextAvailableOptions = currAvailable.concat(movedOptions);
228
+ const newAvailable = this.createMergedCopy()
229
+ .map((opt) => Object.assign({}, opt))
230
+ .filter((item) => (0, treeUtils_1.filterTreeItemsWithoutFolders)(item, nextAvailableOptions));
231
+ this.props.removeAll && this.props.removeAll(newAvailable, newChosen);
232
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
233
+ return {
234
+ chosenOptions: newChosen,
235
+ availableOptions: newAvailable,
236
+ availableTreeOptionsChecked: [],
237
+ chosenTreeOptionsChecked: []
238
+ };
239
+ });
240
+ };
241
+ this.removeSelected = (event) => {
242
+ this.setState((prevState) => {
243
+ const itemsToRemove = [];
244
+ const newChosen = [];
245
+ prevState.chosenOptions.forEach((value, index) => {
246
+ if (prevState.chosenOptionsSelected.indexOf(index) !== -1) {
247
+ itemsToRemove.push(value);
248
+ }
249
+ else {
250
+ newChosen.push(value);
251
+ }
252
+ });
253
+ const newAvailable = [...prevState.availableOptions, ...itemsToRemove];
254
+ this.props.removeSelected && this.props.removeSelected(newAvailable, newChosen);
255
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
256
+ return {
257
+ chosenOptionsSelected: [],
258
+ availableOptionsSelected: [],
259
+ chosenOptions: newChosen,
260
+ chosenFilteredOptions: newChosen,
261
+ availableOptions: newAvailable,
262
+ availableFilteredOptions: newAvailable
263
+ };
264
+ });
265
+ };
266
+ this.removeTreeSelected = (event) => {
267
+ this.setState((prevState) => {
268
+ // Remove selected chosen nodes from current chosen nodes
269
+ const newChosen = prevState.chosenOptions
270
+ .map((opt) => Object.assign({}, opt))
271
+ .filter((item) => (0, treeUtils_1.filterRestTreeItems)(item, prevState.chosenTreeOptionsChecked));
272
+ // Get next chosen options from current and remap from base
273
+ const currAvailable = (0, treeUtils_1.flattenTree)(prevState.availableOptions);
274
+ const nextAvailableOptions = currAvailable.concat(prevState.chosenTreeOptionsChecked);
275
+ const newAvailable = this.createMergedCopy()
276
+ .map((opt) => Object.assign({}, opt))
277
+ .filter((item) => (0, treeUtils_1.filterTreeItemsWithoutFolders)(item, nextAvailableOptions));
278
+ this.props.removeSelected && this.props.removeSelected(newAvailable, newChosen);
279
+ this.props.onListChange && this.props.onListChange(event, newAvailable, newChosen);
280
+ return {
281
+ availableTreeOptionsChecked: [],
282
+ chosenTreeOptionsChecked: [],
283
+ availableOptions: newAvailable,
284
+ chosenOptions: newChosen
285
+ };
286
+ });
287
+ };
288
+ this.onOptionSelect = (e, index, isChosen,
289
+ /* eslint-disable @typescript-eslint/no-unused-vars */
290
+ id, itemData, parentData
291
+ /* eslint-enable @typescript-eslint/no-unused-vars */
292
+ ) => {
293
+ this.setState((prevState) => {
294
+ const originalArray = isChosen ? prevState.chosenOptionsSelected : prevState.availableOptionsSelected;
295
+ let updatedArray = null;
296
+ if (originalArray.indexOf(index) !== -1) {
297
+ updatedArray = originalArray.filter((value) => value !== index);
298
+ }
299
+ else {
300
+ updatedArray = [...originalArray, index];
301
+ }
302
+ return {
303
+ chosenOptionsSelected: isChosen ? updatedArray : prevState.chosenOptionsSelected,
304
+ availableOptionsSelected: isChosen ? prevState.availableOptionsSelected : updatedArray
305
+ };
306
+ });
307
+ this.props.onOptionSelect && this.props.onOptionSelect(e, index, isChosen, id, itemData, parentData);
308
+ };
309
+ this.isChecked = (treeItem, isChosen) => isChosen
310
+ ? this.state.chosenTreeOptionsChecked.includes(treeItem.id)
311
+ : this.state.availableTreeOptionsChecked.includes(treeItem.id);
312
+ this.areAllDescendantsChecked = (treeItem, isChosen) => treeItem.children
313
+ ? treeItem.children.every((child) => this.areAllDescendantsChecked(child, isChosen))
314
+ : this.isChecked(treeItem, isChosen);
315
+ this.areSomeDescendantsChecked = (treeItem, isChosen) => treeItem.children
316
+ ? treeItem.children.some((child) => this.areSomeDescendantsChecked(child, isChosen))
317
+ : this.isChecked(treeItem, isChosen);
318
+ this.mapChecked = (item, isChosen) => {
319
+ const hasCheck = this.areAllDescendantsChecked(item, isChosen);
320
+ item.isChecked = false;
321
+ if (hasCheck) {
322
+ item.isChecked = true;
323
+ }
324
+ else {
325
+ const hasPartialCheck = this.areSomeDescendantsChecked(item, isChosen);
326
+ if (hasPartialCheck) {
327
+ item.isChecked = null;
328
+ }
329
+ }
330
+ if (item.children) {
331
+ return Object.assign(Object.assign({}, item), { children: item.children.map((child) => this.mapChecked(child, isChosen)) });
332
+ }
333
+ return item;
334
+ };
335
+ this.onTreeOptionCheck = (evt, isChecked, itemData, isChosen) => {
336
+ const { availableOptions, availableTreeFilteredOptions, chosenOptions, chosenTreeFilteredOptions } = this.state;
337
+ let panelOptions;
338
+ if (isChosen) {
339
+ if (chosenTreeFilteredOptions) {
340
+ panelOptions = chosenOptions
341
+ .map((opt) => Object.assign({}, opt))
342
+ .filter((item) => (0, treeUtils_1.filterTreeItemsWithoutFolders)(item, chosenTreeFilteredOptions));
343
+ }
344
+ else {
345
+ panelOptions = chosenOptions;
346
+ }
347
+ }
348
+ else {
349
+ if (availableTreeFilteredOptions) {
350
+ panelOptions = availableOptions
351
+ .map((opt) => Object.assign({}, opt))
352
+ .filter((item) => (0, treeUtils_1.filterTreeItemsWithoutFolders)(item, availableTreeFilteredOptions));
353
+ }
354
+ else {
355
+ panelOptions = availableOptions;
356
+ }
357
+ }
358
+ const checkedOptionTree = panelOptions
359
+ .map((opt) => Object.assign({}, opt))
360
+ .filter((item) => (0, treeUtils_1.filterTreeItems)(item, [itemData.id]));
361
+ const flatTree = (0, treeUtils_1.flattenTreeWithFolders)(checkedOptionTree);
362
+ const prevChecked = isChosen ? this.state.chosenTreeOptionsChecked : this.state.availableTreeOptionsChecked;
363
+ let updatedChecked = [];
364
+ if (isChecked) {
365
+ updatedChecked = prevChecked.concat(flatTree.filter((id) => !prevChecked.includes(id)));
366
+ }
367
+ else {
368
+ updatedChecked = prevChecked.filter((id) => !flatTree.includes(id));
369
+ }
370
+ this.setState((prevState) => ({
371
+ availableTreeOptionsChecked: isChosen ? prevState.availableTreeOptionsChecked : updatedChecked,
372
+ chosenTreeOptionsChecked: isChosen ? updatedChecked : prevState.chosenTreeOptionsChecked
373
+ }), () => {
374
+ this.props.onOptionCheck && this.props.onOptionCheck(evt, isChecked, itemData.id, updatedChecked);
375
+ });
376
+ };
377
+ this.state = {
378
+ availableOptions: [...this.props.availableOptions],
379
+ availableOptionsSelected: [],
380
+ availableFilteredOptions: null,
381
+ availableTreeFilteredOptions: null,
382
+ chosenOptions: [...this.props.chosenOptions],
383
+ chosenOptionsSelected: [],
384
+ chosenFilteredOptions: null,
385
+ chosenTreeFilteredOptions: null,
386
+ availableTreeOptionsChecked: [],
387
+ chosenTreeOptionsChecked: []
388
+ };
389
+ }
390
+ componentDidUpdate() {
391
+ if (JSON.stringify(this.props.availableOptions, this.replacer) !==
392
+ JSON.stringify(this.state.availableOptions, this.replacer) ||
393
+ JSON.stringify(this.props.chosenOptions, this.replacer) !==
394
+ JSON.stringify(this.state.chosenOptions, this.replacer)) {
395
+ this.setState({
396
+ availableOptions: [...this.props.availableOptions],
397
+ chosenOptions: [...this.props.chosenOptions]
398
+ });
399
+ }
400
+ }
401
+ render() {
402
+ const _a = this.props, { availableOptionsTitle, availableOptionsActions, availableOptionsSearchAriaLabel, className, children, chosenOptionsTitle, chosenOptionsActions, chosenOptionsSearchAriaLabel, filterOption, isSearchable, chosenOptionsStatus, availableOptionsStatus, controlsAriaLabel, addAllAriaLabel, addSelectedAriaLabel, removeSelectedAriaLabel, removeAllAriaLabel,
403
+ /* eslint-disable @typescript-eslint/no-unused-vars */
404
+ availableOptions: consumerPassedAvailableOptions, chosenOptions: consumerPassedChosenOptions, removeSelected, addAll, removeAll, addSelected, onListChange, onAvailableOptionsSearchInputChanged, onChosenOptionsSearchInputChanged, onOptionSelect, onOptionCheck, id, isTree, isDisabled, addAllTooltip, addAllTooltipProps, addSelectedTooltip, addSelectedTooltipProps, removeAllTooltip, removeAllTooltipProps, removeSelectedTooltip, removeSelectedTooltipProps } = _a, props = tslib_1.__rest(_a, ["availableOptionsTitle", "availableOptionsActions", "availableOptionsSearchAriaLabel", "className", "children", "chosenOptionsTitle", "chosenOptionsActions", "chosenOptionsSearchAriaLabel", "filterOption", "isSearchable", "chosenOptionsStatus", "availableOptionsStatus", "controlsAriaLabel", "addAllAriaLabel", "addSelectedAriaLabel", "removeSelectedAriaLabel", "removeAllAriaLabel", "availableOptions", "chosenOptions", "removeSelected", "addAll", "removeAll", "addSelected", "onListChange", "onAvailableOptionsSearchInputChanged", "onChosenOptionsSearchInputChanged", "onOptionSelect", "onOptionCheck", "id", "isTree", "isDisabled", "addAllTooltip", "addAllTooltipProps", "addSelectedTooltip", "addSelectedTooltipProps", "removeAllTooltip", "removeAllTooltipProps", "removeSelectedTooltip", "removeSelectedTooltipProps"]);
405
+ const { availableOptions, chosenOptions, chosenOptionsSelected, availableOptionsSelected, chosenTreeOptionsChecked, availableTreeOptionsChecked } = this.state;
406
+ const availableOptionsStatusToDisplay = availableOptionsStatus ||
407
+ (isTree
408
+ ? `${(0, treeUtils_1.filterFolders)(availableOptions, availableTreeOptionsChecked)
409
+ .length} of ${(0, treeUtils_1.flattenTree)(availableOptions).length} items selected`
410
+ : `${availableOptionsSelected.length} of ${availableOptions.length} items selected`);
411
+ const chosenOptionsStatusToDisplay = chosenOptionsStatus ||
412
+ (isTree
413
+ ? `${(0, treeUtils_1.filterFolders)(chosenOptions, chosenTreeOptionsChecked).length} of ${(0, treeUtils_1.flattenTree)(chosenOptions).length} items selected`
414
+ : `${chosenOptionsSelected.length} of ${chosenOptions.length} items selected`);
415
+ const available = (isTree
416
+ ? availableOptions.map((item) => this.mapChecked(item, false))
417
+ : availableOptions);
418
+ const chosen = (isTree
419
+ ? chosenOptions.map((item) => this.mapChecked(item, true))
420
+ : chosenOptions);
421
+ return (React.createElement(DualListSelectorContext_1.DualListSelectorContext.Provider, { value: { isTree } },
422
+ React.createElement(helpers_1.GenerateId, null, (randomId) => (React.createElement("div", Object.assign({ className: (0, react_styles_1.css)(dual_list_selector_1.default.dualListSelector, className), id: id || randomId }, props), children === '' ? (React.createElement(React.Fragment, null,
423
+ React.createElement(DualListSelectorPane_1.DualListSelectorPane, { isSearchable: isSearchable, onFilterUpdate: this.onFilterUpdate, searchInputAriaLabel: availableOptionsSearchAriaLabel, filterOption: filterOption, onSearchInputChanged: onAvailableOptionsSearchInputChanged, status: availableOptionsStatusToDisplay, title: availableOptionsTitle, options: available, selectedOptions: isTree ? availableTreeOptionsChecked : availableOptionsSelected, onOptionSelect: this.onOptionSelect, onOptionCheck: (e, isChecked, itemData) => this.onTreeOptionCheck(e, isChecked, itemData, false), actions: availableOptionsActions, id: `${id || randomId}-available-pane`, isDisabled: isDisabled }),
424
+ React.createElement(DualListSelectorControlsWrapper_1.DualListSelectorControlsWrapper, { "aria-label": controlsAriaLabel },
425
+ React.createElement(DualListSelectorControl_1.DualListSelectorControl, { isDisabled: (isTree ? availableTreeOptionsChecked.length === 0 : availableOptionsSelected.length === 0) ||
426
+ isDisabled, onClick: isTree ? this.addTreeSelected : this.addSelected, ref: this.addSelectedButtonRef, "aria-label": addSelectedAriaLabel, tooltipContent: addSelectedTooltip, tooltipProps: addSelectedTooltipProps },
427
+ React.createElement(angle_right_icon_1.default, null)),
428
+ React.createElement(DualListSelectorControl_1.DualListSelectorControl, { isDisabled: availableOptions.length === 0 || isDisabled, onClick: isTree ? this.addAllTreeVisible : this.addAllVisible, ref: this.addAllButtonRef, "aria-label": addAllAriaLabel, tooltipContent: addAllTooltip, tooltipProps: addAllTooltipProps },
429
+ React.createElement(angle_double_right_icon_1.default, null)),
430
+ React.createElement(DualListSelectorControl_1.DualListSelectorControl, { isDisabled: chosenOptions.length === 0 || isDisabled, onClick: isTree ? this.removeAllTreeVisible : this.removeAllVisible, "aria-label": removeAllAriaLabel, ref: this.removeAllButtonRef, tooltipContent: removeAllTooltip, tooltipProps: removeAllTooltipProps },
431
+ React.createElement(angle_double_left_icon_1.default, null)),
432
+ React.createElement(DualListSelectorControl_1.DualListSelectorControl, { onClick: isTree ? this.removeTreeSelected : this.removeSelected, isDisabled: (isTree ? chosenTreeOptionsChecked.length === 0 : chosenOptionsSelected.length === 0) ||
433
+ isDisabled, ref: this.removeSelectedButtonRef, "aria-label": removeSelectedAriaLabel, tooltipContent: removeSelectedTooltip, tooltipProps: removeSelectedTooltipProps },
434
+ React.createElement(angle_left_icon_1.default, null))),
435
+ React.createElement(DualListSelectorPane_1.DualListSelectorPane, { isChosen: true, isSearchable: isSearchable, onFilterUpdate: this.onFilterUpdate, searchInputAriaLabel: chosenOptionsSearchAriaLabel, filterOption: filterOption, onSearchInputChanged: onChosenOptionsSearchInputChanged, title: chosenOptionsTitle, status: chosenOptionsStatusToDisplay, options: chosen, selectedOptions: isTree ? chosenTreeOptionsChecked : chosenOptionsSelected, onOptionSelect: this.onOptionSelect, onOptionCheck: (e, isChecked, itemData) => this.onTreeOptionCheck(e, isChecked, itemData, true), actions: chosenOptionsActions, id: `${id || randomId}-chosen-pane`, isDisabled: isDisabled }))) : (children))))));
436
+ }
437
+ }
438
+ exports.DualListSelector = DualListSelector;
439
+ DualListSelector.displayName = 'DualListSelector';
440
+ DualListSelector.defaultProps = {
441
+ children: '',
442
+ availableOptions: [],
443
+ availableOptionsTitle: 'Available options',
444
+ availableOptionsSearchAriaLabel: 'Available search input',
445
+ chosenOptions: [],
446
+ chosenOptionsTitle: 'Chosen options',
447
+ chosenOptionsSearchAriaLabel: 'Chosen search input',
448
+ controlsAriaLabel: 'Selector controls',
449
+ addAllAriaLabel: 'Add all',
450
+ addSelectedAriaLabel: 'Add selected',
451
+ removeSelectedAriaLabel: 'Remove selected',
452
+ removeAllAriaLabel: 'Remove all',
453
+ isTree: false,
454
+ isDisabled: false
455
+ };
456
+ //# sourceMappingURL=DualListSelector.js.map