@coorpacademy/components 11.32.21 → 11.32.23

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 (185) hide show
  1. package/es/atom/radio-with-title/index.d.ts +3 -0
  2. package/es/atom/radio-with-title/index.d.ts.map +1 -1
  3. package/es/atom/radio-with-title/types.d.ts +3 -0
  4. package/es/atom/radio-with-title/types.d.ts.map +1 -1
  5. package/es/atom/tag/index.d.ts +5 -1
  6. package/es/atom/tag/index.d.ts.map +1 -1
  7. package/es/atom/tag/index.js +6 -3
  8. package/es/atom/tag/index.js.map +1 -1
  9. package/es/atom/title/index.d.ts +3 -0
  10. package/es/molecule/cm-popin/types.d.ts +7 -0
  11. package/es/molecule/cm-popin/types.d.ts.map +1 -1
  12. package/es/molecule/draggable-list/index.d.ts +12 -0
  13. package/es/molecule/draggable-list/index.d.ts.map +1 -1
  14. package/es/molecule/draggable-list/index.js +4 -2
  15. package/es/molecule/draggable-list/index.js.map +1 -1
  16. package/es/molecule/learning-priority-modal/index.d.ts +30 -0
  17. package/es/molecule/learning-priority-modal/index.d.ts.map +1 -0
  18. package/es/molecule/learning-priority-modal/index.js +242 -0
  19. package/es/molecule/learning-priority-modal/index.js.map +1 -0
  20. package/es/molecule/learning-priority-modal/style.css +70 -0
  21. package/es/molecule/learning-priority-setup-item/index.d.ts +18 -0
  22. package/es/molecule/learning-priority-setup-item/index.d.ts.map +1 -0
  23. package/es/molecule/learning-priority-setup-item/index.js +83 -0
  24. package/es/molecule/learning-priority-setup-item/index.js.map +1 -0
  25. package/es/molecule/learning-priority-setup-item/style.css +47 -0
  26. package/es/molecule/title-and-checkbox-wrapper/index.d.ts +3 -0
  27. package/es/molecule/title-radio-wrapper/index.d.ts +3 -0
  28. package/es/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  29. package/es/molecule/title-radio-wrapper/types.d.ts +3 -0
  30. package/es/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  31. package/es/organism/brand-learning-priorities/index.d.ts +167 -0
  32. package/es/organism/brand-learning-priorities/index.d.ts.map +1 -0
  33. package/es/organism/brand-learning-priorities/index.js +131 -0
  34. package/es/organism/brand-learning-priorities/index.js.map +1 -0
  35. package/es/organism/brand-learning-priorities/style.css +48 -0
  36. package/es/organism/list-item/index.d.ts +34 -2
  37. package/es/organism/list-item/index.d.ts.map +1 -1
  38. package/es/organism/list-item/index.js +58 -14
  39. package/es/organism/list-item/index.js.map +1 -1
  40. package/es/organism/list-item/style.css +25 -1
  41. package/es/organism/list-items/index.d.ts +4 -0
  42. package/es/organism/rewards-form/index.d.ts +3 -0
  43. package/es/organism/select-opponents/index.d.ts +3 -0
  44. package/es/organism/select-opponents/index.d.ts.map +1 -1
  45. package/es/organism/select-opponents/types.d.ts +3 -0
  46. package/es/organism/select-opponents/types.d.ts.map +1 -1
  47. package/es/organism/title-and-input/index.d.ts +6 -0
  48. package/es/organism/title-and-input/index.d.ts.map +1 -1
  49. package/es/organism/title-and-input/types.d.ts +6 -0
  50. package/es/organism/title-and-input/types.d.ts.map +1 -1
  51. package/es/organism/wizard-contents/index.d.ts +3 -0
  52. package/es/template/app-player/loading/index.d.ts +7 -0
  53. package/es/template/app-player/player/index.d.ts +14 -0
  54. package/es/template/app-player/player/slides/index.d.ts +7 -0
  55. package/es/template/app-player/player/slides/index.d.ts.map +1 -1
  56. package/es/template/app-player/popin-correction/index.d.ts +7 -0
  57. package/es/template/app-player/popin-correction/index.d.ts.map +1 -1
  58. package/es/template/app-player/popin-end/index.d.ts +7 -0
  59. package/es/template/app-review/index.d.ts +7 -0
  60. package/es/template/app-review/index.d.ts.map +1 -1
  61. package/es/template/app-review/player/prop-types.d.ts +7 -0
  62. package/es/template/app-review/player/prop-types.d.ts.map +1 -1
  63. package/es/template/app-review/prop-types.d.ts +7 -0
  64. package/es/template/app-review/prop-types.d.ts.map +1 -1
  65. package/es/template/back-office/brand-update/index.d.ts +149 -0
  66. package/es/template/back-office/brand-update/index.d.ts.map +1 -1
  67. package/es/template/back-office/brand-update/index.js +7 -0
  68. package/es/template/back-office/brand-update/index.js.map +1 -1
  69. package/es/template/common/dashboard/index.d.ts +18 -1
  70. package/es/template/common/dashboard/index.d.ts.map +1 -1
  71. package/es/template/common/dashboard/index.js +11 -5
  72. package/es/template/common/dashboard/index.js.map +1 -1
  73. package/es/template/common/search-page/index.d.ts +7 -0
  74. package/es/template/external-course/index.d.ts +7 -0
  75. package/es/template/my-learning/index.d.ts +2 -78
  76. package/es/template/my-learning/index.d.ts.map +1 -1
  77. package/es/template/my-learning/index.js +3 -7
  78. package/es/template/my-learning/index.js.map +1 -1
  79. package/lib/atom/radio-with-title/index.d.ts +3 -0
  80. package/lib/atom/radio-with-title/index.d.ts.map +1 -1
  81. package/lib/atom/radio-with-title/types.d.ts +3 -0
  82. package/lib/atom/radio-with-title/types.d.ts.map +1 -1
  83. package/lib/atom/tag/index.d.ts +5 -1
  84. package/lib/atom/tag/index.d.ts.map +1 -1
  85. package/lib/atom/tag/index.js +6 -3
  86. package/lib/atom/tag/index.js.map +1 -1
  87. package/lib/atom/title/index.d.ts +3 -0
  88. package/lib/molecule/cm-popin/types.d.ts +7 -0
  89. package/lib/molecule/cm-popin/types.d.ts.map +1 -1
  90. package/lib/molecule/draggable-list/index.d.ts +12 -0
  91. package/lib/molecule/draggable-list/index.d.ts.map +1 -1
  92. package/lib/molecule/draggable-list/index.js +5 -2
  93. package/lib/molecule/draggable-list/index.js.map +1 -1
  94. package/lib/molecule/learning-priority-modal/index.d.ts +30 -0
  95. package/lib/molecule/learning-priority-modal/index.d.ts.map +1 -0
  96. package/lib/molecule/learning-priority-modal/index.js +265 -0
  97. package/lib/molecule/learning-priority-modal/index.js.map +1 -0
  98. package/lib/molecule/learning-priority-modal/style.css +70 -0
  99. package/lib/molecule/learning-priority-setup-item/index.d.ts +18 -0
  100. package/lib/molecule/learning-priority-setup-item/index.d.ts.map +1 -0
  101. package/lib/molecule/learning-priority-setup-item/index.js +100 -0
  102. package/lib/molecule/learning-priority-setup-item/index.js.map +1 -0
  103. package/lib/molecule/learning-priority-setup-item/style.css +47 -0
  104. package/lib/molecule/title-and-checkbox-wrapper/index.d.ts +3 -0
  105. package/lib/molecule/title-radio-wrapper/index.d.ts +3 -0
  106. package/lib/molecule/title-radio-wrapper/index.d.ts.map +1 -1
  107. package/lib/molecule/title-radio-wrapper/types.d.ts +3 -0
  108. package/lib/molecule/title-radio-wrapper/types.d.ts.map +1 -1
  109. package/lib/organism/brand-learning-priorities/index.d.ts +167 -0
  110. package/lib/organism/brand-learning-priorities/index.d.ts.map +1 -0
  111. package/lib/organism/brand-learning-priorities/index.js +150 -0
  112. package/lib/organism/brand-learning-priorities/index.js.map +1 -0
  113. package/lib/organism/brand-learning-priorities/style.css +48 -0
  114. package/lib/organism/list-item/index.d.ts +34 -2
  115. package/lib/organism/list-item/index.d.ts.map +1 -1
  116. package/lib/organism/list-item/index.js +62 -16
  117. package/lib/organism/list-item/index.js.map +1 -1
  118. package/lib/organism/list-item/style.css +25 -1
  119. package/lib/organism/list-items/index.d.ts +4 -0
  120. package/lib/organism/rewards-form/index.d.ts +3 -0
  121. package/lib/organism/select-opponents/index.d.ts +3 -0
  122. package/lib/organism/select-opponents/index.d.ts.map +1 -1
  123. package/lib/organism/select-opponents/types.d.ts +3 -0
  124. package/lib/organism/select-opponents/types.d.ts.map +1 -1
  125. package/lib/organism/title-and-input/index.d.ts +6 -0
  126. package/lib/organism/title-and-input/index.d.ts.map +1 -1
  127. package/lib/organism/title-and-input/types.d.ts +6 -0
  128. package/lib/organism/title-and-input/types.d.ts.map +1 -1
  129. package/lib/organism/wizard-contents/index.d.ts +3 -0
  130. package/lib/template/app-player/loading/index.d.ts +7 -0
  131. package/lib/template/app-player/player/index.d.ts +14 -0
  132. package/lib/template/app-player/player/slides/index.d.ts +7 -0
  133. package/lib/template/app-player/player/slides/index.d.ts.map +1 -1
  134. package/lib/template/app-player/popin-correction/index.d.ts +7 -0
  135. package/lib/template/app-player/popin-correction/index.d.ts.map +1 -1
  136. package/lib/template/app-player/popin-end/index.d.ts +7 -0
  137. package/lib/template/app-review/index.d.ts +7 -0
  138. package/lib/template/app-review/index.d.ts.map +1 -1
  139. package/lib/template/app-review/player/prop-types.d.ts +7 -0
  140. package/lib/template/app-review/player/prop-types.d.ts.map +1 -1
  141. package/lib/template/app-review/prop-types.d.ts +7 -0
  142. package/lib/template/app-review/prop-types.d.ts.map +1 -1
  143. package/lib/template/back-office/brand-update/index.d.ts +149 -0
  144. package/lib/template/back-office/brand-update/index.d.ts.map +1 -1
  145. package/lib/template/back-office/brand-update/index.js +8 -0
  146. package/lib/template/back-office/brand-update/index.js.map +1 -1
  147. package/lib/template/common/dashboard/index.d.ts +18 -1
  148. package/lib/template/common/dashboard/index.d.ts.map +1 -1
  149. package/lib/template/common/dashboard/index.js +12 -6
  150. package/lib/template/common/dashboard/index.js.map +1 -1
  151. package/lib/template/common/search-page/index.d.ts +7 -0
  152. package/lib/template/external-course/index.d.ts +7 -0
  153. package/lib/template/my-learning/index.d.ts +2 -78
  154. package/lib/template/my-learning/index.d.ts.map +1 -1
  155. package/lib/template/my-learning/index.js +4 -11
  156. package/lib/template/my-learning/index.js.map +1 -1
  157. package/locales/bs/global.json +13 -1
  158. package/locales/cs/global.json +13 -1
  159. package/locales/de/global.json +13 -1
  160. package/locales/en/global.json +12 -0
  161. package/locales/es/global.json +13 -1
  162. package/locales/et/global.json +13 -1
  163. package/locales/fi/global.json +13 -1
  164. package/locales/fr/global.json +13 -1
  165. package/locales/hr/global.json +13 -1
  166. package/locales/hu/global.json +13 -1
  167. package/locales/hy/global.json +13 -1
  168. package/locales/it/global.json +13 -1
  169. package/locales/ja/global.json +13 -1
  170. package/locales/ko/global.json +13 -1
  171. package/locales/nl/global.json +13 -1
  172. package/locales/pl/global.json +13 -1
  173. package/locales/pt/global.json +13 -1
  174. package/locales/ro/global.json +13 -1
  175. package/locales/ru/global.json +13 -1
  176. package/locales/sk/global.json +13 -1
  177. package/locales/sl/global.json +13 -1
  178. package/locales/sv/global.json +13 -1
  179. package/locales/tl/global.json +13 -1
  180. package/locales/tr/global.json +13 -1
  181. package/locales/uk/global.json +13 -1
  182. package/locales/vi/global.json +13 -1
  183. package/locales/zh/global.json +13 -1
  184. package/locales/zh_TW/global.json +13 -1
  185. package/package.json +2 -2
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _pick2 = _interopRequireDefault(require("lodash/fp/pick"));
7
+
8
+ var _assign2 = _interopRequireDefault(require("lodash/fp/assign"));
9
+
10
+ var _get2 = _interopRequireDefault(require("lodash/fp/get"));
11
+
12
+ var _react = _interopRequireWildcard(require("react"));
13
+
14
+ var _propTypes = _interopRequireDefault(require("prop-types"));
15
+
16
+ var _cssColorFunction = require("css-color-function");
17
+
18
+ var _baseModal = _interopRequireDefault(require("../base-modal"));
19
+
20
+ var _listItem = _interopRequireDefault(require("../../organism/list-item"));
21
+
22
+ var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
23
+
24
+ var _loader = _interopRequireDefault(require("../../atom/loader"));
25
+
26
+ var _provider = _interopRequireDefault(require("../../atom/provider"));
27
+
28
+ var _select = require("../../atom/select");
29
+
30
+ var _searchForm = _interopRequireDefault(require("../search-form"));
31
+
32
+ var _searchValueIncluded = _interopRequireDefault(require("../../util/search-value-included"));
33
+
34
+ var _style = _interopRequireDefault(require("./style.css"));
35
+
36
+ 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); }
37
+
38
+ 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; }
39
+
40
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
41
+
42
+ 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); }
43
+
44
+ const FilterButton = (props, context) => {
45
+ const {
46
+ active,
47
+ filter,
48
+ itemTotal,
49
+ onClick
50
+ } = props;
51
+ const {
52
+ skin
53
+ } = context;
54
+ const primarySkinColor = (0, _get2.default)('common.primary', skin);
55
+ const Content = (0, _react.useCallback)(() => /*#__PURE__*/_react.default.createElement("div", null, filter, /*#__PURE__*/_react.default.createElement("span", {
56
+ className: active ? _style.default.skillFilterNumber : _style.default.skillFilterNumberInActive,
57
+ style: {
58
+ backgroundColor: active ? (0, _cssColorFunction.convert)(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',
59
+ color: active ? primarySkinColor : '#515161'
60
+ }
61
+ }, itemTotal)), [filter, itemTotal, active, primarySkinColor]);
62
+ const buttonProps = {
63
+ customStyle: {
64
+ backgroundColor: active ? (0, _cssColorFunction.convert)(`color(${primarySkinColor} a(0.07))`) : 'transparent',
65
+ color: active ? primarySkinColor : '#9999A8',
66
+ transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',
67
+ width: 'fit-content'
68
+ },
69
+ onClick,
70
+ content: /*#__PURE__*/_react.default.createElement(Content, null),
71
+ 'data-name': 'change-skill-focus-button'
72
+ };
73
+ return /*#__PURE__*/_react.default.createElement(_buttonLink.default, buttonProps);
74
+ };
75
+
76
+ FilterButton.contextTypes = {
77
+ skin: _provider.default.childContextTypes.skin,
78
+ translate: _provider.default.childContextTypes.translate
79
+ };
80
+ FilterButton.propTypes = process.env.NODE_ENV !== "production" ? {
81
+ active: _propTypes.default.bool,
82
+ filter: _propTypes.default.string,
83
+ itemTotal: _propTypes.default.number,
84
+ onClick: _propTypes.default.func
85
+ } : {};
86
+
87
+ const LearningPriorityModal = (props, context) => {
88
+ const {
89
+ priorities,
90
+ preselected,
91
+ isOpen,
92
+ isLoading,
93
+ filters,
94
+ onCancel,
95
+ onAdd,
96
+ onClose
97
+ } = props;
98
+ const {
99
+ translate
100
+ } = context;
101
+ const [selectedPriority, setSelectedPriority] = (0, _react.useState)('');
102
+ const [selectedPriorityType, setSelectedPriorityType] = (0, _react.useState)('');
103
+ const [searchValue, setSearchValue] = (0, _react.useState)('');
104
+ const [filterValue, setFilterValue] = (0, _react.useState)('all');
105
+ const [searchResults, setSearchResults] = (0, _react.useState)(priorities);
106
+ const handleCancel = (0, _react.useCallback)(() => {
107
+ setSelectedPriority('');
108
+ setSelectedPriorityType('');
109
+ onCancel();
110
+ }, [setSelectedPriority, setSelectedPriorityType, onCancel]);
111
+ const handleClose = (0, _react.useCallback)(() => {
112
+ setSelectedPriority('');
113
+ setSelectedPriorityType('');
114
+ onClose();
115
+ }, [setSelectedPriority, setSelectedPriorityType, onClose]);
116
+ const handleSearch = (0, _react.useCallback)(value => {
117
+ setSearchValue(value);
118
+ setSearchResults(priorities.filter(priority => (0, _searchValueIncluded.default)(priority.title, value)));
119
+ }, [priorities, setSearchValue, setSearchResults]);
120
+ const handleSearchReset = (0, _react.useCallback)(() => {
121
+ setSearchValue('');
122
+ setSearchResults(priorities);
123
+ }, [priorities, setSearchValue, setSearchResults]);
124
+ (0, _react.useEffect)(() => {
125
+ setSearchResults(priorities);
126
+ }, [priorities]);
127
+ const priorityList = (0, _react.useMemo)(() => {
128
+ return searchResults.map(priority => {
129
+ const isPreSelectedPriority = preselected.some(selected => selected === priority.priorityRef);
130
+ return (0, _assign2.default)({
131
+ selected: isPreSelectedPriority,
132
+ disabled: isPreSelectedPriority
133
+ }, (0, _pick2.default)(['title', 'priorityRef', 'type', 'courses'], priority));
134
+ });
135
+ }, [searchResults, preselected]);
136
+ const footer = (0, _react.useMemo)(() => {
137
+ return {
138
+ cancelButton: {
139
+ onCancel: handleCancel,
140
+ label: translate('cancel')
141
+ },
142
+ confirmButton: {
143
+ onConfirm: () => {
144
+ onAdd(selectedPriority, selectedPriorityType);
145
+ setSelectedPriority('');
146
+ setSelectedPriorityType('');
147
+ onClose();
148
+ },
149
+ label: translate('add'),
150
+ iconName: 'plus',
151
+ disabled: isLoading || !selectedPriority
152
+ }
153
+ };
154
+ }, [handleCancel, setSelectedPriority, setSelectedPriorityType, onAdd, translate, selectedPriority, selectedPriorityType, isLoading]);
155
+ if (!isLoading && !priorities || !isOpen) return null;
156
+ return /*#__PURE__*/_react.default.createElement(_baseModal.default, {
157
+ title: translate('learning_priority_modal_title'),
158
+ description: translate('learning_priority_modal_description'),
159
+ isOpen: isOpen,
160
+ onClose: handleClose,
161
+ footer: footer
162
+ }, /*#__PURE__*/_react.default.createElement("div", {
163
+ className: _style.default.LearningPriorityContainer
164
+ }, isLoading ? /*#__PURE__*/_react.default.createElement("div", {
165
+ className: _style.default.loaderContainer
166
+ }, /*#__PURE__*/_react.default.createElement(_loader.default, {
167
+ className: _style.default.loader,
168
+ theme: "coorpmanager"
169
+ })) : /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
170
+ className: _style.default.searchWrapper
171
+ }, /*#__PURE__*/_react.default.createElement(_searchForm.default, {
172
+ search: {
173
+ placeholder: translate('search_priority_place_holder'),
174
+ value: searchValue,
175
+ onChange: handleSearch
176
+ },
177
+ onReset: handleSearchReset
178
+ })), /*#__PURE__*/_react.default.createElement("div", {
179
+ className: _style.default.filterWrapper
180
+ }, searchResults.length > 0 ? filters.map((filter, index) => {
181
+ const {
182
+ name,
183
+ value,
184
+ count
185
+ } = filter;
186
+
187
+ function handleChange() {
188
+ setFilterValue(value);
189
+ handleSearchReset();
190
+ }
191
+
192
+ if (count === 0) return null;
193
+ return /*#__PURE__*/_react.default.createElement("div", {
194
+ key: index,
195
+ className: _style.default.filterButtonWrapper
196
+ }, /*#__PURE__*/_react.default.createElement(FilterButton, {
197
+ active: filterValue === value,
198
+ filter: name,
199
+ onClick: handleChange,
200
+ itemTotal: count
201
+ }));
202
+ }) : null), /*#__PURE__*/_react.default.createElement("div", {
203
+ className: _style.default.priorityListWrapper
204
+ }, priorityList.map(priority => {
205
+ const {
206
+ title,
207
+ priorityRef,
208
+ courses = null,
209
+ type,
210
+ selected,
211
+ disabled
212
+ } = priority;
213
+
214
+ function handlePriorityClick() {
215
+ if (selectedPriority === priorityRef) {
216
+ setSelectedPriority('');
217
+ setSelectedPriorityType('');
218
+ return;
219
+ }
220
+
221
+ setSelectedPriority(priorityRef);
222
+ setSelectedPriorityType(type);
223
+ }
224
+
225
+ if (filterValue !== 'all' && type !== filterValue) return null;
226
+ return /*#__PURE__*/_react.default.createElement(_listItem.default, _extends({}, courses !== null ? {
227
+ subtitle: `${courses} ${translate('courses')}`
228
+ } : {}, {
229
+ title: title,
230
+ selected: selected || selectedPriority === priorityRef,
231
+ disabled: disabled,
232
+ onClick: handlePriorityClick,
233
+ tags: [{
234
+ label: type,
235
+ type: 'default'
236
+ }],
237
+ key: priorityRef,
238
+ backgroundColor: "skin"
239
+ }));
240
+ })))));
241
+ };
242
+
243
+ LearningPriorityModal.contextTypes = {
244
+ translate: _provider.default.childContextTypes.translate
245
+ };
246
+ LearningPriorityModal.propTypes = process.env.NODE_ENV !== "production" ? {
247
+ priorities: _propTypes.default.arrayOf(_propTypes.default.shape({
248
+ priorityRef: _propTypes.default.string,
249
+ title: _propTypes.default.string,
250
+ courses: _propTypes.default.number,
251
+ type: _propTypes.default.oneOf(['skill', 'playlist', 'certificate'])
252
+ })),
253
+ preselected: _propTypes.default.arrayOf(_propTypes.default.string),
254
+ isOpen: _propTypes.default.bool,
255
+ isLoading: _propTypes.default.bool,
256
+ filters: _propTypes.default.arrayOf(_propTypes.default.shape(_extends({}, _select.SelectOptionPropTypes, {
257
+ count: _propTypes.default.number
258
+ }))),
259
+ onCancel: _propTypes.default.func,
260
+ onAdd: _propTypes.default.func,
261
+ onClose: _propTypes.default.func
262
+ } : {};
263
+ var _default = LearningPriorityModal;
264
+ exports.default = _default;
265
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["FilterButton","props","context","active","filter","itemTotal","onClick","skin","primarySkinColor","Content","useCallback","style","skillFilterNumber","skillFilterNumberInActive","backgroundColor","convert","color","buttonProps","customStyle","transition","width","content","contextTypes","Provider","childContextTypes","translate","propTypes","PropTypes","bool","string","number","func","LearningPriorityModal","priorities","preselected","isOpen","isLoading","filters","onCancel","onAdd","onClose","selectedPriority","setSelectedPriority","useState","selectedPriorityType","setSelectedPriorityType","searchValue","setSearchValue","filterValue","setFilterValue","searchResults","setSearchResults","handleCancel","handleClose","handleSearch","value","priority","searchValueIncluded","title","handleSearchReset","useEffect","priorityList","useMemo","map","isPreSelectedPriority","some","selected","priorityRef","disabled","footer","cancelButton","label","confirmButton","onConfirm","iconName","LearningPriorityContainer","loaderContainer","loader","searchWrapper","placeholder","onChange","filterWrapper","length","index","name","count","handleChange","filterButtonWrapper","priorityListWrapper","courses","type","handlePriorityClick","subtitle","arrayOf","shape","oneOf","SelectOptionPropTypes"],"sources":["../../../src/molecule/learning-priority-modal/index.js"],"sourcesContent":["import React, {useEffect, useMemo, useState, useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport {get, assign, pick} from 'lodash/fp';\nimport {convert} from 'css-color-function';\nimport BaseModal from '../base-modal';\nimport ListItem from '../../organism/list-item';\nimport ButtonLink from '../../atom/button-link';\nimport Loader from '../../atom/loader';\nimport Provider from '../../atom/provider';\nimport {SelectOptionPropTypes} from '../../atom/select';\nimport SearchForm from '../search-form';\nimport searchValueIncluded from '../../util/search-value-included';\nimport style from './style.css';\n\nconst FilterButton = (props, context) => {\n const {active, filter, itemTotal, onClick} = props;\n const {skin} = context;\n const primarySkinColor = get('common.primary', skin);\n\n const Content = useCallback(\n () => (\n <div>\n {filter}\n <span\n className={active ? style.skillFilterNumber : style.skillFilterNumberInActive}\n style={{\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : '#EAEAEB',\n color: active ? primarySkinColor : '#515161'\n }}\n >\n {itemTotal}\n </span>\n </div>\n ),\n [filter, itemTotal, active, primarySkinColor]\n );\n\n const buttonProps = {\n customStyle: {\n backgroundColor: active ? convert(`color(${primarySkinColor} a(0.07))`) : 'transparent',\n color: active ? primarySkinColor : '#9999A8',\n transition: 'background-color 0.15s ease-in-out, color 0.15s ease-in-out',\n width: 'fit-content'\n },\n onClick,\n content: <Content />,\n 'data-name': 'change-skill-focus-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 active: PropTypes.bool,\n filter: PropTypes.string,\n itemTotal: PropTypes.number,\n onClick: PropTypes.func\n};\n\nconst LearningPriorityModal = (props, context) => {\n const {priorities, preselected, isOpen, isLoading, filters, onCancel, onAdd, onClose} = props;\n const {translate} = context;\n\n const [selectedPriority, setSelectedPriority] = useState('');\n const [selectedPriorityType, setSelectedPriorityType] = useState('');\n const [searchValue, setSearchValue] = useState('');\n const [filterValue, setFilterValue] = useState('all');\n const [searchResults, setSearchResults] = useState(priorities);\n\n const handleCancel = useCallback(() => {\n setSelectedPriority('');\n setSelectedPriorityType('');\n onCancel();\n }, [setSelectedPriority, setSelectedPriorityType, onCancel]);\n\n const handleClose = useCallback(() => {\n setSelectedPriority('');\n setSelectedPriorityType('');\n onClose();\n }, [setSelectedPriority, setSelectedPriorityType, onClose]);\n\n const handleSearch = useCallback(\n value => {\n setSearchValue(value);\n setSearchResults(priorities.filter(priority => searchValueIncluded(priority.title, value)));\n },\n [priorities, setSearchValue, setSearchResults]\n );\n\n const handleSearchReset = useCallback(() => {\n setSearchValue('');\n setSearchResults(priorities);\n }, [priorities, setSearchValue, setSearchResults]);\n\n useEffect(() => {\n setSearchResults(priorities);\n }, [priorities]);\n\n const priorityList = useMemo(() => {\n return searchResults.map(priority => {\n const isPreSelectedPriority = preselected.some(selected => selected === priority.priorityRef);\n return assign(\n {\n selected: isPreSelectedPriority,\n disabled: isPreSelectedPriority\n },\n pick(['title', 'priorityRef', 'type', 'courses'], priority)\n );\n });\n }, [searchResults, preselected]);\n\n const footer = useMemo(() => {\n return {\n cancelButton: {\n onCancel: handleCancel,\n label: translate('cancel')\n },\n confirmButton: {\n onConfirm: () => {\n onAdd(selectedPriority, selectedPriorityType);\n setSelectedPriority('');\n setSelectedPriorityType('');\n onClose();\n },\n label: translate('add'),\n iconName: 'plus',\n disabled: isLoading || !selectedPriority\n }\n };\n }, [\n handleCancel,\n setSelectedPriority,\n setSelectedPriorityType,\n onAdd,\n translate,\n selectedPriority,\n selectedPriorityType,\n isLoading\n ]);\n\n if ((!isLoading && !priorities) || !isOpen) return null;\n\n return (\n <BaseModal\n title={translate('learning_priority_modal_title')}\n description={translate('learning_priority_modal_description')}\n isOpen={isOpen}\n onClose={handleClose}\n footer={footer}\n >\n <div className={style.LearningPriorityContainer}>\n {isLoading ? (\n <div className={style.loaderContainer}>\n <Loader className={style.loader} theme=\"coorpmanager\" />\n </div>\n ) : (\n <>\n <div className={style.searchWrapper}>\n <SearchForm\n search={{\n placeholder: translate('search_priority_place_holder'),\n value: searchValue,\n onChange: handleSearch\n }}\n onReset={handleSearchReset}\n />\n </div>\n <div className={style.filterWrapper}>\n {searchResults.length > 0\n ? filters.map((filter, index) => {\n const {name, value, count} = filter;\n\n function handleChange() {\n setFilterValue(value);\n handleSearchReset();\n }\n\n if (count === 0) return null;\n\n return (\n <div key={index} className={style.filterButtonWrapper}>\n <FilterButton\n active={filterValue === value}\n filter={name}\n onClick={handleChange}\n itemTotal={count}\n />\n </div>\n );\n })\n : null}\n </div>\n <div className={style.priorityListWrapper}>\n {priorityList.map(priority => {\n const {title, priorityRef, courses = null, type, selected, disabled} = priority;\n function handlePriorityClick() {\n if (selectedPriority === priorityRef) {\n setSelectedPriority('');\n setSelectedPriorityType('');\n return;\n }\n setSelectedPriority(priorityRef);\n setSelectedPriorityType(type);\n }\n\n if (filterValue !== 'all' && type !== filterValue) return null;\n\n return (\n <ListItem\n {...(courses !== null ? {subtitle: `${courses} ${translate('courses')}`} : {})}\n title={title}\n selected={selected || selectedPriority === priorityRef}\n disabled={disabled}\n onClick={handlePriorityClick}\n tags={[{label: type, type: 'default'}]}\n key={priorityRef}\n backgroundColor=\"skin\"\n />\n );\n })}\n </div>\n </>\n )}\n </div>\n </BaseModal>\n );\n};\n\nLearningPriorityModal.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearningPriorityModal.propTypes = {\n priorities: PropTypes.arrayOf(\n PropTypes.shape({\n priorityRef: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.oneOf(['skill', 'playlist', 'certificate'])\n })\n ),\n preselected: PropTypes.arrayOf(PropTypes.string),\n isOpen: PropTypes.bool,\n isLoading: PropTypes.bool,\n filters: PropTypes.arrayOf(\n PropTypes.shape({\n ...SelectOptionPropTypes,\n count: PropTypes.number\n })\n ),\n onCancel: PropTypes.func,\n onAdd: PropTypes.func,\n onClose: PropTypes.func\n};\n\nexport default LearningPriorityModal;\n"],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value cm_grey_100 from colors;
3
+
4
+ .LearningPriorityContainer {
5
+ height: 485px;
6
+ width: calc(71vw - 68px);
7
+ max-width: 660px;
8
+ overflow-y: auto;
9
+ }
10
+
11
+ .loaderContainer {
12
+ display: flex;
13
+ justify-content: center;
14
+ align-items: center;
15
+ height: 100%;
16
+ width: 100%;
17
+ }
18
+
19
+ .loader {
20
+ width: 40px;
21
+ height: 40px;
22
+ }
23
+
24
+ .searchWrapper {
25
+ border-radius: 12px;
26
+ width: 300px;
27
+ background-color: cm_grey_100;
28
+ margin-bottom: 20px;
29
+ }
30
+
31
+ .filterWrapper {
32
+ display: flex;
33
+ gap: 12px;
34
+ margin-bottom: 32px;
35
+ overflow-x: auto;
36
+ }
37
+
38
+ .filterButtonWrapper {
39
+ display: flex;
40
+ align-items: center;
41
+ }
42
+
43
+ .skillFilterNumber,
44
+ .skillFilterNumberInActive {
45
+ border-radius: 50%;
46
+ background-color: #D6E6FF;
47
+ color: #0061FF;
48
+ padding: 2px 4px;
49
+ margin-left: 8px;
50
+ font-size: 10px;
51
+ font-weight: 600;
52
+ line-height: 12px;
53
+ }
54
+
55
+ .skillFilterNumberInActive {
56
+ background-color: #EAEAEB;
57
+ color: #515161;
58
+ }
59
+
60
+ .priorityListWrapper {
61
+ display: flex;
62
+ flex-direction: column;
63
+ gap: 16px;
64
+ }
65
+
66
+ @media mobile {
67
+ .LearningPriorityContainer {
68
+ width: 100%;
69
+ }
70
+ }
@@ -0,0 +1,18 @@
1
+ export default LearningPrioritySetupItem;
2
+ declare function LearningPrioritySetupItem(props: any, context: any): JSX.Element;
3
+ declare namespace LearningPrioritySetupItem {
4
+ namespace contextTypes {
5
+ const translate: PropTypes.Requireable<(...args: any[]) => any>;
6
+ }
7
+ const propTypes: {
8
+ 'aria-label': PropTypes.Requireable<string>;
9
+ id: PropTypes.Requireable<string>;
10
+ priorityRef: PropTypes.Requireable<string>;
11
+ title: PropTypes.Requireable<string>;
12
+ courses: PropTypes.Requireable<number>;
13
+ type: PropTypes.Requireable<string>;
14
+ onRemove: PropTypes.Requireable<(...args: any[]) => any>;
15
+ };
16
+ }
17
+ import PropTypes from "prop-types";
18
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/learning-priority-setup-item/index.js"],"names":[],"mappings":";AAOA,kFAsDC"}
@@ -0,0 +1,100 @@
1
+ "use strict";
2
+
3
+ exports.__esModule = true;
4
+ exports.default = void 0;
5
+
6
+ var _react = _interopRequireWildcard(require("react"));
7
+
8
+ var _propTypes = _interopRequireDefault(require("prop-types"));
9
+
10
+ var _provider = _interopRequireDefault(require("../../atom/provider"));
11
+
12
+ var _tag = _interopRequireDefault(require("../../atom/tag"));
13
+
14
+ var _buttonLink = _interopRequireDefault(require("../../atom/button-link"));
15
+
16
+ var _style = _interopRequireDefault(require("./style.css"));
17
+
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
+
20
+ 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); }
21
+
22
+ 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; }
23
+
24
+ const LearningPrioritySetupItem = (props, context) => {
25
+ const {
26
+ priorityRef,
27
+ id,
28
+ title,
29
+ courses = null,
30
+ type,
31
+ 'aria-label': ariaLabel,
32
+ onRemove
33
+ } = props;
34
+ const {
35
+ translate
36
+ } = context;
37
+ const handleRemovePriority = (0, _react.useCallback)(() => onRemove(priorityRef, type), [priorityRef, type]);
38
+
39
+ const handleTypeTranslate = itemType => {
40
+ switch (itemType) {
41
+ case 'skill':
42
+ return translate('skill');
43
+
44
+ case 'playlist':
45
+ return translate('playlist');
46
+
47
+ case 'certificate':
48
+ return translate('certificate');
49
+ }
50
+ };
51
+
52
+ return /*#__PURE__*/_react.default.createElement("div", {
53
+ className: _style.default.container,
54
+ "aria-label": ariaLabel,
55
+ "data-name": `learning-priority-setup-item-${id}`
56
+ }, /*#__PURE__*/_react.default.createElement("div", {
57
+ className: _style.default.containerInfos
58
+ }, /*#__PURE__*/_react.default.createElement("div", {
59
+ className: _style.default.titleWrapper
60
+ }, /*#__PURE__*/_react.default.createElement("div", {
61
+ className: _style.default.title
62
+ }, title), /*#__PURE__*/_react.default.createElement("div", null, /*#__PURE__*/_react.default.createElement(_tag.default, {
63
+ label: handleTypeTranslate(type),
64
+ size: 'S'
65
+ }))), courses !== null ? /*#__PURE__*/_react.default.createElement("span", {
66
+ className: _style.default.courses
67
+ }, `${courses} ${translate('courses')}`) : null), /*#__PURE__*/_react.default.createElement(_buttonLink.default, {
68
+ type: "primary",
69
+ customStyle: {
70
+ width: 'fit-content',
71
+ backgroundColor: 'transparent'
72
+ },
73
+ hoverBackgroundColor: "#EAEAEB",
74
+ icon: {
75
+ position: 'left',
76
+ faIcon: {
77
+ name: 'trash',
78
+ color: '#515161',
79
+ size: 16
80
+ }
81
+ },
82
+ onClick: handleRemovePriority
83
+ }));
84
+ };
85
+
86
+ LearningPrioritySetupItem.contextTypes = {
87
+ translate: _provider.default.childContextTypes.translate
88
+ };
89
+ LearningPrioritySetupItem.propTypes = process.env.NODE_ENV !== "production" ? {
90
+ 'aria-label': _propTypes.default.string,
91
+ id: _propTypes.default.string,
92
+ priorityRef: _propTypes.default.string,
93
+ title: _propTypes.default.string,
94
+ courses: _propTypes.default.number,
95
+ type: _propTypes.default.oneOf(['skill', 'playlist', 'certificate']),
96
+ onRemove: _propTypes.default.func
97
+ } : {};
98
+ var _default = LearningPrioritySetupItem;
99
+ exports.default = _default;
100
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["LearningPrioritySetupItem","props","context","priorityRef","id","title","courses","type","ariaLabel","onRemove","translate","handleRemovePriority","useCallback","handleTypeTranslate","itemType","style","container","containerInfos","titleWrapper","width","backgroundColor","position","faIcon","name","color","size","contextTypes","Provider","childContextTypes","propTypes","PropTypes","string","number","oneOf","func"],"sources":["../../../src/molecule/learning-priority-setup-item/index.js"],"sourcesContent":["import React, {useCallback} from 'react';\nimport PropTypes from 'prop-types';\nimport Provider from '../../atom/provider';\nimport Tag from '../../atom/tag';\nimport ButtonLink from '../../atom/button-link';\nimport style from './style.css';\n\nconst LearningPrioritySetupItem = (props, context) => {\n const {priorityRef, id, title, courses = null, type, 'aria-label': ariaLabel, onRemove} = props;\n\n const {translate} = context;\n\n const handleRemovePriority = useCallback(() => onRemove(priorityRef, type), [priorityRef, type]);\n\n const handleTypeTranslate = itemType => {\n switch (itemType) {\n case 'skill':\n return translate('skill');\n case 'playlist':\n return translate('playlist');\n case 'certificate':\n return translate('certificate');\n }\n };\n\n return (\n <div\n className={style.container}\n aria-label={ariaLabel}\n data-name={`learning-priority-setup-item-${id}`}\n >\n <div className={style.containerInfos}>\n <div className={style.titleWrapper}>\n <div className={style.title}>{title}</div>\n <div>\n <Tag label={handleTypeTranslate(type)} size={'S'} />\n </div>\n </div>\n {courses !== null ? (\n <span className={style.courses}>{`${courses} ${translate('courses')}`}</span>\n ) : null}\n </div>\n <ButtonLink\n type=\"primary\"\n customStyle={{\n width: 'fit-content',\n backgroundColor: 'transparent'\n }}\n hoverBackgroundColor=\"#EAEAEB\"\n icon={{\n position: 'left',\n faIcon: {\n name: 'trash',\n color: '#515161',\n size: 16\n }\n }}\n onClick={handleRemovePriority}\n />\n </div>\n );\n};\n\nLearningPrioritySetupItem.contextTypes = {\n translate: Provider.childContextTypes.translate\n};\n\nLearningPrioritySetupItem.propTypes = {\n 'aria-label': PropTypes.string,\n id: PropTypes.string,\n priorityRef: PropTypes.string,\n title: PropTypes.string,\n courses: PropTypes.number,\n type: PropTypes.oneOf(['skill', 'playlist', 'certificate']),\n onRemove: PropTypes.func\n};\n\nexport default LearningPrioritySetupItem;\n"],"mappings":";;;;;AAAA;;AACA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,MAAMA,yBAAyB,GAAG,CAACC,KAAD,EAAQC,OAAR,KAAoB;EACpD,MAAM;IAACC,WAAD;IAAcC,EAAd;IAAkBC,KAAlB;IAAyBC,OAAO,GAAG,IAAnC;IAAyCC,IAAzC;IAA+C,cAAcC,SAA7D;IAAwEC;EAAxE,IAAoFR,KAA1F;EAEA,MAAM;IAACS;EAAD,IAAcR,OAApB;EAEA,MAAMS,oBAAoB,GAAG,IAAAC,kBAAA,EAAY,MAAMH,QAAQ,CAACN,WAAD,EAAcI,IAAd,CAA1B,EAA+C,CAACJ,WAAD,EAAcI,IAAd,CAA/C,CAA7B;;EAEA,MAAMM,mBAAmB,GAAGC,QAAQ,IAAI;IACtC,QAAQA,QAAR;MACE,KAAK,OAAL;QACE,OAAOJ,SAAS,CAAC,OAAD,CAAhB;;MACF,KAAK,UAAL;QACE,OAAOA,SAAS,CAAC,UAAD,CAAhB;;MACF,KAAK,aAAL;QACE,OAAOA,SAAS,CAAC,aAAD,CAAhB;IANJ;EAQD,CATD;;EAWA,oBACE;IACE,SAAS,EAAEK,cAAA,CAAMC,SADnB;IAEE,cAAYR,SAFd;IAGE,aAAY,gCAA+BJ,EAAG;EAHhD,gBAKE;IAAK,SAAS,EAAEW,cAAA,CAAME;EAAtB,gBACE;IAAK,SAAS,EAAEF,cAAA,CAAMG;EAAtB,gBACE;IAAK,SAAS,EAAEH,cAAA,CAAMV;EAAtB,GAA8BA,KAA9B,CADF,eAEE,uDACE,6BAAC,YAAD;IAAK,KAAK,EAAEQ,mBAAmB,CAACN,IAAD,CAA/B;IAAuC,IAAI,EAAE;EAA7C,EADF,CAFF,CADF,EAOGD,OAAO,KAAK,IAAZ,gBACC;IAAM,SAAS,EAAES,cAAA,CAAMT;EAAvB,GAAkC,GAAEA,OAAQ,IAAGI,SAAS,CAAC,SAAD,CAAY,EAApE,CADD,GAEG,IATN,CALF,eAgBE,6BAAC,mBAAD;IACE,IAAI,EAAC,SADP;IAEE,WAAW,EAAE;MACXS,KAAK,EAAE,aADI;MAEXC,eAAe,EAAE;IAFN,CAFf;IAME,oBAAoB,EAAC,SANvB;IAOE,IAAI,EAAE;MACJC,QAAQ,EAAE,MADN;MAEJC,MAAM,EAAE;QACNC,IAAI,EAAE,OADA;QAENC,KAAK,EAAE,SAFD;QAGNC,IAAI,EAAE;MAHA;IAFJ,CAPR;IAeE,OAAO,EAAEd;EAfX,EAhBF,CADF;AAoCD,CAtDD;;AAwDAX,yBAAyB,CAAC0B,YAA1B,GAAyC;EACvChB,SAAS,EAAEiB,iBAAA,CAASC,iBAAT,CAA2BlB;AADC,CAAzC;AAIAV,yBAAyB,CAAC6B,SAA1B,2CAAsC;EACpC,cAAcC,kBAAA,CAAUC,MADY;EAEpC3B,EAAE,EAAE0B,kBAAA,CAAUC,MAFsB;EAGpC5B,WAAW,EAAE2B,kBAAA,CAAUC,MAHa;EAIpC1B,KAAK,EAAEyB,kBAAA,CAAUC,MAJmB;EAKpCzB,OAAO,EAAEwB,kBAAA,CAAUE,MALiB;EAMpCzB,IAAI,EAAEuB,kBAAA,CAAUG,KAAV,CAAgB,CAAC,OAAD,EAAU,UAAV,EAAsB,aAAtB,CAAhB,CAN8B;EAOpCxB,QAAQ,EAAEqB,kBAAA,CAAUI;AAPgB,CAAtC;eAUelC,yB"}
@@ -0,0 +1,47 @@
1
+ @value colors: "../../variables/colors.css";
2
+ @value cm_grey_50 from colors;
3
+ @value cm_grey_700 from colors;
4
+ @value cm_grey_500 from colors;
5
+ @value cm_grey_400 from colors;
6
+
7
+ .container {
8
+ display: flex;
9
+ justify-content: space-between;
10
+ align-items: center;
11
+ background-color: cm_grey_50;
12
+ font-size: 14px;
13
+ margin-top: 8px;
14
+ padding: 8px 16px;
15
+ border-radius: 7px;
16
+ }
17
+
18
+ .containerInfos {
19
+ margin-left: 32px;
20
+ overflow: hidden;
21
+ flex-grow: 1;
22
+ }
23
+
24
+ .titleWrapper {
25
+ display: flex;
26
+ align-items: center;
27
+ gap: 8px;
28
+ }
29
+
30
+ .title {
31
+ color: cm_grey_700;
32
+ line-height: 22px;
33
+ font-family: Gilroy;
34
+ font-size: 16px;
35
+ font-weight: bold;
36
+ overflow: hidden;
37
+ white-space: nowrap;
38
+ display: inline-block;
39
+ text-overflow: ellipsis;
40
+ }
41
+
42
+ .courses {
43
+ color: cm_grey_500;
44
+ display: block;
45
+ font-family: Gilroy;
46
+ line-height: 20px;
47
+ }
@@ -23,6 +23,9 @@ declare namespace TitleAndCheckBoxWrapper {
23
23
  label: PropTypes.Requireable<string>;
24
24
  type: PropTypes.Requireable<string>;
25
25
  size: PropTypes.Requireable<string>;
26
+ customStyle: PropTypes.Requireable<{
27
+ [x: string]: string | null | undefined;
28
+ }>;
26
29
  }>>;
