@nualang/nualang-ui-components 0.1.1340 → 0.1.1352

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 (53) hide show
  1. package/README.md +24 -8
  2. package/dist/Cards/Classroom/Classroom.js +0 -4
  3. package/dist/Cards/Course/Course.js +0 -5
  4. package/dist/Dialogs/CreatePhrase/CreatePhrase.js +291 -186
  5. package/dist/Dialogs/CreatePhraseGroupDialog/CreatePhraseGroupDialog.js +143 -0
  6. package/dist/Dialogs/Feedback/FeedbackDialog.js +1 -4
  7. package/dist/Dialogs/GenerateDefinitions/GenerateDefinitions.js +204 -0
  8. package/dist/Dialogs/GenerateDefinitions/package.json +6 -0
  9. package/dist/Dialogs/GeneratePhrases/GeneratePhrases.js +51 -11
  10. package/dist/Editors/PhraseList/PhraseList.js +263 -0
  11. package/dist/Editors/Phrases/Phrases.js +75 -9
  12. package/dist/Exercises/Listener/Listener.js +4 -2
  13. package/dist/Exercises/PhraseGroup/Games/ListeningGame/ListeningGame.js +89 -0
  14. package/dist/Exercises/PhraseGroup/Games/PronunciationGame/PronunciationGame.js +85 -0
  15. package/dist/Exercises/PhraseGroup/Games/TranslationGame/TranslationGame.js +90 -0
  16. package/dist/Exercises/PhraseGroup/Games/index.js +4 -0
  17. package/dist/Exercises/PhraseGroup/PhraseGroup.js +245 -0
  18. package/dist/Exercises/PhraseGroup/PhraseGroup.test.js +28 -0
  19. package/dist/Exercises/PhraseGroup/PhraseGroupGameOptions/PhraseGroupGame/PhraseGroupGame.js +259 -0
  20. package/dist/Exercises/PhraseGroup/PhraseGroupGameOptions/PhraseGroupGames.js +62 -0
  21. package/dist/Exercises/PhraseGroup/PhraseGroupInfo/PhraseGroupInfo.js +145 -0
  22. package/dist/Exercises/PhraseGroup/package.json +7 -0
  23. package/dist/Exercises/Pronouncer/Pronouncer.js +4 -2
  24. package/dist/Exercises/Translator/Translator.js +4 -2
  25. package/dist/Forms/InputHelper/InputHelper.js +49 -20
  26. package/dist/Forms/UpdatePhraseList/UpdatePhraseList.js +175 -0
  27. package/dist/Lists/Classrooms/Classrooms.js +0 -1
  28. package/dist/Lists/CourseOutline/CourseOutline.js +0 -6
  29. package/dist/Lists/Courses/Courses.js +0 -6
  30. package/dist/Lists/Exercises/Exercises.js +589 -1012
  31. package/dist/Lists/Members/Members.js +17 -29
  32. package/dist/Lists/Phrases/Phrases.js +282 -113
  33. package/dist/Screens/Activity/Exercise/Attempt/Attempt.js +1 -3
  34. package/dist/Screens/Classrooms/Classrooms.js +1 -3
  35. package/dist/Screens/Classrooms/SearchClassrooms/SearchClassrooms.js +0 -2
  36. package/dist/Screens/Classrooms/ViewClassroom/ViewClassroom.js +142 -15
  37. package/dist/Screens/Courses/Courses.js +0 -6
  38. package/dist/Screens/Courses/SearchCourses/SearchCourses.js +0 -2
  39. package/dist/Screens/Courses/ViewCourse/ViewCourse.js +1 -9
  40. package/dist/Screens/Courses/ViewCourse/ViewTopic/ViewTopic.js +63 -108
  41. package/dist/Screens/Dashboard/Dashboard.js +1 -5
  42. package/dist/Screens/Profile/Profile.js +2 -262
  43. package/dist/Screens/Search/Search.js +0 -2
  44. package/dist/Tables/ClassroomRows/ClassroomRows.js +1 -4
  45. package/dist/Tables/CourseRows/CourseRows.js +1 -4
  46. package/dist/hooks/useExerciseState.js +8 -3
  47. package/package.json +4 -2
  48. package/dist/Screens/Bots/Bots.js +0 -240
  49. package/dist/Screens/Bots/SearchBots/SearchBots.js +0 -280
  50. package/dist/Screens/Bots/SearchBots/package.json +0 -6
  51. package/dist/Screens/Bots/package.json +0 -6
  52. package/dist/Screens/Roleplays/SearchRoleplays/SearchRoleplays.js +0 -290
  53. package/dist/Screens/Roleplays/SearchRoleplays/package.json +0 -6
package/README.md CHANGED
@@ -5,27 +5,27 @@ to `npm` and consumed from there by nualang web apps.
5
5
 
6
6
  ## Getting Started
7
7
  Clone this repository and then execute `npm install`. `npm start` will start
