@via-profit/ui-kit 0.3.0 → 0.5.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 (1103) hide show
  1. package/Accordion/AccordionContainer.js +12 -11
  2. package/Accordion/AccordionContent.js +16 -7
  3. package/Accordion/AccordionHeader.d.ts +22 -0
  4. package/Accordion/AccordionHeader.js +37 -18
  5. package/Accordion/Chevron.js +3 -3
  6. package/Accordion/index.d.ts +12 -8
  7. package/Accordion/index.js +23 -7
  8. package/Autocomplete/AutocompleteContainer.d.ts +5 -9
  9. package/Autocomplete/AutocompleteContainer.js +91 -35
  10. package/Autocomplete/AutocompleteTagsInput.d.ts +15 -0
  11. package/Autocomplete/AutocompleteTagsInput.js +65 -0
  12. package/Autocomplete/context.d.ts +1 -0
  13. package/Autocomplete/context.js +5 -5
  14. package/Autocomplete/index.js +1 -0
  15. package/Avatar/AvatarBase.js +1 -1
  16. package/Avatar/AvatarContainer.js +6 -11
  17. package/Avatar/AvatarPicture.d.ts +10 -2
  18. package/Avatar/AvatarPicture.js +4 -3
  19. package/Avatar/index.js +11 -10
  20. package/Badge/BadgeBase.d.ts +9 -0
  21. package/Badge/BadgeBase.js +21 -3
  22. package/Badge/BadgeContainer.js +2 -1
  23. package/Badge/BadgeDeleteButton.d.ts +1 -1
  24. package/Badge/BadgeOutlined.d.ts +1 -1
  25. package/Badge/BadgeOutlined.js +5 -80
  26. package/Badge/BadgeStandard.d.ts +1 -1
  27. package/Badge/BadgeStandard.js +5 -91
  28. package/Badge/BadgeStyled.d.ts +5 -0
  29. package/Badge/BadgeStyled.js +127 -0
  30. package/Badge/index.d.ts +2 -2
  31. package/Badge/index.js +4 -20
  32. package/Button/ButtonBase.d.ts +8 -0
  33. package/Button/ButtonBase.js +10 -6
  34. package/Button/ButtonContainer.d.ts +18 -0
  35. package/Button/ButtonContainer.js +8 -2
  36. package/Button/ButtonIconWrapper.d.ts +1 -1
  37. package/Button/ButtonOutlined.d.ts +1 -1
  38. package/Button/ButtonOutlined.js +5 -80
  39. package/Button/ButtonPlain.d.ts +1 -1
  40. package/Button/ButtonPlain.js +5 -85
  41. package/Button/ButtonStandard.d.ts +1 -1
  42. package/Button/ButtonStandard.js +5 -97
  43. package/Button/ButtonStyled.d.ts +11 -0
  44. package/Button/ButtonStyled.js +41 -0
  45. package/Button/buttonVariants.d.ts +16 -0
  46. package/Button/buttonVariants.js +168 -0
  47. package/Button/index.d.ts +5 -5
  48. package/Button/index.js +19 -21
  49. package/ButtonGroup/ButtonGroupContext.d.ts +21 -0
  50. package/ButtonGroup/ButtonGroupContext.js +11 -0
  51. package/ButtonGroup/index.d.ts +76 -0
  52. package/ButtonGroup/index.js +132 -0
  53. package/CHANGELOG.md +160 -0
  54. package/Calendar/CalendarCell.js +11 -4
  55. package/Calendar/CalendarComponent.d.ts +15 -4
  56. package/Calendar/CalendarComponent.js +151 -55
  57. package/Calendar/CalendarDayBadge.d.ts +1 -1
  58. package/Calendar/CalendarMonthCell.js +1 -11
  59. package/Calendar/CalendarPaper.js +2 -1
  60. package/Calendar/CalendarWeekDayLabel.js +3 -1
  61. package/Calendar/CalendarWeekDaysBar.js +6 -1
  62. package/Calendar/CalendarYearCell.js +1 -16
  63. package/Calendar/CalendarYearsSelector.d.ts +0 -1
  64. package/Calendar/CalendarYearsSelector.js +33 -35
  65. package/Calendar/use-calendar.d.ts +1 -1
  66. package/Checkbox/CheckboxAsterisk.d.ts +13 -0
  67. package/Checkbox/CheckboxAsterisk.js +53 -0
  68. package/Checkbox/CheckboxBox.d.ts +22 -0
  69. package/Checkbox/CheckboxBox.js +90 -0
  70. package/Checkbox/CheckboxContainer.d.ts +27 -0
  71. package/Checkbox/CheckboxContainer.js +38 -0
  72. package/Checkbox/CheckboxErrorText.d.ts +6 -0
  73. package/Checkbox/CheckboxErrorText.js +76 -0
  74. package/Checkbox/CheckboxIcon.d.ts +10 -0
  75. package/Checkbox/CheckboxIcon.js +57 -0
  76. package/Checkbox/CheckboxTextWrapper.d.ts +4 -0
  77. package/Checkbox/CheckboxTextWrapper.js +29 -0
  78. package/Checkbox/CheckboxWrapper.d.ts +4 -0
  79. package/Checkbox/CheckboxWrapper.js +29 -0
  80. package/Checkbox/index.d.ts +144 -0
  81. package/Checkbox/index.js +72 -0
  82. package/Checkbox/useCheckboxColor.d.ts +6 -0
  83. package/Checkbox/useCheckboxColor.js +33 -0
  84. package/ClickOutside/index.d.ts +6 -0
  85. package/ClickOutside/index.js +7 -2
  86. package/Color/Color.d.ts +4 -4
  87. package/Color/Color.js +9 -5
  88. package/Color/ColorGenerator.d.ts +5 -1
  89. package/DatePicker/index.d.ts +19 -6
  90. package/DatePicker/index.js +59 -12
  91. package/ErrorBoundary/RenderError.d.ts +2 -0
  92. package/ErrorBoundary/RenderError.js +3 -6
  93. package/ErrorBoundary/index.d.ts +19 -6
  94. package/ErrorBoundary/index.js +7 -8
  95. package/Grid/index.d.ts +60 -0
  96. package/Grid/index.js +43 -0
  97. package/Highlighted/index.d.ts +1 -1
  98. package/Highlighted/index.js +16 -11
  99. package/LoadingIndicator/LoadingOverlay.d.ts +11 -0
  100. package/LoadingIndicator/LoadingOverlay.js +63 -0
  101. package/LoadingIndicator/Spinner.d.ts +34 -5
  102. package/LoadingIndicator/Spinner.js +48 -37
  103. package/LoadingIndicator/SpinnerCircle.d.ts +14 -0
  104. package/LoadingIndicator/SpinnerCircle.js +34 -0
  105. package/LoadingIndicator/index.d.ts +8 -3
  106. package/LoadingIndicator/index.js +9 -15
  107. package/MaskedField/index.d.ts +3 -2
  108. package/MaskedField/index.js +7 -2
  109. package/MaskedField/templates.js +2 -0
  110. package/MaskedField/useMasked.js +9 -6
  111. package/Menu/MenuContainer.d.ts +8 -0
  112. package/Menu/MenuContainer.js +102 -30
  113. package/Menu/MenuItem.js +1 -1
  114. package/Menu/MenuList.js +2 -1
  115. package/Menu/context.js +5 -0
  116. package/Modal/BaseModal/index.js +2 -1
  117. package/Modal/BaseModal/useDialogID.d.ts +6 -0
  118. package/Modal/BaseModal/useDialogID.js +12 -0
  119. package/Modal/ConfirmBox/ConfirmBoxContainer.js +5 -1
  120. package/Modal/ConfirmBox/index.js +4 -2
  121. package/Modal/Dialog/DialogInner.js +1 -1
  122. package/Modal/Dialog/index.js +14 -8
  123. package/Modal/Drawer/DrawerHeader.d.ts +20 -0
  124. package/Modal/Drawer/DrawerHeader.js +3 -3
  125. package/Modal/Drawer/DrawerInner.js +9 -1
  126. package/Modal/Drawer/index.d.ts +7 -0
  127. package/Modal/Drawer/index.js +13 -10
  128. package/Modal/MessageBox/MessageBoxContainer.js +1 -1
  129. package/Modal/MessageBox/index.js +4 -2
  130. package/PhoneField/CountryFlagComponent.js +2 -2
  131. package/PhoneField/UnknownFlag.d.ts +6 -3
  132. package/PhoneField/UnknownFlag.js +8 -31
  133. package/PhoneField/flags/BY.js +39 -0
  134. package/PhoneField/flags/CN.js +35 -0
  135. package/PhoneField/flags/IL.js +35 -0
  136. package/PhoneField/flags/JP.js +34 -0
  137. package/PhoneField/flags/KZ.js +35 -0
  138. package/PhoneField/flags/RU.js +36 -0
  139. package/PhoneField/flags/UA.js +34 -0
  140. package/PhoneField/flags/US.js +38 -0
  141. package/PhoneField/flags/Unknown.js +42 -0
  142. package/PhoneField/flags/isLabelled.d.ts +6 -0
  143. package/PhoneField/flags/isLabelled.js +7 -0
  144. package/PhoneField/index.js +45 -55
  145. package/PhoneField/templates.js +21 -22
  146. package/PhoneField/usePhoneUtils.d.ts +15 -0
  147. package/PhoneField/usePhoneUtils.js +30 -37
  148. package/Popper/Popper.d.ts +28 -8
  149. package/Popper/Popper.js +2 -1
  150. package/Popper/usePopper.d.ts +21 -31
  151. package/README.md +27 -10
  152. package/Radio/RadioBox.d.ts +14 -0
  153. package/Radio/RadioBox.js +102 -0
  154. package/Radio/RadioContainer.d.ts +27 -0
  155. package/Radio/RadioContainer.js +38 -0
  156. package/Radio/RadioTextWrapper.d.ts +4 -0
  157. package/Radio/RadioTextWrapper.js +29 -0
  158. package/Radio/index.d.ts +64 -0
  159. package/Radio/index.js +50 -0
  160. package/Radio/useRadioColor.d.ts +6 -0
  161. package/Radio/useRadioColor.js +33 -0
  162. package/RadioGroup/RadioGroupAsterisk.d.ts +13 -0
  163. package/RadioGroup/RadioGroupAsterisk.js +53 -0
  164. package/RadioGroup/RadioGroupContainer.d.ts +4 -0
  165. package/RadioGroup/RadioGroupContainer.js +36 -0
  166. package/RadioGroup/RadioGroupContext.d.ts +20 -0
  167. package/RadioGroup/RadioGroupContext.js +11 -0
  168. package/RadioGroup/RadioGroupErrorText.d.ts +6 -0
  169. package/RadioGroup/RadioGroupErrorText.js +76 -0
  170. package/RadioGroup/RadioGroupItems.d.ts +9 -0
  171. package/RadioGroup/RadioGroupItems.js +30 -0
  172. package/RadioGroup/RadioGroupLegend.d.ts +4 -0
  173. package/RadioGroup/RadioGroupLegend.js +37 -0
  174. package/RadioGroup/index.d.ts +134 -0
  175. package/RadioGroup/index.js +63 -0
  176. package/Selectbox/SelectboxButton.js +2 -0
  177. package/Selectbox/index.d.ts +18 -2
  178. package/Selectbox/index.js +24 -7
  179. package/Slider/SliderContainer.d.ts +19 -0
  180. package/Slider/SliderContainer.js +50 -0
  181. package/Slider/SliderMark.d.ts +25 -0
  182. package/Slider/SliderMark.js +40 -0
  183. package/Slider/SliderMarkLabel.d.ts +25 -0
  184. package/Slider/SliderMarkLabel.js +34 -0
  185. package/Slider/SliderRail.d.ts +13 -0
  186. package/Slider/SliderRail.js +49 -0
  187. package/Slider/SliderThumb.d.ts +37 -0
  188. package/Slider/SliderThumb.js +71 -0
  189. package/Slider/SliderTrack.d.ts +29 -0
  190. package/Slider/SliderTrack.js +48 -0
  191. package/Slider/index.d.ts +134 -0
  192. package/Slider/index.js +250 -0
  193. package/Slider/useSliderColor.d.ts +6 -0
  194. package/Slider/useSliderColor.js +33 -0
  195. package/Slider/utils.d.ts +10 -0
  196. package/Slider/utils.js +31 -0
  197. package/Stack/index.d.ts +62 -0
  198. package/Stack/index.js +38 -0
  199. package/Surface/SurfaceContainer.js +8 -1
  200. package/Surface/index.js +9 -4
  201. package/Swiper/Swiper.d.ts +28 -2
  202. package/Swiper/Swiper.js +234 -90
  203. package/Swiper/SwiperContainer.js +0 -2
  204. package/Swiper/SwiperSlidesRenderer.d.ts +8 -0
  205. package/Swiper/SwiperSlidesRenderer.js +17 -14
  206. package/Swiper/SwiperTrack.d.ts +8 -0
  207. package/Swiper/SwiperTrack.js +8 -3
  208. package/Swiper/SwiperWrapper.js +11 -1
  209. package/Switch/SwitchContainer.d.ts +1 -1
  210. package/Switch/SwitchContainer.js +5 -5
  211. package/Switch/SwitchDot.js +13 -53
  212. package/Switch/SwitchToggleWrapper.d.ts +1 -1
  213. package/Switch/SwitchToggleWrapper.js +7 -6
  214. package/Switch/SwitchTrack.js +5 -41
  215. package/Switch/index.d.ts +4 -4
  216. package/Switch/index.js +23 -12
  217. package/Switch/useSwitchColor.d.ts +7 -0
  218. package/Switch/useSwitchColor.js +33 -0
  219. package/Table/Table.d.ts +6 -0
  220. package/Table/Table.js +9 -63
  221. package/Table/TableBody.d.ts +1 -1
  222. package/Table/TableBody.js +4 -2
  223. package/Table/TableCaption.d.ts +2 -2
  224. package/Table/TableCaption.js +2 -3
  225. package/Table/TableCell.js +2 -5
  226. package/Table/TableFooter.js +8 -7
  227. package/Table/TableHeader.js +6 -2
  228. package/Table/TableHeaderCell.js +8 -9
  229. package/Table/TableRow.js +1 -5
  230. package/Tabs/Tab.d.ts +14 -0
  231. package/Tabs/Tab.js +128 -0
  232. package/Tabs/TabList.d.ts +4 -0
  233. package/Tabs/TabList.js +104 -0
  234. package/Tabs/TabPanel.d.ts +26 -0
  235. package/Tabs/TabPanel.js +51 -0
  236. package/Tabs/Tabs.d.ts +79 -0
  237. package/Tabs/Tabs.js +81 -0
  238. package/Tabs/context.d.ts +23 -0
  239. package/Tabs/context.js +16 -0
  240. package/Tabs/index.d.ts +10 -0
  241. package/Tabs/index.js +14 -0
  242. package/Tabs/useTabsColor.d.ts +6 -0
  243. package/Tabs/useTabsColor.js +33 -0
  244. package/TextArea/TextAreaIconWrapper.d.ts +1 -1
  245. package/TextArea/TextAreaInput.js +2 -0
  246. package/TextArea/index.js +3 -2
  247. package/TextField/TextFieldInput.js +2 -0
  248. package/TextField/TextFieldInputWrapper.d.ts +2 -0
  249. package/TextField/TextFieldInputWrapper.js +12 -2
  250. package/TextField/index.js +3 -2
  251. package/ThemeProvider/components.d.ts +79 -0
  252. package/ThemeProvider/components.js +3 -0
  253. package/ThemeProvider/createTheme.js +4 -3
  254. package/ThemeProvider/index.d.ts +72 -2
  255. package/ThemeProvider/index.js +5 -1
  256. package/ThemeProvider/tokens.d.ts +15 -0
  257. package/ThemeProvider/tokens.js +32 -0
  258. package/ThemeProvider/useThemeProps.d.ts +7 -0
  259. package/ThemeProvider/useThemeProps.js +34 -0
  260. package/Toast/ToastAction.d.ts +4 -0
  261. package/Toast/ToastAction.js +32 -0
  262. package/Toast/ToastCard.d.ts +20 -0
  263. package/Toast/ToastCard.js +86 -0
  264. package/Toast/ToastCloseButton.d.ts +4 -0
  265. package/Toast/ToastCloseButton.js +48 -0
  266. package/Toast/ToastContainer.d.ts +88 -0
  267. package/Toast/ToastContainer.js +155 -0
  268. package/Toast/ToastIcon.d.ts +11 -0
  269. package/Toast/ToastIcon.js +71 -0
  270. package/Toast/ToastItem.d.ts +29 -0
  271. package/Toast/ToastItem.js +120 -0
  272. package/Toast/index.d.ts +6 -0
  273. package/Toast/index.js +11 -0
  274. package/Toast/store.d.ts +155 -0
  275. package/Toast/store.js +75 -0
  276. package/Tooltip/TooltipArrow.d.ts +15 -0
  277. package/Tooltip/TooltipArrow.js +62 -0
  278. package/Tooltip/TooltipContainer.d.ts +4 -0
  279. package/Tooltip/TooltipContainer.js +52 -0
  280. package/Tooltip/index.d.ts +78 -0
  281. package/Tooltip/index.js +196 -0
  282. package/Typography/Base.d.ts +1 -1
  283. package/Typography/Base.js +1 -1
  284. package/Typography/Blockquote.js +1 -1
  285. package/Typography/Del.js +2 -2
  286. package/Typography/H4.js +1 -1
  287. package/Typography/H5.js +2 -2
  288. package/Typography/H6.d.ts +4 -0
  289. package/Typography/H6.js +28 -0
  290. package/Typography/SectionDescription.js +0 -1
  291. package/Typography/SectionTitle.d.ts +4 -7
  292. package/Typography/SectionTitle.js +26 -8
  293. package/Typography/index.d.ts +27 -0
  294. package/Typography/index.js +35 -0
  295. package/esm/Accordion/AccordionActions.js +26 -0
  296. package/esm/Accordion/AccordionContainer.js +57 -0
  297. package/esm/Accordion/AccordionContent.js +39 -0
  298. package/esm/Accordion/AccordionHeader.js +67 -0
  299. package/esm/Accordion/Chevron.js +8 -0
  300. package/esm/Accordion/index.js +53 -0
  301. package/esm/Autocomplete/AutocompleteContainer.js +403 -0
  302. package/esm/Autocomplete/AutocompleteItem.js +38 -0
  303. package/esm/Autocomplete/AutocompleteTagsInput.js +59 -0
  304. package/esm/Autocomplete/IconClear.js +4 -0
  305. package/esm/Autocomplete/context.js +58 -0
  306. package/esm/Autocomplete/index.js +32 -0
  307. package/esm/Avatar/AvatarBase.js +30 -0
  308. package/esm/Avatar/AvatarContainer.js +34 -0
  309. package/esm/Avatar/AvatarIconWrapper.js +25 -0
  310. package/esm/Avatar/AvatarOnlineBadge.js +31 -0
  311. package/esm/Avatar/AvatarPicture.js +69 -0
  312. package/esm/Avatar/AvatarTextWrapper.js +31 -0
  313. package/esm/Avatar/index.js +108 -0
  314. package/esm/Badge/BadgeBase.js +48 -0
  315. package/esm/Badge/BadgeContainer.js +38 -0
  316. package/esm/Badge/BadgeDeleteButton.js +87 -0
  317. package/esm/Badge/BadgeIconWrapper.js +24 -0
  318. package/esm/Badge/BadgeOutlined.js +7 -0
  319. package/esm/Badge/BadgeStandard.js +7 -0
  320. package/esm/Badge/BadgeStyled.js +122 -0
  321. package/esm/Badge/BadgeTextWrapper.js +25 -0
  322. package/esm/Badge/index.js +6 -0
  323. package/esm/Button/ButtonBase.js +37 -0
  324. package/esm/Button/ButtonContainer.js +56 -0
  325. package/esm/Button/ButtonIconWrapper.js +32 -0
  326. package/esm/Button/ButtonOutlined.js +7 -0
  327. package/esm/Button/ButtonPlain.js +7 -0
  328. package/esm/Button/ButtonStandard.js +7 -0
  329. package/esm/Button/ButtonStyled.js +36 -0
  330. package/esm/Button/ButtonTextWrapper.js +30 -0
  331. package/esm/Button/buttonVariants.js +161 -0
  332. package/esm/Button/index.js +24 -0
  333. package/esm/ButtonGroup/ButtonGroupContext.js +6 -0
  334. package/esm/ButtonGroup/index.js +127 -0
  335. package/esm/Calendar/CalendarBody.js +25 -0
  336. package/esm/Calendar/CalendarCell.js +62 -0
  337. package/esm/Calendar/CalendarComponent.js +666 -0
  338. package/esm/Calendar/CalendarControlButton.js +39 -0
  339. package/esm/Calendar/CalendarDateContainer.js +24 -0
  340. package/esm/Calendar/CalendarDayBadge.js +70 -0
  341. package/esm/Calendar/CalendarEmptyCell.js +32 -0
  342. package/esm/Calendar/CalendarFooter.js +37 -0
  343. package/esm/Calendar/CalendarHeader.js +29 -0
  344. package/esm/Calendar/CalendarHeading.js +28 -0
  345. package/esm/Calendar/CalendarIconNext.js +4 -0
  346. package/esm/Calendar/CalendarIconPrev.js +4 -0
  347. package/esm/Calendar/CalendarMonthCell.js +28 -0
  348. package/esm/Calendar/CalendarMonthsSelector.js +25 -0
  349. package/esm/Calendar/CalendarPaper.js +29 -0
  350. package/esm/Calendar/CalendarSubheading.js +25 -0
  351. package/esm/Calendar/CalendarToolbar.js +26 -0
  352. package/esm/Calendar/CalendarWeekDayCell.js +27 -0
  353. package/esm/Calendar/CalendarWeekDayLabel.js +14 -0
  354. package/esm/Calendar/CalendarWeekDayWeekNumber.js +33 -0
  355. package/esm/Calendar/CalendarWeekDaysBar.js +34 -0
  356. package/esm/Calendar/CalendarWeekRow.js +25 -0
  357. package/esm/Calendar/CalendarWeekRowButton.js +26 -0
  358. package/esm/Calendar/CalendarYearCell.js +28 -0
  359. package/esm/Calendar/CalendarYearsSelector.js +59 -0
  360. package/esm/Calendar/IconChevronDown.js +6 -0
  361. package/esm/Calendar/index.js +8 -0
  362. package/esm/Calendar/use-calendar.js +155 -0
  363. package/esm/Checkbox/CheckboxAsterisk.js +25 -0
  364. package/esm/Checkbox/CheckboxBox.js +85 -0
  365. package/esm/Checkbox/CheckboxContainer.js +33 -0
  366. package/esm/Checkbox/CheckboxErrorText.js +48 -0
  367. package/esm/Checkbox/CheckboxIcon.js +52 -0
  368. package/esm/Checkbox/CheckboxTextWrapper.js +24 -0
  369. package/esm/Checkbox/CheckboxWrapper.js +24 -0
  370. package/esm/Checkbox/index.js +67 -0
  371. package/esm/Checkbox/useCheckboxColor.js +28 -0
  372. package/esm/ClickOutside/index.js +52 -0
  373. package/esm/Color/Color.js +324 -0
  374. package/esm/Color/ColorGenerator.js +137 -0
  375. package/esm/Color/ColorParser.js +320 -0
  376. package/esm/Color/index.js +5 -0
  377. package/esm/DatePicker/DatePickerIcon.js +4 -0
  378. package/esm/DatePicker/index.js +176 -0
  379. package/esm/DatePicker/useDatePickerFormat.js +121 -0
  380. package/esm/ErrorBoundary/RenderError.js +49 -0
  381. package/esm/ErrorBoundary/index.js +25 -0
  382. package/esm/Grid/index.js +38 -0
  383. package/esm/Highlighted/HighlightedContainer.js +17 -0
  384. package/esm/Highlighted/HighlightedMark.js +25 -0
  385. package/esm/Highlighted/HighlightedText.js +17 -0
  386. package/esm/Highlighted/index.js +51 -0
  387. package/esm/Image/index.js +40 -0
  388. package/esm/LoadingIndicator/LoadingOverlay.js +35 -0
  389. package/esm/LoadingIndicator/Spinner.js +53 -0
  390. package/esm/LoadingIndicator/SpinnerCircle.js +27 -0
  391. package/esm/LoadingIndicator/index.js +6 -0
  392. package/esm/MaskedField/index.js +74 -0
  393. package/esm/MaskedField/templates.js +80 -0
  394. package/esm/MaskedField/useMasked.js +106 -0
  395. package/esm/Menu/MenuContainer.js +366 -0
  396. package/esm/Menu/MenuItem.js +64 -0
  397. package/esm/Menu/MenuList.js +81 -0
  398. package/esm/Menu/context.js +41 -0
  399. package/esm/Menu/index.js +10 -0
  400. package/esm/Modal/BaseModal/ModalInner.js +40 -0
  401. package/esm/Modal/BaseModal/ModalInnerContainer.js +38 -0
  402. package/esm/Modal/BaseModal/ModalOverlay.js +28 -0
  403. package/esm/Modal/BaseModal/ModalWrapper.js +172 -0
  404. package/esm/Modal/BaseModal/RenderModal.js +31 -0
  405. package/esm/Modal/BaseModal/context.js +41 -0
  406. package/esm/Modal/BaseModal/index.js +50 -0
  407. package/esm/Modal/BaseModal/useDialogID.js +7 -0
  408. package/esm/Modal/ConfirmBox/ConfirmBoxContainer.js +27 -0
  409. package/esm/Modal/ConfirmBox/ConfirmBoxContent.js +22 -0
  410. package/esm/Modal/ConfirmBox/ConfirmBoxFooter.js +41 -0
  411. package/esm/Modal/ConfirmBox/ConfirmBoxHeader.js +26 -0
  412. package/esm/Modal/ConfirmBox/index.js +47 -0
  413. package/esm/Modal/Dialog/DialogInner.js +22 -0
  414. package/esm/Modal/Dialog/index.js +31 -0
  415. package/esm/Modal/Drawer/DrawerCloseIcon.js +12 -0
  416. package/esm/Modal/Drawer/DrawerContainer.js +26 -0
  417. package/esm/Modal/Drawer/DrawerContent.js +26 -0
  418. package/esm/Modal/Drawer/DrawerFooter.js +21 -0
  419. package/esm/Modal/Drawer/DrawerHeader.js +56 -0
  420. package/esm/Modal/Drawer/DrawerInner.js +145 -0
  421. package/esm/Modal/Drawer/index.js +50 -0
  422. package/esm/Modal/MessageBox/MessageBoxContainer.js +23 -0
  423. package/esm/Modal/MessageBox/MessageBoxContent.js +22 -0
  424. package/esm/Modal/MessageBox/MessageBoxFooter.js +40 -0
  425. package/esm/Modal/MessageBox/MessageBoxHeader.js +26 -0
  426. package/esm/Modal/MessageBox/index.js +48 -0
  427. package/esm/Modal/index.js +30 -0
  428. package/esm/NoSSR/index.js +10 -0
  429. package/esm/PhoneField/CountryFlagComponent.js +39 -0
  430. package/esm/PhoneField/UnknownFlag.js +6 -0
  431. package/esm/PhoneField/flags/BY.js +11 -0
  432. package/esm/PhoneField/flags/CN.js +7 -0
  433. package/esm/PhoneField/flags/IL.js +7 -0
  434. package/esm/PhoneField/flags/JP.js +6 -0
  435. package/esm/PhoneField/flags/KZ.js +7 -0
  436. package/esm/PhoneField/flags/RU.js +8 -0
  437. package/esm/PhoneField/flags/UA.js +6 -0
  438. package/esm/PhoneField/flags/US.js +10 -0
  439. package/esm/PhoneField/flags/Unknown.js +14 -0
  440. package/esm/PhoneField/flags/isLabelled.js +5 -0
  441. package/esm/PhoneField/index.js +71 -0
  442. package/esm/PhoneField/templates.js +39 -0
  443. package/esm/PhoneField/usePhoneUtils.js +156 -0
  444. package/esm/Popper/Popper.js +98 -0
  445. package/esm/Popper/PopperContainer.js +27 -0
  446. package/esm/Popper/index.js +5 -0
  447. package/esm/Popper/usePopper.js +514 -0
  448. package/esm/Radio/RadioBox.js +97 -0
  449. package/esm/Radio/RadioContainer.js +33 -0
  450. package/esm/Radio/RadioTextWrapper.js +24 -0
  451. package/esm/Radio/index.js +45 -0
  452. package/esm/Radio/useRadioColor.js +28 -0
  453. package/esm/RadioGroup/RadioGroupAsterisk.js +25 -0
  454. package/esm/RadioGroup/RadioGroupContainer.js +31 -0
  455. package/esm/RadioGroup/RadioGroupContext.js +6 -0
  456. package/esm/RadioGroup/RadioGroupErrorText.js +48 -0
  457. package/esm/RadioGroup/RadioGroupItems.js +25 -0
  458. package/esm/RadioGroup/RadioGroupLegend.js +32 -0
  459. package/esm/RadioGroup/index.js +58 -0
  460. package/esm/Selectbox/SelectboxButton.js +54 -0
  461. package/esm/Selectbox/SelectboxButtonWrapper.js +34 -0
  462. package/esm/Selectbox/SelectboxChevronIcon.js +23 -0
  463. package/esm/Selectbox/SelectboxContainer.js +23 -0
  464. package/esm/Selectbox/SelectboxMenu.js +30 -0
  465. package/esm/Selectbox/index.js +129 -0
  466. package/esm/Slider/SliderContainer.js +45 -0
  467. package/esm/Slider/SliderMark.js +35 -0
  468. package/esm/Slider/SliderMarkLabel.js +29 -0
  469. package/esm/Slider/SliderRail.js +44 -0
  470. package/esm/Slider/SliderThumb.js +66 -0
  471. package/esm/Slider/SliderTrack.js +43 -0
  472. package/esm/Slider/index.js +245 -0
  473. package/esm/Slider/useSliderColor.js +28 -0
  474. package/esm/Slider/utils.js +25 -0
  475. package/esm/Stack/index.js +33 -0
  476. package/esm/Surface/SurfaceContainer.js +41 -0
  477. package/esm/Surface/SurfaceContent.js +34 -0
  478. package/esm/Surface/SurfaceFooter.js +26 -0
  479. package/esm/Surface/SurfaceHeader.js +25 -0
  480. package/esm/Surface/SurfaceSubheader.js +24 -0
  481. package/esm/Surface/index.js +44 -0
  482. package/esm/Swiper/Swiper.js +519 -0
  483. package/esm/Swiper/SwiperContainer.js +7 -0
  484. package/esm/Swiper/SwiperSlide.js +29 -0
  485. package/esm/Swiper/SwiperSlidesRenderer.js +52 -0
  486. package/esm/Swiper/SwiperTrack.js +31 -0
  487. package/esm/Swiper/SwiperWrapper.js +41 -0
  488. package/esm/Swiper/index.js +7 -0
  489. package/esm/Switch/SwitchAsterisk.js +25 -0
  490. package/esm/Switch/SwitchContainer.js +47 -0
  491. package/esm/Switch/SwitchDot.js +100 -0
  492. package/esm/Switch/SwitchErrorText.js +48 -0
  493. package/esm/Switch/SwitchTextWrapper.js +25 -0
  494. package/esm/Switch/SwitchToggleWrapper.js +53 -0
  495. package/esm/Switch/SwitchTrack.js +39 -0
  496. package/esm/Switch/SwitchWrapper.js +26 -0
  497. package/esm/Switch/index.js +62 -0
  498. package/esm/Switch/useSwitchColor.js +28 -0
  499. package/esm/Table/Table.js +41 -0
  500. package/esm/Table/TableBody.js +27 -0
  501. package/esm/Table/TableCaption.js +24 -0
  502. package/esm/Table/TableCell.js +23 -0
  503. package/esm/Table/TableFooter.js +32 -0
  504. package/esm/Table/TableHeader.js +29 -0
  505. package/esm/Table/TableHeaderCell.js +29 -0
  506. package/esm/Table/TableRow.js +21 -0
  507. package/esm/Table/index.js +18 -0
  508. package/esm/Tabs/Tab.js +123 -0
  509. package/esm/Tabs/TabList.js +99 -0
  510. package/esm/Tabs/TabPanel.js +46 -0
  511. package/esm/Tabs/Tabs.js +76 -0
  512. package/esm/Tabs/context.js +9 -0
  513. package/esm/Tabs/index.js +5 -0
  514. package/esm/Tabs/useTabsColor.js +28 -0
  515. package/esm/TextArea/TextAreaIconWrapper.js +25 -0
  516. package/esm/TextArea/TextAreaInput.js +46 -0
  517. package/esm/TextArea/index.js +67 -0
  518. package/esm/TextField/TextFieldContainer.js +26 -0
  519. package/esm/TextField/TextFieldErrorText.js +48 -0
  520. package/esm/TextField/TextFieldIconWrapper.js +46 -0
  521. package/esm/TextField/TextFieldInput.js +46 -0
  522. package/esm/TextField/TextFieldInputWrapper.js +59 -0
  523. package/esm/TextField/TextFieldLabel.js +23 -0
  524. package/esm/TextField/TextFieldLabelAsterisk.js +24 -0
  525. package/esm/TextField/index.js +87 -0
  526. package/esm/ThemeProvider/components.js +2 -0
  527. package/esm/ThemeProvider/createTheme.js +42 -0
  528. package/esm/ThemeProvider/index.js +12 -0
  529. package/esm/ThemeProvider/tokens.js +26 -0
  530. package/esm/ThemeProvider/useThemeProps.js +29 -0
  531. package/esm/Toast/ToastAction.js +27 -0
  532. package/esm/Toast/ToastCard.js +80 -0
  533. package/esm/Toast/ToastCloseButton.js +43 -0
  534. package/esm/Toast/ToastContainer.js +150 -0
  535. package/esm/Toast/ToastIcon.js +66 -0
  536. package/esm/Toast/ToastItem.js +115 -0
  537. package/esm/Toast/index.js +4 -0
  538. package/esm/Toast/store.js +72 -0
  539. package/esm/Tooltip/TooltipArrow.js +57 -0
  540. package/esm/Tooltip/TooltipContainer.js +47 -0
  541. package/esm/Tooltip/index.js +191 -0
  542. package/esm/Typography/Base.js +11 -0
  543. package/esm/Typography/Blockquote.js +18 -0
  544. package/esm/Typography/Del.js +22 -0
  545. package/esm/Typography/Em.js +22 -0
  546. package/esm/Typography/H1.js +23 -0
  547. package/esm/Typography/H2.js +23 -0
  548. package/esm/Typography/H3.js +23 -0
  549. package/esm/Typography/H4.js +23 -0
  550. package/esm/Typography/H5.js +23 -0
  551. package/esm/Typography/H6.js +23 -0
  552. package/esm/Typography/List.js +26 -0
  553. package/esm/Typography/Paragraph.js +24 -0
  554. package/esm/Typography/SectionDescription.js +11 -0
  555. package/esm/Typography/SectionTitle.js +44 -0
  556. package/esm/Typography/Span.js +22 -0
  557. package/esm/Typography/Strong.js +22 -0
  558. package/esm/Typography/U.js +5 -0
  559. package/esm/Typography/index.js +20 -0
  560. package/esm/index.js +1 -0
  561. package/esm/utils/TabManager.js +139 -0
  562. package/esm/utils/spacing.js +10 -0
  563. package/package.json +1562 -76
  564. package/utils/spacing.d.ts +11 -0
  565. package/utils/spacing.js +14 -0
  566. package/Autocomplete/OverrideMenuList.d.ts +0 -4
  567. package/Autocomplete/OverrideMenuList.js +0 -39
  568. package/Autocomplete2/Autocomplete2.d.ts +0 -12
  569. package/Autocomplete2/Autocomplete2.js +0 -83
  570. package/Autocomplete2/Autocomplete2TextField.d.ts +0 -7
  571. package/Autocomplete2/Autocomplete2TextField.js +0 -39
  572. package/Autocomplete2/index.d.ts +0 -2
  573. package/Autocomplete2/index.js +0 -7
  574. package/CountryFlags/AC.js +0 -53
  575. package/CountryFlags/AD.js +0 -39
  576. package/CountryFlags/AE.js +0 -32
  577. package/CountryFlags/AF.js +0 -33
  578. package/CountryFlags/AG.js +0 -35
  579. package/CountryFlags/AI.js +0 -37
  580. package/CountryFlags/AL.js +0 -35
  581. package/CountryFlags/AM.d.ts +0 -3
  582. package/CountryFlags/AM.js +0 -31
  583. package/CountryFlags/AO.d.ts +0 -3
  584. package/CountryFlags/AO.js +0 -35
  585. package/CountryFlags/AQ.d.ts +0 -3
  586. package/CountryFlags/AQ.js +0 -30
  587. package/CountryFlags/AR.d.ts +0 -3
  588. package/CountryFlags/AR.js +0 -31
  589. package/CountryFlags/AS.d.ts +0 -3
  590. package/CountryFlags/AS.js +0 -33
  591. package/CountryFlags/AT.d.ts +0 -3
  592. package/CountryFlags/AT.js +0 -30
  593. package/CountryFlags/AU.d.ts +0 -3
  594. package/CountryFlags/AU.js +0 -41
  595. package/CountryFlags/AW.d.ts +0 -3
  596. package/CountryFlags/AW.js +0 -33
  597. package/CountryFlags/AX.d.ts +0 -3
  598. package/CountryFlags/AX.js +0 -31
  599. package/CountryFlags/AZ.d.ts +0 -3
  600. package/CountryFlags/AZ.js +0 -34
  601. package/CountryFlags/BA.d.ts +0 -3
  602. package/CountryFlags/BA.js +0 -40
  603. package/CountryFlags/BB.d.ts +0 -3
  604. package/CountryFlags/BB.js +0 -32
  605. package/CountryFlags/BD.d.ts +0 -3
  606. package/CountryFlags/BD.js +0 -30
  607. package/CountryFlags/BE.d.ts +0 -3
  608. package/CountryFlags/BE.js +0 -31
  609. package/CountryFlags/BF.d.ts +0 -3
  610. package/CountryFlags/BF.js +0 -31
  611. package/CountryFlags/BG.d.ts +0 -3
  612. package/CountryFlags/BG.js +0 -31
  613. package/CountryFlags/BH.d.ts +0 -3
  614. package/CountryFlags/BH.js +0 -30
  615. package/CountryFlags/BI.d.ts +0 -3
  616. package/CountryFlags/BI.js +0 -36
  617. package/CountryFlags/BJ.d.ts +0 -3
  618. package/CountryFlags/BJ.js +0 -31
  619. package/CountryFlags/BL.d.ts +0 -3
  620. package/CountryFlags/BL.js +0 -39
  621. package/CountryFlags/BM.d.ts +0 -3
  622. package/CountryFlags/BM.js +0 -40
  623. package/CountryFlags/BN.d.ts +0 -3
  624. package/CountryFlags/BN.js +0 -34
  625. package/CountryFlags/BO.d.ts +0 -3
  626. package/CountryFlags/BO.js +0 -31
  627. package/CountryFlags/BQ.d.ts +0 -3
  628. package/CountryFlags/BQ.js +0 -33
  629. package/CountryFlags/BR.d.ts +0 -3
  630. package/CountryFlags/BR.js +0 -32
  631. package/CountryFlags/BS.d.ts +0 -3
  632. package/CountryFlags/BS.js +0 -32
  633. package/CountryFlags/BT.d.ts +0 -3
  634. package/CountryFlags/BT.js +0 -31
  635. package/CountryFlags/BV.d.ts +0 -3
  636. package/CountryFlags/BV.js +0 -33
  637. package/CountryFlags/BW.d.ts +0 -3
  638. package/CountryFlags/BW.js +0 -32
  639. package/CountryFlags/BY.js +0 -35
  640. package/CountryFlags/BZ.d.ts +0 -3
  641. package/CountryFlags/BZ.js +0 -36
  642. package/CountryFlags/CA.d.ts +0 -3
  643. package/CountryFlags/CA.js +0 -31
  644. package/CountryFlags/CC.d.ts +0 -3
  645. package/CountryFlags/CC.js +0 -33
  646. package/CountryFlags/CD.d.ts +0 -3
  647. package/CountryFlags/CD.js +0 -32
  648. package/CountryFlags/CF.d.ts +0 -3
  649. package/CountryFlags/CF.js +0 -36
  650. package/CountryFlags/CG.d.ts +0 -3
  651. package/CountryFlags/CG.js +0 -31
  652. package/CountryFlags/CH.d.ts +0 -3
  653. package/CountryFlags/CH.js +0 -30
  654. package/CountryFlags/CI.d.ts +0 -3
  655. package/CountryFlags/CI.js +0 -31
  656. package/CountryFlags/CK.d.ts +0 -3
  657. package/CountryFlags/CK.js +0 -34
  658. package/CountryFlags/CL.d.ts +0 -3
  659. package/CountryFlags/CL.js +0 -32
  660. package/CountryFlags/CM.d.ts +0 -3
  661. package/CountryFlags/CM.js +0 -32
  662. package/CountryFlags/CN.js +0 -31
  663. package/CountryFlags/CO.d.ts +0 -3
  664. package/CountryFlags/CO.js +0 -31
  665. package/CountryFlags/CR.d.ts +0 -3
  666. package/CountryFlags/CR.js +0 -31
  667. package/CountryFlags/CU.d.ts +0 -3
  668. package/CountryFlags/CU.js +0 -34
  669. package/CountryFlags/CV.d.ts +0 -3
  670. package/CountryFlags/CV.js +0 -33
  671. package/CountryFlags/CW.d.ts +0 -3
  672. package/CountryFlags/CW.js +0 -32
  673. package/CountryFlags/CX.d.ts +0 -3
  674. package/CountryFlags/CX.js +0 -35
  675. package/CountryFlags/CY.d.ts +0 -3
  676. package/CountryFlags/CY.js +0 -34
  677. package/CountryFlags/CZ.d.ts +0 -3
  678. package/CountryFlags/CZ.js +0 -31
  679. package/CountryFlags/DE.d.ts +0 -3
  680. package/CountryFlags/DE.js +0 -31
  681. package/CountryFlags/DJ.d.ts +0 -3
  682. package/CountryFlags/DJ.js +0 -32
  683. package/CountryFlags/DK.d.ts +0 -3
  684. package/CountryFlags/DK.js +0 -30
  685. package/CountryFlags/DM.d.ts +0 -3
  686. package/CountryFlags/DM.js +0 -39
  687. package/CountryFlags/DO.d.ts +0 -3
  688. package/CountryFlags/DO.js +0 -38
  689. package/CountryFlags/DZ.d.ts +0 -3
  690. package/CountryFlags/DZ.js +0 -33
  691. package/CountryFlags/EC.d.ts +0 -3
  692. package/CountryFlags/EC.js +0 -35
  693. package/CountryFlags/EE.d.ts +0 -3
  694. package/CountryFlags/EE.js +0 -31
  695. package/CountryFlags/EG.d.ts +0 -3
  696. package/CountryFlags/EG.js +0 -32
  697. package/CountryFlags/EH.d.ts +0 -3
  698. package/CountryFlags/EH.js +0 -34
  699. package/CountryFlags/ER.d.ts +0 -3
  700. package/CountryFlags/ER.js +0 -40
  701. package/CountryFlags/ES.d.ts +0 -3
  702. package/CountryFlags/ES.js +0 -34
  703. package/CountryFlags/ET.d.ts +0 -3
  704. package/CountryFlags/ET.js +0 -37
  705. package/CountryFlags/EU.d.ts +0 -3
  706. package/CountryFlags/EU.js +0 -30
  707. package/CountryFlags/FI.d.ts +0 -3
  708. package/CountryFlags/FI.js +0 -30
  709. package/CountryFlags/FJ.d.ts +0 -3
  710. package/CountryFlags/FJ.js +0 -36
  711. package/CountryFlags/FK.d.ts +0 -3
  712. package/CountryFlags/FK.js +0 -43
  713. package/CountryFlags/FM.d.ts +0 -3
  714. package/CountryFlags/FM.js +0 -31
  715. package/CountryFlags/FO.d.ts +0 -3
  716. package/CountryFlags/FO.js +0 -31
  717. package/CountryFlags/FR.d.ts +0 -3
  718. package/CountryFlags/FR.js +0 -31
  719. package/CountryFlags/GA.d.ts +0 -3
  720. package/CountryFlags/GA.js +0 -31
  721. package/CountryFlags/GB.d.ts +0 -3
  722. package/CountryFlags/GB.js +0 -36
  723. package/CountryFlags/GD.d.ts +0 -3
  724. package/CountryFlags/GD.js +0 -38
  725. package/CountryFlags/GE.d.ts +0 -3
  726. package/CountryFlags/GE.js +0 -31
  727. package/CountryFlags/GEAB.d.ts +0 -3
  728. package/CountryFlags/GEAB.js +0 -40
  729. package/CountryFlags/GEOS.d.ts +0 -3
  730. package/CountryFlags/GEOS.js +0 -31
  731. package/CountryFlags/GF.d.ts +0 -3
  732. package/CountryFlags/GF.js +0 -31
  733. package/CountryFlags/GG.d.ts +0 -3
  734. package/CountryFlags/GG.js +0 -31
  735. package/CountryFlags/GH.d.ts +0 -3
  736. package/CountryFlags/GH.js +0 -32
  737. package/CountryFlags/GI.d.ts +0 -3
  738. package/CountryFlags/GI.js +0 -34
  739. package/CountryFlags/GL.d.ts +0 -3
  740. package/CountryFlags/GL.js +0 -32
  741. package/CountryFlags/GM.d.ts +0 -3
  742. package/CountryFlags/GM.js +0 -32
  743. package/CountryFlags/GN.d.ts +0 -3
  744. package/CountryFlags/GN.js +0 -31
  745. package/CountryFlags/GP.d.ts +0 -3
  746. package/CountryFlags/GP.js +0 -31
  747. package/CountryFlags/GQ.d.ts +0 -3
  748. package/CountryFlags/GQ.js +0 -37
  749. package/CountryFlags/GR.d.ts +0 -3
  750. package/CountryFlags/GR.js +0 -35
  751. package/CountryFlags/GS.d.ts +0 -3
  752. package/CountryFlags/GS.js +0 -49
  753. package/CountryFlags/GT.d.ts +0 -3
  754. package/CountryFlags/GT.js +0 -33
  755. package/CountryFlags/GU.d.ts +0 -3
  756. package/CountryFlags/GU.js +0 -37
  757. package/CountryFlags/GW.d.ts +0 -3
  758. package/CountryFlags/GW.js +0 -32
  759. package/CountryFlags/GY.d.ts +0 -3
  760. package/CountryFlags/GY.js +0 -33
  761. package/CountryFlags/HK.d.ts +0 -3
  762. package/CountryFlags/HK.js +0 -32
  763. package/CountryFlags/HM.d.ts +0 -3
  764. package/CountryFlags/HM.js +0 -41
  765. package/CountryFlags/HN.d.ts +0 -3
  766. package/CountryFlags/HN.js +0 -31
  767. package/CountryFlags/HR.d.ts +0 -3
  768. package/CountryFlags/HR.js +0 -38
  769. package/CountryFlags/HT.d.ts +0 -3
  770. package/CountryFlags/HT.js +0 -36
  771. package/CountryFlags/HU.d.ts +0 -3
  772. package/CountryFlags/HU.js +0 -31
  773. package/CountryFlags/IC.d.ts +0 -3
  774. package/CountryFlags/IC.js +0 -31
  775. package/CountryFlags/ID.d.ts +0 -3
  776. package/CountryFlags/ID.js +0 -30
  777. package/CountryFlags/IE.d.ts +0 -3
  778. package/CountryFlags/IE.js +0 -31
  779. package/CountryFlags/IL.d.ts +0 -3
  780. package/CountryFlags/IL.js +0 -31
  781. package/CountryFlags/IM.d.ts +0 -3
  782. package/CountryFlags/IM.js +0 -31
  783. package/CountryFlags/IN.d.ts +0 -3
  784. package/CountryFlags/IN.js +0 -35
  785. package/CountryFlags/IO.d.ts +0 -3
  786. package/CountryFlags/IO.js +0 -41
  787. package/CountryFlags/IQ.d.ts +0 -3
  788. package/CountryFlags/IQ.js +0 -33
  789. package/CountryFlags/IR.d.ts +0 -3
  790. package/CountryFlags/IR.js +0 -34
  791. package/CountryFlags/IS.d.ts +0 -3
  792. package/CountryFlags/IS.js +0 -31
  793. package/CountryFlags/IT.d.ts +0 -3
  794. package/CountryFlags/IT.js +0 -31
  795. package/CountryFlags/JE.d.ts +0 -3
  796. package/CountryFlags/JE.js +0 -32
  797. package/CountryFlags/JM.d.ts +0 -3
  798. package/CountryFlags/JM.js +0 -32
  799. package/CountryFlags/JO.d.ts +0 -3
  800. package/CountryFlags/JO.js +0 -33
  801. package/CountryFlags/JP.d.ts +0 -3
  802. package/CountryFlags/JP.js +0 -30
  803. package/CountryFlags/KE.d.ts +0 -3
  804. package/CountryFlags/KE.js +0 -38
  805. package/CountryFlags/KG.d.ts +0 -3
  806. package/CountryFlags/KG.js +0 -35
  807. package/CountryFlags/KH.d.ts +0 -3
  808. package/CountryFlags/KH.js +0 -32
  809. package/CountryFlags/KI.d.ts +0 -3
  810. package/CountryFlags/KI.js +0 -35
  811. package/CountryFlags/KM.d.ts +0 -3
  812. package/CountryFlags/KM.js +0 -37
  813. package/CountryFlags/KN.d.ts +0 -3
  814. package/CountryFlags/KN.js +0 -34
  815. package/CountryFlags/KP.d.ts +0 -3
  816. package/CountryFlags/KP.js +0 -35
  817. package/CountryFlags/KR.d.ts +0 -3
  818. package/CountryFlags/KR.js +0 -38
  819. package/CountryFlags/KW.d.ts +0 -3
  820. package/CountryFlags/KW.js +0 -32
  821. package/CountryFlags/KY.d.ts +0 -3
  822. package/CountryFlags/KY.js +0 -41
  823. package/CountryFlags/KZ.d.ts +0 -3
  824. package/CountryFlags/KZ.js +0 -31
  825. package/CountryFlags/LA.d.ts +0 -3
  826. package/CountryFlags/LA.js +0 -32
  827. package/CountryFlags/LB.d.ts +0 -3
  828. package/CountryFlags/LB.js +0 -33
  829. package/CountryFlags/LC.d.ts +0 -3
  830. package/CountryFlags/LC.js +0 -32
  831. package/CountryFlags/LI.d.ts +0 -3
  832. package/CountryFlags/LI.js +0 -31
  833. package/CountryFlags/LK.d.ts +0 -3
  834. package/CountryFlags/LK.js +0 -36
  835. package/CountryFlags/LR.d.ts +0 -3
  836. package/CountryFlags/LR.js +0 -33
  837. package/CountryFlags/LS.d.ts +0 -3
  838. package/CountryFlags/LS.js +0 -33
  839. package/CountryFlags/LT.d.ts +0 -3
  840. package/CountryFlags/LT.js +0 -31
  841. package/CountryFlags/LU.d.ts +0 -3
  842. package/CountryFlags/LU.js +0 -31
  843. package/CountryFlags/LV.d.ts +0 -3
  844. package/CountryFlags/LV.js +0 -31
  845. package/CountryFlags/LY.d.ts +0 -3
  846. package/CountryFlags/LY.js +0 -34
  847. package/CountryFlags/MA.d.ts +0 -3
  848. package/CountryFlags/MA.js +0 -30
  849. package/CountryFlags/MC.d.ts +0 -3
  850. package/CountryFlags/MC.js +0 -30
  851. package/CountryFlags/MD.d.ts +0 -3
  852. package/CountryFlags/MD.js +0 -32
  853. package/CountryFlags/ME.d.ts +0 -3
  854. package/CountryFlags/ME.js +0 -32
  855. package/CountryFlags/MF.d.ts +0 -3
  856. package/CountryFlags/MF.js +0 -33
  857. package/CountryFlags/MG.d.ts +0 -3
  858. package/CountryFlags/MG.js +0 -31
  859. package/CountryFlags/MH.d.ts +0 -3
  860. package/CountryFlags/MH.js +0 -32
  861. package/CountryFlags/MK.d.ts +0 -3
  862. package/CountryFlags/MK.js +0 -33
  863. package/CountryFlags/ML.d.ts +0 -3
  864. package/CountryFlags/ML.js +0 -31
  865. package/CountryFlags/MM.d.ts +0 -3
  866. package/CountryFlags/MM.js +0 -32
  867. package/CountryFlags/MN.d.ts +0 -3
  868. package/CountryFlags/MN.js +0 -37
  869. package/CountryFlags/MO.d.ts +0 -3
  870. package/CountryFlags/MO.js +0 -34
  871. package/CountryFlags/MP.d.ts +0 -3
  872. package/CountryFlags/MP.js +0 -35
  873. package/CountryFlags/MQ.d.ts +0 -3
  874. package/CountryFlags/MQ.js +0 -32
  875. package/CountryFlags/MR.d.ts +0 -3
  876. package/CountryFlags/MR.js +0 -32
  877. package/CountryFlags/MS.d.ts +0 -3
  878. package/CountryFlags/MS.js +0 -40
  879. package/CountryFlags/MT.d.ts +0 -3
  880. package/CountryFlags/MT.js +0 -31
  881. package/CountryFlags/MU.d.ts +0 -3
  882. package/CountryFlags/MU.js +0 -32
  883. package/CountryFlags/MV.d.ts +0 -3
  884. package/CountryFlags/MV.js +0 -31
  885. package/CountryFlags/MW.d.ts +0 -3
  886. package/CountryFlags/MW.js +0 -32
  887. package/CountryFlags/MX.d.ts +0 -3
  888. package/CountryFlags/MX.js +0 -33
  889. package/CountryFlags/MY.d.ts +0 -3
  890. package/CountryFlags/MY.js +0 -33
  891. package/CountryFlags/MZ.d.ts +0 -3
  892. package/CountryFlags/MZ.js +0 -34
  893. package/CountryFlags/NA.d.ts +0 -3
  894. package/CountryFlags/NA.js +0 -33
  895. package/CountryFlags/NC.d.ts +0 -3
  896. package/CountryFlags/NC.js +0 -38
  897. package/CountryFlags/NE.d.ts +0 -3
  898. package/CountryFlags/NE.js +0 -32
  899. package/CountryFlags/NF.d.ts +0 -3
  900. package/CountryFlags/NF.js +0 -31
  901. package/CountryFlags/NG.d.ts +0 -3
  902. package/CountryFlags/NG.js +0 -31
  903. package/CountryFlags/NI.d.ts +0 -3
  904. package/CountryFlags/NI.js +0 -35
  905. package/CountryFlags/NL.d.ts +0 -3
  906. package/CountryFlags/NL.js +0 -31
  907. package/CountryFlags/NO.d.ts +0 -3
  908. package/CountryFlags/NO.js +0 -31
  909. package/CountryFlags/NP.d.ts +0 -3
  910. package/CountryFlags/NP.js +0 -34
  911. package/CountryFlags/NR.d.ts +0 -3
  912. package/CountryFlags/NR.js +0 -31
  913. package/CountryFlags/NU.d.ts +0 -3
  914. package/CountryFlags/NU.js +0 -53
  915. package/CountryFlags/NZ.d.ts +0 -3
  916. package/CountryFlags/NZ.js +0 -41
  917. package/CountryFlags/OM.d.ts +0 -3
  918. package/CountryFlags/OM.js +0 -34
  919. package/CountryFlags/PA.d.ts +0 -3
  920. package/CountryFlags/PA.js +0 -33
  921. package/CountryFlags/PE.d.ts +0 -3
  922. package/CountryFlags/PE.js +0 -31
  923. package/CountryFlags/PF.d.ts +0 -3
  924. package/CountryFlags/PF.js +0 -35
  925. package/CountryFlags/PG.d.ts +0 -3
  926. package/CountryFlags/PG.js +0 -33
  927. package/CountryFlags/PH.d.ts +0 -3
  928. package/CountryFlags/PH.js +0 -33
  929. package/CountryFlags/PK.d.ts +0 -3
  930. package/CountryFlags/PK.js +0 -34
  931. package/CountryFlags/PL.d.ts +0 -3
  932. package/CountryFlags/PL.js +0 -32
  933. package/CountryFlags/PM.d.ts +0 -3
  934. package/CountryFlags/PM.js +0 -32
  935. package/CountryFlags/PN.d.ts +0 -3
  936. package/CountryFlags/PN.js +0 -43
  937. package/CountryFlags/PR.d.ts +0 -3
  938. package/CountryFlags/PR.js +0 -33
  939. package/CountryFlags/PS.d.ts +0 -3
  940. package/CountryFlags/PS.js +0 -32
  941. package/CountryFlags/PT.d.ts +0 -3
  942. package/CountryFlags/PT.js +0 -33
  943. package/CountryFlags/PW.d.ts +0 -3
  944. package/CountryFlags/PW.js +0 -30
  945. package/CountryFlags/PY.d.ts +0 -3
  946. package/CountryFlags/PY.js +0 -33
  947. package/CountryFlags/QA.d.ts +0 -3
  948. package/CountryFlags/QA.js +0 -30
  949. package/CountryFlags/RE.d.ts +0 -3
  950. package/CountryFlags/RE.js +0 -32
  951. package/CountryFlags/RO.d.ts +0 -3
  952. package/CountryFlags/RO.js +0 -31
  953. package/CountryFlags/RS.d.ts +0 -3
  954. package/CountryFlags/RS.js +0 -35
  955. package/CountryFlags/RU.d.ts +0 -3
  956. package/CountryFlags/RU.js +0 -32
  957. package/CountryFlags/RW.d.ts +0 -3
  958. package/CountryFlags/RW.js +0 -32
  959. package/CountryFlags/SA.d.ts +0 -3
  960. package/CountryFlags/SA.js +0 -33
  961. package/CountryFlags/SB.d.ts +0 -3
  962. package/CountryFlags/SB.js +0 -33
  963. package/CountryFlags/SC.d.ts +0 -3
  964. package/CountryFlags/SC.js +0 -33
  965. package/CountryFlags/SD.d.ts +0 -3
  966. package/CountryFlags/SD.js +0 -32
  967. package/CountryFlags/SE.d.ts +0 -3
  968. package/CountryFlags/SE.js +0 -30
  969. package/CountryFlags/SG.d.ts +0 -3
  970. package/CountryFlags/SG.js +0 -33
  971. package/CountryFlags/SH.d.ts +0 -3
  972. package/CountryFlags/SH.js +0 -43
  973. package/CountryFlags/SI.d.ts +0 -3
  974. package/CountryFlags/SI.js +0 -34
  975. package/CountryFlags/SJ.d.ts +0 -3
  976. package/CountryFlags/SJ.js +0 -31
  977. package/CountryFlags/SK.d.ts +0 -3
  978. package/CountryFlags/SK.js +0 -35
  979. package/CountryFlags/SL.d.ts +0 -3
  980. package/CountryFlags/SL.js +0 -31
  981. package/CountryFlags/SM.d.ts +0 -3
  982. package/CountryFlags/SM.js +0 -35
  983. package/CountryFlags/SN.d.ts +0 -3
  984. package/CountryFlags/SN.js +0 -32
  985. package/CountryFlags/SO.d.ts +0 -3
  986. package/CountryFlags/SO.js +0 -30
  987. package/CountryFlags/SR.d.ts +0 -3
  988. package/CountryFlags/SR.js +0 -33
  989. package/CountryFlags/SS.d.ts +0 -3
  990. package/CountryFlags/SS.js +0 -34
  991. package/CountryFlags/ST.d.ts +0 -3
  992. package/CountryFlags/ST.js +0 -33
  993. package/CountryFlags/SV.d.ts +0 -3
  994. package/CountryFlags/SV.js +0 -34
  995. package/CountryFlags/SX.d.ts +0 -3
  996. package/CountryFlags/SX.js +0 -37
  997. package/CountryFlags/SY.d.ts +0 -3
  998. package/CountryFlags/SY.js +0 -33
  999. package/CountryFlags/SZ.d.ts +0 -3
  1000. package/CountryFlags/SZ.js +0 -35
  1001. package/CountryFlags/SwiperOverview.d.ts +0 -257
  1002. package/CountryFlags/SwiperOverview.js +0 -524
  1003. package/CountryFlags/TA.d.ts +0 -3
  1004. package/CountryFlags/TA.js +0 -47
  1005. package/CountryFlags/TC.d.ts +0 -3
  1006. package/CountryFlags/TC.js +0 -44
  1007. package/CountryFlags/TD.d.ts +0 -3
  1008. package/CountryFlags/TD.js +0 -31
  1009. package/CountryFlags/TF.d.ts +0 -3
  1010. package/CountryFlags/TF.js +0 -34
  1011. package/CountryFlags/TG.d.ts +0 -3
  1012. package/CountryFlags/TG.js +0 -33
  1013. package/CountryFlags/TH.d.ts +0 -3
  1014. package/CountryFlags/TH.js +0 -32
  1015. package/CountryFlags/TJ.d.ts +0 -3
  1016. package/CountryFlags/TJ.js +0 -33
  1017. package/CountryFlags/TK.d.ts +0 -3
  1018. package/CountryFlags/TK.js +0 -33
  1019. package/CountryFlags/TL.d.ts +0 -3
  1020. package/CountryFlags/TL.js +0 -32
  1021. package/CountryFlags/TM.d.ts +0 -3
  1022. package/CountryFlags/TM.js +0 -45
  1023. package/CountryFlags/TN.d.ts +0 -3
  1024. package/CountryFlags/TN.js +0 -33
  1025. package/CountryFlags/TO.d.ts +0 -3
  1026. package/CountryFlags/TO.js +0 -31
  1027. package/CountryFlags/TR.d.ts +0 -3
  1028. package/CountryFlags/TR.js +0 -30
  1029. package/CountryFlags/TT.d.ts +0 -3
  1030. package/CountryFlags/TT.js +0 -31
  1031. package/CountryFlags/TV.d.ts +0 -3
  1032. package/CountryFlags/TV.js +0 -36
  1033. package/CountryFlags/TW.d.ts +0 -3
  1034. package/CountryFlags/TW.js +0 -33
  1035. package/CountryFlags/TZ.d.ts +0 -3
  1036. package/CountryFlags/TZ.js +0 -32
  1037. package/CountryFlags/UA.d.ts +0 -3
  1038. package/CountryFlags/UA.js +0 -30
  1039. package/CountryFlags/UG.d.ts +0 -3
  1040. package/CountryFlags/UG.js +0 -35
  1041. package/CountryFlags/UM.d.ts +0 -3
  1042. package/CountryFlags/UM.js +0 -34
  1043. package/CountryFlags/US.d.ts +0 -3
  1044. package/CountryFlags/US.js +0 -34
  1045. package/CountryFlags/UY.d.ts +0 -3
  1046. package/CountryFlags/UY.js +0 -33
  1047. package/CountryFlags/UZ.d.ts +0 -3
  1048. package/CountryFlags/UZ.js +0 -35
  1049. package/CountryFlags/Uknown.d.ts +0 -3
  1050. package/CountryFlags/Uknown.js +0 -34
  1051. package/CountryFlags/VA.d.ts +0 -3
  1052. package/CountryFlags/VA.js +0 -32
  1053. package/CountryFlags/VC.d.ts +0 -3
  1054. package/CountryFlags/VC.js +0 -32
  1055. package/CountryFlags/VE.d.ts +0 -3
  1056. package/CountryFlags/VE.js +0 -32
  1057. package/CountryFlags/VG.d.ts +0 -3
  1058. package/CountryFlags/VG.js +0 -45
  1059. package/CountryFlags/VI.d.ts +0 -3
  1060. package/CountryFlags/VI.js +0 -41
  1061. package/CountryFlags/VN.d.ts +0 -3
  1062. package/CountryFlags/VN.js +0 -30
  1063. package/CountryFlags/VU.d.ts +0 -3
  1064. package/CountryFlags/VU.js +0 -35
  1065. package/CountryFlags/WF.d.ts +0 -3
  1066. package/CountryFlags/WF.js +0 -33
  1067. package/CountryFlags/WS.d.ts +0 -3
  1068. package/CountryFlags/WS.js +0 -32
  1069. package/CountryFlags/XK.d.ts +0 -3
  1070. package/CountryFlags/XK.js +0 -32
  1071. package/CountryFlags/YE.d.ts +0 -3
  1072. package/CountryFlags/YE.js +0 -31
  1073. package/CountryFlags/YT.d.ts +0 -3
  1074. package/CountryFlags/YT.js +0 -35
  1075. package/CountryFlags/ZA.d.ts +0 -3
  1076. package/CountryFlags/ZA.js +0 -34
  1077. package/CountryFlags/ZM.d.ts +0 -3
  1078. package/CountryFlags/ZM.js +0 -33
  1079. package/CountryFlags/ZW.d.ts +0 -3
  1080. package/CountryFlags/ZW.js +0 -39
  1081. package/CountryFlags/index.d.ts +0 -257
  1082. package/CountryFlags/index.js +0 -524
  1083. package/ErrorBoundary/Fallback.d.ts +0 -3
  1084. package/ErrorBoundary/Fallback.js +0 -51
  1085. package/Menu/AutoHeightWrapper.d.ts +0 -6
  1086. package/Menu/AutoHeightWrapper.js +0 -43
  1087. package/Menu/MeasuredItem.d.ts +0 -10
  1088. package/Menu/MeasuredItem.js +0 -51
  1089. package/Menu/VirtualizedItem.d.ts +0 -22
  1090. package/Menu/VirtualizedItem.js +0 -69
  1091. package/Menu/VirtualizedList.d.ts +0 -18
  1092. package/Menu/VirtualizedList.js +0 -26
  1093. package/Menu/VirtualizedListComponent.d.ts +0 -20
  1094. package/Menu/VirtualizedListComponent.js +0 -305
  1095. /package/{CountryFlags → PhoneField/flags}/BY.d.ts +0 -0
  1096. /package/{CountryFlags → PhoneField/flags}/CN.d.ts +0 -0
  1097. /package/{CountryFlags/AC.d.ts → PhoneField/flags/IL.d.ts} +0 -0
  1098. /package/{CountryFlags/AD.d.ts → PhoneField/flags/JP.d.ts} +0 -0
  1099. /package/{CountryFlags/AE.d.ts → PhoneField/flags/KZ.d.ts} +0 -0
  1100. /package/{CountryFlags/AF.d.ts → PhoneField/flags/RU.d.ts} +0 -0
  1101. /package/{CountryFlags/AG.d.ts → PhoneField/flags/UA.d.ts} +0 -0
  1102. /package/{CountryFlags/AI.d.ts → PhoneField/flags/US.d.ts} +0 -0
  1103. /package/{CountryFlags/AL.d.ts → PhoneField/flags/Unknown.d.ts} +0 -0
