@clickview/lite 0.0.23-rc.1 → 0.0.23-rc.2

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 (306) hide show
  1. package/dist/css/12.chunk.css +2 -0
  2. package/dist/css/17.chunk.css +0 -2
  3. package/dist/css/27.chunk.css +1 -3
  4. package/dist/css/28.chunk.css +5 -1
  5. package/dist/css/29.chunk.css +2 -2
  6. package/dist/css/31.chunk.css +1 -1
  7. package/dist/css/4.chunk.css +5 -13
  8. package/dist/css/5.chunk.css +15 -1
  9. package/dist/css/6.chunk.css +2 -8
  10. package/dist/css/lite-app.css +1 -1
  11. package/dist/en.json +1 -1
  12. package/dist/libs/common/src/react/utils/ArrayHelper.d.ts +2 -1
  13. package/dist/libs/common/src/react/utils/TextHelper.d.ts +2 -1
  14. package/dist/libs/shared/src/interfaces/app-variables/BaseSearchAppVariables.d.ts +1 -0
  15. package/dist/projects/lite/src/apps/classrooms/components/classroom-group-dropdown/ClassroomGroupDropdown.d.ts +1 -1
  16. package/dist/projects/lite/src/apps/classrooms/views/classroom/partial-loading/PartialClassroomView.d.ts +2 -0
  17. package/dist/projects/lite/src/apps/content-updates/components/classification-banner/ClassificationBanner.d.ts +1 -0
  18. package/dist/projects/lite/src/apps/content-updates/views/content-updates/components/ContentUpdateClassification.d.ts +1 -0
  19. package/dist/projects/lite/src/apps/default/LiteDefaultApplication.d.ts +3 -2
  20. package/dist/projects/lite/src/apps/search/constants/SearchAppVariables.d.ts +1 -0
  21. package/dist/projects/lite/src/apps/subjects/views/classification/ClassificationView.d.ts +1 -1
  22. package/dist/projects/lite/src/shared/components/user-options/UserOptions.d.ts +0 -3
  23. package/dist/projects/lite/src/shared/constants/LiteActions.d.ts +2 -0
  24. package/dist/projects/lite/src/shared/layouts/teacher-layout/TeacherLayoutComponent.d.ts +3 -0
  25. package/dist/projects/lite/src/shared/layouts/teacher-layout/TeacherLayoutView.d.ts +4 -0
  26. package/dist/projects/lite/src/shared/utils/LeftNavHelper.d.ts +8 -0
  27. package/dist/projects/lite/src/shared/views/left-nav/CollapsedLeftNav.d.ts +7 -1
  28. package/dist/projects/lite/src/shared/views/left-nav/LeftNavItem.d.ts +1 -1
  29. package/dist/projects/lite/src/shared/views/left-nav/LeftNavView.d.ts +3 -0
  30. package/dist/projects/lite/src/shared/views/share/ShareView.d.ts +1 -1
  31. package/dist/scripts/{0-67b3f46fc8.chunk.js → 0-3ac435a0d9.chunk.js} +1 -1
  32. package/dist/scripts/{1-5f19a96e0e.chunk.js → 1-3f292a18cd.chunk.js} +3 -3
  33. package/dist/scripts/12-bd5994d026.chunk.js +1 -0
  34. package/dist/scripts/13-0f2d2fea7a.chunk.js +1 -0
  35. package/dist/scripts/14-dcef8c860d.chunk.js +1 -0
  36. package/dist/scripts/{15-2011d021b9.chunk.js → 15-4782b350a2.chunk.js} +1 -1
  37. package/dist/scripts/{16-b912423c38.chunk.js → 16-9d15d3f468.chunk.js} +1 -1
  38. package/dist/scripts/17-5b0a1e6d28.chunk.js +1 -0
  39. package/dist/scripts/{18-9d07466886.chunk.js → 18-e0136118cb.chunk.js} +1 -1
  40. package/dist/scripts/{19-c50a6168c8.chunk.js → 19-9d532d87b6.chunk.js} +1 -1
  41. package/dist/scripts/{2-2ff48e444e.chunk.js → 2-e294542d64.chunk.js} +1 -1
  42. package/dist/scripts/{20-581a8ffb67.chunk.js → 20-a60df72914.chunk.js} +1 -1
  43. package/dist/scripts/{21-26262448f5.chunk.js → 21-59933823aa.chunk.js} +1 -1
  44. package/dist/scripts/{22-e6497d8fef.chunk.js → 22-f6e4c8883d.chunk.js} +1 -1
  45. package/dist/scripts/{23-902ca30f69.chunk.js → 23-e2d0905191.chunk.js} +1 -1
  46. package/dist/scripts/{24-4d26b79130.chunk.js → 24-f6d3bb6f39.chunk.js} +1 -1
  47. package/dist/scripts/{25-a38d4e1393.chunk.js → 25-8e6b72fe6e.chunk.js} +1 -1
  48. package/dist/scripts/{26-5a5a45e1d6.chunk.js → 26-5a43c014e9.chunk.js} +1 -1
  49. package/dist/scripts/27-f38b39185c.chunk.js +1 -0
  50. package/dist/scripts/28-5b2ea4de92.chunk.js +1 -0
  51. package/dist/scripts/29-73953da7b5.chunk.js +1 -0
  52. package/dist/scripts/{3-d5221a9d2d.chunk.js → 3-3a39c514e2.chunk.js} +2 -2
  53. package/dist/scripts/{30-e946aed3aa.chunk.js → 30-a4d5655aaf.chunk.js} +1 -1
  54. package/dist/scripts/{31-e8e62cfea0.chunk.js → 31-13ee278855.chunk.js} +1 -1
  55. package/dist/scripts/{32-fc3af72027.chunk.js → 32-ce6806f225.chunk.js} +1 -1
  56. package/dist/scripts/33-b31e36df71.chunk.js +1 -0
  57. package/dist/scripts/{33-7f91f3f41c.chunk.js → 34-cfb99ee559.chunk.js} +1 -1
  58. package/dist/scripts/{34-0f6bc6dc04.chunk.js → 35-1706fa2e22.chunk.js} +1 -1
  59. package/dist/scripts/{35-160480d1da.chunk.js → 36-8c92bb469f.chunk.js} +1 -1
  60. package/dist/scripts/{36-5028449c3b.chunk.js → 37-433c491849.chunk.js} +1 -1
  61. package/dist/scripts/{37-3d565afdb8.chunk.js → 38-a57bf10ece.chunk.js} +1 -1
  62. package/dist/scripts/{38-1797532f35.chunk.js → 39-543287c117.chunk.js} +1 -1
  63. package/dist/scripts/{6-f2c596db09.chunk.js → 4-26346f450b.chunk.js} +1 -1
  64. package/dist/scripts/{39-2fb8001627.chunk.js → 40-c2fe9fa36d.chunk.js} +1 -1
  65. package/dist/scripts/{40-177ad7f140.chunk.js → 41-f8fae002c0.chunk.js} +1 -1
  66. package/dist/scripts/{41-1a7ca66019.chunk.js → 42-6186a3e8d8.chunk.js} +1 -1
  67. package/dist/scripts/{42-41735f1ceb.chunk.js → 43-ebf824a30e.chunk.js} +1 -1
  68. package/dist/scripts/{43-aa46a5f621.chunk.js → 44-ea62f354ed.chunk.js} +1 -1
  69. package/dist/scripts/{44-9f3970130e.chunk.js → 45-b21e7a6721.chunk.js} +1 -1
  70. package/dist/scripts/46-f006a4cb7b.chunk.js +1 -0
  71. package/dist/scripts/{46-f0a73c0963.chunk.js → 47-bcdaef3117.chunk.js} +1 -1
  72. package/dist/scripts/{47-ed0f5b1828.chunk.js → 48-c6bdc4ebbc.chunk.js} +1 -1
  73. package/dist/scripts/{48-e52158a7a0.chunk.js → 49-c6048788d8.chunk.js} +1 -1
  74. package/dist/scripts/{4-8b8017470e.chunk.js → 5-45ea26f2d6.chunk.js} +1 -1
  75. package/dist/scripts/{49-f4dba000fc.chunk.js → 50-0907935873.chunk.js} +1 -1
  76. package/dist/scripts/{50-2facfde5ec.chunk.js → 51-f52d9cf4e5.chunk.js} +1 -1
  77. package/dist/scripts/{51-bc74afef1d.chunk.js → 52-ed2f418592.chunk.js} +1 -1
  78. package/dist/scripts/{52-5670817d08.chunk.js → 53-74f106368f.chunk.js} +1 -1
  79. package/dist/scripts/{53-1386dbe980.chunk.js → 54-ceabccbee0.chunk.js} +1 -1
  80. package/dist/scripts/{54-8a658b2d28.chunk.js → 55-928bc84e37.chunk.js} +1 -1
  81. package/dist/scripts/{55-5fcd7b7d84.chunk.js → 56-155b340ac5.chunk.js} +1 -1
  82. package/dist/scripts/{56-786709a91c.chunk.js → 57-7021c5b171.chunk.js} +1 -1
  83. package/dist/scripts/{57-64e6e879a6.chunk.js → 58-78fb3224c1.chunk.js} +1 -1
  84. package/dist/scripts/{58-cf60d7761f.chunk.js → 59-79ccf1df53.chunk.js} +1 -1
  85. package/dist/scripts/{5-9a2f66f137.chunk.js → 6-610d5469a1.chunk.js} +1 -1
  86. package/dist/scripts/{59-33df1b5304.chunk.js → 60-ba7505371c.chunk.js} +1 -1
  87. package/dist/scripts/{7-f28ac79b56.chunk.js → 7-e93f277b8a.chunk.js} +1 -1
  88. package/dist/scripts/{8-5a53edf883.chunk.js → 8-25ee05ed43.chunk.js} +1 -1
  89. package/dist/scripts/9-583ef67174.chunk.js +1 -0
  90. package/dist/scripts/bundle-f547274977.min.js +8 -0
  91. package/dist/scripts/bundles.json +2 -2
  92. package/dist/scripts/{polyfills-2748f0f59f.min.js → polyfills-21fa14d1c7.min.js} +1 -1
  93. package/package.json +1 -1
  94. package/dist/css/0.chunk.css.map +0 -1
  95. package/dist/css/1.chunk.css +0 -156
  96. package/dist/css/1.chunk.css.map +0 -1
  97. package/dist/css/11.chunk.css +0 -7
  98. package/dist/css/11.chunk.css.map +0 -1
  99. package/dist/css/12.chunk.css.map +0 -1
  100. package/dist/css/13.chunk.css.map +0 -1
  101. package/dist/css/14.chunk.css.map +0 -1
  102. package/dist/css/15.chunk.css.map +0 -1
  103. package/dist/css/16.chunk.css.map +0 -1
  104. package/dist/css/17.chunk.css.map +0 -1
  105. package/dist/css/18.chunk.css.map +0 -1
  106. package/dist/css/2.chunk.css.map +0 -1
  107. package/dist/css/20.chunk.css.map +0 -1
  108. package/dist/css/21.chunk.css.map +0 -1
  109. package/dist/css/22.chunk.css.map +0 -1
  110. package/dist/css/23.chunk.css.map +0 -1
  111. package/dist/css/24.chunk.css.map +0 -1
  112. package/dist/css/25.chunk.css.map +0 -1
  113. package/dist/css/26.chunk.css.map +0 -1
  114. package/dist/css/27.chunk.css.map +0 -1
  115. package/dist/css/28.chunk.css.map +0 -1
  116. package/dist/css/29.chunk.css.map +0 -1
  117. package/dist/css/30.chunk.css +0 -32
  118. package/dist/css/30.chunk.css.map +0 -1
  119. package/dist/css/31.chunk.css.map +0 -1
  120. package/dist/css/32.chunk.css.map +0 -1
  121. package/dist/css/33.chunk.css +0 -8
  122. package/dist/css/33.chunk.css.map +0 -1
  123. package/dist/css/34.chunk.css +0 -6
  124. package/dist/css/34.chunk.css.map +0 -1
  125. package/dist/css/35.chunk.css.map +0 -1
  126. package/dist/css/37.chunk.css +0 -7
  127. package/dist/css/37.chunk.css.map +0 -1
  128. package/dist/css/38.chunk.css +0 -6
  129. package/dist/css/38.chunk.css.map +0 -1
  130. package/dist/css/39.chunk.css +0 -40
  131. package/dist/css/39.chunk.css.map +0 -1
  132. package/dist/css/43.chunk.css +0 -38
  133. package/dist/css/43.chunk.css.map +0 -1
  134. package/dist/css/5.chunk.css.map +0 -1
  135. package/dist/css/52.chunk.css +0 -9
  136. package/dist/css/52.chunk.css.map +0 -1
  137. package/dist/css/6.chunk.css.map +0 -1
  138. package/dist/css/7.chunk.css +0 -94
  139. package/dist/css/7.chunk.css.map +0 -1
  140. package/dist/css/lite-app.css.map +0 -1
  141. package/dist/libs/shared/src/flight-requests/ThemeRequests.d.ts +0 -11
  142. package/dist/projects/lite/src/shared/filters/VerifiedEmailFilter.d.ts +0 -2
  143. package/dist/scripts/0.chunk.js +0 -346
  144. package/dist/scripts/0.chunk.js.map +0 -1
  145. package/dist/scripts/1.chunk.js +0 -656
  146. package/dist/scripts/1.chunk.js.map +0 -1
  147. package/dist/scripts/10.chunk.js +0 -607
  148. package/dist/scripts/10.chunk.js.map +0 -1
  149. package/dist/scripts/11.chunk.js +0 -380
  150. package/dist/scripts/11.chunk.js.map +0 -1
  151. package/dist/scripts/12-850975fdd0.chunk.js +0 -1
  152. package/dist/scripts/12.chunk.js +0 -434
  153. package/dist/scripts/12.chunk.js.map +0 -1
  154. package/dist/scripts/13-12b509ff82.chunk.js +0 -1
  155. package/dist/scripts/13.chunk.js +0 -1287
  156. package/dist/scripts/13.chunk.js.map +0 -1
  157. package/dist/scripts/14-42cdca1382.chunk.js +0 -1
  158. package/dist/scripts/14.chunk.js +0 -739
  159. package/dist/scripts/14.chunk.js.map +0 -1
  160. package/dist/scripts/15.chunk.js +0 -808
  161. package/dist/scripts/15.chunk.js.map +0 -1
  162. package/dist/scripts/16.chunk.js +0 -482
  163. package/dist/scripts/16.chunk.js.map +0 -1
  164. package/dist/scripts/17-5bd773a395.chunk.js +0 -1
  165. package/dist/scripts/17.chunk.js +0 -766
  166. package/dist/scripts/17.chunk.js.map +0 -1
  167. package/dist/scripts/18.chunk.js +0 -647
  168. package/dist/scripts/18.chunk.js.map +0 -1
  169. package/dist/scripts/19.chunk.js +0 -212
  170. package/dist/scripts/19.chunk.js.map +0 -1
  171. package/dist/scripts/2.chunk.js +0 -859
  172. package/dist/scripts/2.chunk.js.map +0 -1
  173. package/dist/scripts/20.chunk.js +0 -1694
  174. package/dist/scripts/20.chunk.js.map +0 -1
  175. package/dist/scripts/21.chunk.js +0 -1348
  176. package/dist/scripts/21.chunk.js.map +0 -1
  177. package/dist/scripts/22.chunk.js +0 -1109
  178. package/dist/scripts/22.chunk.js.map +0 -1
  179. package/dist/scripts/23.chunk.js +0 -1144
  180. package/dist/scripts/23.chunk.js.map +0 -1
  181. package/dist/scripts/24.chunk.js +0 -841
  182. package/dist/scripts/24.chunk.js.map +0 -1
  183. package/dist/scripts/25.chunk.js +0 -956
  184. package/dist/scripts/25.chunk.js.map +0 -1
  185. package/dist/scripts/26.chunk.js +0 -655
  186. package/dist/scripts/26.chunk.js.map +0 -1
  187. package/dist/scripts/27-c77af0f843.chunk.js +0 -1
  188. package/dist/scripts/27.chunk.js +0 -615
  189. package/dist/scripts/27.chunk.js.map +0 -1
  190. package/dist/scripts/28-78b5477954.chunk.js +0 -1
  191. package/dist/scripts/28.chunk.js +0 -622
  192. package/dist/scripts/28.chunk.js.map +0 -1
  193. package/dist/scripts/29-b645582c70.chunk.js +0 -1
  194. package/dist/scripts/29.chunk.js +0 -721
  195. package/dist/scripts/29.chunk.js.map +0 -1
  196. package/dist/scripts/3.chunk.js +0 -18851
  197. package/dist/scripts/3.chunk.js.map +0 -1
  198. package/dist/scripts/30.chunk.js +0 -468
  199. package/dist/scripts/30.chunk.js.map +0 -1
  200. package/dist/scripts/31.chunk.js +0 -441
  201. package/dist/scripts/31.chunk.js.map +0 -1
  202. package/dist/scripts/32.chunk.js +0 -424
  203. package/dist/scripts/32.chunk.js.map +0 -1
  204. package/dist/scripts/33.chunk.js +0 -638
  205. package/dist/scripts/33.chunk.js.map +0 -1
  206. package/dist/scripts/34.chunk.js +0 -509
  207. package/dist/scripts/34.chunk.js.map +0 -1
  208. package/dist/scripts/35.chunk.js +0 -957
  209. package/dist/scripts/35.chunk.js.map +0 -1
  210. package/dist/scripts/36.chunk.js +0 -938
  211. package/dist/scripts/36.chunk.js.map +0 -1
  212. package/dist/scripts/37.chunk.js +0 -416
  213. package/dist/scripts/37.chunk.js.map +0 -1
  214. package/dist/scripts/38.chunk.js +0 -482
  215. package/dist/scripts/38.chunk.js.map +0 -1
  216. package/dist/scripts/39.chunk.js +0 -245
  217. package/dist/scripts/39.chunk.js.map +0 -1
  218. package/dist/scripts/4.chunk.js +0 -403
  219. package/dist/scripts/4.chunk.js.map +0 -1
  220. package/dist/scripts/40.chunk.js +0 -337
  221. package/dist/scripts/40.chunk.js.map +0 -1
  222. package/dist/scripts/41.chunk.js +0 -350
  223. package/dist/scripts/41.chunk.js.map +0 -1
  224. package/dist/scripts/42.chunk.js +0 -381
  225. package/dist/scripts/42.chunk.js.map +0 -1
  226. package/dist/scripts/43.chunk.js +0 -345
  227. package/dist/scripts/43.chunk.js.map +0 -1
  228. package/dist/scripts/44.chunk.js +0 -404
  229. package/dist/scripts/44.chunk.js.map +0 -1
  230. package/dist/scripts/45-b185000e50.chunk.js +0 -1
  231. package/dist/scripts/45.chunk.js +0 -221
  232. package/dist/scripts/45.chunk.js.map +0 -1
  233. package/dist/scripts/46.chunk.js +0 -230
  234. package/dist/scripts/46.chunk.js.map +0 -1
  235. package/dist/scripts/47.chunk.js +0 -409
  236. package/dist/scripts/47.chunk.js.map +0 -1
  237. package/dist/scripts/48.chunk.js +0 -272
  238. package/dist/scripts/48.chunk.js.map +0 -1
  239. package/dist/scripts/49.chunk.js +0 -267
  240. package/dist/scripts/49.chunk.js.map +0 -1
  241. package/dist/scripts/5.chunk.js +0 -1088
  242. package/dist/scripts/5.chunk.js.map +0 -1
  243. package/dist/scripts/50.chunk.js +0 -225
  244. package/dist/scripts/50.chunk.js.map +0 -1
  245. package/dist/scripts/51.chunk.js +0 -318
  246. package/dist/scripts/51.chunk.js.map +0 -1
  247. package/dist/scripts/52.chunk.js +0 -64
  248. package/dist/scripts/52.chunk.js.map +0 -1
  249. package/dist/scripts/53.chunk.js +0 -108
  250. package/dist/scripts/53.chunk.js.map +0 -1
  251. package/dist/scripts/54.chunk.js +0 -110
  252. package/dist/scripts/54.chunk.js.map +0 -1
  253. package/dist/scripts/55.chunk.js +0 -162
  254. package/dist/scripts/55.chunk.js.map +0 -1
  255. package/dist/scripts/56.chunk.js +0 -102
  256. package/dist/scripts/56.chunk.js.map +0 -1
  257. package/dist/scripts/57.chunk.js +0 -145
  258. package/dist/scripts/57.chunk.js.map +0 -1
  259. package/dist/scripts/58.chunk.js +0 -139
  260. package/dist/scripts/58.chunk.js.map +0 -1
  261. package/dist/scripts/59.chunk.js +0 -142
  262. package/dist/scripts/59.chunk.js.map +0 -1
  263. package/dist/scripts/6.chunk.js +0 -406
  264. package/dist/scripts/6.chunk.js.map +0 -1
  265. package/dist/scripts/60-55a4baf6d4.chunk.js +0 -1
  266. package/dist/scripts/60.chunk.js +0 -173
  267. package/dist/scripts/60.chunk.js.map +0 -1
  268. package/dist/scripts/61.chunk.js +0 -160
  269. package/dist/scripts/61.chunk.js.map +0 -1
  270. package/dist/scripts/62.chunk.js +0 -98
  271. package/dist/scripts/62.chunk.js.map +0 -1
  272. package/dist/scripts/63.chunk.js +0 -48
  273. package/dist/scripts/63.chunk.js.map +0 -1
  274. package/dist/scripts/64.chunk.js +0 -32
  275. package/dist/scripts/64.chunk.js.map +0 -1
  276. package/dist/scripts/65.chunk.js +0 -29
  277. package/dist/scripts/65.chunk.js.map +0 -1
  278. package/dist/scripts/66.chunk.js +0 -27
  279. package/dist/scripts/66.chunk.js.map +0 -1
  280. package/dist/scripts/67.chunk.js +0 -65
  281. package/dist/scripts/67.chunk.js.map +0 -1
  282. package/dist/scripts/68.chunk.js +0 -67
  283. package/dist/scripts/68.chunk.js.map +0 -1
  284. package/dist/scripts/69.chunk.js +0 -104
  285. package/dist/scripts/69.chunk.js.map +0 -1
  286. package/dist/scripts/7.chunk.js +0 -2614
  287. package/dist/scripts/7.chunk.js.map +0 -1
  288. package/dist/scripts/70.chunk.js +0 -1001
  289. package/dist/scripts/70.chunk.js.map +0 -1
  290. package/dist/scripts/71.chunk.js +0 -36
  291. package/dist/scripts/71.chunk.js.map +0 -1
  292. package/dist/scripts/8.chunk.js +0 -24
  293. package/dist/scripts/8.chunk.js.map +0 -1
  294. package/dist/scripts/9-5eef11ada3.chunk.js +0 -1
  295. package/dist/scripts/9.chunk.js +0 -327
  296. package/dist/scripts/9.chunk.js.map +0 -1
  297. package/dist/scripts/bundle-bfed5b59b9.min.js +0 -8
  298. package/dist/scripts/bundle-f675e246e2.min.js +0 -8
  299. package/dist/scripts/bundle.js +0 -44557
  300. package/dist/scripts/bundle.js.map +0 -1
  301. package/dist/scripts/polyfills.js +0 -15254
  302. package/dist/scripts/polyfills.js.map +0 -1
  303. /package/dist/css/{35.chunk.css → 36.chunk.css} +0 -0
  304. /package/dist/css/{41.chunk.css → 42.chunk.css} +0 -0
  305. /package/dist/css/{46.chunk.css → 47.chunk.css} +0 -0
  306. /package/dist/css/{48.chunk.css → 49.chunk.css} +0 -0
