@coorpacademy/components 11.29.0 → 11.32.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 (111) hide show
  1. package/es/atom/button-link/index.d.ts.map +1 -1
  2. package/es/atom/button-link/index.js +17 -9
  3. package/es/atom/button-link/index.js.map +1 -1
  4. package/es/atom/button-link/types.d.ts +8 -1
  5. package/es/atom/button-link/types.d.ts.map +1 -1
  6. package/es/atom/button-link/types.js.map +1 -1
  7. package/es/atom/chip/index.d.ts +37 -0
  8. package/es/atom/chip/index.d.ts.map +1 -0
  9. package/es/atom/chip/index.js +85 -0
  10. package/es/atom/chip/index.js.map +1 -0
  11. package/es/atom/chip/style.css +65 -0
  12. package/es/atom/chips/index.d.ts.map +1 -1
  13. package/es/atom/chips/index.js +1 -0
  14. package/es/atom/chips/index.js.map +1 -1
  15. package/es/atom/icon/index.js +2 -2
  16. package/es/atom/icon/index.js.map +1 -1
  17. package/es/molecule/bulk-progress-bar/index.d.ts.map +1 -1
  18. package/es/molecule/bulk-progress-bar/index.js +6 -3
  19. package/es/molecule/bulk-progress-bar/index.js.map +1 -1
  20. package/es/molecule/learner-skill-card/index.d.ts +21 -0
  21. package/es/molecule/learner-skill-card/index.d.ts.map +1 -0
  22. package/es/molecule/learner-skill-card/index.js +159 -0
  23. package/es/molecule/learner-skill-card/index.js.map +1 -0
  24. package/es/molecule/learner-skill-card/style.css +119 -0
  25. package/es/molecule/learning-profile-radar-chart/index.js +5 -1
  26. package/es/molecule/learning-profile-radar-chart/index.js.map +1 -1
  27. package/es/molecule/learning-profile-radar-chart/style.css +13 -0
  28. package/es/molecule/questions/template/index.d.ts +1 -1
  29. package/es/molecule/quick-access-card/index.d.ts.map +1 -1
  30. package/es/molecule/quick-access-card/index.js +5 -1
  31. package/es/molecule/quick-access-card/index.js.map +1 -1
  32. package/es/template/mobile-login/welcome/index.native.d.ts.map +1 -1
  33. package/es/template/mobile-login/welcome/index.native.js +5 -1
  34. package/es/template/mobile-login/welcome/index.native.js.map +1 -1
  35. package/es/variables/colors.d.ts +7 -7
  36. package/es/variables/colors.d.ts.map +1 -1
  37. package/es/variables/colors.js +2 -1
  38. package/es/variables/colors.js.map +1 -1
  39. package/es/variables/theme.native.d.ts.map +1 -1
  40. package/es/variables/theme.native.js +4 -1
  41. package/es/variables/theme.native.js.map +1 -1
  42. package/lib/atom/button-link/index.d.ts.map +1 -1
  43. package/lib/atom/button-link/index.js +18 -9
  44. package/lib/atom/button-link/index.js.map +1 -1
  45. package/lib/atom/button-link/types.d.ts +8 -1
  46. package/lib/atom/button-link/types.d.ts.map +1 -1
  47. package/lib/atom/button-link/types.js.map +1 -1
  48. package/lib/atom/chip/index.d.ts +37 -0
  49. package/lib/atom/chip/index.d.ts.map +1 -0
  50. package/lib/atom/chip/index.js +109 -0
  51. package/lib/atom/chip/index.js.map +1 -0
  52. package/lib/atom/chip/style.css +65 -0
  53. package/lib/atom/chips/index.d.ts.map +1 -1
  54. package/lib/atom/chips/index.js +1 -0
  55. package/lib/atom/chips/index.js.map +1 -1
  56. package/lib/atom/icon/index.js +2 -2
  57. package/lib/atom/icon/index.js.map +1 -1
  58. package/lib/molecule/bulk-progress-bar/index.d.ts.map +1 -1
  59. package/lib/molecule/bulk-progress-bar/index.js +7 -3
  60. package/lib/molecule/bulk-progress-bar/index.js.map +1 -1
  61. package/lib/molecule/learner-skill-card/index.d.ts +21 -0
  62. package/lib/molecule/learner-skill-card/index.d.ts.map +1 -0
  63. package/lib/molecule/learner-skill-card/index.js +177 -0
  64. package/lib/molecule/learner-skill-card/index.js.map +1 -0
  65. package/lib/molecule/learner-skill-card/style.css +119 -0
  66. package/lib/molecule/learning-profile-radar-chart/index.js +5 -1
  67. package/lib/molecule/learning-profile-radar-chart/index.js.map +1 -1
  68. package/lib/molecule/learning-profile-radar-chart/style.css +13 -0
  69. package/lib/molecule/questions/template/index.d.ts +1 -1
  70. package/lib/molecule/quick-access-card/index.d.ts.map +1 -1
  71. package/lib/molecule/quick-access-card/index.js +7 -1
  72. package/lib/molecule/quick-access-card/index.js.map +1 -1
  73. package/lib/template/mobile-login/welcome/index.native.d.ts.map +1 -1
  74. package/lib/template/mobile-login/welcome/index.native.js +7 -1
  75. package/lib/template/mobile-login/welcome/index.native.js.map +1 -1
  76. package/lib/variables/colors.d.ts +7 -7
  77. package/lib/variables/colors.d.ts.map +1 -1
  78. package/lib/variables/colors.js +2 -1
  79. package/lib/variables/colors.js.map +1 -1
  80. package/lib/variables/theme.native.d.ts.map +1 -1
  81. package/lib/variables/theme.native.js +4 -1
  82. package/lib/variables/theme.native.js.map +1 -1
  83. package/locales/bs/global.json +7 -1
  84. package/locales/cs/global.json +7 -1
  85. package/locales/de/global.json +7 -1
  86. package/locales/en/global.json +6 -0
  87. package/locales/es/global.json +6 -0
  88. package/locales/et/global.json +7 -1
  89. package/locales/fi/global.json +7 -1
  90. package/locales/fr/global.json +6 -0
  91. package/locales/hr/global.json +7 -1
  92. package/locales/hu/global.json +7 -1
  93. package/locales/hy/global.json +7 -1
  94. package/locales/it/global.json +6 -0
  95. package/locales/ja/global.json +7 -1
  96. package/locales/ko/global.json +7 -1
  97. package/locales/nl/global.json +6 -0
  98. package/locales/pl/global.json +7 -1
  99. package/locales/pt/global.json +7 -1
  100. package/locales/ro/global.json +7 -1
  101. package/locales/ru/global.json +7 -1
  102. package/locales/sk/global.json +7 -1
  103. package/locales/sl/global.json +109 -0
  104. package/locales/sv/global.json +7 -1
  105. package/locales/tl/global.json +7 -1
  106. package/locales/tr/global.json +7 -1
  107. package/locales/uk/global.json +7 -1
  108. package/locales/vi/global.json +7 -1
  109. package/locales/zh/global.json +7 -1
  110. package/locales/zh_TW/global.json +7 -1
  111. package/package.json +2 -2
