@envive-ai/react-widgets 0.1.3 → 0.3.1

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.
Files changed (197) hide show
  1. package/dist/SearchResults/SearchResults.cjs +8 -12
  2. package/dist/SearchResults/SearchResults.js +4 -8
  3. package/dist/SearchResults/SearchResultsWidget.cjs +1 -1
  4. package/dist/SearchResults/SearchResultsWidget.js +1 -1
  5. package/dist/SearchResults/withSearchResults.cjs +1 -1
  6. package/dist/SearchResults/withSearchResults.js +1 -1
  7. package/dist/SearchZeroState/SearchIcon.cjs +2 -3
  8. package/dist/SearchZeroState/SearchIcon.js +1 -2
  9. package/dist/SearchZeroState/SearchZeroState.cjs +12 -16
  10. package/dist/SearchZeroState/SearchZeroState.js +7 -11
  11. package/dist/SearchZeroState/SearchZeroStateWidget.cjs +1 -1
  12. package/dist/SearchZeroState/SearchZeroStateWidget.js +1 -1
  13. package/dist/SearchZeroState/components/RecommendedProducts.cjs +5 -7
  14. package/dist/SearchZeroState/components/RecommendedProducts.js +3 -5
  15. package/dist/SuggestionBar/SuggestionBar.cjs +1 -1
  16. package/dist/SuggestionBar/SuggestionBar.js +2 -2
  17. package/dist/SuggestionButtonContainer/SuggestionButtonContainer.cjs +6 -7
  18. package/dist/SuggestionButtonContainer/SuggestionButtonContainer.js +2 -3
  19. package/package.json +3 -1
  20. package/dist/node_modules/react-icons/lib/iconBase.cjs +0 -121
  21. package/dist/node_modules/react-icons/lib/iconBase.js +0 -119
  22. package/dist/node_modules/react-icons/lib/iconContext.cjs +0 -17
  23. package/dist/node_modules/react-icons/lib/iconContext.js +0 -14
  24. package/dist/node_modules/react-icons/md/index.cjs +0 -35
  25. package/dist/node_modules/react-icons/md/index.js +0 -35
  26. package/dist/packages/components/dist/components/Accordion/Accordion.cjs +0 -80
  27. package/dist/packages/components/dist/components/Accordion/Accordion.js +0 -78
  28. package/dist/packages/components/dist/components/Accordion/index.cjs +0 -1
  29. package/dist/packages/components/dist/components/Accordion/index.js +0 -1
  30. package/dist/packages/components/dist/components/AnimatedChevron/AnimatedChevron.cjs +0 -30
  31. package/dist/packages/components/dist/components/AnimatedChevron/AnimatedChevron.js +0 -29
  32. package/dist/packages/components/dist/components/ButtonBase/ButtonBase.cjs +0 -56
  33. package/dist/packages/components/dist/components/ButtonBase/ButtonBase.js +0 -54
  34. package/dist/packages/components/dist/components/ButtonBase/index.cjs +0 -2
  35. package/dist/packages/components/dist/components/ButtonBase/index.js +0 -2
  36. package/dist/packages/components/dist/components/ButtonBase/types.cjs +0 -11
  37. package/dist/packages/components/dist/components/ButtonBase/types.js +0 -10
  38. package/dist/packages/components/dist/components/FilterScrollbar/AppliedFiltersScrollbar.cjs +0 -45
  39. package/dist/packages/components/dist/components/FilterScrollbar/AppliedFiltersScrollbar.js +0 -42
  40. package/dist/packages/components/dist/components/FilterScrollbar/DynamicFiltersScrollbar.cjs +0 -33
  41. package/dist/packages/components/dist/components/FilterScrollbar/DynamicFiltersScrollbar.js +0 -30
  42. package/dist/packages/components/dist/components/ImageWithFallback/ImageWithFallback.cjs +0 -45
  43. package/dist/packages/components/dist/components/ImageWithFallback/ImageWithFallback.js +0 -42
  44. package/dist/packages/components/dist/components/ImageWithFallback/index.cjs +0 -1
  45. package/dist/packages/components/dist/components/ImageWithFallback/index.js +0 -1
  46. package/dist/packages/components/dist/components/ModalSheet/ModalSheet.cjs +0 -30
  47. package/dist/packages/components/dist/components/ModalSheet/ModalSheet.js +0 -29
  48. package/dist/packages/components/dist/components/ModalSheet/desktop/desktopHeader.cjs +0 -26
  49. package/dist/packages/components/dist/components/ModalSheet/desktop/desktopHeader.js +0 -24
  50. package/dist/packages/components/dist/components/ModalSheet/desktop/index.cjs +0 -122
  51. package/dist/packages/components/dist/components/ModalSheet/desktop/index.js +0 -120
  52. package/dist/packages/components/dist/components/ModalSheet/index.cjs +0 -1
  53. package/dist/packages/components/dist/components/ModalSheet/index.js +0 -1
  54. package/dist/packages/components/dist/components/ModalSheet/mobile/index.cjs +0 -116
  55. package/dist/packages/components/dist/components/ModalSheet/mobile/index.js +0 -114
  56. package/dist/packages/components/dist/components/ModalSheet/mobile/mobileHeader.cjs +0 -38
  57. package/dist/packages/components/dist/components/ModalSheet/mobile/mobileHeader.js +0 -36
  58. package/dist/packages/components/dist/components/ProductCard/ProductCard.cjs +0 -153
  59. package/dist/packages/components/dist/components/ProductCard/ProductCard.js +0 -149
  60. package/dist/packages/components/dist/components/ProductCard/ProductCardSkeleton.cjs +0 -33
  61. package/dist/packages/components/dist/components/ProductCard/ProductCardSkeleton.js +0 -31
  62. package/dist/packages/components/dist/components/ProductCard/index.cjs +0 -4
  63. package/dist/packages/components/dist/components/ProductCard/index.js +0 -4
  64. package/dist/packages/components/dist/components/ProductCard/productCardVariants.cjs +0 -49
  65. package/dist/packages/components/dist/components/ProductCard/productCardVariants.js +0 -45
  66. package/dist/packages/components/dist/components/ProductCard/types.cjs +0 -10
  67. package/dist/packages/components/dist/components/ProductCard/types.js +0 -9
  68. package/dist/packages/components/dist/components/ProductGrid/ProductGrid.cjs +0 -43
  69. package/dist/packages/components/dist/components/ProductGrid/ProductGrid.js +0 -41
  70. package/dist/packages/components/dist/components/ProductGrid/index.cjs +0 -2
  71. package/dist/packages/components/dist/components/ProductGrid/index.js +0 -2
  72. package/dist/packages/components/dist/components/ProductGrid/productGridVariants.cjs +0 -21
  73. package/dist/packages/components/dist/components/ProductGrid/productGridVariants.js +0 -20
  74. package/dist/packages/components/dist/components/RadioButton/RadioButton.cjs +0 -74
  75. package/dist/packages/components/dist/components/RadioButton/RadioButton.js +0 -72
  76. package/dist/packages/components/dist/components/RadioButton/index.cjs +0 -1
  77. package/dist/packages/components/dist/components/RadioButton/index.js +0 -1
  78. package/dist/packages/components/dist/components/RadioButtonGroup/RadioButtonGroup.cjs +0 -42
  79. package/dist/packages/components/dist/components/RadioButtonGroup/RadioButtonGroup.js +0 -39
  80. package/dist/packages/components/dist/components/RadioButtonGroup/index.cjs +0 -1
  81. package/dist/packages/components/dist/components/RadioButtonGroup/index.js +0 -1
  82. package/dist/packages/components/dist/components/RecommendedProducts/RecommendedProducts.cjs +0 -53
  83. package/dist/packages/components/dist/components/RecommendedProducts/RecommendedProducts.js +0 -51
  84. package/dist/packages/components/dist/components/RecommendedProducts/index.cjs +0 -3
  85. package/dist/packages/components/dist/components/RecommendedProducts/index.js +0 -3
  86. package/dist/packages/components/dist/components/SearchAutocomplete/SearchAutocomplete.cjs +0 -72
  87. package/dist/packages/components/dist/components/SearchAutocomplete/SearchAutocomplete.js +0 -69
  88. package/dist/packages/components/dist/components/SearchAutocomplete/index.cjs +0 -1
  89. package/dist/packages/components/dist/components/SearchAutocomplete/index.js +0 -1
  90. package/dist/packages/components/dist/components/SearchFilter/SearchFilter.cjs +0 -134
  91. package/dist/packages/components/dist/components/SearchFilter/SearchFilter.js +0 -132
  92. package/dist/packages/components/dist/components/SearchFilter/SearchFilterFooter.cjs +0 -48
  93. package/dist/packages/components/dist/components/SearchFilter/SearchFilterFooter.js +0 -46
  94. package/dist/packages/components/dist/components/SearchFilter/SearchFilterHeader.cjs +0 -42
  95. package/dist/packages/components/dist/components/SearchFilter/SearchFilterHeader.js +0 -40
  96. package/dist/packages/components/dist/components/SearchFilter/SearchFilterItem.cjs +0 -6
  97. package/dist/packages/components/dist/components/SearchFilter/SearchFilterItem.js +0 -4
  98. package/dist/packages/components/dist/components/SearchFilter/index.cjs +0 -5
  99. package/dist/packages/components/dist/components/SearchFilter/index.js +0 -5
  100. package/dist/packages/components/dist/components/SearchFilter/useHasFilterStateChanged.cjs +0 -27
  101. package/dist/packages/components/dist/components/SearchFilter/useHasFilterStateChanged.js +0 -26
  102. package/dist/packages/components/dist/components/SearchFilter/utils.cjs +0 -11
  103. package/dist/packages/components/dist/components/SearchFilter/utils.js +0 -9
  104. package/dist/packages/components/dist/components/SearchInput/SearchInput.cjs +0 -81
  105. package/dist/packages/components/dist/components/SearchInput/SearchInput.js +0 -78
  106. package/dist/packages/components/dist/components/SearchInput/index.cjs +0 -2
  107. package/dist/packages/components/dist/components/SearchInput/index.js +0 -2
  108. package/dist/packages/components/dist/components/SearchInput/searchInputVariants.cjs +0 -15
  109. package/dist/packages/components/dist/components/SearchInput/searchInputVariants.js +0 -15
  110. package/dist/packages/components/dist/components/SearchInputForm/SearchInputForm.cjs +0 -57
  111. package/dist/packages/components/dist/components/SearchInputForm/SearchInputForm.js +0 -55
  112. package/dist/packages/components/dist/components/SearchInputForm/index.cjs +0 -1
  113. package/dist/packages/components/dist/components/SearchInputForm/index.js +0 -1
  114. package/dist/packages/components/dist/components/SearchResultsContent/SearchResultsContent.cjs +0 -52
  115. package/dist/packages/components/dist/components/SearchResultsContent/SearchResultsContent.js +0 -50
  116. package/dist/packages/components/dist/components/SearchResultsContent/index.cjs +0 -1
  117. package/dist/packages/components/dist/components/SearchResultsContent/index.js +0 -1
  118. package/dist/packages/components/dist/components/SearchResultsFilterButton/SearchResultsFilterButton.cjs +0 -24
  119. package/dist/packages/components/dist/components/SearchResultsFilterButton/SearchResultsFilterButton.js +0 -23
  120. package/dist/packages/components/dist/components/SearchResultsFilterButton/index.cjs +0 -3
  121. package/dist/packages/components/dist/components/SearchResultsFilterButton/index.js +0 -3
  122. package/dist/packages/components/dist/components/SearchResultsFilterModal/SearchResultsFilterModal.cjs +0 -36
  123. package/dist/packages/components/dist/components/SearchResultsFilterModal/SearchResultsFilterModal.js +0 -35
  124. package/dist/packages/components/dist/components/SearchResultsFilterModal/index.cjs +0 -3
  125. package/dist/packages/components/dist/components/SearchResultsFilterModal/index.js +0 -3
  126. package/dist/packages/components/dist/components/SearchResultsFilterSidebar/SearchResultsFilter.cjs +0 -9
  127. package/dist/packages/components/dist/components/SearchResultsFilterSidebar/SearchResultsFilter.js +0 -9
  128. package/dist/packages/components/dist/components/SearchResultsFilterSidebar/index.cjs +0 -2
  129. package/dist/packages/components/dist/components/SearchResultsFilterSidebar/index.js +0 -2
  130. package/dist/packages/components/dist/components/SearchResultsFilterSidebar/searchFilterSidebarVariants.cjs +0 -34
  131. package/dist/packages/components/dist/components/SearchResultsFilterSidebar/searchFilterSidebarVariants.js +0 -34
  132. package/dist/packages/components/dist/components/SearchResultsStates/NoSearchResultsFound.cjs +0 -56
  133. package/dist/packages/components/dist/components/SearchResultsStates/NoSearchResultsFound.js +0 -54
  134. package/dist/packages/components/dist/components/SearchResultsStates/SearchResultsGrid.cjs +0 -53
  135. package/dist/packages/components/dist/components/SearchResultsStates/SearchResultsGrid.js +0 -51
  136. package/dist/packages/components/dist/components/SearchResultsStates/SearchResultsLoadingGrid.cjs +0 -52
  137. package/dist/packages/components/dist/components/SearchResultsStates/SearchResultsLoadingGrid.js +0 -51
  138. package/dist/packages/components/dist/components/SearchResultsStates/index.cjs +0 -3
  139. package/dist/packages/components/dist/components/SearchResultsStates/index.js +0 -3
  140. package/dist/packages/components/dist/components/SearchResultsToolbar/SearchResultsToolbar.cjs +0 -60
  141. package/dist/packages/components/dist/components/SearchResultsToolbar/SearchResultsToolbar.js +0 -57
  142. package/dist/packages/components/dist/components/SearchResultsToolbar/index.cjs +0 -3
  143. package/dist/packages/components/dist/components/SearchResultsToolbar/index.js +0 -3
  144. package/dist/packages/components/dist/components/SparkleAnimation/SparkleAnimation.cjs +0 -77
  145. package/dist/packages/components/dist/components/SparkleAnimation/SparkleAnimation.js +0 -75
  146. package/dist/packages/components/dist/components/SparkleAnimation/index.cjs +0 -2
  147. package/dist/packages/components/dist/components/SparkleAnimation/index.js +0 -2
  148. package/dist/packages/components/dist/components/SparkleAnimation/types.cjs +0 -12
  149. package/dist/packages/components/dist/components/SparkleAnimation/types.js +0 -11
  150. package/dist/packages/components/dist/components/Spinner/Spinner.cjs +0 -40
  151. package/dist/packages/components/dist/components/Spinner/Spinner.js +0 -38
  152. package/dist/packages/components/dist/components/Spinner/index.cjs +0 -1
  153. package/dist/packages/components/dist/components/Spinner/index.js +0 -1
  154. package/dist/packages/components/dist/components/SuggestionButton/SuggestionButton.cjs +0 -193
  155. package/dist/packages/components/dist/components/SuggestionButton/SuggestionButton.js +0 -188
  156. package/dist/packages/components/dist/components/SuggestionButton/index.cjs +0 -1
  157. package/dist/packages/components/dist/components/SuggestionButton/index.js +0 -1
  158. package/dist/packages/components/dist/components/TextInput/TextInput.cjs +0 -34
  159. package/dist/packages/components/dist/components/TextInput/TextInput.js +0 -31
  160. package/dist/packages/components/dist/components/TextInput/index.cjs +0 -1
  161. package/dist/packages/components/dist/components/TextInput/index.js +0 -1
  162. package/dist/packages/components/dist/components/ToggleButton/ToggleButton.cjs +0 -63
  163. package/dist/packages/components/dist/components/ToggleButton/ToggleButton.js +0 -61
  164. package/dist/packages/components/dist/components/ToggleButton/index.cjs +0 -1
  165. package/dist/packages/components/dist/components/ToggleButton/index.js +0 -1
  166. package/dist/packages/components/dist/components/Typography/Typography.cjs +0 -53
  167. package/dist/packages/components/dist/components/Typography/Typography.js +0 -50
  168. package/dist/packages/components/dist/components/Typography/index.cjs +0 -2
  169. package/dist/packages/components/dist/components/Typography/index.js +0 -2
  170. package/dist/packages/components/dist/components/Typography/typographyVariantClasses.cjs +0 -99
  171. package/dist/packages/components/dist/components/Typography/typographyVariantClasses.js +0 -96
  172. package/dist/packages/components/dist/components/Typography/util.cjs +0 -10
  173. package/dist/packages/components/dist/components/Typography/util.js +0 -10
  174. package/dist/packages/components/dist/logging/logger.cjs +0 -20
  175. package/dist/packages/components/dist/logging/logger.js +0 -19
  176. package/dist/packages/components/dist/models/colorsConfig.cjs +0 -28
  177. package/dist/packages/components/dist/models/colorsConfig.js +0 -26
  178. package/dist/packages/components/dist/util/formatPrice.cjs +0 -14
  179. package/dist/packages/components/dist/util/formatPrice.js +0 -13
  180. package/dist/packages/components/dist/util/index.cjs +0 -3
  181. package/dist/packages/components/dist/util/index.js +0 -3
  182. package/dist/packages/components/dist/util/useScrollDirection.cjs +0 -39
  183. package/dist/packages/components/dist/util/useScrollDirection.js +0 -38
  184. package/dist/packages/components/dist/util/useStickyVisibility.cjs +0 -38
  185. package/dist/packages/components/dist/util/useStickyVisibility.js +0 -37
  186. package/dist/packages/icons/dist/ChevronDown.cjs +0 -23
  187. package/dist/packages/icons/dist/ChevronDown.js +0 -23
  188. package/dist/packages/icons/dist/FourPointStar.cjs +0 -22
  189. package/dist/packages/icons/dist/FourPointStar.js +0 -22
  190. package/dist/packages/icons/dist/IconClose.cjs +0 -26
  191. package/dist/packages/icons/dist/IconClose.js +0 -26
  192. package/dist/packages/icons/dist/MagnifyingGlassStarVariant.cjs +0 -39
  193. package/dist/packages/icons/dist/MagnifyingGlassStarVariant.js +0 -39
  194. package/dist/packages/icons/dist/OutlinedStar.cjs +0 -22
  195. package/dist/packages/icons/dist/OutlinedStar.js +0 -22
  196. package/dist/packages/icons/dist/SettingsVariant.cjs +0 -72
  197. package/dist/packages/icons/dist/SettingsVariant.js +0 -72
