Files
github-actions[bot] 68db890456 Version Packages (next)
2026-05-26 15:26:38 +00:00

90 KiB

@backstage/plugin-search-react

1.11.5-next.0

Patch Changes

1.11.4

Patch Changes

1.11.4-next.1

Patch Changes

1.11.4-next.0

Patch Changes

1.11.1

Patch Changes

1.11.1-next.2

Patch Changes

1.11.1-next.1

Patch Changes

1.11.1-next.0

Patch Changes

1.11.0

Minor Changes

  • 0be2541: Promoted the plugin's translation ref to the stable package entry point. It was previously only available through the alpha entry point.

Patch Changes

1.10.5-next.1

Patch Changes

1.10.5-next.0

Patch Changes

1.10.3

Patch Changes

1.10.3-next.2

Patch Changes

1.10.3-next.1

Patch Changes

1.10.3-next.0

Patch Changes

1.10.2

Patch Changes

1.10.2-next.0

Patch Changes

1.10.1

Patch Changes

1.10.1-next.0

Patch Changes

1.10.0

Minor Changes

  • a521911: Add support for customizable icons in SearchResultListItemBlueprint and related components

Patch Changes

1.10.0-next.1

Minor Changes

  • a521911: Add support for customizable icons in SearchResultListItemBlueprint and related components

Patch Changes

1.9.6-next.0

Patch Changes

  • 05f60e1: Refactored constructor parameter properties to explicit property declarations for compatibility with TypeScript's erasableSyntaxOnly setting. This internal refactoring maintains all existing functionality while ensuring TypeScript compilation compatibility.
  • Updated dependencies

1.9.5

Patch Changes

1.9.5-next.2

Patch Changes

1.9.5-next.1

Patch Changes

1.9.5-next.0

Patch Changes

1.9.4

Patch Changes

1.9.4-next.0

Patch Changes

1.9.3

Patch Changes

1.9.3-next.1

Patch Changes

1.9.3-next.0

Patch Changes

1.9.2

Patch Changes

1.9.2-next.1

Patch Changes

1.9.2-next.0

Patch Changes

1.9.1

Patch Changes

1.9.1-next.1

Patch Changes

1.9.1-next.0

Patch Changes

1.9.0

Minor Changes

  • 611c941: Allow search filters to provide labels and values separately, and not only values

Patch Changes

1.9.0-next.2

Patch Changes

1.9.0-next.1

Patch Changes

1.9.0-next.0

Minor Changes

  • 611c941: Allow search filters to provide labels and values separately, and not only values

Patch Changes

1.8.8

Patch Changes

1.8.8-next.1

Patch Changes

1.8.8-next.0

Patch Changes

1.8.7

Patch Changes

1.8.7-next.2

Patch Changes

1.8.7-next.1

Patch Changes

1.8.7-next.0

Patch Changes

  • c37e480: Capture the number of search results in the search analytics event that correspond to the term entered.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.9.6-next.0

1.8.6

Patch Changes

  • 63e1012: Added new extension points to extend search filters SearchFilterBlueprint and SearchFilterResultTypeBlueprint
  • 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
  • Updated dependencies

1.8.6-next.3

Patch Changes

1.8.6-next.2

Patch Changes

1.8.6-next.1

Patch Changes

  • 58ec9e7: Removed older versions of React packages as a preparatory step for upgrading to React 19. This commit does not introduce any functional changes, but removes dependencies on previous React versions, allowing for a cleaner upgrade path in subsequent commits.
  • Updated dependencies

1.8.6-next.0

Patch Changes

  • 63e1012: Added new extension points to extend search filters SearchFilterBlueprint and SearchFilterResultTypeBlueprint
  • Updated dependencies

1.8.5

Patch Changes

1.8.5-next.0

Patch Changes

1.8.4

Patch Changes

  • d311c84: Use Select from core-components and update Lifecycle filter to use Select instead checkboxes.
  • Updated dependencies

1.8.4-next.2

Patch Changes

1.8.4-next.1

Patch Changes

1.8.4-next.0

Patch Changes

  • d311c84: Use Select from core-components and update Lifecycle filter to use Select instead checkboxes.
  • Updated dependencies

1.8.2

Patch Changes

1.8.2-next.2

Patch Changes

1.8.2-next.1

Patch Changes

1.8.2-next.0

Patch Changes

1.8.1

Patch Changes

1.8.1-next.2

Patch Changes

1.8.1-next.1

Patch Changes

1.8.1-next.0

Patch Changes

1.8.0

Minor Changes

  • 9d66d8c: Make use of the useApp hook to retrieve the specified search icon in the SearchBar

Patch Changes

  • fec8b57: Updated exports to use the new type parameters for extensions and extension blueprints.
  • f26ff99: Slight type tweak to match newer React versions better
  • dbbd93e: Internal update to match recent React types
  • 836127c: Updated dependency @testing-library/react to ^16.0.0.
  • 5446061: The /alpha export no longer export extension creators for the new frontend system, existing usage should be switched to use the equivalent extension blueprint instead. For more information see the new frontend system 1.30 migration documentation.
  • a159180: Added missing items to overridableComponents
  • Updated dependencies
    • @backstage/core-components@0.15.0
    • @backstage/frontend-plugin-api@0.8.0
    • @backstage/core-plugin-api@1.9.4
    • @backstage/theme@0.5.7
    • @backstage/version-bridge@1.0.9
    • @backstage/types@1.1.1
    • @backstage/plugin-search-common@1.2.14

1.8.0-next.2

Patch Changes

  • dbbd93e: Internal update to match recent React types
  • 836127c: Updated dependency @testing-library/react to ^16.0.0.
  • Updated dependencies
    • @backstage/core-components@0.14.11-next.1
    • @backstage/core-plugin-api@1.9.4-next.0
    • @backstage/frontend-plugin-api@0.8.0-next.2
    • @backstage/theme@0.5.7-next.0
    • @backstage/version-bridge@1.0.9-next.0
    • @backstage/types@1.1.1
    • @backstage/plugin-search-common@1.2.14

1.8.0-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.8.0-next.1
    • @backstage/core-components@0.14.11-next.0
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.14

1.8.0-next.0

Minor Changes

  • 9d66d8c: Make use of the useApp hook to retrieve the specified search icon in the SearchBar

Patch Changes

  • fec8b57: Updated exports to use the new type parameters for extensions and extension blueprints.
  • f26ff99: Slight type tweak to match newer React versions better
  • 5446061: The /alpha export no longer export extension creators for the new frontend system, existing usage should be switched to use the equivalent extension blueprint instead. For more information see the new frontend system 1.30 migration documentation.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.8.0-next.0
    • @backstage/core-components@0.14.10
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.14

1.7.14

Patch Changes

  • 7bd27e1: Deprecate the old pattern of create*Extension, and replace it with the equivalent Blueprint implementation instead.
  • 31bfc44: Updated alpha definitions of extension data references.
  • 3123c16: Fix package metadata
  • 6349099: Added config input type to the extensions
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.7.0
    • @backstage/core-components@0.14.10
    • @backstage/plugin-search-common@1.2.14
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8

1.7.14-next.3

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.7.0-next.3
    • @backstage/core-components@0.14.10-next.0
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.14-next.1

1.7.14-next.2

Patch Changes

  • 3123c16: Fix package metadata
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.7.0-next.2
    • @backstage/plugin-search-common@1.2.14-next.1
    • @backstage/core-components@0.14.10-next.0
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8