@@ -0,0 +1,159 @@
1
+ import _getOr from "lodash/fp/getOr";
2
+ import _get from "lodash/fp/get";
3
+ import React, { useCallback, useState } from 'react';
4
+ import { convert } from 'css-color-function';
5
+ import PropTypes from 'prop-types';
6
+ import Icon from '../../atom/icon';
7
+ import ButtonLink from '../../atom/button-link';
8
+ import Provider from '../../atom/provider';
9
+ import style from './style.css';
10
+
11
+ const LearnerSkillCard = (props, context) => {
12
+ const {
13
+ 'aria-label': ariaLabel,
14
+ skillTitle,
15
+ skillAriaLabel,
16
+ metrics,
17
+ onReviewClick,
18
+ onExploreClick
19
+ } = props;
20
+ const {
21
+ skillCourses,
22
+ skillQuestions,
23
+ completedCourses = 0
24
+ } = metrics;
25
+ const {
26
+ skin,
27
+ translate
28
+ } = context;
29
+ const [hovered, setHovered] = useState(false);
30
+
31
+ const primarySkinColor = _getOr('#0061FF', 'common.primary', skin);
32
+
33
+ const reviewLocale = translate('Review');
34
+ const exploreLocale = translate('Explore');
35
+ const coursesLocale = translate('courses');
36
+ const questionsLocale = translate('questions');
37
+ const skillFocusLocale = translate('skill_focus');
38
+ const coursesCompletedLocale = translate('courses_completed');
39
+ const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);
40
+ const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);
41
+ const buttonReviewProps = {
42
+ customStyle: {
43
+ backgroundColor: '#FFF',
44
+ transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'
45
+ },
46
+ onReviewClick,
47
+ 'aria-label': `${skillTitle}, ${reviewLocale}`,
48
+ label: reviewLocale,
49
+ 'data-name': 'learner-skill-card-review-button'
50
+ };
51
+ const buttonExploreProps = {
52
+ customStyle: {
53
+ backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),
54
+ color: hovered ? '#FFFFFF' : primarySkinColor,
55
+ transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'
56
+ },
57
+ onExploreClick,
58
+ 'aria-label': `${skillTitle}, ${exploreLocale}`,
59
+ label: exploreLocale,
60
+ 'data-name': 'learner-skill-card-explore-button',
61
+ icon: {
62
+ position: 'left',
63
+ faIcon: {
64
+ name: 'compass',
65
+ backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),
66
+ color: hovered ? '#FFFFFF' : primarySkinColor,
67
+ size: 16
68
+ }
69
+ }
70
+ };
71
+ const completedPercentage = skillCourses && Number.parseInt(completedCourses / skillCourses * 100);
72
+ const ProgressBar = useCallback(() => {
73
+ if (!skillCourses) return null;
74
+ const progressBarColor = '#3EC483';
75
+ const inlineProgressValueStyle = {
76
+ backgroundColor: progressBarColor,
77
+ width: `${completedPercentage}%`
78
+ };
79
+ return /*#__PURE__*/React.createElement("div", {
80
+ className: style.progressWrapper
81
+ }, /*#__PURE__*/React.createElement("div", {
82
+ "data-name": "progress",
83
+ className: style.progress,
84
+ style: inlineProgressValueStyle,
85
+ role: "progressbar",
86
+ "aria-label": _get('progression', ariaLabel)
87
+ }));
88
+ }, [completedPercentage, ariaLabel, skillCourses]);
89
+ return /*#__PURE__*/React.createElement("div", {
90
+ className: style.learnerSkillCardWrapper,
91
+ "data-name": "learner-skill-card-wrapper",
92
+ "aria-label": ariaLabel
93
+ }, skillCourses || skillQuestions ? /*#__PURE__*/React.createElement("div", {
94
+ className: style.skillCoursesAndQuestionsWrapper
95
+ }, skillCourses ? /*#__PURE__*/React.createElement("div", {
96
+ className: style.skillInformation,
97
+ "data-name": "skill-courses"
98
+ }, /*#__PURE__*/React.createElement("span", {
99
+ className: style.skillInformationNumber
100
+ }, skillCourses), " ", coursesLocale) : null, skillQuestions ? /*#__PURE__*/React.createElement("div", {
101
+ className: style.skillInformation,
102
+ "data-name": "skill-questions"
103
+ }, /*#__PURE__*/React.createElement("span", {
104
+ className: style.skillInformationNumber
105
+ }, skillQuestions), "\xA0", questionsLocale) : null) : null, /*#__PURE__*/React.createElement("div", {
106
+ className: style.skillTitleWrapper
107
+ }, /*#__PURE__*/React.createElement("div", {
108
+ "data-name": "skill-title",
109
+ className: style.skillTitle,
110
+ "aria-label": skillAriaLabel || skillTitle
111
+ }, skillTitle), /*#__PURE__*/React.createElement("div", {
112
+ className: style.skillFocusBadge
113
+ }, /*#__PURE__*/React.createElement(Icon, {
114
+ iconName: "bullseye-arrow",
115
+ backgroundColor: "#DDD1FF",
116
+ size: {
117
+ faSize: 10,
118
+ wrapperSize: 16
119
+ }
120
+ }), skillFocusLocale)), /*#__PURE__*/React.createElement(ProgressBar, null), /*#__PURE__*/React.createElement("div", {
121
+ className: style.progressInformations
122
+ }, skillCourses && /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
123
+ className: style.progressInformation,
124
+ "data-name": "skill-completed-courses"
125
+ }, /*#__PURE__*/React.createElement("span", {
126
+ className: style.progressInformationNumber
127
+ }, completedCourses), coursesCompletedLocale), /*#__PURE__*/React.createElement("div", {
128
+ className: style.progressInformation,
129
+ "data-name": "completed-percentage"
130
+ }, /*#__PURE__*/React.createElement("span", {
131
+ className: style.progressInformationNumber
132
+ }, completedPercentage, "%")))), /*#__PURE__*/React.createElement("div", {
133
+ className: style.ctaWrapper,
134
+ "data-name": "cta-wrapper"
135
+ }, /*#__PURE__*/React.createElement(ButtonLink, buttonReviewProps), /*#__PURE__*/React.createElement("div", {
136
+ className: style.buttonWrapper,
137
+ onMouseOver: handleMouseOver,
138
+ onMouseLeave: handleMouseLeave,
139
+ "data-name": "button-explore-wrapper"
140
+ }, /*#__PURE__*/React.createElement(ButtonLink, buttonExploreProps))));
141
+ };
142
+
143
+ LearnerSkillCard.contextTypes = {
144
+ translate: Provider.childContextTypes.translate
145
+ };
146
+ LearnerSkillCard.propTypes = process.env.NODE_ENV !== "production" ? {
147
+ 'aria-label': PropTypes.string,
148
+ skillTitle: PropTypes.string,
149
+ skillAriaLabel: PropTypes.string,
150
+ metrics: PropTypes.shape({
151
+ skillCourses: PropTypes.number,
152
+ skillQuestions: PropTypes.number,
153
+ completedCourses: PropTypes.number
154
+ }),
155
+ onReviewClick: PropTypes.func,
156
+ onExploreClick: PropTypes.func
157
+ } : {};
158
+ export default LearnerSkillCard;
159
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["React","useCallback","useState","convert","PropTypes","Icon","ButtonLink","Provider","style","LearnerSkillCard","props","context","ariaLabel","skillTitle","skillAriaLabel","metrics","onReviewClick","onExploreClick","skillCourses","skillQuestions","completedCourses","skin","translate","hovered","setHovered","primarySkinColor","reviewLocale","exploreLocale","coursesLocale","questionsLocale","skillFocusLocale","coursesCompletedLocale","handleMouseOver","handleMouseLeave","buttonReviewProps","customStyle","backgroundColor","transition","label","buttonExploreProps","color","icon","position","faIcon","name","size","completedPercentage","Number","parseInt","ProgressBar","progressBarColor","inlineProgressValueStyle","width","progressWrapper","progress","learnerSkillCardWrapper","skillCoursesAndQuestionsWrapper","skillInformation","skillInformationNumber","skillTitleWrapper","skillFocusBadge","faSize","wrapperSize","progressInformations","progressInformation","progressInformationNumber","ctaWrapper","buttonWrapper","contextTypes","childContextTypes","propTypes","string","shape","number","func"],"sources":["../../../src/molecule/learner-skill-card/index.js"],"sourcesContent":["import React, {useCallback, useState} from 'react';\nimport {convert} from 'css-color-function';\nimport {get, getOr} from 'lodash/fp';\nimport PropTypes from 'prop-types';\nimport Icon from '../../atom/icon';\nimport ButtonLink from '../../atom/button-link';\nimport Provider from '../../atom/provider';\nimport style from './style.css';\n\nconst LearnerSkillCard = (props, context) => {\n const {\n 'aria-label': ariaLabel,\n skillTitle,\n skillAriaLabel,\n metrics,\n onReviewClick,\n onExploreClick\n } = props;\n const {skillCourses, skillQuestions, completedCourses = 0} = metrics;\n const {skin, translate} = context;\n const [hovered, setHovered] = useState(false);\n const primarySkinColor = getOr('#0061FF', 'common.primary', skin);\n\n const reviewLocale = translate('Review');\n const exploreLocale = translate('Explore');\n const coursesLocale = translate('courses');\n const questionsLocale = translate('questions');\n const skillFocusLocale = translate('skill_focus');\n const coursesCompletedLocale = translate('courses_completed');\n\n const handleMouseOver = useCallback(() => setHovered(true), [setHovered]);\n\n const handleMouseLeave = useCallback(() => setHovered(false), [setHovered]);\n\n const buttonReviewProps = {\n customStyle: {\n backgroundColor: '#FFF',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onReviewClick,\n 'aria-label': `${skillTitle}, ${reviewLocale}`,\n label: reviewLocale,\n 'data-name': 'learner-skill-card-review-button'\n };\n\n const buttonExploreProps = {\n customStyle: {\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out'\n },\n onExploreClick,\n 'aria-label': `${skillTitle}, ${exploreLocale}`,\n label: exploreLocale,\n 'data-name': 'learner-skill-card-explore-button',\n icon: {\n position: 'left',\n faIcon: {\n name: 'compass',\n backgroundColor: hovered ? primarySkinColor : convert(`color(${primarySkinColor} a(0.07))`),\n color: hovered ? '#FFFFFF' : primarySkinColor,\n size: 16\n }\n }\n };\n\n const completedPercentage =\n skillCourses && Number.parseInt((completedCourses / skillCourses) * 100);\n\n const ProgressBar = useCallback(() => {\n if (!skillCourses) return null;\n\n const progressBarColor = '#3EC483';\n const inlineProgressValueStyle = {\n backgroundColor: progressBarColor,\n width: `${completedPercentage}%`\n };\n\n return (\n <div className={style.progressWrapper}>\n <div\n data-name=\"progress\"\n className={style.progress}\n style={inlineProgressValueStyle}\n role=\"progressbar\"\n aria-label={get('progression', ariaLabel)}\n />\n </div>\n );\n }, [completedPercentage, ariaLabel, skillCourses]);\n\n return (\n <div\n className={style.learnerSkillCardWrapper}\n data-name=\"learner-skill-card-wrapper\"\n aria-label={ariaLabel}\n >\n {skillCourses || skillQuestions ? (\n <div className={style.skillCoursesAndQuestionsWrapper}>\n {skillCourses ? (\n <div className={style.skillInformation} data-name=\"skill-courses\">\n <span className={style.skillInformationNumber}>{skillCourses}</span> {coursesLocale}\n </div>\n ) : null}\n {skillQuestions ? (\n <div className={style.skillInformation} data-name=\"skill-questions\">\n <span className={style.skillInformationNumber}>{skillQuestions}</span>\n &nbsp;{questionsLocale}\n </div>\n ) : null}\n </div>\n ) : null}\n <div className={style.skillTitleWrapper}>\n <div\n data-name=\"skill-title\"\n className={style.skillTitle}\n aria-label={skillAriaLabel || skillTitle}\n >\n {skillTitle}\n </div>\n <div className={style.skillFocusBadge}>\n <Icon\n iconName=\"bullseye-arrow\"\n backgroundColor=\"#DDD1FF\"\n size={{\n faSize: 10,\n wrapperSize: 16\n }}\n />\n {skillFocusLocale}\n </div>\n </div>\n <ProgressBar />\n <div className={style.progressInformations}>\n {skillCourses && (\n <>\n <div className={style.progressInformation} data-name=\"skill-completed-courses\">\n <span className={style.progressInformationNumber}>{completedCourses}</span>\n {coursesCompletedLocale}\n </div>\n <div className={style.progressInformation} data-name=\"completed-percentage\">\n <span className={style.progressInformationNumber}>{completedPercentage}%</span>\n </div>\n </>\n )}\n </div>\n <div className={style.ctaWrapper} data-name=\"cta-wrapper\">\n <ButtonLink {...buttonReviewProps} />\n <div\n className={style.buttonWrapper}\n onMouseOver={handleMouseOver}\n onMouseLeave={handleMouseLeave}\n data-name=\"button-explore-wrapper\"\n >\n <ButtonLink {...buttonExploreProps} />\n </div>\n </div>\n </div>\n );\n};\n\nLearnerSkillCard.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearnerSkillCard.propTypes = {\n 'aria-label': PropTypes.string,\n skillTitle: PropTypes.string,\n skillAriaLabel: PropTypes.string,\n metrics: PropTypes.shape({\n skillCourses: PropTypes.number,\n skillQuestions: PropTypes.number,\n completedCourses: PropTypes.number\n }),\n onReviewClick: PropTypes.func,\n onExploreClick: PropTypes.func\n};\n\nexport default LearnerSkillCard;\n"],"mappings":"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"}
@@ -0,0 +1,119 @@
1
+ @value breakpoints: "../../variables/breakpoints.css";
2
+ @value mobile from breakpoints;
3
+ @value colors: "../../variables/colors.css";
4
+ @value cm_grey_400 from colors;
5
+ @value white from colors;
6
+ @value light from colors;
7
+ @value box_shadow_light_dark from colors;
8
+ @value box_shadow_medium_dark from colors;
9
+
10
+ @keyframes progressbar {
11
+ 0% {
12
+ width: 0;
13
+ }
14
+ }
15
+
16
+ .textBase {
17
+ font-family: "Gilroy";
18
+ font-style: normal;
19
+ }
20
+
21
+ .learnerSkillCardWrapper {
22
+ display: flex;
23
+ flex-direction: column;
24
+ max-width: 258px;
25
+ width: 100%;
26
+ min-height: 252px;
27
+ box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.04);
28
+ transition: box-shadow 0.15s ease-in-out;
29
+ border-radius: 12px;
30
+ padding: 24px;
31
+ box-sizing: border-box;
32
+ }
33
+
34
+ .learnerSkillCardWrapper:hover {
35
+ box-shadow: 0px 4px 16px 0px rgba(0, 0, 0, 0.10);
36
+ }
37
+
38
+ .skillCoursesAndQuestionsWrapper,
39
+ .progressInformations {
40
+ display: flex;
41
+ justify-content: space-between;
42
+ margin-bottom: 8px;
43
+ }
44
+
45
+ .skillInformation,
46
+ .progressInformation {
47
+ composes: textBase;
48
+ font-weight: 400;
49
+ font-size: 10px;
50
+ line-height: 12px;
51
+ color: cm_grey_400;
52
+ }
53
+
54
+ .skillInformationNumber,
55
+ .progressInformationNumber {
56
+ color: #000;
57
+ }
58
+
59
+ .skillTitleWrapper {
60
+ display: flex;
61
+ flex-direction: column;
62
+ min-height: 68px;
63
+ margin-bottom: 24px;
64
+ }
65
+
66
+ .skillTitle {
67
+ composes: textBase;
68
+ font-weight: 600;
69
+ font-size: 16px;
70
+ line-height: 22px;
71
+ margin-bottom: 8px;
72
+ }
73
+
74
+ .skillFocusBadge {
75
+ composes: textBase;
76
+ display: flex;
77
+ height: 12px;
78
+ width: 62px;
79
+ align-items: center;
80
+ background-color: #DDD1FF;
81
+ border-radius: 24px;
82
+ padding: 2px 4px;
83
+ font-size: 10px;
84
+ line-height: 12px;
85
+ font-weight: 600;
86
+ color: #3900D6;
87
+ margin-right: 8px;
88
+ }
89
+
90
+ .progressWrapper {
91
+ position: relative;
92
+ left: 0;
93
+ width: 100%;
94
+ height: 4px;
95
+ border-radius: 2px;
96
+ overflow: hidden;
97
+ background: light;
98
+ margin-bottom: 8px;
99
+ }
100
+
101
+ .progress {
102
+ display: block;
103
+ height: 4px;
104
+ animation: progressbar 2s ease-in-out;
105
+ }
106
+
107
+ .progressInformations {
108
+ min-height: 12px;
109
+ margin-bottom: 24px;
110
+ }
111
+
112
+ .ctaWrapper {
113
+ margin-top: auto;
114
+ display: flex;
115
+ }
116
+
117
+ .buttonWrapper {
118
+ display: flex;
119
+ }
@@ -144,7 +144,11 @@ const CustomTooltip = ({
144
144
  label
145
145
  }) => active && !!payload?.length ? /*#__PURE__*/React.createElement("div", {
146
146
  className: style.tooltip
147
- }, /*#__PURE__*/React.createElement("p", null, label), /*#__PURE__*/React.createElement("p", null, payload[0].value, "%")) : null;
147
+ }, /*#__PURE__*/React.createElement("span", {
148
+ className: style.tooltipLabel
149
+ }, label), /*#__PURE__*/React.createElement("span", {
150
+ className: style.tooltipValue
151
+ }, payload[0].value, "%")) : null;
148
152
 
