@concord-consortium/cloud-file-manager 2.0.0-pre.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 (486) hide show
  1. package/dist/autolaunch/autolaunch.css +220 -0
  2. package/dist/autolaunch/autolaunch.html +133 -0
  3. package/dist/autolaunch/autolaunch.js +3 -0
  4. package/dist/autolaunch/autolaunch.js.LICENSE.txt +16 -0
  5. package/dist/autolaunch/autolaunch.js.map +1 -0
  6. package/dist/cjs/app-options.d.ts +118 -0
  7. package/dist/cjs/app-options.js +6 -0
  8. package/dist/cjs/app-options.js.map +1 -0
  9. package/dist/cjs/client.d.ts +165 -0
  10. package/dist/cjs/client.js +1391 -0
  11. package/dist/cjs/client.js.map +1 -0
  12. package/dist/cjs/cloud-file-manager.d.ts +16 -0
  13. package/dist/cjs/cloud-file-manager.js +79 -0
  14. package/dist/cjs/cloud-file-manager.js.map +1 -0
  15. package/dist/cjs/create-react-factory.d.ts +3 -0
  16. package/dist/cjs/create-react-factory.js +14 -0
  17. package/dist/cjs/create-react-factory.js.map +1 -0
  18. package/dist/cjs/index.d.ts +4 -0
  19. package/dist/cjs/index.js +21 -0
  20. package/dist/cjs/index.js.map +1 -0
  21. package/dist/cjs/lib/file-saver.d.ts +2 -0
  22. package/dist/cjs/lib/file-saver.js +164 -0
  23. package/dist/cjs/lib/file-saver.js.map +1 -0
  24. package/dist/cjs/providers/document-store-provider.d.ts +48 -0
  25. package/dist/cjs/providers/document-store-provider.js +541 -0
  26. package/dist/cjs/providers/document-store-provider.js.map +1 -0
  27. package/dist/cjs/providers/document-store-share-provider.d.ts +17 -0
  28. package/dist/cjs/providers/document-store-share-provider.js +126 -0
  29. package/dist/cjs/providers/document-store-share-provider.js.map +1 -0
  30. package/dist/cjs/providers/document-store-url.d.ts +32 -0
  31. package/dist/cjs/providers/document-store-url.js +75 -0
  32. package/dist/cjs/providers/document-store-url.js.map +1 -0
  33. package/dist/cjs/providers/google-drive-provider.d.ts +75 -0
  34. package/dist/cjs/providers/google-drive-provider.js +684 -0
  35. package/dist/cjs/providers/google-drive-provider.js.map +1 -0
  36. package/dist/cjs/providers/interactive-api-provider.d.ts +55 -0
  37. package/dist/cjs/providers/interactive-api-provider.js +382 -0
  38. package/dist/cjs/providers/interactive-api-provider.js.map +1 -0
  39. package/dist/cjs/providers/lara-provider.d.ts +47 -0
  40. package/dist/cjs/providers/lara-provider.js +547 -0
  41. package/dist/cjs/providers/lara-provider.js.map +1 -0
  42. package/dist/cjs/providers/legacy-google-drive-provider.d.ts +74 -0
  43. package/dist/cjs/providers/legacy-google-drive-provider.js +600 -0
  44. package/dist/cjs/providers/legacy-google-drive-provider.js.map +1 -0
  45. package/dist/cjs/providers/local-file-provider.d.ts +16 -0
  46. package/dist/cjs/providers/local-file-provider.js +65 -0
  47. package/dist/cjs/providers/local-file-provider.js.map +1 -0
  48. package/dist/cjs/providers/localstorage-provider.d.ts +20 -0
  49. package/dist/cjs/providers/localstorage-provider.js +122 -0
  50. package/dist/cjs/providers/localstorage-provider.js.map +1 -0
  51. package/dist/cjs/providers/patchable-content.d.ts +16 -0
  52. package/dist/cjs/providers/patchable-content.js +65 -0
  53. package/dist/cjs/providers/patchable-content.js.map +1 -0
  54. package/dist/cjs/providers/post-message-provider.d.ts +12 -0
  55. package/dist/cjs/providers/post-message-provider.js +39 -0
  56. package/dist/cjs/providers/post-message-provider.js.map +1 -0
  57. package/dist/cjs/providers/provider-interface.d.ts +168 -0
  58. package/dist/cjs/providers/provider-interface.js +399 -0
  59. package/dist/cjs/providers/provider-interface.js.map +1 -0
  60. package/dist/cjs/providers/readonly-provider.d.ts +22 -0
  61. package/dist/cjs/providers/readonly-provider.js +303 -0
  62. package/dist/cjs/providers/readonly-provider.js.map +1 -0
  63. package/dist/cjs/providers/s3-provider.d.ts +14 -0
  64. package/dist/cjs/providers/s3-provider.js +109 -0
  65. package/dist/cjs/providers/s3-provider.js.map +1 -0
  66. package/dist/cjs/providers/s3-share-provider.d.ts +18 -0
  67. package/dist/cjs/providers/s3-share-provider.js +124 -0
  68. package/dist/cjs/providers/s3-share-provider.js.map +1 -0
  69. package/dist/cjs/providers/share-provider-interface.d.ts +15 -0
  70. package/dist/cjs/providers/share-provider-interface.js +3 -0
  71. package/dist/cjs/providers/share-provider-interface.js.map +1 -0
  72. package/dist/cjs/providers/test-provider.d.ts +26 -0
  73. package/dist/cjs/providers/test-provider.js +73 -0
  74. package/dist/cjs/providers/test-provider.js.map +1 -0
  75. package/dist/cjs/providers/url-provider.d.ts +13 -0
  76. package/dist/cjs/providers/url-provider.js +58 -0
  77. package/dist/cjs/providers/url-provider.js.map +1 -0
  78. package/dist/cjs/ui.d.ts +51 -0
  79. package/dist/cjs/ui.js +216 -0
  80. package/dist/cjs/ui.js.map +1 -0
  81. package/dist/cjs/utils/config.d.ts +6 -0
  82. package/dist/cjs/utils/config.js +10 -0
  83. package/dist/cjs/utils/config.js.map +1 -0
  84. package/dist/cjs/utils/get-hash-param.d.ts +1 -0
  85. package/dist/cjs/utils/get-hash-param.js +24 -0
  86. package/dist/cjs/utils/get-hash-param.js.map +1 -0
  87. package/dist/cjs/utils/get-query-param.d.ts +1 -0
  88. package/dist/cjs/utils/get-query-param.js +23 -0
  89. package/dist/cjs/utils/get-query-param.js.map +1 -0
  90. package/dist/cjs/utils/is-array.d.ts +2 -0
  91. package/dist/cjs/utils/is-array.js +4 -0
  92. package/dist/cjs/utils/is-array.js.map +1 -0
  93. package/dist/cjs/utils/is-empty-object.d.ts +1 -0
  94. package/dist/cjs/utils/is-empty-object.js +7 -0
  95. package/dist/cjs/utils/is-empty-object.js.map +1 -0
  96. package/dist/cjs/utils/is-string.d.ts +2 -0
  97. package/dist/cjs/utils/is-string.js +4 -0
  98. package/dist/cjs/utils/is-string.js.map +1 -0
  99. package/dist/cjs/utils/lang/de.json +156 -0
  100. package/dist/cjs/utils/lang/el.json +156 -0
  101. package/dist/cjs/utils/lang/en-US.json +156 -0
  102. package/dist/cjs/utils/lang/es.json +156 -0
  103. package/dist/cjs/utils/lang/fa.json +156 -0
  104. package/dist/cjs/utils/lang/he.json +156 -0
  105. package/dist/cjs/utils/lang/ja.json +156 -0
  106. package/dist/cjs/utils/lang/ko.json +156 -0
  107. package/dist/cjs/utils/lang/nb.json +156 -0
  108. package/dist/cjs/utils/lang/nn.json +156 -0
  109. package/dist/cjs/utils/lang/pl.json +156 -0
  110. package/dist/cjs/utils/lang/pt-BR.json +156 -0
  111. package/dist/cjs/utils/lang/th.json +156 -0
  112. package/dist/cjs/utils/lang/tr.json +156 -0
  113. package/dist/cjs/utils/lang/zh-Hans.json +156 -0
  114. package/dist/cjs/utils/lang/zh-TW.json +156 -0
  115. package/dist/cjs/utils/report-error.d.ts +1 -0
  116. package/dist/cjs/utils/report-error.js +10 -0
  117. package/dist/cjs/utils/report-error.js.map +1 -0
  118. package/dist/cjs/utils/s3-share-provider-token-service-helper.d.ts +21 -0
  119. package/dist/cjs/utils/s3-share-provider-token-service-helper.js +97 -0
  120. package/dist/cjs/utils/s3-share-provider-token-service-helper.js.map +1 -0
  121. package/dist/cjs/utils/translate.d.ts +3 -0
  122. package/dist/cjs/utils/translate.js +108 -0
  123. package/dist/cjs/utils/translate.js.map +1 -0
  124. package/dist/cjs/utils/url-params.d.ts +2 -0
  125. package/dist/cjs/utils/url-params.js +16 -0
  126. package/dist/cjs/utils/url-params.js.map +1 -0
  127. package/dist/cjs/views/alert-dialog-view.d.ts +3 -0
  128. package/dist/cjs/views/alert-dialog-view.js +32 -0
  129. package/dist/cjs/views/alert-dialog-view.js.map +1 -0
  130. package/dist/cjs/views/app-view.d.ts +49 -0
  131. package/dist/cjs/views/app-view.js +272 -0
  132. package/dist/cjs/views/app-view.js.map +1 -0
  133. package/dist/cjs/views/authorize-mixin.d.ts +10 -0
  134. package/dist/cjs/views/authorize-mixin.js +69 -0
  135. package/dist/cjs/views/authorize-mixin.js.map +1 -0
  136. package/dist/cjs/views/blocking-modal-view.d.ts +3 -0
  137. package/dist/cjs/views/blocking-modal-view.js +32 -0
  138. package/dist/cjs/views/blocking-modal-view.js.map +1 -0
  139. package/dist/cjs/views/confirm-dialog-view.d.ts +3 -0
  140. package/dist/cjs/views/confirm-dialog-view.js +40 -0
  141. package/dist/cjs/views/confirm-dialog-view.js.map +1 -0
  142. package/dist/cjs/views/download-dialog-view.d.ts +3 -0
  143. package/dist/cjs/views/download-dialog-view.js +79 -0
  144. package/dist/cjs/views/download-dialog-view.js.map +1 -0
  145. package/dist/cjs/views/dropdown-anchors.d.ts +4 -0
  146. package/dist/cjs/views/dropdown-anchors.js +17 -0
  147. package/dist/cjs/views/dropdown-anchors.js.map +1 -0
  148. package/dist/cjs/views/dropdown-view.d.ts +3 -0
  149. package/dist/cjs/views/dropdown-view.js +152 -0
  150. package/dist/cjs/views/dropdown-view.js.map +1 -0
  151. package/dist/cjs/views/file-dialog-tab-view.d.ts +3 -0
  152. package/dist/cjs/views/file-dialog-tab-view.js +405 -0
  153. package/dist/cjs/views/file-dialog-tab-view.js.map +1 -0
  154. package/dist/cjs/views/icons/spin.d.ts +5 -0
  155. package/dist/cjs/views/icons/spin.js +46 -0
  156. package/dist/cjs/views/icons/spin.js.map +1 -0
  157. package/dist/cjs/views/import-tabbed-dialog-view.d.ts +3 -0
  158. package/dist/cjs/views/import-tabbed-dialog-view.js +78 -0
  159. package/dist/cjs/views/import-tabbed-dialog-view.js.map +1 -0
  160. package/dist/cjs/views/local-file-tab-list-view.d.ts +3 -0
  161. package/dist/cjs/views/local-file-tab-list-view.js +84 -0
  162. package/dist/cjs/views/local-file-tab-list-view.js.map +1 -0
  163. package/dist/cjs/views/local-file-tab-save-view.d.ts +3 -0
  164. package/dist/cjs/views/local-file-tab-save-view.js +157 -0
  165. package/dist/cjs/views/local-file-tab-save-view.js.map +1 -0
  166. package/dist/cjs/views/menu-bar-view.d.ts +3 -0
  167. package/dist/cjs/views/menu-bar-view.js +201 -0
  168. package/dist/cjs/views/menu-bar-view.js.map +1 -0
  169. package/dist/cjs/views/modal-dialog-view.d.ts +8 -0
  170. package/dist/cjs/views/modal-dialog-view.js +18 -0
  171. package/dist/cjs/views/modal-dialog-view.js.map +1 -0
  172. package/dist/cjs/views/modal-tabbed-dialog-view.d.ts +3 -0
  173. package/dist/cjs/views/modal-tabbed-dialog-view.js +25 -0
  174. package/dist/cjs/views/modal-tabbed-dialog-view.js.map +1 -0
  175. package/dist/cjs/views/modal-view.d.ts +36 -0
  176. package/dist/cjs/views/modal-view.js +70 -0
  177. package/dist/cjs/views/modal-view.js.map +1 -0
  178. package/dist/cjs/views/provider-tabbed-dialog-view.d.ts +3 -0
  179. package/dist/cjs/views/provider-tabbed-dialog-view.js +67 -0
  180. package/dist/cjs/views/provider-tabbed-dialog-view.js.map +1 -0
  181. package/dist/cjs/views/rename-dialog-view.d.ts +3 -0
  182. package/dist/cjs/views/rename-dialog-view.js +60 -0
  183. package/dist/cjs/views/rename-dialog-view.js.map +1 -0
  184. package/dist/cjs/views/select-interactive-state-dialog-view.d.ts +22 -0
  185. package/dist/cjs/views/select-interactive-state-dialog-view.js +93 -0
  186. package/dist/cjs/views/select-interactive-state-dialog-view.js.map +1 -0
  187. package/dist/cjs/views/select-provider-dialog-tab-view.d.ts +2 -0
  188. package/dist/cjs/views/select-provider-dialog-tab-view.js +16 -0
  189. package/dist/cjs/views/select-provider-dialog-tab-view.js.map +1 -0
  190. package/dist/cjs/views/share-dialog-status-view.d.ts +9 -0
  191. package/dist/cjs/views/share-dialog-status-view.js +24 -0
  192. package/dist/cjs/views/share-dialog-status-view.js.map +1 -0
  193. package/dist/cjs/views/share-dialog-tabs-view.d.ts +45 -0
  194. package/dist/cjs/views/share-dialog-tabs-view.js +93 -0
  195. package/dist/cjs/views/share-dialog-tabs-view.js.map +1 -0
  196. package/dist/cjs/views/share-dialog-view.d.ts +50 -0
  197. package/dist/cjs/views/share-dialog-view.js +220 -0
  198. package/dist/cjs/views/share-dialog-view.js.map +1 -0
  199. package/dist/cjs/views/share-loading-view.d.ts +2 -0
  200. package/dist/cjs/views/share-loading-view.js +16 -0
  201. package/dist/cjs/views/share-loading-view.js.map +1 -0
  202. package/dist/cjs/views/tabbed-panel-view.d.ts +3 -0
  203. package/dist/cjs/views/tabbed-panel-view.js +79 -0
  204. package/dist/cjs/views/tabbed-panel-view.js.map +1 -0
  205. package/dist/cjs/views/url-tab-view.d.ts +3 -0
  206. package/dist/cjs/views/url-tab-view.js +67 -0
  207. package/dist/cjs/views/url-tab-view.js.map +1 -0
  208. package/dist/css/app.css +6 -0
  209. package/dist/css/app.css.map +1 -0
  210. package/dist/esm/app-options.d.ts +118 -0
  211. package/dist/esm/app-options.js +2 -0
  212. package/dist/esm/app-options.js.map +1 -0
  213. package/dist/esm/client.d.ts +165 -0
  214. package/dist/esm/client.js +1384 -0
  215. package/dist/esm/client.js.map +1 -0
  216. package/dist/esm/cloud-file-manager.d.ts +16 -0
  217. package/dist/esm/cloud-file-manager.js +72 -0
  218. package/dist/esm/cloud-file-manager.js.map +1 -0
  219. package/dist/esm/create-react-factory.d.ts +3 -0
  220. package/dist/esm/create-react-factory.js +6 -0
  221. package/dist/esm/create-react-factory.js.map +1 -0
  222. package/dist/esm/index.d.ts +4 -0
  223. package/dist/esm/index.js +5 -0
  224. package/dist/esm/index.js.map +1 -0
  225. package/dist/esm/lib/file-saver.d.ts +2 -0
  226. package/dist/esm/lib/file-saver.js +164 -0
  227. package/dist/esm/lib/file-saver.js.map +1 -0
  228. package/dist/esm/providers/document-store-provider.d.ts +48 -0
  229. package/dist/esm/providers/document-store-provider.js +536 -0
  230. package/dist/esm/providers/document-store-provider.js.map +1 -0
  231. package/dist/esm/providers/document-store-share-provider.d.ts +17 -0
  232. package/dist/esm/providers/document-store-share-provider.js +121 -0
  233. package/dist/esm/providers/document-store-share-provider.js.map +1 -0
  234. package/dist/esm/providers/document-store-url.d.ts +32 -0
  235. package/dist/esm/providers/document-store-url.js +73 -0
  236. package/dist/esm/providers/document-store-url.js.map +1 -0
  237. package/dist/esm/providers/google-drive-provider.d.ts +75 -0
  238. package/dist/esm/providers/google-drive-provider.js +656 -0
  239. package/dist/esm/providers/google-drive-provider.js.map +1 -0
  240. package/dist/esm/providers/interactive-api-provider.d.ts +55 -0
  241. package/dist/esm/providers/interactive-api-provider.js +374 -0
  242. package/dist/esm/providers/interactive-api-provider.js.map +1 -0
  243. package/dist/esm/providers/lara-provider.d.ts +47 -0
  244. package/dist/esm/providers/lara-provider.js +542 -0
  245. package/dist/esm/providers/lara-provider.js.map +1 -0
  246. package/dist/esm/providers/legacy-google-drive-provider.d.ts +74 -0
  247. package/dist/esm/providers/legacy-google-drive-provider.js +595 -0
  248. package/dist/esm/providers/legacy-google-drive-provider.js.map +1 -0
  249. package/dist/esm/providers/local-file-provider.d.ts +16 -0
  250. package/dist/esm/providers/local-file-provider.js +60 -0
  251. package/dist/esm/providers/local-file-provider.js.map +1 -0
  252. package/dist/esm/providers/localstorage-provider.d.ts +20 -0
  253. package/dist/esm/providers/localstorage-provider.js +117 -0
  254. package/dist/esm/providers/localstorage-provider.js.map +1 -0
  255. package/dist/esm/providers/patchable-content.d.ts +16 -0
  256. package/dist/esm/providers/patchable-content.js +60 -0
  257. package/dist/esm/providers/patchable-content.js.map +1 -0
  258. package/dist/esm/providers/post-message-provider.d.ts +12 -0
  259. package/dist/esm/providers/post-message-provider.js +34 -0
  260. package/dist/esm/providers/post-message-provider.js.map +1 -0
  261. package/dist/esm/providers/provider-interface.d.ts +168 -0
  262. package/dist/esm/providers/provider-interface.js +389 -0
  263. package/dist/esm/providers/provider-interface.js.map +1 -0
  264. package/dist/esm/providers/readonly-provider.d.ts +22 -0
  265. package/dist/esm/providers/readonly-provider.js +298 -0
  266. package/dist/esm/providers/readonly-provider.js.map +1 -0
  267. package/dist/esm/providers/s3-provider.d.ts +14 -0
  268. package/dist/esm/providers/s3-provider.js +104 -0
  269. package/dist/esm/providers/s3-provider.js.map +1 -0
  270. package/dist/esm/providers/s3-share-provider.d.ts +18 -0
  271. package/dist/esm/providers/s3-share-provider.js +122 -0
  272. package/dist/esm/providers/s3-share-provider.js.map +1 -0
  273. package/dist/esm/providers/share-provider-interface.d.ts +15 -0
  274. package/dist/esm/providers/share-provider-interface.js +2 -0
  275. package/dist/esm/providers/share-provider-interface.js.map +1 -0
  276. package/dist/esm/providers/test-provider.d.ts +26 -0
  277. package/dist/esm/providers/test-provider.js +71 -0
  278. package/dist/esm/providers/test-provider.js.map +1 -0
  279. package/dist/esm/providers/url-provider.d.ts +13 -0
  280. package/dist/esm/providers/url-provider.js +53 -0
  281. package/dist/esm/providers/url-provider.js.map +1 -0
  282. package/dist/esm/ui.d.ts +51 -0
  283. package/dist/esm/ui.js +208 -0
  284. package/dist/esm/ui.js.map +1 -0
  285. package/dist/esm/utils/config.d.ts +6 -0
  286. package/dist/esm/utils/config.js +6 -0
  287. package/dist/esm/utils/config.js.map +1 -0
  288. package/dist/esm/utils/get-hash-param.d.ts +1 -0
  289. package/dist/esm/utils/get-hash-param.js +21 -0
  290. package/dist/esm/utils/get-hash-param.js.map +1 -0
  291. package/dist/esm/utils/get-query-param.d.ts +1 -0
  292. package/dist/esm/utils/get-query-param.js +20 -0
  293. package/dist/esm/utils/get-query-param.js.map +1 -0
  294. package/dist/esm/utils/is-array.d.ts +2 -0
  295. package/dist/esm/utils/is-array.js +2 -0
  296. package/dist/esm/utils/is-array.js.map +1 -0
  297. package/dist/esm/utils/is-empty-object.d.ts +1 -0
  298. package/dist/esm/utils/is-empty-object.js +3 -0
  299. package/dist/esm/utils/is-empty-object.js.map +1 -0
  300. package/dist/esm/utils/is-string.d.ts +2 -0
  301. package/dist/esm/utils/is-string.js +2 -0
  302. package/dist/esm/utils/is-string.js.map +1 -0
  303. package/dist/esm/utils/lang/de.json +156 -0
  304. package/dist/esm/utils/lang/el.json +156 -0
  305. package/dist/esm/utils/lang/en-US.json +156 -0
  306. package/dist/esm/utils/lang/es.json +156 -0
  307. package/dist/esm/utils/lang/fa.json +156 -0
  308. package/dist/esm/utils/lang/he.json +156 -0
  309. package/dist/esm/utils/lang/ja.json +156 -0
  310. package/dist/esm/utils/lang/ko.json +156 -0
  311. package/dist/esm/utils/lang/nb.json +156 -0
  312. package/dist/esm/utils/lang/nn.json +156 -0
  313. package/dist/esm/utils/lang/pl.json +156 -0
  314. package/dist/esm/utils/lang/pt-BR.json +156 -0
  315. package/dist/esm/utils/lang/th.json +156 -0
  316. package/dist/esm/utils/lang/tr.json +156 -0
  317. package/dist/esm/utils/lang/zh-Hans.json +156 -0
  318. package/dist/esm/utils/lang/zh-TW.json +156 -0
  319. package/dist/esm/utils/report-error.d.ts +1 -0
  320. package/dist/esm/utils/report-error.js +6 -0
  321. package/dist/esm/utils/report-error.js.map +1 -0
  322. package/dist/esm/utils/s3-share-provider-token-service-helper.d.ts +21 -0
  323. package/dist/esm/utils/s3-share-provider-token-service-helper.js +87 -0
  324. package/dist/esm/utils/s3-share-provider-token-service-helper.js.map +1 -0
  325. package/dist/esm/utils/translate.d.ts +3 -0
  326. package/dist/esm/utils/translate.js +101 -0
  327. package/dist/esm/utils/translate.js.map +1 -0
  328. package/dist/esm/utils/url-params.d.ts +2 -0
  329. package/dist/esm/utils/url-params.js +14 -0
  330. package/dist/esm/utils/url-params.js.map +1 -0
  331. package/dist/esm/views/alert-dialog-view.d.ts +3 -0
  332. package/dist/esm/views/alert-dialog-view.js +27 -0
  333. package/dist/esm/views/alert-dialog-view.js.map +1 -0
  334. package/dist/esm/views/app-view.d.ts +49 -0
  335. package/dist/esm/views/app-view.js +267 -0
  336. package/dist/esm/views/app-view.js.map +1 -0
  337. package/dist/esm/views/authorize-mixin.d.ts +10 -0
  338. package/dist/esm/views/authorize-mixin.js +67 -0
  339. package/dist/esm/views/authorize-mixin.js.map +1 -0
  340. package/dist/esm/views/blocking-modal-view.d.ts +3 -0
  341. package/dist/esm/views/blocking-modal-view.js +27 -0
  342. package/dist/esm/views/blocking-modal-view.js.map +1 -0
  343. package/dist/esm/views/confirm-dialog-view.d.ts +3 -0
  344. package/dist/esm/views/confirm-dialog-view.js +35 -0
  345. package/dist/esm/views/confirm-dialog-view.js.map +1 -0
  346. package/dist/esm/views/download-dialog-view.d.ts +3 -0
  347. package/dist/esm/views/download-dialog-view.js +74 -0
  348. package/dist/esm/views/download-dialog-view.js.map +1 -0
  349. package/dist/esm/views/dropdown-anchors.d.ts +4 -0
  350. package/dist/esm/views/dropdown-anchors.js +10 -0
  351. package/dist/esm/views/dropdown-anchors.js.map +1 -0
  352. package/dist/esm/views/dropdown-view.d.ts +3 -0
  353. package/dist/esm/views/dropdown-view.js +147 -0
  354. package/dist/esm/views/dropdown-view.js.map +1 -0
  355. package/dist/esm/views/file-dialog-tab-view.d.ts +3 -0
  356. package/dist/esm/views/file-dialog-tab-view.js +400 -0
  357. package/dist/esm/views/file-dialog-tab-view.js.map +1 -0
  358. package/dist/esm/views/icons/spin.d.ts +5 -0
  359. package/dist/esm/views/icons/spin.js +39 -0
  360. package/dist/esm/views/icons/spin.js.map +1 -0
  361. package/dist/esm/views/import-tabbed-dialog-view.d.ts +3 -0
  362. package/dist/esm/views/import-tabbed-dialog-view.js +73 -0
  363. package/dist/esm/views/import-tabbed-dialog-view.js.map +1 -0
  364. package/dist/esm/views/local-file-tab-list-view.d.ts +3 -0
  365. package/dist/esm/views/local-file-tab-list-view.js +79 -0
  366. package/dist/esm/views/local-file-tab-list-view.js.map +1 -0
  367. package/dist/esm/views/local-file-tab-save-view.d.ts +3 -0
  368. package/dist/esm/views/local-file-tab-save-view.js +152 -0
  369. package/dist/esm/views/local-file-tab-save-view.js.map +1 -0
  370. package/dist/esm/views/menu-bar-view.d.ts +3 -0
  371. package/dist/esm/views/menu-bar-view.js +196 -0
  372. package/dist/esm/views/menu-bar-view.js.map +1 -0
  373. package/dist/esm/views/modal-dialog-view.d.ts +8 -0
  374. package/dist/esm/views/modal-dialog-view.js +13 -0
  375. package/dist/esm/views/modal-dialog-view.js.map +1 -0
  376. package/dist/esm/views/modal-tabbed-dialog-view.d.ts +3 -0
  377. package/dist/esm/views/modal-tabbed-dialog-view.js +20 -0
  378. package/dist/esm/views/modal-tabbed-dialog-view.js.map +1 -0
  379. package/dist/esm/views/modal-view.d.ts +36 -0
  380. package/dist/esm/views/modal-view.js +64 -0
  381. package/dist/esm/views/modal-view.js.map +1 -0
  382. package/dist/esm/views/provider-tabbed-dialog-view.d.ts +3 -0
  383. package/dist/esm/views/provider-tabbed-dialog-view.js +62 -0
  384. package/dist/esm/views/provider-tabbed-dialog-view.js.map +1 -0
  385. package/dist/esm/views/rename-dialog-view.d.ts +3 -0
  386. package/dist/esm/views/rename-dialog-view.js +55 -0
  387. package/dist/esm/views/rename-dialog-view.js.map +1 -0
  388. package/dist/esm/views/select-interactive-state-dialog-view.d.ts +22 -0
  389. package/dist/esm/views/select-interactive-state-dialog-view.js +87 -0
  390. package/dist/esm/views/select-interactive-state-dialog-view.js.map +1 -0
  391. package/dist/esm/views/select-provider-dialog-tab-view.d.ts +2 -0
  392. package/dist/esm/views/select-provider-dialog-tab-view.js +11 -0
  393. package/dist/esm/views/select-provider-dialog-tab-view.js.map +1 -0
  394. package/dist/esm/views/share-dialog-status-view.d.ts +9 -0
  395. package/dist/esm/views/share-dialog-status-view.js +17 -0
  396. package/dist/esm/views/share-dialog-status-view.js.map +1 -0
  397. package/dist/esm/views/share-dialog-tabs-view.d.ts +45 -0
  398. package/dist/esm/views/share-dialog-tabs-view.js +83 -0
  399. package/dist/esm/views/share-dialog-tabs-view.js.map +1 -0
  400. package/dist/esm/views/share-dialog-view.d.ts +50 -0
  401. package/dist/esm/views/share-dialog-view.js +214 -0
  402. package/dist/esm/views/share-dialog-view.js.map +1 -0
  403. package/dist/esm/views/share-loading-view.d.ts +2 -0
  404. package/dist/esm/views/share-loading-view.js +9 -0
  405. package/dist/esm/views/share-loading-view.js.map +1 -0
  406. package/dist/esm/views/tabbed-panel-view.d.ts +3 -0
  407. package/dist/esm/views/tabbed-panel-view.js +74 -0
  408. package/dist/esm/views/tabbed-panel-view.js.map +1 -0
  409. package/dist/esm/views/url-tab-view.d.ts +3 -0
  410. package/dist/esm/views/url-tab-view.js +62 -0
  411. package/dist/esm/views/url-tab-view.js.map +1 -0
  412. package/dist/examples/all-providers-react-18.html +74 -0
  413. package/dist/examples/all-providers.html +61 -0
  414. package/dist/examples/auto-saving.html +50 -0
  415. package/dist/examples/client-logging-provider.html +107 -0
  416. package/dist/examples/close-file.html +63 -0
  417. package/dist/examples/deprecate-phase-one.html +60 -0
  418. package/dist/examples/deprecate-phase-three.html +60 -0
  419. package/dist/examples/deprecate-phase-two.html +60 -0
  420. package/dist/examples/enable-demo-extension.html +52 -0
  421. package/dist/examples/enable-lara-sharing.html +51 -0
  422. package/dist/examples/example-app/index.html +133 -0
  423. package/dist/examples/hide-hamburger-2.html +55 -0
  424. package/dist/examples/hide-hamburger.html +34 -0
  425. package/dist/examples/index.html +40 -0
  426. package/dist/examples/interactive-api-provider.html +27 -0
  427. package/dist/examples/language-menu.html +86 -0
  428. package/dist/examples/lara-provider.html +52 -0
  429. package/dist/examples/load-url-query-param.html +54 -0
  430. package/dist/examples/menu-madness.html +67 -0
  431. package/dist/examples/new-does-not-use-new-tab.html +47 -0
  432. package/dist/examples/no-flag-language-menu.html +86 -0
  433. package/dist/examples/no-frame.html +130 -0
  434. package/dist/examples/no-shared-google-drives.html +47 -0
  435. package/dist/examples/read-only-with-folders.html +120 -0
  436. package/dist/examples/show-close-confirm.html +47 -0
  437. package/dist/examples/splash-screen.html +70 -0
  438. package/dist/examples/view-no-frame-nowrap.html +167 -0
  439. package/dist/examples/view-no-frame.html +129 -0
  440. package/dist/favicon.ico +0 -0
  441. package/dist/fonts/CodapIvy.eot +0 -0
  442. package/dist/fonts/CodapIvy.svg +61 -0
  443. package/dist/fonts/CodapIvy.ttf +0 -0
  444. package/dist/fonts/CodapIvy.woff +0 -0
  445. package/dist/fonts/Montserrat-Bold.otf +0 -0
  446. package/dist/fonts/Montserrat-Regular.otf +0 -0
  447. package/dist/fonts/MuseoSans_500.otf +0 -0
  448. package/dist/fonts/MuseoSans_500_Italic.otf +0 -0
  449. package/dist/fonts/icon-menu.eot +0 -0
  450. package/dist/fonts/icon-menu.svg +24 -0
  451. package/dist/fonts/icon-menu.ttf +0 -0
  452. package/dist/fonts/icon-menu.woff +0 -0
  453. package/dist/img/bb-chrome/arrow-collapse.svg +8 -0
  454. package/dist/img/bb-chrome/arrow-expand.svg +8 -0
  455. package/dist/img/bb-chrome/bg-horiz.png +0 -0
  456. package/dist/img/bb-chrome/btn-nodeLink.svg +298 -0
  457. package/dist/img/bb-chrome/chevron-down.png +0 -0
  458. package/dist/img/bb-chrome/chevron-left.png +0 -0
  459. package/dist/img/bb-chrome/chevron-right.png +0 -0
  460. package/dist/img/bb-chrome/chevron-up.png +0 -0
  461. package/dist/img/bb-chrome/global-nav-bg.png +0 -0
  462. package/dist/img/bb-chrome/icon-checkmark.svg +10 -0
  463. package/dist/img/bb-chrome/slider.svg +286 -0
  464. package/dist/img/bb-chrome/spin.svg +54 -0
  465. package/dist/img/concord-logo.png +0 -0
  466. package/dist/img/debug/grid.jpg +0 -0
  467. package/dist/img/document-store-16.png +0 -0
  468. package/dist/img/earth.svg +48 -0
  469. package/dist/img/flags.png +0 -0
  470. package/dist/img/fullscreen-dark.svg +22 -0
  471. package/dist/img/fullscreen-exit-dark.svg +22 -0
  472. package/dist/img/fullscreen-exit.svg +22 -0
  473. package/dist/img/fullscreen.svg +22 -0
  474. package/dist/img/google-drive-16.png +0 -0
  475. package/dist/img/google-drive-logo.png +0 -0
  476. package/dist/img/loading.gif +0 -0
  477. package/dist/index.html +21 -0
  478. package/dist/js/app.js +3 -0
  479. package/dist/js/app.js.LICENSE.txt +287 -0
  480. package/dist/js/app.js.map +1 -0
  481. package/dist/js/globals.js +3 -0
  482. package/dist/js/globals.js.LICENSE.txt +52 -0
  483. package/dist/js/globals.js.map +1 -0
  484. package/license.md +21 -0
  485. package/package.json +127 -0
  486. package/readme.md +275 -0
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Spinner = void 0;
7
+ const react_1 = __importDefault(require("react"));
8
+ const Spinner = ({ size = 100, fill = "#000" }) => {
9
+ return (react_1.default.createElement("svg", { width: `${size}px`, height: `${size}px`, xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${size} ${size}`, preserveAspectRatio: "xMidYMid", className: "uil-spin" },
10
+ react_1.default.createElement("rect", { x: "0", y: "0", width: size, height: size, fill: "none", className: "bk" }),
11
+ react_1.default.createElement("g", { transform: "translate(50 50)" },
12
+ react_1.default.createElement("g", { transform: "rotate(0) translate(34 0)" },
13
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
14
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0s", dur: "1s", repeatCount: "indefinite" }),
15
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0s", dur: "1s", repeatCount: "indefinite" }))),
16
+ react_1.default.createElement("g", { transform: "rotate(45) translate(34 0)" },
17
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
18
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.12s", dur: "1s", repeatCount: "indefinite" }),
19
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.12s", dur: "1s", repeatCount: "indefinite" }))),
20
+ react_1.default.createElement("g", { transform: "rotate(90) translate(34 0)" },
21
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
22
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.25s", dur: "1s", repeatCount: "indefinite" }),
23
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.25s", dur: "1s", repeatCount: "indefinite" }))),
24
+ react_1.default.createElement("g", { transform: "rotate(135) translate(34 0)" },
25
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
26
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.37s", dur: "1s", repeatCount: "indefinite" }),
27
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.37s", dur: "1s", repeatCount: "indefinite" }))),
28
+ react_1.default.createElement("g", { transform: "rotate(180) translate(34 0)" },
29
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
30
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.5s", dur: "1s", repeatCount: "indefinite" }),
31
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.5s", dur: "1s", repeatCount: "indefinite" }))),
32
+ react_1.default.createElement("g", { transform: "rotate(225) translate(34 0)" },
33
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
34
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.62s", dur: "1s", repeatCount: "indefinite" }),
35
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.62s", dur: "1s", repeatCount: "indefinite" }))),
36
+ react_1.default.createElement("g", { transform: "rotate(270) translate(34 0)" },
37
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
38
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.75s", dur: "1s", repeatCount: "indefinite" }),
39
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.75s", dur: "1s", repeatCount: "indefinite" }))),
40
+ react_1.default.createElement("g", { transform: "rotate(315) translate(34 0)" },
41
+ react_1.default.createElement("circle", { cx: "0", cy: "0", r: "8", fill: fill },
42
+ react_1.default.createElement("animate", { attributeName: "opacity", from: "1", to: "0.1", begin: "0.87s", dur: "1s", repeatCount: "indefinite" }),
43
+ react_1.default.createElement("animateTransform", { attributeName: "transform", type: "scale", from: "1.5", to: "1", begin: "0.87s", dur: "1s", repeatCount: "indefinite" }))))));
44
+ };
45
+ exports.Spinner = Spinner;
46
+ //# sourceMappingURL=spin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"spin.js","sourceRoot":"","sources":["../../../../src/code/views/icons/spin.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").ClassicComponentClass<unknown>;
3
+ export default _default;
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // TODO: This file was created by bulk-decaffeinate.
7
+ // Sanity-check the conversion and remove this comment.
8
+ /*
9
+ * decaffeinate suggestions:
10
+ * DS102: Remove unnecessary code created because of implicit returns
11
+ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
12
+ */
13
+ const create_react_class_1 = __importDefault(require("create-react-class"));
14
+ const create_react_factory_1 = require("../create-react-factory");
15
+ const tabbed_panel_view_1 = __importDefault(require("./tabbed-panel-view"));
16
+ const translate_1 = __importDefault(require("../utils/translate"));
17
+ const modal_tabbed_dialog_view_1 = __importDefault(require("./modal-tabbed-dialog-view"));
18
+ const local_file_tab_list_view_1 = __importDefault(require("./local-file-tab-list-view"));
19
+ const url_tab_view_1 = __importDefault(require("./url-tab-view"));
20
+ const ModalTabbedDialog = (0, create_react_factory_1.createReactFactory)(modal_tabbed_dialog_view_1.default);
21
+ const LocalFileTab = (0, create_react_factory_1.createReactFactory)(local_file_tab_list_view_1.default);
22
+ const UrlTab = (0, create_react_factory_1.createReactFactory)(url_tab_view_1.default);
23
+ exports.default = (0, create_react_class_1.default)({
24
+ displayName: 'ImportTabbedDialog',
25
+ importFile(metadata, via) {
26
+ switch (metadata.provider) {
27
+ case 'localFile':
28
+ var reader = new FileReader();
29
+ reader.onload = loaded => {
30
+ const data = {
31
+ file: {
32
+ name: metadata.providerData.file.name,
33
+ content: loaded.target.result,
34
+ object: metadata.providerData.file
35
+ },
36
+ via
37
+ };
38
+ return (typeof this.props.dialog.callback === 'function' ? this.props.dialog.callback(data) : undefined);
39
+ };
40
+ return reader.readAsText(metadata.providerData.file);
41
+ }
42
+ },
43
+ importUrl(url, via) {
44
+ var _a, _b;
45
+ return (_b = (_a = this.props.dialog).callback) === null || _b === void 0 ? void 0 : _b.call(_a, { url, via });
46
+ },
47
+ render() {
48
+ const tabs = [
49
+ // "static" functions defined in the "statics" property don't get typed appropriately
50
+ tabbed_panel_view_1.default.Tab({
51
+ key: 0,
52
+ label: ((0, translate_1.default)("~IMPORT.LOCAL_FILE")),
53
+ component: LocalFileTab({
54
+ client: this.props.client,
55
+ dialog: {
56
+ callback: this.importFile
57
+ },
58
+ provider: 'localFile', // we are faking the provider here so we can reuse the local file tab
59
+ close: this.props.close
60
+ })
61
+ }),
62
+ // "static" functions defined in the "statics" property don't get typed appropriately
63
+ tabbed_panel_view_1.default.Tab({
64
+ key: 1,
65
+ label: ((0, translate_1.default)("~IMPORT.URL")),
66
+ component: UrlTab({
67
+ client: this.props.client,
68
+ dialog: {
69
+ callback: this.importUrl
70
+ },
71
+ close: this.props.close
72
+ })
73
+ })
74
+ ];
75
+ return (ModalTabbedDialog({ title: ((0, translate_1.default)("~DIALOG.IMPORT_DATA")), close: this.props.close, tabs, selectedTabIndex: 0 }));
76
+ }
77
+ });
78
+ //# sourceMappingURL=import-tabbed-dialog-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"import-tabbed-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/import-tabbed-dialog-view.ts"],"names":[],"mappings":";;;;;AAAA,oDAAoD;AACpD,uDAAuD;AACvD;;;;GAIG;AACH,4EAAiD;AACjD,kEAA4D;AAC5D,4EAA8C;AAC9C,mEAAoC;AAEpC,0FAA8D;AAC9D,0FAA6D;AAC7D,kEAAuC;AAEvC,MAAM,iBAAiB,GAAG,IAAA,yCAAkB,EAAC,kCAAqB,CAAC,CAAA;AACnE,MAAM,YAAY,GAAG,IAAA,yCAAkB,EAAC,kCAAoB,CAAC,CAAA;AAC7D,MAAM,MAAM,GAAG,IAAA,yCAAkB,EAAC,sBAAU,CAAC,CAAA;AAE7C,kBAAe,IAAA,4BAAgB,EAAC;IAC9B,WAAW,EAAE,oBAAoB;IAEjC,UAAU,CAAC,QAAa,EAAE,GAAQ;QAChC,QAAQ,QAAQ,CAAC,QAAQ,EAAE,CAAC;YAC1B,KAAK,WAAW;gBACd,IAAI,MAAM,GAAG,IAAI,UAAU,EAAE,CAAA;gBAC7B,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,EAAE;oBACvB,MAAM,IAAI,GAAG;wBACX,IAAI,EAAE;4BACJ,IAAI,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI;4BACrC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM;4BAC7B,MAAM,EAAE,QAAQ,CAAC,YAAY,CAAC,IAAI;yBACnC;wBACD,GAAG;qBACJ,CAAA;oBACD,OAAO,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAA;gBAC1G,CAAC,CAAA;gBACD,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAA;QACxD,CAAC;IACH,CAAC;IAED,SAAS,CAAC,GAAW,EAAE,GAAQ;;QAC7B,OAAO,MAAA,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,QAAQ,mDAAG,EAAC,GAAG,EAAE,GAAG,EAAC,CAAC,CAAA;IACjD,CAAC;IAED,MAAM;QACJ,MAAM,IAAI,GAAG;YACX,qFAAqF;YACpF,2BAAmB,CAAC,GAAG,CAAC;gBACvB,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC,IAAA,mBAAE,EAAC,oBAAoB,CAAC,CAAC;gBACjC,SAAS,EAAE,YAAY,CAAC;oBACtB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACzB,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI,CAAC,UAAU;qBAC1B;oBACD,QAAQ,EAAE,WAAW,EAAE,qEAAqE;oBAC5F,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;iBACxB,CAAC;aACH,CAAC;YACF,qFAAqF;YACpF,2BAAmB,CAAC,GAAG,CAAC;gBACvB,GAAG,EAAE,CAAC;gBACN,KAAK,EAAE,CAAC,IAAA,mBAAE,EAAC,aAAa,CAAC,CAAC;gBAC1B,SAAS,EAAE,MAAM,CAAC;oBAChB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;oBACzB,MAAM,EAAE;wBACN,QAAQ,EAAE,IAAI,CAAC,SAAS;qBACzB;oBACD,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;iBACxB,CAAC;aACH,CAAC;SACH,CAAA;QACD,OAAO,CAAC,iBAAiB,CAAC,EAAC,KAAK,EAAE,CAAC,IAAA,mBAAE,EAAC,qBAAqB,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,EAAC,CAAC,CAAC,CAAA;IACtH,CAAC;CACF,CAAC,CAAA"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").ClassicComponentClass<unknown>;
3
+ export default _default;
@@ -0,0 +1,84 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // TODO: This file was created by bulk-decaffeinate.
7
+ // Sanity-check the conversion and remove this comment.
8
+ /*
9
+ * decaffeinate suggestions:
10
+ * DS102: Remove unnecessary code created because of implicit returns
11
+ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
12
+ */
13
+ const create_react_class_1 = __importDefault(require("create-react-class"));
14
+ const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
15
+ const { div, input, button } = react_dom_factories_1.default;
16
+ const translate_1 = __importDefault(require("../utils/translate"));
17
+ const provider_interface_1 = require("../providers/provider-interface");
18
+ exports.default = (0, create_react_class_1.default)({
19
+ displayName: 'LocalFileListTab',
20
+ // Standard React 'drop' event handlers are triggered after client 'drop' event handlers.
21
+ // By explicitly installing DOM event handlers we get first crack at the 'drop' event.
22
+ componentDidMount() {
23
+ this.dropZoneRef.addEventListener('drop', this.drop);
24
+ },
25
+ componentWillUnmount() {
26
+ this.dropZoneRef.removeEventListener('drop', this.drop);
27
+ },
28
+ getInitialState() {
29
+ return { hover: false };
30
+ },
31
+ changed(e) {
32
+ const { files } = e.target;
33
+ if (files.length > 1) {
34
+ return this.props.client.alert((0, translate_1.default)("~LOCAL_FILE_DIALOG.MULTIPLE_FILES_SELECTED"));
35
+ }
36
+ else if (files.length === 1) {
37
+ return this.openFile(files[0], 'select');
38
+ }
39
+ },
40
+ openFile(file, via) {
41
+ const metadata = new provider_interface_1.CloudMetadata({
42
+ name: file.name.split('.')[0],
43
+ type: provider_interface_1.CloudMetadata.File,
44
+ parent: null,
45
+ provider: this.props.provider,
46
+ providerData: {
47
+ file
48
+ }
49
+ });
50
+ if (typeof this.props.dialog.callback === 'function') {
51
+ this.props.dialog.callback(metadata, via);
52
+ }
53
+ return this.props.close();
54
+ },
55
+ cancel() {
56
+ return this.props.close();
57
+ },
58
+ dragEnter(e) {
59
+ e.preventDefault();
60
+ return this.setState({ hover: true });
61
+ },
62
+ dragLeave(e) {
63
+ e.preventDefault();
64
+ return this.setState({ hover: false });
65
+ },
66
+ drop(e) {
67
+ e.preventDefault();
68
+ e.stopPropagation();
69
+ const droppedFiles = e.dataTransfer ? e.dataTransfer.files : e.target.files;
70
+ if (droppedFiles.length > 1) {
71
+ this.props.client.alert((0, translate_1.default)("~LOCAL_FILE_DIALOG.MULTIPLE_FILES_DROPPED"));
72
+ }
73
+ else if (droppedFiles.length === 1) {
74
+ this.openFile(droppedFiles[0], 'drop');
75
+ }
76
+ },
77
+ render() {
78
+ const dropClass = `dropArea${this.state.hover ? ' dropHover' : ''}`;
79
+ return (div({ className: 'dialogTab localFileLoad' },
80
+ // 'drop' event handler installed as DOM event handler in componentDidMount()
81
+ (div({ ref: ((elt) => { return this.dropZoneRef = elt; }), className: dropClass, onDragEnter: this.dragEnter, onDragLeave: this.dragLeave }, ((0, translate_1.default)("~LOCAL_FILE_DIALOG.DROP_FILE_HERE")), (input({ type: 'file', onChange: this.changed })))), (div({ className: 'buttons' }, (button({ onClick: this.cancel }, ((0, translate_1.default)("~FILE_DIALOG.CANCEL"))))))));
82
+ }
83
+ });
84
+ //# sourceMappingURL=local-file-tab-list-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-file-tab-list-view.js","sourceRoot":"","sources":["../../../src/code/views/local-file-tab-list-view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").ClassicComponentClass<unknown>;
3
+ export default _default;
@@ -0,0 +1,157 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // TODO: This file was created by bulk-decaffeinate.
7
+ // Sanity-check the conversion and remove this comment.
8
+ /*
9
+ * decaffeinate suggestions:
10
+ * DS102: Remove unnecessary code created because of implicit returns
11
+ * DS103: Rewrite code to no longer use __guard__
12
+ * DS207: Consider shorter variations of null checks
13
+ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
14
+ */
15
+ const create_react_class_1 = __importDefault(require("create-react-class"));
16
+ const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
17
+ const { div, input, button, a } = react_dom_factories_1.default;
18
+ const translate_1 = __importDefault(require("../utils/translate"));
19
+ const provider_interface_1 = require("../providers/provider-interface");
20
+ const provider_interface_2 = require("../providers/provider-interface");
21
+ const file_saver_1 = __importDefault(require("../lib/file-saver"));
22
+ exports.default = (0, create_react_class_1.default)({
23
+ displayName: 'LocalFileSaveTab',
24
+ getInitialState() {
25
+ // If the dialog has the content to save, which occurs when saving secondary content
26
+ // like CSV files, then use that instead of the document content and make sure that
27
+ // it doesn't get modified by (for instance) trying to remove sharing metadata. To
28
+ // do so, we specify that we want to include the share info, which tells the client
29
+ // to leave the content alone.
30
+ const hasPropsContent = ((this.props.dialog.data != null ? this.props.dialog.data.content : undefined) != null);
31
+ const extension = hasPropsContent && this.props.dialog.data.extension
32
+ ? this.props.dialog.data.extension : 'json';
33
+ const filename = (this.props.client.state.metadata != null ? this.props.client.state.metadata.name : undefined) || ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
34
+ return {
35
+ filename,
36
+ supportsDownloadAttribute: document.createElement('a').download !== undefined,
37
+ downloadFilename: this.getDownloadFilename(hasPropsContent, filename, extension),
38
+ extension,
39
+ mimeType: hasPropsContent && (this.props.dialog.data.mimeType != null)
40
+ ? this.props.dialog.data.mimeType : 'text/plain',
41
+ shared: this.props.client.isShared(),
42
+ hasPropsContent,
43
+ includeShareInfo: hasPropsContent,
44
+ gotContent: hasPropsContent,
45
+ content: (this.props.dialog.data != null ? this.props.dialog.data.content : undefined)
46
+ };
47
+ },
48
+ componentDidMount() {
49
+ if (!this.state.hasPropsContent) {
50
+ this.props.client._event('getContent', { shared: this.props.client._sharedMetadata() }, (content) => {
51
+ const envelopedContent = provider_interface_2.cloudContentFactory.createEnvelopedCloudContent(content);
52
+ __guard__(this.props.client.state != null ? this.props.client.state.currentContent : undefined, (x) => x.copyMetadataTo(envelopedContent));
53
+ return this.setState({
54
+ gotContent: true,
55
+ content: envelopedContent
56
+ });
57
+ });
58
+ }
59
+ // Using the React onClick handler for the download button yielded odd behaviors
60
+ // in which the onClick handler got triggered multiple times and the default
61
+ // handler could not be prevented, presumably due to React's SyntheticEvent system.
62
+ // The solution here is to use standard browser event handlers.
63
+ return this.downloadRef.addEventListener('click', this.confirm);
64
+ },
65
+ componentWillUnmount() {
66
+ return this.downloadRef.removeEventListener('click', this.confirm);
67
+ },
68
+ filenameChanged() {
69
+ const filename = this.filenameRef.value;
70
+ return this.setState({
71
+ filename,
72
+ downloadFilename: this.getDownloadFilename(this.state.hasPropsContent, filename, this.state.extension)
73
+ });
74
+ },
75
+ includeShareInfoChanged() {
76
+ return this.setState({ includeShareInfo: this.includeShareInfoRef.checked });
77
+ },
78
+ getDownloadFilename(hasPropsContent, filename, extension) {
79
+ const newName = filename.replace(/^\s+|\s+$/, '');
80
+ if (hasPropsContent) {
81
+ return provider_interface_1.CloudMetadata.newExtension(newName, extension);
82
+ }
83
+ else {
84
+ return provider_interface_1.CloudMetadata.withExtension(newName, extension);
85
+ }
86
+ },
87
+ confirm(e, simulateClick) {
88
+ if (!this.confirmDisabled()) {
89
+ if (this.state.supportsDownloadAttribute) {
90
+ this.downloadRef.href = this.props.client.getDownloadUrl(this.state.content, this.state.includeShareInfo, this.state.mimeType);
91
+ if (simulateClick) {
92
+ this.downloadRef.click();
93
+ }
94
+ }
95
+ else {
96
+ const blob = this.props.client.getDownloadBlob(this.state.content, this.state.includeShareInfo, this.state.mimeType);
97
+ file_saver_1.default.saveAs(blob, this.state.downloadFilename, true);
98
+ if (e != null) {
99
+ e.preventDefault();
100
+ }
101
+ }
102
+ const metadata = new provider_interface_1.CloudMetadata({
103
+ name: this.state.downloadFilename.split('.')[0],
104
+ type: provider_interface_1.CloudMetadata.File,
105
+ parent: null,
106
+ provider: this.props.provider
107
+ });
108
+ this.props.dialog.callback(metadata);
109
+ this.props.close();
110
+ // return value indicates whether to trigger href
111
+ return this.state.supportsDownloadAttribute;
112
+ }
113
+ else {
114
+ if (e != null) {
115
+ e.preventDefault();
116
+ }
117
+ }
118
+ },
119
+ contextMenu(e) {
120
+ this.downloadRef.href = this.props.client.getDownloadUrl(this.state.content, this.state.includeShareInfo, this.state.mimeType);
121
+ },
122
+ cancel() {
123
+ this.props.close();
124
+ },
125
+ watchForEnter(e) {
126
+ if ((e.keyCode === 13) && !this.confirmDisabled()) {
127
+ e.preventDefault();
128
+ e.stopPropagation();
129
+ this.confirm(null, true);
130
+ }
131
+ },
132
+ confirmDisabled() {
133
+ return (this.state.downloadFilename.length === 0) || !this.state.gotContent;
134
+ },
135
+ render() {
136
+ const confirmDisabled = this.confirmDisabled();
137
+ // for modern browsers
138
+ const downloadAnchor = (a({
139
+ href: '#',
140
+ ref: (elt) => { return this.downloadRef = elt; },
141
+ className: (confirmDisabled ? 'disabled' : ''),
142
+ download: this.state.downloadFilename,
143
+ onContextMenu: this.contextMenu
144
+ }, (0, translate_1.default)('~FILE_DIALOG.DOWNLOAD')));
145
+ // for Safari (or other non-modern browsers)
146
+ const downloadButton = (button({
147
+ ref: (elt) => { return this.downloadRef = elt; },
148
+ className: (confirmDisabled ? 'disabled' : '')
149
+ }, (0, translate_1.default)('~FILE_DIALOG.DOWNLOAD')));
150
+ return (div({ className: 'dialogTab localFileSave' }, (input({ type: 'text', ref: ((elt) => { return this.filenameRef = elt; }), value: this.state.filename, placeholder: ((0, translate_1.default)("~FILE_DIALOG.FILENAME")), onChange: this.filenameChanged, onKeyDown: this.watchForEnter })), (div({ className: 'saveArea' }, this.state.shared && !this.state.hasPropsContent ?
151
+ (div({ className: 'shareCheckbox' }, (input({ type: 'checkbox', ref: ((elt) => { return this.includeShareInfoRef = elt; }), value: this.state.includeShareInfo, onChange: this.includeShareInfoChanged })), ((0, translate_1.default)('~DOWNLOAD_DIALOG.INCLUDE_SHARE_INFO')))) : undefined)), (div({ className: 'buttons' }, this.state.supportsDownloadAttribute ? downloadAnchor : downloadButton, (button({ onClick: this.cancel }, ((0, translate_1.default)("~FILE_DIALOG.CANCEL"))))))));
152
+ }
153
+ });
154
+ function __guard__(value, transform) {
155
+ return (typeof value !== 'undefined' && value !== null) ? transform(value) : undefined;
156
+ }
157
+ //# sourceMappingURL=local-file-tab-save-view.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-file-tab-save-view.js","sourceRoot":"","sources":["../../../src/code/views/local-file-tab-save-view.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ /// <reference types="react" />
2
+ declare const _default: import("react").ClassicComponentClass<unknown>;
3
+ export default _default;
@@ -0,0 +1,201 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ // TODO: This file was created by bulk-decaffeinate.
7
+ // Sanity-check the conversion and remove this comment.
8
+ /*
9
+ * decaffeinate suggestions:
10
+ * DS102: Remove unnecessary code created because of implicit returns
11
+ * DS207: Consider shorter variations of null checks
12
+ * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
13
+ */
14
+ const create_react_class_1 = __importDefault(require("create-react-class"));
15
+ const react_dom_1 = __importDefault(require("react-dom"));
16
+ const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
17
+ const create_react_factory_1 = require("../create-react-factory");
18
+ const dropdown_view_1 = __importDefault(require("./dropdown-view"));
19
+ const dropdown_anchors_1 = require("./dropdown-anchors");
20
+ const translate_1 = __importDefault(require("../utils/translate"));
21
+ const { div, i, span, input } = react_dom_factories_1.default;
22
+ const Dropdown = (0, create_react_factory_1.createReactFactory)(dropdown_view_1.default);
23
+ exports.default = (0, create_react_class_1.default)({
24
+ displayName: 'MenuBar',
25
+ componentDidMount() {
26
+ // need to use direct DOM events because the event needs to be captured
27
+ if (window.addEventListener) {
28
+ window.addEventListener('mousedown', this.checkBlur, true);
29
+ window.addEventListener('touchstart', this.checkBlur, true);
30
+ }
31
+ return this.props.client._ui.listen((event) => {
32
+ switch (event.type) {
33
+ case 'editInitialFilename':
34
+ this.setState({
35
+ editingFilename: true,
36
+ editingInitialFilename: true
37
+ });
38
+ return setTimeout((() => this.focusFilename()), 10);
39
+ }
40
+ });
41
+ },
42
+ componentWillUnmount() {
43
+ if (window.removeEventListener) {
44
+ window.removeEventListener('mousedown', this.checkBlur, true);
45
+ return window.removeEventListener('touchstart', this.checkBlur, true);
46
+ }
47
+ },
48
+ getFilename(props) {
49
+ if ((props.filename != null ? props.filename.length : undefined) > 0) {
50
+ return props.filename;
51
+ }
52
+ else {
53
+ return ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
54
+ }
55
+ },
56
+ getEditableFilename(props) {
57
+ if ((props.filename != null ? props.filename.length : undefined) > 0) {
58
+ return props.filename;
59
+ }
60
+ else {
61
+ return ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
62
+ }
63
+ },
64
+ getInitialState() {
65
+ return {
66
+ editingFilename: false,
67
+ filename: this.getFilename(this.props),
68
+ editableFilename: this.getEditableFilename(this.props),
69
+ initialEditableFilename: this.getEditableFilename(this.props),
70
+ editingInitialFilename: false
71
+ };
72
+ },
73
+ UNSAFE_componentWillReceiveProps(nextProps) {
74
+ return this.setState({
75
+ filename: this.getFilename(nextProps),
76
+ editableFilename: this.getEditableFilename(nextProps),
77
+ provider: nextProps.provider
78
+ });
79
+ },
80
+ filenameClicked(e) {
81
+ e.preventDefault();
82
+ e.stopPropagation();
83
+ this.setState({
84
+ editingFilename: true,
85
+ editingInitialFilename: false
86
+ });
87
+ return setTimeout((() => this.focusFilename()), 10);
88
+ },
89
+ filenameChanged() {
90
+ return this.setState({
91
+ editableFilename: this.filename().value
92
+ });
93
+ },
94
+ filenameBlurred() {
95
+ return this.rename();
96
+ },
97
+ filename() {
98
+ return react_dom_1.default.findDOMNode(this.filenameRef);
99
+ },
100
+ focusFilename() {
101
+ const el = this.filename();
102
+ el.focus();
103
+ return el.select();
104
+ },
105
+ cancelEdit() {
106
+ return this.setState({
107
+ editingFilename: false,
108
+ editableFilename: (this.state.filename != null ? this.state.filename.length : undefined) > 0 ? this.state.filename : this.state.initialEditableFilename
109
+ });
110
+ },
111
+ rename() {
112
+ const filename = this.state.editableFilename.replace(/^\s+|\s+$/, '');
113
+ if (filename.length > 0) {
114
+ if (this.state.editingInitialFilename) {
115
+ this.props.client.setInitialFilename(filename);
116
+ }
117
+ else {
118
+ this.props.client.rename(this.props.client.state.metadata, filename);
119
+ }
120
+ return this.setState({
121
+ editingFilename: false,
122
+ filename,
123
+ editableFilename: filename
124
+ });
125
+ }
126
+ else {
127
+ return this.cancelEdit();
128
+ }
129
+ },
130
+ watchForEnter(e) {
131
+ if (e.keyCode === 13) {
132
+ return this.rename();
133
+ }
134
+ else if (e.keyCode === 27) {
135
+ return this.cancelEdit();
136
+ }
137
+ },
138
+ help() {
139
+ return window.open(this.props.options.help, '_blank');
140
+ },
141
+ infoClicked() {
142
+ return (typeof this.props.options.onInfoClicked === 'function' ? this.props.options.onInfoClicked(this.props.client) : undefined);
143
+ },
144
+ // CODAP eats the click events in the main workspace which causes the blur event not to fire so we need to check for a non-bubbling global click event when editing
145
+ checkBlur(e) {
146
+ if (this.state.editingFilename && (e.target !== this.filename())) {
147
+ return this.filenameBlurred();
148
+ }
149
+ },
150
+ langChanged(langCode) {
151
+ const { client, options } = this.props;
152
+ const { onLangChanged } = options.languageMenu;
153
+ if (onLangChanged != null) {
154
+ return client.changeLanguage(langCode, onLangChanged);
155
+ }
156
+ },
157
+ renderLanguageMenu() {
158
+ const langMenu = this.props.options.languageMenu;
159
+ const items = langMenu.options
160
+ // Do not show current language in the menu.
161
+ .filter((option) => option.langCode !== langMenu.currentLang)
162
+ .map((option) => {
163
+ let className;
164
+ const label = option.label || option.langCode.toUpperCase();
165
+ if (option.flag) {
166
+ className = `flag flag-${option.flag}`;
167
+ }
168
+ return {
169
+ content: (span({ className: 'lang-option' }, (div({ className })), label)),
170
+ action: () => this.langChanged(option.langCode)
171
+ };
172
+ });
173
+ const hasFlags = langMenu.options.filter((option) => option.flag != null).length > 0;
174
+ const currentOption = langMenu.options.filter((option) => option.langCode === langMenu.currentLang)[0];
175
+ const defaultOption = hasFlags ? { flag: "us" } : { label: "English" };
176
+ const { flag, label } = currentOption || defaultOption;
177
+ const menuAnchor = flag ?
178
+ (div({ className: `flag flag-${flag}` }))
179
+ :
180
+ (div({ className: "lang-menu with-border" }, (span({ className: "lang-label" }, label || defaultOption.label)), dropdown_anchors_1.TriangleOnlyAnchor));
181
+ return (Dropdown({
182
+ className: "lang-menu",
183
+ menuAnchorClassName: "menu-anchor-right",
184
+ items,
185
+ menuAnchor
186
+ }));
187
+ },
188
+ render() {
189
+ const { provider } = this.props;
190
+ const isAuthorized = provider && provider.isAuthorizationRequired() && provider.authorized();
191
+ return (div({ className: 'menu-bar' }, (div({ className: 'menu-bar-left' }, (Dropdown({ items: this.props.items })), this.state.editingFilename ?
192
+ (div({ className: 'menu-bar-content-filename' }, (input({ ref: ((elt) => { return this.filenameRef = elt; }), value: this.state.editableFilename, onChange: this.filenameChanged, onKeyDown: this.watchForEnter }))))
193
+ :
194
+ (div({ className: 'menu-bar-content-filename', onClick: this.filenameClicked }, this.state.filename)), this.props.fileStatus ?
195
+ (span({ className: `menu-bar-file-status-${this.props.fileStatus.type}` }, this.props.fileStatus.message)) : undefined)), (div({ className: 'menu-bar-right' }, this.props.options.info ?
196
+ (span({ className: 'menu-bar-info', onClick: this.infoClicked }, this.props.options.info)) : undefined, isAuthorized ? this.props.provider.renderUser() : undefined, this.props.options.help ?
197
+ (i({ style: { fontSize: "13px" }, className: 'clickable icon-help', onClick: this.help })) : undefined, this.props.options.languageMenu ?
198
+ this.renderLanguageMenu() : undefined))));
199
+ }
200
+ });
201
+ //# sourceMappingURL=menu-bar-view.js.map