27
30
  }>>;
28
31
  const child: PropTypes.Requireable<NonNullable<PropTypes.InferProps<{
@@ -16,6 +16,9 @@ declare const TitleRadioWrapper: {
16
16
  label: import("prop-types").Requireable<string>;
17
17
  type: import("prop-types").Requireable<string>;
18
18
  size: import("prop-types").Requireable<string>;
19
+ customStyle: import("prop-types").Requireable<{
20
+ [x: string]: string | null | undefined;
21
+ }>;
19
22
  }>>;
20
23
  }>>>;
21
24
  name: import("prop-types").Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAqB1D,QAAA,MAAM,iBAAiB;YAAW,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/index.tsx"],"names":[],"mappings":";AAKA,OAAkB,EAAC,sBAAsB,EAAC,MAAM,SAAS,CAAC;AAqB1D,QAAA,MAAM,iBAAiB;YAAW,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAQvD,CAAC;AAIF,eAAe,iBAAiB,CAAC"}
@@ -16,6 +16,9 @@ declare const propTypes: {
16
16
  label: PropTypes.Requireable<string>;
17
17
  type: PropTypes.Requireable<string>;
18
18
  size: PropTypes.Requireable<string>;
19
+ customStyle: PropTypes.Requireable<{
20
+ [x: string]: string | null | undefined;
21
+ }>;
19
22
  }>>;
20
23
  }>>>;
21
24
  name: PropTypes.Requireable<string>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOd,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,cAAc,EAAE,mBAAmB,CAAC;IACpC,KAAK,EAAE,OAAO,cAAc,CAAC,SAAS,GAAG,OAAO,kBAAkB,CAAC,SAAS,CAAC;IAC7E,SAAS,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;CACjD,CAAC;AAEF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/molecule/title-radio-wrapper/types.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;AACnC,OAAO,kBAAkB,MAAM,iCAAiC,CAAC;AAEjE,OAAO,EAAC,mBAAmB,EAAC,MAAM,mCAAmC,CAAC;AACtE,OAAO,cAAc,MAAM,oBAAoB,CAAC;AAEhD,QAAA,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAOd,CAAC;AAEF,oBAAY,sBAAsB,GAAG;IACnC,cAAc,EAAE,mBAAmB,CAAC;IACpC,KAAK,EAAE,OAAO,cAAc,CAAC,SAAS,GAAG,OAAO,kBAAkB,CAAC,SAAS,CAAC;IAC7E,SAAS,EAAE,iBAAiB,GAAG,gBAAgB,CAAC;CACjD,CAAC;AAEF,eAAe,SAAS,CAAC"}