@coorpacademy/components 11.32.10 → 11.32.12-alpha.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 (142) hide show
  1. package/es/atom/select/index.d.ts.map +1 -1
  2. package/es/atom/select/index.js +2 -1
  3. package/es/atom/select/index.js.map +1 -1
  4. package/es/atom/select/style.css +28 -0
  5. package/es/molecule/cm-popin/types.d.ts +1 -0
  6. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  7. package/es/molecule/discipline-header/index.js +1 -1
  8. package/es/molecule/discipline-header/index.js.map +1 -1
  9. package/es/molecule/learner-skill-card/index.d.ts.map +1 -1
  10. package/es/molecule/learner-skill-card/index.js +2 -1
  11. package/es/molecule/learner-skill-card/index.js.map +1 -1
  12. package/es/molecule/learner-skill-card/style.css +1 -0
  13. package/es/organism/cards-grid/index.d.ts +1 -0
  14. package/es/organism/cards-grid/index.js +6 -1
  15. package/es/organism/cards-grid/index.js.map +1 -1
  16. package/es/organism/cards-grid/style.css +0 -1
  17. package/es/template/app-player/loading/index.d.ts +1 -0
  18. package/es/template/app-player/player/index.d.ts +2 -0
  19. package/es/template/app-player/player/slides/index.d.ts +1 -0
  20. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  21. package/es/template/app-player/popin-correction/index.d.ts +1 -0
  22. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  23. package/es/template/app-player/popin-end/index.d.ts +1 -0
  24. package/es/template/app-review/index.d.ts +1 -0
  25. package/es/template/app-review/index.d.ts.map +1 -1
  26. package/es/template/app-review/player/prop-types.d.ts +1 -0
  27. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  28. package/es/template/app-review/prop-types.d.ts +1 -0
  29. package/es/template/app-review/prop-types.d.ts.map +1 -1
  30. package/es/template/back-office/brand-update/index.d.ts +1 -0
  31. package/es/template/common/authors/index.d.ts +1 -0
  32. package/es/template/common/authors/index.d.ts.map +1 -1
  33. package/es/template/common/dashboard/index.d.ts +2 -0
  34. package/es/template/common/search-page/index.d.ts +2 -0
  35. package/es/template/external-course/index.d.ts +1 -0
  36. package/es/template/skill-detail/all-courses.css +89 -0
  37. package/es/template/skill-detail/all-courses.d.ts +77 -0
  38. package/es/template/skill-detail/all-courses.d.ts.map +1 -0
  39. package/es/template/skill-detail/all-courses.js +168 -0
  40. package/es/template/skill-detail/all-courses.js.map +1 -0
  41. package/es/template/skill-detail/continue-learning.css +21 -0
  42. package/es/template/skill-detail/continue-learning.d.ts +37 -0
  43. package/es/template/skill-detail/continue-learning.d.ts.map +1 -0
  44. package/es/template/skill-detail/continue-learning.js +40 -0
  45. package/es/template/skill-detail/continue-learning.js.map +1 -0
  46. package/es/template/skill-detail/index.d.ts +95 -0
  47. package/es/template/skill-detail/index.d.ts.map +1 -0
  48. package/es/template/skill-detail/index.js +219 -0
  49. package/es/template/skill-detail/index.js.map +1 -0
  50. package/es/template/skill-detail/style.css +163 -0
  51. package/lib/atom/select/index.d.ts.map +1 -1
  52. package/lib/atom/select/index.js +2 -1
  53. package/lib/atom/select/index.js.map +1 -1
  54. package/lib/atom/select/style.css +28 -0
  55. package/lib/molecule/cm-popin/types.d.ts +1 -0
  56. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  57. package/lib/molecule/discipline-header/index.js +1 -1
  58. package/lib/molecule/discipline-header/index.js.map +1 -1
  59. package/lib/molecule/learner-skill-card/index.d.ts.map +1 -1
  60. package/lib/molecule/learner-skill-card/index.js +2 -1
  61. package/lib/molecule/learner-skill-card/index.js.map +1 -1
  62. package/lib/molecule/learner-skill-card/style.css +1 -0
  63. package/lib/organism/cards-grid/index.d.ts +1 -0
  64. package/lib/organism/cards-grid/index.js +6 -1
  65. package/lib/organism/cards-grid/index.js.map +1 -1
  66. package/lib/organism/cards-grid/style.css +0 -1
  67. package/lib/template/app-player/loading/index.d.ts +1 -0
  68. package/lib/template/app-player/player/index.d.ts +2 -0
  69. package/lib/template/app-player/player/slides/index.d.ts +1 -0
  70. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  71. package/lib/template/app-player/popin-correction/index.d.ts +1 -0
  72. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  73. package/lib/template/app-player/popin-end/index.d.ts +1 -0
  74. package/lib/template/app-review/index.d.ts +1 -0
  75. package/lib/template/app-review/index.d.ts.map +1 -1
  76. package/lib/template/app-review/player/prop-types.d.ts +1 -0
  77. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  78. package/lib/template/app-review/prop-types.d.ts +1 -0
  79. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  80. package/lib/template/back-office/brand-update/index.d.ts +1 -0
  81. package/lib/template/common/authors/index.d.ts +1 -0
  82. package/lib/template/common/authors/index.d.ts.map +1 -1
  83. package/lib/template/common/dashboard/index.d.ts +2 -0
  84. package/lib/template/common/search-page/index.d.ts +2 -0
  85. package/lib/template/external-course/index.d.ts +1 -0
  86. package/lib/template/skill-detail/all-courses.css +89 -0
  87. package/lib/template/skill-detail/all-courses.d.ts +77 -0
  88. package/lib/template/skill-detail/all-courses.d.ts.map +1 -0
  89. package/lib/template/skill-detail/all-courses.js +187 -0
  90. package/lib/template/skill-detail/all-courses.js.map +1 -0
  91. package/lib/template/skill-detail/continue-learning.css +21 -0
  92. package/lib/template/skill-detail/continue-learning.d.ts +37 -0
  93. package/lib/template/skill-detail/continue-learning.d.ts.map +1 -0
  94. package/lib/template/skill-detail/continue-learning.js +52 -0
  95. package/lib/template/skill-detail/continue-learning.js.map +1 -0
  96. package/lib/template/skill-detail/index.d.ts +95 -0
  97. package/lib/template/skill-detail/index.d.ts.map +1 -0
  98. package/lib/template/skill-detail/index.js +241 -0
  99. package/lib/template/skill-detail/index.js.map +1 -0
  100. package/lib/template/skill-detail/style.css +163 -0
  101. package/locales/en/global.json +7 -0
  102. package/package.json +3 -2
  103. package/es/stories/Configure.mdx +0 -364
  104. package/es/stories/assets/accessibility.png +0 -0
  105. package/es/stories/assets/accessibility.svg +0 -5
  106. package/es/stories/assets/addon-library.png +0 -0
  107. package/es/stories/assets/assets.png +0 -0
  108. package/es/stories/assets/avif-test-image.avif +0 -0
  109. package/es/stories/assets/context.png +0 -0
  110. package/es/stories/assets/discord.svg +0 -15
  111. package/es/stories/assets/docs.png +0 -0
  112. package/es/stories/assets/figma-plugin.png +0 -0
  113. package/es/stories/assets/github.svg +0 -3
  114. package/es/stories/assets/share.png +0 -0
  115. package/es/stories/assets/styling.png +0 -0
  116. package/es/stories/assets/testing.png +0 -0
  117. package/es/stories/assets/theming.png +0 -0
  118. package/es/stories/assets/tutorials.svg +0 -12
  119. package/es/stories/assets/youtube.svg +0 -4
  120. package/es/stories/button.css +0 -30
  121. package/es/stories/header.css +0 -32
  122. package/es/stories/page.css +0 -69
  123. package/lib/stories/Configure.mdx +0 -364
  124. package/lib/stories/assets/accessibility.png +0 -0
  125. package/lib/stories/assets/accessibility.svg +0 -5
  126. package/lib/stories/assets/addon-library.png +0 -0
  127. package/lib/stories/assets/assets.png +0 -0
  128. package/lib/stories/assets/avif-test-image.avif +0 -0
  129. package/lib/stories/assets/context.png +0 -0
  130. package/lib/stories/assets/discord.svg +0 -15
  131. package/lib/stories/assets/docs.png +0 -0
  132. package/lib/stories/assets/figma-plugin.png +0 -0
  133. package/lib/stories/assets/github.svg +0 -3
  134. package/lib/stories/assets/share.png +0 -0
  135. package/lib/stories/assets/styling.png +0 -0
  136. package/lib/stories/assets/testing.png +0 -0
  137. package/lib/stories/assets/theming.png +0 -0
  138. package/lib/stories/assets/tutorials.svg +0 -12
  139. package/lib/stories/assets/youtube.svg +0 -4
  140. package/lib/stories/button.css +0 -30
  141. package/lib/stories/header.css +0 -32
  142. package/lib/stories/page.css +0 -69
