diff --git a/packages/components/src/components/label/label.tsx b/packages/components/src/components/label/label.tsx index 8bb0c5f953f8..922998e40da7 100644 --- a/packages/components/src/components/label/label.tsx +++ b/packages/components/src/components/label/label.tsx @@ -18,7 +18,7 @@ const available_sizes = ['regular', 'large'] as const; type TLabel = { mode: typeof available_modes[number]; - size: typeof available_sizes[number]; + size?: typeof available_sizes[number]; className?: string; }; diff --git a/packages/reports/build/constants.js b/packages/reports/build/constants.js index 45261133230f..9baedc23952b 100644 --- a/packages/reports/build/constants.js +++ b/packages/reports/build/constants.js @@ -28,6 +28,7 @@ const ALIASES = { Modules: path.resolve(__dirname, '../src/Modules'), Sass: path.resolve(__dirname, '../src/sass'), Stores: path.resolve(__dirname, '../src/Stores'), + Types: path.resolve(__dirname, '../src/Types'), }; const rules = (is_test_env = false) => [ diff --git a/packages/reports/build/loaders-config.js b/packages/reports/build/loaders-config.js index 244d0aa2d1b8..4024a6b51072 100644 --- a/packages/reports/build/loaders-config.js +++ b/packages/reports/build/loaders-config.js @@ -2,9 +2,6 @@ const MiniCssExtractPlugin = require('mini-css-extract-plugin'); const path = require('path'); const js_loaders = [ - { - loader: '@deriv/shared/src/loaders/react-import-loader.js', - }, { loader: '@deriv/shared/src/loaders/deriv-account-loader.js', }, diff --git a/packages/reports/build/webpack.config.js b/packages/reports/build/webpack.config.js index c436373ec902..416461e592ae 100644 --- a/packages/reports/build/webpack.config.js +++ b/packages/reports/build/webpack.config.js @@ -8,7 +8,7 @@ module.exports = function (env) { context: path.resolve(__dirname, '../'), devtool: IS_RELEASE ? undefined : 'eval-cheap-module-source-map', entry: { - reports: path.resolve(__dirname, '../src', 'index.jsx'), + reports: path.resolve(__dirname, '../src', 'index'), }, mode: IS_RELEASE ? 'production' : 'development', module: { diff --git a/packages/reports/jest.config.js b/packages/reports/jest.config.js index 97d0c11394ac..babd5fc48328 100644 --- a/packages/reports/jest.config.js +++ b/packages/reports/jest.config.js @@ -15,5 +15,7 @@ module.exports = { '^Utils/(.*)$': '/src/Utils/$1', '^Services/(.*)$': '/src/Services/$1', '^Stores/(.*)$': '/src/Stores/$1', + '^Types/(.*)$': '/src/Types/$1', + '^Types$': '/src/Types/index.ts', }, }; diff --git a/packages/reports/package.json b/packages/reports/package.json index 7af00948c925..c875375fccae 100644 --- a/packages/reports/package.json +++ b/packages/reports/package.json @@ -79,6 +79,7 @@ "@deriv/components": "^1.0.0", "@deriv/deriv-api": "^1.0.11", "@deriv/shared": "^1.0.0", + "@deriv/stores": "^1.0.0", "@deriv/translations": "^1.0.0", "@types/react": "^18.0.7", "@types/react-dom": "^18.0.0", diff --git a/packages/reports/src/Components/Elements/ContentLoader/index.js b/packages/reports/src/Components/Elements/ContentLoader/index.js deleted file mode 100644 index 9e70635b68c6..000000000000 --- a/packages/reports/src/Components/Elements/ContentLoader/index.js +++ /dev/null @@ -1 +0,0 @@ -export * from './reports-table-row.jsx'; diff --git a/packages/reports/src/Components/Elements/ContentLoader/index.ts b/packages/reports/src/Components/Elements/ContentLoader/index.ts new file mode 100644 index 000000000000..1995095d0fa0 --- /dev/null +++ b/packages/reports/src/Components/Elements/ContentLoader/index.ts @@ -0,0 +1 @@ +export * from './reports-table-row'; diff --git a/packages/reports/src/Components/Elements/ContentLoader/positions-card.jsx b/packages/reports/src/Components/Elements/ContentLoader/positions-card.tsx similarity index 90% rename from packages/reports/src/Components/Elements/ContentLoader/positions-card.jsx rename to packages/reports/src/Components/Elements/ContentLoader/positions-card.tsx index d0fba00e5530..6df94a02173f 100644 --- a/packages/reports/src/Components/Elements/ContentLoader/positions-card.jsx +++ b/packages/reports/src/Components/Elements/ContentLoader/positions-card.tsx @@ -1,8 +1,11 @@ import ContentLoader from 'react-content-loader'; import React from 'react'; -import PropTypes from 'prop-types'; -const PositionsCardLoader = ({ speed }) => ( +type TPositionCardLoader = { + speed?: number; +}; + +const PositionsCardLoader = ({ speed }: TPositionCardLoader) => ( ( ); -PositionsCardLoader.propTypes = { - speed: PropTypes.number, -}; - export { PositionsCardLoader }; diff --git a/packages/reports/src/Components/Elements/ContentLoader/reports-table-row.jsx b/packages/reports/src/Components/Elements/ContentLoader/reports-table-row.tsx similarity index 85% rename from packages/reports/src/Components/Elements/ContentLoader/reports-table-row.jsx rename to packages/reports/src/Components/Elements/ContentLoader/reports-table-row.tsx index fbb6606d9395..76a490aa4bc7 100644 --- a/packages/reports/src/Components/Elements/ContentLoader/reports-table-row.jsx +++ b/packages/reports/src/Components/Elements/ContentLoader/reports-table-row.tsx @@ -1,8 +1,11 @@ import ContentLoader from 'react-content-loader'; import React from 'react'; -import PropTypes from 'prop-types'; -const ReportsTableRowLoader = ({ speed }) => ( +type TReportsTableRowLoader = { + speed?: number; +}; + +const ReportsTableRowLoader = ({ speed }: TReportsTableRowLoader) => ( ( ); -ReportsTableRowLoader.propTypes = { - speed: PropTypes.number, -}; - export { ReportsTableRowLoader }; diff --git a/packages/reports/src/Components/Errors/error-component.jsx b/packages/reports/src/Components/Errors/error-component.tsx similarity index 72% rename from packages/reports/src/Components/Errors/error-component.jsx rename to packages/reports/src/Components/Errors/error-component.tsx index ffcebae1b5fe..29358a696e5a 100644 --- a/packages/reports/src/Components/Errors/error-component.jsx +++ b/packages/reports/src/Components/Errors/error-component.tsx @@ -1,8 +1,8 @@ -import PropTypes from 'prop-types'; import React from 'react'; import { Dialog, PageErrorContainer } from '@deriv/components'; import { routes } from '@deriv/shared'; import { localize } from '@deriv/translations'; +import { TErrorComponent } from 'Types'; const ErrorComponent = ({ header, @@ -11,7 +11,7 @@ const ErrorComponent = ({ redirect_label, redirectOnClick, should_show_refresh = true, -}) => { +}: Partial) => { const refresh_message = should_show_refresh ? localize('Please refresh this page to continue.') : ''; if (is_dialog) { @@ -21,6 +21,7 @@ const ErrorComponent = ({ is_visible confirm_button_text={redirect_label || localize('Ok')} onConfirm={redirectOnClick || (() => location.reload())} + has_close_icon={false} > {message || localize('Sorry, an error occured while processing your request.')} @@ -29,7 +30,7 @@ const ErrorComponent = ({ return ( location.reload())} @@ -37,14 +38,4 @@ const ErrorComponent = ({ ); }; -ErrorComponent.propTypes = { - header: PropTypes.string, - is_dialog: PropTypes.bool, - message: PropTypes.oneOfType([PropTypes.node, PropTypes.string, PropTypes.object]), - redirect_label: PropTypes.string, - redirectOnClick: PropTypes.func, - should_show_refresh: PropTypes.bool, - type: PropTypes.string, -}; - export default ErrorComponent; diff --git a/packages/reports/src/Components/Errors/index.js b/packages/reports/src/Components/Errors/index.js deleted file mode 100644 index dc12ba08a1e7..000000000000 --- a/packages/reports/src/Components/Errors/index.js +++ /dev/null @@ -1 +0,0 @@ -export default from './error-component.jsx'; diff --git a/packages/reports/src/Components/Errors/index.ts b/packages/reports/src/Components/Errors/index.ts new file mode 100644 index 000000000000..8585809410a1 --- /dev/null +++ b/packages/reports/src/Components/Errors/index.ts @@ -0,0 +1,3 @@ +import ErrorComponent from './error-component'; + +export default ErrorComponent; diff --git a/packages/reports/src/Components/Form/CompositeCalendar/calendar-icon.jsx b/packages/reports/src/Components/Form/CompositeCalendar/calendar-icon.jsx deleted file mode 100644 index ddae60f2e40e..000000000000 --- a/packages/reports/src/Components/Form/CompositeCalendar/calendar-icon.jsx +++ /dev/null @@ -1,11 +0,0 @@ -import PropTypes from 'prop-types'; -import React from 'react'; -import { Icon } from '@deriv/components'; - -const CalendarIcon = ({ onClick }) => ; - -CalendarIcon.propTypes = { - onClick: PropTypes.func, -}; - -export default CalendarIcon; diff --git a/packages/reports/src/Components/Form/CompositeCalendar/calendar-icon.tsx b/packages/reports/src/Components/Form/CompositeCalendar/calendar-icon.tsx new file mode 100644 index 000000000000..5115ae575d28 --- /dev/null +++ b/packages/reports/src/Components/Form/CompositeCalendar/calendar-icon.tsx @@ -0,0 +1,12 @@ +import React from 'react'; +import { Icon } from '@deriv/components'; + +type TCalendarIcon = { + onClick: () => void; +}; + +const CalendarIcon = ({ onClick }: TCalendarIcon) => ( + +); + +export default CalendarIcon; diff --git a/packages/reports/src/Components/Form/CompositeCalendar/composite-calendar-mobile.jsx b/packages/reports/src/Components/Form/CompositeCalendar/composite-calendar-mobile.tsx similarity index 80% rename from packages/reports/src/Components/Form/CompositeCalendar/composite-calendar-mobile.jsx rename to packages/reports/src/Components/Form/CompositeCalendar/composite-calendar-mobile.tsx index b866304bf1e8..d3fb19e714e4 100644 --- a/packages/reports/src/Components/Form/CompositeCalendar/composite-calendar-mobile.jsx +++ b/packages/reports/src/Components/Form/CompositeCalendar/composite-calendar-mobile.tsx @@ -1,11 +1,20 @@ import classNames from 'classnames'; -import PropTypes from 'prop-types'; import React from 'react'; import { Button, DatePicker, Icon, InputField, MobileDialog, Text } from '@deriv/components'; import { localize } from '@deriv/translations'; import { toMoment } from '@deriv/shared'; +import { TInputDateRange } from 'Types'; -export const RadioButton = ({ id, className, selected_value, value, label, onChange }) => { +type TRadioButton = { + id: string; + className?: string; + selected_value?: string; + value?: string; + label?: string; + onChange: (value: { label?: string; value?: string }) => void; +}; + +export const RadioButton = ({ id, className, selected_value, value, label, onChange }: TRadioButton) => { return (