@looker/api-explorer 0.9.19 → 0.9.25

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 (699) hide show
  1. package/CHANGELOG.md +135 -1
  2. package/e2e/e2e.spec.ts +6 -5
  3. package/lib/ApiExplorer.d.ts +7 -38
  4. package/lib/ApiExplorer.js +90 -71
  5. package/lib/ApiExplorer.js.map +1 -1
  6. package/lib/App.d.ts +1 -0
  7. package/lib/App.js +29 -0
  8. package/lib/App.js.map +1 -0
  9. package/lib/StandaloneApiExplorer.d.ts +1 -1
  10. package/lib/StandaloneApiExplorer.js +10 -21
  11. package/lib/StandaloneApiExplorer.js.map +1 -1
  12. package/lib/components/DocActivityType/DocActivityType.d.ts +2 -2
  13. package/lib/components/DocActivityType/DocActivityType.js.map +1 -1
  14. package/lib/components/DocCode/DocCode.d.ts +1 -1
  15. package/lib/components/DocCode/DocCode.js +6 -10
  16. package/lib/components/DocCode/DocCode.js.map +1 -1
  17. package/lib/components/DocMarkdown/DocMarkdown.d.ts +1 -1
  18. package/lib/components/DocMarkdown/DocMarkdown.js +13 -15
  19. package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
  20. package/lib/components/DocMethodSummary/DocMethodSummary.d.ts +2 -2
  21. package/lib/components/DocMethodSummary/DocMethodSummary.js +1 -1
  22. package/lib/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
  23. package/lib/components/DocMethodSummary/DocSummaryStatus.d.ts +2 -3
  24. package/lib/components/DocMethodSummary/DocSummaryStatus.js +3 -3
  25. package/lib/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
  26. package/lib/components/DocMethodSummary/index.d.ts +1 -0
  27. package/lib/components/DocMethodSummary/index.js +8 -0
  28. package/lib/components/DocMethodSummary/index.js.map +1 -1
  29. package/lib/components/DocMethodSummary/utils.d.ts +2 -1
  30. package/lib/components/DocMethodSummary/utils.js +24 -15
  31. package/lib/components/DocMethodSummary/utils.js.map +1 -1
  32. package/lib/components/DocPseudo/DocParam.d.ts +2 -2
  33. package/lib/components/DocPseudo/DocParam.js.map +1 -1
  34. package/lib/components/DocPseudo/DocParams.d.ts +2 -2
  35. package/lib/components/DocPseudo/DocParams.js.map +1 -1
  36. package/lib/components/DocPseudo/DocPrimaryResponse.d.ts +2 -2
  37. package/lib/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
  38. package/lib/components/DocPseudo/DocPseudo.d.ts +2 -2
  39. package/lib/components/DocPseudo/DocPseudo.js.map +1 -1
  40. package/lib/components/DocRateLimited/DocRateLimited.d.ts +2 -2
  41. package/lib/components/DocRateLimited/DocRateLimited.js.map +1 -1
  42. package/lib/components/DocReferences/DocReferences.d.ts +2 -2
  43. package/lib/components/DocReferences/DocReferences.js +7 -11
  44. package/lib/components/DocReferences/DocReferences.js.map +1 -1
  45. package/lib/components/DocReferences/utils.d.ts +2 -2
  46. package/lib/components/DocReferences/utils.js +2 -28
  47. package/lib/components/DocReferences/utils.js.map +1 -1
  48. package/lib/components/DocResponses/DocResponseTypes.d.ts +3 -2
  49. package/lib/components/DocResponses/DocResponseTypes.js +3 -1
  50. package/lib/components/DocResponses/DocResponseTypes.js.map +1 -1
  51. package/lib/components/DocResponses/DocResponses.d.ts +3 -2
  52. package/lib/components/DocResponses/DocResponses.js +2 -0
  53. package/lib/components/DocResponses/DocResponses.js.map +1 -1
  54. package/lib/components/DocResponses/utils.d.ts +1 -1
  55. package/lib/components/DocResponses/utils.js.map +1 -1
  56. package/lib/components/DocSDKs/DocDeclarations.d.ts +2 -2
  57. package/lib/components/DocSDKs/DocDeclarations.js.map +1 -1
  58. package/lib/components/DocSDKs/DocSDKs.d.ts +2 -2
  59. package/lib/components/DocSDKs/DocSDKs.js +1 -1
  60. package/lib/components/DocSDKs/DocSDKs.js.map +1 -1
  61. package/lib/components/DocSDKs/utils.d.ts +1 -1
  62. package/lib/components/DocSDKs/utils.js.map +1 -1
  63. package/lib/components/DocSchema/DocSchema.d.ts +1 -1
  64. package/lib/components/DocSchema/DocSchema.js.map +1 -1
  65. package/lib/components/DocSdkUsage/DocSdkExampleCell.d.ts +1 -1
  66. package/lib/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
  67. package/lib/components/DocSdkUsage/DocSdkUsage.d.ts +2 -2
  68. package/lib/components/DocSdkUsage/DocSdkUsage.js +4 -7
  69. package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
  70. package/lib/components/DocSdkUsage/utils.d.ts +2 -2
  71. package/lib/components/DocSdkUsage/utils.js.map +1 -1
  72. package/lib/components/DocSource/DocSource.d.ts +2 -2
  73. package/lib/components/DocSource/DocSource.js +5 -7
  74. package/lib/components/DocSource/DocSource.js.map +1 -1
  75. package/lib/components/DocStatus/DocStatus.d.ts +2 -2
  76. package/lib/components/DocStatus/DocStatus.js.map +1 -1
  77. package/lib/components/DocTitle/DocTitle.d.ts +1 -1
  78. package/lib/components/DocTitle/DocTitle.js.map +1 -1
  79. package/lib/components/DocTypeSummary/DocTypeSummary.d.ts +7 -0
  80. package/lib/components/DocTypeSummary/DocTypeSummary.js +52 -0
  81. package/lib/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
  82. package/lib/components/DocTypeSummary/index.d.ts +1 -0
  83. package/lib/components/DocTypeSummary/index.js +14 -0
  84. package/lib/components/DocTypeSummary/index.js.map +1 -0
  85. package/lib/components/ErrorBoundary/ErrorBoundary.js +1 -1
  86. package/lib/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  87. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.d.ts +1 -1
  88. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +152 -8
  89. package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
  90. package/lib/components/ExploreType/ExploreProperty.d.ts +10 -7
  91. package/lib/components/ExploreType/ExploreProperty.js +14 -3
  92. package/lib/components/ExploreType/ExploreProperty.js.map +1 -1
  93. package/lib/components/ExploreType/ExploreType.d.ts +4 -2
  94. package/lib/components/ExploreType/ExploreType.js +9 -5
  95. package/lib/components/ExploreType/ExploreType.js.map +1 -1
  96. package/lib/components/ExploreType/exploreUtils.d.ts +2 -2
  97. package/lib/components/ExploreType/exploreUtils.js.map +1 -1
  98. package/lib/components/Header/Header.d.ts +5 -4
  99. package/lib/components/Header/Header.js +4 -2
  100. package/lib/components/Header/Header.js.map +1 -1
  101. package/lib/components/Header/index.d.ts +1 -1
  102. package/lib/components/Header/index.js +6 -0
  103. package/lib/components/Header/index.js.map +1 -1
  104. package/lib/components/SelectorContainer/ApiSpecSelector.d.ts +3 -3
  105. package/lib/components/SelectorContainer/ApiSpecSelector.js +3 -1
  106. package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  107. package/lib/components/SelectorContainer/SdkLanguageSelector.d.ts +1 -1
  108. package/lib/components/SelectorContainer/SdkLanguageSelector.js +7 -17
  109. package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  110. package/lib/components/SelectorContainer/SelectorContainer.d.ts +5 -4
  111. package/lib/components/SelectorContainer/SelectorContainer.js +11 -3
  112. package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
  113. package/lib/components/SideNav/SearchMessage.d.ts +2 -2
  114. package/lib/components/SideNav/SearchMessage.js.map +1 -1
  115. package/lib/components/SideNav/SideNav.d.ts +3 -3
  116. package/lib/components/SideNav/SideNav.js +93 -56
  117. package/lib/components/SideNav/SideNav.js.map +1 -1
  118. package/lib/components/SideNav/SideNavMethodTags.d.ts +10 -0
  119. package/lib/components/SideNav/{SideNavTags.js → SideNavMethodTags.js} +6 -6
  120. package/lib/components/SideNav/SideNavMethodTags.js.map +1 -0
  121. package/lib/components/SideNav/SideNavMethods.d.ts +5 -4
  122. package/lib/components/SideNav/SideNavMethods.js +9 -11
  123. package/lib/components/SideNav/SideNavMethods.js.map +1 -1
  124. package/lib/components/SideNav/SideNavTypeTags.d.ts +10 -0
  125. package/lib/components/SideNav/SideNavTypeTags.js +42 -0
  126. package/lib/components/SideNav/SideNavTypeTags.js.map +1 -0
  127. package/lib/components/SideNav/SideNavTypes.d.ts +8 -5
  128. package/lib/components/SideNav/SideNavTypes.js +83 -32
  129. package/lib/components/SideNav/SideNavTypes.js.map +1 -1
  130. package/lib/components/SideNav/searchUtils.d.ts +2 -2
  131. package/lib/components/SideNav/searchUtils.js +1 -1
  132. package/lib/components/SideNav/searchUtils.js.map +1 -1
  133. package/lib/components/common/Loader.d.ts +2 -2
  134. package/lib/components/common/Loader.js.map +1 -1
  135. package/lib/components/common/common.d.ts +2 -2
  136. package/lib/components/common/common.js +2 -1
  137. package/lib/components/common/common.js.map +1 -1
  138. package/lib/components/index.d.ts +4 -2
  139. package/lib/components/index.js +28 -0
  140. package/lib/components/index.js.map +1 -1
  141. package/lib/esm/ApiExplorer.js +94 -77
  142. package/lib/esm/ApiExplorer.js.map +1 -1
  143. package/lib/esm/App.js +19 -0
  144. package/lib/esm/App.js.map +1 -0
  145. package/lib/esm/StandaloneApiExplorer.js +9 -18
  146. package/lib/esm/StandaloneApiExplorer.js.map +1 -1
  147. package/lib/esm/components/DocActivityType/DocActivityType.js.map +1 -1
  148. package/lib/esm/components/DocCode/DocCode.js +5 -8
  149. package/lib/esm/components/DocCode/DocCode.js.map +1 -1
  150. package/lib/esm/components/DocMarkdown/DocMarkdown.js +10 -12
  151. package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
  152. package/lib/esm/components/DocMethodSummary/DocMethodSummary.js +1 -1
  153. package/lib/esm/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
  154. package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js +3 -3
  155. package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
  156. package/lib/esm/components/DocMethodSummary/index.js +1 -0
  157. package/lib/esm/components/DocMethodSummary/index.js.map +1 -1
  158. package/lib/esm/components/DocMethodSummary/utils.js +24 -15
  159. package/lib/esm/components/DocMethodSummary/utils.js.map +1 -1
  160. package/lib/esm/components/DocPseudo/DocParam.js.map +1 -1
  161. package/lib/esm/components/DocPseudo/DocParams.js.map +1 -1
  162. package/lib/esm/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
  163. package/lib/esm/components/DocPseudo/DocPseudo.js.map +1 -1
  164. package/lib/esm/components/DocRateLimited/DocRateLimited.js.map +1 -1
  165. package/lib/esm/components/DocReferences/DocReferences.js +5 -8
  166. package/lib/esm/components/DocReferences/DocReferences.js.map +1 -1
  167. package/lib/esm/components/DocReferences/utils.js +1 -24
  168. package/lib/esm/components/DocReferences/utils.js.map +1 -1
  169. package/lib/esm/components/DocResponses/DocResponseTypes.js +3 -1
  170. package/lib/esm/components/DocResponses/DocResponseTypes.js.map +1 -1
  171. package/lib/esm/components/DocResponses/DocResponses.js +2 -0
  172. package/lib/esm/components/DocResponses/DocResponses.js.map +1 -1
  173. package/lib/esm/components/DocResponses/utils.js.map +1 -1
  174. package/lib/esm/components/DocSDKs/DocDeclarations.js.map +1 -1
  175. package/lib/esm/components/DocSDKs/DocSDKs.js +2 -2
  176. package/lib/esm/components/DocSDKs/DocSDKs.js.map +1 -1
  177. package/lib/esm/components/DocSDKs/utils.js.map +1 -1
  178. package/lib/esm/components/DocSchema/DocSchema.js.map +1 -1
  179. package/lib/esm/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
  180. package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +6 -8
  181. package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
  182. package/lib/esm/components/DocSdkUsage/utils.js.map +1 -1
  183. package/lib/esm/components/DocSource/DocSource.js +4 -5
  184. package/lib/esm/components/DocSource/DocSource.js.map +1 -1
  185. package/lib/esm/components/DocStatus/DocStatus.js.map +1 -1
  186. package/lib/esm/components/DocTitle/DocTitle.js.map +1 -1
  187. package/lib/esm/components/DocTypeSummary/DocTypeSummary.js +38 -0
  188. package/lib/esm/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
  189. package/lib/esm/components/DocTypeSummary/index.js +2 -0
  190. package/lib/{state/action_creators.js.map → esm/components/DocTypeSummary/index.js.map} +1 -1
  191. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js +1 -1
  192. package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
  193. package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +153 -6
  194. package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
  195. package/lib/esm/components/ExploreType/ExploreProperty.js +14 -3
  196. package/lib/esm/components/ExploreType/ExploreProperty.js.map +1 -1
  197. package/lib/esm/components/ExploreType/ExploreType.js +8 -4
  198. package/lib/esm/components/ExploreType/ExploreType.js.map +1 -1
  199. package/lib/esm/components/ExploreType/exploreUtils.js.map +1 -1
  200. package/lib/esm/components/Header/Header.js +2 -1
  201. package/lib/esm/components/Header/Header.js.map +1 -1
  202. package/lib/esm/components/Header/index.js +1 -1
  203. package/lib/esm/components/Header/index.js.map +1 -1
  204. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js +4 -2
  205. package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
  206. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js +7 -12
  207. package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
  208. package/lib/esm/components/SelectorContainer/SelectorContainer.js +11 -3
  209. package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
  210. package/lib/esm/components/SideNav/SearchMessage.js.map +1 -1
  211. package/lib/esm/components/SideNav/SideNav.js +95 -57
  212. package/lib/esm/components/SideNav/SideNav.js.map +1 -1
  213. package/lib/esm/components/SideNav/{SideNavTags.js → SideNavMethodTags.js} +4 -4
  214. package/lib/esm/components/SideNav/SideNavMethodTags.js.map +1 -0
  215. package/lib/esm/components/SideNav/SideNavMethods.js +9 -12
  216. package/lib/esm/components/SideNav/SideNavMethods.js.map +1 -1
  217. package/lib/esm/components/SideNav/SideNavTypeTags.js +29 -0
  218. package/lib/esm/components/SideNav/SideNavTypeTags.js.map +1 -0
  219. package/lib/esm/components/SideNav/SideNavTypes.js +84 -33
  220. package/lib/esm/components/SideNav/SideNavTypes.js.map +1 -1
  221. package/lib/esm/components/SideNav/searchUtils.js +1 -1
  222. package/lib/esm/components/SideNav/searchUtils.js.map +1 -1
  223. package/lib/esm/components/common/Loader.js.map +1 -1
  224. package/lib/esm/components/common/common.js +2 -1
  225. package/lib/esm/components/common/common.js.map +1 -1
  226. package/lib/esm/components/index.js +4 -2
  227. package/lib/esm/components/index.js.map +1 -1
  228. package/lib/esm/index.js +4 -18
  229. package/lib/esm/index.js.map +1 -1
  230. package/lib/esm/reducers/index.js +0 -1
  231. package/lib/esm/reducers/index.js.map +1 -1
  232. package/lib/esm/reducers/spec/actions.js.map +1 -1
  233. package/lib/esm/reducers/spec/reducer.js.map +1 -1
  234. package/lib/esm/reducers/spec/utils.js +7 -1
  235. package/lib/esm/reducers/spec/utils.js.map +1 -1
  236. package/lib/esm/routes/AppRouter.js +13 -15
  237. package/lib/esm/routes/AppRouter.js.map +1 -1
  238. package/lib/esm/scenes/DiffScene/DiffScene.js +65 -11
  239. package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
  240. package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
  241. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +2 -2
  242. package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  243. package/lib/esm/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
  244. package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  245. package/lib/esm/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
  246. package/lib/esm/scenes/DiffScene/diffUtils.js.map +1 -1
  247. package/lib/esm/scenes/HomeScene/HomeScene.js.map +1 -1
  248. package/lib/esm/scenes/MethodScene/MethodScene.js +41 -23
  249. package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
  250. package/lib/esm/scenes/MethodScene/components/DocOperation.js.map +1 -1
  251. package/lib/esm/scenes/MethodScene/components/DocRequestBody.js +3 -1
  252. package/lib/esm/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
  253. package/lib/esm/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +16 -11
  254. package/lib/esm/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
  255. package/lib/esm/scenes/MethodTagScene/index.js +2 -0
  256. package/lib/{state/reducers.js.map → esm/scenes/MethodTagScene/index.js.map} +1 -1
  257. package/lib/esm/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
  258. package/lib/esm/scenes/MethodTagScene/utils.js.map +1 -0
  259. package/lib/esm/scenes/TypeScene/TypeScene.js +14 -7
  260. package/lib/esm/scenes/TypeScene/TypeScene.js.map +1 -1
  261. package/lib/esm/scenes/TypeTagScene/TypeTagScene.js +57 -0
  262. package/lib/esm/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
  263. package/lib/esm/scenes/TypeTagScene/index.js +2 -0
  264. package/lib/esm/scenes/TypeTagScene/index.js.map +1 -0
  265. package/lib/esm/scenes/TypeTagScene/utils.js +8 -0
  266. package/lib/esm/scenes/TypeTagScene/utils.js.map +1 -0
  267. package/lib/esm/scenes/index.js +2 -1
  268. package/lib/esm/scenes/index.js.map +1 -1
  269. package/lib/esm/state/index.js +2 -3
  270. package/lib/esm/state/index.js.map +1 -1
  271. package/lib/esm/state/lodes/index.js +3 -0
  272. package/lib/esm/state/lodes/index.js.map +1 -0
  273. package/lib/esm/state/lodes/sagas.js +25 -0
  274. package/lib/esm/state/lodes/sagas.js.map +1 -0
  275. package/lib/esm/state/lodes/selectors.js +5 -0
  276. package/lib/esm/state/lodes/selectors.js.map +1 -0
  277. package/lib/esm/state/lodes/slice.js +30 -0
  278. package/lib/esm/state/lodes/slice.js.map +1 -0
  279. package/lib/esm/state/settings/index.js +1 -1
  280. package/lib/esm/state/settings/index.js.map +1 -1
  281. package/lib/esm/state/settings/sagas.js +59 -0
  282. package/lib/esm/state/settings/sagas.js.map +1 -0
  283. package/lib/esm/state/settings/selectors.js +6 -1
  284. package/lib/esm/state/settings/selectors.js.map +1 -1
  285. package/lib/esm/state/settings/slice.js +50 -0
  286. package/lib/esm/state/settings/slice.js.map +1 -0
  287. package/lib/esm/state/store.js +13 -3
  288. package/lib/esm/state/store.js.map +1 -1
  289. package/lib/esm/test-utils/index.js +3 -4
  290. package/lib/esm/test-utils/index.js.map +1 -1
  291. package/lib/esm/test-utils/lodes.js +12 -0
  292. package/lib/esm/test-utils/lodes.js.map +1 -0
  293. package/lib/esm/test-utils/redux.js +30 -15
  294. package/lib/esm/test-utils/redux.js.map +1 -1
  295. package/lib/esm/test-utils/router.js.map +1 -1
  296. package/lib/esm/utils/index.js +1 -2
  297. package/lib/esm/utils/index.js.map +1 -1
  298. package/lib/esm/utils/lodeUtils.js +3 -7
  299. package/lib/esm/utils/lodeUtils.js.map +1 -1
  300. package/lib/esm/utils/path.js +32 -1
  301. package/lib/esm/utils/path.js.map +1 -1
  302. package/lib/index.d.ts +4 -1
  303. package/lib/index.js +52 -23
  304. package/lib/index.js.map +1 -1
  305. package/lib/reducers/index.d.ts +0 -1
  306. package/lib/reducers/index.js +0 -13
  307. package/lib/reducers/index.js.map +1 -1
  308. package/lib/reducers/spec/actions.d.ts +1 -1
  309. package/lib/reducers/spec/actions.js.map +1 -1
  310. package/lib/reducers/spec/reducer.d.ts +2 -2
  311. package/lib/reducers/spec/reducer.js.map +1 -1
  312. package/lib/reducers/spec/utils.d.ts +3 -3
  313. package/lib/reducers/spec/utils.js +7 -1
  314. package/lib/reducers/spec/utils.js.map +1 -1
  315. package/lib/routes/AppRouter.d.ts +5 -5
  316. package/lib/routes/AppRouter.js +12 -17
  317. package/lib/routes/AppRouter.js.map +1 -1
  318. package/lib/scenes/DiffScene/DiffScene.d.ts +2 -2
  319. package/lib/scenes/DiffScene/DiffScene.js +65 -11
  320. package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
  321. package/lib/scenes/DiffScene/DocDiff/DiffBanner.d.ts +2 -2
  322. package/lib/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
  323. package/lib/scenes/DiffScene/DocDiff/DiffItem.d.ts +3 -3
  324. package/lib/scenes/DiffScene/DocDiff/DiffItem.js +1 -1
  325. package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
  326. package/lib/scenes/DiffScene/DocDiff/DiffLegend.d.ts +2 -2
  327. package/lib/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
  328. package/lib/scenes/DiffScene/DocDiff/DocDiff.d.ts +2 -2
  329. package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
  330. package/lib/scenes/DiffScene/DocDiff/docDiffUtils.d.ts +1 -1
  331. package/lib/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
  332. package/lib/scenes/DiffScene/diffUtils.d.ts +1 -1
  333. package/lib/scenes/DiffScene/diffUtils.js.map +1 -1
  334. package/lib/scenes/HomeScene/HomeScene.d.ts +2 -2
  335. package/lib/scenes/HomeScene/HomeScene.js.map +1 -1
  336. package/lib/scenes/MethodScene/MethodScene.d.ts +5 -5
  337. package/lib/scenes/MethodScene/MethodScene.js +37 -20
  338. package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
  339. package/lib/scenes/MethodScene/components/DocOperation.d.ts +2 -2
  340. package/lib/scenes/MethodScene/components/DocOperation.js.map +1 -1
  341. package/lib/scenes/MethodScene/components/DocRequestBody.d.ts +3 -2
  342. package/lib/scenes/MethodScene/components/DocRequestBody.js +3 -1
  343. package/lib/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
  344. package/lib/scenes/MethodTagScene/MethodTagScene.d.ts +7 -0
  345. package/lib/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +19 -14
  346. package/lib/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
  347. package/lib/scenes/MethodTagScene/index.d.ts +1 -0
  348. package/lib/scenes/MethodTagScene/index.js +14 -0
  349. package/lib/{context/search/SearchContext.js.map → scenes/MethodTagScene/index.js.map} +1 -1
  350. package/lib/scenes/{TagScene → MethodTagScene}/utils.d.ts +1 -1
  351. package/lib/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
  352. package/lib/{context/lode/index.js.map → scenes/MethodTagScene/utils.js.map} +1 -1
  353. package/lib/scenes/TypeScene/TypeScene.d.ts +2 -2
  354. package/lib/scenes/TypeScene/TypeScene.js +16 -7
  355. package/lib/scenes/TypeScene/TypeScene.js.map +1 -1
  356. package/lib/scenes/TypeTagScene/TypeTagScene.d.ts +7 -0
  357. package/lib/scenes/TypeTagScene/TypeTagScene.js +76 -0
  358. package/lib/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
  359. package/lib/scenes/TypeTagScene/index.d.ts +1 -0
  360. package/lib/scenes/TypeTagScene/index.js +14 -0
  361. package/lib/{esm/state/settings/actions.js.map → scenes/TypeTagScene/index.js.map} +1 -1
  362. package/lib/scenes/TypeTagScene/utils.d.ts +2 -0
  363. package/lib/scenes/TypeTagScene/utils.js +17 -0
  364. package/lib/scenes/TypeTagScene/utils.js.map +1 -0
  365. package/lib/scenes/index.d.ts +2 -1
  366. package/lib/scenes/index.js +11 -3
  367. package/lib/scenes/index.js.map +1 -1
  368. package/lib/state/index.d.ts +2 -2
  369. package/lib/state/index.js +15 -16
  370. package/lib/state/index.js.map +1 -1
  371. package/lib/state/lodes/index.d.ts +2 -0
  372. package/lib/{reducers/search → state/lodes}/index.js +8 -8
  373. package/lib/state/lodes/index.js.map +1 -0
  374. package/lib/state/lodes/sagas.d.ts +1 -0
  375. package/lib/state/lodes/sagas.js +34 -0
  376. package/lib/state/lodes/sagas.js.map +1 -0
  377. package/lib/state/lodes/selectors.d.ts +3 -0
  378. package/lib/state/lodes/selectors.js +17 -0
  379. package/lib/state/lodes/selectors.js.map +1 -0
  380. package/lib/state/lodes/slice.d.ts +29 -0
  381. package/lib/state/lodes/slice.js +45 -0
  382. package/lib/state/lodes/slice.js.map +1 -0
  383. package/lib/state/settings/index.d.ts +1 -1
  384. package/lib/state/settings/index.js +8 -8
  385. package/lib/state/settings/index.js.map +1 -1
  386. package/lib/state/settings/sagas.d.ts +1 -0
  387. package/lib/state/settings/sagas.js +69 -0
  388. package/lib/state/settings/sagas.js.map +1 -0
  389. package/lib/state/settings/selectors.d.ts +5 -2
  390. package/lib/state/settings/selectors.js +17 -3
  391. package/lib/state/settings/selectors.js.map +1 -1
  392. package/lib/state/settings/slice.d.ts +42 -0
  393. package/lib/state/settings/slice.js +69 -0
  394. package/lib/state/settings/slice.js.map +1 -0
  395. package/lib/state/store.d.ts +10 -6
  396. package/lib/state/store.js +15 -5
  397. package/lib/state/store.js.map +1 -1
  398. package/lib/test-data/declarations.js +24 -0
  399. package/lib/test-data/declarations.js.map +1 -0
  400. package/lib/test-data/examples.js.map +1 -1
  401. package/lib/test-data/index.js +23 -0
  402. package/lib/test-data/index.js.map +1 -1
  403. package/lib/test-data/specs.js.map +1 -1
  404. package/lib/test-utils/index.d.ts +3 -4
  405. package/lib/test-utils/index.js +33 -56
  406. package/lib/test-utils/index.js.map +1 -1
  407. package/lib/test-utils/lodes.d.ts +4 -0
  408. package/lib/test-utils/lodes.js +23 -0
  409. package/lib/test-utils/lodes.js.map +1 -0
  410. package/lib/test-utils/redux.d.ts +16 -12
  411. package/lib/test-utils/redux.js +36 -17
  412. package/lib/test-utils/redux.js.map +1 -1
  413. package/lib/test-utils/router.d.ts +2 -2
  414. package/lib/test-utils/router.js.map +1 -1
  415. package/lib/utils/highlight.d.ts +1 -0
  416. package/lib/utils/index.d.ts +1 -2
  417. package/lib/utils/index.js +6 -23
  418. package/lib/utils/index.js.map +1 -1
  419. package/lib/utils/lodeUtils.d.ts +3 -3
  420. package/lib/utils/lodeUtils.js +3 -7
  421. package/lib/utils/lodeUtils.js.map +1 -1
  422. package/lib/utils/path.d.ts +3 -1
  423. package/lib/utils/path.js +36 -2
  424. package/lib/utils/path.js.map +1 -1
  425. package/package.json +22 -16
  426. package/public/Looker.3.1.json +1343 -412
  427. package/public/Looker.4.0.json +3305 -661
  428. package/src/ApiExplorer.tsx +158 -99
  429. package/src/{index.tsx → App.tsx} +1 -1
  430. package/src/StandaloneApiExplorer.tsx +13 -25
  431. package/src/components/DocActivityType/DocActivityType.tsx +3 -2
  432. package/src/components/DocCode/DocCode.tsx +7 -6
  433. package/src/components/DocMarkdown/DocMarkdown.spec.tsx +16 -11
  434. package/src/components/DocMarkdown/DocMarkdown.tsx +11 -9
  435. package/src/components/DocMethodSummary/DocMethodSummary.spec.tsx +2 -2
  436. package/src/components/DocMethodSummary/DocMethodSummary.tsx +4 -3
  437. package/src/components/DocMethodSummary/DocSummaryStatus.spec.tsx +5 -5
  438. package/src/components/DocMethodSummary/DocSummaryStatus.tsx +5 -7
  439. package/src/components/DocMethodSummary/index.tsx +1 -0
  440. package/src/components/DocMethodSummary/utils.spec.tsx +7 -7
  441. package/src/components/DocMethodSummary/utils.tsx +17 -23
  442. package/src/components/DocPseudo/DocParam.tsx +3 -2
  443. package/src/components/DocPseudo/DocParams.tsx +3 -2
  444. package/src/components/DocPseudo/DocPrimaryResponse.tsx +3 -2
  445. package/src/components/DocPseudo/DocPseudo.tsx +3 -2
  446. package/src/components/DocRateLimited/DocRateLimited.tsx +3 -2
  447. package/src/components/DocReferences/DocReferences.spec.tsx +19 -8
  448. package/src/components/DocReferences/DocReferences.tsx +10 -10
  449. package/src/components/DocReferences/utils.spec.tsx +1 -13
  450. package/src/components/DocReferences/utils.tsx +2 -36
  451. package/src/components/DocResponses/DocResponseTypes.tsx +15 -4
  452. package/src/components/DocResponses/DocResponses.spec.tsx +1 -1
  453. package/src/components/DocResponses/DocResponses.tsx +6 -4
  454. package/src/components/DocResponses/utils.ts +1 -1
  455. package/src/components/DocSDKs/DocDeclarations.tsx +3 -2
  456. package/src/components/DocSDKs/DocSDKs.spec.tsx +12 -5
  457. package/src/components/DocSDKs/DocSDKs.tsx +6 -5
  458. package/src/components/DocSDKs/utils.ts +1 -1
  459. package/src/components/DocSchema/DocSchema.tsx +2 -1
  460. package/src/components/DocSdkUsage/DocSdkExampleCell.tsx +2 -1
  461. package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +2 -2
  462. package/src/components/DocSdkUsage/DocSdkUsage.tsx +9 -7
  463. package/src/components/DocSdkUsage/utils.ts +4 -2
  464. package/src/components/DocSource/DocSource.spec.tsx +2 -1
  465. package/src/components/DocSource/DocSource.tsx +7 -4
  466. package/src/components/DocStatus/DocStatus.spec.tsx +1 -1
  467. package/src/components/DocStatus/DocStatus.tsx +3 -2
  468. package/src/components/DocTitle/DocTitle.tsx +2 -1
  469. package/src/{state/settings/reducer.spec.ts → components/DocTypeSummary/DocTypeSummary.spec.tsx} +15 -14
  470. package/src/components/DocTypeSummary/DocTypeSummary.tsx +64 -0
  471. package/src/{state/action_creators.ts → components/DocTypeSummary/index.tsx} +1 -1
  472. package/src/components/ErrorBoundary/ErrorBoundary.spec.tsx +11 -9
  473. package/src/components/ErrorBoundary/ErrorBoundary.tsx +1 -1
  474. package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +6 -5
  475. package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +170 -6
  476. package/src/components/ExploreType/ExploreProperty.spec.tsx +15 -6
  477. package/src/components/ExploreType/ExploreProperty.tsx +26 -12
  478. package/src/components/ExploreType/ExploreType.spec.tsx +15 -31
  479. package/src/components/ExploreType/ExploreType.tsx +13 -6
  480. package/src/components/ExploreType/exploreUtils.tsx +3 -2
  481. package/src/components/Header/Header.spec.tsx +29 -37
  482. package/src/components/Header/Header.tsx +7 -4
  483. package/src/components/Header/index.ts +1 -1
  484. package/src/components/SelectorContainer/ApiSpecSelector.spec.tsx +12 -2
  485. package/src/components/SelectorContainer/ApiSpecSelector.tsx +9 -5
  486. package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +13 -7
  487. package/src/components/SelectorContainer/SdkLanguageSelector.tsx +7 -14
  488. package/src/components/SelectorContainer/SelectorContainer.spec.tsx +19 -25
  489. package/src/components/SelectorContainer/SelectorContainer.tsx +8 -5
  490. package/src/components/SideNav/SearchMessage.tsx +3 -2
  491. package/src/components/SideNav/SideNav.spec.tsx +28 -39
  492. package/src/components/SideNav/SideNav.tsx +102 -68
  493. package/src/components/SideNav/{SideNavTags.spec.tsx → SideNavMethodTags.spec.tsx} +10 -8
  494. package/src/components/SideNav/{SideNavTags.tsx → SideNavMethodTags.tsx} +2 -2
  495. package/src/components/SideNav/SideNavMethods.spec.tsx +9 -5
  496. package/src/components/SideNav/SideNavMethods.tsx +12 -12
  497. package/src/components/SideNav/SideNavTypeTags.spec.tsx +79 -0
  498. package/src/{context/lode/LodeContext.ts → components/SideNav/SideNavTypeTags.tsx} +26 -11
  499. package/src/components/SideNav/SideNavTypes.spec.tsx +13 -6
  500. package/src/components/SideNav/SideNavTypes.tsx +94 -43
  501. package/src/components/SideNav/{searchUtils.tsx → searchUtils.ts} +3 -3
  502. package/src/components/common/Loader.tsx +3 -2
  503. package/src/components/common/common.tsx +5 -3
  504. package/src/components/index.ts +4 -2
  505. package/src/{context/envAdaptor/index.ts → index.ts} +4 -4
  506. package/src/reducers/index.ts +0 -1
  507. package/src/reducers/spec/actions.ts +1 -1
  508. package/src/reducers/spec/reducer.spec.ts +2 -1
  509. package/src/reducers/spec/reducer.ts +5 -3
  510. package/src/reducers/spec/utils.spec.ts +1 -1
  511. package/src/reducers/spec/utils.ts +9 -4
  512. package/src/routes/AppRouter.tsx +22 -17
  513. package/src/scenes/DiffScene/DiffScene.tsx +44 -13
  514. package/src/scenes/DiffScene/DocDiff/DiffBanner.tsx +3 -2
  515. package/src/scenes/DiffScene/DocDiff/DiffItem.spec.tsx +2 -1
  516. package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +6 -5
  517. package/src/scenes/DiffScene/DocDiff/DiffLegend.tsx +3 -2
  518. package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +3 -2
  519. package/src/scenes/DiffScene/DocDiff/docDiffUtils.tsx +2 -7
  520. package/src/scenes/DiffScene/diffUtils.spec.ts +2 -1
  521. package/src/scenes/DiffScene/diffUtils.ts +2 -2
  522. package/src/scenes/HomeScene/HomeScene.tsx +3 -2
  523. package/src/scenes/MethodScene/MethodScene.tsx +66 -43
  524. package/src/scenes/MethodScene/components/DocOperation.tsx +3 -2
  525. package/src/scenes/MethodScene/components/DocRequestBody.spec.tsx +2 -2
  526. package/src/scenes/MethodScene/components/DocRequestBody.tsx +6 -3
  527. package/src/scenes/{TagScene/TagScene.spec.tsx → MethodTagScene/MethodTagScene.spec.tsx} +5 -5
  528. package/src/scenes/{TagScene/TagScene.tsx → MethodTagScene/MethodTagScene.tsx} +23 -16
  529. package/src/{hooks → scenes/MethodTagScene}/index.ts +1 -1
  530. package/src/scenes/{TagScene → MethodTagScene}/utils.spec.ts +1 -1
  531. package/src/scenes/{TagScene → MethodTagScene}/utils.ts +1 -1
  532. package/src/scenes/TypeScene/TypeScene.tsx +36 -24
  533. package/src/scenes/TypeTagScene/TypeTagScene.spec.tsx +103 -0
  534. package/src/scenes/TypeTagScene/TypeTagScene.tsx +93 -0
  535. package/src/scenes/{TagScene → TypeTagScene}/index.ts +1 -1
  536. package/src/{state/reducers.ts → scenes/TypeTagScene/utils.spec.ts} +8 -7
  537. package/src/{hooks/use_actions_hook.ts → scenes/TypeTagScene/utils.ts} +13 -10
  538. package/src/scenes/index.ts +2 -1
  539. package/src/state/index.ts +2 -2
  540. package/src/{reducers/search → state/lodes}/index.ts +2 -2
  541. package/src/state/lodes/sagas.spec.ts +92 -0
  542. package/src/state/{settings/reducer.ts → lodes/sagas.ts} +23 -21
  543. package/src/state/{settings/action_creators.spec.ts → lodes/selectors.spec.ts} +15 -10
  544. package/src/state/{settings/actions.ts → lodes/selectors.ts} +7 -9
  545. package/src/state/lodes/slice.ts +69 -0
  546. package/src/state/settings/index.ts +1 -1
  547. package/src/state/settings/sagas.spec.ts +121 -0
  548. package/src/state/settings/sagas.ts +79 -0
  549. package/src/state/settings/selectors.spec.ts +16 -9
  550. package/src/state/settings/selectors.ts +14 -3
  551. package/src/state/settings/slice.ts +94 -0
  552. package/src/state/store.ts +22 -8
  553. package/src/{reducers/search/actions.ts → test-data/declarations.ts} +16 -15
  554. package/src/test-data/examples.ts +1 -1
  555. package/src/test-data/index.ts +1 -0
  556. package/src/test-data/specs.ts +2 -1
  557. package/src/test-utils/index.ts +3 -14
  558. package/src/{context/search/SearchContext.ts → test-utils/lodes.tsx} +15 -16
  559. package/src/test-utils/redux.tsx +46 -26
  560. package/src/test-utils/router.tsx +3 -2
  561. package/src/utils/index.ts +7 -2
  562. package/src/utils/lodeUtils.ts +5 -7
  563. package/src/utils/path.spec.ts +17 -3
  564. package/src/utils/path.ts +54 -4
  565. package/webpack.dev.config.js +3 -0
  566. package/webpack.prod.config.js +4 -0
  567. package/lib/components/SideNav/SearchCriteriaSelector.d.ts +0 -2
  568. package/lib/components/SideNav/SearchCriteriaSelector.js +0 -57
  569. package/lib/components/SideNav/SearchCriteriaSelector.js.map +0 -1
  570. package/lib/components/SideNav/SideNavTags.d.ts +0 -9
  571. package/lib/components/SideNav/SideNavTags.js.map +0 -1
  572. package/lib/context/envAdaptor/EnvAdaptorContext.d.ts +0 -7
  573. package/lib/context/envAdaptor/EnvAdaptorContext.js +0 -18
  574. package/lib/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
  575. package/lib/context/envAdaptor/index.d.ts +0 -1
  576. package/lib/context/envAdaptor/index.js +0 -20
  577. package/lib/context/envAdaptor/index.js.map +0 -1
  578. package/lib/context/index.d.ts +0 -3
  579. package/lib/context/index.js +0 -48
  580. package/lib/context/index.js.map +0 -1
  581. package/lib/context/lode/LodeContext.d.ts +0 -9
  582. package/lib/context/lode/LodeContext.js +0 -21
  583. package/lib/context/lode/LodeContext.js.map +0 -1
  584. package/lib/context/lode/index.d.ts +0 -1
  585. package/lib/context/lode/index.js +0 -20
  586. package/lib/context/search/SearchContext.d.ts +0 -9
  587. package/lib/context/search/SearchContext.js +0 -19
  588. package/lib/context/search/index.d.ts +0 -1
  589. package/lib/context/search/index.js +0 -20
  590. package/lib/context/search/index.js.map +0 -1
  591. package/lib/esm/components/SideNav/SearchCriteriaSelector.js +0 -38
  592. package/lib/esm/components/SideNav/SearchCriteriaSelector.js.map +0 -1
  593. package/lib/esm/components/SideNav/SideNavTags.js.map +0 -1
  594. package/lib/esm/context/envAdaptor/EnvAdaptorContext.js +0 -7
  595. package/lib/esm/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
  596. package/lib/esm/context/envAdaptor/index.js +0 -2
  597. package/lib/esm/context/envAdaptor/index.js.map +0 -1
  598. package/lib/esm/context/index.js +0 -4
  599. package/lib/esm/context/index.js.map +0 -1
  600. package/lib/esm/context/lode/LodeContext.js +0 -11
  601. package/lib/esm/context/lode/LodeContext.js.map +0 -1
  602. package/lib/esm/context/lode/index.js +0 -2
  603. package/lib/esm/context/lode/index.js.map +0 -1
  604. package/lib/esm/context/search/SearchContext.js +0 -8
  605. package/lib/esm/context/search/SearchContext.js.map +0 -1
  606. package/lib/esm/context/search/index.js +0 -2
  607. package/lib/esm/context/search/index.js.map +0 -1
  608. package/lib/esm/hooks/index.js +0 -2
  609. package/lib/esm/hooks/index.js.map +0 -1
  610. package/lib/esm/hooks/use_actions_hook.js +0 -11
  611. package/lib/esm/hooks/use_actions_hook.js.map +0 -1
  612. package/lib/esm/reducers/search/actions.js +0 -13
  613. package/lib/esm/reducers/search/actions.js.map +0 -1
  614. package/lib/esm/reducers/search/index.js +0 -3
  615. package/lib/esm/reducers/search/index.js.map +0 -1
  616. package/lib/esm/reducers/search/reducer.js +0 -31
  617. package/lib/esm/reducers/search/reducer.js.map +0 -1
  618. package/lib/esm/scenes/MethodScene/utils.js +0 -72
  619. package/lib/esm/scenes/MethodScene/utils.js.map +0 -1
  620. package/lib/esm/scenes/TagScene/TagScene.js.map +0 -1
  621. package/lib/esm/scenes/TagScene/index.js +0 -2
  622. package/lib/esm/scenes/TagScene/index.js.map +0 -1
  623. package/lib/esm/scenes/TagScene/utils.js.map +0 -1
  624. package/lib/esm/state/action_creators.js +0 -2
  625. package/lib/esm/state/action_creators.js.map +0 -1
  626. package/lib/esm/state/reducers.js +0 -6
  627. package/lib/esm/state/reducers.js.map +0 -1
  628. package/lib/esm/state/settings/action_creators.js +0 -6
  629. package/lib/esm/state/settings/action_creators.js.map +0 -1
  630. package/lib/esm/state/settings/actions.js +0 -6
  631. package/lib/esm/state/settings/reducer.js +0 -19
  632. package/lib/esm/state/settings/reducer.js.map +0 -1
  633. package/lib/esm/test-utils/render_with_lode.js +0 -19
  634. package/lib/esm/test-utils/render_with_lode.js.map +0 -1
  635. package/lib/esm/test-utils/render_with_search.js +0 -34
  636. package/lib/esm/test-utils/render_with_search.js.map +0 -1
  637. package/lib/esm/utils/envAdaptor.js +0 -68
  638. package/lib/esm/utils/envAdaptor.js.map +0 -1
  639. package/lib/hooks/index.d.ts +0 -1
  640. package/lib/hooks/index.js +0 -14
  641. package/lib/hooks/index.js.map +0 -1
  642. package/lib/hooks/use_actions_hook.d.ts +0 -2
  643. package/lib/hooks/use_actions_hook.js +0 -24
  644. package/lib/hooks/use_actions_hook.js.map +0 -1
  645. package/lib/reducers/search/actions.d.ts +0 -4
  646. package/lib/reducers/search/actions.js +0 -25
  647. package/lib/reducers/search/actions.js.map +0 -1
  648. package/lib/reducers/search/index.d.ts +0 -2
  649. package/lib/reducers/search/index.js.map +0 -1
  650. package/lib/reducers/search/reducer.d.ts +0 -11
  651. package/lib/reducers/search/reducer.js +0 -43
  652. package/lib/reducers/search/reducer.js.map +0 -1
  653. package/lib/scenes/MethodScene/utils.d.ts +0 -3
  654. package/lib/scenes/MethodScene/utils.js +0 -81
  655. package/lib/scenes/MethodScene/utils.js.map +0 -1
  656. package/lib/scenes/TagScene/TagScene.d.ts +0 -7
  657. package/lib/scenes/TagScene/TagScene.js.map +0 -1
  658. package/lib/scenes/TagScene/index.d.ts +0 -1
  659. package/lib/scenes/TagScene/index.js +0 -14
  660. package/lib/scenes/TagScene/index.js.map +0 -1
  661. package/lib/scenes/TagScene/utils.js.map +0 -1
  662. package/lib/state/action_creators.d.ts +0 -1
  663. package/lib/state/action_creators.js +0 -19
  664. package/lib/state/reducers.d.ts +0 -4
  665. package/lib/state/reducers.js +0 -16
  666. package/lib/state/settings/action_creators.d.ts +0 -2
  667. package/lib/state/settings/action_creators.js +0 -16
  668. package/lib/state/settings/action_creators.js.map +0 -1
  669. package/lib/state/settings/actions.d.ts +0 -8
  670. package/lib/state/settings/actions.js +0 -13
  671. package/lib/state/settings/actions.js.map +0 -1
  672. package/lib/state/settings/reducer.d.ts +0 -6
  673. package/lib/state/settings/reducer.js +0 -31
  674. package/lib/state/settings/reducer.js.map +0 -1
  675. package/lib/test-utils/render_with_lode.d.ts +0 -9
  676. package/lib/test-utils/render_with_lode.js +0 -36
  677. package/lib/test-utils/render_with_lode.js.map +0 -1
  678. package/lib/test-utils/render_with_search.d.ts +0 -4
  679. package/lib/test-utils/render_with_search.js +0 -52
  680. package/lib/test-utils/render_with_search.js.map +0 -1
  681. package/lib/utils/envAdaptor.d.ts +0 -27
  682. package/lib/utils/envAdaptor.js +0 -81
  683. package/lib/utils/envAdaptor.js.map +0 -1
  684. package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/somethingWentWrong.svg +0 -45
  685. package/src/components/SideNav/SearchCriteriaSelector.tsx +0 -75
  686. package/src/context/envAdaptor/EnvAdaptorContext.ts +0 -38
  687. package/src/context/index.ts +0 -28
  688. package/src/context/lode/index.ts +0 -26
  689. package/src/context/search/index.ts +0 -26
  690. package/src/reducers/search/actions.spec.ts +0 -50
  691. package/src/reducers/search/reducer.spec.ts +0 -72
  692. package/src/reducers/search/reducer.ts +0 -66
  693. package/src/scenes/MethodScene/utils.spec.ts +0 -95
  694. package/src/scenes/MethodScene/utils.ts +0 -121
  695. package/src/state/settings/action_creators.ts +0 -33
  696. package/src/test-utils/render_with_lode.tsx +0 -74
  697. package/src/test-utils/render_with_search.tsx +0 -69
  698. package/src/utils/envAdaptor.spec.ts +0 -53
  699. package/src/utils/envAdaptor.ts +0 -120