@@ -1,3 +0,0 @@
1
- 'use client';
2
-
3
- import { RecommendedProducts } from "./RecommendedProducts.js";
@@ -1,72 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.cjs');
2
- const require_Typography = require('../Typography/Typography.cjs');
3
- require('../Typography/index.cjs');
4
- const require_OutlinedStar = require('../../../../icons/dist/OutlinedStar.cjs');
5
- let react = require("react");
6
- react = require_rolldown_runtime.__toESM(react);
7
- let classnames = require("classnames");
8
- classnames = require_rolldown_runtime.__toESM(classnames);
9
- let react_jsx_runtime = require("react/jsx-runtime");
10
- let framer_motion = require("framer-motion");
11
-
12
- //#region ../components/dist/components/SearchAutocomplete/SearchAutocomplete.js
13
- const SearchAutocomplete = ({ id, results, focusedIndex, searchText = "", onSuggestionSelect, iconColor }) => {
14
- if (results.length === 0) return null;
15
- const highlightMatchingText = (text, searchQuery) => {
16
- if (!searchQuery.trim()) return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
17
- variant: "body3",
18
- children: text
19
- });
20
- const escapedQuery = searchQuery.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
21
- const regex = new RegExp(`(${escapedQuery})`, "gi");
22
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Typography.Typography, {
23
- variant: "body3",
24
- children: text.split(regex).map((part, index) => {
25
- return part.toLowerCase() === searchQuery.toLowerCase() ? /* @__PURE__ */ (0, react_jsx_runtime.jsx)("strong", {
26
- className: "spiffy-tw-font-bold",
27
- children: part
28
- }, index) : /* @__PURE__ */ (0, react_jsx_runtime.jsx)("span", { children: part }, index);
29
- })
30
- });
31
- };
32
- const containerClasses = (0, classnames.default)("spiffy-tw-mt-[16px]", "spiffy-tw-mb-[8px]");
33
- const getListElementClasses = (index) => (0, classnames.default)("spiffy-tw-flex", "spiffy-tw-items-center", "spiffy-tw-cursor-pointer", "spiffy-tw-py-[8px]", "spiffy-tw-pl-[16px]", "spiffy-tw-text-[--spiffy-colors-text-primary]", "hover:spiffy-tw-bg-neutral-100", { "spiffy-tw-bg-neutral-200": focusedIndex === index });
34
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(framer_motion.motion.div, {
35
- className: "spiffy-tw-h-full",
36
- initial: {
37
- opacity: 0,
38
- y: -10
39
- },
40
- animate: {
41
- opacity: 1,
42
- y: 0
43
- },
44
- exit: {
45
- opacity: 0,
46
- y: -10
47
- },
48
- transition: { duration: .2 },
49
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("ul", {
50
- id,
51
- role: "listbox",
52
- className: containerClasses,
53
- children: results.map((result, index) => /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("li", {
54
- id: `option-${index}`,
55
- role: "option",
56
- "aria-selected": index === focusedIndex,
57
- className: getListElementClasses(index),
58
- onClick: () => onSuggestionSelect(result, index),
59
- onKeyDown: (event) => {
60
- if (event.key === "Enter" || event.keyCode === 13) onSuggestionSelect(result, index);
61
- },
62
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_OutlinedStar.OutlinedStar_default, {
63
- className: "spiffy-tw-mr-[16px] spiffy-tw-h-[16px] spiffy-tw-w-[16px]",
64
- fill: iconColor
65
- }), highlightMatchingText(result, searchText)]
66
- }, index))
67
- })
68
- });
69
- };
70
-
71
- //#endregion
72
- exports.SearchAutocomplete = SearchAutocomplete;
@@ -1,69 +0,0 @@
1
- import { Typography } from "../Typography/Typography.js";
2
- import "../Typography/index.js";
3
- import { OutlinedStar_default } from "../../../../icons/dist/OutlinedStar.js";
4
- import React from "react";
5
- import classNames from "classnames";
6
- import { jsx, jsxs } from "react/jsx-runtime";
7
- import { motion } from "framer-motion";
8
-
9
- //#region ../components/dist/components/SearchAutocomplete/SearchAutocomplete.js
10
- const SearchAutocomplete = ({ id, results, focusedIndex, searchText = "", onSuggestionSelect, iconColor }) => {
11
- if (results.length === 0) return null;
12
- const highlightMatchingText = (text, searchQuery) => {
13
- if (!searchQuery.trim()) return /* @__PURE__ */ jsx(Typography, {
14
- variant: "body3",
15
- children: text
16
- });
17
- const escapedQuery = searchQuery.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
18
- const regex = new RegExp(`(${escapedQuery})`, "gi");
19
- return /* @__PURE__ */ jsx(Typography, {
20
- variant: "body3",
21
- children: text.split(regex).map((part, index) => {
22
- return part.toLowerCase() === searchQuery.toLowerCase() ? /* @__PURE__ */ jsx("strong", {
23
- className: "spiffy-tw-font-bold",
24
- children: part
25
- }, index) : /* @__PURE__ */ jsx("span", { children: part }, index);
26
- })
27
- });
28
- };
29
- const containerClasses = classNames("spiffy-tw-mt-[16px]", "spiffy-tw-mb-[8px]");
30
- const getListElementClasses = (index) => classNames("spiffy-tw-flex", "spiffy-tw-items-center", "spiffy-tw-cursor-pointer", "spiffy-tw-py-[8px]", "spiffy-tw-pl-[16px]", "spiffy-tw-text-[--spiffy-colors-text-primary]", "hover:spiffy-tw-bg-neutral-100", { "spiffy-tw-bg-neutral-200": focusedIndex === index });
31
- return /* @__PURE__ */ jsx(motion.div, {
32
- className: "spiffy-tw-h-full",
33
- initial: {
34
- opacity: 0,
35
- y: -10
36
- },
37
- animate: {
38
- opacity: 1,
39
- y: 0
40
- },
41
- exit: {
42
- opacity: 0,
43
- y: -10
44
- },
45
- transition: { duration: .2 },
46
- children: /* @__PURE__ */ jsx("ul", {
47
- id,
48
- role: "listbox",
49
- className: containerClasses,
50
- children: results.map((result, index) => /* @__PURE__ */ jsxs("li", {
51
- id: `option-${index}`,
52
- role: "option",
53
- "aria-selected": index === focusedIndex,
54
- className: getListElementClasses(index),
55
- onClick: () => onSuggestionSelect(result, index),
56
- onKeyDown: (event) => {
57
- if (event.key === "Enter" || event.keyCode === 13) onSuggestionSelect(result, index);
58
- },
59
- children: [/* @__PURE__ */ jsx(OutlinedStar_default, {
60
- className: "spiffy-tw-mr-[16px] spiffy-tw-h-[16px] spiffy-tw-w-[16px]",
61
- fill: iconColor
62
- }), highlightMatchingText(result, searchText)]
63
- }, index))
64
- })
65
- });
66
- };
67
-
68
- //#endregion
69
- export { SearchAutocomplete };
@@ -1 +0,0 @@
1
- const require_SearchAutocomplete = require('./SearchAutocomplete.cjs');
@@ -1 +0,0 @@
1
- import { SearchAutocomplete } from "./SearchAutocomplete.js";
@@ -1,134 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.cjs');
2
- const require_SearchFilterHeader = require('./SearchFilterHeader.cjs');
3
- const require_Accordion = require('../Accordion/Accordion.cjs');
4
- require('../Accordion/index.cjs');
5
- const require_ModalSheet = require('../ModalSheet/ModalSheet.cjs');
6
- require('../ModalSheet/index.cjs');
7
- const require_RadioButtonGroup = require('../RadioButtonGroup/RadioButtonGroup.cjs');
8
- require('../RadioButtonGroup/index.cjs');
9
- const require_useHasFilterStateChanged = require('./useHasFilterStateChanged.cjs');
10
- const require_utils = require('./utils.cjs');
11
- const require_ToggleButton = require('../ToggleButton/ToggleButton.cjs');
12
- require('../ToggleButton/index.cjs');
13
- const require_SearchFilterFooter = require('./SearchFilterFooter.cjs');
14
- let react = require("react");
15
- let classnames = require("classnames");
16
- classnames = require_rolldown_runtime.__toESM(classnames);
17
- let react_jsx_runtime = require("react/jsx-runtime");
18
-
19
- //#region ../components/dist/components/SearchFilter/SearchFilter.js
20
- const SortFilter = ({ filter, selectFilterItem, radioButtonFillColor, radioButtonHoverColor, radioButtonUncheckedBorderColor }) => {
21
- const filterTitle = filter.displayName;
22
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Accordion.Accordion, {
23
- title: filterTitle,
24
- content: /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_RadioButtonGroup.RadioButtonGroup, {
25
- options: filter.items.map((item) => ({
26
- label: item.displayName,
27
- value: item.filterItemId,
28
- isSelected: item.isSelected
29
- })),
30
- name: filterTitle,
31
- onChange: (value) => {
32
- const selectedItem = filter.items.find((item) => item.filterItemId === value);
33
- selectFilterItem({
34
- filterId: filter.filterId,
35
- filterItemId: value,
36
- isSelected: true,
37
- displayName: selectedItem?.displayName || value
38
- });
39
- },
40
- gap: "large",
41
- textButtonGap: "large",
42
- value: filter.items.find((item) => item.isSelected)?.filterItemId,
43
- fillColor: radioButtonFillColor,
44
- hoverColor: radioButtonHoverColor,
45
- uncheckedBorderColor: radioButtonUncheckedBorderColor
46
- })
47
- });
48
- };
49
- const FilterItem = ({ filterId, filterItem, selectFilterItem }) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ToggleButton.ToggleButton, {
50
- label: filterItem.displayName,
51
- secondaryLabel: `(${filterItem.productCount})`,
52
- isSelected: filterItem.isSelected,
53
- onClick: () => selectFilterItem({
54
- filterId,
55
- filterItemId: filterItem.filterItemId,
56
- isSelected: !filterItem.isSelected,
57
- displayName: filterItem.displayName
58
- }),
59
- variant: "default"
60
- });
61
- const Filter = ({ filter, selectFilterItem }) => {
62
- const filterContentClassName = (0, classnames.default)({
63
- "spiffy-tw-flex": true,
64
- "spiffy-tw-flex-wrap": true,
65
- "spiffy-tw-gap-[8px]": true,
66
- "spiffy-tw-pb-[1px]": true
67
- });
68
- const selectedFilterItems = require_utils.getSelectedFilterItemsCount(filter);
69
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_Accordion.Accordion, {
70
- title: selectedFilterItems > 0 ? `${filter.displayName} (${selectedFilterItems})` : filter.displayName,
71
- content: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
72
- className: filterContentClassName,
73
- children: filter.items.map((item) => /* @__PURE__ */ (0, react_jsx_runtime.jsx)(FilterItem, {
74
- filterId: filter.filterId,
75
- filterItem: item,
76
- selectFilterItem
77
- }, item.filterItemId))
78
- })
79
- });
80
- };
81
- const SearchFilter = ({ filters, productCount, selectFilterItem, clearAllFilters, isOpen, setIsOpen, applyFiltersUnchangedClasses, applyFiltersChangedClasses, headerContent, footerContent, headerClassName, radioButtonFillColor, radioButtonHoverColor, radioButtonUncheckedBorderColor, filterCloseIconVariant }) => {
82
- const closeModal = (0, react.useCallback)(() => setIsOpen(false), [setIsOpen]);
83
- const filterCount = require_utils.getTotalSelectedFilterItemsCount(filters);
84
- const hasFiltersChanged = require_useHasFilterStateChanged.useHasFilterStateChanged(filters, isOpen);
85
- const filterWrapperClassName = (0, classnames.default)({
86
- "spiffy-tw-flex": true,
87
- "spiffy-tw-flex-col": true,
88
- "spiffy-tw-gap-[16px]": true,
89
- "spiffy-tw-px-[24px]": true,
90
- "spiffy-tw-py-[16px]": true,
91
- "spiffy-tw-max-h-screen": true,
92
- "spiffy-tw-overflow-y-auto": true
93
- });
94
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ModalSheet.ModalSheet, {
95
- isOpen,
96
- closeModal,
97
- headerProps: {
98
- headerContent: headerContent || /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SearchFilterHeader.SearchFilterHeader, {
99
- closeModal,
100
- productCount,
101
- headerClassName: headerClassName ?? "",
102
- filterCloseIconVariant
103
- }),
104
- chevronColor: "#000"
105
- },
106
- footerProps: { footerContent: footerContent || /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_SearchFilterFooter.SearchFilterFooter, {
107
- closeModal,
108
- clearAllFilters,
109
- filterCount,
110
- hasFiltersChanged,
111
- applyFiltersUnchangedClasses,
112
- applyFiltersChangedClasses
113
- }) },
114
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("div", {
115
- className: filterWrapperClassName,
116
- children: filters.filter((filter) => filter.displayName !== "").map((filter) => {
117
- if (filter.filterId === "sort") return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(SortFilter, {
118
- filter,
119
- selectFilterItem,
120
- radioButtonFillColor,
121
- radioButtonHoverColor,
122
- radioButtonUncheckedBorderColor
123
- }, filter.filterId);
124
- return /* @__PURE__ */ (0, react_jsx_runtime.jsx)(Filter, {
125
- filter,
126
- selectFilterItem
127
- }, filter.filterId);
128
- })
129
- })
130
- });
131
- };
132
-
133
- //#endregion
134
- exports.SearchFilter = SearchFilter;
@@ -1,132 +0,0 @@
1
- import { SearchFilterHeader } from "./SearchFilterHeader.js";
2
- import { Accordion } from "../Accordion/Accordion.js";
3
- import "../Accordion/index.js";
4
- import { ModalSheet } from "../ModalSheet/ModalSheet.js";
5
- import "../ModalSheet/index.js";
6
- import { RadioButtonGroup } from "../RadioButtonGroup/RadioButtonGroup.js";
7
- import "../RadioButtonGroup/index.js";
8
- import { useHasFilterStateChanged } from "./useHasFilterStateChanged.js";
9
- import { getSelectedFilterItemsCount, getTotalSelectedFilterItemsCount } from "./utils.js";
10
- import { ToggleButton } from "../ToggleButton/ToggleButton.js";
11
- import "../ToggleButton/index.js";
12
- import { SearchFilterFooter } from "./SearchFilterFooter.js";
13
- import { useCallback } from "react";
14
- import classNames from "classnames";
15
- import { jsx } from "react/jsx-runtime";
16
-
17
- //#region ../components/dist/components/SearchFilter/SearchFilter.js
18
- const SortFilter = ({ filter, selectFilterItem, radioButtonFillColor, radioButtonHoverColor, radioButtonUncheckedBorderColor }) => {
19
- const filterTitle = filter.displayName;
20
- return /* @__PURE__ */ jsx(Accordion, {
21
- title: filterTitle,
22
- content: /* @__PURE__ */ jsx(RadioButtonGroup, {
23
- options: filter.items.map((item) => ({
24
- label: item.displayName,
25
- value: item.filterItemId,
26
- isSelected: item.isSelected
27
- })),
28
- name: filterTitle,
29
- onChange: (value) => {
30
- const selectedItem = filter.items.find((item) => item.filterItemId === value);
31
- selectFilterItem({
32
- filterId: filter.filterId,
33
- filterItemId: value,
34
- isSelected: true,
35
- displayName: selectedItem?.displayName || value
36
- });
37
- },
38
- gap: "large",
39
- textButtonGap: "large",
40
- value: filter.items.find((item) => item.isSelected)?.filterItemId,
41
- fillColor: radioButtonFillColor,
42
- hoverColor: radioButtonHoverColor,
43
- uncheckedBorderColor: radioButtonUncheckedBorderColor
44
- })
45
- });
46
- };
47
- const FilterItem = ({ filterId, filterItem, selectFilterItem }) => /* @__PURE__ */ jsx(ToggleButton, {
48
- label: filterItem.displayName,
49
- secondaryLabel: `(${filterItem.productCount})`,
50
- isSelected: filterItem.isSelected,
51
- onClick: () => selectFilterItem({
52
- filterId,
53
- filterItemId: filterItem.filterItemId,
54
- isSelected: !filterItem.isSelected,
55
- displayName: filterItem.displayName
56
- }),
57
- variant: "default"
58
- });
59
- const Filter = ({ filter, selectFilterItem }) => {
60
- const filterContentClassName = classNames({
61
- "spiffy-tw-flex": true,
62
- "spiffy-tw-flex-wrap": true,
63
- "spiffy-tw-gap-[8px]": true,
64
- "spiffy-tw-pb-[1px]": true
65
- });
66
- const selectedFilterItems = getSelectedFilterItemsCount(filter);
67
- return /* @__PURE__ */ jsx(Accordion, {
68
- title: selectedFilterItems > 0 ? `${filter.displayName} (${selectedFilterItems})` : filter.displayName,
69
- content: /* @__PURE__ */ jsx("div", {
70
- className: filterContentClassName,
71
- children: filter.items.map((item) => /* @__PURE__ */ jsx(FilterItem, {
72
- filterId: filter.filterId,
73
- filterItem: item,
74
- selectFilterItem
75
- }, item.filterItemId))
76
- })
77
- });
78
- };
79
- const SearchFilter = ({ filters, productCount, selectFilterItem, clearAllFilters, isOpen, setIsOpen, applyFiltersUnchangedClasses, applyFiltersChangedClasses, headerContent, footerContent, headerClassName, radioButtonFillColor, radioButtonHoverColor, radioButtonUncheckedBorderColor, filterCloseIconVariant }) => {
80
- const closeModal = useCallback(() => setIsOpen(false), [setIsOpen]);
81
- const filterCount = getTotalSelectedFilterItemsCount(filters);
82
- const hasFiltersChanged = useHasFilterStateChanged(filters, isOpen);
83
- const filterWrapperClassName = classNames({
84
- "spiffy-tw-flex": true,
85
- "spiffy-tw-flex-col": true,
86
- "spiffy-tw-gap-[16px]": true,
87
- "spiffy-tw-px-[24px]": true,
88
- "spiffy-tw-py-[16px]": true,
89
- "spiffy-tw-max-h-screen": true,
90
- "spiffy-tw-overflow-y-auto": true
91
- });
92
- return /* @__PURE__ */ jsx(ModalSheet, {
93
- isOpen,
94
- closeModal,
95
- headerProps: {
96
- headerContent: headerContent || /* @__PURE__ */ jsx(SearchFilterHeader, {
97
- closeModal,
98
- productCount,
99
- headerClassName: headerClassName ?? "",
100
- filterCloseIconVariant
101
- }),
102
- chevronColor: "#000"
103
- },
104
- footerProps: { footerContent: footerContent || /* @__PURE__ */ jsx(SearchFilterFooter, {
105
- closeModal,
106
- clearAllFilters,
107
- filterCount,
108
- hasFiltersChanged,
109
- applyFiltersUnchangedClasses,
110
- applyFiltersChangedClasses
111
- }) },
112
- children: /* @__PURE__ */ jsx("div", {
113
- className: filterWrapperClassName,
114
- children: filters.filter((filter) => filter.displayName !== "").map((filter) => {
115
- if (filter.filterId === "sort") return /* @__PURE__ */ jsx(SortFilter, {
116
- filter,
117
- selectFilterItem,
118
- radioButtonFillColor,
119
- radioButtonHoverColor,
120
- radioButtonUncheckedBorderColor
121
- }, filter.filterId);
122
- return /* @__PURE__ */ jsx(Filter, {
123
- filter,
124
- selectFilterItem
125
- }, filter.filterId);
126
- })
127
- })
128
- });
129
- };
130
-
131
- //#endregion
132
- export { SearchFilter };
@@ -1,48 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.cjs');
2
- const require_ButtonBase = require('../ButtonBase/ButtonBase.cjs');
3
- require('../ButtonBase/index.cjs');
4
- let classnames = require("classnames");
5
- classnames = require_rolldown_runtime.__toESM(classnames);
6
- let react_jsx_runtime = require("react/jsx-runtime");
7
-
8
- //#region ../components/dist/components/SearchFilter/SearchFilterFooter.js
9
- const SearchFilterFooter = ({ closeModal, clearAllFilters, filterCount, applyFiltersUnchangedClasses, applyFiltersChangedClasses, hasFiltersChanged }) => {
10
- const clearAllButtonEnabled = filterCount > 0;
11
- const footerWrapperClassName = (0, classnames.default)({
12
- "spiffy-tw-flex": true,
13
- "spiffy-tw-flex-col": true,
14
- "spiffy-tw-items-center": true,
15
- "spiffy-tw-justify-between": true,
16
- "spiffy-tw-w-full": true,
17
- "spiffy-tw-border-t": true,
18
- "spiffy-tw-border-t-[--spiffy-colors-border-light]": true,
19
- "spiffy-tw-p-[16px]": true,
20
- "spiffy-tw-gap-[16px]": true
21
- });
22
- const applyFilterButtonClassName = (0, classnames.default)("spiffy-tw-flex spiffy-tw-flex-row spiffy-tw-justify-center spiffy-tw-rounded-[8px] spiffy-tw-w-full", hasFiltersChanged ? applyFiltersChangedClasses : applyFiltersUnchangedClasses);
23
- const clearAllButtonClassName = (0, classnames.default)({
24
- "spiffy-tw-flex": true,
25
- "spiffy-tw-flex-row": true,
26
- "spiffy-tw-justify-center": true,
27
- "spiffy-tw-w-full": true,
28
- "spiffy-tw-text-[--spiffy-colors-text-primary]": clearAllButtonEnabled,
29
- "spiffy-tw-text-[--spiffy-colors-text-secondary]": !clearAllButtonEnabled
30
- });
31
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
32
- className: footerWrapperClassName,
33
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ButtonBase.ButtonBase, {
34
- isDisabled: !hasFiltersChanged,
35
- buttonClass: applyFilterButtonClassName,
36
- text: "Apply Filters",
37
- onClick: closeModal
38
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)(require_ButtonBase.ButtonBase, {
39
- isDisabled: !clearAllButtonEnabled,
40
- buttonClass: clearAllButtonClassName,
41
- text: "Clear All",
42
- onClick: clearAllFilters
43
- })]
44
- });
45
- };
46
-
47
- //#endregion
48
- exports.SearchFilterFooter = SearchFilterFooter;
@@ -1,46 +0,0 @@
1
- import { ButtonBase } from "../ButtonBase/ButtonBase.js";
2
- import "../ButtonBase/index.js";
3
- import classNames from "classnames";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
-
6
- //#region ../components/dist/components/SearchFilter/SearchFilterFooter.js
7
- const SearchFilterFooter = ({ closeModal, clearAllFilters, filterCount, applyFiltersUnchangedClasses, applyFiltersChangedClasses, hasFiltersChanged }) => {
8
- const clearAllButtonEnabled = filterCount > 0;
9
- const footerWrapperClassName = classNames({
10
- "spiffy-tw-flex": true,
11
- "spiffy-tw-flex-col": true,
12
- "spiffy-tw-items-center": true,
13
- "spiffy-tw-justify-between": true,
14
- "spiffy-tw-w-full": true,
15
- "spiffy-tw-border-t": true,
16
- "spiffy-tw-border-t-[--spiffy-colors-border-light]": true,
17
- "spiffy-tw-p-[16px]": true,
18
- "spiffy-tw-gap-[16px]": true
19
- });
20
- const applyFilterButtonClassName = classNames("spiffy-tw-flex spiffy-tw-flex-row spiffy-tw-justify-center spiffy-tw-rounded-[8px] spiffy-tw-w-full", hasFiltersChanged ? applyFiltersChangedClasses : applyFiltersUnchangedClasses);
21
- const clearAllButtonClassName = classNames({
22
- "spiffy-tw-flex": true,
23
- "spiffy-tw-flex-row": true,
24
- "spiffy-tw-justify-center": true,
25
- "spiffy-tw-w-full": true,
26
- "spiffy-tw-text-[--spiffy-colors-text-primary]": clearAllButtonEnabled,
27
- "spiffy-tw-text-[--spiffy-colors-text-secondary]": !clearAllButtonEnabled
28
- });
29
- return /* @__PURE__ */ jsxs("div", {
30
- className: footerWrapperClassName,
31
- children: [/* @__PURE__ */ jsx(ButtonBase, {
32
- isDisabled: !hasFiltersChanged,
33
- buttonClass: applyFilterButtonClassName,
34
- text: "Apply Filters",
35
- onClick: closeModal
36
- }), /* @__PURE__ */ jsx(ButtonBase, {
37
- isDisabled: !clearAllButtonEnabled,
38
- buttonClass: clearAllButtonClassName,
39
- text: "Clear All",
40
- onClick: clearAllFilters
41
- })]
42
- });
43
- };
44
-
45
- //#endregion
46
- export { SearchFilterFooter };
@@ -1,42 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.cjs');
2
- const require_Typography = require('../Typography/Typography.cjs');
3
- require('../Typography/index.cjs');
4
- let classnames = require("classnames");
5
- classnames = require_rolldown_runtime.__toESM(classnames);
6
- let react_jsx_runtime = require("react/jsx-runtime");
7
-
8
- //#region ../components/dist/components/SearchFilter/SearchFilterHeader.js
9
- const SearchFilterHeader = ({ closeModal, productCount, headerClassName, filterCloseIconVariant }) => {
10
- const closeIconColor = filterCloseIconVariant === "dark" ? "var(--spiffy-colors-text-primary)" : "var(--spiffy-colors-text-light)";
11
- return /* @__PURE__ */ (0, react_jsx_runtime.jsxs)("div", {
12
- className: (0, classnames.default)("spiffy-tw-flex spiffy-tw-items-center spiffy-tw-justify-between spiffy-tw-px-4 spiffy-tw-py-3", headerClassName),
13
- children: [/* @__PURE__ */ (0, react_jsx_runtime.jsxs)(require_Typography.Typography, {
14
- variant: "body2",
15
- className: "spiffy-tw-font-medium",
16
- children: [
17
- "Filters (",
18
- productCount,
19
- ")"
20
- ]
21
- }), /* @__PURE__ */ (0, react_jsx_runtime.jsx)("button", {
22
- onClick: closeModal,
23
- className: "spiffy-tw-p-2",
24
- type: "button",
25
- "aria-label": "Open Filter Menu",
26
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("svg", {
27
- xmlns: "http://www.w3.org/2000/svg",
28
- width: "14",
29
- height: "14",
30
- viewBox: "0 0 14 14",
31
- fill: "none",
32
- children: /* @__PURE__ */ (0, react_jsx_runtime.jsx)("path", {
33
- d: "M13.7071 1.70711C14.0976 1.31658 14.0976 0.683417 13.7071 0.292893C13.3166 -0.0976311 12.6834 -0.0976311 12.2929 0.292893L7 5.58579L1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L5.58579 7L0.292893 12.2929C-0.0976311 12.6834 -0.0976311 13.3166 0.292893 13.7071C0.683417 14.0976 1.31658 14.0976 1.70711 13.7071L7 8.41421L12.2929 13.7071C12.6834 14.0976 13.3166 14.0976 13.7071 13.7071C14.0976 13.3166 14.0976 12.6834 13.7071 12.2929L8.41421 7L13.7071 1.70711Z",
34
- fill: closeIconColor
35
- })
36
- })
37
- })]
38
- });
39
- };
40
-
41
- //#endregion
42
- exports.SearchFilterHeader = SearchFilterHeader;
@@ -1,40 +0,0 @@
1
- import { Typography } from "../Typography/Typography.js";
2
- import "../Typography/index.js";
3
- import classNames from "classnames";
4
- import { jsx, jsxs } from "react/jsx-runtime";
5
-
6
- //#region ../components/dist/components/SearchFilter/SearchFilterHeader.js
7
- const SearchFilterHeader = ({ closeModal, productCount, headerClassName, filterCloseIconVariant }) => {
8
- const closeIconColor = filterCloseIconVariant === "dark" ? "var(--spiffy-colors-text-primary)" : "var(--spiffy-colors-text-light)";
9
- return /* @__PURE__ */ jsxs("div", {
10
- className: classNames("spiffy-tw-flex spiffy-tw-items-center spiffy-tw-justify-between spiffy-tw-px-4 spiffy-tw-py-3", headerClassName),
11
- children: [/* @__PURE__ */ jsxs(Typography, {
12
- variant: "body2",
13
- className: "spiffy-tw-font-medium",
14
- children: [
15
- "Filters (",
16
- productCount,
17
- ")"
18
- ]
19
- }), /* @__PURE__ */ jsx("button", {
20
- onClick: closeModal,
21
- className: "spiffy-tw-p-2",
22
- type: "button",
23
- "aria-label": "Open Filter Menu",
24
- children: /* @__PURE__ */ jsx("svg", {
25
- xmlns: "http://www.w3.org/2000/svg",
26
- width: "14",
27
- height: "14",
28
- viewBox: "0 0 14 14",
29
- fill: "none",
30
- children: /* @__PURE__ */ jsx("path", {
31
- d: "M13.7071 1.70711C14.0976 1.31658 14.0976 0.683417 13.7071 0.292893C13.3166 -0.0976311 12.6834 -0.0976311 12.2929 0.292893L7 5.58579L1.70711 0.292893C1.31658 -0.0976311 0.683417 -0.0976311 0.292893 0.292893C-0.0976311 0.683417 -0.0976311 1.31658 0.292893 1.70711L5.58579 7L0.292893 12.2929C-0.0976311 12.6834 -0.0976311 13.3166 0.292893 13.7071C0.683417 14.0976 1.31658 14.0976 1.70711 13.7071L7 8.41421L12.2929 13.7071C12.6834 14.0976 13.3166 14.0976 13.7071 13.7071C14.0976 13.3166 14.0976 12.6834 13.7071 12.2929L8.41421 7L13.7071 1.70711Z",
32
- fill: closeIconColor
33
- })
34
- })
35
- })]
36
- });
37
- };
38
-
39
- //#endregion
40
- export { SearchFilterHeader };
@@ -1,6 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.cjs');
2
- require('../Typography/Typography.cjs');
3
- require('../Typography/index.cjs');
4
- let classnames = require("classnames");
5
- classnames = require_rolldown_runtime.__toESM(classnames);
6
- let react_jsx_runtime = require("react/jsx-runtime");
@@ -1,4 +0,0 @@
1
- import "../Typography/Typography.js";
2
- import "../Typography/index.js";
3
- import classNames from "classnames";
4
- import { jsx, jsxs } from "react/jsx-runtime";
@@ -1,5 +0,0 @@
1
- const require_SearchFilterHeader = require('./SearchFilterHeader.cjs');
2
- const require_utils = require('./utils.cjs');
3
- const require_SearchFilterFooter = require('./SearchFilterFooter.cjs');
4
- const require_SearchFilter = require('./SearchFilter.cjs');
5
- require('./SearchFilterItem.cjs');
@@ -1,5 +0,0 @@
1
- import { SearchFilterHeader } from "./SearchFilterHeader.js";
2
- import { getSelectedFilterItemsCount, getTotalSelectedFilterItemsCount } from "./utils.js";
3
- import { SearchFilterFooter } from "./SearchFilterFooter.js";
4
- import { SearchFilter } from "./SearchFilter.js";
5
- import "./SearchFilterItem.js";
@@ -1,27 +0,0 @@
1
- const require_rolldown_runtime = require('../../../../../_virtual/rolldown_runtime.cjs');
2
- let react = require("react");
3
-
4
- //#region ../components/dist/components/SearchFilter/useHasFilterStateChanged.js
5
- const useHasFilterStateChanged = (filters, isOpen) => {
6
- const [initialFilterStates, setInitialFilterStates] = (0, react.useState)({});
7
- const currentFilterStates = (0, react.useMemo)(() => {
8
- const states = {};
9
- filters.forEach((filter) => {
10
- filter.items.forEach((item) => {
11
- states[`${filter.filterId}-${item.filterItemId}`] = item.isSelected;
12
- });
13
- });
14
- return states;
15
- }, [filters]);
16
- const hasFiltersChanged = (0, react.useMemo)(() => {
17
- if (Object.keys(initialFilterStates).length === 0) return false;
18
- return Object.keys(currentFilterStates).some((key) => currentFilterStates[key] !== initialFilterStates[key]);
19
- }, [currentFilterStates, initialFilterStates]);
20
- (0, react.useEffect)(() => {
21
- if (isOpen) setInitialFilterStates(currentFilterStates);
22
- }, [isOpen]);
23
- return hasFiltersChanged;
24
- };
25
-
26
- //#endregion
27
- exports.useHasFilterStateChanged = useHasFilterStateChanged;