@looker/run-it 0.9.43-alpha.1650 → 0.9.44

Sign up to get free protection for your applications and to get access to all the features.
Files changed (197) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/lib/RunIt.js +12 -28
  3. package/lib/RunIt.js.map +1 -1
  4. package/lib/RunItProvider.js +0 -6
  5. package/lib/RunItProvider.js.map +1 -1
  6. package/lib/components/Collapser/CollapserCard.js +0 -8
  7. package/lib/components/Collapser/CollapserCard.js.map +1 -1
  8. package/lib/components/Collapser/index.js +0 -1
  9. package/lib/components/Collapser/index.js.map +1 -1
  10. package/lib/components/ConfigForm/ConfigForm.js +5 -52
  11. package/lib/components/ConfigForm/ConfigForm.js.map +1 -1
  12. package/lib/components/ConfigForm/index.js +0 -4
  13. package/lib/components/ConfigForm/index.js.map +1 -1
  14. package/lib/components/ConfigForm/utils.js +5 -21
  15. package/lib/components/ConfigForm/utils.js.map +1 -1
  16. package/lib/components/CopyLinkWrapper/CopyLinkWrapper.js +0 -16
  17. package/lib/components/CopyLinkWrapper/CopyLinkWrapper.js.map +1 -1
  18. package/lib/components/CopyLinkWrapper/index.js +0 -1
  19. package/lib/components/CopyLinkWrapper/index.js.map +1 -1
  20. package/lib/components/DataGrid/DataGrid.d.ts +2 -2
  21. package/lib/components/DataGrid/DataGrid.js +1 -9
  22. package/lib/components/DataGrid/DataGrid.js.map +1 -1
  23. package/lib/components/DataGrid/gridUtils.js +1 -22
  24. package/lib/components/DataGrid/gridUtils.js.map +1 -1
  25. package/lib/components/DataGrid/index.js +4 -6
  26. package/lib/components/DataGrid/index.js.map +1 -1
  27. package/lib/components/DocSdkCalls/DocMultiCall.js +0 -6
  28. package/lib/components/DocSdkCalls/DocMultiCall.js.map +1 -1
  29. package/lib/components/DocSdkCalls/DocSdkCalls.d.ts +1 -0
  30. package/lib/components/DocSdkCalls/DocSdkCalls.js +5 -17
  31. package/lib/components/DocSdkCalls/DocSdkCalls.js.map +1 -1
  32. package/lib/components/DocSdkCalls/callUtils.js +0 -5
  33. package/lib/components/DocSdkCalls/callUtils.js.map +1 -1
  34. package/lib/components/DocSdkCalls/index.js +4 -6
  35. package/lib/components/DocSdkCalls/index.js.map +1 -1
  36. package/lib/components/Loading/Loading.js +0 -5
  37. package/lib/components/Loading/Loading.js.map +1 -1
  38. package/lib/components/Loading/index.js +0 -1
  39. package/lib/components/Loading/index.js.map +1 -1
  40. package/lib/components/LoginForm/LoginForm.js +1 -16
  41. package/lib/components/LoginForm/LoginForm.js.map +1 -1
  42. package/lib/components/LoginForm/index.js +0 -1
  43. package/lib/components/LoginForm/index.js.map +1 -1
  44. package/lib/components/MethodBadge/MethodBadge.js +1 -16
  45. package/lib/components/MethodBadge/MethodBadge.js.map +1 -1
  46. package/lib/components/MethodBadge/index.js +0 -1
  47. package/lib/components/MethodBadge/index.js.map +1 -1
  48. package/lib/components/PerfTracker/PerfChart.js +0 -12
  49. package/lib/components/PerfTracker/PerfChart.js.map +1 -1
  50. package/lib/components/PerfTracker/PerfTable.js +0 -9
  51. package/lib/components/PerfTracker/PerfTable.js.map +1 -1
  52. package/lib/components/PerfTracker/PerfTracker.js +0 -18
  53. package/lib/components/PerfTracker/PerfTracker.js.map +1 -1
  54. package/lib/components/PerfTracker/index.js +4 -6
  55. package/lib/components/PerfTracker/index.js.map +1 -1
  56. package/lib/components/PerfTracker/perfTableUtils.d.ts +1 -1
  57. package/lib/components/PerfTracker/perfTableUtils.js +2 -18
  58. package/lib/components/PerfTracker/perfTableUtils.js.map +1 -1
  59. package/lib/components/PerfTracker/perfUtils.js +4 -42
  60. package/lib/components/PerfTracker/perfUtils.js.map +1 -1
  61. package/lib/components/RequestForm/FormItem.js +0 -5
  62. package/lib/components/RequestForm/FormItem.js.map +1 -1
  63. package/lib/components/RequestForm/RequestForm.d.ts +3 -1
  64. package/lib/components/RequestForm/RequestForm.js +25 -23
  65. package/lib/components/RequestForm/RequestForm.js.map +1 -1
  66. package/lib/components/RequestForm/formUtils.d.ts +1 -0
  67. package/lib/components/RequestForm/formUtils.js +9 -47
  68. package/lib/components/RequestForm/formUtils.js.map +1 -1
  69. package/lib/components/RequestForm/index.js +0 -2
  70. package/lib/components/RequestForm/index.js.map +1 -1
  71. package/lib/components/ResponseExplorer/ResponseExplorer.js +2 -22
  72. package/lib/components/ResponseExplorer/ResponseExplorer.js.map +1 -1
  73. package/lib/components/ResponseExplorer/index.js +0 -2
  74. package/lib/components/ResponseExplorer/index.js.map +1 -1
  75. package/lib/components/ShowResponse/ShowResponse.js +0 -7
  76. package/lib/components/ShowResponse/ShowResponse.js.map +1 -1
  77. package/lib/components/ShowResponse/index.js +0 -1
  78. package/lib/components/ShowResponse/index.js.map +1 -1
  79. package/lib/components/ShowResponse/responseUtils.js +4 -49
  80. package/lib/components/ShowResponse/responseUtils.js.map +1 -1
  81. package/lib/components/common/common.d.ts +2 -2
  82. package/lib/components/common/common.js +1 -5
  83. package/lib/components/common/common.js.map +1 -1
  84. package/lib/components/common/index.js +0 -1
  85. package/lib/components/common/index.js.map +1 -1
  86. package/lib/components/index.js +0 -26
  87. package/lib/components/index.js.map +1 -1
  88. package/lib/esm/RunIt.js +65 -62
  89. package/lib/esm/RunIt.js.map +1 -1
  90. package/lib/esm/RunItProvider.js +14 -4
  91. package/lib/esm/RunItProvider.js.map +1 -1
  92. package/lib/esm/components/Collapser/CollapserCard.js +22 -14
  93. package/lib/esm/components/Collapser/CollapserCard.js.map +1 -1
  94. package/lib/esm/components/Collapser/index.js +12 -1
  95. package/lib/esm/components/Collapser/index.js.map +1 -1
  96. package/lib/esm/components/ConfigForm/ConfigForm.js +63 -89
  97. package/lib/esm/components/ConfigForm/ConfigForm.js.map +1 -1
  98. package/lib/esm/components/ConfigForm/index.js +27 -2
  99. package/lib/esm/components/ConfigForm/index.js.map +1 -1
  100. package/lib/esm/components/ConfigForm/utils.js +25 -21
  101. package/lib/esm/components/ConfigForm/utils.js.map +1 -1
  102. package/lib/esm/components/CopyLinkWrapper/CopyLinkWrapper.js +22 -19
  103. package/lib/esm/components/CopyLinkWrapper/CopyLinkWrapper.js.map +1 -1
  104. package/lib/esm/components/CopyLinkWrapper/index.js +12 -1
  105. package/lib/esm/components/CopyLinkWrapper/index.js.map +1 -1
  106. package/lib/esm/components/DataGrid/DataGrid.js +25 -17
  107. package/lib/esm/components/DataGrid/DataGrid.js.map +1 -1
  108. package/lib/esm/components/DataGrid/gridUtils.js +26 -15
  109. package/lib/esm/components/DataGrid/gridUtils.js.map +1 -1
  110. package/lib/esm/components/DataGrid/index.js +25 -2
  111. package/lib/esm/components/DataGrid/index.js.map +1 -1
  112. package/lib/esm/components/DocSdkCalls/DocMultiCall.js +15 -7
  113. package/lib/esm/components/DocSdkCalls/DocMultiCall.js.map +1 -1
  114. package/lib/esm/components/DocSdkCalls/DocSdkCalls.js +30 -22
  115. package/lib/esm/components/DocSdkCalls/DocSdkCalls.js.map +1 -1
  116. package/lib/esm/components/DocSdkCalls/callUtils.js +10 -3
  117. package/lib/esm/components/DocSdkCalls/callUtils.js.map +1 -1
  118. package/lib/esm/components/DocSdkCalls/index.js +19 -2
  119. package/lib/esm/components/DocSdkCalls/index.js.map +1 -1
  120. package/lib/esm/components/Loading/Loading.js +14 -6
  121. package/lib/esm/components/Loading/Loading.js.map +1 -1
  122. package/lib/esm/components/Loading/index.js +12 -1
  123. package/lib/esm/components/Loading/index.js.map +1 -1
  124. package/lib/esm/components/LoginForm/LoginForm.js +21 -18
  125. package/lib/esm/components/LoginForm/LoginForm.js.map +1 -1
  126. package/lib/esm/components/LoginForm/index.js +18 -1
  127. package/lib/esm/components/LoginForm/index.js.map +1 -1
  128. package/lib/esm/components/MethodBadge/MethodBadge.js +19 -13
  129. package/lib/esm/components/MethodBadge/MethodBadge.js.map +1 -1
  130. package/lib/esm/components/MethodBadge/index.js +12 -1
  131. package/lib/esm/components/MethodBadge/index.js.map +1 -1
  132. package/lib/esm/components/PerfTracker/PerfChart.js +18 -16
  133. package/lib/esm/components/PerfTracker/PerfChart.js.map +1 -1
  134. package/lib/esm/components/PerfTracker/PerfTable.js +22 -15
  135. package/lib/esm/components/PerfTracker/PerfTable.js.map +1 -1
  136. package/lib/esm/components/PerfTracker/PerfTracker.js +33 -31
  137. package/lib/esm/components/PerfTracker/PerfTracker.js.map +1 -1
  138. package/lib/esm/components/PerfTracker/index.js +19 -2
  139. package/lib/esm/components/PerfTracker/index.js.map +1 -1
  140. package/lib/esm/components/PerfTracker/perfTableUtils.js +28 -26
  141. package/lib/esm/components/PerfTracker/perfTableUtils.js.map +1 -1
  142. package/lib/esm/components/PerfTracker/perfUtils.js +15 -39
  143. package/lib/esm/components/PerfTracker/perfUtils.js.map +1 -1
  144. package/lib/esm/components/RequestForm/FormItem.js +14 -6
  145. package/lib/esm/components/RequestForm/FormItem.js.map +1 -1
  146. package/lib/esm/components/RequestForm/RequestForm.js +50 -32
  147. package/lib/esm/components/RequestForm/RequestForm.js.map +1 -1
  148. package/lib/esm/components/RequestForm/formUtils.js +47 -53
  149. package/lib/esm/components/RequestForm/formUtils.js.map +1 -1
  150. package/lib/esm/components/RequestForm/index.js +19 -2
  151. package/lib/esm/components/RequestForm/index.js.map +1 -1
  152. package/lib/esm/components/ResponseExplorer/ResponseExplorer.js +41 -35
  153. package/lib/esm/components/ResponseExplorer/ResponseExplorer.js.map +1 -1
  154. package/lib/esm/components/ResponseExplorer/index.js +16 -1
  155. package/lib/esm/components/ResponseExplorer/index.js.map +1 -1
  156. package/lib/esm/components/ShowResponse/ShowResponse.js +14 -8
  157. package/lib/esm/components/ShowResponse/ShowResponse.js.map +1 -1
  158. package/lib/esm/components/ShowResponse/index.js +12 -1
  159. package/lib/esm/components/ShowResponse/index.js.map +1 -1
  160. package/lib/esm/components/ShowResponse/responseUtils.js +43 -61
  161. package/lib/esm/components/ShowResponse/responseUtils.js.map +1 -1
  162. package/lib/esm/components/common/common.js +13 -4
  163. package/lib/esm/components/common/common.js.map +1 -1
  164. package/lib/esm/components/common/index.js +18 -1
  165. package/lib/esm/components/common/index.js.map +1 -1
  166. package/lib/esm/components/index.js +148 -13
  167. package/lib/esm/components/index.js.map +1 -1
  168. package/lib/esm/index.js +49 -4
  169. package/lib/esm/index.js.map +1 -1
  170. package/lib/esm/test-data/index.js +68 -0
  171. package/lib/esm/test-data/index.js.map +1 -0
  172. package/lib/esm/test-data/responses.js +139 -0
  173. package/lib/esm/test-data/responses.js.map +1 -0
  174. package/lib/esm/test-data/specs.js +11 -0
  175. package/lib/esm/test-data/specs.js.map +1 -0
  176. package/lib/esm/utils/RunItSDK.js +25 -20
  177. package/lib/esm/utils/RunItSDK.js.map +1 -1
  178. package/lib/esm/utils/index.js +27 -2
  179. package/lib/esm/utils/index.js.map +1 -1
  180. package/lib/esm/utils/requestUtils.js +42 -64
  181. package/lib/esm/utils/requestUtils.js.map +1 -1
  182. package/lib/index.js +0 -8
  183. package/lib/index.js.map +1 -1
  184. package/lib/test-data/index.js +20 -22
  185. package/lib/test-data/index.js.map +1 -1
  186. package/lib/test-data/responses.js +1 -3
  187. package/lib/test-data/responses.js.map +1 -1
  188. package/lib/test-data/specs.js +0 -4
  189. package/lib/test-data/specs.js.map +1 -1
  190. package/lib/utils/RunItSDK.js +6 -15
  191. package/lib/utils/RunItSDK.js.map +1 -1
  192. package/lib/utils/index.js +0 -4
  193. package/lib/utils/index.js.map +1 -1
  194. package/lib/utils/requestUtils.d.ts +1 -1
  195. package/lib/utils/requestUtils.js +4 -61
  196. package/lib/utils/requestUtils.js.map +1 -1
  197. package/package.json +20 -19
