@clickview/lite 0.0.20-rc.1 → 0.0.20

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 (196) hide show
  1. package/dist/scripts/{bundle-df3f2fe30a.min.js → bundle-0a051d30d1.min.js} +1 -1
  2. package/dist/scripts/bundles.json +1 -1
  3. package/package.json +1 -1
  4. package/dist/css/0.chunk.css.map +0 -1
  5. package/dist/css/1.chunk.css +0 -146
  6. package/dist/css/1.chunk.css.map +0 -1
  7. package/dist/css/11.chunk.css.map +0 -1
  8. package/dist/css/12.chunk.css.map +0 -1
  9. package/dist/css/13.chunk.css.map +0 -1
  10. package/dist/css/14.chunk.css.map +0 -1
  11. package/dist/css/15.chunk.css.map +0 -1
  12. package/dist/css/16.chunk.css.map +0 -1
  13. package/dist/css/17.chunk.css.map +0 -1
  14. package/dist/css/18.chunk.css.map +0 -1
  15. package/dist/css/19.chunk.css.map +0 -1
  16. package/dist/css/21.chunk.css.map +0 -1
  17. package/dist/css/22.chunk.css.map +0 -1
  18. package/dist/css/23.chunk.css.map +0 -1
  19. package/dist/css/24.chunk.css.map +0 -1
  20. package/dist/css/25.chunk.css.map +0 -1
  21. package/dist/css/26.chunk.css.map +0 -1
  22. package/dist/css/27.chunk.css.map +0 -1
  23. package/dist/css/28.chunk.css.map +0 -1
  24. package/dist/css/29.chunk.css.map +0 -1
  25. package/dist/css/3.chunk.css.map +0 -1
  26. package/dist/css/30.chunk.css +0 -32
  27. package/dist/css/30.chunk.css.map +0 -1
  28. package/dist/css/31.chunk.css.map +0 -1
  29. package/dist/css/32.chunk.css +0 -6
  30. package/dist/css/32.chunk.css.map +0 -1
  31. package/dist/css/33.chunk.css +0 -5
  32. package/dist/css/33.chunk.css.map +0 -1
  33. package/dist/css/34.chunk.css.map +0 -1
  34. package/dist/css/36.chunk.css +0 -6
  35. package/dist/css/36.chunk.css.map +0 -1
  36. package/dist/css/37.chunk.css +0 -7
  37. package/dist/css/37.chunk.css.map +0 -1
  38. package/dist/css/38.chunk.css.map +0 -1
  39. package/dist/css/41.chunk.css +0 -38
  40. package/dist/css/41.chunk.css.map +0 -1
  41. package/dist/css/5.chunk.css.map +0 -1
  42. package/dist/css/51.chunk.css +0 -9
  43. package/dist/css/51.chunk.css.map +0 -1
  44. package/dist/css/6.chunk.css.map +0 -1
  45. package/dist/css/7.chunk.css +0 -66
  46. package/dist/css/7.chunk.css.map +0 -1
  47. package/dist/css/lite-app.css.map +0 -1
  48. package/dist/projects/lite/src/polyfills.d.ts +0 -2
  49. package/dist/scripts/0.chunk.js +0 -308
  50. package/dist/scripts/0.chunk.js.map +0 -1
  51. package/dist/scripts/1.chunk.js +0 -623
  52. package/dist/scripts/1.chunk.js.map +0 -1
  53. package/dist/scripts/10.chunk.js +0 -530
  54. package/dist/scripts/10.chunk.js.map +0 -1
  55. package/dist/scripts/11.chunk.js +0 -380
  56. package/dist/scripts/11.chunk.js.map +0 -1
  57. package/dist/scripts/12.chunk.js +0 -434
  58. package/dist/scripts/12.chunk.js.map +0 -1
  59. package/dist/scripts/13.chunk.js +0 -1287
  60. package/dist/scripts/13.chunk.js.map +0 -1
  61. package/dist/scripts/14.chunk.js +0 -575
  62. package/dist/scripts/14.chunk.js.map +0 -1
  63. package/dist/scripts/15.chunk.js +0 -806
  64. package/dist/scripts/15.chunk.js.map +0 -1
  65. package/dist/scripts/16.chunk.js +0 -482
  66. package/dist/scripts/16.chunk.js.map +0 -1
  67. package/dist/scripts/17.chunk.js +0 -428
  68. package/dist/scripts/17.chunk.js.map +0 -1
  69. package/dist/scripts/18.chunk.js +0 -766
  70. package/dist/scripts/18.chunk.js.map +0 -1
  71. package/dist/scripts/19.chunk.js +0 -647
  72. package/dist/scripts/19.chunk.js.map +0 -1
  73. package/dist/scripts/2.chunk.js +0 -18882
  74. package/dist/scripts/2.chunk.js.map +0 -1
  75. package/dist/scripts/20.chunk.js +0 -212
  76. package/dist/scripts/20.chunk.js.map +0 -1
  77. package/dist/scripts/21.chunk.js +0 -1591
  78. package/dist/scripts/21.chunk.js.map +0 -1
  79. package/dist/scripts/22.chunk.js +0 -1348
  80. package/dist/scripts/22.chunk.js.map +0 -1
  81. package/dist/scripts/23.chunk.js +0 -1181
  82. package/dist/scripts/23.chunk.js.map +0 -1
  83. package/dist/scripts/24.chunk.js +0 -1141
  84. package/dist/scripts/24.chunk.js.map +0 -1
  85. package/dist/scripts/25.chunk.js +0 -907
  86. package/dist/scripts/25.chunk.js.map +0 -1
  87. package/dist/scripts/26.chunk.js +0 -979
  88. package/dist/scripts/26.chunk.js.map +0 -1
  89. package/dist/scripts/27.chunk.js +0 -655
  90. package/dist/scripts/27.chunk.js.map +0 -1
  91. package/dist/scripts/28.chunk.js +0 -615
  92. package/dist/scripts/28.chunk.js.map +0 -1
  93. package/dist/scripts/29.chunk.js +0 -622
  94. package/dist/scripts/29.chunk.js.map +0 -1
  95. package/dist/scripts/3.chunk.js +0 -809
  96. package/dist/scripts/3.chunk.js.map +0 -1
  97. package/dist/scripts/30.chunk.js +0 -468
  98. package/dist/scripts/30.chunk.js.map +0 -1
  99. package/dist/scripts/31.chunk.js +0 -441
  100. package/dist/scripts/31.chunk.js.map +0 -1
  101. package/dist/scripts/32.chunk.js +0 -509
  102. package/dist/scripts/32.chunk.js.map +0 -1
  103. package/dist/scripts/33.chunk.js +0 -957
  104. package/dist/scripts/33.chunk.js.map +0 -1
  105. package/dist/scripts/34.chunk.js +0 -502
  106. package/dist/scripts/34.chunk.js.map +0 -1
  107. package/dist/scripts/35.chunk.js +0 -938
  108. package/dist/scripts/35.chunk.js.map +0 -1
  109. package/dist/scripts/36.chunk.js +0 -537
  110. package/dist/scripts/36.chunk.js.map +0 -1
  111. package/dist/scripts/37.chunk.js +0 -414
  112. package/dist/scripts/37.chunk.js.map +0 -1
  113. package/dist/scripts/38.chunk.js +0 -245
  114. package/dist/scripts/38.chunk.js.map +0 -1
  115. package/dist/scripts/39.chunk.js +0 -337
  116. package/dist/scripts/39.chunk.js.map +0 -1
  117. package/dist/scripts/4.chunk.js +0 -402
  118. package/dist/scripts/4.chunk.js.map +0 -1
  119. package/dist/scripts/40.chunk.js +0 -350
  120. package/dist/scripts/40.chunk.js.map +0 -1
  121. package/dist/scripts/41.chunk.js +0 -343
  122. package/dist/scripts/41.chunk.js.map +0 -1
  123. package/dist/scripts/42.chunk.js +0 -404
  124. package/dist/scripts/42.chunk.js.map +0 -1
  125. package/dist/scripts/43.chunk.js +0 -221
  126. package/dist/scripts/43.chunk.js.map +0 -1
  127. package/dist/scripts/44.chunk.js +0 -230
  128. package/dist/scripts/44.chunk.js.map +0 -1
  129. package/dist/scripts/45.chunk.js +0 -409
  130. package/dist/scripts/45.chunk.js.map +0 -1
  131. package/dist/scripts/46.chunk.js +0 -272
  132. package/dist/scripts/46.chunk.js.map +0 -1
  133. package/dist/scripts/47.chunk.js +0 -267
  134. package/dist/scripts/47.chunk.js.map +0 -1
  135. package/dist/scripts/48.chunk.js +0 -359
  136. package/dist/scripts/48.chunk.js.map +0 -1
  137. package/dist/scripts/49.chunk.js +0 -225
  138. package/dist/scripts/49.chunk.js.map +0 -1
  139. package/dist/scripts/5.chunk.js +0 -1104
  140. package/dist/scripts/5.chunk.js.map +0 -1
  141. package/dist/scripts/50.chunk.js +0 -318
  142. package/dist/scripts/50.chunk.js.map +0 -1
  143. package/dist/scripts/51.chunk.js +0 -64
  144. package/dist/scripts/51.chunk.js.map +0 -1
  145. package/dist/scripts/52.chunk.js +0 -108
  146. package/dist/scripts/52.chunk.js.map +0 -1
  147. package/dist/scripts/53.chunk.js +0 -110
  148. package/dist/scripts/53.chunk.js.map +0 -1
  149. package/dist/scripts/54.chunk.js +0 -162
  150. package/dist/scripts/54.chunk.js.map +0 -1
  151. package/dist/scripts/55.chunk.js +0 -145
  152. package/dist/scripts/55.chunk.js.map +0 -1
  153. package/dist/scripts/56.chunk.js +0 -139
  154. package/dist/scripts/56.chunk.js.map +0 -1
  155. package/dist/scripts/57.chunk.js +0 -142
  156. package/dist/scripts/57.chunk.js.map +0 -1
  157. package/dist/scripts/58.chunk.js +0 -173
  158. package/dist/scripts/58.chunk.js.map +0 -1
  159. package/dist/scripts/59.chunk.js +0 -160
  160. package/dist/scripts/59.chunk.js.map +0 -1
  161. package/dist/scripts/6.chunk.js +0 -335
  162. package/dist/scripts/6.chunk.js.map +0 -1
  163. package/dist/scripts/60.chunk.js +0 -98
  164. package/dist/scripts/60.chunk.js.map +0 -1
  165. package/dist/scripts/61.chunk.js +0 -48
  166. package/dist/scripts/61.chunk.js.map +0 -1
  167. package/dist/scripts/62.chunk.js +0 -70
  168. package/dist/scripts/62.chunk.js.map +0 -1
  169. package/dist/scripts/63.chunk.js +0 -32
  170. package/dist/scripts/63.chunk.js.map +0 -1
  171. package/dist/scripts/64.chunk.js +0 -29
  172. package/dist/scripts/64.chunk.js.map +0 -1
  173. package/dist/scripts/65.chunk.js +0 -27
  174. package/dist/scripts/65.chunk.js.map +0 -1
  175. package/dist/scripts/66.chunk.js +0 -65
  176. package/dist/scripts/66.chunk.js.map +0 -1
  177. package/dist/scripts/67.chunk.js +0 -67
  178. package/dist/scripts/67.chunk.js.map +0 -1
  179. package/dist/scripts/68.chunk.js +0 -104
  180. package/dist/scripts/68.chunk.js.map +0 -1
  181. package/dist/scripts/69.chunk.js +0 -89
  182. package/dist/scripts/69.chunk.js.map +0 -1
  183. package/dist/scripts/7.chunk.js +0 -2579
  184. package/dist/scripts/7.chunk.js.map +0 -1
  185. package/dist/scripts/70.chunk.js +0 -1001
  186. package/dist/scripts/70.chunk.js.map +0 -1
  187. package/dist/scripts/71.chunk.js +0 -36
  188. package/dist/scripts/71.chunk.js.map +0 -1
  189. package/dist/scripts/8.chunk.js +0 -24
  190. package/dist/scripts/8.chunk.js.map +0 -1
  191. package/dist/scripts/9.chunk.js +0 -327
  192. package/dist/scripts/9.chunk.js.map +0 -1
  193. package/dist/scripts/bundle.js +0 -38145
  194. package/dist/scripts/bundle.js.map +0 -1
  195. package/dist/scripts/polyfills.js +0 -15232
  196. package/dist/scripts/polyfills.js.map +0 -1
