@looker/api-explorer 0.9.18 → 0.9.24

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 (726) hide show
  1. package/CHANGELOG.md +141 -0
  2. package/e2e/e2e.spec.ts +242 -0
  3. package/{src/reducers/search/reducer.ts → e2e/helpers.ts} +21 -36
  4. package/{src/reducers/search/actions.ts → jest-puppeteer.config.js} +17 -15
  5. package/jest.config.js +2 -0
  6. package/lib/ApiExplorer.d.ts +8 -11
  7. package/lib/ApiExplorer.js +93 -71
  8. package/lib/ApiExplorer.js.map +1 -1
  9. package/lib/App.d.ts +1 -0
  10. package/lib/App.js +29 -0
  11. package/lib/App.js.map +1 -0
  12. package/lib/StandaloneApiExplorer.d.ts +1 -1
  13. package/lib/StandaloneApiExplorer.js +46 -25
  14. package/lib/StandaloneApiExplorer.js.map +1 -1
  15. package/lib/components/DocActivityType/DocActivityType.d.ts +2 -2
  16. package/lib/components/DocActivityType/DocActivityType.js.map +1 -1
  17. package/lib/components/DocCode/DocCode.d.ts +1 -1
  18. package/lib/components/DocCode/DocCode.js +6 -10
  19. package/lib/components/DocCode/DocCode.js.map +1 -1
  20. package/lib/components/DocMarkdown/DocMarkdown.d.ts +1 -1
  21. package/lib/components/DocMarkdown/DocMarkdown.js +13 -15
  22. package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
  23. package/lib/components/DocMethodSummary/DocMethodSummary.d.ts +2 -2
  24. package/lib/components/DocMethodSummary/DocMethodSummary.js +3 -6
  25. package/lib/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
  26. package/lib/components/DocMethodSummary/DocSummaryStatus.d.ts +2 -3
  27. package/lib/components/DocMethodSummary/DocSummaryStatus.js +3 -3
  28. package/lib/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
  29. package/lib/components/DocMethodSummary/index.d.ts +1 -0
  30. package/lib/components/DocMethodSummary/index.js +8 -0
  31. package/lib/components/DocMethodSummary/index.js.map +1 -1
  32. package/lib/components/DocMethodSummary/utils.d.ts +2 -1
  33. package/lib/components/DocMethodSummary/utils.js +24 -15
  34. package/lib/components/DocMethodSummary/utils.js.map +1 -1
  35. package/lib/components/DocPseudo/DocParam.d.ts +2 -2
  36. package/lib/components/DocPseudo/DocParam.js.map +1 -1
  37. package/lib/components/DocPseudo/DocParams.d.ts +2 -2
  38. package/lib/components/DocPseudo/DocParams.js.map +1 -1
  39. package/lib/components/DocPseudo/DocPrimaryResponse.d.ts +2 -2
  40. package/lib/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
  41. package/lib/components/DocPseudo/DocPseudo.d.ts +2 -2
  42. package/lib/components/DocPseudo/DocPseudo.js.map +1 -1
  43. package/lib/components/DocRateLimited/DocRateLimited.d.ts +2 -2
  44. package/lib/components/DocRateLimited/DocRateLimited.js.map +1 -1
  45. package/lib/components/DocReferences/DocReferences.d.ts +2 -2
  46. package/lib/components/DocReferences/DocReferences.js +9 -13
  47. package/lib/components/DocReferences/DocReferences.js.map +1 -1
  48. package/lib/components/DocReferences/utils.d.ts +2 -2
  49. package/lib/components/DocReferences/utils.js +5 -31
  50. package/lib/components/DocReferences/utils.js.map +1 -1
  51. package/lib/components/DocResponses/DocResponseTypes.d.ts +3 -2
  52. package/lib/components/DocResponses/DocResponseTypes.js +3 -1
  53. package/lib/components/DocResponses/DocResponseTypes.js.map +1 -1
  54. package/lib/components/DocResponses/DocResponses.d.ts +3 -2
  55. package/lib/components/DocResponses/DocResponses.js +4 -2
  56. package/lib/components/DocResponses/DocResponses.js.map +1 -1
  57. package/lib/components/DocResponses/utils.d.ts +1 -1
  58. package/lib/components/DocResponses/utils.js.map +1 -1
  59. package/lib/components/DocSDKs/DocDeclarations.d.ts +2 -2
  60. package/lib/components/DocSDKs/DocDeclarations.js.map +1 -1
  61. package/lib/components/DocSDKs/DocSDKs.d.ts +2 -2
  62. package/lib/components/DocSDKs/DocSDKs.js +2 -4
  63. package/lib/components/DocSDKs/DocSDKs.js.map +1 -1
  64. package/lib/components/DocSDKs/utils.d.ts +1 -1
  65. package/lib/components/DocSDKs/utils.js.map +1 -1
  66. package/lib/components/DocSchema/DocSchema.d.ts +1 -1
  67. package/lib/components/DocSchema/DocSchema.js +2 -2
  68. package/lib/components/DocSchema/DocSchema.js.map +1 -1
  69. package/lib/components/DocSdkUsage/DocSdkExampleCell.d.ts +1 -1
  70. package/lib/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
  71. package/lib/components/DocSdkUsage/DocSdkUsage.d.ts +2 -2
  72. package/lib/components/DocSdkUsage/DocSdkUsage.js +7 -10
  73. package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
  74. package/lib/components/DocSdkUsage/utils.d.ts +2 -2
  75. package/lib/components/DocSdkUsage/utils.js.map +1 -1
  76. package/lib/components/DocSource/DocSource.d.ts +2 -2
  77. package/lib/components/DocSource/DocSource.js +5 -7
  78. package/lib/components/DocSource/DocSource.js.map +1 -1
  79. package/lib/components/DocStatus/DocStatus.d.ts +2 -2
  80. package/lib/components/DocStatus/DocStatus.js.map +1 -1
  81. package/lib/components/DocTitle/DocTitle.d.ts +1 -1
  82. package/lib/components/DocTitle/DocTitle.js +2 -2
  83. package/lib/components/DocTitle/DocTitle.js.map +1 -1
  84. package/lib/components/DocTypeSummary/DocTypeSummary.d.ts +7 -0
  85. package/lib/components/DocTypeSummary/DocTypeSummary.js +52 -0
  86. package/lib/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
  87. package/lib/components/DocTypeSummary/index.d.ts +1 -0
  88. package/lib/components/DocTypeSummary/index.js +14 -0
  89. package/lib/components/DocTypeSummary/index.js.map +1 -0
  90. package/lib/components/ErrorBoundary/ErrorBoundary.js +1 -1
  91. package/lib/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  92. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.d.ts +1 -1
  93. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +152 -8
  94. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
  95. package/lib/components/ExploreType/ExploreProperty.d.ts +10 -7
  96. package/lib/components/ExploreType/ExploreProperty.js +14 -3
  97. package/lib/components/ExploreType/ExploreProperty.js.map +1 -1
  98. package/lib/components/ExploreType/ExploreType.d.ts +4 -2
  99. package/lib/components/ExploreType/ExploreType.js +9 -5
  100. package/lib/components/ExploreType/ExploreType.js.map +1 -1
  101. package/lib/components/ExploreType/exploreUtils.d.ts +2 -2
  102. package/lib/components/ExploreType/exploreUtils.js.map +1 -1
  103. package/lib/components/Header/Header.d.ts +5 -4
  104. package/lib/components/Header/Header.js +5 -2
  105. package/lib/components/Header/Header.js.map +1 -1
  106. package/lib/components/Header/index.d.ts +1 -1
  107. package/lib/components/Header/index.js +6 -0
  108. package/lib/components/Header/index.js.map +1 -1
  109. package/lib/components/SelectorContainer/ApiSpecSelector.d.ts +3 -3
  110. package/lib/components/SelectorContainer/ApiSpecSelector.js +3 -1
  111. package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  112. package/lib/components/SelectorContainer/SdkLanguageSelector.d.ts +1 -1
  113. package/lib/components/SelectorContainer/SdkLanguageSelector.js +7 -17
  114. package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  115. package/lib/components/SelectorContainer/SelectorContainer.d.ts +5 -4
  116. package/lib/components/SelectorContainer/SelectorContainer.js +11 -3
  117. package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
  118. package/lib/components/SideNav/SearchMessage.d.ts +2 -2
  119. package/lib/components/SideNav/SearchMessage.js.map +1 -1
  120. package/lib/components/SideNav/SideNav.d.ts +3 -3
  121. package/lib/components/SideNav/SideNav.js +93 -56
  122. package/lib/components/SideNav/SideNav.js.map +1 -1
  123. package/lib/components/SideNav/SideNavMethodTags.d.ts +10 -0
  124. package/lib/components/SideNav/SideNavMethodTags.js +42 -0
  125. package/lib/components/SideNav/SideNavMethodTags.js.map +1 -0
  126. package/lib/components/SideNav/SideNavMethods.d.ts +5 -5
  127. package/lib/components/SideNav/SideNavMethods.js +37 -93
  128. package/lib/components/SideNav/SideNavMethods.js.map +1 -1
  129. package/lib/components/SideNav/SideNavTypeTags.d.ts +10 -0
  130. package/lib/components/SideNav/SideNavTypeTags.js +42 -0
  131. package/lib/components/SideNav/SideNavTypeTags.js.map +1 -0
  132. package/lib/components/SideNav/SideNavTypes.d.ts +8 -5
  133. package/lib/components/SideNav/SideNavTypes.js +83 -32
  134. package/lib/components/SideNav/SideNavTypes.js.map +1 -1
  135. package/lib/components/SideNav/searchUtils.d.ts +2 -2
  136. package/lib/components/SideNav/searchUtils.js +1 -1
  137. package/lib/components/SideNav/searchUtils.js.map +1 -1
  138. package/lib/components/common/Loader.d.ts +2 -2
  139. package/lib/components/common/Loader.js.map +1 -1
  140. package/lib/components/common/common.d.ts +2 -3
  141. package/lib/components/common/common.js +3 -15
  142. package/lib/components/common/common.js.map +1 -1
  143. package/lib/components/common/index.d.ts +2 -2
  144. package/lib/components/common/index.js +22 -18
  145. package/lib/components/common/index.js.map +1 -1
  146. package/lib/components/index.d.ts +5 -4
  147. package/lib/components/index.js +26 -12
  148. package/lib/components/index.js.map +1 -1
  149. package/lib/esm/ApiExplorer.js +97 -77
  150. package/lib/esm/ApiExplorer.js.map +1 -1
  151. package/lib/esm/App.js +19 -0
  152. package/lib/esm/App.js.map +1 -0
  153. package/lib/esm/StandaloneApiExplorer.js +46 -22
  154. package/lib/esm/StandaloneApiExplorer.js.map +1 -1
  155. package/lib/esm/components/DocActivityType/DocActivityType.js.map +1 -1
  156. package/lib/esm/components/DocCode/DocCode.js +5 -8
  157. package/lib/esm/components/DocCode/DocCode.js.map +1 -1
  158. package/lib/esm/components/DocMarkdown/DocMarkdown.js +10 -12
  159. package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
  160. package/lib/esm/components/DocMethodSummary/DocMethodSummary.js +4 -6
  161. package/lib/esm/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
  162. package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js +3 -3
  163. package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
  164. package/lib/esm/components/DocMethodSummary/index.js +1 -0
  165. package/lib/esm/components/DocMethodSummary/index.js.map +1 -1
  166. package/lib/esm/components/DocMethodSummary/utils.js +24 -15
  167. package/lib/esm/components/DocMethodSummary/utils.js.map +1 -1
  168. package/lib/esm/components/DocPseudo/DocParam.js.map +1 -1
  169. package/lib/esm/components/DocPseudo/DocParams.js.map +1 -1
  170. package/lib/esm/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
  171. package/lib/esm/components/DocPseudo/DocPseudo.js.map +1 -1
  172. package/lib/esm/components/DocRateLimited/DocRateLimited.js.map +1 -1
  173. package/lib/esm/components/DocReferences/DocReferences.js +6 -9
  174. package/lib/esm/components/DocReferences/DocReferences.js.map +1 -1
  175. package/lib/esm/components/DocReferences/utils.js +3 -26
  176. package/lib/esm/components/DocReferences/utils.js.map +1 -1
  177. package/lib/esm/components/DocResponses/DocResponseTypes.js +3 -1
  178. package/lib/esm/components/DocResponses/DocResponseTypes.js.map +1 -1
  179. package/lib/esm/components/DocResponses/DocResponses.js +3 -1
  180. package/lib/esm/components/DocResponses/DocResponses.js.map +1 -1
  181. package/lib/esm/components/DocResponses/utils.js.map +1 -1
  182. package/lib/esm/components/DocSDKs/DocDeclarations.js.map +1 -1
  183. package/lib/esm/components/DocSDKs/DocSDKs.js +3 -4
  184. package/lib/esm/components/DocSDKs/DocSDKs.js.map +1 -1
  185. package/lib/esm/components/DocSDKs/utils.js.map +1 -1
  186. package/lib/esm/components/DocSchema/DocSchema.js +1 -1
  187. package/lib/esm/components/DocSchema/DocSchema.js.map +1 -1
  188. package/lib/esm/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
  189. package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +7 -9
  190. package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
  191. package/lib/esm/components/DocSdkUsage/utils.js.map +1 -1
  192. package/lib/esm/components/DocSource/DocSource.js +4 -5
  193. package/lib/esm/components/DocSource/DocSource.js.map +1 -1
  194. package/lib/esm/components/DocStatus/DocStatus.js.map +1 -1
  195. package/lib/esm/components/DocTitle/DocTitle.js +2 -2
  196. package/lib/esm/components/DocTitle/DocTitle.js.map +1 -1
  197. package/lib/esm/components/DocTypeSummary/DocTypeSummary.js +38 -0
  198. package/lib/esm/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
  199. package/lib/esm/components/DocTypeSummary/index.js +2 -0
  200. package/lib/{state/action_creators.js.map → esm/components/DocTypeSummary/index.js.map} +1 -1
  201. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js +1 -1
  202. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  203. package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +153 -6
  204. package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
  205. package/lib/esm/components/ExploreType/ExploreProperty.js +14 -3
  206. package/lib/esm/components/ExploreType/ExploreProperty.js.map +1 -1
  207. package/lib/esm/components/ExploreType/ExploreType.js +8 -4
  208. package/lib/esm/components/ExploreType/ExploreType.js.map +1 -1
  209. package/lib/esm/components/ExploreType/exploreUtils.js.map +1 -1
  210. package/lib/esm/components/Header/Header.js +3 -1
  211. package/lib/esm/components/Header/Header.js.map +1 -1
  212. package/lib/esm/components/Header/index.js +1 -1
  213. package/lib/esm/components/Header/index.js.map +1 -1
  214. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js +4 -2
  215. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  216. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js +7 -12
  217. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  218. package/lib/esm/components/SelectorContainer/SelectorContainer.js +11 -3
  219. package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
  220. package/lib/esm/components/SideNav/SearchMessage.js.map +1 -1
  221. package/lib/esm/components/SideNav/SideNav.js +95 -57
  222. package/lib/esm/components/SideNav/SideNav.js.map +1 -1
  223. package/lib/esm/components/SideNav/SideNavMethodTags.js +29 -0
  224. package/lib/esm/components/SideNav/SideNavMethodTags.js.map +1 -0
  225. package/lib/esm/components/SideNav/SideNavMethods.js +38 -96
  226. package/lib/esm/components/SideNav/SideNavMethods.js.map +1 -1
  227. package/lib/esm/components/SideNav/SideNavTypeTags.js +29 -0
  228. package/lib/esm/components/SideNav/SideNavTypeTags.js.map +1 -0
  229. package/lib/esm/components/SideNav/SideNavTypes.js +84 -33
  230. package/lib/esm/components/SideNav/SideNavTypes.js.map +1 -1
  231. package/lib/esm/components/SideNav/searchUtils.js +1 -1
  232. package/lib/esm/components/SideNav/searchUtils.js.map +1 -1
  233. package/lib/esm/components/common/Loader.js.map +1 -1
  234. package/lib/esm/components/common/common.js +3 -11
  235. package/lib/esm/components/common/common.js.map +1 -1
  236. package/lib/esm/components/common/index.js +2 -2
  237. package/lib/esm/components/common/index.js.map +1 -1
  238. package/lib/esm/components/index.js +5 -4
  239. package/lib/esm/components/index.js.map +1 -1
  240. package/lib/esm/index.js +4 -18
  241. package/lib/esm/index.js.map +1 -1
  242. package/lib/esm/reducers/index.js +0 -1
  243. package/lib/esm/reducers/index.js.map +1 -1
  244. package/lib/esm/reducers/spec/actions.js.map +1 -1
  245. package/lib/esm/reducers/spec/reducer.js.map +1 -1
  246. package/lib/esm/reducers/spec/utils.js +17 -1
  247. package/lib/esm/reducers/spec/utils.js.map +1 -1
  248. package/lib/esm/routes/AppRouter.js +16 -14
  249. package/lib/esm/routes/AppRouter.js.map +1 -1
  250. package/lib/esm/scenes/DiffScene/DiffScene.js +65 -11
  251. package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
  252. package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
  253. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +15 -22
  254. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  255. package/lib/esm/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
  256. package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  257. package/lib/esm/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
  258. package/lib/esm/scenes/DiffScene/diffUtils.js.map +1 -1
  259. package/lib/esm/scenes/HomeScene/HomeScene.js.map +1 -1
  260. package/lib/esm/scenes/MethodScene/MethodScene.js +80 -29
  261. package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
  262. package/lib/esm/scenes/MethodScene/components/DocOperation.js.map +1 -1
  263. package/lib/esm/scenes/MethodScene/components/DocRequestBody.js +5 -2
  264. package/lib/esm/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
  265. package/lib/esm/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +16 -11
  266. package/lib/esm/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
  267. package/lib/esm/scenes/MethodTagScene/index.js +2 -0
  268. package/lib/{state/reducers.js.map → esm/scenes/MethodTagScene/index.js.map} +1 -1
  269. package/lib/esm/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
  270. package/lib/esm/scenes/MethodTagScene/utils.js.map +1 -0
  271. package/lib/esm/scenes/TypeScene/TypeScene.js +14 -7
  272. package/lib/esm/scenes/TypeScene/TypeScene.js.map +1 -1
  273. package/lib/esm/scenes/TypeTagScene/TypeTagScene.js +57 -0
  274. package/lib/esm/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
  275. package/lib/esm/scenes/TypeTagScene/index.js +2 -0
  276. package/lib/esm/scenes/TypeTagScene/index.js.map +1 -0
  277. package/lib/esm/scenes/TypeTagScene/utils.js +8 -0
  278. package/lib/esm/scenes/TypeTagScene/utils.js.map +1 -0
  279. package/lib/esm/scenes/index.js +2 -1
  280. package/lib/esm/scenes/index.js.map +1 -1
  281. package/lib/esm/state/index.js +2 -3
  282. package/lib/esm/state/index.js.map +1 -1
  283. package/lib/esm/state/lodes/index.js +3 -0
  284. package/lib/esm/state/lodes/index.js.map +1 -0
  285. package/lib/esm/state/lodes/sagas.js +25 -0
  286. package/lib/esm/state/lodes/sagas.js.map +1 -0
  287. package/lib/esm/state/lodes/selectors.js +5 -0
  288. package/lib/esm/state/lodes/selectors.js.map +1 -0
  289. package/lib/esm/state/lodes/slice.js +30 -0
  290. package/lib/esm/state/lodes/slice.js.map +1 -0
  291. package/lib/esm/state/settings/index.js +1 -1
  292. package/lib/esm/state/settings/index.js.map +1 -1
  293. package/lib/esm/state/settings/sagas.js +59 -0
  294. package/lib/esm/state/settings/sagas.js.map +1 -0
  295. package/lib/esm/state/settings/selectors.js +6 -1
  296. package/lib/esm/state/settings/selectors.js.map +1 -1
  297. package/lib/esm/state/settings/slice.js +50 -0
  298. package/lib/esm/state/settings/slice.js.map +1 -0
  299. package/lib/esm/state/store.js +13 -3
  300. package/lib/esm/state/store.js.map +1 -1
  301. package/lib/esm/test-utils/index.js +3 -4
  302. package/lib/esm/test-utils/index.js.map +1 -1
  303. package/lib/esm/test-utils/lodes.js +12 -0
  304. package/lib/esm/test-utils/lodes.js.map +1 -0
  305. package/lib/esm/test-utils/redux.js +30 -15
  306. package/lib/esm/test-utils/redux.js.map +1 -1
  307. package/lib/esm/test-utils/router.js.map +1 -1
  308. package/lib/esm/utils/index.js +1 -2
  309. package/lib/esm/utils/index.js.map +1 -1
  310. package/lib/esm/utils/lodeUtils.js +3 -7
  311. package/lib/esm/utils/lodeUtils.js.map +1 -1
  312. package/lib/esm/utils/path.js +32 -1
  313. package/lib/esm/utils/path.js.map +1 -1
  314. package/lib/index.d.ts +4 -1
  315. package/lib/index.js +52 -23
  316. package/lib/index.js.map +1 -1
  317. package/lib/reducers/index.d.ts +0 -1
  318. package/lib/reducers/index.js +0 -13
  319. package/lib/reducers/index.js.map +1 -1
  320. package/lib/reducers/spec/actions.d.ts +1 -1
  321. package/lib/reducers/spec/actions.js.map +1 -1
  322. package/lib/reducers/spec/reducer.d.ts +2 -2
  323. package/lib/reducers/spec/reducer.js.map +1 -1
  324. package/lib/reducers/spec/utils.d.ts +3 -3
  325. package/lib/reducers/spec/utils.js +18 -1
  326. package/lib/reducers/spec/utils.js.map +1 -1
  327. package/lib/routes/AppRouter.d.ts +6 -2
  328. package/lib/routes/AppRouter.js +15 -16
  329. package/lib/routes/AppRouter.js.map +1 -1
  330. package/lib/scenes/DiffScene/DiffScene.d.ts +2 -2
  331. package/lib/scenes/DiffScene/DiffScene.js +65 -11
  332. package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
  333. package/lib/scenes/DiffScene/DocDiff/DiffBanner.d.ts +2 -2
  334. package/lib/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
  335. package/lib/scenes/DiffScene/DocDiff/DiffItem.d.ts +3 -3
  336. package/lib/scenes/DiffScene/DocDiff/DiffItem.js +13 -20
  337. package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  338. package/lib/scenes/DiffScene/DocDiff/DiffLegend.d.ts +2 -2
  339. package/lib/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
  340. package/lib/scenes/DiffScene/DocDiff/DocDiff.d.ts +2 -2
  341. package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  342. package/lib/scenes/DiffScene/DocDiff/docDiffUtils.d.ts +1 -1
  343. package/lib/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
  344. package/lib/scenes/DiffScene/diffUtils.d.ts +1 -1
  345. package/lib/scenes/DiffScene/diffUtils.js.map +1 -1
  346. package/lib/scenes/HomeScene/HomeScene.d.ts +2 -2
  347. package/lib/scenes/HomeScene/HomeScene.js.map +1 -1
  348. package/lib/scenes/MethodScene/MethodScene.d.ts +8 -4
  349. package/lib/scenes/MethodScene/MethodScene.js +75 -27
  350. package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
  351. package/lib/scenes/MethodScene/components/DocOperation.d.ts +2 -2
  352. package/lib/scenes/MethodScene/components/DocOperation.js.map +1 -1
  353. package/lib/scenes/MethodScene/components/DocRequestBody.d.ts +3 -2
  354. package/lib/scenes/MethodScene/components/DocRequestBody.js +6 -2
  355. package/lib/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
  356. package/lib/scenes/MethodTagScene/MethodTagScene.d.ts +7 -0
  357. package/lib/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +19 -14
  358. package/lib/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
  359. package/lib/scenes/MethodTagScene/index.d.ts +1 -0
  360. package/lib/scenes/MethodTagScene/index.js +14 -0
  361. package/lib/{context/search/SearchContext.js.map → scenes/MethodTagScene/index.js.map} +1 -1
  362. package/lib/scenes/{TagScene → MethodTagScene}/utils.d.ts +1 -1
  363. package/lib/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
  364. package/lib/{context/lode/index.js.map → scenes/MethodTagScene/utils.js.map} +1 -1
  365. package/lib/scenes/TypeScene/TypeScene.d.ts +2 -2
  366. package/lib/scenes/TypeScene/TypeScene.js +16 -7
  367. package/lib/scenes/TypeScene/TypeScene.js.map +1 -1
  368. package/lib/scenes/TypeTagScene/TypeTagScene.d.ts +7 -0
  369. package/lib/scenes/TypeTagScene/TypeTagScene.js +76 -0
  370. package/lib/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
  371. package/lib/scenes/TypeTagScene/index.d.ts +1 -0
  372. package/lib/scenes/TypeTagScene/index.js +14 -0
  373. package/lib/{esm/state/settings/actions.js.map → scenes/TypeTagScene/index.js.map} +1 -1
  374. package/lib/scenes/TypeTagScene/utils.d.ts +2 -0
  375. package/lib/scenes/TypeTagScene/utils.js +17 -0
  376. package/lib/scenes/TypeTagScene/utils.js.map +1 -0
  377. package/lib/scenes/index.d.ts +2 -1
  378. package/lib/scenes/index.js +11 -3
  379. package/lib/scenes/index.js.map +1 -1
  380. package/lib/state/index.d.ts +2 -2
  381. package/lib/state/index.js +15 -16
  382. package/lib/state/index.js.map +1 -1
  383. package/lib/state/lodes/index.d.ts +2 -0
  384. package/lib/{reducers/search → state/lodes}/index.js +8 -8
  385. package/lib/state/lodes/index.js.map +1 -0
  386. package/lib/state/lodes/sagas.d.ts +1 -0
  387. package/lib/state/lodes/sagas.js +34 -0
  388. package/lib/state/lodes/sagas.js.map +1 -0
  389. package/lib/state/lodes/selectors.d.ts +3 -0
  390. package/lib/state/lodes/selectors.js +17 -0
  391. package/lib/state/lodes/selectors.js.map +1 -0
  392. package/lib/state/lodes/slice.d.ts +29 -0
  393. package/lib/state/lodes/slice.js +45 -0
  394. package/lib/state/lodes/slice.js.map +1 -0
  395. package/lib/state/settings/index.d.ts +1 -1
  396. package/lib/state/settings/index.js +8 -8
  397. package/lib/state/settings/index.js.map +1 -1
  398. package/lib/state/settings/sagas.d.ts +1 -0
  399. package/lib/state/settings/sagas.js +69 -0
  400. package/lib/state/settings/sagas.js.map +1 -0
  401. package/lib/state/settings/selectors.d.ts +5 -2
  402. package/lib/state/settings/selectors.js +17 -3
  403. package/lib/state/settings/selectors.js.map +1 -1
  404. package/lib/state/settings/slice.d.ts +42 -0
  405. package/lib/state/settings/slice.js +69 -0
  406. package/lib/state/settings/slice.js.map +1 -0
  407. package/lib/state/store.d.ts +10 -6
  408. package/lib/state/store.js +15 -5
  409. package/lib/state/store.js.map +1 -1
  410. package/lib/test-data/declarations.js +24 -0
  411. package/lib/test-data/declarations.js.map +1 -0
  412. package/lib/test-data/examples.js.map +1 -1
  413. package/lib/test-data/index.js +23 -0
  414. package/lib/test-data/index.js.map +1 -1
  415. package/lib/test-data/specs.js.map +1 -1
  416. package/lib/test-utils/index.d.ts +3 -4
  417. package/lib/test-utils/index.js +33 -56
  418. package/lib/test-utils/index.js.map +1 -1
  419. package/lib/test-utils/lodes.d.ts +4 -0
  420. package/lib/test-utils/lodes.js +23 -0
  421. package/lib/test-utils/lodes.js.map +1 -0
  422. package/lib/test-utils/redux.d.ts +16 -12
  423. package/lib/test-utils/redux.js +36 -17
  424. package/lib/test-utils/redux.js.map +1 -1
  425. package/lib/test-utils/router.d.ts +2 -2
  426. package/lib/test-utils/router.js.map +1 -1
  427. package/lib/utils/highlight.d.ts +1 -0
  428. package/lib/utils/index.d.ts +1 -2
  429. package/lib/utils/index.js +6 -23
  430. package/lib/utils/index.js.map +1 -1
  431. package/lib/utils/lodeUtils.d.ts +3 -3
  432. package/lib/utils/lodeUtils.js +3 -7
  433. package/lib/utils/lodeUtils.js.map +1 -1
  434. package/lib/utils/path.d.ts +3 -1
  435. package/lib/utils/path.js +36 -2
  436. package/lib/utils/path.js.map +1 -1
  437. package/package.json +29 -15
  438. package/public/Looker.3.1.json +1343 -412
  439. package/public/Looker.4.0.json +3305 -661
  440. package/public/versions.json +1 -1
  441. package/src/ApiExplorer.tsx +160 -99
  442. package/src/{index.tsx → App.tsx} +1 -1
  443. package/src/StandaloneApiExplorer.tsx +38 -29
  444. package/src/components/DocActivityType/DocActivityType.tsx +3 -2
  445. package/src/components/DocCode/DocCode.tsx +7 -6
  446. package/src/components/DocMarkdown/DocMarkdown.spec.tsx +16 -11
  447. package/src/components/DocMarkdown/DocMarkdown.tsx +11 -9
  448. package/src/components/DocMethodSummary/DocMethodSummary.spec.tsx +2 -2
  449. package/src/components/DocMethodSummary/DocMethodSummary.tsx +8 -8
  450. package/src/components/DocMethodSummary/DocSummaryStatus.spec.tsx +5 -5
  451. package/src/components/DocMethodSummary/DocSummaryStatus.tsx +5 -7
  452. package/src/components/DocMethodSummary/index.tsx +1 -0
  453. package/src/components/DocMethodSummary/utils.spec.tsx +7 -7
  454. package/src/components/DocMethodSummary/utils.tsx +17 -23
  455. package/src/components/DocPseudo/DocParam.tsx +3 -2
  456. package/src/components/DocPseudo/DocParams.tsx +3 -2
  457. package/src/components/DocPseudo/DocPrimaryResponse.tsx +3 -2
  458. package/src/components/DocPseudo/DocPseudo.tsx +3 -2
  459. package/src/components/DocRateLimited/DocRateLimited.tsx +3 -2
  460. package/src/components/DocReferences/DocReferences.spec.tsx +19 -8
  461. package/src/components/DocReferences/DocReferences.tsx +10 -10
  462. package/src/components/DocReferences/utils.spec.tsx +1 -13
  463. package/src/components/DocReferences/utils.tsx +4 -39
  464. package/src/components/DocResponses/DocResponseTypes.tsx +15 -4
  465. package/src/components/DocResponses/DocResponses.spec.tsx +1 -1
  466. package/src/components/DocResponses/DocResponses.tsx +7 -5
  467. package/src/components/DocResponses/utils.ts +1 -1
  468. package/src/components/DocSDKs/DocDeclarations.tsx +3 -2
  469. package/src/components/DocSDKs/DocSDKs.spec.tsx +12 -5
  470. package/src/components/DocSDKs/DocSDKs.tsx +7 -7
  471. package/src/components/DocSDKs/utils.ts +1 -1
  472. package/src/components/DocSchema/DocSchema.tsx +3 -2
  473. package/src/components/DocSdkUsage/DocSdkExampleCell.tsx +2 -1
  474. package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +2 -2
  475. package/src/components/DocSdkUsage/DocSdkUsage.tsx +10 -8
  476. package/src/components/DocSdkUsage/utils.ts +4 -2
  477. package/src/components/DocSource/DocSource.spec.tsx +2 -1
  478. package/src/components/DocSource/DocSource.tsx +7 -4
  479. package/src/components/DocStatus/DocStatus.spec.tsx +1 -1
  480. package/src/components/DocStatus/DocStatus.tsx +3 -2
  481. package/src/components/DocTitle/DocTitle.tsx +4 -3
  482. package/src/{state/settings/action_creators.spec.ts → components/DocTypeSummary/DocTypeSummary.spec.tsx} +15 -10
  483. package/src/components/DocTypeSummary/DocTypeSummary.tsx +64 -0
  484. package/src/{state/action_creators.ts → components/DocTypeSummary/index.tsx} +1 -1
  485. package/src/components/ErrorBoundary/ErrorBoundary.spec.tsx +11 -9
  486. package/src/components/ErrorBoundary/ErrorBoundary.tsx +1 -1
  487. package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +6 -5
  488. package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +170 -6
  489. package/src/components/ExploreType/ExploreProperty.spec.tsx +15 -6
  490. package/src/components/ExploreType/ExploreProperty.tsx +26 -12
  491. package/src/components/ExploreType/ExploreType.spec.tsx +15 -31
  492. package/src/components/ExploreType/ExploreType.tsx +13 -6
  493. package/src/components/ExploreType/exploreUtils.tsx +3 -2
  494. package/src/components/Header/Header.spec.tsx +29 -37
  495. package/src/components/Header/Header.tsx +8 -4
  496. package/src/components/Header/index.ts +1 -1
  497. package/src/components/SelectorContainer/ApiSpecSelector.spec.tsx +12 -2
  498. package/src/components/SelectorContainer/ApiSpecSelector.tsx +9 -5
  499. package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +13 -7
  500. package/src/components/SelectorContainer/SdkLanguageSelector.tsx +7 -14
  501. package/src/components/SelectorContainer/SelectorContainer.spec.tsx +19 -25
  502. package/src/components/SelectorContainer/SelectorContainer.tsx +8 -5
  503. package/src/components/SideNav/SearchMessage.tsx +3 -2
  504. package/src/components/SideNav/SideNav.spec.tsx +28 -41
  505. package/src/components/SideNav/SideNav.tsx +102 -68
  506. package/src/components/SideNav/{SideNavTags.spec.tsx → SideNavMethodTags.spec.tsx} +10 -8
  507. package/src/components/SideNav/{SideNavTags.tsx → SideNavMethodTags.tsx} +21 -19
  508. package/src/components/SideNav/SideNavMethods.spec.tsx +9 -5
  509. package/src/components/SideNav/SideNavMethods.tsx +78 -126
  510. package/src/components/SideNav/SideNavTypeTags.spec.tsx +79 -0
  511. package/src/{context/search/SearchContext.ts → components/SideNav/SideNavTypeTags.tsx} +27 -14
  512. package/src/components/SideNav/SideNavTypes.spec.tsx +13 -6
  513. package/src/components/SideNav/SideNavTypes.tsx +94 -43
  514. package/src/components/SideNav/{searchUtils.tsx → searchUtils.ts} +3 -3
  515. package/src/components/common/Loader.tsx +3 -2
  516. package/src/components/common/common.tsx +5 -15
  517. package/src/components/common/index.ts +2 -2
  518. package/src/components/index.ts +5 -4
  519. package/src/{context/lode/index.ts → index.ts} +4 -1
  520. package/src/reducers/index.ts +0 -1
  521. package/src/reducers/spec/actions.ts +1 -1
  522. package/src/reducers/spec/reducer.spec.ts +2 -1
  523. package/src/reducers/spec/reducer.ts +5 -3
  524. package/src/reducers/spec/utils.spec.ts +1 -1
  525. package/src/reducers/spec/utils.ts +18 -6
  526. package/src/routes/AppRouter.tsx +28 -15
  527. package/src/scenes/DiffScene/DiffScene.tsx +44 -13
  528. package/src/scenes/DiffScene/DocDiff/DiffBanner.tsx +3 -2
  529. package/src/scenes/DiffScene/DocDiff/DiffItem.spec.tsx +2 -1
  530. package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +32 -49
  531. package/src/scenes/DiffScene/DocDiff/DiffLegend.tsx +3 -2
  532. package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +3 -2
  533. package/src/scenes/DiffScene/DocDiff/docDiffUtils.tsx +2 -7
  534. package/src/scenes/DiffScene/diffUtils.spec.ts +2 -1
  535. package/src/scenes/DiffScene/diffUtils.ts +2 -2
  536. package/src/scenes/HomeScene/HomeScene.tsx +3 -2
  537. package/src/scenes/MethodScene/MethodScene.tsx +89 -44
  538. package/src/scenes/MethodScene/components/DocOperation.tsx +3 -2
  539. package/src/scenes/MethodScene/components/DocRequestBody.spec.tsx +2 -2
  540. package/src/scenes/MethodScene/components/DocRequestBody.tsx +8 -5
  541. package/src/scenes/{TagScene/TagScene.spec.tsx → MethodTagScene/MethodTagScene.spec.tsx} +5 -5
  542. package/src/scenes/{TagScene/TagScene.tsx → MethodTagScene/MethodTagScene.tsx} +23 -16
  543. package/src/{components/Collapser → scenes/MethodTagScene}/index.ts +1 -2
  544. package/src/scenes/{TagScene → MethodTagScene}/utils.spec.ts +1 -1
  545. package/src/scenes/{TagScene → MethodTagScene}/utils.ts +1 -1
  546. package/src/scenes/TypeScene/TypeScene.tsx +36 -24
  547. package/src/scenes/TypeTagScene/TypeTagScene.spec.tsx +103 -0
  548. package/src/scenes/TypeTagScene/TypeTagScene.tsx +93 -0
  549. package/src/scenes/{TagScene → TypeTagScene}/index.ts +1 -1
  550. package/src/{state/reducers.ts → scenes/TypeTagScene/utils.spec.ts} +8 -7
  551. package/src/{hooks/use_actions_hook.ts → scenes/TypeTagScene/utils.ts} +13 -10
  552. package/src/scenes/index.ts +2 -1
  553. package/src/state/index.ts +2 -2
  554. package/src/{reducers/search → state/lodes}/index.ts +2 -2
  555. package/src/state/lodes/sagas.spec.ts +92 -0
  556. package/src/state/{settings/reducer.ts → lodes/sagas.ts} +23 -21
  557. package/src/state/{settings/reducer.spec.ts → lodes/selectors.spec.ts} +15 -14
  558. package/src/state/{settings/actions.ts → lodes/selectors.ts} +7 -9
  559. package/src/state/lodes/slice.ts +69 -0
  560. package/src/state/settings/index.ts +1 -1
  561. package/src/state/settings/sagas.spec.ts +121 -0
  562. package/src/state/settings/sagas.ts +79 -0
  563. package/src/state/settings/selectors.spec.ts +16 -9
  564. package/src/state/settings/selectors.ts +14 -3
  565. package/src/state/settings/slice.ts +94 -0
  566. package/src/state/store.ts +22 -8
  567. package/src/{context/envAdaptor/EnvAdaptorContext.ts → test-data/declarations.ts} +17 -12
  568. package/src/test-data/examples.ts +1 -1
  569. package/src/test-data/index.ts +1 -0
  570. package/src/test-data/specs.ts +2 -1
  571. package/src/test-utils/index.ts +3 -14
  572. package/src/{context/lode/LodeContext.ts → test-utils/lodes.tsx} +15 -14
  573. package/src/test-utils/redux.tsx +46 -26
  574. package/src/test-utils/router.tsx +3 -2
  575. package/src/utils/index.ts +7 -2
  576. package/src/utils/lodeUtils.ts +5 -7
  577. package/src/utils/path.spec.ts +17 -3
  578. package/src/utils/path.ts +54 -4
  579. package/webpack.dev.config.js +3 -0
  580. package/webpack.prod.config.js +4 -0
  581. package/lib/components/Collapser/CollapserCard.d.ts +0 -9
  582. package/lib/components/Collapser/CollapserCard.js +0 -50
  583. package/lib/components/Collapser/CollapserCard.js.map +0 -1
  584. package/lib/components/Collapser/index.d.ts +0 -1
  585. package/lib/components/Collapser/index.js +0 -14
  586. package/lib/components/Collapser/index.js.map +0 -1
  587. package/lib/components/SideNav/SearchCriteriaSelector.d.ts +0 -2
  588. package/lib/components/SideNav/SearchCriteriaSelector.js +0 -57
  589. package/lib/components/SideNav/SearchCriteriaSelector.js.map +0 -1
  590. package/lib/components/SideNav/SideNavTags.d.ts +0 -9
  591. package/lib/components/SideNav/SideNavTags.js +0 -30
  592. package/lib/components/SideNav/SideNavTags.js.map +0 -1
  593. package/lib/context/envAdaptor/EnvAdaptorContext.d.ts +0 -7
  594. package/lib/context/envAdaptor/EnvAdaptorContext.js +0 -18
  595. package/lib/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
  596. package/lib/context/envAdaptor/index.d.ts +0 -1
  597. package/lib/context/envAdaptor/index.js +0 -20
  598. package/lib/context/envAdaptor/index.js.map +0 -1
  599. package/lib/context/index.d.ts +0 -3
  600. package/lib/context/index.js +0 -48
  601. package/lib/context/index.js.map +0 -1
  602. package/lib/context/lode/LodeContext.d.ts +0 -9
  603. package/lib/context/lode/LodeContext.js +0 -21
  604. package/lib/context/lode/LodeContext.js.map +0 -1
  605. package/lib/context/lode/index.d.ts +0 -1
  606. package/lib/context/lode/index.js +0 -20
  607. package/lib/context/search/SearchContext.d.ts +0 -9
  608. package/lib/context/search/SearchContext.js +0 -19
  609. package/lib/context/search/index.d.ts +0 -1
  610. package/lib/context/search/index.js +0 -20
  611. package/lib/context/search/index.js.map +0 -1
  612. package/lib/esm/components/Collapser/CollapserCard.js +0 -34
  613. package/lib/esm/components/Collapser/CollapserCard.js.map +0 -1
  614. package/lib/esm/components/Collapser/index.js +0 -2
  615. package/lib/esm/components/Collapser/index.js.map +0 -1
  616. package/lib/esm/components/SideNav/SearchCriteriaSelector.js +0 -38
  617. package/lib/esm/components/SideNav/SearchCriteriaSelector.js.map +0 -1
  618. package/lib/esm/components/SideNav/SideNavTags.js +0 -17
  619. package/lib/esm/components/SideNav/SideNavTags.js.map +0 -1
  620. package/lib/esm/context/envAdaptor/EnvAdaptorContext.js +0 -7
  621. package/lib/esm/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
  622. package/lib/esm/context/envAdaptor/index.js +0 -2
  623. package/lib/esm/context/envAdaptor/index.js.map +0 -1
  624. package/lib/esm/context/index.js +0 -4
  625. package/lib/esm/context/index.js.map +0 -1
  626. package/lib/esm/context/lode/LodeContext.js +0 -11
  627. package/lib/esm/context/lode/LodeContext.js.map +0 -1
  628. package/lib/esm/context/lode/index.js +0 -2
  629. package/lib/esm/context/lode/index.js.map +0 -1
  630. package/lib/esm/context/search/SearchContext.js +0 -8
  631. package/lib/esm/context/search/SearchContext.js.map +0 -1
  632. package/lib/esm/context/search/index.js +0 -2
  633. package/lib/esm/context/search/index.js.map +0 -1
  634. package/lib/esm/hooks/index.js +0 -2
  635. package/lib/esm/hooks/index.js.map +0 -1
  636. package/lib/esm/hooks/use_actions_hook.js +0 -11
  637. package/lib/esm/hooks/use_actions_hook.js.map +0 -1
  638. package/lib/esm/reducers/search/actions.js +0 -13
  639. package/lib/esm/reducers/search/actions.js.map +0 -1
  640. package/lib/esm/reducers/search/index.js +0 -3
  641. package/lib/esm/reducers/search/index.js.map +0 -1
  642. package/lib/esm/reducers/search/reducer.js +0 -31
  643. package/lib/esm/reducers/search/reducer.js.map +0 -1
  644. package/lib/esm/scenes/MethodScene/utils.js +0 -72
  645. package/lib/esm/scenes/MethodScene/utils.js.map +0 -1
  646. package/lib/esm/scenes/TagScene/TagScene.js.map +0 -1
  647. package/lib/esm/scenes/TagScene/index.js +0 -2
  648. package/lib/esm/scenes/TagScene/index.js.map +0 -1
  649. package/lib/esm/scenes/TagScene/utils.js.map +0 -1
  650. package/lib/esm/state/action_creators.js +0 -2
  651. package/lib/esm/state/action_creators.js.map +0 -1
  652. package/lib/esm/state/reducers.js +0 -6
  653. package/lib/esm/state/reducers.js.map +0 -1
  654. package/lib/esm/state/settings/action_creators.js +0 -6
  655. package/lib/esm/state/settings/action_creators.js.map +0 -1
  656. package/lib/esm/state/settings/actions.js +0 -6
  657. package/lib/esm/state/settings/reducer.js +0 -19
  658. package/lib/esm/state/settings/reducer.js.map +0 -1
  659. package/lib/esm/test-utils/render_with_lode.js +0 -19
  660. package/lib/esm/test-utils/render_with_lode.js.map +0 -1
  661. package/lib/esm/test-utils/render_with_search.js +0 -34
  662. package/lib/esm/test-utils/render_with_search.js.map +0 -1
  663. package/lib/esm/utils/envAdaptor.js +0 -68
  664. package/lib/esm/utils/envAdaptor.js.map +0 -1
  665. package/lib/hooks/index.d.ts +0 -1
  666. package/lib/hooks/index.js +0 -14
  667. package/lib/hooks/index.js.map +0 -1
  668. package/lib/hooks/use_actions_hook.d.ts +0 -2
  669. package/lib/hooks/use_actions_hook.js +0 -24
  670. package/lib/hooks/use_actions_hook.js.map +0 -1
  671. package/lib/reducers/search/actions.d.ts +0 -4
  672. package/lib/reducers/search/actions.js +0 -25
  673. package/lib/reducers/search/actions.js.map +0 -1
  674. package/lib/reducers/search/index.d.ts +0 -2
  675. package/lib/reducers/search/index.js.map +0 -1
  676. package/lib/reducers/search/reducer.d.ts +0 -11
  677. package/lib/reducers/search/reducer.js +0 -43
  678. package/lib/reducers/search/reducer.js.map +0 -1
  679. package/lib/scenes/MethodScene/utils.d.ts +0 -3
  680. package/lib/scenes/MethodScene/utils.js +0 -81
  681. package/lib/scenes/MethodScene/utils.js.map +0 -1
  682. package/lib/scenes/TagScene/TagScene.d.ts +0 -7
  683. package/lib/scenes/TagScene/TagScene.js.map +0 -1
  684. package/lib/scenes/TagScene/index.d.ts +0 -1
  685. package/lib/scenes/TagScene/index.js +0 -14
  686. package/lib/scenes/TagScene/index.js.map +0 -1
  687. package/lib/scenes/TagScene/utils.js.map +0 -1
  688. package/lib/state/action_creators.d.ts +0 -1
  689. package/lib/state/action_creators.js +0 -19
  690. package/lib/state/reducers.d.ts +0 -4
  691. package/lib/state/reducers.js +0 -16
  692. package/lib/state/settings/action_creators.d.ts +0 -2
  693. package/lib/state/settings/action_creators.js +0 -16
  694. package/lib/state/settings/action_creators.js.map +0 -1
  695. package/lib/state/settings/actions.d.ts +0 -8
  696. package/lib/state/settings/actions.js +0 -13
  697. package/lib/state/settings/actions.js.map +0 -1
  698. package/lib/state/settings/reducer.d.ts +0 -6
  699. package/lib/state/settings/reducer.js +0 -31
  700. package/lib/state/settings/reducer.js.map +0 -1
  701. package/lib/test-utils/render_with_lode.d.ts +0 -9
  702. package/lib/test-utils/render_with_lode.js +0 -36
  703. package/lib/test-utils/render_with_lode.js.map +0 -1
  704. package/lib/test-utils/render_with_search.d.ts +0 -4
  705. package/lib/test-utils/render_with_search.js +0 -52
  706. package/lib/test-utils/render_with_search.js.map +0 -1
  707. package/lib/utils/envAdaptor.d.ts +0 -27
  708. package/lib/utils/envAdaptor.js +0 -81
  709. package/lib/utils/envAdaptor.js.map +0 -1
  710. package/src/components/Collapser/CollapserCard.spec.tsx +0 -50
  711. package/src/components/Collapser/CollapserCard.tsx +0 -76
  712. package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/somethingWentWrong.svg +0 -45
  713. package/src/components/SideNav/SearchCriteriaSelector.tsx +0 -75
  714. package/src/context/envAdaptor/index.ts +0 -29
  715. package/src/context/index.ts +0 -28
  716. package/src/context/search/index.ts +0 -26
  717. package/src/hooks/index.ts +0 -26
  718. package/src/reducers/search/actions.spec.ts +0 -50
  719. package/src/reducers/search/reducer.spec.ts +0 -72
  720. package/src/scenes/MethodScene/utils.spec.ts +0 -95
  721. package/src/scenes/MethodScene/utils.ts +0 -121
  722. package/src/state/settings/action_creators.ts +0 -33
  723. package/src/test-utils/render_with_lode.tsx +0 -74
  724. package/src/test-utils/render_with_search.tsx +0 -69
  725. package/src/utils/envAdaptor.spec.ts +0 -53
  726. package/src/utils/envAdaptor.ts +0 -120
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.default = exports.AsideBorder = exports.BodyOverride = void 0;
6
+ exports.ApiExplorer = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
@@ -15,7 +15,11 @@ var _components = require("@looker/components");
15
15
 