1.7.14-next.1

Patch Changes

  • 6349099: Added config input type to the extensions
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.8-next.1
    • @backstage/plugin-search-common@1.2.14-next.0
    • @backstage/core-components@0.14.10-next.0
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8

1.7.14-next.0

Patch Changes

  • 31bfc44: Updated alpha definitions of extension data references.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.8-next.0
    • @backstage/core-components@0.14.10-next.0
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.13

1.7.13

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.14.9
    • @backstage/plugin-search-common@1.2.13
    • @backstage/frontend-plugin-api@0.6.7
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8

1.7.13-next.1

Patch Changes

1.7.13-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.14.9-next.0
    • @backstage/frontend-plugin-api@0.6.7-next.0
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.12

1.7.12

Patch Changes

  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies
    • @backstage/core-components@0.14.8
    • @backstage/core-plugin-api@1.9.3
    • @backstage/theme@0.5.6
    • @backstage/plugin-search-common@1.2.12
    • @backstage/frontend-plugin-api@0.6.6
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8

1.7.12-next.2

Patch Changes

  • d44a20a: Added additional plugin metadata to package.json.
  • Updated dependencies
    • @backstage/core-components@0.14.8-next.2
    • @backstage/plugin-search-common@1.2.12-next.0
    • @backstage/frontend-plugin-api@0.6.6-next.2
    • @backstage/core-plugin-api@1.9.3-next.0
    • @backstage/theme@0.5.6-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8

1.7.12-next.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.14.8-next.1
    • @backstage/core-plugin-api@1.9.3-next.0
    • @backstage/frontend-plugin-api@0.6.6-next.1
    • @backstage/theme@0.5.6-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.11

1.7.12-next.0

Patch Changes

  • Updated dependencies
    • @backstage/theme@0.5.6-next.0
    • @backstage/core-components@0.14.8-next.0
    • @backstage/core-plugin-api@1.9.2
    • @backstage/frontend-plugin-api@0.6.6-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.11

1.7.11

Patch Changes

1.7.11-next.1

Patch Changes

1.7.11-next.0

Patch Changes

  • Updated dependencies
    • @backstage/theme@0.5.4-next.0
    • @backstage/core-components@0.14.5-next.0
    • @backstage/core-plugin-api@1.9.2
    • @backstage/frontend-plugin-api@0.6.5-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.8
    • @backstage/plugin-search-common@1.2.11

1.7.10

Patch Changes

  • 8d50bd3: add mui imports eslint rule
  • abfbcfc: Updated dependency @testing-library/react to ^15.0.0.
  • cb1e3b0: Updated dependency @testing-library/dom to ^10.0.0.
  • Updated dependencies
    • @backstage/core-components@0.14.4
    • @backstage/core-plugin-api@1.9.2
    • @backstage/frontend-plugin-api@0.6.4
    • @backstage/theme@0.5.3
    • @backstage/version-bridge@1.0.8
    • @backstage/types@1.1.1
    • @backstage/plugin-search-common@1.2.11

1.7.10-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.4-next.1
    • @backstage/core-components@0.14.4-next.0
    • @backstage/core-plugin-api@1.9.1
    • @backstage/theme@0.5.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.11

1.7.10-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.14.4-next.0
    • @backstage/core-plugin-api@1.9.1
    • @backstage/frontend-plugin-api@0.6.4-next.0
    • @backstage/theme@0.5.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.11

1.7.9

Patch Changes

  • e8f026a: Use ESM exports of react-use library
  • Updated dependencies
    • @backstage/core-components@0.14.3
    • @backstage/frontend-plugin-api@0.6.3
    • @backstage/core-plugin-api@1.9.1
    • @backstage/theme@0.5.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.11

1.7.8

Patch Changes

  • e8f026a: Use ESM exports of react-use library
  • Updated dependencies
    • @backstage/core-components@0.14.2
    • @backstage/frontend-plugin-api@0.6.2
    • @backstage/core-plugin-api@1.9.1
    • @backstage/theme@0.5.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.11

1.7.7

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.14.1
    • @backstage/theme@0.5.2
    • @backstage/plugin-search-common@1.2.11
    • @backstage/core-plugin-api@1.9.1
    • @backstage/frontend-plugin-api@0.6.1
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7

1.7.7-next.2

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.14.1-next.2
    • @backstage/frontend-plugin-api@0.6.1-next.2
    • @backstage/core-plugin-api@1.9.1-next.1
    • @backstage/theme@0.5.2-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.11-next.1

1.7.7-next.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.14.1-next.1
    • @backstage/core-plugin-api@1.9.1-next.1
    • @backstage/frontend-plugin-api@0.6.1-next.1
    • @backstage/theme@0.5.2-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.11-next.1

1.7.7-next.0

Patch Changes

  • Updated dependencies
    • @backstage/theme@0.5.2-next.0
    • @backstage/core-components@0.14.1-next.0
    • @backstage/plugin-search-common@1.2.11-next.0
    • @backstage/core-plugin-api@1.9.1-next.0
    • @backstage/frontend-plugin-api@0.6.1-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7

1.7.6

Patch Changes

  • 8fe56a8: Widen @types/react dependency range to include version 18.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.0
    • @backstage/core-components@0.14.0
    • @backstage/theme@0.5.1
    • @backstage/core-plugin-api@1.9.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.10

1.7.6-next.3

Patch Changes

  • Updated dependencies
    • @backstage/theme@0.5.1-next.1
    • @backstage/core-components@0.14.0-next.2
    • @backstage/core-plugin-api@1.9.0-next.1
    • @backstage/frontend-plugin-api@0.6.0-next.3
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.10

1.7.6-next.2

Patch Changes

  • 8fe56a8: Widen @types/react dependency range to include version 18.
  • Updated dependencies
    • @backstage/core-components@0.14.0-next.1
    • @backstage/core-plugin-api@1.9.0-next.1
    • @backstage/frontend-plugin-api@0.6.0-next.2
    • @backstage/theme@0.5.1-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.10

1.7.6-next.1

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.6.0-next.1
    • @backstage/core-components@0.14.0-next.0
    • @backstage/core-plugin-api@1.8.3-next.0
    • @backstage/theme@0.5.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.10

1.7.6-next.0

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.5.1-next.0
    • @backstage/core-components@0.13.10
    • @backstage/core-plugin-api@1.8.2
    • @backstage/theme@0.5.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.10

1.7.5

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.5.0
    • @backstage/core-components@0.13.10
    • @backstage/core-plugin-api@1.8.2
    • @backstage/theme@0.5.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.10

1.7.5-next.2

Patch Changes

  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.1-next.2

1.7.5-next.1

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.8.2-next.0
    • @backstage/core-components@0.13.10-next.1
    • @backstage/frontend-plugin-api@0.4.1-next.1
    • @backstage/theme@0.5.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.9

1.7.5-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.10-next.0
    • @backstage/frontend-plugin-api@0.4.1-next.0
    • @backstage/core-plugin-api@1.8.1
    • @backstage/theme@0.5.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.9

1.7.4

