|
48 | 48 | </SfSearchBar> |
49 | 49 | </template> |
50 | 50 |
|
51 | | -<script> |
| 51 | +<script lang="ts"> |
52 | 52 | import { SfButton, SfSearchBar } from '@storefront-ui/vue'; |
53 | 53 | import { |
54 | 54 | defineComponent, ref, watch, useRoute, |
55 | 55 | } from '@nuxtjs/composition-api'; |
56 | 56 | import debounce from 'lodash.debounce'; |
57 | | -import { |
58 | | - categoryGetters, |
59 | | - useCategorySearch, |
60 | | - useFacet, |
61 | | -} from '@vue-storefront/magento'; |
62 | 57 | import { clickOutside } from '~/utilities/directives/click-outside/click-outside-directive.js'; |
| 58 | +import { useCategorySearch, useFacet } from '~/composables'; |
| 59 | +import { categoryGetters } from '~/getters'; |
63 | 60 | import SvgImage from '~/components/General/SvgImage.vue'; |
64 | 61 |
|
65 | 62 | export default defineComponent({ |
@@ -90,12 +87,12 @@ export default defineComponent({ |
90 | 87 | const { |
91 | 88 | result: searchResult, |
92 | 89 | search: productsSearch, |
93 | | - } = useFacet('AppHeader:Products'); |
| 90 | + } = useFacet(); |
94 | 91 |
|
95 | 92 | const { |
96 | 93 | result: categories, |
97 | 94 | search: categoriesSearch, |
98 | | - } = useCategorySearch('AppHeader:Categories'); |
| 95 | + } = useCategorySearch(); |
99 | 96 |
|
100 | 97 | const showSearch = () => { |
101 | 98 | if (!isSearchOpen.value) { |
@@ -129,7 +126,9 @@ export default defineComponent({ |
129 | 126 | const closeSearch = (event) => { |
130 | 127 | if (document) { |
131 | 128 | const searchResultsEl = document.querySelectorAll('.search'); |
132 | | - if (!searchResultsEl[0]?.contains(event.target)) { |
| 129 | + const closeTriggerElement = event.target as HTMLElement; |
| 130 | +
|
| 131 | + if (!searchResultsEl[0]?.contains(closeTriggerElement)) { |
133 | 132 | hideSearch(); |
134 | 133 | term.value = ''; |
135 | 134 | } |
|
0 commit comments