16
16
  var _runIt = require("@looker/run-it");
17
17
 
18
- var _context = require("./context");
18
+ var _FirstPage = require("@styled-icons/material/FirstPage");
19
+
20
+ var _LastPage = require("@styled-icons/material/LastPage");
21
+
22
+ var _extensionUtils = require("@looker/extension-utils");
19
23
 
20
24
  var _utils = require("./utils");
21
25
 
@@ -27,7 +31,7 @@ var _routes = require("./routes");
27
31
 
28
32
  var _lodeUtils = require("./utils/lodeUtils");
29
33
 
30
- var _hooks = require("./hooks");
34
+ var _state = require("./state");
31
35
 
32
36
  var _templateObject;
33
37
 
@@ -48,26 +52,32 @@ function _asyncToGenerator(fn) { return function () { var self = this, args = ar
48
52
  function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
49
53
 
50
54
  var BodyOverride = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = _taggedTemplateLiteral([" html { height: 100%; overflow: hidden; } "])));
51
- exports.BodyOverride = BodyOverride;
52
55
 
53
56
  var ApiExplorer = _ref => {
54
57
  var {
55
58
  specs,
56
- envAdaptor,
57
- exampleLodeUrl = 'https://raw.githubusercontent.com/looker-open-source/sdk-codegen/main/examplesIndex.json',
59
+ adaptor,
60
+ setVersionsUrl,
61
+ examplesLodeUrl = 'https://raw.githubusercontent.com/looker-open-source/sdk-codegen/main/examplesIndex.json',
58
62
  declarationsLodeUrl = "".concat(_lodeUtils.apixFilesHost, "/declarationsIndex.json"),
59
63
  headless = false
60
64
  } = _ref;
61
- var location = (0, _reactRouter.useLocation)();
62
65
  var {
63
- setSdkLanguageAction
64
- } = (0, _hooks.useActions)();
66
+ initialized
67
+ } = (0, _state.useSettingStoreState)();
68
+ (0, _state.useLodesStoreState)();
69
+ var {
70
+ initLodesAction
71
+ } = (0, _state.useLodeActions)();
72
+ var {
73
+ initSettingsAction
74
+ } = (0, _state.useSettingActions)();
75
+ var location = (0, _reactRouter.useLocation)();
76
+ var oauthReturn = location.pathname === "/".concat(_utils.oAuthPath);
65
77
  var [specState, specDispatch] = (0, _react.useReducer)(_reducers.specReducer, (0, _reducers.initDefaultSpecState)(specs, location));
