@concord-consortium/cloud-file-manager 2.1.0-pre.8 → 2.2.0

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 (280) hide show
  1. package/dist/347 +276 -0
  2. package/dist/autolaunch/autolaunch.js +1 -1
  3. package/dist/autolaunch/autolaunch.js.map +1 -1
  4. package/dist/cjs/app-options.d.ts +2 -0
  5. package/dist/cjs/client.d.ts +2 -1
  6. package/dist/cjs/client.js +54 -79
  7. package/dist/cjs/client.js.map +1 -1
  8. package/dist/cjs/cloud-file-manager.js +2 -2
  9. package/dist/cjs/cloud-file-manager.js.map +1 -1
  10. package/dist/cjs/create-react-factory.d.ts +1 -0
  11. package/dist/cjs/create-react-factory.js.map +1 -1
  12. package/dist/cjs/providers/document-store-provider.js +7 -10
  13. package/dist/cjs/providers/document-store-provider.js.map +1 -1
  14. package/dist/cjs/providers/document-store-share-provider.js +4 -4
  15. package/dist/cjs/providers/document-store-share-provider.js.map +1 -1
  16. package/dist/cjs/providers/google-drive-provider.js +30 -34
  17. package/dist/cjs/providers/google-drive-provider.js.map +1 -1
  18. package/dist/cjs/providers/interactive-api-provider.d.ts +5 -2
  19. package/dist/cjs/providers/interactive-api-provider.js +27 -21
  20. package/dist/cjs/providers/interactive-api-provider.js.map +1 -1
  21. package/dist/cjs/providers/lara-provider.js +18 -26
  22. package/dist/cjs/providers/lara-provider.js.map +1 -1
  23. package/dist/cjs/providers/legacy-google-drive-provider.js +21 -27
  24. package/dist/cjs/providers/legacy-google-drive-provider.js.map +1 -1
  25. package/dist/cjs/providers/localstorage-provider.js +11 -13
  26. package/dist/cjs/providers/localstorage-provider.js.map +1 -1
  27. package/dist/cjs/providers/patchable-content.js +1 -1
  28. package/dist/cjs/providers/patchable-content.js.map +1 -1
  29. package/dist/cjs/providers/post-message-provider.js +1 -1
  30. package/dist/cjs/providers/post-message-provider.js.map +1 -1
  31. package/dist/cjs/providers/provider-interface.d.ts +1 -2
  32. package/dist/cjs/providers/provider-interface.js +11 -14
  33. package/dist/cjs/providers/provider-interface.js.map +1 -1
  34. package/dist/cjs/providers/readonly-provider.js +6 -6
  35. package/dist/cjs/providers/readonly-provider.js.map +1 -1
  36. package/dist/cjs/providers/s3-provider.js +1 -2
  37. package/dist/cjs/providers/s3-provider.js.map +1 -1
  38. package/dist/cjs/providers/s3-share-provider.js +1 -1
  39. package/dist/cjs/providers/s3-share-provider.js.map +1 -1
  40. package/dist/cjs/providers/test-provider.js +5 -5
  41. package/dist/cjs/providers/test-provider.js.map +1 -1
  42. package/dist/cjs/providers/url-provider.js +1 -1
  43. package/dist/cjs/providers/url-provider.js.map +1 -1
  44. package/dist/cjs/ui.d.ts +2 -1
  45. package/dist/cjs/ui.js +5 -3
  46. package/dist/cjs/ui.js.map +1 -1
  47. package/dist/cjs/utils/focus-tracker.d.ts +3 -0
  48. package/dist/cjs/utils/focus-tracker.js +44 -0
  49. package/dist/cjs/utils/focus-tracker.js.map +1 -0
  50. package/dist/cjs/utils/ios-file-saver.d.ts +42 -0
  51. package/dist/cjs/utils/ios-file-saver.js +98 -0
  52. package/dist/cjs/utils/ios-file-saver.js.map +1 -0
  53. package/dist/cjs/utils/lang/en-US.json +9 -0
  54. package/dist/cjs/utils/s3-share-provider-token-service-helper.js +19 -13
  55. package/dist/cjs/utils/s3-share-provider-token-service-helper.js.map +1 -1
  56. package/dist/cjs/utils/url-params.js +1 -2
  57. package/dist/cjs/utils/url-params.js.map +1 -1
  58. package/dist/cjs/views/alert-dialog-view.d.ts +9 -3
  59. package/dist/cjs/views/alert-dialog-view.js +9 -24
  60. package/dist/cjs/views/alert-dialog-view.js.map +1 -1
  61. package/dist/cjs/views/app-view.d.ts +12 -5
  62. package/dist/cjs/views/app-view.js +167 -173
  63. package/dist/cjs/views/app-view.js.map +1 -1
  64. package/dist/cjs/views/blocking-modal-view.d.ts +9 -3
  65. package/dist/cjs/views/blocking-modal-view.js +8 -25
  66. package/dist/cjs/views/blocking-modal-view.js.map +1 -1
  67. package/dist/cjs/views/confirm-dialog-view.d.ts +14 -3
  68. package/dist/cjs/views/confirm-dialog-view.js +14 -31
  69. package/dist/cjs/views/confirm-dialog-view.js.map +1 -1
  70. package/dist/cjs/views/download-dialog-view.d.ts +12 -3
  71. package/dist/cjs/views/download-dialog-view.js +36 -63
  72. package/dist/cjs/views/download-dialog-view.js.map +1 -1
  73. package/dist/cjs/views/dropdown-anchors.d.ts +2 -2
  74. package/dist/cjs/views/dropdown-anchors.js +4 -10
  75. package/dist/cjs/views/dropdown-anchors.js.map +1 -1
  76. package/dist/cjs/views/dropdown-view.d.ts +20 -3
  77. package/dist/cjs/views/dropdown-view.js +40 -157
  78. package/dist/cjs/views/dropdown-view.js.map +1 -1
  79. package/dist/cjs/views/file-dialog-tab-view.d.ts +24 -2
  80. package/dist/cjs/views/file-dialog-tab-view.js +255 -315
  81. package/dist/cjs/views/file-dialog-tab-view.js.map +1 -1
  82. package/dist/cjs/views/icons/spin.d.ts +2 -2
  83. package/dist/cjs/views/icons/spin.js +2 -39
  84. package/dist/cjs/views/icons/spin.js.map +1 -1
  85. package/dist/cjs/views/import-tabbed-dialog-view.d.ts +12 -3
  86. package/dist/cjs/views/import-tabbed-dialog-view.js +33 -65
  87. package/dist/cjs/views/import-tabbed-dialog-view.js.map +1 -1
  88. package/dist/cjs/views/local-file-tab-list-view.d.ts +14 -3
  89. package/dist/cjs/views/local-file-tab-list-view.js +57 -66
  90. package/dist/cjs/views/local-file-tab-list-view.js.map +1 -1
  91. package/dist/cjs/views/local-file-tab-save-view.d.ts +32 -3
  92. package/dist/cjs/views/local-file-tab-save-view.js +125 -138
  93. package/dist/cjs/views/local-file-tab-save-view.js.map +1 -1
  94. package/dist/cjs/views/menu-bar-view.d.ts +58 -3
  95. package/dist/cjs/views/menu-bar-view.js +196 -183
  96. package/dist/cjs/views/menu-bar-view.js.map +1 -1
  97. package/dist/cjs/views/modal-dialog-view.js +7 -8
  98. package/dist/cjs/views/modal-dialog-view.js.map +1 -1
  99. package/dist/cjs/views/modal-tabbed-dialog-view.d.ts +15 -3
  100. package/dist/cjs/views/modal-tabbed-dialog-view.js +5 -17
  101. package/dist/cjs/views/modal-tabbed-dialog-view.js.map +1 -1
  102. package/dist/cjs/views/modal-view.d.ts +5 -32
  103. package/dist/cjs/views/modal-view.js +20 -64
  104. package/dist/cjs/views/modal-view.js.map +1 -1
  105. package/dist/cjs/views/provider-tabbed-dialog-view.d.ts +23 -3
  106. package/dist/cjs/views/provider-tabbed-dialog-view.js +43 -51
  107. package/dist/cjs/views/provider-tabbed-dialog-view.js.map +1 -1
  108. package/dist/cjs/views/rename-dialog-view.d.ts +8 -3
  109. package/dist/cjs/views/rename-dialog-view.js +25 -51
  110. package/dist/cjs/views/rename-dialog-view.js.map +1 -1
  111. package/dist/cjs/views/select-interactive-state-dialog-view.d.ts +1 -1
  112. package/dist/cjs/views/select-interactive-state-dialog-view.js +4 -30
  113. package/dist/cjs/views/select-interactive-state-dialog-view.js.map +1 -1
  114. package/dist/cjs/views/select-provider-dialog-tab-view.d.ts +6 -1
  115. package/dist/cjs/views/select-provider-dialog-tab-view.js +4 -12
  116. package/dist/cjs/views/select-provider-dialog-tab-view.js.map +1 -1
  117. package/dist/cjs/views/share-dialog-status-view.js +6 -13
  118. package/dist/cjs/views/share-dialog-status-view.js.map +1 -1
  119. package/dist/cjs/views/share-dialog-tabs-view.js +22 -61
  120. package/dist/cjs/views/share-dialog-tabs-view.js.map +1 -1
  121. package/dist/cjs/views/share-dialog-view.d.ts +1 -1
  122. package/dist/cjs/views/share-dialog-view.js +15 -21
  123. package/dist/cjs/views/share-dialog-view.js.map +1 -1
  124. package/dist/cjs/views/share-loading-view.d.ts +2 -2
  125. package/dist/cjs/views/share-loading-view.js +2 -4
  126. package/dist/cjs/views/share-loading-view.js.map +1 -1
  127. package/dist/cjs/views/tabbed-panel-view.d.ts +16 -3
  128. package/dist/cjs/views/tabbed-panel-view.js +25 -75
  129. package/dist/cjs/views/tabbed-panel-view.js.map +1 -1
  130. package/dist/cjs/views/url-tab-view.d.ts +12 -3
  131. package/dist/cjs/views/url-tab-view.js +31 -46
  132. package/dist/cjs/views/url-tab-view.js.map +1 -1
  133. package/dist/css/app.css +1 -1
  134. package/dist/css/app.css.map +1 -1
  135. package/dist/esm/app-options.d.ts +2 -0
  136. package/dist/esm/client.d.ts +2 -1
  137. package/dist/esm/client.js +54 -79
  138. package/dist/esm/client.js.map +1 -1
  139. package/dist/esm/cloud-file-manager.js +2 -2
  140. package/dist/esm/cloud-file-manager.js.map +1 -1
  141. package/dist/esm/create-react-factory.d.ts +1 -0
  142. package/dist/esm/create-react-factory.js.map +1 -1
  143. package/dist/esm/providers/document-store-provider.js +7 -10
  144. package/dist/esm/providers/document-store-provider.js.map +1 -1
  145. package/dist/esm/providers/document-store-share-provider.js +4 -4
  146. package/dist/esm/providers/document-store-share-provider.js.map +1 -1
  147. package/dist/esm/providers/google-drive-provider.js +30 -34
  148. package/dist/esm/providers/google-drive-provider.js.map +1 -1
  149. package/dist/esm/providers/interactive-api-provider.d.ts +5 -2
  150. package/dist/esm/providers/interactive-api-provider.js +25 -20
  151. package/dist/esm/providers/interactive-api-provider.js.map +1 -1
  152. package/dist/esm/providers/lara-provider.js +18 -26
  153. package/dist/esm/providers/lara-provider.js.map +1 -1
  154. package/dist/esm/providers/legacy-google-drive-provider.js +21 -27
  155. package/dist/esm/providers/legacy-google-drive-provider.js.map +1 -1
  156. package/dist/esm/providers/localstorage-provider.js +11 -13
  157. package/dist/esm/providers/localstorage-provider.js.map +1 -1
  158. package/dist/esm/providers/patchable-content.js +1 -1
  159. package/dist/esm/providers/patchable-content.js.map +1 -1
  160. package/dist/esm/providers/post-message-provider.js +1 -1
  161. package/dist/esm/providers/post-message-provider.js.map +1 -1
  162. package/dist/esm/providers/provider-interface.d.ts +1 -2
  163. package/dist/esm/providers/provider-interface.js +11 -14
  164. package/dist/esm/providers/provider-interface.js.map +1 -1
  165. package/dist/esm/providers/readonly-provider.js +6 -6
  166. package/dist/esm/providers/readonly-provider.js.map +1 -1
  167. package/dist/esm/providers/s3-provider.js +1 -2
  168. package/dist/esm/providers/s3-provider.js.map +1 -1
  169. package/dist/esm/providers/s3-share-provider.js +1 -1
  170. package/dist/esm/providers/s3-share-provider.js.map +1 -1
  171. package/dist/esm/providers/test-provider.js +5 -5
  172. package/dist/esm/providers/test-provider.js.map +1 -1
  173. package/dist/esm/providers/url-provider.js +1 -1
  174. package/dist/esm/providers/url-provider.js.map +1 -1
  175. package/dist/esm/ui.d.ts +2 -1
  176. package/dist/esm/ui.js +5 -3
  177. package/dist/esm/ui.js.map +1 -1
  178. package/dist/esm/utils/focus-tracker.d.ts +3 -0
  179. package/dist/esm/utils/focus-tracker.js +38 -0
  180. package/dist/esm/utils/focus-tracker.js.map +1 -0
  181. package/dist/esm/utils/ios-file-saver.d.ts +42 -0
  182. package/dist/esm/utils/ios-file-saver.js +91 -0
  183. package/dist/esm/utils/ios-file-saver.js.map +1 -0
  184. package/dist/esm/utils/lang/en-US.json +9 -0
  185. package/dist/esm/utils/s3-share-provider-token-service-helper.js +19 -10
  186. package/dist/esm/utils/s3-share-provider-token-service-helper.js.map +1 -1
  187. package/dist/esm/utils/url-params.js +1 -2
  188. package/dist/esm/utils/url-params.js.map +1 -1
  189. package/dist/esm/views/alert-dialog-view.d.ts +9 -3
  190. package/dist/esm/views/alert-dialog-view.js +10 -25
  191. package/dist/esm/views/alert-dialog-view.js.map +1 -1
  192. package/dist/esm/views/app-view.d.ts +12 -5
  193. package/dist/esm/views/app-view.js +176 -182
  194. package/dist/esm/views/app-view.js.map +1 -1
  195. package/dist/esm/views/blocking-modal-view.d.ts +9 -3
  196. package/dist/esm/views/blocking-modal-view.js +9 -26
  197. package/dist/esm/views/blocking-modal-view.js.map +1 -1
  198. package/dist/esm/views/confirm-dialog-view.d.ts +14 -3
  199. package/dist/esm/views/confirm-dialog-view.js +15 -32
  200. package/dist/esm/views/confirm-dialog-view.js.map +1 -1
  201. package/dist/esm/views/download-dialog-view.d.ts +12 -3
  202. package/dist/esm/views/download-dialog-view.js +36 -63
  203. package/dist/esm/views/download-dialog-view.js.map +1 -1
  204. package/dist/esm/views/dropdown-anchors.d.ts +2 -2
  205. package/dist/esm/views/dropdown-anchors.js +4 -7
  206. package/dist/esm/views/dropdown-anchors.js.map +1 -1
  207. package/dist/esm/views/dropdown-view.d.ts +20 -3
  208. package/dist/esm/views/dropdown-view.js +40 -154
  209. package/dist/esm/views/dropdown-view.js.map +1 -1
  210. package/dist/esm/views/file-dialog-tab-view.d.ts +24 -2
  211. package/dist/esm/views/file-dialog-tab-view.js +256 -316
  212. package/dist/esm/views/file-dialog-tab-view.js.map +1 -1
  213. package/dist/esm/views/icons/spin.d.ts +2 -2
  214. package/dist/esm/views/icons/spin.js +2 -36
  215. package/dist/esm/views/icons/spin.js.map +1 -1
  216. package/dist/esm/views/import-tabbed-dialog-view.d.ts +12 -3
  217. package/dist/esm/views/import-tabbed-dialog-view.js +36 -68
  218. package/dist/esm/views/import-tabbed-dialog-view.js.map +1 -1
  219. package/dist/esm/views/local-file-tab-list-view.d.ts +14 -3
  220. package/dist/esm/views/local-file-tab-list-view.js +57 -66
  221. package/dist/esm/views/local-file-tab-list-view.js.map +1 -1
  222. package/dist/esm/views/local-file-tab-save-view.d.ts +32 -3
  223. package/dist/esm/views/local-file-tab-save-view.js +125 -138
  224. package/dist/esm/views/local-file-tab-save-view.js.map +1 -1
  225. package/dist/esm/views/menu-bar-view.d.ts +58 -3
  226. package/dist/esm/views/menu-bar-view.js +198 -185
  227. package/dist/esm/views/menu-bar-view.js.map +1 -1
  228. package/dist/esm/views/modal-dialog-view.js +7 -8
  229. package/dist/esm/views/modal-dialog-view.js.map +1 -1
  230. package/dist/esm/views/modal-tabbed-dialog-view.d.ts +15 -3
  231. package/dist/esm/views/modal-tabbed-dialog-view.js +7 -19
  232. package/dist/esm/views/modal-tabbed-dialog-view.js.map +1 -1
  233. package/dist/esm/views/modal-view.d.ts +5 -32
  234. package/dist/esm/views/modal-view.js +21 -61
  235. package/dist/esm/views/modal-view.js.map +1 -1
  236. package/dist/esm/views/provider-tabbed-dialog-view.d.ts +23 -3
  237. package/dist/esm/views/provider-tabbed-dialog-view.js +46 -54
  238. package/dist/esm/views/provider-tabbed-dialog-view.js.map +1 -1
  239. package/dist/esm/views/rename-dialog-view.d.ts +8 -3
  240. package/dist/esm/views/rename-dialog-view.js +25 -51
  241. package/dist/esm/views/rename-dialog-view.js.map +1 -1
  242. package/dist/esm/views/select-interactive-state-dialog-view.d.ts +1 -1
  243. package/dist/esm/views/select-interactive-state-dialog-view.js +4 -30
  244. package/dist/esm/views/select-interactive-state-dialog-view.js.map +1 -1
  245. package/dist/esm/views/select-provider-dialog-tab-view.d.ts +6 -1
  246. package/dist/esm/views/select-provider-dialog-tab-view.js +4 -9
  247. package/dist/esm/views/select-provider-dialog-tab-view.js.map +1 -1
  248. package/dist/esm/views/share-dialog-status-view.js +6 -13
  249. package/dist/esm/views/share-dialog-status-view.js.map +1 -1
  250. package/dist/esm/views/share-dialog-tabs-view.js +22 -61
  251. package/dist/esm/views/share-dialog-tabs-view.js.map +1 -1
  252. package/dist/esm/views/share-dialog-view.d.ts +1 -1
  253. package/dist/esm/views/share-dialog-view.js +15 -21
  254. package/dist/esm/views/share-dialog-view.js.map +1 -1
  255. package/dist/esm/views/share-loading-view.d.ts +2 -2
  256. package/dist/esm/views/share-loading-view.js +2 -4
  257. package/dist/esm/views/share-loading-view.js.map +1 -1
  258. package/dist/esm/views/tabbed-panel-view.d.ts +16 -3
  259. package/dist/esm/views/tabbed-panel-view.js +25 -72
  260. package/dist/esm/views/tabbed-panel-view.js.map +1 -1
  261. package/dist/esm/views/url-tab-view.d.ts +12 -3
  262. package/dist/esm/views/url-tab-view.js +31 -46
  263. package/dist/esm/views/url-tab-view.js.map +1 -1
  264. package/dist/examples/codap3-local-file.html +42 -0
  265. package/dist/examples/index.html +2 -0
  266. package/dist/examples/local-json-save.html +36 -0
  267. package/dist/index.html +1 -1
  268. package/dist/js/app.js +1 -1
  269. package/dist/js/app.js.LICENSE.txt +41 -11
  270. package/dist/js/app.js.map +1 -1
  271. package/dist/js/globals.js +1 -1
  272. package/dist/js/globals.js.map +1 -1
  273. package/package.json +40 -36
  274. package/readme.md +4 -0
  275. package/dist/cjs/lib/file-saver.d.ts +0 -2
  276. package/dist/cjs/lib/file-saver.js +0 -164
  277. package/dist/cjs/lib/file-saver.js.map +0 -1
  278. package/dist/esm/lib/file-saver.d.ts +0 -2
  279. package/dist/esm/lib/file-saver.js +0 -164
  280. package/dist/esm/lib/file-saver.js.map +0 -1
