@phillips/seldon 1.279.2 → 1.280.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 (386) hide show
  1. package/README.md +85 -5
  2. package/dist/_virtual/index3.cjs +1 -1
  3. package/dist/_virtual/index3.js +2 -2
  4. package/dist/_virtual/index4.cjs +1 -1
  5. package/dist/_virtual/index4.js +2 -4
  6. package/dist/_virtual/index5.cjs +1 -1
  7. package/dist/_virtual/index5.js +4 -2
  8. package/dist/components/Accordion/Accordion.cjs +2 -1
  9. package/dist/components/Accordion/Accordion.js +5 -3
  10. package/dist/components/Accordion/_accordion.css +1 -0
  11. package/dist/components/AddToCalendar/AddToCalendar.cjs +2 -1
  12. package/dist/components/AddToCalendar/AddToCalendar.js +2 -0
  13. package/dist/components/AddToCalendar/_addToCalendar.css +1 -0
  14. package/dist/components/Article/Article.cjs +2 -1
  15. package/dist/components/Article/Article.js +2 -0
  16. package/dist/components/Article/_article.css +1 -0
  17. package/dist/components/Banner/Banner.cjs +2 -1
  18. package/dist/components/Banner/Banner.js +4 -2
  19. package/dist/components/Banner/_banner.css +1 -0
  20. package/dist/components/Breadcrumb/Breadcrumb.cjs +2 -1
  21. package/dist/components/Breadcrumb/Breadcrumb.js +16 -14
  22. package/dist/components/Breadcrumb/_breadcrumb.css +1 -0
  23. package/dist/components/Button/Button.cjs +2 -1
  24. package/dist/components/Button/Button.js +2 -0
  25. package/dist/components/Button/_button.css +1 -0
  26. package/dist/components/Card/Card.cjs +2 -1
  27. package/dist/components/Card/Card.js +4 -2
  28. package/dist/components/Card/_card.css +1 -0
  29. package/dist/components/Carousel/Carousel.cjs +2 -1
  30. package/dist/components/Carousel/Carousel.js +68 -69
  31. package/dist/components/Carousel/CarouselDot.cjs +1 -1
  32. package/dist/components/Carousel/CarouselDot.d.ts +4 -2
  33. package/dist/components/Carousel/CarouselDot.js +12 -11
  34. package/dist/components/Carousel/CarouselDots.cjs +1 -1
  35. package/dist/components/Carousel/CarouselDots.js +62 -58
  36. package/dist/components/Carousel/_carousel.css +1 -0
  37. package/dist/components/ComboBox/ComboBox.cjs +3 -1
  38. package/dist/components/ComboBox/ComboBox.js +35 -31
  39. package/dist/components/ComboBox/ComboBox.stories.d.ts +1 -0
  40. package/dist/components/ComboBox/_combobox.css +1 -0
  41. package/dist/components/ComposedModal/ComposedModal.cjs +2 -1
  42. package/dist/components/ComposedModal/ComposedModal.js +11 -9
  43. package/dist/components/ComposedModal/_composedModal.css +1 -0
  44. package/dist/components/ContentPeek/ContentPeek.cjs +2 -1
  45. package/dist/components/ContentPeek/ContentPeek.js +2 -0
  46. package/dist/components/ContentPeek/_contentPeek.css +1 -0
  47. package/dist/components/Countdown/Countdown.cjs +2 -1
  48. package/dist/components/Countdown/Countdown.js +13 -11
  49. package/dist/components/Countdown/Duration.cjs +2 -1
  50. package/dist/components/Countdown/Duration.js +4 -2
  51. package/dist/components/Countdown/_countdown.css +1 -0
  52. package/dist/components/Countdown/_duration.css +1 -0
  53. package/dist/components/DescriptiveRadioButton/DescriptiveRadioButton.cjs +2 -1
  54. package/dist/components/DescriptiveRadioButton/DescriptiveRadioButton.js +22 -20
  55. package/dist/components/DescriptiveRadioButton/_descriptiveRadioButton.css +1 -0
  56. package/dist/components/DescriptiveRadioButtonGroup/DescriptiveRadioButtonGroup.cjs +2 -1
  57. package/dist/components/DescriptiveRadioButtonGroup/DescriptiveRadioButtonGroup.js +7 -5
  58. package/dist/components/DescriptiveRadioButtonGroup/_descriptiveRadioButtonGroup.css +1 -0
  59. package/dist/components/Detail/Detail.cjs +2 -1
  60. package/dist/components/Detail/Detail.js +5 -3
  61. package/dist/components/Detail/_detail.css +1 -0
  62. package/dist/components/DetailList/DetailList.cjs +2 -1
  63. package/dist/components/DetailList/DetailList.js +14 -12
  64. package/dist/components/DetailList/_detailList.css +1 -0
  65. package/dist/components/Divider/Divider.cjs +2 -1
  66. package/dist/components/Divider/Divider.js +8 -6
  67. package/dist/components/Divider/_divider.css +1 -0
  68. package/dist/components/Drawer/Drawer.cjs +2 -1
  69. package/dist/components/Drawer/Drawer.js +9 -7
  70. package/dist/components/Drawer/DrawerHeader.cjs +2 -1
  71. package/dist/components/Drawer/DrawerHeader.js +12 -10
  72. package/dist/components/Drawer/_drawer.css +1 -0
  73. package/dist/components/Drawer/_drawerHeader.css +1 -0
  74. package/dist/components/Dropdown/Dropdown.cjs +2 -1
  75. package/dist/components/Dropdown/Dropdown.js +2 -0
  76. package/dist/components/Dropdown/_dropdown.css +1 -0
  77. package/dist/components/ExitGateCard/ExitGateCard.cjs +2 -1
  78. package/dist/components/ExitGateCard/ExitGateCard.js +6 -4
  79. package/dist/components/ExitGateCard/_exitGateCard.css +1 -0
  80. package/dist/components/FavoritingTileButton/FavoritingTileButton.cjs +2 -1
  81. package/dist/components/FavoritingTileButton/FavoritingTileButton.js +8 -6
  82. package/dist/components/FavoritingTileButton/_favoritingTileButton.css +1 -0
  83. package/dist/components/Filter/Filter.cjs +2 -1
  84. package/dist/components/Filter/Filter.js +9 -7
  85. package/dist/components/Filter/_filter.css +1 -0
  86. package/dist/components/Grid/Grid.cjs +2 -1
  87. package/dist/components/Grid/Grid.js +13 -11
  88. package/dist/components/Grid/_grid.css +1 -0
  89. package/dist/components/GridItem/GridItem.cjs +2 -1
  90. package/dist/components/GridItem/GridItem.js +2 -0
  91. package/dist/components/GridItem/_gridItem.css +1 -0
  92. package/dist/components/Icon/Icon.cjs +2 -1
  93. package/dist/components/Icon/Icon.js +6 -4
  94. package/dist/components/Icon/_icon.css +1 -0
  95. package/dist/components/IconButton/IconButton.cjs +2 -1
  96. package/dist/components/IconButton/IconButton.js +11 -9
  97. package/dist/components/IconButton/_iconButton.css +1 -0
  98. package/dist/components/Input/Input.cjs +3 -1
  99. package/dist/components/Input/Input.js +4 -0
  100. package/dist/components/Input/_input.css +1 -0
  101. package/dist/components/Link/Link.cjs +2 -1
  102. package/dist/components/Link/Link.js +10 -8
  103. package/dist/components/Link/_link.css +1 -0
  104. package/dist/components/LinkBlock/LinkBlock.cjs +2 -1
  105. package/dist/components/LinkBlock/LinkBlock.js +8 -6
  106. package/dist/components/LinkBlock/_linkBlock.css +1 -0
  107. package/dist/components/LinkList/LinkList.cjs +2 -1
  108. package/dist/components/LinkList/LinkList.js +11 -9
  109. package/dist/components/LinkList/_linkList.css +1 -0
  110. package/dist/components/Loader/Loader.cjs +2 -1
  111. package/dist/components/Loader/Loader.js +8 -6
  112. package/dist/components/Loader/_loader.css +1 -0
  113. package/dist/components/Modal/Modal.cjs +2 -1
  114. package/dist/components/Modal/Modal.js +6 -4
  115. package/dist/components/Modal/_modal.css +1 -0
  116. package/dist/components/Navigation/Navigation.cjs +2 -1
  117. package/dist/components/Navigation/Navigation.js +10 -8
  118. package/dist/components/Navigation/NavigationItem/NavigationItem.cjs +2 -1
  119. package/dist/components/Navigation/NavigationItem/NavigationItem.js +6 -4
  120. package/dist/components/Navigation/NavigationItem/_navigationItem.css +1 -0
  121. package/dist/components/Navigation/NavigationItemWithSubmenu/NavigationItemWithSubmenu.cjs +2 -1
  122. package/dist/components/Navigation/NavigationItemWithSubmenu/NavigationItemWithSubmenu.js +8 -6
  123. package/dist/components/Navigation/NavigationItemWithSubmenu/_navigationItemWithSubmenu.css +1 -0
  124. package/dist/components/Navigation/NavigationList/NavigationList.cjs +2 -1
  125. package/dist/components/Navigation/NavigationList/NavigationList.js +9 -7
  126. package/dist/components/Navigation/NavigationList/_navigationList.css +1 -0
  127. package/dist/components/Navigation/_navigation.css +1 -0
  128. package/dist/components/NotificationBanner/NotificationBanner.cjs +2 -1
  129. package/dist/components/NotificationBanner/NotificationBanner.js +4 -2
  130. package/dist/components/NotificationBanner/_notificationBanner.css +1 -0
  131. package/dist/components/PageContentWrapper/PageContentWrapper.cjs +2 -1
  132. package/dist/components/PageContentWrapper/PageContentWrapper.js +11 -9
  133. package/dist/components/PageContentWrapper/_pageContentWrapper.css +1 -0
  134. package/dist/components/Pagination/Pagination.cjs +2 -1
  135. package/dist/components/Pagination/Pagination.js +2 -0
  136. package/dist/components/Pagination/_pagination.css +1 -0
  137. package/dist/components/PinchZoom/PinchZoom.cjs +2 -1
  138. package/dist/components/PinchZoom/PinchZoom.js +2 -0
  139. package/dist/components/PinchZoom/_pinchZoom.css +1 -0
  140. package/dist/components/ProgressBar/ProgressBar.cjs +2 -1
  141. package/dist/components/ProgressBar/ProgressBar.js +2 -0
  142. package/dist/components/ProgressBar/_progressBar.css +1 -0
  143. package/dist/components/ProgressIndicator/ProgressIndicator.cjs +2 -1
  144. package/dist/components/ProgressIndicator/ProgressIndicator.js +13 -11
  145. package/dist/components/ProgressIndicator/_progressIndicator.css +1 -0
  146. package/dist/components/Row/Row.cjs +2 -1
  147. package/dist/components/Row/Row.js +6 -4
  148. package/dist/components/Row/_row.css +1 -0
  149. package/dist/components/Search/Search.cjs +2 -1
  150. package/dist/components/Search/Search.js +2 -0
  151. package/dist/components/Search/SearchButton.cjs +2 -1
  152. package/dist/components/Search/SearchButton.js +4 -2
  153. package/dist/components/Search/SearchResults/SearchResults.cjs +2 -1
  154. package/dist/components/Search/SearchResults/SearchResults.js +4 -2
  155. package/dist/components/Search/SearchResults/_searchResults.css +1 -0
  156. package/dist/components/Search/_search.css +1 -0
  157. package/dist/components/Search/_searchButton.css +1 -0
  158. package/dist/components/SeldonImage/SeldonImage.cjs +2 -1
  159. package/dist/components/SeldonImage/SeldonImage.js +2 -0
  160. package/dist/components/SeldonImage/_seldonImage.css +1 -0
  161. package/dist/components/Select/Select.cjs +3 -1
  162. package/dist/components/Select/Select.js +21 -17
  163. package/dist/components/Select/_select.css +1 -0
  164. package/dist/components/SlideToActivate/SlideToActivate.cjs +2 -1
  165. package/dist/components/SlideToActivate/SlideToActivate.js +2 -0
  166. package/dist/components/SlideToActivate/_slideToActivate.css +1 -0
  167. package/dist/components/SplitPanel/SplitPanel.cjs +2 -1
  168. package/dist/components/SplitPanel/SplitPanel.js +6 -4
  169. package/dist/components/SplitPanel/_splitPanel.css +1 -0
  170. package/dist/components/Tabs/TabsContainer.cjs +2 -1
  171. package/dist/components/Tabs/TabsContainer.js +2 -0
  172. package/dist/components/Tabs/_tabs.css +1 -0
  173. package/dist/components/Tags/Tags.cjs +2 -1
  174. package/dist/components/Tags/Tags.js +10 -8
  175. package/dist/components/Tags/_tags.css +1 -0
  176. package/dist/components/Text/Text.cjs +2 -1
  177. package/dist/components/Text/Text.js +6 -4
  178. package/dist/components/Text/_text.css +1 -0
  179. package/dist/components/TextArea/TextArea.cjs +3 -1
  180. package/dist/components/TextArea/TextArea.js +14 -10
  181. package/dist/components/TextArea/TextArea.stories.d.ts +1 -0
  182. package/dist/components/TextArea/_textArea.css +1 -0
  183. package/dist/components/TextSymbol/TextSymbol.cjs +2 -1
  184. package/dist/components/TextSymbol/TextSymbol.js +7 -5
  185. package/dist/components/TextSymbol/_textSymbol.css +1 -0
  186. package/dist/components/Toast/Toast.cjs +2 -1
  187. package/dist/components/Toast/Toast.js +2 -0
  188. package/dist/components/Toast/_toast.css +1 -0
  189. package/dist/components/Toggle/_toggle.css +1 -0
  190. package/dist/components/Video/Video.cjs +2 -1
  191. package/dist/components/Video/Video.js +2 -0
  192. package/dist/components/Video/_video.css +1 -0
  193. package/dist/node_modules/@artsy/fresnel/dist/index.cjs +1 -1
  194. package/dist/node_modules/@artsy/fresnel/dist/index.js +1 -1
  195. package/dist/node_modules/classnames/index.cjs +1 -1
  196. package/dist/node_modules/classnames/index.js +1 -1
  197. package/dist/node_modules/usehooks-ts/dist/index.cjs +1 -1
  198. package/dist/node_modules/usehooks-ts/dist/index.js +1 -1
  199. package/dist/pages/Page.cjs +2 -1
  200. package/dist/pages/Page.js +4 -2
  201. package/dist/pages/_page.css +1 -0
  202. package/dist/patterns/AccountPageHeader/AccountPageHeader.cjs +2 -1
  203. package/dist/patterns/AccountPageHeader/AccountPageHeader.js +11 -9
  204. package/dist/patterns/AccountPageHeader/_accountPageHeader.css +1 -0
  205. package/dist/patterns/BidSnapshot/BidSnapshot.cjs +2 -1
  206. package/dist/patterns/BidSnapshot/BidSnapshot.js +2 -0
  207. package/dist/patterns/BidSnapshot/_bidSnapshot.css +1 -0
  208. package/dist/patterns/CountryPicker/CountryPicker.stories.d.ts +4 -0
  209. package/dist/patterns/CountryPicker/CountryPickerModal.cjs +2 -1
  210. package/dist/patterns/CountryPicker/CountryPickerModal.js +8 -6
  211. package/dist/patterns/CountryPicker/CountryPickerOption.cjs +2 -1
  212. package/dist/patterns/CountryPicker/CountryPickerOption.js +6 -4
  213. package/dist/patterns/CountryPicker/CountryPickerTrigger.cjs +3 -1
  214. package/dist/patterns/CountryPicker/CountryPickerTrigger.js +11 -7
  215. package/dist/patterns/CountryPicker/_countryPickerModal.css +1 -0
  216. package/dist/patterns/CountryPicker/_countryPickerOption.css +1 -0
  217. package/dist/patterns/CountryPicker/_countryPickerTrigger.css +1 -0
  218. package/dist/patterns/FavoritesCollectionTile/FavoritesCollectionTile.cjs +2 -1
  219. package/dist/patterns/FavoritesCollectionTile/FavoritesCollectionTile.js +4 -2
  220. package/dist/patterns/FavoritesCollectionTile/_favoritesCollectionTile.css +1 -0
  221. package/dist/patterns/FilterMenu/FilterMenu.cjs +2 -1
  222. package/dist/patterns/FilterMenu/FilterMenu.js +6 -4
  223. package/dist/patterns/FilterMenu/_filterMenu.css +1 -0
  224. package/dist/patterns/FiltersInline/FilterButton.cjs +2 -1
  225. package/dist/patterns/FiltersInline/FilterButton.js +11 -9
  226. package/dist/patterns/FiltersInline/FilterDropdownMenuDesktop.cjs +2 -1
  227. package/dist/patterns/FiltersInline/FilterDropdownMenuDesktop.js +16 -14
  228. package/dist/patterns/FiltersInline/FilterDropdownMenuMobile.cjs +2 -1
  229. package/dist/patterns/FiltersInline/FilterDropdownMenuMobile.js +6 -4
  230. package/dist/patterns/FiltersInline/FiltersInline.cjs +2 -1
  231. package/dist/patterns/FiltersInline/FiltersInline.js +6 -4
  232. package/dist/patterns/FiltersInline/_filterButton.css +1 -0
  233. package/dist/patterns/FiltersInline/_filterDropdownMenu.css +1 -0
  234. package/dist/patterns/FiltersInline/_filtersInline.css +1 -0
  235. package/dist/patterns/HeroBanner/HeroBanner.cjs +2 -1
  236. package/dist/patterns/HeroBanner/HeroBanner.js +15 -13
  237. package/dist/patterns/HeroBanner/_heroBanner.css +1 -0
  238. package/dist/patterns/LanguageSelector/LanguageSelector.cjs +2 -1
  239. package/dist/patterns/LanguageSelector/LanguageSelector.js +10 -8
  240. package/dist/patterns/LanguageSelector/_languageSelector.css +1 -0
  241. package/dist/patterns/ObjectTile/ObjectTile.cjs +2 -1
  242. package/dist/patterns/ObjectTile/ObjectTile.js +20 -18
  243. package/dist/patterns/ObjectTile/_objectTile.css +1 -0
  244. package/dist/patterns/PhoneNumberInput/PhoneNumberInput.cjs +2 -1
  245. package/dist/patterns/PhoneNumberInput/PhoneNumberInput.js +2 -0
  246. package/dist/patterns/PhoneNumberInput/_phoneNumberInput.css +1 -0
  247. package/dist/patterns/ProgressWizard/ProgressWizard.cjs +2 -1
  248. package/dist/patterns/ProgressWizard/ProgressWizard.js +7 -5
  249. package/dist/patterns/ProgressWizard/_progressWizard.css +1 -0
  250. package/dist/patterns/SaleCard/SaleCard.cjs +2 -1
  251. package/dist/patterns/SaleCard/SaleCard.js +12 -10
  252. package/dist/patterns/SaleCard/SaleCardActions.cjs +2 -1
  253. package/dist/patterns/SaleCard/SaleCardActions.js +6 -4
  254. package/dist/patterns/SaleCard/_saleCard.css +1 -0
  255. package/dist/patterns/SaleCard/_saleCardActions.css +1 -0
  256. package/dist/patterns/SaleHeaderBanner/SaleHeaderBanner.cjs +2 -1
  257. package/dist/patterns/SaleHeaderBanner/SaleHeaderBanner.js +2 -0
  258. package/dist/patterns/SaleHeaderBanner/_saleHeaderBanner.css +1 -0
  259. package/dist/patterns/Social/Social.cjs +2 -1
  260. package/dist/patterns/Social/Social.js +2 -0
  261. package/dist/patterns/Social/_social.css +1 -0
  262. package/dist/patterns/Subscribe/Subscribe.cjs +2 -1
  263. package/dist/patterns/Subscribe/Subscribe.js +10 -8
  264. package/dist/patterns/Subscribe/_subscribe.css +1 -0
  265. package/dist/patterns/TextBanner/TextBanner.cjs +2 -1
  266. package/dist/patterns/TextBanner/TextBanner.js +10 -8
  267. package/dist/patterns/TextBanner/_textBanner.css +1 -0
  268. package/dist/patterns/UserManagement/UserManagement.cjs +2 -1
  269. package/dist/patterns/UserManagement/UserManagement.js +13 -11
  270. package/dist/patterns/UserManagement/_userManagement.css +1 -0
  271. package/dist/patterns/ViewingDetails/ViewingDetails.cjs +2 -1
  272. package/dist/patterns/ViewingDetails/ViewingDetails.js +6 -4
  273. package/dist/patterns/ViewingDetails/_viewingDetails.css +1 -0
  274. package/dist/patterns/ViewingsList/ViewingsList.cjs +2 -1
  275. package/dist/patterns/ViewingsList/ViewingsList.js +2 -0
  276. package/dist/patterns/ViewingsList/ViewingsListCard.cjs +2 -1
  277. package/dist/patterns/ViewingsList/ViewingsListCard.js +8 -6
  278. package/dist/patterns/ViewingsList/_viewingsList.css +1 -0
  279. package/dist/providers/SeldonProvider/SeldonProvider.cjs +2 -1
  280. package/dist/providers/SeldonProvider/SeldonProvider.js +3 -1
  281. package/dist/scss/_allPartials.scss +2 -1
  282. package/dist/scss/_foundation.css +1 -0
  283. package/dist/scss/_foundation.scss +69 -0
  284. package/dist/scss/_layers.scss +12 -0
  285. package/dist/scss/_reset.scss +57 -53
  286. package/dist/scss/_sharedClasses.scss +61 -57
  287. package/dist/scss/_typography.scss +64 -52
  288. package/dist/scss/_vars.scss +6 -5
  289. package/dist/scss/_vars.scss.cjs +6 -5
  290. package/dist/scss/_vars.scss.js +6 -5
  291. package/dist/scss/componentStyles.scss +3 -66
  292. package/dist/scss/components/Accordion/_accordion.scss +102 -99
  293. package/dist/scss/components/AddToCalendar/_addToCalendar.scss +69 -52
  294. package/dist/scss/components/Article/_article.scss +22 -19
  295. package/dist/scss/components/Banner/_banner.scss +137 -134
  296. package/dist/scss/components/Breadcrumb/_breadcrumb.scss +47 -44
  297. package/dist/scss/components/Button/_button.scss +240 -216
  298. package/dist/scss/components/Card/_card.scss +86 -83
  299. package/dist/scss/components/Carousel/_carousel.scss +169 -166
  300. package/dist/scss/components/ComboBox/_combobox.scss +144 -141
  301. package/dist/scss/components/ComposedModal/_composedModal.scss +54 -51
  302. package/dist/scss/components/ContentPeek/_contentPeek.scss +48 -45
  303. package/dist/scss/components/Countdown/_countdown.scss +64 -61
  304. package/dist/scss/components/Countdown/_duration.scss +6 -3
  305. package/dist/scss/components/DatePicker/_datePicker.scss +74 -65
  306. package/dist/scss/components/DescriptiveRadioButton/_descriptiveRadioButton.scss +50 -47
  307. package/dist/scss/components/DescriptiveRadioButtonGroup/_descriptiveRadioButtonGroup.scss +24 -21
  308. package/dist/scss/components/Detail/_detail.scss +39 -36
  309. package/dist/scss/components/DetailList/_detailList.scss +37 -34
  310. package/dist/scss/components/Divider/_divider.scss +15 -12
  311. package/dist/scss/components/Drawer/_drawer.scss +189 -186
  312. package/dist/scss/components/Drawer/_drawerHeader.scss +30 -27
  313. package/dist/scss/components/Dropdown/_dropdown.scss +79 -76
  314. package/dist/scss/components/ExitGateCard/_exitGateCard.scss +59 -56
  315. package/dist/scss/components/FavoritingTileButton/_favoritingTileButton.scss +36 -33
  316. package/dist/scss/components/Filter/_filter.scss +87 -84
  317. package/dist/scss/components/Grid/_grid.scss +20 -17
  318. package/dist/scss/components/GridItem/_gridItem.scss +33 -30
  319. package/dist/scss/components/Icon/_icon.scss +10 -7
  320. package/dist/scss/components/IconButton/_iconButton.scss +168 -77
  321. package/dist/scss/components/Input/_input.scss +205 -210
  322. package/dist/scss/components/Link/_link.scss +69 -64
  323. package/dist/scss/components/LinkBlock/_linkBlock.scss +14 -11
  324. package/dist/scss/components/LinkList/_linkList.scss +19 -16
  325. package/dist/scss/components/Loader/_loader.scss +21 -18
  326. package/dist/scss/components/Modal/_modal.scss +29 -26
  327. package/dist/scss/components/Navigation/NavigationItem/_navigationItem.scss +86 -83
  328. package/dist/scss/components/Navigation/NavigationItemWithSubmenu/_navigationItemWithSubmenu.scss +89 -86
  329. package/dist/scss/components/Navigation/NavigationList/_navigationList.scss +71 -68
  330. package/dist/scss/components/Navigation/_navigation.scss +122 -119
  331. package/dist/scss/components/NotificationBanner/_notificationBanner.scss +33 -30
  332. package/dist/scss/components/PageContentWrapper/_pageContentWrapper.scss +7 -4
  333. package/dist/scss/components/Pagination/_pagination.scss +66 -63
  334. package/dist/scss/components/PinchZoom/_pinchZoom.scss +28 -25
  335. package/dist/scss/components/ProgressBar/_progressBar.scss +77 -74
  336. package/dist/scss/components/ProgressIndicator/_progressIndicator.scss +55 -52
  337. package/dist/scss/components/Row/_row.scss +6 -3
  338. package/dist/scss/components/Search/SearchResults/_searchResults.scss +43 -40
  339. package/dist/scss/components/Search/_search.scss +127 -124
  340. package/dist/scss/components/Search/_searchButton.scss +53 -50
  341. package/dist/scss/components/SeldonImage/_seldonImage.scss +93 -90
  342. package/dist/scss/components/Select/_select.scss +60 -48
  343. package/dist/scss/components/SlideToActivate/_slideToActivate.scss +227 -224
  344. package/dist/scss/components/SplitPanel/_splitPanel.scss +26 -23
  345. package/dist/scss/components/Tabs/_tabs.scss +69 -66
  346. package/dist/scss/components/Tags/_tags.scss +64 -61
  347. package/dist/scss/components/Text/_text.scss +39 -36
  348. package/dist/scss/components/TextArea/_textArea.scss +102 -99
  349. package/dist/scss/components/TextSymbol/_textSymbol.scss +13 -10
  350. package/dist/scss/components/Toast/_toast.scss +82 -79
  351. package/dist/scss/components/Toggle/_toggle.scss +148 -145
  352. package/dist/scss/components/Video/_video.scss +16 -13
  353. package/dist/scss/layers.test.d.ts +1 -0
  354. package/dist/scss/patterns/AccountPageHeader/_accountPageHeader.scss +35 -32
  355. package/dist/scss/patterns/BidSnapshot/_bidSnapshot.scss +43 -40
  356. package/dist/scss/patterns/CountryPicker/_countryPickerModal.scss +82 -81
  357. package/dist/scss/patterns/CountryPicker/_countryPickerOption.scss +72 -69
  358. package/dist/scss/patterns/CountryPicker/_countryPickerTrigger.scss +83 -80
  359. package/dist/scss/patterns/FavoritesCollectionTile/_favoritesCollectionTile.scss +153 -151
  360. package/dist/scss/patterns/FilterMenu/_filterMenu.scss +14 -11
  361. package/dist/scss/patterns/FiltersInline/_filterButton.scss +41 -38
  362. package/dist/scss/patterns/FiltersInline/_filterDropdownMenu.scss +165 -162
  363. package/dist/scss/patterns/FiltersInline/_filtersInline.scss +31 -28
  364. package/dist/scss/patterns/HeroBanner/_heroBanner.scss +78 -75
  365. package/dist/scss/patterns/LanguageSelector/_languageSelector.scss +47 -43
  366. package/dist/scss/patterns/ObjectTile/_objectTile.scss +84 -81
  367. package/dist/scss/patterns/PhoneNumberInput/_phoneNumberInput.scss +45 -42
  368. package/dist/scss/patterns/ProgressWizard/_progressWizard.scss +66 -63
  369. package/dist/scss/patterns/SaleCard/_saleCard.scss +62 -58
  370. package/dist/scss/patterns/SaleCard/_saleCardActions.scss +11 -8
  371. package/dist/scss/patterns/SaleHeaderBanner/_saleHeaderBanner.scss +75 -72
  372. package/dist/scss/patterns/Social/_social.scss +65 -62
  373. package/dist/scss/patterns/Subscribe/_subscribe.scss +16 -13
  374. package/dist/scss/patterns/TextBanner/_textBanner.scss +35 -32
  375. package/dist/scss/patterns/UserManagement/_userManagement.scss +49 -46
  376. package/dist/scss/patterns/ViewingDetails/_viewingDetails.scss +55 -52
  377. package/dist/scss/patterns/ViewingsList/_viewingsList.scss +44 -41
  378. package/dist/scss/site-furniture/Footer/_footer.scss +104 -95
  379. package/dist/scss/site-furniture/Header/_header.scss +176 -173
  380. package/dist/site-furniture/Footer/Footer.cjs +2 -1
  381. package/dist/site-furniture/Footer/Footer.js +4 -2
  382. package/dist/site-furniture/Footer/_footer.css +1 -0
  383. package/dist/site-furniture/Header/Header.cjs +2 -1
  384. package/dist/site-furniture/Header/Header.js +2 -0
  385. package/dist/site-furniture/Header/_header.css +1 -0
  386. package/package.json +4 -3
