@timmbr/ui 1.9.0 → 1.11.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 (175) hide show
  1. package/dist/components/Breadcrumb/Breadcrumb.d.ts +9 -0
  2. package/dist/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  3. package/dist/components/Breadcrumb/Breadcrumb.js +32 -0
  4. package/dist/components/Breadcrumb/Breadcrumb.styles.d.ts +8 -0
  5. package/dist/components/Breadcrumb/Breadcrumb.styles.d.ts.map +1 -0
  6. package/dist/components/Breadcrumb/Breadcrumb.styles.js +20 -0
  7. package/dist/components/Breadcrumb/Breadcrumb.types.d.ts +27 -0
  8. package/dist/components/Breadcrumb/Breadcrumb.types.d.ts.map +1 -0
  9. package/dist/components/Breadcrumb/index.d.ts +4 -0
  10. package/dist/components/Breadcrumb/index.d.ts.map +1 -0
  11. package/dist/components/Chip/Chip.d.ts.map +1 -1
  12. package/dist/components/Chip/Chip.js +13 -3
  13. package/dist/components/Chip/Chip.types.d.ts +5 -0
  14. package/dist/components/Chip/Chip.types.d.ts.map +1 -1
  15. package/dist/components/Drawer/Drawer.d.ts.map +1 -1
  16. package/dist/components/Drawer/Drawer.js +4 -4
  17. package/dist/components/Drawer/Drawer.styles.d.ts +1 -0
  18. package/dist/components/Drawer/Drawer.styles.d.ts.map +1 -1
  19. package/dist/components/Drawer/Drawer.styles.js +7 -1
  20. package/dist/components/Drawer/Drawer.types.d.ts +2 -0
  21. package/dist/components/Drawer/Drawer.types.d.ts.map +1 -1
  22. package/dist/components/FilterChips/FilterChips.d.ts +8 -0
  23. package/dist/components/FilterChips/FilterChips.d.ts.map +1 -0
  24. package/dist/components/FilterChips/FilterChips.js +39 -0
  25. package/dist/components/FilterChips/FilterChips.types.d.ts +17 -0
  26. package/dist/components/FilterChips/FilterChips.types.d.ts.map +1 -0
  27. package/dist/components/FilterChips/index.d.ts +3 -0
  28. package/dist/components/FilterChips/index.d.ts.map +1 -0
  29. package/dist/components/FilterDrawer/FilterDrawer.d.ts +12 -0
  30. package/dist/components/FilterDrawer/FilterDrawer.d.ts.map +1 -0
  31. package/dist/components/FilterDrawer/FilterDrawer.js +157 -0
  32. package/dist/components/FilterDrawer/FilterDrawer.styles.d.ts +12 -0
  33. package/dist/components/FilterDrawer/FilterDrawer.styles.d.ts.map +1 -0
  34. package/dist/components/FilterDrawer/FilterDrawer.styles.js +30 -0
  35. package/dist/components/FilterDrawer/FilterDrawer.types.d.ts +28 -0
  36. package/dist/components/FilterDrawer/FilterDrawer.types.d.ts.map +1 -0
  37. package/dist/components/FilterDrawer/index.d.ts +4 -0
  38. package/dist/components/FilterDrawer/index.d.ts.map +1 -0
  39. package/dist/components/FilterPanel/FilterPanel.d.ts +33 -0
  40. package/dist/components/FilterPanel/FilterPanel.d.ts.map +1 -0
  41. package/dist/components/FilterPanel/FilterPanel.js +239 -0
  42. package/dist/components/FilterPanel/FilterPanel.styles.d.ts +16 -0
  43. package/dist/components/FilterPanel/FilterPanel.styles.d.ts.map +1 -0
  44. package/dist/components/FilterPanel/FilterPanel.styles.js +31 -0
  45. package/dist/components/FilterPanel/FilterPanel.types.d.ts +80 -0
  46. package/dist/components/FilterPanel/FilterPanel.types.d.ts.map +1 -0
  47. package/dist/components/FilterPanel/FilterPanel.types.js +3 -0
  48. package/dist/components/FilterPanel/index.d.ts +4 -0
  49. package/dist/components/FilterPanel/index.d.ts.map +1 -0
  50. package/dist/components/ImageUpload/ImageUpload.styles.d.ts +3 -3
  51. package/dist/components/MediaCard/MediaCard.d.ts.map +1 -1
  52. package/dist/components/MediaCard/MediaCard.js +3 -1
  53. package/dist/components/NavHeader/NavHeader.styles.d.ts +7 -0
  54. package/dist/components/NavHeader/NavHeader.styles.d.ts.map +1 -1
  55. package/dist/components/NavHeader/NavHeader.styles.js +20 -2
  56. package/dist/components/NavHeader/NavHeader.types.d.ts +59 -9
  57. package/dist/components/NavHeader/NavHeader.types.d.ts.map +1 -1
  58. package/dist/components/NavHeader/index.d.ts +3 -2
  59. package/dist/components/NavHeader/index.d.ts.map +1 -1
  60. package/dist/components/NavHeader/subcomponents/NavActions.d.ts +4 -4
  61. package/dist/components/NavHeader/subcomponents/NavActions.d.ts.map +1 -1
  62. package/dist/components/NavHeader/subcomponents/NavActions.js +31 -25
  63. package/dist/components/NavHeader/subcomponents/NavMobileSearchDrawer.d.ts.map +1 -1
  64. package/dist/components/NavHeader/subcomponents/NavMobileSearchDrawer.js +15 -33
  65. package/dist/components/NavHeader/subcomponents/NavSearch.d.ts.map +1 -1
  66. package/dist/components/NavHeader/subcomponents/NavSearch.js +37 -83
  67. package/dist/components/NavHeader/subcomponents/NavSearchPanel.d.ts +63 -0
  68. package/dist/components/NavHeader/subcomponents/NavSearchPanel.d.ts.map +1 -0
  69. package/dist/components/NavHeader/subcomponents/NavSearchPanel.js +289 -0
  70. package/dist/components/NavMenuColumns/NavMenuColumns.styles.js +1 -1
  71. package/dist/components/OptionPicker/OptionPicker.d.ts +10 -0
  72. package/dist/components/OptionPicker/OptionPicker.d.ts.map +1 -0
  73. package/dist/components/OptionPicker/OptionPicker.js +116 -0
  74. package/dist/components/OptionPicker/OptionPicker.styles.d.ts +20 -0
  75. package/dist/components/OptionPicker/OptionPicker.styles.d.ts.map +1 -0
  76. package/dist/components/OptionPicker/OptionPicker.styles.js +60 -0
  77. package/dist/components/OptionPicker/OptionPicker.types.d.ts +39 -0
  78. package/dist/components/OptionPicker/OptionPicker.types.d.ts.map +1 -0
  79. package/dist/components/OptionPicker/index.d.ts +4 -0
  80. package/dist/components/OptionPicker/index.d.ts.map +1 -0
  81. package/dist/components/Price/Price.styles.d.ts.map +1 -1
  82. package/dist/components/Price/Price.styles.js +3 -2
  83. package/dist/components/ProductGallery/ProductGallery.d.ts +10 -0
  84. package/dist/components/ProductGallery/ProductGallery.d.ts.map +1 -0
  85. package/dist/components/ProductGallery/ProductGallery.js +306 -0
  86. package/dist/components/ProductGallery/ProductGallery.styles.d.ts +32 -0
  87. package/dist/components/ProductGallery/ProductGallery.styles.d.ts.map +1 -0
  88. package/dist/components/ProductGallery/ProductGallery.styles.js +86 -0
  89. package/dist/components/ProductGallery/ProductGallery.types.d.ts +55 -0
  90. package/dist/components/ProductGallery/ProductGallery.types.d.ts.map +1 -0
  91. package/dist/components/ProductGallery/ProductGalleryLightbox.d.ts +20 -0
  92. package/dist/components/ProductGallery/ProductGalleryLightbox.d.ts.map +1 -0
  93. package/dist/components/ProductGallery/ProductGalleryLightbox.js +210 -0
  94. package/dist/components/ProductGallery/index.d.ts +4 -0
  95. package/dist/components/ProductGallery/index.d.ts.map +1 -0
  96. package/dist/components/QuantityStepper/QuantityStepper.d.ts +8 -0
  97. package/dist/components/QuantityStepper/QuantityStepper.d.ts.map +1 -0
  98. package/dist/components/QuantityStepper/QuantityStepper.js +65 -0
  99. package/dist/components/QuantityStepper/QuantityStepper.styles.d.ts +8 -0
  100. package/dist/components/QuantityStepper/QuantityStepper.styles.d.ts.map +1 -0
  101. package/dist/components/QuantityStepper/QuantityStepper.styles.js +24 -0
  102. package/dist/components/QuantityStepper/QuantityStepper.types.d.ts +20 -0
  103. package/dist/components/QuantityStepper/QuantityStepper.types.d.ts.map +1 -0
  104. package/dist/components/QuantityStepper/index.d.ts +4 -0
  105. package/dist/components/QuantityStepper/index.d.ts.map +1 -0
  106. package/dist/components/RadioCard/RadioCard.d.ts +9 -0
  107. package/dist/components/RadioCard/RadioCard.d.ts.map +1 -0
  108. package/dist/components/RadioCard/RadioCard.js +40 -0
  109. package/dist/components/RadioCard/RadioCard.styles.d.ts +9 -0
  110. package/dist/components/RadioCard/RadioCard.styles.d.ts.map +1 -0
  111. package/dist/components/RadioCard/RadioCard.styles.js +24 -0
  112. package/dist/components/RadioCard/RadioCard.types.d.ts +28 -0
  113. package/dist/components/RadioCard/RadioCard.types.d.ts.map +1 -0
  114. package/dist/components/RadioCard/index.d.ts +4 -0
  115. package/dist/components/RadioCard/index.d.ts.map +1 -0
  116. package/dist/components/RangeSlider/RangeSlider.d.ts.map +1 -1
  117. package/dist/components/RangeSlider/RangeSlider.js +5 -3
  118. package/dist/components/RangeSlider/RangeSlider.types.d.ts +7 -0
  119. package/dist/components/RangeSlider/RangeSlider.types.d.ts.map +1 -1
  120. package/dist/components/Select/Select.d.ts.map +1 -1
  121. package/dist/components/Select/Select.js +14 -1
  122. package/dist/components/Select/Select.types.d.ts +4 -0
  123. package/dist/components/Select/Select.types.d.ts.map +1 -1
  124. package/dist/components/Skeleton/Skeleton.styles.d.ts +1 -1
  125. package/dist/components/Snackbar/Snackbar.d.ts +9 -0
  126. package/dist/components/Snackbar/Snackbar.d.ts.map +1 -0
  127. package/dist/components/Snackbar/Snackbar.js +108 -0
  128. package/dist/components/Snackbar/Snackbar.styles.d.ts +17 -0
  129. package/dist/components/Snackbar/Snackbar.styles.d.ts.map +1 -0
  130. package/dist/components/Snackbar/Snackbar.styles.js +37 -0
  131. package/dist/components/Snackbar/Snackbar.types.d.ts +36 -0
  132. package/dist/components/Snackbar/Snackbar.types.d.ts.map +1 -0
  133. package/dist/components/Snackbar/SnackbarHost.d.ts +4 -0
  134. package/dist/components/Snackbar/SnackbarHost.d.ts.map +1 -0
  135. package/dist/components/Snackbar/SnackbarHost.js +24 -0
  136. package/dist/components/Snackbar/index.d.ts +6 -0
  137. package/dist/components/Snackbar/index.d.ts.map +1 -0
  138. package/dist/components/Snackbar/snackbarStore.d.ts +42 -0
  139. package/dist/components/Snackbar/snackbarStore.d.ts.map +1 -0
  140. package/dist/components/Snackbar/snackbarStore.js +87 -0
  141. package/dist/components/StockMeter/StockMeter.d.ts +8 -0
  142. package/dist/components/StockMeter/StockMeter.d.ts.map +1 -0
  143. package/dist/components/StockMeter/StockMeter.js +19 -0
  144. package/dist/components/StockMeter/StockMeter.styles.d.ts +4 -0
  145. package/dist/components/StockMeter/StockMeter.styles.d.ts.map +1 -0
  146. package/dist/components/StockMeter/StockMeter.styles.js +7 -0
  147. package/dist/components/StockMeter/StockMeter.types.d.ts +10 -0
  148. package/dist/components/StockMeter/StockMeter.types.d.ts.map +1 -0
  149. package/dist/components/StockMeter/index.d.ts +4 -0
  150. package/dist/components/StockMeter/index.d.ts.map +1 -0
  151. package/dist/components/Swatch/Swatch.d.ts +11 -0
  152. package/dist/components/Swatch/Swatch.d.ts.map +1 -0
  153. package/dist/components/Swatch/Swatch.js +40 -0
  154. package/dist/components/Swatch/Swatch.styles.d.ts +8 -0
  155. package/dist/components/Swatch/Swatch.styles.d.ts.map +1 -0
  156. package/dist/components/Swatch/Swatch.styles.js +26 -0
  157. package/dist/components/Swatch/Swatch.types.d.ts +11 -0
  158. package/dist/components/Swatch/Swatch.types.d.ts.map +1 -0
  159. package/dist/components/Swatch/index.d.ts +4 -0
  160. package/dist/components/Swatch/index.d.ts.map +1 -0
  161. package/dist/components/Toast/Toast.d.ts.map +1 -1
  162. package/dist/components/Toast/Toast.js +49 -42
  163. package/dist/components/Toast/Toast.types.d.ts +7 -0
  164. package/dist/components/Toast/Toast.types.d.ts.map +1 -1
  165. package/dist/components/Toast/ToastContainer.d.ts.map +1 -1
  166. package/dist/components/Toast/ToastContainer.js +5 -0
  167. package/dist/components/Toast/toastStore.d.ts +11 -0
  168. package/dist/components/Toast/toastStore.d.ts.map +1 -1
  169. package/dist/components/Toast/toastStore.js +70 -30
  170. package/dist/index.d.ts +11 -0
  171. package/dist/index.d.ts.map +1 -1
  172. package/dist/index.js +26 -1
  173. package/dist/providers/TimmbrConfigProvider.d.ts.map +1 -1
  174. package/dist/providers/TimmbrConfigProvider.js +5 -9
  175. package/package.json +5 -5
