@concord-consortium/cloud-file-manager 2.1.0-pre.9 → 2.2.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 (276) 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.js +51 -79
  6. package/dist/cjs/client.js.map +1 -1
  7. package/dist/cjs/cloud-file-manager.js +2 -2
  8. package/dist/cjs/cloud-file-manager.js.map +1 -1
  9. package/dist/cjs/create-react-factory.d.ts +1 -0
  10. package/dist/cjs/create-react-factory.js.map +1 -1
  11. package/dist/cjs/providers/document-store-provider.js +7 -10
  12. package/dist/cjs/providers/document-store-provider.js.map +1 -1
  13. package/dist/cjs/providers/document-store-share-provider.js +4 -4
  14. package/dist/cjs/providers/document-store-share-provider.js.map +1 -1
  15. package/dist/cjs/providers/google-drive-provider.js +30 -34
  16. package/dist/cjs/providers/google-drive-provider.js.map +1 -1
  17. package/dist/cjs/providers/interactive-api-provider.d.ts +5 -2
  18. package/dist/cjs/providers/interactive-api-provider.js +27 -21
  19. package/dist/cjs/providers/interactive-api-provider.js.map +1 -1
  20. package/dist/cjs/providers/lara-provider.js +18 -26
  21. package/dist/cjs/providers/lara-provider.js.map +1 -1
  22. package/dist/cjs/providers/legacy-google-drive-provider.js +21 -27
  23. package/dist/cjs/providers/legacy-google-drive-provider.js.map +1 -1
  24. package/dist/cjs/providers/localstorage-provider.js +11 -13
  25. package/dist/cjs/providers/localstorage-provider.js.map +1 -1
  26. package/dist/cjs/providers/patchable-content.js +1 -1
  27. package/dist/cjs/providers/patchable-content.js.map +1 -1
  28. package/dist/cjs/providers/post-message-provider.js +1 -1
  29. package/dist/cjs/providers/post-message-provider.js.map +1 -1
  30. package/dist/cjs/providers/provider-interface.d.ts +1 -2
  31. package/dist/cjs/providers/provider-interface.js +11 -14
  32. package/dist/cjs/providers/provider-interface.js.map +1 -1
  33. package/dist/cjs/providers/readonly-provider.js +6 -6
  34. package/dist/cjs/providers/readonly-provider.js.map +1 -1
  35. package/dist/cjs/providers/s3-provider.js +1 -2
  36. package/dist/cjs/providers/s3-provider.js.map +1 -1
  37. package/dist/cjs/providers/s3-share-provider.js +1 -1
  38. package/dist/cjs/providers/s3-share-provider.js.map +1 -1
  39. package/dist/cjs/providers/test-provider.js +5 -5
  40. package/dist/cjs/providers/test-provider.js.map +1 -1
  41. package/dist/cjs/providers/url-provider.js +1 -1
  42. package/dist/cjs/providers/url-provider.js.map +1 -1
  43. package/dist/cjs/ui.js +2 -3
  44. package/dist/cjs/ui.js.map +1 -1
  45. package/dist/cjs/utils/focus-tracker.d.ts +3 -0
  46. package/dist/cjs/utils/focus-tracker.js +44 -0
  47. package/dist/cjs/utils/focus-tracker.js.map +1 -0
  48. package/dist/cjs/utils/ios-file-saver.d.ts +42 -0
  49. package/dist/cjs/utils/ios-file-saver.js +98 -0
  50. package/dist/cjs/utils/ios-file-saver.js.map +1 -0
  51. package/dist/cjs/utils/lang/en-US.json +9 -0
  52. package/dist/cjs/utils/s3-share-provider-token-service-helper.js +19 -13
  53. package/dist/cjs/utils/s3-share-provider-token-service-helper.js.map +1 -1
  54. package/dist/cjs/utils/url-params.js +1 -2
  55. package/dist/cjs/utils/url-params.js.map +1 -1
  56. package/dist/cjs/views/alert-dialog-view.d.ts +9 -3
  57. package/dist/cjs/views/alert-dialog-view.js +9 -24
  58. package/dist/cjs/views/alert-dialog-view.js.map +1 -1
  59. package/dist/cjs/views/app-view.d.ts +12 -5
  60. package/dist/cjs/views/app-view.js +167 -175
  61. package/dist/cjs/views/app-view.js.map +1 -1
  62. package/dist/cjs/views/blocking-modal-view.d.ts +9 -3
  63. package/dist/cjs/views/blocking-modal-view.js +8 -25
  64. package/dist/cjs/views/blocking-modal-view.js.map +1 -1
  65. package/dist/cjs/views/confirm-dialog-view.d.ts +14 -3
  66. package/dist/cjs/views/confirm-dialog-view.js +14 -31
  67. package/dist/cjs/views/confirm-dialog-view.js.map +1 -1
  68. package/dist/cjs/views/download-dialog-view.d.ts +12 -3
  69. package/dist/cjs/views/download-dialog-view.js +36 -63
  70. package/dist/cjs/views/download-dialog-view.js.map +1 -1
  71. package/dist/cjs/views/dropdown-anchors.d.ts +2 -2
  72. package/dist/cjs/views/dropdown-anchors.js +4 -10
  73. package/dist/cjs/views/dropdown-anchors.js.map +1 -1
  74. package/dist/cjs/views/dropdown-view.d.ts +20 -3
  75. package/dist/cjs/views/dropdown-view.js +40 -157
  76. package/dist/cjs/views/dropdown-view.js.map +1 -1
  77. package/dist/cjs/views/file-dialog-tab-view.d.ts +24 -2
  78. package/dist/cjs/views/file-dialog-tab-view.js +255 -315
  79. package/dist/cjs/views/file-dialog-tab-view.js.map +1 -1
  80. package/dist/cjs/views/icons/spin.d.ts +2 -2
  81. package/dist/cjs/views/icons/spin.js +2 -39
  82. package/dist/cjs/views/icons/spin.js.map +1 -1
  83. package/dist/cjs/views/import-tabbed-dialog-view.d.ts +12 -3
  84. package/dist/cjs/views/import-tabbed-dialog-view.js +33 -65
  85. package/dist/cjs/views/import-tabbed-dialog-view.js.map +1 -1
  86. package/dist/cjs/views/local-file-tab-list-view.d.ts +14 -3
  87. package/dist/cjs/views/local-file-tab-list-view.js +57 -66
  88. package/dist/cjs/views/local-file-tab-list-view.js.map +1 -1
  89. package/dist/cjs/views/local-file-tab-save-view.d.ts +32 -3
  90. package/dist/cjs/views/local-file-tab-save-view.js +125 -138
  91. package/dist/cjs/views/local-file-tab-save-view.js.map +1 -1
  92. package/dist/cjs/views/menu-bar-view.d.ts +58 -3
  93. package/dist/cjs/views/menu-bar-view.js +196 -183
  94. package/dist/cjs/views/menu-bar-view.js.map +1 -1
  95. package/dist/cjs/views/modal-dialog-view.js +7 -8
  96. package/dist/cjs/views/modal-dialog-view.js.map +1 -1
  97. package/dist/cjs/views/modal-tabbed-dialog-view.d.ts +15 -3
  98. package/dist/cjs/views/modal-tabbed-dialog-view.js +5 -17
  99. package/dist/cjs/views/modal-tabbed-dialog-view.js.map +1 -1
  100. package/dist/cjs/views/modal-view.d.ts +5 -32
  101. package/dist/cjs/views/modal-view.js +20 -64
  102. package/dist/cjs/views/modal-view.js.map +1 -1
  103. package/dist/cjs/views/provider-tabbed-dialog-view.d.ts +23 -3
  104. package/dist/cjs/views/provider-tabbed-dialog-view.js +43 -51
  105. package/dist/cjs/views/provider-tabbed-dialog-view.js.map +1 -1
  106. package/dist/cjs/views/rename-dialog-view.d.ts +8 -3
  107. package/dist/cjs/views/rename-dialog-view.js +25 -51
  108. package/dist/cjs/views/rename-dialog-view.js.map +1 -1
  109. package/dist/cjs/views/select-interactive-state-dialog-view.d.ts +1 -1
  110. package/dist/cjs/views/select-interactive-state-dialog-view.js +4 -30
  111. package/dist/cjs/views/select-interactive-state-dialog-view.js.map +1 -1
  112. package/dist/cjs/views/select-provider-dialog-tab-view.d.ts +6 -1
  113. package/dist/cjs/views/select-provider-dialog-tab-view.js +4 -12
  114. package/dist/cjs/views/select-provider-dialog-tab-view.js.map +1 -1
  115. package/dist/cjs/views/share-dialog-status-view.js +6 -13
  116. package/dist/cjs/views/share-dialog-status-view.js.map +1 -1
  117. package/dist/cjs/views/share-dialog-tabs-view.js +22 -61
  118. package/dist/cjs/views/share-dialog-tabs-view.js.map +1 -1
  119. package/dist/cjs/views/share-dialog-view.d.ts +1 -1
  120. package/dist/cjs/views/share-dialog-view.js +15 -21
  121. package/dist/cjs/views/share-dialog-view.js.map +1 -1
  122. package/dist/cjs/views/share-loading-view.d.ts +2 -2
  123. package/dist/cjs/views/share-loading-view.js +2 -4
  124. package/dist/cjs/views/share-loading-view.js.map +1 -1
  125. package/dist/cjs/views/tabbed-panel-view.d.ts +16 -3
  126. package/dist/cjs/views/tabbed-panel-view.js +25 -75
  127. package/dist/cjs/views/tabbed-panel-view.js.map +1 -1
  128. package/dist/cjs/views/url-tab-view.d.ts +12 -3
  129. package/dist/cjs/views/url-tab-view.js +31 -46
  130. package/dist/cjs/views/url-tab-view.js.map +1 -1
  131. package/dist/css/app.css +1 -1
  132. package/dist/css/app.css.map +1 -1
  133. package/dist/esm/app-options.d.ts +2 -0
  134. package/dist/esm/client.js +51 -79
  135. package/dist/esm/client.js.map +1 -1
  136. package/dist/esm/cloud-file-manager.js +2 -2
  137. package/dist/esm/cloud-file-manager.js.map +1 -1
  138. package/dist/esm/create-react-factory.d.ts +1 -0
  139. package/dist/esm/create-react-factory.js.map +1 -1
  140. package/dist/esm/providers/document-store-provider.js +7 -10
  141. package/dist/esm/providers/document-store-provider.js.map +1 -1
  142. package/dist/esm/providers/document-store-share-provider.js +4 -4
  143. package/dist/esm/providers/document-store-share-provider.js.map +1 -1
  144. package/dist/esm/providers/google-drive-provider.js +30 -34
  145. package/dist/esm/providers/google-drive-provider.js.map +1 -1
  146. package/dist/esm/providers/interactive-api-provider.d.ts +5 -2
  147. package/dist/esm/providers/interactive-api-provider.js +25 -20
  148. package/dist/esm/providers/interactive-api-provider.js.map +1 -1
  149. package/dist/esm/providers/lara-provider.js +18 -26
  150. package/dist/esm/providers/lara-provider.js.map +1 -1
  151. package/dist/esm/providers/legacy-google-drive-provider.js +21 -27
  152. package/dist/esm/providers/legacy-google-drive-provider.js.map +1 -1
  153. package/dist/esm/providers/localstorage-provider.js +11 -13
  154. package/dist/esm/providers/localstorage-provider.js.map +1 -1
  155. package/dist/esm/providers/patchable-content.js +1 -1
  156. package/dist/esm/providers/patchable-content.js.map +1 -1
  157. package/dist/esm/providers/post-message-provider.js +1 -1
  158. package/dist/esm/providers/post-message-provider.js.map +1 -1
  159. package/dist/esm/providers/provider-interface.d.ts +1 -2
  160. package/dist/esm/providers/provider-interface.js +11 -14
  161. package/dist/esm/providers/provider-interface.js.map +1 -1
  162. package/dist/esm/providers/readonly-provider.js +6 -6
  163. package/dist/esm/providers/readonly-provider.js.map +1 -1
  164. package/dist/esm/providers/s3-provider.js +1 -2
  165. package/dist/esm/providers/s3-provider.js.map +1 -1
  166. package/dist/esm/providers/s3-share-provider.js +1 -1
  167. package/dist/esm/providers/s3-share-provider.js.map +1 -1
  168. package/dist/esm/providers/test-provider.js +5 -5
  169. package/dist/esm/providers/test-provider.js.map +1 -1
  170. package/dist/esm/providers/url-provider.js +1 -1
  171. package/dist/esm/providers/url-provider.js.map +1 -1
  172. package/dist/esm/ui.js +2 -3
  173. package/dist/esm/ui.js.map +1 -1
  174. package/dist/esm/utils/focus-tracker.d.ts +3 -0
  175. package/dist/esm/utils/focus-tracker.js +38 -0
  176. package/dist/esm/utils/focus-tracker.js.map +1 -0
  177. package/dist/esm/utils/ios-file-saver.d.ts +42 -0
  178. package/dist/esm/utils/ios-file-saver.js +91 -0
  179. package/dist/esm/utils/ios-file-saver.js.map +1 -0
  180. package/dist/esm/utils/lang/en-US.json +9 -0
  181. package/dist/esm/utils/s3-share-provider-token-service-helper.js +19 -10
  182. package/dist/esm/utils/s3-share-provider-token-service-helper.js.map +1 -1
  183. package/dist/esm/utils/url-params.js +1 -2
  184. package/dist/esm/utils/url-params.js.map +1 -1
  185. package/dist/esm/views/alert-dialog-view.d.ts +9 -3
  186. package/dist/esm/views/alert-dialog-view.js +10 -25
  187. package/dist/esm/views/alert-dialog-view.js.map +1 -1
  188. package/dist/esm/views/app-view.d.ts +12 -5
  189. package/dist/esm/views/app-view.js +176 -184
  190. package/dist/esm/views/app-view.js.map +1 -1
  191. package/dist/esm/views/blocking-modal-view.d.ts +9 -3
  192. package/dist/esm/views/blocking-modal-view.js +9 -26
  193. package/dist/esm/views/blocking-modal-view.js.map +1 -1
  194. package/dist/esm/views/confirm-dialog-view.d.ts +14 -3
  195. package/dist/esm/views/confirm-dialog-view.js +15 -32
  196. package/dist/esm/views/confirm-dialog-view.js.map +1 -1
  197. package/dist/esm/views/download-dialog-view.d.ts +12 -3
  198. package/dist/esm/views/download-dialog-view.js +36 -63
  199. package/dist/esm/views/download-dialog-view.js.map +1 -1
  200. package/dist/esm/views/dropdown-anchors.d.ts +2 -2
  201. package/dist/esm/views/dropdown-anchors.js +4 -7
  202. package/dist/esm/views/dropdown-anchors.js.map +1 -1
  203. package/dist/esm/views/dropdown-view.d.ts +20 -3
  204. package/dist/esm/views/dropdown-view.js +40 -154
  205. package/dist/esm/views/dropdown-view.js.map +1 -1
  206. package/dist/esm/views/file-dialog-tab-view.d.ts +24 -2
  207. package/dist/esm/views/file-dialog-tab-view.js +256 -316
  208. package/dist/esm/views/file-dialog-tab-view.js.map +1 -1
  209. package/dist/esm/views/icons/spin.d.ts +2 -2
  210. package/dist/esm/views/icons/spin.js +2 -36
  211. package/dist/esm/views/icons/spin.js.map +1 -1
  212. package/dist/esm/views/import-tabbed-dialog-view.d.ts +12 -3
  213. package/dist/esm/views/import-tabbed-dialog-view.js +36 -68
  214. package/dist/esm/views/import-tabbed-dialog-view.js.map +1 -1
  215. package/dist/esm/views/local-file-tab-list-view.d.ts +14 -3
  216. package/dist/esm/views/local-file-tab-list-view.js +57 -66
  217. package/dist/esm/views/local-file-tab-list-view.js.map +1 -1
  218. package/dist/esm/views/local-file-tab-save-view.d.ts +32 -3
  219. package/dist/esm/views/local-file-tab-save-view.js +125 -138
  220. package/dist/esm/views/local-file-tab-save-view.js.map +1 -1
  221. package/dist/esm/views/menu-bar-view.d.ts +58 -3
  222. package/dist/esm/views/menu-bar-view.js +198 -185
  223. package/dist/esm/views/menu-bar-view.js.map +1 -1
  224. package/dist/esm/views/modal-dialog-view.js +7 -8
  225. package/dist/esm/views/modal-dialog-view.js.map +1 -1
  226. package/dist/esm/views/modal-tabbed-dialog-view.d.ts +15 -3
  227. package/dist/esm/views/modal-tabbed-dialog-view.js +7 -19
  228. package/dist/esm/views/modal-tabbed-dialog-view.js.map +1 -1
  229. package/dist/esm/views/modal-view.d.ts +5 -32
  230. package/dist/esm/views/modal-view.js +21 -61
  231. package/dist/esm/views/modal-view.js.map +1 -1
  232. package/dist/esm/views/provider-tabbed-dialog-view.d.ts +23 -3
  233. package/dist/esm/views/provider-tabbed-dialog-view.js +46 -54
  234. package/dist/esm/views/provider-tabbed-dialog-view.js.map +1 -1
  235. package/dist/esm/views/rename-dialog-view.d.ts +8 -3
  236. package/dist/esm/views/rename-dialog-view.js +25 -51
  237. package/dist/esm/views/rename-dialog-view.js.map +1 -1
  238. package/dist/esm/views/select-interactive-state-dialog-view.d.ts +1 -1
  239. package/dist/esm/views/select-interactive-state-dialog-view.js +4 -30
  240. package/dist/esm/views/select-interactive-state-dialog-view.js.map +1 -1
  241. package/dist/esm/views/select-provider-dialog-tab-view.d.ts +6 -1
  242. package/dist/esm/views/select-provider-dialog-tab-view.js +4 -9
  243. package/dist/esm/views/select-provider-dialog-tab-view.js.map +1 -1
  244. package/dist/esm/views/share-dialog-status-view.js +6 -13
  245. package/dist/esm/views/share-dialog-status-view.js.map +1 -1
  246. package/dist/esm/views/share-dialog-tabs-view.js +22 -61
  247. package/dist/esm/views/share-dialog-tabs-view.js.map +1 -1
  248. package/dist/esm/views/share-dialog-view.d.ts +1 -1
  249. package/dist/esm/views/share-dialog-view.js +15 -21
  250. package/dist/esm/views/share-dialog-view.js.map +1 -1
  251. package/dist/esm/views/share-loading-view.d.ts +2 -2
  252. package/dist/esm/views/share-loading-view.js +2 -4
  253. package/dist/esm/views/share-loading-view.js.map +1 -1
  254. package/dist/esm/views/tabbed-panel-view.d.ts +16 -3
  255. package/dist/esm/views/tabbed-panel-view.js +25 -72
  256. package/dist/esm/views/tabbed-panel-view.js.map +1 -1
  257. package/dist/esm/views/url-tab-view.d.ts +12 -3
  258. package/dist/esm/views/url-tab-view.js +31 -46
  259. package/dist/esm/views/url-tab-view.js.map +1 -1
  260. package/dist/examples/codap3-local-file.html +42 -0
  261. package/dist/examples/index.html +2 -0
  262. package/dist/examples/local-json-save.html +36 -0
  263. package/dist/index.html +1 -1
  264. package/dist/js/app.js +1 -1
  265. package/dist/js/app.js.LICENSE.txt +41 -11
  266. package/dist/js/app.js.map +1 -1
  267. package/dist/js/globals.js +1 -1
  268. package/dist/js/globals.js.map +1 -1
  269. package/package.json +40 -36
  270. package/readme.md +4 -0
  271. package/dist/cjs/lib/file-saver.d.ts +0 -2
  272. package/dist/cjs/lib/file-saver.js +0 -164
  273. package/dist/cjs/lib/file-saver.js.map +0 -1
  274. package/dist/esm/lib/file-saver.d.ts +0 -2
  275. package/dist/esm/lib/file-saver.js +0 -164
  276. package/dist/esm/lib/file-saver.js.map +0 -1