66
78
  var {
67
79
  spec
68
80
  } = specState;
69
- var [searchSettings, setSearchSettings] = (0, _react.useReducer)(_reducers.searchReducer, _reducers.defaultSearchState);
70
- var [lode, setLode] = (0, _react.useState)(_context.defaultLodeContextValue);
71
81
  var [hasNavigation, setHasNavigation] = (0, _react.useState)(true);
72
82
 
73
83
  var toggleNavigation = target => setHasNavigation(target || !hasNavigation);
@@ -77,6 +87,15 @@ var ApiExplorer = _ref => {
77
87
  setHasNavigation(currentHasNavigation => !currentHasNavigation);
78
88
  }
79
89
  }, []);
90
+ (0, _react.useEffect)(() => {
91
+ (0, _extensionUtils.registerEnvAdaptor)(adaptor);
92
+ initSettingsAction();
93
+ initLodesAction({
94
+ examplesLodeUrl,
95
+ declarationsLodeUrl
96
+ });
97
+ return () => (0, _extensionUtils.unregisterEnvAdaptor)();
98
+ }, []);
80
99
  (0, _react.useEffect)(() => {
81
100
  if (headless) {
82
101
  window.addEventListener('message', hasNavigationToggle);
@@ -87,17 +106,22 @@ var ApiExplorer = _ref => {
87
106
  window.removeEventListener('message', hasNavigationToggle);
88
107
  }
89
108
  };
90
- }, []);
109
+ }, [headless, hasNavigationToggle]);
91
110
  (0, _react.useEffect)(() => {
92
111
  var loadSpec = function () {
93
112
  var _ref2 = _asyncToGenerator(function* () {
94
113
  if (!spec.api) {
95
- var newSpec = _objectSpread({}, spec);
114
+ try {
115
+ var newSpec = _objectSpread({}, spec);
96
116
 
97
- var api = yield (0, _runIt.loadSpecApi)(newSpec);
117
+ var api = yield (0, _runIt.fallbackFetch)(newSpec, _runIt.funFetch);
98
118
 
99
- if (api) {
100
- specDispatch((0, _reducers.updateSpecApi)(spec.key, api));
119
+ if (api) {
120
+ spec.api = api;
121
+ specDispatch((0, _reducers.updateSpecApi)(spec.key, api));
122
+ }
123
+ } catch (error) {
124
+ console.error(error);
101
125
  }
102
126
  }
103
127
  });
@@ -107,48 +131,19 @@ var ApiExplorer = _ref => {
107
131
  };
108
132
  }();
109
133
 
110
- loadSpec();
111
- }, [spec]);
112
- (0, _react.useEffect)(() => {
113
- (0, _utils.getLoded)(exampleLodeUrl, declarationsLodeUrl).then(resp => setLode(resp));
114
- }, [exampleLodeUrl, declarationsLodeUrl]);
115
- (0, _react.useEffect)(() => {
116
- var initSdkLanguage = function () {
117
- var _ref3 = _asyncToGenerator(function* () {
118
- var resp = yield envAdaptor.localStorageGetItem(_utils.EnvAdaptorConstants.LOCALSTORAGE_SDK_LANGUAGE_KEY);
119
-
120
- if (resp) {
121
- setSdkLanguageAction(resp);
122
- }
123
- });
124
-
125
- return function initSdkLanguage() {
126
- return _ref3.apply(this, arguments);
127
- };
128
- }();
129
-
130
- initSdkLanguage();
131
- }, [envAdaptor, setSdkLanguageAction]);
132
- var {
133
- loadGoogleFonts,
134
- themeCustomizations
135
- } = envAdaptor.themeOverrides();
136
- return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.ComponentsProvider, {
137
- loadGoogleFonts: loadGoogleFonts,
138
- themeCustomizations: themeCustomizations
139
- }, _react.default.createElement(_components2.ErrorBoundary, {
140
- logError: envAdaptor.logError.bind(envAdaptor)
141
- }, _react.default.createElement(_context.EnvAdaptorContext.Provider, {
142
- value: {
143
- envAdaptor
144
- }
145
- }, _react.default.createElement(_context.LodeContext.Provider, {
146
- value: _objectSpread({}, lode)
147
- }, _react.default.createElement(_context.SearchContext.Provider, {
148
- value: {
149
- searchSettings,
150
- setSearchSettings
134
+ if (!oauthReturn) {
135
+ loadSpec();
151
136
  }
137
+ }, [spec, location]);
138
+ var themeOverrides = adaptor.themeOverrides();
139
+ return _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.ComponentsProvider, {
140
+ loadGoogleFonts: themeOverrides.loadGoogleFonts,
141
+ themeCustomizations: themeOverrides.themeCustomizations
142
+ }, !initialized ? _react.default.createElement(_components2.Loader, {
143
+ message: "Initializing",
144
+ themeOverrides: themeOverrides
145
+ }) : _react.default.createElement(_components2.ErrorBoundary, {
146
+ logError: adaptor.logError.bind(adaptor)
152
147
  }, _react.default.createElement(_components.Page, {
153
148
  style: {
154
149
  overflow: 'hidden'
@@ -161,32 +156,59 @@ var ApiExplorer = _ref => {
161
156
  }), _react.default.createElement(_components.Layout, {
162
157
  hasAside: true,
163
158
  height: "100%"
164
- }, hasNavigation && _react.default.createElement(AsideBorder, {
165
- pt: "large",
166
- width: "20rem"
167
- }, _react.default.createElement(_components2.SideNav, {
159
+ }, _react.default.createElement(AsideBorder, {
160
+ borderRight: true,
161
+ isOpen: hasNavigation,
162
+ headless: headless
163
+ }, headless && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.Space, {
164
+ alignItems: "center",
165
+ py: "u3",
166
+ px: hasNavigation ? 'u5' : '0',
167
+ justifyContent: hasNavigation ? 'space-between' : 'center'
168
+ }, hasNavigation && _react.default.createElement(_components.Heading, {
169
+ as: "h2",
170
+ fontSize: "xsmall",
171
+ fontWeight: "bold",
172
+ color: "text2"
173
+ }, "API DOCUMENTATION"), _react.default.createElement(_components.IconButton, {
174
+ size: "xsmall",
175
+ shape: "round",
176
+ icon: hasNavigation ? _react.default.createElement(_FirstPage.FirstPage, null) : _react.default.createElement(_LastPage.LastPage, null),
177
+ label: _components2.HEADER_TOGGLE_LABEL,
178
+ onClick: () => toggleNavigation()
179
+ })), hasNavigation && _react.default.createElement(_react.default.Fragment, null, _react.default.createElement(_components.Divider, {
180
+ mb: "u3",
181
+ appearance: "light"
182
+ }), _react.default.createElement(_components2.SelectorContainer, {
183
+ ml: "large",
184
+ mr: "large",
185
+ specs: specs,
186
+ spec: spec,
187
+ specDispatch: specDispatch
188
+ }))), hasNavigation && _react.default.createElement(_components2.SideNav, {
168
189
  headless: headless,
169
190
  specs: specs,
170
191
  spec: spec,
171
192
  specDispatch: specDispatch
172
- })), spec.api && _react.default.createElement(_routes.AppRouter, {
193
+ })), oauthReturn && _react.default.createElement(_runIt.OAuthScene, null), !oauthReturn && spec.api && _react.default.createElement(_routes.AppRouter, {
173
194
  api: spec.api,
174
195
  specKey: spec.key,
175
196
  specs: specs,
176
- toggleNavigation: toggleNavigation
177
- })))))))), !headless && _react.default.createElement(BodyOverride, null));
197
+ toggleNavigation: toggleNavigation,
198
+ adaptor: adaptor,
199
+ setVersionsUrl: setVersionsUrl
200
+ }))))), !headless && _react.default.createElement(BodyOverride, null));
178
201
  };
