@clickview/lite 0.0.19 → 0.0.20-rc.1

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 (260) hide show
  1. package/dist/css/0.chunk.css.map +1 -0
  2. package/dist/css/1.chunk.css +146 -0
  3. package/dist/css/1.chunk.css.map +1 -0
  4. package/dist/css/11.chunk.css.map +1 -0
  5. package/dist/css/12.chunk.css.map +1 -0
  6. package/dist/css/13.chunk.css.map +1 -0
  7. package/dist/css/14.chunk.css.map +1 -0
  8. package/dist/css/15.chunk.css.map +1 -0
  9. package/dist/css/16.chunk.css.map +1 -0
  10. package/dist/css/17.chunk.css.map +1 -0
  11. package/dist/css/18.chunk.css.map +1 -0
  12. package/dist/css/19.chunk.css.map +1 -0
  13. package/dist/css/21.chunk.css.map +1 -0
  14. package/dist/css/22.chunk.css.map +1 -0
  15. package/dist/css/23.chunk.css.map +1 -0
  16. package/dist/css/24.chunk.css.map +1 -0
  17. package/dist/css/25.chunk.css.map +1 -0
  18. package/dist/css/26.chunk.css.map +1 -0
  19. package/dist/css/27.chunk.css.map +1 -0
  20. package/dist/css/28.chunk.css.map +1 -0
  21. package/dist/css/29.chunk.css.map +1 -0
  22. package/dist/css/3.chunk.css.map +1 -0
  23. package/dist/css/30.chunk.css +32 -0
  24. package/dist/css/30.chunk.css.map +1 -0
  25. package/dist/css/31.chunk.css.map +1 -0
  26. package/dist/css/32.chunk.css +6 -0
  27. package/dist/css/32.chunk.css.map +1 -0
  28. package/dist/css/33.chunk.css +5 -0
  29. package/dist/css/33.chunk.css.map +1 -0
  30. package/dist/css/34.chunk.css.map +1 -0
  31. package/dist/css/36.chunk.css +6 -0
  32. package/dist/css/36.chunk.css.map +1 -0
  33. package/dist/css/37.chunk.css +7 -0
  34. package/dist/css/37.chunk.css.map +1 -0
  35. package/dist/css/38.chunk.css.map +1 -0
  36. package/dist/css/41.chunk.css +38 -0
  37. package/dist/css/41.chunk.css.map +1 -0
  38. package/dist/css/5.chunk.css.map +1 -0
  39. package/dist/css/51.chunk.css +9 -0
  40. package/dist/css/51.chunk.css.map +1 -0
  41. package/dist/css/6.chunk.css.map +1 -0
  42. package/dist/css/7.chunk.css +66 -0
  43. package/dist/css/7.chunk.css.map +1 -0
  44. package/dist/css/lite-app.css.map +1 -0
  45. package/dist/libs/shared/src/utils/ImageHelper.d.ts +1 -1
  46. package/dist/projects/lite/src/polyfills.d.ts +2 -0
  47. package/dist/scripts/0.chunk.js +308 -0
  48. package/dist/scripts/0.chunk.js.map +1 -0
  49. package/dist/scripts/1.chunk.js +623 -0
  50. package/dist/scripts/1.chunk.js.map +1 -0
  51. package/dist/scripts/10.chunk.js +530 -0
  52. package/dist/scripts/10.chunk.js.map +1 -0
  53. package/dist/scripts/11.chunk.js +380 -0
  54. package/dist/scripts/11.chunk.js.map +1 -0
  55. package/dist/scripts/12.chunk.js +434 -0
  56. package/dist/scripts/12.chunk.js.map +1 -0
  57. package/dist/scripts/13.chunk.js +1287 -0
  58. package/dist/scripts/13.chunk.js.map +1 -0
  59. package/dist/scripts/14.chunk.js +575 -0
  60. package/dist/scripts/14.chunk.js.map +1 -0
  61. package/dist/scripts/15.chunk.js +806 -0
  62. package/dist/scripts/15.chunk.js.map +1 -0
  63. package/dist/scripts/16.chunk.js +482 -0
  64. package/dist/scripts/16.chunk.js.map +1 -0
  65. package/dist/scripts/17.chunk.js +428 -0
  66. package/dist/scripts/17.chunk.js.map +1 -0
  67. package/dist/scripts/18.chunk.js +766 -0
  68. package/dist/scripts/18.chunk.js.map +1 -0
  69. package/dist/scripts/19.chunk.js +647 -0
  70. package/dist/scripts/19.chunk.js.map +1 -0
  71. package/dist/scripts/2.chunk.js +18882 -0
  72. package/dist/scripts/2.chunk.js.map +1 -0
  73. package/dist/scripts/20.chunk.js +212 -0
  74. package/dist/scripts/20.chunk.js.map +1 -0
  75. package/dist/scripts/21.chunk.js +1591 -0
  76. package/dist/scripts/21.chunk.js.map +1 -0
  77. package/dist/scripts/22.chunk.js +1348 -0
  78. package/dist/scripts/22.chunk.js.map +1 -0
  79. package/dist/scripts/23.chunk.js +1181 -0
  80. package/dist/scripts/23.chunk.js.map +1 -0
  81. package/dist/scripts/24.chunk.js +1141 -0
  82. package/dist/scripts/24.chunk.js.map +1 -0
  83. package/dist/scripts/25.chunk.js +907 -0
  84. package/dist/scripts/25.chunk.js.map +1 -0
  85. package/dist/scripts/26.chunk.js +979 -0
  86. package/dist/scripts/26.chunk.js.map +1 -0
  87. package/dist/scripts/27.chunk.js +655 -0
  88. package/dist/scripts/27.chunk.js.map +1 -0
  89. package/dist/scripts/28.chunk.js +615 -0
  90. package/dist/scripts/28.chunk.js.map +1 -0
  91. package/dist/scripts/29.chunk.js +622 -0
  92. package/dist/scripts/29.chunk.js.map +1 -0
  93. package/dist/scripts/{3-f01af775f2.chunk.js → 3-7c3e2f071d.chunk.js} +1 -1
  94. package/dist/scripts/3.chunk.js +809 -0
  95. package/dist/scripts/3.chunk.js.map +1 -0
  96. package/dist/scripts/30.chunk.js +468 -0
  97. package/dist/scripts/30.chunk.js.map +1 -0
  98. package/dist/scripts/31.chunk.js +441 -0
  99. package/dist/scripts/31.chunk.js.map +1 -0
  100. package/dist/scripts/32.chunk.js +509 -0
  101. package/dist/scripts/32.chunk.js.map +1 -0
  102. package/dist/scripts/33.chunk.js +957 -0
  103. package/dist/scripts/33.chunk.js.map +1 -0
  104. package/dist/scripts/34.chunk.js +502 -0
  105. package/dist/scripts/34.chunk.js.map +1 -0
  106. package/dist/scripts/35.chunk.js +938 -0
  107. package/dist/scripts/35.chunk.js.map +1 -0
  108. package/dist/scripts/36.chunk.js +537 -0
  109. package/dist/scripts/36.chunk.js.map +1 -0
  110. package/dist/scripts/37.chunk.js +414 -0
  111. package/dist/scripts/37.chunk.js.map +1 -0
  112. package/dist/scripts/38.chunk.js +245 -0
  113. package/dist/scripts/38.chunk.js.map +1 -0
  114. package/dist/scripts/39.chunk.js +337 -0
  115. package/dist/scripts/39.chunk.js.map +1 -0
  116. package/dist/scripts/4.chunk.js +402 -0
  117. package/dist/scripts/4.chunk.js.map +1 -0
  118. package/dist/scripts/40.chunk.js +350 -0
  119. package/dist/scripts/40.chunk.js.map +1 -0
  120. package/dist/scripts/41.chunk.js +343 -0
  121. package/dist/scripts/41.chunk.js.map +1 -0
  122. package/dist/scripts/42.chunk.js +404 -0
  123. package/dist/scripts/42.chunk.js.map +1 -0
  124. package/dist/scripts/43.chunk.js +221 -0
  125. package/dist/scripts/43.chunk.js.map +1 -0
  126. package/dist/scripts/44.chunk.js +230 -0
  127. package/dist/scripts/44.chunk.js.map +1 -0
  128. package/dist/scripts/45.chunk.js +409 -0
  129. package/dist/scripts/45.chunk.js.map +1 -0
  130. package/dist/scripts/46.chunk.js +272 -0
  131. package/dist/scripts/46.chunk.js.map +1 -0
  132. package/dist/scripts/47.chunk.js +267 -0
  133. package/dist/scripts/47.chunk.js.map +1 -0
  134. package/dist/scripts/48.chunk.js +359 -0
  135. package/dist/scripts/48.chunk.js.map +1 -0
  136. package/dist/scripts/49.chunk.js +225 -0
  137. package/dist/scripts/49.chunk.js.map +1 -0
  138. package/dist/scripts/5.chunk.js +1104 -0
  139. package/dist/scripts/5.chunk.js.map +1 -0
  140. package/dist/scripts/50.chunk.js +318 -0
  141. package/dist/scripts/50.chunk.js.map +1 -0
  142. package/dist/scripts/51.chunk.js +64 -0
  143. package/dist/scripts/51.chunk.js.map +1 -0
  144. package/dist/scripts/52.chunk.js +108 -0
  145. package/dist/scripts/52.chunk.js.map +1 -0
  146. package/dist/scripts/53.chunk.js +110 -0
  147. package/dist/scripts/53.chunk.js.map +1 -0
  148. package/dist/scripts/54.chunk.js +162 -0
  149. package/dist/scripts/54.chunk.js.map +1 -0
  150. package/dist/scripts/55.chunk.js +145 -0
  151. package/dist/scripts/55.chunk.js.map +1 -0
  152. package/dist/scripts/56.chunk.js +139 -0
  153. package/dist/scripts/56.chunk.js.map +1 -0
  154. package/dist/scripts/57.chunk.js +142 -0
  155. package/dist/scripts/57.chunk.js.map +1 -0
  156. package/dist/scripts/58.chunk.js +173 -0
  157. package/dist/scripts/58.chunk.js.map +1 -0
  158. package/dist/scripts/59.chunk.js +160 -0
  159. package/dist/scripts/59.chunk.js.map +1 -0
  160. package/dist/scripts/6.chunk.js +335 -0
  161. package/dist/scripts/6.chunk.js.map +1 -0
  162. package/dist/scripts/60.chunk.js +98 -0
  163. package/dist/scripts/60.chunk.js.map +1 -0
  164. package/dist/scripts/61.chunk.js +48 -0
  165. package/dist/scripts/61.chunk.js.map +1 -0
  166. package/dist/scripts/62.chunk.js +70 -0
  167. package/dist/scripts/62.chunk.js.map +1 -0
  168. package/dist/scripts/63.chunk.js +32 -0
  169. package/dist/scripts/63.chunk.js.map +1 -0
  170. package/dist/scripts/64.chunk.js +29 -0
  171. package/dist/scripts/64.chunk.js.map +1 -0
  172. package/dist/scripts/65.chunk.js +27 -0
  173. package/dist/scripts/65.chunk.js.map +1 -0
  174. package/dist/scripts/66.chunk.js +65 -0
  175. package/dist/scripts/66.chunk.js.map +1 -0
  176. package/dist/scripts/67.chunk.js +67 -0
  177. package/dist/scripts/67.chunk.js.map +1 -0
  178. package/dist/scripts/68.chunk.js +104 -0
  179. package/dist/scripts/68.chunk.js.map +1 -0
  180. package/dist/scripts/69.chunk.js +89 -0
  181. package/dist/scripts/69.chunk.js.map +1 -0
  182. package/dist/scripts/7.chunk.js +2579 -0
  183. package/dist/scripts/7.chunk.js.map +1 -0
  184. package/dist/scripts/70.chunk.js +1001 -0
  185. package/dist/scripts/70.chunk.js.map +1 -0
  186. package/dist/scripts/71.chunk.js +36 -0
  187. package/dist/scripts/71.chunk.js.map +1 -0
  188. package/dist/scripts/8.chunk.js +24 -0
  189. package/dist/scripts/8.chunk.js.map +1 -0
  190. package/dist/scripts/9.chunk.js +327 -0
  191. package/dist/scripts/9.chunk.js.map +1 -0
  192. package/dist/scripts/{bundle-5ecb0c9441.min.js → bundle-df3f2fe30a.min.js} +1 -1
  193. package/dist/scripts/bundle.js +38145 -0
  194. package/dist/scripts/bundle.js.map +1 -0
  195. package/dist/scripts/bundles.json +1 -1
  196. package/dist/scripts/polyfills.js +15232 -0
  197. package/dist/scripts/polyfills.js.map +1 -0
  198. package/package.json +1 -1
  199. package/dist/scripts/14-9f08e07fae.chunk.js +0 -1
  200. package/dist/scripts/3-6e2ac46662.chunk.js +0 -7
  201. package/dist/scripts/4-ea79bf1533.chunk.js +0 -1
  202. package/dist/scripts/bundle-25efc68e8d.min.js +0 -1
  203. package/dist/scripts/bundle-c6241bd7ac.min.js +0 -1
  204. package/dist/scripts/bundle-ece1c21857.min.js +0 -1
  205. /package/dist/scripts/{0-d95e8444c4.chunk.js → 0-531d6e6349.chunk.js} +0 -0
  206. /package/dist/scripts/{11-d419aa0984.chunk.js → 11-8f0bdf9018.chunk.js} +0 -0
  207. /package/dist/scripts/{12-b38a27f951.chunk.js → 12-48ed970d19.chunk.js} +0 -0
  208. /package/dist/scripts/{13-1ad100c6fa.chunk.js → 13-b0f32ba098.chunk.js} +0 -0
  209. /package/dist/scripts/{14-ffa8f0cdc3.chunk.js → 14-3fdae3a2e0.chunk.js} +0 -0
  210. /package/dist/scripts/{15-ee9fb81b9f.chunk.js → 15-fded12e48f.chunk.js} +0 -0
  211. /package/dist/scripts/{16-8fe78e04c2.chunk.js → 16-adabe89775.chunk.js} +0 -0
  212. /package/dist/scripts/{17-ea7fe3ea28.chunk.js → 17-b2cd7a4b5e.chunk.js} +0 -0
  213. /package/dist/scripts/{18-1bb07c0b9b.chunk.js → 18-40f63a0517.chunk.js} +0 -0
  214. /package/dist/scripts/{19-c869d34687.chunk.js → 19-402b058c2a.chunk.js} +0 -0
  215. /package/dist/scripts/{2-a816feb2a1.chunk.js → 2-2af40ff44f.chunk.js} +0 -0
  216. /package/dist/scripts/{20-43ec005977.chunk.js → 20-6fefb546ab.chunk.js} +0 -0
  217. /package/dist/scripts/{21-8513db8251.chunk.js → 21-a89abdba1d.chunk.js} +0 -0
  218. /package/dist/scripts/{22-d4adb2384c.chunk.js → 22-09dbfdff25.chunk.js} +0 -0
  219. /package/dist/scripts/{23-d8b5b9ad2c.chunk.js → 23-b206a9cf33.chunk.js} +0 -0
  220. /package/dist/scripts/{24-f2913e26e2.chunk.js → 24-7841060223.chunk.js} +0 -0
  221. /package/dist/scripts/{25-68705527ea.chunk.js → 25-a7d11dc1a9.chunk.js} +0 -0
  222. /package/dist/scripts/{26-7d25448f1c.chunk.js → 26-e74d7d8b73.chunk.js} +0 -0
  223. /package/dist/scripts/{27-bab6c9f5c7.chunk.js → 27-98612375ea.chunk.js} +0 -0
  224. /package/dist/scripts/{28-080baa3fbc.chunk.js → 28-bf3436e9a7.chunk.js} +0 -0
  225. /package/dist/scripts/{29-5e9889b68a.chunk.js → 29-4e8053f425.chunk.js} +0 -0
  226. /package/dist/scripts/{30-cdbeea4fc5.chunk.js → 30-52574fd7e7.chunk.js} +0 -0
  227. /package/dist/scripts/{31-6fa4413cdb.chunk.js → 31-a1cd93aead.chunk.js} +0 -0
  228. /package/dist/scripts/{32-d4725d3b7d.chunk.js → 32-3582316ec6.chunk.js} +0 -0
  229. /package/dist/scripts/{33-bec24aab85.chunk.js → 33-c12e2d64d8.chunk.js} +0 -0
  230. /package/dist/scripts/{34-c42c6cf42a.chunk.js → 34-123b98d346.chunk.js} +0 -0
  231. /package/dist/scripts/{35-4512b236f2.chunk.js → 35-0d10217f78.chunk.js} +0 -0
  232. /package/dist/scripts/{36-eede7769b2.chunk.js → 36-926dfeed42.chunk.js} +0 -0
  233. /package/dist/scripts/{37-80ed339c4f.chunk.js → 37-b7eb76b267.chunk.js} +0 -0
  234. /package/dist/scripts/{38-c11d4c88e3.chunk.js → 38-194e4e7a6b.chunk.js} +0 -0
  235. /package/dist/scripts/{39-d0e74fb062.chunk.js → 39-52658e5919.chunk.js} +0 -0
  236. /package/dist/scripts/{4-ca4a9fc001.chunk.js → 4-1069225fdd.chunk.js} +0 -0
  237. /package/dist/scripts/{40-d764e6157b.chunk.js → 40-f894eeb643.chunk.js} +0 -0
  238. /package/dist/scripts/{41-0aa7093354.chunk.js → 41-0185da83f4.chunk.js} +0 -0
  239. /package/dist/scripts/{42-3d8c5fa14c.chunk.js → 42-7dec68cd96.chunk.js} +0 -0
  240. /package/dist/scripts/{43-969806e81e.chunk.js → 43-a0bebde767.chunk.js} +0 -0
  241. /package/dist/scripts/{44-e8e3fef4c3.chunk.js → 44-70673a004e.chunk.js} +0 -0
  242. /package/dist/scripts/{45-d8f70269d6.chunk.js → 45-e4e06801b2.chunk.js} +0 -0
  243. /package/dist/scripts/{46-946ae22c1f.chunk.js → 46-349ff5f0d5.chunk.js} +0 -0
  244. /package/dist/scripts/{47-1579412cd0.chunk.js → 47-42a55c12e2.chunk.js} +0 -0
  245. /package/dist/scripts/{48-fdf97c1c73.chunk.js → 48-8af4070f2b.chunk.js} +0 -0
  246. /package/dist/scripts/{49-970fc479c8.chunk.js → 49-d94fce3ca9.chunk.js} +0 -0
  247. /package/dist/scripts/{5-d1bb14adf6.chunk.js → 5-66270e3a0d.chunk.js} +0 -0
  248. /package/dist/scripts/{50-1257ab0b95.chunk.js → 50-fab4522d40.chunk.js} +0 -0
  249. /package/dist/scripts/{51-ac615445f0.chunk.js → 51-119315f5af.chunk.js} +0 -0
  250. /package/dist/scripts/{52-874629b81c.chunk.js → 52-2f07b899d9.chunk.js} +0 -0
  251. /package/dist/scripts/{53-22e3d0793b.chunk.js → 53-43aaf5b628.chunk.js} +0 -0
  252. /package/dist/scripts/{54-da1a07610c.chunk.js → 54-70394f7bc2.chunk.js} +0 -0
  253. /package/dist/scripts/{55-02647df65c.chunk.js → 55-5f4a32f8ef.chunk.js} +0 -0
  254. /package/dist/scripts/{56-1b6e6349fa.chunk.js → 56-87d38b6834.chunk.js} +0 -0
  255. /package/dist/scripts/{57-8fc09ba02c.chunk.js → 57-b9334f46ba.chunk.js} +0 -0
  256. /package/dist/scripts/{58-8e5cc56c3f.chunk.js → 58-7aedb52028.chunk.js} +0 -0
  257. /package/dist/scripts/{6-0e53df2ece.chunk.js → 6-a888530bed.chunk.js} +0 -0
  258. /package/dist/scripts/{7-26822045b2.chunk.js → 7-7e596a99ba.chunk.js} +0 -0
  259. /package/dist/scripts/{8-7450eff674.chunk.js → 8-abff2ccf3c.chunk.js} +0 -0
  260. /package/dist/scripts/{9-f24f1577dd.chunk.js → 9-58b0e36108.chunk.js} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/div-button/DivButton.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/components/forms/form-checkbox/Checkbox.tsx","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/hooks/UseAlerts.ts","file://C:/ClickView/front-end/clickview/packages/libs/shared/src/utils/EmbedHelper.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/share/copy-embed-html/CopyEmbedHtml.tsx","webpack://@clickview/lite/./src/shared/components/share/copy-embed-html/copy-embed-html.scss?c4aa","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","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/components/toggle-switch/ToggleSwitch.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/flight-requests/ShareRequests.ts","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/views/share/ShareView.tsx","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/views/share/main-view/MainShareView.tsx","webpack://@clickview/lite/./src/shared/views/share/main-view/main-share.scss?4ddf","file://C:/ClickView/front-end/clickview/packages/projects/lite/src/shared/views/share/settings-view/ShareSettingsView.tsx","webpack://@clickview/lite/./src/shared/views/share/settings-view/share-settings.scss?4e9a"],"names":[],"mappings":"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","file":"scripts/24.chunk.js","sourcesContent":["import * as React from 'react';\r\n\r\ninterface DivButtonProps extends React.ButtonHTMLAttributes<HTMLDivElement> {\r\n onClick: (...args: any) => any;\r\n}\r\n\r\n/**\r\n * This element lets us use `div` elements as buttons without losing the accessibility of\r\n * a regular HTML button element\r\n */\r\nexport function DivButton(props: React.PropsWithChildren<DivButtonProps>): JSX.Element {\r\n return (\r\n <div\r\n role='button'\r\n tabIndex={0}\r\n className={`${props.className ? props.className : ''} cursor-pointer`}\r\n onKeyDown={(e: React.KeyboardEvent) => e.key === 'Enter' && props.onClick(e)}\r\n onClick={props.onClick}\r\n style={props.style ? props.style : {}}\r\n >\r\n {props.children}\r\n </div>\r\n );\r\n}","import * as React from 'react';\r\n\r\ninterface CheckboxProps {\r\n id: string;\r\n checked: boolean;\r\n onChange: (event: React.ChangeEvent<HTMLInputElement>) => void;\r\n label?: string;\r\n name?: string;\r\n className?: string;\r\n}\r\n\r\nCheckbox.defaultProps = {\r\n checked: false,\r\n label: '',\r\n className: ''\r\n};\r\n\r\n/**\r\n * Use this checkbox outside of Formik contexts\r\n */\r\nexport function Checkbox(props: CheckboxProps): JSX.Element {\r\n return (\r\n <div className={`custom-control custom-checkbox ${props.className}`}>\r\n <input\r\n type='checkbox'\r\n className='custom-control-input'\r\n id={props.id}\r\n name={props.name}\r\n checked={props.checked}\r\n onChange={props.onChange}\r\n />\r\n <label className='custom-control-label cursor-pointer' htmlFor={props.id}>{props.label}</label>\r\n </div>\r\n );\r\n}","import { useService } from 'libs/common/react/hooks/UseService';\r\nimport { BaseAlertService, BaseAlert, BaseAlertOptions, AlertType, DefaultAlertHeading } from 'libs/common/backbone/services/BaseAlertService';\r\nimport { CommonServices } from 'libs/common/backbone/constants/CommonServices';\r\n\r\nexport const useAlerts = () => {\r\n const alertService = useService<BaseAlertService>(CommonServices.ALERT);\r\n\r\n return {\r\n success(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.success(alertContent)();\r\n },\r\n error(alertContent: string | BaseAlert | BaseAlertOptions): void {\r\n alertService.error(alertContent)();\r\n },\r\n warning(alertContent: string): void {\r\n alertService.createAlert({\r\n type: AlertType.Warning,\r\n heading: DefaultAlertHeading.Warning,\r\n message: alertContent\r\n });\r\n }\r\n };\r\n};","import { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\n\r\nconst namespace = 'shared.shared-utils';\r\n\r\nexport interface EmbedResolution {\r\n width: '100%' | '640' | '1014' | '1280';\r\n height: '100%' | '360' | '576' | '720';\r\n label: string;\r\n}\r\n\r\nexport const EmbedHelper = {\r\n getEmbedResolutions(): EmbedResolution[] {\r\n return [\r\n {\r\n label: LanguageService.getPhrase(namespace, 'responsive'),\r\n width: '100%',\r\n height: '100%'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'small'),\r\n width: '640',\r\n height: '360'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'medium'),\r\n width: '1014',\r\n height: '576'\r\n },\r\n {\r\n label: LanguageService.getPhrase(namespace, 'large'),\r\n width: '1280',\r\n height: '720'\r\n }\r\n ];\r\n }\r\n};","import React from 'react';\r\nimport * as CopyToClipboard from 'react-copy-to-clipboard';\r\nimport { Dropdown } from 'react-bootstrap';\r\n\r\nimport { Checkbox } from 'libs/shared/components/forms/form-checkbox/Checkbox';\r\nimport { EmbedResolution, EmbedHelper } from 'libs/shared/utils/EmbedHelper';\r\nimport { Text, LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\n\r\nimport styles from './copy-embed-html.scss';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\nimport { UserAction, ClickDescriptor } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'share.copyEmbedHtml';\r\n\r\ntype CopyEmbedHtmlProps = PropsWithAnalyticsOptions<{\r\n entityId: string;\r\n shortCode: string;\r\n}>;\r\n\r\nexport function CopyEmbedHtml(props: CopyEmbedHtmlProps): JSX.Element {\r\n const videoSizes = EmbedHelper.getEmbedResolutions();\r\n\r\n const [ copyBtnPhrase, setCopyBtnPhrase ] = React.useState<'copy' | 'copied'>('copy');\r\n const [ autoplay, setAutoplay ] = React.useState(false);\r\n const [ videoSize, setVideoSize ] = React.useState<EmbedResolution>(videoSizes.find(s => s.width === '100%'));\r\n\r\n // TODO: This embed string will likely get generated by the backend once that's done, so this will probably go.\r\n function getEmbedString(): string {\r\n const baseUrl = 'https://localhost:5001/share/embed';\r\n\r\n const dynamicAttributes = videoSize.width === '100%'\r\n ? 'style=\"position:absolute; top:0; left:0; width:100%; height:100%;\"'\r\n : `width=\"${videoSize.width}\" height=\"${videoSize.height}\"`;\r\n\r\n const fixedAttributes = 'frameborder=\"0\" allowfullscreen webkitallowfullscreen mozallowfullscreen';\r\n\r\n const src = `src=\"${baseUrl}/${props.shortCode}?a=${autoplay}\"`;\r\n\r\n return `<iframe ${dynamicAttributes} ${fixedAttributes} ${src}></iframe>`;\r\n }\r\n\r\n function onCopy(): void {\r\n setCopyBtnPhrase('copied');\r\n\r\n AnalyticsHelper.logUserAction({\r\n id: props.entityId,\r\n size: videoSize,\r\n autoplay\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Click,\r\n descriptor: ClickDescriptor.CopyEmbedHtml\r\n }));\r\n }\r\n\r\n const embedString = getEmbedString();\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <label className='m-0'><Text namespace={namespace} phrase='label' /></label>\r\n <div className='position-relative mb-2'>\r\n <textarea\r\n className='form-control rounded w-100 h-100 bg-white border-dark'\r\n spellCheck={false}\r\n value={embedString}\r\n rows={5}\r\n readOnly\r\n />\r\n <div className={`input-group-append rounded ${styles.copyBtnContainer}`}>\r\n <CopyToClipboard onCopy={onCopy} text={embedString}>\r\n <button className={`btn bg-white ${styles.copyBtn}`}>\r\n <Text phrase={copyBtnPhrase} />\r\n </button>\r\n </CopyToClipboard>\r\n </div>\r\n </div>\r\n\r\n <div className='d-flex align-items-center'>\r\n <div className='mr-1'>\r\n <Text phrase='videoSize' />\r\n </div>\r\n <div className='pr-3'>\r\n <Dropdown>\r\n <Dropdown.Toggle id='embed-resolution' variant='outline-dark'>\r\n {videoSize.label}\r\n </Dropdown.Toggle>\r\n\r\n <Dropdown.Menu>\r\n {videoSizes.map(size => (\r\n <Dropdown.Item\r\n key={`${size.width}x${size.height}`}\r\n onClick={() => setVideoSize(size)}\r\n >\r\n {size.label}\r\n </Dropdown.Item>\r\n ))}\r\n </Dropdown.Menu>\r\n </Dropdown>\r\n </div>\r\n\r\n <div className='mr-1'>\r\n <Text phrase='autoplay' />\r\n </div>\r\n <Checkbox id={props.shortCode} checked={autoplay} onChange={() => setAutoplay(!autoplay)} />\r\n </div>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"copyBtnContainer\":\"cv--copyBtnContainer--3SR_7\",\"copyBtn\":\"cv--copyBtn--B_4l9\"};","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\"};","import React from 'react';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\n\r\ninterface ToggleSwitchProps {\r\n onClick: (...args: any) => any;\r\n on: boolean;\r\n disabled?: boolean;\r\n}\r\n\r\nexport function ToggleSwitch(props: ToggleSwitchProps): JSX.Element {\r\n function onClick(...args: any): void {\r\n if (props.disabled)\r\n return;\r\n\r\n props.onClick(...args);\r\n }\r\n\r\n const bootstrapClasses = 'd-inline-block float-right align-top custom-toggle toggle-option';\r\n const onClass = (props.on && !props.disabled) ? 'on' : '';\r\n const disabledClass = props.disabled ? 'disabled' : '';\r\n\r\n return (\r\n <DivButton\r\n onClick={onClick}\r\n className={`${bootstrapClasses} ${onClass} ${disabledClass}`}\r\n >\r\n <span className='handle' />\r\n </DivButton>\r\n );\r\n}","import { Flight } from 'libs/common/flight';\r\nimport { HttpVerbs } from 'libs/common/backbone/enums/HttpVerbs';\r\nimport { WithStatements } from 'shared/constants/WithStatements';\r\n\r\nexport const ShareRequests = {\r\n getShareData(id: string): Flight.Request {\r\n if (!id)\r\n return;\r\n\r\n return {\r\n url: '/api/domain/v1/share',\r\n key: `share:${id}`,\r\n type: HttpVerbs.POST,\r\n data: {\r\n id,\r\n privacy: null\r\n }\r\n };\r\n },\r\n\r\n sharedResource(shortCode: string): Flight.Request {\r\n return {\r\n url: `/api/domain/v2/share/${shortCode}?query=${WithStatements.VIDEO}`,\r\n key: `shared:resource:${shortCode}`\r\n };\r\n }\r\n};","import React from 'react';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { Flight } from 'libs/common/flight';\r\nimport { PopupViewProps, Video, Share, Playlist, Classification, CurrentUser } from 'libs/shared/interfaces';\r\nimport { PlaylistRequests } from 'libs/shared/flight-requests/PlaylistRequests';\r\nimport { ClassificationRequests } from 'libs/shared/flight-requests/ClassificationRequests';\r\nimport { UserRequests } from 'libs/shared/flight-requests/UserRequests';\r\nimport { LanguageNamespaceContext } from 'libs/shared/components/text/Text';\r\nimport { Popup } from 'libs/shared/components/popup/Popup';\r\n\r\nimport { VideoRequests } from 'shared/flight-requests/VideoRequests';\r\nimport { ShareRequests } from 'shared/flight-requests/ShareRequests';\r\nimport { MainShareView } from 'shared/views/share/main-view/MainShareView';\r\nimport { ShareSettingsView } from 'shared/views/share/settings-view/ShareSettingsView';\r\nimport { EntityType, LocationContext, WorkflowPhase } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'shared.share';\r\n\r\nexport type SharableEntity = 'video' | 'playlist' | 'subject';\r\n\r\nconst getFetchFunctionByType = (type: SharableEntity) => {\r\n switch (type) {\r\n case 'video': {\r\n return (id: string) => Flight.useBasicFetch<Video>(VideoRequests.video(id));\r\n }\r\n\r\n case 'playlist': {\r\n return (id: string) => Flight.useBasicFetch<Playlist>(PlaylistRequests.getPlaylist(id));\r\n }\r\n\r\n case 'subject': {\r\n return (id: string, userId: string) => {\r\n return Flight.useBasicFetch<Classification>(ClassificationRequests.classification(id, userId));\r\n };\r\n }\r\n }\r\n};\r\n\r\ninterface ShareViewProps extends PopupViewProps {\r\n entityId: string;\r\n entityType: SharableEntity;\r\n}\r\n\r\nexport function ShareView(props: ShareViewProps): JSX.Element {\r\n const [ showSettings, setShowSettings ] = React.useState(false);\r\n\r\n const currentUser = Flight.useBasicFetch<CurrentUser>(UserRequests.currentUser);\r\n\r\n const fetchFunction = getFetchFunctionByType(props.entityType);\r\n const entity = fetchFunction(props.entityId, currentUser.data?.id);\r\n\r\n const shareData = Flight.useBasicFetch<Share>(ShareRequests.getShareData(entity.data?.id));\r\n\r\n const popupTitle = !showSettings\r\n ? LanguageService.getPhrase(namespace, 'mainTitle', { name: entity.data?.name || '' })\r\n : LanguageService.getPhrase(namespace, 'settingsTitle', { name: entity.data?.name || '' });\r\n\r\n function getAnalyticsEntityType(): EntityType {\r\n switch (props.entityType) {\r\n case 'playlist':\r\n return EntityType.Playlist;\r\n case 'subject':\r\n return EntityType.Classification;\r\n case 'video':\r\n return EntityType.Video;\r\n }\r\n }\r\n\r\n const analyticsOptions = {\r\n entity: getAnalyticsEntityType(),\r\n location: LocationContext.Popup,\r\n workflowPhase: WorkflowPhase.Complete\r\n };\r\n\r\n return (\r\n <LanguageNamespaceContext.Provider value={namespace}>\r\n <Popup\r\n title={popupTitle}\r\n closePopup={props.closePopup}\r\n showLoadingSpinner={!shareData.data}\r\n >\r\n {(() => {\r\n if (!shareData.data)\r\n return <></>;\r\n\r\n return !showSettings\r\n ? <MainShareView\r\n shareData={shareData.data}\r\n entity={entity.data}\r\n entityType={props.entityType}\r\n onClickShowSettings={() => setShowSettings(true)}\r\n analyticsOptions={analyticsOptions}\r\n />\r\n : <ShareSettingsView\r\n shareData={shareData.data}\r\n showMain={() => setShowSettings(false)}\r\n entityId={props.entityId}\r\n analyticsOptions={analyticsOptions}\r\n />;\r\n })()}\r\n </Popup>\r\n </LanguageNamespaceContext.Provider>\r\n );\r\n}","import React from 'react';\r\nimport * as CopyToClipboard from 'react-copy-to-clipboard';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { useAlerts } from 'libs/shared/hooks/UseAlerts';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { BaseObject, Share, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { TokenizedTypeahead } from 'shared/components/share/tokenized-typeahead/TokenizedTypeahead';\r\nimport { ShareeItem } from 'shared/components/share/sharee-item/ShareeItem';\r\n\r\nimport { SharableEntity } from '../ShareView';\r\n\r\nimport styles from './main-share.scss';\r\nimport mockUsers from '../mocks/instant-search-users.json';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { LocationContext, WorkflowPhase, UserAction, EntityType } from 'libs/analytics/interfaces';\r\n\r\nconst namespace = 'shared.share';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ntype MainShareViewProps = PropsWithAnalyticsOptions<{\r\n shareData: Share;\r\n entity: BaseObject;\r\n entityType: SharableEntity;\r\n onClickShowSettings: () => void;\r\n}>;\r\n\r\n// This will need to be updated a fair bit probs once we work out how the backend will look\r\nexport function MainShareView(props: MainShareViewProps): JSX.Element {\r\n const [ showingShareLink, setShowingShareLink ] = React.useState(false);\r\n const [ showCopiedText, setShowCopiedText ] = React.useState(false);\r\n const [ searchSuggestions, setSearchSuggestions ] = React.useState<BaseObject[]>([]);\r\n const [ selections, setSelections ] = React.useState<BaseObject[]>([]);\r\n const [ entitiesSharedTo, setEntitiesSharedTo ] = React.useState<BaseObject[]>([]);\r\n\r\n const alerts = useAlerts();\r\n\r\n React.useEffect(() => {\r\n // Filter out any suggestions that are currently selected\r\n const selectedIds = selections.map(s => s.id);\r\n const filteredSuggestions = mockUsers.filter(user => !selectedIds.includes(user.id));\r\n\r\n setSearchSuggestions(filteredSuggestions);\r\n }, [selections]);\r\n\r\n function onClickShare(): void {\r\n // TODO: Uncomment and move to success callback when backend is in use\r\n AnalyticsHelper.logUserAction({\r\n shareCount: selections.length\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Share\r\n }));\r\n\r\n setEntitiesSharedTo([ ...entitiesSharedTo, ...selections ]);\r\n setSelections([]);\r\n\r\n alerts.success(LanguageService.getPhrase(namespace, 'success', { name: props.entity.name }));\r\n }\r\n\r\n function onClickCreateShareLink(): void {\r\n setShowingShareLink(true);\r\n\r\n // The data used here will need to be updated when this is wired up to a backend\r\n AnalyticsHelper.logUserAction({\r\n shareLink: props.shareData.shortUrl\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Create,\r\n entity: EntityType.ShareLink\r\n }));\r\n }\r\n\r\n function onCopy(): void {\r\n if (showCopiedText)\r\n return;\r\n\r\n setShowCopiedText(true);\r\n setTimeout(() => setShowCopiedText(false), 2000);\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex justify-content-between align-items-center pb-3'>\r\n <TokenizedTypeahead\r\n localSuggestions={searchSuggestions}\r\n selections={selections}\r\n updateSelections={selection => setSelections([ ...selections, selection ])}\r\n removeSelection={id => setSelections(selections.filter(s => s.id !== id))}\r\n placeholder={getPhrase('searchPlaceholder')}\r\n />\r\n {props.entityType === 'playlist' &&\r\n <p className='text-secondary pl-3 mb-0 text-center text-nowrap'><Text phrase='viewOnly' /></p>\r\n }\r\n </div>\r\n\r\n {entitiesSharedTo.length\r\n ? <div>\r\n <h3 className='font-size-normal'><Text phrase='sharedTo' /></h3>\r\n <ul className='list-unstyled'>\r\n {entitiesSharedTo.map(e => (\r\n <li className='mb-2'>\r\n <ShareeItem key={e.id} entity={e} />\r\n </li>\r\n ))}\r\n </ul>\r\n </div>\r\n : <></>\r\n }\r\n\r\n <div className='mx-n3 px-3 pt-3 border-top'>\r\n {selections.length\r\n ? <button onClick={onClickShare} className='btn btn-dark float-right'>\r\n <Text phrase='share' />\r\n </button>\r\n : <>\r\n <div className={showingShareLink ? 'd-flex justify-content-between' : ''}>\r\n <h3 className='h6 mr-auto'><Text phrase='shareLinkInstead' /></h3>\r\n {showingShareLink &&\r\n <DivButton className='cursor-pointer' onClick={props.onClickShowSettings}>\r\n <SvgContainer svgName={cvSvgLibrary.Cog} />\r\n </DivButton>\r\n }\r\n </div>\r\n\r\n <div className='d-flex justify-content-between align-items-center'>\r\n <div className={`d-flex align-items-center ${showingShareLink ? 'w-100' : 'w-75'}`}>\r\n {showingShareLink\r\n ? <>\r\n <input\r\n type='text'\r\n id='share-link'\r\n autoComplete='off'\r\n className={`form-control bg-white border-dark ${styles.shareLink}`}\r\n spellCheck={false}\r\n value={props.shareData.shortUrl}\r\n readOnly\r\n />\r\n <CopyToClipboard text={props.shareData.shortUrl}>\r\n <DivButton\r\n className={`input-group-append border border-dark text-nowrap px-2 py-1 ${styles.copyBtn}`}\r\n onClick={onCopy}\r\n >\r\n <Text phrase={showCopiedText ? 'copiedLink' : 'copyLink'} />\r\n </DivButton>\r\n </CopyToClipboard>\r\n </>\r\n : <>\r\n <SvgContainer className='mr-1 svg-container' svgName={cvSvgLibrary.VisibleOn} />\r\n <Text phrase='publicLinkInfo' />\r\n </>\r\n }\r\n </div>\r\n {!showingShareLink &&\r\n <DivButton className='info-link' onClick={onClickCreateShareLink}>\r\n <Text phrase='createLink' />\r\n </DivButton>\r\n }\r\n </div>\r\n </>\r\n }\r\n </div>\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"shareLink\":\"cv--shareLink--cFx7z\",\"copyBtn\":\"cv--copyBtn--mrGX3\"};","import React from 'react';\r\n\r\nimport { LanguageService } from 'libs/common/backbone/services/LanguageService';\r\nimport { UserAction, EntityType } from 'libs/analytics/interfaces';\r\nimport { AnalyticsHelper } from 'libs/analytics/AnalyticsHelper';\r\nimport { PopupButtons } from 'libs/shared/components/popup/PopupButtons';\r\nimport { SvgContainer } from 'libs/shared/components/svg-container/SvgContainer';\r\nimport { Text } from 'libs/shared/components/text/Text';\r\nimport { DivButton } from 'libs/shared/components/div-button/DivButton';\r\nimport { cvSvgLibrary } from 'libs/shared/utils/SvgHelper';\r\nimport { Share, PropsWithAnalyticsOptions } from 'libs/shared/interfaces';\r\n\r\nimport { ToggleSwitch } from 'shared/components/toggle-switch/ToggleSwitch';\r\nimport { CopyEmbedHtml } from 'shared/components/share/copy-embed-html/CopyEmbedHtml';\r\n\r\nimport styles from './share-settings.scss';\r\n\r\nconst namespace = 'shared.share';\r\nconst getPhrase = LanguageService.encloseNamespace(namespace);\r\n\r\ntype ShareSettingsViewProps = PropsWithAnalyticsOptions<{\r\n shareData: Share;\r\n showMain: () => void;\r\n entityId: string;\r\n}>;\r\n\r\nexport function ShareSettingsView(props: ShareSettingsViewProps): JSX.Element {\r\n const [ expireLink, setExpireLink ] = React.useState(false);\r\n const [ passwordProtectLink, setPasswordProtectLink ] = React.useState(false);\r\n const [ revealPassword, setRevealPassword ] = React.useState(false);\r\n const [ linkPassword, setLinkPassword ] = React.useState('');\r\n\r\n function onClickDeleteLink(): void {\r\n // TODO: delete link\r\n\r\n AnalyticsHelper.logUserAction({\r\n shareLink: props.shareData.shortUrl\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Delete,\r\n entity: EntityType.ShareLink\r\n }));\r\n\r\n props.showMain();\r\n }\r\n\r\n function onClickSave(): void {\r\n // TODO: Wire up to backend\r\n\r\n AnalyticsHelper.logUserAction({\r\n hasPassword: !!linkPassword,\r\n willExpire: expireLink\r\n }, AnalyticsHelper.mergeOptions(props.analyticsOptions, {\r\n actionType: UserAction.Edit,\r\n entity: EntityType.ShareLink\r\n }));\r\n\r\n props.showMain();\r\n }\r\n\r\n function onChangePassword(e: React.ChangeEvent<HTMLInputElement>): void {\r\n setLinkPassword(e.currentTarget.value);\r\n }\r\n\r\n return (\r\n <>\r\n <div className='d-flex align-items-center pb-3'>\r\n <SvgContainer className='mr-1 svg-container' svgName={cvSvgLibrary.VisibleOn} />\r\n <div className='mr-auto'><Text phrase='publicLinkInfo' /></div>\r\n <DivButton onClick={onClickDeleteLink} className='info-link'>\r\n <Text phrase='deleteLink' />\r\n </DivButton>\r\n </div>\r\n\r\n <div className='d-flex justify-content-between align-items-center pb-3'>\r\n <div>\r\n <label className='m-0' htmlFor=''><Text phrase='linkExpirationHeading' /></label>\r\n <p className='m-0'><Text phrase='linkExpirationInfo' /></p>\r\n </div>\r\n <ToggleSwitch onClick={() => setExpireLink(!expireLink)} on={expireLink} />\r\n </div>\r\n\r\n <div className='pb-3'>\r\n <div className='d-flex justify-content-between align-items-center'>\r\n <div>\r\n <label className='m-0' htmlFor=''><Text phrase='passwordProtectHeading' /></label>\r\n <p className='m-0'><Text phrase='passwordProtectInfo' /></p>\r\n </div>\r\n <ToggleSwitch onClick={() => setPasswordProtectLink(!passwordProtectLink)} on={passwordProtectLink} />\r\n </div>\r\n\r\n {passwordProtectLink &&\r\n <div className='position-relative w-75 mt-2'>\r\n <input\r\n className='form-control'\r\n value={linkPassword}\r\n onChange={onChangePassword}\r\n type={revealPassword ? 'text' : 'password'}\r\n placeholder={getPhrase('passwordPlaceholder')}\r\n />\r\n <DivButton className={styles.passwordVisibilityToggle} onClick={() => setRevealPassword(!revealPassword)}>\r\n <SvgContainer svgName={revealPassword ? cvSvgLibrary.VisibleOn : cvSvgLibrary.VisibleOff} />\r\n </DivButton>\r\n </div>\r\n }\r\n </div>\r\n\r\n <div className='pb-3'>\r\n <CopyEmbedHtml\r\n entityId={props.entityId}\r\n shortCode={props.shareData.shortCode}\r\n analyticsOptions={props.analyticsOptions}\r\n />\r\n </div>\r\n\r\n <PopupButtons buttons={[\r\n {\r\n variant: 'outline-dark',\r\n onClick: props.showMain,\r\n buttonText: getPhrase('cancel')\r\n },\r\n {\r\n variant: 'dark',\r\n onClick: onClickSave,\r\n buttonText: getPhrase('save')\r\n }\r\n ]} />\r\n </>\r\n );\r\n}","// extracted by mini-css-extract-plugin\nmodule.exports = {\"passwordVisibilityToggle\":\"cv--passwordVisibilityToggle--4X-7U\"};"],"sourceRoot":""}