diff --git a/redisinsight/ui/src/components/base/forms/FormField.tsx b/redisinsight/ui/src/components/base/forms/FormField.tsx index 5c21b84509..265fd21cd4 100644 --- a/redisinsight/ui/src/components/base/forms/FormField.tsx +++ b/redisinsight/ui/src/components/base/forms/FormField.tsx @@ -1,16 +1,24 @@ import React, { ComponentProps } from 'react' -import { FormField as RedisFormField, TooltipProvider } from '@redis-ui/components' +import { + FormField as RedisFormField, + TooltipProvider, + LabelProps, +} from '@redis-ui/components' + +export type RiInfoIconProps = LabelProps['infoIconProps'] export type RedisFormFieldProps = ComponentProps & { - infoIconProps?: any + infoIconProps?: RiInfoIconProps } export function FormField(props: RedisFormFieldProps) { // eslint-disable-next-line react/destructuring-assignment if (props.infoIconProps) { - return - - + return ( + + + + ) } return } diff --git a/redisinsight/ui/src/components/divider/Divider.spec.tsx b/redisinsight/ui/src/components/divider/Divider.spec.tsx index 1db4931603..9893551e5e 100644 --- a/redisinsight/ui/src/components/divider/Divider.spec.tsx +++ b/redisinsight/ui/src/components/divider/Divider.spec.tsx @@ -1,9 +1,9 @@ import React from 'react' import { instance, mock } from 'ts-mockito' import { render } from 'uiSrc/utils/test-utils' -import Divider, { Props } from './Divider' +import Divider, { DividerProps } from './Divider' -const mockedProps = mock() +const mockedProps = mock() describe('Divider', () => { it('should render', () => { diff --git a/redisinsight/ui/src/components/divider/Divider.styles.ts b/redisinsight/ui/src/components/divider/Divider.styles.ts new file mode 100644 index 0000000000..bd905a9e56 --- /dev/null +++ b/redisinsight/ui/src/components/divider/Divider.styles.ts @@ -0,0 +1,57 @@ +import { HTMLAttributes } from 'react' +import styled, { css } from 'styled-components' + +export type DividerVariant = 'fullWidth' | 'half' +export type DividerOrientation = 'horizontal' | 'vertical' + +const dividerStyles = { + orientation: { + horizontal: css` + width: 100%; + height: 1px; + `, + vertical: css` + width: 1px; + height: 100%; + `, + }, + variant: { + fullWidth: { + horizontal: css``, + vertical: css``, + }, + half: { + horizontal: css` + width: 50%; + `, + vertical: css` + height: 50%; + `, + }, + }, +} + +export interface StyledDividerProps extends HTMLAttributes { + $color?: string + $orientation?: DividerOrientation + $variant?: DividerVariant +} + +export const StyledDividerWrapper = styled.div>` + display: flex; + align-items: center; + justify-content: center; +` + +export const StyledDivider = styled.hr` + border: none; + background-color: ${({ + theme, + $color = theme.semantic.color.background.neutral500, + }) => $color}; + + ${({ $orientation = 'horizontal' }) => + dividerStyles.orientation[$orientation]} + ${({ $variant = 'fullWidth', $orientation = 'horizontal' }) => + dividerStyles.variant[$variant][$orientation]} +` diff --git a/redisinsight/ui/src/components/divider/Divider.tsx b/redisinsight/ui/src/components/divider/Divider.tsx index 68129953cd..4c2bc0c67f 100644 --- a/redisinsight/ui/src/components/divider/Divider.tsx +++ b/redisinsight/ui/src/components/divider/Divider.tsx @@ -1,42 +1,33 @@ import React from 'react' -import cx from 'classnames' -import styles from './styles.module.scss' +import { + StyledDividerWrapper, + StyledDivider, + DividerVariant, + DividerOrientation, +} from './Divider.styles' -export interface Props { +export interface DividerProps { + orientation?: DividerOrientation + variant?: DividerVariant color?: string - colorVariable?: string - orientation?: 'horizontal' | 'vertical' - variant?: 'fullWidth' | 'middle' | 'half' className?: string - style?: any } const Divider = ({ orientation, variant, - className, color, - colorVariable, + className, ...props -}: Props) => ( -
-
( + + -
+ ) export default Divider diff --git a/redisinsight/ui/src/components/divider/styles.module.scss b/redisinsight/ui/src/components/divider/styles.module.scss deleted file mode 100644 index 43e89af5ca..0000000000 --- a/redisinsight/ui/src/components/divider/styles.module.scss +++ /dev/null @@ -1,39 +0,0 @@ -.divider { - display: flex; - align-items: center; - justify-content: center; - hr { - border: none; - height: 1px; - width: 100%; - background-color: var(--tableLightestBorderColor) - } - &-vertical { - height: auto; - hr { - height: 100%; - width: 1px; - } - } - - &-middle { - margin: 6px 12px; - &.divider-vertical { - margin: 12px 6px; - } - } - - &-half { - hr { - width: 50%; - } - &.divider-vertical { - margin: 0 8px; - hr { - width: 1px; - height: 50%; - } - } - } -} - diff --git a/redisinsight/ui/src/components/form-dialog/FormDialog.styles.ts b/redisinsight/ui/src/components/form-dialog/FormDialog.styles.ts new file mode 100644 index 0000000000..0d1d2f65e2 --- /dev/null +++ b/redisinsight/ui/src/components/form-dialog/FormDialog.styles.ts @@ -0,0 +1,15 @@ +import styled from 'styled-components' +import { Modal } from 'uiSrc/components/base/display/modal' + +export const StyledFormDialogContent = styled(Modal.Content.Compose)` + width: 900px; + height: 700px; + + max-width: calc(100vw - 120px); + max-height: calc(100vh - 120px); +` + +export const StyledFormDialogContentBody = styled(Modal.Content.Body)` + flex: 1; + min-height: 0; +` diff --git a/redisinsight/ui/src/components/form-dialog/FormDialog.tsx b/redisinsight/ui/src/components/form-dialog/FormDialog.tsx index b35fa38eb6..186d9c74f6 100644 --- a/redisinsight/ui/src/components/form-dialog/FormDialog.tsx +++ b/redisinsight/ui/src/components/form-dialog/FormDialog.tsx @@ -1,10 +1,12 @@ import React from 'react' -import cx from 'classnames' import { Nullable } from 'uiSrc/utils' import { CancelIcon } from 'uiSrc/components/base/icons' import { Modal } from 'uiSrc/components/base/display' -import styles from './styles.module.scss' +import { + StyledFormDialogContent, + StyledFormDialogContentBody, +} from './FormDialog.styles' export interface Props { isOpen: boolean @@ -22,16 +24,16 @@ const FormDialog = (props: Props) => { return ( - {header} - + {footer} - + ) } diff --git a/redisinsight/ui/src/components/form-dialog/styles.module.scss b/redisinsight/ui/src/components/form-dialog/styles.module.scss deleted file mode 100644 index e537de63cc..0000000000 --- a/redisinsight/ui/src/components/form-dialog/styles.module.scss +++ /dev/null @@ -1,7 +0,0 @@ -.modal { - width: 900px !important; - height: 700px !important; - - max-width: calc(100vw - 120px) !important; - max-height: calc(100vh - 120px) !important; -} diff --git a/redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx b/redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx index f64d5dd810..59ac8bb944 100644 --- a/redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx +++ b/redisinsight/ui/src/components/notifications/components/infinite-messages/InfiniteMessages.tsx @@ -124,7 +124,7 @@ export const INFINITE_MESSAGES: InfiniteMessagesType = { {!!details && ( <> - + diff --git a/redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActionsInfo/BulkActionsInfo.tsx b/redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActionsInfo/BulkActionsInfo.tsx index 6c3ade5519..89b71b963f 100644 --- a/redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActionsInfo/BulkActionsInfo.tsx +++ b/redisinsight/ui/src/pages/browser/components/bulk-actions/BulkActionsInfo/BulkActionsInfo.tsx @@ -75,7 +75,7 @@ const BulkActionsInfo = (props: Props) => { )} - + {loading && (
diff --git a/redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/HashDetails.tsx b/redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/HashDetails.tsx index 62ed972341..cefa537688 100644 --- a/redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/HashDetails.tsx +++ b/redisinsight/ui/src/pages/browser/modules/key-details/components/hash-details/HashDetails.tsx @@ -83,7 +83,6 @@ const HashDetails = (props: Props) => { /> diff --git a/redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-subheader/KeyDetailsSubheader.tsx b/redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-subheader/KeyDetailsSubheader.tsx index 4751db41d6..1a365c65d5 100644 --- a/redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-subheader/KeyDetailsSubheader.tsx +++ b/redisinsight/ui/src/pages/browser/modules/key-details/components/key-details-subheader/KeyDetailsSubheader.tsx @@ -26,7 +26,6 @@ export const KeyDetailsSubheader = ({ keyType, Actions }: Props) => ( diff --git a/redisinsight/ui/src/pages/home/components/add-database-screen/components/connection-url/ConnectionUrl.tsx b/redisinsight/ui/src/pages/home/components/add-database-screen/components/connection-url/ConnectionUrl.tsx index 870e458749..6b2b6d1fb3 100644 --- a/redisinsight/ui/src/pages/home/components/add-database-screen/components/connection-url/ConnectionUrl.tsx +++ b/redisinsight/ui/src/pages/home/components/add-database-screen/components/connection-url/ConnectionUrl.tsx @@ -1,54 +1,28 @@ import React from 'react' -import styled from 'styled-components' -import { FormField } from 'uiSrc/components/base/forms/FormField' +import { + FormField, + RiInfoIconProps, +} from 'uiSrc/components/base/forms/FormField' import { TextArea } from 'uiSrc/components/base/inputs' -import { RiIcon } from 'uiSrc/components/base/icons/RiIcon' -import { RiTooltip } from 'uiSrc/components' -import { FlexGroup, FlexItem } from 'uiSrc/components/base/layout/flex' import { Text } from 'uiSrc/components/base/text' - -const PointerIcon = styled(RiIcon)` - cursor: pointer; -` +import { HostInfoTooltipContent } from '../../../host-info-tooltip-content/HostInfoTooltipContent' export interface Props { value: string onChange: (e: React.ChangeEvent) => void } +const connectionUrlInfo: RiInfoIconProps = { + content: HostInfoTooltipContent({ includeAutofillInfo: false }), + placement: 'right', + maxWidth: '100%', +} + const ConnectionUrl = ({ value, onChange }: Props) => ( - Connection URL - -
  • - - redis://[[username]:[password]]@host:port -
  • -
  • - - rediss://[[username]:[password]]@host:port -
  • -
  • - - host:port -
  • - - } - > - - - -
    - - } + label={Connection URL} + infoIconProps={connectionUrlInfo} >