diff --git a/assets/css/src/components/_datepicker.scss b/assets/css/src/components/_datepicker.scss index 01853a14fb..978f3a4cf9 100644 --- a/assets/css/src/components/_datepicker.scss +++ b/assets/css/src/components/_datepicker.scss @@ -1,9 +1,6 @@ @import '../../../../node_modules/react-datepicker/src/stylesheets/datepicker'; .mailpoet-datepicker { - display: inline-block; - vertical-align: middle; - .react-datepicker { background-color: $color-input-background; border: solid 1px $color-tertiary-light; diff --git a/assets/css/src/generic/_forms-input.scss b/assets/css/src/generic/_forms-input.scss index 9126679a76..c905f897bd 100644 --- a/assets/css/src/generic/_forms-input.scss +++ b/assets/css/src/generic/_forms-input.scss @@ -44,7 +44,13 @@ width: $form-control-icon; &:first-child { - margin: 0 (-$form-control-spacing) 0 $form-control-spacing; + margin: 0 (-$form-control-spacing - $form-control-icon) 0 $form-control-spacing; + } + + + input, + + select, + + * input { + padding-left: $form-control-icon + 2 * $form-control-spacing; } &:last-child { diff --git a/assets/css/src/generic/_forms-select.scss b/assets/css/src/generic/_forms-select.scss index 13e4914c13..d676dd2df4 100644 --- a/assets/css/src/generic/_forms-select.scss +++ b/assets/css/src/generic/_forms-select.scss @@ -7,9 +7,6 @@ } > svg { - &:first-child { margin-right: -($form-control-icon + $form-control-spacing); } - + select { padding-left: $form-control-icon + 2 * $form-control-spacing; } - ~ .mailpoet-form-react-select .mailpoet-form-react-select__value-container { padding-left: $form-control-icon + 2 * $form-control-spacing !important; } diff --git a/assets/js/src/common/datepicker/_stories/datepicker.tsx b/assets/js/src/common/datepicker/_stories/datepicker.tsx index c168694c21..555619d678 100644 --- a/assets/js/src/common/datepicker/_stories/datepicker.tsx +++ b/assets/js/src/common/datepicker/_stories/datepicker.tsx @@ -2,6 +2,7 @@ import React, { useState } from 'react'; import { action } from '@storybook/addon-actions'; import Datepicker from '../datepicker'; import Heading from '../../typography/heading/heading'; +import Icon from '../icon/calendar'; export default { title: 'Datepickers', @@ -27,12 +28,48 @@ const DatepickerWrapper = ({ export const Datepickers = () => ( <> + Small datepicker +
+ +
+ +
+ +
+
+ Datepicker
+
+ +
+

@@ -55,5 +92,16 @@ export const Datepickers = () => ( />

+ + Full-width datepicker +
+ +
+
); diff --git a/assets/js/src/common/datepicker/datepicker.tsx b/assets/js/src/common/datepicker/datepicker.tsx index c581db49d2..a3e078f9a0 100644 --- a/assets/js/src/common/datepicker/datepicker.tsx +++ b/assets/js/src/common/datepicker/datepicker.tsx @@ -3,9 +3,17 @@ import classnames from 'classnames'; import ReactDatePicker, { ReactDatePickerProps } from 'react-datepicker'; type Props = ReactDatePickerProps & { + dimension?: 'small', + isFullWidth?: boolean, + iconStart?: JSX.Element, + iconEnd?: JSX.Element, }; const Datepicker = ({ + dimension, + isFullWidth, + iconStart, + iconEnd, ...props }: Props) => (
+ {iconStart} + {iconEnd}
); diff --git a/assets/js/src/common/datepicker/icon/calendar.tsx b/assets/js/src/common/datepicker/icon/calendar.tsx new file mode 100644 index 0000000000..4fbf6bbed4 --- /dev/null +++ b/assets/js/src/common/datepicker/icon/calendar.tsx @@ -0,0 +1,7 @@ +import React from 'react'; + +export default ( + + + +);