@seekora-ai/ui-sdk-react 0.2.13 → 0.2.15

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 (117) hide show
  1. package/dist/components/CurrentRefinements.d.ts +22 -2
  2. package/dist/components/CurrentRefinements.d.ts.map +1 -1
  3. package/dist/components/CurrentRefinements.js +259 -47
  4. package/dist/components/FacetDropdown.d.ts +92 -0
  5. package/dist/components/FacetDropdown.d.ts.map +1 -0
  6. package/dist/components/FacetDropdown.js +374 -0
  7. package/dist/components/Facets.d.ts +56 -1
  8. package/dist/components/Facets.d.ts.map +1 -1
  9. package/dist/components/Facets.js +602 -41
  10. package/dist/components/FederatedDropdown.d.ts.map +1 -1
  11. package/dist/components/FederatedDropdown.js +45 -31
  12. package/dist/components/HierarchicalMenu.d.ts.map +1 -1
  13. package/dist/components/HierarchicalMenu.js +112 -4
  14. package/dist/components/Pagination.d.ts +47 -1
  15. package/dist/components/Pagination.d.ts.map +1 -1
  16. package/dist/components/Pagination.js +166 -28
  17. package/dist/components/QuerySuggestionsDropdown.d.ts.map +1 -1
  18. package/dist/components/QuerySuggestionsDropdown.js +32 -18
  19. package/dist/components/RangeInput.d.ts.map +1 -1
  20. package/dist/components/RangeInput.js +6 -6
  21. package/dist/components/RangeSlider.d.ts.map +1 -1
  22. package/dist/components/RangeSlider.js +101 -32
  23. package/dist/components/RichQuerySuggestions.d.ts +7 -0
  24. package/dist/components/RichQuerySuggestions.d.ts.map +1 -1
  25. package/dist/components/RichQuerySuggestions.js +40 -26
  26. package/dist/components/SearchBar.d.ts +16 -0
  27. package/dist/components/SearchBar.d.ts.map +1 -1
  28. package/dist/components/SearchBar.js +139 -17
  29. package/dist/components/SearchBarWithSuggestions.js +3 -3
  30. package/dist/components/SearchLayout.d.ts.map +1 -1
  31. package/dist/components/SearchLayout.js +10 -1
  32. package/dist/components/SearchProvider.d.ts +8 -1
  33. package/dist/components/SearchProvider.d.ts.map +1 -1
  34. package/dist/components/SearchProvider.js +16 -4
  35. package/dist/components/SearchResults.d.ts +10 -0
  36. package/dist/components/SearchResults.d.ts.map +1 -1
  37. package/dist/components/SearchResults.js +46 -30
  38. package/dist/components/SortBy.d.ts +44 -4
  39. package/dist/components/SortBy.d.ts.map +1 -1
  40. package/dist/components/SortBy.js +154 -29
  41. package/dist/components/Stats.d.ts +14 -0
  42. package/dist/components/Stats.d.ts.map +1 -1
  43. package/dist/components/Stats.js +172 -23
  44. package/dist/components/primitives/ActionButtons.d.ts.map +1 -1
  45. package/dist/components/primitives/ActionButtons.js +34 -10
  46. package/dist/components/primitives/BadgeList.d.ts.map +1 -1
  47. package/dist/components/primitives/BadgeList.js +33 -13
  48. package/dist/components/primitives/ImageDisplay.d.ts.map +1 -1
  49. package/dist/components/primitives/ImageDisplay.js +11 -8
  50. package/dist/components/primitives/ImageZoom.js +26 -26
  51. package/dist/components/primitives/VariantSelector.js +10 -10
  52. package/dist/components/primitives/VariantSwatches.js +3 -3
  53. package/dist/components/product-page/ProductGallery.d.ts +8 -1
  54. package/dist/components/product-page/ProductGallery.d.ts.map +1 -1
  55. package/dist/components/product-page/ProductGallery.js +2 -2
  56. package/dist/components/section-primitives/SectionSearchProvider.d.ts +3 -1
  57. package/dist/components/section-primitives/SectionSearchProvider.d.ts.map +1 -1
  58. package/dist/components/section-primitives/SectionSearchProvider.js +3 -2
  59. package/dist/components/suggestions/AmazonDropdown.d.ts.map +1 -1
  60. package/dist/components/suggestions/AmazonDropdown.js +2 -4
  61. package/dist/components/suggestions/GoogleDropdown.d.ts.map +1 -1
  62. package/dist/components/suggestions/GoogleDropdown.js +2 -6
  63. package/dist/components/suggestions/MinimalDropdown.d.ts.map +1 -1
  64. package/dist/components/suggestions/MinimalDropdown.js +2 -4
  65. package/dist/components/suggestions/MobileSheetDropdown.d.ts.map +1 -1
  66. package/dist/components/suggestions/MobileSheetDropdown.js +20 -22
  67. package/dist/components/suggestions/PinterestDropdown.d.ts.map +1 -1
  68. package/dist/components/suggestions/PinterestDropdown.js +2 -6
  69. package/dist/components/suggestions/ShopifyDropdown.d.ts.map +1 -1
  70. package/dist/components/suggestions/ShopifyDropdown.js +39 -41
  71. package/dist/components/suggestions/SpotlightDropdown.d.ts.map +1 -1
  72. package/dist/components/suggestions/SpotlightDropdown.js +2 -4
  73. package/dist/components/suggestions/utils.d.ts +10 -1
  74. package/dist/components/suggestions/utils.d.ts.map +1 -1
  75. package/dist/components/suggestions/utils.js +36 -0
  76. package/dist/components/suggestions-primitives/DropdownPanel.d.ts.map +1 -1
  77. package/dist/components/suggestions-primitives/DropdownPanel.js +15 -2
  78. package/dist/components/suggestions-primitives/ItemCard.d.ts.map +1 -1
  79. package/dist/components/suggestions-primitives/ItemCard.js +21 -8
  80. package/dist/components/suggestions-primitives/ItemGrid.d.ts.map +1 -1
  81. package/dist/components/suggestions-primitives/ItemGrid.js +9 -3
  82. package/dist/components/suggestions-primitives/ProductCard.d.ts.map +1 -1
  83. package/dist/components/suggestions-primitives/ProductCard.js +25 -10
  84. package/dist/components/suggestions-primitives/ProductCardLayouts.d.ts.map +1 -1
  85. package/dist/components/suggestions-primitives/ProductCardLayouts.js +24 -12
  86. package/dist/components/suggestions-primitives/SearchInput.d.ts.map +1 -1
  87. package/dist/components/suggestions-primitives/SearchInput.js +28 -9
  88. package/dist/components/suggestions-primitives/SuggestionItem.d.ts.map +1 -1
  89. package/dist/components/suggestions-primitives/SuggestionItem.js +3 -0
  90. package/dist/components/suggestions-primitives/highlightMarkup.d.ts +16 -4
  91. package/dist/components/suggestions-primitives/highlightMarkup.d.ts.map +1 -1
  92. package/dist/components/suggestions-primitives/highlightMarkup.js +42 -4
  93. package/dist/hooks/useClickTracking.d.ts +36 -0
  94. package/dist/hooks/useClickTracking.d.ts.map +1 -0
  95. package/dist/hooks/useClickTracking.js +96 -0
  96. package/dist/hooks/useExperiment.d.ts +25 -0
  97. package/dist/hooks/useExperiment.d.ts.map +1 -0
  98. package/dist/hooks/useExperiment.js +146 -0
  99. package/dist/hooks/useKeyboardNavigation.d.ts +51 -0
  100. package/dist/hooks/useKeyboardNavigation.d.ts.map +1 -0
  101. package/dist/hooks/useKeyboardNavigation.js +113 -0
  102. package/dist/hooks/useQuerySuggestions.d.ts.map +1 -1
  103. package/dist/hooks/useQuerySuggestions.js +19 -3
  104. package/dist/hooks/useQuerySuggestionsEnhanced.d.ts.map +1 -1
  105. package/dist/hooks/useQuerySuggestionsEnhanced.js +23 -6
  106. package/dist/hooks/useSuggestionsAnalytics.d.ts.map +1 -1
  107. package/dist/hooks/useSuggestionsAnalytics.js +6 -1
  108. package/dist/index.d.ts +6 -1
  109. package/dist/index.d.ts.map +1 -1
  110. package/dist/index.js +1 -0
  111. package/dist/index.umd.js +1 -1
  112. package/dist/src/index.d.ts +345 -19
  113. package/dist/src/index.esm.js +2869 -787
  114. package/dist/src/index.esm.js.map +1 -1
  115. package/dist/src/index.js +2868 -785
  116. package/dist/src/index.js.map +1 -1
  117. package/package.json +6 -6
