@seekora-ai/ui-sdk-react 1.0.0

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 (169) hide show
  1. package/dist/components/Breadcrumb.d.ts +43 -0
  2. package/dist/components/Breadcrumb.d.ts.map +1 -0
  3. package/dist/components/Breadcrumb.js +119 -0
  4. package/dist/components/ClearRefinements.d.ts +42 -0
  5. package/dist/components/ClearRefinements.d.ts.map +1 -0
  6. package/dist/components/ClearRefinements.js +80 -0
  7. package/dist/components/CurrentRefinements.d.ts +41 -0
  8. package/dist/components/CurrentRefinements.d.ts.map +1 -0
  9. package/dist/components/CurrentRefinements.js +83 -0
  10. package/dist/components/Facets.d.ts +53 -0
  11. package/dist/components/Facets.d.ts.map +1 -0
  12. package/dist/components/Facets.js +195 -0
  13. package/dist/components/FederatedDropdown.d.ts +92 -0
  14. package/dist/components/FederatedDropdown.d.ts.map +1 -0
  15. package/dist/components/FederatedDropdown.js +510 -0
  16. package/dist/components/HierarchicalMenu.d.ts +55 -0
  17. package/dist/components/HierarchicalMenu.d.ts.map +1 -0
  18. package/dist/components/HierarchicalMenu.js +168 -0
  19. package/dist/components/Highlight.d.ts +51 -0
  20. package/dist/components/Highlight.d.ts.map +1 -0
  21. package/dist/components/Highlight.js +155 -0
  22. package/dist/components/HitsPerPage.d.ts +41 -0
  23. package/dist/components/HitsPerPage.d.ts.map +1 -0
  24. package/dist/components/HitsPerPage.js +72 -0
  25. package/dist/components/InfiniteHits.d.ts +56 -0
  26. package/dist/components/InfiniteHits.d.ts.map +1 -0
  27. package/dist/components/InfiniteHits.js +181 -0
  28. package/dist/components/MobileFilters.d.ts +71 -0
  29. package/dist/components/MobileFilters.d.ts.map +1 -0
  30. package/dist/components/MobileFilters.js +242 -0
  31. package/dist/components/Pagination.d.ts +44 -0
  32. package/dist/components/Pagination.d.ts.map +1 -0
  33. package/dist/components/Pagination.js +142 -0
  34. package/dist/components/QuerySuggestions.d.ts +38 -0
  35. package/dist/components/QuerySuggestions.d.ts.map +1 -0
  36. package/dist/components/QuerySuggestions.js +86 -0
  37. package/dist/components/QuerySuggestionsDropdown.d.ts +86 -0
  38. package/dist/components/QuerySuggestionsDropdown.d.ts.map +1 -0
  39. package/dist/components/QuerySuggestionsDropdown.js +395 -0
  40. package/dist/components/RangeInput.d.ts +58 -0
  41. package/dist/components/RangeInput.d.ts.map +1 -0
  42. package/dist/components/RangeInput.js +203 -0
  43. package/dist/components/RangeSlider.d.ts +51 -0
  44. package/dist/components/RangeSlider.d.ts.map +1 -0
  45. package/dist/components/RangeSlider.js +193 -0
  46. package/dist/components/Recommendations.d.ts +90 -0
  47. package/dist/components/Recommendations.d.ts.map +1 -0
  48. package/dist/components/Recommendations.js +270 -0
  49. package/dist/components/RichQuerySuggestions.d.ts +77 -0
  50. package/dist/components/RichQuerySuggestions.d.ts.map +1 -0
  51. package/dist/components/RichQuerySuggestions.js +492 -0
  52. package/dist/components/SearchBar.d.ts +40 -0
  53. package/dist/components/SearchBar.d.ts.map +1 -0
  54. package/dist/components/SearchBar.js +217 -0
  55. package/dist/components/SearchBarWithSuggestions.d.ts +99 -0
  56. package/dist/components/SearchBarWithSuggestions.d.ts.map +1 -0
  57. package/dist/components/SearchBarWithSuggestions.js +275 -0
  58. package/dist/components/SearchLayout.d.ts +35 -0
  59. package/dist/components/SearchLayout.d.ts.map +1 -0
  60. package/dist/components/SearchLayout.js +56 -0
  61. package/dist/components/SearchProvider.d.ts +28 -0
  62. package/dist/components/SearchProvider.d.ts.map +1 -0
  63. package/dist/components/SearchProvider.js +43 -0
  64. package/dist/components/SearchResults.d.ts +51 -0
  65. package/dist/components/SearchResults.d.ts.map +1 -0
  66. package/dist/components/SearchResults.js +485 -0
  67. package/dist/components/SortBy.d.ts +44 -0
  68. package/dist/components/SortBy.d.ts.map +1 -0
  69. package/dist/components/SortBy.js +61 -0
  70. package/dist/components/Stats.d.ts +37 -0
  71. package/dist/components/Stats.d.ts.map +1 -0
  72. package/dist/components/Stats.js +52 -0
  73. package/dist/components/suggestions/AmazonDropdown.d.ts +30 -0
  74. package/dist/components/suggestions/AmazonDropdown.d.ts.map +1 -0
  75. package/dist/components/suggestions/AmazonDropdown.js +529 -0
  76. package/dist/components/suggestions/GoogleDropdown.d.ts +31 -0
  77. package/dist/components/suggestions/GoogleDropdown.d.ts.map +1 -0
  78. package/dist/components/suggestions/GoogleDropdown.js +370 -0
  79. package/dist/components/suggestions/MinimalDropdown.d.ts +24 -0
  80. package/dist/components/suggestions/MinimalDropdown.d.ts.map +1 -0
  81. package/dist/components/suggestions/MinimalDropdown.js +314 -0
  82. package/dist/components/suggestions/MobileSheetDropdown.d.ts +31 -0
  83. package/dist/components/suggestions/MobileSheetDropdown.d.ts.map +1 -0
  84. package/dist/components/suggestions/MobileSheetDropdown.js +485 -0
  85. package/dist/components/suggestions/PinterestDropdown.d.ts +29 -0
  86. package/dist/components/suggestions/PinterestDropdown.d.ts.map +1 -0
  87. package/dist/components/suggestions/PinterestDropdown.js +450 -0
  88. package/dist/components/suggestions/ShopifyDropdown.d.ts +27 -0
  89. package/dist/components/suggestions/ShopifyDropdown.d.ts.map +1 -0
  90. package/dist/components/suggestions/ShopifyDropdown.js +451 -0
  91. package/dist/components/suggestions/SpotlightDropdown.d.ts +33 -0
  92. package/dist/components/suggestions/SpotlightDropdown.d.ts.map +1 -0
  93. package/dist/components/suggestions/SpotlightDropdown.js +547 -0
  94. package/dist/components/suggestions/SuggestionSearchBar.d.ts +123 -0
  95. package/dist/components/suggestions/SuggestionSearchBar.d.ts.map +1 -0
  96. package/dist/components/suggestions/SuggestionSearchBar.js +652 -0
  97. package/dist/components/suggestions/index.d.ts +37 -0
  98. package/dist/components/suggestions/index.d.ts.map +1 -0
  99. package/dist/components/suggestions/index.js +59 -0
  100. package/dist/components/suggestions/styles/index.d.ts +11 -0
  101. package/dist/components/suggestions/styles/index.d.ts.map +1 -0
  102. package/dist/components/suggestions/styles/index.js +289 -0
  103. package/dist/components/suggestions/styles/responsive.d.ts +107 -0
  104. package/dist/components/suggestions/styles/responsive.d.ts.map +1 -0
  105. package/dist/components/suggestions/styles/responsive.js +237 -0
  106. package/dist/components/suggestions/types.d.ts +489 -0
  107. package/dist/components/suggestions/types.d.ts.map +1 -0
  108. package/dist/components/suggestions/types.js +6 -0
  109. package/dist/components/suggestions/utils.d.ts +213 -0
  110. package/dist/components/suggestions/utils.d.ts.map +1 -0
  111. package/dist/components/suggestions/utils.js +514 -0
  112. package/dist/hooks/useAnalytics.d.ts +20 -0
  113. package/dist/hooks/useAnalytics.d.ts.map +1 -0
  114. package/dist/hooks/useAnalytics.js +62 -0
  115. package/dist/hooks/useNaturalLanguageFilters.d.ts +48 -0
  116. package/dist/hooks/useNaturalLanguageFilters.d.ts.map +1 -0
  117. package/dist/hooks/useNaturalLanguageFilters.js +221 -0
  118. package/dist/hooks/useQuerySuggestions.d.ts +21 -0
  119. package/dist/hooks/useQuerySuggestions.d.ts.map +1 -0
  120. package/dist/hooks/useQuerySuggestions.js +68 -0
  121. package/dist/hooks/useQuerySuggestionsEnhanced.d.ts +114 -0
  122. package/dist/hooks/useQuerySuggestionsEnhanced.d.ts.map +1 -0
  123. package/dist/hooks/useQuerySuggestionsEnhanced.js +376 -0
  124. package/dist/hooks/useSearchState.d.ts +35 -0
  125. package/dist/hooks/useSearchState.d.ts.map +1 -0
  126. package/dist/hooks/useSearchState.js +68 -0
  127. package/dist/hooks/useSeekoraSearch.d.ts +20 -0
  128. package/dist/hooks/useSeekoraSearch.d.ts.map +1 -0
  129. package/dist/hooks/useSeekoraSearch.js +63 -0
  130. package/dist/hooks/useSmartSuggestions.d.ts +55 -0
  131. package/dist/hooks/useSmartSuggestions.d.ts.map +1 -0
  132. package/dist/hooks/useSmartSuggestions.js +236 -0
  133. package/dist/hooks/useSuggestionsAnalytics.d.ts +91 -0
  134. package/dist/hooks/useSuggestionsAnalytics.d.ts.map +1 -0
  135. package/dist/hooks/useSuggestionsAnalytics.js +226 -0
  136. package/dist/index.d.ts +80 -0
  137. package/dist/index.d.ts.map +1 -0
  138. package/dist/index.js +86 -0
  139. package/dist/index.umd.js +1 -0
  140. package/dist/src/index.d.ts +2849 -0
  141. package/dist/src/index.esm.js +11679 -0
  142. package/dist/src/index.esm.js.map +1 -0
  143. package/dist/src/index.js +11761 -0
  144. package/dist/src/index.js.map +1 -0
  145. package/dist/themes/createTheme.d.ts +8 -0
  146. package/dist/themes/createTheme.d.ts.map +1 -0
  147. package/dist/themes/createTheme.js +10 -0
  148. package/dist/themes/dark.d.ts +6 -0
  149. package/dist/themes/dark.d.ts.map +1 -0
  150. package/dist/themes/dark.js +34 -0
  151. package/dist/themes/default.d.ts +6 -0
  152. package/dist/themes/default.d.ts.map +1 -0
  153. package/dist/themes/default.js +71 -0
  154. package/dist/themes/mergeThemes.d.ts +7 -0
  155. package/dist/themes/mergeThemes.d.ts.map +1 -0
  156. package/dist/themes/mergeThemes.js +6 -0
  157. package/dist/themes/minimal.d.ts +6 -0
  158. package/dist/themes/minimal.d.ts.map +1 -0
  159. package/dist/themes/minimal.js +34 -0
  160. package/dist/themes/suggestions.d.ts +216 -0
  161. package/dist/themes/suggestions.d.ts.map +1 -0
  162. package/dist/themes/suggestions.js +546 -0
  163. package/dist/themes/types.d.ts +7 -0
  164. package/dist/themes/types.d.ts.map +1 -0
  165. package/dist/themes/types.js +6 -0
  166. package/dist/types/index.d.ts +33 -0
  167. package/dist/types/index.d.ts.map +1 -0
  168. package/dist/types/index.js +4 -0
  169. package/package.json +65 -0