179
202
 
203
+ exports.ApiExplorer = ApiExplorer;
180
204
  var AsideBorder = (0, _styledComponents.default)(_components.Aside).withConfig({
181
205
  displayName: "ApiExplorer__AsideBorder",
182
206
  componentId: "sc-1ynh530-0"
183
- })(["border-right:1px solid ", ";"], _ref4 => {
207
+ })(["width:", ";"], _ref3 => {
184
208
  var {
185
- theme
186
- } = _ref4;
187
- return theme.colors.ui2;
209
+ isOpen,
210
+ headless
211
+ } = _ref3;
212
+ return isOpen ? '20rem' : headless ? '2.75rem' : '0rem';
188
213
  });
189
- exports.AsideBorder = AsideBorder;
190
- var _default = ApiExplorer;
191
- exports.default = _default;
192
214
  //# sourceMappingURL=ApiExplorer.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/ApiExplorer.tsx"],"names":["BodyOverride","createGlobalStyle","ApiExplorer","specs","envAdaptor","exampleLodeUrl","declarationsLodeUrl","apixFilesHost","headless","location","setSdkLanguageAction","specState","specDispatch","specReducer","spec","searchSettings","setSearchSettings","searchReducer","defaultSearchState","lode","setLode","defaultLodeContextValue","hasNavigation","setHasNavigation","toggleNavigation","target","hasNavigationToggle","e","origin","window","data","action","currentHasNavigation","addEventListener","removeEventListener","loadSpec","api","newSpec","key","then","resp","initSdkLanguage","localStorageGetItem","EnvAdaptorConstants","LOCALSTORAGE_SDK_LANGUAGE_KEY","loadGoogleFonts","themeCustomizations","themeOverrides","logError","bind","overflow","AsideBorder","Aside","theme","colors","ui2"],"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 React, { FC, useReducer, useState, useEffect, useCallback } from 'react'\nimport { useLocation } from 'react-router'\nimport styled, { createGlobalStyle } from 'styled-components'\nimport { Aside, ComponentsProvider, Layout, Page } from '@looker/components'\nimport { Looker40SDK, Looker31SDK } from '@looker/sdk'\nimport { SpecList } from '@looker/sdk-codegen'\nimport { loadSpecApi } from '@looker/run-it'\nimport {\n SearchContext,\n LodeContext,\n defaultLodeContextValue,\n EnvAdaptorContext,\n} from './context'\nimport { EnvAdaptorConstants, getLoded, IApixEnvAdaptor } from './utils'\nimport { Header, SideNav, ErrorBoundary } from './components'\nimport {\n specReducer,\n initDefaultSpecState,\n searchReducer,\n defaultSearchState,\n updateSpecApi,\n} from './reducers'\nimport { AppRouter } from './routes'\nimport { apixFilesHost } from './utils/lodeUtils'\nimport { useActions } from './hooks'\n\nexport interface ApiExplorerProps {\n specs: SpecList\n sdk?: Looker31SDK | Looker40SDK\n exampleLodeUrl?: string\n declarationsLodeUrl?: string\n envAdaptor: IApixEnvAdaptor\n headless?: boolean\n}\n\nexport const BodyOverride = createGlobalStyle` html { height: 100%; overflow: hidden; } `\n\nconst ApiExplorer: FC<ApiExplorerProps> = ({\n specs,\n envAdaptor,\n exampleLodeUrl = 'https://raw.githubusercontent.com/looker-open-source/sdk-codegen/main/examplesIndex.json',\n declarationsLodeUrl = `${apixFilesHost}/declarationsIndex.json`,\n headless = false,\n}) => {\n const location = useLocation()\n const { setSdkLanguageAction } = useActions()\n\n const [specState, specDispatch] = useReducer(\n specReducer,\n initDefaultSpecState(specs, location)\n )\n const { spec } = specState\n const [searchSettings, setSearchSettings] = useReducer(\n searchReducer,\n defaultSearchState\n )\n\n const [lode, setLode] = useState(defaultLodeContextValue)\n\n const [hasNavigation, setHasNavigation] = useState(true)\n const toggleNavigation = (target?: boolean) =>\n setHasNavigation(target || !hasNavigation)\n\n const hasNavigationToggle = useCallback((e: MessageEvent<any>) => {\n if (e.origin === window.origin && e.data.action === 'toggle_sidebar') {\n setHasNavigation((currentHasNavigation) => !currentHasNavigation)\n }\n }, [])\n\n useEffect(() => {\n if (headless) {\n window.addEventListener('message', hasNavigationToggle)\n }\n return () => {\n if (headless) {\n window.removeEventListener('message', hasNavigationToggle)\n }\n }\n }, [])\n\n useEffect(() => {\n const loadSpec = async () => {\n if (!spec.api) {\n const newSpec = { ...spec }\n const api = await loadSpecApi(newSpec)\n if (api) {\n specDispatch(updateSpecApi(spec.key, api))\n }\n }\n }\n loadSpec()\n }, [spec])\n\n useEffect(() => {\n getLoded(exampleLodeUrl, declarationsLodeUrl).then((resp) => setLode(resp))\n }, [exampleLodeUrl, declarationsLodeUrl])\n\n useEffect(() => {\n const initSdkLanguage = async () => {\n const resp = await envAdaptor.localStorageGetItem(\n EnvAdaptorConstants.LOCALSTORAGE_SDK_LANGUAGE_KEY\n )\n if (resp) {\n setSdkLanguageAction(resp)\n }\n }\n initSdkLanguage()\n }, [envAdaptor, setSdkLanguageAction])\n\n const { loadGoogleFonts, themeCustomizations } = envAdaptor.themeOverrides()\n\n return (\n <>\n <ComponentsProvider\n loadGoogleFonts={loadGoogleFonts}\n themeCustomizations={themeCustomizations}\n >\n <ErrorBoundary logError={envAdaptor.logError.bind(envAdaptor)}>\n <EnvAdaptorContext.Provider value={{ envAdaptor }}>\n <LodeContext.Provider value={{ ...lode }}>\n <SearchContext.Provider\n value={{ searchSettings, setSearchSettings }}\n >\n <Page style={{ overflow: 'hidden' }}>\n {!headless && (\n <Header\n specs={specs}\n spec={spec}\n specDispatch={specDispatch}\n toggleNavigation={toggleNavigation}\n />\n )}\n <Layout hasAside height=\"100%\">\n {hasNavigation && (\n <AsideBorder pt=\"large\" width=\"20rem\">\n <SideNav\n headless={headless}\n specs={specs}\n spec={spec}\n specDispatch={specDispatch}\n />\n </AsideBorder>\n )}\n {spec.api && (\n <AppRouter\n api={spec.api}\n specKey={spec.key}\n specs={specs}\n toggleNavigation={toggleNavigation}\n />\n )}\n </Layout>\n </Page>\n </SearchContext.Provider>\n </LodeContext.Provider>\n </EnvAdaptorContext.Provider>\n </ErrorBoundary>\n </ComponentsProvider>\n {!headless && <BodyOverride />}\n </>\n )\n}\n\n/* Border support for `Aside` coming in @looker/components very soon */\nexport const AsideBorder = styled(Aside)`\n border-right: 1px solid ${({ theme }) => theme.colors.ui2};\n`\n\nexport default ApiExplorer\n"],"file":"ApiExplorer.js"}
