fix(deps)!: support paragon and frontend-build in openedx scope (#457)

BREAKING CHANGE: frontend-platform peer dependency updated to ^7.0.1
BREAKING CHANGE: @edx/paragon peer dependency updated to @openedx/paragon
This commit is contained in:
Brian Smith
2024-02-09 14:41:16 -05:00
committed by GitHub
parent 62bff35fcd
commit f33a3b5521
117 changed files with 11033 additions and 14382 deletions

View File

@@ -1,5 +1,5 @@
// eslint-disable-next-line import/no-extraneous-dependencies
const { createConfig } = require('@edx/frontend-build');
const { createConfig } = require('@openedx/frontend-build');
const config = createConfig('eslint', {
rules: {

View File

@@ -42,9 +42,9 @@ This guide presumes you have a functioning devstack.
**********************************************************************************************/
// { moduleName: '@edx/brand', dir: '../brand-openedx' }, // replace with your brand checkout
// { moduleName: '@edx/paragon/scss/core', dir: '../paragon', dist: 'scss/core' },
// { moduleName: '@edx/paragon/icons', dir: '../paragon', dist: 'icons' },
// { moduleName: '@edx/paragon', dir: '../paragon', dist: 'dist' },
// { moduleName: '@openedx/paragon/scss/core', dir: '../paragon', dist: 'scss/core' },
// { moduleName: '@openedx/paragon/icons', dir: '../paragon', dist: 'icons' },
// { moduleName: '@openedx/paragon', dir: '../paragon', dist: 'dist' },
// { moduleName: '@edx/frontend-platform', dir: '../frontend-platform', dist: 'dist' },
// NOTE: This is the relative path of the frontend-lib-content-components in the frontend-app-course-authoring container.
{ moduleName: '@edx/frontend-lib-content-components', dir: '../src/frontend-lib-content-components', dist: 'dist' },

View File

@@ -1,3 +1,3 @@
const { createConfig } = require('@edx/frontend-build');
const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('babel');

View File

@@ -130,7 +130,7 @@ Because of the top-level mocks in setupTest, any integration tests will need to
Ex:
```javascript
jest.unmock('@edx/frontend-platform/i18n');
jest.unmock('@edx/paragon');
jest.unmock('@edx/paragon/icons');
jest.unmock('@openedx/paragon');
jest.unmock('@openedx/paragon/icons');
jest.unmock('react-redux');
```

View File

@@ -1,6 +1,6 @@
@import "@edx/brand/paragon/fonts";
@import "@edx/brand/paragon/variables";
@import "@edx/paragon/scss/core/core";
@import "@openedx/paragon/scss/core/core";
@import "@edx/brand/paragon/overrides";
@import "@edx/frontend-lib-content-components/index";

View File

@@ -1,4 +1,4 @@
const { createConfig } = require('@edx/frontend-build');
const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('jest', {
setupFiles: [

View File

@@ -1,4 +1,4 @@
const { createConfig } = require('@edx/frontend-build');
const { createConfig } = require('@openedx/frontend-build');
module.exports = createConfig('jest', {
roots: [

14967
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -39,11 +39,11 @@
"homepage": "https://github.com/edx/frontend-lib-content-components#readme",
"devDependencies": {
"@edx/browserslist-config": "^1.1.1",
"@edx/frontend-build": "13.0.1",
"@edx/frontend-platform": "5.5.4",
"@edx/paragon": "^21.5.6",
"@edx/react-unit-test-utils": "1.7.1",
"@edx/frontend-platform": "7.0.1",
"@edx/react-unit-test-utils": "2.0.0",
"@edx/reactifex": "^2.1.1",
"@openedx/frontend-build": "13.0.27",
"@openedx/paragon": "^22.0.0",
"@testing-library/dom": "^8.13.0",
"@testing-library/jest-dom": "^5.16.5",
"@testing-library/react": "^12.1.5",
@@ -75,7 +75,7 @@
"babel-polyfill": "6.26.0",
"codemirror": "^6.0.0",
"fast-xml-parser": "^4.0.10",
"frontend-components-tinymce-advanced-plugins": "^1.0.2",
"frontend-components-tinymce-advanced-plugins": "^1.0.3",
"lodash-es": "^4.17.21",
"lodash.flatten": "^4.4.0",
"moment": "^2.29.4",
@@ -97,8 +97,8 @@
"xmlchecker": "^0.1.0"
},
"peerDependencies": {
"@edx/frontend-platform": "^4.0.0 || ^5.0.0",
"@edx/paragon": "^21.5.6",
"@edx/frontend-platform": "^7.0.1",
"@openedx/paragon": "^21.5.7 || ^22.0.0",
"prop-types": "^15.5.10",
"react": "^16.14.0 || ^17.0.0",
"react-dom": "^16.14.0 || ^17.0.0"

View File

@@ -9,7 +9,7 @@ import {
ModalDialog,
Toast,
Hyperlink,
} from '@edx/paragon';
} from '@openedx/paragon';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { selectors } from '../../../../data/redux';
import { blockTypes } from '../../../../data/constants/app';

View File

@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
import { IconButtonWithTooltip, ButtonGroup, Icon } from '@edx/paragon';
import { Check, Close } from '@edx/paragon/icons';
import { IconButtonWithTooltip, ButtonGroup, Icon } from '@openedx/paragon';
import { Check, Close } from '@openedx/paragon/icons';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import messages from './messages';

View File

@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
import EditConfirmationButtons from './EditConfirmationButtons';
export const EditableHeader = ({

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { shallow } from '@edx/react-unit-test-utils';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
import * as module from './EditableHeader';
import EditConfirmationButtons from './EditConfirmationButtons';

View File

@@ -2,8 +2,8 @@ import React from 'react';
import { useDispatch, useSelector } from 'react-redux';
import PropTypes from 'prop-types';
import { Icon, IconButton, Truncate } from '@edx/paragon';
import { EditOutline } from '@edx/paragon/icons';
import { Icon, IconButton, Truncate } from '@openedx/paragon';
import { EditOutline } from '@openedx/paragon/icons';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { selectors } from '../../../../data/redux';

View File

@@ -9,8 +9,8 @@ import * as module from '.';
jest.mock('./hooks', () => ({
localTitleHooks: jest.fn(),
}));
jest.mock('@edx/paragon', () => ({
...jest.requireActual('@edx/paragon'),
jest.mock('@openedx/paragon', () => ({
...jest.requireActual('@openedx/paragon'),
Truncate: ({ children }) => <div>{children}</div>, // eslint-disable-line react/prop-types
IconButton: 'IconButton',
Icon: 'Icon',

View File

@@ -4,8 +4,8 @@ import PropTypes from 'prop-types';
import {
Icon, ModalDialog, IconButton, Button,
} from '@edx/paragon';
import { Close } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { Close } from '@openedx/paragon/icons';
import { injectIntl, intlShape, FormattedMessage } from '@edx/frontend-platform/i18n';
import BaseModal from '../../sharedComponents/BaseModal';

View File

@@ -12,7 +12,7 @@ import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { Spinner } from '@edx/paragon';
import { Spinner } from '@openedx/paragon';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import EditorContainer from '../EditorContainer';

View File

@@ -6,8 +6,8 @@ import {
Icon,
IconButton,
Form,
} from '@edx/paragon';
import { FeedbackOutline, DeleteOutline } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { FeedbackOutline, DeleteOutline } from '@openedx/paragon/icons';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import messages from './messages';
import { selectors } from '../../../../../data/redux';

View File

@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { FormattedMessage } from '@edx/frontend-platform/i18n';
import { Dropdown, Icon } from '@edx/paragon';
import { Add } from '@edx/paragon/icons';
import { Dropdown, Icon } from '@openedx/paragon';
import { Add } from '@openedx/paragon/icons';
import messages from './messages';
import { useAnswerContainer, isSingleAnswerProblem } from './hooks';
import { actions, selectors } from '../../../../../data/redux';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
const Checker = ({
hasSingleAnswer,

View File

@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import { FormattedMessage, intlShape } from '@edx/frontend-platform/i18n';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
import { answerOptionProps } from '../../../../../../../data/services/cms/types';
import ExpandableTextArea from '../../../../../../../sharedComponents/ExpandableTextArea';

View File

@@ -1,5 +1,5 @@
import React from 'react';
import { Collapsible, Card } from '@edx/paragon';
import { Collapsible, Card } from '@openedx/paragon';
import {
bool, string, node,
} from 'prop-types';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { Collapsible, Icon, Card } from '@edx/paragon';
import { KeyboardArrowUp, KeyboardArrowDown } from '@edx/paragon/icons';
import { Collapsible, Icon, Card } from '@openedx/paragon';
import { KeyboardArrowUp, KeyboardArrowDown } from '@openedx/paragon/icons';
import {
arrayOf,
shape,

View File

@@ -4,7 +4,7 @@ import { injectIntl, FormattedMessage } from '@edx/frontend-platform/i18n';
import { connect } from 'react-redux';
import {
Button, Collapsible,
} from '@edx/paragon';
} from '@openedx/paragon';
import { selectors, actions } from '../../../../../data/redux';
import ScoringCard from './settingsComponents/ScoringCard';
import ShowAnswerCard from './settingsComponents/ShowAnswerCard';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { injectIntl, FormattedMessage, intlShape } from '@edx/frontend-platform/i18n';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
import PropTypes from 'prop-types';
import SettingsOption from '../../SettingsOption';
import messages from './messages';

View File

@@ -2,8 +2,8 @@ import React from 'react';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import {
ActionRow, Form, Icon, IconButton, Row,
} from '@edx/paragon';
import { DeleteOutline } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { DeleteOutline } from '@openedx/paragon/icons';
import PropTypes from 'prop-types';
import messages from '../../messages';

View File

@@ -3,8 +3,8 @@ import { shallow } from '@edx/react-unit-test-utils';
import { formatMessage } from '../../../../../../../../testUtils';
import { GroupFeedbackRow } from './GroupFeedbackRow';
jest.mock('@edx/paragon', () => ({
...jest.requireActual('@edx/paragon'),
jest.mock('@openedx/paragon', () => ({
...jest.requireActual('@openedx/paragon'),
Row: 'Row',
IconButton: 'IconButton',
Icon: 'Icon',
@@ -15,8 +15,8 @@ jest.mock('@edx/paragon', () => ({
},
ActionRow: 'ActionRow',
}));
jest.mock('@edx/paragon/icons', () => ({
...jest.requireActual('@edx/paragon/icons'),
jest.mock('@openedx/paragon/icons', () => ({
...jest.requireActual('@openedx/paragon/icons'),
DeleteOutline: 'DeleteOutline',
}));

View File

@@ -5,8 +5,8 @@ import {
Container,
Icon,
IconButton,
} from '@edx/paragon';
import { DeleteOutline } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { DeleteOutline } from '@openedx/paragon/icons';
import PropTypes from 'prop-types';
import messages from '../messages';
import ExpandableTextArea from '../../../../../../sharedComponents/ExpandableTextArea';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
import PropTypes from 'prop-types';
import SettingsOption from '../../SettingsOption';
import messages from './messages';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Button, ButtonGroup, Hyperlink } from '@edx/paragon';
import { Button, ButtonGroup, Hyperlink } from '@openedx/paragon';
import PropTypes from 'prop-types';
import { useSelector } from 'react-redux';
import SettingsOption from '../SettingsOption';

View File

@@ -3,7 +3,7 @@ import _ from 'lodash-es';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Form, Hyperlink } from '@edx/paragon';
import { Form, Hyperlink } from '@openedx/paragon';
import { selectors } from '../../../../../../data/redux';
import SettingsOption from '../SettingsOption';
import messages from '../messages';

View File

@@ -2,7 +2,7 @@ import React from 'react';
import PropTypes from 'prop-types';
import { connect } from 'react-redux';
import { injectIntl, FormattedMessage, intlShape } from '@edx/frontend-platform/i18n';
import { Form, Hyperlink } from '@edx/paragon';
import { Form, Hyperlink } from '@openedx/paragon';
import SettingsOption from '../SettingsOption';
import { ShowAnswerTypes, ShowAnswerTypesKeys } from '../../../../../../data/constants/problem';
import { selectors } from '../../../../../../data/redux';

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { connect } from 'react-redux';
import { injectIntl, FormattedMessage } from '@edx/frontend-platform/i18n';
import { Card } from '@edx/paragon';
import { Card } from '@openedx/paragon';
import PropTypes from 'prop-types';
import messages from '../messages';
import { thunkActions } from '../../../../../../data/redux';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { injectIntl, FormattedMessage, intlShape } from '@edx/frontend-platform/i18n';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
import PropTypes from 'prop-types';
import SettingsOption from '../SettingsOption';
import messages from '../messages';

View File

@@ -1,6 +1,6 @@
import React, { useEffect } from 'react';
import { injectIntl, FormattedMessage, intlShape } from '@edx/frontend-platform/i18n';
import { Alert, Form } from '@edx/paragon';
import { Alert, Form } from '@openedx/paragon';
import PropTypes from 'prop-types';
import SettingsOption from '../../SettingsOption';
import messages from './messages';

View File

@@ -20,7 +20,7 @@ jest.mock('../../SettingsOption', () => function mockSettingsOption({ children,
return <div className="SettingsOption" data-testid="Settings-Option">{summary}{children}</div>;
});
jest.mock('@edx/paragon', () => ({
jest.mock('@openedx/paragon', () => ({
Alert: jest.fn(({ children }) => (
<div className="PGN-Alert">{children}</div>)),
Form: {

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { Icon } from '@edx/paragon';
import { Icon } from '@openedx/paragon';
import PropTypes from 'prop-types';
import { Check } from '@edx/paragon/icons';
import { Check } from '@openedx/paragon/icons';
import { typeRowHooks } from '../hooks';
import Button from '../../../../../../sharedComponents/Button';

View File

@@ -8,7 +8,7 @@ import {
Button,
AlertModal,
ActionRow,
} from '@edx/paragon';
} from '@openedx/paragon';
import AnswerWidget from './AnswerWidget';
import SettingsWidget from './SettingsWidget';
import QuestionWidget from './QuestionWidget';

View File

@@ -6,8 +6,8 @@ import { ProblemTypeKeys } from '../../../../data/constants/problem';
import RawEditor from '../../../../sharedComponents/RawEditor';
import { formatMessage } from '../../../../../testUtils';
jest.mock('@edx/paragon', () => ({
...jest.requireActual('@edx/paragon'),
jest.mock('@openedx/paragon', () => ({
...jest.requireActual('@openedx/paragon'),
Container: 'Container',
Button: 'Button',
AlertModal: 'AlertModal',

View File

@@ -6,7 +6,7 @@ import {
ActionRow,
Button,
ModalDialog,
} from '@edx/paragon';
} from '@openedx/paragon';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import messages from './messages';
import hooks from '../hooks';

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { shallow } from '@edx/react-unit-test-utils';
import { Button } from '@edx/paragon';
import { Button } from '@openedx/paragon';
import { formatMessage } from '../../../../../../testUtils';
import * as module from './SelectTypeFooter';
import hooks from '../hooks';

View File

@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
import { injectIntl, FormattedMessage } from '@edx/frontend-platform/i18n';
import { Icon, ModalDialog, IconButton } from '@edx/paragon';
import { Close } from '@edx/paragon/icons';
import { Icon, ModalDialog, IconButton } from '@openedx/paragon';
import { Close } from '@openedx/paragon/icons';
import SelectTypeFooter from './SelectTypeFooter';
import * as hooks from '../../../../EditorContainer/hooks';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { shallow } from '@edx/react-unit-test-utils';
import { IconButton } from '@edx/paragon';
import { IconButton } from '@openedx/paragon';
import * as module from '.';
import { handleCancel } from '../../../../EditorContainer/hooks';

View File

@@ -10,8 +10,8 @@ import {
Tooltip,
Hyperlink,
Col,
} from '@edx/paragon';
import { ArrowBack } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { ArrowBack } from '@openedx/paragon/icons';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { AdvanceProblems, ProblemTypeKeys } from '../../../../../data/constants/problem';
import messages from './messages';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Hyperlink, Image, Container } from '@edx/paragon';
import { Hyperlink, Image, Container } from '@openedx/paragon';
import {
FormattedMessage,
injectIntl,

View File

@@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button, Container, SelectableBox } from '@edx/paragon';
import { Button, Container, SelectableBox } from '@openedx/paragon';
import { FormattedMessage, injectIntl } from '@edx/frontend-platform/i18n';
import { ProblemTypes, ProblemTypeKeys, AdvanceProblemKeys } from '../../../../../data/constants/problem';
import messages from './messages';

View File

@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Row, Stack } from '@edx/paragon';
import { Row, Stack } from '@openedx/paragon';
import ProblemTypeSelect from './content/ProblemTypeSelect';
import Preview from './content/Preview';
import AdvanceTypeSelect from './content/AdvanceTypeSelect';

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { Spinner } from '@edx/paragon';
import { Spinner } from '@openedx/paragon';
import { injectIntl, FormattedMessage } from '@edx/frontend-platform/i18n';
import SelectTypeModal from './components/SelectTypeModal';
import EditProblemView from './components/EditProblemView';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { shallow } from '@edx/react-unit-test-utils';
import { Spinner } from '@edx/paragon';
import { Spinner } from '@openedx/paragon';
import { thunkActions, selectors } from '../../data/redux';
import { RequestKeys } from '../../data/constants/requests';
import { ProblemEditor, mapStateToProps, mapDispatchToProps } from '.';

View File

@@ -5,7 +5,7 @@ import PropTypes from 'prop-types';
import {
Spinner,
Toast,
} from '@edx/paragon';
} from '@openedx/paragon';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { actions, selectors } from '../../data/redux';

View File

@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import {
ActionRow,
ModalDialog,
} from '@edx/paragon';
} from '@openedx/paragon';
export const BaseModal = ({
isOpen,

View File

@@ -2,7 +2,7 @@ import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { Button } from '@edx/paragon';
import { Button } from '@openedx/paragon';
import { thunkActions } from '../../../data/redux';
import BaseModal from './BaseModal';

View File

@@ -1,8 +1,8 @@
import React from 'react';
import { FormattedMessage } from '@edx/frontend-platform/i18n';
import { Alert } from '@edx/paragon';
import { InfoOutline } from '@edx/paragon/icons';
import { Alert } from '@openedx/paragon';
import { InfoOutline } from '@openedx/paragon/icons';
import messages from './components/messages';
import { ErrorContext } from '../../hooks';

View File

@@ -2,8 +2,8 @@ import React from 'react';
import PropTypes from 'prop-types';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Collapsible, Icon, IconButton } from '@edx/paragon';
import { ExpandLess, ExpandMore, InfoOutline } from '@edx/paragon/icons';
import { Collapsible, Icon, IconButton } from '@openedx/paragon';
import { ExpandLess, ExpandMore, InfoOutline } from '@openedx/paragon/icons';
import messages from './messages';

View File

@@ -2,7 +2,7 @@ import React from 'react';
import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import { Col, Form } from '@edx/paragon';
import { Col, Form } from '@openedx/paragon';
import { injectIntl, intlShape, FormattedMessage } from '@edx/frontend-platform/i18n';
import { actions, selectors } from '../../../../../../data/redux';

View File

@@ -1,4 +1,4 @@
@import "@edx/paragon/scss/core/core";
@import "@openedx/paragon/scss/core/core";
.total-label {
border: 1px solid $gray-500;

View File

@@ -9,8 +9,8 @@ import {
IconButton,
Dropdown,
ActionRow,
} from '@edx/paragon';
import { FileUpload, MoreHoriz } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { FileUpload, MoreHoriz } from '@openedx/paragon/icons';
import {
FormattedMessage,
injectIntl,

View File

@@ -4,7 +4,7 @@ import {
FormattedMessage,
injectIntl,
} from '@edx/frontend-platform/i18n';
import { Icon } from '@edx/paragon';
import { Icon } from '@openedx/paragon';
import {
Attribution,
Copyright,
@@ -12,7 +12,7 @@ import {
Nd,
Nc,
Sa,
} from '@edx/paragon/icons';
} from '@openedx/paragon/icons';
import messages from './messages';
import { LicenseTypes } from '../../../../../../data/constants/licenses';

View File

@@ -11,13 +11,13 @@ import {
Form,
Icon,
Stack,
} from '@edx/paragon';
} from '@openedx/paragon';
import {
Attribution,
Nd,
Sa,
Nc,
} from '@edx/paragon/icons';
} from '@openedx/paragon/icons';
import { actions } from '../../../../../../data/redux';
import { LicenseLevel, LicenseTypes } from '../../../../../../data/constants/licenses';

View File

@@ -21,8 +21,8 @@ jest.mock('../../../../../../data/redux', () => ({
},
}));
jest.mock('@edx/paragon', () => ({
...jest.requireActual('@edx/paragon'),
jest.mock('@openedx/paragon', () => ({
...jest.requireActual('@openedx/paragon'),
CheckboxControl: 'CheckboxControl',
Stack: 'Stack',
Icon: 'Icon',

View File

@@ -8,7 +8,7 @@ import {
import {
Stack,
Hyperlink,
} from '@edx/paragon';
} from '@openedx/paragon';
import { LicenseTypes } from '../../../../../../data/constants/licenses';

View File

@@ -11,8 +11,8 @@ import {
Form,
Icon,
IconButtonWithTooltip,
} from '@edx/paragon';
import { DeleteOutline } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { DeleteOutline } from '@openedx/paragon/icons';
import { actions, selectors } from '../../../../../../data/redux';
import hooks from './hooks';

View File

@@ -9,8 +9,8 @@ import {
import {
Button,
Stack,
} from '@edx/paragon';
import { Add } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { Add } from '@openedx/paragon/icons';
import { actions, selectors } from '../../../../../../data/redux';
import hooks from './hooks';

View File

@@ -9,7 +9,7 @@ import {
import {
Hyperlink,
Form,
} from '@edx/paragon';
} from '@openedx/paragon';
import { selectors, actions } from '../../../../../../data/redux';
import CollapsibleFormWidget from '../CollapsibleFormWidget';

View File

@@ -13,8 +13,8 @@ import {
Icon,
IconButtonWithTooltip,
Alert,
} from '@edx/paragon';
import { DeleteOutline, FileUpload } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { DeleteOutline, FileUpload } from '@openedx/paragon/icons';
import { selectors } from '../../../../../../data/redux';
import { isEdxVideo } from '../../../../../../data/services/cms/api';

View File

@@ -9,8 +9,8 @@ import {
Icon,
IconButton,
Stack,
} from '@edx/paragon';
import { Close } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { Close } from '@openedx/paragon/icons';
import messages from './messages';
import { thunkActions } from '../../../../../../data/redux';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { shallow } from '@edx/react-unit-test-utils';
import { Button, IconButton } from '@edx/paragon';
import { Button, IconButton } from '@openedx/paragon';
import { thunkActions } from '../../../../../../data/redux';
import * as module from './ImportTranscriptCard';

View File

@@ -6,9 +6,9 @@ import {
Dropdown,
Button,
Icon,
} from '@edx/paragon';
} from '@openedx/paragon';
import { Check } from '@edx/paragon/icons';
import { Check } from '@openedx/paragon/icons';
import { connect, useDispatch } from 'react-redux';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { thunkActions, selectors } from '../../../../../../data/redux';

View File

@@ -9,8 +9,8 @@ import {
IconButton,
Icon,
ActionRow,
} from '@edx/paragon';
import { DeleteOutline } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { DeleteOutline } from '@openedx/paragon/icons';
import {
FormattedMessage,

View File

@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
import { connect, useDispatch } from 'react-redux';
import { FormattedMessage, injectIntl } from '@edx/frontend-platform/i18n';
import { Dropdown, Icon, IconButton } from '@edx/paragon';
import { MoreHoriz } from '@edx/paragon/icons';
import { Dropdown, Icon, IconButton } from '@openedx/paragon';
import { MoreHoriz } from '@openedx/paragon/icons';
import { thunkActions, selectors } from '../../../../../../data/redux';

View File

@@ -14,8 +14,8 @@ import {
OverlayTrigger,
Tooltip,
ActionRow,
} from '@edx/paragon';
import { Add, InfoOutline } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { Add, InfoOutline } from '@openedx/paragon/icons';
import { actions, selectors } from '../../../../../../data/redux';
import messages from './messages';

View File

@@ -1,6 +1,6 @@
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { Icon } from '@edx/paragon';
import { ClosedCaptionOff, ClosedCaption } from '@edx/paragon/icons';
import { Icon } from '@openedx/paragon';
import { ClosedCaptionOff, ClosedCaption } from '@openedx/paragon/icons';
import PropTypes from 'prop-types';
import React from 'react';
import messages from '../messages';

View File

@@ -1,7 +1,7 @@
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import {
Collapsible, Image, Stack, Hyperlink,
} from '@edx/paragon';
} from '@openedx/paragon';
import PropTypes from 'prop-types';
import React from 'react';
import { connect } from 'react-redux';

View File

@@ -9,8 +9,8 @@ import {
Button,
Tooltip,
OverlayTrigger,
} from '@edx/paragon';
import { DeleteOutline, InfoOutline, Add } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { DeleteOutline, InfoOutline, Add } from '@openedx/paragon/icons';
import {
FormattedMessage,
injectIntl,

View File

@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button, Icon } from '@edx/paragon';
import { ArrowBackIos } from '@edx/paragon/icons';
import { Button, Icon } from '@openedx/paragon';
import { ArrowBackIos } from '@openedx/paragon/icons';
import {
FormattedMessage,
injectIntl,

View File

@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import {
Spinner,
} from '@edx/paragon';
} from '@openedx/paragon';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import { selectors } from '../../data/redux';

View File

@@ -31,8 +31,8 @@ jest.mock('../../data/redux', () => ({
},
}));
jest.mock('@edx/paragon', () => ({
...jest.requireActual('@edx/paragon'),
jest.mock('@openedx/paragon', () => ({
...jest.requireActual('@openedx/paragon'),
Spinner: 'Spinner',
}));

View File

@@ -1,5 +1,5 @@
import React, { useEffect } from 'react';
import { Image } from '@edx/paragon';
import { Image } from '@openedx/paragon';
import { useSelector } from 'react-redux';
import { selectors } from '../../data/redux';
import hooks from './hooks';

View File

@@ -11,8 +11,8 @@ import { VideoGallery } from './index';
jest.unmock('react-redux');
jest.unmock('@edx/frontend-platform/i18n');
jest.unmock('@edx/paragon');
jest.unmock('@edx/paragon/icons');
jest.unmock('@openedx/paragon');
jest.unmock('@openedx/paragon/icons');
let store;
const initialVideos = [

View File

@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
import { useIntl } from '@edx/frontend-platform/i18n';
import {
Icon, IconButton, Dropzone, InputGroup, FormControl,
} from '@edx/paragon';
import { ArrowForward, FileUpload, Close } from '@edx/paragon/icons';
} from '@openedx/paragon';
import { ArrowForward, FileUpload, Close } from '@openedx/paragon/icons';
import { useDispatch } from 'react-redux';
import { thunkActions } from '../../data/redux';
import * as hooks from './hooks';

View File

@@ -11,8 +11,8 @@ import { VideoUploader } from './VideoUploader';
jest.unmock('react-redux');
jest.unmock('@edx/frontend-platform/i18n');
jest.unmock('@edx/paragon');
jest.unmock('@edx/paragon/icons');
jest.unmock('@openedx/paragon');
jest.unmock('@openedx/paragon/icons');
describe('VideoUploader', () => {
const setLoadingMock = jest.fn();

View File

@@ -6,65 +6,190 @@ Object {
"baseElement": <body>
<div>
<div
class="d-flex flex-column"
data-testid="redux-provider"
>
<div
class="d-flex justify-content-end flex-row"
data-testid="browser-router"
>
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
class="d-flex flex-column"
>
<div
class="d-flex flex-column"
class="d-flex justify-content-end flex-row"
>
<div
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
>
<div
class="d-flex flex-column"
>
<div
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
fill="currentColor"
/>
</svg>
</span>
</div>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
>
<div
class="input-group"
>
<div
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
>
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
>
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
,
</div>
</div>
</div>
</body>,
"container": <div>
<div
data-testid="redux-provider"
>
<div
data-testid="browser-router"
>
<div
class="d-flex flex-column"
>
<div
class="d-flex justify-content-end flex-row"
>
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
@@ -77,77 +202,122 @@ Object {
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</div>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
class="d-flex flex-column"
>
<div
class="input-group"
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
fill="currentColor"
/>
</svg>
</span>
</div>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
>
<div
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
class="input-group"
>
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
>
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
>
<span
class="btn-icon__icon-container"
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
>
<span
class="pgn__icon btn-icon__icon"
class="btn-icon__icon-container"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
<span
class="pgn__icon btn-icon__icon"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</span>
</button>
</button>
</div>
</div>
</div>
</div>
@@ -155,163 +325,9 @@ Object {
</div>
</div>
</div>
</div>
,
</div>
</body>,
"container": <div>
<div
class="d-flex flex-column"
>
<div
class="d-flex justify-content-end flex-row"
>
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
>
<div
class="d-flex flex-column"
>
<div
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
fill="currentColor"
/>
</svg>
</span>
</div>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
>
<div
class="input-group"
>
<div
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
>
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
>
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
,
</div>
</div>
,
</div>,
"debug": [Function],
"findAllByAltText": [Function],

View File

@@ -6,68 +6,197 @@ Object {
"baseElement": <body>
<div>
<div
class="d-flex marked-area flex-column p-3"
data-testid="redux-provider"
>
<div
class="d-flex flex-column"
data-testid="browser-router"
>
<div
class="d-flex justify-content-end flex-row"
class="d-flex marked-area flex-column p-3"
>
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
class="d-flex flex-column"
>
<div
class="d-flex flex-column"
class="d-flex justify-content-end flex-row"
>
<div
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
>
<div
class="d-flex flex-column"
>
<div
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
fill="currentColor"
/>
</svg>
</span>
</div>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
>
<div
class="input-group"
>
<div
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
>
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
>
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
,
</div>
</div>
</div>
</body>,
"container": <div>
<div
data-testid="redux-provider"
>
<div
data-testid="browser-router"
>
<div
class="d-flex marked-area flex-column p-3"
>
<div
class="d-flex flex-column"
>
<div
class="d-flex justify-content-end flex-row"
>
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
@@ -80,77 +209,122 @@ Object {
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</div>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
class="d-flex flex-column"
>
<div
class="input-group"
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
fill="currentColor"
/>
</svg>
</span>
</div>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
>
<div
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
class="input-group"
>
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
>
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
>
<span
class="btn-icon__icon-container"
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
>
<span
class="pgn__icon btn-icon__icon"
class="btn-icon__icon-container"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
<span
class="pgn__icon btn-icon__icon"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</span>
</button>
</button>
</div>
</div>
</div>
</div>
@@ -159,167 +333,9 @@ Object {
</div>
</div>
</div>
</div>
,
</div>
</body>,
"container": <div>
<div
class="d-flex marked-area flex-column p-3"
>
<div
class="d-flex flex-column"
>
<div
class="d-flex justify-content-end flex-row"
>
<button
aria-label="Close"
class="btn-icon btn-icon-primary btn-icon-md position-absolute mr-2 mt-2"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12 19 6.41Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
<div
class="pgn__dropzone"
data-testid="dropzone-container"
role="presentation"
tabindex="0"
>
<input
accept="video/*,.mp4,.mov"
style="display: none;"
tabindex="-1"
type="file"
/>
<div
class="d-flex flex-column justify-content-around align-items-center w-100"
>
<div
class="d-flex flex-column"
>
<div
class="justify-content-center align-self-center rounded-circle bg-light-300 p-2.5"
>
<span
class="pgn__icon text-muted"
style="height: 2rem; width: 2rem;"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="M5 10h4v6h6v-6h4l-7-7-7 7zm0 8v2h14v-2H5z"
fill="currentColor"
/>
</svg>
</span>
</div>
<div
class="d-flex align-self-center justify-content-center flex-wrap flex-column pt-3"
>
<span>
Drag and drop video here or click to upload
</span>
<span
class="x-small align-self-center pt-2"
>
Upload MP4 or MOV files (5 GB max)
</span>
</div>
<div
class="small align-self-center justify-content-center mx-2 text-dark font-weight-normal pt-3"
>
OR
</div>
<div
class="zindex-9 video-id-prompt py-3"
>
<div
class="input-group"
>
<div
class="pgn__form-control-decorator-group has-appended-node has-trailing-element m-0"
>
<input
aria-describedby="basic-addon2"
aria-label="Paste your video ID or URL"
class="form-control"
placeholder="Paste your video ID or URL"
value=""
/>
<div
class="pgn__form-control-decorator pgn__form-control-decorator-trailing"
>
<button
aria-label="Submit"
class="btn-icon btn-icon-primary btn-icon-inline url-submit-button"
type="button"
>
<span
class="btn-icon__icon-container"
>
<span
class="pgn__icon btn-icon__icon"
>
<svg
aria-hidden="true"
fill="none"
focusable="false"
height="24"
role="img"
viewBox="0 0 24 24"
width="24"
xmlns="http://www.w3.org/2000/svg"
>
<path
d="m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8-8-8Z"
fill="currentColor"
/>
</svg>
</span>
</span>
</button>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
,
</div>
</div>
,
</div>,
"debug": [Function],
"findAllByAltText": [Function],

View File

@@ -1,6 +1,6 @@
import React from 'react';
import { useIntl } from '@edx/frontend-platform/i18n';
import { Spinner } from '@edx/paragon';
import { Spinner } from '@openedx/paragon';
import './index.scss';
import messages from './messages';
import { VideoUploader } from './VideoUploader';

View File

@@ -1,4 +1,4 @@
@import "@edx/paragon/scss/core/core";
@import "@openedx/paragon/scss/core/core";
.dropzone-middle {
border: 2px dashed #ccc;

View File

@@ -9,8 +9,8 @@ import VideoUploadEditor from '.';
jest.unmock('react-redux');
jest.unmock('@edx/frontend-platform/i18n');
jest.unmock('@edx/paragon');
jest.unmock('@edx/paragon/icons');
jest.unmock('@openedx/paragon');
jest.unmock('@openedx/paragon/icons');
describe('VideoUploadEditor', () => {
let store;

View File

@@ -4,7 +4,7 @@ import PropTypes from 'prop-types';
import {
ActionRow,
ModalDialog,
} from '@edx/paragon';
} from '@openedx/paragon';
import { FormattedMessage } from '@edx/frontend-platform/i18n';
import messages from './messages';

View File

@@ -1,7 +1,7 @@
import React from 'react';
import { string, node, arrayOf } from 'prop-types';
import { Button as ParagonButton } from '@edx/paragon';
import { Add } from '@edx/paragon/icons';
import { Button as ParagonButton } from '@openedx/paragon';
import { Add } from '@openedx/paragon/icons';
import { getButtonProps } from './hooks';
import './index.scss';

View File

@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import {
Button,
} from '@edx/paragon';
} from '@openedx/paragon';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import messages from './messages';

View File

@@ -3,8 +3,8 @@ import PropTypes from 'prop-types';
import { intlShape, injectIntl } from '@edx/frontend-platform/i18n';
import { useSortable } from '@dnd-kit/sortable';
import { CSS } from '@dnd-kit/utilities';
import { Icon, IconButtonWithTooltip, Row } from '@edx/paragon';
import { DragIndicator } from '@edx/paragon/icons';
import { Icon, IconButtonWithTooltip, Row } from '@openedx/paragon';
import { DragIndicator } from '@openedx/paragon/icons';
import messages from './messages';
const SortableItem = ({

View File

@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Alert } from '@edx/paragon';
import { Error } from '@edx/paragon/icons';
import { Alert } from '@openedx/paragon';
import { Error } from '@openedx/paragon/icons';
import { FormattedMessage } from '@edx/frontend-platform/i18n';
import messages from './messages';

View File

@@ -3,7 +3,7 @@ import { connect } from 'react-redux';
import PropTypes from 'prop-types';
import {
Button, Container, Row, Col,
} from '@edx/paragon';
} from '@openedx/paragon';
import { injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import messages from './messages';

View File

@@ -1,7 +1,7 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Form } from '@edx/paragon';
import { Form } from '@openedx/paragon';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import * as hooks from './hooks';

View File

@@ -4,11 +4,11 @@ import {
Form,
Icon,
IconButton,
} from '@edx/paragon';
} from '@openedx/paragon';
import {
Locked,
Unlocked,
} from '@edx/paragon/icons';
} from '@openedx/paragon/icons';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import hooks from './hooks';

View File

@@ -1,7 +1,7 @@
import React, { useEffect } from 'react';
import { shallow } from '@edx/react-unit-test-utils';
import * as paragon from '@edx/paragon';
import * as icons from '@edx/paragon/icons';
import * as paragon from '@openedx/paragon';
import * as icons from '@openedx/paragon/icons';
import {
fireEvent, render, screen, waitFor,

View File

@@ -1,8 +1,8 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Button, Image } from '@edx/paragon';
import { ArrowBackIos } from '@edx/paragon/icons';
import { Button, Image } from '@openedx/paragon';
import { ArrowBackIos } from '@openedx/paragon/icons';
import { FormattedMessage, injectIntl, intlShape } from '@edx/frontend-platform/i18n';
import './index.scss';

View File

@@ -1,6 +1,6 @@
import React from 'react';
import PropTypes from 'prop-types';
import { Alert } from '@edx/paragon';
import { Alert } from '@openedx/paragon';
import CodeEditor from '../CodeEditor';

View File

@@ -3,7 +3,7 @@ import PropTypes from 'prop-types';
import {
Scrollable, SelectableBox, Spinner,
} from '@edx/paragon';
} from '@openedx/paragon';
import {
FormattedMessage,

View File

@@ -5,7 +5,7 @@ import {
Badge,
Image,
SelectableBox,
} from '@edx/paragon';
} from '@openedx/paragon';
import { FormattedMessage, FormattedDate, FormattedTime } from '@edx/frontend-platform/i18n';
import messages from './messages';

View File

@@ -1,11 +1,11 @@
import React from 'react';
import { shallow } from '@edx/react-unit-test-utils';
import { Image } from '@edx/paragon';
import { Image } from '@openedx/paragon';
import { GalleryCard } from './GalleryCard';
jest.mock('@edx/paragon', () => ({
...jest.requireActual('@edx/paragon'),
jest.mock('@openedx/paragon', () => ({
...jest.requireActual('@openedx/paragon'),
Badge: 'Badge',
SelectableBox: 'SelectableBox',
Image: 'Image',

Some files were not shown because too many files have changed in this diff Show More