@@ -1,13 +1,28 @@
1
1
  /**
2
2
  * Pagination Component
3
3
  *
4
- * Displays pagination controls for search results
4
+ * Displays pagination controls for search results.
5
+ * Supports three display variants: numbered, load-more, and simple.
6
+ *
7
+ * CSS Variables (applied to the container element):
8
+ * --seekora-pagination-bg
9
+ * --seekora-pagination-color
10
+ * --seekora-pagination-active-bg
11
+ * --seekora-pagination-active-color
12
+ * --seekora-pagination-border
13
+ * --seekora-pagination-radius
5
14
  */
6
15
  import React from 'react';
7
16
  import { useSearchContext } from './SearchProvider';
8
17
  import { useSearchState } from '../hooks/useSearchState';
9
18
  import { clsx } from 'clsx';
10
- export const Pagination = ({ results: resultsProp, currentPage: currentPageProp, itemsPerPage: itemsPerPageProp, totalPages: totalPagesProp, onPageChange, maxPages = 7, showFirstLast = true, showPrevNext = true, renderPageButton, className, style, theme: customTheme, }) => {
19
+ /** Size-specific style tokens */
20
+ const SIZE_TOKENS = {
21
+ small: { paddingKey: 'small', fontSizeKey: 'small', minWidth: '32px' },
22
+ medium: { paddingKey: 'small', fontSizeKey: 'medium', minWidth: '40px' },
23
+ large: { paddingKey: 'medium', fontSizeKey: 'large', minWidth: '48px' },
24
+ };
25
+ export const Pagination = ({ results: resultsProp, currentPage: currentPageProp, itemsPerPage: itemsPerPageProp, totalPages: totalPagesProp, onPageChange, maxPages = 7, showFirstLast = true, showPrevNext = true, renderPageButton, className, style, theme: customTheme, variant = 'numbered', loadMoreText = 'Load More', size = 'medium', showPageInfo, previousLabel = 'Previous', nextLabel = 'Next', }) => {
11
26
  const { theme } = useSearchContext();
12
27
  const { results: stateResults, currentPage: stateCurrentPage, setPage } = useSearchState();
13
28
  const paginationTheme = customTheme || {};
@@ -30,6 +45,19 @@ export const Pagination = ({ results: resultsProp, currentPage: currentPageProp,
30
45
  || res?.data?.total_pages
31
46
  || res?.data?.data?.total_pages
32
47
  || Math.ceil(totalResults / itemsPerPage);
48
+ // Resolve whether to show page info text
49
+ const resolvedShowPageInfo = showPageInfo !== undefined
50
+ ? showPageInfo
51
+ : variant === 'simple';
52
+ // Size tokens
53
+ const sizeTokens = SIZE_TOKENS[size];
54
+ // CSS variable aware helpers — allow overrides via custom properties
55
+ const cssVarBg = 'var(--seekora-pagination-bg, ' + theme.colors.background + ')';
56
+ const cssVarColor = 'var(--seekora-pagination-color, ' + theme.colors.text + ')';
57
+ const cssVarActiveBg = 'var(--seekora-pagination-active-bg, ' + theme.colors.primary + ')';
58
+ const cssVarActiveColor = 'var(--seekora-pagination-active-color, #fff)';
59
+ const cssVarBorder = 'var(--seekora-pagination-border, ' + theme.colors.border + ')';
60
+ const cssVarRadius = 'var(--seekora-pagination-radius, ' + (typeof theme.borderRadius === 'string' ? theme.borderRadius : theme.borderRadius.medium) + ')';
33
61
  const handlePageChange = (page) => {
34
62
  if (page < 1 || page > totalPages || page === currentPage)
35
63
  return;
@@ -40,22 +68,26 @@ export const Pagination = ({ results: resultsProp, currentPage: currentPageProp,
40
68
  onPageChange(page);
41
69
  }
42
70
  };
43
- const defaultRenderPageButton = (page, isActive, isDisabled) => (React.createElement("button", { type: "button", disabled: isDisabled, onClick: () => !isDisabled && handlePageChange(page), className: clsx(paginationTheme.item, isActive && paginationTheme.itemActive, isDisabled && paginationTheme.itemDisabled), style: {
44
- padding: theme.spacing.small,
71
+ const defaultRenderPageButton = (page, isActive, isDisabled) => (React.createElement("button", { type: "button", disabled: isDisabled, onClick: () => !isDisabled && handlePageChange(page), "aria-current": isActive ? 'page' : undefined, "aria-label": `Page ${page}`, className: clsx(paginationTheme.item, isActive && paginationTheme.itemActive, isDisabled && paginationTheme.itemDisabled), style: {
72
+ padding: theme.spacing[sizeTokens.paddingKey],
45
73
  margin: `0 ${theme.spacing.small}`,
46
- border: `1px solid ${theme.colors.border}`,
47
- borderRadius: typeof theme.borderRadius === 'string' ? theme.borderRadius : theme.borderRadius.medium,
48
- backgroundColor: isActive ? theme.colors.primary : theme.colors.background,
49
- color: isActive ? '#fff' : theme.colors.text,
74
+ border: `1px solid ${cssVarBorder}`,
75
+ borderRadius: cssVarRadius,
76
+ backgroundColor: isActive ? cssVarActiveBg : cssVarBg,
77
+ color: isActive ? cssVarActiveColor : cssVarColor,
50
78
  cursor: isDisabled ? 'not-allowed' : 'pointer',
51
79
  opacity: isDisabled ? 0.5 : 1,
52
- fontSize: theme.typography.fontSize.medium,
53
- minWidth: '40px',
80
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
81
+ minWidth: sizeTokens.minWidth,
54
82
  ...(isActive && {
55
83
  fontWeight: 'bold',
56
84
  }),
57
85
  } }, page));
58
- if (totalPages <= 1) {
86
+ if (totalPages <= 1 && variant !== 'load-more') {
87
+ return null;
88
+ }
89
+ // For load-more, hide when there are no more pages to load
90
+ if (variant === 'load-more' && currentPage >= totalPages) {
59
91
  return null;
60
92
  }
61
93
  // Calculate page range to display
@@ -88,6 +120,94 @@ export const Pagination = ({ results: resultsProp, currentPage: currentPageProp,
88
120
  }
89
121
  return pages;
90
122
  };
123
+ // ── Page info element ──────────────────────────────────────────────
124
+ const pageInfoElement = resolvedShowPageInfo ? (React.createElement("span", { className: clsx(paginationTheme.pageInfo), style: {
125
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
126
+ color: cssVarColor,
127
+ padding: `0 ${theme.spacing.small}`,
128
+ whiteSpace: 'nowrap',
129
+ }, "aria-live": "polite" },
130
+ "Page ",
131
+ currentPage,
132
+ " of ",
133
+ totalPages)) : null;
134
+ // ── Load More variant ──────────────────────────────────────────────
135
+ if (variant === 'load-more') {
136
+ const remaining = Math.max(0, totalResults - currentPage * itemsPerPage);
137
+ return (React.createElement("nav", { className: clsx(paginationTheme.container, className), style: {
138
+ display: 'flex',
139
+ flexDirection: 'column',
140
+ alignItems: 'center',
141
+ gap: theme.spacing.small,
142
+ ...style,
143
+ }, "aria-label": "Pagination" },
144
+ React.createElement("button", { type: "button", onClick: () => handlePageChange(currentPage + 1), className: clsx(paginationTheme.loadMoreButton), style: {
145
+ padding: `${theme.spacing[sizeTokens.paddingKey]} ${theme.spacing.large}`,
146
+ border: 'none',
147
+ borderRadius: cssVarRadius,
148
+ backgroundColor: cssVarActiveBg,
149
+ color: cssVarActiveColor,
150
+ cursor: 'pointer',
151
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
152
+ fontWeight: theme.typography.fontWeight?.medium ?? 500,
153
+ transition: theme.transitions?.fast ?? '150ms ease-in-out',
154
+ minWidth: sizeTokens.minWidth,
155
+ }, "aria-label": remaining > 0 ? `${loadMoreText} (${remaining} remaining)` : loadMoreText },
156
+ loadMoreText,
157
+ remaining > 0 && (React.createElement("span", { className: clsx(paginationTheme.loadMoreText), style: {
158
+ marginLeft: theme.spacing.small,
159
+ opacity: 0.85,
160
+ fontSize: theme.typography.fontSize.small,
161
+ } },
162
+ "(",
163
+ remaining,
164
+ " remaining)"))),
165
+ pageInfoElement));
166
+ }
167
+ // ── Simple variant ─────────────────────────────────────────────────
168
+ if (variant === 'simple') {
169
+ return (React.createElement("nav", { className: clsx(paginationTheme.container, paginationTheme.simpleContainer, className), style: {
170
+ display: 'flex',
171
+ alignItems: 'center',
172
+ justifyContent: 'center',
173
+ gap: theme.spacing.medium,
174
+ ...style,
175
+ }, "aria-label": "Pagination" },
176
+ React.createElement("button", { type: "button", disabled: currentPage === 1, onClick: () => handlePageChange(currentPage - 1), className: clsx(paginationTheme.simpleButton, currentPage === 1 && paginationTheme.itemDisabled), style: {
177
+ padding: `${theme.spacing[sizeTokens.paddingKey]} ${theme.spacing.medium}`,
178
+ border: `1px solid ${cssVarBorder}`,
179
+ borderRadius: cssVarRadius,
180
+ backgroundColor: cssVarBg,
181
+ color: cssVarColor,
182
+ cursor: currentPage === 1 ? 'not-allowed' : 'pointer',
183
+ opacity: currentPage === 1 ? 0.5 : 1,
184
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
185
+ minWidth: sizeTokens.minWidth,
186
+ transition: theme.transitions?.fast ?? '150ms ease-in-out',
187
+ }, "aria-label": "Previous page" }, previousLabel),
188
+ React.createElement("span", { className: clsx(paginationTheme.simpleText, paginationTheme.pageInfo), style: {
189
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
190
+ color: cssVarColor,
191
+ whiteSpace: 'nowrap',
192
+ }, "aria-live": "polite" },
193
+ "Page ",
194
+ currentPage,
195
+ " of ",
196
+ totalPages),
197
+ React.createElement("button", { type: "button", disabled: currentPage === totalPages, onClick: () => handlePageChange(currentPage + 1), className: clsx(paginationTheme.simpleButton, currentPage === totalPages && paginationTheme.itemDisabled), style: {
198
+ padding: `${theme.spacing[sizeTokens.paddingKey]} ${theme.spacing.medium}`,
199
+ border: `1px solid ${cssVarBorder}`,
200
+ borderRadius: cssVarRadius,
201
+ backgroundColor: cssVarBg,
202
+ color: cssVarColor,
203
+ cursor: currentPage === totalPages ? 'not-allowed' : 'pointer',
204
+ opacity: currentPage === totalPages ? 0.5 : 1,
205
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
206
+ minWidth: sizeTokens.minWidth,
207
+ transition: theme.transitions?.fast ?? '150ms ease-in-out',
208
+ }, "aria-label": "Next page" }, nextLabel)));
209
+ }
210
+ // ── Numbered variant (default — original behavior) ─────────────────
91
211
  const pageNumbers = getPageNumbers();
92
212
  return (React.createElement("nav", { className: clsx(paginationTheme.container, className), style: style, "aria-label": "Pagination" },
93
213
  React.createElement("ul", { className: paginationTheme.list, style: {
@@ -98,27 +218,44 @@ export const Pagination = ({ results: resultsProp, currentPage: currentPageProp,
98
218
  padding: 0,
99
219
  margin: 0,
100
220
  flexWrap: 'wrap',
221
+ }, tabIndex: 0, onKeyDown: (e) => {
222
+ if (e.key === 'ArrowLeft') {
223
+ e.preventDefault();
224
+ handlePageChange(currentPage - 1);
225
+ }
226
+ else if (e.key === 'ArrowRight') {
227
+ e.preventDefault();
228
+ handlePageChange(currentPage + 1);
229
+ }
230
+ else if (e.key === 'Home') {
231
+ e.preventDefault();
232
+ handlePageChange(1);
233
+ }
234
+ else if (e.key === 'End') {
235
+ e.preventDefault();
236
+ handlePageChange(totalPages);
237
+ }
101
238
  } },
102
239
  showPrevNext && (React.createElement("li", null,
103
240
  React.createElement("button", { type: "button", disabled: currentPage === 1, onClick: () => handlePageChange(currentPage - 1), className: clsx(paginationTheme.item, currentPage === 1 && paginationTheme.itemDisabled), style: {
104
- padding: theme.spacing.small,
241
+ padding: theme.spacing[sizeTokens.paddingKey],
105
242
  margin: `0 ${theme.spacing.small}`,
106
- border: `1px solid ${theme.colors.border}`,
107
- borderRadius: typeof theme.borderRadius === 'string' ? theme.borderRadius : theme.borderRadius.medium,
108
- backgroundColor: theme.colors.background,
109
- color: theme.colors.text,
243
+ border: `1px solid ${cssVarBorder}`,
244
+ borderRadius: cssVarRadius,
245
+ backgroundColor: cssVarBg,
246
+ color: cssVarColor,
110
247
  cursor: currentPage === 1 ? 'not-allowed' : 'pointer',
111
248
  opacity: currentPage === 1 ? 0.5 : 1,
112
- fontSize: theme.typography.fontSize.medium,
113
- }, "aria-label": "Previous page" }, "Previous"))),
249
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
250
+ }, "aria-label": "Previous page" }, previousLabel))),
114
251
  pageNumbers.map((page, index) => {
115
252
  if (page === 'ellipsis') {
116
253
  return (React.createElement("li", { key: `ellipsis-${index}` },
117
254
  React.createElement("span", { className: paginationTheme.ellipsis, style: {
118
- padding: theme.spacing.small,
255
+ padding: theme.spacing[sizeTokens.paddingKey],
119
256
  margin: `0 ${theme.spacing.small}`,
120
- color: theme.colors.text,
121
- fontSize: theme.typography.fontSize.medium,
257
+ color: cssVarColor,
258
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
122
259
  } }, "...")));
123
260
  }
124
261
  const isActive = page === currentPage;
@@ -129,14 +266,15 @@ export const Pagination = ({ results: resultsProp, currentPage: currentPageProp,
129
266
  }),
130
267
  showPrevNext && (React.createElement("li", null,
131
268
  React.createElement("button", { type: "button", disabled: currentPage === totalPages, onClick: () => handlePageChange(currentPage + 1), className: clsx(paginationTheme.item, currentPage === totalPages && paginationTheme.itemDisabled), style: {
132
- padding: theme.spacing.small,
269
+ padding: theme.spacing[sizeTokens.paddingKey],
133
270
  margin: `0 ${theme.spacing.small}`,
134
- border: `1px solid ${theme.colors.border}`,
135
- borderRadius: typeof theme.borderRadius === 'string' ? theme.borderRadius : theme.borderRadius.medium,
136
- backgroundColor: theme.colors.background,
137
- color: theme.colors.text,
271
+ border: `1px solid ${cssVarBorder}`,
272
+ borderRadius: cssVarRadius,
273
+ backgroundColor: cssVarBg,
274
+ color: cssVarColor,
138
275
  cursor: currentPage === totalPages ? 'not-allowed' : 'pointer',
139
276
  opacity: currentPage === totalPages ? 0.5 : 1,
140
- fontSize: theme.typography.fontSize.medium,
141
- }, "aria-label": "Next page" }, "Next"))))));
277
+ fontSize: theme.typography.fontSize[sizeTokens.fontSizeKey],
278
+ }, "aria-label": "Next page" }, nextLabel))),
279
+ resolvedShowPageInfo && (React.createElement("li", { style: { marginLeft: theme.spacing.small } }, pageInfoElement)))));
142
280
  };