1
+ {"version":3,"sources":["../src/ApiExplorer.tsx"],"names":["BodyOverride","createGlobalStyle","ApiExplorer","specs","adaptor","setVersionsUrl","examplesLodeUrl","declarationsLodeUrl","apixFilesHost","headless","initialized","initLodesAction","initSettingsAction","location","oauthReturn","pathname","oAuthPath","specState","specDispatch","specReducer","spec","hasNavigation","setHasNavigation","toggleNavigation","target","hasNavigationToggle","e","origin","window","data","action","currentHasNavigation","addEventListener","removeEventListener","loadSpec","api","newSpec","funFetch","key","error","console","themeOverrides","loadGoogleFonts","themeCustomizations","logError","bind","overflow","HEADER_TOGGLE_LABEL","AsideBorder","Aside","isOpen"],"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 { FC } from 'react'\nimport React, { useReducer, useState, useEffect, useCallback } from 'react'\nimport { useLocation } from 'react-router'\nimport styled, { createGlobalStyle } from 'styled-components'\nimport {\n Aside,\n ComponentsProvider,\n Divider,\n Heading,\n IconButton,\n Layout,\n Page,\n Space,\n} from '@looker/components'\nimport type { SpecList } from '@looker/sdk-codegen'\nimport type { RunItSetter } from '@looker/run-it'\nimport { funFetch, fallbackFetch, OAuthScene } from '@looker/run-it'\nimport { FirstPage } from '@styled-icons/material/FirstPage'\nimport { LastPage } from '@styled-icons/material/LastPage'\n\nimport type { IEnvironmentAdaptor } from '@looker/extension-utils'\nimport {\n registerEnvAdaptor,\n unregisterEnvAdaptor,\n} from '@looker/extension-utils'\nimport { oAuthPath } from './utils'\nimport {\n Header,\n SideNav,\n ErrorBoundary,\n Loader,\n SelectorContainer,\n HEADER_TOGGLE_LABEL,\n} from './components'\nimport { specReducer, initDefaultSpecState, updateSpecApi } from './reducers'\nimport { AppRouter } from './routes'\nimport { apixFilesHost } from './utils/lodeUtils'\nimport {\n useSettingActions,\n useSettingStoreState,\n useLodeActions,\n useLodesStoreState,\n} from './state'\n\nexport interface ApiExplorerProps {\n specs: SpecList\n adaptor: IEnvironmentAdaptor\n setVersionsUrl: RunItSetter\n examplesLodeUrl?: string\n declarationsLodeUrl?: string\n headless?: boolean\n}\n\nconst BodyOverride = createGlobalStyle` html { height: 100%; overflow: hidden; } `\n\nexport const ApiExplorer: FC<ApiExplorerProps> = ({\n specs,\n adaptor,\n setVersionsUrl,\n examplesLodeUrl = 'https://raw.githubusercontent.com/looker-open-source/sdk-codegen/main/examplesIndex.json',\n declarationsLodeUrl = `${apixFilesHost}/declarationsIndex.json`,\n headless = false,\n}) => {\n const { initialized } = useSettingStoreState()\n useLodesStoreState()\n const { initLodesAction } = useLodeActions()\n const { initSettingsAction } = useSettingActions()\n const location = useLocation()\n const oauthReturn = location.pathname === `/${oAuthPath}`\n const [specState, specDispatch] = useReducer(\n specReducer,\n initDefaultSpecState(specs, location)\n )\n const { spec } = specState\n\n const [hasNavigation, setHasNavigation] = useState(true)\n const toggleNavigation = (target?: boolean) =>\n setHasNavigation(target || !hasNavigation)\n\n const hasNavigationToggle = useCallback((e: MessageEvent<any>) => {\n if (e.origin === window.origin && e.data.action === 'toggle_sidebar') {\n setHasNavigation((currentHasNavigation) => !currentHasNavigation)\n }\n }, [])\n\n useEffect(() => {\n registerEnvAdaptor(adaptor)\n initSettingsAction()\n initLodesAction({ examplesLodeUrl, declarationsLodeUrl })\n\n return () => unregisterEnvAdaptor()\n }, [])\n\n useEffect(() => {\n if (headless) {\n window.addEventListener('message', hasNavigationToggle)\n }\n return () => {\n if (headless) {\n window.removeEventListener('message', hasNavigationToggle)\n }\n }\n }, [headless, hasNavigationToggle])\n\n useEffect(() => {\n const loadSpec = async () => {\n if (!spec.api) {\n try {\n const newSpec = { ...spec }\n const api = await fallbackFetch(newSpec, funFetch)\n if (api) {\n spec.api = api\n specDispatch(updateSpecApi(spec.key, api))\n }\n } catch (error) {\n console.error(error)\n }\n }\n }\n if (!oauthReturn) {\n loadSpec()\n }\n }, [spec, location])\n\n const themeOverrides = adaptor.themeOverrides()\n\n return (\n <>\n <ComponentsProvider\n loadGoogleFonts={themeOverrides.loadGoogleFonts}\n themeCustomizations={themeOverrides.themeCustomizations}\n >\n {!initialized ? (\n <Loader message=\"Initializing\" themeOverrides={themeOverrides} />\n ) : (\n <ErrorBoundary logError={adaptor.logError.bind(adaptor)}>\n <Page style={{ overflow: 'hidden' }}>\n {!headless && (\n <Header\n specs={specs}\n spec={spec}\n specDispatch={specDispatch}\n toggleNavigation={toggleNavigation}\n />\n )}\n <Layout hasAside height=\"100%\">\n <AsideBorder\n borderRight\n isOpen={hasNavigation}\n headless={headless}\n >\n {headless && (\n <>\n <Space\n alignItems=\"center\"\n py=\"u3\"\n px={hasNavigation ? 'u5' : '0'}\n justifyContent={\n hasNavigation ? 'space-between' : 'center'\n }\n >\n {hasNavigation && (\n <Heading\n as=\"h2\"\n fontSize=\"xsmall\"\n fontWeight=\"bold\"\n color=\"text2\"\n >\n API DOCUMENTATION\n </Heading>\n )}\n <IconButton\n size=\"xsmall\"\n shape=\"round\"\n icon={hasNavigation ? <FirstPage /> : <LastPage />}\n label={HEADER_TOGGLE_LABEL}\n onClick={() => toggleNavigation()}\n />\n </Space>\n {hasNavigation && (\n <>\n <Divider mb=\"u3\" appearance=\"light\" />\n <SelectorContainer\n ml=\"large\"\n mr=\"large\"\n specs={specs}\n spec={spec}\n specDispatch={specDispatch}\n />\n </>\n )}\n </>\n )}\n {hasNavigation && (\n <SideNav\n headless={headless}\n specs={specs}\n spec={spec}\n specDispatch={specDispatch}\n />\n )}\n </AsideBorder>\n {oauthReturn && <OAuthScene />}\n {!oauthReturn && spec.api && (\n <AppRouter\n api={spec.api}\n specKey={spec.key}\n specs={specs}\n toggleNavigation={toggleNavigation}\n adaptor={adaptor}\n setVersionsUrl={setVersionsUrl}\n />\n )}\n </Layout>\n </Page>\n </ErrorBoundary>\n )}\n </ComponentsProvider>\n {!headless && <BodyOverride />}\n </>\n )\n}\n\nconst AsideBorder = styled(Aside)<{\n isOpen: boolean\n headless: boolean\n}>`\n width: ${({ isOpen, headless }) =>\n isOpen ? '20rem' : headless ? '2.75rem' : '0rem'};\n`\n"],"file":"ApiExplorer.js"}
package/lib/App.d.ts ADDED
@@ -0,0 +1 @@
1
+ export {};
package/lib/App.js ADDED
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ var _react = _interopRequireDefault(require("react"));
4
+
5
+ var _reactRouterDom = require("react-router-dom");
6
+
7
+ var _reactDom = _interopRequireDefault(require("react-dom"));
8
+
9
+ var _styledComponents = require("styled-components");
10
+
11
+ var _StandaloneApiExplorer = require("./StandaloneApiExplorer");
12
+
13
+ var _templateObject;
14
+
15
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
16
+
17
+ function _taggedTemplateLiteral(strings, raw) { if (!raw) { raw = strings.slice(0); } return Object.freeze(Object.defineProperties(strings, { raw: { value: Object.freeze(raw) } })); }
18
+
19
+ var BodyReset = (0, _styledComponents.createGlobalStyle)(_templateObject || (_templateObject = _taggedTemplateLiteral(["\n body {\n margin: 0;\n }\n"])));
20
+ var basename = window.LOOKER_DEV_PORTAL ? window.LOOKER_DEV_PORTAL.basename : undefined;
21
+ var versionsUrl = new URL('versions.json', window.location.origin).toString();
22
+
23
+ _reactDom.default.render(_react.default.createElement(_reactRouterDom.BrowserRouter, {
24
+ basename: basename
25
+ }, _react.default.createElement(_StandaloneApiExplorer.StandaloneApiExplorer, {
26
+ versionsUrl: versionsUrl,
27
+ headless: !!basename
28
+ }), _react.default.createElement(BodyReset, null)), document.getElementById('container'));
29
+ //# sourceMappingURL=App.js.map
package/lib/App.js.map ADDED
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/App.tsx"],"names":["BodyReset","createGlobalStyle","basename","window","LOOKER_DEV_PORTAL","undefined","versionsUrl","URL","location","origin","toString","ReactDOM","render","document","getElementById"],"mappings":";;AA0BA;;AACA;;AACA;;AACA;;AACA;;;;;;;;AAEA,IAAMA,SAAS,OAAGC,mCAAH,uGAAf;AAMA,IAAMC,QAAQ,GAAIC,MAAD,CAAgBC,iBAAhB,GACZD,MAAD,CAAgBC,iBAAhB,CAAkCF,QADrB,GAEbG,SAFJ;AAIA,IAAMC,WAAW,GAAG,IAAIC,GAAJ,CAClB,eADkB,EAEjBJ,MAAD,CAAgBK,QAAhB,CAAyBC,MAFP,EAGlBC,QAHkB,EAApB;;AAKAC,kBAASC,MAAT,CACE,6BAAC,6BAAD;AAAQ,EAAA,QAAQ,EAAEV;AAAlB,GACE,6BAAC,4CAAD;AAAuB,EAAA,WAAW,EAAEI,WAApC;AAAiD,EAAA,QAAQ,EAAE,CAAC,CAACJ;AAA7D,EADF,EAEE,6BAAC,SAAD,OAFF,CADF,EAKEW,QAAQ,CAACC,cAAT,CAAwB,WAAxB,CALF","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 React from 'react'\nimport { BrowserRouter as Router } from 'react-router-dom'\nimport ReactDOM from 'react-dom'\nimport { createGlobalStyle } from 'styled-components'\nimport { StandaloneApiExplorer } from './StandaloneApiExplorer'\n\nconst BodyReset = createGlobalStyle`\n body {\n margin: 0;\n }\n`\n\nconst basename = (window as any).LOOKER_DEV_PORTAL\n ? (window as any).LOOKER_DEV_PORTAL.basename\n : undefined\n\nconst versionsUrl = new URL(\n 'versions.json',\n (window as any).location.origin\n).toString()\n\nReactDOM.render(\n <Router basename={basename}>\n <StandaloneApiExplorer versionsUrl={versionsUrl} headless={!!basename} />\n <BodyReset />\n </Router>,\n document.getElementById('container')\n)\n"],"file":"App.js"}
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  export interface StandaloneApiExplorerProps {
3
3
  headless?: boolean;
4
4
  versionsUrl: string;
@@ -11,56 +11,77 @@ var _runIt = require("@looker/run-it");
11
11
 
12
12
  var _reactRedux = require("react-redux");
13
13
 
14
- var _ApiExplorer = _interopRequireDefault(require("./ApiExplorer"));
14
+ var _extensionUtils = require("@looker/extension-utils");
15
15
 
16
- var _state = require("./state");
16
+ var _ApiExplorer = require("./ApiExplorer");
17
17
 
18
- var _utils = require("./utils");
18
+ var _state = require("./state");
19
19
 
20
20
  var _components = require("./components");
21
21
 
22
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
-
24
22
  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); }