@@ -33,7 +33,20 @@ export type SwiperProps = Omit<React.HTMLAttributes<HTMLDivElement>, 'children'>
33
33
  readonly threshold?: number;
34
34
  readonly resistance?: boolean;
35
35
  readonly slidesPerView?: number;
36
- readonly children?: readonly SwiperSlideBaseElement[];
36
+ /**
37
+ * Arrow keys switch the slides when the swiper is focused\
38
+ * **Default:** `true`
39
+ */
40
+ readonly keyboardControl?: boolean;
41
+ /**
42
+ * The label of the slide for screen readers\
43
+ * **Default:** `(index, total) => \`${index + 1} / ${total}\``
44
+ */
45
+ readonly slideLabel?: (index: number, total: number) => string;
46
+ /**
47
+ * The slides: `<SwiperSlide>` elements. `null`, `false` and other non-elements are skipped
48
+ */
49
+ readonly children?: React.ReactNode;
37
50
  readonly overrides?: SwiperOverrides;
38
51
  };
39
52
  export declare const Swiper: React.ForwardRefExoticComponent<Omit<React.HTMLAttributes<HTMLDivElement>, "children"> & {
@@ -49,7 +62,20 @@ export declare const Swiper: React.ForwardRefExoticComponent<Omit<React.HTMLAttr
49
62
  readonly threshold?: number | undefined;
50
63
  readonly resistance?: boolean | undefined;
51
64
  readonly slidesPerView?: number | undefined;
52
- readonly children?: readonly SwiperSlideBaseElement[] | undefined;
65
+ /**
66
+ * Arrow keys switch the slides when the swiper is focused\
67
+ * **Default:** `true`
68
+ */
69
+ readonly keyboardControl?: boolean | undefined;
70
+ /**
71
+ * The label of the slide for screen readers\
72
+ * **Default:** `(index, total) => \`${index + 1} / ${total}\``
73
+ */
74
+ readonly slideLabel?: ((index: number, total: number) => string) | undefined;
75
+ /**
76
+ * The slides: `<SwiperSlide>` elements. `null`, `false` and other non-elements are skipped
77
+ */
78
+ readonly children?: React.ReactNode;
53
79
  readonly overrides?: SwiperOverrides | undefined;
54
80
  } & React.RefAttributes<SwiperRef>>;