Patch Changes

  • a5a0473: Internal refactor of alpha exports due to a change in how extension factories are defined.
  • 84dabc5: Removed @backstage/frontend-app-api dependency.
  • 5814122: Updated /alpha exports to fit new naming patterns.
  • 6f280fa: Capture analytics even when number of results is not available, since the total result count is not something that is always available for all search engines and configurations.
  • 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed.
  • Updated dependencies
    • @backstage/core-plugin-api@1.8.1
    • @backstage/frontend-plugin-api@0.4.0
    • @backstage/core-components@0.13.9
    • @backstage/theme@0.5.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.9

1.7.4-next.3

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.9-next.3
    • @backstage/core-plugin-api@1.8.1-next.1
    • @backstage/frontend-plugin-api@0.4.0-next.3
    • @backstage/theme@0.5.0-next.1
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.8

1.7.4-next.2

Patch Changes

  • 36c94b8: Refactor of the alpha exports due to API change in how extension IDs are constructed.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.0-next.2
    • @backstage/theme@0.5.0-next.1
    • @backstage/core-components@0.13.9-next.2
    • @backstage/core-plugin-api@1.8.1-next.1
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.8

1.7.4-next.1

Patch Changes

  • a5a04739e1: Internal refactor of alpha exports due to a change in how extension factories are defined.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.4.0-next.1
    • @backstage/core-components@0.13.9-next.1
    • @backstage/core-plugin-api@1.8.1-next.1
    • @backstage/theme@0.5.0-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.8

1.7.4-next.0

Patch Changes

  • 84dabc5363: Removed @backstage/frontend-app-api dependency.
  • Updated dependencies
    • @backstage/core-plugin-api@1.8.1-next.0
    • @backstage/core-components@0.13.9-next.0
    • @backstage/theme@0.5.0-next.0
    • @backstage/frontend-plugin-api@0.3.1-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7
    • @backstage/plugin-search-common@1.2.8

1.7.2

Patch Changes

  • 6c2b872153: Add official support for React 18.
  • f48cde800a: Emit search analytics in the search hook instead of in a dedicated component
  • f75caf9f3d: Fixed a rare occurrence where a race in the search bar could throw away user input or cause the clear button not to work.
  • 77f009b35d: Internal updates to match changes in the experimental @backstage/frontend-plugin-api.
  • a539643cba: Minor refactor of search bar analytics capture
  • 71c97e7d73: The filter options passed to SearchResultGroupLayout are now always explicitly rendered as strings by default.
  • e7c09c4f4b: Use default extensions boundary and suspense on the alpha declarative createSearchResultListItem extension factory.
  • Updated dependencies
    • @backstage/core-components@0.13.8
    • @backstage/frontend-plugin-api@0.3.0
    • @backstage/frontend-app-api@0.3.0
    • @backstage/core-plugin-api@1.8.0
    • @backstage/version-bridge@1.0.7
    • @backstage/theme@0.4.4
    • @backstage/types@1.1.1
    • @backstage/plugin-search-common@1.2.8

1.7.2-next.2

Patch Changes

1.7.2-next.1

Patch Changes

  • 77f009b35d: Internal updates to match changes in the experimental @backstage/frontend-plugin-api.
  • a539643cba: Minor refactor of search bar analytics capture
  • Updated dependencies
    • @backstage/frontend-app-api@0.3.0-next.1
    • @backstage/frontend-plugin-api@0.3.0-next.1
    • @backstage/core-components@0.13.8-next.1
    • @backstage/core-plugin-api@1.8.0-next.0
    • @backstage/theme@0.4.4-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.7-next.0
    • @backstage/plugin-search-common@1.2.7

1.7.2-next.0

Patch Changes

  • 6c2b872153: Add official support for React 18.
  • f75caf9f3d: Fixed a rare occurrence where a race in the search bar could throw away user input or cause the clear button not to work.
  • 71c97e7d73: The filter options passed to SearchResultGroupLayout are now always explicitly rendered as strings by default.
  • e7c09c4f4b: Use default extensions boundary and suspense on the alpha declarative createSearchResultListItem extension factory.
  • Updated dependencies
    • @backstage/core-components@0.13.7-next.0
    • @backstage/frontend-plugin-api@0.3.0-next.0
    • @backstage/frontend-app-api@0.3.0-next.0
    • @backstage/core-plugin-api@1.8.0-next.0
    • @backstage/version-bridge@1.0.7-next.0
    • @backstage/theme@0.4.4-next.0
    • @backstage/types@1.1.1
    • @backstage/plugin-search-common@1.2.7

1.7.1

Patch Changes

  • 06432f900c: Updated /alpha exports to use new attachTo option.
  • 9a1fce352e: Updated dependency @testing-library/jest-dom to ^6.0.0.
  • f95af4e540: Updated dependency @testing-library/dom to ^9.0.0.
  • 0296f272b4: The filter options passed to SearchResultGroupLayout are now always explicitly rendered as strings by default.
  • 703a4ffc5b: Create createSearchResultListItem alpha version that only supports declarative integration.
  • Updated dependencies
    • @backstage/frontend-app-api@0.2.0
    • @backstage/frontend-plugin-api@0.2.0
    • @backstage/core-plugin-api@1.7.0
    • @backstage/core-components@0.13.6
    • @backstage/version-bridge@1.0.6
    • @backstage/theme@0.4.3
    • @backstage/types@1.1.1
    • @backstage/plugin-search-common@1.2.7

1.7.1-next.2

Patch Changes

  • 06432f900c: Updated /alpha exports to use new attachTo option.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.2.0-next.2
    • @backstage/frontend-app-api@0.2.0-next.2
    • @backstage/core-components@0.13.6-next.2
    • @backstage/core-plugin-api@1.7.0-next.1
    • @backstage/theme@0.4.3-next.0
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.5
    • @backstage/plugin-search-common@1.2.7-next.0

1.7.1-next.1

Patch Changes

  • 703a4ffc5b: Create createSearchResultListItem alpha version that only supports declarative integration.
  • Updated dependencies
    • @backstage/frontend-plugin-api@0.1.1-next.1
    • @backstage/core-components@0.13.6-next.1
    • @backstage/frontend-app-api@0.2.0-next.1
    • @backstage/core-plugin-api@1.7.0-next.0
    • @backstage/theme@0.4.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.5
    • @backstage/plugin-search-common@1.2.6

1.7.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.7.0-next.0
    • @backstage/core-components@0.13.6-next.0
    • @backstage/theme@0.4.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.5
    • @backstage/plugin-search-common@1.2.6

1.7.0

Minor Changes

  • b78f570f44: The SearchPage component can now be configured via app-config.yaml with default query parameters to define how it behaves when it is first loaded or reset. Check out the following example:

    search:
      query:
        pageLimit: 50
    

    Acceptable values for pageLimit are 10, 25, 50 or 100.

Patch Changes

  • 406b786a2a: Mark package as being free of side effects, allowing more optimized Webpack builds.
  • 45f8a95e10: Optionally initializes the search context with default settings for search queries only when the config is defined, rather than always overriding it.
  • 3d63e60f3c: Internal restructure to avoid circular imports
  • Updated dependencies
    • @backstage/core-components@0.13.5
    • @backstage/core-plugin-api@1.6.0
    • @backstage/plugin-search-common@1.2.6
    • @backstage/theme@0.4.2
    • @backstage/types@1.1.1
    • @backstage/version-bridge@1.0.5

1.7.0-next.3