@@ -1,403 +0,0 @@
1
- (window["webpackJsonp_clickview_lite"] = window["webpackJsonp_clickview_lite"] || []).push([[4],{
2
-
3
- /***/ "../../libs/shared/src/components/forms/form-buttons/FormButtons.tsx":
4
- /*!***************************************************************************************************************!*\
5
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx ***!
6
- \***************************************************************************************************************/
7
- /*! exports provided: FormButtons */
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__, "FormButtons", function() { return FormButtons; });
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 formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
16
- /* harmony import */ var _hooks_UseCanSubmitForm__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../hooks/UseCanSubmitForm */ "../../libs/shared/src/hooks/UseCanSubmitForm.ts");
17
- /* harmony import */ var _spinner_button_SpinnerButton__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../spinner-button/SpinnerButton */ "../../libs/shared/src/components/spinner-button/SpinnerButton.tsx");
18
- /* harmony import */ var _text_Text__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../text/Text */ "../../libs/shared/src/components/text/Text.tsx");
19
-
20
-
21
-
22
-
23
-
24
- var namespace = 'shared.formButtons';
25
- var ENTER_KEY_CODE = 13;
26
- function FormButtons(props) {
27
- var formikProps = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
28
- var canSubmit = Object(_hooks_UseCanSubmitForm__WEBPACK_IMPORTED_MODULE_2__["useCanSubmitForm"])(formikProps);
29
- /**
30
- * This hook listens to "Enter" keypress events, and submits the form if there
31
- * are no errors. This prevents any edge cases where submitting doesn't work on
32
- * Enter normally, such as when a custom component is in focus.
33
- */
34
-
35
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
36
- function onKeyPress(e) {
37
- if (e.keyCode !== ENTER_KEY_CODE || !canSubmit) return;
38
- formikProps.validateForm().then(function (errors) {
39
- if (!Object.keys(errors).length) formikProps.submitForm();
40
- });
41
- }
42
-
43
- window.addEventListener('keypress', onKeyPress);
44
- return function () {
45
- return window.removeEventListener('keypress', onKeyPress);
46
- };
47
- }, [canSubmit]);
48
- var phraseKey = 'save';
49
- if (props.isNew) phraseKey = 'create';
50
- if (props.hasNext) phraseKey = 'next';
51
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_spinner_button_SpinnerButton__WEBPACK_IMPORTED_MODULE_3__["SpinnerButton"], {
52
- variant: props.variant || 'primary',
53
- showSpinner: formikProps.isSubmitting,
54
- type: 'submit',
55
- disabled: !canSubmit
56
- }, props.submitText ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, props.submitText) : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_text_Text__WEBPACK_IMPORTED_MODULE_4__["Text"], {
57
- namespace: namespace,
58
- phrase: phraseKey
59
- }));
60
- }
61
-
62
- /***/ }),
63
-
64
- /***/ "../../libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx":
65
- /*!*****************************************************************************************************************!*\
66
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx ***!
67
- \*****************************************************************************************************************/
68
- /*! exports provided: FormCheckbox */
69
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
70
-
71
- "use strict";
72
- __webpack_require__.r(__webpack_exports__);
73
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormCheckbox", function() { return FormCheckbox; });
74
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
75
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
76
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
77
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_1__);
78
- /* harmony import */ var _form_field_FormField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../form-field/FormField */ "../../libs/shared/src/components/forms/form-field/FormField.tsx");
79
- var __rest = undefined && undefined.__rest || function (s, e) {
80
- var t = {};
81
-
82
- for (var p in s) {
83
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
84
- }
85
-
86
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
87
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
88
- }
89
- return t;
90
- };
91
-
92
-
93
-
94
-
95
- /**
96
- * Use this checkbox within Formik contexts
97
- */
98
-
99
- function FormCheckbox(props) {
100
- var label = props.label,
101
- fieldProps = __rest(props, ["label"]);
102
-
103
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Form"].Group, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
104
- className: 'custom-control custom-checkbox'
105
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_form_field_FormField__WEBPACK_IMPORTED_MODULE_2__["FieldWrapper"], Object.assign({
106
- className: 'custom-control-input'
107
- }, fieldProps)), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_1__["Form"].Label, {
108
- className: 'custom-control-label',
109
- htmlFor: fieldProps.id
110
- }, label)));
111
- }
112
-
113
- /***/ }),
114
-
115
- /***/ "../../libs/shared/src/components/forms/form-field/CharacterCounter.tsx":
116
- /*!******************************************************************************************************************!*\
117
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx ***!
118
- \******************************************************************************************************************/
119
- /*! exports provided: CharacterCounter */
120
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
121
-
122
- "use strict";
123
- __webpack_require__.r(__webpack_exports__);
124
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "CharacterCounter", function() { return CharacterCounter; });
125
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
126
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
127
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
128
-
129
-
130
- function CharacterCounter(props) {
131
- var _useFormikContext = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])(),
132
- values = _useFormikContext.values;
133
-
134
- var field = values[props.fieldName];
135
- if (typeof field !== 'string') return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null);
136
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
137
- className: 'float-right text-muted'
138
- }, field.length, "/", props.limit);
139
- }
140
-
141
- /***/ }),
142
-
143
- /***/ "../../libs/shared/src/components/forms/form-field/FormField.tsx":
144
- /*!***********************************************************************************************************!*\
145
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/FormField.tsx ***!
146
- \***********************************************************************************************************/
147
- /*! exports provided: FieldWrapper, FormField */
148
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
149
-
150
- "use strict";
151
- __webpack_require__.r(__webpack_exports__);
152
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FieldWrapper", function() { return FieldWrapper; });
153
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormField", function() { return FormField; });
154
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
155
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
156
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
157
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-bootstrap */ "react-bootstrap");
158
- /* harmony import */ var react_bootstrap__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react_bootstrap__WEBPACK_IMPORTED_MODULE_2__);
159
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
160
- /* harmony import */ var _utils_FormHelper__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../../utils/FormHelper */ "../../libs/shared/src/utils/FormHelper.ts");
161
- /* harmony import */ var _CharacterCounter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./CharacterCounter */ "../../libs/shared/src/components/forms/form-field/CharacterCounter.tsx");
162
- /* harmony import */ var _form_checkbox_FormCheckbox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../form-checkbox/FormCheckbox */ "../../libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx");
163
- var __rest = undefined && undefined.__rest || function (s, e) {
164
- var t = {};
165
-
166
- for (var p in s) {
167
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
168
- }
169
-
170
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
171
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
172
- }
173
- return t;
174
- };
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
- function FieldWrapper(props) {
184
- var children = props.children,
185
- fieldProps = __rest(props, ["children"]);
186
-
187
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["Field"], Object.assign({}, fieldProps), _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_3__["FunctionHelper"].isFunction(children) ? function (f) {
188
- return children(f);
189
- } : react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(children) ? children : null);
190
- }
191
- function FormField(props) {
192
- var label = props.label,
193
- className = props.className,
194
- showCharacterCounter = props.showCharacterCounter,
195
- fieldProps = __rest(props, ["label", "className", "showCharacterCounter"]);
196
-
197
- var _useFormikContext = Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])(),
198
- errors = _useFormikContext.errors,
199
- touched = _useFormikContext.touched;
200
-
201
- if (fieldProps.type === 'checkbox') return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_form_checkbox_FormCheckbox__WEBPACK_IMPORTED_MODULE_6__["FormCheckbox"], Object.assign({}, props));
202
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Form"].Group, null, !!label && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Form"].Label, {
203
- htmlFor: fieldProps.id
204
- }, label), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](FieldWrapper, Object.assign({
205
- className: _utils_FormHelper__WEBPACK_IMPORTED_MODULE_4__["FormHelper"].getCustomFormControlClassName(errors, touched, fieldProps.name, className)
206
- }, fieldProps)), !!showCharacterCounter && !!fieldProps.maxLength && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_CharacterCounter__WEBPACK_IMPORTED_MODULE_5__["CharacterCounter"], {
207
- fieldName: fieldProps.name,
208
- limit: fieldProps.maxLength
209
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["ErrorMessage"], {
210
- name: fieldProps.name
211
- }, function (errorMessage) {
212
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_bootstrap__WEBPACK_IMPORTED_MODULE_2__["Form"].Control.Feedback, {
213
- type: 'invalid'
214
- }, errorMessage);
215
- }));
216
- }
217
-
218
- /***/ }),
219
-
220
- /***/ "../../libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx":
221
- /*!***************************************************************************************************************!*\
222
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx ***!
223
- \***************************************************************************************************************/
224
- /*! exports provided: FormWrapper, useFormikContextWrapper */
225
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
226
-
227
- "use strict";
228
- __webpack_require__.r(__webpack_exports__);
229
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormWrapper", function() { return FormWrapper; });
230
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useFormikContextWrapper", function() { return useFormikContextWrapper; });
231
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
232
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
233
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
234
- /* harmony import */ var _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../../../../common/src/backbone/utils/FunctionHelper */ "../../libs/common/src/backbone/utils/FunctionHelper.ts");
235
- /* harmony import */ var _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../../../../common/src/react/utils/ObjectHelper */ "../../libs/common/src/react/utils/ObjectHelper.ts");
236
- var __rest = undefined && undefined.__rest || function (s, e) {
237
- var t = {};
238
-
239
- for (var p in s) {
240
- if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
241
- }
242
-
243
- if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
244
- if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
245
- }
246
- return t;
247
- };
248
-
249
-
250
-
251
-
252
-
253
-
254
- function omitNullInitialValues(initialValues) {
255
- var values = _common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__["ObjectHelper"].deepClone(initialValues);
256
- Object.keys(values).forEach(function (key) {
257
- if (!values.hasOwnProperty(key)) return;
258
- if (_common_src_react_utils_ObjectHelper__WEBPACK_IMPORTED_MODULE_3__["ObjectHelper"].isObject(values[key])) values[key] = omitNullInitialValues(values[key]);else if (values[key] === null) delete values[key];
259
- });
260
- return values;
261
- }
262
-
263
- FormWrapper.defaultProps = {
264
- castInitialValues: true,
265
- castValuesOnSubmit: true
266
- };
267
- function FormWrapper(props) {
268
- var castInitialValues = props.castInitialValues,
269
- castValuesOnSubmit = props.castValuesOnSubmit,
270
- initialValues = props.initialValues,
271
- onSubmit = props.onSubmit,
272
- resetOnSubmit = props.resetOnSubmit,
273
- formikProps = __rest(props, ["castInitialValues", "castValuesOnSubmit", "initialValues", "onSubmit", "resetOnSubmit"]);
274
- /**
275
- * If castInitialValues is true, cast initialValues to the validationSchema.
276
- * This will ensure that any data fetched from the api conforms to the expected form data shape.
277
- */
278
-
279
-
280
- var formattedInitialValues = castInitialValues && props.validationSchema ? props.validationSchema.cast(omitNullInitialValues(initialValues)) : initialValues;
281
-
282
- var onSubmitHandler = function onSubmitHandler(values, _ref) {
283
- var setSubmitting = _ref.setSubmitting,
284
- resetForm = _ref.resetForm;
285
-
286
- /**
287
- * validationSchema.cast will coerce the values to the types defined in validationSchema.
288
- * This is useful for trimming inputs:
289
- * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.
290
- */
291
- var formattedData = castValuesOnSubmit && props.validationSchema ? props.validationSchema.cast(values) : values;
292
- onSubmit(formattedData, function () {
293
- resetOnSubmit && resetForm();
294
- setSubmitting(false);
295
- });
296
- };
297
-
298
- var initialStatus = {
299
- allowInitialSubmit: props.allowInitialSubmit
300
- };
301
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](formik__WEBPACK_IMPORTED_MODULE_1__["Formik"], Object.assign({
302
- enableReinitialize: true
303
- }, formikProps, {
304
- initialValues: formattedInitialValues,
305
- onSubmit: onSubmitHandler,
306
- initialStatus: initialStatus
307
- }), _common_src_backbone_utils_FunctionHelper__WEBPACK_IMPORTED_MODULE_2__["FunctionHelper"].isFunction(props.children) ? function (f) {
308
- return props.children(f);
309
- } : react__WEBPACK_IMPORTED_MODULE_0__["Children"].count(props.children) ? props.children : null);
310
- }
311
- function useFormikContextWrapper() {
312
- return Object(formik__WEBPACK_IMPORTED_MODULE_1__["useFormikContext"])();
313
- }
314
-
315
- /***/ }),
316
-
317
- /***/ "../../libs/shared/src/hooks/UseCanSubmitForm.ts":
318
- /*!*******************************************************************************************!*\
319
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseCanSubmitForm.ts ***!
320
- \*******************************************************************************************/
321
- /*! exports provided: useCanSubmitForm */
322
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
323
-
324
- "use strict";
325
- __webpack_require__.r(__webpack_exports__);
326
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useCanSubmitForm", function() { return useCanSubmitForm; });
327
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
328
- /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
329
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
330
-
331
- 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."); }
332
-
333
- 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); }
334
-
335
- 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; }
336
-
337
- 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; }
338
-
339
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
340
-
341
-
342
- /**
343
- * useCanSubmitForm determines if a form can be submitted.
344
- *
345
- * It will return true if a form is valid and has been changed from it's initial state.
346
- *
347
- * A common use case for this is determining whether or not to enable
348
- * a submit button in a form.
349
- */
350
-
351
- function useCanSubmitForm(formikProps) {
352
- var _a;
353
-
354
- var _React$useState = react__WEBPACK_IMPORTED_MODULE_0__["useState"](false),
355
- _React$useState2 = _slicedToArray(_React$useState, 2),
356
- canSubmit = _React$useState2[0],
357
- setCanSubmit = _React$useState2[1];
358
-
359
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
360
- var _a;
361
-
362
- if (!formikProps.isValid) {
363
- setCanSubmit(false);
364
- return;
365
- } // If the form values have changed of if allowInitialSubmit is true, set canSubmit to true.
366
-
367
-
368
- if (formikProps.dirty || ((_a = formikProps.initialStatus) === null || _a === void 0 ? void 0 : _a.allowInitialSubmit)) setCanSubmit(true);else setCanSubmit(false);
369
- }, [formikProps.isValid, (_a = formikProps.initialStatus) === null || _a === void 0 ? void 0 : _a.allowInitialSubmit, formikProps.dirty, formikProps.values]);
370
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](function () {
371
- if (formikProps.isSubmitting) setCanSubmit(false);
372
- }, [formikProps.isSubmitting]);
373
- return canSubmit;
374
- }
375
-
376
- /***/ }),
377
-
378
- /***/ "../../libs/shared/src/utils/FormHelper.ts":
379
- /*!*************************************************************************************!*\
380
- !*** C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/FormHelper.ts ***!
381
- \*************************************************************************************/
382
- /*! exports provided: FormHelper */
383
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
384
-
385
- "use strict";
386
- __webpack_require__.r(__webpack_exports__);
387
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "FormHelper", function() { return FormHelper; });
388
- /* harmony import */ var formik__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! formik */ "../../../node_modules/formik/dist/formik.esm.js");
389
-
390
- var FormHelper = {
391
- getCustomFormControlClassName: function getCustomFormControlClassName(errors, touched, attribute, additionalClassName) {
392
- var className = 'form-control'; // Using getIn as it supports dot notation
393
-
394
- if (Object(formik__WEBPACK_IMPORTED_MODULE_0__["getIn"])(touched, attribute) && Object(formik__WEBPACK_IMPORTED_MODULE_0__["getIn"])(errors, attribute)) className += ' is-invalid';
395
- if (additionalClassName) className += " ".concat(additionalClassName);
396
- return className;
397
- }
398
- };
399
-
400
- /***/ })
401
-
402
- }]);
403
- //# sourceMappingURL=4.chunk.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-buttons/FormButtons.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-checkbox/FormCheckbox.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/CharacterCounter.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-field/FormField.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-wrapper/FormWrapper.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseCanSubmitForm.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/FormHelper.ts"],"names":[],"mappings":"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","file":"scripts/4.chunk.js","sourcesContent":["import * as React from 'react';\r\nimport { useFormikContext } from 'formik';\r\nimport { ButtonProps } from 'react-bootstrap';\r\n\r\nimport { useCanSubmitForm } from 'libs/shared/hooks/UseCanSubmitForm';\r\nimport { SpinnerButton } from 'libs/shared/components/spinner-button/SpinnerButton';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\n\r\nconst namespace = 'shared.formButtons';\r\n\r\nconst ENTER_KEY_CODE = 13;\r\n\r\ninterface FormButtonsProps {\r\n isNew: boolean;\r\n hasNext?: boolean;\r\n submitText?: string;\r\n variant?: ButtonProps['variant'];\r\n}\r\n\r\nexport function FormButtons<Values extends object>(props: FormButtonsProps): JSX.Element {\r\n const formikProps = useFormikContext<Values>();\r\n\r\n const canSubmit = useCanSubmitForm(formikProps);\r\n\r\n /**\r\n * This hook listens to \"Enter\" keypress events, and submits the form if there\r\n * are no errors. This prevents any edge cases where submitting doesn't work on\r\n * Enter normally, such as when a custom component is in focus.\r\n */\r\n React.useEffect(() => {\r\n function onKeyPress(e: KeyboardEvent): void {\r\n if (e.keyCode !== ENTER_KEY_CODE || !canSubmit)\r\n return;\r\n\r\n formikProps.validateForm().then(errors => {\r\n if (!Object.keys(errors).length)\r\n formikProps.submitForm();\r\n });\r\n }\r\n\r\n window.addEventListener('keypress', onKeyPress);\r\n return () => window.removeEventListener('keypress', onKeyPress);\r\n }, [canSubmit]);\r\n\r\n let phraseKey = 'save';\r\n if (props.isNew)\r\n phraseKey = 'create';\r\n if (props.hasNext)\r\n phraseKey = 'next';\r\n\r\n return (\r\n <SpinnerButton\r\n variant={props.variant || 'primary'}\r\n showSpinner={formikProps.isSubmitting}\r\n type='submit'\r\n disabled={!canSubmit}\r\n >\r\n {props.submitText\r\n ? <>{props.submitText}</>\r\n : <Text namespace={namespace} phrase={phraseKey} />\r\n }\r\n </SpinnerButton>\r\n );\r\n}","import * as React from 'react';\r\n\r\nimport { FieldAttributes } from 'formik';\r\nimport { Form } from 'react-bootstrap';\r\nimport { FieldWrapper, FormFieldProps } from '../form-field/FormField';\r\n\r\n/**\r\n * Use this checkbox within Formik contexts\r\n */\r\nexport function FormCheckbox<Values extends object>(props: FieldAttributes<FormFieldProps<Values>>): JSX.Element {\r\n const { label, ...fieldProps } = props;\r\n\r\n return (\r\n <Form.Group>\r\n <div className='custom-control custom-checkbox'>\r\n <FieldWrapper<Values> className='custom-control-input' {...fieldProps} />\r\n <Form.Label className='custom-control-label' htmlFor={fieldProps.id}>{label}</Form.Label>\r\n </div>\r\n </Form.Group>\r\n );\r\n}\r\n\r\n","import * as React from 'react';\r\nimport { useFormikContext } from 'formik';\r\n\r\ninterface CharacterCounterProps<Values extends object> {\r\n fieldName: keyof Values;\r\n limit: number;\r\n}\r\n\r\nexport function CharacterCounter<Values extends object>(props: CharacterCounterProps<Values>): JSX.Element {\r\n const { values } = useFormikContext<Values>();\r\n\r\n const field = values[props.fieldName];\r\n\r\n if (typeof field !== 'string')\r\n return <></>;\r\n\r\n return (\r\n <div className='float-right text-muted'>\r\n {field.length}/{props.limit}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\nimport { Field, FieldAttributes, useFormikContext, ErrorMessage, FieldProps } from 'formik';\r\nimport { Form } from 'react-bootstrap';\r\n\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\n\r\nimport { FormHelper } from 'libs/shared/utils/FormHelper';\r\n\r\nimport { CharacterCounter } from './CharacterCounter';\r\nimport { FormCheckbox } from '../form-checkbox/FormCheckbox';\r\n\r\nexport interface FormFieldProps<Values extends object> {\r\n /**\r\n * The name prop MUST be the same as the attribute\r\n * name of the value that the field is bound to.\r\n */\r\n name: string;\r\n label?: string;\r\n children?: ((props: FieldProps) => React.ReactNode) | React.ReactNode;\r\n showCharacterCounter?: boolean;\r\n}\r\n\r\nexport function FieldWrapper<Values extends object>(\r\n props: FieldAttributes<FormFieldProps<Values>> & { className: string }\r\n): React.ReactElement {\r\n const { children, ...fieldProps } = props;\r\n\r\n return (\r\n <Field {...fieldProps}>\r\n {FunctionHelper.isFunction(children)\r\n ? (f: FieldProps) => children(f)\r\n : React.Children.count(children) ? children : null\r\n }\r\n </Field>\r\n );\r\n}\r\n\r\nexport function FormField<Values extends object>(props: FieldAttributes<FormFieldProps<Values>>): React.ReactElement {\r\n const { label, className, showCharacterCounter, ...fieldProps } = props;\r\n\r\n const { errors, touched } = useFormikContext<Values>();\r\n\r\n if (fieldProps.type === 'checkbox')\r\n return <FormCheckbox<Values> {...props} />;\r\n\r\n return (\r\n <Form.Group>\r\n {!!label && <Form.Label htmlFor={fieldProps.id}>{label}</Form.Label>}\r\n <FieldWrapper<Values>\r\n className={FormHelper.getCustomFormControlClassName(errors, touched, fieldProps.name, className)}\r\n {...fieldProps}\r\n />\r\n {!!showCharacterCounter && !!(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength &&\r\n <CharacterCounter\r\n fieldName={(fieldProps.name as keyof Values)}\r\n limit={(fieldProps as React.HTMLProps<HTMLInputElement>).maxLength}\r\n />\r\n }\r\n <ErrorMessage name={fieldProps.name}>\r\n {(errorMessage: string) => <Form.Control.Feedback type='invalid'>{errorMessage}</Form.Control.Feedback>}\r\n </ErrorMessage>\r\n </Form.Group>\r\n );\r\n}","import * as React from 'react';\r\nimport { Formik, FormikValues, FormikConfig, FormikProps, FormikHelpers, useFormikContext, FormikContextType } from 'formik';\r\nimport { FunctionHelper } from 'libs/common/backbone/utils/FunctionHelper';\r\nimport { ObjectHelper } from 'libs/common/react/utils/ObjectHelper';\r\n\r\nfunction omitNullInitialValues<Values extends FormikValues>(initialValues: Values): Values {\r\n const values = ObjectHelper.deepClone(initialValues);\r\n\r\n Object.keys(values).forEach((key: keyof Values) => {\r\n if (!values.hasOwnProperty(key))\r\n return;\r\n\r\n if (ObjectHelper.isObject(values[key]))\r\n values[key] = omitNullInitialValues(values[key]);\r\n else if (values[key] === null)\r\n delete values[key];\r\n });\r\n\r\n return values;\r\n}\r\n\r\n// Omit attributes from FormikConfig that are defined in FormWrapperProps.\r\ntype ModifiedFormikConfig<Values extends FormikValues> = Omit<FormikConfig<Values>, 'initialValues' | 'onSubmit'>;\r\n\r\ninterface InitialStatus {\r\n allowInitialSubmit: boolean;\r\n}\r\n\r\ninterface FormWrapperProps<FormValues extends FormikValues, ApiValues extends FormikValues> {\r\n initialValues: FormValues | ApiValues;\r\n onSubmit: (data: FormValues, onDone: () => void) => void;\r\n castInitialValues?: boolean; // cast to validationSchema\r\n castValuesOnSubmit?: boolean; // cast to validationSchema\r\n allowInitialSubmit?: boolean; // if true, useCanSubmitForm will allow submit without any user changes.\r\n resetOnSubmit?: boolean;\r\n}\r\n\r\nFormWrapper.defaultProps = {\r\n castInitialValues: true,\r\n castValuesOnSubmit: true\r\n};\r\n\r\nexport function FormWrapper<\r\n FormValues extends FormikValues = FormikValues,\r\n ApiValues extends FormikValues = FormikValues,\r\n ExtraProps = {}\r\n>(props: ModifiedFormikConfig<FormValues> & ExtraProps & FormWrapperProps<FormValues, ApiValues>): JSX.Element {\r\n const { castInitialValues, castValuesOnSubmit, initialValues, onSubmit, resetOnSubmit, ...formikProps } = props;\r\n\r\n /**\r\n * If castInitialValues is true, cast initialValues to the validationSchema.\r\n * This will ensure that any data fetched from the api conforms to the expected form data shape.\r\n */\r\n const formattedInitialValues: FormValues = castInitialValues && props.validationSchema\r\n ? props.validationSchema.cast(omitNullInitialValues(initialValues))\r\n : initialValues;\r\n\r\n const onSubmitHandler = (\r\n values: FormValues,\r\n { setSubmitting, resetForm }: FormikHelpers<FormValues>\r\n ) => {\r\n /**\r\n * validationSchema.cast will coerce the values to the types defined in validationSchema.\r\n * This is useful for trimming inputs:\r\n * e.g. if a value field has type Yup.string().trim(), it will be automatically trimmed.\r\n */\r\n const formattedData = castValuesOnSubmit && props.validationSchema\r\n ? props.validationSchema.cast(values)\r\n : values;\r\n\r\n onSubmit(formattedData, () => {\r\n resetOnSubmit && resetForm();\r\n setSubmitting(false);\r\n });\r\n };\r\n\r\n const initialStatus: InitialStatus = {\r\n allowInitialSubmit: props.allowInitialSubmit\r\n };\r\n\r\n return (\r\n <Formik<FormValues, ExtraProps>\r\n enableReinitialize\r\n {...(formikProps as ModifiedFormikConfig<FormValues> & ExtraProps)}\r\n initialValues={formattedInitialValues}\r\n onSubmit={onSubmitHandler}\r\n initialStatus={initialStatus}\r\n >\r\n {FunctionHelper.isFunction(props.children)\r\n ? (f: FormikProps<FormValues>) => (props.children as (f: FormikProps<FormValues>) => React.ReactNode)(f)\r\n : React.Children.count(props.children) ? props.children : null\r\n }\r\n </Formik>\r\n );\r\n}\r\n\r\nexport function useFormikContextWrapper<T>(): FormikContextType<T> {\r\n return useFormikContext<T>();\r\n}","import * as React from 'react';\r\nimport { FormikValues, FormikProps } from 'formik';\r\n\r\n/**\r\n * useCanSubmitForm determines if a form can be submitted.\r\n * \r\n * It will return true if a form is valid and has been changed from it's initial state.\r\n * \r\n * A common use case for this is determining whether or not to enable\r\n * a submit button in a form.\r\n */\r\nexport function useCanSubmitForm<Values extends FormikValues>(formikProps: FormikProps<Values>): boolean {\r\n const [ canSubmit, setCanSubmit ] = React.useState(false);\r\n\r\n React.useEffect(() => {\r\n if (!formikProps.isValid) {\r\n setCanSubmit(false);\r\n return;\r\n }\r\n\r\n // If the form values have changed of if allowInitialSubmit is true, set canSubmit to true.\r\n if (formikProps.dirty || formikProps.initialStatus?.allowInitialSubmit)\r\n setCanSubmit(true);\r\n else\r\n setCanSubmit(false);\r\n\r\n }, [ formikProps.isValid, formikProps.initialStatus?.allowInitialSubmit, formikProps.dirty, formikProps.values ]);\r\n\r\n React.useEffect(() => {\r\n if (formikProps.isSubmitting)\r\n setCanSubmit(false);\r\n }, [formikProps.isSubmitting]);\r\n\r\n return canSubmit;\r\n}\r\n","import { FormikErrors, FormikTouched, getIn } from 'formik';\r\n\r\nexport const FormHelper = {\r\n getCustomFormControlClassName<T>(\r\n errors: FormikErrors<T>,\r\n touched: FormikTouched<T>,\r\n attribute: string,\r\n additionalClassName?: string\r\n ): string {\r\n let className = 'form-control';\r\n\r\n // Using getIn as it supports dot notation\r\n if (getIn(touched, attribute) && getIn(errors, attribute))\r\n className += ' is-invalid';\r\n\r\n if (additionalClassName)\r\n className += ` ${additionalClassName}`;\r\n\r\n return className;\r\n }\r\n};"],"sourceRoot":""}