@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":["React","Heading","Icon","Flex","Error","SearchMessage","search","ok","message"],"mappings":"
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SideNav/SearchMessage.tsx"],"names":["React","Heading","Icon","Flex","Error","SearchMessage","search","ok","message"],"mappings":"AA0BA,OAAOA,KAAP,MAAkB,OAAlB;AAEA,SAASC,OAAT,EAAkBC,IAAlB,EAAwBC,IAAxB,QAAoC,oBAApC;AACA,SAASC,KAAT,QAAsB,8BAAtB;AAWA,OAAO,IAAMC,aAAqC,GAAG;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,SACnD,0CACGA,MAAM,IAAI,CAACA,MAAM,CAACC,EAAlB,IACC,oBAAC,IAAD;AAAM,IAAA,EAAE,EAAC,OAAT;AAAiB,IAAA,EAAE,EAAC,OAApB;AAA4B,IAAA,UAAU,EAAC;AAAvC,KACE,oBAAC,OAAD;AAAS,IAAA,EAAE,EAAC,IAAZ;AAAiB,IAAA,KAAK,EAAC;AAAvB,KACE,oBAAC,IAAD;AACE,IAAA,GAAG,EAAC,YADN;AAEE,IAAA,IAAI,EAAE,oBAAC,KAAD,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,50 +1,78 @@
|
|
|
1
1
|
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
|
|
2
2
|
|
|
3
|
-
import React, {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import { setPattern } from '../../reducers';
|
|
3
|
+
import React, { useEffect, useState } from 'react';
|
|
4
|
+
import { useHistory, useLocation } from 'react-router-dom';
|
|
5
|
+
import { TabList, Tab, TabPanel, TabPanels, useTabs, InputSearch } from '@looker/components';
|
|
6
|
+
import { criteriaToSet, tagTypes } from '@looker/sdk-codegen';
|
|
7
|
+
import { useSelector } from 'react-redux';
|
|
9
8
|
import { useWindowSize } from '../../utils';
|
|
10
9
|
import { HEADER_REM } from '../Header';
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
10
|
+
import { selectSearchCriteria, useSettingActions } from '../../state';
|
|
11
|
+
import { SideNavMethodTags } from './SideNavMethodTags';
|
|
12
|
+
import { SideNavTypeTags } from './SideNavTypeTags';
|
|
14
13
|
import { useDebounce, countMethods, countTypes } from './searchUtils';
|
|
15
14
|
import { SearchMessage } from './SearchMessage';
|
|
16
15
|
export var SideNav = _ref => {
|
|
17
16
|
var {
|
|
18
17
|
headless = false,
|
|
19
|
-
|
|
20
|
-
spec,
|
|
21
|
-
specDispatch
|
|
18
|
+
spec
|
|
22
19
|
} = _ref;
|
|
23
|
-
var
|
|
20
|
+
var history = useHistory();
|
|
21
|
+
var location = useLocation();
|
|
24
22
|
var specKey = spec.key;
|
|
25
23
|
var tabNames = ['methods', 'types'];
|
|
26
|
-
var
|
|
27
|
-
var
|
|
24
|
+
var pathParts = location.pathname.split('/');
|
|
25
|
+
var sideNavTab = pathParts[1] === 'diff' ? pathParts[3] : pathParts[2];
|
|
26
|
+
var defaultIndex = tabNames.indexOf(sideNavTab);
|
|
28
27
|
|
|
29
|
-
if (
|
|
30
|
-
defaultIndex = tabNames.indexOf(
|
|
28
|
+
if (defaultIndex < 0) {
|
|
29
|
+
defaultIndex = tabNames.indexOf('methods');
|
|
31
30
|
}
|
|
32
31
|
|
|
32
|
+
var onTabChange = index => {
|
|
33
|
+
var parts = location.pathname.split('/');
|
|
34
|
+
|
|
35
|
+
if (parts[1] === 'diff') {
|
|
36
|
+
if (parts[3] !== tabNames[index]) {
|
|
37
|
+
parts[3] = tabNames[index];
|
|
38
|
+
history.push(parts.join('/'));
|
|
39
|
+
}
|
|
40
|
+
} else {
|
|
41
|
+
if (parts[2] !== tabNames[index]) {
|
|
42
|
+
parts[2] = tabNames[index];
|
|
43
|
+
history.push(parts.join('/'));
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
|
|
33
48
|
var tabs = useTabs({
|
|
34
|
-
defaultIndex
|
|
49
|
+
defaultIndex,
|
|
50
|
+
onChange: onTabChange
|
|
35
51
|
});
|
|
52
|
+
var searchCriteria = useSelector(selectSearchCriteria);
|
|
36
53
|
var {
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var [pattern, setSearchPattern] = useState(searchSettings.pattern);
|
|
54
|
+
setSearchPatternAction
|
|
55
|
+
} = useSettingActions();
|
|
56
|
+
var [pattern, setSearchPattern] = useState('');
|
|
41
57
|
var debouncedPattern = useDebounce(pattern, 250);
|
|
42
|
-
var [
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
58
|
+
var [sideNavState, setSideNavState] = useState(() => {
|
|
59
|
+
var _spec$api, _spec$api2, _spec$api3, _spec$api4;
|
|
60
|
+
|
|
61
|
+
return {
|
|
62
|
+
tags: (spec === null || spec === void 0 ? void 0 : (_spec$api = spec.api) === null || _spec$api === void 0 ? void 0 : _spec$api.tags) || {},
|
|
63
|
+
typeTags: (spec === null || spec === void 0 ? void 0 : (_spec$api2 = spec.api) === null || _spec$api2 === void 0 ? void 0 : _spec$api2.typeTags) || {},
|
|
64
|
+
methodCount: countMethods((spec === null || spec === void 0 ? void 0 : (_spec$api3 = spec.api) === null || _spec$api3 === void 0 ? void 0 : _spec$api3.tags) || {}),
|
|
65
|
+
typeCount: countTypes((spec === null || spec === void 0 ? void 0 : (_spec$api4 = spec.api) === null || _spec$api4 === void 0 ? void 0 : _spec$api4.types) || {}),
|
|
66
|
+
searchResults: undefined
|
|
67
|
+
};
|
|
68
|
+
});
|
|
69
|
+
var {
|
|
70
|
+
tags,
|
|
71
|
+
typeTags,
|
|
72
|
+
methodCount,
|
|
73
|
+
typeCount,
|
|
74
|
+
searchResults
|
|
75
|
+
} = sideNavState;
|
|
48
76
|
|
|
49
77
|
var handleInputChange = value => {
|
|
50
78
|
setSearchPattern(value);
|
|
@@ -54,46 +82,55 @@ export var SideNav = _ref => {
|
|
|
54
82
|
var results;
|
|
55
83
|
var newTags;
|
|
56
84
|
var newTypes;
|
|
85
|
+
var newTypeTags;
|
|
86
|
+
var api = spec.api || {};
|
|
57
87
|
|
|
58
|
-
if (debouncedPattern) {
|
|
59
|
-
results = api.search(pattern, searchCriteria);
|
|
88
|
+
if (debouncedPattern && api.search) {
|
|
89
|
+
results = api.search(pattern, criteriaToSet(searchCriteria));
|
|
60
90
|
newTags = results.tags;
|
|
61
91
|
newTypes = results.types;
|
|
92
|
+
newTypeTags = tagTypes(api, results.types);
|
|
62
93
|
} else {
|
|
63
94
|
newTags = api.tags || {};
|
|
64
95
|
newTypes = api.types || {};
|
|
96
|
+
newTypeTags = api.typeTags || {};
|
|
65
97
|
}
|
|
66
98
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
99
|
+
setSideNavState({
|
|
100
|
+
tags: newTags,
|
|
101
|
+
typeTags: newTypeTags,
|
|
102
|
+
typeCount: countTypes(newTypes),
|
|
103
|
+
methodCount: countMethods(newTags),
|
|
104
|
+
searchResults: results
|
|
105
|
+
});
|
|
106
|
+
setSearchPatternAction({
|
|
107
|
+
searchPattern: debouncedPattern
|
|
108
|
+
});
|
|
109
|
+
}, [debouncedPattern, specKey, spec, setSearchPatternAction, pattern, searchCriteria]);
|
|
110
|
+
useEffect(() => {
|
|
111
|
+
var {
|
|
112
|
+
selectedIndex,
|
|
113
|
+
onSelectTab
|
|
114
|
+
} = tabs;
|
|
115
|
+
|
|
116
|
+
if (defaultIndex !== selectedIndex) {
|
|
117
|
+
onSelectTab(defaultIndex);
|
|
118
|
+
}
|
|
119
|
+
}, [defaultIndex, tabs]);
|
|
74
120
|
var size = useWindowSize();
|
|
75
121
|
var headlessOffset = headless ? 200 : 120;
|
|
76
122
|
var menuH = size.height - 16 * HEADER_REM - headlessOffset;
|
|
77
|
-
return React.createElement("nav", null, React.createElement(
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
as: "h5",
|
|
83
|
-
color: "key",
|
|
84
|
-
fontWeight: "bold"
|
|
85
|
-
}, "API Documentation"), React.createElement(SelectorContainer, {
|
|
86
|
-
specs: specs,
|
|
87
|
-
spec: spec,
|
|
88
|
-
specDispatch: specDispatch
|
|
89
|
-
})), React.createElement(InputSearch, {
|
|
123
|
+
return React.createElement("nav", null, React.createElement(InputSearch, {
|
|
124
|
+
pl: "large",
|
|
125
|
+
pr: "large",
|
|
126
|
+
pb: "large",
|
|
127
|
+
pt: headless ? 'u3' : 'large',
|
|
90
128
|
"aria-label": "Search",
|
|
91
129
|
onChange: handleInputChange,
|
|
92
130
|
placeholder: "Search",
|
|
93
131
|
value: pattern,
|
|
94
|
-
isClearable: true
|
|
95
|
-
|
|
96
|
-
})), React.createElement(SearchMessage, {
|
|
132
|
+
isClearable: true
|
|
133
|
+
}), React.createElement(SearchMessage, {
|
|
97
134
|
search: searchResults
|
|
98
135
|
}), React.createElement(TabList, _extends({}, tabs, {
|
|
99
136
|
distribute: true
|
|
@@ -101,13 +138,14 @@ export var SideNav = _ref => {
|
|
|
101
138
|
pt: "xsmall",
|
|
102
139
|
height: "".concat(menuH, "px"),
|
|
103
140
|
overflow: "auto"
|
|
104
|
-
}), React.createElement(TabPanel, null, React.createElement(
|
|
141
|
+
}), React.createElement(TabPanel, null, React.createElement(SideNavMethodTags, {
|
|
105
142
|
tags: tags,
|
|
106
143
|
specKey: specKey,
|
|
107
144
|
defaultOpen: !!searchResults
|
|
108
|
-
})), React.createElement(TabPanel, null, React.createElement(
|
|
109
|
-
|
|
110
|
-
specKey: specKey
|
|
145
|
+
})), React.createElement(TabPanel, null, React.createElement(SideNavTypeTags, {
|
|
146
|
+
tags: typeTags,
|
|
147
|
+
specKey: specKey,
|
|
148
|
+
defaultOpen: !!searchResults
|
|
111
149
|
}))));
|
|
112
150
|
};
|
|
113
151
|
//# sourceMappingURL=SideNav.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SideNav/SideNav.tsx"],"names":["React","useContext","useEffect","useState","Heading","TabList","Tab","TabPanel","TabPanels","useTabs","InputSearch","SpaceVertical","CriteriaToSet","useRouteMatch","SearchContext","setPattern","useWindowSize","HEADER_REM","SelectorContainer","SideNavTags","SideNavTypes","useDebounce","countMethods","countTypes","SearchMessage","SideNav","headless","specs","spec","specDispatch","api","specKey","key","tabNames","match","defaultIndex","indexOf","params","sideNavTab","tabs","searchSettings","setSearchSettings","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"],"mappings":";;AA0BA,OAAOA,KAAP,IAAoBC,UAApB,EAAgCC,SAAhC,EAA2CC,QAA3C,QAAqE,OAArE;AACA,SACEC,OADF,EAEEC,OAFF,EAGEC,GAHF,EAIEC,QAJF,EAKEC,SALF,EAMEC,OANF,EAOEC,WAPF,EAQEC,aARF,QASO,oBATP;AAUA,SAGEC,aAHF,QAMO,qBANP;AAOA,SAASC,aAAT,QAA8B,kBAA9B;AAEA,SAASC,aAAT,QAA8B,eAA9B;AACA,SAASC,UAAT,QAAuC,gBAAvC;AACA,SAASC,aAAT,QAA8B,aAA9B;AACA,SAASC,UAAT,QAA2B,WAA3B;AACA,SAASC,iBAAT,QAAkC,sBAAlC;AACA,SAASC,WAAT,QAA4B,eAA5B;AACA,SAASC,YAAT,QAA6B,gBAA7B;AACA,SAASC,WAAT,EAAsBC,YAAtB,EAAoCC,UAApC,QAAsD,eAAtD;AACA,SAASC,aAAT,QAA8B,iBAA9B;AAgBA,OAAO,IAAMC,OAAyB,GAAG,QAKnC;AAAA,MALoC;AACxCC,IAAAA,QAAQ,GAAG,KAD6B;AAExCC,IAAAA,KAFwC;AAGxCC,IAAAA,IAHwC;AAIxCC,IAAAA;AAJwC,GAKpC;AACJ,MAAMC,GAAG,GAAGF,IAAI,CAACE,GAAL,IAAa,EAAzB;AACA,MAAMC,OAAO,GAAGH,IAAI,CAACI,GAArB;AACA,MAAMC,QAAQ,GAAG,CAAC,SAAD,EAAY,OAAZ,CAAjB;AACA,MAAMC,KAAK,GAAGrB,aAAa,0BAA3B;AACA,MAAIsB,YAAY,GAAGF,QAAQ,CAACG,OAAT,CAAiB,SAAjB,CAAnB;;AACA,MAAIF,KAAK,IAAIA,KAAK,CAACG,MAAN,CAAaC,UAA1B,EAAsC;AACpCH,IAAAA,YAAY,GAAGF,QAAQ,CAACG,OAAT,CAAiBF,KAAK,CAACG,MAAN,CAAaC,UAA9B,CAAf;AACD;;AACD,MAAMC,IAAI,GAAG9B,OAAO,CAAC;AAAE0B,IAAAA;AAAF,GAAD,CAApB;AACA,MAAM;AAAEK,IAAAA,cAAF;AAAkBC,IAAAA;AAAlB,MAAwCxC,UAAU,CAACa,aAAD,CAAxD;AACA,MAAM,CAAC4B,OAAD,EAAUC,gBAAV,IAA8BxC,QAAQ,CAACqC,cAAc,CAACE,OAAhB,CAA5C;AACA,MAAME,gBAAgB,GAAGvB,WAAW,CAACqB,OAAD,EAAU,GAAV,CAApC;AACA,MAAM,CAACG,aAAD,EAAgBC,gBAAhB,IAAoC3C,QAAQ,EAAlD;AACA,MAAM4C,cAAc,GAAGnC,aAAa,CAAC4B,cAAc,CAACQ,QAAhB,CAApC;AACA,MAAM,CAACC,IAAD,EAAOC,OAAP,IAAkB/C,QAAQ,CAAC2B,GAAG,CAACmB,IAAJ,IAAY,EAAb,CAAhC;AACA,MAAM,CAACE,KAAD,EAAQC,QAAR,IAAoBjD,QAAQ,CAAC2B,GAAG,CAACqB,KAAJ,IAAa,EAAd,CAAlC;AACA,MAAM,CAACE,WAAD,EAAcC,cAAd,IAAgCnD,QAAQ,CAACmB,YAAY,CAAC2B,IAAD,CAAb,CAA9C;AACA,MAAM,CAACM,SAAD,EAAYC,YAAZ,IAA4BrD,QAAQ,CAACoB,UAAU,CAAC4B,KAAD,CAAX,CAA1C;;AAEA,MAAMM,iBAAiB,GAAIC,KAAD,IAAmB;AAC3Cf,IAAAA,gBAAgB,CAACe,KAAD,CAAhB;AACD,GAFD;;AAIAxD,EAAAA,SAAS,CAAC,MAAM;AACd,QAAIyD,OAAJ;AACA,QAAIC,OAAJ;AACA,QAAIC,QAAJ;;AACA,QAAIjB,gBAAJ,EAAsB;AACpBe,MAAAA,OAAO,GAAG7B,GAAG,CAACgC,MAAJ,CAAWpB,OAAX,EAAoBK,cAApB,CAAV;AACAa,MAAAA,OAAO,GAAGD,OAAO,CAACV,IAAlB;AACAY,MAAAA,QAAQ,GAAGF,OAAO,CAACR,KAAnB;AACD,KAJD,MAIO;AACLS,MAAAA,OAAO,GAAG9B,GAAG,CAACmB,IAAJ,IAAY,EAAtB;AACAY,MAAAA,QAAQ,GAAG/B,GAAG,CAACqB,KAAJ,IAAa,EAAxB;AACD;;AAEDD,IAAAA,OAAO,CAACU,OAAD,CAAP;AACAR,IAAAA,QAAQ,CAACS,QAAD,CAAR;AACAP,IAAAA,cAAc,CAAChC,YAAY,CAACsC,OAAD,CAAb,CAAd;AACAJ,IAAAA,YAAY,CAACjC,UAAU,CAACsC,QAAD,CAAX,CAAZ;AACAf,IAAAA,gBAAgB,CAACa,OAAD,CAAhB;AACAlB,IAAAA,iBAAiB,CAAC1B,UAAU,CAAC6B,gBAAD,CAAX,CAAjB;AACD,GAnBQ,EAmBN,CAACA,gBAAD,EAAmBb,OAAnB,EAA4BH,IAA5B,CAnBM,CAAT;AAqBA,MAAMmC,IAAI,GAAG/C,aAAa,EAA1B;AACA,MAAMgD,cAAc,GAAGtC,QAAQ,GAAG,GAAH,GAAS,GAAxC;AACA,MAAMuC,KAAK,GAAGF,IAAI,CAACG,MAAL,GAAc,KAAKjD,UAAnB,GAAgC+C,cAA9C;AAEA,SACE,iCACE,oBAAC,aAAD;AAAe,IAAA,UAAU,EAAC,QAA1B;AAAmC,IAAA,CAAC,EAAC,OAArC;AAA6C,IAAA,GAAG,EAAC;AAAjD,KACGtC,QAAQ,IACP,oBAAC,aAAD,QACE,oBAAC,OAAD;AAAS,IAAA,EAAE,EAAC,IAAZ;AAAiB,IAAA,KAAK,EAAC,KAAvB;AAA6B,IAAA,UAAU,EAAC;AAAxC,yBADF,EAIE,oBAAC,iBAAD;AACE,IAAA,KAAK,EAAEC,KADT;AAEE,IAAA,IAAI,EAAEC,IAFR;AAGE,IAAA,YAAY,EAAEC;AAHhB,IAJF,CAFJ,EAaE,oBAAC,WAAD;AACE,kBAAW,QADb;AAEE,IAAA,QAAQ,EAAE4B,iBAFZ;AAGE,IAAA,WAAW,EAAC,QAHd;AAIE,IAAA,KAAK,EAAEf,OAJT;AAKE,IAAA,WAAW,MALb;AAME,IAAA,cAAc;AANhB,IAbF,CADF,EAuBE,oBAAC,aAAD;AAAe,IAAA,MAAM,EAAEG;AAAvB,IAvBF,EAwBE,oBAAC,OAAD,eAAaN,IAAb;AAAmB,IAAA,UAAU;AAA7B,MACE,oBAAC,GAAD,qBAAec,WAAf,MADF,EAEE,oBAAC,GAAD,mBAAaE,SAAb,MAFF,CAxBF,EA4BE,oBAAC,SAAD,eAAehB,IAAf;AAAqB,IAAA,EAAE,EAAC,QAAxB;AAAiC,IAAA,MAAM,YAAK0B,KAAL,OAAvC;AAAuD,IAAA,QAAQ,EAAC;AAAhE,MACE,oBAAC,QAAD,QACE,oBAAC,WAAD;AACE,IAAA,IAAI,EAAEhB,IADR;AAEE,IAAA,OAAO,EAAElB,OAFX;AAGE,IAAA,WAAW,EAAE,CAAC,CAACc;AAHjB,IADF,CADF,EAQE,oBAAC,QAAD,QACE,oBAAC,YAAD;AAAc,IAAA,KAAK,EAAEM,KAArB;AAA4B,IAAA,OAAO,EAAEpB;AAArC,IADF,CARF,CA5BF,CADF;AA2CD,CAjGM","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":["React","useEffect","useState","useHistory","useLocation","TabList","Tab","TabPanel","TabPanels","useTabs","InputSearch","criteriaToSet","tagTypes","useSelector","useWindowSize","HEADER_REM","selectSearchCriteria","useSettingActions","SideNavMethodTags","SideNavTypeTags","useDebounce","countMethods","countTypes","SearchMessage","SideNav","headless","spec","history","location","specKey","key","tabNames","pathParts","pathname","split","sideNavTab","defaultIndex","indexOf","onTabChange","index","parts","push","join","tabs","onChange","searchCriteria","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"],"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,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import { SideNavMethods } from './SideNavMethods';
|
|
4
|
+
export var SideNavMethodTags = styled(_ref => {
|
|
5
|
+
var {
|
|
6
|
+
tags,
|
|
7
|
+
specKey,
|
|
8
|
+
className,
|
|
9
|
+
defaultOpen
|
|
10
|
+
} = _ref;
|
|
11
|
+
return React.createElement("div", {
|
|
12
|
+
className: className
|
|
13
|
+
}, Object.keys(tags).map(tag => React.createElement(SideNavMethods, {
|
|
14
|
+
key: tag,
|
|
15
|
+
defaultOpen: defaultOpen,
|
|
16
|
+
tag: tag,
|
|
17
|
+
methods: tags[tag],
|
|
18
|
+
specKey: specKey
|
|
19
|
+
})));
|
|
20
|
+
}).withConfig({
|
|
21
|
+
displayName: "SideNavMethodTags",
|
|
22
|
+
componentId: "m8q23l-0"
|
|
23
|
+
})(["padding:0 ", ";"], _ref2 => {
|
|
24
|
+
var {
|
|
25
|
+
theme
|
|
26
|
+
} = _ref2;
|
|
27
|
+
return theme.space.large;
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=SideNavMethodTags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SideNav/SideNavMethodTags.tsx"],"names":["React","styled","SideNavMethods","SideNavMethodTags","tags","specKey","className","defaultOpen","Object","keys","map","tag","theme","space","large"],"mappings":"AA0BA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,SAASC,cAAT,QAA+B,kBAA/B;AASA,OAAO,IAAMC,iBAAiB,GAAGF,MAAM,CACrC;AAAA,MAAC;AAAEG,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,oBAAC,cAAD;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,CADqC,CAAT;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,24 +1,20 @@
|
|
|
1
|
-
import React, {
|
|
1
|
+
import React, { useEffect, useState } from 'react';
|
|
2
2
|
import styled from 'styled-components';
|
|
3
|
-
import {
|
|
3
|
+
import { Accordion2, Heading } from '@looker/components';
|
|
4
|
+
import { useSelector } from 'react-redux';
|
|
4
5
|
import { useHistory, useRouteMatch } from 'react-router-dom';
|
|
5
6
|
import { Link } from '../Link';
|
|
6
7
|
import { buildMethodPath, highlightHTML } from '../../utils';
|
|
7
|
-
import {
|
|
8
|
-
|
|
9
|
-
var SideNavMethodsLayout = _ref => {
|
|
8
|
+
import { selectSearchPattern } from '../../state';
|
|
9
|
+
export var SideNavMethods = styled(_ref => {
|
|
10
10
|
var {
|
|
11
11
|
className,
|
|
12
|
-
defaultOpen = false,
|
|
13
12
|
methods,
|
|
14
13
|
tag,
|
|
15
|
-
specKey
|
|
14
|
+
specKey,
|
|
15
|
+
defaultOpen = false
|
|
16
16
|
} = _ref;
|
|
17
|
-
var
|
|
18
|
-
searchSettings: {
|
|
19
|
-
pattern
|
|
20
|
-
}
|
|
21
|
-
} = useContext(SearchContext);
|
|
17
|
+
var searchPattern = useSelector(selectSearchPattern);
|
|
22
18
|
var match = useRouteMatch("/:specKey/methods/:methodTag/:methodName?");
|
|
23
19
|
var [isOpen, setIsOpen] = useState(defaultOpen);
|
|
24
20
|
var history = useHistory();
|
|
@@ -33,132 +29,78 @@ var SideNavMethodsLayout = _ref => {
|
|
|
33
29
|
useEffect(() => {
|
|
34
30
|
var status = match ? defaultOpen || match.params.methodTag === tag : defaultOpen;
|
|
35
31
|
setIsOpen(status);
|
|
36
|
-
}, [defaultOpen]);
|
|
37
|
-
return React.createElement(
|
|
38
|
-
defaultOpen: defaultOpen,
|
|
32
|
+
}, [defaultOpen, match, tag]);
|
|
33
|
+
return React.createElement(Accordion2, {
|
|
39
34
|
isOpen: isOpen,
|
|
40
35
|
toggleOpen: handleOpen,
|
|
41
|
-
className: className
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
36
|
+
className: className,
|
|
37
|
+
label: React.createElement(Heading, {
|
|
38
|
+
as: "h4",
|
|
39
|
+
fontSize: "small",
|
|
40
|
+
py: "xsmall"
|
|
41
|
+
}, highlightHTML(searchPattern, tag))
|
|
42
|
+
}, React.createElement("ul", null, Object.values(methods).map(method => React.createElement("li", {
|
|
43
|
+
key: method.name
|
|
44
|
+
}, React.createElement(Link, {
|
|
46
45
|
to: "".concat(buildMethodPath(specKey, tag, method.name))
|
|
47
|
-
},
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}, highlightHTML(pattern, method.summary))))))));
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
var AutoHeightList = styled(List).withConfig({
|
|
54
|
-
displayName: "SideNavMethods__AutoHeightList",
|
|
46
|
+
}, highlightHTML(searchPattern, method.summary))))));
|
|
47
|
+
}).withConfig({
|
|
48
|
+
displayName: "SideNavMethods",
|
|
55
49
|
componentId: "sc-1qqmwk8-0"
|
|
56
|
-
})(["
|
|
57
|
-
var SideNavLink = styled(Link).withConfig({
|
|
58
|
-
displayName: "SideNavMethods__SideNavLink",
|
|
59
|
-
componentId: "sc-1qqmwk8-1"
|
|
60
|
-
})(["&:hover,&:focus,&.active{li{background-color:", ";}}li{display:flex;border-radius:", ";padding:", ";}"], _ref2 => {
|
|
50
|
+
})(["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 => {
|
|
61
51
|
var {
|
|
62
52
|
theme
|
|
63
53
|
} = _ref2;
|
|
64
|
-
return theme.
|
|
54
|
+
return theme.fonts.brand;
|
|
65
55
|
}, _ref3 => {
|
|
66
56
|
var {
|
|
67
|
-
theme
|
|
68
|
-
radii
|
|
69
|
-
}
|
|
57
|
+
theme
|
|
70
58
|
} = _ref3;
|
|
71
|
-
return
|
|
59
|
+
return theme.colors.key;
|
|
72
60
|
}, _ref4 => {
|
|
73
61
|
var {
|
|
74
62
|
theme
|
|
75
63
|
} = _ref4;
|
|
76
|
-
return theme.
|
|
77
|
-
}
|
|
78
|
-
export var SideNavMethods = styled(SideNavMethodsLayout).withConfig({
|
|
79
|
-
displayName: "SideNavMethods",
|
|
80
|
-
componentId: "sc-1qqmwk8-2"
|
|
81
|
-
})(["", "{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:", ";}}"], AccordionDisclosure, _ref5 => {
|
|
64
|
+
return theme.fontWeights.semiBold;
|
|
65
|
+
}, _ref5 => {
|
|
82
66
|
var {
|
|
83
67
|
theme
|
|
84
68
|
} = _ref5;
|
|
85
|
-
return theme.
|
|
69
|
+
return theme.colors.ui2;
|
|
86
70
|
}, _ref6 => {
|
|
87
71
|
var {
|
|
88
72
|
theme
|
|
89
73
|
} = _ref6;
|
|
90
|
-
return theme.space.
|
|
74
|
+
return theme.space.xxsmall;
|
|
91
75
|
}, _ref7 => {
|
|
92
76
|
var {
|
|
93
77
|
theme
|
|
94
78
|
} = _ref7;
|
|
95
|
-
return theme.
|
|
96
|
-
},
|
|
79
|
+
return theme.space.xxsmall;
|
|
80
|
+
}, _ref8 => {
|
|
97
81
|
var {
|
|
98
82
|
theme
|
|
99
83
|
} = _ref8;
|
|
100
|
-
return theme.colors.
|
|
84
|
+
return theme.colors.ui1;
|
|
101
85
|
}, _ref9 => {
|
|
102
86
|
var {
|
|
103
87
|
theme
|
|
104
88
|
} = _ref9;
|
|
105
|
-
return theme.
|
|
106
|
-
},
|
|
89
|
+
return theme.fontWeights.semiBold;
|
|
90
|
+
}, Link, _ref10 => {
|
|
107
91
|
var {
|
|
108
92
|
theme
|
|
109
93
|
} = _ref10;
|
|
110
|
-
return theme.
|
|
94
|
+
return theme.radii.medium;
|
|
111
95
|
}, _ref11 => {
|
|
112
96
|
var {
|
|
113
97
|
theme
|
|
114
98
|
} = _ref11;
|
|
115
|
-
return theme.fontWeights.semiBold;
|
|
116
|
-
}, AccordionContent, _ref12 => {
|
|
117
|
-
var {
|
|
118
|
-
theme: {
|
|
119
|
-
space: {
|
|
120
|
-
xxsmall,
|
|
121
|
-
large
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
} = _ref12;
|
|
125
|
-
return "".concat(xxsmall, " ").concat(large);
|
|
126
|
-
}, List, _ref13 => {
|
|
127
|
-
var {
|
|
128
|
-
theme
|
|
129
|
-
} = _ref13;
|
|
130
|
-
return theme.colors.ui2;
|
|
131
|
-
}, _ref14 => {
|
|
132
|
-
var {
|
|
133
|
-
theme
|
|
134
|
-
} = _ref14;
|
|
135
|
-
return theme.space.xxsmall;
|
|
136
|
-
}, _ref15 => {
|
|
137
|
-
var {
|
|
138
|
-
theme: {
|
|
139
|
-
radii
|
|
140
|
-
}
|
|
141
|
-
} = _ref15;
|
|
142
|
-
return radii.medium;
|
|
143
|
-
}, _ref16 => {
|
|
144
|
-
var {
|
|
145
|
-
theme
|
|
146
|
-
} = _ref16;
|
|
147
99
|
return theme.space.xsmall;
|
|
148
|
-
},
|
|
149
|
-
var {
|
|
150
|
-
theme
|
|
151
|
-
} = _ref17;
|
|
152
|
-
return theme.colors.ui1;
|
|
153
|
-
}, _ref18 => {
|
|
100
|
+
}, _ref12 => {
|
|
154
101
|
var {
|
|
155
102
|
theme
|
|
156
|
-
} =
|
|
103
|
+
} = _ref12;
|
|
157
104
|
return theme.colors.ui1;
|
|
158
|
-
}, Heading, _ref19 => {
|
|
159
|
-
var {
|
|
160
|
-
theme
|
|
161
|
-
} = _ref19;
|
|
162
|
-
return theme.fontWeights.semiBold;
|
|
163
105
|
});
|
|
164
106
|
//# sourceMappingURL=SideNavMethods.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../../../src/components/SideNav/SideNavMethods.tsx"],"names":["React","
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SideNav/SideNavMethods.tsx"],"names":["React","useEffect","useState","styled","Accordion2","Heading","useSelector","useHistory","useRouteMatch","Link","buildMethodPath","highlightHTML","selectSearchPattern","SideNavMethods","className","methods","tag","specKey","defaultOpen","searchPattern","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","radii","medium","xsmall"],"mappings":"AA0BA,OAAOA,KAAP,IAAgBC,SAAhB,EAA2BC,QAA3B,QAA2C,OAA3C;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AACA,SAASC,UAAT,EAAqBC,OAArB,QAAoC,oBAApC;AAEA,SAASC,WAAT,QAA4B,aAA5B;AACA,SAASC,UAAT,EAAqBC,aAArB,QAA0C,kBAA1C;AAEA,SAASC,IAAT,QAAqB,SAArB;AACA,SAASC,eAAT,EAA0BC,aAA1B,QAA+C,aAA/C;AACA,SAASC,mBAAT,QAAoC,aAApC;AAUA,OAAO,IAAMC,cAAc,GAAGV,MAAM,CAClC,QAA6E;AAAA,MAA5E;AAAEW,IAAAA,SAAF;AAAaC,IAAAA,OAAb;AAAsBC,IAAAA,GAAtB;AAA2BC,IAAAA,OAA3B;AAAoCC,IAAAA,WAAW,GAAG;AAAlD,GAA4E;AAC3E,MAAMC,aAAa,GAAGb,WAAW,CAACM,mBAAD,CAAjC;AACA,MAAMQ,KAAK,GAAGZ,aAAa,6CAA3B;AAGA,MAAM,CAACa,MAAD,EAASC,SAAT,IAAsBpB,QAAQ,CAACgB,WAAD,CAApC;AACA,MAAMK,OAAO,GAAGhB,UAAU,EAA1B;;AAEA,MAAMiB,UAAU,GAAG,MAAM;AACvB,QAAMC,OAAO,GAAG,CAACJ,MAAjB;;AACAC,IAAAA,SAAS,CAACG,OAAD,CAAT;AACA,QAAIA,OAAJ,EAAaF,OAAO,CAACG,IAAR,YAAiBT,OAAjB,sBAAoCD,GAApC;AACd,GAJD;;AAMAf,EAAAA,SAAS,CAAC,MAAM;AACd,QAAM0B,MAAM,GAAGP,KAAK,GAChBF,WAAW,IAAIE,KAAK,CAACQ,MAAN,CAAaC,SAAb,KAA2Bb,GAD1B,GAEhBE,WAFJ;AAGAI,IAAAA,SAAS,CAACK,MAAD,CAAT;AACD,GALQ,EAKN,CAACT,WAAD,EAAcE,KAAd,EAAqBJ,GAArB,CALM,CAAT;AAQA,SACE,oBAAC,UAAD;AACE,IAAA,MAAM,EAAEK,MADV;AAEE,IAAA,UAAU,EAAEG,UAFd;AAGE,IAAA,SAAS,EAAEV,SAHb;AAIE,IAAA,KAAK,EACH,oBAAC,OAAD;AAAS,MAAA,EAAE,EAAC,IAAZ;AAAiB,MAAA,QAAQ,EAAC,OAA1B;AAAkC,MAAA,EAAE,EAAC;AAArC,OACGH,aAAa,CAACQ,aAAD,EAAgBH,GAAhB,CADhB;AALJ,KAUE,gCACGc,MAAM,CAACC,MAAP,CAAchB,OAAd,EAAuBiB,GAAvB,CAA4BC,MAAD,IAC1B;AAAI,IAAA,GAAG,EAAEA,MAAM,CAACC;AAAhB,KACE,oBAAC,IAAD;AAAM,IAAA,EAAE,YAAKxB,eAAe,CAACO,OAAD,EAAUD,GAAV,EAAeiB,MAAM,CAACC,IAAtB,CAApB;AAAR,KACGvB,aAAa,CAACQ,aAAD,EAAgBc,MAAM,CAACE,OAAvB,CADhB,CADF,CADD,CADH,CAVF,CADF;AAsBD,CA7CiC,CAAT;AAAA;AAAA;AAAA,sbA+CV;AAAA,MAAC;AAAEC,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACC,KAAN,CAAYC,KAA3B;AAAA,CA/CU,EAqDZ;AAAA,MAAC;AAAEF,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACG,MAAN,CAAaC,GAA5B;AAAA,CArDY,EA0DR;AAAA,MAAC;AAAEJ,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACK,WAAN,CAAkBC,QAAjC;AAAA,CA1DQ,EA8DG;AAAA,MAAC;AAAEN,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACG,MAAN,CAAaI,GAA5B;AAAA,CA9DH,EAkEP;AAAA,MAAC;AAAEP,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACQ,KAAN,CAAYC,OAA3B;AAAA,CAlEO,EAmER;AAAA,MAAC;AAAET,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACQ,KAAN,CAAYC,OAA3B;AAAA,CAnEQ,EAuET;AAAA,MAAC;AAAET,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACG,MAAN,CAAaO,GAA5B;AAAA,CAvES,EAwER;AAAA,MAAC;AAAEV,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACK,WAAN,CAAkBC,QAAjC;AAAA,CAxEQ,EA2EvBjC,IA3EuB,EA4EN;AAAA,MAAC;AAAE2B,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACW,KAAN,CAAYC,MAA3B;AAAA,CA5EM,EA+EZ;AAAA,MAAC;AAAEZ,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACQ,KAAN,CAAYK,MAA3B;AAAA,CA/EY,EAsFP;AAAA,MAAC;AAAEb,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACG,MAAN,CAAaO,GAA5B;AAAA,CAtFO,CAApB","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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import styled from 'styled-components';
|
|
3
|
+
import { SideNavTypes } from './SideNavTypes';
|
|
4
|
+
export var SideNavTypeTags = styled(_ref => {
|
|
5
|
+
var {
|
|
6
|
+
tags,
|
|
7
|
+
specKey,
|
|
8
|
+
className,
|
|
9
|
+
defaultOpen
|
|
10
|
+
} = _ref;
|
|
11
|
+
return React.createElement("div", {
|
|
12
|
+
className: className
|
|
13
|
+
}, Object.keys(tags).map(tag => React.createElement(SideNavTypes, {
|
|
14
|
+
key: tag,
|
|
15
|
+
defaultOpen: defaultOpen,
|
|
16
|
+
types: tags[tag],
|
|
17
|
+
tag: tag,
|
|
18
|
+
specKey: specKey
|
|
19
|
+
})));
|
|
20
|
+
}).withConfig({
|
|
21
|
+
displayName: "SideNavTypeTags",
|
|
22
|
+
componentId: "u6qlhq-0"
|
|
23
|
+
})(["padding:0 ", ";"], _ref2 => {
|
|
24
|
+
var {
|
|
25
|
+
theme
|
|
26
|
+
} = _ref2;
|
|
27
|
+
return theme.space.large;
|
|
28
|
+
});
|
|
29
|
+
//# sourceMappingURL=SideNavTypeTags.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../../src/components/SideNav/SideNavTypeTags.tsx"],"names":["React","styled","SideNavTypes","SideNavTypeTags","tags","specKey","className","defaultOpen","Object","keys","map","tag","theme","space","large"],"mappings":"AA0BA,OAAOA,KAAP,MAAkB,OAAlB;AACA,OAAOC,MAAP,MAAmB,mBAAnB;AAEA,SAASC,YAAT,QAA6B,gBAA7B;AASA,OAAO,IAAMC,eAAe,GAAGF,MAAM,CACnC;AAAA,MAAC;AAAEG,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,oBAAC,YAAD;AACE,IAAA,GAAG,EAAEA,GADP;AAEE,IAAA,WAAW,EAAEJ,WAFf;AAGE,IAAA,KAAK,EAAEH,IAAI,CAACO,GAAD,CAHb;AAIE,IAAA,GAAG,EAAEA,GAJP;AAKE,IAAA,OAAO,EAAEN;AALX,IADD,CADH,CADF;AAAA,CADmC,CAAT;AAAA;AAAA;AAAA,wBAeb;AAAA,MAAC;AAAEO,IAAAA;AAAF,GAAD;AAAA,SAAeA,KAAK,CAACC,KAAN,CAAYC,KAA3B;AAAA,CAfa,CAArB","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 { TypeTagList } from '@looker/sdk-codegen'\nimport { SideNavTypes } from './SideNavTypes'\n\ninterface TypeTagsProps {\n tags: TypeTagList\n specKey: string\n defaultOpen?: boolean\n className?: string\n}\n\nexport const SideNavTypeTags = styled(\n ({ tags, specKey, className, defaultOpen }: TypeTagsProps) => (\n <div className={className}>\n {Object.keys(tags).map((tag) => (\n <SideNavTypes\n key={tag}\n defaultOpen={defaultOpen}\n types={tags[tag]}\n tag={tag}\n specKey={specKey}\n />\n ))}\n </div>\n )\n)`\n padding: 0 ${({ theme }) => theme.space.large};\n`\n"],"file":"SideNavTypeTags.js"}
|