@envive-ai/react-toolkit 0.1.5 → 0.1.7
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/dist/Accordion/index.cjs +84 -0
- package/dist/Accordion/index.d.cts +13 -0
- package/dist/Accordion/index.d.ts +13 -0
- package/dist/Accordion/index.js +77 -0
- package/dist/AppliedFiltersScrollbar/index.cjs +49 -0
- package/dist/AppliedFiltersScrollbar/index.d.cts +22 -0
- package/dist/AppliedFiltersScrollbar/index.d.ts +22 -0
- package/dist/AppliedFiltersScrollbar/index.js +44 -0
- package/dist/ButtonBase/index.cjs +2 -1
- package/dist/ButtonBase/index.d.cts +3 -3
- package/dist/ButtonBase/index.d.ts +1 -1
- package/dist/ButtonBase/index.js +2 -1
- package/dist/{ButtonBase-CpmFsiUf.js → ButtonBase-BIAu5fIG.js} +1 -1
- package/dist/ButtonBase-BRfuPPzN.js +1 -0
- package/dist/ButtonBase-BleAVeo-.cjs +0 -0
- package/dist/{ButtonBase-Dlh3bpR3.cjs → ButtonBase-DcyxOe2v.cjs} +2 -2
- package/dist/DynamicFiltersScrollbar/index.cjs +37 -0
- package/dist/DynamicFiltersScrollbar/index.d.cts +28 -0
- package/dist/DynamicFiltersScrollbar/index.d.ts +28 -0
- package/dist/DynamicFiltersScrollbar/index.js +32 -0
- package/dist/FilterScrollbar/index.cjs +1 -1
- package/dist/FilterScrollbar/index.d.cts +4 -4
- package/dist/FilterScrollbar/index.d.ts +4 -4
- package/dist/FilterScrollbar/index.js +1 -1
- package/dist/Headline/index.cjs +1 -1
- package/dist/Headline/index.d.cts +2 -2
- package/dist/Headline/index.js +1 -1
- package/dist/ImageWithFallback/index.cjs +1 -1
- package/dist/ImageWithFallback/index.d.ts +2 -2
- package/dist/ImageWithFallback/index.js +1 -1
- package/dist/{ImageWithFallback-By6QdlCR.cjs → ImageWithFallback-1LqhQK1q.cjs} +2 -2
- package/dist/{ImageWithFallback-DtUrq_bk.js → ImageWithFallback-Ckwsmd8P.js} +1 -1
- package/dist/ProductCard/index.cjs +7 -8
- package/dist/ProductCard/index.d.cts +2 -108
- package/dist/ProductCard/index.d.ts +2 -108
- package/dist/ProductCard/index.js +4 -5
- package/dist/{ProductCard-CvTRvhm7.cjs → ProductCard-DZZKutY-.cjs} +64 -5
- package/dist/{ProductCard-aJbQz6Q7.js → ProductCard-SF8-lXlT.js} +46 -6
- package/dist/ProductGrid/index.cjs +5 -5
- package/dist/ProductGrid/index.d.cts +6 -6
- package/dist/ProductGrid/index.d.ts +6 -6
- package/dist/ProductGrid/index.js +5 -5
- package/dist/{ProductGrid-CSIH2_G9.cjs → ProductGrid-BSSmPr7K.cjs} +48 -46
- package/dist/{ProductGrid-NOCayW9O.js → ProductGrid-DTUhH219.js} +48 -46
- package/dist/{SearchInputAutocomplete → SearchAutocomplete}/index.cjs +1 -1
- package/dist/{SearchInputAutocomplete → SearchAutocomplete}/index.d.cts +1 -1
- package/dist/{SearchInputAutocomplete → SearchAutocomplete}/index.d.ts +1 -1
- package/dist/SearchAutocomplete/index.js +3 -0
- package/dist/{SearchAutocomplete-DCu9-Yfk.js → SearchAutocomplete-BPjlo6qq.js} +4 -4
- package/dist/{SearchAutocomplete-CQxxe5Op.cjs → SearchAutocomplete-BzaEXmRQ.cjs} +8 -8
- package/dist/SearchFilter/index.cjs +5 -5
- package/dist/SearchFilter/index.d.cts +1 -34
- package/dist/SearchFilter/index.d.ts +1 -34
- package/dist/SearchFilter/index.js +2 -2
- package/dist/{SearchFilterHeader-qkRVfAB5.cjs → SearchFilter-B15tybnV.cjs} +1 -1
- package/dist/{SearchFilterHeader-BDEcDc_4.js → SearchFilter-D427M2UE.js} +1 -1
- package/dist/SearchInput/index.cjs +3 -3
- package/dist/SearchInput/index.d.cts +4 -4
- package/dist/SearchInput/index.d.ts +5 -5
- package/dist/SearchInput/index.js +3 -3
- package/dist/{SearchInput-DxGvYGZO.js → SearchInput-C0wB4hSV.js} +6 -6
- package/dist/{SearchInput-Cdpwswyv.cjs → SearchInput-D6UW79wT.cjs} +10 -10
- package/dist/SearchInputForm/index.cjs +6 -5
- package/dist/SearchInputForm/index.d.cts +1 -31
- package/dist/SearchInputForm/index.d.ts +1 -31
- package/dist/SearchInputForm/index.js +6 -5
- package/dist/SearchResultsContent/index.cjs +64 -0
- package/dist/SearchResultsContent/index.d.cts +67 -0
- package/dist/SearchResultsContent/index.d.ts +67 -0
- package/dist/SearchResultsContent/index.js +60 -0
- package/dist/SearchResultsFilterSidebar/index.cjs +10 -6
- package/dist/SearchResultsFilterSidebar/index.d.cts +3 -44
- package/dist/SearchResultsFilterSidebar/index.d.ts +3 -44
- package/dist/SearchResultsFilterSidebar/index.js +7 -4
- package/dist/SearchResultsStates/index.cjs +15 -125
- package/dist/SearchResultsStates/index.d.cts +14 -7
- package/dist/SearchResultsStates/index.d.ts +14 -7
- package/dist/SearchResultsStates/index.js +12 -117
- package/dist/SearchResultsStates-CNp6YCqF.js +112 -0
- package/dist/SearchResultsStates-Du7HXBi8.cjs +135 -0
- package/dist/SparkleAnimation/index.cjs +1 -1
- package/dist/SparkleAnimation/index.d.cts +2 -2
- package/dist/SparkleAnimation/index.d.ts +2 -2
- package/dist/SparkleAnimation/index.js +1 -1
- package/dist/{SparkleAnimation-DfMCtvAQ.js → SparkleAnimation-B0u6JtO3.js} +2 -2
- package/dist/{SparkleAnimation-j-mAMEZZ.cjs → SparkleAnimation-D1QpGZIg.cjs} +4 -4
- package/dist/Spinner/index.cjs +1 -1
- package/dist/Spinner/index.d.cts +2 -2
- package/dist/Spinner/index.js +1 -1
- package/dist/SuggestionButton/index.cjs +3 -3
- package/dist/SuggestionButton/index.d.cts +3 -3
- package/dist/SuggestionButton/index.d.ts +3 -3
- package/dist/SuggestionButton/index.js +2 -2
- package/dist/Text/index.cjs +2 -10
- package/dist/Text/index.d.cts +2 -2
- package/dist/Text/index.d.ts +3 -3
- package/dist/Text/index.js +1 -9
- package/dist/Text-DkwDPbHy.js +10 -0
- package/dist/Text-Ji61nRRE.cjs +16 -0
- package/dist/TextInput/index.cjs +1 -1
- package/dist/TextInput/index.d.ts +1 -1
- package/dist/TextInput/index.js +1 -1
- package/dist/{TextInput-CObd_Wcw.cjs → TextInput-C6fF9cSB.cjs} +2 -2
- package/dist/{TextInput-ChPhL54o.js → TextInput-CRMqBW3X.js} +1 -1
- package/dist/index-14eDYe9f.d.ts +58 -0
- package/dist/{types-Dvgr3ZeV.d.cts → index-B3iEVxkL.d.cts} +108 -23
- package/dist/index-B8bifyF-.d.ts +36 -0
- package/dist/index-BFdFh46m.d.cts +58 -0
- package/dist/{types-B7hf-Lif.d.ts → index-ByucvlTy.d.ts} +108 -23
- package/dist/index-C2iKBk7w.d.cts +36 -0
- package/dist/index-DLbdcczl.d.ts +78 -0
- package/dist/index-DlvTcfAg.d.cts +78 -0
- package/dist/{searchFilterSidebarVariants-C_UTEIpZ.js → searchFilterSidebarVariants-CZT1frB-.js} +1 -1
- package/dist/{searchFilterSidebarVariants-DcQLi_TT.cjs → searchFilterSidebarVariants-xyhy0PmQ.cjs} +1 -1
- package/package.json +22 -5
- package/src/components/Accordion/Accordion.tsx +90 -0
- package/src/components/Accordion/index.ts +1 -0
- package/src/components/AppliedFiltersScrollbar/AppliedFiltersScrollbar.tsx +70 -0
- package/src/components/AppliedFiltersScrollbar/index.ts +1 -0
- package/src/components/DynamicFiltersScrollbar/DynamicFiltersScrollbar.tsx +52 -0
- package/src/components/DynamicFiltersScrollbar/index.ts +1 -0
- package/src/components/ProductCard/ProductCard.tsx +34 -17
- package/src/components/ProductCard/types.ts +1 -1
- package/src/components/ProductGrid/ProductGrid.tsx +33 -33
- package/src/components/{SearchInputAutocomplete → SearchAutocomplete}/SearchAutocomplete.tsx +1 -1
- package/src/components/SearchInput/SearchInput.tsx +6 -6
- package/src/components/SearchInput/searchInputVariants.ts +5 -5
- package/src/components/SearchInputForm/SearchInputForm.tsx +6 -4
- package/src/components/SearchResultsContent/SearchResultsContent.tsx +87 -0
- package/src/components/SearchResultsContent/index.ts +2 -0
- package/src/components/SearchResultsContent/utils.ts +28 -0
- package/src/components/SearchResultsFilterSidebar/SearchResultsFilter.tsx +5 -6
- package/src/components/SearchResultsFilterSidebar/types.ts +14 -1
- package/src/components/SearchResultsStates/NoSearchResultsFound.tsx +2 -2
- package/src/components/SearchResultsStates/SearchResultsGrid.tsx +14 -12
- package/src/components/SearchResultsStates/SearchResultsLoadingGrid.tsx +4 -5
- package/dist/ProductCardSkeleton-B6YetUCT.js +0 -43
- package/dist/ProductCardSkeleton-BzBK36m-.cjs +0 -63
- package/dist/SearchInputAutocomplete/index.js +0 -3
- package/dist/types-5luH4G-3.d.cts +0 -5
- package/dist/types-BCAU5OQD.d.cts +0 -46
- package/dist/types-BIPqyTOJ.d.ts +0 -5
- package/dist/types-BwPquD10.d.ts +0 -46
- package/dist/types-CosVh8Hj.d.cts +0 -4
- package/dist/types-nR3jHgIO.d.ts +0 -4
- package/src/types/external.ts +0 -24
- /package/dist/{DynamicFiltersScrollbar-D8Lms7Ox.cjs → DynamicFiltersScrollbar-BTopFhyl.cjs} +0 -0
- /package/dist/{DynamicFiltersScrollbar-t_JASmYC.js → DynamicFiltersScrollbar-BmPTqym5.js} +0 -0
- /package/dist/{Headline-COAnonc2.js → Headline-XpaAeTSR.js} +0 -0
- /package/dist/{Headline-CdddUGwy.cjs → Headline-iP_MckEO.cjs} +0 -0
- /package/dist/{Spinner-D9kkaM9d.js → Spinner-BgGihEfJ.js} +0 -0
- /package/dist/{Spinner-DX35Epv3.cjs → Spinner-DzdIkS6t.cjs} +0 -0
- /package/dist/{colorsConfig-CKiMYHO_.js → colorsConfig-BQlaCfxi.js} +0 -0
- /package/dist/{colorsConfig-DulwYRIk.cjs → colorsConfig-DCvy_dV4.cjs} +0 -0
- /package/dist/{textVariantClasses-sT9E8Uty.d.ts → textVariantClasses-C8OCWZAw.d.ts} +0 -0
- /package/dist/{types-B19i3fxM.d.ts → types-Bm-qQyO3.d.ts} +0 -0
- /package/dist/{types-BQYpWDJ4.d.cts → types-C0UWKVvw.d.ts} +0 -0
- /package/dist/{types-C-Jrlw5Z.d.cts → types-CZHc-1wI.d.cts} +0 -0
- /package/dist/{types-DpfHwTzY.d.ts → types-D2xCS4y9.d.cts} +0 -0
- /package/src/components/{SearchInputAutocomplete → SearchAutocomplete}/index.ts +0 -0
|
@@ -1,32 +1,2 @@
|
|
|
1
|
-
import { SearchInputVariant } from "../
|
|
2
|
-
import * as react_jsx_runtime3 from "react/jsx-runtime";
|
|
3
|
-
|
|
4
|
-
//#region src/components/SearchInputForm/SearchInputForm.d.ts
|
|
5
|
-
interface SearchInputFormProps {
|
|
6
|
-
searchInputVariant: SearchInputVariant;
|
|
7
|
-
searchText: string;
|
|
8
|
-
autocompleteResults: string[];
|
|
9
|
-
searchBoxPlaceholder: string;
|
|
10
|
-
focusedOptionId: string | undefined;
|
|
11
|
-
isDirty: boolean;
|
|
12
|
-
focusedIndex: number;
|
|
13
|
-
onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
|
|
14
|
-
onAutocompleteSelect: (suggestion: string) => void;
|
|
15
|
-
onSearchInputChange: (value: string) => void;
|
|
16
|
-
onSearchSubmit: () => void;
|
|
17
|
-
}
|
|
18
|
-
declare const SearchInputForm: ({
|
|
19
|
-
searchInputVariant,
|
|
20
|
-
searchText,
|
|
21
|
-
autocompleteResults,
|
|
22
|
-
searchBoxPlaceholder,
|
|
23
|
-
focusedOptionId,
|
|
24
|
-
isDirty,
|
|
25
|
-
focusedIndex,
|
|
26
|
-
onKeyDown,
|
|
27
|
-
onAutocompleteSelect,
|
|
28
|
-
onSearchInputChange,
|
|
29
|
-
onSearchSubmit
|
|
30
|
-
}: SearchInputFormProps) => react_jsx_runtime3.JSX.Element;
|
|
31
|
-
//#endregion
|
|
1
|
+
import { SearchInputForm, SearchInputVariant } from "../index-B8bifyF-.js";
|
|
32
2
|
export { SearchInputForm, SearchInputVariant };
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "../textVariantClasses-CnjwO2Fv.js";
|
|
2
|
-
import "../
|
|
3
|
-
import "../
|
|
4
|
-
import
|
|
5
|
-
import {
|
|
2
|
+
import { SearchAutocomplete } from "../SearchAutocomplete-BPjlo6qq.js";
|
|
3
|
+
import "../TextInput-CRMqBW3X.js";
|
|
4
|
+
import "../colorsConfig-BQlaCfxi.js";
|
|
5
|
+
import { SearchInput, searchInputVariantClasses } from "../SearchInput-C0wB4hSV.js";
|
|
6
6
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
7
7
|
|
|
8
8
|
//#region src/components/SearchInputForm/SearchInputForm.tsx
|
|
9
|
-
const SearchInputForm = ({ searchInputVariant, searchText, autocompleteResults, searchBoxPlaceholder, focusedOptionId, isDirty, focusedIndex, onKeyDown, onAutocompleteSelect, onSearchInputChange, onSearchSubmit }) => {
|
|
9
|
+
const SearchInputForm = ({ searchInputVariant, searchText, autocompleteResults, searchBoxPlaceholder, focusedOptionId, isDirty, focusedIndex, onKeyDown, onAutocompleteSelect, onSearchInputChange, onSearchSubmit, searchInputDataTestId }) => {
|
|
10
10
|
const { searchInputIconColor } = searchInputVariantClasses[searchInputVariant];
|
|
11
11
|
return /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("form", {
|
|
12
12
|
onSubmit: (e) => {
|
|
@@ -20,6 +20,7 @@ const SearchInputForm = ({ searchInputVariant, searchText, autocompleteResults,
|
|
|
20
20
|
suggestions: autocompleteResults,
|
|
21
21
|
ariaActivedescendant: focusedOptionId,
|
|
22
22
|
searchInputVariant,
|
|
23
|
+
dataTestId: searchInputDataTestId,
|
|
23
24
|
onKeyDown,
|
|
24
25
|
onChange: onSearchInputChange
|
|
25
26
|
})
|
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
const require_chunk = require('../chunk-CUT6urMc.cjs');
|
|
2
|
+
require('../textVariantClasses-BnV4wXaw.cjs');
|
|
3
|
+
require('../Text-CgOYTs8D.cjs');
|
|
4
|
+
require('../DynamicFiltersScrollbar-BTopFhyl.cjs');
|
|
5
|
+
require('../Headline-iP_MckEO.cjs');
|
|
6
|
+
require('../ImageWithFallback-1LqhQK1q.cjs');
|
|
7
|
+
require('../ProductCard-DZZKutY-.cjs');
|
|
8
|
+
require('../Spinner-DzdIkS6t.cjs');
|
|
9
|
+
require('../ProductGrid-BSSmPr7K.cjs');
|
|
10
|
+
require('../colorsConfig-DCvy_dV4.cjs');
|
|
11
|
+
require('../Text-Ji61nRRE.cjs');
|
|
12
|
+
const require_SearchResultsStates = require('../SearchResultsStates-Du7HXBi8.cjs');
|
|
13
|
+
require('../searchFilterSidebarVariants-xyhy0PmQ.cjs');
|
|
14
|
+
require('../SparkleAnimation-D1QpGZIg.cjs');
|
|
15
|
+
let react_jsx_runtime = require("react/jsx-runtime");
|
|
16
|
+
react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
|
|
17
|
+
|
|
18
|
+
//#region src/components/SearchResultsContent/utils.ts
|
|
19
|
+
let SearchResultsState = /* @__PURE__ */ function(SearchResultsState$1) {
|
|
20
|
+
SearchResultsState$1[SearchResultsState$1["Loading"] = 0] = "Loading";
|
|
21
|
+
SearchResultsState$1[SearchResultsState$1["Results"] = 1] = "Results";
|
|
22
|
+
SearchResultsState$1[SearchResultsState$1["NoResults"] = 2] = "NoResults";
|
|
23
|
+
return SearchResultsState$1;
|
|
24
|
+
}({});
|
|
25
|
+
const getSearchResultsState = (isLoadingSearch, searchData) => {
|
|
26
|
+
if (isLoadingSearch) return SearchResultsState.Loading;
|
|
27
|
+
if (searchData) return SearchResultsState.Results;
|
|
28
|
+
return SearchResultsState.NoResults;
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
//#endregion
|
|
32
|
+
//#region src/components/SearchResultsContent/SearchResultsContent.tsx
|
|
33
|
+
const SearchResultsContent = ({ searchResultsState, productList, productCardConfig, merchantShortName, searchFilterSidebarVariant, productGridVariant, productGridClasses, containerXPaddingClasses, selectedFilterOptions, availableDynamicFilters, searchResponseId, onRemoveFilter, onToggleDynamicFilter, noResultsFoundText }) => {
|
|
34
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", { children: [
|
|
35
|
+
searchResultsState === SearchResultsState.NoResults && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SearchResultsStates.NoSearchResultsFound, {
|
|
36
|
+
containerPaddingClasses: containerXPaddingClasses,
|
|
37
|
+
includeBottomMargin: true,
|
|
38
|
+
noResultsFoundText
|
|
39
|
+
}),
|
|
40
|
+
searchResultsState === SearchResultsState.Results && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SearchResultsStates.SearchResultsGrid, {
|
|
41
|
+
searchFilterSidebarVariant,
|
|
42
|
+
productCardConfig,
|
|
43
|
+
merchantShortName,
|
|
44
|
+
productList,
|
|
45
|
+
productGridVariant,
|
|
46
|
+
productGridClasses,
|
|
47
|
+
containerXPaddingClasses,
|
|
48
|
+
selectedFilterOptions,
|
|
49
|
+
availableDynamicFilters,
|
|
50
|
+
searchResponseId,
|
|
51
|
+
onRemoveFilter,
|
|
52
|
+
onToggleDynamicFilter
|
|
53
|
+
}),
|
|
54
|
+
searchResultsState === SearchResultsState.Loading && /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SearchResultsStates.SearchResultsLoadingGrid, {
|
|
55
|
+
productGridVariant,
|
|
56
|
+
productGridClasses
|
|
57
|
+
})
|
|
58
|
+
] });
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
//#endregion
|
|
62
|
+
exports.SearchResultsContent = SearchResultsContent;
|
|
63
|
+
exports.SearchResultsState = SearchResultsState;
|
|
64
|
+
exports.getSearchResultsState = getSearchResultsState;
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { SelectedFilterOption } from "../types-CZHc-1wI.cjs";
|
|
2
|
+
import "../types-D2xCS4y9.cjs";
|
|
3
|
+
import { ProductCardConfig, ProductGridVariant, SearchResponseProductAttributes } from "../index-B3iEVxkL.cjs";
|
|
4
|
+
import "../index-DlvTcfAg.cjs";
|
|
5
|
+
import { SearchFilterSidebarVariant } from "../index-BFdFh46m.cjs";
|
|
6
|
+
import * as react_jsx_runtime22 from "react/jsx-runtime";
|
|
7
|
+
import { SearchResponseProduct } from "@spiffy-ai/commerce-api-client";
|
|
8
|
+
|
|
9
|
+
//#region src/components/SearchResultsContent/utils.d.ts
|
|
10
|
+
interface SearchResult {
|
|
11
|
+
products: SearchResponseProduct[];
|
|
12
|
+
filters: string[];
|
|
13
|
+
generatedQuery?: string;
|
|
14
|
+
totalProductCount: number;
|
|
15
|
+
searchResponseId: string;
|
|
16
|
+
}
|
|
17
|
+
declare const enum SearchResultsState {
|
|
18
|
+
Loading = 0,
|
|
19
|
+
Results = 1,
|
|
20
|
+
NoResults = 2,
|
|
21
|
+
}
|
|
22
|
+
declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/components/SearchResultsContent/SearchResultsContent.d.ts
|
|
25
|
+
interface SearchResultsContentProps {
|
|
26
|
+
searchResultsState: SearchResultsState;
|
|
27
|
+
productList: SearchResponseProductAttributes['attributes'][];
|
|
28
|
+
productCardConfig: ProductCardConfig;
|
|
29
|
+
merchantShortName: string;
|
|
30
|
+
searchFilterSidebarVariant: SearchFilterSidebarVariant;
|
|
31
|
+
productGridVariant: ProductGridVariant;
|
|
32
|
+
productGridClasses: string;
|
|
33
|
+
containerXPaddingClasses: string;
|
|
34
|
+
selectedFilterOptions: SelectedFilterOption[];
|
|
35
|
+
availableDynamicFilters: {
|
|
36
|
+
name: string;
|
|
37
|
+
displayName: string;
|
|
38
|
+
}[];
|
|
39
|
+
searchResponseId: string;
|
|
40
|
+
onRemoveFilter: (filter: SelectedFilterOption) => void;
|
|
41
|
+
onToggleDynamicFilter: ({
|
|
42
|
+
filter,
|
|
43
|
+
dynamicFilterDisplayName
|
|
44
|
+
}: {
|
|
45
|
+
filter: string;
|
|
46
|
+
dynamicFilterDisplayName: string;
|
|
47
|
+
}) => void;
|
|
48
|
+
noResultsFoundText?: string;
|
|
49
|
+
}
|
|
50
|
+
declare const SearchResultsContent: ({
|
|
51
|
+
searchResultsState,
|
|
52
|
+
productList,
|
|
53
|
+
productCardConfig,
|
|
54
|
+
merchantShortName,
|
|
55
|
+
searchFilterSidebarVariant,
|
|
56
|
+
productGridVariant,
|
|
57
|
+
productGridClasses,
|
|
58
|
+
containerXPaddingClasses,
|
|
59
|
+
selectedFilterOptions,
|
|
60
|
+
availableDynamicFilters,
|
|
61
|
+
searchResponseId,
|
|
62
|
+
onRemoveFilter,
|
|
63
|
+
onToggleDynamicFilter,
|
|
64
|
+
noResultsFoundText
|
|
65
|
+
}: SearchResultsContentProps) => react_jsx_runtime22.JSX.Element;
|
|
66
|
+
//#endregion
|
|
67
|
+
export { SearchResult, SearchResultsContent, SearchResultsState, getSearchResultsState };
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import { SelectedFilterOption } from "../types-Bm-qQyO3.js";
|
|
2
|
+
import "../types-C0UWKVvw.js";
|
|
3
|
+
import { ProductCardConfig, ProductGridVariant, SearchResponseProductAttributes } from "../index-ByucvlTy.js";
|
|
4
|
+
import "../index-DLbdcczl.js";
|
|
5
|
+
import { SearchFilterSidebarVariant } from "../index-14eDYe9f.js";
|
|
6
|
+
import * as react_jsx_runtime4 from "react/jsx-runtime";
|
|
7
|
+
import { SearchResponseProduct } from "@spiffy-ai/commerce-api-client";
|
|
8
|
+
|
|
9
|
+
//#region src/components/SearchResultsContent/utils.d.ts
|
|
10
|
+
interface SearchResult {
|
|
11
|
+
products: SearchResponseProduct[];
|
|
12
|
+
filters: string[];
|
|
13
|
+
generatedQuery?: string;
|
|
14
|
+
totalProductCount: number;
|
|
15
|
+
searchResponseId: string;
|
|
16
|
+
}
|
|
17
|
+
declare const enum SearchResultsState {
|
|
18
|
+
Loading = 0,
|
|
19
|
+
Results = 1,
|
|
20
|
+
NoResults = 2,
|
|
21
|
+
}
|
|
22
|
+
declare const getSearchResultsState: (isLoadingSearch: boolean, searchData: SearchResult | null) => SearchResultsState;
|
|
23
|
+
//#endregion
|
|
24
|
+
//#region src/components/SearchResultsContent/SearchResultsContent.d.ts
|
|
25
|
+
interface SearchResultsContentProps {
|
|
26
|
+
searchResultsState: SearchResultsState;
|
|
27
|
+
productList: SearchResponseProductAttributes['attributes'][];
|
|
28
|
+
productCardConfig: ProductCardConfig;
|
|
29
|
+
merchantShortName: string;
|
|
30
|
+
searchFilterSidebarVariant: SearchFilterSidebarVariant;
|
|
31
|
+
productGridVariant: ProductGridVariant;
|
|
32
|
+
productGridClasses: string;
|
|
33
|
+
containerXPaddingClasses: string;
|
|
34
|
+
selectedFilterOptions: SelectedFilterOption[];
|
|
35
|
+
availableDynamicFilters: {
|
|
36
|
+
name: string;
|
|
37
|
+
displayName: string;
|
|
38
|
+
}[];
|
|
39
|
+
searchResponseId: string;
|
|
40
|
+
onRemoveFilter: (filter: SelectedFilterOption) => void;
|
|
41
|
+
onToggleDynamicFilter: ({
|
|
42
|
+
filter,
|
|
43
|
+
dynamicFilterDisplayName
|
|
44
|
+
}: {
|
|
45
|
+
filter: string;
|
|
46
|
+
dynamicFilterDisplayName: string;
|
|
47
|
+
}) => void;
|
|
48
|
+
noResultsFoundText?: string;
|
|
49
|
+
}
|
|
50
|
+
declare const SearchResultsContent: ({
|
|
51
|
+
searchResultsState,
|
|
52
|
+
productList,
|
|
53
|
+
productCardConfig,
|
|
54
|
+
merchantShortName,
|
|
55
|
+
searchFilterSidebarVariant,
|
|
56
|
+
productGridVariant,
|
|
57
|
+
productGridClasses,
|
|
58
|
+
containerXPaddingClasses,
|
|
59
|
+
selectedFilterOptions,
|
|
60
|
+
availableDynamicFilters,
|
|
61
|
+
searchResponseId,
|
|
62
|
+
onRemoveFilter,
|
|
63
|
+
onToggleDynamicFilter,
|
|
64
|
+
noResultsFoundText
|
|
65
|
+
}: SearchResultsContentProps) => react_jsx_runtime4.JSX.Element;
|
|
66
|
+
//#endregion
|
|
67
|
+
export { SearchResult, SearchResultsContent, SearchResultsState, getSearchResultsState };
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import "../textVariantClasses-CnjwO2Fv.js";
|
|
2
|
+
import "../Text-BMg3d10t.js";
|
|
3
|
+
import "../DynamicFiltersScrollbar-BmPTqym5.js";
|
|
4
|
+
import "../Headline-XpaAeTSR.js";
|
|
5
|
+
import "../ImageWithFallback-Ckwsmd8P.js";
|
|
6
|
+
import "../ProductCard-SF8-lXlT.js";
|
|
7
|
+
import "../Spinner-BgGihEfJ.js";
|
|
8
|
+
import "../ProductGrid-DTUhH219.js";
|
|
9
|
+
import "../colorsConfig-BQlaCfxi.js";
|
|
10
|
+
import "../Text-DkwDPbHy.js";
|
|
11
|
+
import { NoSearchResultsFound, SearchResultsGrid, SearchResultsLoadingGrid } from "../SearchResultsStates-CNp6YCqF.js";
|
|
12
|
+
import "../searchFilterSidebarVariants-CZT1frB-.js";
|
|
13
|
+
import "../SparkleAnimation-B0u6JtO3.js";
|
|
14
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
15
|
+
|
|
16
|
+
//#region src/components/SearchResultsContent/utils.ts
|
|
17
|
+
let SearchResultsState = /* @__PURE__ */ function(SearchResultsState$1) {
|
|
18
|
+
SearchResultsState$1[SearchResultsState$1["Loading"] = 0] = "Loading";
|
|
19
|
+
SearchResultsState$1[SearchResultsState$1["Results"] = 1] = "Results";
|
|
20
|
+
SearchResultsState$1[SearchResultsState$1["NoResults"] = 2] = "NoResults";
|
|
21
|
+
return SearchResultsState$1;
|
|
22
|
+
}({});
|
|
23
|
+
const getSearchResultsState = (isLoadingSearch, searchData) => {
|
|
24
|
+
if (isLoadingSearch) return SearchResultsState.Loading;
|
|
25
|
+
if (searchData) return SearchResultsState.Results;
|
|
26
|
+
return SearchResultsState.NoResults;
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region src/components/SearchResultsContent/SearchResultsContent.tsx
|
|
31
|
+
const SearchResultsContent = ({ searchResultsState, productList, productCardConfig, merchantShortName, searchFilterSidebarVariant, productGridVariant, productGridClasses, containerXPaddingClasses, selectedFilterOptions, availableDynamicFilters, searchResponseId, onRemoveFilter, onToggleDynamicFilter, noResultsFoundText }) => {
|
|
32
|
+
return /* @__PURE__ */ jsxs("div", { children: [
|
|
33
|
+
searchResultsState === SearchResultsState.NoResults && /* @__PURE__ */ jsx(NoSearchResultsFound, {
|
|
34
|
+
containerPaddingClasses: containerXPaddingClasses,
|
|
35
|
+
includeBottomMargin: true,
|
|
36
|
+
noResultsFoundText
|
|
37
|
+
}),
|
|
38
|
+
searchResultsState === SearchResultsState.Results && /* @__PURE__ */ jsx(SearchResultsGrid, {
|
|
39
|
+
searchFilterSidebarVariant,
|
|
40
|
+
productCardConfig,
|
|
41
|
+
merchantShortName,
|
|
42
|
+
productList,
|
|
43
|
+
productGridVariant,
|
|
44
|
+
productGridClasses,
|
|
45
|
+
containerXPaddingClasses,
|
|
46
|
+
selectedFilterOptions,
|
|
47
|
+
availableDynamicFilters,
|
|
48
|
+
searchResponseId,
|
|
49
|
+
onRemoveFilter,
|
|
50
|
+
onToggleDynamicFilter
|
|
51
|
+
}),
|
|
52
|
+
searchResultsState === SearchResultsState.Loading && /* @__PURE__ */ jsx(SearchResultsLoadingGrid, {
|
|
53
|
+
productGridVariant,
|
|
54
|
+
productGridClasses
|
|
55
|
+
})
|
|
56
|
+
] });
|
|
57
|
+
};
|
|
58
|
+
|
|
59
|
+
//#endregion
|
|
60
|
+
export { SearchResultsContent, SearchResultsState, getSearchResultsState };
|
|
@@ -1,14 +1,17 @@
|
|
|
1
1
|
const require_chunk = require('../chunk-CUT6urMc.cjs');
|
|
2
|
-
const require_ButtonBase = require('../ButtonBase-
|
|
2
|
+
const require_ButtonBase = require('../ButtonBase-DcyxOe2v.cjs');
|
|
3
3
|
require('../textVariantClasses-BnV4wXaw.cjs');
|
|
4
4
|
require('../Text-CgOYTs8D.cjs');
|
|
5
|
-
|
|
6
|
-
require('../
|
|
7
|
-
|
|
5
|
+
require('../ButtonBase-BleAVeo-.cjs');
|
|
6
|
+
const require_SearchFilter = require('../SearchFilter-B15tybnV.cjs');
|
|
7
|
+
require('../colorsConfig-DCvy_dV4.cjs');
|
|
8
|
+
const require_searchFilterSidebarVariants = require('../searchFilterSidebarVariants-xyhy0PmQ.cjs');
|
|
8
9
|
let react = require("react");
|
|
9
10
|
react = require_chunk.__toESM(react);
|
|
10
11
|
let react_jsx_runtime = require("react/jsx-runtime");
|
|
11
12
|
react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
|
|
13
|
+
let __envive_ai_react_icons_SettingsVariant = require("@envive-ai/react-icons/SettingsVariant");
|
|
14
|
+
__envive_ai_react_icons_SettingsVariant = require_chunk.__toESM(__envive_ai_react_icons_SettingsVariant);
|
|
12
15
|
|
|
13
16
|
//#region src/components/SearchResultsFilterSidebar/SearchResultsFilter.tsx
|
|
14
17
|
const SearchResultsFilter = ({ productCount, isOpen, setIsOpen, searchFilters, searchFilterSidebarVariant, onSelectFilterItem, onClearAllFilters, filterButtonText }) => {
|
|
@@ -16,7 +19,7 @@ const SearchResultsFilter = ({ productCount, isOpen, setIsOpen, searchFilters, s
|
|
|
16
19
|
const openFilter = (0, react.useCallback)(() => {
|
|
17
20
|
setIsOpen(true);
|
|
18
21
|
}, [setIsOpen]);
|
|
19
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
22
|
+
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(react_jsx_runtime.Fragment, { children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SearchFilter.SearchFilter, {
|
|
20
23
|
isOpen,
|
|
21
24
|
setIsOpen,
|
|
22
25
|
filters: searchFilters,
|
|
@@ -30,7 +33,7 @@ const SearchResultsFilter = ({ productCount, isOpen, setIsOpen, searchFilters, s
|
|
|
30
33
|
radioButtonHoverColor,
|
|
31
34
|
radioButtonUncheckedBorderColor,
|
|
32
35
|
filterCloseIconVariant,
|
|
33
|
-
headerContent: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(
|
|
36
|
+
headerContent: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SearchFilter.SearchFilterHeader, {
|
|
34
37
|
closeModal: () => setIsOpen(false),
|
|
35
38
|
productCount,
|
|
36
39
|
headerClassName: searchFilterHeaderClasses,
|
|
@@ -38,6 +41,7 @@ const SearchResultsFilter = ({ productCount, isOpen, setIsOpen, searchFilters, s
|
|
|
38
41
|
})
|
|
39
42
|
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ButtonBase.ButtonBase, {
|
|
40
43
|
onClick: openFilter,
|
|
44
|
+
icon: __envive_ai_react_icons_SettingsVariant.default,
|
|
41
45
|
iconClass: "spiffy-tw-w-[28px] spiffy-tw-h-[28px] spiffy-tw-object-center",
|
|
42
46
|
text: filterButtonText,
|
|
43
47
|
textClass: "spiffy-tw-uppercase spiffy-tw-text-[--spiffy-colors-text-primary] spiffy-tw-hidden md:spiffy-tw-block",
|
|
@@ -1,44 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { CloseIconVariant, SearchFilterSidebarVariant } from "../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
//#region src/components/SearchResultsFilterSidebar/searchFilterSidebarVariants.d.ts
|
|
6
|
-
interface SearchFilterSidebarVariantClasses {
|
|
7
|
-
searchFilterHeaderClasses: string;
|
|
8
|
-
radioButtonFillColor: string;
|
|
9
|
-
radioButtonHoverColor: string;
|
|
10
|
-
radioButtonUncheckedBorderColor: string;
|
|
11
|
-
filterDefaultClasses: string;
|
|
12
|
-
filterActiveClasses: string;
|
|
13
|
-
filterHoverClasses: string;
|
|
14
|
-
appliedFilterBackgroundClasses: string;
|
|
15
|
-
applyFiltersUnchangedClasses: string;
|
|
16
|
-
applyFiltersChangedClasses: string;
|
|
17
|
-
filterCloseIconVariant: CloseIconVariant;
|
|
18
|
-
}
|
|
19
|
-
declare const searchFilterSidebarVariantClasses: Record<SearchFilterSidebarVariant, SearchFilterSidebarVariantClasses>;
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region src/components/SearchResultsFilterSidebar/SearchResultsFilter.d.ts
|
|
22
|
-
type SearchResultsFilterProps = {
|
|
23
|
-
productCount: number;
|
|
24
|
-
isOpen: boolean;
|
|
25
|
-
setIsOpen: (isOpen: boolean) => void;
|
|
26
|
-
searchFilters: SearchFilter[];
|
|
27
|
-
searchFilterSidebarVariant: SearchFilterSidebarVariant;
|
|
28
|
-
searchText: string;
|
|
29
|
-
onSelectFilterItem: SelectFilterItem;
|
|
30
|
-
onClearAllFilters: () => void;
|
|
31
|
-
filterButtonText: string;
|
|
32
|
-
};
|
|
33
|
-
declare const SearchResultsFilter: ({
|
|
34
|
-
productCount,
|
|
35
|
-
isOpen,
|
|
36
|
-
setIsOpen,
|
|
37
|
-
searchFilters,
|
|
38
|
-
searchFilterSidebarVariant,
|
|
39
|
-
onSelectFilterItem,
|
|
40
|
-
onClearAllFilters,
|
|
41
|
-
filterButtonText
|
|
42
|
-
}: SearchResultsFilterProps) => react_jsx_runtime9.JSX.Element;
|
|
43
|
-
//#endregion
|
|
44
|
-
export { CloseIconVariant, SearchFilterSidebarVariant, SearchResultsFilter, SearchResultsFilterProps, searchFilterSidebarVariantClasses };
|
|
1
|
+
import "../index-DlvTcfAg.cjs";
|
|
2
|
+
import { CloseIconVariant, SearchFilter, SearchFilterItem, SearchFilterSidebarVariant, SearchResultsFilter, SearchResultsFilterProps, searchFilterSidebarVariantClasses } from "../index-BFdFh46m.cjs";
|
|
3
|
+
export { CloseIconVariant, SearchFilter, SearchFilterItem, SearchFilterSidebarVariant, SearchResultsFilter, SearchResultsFilterProps, searchFilterSidebarVariantClasses };
|
|
@@ -1,44 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
import { CloseIconVariant, SearchFilterSidebarVariant } from "../
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
//#region src/components/SearchResultsFilterSidebar/searchFilterSidebarVariants.d.ts
|
|
6
|
-
interface SearchFilterSidebarVariantClasses {
|
|
7
|
-
searchFilterHeaderClasses: string;
|
|
8
|
-
radioButtonFillColor: string;
|
|
9
|
-
radioButtonHoverColor: string;
|
|
10
|
-
radioButtonUncheckedBorderColor: string;
|
|
11
|
-
filterDefaultClasses: string;
|
|
12
|
-
filterActiveClasses: string;
|
|
13
|
-
filterHoverClasses: string;
|
|
14
|
-
appliedFilterBackgroundClasses: string;
|
|
15
|
-
applyFiltersUnchangedClasses: string;
|
|
16
|
-
applyFiltersChangedClasses: string;
|
|
17
|
-
filterCloseIconVariant: CloseIconVariant;
|
|
18
|
-
}
|
|
19
|
-
declare const searchFilterSidebarVariantClasses: Record<SearchFilterSidebarVariant, SearchFilterSidebarVariantClasses>;
|
|
20
|
-
//#endregion
|
|
21
|
-
//#region src/components/SearchResultsFilterSidebar/SearchResultsFilter.d.ts
|
|
22
|
-
type SearchResultsFilterProps = {
|
|
23
|
-
productCount: number;
|
|
24
|
-
isOpen: boolean;
|
|
25
|
-
setIsOpen: (isOpen: boolean) => void;
|
|
26
|
-
searchFilters: SearchFilter[];
|
|
27
|
-
searchFilterSidebarVariant: SearchFilterSidebarVariant;
|
|
28
|
-
searchText: string;
|
|
29
|
-
onSelectFilterItem: SelectFilterItem;
|
|
30
|
-
onClearAllFilters: () => void;
|
|
31
|
-
filterButtonText: string;
|
|
32
|
-
};
|
|
33
|
-
declare const SearchResultsFilter: ({
|
|
34
|
-
productCount,
|
|
35
|
-
isOpen,
|
|
36
|
-
setIsOpen,
|
|
37
|
-
searchFilters,
|
|
38
|
-
searchFilterSidebarVariant,
|
|
39
|
-
onSelectFilterItem,
|
|
40
|
-
onClearAllFilters,
|
|
41
|
-
filterButtonText
|
|
42
|
-
}: SearchResultsFilterProps) => react_jsx_runtime14.JSX.Element;
|
|
43
|
-
//#endregion
|
|
44
|
-
export { CloseIconVariant, SearchFilterSidebarVariant, SearchResultsFilter, SearchResultsFilterProps, searchFilterSidebarVariantClasses };
|
|
1
|
+
import "../index-DLbdcczl.js";
|
|
2
|
+
import { CloseIconVariant, SearchFilter, SearchFilterItem, SearchFilterSidebarVariant, SearchResultsFilter, SearchResultsFilterProps, searchFilterSidebarVariantClasses } from "../index-14eDYe9f.js";
|
|
3
|
+
export { CloseIconVariant, SearchFilter, SearchFilterItem, SearchFilterSidebarVariant, SearchResultsFilter, SearchResultsFilterProps, searchFilterSidebarVariantClasses };
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { ButtonBase } from "../ButtonBase-
|
|
1
|
+
import { ButtonBase } from "../ButtonBase-BIAu5fIG.js";
|
|
2
2
|
import "../textVariantClasses-CnjwO2Fv.js";
|
|
3
3
|
import "../Text-BMg3d10t.js";
|
|
4
|
-
import
|
|
5
|
-
import "../
|
|
6
|
-
import
|
|
4
|
+
import "../ButtonBase-BRfuPPzN.js";
|
|
5
|
+
import { SearchFilter, SearchFilterHeader } from "../SearchFilter-D427M2UE.js";
|
|
6
|
+
import "../colorsConfig-BQlaCfxi.js";
|
|
7
|
+
import { searchFilterSidebarVariantClasses } from "../searchFilterSidebarVariants-CZT1frB-.js";
|
|
7
8
|
import { useCallback } from "react";
|
|
8
9
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
10
|
+
import SettingsVariant from "@envive-ai/react-icons/SettingsVariant";
|
|
9
11
|
|
|
10
12
|
//#region src/components/SearchResultsFilterSidebar/SearchResultsFilter.tsx
|
|
11
13
|
const SearchResultsFilter = ({ productCount, isOpen, setIsOpen, searchFilters, searchFilterSidebarVariant, onSelectFilterItem, onClearAllFilters, filterButtonText }) => {
|
|
@@ -35,6 +37,7 @@ const SearchResultsFilter = ({ productCount, isOpen, setIsOpen, searchFilters, s
|
|
|
35
37
|
})
|
|
36
38
|
}), /* @__PURE__ */ jsx(ButtonBase, {
|
|
37
39
|
onClick: openFilter,
|
|
40
|
+
icon: SettingsVariant,
|
|
38
41
|
iconClass: "spiffy-tw-w-[28px] spiffy-tw-h-[28px] spiffy-tw-object-center",
|
|
39
42
|
text: filterButtonText,
|
|
40
43
|
textClass: "spiffy-tw-uppercase spiffy-tw-text-[--spiffy-colors-text-primary] spiffy-tw-hidden md:spiffy-tw-block",
|
|
@@ -1,127 +1,17 @@
|
|
|
1
|
-
const require_chunk = require('../chunk-CUT6urMc.cjs');
|
|
2
1
|
require('../textVariantClasses-BnV4wXaw.cjs');
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require('../Headline-
|
|
6
|
-
require('../ImageWithFallback-
|
|
7
|
-
require('../ProductCard-
|
|
8
|
-
require('../Spinner-
|
|
9
|
-
|
|
10
|
-
require('../colorsConfig-
|
|
11
|
-
|
|
12
|
-
const
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
classnames = require_chunk.__toESM(classnames);
|
|
16
|
-
let react_jsx_runtime = require("react/jsx-runtime");
|
|
17
|
-
react_jsx_runtime = require_chunk.__toESM(react_jsx_runtime);
|
|
18
|
-
let framer_motion = require("framer-motion");
|
|
19
|
-
framer_motion = require_chunk.__toESM(framer_motion);
|
|
20
|
-
let __envive_ai_react_icons_src_Sparkles = require("@envive-ai/react-icons/src/Sparkles");
|
|
21
|
-
__envive_ai_react_icons_src_Sparkles = require_chunk.__toESM(__envive_ai_react_icons_src_Sparkles);
|
|
2
|
+
require('../Text-CgOYTs8D.cjs');
|
|
3
|
+
require('../DynamicFiltersScrollbar-BTopFhyl.cjs');
|
|
4
|
+
require('../Headline-iP_MckEO.cjs');
|
|
5
|
+
require('../ImageWithFallback-1LqhQK1q.cjs');
|
|
6
|
+
require('../ProductCard-DZZKutY-.cjs');
|
|
7
|
+
require('../Spinner-DzdIkS6t.cjs');
|
|
8
|
+
require('../ProductGrid-BSSmPr7K.cjs');
|
|
9
|
+
require('../colorsConfig-DCvy_dV4.cjs');
|
|
10
|
+
require('../Text-Ji61nRRE.cjs');
|
|
11
|
+
const require_SearchResultsStates = require('../SearchResultsStates-Du7HXBi8.cjs');
|
|
12
|
+
require('../searchFilterSidebarVariants-xyhy0PmQ.cjs');
|
|
13
|
+
require('../SparkleAnimation-D1QpGZIg.cjs');
|
|
22
14
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
27
|
-
className: containerClasses,
|
|
28
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
29
|
-
className: "spiffy-tw-flex spiffy-tw-items-start spiffy-tw-gap-2",
|
|
30
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", { children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(__envive_ai_react_icons_src_Sparkles.default, {
|
|
31
|
-
className: "spiffy-tw-w-[24px] spiffy-tw-h-[24px]",
|
|
32
|
-
style: { color: sparkleIconColor }
|
|
33
|
-
}) }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Text, {
|
|
34
|
-
variant: "body2",
|
|
35
|
-
children: noResultsFoundText || "I’m sorry, I wasn’t able to find an exact match. Try changing your filters or adjusting your search query."
|
|
36
|
-
})]
|
|
37
|
-
})
|
|
38
|
-
});
|
|
39
|
-
};
|
|
40
|
-
|
|
41
|
-
//#endregion
|
|
42
|
-
//#region src/components/SearchResultsStates/SearchResultsGrid.tsx
|
|
43
|
-
const SearchResultsGrid = ({ productList, availableDynamicFilters, searchFilterSidebarVariant, productGridVariant, selectedFilterOptions, searchResponseId, containerXPaddingClasses, productGridClasses, onRemoveFilter, onToggleDynamicFilter }) => {
|
|
44
|
-
const sharedFilterBarClasses = (0, classnames.default)("spiffy-suggestion-bar", "spiffy-tw-no-scrollbar", "spiffy-tw-flex", "spiffy-tw-flex-row", "spiffy-tw-gap-2", "spiffy-tw-mb-[16px]", "spiffy-tw-overflow-x-scroll", containerXPaddingClasses);
|
|
45
|
-
const filterBarClasses = (0, classnames.default)(sharedFilterBarClasses, "spiffy-tw-mt-[24px]");
|
|
46
|
-
const appliedFilterBarClasses = (0, classnames.default)(sharedFilterBarClasses, "spiffy-tw-mb-[32px]", "spiffy-tw-mt-[8px]");
|
|
47
|
-
const { filterDefaultClasses, filterHoverClasses, appliedFilterBackgroundClasses } = require_searchFilterSidebarVariants.searchFilterSidebarVariantClasses[searchFilterSidebarVariant];
|
|
48
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)(framer_motion.motion.div, {
|
|
49
|
-
className: "spiffy-tw-justify-center spiffy-tw-w-full spiffy-tw-overflow-hidden",
|
|
50
|
-
initial: { opacity: 0 },
|
|
51
|
-
animate: { opacity: 1 },
|
|
52
|
-
exit: { opacity: 0 },
|
|
53
|
-
transition: { duration: .2 },
|
|
54
|
-
children: [
|
|
55
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DynamicFiltersScrollbar.AppliedFiltersScrollbar, {
|
|
56
|
-
selectedFilterOptions,
|
|
57
|
-
filterBarClassNames: appliedFilterBarClasses,
|
|
58
|
-
filterDefaultClasses,
|
|
59
|
-
filterHoverClasses,
|
|
60
|
-
appliedFilterBackgroundClasses,
|
|
61
|
-
onRemoveFilter
|
|
62
|
-
}),
|
|
63
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_DynamicFiltersScrollbar.DynamicFiltersScrollbar, {
|
|
64
|
-
availableDynamicFilters,
|
|
65
|
-
filterBarClassNames: filterBarClasses,
|
|
66
|
-
filterDefaultClasses,
|
|
67
|
-
filterHoverClasses,
|
|
68
|
-
onToggleDynamicFilter
|
|
69
|
-
}),
|
|
70
|
-
/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ProductGrid.ProductGrid, {
|
|
71
|
-
productList,
|
|
72
|
-
productGridVariant,
|
|
73
|
-
productGridClasses,
|
|
74
|
-
searchResponseId,
|
|
75
|
-
merchantShortName: "",
|
|
76
|
-
handleClick: function(clickedUrl) {
|
|
77
|
-
console.log(clickedUrl);
|
|
78
|
-
throw new Error("Function not implemented.");
|
|
79
|
-
}
|
|
80
|
-
})
|
|
81
|
-
]
|
|
82
|
-
});
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
//#endregion
|
|
86
|
-
//#region src/components/SearchResultsStates/SearchResultsLoadingGrid.tsx
|
|
87
|
-
const SearchResultsLoadingGrid = ({ productGridVariant, productGridClasses, sparkleIconColor = "var(--spiffy-colors-accent-primary)" }) => {
|
|
88
|
-
const { productCardLayoutVariant, productCardImageAspectRatio } = require_ProductGrid.productGridVariantClasses[productGridVariant];
|
|
89
|
-
return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
|
|
90
|
-
className: "spiffy-tw-justify-center spiffy-tw-w-full spiffy-tw-overflow-hidden",
|
|
91
|
-
initial: { opacity: 0 },
|
|
92
|
-
animate: { opacity: 1 },
|
|
93
|
-
exit: { opacity: 0 },
|
|
94
|
-
transition: { duration: .2 },
|
|
95
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
96
|
-
className: "spiffy-tw-mt-6 spiffy-tw-w-full",
|
|
97
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
98
|
-
className: "spiffy-tw-flex spiffy-tw-items-center spiffy-tw-justify-between spiffy-tw-mb-4",
|
|
99
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
|
|
100
|
-
className: "spiffy-tw-flex spiffy-tw-items-center spiffy-tw-gap-2 spiffy-tw-ml-[16px] md:spiffy-tw-ml-[80px]",
|
|
101
|
-
children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
102
|
-
className: "spiffy-tw-width-[24px]",
|
|
103
|
-
children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SparkleAnimation.SparkleAnimation, {
|
|
104
|
-
color: sparkleIconColor,
|
|
105
|
-
animate: true
|
|
106
|
-
})
|
|
107
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Text.Text, {
|
|
108
|
-
variant: "body2",
|
|
109
|
-
children: "Finding the best options for you..."
|
|
110
|
-
})]
|
|
111
|
-
})
|
|
112
|
-
}), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
|
|
113
|
-
className: productGridClasses,
|
|
114
|
-
children: Array.from({ length: 8 }).map((_, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ProductCardSkeleton.ProductCardSkeleton, {
|
|
115
|
-
layoutVariant: productCardLayoutVariant,
|
|
116
|
-
aspectRatio: productCardImageAspectRatio,
|
|
117
|
-
growWithContainer: true
|
|
118
|
-
}, index))
|
|
119
|
-
})]
|
|
120
|
-
})
|
|
121
|
-
});
|
|
122
|
-
};
|
|
123
|
-
|
|
124
|
-
//#endregion
|
|
125
|
-
exports.NoSearchResultsFound = NoSearchResultsFound;
|
|
126
|
-
exports.SearchResultsGrid = SearchResultsGrid;
|
|
127
|
-
exports.SearchResultsLoadingGrid = SearchResultsLoadingGrid;
|
|
15
|
+
exports.NoSearchResultsFound = require_SearchResultsStates.NoSearchResultsFound;
|
|
16
|
+
exports.SearchResultsGrid = require_SearchResultsStates.SearchResultsGrid;
|
|
17
|
+
exports.SearchResultsLoadingGrid = require_SearchResultsStates.SearchResultsLoadingGrid;
|