@@ -1,343 +0,0 @@
1
- (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[41],{
2
-
3
- /***/ "./src/apps/classrooms/views/add-students-to-classroom/AddStudentsToClassroomView.tsx":
4
- /*!********************************************************************************************!*\
5
- !*** ./src/apps/classrooms/views/add-students-to-classroom/AddStudentsToClassroomView.tsx ***!
6
- \********************************************************************************************/
7
- /*! exports provided: AddStudentsToClassroomView */
8
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
9
-
10
- "use strict";
11
- __webpack_require__.r(__webpack_exports__);
12
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "AddStudentsToClassroomView", function() { return AddStudentsToClassroomView; });
13
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
14
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
15
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "react-redux");
16
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_redux__WEBPACK_IMPORTED_MODULE_1__);
17
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
18
- /* harmony import */ var _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react */ "../../libs/common/src/react/index.ts");
19
- /* harmony import */ var _libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/popup/Popup */ "../../libs/shared/src/components/popup/Popup.tsx");
20
- /* harmony import */ var _libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/hooks/UseAlerts */ "../../libs/shared/src/hooks/UseAlerts.ts");
21
- /* harmony import */ var _libs_shared_src_components_popup_PopupButtons__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/popup/PopupButtons */ "../../libs/shared/src/components/popup/PopupButtons.tsx");
22
- /* harmony import */ var _libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/text/Text */ "../../libs/shared/src/components/text/Text.tsx");
23
- /* harmony import */ var _libs_shared_src_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/app-link/AppLink */ "../../libs/shared/src/components/app-link/AppLink.tsx");
24
- /* harmony import */ var shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! shared/constants/LiteRadioChannels */ "./src/shared/constants/LiteRadioChannels.ts");
25
- /* harmony import */ var shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! shared/constants/LiteActions */ "./src/shared/constants/LiteActions.ts");
26
- /* harmony import */ var shared_components_share_tokenized_typeahead_TokenizedTypeahead__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! shared/components/share/tokenized-typeahead/TokenizedTypeahead */ "./src/shared/components/share/tokenized-typeahead/TokenizedTypeahead.tsx");
27
- /* harmony import */ var apps_classrooms_flight_requests_ClassroomRequests__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! apps/classrooms/flight-requests/ClassroomRequests */ "./src/apps/classrooms/flight-requests/ClassroomRequests.ts");
28
- /* harmony import */ var apps_user_manager_flight_requests_SchoolUserRequests__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! apps/user-manager/flight-requests/SchoolUserRequests */ "./src/apps/user-manager/flight-requests/SchoolUserRequests.ts");
29
- /* harmony import */ var _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../../../../../../libs/analytics/src/AnalyticsHelper */ "../../libs/analytics/src/AnalyticsHelper.ts");
30
- function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
31
-
32
- function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
33
-
34
- function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && Symbol.iterator in Object(iter)) return Array.from(iter); }
35
-
36
- function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
37
-
38
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
39
-
40
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
41
-
42
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
43
-
44
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
45
-
46
- function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
47
-
48
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
49
-
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
-
58
-
59
-
60
-
61
-
62
-
63
-
64
-
65
- var namespace = 'classrooms.addStudentsToClassroom';
66
- var getPhrase = _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].encloseNamespace(namespace);
67
- var studentManagerAppLink = {
68
- application: shared_constants_LiteRadioChannels__WEBPACK_IMPORTED_MODULE_9__["AppChannels"].USER_MANAGER,
69
- action: shared_constants_LiteActions__WEBPACK_IMPORTED_MODULE_10__["Actions"].UserManager.STUDENTS
70
- };
71
- function AddStudentsToClassroomView(props) {
72
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_0___default.a.useState(false),
73
- _React$useState2 = _slicedToArray(_React$useState, 2),
74
- showButtonSpinner = _React$useState2[0],
75
- setShowButtonSpinner = _React$useState2[1];
76
-
77
- var _React$useState3 = react__WEBPACK_IMPORTED_MODULE_0___default.a.useState([]),
78
- _React$useState4 = _slicedToArray(_React$useState3, 2),
79
- selections = _React$useState4[0],
80
- setSelections = _React$useState4[1];
81
-
82
- var classroom = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].useBasicFetch(apps_classrooms_flight_requests_ClassroomRequests__WEBPACK_IMPORTED_MODULE_12__["ClassroomRequests"].getClassroom(props.classroomId)); // Temp until we have instant search endpoint for users set up
83
-
84
- var students = _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].useBasicFetch(apps_user_manager_flight_requests_SchoolUserRequests__WEBPACK_IMPORTED_MODULE_13__["SchoolUserRequests"].tempGetAllStudents());
85
- var dispatch = Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["useDispatch"])();
86
- var alerts = Object(_libs_shared_src_hooks_UseAlerts__WEBPACK_IMPORTED_MODULE_5__["useAlerts"])();
87
-
88
- function addStudents() {
89
- if (!selections) return;
90
- setShowButtonSpinner(true);
91
- _libs_common_src_react__WEBPACK_IMPORTED_MODULE_3__["Flight"].fetch(dispatch, apps_classrooms_flight_requests_ClassroomRequests__WEBPACK_IMPORTED_MODULE_12__["ClassroomRequests"].addStudents(selections, props.classroomId, function () {
92
- setShowButtonSpinner(false);
93
- _libs_analytics_src_AnalyticsHelper__WEBPACK_IMPORTED_MODULE_14__["AnalyticsHelper"].logUserAction({
94
- id: props.classroomId,
95
- userCount: selections.length
96
- }, props.analyticsOptions);
97
- alerts.success(getPhrase('success', {
98
- smartCount: selections.length,
99
- classroomName: classroom.data.name
100
- }));
101
- props.closePopup();
102
- }, function () {
103
- setShowButtonSpinner(false);
104
- alerts.error(getPhrase('error', {
105
- smartCount: selections.length
106
- }));
107
- props.closePopup();
108
- }));
109
- }
110
-
111
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_popup_Popup__WEBPACK_IMPORTED_MODULE_4__["Popup"], {
112
- title: getPhrase('title'),
113
- closePopup: props.closePopup,
114
- showLoadingSpinner: !classroom.data || !students.data
115
- }, classroom.data && students.data && react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(react__WEBPACK_IMPORTED_MODULE_0___default.a.Fragment, null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
116
- className: 'pb-3'
117
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(shared_components_share_tokenized_typeahead_TokenizedTypeahead__WEBPACK_IMPORTED_MODULE_11__["TokenizedTypeahead"], {
118
- placeholder: getPhrase('placeholder'),
119
- selections: selections,
120
- updateSelections: function updateSelections(student) {
121
- return setSelections([].concat(_toConsumableArray(selections), [student]));
122
- },
123
- removeSelection: function removeSelection(id) {
124
- return setSelections(selections.filter(function (s) {
125
- return s.id !== id;
126
- }));
127
- },
128
- localSuggestions: students.data
129
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_7__["Text"], {
130
- namespace: namespace,
131
- phrase: 'createNewStudent'
132
- }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_app_link_AppLink__WEBPACK_IMPORTED_MODULE_8__["AppLink"], {
133
- className: 'info-link',
134
- onClick: props.closePopup,
135
- appLink: studentManagerAppLink
136
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_text_Text__WEBPACK_IMPORTED_MODULE_7__["Text"], {
137
- namespace: namespace,
138
- phrase: 'studentManager'
139
- }))), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_popup_PopupButtons__WEBPACK_IMPORTED_MODULE_6__["PopupButtons"], {
140
- buttons: [{
141
- variant: 'link',
142
- onClick: props.closePopup,
143
- buttonText: getPhrase('cancel')
144
- }, {
145
- variant: 'dark',
146
- onClick: addStudents,
147
- buttonText: getPhrase('add'),
148
- isSpinnerButton: true,
149
- showSpinner: showButtonSpinner
150
- }]
151
- })));
152
- }
153
-
154
- /***/ }),
155
-
156
- /***/ "./src/shared/components/share/sharee-item/ShareeItem.tsx":
157
- /*!****************************************************************!*\
158
- !*** ./src/shared/components/share/sharee-item/ShareeItem.tsx ***!
159
- \****************************************************************/
160
- /*! exports provided: ShareeItem */
161
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
162
-
163
- "use strict";
164
- __webpack_require__.r(__webpack_exports__);
165
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "ShareeItem", function() { return ShareeItem; });
166
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
167
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
168
- /* harmony import */ var shared_components_avatar_Avatar__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! shared/components/avatar/Avatar */ "./src/shared/components/avatar/Avatar.tsx");
169
-
170
-
171
- function ShareeItem(props) {
172
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
173
- className: 'd-flex align-items-center'
174
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
175
- className: 'pr-2'
176
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(shared_components_avatar_Avatar__WEBPACK_IMPORTED_MODULE_1__["Avatar"], {
177
- imageUrl: ''
178
- })), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("h4", {
179
- className: 'font-size-normal font-weight-normal m-0'
180
- }, props.entity.name), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("p", {
181
- className: 'text-muted m-0'
182
- }, "Email or classroom count here idk")), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", null));
183
- }
184
-
185
- /***/ }),
186
-
187
- /***/ "./src/shared/components/share/tokenized-typeahead/InputSelection.tsx":
188
- /*!****************************************************************************!*\
189
- !*** ./src/shared/components/share/tokenized-typeahead/InputSelection.tsx ***!
190
- \****************************************************************************/
191
- /*! exports provided: InputSelection */
192
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
193
-
194
- "use strict";
195
- __webpack_require__.r(__webpack_exports__);
196
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "InputSelection", function() { return InputSelection; });
197
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
198
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
199
- /* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
200
- /* harmony import */ var _libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
201
- /* harmony import */ var _libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/div-button/DivButton */ "../../libs/shared/src/components/div-button/DivButton.tsx");
202
- /* harmony import */ var _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./tokenized-typeahead.scss */ "./src/shared/components/share/tokenized-typeahead/tokenized-typeahead.scss");
203
- /* harmony import */ var _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_4__);
204
-
205
-
206
-
207
-
208
-
209
-
210
- function mapEntityTypeToBackgroundColor(entityType) {
211
- switch (entityType) {
212
- case 'user':
213
- {
214
- return _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_4___default.a.selectedUser;
215
- }
216
-
217
- case 'classroom':
218
- {
219
- return _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_4___default.a.selectedClassroom;
220
- }
221
- }
222
- }
223
-
224
- function InputSelection(props) {
225
- var colourClass = mapEntityTypeToBackgroundColor('user');
226
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
227
- className: "".concat(colourClass, " d-flex align-items-center pl-2 pr-1 mr-1 mt-1")
228
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("span", {
229
- className: 'mr-1'
230
- }, props.selection.name), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_div_button_DivButton__WEBPACK_IMPORTED_MODULE_3__["DivButton"], {
231
- className: 'cursor-pointer',
232
- onClick: function onClick() {
233
- return props.onClickRemove(props.selection.id);
234
- }
235
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_2__["SvgContainer"], {
236
- svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_1__["cvSvgLibrary"].Close
237
- })));
238
- }
239
-
240
- /***/ }),
241
-
242
- /***/ "./src/shared/components/share/tokenized-typeahead/TokenizedTypeahead.tsx":
243
- /*!********************************************************************************!*\
244
- !*** ./src/shared/components/share/tokenized-typeahead/TokenizedTypeahead.tsx ***!
245
- \********************************************************************************/
246
- /*! exports provided: TokenizedTypeahead */
247
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
248
-
249
- "use strict";
250
- __webpack_require__.r(__webpack_exports__);
251
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "TokenizedTypeahead", function() { return TokenizedTypeahead; });
252
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
253
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
254
- /* harmony import */ var _libs_common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../../../../../../libs/common/src/react/utils/ArrayHelper */ "../../libs/common/src/react/utils/ArrayHelper.ts");
255
- /* harmony import */ var _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../../../libs/common/src/backbone/services/LanguageService */ "../../libs/common/src/backbone/services/LanguageService.tsx");
256
- /* harmony import */ var _libs_shared_src_components_search_bar_SearchBar__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/search-bar/SearchBar */ "../../libs/shared/src/components/search-bar/SearchBar.tsx");
257
- /* harmony import */ var _libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/components/svg-container/SvgContainer */ "../../libs/shared/src/components/svg-container/SvgContainer.tsx");
258
- /* harmony import */ var _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../../../../../../libs/shared/src/utils/SvgHelper */ "../../libs/shared/src/utils/SvgHelper.ts");
259
- /* harmony import */ var shared_components_share_sharee_item_ShareeItem__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! shared/components/share/sharee-item/ShareeItem */ "./src/shared/components/share/sharee-item/ShareeItem.tsx");
260
- /* harmony import */ var _InputSelection__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./InputSelection */ "./src/shared/components/share/tokenized-typeahead/InputSelection.tsx");
261
- /* harmony import */ var _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./tokenized-typeahead.scss */ "./src/shared/components/share/tokenized-typeahead/tokenized-typeahead.scss");
262
- /* harmony import */ var _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_8__);
263
-
264
-
265
-
266
-
267
-
268
-
269
-
270
-
271
-
272
- var namespace = 'shared.tokenizedTypeahead';
273
- /**
274
- * This component extends the functionality of the `SearchBar` component by
275
- * displaying a list of selections as tokens inside the search bar.
276
- *
277
- * Any component using this component is responsible for managing the state of
278
- * these tokens (selections). See `MainShareView` for an example.
279
- */
280
-
281
- function TokenizedTypeahead(props) {
282
- function onSuggestionSelected(suggestion) {
283
- props.updateSelections(suggestion);
284
- }
285
-
286
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
287
- className: 'form-control h-auto d-flex flex-wrap align-items-center py-1 px-0 position-relative'
288
- }, react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_svg_container_SvgContainer__WEBPACK_IMPORTED_MODULE_4__["SvgContainer"], {
289
- className: 'svg-container mx-1 h-100 align-self-start',
290
- svgName: _libs_shared_src_utils_SvgHelper__WEBPACK_IMPORTED_MODULE_5__["cvSvgLibrary"].Search
291
- }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement("div", {
292
- className: "".concat(_tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_8___default.a.selectionContainer, " d-flex flex-wrap align-items-center mt-n1")
293
- }, props.selections.map(function (s) {
294
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_InputSelection__WEBPACK_IMPORTED_MODULE_7__["InputSelection"], {
295
- key: s.id,
296
- selection: s,
297
- onClickRemove: function onClickRemove(id) {
298
- return props.removeSelection(id);
299
- }
300
- });
301
- }), react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(_libs_shared_src_components_search_bar_SearchBar__WEBPACK_IMPORTED_MODULE_3__["SearchBar"], {
302
- onSuggestionSelected: onSuggestionSelected,
303
- onBackspace: function onBackspace() {
304
- return props.removeSelection(_libs_common_src_react_utils_ArrayHelper__WEBPACK_IMPORTED_MODULE_1__["ArrayHelper"].last(props.selections).id);
305
- },
306
- local: props.localSuggestions,
307
- recentSearchHeading: props.recentSearchHeading || _libs_common_src_backbone_services_LanguageService__WEBPACK_IMPORTED_MODULE_2__["LanguageService"].getPhrase(namespace, 'recentSearchHeading'),
308
- recentSearches: [],
309
- placeholder: props.placeholder,
310
- searchIconPlacement: false,
311
- activationLength: 2,
312
- clearQueryOnSelect: true,
313
- getSuggestionComponent: function getSuggestionComponent(suggestion) {
314
- return react__WEBPACK_IMPORTED_MODULE_0___default.a.createElement(shared_components_share_sharee_item_ShareeItem__WEBPACK_IMPORTED_MODULE_6__["ShareeItem"], {
315
- entity: suggestion
316
- });
317
- },
318
- theme: {
319
- container: _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_8___default.a.container,
320
- suggestionsContainerOpen: "bg-white py-1 rounded border mt-1 ".concat(_tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_8___default.a.suggestionsContainerOpen),
321
- suggestionsList: 'list-unstyled m-0',
322
- suggestion: 'cursor-pointer py-1 px-2',
323
- suggestionHighlighted: _tokenized_typeahead_scss__WEBPACK_IMPORTED_MODULE_8___default.a.suggestionHighlighted
324
- }
325
- })));
326
- }
327
-
328
- /***/ }),
329
-
330
- /***/ "./src/shared/components/share/tokenized-typeahead/tokenized-typeahead.scss":
331
- /*!**********************************************************************************!*\
332
- !*** ./src/shared/components/share/tokenized-typeahead/tokenized-typeahead.scss ***!
333
- \**********************************************************************************/
334
- /*! no static exports found */
335
- /***/ (function(module, exports, __webpack_require__) {
336
-
337
- // extracted by mini-css-extract-plugin
338
- module.exports = {"container":"cv--container--16rdL","suggestionsContainerOpen":"cv--suggestionsContainerOpen--2886c","selectionContainer":"cv--selectionContainer--12TCg","suggestionHighlighted":"cv--suggestionHighlighted--3HZFR","selectedUser":"cv--selectedUser--3NTEb","selectedClassroom":"cv--selectedClassroom--x8G1B"};
339
-
340
- /***/ })
341
-
342
- }]);
343
- //# sourceMappingURL=41.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/projects/lite/src/apps/classrooms/views/add-students-to-classroom/AddStudentsToClassroomView.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/share/sharee-item/ShareeItem.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/share/tokenized-typeahead/InputSelection.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/share/tokenized-typeahead/TokenizedTypeahead.tsx","webpack://@clickview/lite/./src/shared/components/share/tokenized-typeahead/tokenized-typeahead.scss?a264"],"names":[],"mappings":"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","file":"scripts/41.chunk.js","sourcesContent":["import React from 'react';\r\nimport { useDispatch } from 'react-redux';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { Popup } from 'libs/shared/components/popup/Popup';\r\nimport { PopupViewProps, PropsWithAnalyticsOptions, PropsWithPopupViewProps } from 'libs/shared/interfaces';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { AppLink } from 'libs/shared/components/app-link/AppLink';\r\n\r\nimport { AppChannels } from 'shared/constants/LiteRadioChannels';\r\nimport { Actions } from 'shared/constants/LiteActions';\r\nimport { TokenizedTypeahead } from 'shared/components/share/tokenized-typeahead/TokenizedTypeahead';\r\n\r\nimport { MockClassroom } from 'apps/user-manager/interfaces/mocks/MockClassroom';\r\nimport { ClassroomRequests } from 'apps/classrooms/flight-requests/ClassroomRequests';\r\nimport { MockStudent } from 'apps/user-manager/interfaces';\r\nimport { SchoolUserRequests } from 'apps/user-manager/flight-requests/SchoolUserRequests';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\n\r\nconst namespace = 'classrooms.addStudentsToClassroom';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\nconst studentManagerAppLink = {\r\n application: AppChannels.USER_MANAGER,\r\n action: Actions.UserManager.STUDENTS\r\n};\r\n\r\ntype AddStudentsToClassroomViewProps = PropsWithAnalyticsOptions<PropsWithPopupViewProps<{\r\n classroomId: string;\r\n}>>;\r\n\r\nexport function AddStudentsToClassroomView(props: AddStudentsToClassroomViewProps): JSX.Element {\r\n const [ showButtonSpinner, setShowButtonSpinner ] = React.useState(false);\r\n\r\n const [ selections, setSelections ] = React.useState<MockStudent[]>([]);\r\n\r\n const classroom = Flight.useBasicFetch<MockClassroom>(ClassroomRequests.getClassroom(props.classroomId));\r\n // Temp until we have instant search endpoint for users set up\r\n const students = Flight.useBasicFetch<MockStudent[]>(SchoolUserRequests.tempGetAllStudents());\r\n\r\n const dispatch = useDispatch();\r\n const alerts = useAlerts();\r\n\r\n function addStudents(): void {\r\n if (!selections)\r\n return;\r\n\r\n setShowButtonSpinner(true);\r\n\r\n Flight.fetch(dispatch, ClassroomRequests.addStudents(selections, props.classroomId, () => {\r\n setShowButtonSpinner(false);\r\n\r\n AnalyticsHelper.logUserAction({\r\n id: props.classroomId,\r\n userCount: selections.length\r\n }, props.analyticsOptions);\r\n\r\n alerts.success(getPhrase('success', {\r\n smartCount: selections.length,\r\n classroomName: classroom.data.name\r\n }));\r\n\r\n props.closePopup();\r\n }, () => {\r\n setShowButtonSpinner(false);\r\n alerts.error(getPhrase('error', { smartCount: selections.length }));\r\n props.closePopup();\r\n }));\r\n }\r\n\r\n return (\r\n <Popup\r\n title={getPhrase('title')}\r\n closePopup={props.closePopup}\r\n showLoadingSpinner={!classroom.data || !students.data}\r\n >\r\n {(classroom.data && students.data) &&\r\n <>\r\n <div className='pb-3'>\r\n <TokenizedTypeahead\r\n placeholder={getPhrase('placeholder')}\r\n selections={selections}\r\n updateSelections={(student: MockStudent) => setSelections([ ...selections, student ])}\r\n removeSelection={id => setSelections(selections.filter(s => s.id !== id))}\r\n localSuggestions={students.data}\r\n />\r\n </div>\r\n\r\n <p>\r\n <Text namespace={namespace} phrase='createNewStudent' />\r\n <AppLink className='info-link' onClick={props.closePopup} appLink={studentManagerAppLink}>\r\n <Text namespace={namespace} phrase='studentManager' />\r\n </AppLink>\r\n </p>\r\n\r\n <PopupButtons buttons={\r\n [\r\n {\r\n variant: 'link',\r\n onClick: props.closePopup,\r\n buttonText: getPhrase('cancel')\r\n },\r\n {\r\n variant: 'dark',\r\n onClick: addStudents,\r\n buttonText: getPhrase('add'),\r\n isSpinnerButton: true,\r\n showSpinner: showButtonSpinner\r\n }\r\n ]\r\n }/>\r\n </>\r\n }\r\n </Popup>\r\n );\r\n}","import React from 'react';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { Avatar } from 'shared/components/avatar/Avatar';\r\n\r\ninterface ShareeItemProps {\r\n entity: BaseObject;\r\n}\r\n\r\nexport function ShareeItem(props: ShareeItemProps): JSX.Element {\r\n return (\r\n <div className='d-flex align-items-center'>\r\n <div className='pr-2'>\r\n {/* TODO: Add avatar to user and classroom models? */}\r\n <Avatar imageUrl='' />\r\n </div>\r\n\r\n <div>\r\n <h4 className='font-size-normal font-weight-normal m-0'>{props.entity.name}</h4>\r\n <p className='text-muted m-0'>Email or classroom count here idk</p>\r\n </div>\r\n\r\n <div>\r\n\r\n </div>\r\n </div>\r\n );\r\n}","import React from 'react';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\nimport styles from './tokenized-typeahead.scss';\r\n\r\nfunction mapEntityTypeToBackgroundColor(entityType: string): string {\r\n switch (entityType) {\r\n case 'user': {\r\n return styles.selectedUser;\r\n }\r\n\r\n case 'classroom': {\r\n return styles.selectedClassroom;\r\n }\r\n }\r\n}\r\n\r\ninterface InputSelectionProps {\r\n selection: BaseObject;\r\n onClickRemove: (id: string) => void;\r\n}\r\n\r\nexport function InputSelection(props: InputSelectionProps): JSX.Element {\r\n const colourClass = mapEntityTypeToBackgroundColor('user');\r\n\r\n return (\r\n <div className={`${colourClass} d-flex align-items-center pl-2 pr-1 mr-1 mt-1`}>\r\n <span className='mr-1'>{props.selection.name}</span>\r\n\r\n <DivButton className='cursor-pointer' onClick={() => props.onClickRemove(props.selection.id)}>\r\n <SvgContainer svgName={cvSvgLibrary.Close} />\r\n </DivButton>\r\n </div>\r\n );\r\n}","import React from 'react';\r\n\r\nimport { ArrayHelper } from 'libs/common/react/utils/ArrayHelper';\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { BaseObject } from 'libs/shared/interfaces';\r\nimport { SearchBar } from 'libs/shared/components/search-bar/SearchBar';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\n\r\nimport { ShareeItem } from 'shared/components/share/sharee-item/ShareeItem';\r\nimport { InputSelection } from './InputSelection';\r\n\r\nimport styles from './tokenized-typeahead.scss';\r\n\r\nconst namespace = 'shared.tokenizedTypeahead';\r\n\r\ninterface TokenizedTypeaheadProps {\r\n placeholder: string;\r\n selections: BaseObject[];\r\n updateSelections: (suggestion: BaseObject) => void;\r\n removeSelection: (id: string) => void;\r\n recentSearchHeading?: string;\r\n endpoint?: string;\r\n localSuggestions?: BaseObject[];\r\n}\r\n\r\n/**\r\n * This component extends the functionality of the `SearchBar` component by\r\n * displaying a list of selections as tokens inside the search bar.\r\n * \r\n * Any component using this component is responsible for managing the state of\r\n * these tokens (selections). See `MainShareView` for an example.\r\n */\r\nexport function TokenizedTypeahead(props: TokenizedTypeaheadProps): JSX.Element {\r\n function onSuggestionSelected(suggestion: any): void {\r\n props.updateSelections(suggestion);\r\n }\r\n\r\n return (\r\n <div className='form-control h-auto d-flex flex-wrap align-items-center py-1 px-0 position-relative'>\r\n <SvgContainer className='svg-container mx-1 h-100 align-self-start' svgName={cvSvgLibrary.Search} />\r\n\r\n <div className={`${styles.selectionContainer} d-flex flex-wrap align-items-center mt-n1`}>\r\n {props.selections.map(s => (\r\n <InputSelection\r\n key={s.id}\r\n selection={s}\r\n onClickRemove={(id: string) => props.removeSelection(id)}\r\n />\r\n ))}\r\n\r\n <SearchBar\r\n onSuggestionSelected={onSuggestionSelected}\r\n onBackspace={() => props.removeSelection(ArrayHelper.last(props.selections).id)}\r\n local={props.localSuggestions}\r\n recentSearchHeading={props.recentSearchHeading || LanguageService.getPhrase(namespace, 'recentSearchHeading')}\r\n recentSearches={[]}\r\n placeholder={props.placeholder}\r\n searchIconPlacement={false}\r\n activationLength={2}\r\n clearQueryOnSelect\r\n getSuggestionComponent={suggestion => <ShareeItem entity={suggestion} />}\r\n theme={{\r\n container: styles.container,\r\n suggestionsContainerOpen: `bg-white py-1 rounded border mt-1 ${styles.suggestionsContainerOpen}`,\r\n suggestionsList: 'list-unstyled m-0',\r\n suggestion: 'cursor-pointer py-1 px-2',\r\n suggestionHighlighted: styles.suggestionHighlighted\r\n }}\r\n />\r\n </div>\r\n </div>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"container\":\"cv--container--16rdL\",\"suggestionsContainerOpen\":\"cv--suggestionsContainerOpen--2886c\",\"selectionContainer\":\"cv--selectionContainer--12TCg\",\"suggestionHighlighted\":\"cv--suggestionHighlighted--3HZFR\",\"selectedUser\":\"cv--selectedUser--3NTEb\",\"selectedClassroom\":\"cv--selectedClassroom--x8G1B\"};"],"sourceRoot":""}