@@ -29,7 +29,7 @@ import { codeGenerators } from '@looker/sdk-codegen'
29
29
  import userEvent from '@testing-library/user-event'
30
30
 
31
31
  import { specs, specState } from '../../test-data'
32
- import { renderWithRouter, withReduxProvider } from '../../test-utils'
32
+ import { renderWithRouterAndReduxProvider } from '../../test-utils'
33
33
  import { defaultSettingsState } from '../../state'
34
34
  import { SelectorContainer } from './SelectorContainer'
35
35
 
@@ -41,14 +41,12 @@ describe('SelectorContainer', () => {
41
41
  })
42
42
 
43
43
  test('it renders a spec selector with the correct default value and options', async () => {
44
- renderWithRouter(
45
- withReduxProvider(
46
- <SelectorContainer
47
- specs={specs}
48
- spec={specState.spec}
49
- specDispatch={specDispatch}
50
- />
51
- )
44
+ renderWithRouterAndReduxProvider(
45
+ <SelectorContainer
46
+ specs={specs}
47
+ spec={specState.spec}
48
+ specDispatch={specDispatch}
49
+ />
52
50
  )
53
51
  const selector = screen.getByLabelText('spec selector')
54
52
  expect(selector).toHaveValue(`${specState.spec.key}`)
@@ -63,14 +61,12 @@ describe('SelectorContainer', () => {
63
61
  })
64
62
 
65
63
  test('it renders an sdk language selector with the correct value and options', async () => {
66
- renderWithRouter(
67
- withReduxProvider(
68
- <SelectorContainer
69
- specs={specs}
70
- spec={specState.spec}
71
- specDispatch={specDispatch}
72
- />
73
- )
64
+ renderWithRouterAndReduxProvider(
65
+ <SelectorContainer
66
+ specs={specs}
67
+ spec={specState.spec}
68
+ specDispatch={specDispatch}
69
+ />
74
70
  )
75
71
  const selector = screen.getByLabelText('sdk language selector')
76
72
  expect(selector).toHaveValue(defaultSettingsState.sdkLanguage)
@@ -85,14 +81,12 @@ describe('SelectorContainer', () => {
85
81
  })
86
82
 
87
83
  test('it renders an icon button for the differ', () => {
88
- renderWithRouter(
89
- withReduxProvider(
90
- <SelectorContainer
91
- specs={specs}
92
- spec={specState.spec}
93
- specDispatch={specDispatch}
94
- />
95
- )
84
+ renderWithRouterAndReduxProvider(
85
+ <SelectorContainer
86
+ specs={specs}
87
+ spec={specState.spec}
88
+ specDispatch={specDispatch}
89
+ />
96
90
  )
97
91
  expect(
98
92
  screen
@@ -24,17 +24,19 @@
24
24
 
25
25
  */
26
26
 
27
- import React, { FC, Dispatch } from 'react'
27
+ import type { FC, Dispatch } from 'react'
28
+ import React from 'react'
29
+ import type { SpaceHelperProps } from '@looker/components'
28
30
  import { Space, IconButton } from '@looker/components'
29
31
  import { ChangeHistory } from '@styled-icons/material/ChangeHistory'
30
- import { SpecList, SpecItem } from '@looker/sdk-codegen'
32
+ import type { SpecList, SpecItem } from '@looker/sdk-codegen'
31
33
  import { Link } from '../Link'
32
- import { SpecAction } from '../../reducers'
34
+ import type { SpecAction } from '../../reducers'
33
35
  import { diffPath } from '../../utils'
34
36
  import { SdkLanguageSelector } from './SdkLanguageSelector'
35
37
  import { ApiSpecSelector } from './ApiSpecSelector'
36
38
 
37
- interface SelectorContainerProps {
39
+ interface SelectorContainerProps extends SpaceHelperProps {
38
40
  /** Specs to choose from */
39
41
  specs: SpecList
40
42
  /** Current selected spec */
@@ -52,8 +54,9 @@ export const SelectorContainer: FC<SelectorContainerProps> = ({
52
54
  specs,
53
55
  spec,
54
56
  specDispatch,
57
+ ...spaceProps
55
58
  }) => (
56
- <Space width="auto">
59
+ <Space width="auto" {...spaceProps}>
57
60
  <SdkLanguageSelector />
58
61
  <ApiSpecSelector specs={specs} spec={spec} specDispatch={specDispatch} />
59
62
  <Link to={`/${diffPath}/${spec.key}/`}>
@@ -23,8 +23,9 @@
23
23
  SOFTWARE.
24
24
 
25
25
  */
26
- import React, { FC } from 'react'
27
- import { ISearchResult } from '@looker/sdk-codegen'
26
+ import type { FC } from 'react'
27
+ import React from 'react'
28
+ import type { ISearchResult } from '@looker/sdk-codegen'
28
29
  import { Heading, Icon, Flex } from '@looker/components'
29
30
  import { Error } from '@styled-icons/material/Error'
30
31
 
@@ -24,13 +24,13 @@
24
24
 
25
25
  */
26
26
  import React from 'react'
27
- import { CriteriaToSet } from '@looker/sdk-codegen'
27
+ import { criteriaToSet } from '@looker/sdk-codegen'
28
28
  import userEvent from '@testing-library/user-event'
29
- import { act, screen, waitFor } from '@testing-library/react'
29
+ import { screen, waitFor } from '@testing-library/react'
30
30
 
31
31
  import { getLoadedSpecs, specState } from '../../test-data'
32
- import { renderWithRouter, renderWithSearchAndRouter } from '../../test-utils'
33
- import { defaultSearchState } from '../../reducers'
32
+ import { renderWithRouterAndReduxProvider } from '../../test-utils'
33
+ import { defaultSettingsState } from '../../state'
34
34
  import { SideNav } from './SideNav'
35
35
  import { countMethods, countTypes } from './searchUtils'
36
36
 
@@ -55,7 +55,7 @@ describe('SideNav', () => {
55
55
  })
56
56
 
57
57
  test('it renders search, methods tab and types tab', () => {
58
- renderWithRouter(
58
+ renderWithRouterAndReduxProvider(
59
59
  <SideNav
60
60
  specs={specs}
61
61
  spec={specState.spec}
@@ -78,12 +78,13 @@ describe('SideNav', () => {
78
78
  })
79
79
 
80
80
  test('Methods tab is the default active tab', () => {
81
- renderWithRouter(
81
+ renderWithRouterAndReduxProvider(
82
82
  <SideNav
83
83
  specs={specs}
84
84
  spec={specState.spec}
85
85
  specDispatch={specDispatch}
86
- />
86
+ />,
87
+ ['/3.1/methods']
87
88
  )
88
89
  expect(screen.getAllByText(allTagsPattern)).toHaveLength(2)
89
90
  expect(
@@ -92,15 +93,11 @@ describe('SideNav', () => {
92
93
 
93
94
  userEvent.click(screen.getByRole('tab', { name: /^Types \(\d+\)$/ }))
94
95
 
95
- // eslint-disable-next-line jest-dom/prefer-in-document
96
- expect(screen.queryAllByText(allTagsPattern)).toHaveLength(0)
97
- expect(screen.getAllByRole('link', { name: allTypesPattern })).toHaveLength(
98
- 2
99
- )
96
+ expect(screen.queryAllByText(allTagsPattern)).toHaveLength(2)
100
97
  })
101
98
 
102
99
  test('url determines active tab', () => {
103
- renderWithRouter(
100
+ renderWithRouterAndReduxProvider(
104
101
  <SideNav
105
102
  specs={specs}
106
103
  spec={specState.spec}
@@ -109,10 +106,7 @@ describe('SideNav', () => {
109
106
  ['/3.1/types']
110
107
  )
111
108
  // eslint-disable-next-line jest-dom/prefer-in-document
112
- expect(screen.queryAllByText(allTagsPattern)).toHaveLength(0)
113
- expect(screen.getAllByRole('link', { name: allTypesPattern })).toHaveLength(
114
- 2
115
- )
109
+ expect(screen.queryAllByText(allTagsPattern)).toHaveLength(2)
116
110
  })
117
111
  })
118
112
 
@@ -121,7 +115,7 @@ describe('Search', () => {
121
115
  const specDispatch = jest.fn()
122
116
 
123
117
  test('it filters methods and types on input', async () => {
124
- renderWithSearchAndRouter(
118
+ renderWithRouterAndReduxProvider(
125
119
  <SideNav
126
120
  specs={specs}
127
121
  spec={specState.spec}
@@ -131,28 +125,23 @@ describe('Search', () => {
131
125
  const searchPattern = 'embedsso'
132
126
  const input = screen.getByLabelText('Search')
133
127
  jest.spyOn(specState.spec.api!, 'search')
134
- await act(async () => {
135
- /** Pasting to avoid triggering search multiple times */
136
- await userEvent.paste(input, searchPattern)
137
- await waitFor(() => {
138
- expect(specState.spec.api!.search).toHaveBeenCalledWith(
139
- searchPattern,
140
- CriteriaToSet(defaultSearchState.criteria)
128
+ /** Pasting to avoid triggering search multiple times */
129
+ await userEvent.paste(input, searchPattern)
130
+ await waitFor(() => {
131
+ expect(specState.spec.api!.search).toHaveBeenCalledWith(
132
+ searchPattern,
133
+ criteriaToSet(defaultSettingsState.searchCriteria)
134
+ )
135
+ const methods = screen.getByRole('tab', { name: 'Methods (1)' })
136
+ userEvent.click(methods)
137
+ expect(
138
+ screen.getByText(
139
+ specState.spec.api!.tags.Auth.create_sso_embed_url.summary
141
140
  )
142
- const methods = screen.getByRole('tab', { name: 'Methods (1)' })
143
- const types = screen.getByRole('tab', { name: 'Types (1)' })
144
- userEvent.click(methods)
145
- expect(
146
- screen.getByText(
147
- specState.spec.api!.tags.Auth.create_sso_embed_url.summary
148
- )
149
- ).toBeInTheDocument()
150
-
151
- userEvent.click(types)
152
- expect(
153
- screen.getByText(specState.spec.api!.types.EmbedSsoParams.name)
154
- ).toBeInTheDocument()
155
- })
141
+ ).toBeInTheDocument()
142
+ const types = screen.getByRole('tab', { name: 'Types (1)' })
143
+ userEvent.click(types)
144
+ expect(screen.getByText('EmbedSso')).toBeInTheDocument()
156
145
  })
157
146
  })
158
147
  })
@@ -24,36 +24,45 @@
24
24
 
25
25
  */
26
26
 
27
- import React, { FC, useContext, useEffect, useState, Dispatch } from 'react'
27
+ import type { FC, Dispatch } from 'react'
28
+ import React, { useEffect, useState } from 'react'
29
+ import { useHistory, useLocation } from 'react-router-dom'
28
30
  import {
29
- Heading,
30
31
  TabList,
31
32
  Tab,
32
33
  TabPanel,
33
34
  TabPanels,
34
35
  useTabs,
35
36
  InputSearch,
36
- SpaceVertical,
37
37
  } from '@looker/components'
38
- import {
38
+ import type {
39
39
  SpecItem,
40
40
  SpecList,
41
- CriteriaToSet,
42
41
  ISearchResult,
43
42
  ApiModel,
43
+ TagList,
44
+ TypeTagList,
44
45
  } from '@looker/sdk-codegen'
45
- import { useRouteMatch } from 'react-router-dom'
46
+ import { criteriaToSet, tagTypes } from '@looker/sdk-codegen'
47
+ import { useSelector } from 'react-redux'
46
48
 
47
- import { SearchContext } from '../../context'
48
- import { setPattern, SpecAction } from '../../reducers'
49
+ import type { SpecAction } from '../../reducers'
49
50
  import { useWindowSize } from '../../utils'
50
51
  import { HEADER_REM } from '../Header'
51
- import { SelectorContainer } from '../SelectorContainer'
52
- import { SideNavTags } from './SideNavTags'
53
- import { SideNavTypes } from './SideNavTypes'
52
+ import { selectSearchCriteria, useSettingActions } from '../../state'
53
+ import { SideNavMethodTags } from './SideNavMethodTags'
54
+ import { SideNavTypeTags } from './SideNavTypeTags'
54
55
  import { useDebounce, countMethods, countTypes } from './searchUtils'
55
56
  import { SearchMessage } from './SearchMessage'
56
57
 
58
+ interface SideNavState {
59
+ tags: TagList
60
+ typeTags: TypeTagList
61
+ methodCount: number
62
+ typeCount: number
63
+ searchResults?: ISearchResult
64
+ }
65
+
57
66
  interface SideNavProps {
58
67
  headless?: boolean
59
68
  /** Specs to choose from */
@@ -64,34 +73,45 @@ interface SideNavProps {
64
73
  specDispatch: Dispatch<SpecAction>
65
74
  }
66
75
 
67
- interface SideNavParams {
68
- sideNavTab: string
69
- }
70
-
71
- export const SideNav: FC<SideNavProps> = ({
72
- headless = false,
73
- specs,
74
- spec,
75
- specDispatch,
76
- }) => {
77
- const api = spec.api || ({} as ApiModel)
76
+ export const SideNav: FC<SideNavProps> = ({ headless = false, spec }) => {
77
+ const history = useHistory()
78
+ const location = useLocation()
78
79
  const specKey = spec.key
79
80
  const tabNames = ['methods', 'types']
80
- const match = useRouteMatch<SideNavParams>(`/:specKey/:sideNavTab?`)
81
- let defaultIndex = tabNames.indexOf('methods')
82
- if (match && match.params.sideNavTab) {
83
- defaultIndex = tabNames.indexOf(match.params.sideNavTab)
81
+ const pathParts = location.pathname.split('/')
82
+ const sideNavTab = pathParts[1] === 'diff' ? pathParts[3] : pathParts[2]
83
+ let defaultIndex = tabNames.indexOf(sideNavTab)
84
+ if (defaultIndex < 0) {
85
+ defaultIndex = tabNames.indexOf('methods')
86
+ }
87
+ const onTabChange = (index: number) => {
88
+ const parts = location.pathname.split('/')
89
+ if (parts[1] === 'diff') {
90
+ if (parts[3] !== tabNames[index]) {
91
+ parts[3] = tabNames[index]
92
+ history.push(parts.join('/'))
93
+ }
94
+ } else {
95
+ if (parts[2] !== tabNames[index]) {
96
+ parts[2] = tabNames[index]
97
+ history.push(parts.join('/'))
98
+ }
99
+ }
84
100
  }
85
- const tabs = useTabs({ defaultIndex })
86
- const { searchSettings, setSearchSettings } = useContext(SearchContext)
87
- const [pattern, setSearchPattern] = useState(searchSettings.pattern)
101
+ const tabs = useTabs({ defaultIndex, onChange: onTabChange })
102
+ const searchCriteria = useSelector(selectSearchCriteria)
103
+ const { setSearchPatternAction } = useSettingActions()
104
+
105
+ const [pattern, setSearchPattern] = useState('')
88
106
  const debouncedPattern = useDebounce(pattern, 250)
89
- const [searchResults, setSearchResults] = useState<ISearchResult>()
90
- const searchCriteria = CriteriaToSet(searchSettings.criteria)
91
- const [tags, setTags] = useState(api.tags || {})
92
- const [types, setTypes] = useState(api.types || {})
93
- const [methodCount, setMethodCount] = useState(countMethods(tags))
94
- const [typeCount, setTypeCount] = useState(countTypes(types))
107
+ const [sideNavState, setSideNavState] = useState<SideNavState>(() => ({
108
+ tags: spec?.api?.tags || {},
109
+ typeTags: spec?.api?.typeTags || {},
110
+ methodCount: countMethods(spec?.api?.tags || {}),
111
+ typeCount: countTypes(spec?.api?.types || {}),
112
+ searchResults: undefined,
113
+ }))
114
+ const { tags, typeTags, methodCount, typeCount, searchResults } = sideNavState
95
115
 
96
116
  const handleInputChange = (value: string) => {
97
117
  setSearchPattern(value)
@@ -101,22 +121,43 @@ export const SideNav: FC<SideNavProps> = ({
101
121
  let results
102
122
  let newTags
103
123
  let newTypes
104
- if (debouncedPattern) {
105
- results = api.search(pattern, searchCriteria)
124
+ let newTypeTags
125
+ const api = spec.api || ({} as ApiModel)
126
+
127
+ if (debouncedPattern && api.search) {
128
+ results = api.search(pattern, criteriaToSet(searchCriteria))
106
129
  newTags = results.tags
107
130
  newTypes = results.types
131
+ newTypeTags = tagTypes(api, results.types)
108
132
  } else {
109
133
  newTags = api.tags || {}
110
134
  newTypes = api.types || {}
135
+ newTypeTags = api.typeTags || {}
111
136
  }
112
137
 
113
- setTags(newTags)
114
- setTypes(newTypes)
115
- setMethodCount(countMethods(newTags))
116
- setTypeCount(countTypes(newTypes))
117
- setSearchResults(results)
118
- setSearchSettings(setPattern(debouncedPattern!))
119
- }, [debouncedPattern, specKey, spec])
138
+ setSideNavState({
139
+ tags: newTags,
140
+ typeTags: newTypeTags,
141
+ typeCount: countTypes(newTypes),
142
+ methodCount: countMethods(newTags),
143
+ searchResults: results,
144
+ })
145
+ setSearchPatternAction({ searchPattern: debouncedPattern })
146
+ }, [
147
+ debouncedPattern,
148
+ specKey,
149
+ spec,
150
+ setSearchPatternAction,
151
+ pattern,
152
+ searchCriteria,
153
+ ])
154
+
155
+ useEffect(() => {
156
+ const { selectedIndex, onSelectTab } = tabs
157
+ if (defaultIndex !== selectedIndex) {
158
+ onSelectTab(defaultIndex)
159
+ }
160
+ }, [defaultIndex, tabs])
120
161
 
121
162
  const size = useWindowSize()
122
163
  const headlessOffset = headless ? 200 : 120
@@ -124,28 +165,17 @@ export const SideNav: FC<SideNavProps> = ({
124
165
 
125
166
  return (
126
167
  <nav>
127
- <SpaceVertical alignItems="center" p="large" gap="xsmall">
128
- {headless && (
129
- <SpaceVertical>
130
- <Heading as="h5" color="key" fontWeight="bold">
131
- API Documentation
132
- </Heading>
133
- <SelectorContainer
134
- specs={specs}
135
- spec={spec}
136
- specDispatch={specDispatch}
137
- />
138
- </SpaceVertical>
139
- )}
140
- <InputSearch
141
- aria-label="Search"
142
- onChange={handleInputChange}
143
- placeholder="Search"
144
- value={pattern}
145
- isClearable
146
- changeOnSelect
147
- />
148
- </SpaceVertical>
168
+ <InputSearch
169
+ pl="large"
170
+ pr="large"
171
+ pb="large"
172
+ pt={headless ? 'u3' : 'large'}
173
+ aria-label="Search"
174
+ onChange={handleInputChange}
175
+ placeholder="Search"
176
+ value={pattern}
177
+ isClearable
178
+ />
149
179
  <SearchMessage search={searchResults} />
150
180
  <TabList {...tabs} distribute>
151
181
  <Tab>Methods ({methodCount})</Tab>
@@ -153,14 +183,18 @@ export const SideNav: FC<SideNavProps> = ({
153
183
  </TabList>
154
184
  <TabPanels {...tabs} pt="xsmall" height={`${menuH}px`} overflow="auto">
155
185
  <TabPanel>
156
- <SideNavTags
186
+ <SideNavMethodTags
157
187
  tags={tags}
158
188
  specKey={specKey}
159
189
  defaultOpen={!!searchResults}
160
190
  />
161
191
  </TabPanel>
162
192
  <TabPanel>
163
- <SideNavTypes types={types} specKey={specKey} />
193
+ <SideNavTypeTags
194
+ tags={typeTags}
195
+ specKey={specKey}
196
+ defaultOpen={!!searchResults}
197
+ />
164
198
  </TabPanel>
165
199
  </TabPanels>
166
200
  </nav>
@@ -29,13 +29,15 @@ import { screen } from '@testing-library/react'
29
29
  import userEvent from '@testing-library/user-event'
30
30
 
31
31
  import { api } from '../../test-data'
32
- import { renderWithSearchAndRouter } from '../../test-utils'
33
- import { SideNavTags } from './SideNavTags'
32
+ import { renderWithRouterAndReduxProvider } from '../../test-utils'
33
+ import { SideNavMethodTags } from './SideNavMethodTags'
34
34
 
35
35
  describe('SideNavTags', () => {
36
36
  const tags = pick(api.tags, ['ApiAuth', 'Dashboard'])
37
37
  test('it renders a provided tag and its methods', () => {
38
- renderWithSearchAndRouter(<SideNavTags tags={tags} specKey={'3.1'} />)
38
+ renderWithRouterAndReduxProvider(
39
+ <SideNavMethodTags tags={tags} specKey={'3.1'} />
40
+ )
39
41
  const tag = screen.getByText('Dashboard')
40
42
  const tagContent = 'Create Dashboard'
41
43
  expect(screen.queryByText(tagContent)).not.toBeInTheDocument()
@@ -46,7 +48,9 @@ describe('SideNavTags', () => {
46
48
  })
47
49
 
48
50
  test('tags are rendered initially collapsed and expand when clicked', () => {
49
- renderWithSearchAndRouter(<SideNavTags tags={tags} specKey={'3.1'} />)
51
+ renderWithRouterAndReduxProvider(
52
+ <SideNavMethodTags tags={tags} specKey={'3.1'} />
53
+ )
50
54
 
51
55
  const allTags = screen.getAllByText(/ApiAuth|Dashboard/)
52
56
  expect(allTags).toHaveLength(2)
@@ -58,10 +62,8 @@ describe('SideNavTags', () => {
58
62
  })
59
63
 
60
64
  test('tag is expanded if specified in route', () => {
61
- renderWithSearchAndRouter(
62
- <SideNavTags tags={tags} specKey={'3.1'} />,
63
- undefined,
64
- undefined,
65
+ renderWithRouterAndReduxProvider(
66
+ <SideNavMethodTags tags={tags} specKey={'3.1'} />,
65
67
  ['/3.1/methods/Dashboard']
66
68
  )
67
69
 
@@ -26,7 +26,7 @@
26
26
 
27
27
  import React from 'react'
28
28
  import styled from 'styled-components'
29
- import { TagList } from '@looker/sdk-codegen'
29
+ import type { TagList } from '@looker/sdk-codegen'
30
30
  import { SideNavMethods } from './SideNavMethods'
31
31
 
32
32
  interface TagsProps {
@@ -36,7 +36,7 @@ interface TagsProps {
36
36
  className?: string
37
37
  }
38
38
 
39
- export const SideNavTags = styled(
39
+ export const SideNavMethodTags = styled(
40
40
  ({ tags, specKey, className, defaultOpen }: TagsProps) => (
41
41
  <div className={className}>
42
42
  {Object.keys(tags).map((tag) => (
@@ -29,7 +29,10 @@ import userEvent from '@testing-library/user-event'
29
29
  import { screen } from '@testing-library/react'
30
30
 
31
31
  import { api } from '../../test-data'
32
- import { renderWithSearchAndRouter } from '../../test-utils'
32
+ import {
33
+ createTestStore,
34
+ renderWithRouterAndReduxProvider,
35
+ } from '../../test-utils'
33
36
  import { SideNavMethods } from './SideNavMethods'
34
37
 
35
38
  describe('SideNavMethods', () => {
@@ -37,7 +40,7 @@ describe('SideNavMethods', () => {
37
40
  const methods = api.tags[tag]
38
41
 
39
42
  test('it renders provided methods', () => {
40
- renderWithSearchAndRouter(
43
+ renderWithRouterAndReduxProvider(
41
44
  <SideNavMethods methods={methods} tag={tag} specKey={'3.1'} />
42
45
  )
43
46
  userEvent.click(screen.getByText(tag))
@@ -50,14 +53,15 @@ describe('SideNavMethods', () => {
50
53
  })
51
54
 
52
55
  test('it highlights text matching search pattern in both tag and methods', () => {
53
- const highlightPattern = 'dash'
54
- renderWithSearchAndRouter(
56
+ const store = createTestStore({ settings: { searchPattern: 'dash' } })
57
+ renderWithRouterAndReduxProvider(
55
58
  <SideNavMethods
56
59
  methods={pick(methods, 'create_dashboard')}
57
60
  tag={tag}
58
61
  specKey={'3.1'}
59
62
  />,
60
- highlightPattern
63
+ undefined,
64
+ store
61
65
  )
62
66
  userEvent.click(screen.getByText('Dash'))
63
67
  const matches = screen.getAllByText(/dash/i)
@@ -24,28 +24,28 @@
24
24
 
25
25
  */
26
26
 
27
- import React, { useContext, useEffect, useState } from 'react'
27
+ import React, { useEffect, useState } from 'react'
28
28
  import styled from 'styled-components'
29
29
  import { Accordion2, Heading } from '@looker/components'
30
- import { MethodList } from '@looker/sdk-codegen'
30
+ import type { MethodList } from '@looker/sdk-codegen'
31
+ import { useSelector } from 'react-redux'
31
32
  import { useHistory, useRouteMatch } from 'react-router-dom'
33
+
32
34
  import { Link } from '../Link'
33
35
  import { buildMethodPath, highlightHTML } from '../../utils'
34
- import { SearchContext } from '../../context'
36
+ import { selectSearchPattern } from '../../state'
35
37
 
36
38
  interface MethodsProps {
37
- className?: string
38
- defaultOpen?: boolean
39
39
  methods: MethodList
40
40
  tag: string
41
41
  specKey: string
42
+ className?: string
43
+ defaultOpen?: boolean
42
44
  }
43
45
 
44
46
  export const SideNavMethods = styled(
45
- ({ className, defaultOpen = false, methods, tag, specKey }: MethodsProps) => {
46
- const {
47
- searchSettings: { pattern },
48
- } = useContext(SearchContext)
47
+ ({ className, methods, tag, specKey, defaultOpen = false }: MethodsProps) => {
48
+ const searchPattern = useSelector(selectSearchPattern)
49
49
  const match = useRouteMatch<{ methodTag: string }>(
50
50
  `/:specKey/methods/:methodTag/:methodName?`
51
51
  )
@@ -63,7 +63,7 @@ export const SideNavMethods = styled(
63
63
  ? defaultOpen || match.params.methodTag === tag
64
64
  : defaultOpen
65
65
  setIsOpen(status)
66
- }, [defaultOpen])
66
+ }, [defaultOpen, match, tag])
67
67
 
68
68
  /* TODO: Fix highlighting. It is applied but it is somehow being overridden */
69
69
  return (
@@ -73,7 +73,7 @@ export const SideNavMethods = styled(
73
73
  className={className}
74
74
  label={
75
75
  <Heading as="h4" fontSize="small" py="xsmall">
76
- {highlightHTML(pattern, tag)}
76
+ {highlightHTML(searchPattern, tag)}
77
77
  </Heading>
78
78
  }
79
79
  >
@@ -81,7 +81,7 @@ export const SideNavMethods = styled(
81
81
  {Object.values(methods).map((method) => (
82
82
  <li key={method.name}>
83
83
  <Link to={`${buildMethodPath(specKey, tag, method.name)}`}>
84
- {highlightHTML(pattern, method.summary)}
84
+ {highlightHTML(searchPattern, method.summary)}
85
85
  </Link>
86
86
  </li>
87
87
  ))}