@@ -82,6 +82,38 @@ export interface PopularSearchTag {
82
82
  zone?: string;
83
83
  onClick?: (tag: PopularSearchTag) => void;
84
84
  }
85
+ /**
86
+ * A product (or any destination) suggested under the search box while typing.
87
+ */
88
+ export interface NavSearchResult {
89
+ id: string;
90
+ href: string;
91
+ title: string;
92
+ /** Secondary line, e.g. the brand. */
93
+ subtitle?: string;
94
+ /** Preformatted price, e.g. "₹24,999". */
95
+ price?: string;
96
+ imageUrl?: string;
97
+ imageAlt?: string;
98
+ /** The link leaves this zone: rendered as a plain <a> (full page load) instead of `linkComponent`. */
99
+ crossZone?: boolean;
100
+ }
101
+ /**
102
+ * Suggestions shown while typing (once the query reaches `minQueryLength`).
103
+ */
104
+ export interface NavSearchResults {
105
+ items: NavSearchResult[];
106
+ /** A request for the current query is in flight (shows placeholders when there are no items yet). */
107
+ loading?: boolean;
108
+ /** Section title. Defaults to "Products". */
109
+ title?: string;
110
+ /** Shown when the query has no matches. Defaults to "No products match". */
111
+ emptyLabel?: string;
112
+ /** Label of the last row, which submits the query. Defaults to `See all results for "…"`. */
113
+ viewAllLabel?: (query: string) => string;
114
+ /** Characters needed before suggestions show (recent searches show below it). Defaults to 2. */
115
+ minQueryLength?: number;
116
+ }
85
117
  /**
86
118
  * Configuration for the expandable search bar and its suggestions popover.
87
119
  */