Patch Changes

  • 406b786a2a: Mark package as being free of side effects, allowing more optimized Webpack builds.
  • Updated dependencies
    • @backstage/core-components@0.13.5-next.3
    • @backstage/core-plugin-api@1.6.0-next.3
    • @backstage/plugin-search-common@1.2.6-next.2
    • @backstage/theme@0.4.2-next.0
    • @backstage/types@1.1.1-next.0
    • @backstage/version-bridge@1.0.5-next.0

1.7.0-next.2

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.5-next.2
    • @backstage/core-plugin-api@1.6.0-next.2
    • @backstage/theme@0.4.1
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.6-next.1

1.7.0-next.1

Minor Changes

  • b78f570f44: The SearchPage component can now be configured via app-config.yaml with default query parameters to define how it behaves when it is first loaded or reset. Check out the following example:

    search:
      query:
        pageLimit: 50
    

    Acceptable values for pageLimit are 10, 25, 50 or 100.

Patch Changes

  • 45f8a95e10: Optionally initializes the search context with default settings for search queries only when the config is defined, rather than always overriding it.
  • Updated dependencies
    • @backstage/core-components@0.13.5-next.1
    • @backstage/core-plugin-api@1.6.0-next.1
    • @backstage/theme@0.4.1
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.6-next.0

1.6.5-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.6.0-next.0
    • @backstage/core-components@0.13.5-next.0
    • @backstage/theme@0.4.1
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.5

1.6.4

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.4
    • @backstage/core-plugin-api@1.5.3
    • @backstage/theme@0.4.1
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.5

1.6.4-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.4-next.0
    • @backstage/core-plugin-api@1.5.3
    • @backstage/theme@0.4.1
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.5

1.6.3

Patch Changes

  • Updated dependencies
    • @backstage/theme@0.4.1
    • @backstage/core-components@0.13.3
    • @backstage/core-plugin-api@1.5.3
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.5

1.6.3-next.2

Patch Changes

  • Updated dependencies
    • @backstage/theme@0.4.1-next.1
    • @backstage/core-plugin-api@1.5.3-next.1
    • @backstage/core-components@0.13.3-next.2
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.5-next.0

1.6.3-next.1

Patch Changes

1.6.3-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.3-next.0
    • @backstage/core-plugin-api@1.5.2
    • @backstage/theme@0.4.0
    • @backstage/types@1.1.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.5-next.0

1.6.2

Patch Changes

  • 0134c1aa4f: Fix accessibility issue in SearchCheckbox component, making it possible to use the field via keyboard.
  • 2f660eb573: Fix SearchBar styles & update StoryBook stories for custom styles for notchedOutline class.
  • Updated dependencies
    • @backstage/core-plugin-api@1.5.2
    • @backstage/core-components@0.13.2
    • @backstage/types@1.1.0
    • @backstage/theme@0.4.0
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.4

1.6.2-next.3

Patch Changes

  • 0134c1aa4f: Fix accessibility issue in SearchCheckbox component, making it possible to use the field via keyboard.
  • Updated dependencies
    • @backstage/core-components@0.13.2-next.3
    • @backstage/core-plugin-api@1.5.2-next.0
    • @backstage/theme@0.4.0-next.1
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.4-next.0

1.6.1-next.2

Patch Changes

1.6.1-next.1

Patch Changes

  • 2f660eb573: Fix SearchBar styles & update StoryBook stories for custom styles for notchedOutline class.
  • Updated dependencies
    • @backstage/core-components@0.13.2-next.1
    • @backstage/core-plugin-api@1.5.2-next.0
    • @backstage/theme@0.4.0-next.0
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.4-next.0

1.6.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/theme@0.4.0-next.0
    • @backstage/core-components@0.13.2-next.0
    • @backstage/core-plugin-api@1.5.1
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.3

1.6.0

Minor Changes

  • 750e45539a: Add close button & improve search input.

    Material UI's Paper wrapping the SearchBar in the SearchPage was removed, we recommend users update their apps accordingly.

    SearchBarBase's TextField's label support added & aria-label uses label string if present, tests relying on the default placeholder value should still work unless custom placeholder was given.

  • 1ce7f84b2e: accepts InputProp property that can override keys from default

Patch Changes

  • f785f0804c: SearchPagination now automatically resets the page cursor when the page limit is changed
  • adb31096bc: Fix text-overflow UI issue for Lifecycle spans in SearchFilter checkbox labels.
  • Updated dependencies
    • @backstage/theme@0.3.0
    • @backstage/core-components@0.13.1
    • @backstage/core-plugin-api@1.5.1
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.3

1.6.0-next.2

Minor Changes

  • 1ce7f84b2e: accepts InputProp property that can override keys from default

Patch Changes

  • adb31096bc: Fix text-overflow UI issue for Lifecycle spans in SearchFilter checkbox labels.
  • Updated dependencies

1.6.0-next.1

Patch Changes

1.6.0-next.0

Minor Changes

  • 750e45539a: Add close button & improve search input.

    Material UI's Paper wrapping the SearchBar in the SearchPage was removed, we recommend users update their apps accordingly.

    SearchBarBase's TextField's label support added & aria-label uses label string if present, tests relying on the default placeholder value should still work unless custom placeholder was given.

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.0
    • @backstage/core-plugin-api@1.5.1
    • @backstage/theme@0.2.19
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.4
    • @backstage/plugin-search-common@1.2.3

1.5.2

Patch Changes

  • b2e182cdfa: Fixes a UI bug in search result item which rendered the item text with incorrect font size and color
  • 8e00acb28d: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs)
  • e0c6e8b9c3: Update peer dependencies
  • Updated dependencies
    • @backstage/core-components@0.13.0
    • @backstage/theme@0.2.19
    • @backstage/core-plugin-api@1.5.1
    • @backstage/version-bridge@1.0.4
    • @backstage/types@1.0.2
    • @backstage/plugin-search-common@1.2.3

1.5.2-next.3

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.13.0-next.3
    • @backstage/core-plugin-api@1.5.1-next.1
    • @backstage/theme@0.2.19-next.0
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.4-next.0
    • @backstage/plugin-search-common@1.2.3-next.0

1.5.2-next.2

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.6-next.2
    • @backstage/core-plugin-api@1.5.1-next.1
    • @backstage/theme@0.2.19-next.0
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.4-next.0
    • @backstage/plugin-search-common@1.2.3-next.0

1.5.2-next.1

Patch Changes

  • e0c6e8b9c3: Update peer dependencies
  • Updated dependencies
    • @backstage/core-components@0.12.6-next.1
    • @backstage/core-plugin-api@1.5.1-next.0
    • @backstage/version-bridge@1.0.4-next.0
    • @backstage/theme@0.2.19-next.0
    • @backstage/types@1.0.2
    • @backstage/plugin-search-common@1.2.3-next.0

1.5.2-next.0

Patch Changes

  • b2e182cdfa: Fixes a UI bug in search result item which rendered the item text with incorrect font size and color
  • 8e00acb28d: Small tweaks to remove warnings in the console during development (mainly focusing on techdocs)
  • Updated dependencies
    • @backstage/core-components@0.12.6-next.0
    • @backstage/core-plugin-api@1.5.0
    • @backstage/theme@0.2.18
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.2

1.5.1

Patch Changes

  • 65454876fb: Minor API report tweaks
  • 553f3c9501: Correctly disable next button in SearchPagination on last page
  • Updated dependencies
    • @backstage/core-components@0.12.5
    • @backstage/core-plugin-api@1.5.0
    • @backstage/theme@0.2.18
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.2

