@openedx/paragon 23.4.4 → 23.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. package/dist/DataTable/hooks.js +48 -2
  2. package/dist/DataTable/hooks.js.map +1 -1
  3. package/dist/DataTable/index.js +18 -9
  4. package/dist/DataTable/index.js.map +1 -1
  5. package/dist/DataTable/selection/ControlledSelectionStatus.js +7 -17
  6. package/dist/DataTable/selection/ControlledSelectionStatus.js.map +1 -1
  7. package/dist/DataTable/selection/data/actions.js +5 -0
  8. package/dist/DataTable/selection/data/reducer.js +12 -1
  9. package/dist/Form/_index.scss +4 -1
  10. package/dist/Modal/AlertModal.js.map +1 -1
  11. package/dist/Modal/ModalDialog.d.ts +1 -1
  12. package/dist/Modal/ModalDialog.js +1 -1
  13. package/dist/Modal/ModalDialog.js.map +1 -1
  14. package/dist/Modal/_ModalDialog.scss +1 -1
  15. package/dist/Toast/ToastContainer.d.ts +6 -0
  16. package/dist/Toast/ToastContainer.js +19 -29
  17. package/dist/Toast/ToastContainer.js.map +1 -1
  18. package/dist/Toast/index.d.ts +59 -0
  19. package/dist/Toast/index.js.map +1 -1
  20. package/dist/Toast/index.scss +2 -2
  21. package/dist/core.css +6 -4
  22. package/dist/core.css.map +1 -1
  23. package/dist/core.min.css +1 -1
  24. package/dist/index.d.ts +1 -1
  25. package/dist/index.js +23 -23
  26. package/dist/theme-urls.json +6 -6
  27. package/lib/build-tokens.js +1 -0
  28. package/package.json +1 -1
  29. package/src/DataTable/README.md +111 -78
  30. package/src/DataTable/hooks.jsx +55 -2
  31. package/src/DataTable/index.jsx +28 -16
  32. package/src/DataTable/selection/ControlledSelectionStatus.jsx +8 -23
  33. package/src/DataTable/selection/data/actions.js +5 -0
  34. package/src/DataTable/selection/data/reducer.js +12 -1
  35. package/src/DataTable/selection/tests/ControlledSelectionStatus.test.jsx +4 -23
  36. package/src/DataTable/selection/tests/reducer.test.js +4 -0
  37. package/src/DataTable/tests/DataTable.test.jsx +99 -3
  38. package/src/Form/_index.scss +4 -1
  39. package/src/Modal/AlertModal.jsx +5 -5
  40. package/src/Modal/ModalDialog.tsx +2 -2
  41. package/src/Modal/_ModalDialog.scss +1 -1
  42. package/src/Modal/alert-modal.mdx +4 -0
  43. package/src/Modal/fullscreen-modal.mdx +1 -0
  44. package/src/Modal/marketing-modal.mdx +1 -0
  45. package/src/Modal/modal-dialog.mdx +2 -2
  46. package/src/Modal/standard-modal.mdx +1 -0
  47. package/src/Modal/tests/AlertModal.test.jsx +4 -0
  48. package/src/Modal/tests/ModalDialog.test.tsx +3 -2
  49. package/src/Toast/README.md +4 -4
  50. package/src/Toast/{Toast.test.jsx → Toast.test.tsx} +23 -13
  51. package/src/Toast/ToastContainer.tsx +30 -0
  52. package/src/Toast/index.scss +2 -2
  53. package/src/Toast/{index.jsx → index.tsx} +27 -6
  54. package/src/index.d.ts +1 -1
  55. package/src/index.js +23 -23
  56. package/src/Toast/ToastContainer.jsx +0 -40
package/src/index.js CHANGED
@@ -9,6 +9,28 @@ export { default as Button, ButtonGroup, ButtonToolbar } from './Button';
9
9
  export { default as Chip, CHIP_PGN_CLASS } from './Chip';
10
10
  export { default as ChipCarousel } from './ChipCarousel';
11
11
  export { default as Container } from './Container';