149
153
  const CustomDot = ({
150
154
  cx,
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Fragment","useCallback","useEffect","useMemo","useState","Radar","RadarChart","PolarGrid","PolarAngleAxis","ResponsiveContainer","Tooltip","PolarRadiusAxis","classnames","isMobile","getIsMobile","style","learningProfileRadarChartPropTypes","top","offset","x","y","alignment","margin","bottom","right","marginRight","left","marginLeft","BLACK","WHITE","DEFAULT_MAIN_COLOR","DEFAULT_COLORS","gradient","fill","stroke","percentage","color","background","label","CHART_CONFIGS","triangle","name","ticks","sideCount","quadrilateral","pentagon","hexagon","DOT_DEFAULT_PROPS","strokeWidth","strokeOpacity","r","pointerEvents","cursor","DOT_ACTIVE_PROPS","RADAR_DEFAULT_PROPS","fillOpacity","Gradient","type","colors","firstColor","secondColor","CustomTooltip","active","payload","length","tooltip","value","CustomDot","cx","cy","onDotClick","activeDot","dataName","subject","onClick","e","stopPropagation","buildRadars","totalDataset","handleOnDotClick","index","datakey","dataset","buildCustomLabel","percentagesValues","chartType","formatedColors","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","tickWrapper","tickWrapperFocus","alignItems","textAlign","opacity","map","colorLabel","i","tickValue","tickLabel","CHART_CONFIGS_BY_SIDE_COUNT","formatValues","values_","val","formatData","legend","data_","ref","LearningProfileRadarChart","data","colorsProps","width","height","setIsMobile","setActiveDot","Object","assign","gradients","userAgent","navigator","isMobile_","setIsMobile_","handleClick","undefined","window","addEventListener","removeEventListener","formatedData","find","indexOf","skillRef","key","renderCustomLabel","currentData","ResponsiveLearningProfileRadarChart","props","propTypes"],"sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"sourcesContent":["import React, {Fragment, useCallback, useEffect, useMemo, useState} from 'react';\nimport {\n Radar,\n RadarChart,\n PolarGrid,\n PolarAngleAxis,\n ResponsiveContainer,\n Tooltip,\n PolarRadiusAxis\n} from 'recharts';\nimport {\n pipe,\n keyBy,\n mapValues,\n size,\n getOr,\n map,\n toPairs,\n values,\n isEmpty,\n omit,\n fromPairs,\n times,\n flatten,\n findKey\n} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\n\ntype CHART_TYPE_TYPE = keyof typeof CHART_CONFIGS;\n\n/* TICK_POSITIONS */\nconst top: TickType = {offset: {x: -100, y: -65}, alignment: 'center', margin: 'auto'};\nconst bottom: TickType = {offset: {x: -100, y: 10}, alignment: 'center', margin: 'auto'};\nconst right: TickType = {offset: {x: 30, y: -10}, alignment: 'start', marginRight: 'auto'};\nconst left: TickType = {offset: {x: -230, y: -10}, alignment: 'end', marginLeft: 'auto'};\n\n/* CONSTANTS */\nconst BLACK = '#000000ff';\nconst WHITE = '#ffffffff';\nconst DEFAULT_MAIN_COLOR = '#0062ffff';\n\nconst DEFAULT_COLORS: FormatedColorsType = {\n gradient: {\n fill: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR],\n stroke: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR]\n },\n percentage: {\n color: BLACK,\n background: WHITE\n },\n label: {\n color: BLACK\n }\n};\n\nconst CHART_CONFIGS = {\n triangle: {\n name: 'triangle',\n ticks: [top, right, left],\n sideCount: 3\n },\n quadrilateral: {\n name: 'quadrilateral',\n ticks: [top, right, bottom, left],\n sideCount: 4\n },\n pentagon: {\n name: 'pentagon',\n ticks: [top, right, right, left, left],\n sideCount: 5\n },\n hexagon: {\n name: 'hexagon',\n ticks: [top, right, right, bottom, left, left],\n sideCount: 6\n }\n} as const;\n\nconst DOT_DEFAULT_PROPS = {\n strokeWidth: 4,\n strokeOpacity: 0.2,\n fill: '#fff',\n r: 8,\n pointerEvents: 'all',\n style: {cursor: 'pointer'}\n} as const;\n\nconst DOT_ACTIVE_PROPS = {\n fill: '#fff',\n r: 8,\n strokeWidth: 6,\n strokeOpacity: 0.5\n} as const;\n\nconst RADAR_DEFAULT_PROPS = {\n strokeWidth: 6,\n strokeOpacity: 0.2,\n fillOpacity: 0.2\n} as const;\n\n/* COMPONENTS */\nconst Gradient = ({type, colors: [firstColor, secondColor]}: {type: string; colors: string[]}) => (\n <defs>\n <linearGradient id={`gradient-${type}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={firstColor} />\n <stop offset=\"100%\" stopColor={secondColor} />\n </linearGradient>\n </defs>\n);\n\nconst CustomTooltip = ({\n active,\n payload,\n label\n}: {\n active?: boolean;\n payload?: {value: number}[];\n label?: string;\n}) =>\n active && !!payload?.length ? (\n <div className={style.tooltip}>\n <p>{label}</p>\n <p>{payload[0].value}%</p>\n </div>\n ) : null;\n\nconst CustomDot = ({\n cx,\n cy,\n payload,\n onDotClick,\n stroke,\n activeDot,\n dataName\n}: {\n cx?: number;\n cy?: number;\n payload?: {payload: {subject: string} & {[datakey: string]: number}; name: string};\n onDotClick: (name: string) => void;\n dataKey: string;\n stroke: string;\n activeDot?: ActiveDotType;\n dataName: string;\n}) => (\n <circle\n {...{\n ...DOT_DEFAULT_PROPS,\n ...(payload?.payload.subject === activeDot?.label && DOT_ACTIVE_PROPS),\n stroke,\n cx,\n cy,\n onClick: e => {\n e.stopPropagation();\n\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\n handleOnDotClick: (name: string) => void,\n activeDot?: ActiveDotType\n) =>\n times(index => {\n const datakey = `value${index + 1}`;\n const dataset = `dataset-${index + 1}`;\n\n return (\n <Radar\n {...RADAR_DEFAULT_PROPS}\n fill={`url(#gradient-fill-${index})`}\n stroke={`url(#gradient-stroke-${index})`}\n key={dataset}\n name={dataset}\n dataKey={datakey}\n activeDot={{\n ...DOT_ACTIVE_PROPS,\n stroke: `url(#gradient-stroke-${index})`\n }}\n // only on mobile\n // to handle dot style on hover (convert to click)\n // use with the tooltip component\n dot={\n <CustomDot\n onDotClick={handleOnDotClick}\n activeDot={activeDot}\n dataKey={datakey}\n stroke={`url(#gradient-stroke-${index})`}\n dataName={`dot-${dataset}`}\n />\n }\n />\n );\n }, totalDataset);\n\nconst buildCustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick\n}: {\n index: number;\n x: number;\n y: number;\n percentagesValues: number[];\n label: string;\n chartType: CHART_TYPE_TYPE;\n formatedColors: FormatedColorsType[];\n activeDot?: ActiveDotType;\n onClick: (name: string) => void;\n}) => {\n const isCurrentDotActive = activeDot?.label === label;\n const {\n offset: {x: offsetX, y: offsetY},\n alignment,\n ...rest\n } = CHART_CONFIGS[chartType].ticks[index];\n\n function onLabelClick(e: React.MouseEvent) {\n e.stopPropagation();\n onClick(label);\n }\n\n return (\n <g>\n <foreignObject x={x + offsetX} y={y + offsetY} width=\"200\" height=\"65\">\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(style.tickWrapper, isCurrentDotActive && style.tickWrapperFocus)}\n style={{\n ...rest,\n alignItems: alignment,\n textAlign: alignment,\n opacity: !isEmpty(activeDot) && !isCurrentDotActive ? 0.3 : 1\n }}\n >\n {formatedColors.map(\n ({percentage: {color, background}, label: {color: colorLabel}}, i) => (\n <Fragment key={i}>\n <span className={style.tickValue} style={{color, background}}>\n {percentagesValues[i]}\n </span>\n <span className={style.tickLabel} style={{color: colorLabel}}>\n {label}\n </span>\n </Fragment>\n )\n )}\n </div>\n </foreignObject>\n </g>\n );\n};\n\n/* UTILS */\nconst CHART_CONFIGS_BY_SIDE_COUNT = pipe(keyBy('sideCount'), mapValues('name'))(CHART_CONFIGS);\n\nconst formatValues: (values_: number | number[]) => Record<string, number> = pipe(\n values_ => flatten([values_]),\n values_ => values_.map((val: number, i: number): [string, number] => [`value${i + 1}`, val]),\n fromPairs\n);\n\n/* this convert incoming component data to rechart data structure */\nexport const formatData: (\n legend: {[ref: string]: string},\n data_: LearningProfileRadarChartPropTypes['data']\n) => FormatedDataType[] = (legend, data_) =>\n pipe(\n toPairs,\n map(([ref, values_]: [string, number | number[]]) => ({\n ...formatValues(values_),\n subject: legend[ref]\n }))\n )(data_);\n\nexport const LearningProfileRadarChart = ({\n data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n width,\n height\n}: LearningProfileRadarChartPropTypes) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\n\n const formatedColors = times(i => {\n if (!colorsProps?.length) return DEFAULT_COLORS;\n\n const colors = colorsProps[i];\n return colors ? Object.assign({}, DEFAULT_COLORS, colors) : DEFAULT_COLORS;\n })(totalDataset);\n\n const chartType: CHART_TYPE_TYPE = useMemo(\n () => getOr('hexagon', size(data), CHART_CONFIGS_BY_SIDE_COUNT),\n [data]\n );\n\n const gradients = useMemo(\n () =>\n formatedColors.map(({gradient: {fill, stroke}}, index) => (\n <svg key={`gradient-${index}`}>\n <Gradient type={`fill-${index}`} colors={fill} />\n <Gradient type={`stroke-${index}`} colors={stroke} />\n </svg>\n )),\n [formatedColors]\n );\n\n const userAgent = navigator?.userAgent;\n const isMobile_ = useMemo(() => getIsMobile(userAgent), [userAgent]);\n\n const setIsMobile_ = useCallback(() => {\n setIsMobile(isMobile_);\n }, [isMobile_]);\n\n useEffect(() => setIsMobile_(), [setIsMobile_]);\n\n useEffect(() => {\n const handleClick = () => setActiveDot(undefined);\n\n !isEmpty(activeDot) && window.addEventListener('click', handleClick);\n\n return () => {\n window.removeEventListener('click', handleClick);\n };\n }, [activeDot]);\n\n function handleOnDotClick(label: string) {\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const index = formatedData.indexOf(payload);\n const datakey = `value${index + 1}`;\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n setActiveDot({\n key: datakey,\n value: payload[datakey],\n label: payload.subject\n });\n onClick(skillRef);\n }\n }\n\n function renderCustomLabel({\n x,\n y,\n payload: {value: label},\n index\n }: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\n const currentData = formatedData.find(({subject}) => subject === label);\n const percentagesValues: number[] = pipe(\n omit('subject'),\n mapValues(value => `${value}%`),\n values\n )(currentData);\n\n return buildCustomLabel({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick: handleOnDotClick\n });\n }\n const formatedData = useMemo(() => formatData(legend, data), [legend, data]);\n\n return (\n <RadarChart\n width={width}\n height={height}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius=\"80%\"\n data={formatedData}\n >\n {gradients}\n {buildRadars(totalDataset, handleOnDotClick, activeDot)}\n <PolarGrid strokeDasharray={15} strokeWidth={3} radialLines={false} />\n <PolarAngleAxis dataKey=\"subject\" tick={!isMobile && renderCustomLabel} />\n <PolarRadiusAxis tick={false} axisLine={false} domain={[0, 100]} />\n {isMobile ? <Tooltip cursor={false} content={<CustomTooltip />} /> : null}\n </RadarChart>\n );\n};\n\nconst ResponsiveLearningProfileRadarChart = (props: LearningProfileRadarChartPropTypes) => (\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LearningProfileRadarChart {...props} />\n </ResponsiveContainer>\n);\n\nLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","Fragment","useCallback","useEffect","useMemo","useState","Radar","RadarChart","PolarGrid","PolarAngleAxis","ResponsiveContainer","Tooltip","PolarRadiusAxis","classnames","isMobile","getIsMobile","style","learningProfileRadarChartPropTypes","top","offset","x","y","alignment","margin","bottom","right","marginRight","left","marginLeft","BLACK","WHITE","DEFAULT_MAIN_COLOR","DEFAULT_COLORS","gradient","fill","stroke","percentage","color","background","label","CHART_CONFIGS","triangle","name","ticks","sideCount","quadrilateral","pentagon","hexagon","DOT_DEFAULT_PROPS","strokeWidth","strokeOpacity","r","pointerEvents","cursor","DOT_ACTIVE_PROPS","RADAR_DEFAULT_PROPS","fillOpacity","Gradient","type","colors","firstColor","secondColor","CustomTooltip","active","payload","length","tooltip","tooltipLabel","tooltipValue","value","CustomDot","cx","cy","onDotClick","activeDot","dataName","subject","onClick","e","stopPropagation","buildRadars","totalDataset","handleOnDotClick","index","datakey","dataset","buildCustomLabel","percentagesValues","chartType","formatedColors","isCurrentDotActive","offsetX","offsetY","rest","onLabelClick","tickWrapper","tickWrapperFocus","alignItems","textAlign","opacity","map","colorLabel","i","tickValue","tickLabel","CHART_CONFIGS_BY_SIDE_COUNT","formatValues","values_","val","formatData","legend","data_","ref","LearningProfileRadarChart","data","colorsProps","width","height","setIsMobile","setActiveDot","Object","assign","gradients","userAgent","navigator","isMobile_","setIsMobile_","handleClick","undefined","window","addEventListener","removeEventListener","formatedData","find","indexOf","skillRef","key","renderCustomLabel","currentData","ResponsiveLearningProfileRadarChart","props","propTypes"],"sources":["../../../src/molecule/learning-profile-radar-chart/index.tsx"],"sourcesContent":["import React, {Fragment, useCallback, useEffect, useMemo, useState} from 'react';\nimport {\n Radar,\n RadarChart,\n PolarGrid,\n PolarAngleAxis,\n ResponsiveContainer,\n Tooltip,\n PolarRadiusAxis\n} from 'recharts';\nimport {\n pipe,\n keyBy,\n mapValues,\n size,\n getOr,\n map,\n toPairs,\n values,\n isEmpty,\n omit,\n fromPairs,\n times,\n flatten,\n findKey\n} from 'lodash/fp';\nimport classnames from 'classnames';\nimport {isMobile as getIsMobile} from '../../util/check-is-mobile';\nimport style from './style.css';\nimport {\n ActiveDotType,\n FormatedColorsType,\n FormatedDataType,\n LearningProfileRadarChartPropTypes,\n TickType,\n learningProfileRadarChartPropTypes\n} from './types';\n\ntype CHART_TYPE_TYPE = keyof typeof CHART_CONFIGS;\n\n/* TICK_POSITIONS */\nconst top: TickType = {offset: {x: -100, y: -65}, alignment: 'center', margin: 'auto'};\nconst bottom: TickType = {offset: {x: -100, y: 10}, alignment: 'center', margin: 'auto'};\nconst right: TickType = {offset: {x: 30, y: -10}, alignment: 'start', marginRight: 'auto'};\nconst left: TickType = {offset: {x: -230, y: -10}, alignment: 'end', marginLeft: 'auto'};\n\n/* CONSTANTS */\nconst BLACK = '#000000ff';\nconst WHITE = '#ffffffff';\nconst DEFAULT_MAIN_COLOR = '#0062ffff';\n\nconst DEFAULT_COLORS: FormatedColorsType = {\n gradient: {\n fill: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR],\n stroke: [DEFAULT_MAIN_COLOR, DEFAULT_MAIN_COLOR]\n },\n percentage: {\n color: BLACK,\n background: WHITE\n },\n label: {\n color: BLACK\n }\n};\n\nconst CHART_CONFIGS = {\n triangle: {\n name: 'triangle',\n ticks: [top, right, left],\n sideCount: 3\n },\n quadrilateral: {\n name: 'quadrilateral',\n ticks: [top, right, bottom, left],\n sideCount: 4\n },\n pentagon: {\n name: 'pentagon',\n ticks: [top, right, right, left, left],\n sideCount: 5\n },\n hexagon: {\n name: 'hexagon',\n ticks: [top, right, right, bottom, left, left],\n sideCount: 6\n }\n} as const;\n\nconst DOT_DEFAULT_PROPS = {\n strokeWidth: 4,\n strokeOpacity: 0.2,\n fill: '#fff',\n r: 8,\n pointerEvents: 'all',\n style: {cursor: 'pointer'}\n} as const;\n\nconst DOT_ACTIVE_PROPS = {\n fill: '#fff',\n r: 8,\n strokeWidth: 6,\n strokeOpacity: 0.5\n} as const;\n\nconst RADAR_DEFAULT_PROPS = {\n strokeWidth: 6,\n strokeOpacity: 0.2,\n fillOpacity: 0.2\n} as const;\n\n/* COMPONENTS */\nconst Gradient = ({type, colors: [firstColor, secondColor]}: {type: string; colors: string[]}) => (\n <defs>\n <linearGradient id={`gradient-${type}`} x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n <stop offset=\"0%\" stopColor={firstColor} />\n <stop offset=\"100%\" stopColor={secondColor} />\n </linearGradient>\n </defs>\n);\n\nconst CustomTooltip = ({\n active,\n payload,\n label\n}: {\n active?: boolean;\n payload?: {value: number}[];\n label?: string;\n}) =>\n active && !!payload?.length ? (\n <div className={style.tooltip}>\n <span className={style.tooltipLabel}>{label}</span>\n <span className={style.tooltipValue}>{payload[0].value}%</span>\n </div>\n ) : null;\n\nconst CustomDot = ({\n cx,\n cy,\n payload,\n onDotClick,\n stroke,\n activeDot,\n dataName\n}: {\n cx?: number;\n cy?: number;\n payload?: {payload: {subject: string} & {[datakey: string]: number}; name: string};\n onDotClick: (name: string) => void;\n dataKey: string;\n stroke: string;\n activeDot?: ActiveDotType;\n dataName: string;\n}) => (\n <circle\n {...{\n ...DOT_DEFAULT_PROPS,\n ...(payload?.payload.subject === activeDot?.label && DOT_ACTIVE_PROPS),\n stroke,\n cx,\n cy,\n onClick: e => {\n e.stopPropagation();\n\n if (!payload?.name) return;\n onDotClick(payload.name);\n },\n 'data-name': dataName\n }}\n />\n);\n\nconst buildRadars = (\n totalDataset: number,\n handleOnDotClick: (name: string) => void,\n activeDot?: ActiveDotType\n) =>\n times(index => {\n const datakey = `value${index + 1}`;\n const dataset = `dataset-${index + 1}`;\n\n return (\n <Radar\n {...RADAR_DEFAULT_PROPS}\n fill={`url(#gradient-fill-${index})`}\n stroke={`url(#gradient-stroke-${index})`}\n key={dataset}\n name={dataset}\n dataKey={datakey}\n activeDot={{\n ...DOT_ACTIVE_PROPS,\n stroke: `url(#gradient-stroke-${index})`\n }}\n // only on mobile\n // to handle dot style on hover (convert to click)\n // use with the tooltip component\n dot={\n <CustomDot\n onDotClick={handleOnDotClick}\n activeDot={activeDot}\n dataKey={datakey}\n stroke={`url(#gradient-stroke-${index})`}\n dataName={`dot-${dataset}`}\n />\n }\n />\n );\n }, totalDataset);\n\nconst buildCustomLabel = ({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick\n}: {\n index: number;\n x: number;\n y: number;\n percentagesValues: number[];\n label: string;\n chartType: CHART_TYPE_TYPE;\n formatedColors: FormatedColorsType[];\n activeDot?: ActiveDotType;\n onClick: (name: string) => void;\n}) => {\n const isCurrentDotActive = activeDot?.label === label;\n const {\n offset: {x: offsetX, y: offsetY},\n alignment,\n ...rest\n } = CHART_CONFIGS[chartType].ticks[index];\n\n function onLabelClick(e: React.MouseEvent) {\n e.stopPropagation();\n onClick(label);\n }\n\n return (\n <g>\n <foreignObject x={x + offsetX} y={y + offsetY} width=\"200\" height=\"65\">\n <div\n data-name={label}\n onClick={onLabelClick}\n className={classnames(style.tickWrapper, isCurrentDotActive && style.tickWrapperFocus)}\n style={{\n ...rest,\n alignItems: alignment,\n textAlign: alignment,\n opacity: !isEmpty(activeDot) && !isCurrentDotActive ? 0.3 : 1\n }}\n >\n {formatedColors.map(\n ({percentage: {color, background}, label: {color: colorLabel}}, i) => (\n <Fragment key={i}>\n <span className={style.tickValue} style={{color, background}}>\n {percentagesValues[i]}\n </span>\n <span className={style.tickLabel} style={{color: colorLabel}}>\n {label}\n </span>\n </Fragment>\n )\n )}\n </div>\n </foreignObject>\n </g>\n );\n};\n\n/* UTILS */\nconst CHART_CONFIGS_BY_SIDE_COUNT = pipe(keyBy('sideCount'), mapValues('name'))(CHART_CONFIGS);\n\nconst formatValues: (values_: number | number[]) => Record<string, number> = pipe(\n values_ => flatten([values_]),\n values_ => values_.map((val: number, i: number): [string, number] => [`value${i + 1}`, val]),\n fromPairs\n);\n\n/* this convert incoming component data to rechart data structure */\nexport const formatData: (\n legend: {[ref: string]: string},\n data_: LearningProfileRadarChartPropTypes['data']\n) => FormatedDataType[] = (legend, data_) =>\n pipe(\n toPairs,\n map(([ref, values_]: [string, number | number[]]) => ({\n ...formatValues(values_),\n subject: legend[ref]\n }))\n )(data_);\n\nexport const LearningProfileRadarChart = ({\n data,\n legend,\n totalDataset,\n colors: colorsProps,\n onClick,\n width,\n height\n}: LearningProfileRadarChartPropTypes) => {\n const [isMobile, setIsMobile] = useState(false);\n const [activeDot, setActiveDot] = useState<ActiveDotType>();\n\n const formatedColors = times(i => {\n if (!colorsProps?.length) return DEFAULT_COLORS;\n\n const colors = colorsProps[i];\n return colors ? Object.assign({}, DEFAULT_COLORS, colors) : DEFAULT_COLORS;\n })(totalDataset);\n\n const chartType: CHART_TYPE_TYPE = useMemo(\n () => getOr('hexagon', size(data), CHART_CONFIGS_BY_SIDE_COUNT),\n [data]\n );\n\n const gradients = useMemo(\n () =>\n formatedColors.map(({gradient: {fill, stroke}}, index) => (\n <svg key={`gradient-${index}`}>\n <Gradient type={`fill-${index}`} colors={fill} />\n <Gradient type={`stroke-${index}`} colors={stroke} />\n </svg>\n )),\n [formatedColors]\n );\n\n const userAgent = navigator?.userAgent;\n const isMobile_ = useMemo(() => getIsMobile(userAgent), [userAgent]);\n\n const setIsMobile_ = useCallback(() => {\n setIsMobile(isMobile_);\n }, [isMobile_]);\n\n useEffect(() => setIsMobile_(), [setIsMobile_]);\n\n useEffect(() => {\n const handleClick = () => setActiveDot(undefined);\n\n !isEmpty(activeDot) && window.addEventListener('click', handleClick);\n\n return () => {\n window.removeEventListener('click', handleClick);\n };\n }, [activeDot]);\n\n function handleOnDotClick(label: string) {\n const payload = formatedData.find(({subject}) => subject === label);\n if (!payload) return;\n\n const index = formatedData.indexOf(payload);\n const datakey = `value${index + 1}`;\n const skillRef = findKey(val => val === payload?.subject, legend);\n\n if (skillRef) {\n setActiveDot({\n key: datakey,\n value: payload[datakey],\n label: payload.subject\n });\n onClick(skillRef);\n }\n }\n\n function renderCustomLabel({\n x,\n y,\n payload: {value: label},\n index\n }: {\n x: number;\n y: number;\n payload: {value: string};\n index: number;\n }) {\n const currentData = formatedData.find(({subject}) => subject === label);\n const percentagesValues: number[] = pipe(\n omit('subject'),\n mapValues(value => `${value}%`),\n values\n )(currentData);\n\n return buildCustomLabel({\n index,\n x,\n y,\n percentagesValues,\n label,\n activeDot,\n chartType,\n formatedColors,\n onClick: handleOnDotClick\n });\n }\n const formatedData = useMemo(() => formatData(legend, data), [legend, data]);\n\n return (\n <RadarChart\n width={width}\n height={height}\n cx=\"50%\"\n cy=\"50%\"\n outerRadius=\"80%\"\n data={formatedData}\n >\n {gradients}\n {buildRadars(totalDataset, handleOnDotClick, activeDot)}\n <PolarGrid strokeDasharray={15} strokeWidth={3} radialLines={false} />\n <PolarAngleAxis dataKey=\"subject\" tick={!isMobile && renderCustomLabel} />\n <PolarRadiusAxis tick={false} axisLine={false} domain={[0, 100]} />\n {isMobile ? <Tooltip cursor={false} content={<CustomTooltip />} /> : null}\n </RadarChart>\n );\n};\n\nconst ResponsiveLearningProfileRadarChart = (props: LearningProfileRadarChartPropTypes) => (\n <ResponsiveContainer width=\"100%\" height=\"100%\">\n <LearningProfileRadarChart {...props} />\n </ResponsiveContainer>\n);\n\nLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\nResponsiveLearningProfileRadarChart.propTypes = learningProfileRadarChartPropTypes;\n\nexport default ResponsiveLearningProfileRadarChart;\n"],"mappings":"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"}
@@ -38,6 +38,9 @@
38
38
  }