1.5.1-next.2

Patch Changes

1.5.1-next.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.5-next.1
    • @backstage/core-plugin-api@1.4.1-next.1
    • @backstage/theme@0.2.18-next.0
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.2-next.0

1.5.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.4.1-next.0
    • @backstage/core-components@0.12.5-next.0
    • @backstage/theme@0.2.17
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.1

1.5.0

Minor Changes

  • 0eaa579f89: - Create the search results extensions, for more details see the documentation here;
    • Update the SearchResult, SearchResultList and SearchResultGroup components to use extensions and default their props to optionally accept a query, when the query is not passed, the component tries to get it from the search context.

Patch Changes

  • 66e2aab4c4: ListItem wrapper component moved to SearchResultListItemExtension for all *SearchResultListItems that are exported as extensions. This is to make sure the list only contains list elements.

    Note: If you have implemented a custom result list item, we recommend you to remove the list item wrapper to avoid nested <li> elements.

  • Updated dependencies

    • @backstage/core-components@0.12.4
    • @backstage/theme@0.2.17
    • @backstage/core-plugin-api@1.4.0
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.1

1.5.0-next.1

Patch Changes

  • 66e2aab4c4: ListItem wrapper component moved to SearchResultListItemExtension for all *SearchResultListItems that are exported as extensions. This is to make sure the list only contains list elements.

    Note: If you have implemented a custom result list item, we recommend you to remove the list item wrapper to avoid nested <li> elements.

  • Updated dependencies

    • @backstage/core-components@0.12.4-next.1
    • @backstage/core-plugin-api@1.3.0
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.1

1.5.0-next.0

Minor Changes

  • 0eaa579f89: - Create the search results extensions, for more details see the documentation here;
    • Update the SearchResult, SearchResultList and SearchResultGroup components to use extensions and default their props to optionally accept a query, when the query is not passed, the component tries to get it from the search context.

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.4-next.0
    • @backstage/core-plugin-api@1.3.0
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.1

1.4.0

Minor Changes

  • 6d9a93def8: Allow customizing empty state component through noResultsComponent property.

    Example:

    <SearchResult noResultsComponent={<>No results were found</>}>
      {({ results }) => (
        <List>
          {results.map(({ type, document }) => {
            switch (type) {
              case 'custom-result-item':
                return (
                  <CustomResultListItem
                    key={document.location}
                    result={document}
                  />
                );
              default:
                return (
                  <DefaultResultListItem
                    key={document.location}
                    result={document}
                  />
                );
            }
          })}
        </List>
      )}
    </SearchResult>
    

Patch Changes

  • 80ce4e8c29: Small updates to some components to ensure theme typography properties are inherited correctly.
  • Updated dependencies
    • @backstage/core-components@0.12.3
    • @backstage/core-plugin-api@1.3.0
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.1

1.4.0-next.2

Minor Changes

  • 6d9a93def8: Allow customizing empty state component through noResultsComponent property.

    Example:

    <SearchResult noResultsComponent={<>No results were found</>}>
      {({ results }) => (
        <List>
          {results.map(({ type, document }) => {
            switch (type) {
              case 'custom-result-item':
                return (
                  <CustomResultListItem
                    key={document.location}
                    result={document}
                  />
                );
              default:
                return (
                  <DefaultResultListItem
                    key={document.location}
                    result={document}
                  />
                );
            }
          })}
        </List>
      )}
    </SearchResult>
    

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.3.0-next.1
    • @backstage/core-components@0.12.3-next.2
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.1-next.0

1.3.2-next.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.3-next.1
    • @backstage/core-plugin-api@1.2.1-next.0
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.1-next.0

1.3.2-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.3-next.0
    • @backstage/core-plugin-api@1.2.0
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2
    • @backstage/version-bridge@1.0.3
    • @backstage/plugin-search-common@1.2.0

1.3.1

Patch Changes

1.3.0

Minor Changes

  • 29ebc43a0b: The value of a search analytics event is now set as the total number of search results (when available)

Patch Changes

  • 2e701b3796: Internal refactor to use react-router-dom rather than react-router.
  • a19cffbeed: Update search links to only have header as linkable text
  • Updated dependencies
    • @backstage/core-plugin-api@1.2.0
    • @backstage/core-components@0.12.1
    • @backstage/version-bridge@1.0.3
    • @backstage/types@1.0.2
    • @backstage/plugin-search-common@1.2.0
    • @backstage/theme@0.2.16

1.3.0-next.4

Patch Changes

  • 2e701b3796: Internal refactor to use react-router-dom rather than react-router.
  • Updated dependencies
    • @backstage/core-components@0.12.1-next.4
    • @backstage/core-plugin-api@1.2.0-next.2
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2-next.1
    • @backstage/version-bridge@1.0.3-next.0
    • @backstage/plugin-search-common@1.2.0-next.3

1.3.0-next.3

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.1-next.3
    • @backstage/core-plugin-api@1.2.0-next.2
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2-next.1
    • @backstage/version-bridge@1.0.3-next.0
    • @backstage/plugin-search-common@1.2.0-next.2

1.3.0-next.2

Minor Changes

  • 29ebc43a0b: The value of a search analytics event is now set as the total number of search results (when available)

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.2.0-next.2
    • @backstage/core-components@0.12.1-next.2
    • @backstage/plugin-search-common@1.2.0-next.2
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.2-next.1
    • @backstage/version-bridge@1.0.3-next.0

1.2.2-next.1

Patch Changes

  • a19cffbeed: Update search links to only have header as linkable text
  • Updated dependencies
    • @backstage/core-components@0.12.1-next.1
    • @backstage/version-bridge@1.0.3-next.0
    • @backstage/core-plugin-api@1.1.1-next.1
    • @backstage/types@1.0.2-next.1
    • @backstage/theme@0.2.16
    • @backstage/plugin-search-common@1.1.2-next.1

1.2.2-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.1-next.0
    • @backstage/core-plugin-api@1.1.1-next.0
    • @backstage/types@1.0.2-next.0
    • @backstage/theme@0.2.16
    • @backstage/version-bridge@1.0.2
    • @backstage/plugin-search-common@1.1.2-next.0

1.2.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.0
    • @backstage/version-bridge@1.0.2
    • @backstage/core-plugin-api@1.1.0
    • @backstage/types@1.0.1
    • @backstage/theme@0.2.16
    • @backstage/plugin-search-common@1.1.1

1.2.1-next.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.0-next.1
    • @backstage/core-plugin-api@1.1.0-next.0
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.1-next.0
    • @backstage/version-bridge@1.0.1
    • @backstage/plugin-search-common@1.1.1-next.0

1.2.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.12.0-next.0
    • @backstage/core-plugin-api@1.1.0-next.0
    • @backstage/types@1.0.1-next.0
    • @backstage/theme@0.2.16
    • @backstage/version-bridge@1.0.1
    • @backstage/plugin-search-common@1.1.1-next.0

1.2.0

