impact-ui 3.7.25 → 4.0.0-alpha.10

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 (465) hide show
  1. package/MIGRATION_GUIDE.md +328 -0
  2. package/README.md +154 -15
  3. package/bin/migrate-image-paths.cjs +127 -0
  4. package/bin/migrate.js +293 -0
  5. package/codemods/component-map.js +153 -0
  6. package/codemods/image-paths-transform.js +69 -0
  7. package/codemods/transform.js +136 -0
  8. package/dist/components/Accordion/index.js +2 -1
  9. package/dist/components/AccordionModern/index.js +2 -1
  10. package/dist/components/Alert/index.js +2 -1
  11. package/dist/components/Avatar/index.js +2 -1
  12. package/dist/components/Badge/filled/filledIconLabelBadges/index.js +2 -1
  13. package/dist/components/Badge/filled/filledOnlyIconBadges/index.js +2 -1
  14. package/dist/components/Badge/filled/filledOnlyLabelBadges/index.js +2 -1
  15. package/dist/components/Badge/index.js +3 -2
  16. package/dist/components/Badge/stroke/strokeIconLabelBadges/index.js +2 -1
  17. package/dist/components/Badge/stroke/strokeOnlyIconBadges/index.js +2 -1
  18. package/dist/components/Badge/stroke/strokeOnlyLabelBadges/index.js +2 -1
  19. package/dist/components/Badge/subtle/subtleIOnlyIconBadges/index.js +2 -1
  20. package/dist/components/Badge/subtle/subtleIconLabelBadges/index.js +2 -1
  21. package/dist/components/Badge/subtle/subtleOnlyLabelBadges/index.js +2 -1
  22. package/dist/components/BottomSheet/index.js +2 -1
  23. package/dist/components/Breadcrumbs/index.js +2 -1
  24. package/dist/components/Button/index.js +2 -1
  25. package/dist/components/ButtonGroup/index.js +2 -1
  26. package/dist/components/Card/index.js +2 -1
  27. package/dist/components/Chart/index.js +2 -1
  28. package/dist/components/Chatbot/index.js +2 -1
  29. package/dist/components/Checkbox/index.js +2 -1
  30. package/dist/components/Chips/index.js +2 -1
  31. package/dist/components/CreateItemFlow/index.js +2 -1
  32. package/dist/components/DatePicker/datePickerDropdown.js +2 -1
  33. package/dist/components/DatePicker/index.js +3 -2
  34. package/dist/components/DateRangePicker/dateRangePickerDropdown.js +2 -1
  35. package/dist/components/DateRangePicker/index.js +3 -2
  36. package/dist/components/DynamicLayout/index.js +2 -1
  37. package/dist/components/EmptyState/EmptyStateImage.d.ts.map +1 -1
  38. package/dist/components/EmptyState/EmptyStateImage.js +3 -2
  39. package/dist/components/EmptyState/index.js +2 -1
  40. package/dist/components/FileUpload/index.js +2 -1
  41. package/dist/components/FilterPanel/index.js +2 -1
  42. package/dist/components/FiltersStrip/index.js +2 -1
  43. package/dist/components/Header/index.js +2 -1
  44. package/dist/components/HomePage/index.js +2 -1
  45. package/dist/components/Input/index.js +2 -1
  46. package/dist/components/Loader/index.js +2 -1
  47. package/dist/components/Menu/IconMenuItem.js +2 -1
  48. package/dist/components/Menu/MenuHeaderInfo.js +2 -1
  49. package/dist/components/Menu/NestedMenuItem.js +2 -1
  50. package/dist/components/Menu/index.js +2 -1
  51. package/dist/components/Menu/nestedMenuItemsFromObject.js +2 -1
  52. package/dist/components/Modal/index.js +2 -1
  53. package/dist/components/Notification/NotificationBody/NotificationList/NotificationList.js +2 -1
  54. package/dist/components/Notification/index.js +2 -1
  55. package/dist/components/Panel/index.js +2 -1
  56. package/dist/components/Popover/index.js +2 -1
  57. package/dist/components/ProgressBar/index.js +2 -1
  58. package/dist/components/Prompt/index.js +2 -1
  59. package/dist/components/RadioButtonGroup/index.js +2 -1
  60. package/dist/components/Select/index.js +2 -1
  61. package/dist/components/Sidebar/index.js +2 -1
  62. package/dist/components/Slider/index.js +2 -1
  63. package/dist/components/Stepper/index.js +2 -1
  64. package/dist/components/Switch/index.js +2 -1
  65. package/dist/components/Table/TableImpl.js +4 -3
  66. package/dist/components/TableChat/EmptyContainer.js +2 -1
  67. package/dist/components/TableChat/TableChatSidePanel.js +2 -1
  68. package/dist/components/TableChat/components/ChatMessageSkeleton/ChatFooterSkeleton.js +2 -1
  69. package/dist/components/TableChat/components/ChatMessageSkeleton/ChatHeaderSkeleton.js +2 -1
  70. package/dist/components/TableChat/components/ChatMessageSkeleton/ChatMessageListSkeleton.js +2 -1
  71. package/dist/components/TableChat/components/ChatMessageSkeleton/ChatSkeleton.js +2 -1
  72. package/dist/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.js +2 -1
  73. package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.js +2 -1
  74. package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.js +2 -1
  75. package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.js +2 -1
  76. package/dist/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/ChatDeletedMessageType.js +2 -1
  77. package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.js +2 -1
  78. package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.js +2 -1
  79. package/dist/components/TableChat/components/TableChatRightSection/ChatMessageAvatar/ChatMessageAvatar.js +2 -1
  80. package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.js +2 -1
  81. package/dist/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.js +2 -1
  82. package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.js +2 -1
  83. package/dist/components/TableChat/components/TableChatRightSection/PinedChatPanel/PinedChatPanel.js +2 -1
  84. package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.js +2 -1
  85. package/dist/components/TableChat/components/TextEditor/EditorToolbar.js +2 -1
  86. package/dist/components/TableChat/components/TextEditor/Mention.js +2 -1
  87. package/dist/components/TableChat/components/TextEditor/MentionList.js +2 -1
  88. package/dist/components/Tabs/index.js +2 -1
  89. package/dist/components/Tag/index.js +2 -1
  90. package/dist/components/TagGroup/index.js +2 -1
  91. package/dist/components/TextArea/index.js +2 -1
  92. package/dist/components/Toast/index.js +2 -1
  93. package/dist/components/Tooltip/index.js +2 -1
  94. package/dist/components/common/HelperText/index.js +2 -1
  95. package/dist/components/index.d.ts +0 -1
  96. package/dist/components/index.d.ts.map +1 -1
  97. package/dist/components/index.js +0 -1
  98. package/dist/mcp-component-registry.json +1 -1
  99. package/dist/styles/entry.d.ts +2 -0
  100. package/dist/styles/entry.d.ts.map +1 -0
  101. package/dist/styles/entry.js +1 -0
  102. package/dist/styles/style.css +1 -1
  103. package/eslint-plugin/index.js +91 -0
  104. package/eslint-plugin/rules/no-barrel-import.js +224 -0
  105. package/package.json +153 -89
  106. package/dist/0db32db10ae1525f.svg +0 -9
  107. package/dist/2bc76319b1fa572e.svg +0 -9
  108. package/dist/39d49e4daed1a992.svg +0 -9
  109. package/dist/44beedf64dc29d19.svg +0 -9
  110. package/dist/49a4f914058314f1.svg +0 -9
  111. package/dist/6fc8a59d621a04a1.svg +0 -13
  112. package/dist/78f845dcfc981491.svg +0 -9
  113. package/dist/b31c0c2a19c1c19a.svg +0 -9
  114. package/dist/index.js +0 -308
  115. package/dist/index.js.map +0 -1
  116. package/src/components/Accordion/Accordion.styles.scss +0 -118
  117. package/src/components/Accordion/index.js +0 -104
  118. package/src/components/AccordionModern/AccordionModern.styles.scss +0 -121
  119. package/src/components/AccordionModern/SortableAccordionComp.js +0 -156
  120. package/src/components/AccordionModern/index.js +0 -103
  121. package/src/components/Alert/Alert.styles.scss +0 -131
  122. package/src/components/Alert/index.js +0 -71
  123. package/src/components/Avatar/Avatar.styles.scss +0 -25
  124. package/src/components/Avatar/index.js +0 -58
  125. package/src/components/Badge/Badges.style.scss +0 -55
  126. package/src/components/Badge/filled/filledIconLabelBadges/filledIconLabelBadges.styles.scss +0 -32
  127. package/src/components/Badge/filled/filledIconLabelBadges/index.js +0 -38
  128. package/src/components/Badge/filled/filledOnlyIconBadges/filledOnlyIconBadges.styles.scss +0 -26
  129. package/src/components/Badge/filled/filledOnlyIconBadges/index.js +0 -31
  130. package/src/components/Badge/filled/filledOnlyLabelBadges/filledOnlyLabelBadges.styles.scss +0 -66
  131. package/src/components/Badge/filled/filledOnlyLabelBadges/index.js +0 -31
  132. package/src/components/Badge/filled/index.js +0 -30
  133. package/src/components/Badge/index.js +0 -53
  134. package/src/components/Badge/stroke/index.js +0 -43
  135. package/src/components/Badge/stroke/strokeIconLabelBadges/index.js +0 -38
  136. package/src/components/Badge/stroke/strokeIconLabelBadges/strokeIconLabelBadges.styles.scss +0 -33
  137. package/src/components/Badge/stroke/strokeOnlyIconBadges/index.js +0 -31
  138. package/src/components/Badge/stroke/strokeOnlyIconBadges/strokeOnlyIconBadges.styles.scss +0 -27
  139. package/src/components/Badge/stroke/strokeOnlyLabelBadges/index.js +0 -31
  140. package/src/components/Badge/stroke/strokeOnlyLabelBadges/strokeOnlyLabelBadges.styles.scss +0 -89
  141. package/src/components/Badge/styles.css +0 -52
  142. package/src/components/Badge/subtle/index.js +0 -41
  143. package/src/components/Badge/subtle/subtleIOnlyIconBadges/index.js +0 -31
  144. package/src/components/Badge/subtle/subtleIOnlyIconBadges/subtleIOnlyIconBadges.scss +0 -26
  145. package/src/components/Badge/subtle/subtleIconLabelBadges/index.js +0 -38
  146. package/src/components/Badge/subtle/subtleIconLabelBadges/subtleIconLabelBadges.scss +0 -56
  147. package/src/components/Badge/subtle/subtleOnlyLabelBadges/index.js +0 -31
  148. package/src/components/Badge/subtle/subtleOnlyLabelBadges/subtleOnlyLabelBadges.scss +0 -70
  149. package/src/components/BottomSheet/BottomSheet.styles.scss +0 -46
  150. package/src/components/BottomSheet/index.js +0 -60
  151. package/src/components/Breadcrumbs/Breadcrumbs.styles.scss +0 -65
  152. package/src/components/Breadcrumbs/index.js +0 -121
  153. package/src/components/Button/Button.styles.scss +0 -345
  154. package/src/components/Button/index.js +0 -171
  155. package/src/components/ButtonGroup/ButtonGroup.styles.scss +0 -125
  156. package/src/components/ButtonGroup/index.js +0 -84
  157. package/src/components/Card/Card.styles.scss +0 -33
  158. package/src/components/Card/index.js +0 -21
  159. package/src/components/Chart/Chart.style.scss +0 -142
  160. package/src/components/Chart/index.js +0 -752
  161. package/src/components/ChatBot/bookMarkPanel.js +0 -74
  162. package/src/components/ChatBot/chatBot.style.scss +0 -1295
  163. package/src/components/ChatBot/chatBotFooter.js +0 -14
  164. package/src/components/ChatBot/chatBotLandingScreen.js +0 -26
  165. package/src/components/ChatBot/chatInput.js +0 -206
  166. package/src/components/ChatBot/chatbotModuleMenu.js +0 -278
  167. package/src/components/ChatBot/constant.js +0 -32
  168. package/src/components/ChatBot/conversationScreen.js +0 -281
  169. package/src/components/ChatBot/customScreen.js +0 -69
  170. package/src/components/ChatBot/historyPanel.js +0 -579
  171. package/src/components/ChatBot/index.js +0 -473
  172. package/src/components/ChatBot/newChatComponent.js +0 -105
  173. package/src/components/ChatBot/utils.js +0 -27
  174. package/src/components/Checkbox/Checkbox.styles.scss +0 -232
  175. package/src/components/Checkbox/dashed/index.js +0 -34
  176. package/src/components/Checkbox/default/index.js +0 -70
  177. package/src/components/Checkbox/index.js +0 -50
  178. package/src/components/Checkbox/withDropDown/index.js +0 -96
  179. package/src/components/Checkbox/withoutFormLabel/index.js +0 -46
  180. package/src/components/Chips/Chip.style.scss +0 -134
  181. package/src/components/Chips/index.js +0 -34
  182. package/src/components/CreateItemFlow/CreateItemFlow.styles.scss +0 -37
  183. package/src/components/CreateItemFlow/index.js +0 -145
  184. package/src/components/DatePicker/DatePicker.styles.scss +0 -519
  185. package/src/components/DatePicker/datePickerDropdown.js +0 -282
  186. package/src/components/DatePicker/datePickerFooter.js +0 -76
  187. package/src/components/DatePicker/datePickerInput.js +0 -333
  188. package/src/components/DatePicker/index.js +0 -288
  189. package/src/components/DatePicker/showMonthYearSelect.js +0 -119
  190. package/src/components/DateRangePicker/DateRangePicker.styles.scss +0 -635
  191. package/src/components/DateRangePicker/dateRangePickerCustom.js +0 -22
  192. package/src/components/DateRangePicker/dateRangePickerDropdown.js +0 -320
  193. package/src/components/DateRangePicker/dateRangePickerFooter.js +0 -50
  194. package/src/components/DateRangePicker/dateRangePickerInput.js +0 -544
  195. package/src/components/DateRangePicker/index.js +0 -393
  196. package/src/components/DateRangePicker/showMonthYearSelect.js +0 -103
  197. package/src/components/DateRangePicker/utils.js +0 -71
  198. package/src/components/DynamicLayout/DynamicLayout.styles.scss +0 -153
  199. package/src/components/DynamicLayout/index.js +0 -73
  200. package/src/components/EmptyState/EmptyState.styles.scss +0 -88
  201. package/src/components/EmptyState/EmptyStateImageComponent.jsx +0 -36
  202. package/src/components/EmptyState/index.js +0 -54
  203. package/src/components/FileUpload/FileUpload.styles.scss +0 -449
  204. package/src/components/FileUpload/index.js +0 -641
  205. package/src/components/FilterPanel/FilterPanel.styles.scss +0 -241
  206. package/src/components/FilterPanel/FilterPanelHeader.js +0 -15
  207. package/src/components/FilterPanel/PanelFooter.js +0 -65
  208. package/src/components/FilterPanel/PanelSidebar.js +0 -85
  209. package/src/components/FilterPanel/index.js +0 -147
  210. package/src/components/FiltersStrip/FiltersStrip.styles.scss +0 -343
  211. package/src/components/FiltersStrip/Slider/FilterSlider.styles.scss +0 -85
  212. package/src/components/FiltersStrip/Slider/Portal.js +0 -59
  213. package/src/components/FiltersStrip/Slider/index.js +0 -233
  214. package/src/components/FiltersStrip/appliedFilter.js +0 -180
  215. package/src/components/FiltersStrip/filterDropDown.js +0 -96
  216. package/src/components/FiltersStrip/index.js +0 -127
  217. package/src/components/FiltersStrip/mockData.js +0 -227
  218. package/src/components/Header/Header.styles.scss +0 -223
  219. package/src/components/Header/index.js +0 -156
  220. package/src/components/HomePage/HomePage.styles.scss +0 -1638
  221. package/src/components/HomePage/constant.js +0 -331
  222. package/src/components/HomePage/index.js +0 -675
  223. package/src/components/Input/Input.styles.scss +0 -318
  224. package/src/components/Input/helperText.js +0 -19
  225. package/src/components/Input/index.js +0 -60
  226. package/src/components/Input/inputWithIcon.js +0 -134
  227. package/src/components/Input/vanilaInput.js +0 -68
  228. package/src/components/Loader/Loader.styles.scss +0 -90
  229. package/src/components/Loader/index.js +0 -69
  230. package/src/components/Menu/IconMenuItem.js +0 -100
  231. package/src/components/Menu/Menu.styles.scss +0 -190
  232. package/src/components/Menu/MenuHeader.jsx +0 -84
  233. package/src/components/Menu/MenuHeaderInfo.jsx +0 -319
  234. package/src/components/Menu/MenuHeaderInfo.styles.scss +0 -123
  235. package/src/components/Menu/NestedMenuItem.js +0 -189
  236. package/src/components/Menu/index.js +0 -254
  237. package/src/components/Menu/nestedMenuItemsFromObject.js +0 -100
  238. package/src/components/Modal/Modal.styles.scss +0 -129
  239. package/src/components/Modal/index.js +0 -141
  240. package/src/components/MonthPicker/MonthPicker.styles.scss +0 -255
  241. package/src/components/MonthPicker/constant.js +0 -1
  242. package/src/components/MonthPicker/index.js +0 -373
  243. package/src/components/MonthRangePicker/MonthRangePicker.styles.scss +0 -383
  244. package/src/components/MonthRangePicker/constant.js +0 -1
  245. package/src/components/MonthRangePicker/index.js +0 -574
  246. package/src/components/Notification/Notification.styles.scss +0 -594
  247. package/src/components/Notification/NotificationBody/NotificationInfoList/chipsLists.js +0 -144
  248. package/src/components/Notification/NotificationBody/NotificationInfoList/index.js +0 -128
  249. package/src/components/Notification/NotificationBody/NotificationInfoList/notificationList.js +0 -165
  250. package/src/components/Notification/NotificationBody/NotificationPanels/chipsLists.js +0 -85
  251. package/src/components/Notification/NotificationBody/NotificationPanels/index.js +0 -259
  252. package/src/components/Notification/NotificationBody/NotificationPanels/notificationList.js +0 -637
  253. package/src/components/Notification/NotificationBody/index.js +0 -117
  254. package/src/components/Notification/index.js +0 -128
  255. package/src/components/Notification/mockData.js +0 -389
  256. package/src/components/Notification/notificationFooter.js +0 -31
  257. package/src/components/Notification/notificationHeader.js +0 -28
  258. package/src/components/Panel/Panel.styles.scss +0 -71
  259. package/src/components/Panel/index.js +0 -144
  260. package/src/components/Popover/Popover.styles.scss +0 -52
  261. package/src/components/Popover/index.js +0 -71
  262. package/src/components/Portal/index.js +0 -31
  263. package/src/components/ProgressBar/ProgressBar.styles.scss +0 -62
  264. package/src/components/ProgressBar/index.js +0 -40
  265. package/src/components/Prompt/Prompt.styles.scss +0 -107
  266. package/src/components/Prompt/index.js +0 -107
  267. package/src/components/RadioButtonGroup/RadioButtonGroup.styles.scss +0 -136
  268. package/src/components/RadioButtonGroup/index.js +0 -107
  269. package/src/components/Select/SearchFilter.js +0 -72
  270. package/src/components/Select/Select.styles.scss +0 -748
  271. package/src/components/Select/customGroupHeading.js +0 -24
  272. package/src/components/Select/dropdown.js +0 -65
  273. package/src/components/Select/hooks/index.js +0 -2
  274. package/src/components/Select/hooks/useClickOutside.js +0 -61
  275. package/src/components/Select/hooks/useMenuPosition.js +0 -288
  276. package/src/components/Select/index.js +0 -1307
  277. package/src/components/Select/menuList.js +0 -119
  278. package/src/components/Select/optionList.js +0 -215
  279. package/src/components/Select/selected-option-tags.js +0 -99
  280. package/src/components/Select/utils.js +0 -232
  281. package/src/components/Sidebar/Menus/childMenu.js +0 -88
  282. package/src/components/Sidebar/Menus/index.js +0 -130
  283. package/src/components/Sidebar/Menus/parentMenu.js +0 -173
  284. package/src/components/Sidebar/Sidebar.styles.scss +0 -411
  285. package/src/components/Sidebar/actions.js +0 -31
  286. package/src/components/Sidebar/index.js +0 -84
  287. package/src/components/Sidebar/mock.js +0 -202
  288. package/src/components/Slider/Sliders.styles.scss +0 -260
  289. package/src/components/Slider/index.js +0 -314
  290. package/src/components/Stepper/Stepper.styles.scss +0 -355
  291. package/src/components/Stepper/index.js +0 -101
  292. package/src/components/Switch/Switch.styles.scss +0 -96
  293. package/src/components/Switch/index.js +0 -59
  294. package/src/components/Table/AdvanceSearchModalItem.js +0 -392
  295. package/src/components/Table/AdvanceSortModal.js +0 -332
  296. package/src/components/Table/AgGridHeader.js +0 -1009
  297. package/src/components/Table/CommentsPortal.js +0 -428
  298. package/src/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModal.js +0 -323
  299. package/src/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModalItem.js +0 -476
  300. package/src/components/Table/NoComments.js +0 -295
  301. package/src/components/Table/Table.styles.scss +0 -3859
  302. package/src/components/Table/actionBar.js +0 -43
  303. package/src/components/Table/advanceSearchModal.js +0 -797
  304. package/src/components/Table/commentPanel.js +0 -421
  305. package/src/components/Table/filterUtils.js +0 -850
  306. package/src/components/Table/index.js +0 -2175
  307. package/src/components/Table/mockData.js +0 -1344
  308. package/src/components/Table/tableFunctions.js +0 -1676
  309. package/src/components/Table/tableHeader.js +0 -476
  310. package/src/components/Table/tableIcons.js +0 -61
  311. package/src/components/Table/tableMoreOptions.js +0 -293
  312. package/src/components/Table/tablePagination.js +0 -63
  313. package/src/components/Table/tableSettings.js +0 -287
  314. package/src/components/Table/withCommentIcon.js +0 -107
  315. package/src/components/TableChat/EmptyContainer.jsx +0 -13
  316. package/src/components/TableChat/README.md +0 -588
  317. package/src/components/TableChat/TableChatSidePanel.jsx +0 -832
  318. package/src/components/TableChat/TableChatSidePanel.styles.scss +0 -57
  319. package/src/components/TableChat/components/ChatMessageSkeleton/ChatFooterSkeleton.jsx +0 -43
  320. package/src/components/TableChat/components/ChatMessageSkeleton/ChatHeaderSkeleton.jsx +0 -55
  321. package/src/components/TableChat/components/ChatMessageSkeleton/ChatMessageListSkeleton.jsx +0 -94
  322. package/src/components/TableChat/components/ChatMessageSkeleton/ChatSkeleton.jsx +0 -22
  323. package/src/components/TableChat/components/ChatMessageSkeleton/ChatSkeleton.scss +0 -179
  324. package/src/components/TableChat/components/SkeletonList.jsx +0 -12
  325. package/src/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.jsx +0 -171
  326. package/src/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.styles.scss +0 -37
  327. package/src/components/TableChat/components/TableChatLeftSection/ChannelCheckbox/ChannelCheckbox.jsx +0 -28
  328. package/src/components/TableChat/components/TableChatLeftSection/ChatChannelItem.jsx +0 -116
  329. package/src/components/TableChat/components/TableChatLeftSection/ChatChannelList.jsx +0 -89
  330. package/src/components/TableChat/components/TableChatLeftSection/ChatHeaderButton/ChatHeaderButton.jsx +0 -27
  331. package/src/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.jsx +0 -191
  332. package/src/components/TableChat/components/TableChatLeftSection/ChatIconButton/ChatIconButton.jsx +0 -23
  333. package/src/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.jsx +0 -117
  334. package/src/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.styles.scss +0 -469
  335. package/src/components/TableChat/components/TableChatLeftSection/UnreadBadge/UnreadBadge.jsx +0 -16
  336. package/src/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.jsx +0 -119
  337. package/src/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.styles.scss +0 -87
  338. package/src/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.jsx +0 -216
  339. package/src/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.styles.scss +0 -291
  340. package/src/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/ChatDeletedMessageType.jsx +0 -19
  341. package/src/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/DeletedMessage.styles.scss +0 -55
  342. package/src/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.jsx +0 -61
  343. package/src/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.styles.scss +0 -13
  344. package/src/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.jsx +0 -432
  345. package/src/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.jsx +0 -365
  346. package/src/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.jsx +0 -42
  347. package/src/components/TableChat/components/TableChatRightSection/ChatHeader/chatHeader.styles.scss +0 -323
  348. package/src/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.jsx +0 -793
  349. package/src/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.styles.scss +0 -394
  350. package/src/components/TableChat/components/TableChatRightSection/ChatMessageActions/ChatMessageActions.jsx +0 -61
  351. package/src/components/TableChat/components/TableChatRightSection/ChatMessageActions/ChatMessageActions.styles.scss +0 -28
  352. package/src/components/TableChat/components/TableChatRightSection/ChatMessageAvatar/ChatMessageAvatar.jsx +0 -11
  353. package/src/components/TableChat/components/TableChatRightSection/ChatMessageAvatar/ChatMessageAvatar.styles.scss +0 -3
  354. package/src/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.jsx +0 -220
  355. package/src/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.styles.scss +0 -128
  356. package/src/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.jsx +0 -246
  357. package/src/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.styles.scss +0 -210
  358. package/src/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.jsx +0 -52
  359. package/src/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.styles.scss +0 -34
  360. package/src/components/TableChat/components/TableChatRightSection/EmojiPicker/EmojiPicker.jsx +0 -31
  361. package/src/components/TableChat/components/TableChatRightSection/FileUploader/FileUploader.jsx +0 -170
  362. package/src/components/TableChat/components/TableChatRightSection/ImageUploader/ImageUploader.jsx +0 -165
  363. package/src/components/TableChat/components/TableChatRightSection/PinedChatPanel/PinedChat.styles.scss +0 -587
  364. package/src/components/TableChat/components/TableChatRightSection/PinedChatPanel/PinedChatPanel.jsx +0 -244
  365. package/src/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.jsx +0 -29
  366. package/src/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.styles.scss +0 -47
  367. package/src/components/TableChat/components/TableChatRightSection/TableChatRightSection.jsx +0 -1340
  368. package/src/components/TableChat/components/TableChatRightSection/TableChatRightSection.styles.scss +0 -147
  369. package/src/components/TableChat/components/TextEditor/EditorToolbar.jsx +0 -209
  370. package/src/components/TableChat/components/TextEditor/EditorToolbar.styles.scss +0 -61
  371. package/src/components/TableChat/components/TextEditor/Mention.jsx +0 -234
  372. package/src/components/TableChat/components/TextEditor/MentionList.jsx +0 -118
  373. package/src/components/TableChat/components/TextEditor/MentionList.scss +0 -146
  374. package/src/components/TableChat/components/TextEditor/styles.scss +0 -278
  375. package/src/components/TableChat/components/TextEditor/suggestion.js +0 -124
  376. package/src/components/TableChat/components/chatConfig.js +0 -64
  377. package/src/components/TableChat/hooks/useInfiniteScroll.js +0 -256
  378. package/src/components/TableOld/AgGridHeader.js +0 -545
  379. package/src/components/TableOld/Table.styles.scss +0 -2192
  380. package/src/components/TableOld/actionBar.js +0 -43
  381. package/src/components/TableOld/index.js +0 -598
  382. package/src/components/TableOld/mockData.js +0 -1344
  383. package/src/components/TableOld/tableFunctions.js +0 -1734
  384. package/src/components/TableOld/tableHeader.js +0 -251
  385. package/src/components/TableOld/tableIcons.js +0 -61
  386. package/src/components/TableOld/tablePagination.js +0 -64
  387. package/src/components/TableOld/tableSettings.js +0 -166
  388. package/src/components/Tabs/Tabs.styles.scss +0 -120
  389. package/src/components/Tabs/index.js +0 -91
  390. package/src/components/Tabs/tabPanel.js +0 -38
  391. package/src/components/Tag/Tags.styles.scss +0 -71
  392. package/src/components/Tag/filled.js +0 -48
  393. package/src/components/Tag/index.js +0 -54
  394. package/src/components/Tag/solid.js +0 -47
  395. package/src/components/Tag/stroke.js +0 -47
  396. package/src/components/Tag/utils.js +0 -12
  397. package/src/components/TagGroup/TagGroup.styles.scss +0 -7
  398. package/src/components/TagGroup/index.js +0 -6
  399. package/src/components/TextArea/TextArea.styles.scss +0 -158
  400. package/src/components/TextArea/index.js +0 -121
  401. package/src/components/Toast/Toast.styles.scss +0 -66
  402. package/src/components/Toast/index.js +0 -35
  403. package/src/components/Tooltip/Tooltips.styles.scss +0 -111
  404. package/src/components/Tooltip/index.js +0 -68
  405. package/src/components/common/HelperText/HelperText.styles.scss +0 -18
  406. package/src/components/common/HelperText/index.js +0 -44
  407. package/src/components/common/MentionEditor/MentionEditor.styles.scss +0 -301
  408. package/src/components/common/MentionEditor/MentionList/MentionList.styles.scss +0 -146
  409. package/src/components/common/MentionEditor/MentionList/index.js +0 -130
  410. package/src/components/common/MentionEditor/index.js +0 -246
  411. package/src/components/common/MentionEditor/suggestion.js +0 -124
  412. package/src/components/index.js +0 -53
  413. package/src/stories/Accordion.stories.js +0 -151
  414. package/src/stories/AccordionModern.stories.js +0 -263
  415. package/src/stories/Alert.stories.js +0 -103
  416. package/src/stories/Avatar.stories.js +0 -79
  417. package/src/stories/Badge.stories.js +0 -112
  418. package/src/stories/BottomSheet.stories.js +0 -224
  419. package/src/stories/Breadcrumbs.stories.js +0 -143
  420. package/src/stories/Button.stories.js +0 -190
  421. package/src/stories/ButtonGroup.stories.js +0 -123
  422. package/src/stories/Card.stories.js +0 -73
  423. package/src/stories/Changelog.mdx +0 -1006
  424. package/src/stories/Chart.stories.js +0 -2017
  425. package/src/stories/ChatBot.stories.js +0 -668
  426. package/src/stories/Checkbox.stories.js +0 -209
  427. package/src/stories/Chips.stories.js +0 -106
  428. package/src/stories/CreateItemFlow.stories.js +0 -255
  429. package/src/stories/DatePicker.stories.js +0 -311
  430. package/src/stories/DateRangePicker.stories.js +0 -364
  431. package/src/stories/EmptyState.stories.js +0 -110
  432. package/src/stories/FileUpload.stories.js +0 -169
  433. package/src/stories/FilterPanel.stories.js +0 -309
  434. package/src/stories/FiltersStrip.stories.js +0 -244
  435. package/src/stories/GettingStarted.mdx +0 -153
  436. package/src/stories/Header.stories.js +0 -185
  437. package/src/stories/HomePage.stories.js +0 -201
  438. package/src/stories/Input.stories.js +0 -165
  439. package/src/stories/Loader.stories.js +0 -33
  440. package/src/stories/Menu.stories.js +0 -309
  441. package/src/stories/Modal.stories.js +0 -185
  442. package/src/stories/MonthPicker.stories.js +0 -313
  443. package/src/stories/MonthRangePicker.stories.js +0 -255
  444. package/src/stories/Notification.stories.js +0 -500
  445. package/src/stories/Panel.stories.js +0 -179
  446. package/src/stories/Popover.stories.js +0 -125
  447. package/src/stories/ProgressBar.stories.js +0 -93
  448. package/src/stories/Prompt.stories.js +0 -120
  449. package/src/stories/RadioButtonGroup.stories.js +0 -83
  450. package/src/stories/Select.stories.js +0 -753
  451. package/src/stories/Sidebar.stories.js +0 -177
  452. package/src/stories/Slider.stories.js +0 -226
  453. package/src/stories/Stepper.stories.js +0 -158
  454. package/src/stories/Switch.stories.js +0 -72
  455. package/src/stories/Table.stories.js +0 -4323
  456. package/src/stories/TableChat.mdx +0 -992
  457. package/src/stories/TableChat.stories.js +0 -1712
  458. package/src/stories/TableOld.stories.js +0 -954
  459. package/src/stories/Tabs.stories.js +0 -253
  460. package/src/stories/Tag.stories.js +0 -92
  461. package/src/stories/TagGroup.stories.js +0 -39
  462. package/src/stories/TextArea.stories.js +0 -148
  463. package/src/stories/Toast.stories.js +0 -113
  464. package/src/stories/Tooltip.stories.js +0 -86
  465. package/src/stories/storybookLinks.mdx +0 -20