39
39
 
40
40
  .tooltip {
41
+ display: flex;
42
+ flex-direction: column;
43
+ gap: 8px;
41
44
  position: relative;
42
45
  font-family: 'Gilroy';
43
46
  font-weight: 600;
@@ -49,3 +52,13 @@
49
52
  padding: 8px 12px;
50
53
  box-sizing: border-box;
51
54
  }
55
+
56
+ .tooltipLabel {
57
+ font-size: 10px;
58
+ font-weight: 600;
59
+ }
60
+
61
+ .tooltipValue {
62
+ font-size: 14px;
63
+ font-weight: 700;
64
+ }
@@ -29,7 +29,7 @@ declare namespace Template {
29
29
  theme: PropTypes.Requireable<string>;
30
30
  'aria-label': PropTypes.Requireable<string>;
31
31
  groupAriaLabel: PropTypes.Requireable<string>;
32
- }, "aria-label" | "theme" | "onChange" | "options" | "groupAriaLabel">>>) | null | undefined)[]>;
32
+ }, "aria-label" | "onChange" | "theme" | "options" | "groupAriaLabel">>>) | null | undefined)[]>;
33
33
  const groupAriaLabel: PropTypes.Requireable<string>;
34
34
  }
35
35
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/quick-access-card/index.js"],"names":[],"mappings":";AAiIA,wEAkEC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/quick-access-card/index.js"],"names":[],"mappings":";AAoIA,wEAkEC"}
@@ -2,7 +2,11 @@ import React from 'react';
2
2
  import PropTypes from 'prop-types';