Minor Changes

  • 4ed1fa2480: The search query state now has an optional pageLimit property that determines how many results will be requested per page, it defaults to 25.

    Examples: Basic

    <SearchResults query={{ pageLimit: 30 }}>
      {results => {
        // Item rendering logic is omitted
      }}
    </SearchResults>
    

    With context

    <SearchContextProvider initialState={{ pageLimit: 30 }}>
      <SearchResults>
        {results => {
          // Item rendering logic is omitted
        }}
      </SearchResults>
    </SearchContextProvider>
    
  • bed5a1dc6e: The <SearchResultList /> component now accepts an optional property disableRenderingWithNoResults to disable rendering when no results are returned. Possibility to provide a custom no results component if needed through the noResultsComponent property.

    Examples:

    Rendering a custom no results component

    <SearchResultList
      query={query}
      noResultsComponent={<ListItemText primary="No results were found" />}
    />
    

    Disable rendering when there are no results

    <SearchResultList query={query} disableRenderingWithNoResults />
    
  • 3de4bd4f19: A <SearchPagination /> component was created for limiting the number of results shown per search page. Use this new component to give users options to select how many search results they want to display per page. The default options are 10, 25, 50, 100.

    See examples below:

    Basic

    import React, { useState } from 'react';
    import { Grid } from '@material-ui/core';
    import { Page, Header, Content, Lifecycle } from '@backstage/core-components';
    import {
      SearchBarBase,
      SearchPaginationBase,
      SearchResultList,
    } from '@backstage/plugin-search-react';
    
    const SearchPage = () => {
      const [term, setTerm] = useState('');
      const [pageLimit, setPageLimit] = useState(25);
      const [pageCursor, setPageCursor] = useState<string>();
    
      return (
        <Page themeId="home">
          <Header title="Search" subtitle={<Lifecycle alpha />} />
          <Content>
            <Grid container direction="row">
              <Grid item xs={12}>
                <SearchBarBase value={term} onChange={setTerm} />
              </Grid>
              <Grid item xs={12}>
                <SearchPaginationBase
                  limit={pageLimit}
                  onLimitChange={setPageLimit}
                  cursor={pageCursor}
                  onCursorChange={setPageCursor}
                />
              </Grid>
              <Grid item xs={12}>
                <SearchResultList query={{ term, pageLimit }} />
              </Grid>
            </Grid>
          </Content>
        </Page>
      );
    };
    

    With context

    import React from 'react';
    import { Grid } from '@material-ui/core';
    import { Page, Header, Content, Lifecycle } from '@backstage/core-components';
    import {
      SearchBar,
      SearchResult,
      SearchPagination,
      SearchResultListLayout,
      SearchContextProvider,
      DefaultResultListItem,
    } from '@backstage/plugin-search-react';
    
    const SearchPage = () => (
      <SearchContextProvider>
        <Page themeId="home">
          <Header title="Search" subtitle={<Lifecycle alpha />} />
          <Content>
            <Grid container direction="row">
              <Grid item xs={12}>
                <SearchBar />
              </Grid>
              <Grid item xs={12}>
                <SearchPagination />
              </Grid>
              <Grid item xs={12}>
                <SearchResult>
                  {({ results }) => (
                    <SearchResultListLayout
                      resultItems={results}
                      renderResultItem={({ document }) => (
                        <DefaultResultListItem
                          key={document.location}
                          result={document}
                        />
                      )}
                    />
                  )}
                </SearchResult>
              </Grid>
            </Grid>
          </Content>
        </Page>
      </SearchContextProvider>
    );
    
  • 6faaa05626: The <SearchResultGroup /> component now accepts an optional property disableRenderingWithNoResults to disable rendering when no results are returned. Possibility to provide a custom no results component if needed through the noResultsComponent property.

    Examples:

    Rendering a custom no results component

    <SearchResultGroup
      query={query}
      icon={<DocsIcon />}
      title="Documentation"
      noResultsComponent={<ListItemText primary="No results were found" />}
    />
    

    Disable rendering when there are no results

    <SearchResultGroup
      query={query}
      icon={<DocsIcon />}
      title="Documentation"
      disableRenderingWithNoResults
    />
    

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.11.2
    • @backstage/plugin-search-common@1.1.0
    • @backstage/core-plugin-api@1.0.7
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.0
    • @backstage/version-bridge@1.0.1

1.2.0-next.2

Patch Changes

  • Updated dependencies
    • @backstage/plugin-search-common@1.1.0-next.2
    • @backstage/core-components@0.11.2-next.2
    • @backstage/core-plugin-api@1.0.7-next.2
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.0
    • @backstage/version-bridge@1.0.1

1.2.0-next.1

Minor Changes

  • 4ed1fa2480: The search query state now has an optional pageLimit property that determines how many results will be requested per page, it defaults to 25.

    Examples: Basic

    <SearchResults query={{ pageLimit: 30 }}>
      {results => {
        // Item rendering logic is omitted
      }}
    </SearchResults>
    

    With context

    <SearchContextProvider initialState={{ pageLimit: 30 }}>
      <SearchResults>
        {results => {
          // Item rendering logic is omitted
        }}
      </SearchResults>
    </SearchContextProvider>
    
  • bed5a1dc6e: The <SearchResultList /> component now accepts an optional property disableRenderingWithNoResults to disable rendering when no results are returned. Possibility to provide a custom no results component if needed through the noResultsComponent property.

    Examples:

    Rendering a custom no results component

    <SearchResultList
      query={query}
      noResultsComponent={<ListItemText primary="No results were found" />}
    />
    

    Disable rendering when there are no results

    <SearchResultList query={query} disableRenderingWithNoResults />
    
  • 6faaa05626: The <SearchResultGroup /> component now accepts an optional property disableRenderingWithNoResults to disable rendering when no results are returned. Possibility to provide a custom no results component if needed through the noResultsComponent property.

    Examples:

    Rendering a custom no results component

    <SearchResultGroup
      query={query}
      icon={<DocsIcon />}
      title="Documentation"
      noResultsComponent={<ListItemText primary="No results were found" />}
    />
    

    Disable rendering when there are no results

    <SearchResultGroup
      query={query}
      icon={<DocsIcon />}
      title="Documentation"
      disableRenderingWithNoResults
    />
    

Patch Changes

  • Updated dependencies
    • @backstage/plugin-search-common@1.1.0-next.1
    • @backstage/core-components@0.11.2-next.1
    • @backstage/core-plugin-api@1.0.7-next.1
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.0
    • @backstage/version-bridge@1.0.1

1.1.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.11.2-next.0
    • @backstage/core-plugin-api@1.0.7-next.0
    • @backstage/theme@0.2.16
    • @backstage/types@1.0.0
    • @backstage/version-bridge@1.0.1
    • @backstage/plugin-search-common@1.0.2-next.0

1.1.0