@@ -1,343 +0,0 @@
1
- @import "../../styles/index.scss";
2
-
3
- .impact-info-panel-container {
4
- position: relative;
5
- font-family: $fontFamily;
6
- display: flex;
7
- flex-direction: row;
8
- justify-content: space-between;
9
- align-items: center;
10
- gap: 12px;
11
- height: 48px;
12
- width: 100%;
13
- padding: 8px 24px;
14
- background-color: $whiteColor;
15
-
16
- .impact-info-panel-left-container {
17
- flex: 1 1 auto;
18
- min-width: 0;
19
- display: flex;
20
- flex-direction: row;
21
- justify-content: space-between;
22
- align-items: center;
23
- gap: 12px;
24
-
25
- .impact-filter-dropdown-container {
26
- flex-shrink: 0;
27
- display: flex;
28
- flex-direction: row;
29
- justify-content: space-between;
30
- align-items: center;
31
- gap: 8px;
32
-
33
- .MuiChip-root.impact_badges_only_label_stroke {
34
- max-width: 145px;
35
- }
36
- // border: 1px solid blue;
37
-
38
- .impact-filter-dropdown-label {
39
- font-family: $fontFamily;
40
- font-size: $normalFontSize;
41
- font-weight: $normalFontWeight;
42
- line-height: 21px;
43
- color: $textButtonFontColor;
44
- }
45
-
46
- .impact-filter-dropdown-button {
47
- display: flex;
48
- justify-content: center;
49
- align-items: center;
50
- height: 32px;
51
- width: 32px;
52
- padding: 8px;
53
- border-radius: 8px;
54
- background-color: $textButtonPrimaryBg;
55
- transition: transform 0.2s ease;
56
-
57
- &:hover {
58
- cursor: pointer;
59
- }
60
-
61
- & svg {
62
- width: 20px;
63
- height: 20px;
64
- color: $mainFontColor;
65
- }
66
- }
67
- .impact-filter-dropdown-wrapper {
68
- position: absolute;
69
- top: 54px;
70
- left: 0px;
71
- min-width: 265px;
72
- border-radius: 8px;
73
- padding: 8px 6px;
74
- background-color: $whiteColor;
75
- z-index: 1200;
76
- box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.12);
77
-
78
- .impact-filter-dropdown-recent-container {
79
- display: flex;
80
- flex-direction: column;
81
- .impact-filter-dropdown-label {
82
- font-family: $fontFamily;
83
- font-size: $smallFontSize;
84
- font-weight: $normalFontWeight;
85
- line-height: 21px;
86
- color: $textButtonFontColor;
87
- padding: 6px 18px;
88
- }
89
-
90
- .impact-filter-dropdown-recent-filters-wrapper {
91
- display: flex;
92
- flex-direction: column;
93
- margin-bottom: 6px;
94
- .impact-filter-dropdown-recent-filters {
95
- display: flex;
96
- flex-direction: row;
97
- padding: 8px 18px;
98
- border-radius: 8px;
99
-
100
- &:hover {
101
- cursor: pointer;
102
- background-color: #edf0ff;
103
- }
104
-
105
- span {
106
- font-family: $fontFamily;
107
- font-size: $normalFontSize;
108
- font-weight: $normalFontWeight;
109
- line-height: 20px;
110
- color: $mainFontColor;
111
- }
112
- }
113
- }
114
- }
115
-
116
- .impact-filter-dropdown-saved-container {
117
- display: flex;
118
- flex-direction: column;
119
- .impact-filter-dropdown-label {
120
- font-family: $fontFamily;
121
- font-size: $smallFontSize;
122
- font-weight: $normalFontWeight;
123
- line-height: 21px;
124
- color: $textButtonFontColor;
125
- padding: 6px 18px;
126
- }
127
-
128
- .impact-filter-dropdown-saved-filters-badge-wrapper {
129
- display: flex;
130
- flex-direction: row;
131
- gap: 6px;
132
- padding: 8px 18px;
133
- .MuiChip-root.impact_badges_only_label_stroke {
134
- cursor: pointer;
135
- }
136
- }
137
-
138
- .impact-filter-dropdown-saved-filters-no-data-text {
139
- display: flex;
140
- justify-content: center;
141
- align-items: center;
142
- font-family: $fontFamily;
143
- font-size: $normalFontSize;
144
- font-weight: 400;
145
- line-height: 20px;
146
- color: $inputInfoColor;
147
- margin: 24px 0;
148
- }
149
-
150
- .impact-filter-dropdown-saved-filters-search-wrapper {
151
- padding: 8px 18px;
152
-
153
- .impact-input-wrapper {
154
- min-width: 100% !important;
155
- border: none !important;
156
- padding-left: 0;
157
- }
158
- }
159
-
160
- .impact-filter-dropdown-saved-filters-lists-wrapper {
161
- display: flex;
162
- flex-direction: column;
163
- max-height: 160px;
164
- overflow: auto;
165
-
166
- .impact-filter-dropdown-saved-filters-list {
167
- font-family: $fontFamily;
168
- font-size: $normalFontSize;
169
- font-weight: $normalFontWeight;
170
- line-height: 20px;
171
- color: $mainFontColor;
172
- padding: 8px 18px;
173
- border-radius: 8px;
174
- margin-bottom: 4px;
175
-
176
- &:hover {
177
- cursor: pointer;
178
- background-color: $textButtonPrimaryBg;
179
- }
180
- }
181
- }
182
-
183
- .filter-dropdown-selected-list {
184
- background-color: #edf0ff;
185
- }
186
- }
187
-
188
- .impact-filter-dropdown-action-wrapper {
189
- display: flex;
190
- flex-direction: column;
191
- gap: 8px;
192
-
193
- .impact-filter-dropdown-action-btns {
194
- display: flex;
195
- flex-direction: row;
196
- justify-content: flex-end;
197
- gap: 8px;
198
- padding: 0px 18px;
199
- }
200
- }
201
- }
202
- }
203
-
204
- .impact-selected-filter-container {
205
- display: flex;
206
- flex-direction: row;
207
- justify-content: space-between;
208
- align-items: center;
209
- gap: 16px;
210
- width: 100%;
211
- min-width: 0;
212
-
213
- .impact-selected-filter-tags {
214
- flex: 1 1 0;
215
- min-width: 0;
216
- display: flex;
217
- flex-direction: row;
218
- align-items: center;
219
- gap: 12px;
220
- max-width: 100%;
221
- overflow: hidden;
222
- // border: 1px solid salmon;
223
-
224
- .impact-selected-filter-wrapper {
225
- position: relative;
226
- flex-shrink: 0;
227
- display: flex;
228
- flex-direction: row;
229
- gap: 0px;
230
- align-items: center;
231
- transition: transform 0.5s ease-in-out;
232
- .impact-selected-filter-label {
233
- font-family: $fontFamily;
234
- font-size: $smallFontSize;
235
- font-weight: $normalFontWeight;
236
- line-height: 21px;
237
- color: $textButtonFontColor;
238
- padding-right: 4px;
239
- }
240
-
241
- .impact-selected-filter-tags-container {
242
- display: flex;
243
- flex-direction: row;
244
- gap: 4px;
245
- align-items: center;
246
- }
247
-
248
- .impact-filter-strip-separator {
249
- margin-right: 8px;
250
- }
251
- }
252
- }
253
-
254
- .impact-selected-filter-action-btns {
255
- display: flex;
256
- flex-direction: row;
257
- align-items: center;
258
- gap: 4px;
259
-
260
- .impact-selected-filter-action-btn {
261
- display: flex;
262
- justify-content: center;
263
- align-items: center;
264
- padding: 8px 4px;
265
- cursor: pointer;
266
- background-color: #f5f6fa;
267
-
268
- svg {
269
- font-size: 18px;
270
- color: #60697d;
271
- }
272
- }
273
-
274
- .prev {
275
- border-top-left-radius: 4px;
276
- border-bottom-left-radius: 4px;
277
- }
278
-
279
- .next {
280
- border-top-right-radius: 4px;
281
- border-bottom-right-radius: 4px;
282
- }
283
- }
284
- }
285
- }
286
-
287
- .impact-info-panel-right-container {
288
- flex-shrink: 0;
289
- display: flex;
290
- flex-direction: row;
291
- gap: 12px;
292
- align-items: center;
293
- }
294
-
295
- .impact-filter-strip-separator {
296
- display: inline-block;
297
- height: 16px;
298
- width: 1px;
299
- background-color: $disabledSecondaryBorder;
300
- }
301
- }
302
-
303
- // for portal
304
- .impact-selected-filter-tags-dropdown {
305
- position: absolute;
306
- top: 45px;
307
- right: 0px;
308
- padding: 8px 6px;
309
- border-radius: 8px;
310
- background-color: #fff;
311
- box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.12);
312
- max-width: 200px;
313
- width: 100%;
314
- z-index: 1200;
315
-
316
- .impact-selected-filter-tag-container {
317
- display: flex;
318
- flex-direction: column;
319
- gap: 4px;
320
- margin-bottom: 8px;
321
- }
322
-
323
- .impact-selected-filter-tag-label {
324
- font-family: $fontFamily;
325
- font-size: $normalFontSize;
326
- font-weight: $normalFontWeight;
327
- line-height: 20px;
328
- color: $mainFontColor;
329
- padding: 8px 18px;
330
- overflow: hidden;
331
- text-overflow: ellipsis;
332
- white-space: nowrap;
333
- }
334
-
335
- .impact-selected-filter-tags-actions-container {
336
- display: flex;
337
- flex-direction: column;
338
- gap: 8px;
339
- .ia-styles.ia-btn {
340
- width: 100%;
341
- }
342
- }
343
- }
@@ -1,85 +0,0 @@
1
- @import "../../../styles/index.scss";
2
- .impact-selected-filter-container {
3
- display: flex;
4
- flex-direction: row;
5
- justify-content: space-between;
6
- align-items: center;
7
- gap: 8px;
8
-
9
- .impact-selected-filter-tags {
10
- flex: 1 1 0;
11
- min-width: 0;
12
- display: flex;
13
- flex-direction: row;
14
- align-items: center;
15
- gap: 8px;
16
- max-width: 100%;
17
- overflow: scroll;
18
- scrollbar-width: none;
19
-
20
- .impact-selected-filter-wrapper {
21
- position: relative;
22
- flex-shrink: 0;
23
- display: flex;
24
- flex-direction: row;
25
- gap: 6px;
26
- align-items: center;
27
- transition: transform 0.5s ease-in-out;
28
- .impact-selected-filter-label {
29
- font-family: $fontFamily;
30
- font-size: $smallFontSize;
31
- font-weight: $normalFontWeight;
32
- line-height: 21px;
33
- color: $textButtonFontColor;
34
- }
35
-
36
- .impact-selected-filter-tags-container {
37
- display: flex;
38
- flex-direction: row;
39
- gap: 4px;
40
- align-items: center;
41
- }
42
- }
43
- }
44
-
45
- .collapsed {
46
- overflow: hidden;
47
- }
48
-
49
- .impact-selected-filter-action-btns {
50
- display: flex;
51
- flex-direction: row;
52
- align-items: center;
53
- gap: 4px;
54
-
55
- .impact-selected-filter-action-btn {
56
- display: flex;
57
- justify-content: center;
58
- align-items: center;
59
- padding: 8px 4px;
60
- cursor: pointer;
61
- background-color: #f5f6fa;
62
-
63
- svg {
64
- font-size: 18px;
65
- color: #60697d;
66
- }
67
- }
68
-
69
- .prev {
70
- border-top-left-radius: 4px;
71
- border-bottom-left-radius: 4px;
72
- }
73
-
74
- .next {
75
- border-top-right-radius: 4px;
76
- border-bottom-right-radius: 4px;
77
- }
78
-
79
- .expand {
80
- font-size: 14px;
81
- color: $textButtonFontColor;
82
- border-radius: 8px;
83
- }
84
- }
85
- }
@@ -1,59 +0,0 @@
1
- import { Button } from "../../Button";
2
- import React from "react";
3
- import Portal from "../../Portal";
4
-
5
- const PortalDropDown = (props) => {
6
- const {
7
- filtersContainer,
8
- index,
9
- tags,
10
- showButton,
11
- tag,
12
- viewAllAction,
13
- position,
14
- } = props;
15
-
16
- if (!filtersContainer) return null;
17
- return (
18
- <Portal container={document.body}>
19
- <div
20
- className="impact-selected-filter-tags-dropdown"
21
- style={{
22
- top: position.y + 18,
23
- // this 200 is max width of the dropdown
24
- left:
25
- position.width > 200
26
- ? position.x - 200
27
- : position.x - position.width,
28
- width: position.width + "px",
29
- }}
30
- >
31
- <div className="impact-selected-filter-tag-container">
32
- {tags.map((tag, index) => {
33
- return (
34
- <div key={index} className="impact-selected-filter-tag-label">
35
- {tag.label}
36
- </div>
37
- );
38
- })}
39
- </div>
40
- {showButton && (
41
- <div className="impact-selected-filter-tags-actions-container">
42
- <div className="impact-notification-horizontal-separator" />
43
- <Button
44
- className=""
45
- iconPlacement="left"
46
- onClick={() => viewAllAction(tag)}
47
- size="large"
48
- variant="text"
49
- >
50
- {`View all (${tag.values.length})`}
51
- </Button>
52
- </div>
53
- )}
54
- </div>
55
- </Portal>
56
- );
57
- };
58
-
59
- export default PortalDropDown;
@@ -1,233 +0,0 @@
1
- import React, {
2
- Fragment,
3
- useCallback,
4
- useEffect,
5
- useLayoutEffect,
6
- useRef,
7
- useState,
8
- } from "react";
9
- import "./FilterSlider.styles.scss";
10
- import KeyboardArrowLeftIcon from "@mui/icons-material/KeyboardArrowLeft";
11
- import KeyboardArrowRightIcon from "@mui/icons-material/KeyboardArrowRight";
12
- import ChevronRightOutlinedIcon from "@mui/icons-material/ChevronRightOutlined";
13
- import CloseOutlinedIcon from "@mui/icons-material/CloseOutlined";
14
- import PortalDropDown from "./Portal";
15
-
16
- export default function FilterSlider({
17
- list,
18
- width,
19
- isExpanded = true,
20
- handleExpandClick,
21
- tagsChildren,
22
- containerChildren,
23
- setShowSeparator,
24
- onNextClick,
25
- onPrevClick,
26
- currDropShow,
27
- handleClickOutside = () => {},
28
- }) {
29
- const [overFlow, setOverFlow] = useState(false);
30
- const [currCount, setCurrCount] = useState(0);
31
- const [translateX, setTranslateX] = useState(0);
32
- const [maxTranslateX, setMaxTranslateX] = useState(0);
33
- const [dropdownPosition, setDropdownPosition] = useState({
34
- x: 0,
35
- y: 0,
36
- width: 200,
37
- });
38
- const [canScrollLeft, setCanScrollLeft] = useState(false);
39
- const [canScrollRight, setCanScrollRight] = useState(false);
40
- const tagContainer = useRef(null);
41
- const filtersContainer = useRef([]);
42
- const prevItemWidth = useRef(0);
43
- const prevCount = useRef(currCount);
44
- const memoizedHandleClickOutside = useCallback(handleClickOutside, []);
45
-
46
- const handleCloseClick = () => {
47
- setCurrCount(0);
48
- setTranslateX(0);
49
- if (handleExpandClick) handleExpandClick();
50
- };
51
- useLayoutEffect(() => {
52
- if (tagContainer.current) {
53
- const container = tagContainer.current;
54
- setOverFlow(container.scrollWidth > container.clientWidth);
55
- if (setShowSeparator) {
56
- setShowSeparator(container.scrollWidth > container.clientWidth);
57
- }
58
- }
59
- }, [tagContainer, list]);
60
-
61
- useLayoutEffect(() => {
62
- const container = tagContainer.current;
63
- if (!container) return;
64
-
65
- const checkScroll = () => {
66
- const maxScroll = container.scrollWidth - container.clientWidth;
67
- const currentScroll = container.scrollLeft;
68
- setCanScrollLeft(currentScroll > 0);
69
- setCanScrollRight(currentScroll < maxScroll - 1); // margin for precision
70
- setOverFlow(maxScroll > 0);
71
- if (setShowSeparator) setShowSeparator(maxScroll > 0);
72
- };
73
-
74
- // Run once immediately
75
- requestAnimationFrame(checkScroll);
76
-
77
- // Hook scroll + resize
78
- container.addEventListener("scroll", checkScroll);
79
- const resizeObserver = new ResizeObserver(checkScroll);
80
- resizeObserver.observe(container);
81
-
82
- return () => {
83
- container.removeEventListener("scroll", checkScroll);
84
- resizeObserver.disconnect();
85
- };
86
- }, [list, setShowSeparator]);
87
-
88
- useLayoutEffect(() => {
89
- if (filtersContainer.current[currCount]) {
90
- const itemWidth = filtersContainer.current[currCount].offsetWidth;
91
- let newTranslateX = translateX;
92
-
93
- if (currCount > prevCount.current) {
94
- newTranslateX += itemWidth;
95
- } else if (currCount < prevCount.current) {
96
- newTranslateX -= prevItemWidth.current;
97
- }
98
-
99
- newTranslateX = Math.min(newTranslateX, maxTranslateX);
100
- newTranslateX = Math.max(newTranslateX, 0);
101
-
102
- setTranslateX(newTranslateX);
103
- prevItemWidth.current = itemWidth;
104
- prevCount.current = currCount;
105
- }
106
- }, [currCount, maxTranslateX]);
107
-
108
- useEffect(() => {
109
- const handleMouseDown = (event) => {
110
- memoizedHandleClickOutside(event);
111
- };
112
- document.addEventListener("mousedown", handleMouseDown);
113
- return () => {
114
- document.removeEventListener("mousedown", handleMouseDown);
115
- };
116
- }, [memoizedHandleClickOutside]);
117
-
118
- const scrollAmount = 200; // or calculate based on tag average
119
-
120
- const handleNextClick = () => {
121
- if (onNextClick) onNextClick();
122
- if (!tagContainer.current) return;
123
- tagContainer.current.scrollBy({ left: scrollAmount, behavior: "smooth" });
124
- };
125
-
126
- const handlePrevClick = () => {
127
- if (onPrevClick) onPrevClick();
128
- if (!tagContainer.current) return;
129
- tagContainer.current.scrollBy({ left: -scrollAmount, behavior: "smooth" });
130
- };
131
-
132
- const handleTagClick = (index) => {
133
- if (filtersContainer.current[index]) {
134
- const rect = filtersContainer.current[index].getBoundingClientRect();
135
- setDropdownPosition({
136
- x: rect.right + window.scrollX,
137
- y: rect.bottom + window.scrollY,
138
- width: rect.width,
139
- });
140
- }
141
- };
142
-
143
- if (!Array.isArray(list)) return null;
144
- return (
145
- <div
146
- className="impact-selected-filter-container"
147
- style={{ width: width ? width : "100%" }}
148
- >
149
- <div
150
- className={`impact-selected-filter-tags ${!isExpanded && "collapsed"}`}
151
- ref={tagContainer}
152
- >
153
- {Array.isArray(list) &&
154
- list.map((item, index) => {
155
- return (
156
- <div
157
- className="impact-selected-filter-wrapper"
158
- key={item.id}
159
- style={{
160
- transform: `translateX(-${translateX}px)`,
161
- }}
162
- ref={(el) => {
163
- if (el) {
164
- filtersContainer.current[index] = el; // Dynamically assign each ref
165
- }
166
- }}
167
- onClick={() => handleTagClick(index)}
168
- >
169
- {containerChildren ? containerChildren(item, index) : null}
170
- <div className="impact-selected-filter-tags-container">
171
- {tagsChildren ? tagsChildren(item, index) : null}
172
- </div>
173
- {currDropShow === index && (
174
- <PortalDropDown
175
- tags={item?.values.slice(2, 5)}
176
- filtersContainer={filtersContainer}
177
- index={index}
178
- showButton={item.values.length > 6}
179
- tag={item}
180
- viewAllAction={item.handleViewAll}
181
- position={dropdownPosition}
182
- />
183
- )}
184
- </div>
185
- );
186
- })}
187
- </div>
188
- {overFlow && list.length > 2 ? (
189
- <div className="impact-selected-filter-action-btns">
190
- {isExpanded ? (
191
- <Fragment>
192
- <div
193
- className="impact-selected-filter-action-btn prev"
194
- role="button"
195
- style={{ opacity: canScrollLeft ? 1 : 0.5 }}
196
- onClick={handlePrevClick}
197
- >
198
- <KeyboardArrowLeftIcon />
199
- </div>
200
- <div
201
- className="impact-selected-filter-action-btn next"
202
- role="button"
203
- style={{ opacity: canScrollRight ? 1 : 0.5 }}
204
- onClick={handleNextClick}
205
- >
206
- <KeyboardArrowRightIcon />
207
- </div>
208
- {handleExpandClick && (
209
- <div
210
- className="impact-selected-filter-action-btn next"
211
- role="button"
212
- style={{ opacity: currCount === list.length ? "0.5" : 1 }}
213
- onClick={handleCloseClick}
214
- >
215
- <CloseOutlinedIcon fontSize="small" />
216
- </div>
217
- )}
218
- </Fragment>
219
- ) : (
220
- <div
221
- className="impact-selected-filter-action-btn expand"
222
- role="button"
223
- style={{ opacity: currCount === list.length ? "0.5" : 1 }}
224
- onClick={handleExpandClick}
225
- >
226
- <p>{"+" + list.length}</p> <ChevronRightOutlinedIcon />
227
- </div>
228
- )}
229
- </div>
230
- ) : null}
231
- </div>
232
- );
233
- }