@@ -0,0 +1,195 @@
1
+ /**
2
+ * Facets Component
3
+ *
4
+ * Displays facet filters for search results
5
+ */
6
+ import React, { useState } from 'react';
7
+ import { useSearchContext } from './SearchProvider';
8
+ import { useSearchState } from '../hooks/useSearchState';
9
+ import { log } from '@seekora-ai/ui-sdk-core';
10
+ import { clsx } from 'clsx';
11
+ export const Facets = ({ results: resultsProp, facets: facetsProp, onFacetChange, renderFacet, renderFacetItem, maxItems = 10, showMore = true, className, style, theme: customTheme, }) => {
12
+ const { theme } = useSearchContext();
13
+ const { results: stateResults, refinements, addRefinement, removeRefinement } = useSearchState();
14
+ const facetsTheme = customTheme || {};
15
+ const [expandedFacets, setExpandedFacets] = useState({});
16
+ // Use results from prop if provided, otherwise from state manager
17
+ const results = resultsProp || stateResults;
18
+ // Extract facets from results
19
+ const extractFacets = () => {
20
+ if (facetsProp)
21
+ return facetsProp;
22
+ // Try to get facets from various locations in the response
23
+ // Primary location: data.facets (widget_mode response structure)
24
+ const rawFacets = results?.data?.facets
25
+ || results?.facets
26
+ || results?.data?.data?.facets
27
+ || null;
28
+ log.verbose('Facets: Extracting facets', {
29
+ hasResults: !!results,
30
+ hasData: !!results?.data,
31
+ rawFacets: rawFacets ? (Array.isArray(rawFacets) ? rawFacets.length : 'not array') : null,
32
+ resultsKeys: results ? Object.keys(results) : [],
33
+ dataKeys: results?.data ? Object.keys(results.data) : [],
34
+ sampleFacet: rawFacets && Array.isArray(rawFacets) && rawFacets.length > 0 ? rawFacets[0] : null,
35
+ });
36
+ // Ensure rawFacets is an array before mapping
37
+ if (!rawFacets || !Array.isArray(rawFacets)) {
38
+ log.verbose('Facets: No facets found in response', {
39
+ rawFacetsType: rawFacets ? typeof rawFacets : 'null',
40
+ isArray: Array.isArray(rawFacets),
41
+ resultsStructure: results ? JSON.stringify(Object.keys(results)) : 'null',
42
+ dataStructure: results?.data ? JSON.stringify(Object.keys(results.data)) : 'null',
43
+ });
44
+ return [];
45
+ }
46
+ const extracted = rawFacets.map((facet) => {
47
+ const fieldName = facet.field_name || facet.field;
48
+ return {
49
+ field: fieldName,
50
+ label: facet.label || fieldName,
51
+ items: Array.isArray(facet.counts) ? facet.counts.map((count) => ({
52
+ value: count.value,
53
+ count: count.count,
54
+ selected: refinements.some(r => r.field === fieldName && r.value === count.value),
55
+ })) : [],
56
+ };
57
+ });
58
+ log.verbose('Facets: Extracted facets', {
59
+ count: extracted.length,
60
+ facets: extracted.map(f => ({ field: f.field, itemsCount: f.items.length })),
61
+ });
62
+ return extracted;
63
+ };
64
+ const facets = extractFacets();
65
+ const handleFacetToggle = (field, value, selected) => {
66
+ const newSelected = !selected;
67
+ log.verbose('Facets: Facet toggled', { field, value, selected: newSelected });
68
+ // Update state manager (automatically triggers search)
69
+ if (newSelected) {
70
+ addRefinement(field, value);
71
+ }
72
+ else {
73
+ removeRefinement(field, value);
74
+ }
75
+ // Call callback for backwards compatibility
76
+ if (onFacetChange) {
77
+ try {
78
+ onFacetChange(field, value, newSelected);
79
+ }
80
+ catch (err) {
81
+ const error = err instanceof Error ? err : new Error(String(err));
82
+ log.error('Facets: Error in onFacetChange callback', {
83
+ field,
84
+ value,
85
+ selected: newSelected,
86
+ error: error.message,
87
+ });
88
+ }
89
+ }
90
+ };
91
+ const toggleFacetExpansion = (field) => {
92
+ setExpandedFacets((prev) => ({
93
+ ...prev,
94
+ [field]: !prev[field],
95
+ }));
96
+ };
97
+ const defaultRenderFacetItem = (item, facet, index) => {
98
+ const isExpanded = expandedFacets[facet.field] || index < maxItems;
99
+ if (!isExpanded && index >= maxItems) {
100
+ return null;
101
+ }
102
+ return (React.createElement("div", { key: `${facet.field}-${item.value}`, className: clsx(facetsTheme.facetItem, (refinements.some(r => r.field === facet.field && r.value === item.value) || item.selected) && facetsTheme.facetItemActive), onClick: () => handleFacetToggle(facet.field, item.value, item.selected || false), style: {
103
+ display: 'flex',
104
+ alignItems: 'center',
105
+ padding: theme.spacing.small,
106
+ cursor: 'pointer',
107
+ borderRadius: typeof theme.borderRadius === 'string' ? theme.borderRadius : theme.borderRadius.medium,
108
+ marginBottom: theme.spacing.small,
109
+ backgroundColor: (refinements.some(r => r.field === facet.field && r.value === item.value) || item.selected) ? theme.colors.hover : 'transparent',
110
+ transition: 'background-color 0.2s ease',
111
+ } },
112
+ React.createElement("input", { type: "checkbox", checked: refinements.some(r => r.field === facet.field && r.value === item.value) || item.selected || false, onChange: () => handleFacetToggle(facet.field, item.value, item.selected || false), className: facetsTheme.checkbox, style: {
113
+ marginRight: theme.spacing.small,
114
+ cursor: 'pointer',
115
+ }, "aria-label": `Filter by ${item.value}` }),
116
+ React.createElement("span", { className: facetsTheme.facetItemLabel, style: {
117
+ flex: 1,
118
+ fontSize: theme.typography.fontSize.medium,
119
+ color: theme.colors.text,
120
+ } }, item.value),
121
+ React.createElement("span", { className: facetsTheme.facetItemCount, style: {
122
+ fontSize: theme.typography.fontSize.small,
123
+ color: theme.colors.textSecondary || theme.colors.text,
124
+ opacity: 0.7,
125
+ marginLeft: theme.spacing.small,
126
+ } },
127
+ "(",
128
+ item.count,
129
+ ")")));
130
+ };
131
+ const defaultRenderFacet = (facet, index) => {
132
+ const isExpanded = expandedFacets[facet.field] || false;
133
+ const visibleItems = isExpanded ? facet.items : facet.items.slice(0, maxItems);
134
+ const hasMore = facet.items.length > maxItems;
135
+ return (React.createElement("div", { key: facet.field, className: facetsTheme.facet, style: {
136
+ marginBottom: theme.spacing.large,
137
+ padding: theme.spacing.medium,
138
+ backgroundColor: theme.colors.background,
139
+ border: `1px solid ${theme.colors.border}`,
140
+ borderRadius: typeof theme.borderRadius === 'string' ? theme.borderRadius : theme.borderRadius.medium,
141
+ } },
142
+ React.createElement("h3", { className: facetsTheme.facetTitle, style: {
143
+ fontSize: theme.typography.fontSize.large,
144
+ fontWeight: 'bold',
145
+ margin: 0,
146
+ marginBottom: theme.spacing.medium,
147
+ color: theme.colors.text,
148
+ } }, facet.label || facet.field),
149
+ React.createElement("div", { className: facetsTheme.facetList }, visibleItems.map((item, itemIndex) => {
150
+ const actualIndex = isExpanded ? itemIndex : itemIndex;
151
+ return renderFacetItem
152
+ ? renderFacetItem(item, facet, actualIndex)
153
+ : defaultRenderFacetItem(item, facet, actualIndex);
154
+ })),
155
+ showMore && hasMore && !isExpanded && (React.createElement("button", { type: "button", onClick: () => toggleFacetExpansion(facet.field), style: {
156
+ marginTop: theme.spacing.small,
157
+ padding: theme.spacing.small,
158
+ border: 'none',
159
+ backgroundColor: 'transparent',
160
+ color: theme.colors.primary,
161
+ cursor: 'pointer',
162
+ fontSize: theme.typography.fontSize.small,
163
+ textDecoration: 'underline',
164
+ } },
165
+ "Show more (",
166
+ facet.items.length - maxItems,
167
+ " more)")),
168
+ isExpanded && hasMore && (React.createElement("button", { type: "button", onClick: () => toggleFacetExpansion(facet.field), style: {
169
+ marginTop: theme.spacing.small,
170
+ padding: theme.spacing.small,
171
+ border: 'none',
172
+ backgroundColor: 'transparent',
173
+ color: theme.colors.primary,
174
+ cursor: 'pointer',
175
+ fontSize: theme.typography.fontSize.small,
176
+ textDecoration: 'underline',
177
+ } }, "Show less"))));
178
+ };
179
+ if (facets.length === 0) {
180
+ log.verbose('Facets: No facets to display', {
181
+ hasResults: !!results,
182
+ resultsType: results ? typeof results : 'null',
183
+ });
184
+ // Return a placeholder instead of null for debugging
185
+ if (process.env.NODE_ENV === 'development') {
186
+ return (React.createElement("div", { style: { padding: theme.spacing.small, color: theme.colors.textSecondary, fontSize: theme.typography.fontSize.small } }, "No facets available"));
187
+ }
188
+ return null;
189
+ }
190
+ return (React.createElement("div", { className: clsx(facetsTheme.container, className), style: style }, facets.map((facet, index) => {
191
+ return renderFacet
192
+ ? renderFacet(facet, index)
193
+ : defaultRenderFacet(facet, index);
194
+ })));
195
+ };
@@ -0,0 +1,92 @@
1
+ /**
2
+ * FederatedDropdown Component
3
+ *
4
+ * Full-featured federated search dropdown with:
5
+ * - Multi-column layout (suggestions + products)
6
+ * - Filtered tabs with product results
7
+ * - Popular brands
8
+ * - Trending products
9
+ * - Category navigation
10
+ * - Responsive design
11
+ * - Rich product cards
12
+ */
13
+ import React from 'react';
14
+ import type { SuggestionItem, ProductItem, FilteredTab, PopularBrand, QuerySuggestionsClassNames, QuerySuggestionsEventHandlers } from '@seekora-ai/ui-sdk-types';
15
+ export interface FederatedDropdownProps extends QuerySuggestionsEventHandlers {
16
+ /** Current query string */
17
+ query: string;
18
+ /** Whether the dropdown is visible */
19
+ isOpen?: boolean;
20
+ /** Maximum suggestions to show */
21
+ maxSuggestions?: number;
22
+ /** Maximum products to show per section */
23
+ maxProducts?: number;
24
+ /** Maximum brands to show */
25
+ maxBrands?: number;
26
+ /** Minimum query length */
27
+ minQueryLength?: number;
28
+ /** Debounce delay in ms */
29
+ debounceMs?: number;
30
+ /** Filtered tabs configuration */
31
+ filteredTabs?: Array<{
32
+ id?: string;
33
+ label: string;
34
+ filter: string;
35
+ }>;
36
+ /** Show products section */
37
+ showProducts?: boolean;
38
+ /** Show brands section */
39
+ showBrands?: boolean;
40
+ /** Show filtered tabs */
41
+ showFilteredTabs?: boolean;
42
+ /** Show recent searches */
43
+ showRecentSearches?: boolean;
44
+ /** Layout mode */
45
+ layout?: 'side-by-side' | 'stacked' | 'full-width';
46
+ /** Products column width (for side-by-side) */
47
+ productsColumnWidth?: string;
48
+ /** Suggestions column width (for side-by-side) */
49
+ suggestionsColumnWidth?: string;
50
+ /** Show product prices */
51
+ showPrices?: boolean;
52
+ /** Currency symbol */
53
+ currencySymbol?: string;
54
+ /** Custom class names */
55
+ classNames?: QuerySuggestionsClassNames;
56
+ /** Custom styles */
57
+ style?: React.CSSProperties;
58
+ /** Custom product card renderer */
59
+ renderProduct?: (product: ProductItem, index: number) => React.ReactNode;
60
+ /** Custom suggestion renderer */
61
+ renderSuggestion?: (suggestion: SuggestionItem, index: number, isActive: boolean) => React.ReactNode;
62
+ /** Custom brand renderer */
63
+ renderBrand?: (brand: PopularBrand, index: number) => React.ReactNode;
64
+ /** Custom tab renderer */
65
+ renderTab?: (tab: FilteredTab, isActive: boolean) => React.ReactNode;
66
+ /** Header content */
67
+ header?: React.ReactNode;
68
+ /** Footer content */
69
+ footer?: React.ReactNode;
70
+ /** View all products link */
71
+ viewAllProductsLink?: string;
72
+ /** Width */
73
+ width?: string | number;
74
+ /** Max height */
75
+ maxHeight?: string | number;
76
+ /** Z-index */
77
+ zIndex?: number;
78
+ /** Analytics tags */
79
+ analyticsTags?: string[];
80
+ }
81
+ export interface FederatedDropdownRef {
82
+ getActiveIndex: () => number;
83
+ setActiveIndex: (index: number) => void;
84
+ selectActive: () => void;
85
+ navigateNext: () => void;
86
+ navigatePrevious: () => void;
87
+ getActiveTab: () => string | null;
88
+ setActiveTab: (tabId: string) => void;
89
+ }
90
+ export declare const FederatedDropdown: React.ForwardRefExoticComponent<FederatedDropdownProps & React.RefAttributes<FederatedDropdownRef>>;
91
+ export default FederatedDropdown;
92
+ //# sourceMappingURL=FederatedDropdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FederatedDropdown.d.ts","sourceRoot":"","sources":["../../src/components/FederatedDropdown.tsx"],"names":[],"mappings":"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"}