Minor Changes

  • 97f2b8f3fd: The <SearchResult/> component now accepts a optional query prop to request results from the search api:

    Note: If a query prop is not defined, the results will by default be consumed from the context.

    Example:

    import React, { useState, useCallback } from 'react';
    
    import { Grid, List, Paper } from '@material-ui/core';
    
    import { Page, Header, Content, Lifecycle } from '@backstage/core-components';
    import {
      DefaultResultListItem,
      SearchBarBase,
      SearchResult,
    } from '@backstage/plugin-search-react';
    
    const SearchPage = () => {
      const [query, setQuery] = useState({
        term: '',
        types: [],
        filters: {},
      });
    
      const handleChange = useCallback(
        (term: string) => {
          setQuery(prevQuery => ({ ...prevQuery, term }));
        },
        [setQuery],
      );
    
      return (
        <Page themeId="home">
          <Header title="Search" subtitle={<Lifecycle alpha />} />
          <Content>
            <Grid container direction="row">
              <Grid item xs={12}>
                <Paper>
                  <SearchBarBase debounceTime={100} onChange={handleChange} />
                </Paper>
              </Grid>
              <Grid item xs>
                <SearchResult query={query}>
                  {({ results }) => (
                    <List>
                      {results.map(({ document }) => (
                        <DefaultResultListItem
                          key={document.location}
                          result={document}
                        />
                      ))}
                    </List>
                  )}
                </SearchResult>
              </Grid>
            </Grid>
          </Content>
        </Page>
      );
    };
    

    Additionally, a search page can also be composed using these two new results layout components:

    // Example rendering results as list
    <SearchResult>
      {({ results }) => (
        <SearchResultListLayout
          resultItems={results}
          renderResultItem={({ type, document }) => {
            switch (type) {
              case 'custom-result-item':
                return (
                  <CustomResultListItem
                    key={document.location}
                    result={document}
                  />
                );
              default:
                return (
                  <DefaultResultListItem
                    key={document.location}
                    result={document}
                  />
                );
            }
          }}
        />
      )}
    </SearchResult>
    
    // Example rendering results as groups
    <SearchResult>
      {({ results }) => (
        <>
          <SearchResultGroupLayout
            icon={<CustomIcon />}
            title="Custom"
            link="See all custom results"
            resultItems={results.filter(
              ({ type }) => type === 'custom-result-item',
            )}
            renderResultItem={({ document }) => (
              <CustomResultListItem key={document.location} result={document} />
            )}
          />
          <SearchResultGroupLayout
            icon={<DefaultIcon />}
            title="Default"
            resultItems={results.filter(
              ({ type }) => type !== 'custom-result-item',
            )}
            renderResultItem={({ document }) => (
              <DefaultResultListItem key={document.location} result={document} />
            )}
          />
        </>
      )}
    </SearchResult>
    

    A SearchResultList and SearchResultGroup components were also created for users who have search pages with multiple queries, both are specializations of SearchResult and also accept a query as a prop as well:

    // Example using the <SearchResultList />
    const SearchPage = () => {
      const query = {
        term: 'example',
      };
    
      return (
        <SearchResultList
          query={query}
          renderResultItem={({ type, document, highlight, rank }) => {
            switch (type) {
              case 'custom':
                return (
                  <CustomResultListItem
                    key={document.location}
                    icon={<CatalogIcon />}
                    result={document}
                    highlight={highlight}
                    rank={rank}
                  />
                );
              default:
                return (
                  <DefaultResultListItem
                    key={document.location}
                    result={document}
                  />
                );
            }
          }}
        />
      );
    };
    
    // Example using the <SearchResultGroup /> for creating a component that search and group software catalog results
    import React, { useState, useCallback } from 'react';
    
    import { MenuItem } from '@material-ui/core';
    
    import { JsonValue } from '@backstage/types';
    import { CatalogIcon } from '@backstage/core-components';
    import { CatalogSearchResultListItem } from '@backstage/plugin-catalog';
    import {
      SearchResultGroup,
      SearchResultGroupTextFilterField,
      SearchResultGroupSelectFilterField,
    } from @backstage/plugin-search-react;
    import { SearchQuery } from '@backstage/plugin-search-common';
    
    const CatalogResultsGroup = () => {
      const [query, setQuery] = useState<Partial<SearchQuery>>({
        types: ['software-catalog'],
      });
    
      const filterOptions = [
        {
          label: 'Lifecycle',
          value: 'lifecycle',
        },
        {
          label: 'Owner',
          value: 'owner',
        },
      ];
    
      const handleFilterAdd = useCallback(
        (key: string) => () => {
          setQuery(prevQuery => {
            const { filters: prevFilters, ...rest } = prevQuery;
            const newFilters = { ...prevFilters, [key]: undefined };
            return { ...rest, filters: newFilters };
          });
        },
        [],
      );
    
      const handleFilterChange = useCallback(
        (key: string) => (value: JsonValue) => {
          setQuery(prevQuery => {
            const { filters: prevFilters, ...rest } = prevQuery;
            const newFilters = { ...prevFilters, [key]: value };
            return { ...rest, filters: newFilters };
          });
        },
        [],
      );
    
      const handleFilterDelete = useCallback(
        (key: string) => () => {
          setQuery(prevQuery => {
            const { filters: prevFilters, ...rest } = prevQuery;
            const newFilters = { ...prevFilters };
            delete newFilters[key];
            return { ...rest, filters: newFilters };
          });
        },
        [],
      );
    
      return (
        <SearchResultGroup
          query={query}
          icon={<CatalogIcon />}
          title="Software Catalog"
          link="See all software catalog results"
          filterOptions={filterOptions}
          renderFilterOption={({ label, value }) => (
            <MenuItem key={value} onClick={handleFilterAdd(value)}>
              {label}
            </MenuItem>
          )}
          renderFilterField={(key: string) => {
            switch (key) {
              case 'lifecycle':
                return (
                  <SearchResultGroupSelectFilterField
                    key={key}
                    label="Lifecycle"
                    value={query.filters?.lifecycle}
                    onChange={handleFilterChange('lifecycle')}
                    onDelete={handleFilterDelete('lifecycle')}
                  >
                    <MenuItem value="production">Production</MenuItem>
                    <MenuItem value="experimental">Experimental</MenuItem>
                  </SearchResultGroupSelectFilterField>
                );
              case 'owner':
                return (
                  <SearchResultGroupTextFilterField
                    key={key}
                    label="Owner"
                    value={query.filters?.owner}
                    onChange={handleFilterChange('owner')}
                    onDelete={handleFilterDelete('owner')}
                  />
                );
              default:
                return null;
            }
          }
          renderResultItem={({ document, highlight, rank }) => (
            <CatalogSearchResultListItem
              key={document.location}
              result={document}
              highlight={highlight}
              rank={rank}
            />
          )}
        />
      );
    };
    
  • 18f60427f2: Provides search autocomplete functionality through a SearchAutocomplete component. A SearchAutocompleteDefaultOption can also be used to render options with icons, primary texts, and secondary texts. Example:

    import React, { ChangeEvent, useState, useCallback } from 'react';
    import useAsync from 'react-use/lib/useAsync';
    
    import { Grid, Paper } from '@material-ui/core';
    
    import { Page, Content } from '@backstage/core-components';
    import { SearchAutocomplete, SearchAutocompleteDefaultOption} from '@backstage/plugin-search-react';
    
    const OptionsIcon = () => <svg />
    
    const SearchPage = () => {
      const [inputValue, setInputValue] = useState('');
    
      const options = useAsync(async () => {
        // Gets and returns autocomplete options
      }, [inputValue])
    
      const useCallback((_event: ChangeEvent<{}>, newInputValue: string) => {
        setInputValue(newInputValue);
      }, [setInputValue])
    
      return (
        <Page themeId="home">
          <Content>
            <Grid container direction="row">
              <Grid item xs={12}>
                <Paper>
                  <SearchAutocomplete
                    options={options}
                    inputValue={inputValue}
                    inputDebounceTime={100}
                    onInputChange={handleInputChange}
                    getOptionLabel={option => option.title}
                    renderOption={option => (
                      <SearchAutocompleteDefaultOption
                        icon={<OptionIcon />}
                        primaryText={option.title}
                        secondaryText={option.text}
                      />
                    )}
                  />
                </Paper>
              </Grid>
            </Grid>
            {'/* Filters and results are omitted */'}
          </Content>
        </Page>
      );
    };
    
  • ca8d5a6eae: We noticed a repeated check for the existence of a parent context before creating a child search context in more the one component such as Search Modal and Search Bar and to remove code duplication we extract the conditional to the context provider, now you can use it passing an inheritParentContextIfAvailable prop to the SearchContextProvider.

    Note: This added property does not create a local context if there is a parent context and in this case, you cannot use it together with initialState, it will result in a type error because the parent context is already initialized.

Patch Changes

  • 817f3196f6: Updated React Router dependencies to be peer dependencies.
  • d3737da337: Reset page cursor on search filter change
  • Updated dependencies

1.1.0-next.2

Minor Changes

  • 18f60427f2: Provides search autocomplete functionality through a SearchAutocomplete component. A SearchAutocompleteDefaultOption can also be used to render options with icons, primary texts, and secondary texts. Example:

    import React, { ChangeEvent, useState, useCallback } from 'react';
    import useAsync from 'react-use/lib/useAsync';
    
    import { Grid, Paper } from '@material-ui/core';
    
    import { Page, Content } from '@backstage/core-components';
    import { SearchAutocomplete, SearchAutocompleteDefaultOption} from '@backstage/plugin-search-react';
    
    const OptionsIcon = () => <svg />
    
    const SearchPage = () => {
      const [inputValue, setInputValue] = useState('');
    
      const options = useAsync(async () => {
        // Gets and returns autocomplete options
      }, [inputValue])
    
      const useCallback((_event: ChangeEvent<{}>, newInputValue: string) => {
        setInputValue(newInputValue);
      }, [setInputValue])
    
      return (
        <Page themeId="home">
          <Content>
            <Grid container direction="row">
              <Grid item xs={12}>
                <Paper>
                  <SearchAutocomplete
                    options={options}
                    inputValue={inputValue}
                    inputDebounceTime={100}
                    onInputChange={handleInputChange}
                    getOptionLabel={option => option.title}
                    renderOption={option => (
                      <SearchAutocompleteDefaultOption
                        icon={<OptionIcon />}
                        primaryText={option.title}
                        secondaryText={option.text}
                      />
                    )}
                  />
                </Paper>
              </Grid>
            </Grid>
            {'/* Filters and results are omitted */'}
          </Content>
        </Page>
      );
    };
    
  • ca8d5a6eae: We noticed a repeated check for the existence of a parent context before creating a child search context in more the one component such as Search Modal and Search Bar and to remove code duplication we extract the conditional to the context provider, now you can use it passing an inheritParentContextIfAvailable prop to the SearchContextProvider.

    Note: This added property does not create a local context if there is a parent context and in this case, you cannot use it together with initialState, it will result in a type error because the parent context is already initialized.

Patch Changes

1.0.2-next.1

Patch Changes

1.0.2-next.0

Patch Changes

1.0.1

Patch Changes

1.0.1-next.1

Patch Changes

1.0.1-next.0

Patch Changes

1.0.0

Major Changes

Patch Changes

  • 60408ca9d4: Fix search pagination to reset page cursor also when a term is cleared.
  • Updated dependencies

0.2.2-next.3

Patch Changes

0.2.2-next.2

Patch Changes

0.2.2-next.1

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.9.6-next.1
    • @backstage/theme@0.2.16-next.0
    • @backstage/plugin-search-common@0.3.6-next.0

0.2.2-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-components@0.9.6-next.0

0.2.1

Patch Changes

  • 8809159148: Components <DefaultResultListItem>, <SearchBar> (including <SearchBarBase>), <SearchFilter> (including .Checkbox, .Select, and .Autocomplete static prop components), <SearchResult>, and <SearchResultPager> are now exported from @backstage/plugin-search-react. They are now deprecated in @backstage/plugin-search and will be removed in a future release.
  • Updated dependencies
    • @backstage/plugin-search-common@0.3.5
    • @backstage/core-components@0.9.5
    • @backstage/core-plugin-api@1.0.3

0.2.1-next.0

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.0.3-next.0
    • @backstage/plugin-search-common@0.3.5-next.0

0.2.0

Minor Changes

  • bdbe620797: BREAKING: SearchContextProviderForStorybook and SearchApiProviderForStorybook has been deleted. New mock implementation of the SearchApi introduced. If you need to mock the api we recommend you to do the following:

    import {
      searchApiRef,
      MockSearchApi,
      SearchContextProvider,
    } from '@backstage/plugin-search-react';
    import { TestApiProvider } from '@backstage/test-utils';
    
    <TestApiProvider apis={[[searchApiRef, new MockSearchApi()]]}>
      <SearchContextProvider>
        <Component />
      </SearchContextProvider>
    </TestApiProvider>;
    

Patch Changes

  • 11a46863de: Export useSearchContextCheck hook to check if the search context is available
  • a307a14be0: Removed dependency on @backstage/core-app-api.
  • 3a74e203a8: Updated search result components to support rendering content with highlighted matched terms
  • Updated dependencies
    • @backstage/core-plugin-api@1.0.2
    • @backstage/plugin-search-common@0.3.4

0.2.0-next.2

Patch Changes

  • 3a74e203a8: Updated search result components to support rendering content with highlighted matched terms
  • Updated dependencies
    • @backstage/plugin-search-common@0.3.4-next.0
    • @backstage/core-plugin-api@1.0.2-next.1

0.2.0-next.1

Minor Changes

  • bdbe620797: BREAKING: SearchContextProviderForStorybook and SearchApiProviderForStorybook has been deleted. New mock implementation of the SearchApi introduced. If you need to mock the api we recommend you to do the following:

    import {
      searchApiRef,
      MockSearchApi,
      SearchContextProvider,
    } from '@backstage/plugin-search-react';
    import { TestApiProvider } from '@backstage/test-utils';
    
    <TestApiProvider apis={[[searchApiRef, new MockSearchApi()]]}>
      <SearchContextProvider>
        <Component />
      </SearchContextProvider>
    </TestApiProvider>;
    

Patch Changes

  • Updated dependencies
    • @backstage/core-plugin-api@1.0.2-next.0

0.1.1-next.0

Patch Changes

  • 11a46863de: Export useSearchContextCheck hook to check if the search context is available
  • a307a14be0: Removed dependency on @backstage/core-app-api.

0.1.0

Minor Changes

  • ab230a433f: New search package to hold things the search plugin itself and other frontend plugins (e.g. techdocs, home) depend on.

Patch Changes

  • 7c7919777e: build(deps-dev): bump @testing-library/react-hooks from 7.0.2 to 8.0.0

  • 076b091113: api-report clean up - the package now exports following additional types:

    SearchContextProviderProps SearchContextValue SearchContextProviderForStorybookProps SearchApiProviderForStorybookProps

  • e1de8526aa: Versioned search context managed through version-bridge

  • Updated dependencies

    • @backstage/core-app-api@1.0.1
    • @backstage/core-plugin-api@1.0.1
    • @backstage/version-bridge@1.0.1
    • @backstage/plugin-search-common@0.3.3

0.1.0-next.0

Minor Changes

  • ab230a433f: New search package to hold things the search plugin itself and other frontend plugins (e.g. techdocs, home) depend on.

Patch Changes

  • Updated dependencies
    • @backstage/core-app-api@1.0.1-next.1
    • @backstage/core-plugin-api@1.0.1-next.0