@looker/api-explorer 0.9.18 → 0.9.24
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +141 -0
- package/e2e/e2e.spec.ts +242 -0
- package/{src/reducers/search/reducer.ts → e2e/helpers.ts} +21 -36
- package/{src/reducers/search/actions.ts → jest-puppeteer.config.js} +17 -15
- package/jest.config.js +2 -0
- package/lib/ApiExplorer.d.ts +8 -11
- package/lib/ApiExplorer.js +93 -71
- package/lib/ApiExplorer.js.map +1 -1
- package/lib/App.d.ts +1 -0
- package/lib/App.js +29 -0
- package/lib/App.js.map +1 -0
- package/lib/StandaloneApiExplorer.d.ts +1 -1
- package/lib/StandaloneApiExplorer.js +46 -25
- package/lib/StandaloneApiExplorer.js.map +1 -1
- package/lib/components/DocActivityType/DocActivityType.d.ts +2 -2
- package/lib/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/components/DocCode/DocCode.d.ts +1 -1
- package/lib/components/DocCode/DocCode.js +6 -10
- package/lib/components/DocCode/DocCode.js.map +1 -1
- package/lib/components/DocMarkdown/DocMarkdown.d.ts +1 -1
- package/lib/components/DocMarkdown/DocMarkdown.js +13 -15
- package/lib/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/components/DocMethodSummary/DocMethodSummary.d.ts +2 -2
- package/lib/components/DocMethodSummary/DocMethodSummary.js +3 -6
- package/lib/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/components/DocMethodSummary/DocSummaryStatus.d.ts +2 -3
- package/lib/components/DocMethodSummary/DocSummaryStatus.js +3 -3
- package/lib/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/components/DocMethodSummary/index.d.ts +1 -0
- package/lib/components/DocMethodSummary/index.js +8 -0
- package/lib/components/DocMethodSummary/index.js.map +1 -1
- package/lib/components/DocMethodSummary/utils.d.ts +2 -1
- package/lib/components/DocMethodSummary/utils.js +24 -15
- package/lib/components/DocMethodSummary/utils.js.map +1 -1
- package/lib/components/DocPseudo/DocParam.d.ts +2 -2
- package/lib/components/DocPseudo/DocParam.js.map +1 -1
- package/lib/components/DocPseudo/DocParams.d.ts +2 -2
- package/lib/components/DocPseudo/DocParams.js.map +1 -1
- package/lib/components/DocPseudo/DocPrimaryResponse.d.ts +2 -2
- package/lib/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
- package/lib/components/DocPseudo/DocPseudo.d.ts +2 -2
- package/lib/components/DocPseudo/DocPseudo.js.map +1 -1
- package/lib/components/DocRateLimited/DocRateLimited.d.ts +2 -2
- package/lib/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/components/DocReferences/DocReferences.d.ts +2 -2
- package/lib/components/DocReferences/DocReferences.js +9 -13
- package/lib/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/components/DocReferences/utils.d.ts +2 -2
- package/lib/components/DocReferences/utils.js +5 -31
- package/lib/components/DocReferences/utils.js.map +1 -1
- package/lib/components/DocResponses/DocResponseTypes.d.ts +3 -2
- package/lib/components/DocResponses/DocResponseTypes.js +3 -1
- package/lib/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/components/DocResponses/DocResponses.d.ts +3 -2
- package/lib/components/DocResponses/DocResponses.js +4 -2
- package/lib/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/components/DocResponses/utils.d.ts +1 -1
- package/lib/components/DocResponses/utils.js.map +1 -1
- package/lib/components/DocSDKs/DocDeclarations.d.ts +2 -2
- package/lib/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/components/DocSDKs/DocSDKs.d.ts +2 -2
- package/lib/components/DocSDKs/DocSDKs.js +2 -4
- package/lib/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/components/DocSDKs/utils.d.ts +1 -1
- package/lib/components/DocSDKs/utils.js.map +1 -1
- package/lib/components/DocSchema/DocSchema.d.ts +1 -1
- package/lib/components/DocSchema/DocSchema.js +2 -2
- package/lib/components/DocSchema/DocSchema.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkExampleCell.d.ts +1 -1
- package/lib/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/components/DocSdkUsage/DocSdkUsage.d.ts +2 -2
- package/lib/components/DocSdkUsage/DocSdkUsage.js +7 -10
- package/lib/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/components/DocSdkUsage/utils.d.ts +2 -2
- package/lib/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/components/DocSource/DocSource.d.ts +2 -2
- package/lib/components/DocSource/DocSource.js +5 -7
- package/lib/components/DocSource/DocSource.js.map +1 -1
- package/lib/components/DocStatus/DocStatus.d.ts +2 -2
- package/lib/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/components/DocTitle/DocTitle.d.ts +1 -1
- package/lib/components/DocTitle/DocTitle.js +2 -2
- package/lib/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/components/DocTypeSummary/DocTypeSummary.d.ts +7 -0
- package/lib/components/DocTypeSummary/DocTypeSummary.js +52 -0
- package/lib/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
- package/lib/components/DocTypeSummary/index.d.ts +1 -0
- package/lib/components/DocTypeSummary/index.js +14 -0
- package/lib/components/DocTypeSummary/index.js.map +1 -0
- package/lib/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/lib/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.d.ts +1 -1
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +152 -8
- package/lib/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/components/ExploreType/ExploreProperty.d.ts +10 -7
- package/lib/components/ExploreType/ExploreProperty.js +14 -3
- package/lib/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/components/ExploreType/ExploreType.d.ts +4 -2
- package/lib/components/ExploreType/ExploreType.js +9 -5
- package/lib/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/components/ExploreType/exploreUtils.d.ts +2 -2
- package/lib/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/components/Header/Header.d.ts +5 -4
- package/lib/components/Header/Header.js +5 -2
- package/lib/components/Header/Header.js.map +1 -1
- package/lib/components/Header/index.d.ts +1 -1
- package/lib/components/Header/index.js +6 -0
- package/lib/components/Header/index.js.map +1 -1
- package/lib/components/SelectorContainer/ApiSpecSelector.d.ts +3 -3
- package/lib/components/SelectorContainer/ApiSpecSelector.js +3 -1
- package/lib/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.d.ts +1 -1
- package/lib/components/SelectorContainer/SdkLanguageSelector.js +7 -17
- package/lib/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/components/SelectorContainer/SelectorContainer.d.ts +5 -4
- package/lib/components/SelectorContainer/SelectorContainer.js +11 -3
- package/lib/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/components/SideNav/SearchMessage.d.ts +2 -2
- package/lib/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/components/SideNav/SideNav.d.ts +3 -3
- package/lib/components/SideNav/SideNav.js +93 -56
- package/lib/components/SideNav/SideNav.js.map +1 -1
- package/lib/components/SideNav/SideNavMethodTags.d.ts +10 -0
- package/lib/components/SideNav/SideNavMethodTags.js +42 -0
- package/lib/components/SideNav/SideNavMethodTags.js.map +1 -0
- package/lib/components/SideNav/SideNavMethods.d.ts +5 -5
- package/lib/components/SideNav/SideNavMethods.js +37 -93
- package/lib/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/components/SideNav/SideNavTypeTags.d.ts +10 -0
- package/lib/components/SideNav/SideNavTypeTags.js +42 -0
- package/lib/components/SideNav/SideNavTypeTags.js.map +1 -0
- package/lib/components/SideNav/SideNavTypes.d.ts +8 -5
- package/lib/components/SideNav/SideNavTypes.js +83 -32
- package/lib/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/components/SideNav/searchUtils.d.ts +2 -2
- package/lib/components/SideNav/searchUtils.js +1 -1
- package/lib/components/SideNav/searchUtils.js.map +1 -1
- package/lib/components/common/Loader.d.ts +2 -2
- package/lib/components/common/Loader.js.map +1 -1
- package/lib/components/common/common.d.ts +2 -3
- package/lib/components/common/common.js +3 -15
- package/lib/components/common/common.js.map +1 -1
- package/lib/components/common/index.d.ts +2 -2
- package/lib/components/common/index.js +22 -18
- package/lib/components/common/index.js.map +1 -1
- package/lib/components/index.d.ts +5 -4
- package/lib/components/index.js +26 -12
- package/lib/components/index.js.map +1 -1
- package/lib/esm/ApiExplorer.js +97 -77
- package/lib/esm/ApiExplorer.js.map +1 -1
- package/lib/esm/App.js +19 -0
- package/lib/esm/App.js.map +1 -0
- package/lib/esm/StandaloneApiExplorer.js +46 -22
- package/lib/esm/StandaloneApiExplorer.js.map +1 -1
- package/lib/esm/components/DocActivityType/DocActivityType.js.map +1 -1
- package/lib/esm/components/DocCode/DocCode.js +5 -8
- package/lib/esm/components/DocCode/DocCode.js.map +1 -1
- package/lib/esm/components/DocMarkdown/DocMarkdown.js +10 -12
- package/lib/esm/components/DocMarkdown/DocMarkdown.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocMethodSummary.js +4 -6
- package/lib/esm/components/DocMethodSummary/DocMethodSummary.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js +3 -3
- package/lib/esm/components/DocMethodSummary/DocSummaryStatus.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/index.js +1 -0
- package/lib/esm/components/DocMethodSummary/index.js.map +1 -1
- package/lib/esm/components/DocMethodSummary/utils.js +24 -15
- package/lib/esm/components/DocMethodSummary/utils.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocParam.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocParams.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocPrimaryResponse.js.map +1 -1
- package/lib/esm/components/DocPseudo/DocPseudo.js.map +1 -1
- package/lib/esm/components/DocRateLimited/DocRateLimited.js.map +1 -1
- package/lib/esm/components/DocReferences/DocReferences.js +6 -9
- package/lib/esm/components/DocReferences/DocReferences.js.map +1 -1
- package/lib/esm/components/DocReferences/utils.js +3 -26
- package/lib/esm/components/DocReferences/utils.js.map +1 -1
- package/lib/esm/components/DocResponses/DocResponseTypes.js +3 -1
- package/lib/esm/components/DocResponses/DocResponseTypes.js.map +1 -1
- package/lib/esm/components/DocResponses/DocResponses.js +3 -1
- package/lib/esm/components/DocResponses/DocResponses.js.map +1 -1
- package/lib/esm/components/DocResponses/utils.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocDeclarations.js.map +1 -1
- package/lib/esm/components/DocSDKs/DocSDKs.js +3 -4
- package/lib/esm/components/DocSDKs/DocSDKs.js.map +1 -1
- package/lib/esm/components/DocSDKs/utils.js.map +1 -1
- package/lib/esm/components/DocSchema/DocSchema.js +1 -1
- package/lib/esm/components/DocSchema/DocSchema.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkExampleCell.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js +7 -9
- package/lib/esm/components/DocSdkUsage/DocSdkUsage.js.map +1 -1
- package/lib/esm/components/DocSdkUsage/utils.js.map +1 -1
- package/lib/esm/components/DocSource/DocSource.js +4 -5
- package/lib/esm/components/DocSource/DocSource.js.map +1 -1
- package/lib/esm/components/DocStatus/DocStatus.js.map +1 -1
- package/lib/esm/components/DocTitle/DocTitle.js +2 -2
- package/lib/esm/components/DocTitle/DocTitle.js.map +1 -1
- package/lib/esm/components/DocTypeSummary/DocTypeSummary.js +38 -0
- package/lib/esm/components/DocTypeSummary/DocTypeSummary.js.map +1 -0
- package/lib/esm/components/DocTypeSummary/index.js +2 -0
- package/lib/{state/action_creators.js.map → esm/components/DocTypeSummary/index.js.map} +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js +1 -1
- package/lib/esm/components/ErrorBoundary/ErrorBoundary.js.map +1 -1
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js +153 -6
- package/lib/esm/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreProperty.js +14 -3
- package/lib/esm/components/ExploreType/ExploreProperty.js.map +1 -1
- package/lib/esm/components/ExploreType/ExploreType.js +8 -4
- package/lib/esm/components/ExploreType/ExploreType.js.map +1 -1
- package/lib/esm/components/ExploreType/exploreUtils.js.map +1 -1
- package/lib/esm/components/Header/Header.js +3 -1
- package/lib/esm/components/Header/Header.js.map +1 -1
- package/lib/esm/components/Header/index.js +1 -1
- package/lib/esm/components/Header/index.js.map +1 -1
- package/lib/esm/components/SelectorContainer/ApiSpecSelector.js +4 -2
- package/lib/esm/components/SelectorContainer/ApiSpecSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js +7 -12
- package/lib/esm/components/SelectorContainer/SdkLanguageSelector.js.map +1 -1
- package/lib/esm/components/SelectorContainer/SelectorContainer.js +11 -3
- package/lib/esm/components/SelectorContainer/SelectorContainer.js.map +1 -1
- package/lib/esm/components/SideNav/SearchMessage.js.map +1 -1
- package/lib/esm/components/SideNav/SideNav.js +95 -57
- package/lib/esm/components/SideNav/SideNav.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavMethodTags.js +29 -0
- package/lib/esm/components/SideNav/SideNavMethodTags.js.map +1 -0
- package/lib/esm/components/SideNav/SideNavMethods.js +38 -96
- package/lib/esm/components/SideNav/SideNavMethods.js.map +1 -1
- package/lib/esm/components/SideNav/SideNavTypeTags.js +29 -0
- package/lib/esm/components/SideNav/SideNavTypeTags.js.map +1 -0
- package/lib/esm/components/SideNav/SideNavTypes.js +84 -33
- package/lib/esm/components/SideNav/SideNavTypes.js.map +1 -1
- package/lib/esm/components/SideNav/searchUtils.js +1 -1
- package/lib/esm/components/SideNav/searchUtils.js.map +1 -1
- package/lib/esm/components/common/Loader.js.map +1 -1
- package/lib/esm/components/common/common.js +3 -11
- package/lib/esm/components/common/common.js.map +1 -1
- package/lib/esm/components/common/index.js +2 -2
- package/lib/esm/components/common/index.js.map +1 -1
- package/lib/esm/components/index.js +5 -4
- package/lib/esm/components/index.js.map +1 -1
- package/lib/esm/index.js +4 -18
- package/lib/esm/index.js.map +1 -1
- package/lib/esm/reducers/index.js +0 -1
- package/lib/esm/reducers/index.js.map +1 -1
- package/lib/esm/reducers/spec/actions.js.map +1 -1
- package/lib/esm/reducers/spec/reducer.js.map +1 -1
- package/lib/esm/reducers/spec/utils.js +17 -1
- package/lib/esm/reducers/spec/utils.js.map +1 -1
- package/lib/esm/routes/AppRouter.js +16 -14
- package/lib/esm/routes/AppRouter.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DiffScene.js +65 -11
- package/lib/esm/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js +15 -22
- package/lib/esm/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
- package/lib/esm/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/esm/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/esm/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/esm/scenes/MethodScene/MethodScene.js +80 -29
- package/lib/esm/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocOperation.js.map +1 -1
- package/lib/esm/scenes/MethodScene/components/DocRequestBody.js +5 -2
- package/lib/esm/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
- package/lib/esm/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +16 -11
- package/lib/esm/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
- package/lib/esm/scenes/MethodTagScene/index.js +2 -0
- package/lib/{state/reducers.js.map → esm/scenes/MethodTagScene/index.js.map} +1 -1
- package/lib/esm/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
- package/lib/esm/scenes/MethodTagScene/utils.js.map +1 -0
- package/lib/esm/scenes/TypeScene/TypeScene.js +14 -7
- package/lib/esm/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js +57 -0
- package/lib/esm/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
- package/lib/esm/scenes/TypeTagScene/index.js +2 -0
- package/lib/esm/scenes/TypeTagScene/index.js.map +1 -0
- package/lib/esm/scenes/TypeTagScene/utils.js +8 -0
- package/lib/esm/scenes/TypeTagScene/utils.js.map +1 -0
- package/lib/esm/scenes/index.js +2 -1
- package/lib/esm/scenes/index.js.map +1 -1
- package/lib/esm/state/index.js +2 -3
- package/lib/esm/state/index.js.map +1 -1
- package/lib/esm/state/lodes/index.js +3 -0
- package/lib/esm/state/lodes/index.js.map +1 -0
- package/lib/esm/state/lodes/sagas.js +25 -0
- package/lib/esm/state/lodes/sagas.js.map +1 -0
- package/lib/esm/state/lodes/selectors.js +5 -0
- package/lib/esm/state/lodes/selectors.js.map +1 -0
- package/lib/esm/state/lodes/slice.js +30 -0
- package/lib/esm/state/lodes/slice.js.map +1 -0
- package/lib/esm/state/settings/index.js +1 -1
- package/lib/esm/state/settings/index.js.map +1 -1
- package/lib/esm/state/settings/sagas.js +59 -0
- package/lib/esm/state/settings/sagas.js.map +1 -0
- package/lib/esm/state/settings/selectors.js +6 -1
- package/lib/esm/state/settings/selectors.js.map +1 -1
- package/lib/esm/state/settings/slice.js +50 -0
- package/lib/esm/state/settings/slice.js.map +1 -0
- package/lib/esm/state/store.js +13 -3
- package/lib/esm/state/store.js.map +1 -1
- package/lib/esm/test-utils/index.js +3 -4
- package/lib/esm/test-utils/index.js.map +1 -1
- package/lib/esm/test-utils/lodes.js +12 -0
- package/lib/esm/test-utils/lodes.js.map +1 -0
- package/lib/esm/test-utils/redux.js +30 -15
- package/lib/esm/test-utils/redux.js.map +1 -1
- package/lib/esm/test-utils/router.js.map +1 -1
- package/lib/esm/utils/index.js +1 -2
- package/lib/esm/utils/index.js.map +1 -1
- package/lib/esm/utils/lodeUtils.js +3 -7
- package/lib/esm/utils/lodeUtils.js.map +1 -1
- package/lib/esm/utils/path.js +32 -1
- package/lib/esm/utils/path.js.map +1 -1
- package/lib/index.d.ts +4 -1
- package/lib/index.js +52 -23
- package/lib/index.js.map +1 -1
- package/lib/reducers/index.d.ts +0 -1
- package/lib/reducers/index.js +0 -13
- package/lib/reducers/index.js.map +1 -1
- package/lib/reducers/spec/actions.d.ts +1 -1
- package/lib/reducers/spec/actions.js.map +1 -1
- package/lib/reducers/spec/reducer.d.ts +2 -2
- package/lib/reducers/spec/reducer.js.map +1 -1
- package/lib/reducers/spec/utils.d.ts +3 -3
- package/lib/reducers/spec/utils.js +18 -1
- package/lib/reducers/spec/utils.js.map +1 -1
- package/lib/routes/AppRouter.d.ts +6 -2
- package/lib/routes/AppRouter.js +15 -16
- package/lib/routes/AppRouter.js.map +1 -1
- package/lib/scenes/DiffScene/DiffScene.d.ts +2 -2
- package/lib/scenes/DiffScene/DiffScene.js +65 -11
- package/lib/scenes/DiffScene/DiffScene.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffBanner.d.ts +2 -2
- package/lib/scenes/DiffScene/DocDiff/DiffBanner.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffItem.d.ts +3 -3
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js +13 -20
- package/lib/scenes/DiffScene/DocDiff/DiffItem.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DiffLegend.d.ts +2 -2
- package/lib/scenes/DiffScene/DocDiff/DiffLegend.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/DocDiff.d.ts +2 -2
- package/lib/scenes/DiffScene/DocDiff/DocDiff.js.map +1 -1
- package/lib/scenes/DiffScene/DocDiff/docDiffUtils.d.ts +1 -1
- package/lib/scenes/DiffScene/DocDiff/docDiffUtils.js.map +1 -1
- package/lib/scenes/DiffScene/diffUtils.d.ts +1 -1
- package/lib/scenes/DiffScene/diffUtils.js.map +1 -1
- package/lib/scenes/HomeScene/HomeScene.d.ts +2 -2
- package/lib/scenes/HomeScene/HomeScene.js.map +1 -1
- package/lib/scenes/MethodScene/MethodScene.d.ts +8 -4
- package/lib/scenes/MethodScene/MethodScene.js +75 -27
- package/lib/scenes/MethodScene/MethodScene.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocOperation.d.ts +2 -2
- package/lib/scenes/MethodScene/components/DocOperation.js.map +1 -1
- package/lib/scenes/MethodScene/components/DocRequestBody.d.ts +3 -2
- package/lib/scenes/MethodScene/components/DocRequestBody.js +6 -2
- package/lib/scenes/MethodScene/components/DocRequestBody.js.map +1 -1
- package/lib/scenes/MethodTagScene/MethodTagScene.d.ts +7 -0
- package/lib/scenes/{TagScene/TagScene.js → MethodTagScene/MethodTagScene.js} +19 -14
- package/lib/scenes/MethodTagScene/MethodTagScene.js.map +1 -0
- package/lib/scenes/MethodTagScene/index.d.ts +1 -0
- package/lib/scenes/MethodTagScene/index.js +14 -0
- package/lib/{context/search/SearchContext.js.map → scenes/MethodTagScene/index.js.map} +1 -1
- package/lib/scenes/{TagScene → MethodTagScene}/utils.d.ts +1 -1
- package/lib/scenes/{TagScene → MethodTagScene}/utils.js +0 -0
- package/lib/{context/lode/index.js.map → scenes/MethodTagScene/utils.js.map} +1 -1
- package/lib/scenes/TypeScene/TypeScene.d.ts +2 -2
- package/lib/scenes/TypeScene/TypeScene.js +16 -7
- package/lib/scenes/TypeScene/TypeScene.js.map +1 -1
- package/lib/scenes/TypeTagScene/TypeTagScene.d.ts +7 -0
- package/lib/scenes/TypeTagScene/TypeTagScene.js +76 -0
- package/lib/scenes/TypeTagScene/TypeTagScene.js.map +1 -0
- package/lib/scenes/TypeTagScene/index.d.ts +1 -0
- package/lib/scenes/TypeTagScene/index.js +14 -0
- package/lib/{esm/state/settings/actions.js.map → scenes/TypeTagScene/index.js.map} +1 -1
- package/lib/scenes/TypeTagScene/utils.d.ts +2 -0
- package/lib/scenes/TypeTagScene/utils.js +17 -0
- package/lib/scenes/TypeTagScene/utils.js.map +1 -0
- package/lib/scenes/index.d.ts +2 -1
- package/lib/scenes/index.js +11 -3
- package/lib/scenes/index.js.map +1 -1
- package/lib/state/index.d.ts +2 -2
- package/lib/state/index.js +15 -16
- package/lib/state/index.js.map +1 -1
- package/lib/state/lodes/index.d.ts +2 -0
- package/lib/{reducers/search → state/lodes}/index.js +8 -8
- package/lib/state/lodes/index.js.map +1 -0
- package/lib/state/lodes/sagas.d.ts +1 -0
- package/lib/state/lodes/sagas.js +34 -0
- package/lib/state/lodes/sagas.js.map +1 -0
- package/lib/state/lodes/selectors.d.ts +3 -0
- package/lib/state/lodes/selectors.js +17 -0
- package/lib/state/lodes/selectors.js.map +1 -0
- package/lib/state/lodes/slice.d.ts +29 -0
- package/lib/state/lodes/slice.js +45 -0
- package/lib/state/lodes/slice.js.map +1 -0
- package/lib/state/settings/index.d.ts +1 -1
- package/lib/state/settings/index.js +8 -8
- package/lib/state/settings/index.js.map +1 -1
- package/lib/state/settings/sagas.d.ts +1 -0
- package/lib/state/settings/sagas.js +69 -0
- package/lib/state/settings/sagas.js.map +1 -0
- package/lib/state/settings/selectors.d.ts +5 -2
- package/lib/state/settings/selectors.js +17 -3
- package/lib/state/settings/selectors.js.map +1 -1
- package/lib/state/settings/slice.d.ts +42 -0
- package/lib/state/settings/slice.js +69 -0
- package/lib/state/settings/slice.js.map +1 -0
- package/lib/state/store.d.ts +10 -6
- package/lib/state/store.js +15 -5
- package/lib/state/store.js.map +1 -1
- package/lib/test-data/declarations.js +24 -0
- package/lib/test-data/declarations.js.map +1 -0
- package/lib/test-data/examples.js.map +1 -1
- package/lib/test-data/index.js +23 -0
- package/lib/test-data/index.js.map +1 -1
- package/lib/test-data/specs.js.map +1 -1
- package/lib/test-utils/index.d.ts +3 -4
- package/lib/test-utils/index.js +33 -56
- package/lib/test-utils/index.js.map +1 -1
- package/lib/test-utils/lodes.d.ts +4 -0
- package/lib/test-utils/lodes.js +23 -0
- package/lib/test-utils/lodes.js.map +1 -0
- package/lib/test-utils/redux.d.ts +16 -12
- package/lib/test-utils/redux.js +36 -17
- package/lib/test-utils/redux.js.map +1 -1
- package/lib/test-utils/router.d.ts +2 -2
- package/lib/test-utils/router.js.map +1 -1
- package/lib/utils/highlight.d.ts +1 -0
- package/lib/utils/index.d.ts +1 -2
- package/lib/utils/index.js +6 -23
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/lodeUtils.d.ts +3 -3
- package/lib/utils/lodeUtils.js +3 -7
- package/lib/utils/lodeUtils.js.map +1 -1
- package/lib/utils/path.d.ts +3 -1
- package/lib/utils/path.js +36 -2
- package/lib/utils/path.js.map +1 -1
- package/package.json +29 -15
- package/public/Looker.3.1.json +1343 -412
- package/public/Looker.4.0.json +3305 -661
- package/public/versions.json +1 -1
- package/src/ApiExplorer.tsx +160 -99
- package/src/{index.tsx → App.tsx} +1 -1
- package/src/StandaloneApiExplorer.tsx +38 -29
- package/src/components/DocActivityType/DocActivityType.tsx +3 -2
- package/src/components/DocCode/DocCode.tsx +7 -6
- package/src/components/DocMarkdown/DocMarkdown.spec.tsx +16 -11
- package/src/components/DocMarkdown/DocMarkdown.tsx +11 -9
- package/src/components/DocMethodSummary/DocMethodSummary.spec.tsx +2 -2
- package/src/components/DocMethodSummary/DocMethodSummary.tsx +8 -8
- package/src/components/DocMethodSummary/DocSummaryStatus.spec.tsx +5 -5
- package/src/components/DocMethodSummary/DocSummaryStatus.tsx +5 -7
- package/src/components/DocMethodSummary/index.tsx +1 -0
- package/src/components/DocMethodSummary/utils.spec.tsx +7 -7
- package/src/components/DocMethodSummary/utils.tsx +17 -23
- package/src/components/DocPseudo/DocParam.tsx +3 -2
- package/src/components/DocPseudo/DocParams.tsx +3 -2
- package/src/components/DocPseudo/DocPrimaryResponse.tsx +3 -2
- package/src/components/DocPseudo/DocPseudo.tsx +3 -2
- package/src/components/DocRateLimited/DocRateLimited.tsx +3 -2
- package/src/components/DocReferences/DocReferences.spec.tsx +19 -8
- package/src/components/DocReferences/DocReferences.tsx +10 -10
- package/src/components/DocReferences/utils.spec.tsx +1 -13
- package/src/components/DocReferences/utils.tsx +4 -39
- package/src/components/DocResponses/DocResponseTypes.tsx +15 -4
- package/src/components/DocResponses/DocResponses.spec.tsx +1 -1
- package/src/components/DocResponses/DocResponses.tsx +7 -5
- package/src/components/DocResponses/utils.ts +1 -1
- package/src/components/DocSDKs/DocDeclarations.tsx +3 -2
- package/src/components/DocSDKs/DocSDKs.spec.tsx +12 -5
- package/src/components/DocSDKs/DocSDKs.tsx +7 -7
- package/src/components/DocSDKs/utils.ts +1 -1
- package/src/components/DocSchema/DocSchema.tsx +3 -2
- package/src/components/DocSdkUsage/DocSdkExampleCell.tsx +2 -1
- package/src/components/DocSdkUsage/DocSdkUsage.spec.tsx +2 -2
- package/src/components/DocSdkUsage/DocSdkUsage.tsx +10 -8
- package/src/components/DocSdkUsage/utils.ts +4 -2
- package/src/components/DocSource/DocSource.spec.tsx +2 -1
- package/src/components/DocSource/DocSource.tsx +7 -4
- package/src/components/DocStatus/DocStatus.spec.tsx +1 -1
- package/src/components/DocStatus/DocStatus.tsx +3 -2
- package/src/components/DocTitle/DocTitle.tsx +4 -3
- package/src/{state/settings/action_creators.spec.ts → components/DocTypeSummary/DocTypeSummary.spec.tsx} +15 -10
- package/src/components/DocTypeSummary/DocTypeSummary.tsx +64 -0
- package/src/{state/action_creators.ts → components/DocTypeSummary/index.tsx} +1 -1
- package/src/components/ErrorBoundary/ErrorBoundary.spec.tsx +11 -9
- package/src/components/ErrorBoundary/ErrorBoundary.tsx +1 -1
- package/src/components/ErrorBoundary/components/SomethingWentWrong/SomethingWentWrong.spec.tsx +6 -5
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/SomethingWentWrongGraphic.tsx +170 -6
- package/src/components/ExploreType/ExploreProperty.spec.tsx +15 -6
- package/src/components/ExploreType/ExploreProperty.tsx +26 -12
- package/src/components/ExploreType/ExploreType.spec.tsx +15 -31
- package/src/components/ExploreType/ExploreType.tsx +13 -6
- package/src/components/ExploreType/exploreUtils.tsx +3 -2
- package/src/components/Header/Header.spec.tsx +29 -37
- package/src/components/Header/Header.tsx +8 -4
- package/src/components/Header/index.ts +1 -1
- package/src/components/SelectorContainer/ApiSpecSelector.spec.tsx +12 -2
- package/src/components/SelectorContainer/ApiSpecSelector.tsx +9 -5
- package/src/components/SelectorContainer/SdkLanguageSelector.spec.tsx +13 -7
- package/src/components/SelectorContainer/SdkLanguageSelector.tsx +7 -14
- package/src/components/SelectorContainer/SelectorContainer.spec.tsx +19 -25
- package/src/components/SelectorContainer/SelectorContainer.tsx +8 -5
- package/src/components/SideNav/SearchMessage.tsx +3 -2
- package/src/components/SideNav/SideNav.spec.tsx +28 -41
- package/src/components/SideNav/SideNav.tsx +102 -68
- package/src/components/SideNav/{SideNavTags.spec.tsx → SideNavMethodTags.spec.tsx} +10 -8
- package/src/components/SideNav/{SideNavTags.tsx → SideNavMethodTags.tsx} +21 -19
- package/src/components/SideNav/SideNavMethods.spec.tsx +9 -5
- package/src/components/SideNav/SideNavMethods.tsx +78 -126
- package/src/components/SideNav/SideNavTypeTags.spec.tsx +79 -0
- package/src/{context/search/SearchContext.ts → components/SideNav/SideNavTypeTags.tsx} +27 -14
- package/src/components/SideNav/SideNavTypes.spec.tsx +13 -6
- package/src/components/SideNav/SideNavTypes.tsx +94 -43
- package/src/components/SideNav/{searchUtils.tsx → searchUtils.ts} +3 -3
- package/src/components/common/Loader.tsx +3 -2
- package/src/components/common/common.tsx +5 -15
- package/src/components/common/index.ts +2 -2
- package/src/components/index.ts +5 -4
- package/src/{context/lode/index.ts → index.ts} +4 -1
- package/src/reducers/index.ts +0 -1
- package/src/reducers/spec/actions.ts +1 -1
- package/src/reducers/spec/reducer.spec.ts +2 -1
- package/src/reducers/spec/reducer.ts +5 -3
- package/src/reducers/spec/utils.spec.ts +1 -1
- package/src/reducers/spec/utils.ts +18 -6
- package/src/routes/AppRouter.tsx +28 -15
- package/src/scenes/DiffScene/DiffScene.tsx +44 -13
- package/src/scenes/DiffScene/DocDiff/DiffBanner.tsx +3 -2
- package/src/scenes/DiffScene/DocDiff/DiffItem.spec.tsx +2 -1
- package/src/scenes/DiffScene/DocDiff/DiffItem.tsx +32 -49
- package/src/scenes/DiffScene/DocDiff/DiffLegend.tsx +3 -2
- package/src/scenes/DiffScene/DocDiff/DocDiff.tsx +3 -2
- package/src/scenes/DiffScene/DocDiff/docDiffUtils.tsx +2 -7
- package/src/scenes/DiffScene/diffUtils.spec.ts +2 -1
- package/src/scenes/DiffScene/diffUtils.ts +2 -2
- package/src/scenes/HomeScene/HomeScene.tsx +3 -2
- package/src/scenes/MethodScene/MethodScene.tsx +89 -44
- package/src/scenes/MethodScene/components/DocOperation.tsx +3 -2
- package/src/scenes/MethodScene/components/DocRequestBody.spec.tsx +2 -2
- package/src/scenes/MethodScene/components/DocRequestBody.tsx +8 -5
- package/src/scenes/{TagScene/TagScene.spec.tsx → MethodTagScene/MethodTagScene.spec.tsx} +5 -5
- package/src/scenes/{TagScene/TagScene.tsx → MethodTagScene/MethodTagScene.tsx} +23 -16
- package/src/{components/Collapser → scenes/MethodTagScene}/index.ts +1 -2
- package/src/scenes/{TagScene → MethodTagScene}/utils.spec.ts +1 -1
- package/src/scenes/{TagScene → MethodTagScene}/utils.ts +1 -1
- package/src/scenes/TypeScene/TypeScene.tsx +36 -24
- package/src/scenes/TypeTagScene/TypeTagScene.spec.tsx +103 -0
- package/src/scenes/TypeTagScene/TypeTagScene.tsx +93 -0
- package/src/scenes/{TagScene → TypeTagScene}/index.ts +1 -1
- package/src/{state/reducers.ts → scenes/TypeTagScene/utils.spec.ts} +8 -7
- package/src/{hooks/use_actions_hook.ts → scenes/TypeTagScene/utils.ts} +13 -10
- package/src/scenes/index.ts +2 -1
- package/src/state/index.ts +2 -2
- package/src/{reducers/search → state/lodes}/index.ts +2 -2
- package/src/state/lodes/sagas.spec.ts +92 -0
- package/src/state/{settings/reducer.ts → lodes/sagas.ts} +23 -21
- package/src/state/{settings/reducer.spec.ts → lodes/selectors.spec.ts} +15 -14
- package/src/state/{settings/actions.ts → lodes/selectors.ts} +7 -9
- package/src/state/lodes/slice.ts +69 -0
- package/src/state/settings/index.ts +1 -1
- package/src/state/settings/sagas.spec.ts +121 -0
- package/src/state/settings/sagas.ts +79 -0
- package/src/state/settings/selectors.spec.ts +16 -9
- package/src/state/settings/selectors.ts +14 -3
- package/src/state/settings/slice.ts +94 -0
- package/src/state/store.ts +22 -8
- package/src/{context/envAdaptor/EnvAdaptorContext.ts → test-data/declarations.ts} +17 -12
- package/src/test-data/examples.ts +1 -1
- package/src/test-data/index.ts +1 -0
- package/src/test-data/specs.ts +2 -1
- package/src/test-utils/index.ts +3 -14
- package/src/{context/lode/LodeContext.ts → test-utils/lodes.tsx} +15 -14
- package/src/test-utils/redux.tsx +46 -26
- package/src/test-utils/router.tsx +3 -2
- package/src/utils/index.ts +7 -2
- package/src/utils/lodeUtils.ts +5 -7
- package/src/utils/path.spec.ts +17 -3
- package/src/utils/path.ts +54 -4
- package/webpack.dev.config.js +3 -0
- package/webpack.prod.config.js +4 -0
- package/lib/components/Collapser/CollapserCard.d.ts +0 -9
- package/lib/components/Collapser/CollapserCard.js +0 -50
- package/lib/components/Collapser/CollapserCard.js.map +0 -1
- package/lib/components/Collapser/index.d.ts +0 -1
- package/lib/components/Collapser/index.js +0 -14
- package/lib/components/Collapser/index.js.map +0 -1
- package/lib/components/SideNav/SearchCriteriaSelector.d.ts +0 -2
- package/lib/components/SideNav/SearchCriteriaSelector.js +0 -57
- package/lib/components/SideNav/SearchCriteriaSelector.js.map +0 -1
- package/lib/components/SideNav/SideNavTags.d.ts +0 -9
- package/lib/components/SideNav/SideNavTags.js +0 -30
- package/lib/components/SideNav/SideNavTags.js.map +0 -1
- package/lib/context/envAdaptor/EnvAdaptorContext.d.ts +0 -7
- package/lib/context/envAdaptor/EnvAdaptorContext.js +0 -18
- package/lib/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
- package/lib/context/envAdaptor/index.d.ts +0 -1
- package/lib/context/envAdaptor/index.js +0 -20
- package/lib/context/envAdaptor/index.js.map +0 -1
- package/lib/context/index.d.ts +0 -3
- package/lib/context/index.js +0 -48
- package/lib/context/index.js.map +0 -1
- package/lib/context/lode/LodeContext.d.ts +0 -9
- package/lib/context/lode/LodeContext.js +0 -21
- package/lib/context/lode/LodeContext.js.map +0 -1
- package/lib/context/lode/index.d.ts +0 -1
- package/lib/context/lode/index.js +0 -20
- package/lib/context/search/SearchContext.d.ts +0 -9
- package/lib/context/search/SearchContext.js +0 -19
- package/lib/context/search/index.d.ts +0 -1
- package/lib/context/search/index.js +0 -20
- package/lib/context/search/index.js.map +0 -1
- package/lib/esm/components/Collapser/CollapserCard.js +0 -34
- package/lib/esm/components/Collapser/CollapserCard.js.map +0 -1
- package/lib/esm/components/Collapser/index.js +0 -2
- package/lib/esm/components/Collapser/index.js.map +0 -1
- package/lib/esm/components/SideNav/SearchCriteriaSelector.js +0 -38
- package/lib/esm/components/SideNav/SearchCriteriaSelector.js.map +0 -1
- package/lib/esm/components/SideNav/SideNavTags.js +0 -17
- package/lib/esm/components/SideNav/SideNavTags.js.map +0 -1
- package/lib/esm/context/envAdaptor/EnvAdaptorContext.js +0 -7
- package/lib/esm/context/envAdaptor/EnvAdaptorContext.js.map +0 -1
- package/lib/esm/context/envAdaptor/index.js +0 -2
- package/lib/esm/context/envAdaptor/index.js.map +0 -1
- package/lib/esm/context/index.js +0 -4
- package/lib/esm/context/index.js.map +0 -1
- package/lib/esm/context/lode/LodeContext.js +0 -11
- package/lib/esm/context/lode/LodeContext.js.map +0 -1
- package/lib/esm/context/lode/index.js +0 -2
- package/lib/esm/context/lode/index.js.map +0 -1
- package/lib/esm/context/search/SearchContext.js +0 -8
- package/lib/esm/context/search/SearchContext.js.map +0 -1
- package/lib/esm/context/search/index.js +0 -2
- package/lib/esm/context/search/index.js.map +0 -1
- package/lib/esm/hooks/index.js +0 -2
- package/lib/esm/hooks/index.js.map +0 -1
- package/lib/esm/hooks/use_actions_hook.js +0 -11
- package/lib/esm/hooks/use_actions_hook.js.map +0 -1
- package/lib/esm/reducers/search/actions.js +0 -13
- package/lib/esm/reducers/search/actions.js.map +0 -1
- package/lib/esm/reducers/search/index.js +0 -3
- package/lib/esm/reducers/search/index.js.map +0 -1
- package/lib/esm/reducers/search/reducer.js +0 -31
- package/lib/esm/reducers/search/reducer.js.map +0 -1
- package/lib/esm/scenes/MethodScene/utils.js +0 -72
- package/lib/esm/scenes/MethodScene/utils.js.map +0 -1
- package/lib/esm/scenes/TagScene/TagScene.js.map +0 -1
- package/lib/esm/scenes/TagScene/index.js +0 -2
- package/lib/esm/scenes/TagScene/index.js.map +0 -1
- package/lib/esm/scenes/TagScene/utils.js.map +0 -1
- package/lib/esm/state/action_creators.js +0 -2
- package/lib/esm/state/action_creators.js.map +0 -1
- package/lib/esm/state/reducers.js +0 -6
- package/lib/esm/state/reducers.js.map +0 -1
- package/lib/esm/state/settings/action_creators.js +0 -6
- package/lib/esm/state/settings/action_creators.js.map +0 -1
- package/lib/esm/state/settings/actions.js +0 -6
- package/lib/esm/state/settings/reducer.js +0 -19
- package/lib/esm/state/settings/reducer.js.map +0 -1
- package/lib/esm/test-utils/render_with_lode.js +0 -19
- package/lib/esm/test-utils/render_with_lode.js.map +0 -1
- package/lib/esm/test-utils/render_with_search.js +0 -34
- package/lib/esm/test-utils/render_with_search.js.map +0 -1
- package/lib/esm/utils/envAdaptor.js +0 -68
- package/lib/esm/utils/envAdaptor.js.map +0 -1
- package/lib/hooks/index.d.ts +0 -1
- package/lib/hooks/index.js +0 -14
- package/lib/hooks/index.js.map +0 -1
- package/lib/hooks/use_actions_hook.d.ts +0 -2
- package/lib/hooks/use_actions_hook.js +0 -24
- package/lib/hooks/use_actions_hook.js.map +0 -1
- package/lib/reducers/search/actions.d.ts +0 -4
- package/lib/reducers/search/actions.js +0 -25
- package/lib/reducers/search/actions.js.map +0 -1
- package/lib/reducers/search/index.d.ts +0 -2
- package/lib/reducers/search/index.js.map +0 -1
- package/lib/reducers/search/reducer.d.ts +0 -11
- package/lib/reducers/search/reducer.js +0 -43
- package/lib/reducers/search/reducer.js.map +0 -1
- package/lib/scenes/MethodScene/utils.d.ts +0 -3
- package/lib/scenes/MethodScene/utils.js +0 -81
- package/lib/scenes/MethodScene/utils.js.map +0 -1
- package/lib/scenes/TagScene/TagScene.d.ts +0 -7
- package/lib/scenes/TagScene/TagScene.js.map +0 -1
- package/lib/scenes/TagScene/index.d.ts +0 -1
- package/lib/scenes/TagScene/index.js +0 -14
- package/lib/scenes/TagScene/index.js.map +0 -1
- package/lib/scenes/TagScene/utils.js.map +0 -1
- package/lib/state/action_creators.d.ts +0 -1
- package/lib/state/action_creators.js +0 -19
- package/lib/state/reducers.d.ts +0 -4
- package/lib/state/reducers.js +0 -16
- package/lib/state/settings/action_creators.d.ts +0 -2
- package/lib/state/settings/action_creators.js +0 -16
- package/lib/state/settings/action_creators.js.map +0 -1
- package/lib/state/settings/actions.d.ts +0 -8
- package/lib/state/settings/actions.js +0 -13
- package/lib/state/settings/actions.js.map +0 -1
- package/lib/state/settings/reducer.d.ts +0 -6
- package/lib/state/settings/reducer.js +0 -31
- package/lib/state/settings/reducer.js.map +0 -1
- package/lib/test-utils/render_with_lode.d.ts +0 -9
- package/lib/test-utils/render_with_lode.js +0 -36
- package/lib/test-utils/render_with_lode.js.map +0 -1
- package/lib/test-utils/render_with_search.d.ts +0 -4
- package/lib/test-utils/render_with_search.js +0 -52
- package/lib/test-utils/render_with_search.js.map +0 -1
- package/lib/utils/envAdaptor.d.ts +0 -27
- package/lib/utils/envAdaptor.js +0 -81
- package/lib/utils/envAdaptor.js.map +0 -1
- package/src/components/Collapser/CollapserCard.spec.tsx +0 -50
- package/src/components/Collapser/CollapserCard.tsx +0 -76
- package/src/components/ErrorBoundary/components/SomethingWentWrong/components/SomethingWentWrongGraphic/somethingWentWrong.svg +0 -45
- package/src/components/SideNav/SearchCriteriaSelector.tsx +0 -75
- package/src/context/envAdaptor/index.ts +0 -29
- package/src/context/index.ts +0 -28
- package/src/context/search/index.ts +0 -26
- package/src/hooks/index.ts +0 -26
- package/src/reducers/search/actions.spec.ts +0 -50
- package/src/reducers/search/reducer.spec.ts +0 -72
- package/src/scenes/MethodScene/utils.spec.ts +0 -95
- package/src/scenes/MethodScene/utils.ts +0 -121
- package/src/state/settings/action_creators.ts +0 -33
- package/src/test-utils/render_with_lode.tsx +0 -74
- package/src/test-utils/render_with_search.tsx +0 -69
- package/src/utils/envAdaptor.spec.ts +0 -53
- package/src/utils/envAdaptor.ts +0 -120
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SideNav/SearchMessage.tsx"],"names":["SearchMessage","search","ok","message"],"mappings":";;;;;;;
|
|
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
|
|
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
|
|
22
|
+
var _state = require("../../state");
|
|
25
23
|
|
|
26
|
-
var
|
|
24
|
+
var _SideNavMethodTags = require("./SideNavMethodTags");
|
|
27
25
|
|
|
28
|
-
var
|
|
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
|
-
|
|
44
|
-
spec,
|
|
45
|
-
specDispatch
|
|
41
|
+
spec
|
|
46
42
|
} = _ref;
|
|
47
|
-
var
|
|
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
|
|
51
|
-
var
|
|
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 (
|
|
54
|
-
defaultIndex = tabNames.indexOf(
|
|
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
|
-
|
|
62
|
-
|
|
63
|
-
|
|
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 [
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
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
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
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.
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
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
|
-
|
|
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(
|
|
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(
|
|
133
|
-
|
|
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 {};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.SideNavMethodTags = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = _interopRequireDefault(require("react"));
|
|
9
|
+
|
|
10
|
+
var _styledComponents = _interopRequireDefault(require("styled-components"));
|
|
11
|
+
|
|
12
|
+
var _SideNavMethods = require("./SideNavMethods");
|
|
13
|
+
|
|
14
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
+
|
|
16
|
+
var SideNavMethodTags = (0, _styledComponents.default)(_ref => {
|
|
17
|
+
var {
|
|
18
|
+
tags,
|
|
19
|
+
specKey,
|
|
20
|
+
className,
|
|
21
|
+
defaultOpen
|
|
22
|
+
} = _ref;
|
|
23
|
+
return _react.default.createElement("div", {
|
|
24
|
+
className: className
|
|
25
|
+
}, Object.keys(tags).map(tag => _react.default.createElement(_SideNavMethods.SideNavMethods, {
|
|
26
|
+
key: tag,
|
|
27
|
+
defaultOpen: defaultOpen,
|
|
28
|
+
tag: tag,
|
|
29
|
+
methods: tags[tag],
|
|
30
|
+
specKey: specKey
|
|
31
|
+
})));
|
|
32
|
+
}).withConfig({
|
|
33
|
+
displayName: "SideNavMethodTags",
|
|
34
|
+
componentId: "m8q23l-0"
|
|
35
|
+
})(["padding:0 ", ";"], _ref2 => {
|
|
36
|
+
var {
|
|
37
|
+
theme
|
|
38
|
+
} = _ref2;
|
|
39
|
+
return theme.space.large;
|
|
40
|
+
});
|
|
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,11 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
import { MethodList } from '@looker/sdk-codegen';
|
|
1
|
+
/// <reference types="react" />
|
|
2
|
+
import type { MethodList } from '@looker/sdk-codegen';
|
|
3
3
|
interface MethodsProps {
|
|
4
|
-
className?: string;
|
|
5
|
-
defaultOpen?: boolean;
|
|
6
4
|
methods: MethodList;
|
|
7
5
|
tag: string;
|
|
8
6
|
specKey: string;
|
|
7
|
+
className?: string;
|
|
8
|
+
defaultOpen?: boolean;
|
|
9
9
|
}
|
|
10
|
-
export declare const SideNavMethods: import("styled-components").StyledComponent<
|
|
10
|
+
export declare const SideNavMethods: import("styled-components").StyledComponent<({ className, methods, tag, specKey, defaultOpen }: MethodsProps) => JSX.Element, import("styled-components").DefaultTheme, {}, never>;
|
|
11
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
|
|
22
|
+
var _state = require("../../state");
|
|
21
23
|
|
|
22
24
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
23
25
|
|
|
@@ -25,19 +27,15 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
|
|
|
25
27
|
|
|
26
28
|
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
27
29
|
|
|
28
|
-
var
|
|
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,133 +50,79 @@ var SideNavMethodsLayout = _ref => {
|
|
|
52
50
|
(0, _react.useEffect)(() => {
|
|
53
51
|
var status = match ? defaultOpen || match.params.methodTag === tag : defaultOpen;
|
|
54
52
|
setIsOpen(status);
|
|
55
|
-
}, [defaultOpen]);
|
|
56
|
-
return _react.default.createElement(_components.
|
|
57
|
-
defaultOpen: defaultOpen,
|
|
53
|
+
}, [defaultOpen, match, tag]);
|
|
54
|
+
return _react.default.createElement(_components.Accordion2, {
|
|
58
55
|
isOpen: isOpen,
|
|
59
56
|
toggleOpen: handleOpen,
|
|
60
|
-
className: className
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
57
|
+
className: className,
|
|
58
|
+
label: _react.default.createElement(_components.Heading, {
|
|
59
|
+
as: "h4",
|
|
60
|
+
fontSize: "small",
|
|
61
|
+
py: "xsmall"
|
|
62
|
+
}, (0, _utils.highlightHTML)(searchPattern, tag))
|
|
63
|
+
}, _react.default.createElement("ul", null, Object.values(methods).map(method => _react.default.createElement("li", {
|
|
64
|
+
key: method.name
|
|
65
|
+
}, _react.default.createElement(_Link.Link, {
|
|
65
66
|
to: "".concat((0, _utils.buildMethodPath)(specKey, tag, method.name))
|
|
66
|
-
},
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
}, (0, _utils.highlightHTML)(pattern, method.summary))))))));
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
var AutoHeightList = (0, _styledComponents.default)(_components.List).withConfig({
|
|
73
|
-
displayName: "SideNavMethods__AutoHeightList",
|
|
67
|
+
}, (0, _utils.highlightHTML)(searchPattern, method.summary))))));
|
|
68
|
+
}).withConfig({
|
|
69
|
+
displayName: "SideNavMethods",
|
|
74
70
|
componentId: "sc-1qqmwk8-0"
|
|
75
|
-
})(["
|
|
76
|
-
var SideNavLink = (0, _styledComponents.default)(_Link.Link).withConfig({
|
|
77
|
-
displayName: "SideNavMethods__SideNavLink",
|
|
78
|
-
componentId: "sc-1qqmwk8-1"
|
|
79
|
-
})(["&:hover,&:focus,&.active{li{background-color:", ";}}li{display:flex;border-radius:", ";padding:", ";}"], _ref2 => {
|
|
71
|
+
})(["font-family:", ";[aria-controls]:hover,[aria-expanded='true']{h4,svg{color:", ";}}[aria-expanded='true'] h4{font-weight:", ";}ul{border-left:dashed 1px ", ";list-style:none;margin:0;padding:0;padding-left:", ";padding-top:", ";}[aria-current]{background:", ";font-weight:", ";}", "{border-radius:", ";display:block;overflow:hidden;padding:", ";text-overflow:ellipsis;white-space:nowrap;&:hover,&:focus,&.active{background:", ";}}"], _ref2 => {
|
|
80
72
|
var {
|
|
81
73
|
theme
|
|
82
74
|
} = _ref2;
|
|
83
|
-
return theme.
|
|
75
|
+
return theme.fonts.brand;
|
|
84
76
|
}, _ref3 => {
|
|
85
77
|
var {
|
|
86
|
-
theme
|
|
87
|
-
radii
|
|
88
|
-
}
|
|
78
|
+
theme
|
|
89
79
|
} = _ref3;
|
|
90
|
-
return
|
|
80
|
+
return theme.colors.key;
|
|
91
81
|
}, _ref4 => {
|
|
92
82
|
var {
|
|
93
83
|
theme
|
|
94
84
|
} = _ref4;
|
|
95
|
-
return theme.
|
|
96
|
-
}
|
|
97
|
-
var SideNavMethods = (0, _styledComponents.default)(SideNavMethodsLayout).withConfig({
|
|
98
|
-
displayName: "SideNavMethods",
|
|
99
|
-
componentId: "sc-1qqmwk8-2"
|
|
100
|
-
})(["", "{padding-left:", ";padding-right:", ";&:hover{color:", ";", "{color:", ";}}&[aria-expanded='true']{color:", ";", "{color:", ";font-weight:", ";}}}", "{padding:", ";}", "{border-left:dashed 1px ", ";padding:", ";padding-right:0;}li{display:flex;border-radius:", ";padding:", ";&:hover,&:focus{background-color:", ";}}[aria-current]{background-color:", ";", "{font-weight:", ";}}"], _components.AccordionDisclosure, _ref5 => {
|
|
85
|
+
return theme.fontWeights.semiBold;
|
|
86
|
+
}, _ref5 => {
|
|
101
87
|
var {
|
|
102
88
|
theme
|
|
103
89
|
} = _ref5;
|
|
104
|
-
return theme.
|
|
90
|
+
return theme.colors.ui2;
|
|
105
91
|
}, _ref6 => {
|
|
106
92
|
var {
|
|
107
93
|
theme
|
|
108
94
|
} = _ref6;
|
|
109
|
-
return theme.space.
|
|
95
|
+
return theme.space.xxsmall;
|
|
110
96
|
}, _ref7 => {
|
|
111
97
|
var {
|
|
112
98
|
theme
|
|
113
99
|
} = _ref7;
|
|
114
|
-
return theme.
|
|
115
|
-
},
|
|
100
|
+
return theme.space.xxsmall;
|
|
101
|
+
}, _ref8 => {
|
|
116
102
|
var {
|
|
117
103
|
theme
|
|
118
104
|
} = _ref8;
|
|
119
|
-
return theme.colors.
|
|
105
|
+
return theme.colors.ui1;
|
|
120
106
|
}, _ref9 => {
|
|
121
107
|
var {
|
|
122
108
|
theme
|
|
123
109
|
} = _ref9;
|
|
124
|
-
return theme.
|
|
125
|
-
},
|
|
110
|
+
return theme.fontWeights.semiBold;
|
|
111
|
+
}, _Link.Link, _ref10 => {
|
|
126
112
|
var {
|
|
127
113
|
theme
|
|
128
114
|
} = _ref10;
|
|
129
|
-
return theme.
|
|
115
|
+
return theme.radii.medium;
|
|
130
116
|
}, _ref11 => {
|
|
131
117
|
var {
|
|
132
118
|
theme
|
|
133
119
|
} = _ref11;
|
|
134
|
-
return theme.fontWeights.semiBold;
|
|
135
|
-
}, _components.AccordionContent, _ref12 => {
|
|
136
|
-
var {
|
|
137
|
-
theme: {
|
|
138
|
-
space: {
|
|
139
|
-
xxsmall,
|
|
140
|
-
large
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
} = _ref12;
|
|
144
|
-
return "".concat(xxsmall, " ").concat(large);
|
|
145
|
-
}, _components.List, _ref13 => {
|
|
146
|
-
var {
|
|
147
|
-
theme
|
|
148
|
-
} = _ref13;
|
|
149
|
-
return theme.colors.ui2;
|
|
150
|
-
}, _ref14 => {
|
|
151
|
-
var {
|
|
152
|
-
theme
|
|
153
|
-
} = _ref14;
|
|
154
|
-
return theme.space.xxsmall;
|
|
155
|
-
}, _ref15 => {
|
|
156
|
-
var {
|
|
157
|
-
theme: {
|
|
158
|
-
radii
|
|
159
|
-
}
|
|
160
|
-
} = _ref15;
|
|
161
|
-
return radii.medium;
|
|
162
|
-
}, _ref16 => {
|
|
163
|
-
var {
|
|
164
|
-
theme
|
|
165
|
-
} = _ref16;
|
|
166
120
|
return theme.space.xsmall;
|
|
167
|
-
},
|
|
168
|
-
var {
|
|
169
|
-
theme
|
|
170
|
-
} = _ref17;
|
|
171
|
-
return theme.colors.ui1;
|
|
172
|
-
}, _ref18 => {
|
|
121
|
+
}, _ref12 => {
|
|
173
122
|
var {
|
|
174
123
|
theme
|
|
175
|
-
} =
|
|
124
|
+
} = _ref12;
|
|
176
125
|
return theme.colors.ui1;
|
|
177
|
-
}, _components.Heading, _ref19 => {
|
|
178
|
-
var {
|
|
179
|
-
theme
|
|
180
|
-
} = _ref19;
|
|
181
|
-
return theme.fontWeights.semiBold;
|
|
182
126
|
});
|
|
183
127
|
exports.SideNavMethods = SideNavMethods;
|
|
184
128
|
//# sourceMappingURL=SideNavMethods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../src/components/SideNav/SideNavMethods.tsx"],"names":["
|
|
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"}
|