8
- [stoybook](https://storybook.js.org) and allow you to brrowse the available components.
8
+ [storybook](https://storybook.js.org) and allow you to browse the available components.
9
9
 
10
10
  ## Develop
11
- ```
11
+ ```bash
12
12
  npm start
13
13
  ```
14
14
 
15
15
  ## Create Local Package
16
16
  Compile and pack (This will create a '.tgz' file):
17
- ```
17
+ ```bash
18
18
  npm run localpack
19
19
  ```
20
20
 
21
21
  Install package (Inside webapp):
22
22
  ```
23
- npm i ../ui-components/fathomtech-nualang-ui-components-0.1.XXX.tgz
23
+ npm i ../ui-components/nualang-ui-components-0.1.XXX.tgz
24
24
  ```
25
25
 
26
26
  If webapp is caching previous versions (Add a character to the end of the .tgz, e.g 'a') and install again:
27
- ```
28
- yarn add ../ui-components/fathomtech-nualang-ui-components-0.1.XXXa.tgz
27
+ ```bash
28
+ yarn add ../ui-components/nualang-ui-components-0.1.XXXa.tgz
29
29
  ```
30
30
 
31
31
  ## Publish to npm
@@ -59,7 +59,23 @@ Check for any lint errors or warnings.
59
59
  Run the babel compiler to compile es6 to js.
60
60
 
61
61
  ### `npm run postversion`
62
- Publish a new version of the pacakage to npm. npm will complain
62
+ Publish a new version of the package to npm. npm will complain
63
63
 
64
64
  ### `npm run chromatic`
65
- Publish a new version of the pacakage to https://www.chromatic.com/
65
+ Publish a new version of the package to https://www.chromatic.com/
66
+
67
+ ## Testing & Coverage
68
+
69
+ Run unit tests with Vitest in watch mode:
70
+
71
+ ```bash
72
+ npm run vitest
73
+ ```
74
+
75
+ To generate code coverage (uses V8 provider):
76
+
77
+ ```bash
78
+ npm run test:coverage
79
+ ```
80
+
81
+ Coverage reports will be written to the `coverage` directory. A text summary is printed to the console; an LCOV file (`coverage/lcov.info`) and a JSON report are also generated. This coverage step is intentionally not wired into CI — run it locally when you want to inspect or publish coverage results.
@@ -3,7 +3,6 @@ import PropTypes from "prop-types";
3
3
  import { useInView } from "react-intersection-observer";
4
4
  import { Button, Box, Typography, IconButton, Menu, MenuItem, Tooltip, CardActions, CardActionArea, Divider, CircularProgress } from "@mui/material";
5
5
  import Skeleton from "@mui/material/Skeleton";
6
- import Rating from "@mui/material/Rating";
7
6
  import Group from "@mui/icons-material/Group";
8
7
  import ExitToApp from "@mui/icons-material/ExitToApp";
9
8
  import Add from "@mui/icons-material/Add";
@@ -12,7 +11,6 @@ import MoreVert from "@mui/icons-material/MoreVert";
12
11
 
13
12
  // components
14
13
  import MembersDialog from "../../Dialogs/Members/Members";
15
- import MembersList from "../../Lists/Members/Members";
16
14
  import { capitalize } from "../../utils/index";
17
15
  import PlaceholderImages from "../../utils/placeholder-images/index";
18
16
  import ProgressiveCardMedia from "../../Misc/ProgressiveCardMedia/ProgressiveCardMedia";
@@ -122,7 +120,6 @@ function ClassroomCard({
122
120
  handleLeaveClassroom,
123
121
  membersProps,
124
122
  getMemberDetails,
125
- getMemberInfo,
126
123
  memberPlaceholderImageUrl,
127
124
  getClassroomMember,
128
125
  getClassroomMembers,
@@ -370,7 +367,6 @@ Classroom.propTypes = {
370
367
  forLang: PropTypes.string.isRequired,
371
368
  isMember: PropTypes.bool,
372
369
  isCreator: PropTypes.bool,
373
- members: MembersList.propTypes,
374
370
  createdAt: PropTypes.number.isRequired,
375
371
  createdBy: PropTypes.string.isRequired,
376
372
  userImage: PropTypes.string
@@ -21,7 +21,6 @@ import DeleteIcon from "@mui/icons-material/Delete";
21
21
  // components
22
22
  import MembersDialog from "../../Dialogs/Members/Members";
23
23
  import CourseOutlineDialog from "../../Dialogs/CourseOutline/CourseOutline";
24
- import MembersList from "../../Lists/Members/Members";
25
24
  import PlaceholderImages from "../../utils/placeholder-images/index";
26
25
  import { capitalize, formatNumberTotal } from "../../utils/index";
27
26
  import PlayArrowIcon from "@mui/icons-material/PlayArrow";
@@ -233,7 +232,6 @@ function CourseCard({
233
232
  selectable,
234
233
  selected,
235
234
  getMemberDetails,
236
- getMemberInfo,
237
235
  memberPlaceholderImageUrl,
238
236
  getCourseSections,
239
237
  getCourseMember,
@@ -582,7 +580,6 @@ function CourseCard({
582
580
  isClassroomCreator: isClassroomCreator,
583
581
  isMember: isMember,
584
582
  isAdmin: isAdmin,
585
- viewCourse: viewCourse,
586
583
  startCourse: startCourse,
587
584
  leaveCourse: leaveCourse,
588
585
  handleRemoveCourse: handleRemoveCourse,
@@ -603,7 +600,6 @@ function CourseCard({
603
600
  open: isMembersOpen,
604
601
  handleClose: handleCloseMembers,
605
602
  isCreator: isClassroomCreator ?? isCreator,
606
- isCourseMember: true,
607
603
  members: membersQuery.isSuccess ? membersQuery.data.Items : [],
608
604
  ...membersProps
609
605
  }), /*#__PURE__*/_jsx(CourseOutlineDialog, {
@@ -644,7 +640,6 @@ MemoizedCourse.propTypes = {
644
640
  createdAt: PropTypes.number.isRequired,
645
641
  createdBy: PropTypes.string.isRequired,
646
642
  userImage: PropTypes.string,
647
- members: PropTypes.arrayOf(MembersList.propTypes),
648
643
  sections: PropTypes.arrayOf({
649
644
  sectionId: PropTypes.string.isRequired,
650
645
  sectionName: PropTypes.string.isRequired,