@@ -1 +1 @@
1
- {"version":3,"file":"QuerySuggestionsDropdown.d.ts","sourceRoot":"","sources":["../../src/components/QuerySuggestionsDropdown.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"QuerySuggestionsDropdown.d.ts","sourceRoot":"","sources":["../../src/components/QuerySuggestionsDropdown.tsx"],"names":[],"mappings":"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"}
@@ -14,13 +14,27 @@ import { useSearchContext } from './SearchProvider';
14
14
  import { useQuerySuggestionsEnhanced } from '../hooks/useQuerySuggestionsEnhanced';
15
15
  import { clsx } from 'clsx';
16
16
  // ============================================================================
17
+ // Constants
18
+ // ============================================================================
19
+ const TRANSITIONS = {
20
+ fast: '150ms ease-in-out',
21
+ normal: '200ms ease-in-out',
22
+ slow: '300ms ease-in-out',
23
+ };
24
+ const BORDER_RADIUS = {
25
+ sm: 4,
26
+ md: 6,
27
+ lg: 8,
28
+ full: 9999,
29
+ };
30
+ // ============================================================================
17
31
  // Styles
18
32
  // ============================================================================
19
33
  const defaultStyles = {
20
34
  container: {
21
- backgroundColor: 'var(--seekora-bg-surface, #ffffff)',
22
- border: '1px solid var(--seekora-border-color, #e5e7eb)',
23
- borderRadius: 'var(--seekora-border-radius, 8px)',
35
+ backgroundColor: 'var(--seekora-bg-surface, transparent)',
36
+ border: '1px solid var(--seekora-border-color, rgba(128,128,128,0.2))',
37
+ borderRadius: `var(--seekora-border-radius, ${BORDER_RADIUS.lg}px)`,
24
38
  boxShadow: 'var(--seekora-shadow-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05))',
25
39
  maxHeight: '400px',
26
40
  overflowY: 'auto',
@@ -32,7 +46,7 @@ const defaultStyles = {
32
46
  sectionTitle: {
33
47
  fontSize: '12px',
34
48
  fontWeight: 600,
35
- color: 'var(--seekora-text-secondary, #6b7280)',
49
+ color: 'var(--seekora-text-secondary, inherit)',
36
50
  textTransform: 'uppercase',
37
51
  letterSpacing: '0.05em',
38
52
  padding: '8px 16px 4px',
@@ -43,9 +57,9 @@ const defaultStyles = {
43
57
  alignItems: 'center',
44
58
  padding: '10px 16px',
45
59
  cursor: 'pointer',
46
- transition: 'background-color 150ms ease',
60
+ transition: `background-color ${TRANSITIONS.fast}`,
47
61
  fontSize: '14px',
48
- color: 'var(--seekora-text-primary, #111827)',
62
+ color: 'var(--seekora-text-primary, inherit)',
49
63
  gap: '12px',
50
64
  },
51
65
  suggestionItemActive: {
@@ -65,10 +79,10 @@ const defaultStyles = {
65
79
  },
66
80
  highlight: {
67
81
  fontWeight: 600,
68
- color: 'var(--seekora-text-primary, #111827)',
82
+ color: 'var(--seekora-text-primary, inherit)',
69
83
  backgroundColor: 'var(--seekora-highlight-bg, #fef3c7)',
70
84
  padding: '0 2px',
71
- borderRadius: '2px',
85
+ borderRadius: `${BORDER_RADIUS.sm / 2}px`,
72
86
  },
73
87
  recentIcon: {
74
88
  width: '16px',
@@ -78,13 +92,13 @@ const defaultStyles = {
78
92
  },
79
93
  removeButton: {
80
94
  padding: '4px',
81
- borderRadius: '4px',
95
+ borderRadius: `${BORDER_RADIUS.sm}px`,
82
96
  border: 'none',
83
97
  background: 'transparent',
84
98
  cursor: 'pointer',
85
99
  color: 'var(--seekora-text-secondary, #9ca3af)',
86
100
  opacity: 0,
87
- transition: 'opacity 150ms ease, color 150ms ease',
101
+ transition: `opacity ${TRANSITIONS.fast}, color ${TRANSITIONS.fast}`,
88
102
  },
89
103
  removeButtonVisible: {
90
104
  opacity: 1,
@@ -94,7 +108,7 @@ const defaultStyles = {
94
108
  alignItems: 'center',
95
109
  justifyContent: 'center',
96
110
  padding: '24px 16px',
97
- color: 'var(--seekora-text-secondary, #6b7280)',
111
+ color: 'var(--seekora-text-secondary, inherit)',
98
112
  fontSize: '14px',
99
113
  gap: '8px',
100
114
  },
@@ -104,20 +118,20 @@ const defaultStyles = {
104
118
  alignItems: 'center',
105
119
  justifyContent: 'center',
106
120
  padding: '24px 16px',
107
- color: 'var(--seekora-text-secondary, #6b7280)',
121
+ color: 'var(--seekora-text-secondary, inherit)',
108
122
  fontSize: '14px',
109
123
  textAlign: 'center',
110
124
  },
111
125
  divider: {
112
126
  height: '1px',
113
- backgroundColor: 'var(--seekora-border-color, #e5e7eb)',
127
+ backgroundColor: 'var(--seekora-border-color, rgba(128,128,128,0.2))',
114
128
  margin: '4px 0',
115
129
  },
116
130
  footer: {
117
- borderTop: '1px solid var(--seekora-border-color, #e5e7eb)',
131
+ borderTop: '1px solid var(--seekora-border-color, rgba(128,128,128,0.2))',
118
132
  padding: '8px 16px',
119
133
  fontSize: '12px',
120
- color: 'var(--seekora-text-secondary, #6b7280)',
134
+ color: 'var(--seekora-text-secondary, inherit)',
121
135
  display: 'flex',
122
136
  alignItems: 'center',
123
137
  justifyContent: 'space-between',
@@ -135,9 +149,9 @@ const defaultStyles = {
135
149
  minWidth: '20px',
136
150
  height: '18px',
137
151
  padding: '0 4px',
138
- borderRadius: '3px',
139
- backgroundColor: 'var(--seekora-bg-secondary, #f3f4f6)',
140
- border: '1px solid var(--seekora-border-color, #e5e7eb)',
152
+ borderRadius: `${BORDER_RADIUS.sm - 1}px`,
153
+ backgroundColor: 'var(--seekora-bg-secondary, rgba(255, 255, 255, 0.1))',
154
+ border: '1px solid var(--seekora-border-color, rgba(128,128,128,0.2))',
141
155
  fontSize: '10px',
142
156
  fontWeight: 500,
143
157
  },
@@ -1 +1 @@
1
- {"version":3,"file":"RangeInput.d.ts","sourceRoot":"","sources":["../../src/components/RangeInput.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAoD,MAAM,OAAO,CAAC;AAKzE,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3E,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QACjD,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,mBAAmB;IACnB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kCAAkC;IAClC,WAAW,CAAC,EAAE;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA8BD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAsQhD,CAAC"}
1
+ {"version":3,"file":"RangeInput.d.ts","sourceRoot":"","sources":["../../src/components/RangeInput.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA2C,MAAM,OAAO,CAAC;AAKhE,MAAM,WAAW,eAAe;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAe;IAC9B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8CAA8C;IAC9C,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAAE,GAAG,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;IAC3E,6BAA6B;IAC7B,gBAAgB,CAAC,EAAE,CAAC,KAAK,EAAE;QACzB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,GAAG,EAAE,MAAM,GAAG,SAAS,CAAC;QACxB,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QACjD,WAAW,EAAE,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,IAAI,CAAC;QACjD,OAAO,EAAE,MAAM,IAAI,CAAC;KACrB,KAAK,KAAK,CAAC,SAAS,CAAC;IACtB,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,mBAAmB;IACnB,KAAK,CAAC,EAAE,eAAe,CAAC;IACxB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,kCAAkC;IAClC,WAAW,CAAC,EAAE;QACZ,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,GAAG,CAAC,EAAE,MAAM,CAAC;KACd,CAAC;IACF,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AA8BD,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAuQhD,CAAC"}
@@ -4,7 +4,7 @@
4
4
  * Displays a range input for filtering numeric values (e.g., price range)
5
5
  * Integrates with SearchStateManager for automatic state sync
6
6
  */
7
- import React, { useState, useCallback, useEffect, useMemo } from 'react';
7
+ import React, { useState, useCallback, useEffect } from 'react';
8
8
  import { useSearchContext } from './SearchProvider';
9
9
  import { useSearchState } from '../hooks/useSearchState';
10
10
  import { clsx } from 'clsx';
@@ -35,11 +35,11 @@ export const RangeInput = ({ field, label, min, max, currentMin: currentMinProp,
35
35
  const { refinements, addRefinement, removeRefinement } = useSearchState();
36
36
  const rangeInputTheme = customTheme || {};
37
37
  // Parse current range from StateManager
38
- const stateRange = useMemo(() => {
39
- if (!syncWithState)
40
- return { min: undefined, max: undefined };
41
- return parseRangeFromRefinements(refinements, field);
42
- }, [syncWithState, refinements, field]);
38
+ // NOTE: computed every render (no useMemo) because the state manager mutates
39
+ // the refinements array in place — the reference never changes.
40
+ const stateRange = !syncWithState
41
+ ? { min: undefined, max: undefined }
42
+ : parseRangeFromRefinements(refinements, field);
43
43
  const [internalMin, setInternalMin] = useState(currentMinProp ?? stateRange.min);
44
44
  const [internalMax, setInternalMax] = useState(currentMaxProp ?? stateRange.max);
45
45
  const [appliedMin, setAppliedMin] = useState(currentMinProp ?? stateRange.min);
@@ -1 +1 @@
1
- {"version":3,"file":"RangeSlider.d.ts","sourceRoot":"","sources":["../../src/components/RangeSlider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAA4D,MAAM,OAAO,CAAC;AAKjF,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,8DAA8D;IAC9D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,mBAAmB;IACnB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CA4QlD,CAAC"}
1
+ {"version":3,"file":"RangeSlider.d.ts","sourceRoot":"","sources":["../../src/components/RangeSlider.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAmD,MAAM,OAAO,CAAC;AAYxE,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,gBAAgB;IAC/B,sCAAsC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,8DAA8D;IAC9D,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,uBAAuB;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,oBAAoB;IACpB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,mBAAmB;IACnB,KAAK,CAAC,EAAE,gBAAgB,CAAC;IACzB,0CAA0C;IAC1C,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,8DAA8D;IAC9D,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAsVlD,CAAC"}