3
3
  import { NovaSolidContentContentBookAdd as CockpitIcon, NovaSolidUsersActionsUser as ManageUserIcon, NovaSolidFilesBasicFileUpload2 as UploadUserIcon, NovaSolidEmailAtSign as ManageEmailIcon, NovaSolidDesignPaintBrush2 as LookAndFeelIcon, NovaSolidContentContentViewList as DashboardIcon, NovaSolidContentEditionFlash as MassiveBattleIcon, NovaSolidApplicationsWindowApplication5 as CmsIcon, NovaSolidBusinessBusinessGraphLine2 as AnalyticsIcon, NovaCompositionNavigationArrowRight as ActionIcon, NovaCompositionCoorpacademyOpenInNewTab as NewTabIcon, NovaLinePhoneMobilePhone as MobilePhone, NovaLineMessagesChatChatBubbleCircleQuestionMark as ChatBubbleCircleQuestionMark, NovaLineNetworkNetworkAlert as NetworkAlert, NovaLineObjectsBinoculars as Binoculaire, NovaLineContentEditionContentBook as ContentBook } from '@coorpacademy/nova-icons';
4
4
  import Link from '../../atom/link';
5
+ import { COLORS } from '../../variables/colors';
5
6
  import style from './style.css';
7
+ const {
8
+ cm_primary_blue
9
+ } = COLORS;
6
10
 