@@ -1,67 +1,69 @@
1
- import { jsx as w } from "react/jsx-runtime";
2
- import { forwardRef as B, useState as x, useMemo as F, useEffect as f, useCallback as v, createContext as W } from "react";
3
- import { getCommonProps as q } from "../../utils/index.js";
4
- import z from "../../_virtual/index2.js";
5
- import G from "../../node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js";
6
- import H from "../../node_modules/embla-carousel-class-names/esm/embla-carousel-class-names.esm.js";
7
- import J from "../../node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js";
8
- import { WheelGesturesPlugin as Q } from "../../node_modules/embla-carousel-wheel-gestures/dist/embla-carousel-wheel-gestures.esm.js";
9
- import { useReducedMotion as T } from "../../utils/useReducedMotion.js";
10
- const U = W(null), X = B(
1
+ import './_carousel.css';
2
+ import { jsx as x } from "react/jsx-runtime";
3
+ import { forwardRef as F, useState as N, useMemo as W, useEffect as f, useCallback as v, createContext as q } from "react";
4
+ import { getCommonProps as z } from "../../utils/index.js";
5
+ import G from "../../_virtual/index2.js";
6
+ import H from "../../node_modules/embla-carousel-autoplay/esm/embla-carousel-autoplay.esm.js";
7
+ import J from "../../node_modules/embla-carousel-class-names/esm/embla-carousel-class-names.esm.js";
8
+ import Q from "../../node_modules/embla-carousel-react/esm/embla-carousel-react.esm.js";
9
+ import { WheelGesturesPlugin as T } from "../../node_modules/embla-carousel-wheel-gestures/dist/embla-carousel-wheel-gestures.esm.js";
10
+
11
+ import { useReducedMotion as U } from "../../utils/useReducedMotion.js";
12
+ const V = q(null), X = F(
11
13
  ({
12
- element: N,
14
+ element: w,
13
15
  loop: C = !1,
14
16
  startIndex: g = 0,
15
- onSlideChange: l,
16
- className: b,
17
- children: h,
18
- columnGap: k,
17
+ onSlideChange: n,
18
+ className: h,
19
+ children: k,
20
+ columnGap: P,
19
21
  useWheelGestures: u = !1,
20
22
  disableDrag: m = !1,
21
- disableNavigationDrag: P = null,
22
- inViewThreshold: I = 0.99,
23
- autoAdvanceDelay: n,
23
+ disableNavigationDrag: S = null,
24
+ inViewThreshold: b = 0.99,
25
+ autoAdvanceDelay: a,
24
26
  duration: E,
25
- ...d
26
- }, S) => {
27
- const a = N || "div", p = a === "ul" || a === "ol", { className: y, ...D } = q(d, "Carousel");
28
- let t = {};
29
- switch (P) {
27
+ ...p
28
+ }, y) => {
29
+ const c = w || "div", d = c === "ul" || c === "ol", { className: D, ...I } = z(p, "Carousel");
30
+ let r = {};
31
+ switch (S) {
30
32
  case "mobile":
31
- t = { breakpoints: { "(max-width: 960px)": { watchDrag: !1 } } };
33
+ r = { breakpoints: { "(max-width: 960px)": { watchDrag: !1 } } };
32
34
  break;
33
35
  case "desktop":
34
- t = { breakpoints: { "(min-width: 961px)": { watchDrag: !1 } } };
36
+ r = { breakpoints: { "(min-width: 961px)": { watchDrag: !1 } } };
35
37
  break;
36
38
  case "all":
37
- t = { watchDrag: !1 };
39
+ r = { watchDrag: !1 };
38
40
  break;
39
41
  default:
40
- t = {};
42
+ r = {};
41
43
  }
42
- const [A, R] = x(!1), [M, V] = x(!1), O = T(), r = !!n && !O, K = F(
44
+ const [R, M] = N(!1), [O, A] = N(!1), K = U(), l = !!a && !K, L = W(
43
45
  () => [
44
- ...r ? [
45
- G({
46
- delay: n,
46
+ ...l ? [
47
+ H({
48
+ delay: a,
47
49
  stopOnInteraction: !1,
48
50
  stopOnMouseEnter: !0,
49
51
  stopOnFocusIn: !0
50
52
  })
51
53
  ] : [],
52
- ...u ? [Q({ forceWheelAxis: "x" })] : [],
53
- H({ snapped: "carousel-item-in-view" })
54
+ ...u ? [T({ forceWheelAxis: "x" })] : [],
55
+ J({ snapped: "carousel-item-in-view" })
54
56
  ],
55
- [r, n, u]
56
- ), [L, e] = J(
57
+ [l, a, u]
58
+ ), [j, e] = Q(
57
59
  {
58
60
  loop: C,
59
61
  startIndex: g,
60
- inViewThreshold: I,
62
+ inViewThreshold: b,
61
63
  duration: E,
62
- ...t
64
+ ...r
63
65
  },
64
- K
66
+ L
65
67
  );
66
68
  f(() => {
67
69
  m ? e?.reInit({
@@ -70,63 +72,60 @@ const U = W(null), X = B(
70
72
  watchDrag: () => !0
71
73
  });
72
74
  }, [m, e]);
73
- const j = v(
75
+ const B = v(
74
76
  (o) => {
75
77
  if (o.key === "ArrowLeft") {
76
78
  o.preventDefault(), e?.scrollPrev();
77
- const s = e?.slideNodes().filter((c) => c === document.activeElement)[0]?.previousElementSibling;
79
+ const s = e?.slideNodes().filter((i) => i === document.activeElement)[0]?.previousElementSibling;
78
80
  s && s?.focus();
79
81
  } else if (o.key === "ArrowRight") {
80
82
  o.preventDefault(), e?.scrollNext();
81
- const s = e?.slideNodes().filter((c) => c === document.activeElement)[0]?.nextElementSibling;
83
+ const s = e?.slideNodes().filter((i) => i === document.activeElement)[0]?.nextElementSibling;
82
84
  s && s?.focus();
83
85
  }
84
86
  },
85
87
  [e]
86
- ), i = v(
88
+ ), t = v(
87
89
  (o) => {
88
- if (!o) return;
89
- R(o?.canScrollPrev()), V(o?.canScrollNext());
90
- const s = o.slidesInView()?.[0];
91
- s !== void 0 && l?.(s);
90
+ o && (M(o.canScrollPrev()), A(o.canScrollNext()), n?.(o.selectedScrollSnap()));
92
91
  },
93
- [l]
92
+ [n]
94
93
  );
95
94
  return f(() => {
96
95
  if (e)
97
- return e.on("slidesInView", i), () => {
98
- e.off("slidesInView", i);
96
+ return t(e), e.on("select", t), e.on("reInit", t), () => {
97
+ e.off("select", t), e.off("reInit", t);
99
98
  };
100
- }, [e, i]), f(() => {
101
- if (!e || !r) return;
99
+ }, [e, t]), f(() => {
100
+ if (!e || !l) return;
102
101
  const o = () => e.plugins().autoplay?.reset();
103
102
  return e.on("select", o), () => {
104
103
  e.off("select", o);
105
104
  };
106
- }, [e, r]), /* @__PURE__ */ w(
107
- U.Provider,
105
+ }, [e, l]), /* @__PURE__ */ x(
106
+ V.Provider,
108
107
  {
109
108
  value: {
110
- carouselRef: L,
109
+ carouselRef: j,
111
110
  api: e,
112
111
  scrollPrev: () => e?.scrollPrev(),
113
112
  scrollNext: () => e?.scrollNext(),
114
- canScrollPrev: A,
115
- canScrollNext: M,
116
- columnGap: k,
117
- onSlideChange: l
113
+ canScrollPrev: R,
114
+ canScrollNext: O,
115
+ columnGap: P,
116
+ onSlideChange: n
118
117
  },
119
- children: /* @__PURE__ */ w(
120
- a,
118
+ children: /* @__PURE__ */ x(
119
+ c,
121
120
  {
122
- ref: S,
123
- onKeyDownCapture: j,
124
- className: z(y, b),
125
- role: p ? void 0 : "region",
126
- "aria-roledescription": p ? void 0 : "carousel",
127
- ...d,
128
- ...D,
129
- children: h
121
+ ref: y,
122
+ onKeyDownCapture: B,
123
+ className: G(D, h),
124
+ role: d ? void 0 : "region",
125
+ "aria-roledescription": d ? void 0 : "carousel",
126
+ ...p,
127
+ ...I,
128
+ children: k
130
129
  }
131
130
  )
132
131
  }
@@ -135,6 +134,6 @@ const U = W(null), X = B(
135
134
  );
136
135
  X.displayName = "Carousel";
137
136
  export {
138
- U as CarouselContext,
137
+ V as CarouselContext,
139
138
  X as default
140
139
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("../../_virtual/index2.cjs"),m=require("../../node_modules/react-intersection-observer/dist/index.cjs"),$=require("../../utils/index.cjs"),x=({isSelected:n,onClick:r,scrollableContainerRef:u,onInViewChange:a,variant:o="md",...c})=>{const{className:e,...l}=$.getCommonProps(c,"CarouselDot"),{ref:i}=m.useInView({threshold:0,root:u.current,onChange(d){a(d)}});return s.jsx("button",{ref:i,type:"button",onClick:r,className:t.default(`${e}__container`),...l,children:s.jsx("span",{className:t.default(`${e}`,{[`${e}--selected`]:n,[`${e}--${o}`]:o})})})};exports.CarouselDot=x;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),t=require("../../_virtual/index2.cjs"),x=require("../../node_modules/react-intersection-observer/dist/index.cjs"),$=require("../../utils/index.cjs"),C=({isSelected:n,onClick:r,scrollableContainerRef:u,index:a,onInViewChange:c,variant:o="md",...l})=>{const{className:e,...i}=$.getCommonProps(l,"CarouselDot"),{ref:d}=x.useInView({threshold:0,root:u.current,onChange(m){c(a,m)}});return s.jsx("button",{ref:d,type:"button",onClick:r,className:t.default(`${e}__container`),...i,children:s.jsx("span",{className:t.default(`${e}`,{[`${e}--selected`]:n,[`${e}--${o}`]:o})})})};exports.CarouselDot=C;
@@ -6,9 +6,11 @@ export interface CarouselDotProps extends ComponentProps<'button'> {
6
6
  onClick: () => void;
7
7
  /** Reference to the scrollable container */
8
8
  scrollableContainerRef: React.RefObject<HTMLDivElement>;
9
+ /** Index of this dot among its siblings, forwarded to onInViewChange */
10
+ index: number;
9
11
  /** Callback function when the dot comes into view within the scrollable container */
10
- onInViewChange: (inView: boolean) => void;
12
+ onInViewChange: (index: number, inView: boolean) => void;
11
13
  /** Variant of the dot */
12
14
  variant?: 'sm' | 'md';
13
15
  }
14
- export declare const CarouselDot: ({ isSelected, onClick, scrollableContainerRef, onInViewChange, variant, ...props }: CarouselDotProps) => import("react/jsx-runtime").JSX.Element;
16
+ export declare const CarouselDot: ({ isSelected, onClick, scrollableContainerRef, index, onInViewChange, variant, ...props }: CarouselDotProps) => import("react/jsx-runtime").JSX.Element;
@@ -1,30 +1,31 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
2
  import r from "../../_virtual/index2.js";
3
- import { useInView as i } from "../../node_modules/react-intersection-observer/dist/index.js";
4
- import { getCommonProps as f } from "../../utils/index.js";
5
- const N = ({
3
+ import { useInView as f } from "../../node_modules/react-intersection-observer/dist/index.js";
4
+ import { getCommonProps as C } from "../../utils/index.js";
5
+ const b = ({
6
6
  isSelected: t,
7
7
  onClick: m,
8
8
  scrollableContainerRef: n,
9
- onInViewChange: a,
9
+ index: a,
10
+ onInViewChange: c,
10
11
  variant: s = "md",
11
- ...c
12
+ ...l
12
13
  }) => {
13
- const { className: o, ...l } = f(c, "CarouselDot"), { ref: p } = i({
14
+ const { className: o, ...p } = C(l, "CarouselDot"), { ref: u } = f({
14
15
  threshold: 0,
15
16
  root: n.current,
16
- onChange(u) {
17
- a(u);
17
+ onChange(i) {
18
+ c(a, i);
18
19
  }
19
20
  });
20
21
  return /* @__PURE__ */ e(
21
22
  "button",
22
23
  {
23
- ref: p,
24
+ ref: u,
24
25
  type: "button",
25
26
  onClick: m,
26
27
  className: r(`${o}__container`),
27
- ...l,
28
+ ...p,
28
29
  children: /* @__PURE__ */ e(
29
30
  "span",
30
31
  {
@@ -38,5 +39,5 @@ const N = ({
38
39
  );
39
40
  };
40
41
  export {
41
- N as CarouselDot
42
+ b as CarouselDot
42
43
  };
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const d=require("react/jsx-runtime"),P=require("../../_virtual/index2.cjs"),s=require("react"),G=require("./utils.cjs"),W=require("../../utils/index.cjs"),B=require("./CarouselDot.cjs"),m=10,h=12,E=(m+h)/2,v=s.forwardRef(({className:w,maxDots:p=9,position:j="inline",numberOfSlides:q=0,id:g,...b},N)=>{const{className:c,...R}=W.getCommonProps({id:g,...b},"CarouselDots"),{api:o,onSlideChange:a}=G.useCarousel(),[V,y]=s.useState(0),[i,T]=s.useState(Array.from({length:q},(e,t)=>t)),r=s.useRef(null),[D,I]=s.useState([]),$=s.useCallback(e=>{r.current&&r.current.scrollTo?.({left:e*(m+h)-r.current.offsetWidth/2+E,behavior:"smooth"})},[]),_=s.useCallback(e=>{o&&(o.scrollTo(e),a?.(e))},[o,a]),u=s.useCallback(e=>{T(e.scrollSnapList())},[]),n=s.useCallback(e=>{y(e.selectedScrollSnap()),$(e.selectedScrollSnap())},[$]),f=s.useCallback(e=>{a?.(e.selectedScrollSnap())},[a]);s.useEffect(()=>{if(o)return u(o),n(o),o.on("reInit",u).on("reInit",n).on("select",n).on("settle",f),()=>{o.off("reInit",u).off("reInit",n).off("select",n).off("settle",f)}},[o,u,n,f]);const l=s.useMemo(()=>D.sort((e,t)=>e-t),[D]);return d.jsx("div",{ref:N,role:"group","aria-roledescription":"pagination","aria-label":"pagination",className:P.default(`${c}`,w,`${c}-${j}`),...b,...R,children:d.jsx("div",{className:`${c}-container`,children:d.jsx("div",{style:{"--max-width":`${p*m+(p-1)*h+2}px`},className:`${c}-container-inner`,ref:r,children:i.map((e,t)=>{const k=V===t,S=l.indexOf(t),x=S===-1||(S<=1||S>=l.length-2)&&!(t<=1&&l.includes(0)&&l.includes(1))&&!(t>=i.length-2&&l.includes(i.length-1)&&l.includes(i.length-2));return d.jsx(B.CarouselDot,{onClick:()=>_(t),isSelected:k,"aria-label":`Go to slide ${t+1}`,"aria-current":k?"true":void 0,scrollableContainerRef:r,onInViewChange:M=>{I(M?C=>[...C,t]:C=>C.filter(O=>O!==t))},variant:x?"sm":"md"},`${g}-dot-${t}`)})})})})});v.displayName="CarouselDots";exports.default=v;
1
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const S=require("react/jsx-runtime"),P=require("../../_virtual/index2.cjs"),o=require("react"),v=require("./utils.cjs"),x=require("../../utils/index.cjs"),G=require("./CarouselDot.cjs"),m=10,g=12,W=(m+g)/2,p=o.forwardRef(({className:w,maxDots:b=9,position:j="inline",numberOfSlides:q=0,id:D,...I},N)=>{const{className:i,...y}=x.getCommonProps({id:D,...I},"CarouselDots"),{api:n,onSlideChange:u}=v.useCarousel(),[R,V]=o.useState(0),[d,T]=o.useState(Array.from({length:q},(e,t)=>t)),a=o.useRef(null),[$,_]=o.useState([]),k=o.useCallback(e=>{a.current&&a.current.scrollTo?.({left:e*(m+g)-a.current.offsetWidth/2+W,behavior:"smooth"})},[]),M=o.useCallback(e=>{n&&(n.scrollTo(e),u?.(e))},[n,u]),f=o.useCallback(e=>{T(t=>{const s=e.scrollSnapList();return t.length===s.length&&t.every((l,h)=>l===s[h])?t:s})},[]),r=o.useCallback(e=>{V(e.selectedScrollSnap()),k(e.selectedScrollSnap())},[k]),C=o.useCallback(e=>{u?.(e.selectedScrollSnap())},[u]),O=o.useCallback((e,t)=>{_(s=>t?s.includes(e)?s:[...s,e]:s.includes(e)?s.filter(l=>l!==e):s)},[]);o.useEffect(()=>{if(n)return f(n),r(n),n.on("reInit",f).on("reInit",r).on("select",r).on("settle",C),()=>{n.off("reInit",f).off("reInit",r).off("select",r).off("settle",C)}},[n,f,r,C]);const c=o.useMemo(()=>[...$].sort((e,t)=>e-t),[$]);return S.jsx("div",{ref:N,role:"group","aria-roledescription":"pagination","aria-label":"pagination",className:P.default(`${i}`,w,`${i}-${j}`),...I,...y,children:S.jsx("div",{className:`${i}-container`,children:S.jsx("div",{style:{"--max-width":`${b*m+(b-1)*g+2}px`},className:`${i}-container-inner`,ref:a,children:d.map((e,t)=>{const s=R===t,l=c.indexOf(t),h=l===-1||(l<=1||l>=c.length-2)&&!(t<=1&&c.includes(0)&&c.includes(1))&&!(t>=d.length-2&&c.includes(d.length-1)&&c.includes(d.length-2));return S.jsx(G.CarouselDot,{index:t,onClick:()=>M(t),isSelected:s,"aria-label":`Go to slide ${t+1}`,"aria-current":s?"true":void 0,scrollableContainerRef:a,onInViewChange:O,variant:h?"sm":"md"},`${D}-dot-${t}`)})})})})});p.displayName="CarouselDots";exports.default=p;
@@ -1,82 +1,86 @@
1
- import { jsx as u } from "react/jsx-runtime";
2
- import B from "../../_virtual/index2.js";
3
- import { forwardRef as E, useState as S, useRef as L, useCallback as l, useEffect as M, useMemo as q } from "react";
4
- import { useCarousel as z } from "./utils.js";
5
- import { getCommonProps as A } from "../../utils/index.js";
6
- import { CarouselDot as F } from "./CarouselDot.js";
7
- const h = 10, C = 12, H = (h + C) / 2, J = E(
8
- ({ className: b, maxDots: g = 9, position: V = "inline", numberOfSlides: k = 0, id: I, ...D }, y) => {
9
- const { className: c, ...R } = A({ id: I, ...D }, "CarouselDots"), { api: t, onSlideChange: a } = z(), [T, G] = S(0), [i, O] = S(
10
- Array.from({ length: k }, (e, o) => o)
11
- ), r = L(null), [$, w] = S([]), v = l((e) => {
12
- r.current && r.current.scrollTo?.({
13
- left: e * (h + C) - r.current.offsetWidth / 2 + H,
1
+ import { jsx as d } from "react/jsx-runtime";
2
+ import j from "../../_virtual/index2.js";
3
+ import { forwardRef as B, useState as p, useRef as E, useCallback as c, useEffect as L, useMemo as M } from "react";
4
+ import { useCarousel as q } from "./utils.js";
5
+ import { getCommonProps as v } from "../../utils/index.js";
6
+ import { CarouselDot as z } from "./CarouselDot.js";
7
+ const C = 10, g = 12, A = (C + g) / 2, F = B(
8
+ ({ className: b, maxDots: I = 9, position: V = "inline", numberOfSlides: k = 0, id: D, ...$ }, y) => {
9
+ const { className: i, ...R } = v({ id: D, ...$ }, "CarouselDots"), { api: n, onSlideChange: u } = q(), [T, G] = p(0), [f, O] = p(
10
+ Array.from({ length: k }, (e, t) => t)
11
+ ), a = E(null), [w, P] = p([]), N = c((e) => {
12
+ a.current && a.current.scrollTo?.({
13
+ left: e * (C + g) - a.current.offsetWidth / 2 + A,
14
14
  // Center dot in container
15
15
  behavior: "smooth"
16
16
  });
17
- }, []), P = l(
17
+ }, []), W = c(
18
18
  (e) => {
19
- t && (t.scrollTo(e), a?.(e));
19
+ n && (n.scrollTo(e), u?.(e));
20
20
  },
21
- [t, a]
22
- ), f = l((e) => {
23
- O(e.scrollSnapList());
24
- }, []), n = l(
21
+ [n, u]
22
+ ), m = c((e) => {
23
+ O((t) => {
24
+ const o = e.scrollSnapList();
25
+ return t.length === o.length && t.every((s, S) => s === o[S]) ? t : o;
26
+ });
27
+ }, []), r = c(
25
28
  (e) => {
26
- G(e.selectedScrollSnap()), v(e.selectedScrollSnap());
29
+ G(e.selectedScrollSnap()), N(e.selectedScrollSnap());
27
30
  },
28
- [v]
29
- ), m = l(
31
+ [N]
32
+ ), h = c(
30
33
  (e) => {
31
- a?.(e.selectedScrollSnap());
34
+ u?.(e.selectedScrollSnap());
32
35
  },
33
- [a]
34
- );
35
- M(() => {
36
- if (t)
37
- return f(t), n(t), t.on("reInit", f).on("reInit", n).on("select", n).on("settle", m), () => {
38
- t.off("reInit", f).off("reInit", n).off("select", n).off("settle", m);
36
+ [u]
37
+ ), _ = c((e, t) => {
38
+ P((o) => t ? o.includes(e) ? o : [...o, e] : o.includes(e) ? o.filter((s) => s !== e) : o);
39
+ }, []);
40
+ L(() => {
41
+ if (n)
42
+ return m(n), r(n), n.on("reInit", m).on("reInit", r).on("select", r).on("settle", h), () => {
43
+ n.off("reInit", m).off("reInit", r).off("select", r).off("settle", h);
39
44
  };
40
- }, [t, f, n, m]);
41
- const s = q(() => $.sort((e, o) => e - o), [$]);
42
- return /* @__PURE__ */ u(
45
+ }, [n, m, r, h]);
46
+ const l = M(() => [...w].sort((e, t) => e - t), [w]);
47
+ return /* @__PURE__ */ d(
43
48
  "div",
44
49
  {
45
50
  ref: y,
46
51
  role: "group",
47
52
  "aria-roledescription": "pagination",
48
53
  "aria-label": "pagination",
49
- className: B(`${c}`, b, `${c}-${V}`),
50
- ...D,
54
+ className: j(`${i}`, b, `${i}-${V}`),
55
+ ...$,
51
56
  ...R,
52
- children: /* @__PURE__ */ u("div", { className: `${c}-container`, children: /* @__PURE__ */ u(
57
+ children: /* @__PURE__ */ d("div", { className: `${i}-container`, children: /* @__PURE__ */ d(
53
58
  "div",
54
59
  {
55
- style: { "--max-width": `${g * h + (g - 1) * C + 2}px` },
56
- className: `${c}-container-inner`,
57
- ref: r,
58
- children: i.map((e, o) => {
59
- const N = T === o, d = s.indexOf(o), W = (
60
+ style: { "--max-width": `${I * C + (I - 1) * g + 2}px` },
61
+ className: `${i}-container-inner`,
62
+ ref: a,
63
+ children: f.map((e, t) => {
64
+ const o = T === t, s = l.indexOf(t), S = (
60
65
  // The dot is out of view
61
- d === -1 || // The dot must be either among the first two or last two visible dots
62
- (d <= 1 || d >= s.length - 2) && // Don't shrink if we're showing the first two dots (index 0,1) and both are visible
63
- !(o <= 1 && s.includes(0) && s.includes(1)) && // Don't shrink if we're showing the last two dots and both are visible
64
- !(o >= i.length - 2 && s.includes(i.length - 1) && s.includes(i.length - 2))
66
+ s === -1 || // The dot must be either among the first two or last two visible dots
67
+ (s <= 1 || s >= l.length - 2) && // Don't shrink if we're showing the first two dots (index 0,1) and both are visible
68
+ !(t <= 1 && l.includes(0) && l.includes(1)) && // Don't shrink if we're showing the last two dots and both are visible
69
+ !(t >= f.length - 2 && l.includes(f.length - 1) && l.includes(f.length - 2))
65
70
  );
66
- return /* @__PURE__ */ u(
67
- F,
71
+ return /* @__PURE__ */ d(
72
+ z,
68
73
  {
69
- onClick: () => P(o),
70
- isSelected: N,
71
- "aria-label": `Go to slide ${o + 1}`,
72
- "aria-current": N ? "true" : void 0,
73
- scrollableContainerRef: r,
74
- onInViewChange: (_) => {
75
- w(_ ? (p) => [...p, o] : (p) => p.filter((j) => j !== o));
76
- },
77
- variant: W ? "sm" : "md"
74
+ index: t,
75
+ onClick: () => W(t),
76
+ isSelected: o,
77
+ "aria-label": `Go to slide ${t + 1}`,
78
+ "aria-current": o ? "true" : void 0,
79
+ scrollableContainerRef: a,
80
+ onInViewChange: _,
81
+ variant: S ? "sm" : "md"
78
82
  },
79
- `${I}-dot-${o}`
83
+ `${D}-dot-${t}`
80
84
  );
81
85
  })
82
86
  }
@@ -85,7 +89,7 @@ const h = 10, C = 12, H = (h + C) / 2, J = E(
85
89
  );
86
90
  }
87
91
  );
88
- J.displayName = "CarouselDots";
92
+ F.displayName = "CarouselDots";
89
93
  export {
90
- J as default
94
+ F as default
91
95
  };
@@ -0,0 +1 @@
1
+ @layer vendor,seldon.foundation,seldon.components,seldon.patterns,seldon.site;@layer seldon.components{.seldon-carousel{position:relative}.seldon-carousel-arrows-prev-btn,.seldon-carousel-arrows-next-btn{background:transparent;border:none;cursor:pointer;display:flex;flex-flow:column wrap;height:100%;justify-content:center;opacity:0;position:absolute;top:0;width:33.3%}.seldon-carousel-arrows-prev-btn--always-visible,.seldon-carousel-arrows-next-btn--always-visible{height:unset;opacity:1;top:50%;transform:translateY(-50%);width:unset}.seldon-carousel-arrows-prev-btn--always-visible .seldon-carousel-arrows-next-btn__icon,.seldon-carousel-arrows-prev-btn--always-visible .seldon-carousel-arrows-prev-btn__icon,.seldon-carousel-arrows-next-btn--always-visible .seldon-carousel-arrows-next-btn__icon,.seldon-carousel-arrows-next-btn--always-visible .seldon-carousel-arrows-prev-btn__icon{box-shadow:0 0 1px #545454}.seldon-carousel-arrows-prev-btn--disabled,.seldon-carousel-arrows-next-btn--disabled{display:none}.seldon-carousel-arrows-prev-btn:hover,.seldon-carousel-arrows-prev-btn:focus-visible,.seldon-carousel-arrows-next-btn:hover,.seldon-carousel-arrows-next-btn:focus-visible{opacity:1}.seldon-carousel-arrows-prev-btn:focus-visible,.seldon-carousel-arrows-next-btn:focus-visible{outline:none}.seldon-carousel-arrows-prev-btn:focus-visible .seldon-carousel-arrows-next-btn__icon,.seldon-carousel-arrows-prev-btn:focus-visible .seldon-carousel-arrows-prev-btn__icon,.seldon-carousel-arrows-next-btn:focus-visible .seldon-carousel-arrows-next-btn__icon,.seldon-carousel-arrows-next-btn:focus-visible .seldon-carousel-arrows-prev-btn__icon{border-radius:40px;outline:2px solid #07c;outline-offset:4px}.seldon-carousel-arrows-prev-btn__icon,.seldon-carousel-arrows-next-btn__icon{background-color:#fff;border-radius:40px;display:flex;flex-wrap:wrap;height:3.25rem;place-content:center center;width:3.25rem}@media(max-width:961px){.seldon-carousel-arrows-prev-btn,.seldon-carousel-arrows-next-btn{display:none}}.seldon-carousel-dots+.seldon-carousel-arrows .seldon-carousel-arrows-prev-btn,.seldon-carousel-dots+.seldon-carousel-arrows .seldon-carousel-arrows-next-btn{height:calc(100% - 1.5rem)}.seldon-carousel-arrows-prev-btn{align-content:flex-start;flex-wrap:wrap;left:0;padding-left:var(--spacing-sm)}.seldon-carousel-arrows-next-btn{align-content:flex-end;flex-wrap:wrap;padding-right:var(--spacing-sm);right:0}.seldon-carousel-content{overflow:hidden}.seldon-carousel-content-inner{display:flex}.seldon-carousel-content-inner:hover .vjs-big-play-button{display:block}.seldon-carousel-content-inner--gap-micro{margin-left:calc(-1 * var(--spacing-micro))}.seldon-carousel-content-inner--gap-xsm{margin-left:calc(-1 * var(--spacing-xsm))}.seldon-carousel-content-inner--gap-sm{margin-left:calc(-1 * var(--spacing-sm))}.seldon-carousel-content-inner--gap-md{margin-left:calc(-1 * var(--spacing-md))}.seldon-carousel-content-inner--gap-lg{margin-left:calc(-1 * var(--spacing-lg))}.seldon-carousel-content-inner--gap-xl{margin-left:calc(-1 * var(--spacing-xl))}.seldon-carousel-content-inner--gap-xxl{margin-left:calc(-1 * var(--spacing-xxl))}.seldon-carousel-content-inner--gap-xxxl{margin-left:calc(-1 * var(--spacing-xxxl))}.seldon-carousel-item{flex:0 0 100%;min-width:0}.seldon-carousel-item--cursor-pointer{cursor:pointer}.seldon-carousel-item--gap-micro{padding-left:var(--spacing-micro)}.seldon-carousel-item--gap-xsm{padding-left:var(--spacing-xsm)}.seldon-carousel-item--gap-sm{padding-left:var(--spacing-sm)}.seldon-carousel-item--gap-md{padding-left:var(--spacing-md)}.seldon-carousel-item--gap-lg{padding-left:var(--spacing-lg)}.seldon-carousel-item--gap-xl{padding-left:var(--spacing-xl)}.seldon-carousel-item--gap-xxl{padding-left:var(--spacing-xxl)}.seldon-carousel-item--gap-xxxl{padding-left:var(--spacing-xxxl)}.seldon-carousel-dots{align-items:center;display:flex;justify-content:center;margin-top:1rem}.seldon-carousel-dots button{background:none;border:none;cursor:pointer}.seldon-carousel-dots-on-content{bottom:16px;left:50%;overflow:hidden;position:absolute;transform:translate(-50%)}.seldon-carousel-dots-container{display:flex;justify-content:center;width:100%}.seldon-carousel-dots-container-inner{align-items:center;display:flex;gap:12px;max-width:var(--max-width);overflow:auto;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;padding:1px 2px;scroll-snap-type:x mandatory;scrollbar-width:none}.seldon-carousel-dots-container-inner::-webkit-scrollbar{display:none}.seldon-carousel-dot__container{align-items:center;display:flex;height:10px;justify-content:center;min-width:10px;padding:1px;scroll-snap-align:center;width:10px}.seldon-carousel-dot__container:focus-visible{border-radius:40px;outline:.5px solid #07c;outline-offset:0}.seldon-carousel-dot__container:focus-visible-dot:hover{background-color:transparent;outline:1px solid #000}.seldon-carousel-dot{background-color:#eae9e6;border-radius:40px;outline-color:#eae9e6}.seldon-carousel-dot--md{height:100%;width:100%}.seldon-carousel-dot--sm{height:50%;width:50%}.seldon-carousel-dot:hover{background-color:transparent;outline:1px solid #000}.seldon-carousel-dot--selected{background-color:#000;outline-color:#000}.seldon-carousel-dot--selected:hover{background-color:#000;outline:none}}
@@ -1 +1,3 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),q=require("../../node_modules/@radix-ui/react-popover/dist/index.cjs"),h=require("../../_virtual/index2.cjs"),w=require("../../node_modules/cmdk/dist/index.cjs"),l=require("react"),he=require("../../node_modules/usehooks-ts/dist/index.cjs"),K=require("../../utils/index.cjs"),U=require("../IconButton/IconButton.cjs"),W=require("../Button/types.cjs"),_e=require("../../utils/usePrevious.cjs"),be=require("../Text/Text.cjs"),ve=require("../Text/types.cjs"),xe=require("../../assets/formatted/CloseX.cjs"),$e=require("../../assets/formatted/ChevronDown.cjs"),X=l.forwardRef(function({options:c=[],className:H,id:o,labelText:S,placeholder:J,name:I,value:f,onChange:m,onBlur:Q,renderOption:F,ariaLabelDropdown:T,ariaLabelInput:Y,ariaLabelClear:Z,ariaLabelContent:ee,hideLabel:te=!1,popoverContainerRef:se,noOptionsMessage:ae="No Options.",invalid:j=!1,invalidText:le,countOfCharsBeforeDropdown:B=0,...ne},k){const{className:t,...re}=K.getCommonProps({id:o},"ComboBox"),oe=$e.default,ue=xe.default,E=K.useNormalizedInputProps({id:o,invalid:j,invalidText:le,type:"text"}),[p,A]=l.useState(!1),[ce,ie]=l.useState(""),z=_e.usePrevious(f),M=l.useCallback(e=>e.label||e.value,[]),[n,x]=l.useState(()=>{if(f!==void 0){const e=c.find(a=>a.value===f);return e?e.displayValue||M(e):""}return""}),$=l.useRef(null),y=l.useRef(null),C=l.useRef(!1),O=l.useRef(null),i=l.useCallback(e=>M(e),[M]),_=f!==void 0,V=_?f:ce,r=l.useMemo(()=>c.find(e=>e.value===V)||null,[c,V]),b=l.useMemo(()=>r?r.displayValue||i(r):"",[r,i]),d=l.useMemo(()=>{if(!n||r&&n===b)return c;const e=n.toLowerCase().trim();return c.filter(a=>{const g=i(a).toLowerCase().includes(e),D=a.value.toLowerCase().includes(e),P=a.displayValue?.toLowerCase().includes(e)||!1;let v=!1;return a.filterTerms&&a.filterTerms.length>0&&(v=a.filterTerms.some(pe=>pe.toLowerCase().includes(e))),g||D||P||v})},[n,b,r,i,c]),u=l.useCallback((e,a)=>{const g=(a?.length||n.length)>=B;(!e||e&&g)&&A(e),e&&r&&d.length>5&&requestAnimationFrame(()=>{O.current&&O.current.scrollIntoView({block:"nearest",behavior:"auto"})})},[B,n.length,r,d.length]),N=l.useCallback(e=>{_||ie(e.value);const a=e.displayValue||i(e);x(a),m&&m(e.value,e),u(!1),C.current=!0,requestAnimationFrame(()=>{C.current=!1})},[_,m,u,i]),de=e=>{u(!1),C.current=!0,e.preventDefault(),e.stopPropagation(),m&&_&&m("",null),x(""),y.current?.focus(),requestAnimationFrame(()=>{C.current=!1})},fe=()=>{A(!p),y.current?.focus()},me=e=>{x(e),e!==""&&d.length>0&&u(!0,e)},G=l.useMemo(()=>{if(_){if(f!==z)return r?b:n;if(r){const e=b;return e!==n?n:e}else return n}return n},[_,n,f,z,r,b]),L=e=>{if(r){const a=b;a!==G&&x(a)}else x("")},R=l.useCallback(()=>{const e=c.filter(a=>{const g=i(a).toLowerCase(),D=a.value.toLowerCase(),P=a.displayValue?.toLowerCase(),v=n.toLowerCase();return g===v||D===v||P===v});e.length===1&&N(e[0])},[n,c,N,i]);return he.useOnClickOutside($,e=>{e.target.closest(`.${t}__item`)||e.target.closest(`.${t}__content`)||$.current?.contains(e.target)||e.target===$.current||(R(),L(),u(!1))}),s.jsxs("div",{ref:k,className:h.default(t,H),id:o,...re,...ne,children:[I&&s.jsx("input",{type:"hidden",name:I,id:I,value:V||"",ref:e=>{typeof k=="function"&&e&&k(e)}}),s.jsxs("div",{ref:$,className:`${t}__wrapper`,children:[s.jsx(be.default,{element:"label",variant:ve.TextVariants.labelMedium,htmlFor:`${o}-input`,className:h.default(`${t}__label`,{[`${t}__label--hidden`]:te,[`${t}__label--invalid`]:j}),"data-testid":`${o}-label`,children:S}),s.jsx(w.Command,{loop:!0,onKeyDown:e=>{setTimeout(()=>{e.key==="Escape"&&u(!1)},0)},shouldFilter:!1,className:`${t}__command-wrapper`,children:s.jsxs(q.Root,{open:p,modal:!1,children:[s.jsx(q.Trigger,{asChild:!0,children:s.jsxs("div",{className:h.default(`${t}__input-wrapper`,{[`${t}__input-wrapper--invalid`]:j}),role:"combobox","aria-label":S,children:[s.jsx(w.CommandInput,{id:`${o}-input`,placeholder:J,value:G,onValueChange:me,tabIndex:0,onFocus:()=>{d.length>0&&!C.current&&!p&&u(!0)},onClick:e=>{u(!0),e.preventDefault(),e.currentTarget.focus()},onKeyDown:e=>{e.key==="Tab"?(u(!1),R(),L()):e.key==="Enter"&&!p?(m&&m(n,null),d.length===1&&N(d[0])):e.key==="Escape"?(u(!1),e.preventDefault(),R(),L()):(e.key==="ArrowDown"||e.key==="ArrowUp")&&!p&&d.length>0&&(u(!0),e.preventDefault())},onBlur:Q,className:h.default(`${t}__input`,{[`${t}__input--invalid`]:j}),"aria-label":Y,"aria-controls":`${o}-content`,"data-testid":`${o}-input`,ref:y}),n&&s.jsx(U.default,{className:`${t}__close-button`,"data-testid":`${o}-clear-button`,onClick:de,"aria-label":Z,tabIndex:-1,variant:W.ButtonVariants.tertiary,children:s.jsx(ue,{color:"currentColor",height:18,width:18,className:`${t}__icon-button`})}),s.jsx(U.default,{"aria-label":T,className:h.default(`${t}__dropdown-button`,{[`${t}__dropdown-button--open`]:p}),onClick:fe,"data-testid":`${o}-dropdown`,tabIndex:-1,variant:W.ButtonVariants.tertiary,children:s.jsx(oe,{color:"currentColor",height:18,width:18,className:`${t}__icon-button`,title:T||`${o}-dropdown`})})]})}),p&&s.jsx(q.Portal,{container:se?.current||document.body,children:s.jsx(q.Content,{id:`${o}-content`,className:`${t}__content`,"aria-label":ee,side:"bottom",sideOffset:-5,align:"start",alignOffset:0,onFocus:()=>{document.activeElement!==y.current&&y.current?.focus()},style:{width:$.current?.offsetWidth||"100%"},children:s.jsx(w.CommandList,{className:`${t}__list`,children:d.length>0?s.jsx(w.CommandGroup,{className:`${t}__group`,children:d.map(e=>s.jsx(w.CommandItem,{className:h.default(`${t}__item`,{[`${t}__item--selected`]:r?.value===e.value}),value:e.value,onSelect:()=>N(e),...r?.value===e.value?{ref:O}:{},children:F?F(e):i(e)},e.value))}):s.jsx("div",{className:`${t}__no-options`,children:ae})})})})]})}),E.validation?E.validation:s.jsx("p",{className:h.default(`${t}__empty-validation`),children:" "})]})]})});X.displayName="ComboBox";exports.default=X;
1
+ require('../Input/_input.css');
2
+ require('./_combobox.css');
3
+ "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const s=require("react/jsx-runtime"),q=require("../../node_modules/@radix-ui/react-popover/dist/index.cjs"),h=require("../../_virtual/index2.cjs"),w=require("../../node_modules/cmdk/dist/index.cjs"),l=require("react"),he=require("../../node_modules/usehooks-ts/dist/index.cjs"),K=require("../../utils/index.cjs"),U=require("../IconButton/IconButton.cjs"),W=require("../Button/types.cjs"),_e=require("../../utils/usePrevious.cjs");;;const be=require("../Text/Text.cjs"),ve=require("../Text/types.cjs"),xe=require("../../assets/formatted/CloseX.cjs"),$e=require("../../assets/formatted/ChevronDown.cjs"),X=l.forwardRef(function({options:c=[],className:H,id:u,labelText:S,placeholder:J,name:I,value:f,onChange:m,onBlur:Q,renderOption:F,ariaLabelDropdown:T,ariaLabelInput:Y,ariaLabelClear:Z,ariaLabelContent:ee,hideLabel:te=!1,popoverContainerRef:se,noOptionsMessage:ae="No Options.",invalid:j=!1,invalidText:le,countOfCharsBeforeDropdown:B=0,...ne},k){const{className:t,...re}=K.getCommonProps({id:u},"ComboBox"),ue=$e.default,oe=xe.default,E=K.useNormalizedInputProps({id:u,invalid:j,invalidText:le,type:"text"}),[p,A]=l.useState(!1),[ce,ie]=l.useState(""),z=_e.usePrevious(f),M=l.useCallback(e=>e.label||e.value,[]),[n,x]=l.useState(()=>{if(f!==void 0){const e=c.find(a=>a.value===f);return e?e.displayValue||M(e):""}return""}),$=l.useRef(null),y=l.useRef(null),C=l.useRef(!1),O=l.useRef(null),i=l.useCallback(e=>M(e),[M]),_=f!==void 0,V=_?f:ce,r=l.useMemo(()=>c.find(e=>e.value===V)||null,[c,V]),b=l.useMemo(()=>r?r.displayValue||i(r):"",[r,i]),d=l.useMemo(()=>{if(!n||r&&n===b)return c;const e=n.toLowerCase().trim();return c.filter(a=>{const g=i(a).toLowerCase().includes(e),D=a.value.toLowerCase().includes(e),P=a.displayValue?.toLowerCase().includes(e)||!1;let v=!1;return a.filterTerms&&a.filterTerms.length>0&&(v=a.filterTerms.some(pe=>pe.toLowerCase().includes(e))),g||D||P||v})},[n,b,r,i,c]),o=l.useCallback((e,a)=>{const g=(a?.length||n.length)>=B;(!e||e&&g)&&A(e),e&&r&&d.length>5&&requestAnimationFrame(()=>{O.current&&O.current.scrollIntoView({block:"nearest",behavior:"auto"})})},[B,n.length,r,d.length]),N=l.useCallback(e=>{_||ie(e.value);const a=e.displayValue||i(e);x(a),m&&m(e.value,e),o(!1),C.current=!0,requestAnimationFrame(()=>{C.current=!1})},[_,m,o,i]),de=e=>{o(!1),C.current=!0,e.preventDefault(),e.stopPropagation(),m&&_&&m("",null),x(""),y.current?.focus(),requestAnimationFrame(()=>{C.current=!1})},fe=()=>{A(!p),y.current?.focus()},me=e=>{x(e),e!==""&&d.length>0&&o(!0,e)},G=l.useMemo(()=>{if(_){if(f!==z)return r?b:n;if(r){const e=b;return e!==n?n:e}else return n}return n},[_,n,f,z,r,b]),L=e=>{if(r){const a=b;a!==G&&x(a)}else x("")},R=l.useCallback(()=>{const e=c.filter(a=>{const g=i(a).toLowerCase(),D=a.value.toLowerCase(),P=a.displayValue?.toLowerCase(),v=n.toLowerCase();return g===v||D===v||P===v});e.length===1&&N(e[0])},[n,c,N,i]);return he.useOnClickOutside($,e=>{e.target.closest(`.${t}__item`)||e.target.closest(`.${t}__content`)||$.current?.contains(e.target)||e.target===$.current||(R(),L(),o(!1))}),s.jsxs("div",{ref:k,className:h.default(t,H),id:u,...re,...ne,children:[I&&s.jsx("input",{type:"hidden",name:I,id:I,value:V||"",ref:e=>{typeof k=="function"&&e&&k(e)}}),s.jsxs("div",{ref:$,className:`${t}__wrapper`,children:[s.jsx(be.default,{element:"label",variant:ve.TextVariants.labelMedium,htmlFor:`${u}-input`,className:h.default(`${t}__label`,{[`${t}__label--hidden`]:te,[`${t}__label--invalid`]:j}),"data-testid":`${u}-label`,children:S}),s.jsx(w.Command,{loop:!0,onKeyDown:e=>{setTimeout(()=>{e.key==="Escape"&&o(!1)},0)},shouldFilter:!1,className:`${t}__command-wrapper`,children:s.jsxs(q.Root,{open:p,modal:!1,children:[s.jsx(q.Trigger,{asChild:!0,children:s.jsxs("div",{className:h.default(`${t}__input-wrapper`,{[`${t}__input-wrapper--invalid`]:j}),role:"combobox","aria-label":S,children:[s.jsx(w.CommandInput,{id:`${u}-input`,placeholder:J,value:G,onValueChange:me,tabIndex:0,onFocus:()=>{d.length>0&&!C.current&&!p&&o(!0)},onClick:e=>{o(!0),e.preventDefault(),e.currentTarget.focus()},onKeyDown:e=>{e.key==="Tab"?(o(!1),R(),L()):e.key==="Enter"&&!p?(m&&m(n,null),d.length===1&&N(d[0])):e.key==="Escape"?(o(!1),e.preventDefault(),R(),L()):(e.key==="ArrowDown"||e.key==="ArrowUp")&&!p&&d.length>0&&(o(!0),e.preventDefault())},onBlur:Q,className:h.default(`${t}__input`,{[`${t}__input--invalid`]:j}),"aria-label":Y,"aria-controls":`${u}-content`,"data-testid":`${u}-input`,ref:y}),n&&s.jsx(U.default,{className:`${t}__close-button`,"data-testid":`${u}-clear-button`,onClick:de,"aria-label":Z,tabIndex:-1,variant:W.ButtonVariants.tertiary,children:s.jsx(oe,{color:"currentColor",height:18,width:18,className:`${t}__icon-button`})}),s.jsx(U.default,{"aria-label":T,className:h.default(`${t}__dropdown-button`,{[`${t}__dropdown-button--open`]:p}),onClick:fe,"data-testid":`${u}-dropdown`,tabIndex:-1,variant:W.ButtonVariants.tertiary,children:s.jsx(ue,{color:"currentColor",height:18,width:18,className:`${t}__icon-button`,title:T||`${u}-dropdown`})})]})}),p&&s.jsx(q.Portal,{container:se?.current||document.body,children:s.jsx(q.Content,{id:`${u}-content`,className:`${t}__content`,"aria-label":ee,side:"bottom",sideOffset:-5,align:"start",alignOffset:0,onFocus:()=>{document.activeElement!==y.current&&y.current?.focus()},style:{width:$.current?.offsetWidth||"100%"},children:s.jsx(w.CommandList,{className:`${t}__list`,children:d.length>0?s.jsx(w.CommandGroup,{className:`${t}__group`,children:d.map(e=>s.jsx(w.CommandItem,{className:h.default(`${t}__item`,{[`${t}__item--selected`]:r?.value===e.value}),value:e.value,onSelect:()=>N(e),...r?.value===e.value?{ref:O}:{},children:F?F(e):i(e)},e.value))}):s.jsx("div",{className:`${t}__no-options`,children:ae})})})})]})}),E.validation?E.validation:s.jsx("p",{className:h.default(`${t}__empty-validation`),children:" "})]})]})});X.displayName="ComboBox";exports.default=X;