55
81
  export default Swiper;
package/Swiper/Swiper.js CHANGED
@@ -46,14 +46,16 @@ const SwiperContainer_1 = __importDefault(require("./SwiperContainer"));
46
46
  const SwiperWrapper_1 = __importDefault(require("./SwiperWrapper"));
47
47
  const SwiperTrack_1 = __importDefault(require("./SwiperTrack"));
48
48
  const SwiperSlidesRenderer_1 = __importDefault(require("./SwiperSlidesRenderer"));
49
+ const useThemeProps_1 = __importDefault(require("../ThemeProvider/useThemeProps"));
49
50
  __exportStar(require("./SwiperSlide"), exports);
51
+ const defaultSlideLabel = (index, total) => `${index + 1} / ${total}`;
50
52
  exports.Swiper = React.forwardRef((props, ref) => {
51
- const { children, dragThreshold = 240, snap = true, draggable = true, overrides, initialIndex = 0, infinite = false, onSlideChange, autoplay = false, autoplayInterval = 3000, pauseOnHover = true, threshold = 20, resistance = true, slidesPerView = 1 } = props, restProps = __rest(props, ["children", "dragThreshold", "snap", "draggable", "overrides", "initialIndex", "infinite", "onSlideChange", "autoplay", "autoplayInterval", "pauseOnHover", "threshold", "resistance", "slidesPerView"]);
53
+ const _a = (0, useThemeProps_1.default)('Swiper', props), { children, dragThreshold = 240, snap = true, draggable = true, overrides, initialIndex = 0, infinite = false, onSlideChange, autoplay = false, autoplayInterval = 3000, pauseOnHover = true, threshold = 20, resistance = true, slidesPerView = 1, keyboardControl = true, slideLabel = defaultSlideLabel } = _a, restProps = __rest(_a, ["children", "dragThreshold", "snap", "draggable", "overrides", "initialIndex", "infinite", "onSlideChange", "autoplay", "autoplayInterval", "pauseOnHover", "threshold", "resistance", "slidesPerView", "keyboardControl", "slideLabel"]);
52
54
  // #region Slides
53
55
  const slides = React.useMemo(() => {
54
- const childrenSlides = Array.isArray(children)
55
- ? children
56
- : [children];
56
+ // toArray skips null/false and keeps the user keys (prefixed), so the slides are not remounted
57
+ // when a slide is added to the start
58
+ const childrenSlides = React.Children.toArray(children).filter(React.isValidElement);
57
59
  if (infinite) {
58
60
  if (childrenSlides.length < 2) {
59
61
  console.error('To infinite loop counts of the slides must be greater than 2');
@@ -72,14 +74,9 @@ exports.Swiper = React.forwardRef((props, ref) => {
72
74
  key: `clone-tail-${i}`,
73
75
  'data-clone': 'tail',
74
76
  }));
75
- const mainSlides = childrenSlides.map((slide, idx) => React.cloneElement(slide, {
76
- key: `slide-${idx}`,
77
- }));
78
- return [...headClones, ...mainSlides, ...tailClones];
77
+ return [...headClones, ...childrenSlides, ...tailClones];
79
78
  }
80
- return childrenSlides.map((slide, idx) => React.cloneElement(slide, {
81
- key: `slide-${idx}`,
82
- }));
79
+ return childrenSlides;
83
80
  }, [children, infinite, slidesPerView]);
84
81
  const total = slides.length;
85
82
  const realSlidesCount = infinite ? total - 2 * slidesPerView : total;
@@ -92,9 +89,15 @@ exports.Swiper = React.forwardRef((props, ref) => {
92
89
  return initialIndex + slidesPerView;
93
90
  });
94
91
  const [offset, setOffset] = React.useState(0);
92
+ // The long decelerating transition after a free swipe (snap=false)
93
+ const [isMomentum, setIsMomentum] = React.useState(false);
95
94
  const [isDragging, setIsDragging] = React.useState(false);
96
95
  const [disableAnimation, setDisableAnimation] = React.useState(false);
97
- const [isPaused, setIsPaused] = React.useState(false);
96
+ const [isPausedByApi, setIsPausedByApi] = React.useState(false);
97
+ const [isHovered, setIsHovered] = React.useState(false);
98
+ const [isFocused, setIsFocused] = React.useState(false);
99
+ // The pause by the API is not cancelled when the mouse leaves the swiper
100
+ const isPaused = isPausedByApi || isHovered || isFocused;
98
101
  // #region Refs
99
102
  const dragging = React.useRef(false);
100
103
  const startX = React.useRef(0);
@@ -104,8 +107,8 @@ exports.Swiper = React.forwardRef((props, ref) => {
104
107
  const wrapperRef = React.useRef(null);
105
108
  const trackRef = React.useRef(null);
106
109
  const isAnimating = React.useRef(false);
107
- const autoplayTimer = React.useRef();
108
110
  const mounted = React.useRef(true);
111
+ const suppressClick = React.useRef(false);
109
112
  // #region Real Index
110
113
  const realIndex = React.useMemo(() => {
111
114
  if (!infinite) {
@@ -118,7 +121,8 @@ exports.Swiper = React.forwardRef((props, ref) => {
118
121
  if (realIndex >= realSlidesCount) {
119
122
  return realIndex - realSlidesCount;
120
123
  }
121
- return Math.min(realIndex, realSlidesCount - slidesPerView);
124
+ // In the infinite mode any slide can be the first visible one, so there is no clamp
125
+ return realIndex;
122
126
  }, [index, infinite, slidesPerView, realSlidesCount]);
123
127
  const prevRealIndex = React.useRef(realIndex);
124
128
  // #region Effects
@@ -131,11 +135,13 @@ exports.Swiper = React.forwardRef((props, ref) => {
131
135
  React.useEffect(() => {
132
136
  if (!mounted.current)
133
137
  return;
134
- const newTotal = slides.length;
135
- if (index >= newTotal) {
136
- setIndex(Math.max(0, newTotal - 1));
138
+ // The slides were removed: keep the index inside the allowed range
139
+ const lastIndex = infinite ? total - slidesPerView : maxIndex;
140
+ if (index > lastIndex) {
141
+ setIndex(infinite ? slidesPerView : maxIndex);
142
+ setOffset(0);
137
143
  }
138
- }, [slides.length, index]);
144
+ }, [index, infinite, total, slidesPerView, maxIndex]);
139
145
  // #region Normalization
140
146
  const normalizeIndex = React.useCallback(() => {
141
147
  if (!infinite || !mounted.current)
@@ -143,15 +149,17 @@ exports.Swiper = React.forwardRef((props, ref) => {
143
149
  const firstRealIndex = slidesPerView;
144
150
  const lastRealIndex = total - slidesPerView - 1;
145
151
  if (index < firstRealIndex || index > lastRealIndex) {
146
- const target = index < firstRealIndex ? lastRealIndex : firstRealIndex;
152
+ // A clone position shows the same slides as the real position shifted by the slides count.
153
+ // Not always the first/last real slide: after several fast clicks the index may be deeper in the clones
154
+ const target = index < firstRealIndex ? index + realSlidesCount : index - realSlidesCount;
147
155
  setDisableAnimation(true);
148
156
  requestAnimationFrame(() => {
149
157
  var _a;
150
158
  if (!mounted.current)
151
159
  return;
152
160
  (_a = trackRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect();
161
+ // The offset is kept: in the free mode (snap=false) the track stops between the slides
153
162
  setIndex(target);
154
- setOffset(0);
155
163
  requestAnimationFrame(() => {
156
164
  if (mounted.current) {
157
165
  setDisableAnimation(false);
@@ -159,7 +167,7 @@ exports.Swiper = React.forwardRef((props, ref) => {
159
167
  });
160
168
  });
161
169
  }
162
- }, [index, infinite, slidesPerView, total]);
170
+ }, [index, infinite, slidesPerView, total, realSlidesCount]);
163
171
  // #region Navigation API
164
172
  const indexRef = React.useRef(index);
165
173
  React.useEffect(() => {
@@ -184,16 +192,21 @@ exports.Swiper = React.forwardRef((props, ref) => {
184
192
  return; // никуда не едем — флаг не трогаем
185
193
  }
186
194
  setDisableAnimation(false);
195
+ setIsMomentum(false);
196
+ setOffset(0);
187
197
  setIndex(targetIndex);
188
198
  isAnimating.current = true;
189
199
  }, [infinite, slidesPerView, realSlidesCount, maxIndex]);
190
200
  const next = React.useCallback(() => {
191
- // if (isAnimating.current) return;
192
201
  setDisableAnimation(false);
202
+ setIsMomentum(false);
203
+ setOffset(0);
193
204
  setIndex(prev => {
194
205
  let nextIndex;
195
206
  if (infinite) {
196
- nextIndex = Math.min(prev + 1, total - 1);
207
+ // The last position is the first tail clone: it mirrors the first real slide.
208
+ // Further positions would show the empty space when slidesPerView > 1
209
+ nextIndex = Math.min(prev + 1, total - slidesPerView);
197
210
  }
198
211
  else {
199
212
  nextIndex = Math.min(prev + 1, maxIndex);
@@ -205,10 +218,11 @@ exports.Swiper = React.forwardRef((props, ref) => {
205
218
  isAnimating.current = true;
206
219
  return nextIndex;
207
220
  });
208
- }, [infinite, maxIndex, total]);
221
+ }, [infinite, maxIndex, total, slidesPerView]);
209
222
  const prev = React.useCallback(() => {
210
- // if (isAnimating.current) return;
211
223
  setDisableAnimation(false);
224
+ setIsMomentum(false);
225
+ setOffset(0);
212
226
  setIndex(prev => {
213
227
  const nextIndex = Math.max(prev - 1, 0);
214
228
  if (nextIndex === prev) {
@@ -218,22 +232,70 @@ exports.Swiper = React.forwardRef((props, ref) => {
218
232
  return nextIndex;
219
233
  });
220
234
  }, []);
235
+ // #region Position
236
+ // The position is the distance in pixels from the start of the track to the left edge of the view.
237
+ // The state keeps it as index (whole slides) + offset (pixels), the track is translated by both
238
+ const getSlideWidth = React.useCallback(() => { var _a; return (((_a = wrapperRef.current) === null || _a === void 0 ? void 0 : _a.clientWidth) || 0) / slidesPerView; }, [slidesPerView]);
239
+ // The last allowed position. In the infinite mode it is the first tail clone
240
+ const maxPosition = React.useCallback(() => (infinite ? total - slidesPerView : maxIndex) * getSlideWidth(), [infinite, total, slidesPerView, maxIndex, getSlideWidth]);
241
+ // The position on the screen right now, also in the middle of a transition
242
+ const readPosition = React.useCallback(() => {
243
+ const track = trackRef.current;
244
+ if (track && typeof DOMMatrixReadOnly !== 'undefined') {
245
+ const { transform } = getComputedStyle(track);
246
+ if (transform && transform !== 'none') {
247
+ return -new DOMMatrixReadOnly(transform).m41;
248
+ }
249
+ }
250
+ return index * getSlideWidth() - offset;
251
+ }, [index, offset, getSlideWidth]);
252
+ // Infinite mode: the same view is shown by the real slides and by the clones,
253
+ // so the position is moved by the whole slides count when it comes close to the edge of the track
254
+ const wrapPosition = React.useCallback((position) => {
255
+ const width = getSlideWidth();
256
+ const span = realSlidesCount * width;
257
+ if (!infinite || width === 0)
258
+ return 0;
259
+ if (position < width * 0.5)
260
+ return span;
261
+ if (position > maxPosition() - width * 0.5)
262
+ return -span;
263
+ return 0;
264
+ }, [infinite, realSlidesCount, getSlideWidth, maxPosition]);
265
+ const dragBasePosition = React.useRef(0);
266
+ const dragAnchorIndex = React.useRef(0);
267
+ const dragPosition = React.useRef(0);
221
268
  // #region Pointer Events
222
269
  const onPointerDown = React.useCallback((e) => {
223
270
  if (!wrapperRef.current || !draggable)
224
271
  return;
272
+ // Only the main mouse button, the touch or the pen
273
+ if (e.pointerType === 'mouse' && e.button !== 0)
274
+ return;
275
+ const width = getSlideWidth();
276
+ // Grab the track where it is now: a running transition stops under the finger instead of jumping
277
+ let position = readPosition();
278
+ position += wrapPosition(position);
279
+ const anchor = width > 0 ? Math.round(position / width) : index;
280
+ dragBasePosition.current = position;
281
+ dragPosition.current = position;
282
+ dragAnchorIndex.current = anchor;
283
+ suppressClick.current = false;
225
284
  dragging.current = true;
226
285
  isAnimating.current = false;
227
286
  setDisableAnimation(true);
287
+ setIsMomentum(false);
228
288
  setIsDragging(true);
289
+ setIndex(anchor);
290
+ setOffset(anchor * width - position);
229
291
  startX.current = e.clientX;
230
292
  lastX.current = e.clientX;
231
293
  lastTime.current = performance.now();
232
294
  velocity.current = 0;
233
295
  e.target.setPointerCapture(e.pointerId);
234
- }, [draggable]);
296
+ }, [draggable, getSlideWidth, readPosition, wrapPosition, index]);
235
297
  const onPointerMove = React.useCallback((e) => {
236
- if (!dragging.current || isAnimating.current)
298
+ if (!dragging.current)
237
299
  return;
238
300
  const now = performance.now();
239
301
  const dx = e.clientX - lastX.current;
@@ -243,102 +305,172 @@ exports.Swiper = React.forwardRef((props, ref) => {
243
305
  }
244
306
  lastX.current = e.clientX;
245
307
  lastTime.current = now;
246
- let delta = lastX.current - startX.current;
247
- if (resistance && !infinite) {
248
- if (index === 0 && delta > 0) {
249
- delta *= 0.3;
308
+ const width = getSlideWidth();
309
+ let position = dragBasePosition.current - (e.clientX - startX.current);
310
+ // Endless drag in the infinite mode: move the base together with the position
311
+ const shift = wrapPosition(position);
312
+ if (shift !== 0) {
313
+ dragBasePosition.current += shift;
314
+ dragAnchorIndex.current += Math.round(shift / width);
315
+ position += shift;
316
+ }
317
+ if (!infinite) {
318
+ const max = maxPosition();
319
+ if (position < 0) {
320
+ position = resistance ? position * 0.3 : 0;
250
321
  }
251
- if (index === maxIndex && delta < 0) {
252
- delta *= 0.3;
322
+ else if (position > max) {
323
+ position = resistance ? max + (position - max) * 0.3 : max;
253
324
  }
254
325
  }
255
- setOffset(delta);
256
- }, [resistance, infinite, index, maxIndex]);
326
+ dragPosition.current = position;
327
+ // snap: the index stays the same during the drag, the slide changes after the release.
328
+ // free: the index follows the position, so onSlideChange reports the slide under the view
329
+ const nextIndex = snap ? dragAnchorIndex.current : Math.round(position / width);
330
+ setIndex(nextIndex);
331
+ setOffset(nextIndex * width - position);
332
+ }, [getSlideWidth, wrapPosition, infinite, maxPosition, resistance, snap]);
257
333
  const onPointerUp = React.useCallback((e) => {
258
334
  if (!dragging.current)
259
335
  return;
336
+ const width = getSlideWidth();
337
+ const position = dragPosition.current;
260
338
  const delta = lastX.current - startX.current;
261
- const v = Math.abs(velocity.current);
262
- const velocityFactor = Math.min(v * 250, 0.65);
263
- const dynamicThreshold = Math.max(threshold, Math.min(dragThreshold * (1 - velocityFactor), dragThreshold));
264
- let nextIndex = index;
265
- if (Math.abs(delta) > dynamicThreshold) {
266
- nextIndex = delta < 0 ? index + 1 : index - 1;
267
- }
268
- if (!infinite) {
269
- nextIndex = Math.max(0, Math.min(maxIndex, nextIndex));
270
- }
271
- else {
272
- nextIndex = Math.max(0, Math.min(total - 1, nextIndex));
339
+ // The pointer stopped before the release: no inertia
340
+ const v = performance.now() - lastTime.current > 100 ? 0 : velocity.current;
341
+ const lastIndex = infinite ? total - slidesPerView : maxIndex;
342
+ // It was a drag, not a click: the click on a link or a button inside the slide must not fire
343
+ if (Math.abs(delta) > threshold) {
344
+ suppressClick.current = true;
273
345
  }
274
346
  setDisableAnimation(false);
275
347
  if (snap) {
348
+ const anchor = dragAnchorIndex.current;
349
+ const displacement = position - anchor * width;
350
+ const velocityFactor = Math.min(Math.abs(v) * 250, 0.65);
351
+ const dynamicThreshold = Math.max(threshold, Math.min(dragThreshold * (1 - velocityFactor), dragThreshold));
352
+ let nextIndex = anchor;
353
+ if (Math.abs(displacement) > dynamicThreshold) {
354
+ // At least one slide, more if the slide was dragged further
355
+ nextIndex =
356
+ displacement > 0
357
+ ? Math.max(anchor + 1, Math.round(position / width))
358
+ : Math.min(anchor - 1, Math.round(position / width));
359
+ }
360
+ nextIndex = Math.max(0, Math.min(lastIndex, nextIndex));
276
361
  setIndex(nextIndex);
277
362
  setOffset(0);
363
+ // A click without movement does not start a transition, so transitionend never comes
364
+ // and the flag would block autoplay and goToIndex forever
365
+ isAnimating.current = Math.abs(nextIndex * width - position) > 0.5;
278
366
  }
279
367
  else {
368
+ // Free mode: the track keeps moving by inertia and stops where it stops
369
+ const projected = Math.max(0, Math.min(lastIndex * width, position - v * 300));
370
+ const nextIndex = width > 0 ? Math.round(projected / width) : index;
371
+ setIsMomentum(true);
280
372
  setIndex(nextIndex);
373
+ setOffset(nextIndex * width - projected);
374
+ isAnimating.current = Math.abs(projected - position) > 0.5;
281
375
  }
282
- // A click without movement does not start a transition, so transitionend never comes
283
- // and the flag would block autoplay and goToIndex forever
284
- isAnimating.current = nextIndex !== index || (snap && offset !== 0);
285
376
  dragging.current = false;
286
377
  setIsDragging(false);
287
378
  e.target.releasePointerCapture(e.pointerId);
288
- }, [threshold, dragThreshold, index, maxIndex, snap, infinite, total, offset]);
379
+ }, [
380
+ getSlideWidth,
381
+ infinite,
382
+ total,
383
+ slidesPerView,
384
+ maxIndex,
385
+ threshold,
386
+ snap,
387
+ dragThreshold,
388
+ index,
389
+ ]);
289
390
  const onLostPointerCapture = React.useCallback((e) => {
290
391
  if (dragging.current) {
291
392
  onPointerUp(e);
292
393
  }
293
394
  }, [onPointerUp]);
294
395
  // #region Autoplay
295
- const startAutoplay = React.useCallback(() => {
396
+ const autoplayStep = React.useRef(() => undefined);
397
+ autoplayStep.current = () => {
398
+ // Without the infinite loop the autoplay returns to the first slide instead of stopping at the end
399
+ if (!infinite && indexRef.current >= maxIndex) {
400
+ goToIndex(0);
401
+ }
402
+ else {
403
+ next();
404
+ }
405
+ };
406
+ const pause = React.useCallback(() => setIsPausedByApi(true), []);
407
+ const resume = React.useCallback(() => setIsPausedByApi(false), []);
408
+ React.useEffect(() => {
296
409
  if (!autoplay || isPaused)
297
- return;
298
- autoplayTimer.current = setInterval(() => {
299
- if (!isDragging && !isAnimating.current && mounted.current) {
300
- next();
410
+ return undefined;
411
+ const timer = setInterval(() => {
412
+ if (!dragging.current && !isAnimating.current && mounted.current) {
413
+ autoplayStep.current();
301
414
  }
302
415
  }, autoplayInterval);
303
- }, [autoplay, autoplayInterval, isDragging, isPaused, next]);
304
- const pause = React.useCallback(() => {
305
- setIsPaused(true);
306
- if (autoplayTimer.current) {
307
- clearInterval(autoplayTimer.current);
308
- autoplayTimer.current = undefined;
309
- }
310
- }, []);
311
- const resume = React.useCallback(() => {
312
- setIsPaused(false);
313
- }, []);
314
- // #region Hover
416
+ return () => clearInterval(timer);
417
+ }, [autoplay, autoplayInterval, isPaused]);
418
+ // #region Hover and focus
419
+ // The autoplay pauses while the pointer is over the swiper (pauseOnHover)
420
+ // and always while the focus is inside it, so the keyboard user is not interrupted
315
421
  React.useEffect(() => {
316
- if (!autoplay || !pauseOnHover)
317
- return;
318
422
  const wrapper = wrapperRef.current;
319
- if (!wrapper)
320
- return;
321
- const handleMouseEnter = () => pause();
322
- const handleMouseLeave = () => resume();
423
+ if (!autoplay || !wrapper)
424
+ return undefined;
425
+ const handleMouseEnter = () => pauseOnHover && setIsHovered(true);
426
+ const handleMouseLeave = () => setIsHovered(false);
427
+ const handleFocusIn = () => setIsFocused(true);
428
+ const handleFocusOut = (event) => {
429
+ if (!wrapper.contains(event.relatedTarget)) {
430
+ setIsFocused(false);
431
+ }
432
+ };
323
433
  wrapper.addEventListener('mouseenter', handleMouseEnter);
324
434
  wrapper.addEventListener('mouseleave', handleMouseLeave);
435
+ wrapper.addEventListener('focusin', handleFocusIn);
436
+ wrapper.addEventListener('focusout', handleFocusOut);
325
437
  return () => {
326
438
  wrapper.removeEventListener('mouseenter', handleMouseEnter);
327
439
  wrapper.removeEventListener('mouseleave', handleMouseLeave);
440
+ wrapper.removeEventListener('focusin', handleFocusIn);
441
+ wrapper.removeEventListener('focusout', handleFocusOut);
328
442
  };
329
- }, [autoplay, pauseOnHover, pause, resume]);
330
- // #region Autoplay Effect
331
- React.useEffect(() => {
332
- if (autoplay) {
333
- startAutoplay();
443
+ }, [autoplay, pauseOnHover]);
444
+ // #region Keyboard
445
+ const onKeyDown = React.useCallback((event) => {
446
+ if (!keyboardControl)
447
+ return;
448
+ // Do not steal the arrows from the fields inside the slides
449
+ const target = event.target;
450
+ if (target.closest('input, textarea, select, [contenteditable="true"]'))
451
+ return;
452
+ if (event.key === 'ArrowLeft') {
453
+ event.preventDefault();
454
+ prev();
334
455
  }
335
- return () => {
336
- if (autoplayTimer.current) {
337
- clearInterval(autoplayTimer.current);
338
- autoplayTimer.current = undefined;
339
- }
340
- };
341
- }, [autoplay, startAutoplay, isPaused]);
456
+ if (event.key === 'ArrowRight') {
457
+ event.preventDefault();
458
+ next();
459
+ }
460
+ }, [keyboardControl, prev, next]);
461
+ const onClickCapture = React.useCallback((event) => {
462
+ if (suppressClick.current) {
463
+ suppressClick.current = false;
464
+ event.preventDefault();
465
+ event.stopPropagation();
466
+ }
467
+ }, []);
468
+ // The images and the links are dragged by the browser as files, it breaks the swipe
469
+ const onDragStart = React.useCallback((event) => {
470
+ if (draggable) {
471
+ event.preventDefault();
472
+ }
473
+ }, [draggable]);
342
474
  // #region Transition End
343
475
  React.useEffect(() => {
344
476
  const track = trackRef.current;
@@ -398,10 +530,22 @@ exports.Swiper = React.forwardRef((props, ref) => {
398
530
  }
399
531
  return domIndex - slidesPerView;
400
532
  }, [infinite, realSlidesCount, slidesPerView, total]);
401
- return (React.createElement(overridesMap.Container, Object.assign({}, restProps),
402
- React.createElement(overridesMap.Wrapper, { ref: wrapperRef, draggable: draggable, slidesPerView: slidesPerView, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: onPointerUp, onLostPointerCapture: onLostPointerCapture },
403
- React.createElement(overridesMap.Track, { ref: trackRef, dragging: isDragging, index: index, offset: offset, disableAnimation: disableAnimation, slidesPerView: slidesPerView },
404
- React.createElement(SwiperSlidesRenderer_1.default, { slides: slides, slidesPerView: slidesPerView, realIndex: realIndex, realSlidesCount: realSlidesCount, getSlideRealIndex: getSlideRealIndex })))));
533
+ // The slides at least partially in the view: they are not inert, so a partially visible slide
534
+ // can be clicked. Between the slides (drag, free mode) one more slide is partially visible
535
+ const slideWidth = wrapperRef.current ? wrapperRef.current.clientWidth / slidesPerView : 0;
536
+ let firstVisibleDomIndex = index;
537
+ let visibleCount = slidesPerView;
538
+ if (slideWidth > 0 && Math.abs(offset) > 0.5) {
539
+ const position = index * slideWidth - offset;
540
+ firstVisibleDomIndex = Math.floor(position / slideWidth + 0.001);
541
+ const lastVisibleDomIndex = Math.ceil((position + slidesPerView * slideWidth) / slideWidth - 0.001) - 1;
542
+ visibleCount = lastVisibleDomIndex - firstVisibleDomIndex + 1;
543
+ }
544
+ firstVisibleDomIndex = Math.max(0, Math.min(total - 1, firstVisibleDomIndex));
545
+ return (React.createElement(overridesMap.Container, Object.assign({ role: "region", "aria-roledescription": "carousel" }, restProps),
546
+ React.createElement(overridesMap.Wrapper, { ref: wrapperRef, draggable: draggable, slidesPerView: slidesPerView, tabIndex: keyboardControl ? 0 : undefined, "aria-live": autoplay && !isPaused ? 'off' : 'polite', onKeyDown: onKeyDown, onClickCapture: onClickCapture, onDragStart: onDragStart, onPointerDown: onPointerDown, onPointerMove: onPointerMove, onPointerUp: onPointerUp, onLostPointerCapture: onLostPointerCapture },
547
+ React.createElement(overridesMap.Track, { ref: trackRef, dragging: isDragging, index: index, offset: offset, disableAnimation: disableAnimation, momentum: isMomentum, slidesPerView: slidesPerView },
548
+ React.createElement(SwiperSlidesRenderer_1.default, { slides: slides, slidesPerView: slidesPerView, realIndex: realIndex, firstVisibleIndex: getSlideRealIndex(firstVisibleDomIndex), visibleCount: visibleCount, realSlidesCount: realSlidesCount, getSlideRealIndex: getSlideRealIndex, slideLabel: slideLabel })))));
405
549
  });
406
550
  exports.Swiper.displayName = 'Swiper';
407
551
  exports.default = exports.Swiper;
@@ -7,8 +7,6 @@ exports.SwiperContainer = void 0;
7
7
  const styled_1 = __importDefault(require("@emotion/styled"));
8
8
  exports.SwiperContainer = styled_1.default.div `
9
9
  width: 100%;
10
- max-width: 1200px;
11
- margin: 0 auto;
12
10
  overflow: hidden;
13
11
  position: relative;
14
12
  `;
@@ -4,8 +4,16 @@ export type SwiperSlidesRendererProps = {
4
4
  readonly slides: readonly SwiperSlideElement[];
5
5
  readonly slidesPerView: number;
6
6
  readonly realIndex: number;
7
+ /**
8
+ * The real index of the first slide that is at least partially in the view
9
+ * and the count of such slides. In the free mode (snap=false) the track stops between the slides,
10
+ * then one more slide is partially visible
11
+ */
12
+ readonly firstVisibleIndex?: number;
13
+ readonly visibleCount?: number;
7
14
  readonly realSlidesCount: number;
8
15
  readonly getSlideRealIndex: (index: number) => number;
16
+ readonly slideLabel: (index: number, total: number) => string;
9
17
  };
10
18
  declare const _default: React.NamedExoticComponent<SwiperSlidesRendererProps>;
11
19
  export default _default;
@@ -24,23 +24,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  const React = __importStar(require("react"));
27
+ // React 19 supports the boolean `inert`, React 18 passes only the string value to the DOM
28
+ const INERT_VALUE = parseInt(React.version, 10) >= 19 ? true : '';
27
29
  const SwiperSlidesRenderer = props => {
28
- const { slides, slidesPerView, realIndex, realSlidesCount, getSlideRealIndex } = props;
29
- // Мемоизируем вычисления видимости
30
+ const { slides, slidesPerView, realIndex, realSlidesCount, getSlideRealIndex, slideLabel, firstVisibleIndex = realIndex, visibleCount = slidesPerView, } = props;
30
31
  const visibilityMap = React.useMemo(() => {
31
32
  const map = new Map();
32
- if (realSlidesCount <= slidesPerView) {
33
+ if (realSlidesCount <= visibleCount) {
33
34
  slides.forEach((_, i) => {
34
35
  map.set(i, { isVisible: true, isNearby: false });
35
36
  });
36
37
  }
37
38
  else {
38
39
  const visibleIndices = [];
39
- for (let j = 0; j < slidesPerView; j++) {
40
- visibleIndices.push((realIndex + j) % realSlidesCount);
40
+ for (let j = 0; j < visibleCount; j++) {
41
+ visibleIndices.push((firstVisibleIndex + j) % realSlidesCount);
41
42
  }
42
- const prevIndex = (realIndex - 1 + realSlidesCount) % realSlidesCount;
43
- const nextIndex = (realIndex + slidesPerView) % realSlidesCount;
43
+ const prevIndex = (firstVisibleIndex - 1 + realSlidesCount) % realSlidesCount;
44
+ const nextIndex = (firstVisibleIndex + visibleCount) % realSlidesCount;
44
45
  slides.forEach((_, i) => {
45
46
  const slideRealIndex = getSlideRealIndex(i);
46
47
  const isVisible = visibleIndices.includes(slideRealIndex);
@@ -49,23 +50,25 @@ const SwiperSlidesRenderer = props => {
49
50
  });
50
51
  }
51
52
  return map;
52
- }, [slides, slidesPerView, realIndex, realSlidesCount, getSlideRealIndex]);
53
+ }, [slides, visibleCount, firstVisibleIndex, realSlidesCount, getSlideRealIndex]);
53
54
  return (React.createElement(React.Fragment, null, slides.map((slide, i) => {
54
55
  const { isVisible, isNearby } = visibilityMap.get(i) || {
55
56
  isVisible: false,
56
57
  isNearby: false,
57
58
  };
58
59
  const slideRealIndex = getSlideRealIndex(i);
59
- // Не клонируем заново, если пропсы не изменились
60
- if (slide.props.slidesPerView === slidesPerView &&
61
- slide.props.isVisible === isVisible &&
62
- slide.props.isNearby === isNearby) {
63
- return slide;
64
- }
60
+ const isClone = typeof slide.props['data-clone'] !== 'undefined';
61
+ // The slides out of the view are inert: Tab does not go into them (it would scroll the track)
62
+ // and screen readers skip them. The clones are always hidden from screen readers
65
63
  return React.cloneElement(slide, {
66
64
  slidesPerView,
67
65
  isVisible,
68
66
  isNearby,
67
+ role: 'group',
68
+ 'aria-roledescription': 'slide',
69
+ 'aria-label': slideLabel(slideRealIndex, realSlidesCount),
70
+ 'aria-hidden': isClone || !isVisible ? true : undefined,
71
+ inert: isVisible && !isClone ? undefined : INERT_VALUE,
69
72
  'data-index': i,
70
73
  'data-real-index': slideRealIndex,
71
74
  });
@@ -5,6 +5,10 @@ export type SwiperTrackProps = React.HTMLAttributes<HTMLDivElement> & {
5
5
  readonly offset: number;
6
6
  readonly dragging: boolean;
7
7
  readonly disableAnimation?: boolean;
8
+ /**
9
+ * The long decelerating transition after a free swipe (snap=false)
10
+ */
11
+ readonly momentum?: boolean;
8
12
  readonly slidesPerView: number;
9
13
  };
10
14
  export declare const SwiperTrack: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
@@ -13,6 +17,10 @@ export declare const SwiperTrack: React.ForwardRefExoticComponent<React.HTMLAttr
13
17
  readonly offset: number;
14
18
  readonly dragging: boolean;
15
19
  readonly disableAnimation?: boolean | undefined;
20
+ /**
21
+ * The long decelerating transition after a free swipe (snap=false)
22
+ */
23
+ readonly momentum?: boolean | undefined;
16
24
  readonly slidesPerView: number;
17
25
  } & React.RefAttributes<HTMLDivElement>>;
18
26
  export default SwiperTrack;