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.
- package/MIGRATION_GUIDE.md +328 -0
- package/README.md +154 -15
- package/bin/migrate-image-paths.cjs +127 -0
- package/bin/migrate.js +293 -0
- package/codemods/component-map.js +153 -0
- package/codemods/image-paths-transform.js +69 -0
- package/codemods/transform.js +136 -0
- package/dist/components/Accordion/index.js +2 -1
- package/dist/components/AccordionModern/index.js +2 -1
- package/dist/components/Alert/index.js +2 -1
- package/dist/components/Avatar/index.js +2 -1
- package/dist/components/Badge/filled/filledIconLabelBadges/index.js +2 -1
- package/dist/components/Badge/filled/filledOnlyIconBadges/index.js +2 -1
- package/dist/components/Badge/filled/filledOnlyLabelBadges/index.js +2 -1
- package/dist/components/Badge/index.js +3 -2
- package/dist/components/Badge/stroke/strokeIconLabelBadges/index.js +2 -1
- package/dist/components/Badge/stroke/strokeOnlyIconBadges/index.js +2 -1
- package/dist/components/Badge/stroke/strokeOnlyLabelBadges/index.js +2 -1
- package/dist/components/Badge/subtle/subtleIOnlyIconBadges/index.js +2 -1
- package/dist/components/Badge/subtle/subtleIconLabelBadges/index.js +2 -1
- package/dist/components/Badge/subtle/subtleOnlyLabelBadges/index.js +2 -1
- package/dist/components/BottomSheet/index.js +2 -1
- package/dist/components/Breadcrumbs/index.js +2 -1
- package/dist/components/Button/index.js +2 -1
- package/dist/components/ButtonGroup/index.js +2 -1
- package/dist/components/Card/index.js +2 -1
- package/dist/components/Chart/index.js +2 -1
- package/dist/components/Chatbot/index.js +2 -1
- package/dist/components/Checkbox/index.js +2 -1
- package/dist/components/Chips/index.js +2 -1
- package/dist/components/CreateItemFlow/index.js +2 -1
- package/dist/components/DatePicker/datePickerDropdown.js +2 -1
- package/dist/components/DatePicker/index.js +3 -2
- package/dist/components/DateRangePicker/dateRangePickerDropdown.js +2 -1
- package/dist/components/DateRangePicker/index.js +3 -2
- package/dist/components/DynamicLayout/index.js +2 -1
- package/dist/components/EmptyState/EmptyStateImage.d.ts.map +1 -1
- package/dist/components/EmptyState/EmptyStateImage.js +3 -2
- package/dist/components/EmptyState/index.js +2 -1
- package/dist/components/FileUpload/index.js +2 -1
- package/dist/components/FilterPanel/index.js +2 -1
- package/dist/components/FiltersStrip/index.js +2 -1
- package/dist/components/Header/index.js +2 -1
- package/dist/components/HomePage/index.js +2 -1
- package/dist/components/Input/index.js +2 -1
- package/dist/components/Loader/index.js +2 -1
- package/dist/components/Menu/IconMenuItem.js +2 -1
- package/dist/components/Menu/MenuHeaderInfo.js +2 -1
- package/dist/components/Menu/NestedMenuItem.js +2 -1
- package/dist/components/Menu/index.js +2 -1
- package/dist/components/Menu/nestedMenuItemsFromObject.js +2 -1
- package/dist/components/Modal/index.js +2 -1
- package/dist/components/Notification/NotificationBody/NotificationList/NotificationList.js +2 -1
- package/dist/components/Notification/index.js +2 -1
- package/dist/components/Panel/index.js +2 -1
- package/dist/components/Popover/index.js +2 -1
- package/dist/components/ProgressBar/index.js +2 -1
- package/dist/components/Prompt/index.js +2 -1
- package/dist/components/RadioButtonGroup/index.js +2 -1
- package/dist/components/Select/index.js +2 -1
- package/dist/components/Sidebar/index.js +2 -1
- package/dist/components/Slider/index.js +2 -1
- package/dist/components/Stepper/index.js +2 -1
- package/dist/components/Switch/index.js +2 -1
- package/dist/components/Table/TableImpl.js +4 -3
- package/dist/components/TableChat/EmptyContainer.js +2 -1
- package/dist/components/TableChat/TableChatSidePanel.js +2 -1
- package/dist/components/TableChat/components/ChatMessageSkeleton/ChatFooterSkeleton.js +2 -1
- package/dist/components/TableChat/components/ChatMessageSkeleton/ChatHeaderSkeleton.js +2 -1
- package/dist/components/TableChat/components/ChatMessageSkeleton/ChatMessageListSkeleton.js +2 -1
- package/dist/components/TableChat/components/ChatMessageSkeleton/ChatSkeleton.js +2 -1
- package/dist/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.js +2 -1
- package/dist/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/ChatDeletedMessageType.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessageAvatar/ChatMessageAvatar.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/PinedChatPanel/PinedChatPanel.js +2 -1
- package/dist/components/TableChat/components/TableChatRightSection/TableChatRightSection.js +2 -1
- package/dist/components/TableChat/components/TextEditor/EditorToolbar.js +2 -1
- package/dist/components/TableChat/components/TextEditor/Mention.js +2 -1
- package/dist/components/TableChat/components/TextEditor/MentionList.js +2 -1
- package/dist/components/Tabs/index.js +2 -1
- package/dist/components/Tag/index.js +2 -1
- package/dist/components/TagGroup/index.js +2 -1
- package/dist/components/TextArea/index.js +2 -1
- package/dist/components/Toast/index.js +2 -1
- package/dist/components/Tooltip/index.js +2 -1
- package/dist/components/common/HelperText/index.js +2 -1
- package/dist/components/index.d.ts +0 -1
- package/dist/components/index.d.ts.map +1 -1
- package/dist/components/index.js +0 -1
- package/dist/mcp-component-registry.json +1 -1
- package/dist/styles/entry.d.ts +2 -0
- package/dist/styles/entry.d.ts.map +1 -0
- package/dist/styles/entry.js +1 -0
- package/dist/styles/style.css +1 -1
- package/eslint-plugin/index.js +91 -0
- package/eslint-plugin/rules/no-barrel-import.js +224 -0
- package/package.json +153 -89
- package/dist/0db32db10ae1525f.svg +0 -9
- package/dist/2bc76319b1fa572e.svg +0 -9
- package/dist/39d49e4daed1a992.svg +0 -9
- package/dist/44beedf64dc29d19.svg +0 -9
- package/dist/49a4f914058314f1.svg +0 -9
- package/dist/6fc8a59d621a04a1.svg +0 -13
- package/dist/78f845dcfc981491.svg +0 -9
- package/dist/b31c0c2a19c1c19a.svg +0 -9
- package/dist/index.js +0 -308
- package/dist/index.js.map +0 -1
- package/src/components/Accordion/Accordion.styles.scss +0 -118
- package/src/components/Accordion/index.js +0 -104
- package/src/components/AccordionModern/AccordionModern.styles.scss +0 -121
- package/src/components/AccordionModern/SortableAccordionComp.js +0 -156
- package/src/components/AccordionModern/index.js +0 -103
- package/src/components/Alert/Alert.styles.scss +0 -131
- package/src/components/Alert/index.js +0 -71
- package/src/components/Avatar/Avatar.styles.scss +0 -25
- package/src/components/Avatar/index.js +0 -58
- package/src/components/Badge/Badges.style.scss +0 -55
- package/src/components/Badge/filled/filledIconLabelBadges/filledIconLabelBadges.styles.scss +0 -32
- package/src/components/Badge/filled/filledIconLabelBadges/index.js +0 -38
- package/src/components/Badge/filled/filledOnlyIconBadges/filledOnlyIconBadges.styles.scss +0 -26
- package/src/components/Badge/filled/filledOnlyIconBadges/index.js +0 -31
- package/src/components/Badge/filled/filledOnlyLabelBadges/filledOnlyLabelBadges.styles.scss +0 -66
- package/src/components/Badge/filled/filledOnlyLabelBadges/index.js +0 -31
- package/src/components/Badge/filled/index.js +0 -30
- package/src/components/Badge/index.js +0 -53
- package/src/components/Badge/stroke/index.js +0 -43
- package/src/components/Badge/stroke/strokeIconLabelBadges/index.js +0 -38
- package/src/components/Badge/stroke/strokeIconLabelBadges/strokeIconLabelBadges.styles.scss +0 -33
- package/src/components/Badge/stroke/strokeOnlyIconBadges/index.js +0 -31
- package/src/components/Badge/stroke/strokeOnlyIconBadges/strokeOnlyIconBadges.styles.scss +0 -27
- package/src/components/Badge/stroke/strokeOnlyLabelBadges/index.js +0 -31
- package/src/components/Badge/stroke/strokeOnlyLabelBadges/strokeOnlyLabelBadges.styles.scss +0 -89
- package/src/components/Badge/styles.css +0 -52
- package/src/components/Badge/subtle/index.js +0 -41
- package/src/components/Badge/subtle/subtleIOnlyIconBadges/index.js +0 -31
- package/src/components/Badge/subtle/subtleIOnlyIconBadges/subtleIOnlyIconBadges.scss +0 -26
- package/src/components/Badge/subtle/subtleIconLabelBadges/index.js +0 -38
- package/src/components/Badge/subtle/subtleIconLabelBadges/subtleIconLabelBadges.scss +0 -56
- package/src/components/Badge/subtle/subtleOnlyLabelBadges/index.js +0 -31
- package/src/components/Badge/subtle/subtleOnlyLabelBadges/subtleOnlyLabelBadges.scss +0 -70
- package/src/components/BottomSheet/BottomSheet.styles.scss +0 -46
- package/src/components/BottomSheet/index.js +0 -60
- package/src/components/Breadcrumbs/Breadcrumbs.styles.scss +0 -65
- package/src/components/Breadcrumbs/index.js +0 -121
- package/src/components/Button/Button.styles.scss +0 -345
- package/src/components/Button/index.js +0 -171
- package/src/components/ButtonGroup/ButtonGroup.styles.scss +0 -125
- package/src/components/ButtonGroup/index.js +0 -84
- package/src/components/Card/Card.styles.scss +0 -33
- package/src/components/Card/index.js +0 -21
- package/src/components/Chart/Chart.style.scss +0 -142
- package/src/components/Chart/index.js +0 -752
- package/src/components/ChatBot/bookMarkPanel.js +0 -74
- package/src/components/ChatBot/chatBot.style.scss +0 -1295
- package/src/components/ChatBot/chatBotFooter.js +0 -14
- package/src/components/ChatBot/chatBotLandingScreen.js +0 -26
- package/src/components/ChatBot/chatInput.js +0 -206
- package/src/components/ChatBot/chatbotModuleMenu.js +0 -278
- package/src/components/ChatBot/constant.js +0 -32
- package/src/components/ChatBot/conversationScreen.js +0 -281
- package/src/components/ChatBot/customScreen.js +0 -69
- package/src/components/ChatBot/historyPanel.js +0 -579
- package/src/components/ChatBot/index.js +0 -473
- package/src/components/ChatBot/newChatComponent.js +0 -105
- package/src/components/ChatBot/utils.js +0 -27
- package/src/components/Checkbox/Checkbox.styles.scss +0 -232
- package/src/components/Checkbox/dashed/index.js +0 -34
- package/src/components/Checkbox/default/index.js +0 -70
- package/src/components/Checkbox/index.js +0 -50
- package/src/components/Checkbox/withDropDown/index.js +0 -96
- package/src/components/Checkbox/withoutFormLabel/index.js +0 -46
- package/src/components/Chips/Chip.style.scss +0 -134
- package/src/components/Chips/index.js +0 -34
- package/src/components/CreateItemFlow/CreateItemFlow.styles.scss +0 -37
- package/src/components/CreateItemFlow/index.js +0 -145
- package/src/components/DatePicker/DatePicker.styles.scss +0 -519
- package/src/components/DatePicker/datePickerDropdown.js +0 -282
- package/src/components/DatePicker/datePickerFooter.js +0 -76
- package/src/components/DatePicker/datePickerInput.js +0 -333
- package/src/components/DatePicker/index.js +0 -288
- package/src/components/DatePicker/showMonthYearSelect.js +0 -119
- package/src/components/DateRangePicker/DateRangePicker.styles.scss +0 -635
- package/src/components/DateRangePicker/dateRangePickerCustom.js +0 -22
- package/src/components/DateRangePicker/dateRangePickerDropdown.js +0 -320
- package/src/components/DateRangePicker/dateRangePickerFooter.js +0 -50
- package/src/components/DateRangePicker/dateRangePickerInput.js +0 -544
- package/src/components/DateRangePicker/index.js +0 -393
- package/src/components/DateRangePicker/showMonthYearSelect.js +0 -103
- package/src/components/DateRangePicker/utils.js +0 -71
- package/src/components/DynamicLayout/DynamicLayout.styles.scss +0 -153
- package/src/components/DynamicLayout/index.js +0 -73
- package/src/components/EmptyState/EmptyState.styles.scss +0 -88
- package/src/components/EmptyState/EmptyStateImageComponent.jsx +0 -36
- package/src/components/EmptyState/index.js +0 -54
- package/src/components/FileUpload/FileUpload.styles.scss +0 -449
- package/src/components/FileUpload/index.js +0 -641
- package/src/components/FilterPanel/FilterPanel.styles.scss +0 -241
- package/src/components/FilterPanel/FilterPanelHeader.js +0 -15
- package/src/components/FilterPanel/PanelFooter.js +0 -65
- package/src/components/FilterPanel/PanelSidebar.js +0 -85
- package/src/components/FilterPanel/index.js +0 -147
- package/src/components/FiltersStrip/FiltersStrip.styles.scss +0 -343
- package/src/components/FiltersStrip/Slider/FilterSlider.styles.scss +0 -85
- package/src/components/FiltersStrip/Slider/Portal.js +0 -59
- package/src/components/FiltersStrip/Slider/index.js +0 -233
- package/src/components/FiltersStrip/appliedFilter.js +0 -180
- package/src/components/FiltersStrip/filterDropDown.js +0 -96
- package/src/components/FiltersStrip/index.js +0 -127
- package/src/components/FiltersStrip/mockData.js +0 -227
- package/src/components/Header/Header.styles.scss +0 -223
- package/src/components/Header/index.js +0 -156
- package/src/components/HomePage/HomePage.styles.scss +0 -1638
- package/src/components/HomePage/constant.js +0 -331
- package/src/components/HomePage/index.js +0 -675
- package/src/components/Input/Input.styles.scss +0 -318
- package/src/components/Input/helperText.js +0 -19
- package/src/components/Input/index.js +0 -60
- package/src/components/Input/inputWithIcon.js +0 -134
- package/src/components/Input/vanilaInput.js +0 -68
- package/src/components/Loader/Loader.styles.scss +0 -90
- package/src/components/Loader/index.js +0 -69
- package/src/components/Menu/IconMenuItem.js +0 -100
- package/src/components/Menu/Menu.styles.scss +0 -190
- package/src/components/Menu/MenuHeader.jsx +0 -84
- package/src/components/Menu/MenuHeaderInfo.jsx +0 -319
- package/src/components/Menu/MenuHeaderInfo.styles.scss +0 -123
- package/src/components/Menu/NestedMenuItem.js +0 -189
- package/src/components/Menu/index.js +0 -254
- package/src/components/Menu/nestedMenuItemsFromObject.js +0 -100
- package/src/components/Modal/Modal.styles.scss +0 -129
- package/src/components/Modal/index.js +0 -141
- package/src/components/MonthPicker/MonthPicker.styles.scss +0 -255
- package/src/components/MonthPicker/constant.js +0 -1
- package/src/components/MonthPicker/index.js +0 -373
- package/src/components/MonthRangePicker/MonthRangePicker.styles.scss +0 -383
- package/src/components/MonthRangePicker/constant.js +0 -1
- package/src/components/MonthRangePicker/index.js +0 -574
- package/src/components/Notification/Notification.styles.scss +0 -594
- package/src/components/Notification/NotificationBody/NotificationInfoList/chipsLists.js +0 -144
- package/src/components/Notification/NotificationBody/NotificationInfoList/index.js +0 -128
- package/src/components/Notification/NotificationBody/NotificationInfoList/notificationList.js +0 -165
- package/src/components/Notification/NotificationBody/NotificationPanels/chipsLists.js +0 -85
- package/src/components/Notification/NotificationBody/NotificationPanels/index.js +0 -259
- package/src/components/Notification/NotificationBody/NotificationPanels/notificationList.js +0 -637
- package/src/components/Notification/NotificationBody/index.js +0 -117
- package/src/components/Notification/index.js +0 -128
- package/src/components/Notification/mockData.js +0 -389
- package/src/components/Notification/notificationFooter.js +0 -31
- package/src/components/Notification/notificationHeader.js +0 -28
- package/src/components/Panel/Panel.styles.scss +0 -71
- package/src/components/Panel/index.js +0 -144
- package/src/components/Popover/Popover.styles.scss +0 -52
- package/src/components/Popover/index.js +0 -71
- package/src/components/Portal/index.js +0 -31
- package/src/components/ProgressBar/ProgressBar.styles.scss +0 -62
- package/src/components/ProgressBar/index.js +0 -40
- package/src/components/Prompt/Prompt.styles.scss +0 -107
- package/src/components/Prompt/index.js +0 -107
- package/src/components/RadioButtonGroup/RadioButtonGroup.styles.scss +0 -136
- package/src/components/RadioButtonGroup/index.js +0 -107
- package/src/components/Select/SearchFilter.js +0 -72
- package/src/components/Select/Select.styles.scss +0 -748
- package/src/components/Select/customGroupHeading.js +0 -24
- package/src/components/Select/dropdown.js +0 -65
- package/src/components/Select/hooks/index.js +0 -2
- package/src/components/Select/hooks/useClickOutside.js +0 -61
- package/src/components/Select/hooks/useMenuPosition.js +0 -288
- package/src/components/Select/index.js +0 -1307
- package/src/components/Select/menuList.js +0 -119
- package/src/components/Select/optionList.js +0 -215
- package/src/components/Select/selected-option-tags.js +0 -99
- package/src/components/Select/utils.js +0 -232
- package/src/components/Sidebar/Menus/childMenu.js +0 -88
- package/src/components/Sidebar/Menus/index.js +0 -130
- package/src/components/Sidebar/Menus/parentMenu.js +0 -173
- package/src/components/Sidebar/Sidebar.styles.scss +0 -411
- package/src/components/Sidebar/actions.js +0 -31
- package/src/components/Sidebar/index.js +0 -84
- package/src/components/Sidebar/mock.js +0 -202
- package/src/components/Slider/Sliders.styles.scss +0 -260
- package/src/components/Slider/index.js +0 -314
- package/src/components/Stepper/Stepper.styles.scss +0 -355
- package/src/components/Stepper/index.js +0 -101
- package/src/components/Switch/Switch.styles.scss +0 -96
- package/src/components/Switch/index.js +0 -59
- package/src/components/Table/AdvanceSearchModalItem.js +0 -392
- package/src/components/Table/AdvanceSortModal.js +0 -332
- package/src/components/Table/AgGridHeader.js +0 -1009
- package/src/components/Table/CommentsPortal.js +0 -428
- package/src/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModal.js +0 -323
- package/src/components/Table/NewAdvanceSearchModal/NewAdvanceSearchModalItem.js +0 -476
- package/src/components/Table/NoComments.js +0 -295
- package/src/components/Table/Table.styles.scss +0 -3859
- package/src/components/Table/actionBar.js +0 -43
- package/src/components/Table/advanceSearchModal.js +0 -797
- package/src/components/Table/commentPanel.js +0 -421
- package/src/components/Table/filterUtils.js +0 -850
- package/src/components/Table/index.js +0 -2175
- package/src/components/Table/mockData.js +0 -1344
- package/src/components/Table/tableFunctions.js +0 -1676
- package/src/components/Table/tableHeader.js +0 -476
- package/src/components/Table/tableIcons.js +0 -61
- package/src/components/Table/tableMoreOptions.js +0 -293
- package/src/components/Table/tablePagination.js +0 -63
- package/src/components/Table/tableSettings.js +0 -287
- package/src/components/Table/withCommentIcon.js +0 -107
- package/src/components/TableChat/EmptyContainer.jsx +0 -13
- package/src/components/TableChat/README.md +0 -588
- package/src/components/TableChat/TableChatSidePanel.jsx +0 -832
- package/src/components/TableChat/TableChatSidePanel.styles.scss +0 -57
- package/src/components/TableChat/components/ChatMessageSkeleton/ChatFooterSkeleton.jsx +0 -43
- package/src/components/TableChat/components/ChatMessageSkeleton/ChatHeaderSkeleton.jsx +0 -55
- package/src/components/TableChat/components/ChatMessageSkeleton/ChatMessageListSkeleton.jsx +0 -94
- package/src/components/TableChat/components/ChatMessageSkeleton/ChatSkeleton.jsx +0 -22
- package/src/components/TableChat/components/ChatMessageSkeleton/ChatSkeleton.scss +0 -179
- package/src/components/TableChat/components/SkeletonList.jsx +0 -12
- package/src/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.jsx +0 -171
- package/src/components/TableChat/components/TableChatLeftSection/AddChatContainer/AddChatContainer.styles.scss +0 -37
- package/src/components/TableChat/components/TableChatLeftSection/ChannelCheckbox/ChannelCheckbox.jsx +0 -28
- package/src/components/TableChat/components/TableChatLeftSection/ChatChannelItem.jsx +0 -116
- package/src/components/TableChat/components/TableChatLeftSection/ChatChannelList.jsx +0 -89
- package/src/components/TableChat/components/TableChatLeftSection/ChatHeaderButton/ChatHeaderButton.jsx +0 -27
- package/src/components/TableChat/components/TableChatLeftSection/ChatHeaderNavigation.jsx +0 -191
- package/src/components/TableChat/components/TableChatLeftSection/ChatIconButton/ChatIconButton.jsx +0 -23
- package/src/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.jsx +0 -117
- package/src/components/TableChat/components/TableChatLeftSection/TableChatChannelHeader.styles.scss +0 -469
- package/src/components/TableChat/components/TableChatLeftSection/UnreadBadge/UnreadBadge.jsx +0 -16
- package/src/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.jsx +0 -119
- package/src/components/TableChat/components/TableChatRightSection/AvatarGroup/AvatarGroup.styles.scss +0 -87
- package/src/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.jsx +0 -216
- package/src/components/TableChat/components/TableChatRightSection/ChatDefaultMessageType/ChatDefaultMessageType.styles.scss +0 -291
- package/src/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/ChatDeletedMessageType.jsx +0 -19
- package/src/components/TableChat/components/TableChatRightSection/ChatDeleteMessageType/DeletedMessage.styles.scss +0 -55
- package/src/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.jsx +0 -61
- package/src/components/TableChat/components/TableChatRightSection/ChatEditedMessageType/ChatEditedMessageType.styles.scss +0 -13
- package/src/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeader.jsx +0 -432
- package/src/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderAction.jsx +0 -365
- package/src/components/TableChat/components/TableChatRightSection/ChatHeader/ChatHeaderInfo.jsx +0 -42
- package/src/components/TableChat/components/TableChatRightSection/ChatHeader/chatHeader.styles.scss +0 -323
- package/src/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.jsx +0 -793
- package/src/components/TableChat/components/TableChatRightSection/ChatInput/ChatInput.styles.scss +0 -394
- package/src/components/TableChat/components/TableChatRightSection/ChatMessageActions/ChatMessageActions.jsx +0 -61
- package/src/components/TableChat/components/TableChatRightSection/ChatMessageActions/ChatMessageActions.styles.scss +0 -28
- package/src/components/TableChat/components/TableChatRightSection/ChatMessageAvatar/ChatMessageAvatar.jsx +0 -11
- package/src/components/TableChat/components/TableChatRightSection/ChatMessageAvatar/ChatMessageAvatar.styles.scss +0 -3
- package/src/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.jsx +0 -220
- package/src/components/TableChat/components/TableChatRightSection/ChatMessages/ChatMessage.styles.scss +0 -128
- package/src/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.jsx +0 -246
- package/src/components/TableChat/components/TableChatRightSection/ChatNotificationSettings/ChatNotificationSettings.styles.scss +0 -210
- package/src/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.jsx +0 -52
- package/src/components/TableChat/components/TableChatRightSection/DateSeparator/DateSeparator.styles.scss +0 -34
- package/src/components/TableChat/components/TableChatRightSection/EmojiPicker/EmojiPicker.jsx +0 -31
- package/src/components/TableChat/components/TableChatRightSection/FileUploader/FileUploader.jsx +0 -170
- package/src/components/TableChat/components/TableChatRightSection/ImageUploader/ImageUploader.jsx +0 -165
- package/src/components/TableChat/components/TableChatRightSection/PinedChatPanel/PinedChat.styles.scss +0 -587
- package/src/components/TableChat/components/TableChatRightSection/PinedChatPanel/PinedChatPanel.jsx +0 -244
- package/src/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.jsx +0 -29
- package/src/components/TableChat/components/TableChatRightSection/ReplyBadge/ReplyBadge.styles.scss +0 -47
- package/src/components/TableChat/components/TableChatRightSection/TableChatRightSection.jsx +0 -1340
- package/src/components/TableChat/components/TableChatRightSection/TableChatRightSection.styles.scss +0 -147
- package/src/components/TableChat/components/TextEditor/EditorToolbar.jsx +0 -209
- package/src/components/TableChat/components/TextEditor/EditorToolbar.styles.scss +0 -61
- package/src/components/TableChat/components/TextEditor/Mention.jsx +0 -234
- package/src/components/TableChat/components/TextEditor/MentionList.jsx +0 -118
- package/src/components/TableChat/components/TextEditor/MentionList.scss +0 -146
- package/src/components/TableChat/components/TextEditor/styles.scss +0 -278
- package/src/components/TableChat/components/TextEditor/suggestion.js +0 -124
- package/src/components/TableChat/components/chatConfig.js +0 -64
- package/src/components/TableChat/hooks/useInfiniteScroll.js +0 -256
- package/src/components/TableOld/AgGridHeader.js +0 -545
- package/src/components/TableOld/Table.styles.scss +0 -2192
- package/src/components/TableOld/actionBar.js +0 -43
- package/src/components/TableOld/index.js +0 -598
- package/src/components/TableOld/mockData.js +0 -1344
- package/src/components/TableOld/tableFunctions.js +0 -1734
- package/src/components/TableOld/tableHeader.js +0 -251
- package/src/components/TableOld/tableIcons.js +0 -61
- package/src/components/TableOld/tablePagination.js +0 -64
- package/src/components/TableOld/tableSettings.js +0 -166
- package/src/components/Tabs/Tabs.styles.scss +0 -120
- package/src/components/Tabs/index.js +0 -91
- package/src/components/Tabs/tabPanel.js +0 -38
- package/src/components/Tag/Tags.styles.scss +0 -71
- package/src/components/Tag/filled.js +0 -48
- package/src/components/Tag/index.js +0 -54
- package/src/components/Tag/solid.js +0 -47
- package/src/components/Tag/stroke.js +0 -47
- package/src/components/Tag/utils.js +0 -12
- package/src/components/TagGroup/TagGroup.styles.scss +0 -7
- package/src/components/TagGroup/index.js +0 -6
- package/src/components/TextArea/TextArea.styles.scss +0 -158
- package/src/components/TextArea/index.js +0 -121
- package/src/components/Toast/Toast.styles.scss +0 -66
- package/src/components/Toast/index.js +0 -35
- package/src/components/Tooltip/Tooltips.styles.scss +0 -111
- package/src/components/Tooltip/index.js +0 -68
- package/src/components/common/HelperText/HelperText.styles.scss +0 -18
- package/src/components/common/HelperText/index.js +0 -44
- package/src/components/common/MentionEditor/MentionEditor.styles.scss +0 -301
- package/src/components/common/MentionEditor/MentionList/MentionList.styles.scss +0 -146
- package/src/components/common/MentionEditor/MentionList/index.js +0 -130
- package/src/components/common/MentionEditor/index.js +0 -246
- package/src/components/common/MentionEditor/suggestion.js +0 -124
- package/src/components/index.js +0 -53
- package/src/stories/Accordion.stories.js +0 -151
- package/src/stories/AccordionModern.stories.js +0 -263
- package/src/stories/Alert.stories.js +0 -103
- package/src/stories/Avatar.stories.js +0 -79
- package/src/stories/Badge.stories.js +0 -112
- package/src/stories/BottomSheet.stories.js +0 -224
- package/src/stories/Breadcrumbs.stories.js +0 -143
- package/src/stories/Button.stories.js +0 -190
- package/src/stories/ButtonGroup.stories.js +0 -123
- package/src/stories/Card.stories.js +0 -73
- package/src/stories/Changelog.mdx +0 -1006
- package/src/stories/Chart.stories.js +0 -2017
- package/src/stories/ChatBot.stories.js +0 -668
- package/src/stories/Checkbox.stories.js +0 -209
- package/src/stories/Chips.stories.js +0 -106
- package/src/stories/CreateItemFlow.stories.js +0 -255
- package/src/stories/DatePicker.stories.js +0 -311
- package/src/stories/DateRangePicker.stories.js +0 -364
- package/src/stories/EmptyState.stories.js +0 -110
- package/src/stories/FileUpload.stories.js +0 -169
- package/src/stories/FilterPanel.stories.js +0 -309
- package/src/stories/FiltersStrip.stories.js +0 -244
- package/src/stories/GettingStarted.mdx +0 -153
- package/src/stories/Header.stories.js +0 -185
- package/src/stories/HomePage.stories.js +0 -201
- package/src/stories/Input.stories.js +0 -165
- package/src/stories/Loader.stories.js +0 -33
- package/src/stories/Menu.stories.js +0 -309
- package/src/stories/Modal.stories.js +0 -185
- package/src/stories/MonthPicker.stories.js +0 -313
- package/src/stories/MonthRangePicker.stories.js +0 -255
- package/src/stories/Notification.stories.js +0 -500
- package/src/stories/Panel.stories.js +0 -179
- package/src/stories/Popover.stories.js +0 -125
- package/src/stories/ProgressBar.stories.js +0 -93
- package/src/stories/Prompt.stories.js +0 -120
- package/src/stories/RadioButtonGroup.stories.js +0 -83
- package/src/stories/Select.stories.js +0 -753
- package/src/stories/Sidebar.stories.js +0 -177
- package/src/stories/Slider.stories.js +0 -226
- package/src/stories/Stepper.stories.js +0 -158
- package/src/stories/Switch.stories.js +0 -72
- package/src/stories/Table.stories.js +0 -4323
- package/src/stories/TableChat.mdx +0 -992
- package/src/stories/TableChat.stories.js +0 -1712
- package/src/stories/TableOld.stories.js +0 -954
- package/src/stories/Tabs.stories.js +0 -253
- package/src/stories/Tag.stories.js +0 -92
- package/src/stories/TagGroup.stories.js +0 -39
- package/src/stories/TextArea.stories.js +0 -148
- package/src/stories/Toast.stories.js +0 -113
- package/src/stories/Tooltip.stories.js +0 -86
- package/src/stories/storybookLinks.mdx +0 -20
package/bin/migrate.js
ADDED
|
@@ -0,0 +1,293 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* impact-ui Migration CLI Tool
|
|
5
|
+
*
|
|
6
|
+
* Transforms barrel imports to direct imports for tree shaking optimization.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* npx impact-ui-migrate ./src
|
|
10
|
+
* npx impact-ui-migrate ./src --dry
|
|
11
|
+
* npx impact-ui-migrate ./src --extensions tsx,ts
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
const { execSync, spawnSync } = require('child_process');
|
|
15
|
+
const path = require('path');
|
|
16
|
+
const fs = require('fs');
|
|
17
|
+
|
|
18
|
+
// ANSI color codes for terminal output
|
|
19
|
+
const colors = {
|
|
20
|
+
reset: '\x1b[0m',
|
|
21
|
+
bright: '\x1b[1m',
|
|
22
|
+
dim: '\x1b[2m',
|
|
23
|
+
red: '\x1b[31m',
|
|
24
|
+
green: '\x1b[32m',
|
|
25
|
+
yellow: '\x1b[33m',
|
|
26
|
+
blue: '\x1b[34m',
|
|
27
|
+
cyan: '\x1b[36m',
|
|
28
|
+
};
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Print styled header
|
|
32
|
+
*/
|
|
33
|
+
function printHeader() {
|
|
34
|
+
console.log(`
|
|
35
|
+
${colors.cyan}╔═══════════════════════════════════════════════════════════════╗
|
|
36
|
+
║ ${colors.bright}impact-ui Migration Tool${colors.reset}${colors.cyan} ║
|
|
37
|
+
╠═══════════════════════════════════════════════════════════════╣
|
|
38
|
+
║ Transforms barrel imports to direct imports for tree shaking ║
|
|
39
|
+
╚═══════════════════════════════════════════════════════════════╝${colors.reset}
|
|
40
|
+
`);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
/**
|
|
44
|
+
* Print help message
|
|
45
|
+
*/
|
|
46
|
+
function printHelp() {
|
|
47
|
+
printHeader();
|
|
48
|
+
console.log(`
|
|
49
|
+
${colors.bright}Usage:${colors.reset}
|
|
50
|
+
npx impact-ui-migrate <target-path> [options]
|
|
51
|
+
|
|
52
|
+
${colors.bright}Arguments:${colors.reset}
|
|
53
|
+
<target-path> Path to the directory or file to transform
|
|
54
|
+
|
|
55
|
+
${colors.bright}Options:${colors.reset}
|
|
56
|
+
--dry Run without making changes (preview mode)
|
|
57
|
+
--extensions File extensions to transform (default: tsx,ts,jsx,js)
|
|
58
|
+
--verbose Show detailed output
|
|
59
|
+
--help, -h Show this help message
|
|
60
|
+
|
|
61
|
+
${colors.bright}Examples:${colors.reset}
|
|
62
|
+
${colors.dim}# Migrate all files in src directory${colors.reset}
|
|
63
|
+
npx impact-ui-migrate ./src
|
|
64
|
+
|
|
65
|
+
${colors.dim}# Preview changes without applying them${colors.reset}
|
|
66
|
+
npx impact-ui-migrate ./src --dry
|
|
67
|
+
|
|
68
|
+
${colors.dim}# Migrate only TypeScript files${colors.reset}
|
|
69
|
+
npx impact-ui-migrate ./src --extensions tsx,ts
|
|
70
|
+
|
|
71
|
+
${colors.dim}# Migrate a specific file${colors.reset}
|
|
72
|
+
npx impact-ui-migrate ./src/components/MyComponent.tsx
|
|
73
|
+
|
|
74
|
+
${colors.bright}What it does:${colors.reset}
|
|
75
|
+
${colors.red}Before:${colors.reset}
|
|
76
|
+
import { Button, Input, Card } from '@impactsmartsuite/impact-ui';
|
|
77
|
+
|
|
78
|
+
${colors.green}After:${colors.reset}
|
|
79
|
+
import { Button } from '@impactsmartsuite/impact-ui/Button';
|
|
80
|
+
import { Input } from '@impactsmartsuite/impact-ui/Input';
|
|
81
|
+
import { Card } from '@impactsmartsuite/impact-ui/Card';
|
|
82
|
+
|
|
83
|
+
${colors.bright}Benefits:${colors.reset}
|
|
84
|
+
- Enables tree shaking for smaller bundle sizes
|
|
85
|
+
- Only imports the components you use
|
|
86
|
+
- Can reduce bundle size by up to 80%
|
|
87
|
+
|
|
88
|
+
${colors.bright}More info:${colors.reset}
|
|
89
|
+
See MIGRATION_GUIDE.md for detailed documentation.
|
|
90
|
+
`);
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* Parse command line arguments
|
|
95
|
+
* @param {string[]} args - Command line arguments
|
|
96
|
+
* @returns {object} Parsed arguments
|
|
97
|
+
*/
|
|
98
|
+
function parseArgs(args) {
|
|
99
|
+
const result = {
|
|
100
|
+
targetPath: null,
|
|
101
|
+
isDryRun: false,
|
|
102
|
+
extensions: 'tsx,ts,jsx,js',
|
|
103
|
+
verbose: false,
|
|
104
|
+
showHelp: false,
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
for (let i = 0; i < args.length; i++) {
|
|
108
|
+
const arg = args[i];
|
|
109
|
+
|
|
110
|
+
if (arg === '--help' || arg === '-h') {
|
|
111
|
+
result.showHelp = true;
|
|
112
|
+
} else if (arg === '--dry') {
|
|
113
|
+
result.isDryRun = true;
|
|
114
|
+
} else if (arg === '--verbose' || arg === '-v') {
|
|
115
|
+
result.verbose = true;
|
|
116
|
+
} else if (arg === '--extensions' || arg === '-e') {
|
|
117
|
+
result.extensions = args[++i] || result.extensions;
|
|
118
|
+
} else if (arg.startsWith('--extensions=')) {
|
|
119
|
+
result.extensions = arg.split('=')[1];
|
|
120
|
+
} else if (!arg.startsWith('-')) {
|
|
121
|
+
result.targetPath = arg;
|
|
122
|
+
}
|
|
123
|
+
}
|
|
124
|
+
|
|
125
|
+
return result;
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
/**
|
|
129
|
+
* Check if jscodeshift is available
|
|
130
|
+
* @returns {boolean} True if jscodeshift is available
|
|
131
|
+
*/
|
|
132
|
+
function checkJscodeshift() {
|
|
133
|
+
try {
|
|
134
|
+
execSync('npx jscodeshift --version', { stdio: 'pipe' });
|
|
135
|
+
return true;
|
|
136
|
+
} catch {
|
|
137
|
+
return false;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Count files that will be processed
|
|
143
|
+
* @param {string} targetPath - Target path
|
|
144
|
+
* @param {string} extensions - File extensions
|
|
145
|
+
* @returns {number} Number of files
|
|
146
|
+
*/
|
|
147
|
+
function countFiles(targetPath, extensions) {
|
|
148
|
+
const extArray = extensions.split(',').map((e) => e.trim());
|
|
149
|
+
let count = 0;
|
|
150
|
+
|
|
151
|
+
function walkDir(dir) {
|
|
152
|
+
if (!fs.existsSync(dir)) return;
|
|
153
|
+
|
|
154
|
+
const stat = fs.statSync(dir);
|
|
155
|
+
if (stat.isFile()) {
|
|
156
|
+
const ext = path.extname(dir).slice(1);
|
|
157
|
+
if (extArray.includes(ext)) count++;
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
if (!stat.isDirectory()) return;
|
|
162
|
+
|
|
163
|
+
const files = fs.readdirSync(dir);
|
|
164
|
+
for (const file of files) {
|
|
165
|
+
// Skip node_modules and hidden directories
|
|
166
|
+
if (file === 'node_modules' || file.startsWith('.')) continue;
|
|
167
|
+
walkDir(path.join(dir, file));
|
|
168
|
+
}
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
walkDir(targetPath);
|
|
172
|
+
return count;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
/**
|
|
176
|
+
* Main function
|
|
177
|
+
*/
|
|
178
|
+
function main() {
|
|
179
|
+
const args = process.argv.slice(2);
|
|
180
|
+
const options = parseArgs(args);
|
|
181
|
+
|
|
182
|
+
// Show help if requested or no arguments
|
|
183
|
+
if (options.showHelp || args.length === 0) {
|
|
184
|
+
printHelp();
|
|
185
|
+
process.exit(0);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
// Validate target path
|
|
189
|
+
if (!options.targetPath) {
|
|
190
|
+
console.error(`${colors.red}Error: Please provide a target path${colors.reset}`);
|
|
191
|
+
console.log('\nRun with --help for usage information.');
|
|
192
|
+
process.exit(1);
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
// Resolve paths
|
|
196
|
+
const transformPath = path.resolve(__dirname, '../codemods/transform.js');
|
|
197
|
+
const absoluteTargetPath = path.resolve(process.cwd(), options.targetPath);
|
|
198
|
+
|
|
199
|
+
// Check if transform file exists
|
|
200
|
+
if (!fs.existsSync(transformPath)) {
|
|
201
|
+
console.error(
|
|
202
|
+
`${colors.red}Error: Transform file not found at ${transformPath}${colors.reset}`
|
|
203
|
+
);
|
|
204
|
+
console.error('This might indicate a corrupted impact-ui installation.');
|
|
205
|
+
console.error('Try reinstalling: npm install @impactsmartsuite/impact-ui');
|
|
206
|
+
process.exit(1);
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// Check if target exists
|
|
210
|
+
if (!fs.existsSync(absoluteTargetPath)) {
|
|
211
|
+
console.error(`${colors.red}Error: Path does not exist: ${absoluteTargetPath}${colors.reset}`);
|
|
212
|
+
process.exit(1);
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
printHeader();
|
|
216
|
+
|
|
217
|
+
// Count files to process
|
|
218
|
+
const fileCount = countFiles(absoluteTargetPath, options.extensions);
|
|
219
|
+
|
|
220
|
+
console.log(`${colors.bright}Configuration:${colors.reset}`);
|
|
221
|
+
console.log(` Target: ${colors.cyan}${absoluteTargetPath}${colors.reset}`);
|
|
222
|
+
console.log(` Extensions: ${colors.cyan}${options.extensions}${colors.reset}`);
|
|
223
|
+
console.log(` Files: ${colors.cyan}~${fileCount} files to scan${colors.reset}`);
|
|
224
|
+
console.log(
|
|
225
|
+
` Mode: ${options.isDryRun ? `${colors.yellow}Dry run (no changes)${colors.reset}` : `${colors.green}Live${colors.reset}`}`
|
|
226
|
+
);
|
|
227
|
+
console.log('');
|
|
228
|
+
|
|
229
|
+
// Check for jscodeshift
|
|
230
|
+
if (!checkJscodeshift()) {
|
|
231
|
+
console.log(`${colors.yellow}Installing jscodeshift...${colors.reset}`);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
console.log(`${colors.bright}Running migration...${colors.reset}\n`);
|
|
235
|
+
|
|
236
|
+
// Build jscodeshift command arguments
|
|
237
|
+
const jscodeshiftArgs = [
|
|
238
|
+
'jscodeshift',
|
|
239
|
+
'-t',
|
|
240
|
+
transformPath,
|
|
241
|
+
absoluteTargetPath,
|
|
242
|
+
`--extensions=${options.extensions}`,
|
|
243
|
+
'--parser=tsx',
|
|
244
|
+
'--ignore-pattern=**/node_modules/**',
|
|
245
|
+
'--ignore-pattern=**/*.test.*',
|
|
246
|
+
'--ignore-pattern=**/*.spec.*',
|
|
247
|
+
'--ignore-pattern=**/*.stories.*',
|
|
248
|
+
];
|
|
249
|
+
|
|
250
|
+
if (options.isDryRun) {
|
|
251
|
+
jscodeshiftArgs.push('--dry');
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (options.verbose) {
|
|
255
|
+
jscodeshiftArgs.push('--verbose=2');
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
try {
|
|
259
|
+
const result = spawnSync('npx', jscodeshiftArgs, {
|
|
260
|
+
stdio: 'inherit',
|
|
261
|
+
shell: true,
|
|
262
|
+
});
|
|
263
|
+
|
|
264
|
+
if (result.status !== 0) {
|
|
265
|
+
console.error(`\n${colors.red}Migration encountered errors.${colors.reset}`);
|
|
266
|
+
process.exit(result.status || 1);
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
console.log(`\n${colors.green}${colors.bright}Migration complete!${colors.reset}\n`);
|
|
270
|
+
|
|
271
|
+
if (options.isDryRun) {
|
|
272
|
+
console.log(`${colors.yellow}This was a dry run. No files were changed.${colors.reset}`);
|
|
273
|
+
console.log('Run without --dry to apply the changes.\n');
|
|
274
|
+
} else {
|
|
275
|
+
console.log(`${colors.bright}Next steps:${colors.reset}`);
|
|
276
|
+
console.log(` 1. Review changes: ${colors.cyan}git diff${colors.reset}`);
|
|
277
|
+
console.log(` 2. Run your tests: ${colors.cyan}npm test${colors.reset}`);
|
|
278
|
+
console.log(` 3. Add ESLint rule to prevent regression:`);
|
|
279
|
+
console.log(` ${colors.dim}// .eslintrc.js${colors.reset}`);
|
|
280
|
+
console.log(` ${colors.cyan}plugins: ['impact-ui'],${colors.reset}`);
|
|
281
|
+
console.log(
|
|
282
|
+
` ${colors.cyan}rules: { 'impact-ui/no-barrel-import': 'error' }${colors.reset}`
|
|
283
|
+
);
|
|
284
|
+
console.log('');
|
|
285
|
+
}
|
|
286
|
+
} catch (error) {
|
|
287
|
+
console.error(`\n${colors.red}Migration failed: ${error.message}${colors.reset}`);
|
|
288
|
+
process.exit(1);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
|
|
292
|
+
// Run main function
|
|
293
|
+
main();
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Component mapping configuration for impact-ui migration
|
|
3
|
+
* Maps component names to their sub-path imports for tree shaking
|
|
4
|
+
*/
|
|
5
|
+
|
|
6
|
+
const componentMap = {
|
|
7
|
+
// Accordion
|
|
8
|
+
Accordion: {
|
|
9
|
+
path: 'impact-ui/Accordion',
|
|
10
|
+
exports: ['Accordion', 'AccordionProps'],
|
|
11
|
+
},
|
|
12
|
+
|
|
13
|
+
// Alert
|
|
14
|
+
Alert: {
|
|
15
|
+
path: 'impact-ui/Alert',
|
|
16
|
+
exports: ['Alert', 'AlertProps'],
|
|
17
|
+
},
|
|
18
|
+
|
|
19
|
+
// Avatar
|
|
20
|
+
Avatar: {
|
|
21
|
+
path: 'impact-ui/Avatar',
|
|
22
|
+
exports: ['Avatar', 'AvatarProps'],
|
|
23
|
+
},
|
|
24
|
+
|
|
25
|
+
// Badge
|
|
26
|
+
Badge: {
|
|
27
|
+
path: 'impact-ui/Badge',
|
|
28
|
+
exports: [
|
|
29
|
+
'Badge',
|
|
30
|
+
'BadgeProps',
|
|
31
|
+
'FilledBadge',
|
|
32
|
+
'FilledIconLabelBadges',
|
|
33
|
+
'FilledOnlyIconBadges',
|
|
34
|
+
'FilledOnlyLabelBadges',
|
|
35
|
+
'StrokeBadge',
|
|
36
|
+
'StrokeIconLabelBadges',
|
|
37
|
+
'StrokeOnlyIconBadges',
|
|
38
|
+
'StrokeOnlyLabelBadges',
|
|
39
|
+
'SubtleBadge',
|
|
40
|
+
'SubtleIconLabelBadges',
|
|
41
|
+
'SubtleOnlyIconBadges',
|
|
42
|
+
'SubtleOnlyLabelBadges',
|
|
43
|
+
],
|
|
44
|
+
},
|
|
45
|
+
|
|
46
|
+
// Button
|
|
47
|
+
Button: {
|
|
48
|
+
path: 'impact-ui/Button',
|
|
49
|
+
exports: ['Button', 'ButtonProps'],
|
|
50
|
+
},
|
|
51
|
+
|
|
52
|
+
// Card
|
|
53
|
+
Card: {
|
|
54
|
+
path: 'impact-ui/Card',
|
|
55
|
+
exports: ['Card', 'CardProps'],
|
|
56
|
+
},
|
|
57
|
+
|
|
58
|
+
// Checkbox
|
|
59
|
+
Checkbox: {
|
|
60
|
+
path: 'impact-ui/Checkbox',
|
|
61
|
+
exports: [
|
|
62
|
+
'Checkbox',
|
|
63
|
+
'CheckboxProps',
|
|
64
|
+
'DashedCheckbox',
|
|
65
|
+
'DefaultCheckbox',
|
|
66
|
+
'CheckboxWithDropDown',
|
|
67
|
+
'CheckboxWithoutFormLabel',
|
|
68
|
+
],
|
|
69
|
+
},
|
|
70
|
+
|
|
71
|
+
// Chips
|
|
72
|
+
Chips: {
|
|
73
|
+
path: 'impact-ui/Chips',
|
|
74
|
+
exports: ['Chips', 'ChipsProps', 'Chip'],
|
|
75
|
+
},
|
|
76
|
+
|
|
77
|
+
// Input
|
|
78
|
+
Input: {
|
|
79
|
+
path: 'impact-ui/Input',
|
|
80
|
+
exports: ['Input', 'InputProps', 'InputWithIcon', 'VanillaInput', 'HelperText'],
|
|
81
|
+
},
|
|
82
|
+
|
|
83
|
+
// Switch
|
|
84
|
+
Switch: {
|
|
85
|
+
path: 'impact-ui/Switch',
|
|
86
|
+
exports: ['Switch', 'SwitchProps'],
|
|
87
|
+
},
|
|
88
|
+
|
|
89
|
+
// Tag
|
|
90
|
+
Tag: {
|
|
91
|
+
path: 'impact-ui/Tag',
|
|
92
|
+
exports: ['Tag', 'TagProps', 'FilledTag', 'StrokeTag', 'SolidTag'],
|
|
93
|
+
},
|
|
94
|
+
|
|
95
|
+
// Tooltip
|
|
96
|
+
Tooltip: {
|
|
97
|
+
path: 'impact-ui/Tooltip',
|
|
98
|
+
exports: ['Tooltip', 'TooltipProps'],
|
|
99
|
+
},
|
|
100
|
+
|
|
101
|
+
// Utils - matches any import ending with Props or utils
|
|
102
|
+
utils: {
|
|
103
|
+
path: 'impact-ui/utils',
|
|
104
|
+
exports: [],
|
|
105
|
+
},
|
|
106
|
+
|
|
107
|
+
// Types
|
|
108
|
+
types: {
|
|
109
|
+
path: 'impact-ui/types',
|
|
110
|
+
exports: [],
|
|
111
|
+
},
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Build a reverse lookup map: export name -> import path
|
|
116
|
+
* This allows O(1) lookup of where to import any given export from
|
|
117
|
+
*/
|
|
118
|
+
function buildExportLookup() {
|
|
119
|
+
const lookup = {};
|
|
120
|
+
|
|
121
|
+
Object.entries(componentMap).forEach(([componentName, config]) => {
|
|
122
|
+
// Add the component name itself as a valid import
|
|
123
|
+
lookup[componentName] = config.path;
|
|
124
|
+
|
|
125
|
+
// Add all named exports for this component
|
|
126
|
+
config.exports.forEach((exportName) => {
|
|
127
|
+
lookup[exportName] = config.path;
|
|
128
|
+
});
|
|
129
|
+
});
|
|
130
|
+
|
|
131
|
+
return lookup;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
/**
|
|
135
|
+
* Get list of all valid component paths
|
|
136
|
+
*/
|
|
137
|
+
function getValidPaths() {
|
|
138
|
+
return Object.values(componentMap).map((config) => config.path);
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
/**
|
|
142
|
+
* Get all component names
|
|
143
|
+
*/
|
|
144
|
+
function getComponentNames() {
|
|
145
|
+
return Object.keys(componentMap);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
module.exports = {
|
|
149
|
+
componentMap,
|
|
150
|
+
buildExportLookup,
|
|
151
|
+
getValidPaths,
|
|
152
|
+
getComponentNames,
|
|
153
|
+
};
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
const fs = require('fs');
|
|
2
|
+
|
|
3
|
+
function loadMappings(mapFile) {
|
|
4
|
+
if (!mapFile) return [];
|
|
5
|
+
try {
|
|
6
|
+
const raw = fs.readFileSync(mapFile, 'utf8');
|
|
7
|
+
const parsed = JSON.parse(raw);
|
|
8
|
+
if (!Array.isArray(parsed)) return [];
|
|
9
|
+
return parsed.filter(
|
|
10
|
+
(m) =>
|
|
11
|
+
m &&
|
|
12
|
+
typeof m.oldPath === 'string' &&
|
|
13
|
+
typeof m.newPath === 'string' &&
|
|
14
|
+
m.oldPath.length > 0 &&
|
|
15
|
+
m.newPath.length > 0
|
|
16
|
+
);
|
|
17
|
+
} catch {
|
|
18
|
+
return [];
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
module.exports = function transformer(fileInfo, api, options) {
|
|
23
|
+
const j = api.jscodeshift;
|
|
24
|
+
const root = j(fileInfo.source);
|
|
25
|
+
const mappings = loadMappings(options.mapFile);
|
|
26
|
+
|
|
27
|
+
if (mappings.length === 0) {
|
|
28
|
+
return fileInfo.source;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
let changed = false;
|
|
32
|
+
|
|
33
|
+
const replaceInValue = (value) => {
|
|
34
|
+
if (typeof value !== 'string' || !value.includes('assets/')) return value;
|
|
35
|
+
let next = value;
|
|
36
|
+
for (const { oldPath, newPath } of mappings) {
|
|
37
|
+
if (next.includes(oldPath)) {
|
|
38
|
+
next = next.split(oldPath).join(newPath);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
if (next !== value) changed = true;
|
|
42
|
+
return next;
|
|
43
|
+
};
|
|
44
|
+
|
|
45
|
+
root.find(j.Literal).forEach((p) => {
|
|
46
|
+
if (typeof p.node.value !== 'string') return;
|
|
47
|
+
p.node.value = replaceInValue(p.node.value);
|
|
48
|
+
});
|
|
49
|
+
|
|
50
|
+
if (j.StringLiteral) {
|
|
51
|
+
root.find(j.StringLiteral).forEach((p) => {
|
|
52
|
+
p.node.value = replaceInValue(p.node.value);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
root.find(j.TemplateLiteral).forEach((p) => {
|
|
57
|
+
if (p.node.expressions.length > 0) return;
|
|
58
|
+
for (const quasi of p.node.quasis) {
|
|
59
|
+
const cooked = quasi.value && typeof quasi.value.cooked === 'string' ? quasi.value.cooked : null;
|
|
60
|
+
const raw = quasi.value && typeof quasi.value.raw === 'string' ? quasi.value.raw : null;
|
|
61
|
+
if (cooked != null) quasi.value.cooked = replaceInValue(cooked);
|
|
62
|
+
if (raw != null) quasi.value.raw = replaceInValue(raw);
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
|
|
66
|
+
if (!changed) return null;
|
|
67
|
+
return root.toSource({ quote: 'single' });
|
|
68
|
+
};
|
|
69
|
+
|
|
@@ -0,0 +1,136 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* jscodeshift transform for migrating impact-ui barrel imports to direct imports
|
|
3
|
+
*
|
|
4
|
+
* Usage:
|
|
5
|
+
* npx jscodeshift -t ./codemods/transform.js ./src --extensions=tsx,ts,jsx,js
|
|
6
|
+
*
|
|
7
|
+
* Before:
|
|
8
|
+
* import { Button, Input, Card } from 'impact-ui';
|
|
9
|
+
* import { Button, Input, Card } from '@impactsmartsuite/impact-ui';
|
|
10
|
+
*
|
|
11
|
+
* After:
|
|
12
|
+
* import { Button } from 'impact-ui/Button';
|
|
13
|
+
* import { Button } from '@impactsmartsuite/impact-ui/Button';
|
|
14
|
+
*/
|
|
15
|
+
|
|
16
|
+
const { buildExportLookup } = require('./component-map');
|
|
17
|
+
|
|
18
|
+
const BARREL_SOURCES = ['impact-ui', '@impactsmartsuite/impact-ui'];
|
|
19
|
+
|
|
20
|
+
function rewriteTargetPath(componentMapPath, barrelSource) {
|
|
21
|
+
return componentMapPath.replace(/^impact-ui(?=\/|$)/, barrelSource);
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
// Build the export lookup once at module load time
|
|
25
|
+
const exportLookup = buildExportLookup();
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Main transformer function
|
|
29
|
+
* @param {object} fileInfo - Information about the file being transformed
|
|
30
|
+
* @param {object} api - jscodeshift API
|
|
31
|
+
* @param {object} options - Transform options
|
|
32
|
+
* @returns {string|null} - Transformed source or null if no changes
|
|
33
|
+
*/
|
|
34
|
+
module.exports = function transformer(fileInfo, api, options) {
|
|
35
|
+
const j = api.jscodeshift;
|
|
36
|
+
const root = j(fileInfo.source);
|
|
37
|
+
let hasChanges = false;
|
|
38
|
+
|
|
39
|
+
root
|
|
40
|
+
.find(j.ImportDeclaration)
|
|
41
|
+
.filter((path) => BARREL_SOURCES.includes(path.node.source.value))
|
|
42
|
+
.forEach((path) => {
|
|
43
|
+
const barrelSource = path.node.source.value;
|
|
44
|
+
const specifiers = path.node.specifiers;
|
|
45
|
+
|
|
46
|
+
const namedSpecifiers = specifiers.filter(
|
|
47
|
+
(s) => s.type === 'ImportSpecifier'
|
|
48
|
+
);
|
|
49
|
+
const defaultSpecifier = specifiers.find(
|
|
50
|
+
(s) => s.type === 'ImportDefaultSpecifier'
|
|
51
|
+
);
|
|
52
|
+
const namespaceSpecifier = specifiers.find(
|
|
53
|
+
(s) => s.type === 'ImportNamespaceSpecifier'
|
|
54
|
+
);
|
|
55
|
+
|
|
56
|
+
if (namespaceSpecifier) {
|
|
57
|
+
console.warn(
|
|
58
|
+
`Warning: Cannot migrate namespace import in ${fileInfo.path}. ` +
|
|
59
|
+
`Please manually update: import * as ... from "${barrelSource}"`
|
|
60
|
+
);
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
if (namedSpecifiers.length === 0) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
const groupedImports = {};
|
|
69
|
+
const unknownImports = [];
|
|
70
|
+
|
|
71
|
+
namedSpecifiers.forEach((spec) => {
|
|
72
|
+
const importedName = spec.imported.name;
|
|
73
|
+
const localName = spec.local.name;
|
|
74
|
+
const targetPath = exportLookup[importedName];
|
|
75
|
+
|
|
76
|
+
if (targetPath) {
|
|
77
|
+
if (!groupedImports[targetPath]) {
|
|
78
|
+
groupedImports[targetPath] = [];
|
|
79
|
+
}
|
|
80
|
+
groupedImports[targetPath].push({ importedName, localName });
|
|
81
|
+
} else {
|
|
82
|
+
unknownImports.push(spec);
|
|
83
|
+
}
|
|
84
|
+
});
|
|
85
|
+
|
|
86
|
+
const newImports = [];
|
|
87
|
+
|
|
88
|
+
Object.entries(groupedImports).forEach(([targetPath, imports]) => {
|
|
89
|
+
const mappedPath = rewriteTargetPath(targetPath, barrelSource);
|
|
90
|
+
const newSpecifiers = imports.map(({ importedName, localName }) => {
|
|
91
|
+
if (importedName === localName) {
|
|
92
|
+
return j.importSpecifier(j.identifier(importedName));
|
|
93
|
+
}
|
|
94
|
+
return j.importSpecifier(
|
|
95
|
+
j.identifier(importedName),
|
|
96
|
+
j.identifier(localName)
|
|
97
|
+
);
|
|
98
|
+
});
|
|
99
|
+
newImports.push(j.importDeclaration(newSpecifiers, j.literal(mappedPath)));
|
|
100
|
+
});
|
|
101
|
+
|
|
102
|
+
if (unknownImports.length > 0) {
|
|
103
|
+
const unknownNames = unknownImports.map((s) => s.imported.name).join(', ');
|
|
104
|
+
console.warn(
|
|
105
|
+
`Warning: Unknown imports in ${fileInfo.path}: ${unknownNames}. ` +
|
|
106
|
+
'These will remain as barrel imports. Please check if they exist in the package.'
|
|
107
|
+
);
|
|
108
|
+
newImports.push(
|
|
109
|
+
j.importDeclaration(unknownImports, j.literal(barrelSource))
|
|
110
|
+
);
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
if (defaultSpecifier) {
|
|
114
|
+
console.warn(
|
|
115
|
+
`Warning: Default import found in ${fileInfo.path}. ` +
|
|
116
|
+
'The library does not have a default export. Please check your import.'
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
if (newImports.length > 0) {
|
|
121
|
+
j(path).replaceWith(newImports);
|
|
122
|
+
hasChanges = true;
|
|
123
|
+
}
|
|
124
|
+
});
|
|
125
|
+
|
|
126
|
+
if (hasChanges) {
|
|
127
|
+
return root.toSource({
|
|
128
|
+
quote: 'single',
|
|
129
|
+
trailingComma: true,
|
|
130
|
+
});
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
return null;
|
|
134
|
+
};
|
|
135
|
+
|
|
136
|
+
module.exports.parser = 'tsx';
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var o=document.createElement("style");o.appendChild(document.createTextNode(".impact_accordion_main_container{background:#eceefd;display:flex;flex-direction:column;flex-wrap:wrap;gap:0;gap:12px;width:100%}.impact_accordion_main_container .Mui-expanded{margin:0!important}.impact_accordion_main_container .accordion_main_container{border-bottom:1px solid #d4d4d4;border-radius:8px;box-shadow:none!important}.impact_accordion_main_container .accordion_main_container:before{opacity:0!important}.impact_accordion_main_container .accordion_main_container .accordion_header{display:flex!important;flex-direction:row-reverse;flex-grow:0!important;font-size:16px;gap:12px;height:48px;justify-content:flex-end!important;margin:0 16px!important;padding:0!important}.impact_accordion_main_container .accordion_main_container .accordion_header .MuiAccordionSummary-content{color:#0d152c;flex-grow:0!important;justify-content:flex-end}.impact_accordion_main_container .accordion_main_container .accordion_header .css-yw020d-MuiAccordionSummary-expandIconWrapper{align-items:center;background:#f5f6fa;border-radius:8px;height:32px;justify-content:center;transform:rotate(-90deg);width:32px}.impact_accordion_main_container .accordion_main_container .accordion_header .css-yw020d-MuiAccordionSummary-expandIconWrapper.Mui-expanded{transform:rotate(-180deg)}.impact_accordion_main_container .accordion_main_container .accordion_header.Mui-expanded{margin:0 16px!important;min-height:48px!important}.impact_accordion_main_container .accordion_main_container .accordion_body{color:#0d152c;padding:12px 16px!important}.impact_accordion_main_container .css-1elwnq4-MuiPaper-root-MuiAccordion-root.Mui-disabled{background-color:#fff}.impact_accordion_main_container .css-1elwnq4-MuiPaper-root-MuiAccordion-root.Mui-disabled .css-yw020d-MuiAccordionSummary-expandIconWrapper{background-color:#f8f9fb}.impact_accordion_main_container .css-1elwnq4-MuiPaper-root-MuiAccordion-root.Mui-disabled .MuiAccordionSummary-content,.impact_accordion_main_container .css-1elwnq4-MuiPaper-root-MuiAccordion-root.Mui-disabled .accordion_body{color:#b4bac7}.impact_accordion_main_container_single .accordion_main_container:last-child{border-radius:8px}.Mui-expanded.accordion_main_container{border:1px solid #eff2fa!important}.Mui-expanded.MuiAccordionSummary-content{font-weight:500}.accordion_main_container:focus{box-shadow:-3px 3px #eceefd,1px -1px 0 2px #eceefd!important}.impact_accordion_main_container .css-1086bdv-MuiPaper-root-MuiAccordion-root.Mui-expanded{margin:0!important}.accordions_white .impact_accordion_main_container{background:#fff}.impact_accordion_main_container .accordion_main_container{border:1px solid #eff2fa}.accordion_header .Mui-expanded{font-weight:600}")),document.head.appendChild(o)}}catch(n){console.error("vite-plugin-css-injected-by-js",n)}}();
|
|
1
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { forwardRef, useCallback } from "react";
|
|
3
4
|
import default_1 from "../../node_modules/@mui/icons-material/ExpandMore.js";
|
|
4
|
-
|
|
5
|
+
|
|
5
6
|
import Accordion$1 from "../../node_modules/@mui/material/Accordion/Accordion.js";
|
|
6
7
|
import AccordionSummary from "../../node_modules/@mui/material/AccordionSummary/AccordionSummary.js";
|
|
7
8
|
import AccordionDetails from "../../node_modules/@mui/material/AccordionDetails/AccordionDetails.js";
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
!function(){"use strict";try{if("undefined"!=typeof document){var o=document.createElement("style");o.appendChild(document.createTextNode(".impact-accordion-modern-main-container{display:flex;flex-direction:column;gap:12px}.impact-modern-accordion-item{background-color:#fff;border:1px solid #eff2fa;border-radius:8px;display:flex;flex-direction:column;transition:border .2s ease}.impact-modern-accordion-item .impact-modern-accordion-header{align-items:center;display:flex;flex-direction:row;gap:12px;height:48px;padding:8px 16px;width:100%}.impact-modern-accordion-item .impact-modern-accordion-header .impact-modern-accordion-drag-icon svg{color:#60697d;height:20px;margin-top:2px;width:20px}.impact-modern-accordion-item .impact-modern-accordion-header .impact-modern-accordion-expand-icon{align-items:center;background-color:#f5f6fa;border-radius:8px;display:flex;height:32px;justify-content:center;padding:8px;transition:transform .2s ease-in-out;width:32px}.impact-modern-accordion-item .impact-modern-accordion-header .impact-modern-accordion-expand-icon:hover{cursor:pointer}.impact-modern-accordion-item .impact-modern-accordion-header .impact-modern-accordion-expand-icon svg{fill:#60697d;height:20px;width:20px}.impact-modern-accordion-item .impact-modern-accordion-header .impact-modern-accordion-title{color:#0d152c;font-family:Manrope,sans-serif;font-size:14px;font-weight:600;line-height:21px;width:100%}.impact-modern-accordion-item .impact-modern-accordion-header .impact-modern-accordion-title.child-count{align-items:center;display:flex;gap:12px}.impact-modern-accordion-item .impact-modern-accordion-header .impact-modern-accordion-title.disabled{color:#b4bac7}.impact-modern-accordion-item .impact-modern-accordion-content{box-sizing:border-box;color:#0d152c;font-family:Manrope,sans-serif!important;font-size:14px;font-weight:500;height:0;line-height:21px;opacity:0;overflow:hidden;padding:0 16px;transition:height .2s ease,padding .2s ease,opacity .2s ease;visibility:hidden}.impact-modern-accordion-item .expand-content{height:auto;opacity:1;padding:16px;visibility:visible}.impact-modern-accordion-container.disabled{cursor:not-allowed}.impact-modern-accordion-container.disabled .impact-modern-accordion-item .impact-modern-accordion-header{pointer-events:none}.impact-modern-accordion-container.disabled .impact-modern-accordion-item .impact-modern-accordion-drag-icon,.impact-modern-accordion-container.disabled .impact-modern-accordion-item .impact-modern-accordion-expand-icon{background-color:#f8f9fb}.expand-content-icon{transform:rotate(-90deg)}.expand-content-icon+.impact-modern-accordion-title{fill:#60697d;font-weight:800!important}.expand-content-icon+.impact-modern-accordion-title h3{font-weight:800}.impact-modern-accordion-container:not(.disabled) .impact-modern-accordion-item:focus{box-shadow:0 0 0 3px #eceefd;outline:none}.impact-modern-accordion-container:not(.disabled) .impact-modern-accordion-item:focus-visible{box-shadow:0 0 0 3px #eceefd;outline:none}.impact-modern-accordion-container.disabled .impact-modern-accordion-item:focus,.impact-modern-accordion-container.disabled .impact-modern-accordion-item:focus-visible{box-shadow:none;outline:none}")),document.head.appendChild(o)}}catch(i){console.error("vite-plugin-css-injected-by-js",i)}}();
|
|
1
2
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
2
3
|
import { useCallback } from "react";
|
|
3
4
|
import default_1 from "../../node_modules/@mui/icons-material/KeyboardArrowRight.js";
|
|
4
5
|
import { Badge } from "../Badge/index.js";
|
|
5
6
|
import { SortableAccordionList } from "./SortableAccordionComp.js";
|
|
6
|
-
|
|
7
|
+
|
|
7
8
|
function AccordionModern({
|
|
8
9
|
draggable = false,
|
|
9
10
|
expanded,
|