@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
@@ -5,7 +5,7 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.SdkLanguageSelector = 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
 
@@ -13,26 +13,15 @@ var _components = require("@looker/components");
13
13
 
14
14
  var _reactRedux = require("react-redux");
15
15
 
16
- var _hooks = require("../../hooks");
17
-
18
16
  var _state = require("../../state");
19
17
 
20
- var _context = require("../../context");
21
-
22
- var _utils = require("../../utils");
23
-
24
- 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
-
26
- 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 }; }
27
19
 
28
20
  var SdkLanguageSelector = () => {
29
21
  var {
30
22
  setSdkLanguageAction
31
- } = (0, _hooks.useActions)();
32
- var selectedSdkLanguage = (0, _reactRedux.useSelector)(_state.getSelectedSdkLanguage);
33
- var {
34
- envAdaptor
35
- } = (0, _react.useContext)(_context.EnvAdaptorContext);
23
+ } = (0, _state.useSettingActions)();
24
+ var selectedSdkLanguage = (0, _reactRedux.useSelector)(_state.selectSdkLanguage);
36
25
 
37
26
  var allSdkLanguages = _sdkCodegen.codeGenerators.map(gen => ({
38
27
  value: gen.language
@@ -45,8 +34,9 @@ var SdkLanguageSelector = () => {
45
34
  });
46
35
 
47
36
  var handleChange = language => {
48
- setSdkLanguageAction(language);
49
- envAdaptor.localStorageSetItem(_utils.EnvAdaptorConstants.LOCALSTORAGE_SDK_LANGUAGE_KEY, language);
37
+ setSdkLanguageAction({
38
+ sdkLanguage: language
39
+ });
50
40
  };
51
41
 
52
42
  return _react.default.createElement(_components.Select, {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SelectorContainer/SdkLanguageSelector.tsx"],"names":["SdkLanguageSelector","setSdkLanguageAction","selectedSdkLanguage","getSelectedSdkLanguage","envAdaptor","EnvAdaptorContext","allSdkLanguages","codeGenerators","map","gen","value","language","push","options","handleChange","localStorageSetItem","EnvAdaptorConstants","LOCALSTORAGE_SDK_LANGUAGE_KEY"],"mappings":";;;;;;;AAyBA;;AACA;;AACA;;AACA;;AAGA;;AACA;;AACA;;AACA;;;;;;AAKO,IAAMA,mBAAuB,GAAG,MAAM;AAC3C,MAAM;AAAEC,IAAAA;AAAF,MAA2B,wBAAjC;AACA,MAAMC,mBAAmB,GAAG,6BAAYC,6BAAZ,CAA5B;AACA,MAAM;AAAEC,IAAAA;AAAF,MAAiB,uBAAWC,0BAAX,CAAvB;;AAEA,MAAMC,eAAoC,GAAGC,2BAAeC,GAAf,CAAoBC,GAAD,KAAU;AACxEC,IAAAA,KAAK,EAAED,GAAG,CAACE;AAD6D,GAAV,CAAnB,CAA7C;;AAIAL,EAAAA,eAAe,CAACM,IAAhB,CAAqB;AACnBC,IAAAA,OAAO,EAAE,CACP;AACEH,MAAAA,KAAK,EAAE;AADT,KADO;AADU,GAArB;;AAQA,MAAMI,YAAY,GAAIH,QAAD,IAAsB;AACzCV,IAAAA,oBAAoB,CAACU,QAAD,CAApB;AACAP,IAAAA,UAAU,CAACW,mBAAX,CACEC,2BAAoBC,6BADtB,EAEEN,QAFF;AAID,GAND;;AAQA,SACE,6BAAC,kBAAD;AACE,kBAAW,uBADb;AAEE,IAAA,KAAK,EAAET,mBAFT;AAGE,IAAA,QAAQ,EAAEY,YAHZ;AAIE,IAAA,OAAO,EAAER;AAJX,IADF;AAQD,CAjCM","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, useContext } from 'react'\nimport { codeGenerators } from '@looker/sdk-codegen'\nimport { Select } from '@looker/components'\nimport { useSelector } from 'react-redux'\nimport { SelectOptionProps } from '@looker/components/lib/Form/Inputs/Select'\n\nimport { useActions } from '../../hooks'\nimport { getSelectedSdkLanguage } from '../../state'\nimport { EnvAdaptorContext } from '../../context'\nimport { EnvAdaptorConstants } from '../../utils'\n\n/**\n * Allows the user to select their preferred SDK language\n */\nexport const SdkLanguageSelector: FC = () => {\n const { setSdkLanguageAction } = useActions()\n const selectedSdkLanguage = useSelector(getSelectedSdkLanguage)\n const { envAdaptor } = useContext(EnvAdaptorContext)\n\n const allSdkLanguages: SelectOptionProps[] = codeGenerators.map((gen) => ({\n value: gen.language,\n }))\n\n allSdkLanguages.push({\n options: [\n {\n value: 'All',\n },\n ],\n })\n\n const handleChange = (language: string) => {\n setSdkLanguageAction(language)\n envAdaptor.localStorageSetItem(\n EnvAdaptorConstants.LOCALSTORAGE_SDK_LANGUAGE_KEY,\n language\n )\n }\n\n return (\n <Select\n aria-label=\"sdk language selector\"\n value={selectedSdkLanguage}\n onChange={handleChange}\n options={allSdkLanguages}\n />\n )\n}\n"],"file":"SdkLanguageSelector.js"}
1
+ {"version":3,"sources":["../../../src/components/SelectorContainer/SdkLanguageSelector.tsx"],"names":["SdkLanguageSelector","setSdkLanguageAction","selectedSdkLanguage","selectSdkLanguage","allSdkLanguages","codeGenerators","map","gen","value","language","push","options","handleChange","sdkLanguage"],"mappings":";;;;;;;AA0BA;;AACA;;AACA;;AACA;;AAGA;;;;AAKO,IAAMA,mBAAuB,GAAG,MAAM;AAC3C,MAAM;AAAEC,IAAAA;AAAF,MAA2B,+BAAjC;AACA,MAAMC,mBAAmB,GAAG,6BAAYC,wBAAZ,CAA5B;;AAEA,MAAMC,eAAoC,GAAGC,2BAAeC,GAAf,CAAoBC,GAAD,KAAU;AACxEC,IAAAA,KAAK,EAAED,GAAG,CAACE;AAD6D,GAAV,CAAnB,CAA7C;;AAIAL,EAAAA,eAAe,CAACM,IAAhB,CAAqB;AACnBC,IAAAA,OAAO,EAAE,CACP;AACEH,MAAAA,KAAK,EAAE;AADT,KADO;AADU,GAArB;;AAQA,MAAMI,YAAY,GAAIH,QAAD,IAAsB;AACzCR,IAAAA,oBAAoB,CAAC;AAAEY,MAAAA,WAAW,EAAEJ;AAAf,KAAD,CAApB;AACD,GAFD;;AAIA,SACE,6BAAC,kBAAD;AACE,kBAAW,uBADb;AAEE,IAAA,KAAK,EAAEP,mBAFT;AAGE,IAAA,QAAQ,EAAEU,YAHZ;AAIE,IAAA,OAAO,EAAER;AAJX,IADF;AAQD,CA5BM","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 { codeGenerators } from '@looker/sdk-codegen'\nimport { Select } from '@looker/components'\nimport { useSelector } from 'react-redux'\nimport type { SelectOptionProps } from '@looker/components'\n\nimport { useSettingActions, selectSdkLanguage } from '../../state'\n\n/**\n * Allows the user to select their preferred SDK language\n */\nexport const SdkLanguageSelector: FC = () => {\n const { setSdkLanguageAction } = useSettingActions()\n const selectedSdkLanguage = useSelector(selectSdkLanguage)\n\n const allSdkLanguages: SelectOptionProps[] = codeGenerators.map((gen) => ({\n value: gen.language,\n }))\n\n allSdkLanguages.push({\n options: [\n {\n value: 'All',\n },\n ],\n })\n\n const handleChange = (language: string) => {\n setSdkLanguageAction({ sdkLanguage: language })\n }\n\n return (\n <Select\n aria-label=\"sdk language selector\"\n value={selectedSdkLanguage}\n onChange={handleChange}\n options={allSdkLanguages}\n />\n )\n}\n"],"file":"SdkLanguageSelector.js"}
@@ -1,7 +1,8 @@
1
- import { FC, Dispatch } from 'react';
2
- import { SpecList, SpecItem } from '@looker/sdk-codegen';
3
- import { SpecAction } from '../../reducers';
4
- interface SelectorContainerProps {
1
+ import type { FC, Dispatch } from 'react';
2
+ import type { SpaceHelperProps } from '@looker/components';
3
+ import type { SpecList, SpecItem } from '@looker/sdk-codegen';
4
+ import type { SpecAction } from '../../reducers';
5
+ interface SelectorContainerProps extends SpaceHelperProps {
5
6
  specs: SpecList;
6
7
  spec: SpecItem;
7
8
  specDispatch: Dispatch<SpecAction>;
@@ -21,6 +21,12 @@ var _ApiSpecSelector = require("./ApiSpecSelector");
21
21
 
22
22
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
23
 
24
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
25
+
26
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
27
+
28
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
29
+
24
30
  var HEADER_REM = 4;
25
31
  exports.HEADER_REM = HEADER_REM;
26
32
 
@@ -29,10 +35,12 @@ var SelectorContainer = _ref => {
29
35
  specs,
30
36
  spec,
31
37
  specDispatch
32
- } = _ref;
33
- return _react.default.createElement(_components.Space, {
38
+ } = _ref,
39
+ spaceProps = _objectWithoutProperties(_ref, ["specs", "spec", "specDispatch"]);
40
+
41
+ return _react.default.createElement(_components.Space, _extends({
34
42
  width: "auto"
35
- }, _react.default.createElement(_SdkLanguageSelector.SdkLanguageSelector, null), _react.default.createElement(_ApiSpecSelector.ApiSpecSelector, {
43
+ }, spaceProps), _react.default.createElement(_SdkLanguageSelector.SdkLanguageSelector, null), _react.default.createElement(_ApiSpecSelector.ApiSpecSelector, {
36
44
  specs: specs,
37
45
  spec: spec,
38
46
  specDispatch: specDispatch
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SelectorContainer/SelectorContainer.tsx"],"names":["HEADER_REM","SelectorContainer","specs","spec","specDispatch","diffPath","key"],"mappings":";;;;;;;AA0BA;;AACA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;;;AAWO,IAAMA,UAAU,GAAG,CAAnB;;;AAKA,IAAMC,iBAA6C,GAAG;AAAA,MAAC;AAC5DC,IAAAA,KAD4D;AAE5DC,IAAAA,IAF4D;AAG5DC,IAAAA;AAH4D,GAAD;AAAA,SAK3D,6BAAC,iBAAD;AAAO,IAAA,KAAK,EAAC;AAAb,KACE,6BAAC,wCAAD,OADF,EAEE,6BAAC,gCAAD;AAAiB,IAAA,KAAK,EAAEF,KAAxB;AAA+B,IAAA,IAAI,EAAEC,IAArC;AAA2C,IAAA,YAAY,EAAEC;AAAzD,IAFF,EAGE,6BAAC,UAAD;AAAM,IAAA,EAAE,aAAMC,eAAN,cAAkBF,IAAI,CAACG,GAAvB;AAAR,KACE,6BAAC,sBAAD;AACE,IAAA,MAAM,MADR;AAEE,IAAA,KAAK,EAAC,wBAFR;AAGE,IAAA,IAAI,EAAE,6BAAC,4BAAD,OAHR;AAIE,IAAA,IAAI,EAAC;AAJP,IADF,CAHF,CAL2D;AAAA,CAAtD","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, Dispatch } from 'react'\nimport { Space, IconButton } from '@looker/components'\nimport { ChangeHistory } from '@styled-icons/material/ChangeHistory'\nimport { SpecList, SpecItem } from '@looker/sdk-codegen'\nimport { Link } from '../Link'\nimport { SpecAction } from '../../reducers'\nimport { diffPath } from '../../utils'\nimport { SdkLanguageSelector } from './SdkLanguageSelector'\nimport { ApiSpecSelector } from './ApiSpecSelector'\n\ninterface SelectorContainerProps {\n /** Specs to choose from */\n specs: SpecList\n /** Current selected spec */\n spec: SpecItem\n /** Spec state setter */\n specDispatch: Dispatch<SpecAction>\n}\n\nexport const HEADER_REM = 4\n\n/**\n * Renders a container for selectors\n */\nexport const SelectorContainer: FC<SelectorContainerProps> = ({\n specs,\n spec,\n specDispatch,\n}) => (\n <Space width=\"auto\">\n <SdkLanguageSelector />\n <ApiSpecSelector specs={specs} spec={spec} specDispatch={specDispatch} />\n <Link to={`/${diffPath}/${spec.key}/`}>\n <IconButton\n toggle\n label=\"Compare Specifications\"\n icon={<ChangeHistory />}\n size=\"small\"\n />\n </Link>\n </Space>\n)\n"],"file":"SelectorContainer.js"}
1
+ {"version":3,"sources":["../../../src/components/SelectorContainer/SelectorContainer.tsx"],"names":["HEADER_REM","SelectorContainer","specs","spec","specDispatch","spaceProps","diffPath","key"],"mappings":";;;;;;;AA2BA;;AAEA;;AACA;;AAEA;;AAEA;;AACA;;AACA;;;;;;;;;;AAWO,IAAMA,UAAU,GAAG,CAAnB;;;AAKA,IAAMC,iBAA6C,GAAG;AAAA,MAAC;AAC5DC,IAAAA,KAD4D;AAE5DC,IAAAA,IAF4D;AAG5DC,IAAAA;AAH4D,GAAD;AAAA,MAIxDC,UAJwD;;AAAA,SAM3D,6BAAC,iBAAD;AAAO,IAAA,KAAK,EAAC;AAAb,KAAwBA,UAAxB,GACE,6BAAC,wCAAD,OADF,EAEE,6BAAC,gCAAD;AAAiB,IAAA,KAAK,EAAEH,KAAxB;AAA+B,IAAA,IAAI,EAAEC,IAArC;AAA2C,IAAA,YAAY,EAAEC;AAAzD,IAFF,EAGE,6BAAC,UAAD;AAAM,IAAA,EAAE,aAAME,eAAN,cAAkBH,IAAI,CAACI,GAAvB;AAAR,KACE,6BAAC,sBAAD;AACE,IAAA,MAAM,MADR;AAEE,IAAA,KAAK,EAAC,wBAFR;AAGE,IAAA,IAAI,EAAE,6BAAC,4BAAD,OAHR;AAIE,IAAA,IAAI,EAAC;AAJP,IADF,CAHF,CAN2D;AAAA,CAAtD","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, Dispatch } from 'react'\nimport React from 'react'\nimport type { SpaceHelperProps } from '@looker/components'\nimport { Space, IconButton } from '@looker/components'\nimport { ChangeHistory } from '@styled-icons/material/ChangeHistory'\nimport type { SpecList, SpecItem } from '@looker/sdk-codegen'\nimport { Link } from '../Link'\nimport type { SpecAction } from '../../reducers'\nimport { diffPath } from '../../utils'\nimport { SdkLanguageSelector } from './SdkLanguageSelector'\nimport { ApiSpecSelector } from './ApiSpecSelector'\n\ninterface SelectorContainerProps extends SpaceHelperProps {\n /** Specs to choose from */\n specs: SpecList\n /** Current selected spec */\n spec: SpecItem\n /** Spec state setter */\n specDispatch: Dispatch<SpecAction>\n}\n\nexport const HEADER_REM = 4\n\n/**\n * Renders a container for selectors\n */\nexport const SelectorContainer: FC<SelectorContainerProps> = ({\n specs,\n spec,\n specDispatch,\n ...spaceProps\n}) => (\n <Space width=\"auto\" {...spaceProps}>\n <SdkLanguageSelector />\n <ApiSpecSelector specs={specs} spec={spec} specDispatch={specDispatch} />\n <Link to={`/${diffPath}/${spec.key}/`}>\n <IconButton\n toggle\n label=\"Compare Specifications\"\n icon={<ChangeHistory />}\n size=\"small\"\n />\n </Link>\n </Space>\n)\n"],"file":"SelectorContainer.js"}
@@ -1,5 +1,5 @@
1
- import { FC } from 'react';
2
- import { ISearchResult } from '@looker/sdk-codegen';
1
+ import type { FC } from 'react';
2
+ import type { ISearchResult } from '@looker/sdk-codegen';
3
3
  interface SearchMessageProps {
4
4
  search?: ISearchResult;
5
5
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SideNav/SearchMessage.tsx"],"names":["SearchMessage","search","ok","message"],"mappings":";;;;;;;AAyBA;;AAEA;;AACA;;;;AAWO,IAAMA,aAAqC,GAAG;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,SACnD,4DACGA,MAAM,IAAI,CAACA,MAAM,CAACC,EAAlB,IACC,6BAAC,gBAAD;AAAM,IAAA,EAAE,EAAC,OAAT;AAAiB,IAAA,EAAE,EAAC,OAApB;AAA4B,IAAA,UAAU,EAAC;AAAvC,KACE,6BAAC,mBAAD;AAAS,IAAA,EAAE,EAAC,IAAZ;AAAiB,IAAA,KAAK,EAAC;AAAvB,KACE,6BAAC,gBAAD;AACE,IAAA,GAAG,EAAC,YADN;AAEE,IAAA,IAAI,EAAE,6BAAC,YAAD,OAFR;AAGE,IAAA,IAAI,EAAC,SAHP;AAIE,IAAA,KAAK,EAAC;AAJR,IADF,EAOGD,MAAM,CAACE,OAPV,CADF,CAFJ,CADmD;AAAA,CAA9C","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 { ISearchResult } from '@looker/sdk-codegen'\nimport { Heading, Icon, Flex } from '@looker/components'\nimport { Error } from '@styled-icons/material/Error'\n\ninterface SearchMessageProps {\n search?: ISearchResult\n}\n\n/**\n * Renders search results message\n * @param search Search Results\n * @constructor\n */\nexport const SearchMessage: FC<SearchMessageProps> = ({ search }) => (\n <>\n {search && !search.ok && (\n <Flex pl=\"large\" pr=\"large\" alignItems=\"center\">\n <Heading as=\"h4\" color=\"critical\">\n <Icon\n key=\"resultIcon\"\n icon={<Error />}\n size=\"xxsmall\"\n color=\"critical\"\n />\n {search.message}\n </Heading>\n </Flex>\n )}\n </>\n)\n"],"file":"SearchMessage.js"}
1
+ {"version":3,"sources":["../../../src/components/SideNav/SearchMessage.tsx"],"names":["SearchMessage","search","ok","message"],"mappings":";;;;;;;AA0BA;;AAEA;;AACA;;;;AAWO,IAAMA,aAAqC,GAAG;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,SACnD,4DACGA,MAAM,IAAI,CAACA,MAAM,CAACC,EAAlB,IACC,6BAAC,gBAAD;AAAM,IAAA,EAAE,EAAC,OAAT;AAAiB,IAAA,EAAE,EAAC,OAApB;AAA4B,IAAA,UAAU,EAAC;AAAvC,KACE,6BAAC,mBAAD;AAAS,IAAA,EAAE,EAAC,IAAZ;AAAiB,IAAA,KAAK,EAAC;AAAvB,KACE,6BAAC,gBAAD;AACE,IAAA,GAAG,EAAC,YADN;AAEE,IAAA,IAAI,EAAE,6BAAC,YAAD,OAFR;AAGE,IAAA,IAAI,EAAC,SAHP;AAIE,IAAA,KAAK,EAAC;AAJR,IADF,EAOGD,MAAM,CAACE,OAPV,CADF,CAFJ,CADmD;AAAA,CAA9C","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 type { ISearchResult } from '@looker/sdk-codegen'\nimport { Heading, Icon, Flex } from '@looker/components'\nimport { Error } from '@styled-icons/material/Error'\n\ninterface SearchMessageProps {\n search?: ISearchResult\n}\n\n/**\n * Renders search results message\n * @param search Search Results\n * @constructor\n */\nexport const SearchMessage: FC<SearchMessageProps> = ({ search }) => (\n <>\n {search && !search.ok && (\n <Flex pl=\"large\" pr=\"large\" alignItems=\"center\">\n <Heading as=\"h4\" color=\"critical\">\n <Icon\n key=\"resultIcon\"\n icon={<Error />}\n size=\"xxsmall\"\n color=\"critical\"\n />\n {search.message}\n </Heading>\n </Flex>\n )}\n </>\n)\n"],"file":"SearchMessage.js"}
@@ -1,6 +1,6 @@
1
- import { FC, Dispatch } from 'react';
2
- import { SpecItem, SpecList } from '@looker/sdk-codegen';
3
- import { SpecAction } from '../../reducers';
1
+ import type { FC, Dispatch } from 'react';
2
+ import type { SpecItem, SpecList } from '@looker/sdk-codegen';
3
+ import type { SpecAction } from '../../reducers';
4
4
  interface SideNavProps {
5
5
  headless?: boolean;
6
6
  specs: SpecList;
@@ -7,25 +7,23 @@ exports.SideNav = void 0;
7
7
 
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
 
10
+ var _reactRouterDom = require("react-router-dom");
11
+
10
12
  var _components = require("@looker/components");
11
13
 
12
14
  var _sdkCodegen = require("@looker/sdk-codegen");
13
15
 
14
- var _reactRouterDom = require("react-router-dom");
15
-
16
- var _context = require("../../context");
17
-
18
- var _reducers = require("../../reducers");
16
+ var _reactRedux = require("react-redux");
19
17
 
20
18
  var _utils = require("../../utils");
21
19
 
22
20
  var _Header = require("../Header");
23
21
 
24
- var _SelectorContainer = require("../SelectorContainer");
22
+ var _state = require("../../state");
25
23
 
26
- var _SideNavTags = require("./SideNavTags");
24
+ var _SideNavMethodTags = require("./SideNavMethodTags");
27
25
 
28
- var _SideNavTypes = require("./SideNavTypes");
26
+ var _SideNavTypeTags = require("./SideNavTypeTags");
29
27
 
30
28
  var _searchUtils = require("./searchUtils");
31
29
 
@@ -40,35 +38,64 @@ function _extends() { _extends = Object.assign || function (target) { for (var i
40
38
  var SideNav = _ref => {
41
39
  var {
42
40
  headless = false,
43
- specs,
44
- spec,
45
- specDispatch
41
+ spec
46
42
  } = _ref;
47
- var api = spec.api || {};
43
+ var history = (0, _reactRouterDom.useHistory)();
44
+ var location = (0, _reactRouterDom.useLocation)();
48
45
  var specKey = spec.key;
49
46
  var tabNames = ['methods', 'types'];
50
- var match = (0, _reactRouterDom.useRouteMatch)("/:specKey/:sideNavTab?");
51
- var defaultIndex = tabNames.indexOf('methods');
47
+ var pathParts = location.pathname.split('/');
48
+ var sideNavTab = pathParts[1] === 'diff' ? pathParts[3] : pathParts[2];
49
+ var defaultIndex = tabNames.indexOf(sideNavTab);
52
50
 
53
- if (match && match.params.sideNavTab) {
54
- defaultIndex = tabNames.indexOf(match.params.sideNavTab);
51
+ if (defaultIndex < 0) {
52
+ defaultIndex = tabNames.indexOf('methods');
55
53
  }
56
54
 
55
+ var onTabChange = index => {
56
+ var parts = location.pathname.split('/');
57
+
58
+ if (parts[1] === 'diff') {
59
+ if (parts[3] !== tabNames[index]) {
60
+ parts[3] = tabNames[index];
61
+ history.push(parts.join('/'));
62
+ }
63
+ } else {
64
+ if (parts[2] !== tabNames[index]) {
65
+ parts[2] = tabNames[index];
66
+ history.push(parts.join('/'));
67
+ }
68
+ }
69
+ };
70
+
57
71
  var tabs = (0, _components.useTabs)({
58
- defaultIndex
72
+ defaultIndex,
73
+ onChange: onTabChange
59
74
  });
75
+ var searchCriteria = (0, _reactRedux.useSelector)(_state.selectSearchCriteria);
60
76
  var {
61
- searchSettings,
62
- setSearchSettings
63
- } = (0, _react.useContext)(_context.SearchContext);
64
- var [pattern, setSearchPattern] = (0, _react.useState)(searchSettings.pattern);
77
+ setSearchPatternAction
78
+ } = (0, _state.useSettingActions)();
79
+ var [pattern, setSearchPattern] = (0, _react.useState)('');
65
80
  var debouncedPattern = (0, _searchUtils.useDebounce)(pattern, 250);
66
- var [searchResults, setSearchResults] = (0, _react.useState)();
67
- var searchCriteria = (0, _sdkCodegen.CriteriaToSet)(searchSettings.criteria);
68
- var [tags, setTags] = (0, _react.useState)(api.tags || {});
69
- var [types, setTypes] = (0, _react.useState)(api.types || {});
70
- var [methodCount, setMethodCount] = (0, _react.useState)((0, _searchUtils.countMethods)(tags));
71
- var [typeCount, setTypeCount] = (0, _react.useState)((0, _searchUtils.countTypes)(types));
81
+ var [sideNavState, setSideNavState] = (0, _react.useState)(() => {
82
+ var _spec$api, _spec$api2, _spec$api3, _spec$api4;
83
+
84
+ return {
85
+ tags: (spec === null || spec === void 0 ? void 0 : (_spec$api = spec.api) === null || _spec$api === void 0 ? void 0 : _spec$api.tags) || {},
86
+ typeTags: (spec === null || spec === void 0 ? void 0 : (_spec$api2 = spec.api) === null || _spec$api2 === void 0 ? void 0 : _spec$api2.typeTags) || {},
87
+ methodCount: (0, _searchUtils.countMethods)((spec === null || spec === void 0 ? void 0 : (_spec$api3 = spec.api) === null || _spec$api3 === void 0 ? void 0 : _spec$api3.tags) || {}),
88
+ typeCount: (0, _searchUtils.countTypes)((spec === null || spec === void 0 ? void 0 : (_spec$api4 = spec.api) === null || _spec$api4 === void 0 ? void 0 : _spec$api4.types) || {}),
89
+ searchResults: undefined
90
+ };
91
+ });
92
+ var {
93
+ tags,
94
+ typeTags,
95
+ methodCount,
96
+ typeCount,
97
+ searchResults
98
+ } = sideNavState;
72
99
 
73
100
  var handleInputChange = value => {
74
101
  setSearchPattern(value);
@@ -78,46 +105,55 @@ var SideNav = _ref => {
78
105
  var results;
79
106
  var newTags;
80
107
  var newTypes;
108
+ var newTypeTags;
109
+ var api = spec.api || {};
81
110
 
82
- if (debouncedPattern) {
83
- results = api.search(pattern, searchCriteria);
111
+ if (debouncedPattern && api.search) {
112
+ results = api.search(pattern, (0, _sdkCodegen.criteriaToSet)(searchCriteria));
84
113
  newTags = results.tags;
85
114
  newTypes = results.types;
115
+ newTypeTags = (0, _sdkCodegen.tagTypes)(api, results.types);
86
116
  } else {
87
117
  newTags = api.tags || {};
88
118
  newTypes = api.types || {};
119
+ newTypeTags = api.typeTags || {};
89
120
  }
90
121
 
91
- setTags(newTags);
92
- setTypes(newTypes);
93
- setMethodCount((0, _searchUtils.countMethods)(newTags));
94
- setTypeCount((0, _searchUtils.countTypes)(newTypes));
95
- setSearchResults(results);
96
- setSearchSettings((0, _reducers.setPattern)(debouncedPattern));
97
- }, [debouncedPattern, specKey, spec]);
122
+ setSideNavState({
123
+ tags: newTags,
124
+ typeTags: newTypeTags,
125
+ typeCount: (0, _searchUtils.countTypes)(newTypes),
126
+ methodCount: (0, _searchUtils.countMethods)(newTags),
127
+ searchResults: results
128
+ });
129
+ setSearchPatternAction({
130
+ searchPattern: debouncedPattern
131
+ });
132
+ }, [debouncedPattern, specKey, spec, setSearchPatternAction, pattern, searchCriteria]);
133
+ (0, _react.useEffect)(() => {
134
+ var {
135
+ selectedIndex,
136
+ onSelectTab
137
+ } = tabs;
138
+
139
+ if (defaultIndex !== selectedIndex) {
140
+ onSelectTab(defaultIndex);
141
+ }
142
+ }, [defaultIndex, tabs]);
98
143
  var size = (0, _utils.useWindowSize)();
99
144
  var headlessOffset = headless ? 200 : 120;
100
145
  var menuH = size.height - 16 * _Header.HEADER_REM - headlessOffset;
101
- return _react.default.createElement("nav", null, _react.default.createElement(_components.SpaceVertical, {
102
- alignItems: "center",
103
- p: "large",
104
- gap: "xsmall"
105
- }, headless && _react.default.createElement(_components.SpaceVertical, null, _react.default.createElement(_components.Heading, {
106
- as: "h5",
107
- color: "key",
108
- fontWeight: "bold"
109
- }, "API Documentation"), _react.default.createElement(_SelectorContainer.SelectorContainer, {
110
- specs: specs,
111
- spec: spec,
112
- specDispatch: specDispatch
113
- })), _react.default.createElement(_components.InputSearch, {
146
+ return _react.default.createElement("nav", null, _react.default.createElement(_components.InputSearch, {
147
+ pl: "large",
148
+ pr: "large",
149
+ pb: "large",
150
+ pt: headless ? 'u3' : 'large',
114
151
  "aria-label": "Search",
115
152
  onChange: handleInputChange,
116
153
  placeholder: "Search",
117
154
  value: pattern,
118
- isClearable: true,
119
- changeOnSelect: true
120
- })), _react.default.createElement(_SearchMessage.SearchMessage, {
155
+ isClearable: true
156
+ }), _react.default.createElement(_SearchMessage.SearchMessage, {
121
157
  search: searchResults
122
158
  }), _react.default.createElement(_components.TabList, _extends({}, tabs, {
123
159
  distribute: true
@@ -125,13 +161,14 @@ var SideNav = _ref => {
125
161
  pt: "xsmall",
126
162
  height: "".concat(menuH, "px"),
127
163
  overflow: "auto"
128
- }), _react.default.createElement(_components.TabPanel, null, _react.default.createElement(_SideNavTags.SideNavTags, {
164
+ }), _react.default.createElement(_components.TabPanel, null, _react.default.createElement(_SideNavMethodTags.SideNavMethodTags, {
129
165
  tags: tags,
130
166
  specKey: specKey,
131
167
  defaultOpen: !!searchResults
132
- })), _react.default.createElement(_components.TabPanel, null, _react.default.createElement(_SideNavTypes.SideNavTypes, {
133
- types: types,
134
- specKey: specKey
168
+ })), _react.default.createElement(_components.TabPanel, null, _react.default.createElement(_SideNavTypeTags.SideNavTypeTags, {
169
+ tags: typeTags,
170
+ specKey: specKey,
171
+ defaultOpen: !!searchResults
135
172
  }))));
136
173
  };
137
174
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SideNav/SideNav.tsx"],"names":["SideNav","headless","specs","spec","specDispatch","api","specKey","key","tabNames","match","defaultIndex","indexOf","params","sideNavTab","tabs","searchSettings","setSearchSettings","SearchContext","pattern","setSearchPattern","debouncedPattern","searchResults","setSearchResults","searchCriteria","criteria","tags","setTags","types","setTypes","methodCount","setMethodCount","typeCount","setTypeCount","handleInputChange","value","results","newTags","newTypes","search","size","headlessOffset","menuH","height","HEADER_REM"],"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, useContext, useEffect, useState, Dispatch } from 'react'\nimport {\n Heading,\n TabList,\n Tab,\n TabPanel,\n TabPanels,\n useTabs,\n InputSearch,\n SpaceVertical,\n} from '@looker/components'\nimport {\n SpecItem,\n SpecList,\n CriteriaToSet,\n ISearchResult,\n ApiModel,\n} from '@looker/sdk-codegen'\nimport { useRouteMatch } from 'react-router-dom'\n\nimport { SearchContext } from '../../context'\nimport { setPattern, SpecAction } from '../../reducers'\nimport { useWindowSize } from '../../utils'\nimport { HEADER_REM } from '../Header'\nimport { SelectorContainer } from '../SelectorContainer'\nimport { SideNavTags } from './SideNavTags'\nimport { SideNavTypes } from './SideNavTypes'\nimport { useDebounce, countMethods, countTypes } from './searchUtils'\nimport { SearchMessage } from './SearchMessage'\n\ninterface SideNavProps {\n headless?: boolean\n /** Specs to choose from */\n specs: SpecList\n /** Current selected spec */\n spec: SpecItem\n /** Spec state setter */\n specDispatch: Dispatch<SpecAction>\n}\n\ninterface SideNavParams {\n sideNavTab: string\n}\n\nexport const SideNav: FC<SideNavProps> = ({\n headless = false,\n specs,\n spec,\n specDispatch,\n}) => {\n const api = spec.api || ({} as ApiModel)\n const specKey = spec.key\n const tabNames = ['methods', 'types']\n const match = useRouteMatch<SideNavParams>(`/:specKey/:sideNavTab?`)\n let defaultIndex = tabNames.indexOf('methods')\n if (match && match.params.sideNavTab) {\n defaultIndex = tabNames.indexOf(match.params.sideNavTab)\n }\n const tabs = useTabs({ defaultIndex })\n const { searchSettings, setSearchSettings } = useContext(SearchContext)\n const [pattern, setSearchPattern] = useState(searchSettings.pattern)\n const debouncedPattern = useDebounce(pattern, 250)\n const [searchResults, setSearchResults] = useState<ISearchResult>()\n const searchCriteria = CriteriaToSet(searchSettings.criteria)\n const [tags, setTags] = useState(api.tags || {})\n const [types, setTypes] = useState(api.types || {})\n const [methodCount, setMethodCount] = useState(countMethods(tags))\n const [typeCount, setTypeCount] = useState(countTypes(types))\n\n const handleInputChange = (value: string) => {\n setSearchPattern(value)\n }\n\n useEffect(() => {\n let results\n let newTags\n let newTypes\n if (debouncedPattern) {\n results = api.search(pattern, searchCriteria)\n newTags = results.tags\n newTypes = results.types\n } else {\n newTags = api.tags || {}\n newTypes = api.types || {}\n }\n\n setTags(newTags)\n setTypes(newTypes)\n setMethodCount(countMethods(newTags))\n setTypeCount(countTypes(newTypes))\n setSearchResults(results)\n setSearchSettings(setPattern(debouncedPattern!))\n }, [debouncedPattern, specKey, spec])\n\n const size = useWindowSize()\n const headlessOffset = headless ? 200 : 120\n const menuH = size.height - 16 * HEADER_REM - headlessOffset\n\n return (\n <nav>\n <SpaceVertical alignItems=\"center\" p=\"large\" gap=\"xsmall\">\n {headless && (\n <SpaceVertical>\n <Heading as=\"h5\" color=\"key\" fontWeight=\"bold\">\n API Documentation\n </Heading>\n <SelectorContainer\n specs={specs}\n spec={spec}\n specDispatch={specDispatch}\n />\n </SpaceVertical>\n )}\n <InputSearch\n aria-label=\"Search\"\n onChange={handleInputChange}\n placeholder=\"Search\"\n value={pattern}\n isClearable\n changeOnSelect\n />\n </SpaceVertical>\n <SearchMessage search={searchResults} />\n <TabList {...tabs} distribute>\n <Tab>Methods ({methodCount})</Tab>\n <Tab>Types ({typeCount})</Tab>\n </TabList>\n <TabPanels {...tabs} pt=\"xsmall\" height={`${menuH}px`} overflow=\"auto\">\n <TabPanel>\n <SideNavTags\n tags={tags}\n specKey={specKey}\n defaultOpen={!!searchResults}\n />\n </TabPanel>\n <TabPanel>\n <SideNavTypes types={types} specKey={specKey} />\n </TabPanel>\n </TabPanels>\n </nav>\n )\n}\n"],"file":"SideNav.js"}
1
+ {"version":3,"sources":["../../../src/components/SideNav/SideNav.tsx"],"names":["SideNav","headless","spec","history","location","specKey","key","tabNames","pathParts","pathname","split","sideNavTab","defaultIndex","indexOf","onTabChange","index","parts","push","join","tabs","onChange","searchCriteria","selectSearchCriteria","setSearchPatternAction","pattern","setSearchPattern","debouncedPattern","sideNavState","setSideNavState","tags","api","typeTags","methodCount","typeCount","types","searchResults","undefined","handleInputChange","value","results","newTags","newTypes","newTypeTags","search","searchPattern","selectedIndex","onSelectTab","size","headlessOffset","menuH","height","HEADER_REM"],"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, Dispatch } from 'react'\nimport React, { useEffect, useState } from 'react'\nimport { useHistory, useLocation } from 'react-router-dom'\nimport {\n TabList,\n Tab,\n TabPanel,\n TabPanels,\n useTabs,\n InputSearch,\n} from '@looker/components'\nimport type {\n SpecItem,\n SpecList,\n ISearchResult,\n ApiModel,\n TagList,\n TypeTagList,\n} from '@looker/sdk-codegen'\nimport { criteriaToSet, tagTypes } from '@looker/sdk-codegen'\nimport { useSelector } from 'react-redux'\n\nimport type { SpecAction } from '../../reducers'\nimport { useWindowSize } from '../../utils'\nimport { HEADER_REM } from '../Header'\nimport { selectSearchCriteria, useSettingActions } from '../../state'\nimport { SideNavMethodTags } from './SideNavMethodTags'\nimport { SideNavTypeTags } from './SideNavTypeTags'\nimport { useDebounce, countMethods, countTypes } from './searchUtils'\nimport { SearchMessage } from './SearchMessage'\n\ninterface SideNavState {\n tags: TagList\n typeTags: TypeTagList\n methodCount: number\n typeCount: number\n searchResults?: ISearchResult\n}\n\ninterface SideNavProps {\n headless?: boolean\n /** Specs to choose from */\n specs: SpecList\n /** Current selected spec */\n spec: SpecItem\n /** Spec state setter */\n specDispatch: Dispatch<SpecAction>\n}\n\nexport const SideNav: FC<SideNavProps> = ({ headless = false, spec }) => {\n const history = useHistory()\n const location = useLocation()\n const specKey = spec.key\n const tabNames = ['methods', 'types']\n const pathParts = location.pathname.split('/')\n const sideNavTab = pathParts[1] === 'diff' ? pathParts[3] : pathParts[2]\n let defaultIndex = tabNames.indexOf(sideNavTab)\n if (defaultIndex < 0) {\n defaultIndex = tabNames.indexOf('methods')\n }\n const onTabChange = (index: number) => {\n const parts = location.pathname.split('/')\n if (parts[1] === 'diff') {\n if (parts[3] !== tabNames[index]) {\n parts[3] = tabNames[index]\n history.push(parts.join('/'))\n }\n } else {\n if (parts[2] !== tabNames[index]) {\n parts[2] = tabNames[index]\n history.push(parts.join('/'))\n }\n }\n }\n const tabs = useTabs({ defaultIndex, onChange: onTabChange })\n const searchCriteria = useSelector(selectSearchCriteria)\n const { setSearchPatternAction } = useSettingActions()\n\n const [pattern, setSearchPattern] = useState('')\n const debouncedPattern = useDebounce(pattern, 250)\n const [sideNavState, setSideNavState] = useState<SideNavState>(() => ({\n tags: spec?.api?.tags || {},\n typeTags: spec?.api?.typeTags || {},\n methodCount: countMethods(spec?.api?.tags || {}),\n typeCount: countTypes(spec?.api?.types || {}),\n searchResults: undefined,\n }))\n const { tags, typeTags, methodCount, typeCount, searchResults } = sideNavState\n\n const handleInputChange = (value: string) => {\n setSearchPattern(value)\n }\n\n useEffect(() => {\n let results\n let newTags\n let newTypes\n let newTypeTags\n const api = spec.api || ({} as ApiModel)\n\n if (debouncedPattern && api.search) {\n results = api.search(pattern, criteriaToSet(searchCriteria))\n newTags = results.tags\n newTypes = results.types\n newTypeTags = tagTypes(api, results.types)\n } else {\n newTags = api.tags || {}\n newTypes = api.types || {}\n newTypeTags = api.typeTags || {}\n }\n\n setSideNavState({\n tags: newTags,\n typeTags: newTypeTags,\n typeCount: countTypes(newTypes),\n methodCount: countMethods(newTags),\n searchResults: results,\n })\n setSearchPatternAction({ searchPattern: debouncedPattern })\n }, [\n debouncedPattern,\n specKey,\n spec,\n setSearchPatternAction,\n pattern,\n searchCriteria,\n ])\n\n useEffect(() => {\n const { selectedIndex, onSelectTab } = tabs\n if (defaultIndex !== selectedIndex) {\n onSelectTab(defaultIndex)\n }\n }, [defaultIndex, tabs])\n\n const size = useWindowSize()\n const headlessOffset = headless ? 200 : 120\n const menuH = size.height - 16 * HEADER_REM - headlessOffset\n\n return (\n <nav>\n <InputSearch\n pl=\"large\"\n pr=\"large\"\n pb=\"large\"\n pt={headless ? 'u3' : 'large'}\n aria-label=\"Search\"\n onChange={handleInputChange}\n placeholder=\"Search\"\n value={pattern}\n isClearable\n />\n <SearchMessage search={searchResults} />\n <TabList {...tabs} distribute>\n <Tab>Methods ({methodCount})</Tab>\n <Tab>Types ({typeCount})</Tab>\n </TabList>\n <TabPanels {...tabs} pt=\"xsmall\" height={`${menuH}px`} overflow=\"auto\">\n <TabPanel>\n <SideNavMethodTags\n tags={tags}\n specKey={specKey}\n defaultOpen={!!searchResults}\n />\n </TabPanel>\n <TabPanel>\n <SideNavTypeTags\n tags={typeTags}\n specKey={specKey}\n defaultOpen={!!searchResults}\n />\n </TabPanel>\n </TabPanels>\n </nav>\n )\n}\n"],"file":"SideNav.js"}
@@ -0,0 +1,10 @@
1
+ /// <reference types="react" />
2
+ import type { TagList } from '@looker/sdk-codegen';
3
+ interface TagsProps {
4
+ tags: TagList;
5
+ specKey: string;
6
+ defaultOpen?: boolean;
7
+ className?: string;
8
+ }
9
+ export declare const SideNavMethodTags: import("styled-components").StyledComponent<({ tags, specKey, className, defaultOpen }: TagsProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
10
+ export {};
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.SideNavTags = void 0;
6
+ exports.SideNavMethodTags = void 0;
7
7
 
8
8
  var _react = _interopRequireDefault(require("react"));
9
9
 
@@ -13,7 +13,7 @@ var _SideNavMethods = require("./SideNavMethods");
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
16
- var SideNavTags = (0, _styledComponents.default)(_ref => {
16
+ var SideNavMethodTags = (0, _styledComponents.default)(_ref => {
17
17
  var {
18
18
  tags,
19
19
  specKey,
@@ -30,13 +30,13 @@ var SideNavTags = (0, _styledComponents.default)(_ref => {
30
30
  specKey: specKey
31
31
  })));
32
32
  }).withConfig({
33
- displayName: "SideNavTags",
34
- componentId: "ej0zn7-0"
33
+ displayName: "SideNavMethodTags",
34
+ componentId: "m8q23l-0"
35
35
  })(["padding:0 ", ";"], _ref2 => {
36
36
  var {
37
37
  theme
38
38
  } = _ref2;
39
39
  return theme.space.large;
40
40
  });
41
- exports.SideNavTags = SideNavTags;
42
- //# sourceMappingURL=SideNavTags.js.map
41
+ exports.SideNavMethodTags = SideNavMethodTags;
42
+ //# sourceMappingURL=SideNavMethodTags.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/components/SideNav/SideNavMethodTags.tsx"],"names":["SideNavMethodTags","tags","specKey","className","defaultOpen","Object","keys","map","tag","theme","space","large"],"mappings":";;;;;;;AA0BA;;AACA;;AAEA;;;;AASO,IAAMA,iBAAiB,GAAG,+BAC/B;AAAA,MAAC;AAAEC,IAAAA,IAAF;AAAQC,IAAAA,OAAR;AAAiBC,IAAAA,SAAjB;AAA4BC,IAAAA;AAA5B,GAAD;AAAA,SACE;AAAK,IAAA,SAAS,EAAED;AAAhB,KACGE,MAAM,CAACC,IAAP,CAAYL,IAAZ,EAAkBM,GAAlB,CAAuBC,GAAD,IACrB,6BAAC,8BAAD;AACE,IAAA,GAAG,EAAEA,GADP;AAEE,IAAA,WAAW,EAAEJ,WAFf;AAGE,IAAA,GAAG,EAAEI,GAHP;AAIE,IAAA,OAAO,EAAEP,IAAI,CAACO,GAAD,CAJf;AAKE,IAAA,OAAO,EAAEN;AALX,IADD,CADH,CADF;AAAA,CAD+B,CAAH;AAAA;AAAA;AAAA,wBAef;AAAA,MAAC;AAAEO,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACC,KAAN,CAAYC,KAA3B;AAAA,CAfe,CAAvB","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 styled from 'styled-components'\nimport type { TagList } from '@looker/sdk-codegen'\nimport { SideNavMethods } from './SideNavMethods'\n\ninterface TagsProps {\n tags: TagList\n specKey: string\n defaultOpen?: boolean\n className?: string\n}\n\nexport const SideNavMethodTags = styled(\n ({ tags, specKey, className, defaultOpen }: TagsProps) => (\n <div className={className}>\n {Object.keys(tags).map((tag) => (\n <SideNavMethods\n key={tag}\n defaultOpen={defaultOpen}\n tag={tag}\n methods={tags[tag]}\n specKey={specKey}\n />\n ))}\n </div>\n )\n)`\n padding: 0 ${({ theme }) => theme.space.large};\n`\n"],"file":"SideNavMethodTags.js"}
@@ -1,10 +1,11 @@
1
- import { MethodList } from '@looker/sdk-codegen';
1
+ /// <reference types="react" />
2
+ import type { MethodList } from '@looker/sdk-codegen';
2
3
  interface MethodsProps {
3
- className?: string;
4
- defaultOpen?: boolean;
5
4
  methods: MethodList;
6
5
  tag: string;
7
6
  specKey: string;
7
+ className?: string;
8
+ defaultOpen?: boolean;
8
9
  }
9
- export declare const SideNavMethods: import("styled-components").StyledComponent<({ className, defaultOpen, methods, tag, specKey }: MethodsProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
10
+ export declare const SideNavMethods: import("styled-components").StyledComponent<({ className, methods, tag, specKey, defaultOpen }: MethodsProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
10
11
  export {};
@@ -11,13 +11,15 @@ var _styledComponents = _interopRequireDefault(require("styled-components"));
11
11
 
12
12
  var _components = require("@looker/components");
13
13
 
14
+ var _reactRedux = require("react-redux");
15
+
14
16
  var _reactRouterDom = require("react-router-dom");
15
17
 
16
18
  var _Link = require("../Link");
17
19
 
18
20
  var _utils = require("../../utils");
19
21
 
20
- var _context = require("../../context");
22
+ var _state = require("../../state");
21
23
 
22
24
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
23
25
 
@@ -28,16 +30,12 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
28
30
  var SideNavMethods = (0, _styledComponents.default)(_ref => {
29
31
  var {
30
32
  className,
31
- defaultOpen = false,
32
33
  methods,
33
34
  tag,
34
- specKey
35
+ specKey,
36
+ defaultOpen = false
35
37
  } = _ref;
36
- var {
37
- searchSettings: {
38
- pattern
39
- }
40
- } = (0, _react.useContext)(_context.SearchContext);
38
+ var searchPattern = (0, _reactRedux.useSelector)(_state.selectSearchPattern);
41
39
  var match = (0, _reactRouterDom.useRouteMatch)("/:specKey/methods/:methodTag/:methodName?");
42
40
  var [isOpen, setIsOpen] = (0, _react.useState)(defaultOpen);
43
41
  var history = (0, _reactRouterDom.useHistory)();
@@ -52,7 +50,7 @@ var SideNavMethods = (0, _styledComponents.default)(_ref => {
52
50
  (0, _react.useEffect)(() => {
53
51
  var status = match ? defaultOpen || match.params.methodTag === tag : defaultOpen;
54
52
  setIsOpen(status);
55
- }, [defaultOpen]);
53
+ }, [defaultOpen, match, tag]);
56
54
  return _react.default.createElement(_components.Accordion2, {
57
55
  isOpen: isOpen,
58
56
  toggleOpen: handleOpen,
@@ -61,12 +59,12 @@ var SideNavMethods = (0, _styledComponents.default)(_ref => {
61
59
  as: "h4",
62
60
  fontSize: "small",
63
61
  py: "xsmall"
64
- }, (0, _utils.highlightHTML)(pattern, tag))
62
+ }, (0, _utils.highlightHTML)(searchPattern, tag))
65
63
  }, _react.default.createElement("ul", null, Object.values(methods).map(method => _react.default.createElement("li", {
66
64
  key: method.name
67
65
  }, _react.default.createElement(_Link.Link, {
68
66
  to: "".concat((0, _utils.buildMethodPath)(specKey, tag, method.name))
69
- }, (0, _utils.highlightHTML)(pattern, method.summary))))));
67
+ }, (0, _utils.highlightHTML)(searchPattern, method.summary))))));
70
68
  }).withConfig({
71
69
  displayName: "SideNavMethods",
72
70
  componentId: "sc-1qqmwk8-0"
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SideNav/SideNavMethods.tsx"],"names":["SideNavMethods","className","defaultOpen","methods","tag","specKey","searchSettings","pattern","SearchContext","match","isOpen","setIsOpen","history","handleOpen","_isOpen","push","status","params","methodTag","Object","values","map","method","name","summary","theme","fonts","brand","colors","key","fontWeights","semiBold","ui2","space","xxsmall","ui1","Link","radii","medium","xsmall"],"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, { useContext, useEffect, useState } from 'react'\nimport styled from 'styled-components'\nimport { Accordion2, Heading } from '@looker/components'\nimport { MethodList } from '@looker/sdk-codegen'\nimport { useHistory, useRouteMatch } from 'react-router-dom'\nimport { Link } from '../Link'\nimport { buildMethodPath, highlightHTML } from '../../utils'\nimport { SearchContext } from '../../context'\n\ninterface MethodsProps {\n className?: string\n defaultOpen?: boolean\n methods: MethodList\n tag: string\n specKey: string\n}\n\nexport const SideNavMethods = styled(\n ({ className, defaultOpen = false, methods, tag, specKey }: MethodsProps) => {\n const {\n searchSettings: { pattern },\n } = useContext(SearchContext)\n const match = useRouteMatch<{ methodTag: string }>(\n `/:specKey/methods/:methodTag/:methodName?`\n )\n const [isOpen, setIsOpen] = useState(defaultOpen)\n const history = useHistory()\n\n const handleOpen = () => {\n const _isOpen = !isOpen\n setIsOpen(_isOpen)\n if (_isOpen) history.push(`/${specKey}/methods/${tag}`)\n }\n\n useEffect(() => {\n const status = match\n ? defaultOpen || match.params.methodTag === tag\n : defaultOpen\n setIsOpen(status)\n }, [defaultOpen])\n\n /* TODO: Fix highlighting. It is applied but it is somehow being overridden */\n return (\n <Accordion2\n isOpen={isOpen}\n toggleOpen={handleOpen}\n className={className}\n label={\n <Heading as=\"h4\" fontSize=\"small\" py=\"xsmall\">\n {highlightHTML(pattern, tag)}\n </Heading>\n }\n >\n <ul>\n {Object.values(methods).map((method) => (\n <li key={method.name}>\n <Link to={`${buildMethodPath(specKey, tag, method.name)}`}>\n {highlightHTML(pattern, method.summary)}\n </Link>\n </li>\n ))}\n </ul>\n </Accordion2>\n )\n }\n)`\n font-family: ${({ theme }) => theme.fonts.brand};\n\n [aria-controls]:hover,\n [aria-expanded='true'] {\n h4,\n svg {\n color: ${({ theme }) => theme.colors.key};\n }\n }\n\n [aria-expanded='true'] h4 {\n font-weight: ${({ theme }) => theme.fontWeights.semiBold};\n }\n\n ul {\n border-left: dashed 1px ${({ theme }) => theme.colors.ui2};\n list-style: none;\n margin: 0;\n padding: 0;\n padding-left: ${({ theme }) => theme.space.xxsmall};\n padding-top: ${({ theme }) => theme.space.xxsmall};\n }\n\n [aria-current] {\n background: ${({ theme }) => theme.colors.ui1};\n font-weight: ${({ theme }) => theme.fontWeights.semiBold};\n }\n\n ${Link} {\n border-radius: ${({ theme }) => theme.radii.medium};\n display: block;\n overflow: hidden;\n padding: ${({ theme }) => theme.space.xsmall};\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover,\n &:focus,\n &.active {\n background: ${({ theme }) => theme.colors.ui1};\n }\n }\n`\n"],"file":"SideNavMethods.js"}
1
+ {"version":3,"sources":["../../../src/components/SideNav/SideNavMethods.tsx"],"names":["SideNavMethods","className","methods","tag","specKey","defaultOpen","searchPattern","selectSearchPattern","match","isOpen","setIsOpen","history","handleOpen","_isOpen","push","status","params","methodTag","Object","values","map","method","name","summary","theme","fonts","brand","colors","key","fontWeights","semiBold","ui2","space","xxsmall","ui1","Link","radii","medium","xsmall"],"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, { useEffect, useState } from 'react'\nimport styled from 'styled-components'\nimport { Accordion2, Heading } from '@looker/components'\nimport type { MethodList } from '@looker/sdk-codegen'\nimport { useSelector } from 'react-redux'\nimport { useHistory, useRouteMatch } from 'react-router-dom'\n\nimport { Link } from '../Link'\nimport { buildMethodPath, highlightHTML } from '../../utils'\nimport { selectSearchPattern } from '../../state'\n\ninterface MethodsProps {\n methods: MethodList\n tag: string\n specKey: string\n className?: string\n defaultOpen?: boolean\n}\n\nexport const SideNavMethods = styled(\n ({ className, methods, tag, specKey, defaultOpen = false }: MethodsProps) => {\n const searchPattern = useSelector(selectSearchPattern)\n const match = useRouteMatch<{ methodTag: string }>(\n `/:specKey/methods/:methodTag/:methodName?`\n )\n const [isOpen, setIsOpen] = useState(defaultOpen)\n const history = useHistory()\n\n const handleOpen = () => {\n const _isOpen = !isOpen\n setIsOpen(_isOpen)\n if (_isOpen) history.push(`/${specKey}/methods/${tag}`)\n }\n\n useEffect(() => {\n const status = match\n ? defaultOpen || match.params.methodTag === tag\n : defaultOpen\n setIsOpen(status)\n }, [defaultOpen, match, tag])\n\n /* TODO: Fix highlighting. It is applied but it is somehow being overridden */\n return (\n <Accordion2\n isOpen={isOpen}\n toggleOpen={handleOpen}\n className={className}\n label={\n <Heading as=\"h4\" fontSize=\"small\" py=\"xsmall\">\n {highlightHTML(searchPattern, tag)}\n </Heading>\n }\n >\n <ul>\n {Object.values(methods).map((method) => (\n <li key={method.name}>\n <Link to={`${buildMethodPath(specKey, tag, method.name)}`}>\n {highlightHTML(searchPattern, method.summary)}\n </Link>\n </li>\n ))}\n </ul>\n </Accordion2>\n )\n }\n)`\n font-family: ${({ theme }) => theme.fonts.brand};\n\n [aria-controls]:hover,\n [aria-expanded='true'] {\n h4,\n svg {\n color: ${({ theme }) => theme.colors.key};\n }\n }\n\n [aria-expanded='true'] h4 {\n font-weight: ${({ theme }) => theme.fontWeights.semiBold};\n }\n\n ul {\n border-left: dashed 1px ${({ theme }) => theme.colors.ui2};\n list-style: none;\n margin: 0;\n padding: 0;\n padding-left: ${({ theme }) => theme.space.xxsmall};\n padding-top: ${({ theme }) => theme.space.xxsmall};\n }\n\n [aria-current] {\n background: ${({ theme }) => theme.colors.ui1};\n font-weight: ${({ theme }) => theme.fontWeights.semiBold};\n }\n\n ${Link} {\n border-radius: ${({ theme }) => theme.radii.medium};\n display: block;\n overflow: hidden;\n padding: ${({ theme }) => theme.space.xsmall};\n text-overflow: ellipsis;\n white-space: nowrap;\n\n &:hover,\n &:focus,\n &.active {\n background: ${({ theme }) => theme.colors.ui1};\n }\n }\n`\n"],"file":"SideNavMethods.js"}