@@ -1,64 +1,24 @@
1
- import $ from 'jquery';
2
- import React from 'react';
3
- export default class ModalView extends React.Component {
4
- constructor(props) {
5
- super(props);
6
- this.closeOnEscape = (e) => {
7
- var _a, _b;
8
- if (e.keyCode === 27) {
9
- (_b = (_a = this.props).close) === null || _b === void 0 ? void 0 : _b.call(_a);
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useEffect, useRef } from 'react';
3
+ import { ModalOverlay, Modal, Dialog } from 'react-aria-components';
4
+ import { getLastFocusedElement } from '../utils/focus-tracker';
5
+ const ModalView = ({ zIndex, close, ariaLabel, ariaLabelledBy, children }) => {
6
+ const overlayStyle = zIndex ? { zIndex } : undefined;
7
+ const modalStyle = zIndex ? { zIndex: zIndex + 1 } : undefined;
8
+ // Capture the last focused interactive element before the dialog opened.
9
+ // We use the global focus tracker because by the time this component mounts,
10
+ // the triggering menu may have already closed and moved focus to <body>.
11
+ const triggerRef = useRef(getLastFocusedElement());
12
+ useEffect(() => {
13
+ const trigger = triggerRef.current;
14
+ return () => {
15
+ if (trigger && document.contains(trigger) && typeof trigger.focus === 'function') {
16
+ setTimeout(() => trigger.focus(), 0);
10
17
  }
11
18
  };
12
- this.updateStyles = () => {
13
- const dimensions = this.getDimensions();
14
- this.setState({
15
- backgroundStyle: this.getBackgroundStyle(dimensions),
16
- contentStyle: this.getContentStyle(dimensions)
17
- });
18
- };
19
- const dimensions = this.getDimensions();
20
- this.state = {
21
- backgroundStyle: this.getBackgroundStyle(dimensions),
22
- contentStyle: this.getContentStyle(dimensions)
23
- };
24
- }
25
- // shadow the entire viewport behind the dialog
26
- getDimensions() {
27
- return {
28
- width: '100vw',
29
- height: '100vh'
30
- };
31
- }
32
- getBackgroundStyle(dimensions) {
33
- if (this.props.zIndex) {
34
- return { zIndex: this.props.zIndex, width: dimensions.width, height: dimensions.height };
35
- }
36
- else {
37
- return dimensions;
38
- }
39
- }
40
- getContentStyle(dimensions) {
41
- if (this.props.zIndex) {
42
- return { zIndex: this.props.zIndex + 1, width: dimensions.width, height: dimensions.height };
43
- }
44
- else {
45
- return dimensions;
46
- }
47
- }
48
- // use bind/unbind for clients using older versions of jQuery
49
- componentDidMount() {
50
- $(window).bind('keyup', this.closeOnEscape);
51
- $(window).bind('resize', this.updateStyles);
52
- }
53
- componentWillUnmount() {
54
- $(window).unbind('keyup', this.closeOnEscape);
55
- $(window).unbind('resize', this.updateStyles);
56
- }
57
- render() {
58
- const { backgroundStyle, contentStyle } = this.state;
59
- return (React.createElement("div", { className: 'modal' },
60
- React.createElement("div", { className: 'modal-background', style: backgroundStyle }),
61
- React.createElement("div", { className: 'modal-content', style: contentStyle }, this.props.children)));
62
- }
63
- }
19
+ }, []);
20
+ return (_jsx(ModalOverlay, { className: "modal", isOpen: true, isDismissable: !!close, onOpenChange: (isOpen) => { if (!isOpen)
21
+ close?.(); }, style: overlayStyle, children: _jsx(Modal, { className: "modal-content", style: modalStyle, children: _jsx(Dialog, { className: "modal-dialog-container", "aria-label": ariaLabelledBy ? undefined : (ariaLabel || "Dialog"), "aria-labelledby": ariaLabelledBy, children: children }) }) }));
22
+ };
23
+ export default ModalView;
64
24
  //# sourceMappingURL=modal-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-view.js","sourceRoot":"","sources":["../../../src/code/views/modal-view.tsx"],"names":[],"mappings":"AAAA,OAAO,CAAC,MAAM,QAAQ,CAAA;AACtB,OAAO,KAAK,MAAM,OAAO,CAAA;AAczB,MAAM,CAAC,OAAO,OAAO,SAAU,SAAQ,KAAK,CAAC,SAAyB;IAEpE,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,CAAC,CAAA;QASd,kBAAa,GAAG,CAAC,CAAM,EAAE,EAAE;;YACzB,IAAI,CAAC,CAAC,OAAO,KAAK,EAAE,EAAE,CAAC;gBACrB,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,KAAK,kDAAI,CAAA;YACtB,CAAC;QACH,CAAC,CAAA;QA0BD,iBAAY,GAAG,GAAG,EAAE;YAClB,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;YACvC,IAAI,CAAC,QAAQ,CAAC;gBACZ,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;gBACpD,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;aAC/C,CAAC,CAAA;QACJ,CAAC,CAAA;QA3CC,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAA;QACvC,IAAI,CAAC,KAAK,GAAG;YACX,eAAe,EAAE,IAAI,CAAC,kBAAkB,CAAC,UAAU,CAAC;YACpD,YAAY,EAAE,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC;SAC/C,CAAA;IACH,CAAC;IAQD,+CAA+C;IAC/C,aAAa;QACX,OAAO;YACL,KAAK,EAAE,OAAO;YACd,MAAM,EAAE,OAAO;SAChB,CAAA;IACH,CAAC;IAED,kBAAkB,CAAC,UAAuB;QACxC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAA;QAC1F,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAA;QACnB,CAAC;IACH,CAAC;IAED,eAAe,CAAC,UAAuB;QACrC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACtB,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,KAAK,EAAE,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,EAAE,CAAA;QAC9F,CAAC;aAAM,CAAC;YACN,OAAO,UAAU,CAAA;QACnB,CAAC;IACH,CAAC;IAUD,6DAA6D;IAC7D,iBAAiB;QACf,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC3C,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC7C,CAAC;IAED,oBAAoB;QAClB,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,aAAa,CAAC,CAAA;QAC7C,CAAC,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAA;IAC/C,CAAC;IAED,MAAM;QACJ,MAAM,EAAE,eAAe,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC,KAAK,CAAA;QACpD,OAAO,CACL,6BAAK,SAAS,EAAC,OAAO;YACpB,6BAAK,SAAS,EAAC,kBAAkB,EAAC,KAAK,EAAE,eAAe,GAAI;YAC5D,6BAAK,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,YAAY,IAC/C,IAAI,CAAC,KAAK,CAAC,QAAQ,CAChB,CACF,CACP,CAAA;IACH,CAAC;CACF"}
1
+ {"version":3,"file":"modal-view.js","sourceRoot":"","sources":["../../../src/code/views/modal-view.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,OAAO,CAAA;AAChD,OAAO,EAAE,YAAY,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AAS9D,MAAM,SAAS,GAAqB,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,EAAE,cAAc,EAAE,QAAQ,EAAE,EAAE,EAAE;IAC7F,MAAM,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,CAAA;IAE9D,yEAAyE;IACzE,6EAA6E;IAC7E,yEAAyE;IACzE,MAAM,UAAU,GAAG,MAAM,CAAqB,qBAAqB,EAAE,CAAC,CAAA;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAA;QAClC,OAAO,GAAG,EAAE;YACV,IAAI,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,UAAU,EAAE,CAAC;gBACjF,UAAU,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAA;YACtC,CAAC;QACH,CAAC,CAAA;IACH,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,OAAO,CACL,KAAC,YAAY,IACX,SAAS,EAAC,OAAO,EACjB,MAAM,EAAE,IAAI,EACZ,aAAa,EAAE,CAAC,CAAC,KAAK,EACtB,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,GAAG,IAAI,CAAC,MAAM;YAAE,KAAK,EAAE,EAAE,CAAA,CAAC,CAAC,EACpD,KAAK,EAAE,YAAY,YAEnB,KAAC,KAAK,IAAC,SAAS,EAAC,eAAe,EAAC,KAAK,EAAE,UAAU,YAChD,KAAC,MAAM,IACL,SAAS,EAAC,wBAAwB,gBACtB,cAAc,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,IAAI,QAAQ,CAAC,qBAC/C,cAAc,YAE9B,QAAQ,GACF,GACH,GACK,CAChB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,SAAS,CAAA"}
@@ -1,3 +1,23 @@
1
- /// <reference types="react" />
2
- declare const _default: import("react").ClassicComponentClass<unknown>;
3
- export default _default;
1
+ import React from 'react';
2
+ import { ProviderInterface, CloudMetadata } from '../providers/provider-interface';
3
+ interface DialogData {
4
+ action: string;
5
+ title: string;
6
+ data?: any;
7
+ callback?: (metadata: CloudMetadata) => void;
8
+ }
9
+ interface ClientState {
10
+ availableProviders: ProviderInterface[];
11
+ metadata?: CloudMetadata;
12
+ }
13
+ interface ProviderTabbedDialogProps {
14
+ dialog: DialogData;
15
+ close: () => void;
16
+ client: {
17
+ state: ClientState;
18
+ alert: (message: string, title?: string) => void;
19
+ confirm: (message: string, callback: () => void) => void;
20
+ };
21
+ }
22
+ declare const ProviderTabbedDialog: React.FC<ProviderTabbedDialogProps>;
23
+ export default ProviderTabbedDialog;
@@ -1,62 +1,54 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- /*
4
- * decaffeinate suggestions:
5
- * DS101: Remove unnecessary use of Array.from
6
- * DS102: Remove unnecessary code created because of implicit returns
7
- * DS103: Rewrite code to no longer use __guard__
8
- * DS205: Consider reworking code to avoid use of IIFEs
9
- * DS207: Consider shorter variations of null checks
10
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
11
- */
12
- import createReactClass from 'create-react-class';
1
+ import { jsx as _jsx } from "react/jsx-runtime";
13
2
  import { createReactFactory } from '../create-react-factory';
14
3
  import tr from '../utils/translate';
15
4
  import TabbedPanel from './tabbed-panel-view';
16
- import modalTabbedDialogView from './modal-tabbed-dialog-view';
17
- import fileDialogTabView from './file-dialog-tab-view';
18
- import selectProviderDialogTabView from './select-provider-dialog-tab-view';
19
- const ModalTabbedDialog = createReactFactory(modalTabbedDialogView);
20
- const FileDialogTab = createReactFactory(fileDialogTabView);
21
- const SelectProviderDialogTab = createReactFactory(selectProviderDialogTabView);
22
- export default createReactClass({
23
- displayName: 'ProviderTabbedDialog',
24
- render() {
25
- const [capability, TabComponent] = Array.from((() => {
26
- switch (this.props.dialog.action) {
27
- case 'openFile': return ['list', FileDialogTab];
28
- case 'saveFile':
29
- case 'saveFileAs': return ['save', FileDialogTab];
30
- case 'saveSecondaryFileAs': return ['export', FileDialogTab];
31
- case 'createCopy': return ['save', FileDialogTab];
32
- case 'selectProvider': return [null, SelectProviderDialogTab];
33
- }
34
- })());
35
- const tabs = [];
36
- let selectedTabIndex = 0;
37
- for (let i = 0; i < this.props.client.state.availableProviders.length; i++) {
38
- const provider = this.props.client.state.availableProviders[i];
39
- if (!capability || provider.capabilities[capability]) {
40
- const filteredTabComponent = provider.filterTabComponent(capability, TabComponent);
41
- if (filteredTabComponent) {
42
- const component = filteredTabComponent({
43
- client: this.props.client,
44
- dialog: this.props.dialog,
45
- close: this.props.close,
46
- provider
47
- });
48
- const onSelected = provider.onProviderTabSelected ? provider.onProviderTabSelected.bind(provider) : null;
49
- tabs.push(TabbedPanel.Tab({ key: i, label: (tr(provider.displayName)), component, capability, onSelected }));
50
- if (provider.name === __guard__(this.props.client.state.metadata != null ? this.props.client.state.metadata.provider : undefined, (x) => x.name)) {
51
- selectedTabIndex = tabs.length - 1;
52
- }
5
+ import ModalTabbedDialog from './modal-tabbed-dialog-view';
6
+ import FileDialogTab from './file-dialog-tab-view';
7
+ import SelectProviderDialogTab from './select-provider-dialog-tab-view';
8
+ import { ECapabilities } from '../providers/provider-interface';
9
+ // Create factories for the tab components
10
+ const FileDialogTabFactory = createReactFactory(FileDialogTab);
11
+ const SelectProviderDialogTabFactory = createReactFactory(SelectProviderDialogTab);
12
+ const ProviderTabbedDialog = ({ dialog, close, client }) => {
13
+ const getDialogConfig = () => {
14
+ switch (dialog.action) {
15
+ case 'openFile': return [ECapabilities.list, FileDialogTabFactory];
16
+ case 'saveFile':
17
+ case 'saveFileAs': return [ECapabilities.save, FileDialogTabFactory];
18
+ case 'saveSecondaryFileAs': return [ECapabilities["export"], FileDialogTabFactory];
19
+ case 'createCopy': return [ECapabilities.save, FileDialogTabFactory];
20
+ case 'selectProvider': return [null, SelectProviderDialogTabFactory];
21
+ default: return [null, FileDialogTabFactory];
22
+ }
23
+ };
24
+ const [capability, TabComponentFactory] = getDialogConfig();
25
+ const tabs = [];
26
+ let selectedTabIndex = 0;
27
+ for (let i = 0; i < client.state.availableProviders.length; i++) {
28
+ const provider = client.state.availableProviders[i];
29
+ if (!capability || provider.capabilities[capability]) {
30
+ const filteredTabFactory = provider.filterTabComponent(capability, TabComponentFactory);
31
+ if (filteredTabFactory) {
32
+ const component = filteredTabFactory({
33
+ client,
34
+ dialog,
35
+ close,
36
+ provider
37
+ });
38
+ const onSelected = provider.onProviderTabSelected?.bind(provider);
39
+ tabs.push(TabbedPanel.Tab({
40
+ label: tr(provider.displayName ?? ''),
41
+ component,
42
+ capability: capability ?? undefined,
43
+ onSelected
44
+ }));
45
+ if (provider.name === client.state.metadata?.provider?.name) {
46
+ selectedTabIndex = tabs.length - 1;
53
47
  }
54
48
  }
55
49
  }
56
- return (ModalTabbedDialog({ title: (tr(this.props.dialog.title)), close: this.props.close, tabs, selectedTabIndex }));
57
50
  }
58
- });
59
- function __guard__(value, transform) {
60
- return (typeof value !== 'undefined' && value !== null) ? transform(value) : undefined;
61
- }
51
+ return (_jsx(ModalTabbedDialog, { title: tr(dialog.title), close: close, tabs: tabs, selectedTabIndex: selectedTabIndex }));
52
+ };
53
+ export default ProviderTabbedDialog;
62
54
  //# sourceMappingURL=provider-tabbed-dialog-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"provider-tabbed-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/provider-tabbed-dialog-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"provider-tabbed-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/provider-tabbed-dialog-view.tsx"],"names":[],"mappings":"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"}
@@ -1,3 +1,8 @@
1
- /// <reference types="react" />
2
- declare const _default: import("react").ClassicComponentClass<unknown>;
3
- export default _default;
1
+ import React from 'react';
2
+ interface RenameDialogViewProps {
3
+ filename?: string;
4
+ callback?: (filename: string) => void;
5
+ close?: () => void;
6
+ }
7
+ declare const RenameDialogView: React.FC<RenameDialogViewProps>;
8
+ export default RenameDialogView;
@@ -1,55 +1,29 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- /*
4
- * decaffeinate suggestions:
5
- * DS102: Remove unnecessary code created because of implicit returns
6
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
7
- */
8
- import createReactClass from 'create-react-class';
9
- import ReactDOM from 'react-dom';
10
- import ReactDOMFactories from 'react-dom-factories';
11
- import { createReactFactory } from '../create-react-factory';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { useState, useRef, useEffect } from 'react';
3
+ import ModalDialogView from './modal-dialog-view';
12
4
  import tr from '../utils/translate';
13
- import modalDialogView from './modal-dialog-view';
14
- const { div, input, button } = ReactDOMFactories;
15
- const ModalDialog = createReactFactory(modalDialogView);
16
- export default createReactClass({
17
- displayName: 'RenameDialogView',
18
- getInitialState() {
19
- const filename = this.props.filename || '';
20
- return {
21
- filename,
22
- trimmedFilename: this.trim(filename)
23
- };
24
- },
25
- componentDidMount() {
26
- this.filename = ReactDOM.findDOMNode(this.filenameRef);
27
- return this.filename.focus();
28
- },
29
- updateFilename() {
30
- const filename = this.filename.value;
31
- return this.setState({
32
- filename,
33
- trimmedFilename: this.trim(filename)
34
- });
35
- },
36
- trim(s) {
37
- return s.replace(/^\s+|\s+$/, '');
38
- },
39
- rename(e) {
40
- if (this.state.trimmedFilename.length > 0) {
41
- if (typeof this.props.callback === 'function') {
42
- this.props.callback(this.state.filename);
43
- }
44
- return this.props.close();
5
+ const RenameDialogView = ({ filename: initialFilename = '', callback, close }) => {
6
+ const [filename, setFilename] = useState(initialFilename);
7
+ const inputRef = useRef(null);
8
+ const trimmedFilename = filename.replace(/^\s+|\s+$/, '');
9
+ useEffect(() => {
10
+ inputRef.current?.focus();
11
+ }, []);
12
+ const handleFilenameChange = (e) => {
13
+ setFilename(e.target.value);
14
+ };
15
+ const handleRename = () => {
16
+ if (trimmedFilename.length > 0) {
17
+ callback?.(trimmedFilename);
18
+ close?.();
45
19
  }
46
- else {
47
- e.preventDefault();
48
- return this.filename.focus();
20
+ };
21
+ const handleKeyDown = (e) => {
22
+ if (e.key === 'Enter') {
23
+ handleRename();
49
24
  }
50
- },
51
- render() {
52
- return ModalDialog({ title: (tr('~DIALOG.RENAME')), close: this.props.close }, (div({ className: 'rename-dialog' }, (input({ ref: ((elt) => { return this.filenameRef = elt; }), placeholder: 'Filename', value: this.state.filename, onChange: this.updateFilename })), (div({ className: 'buttons' }, (button({ className: (this.state.trimmedFilename.length === 0 ? 'disabled' : ''), onClick: this.rename }, tr('~RENAME_DIALOG.RENAME'))), (button({ onClick: this.props.close }, tr('~RENAME_DIALOG.CANCEL'))))))));
53
- }
54
- });
25
+ };
26
+ return (_jsx(ModalDialogView, { title: tr('~DIALOG.RENAME'), close: close, children: _jsxs("div", { className: "rename-dialog", children: [_jsx("input", { ref: inputRef, "aria-label": tr("~FILE_DIALOG.FILENAME"), placeholder: tr("~FILE_DIALOG.FILENAME"), value: filename, onChange: handleFilenameChange, onKeyDown: handleKeyDown }), _jsxs("div", { className: "buttons", children: [_jsx("button", { className: trimmedFilename.length === 0 ? 'disabled' : 'default', disabled: trimmedFilename.length === 0, onClick: handleRename, children: tr('~RENAME_DIALOG.RENAME') }), _jsx("button", { onClick: close, children: tr('~RENAME_DIALOG.CANCEL') })] })] }) }));
27
+ };
28
+ export default RenameDialogView;
55
29
  //# sourceMappingURL=rename-dialog-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"rename-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/rename-dialog-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"rename-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/rename-dialog-view.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AAC1D,OAAO,eAAe,MAAM,qBAAqB,CAAA;AACjD,OAAO,EAAE,MAAM,oBAAoB,CAAA;AAQnC,MAAM,gBAAgB,GAAoC,CAAC,EAAE,QAAQ,EAAE,eAAe,GAAG,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,EAAE,EAAE;IAChH,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,eAAe,CAAC,CAAA;IACzD,MAAM,QAAQ,GAAG,MAAM,CAAmB,IAAI,CAAC,CAAA;IAE/C,MAAM,eAAe,GAAG,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;IAEzD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,OAAO,EAAE,KAAK,EAAE,CAAA;IAC3B,CAAC,EAAE,EAAE,CAAC,CAAA;IAEN,MAAM,oBAAoB,GAAG,CAAC,CAAsC,EAAE,EAAE;QACtE,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAA;IAC7B,CAAC,CAAA;IAED,MAAM,YAAY,GAAG,GAAG,EAAE;QACxB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,QAAQ,EAAE,CAAC,eAAe,CAAC,CAAA;YAC3B,KAAK,EAAE,EAAE,CAAA;QACX,CAAC;IACH,CAAC,CAAA;IAED,MAAM,aAAa,GAAG,CAAC,CAAwC,EAAE,EAAE;QACjE,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;YACtB,YAAY,EAAE,CAAA;QAChB,CAAC;IACH,CAAC,CAAA;IAED,OAAO,CACL,KAAC,eAAe,IAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,EAAE,KAAK,EAAE,KAAK,YACxD,eAAK,SAAS,EAAC,eAAe,aAC5B,gBACE,GAAG,EAAE,QAAQ,gBACD,EAAE,CAAC,uBAAuB,CAAC,EACvC,WAAW,EAAE,EAAE,CAAC,uBAAuB,CAAC,EACxC,KAAK,EAAE,QAAQ,EACf,QAAQ,EAAE,oBAAoB,EAC9B,SAAS,EAAE,aAAa,GACxB,EACF,eAAK,SAAS,EAAC,SAAS,aACtB,iBACE,SAAS,EAAE,eAAe,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAChE,QAAQ,EAAE,eAAe,CAAC,MAAM,KAAK,CAAC,EACtC,OAAO,EAAE,YAAY,YAEpB,EAAE,CAAC,uBAAuB,CAAC,GACrB,EACT,iBAAQ,OAAO,EAAE,KAAK,YAAG,EAAE,CAAC,uBAAuB,CAAC,GAAU,IAC1D,IACF,GACU,CACnB,CAAA;AACH,CAAC,CAAA;AAED,eAAe,gBAAgB,CAAA"}
@@ -17,6 +17,6 @@ export default class SelectInteractiveStateDialog extends React.Component<Select
17
17
  };
18
18
  handleOnPreview: (showOverlay: boolean) => void;
19
19
  handleHideOverlay: () => void;
20
- render(): React.JSX.Element;
20
+ render(): JSX.Element;
21
21
  }
22
22
  export {};
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import React from 'react';
2
3
  import tr from '../utils/translate';
3
4
  import ModalDialogView from './modal-dialog-view';
@@ -8,9 +9,8 @@ class SelectInteractiveStateVersion extends React.Component {
8
9
  preview: false
9
10
  };
10
11
  this.handleSelect = () => {
11
- var _a, _b;
12
12
  this.props.onSelect(this.props.version.interactiveState);
13
- (_b = (_a = this.props).close) === null || _b === void 0 ? void 0 : _b.call(_a);
13
+ this.props.close?.();
14
14
  };
15
15
  this.handleTogglePreview = () => {
16
16
  this.setState((prev) => {
@@ -32,25 +32,7 @@ class SelectInteractiveStateVersion extends React.Component {
32
32
  const updatedAt = (new Date(version.updatedAt)).toLocaleString();
33
33
  const previewClassName = `preview${preview ? ' preview-active' : ''}`;
34
34
  const previewIframeClassName = preview ? 'preview-iframe-fullsize' : 'preview-iframe';
35
- return (React.createElement("div", { className: 'version-info' },
36
- React.createElement("div", { className: 'dialog-button', onClick: this.handleSelect }, tr('~DIALOG.SELECT_INTERACTIVE_STATE.USE_THIS_VERSION')),
37
- React.createElement("div", { className: previewClassName, onClick: this.handleTogglePreview },
38
- React.createElement("div", { className: 'iframe-wrapper' },
39
- React.createElement("iframe", { className: previewIframeClassName, src: version.externalReportUrl }))),
40
- React.createElement("div", { className: 'center preview-label', onClick: this.handleTogglePreview }, tr('~DIALOG.SELECT_INTERACTIVE_STATE.CLICK_TO_PREVIEW')),
41
- React.createElement("table", { className: 'version-desc' },
42
- React.createElement("tbody", null,
43
- React.createElement("tr", null,
44
- React.createElement("th", null, tr('~DIALOG.SELECT_INTERACTIVE_STATE.UPDATED_AT')),
45
- React.createElement("td", null, updatedAt)),
46
- React.createElement("tr", null,
47
- React.createElement("th", null, tr('~DIALOG.SELECT_INTERACTIVE_STATE.PAGE')),
48
- React.createElement("td", null,
49
- React.createElement("span", null, version.pageNumber),
50
- React.createElement("span", null, version.pageName ? ` - ${version.pageName}` : ""))),
51
- React.createElement("tr", null,
52
- React.createElement("th", null, tr('~DIALOG.SELECT_INTERACTIVE_STATE.ACTIVITY')),
53
- React.createElement("td", null, version.activityName))))));
35
+ return (_jsxs("div", { className: 'version-info', children: [_jsx("div", { className: 'dialog-button', onClick: this.handleSelect, children: tr('~DIALOG.SELECT_INTERACTIVE_STATE.USE_THIS_VERSION') }), _jsx("div", { className: previewClassName, onClick: this.handleTogglePreview, children: _jsx("div", { className: 'iframe-wrapper', children: _jsx("iframe", { className: previewIframeClassName, src: version.externalReportUrl }) }) }), _jsx("div", { className: 'center preview-label', onClick: this.handleTogglePreview, children: tr('~DIALOG.SELECT_INTERACTIVE_STATE.CLICK_TO_PREVIEW') }), _jsx("table", { className: 'version-desc', children: _jsxs("tbody", { children: [_jsxs("tr", { children: [_jsx("th", { children: tr('~DIALOG.SELECT_INTERACTIVE_STATE.UPDATED_AT') }), _jsx("td", { children: updatedAt })] }), _jsxs("tr", { children: [_jsx("th", { children: tr('~DIALOG.SELECT_INTERACTIVE_STATE.PAGE') }), _jsxs("td", { children: [_jsx("span", { children: version.pageNumber }), _jsx("span", { children: version.pageName ? ` - ${version.pageName}` : "" })] })] }), _jsxs("tr", { children: [_jsx("th", { children: tr('~DIALOG.SELECT_INTERACTIVE_STATE.ACTIVITY') }), _jsx("td", { children: version.activityName })] })] }) })] }));
54
36
  }
55
37
  }
56
38
  export default class SelectInteractiveStateDialog extends React.Component {
@@ -73,15 +55,7 @@ export default class SelectInteractiveStateDialog extends React.Component {
73
55
  const question = interactiveStateAvailable
74
56
  ? tr('~DIALOG.SELECT_INTERACTIVE_STATE.CURRENT_VS_LINKED')
75
57
  : tr('~DIALOG.SELECT_INTERACTIVE_STATE.LINKED_VS_LINKED');
76
- return (React.createElement(ModalDialogView, { title: tr('~DIALOG.SELECT_INTERACTIVE_STATE.TITLE') },
77
- React.createElement("div", { className: 'select-interactive-state-dialog' },
78
- React.createElement("div", { className: overlayClassname, onClick: this.handleHideOverlay }, tr('~DIALOG.SELECT_INTERACTIVE_STATE.PREVIEW_INFO')),
79
- React.createElement("div", { className: 'content' },
80
- React.createElement("div", { id: 'question' }, question),
81
- React.createElement("div", { className: 'scroll-wrapper' },
82
- React.createElement("div", { className: 'versions' },
83
- React.createElement(SelectInteractiveStateVersion, { version: state1, showingOverlay: showOverlay, onSelect: onSelect, onPreview: this.handleOnPreview, close: close }),
84
- React.createElement(SelectInteractiveStateVersion, { version: state2, showingOverlay: showOverlay, onSelect: onSelect, onPreview: this.handleOnPreview, close: close })))))));
58
+ return (_jsx(ModalDialogView, { title: tr('~DIALOG.SELECT_INTERACTIVE_STATE.TITLE'), children: _jsxs("div", { className: 'select-interactive-state-dialog', children: [_jsx("div", { className: overlayClassname, onClick: this.handleHideOverlay, children: tr('~DIALOG.SELECT_INTERACTIVE_STATE.PREVIEW_INFO') }), _jsxs("div", { className: 'content', children: [_jsx("div", { id: 'question', children: question }), _jsx("div", { className: 'scroll-wrapper', children: _jsxs("div", { className: 'versions', children: [_jsx(SelectInteractiveStateVersion, { version: state1, showingOverlay: showOverlay, onSelect: onSelect, onPreview: this.handleOnPreview, close: close }), _jsx(SelectInteractiveStateVersion, { version: state2, showingOverlay: showOverlay, onSelect: onSelect, onPreview: this.handleOnPreview, close: close })] }) })] })] }) }));
85
59
  }
86
60
  }
87
61
  //# sourceMappingURL=select-interactive-state-dialog-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-interactive-state-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/select-interactive-state-dialog-view.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"select-interactive-state-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/select-interactive-state-dialog-view.tsx"],"names":[],"mappings":"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"}
@@ -1,2 +1,7 @@
1
- declare const SelectProviderDialogTab: any;
1
+ import React from 'react';
2
+ import { ProviderInterface } from '../providers/provider-interface';
3
+ interface SelectProviderDialogTabProps {
4
+ provider: ProviderInterface;
5
+ }
6
+ declare const SelectProviderDialogTab: React.FC<SelectProviderDialogTabProps>;
2
7
  export default SelectProviderDialogTab;
@@ -1,11 +1,6 @@
1
- // TODO: This file was created by bulk-decaffeinate.
2
- // Sanity-check the conversion and remove this comment.
3
- import ReactDOMFactories from "react-dom-factories";
4
- import { createReactClassFactory } from "../create-react-factory";
5
- const { div } = ReactDOMFactories;
6
- const SelectProviderDialogTab = createReactClassFactory({
7
- displayName: 'SelectProviderDialogTab',
8
- render() { return (div({}, `TODO: SelectProviderDialogTab: ${this.props.provider.displayName}`)); }
9
- });
1
+ import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ const SelectProviderDialogTab = ({ provider }) => {
3
+ return _jsxs("div", { children: ["TODO: SelectProviderDialogTab: ", provider.displayName] });
4
+ };
10
5
  export default SelectProviderDialogTab;
11
6
  //# sourceMappingURL=select-provider-dialog-tab-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select-provider-dialog-tab-view.js","sourceRoot":"","sources":["../../../src/code/views/select-provider-dialog-tab-view.ts"],"names":[],"mappings":"AAAA,oDAAoD;AACpD,uDAAuD;AACvD,OAAO,iBAAiB,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAA;AAEjE,MAAM,EAAC,GAAG,EAAC,GAAG,iBAAiB,CAAA;AAE/B,MAAM,uBAAuB,GAAG,uBAAuB,CAAC;IACtD,WAAW,EAAE,yBAAyB;IACtC,MAAM,KAAK,OAAO,CAAC,GAAG,CAAC,EAAE,EAAE,kCAAkC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,CAAC,CAAA,CAAC,CAAC;CACnG,CAAC,CAAA;AAEF,eAAe,uBAAuB,CAAA"}
1
+ {"version":3,"file":"select-provider-dialog-tab-view.js","sourceRoot":"","sources":["../../../src/code/views/select-provider-dialog-tab-view.tsx"],"names":[],"mappings":";AAOA,MAAM,uBAAuB,GAA2C,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;IACvF,OAAO,6DAAqC,QAAQ,CAAC,WAAW,IAAO,CAAA;AACzE,CAAC,CAAA;AAED,eAAe,uBAAuB,CAAA"}
@@ -1,17 +1,10 @@
1
- import React from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import translate from '../utils/translate';
3
3
  export const ShareDialogStatusView = ({ isSharing, previewLink, onToggleShare, onUpdateShare }) => {
4
- return (React.createElement("div", null,
5
- React.createElement("div", { className: 'share-status', "data-testid": 'share-status' },
6
- translate("~SHARE_DIALOG.SHARE_STATE"),
7
- React.createElement("strong", null,
8
- translate(isSharing ? "~SHARE_DIALOG.SHARE_STATE_ENABLED" : "~SHARE_DIALOG.SHARE_STATE_DISABLED"),
9
- isSharing &&
10
- React.createElement("a", { href: '#', onClick: onToggleShare, "data-testid": 'toggle-anchor' }, translate("~SHARE_DIALOG.STOP_SHARING")))),
11
- React.createElement("div", { className: 'share-button' },
12
- React.createElement("button", { onClick: isSharing ? onUpdateShare : onToggleShare, "data-testid": 'share-button-element' }, translate(isSharing ? "~SHARE_DIALOG.UPDATE_SHARING" : "~SHARE_DIALOG.ENABLE_SHARING")),
13
- React.createElement("div", { className: isSharing ? 'share-button-help-sharing' : 'share-button-help-not-sharing' }, isSharing
14
- ? React.createElement("a", { href: previewLink, target: "_blank", rel: "noreferrer", "data-testid": 'preview-anchor' }, translate("~SHARE_DIALOG.PREVIEW_SHARING"))
15
- : translate("~SHARE_DIALOG.ENABLE_SHARING_MESSAGE")))));
4
+ const handlePreviewClick = () => window.open(previewLink, "_blank", "noopener,noreferrer");
5
+ return (_jsxs("div", { children: [_jsxs("div", { className: 'share-status', "data-testid": 'share-status', children: [translate("~SHARE_DIALOG.SHARE_STATE"), _jsx("strong", { children: translate(isSharing ? "~SHARE_DIALOG.SHARE_STATE_ENABLED" : "~SHARE_DIALOG.SHARE_STATE_DISABLED") })] }), _jsxs("div", { className: 'share-buttons', children: [_jsx("button", { onClick: isSharing ? onUpdateShare : onToggleShare, "data-testid": 'share-button-element', children: translate(isSharing ? "~SHARE_DIALOG.UPDATE_SHARING" : "~SHARE_DIALOG.ENABLE_SHARING") }), _jsx("div", { className: isSharing ? 'share-button-help-sharing' : 'share-button-help-not-sharing', children: isSharing
6
+ ? _jsx("button", { onClick: handlePreviewClick, "data-testid": 'preview-button', children: translate("~SHARE_DIALOG.PREVIEW_SHARING") })
7
+ : _jsx("span", { children: translate("~SHARE_DIALOG.ENABLE_SHARING_MESSAGE") }) }), isSharing &&
8
+ _jsx("button", { onClick: onToggleShare, "data-testid": "toggle-share-button", children: translate("~SHARE_DIALOG.STOP_SHARING") })] })] }));
16
9
  };
17
10
  //# sourceMappingURL=share-dialog-status-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"share-dialog-status-view.js","sourceRoot":"","sources":["../../../src/code/views/share-dialog-status-view.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAQ1C,MAAM,CAAC,MAAM,qBAAqB,GAAqB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE;IAClH,OAAO,CACL;QACE,6BAAK,SAAS,EAAC,cAAc,iBAAa,cAAc;YACrD,SAAS,CAAC,2BAA2B,CAAC;YACvC;gBACG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,oCAAoC,CAAC;gBACjG,SAAS;oBACR,2BAAG,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,aAAa,iBAAc,eAAe,IAC5D,SAAS,CAAC,4BAA4B,CAAC,CACtC,CAEC,CACL;QACN,6BAAK,SAAS,EAAC,cAAc;YAC3B,gCAAQ,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,iBAAc,sBAAsB,IAC3F,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAChF;YACT,6BAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,+BAA+B,IACtF,SAAS;gBACR,CAAC,CAAC,2BAAG,IAAI,EAAE,WAAW,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,YAAY,iBAAa,gBAAgB,IAChF,SAAS,CAAC,+BAA+B,CAAC,CACzC;gBACN,CAAC,CAAC,SAAS,CAAC,sCAAsC,CAAC,CACjD,CACF,CACF,CACP,CAAA;AACH,CAAC,CAAA"}
1
+ {"version":3,"file":"share-dialog-status-view.js","sourceRoot":"","sources":["../../../src/code/views/share-dialog-status-view.tsx"],"names":[],"mappings":";AACA,OAAO,SAAS,MAAM,oBAAoB,CAAA;AAQ1C,MAAM,CAAC,MAAM,qBAAqB,GAAqB,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,EAAE;IAClH,MAAM,kBAAkB,GAAG,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,QAAQ,EAAE,qBAAqB,CAAC,CAAA;IAC1F,OAAO,CACL,0BACE,eAAK,SAAS,EAAC,cAAc,iBAAa,cAAc,aACrD,SAAS,CAAC,2BAA2B,CAAC,EACvC,2BACG,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,mCAAmC,CAAC,CAAC,CAAC,oCAAoC,CAAC,GAC3F,IACL,EACN,eAAK,SAAS,EAAC,eAAe,aAC5B,iBAAQ,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,iBAAc,sBAAsB,YAC3F,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC,8BAA8B,CAAC,CAAC,CAAC,8BAA8B,CAAC,GAChF,EACT,cAAK,SAAS,EAAE,SAAS,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,+BAA+B,YACtF,SAAS;4BACR,CAAC,CAAC,iBAAQ,OAAO,EAAE,kBAAkB,iBAAc,gBAAgB,YAC9D,SAAS,CAAC,+BAA+B,CAAC,GACpC;4BACX,CAAC,CAAC,yBAAO,SAAS,CAAC,sCAAsC,CAAC,GAAQ,GAEhE,EACL,SAAS;wBACR,iBAAQ,OAAO,EAAE,aAAa,iBAAc,qBAAqB,YAC9D,SAAS,CAAC,4BAA4B,CAAC,GACjC,IAEP,IACF,CACP,CAAA;AACH,CAAC,CAAA"}