25
23
 
26
24
  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; }
27
25
 
28
- var standaloneEnvAdaptor = new _utils.StandaloneEnvAdaptor();
29
- var store = (0, _state.configureStore)();
26
+ 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); } }
27
+
28
+ 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); }); }; }
29
+
30
+ var browserAdaptor = new _extensionUtils.BrowserAdaptor((0, _runIt.initRunItSdk)());
31
+
32
+ var loadVersions = function () {
33
+ var _ref = _asyncToGenerator(function* (current) {
34
+ var data = yield browserAdaptor.localStorageGetItem(_runIt.RunItConfigKey);
35
+ var config = data ? JSON.parse(data) : _runIt.RunItNoConfig;
36
+ var url = config.base_url ? "".concat(config.base_url, "/versions") : current;
37
+ var response = yield (0, _runIt.loadSpecsFromVersions)(url);
30
38
 
31
- var StandaloneApiExplorer = _ref => {
39
+ if (response.fetchResult) {
40
+ console.error("Reverting to ".concat(current, " due to ").concat(url, " error: ").concat(response.fetchResult));
41
+ url = current;
42
+ response = yield (0, _runIt.loadSpecsFromVersions)(url);
43
+ }
44
+
45
+ return {
46
+ url,
47
+ response
48
+ };
49
+ });
50
+
51
+ return function loadVersions(_x) {
52
+ return _ref.apply(this, arguments);
53
+ };
54
+ }();
55
+
56
+ var StandaloneApiExplorer = _ref2 => {
32
57
  var {
33
58
  headless = false,
34
59
  versionsUrl = ''
35
- } = _ref;
60
+ } = _ref2;
36
61
  var [specs, setSpecs] = (0, _react.useState)();
37
- var [embedded, setEmbedded] = (0, _react.useState)(headless);
62
+ var [currentVersionsUrl, setCurrentVersionsUrl] = (0, _react.useState)(versionsUrl);
38
63
  (0, _react.useEffect)(() => {
39
- if (versionsUrl) {
40
- (0, _runIt.loadSpecsFromVersions)(versionsUrl).then(response => {
64
+ if (currentVersionsUrl) {
65
+ loadVersions(currentVersionsUrl).then(result => {
66
+ setCurrentVersionsUrl(result.url);
67
+ var response = result.response;
41
68
  setSpecs(response.specs);
42
-
43
- if ('headless' in response) {
44
- setEmbedded(response.headless);
45
- }
46
69
  });
47
70
  } else {
48
71
  setSpecs(undefined);
49
72
  }
50
- }, [versionsUrl]);
51
- var chosenSdk = (0, _runIt.initRunItSdk)(_runIt.defaultConfigurator);
73
+ }, [versionsUrl, currentVersionsUrl]);
52
74
  return _react.default.createElement(_reactRedux.Provider, {
53
- store: store
75
+ store: _state.store
54
76
  }, _react.default.createElement(_runIt.RunItProvider, {
55
- sdk: chosenSdk,
56
- configurator: _runIt.defaultConfigurator,
57
77
  basePath: "/api/4.0"
58
- }, _react.default.createElement(_react.default.Fragment, null, specs ? _react.default.createElement(_ApiExplorer.default, {
78
+ }, _react.default.createElement(_react.default.Fragment, null, specs ? _react.default.createElement(_ApiExplorer.ApiExplorer, {
59
79
  specs: specs,
60
- envAdaptor: standaloneEnvAdaptor,
61
- headless: embedded
80
+ adaptor: browserAdaptor,
81
+ headless: headless,
82
+ setVersionsUrl: setCurrentVersionsUrl
62
83
  }) : _react.default.createElement(_components.Loader, {
63
- themeOverrides: standaloneEnvAdaptor.themeOverrides()
84
+ themeOverrides: browserAdaptor.themeOverrides()
64
85
  }))));
65
86
  };
66
87
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/StandaloneApiExplorer.tsx"],"names":["standaloneEnvAdaptor","StandaloneEnvAdaptor","store","StandaloneApiExplorer","headless","versionsUrl","specs","setSpecs","embedded","setEmbedded","then","response","undefined","chosenSdk","defaultConfigurator","themeOverrides"],"mappings":";;;;;;;AA0BA;;AACA;;AAQA;;AAEA;;AACA;;AACA;;AACA;;;;;;;;AAOA,IAAMA,oBAAoB,GAAG,IAAIC,2BAAJ,EAA7B;AACA,IAAMC,KAAK,GAAG,4BAAd;;AAEO,IAAMC,qBAAqD,GAAG,QAG/D;AAAA,MAHgE;AACpEC,IAAAA,QAAQ,GAAG,KADyD;AAEpEC,IAAAA,WAAW,GAAG;AAFsD,GAGhE;AACJ,MAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,sBAA1B;AACA,MAAM,CAACC,QAAD,EAAWC,WAAX,IAA0B,qBAAkBL,QAAlB,CAAhC;AAEA,wBAAU,MAAM;AACd,QAAIC,WAAJ,EAAiB;AAEf,wCAAsBA,WAAtB,EAAmCK,IAAnC,CAAyCC,QAAD,IAAc;AACpDJ,QAAAA,QAAQ,CAACI,QAAQ,CAACL,KAAV,CAAR;;AACA,YAAI,cAAcK,QAAlB,EAA4B;AAE1BF,UAAAA,WAAW,CAACE,QAAQ,CAACP,QAAV,CAAX;AACD;AACF,OAND;AAOD,KATD,MASO;AACLG,MAAAA,QAAQ,CAACK,SAAD,CAAR;AACD;AACF,GAbD,EAaG,CAACP,WAAD,CAbH;AAeA,MAAMQ,SAAsB,GAAG,yBAAaC,0BAAb,CAA/B;AAEA,SACE,6BAAC,oBAAD;AAAU,IAAA,KAAK,EAAEZ;AAAjB,KACE,6BAAC,oBAAD;AACE,IAAA,GAAG,EAAEW,SADP;AAEE,IAAA,YAAY,EAAEC,0BAFhB;AAGE,IAAA,QAAQ,EAAC;AAHX,KAKE,4DACGR,KAAK,GACJ,6BAAC,oBAAD;AACE,IAAA,KAAK,EAAEA,KADT;AAEE,IAAA,UAAU,EAAEN,oBAFd;AAGE,IAAA,QAAQ,EAAEQ;AAHZ,IADI,GAOJ,6BAAC,kBAAD;AAAQ,IAAA,cAAc,EAAER,oBAAoB,CAACe,cAArB;AAAxB,IARJ,CALF,CADF,CADF;AAqBD,CA7CM","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 React, { FC, useEffect, useState } from 'react'\nimport {\n RunItProvider,\n defaultConfigurator,\n initRunItSdk,\n loadSpecsFromVersions,\n} from '@looker/run-it'\nimport { IAPIMethods } from '@looker/sdk-rtl'\nimport { SpecList } from '@looker/sdk-codegen'\nimport { Provider } from 'react-redux'\n\nimport ApiExplorer from './ApiExplorer'\nimport { configureStore } from './state'\nimport { StandaloneEnvAdaptor } from './utils'\nimport { Loader } from './components'\n\nexport interface StandaloneApiExplorerProps {\n headless?: boolean\n versionsUrl: string\n}\n\nconst standaloneEnvAdaptor = new StandaloneEnvAdaptor()\nconst store = configureStore()\n\nexport const StandaloneApiExplorer: FC<StandaloneApiExplorerProps> = ({\n headless = false,\n versionsUrl = '',\n}) => {\n const [specs, setSpecs] = useState<SpecList | undefined>()\n const [embedded, setEmbedded] = useState<boolean>(headless)\n\n useEffect(() => {\n if (versionsUrl) {\n // Load specifications from the versions url\n loadSpecsFromVersions(versionsUrl).then((response) => {\n setSpecs(response.specs)\n if ('headless' in response) {\n // headless will default to false if it's not explicitly set\n setEmbedded(response.headless)\n }\n })\n } else {\n setSpecs(undefined)\n }\n }, [versionsUrl])\n\n const chosenSdk: IAPIMethods = initRunItSdk(defaultConfigurator)\n\n return (\n <Provider store={store}>\n <RunItProvider\n sdk={chosenSdk}\n configurator={defaultConfigurator}\n basePath=\"/api/4.0\"\n >\n <>\n {specs ? (\n <ApiExplorer\n specs={specs}\n envAdaptor={standaloneEnvAdaptor}\n headless={embedded}\n />\n ) : (\n <Loader themeOverrides={standaloneEnvAdaptor.themeOverrides()} />\n )}\n </>\n </RunItProvider>\n </Provider>\n )\n}\n"],"file":"StandaloneApiExplorer.js"}
1
+ {"version":3,"sources":["../src/StandaloneApiExplorer.tsx"],"names":["browserAdaptor","BrowserAdaptor","loadVersions","current","data","localStorageGetItem","RunItConfigKey","config","JSON","parse","RunItNoConfig","url","base_url","response","fetchResult","console","error","StandaloneApiExplorer","headless","versionsUrl","specs","setSpecs","currentVersionsUrl","setCurrentVersionsUrl","then","result","undefined","store","themeOverrides"],"mappings":";;;;;;;AA2BA;;AACA;;AAQA;;AACA;;AAEA;;AACA;;AACA;;;;;;;;;;AAOA,IAAMA,cAAc,GAAG,IAAIC,8BAAJ,CAAmB,0BAAnB,CAAvB;;AAEA,IAAMC,YAAY;AAAA,+BAAG,WAAOC,OAAP,EAA2B;AAC9C,QAAMC,IAAI,SAASJ,cAAc,CAACK,mBAAf,CAAmCC,qBAAnC,CAAnB;AACA,QAAMC,MAAM,GAAGH,IAAI,GAAGI,IAAI,CAACC,KAAL,CAAWL,IAAX,CAAH,GAAsBM,oBAAzC;AACA,QAAIC,GAAG,GAAGJ,MAAM,CAACK,QAAP,aAAqBL,MAAM,CAACK,QAA5B,iBAAkDT,OAA5D;AACA,QAAIU,QAAQ,SAAS,kCAAsBF,GAAtB,CAArB;;AACA,QAAIE,QAAQ,CAACC,WAAb,EAA0B;AACxBC,MAAAA,OAAO,CAACC,KAAR,wBACkBb,OADlB,qBACoCQ,GADpC,qBACkDE,QAAQ,CAACC,WAD3D;AAIAH,MAAAA,GAAG,GAAGR,OAAN;AACAU,MAAAA,QAAQ,SAAS,kCAAsBF,GAAtB,CAAjB;AACD;;AACD,WAAO;AAAEA,MAAAA,GAAF;AAAOE,MAAAA;AAAP,KAAP;AACD,GAdiB;;AAAA,kBAAZX,YAAY;AAAA;AAAA;AAAA,GAAlB;;AAgBO,IAAMe,qBAAqD,GAAG,SAG/D;AAAA,MAHgE;AACpEC,IAAAA,QAAQ,GAAG,KADyD;AAEpEC,IAAAA,WAAW,GAAG;AAFsD,GAGhE;AACJ,MAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,sBAA1B;AACA,MAAM,CAACC,kBAAD,EAAqBC,qBAArB,IACJ,qBAAiBJ,WAAjB,CADF;AAGA,wBAAU,MAAM;AACd,QAAIG,kBAAJ,EAAwB;AACtBpB,MAAAA,YAAY,CAACoB,kBAAD,CAAZ,CAAiCE,IAAjC,CAAuCC,MAAD,IAAY;AAChDF,QAAAA,qBAAqB,CAACE,MAAM,CAACd,GAAR,CAArB;AACA,YAAME,QAAQ,GAAGY,MAAM,CAACZ,QAAxB;AACAQ,QAAAA,QAAQ,CAACR,QAAQ,CAACO,KAAV,CAAR;AACD,OAJD;AAKD,KAND,MAMO;AACLC,MAAAA,QAAQ,CAACK,SAAD,CAAR;AACD;AACF,GAVD,EAUG,CAACP,WAAD,EAAcG,kBAAd,CAVH;AAYA,SACE,6BAAC,oBAAD;AAAU,IAAA,KAAK,EAAEK;AAAjB,KACE,6BAAC,oBAAD;AAAe,IAAA,QAAQ,EAAC;AAAxB,KACE,4DACGP,KAAK,GACJ,6BAAC,wBAAD;AACE,IAAA,KAAK,EAAEA,KADT;AAEE,IAAA,OAAO,EAAEpB,cAFX;AAGE,IAAA,QAAQ,EAAEkB,QAHZ;AAIE,IAAA,cAAc,EAAEK;AAJlB,IADI,GAQJ,6BAAC,kBAAD;AAAQ,IAAA,cAAc,EAAEvB,cAAc,CAAC4B,cAAf;AAAxB,IATJ,CADF,CADF,CADF;AAkBD,CAtCM","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 } from 'react'\nimport React, { useEffect, useState } from 'react'\nimport {\n RunItProvider,\n loadSpecsFromVersions,\n RunItConfigKey,\n RunItNoConfig,\n initRunItSdk,\n} from '@looker/run-it'\nimport type { SpecList } from '@looker/sdk-codegen'\nimport { Provider } from 'react-redux'\nimport { BrowserAdaptor } from '@looker/extension-utils'\n\nimport { ApiExplorer } from './ApiExplorer'\nimport { store } from './state'\nimport { Loader } from './components'\n\nexport interface StandaloneApiExplorerProps {\n headless?: boolean\n versionsUrl: string\n}\n\nconst browserAdaptor = new BrowserAdaptor(initRunItSdk())\n\nconst loadVersions = async (current: string) => {\n const data = await browserAdaptor.localStorageGetItem(RunItConfigKey)\n const config = data ? JSON.parse(data) : RunItNoConfig\n let url = config.base_url ? `${config.base_url}/versions` : current\n let response = await loadSpecsFromVersions(url)\n if (response.fetchResult) {\n console.error(\n `Reverting to ${current} due to ${url} error: ${response.fetchResult}`\n )\n // The stored server location has an error so default to current\n url = current\n response = await loadSpecsFromVersions(url)\n }\n return { url, response }\n}\n\nexport const StandaloneApiExplorer: FC<StandaloneApiExplorerProps> = ({\n headless = false,\n versionsUrl = '',\n}) => {\n const [specs, setSpecs] = useState<SpecList | undefined>()\n const [currentVersionsUrl, setCurrentVersionsUrl] =\n useState<string>(versionsUrl)\n\n useEffect(() => {\n if (currentVersionsUrl) {\n loadVersions(currentVersionsUrl).then((result) => {\n setCurrentVersionsUrl(result.url)\n const response = result.response\n setSpecs(response.specs)\n })\n } else {\n setSpecs(undefined)\n }\n }, [versionsUrl, currentVersionsUrl])\n\n return (\n <Provider store={store}>\n <RunItProvider basePath=\"/api/4.0\">\n <>\n {specs ? (\n <ApiExplorer\n specs={specs}\n adaptor={browserAdaptor}\n headless={headless}\n setVersionsUrl={setCurrentVersionsUrl}\n />\n ) : (\n <Loader themeOverrides={browserAdaptor.themeOverrides()} />\n )}\n </>\n </RunItProvider>\n </Provider>\n )\n}\n"],"file":"StandaloneApiExplorer.js"}
@@ -1,5 +1,5 @@
1
- import { FC } from 'react';
2
- import { IMethod } from '@looker/sdk-codegen';
1
+ import type { FC } from 'react';
2
+ import type { IMethod } from '@looker/sdk-codegen';
3
3
  interface DocActivityTypeProps {
4
4
  method: IMethod;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DocActivityType/DocActivityType.tsx"],"names":["DocActivityType","method","activityType"],"mappings":";;;;;;;AAyBA;;AACA;;;;AAMO,IAAMA,eAAyC,GAAG;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,SACvD,4DACGA,MAAM,CAACC,YAAP,KAAwB,UAAxB,IACC,4DACE,6BAAC,gBAAD;AAAM,IAAA,KAAK,EAAC;AAAZ,KAAmC,UAAnC,CADF,EAEE,6BAAC,mBAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,OAAO,EACL;AAHJ,KASE,2CACE,6BAAC,iBAAD;AAAO,IAAA,MAAM,EAAC;AAAd,SADF,CATF,CAFF,CAFJ,CADuD;AAAA,CAAlD","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 React, { FC } from 'react'\nimport { Code, Tooltip, Badge } from '@looker/components'\nimport { IMethod } from '@looker/sdk-codegen'\n\ninterface DocActivityTypeProps {\n method: IMethod\n}\nexport const DocActivityType: FC<DocActivityTypeProps> = ({ method }) => (\n <>\n {method.activityType === 'db_query' && (\n <>\n <Code color=\"palette.charcoal500\">{'db_query'}</Code>\n <Tooltip\n textAlign=\"left\"\n content={\n <>\n Call volume for this endpoint counts toward the \"db_query\" API\n activity category.\n </>\n }\n >\n <span>\n <Badge intent=\"neutral\">$</Badge>\n </span>\n </Tooltip>\n </>\n )}\n </>\n)\n"],"file":"DocActivityType.js"}
1
+ {"version":3,"sources":["../../../src/components/DocActivityType/DocActivityType.tsx"],"names":["DocActivityType","method","activityType"],"mappings":";;;;;;;AA0BA;;AACA;;;;AAMO,IAAMA,eAAyC,GAAG;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,SACvD,4DACGA,MAAM,CAACC,YAAP,KAAwB,UAAxB,IACC,4DACE,6BAAC,gBAAD;AAAM,IAAA,KAAK,EAAC;AAAZ,KAAmC,UAAnC,CADF,EAEE,6BAAC,mBAAD;AACE,IAAA,SAAS,EAAC,MADZ;AAEE,IAAA,OAAO,EACL;AAHJ,KASE,2CACE,6BAAC,iBAAD;AAAO,IAAA,MAAM,EAAC;AAAd,SADF,CATF,CAFF,CAFJ,CADuD;AAAA,CAAlD","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 } from 'react'\nimport React from 'react'\nimport { Code, Tooltip, Badge } from '@looker/components'\nimport type { IMethod } from '@looker/sdk-codegen'\n\ninterface DocActivityTypeProps {\n method: IMethod\n}\nexport const DocActivityType: FC<DocActivityTypeProps> = ({ method }) => (\n <>\n {method.activityType === 'db_query' && (\n <>\n <Code color=\"palette.charcoal500\">{'db_query'}</Code>\n <Tooltip\n textAlign=\"left\"\n content={\n <>\n Call volume for this endpoint counts toward the \"db_query\" API\n activity category.\n </>\n }\n >\n <span>\n <Badge intent=\"neutral\">$</Badge>\n </span>\n </Tooltip>\n </>\n )}\n </>\n)\n"],"file":"DocActivityType.js"}
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  interface DocCodeProps {
3
3
  code: string;
4
4
  language?: string;
@@ -5,34 +5,30 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.DocCode = void 0;
7
7
 
8
- var _react = _interopRequireWildcard(require("react"));
8
+ var _react = _interopRequireDefault(require("react"));
9
9
 
10
10
  var _sdkCodegen = require("@looker/sdk-codegen");
11
11
 
12
12
  var _codeEditor = require("@looker/code-editor");
13
13
 
14
- var _search = require("../../context/search");
14
+ var _reactRedux = require("react-redux");
15
15
 
16
- 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); }
16
+ var _state = require("../../state");
17
17
 
18
- 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; }
18
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
19
19
 
20
20
  var DocCode = _ref => {
21
21
  var {
22
22
  code,
23
23
  language = 'json'
24
24
  } = _ref;
25
+ var searchPattern = (0, _reactRedux.useSelector)(_state.selectSearchPattern);
25
26
  var gen = (0, _sdkCodegen.findGenerator)(language);
26
27
  if (gen) language = gen.language.toLocaleLowerCase();
27
- var {
28
- searchSettings: {
29
- pattern
30
- }
31
- } = (0, _react.useContext)(_search.SearchContext);
32
28
  return _react.default.createElement(_codeEditor.CodeDisplay, {
33
29
  language: language,
34
30
  code: code,
35
- pattern: pattern
31
+ pattern: searchPattern
36
32
  });
37
33
  };
38
34
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/DocCode/DocCode.tsx"],"names":["DocCode","code","language","gen","toLocaleLowerCase","searchSettings","pattern","SearchContext"],"mappings":";;;;;;;AA0BA;;AACA;;AACA;;AACA;;;;;;AAOO,IAAMA,OAAyB,GAAG,QAAiC;AAAA,MAAhC;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,QAAQ,GAAG;AAAnB,GAAgC;AACxE,MAAMC,GAAG,GAAG,+BAAcD,QAAd,CAAZ;AACA,MAAIC,GAAJ,EAASD,QAAQ,GAAGC,GAAG,CAACD,QAAJ,CAAaE,iBAAb,EAAX;AACT,MAAM;AACJC,IAAAA,cAAc,EAAE;AAAEC,MAAAA;AAAF;AADZ,MAEF,uBAAWC,qBAAX,CAFJ;AAIA,SAAO,6BAAC,uBAAD;AAAa,IAAA,QAAQ,EAAEL,QAAvB;AAAiC,IAAA,IAAI,EAAED,IAAvC;AAA6C,IAAA,OAAO,EAAEK;AAAtD,IAAP;AACD,CARM","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 React, { FC, useContext } from 'react'\nimport { findGenerator } from '@looker/sdk-codegen'\nimport { CodeDisplay } from '@looker/code-editor'\nimport { SearchContext } from '../../context/search'\n\ninterface DocCodeProps {\n code: string\n language?: string\n}\n\nexport const DocCode: FC<DocCodeProps> = ({ code, language = 'json' }) => {\n const gen = findGenerator(language)\n if (gen) language = gen.language.toLocaleLowerCase()\n const {\n searchSettings: { pattern },\n } = useContext(SearchContext)\n\n return <CodeDisplay language={language} code={code} pattern={pattern} />\n}\n"],"file":"DocCode.js"}
1
+ {"version":3,"sources":["../../../src/components/DocCode/DocCode.tsx"],"names":["DocCode","code","language","searchPattern","selectSearchPattern","gen","toLocaleLowerCase"],"mappings":";;;;;;;AA2BA;;AACA;;AACA;;AACA;;AAEA;;;;AAOO,IAAMA,OAAyB,GAAG,QAAiC;AAAA,MAAhC;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,QAAQ,GAAG;AAAnB,GAAgC;AACxE,MAAMC,aAAa,GAAG,6BAAYC,0BAAZ,CAAtB;AACA,MAAMC,GAAG,GAAG,+BAAcH,QAAd,CAAZ;AACA,MAAIG,GAAJ,EAASH,QAAQ,GAAGG,GAAG,CAACH,QAAJ,CAAaI,iBAAb,EAAX;AAET,SAAO,6BAAC,uBAAD;AAAa,IAAA,QAAQ,EAAEJ,QAAvB;AAAiC,IAAA,IAAI,EAAED,IAAvC;AAA6C,IAAA,OAAO,EAAEE;AAAtD,IAAP;AACD,CANM","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 } from 'react'\nimport React from 'react'\nimport { findGenerator } from '@looker/sdk-codegen'\nimport { CodeDisplay } from '@looker/code-editor'\nimport { useSelector } from 'react-redux'\n\nimport { selectSearchPattern } from '../../state'\n\ninterface DocCodeProps {\n code: string\n language?: string\n}\n\nexport const DocCode: FC<DocCodeProps> = ({ code, language = 'json' }) => {\n const searchPattern = useSelector(selectSearchPattern)\n const gen = findGenerator(language)\n if (gen) language = gen.language.toLocaleLowerCase()\n\n return <CodeDisplay language={language} code={code} pattern={searchPattern} />\n}\n"],"file":"DocCode.js"}
@@ -1,4 +1,4 @@
1
- import { FC } from 'react';
1
+ import type { FC } from 'react';
2
2
  interface DocMarkdownProps {
3
3
  source: string;
4
4
  specKey: string;