@blaze-cms/plugin-search-ui 0.121.0-alpha.1 → 0.123.0-alpha.3

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 CHANGED
@@ -3,6 +3,30 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [0.123.0-alpha.3](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.2...v0.123.0-alpha.3) (2022-03-25)
7
+
8
+ **Note:** Version bump only for package @blaze-cms/plugin-search-ui
9
+
10
+
11
+
12
+
13
+
14
+ # [0.123.0-alpha.2](https://github.com/thebyte9/blaze/compare/v0.123.0-alpha.1...v0.123.0-alpha.2) (2022-03-22)
15
+
16
+ **Note:** Version bump only for package @blaze-cms/plugin-search-ui
17
+
18
+
19
+
20
+
21
+
22
+ # [0.121.0](https://github.com/thebyte9/blaze/compare/v0.121.0-alpha.1...v0.121.0) (2022-03-09)
23
+
24
+ **Note:** Version bump only for package @blaze-cms/plugin-search-ui
25
+
26
+
27
+
28
+
29
+
6
30
  # [0.121.0-alpha.1](https://github.com/thebyte9/blaze/compare/v0.121.0-alpha.0...v0.121.0-alpha.1) (2022-03-02)
7
31
 
8
32
  **Note:** Version bump only for package @blaze-cms/plugin-search-ui
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SearchPublishedContent/SearchPublishedContent.js"],"names":["SearchPublishedContent","entities","children","resultKeys","getIsOpenSearchBar","SearchIcon","CloseIcon","className","onChange","placeholder","onEnterPress","inputRef","isSearchBarOpen","fields","displaySearchBar","setDisplaySearchBar","searchTerm","setSearchTerm","previousSearchTerm","setPreviousSearchTerm","debouncedSearchTerm","queryKey","SEARCH_PUBLISHED","loading","results","setQueryParams","current","focus","value","handleOnChange","target","handleKeyPress","event","onEnter","key","handleSearchBar","voidSearchTerm","searchWrapperClassname","triggerClassname","open","SEARCH_BUTTON","length","propTypes","PropTypes","array","func","isRequired","string","object","bool","defaultProps","DEFAULT_RESULTS_KEYS","state"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { MdClose, MdSearch } from 'react-icons/md';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_PUBLISHED, DEFAULT_RESULTS_KEYS, SEARCH_BUTTON } from '../../constants';\n\nconst SearchPublishedContent = ({\n entities,\n children,\n resultKeys,\n getIsOpenSearchBar,\n SearchIcon,\n CloseIcon,\n className,\n onChange,\n placeholder,\n onEnterPress,\n inputRef,\n isSearchBarOpen,\n fields\n}) => {\n const [displaySearchBar, setDisplaySearchBar] = useState(isSearchBarOpen);\n const [searchTerm, setSearchTerm] = useState('');\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n const [{ loading, results }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_PUBLISHED,\n resultKeys,\n entities,\n fields\n });\n\n useEffect(\n () => {\n if (isSearchBarOpen !== displaySearchBar) {\n setDisplaySearchBar(isSearchBarOpen);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isSearchBarOpen]\n );\n\n useEffect(\n () => {\n if (inputRef && inputRef.current && displaySearchBar) {\n inputRef.current.focus();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [displaySearchBar]\n );\n\n useEffect(\n () => {\n if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {\n setQueryParams({ value: debouncedSearchTerm });\n setPreviousSearchTerm(debouncedSearchTerm);\n }\n },\n [debouncedSearchTerm, previousSearchTerm, setQueryParams]\n );\n\n const handleOnChange = ({ target: { value = '' } = {} }) => {\n onChange(value);\n setSearchTerm(value);\n };\n\n const handleKeyPress = event => {\n const onEnter = event.key === 'Enter';\n onEnter && onEnterPress();\n };\n\n const handleSearchBar = () => {\n const voidSearchTerm = '';\n displaySearchBar && setSearchTerm(voidSearchTerm);\n handleOnChange({ value: voidSearchTerm });\n if (isSearchBarOpen !== null) {\n getIsOpenSearchBar(!displaySearchBar);\n }\n setDisplaySearchBar(!displaySearchBar);\n };\n\n const searchWrapperClassname = classnames('search__wrapper', {\n 'search__wrapper--toggle-display': displaySearchBar,\n 'search__wrapper--toggle': !displaySearchBar\n });\n\n const triggerClassname = classnames('search__icon', {\n open: displaySearchBar\n });\n\n return (\n <div className={`search-wrapper ${className}`}>\n <div className=\"search search--header search--toggle\">\n <div className={searchWrapperClassname}>\n <input\n data-testid=\"search-input\"\n onKeyPress={handleKeyPress}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleOnChange}\n value={searchTerm}\n ref={inputRef}\n />\n <button type=\"button\" className=\"icon-button icon-button--search icon-button--toggle\">\n <SearchIcon />\n </button>\n </div>\n <div\n role=\"button\"\n className={triggerClassname}\n onClick={handleSearchBar}\n id={SEARCH_BUTTON}\n title={SEARCH_BUTTON}>\n {!displaySearchBar ? <SearchIcon /> : <CloseIcon />}\n </div>\n </div>\n <div className=\"search-modal\">\n {children({ results: results.length && searchTerm ? results : [], loading })}\n </div>\n </div>\n );\n};\n\nSearchPublishedContent.propTypes = {\n entities: PropTypes.array,\n children: PropTypes.func.isRequired,\n resultKeys: PropTypes.string,\n getIsOpenSearchBar: PropTypes.func,\n SearchIcon: PropTypes.func,\n CloseIcon: PropTypes.func,\n onChange: PropTypes.func,\n onEnterPress: PropTypes.func,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n inputRef: PropTypes.object,\n isSearchBarOpen: PropTypes.bool,\n fields: PropTypes.array\n};\n\nSearchPublishedContent.defaultProps = {\n entities: ['published_page'],\n placeholder: '',\n resultKeys: DEFAULT_RESULTS_KEYS,\n onChange: () => {},\n onEnterPress: () => {},\n getIsOpenSearchBar: state => state,\n SearchIcon: () => (\n <i>\n <MdSearch />\n </i>\n ),\n CloseIcon: () => (\n <i>\n <MdClose />\n </i>\n ),\n className: '',\n inputRef: null,\n isSearchBarOpen: null,\n fields: []\n};\n\nexport default SearchPublishedContent;\n"],"file":"SearchPublishedContent.js"}
1
+ {"version":3,"sources":["../../../src/components/SearchPublishedContent/SearchPublishedContent.js"],"names":["SearchPublishedContent","entities","children","resultKeys","getIsOpenSearchBar","SearchIcon","CloseIcon","className","onChange","placeholder","onEnterPress","inputRef","isSearchBarOpen","fields","displaySearchBar","setDisplaySearchBar","searchTerm","setSearchTerm","previousSearchTerm","setPreviousSearchTerm","debouncedSearchTerm","queryKey","SEARCH_PUBLISHED","loading","results","setQueryParams","current","focus","value","handleOnChange","target","handleKeyPress","event","onEnter","key","handleSearchBar","voidSearchTerm","searchWrapperClassname","triggerClassname","open","SEARCH_BUTTON","length","propTypes","PropTypes","array","func","isRequired","string","object","bool","defaultProps","DEFAULT_RESULTS_KEYS","state"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { MdClose, MdSearch } from 'react-icons/md';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_PUBLISHED, DEFAULT_RESULTS_KEYS, SEARCH_BUTTON } from '../../constants';\n\nconst SearchPublishedContent = ({\n entities,\n children,\n resultKeys,\n getIsOpenSearchBar,\n SearchIcon,\n CloseIcon,\n className,\n onChange,\n placeholder,\n onEnterPress,\n inputRef,\n isSearchBarOpen,\n fields\n}) => {\n const [displaySearchBar, setDisplaySearchBar] = useState(isSearchBarOpen);\n const [searchTerm, setSearchTerm] = useState('');\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const [{ loading, results }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_PUBLISHED,\n resultKeys,\n entities,\n fields\n });\n\n useEffect(\n () => {\n if (isSearchBarOpen !== displaySearchBar) {\n setDisplaySearchBar(isSearchBarOpen);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isSearchBarOpen]\n );\n\n useEffect(\n () => {\n if (inputRef && inputRef.current && displaySearchBar) {\n inputRef.current.focus();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [displaySearchBar]\n );\n\n useEffect(\n () => {\n if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {\n setQueryParams({ value: debouncedSearchTerm });\n setPreviousSearchTerm(debouncedSearchTerm);\n }\n },\n [debouncedSearchTerm, previousSearchTerm, setQueryParams]\n );\n\n const handleOnChange = ({ target: { value = '' } = {} }) => {\n onChange(value);\n setSearchTerm(value);\n };\n\n const handleKeyPress = event => {\n const onEnter = event.key === 'Enter';\n onEnter && onEnterPress();\n };\n\n const handleSearchBar = () => {\n const voidSearchTerm = '';\n displaySearchBar && setSearchTerm(voidSearchTerm);\n handleOnChange({ value: voidSearchTerm });\n if (isSearchBarOpen !== null) {\n getIsOpenSearchBar(!displaySearchBar);\n }\n setDisplaySearchBar(!displaySearchBar);\n };\n\n const searchWrapperClassname = classnames('search__wrapper', {\n 'search__wrapper--toggle-display': displaySearchBar,\n 'search__wrapper--toggle': !displaySearchBar\n });\n\n const triggerClassname = classnames('search__icon', {\n open: displaySearchBar\n });\n\n return (\n <div className={`search-wrapper ${className}`}>\n <div className=\"search search--header search--toggle\">\n <div className={searchWrapperClassname}>\n <input\n data-testid=\"search-input\"\n onKeyPress={handleKeyPress}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleOnChange}\n value={searchTerm}\n ref={inputRef}\n />\n <button type=\"button\" className=\"icon-button icon-button--search icon-button--toggle\">\n <SearchIcon />\n </button>\n </div>\n <div\n role=\"button\"\n className={triggerClassname}\n onClick={handleSearchBar}\n id={SEARCH_BUTTON}\n title={SEARCH_BUTTON}>\n {!displaySearchBar ? <SearchIcon /> : <CloseIcon />}\n </div>\n </div>\n <div className=\"search-modal\">\n {children({ results: results.length && searchTerm ? results : [], loading })}\n </div>\n </div>\n );\n};\n\nSearchPublishedContent.propTypes = {\n entities: PropTypes.array,\n children: PropTypes.func.isRequired,\n resultKeys: PropTypes.string,\n getIsOpenSearchBar: PropTypes.func,\n SearchIcon: PropTypes.func,\n CloseIcon: PropTypes.func,\n onChange: PropTypes.func,\n onEnterPress: PropTypes.func,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n inputRef: PropTypes.object,\n isSearchBarOpen: PropTypes.bool,\n fields: PropTypes.array\n};\n\nSearchPublishedContent.defaultProps = {\n entities: ['published_page'],\n placeholder: '',\n resultKeys: DEFAULT_RESULTS_KEYS,\n onChange: () => {},\n onEnterPress: () => {},\n getIsOpenSearchBar: state => state,\n SearchIcon: () => (\n <i>\n <MdSearch />\n </i>\n ),\n CloseIcon: () => (\n <i>\n <MdClose />\n </i>\n ),\n className: '',\n inputRef: null,\n isSearchBarOpen: null,\n fields: []\n};\n\nexport default SearchPublishedContent;\n"],"file":"SearchPublishedContent.js"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/components/SearchPublishedContent/SearchPublishedContent.js"],"names":["React","useState","useEffect","classnames","PropTypes","MdClose","MdSearch","useDebounce","useSearchResults","SEARCH_PUBLISHED","DEFAULT_RESULTS_KEYS","SEARCH_BUTTON","SearchPublishedContent","entities","children","resultKeys","getIsOpenSearchBar","SearchIcon","CloseIcon","className","onChange","placeholder","onEnterPress","inputRef","isSearchBarOpen","fields","displaySearchBar","setDisplaySearchBar","searchTerm","setSearchTerm","previousSearchTerm","setPreviousSearchTerm","debouncedSearchTerm","loading","results","setQueryParams","queryKey","current","focus","value","handleOnChange","target","handleKeyPress","event","onEnter","key","handleSearchBar","voidSearchTerm","searchWrapperClassname","triggerClassname","open","length","propTypes","array","func","isRequired","string","object","bool","defaultProps","state"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { MdClose, MdSearch } from 'react-icons/md';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_PUBLISHED, DEFAULT_RESULTS_KEYS, SEARCH_BUTTON } from '../../constants';\n\nconst SearchPublishedContent = ({\n entities,\n children,\n resultKeys,\n getIsOpenSearchBar,\n SearchIcon,\n CloseIcon,\n className,\n onChange,\n placeholder,\n onEnterPress,\n inputRef,\n isSearchBarOpen,\n fields\n}) => {\n const [displaySearchBar, setDisplaySearchBar] = useState(isSearchBarOpen);\n const [searchTerm, setSearchTerm] = useState('');\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n const [{ loading, results }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_PUBLISHED,\n resultKeys,\n entities,\n fields\n });\n\n useEffect(\n () => {\n if (isSearchBarOpen !== displaySearchBar) {\n setDisplaySearchBar(isSearchBarOpen);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isSearchBarOpen]\n );\n\n useEffect(\n () => {\n if (inputRef && inputRef.current && displaySearchBar) {\n inputRef.current.focus();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [displaySearchBar]\n );\n\n useEffect(\n () => {\n if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {\n setQueryParams({ value: debouncedSearchTerm });\n setPreviousSearchTerm(debouncedSearchTerm);\n }\n },\n [debouncedSearchTerm, previousSearchTerm, setQueryParams]\n );\n\n const handleOnChange = ({ target: { value = '' } = {} }) => {\n onChange(value);\n setSearchTerm(value);\n };\n\n const handleKeyPress = event => {\n const onEnter = event.key === 'Enter';\n onEnter && onEnterPress();\n };\n\n const handleSearchBar = () => {\n const voidSearchTerm = '';\n displaySearchBar && setSearchTerm(voidSearchTerm);\n handleOnChange({ value: voidSearchTerm });\n if (isSearchBarOpen !== null) {\n getIsOpenSearchBar(!displaySearchBar);\n }\n setDisplaySearchBar(!displaySearchBar);\n };\n\n const searchWrapperClassname = classnames('search__wrapper', {\n 'search__wrapper--toggle-display': displaySearchBar,\n 'search__wrapper--toggle': !displaySearchBar\n });\n\n const triggerClassname = classnames('search__icon', {\n open: displaySearchBar\n });\n\n return (\n <div className={`search-wrapper ${className}`}>\n <div className=\"search search--header search--toggle\">\n <div className={searchWrapperClassname}>\n <input\n data-testid=\"search-input\"\n onKeyPress={handleKeyPress}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleOnChange}\n value={searchTerm}\n ref={inputRef}\n />\n <button type=\"button\" className=\"icon-button icon-button--search icon-button--toggle\">\n <SearchIcon />\n </button>\n </div>\n <div\n role=\"button\"\n className={triggerClassname}\n onClick={handleSearchBar}\n id={SEARCH_BUTTON}\n title={SEARCH_BUTTON}>\n {!displaySearchBar ? <SearchIcon /> : <CloseIcon />}\n </div>\n </div>\n <div className=\"search-modal\">\n {children({ results: results.length && searchTerm ? results : [], loading })}\n </div>\n </div>\n );\n};\n\nSearchPublishedContent.propTypes = {\n entities: PropTypes.array,\n children: PropTypes.func.isRequired,\n resultKeys: PropTypes.string,\n getIsOpenSearchBar: PropTypes.func,\n SearchIcon: PropTypes.func,\n CloseIcon: PropTypes.func,\n onChange: PropTypes.func,\n onEnterPress: PropTypes.func,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n inputRef: PropTypes.object,\n isSearchBarOpen: PropTypes.bool,\n fields: PropTypes.array\n};\n\nSearchPublishedContent.defaultProps = {\n entities: ['published_page'],\n placeholder: '',\n resultKeys: DEFAULT_RESULTS_KEYS,\n onChange: () => {},\n onEnterPress: () => {},\n getIsOpenSearchBar: state => state,\n SearchIcon: () => (\n <i>\n <MdSearch />\n </i>\n ),\n CloseIcon: () => (\n <i>\n <MdClose />\n </i>\n ),\n className: '',\n inputRef: null,\n isSearchBarOpen: null,\n fields: []\n};\n\nexport default SearchPublishedContent;\n"],"file":"SearchPublishedContent.js"}
1
+ {"version":3,"sources":["../../../src/components/SearchPublishedContent/SearchPublishedContent.js"],"names":["React","useState","useEffect","classnames","PropTypes","MdClose","MdSearch","useDebounce","useSearchResults","SEARCH_PUBLISHED","DEFAULT_RESULTS_KEYS","SEARCH_BUTTON","SearchPublishedContent","entities","children","resultKeys","getIsOpenSearchBar","SearchIcon","CloseIcon","className","onChange","placeholder","onEnterPress","inputRef","isSearchBarOpen","fields","displaySearchBar","setDisplaySearchBar","searchTerm","setSearchTerm","previousSearchTerm","setPreviousSearchTerm","debouncedSearchTerm","loading","results","setQueryParams","queryKey","current","focus","value","handleOnChange","target","handleKeyPress","event","onEnter","key","handleSearchBar","voidSearchTerm","searchWrapperClassname","triggerClassname","open","length","propTypes","array","func","isRequired","string","object","bool","defaultProps","state"],"mappings":"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","sourcesContent":["import React, { useState, useEffect } from 'react';\nimport classnames from 'classnames';\nimport PropTypes from 'prop-types';\nimport { MdClose, MdSearch } from 'react-icons/md';\nimport { useDebounce } from '@blaze-react/utils/lib/customHooks';\nimport useSearchResults from '../useSearchResults';\nimport { SEARCH_PUBLISHED, DEFAULT_RESULTS_KEYS, SEARCH_BUTTON } from '../../constants';\n\nconst SearchPublishedContent = ({\n entities,\n children,\n resultKeys,\n getIsOpenSearchBar,\n SearchIcon,\n CloseIcon,\n className,\n onChange,\n placeholder,\n onEnterPress,\n inputRef,\n isSearchBarOpen,\n fields\n}) => {\n const [displaySearchBar, setDisplaySearchBar] = useState(isSearchBarOpen);\n const [searchTerm, setSearchTerm] = useState('');\n const [previousSearchTerm, setPreviousSearchTerm] = useState(null);\n const debouncedSearchTerm = useDebounce(searchTerm, 500);\n\n const [{ loading, results }, setQueryParams] = useSearchResults({\n queryKey: SEARCH_PUBLISHED,\n resultKeys,\n entities,\n fields\n });\n\n useEffect(\n () => {\n if (isSearchBarOpen !== displaySearchBar) {\n setDisplaySearchBar(isSearchBarOpen);\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isSearchBarOpen]\n );\n\n useEffect(\n () => {\n if (inputRef && inputRef.current && displaySearchBar) {\n inputRef.current.focus();\n }\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [displaySearchBar]\n );\n\n useEffect(\n () => {\n if (debouncedSearchTerm && debouncedSearchTerm !== previousSearchTerm) {\n setQueryParams({ value: debouncedSearchTerm });\n setPreviousSearchTerm(debouncedSearchTerm);\n }\n },\n [debouncedSearchTerm, previousSearchTerm, setQueryParams]\n );\n\n const handleOnChange = ({ target: { value = '' } = {} }) => {\n onChange(value);\n setSearchTerm(value);\n };\n\n const handleKeyPress = event => {\n const onEnter = event.key === 'Enter';\n onEnter && onEnterPress();\n };\n\n const handleSearchBar = () => {\n const voidSearchTerm = '';\n displaySearchBar && setSearchTerm(voidSearchTerm);\n handleOnChange({ value: voidSearchTerm });\n if (isSearchBarOpen !== null) {\n getIsOpenSearchBar(!displaySearchBar);\n }\n setDisplaySearchBar(!displaySearchBar);\n };\n\n const searchWrapperClassname = classnames('search__wrapper', {\n 'search__wrapper--toggle-display': displaySearchBar,\n 'search__wrapper--toggle': !displaySearchBar\n });\n\n const triggerClassname = classnames('search__icon', {\n open: displaySearchBar\n });\n\n return (\n <div className={`search-wrapper ${className}`}>\n <div className=\"search search--header search--toggle\">\n <div className={searchWrapperClassname}>\n <input\n data-testid=\"search-input\"\n onKeyPress={handleKeyPress}\n placeholder={placeholder}\n type=\"text\"\n onChange={handleOnChange}\n value={searchTerm}\n ref={inputRef}\n />\n <button type=\"button\" className=\"icon-button icon-button--search icon-button--toggle\">\n <SearchIcon />\n </button>\n </div>\n <div\n role=\"button\"\n className={triggerClassname}\n onClick={handleSearchBar}\n id={SEARCH_BUTTON}\n title={SEARCH_BUTTON}>\n {!displaySearchBar ? <SearchIcon /> : <CloseIcon />}\n </div>\n </div>\n <div className=\"search-modal\">\n {children({ results: results.length && searchTerm ? results : [], loading })}\n </div>\n </div>\n );\n};\n\nSearchPublishedContent.propTypes = {\n entities: PropTypes.array,\n children: PropTypes.func.isRequired,\n resultKeys: PropTypes.string,\n getIsOpenSearchBar: PropTypes.func,\n SearchIcon: PropTypes.func,\n CloseIcon: PropTypes.func,\n onChange: PropTypes.func,\n onEnterPress: PropTypes.func,\n className: PropTypes.string,\n placeholder: PropTypes.string,\n inputRef: PropTypes.object,\n isSearchBarOpen: PropTypes.bool,\n fields: PropTypes.array\n};\n\nSearchPublishedContent.defaultProps = {\n entities: ['published_page'],\n placeholder: '',\n resultKeys: DEFAULT_RESULTS_KEYS,\n onChange: () => {},\n onEnterPress: () => {},\n getIsOpenSearchBar: state => state,\n SearchIcon: () => (\n <i>\n <MdSearch />\n </i>\n ),\n CloseIcon: () => (\n <i>\n <MdClose />\n </i>\n ),\n className: '',\n inputRef: null,\n isSearchBarOpen: null,\n fields: []\n};\n\nexport default SearchPublishedContent;\n"],"file":"SearchPublishedContent.js"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@blaze-cms/plugin-search-ui",
3
- "version": "0.121.0-alpha.1",
3
+ "version": "0.123.0-alpha.3",
4
4
  "description": "Blaze plugin search ui",
5
5
  "main": "lib/index.js",
6
6
  "module": "lib-es/index.js",
@@ -27,7 +27,7 @@
27
27
  },
28
28
  "license": "GPL-3.0",
29
29
  "dependencies": {
30
- "@blaze-cms/admin-ui-utils": "^0.121.0-alpha.0",
30
+ "@blaze-cms/admin-ui-utils": "^0.123.0-alpha.3",
31
31
  "@blaze-cms/core-errors": "^0.118.0",
32
32
  "@blaze-cms/setup-ui": "^0.92.0",
33
33
  "@blaze-react/button": "0.5.19",
@@ -40,7 +40,7 @@
40
40
  "react-tiny-virtual-list": "2.2.0"
41
41
  },
42
42
  "devDependencies": {
43
- "@blaze-cms/core-ui": "^0.121.0-alpha.1"
43
+ "@blaze-cms/core-ui": "^0.121.0"
44
44
  },
45
45
  "peerDependencies": {
46
46
  "@apollo/client": "3.x",
@@ -52,5 +52,5 @@
52
52
  "lib/*",
53
53
  "lib-es/*"
54
54
  ],
55
- "gitHead": "dc0b862127dcd49fa207c672a79980c6fdfcc5f3"
55
+ "gitHead": "4db18e4966a1fb319e33021c7c885d98c718a0d8"
56
56
  }
@@ -25,6 +25,7 @@ const SearchPublishedContent = ({
25
25
  const [searchTerm, setSearchTerm] = useState('');
26
26
  const [previousSearchTerm, setPreviousSearchTerm] = useState(null);
27
27
  const debouncedSearchTerm = useDebounce(searchTerm, 500);
28
+
28
29
  const [{ loading, results }, setQueryParams] = useSearchResults({
29
30
  queryKey: SEARCH_PUBLISHED,
30
31
  resultKeys,