12
+ export {
13
+ default as Form,
14
+ RadioControl,
15
+ CheckboxControl,
16
+ SwitchControl,
17
+ FormSwitchSet,
18
+ FormControl,
19
+ FormControlDecoratorGroup,
20
+ FormControlFeedback,
21
+ FormCheck,
22
+ FormFile,
23
+ FormRadio,
24
+ FormRadioSet,
25
+ FormRadioSetContext,
26
+ FormGroup,
27
+ FormLabel,
28
+ useCheckboxSetValues,
29
+ FormText,
30
+ FormAutosuggest,
31
+ FormAutosuggestOption,
32
+ InputGroup,
33
+ } from './Form';
12
34
  export { default as Hyperlink } from './Hyperlink';
13
35
  export { default as Icon } from './Icon';
14
36
  export { default as IconButton, IconButtonWithTooltip } from './IconButton';
@@ -17,6 +39,7 @@ export { default as ModalDialog, MODAL_DIALOG_CLOSE_LABEL } from './Modal/ModalD
17
39
  export { default as ModalLayer } from './Modal/ModalLayer';
18
40
  export { default as Overlay, OverlayTrigger } from './Overlay';
19
41
  export { default as Portal } from './Modal/Portal';
42
+ export { default as Toast, TOAST_CLOSE_LABEL_TEXT, TOAST_DELAY } from './Toast';
20
43
  export { default as Tooltip } from './Tooltip';
21
44
  export { default as useWindowSize } from './hooks/useWindowSizeHook';
22
45
  export { default as useToggle } from './hooks/useToggleHook';
@@ -60,28 +83,6 @@ export {
60
83
  SplitButton,
61
84
  } from './Dropdown';
62
85
  export { default as Fade } from './Fade';
63
- export {
64
- default as Form,
65
- RadioControl,
66
- CheckboxControl,
67
- SwitchControl,
68
- FormSwitchSet,
69
- FormControl,
70
- FormControlDecoratorGroup,
71
- FormControlFeedback,
72
- FormCheck,
73
- FormFile,
74
- FormRadio,
75
- FormRadioSet,
76
- FormRadioSetContext,
77
- FormGroup,
78
- FormLabel,
79
- useCheckboxSetValues,
80
- FormText,
81
- FormAutosuggest,
82
- FormAutosuggestOption,
83
- InputGroup,
84
- } from './Form';
85
86
  export { default as IconButtonToggle } from './IconButtonToggle';
86
87
  export { default as Image, Figure } from './Image';
87
88
  export { default as MailtoLink, MAIL_TO_LINK_EXTERNAL_LINK_ALTERNATIVE_TEXT, MAIL_TO_LINK_EXTERNAL_LINK_TITLE } from './MailtoLink';
@@ -137,7 +138,6 @@ export {
137
138
  TabContent,
138
139
  TabPane,
139
140
  } from './Tabs';
140
- export { default as Toast, TOAST_CLOSE_LABEL_TEXT, TOAST_DELAY } from './Toast';
141
141
  export { default as TransitionReplace } from './TransitionReplace';
142
142
  export { default as ValidationMessage } from './ValidationMessage';
143
143
  export { default as DataTable } from './DataTable';
@@ -1,40 +0,0 @@
1
- import React from 'react';
2
- import ReactDOM from 'react-dom';
3
- import PropTypes from 'prop-types';
4
-
5
- class ToastContainer extends React.Component {
6
- constructor(props) {
7
- super(props);
8
- this.toastRootName = 'toast-root';
9
- if (typeof document === 'undefined') {
10
- this.rootElement = null;
11
- } else if (document.getElementById(this.toastRootName)) {
12
- this.rootElement = document.getElementById(this.toastRootName);
13
- } else {
14
- const rootElement = document.createElement('div');
15
- rootElement.setAttribute('id', this.toastRootName);
16
- rootElement.setAttribute('class', 'toast-container');
17
- rootElement.setAttribute('role', 'alert');
18
- rootElement.setAttribute('aria-live', 'polite');
19
- rootElement.setAttribute('aria-atomic', 'true');
20
- this.rootElement = document.body.appendChild(rootElement);
21
- }
22
- }
23
-
24
- render() {
25
- if (this.rootElement) {
26
- return ReactDOM.createPortal(
27
- this.props.children,
28
- this.rootElement,
29
- );
30
- }
31
- return null;
32
- }
33
- }
34
-
35
- ToastContainer.propTypes = {
36
- /** Specifies contents of the component. */
37
- children: PropTypes.node.isRequired,
38
- };
39
-
40
- export default ToastContainer;