7
11
  const getIcon = feature => {
8
12
  switch (feature) {
@@ -105,7 +109,7 @@ const getBackgroudRadialColors = feature => {
105
109
  return {
106
110
  iconBackgroundColor: '#F1F6FE',
107
111
  degrees: '0',
108
- iconColor: '#0061FF'
112
+ iconColor: cm_primary_blue
109
113
  };
110
114
 
111
115
  case 'network':
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidContentContentBookAdd","CockpitIcon","NovaSolidUsersActionsUser","ManageUserIcon","NovaSolidFilesBasicFileUpload2","UploadUserIcon","NovaSolidEmailAtSign","ManageEmailIcon","NovaSolidDesignPaintBrush2","LookAndFeelIcon","NovaSolidContentContentViewList","DashboardIcon","NovaSolidContentEditionFlash","MassiveBattleIcon","NovaSolidApplicationsWindowApplication5","CmsIcon","NovaSolidBusinessBusinessGraphLine2","AnalyticsIcon","NovaCompositionNavigationArrowRight","ActionIcon","NovaCompositionCoorpacademyOpenInNewTab","NewTabIcon","NovaLinePhoneMobilePhone","MobilePhone","NovaLineMessagesChatChatBubbleCircleQuestionMark","ChatBubbleCircleQuestionMark","NovaLineNetworkNetworkAlert","NetworkAlert","NovaLineObjectsBinoculars","Binoculaire","NovaLineContentEditionContentBook","ContentBook","Link","style","getIcon","feature","getBackgroudRadialColors","iconBackgroundColor","degrees","iconColor","QuickAccessCard","props","context","title","description","href","openInNewTab","isMoocCard","Icon","newTabOnClick","newTabIcon","quickAccess","link","background","content","iconFeatureWrapper","backgroundColor","iconFeature","color","cta","iconGotoWrapper","hoverMooc","hover","iconGoto","propTypes","string","bool","oneOf"],"sources":["../../../src/molecule/quick-access-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidContentContentBookAdd as CockpitIcon,\n NovaSolidUsersActionsUser as ManageUserIcon,\n NovaSolidFilesBasicFileUpload2 as UploadUserIcon,\n NovaSolidEmailAtSign as ManageEmailIcon,\n NovaSolidDesignPaintBrush2 as LookAndFeelIcon,\n NovaSolidContentContentViewList as DashboardIcon,\n NovaSolidContentEditionFlash as MassiveBattleIcon,\n NovaSolidApplicationsWindowApplication5 as CmsIcon,\n NovaSolidBusinessBusinessGraphLine2 as AnalyticsIcon,\n NovaCompositionNavigationArrowRight as ActionIcon,\n NovaCompositionCoorpacademyOpenInNewTab as NewTabIcon,\n NovaLinePhoneMobilePhone as MobilePhone,\n NovaLineMessagesChatChatBubbleCircleQuestionMark as ChatBubbleCircleQuestionMark,\n NovaLineNetworkNetworkAlert as NetworkAlert,\n NovaLineObjectsBinoculars as Binoculaire,\n NovaLineContentEditionContentBook as ContentBook\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport style from './style.css';\n\nconst getIcon = feature => {\n switch (feature) {\n case 'manage_users':\n return ManageUserIcon;\n case 'upload_users':\n return UploadUserIcon;\n case 'manage_email':\n return ManageEmailIcon;\n case 'massive_battle':\n return MassiveBattleIcon;\n case 'cms':\n return CmsIcon;\n case 'look_and_feel':\n return LookAndFeelIcon;\n case 'dashboard':\n return DashboardIcon;\n case 'cockpit':\n return CockpitIcon;\n case 'analytics':\n return AnalyticsIcon;\n case 'binoculaire':\n return Binoculaire;\n case 'book':\n return ContentBook;\n case 'network':\n return NetworkAlert;\n case 'chat-bubble-question':\n return ChatBubbleCircleQuestionMark;\n case 'mobile-phone':\n return MobilePhone;\n default:\n return CockpitIcon;\n }\n};\n\nconst getBackgroudRadialColors = feature => {\n switch (feature) {\n case 'manage_users':\n case 'upload_users':\n return {\n iconBackgroundColor: '#2EC1D6',\n degrees: '187',\n iconColor: null\n };\n case 'look_and_feel':\n case 'dashboard':\n return {\n iconBackgroundColor: '#18BB98',\n degrees: '167',\n iconColor: null\n };\n case 'cockpit':\n return {\n iconBackgroundColor: '#FF7043',\n degrees: '14',\n iconColor: null\n };\n case 'manage_email':\n case 'massive_battle':\n case 'cms':\n return {\n iconBackgroundColor: '#7340FF',\n degrees: '256',\n iconColor: null\n };\n case 'analytics':\n return {\n iconBackgroundColor: '#FF4040',\n degrees: '0',\n iconColor: null\n };\n case 'binoculaire':\n return {\n iconBackgroundColor: '#FFEFEB',\n iconColor: '#FF541F',\n degrees: '0'\n };\n case 'book':\n return {\n iconBackgroundColor: '#F1F6FE',\n degrees: '0',\n iconColor: '#0061FF'\n };\n case 'network':\n return {\n iconBackgroundColor: '#FFE5E6',\n iconColor: '#FF0A0A',\n degrees: '0'\n };\n case 'chat-bubble-question':\n return {\n iconBackgroundColor: '#E8FCF8',\n iconColor: '#16AC8C',\n degrees: '0'\n };\n case 'mobile-phone':\n return {\n iconBackgroundColor: '#F4F0FF',\n degrees: '0',\n iconColor: '#5C21FF'\n };\n default:\n return null;\n }\n};\n\nconst QuickAccessCard = (props, context) => {\n const {title, description, feature, href, openInNewTab = false, isMoocCard = false} = props;\n const {iconBackgroundColor, degrees, iconColor} = getBackgroudRadialColors(feature);\n const Icon = getIcon(feature);\n const newTabOnClick = openInNewTab ? <NewTabIcon className={style.newTabIcon} /> : null;\n\n return (\n <div data-name=\"quick-access-card\" data-type={feature} className={style.quickAccess}>\n <Link href={href} target={openInNewTab ? '_blank' : '_self'} className={style.link}>\n <div\n style={\n !isMoocCard\n ? {\n background: `radial-gradient(62.12% 56.45% at 0% 77.29%, \n hsl(${degrees}deg 68% 40% / 20%) 0%, \n hsl(${degrees}deg 68% 40% / 0%) 100%), \n radial-gradient(113.85% 103.46% at 93.27% 7.88%,\n hsl(${degrees}deg 67% 51% / 15%) 0%, \n hsl(${degrees}deg 67% 51% / 0%) 100%),\n radial-gradient(49.66% 49.63% at 78.65% 86.26%, \n hsl(${degrees}deg 87% 91%) 0%, \n hsl(${degrees}deg 87% 91% / 0%) 100%), \n #FAFAFA`\n }\n : null\n }\n className={style.content}\n >\n <div\n className={style.iconFeatureWrapper}\n style={{\n backgroundColor: iconBackgroundColor\n }}\n >\n <Icon className={style.iconFeature} style={{color: iconColor}} />\n </div>\n <div className={style.title}>\n {title}\n {newTabOnClick}\n </div>\n <div className={style.description}>{description}</div>\n <div className={style.cta}>\n <div\n className={!isMoocCard ? style.iconGotoWrapper : null}\n style={\n !isMoocCard\n ? {\n backgroundColor: iconBackgroundColor\n }\n : null\n }\n >\n <div\n className={isMoocCard ? style.hoverMooc : style.hover}\n style={{\n color: isMoocCard ? '#FFFFFF' : iconBackgroundColor\n }}\n >\n <ActionIcon className={style.iconGoto} />\n </div>\n </div>\n </div>\n </div>\n </Link>\n </div>\n );\n};\n\nQuickAccessCard.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n href: PropTypes.string,\n openInNewTab: PropTypes.bool,\n isMoocCard: PropTypes.bool,\n feature: PropTypes.oneOf([\n 'analytics',\n 'cms',\n 'cockpit',\n 'massive_battle',\n 'manage_email',\n 'dashboard',\n 'look_and_feel',\n 'manage_users',\n 'upload_users',\n 'binoculaire',\n 'book',\n 'network',\n 'chat-bubble-question',\n 'mobile-phone'\n ])\n};\n\nexport default QuickAccessCard;\n"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","names":["React","PropTypes","NovaSolidContentContentBookAdd","CockpitIcon","NovaSolidUsersActionsUser","ManageUserIcon","NovaSolidFilesBasicFileUpload2","UploadUserIcon","NovaSolidEmailAtSign","ManageEmailIcon","NovaSolidDesignPaintBrush2","LookAndFeelIcon","NovaSolidContentContentViewList","DashboardIcon","NovaSolidContentEditionFlash","MassiveBattleIcon","NovaSolidApplicationsWindowApplication5","CmsIcon","NovaSolidBusinessBusinessGraphLine2","AnalyticsIcon","NovaCompositionNavigationArrowRight","ActionIcon","NovaCompositionCoorpacademyOpenInNewTab","NewTabIcon","NovaLinePhoneMobilePhone","MobilePhone","NovaLineMessagesChatChatBubbleCircleQuestionMark","ChatBubbleCircleQuestionMark","NovaLineNetworkNetworkAlert","NetworkAlert","NovaLineObjectsBinoculars","Binoculaire","NovaLineContentEditionContentBook","ContentBook","Link","COLORS","style","cm_primary_blue","getIcon","feature","getBackgroudRadialColors","iconBackgroundColor","degrees","iconColor","QuickAccessCard","props","context","title","description","href","openInNewTab","isMoocCard","Icon","newTabOnClick","newTabIcon","quickAccess","link","background","content","iconFeatureWrapper","backgroundColor","iconFeature","color","cta","iconGotoWrapper","hoverMooc","hover","iconGoto","propTypes","string","bool","oneOf"],"sources":["../../../src/molecule/quick-access-card/index.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport {\n NovaSolidContentContentBookAdd as CockpitIcon,\n NovaSolidUsersActionsUser as ManageUserIcon,\n NovaSolidFilesBasicFileUpload2 as UploadUserIcon,\n NovaSolidEmailAtSign as ManageEmailIcon,\n NovaSolidDesignPaintBrush2 as LookAndFeelIcon,\n NovaSolidContentContentViewList as DashboardIcon,\n NovaSolidContentEditionFlash as MassiveBattleIcon,\n NovaSolidApplicationsWindowApplication5 as CmsIcon,\n NovaSolidBusinessBusinessGraphLine2 as AnalyticsIcon,\n NovaCompositionNavigationArrowRight as ActionIcon,\n NovaCompositionCoorpacademyOpenInNewTab as NewTabIcon,\n NovaLinePhoneMobilePhone as MobilePhone,\n NovaLineMessagesChatChatBubbleCircleQuestionMark as ChatBubbleCircleQuestionMark,\n NovaLineNetworkNetworkAlert as NetworkAlert,\n NovaLineObjectsBinoculars as Binoculaire,\n NovaLineContentEditionContentBook as ContentBook\n} from '@coorpacademy/nova-icons';\nimport Link from '../../atom/link';\nimport {COLORS} from '../../variables/colors';\nimport style from './style.css';\n\nconst {cm_primary_blue} = COLORS;\n\nconst getIcon = feature => {\n switch (feature) {\n case 'manage_users':\n return ManageUserIcon;\n case 'upload_users':\n return UploadUserIcon;\n case 'manage_email':\n return ManageEmailIcon;\n case 'massive_battle':\n return MassiveBattleIcon;\n case 'cms':\n return CmsIcon;\n case 'look_and_feel':\n return LookAndFeelIcon;\n case 'dashboard':\n return DashboardIcon;\n case 'cockpit':\n return CockpitIcon;\n case 'analytics':\n return AnalyticsIcon;\n case 'binoculaire':\n return Binoculaire;\n case 'book':\n return ContentBook;\n case 'network':\n return NetworkAlert;\n case 'chat-bubble-question':\n return ChatBubbleCircleQuestionMark;\n case 'mobile-phone':\n return MobilePhone;\n default:\n return CockpitIcon;\n }\n};\n\nconst getBackgroudRadialColors = feature => {\n switch (feature) {\n case 'manage_users':\n case 'upload_users':\n return {\n iconBackgroundColor: '#2EC1D6',\n degrees: '187',\n iconColor: null\n };\n case 'look_and_feel':\n case 'dashboard':\n return {\n iconBackgroundColor: '#18BB98',\n degrees: '167',\n iconColor: null\n };\n case 'cockpit':\n return {\n iconBackgroundColor: '#FF7043',\n degrees: '14',\n iconColor: null\n };\n case 'manage_email':\n case 'massive_battle':\n case 'cms':\n return {\n iconBackgroundColor: '#7340FF',\n degrees: '256',\n iconColor: null\n };\n case 'analytics':\n return {\n iconBackgroundColor: '#FF4040',\n degrees: '0',\n iconColor: null\n };\n case 'binoculaire':\n return {\n iconBackgroundColor: '#FFEFEB',\n iconColor: '#FF541F',\n degrees: '0'\n };\n case 'book':\n return {\n iconBackgroundColor: '#F1F6FE',\n degrees: '0',\n iconColor: cm_primary_blue\n };\n case 'network':\n return {\n iconBackgroundColor: '#FFE5E6',\n iconColor: '#FF0A0A',\n degrees: '0'\n };\n case 'chat-bubble-question':\n return {\n iconBackgroundColor: '#E8FCF8',\n iconColor: '#16AC8C',\n degrees: '0'\n };\n case 'mobile-phone':\n return {\n iconBackgroundColor: '#F4F0FF',\n degrees: '0',\n iconColor: '#5C21FF'\n };\n default:\n return null;\n }\n};\n\nconst QuickAccessCard = (props, context) => {\n const {title, description, feature, href, openInNewTab = false, isMoocCard = false} = props;\n const {iconBackgroundColor, degrees, iconColor} = getBackgroudRadialColors(feature);\n const Icon = getIcon(feature);\n const newTabOnClick = openInNewTab ? <NewTabIcon className={style.newTabIcon} /> : null;\n\n return (\n <div data-name=\"quick-access-card\" data-type={feature} className={style.quickAccess}>\n <Link href={href} target={openInNewTab ? '_blank' : '_self'} className={style.link}>\n <div\n style={\n !isMoocCard\n ? {\n background: `radial-gradient(62.12% 56.45% at 0% 77.29%, \n hsl(${degrees}deg 68% 40% / 20%) 0%, \n hsl(${degrees}deg 68% 40% / 0%) 100%), \n radial-gradient(113.85% 103.46% at 93.27% 7.88%,\n hsl(${degrees}deg 67% 51% / 15%) 0%, \n hsl(${degrees}deg 67% 51% / 0%) 100%),\n radial-gradient(49.66% 49.63% at 78.65% 86.26%, \n hsl(${degrees}deg 87% 91%) 0%, \n hsl(${degrees}deg 87% 91% / 0%) 100%), \n #FAFAFA`\n }\n : null\n }\n className={style.content}\n >\n <div\n className={style.iconFeatureWrapper}\n style={{\n backgroundColor: iconBackgroundColor\n }}\n >\n <Icon className={style.iconFeature} style={{color: iconColor}} />\n </div>\n <div className={style.title}>\n {title}\n {newTabOnClick}\n </div>\n <div className={style.description}>{description}</div>\n <div className={style.cta}>\n <div\n className={!isMoocCard ? style.iconGotoWrapper : null}\n style={\n !isMoocCard\n ? {\n backgroundColor: iconBackgroundColor\n }\n : null\n }\n >\n <div\n className={isMoocCard ? style.hoverMooc : style.hover}\n style={{\n color: isMoocCard ? '#FFFFFF' : iconBackgroundColor\n }}\n >\n <ActionIcon className={style.iconGoto} />\n </div>\n </div>\n </div>\n </div>\n </Link>\n </div>\n );\n};\n\nQuickAccessCard.propTypes = {\n title: PropTypes.string,\n description: PropTypes.string,\n href: PropTypes.string,\n openInNewTab: PropTypes.bool,\n isMoocCard: PropTypes.bool,\n feature: PropTypes.oneOf([\n 'analytics',\n 'cms',\n 'cockpit',\n 'massive_battle',\n 'manage_email',\n 'dashboard',\n 'look_and_feel',\n 'manage_users',\n 'upload_users',\n 'binoculaire',\n 'book',\n 'network',\n 'chat-bubble-question',\n 'mobile-phone'\n ])\n};\n\nexport default QuickAccessCard;\n"],"mappings":"AAAA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,SAAP,MAAsB,YAAtB;AACA,SACEC,8BAA8B,IAAIC,WADpC,EAEEC,yBAAyB,IAAIC,cAF/B,EAGEC,8BAA8B,IAAIC,cAHpC,EAIEC,oBAAoB,IAAIC,eAJ1B,EAKEC,0BAA0B,IAAIC,eALhC,EAMEC,+BAA+B,IAAIC,aANrC,EAOEC,4BAA4B,IAAIC,iBAPlC,EAQEC,uCAAuC,IAAIC,OAR7C,EASEC,mCAAmC,IAAIC,aATzC,EAUEC,mCAAmC,IAAIC,UAVzC,EAWEC,uCAAuC,IAAIC,UAX7C,EAYEC,wBAAwB,IAAIC,WAZ9B,EAaEC,gDAAgD,IAAIC,4BAbtD,EAcEC,2BAA2B,IAAIC,YAdjC,EAeEC,yBAAyB,IAAIC,WAf/B,EAgBEC,iCAAiC,IAAIC,WAhBvC,QAiBO,0BAjBP;AAkBA,OAAOC,IAAP,MAAiB,iBAAjB;AACA,SAAQC,MAAR,QAAqB,wBAArB;AACA,OAAOC,KAAP,MAAkB,aAAlB;AAEA,MAAM;EAACC;AAAD,IAAoBF,MAA1B;;AAEA,MAAMG,OAAO,GAAGC,OAAO,IAAI;EACzB,QAAQA,OAAR;IACE,KAAK,cAAL;MACE,OAAOlC,cAAP;;IACF,KAAK,cAAL;MACE,OAAOE,cAAP;;IACF,KAAK,cAAL;MACE,OAAOE,eAAP;;IACF,KAAK,gBAAL;MACE,OAAOM,iBAAP;;IACF,KAAK,KAAL;MACE,OAAOE,OAAP;;IACF,KAAK,eAAL;MACE,OAAON,eAAP;;IACF,KAAK,WAAL;MACE,OAAOE,aAAP;;IACF,KAAK,SAAL;MACE,OAAOV,WAAP;;IACF,KAAK,WAAL;MACE,OAAOgB,aAAP;;IACF,KAAK,aAAL;MACE,OAAOY,WAAP;;IACF,KAAK,MAAL;MACE,OAAOE,WAAP;;IACF,KAAK,SAAL;MACE,OAAOJ,YAAP;;IACF,KAAK,sBAAL;MACE,OAAOF,4BAAP;;IACF,KAAK,cAAL;MACE,OAAOF,WAAP;;IACF;MACE,OAAOtB,WAAP;EA9BJ;AAgCD,CAjCD;;AAmCA,MAAMqC,wBAAwB,GAAGD,OAAO,IAAI;EAC1C,QAAQA,OAAR;IACE,KAAK,cAAL;IACA,KAAK,cAAL;MACE,OAAO;QACLE,mBAAmB,EAAE,SADhB;QAELC,OAAO,EAAE,KAFJ;QAGLC,SAAS,EAAE;MAHN,CAAP;;IAKF,KAAK,eAAL;IACA,KAAK,WAAL;MACE,OAAO;QACLF,mBAAmB,EAAE,SADhB;QAELC,OAAO,EAAE,KAFJ;QAGLC,SAAS,EAAE;MAHN,CAAP;;IAKF,KAAK,SAAL;MACE,OAAO;QACLF,mBAAmB,EAAE,SADhB;QAELC,OAAO,EAAE,IAFJ;QAGLC,SAAS,EAAE;MAHN,CAAP;;IAKF,KAAK,cAAL;IACA,KAAK,gBAAL;IACA,KAAK,KAAL;MACE,OAAO;QACLF,mBAAmB,EAAE,SADhB;QAELC,OAAO,EAAE,KAFJ;QAGLC,SAAS,EAAE;MAHN,CAAP;;IAKF,KAAK,WAAL;MACE,OAAO;QACLF,mBAAmB,EAAE,SADhB;QAELC,OAAO,EAAE,GAFJ;QAGLC,SAAS,EAAE;MAHN,CAAP;;IAKF,KAAK,aAAL;MACE,OAAO;QACLF,mBAAmB,EAAE,SADhB;QAELE,SAAS,EAAE,SAFN;QAGLD,OAAO,EAAE;MAHJ,CAAP;;IAKF,KAAK,MAAL;MACE,OAAO;QACLD,mBAAmB,EAAE,SADhB;QAELC,OAAO,EAAE,GAFJ;QAGLC,SAAS,EAAEN;MAHN,CAAP;;IAKF,KAAK,SAAL;MACE,OAAO;QACLI,mBAAmB,EAAE,SADhB;QAELE,SAAS,EAAE,SAFN;QAGLD,OAAO,EAAE;MAHJ,CAAP;;IAKF,KAAK,sBAAL;MACE,OAAO;QACLD,mBAAmB,EAAE,SADhB;QAELE,SAAS,EAAE,SAFN;QAGLD,OAAO,EAAE;MAHJ,CAAP;;IAKF,KAAK,cAAL;MACE,OAAO;QACLD,mBAAmB,EAAE,SADhB;QAELC,OAAO,EAAE,GAFJ;QAGLC,SAAS,EAAE;MAHN,CAAP;;IAKF;MACE,OAAO,IAAP;EAlEJ;AAoED,CArED;;AAuEA,MAAMC,eAAe,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC1C,MAAM;IAACC,KAAD;IAAQC,WAAR;IAAqBT,OAArB;IAA8BU,IAA9B;IAAoCC,YAAY,GAAG,KAAnD;IAA0DC,UAAU,GAAG;EAAvE,IAAgFN,KAAtF;EACA,MAAM;IAACJ,mBAAD;IAAsBC,OAAtB;IAA+BC;EAA/B,IAA4CH,wBAAwB,CAACD,OAAD,CAA1E;EACA,MAAMa,IAAI,GAAGd,OAAO,CAACC,OAAD,CAApB;EACA,MAAMc,aAAa,GAAGH,YAAY,gBAAG,oBAAC,UAAD;IAAY,SAAS,EAAEd,KAAK,CAACkB;EAA7B,EAAH,GAAiD,IAAnF;EAEA,oBACE;IAAK,aAAU,mBAAf;IAAmC,aAAWf,OAA9C;IAAuD,SAAS,EAAEH,KAAK,CAACmB;EAAxE,gBACE,oBAAC,IAAD;IAAM,IAAI,EAAEN,IAAZ;IAAkB,MAAM,EAAEC,YAAY,GAAG,QAAH,GAAc,OAApD;IAA6D,SAAS,EAAEd,KAAK,CAACoB;EAA9E,gBACE;IACE,KAAK,EACH,CAACL,UAAD,GACI;MACEM,UAAU,EAAG;AAC/B,kBAAkBf,OAAQ;AAC1B,kBAAkBA,OAAQ;AAC1B;AACA,kBAAkBA,OAAQ;AAC1B,kBAAkBA,OAAQ;AAC1B;AACA,kBAAkBA,OAAQ;AAC1B,kBAAkBA,OAAQ;AAC1B;IAVgB,CADJ,GAaI,IAfR;IAiBE,SAAS,EAAEN,KAAK,CAACsB;EAjBnB,gBAmBE;IACE,SAAS,EAAEtB,KAAK,CAACuB,kBADnB;IAEE,KAAK,EAAE;MACLC,eAAe,EAAEnB;IADZ;EAFT,gBAME,oBAAC,IAAD;IAAM,SAAS,EAAEL,KAAK,CAACyB,WAAvB;IAAoC,KAAK,EAAE;MAACC,KAAK,EAAEnB;IAAR;EAA3C,EANF,CAnBF,eA2BE;IAAK,SAAS,EAAEP,KAAK,CAACW;EAAtB,GACGA,KADH,EAEGM,aAFH,CA3BF,eA+BE;IAAK,SAAS,EAAEjB,KAAK,CAACY;EAAtB,GAAoCA,WAApC,CA/BF,eAgCE;IAAK,SAAS,EAAEZ,KAAK,CAAC2B;EAAtB,gBACE;IACE,SAAS,EAAE,CAACZ,UAAD,GAAcf,KAAK,CAAC4B,eAApB,GAAsC,IADnD;IAEE,KAAK,EACH,CAACb,UAAD,GACI;MACES,eAAe,EAAEnB;IADnB,CADJ,GAII;EAPR,gBAUE;IACE,SAAS,EAAEU,UAAU,GAAGf,KAAK,CAAC6B,SAAT,GAAqB7B,KAAK,CAAC8B,KADlD;IAEE,KAAK,EAAE;MACLJ,KAAK,EAAEX,UAAU,GAAG,SAAH,GAAeV;IAD3B;EAFT,gBAME,oBAAC,UAAD;IAAY,SAAS,EAAEL,KAAK,CAAC+B;EAA7B,EANF,CAVF,CADF,CAhCF,CADF,CADF,CADF;AA4DD,CAlED;;AAoEAvB,eAAe,CAACwB,SAAhB,2CAA4B;EAC1BrB,KAAK,EAAE9C,SAAS,CAACoE,MADS;EAE1BrB,WAAW,EAAE/C,SAAS,CAACoE,MAFG;EAG1BpB,IAAI,EAAEhD,SAAS,CAACoE,MAHU;EAI1BnB,YAAY,EAAEjD,SAAS,CAACqE,IAJE;EAK1BnB,UAAU,EAAElD,SAAS,CAACqE,IALI;EAM1B/B,OAAO,EAAEtC,SAAS,CAACsE,KAAV,CAAgB,CACvB,WADuB,EAEvB,KAFuB,EAGvB,SAHuB,EAIvB,gBAJuB,EAKvB,cALuB,EAMvB,WANuB,EAOvB,eAPuB,EAQvB,cARuB,EASvB,cATuB,EAUvB,aAVuB,EAWvB,MAXuB,EAYvB,SAZuB,EAavB,sBAbuB,EAcvB,cAduB,CAAhB;AANiB,CAA5B;AAwBA,eAAe3B,eAAf"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"names":[],"mappings":";AA8KA,oBAAY,KAAK,GAAG;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,OAAO,UAAW,KAAK,uBAuI5B,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"index.native.d.ts","sourceRoot":"","sources":["../../../../src/template/mobile-login/welcome/index.native.tsx"],"names":[],"mappings":";AAiLA,oBAAY,KAAK,GAAG;IAClB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,mBAAmB,EAAE,MAAM,IAAI,CAAC;IAChC,yBAAyB,EAAE,MAAM,IAAI,CAAC;IACtC,OAAO,EAAE;QACP,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,SAAS,EAAE,MAAM,CAAC;QAClB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC;KACjB,CAAC;CACH,CAAC;AAEF,QAAA,MAAM,OAAO,UAAW,KAAK,uBAuI5B,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -6,6 +6,10 @@ import { useAnimateProp, useTranslateY } from '@coorpacademy/react-native-animat
6
6
  import Touchable from '../../../hoc/touchable/index.native';
7
7
  import { useTemplateContext } from '../../app-review/template-context';
8
8
  import Text from '../../../atom/text/index.native';
9
+ import { COLORS } from '../../../variables/colors';
10
+ const {
11
+ cm_primary_blue
12
+ } = COLORS;
9
13
 
10
14
  const createStyleSheet = theme => StyleSheet.create({
11
15
  wrapper: {
@@ -224,7 +228,7 @@ const Welcome = props => {
224
228
  }, /*#__PURE__*/React.createElement(Animated.View, {
225
229
  style: [styleSheet.gradients, translateGradients.animatedStyle]
226
230
  }, /*#__PURE__*/React.createElement(LinearGradient, {
227
- colors: ['#0061FF', '#fff'],
231
+ colors: [cm_primary_blue, '#fff'],
228
232
  locations: [0, 0.95],
229
233
  style: styleSheet.gradient
230
234
  }), /*#__PURE__*/React.createElement(LinearGradient, {