@@ -0,0 +1,187 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _get2 = _interopRequireDefault(require("lodash/fp/get"));
7
+
8
+ var _react = _interopRequireWildcard(require("react"));
9
+
10
+ var _propTypes = _interopRequireDefault(require("prop-types"));
11
+
12
+ var _provider = _interopRequireDefault(require("../../atom/provider"));
13
+
14
+ var _select = _interopRequireWildcard(require("../../atom/select"));
15
+
16
+ var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
17
+
18
+ var _searchForm = _interopRequireDefault(require("../../molecule/search-form"));
19
+
20
+ var _cardsGrid = _interopRequireDefault(require("../../organism/cards-grid"));
21
+
22
+ var _searchValueIncluded = _interopRequireDefault(require("../../util/search-value-included"));
23
+
24
+ var _inputSwitch = _interopRequireDefault(require("../../atom/input-switch"));
25
+
26
+ var _allCourses = _interopRequireDefault(require("./all-courses.css"));
27
+
28
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
29
+
30
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
31
+
32
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
+
34
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
35
+
36
+ const FilterButton = (props, context) => {
37
+ const {
38
+ selected,
39
+ filter,
40
+ onClick
41
+ } = props;
42
+ const {
43
+ skin
44
+ } = context;
45
+ const primarySkinColor = (0, _get2.default)('common.primary', skin);
46
+ const buttonProps = {
47
+ customStyle: {
48
+ backgroundColor: selected ? primarySkinColor : '#E1E1E3',
49
+ color: selected ? '#FFFFFF' : '#515161',
50
+ transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',
51
+ width: 'fit-content'
52
+ },
53
+ label: filter,
54
+ onClick,
55
+ 'data-name': 'filter-type-course-button'
56
+ };
57
+ return /*#__PURE__*/_react.default.createElement(_buttonLink.default, buttonProps);
58
+ };
59
+
60
+ FilterButton.contextTypes = {
61
+ skin: _provider.default.childContextTypes.skin,
62
+ translate: _provider.default.childContextTypes.translate
63
+ };
64
+ FilterButton.propTypes = process.env.NODE_ENV !== "production" ? {
65
+ selected: _propTypes.default.bool,
66
+ filter: _propTypes.default.string,
67
+ onClick: _propTypes.default.func
68
+ } : {};
69
+
70
+ const AllCourses = (props, context) => {
71
+ const {
72
+ skillIncludedCourses,
73
+ filters,
74
+ sorting
75
+ } = props;
76
+ const {
77
+ options,
78
+ onChange
79
+ } = filters;
80
+ const {
81
+ list
82
+ } = skillIncludedCourses;
83
+ const {
84
+ translate
85
+ } = context;
86
+ const [showCompleted, setShowCompleted] = (0, _react.useState)(true);
87
+ const [searchValue, setSearchValue] = (0, _react.useState)('');
88
+ const [searchResults, setSearchResults] = (0, _react.useState)(list.sort((a, b) => {
89
+ const progressA = a.progress ?? 0;
90
+ const progressB = b.progress ?? 0;
91
+ return progressB - progressA;
92
+ }));
93
+ const sortView = sorting !== undefined ? /*#__PURE__*/_react.default.createElement("div", {
94
+ "data-name": "choice"
95
+ }, /*#__PURE__*/_react.default.createElement(_select.default, _extends({}, sorting, {
96
+ "aria-label": "All courses sort"
97
+ }))) : null;
98
+ const handleSearch = (0, _react.useCallback)(value => {
99
+ setSearchValue(value);
100
+ setSearchResults(list.filter(skill => (0, _searchValueIncluded.default)(skill.title, value)));
101
+ }, [list, setSearchValue, setSearchResults]);
102
+ const handleSearchReset = (0, _react.useCallback)(() => {
103
+ setSearchValue('');
104
+ setSearchResults(list);
105
+ }, [list, setSearchValue, setSearchResults]);
106
+ const handleShowCompletedToggle = (0, _react.useCallback)(() => {
107
+ const tempShowCompleted = !showCompleted;
108
+ setShowCompleted(tempShowCompleted);
109
+
110
+ if (tempShowCompleted) {
111
+ setSearchResults(list);
112
+ handleSearchReset();
113
+ } else {
114
+ setSearchResults(searchResults.filter(skill => skill.progress === 0));
115
+ }
116
+ }, [searchResults, showCompleted, setShowCompleted]);
117
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
118
+ className: _allCourses.default.continueLearningWrapper
119
+ }, /*#__PURE__*/_react.default.createElement("span", {
120
+ className: _allCourses.default.continueLearningTitle
121
+ }, translate('all_courses')), /*#__PURE__*/_react.default.createElement("span", {
122
+ className: _allCourses.default.continueLearningNumber
123
+ }, skillIncludedCourses.list.length)), /*#__PURE__*/_react.default.createElement("div", {
124
+ className: _allCourses.default.searchAndSortSection
125
+ }, /*#__PURE__*/_react.default.createElement("div", {
126
+ className: _allCourses.default.searchWrapper
127
+ }, /*#__PURE__*/_react.default.createElement(_searchForm.default, {
128
+ search: {
129
+ placeholder: translate('search_place_holder'),
130
+ value: searchValue,
131
+ onChange: handleSearch
132
+ },
133
+ onReset: handleSearchReset
134
+ })), /*#__PURE__*/_react.default.createElement("div", {
135
+ className: _allCourses.default.sortSection
136
+ }, /*#__PURE__*/_react.default.createElement(_inputSwitch.default, {
137
+ type: "switch",
138
+ title: translate('show_completed'),
139
+ value: showCompleted,
140
+ onChange: handleShowCompletedToggle
141
+ }), /*#__PURE__*/_react.default.createElement("div", {
142
+ className: _allCourses.default.sortWrapper
143
+ }, translate('sort_by'), sortView))), /*#__PURE__*/_react.default.createElement("div", {
144
+ className: _allCourses.default.filterWrapper
145
+ }, options.length > 2 ? options.map((filter, index) => {
146
+ const {
147
+ name,
148
+ value,
149
+ selected
150
+ } = filter;
151
+
152
+ function handleChange() {
153
+ onChange(value);
154
+ handleSearchReset();
155
+ }
156
+
157
+ return /*#__PURE__*/_react.default.createElement("div", {
158
+ key: index,
159
+ className: _allCourses.default.filterButtonWrapper
160
+ }, /*#__PURE__*/_react.default.createElement(FilterButton, {
161
+ selected: selected,
162
+ filter: name,
163
+ onClick: handleChange
164
+ }), value === 'ALL' ? /*#__PURE__*/_react.default.createElement("div", {
165
+ className: _allCourses.default.divider
166
+ }) : null);
167
+ }) : null), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_cardsGrid.default, {
168
+ list: searchResults,
169
+ justifyContent: "left"
170
+ })));
171
+ };
172
+
173
+ AllCourses.contextTypes = {
174
+ skin: _provider.default.childContextTypes.skin,
175
+ translate: _provider.default.childContextTypes.translate
176
+ };
177
+ AllCourses.propTypes = process.env.NODE_ENV !== "production" ? {
178
+ skillIncludedCourses: _propTypes.default.shape(_cardsGrid.default.propTypes),
179
+ filters: _propTypes.default.shape({
180
+ onChange: _propTypes.default.func,
181
+ options: _propTypes.default.arrayOf(_propTypes.default.shape(_select.SelectOptionPropTypes))
182
+ }),
183
+ sorting: _propTypes.default.shape(_select.default.propTypes)
184
+ } : {};
185
+ var _default = AllCourses;
186
+ exports.default = _default;
187
+ //# sourceMappingURL=all-courses.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"all-courses.js","names":["FilterButton","props","context","selected","filter","onClick","skin","primarySkinColor","buttonProps","customStyle","backgroundColor","color","transition","width","label","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","func","AllCourses","skillIncludedCourses","filters","sorting","options","onChange","list","showCompleted","setShowCompleted","useState","searchValue","setSearchValue","searchResults","setSearchResults","sort","a","b","progressA","progress","progressB","sortView","undefined","handleSearch","useCallback","value","skill","searchValueIncluded","title","handleSearchReset","handleShowCompletedToggle","tempShowCompleted","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","length","searchAndSortSection","searchWrapper","placeholder","sortSection","sortWrapper","filterWrapper","map","index","name","handleChange","filterButtonWrapper","divider","shape","CardsGrid","arrayOf","SelectOptionPropTypes","Select"],"sources":["../../../src/template/skill-detail/all-courses.js"],"sourcesContent":["import React, {useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {get} from 'lodash/fp';\nimport Provider from '../../atom/provider';\nimport Select, {SelectOptionPropTypes} from '../../atom/select';\nimport ButtonLink from '../../atom/button-link';\nimport SearchForm from '../../molecule/search-form';\nimport CardsGrid from '../../organism/cards-grid';\nimport searchValueIncluded from '../../util/search-value-included';\nimport InputSwitch from '../../atom/input-switch';\nimport style from './all-courses.css';\n\nconst FilterButton = (props, context) => {\n const {selected, filter, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const buttonProps = {\n customStyle: {\n backgroundColor: selected ? primarySkinColor : '#E1E1E3',\n color: selected ? '#FFFFFF' : '#515161',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n label: filter,\n onClick,\n 'data-name': 'filter-type-course-button'\n };\n\n return <ButtonLink {...buttonProps} />;\n};\n\nFilterButton.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nFilterButton.propTypes = {\n selected: PropTypes.bool,\n filter: PropTypes.string,\n onClick: PropTypes.func\n};\n\nconst AllCourses = (props, context) => {\n const {skillIncludedCourses, filters, sorting} = props;\n const {options, onChange} = filters;\n const {list} = skillIncludedCourses;\n const {translate} = context;\n const [showCompleted, setShowCompleted] = useState(true);\n const [searchValue, setSearchValue] = useState('');\n const [searchResults, setSearchResults] = useState(\n list.sort((a, b) => {\n const progressA = a.progress ?? 0;\n const progressB = b.progress ?? 0;\n return progressB - progressA;\n })\n );\n\n const sortView =\n sorting !== undefined ? (\n <div data-name=\"choice\">\n <Select {...sorting} aria-label=\"All courses sort\" />\n </div>\n ) : null;\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(list.filter(skill => searchValueIncluded(skill.title, value)));\n },\n [list, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(list);\n }, [list, setSearchValue, setSearchResults]);\n\n const handleShowCompletedToggle = useCallback(() => {\n const tempShowCompleted = !showCompleted;\n setShowCompleted(tempShowCompleted);\n if (tempShowCompleted) {\n setSearchResults(list);\n handleSearchReset();\n } else {\n setSearchResults(searchResults.filter(skill => skill.progress === 0));\n }\n }, [searchResults, showCompleted, setShowCompleted]);\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('all_courses')}</span>\n <span className={style.continueLearningNumber}>{skillIncludedCourses.list.length}</span>\n </div>\n <div className={style.searchAndSortSection}>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.sortSection}>\n <InputSwitch\n type=\"switch\"\n title={translate('show_completed')}\n value={showCompleted}\n onChange={handleShowCompletedToggle}\n />\n <div className={style.sortWrapper}>\n {translate('sort_by')}\n {sortView}\n </div>\n </div>\n </div>\n <div className={style.filterWrapper}>\n {options.length > 2\n ? options.map((filter, index) => {\n const {name, value, selected} = filter;\n\n function handleChange() {\n onChange(value);\n handleSearchReset();\n }\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton selected={selected} filter={name} onClick={handleChange} />\n {value === 'ALL' ? <div className={style.divider} /> : null}\n </div>\n );\n })\n : null}\n </div>\n <div>\n <CardsGrid list={searchResults} justifyContent=\"left\" />\n </div>\n </>\n );\n};\n\nAllCourses.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nAllCourses.propTypes = {\n skillIncludedCourses: PropTypes.shape(CardsGrid.propTypes),\n filters: PropTypes.shape({\n onChange: PropTypes.func,\n options: PropTypes.arrayOf(PropTypes.shape(SelectOptionPropTypes))\n }),\n sorting: PropTypes.shape(Select.propTypes)\n};\n\nexport default AllCourses;\n"],"mappings":"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"}
@@ -0,0 +1,21 @@
1
+ .continueLearningWrapper {
2
+ margin-top: 40px;
3
+ margin-bottom: 16px;
4
+ }
5
+
6
+ .continueLearningTitle {
7
+ font-size: 16px;
8
+ font-weight: 600;
9
+ line-height: 22px;
10
+ }
11
+
12
+ .continueLearningNumber {
13
+ border-radius: 50%;
14
+ background-color: #EAEAEB;
15
+ color: #515161;
16
+ padding: 2px 4px;
17
+ margin-left: 8px;
18
+ font-size: 10px;
19
+ font-weight: 600;
20
+ line-height: 12px;
21
+ }
@@ -0,0 +1,37 @@
1
+ export default ContinueLearning;
2
+ declare function ContinueLearning(props: any, context: any): JSX.Element | null;
3
+ declare namespace ContinueLearning {
4
+ namespace contextTypes {
5
+ const skin: PropTypes.Requireable<PropTypes.InferProps<{
6
+ common: PropTypes.Requireable<{
7
+ [x: string]: any;
8
+ }>;
9
+ images: PropTypes.Requireable<PropTypes.InferProps<{
10
+ 'logo-mobile': PropTypes.Requireable<any>;
11
+ logo: PropTypes.Requireable<any>;
12
+ 'logo-email': PropTypes.Requireable<any>;
13
+ login: PropTypes.Requireable<any>;
14
+ }>>;
15
+ icons: PropTypes.Requireable<{
16
+ [x: string]: any;
17
+ }>;
18
+ mod: PropTypes.Requireable<{
19
+ [x: string]: any;
20
+ }>;
21
+ courses: PropTypes.Requireable<any[]>;
22
+ texts: PropTypes.Requireable<{
23
+ [x: string]: any;
24
+ }>;
25
+ }>>;
26
+ const translate: PropTypes.Requireable<(...args: any[]) => any>;
27
+ }
28
+ namespace propTypes {
29
+ const ongoingCourses: PropTypes.Requireable<PropTypes.InferProps<{
30
+ list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
31
+ justifyContent: PropTypes.Requireable<string>;
32
+ loading: PropTypes.Requireable<boolean>;
33
+ }>>;
34
+ }
35
+ }
36
+ import PropTypes from "prop-types";
37
+ //# sourceMappingURL=continue-learning.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continue-learning.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/continue-learning.js"],"names":[],"mappings":";AAMA,gFAmBC"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireDefault(require("react"));
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _provider = _interopRequireDefault(require("../../atom/provider"));
11
+
12
+ var _cardsGrid = _interopRequireDefault(require("../../organism/cards-grid"));
13
+
14
+ var _continueLearning = _interopRequireDefault(require("./continue-learning.css"));
15
+
16
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
18
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
19
+
20
+ const ContinueLearning = (props, context) => {
21
+ const {
22
+ ongoingCourses
23
+ } = props;
24
+ const {
25
+ translate
26
+ } = context;
27
+
28
+ if (ongoingCourses.list.length === 0) {
29
+ return null;
30
+ }
31
+
32
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
33
+ className: _continueLearning.default.continueLearningWrapper
34
+ }, /*#__PURE__*/_react.default.createElement("span", {
35
+ className: _continueLearning.default.continueLearningTitle
36
+ }, translate('continue_learning')), /*#__PURE__*/_react.default.createElement("span", {
37
+ className: _continueLearning.default.continueLearningNumber
38
+ }, ongoingCourses.list.length)), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_cardsGrid.default, _extends({}, ongoingCourses, {
39
+ justifyContent: "left"
40
+ }))));
41
+ };
42
+
43
+ ContinueLearning.contextTypes = {
44
+ skin: _provider.default.childContextTypes.skin,
45
+ translate: _provider.default.childContextTypes.translate
46
+ };
47
+ ContinueLearning.propTypes = process.env.NODE_ENV !== "production" ? {
48
+ ongoingCourses: _propTypes.default.shape(_cardsGrid.default.propTypes)
49
+ } : {};
50
+ var _default = ContinueLearning;
51
+ exports.default = _default;
52
+ //# sourceMappingURL=continue-learning.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"continue-learning.js","names":["ContinueLearning","props","context","ongoingCourses","translate","list","length","style","continueLearningWrapper","continueLearningTitle","continueLearningNumber","contextTypes","skin","Provider","childContextTypes","propTypes","PropTypes","shape","CardsGrid"],"sources":["../../../src/template/skill-detail/continue-learning.js"],"sourcesContent":["import React from 'react';\nimport PropTypes from 'prop-types';\nimport Provider from '../../atom/provider';\nimport CardsGrid from '../../organism/cards-grid';\nimport style from './continue-learning.css';\n\nconst ContinueLearning = (props, context) => {\n const {ongoingCourses} = props;\n const {translate} = context;\n\n if (ongoingCourses.list.length === 0) {\n return null;\n }\n\n return (\n <>\n <div className={style.continueLearningWrapper}>\n <span className={style.continueLearningTitle}>{translate('continue_learning')}</span>\n <span className={style.continueLearningNumber}>{ongoingCourses.list.length}</span>\n </div>\n <div>\n <CardsGrid {...ongoingCourses} justifyContent=\"left\" />\n </div>\n </>\n );\n};\n\nContinueLearning.contextTypes = {\n skin: Provider.childContextTypes.skin,\n translate: Provider.childContextTypes.translate\n};\n\nContinueLearning.propTypes = {\n ongoingCourses: PropTypes.shape(CardsGrid.propTypes)\n};\n\nexport default ContinueLearning;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;;;;;AAEA,MAAMA,gBAAgB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EAC3C,MAAM;IAACC;EAAD,IAAmBF,KAAzB;EACA,MAAM;IAACG;EAAD,IAAcF,OAApB;;EAEA,IAAIC,cAAc,CAACE,IAAf,CAAoBC,MAApB,KAA+B,CAAnC,EAAsC;IACpC,OAAO,IAAP;EACD;;EAED,oBACE,yEACE;IAAK,SAAS,EAAEC,yBAAA,CAAMC;EAAtB,gBACE;IAAM,SAAS,EAAED,yBAAA,CAAME;EAAvB,GAA+CL,SAAS,CAAC,mBAAD,CAAxD,CADF,eAEE;IAAM,SAAS,EAAEG,yBAAA,CAAMG;EAAvB,GAAgDP,cAAc,CAACE,IAAf,CAAoBC,MAApE,CAFF,CADF,eAKE,uDACE,6BAAC,kBAAD,eAAeH,cAAf;IAA+B,cAAc,EAAC;EAA9C,GADF,CALF,CADF;AAWD,CAnBD;;AAqBAH,gBAAgB,CAACW,YAAjB,GAAgC;EAC9BC,IAAI,EAAEC,iBAAA,CAASC,iBAAT,CAA2BF,IADH;EAE9BR,SAAS,EAAES,iBAAA,CAASC,iBAAT,CAA2BV;AAFR,CAAhC;AAKAJ,gBAAgB,CAACe,SAAjB,2CAA6B;EAC3BZ,cAAc,EAAEa,kBAAA,CAAUC,KAAV,CAAgBC,kBAAA,CAAUH,SAA1B;AADW,CAA7B;eAIef,gB"}
@@ -0,0 +1,95 @@
1
+ export default SkillDetail;
2
+ declare function SkillDetail(props: any, context: any): JSX.Element;
3
+ declare namespace SkillDetail {
4
+ namespace contextTypes {
5
+ const skin: PropTypes.Requireable<PropTypes.InferProps<{
6
+ common: PropTypes.Requireable<{
7
+ [x: string]: any;
8
+ }>;
9
+ images: PropTypes.Requireable<PropTypes.InferProps<{
10
+ 'logo-mobile': PropTypes.Requireable<any>;
11
+ logo: PropTypes.Requireable<any>;
12
+ 'logo-email': PropTypes.Requireable<any>;
13
+ login: PropTypes.Requireable<any>;
14
+ }>>;
15
+ icons: PropTypes.Requireable<{
16
+ [x: string]: any;
17
+ }>;
18
+ mod: PropTypes.Requireable<{
19
+ [x: string]: any;
20
+ }>;
21
+ courses: PropTypes.Requireable<any[]>;
22
+ texts: PropTypes.Requireable<{
23
+ [x: string]: any;
24
+ }>;
25
+ }>>;
26
+ const translate: PropTypes.Requireable<(...args: any[]) => any>;
27
+ }
28
+ namespace propTypes {
29
+ const title: PropTypes.Validator<string>;
30
+ const description: PropTypes.Requireable<string>;
31
+ const metrics: PropTypes.Requireable<PropTypes.InferProps<{
32
+ score: PropTypes.Requireable<number>;
33
+ content: PropTypes.Requireable<number>;
34
+ questionsToReview: PropTypes.Requireable<number>;
35
+ contentCompleted: PropTypes.Requireable<number>;
36
+ }>>;
37
+ const focused: PropTypes.Requireable<boolean>;
38
+ const availableForReview: PropTypes.Requireable<boolean>;
39
+ const ongoingCourses: PropTypes.Requireable<PropTypes.InferProps<{
40
+ list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
41
+ justifyContent: PropTypes.Requireable<string>;
42
+ loading: PropTypes.Requireable<boolean>;
43
+ }>>;
44
+ const skillIncludedCourses: PropTypes.Requireable<PropTypes.InferProps<{
45
+ list: PropTypes.Requireable<(PropTypes.InferProps<any> | null | undefined)[]>;
46
+ justifyContent: PropTypes.Requireable<string>;
47
+ loading: PropTypes.Requireable<boolean>;
48
+ }>>;
49
+ const filters: PropTypes.Requireable<PropTypes.InferProps<{
50
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
51
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
52
+ name: PropTypes.Validator<string>;
53
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
54
+ selected: PropTypes.Requireable<boolean>;
55
+ validOption: PropTypes.Requireable<boolean>;
56
+ }> | null | undefined)[]>;
57
+ }>>;
58
+ const sorting: PropTypes.Requireable<PropTypes.InferProps<{
59
+ title: PropTypes.Requireable<string>;
60
+ name: PropTypes.Requireable<string>;
61
+ className: PropTypes.Requireable<string>;
62
+ borderClassName: PropTypes.Requireable<string>;
63
+ disabled: PropTypes.Requireable<boolean>;
64
+ multiple: PropTypes.Requireable<boolean>;
65
+ description: PropTypes.Requireable<string>;
66
+ required: PropTypes.Requireable<boolean>;
67
+ onChange: PropTypes.Requireable<(...args: any[]) => any>;
68
+ theme: PropTypes.Requireable<string>;
69
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
70
+ name: PropTypes.Validator<string>;
71
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
72
+ selected: PropTypes.Requireable<boolean>;
73
+ validOption: PropTypes.Requireable<boolean>;
74
+ }> | null | undefined)[]>;
75
+ optgroups: PropTypes.Requireable<(PropTypes.InferProps<{
76
+ label: PropTypes.Validator<string>;
77
+ options: PropTypes.Requireable<(PropTypes.InferProps<{
78
+ name: PropTypes.Validator<string>;
79
+ value: PropTypes.Requireable<NonNullable<string | number | null | undefined>>;
80
+ selected: PropTypes.Requireable<boolean>;
81
+ validOption: PropTypes.Requireable<boolean>;
82
+ }> | null | undefined)[]>;
83
+ }> | null | undefined)[]>;
84
+ modified: PropTypes.Requireable<boolean>;
85
+ error: PropTypes.Requireable<boolean>;
86
+ 'aria-label': PropTypes.Requireable<string>;
87
+ 'aria-labelledby': PropTypes.Requireable<string>;
88
+ }>>;
89
+ const onBackClick: PropTypes.Requireable<(...args: any[]) => any>;
90
+ const onReviewClick: PropTypes.Requireable<(...args: any[]) => any>;
91
+ const onContinueLearningClick: PropTypes.Requireable<(...args: any[]) => any>;
92
+ }
93
+ }
94
+ import PropTypes from "prop-types";
95
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/template/skill-detail/index.js"],"names":[],"mappings":";AA2DA,oEAuJC"}