package/lib/esm/RunIt.js CHANGED
@@ -1,16 +1,21 @@
1
- function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
1
+ "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RunIt = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _components = require("@looker/components");
9
+ var _extensionUtils = require("@looker/extension-utils");
10
+ var _components2 = require("./components");
11
+ var _utils = require("./utils");
12
+ var _ = require(".");
13
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
15
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
3
16
  function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
4
-
5
17
  function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
6
-
7
- import React, { useContext, useState, useEffect } from 'react';
8
- import { Box, Tab, TabList, TabPanels, TabPanel, useTabs } from '@looker/components';
9
- import { registerEnvAdaptor } from '@looker/extension-utils';
10
- import { RequestForm, ResponseExplorer, Loading, DocSdkCalls, ConfigForm, validateBody, PerfTimings, PerfTracker } from './components';
11
- import { initRequestContent, createRequestParams, runRequest, pathify, prepareInputs, createInputs } from './utils';
12
- import { RunItContext } from '.';
13
- export var RunIt = _ref => {
18
+ var RunIt = _ref => {
14
19
  var {
15
20
  adaptor,
16
21
  api,
@@ -20,55 +25,52 @@ export var RunIt = _ref => {
20
25
  var httpMethod = method.httpMethod;
21
26
  var endpoint = method.endpoint;
22
27
  var sdk = adaptor.sdk;
23
- var [initialized, setInitialized] = useState(false);
28
+ var [initialized, setInitialized] = (0, _react.useState)(false);
24
29
  var {
25
30
  basePath
26
- } = useContext(RunItContext);
27
- var [inputs] = useState(() => createInputs(api, method));
28
- var [requestContent, setRequestContent] = useState(initRequestContent(inputs));
29
- var [activePathParams, setActivePathParams] = useState({});
30
- var [loading, setLoading] = useState(false);
31
- var [responseContent, setResponseContent] = useState(undefined);
31
+ } = (0, _react.useContext)(_.RunItContext);
32
+ var [inputs] = (0, _react.useState)(() => (0, _utils.createInputs)(api, method));
33
+ var [requestContent, setRequestContent] = (0, _react.useState)((0, _utils.initRequestContent)(inputs));
34
+ var [activePathParams, setActivePathParams] = (0, _react.useState)({});
35
+ var [loading, setLoading] = (0, _react.useState)(false);
36
+ var [keepBody, setKeepBody] = (0, _react.useState)(false);
37
+ var [responseContent, setResponseContent] = (0, _react.useState)(undefined);
32
38
  var isExtension = adaptor.isExtension();
33
- var [hasConfig, setHasConfig] = useState(isExtension || sdk.authSession.settings.authIsConfigured());
34
- var [needsAuth] = useState(() => !isExtension && !sdk.authSession.isAuthenticated());
35
- var [validationMessage, setValidationMessage] = useState('');
36
- var tabs = useTabs();
37
- var perf = new PerfTimings();
38
- useEffect(() => {
39
- registerEnvAdaptor(adaptor);
39
+ var [hasConfig, setHasConfig] = (0, _react.useState)(isExtension || sdk.authSession.settings.authIsConfigured());
40
+ var [needsAuth] = (0, _react.useState)(() => !isExtension && !sdk.authSession.isAuthenticated());
41
+ var [validationMessage, setValidationMessage] = (0, _react.useState)('');
42
+ var tabs = (0, _components.useTabs)();
43
+ var perf = new _components2.PerfTimings();
44
+ (0, _react.useEffect)(() => {
45
+ (0, _extensionUtils.registerEnvAdaptor)(adaptor);
40
46
  setInitialized(true);
41
- }, []);
42
-
47
+ }, [adaptor]);
48
+ var toggleKeepBody = _event => {
49
+ setKeepBody(prev => !prev);
50
+ };
43
51
  var handleConfig = _e => {
44
52
  tabs.onSelectTab(4);
45
53
  };
46
-
47
54
  var handleSubmit = function () {
48
55
  var _ref2 = _asyncToGenerator(function* (e) {
49
56
  e.preventDefault();
50
- var [pathParams, queryParams, body] = createRequestParams(inputs, requestContent);
51
-
57
+ var [pathParams, queryParams, body] = (0, _utils.createRequestParams)(inputs, requestContent, keepBody);
52
58
  if (body) {
53
59
  var [bodyParam] = method.bodyParams;
54
60
  var requiredKeys = Object.keys(bodyParam.type.requiredProperties);
55
- var message = validateBody(body, requiredKeys);
61
+ var message = (0, _components2.validateBody)(body, requiredKeys);
56
62
  setValidationMessage(message);
57
-
58
63
  if (message) {
59
64
  return;
60
65
  }
61
66
  }
62
-
63
67
  setActivePathParams(pathParams);
64
68
  tabs.onSelectTab(1);
65
-
66
69
  if (sdk) {
67
70
  setLoading(true);
68
71
  var response;
69
-
70
72
  try {
71
- response = yield runRequest(sdk, basePath, httpMethod, endpoint, pathParams, queryParams, body);
73
+ response = yield (0, _utils.runRequest)(sdk, basePath, httpMethod, endpoint, pathParams, queryParams, body);
72
74
  } catch (err) {
73
75
  response = {
74
76
  ok: false,
@@ -79,43 +81,40 @@ export var RunIt = _ref => {
79
81
  headers: {}
80
82
  };
81
83
  }
82
-
83
84
  setResponseContent(response);
84
85
  setLoading(false);
85
86
  }
86
87
  });
87
-
88
88
  return function handleSubmit(_x) {
89
89
  return _ref2.apply(this, arguments);
90
90
  };
91
91
  }();
92
-
93
- return React.createElement(Box, {
92
+ return _react.default.createElement(_components.Box, {
94
93
  bg: "background",
95
94
  py: "large",
96
95
  height: "100%"
97
- }, !initialized ? React.createElement(Loading, {
96
+ }, !initialized ? _react.default.createElement(_components2.Loading, {
98
97
  loading: true
99
- }) : React.createElement(React.Fragment, null, React.createElement(TabList, _extends({
98
+ }) : _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.TabList, _extends({
100
99
  distribute: true
101
- }, tabs), React.createElement(Tab, {
100
+ }, tabs), _react.default.createElement(_components.Tab, {
102
101
  key: "request"
103
- }, "Request"), React.createElement(Tab, {
102
+ }, "Request"), _react.default.createElement(_components.Tab, {
104
103
  key: "response"
105
- }, "Response"), React.createElement(Tab, {
104
+ }, "Response"), _react.default.createElement(_components.Tab, {
106
105
  key: "makeTheCall"
107
- }, "SDK Call"), isExtension ? React.createElement(React.Fragment, null) : React.createElement(Tab, {
106
+ }, "SDK Call"), isExtension ? _react.default.createElement(_react.default.Fragment, null) : _react.default.createElement(_components.Tab, {
108
107
  key: "performance"
109
- }, "Performance"), isExtension ? React.createElement(React.Fragment, null) : React.createElement(Tab, {
108
+ }, "Performance"), isExtension ? _react.default.createElement(_react.default.Fragment, null) : _react.default.createElement(_components.Tab, {
110
109
  key: "configuration"
111
- }, "Configure")), React.createElement(TabPanels, _extends({
110
+ }, "Configure")), _react.default.createElement(_components.TabPanels, _extends({
112
111
  px: "xxlarge"
113
112
  }, tabs, {
114
113
  overflow: "auto",
115
114
  height: "87vh"
116
- }), React.createElement(TabPanel, {
115
+ }), _react.default.createElement(_components.TabPanel, {
117
116
  key: "request"
118
- }, React.createElement(RequestForm, {
117
+ }, _react.default.createElement(_components2.RequestForm, {
119
118
  httpMethod: httpMethod,
120
119
  inputs: inputs,
121
120
  requestContent: requestContent,
@@ -127,32 +126,36 @@ export var RunIt = _ref => {
127
126
  setHasConfig: setHasConfig,
128
127
  isExtension: isExtension,
129
128
  validationMessage: validationMessage,
130
- setValidationMessage: setValidationMessage
131
- })), React.createElement(TabPanel, {
129
+ setValidationMessage: setValidationMessage,
130
+ keepBody: keepBody,
131
+ toggleKeepBody: toggleKeepBody
132
+ })), _react.default.createElement(_components.TabPanel, {
132
133
  key: "response"
133
- }, React.createElement(Loading, {
134
+ }, _react.default.createElement(_components2.Loading, {
134
135
  loading: loading,
135
- message: "".concat(httpMethod, " ").concat(pathify(endpoint, activePathParams))
136
- }), React.createElement(ResponseExplorer, {
136
+ message: "".concat(httpMethod, " ").concat((0, _utils.pathify)(endpoint, activePathParams))
137
+ }), _react.default.createElement(_components2.ResponseExplorer, {
137
138
  response: responseContent,
138
139
  verb: httpMethod,
139
- path: pathify(endpoint, activePathParams)
140
- })), React.createElement(TabPanel, {
140
+ path: (0, _utils.pathify)(endpoint, activePathParams)
141
+ })), _react.default.createElement(_components.TabPanel, {
141
142
  key: "makeTheCall"
142
- }, React.createElement(DocSdkCalls, {
143
+ }, _react.default.createElement(_components2.DocSdkCalls, {
143
144
  sdkLanguage: sdkLanguage,
144
145
  api: api,
145
146
  method: method,
146
- inputs: prepareInputs(inputs, requestContent)
147
- })), isExtension ? React.createElement(React.Fragment, null) : React.createElement(TabPanel, {
147
+ inputs: (0, _utils.prepareInputs)(inputs, requestContent),
148
+ keepBody: keepBody
149
+ })), isExtension ? _react.default.createElement(_react.default.Fragment, null) : _react.default.createElement(_components.TabPanel, {
148
150
  key: "performance"
149
- }, React.createElement(PerfTracker, {
151
+ }, _react.default.createElement(_components2.PerfTracker, {
150
152
  perf: perf
151
- })), isExtension ? React.createElement(React.Fragment, null) : React.createElement(TabPanel, {
153
+ })), isExtension ? _react.default.createElement(_react.default.Fragment, null) : _react.default.createElement(_components.TabPanel, {
152
154
  key: "config"
153
- }, React.createElement(ConfigForm, {
155
+ }, _react.default.createElement(_components2.ConfigForm, {
154
156
  setHasConfig: setHasConfig,
155
157
  requestContent: requestContent
156
158
  })))));
157
159
  };
160
+ exports.RunIt = RunIt;
158
161
  //# sourceMappingURL=RunIt.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/RunIt.tsx"],"names":["React","useContext","useState","useEffect","Box","Tab","TabList","TabPanels","TabPanel","useTabs","registerEnvAdaptor","RequestForm","ResponseExplorer","Loading","DocSdkCalls","ConfigForm","validateBody","PerfTimings","PerfTracker","initRequestContent","createRequestParams","runRequest","pathify","prepareInputs","createInputs","RunItContext","RunIt","adaptor","api","method","sdkLanguage","httpMethod","endpoint","sdk","initialized","setInitialized","basePath","inputs","requestContent","setRequestContent","activePathParams","setActivePathParams","loading","setLoading","responseContent","setResponseContent","undefined","isExtension","hasConfig","setHasConfig","authSession","settings","authIsConfigured","needsAuth","isAuthenticated","validationMessage","setValidationMessage","tabs","perf","handleConfig","_e","onSelectTab","handleSubmit","e","preventDefault","pathParams","queryParams","body","bodyParam","bodyParams","requiredKeys","Object","keys","type","requiredProperties","message","response","err","ok","statusMessage","statusCode","contentType","JSON","stringify","headers"],"mappings":"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","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { BaseSyntheticEvent, FC } from 'react'\nimport React, { useContext, useState, useEffect } from 'react'\nimport {\n Box,\n Tab,\n TabList,\n TabPanels,\n TabPanel,\n useTabs,\n} from '@looker/components'\nimport type { ApiModel, IMethod } from '@looker/sdk-codegen'\nimport type {\n IEnvironmentAdaptor,\n OAuthConfigProvider,\n} from '@looker/extension-utils'\nimport { registerEnvAdaptor } from '@looker/extension-utils'\n\nimport type { ResponseContent } from './components'\nimport {\n RequestForm,\n ResponseExplorer,\n Loading,\n DocSdkCalls,\n ConfigForm,\n validateBody,\n PerfTimings,\n PerfTracker,\n} from './components'\nimport {\n initRequestContent,\n createRequestParams,\n runRequest,\n pathify,\n prepareInputs,\n createInputs,\n} from './utils'\nimport { RunItContext } from '.'\n\nexport type RunItHttpMethod = 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'\n\n/**\n * Generic collection\n */\nexport type RunItValues = Record<string, any>\n\ntype RunItInputType =\n | 'boolean'\n | 'int64'\n | 'integer'\n | 'float'\n | 'double'\n | 'string'\n | 'hostname'\n | 'uuid'\n | 'uri'\n | 'ipv4'\n | 'ipv6'\n | 'email'\n | 'password'\n | 'datetime'\n\ntype RunItInputLocation = 'body' | 'path' | 'query' | 'header' | 'cookie'\n\n/**\n * A RunIt input type describing a single REST request's parameter or a structure\n */\nexport interface RunItInput {\n name: string\n location: RunItInputLocation\n /** A RunItInputType or a structure */\n type: RunItInputType | any\n required: boolean\n description: string\n}\n\ninterface RunItProps {\n adaptor: IEnvironmentAdaptor\n /** spec model to use for sdk call generation */\n api: ApiModel\n /** Method to test */\n method: IMethod\n /** Sdk language to use for generating call syntax */\n sdkLanguage?: string\n}\n\n/**\n * Given an array of inputs, a method, and an api model it renders a REST request form\n * which on submit performs a REST request and renders the response with the appropriate MIME type handler\n */\nexport const RunIt: FC<RunItProps> = ({\n adaptor,\n api,\n method,\n sdkLanguage = 'All',\n}) => {\n const httpMethod = method.httpMethod as RunItHttpMethod\n const endpoint = method.endpoint\n const sdk = adaptor.sdk\n const [initialized, setInitialized] = useState(false)\n const { basePath } = useContext(RunItContext)\n const [inputs] = useState(() => createInputs(api, method))\n\n /** Request related state */\n const [requestContent, setRequestContent] = useState(\n initRequestContent(inputs)\n )\n const [activePathParams, setActivePathParams] = useState({})\n const [loading, setLoading] = useState(false)\n const [responseContent, setResponseContent] =\n useState<ResponseContent>(undefined)\n\n /** Auth config related state */\n const isExtension = adaptor.isExtension()\n const [hasConfig, setHasConfig] = useState<boolean>(\n isExtension ||\n (sdk.authSession.settings as OAuthConfigProvider).authIsConfigured()\n )\n const [needsAuth] = useState<boolean>(\n () => !isExtension && !sdk.authSession.isAuthenticated()\n )\n\n const [validationMessage, setValidationMessage] = useState<string>('')\n const tabs = useTabs()\n\n const perf = new PerfTimings()\n\n useEffect(() => {\n registerEnvAdaptor(adaptor)\n setInitialized(true)\n }, [])\n\n const handleConfig = (_e: BaseSyntheticEvent) => {\n tabs.onSelectTab(4)\n }\n\n const handleSubmit = async (e: BaseSyntheticEvent) => {\n e.preventDefault()\n\n const [pathParams, queryParams, body] = createRequestParams(\n inputs,\n requestContent\n )\n if (body) {\n const [bodyParam] = method.bodyParams\n const requiredKeys = Object.keys(bodyParam.type.requiredProperties)\n const message = validateBody(body, requiredKeys)\n setValidationMessage(message)\n if (message) {\n // body has an error, don't run\n return\n }\n }\n setActivePathParams(pathParams)\n tabs.onSelectTab(1)\n if (sdk) {\n setLoading(true)\n let response: ResponseContent\n try {\n response = await runRequest(\n sdk,\n basePath,\n httpMethod,\n endpoint,\n pathParams,\n queryParams,\n body\n )\n } catch (err: any) {\n // This should not happen but it could. runRequest uses\n // sdk.ok to login once. sdk.ok throws an error so fake\n // out the response so something can be rendered.\n response = {\n ok: false,\n statusMessage: err.message ? err.message : 'Unknown error!',\n statusCode: -1,\n contentType: 'application/json',\n body: JSON.stringify(err),\n headers: {},\n } as ResponseContent\n }\n setResponseContent(response)\n setLoading(false)\n }\n }\n\n return (\n <Box bg=\"background\" py=\"large\" height=\"100%\">\n {!initialized ? (\n <Loading loading={true} />\n ) : (\n <>\n <TabList distribute {...tabs}>\n <Tab key=\"request\">Request</Tab>\n <Tab key=\"response\">Response</Tab>\n <Tab key=\"makeTheCall\">SDK Call</Tab>\n {isExtension ? <></> : <Tab key=\"performance\">Performance</Tab>}\n {isExtension ? <></> : <Tab key=\"configuration\">Configure</Tab>}\n </TabList>\n <TabPanels px=\"xxlarge\" {...tabs} overflow=\"auto\" height=\"87vh\">\n <TabPanel key=\"request\">\n <RequestForm\n httpMethod={httpMethod}\n inputs={inputs}\n requestContent={requestContent}\n setRequestContent={setRequestContent}\n handleSubmit={handleSubmit}\n needsAuth={needsAuth}\n hasConfig={hasConfig}\n handleConfig={handleConfig}\n setHasConfig={setHasConfig}\n isExtension={isExtension}\n validationMessage={validationMessage}\n setValidationMessage={setValidationMessage}\n />\n </TabPanel>\n <TabPanel key=\"response\">\n <Loading\n loading={loading}\n message={`${httpMethod} ${pathify(endpoint, activePathParams)}`}\n />\n <ResponseExplorer\n response={responseContent}\n verb={httpMethod}\n path={pathify(endpoint, activePathParams)}\n />\n </TabPanel>\n <TabPanel key=\"makeTheCall\">\n <DocSdkCalls\n sdkLanguage={sdkLanguage}\n api={api}\n method={method}\n inputs={prepareInputs(inputs, requestContent)}\n />\n </TabPanel>\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"performance\">\n <PerfTracker perf={perf} />\n </TabPanel>\n )}\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"config\">\n <ConfigForm\n setHasConfig={setHasConfig}\n requestContent={requestContent}\n />\n </TabPanel>\n )}\n </TabPanels>\n </>\n )}\n </Box>\n )\n}\n"],"file":"RunIt.js"}
1
+ {"version":3,"file":"RunIt.js","names":["RunIt","adaptor","api","method","sdkLanguage","httpMethod","endpoint","sdk","initialized","setInitialized","useState","basePath","useContext","RunItContext","inputs","createInputs","requestContent","setRequestContent","initRequestContent","activePathParams","setActivePathParams","loading","setLoading","keepBody","setKeepBody","responseContent","setResponseContent","undefined","isExtension","hasConfig","setHasConfig","authSession","settings","authIsConfigured","needsAuth","isAuthenticated","validationMessage","setValidationMessage","tabs","useTabs","perf","PerfTimings","useEffect","registerEnvAdaptor","toggleKeepBody","_event","prev","handleConfig","_e","onSelectTab","handleSubmit","e","preventDefault","pathParams","queryParams","body","createRequestParams","bodyParam","bodyParams","requiredKeys","Object","keys","type","requiredProperties","message","validateBody","response","runRequest","err","ok","statusMessage","statusCode","contentType","JSON","stringify","headers","pathify","prepareInputs"],"sources":["../../src/RunIt.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { BaseSyntheticEvent, FC, FormEventHandler } from 'react'\nimport React, { useContext, useState, useEffect } from 'react'\nimport {\n Box,\n Tab,\n TabList,\n TabPanels,\n TabPanel,\n useTabs,\n} from '@looker/components'\nimport type { ApiModel, IMethod } from '@looker/sdk-codegen'\nimport type {\n IEnvironmentAdaptor,\n OAuthConfigProvider,\n} from '@looker/extension-utils'\nimport { registerEnvAdaptor } from '@looker/extension-utils'\n\nimport type { ResponseContent } from './components'\nimport {\n RequestForm,\n ResponseExplorer,\n Loading,\n DocSdkCalls,\n ConfigForm,\n validateBody,\n PerfTimings,\n PerfTracker,\n} from './components'\nimport {\n initRequestContent,\n createRequestParams,\n runRequest,\n pathify,\n prepareInputs,\n createInputs,\n} from './utils'\nimport { RunItContext } from '.'\n\nexport type RunItHttpMethod = 'GET' | 'PUT' | 'POST' | 'PATCH' | 'DELETE'\n\n/**\n * Generic collection\n */\nexport type RunItValues = Record<string, any>\n\ntype RunItInputType =\n | 'boolean'\n | 'int64'\n | 'integer'\n | 'float'\n | 'double'\n | 'string'\n | 'hostname'\n | 'uuid'\n | 'uri'\n | 'ipv4'\n | 'ipv6'\n | 'email'\n | 'password'\n | 'datetime'\n\ntype RunItInputLocation = 'body' | 'path' | 'query' | 'header' | 'cookie'\n\n/**\n * A RunIt input type describing a single REST request's parameter or a structure\n */\nexport interface RunItInput {\n name: string\n location: RunItInputLocation\n /** A RunItInputType or a structure */\n type: RunItInputType | any\n required: boolean\n description: string\n}\n\ninterface RunItProps {\n adaptor: IEnvironmentAdaptor\n /** spec model to use for sdk call generation */\n api: ApiModel\n /** Method to test */\n method: IMethod\n /** Sdk language to use for generating call syntax */\n sdkLanguage?: string\n}\n\n/**\n * Given an array of inputs, a method, and an api model it renders a REST request form\n * which on submit performs a REST request and renders the response with the appropriate MIME type handler\n */\nexport const RunIt: FC<RunItProps> = ({\n adaptor,\n api,\n method,\n sdkLanguage = 'All',\n}) => {\n const httpMethod = method.httpMethod as RunItHttpMethod\n const endpoint = method.endpoint\n const sdk = adaptor.sdk\n const [initialized, setInitialized] = useState(false)\n const { basePath } = useContext(RunItContext)\n const [inputs] = useState(() => createInputs(api, method))\n\n /** Request related state */\n const [requestContent, setRequestContent] = useState(\n initRequestContent(inputs)\n )\n const [activePathParams, setActivePathParams] = useState({})\n const [loading, setLoading] = useState<boolean>(false)\n const [keepBody, setKeepBody] = useState<boolean>(false)\n const [responseContent, setResponseContent] =\n useState<ResponseContent>(undefined)\n\n /** Auth config related state */\n const isExtension = adaptor.isExtension()\n const [hasConfig, setHasConfig] = useState<boolean>(\n isExtension ||\n (sdk.authSession.settings as OAuthConfigProvider).authIsConfigured()\n )\n const [needsAuth] = useState<boolean>(\n () => !isExtension && !sdk.authSession.isAuthenticated()\n )\n\n const [validationMessage, setValidationMessage] = useState<string>('')\n const tabs = useTabs()\n\n const perf = new PerfTimings()\n\n useEffect(() => {\n registerEnvAdaptor(adaptor)\n setInitialized(true)\n }, [adaptor])\n\n const toggleKeepBody: (_event: FormEventHandler<HTMLInputElement>) => void = (\n _event: FormEventHandler<HTMLInputElement>\n ) => {\n setKeepBody((prev) => !prev)\n }\n\n const handleConfig = (_e: BaseSyntheticEvent) => {\n tabs.onSelectTab(4)\n }\n\n const handleSubmit = async (e: BaseSyntheticEvent) => {\n e.preventDefault()\n\n const [pathParams, queryParams, body] = createRequestParams(\n inputs,\n requestContent,\n keepBody\n )\n if (body) {\n const [bodyParam] = method.bodyParams\n const requiredKeys = Object.keys(bodyParam.type.requiredProperties)\n const message = validateBody(body, requiredKeys)\n setValidationMessage(message)\n if (message) {\n // body has an error, don't run\n return\n }\n }\n setActivePathParams(pathParams)\n tabs.onSelectTab(1)\n if (sdk) {\n setLoading(true)\n let response: ResponseContent\n try {\n response = await runRequest(\n sdk,\n basePath,\n httpMethod,\n endpoint,\n pathParams,\n queryParams,\n body\n )\n } catch (err: any) {\n // This should not happen but it could. runRequest uses\n // sdk.ok to login once. sdk.ok throws an error so fake\n // out the response so something can be rendered.\n response = {\n ok: false,\n statusMessage: err.message ? err.message : 'Unknown error!',\n statusCode: -1,\n contentType: 'application/json',\n body: JSON.stringify(err),\n headers: {},\n } as ResponseContent\n }\n setResponseContent(response)\n setLoading(false)\n }\n }\n\n return (\n <Box bg=\"background\" py=\"large\" height=\"100%\">\n {!initialized ? (\n <Loading loading={true} />\n ) : (\n <>\n <TabList distribute {...tabs}>\n <Tab key=\"request\">Request</Tab>\n <Tab key=\"response\">Response</Tab>\n <Tab key=\"makeTheCall\">SDK Call</Tab>\n {isExtension ? <></> : <Tab key=\"performance\">Performance</Tab>}\n {isExtension ? <></> : <Tab key=\"configuration\">Configure</Tab>}\n </TabList>\n <TabPanels px=\"xxlarge\" {...tabs} overflow=\"auto\" height=\"87vh\">\n <TabPanel key=\"request\">\n <RequestForm\n httpMethod={httpMethod}\n inputs={inputs}\n requestContent={requestContent}\n setRequestContent={setRequestContent}\n handleSubmit={handleSubmit}\n needsAuth={needsAuth}\n hasConfig={hasConfig}\n handleConfig={handleConfig}\n setHasConfig={setHasConfig}\n isExtension={isExtension}\n validationMessage={validationMessage}\n setValidationMessage={setValidationMessage}\n keepBody={keepBody}\n toggleKeepBody={toggleKeepBody}\n />\n </TabPanel>\n <TabPanel key=\"response\">\n <Loading\n loading={loading}\n message={`${httpMethod} ${pathify(endpoint, activePathParams)}`}\n />\n <ResponseExplorer\n response={responseContent}\n verb={httpMethod}\n path={pathify(endpoint, activePathParams)}\n />\n </TabPanel>\n <TabPanel key=\"makeTheCall\">\n <DocSdkCalls\n sdkLanguage={sdkLanguage}\n api={api}\n method={method}\n inputs={prepareInputs(inputs, requestContent)}\n keepBody={keepBody}\n />\n </TabPanel>\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"performance\">\n <PerfTracker perf={perf} />\n </TabPanel>\n )}\n {isExtension ? (\n <></>\n ) : (\n <TabPanel key=\"config\">\n <ConfigForm\n setHasConfig={setHasConfig}\n requestContent={requestContent}\n />\n </TabPanel>\n )}\n </TabPanels>\n </>\n )}\n </Box>\n )\n}\n"],"mappings":"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"}
@@ -1,17 +1,27 @@
1
- import React, { createContext } from 'react';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RunItProvider = exports.RunItContext = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
9
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
2
10
  var defaultRunItContextValue = {
3
11
  basePath: ''
4
12
  };
5
- export var RunItContext = createContext(defaultRunItContextValue);
6
- export var RunItProvider = _ref => {
13
+ var RunItContext = (0, _react.createContext)(defaultRunItContextValue);
14
+ exports.RunItContext = RunItContext;
15
+ var RunItProvider = _ref => {
7
16
  var {
8
17
  children,
9
18
  basePath
10
19
  } = _ref;
11
- return React.createElement(RunItContext.Provider, {
20
+ return _react.default.createElement(RunItContext.Provider, {
12
21
  value: {
13
22
  basePath
14
23
  }
15
24
  }, children);
16
25
  };
26
+ exports.RunItProvider = RunItProvider;
17
27
  //# sourceMappingURL=RunItProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../src/RunItProvider.tsx"],"names":["React","createContext","defaultRunItContextValue","basePath","RunItContext","RunItProvider","children"],"mappings":"AA2BA,OAAOA,KAAP,IAAgBC,aAAhB,QAAqC,OAArC;AAUA,IAAMC,wBAA2C,GAAG;AAClDC,EAAAA,QAAQ,EAAE;AADwC,CAApD;AAIA,OAAO,IAAMC,YAAY,GAAGH,aAAa,CACvCC,wBADuC,CAAlC;AASP,OAAO,IAAMG,aAAqC,GAAG,QAG/C;AAAA,MAHgD;AACpDC,IAAAA,QADoD;AAEpDH,IAAAA;AAFoD,GAGhD;AACJ,SACE,oBAAC,YAAD,CAAc,QAAd;AAAuB,IAAA,KAAK,EAAE;AAAEA,MAAAA;AAAF;AAA9B,KACGG,QADH,CADF;AAKD,CATM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { FC, ReactElement } from 'react'\nimport React, { createContext } from 'react'\n\nexport interface RunItContextProps {\n basePath: string\n}\n\nexport interface RunItProviderProps extends RunItContextProps {\n children: ReactElement<any> | ReactElement[]\n}\n\nconst defaultRunItContextValue: RunItContextProps = {\n basePath: '',\n}\n\nexport const RunItContext = createContext<RunItContextProps>(\n defaultRunItContextValue\n)\n\n/**\n * TODO: Eliminate this provider. Configurator currently duplicates adaptor\n * functionality. basePath can be passed as a prop and should be stored using\n * redux when RunIt has it.\n */\nexport const RunItProvider: FC<RunItProviderProps> = ({\n children,\n basePath,\n}) => {\n return (\n <RunItContext.Provider value={{ basePath }}>\n {children}\n </RunItContext.Provider>\n )\n}\n"],"file":"RunItProvider.js"}
1
+ {"version":3,"file":"RunItProvider.js","names":["defaultRunItContextValue","basePath","RunItContext","createContext","RunItProvider","children"],"sources":["../../src/RunItProvider.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nimport type { FC, ReactElement } from 'react'\nimport React, { createContext } from 'react'\n\nexport interface RunItContextProps {\n basePath: string\n}\n\nexport interface RunItProviderProps extends RunItContextProps {\n children: ReactElement<any> | ReactElement[]\n}\n\nconst defaultRunItContextValue: RunItContextProps = {\n basePath: '',\n}\n\nexport const RunItContext = createContext<RunItContextProps>(\n defaultRunItContextValue\n)\n\n/**\n * TODO: Eliminate this provider. Configurator currently duplicates adaptor\n * functionality. basePath can be passed as a prop and should be stored using\n * redux when RunIt has it.\n */\nexport const RunItProvider: FC<RunItProviderProps> = ({\n children,\n basePath,\n}) => {\n return (\n <RunItContext.Provider value={{ basePath }}>\n {children}\n </RunItContext.Provider>\n )\n}\n"],"mappings":";;;;;;AA2BA;AAA4C;AAAA;AAU5C,IAAMA,wBAA2C,GAAG;EAClDC,QAAQ,EAAE;AACZ,CAAC;AAEM,IAAMC,YAAY,GAAG,IAAAC,oBAAa,EACvCH,wBAAwB,CACzB;AAAA;AAOM,IAAMI,aAAqC,GAAG,QAG/C;EAAA,IAHgD;IACpDC,QAAQ;IACRJ;EACF,CAAC;EACC,OACE,6BAAC,YAAY,CAAC,QAAQ;IAAC,KAAK,EAAE;MAAEA;IAAS;EAAE,GACxCI,QAAQ,CACa;AAE5B,CAAC;AAAA"}
@@ -1,9 +1,16 @@
1
- import React from 'react';
2
- import { useToggle, Accordion2, Divider, Box2 } from '@looker/components';
3
- import { ArrowRight } from '@styled-icons/material/ArrowRight';
4
- import { ArrowDropDown } from '@styled-icons/material/ArrowDropDown';
5
- import { RunItHeading } from '../common';
6
- export var CollapserCard = _ref => {
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CollapserCard = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ var _components = require("@looker/components");
9
+ var _ArrowRight = require("@styled-icons/material/ArrowRight");
10
+ var _ArrowDropDown = require("@styled-icons/material/ArrowDropDown");
11
+ var _common = require("../common");
12
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+ var CollapserCard = _ref => {
7
14
  var {
8
15
  id,
9
16
  heading,
@@ -15,26 +22,27 @@ export var CollapserCard = _ref => {
15
22
  var {
16
23
  value,
17
24
  toggle
18
- } = useToggle(defaultOpen);
19
- return React.createElement(Box2, {
25
+ } = (0, _components.useToggle)(defaultOpen);
26
+ return _react.default.createElement(_components.Box2, {
20
27
  display: "flex",
21
28
  flexDirection: "column"
22
- }, divider && React.createElement(Divider, {
29
+ }, divider && _react.default.createElement(_components.Divider, {
23
30
  appearance: "light"
24
- }), React.createElement(Accordion2, {
31
+ }), _react.default.createElement(_components.Accordion2, {
25
32
  id: id,
26
33
  indicatorPosition: "left",
27
34
  isOpen: value,
28
35
  toggleOpen: toggle,
29
36
  indicatorIcons: {
30
- close: React.createElement(ArrowRight, null),
31
- open: React.createElement(ArrowDropDown, null)
37
+ close: _react.default.createElement(_ArrowRight.ArrowRight, null),
38
+ open: _react.default.createElement(_ArrowDropDown.ArrowDropDown, null)
32
39
  },
33
- label: React.createElement(RunItHeading, {
40
+ label: _react.default.createElement(_common.RunItHeading, {
34
41
  as: level
35
42
  }, heading)
36
- }, React.createElement(Box2, {
43
+ }, _react.default.createElement(_components.Box2, {
37
44
  pb: "xlarge"
38
45
  }, children)));
39
46
  };
47
+ exports.CollapserCard = CollapserCard;
40
48
  //# sourceMappingURL=CollapserCard.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Collapser/CollapserCard.tsx"],"names":["React","useToggle","Accordion2","Divider","Box2","ArrowRight","ArrowDropDown","RunItHeading","CollapserCard","id","heading","children","defaultOpen","divider","level","value","toggle","close","open"],"mappings":"AA0BA,OAAOA,KAAP,MAAkB,OAAlB;AACA,SAASC,SAAT,EAAoBC,UAApB,EAAgCC,OAAhC,EAAyCC,IAAzC,QAAqD,oBAArD;AACA,SAASC,UAAT,QAA2B,mCAA3B;AACA,SAASC,aAAT,QAA8B,sCAA9B;AAEA,SAASC,YAAT,QAA6B,WAA7B;AAaA,OAAO,IAAMC,aAAqC,GAAG,QAM/C;AAAA,MANgD;AACpDC,IAAAA,EADoD;AAEpDC,IAAAA,OAFoD;AAGpDC,IAAAA,QAHoD;AAIpDC,IAAAA,WAAW,GAAG,IAJsC;AAKpDC,IAAAA,OAAO,GAAG;AAL0C,GAMhD;AACJ,MAAMC,KAAK,GAAGD,OAAO,GAAG,IAAH,GAAU,IAA/B;AACA,MAAM;AAAEE,IAAAA,KAAF;AAASC,IAAAA;AAAT,MAAoBf,SAAS,CAACW,WAAD,CAAnC;AAEA,SACE,oBAAC,IAAD;AAAM,IAAA,OAAO,EAAC,MAAd;AAAqB,IAAA,aAAa,EAAC;AAAnC,KACGC,OAAO,IAAI,oBAAC,OAAD;AAAS,IAAA,UAAU,EAAC;AAApB,IADd,EAEE,oBAAC,UAAD;AACE,IAAA,EAAE,EAAEJ,EADN;AAEE,IAAA,iBAAiB,EAAC,MAFpB;AAGE,IAAA,MAAM,EAAEM,KAHV;AAIE,IAAA,UAAU,EAAEC,MAJd;AAKE,IAAA,cAAc,EAAE;AAAEC,MAAAA,KAAK,EAAE,oBAAC,UAAD,OAAT;AAAyBC,MAAAA,IAAI,EAAE,oBAAC,aAAD;AAA/B,KALlB;AAME,IAAA,KAAK,EAAE,oBAAC,YAAD;AAAc,MAAA,EAAE,EAAEJ;AAAlB,OAA0BJ,OAA1B;AANT,KAQE,oBAAC,IAAD;AAAM,IAAA,EAAE,EAAC;AAAT,KAAmBC,QAAnB,CARF,CAFF,CADF;AAeD,CAzBM","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { FC, ReactElement } from 'react'\nimport React from 'react'\nimport { useToggle, Accordion2, Divider, Box2 } from '@looker/components'\nimport { ArrowRight } from '@styled-icons/material/ArrowRight'\nimport { ArrowDropDown } from '@styled-icons/material/ArrowDropDown'\n\nimport { RunItHeading } from '../common'\n\ninterface CollapserCardProps {\n id?: string\n heading: string\n children: ReactElement\n defaultOpen?: boolean\n divider?: boolean\n}\n\n/**\n * Render a collapsable header and children\n */\nexport const CollapserCard: FC<CollapserCardProps> = ({\n id,\n heading,\n children,\n defaultOpen = true,\n divider = true,\n}) => {\n const level = divider ? 'h3' : 'h4'\n const { value, toggle } = useToggle(defaultOpen)\n\n return (\n <Box2 display=\"flex\" flexDirection=\"column\">\n {divider && <Divider appearance=\"light\" />}\n <Accordion2\n id={id}\n indicatorPosition=\"left\"\n isOpen={value}\n toggleOpen={toggle}\n indicatorIcons={{ close: <ArrowRight />, open: <ArrowDropDown /> }}\n label={<RunItHeading as={level}>{heading}</RunItHeading>}\n >\n <Box2 pb=\"xlarge\">{children}</Box2>\n </Accordion2>\n </Box2>\n )\n}\n"],"file":"CollapserCard.js"}
1
+ {"version":3,"file":"CollapserCard.js","names":["CollapserCard","id","heading","children","defaultOpen","divider","level","value","toggle","useToggle","close","open"],"sources":["../../../../src/components/Collapser/CollapserCard.tsx"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\nimport type { FC, ReactElement } from 'react'\nimport React from 'react'\nimport { useToggle, Accordion2, Divider, Box2 } from '@looker/components'\nimport { ArrowRight } from '@styled-icons/material/ArrowRight'\nimport { ArrowDropDown } from '@styled-icons/material/ArrowDropDown'\n\nimport { RunItHeading } from '../common'\n\ninterface CollapserCardProps {\n id?: string\n heading: string\n children: ReactElement\n defaultOpen?: boolean\n divider?: boolean\n}\n\n/**\n * Render a collapsable header and children\n */\nexport const CollapserCard: FC<CollapserCardProps> = ({\n id,\n heading,\n children,\n defaultOpen = true,\n divider = true,\n}) => {\n const level = divider ? 'h3' : 'h4'\n const { value, toggle } = useToggle(defaultOpen)\n\n return (\n <Box2 display=\"flex\" flexDirection=\"column\">\n {divider && <Divider appearance=\"light\" />}\n <Accordion2\n id={id}\n indicatorPosition=\"left\"\n isOpen={value}\n toggleOpen={toggle}\n indicatorIcons={{ close: <ArrowRight />, open: <ArrowDropDown /> }}\n label={<RunItHeading as={level}>{heading}</RunItHeading>}\n >\n <Box2 pb=\"xlarge\">{children}</Box2>\n </Accordion2>\n </Box2>\n )\n}\n"],"mappings":";;;;;;AA0BA;AACA;AACA;AACA;AAEA;AAAwC;AAajC,IAAMA,aAAqC,GAAG,QAM/C;EAAA,IANgD;IACpDC,EAAE;IACFC,OAAO;IACPC,QAAQ;IACRC,WAAW,GAAG,IAAI;IAClBC,OAAO,GAAG;EACZ,CAAC;EACC,IAAMC,KAAK,GAAGD,OAAO,GAAG,IAAI,GAAG,IAAI;EACnC,IAAM;IAAEE,KAAK;IAAEC;EAAO,CAAC,GAAG,IAAAC,qBAAS,EAACL,WAAW,CAAC;EAEhD,OACE,6BAAC,gBAAI;IAAC,OAAO,EAAC,MAAM;IAAC,aAAa,EAAC;EAAQ,GACxCC,OAAO,IAAI,6BAAC,mBAAO;IAAC,UAAU,EAAC;EAAO,EAAG,EAC1C,6BAAC,sBAAU;IACT,EAAE,EAAEJ,EAAG;IACP,iBAAiB,EAAC,MAAM;IACxB,MAAM,EAAEM,KAAM;IACd,UAAU,EAAEC,MAAO;IACnB,cAAc,EAAE;MAAEE,KAAK,EAAE,6BAAC,sBAAU,OAAG;MAAEC,IAAI,EAAE,6BAAC,4BAAa;IAAI,CAAE;IACnE,KAAK,EAAE,6BAAC,oBAAY;MAAC,EAAE,EAAEL;IAAM,GAAEJ,OAAO;EAAiB,GAEzD,6BAAC,gBAAI;IAAC,EAAE,EAAC;EAAQ,GAAEC,QAAQ,CAAQ,CACxB,CACR;AAEX,CAAC;AAAA"}
@@ -1,2 +1,13 @@
1
- export { CollapserCard } from './CollapserCard';
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "CollapserCard", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _CollapserCard.CollapserCard;
10
+ }
11
+ });
12
+ var _CollapserCard = require("./CollapserCard");
2
13
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/components/Collapser/index.ts"],"names":["CollapserCard"],"mappings":"AA0BA,SAASA,aAAT,QAA8B,iBAA9B","sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport { CollapserCard } from './CollapserCard'\n"],"file":"index.js"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../src/components/Collapser/index.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2021 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\nexport { CollapserCard } from './CollapserCard'\n"],"mappings":";;;;;;;;;;;AA0BA"}