-
Notifications
You must be signed in to change notification settings - Fork 403
Fe/feature/ri 7231 replace eui unify components style #4841
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Fe/feature/ri 7231 replace eui unify components style #4841
Conversation
# Conflicts: # redisinsight/ui/src/components/connectivity-error/ConnectivityError.tsx # redisinsight/ui/src/components/inline-item-editor/InlineItemEditor.tsx # redisinsight/ui/src/components/item-list/components/delete-action/DeleteAction.tsx # redisinsight/ui/src/components/item-list/components/export-action/ExportAction.tsx # redisinsight/ui/src/components/query/query-actions/QueryActions.tsx # redisinsight/ui/src/components/query/query-card/QueryCardHeader/QueryCardHeader.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/InternalPage/InternalPage.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyHash/AddKeyHash.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyList/AddKeyList.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyReJSON/AddKeyReJSON.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeySet/AddKeySet.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyStream/AddKeyStream.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyString/AddKeyString.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyZset/AddKeyZset.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/edit-entire-item-action/EditEntireItemAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/set-details/add-set-members/AddSetMembers.tsx # redisinsight/ui/src/pages/database-analysis/components/header/Header.tsx # redisinsight/ui/src/pages/home/components/database-list-header/DatabaseListHeader.tsx # redisinsight/ui/src/pages/home/components/database-manage-tags-modal/ManageTagsModal.tsx # redisinsight/ui/src/pages/settings/components/cloud-settings/CloudSettings.tsx # redisinsight/ui/src/pages/settings/components/cloud-settings/components/user-api-keys-table/UserApiKeysTable.tsx # redisinsight/ui/src/pages/slow-log/components/Actions/Actions.tsx
…nts-style # Conflicts: # jest.config.cjs # redisinsight/ui/.eslintrc.js # redisinsight/ui/src/components/analytics-tabs/AnalyticsTabs.tsx # redisinsight/ui/src/components/auto-refresh/AutoRefresh.tsx # redisinsight/ui/src/components/base/display/image/RiImage.tsx # redisinsight/ui/src/components/base/display/index.ts # redisinsight/ui/src/components/base/display/loading-logo/RiLoadingLogo.tsx # redisinsight/ui/src/components/base/display/modal/index.ts # redisinsight/ui/src/components/base/display/toast/RiToast.tsx # redisinsight/ui/src/components/base/external-link/ExternalLink.tsx # redisinsight/ui/src/components/base/forms/buttons/Button.tsx # redisinsight/ui/src/components/base/forms/buttons/button.styles.ts # redisinsight/ui/src/components/base/forms/buttons/index.ts # redisinsight/ui/src/components/base/forms/checkbox/Checkbox.test.tsx # redisinsight/ui/src/components/base/forms/combo-box/AutoTag.spec.tsx # redisinsight/ui/src/components/base/forms/file-picker/RiFilePicker.tsx # redisinsight/ui/src/components/base/forms/file-picker/styles.tsx # redisinsight/ui/src/components/base/forms/select/RiSelect.tsx # redisinsight/ui/src/components/base/icons/Icon.tsx # redisinsight/ui/src/components/base/index.ts # redisinsight/ui/src/components/base/inputs/SwitchInput.spec.tsx # redisinsight/ui/src/components/base/inputs/index.ts # redisinsight/ui/src/components/base/layout/drawer/index.ts # redisinsight/ui/src/components/base/layout/empty-prompt/RiEmptyPrompt.tsx # redisinsight/ui/src/components/base/layout/flex/flex.styles.ts # redisinsight/ui/src/components/base/layout/flex/flex.tsx # redisinsight/ui/src/components/base/layout/horizontal-spacer/HorizontalSpacer.spec.tsx # redisinsight/ui/src/components/base/layout/horizontal-spacer/horizontal-spacer.styles.ts # redisinsight/ui/src/components/base/layout/horizontal-spacer/index.ts # redisinsight/ui/src/components/base/layout/index.ts # redisinsight/ui/src/components/base/layout/list/RiListItem.tsx # redisinsight/ui/src/components/base/layout/list/list.styles.ts # redisinsight/ui/src/components/base/layout/menu/index.ts # redisinsight/ui/src/components/base/layout/sidebar/index.ts # redisinsight/ui/src/components/base/layout/spacer/index.ts # redisinsight/ui/src/components/base/layout/spacer/spacer.styles.ts # redisinsight/ui/src/components/base/layout/spacer/spacer.tsx # redisinsight/ui/src/components/base/layout/table/index.ts # redisinsight/ui/src/components/base/layout/tabs/index.ts # redisinsight/ui/src/components/base/shared/WindowControlGroup.tsx # redisinsight/ui/src/components/base/text/index.ts # redisinsight/ui/src/components/base/text/text.styles.ts # redisinsight/ui/src/components/base/theme/index.ts # redisinsight/ui/src/components/base/theme/types.ts # redisinsight/ui/src/components/bottom-group-components/components/bottom-group-minimized/BottomGroupMinimized.tsx # redisinsight/ui/src/components/cli/components/cli-body/CliBody/CliBody.spec.tsx # redisinsight/ui/src/components/cli/components/cli-body/CliBody/CliBody.tsx # redisinsight/ui/src/components/cli/components/cli-header/CliHeader.tsx # redisinsight/ui/src/components/code-block/CodeBlock.tsx # redisinsight/ui/src/components/command-helper/CommandHelper/CommandHelper.tsx # redisinsight/ui/src/components/command-helper/CommandHelperHeader/CommandHelperHeader.tsx # redisinsight/ui/src/components/command-helper/CommandHelperWrapper.tsx # redisinsight/ui/src/components/command-helper/components/command-helper-info/CHCommandInfo.tsx # redisinsight/ui/src/components/command-helper/components/command-helper-search-output/CHSearchOutput.tsx # redisinsight/ui/src/components/command-helper/components/command-helper-search/CHSearchFilter/CHSearchFilter.tsx # redisinsight/ui/src/components/command-helper/components/command-helper-search/CHSearchInput/CHSearchInput.tsx # redisinsight/ui/src/components/connectivity-error/ConnectivityError.tsx # redisinsight/ui/src/components/consents-settings/ConsentOption/ConsentOption.tsx # redisinsight/ui/src/components/consents-settings/ConsentsNotifications/ConsentsNotifications.tsx # redisinsight/ui/src/components/consents-settings/ConsentsPrivacy/ConsentsPrivacy.tsx # redisinsight/ui/src/components/consents-settings/ConsentsSettings.tsx # redisinsight/ui/src/components/consents-settings/ConsentsSettingsPopup/ConsentsSettingsPopup.tsx # redisinsight/ui/src/components/database-list-modules/DatabaseListModules.tsx # redisinsight/ui/src/components/database-list-options/DatabaseListOptions.tsx # redisinsight/ui/src/components/database-overview/DatabaseOverview.tsx # redisinsight/ui/src/components/database-overview/components/OverviewMetrics/MetricItem.tsx # redisinsight/ui/src/components/database-overview/components/OverviewMetrics/OverviewMetrics.tsx # redisinsight/ui/src/components/explore-guides/ExploreGuides.tsx # redisinsight/ui/src/components/explore-guides/icons.ts # redisinsight/ui/src/components/field-message/FieldMessage.tsx # redisinsight/ui/src/components/form-dialog/FormDialog.spec.tsx # redisinsight/ui/src/components/form-dialog/FormDialog.tsx # redisinsight/ui/src/components/full-screen/FullScreen.tsx # redisinsight/ui/src/components/group-badge/GroupBadge.tsx # redisinsight/ui/src/components/home-tabs/HomeTabs.tsx # redisinsight/ui/src/components/home-tabs/constants.ts # redisinsight/ui/src/components/import-file-modal/ImportFileModal.spec.tsx # redisinsight/ui/src/components/import-file-modal/ImportFileModal.tsx # redisinsight/ui/src/components/inline-item-editor/InlineItemEditor.styles.tsx # redisinsight/ui/src/components/inline-item-editor/InlineItemEditor.tsx # redisinsight/ui/src/components/input-field-sentinel/InputFieldSentinel.tsx # redisinsight/ui/src/components/instance-header/InstanceHeader.tsx # redisinsight/ui/src/components/instance-header/components/ShortInstanceInfo.tsx # redisinsight/ui/src/components/instance-header/components/instances-navigation-popover/InstancesNavigationPopover.tsx # redisinsight/ui/src/components/instance-header/components/instances-navigation-popover/components/instances-list/InstancesList.tsx # redisinsight/ui/src/components/instance-header/components/user-profile/UserProfileBadge.tsx # redisinsight/ui/src/components/item-list/components/action-bar/ActionBar.tsx # redisinsight/ui/src/components/item-list/components/delete-action/DeleteAction.tsx # redisinsight/ui/src/components/item-list/components/export-action/ExportAction.tsx # redisinsight/ui/src/components/keyboard-shortcut/KeyboardShortcut.tsx # redisinsight/ui/src/components/keys-summary/KeysSummary.tsx # redisinsight/ui/src/components/main-router/components/SuspenseLoader.tsx # redisinsight/ui/src/components/markdown/CloudLink/CloudLink.tsx # redisinsight/ui/src/components/markdown/CodeButtonBlock/CodeButtonBlock.tsx # redisinsight/ui/src/components/markdown/CodeButtonBlock/components/RunConfirmationPopover.tsx # redisinsight/ui/src/components/markdown/RedisInsightLink/RedisInsightLink.tsx # redisinsight/ui/src/components/markdown/RedisUploadButton/RedisUploadButton.tsx # redisinsight/ui/src/components/message-bar/MessageBar.tsx # redisinsight/ui/src/components/messages/cli-output/cliOutput.tsx # redisinsight/ui/src/components/messages/database-not-opened/DatabaseNotOpened.tsx # redisinsight/ui/src/components/messages/filter-not-available/FilterNotAvailable.tsx # redisinsight/ui/src/components/messages/module-not-loaded-minimalized/ModuleNotLoadedMinimalized.tsx # redisinsight/ui/src/components/messages/module-not-loaded/ModuleNotLoaded.tsx # redisinsight/ui/src/components/messages/module-not-loaded/ModuleNotLoadedButton.tsx # redisinsight/ui/src/components/monaco-editor/MonacoEditor.tsx # redisinsight/ui/src/components/monaco-editor/components/dedicated-editor/DedicatedEditor.tsx # redisinsight/ui/src/components/monitor/Monitor/Monitor.tsx # redisinsight/ui/src/components/monitor/MonitorHeader/MonitorHeader.tsx # redisinsight/ui/src/components/monitor/MonitorLog/MonitorLog.tsx # redisinsight/ui/src/components/monitor/MonitorOutputList/MonitorOutputList.tsx # redisinsight/ui/src/components/multi-search/MultiSearch.tsx # redisinsight/ui/src/components/navigation-menu/NavigationMenu.tsx # redisinsight/ui/src/components/navigation-menu/app-navigation/AppNavigation.styles.ts # redisinsight/ui/src/components/navigation-menu/app-navigation/AppNavigation.tsx # redisinsight/ui/src/components/navigation-menu/components/create-cloud/CreateCloud.spec.tsx # redisinsight/ui/src/components/navigation-menu/components/create-cloud/CreateCloud.tsx # redisinsight/ui/src/components/navigation-menu/components/help-menu/HelpMenu.spec.tsx # redisinsight/ui/src/components/navigation-menu/components/help-menu/HelpMenu.tsx # redisinsight/ui/src/components/navigation-menu/components/notifications-center/Notification/Notification.tsx # redisinsight/ui/src/components/navigation-menu/components/notifications-center/NotificationCenter.tsx # redisinsight/ui/src/components/navigation-menu/components/notifications-center/NotificationMenu.spec.tsx # redisinsight/ui/src/components/navigation-menu/components/notifications-center/NotificationMenu.tsx # redisinsight/ui/src/components/navigation-menu/components/notifications-center/PopoverNotification/PopoverNotification.tsx # redisinsight/ui/src/components/navigation-menu/components/redis-logo/RedisLogo.spec.tsx # redisinsight/ui/src/components/navigation-menu/components/redis-logo/RedisLogo.tsx # redisinsight/ui/src/components/navigation-menu/hooks/useNavigation.ts # redisinsight/ui/src/components/navigation-menu/navigation.types.ts # redisinsight/ui/src/components/notifications/Notifications.tsx # redisinsight/ui/src/components/notifications/components/cloud-capi-unauthorized/CloudCapiUnAuthorizedErrorContent.tsx # redisinsight/ui/src/components/notifications/components/default-error-content/DefaultErrorContent.tsx # redisinsight/ui/src/components/notifications/components/encryption-error-content/EncryptionErrorContent.tsx # redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx # redisinsight/ui/src/components/notifications/components/rdi-deploy-error-content/RdiDeployErrorContent.tsx # redisinsight/ui/src/components/notifications/error-messages.tsx # redisinsight/ui/src/components/notifications/success-messages.tsx # redisinsight/ui/src/components/oauth/oauth-connect-free-db/OAuthConnectFreeDb.tsx # redisinsight/ui/src/components/oauth/oauth-select-account-dialog/OAuthSelectAccountDialog.spec.tsx # redisinsight/ui/src/components/oauth/oauth-select-account-dialog/OAuthSelectAccountDialog.tsx # redisinsight/ui/src/components/oauth/oauth-select-plan/OAuthSelectPlan.spec.tsx # redisinsight/ui/src/components/oauth/oauth-select-plan/OAuthSelectPlan.tsx # redisinsight/ui/src/components/oauth/oauth-select-plan/constants.ts # redisinsight/ui/src/components/oauth/oauth-sign-in-button/OAuthSignInButton.tsx # redisinsight/ui/src/components/oauth/oauth-sso-dialog/OAuthSsoDialog.tsx # redisinsight/ui/src/components/oauth/oauth-sso/oauth-autodiscovery/OAuthAutodiscovery.tsx # redisinsight/ui/src/components/oauth/oauth-sso/oauth-create-db/OAuthCreateDb.tsx # redisinsight/ui/src/components/oauth/oauth-sso/oauth-create-db/styles.module.scss # redisinsight/ui/src/components/oauth/oauth-sso/oauth-sign-in/OAuthSignIn.tsx # redisinsight/ui/src/components/oauth/oauth-sso/oauth-sign-in/styles.module.scss # redisinsight/ui/src/components/oauth/oauth-user-profile/OAuthUserProfile.tsx # redisinsight/ui/src/components/oauth/shared/oauth-advantages/OAuthAdvantages.tsx # redisinsight/ui/src/components/oauth/shared/oauth-agreement/OAuthAgreement.tsx # redisinsight/ui/src/components/oauth/shared/oauth-form/components/oauth-sso-form/OAuthSsoForm.tsx # redisinsight/ui/src/components/oauth/shared/oauth-recommended-settings/OAuthRecommendedSettings.tsx # redisinsight/ui/src/components/oauth/shared/oauth-social-buttons/OAuthSocialButtons.tsx # redisinsight/ui/src/components/onboarding-tour/OnboardingTour.tsx # redisinsight/ui/src/components/page-header/PageHeader.tsx # redisinsight/ui/src/components/page-placeholder/PagePlaceholder.tsx # redisinsight/ui/src/components/promo-link/PromoLink.tsx # redisinsight/ui/src/components/query/query-actions/QueryActions.tsx # redisinsight/ui/src/components/query/query-card/QueryCard.tsx # redisinsight/ui/src/components/query/query-card/QueryCardCliPlugin/QueryCardCliPlugin.tsx # redisinsight/ui/src/components/query/query-card/QueryCardCliResultWrapper/QueryCardCliResultWrapper.tsx # redisinsight/ui/src/components/query/query-card/QueryCardHeader/QueryCardHeader.tsx # redisinsight/ui/src/components/query/query-tutorials/QueryTutorials.tsx # redisinsight/ui/src/components/rdi-instance-header/RdiInstanceHeader.tsx # redisinsight/ui/src/components/recommendation/badge-icon/BadgeIcon.tsx # redisinsight/ui/src/components/recommendation/content-element/ContentElement.tsx # redisinsight/ui/src/components/recommendation/internal-link/InternalLink.tsx # redisinsight/ui/src/components/recommendation/recommendation-badges/RecommendationBadges.tsx # redisinsight/ui/src/components/recommendation/recommendation-copy-component/RecommendationCopyComponent.tsx # redisinsight/ui/src/components/recommendation/recommendation-voting/RecommendationVoting.tsx # redisinsight/ui/src/components/recommendation/recommendation-voting/components/vote-option/VoteOption.tsx # redisinsight/ui/src/components/recommendation/recommendation-voting/components/vote-option/utils.ts # redisinsight/ui/src/components/scan-more/ScanMore.tsx # redisinsight/ui/src/components/settings-item/SettingItem.tsx # redisinsight/ui/src/components/shortcuts-flyout/ShortcutsFlyout.spec.tsx # redisinsight/ui/src/components/shortcuts-flyout/ShortcutsFlyout.tsx # redisinsight/ui/src/components/side-panels/components/header/Header.tsx # redisinsight/ui/src/components/side-panels/components/insights-panel/InsightsPanel.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/assistance-chat/AssistanceChat.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/chats-wrapper/ChatsWrapper.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/expert-chat/components/expert-chat-header/ExpertChatHeader.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/expert-chat/components/no-indexes-initial-message/NoIndexesInitialMessage.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/shared/chat-form/ChatForm.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/shared/chat-history/ChatHistory.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/shared/chat-history/texts.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/shared/error-message/ErrorMessage.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/shared/restart-chat/RestartChat.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/texts.tsx # redisinsight/ui/src/components/side-panels/panels/ai-assistant/components/welcome-ai-assistant/WelcomeAiAssistant.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/DeleteTutorialButton/DeleteTutorialButton.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/EmptyPrompt/EmptyPrompt.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/Group/Group.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/InternalLink/InternalLink.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/InternalPage/InternalPage.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/Navigation/Navigation.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/Pagination/Pagination.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/PlainText/PlainText.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/UploadTutorialForm/UploadTutorialForm.tsx # redisinsight/ui/src/components/side-panels/panels/enablement-area/EnablementArea/components/WelcomeMyTutorials/WelcomeMyTutorials.tsx # redisinsight/ui/src/components/side-panels/panels/live-time-recommendations/LiveTimeRecommendations.tsx # redisinsight/ui/src/components/side-panels/panels/live-time-recommendations/components/popover-run-analyze/PopoverRunAnalyze.tsx # redisinsight/ui/src/components/side-panels/panels/live-time-recommendations/components/recommendation/Recommendation.tsx # redisinsight/ui/src/components/side-panels/panels/live-time-recommendations/components/welcome-screen/WelcomeScreen.tsx # redisinsight/ui/src/components/table-column-search-trigger/TableColumnSearchTrigger.tsx # redisinsight/ui/src/components/table-column-search/TableColumnSearch.tsx # redisinsight/ui/src/components/triggers/copilot-trigger/CopilotTrigger.tsx # redisinsight/ui/src/components/triggers/insights-trigger/InsightsTrigger.tsx # redisinsight/ui/src/components/upload-file/UploadFile.tsx # redisinsight/ui/src/components/upload-warning/UploadWarning.tsx # redisinsight/ui/src/components/virtual-grid/VirtualGrid.tsx # redisinsight/ui/src/components/virtual-table/VirtualTable.tsx # redisinsight/ui/src/constants/help-texts.tsx # redisinsight/ui/src/constants/modules.ts # redisinsight/ui/src/constants/texts.tsx # redisinsight/ui/src/constants/themes.tsx # redisinsight/ui/src/packages/clients-list/src/components/table-view/TableView.tsx # redisinsight/ui/src/packages/redisearch/src/components/TableInfoResult/TableInfoResult.tsx # redisinsight/ui/src/packages/redisearch/src/components/TableResult/TableResult.tsx # redisinsight/ui/src/packages/redisgraph/src/App.tsx # redisinsight/ui/src/packages/redisgraph/src/Graph.tsx # redisinsight/ui/src/packages/redistimeseries-app/src/components/Chart/ChartConfigForm.tsx # redisinsight/ui/src/packages/ri-explain/src/Explain.tsx # redisinsight/ui/src/packages/ri-explain/src/Node.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases-result/RedisCloudDatabasesResult.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases-result/RedisCloudDatabasesResultPage.spec.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases-result/RedisCloudDatabasesResultPage.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases/RedisCloudDatabases/RedisCloudDatabases.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases/RedisCloudDatabasesPage.spec.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-databases/RedisCloudDatabasesPage.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-subscriptions/RedisCloudSubscriptions/RedisCloudSubscriptions.tsx # redisinsight/ui/src/pages/autodiscover-cloud/redis-cloud-subscriptions/RedisCloudSubscriptionsPage.tsx # redisinsight/ui/src/pages/autodiscover-sentinel/sentinel-databases-result/SentinelDatabasesResultPage.tsx # redisinsight/ui/src/pages/autodiscover-sentinel/sentinel-databases-result/components/SentinelDatabasesResult/SentinelDatabasesResult.tsx # redisinsight/ui/src/pages/autodiscover-sentinel/sentinel-databases/SentinelDatabasesPage.spec.tsx # redisinsight/ui/src/pages/autodiscover-sentinel/sentinel-databases/SentinelDatabasesPage.tsx # redisinsight/ui/src/pages/autodiscover-sentinel/sentinel-databases/components/SentinelDatabases/SentinelDatabases.tsx # redisinsight/ui/src/pages/browser/BrowserPage.tsx # redisinsight/ui/src/pages/browser/components/action-footer/ActionFooter.tsx # redisinsight/ui/src/pages/browser/components/actions/Actions.tsx # redisinsight/ui/src/pages/browser/components/add-items-actions/AddItemsActions.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKey.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyCommonFields/AddKeyCommonFields.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyHash/AddKeyHash.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyList/AddKeyList.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyReJSON/AddKeyReJSON.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeySet/AddKeySet.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyString/AddKeyString.tsx # redisinsight/ui/src/pages/browser/components/add-key/AddKeyZset/AddKeyZset.tsx # redisinsight/ui/src/pages/browser/components/add-multiple-fields/AddMultipleFields.tsx # redisinsight/ui/src/pages/browser/components/browser-search-panel/BrowserSearchPanel.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActionSummary/BulkActionSummary.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActions.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActionsInfo/BulkActionsInfo.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActionsTabs/BulkActionsTabs.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDelete.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDeleteContent/BulkDeleteContent.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDeleteFooter/BulkDeleteFooter.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDeleteSummary/BulkDeleteSummary.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkDelete/BulkDeleteSummaryButton/BulkDeleteSummaryButton.tsx # redisinsight/ui/src/pages/browser/components/bulk-actions/BulkUpload/BulkUpload.tsx # redisinsight/ui/src/pages/browser/components/create-redisearch-index/CreateRedisearchIndex.tsx # redisinsight/ui/src/pages/browser/components/create-redisearch-index/CreateRedisearchIndexWrapper.tsx # redisinsight/ui/src/pages/browser/components/delete-key-popover/DeleteKeyPopover.tsx # redisinsight/ui/src/pages/browser/components/filter-key-type/FilterKeyType.tsx # redisinsight/ui/src/pages/browser/components/key-row-name/KeyRowName.tsx # redisinsight/ui/src/pages/browser/components/key-row-size/KeyRowSize.tsx # redisinsight/ui/src/pages/browser/components/key-row-ttl/KeyRowTTL.tsx # redisinsight/ui/src/pages/browser/components/key-tree/KeyTreeSettings/KeyTreeSettings.tsx # redisinsight/ui/src/pages/browser/components/keys-header/KeysHeader.tsx # redisinsight/ui/src/pages/browser/components/load-sample-data/LoadSampleData.tsx # redisinsight/ui/src/pages/browser/components/no-keys-found/NoKeysFound.tsx # redisinsight/ui/src/pages/browser/components/onboarding-start-popover/OnboardingStartPopover.tsx # redisinsight/ui/src/pages/browser/components/popover-delete/PopoverDelete.tsx # redisinsight/ui/src/pages/browser/components/redisearch-key-list/RediSearchIndexesList.tsx # redisinsight/ui/src/pages/browser/components/search-key-list/SearchKeyList.tsx # redisinsight/ui/src/pages/browser/components/virtual-tree/VirtualTree.tsx # redisinsight/ui/src/pages/browser/components/virtual-tree/components/Node/Node.tsx # redisinsight/ui/src/pages/browser/modules/key-details-header/KeyDetailsHeader.tsx # redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-delete/KeyDetailsHeaderDelete.tsx # redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-formatter/KeyDetailsHeaderFormatter.styles.tsx # redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-formatter/KeyDetailsHeaderFormatter.tsx # redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-name/KeyDetailsHeaderName.tsx # redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-size-length/KeyDetailsHeaderSizeLength.tsx # redisinsight/ui/src/pages/browser/modules/key-details-header/components/key-details-header-ttl/KeyDetailsHeaderTTL.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/change-editor-type-button/ChangeEditorTypeButton.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/HashDetails.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/add-hash-fields/AddHashFields.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/hash-details-table/HashDetailsTable.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-actions/add-items-action/AddItemsAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-actions/edit-item-action/EditItemAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-actions/remove-items-action/RemoveItemsAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-actions/stream-items-action/StreamItemsAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-subheader/KeyDetailsSubheader.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/list-details/add-list-elements/AddListElements.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/list-details/list-details-table/ListDetailsTable.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/list-details/remove-list-elements/RemoveListElements.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/modules-type-details/ModulesTypeDetails.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/no-key-selected/NoKeySelected.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/RejsonDetailsWrapper.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/add-item-field-action/AddItemFieldAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/add-item/AddItem.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/add-item/ConfirmOverwrite.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/edit-entire-item-action/EditEntireItemAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/edit-item-field-action/EditItemFieldAction.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/monaco-editor/MonacoEditor.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/rejson-details/RejsonDetails.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/rejson-object/RejsonObject.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/set-details/add-set-members/AddSetMembers.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/set-details/set-details-table/SetDetailsTable.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/add-stream-entity/AddStreamEntries.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/add-stream-entity/StreamEntryFields/StreamEntryFields.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/add-stream-group/AddStreamGroup.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/consumers-view/ConsumersViewWrapper.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/groups-view/GroupsViewWrapper.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/messages-view/MessageAckPopover/MessageAckPopover.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/messages-view/MessageClaimPopover/MessageClaimPopover.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/messages-view/MessagesViewWrapper.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/stream-data-view/StreamDataViewWrapper.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/stream-details-body/StreamDetailsBody.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/stream-details/stream-tabs/StreamTabs.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/string-details/string-details-value/StringDetailsValue.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/text-details-wrapper/TextDetailsWrapper.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/too-long-key-name-details/TooLongKeyNameDetails.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/unsupported-type-details/UnsupportedTypeDetails.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/zset-details/ZSetDetails.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/zset-details/add-zset-members/AddZsetMembers.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/zset-details/zset-details-table/ZSetDetailsTable.tsx # redisinsight/ui/src/pages/browser/modules/key-details/shared/editable-input/EditableInput.tsx # redisinsight/ui/src/pages/browser/modules/key-details/shared/editable-popover/EditablePopover.tsx # redisinsight/ui/src/pages/browser/modules/key-details/shared/editable-textarea/EditableTextArea.tsx # redisinsight/ui/src/pages/browser/modules/key-details/shared/editable-textarea/styles.module.scss # redisinsight/ui/src/pages/cluster-details/components/cluser-nodes-table/ClusterNodesTable.tsx # redisinsight/ui/src/pages/cluster-details/components/cluster-details-graphics/ClusterDetailsGraphics.tsx # redisinsight/ui/src/pages/cluster-details/components/cluster-details-header/ClusterDetailsHeader.tsx # redisinsight/ui/src/pages/database-analysis/components/analysis-ttl-view/ExpirationGroupsView.tsx # redisinsight/ui/src/pages/database-analysis/components/base/TableTextBtn.tsx # redisinsight/ui/src/pages/database-analysis/components/base/TextBtn.tsx # redisinsight/ui/src/pages/database-analysis/components/data-nav-tabs/DatabaseAnalysisTabs.tsx # redisinsight/ui/src/pages/database-analysis/components/empty-analysis-message/EmptyAnalysisMessage.tsx # redisinsight/ui/src/pages/database-analysis/components/header/Header.tsx # redisinsight/ui/src/pages/database-analysis/components/recommendations-view/Recommendations.tsx # redisinsight/ui/src/pages/database-analysis/components/summary-per-data/SummaryPerData.tsx # redisinsight/ui/src/pages/database-analysis/components/top-keys/Table.tsx # redisinsight/ui/src/pages/database-analysis/components/top-keys/TopKeys.tsx # redisinsight/ui/src/pages/database-analysis/components/top-namespace/Table.tsx # redisinsight/ui/src/pages/database-analysis/components/top-namespace/TopNamespace.tsx # redisinsight/ui/src/pages/home/HomePage.tsx # redisinsight/ui/src/pages/home/components/add-database-screen/AddDatabaseScreen.tsx # redisinsight/ui/src/pages/home/components/add-database-screen/components/connection-url/ConnectionUrl.tsx # redisinsight/ui/src/pages/home/components/add-database-screen/components/connectivity-options/ConnectivityOptions.tsx # redisinsight/ui/src/pages/home/components/add-database-screen/constants.tsx # redisinsight/ui/src/pages/home/components/cloud-connection/CloudConnectionFormWrapper.tsx # redisinsight/ui/src/pages/home/components/cloud-connection/cloud-connection-form/CloudConnectionForm.tsx # redisinsight/ui/src/pages/home/components/cluster-connection/ClusterConnectionFormWrapper.tsx # redisinsight/ui/src/pages/home/components/cluster-connection/cluster-connection-form/ClusterConnectionForm.tsx # redisinsight/ui/src/pages/home/components/database-alias/DatabaseAlias.tsx # redisinsight/ui/src/pages/home/components/database-list-component/DatabasesListWrapper.tsx # redisinsight/ui/src/pages/home/components/database-list-header/DatabaseListHeader.tsx # redisinsight/ui/src/pages/home/components/database-manage-tags-modal/ManageTagsModal.spec.tsx # redisinsight/ui/src/pages/home/components/database-manage-tags-modal/ManageTagsModal.tsx # redisinsight/ui/src/pages/home/components/database-manage-tags-modal/TagInputField.tsx # redisinsight/ui/src/pages/home/components/database-manage-tags-modal/TagSuggestions.tsx # redisinsight/ui/src/pages/home/components/database-panel-dialog/DatabasePanelDialog.spec.tsx # redisinsight/ui/src/pages/home/components/database-panel-dialog/DatabasePanelDialog.tsx # redisinsight/ui/src/pages/home/components/db-status/DbStatus.tsx # redisinsight/ui/src/pages/home/components/db-status/texts.tsx # redisinsight/ui/src/pages/home/components/empty-message/EmptyMessage.tsx # redisinsight/ui/src/pages/home/components/form/DatabaseForm.tsx # redisinsight/ui/src/pages/home/components/form/DbCompressor.tsx # redisinsight/ui/src/pages/home/components/form/DbIndex.tsx # redisinsight/ui/src/pages/home/components/form/DbInfo.tsx # redisinsight/ui/src/pages/home/components/form/ForceStandalone.tsx # redisinsight/ui/src/pages/home/components/form/KeyFormatSelector.tsx # redisinsight/ui/src/pages/home/components/form/Messages.tsx # redisinsight/ui/src/pages/home/components/form/SSHDetails.tsx # redisinsight/ui/src/pages/home/components/form/TlsDetails.tsx # redisinsight/ui/src/pages/home/components/form/sentinel/DbInfoSentinel.tsx # redisinsight/ui/src/pages/home/components/form/sentinel/PrimaryGroupSentinel.tsx # redisinsight/ui/src/pages/home/components/form/sentinel/SentinelHostPort.tsx # redisinsight/ui/src/pages/home/components/form/sentinel/SentinelMasterDatabase.tsx # redisinsight/ui/src/pages/home/components/import-database/ImportDatabase.tsx # redisinsight/ui/src/pages/home/components/import-database/components/ResultsLog/ResultsLog.tsx # redisinsight/ui/src/pages/home/components/import-database/components/TableResult/TableResult.tsx # redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/ManualConnectionForm.tsx # redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/components/CloneConnection.tsx # redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/components/FooterActions.tsx # redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/constants.ts # redisinsight/ui/src/pages/home/components/manual-connection/manual-connection-form/forms/EditSentinelConnection.tsx # redisinsight/ui/src/pages/home/components/search-databases-list/SearchDatabasesList.tsx # redisinsight/ui/src/pages/home/components/sentinel-connection/SentinelConnectionWrapper.tsx # redisinsight/ui/src/pages/home/components/sentinel-connection/sentinel-connection-form/SentinelConnectionForm.tsx # redisinsight/ui/src/pages/home/components/tags-cell/TagsCell.tsx # redisinsight/ui/src/pages/home/components/tags-cell/TagsCellHeader.tsx # redisinsight/ui/src/pages/not-found-error/NotFoundErrorPage.tsx # redisinsight/ui/src/pages/pub-sub/PubSubPage.tsx # redisinsight/ui/src/pages/pub-sub/components/messages-list/EmptyMessagesList/EmptyMessagesList.tsx # redisinsight/ui/src/pages/pub-sub/components/messages-list/MessagesList/MessagesList.tsx # redisinsight/ui/src/pages/pub-sub/components/publish-message/PublishMessage.tsx # redisinsight/ui/src/pages/pub-sub/components/subscription-panel/SubscriptionPanel.tsx # redisinsight/ui/src/pages/pub-sub/components/subscription-panel/components/clickable-append-info/ClickableAppendInfo.tsx # redisinsight/ui/src/pages/pub-sub/components/subscription-panel/components/patternsInfo/PatternsInfo.tsx # redisinsight/ui/src/pages/rdi/components/confirmation-popover/ConfirmationPopover.tsx # redisinsight/ui/src/pages/rdi/home/RdiPage.spec.tsx # redisinsight/ui/src/pages/rdi/home/RdiPage.tsx # redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionForm.tsx # redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionFormWrapper.spec.tsx # redisinsight/ui/src/pages/rdi/home/connection-form/ConnectionFormWrapper.tsx # redisinsight/ui/src/pages/rdi/home/empty-message/EmptyMessage.tsx # redisinsight/ui/src/pages/rdi/home/header/RdiHeader.tsx # redisinsight/ui/src/pages/rdi/home/instance-list/RdiInstancesListWrapper.tsx # redisinsight/ui/src/pages/rdi/home/search/SearchRdiList.tsx # redisinsight/ui/src/pages/rdi/instance/components/download/Download.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/buttons/deploy-pipeline-button/DeployPipelineButton.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/buttons/reset-pipeline-button/ResetPipelineButton.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/buttons/start-pipeline-button/StartPipelineButton.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/buttons/stop-pipeline-button/StopPipelineButton.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/current-pipeline-status/CurrentPipelineStatus.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/fetch-pipeline-popover/FetchPipelinePopover.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/pipeline-actions/PipelineActions.tsx # redisinsight/ui/src/pages/rdi/instance/components/header/components/rdi-config-file-action-menu/RdiConfigFileActionMenu.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/jobs-panel/Panel.spec.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/jobs-panel/Panel.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/jobs-tree/JobsTree.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/navigation/Navigation.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/source-pipeline-dialog/SourcePipelineModal.spec.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/source-pipeline-dialog/SourcePipelineModal.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/tab/Tab.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/template-button/TemplateButton.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/template-form/TemplateForm.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/template-popover/TemplatePopover.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/test-connections-log/TestConnectionsLog.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/test-connections-panel/TestConnectionsPanel.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/test-connections-table/TestConnectionsTable.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/upload-modal/UploadModal.spec.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/upload-modal/components/upload-dialog/UploadDialog.spec.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/components/upload-modal/components/upload-dialog/UploadDialog.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/pages/config/Config.tsx # redisinsight/ui/src/pages/rdi/pipeline-management/pages/job/Job.tsx # redisinsight/ui/src/pages/rdi/statistics/StatisticsPage.tsx # redisinsight/ui/src/pages/rdi/statistics/clients/Clients.tsx # redisinsight/ui/src/pages/rdi/statistics/data-streams/DataStreams.tsx # redisinsight/ui/src/pages/rdi/statistics/empty/Empty.tsx # redisinsight/ui/src/pages/rdi/statistics/status/Status.tsx # redisinsight/ui/src/pages/rdi/statistics/target-connections/TargetConnections.tsx # redisinsight/ui/src/pages/redis-cluster/RedisClusterDatabases.tsx # redisinsight/ui/src/pages/redis-cluster/RedisClusterDatabasesPage.tsx # redisinsight/ui/src/pages/redis-cluster/RedisClusterDatabasesResult.tsx # redisinsight/ui/src/pages/settings/SettingsPage.tsx # redisinsight/ui/src/pages/settings/components/cloud-settings/CloudSettings.tsx # redisinsight/ui/src/pages/settings/components/cloud-settings/components/user-api-keys-table/UserApiKeysTable.tsx # redisinsight/ui/src/pages/settings/components/general-settings/datetime-formatter/DateTimeFormatter.tsx # redisinsight/ui/src/pages/settings/components/general-settings/datetime-formatter/components/datetime-form/DatetimeForm.tsx # redisinsight/ui/src/pages/settings/components/general-settings/datetime-formatter/components/timezone-form/TimezoneForm.tsx # redisinsight/ui/src/pages/settings/components/theme-settings/ThemeSettings.tsx # redisinsight/ui/src/pages/settings/components/workbench-settings/WorkbenchSettings.tsx # redisinsight/ui/src/pages/slow-log/SlowLogPage.tsx # redisinsight/ui/src/pages/slow-log/components/Actions/Actions.tsx # redisinsight/ui/src/pages/slow-log/components/EmptySlowLog/EmptySlowLog.tsx # redisinsight/ui/src/pages/slow-log/components/SlowLogConfig/SlowLogConfig.tsx # redisinsight/ui/src/pages/slow-log/components/SlowLogTable/SlowLogTable.tsx # redisinsight/ui/src/pages/workbench/components/wb-no-results-message/WbNoResultsMessage.tsx # redisinsight/ui/src/pages/workbench/components/wb-results/WBResults/WBResults.tsx # redisinsight/ui/src/pages/workbench/constants.ts # redisinsight/ui/src/services/tests/routing.spec.tsx # redisinsight/ui/src/templates/instance-page-template/InstancePageTemplate.tsx # redisinsight/ui/src/utils/test-utils.tsx # yarn.lock
…nts-style # Conflicts: # jest.config.cjs # redisinsight/ui/src/components/base/tooltip/HoverContent.tsx # redisinsight/ui/src/components/query/query-card/QueryCardHeader/QueryCardHeader.tsx # redisinsight/ui/src/pages/browser/modules/key-details/components/rejson-details/components/add-item/AddItem.tsx
…nts-style # Conflicts: # redisinsight/ui/src/pages/vector-search/query/HeaderActions.styles.ts # redisinsight/ui/src/pages/vector-search/query/HeaderActions.tsx
Code Coverage - Frontend unit tests
Test suite run success5089 tests passing in 666 suites. Report generated by 🧪jest coverage report action from 9e2833e |
:root { | ||
// spacing | ||
//2.5px/0.2rem | ||
--size-xxs: ${({ theme }) => theme.core.space.space025}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice! I think that in a separate effort we can remove all these "--size-xxs" variables and just replace the in the components we use theme with the theme ones. Components are not that much I think (list, horizontal rule, horizontal spacer, loading content, spacer and few more occurrences), and since you've mapped the values here it would be easy to just replace.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, purely for brevity using var(--size-s)
is far shorter to type than ${({ theme }) => theme.core.space.space025}
so I am not sure which one to leave in.
This is all open for discussion.
|
||
import { useTheme } from '@redis-ui/styles' | ||
|
||
import { RiPopover, RiTooltip } from 'uiBase/index' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I see this uiBase/index is used here and few more places. Is there a reason why not just use uiBase/display instead?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No reason, just that EVERYTHING is exported in index
and this is one thing that we should decide on
<UploadModal> | ||
<div>test</div> | ||
</UploadModal> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
and not to forget to remove this 😄
alias: { | ||
uiSrc: path.resolve(__dirname, '../ui/src'), | ||
apiSrc: path.resolve(__dirname, '../api/src'), | ||
uiBase: path.resolve(__dirname, '../ui/src/components/base'), |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Uh, nice! ❤️
import React from 'react' | ||
import { Banner } from '@redis-ui/components' | ||
|
||
export type CallOutProps = Omit<React.ComponentProps<typeof Banner>, 'show'> & { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we keep the props with the same name convention as components? A.k.a. RiCallOutProps
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is probably not a bad idea!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
+1
}, | ||
}, | ||
} | ||
export const GlobalStyle = createGlobalStyle<{ theme: Theme }>` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need something that resets all the browser defaults for margins, paddings, etc.. Something like https://www.npmjs.com/package/reset-css
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think redis ui styles have something like that -
import '@redis-ui/styles/normalized-styles.css' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But never actually looked at the css, so ti can be something entirely different
const SummaryContainer = styled(RiRow)` | ||
padding-top: 18px; | ||
` |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm just brainstorming here, but what if we introduce https://www.npmjs.com/package/styled-system ?
What is the problem that bugs me: We'll introduce (and we already did) a lot of components with small styling fixes, causing a lot of boilerplate:
const RiRow = ... // this is OK
// This is necessary because we can't use <RiRow pt="18px" />
const SummaryContainer = styled(RiRow)`
padding-top: 18px;
`
// Our end goal would be to remove the hardcoded pixels
<RiRow pt="small" /> or <RiRow pt={3} />
So what do you think?
Ofc, this is dead project, so as styled-components, but I guess it will help us if we migrate to something similar to tailwindcss in the future.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The issue I have with this is where we stop with the props.
Do we do margins, font styles, colors etc too?
There will always be edge cases. I would love for us to have a lego style design system, where you have just predefined components and props and only ever use that ( i think this is @ArtemHoruzhenko's dream)
But the design and dev effort required makes me think it is not going to happen.
But I am very much open to suggestions. Abstracting the components the way we did means, that changing them in one place will be reflected everywhere so that is already a small win
export * from './layout' | ||
export * from './display' | ||
export * from './forms' | ||
export * from './text' | ||
export * from './shared/WindowControlGroup' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
so is this barrel file going to be used for accessing the base components?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is possible to access them all from here, unfortunatelly it has to be like from "@uiBase/index"
and honestly I still like it more like import {RiRow, RiTable} from "@uiBase/layout"
it makes it grouped more contextual.
BUT - if most of the team prefers base barrel file, then we'll use it
import { ChevronDownIcon, RefreshIcon, RiIcon } from 'uiBase/icons' | ||
import { RiIconButton } from 'uiBase/forms' | ||
import { RiColorText } from 'uiBase/text' | ||
import { RiSwitchInput } from 'uiBase/inputs' | ||
import { RiPopover, RiTooltip } from 'uiBase/index' |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
barrel or no barrel imports; mix is a bit confusing imo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All imports here are barrel imports, the only confising thing for me is why inputs are not part of the forms subtree, but the reallity is that I don't care that much where are things stored
<StyledImage src={src} alt={alt} $size={$size} {...rest} /> | ||
) | ||
|
||
export default RiImage |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
default export + a single barrel file that does export { default as RiImage } from ...
could resolve the suggested auto import issue
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Or just export const ...
why introduce extra files that don't do anything meaningful? Single file per single export ....
border-bottom: 1px solid | ||
${({ theme }: { theme: ReturnType<typeof useTheme> }) => | ||
theme.color.gray400}; | ||
theme.color.gray400}; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
looks like you need to run format on the branch
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
format runs on safe, but will do it again
} from '@redis-ui/components' | ||
|
||
export type RedisFormFieldProps = ComponentProps<typeof RedisFormField> & { | ||
infoIconProps?: any |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can this have a type?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not sure, I don't think I have implemented this one
import React from 'react' | ||
import { BaseButton } from './Button' | ||
import { ButtonProps } from './button.styles' | ||
|
||
export const RiPrimaryButton = (props: ButtonProps) => ( | ||
<BaseButton {...props} variant="primary" /> | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
see my comment in RiDestructiveButton.tsx
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Again, a design system is the one that has defined looks for primary, secondary, success, failure, danger, info states and typing RiPri will give you this button instead a button where you have to then add variant, then select the variant.
This is both more semantic and more ergonomic and there are 3-4 button variants, I don't think you will sturggle that much remembering them.
And finally, there is export for the BaseButton and if you hate that much semantic buttons feel free to use that one.
import React from 'react' | ||
import { ButtonProps } from './button.styles' | ||
import { BaseButton } from './Button' | ||
|
||
export const RiDestructiveButton = (props: ButtonProps) => ( | ||
<BaseButton {...props} variant="destructive" /> | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what is the reason behind these button wrappers? Is it to prevent the consumer from passing variant prop?
If so, it might be better to have a single RiButton wrapper on our end with allowed variants and their implementations
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nope, it is to avoid variants.
To me this is more semantic than <RIButton variant="danger"
import { LinkProps } from '@redis-ui/components' | ||
import { StyledLink } from './link.styles' | ||
|
||
export const RiLink = ({ color, ...props }: LinkProps) => ( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Follow up on the following suggestion https://github.com/redis/RedisInsight/pull/4841/files#r2292865447
Looking at this example, here we don't alter the base interface in any way, but since we're implementing RiComponents as a middle layer between RedisInsight and the outer world, does it make sense to define our own interfaces for each component we wrap?
export interface RiLinkProps extends LinkProps {}
export const RiLink = ({ color, ...props }: RiLinkProps) => (
This way, our codebase will be bound to RiLinkProps
and in case we need to switch the components library (once again), we'll do it in a single place (in theory).
Yes, it will look a bit meaningless, but I'm thinking out loud.
|
||
export const HoverContent = ({ title, content }: RiTooltipContentProps) => ( | ||
<RiCol> | ||
{title && <RiTitle size="S">{title}</RiTitle>} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Note: I see we prefer using mostly string literal union types (size: "S" | "M" | "L"
), and I see it to be inconsistent across the codebase and the different components.
Here, in this component, the size is with a capital "S". In other components, we rely on lowercase strings (without a union type). In other components, we do lowercase everything and then apply some custom handling to transform the size into rem/px.
And while it's not a big deal, I feel it will look way more consistent if we use enums. Yes, it's my own personal preference, maybe, but we'll no longer care whether it's a capital or lowercase "S", and even if it's type checked or we entered something invalid. We simply put Size.M
and that's all.
PS: This is not related in any way to the changes introduced in this pull request, it's a general note.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the inconsistency in casing is because EUI uses lowercase, redis-ui upper case - hence the mix
And with or without enums, you will have to transofrm the logic to px, em or whatever - if you want to use theme values
redisinsight/ui/src/components/base/forms/fieldset/RiFormFieldset.styles.ts
Show resolved
Hide resolved
|
||
const ASC = 'asc' | ||
const DESC = 'desc' | ||
export type Direction = typeof ASC | typeof DESC |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: I've already mentioned this in other comment, but this is a great example in which using enum will make it simpler.
And yes, it's a subjective statement, I'm aware of that "more readable" is not a strong argument 😀
export enum Direction {
Asc = 'asc',
Desc = 'desc'
}
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Tremendous effort, nice job! I really like how things are getting more organized now!
Looking at this changeset, I think it could be helpful if we wrote down some of these internal conventions so we can follow them consistently in the future. Maybe something simple like an inline README in markdown that acts as a mini style guide.
It doesn’t need to be complex, just a quick reference with things like:
- prefixing components with
RiComponent
- how to structure and export files
- how to handle interfaces
- and maybe generic patterns we want to follow
That way, it's easy to get started, or to check later on how we prefer to do things.
Additionally, I know we've raised this a few times, but I think it would really help to have a place where we can see all the components we have and how to use them. Having an internal Storybook might be too much effort to maintain (though it would be a great addition), but even just bringing back the playground you prepared would be a solid starting point.
This is, of course, an additional task, complementary to this refactoring. I'm just mentioning it as a reminder so we can decide which path we want to follow and plan accordingly.
Rearrange and Rename Base Components (RI-7231)
Summary
This PR reorganizes and renames custom components in the base directory to improve consistency and maintainability. The implementation standardizes naming conventions and export patterns across the codebase.
Changes
Why
This change improves code organization and maintainability by:
Testing