@@ -108,12 +140,28 @@ export interface NavSearchConfig {
108
140
  popoverContent?: React.ReactNode;
109
141
  /** Custom suggestions node rendered inside search drawer */
110
142
  suggestions?: React.ReactNode;
111
- /** Optional preconfigured popular search suggestions */
143
+ /** Popular search chips, shown while the input is empty. None by default. */
112
144
  popularSearches?: PopularSearchTag[];
113
145
  /** Title for the popular searches section. Defaults to "Popular Searches" */
114
146
  popularSearchesTitle?: string;
115
147
  /** Callback fired when user clicks a popular search chip */
116
148
  onPopularSearchClick?: (tag: PopularSearchTag) => void;
149
+ /** The shopper's recent searches (newest first), shown while the input is empty. Picking one submits it. */
150
+ recentSearches?: string[];
151
+ /** Title for the recent searches section. Defaults to "Recent searches" */
152
+ recentSearchesTitle?: string;
153
+ /** Removes one recent search (shows a remove button per row; Delete key on the active row). */
154
+ onRecentSearchRemove?: (query: string) => void;
155
+ /** Clears all recent searches (shows a "Clear" button). */
156
+ onClearRecentSearches?: () => void;
157
+ /** Label of the clear button. Defaults to "Clear" */
158
+ clearRecentSearchesLabel?: string;
159
+ /** Accessible label of a row's remove button. Defaults to `Remove "…" from recent searches` */
160
+ removeRecentSearchLabel?: (query: string) => string;
161
+ /** Suggestions while typing (e.g. matching products). */
162
+ results?: NavSearchResults;
163
+ /** Called when a suggested result is picked (before navigation). */
164
+ onResultSelect?: (result: NavSearchResult) => void;
117
165
  /** Custom aria-label for search input */
118
166
  ariaLabel?: string;
119
167
  /** Display mode for search on mobile/tablet viewports (< 1024px). Defaults to 'bar' */
@@ -220,13 +268,15 @@ export interface NavActionsConfig {
220
268
  /** Pre-configured profile action */
221
269
  profile?: Partial<NavActionItem>;
222
270
  /** Pre-configured wishlist action with optional badge count */
223
- wishlist?: Partial<NavActionItem> & {
271
+ /** Header wishlist action; `false` hides it (e.g. checkout). */
272
+ wishlist?: (Partial<NavActionItem> & {
224
273
  count?: number;
225
- };
274
+ }) | false;
226
275
  /** Pre-configured cart action with optional badge count */
227
- cart?: Partial<NavActionItem> & {
276
+ /** Header cart action; `false` hides it (e.g. checkout). */
277
+ cart?: (Partial<NavActionItem> & {
228
278
  count?: number;
229
- };
279
+ }) | false;
230
280
  /** Auth trigger mode: 'modal' triggers popup flow, 'redirect' fallbacks to /auth page */
231
281
  authMode?: 'modal' | 'redirect';
232
282
  /** Callback fired when user triggers auth in modal mode */
@@ -331,13 +381,13 @@ export interface NavHeaderProps extends MotionProps, Omit<React.HTMLAttributes<H
331
381
  /** Shorthand profile action configuration. */
332
382
  profileAction?: Partial<NavActionItem>;
333
383
  /** Shorthand wishlist action configuration with optional badge count. */
334
- wishlistAction?: Partial<NavActionItem> & {
384
+ wishlistAction?: (Partial<NavActionItem> & {
335
385
  count?: number;
336
- };
386
+ }) | false;
337
387
  /** Shorthand cart action configuration with optional badge count. */
338
- cartAction?: Partial<NavActionItem> & {
388
+ cartAction?: (Partial<NavActionItem> & {
339
389
  count?: number;
340
- };
390
+ }) | false;
341
391
  /** Shorthand auth mode: 'modal' triggers modal popup, 'redirect' falls back to /auth page. Defaults to 'modal'. */
342
392
  authMode?: 'modal' | 'redirect';
343
393
  /** Shorthand callback fired when user triggers auth in modal mode. */
@@ -1 +1 @@
1
- {"version":3,"file":"NavHeader.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"NavHeader.types.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/NavHeader.types.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,12 @@
1
1
  export { NavHeader, Header } from './NavHeader';
2
- export type { NavHeaderProps, NavHeaderItem, NavHeaderBranding, OfferBannerConfig, NavSearchConfig, PopularSearchTag, NavActionItem, NavActionMenuItem, } from './NavHeader.types';
2
+ export type { NavHeaderProps, NavHeaderItem, NavHeaderBranding, OfferBannerConfig, NavSearchConfig, PopularSearchTag, NavSearchResult, NavSearchResults, NavActionItem, NavActionMenuItem, } from './NavHeader.types';
3
3
  export { useNavHeaderContext } from './NavHeader.context';
4
- export { offerBannerVariants, navHeaderVariants, navHeaderContainerVariants, navHeaderItemVariants, navActionVariants, megaMenuCardVariants, searchPopoverCardVariants, } from './NavHeader.styles';
4
+ export { offerBannerVariants, navHeaderVariants, navHeaderContainerVariants, navHeaderItemVariants, navActionVariants, megaMenuCardVariants, searchPopoverCardVariants, searchPanelOptionVariants, } from './NavHeader.styles';
5
5
  export { OfferBanner } from './subcomponents/OfferBanner';
6
6
  export { NavBrand } from './subcomponents/NavBrand';
7
7
  export { NavItems } from './subcomponents/NavItems';
8
8
  export { NavMegaMenu } from './subcomponents/NavMegaMenu';
9
9
  export { NavSearch } from './subcomponents/NavSearch';
10
+ export { NavSearchPanel, useNavSearchCombobox } from './subcomponents/NavSearchPanel';
10
11
  export { NavActions } from './subcomponents/NavActions';
11
12
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/NavHeader/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAChD,YAAY,EACV,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,iBAAiB,GAClB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,0BAA0B,EAC1B,qBAAqB,EACrB,iBAAiB,EACjB,oBAAoB,EACpB,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAC1D,OAAO,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,gCAAgC,CAAC;AACtF,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC"}
@@ -10,12 +10,12 @@ export declare const PROFILE_LABEL_CLASS = "min-w-[35px] max-w-16 truncate text-
10
10
  export interface NavActionsProps {
11
11
  actions?: NavActionItem[];
12
12
  profileAction?: Partial<NavActionItem>;
13
- wishlistAction?: Partial<NavActionItem> & {
13
+ wishlistAction?: (Partial<NavActionItem> & {
14
14
  count?: number;
15
- };
16
- cartAction?: Partial<NavActionItem> & {
15
+ }) | false;
16
+ cartAction?: (Partial<NavActionItem> & {
17
17
  count?: number;
18
- };
18
+ }) | false;
19
19
  authMode?: 'modal' | 'redirect';
20
20
  onAuthTrigger?: () => void;
21
21
  maxVisibleActions?: number | 'auto';
@@ -1 +1 @@
1
- {"version":3,"file":"NavActions.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,+CAA+C,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,UAAU,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IACzD,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CA+VhD,CAAC;AAEF,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"NavActions.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavActions.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAO/B,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAWxD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,+CAA+C,CAAC;AAEhF,MAAM,WAAW,eAAe;IAC9B,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;IACvC,cAAc,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,KAAK,CAAC;IACvE,UAAU,CAAC,EAAE,CAAC,OAAO,CAAC,aAAa,CAAC,GAAG;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,GAAG,KAAK,CAAC;IACnE,QAAQ,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;IAChC,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACpC,mBAAmB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACtC,kBAAkB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACrC,YAAY,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;IACzC;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAqWhD,CAAC;AAEF,eAAe,UAAU,CAAC"}
@@ -52,31 +52,37 @@ const NavActions = ({
52
52
  }
53
53
  }
54
54
  };
55
- const wishCount = wishlistAction?.count;
56
- defaultItems.push({
57
- id: "wishlist",
58
- label: wishlistAction?.label ?? "WISH LIST",
59
- icon: wishlistAction?.icon ?? /* @__PURE__ */ jsx(Heart, { size: 22, className: "stroke-[1.8]" }),
60
- href: wishlistAction?.href ?? "/wishlist",
61
- zone: wishlistAction?.zone,
62
- crossZone: wishlistAction?.crossZone,
63
- badge: wishlistAction?.badge ?? (wishCount && wishCount > 0 ? wishCount : void 0),
64
- onClick: wishlistAction?.onClick,
65
- ariaLabel: wishlistAction?.ariaLabel ?? (wishCount ? `Wishlist with ${wishCount} items` : "Wishlist")
66
- });
67
- const cartCount = cartAction?.count;
68
- defaultItems.push({
69
- id: "cart",
70
- label: cartAction?.label ?? "CART",
71
- icon: cartAction?.icon ?? /* @__PURE__ */ jsx(ShoppingCart, { size: 22, className: "stroke-[1.8]" }),
72
- href: cartAction?.href ?? "/cart",
73
- zone: cartAction?.zone,
74
- crossZone: cartAction?.crossZone,
75
- badge: cartAction?.badge ?? (cartCount && cartCount > 0 ? cartCount : void 0),
76
- onClick: cartAction?.onClick,
77
- ariaLabel: cartAction?.ariaLabel ?? (cartCount ? `Shopping cart with ${cartCount} items` : "Shopping cart"),
78
- priority: "high"
79
- });
55
+ const wishlist = wishlistAction === false ? void 0 : wishlistAction;
56
+ if (wishlistAction !== false) {
57
+ const wishCount = wishlist?.count;
58
+ defaultItems.push({
59
+ id: "wishlist",
60
+ label: wishlist?.label ?? "WISH LIST",
61
+ icon: wishlist?.icon ?? /* @__PURE__ */ jsx(Heart, { size: 22, className: "stroke-[1.8]" }),
62
+ href: wishlist?.href ?? "/wishlist",
63
+ zone: wishlist?.zone,
64
+ crossZone: wishlist?.crossZone,
65
+ badge: wishlist?.badge ?? (wishCount && wishCount > 0 ? wishCount : void 0),
66
+ onClick: wishlist?.onClick,
67
+ ariaLabel: wishlist?.ariaLabel ?? (wishCount ? `Wishlist with ${wishCount} items` : "Wishlist")
68
+ });
69
+ }
70
+ const cart = cartAction === false ? void 0 : cartAction;
71
+ if (cartAction !== false) {
72
+ const cartCount = cart?.count;
73
+ defaultItems.push({
74
+ id: "cart",
75
+ label: cart?.label ?? "CART",
76
+ icon: cart?.icon ?? /* @__PURE__ */ jsx(ShoppingCart, { size: 22, className: "stroke-[1.8]" }),
77
+ href: cart?.href ?? "/cart",
78
+ zone: cart?.zone,
79
+ crossZone: cart?.crossZone,
80
+ badge: cart?.badge ?? (cartCount && cartCount > 0 ? cartCount : void 0),
81
+ onClick: cart?.onClick,
82
+ ariaLabel: cart?.ariaLabel ?? (cartCount ? `Shopping cart with ${cartCount} items` : "Shopping cart"),
83
+ priority: "high"
84
+ });
85
+ }
80
86
  defaultItems.push({
81
87
  id: "profile",
82
88
  label: profileAction?.label ?? "LOGIN",
@@ -1 +1 @@
1
- {"version":3,"file":"NavMobileSearchDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavMobileSearchDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CAoKtE,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"NavMobileSearchDrawer.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavMobileSearchDrawer.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,WAAW,0BAA0B;IACzC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,0BAA0B,CA6ItE,CAAC;AAEF,eAAe,qBAAqB,CAAC"}
@@ -6,6 +6,7 @@ import { AnimatePresence, motion } from '@timmbr/motion';
6
6
  import { ArrowLeft, Search, X } from '@timmbr/icons';
7
7
  import { cn } from '@timmbr/utils';
8
8
  import { mobileSearchDrawerVariants } from '../NavHeader.styles.js';
9
+ import { useNavSearchCombobox, NavSearchPanel } from './NavSearchPanel.js';
9
10
 
10
11
  const NavMobileSearchDrawer = ({
11
12
  isOpen,
@@ -15,11 +16,13 @@ const NavMobileSearchDrawer = ({
15
16
  onSubmit,
16
17
  config = {},
17
18
  shouldAnimate = true,
18
- motionClass
19
+ motionClass,
20
+ linkComponent
19
21
  }) => {
20
22
  const [mounted, setMounted] = React.useState(false);
21
23
  const searchConfig = typeof config === "object" ? config : {};
22
24
  const inputRef = React.useRef(null);
25
+ const combobox = useNavSearchCombobox({ config, value, onChange, onSubmit, onClose });
23
26
  React.useEffect(() => {
24
27
  setMounted(true);
25
28
  }, []);
@@ -56,15 +59,10 @@ const NavMobileSearchDrawer = ({
56
59
  const handleFormSubmit = (e) => {
57
60
  e.preventDefault();
58
61
  if (value.trim()) {
59
- onSubmit(value);
62
+ onSubmit(value.trim());
60
63
  onClose();
61
64
  }
62
65
  };
63
- const handlePopularSearchClick = (tagLabel) => {
64
- onChange(tagLabel);
65
- onSubmit(tagLabel);
66
- onClose();
67
- };
68
66
  const drawerContent = /* @__PURE__ */ jsx(AnimatePresence, { children: isOpen && /* @__PURE__ */ jsxs(
69
67
  motion.div,
70
68
  {
@@ -78,7 +76,7 @@ const NavMobileSearchDrawer = ({
78
76
  className: cn(mobileSearchDrawerVariants(), motionClass),
79
77
  "data-slot": "nav-mobile-search-drawer",
80
78
  children: [
81
- /* @__PURE__ */ jsxs("div", { className: "w-full bg-[var(--color-bg-2,#F7F1E6)] border-b border-border-warm px-3 py-3 flex items-center gap-3 shrink-0 shadow-xs", children: [
79
+ /* @__PURE__ */ jsxs("div", { className: "w-full bg-bg-2 border-b border-border-warm px-3 py-3 flex items-center gap-3 shrink-0 shadow-xs", children: [
82
80
  /* @__PURE__ */ jsx(
83
81
  "button",
84
82
  {
@@ -91,24 +89,20 @@ const NavMobileSearchDrawer = ({
91
89
  }
92
90
  ),
93
91
  /* @__PURE__ */ jsx("form", { onSubmit: handleFormSubmit, className: "flex-1 relative flex items-center", children: /* @__PURE__ */ jsxs("div", { className: "relative w-full flex items-center", children: [
94
- /* @__PURE__ */ jsx(
95
- Search,
96
- {
97
- size: 18,
98
- className: "absolute left-3.5 text-grey-500 pointer-events-none stroke-[2]"
99
- }
100
- ),
92
+ /* @__PURE__ */ jsx(Search, { size: 18, className: "absolute left-3.5 text-grey-500 pointer-events-none stroke-[2]" }),
101
93
  /* @__PURE__ */ jsx(
102
94
  "input",
103
95
  {
104
96
  ref: inputRef,
105
- type: "text",
106
- role: "searchbox",
107
- "aria-label": "Search store products",
97
+ type: "search",
98
+ enterKeyHint: "search",
99
+ autoComplete: "off",
100
+ "aria-label": searchConfig.ariaLabel ?? "Search store products",
101
+ ...combobox.inputProps,
108
102
  value,
109
103
  onChange: (e) => onChange(e.target.value),
110
104
  placeholder: searchConfig.placeholder ?? "Search for furniture, decor, and more...",
111
- className: "w-full h-11 pl-10 pr-9 rounded-full bg-grey-50 border border-border-warm text-body-2 text-grey-900 placeholder:text-grey-400 focus:outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all shadow-xs"
105
+ className: "w-full h-11 pl-10 pr-9 rounded-full [&::-webkit-search-cancel-button]:hidden bg-grey-50 border border-border-warm text-body-2 text-grey-900 placeholder:text-grey-400 focus:outline-none focus:border-primary focus:ring-2 focus:ring-primary/20 transition-all shadow-xs"
112
106
  }
113
107
  ),
114
108
  value.length > 0 && /* @__PURE__ */ jsx(
@@ -123,20 +117,8 @@ const NavMobileSearchDrawer = ({
123
117
  )
124
118
  ] }) })
125
119
  ] }),
126
- /* @__PURE__ */ jsxs("div", { className: "flex-1 overflow-y-auto p-4 sm:p-6 space-y-6 bg-[var(--color-bg-2,#F7F1E6)]", children: [
127
- searchConfig.popularSearches && searchConfig.popularSearches.length > 0 && /* @__PURE__ */ jsxs("div", { className: "space-y-3", children: [
128
- /* @__PURE__ */ jsx("h4", { className: "font-title! text-body-3 font-semibold text-grey-500 uppercase tracking-wider", children: "POPULAR SEARCHES" }),
129
- /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: searchConfig.popularSearches.map((item) => /* @__PURE__ */ jsx(
130
- "button",
131
- {
132
- type: "button",
133
- onClick: () => handlePopularSearchClick(item.label),
134
- className: "px-3.5 py-1.5 rounded-full bg-grey-50 border border-border-warm text-body-3 font-semibold text-grey-700 hover:border-primary hover:text-primary hover:bg-grey-50 transition-colors cursor-pointer shadow-xs",
135
- children: item.label
136
- },
137
- item.id
138
- )) })
139
- ] }),
120
+ /* @__PURE__ */ jsxs("div", { className: "flex-1 overflow-y-auto p-3 sm:p-5 space-y-6 bg-bg-2", children: [
121
+ combobox.hasContent && /* @__PURE__ */ jsx(NavSearchPanel, { ...combobox.panelProps, linkComponent }),
140
122
  searchConfig.suggestions && /* @__PURE__ */ jsx("div", { className: "pt-2", children: searchConfig.suggestions })
141
123
  ] })
142
124
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"NavSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavSearch.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,OAAO,KAAK,EAAE,eAAe,EAAoB,MAAM,oBAAoB,CAAC;AAG5E,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1C;AAaD,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAmO9C,CAAC"}
1
+ {"version":3,"file":"NavSearch.d.ts","sourceRoot":"","sources":["../../../../src/components/NavHeader/subcomponents/NavSearch.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAK/B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAG1D,MAAM,WAAW,cAAc;IAC7B,MAAM,CAAC,EAAE,eAAe,GAAG,OAAO,CAAC;IACnC,MAAM,EAAE,OAAO,CAAC;IAChB,YAAY,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,IAAI,CAAC;IACtC,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC;CAC1C;AAED,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,cAAc,CAiL9C,CAAC"}
@@ -1,23 +1,12 @@
1
1
  "use client";
2
- import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
+ import { jsxs, jsx } from 'react/jsx-runtime';
3
3
  import * as React from 'react';
4
4
  import { AnimatePresence, motion } from '@timmbr/motion';
5
- import { Search, X, TrendingUp } from '@timmbr/icons';
5
+ import { Search, X } from '@timmbr/icons';
6
6
  import { cn } from '@timmbr/utils';
7
7
  import { navActionVariants, searchPopoverCardVariants } from '../NavHeader.styles.js';
8
- import { resolveNavDestination, isCrossZoneNavigation } from '../NavHeader.helpers.js';
9
- import { useTimmbrConfig } from '../../../providers/TimmbrConfigProvider.js';
8
+ import { useNavSearchCombobox, NavSearchPanel } from './NavSearchPanel.js';
10
9
 
11
- const defaultPopularSearches = [
12
- { id: "1", label: "Centre Tables" },
13
- { id: "2", label: "TV Units" },
14
- { id: "3", label: "bed" },
15
- { id: "4", label: "bedsheet" },
16
- { id: "5", label: "mirror" },
17
- { id: "6", label: "office chair" },
18
- { id: "7", label: "shoe rack" },
19
- { id: "8", label: "sofa cum bed" }
20
- ];
21
10
  const NavSearch = ({
22
11
  config,
23
12
  isOpen,
@@ -27,21 +16,25 @@ const NavSearch = ({
27
16
  onSubmit,
28
17
  shouldAnimate = true,
29
18
  motionClass,
30
- linkComponent: CustomLink
19
+ linkComponent
31
20
  }) => {
32
- const globalConfig = useTimmbrConfig();
33
21
  const searchConfig = typeof config === "object" ? config : {};
34
22
  const {
35
23
  placeholder = "Search for furniture, decor, and more...",
36
24
  popoverContent,
37
- popularSearches = defaultPopularSearches,
38
- popularSearchesTitle = "Popular Searches",
39
- onPopularSearchClick,
40
25
  ariaLabel = "Search store products"
41
26
  } = searchConfig;
42
27
  const [showPopover, setShowPopover] = React.useState(false);
43
28
  const containerRef = React.useRef(null);
44
29
  const inputRef = React.useRef(null);
30
+ const combobox = useNavSearchCombobox({
31
+ config,
32
+ value,
33
+ onChange,
34
+ onSubmit,
35
+ onClose: () => setShowPopover(false)
36
+ });
37
+ const popoverVisible = showPopover && (popoverContent ? true : combobox.hasContent);
45
38
  React.useEffect(() => {
46
39
  if (isOpen) {
47
40
  inputRef.current?.focus();
@@ -71,22 +64,22 @@ const NavSearch = ({
71
64
  }
72
65
  };
73
66
  const handleKeyDown = (e) => {
74
- if (e.key === "Enter") {
75
- e.preventDefault();
76
- onSubmit(value);
77
- setShowPopover(false);
78
- } else if (e.key === "Escape") {
67
+ if (e.key === "Escape") {
79
68
  e.preventDefault();
80
69
  setShowPopover(false);
81
70
  onOpenChange(false);
71
+ return;
82
72
  }
83
- };
84
- const handleTagClick = (tag) => {
85
- onChange(tag.label);
86
- onPopularSearchClick?.(tag);
87
- tag.onClick?.(tag);
88
- onSubmit(tag.label);
89
- setShowPopover(false);
73
+ if (popoverContent) {
74
+ if (e.key === "Enter" && value.trim()) {
75
+ e.preventDefault();
76
+ onSubmit(value.trim());
77
+ setShowPopover(false);
78
+ }
79
+ return;
80
+ }
81
+ if (!showPopover && (e.key === "ArrowDown" || e.key === "ArrowUp")) setShowPopover(true);
82
+ combobox.inputProps.onKeyDown(e);
90
83
  };
91
84
  return /* @__PURE__ */ jsxs("div", { ref: containerRef, className: "relative flex items-center", "data-slot": "nav-search-container", children: [
92
85
  !isOpen && /* @__PURE__ */ jsxs(
@@ -125,13 +118,19 @@ const NavSearch = ({
125
118
  "input",
126
119
  {
127
120
  ref: inputRef,
128
- type: "text",
129
- role: "searchbox",
121
+ type: "search",
122
+ enterKeyHint: "search",
130
123
  autoComplete: "off",
131
124
  value,
132
125
  placeholder,
133
126
  "aria-label": ariaLabel,
134
- onChange: (e) => onChange(e.target.value),
127
+ ...combobox.inputProps,
128
+ "aria-expanded": popoverVisible && !popoverContent,
129
+ ...popoverContent && { "aria-controls": void 0, "aria-activedescendant": void 0 },
130
+ onChange: (e) => {
131
+ onChange(e.target.value);
132
+ setShowPopover(true);
133
+ },
135
134
  onFocus: () => setShowPopover(true),
136
135
  onKeyDown: handleKeyDown,
137
136
  className: "w-full h-full pl-10 pr-9 bg-transparent text-body-2 text-grey-950 placeholder:text-grey-400 border-none focus:outline-none [&::-webkit-search-cancel-button]:hidden [&::-webkit-search-decoration]:hidden",
@@ -145,17 +144,18 @@ const NavSearch = ({
145
144
  onClick: () => {
146
145
  if (value) {
147
146
  onChange("");
147
+ inputRef.current?.focus();
148
148
  } else {
149
149
  onOpenChange(false);
150
150
  }
151
151
  },
152
- "aria-label": "Close search",
152
+ "aria-label": value ? "Clear search" : "Close search",
153
153
  className: "absolute right-2.5 top-1/2 -translate-y-1/2 p-1 text-grey-400 hover:text-grey-700 rounded-full hover:bg-grey-100 transition-colors shrink-0",
154
154
  children: /* @__PURE__ */ jsx(X, { size: 15 })
155
155
  }
156
156
  )
157
157
  ] }),
158
- /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: showPopover && /* @__PURE__ */ jsx(
158
+ /* @__PURE__ */ jsx(AnimatePresence, { initial: false, children: popoverVisible && /* @__PURE__ */ jsx(
159
159
  motion.div,
160
160
  {
161
161
  initial: shouldAnimate ? { opacity: 0, y: 4 } : false,
@@ -164,53 +164,7 @@ const NavSearch = ({
164
164
  transition: { duration: 0.18, ease: [0.25, 1, 0.5, 1] },
165
165
  className: cn(searchPopoverCardVariants(), !shouldAnimate && "transition-none", motionClass),
166
166
  "data-slot": "nav-search-popover",
167
- children: popoverContent ? popoverContent : /* @__PURE__ */ jsxs("div", { children: [
168
- popularSearchesTitle && /* @__PURE__ */ jsx("h4", { className: "font-bold text-body-2 tracking-wide text-destructive mb-3 uppercase flex items-center gap-1.5", children: /* @__PURE__ */ jsx("span", { children: popularSearchesTitle }) }),
169
- /* @__PURE__ */ jsx("div", { className: "flex flex-wrap gap-2", children: popularSearches.map((tag, idx) => {
170
- const resolvedTagHref = resolveNavDestination(tag.href, tag.zone, globalConfig.zones?.zones);
171
- const requiresCrossZone = isCrossZoneNavigation(tag.zone, globalConfig.zones?.currentZone);
172
- const tagContent = /* @__PURE__ */ jsxs(Fragment, { children: [
173
- /* @__PURE__ */ jsx(TrendingUp, { size: 13, className: "text-grey-500 shrink-0" }),
174
- /* @__PURE__ */ jsx("span", { children: tag.label })
175
- ] });
176
- const tagClass = "inline-flex items-center gap-1.5 px-3 py-1.5 rounded-lg border border-grey-200 bg-grey-50 hover:border-grey-400 hover:bg-grey-50 text-body-3 font-medium text-grey-800 transition-all cursor-pointer";
177
- if (resolvedTagHref) {
178
- if (CustomLink && !requiresCrossZone) {
179
- return /* @__PURE__ */ jsx(
180
- CustomLink,
181
- {
182
- href: resolvedTagHref,
183
- className: tagClass,
184
- onClick: () => handleTagClick(tag),
185
- children: tagContent
186
- },
187
- tag.id ?? idx
188
- );
189
- }
190
- return /* @__PURE__ */ jsx(
191
- "a",
192
- {
193
- href: resolvedTagHref,
194
- "data-cross-zone": requiresCrossZone ? "true" : void 0,
195
- className: tagClass,
196
- onClick: () => handleTagClick(tag),
197
- children: tagContent
198
- },
199
- tag.id ?? idx
200
- );
201
- }
202
- return /* @__PURE__ */ jsx(
203
- "button",
204
- {
205
- type: "button",
206
- onClick: () => handleTagClick(tag),
207
- className: tagClass,
208
- children: tagContent
209
- },
210
- tag.id ?? idx
211
- );
212
- }) })
213
- ] })
167
+ children: popoverContent ?? /* @__PURE__ */ jsx(NavSearchPanel, { ...combobox.panelProps, linkComponent })
214
168
  }
215
169
  ) })
216
170
  ]
@@ -0,0 +1,63 @@
1
+ import * as React from 'react';
2
+ import type { NavSearchConfig, NavSearchResult, PopularSearchTag } from '../NavHeader.types';
3
+ type SearchOption = {
4
+ kind: 'recent';
5
+ id: string;
6
+ query: string;
7
+ } | {
8
+ kind: 'result';
9
+ id: string;
10
+ result: NavSearchResult;
11
+ } | {
12
+ kind: 'viewAll';
13
+ id: string;
14
+ };
15
+ export interface UseNavSearchComboboxOptions {
16
+ config?: NavSearchConfig | boolean;
17
+ value: string;
18
+ onChange: (value: string) => void;
19
+ onSubmit: (query: string) => void;
20
+ /** Close the panel (and whatever hosts it) after a pick. */
21
+ onClose: () => void;
22
+ }
23
+ export interface NavSearchCombobox {
24
+ /** The panel has something to show. */
25
+ hasContent: boolean;
26
+ /** Props for the search <input>: combobox role, ARIA wiring and keyboard handling. */
27
+ inputProps: {
28
+ role: 'combobox';
29
+ 'aria-expanded': boolean;
30
+ 'aria-controls': string;
31
+ 'aria-autocomplete': 'list';
32
+ 'aria-activedescendant': string | undefined;
33
+ onKeyDown: (event: React.KeyboardEvent<HTMLInputElement>) => void;
34
+ };
35
+ /** Props for <NavSearchPanel>. */
36
+ panelProps: NavSearchPanelProps;
37
+ }
38
+ /**
39
+ * Shared search behaviour for the desktop popover and the mobile drawer: which rows show
40
+ * (recent searches while the input is empty, suggestions once the query is long enough), the
41
+ * active row, and the keyboard (arrows move, Enter picks or submits, Delete removes a recent
42
+ * search). Focus stays in the input; the active row is announced via aria-activedescendant.
43
+ */
44
+ export declare function useNavSearchCombobox({ config, value, onChange, onSubmit, onClose, }: UseNavSearchComboboxOptions): NavSearchCombobox;
45
+ export interface NavSearchPanelProps {
46
+ config?: NavSearchConfig | boolean;
47
+ listId: string;
48
+ mode: 'idle' | 'results' | 'none';
49
+ query: string;
50
+ options: SearchOption[];
51
+ activeId?: string;
52
+ onHover: (id: string) => void;
53
+ onPickRecent: (query: string) => void;
54
+ onPickResult: (result: NavSearchResult) => void;
55
+ onViewAll: () => void;
56
+ onPopularPick: (tag: PopularSearchTag) => void;
57
+ linkComponent?: React.ComponentType<any>;
58
+ className?: string;
59
+ }
60
+ /** The rows under the search input: recent searches, popular chips, or suggestions. */
61
+ export declare const NavSearchPanel: React.FC<NavSearchPanelProps>;
62
+ export {};
63
+ //# sourceMappingURL=NavSearchPanel.d.ts.map