@@ -26,159 +26,197 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
26
26
  return (mod && mod.__esModule) ? mod : { "default": mod };
27
27
  };
28
28
  Object.defineProperty(exports, "__esModule", { value: true });
29
- // TODO: This file was created by bulk-decaffeinate.
30
- // Sanity-check the conversion and remove this comment.
31
- /*
32
- * decaffeinate suggestions:
33
- * DS102: Remove unnecessary code created because of implicit returns
34
- * DS207: Consider shorter variations of null checks
35
- * Full docs: https://github.com/decaffeinate/decaffeinate/blob/master/docs/suggestions.md
36
- */
37
- const create_react_class_1 = __importDefault(require("create-react-class"));
38
- const react_dom_1 = __importDefault(require("react-dom"));
39
- const react_dom_factories_1 = __importDefault(require("react-dom-factories"));
40
- const create_react_factory_1 = require("../create-react-factory");
29
+ const jsx_runtime_1 = require("react/jsx-runtime");
30
+ const react_1 = require("react");
41
31
  const translate_1 = __importStar(require("../utils/translate"));
42
32
  const dropdown_view_1 = __importDefault(require("./dropdown-view"));
43
- const { div, span, input, button, img } = react_dom_factories_1.default;
44
- const Dropdown = (0, create_react_factory_1.createReactFactory)(dropdown_view_1.default);
45
- exports.default = (0, create_react_class_1.default)({
46
- displayName: 'MenuBar',
47
- componentDidMount() {
48
- // need to use direct DOM events because the event needs to be captured
49
- if (window.addEventListener) {
50
- window.addEventListener('mousedown', this.checkBlur, true);
51
- window.addEventListener('touchstart', this.checkBlur, true);
52
- }
53
- return this.props.client._ui.listen((event) => {
54
- switch (event.type) {
55
- case 'editInitialFilename':
56
- this.setState({
57
- editingFilename: true,
58
- editingInitialFilename: true
59
- });
60
- return setTimeout((() => this.focusFilename()), 10);
61
- }
62
- });
63
- },
64
- componentWillUnmount() {
65
- if (window.removeEventListener) {
66
- window.removeEventListener('mousedown', this.checkBlur, true);
67
- return window.removeEventListener('touchstart', this.checkBlur, true);
33
+ const MenuBar = ({ client, provider, options, items, filename: propFilename, fileStatus }) => {
34
+ const getFilename = (fname) => {
35
+ return fname && fname.length > 0 ? fname : (0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT");
36
+ };
37
+ const [editingFilename, setEditingFilename] = (0, react_1.useState)(false);
38
+ const [editingInitialFilename, setEditingInitialFilename] = (0, react_1.useState)(false);
39
+ const [filename, setFilename] = (0, react_1.useState)(() => getFilename(propFilename));
40
+ const [editableFilename, setEditableFilename] = (0, react_1.useState)(() => getFilename(propFilename));
41
+ const [initialEditableFilename] = (0, react_1.useState)(() => getFilename(propFilename));
42
+ const filenameRef = (0, react_1.useRef)(null);
43
+ // Update filename when prop changes
44
+ (0, react_1.useEffect)(() => {
45
+ const newFilename = getFilename(propFilename);
46
+ setFilename(newFilename);
47
+ setEditableFilename(newFilename);
48
+ }, [propFilename]);
49
+ const focusFilename = (0, react_1.useCallback)(() => {
50
+ const el = filenameRef.current;
51
+ if (el) {
52
+ el.focus();
53
+ el.select();
68
54
  }
69
- },
70
- getFilename(props) {
71
- if ((props.filename != null ? props.filename.length : undefined) > 0) {
72
- return props.filename;
55
+ }, []);
56
+ const cancelEdit = (0, react_1.useCallback)(() => {
57
+ setEditingFilename(false);
58
+ setEditableFilename(filename.length > 0 ? filename : initialEditableFilename);
59
+ }, [filename, initialEditableFilename]);
60
+ const rename = (0, react_1.useCallback)(() => {
61
+ const trimmedFilename = editableFilename.replace(/^\s+|\s+$/, '');
62
+ if (trimmedFilename.length > 0) {
63
+ if (editingInitialFilename) {
64
+ client.setInitialFilename(trimmedFilename);
65
+ }
66
+ else {
67
+ client.rename(client.state.metadata, trimmedFilename);
68
+ }
69
+ setEditingFilename(false);
70
+ setFilename(trimmedFilename);
71
+ setEditableFilename(trimmedFilename);
73
72
  }
74
73
  else {
75
- return ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
74
+ cancelEdit();
76
75
  }
77
- },
78
- getEditableFilename(props) {
79
- if ((props.filename != null ? props.filename.length : undefined) > 0) {
80
- return props.filename;
76
+ }, [editableFilename, editingInitialFilename, client, cancelEdit]);
77
+ const filenameBlurred = (0, react_1.useCallback)(() => {
78
+ rename();
79
+ }, [rename]);
80
+ // CODAP eats the click events in the main workspace which causes the blur event not to fire
81
+ // so we need to check for a non-bubbling global click event when editing
82
+ const checkBlur = (0, react_1.useCallback)((e) => {
83
+ if (editingFilename && e.target !== filenameRef.current) {
84
+ filenameBlurred();
81
85
  }
82
- else {
83
- return ((0, translate_1.default)("~MENUBAR.UNTITLED_DOCUMENT"));
84
- }
85
- },
86
- getInitialState() {
87
- return {
88
- editingFilename: false,
89
- filename: this.getFilename(this.props),
90
- editableFilename: this.getEditableFilename(this.props),
91
- initialEditableFilename: this.getEditableFilename(this.props),
92
- editingInitialFilename: false
86
+ }, [editingFilename, filenameBlurred]);
87
+ (0, react_1.useEffect)(() => {
88
+ // need to use direct DOM events because the event needs to be captured
89
+ window.addEventListener('mousedown', checkBlur, true);
90
+ window.addEventListener('touchstart', checkBlur, true);
91
+ return () => {
92
+ window.removeEventListener('mousedown', checkBlur, true);
93
+ window.removeEventListener('touchstart', checkBlur, true);
93
94
  };
94
- },
95
- UNSAFE_componentWillReceiveProps(nextProps) {
96
- return this.setState({
97
- filename: this.getFilename(nextProps),
98
- editableFilename: this.getEditableFilename(nextProps),
99
- provider: nextProps.provider
95
+ }, [checkBlur]);
96
+ // Register UI listener once on mount
97
+ (0, react_1.useEffect)(() => {
98
+ client._ui.listen((event) => {
99
+ if (event.type === 'editInitialFilename') {
100
+ setEditingFilename(true);
101
+ setEditingInitialFilename(true);
102
+ setTimeout(() => focusFilename(), 10);
103
+ }
100
104
  });
101
- },
102
- filenameClicked(e) {
105
+ }, []); // eslint-disable-line react-hooks/exhaustive-deps
106
+ const startEditing = () => {
107
+ setEditingFilename(true);
108
+ setEditingInitialFilename(false);
109
+ setTimeout(() => focusFilename(), 10);
110
+ };
111
+ const filenameClicked = (e) => {
103
112
  e.preventDefault();
104
113
  e.stopPropagation();
105
- this.setState({
106
- editingFilename: true,
107
- editingInitialFilename: false
108
- });
109
- return setTimeout((() => this.focusFilename()), 10);
110
- },
111
- filenameChanged() {
112
- return this.setState({
113
- editableFilename: this.filename().value
114
- });
115
- },
116
- filenameBlurred() {
117
- return this.rename();
118
- },
119
- filename() {
120
- return react_dom_1.default.findDOMNode(this.filenameRef);
121
- },
122
- focusFilename() {
123
- const el = this.filename();
124
- el.focus();
125
- return el.select();
126
- },
127
- cancelEdit() {
128
- return this.setState({
129
- editingFilename: false,
130
- editableFilename: (this.state.filename != null ? this.state.filename.length : undefined) > 0 ? this.state.filename : this.state.initialEditableFilename
114
+ startEditing();
115
+ };
116
+ const filenameKeyDown = (e) => {
117
+ if (e.key === 'Enter' || e.key === ' ') {
118
+ e.preventDefault();
119
+ startEditing();
120
+ }
121
+ };
122
+ const filenameChanged = () => {
123
+ if (filenameRef.current) {
124
+ setEditableFilename(filenameRef.current.value);
125
+ }
126
+ };
127
+ const watchForEnter = (e) => {
128
+ if (e.key === 'Enter') {
129
+ rename();
130
+ }
131
+ else if (e.key === 'Escape') {
132
+ cancelEdit();
133
+ }
134
+ };
135
+ const infoClicked = () => {
136
+ options.onInfoClick?.();
137
+ };
138
+ const infoKeyDown = (e) => {
139
+ if (e.key === 'Enter' || e.key === ' ') {
140
+ e.preventDefault();
141
+ infoClicked();
142
+ }
143
+ };
144
+ // Roving tabindex for single-tab-stop toolbar navigation
145
+ const menuBarRef = (0, react_1.useRef)(null);
146
+ const activeIndexRef = (0, react_1.useRef)(0);
147
+ const getToolbarButtons = (0, react_1.useCallback)(() => {
148
+ if (!menuBarRef.current)
149
+ return [];
150
+ return Array.from(menuBarRef.current.querySelectorAll('[data-toolbar-item]'));
151
+ }, []);
152
+ const syncTabIndex = (0, react_1.useCallback)(() => {
153
+ const buttons = getToolbarButtons();
154
+ if (buttons.length === 0)
155
+ return;
156
+ if (activeIndexRef.current >= buttons.length) {
157
+ activeIndexRef.current = Math.max(0, buttons.length - 1);
158
+ }
159
+ buttons.forEach((btn, i) => {
160
+ btn.tabIndex = i === activeIndexRef.current ? 0 : -1;
131
161
  });
132
- },
133
- rename() {
134
- const filename = this.state.editableFilename.replace(/^\s+|\s+$/, '');
135
- if (filename.length > 0) {
136
- if (this.state.editingInitialFilename) {
137
- this.props.client.setInitialFilename(filename);
138
- }
139
- else {
140
- this.props.client.rename(this.props.client.state.metadata, filename);
141
- }
142
- return this.setState({
143
- editingFilename: false,
144
- filename,
145
- editableFilename: filename
146
- });
162
+ }, [getToolbarButtons]);
163
+ // Sync tabIndex when button count or toolbar contents change
164
+ (0, react_1.useLayoutEffect)(() => {
165
+ syncTabIndex();
166
+ }, [editingFilename, items, options.otherMenus, options.languageMenu, syncTabIndex]);
167
+ const handleToolbarKeyDown = (0, react_1.useCallback)((e) => {
168
+ if (e.target.tagName === 'INPUT')
169
+ return;
170
+ const buttons = getToolbarButtons();
171
+ if (buttons.length === 0)
172
+ return;
173
+ const currentIndex = buttons.indexOf(e.target);
174
+ if (currentIndex === -1)
175
+ return;
176
+ let nextIndex;
177
+ if (e.key === 'ArrowRight') {
178
+ nextIndex = Math.min(currentIndex + 1, buttons.length - 1);
179
+ }
180
+ else if (e.key === 'ArrowLeft') {
181
+ nextIndex = Math.max(currentIndex - 1, 0);
182
+ }
183
+ else if (e.key === 'Home') {
184
+ nextIndex = 0;
185
+ }
186
+ else if (e.key === 'End') {
187
+ nextIndex = buttons.length - 1;
147
188
  }
148
189
  else {
149
- return this.cancelEdit();
150
- }
151
- },
152
- watchForEnter(e) {
153
- if (e.keyCode === 13) {
154
- return this.rename();
155
- }
156
- else if (e.keyCode === 27) {
157
- return this.cancelEdit();
158
- }
159
- },
160
- infoClicked() {
161
- return (typeof this.props.options.onInfoClick === 'function' ? this.props.options.onInfoClick() : undefined);
162
- },
163
- // 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
164
- checkBlur(e) {
165
- if (this.state.editingFilename && (e.target !== this.filename())) {
166
- return this.filenameBlurred();
167
- }
168
- },
169
- langChanged(langCode) {
170
- const { client, options } = this.props;
171
- const { onLangChanged } = options.languageMenu;
172
- if (onLangChanged != null) {
173
- return client.changeLanguage(langCode, onLangChanged);
174
- }
175
- },
176
- renderLanguageMenu() {
177
- const { options } = this.props;
190
+ return;
191
+ }
192
+ e.preventDefault();
193
+ activeIndexRef.current = nextIndex;
194
+ syncTabIndex();
195
+ buttons[nextIndex].focus();
196
+ }, [getToolbarButtons, syncTabIndex]);
197
+ const handleToolbarFocus = (0, react_1.useCallback)((e) => {
198
+ if (!e.target.hasAttribute('data-toolbar-item'))
199
+ return;
200
+ const buttons = getToolbarButtons();
201
+ const index = buttons.indexOf(e.target);
202
+ if (index !== -1) {
203
+ activeIndexRef.current = index;
204
+ syncTabIndex();
205
+ }
206
+ }, [getToolbarButtons, syncTabIndex]);
207
+ const langChanged = (langCode) => {
208
+ const { onLangChanged } = options.languageMenu ?? {};
209
+ if (onLangChanged) {
210
+ client.changeLanguage(langCode, onLangChanged);
211
+ }
212
+ };
213
+ const renderLanguageMenu = () => {
178
214
  const langMenu = options.languageMenu;
215
+ if (!langMenu)
216
+ return null;
179
217
  const currentLang = (0, translate_1.getCurrentLanguage)();
180
218
  const langClass = (0, translate_1.getSpecialLangFontClassName)(currentLang);
181
- const items = langMenu.options
219
+ const menuItems = langMenu.options
182
220
  // Do not show current language in the menu.
183
221
  .filter((option) => currentLang !== option.langCode)
184
222
  .map((option) => {
@@ -188,8 +226,8 @@ exports.default = (0, create_react_class_1.default)({
188
226
  className = `flag flag-${option.flag}`;
189
227
  }
190
228
  return {
191
- content: (span({ className: 'lang-option' }, (div({ className })), label)),
192
- action: () => this.langChanged(option.langCode)
229
+ content: (0, jsx_runtime_1.jsxs)("span", { className: "lang-option", children: [(0, jsx_runtime_1.jsx)("div", { className: className }), label] }),
230
+ action: () => langChanged(option.langCode)
193
231
  };
194
232
  });
195
233
  const hasFlags = langMenu.options.filter((option) => option.flag != null).length > 0;
@@ -197,55 +235,30 @@ exports.default = (0, create_react_class_1.default)({
197
235
  const defaultOption = hasFlags ? { flag: "us" } : { label: "English" };
198
236
  const { flag, label } = currentOption || defaultOption;
199
237
  const withBorder = langMenu.withBorder ? 'with-border' : '';
200
- const menuAnchor = flag ?
201
- (div({ className: `flag flag-${flag}` }))
202
- :
203
- (button({ className: `menu-bar-button lang-menu-button ${withBorder} ${langClass}` }, (img({ className: 'menu-icon lang-icon', src: options.languageAnchorIcon, alt: "Language Icon" })), (span({ className: "lang-label" }, label || defaultOption.label))));
204
- return (Dropdown({
205
- className: "lang-menu",
206
- menuAnchorClassName: "menu-anchor-right",
207
- items,
208
- menuAnchor
209
- }));
210
- },
211
- renderFileMenu() {
212
- const { client } = this.props;
238
+ const menuAnchor = flag ? ((0, jsx_runtime_1.jsx)("div", { className: `flag flag-${flag}` })) : ((0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("img", { className: "menu-icon lang-icon", src: options.languageAnchorIcon, alt: "Language Icon" }), (0, jsx_runtime_1.jsx)("span", { className: "lang-label", children: label || defaultOption.label })] }));
239
+ const triggerClass = flag ? '' : `menu-bar-button lang-menu-button ${withBorder} ${langClass}`;
240
+ return ((0, jsx_runtime_1.jsx)(dropdown_view_1.default, { className: "lang-menu", triggerClassName: triggerClass, items: menuItems, menuAnchor: menuAnchor, triggerProps: { 'data-toolbar-item': true } }));
241
+ };
242
+ const renderFileMenu = () => {
213
243
  const currentLang = (0, translate_1.getCurrentLanguage)();
214
244
  const langClass = (0, translate_1.getSpecialLangFontClassName)(currentLang);
215
245
  const menuBarOptions = client.appOptions.ui.menuBar || {};
216
- const menuOptions = client._ui.menu.options || [];
217
- const fileMenuAnchor = (button({ ref: (el) => { this.fileMenuButtonRef = el; }, className: `menu-bar-button file-menu-button ${langClass}` }, (img({ className: 'menu-icon', src: menuOptions.menuAnchorIcon, alt: "Menu Icon" })), (span({ className: "menu-label" }, menuOptions.menuAnchorName))));
218
- return (Dropdown({ items: this.props.items, menuAnchor: fileMenuAnchor,
219
- subMenuExpandIcon: menuBarOptions.subMenuExpandIcon }));
220
- },
221
- renderOtherMenu(options) {
222
- const { client } = this.props;
246
+ const menuOptions = client._ui.menu.options || {};
247
+ return ((0, jsx_runtime_1.jsx)(dropdown_view_1.default, { items: items, triggerClassName: `menu-bar-button file-menu-button ${langClass}`, triggerProps: { 'data-toolbar-item': true }, menuAnchor: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("img", { className: "menu-icon", src: menuOptions.menuAnchorIcon, alt: "Menu Icon" }), (0, jsx_runtime_1.jsx)("span", { className: "menu-label", children: menuOptions.menuAnchorName })] }), subMenuExpandIcon: menuBarOptions.subMenuExpandIcon }));
248
+ };
249
+ const renderOtherMenu = (menuOptions) => {
223
250
  const currentLang = (0, translate_1.getCurrentLanguage)();
224
251
  const langClass = (0, translate_1.getSpecialLangFontClassName)(currentLang);
225
252
  const menuBarOptions = client.appOptions.ui.menuBar || {};
226
- const menuAnchor = (button({ className: `menu-bar-button other-menu-button ${langClass}` }, (img({ className: 'menu-icon', src: options.menuAnchorIcon, alt: "Menu Icon" })), (span({ className: "menu-label" }, options.menuAnchorName))));
227
- const menuKey = `other-menu-${options.className || ''}-${options.menuAnchorName || ''}`;
228
- return (Dropdown({ key: menuKey, items: options.menu, menuAnchor: menuAnchor, className: options.className,
229
- subMenuExpandIcon: menuBarOptions.subMenuExpandIcon }));
230
- },
231
- render() {
232
- const { provider, client, options, fileStatus } = this.props;
233
- const currentLang = (0, translate_1.getCurrentLanguage)();
234
- console.log(`MenuBar: current language is ${currentLang}`);
235
- const langClass = (0, translate_1.getSpecialLangFontClassName)(currentLang);
236
- const isAuthorized = provider && provider.isAuthorizationRequired() && provider.authorized();
237
- return ((div({ className: `menu-bar ${options.clientToolBarPosition === "left" ? 'toolbar-position-left' : ''} ${langClass}` }, (div({ className: 'menu-bar-left' }, this.renderFileMenu(), (div({ className: `menu-bar-content-filename ${langClass}` }, this.state.editingFilename
238
- ? (input({ ref: ((elt) => { return this.filenameRef = elt; }), value: this.state.editableFilename,
239
- onChange: this.filenameChanged, onKeyDown: this.watchForEnter,
240
- onMouseEnter: (e) => e.stopPropagation(), onMouseMove: (e) => e.stopPropagation()
241
- }))
242
- : (span({ className: 'content-filename', onClick: this.filenameClicked }, this.state.filename)), this.props.fileStatus
243
- ? (span({ className: `menu-bar-file-status ${fileStatus.type} ${langClass}` }, fileStatus.message))
244
- : undefined)))), (div({ className: 'menu-bar-center' }, (img({ className: 'app-logo', src: client.appOptions.appIcon, alt: "CODAP Logo", onClick: this.infoClicked })), this.props.options.info ?
245
- (span({ className: 'menu-bar-info' }, options.info)) : undefined)), (div({ className: 'menu-bar-right' }, isAuthorized ? this.props.provider.renderUser() : undefined, this.props.options.otherMenus && this.props.options.otherMenus.map((menuOptions) => {
246
- return this.renderOtherMenu(menuOptions);
247
- }), this.props.options.languageMenu ?
248
- this.renderLanguageMenu() : undefined)))));
249
- }
250
- });
253
+ const menuKey = `other-menu-${menuOptions.className || ''}-${menuOptions.menuAnchorName || ''}`;
254
+ return ((0, jsx_runtime_1.jsx)(dropdown_view_1.default, { items: (menuOptions.menu ?? []), triggerClassName: `menu-bar-button other-menu-button ${langClass}`, triggerProps: { 'data-toolbar-item': true }, menuAnchor: (0, jsx_runtime_1.jsxs)(jsx_runtime_1.Fragment, { children: [(0, jsx_runtime_1.jsx)("img", { className: "menu-icon", src: menuOptions.menuAnchorIcon, alt: "Menu Icon" }), (0, jsx_runtime_1.jsx)("span", { className: "menu-label", children: menuOptions.menuAnchorName })] }), className: menuOptions.className, subMenuExpandIcon: menuBarOptions.subMenuExpandIcon }, menuKey));
255
+ };
256
+ const currentLang = (0, translate_1.getCurrentLanguage)();
257
+ const langClass = (0, translate_1.getSpecialLangFontClassName)(currentLang);
258
+ // Note: authorized() is typed as void but actually returns a boolean when called without a callback
259
+ const providerAny = provider;
260
+ const isAuthorized = provider && provider.isAuthorizationRequired() && providerAny.authorized();
261
+ return ((0, jsx_runtime_1.jsxs)("div", { ref: menuBarRef, className: `menu-bar ${options.clientToolBarPosition === "left" ? 'toolbar-position-left' : ''} ${langClass}`, role: "toolbar", "aria-label": (0, translate_1.default)("~MENUBAR.TOOLBAR_LABEL"), onKeyDown: handleToolbarKeyDown, onFocus: handleToolbarFocus, children: [(0, jsx_runtime_1.jsxs)("div", { className: "menu-bar-left", children: [renderFileMenu(), (0, jsx_runtime_1.jsxs)("div", { className: `menu-bar-content-filename ${langClass}`, children: [editingFilename ? ((0, jsx_runtime_1.jsx)("input", { ref: filenameRef, "aria-label": (0, translate_1.default)("~MENUBAR.RENAME_DOCUMENT"), value: editableFilename, onChange: filenameChanged, onKeyDown: watchForEnter, onMouseEnter: (e) => e.stopPropagation(), onMouseMove: (e) => e.stopPropagation() })) : ((0, jsx_runtime_1.jsx)("button", { "data-toolbar-item": true, className: "content-filename", "aria-label": (0, translate_1.default)("~MENUBAR.RENAME_FILENAME", { filename }), onClick: filenameClicked, onKeyDown: filenameKeyDown, children: filename })), fileStatus && ((0, jsx_runtime_1.jsx)("span", { className: `menu-bar-file-status ${fileStatus.type} ${langClass}`, children: fileStatus.message }))] })] }), (0, jsx_runtime_1.jsxs)("div", { className: "menu-bar-center", children: [(0, jsx_runtime_1.jsxs)("button", { className: `app-logo-wrapper ${client.appOptions.appFocusRingIcon ? 'has-focus-ring-icon' : ''}`, "data-toolbar-item": true, "aria-label": client.appOptions.appName ? (0, translate_1.default)("~MENUBAR.ABOUT_APP", { appName: client.appOptions.appName }) : (0, translate_1.default)("~MENUBAR.ABOUT"), onClick: infoClicked, onKeyDown: infoKeyDown, children: [(0, jsx_runtime_1.jsx)("img", { className: "app-logo", src: client.appOptions.appIcon, alt: "" }), client.appOptions.appFocusRingIcon && ((0, jsx_runtime_1.jsx)("img", { className: "logo-focus-ring", src: client.appOptions.appFocusRingIcon, alt: "", "aria-hidden": "true" }))] }), options.info && ((0, jsx_runtime_1.jsx)("span", { className: "menu-bar-info", children: options.info }))] }), (0, jsx_runtime_1.jsxs)("div", { className: "menu-bar-right", children: [isAuthorized && provider?.renderUser(), options.otherMenus?.map((menuOptions) => renderOtherMenu(menuOptions)), options.languageMenu && renderLanguageMenu()] })] }));
262
+ };
263
+ exports.default = MenuBar;
251
264
  //# sourceMappingURL=menu-bar-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"menu-bar-view.js","sourceRoot":"","sources":["../../../src/code/views/menu-bar-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu-bar-view.js","sourceRoot":"","sources":["../../../src/code/views/menu-bar-view.tsx"],"names":[],"mappings":"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"}
@@ -3,16 +3,15 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
- const react_1 = __importDefault(require("react"));
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
7
+ const react_1 = require("react");
7
8
  const modal_view_1 = __importDefault(require("./modal-view"));
9
+ const translate_1 = __importDefault(require("../utils/translate"));
10
+ let idCounter = 0;
8
11
  const ModalDialogView = ({ title, zIndex = 10, close, children }) => {
9
- return (react_1.default.createElement(modal_view_1.default, { zIndex: zIndex, close: close },
10
- react_1.default.createElement("div", { className: 'modal-dialog', "data-testid": 'modal-dialog' },
11
- react_1.default.createElement("div", { className: 'modal-dialog-wrapper' },
12
- react_1.default.createElement("div", { className: 'modal-dialog-title', "data-testid": 'modal-dialog-title' },
13
- close ? react_1.default.createElement("i", { className: 'modal-dialog-title-close icon-ex', "data-testid": 'modal-dialog-close', onClick: () => close === null || close === void 0 ? void 0 : close() }) : undefined,
14
- title || 'Untitled Dialog'),
15
- react_1.default.createElement("div", { className: 'modal-dialog-workspace', "data-testid": 'modal-dialog-workspace' }, children)))));
12
+ const idRef = (0, react_1.useRef)(`modal-title-${++idCounter}`);
13
+ const titleId = idRef.current;
14
+ return ((0, jsx_runtime_1.jsx)(modal_view_1.default, { zIndex: zIndex, close: close, ariaLabelledBy: titleId, children: (0, jsx_runtime_1.jsx)("div", { className: 'modal-dialog', "data-testid": 'modal-dialog', children: (0, jsx_runtime_1.jsxs)("div", { className: 'modal-dialog-wrapper', children: [(0, jsx_runtime_1.jsxs)("div", { className: 'modal-dialog-title', "data-testid": 'modal-dialog-title', children: [(0, jsx_runtime_1.jsx)("span", { id: titleId, children: title || 'Untitled Dialog' }), close ? (0, jsx_runtime_1.jsx)("button", { className: 'modal-dialog-title-close icon-ex', "data-testid": 'modal-dialog-close', "aria-label": (0, translate_1.default)("~ALERT_DIALOG.CLOSE"), onClick: () => close?.() }) : undefined] }), (0, jsx_runtime_1.jsx)("div", { className: 'modal-dialog-workspace', "data-testid": 'modal-dialog-workspace', children: children })] }) }) }));
16
15
  };
17
16
  exports.default = ModalDialogView;
18
17
  //# sourceMappingURL=modal-dialog-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/modal-dialog-view.tsx"],"names":[],"mappings":";;;;;AAAA,kDAAyB;AACzB,8DAAoC;AAOpC,MAAM,eAAe,GAAqB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpF,OAAO,CACL,8BAAC,oBAAS,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK;QACrC,uCAAK,SAAS,EAAC,cAAc,iBAAa,cAAc;YACtD,uCAAK,SAAS,EAAC,sBAAsB;gBACnC,uCAAK,SAAS,EAAC,oBAAoB,iBAAa,oBAAoB;oBACjE,KAAK,CAAC,CAAC,CAAC,qCAAG,SAAS,EAAC,kCAAkC,iBAAa,oBAAoB,EACrF,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,EAAI,GAAG,CAAC,CAAC,CAAC,SAAS;oBAC1C,KAAK,IAAI,iBAAiB,CACvB;gBACN,uCAAK,SAAS,EAAC,wBAAwB,iBAAa,wBAAwB,IACzE,QAAQ,CACL,CACF,CACF,CACI,CACb,CAAA;AACH,CAAC,CAAA;AACD,kBAAe,eAAe,CAAA"}
1
+ {"version":3,"file":"modal-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/modal-dialog-view.tsx"],"names":[],"mappings":";;;;;;AAAA,iCAAqC;AACrC,8DAAoC;AACpC,mEAAmC;AAEnC,IAAI,SAAS,GAAG,CAAC,CAAA;AAOjB,MAAM,eAAe,GAAqB,CAAC,EAAE,KAAK,EAAE,MAAM,GAAG,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE;IACpF,MAAM,KAAK,GAAG,IAAA,cAAM,EAAC,eAAe,EAAE,SAAS,EAAE,CAAC,CAAA;IAClD,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,CAAA;IAC7B,OAAO,CACL,uBAAC,oBAAS,IAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,YAC9D,gCAAK,SAAS,EAAC,cAAc,iBAAa,cAAc,YACtD,iCAAK,SAAS,EAAC,sBAAsB,aACnC,iCAAK,SAAS,EAAC,oBAAoB,iBAAa,oBAAoB,aAClE,iCAAM,EAAE,EAAE,OAAO,YAAG,KAAK,IAAI,iBAAiB,GAAQ,EACrD,KAAK,CAAC,CAAC,CAAC,mCACL,SAAS,EAAC,kCAAkC,iBAChC,oBAAoB,gBACpB,IAAA,mBAAE,EAAC,qBAAqB,CAAC,EACrC,OAAO,EAAE,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,GACxB,CAAC,CAAC,CAAC,SAAS,IACZ,EACN,gCAAK,SAAS,EAAC,wBAAwB,iBAAa,wBAAwB,YACzE,QAAQ,GACL,IACF,GACF,GACI,CACb,CAAA;AACH,CAAC,CAAA;AACD,kBAAe,eAAe,CAAA"}
@@ -1,3 +1,15 @@
1
- /// <reference types="react" />
2
- declare const _default: import("react").ClassicComponentClass<unknown>;
3
- export default _default;
1
+ import React from 'react';
2
+ interface TabInfo {
3
+ label: string;
4
+ component: React.ReactNode;
5
+ capability?: string;
6
+ onSelected?: (capability?: string) => void;
7
+ }
8
+ interface ModalTabbedDialogViewProps {
9
+ title?: string;
10
+ tabs: TabInfo[];
11
+ selectedTabIndex?: number;
12
+ close?: () => void;
13
+ }
14
+ declare const ModalTabbedDialogView: React.FC<ModalTabbedDialogViewProps>;
15
+ export default ModalTabbedDialogView;
@@ -3,23 +3,11 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
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");
6
+ const jsx_runtime_1 = require("react/jsx-runtime");
15
7
  const modal_dialog_view_1 = __importDefault(require("./modal-dialog-view"));
16
8
  const tabbed_panel_view_1 = __importDefault(require("./tabbed-panel-view"));
17
- const ModalDialog = (0, create_react_factory_1.createReactFactory)(modal_dialog_view_1.default);
18
- const TabbedPanel = (0, create_react_factory_1.createReactFactory)(tabbed_panel_view_1.default);
19
- exports.default = (0, create_react_class_1.default)({
20
- displayName: 'ModalTabbedDialogView',
21
- render() {
22
- return (ModalDialog({ title: this.props.title, close: this.props.close }, (TabbedPanel({ tabs: this.props.tabs, selectedTabIndex: this.props.selectedTabIndex }))));
23
- }
24
- });
9
+ const ModalTabbedDialogView = ({ title, tabs, selectedTabIndex, close }) => {
10
+ return ((0, jsx_runtime_1.jsx)(modal_dialog_view_1.default, { title: title, close: close, children: (0, jsx_runtime_1.jsx)(tabbed_panel_view_1.default, { tabs: tabs, selectedTabIndex: selectedTabIndex }) }));
11
+ };
12
+ exports.default = ModalTabbedDialogView;
25
13
  //# sourceMappingURL=modal-tabbed-dialog-view.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"modal-tabbed-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/modal-tabbed-dialog-view.ts"],"names":[],"mappings":";;;;;AAAA,oDAAoD;AACpD,uDAAuD;AACvD;;;;GAIG;AACH,4EAAiD;AACjD,kEAA4D;AAC5D,4EAAiD;AACjD,4EAAiD;AAEjD,MAAM,WAAW,GAAG,IAAA,yCAAkB,EAAC,2BAAe,CAAC,CAAA;AACvD,MAAM,WAAW,GAAG,IAAA,yCAAkB,EAAC,2BAAe,CAAC,CAAA;AAEvD,kBAAe,IAAA,4BAAgB,EAAC;IAE9B,WAAW,EAAE,uBAAuB;IAEpC,MAAM;QACJ,OAAO,CAAC,WAAW,CAAC,EAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,EAAC,EACpE,CAAC,WAAW,CAAC,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAC,CAAC,CAAC,CACtF,CAAC,CAAA;IACJ,CAAC;CACF,CAAC,CAAA"}
1
+ {"version":3,"file":"modal-tabbed-dialog-view.js","sourceRoot":"","sources":["../../../src/code/views/modal-tabbed-dialog-view.tsx"],"names":[],"mappings":";;;;;;AACA,4EAAiD;AACjD,4EAAiD;AAgBjD,MAAM,qBAAqB,GAAyC,CAAC,EACnE,KAAK,EACL,IAAI,EACJ,gBAAgB,EAChB,KAAK,EACN,EAAE,EAAE;IACH,OAAO,CACL,uBAAC,2BAAe,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,YACzC,uBAAC,2BAAe,IAAC,IAAI,EAAE,IAAI,EAAE,gBAAgB,EAAE,gBAAgB,GAAI,GACnD,CACnB,CAAA;AACH,CAAC,CAAA;AAED,kBAAe,qBAAqB,CAAA"}
@@ -1,36 +1,9 @@
1
1
  import React from 'react';
2
2
  interface IProps {
3
- zIndex: number;
3
+ zIndex?: number;
4
4
  close?: () => void;
5
+ ariaLabel?: string;
6
+ ariaLabelledBy?: string;
5
7
  }
6
- interface IState {
7
- backgroundStyle: React.CSSProperties;
8
- contentStyle: React.CSSProperties;
9
- }
10
- interface IDimensions {
11
- width: string;
12
- height: string;
13
- }
14
- export default class ModalView extends React.Component<IProps, IState> {
15
- constructor(props: IProps);
16
- closeOnEscape: (e: any) => void;
17
- getDimensions(): {
18
- width: string;
19
- height: string;
20
- };
21
- getBackgroundStyle(dimensions: IDimensions): IDimensions | {
22
- zIndex: number;
23
- width: string;
24
- height: string;
25
- };
26
- getContentStyle(dimensions: IDimensions): IDimensions | {
27
- zIndex: number;
28
- width: string;
29
- height: string;
30
- };
31
- updateStyles: () => void;
32
- componentDidMount(): void;
33
- componentWillUnmount(): void;
34
- render(): React.JSX.Element;
35
- }
36
- export {};
8
+ declare const ModalView: React.FC<IProps>;
9
+ export default ModalView;