@consta/uikit 3.15.1 → 3.17.1

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 (613) hide show
  1. package/Attach/package.json +1 -1
  2. package/Attachment/package.json +1 -1
  3. package/Avatar/package.json +1 -1
  4. package/Badge/package.json +1 -1
  5. package/BasicSelectDeprecated/package.json +1 -1
  6. package/Breadcrumbs/package.json +1 -1
  7. package/BreadcrumbsCanary/package.json +1 -1
  8. package/Button/package.json +1 -1
  9. package/CHANGELOG.md +54 -59
  10. package/Calendar/package.json +1 -1
  11. package/Card/package.json +1 -1
  12. package/Checkbox/package.json +1 -1
  13. package/CheckboxGroup/package.json +1 -1
  14. package/ChoiceGroup/package.json +1 -1
  15. package/Collapse/package.json +1 -1
  16. package/CollapseGroup/package.json +1 -1
  17. package/Combobox/package.json +1 -1
  18. package/ComboboxDeprecated/package.json +1 -1
  19. package/ContextMenu/package.json +1 -1
  20. package/DatePickerCanary/package.json +1 -1
  21. package/DateTimeCanary/package.json +1 -1
  22. package/DragNDropField/package.json +1 -1
  23. package/EventInterceptor/package.json +1 -1
  24. package/FieldCaption/package.json +1 -1
  25. package/FieldLabel/package.json +1 -1
  26. package/File/package.json +1 -1
  27. package/FileField/package.json +1 -1
  28. package/FileIcon/package.json +1 -1
  29. package/FileIconAvi/package.json +1 -1
  30. package/FileIconBmp/package.json +1 -1
  31. package/FileIconCsv/package.json +1 -1
  32. package/FileIconDoc/package.json +1 -1
  33. package/FileIconExe/package.json +1 -1
  34. package/FileIconGif/package.json +1 -1
  35. package/FileIconJpg/package.json +1 -1
  36. package/FileIconJson/package.json +1 -1
  37. package/FileIconLoading/package.json +1 -1
  38. package/FileIconMov/package.json +1 -1
  39. package/FileIconMp3/package.json +1 -1
  40. package/FileIconMp4/package.json +1 -1
  41. package/FileIconPdf/package.json +1 -1
  42. package/FileIconPng/package.json +1 -1
  43. package/FileIconPtt/package.json +1 -1
  44. package/FileIconRar/package.json +1 -1
  45. package/FileIconRtf/package.json +1 -1
  46. package/FileIconTiff/package.json +1 -1
  47. package/FileIconTxt/package.json +1 -1
  48. package/FileIconUndefined/package.json +1 -1
  49. package/FileIconWav/package.json +1 -1
  50. package/FileIconXls/package.json +1 -1
  51. package/FileIconZip/package.json +1 -1
  52. package/Grid/package.json +1 -1
  53. package/Header/package.json +1 -1
  54. package/Icon/package.json +1 -1
  55. package/IconAdd/package.json +1 -1
  56. package/IconAddToComparison/package.json +1 -1
  57. package/IconAlert/package.json +1 -1
  58. package/IconAlignBlocksLeft/package.json +1 -1
  59. package/IconAlignBlocksRight/package.json +1 -1
  60. package/IconAlignCenter/package.json +1 -1
  61. package/IconAlignJustify/package.json +1 -1
  62. package/IconAlignLeft/package.json +1 -1
  63. package/IconAlignRight/package.json +1 -1
  64. package/IconAllDone/package.json +1 -1
  65. package/IconArrowDown/package.json +1 -1
  66. package/IconArrowLeft/package.json +1 -1
  67. package/IconArrowRight/package.json +1 -1
  68. package/IconArrowUp/package.json +1 -1
  69. package/IconArtBrush/package.json +1 -1
  70. package/IconAttach/package.json +1 -1
  71. package/IconBackward/package.json +1 -1
  72. package/IconBag/package.json +1 -1
  73. package/IconBarrier/package.json +1 -1
  74. package/IconBento/package.json +1 -1
  75. package/IconBold/package.json +1 -1
  76. package/IconBook/package.json +1 -1
  77. package/IconBookmarkFilled/package.json +1 -1
  78. package/IconBookmarkStroked/package.json +1 -1
  79. package/IconCalculator/package.json +1 -1
  80. package/IconCalendar/package.json +1 -1
  81. package/IconCamera/package.json +1 -1
  82. package/IconCancel/package.json +1 -1
  83. package/IconCards/package.json +1 -1
  84. package/IconChat/package.json +1 -1
  85. package/IconCheck/package.json +1 -1
  86. package/IconClose/package.json +1 -1
  87. package/IconCollapse/package.json +1 -1
  88. package/IconColorFill/package.json +1 -1
  89. package/IconColorText/package.json +1 -1
  90. package/IconColumns/package.json +1 -1
  91. package/IconComment/package.json +1 -1
  92. package/IconConnection/package.json +1 -1
  93. package/IconCopy/package.json +1 -1
  94. package/IconCrown/package.json +1 -1
  95. package/IconCursorMouse/package.json +1 -1
  96. package/IconDataNull/package.json +1 -1
  97. package/IconDiamond/package.json +1 -1
  98. package/IconDinosaur/package.json +1 -1
  99. package/IconDisconnection/package.json +1 -1
  100. package/IconDocAdd/package.json +1 -1
  101. package/IconDocBlank/package.json +1 -1
  102. package/IconDocDelete/package.json +1 -1
  103. package/IconDocExport/package.json +1 -1
  104. package/IconDocFilled/package.json +1 -1
  105. package/IconDown/package.json +1 -1
  106. package/IconDownload/package.json +1 -1
  107. package/IconDrag/package.json +1 -1
  108. package/IconDraggable/package.json +1 -1
  109. package/IconDrillingRig/package.json +1 -1
  110. package/IconDrop/package.json +1 -1
  111. package/IconEdit/package.json +1 -1
  112. package/IconExit/package.json +1 -1
  113. package/IconExpand/package.json +1 -1
  114. package/IconEye/package.json +1 -1
  115. package/IconEyeClose/package.json +1 -1
  116. package/IconFavorite/package.json +1 -1
  117. package/IconFilter/package.json +1 -1
  118. package/IconFitToDefault/package.json +1 -1
  119. package/IconFlagFilled/package.json +1 -1
  120. package/IconFlagStroked/package.json +1 -1
  121. package/IconFolders/package.json +1 -1
  122. package/IconForward/package.json +1 -1
  123. package/IconFunnel/package.json +1 -1
  124. package/IconGas/package.json +1 -1
  125. package/IconGeo/package.json +1 -1
  126. package/IconGrouping/package.json +1 -1
  127. package/IconHamburger/package.json +1 -1
  128. package/IconHand/package.json +1 -1
  129. package/IconHealth/package.json +1 -1
  130. package/IconHome/package.json +1 -1
  131. package/IconInComparison/package.json +1 -1
  132. package/IconInfo/package.json +1 -1
  133. package/IconIntroduction/package.json +1 -1
  134. package/IconIpad/package.json +1 -1
  135. package/IconItalic/package.json +1 -1
  136. package/IconKebab/package.json +1 -1
  137. package/IconLaptop/package.json +1 -1
  138. package/IconLayers/package.json +1 -1
  139. package/IconLeaf/package.json +1 -1
  140. package/IconLightningBolt/package.json +1 -1
  141. package/IconLineAndBarChart/package.json +1 -1
  142. package/IconLink/package.json +1 -1
  143. package/IconList/package.json +1 -1
  144. package/IconListNumbered/package.json +1 -1
  145. package/IconLock/package.json +1 -1
  146. package/IconLogicalElement/package.json +1 -1
  147. package/IconMBU/package.json +1 -1
  148. package/IconMGRP/package.json +1 -1
  149. package/IconMLSP/package.json +1 -1
  150. package/IconMMP/package.json +1 -1
  151. package/IconMail/package.json +1 -1
  152. package/IconMap/package.json +1 -1
  153. package/IconMaxHeight/package.json +1 -1
  154. package/IconMaxWidth/package.json +1 -1
  155. package/IconMeatball/package.json +1 -1
  156. package/IconMic/package.json +1 -1
  157. package/IconMolecules/package.json +1 -1
  158. package/IconMoon/package.json +1 -1
  159. package/IconNodeEnd/package.json +1 -1
  160. package/IconNodeStart/package.json +1 -1
  161. package/IconNodeStep/package.json +1 -1
  162. package/IconNodes/package.json +1 -1
  163. package/IconOpenInNew/package.json +1 -1
  164. package/IconOperators/package.json +1 -1
  165. package/IconPanelBottom/package.json +1 -1
  166. package/IconPanelLeft/package.json +1 -1
  167. package/IconPanelRight/package.json +1 -1
  168. package/IconPanelTop/package.json +1 -1
  169. package/IconPaste/package.json +1 -1
  170. package/IconPause/package.json +1 -1
  171. package/IconPhone/package.json +1 -1
  172. package/IconPhoto/package.json +1 -1
  173. package/IconPicture/es.js +1 -0
  174. package/IconPicture/index.d.ts +1 -0
  175. package/IconPicture/index.js +4 -0
  176. package/{MixDropdownAnimate → IconPicture}/package.json +2 -2
  177. package/IconPlay/package.json +1 -1
  178. package/IconPressure/package.json +1 -1
  179. package/IconPriceLabel/es.js +1 -0
  180. package/IconPriceLabel/index.d.ts +1 -0
  181. package/IconPriceLabel/index.js +4 -0
  182. package/IconPriceLabel/package.json +9 -0
  183. package/IconProcessing/package.json +1 -1
  184. package/IconQuestion/package.json +1 -1
  185. package/IconQuote/package.json +1 -1
  186. package/IconRUO/package.json +1 -1
  187. package/IconRUS/package.json +1 -1
  188. package/IconRecord/package.json +1 -1
  189. package/IconRemove/package.json +1 -1
  190. package/IconRemoveFromComparison/package.json +1 -1
  191. package/IconReply/package.json +1 -1
  192. package/IconResize/package.json +1 -1
  193. package/IconRestart/package.json +1 -1
  194. package/IconRevert/package.json +1 -1
  195. package/IconRing/package.json +1 -1
  196. package/IconRouble/package.json +1 -1
  197. package/IconRuler/package.json +1 -1
  198. package/IconSave/package.json +1 -1
  199. package/IconScreen/package.json +1 -1
  200. package/IconSearch/package.json +1 -1
  201. package/IconSelect/package.json +1 -1
  202. package/IconSelectOpen/package.json +1 -1
  203. package/IconSendMessage/package.json +1 -1
  204. package/IconSettings/package.json +1 -1
  205. package/IconShape/package.json +1 -1
  206. package/IconShuffle/package.json +1 -1
  207. package/IconSmile/package.json +1 -1
  208. package/IconSortDown/package.json +1 -1
  209. package/IconSortDownCenter/package.json +1 -1
  210. package/IconSortUp/package.json +1 -1
  211. package/IconSortUpCenter/package.json +1 -1
  212. package/IconStop/package.json +1 -1
  213. package/IconStorage/package.json +1 -1
  214. package/IconStrikethrough/package.json +1 -1
  215. package/IconSun/package.json +1 -1
  216. package/IconTable/package.json +1 -1
  217. package/IconTable2/es.js +1 -0
  218. package/IconTable2/index.d.ts +1 -0
  219. package/IconTable2/index.js +4 -0
  220. package/IconTable2/package.json +9 -0
  221. package/IconTarget/package.json +1 -1
  222. package/IconTeam/package.json +1 -1
  223. package/IconTechResponse/package.json +1 -1
  224. package/IconTest/package.json +1 -1
  225. package/IconThumbUp/package.json +1 -1
  226. package/IconTie/package.json +1 -1
  227. package/IconTop/package.json +1 -1
  228. package/IconTrash/package.json +1 -1
  229. package/IconType/package.json +1 -1
  230. package/IconUnderline/package.json +1 -1
  231. package/IconUnlock/package.json +1 -1
  232. package/IconUnsort/package.json +1 -1
  233. package/IconUnsortCenter/package.json +1 -1
  234. package/IconUpload/package.json +1 -1
  235. package/IconUser/package.json +1 -1
  236. package/IconVZD/package.json +1 -1
  237. package/IconVideo/package.json +1 -1
  238. package/IconWarning/package.json +1 -1
  239. package/IconWatch/package.json +1 -1
  240. package/IconWideScreen/package.json +1 -1
  241. package/IconWorld/package.json +1 -1
  242. package/IconWrench/es.js +1 -0
  243. package/IconWrench/index.d.ts +1 -0
  244. package/IconWrench/index.js +4 -0
  245. package/IconWrench/package.json +9 -0
  246. package/Informer/package.json +1 -1
  247. package/LayoutCanary/package.json +1 -1
  248. package/Loader/package.json +1 -1
  249. package/MixCard/package.json +1 -1
  250. package/MixFocus/package.json +1 -1
  251. package/MixPopoverAnimate/es.js +1 -0
  252. package/MixPopoverAnimate/index.d.ts +1 -0
  253. package/MixPopoverAnimate/index.js +4 -0
  254. package/MixPopoverAnimate/package.json +9 -0
  255. package/MixSpace/package.json +1 -1
  256. package/MixVisuallyHidden/package.json +1 -1
  257. package/Modal/package.json +1 -1
  258. package/MultiComboboxDeprecated/package.json +1 -1
  259. package/Pagination/package.json +1 -1
  260. package/Popover/package.json +1 -1
  261. package/PortalWithTheme/package.json +1 -1
  262. package/ProgressSpin/package.json +1 -1
  263. package/ProgressStepBarCanary/package.json +1 -1
  264. package/Radio/package.json +1 -1
  265. package/RadioGroup/package.json +1 -1
  266. package/Responses/package.json +1 -1
  267. package/Responses403/package.json +1 -1
  268. package/Responses404/package.json +1 -1
  269. package/Responses500/package.json +1 -1
  270. package/Responses503/package.json +1 -1
  271. package/ResponsesConnectionError/package.json +1 -1
  272. package/ResponsesDeleted/package.json +1 -1
  273. package/ResponsesEmptyBox/package.json +1 -1
  274. package/ResponsesEmptyPockets/package.json +1 -1
  275. package/ResponsesExit/package.json +1 -1
  276. package/ResponsesImage/package.json +1 -1
  277. package/ResponsesImage403/package.json +1 -1
  278. package/ResponsesImage404/package.json +1 -1
  279. package/ResponsesImage500/package.json +1 -1
  280. package/ResponsesImage503/package.json +1 -1
  281. package/ResponsesImageConnectionError/package.json +1 -1
  282. package/ResponsesImageDeleted/package.json +1 -1
  283. package/ResponsesImageEmptyBox/package.json +1 -1
  284. package/ResponsesImageEmptyPockets/package.json +1 -1
  285. package/ResponsesImageNothingFound/package.json +1 -1
  286. package/ResponsesImageSuccess/package.json +1 -1
  287. package/ResponsesNothingFound/package.json +1 -1
  288. package/ResponsesSuccess/package.json +1 -1
  289. package/Select/package.json +1 -1
  290. package/Sidebar/package.json +1 -1
  291. package/Skeleton/package.json +1 -1
  292. package/SliderCanary/package.json +1 -1
  293. package/SnackBar/package.json +1 -1
  294. package/Steps/package.json +1 -1
  295. package/Switch/package.json +1 -1
  296. package/SwitchGroup/package.json +1 -1
  297. package/Table/package.json +1 -1
  298. package/Tabs/package.json +1 -1
  299. package/Tag/package.json +1 -1
  300. package/TagBase/package.json +1 -1
  301. package/Text/package.json +1 -1
  302. package/TextField/package.json +1 -1
  303. package/Theme/package.json +1 -1
  304. package/ThemeToggler/package.json +1 -1
  305. package/Timer/package.json +1 -1
  306. package/Tooltip/package.json +1 -1
  307. package/User/package.json +1 -1
  308. package/UserSelect/package.json +1 -1
  309. package/UserSelectDeprecated/package.json +1 -1
  310. package/__internal__/cjs-src/components/BreadcrumbsCanary/BreadcrumbsMore/BreadcrumbsMore.d.ts +6 -0
  311. package/__internal__/cjs-src/components/BreadcrumbsCanary/BreadcrumbsMore/BreadcrumbsMore.js +17 -4
  312. package/__internal__/cjs-src/components/Collapse/CollapseIcon/CollapseIcon.js +7 -5
  313. package/__internal__/cjs-src/components/Combobox/Combobox.js +4 -4
  314. package/__internal__/cjs-src/components/Combobox/helpers.d.ts +2 -0
  315. package/__internal__/cjs-src/components/ContextMenu/ContextMenu.js +1 -1
  316. package/__internal__/cjs-src/components/ContextMenu/helpers.d.ts +4 -3
  317. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerCanary.js +3 -1
  318. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.css +0 -49
  319. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.d.ts +1 -0
  320. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.js +11 -6
  321. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +0 -1
  322. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +9 -13
  323. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/helpers.d.ts +0 -3
  324. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateRange/helpers.js +0 -33
  325. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +83 -0
  326. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +98 -0
  327. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/helpers.d.ts +30 -0
  328. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/helpers.js +2 -0
  329. package/__internal__/cjs-src/components/DatePickerCanary/{DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.css → DatePickerMixRangeField/DatePickerMixRangeField.css} +16 -16
  330. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerMixRangeField/DatePickerMixRangeField.d.ts +2 -0
  331. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerMixRangeField/DatePickerMixRangeField.js +6 -0
  332. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  333. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.js +31 -34
  334. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.js +4 -5
  335. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.d.ts +2 -0
  336. package/__internal__/cjs-src/components/DatePickerCanary/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +95 -0
  337. package/__internal__/cjs-src/components/DatePickerCanary/helpers.d.ts +10 -7
  338. package/__internal__/cjs-src/components/DatePickerCanary/helpers.js +37 -2
  339. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDateTime/DateTimeTypeDateTime.js +7 -7
  340. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.d.ts +3 -2
  341. package/__internal__/cjs-src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.js +18 -4
  342. package/__internal__/cjs-src/components/DateTimeCanary/helpers/types.d.ts +3 -1
  343. package/__internal__/cjs-src/components/EventInterceptor/eventInterceptorMap.d.ts +2 -5
  344. package/__internal__/cjs-src/components/EventInterceptor/propsHandlers/useSnackBarEventsHandler.d.ts +2 -5
  345. package/__internal__/cjs-src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +1 -1
  346. package/__internal__/cjs-src/components/Popover/Popover.css +8 -0
  347. package/__internal__/cjs-src/components/Popover/Popover.d.ts +6 -3
  348. package/__internal__/cjs-src/components/Popover/Popover.js +31 -9
  349. package/__internal__/cjs-src/components/Popover/helpers.d.ts +2 -1
  350. package/__internal__/cjs-src/components/Popover/helpers.js +7 -3
  351. package/__internal__/cjs-src/components/Select/Select.js +4 -4
  352. package/__internal__/cjs-src/components/Select/helpers.d.ts +2 -0
  353. package/__internal__/cjs-src/components/SelectComponents/SelectDropdown/SelectDropdown.css +2 -1
  354. package/__internal__/cjs-src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +2 -0
  355. package/__internal__/cjs-src/components/SelectComponents/SelectDropdown/SelectDropdown.js +6 -4
  356. package/__internal__/cjs-src/components/SelectComponents/helpers.d.ts +1 -0
  357. package/__internal__/cjs-src/components/SelectComponents/helpers.js +2 -1
  358. package/__internal__/cjs-src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js +4 -3
  359. package/__internal__/cjs-src/components/Sidebar/Sidebar.js +3 -2
  360. package/__internal__/cjs-src/components/SliderCanary/SliderCanary.js +5 -3
  361. package/__internal__/cjs-src/components/SliderCanary/SliderInput/SliderInput.d.ts +1 -1
  362. package/__internal__/cjs-src/components/SliderCanary/SliderInput/SliderInput.js +1 -1
  363. package/__internal__/cjs-src/components/SliderCanary/useSlider/helper.js +4 -11
  364. package/__internal__/cjs-src/components/SliderCanary/useSlider/useSlider.js +7 -15
  365. package/__internal__/cjs-src/components/SliderCanary/useSliderStationing.js +4 -10
  366. package/__internal__/cjs-src/components/SnackBar/SnackBar.d.ts +3 -3
  367. package/__internal__/cjs-src/components/SnackBar/SnackBar.js +14 -14
  368. package/__internal__/cjs-src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.d.ts +1 -1
  369. package/__internal__/cjs-src/components/SnackBar/SnackBarItem/SnackBarItem.d.ts +2 -4
  370. package/__internal__/cjs-src/components/SnackBar/SnackBarItem/SnackBarItem.js +14 -13
  371. package/__internal__/cjs-src/components/SnackBar/SnackBarLine/SnackBarLine.d.ts +1 -1
  372. package/__internal__/cjs-src/components/SnackBar/SnackBarTimer/SnackBarTimer.d.ts +1 -1
  373. package/__internal__/cjs-src/components/SnackBar/helper.d.ts +288 -45
  374. package/__internal__/cjs-src/components/SnackBar/helper.js +52 -4
  375. package/__internal__/cjs-src/components/SnackBar/types.d.ts +78 -0
  376. package/__internal__/cjs-src/components/SnackBar/types.js +6 -0
  377. package/__internal__/cjs-src/components/Table/Table.css +1 -0
  378. package/__internal__/cjs-src/components/Table/Table.d.ts +1 -1
  379. package/__internal__/cjs-src/components/Table/Table.js +17 -5
  380. package/__internal__/cjs-src/components/Table/helpers.d.ts +1 -0
  381. package/__internal__/cjs-src/components/Table/helpers.js +12 -4
  382. package/__internal__/cjs-src/components/TextField/TextField.js +28 -16
  383. package/__internal__/cjs-src/components/TextField/helpers.d.ts +17 -2
  384. package/__internal__/cjs-src/components/TextField/helpers.js +52 -1
  385. package/__internal__/cjs-src/components/UserSelect/UserSelect.js +4 -4
  386. package/__internal__/cjs-src/components/UserSelect/UserSelectItem/UserSelectItem.js +4 -3
  387. package/__internal__/cjs-src/components/UserSelect/helpers.d.ts +2 -0
  388. package/__internal__/cjs-src/components/UserSelectDeprecated/UserSelectItem/UserSelectItem.js +4 -3
  389. package/__internal__/cjs-src/hooks/useHideElementsInLine/useHideElementsInLine.d.ts +1 -1
  390. package/__internal__/cjs-src/hooks/useRefs/useRefs.d.ts +1 -1
  391. package/__internal__/cjs-src/hooks/useSelect/useSelect.d.ts +1 -0
  392. package/__internal__/cjs-src/hooks/useSelect/useSelect.js +4 -2
  393. package/__internal__/cjs-src/hooks/useSortSteps/useSortSteps.d.ts +7 -0
  394. package/__internal__/cjs-src/hooks/useSortSteps/useSortSteps.js +28 -0
  395. package/__internal__/cjs-src/hooks/useTimer/useTimer.js +6 -1
  396. package/__internal__/cjs-src/icons/IconPicture/IconPicture.d.ts +5 -0
  397. package/__internal__/cjs-src/icons/IconPicture/IconPicture.js +14 -0
  398. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_m.d.ts +3 -0
  399. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_m.js +9 -0
  400. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_m.svg +5 -0
  401. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_s.d.ts +3 -0
  402. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_s.js +9 -0
  403. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_s.svg +5 -0
  404. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_xs.d.ts +3 -0
  405. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_xs.js +9 -0
  406. package/__internal__/cjs-src/icons/IconPicture/IconPicture_size_xs.svg +5 -0
  407. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel.d.ts +5 -0
  408. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel.js +14 -0
  409. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_m.d.ts +3 -0
  410. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_m.js +9 -0
  411. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_m.svg +5 -0
  412. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_s.d.ts +3 -0
  413. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_s.js +9 -0
  414. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_s.svg +5 -0
  415. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_xs.d.ts +3 -0
  416. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_xs.js +9 -0
  417. package/__internal__/cjs-src/icons/IconPriceLabel/IconPriceLabel_size_xs.svg +5 -0
  418. package/__internal__/cjs-src/icons/IconTable2/IconTable2.d.ts +5 -0
  419. package/__internal__/cjs-src/icons/IconTable2/IconTable2.js +14 -0
  420. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_m.d.ts +3 -0
  421. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_m.js +9 -0
  422. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_m.svg +7 -0
  423. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_s.d.ts +3 -0
  424. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_s.js +9 -0
  425. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_s.svg +7 -0
  426. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_xs.d.ts +3 -0
  427. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_xs.js +9 -0
  428. package/__internal__/cjs-src/icons/IconTable2/IconTable2_size_xs.svg +7 -0
  429. package/__internal__/cjs-src/icons/IconWrench/IconWrench.d.ts +5 -0
  430. package/__internal__/cjs-src/icons/IconWrench/IconWrench.js +14 -0
  431. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_m.d.ts +3 -0
  432. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_m.js +9 -0
  433. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_m.svg +5 -0
  434. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_s.d.ts +3 -0
  435. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_s.js +9 -0
  436. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_s.svg +5 -0
  437. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_xs.d.ts +3 -0
  438. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_xs.js +9 -0
  439. package/__internal__/cjs-src/icons/IconWrench/IconWrench_size_xs.svg +5 -0
  440. package/__internal__/cjs-src/mixs/MixPopoverAnimate/MixPopoverAnimate.css +76 -0
  441. package/__internal__/cjs-src/mixs/MixPopoverAnimate/MixPopoverAnimate.d.ts +12 -0
  442. package/__internal__/cjs-src/mixs/MixPopoverAnimate/MixPopoverAnimate.js +10 -0
  443. package/__internal__/src/components/BreadcrumbsCanary/BreadcrumbsMore/BreadcrumbsMore.d.ts +6 -0
  444. package/__internal__/src/components/BreadcrumbsCanary/BreadcrumbsMore/BreadcrumbsMore.js +18 -5
  445. package/__internal__/src/components/Collapse/CollapseIcon/CollapseIcon.js +7 -5
  446. package/__internal__/src/components/Combobox/Combobox.js +5 -5
  447. package/__internal__/src/components/Combobox/helpers.d.ts +2 -0
  448. package/__internal__/src/components/ContextMenu/ContextMenu.js +1 -1
  449. package/__internal__/src/components/ContextMenu/helpers.d.ts +4 -3
  450. package/__internal__/src/components/DatePickerCanary/DatePickerCanary.js +3 -1
  451. package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.css +0 -49
  452. package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.d.ts +1 -0
  453. package/__internal__/src/components/DatePickerCanary/DatePickerDropdown/DatePickerDropdown.js +14 -9
  454. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +0 -1
  455. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.js +10 -14
  456. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/helpers.d.ts +0 -3
  457. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateRange/helpers.js +0 -32
  458. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +83 -0
  459. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.js +95 -0
  460. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/helpers.d.ts +30 -0
  461. package/__internal__/src/components/DatePickerCanary/DatePickerFieldTypeDateTimeRange/helpers.js +0 -0
  462. package/__internal__/src/components/DatePickerCanary/{DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.css → DatePickerMixRangeField/DatePickerMixRangeField.css} +16 -16
  463. package/__internal__/src/components/DatePickerCanary/DatePickerMixRangeField/DatePickerMixRangeField.d.ts +2 -0
  464. package/__internal__/src/components/DatePickerCanary/DatePickerMixRangeField/DatePickerMixRangeField.js +3 -0
  465. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDate/DatePickerTypeDate.js +1 -1
  466. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateRange/DatePickerTypeDateRange.js +31 -34
  467. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateTime/DatePickerTypeDateTime.js +4 -5
  468. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.d.ts +2 -0
  469. package/__internal__/src/components/DatePickerCanary/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +92 -0
  470. package/__internal__/src/components/DatePickerCanary/helpers.d.ts +10 -7
  471. package/__internal__/src/components/DatePickerCanary/helpers.js +36 -1
  472. package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/DateTimeTypeDateTime.js +7 -7
  473. package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.d.ts +3 -2
  474. package/__internal__/src/components/DateTimeCanary/DateTimeTypeDateTime/useOnChange.js +18 -4
  475. package/__internal__/src/components/DateTimeCanary/helpers/types.d.ts +3 -1
  476. package/__internal__/src/components/EventInterceptor/eventInterceptorMap.d.ts +2 -5
  477. package/__internal__/src/components/EventInterceptor/propsHandlers/useSnackBarEventsHandler.d.ts +2 -5
  478. package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +1 -1
  479. package/__internal__/src/components/Popover/Popover.css +8 -0
  480. package/__internal__/src/components/Popover/Popover.d.ts +6 -3
  481. package/__internal__/src/components/Popover/Popover.js +30 -8
  482. package/__internal__/src/components/Popover/helpers.d.ts +2 -1
  483. package/__internal__/src/components/Popover/helpers.js +6 -2
  484. package/__internal__/src/components/Select/Select.js +5 -5
  485. package/__internal__/src/components/Select/helpers.d.ts +2 -0
  486. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.css +2 -1
  487. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +2 -0
  488. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +7 -5
  489. package/__internal__/src/components/SelectComponents/helpers.d.ts +1 -0
  490. package/__internal__/src/components/SelectComponents/helpers.js +1 -0
  491. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js +4 -3
  492. package/__internal__/src/components/Sidebar/Sidebar.js +3 -2
  493. package/__internal__/src/components/SliderCanary/SliderCanary.js +5 -3
  494. package/__internal__/src/components/SliderCanary/SliderInput/SliderInput.d.ts +1 -1
  495. package/__internal__/src/components/SliderCanary/SliderInput/SliderInput.js +1 -1
  496. package/__internal__/src/components/SliderCanary/useSlider/helper.js +5 -12
  497. package/__internal__/src/components/SliderCanary/useSlider/useSlider.js +7 -15
  498. package/__internal__/src/components/SliderCanary/useSliderStationing.js +4 -10
  499. package/__internal__/src/components/SnackBar/SnackBar.d.ts +3 -3
  500. package/__internal__/src/components/SnackBar/SnackBar.js +15 -15
  501. package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.d.ts +1 -1
  502. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.d.ts +2 -4
  503. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js +13 -13
  504. package/__internal__/src/components/SnackBar/SnackBarLine/SnackBarLine.d.ts +1 -1
  505. package/__internal__/src/components/SnackBar/SnackBarTimer/SnackBarTimer.d.ts +1 -1
  506. package/__internal__/src/components/SnackBar/helper.d.ts +288 -45
  507. package/__internal__/src/components/SnackBar/helper.js +51 -3
  508. package/__internal__/src/components/SnackBar/types.d.ts +78 -0
  509. package/__internal__/src/components/SnackBar/types.js +3 -0
  510. package/__internal__/src/components/Table/Table.css +1 -0
  511. package/__internal__/src/components/Table/Table.d.ts +1 -1
  512. package/__internal__/src/components/Table/Table.js +18 -6
  513. package/__internal__/src/components/Table/helpers.d.ts +1 -0
  514. package/__internal__/src/components/Table/helpers.js +10 -3
  515. package/__internal__/src/components/TextField/TextField.js +29 -17
  516. package/__internal__/src/components/TextField/helpers.d.ts +17 -2
  517. package/__internal__/src/components/TextField/helpers.js +51 -0
  518. package/__internal__/src/components/UserSelect/UserSelect.js +5 -5
  519. package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.js +4 -3
  520. package/__internal__/src/components/UserSelect/helpers.d.ts +2 -0
  521. package/__internal__/src/components/UserSelectDeprecated/UserSelectItem/UserSelectItem.js +4 -3
  522. package/__internal__/src/hooks/useHideElementsInLine/useHideElementsInLine.d.ts +1 -1
  523. package/__internal__/src/hooks/useRefs/useRefs.d.ts +1 -1
  524. package/__internal__/src/hooks/useSelect/useSelect.d.ts +1 -0
  525. package/__internal__/src/hooks/useSelect/useSelect.js +4 -2
  526. package/__internal__/src/hooks/useSortSteps/useSortSteps.d.ts +7 -0
  527. package/__internal__/src/hooks/useSortSteps/useSortSteps.js +25 -0
  528. package/__internal__/src/hooks/useTimer/useTimer.js +6 -1
  529. package/__internal__/src/icons/IconPicture/IconPicture.d.ts +5 -0
  530. package/__internal__/src/icons/IconPicture/IconPicture.js +10 -0
  531. package/__internal__/src/icons/IconPicture/IconPicture_size_m.d.ts +3 -0
  532. package/__internal__/src/icons/IconPicture/IconPicture_size_m.js +7 -0
  533. package/__internal__/src/icons/IconPicture/IconPicture_size_m.svg +5 -0
  534. package/__internal__/src/icons/IconPicture/IconPicture_size_s.d.ts +3 -0
  535. package/__internal__/src/icons/IconPicture/IconPicture_size_s.js +7 -0
  536. package/__internal__/src/icons/IconPicture/IconPicture_size_s.svg +5 -0
  537. package/__internal__/src/icons/IconPicture/IconPicture_size_xs.d.ts +3 -0
  538. package/__internal__/src/icons/IconPicture/IconPicture_size_xs.js +7 -0
  539. package/__internal__/src/icons/IconPicture/IconPicture_size_xs.svg +5 -0
  540. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel.d.ts +5 -0
  541. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel.js +10 -0
  542. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_m.d.ts +3 -0
  543. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_m.js +7 -0
  544. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_m.svg +5 -0
  545. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_s.d.ts +3 -0
  546. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_s.js +7 -0
  547. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_s.svg +5 -0
  548. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_xs.d.ts +3 -0
  549. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_xs.js +7 -0
  550. package/__internal__/src/icons/IconPriceLabel/IconPriceLabel_size_xs.svg +5 -0
  551. package/__internal__/src/icons/IconTable2/IconTable2.d.ts +5 -0
  552. package/__internal__/src/icons/IconTable2/IconTable2.js +10 -0
  553. package/__internal__/src/icons/IconTable2/IconTable2_size_m.d.ts +3 -0
  554. package/__internal__/src/icons/IconTable2/IconTable2_size_m.js +7 -0
  555. package/__internal__/src/icons/IconTable2/IconTable2_size_m.svg +7 -0
  556. package/__internal__/src/icons/IconTable2/IconTable2_size_s.d.ts +3 -0
  557. package/__internal__/src/icons/IconTable2/IconTable2_size_s.js +7 -0
  558. package/__internal__/src/icons/IconTable2/IconTable2_size_s.svg +7 -0
  559. package/__internal__/src/icons/IconTable2/IconTable2_size_xs.d.ts +3 -0
  560. package/__internal__/src/icons/IconTable2/IconTable2_size_xs.js +7 -0
  561. package/__internal__/src/icons/IconTable2/IconTable2_size_xs.svg +7 -0
  562. package/__internal__/src/icons/IconWrench/IconWrench.d.ts +5 -0
  563. package/__internal__/src/icons/IconWrench/IconWrench.js +10 -0
  564. package/__internal__/src/icons/IconWrench/IconWrench_size_m.d.ts +3 -0
  565. package/__internal__/src/icons/IconWrench/IconWrench_size_m.js +7 -0
  566. package/__internal__/src/icons/IconWrench/IconWrench_size_m.svg +5 -0
  567. package/__internal__/src/icons/IconWrench/IconWrench_size_s.d.ts +3 -0
  568. package/__internal__/src/icons/IconWrench/IconWrench_size_s.js +7 -0
  569. package/__internal__/src/icons/IconWrench/IconWrench_size_s.svg +5 -0
  570. package/__internal__/src/icons/IconWrench/IconWrench_size_xs.d.ts +3 -0
  571. package/__internal__/src/icons/IconWrench/IconWrench_size_xs.js +7 -0
  572. package/__internal__/src/icons/IconWrench/IconWrench_size_xs.svg +5 -0
  573. package/__internal__/src/mixs/MixPopoverAnimate/MixPopoverAnimate.css +76 -0
  574. package/__internal__/src/mixs/MixPopoverAnimate/MixPopoverAnimate.d.ts +12 -0
  575. package/__internal__/src/mixs/MixPopoverAnimate/MixPopoverAnimate.js +7 -0
  576. package/createIcon/package.json +1 -1
  577. package/createResponsesImage/package.json +1 -1
  578. package/package.json +7 -2
  579. package/useBreakpoints/package.json +1 -1
  580. package/useChoiceGroup/package.json +1 -1
  581. package/useChoiceGroupIndexed/package.json +1 -1
  582. package/useClickOutside/package.json +1 -1
  583. package/useComponentSize/package.json +1 -1
  584. package/useDebounce/package.json +1 -1
  585. package/useFlag/package.json +1 -1
  586. package/useForkRef/package.json +1 -1
  587. package/useGlobalKeys/package.json +1 -1
  588. package/useHideElementsInLine/package.json +1 -1
  589. package/useKeys/package.json +1 -1
  590. package/useMutableRef/package.json +1 -1
  591. package/useOverflow/package.json +1 -1
  592. package/usePrevious/package.json +1 -1
  593. package/useRefs/package.json +1 -1
  594. package/useResizeObserved/package.json +1 -1
  595. package/useScrollElements/package.json +1 -1
  596. package/useScrollPosition/package.json +1 -1
  597. package/useSelect/package.json +1 -1
  598. package/useSortSteps/es.js +1 -0
  599. package/useSortSteps/index.d.ts +1 -0
  600. package/useSortSteps/index.js +4 -0
  601. package/useSortSteps/package.json +9 -0
  602. package/useThemeVars/package.json +1 -1
  603. package/useTimer/package.json +1 -1
  604. package/withTooltip/package.json +1 -1
  605. package/MixDropdownAnimate/es.js +0 -1
  606. package/MixDropdownAnimate/index.d.ts +0 -1
  607. package/MixDropdownAnimate/index.js +0 -4
  608. package/__internal__/cjs-src/mixs/MixDropdownAnimate/MixDropdownAnimate.css +0 -37
  609. package/__internal__/cjs-src/mixs/MixDropdownAnimate/MixDropdownAnimate.d.ts +0 -4
  610. package/__internal__/cjs-src/mixs/MixDropdownAnimate/MixDropdownAnimate.js +0 -9
  611. package/__internal__/src/mixs/MixDropdownAnimate/MixDropdownAnimate.css +0 -37
  612. package/__internal__/src/mixs/MixDropdownAnimate/MixDropdownAnimate.d.ts +0 -4
  613. package/__internal__/src/mixs/MixDropdownAnimate/MixDropdownAnimate.js +0 -6
@@ -1,8 +1,11 @@
1
1
  import { __assign, __read, __rest, __spread } from "tslib";
2
+ import './Popover.css';
2
3
  import React, { useEffect } from 'react';
3
4
  import { useClickOutside } from '../../hooks/useClickOutside/useClickOutside';
4
5
  import { useComponentSize } from '../../hooks/useComponentSize/useComponentSize';
5
6
  import { useForkRef } from '../../hooks/useForkRef/useForkRef';
7
+ import { useThemeVars } from '../../hooks/useThemeVars/useThemeVars';
8
+ import { cn } from '../../utils/bem';
6
9
  import { PortalWithTheme, usePortalContext } from '../PortalWithTheme/PortalWithTheme';
7
10
  import { useTheme } from '../Theme/Theme';
8
11
  import { getComputedPositionAndDirection } from './helpers';
@@ -36,6 +39,20 @@ export var directionsStartEdge = [
36
39
  'rightStartUp',
37
40
  'rightStartDown',
38
41
  ];
42
+ export var popoverPropOffset = [
43
+ '3xs',
44
+ '2xs',
45
+ 'xs',
46
+ 's',
47
+ 'm',
48
+ 'l',
49
+ 'xl',
50
+ '2xl',
51
+ '3xl',
52
+ '4xl',
53
+ '5xl',
54
+ '6xl',
55
+ ];
39
56
  export var directions = __spread(directionsStartCenter, directionsStartEdge);
40
57
  var isRenderProp = function (children) { return typeof children === 'function'; };
41
58
  /**
@@ -53,20 +70,23 @@ var ContextConsumer = function (_a) {
53
70
  });
54
71
  return React.createElement(React.Fragment, null, children);
55
72
  };
73
+ var cnPopover = cn('Popover');
56
74
  export var Popover = React.forwardRef(function (props, componentRef) {
57
- var children = props.children, _a = props.direction, passedDirection = _a === void 0 ? 'upCenter' : _a, _b = props.offset, offset = _b === void 0 ? 0 : _b, arrowOffset = props.arrowOffset, _c = props.possibleDirections, possibleDirections = _c === void 0 ? directions : _c, _d = props.isInteractive, isInteractive = _d === void 0 ? true : _d, onClickOutside = props.onClickOutside, _e = props.spareDirection, spareDirection = _e === void 0 ? 'downStartLeft' : _e, style = props.style, passedPosition = props.position, anchorRef = props.anchorRef, equalAnchorWidth = props.equalAnchorWidth, onSetDirection = props.onSetDirection, otherProps = __rest(props, ["children", "direction", "offset", "arrowOffset", "possibleDirections", "isInteractive", "onClickOutside", "spareDirection", "style", "position", "anchorRef", "equalAnchorWidth", "onSetDirection"]);
75
+ var _a;
76
+ var children = props.children, _b = props.direction, passedDirection = _b === void 0 ? 'upCenter' : _b, _c = props.offset, offset = _c === void 0 ? 0 : _c, arrowOffset = props.arrowOffset, _d = props.possibleDirections, possibleDirections = _d === void 0 ? directions : _d, _e = props.isInteractive, isInteractive = _e === void 0 ? true : _e, onClickOutside = props.onClickOutside, _f = props.spareDirection, spareDirection = _f === void 0 ? 'downStartLeft' : _f, style = props.style, className = props.className, passedPosition = props.position, anchorRef = props.anchorRef, equalAnchorWidth = props.equalAnchorWidth, onSetDirection = props.onSetDirection, otherProps = __rest(props, ["children", "direction", "offset", "arrowOffset", "possibleDirections", "isInteractive", "onClickOutside", "spareDirection", "style", "className", "position", "anchorRef", "equalAnchorWidth", "onSetDirection"]);
58
77
  var ref = React.useRef(null);
59
78
  var theme = useTheme().theme;
60
- var _f = __read(React.useState(), 2), anchorClientRect = _f[0], setAnchorClientRect = _f[1];
61
- var _g = useComponentSize(ref), width = _g.width, height = _g.height;
79
+ var _g = __read(React.useState(), 2), anchorClientRect = _g[0], setAnchorClientRect = _g[1];
80
+ var _h = useComponentSize(ref), width = _h.width, height = _h.height;
62
81
  var anchorSize = useComponentSize(anchorRef || { current: null });
63
82
  var previousDirectionRef = React.useRef(null);
64
83
  var previousDirection = previousDirectionRef.current;
65
- var _h = __read(React.useState([]), 2), bannedDirections = _h[0], setBannedDirections = _h[1];
84
+ var _j = __read(React.useState([]), 2), bannedDirections = _j[0], setBannedDirections = _j[1];
66
85
  var resetBannedDirections = function () {
67
86
  setBannedDirections(function (state) { return (state.length ? [] : state); });
68
87
  previousDirectionRef.current = null;
69
88
  };
89
+ var vars = useThemeVars();
70
90
  var updateAnchorClientRect = function () { var _a; return setAnchorClientRect((_a = anchorRef === null || anchorRef === void 0 ? void 0 : anchorRef.current) === null || _a === void 0 ? void 0 : _a.getBoundingClientRect()); };
71
91
  React.useLayoutEffect(updateAnchorClientRect, [anchorSize]);
72
92
  usePopoverReposition({
@@ -77,14 +97,16 @@ export var Popover = React.forwardRef(function (props, componentRef) {
77
97
  updateAnchorClientRect();
78
98
  }
79
99
  });
80
- var _j = getComputedPositionAndDirection({
100
+ var _k = getComputedPositionAndDirection({
81
101
  contentSize: { width: width, height: height },
82
102
  viewportSize: {
83
103
  // Размер вьюпорта без скроллбаров
84
104
  width: document.documentElement.clientWidth,
85
105
  height: document.documentElement.clientHeight
86
106
  },
87
- offset: offset,
107
+ offset: typeof offset === 'string'
108
+ ? vars.space["--space-" + offset]
109
+ : offset,
88
110
  arrowOffset: arrowOffset,
89
111
  direction: passedDirection,
90
112
  possibleDirections: possibleDirections,
@@ -94,7 +116,7 @@ export var Popover = React.forwardRef(function (props, componentRef) {
94
116
  : passedPosition,
95
117
  anchorSize: anchorSize,
96
118
  spareDirection: spareDirection
97
- }), position = _j.position, direction = _j.direction;
119
+ }), position = _k.position, direction = _k.direction;
98
120
  useEffect(function () { return onSetDirection && onSetDirection(direction); }, [direction]);
99
121
  /**
100
122
  * Может возникнуть ситуация, когда перерасчет поповера всегда будет выдавать 2 направления
@@ -112,6 +134,6 @@ export var Popover = React.forwardRef(function (props, componentRef) {
112
134
  // Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор
113
135
  React.useLayoutEffect(resetBannedDirections, [props]);
114
136
  var content = isRenderProp(children) ? children(direction) : children;
115
- return (React.createElement(PortalWithTheme, __assign({}, otherProps, { preset: theme, container: window.document.body, ref: useForkRef([ref, componentRef]), style: __assign(__assign(__assign({}, style), (equalAnchorWidth && { width: anchorSize.width })), { pointerEvents: isInteractive ? undefined : 'none', position: 'absolute', top: ((position === null || position === void 0 ? void 0 : position.y) || 0) + window.scrollY, left: ((position === null || position === void 0 ? void 0 : position.x) || 0) + window.scrollX, visibility: position ? undefined : 'hidden' }) }),
137
+ return (React.createElement(PortalWithTheme, __assign({}, otherProps, { preset: theme, className: cnPopover(null, [className]), container: window.document.body, ref: useForkRef([ref, componentRef]), style: __assign(__assign({}, style), (_a = {}, _a['--popover-top'] = ((position === null || position === void 0 ? void 0 : position.y) || 0) + window.scrollY + "px", _a['--popover-left'] = ((position === null || position === void 0 ? void 0 : position.x) || 0) + window.scrollX + "px", _a["--popover-width"] = equalAnchorWidth ? anchorSize.width + "px" : undefined, _a["--popover-pointer-events"] = isInteractive ? undefined : 'none', _a["--popover-visibility"] = position ? undefined : 'hidden', _a)) }),
116
138
  React.createElement(ContextConsumer, { onClickOutside: onClickOutside, ignoreClicksInsideRefs: [ref, anchorRef || { current: null }] }, content)));
117
139
  });
@@ -1,6 +1,7 @@
1
1
  import { Direction, Position } from './Popover';
2
2
  declare type Size = Pick<ClientRect, 'width' | 'height'>;
3
3
  declare type PositionsByDirection = Record<Direction, NonNullable<Position>>;
4
+ export declare const convertPixelsToNumber: (pixels: string) => number;
4
5
  export declare const getPositionsByDirection: ({ contentSize, anchorSize, position: { x, y }, offset, arrowOffset, }: {
5
6
  contentSize: Size;
6
7
  anchorSize: Size;
@@ -13,7 +14,7 @@ declare type ComputedPositionAndDirectionParams = {
13
14
  contentSize: Size;
14
15
  viewportSize: Size;
15
16
  anchorSize?: Size;
16
- offset: number;
17
+ offset?: number | string;
17
18
  arrowOffset?: number;
18
19
  direction: Direction;
19
20
  spareDirection: Direction;
@@ -3,6 +3,9 @@ var getPosition = function (x, y) { return ({
3
3
  x: Math.round(x),
4
4
  y: Math.round(y)
5
5
  }); };
6
+ export var convertPixelsToNumber = function (pixels) {
7
+ return Number(pixels.slice(0, pixels.length - 2));
8
+ };
6
9
  export var getPositionsByDirection = function (_a) {
7
10
  var contentSize = _a.contentSize, anchorSize = _a.anchorSize, _b = _a.position, x = _b.x, y = _b.y, offset = _a.offset, _c = _a.arrowOffset, arrowOffset = _c === void 0 ? 0 : _c;
8
11
  var contentWidth = contentSize.width, contentHeight = contentSize.height;
@@ -53,15 +56,16 @@ export var getPositionsByDirection = function (_a) {
53
56
  };
54
57
  };
55
58
  export var getComputedPositionAndDirection = function (_a) {
56
- var initialPosition = _a.position, contentSize = _a.contentSize, viewportSize = _a.viewportSize, _b = _a.anchorSize, anchorSize = _b === void 0 ? { width: 0, height: 0 } : _b, offset = _a.offset, arrowOffset = _a.arrowOffset, initialDirection = _a.direction, possibleDirections = _a.possibleDirections, bannedDirections = _a.bannedDirections, spareDirection = _a.spareDirection;
59
+ var initialPosition = _a.position, contentSize = _a.contentSize, viewportSize = _a.viewportSize, _b = _a.anchorSize, anchorSize = _b === void 0 ? { width: 0, height: 0 } : _b, _c = _a.offset, offset = _c === void 0 ? 0 : _c, arrowOffset = _a.arrowOffset, initialDirection = _a.direction, possibleDirections = _a.possibleDirections, bannedDirections = _a.bannedDirections, spareDirection = _a.spareDirection;
57
60
  if (!initialPosition) {
58
61
  return { position: initialPosition, direction: initialDirection };
59
62
  }
63
+ var currentOffset = typeof offset === 'string' ? convertPixelsToNumber(offset) : offset;
60
64
  var positionsByDirection = getPositionsByDirection({
61
65
  contentSize: contentSize,
62
66
  anchorSize: anchorSize,
63
67
  position: initialPosition,
64
- offset: offset,
68
+ offset: currentOffset,
65
69
  arrowOffset: arrowOffset
66
70
  });
67
71
  var direction = __spread([initialDirection], possibleDirections).filter(function (dir) { return !bannedDirections.includes(dir); })
@@ -6,7 +6,7 @@ import { useSelect } from '../../hooks/useSelect/useSelect';
6
6
  import { IconSelect } from '../../icons/IconSelect/IconSelect';
7
7
  import { usePropsHandler } from '../EventInterceptor/usePropsHandler';
8
8
  import { cnSelect, COMPONENT_NAME } from '../SelectComponents/cnSelect';
9
- import { getSelectDropdownForm } from '../SelectComponents/helpers';
9
+ import { defaultLabelForEmptyItems, getSelectDropdownForm } from '../SelectComponents/helpers';
10
10
  import { SelectContainer } from '../SelectComponents/SelectContainer/SelectContainer';
11
11
  import { SelectDropdown } from '../SelectComponents/SelectDropdown/SelectDropdown';
12
12
  import { SelectItem } from '../SelectComponents/SelectItem/SelectItem';
@@ -15,8 +15,8 @@ import { withDefaultGetters, } from './helpers';
15
15
  function SelectRender(props, ref) {
16
16
  var defaultDropdownRef = useRef(null);
17
17
  var controlRef = useRef(null);
18
- var _a = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef), placeholder = _a.placeholder, onBlur = _a.onBlur, onFocus = _a.onFocus, items = _a.items, onChange = _a.onChange, value = _a.value, required = _a.required, disabled = _a.disabled, ariaLabel = _a.ariaLabel, id = _a.id, _b = _a.dropdownRef, dropdownRef = _b === void 0 ? defaultDropdownRef : _b, _c = _a.form, form = _c === void 0 ? defaultPropForm : _c, _d = _a.view, view = _d === void 0 ? defaultPropView : _d, _e = _a.size, size = _e === void 0 ? defaultPropSize : _e, dropdownClassName = _a.dropdownClassName, name = _a.name, _f = _a.groups, groups = _f === void 0 ? [] : _f, getItemLabel = _a.getItemLabel, getItemKey = _a.getItemKey, getItemGroupKey = _a.getItemGroupKey, getItemDisabled = _a.getItemDisabled, getGroupKey = _a.getGroupKey, getGroupLabel = _a.getGroupLabel, renderItem = _a.renderItem, renderValueProp = _a.renderValue, inputRefProp = _a.inputRef, style = _a.style, restProps = __rest(_a, ["placeholder", "onBlur", "onFocus", "items", "onChange", "value", "required", "disabled", "ariaLabel", "id", "dropdownRef", "form", "view", "size", "dropdownClassName", "name", "groups", "getItemLabel", "getItemKey", "getItemGroupKey", "getItemDisabled", "getGroupKey", "getGroupLabel", "renderItem", "renderValue", "inputRef", "style"]);
19
- var _g = useSelect({
18
+ var _a = usePropsHandler(COMPONENT_NAME, withDefaultGetters(props), controlRef), placeholder = _a.placeholder, onBlur = _a.onBlur, onFocus = _a.onFocus, items = _a.items, onChange = _a.onChange, value = _a.value, required = _a.required, disabled = _a.disabled, ariaLabel = _a.ariaLabel, id = _a.id, _b = _a.dropdownRef, dropdownRef = _b === void 0 ? defaultDropdownRef : _b, _c = _a.form, form = _c === void 0 ? defaultPropForm : _c, _d = _a.view, view = _d === void 0 ? defaultPropView : _d, _e = _a.size, size = _e === void 0 ? defaultPropSize : _e, dropdownClassName = _a.dropdownClassName, name = _a.name, _f = _a.groups, groups = _f === void 0 ? [] : _f, getItemLabel = _a.getItemLabel, _g = _a.labelForEmptyItems, labelForEmptyItems = _g === void 0 ? defaultLabelForEmptyItems : _g, getItemKey = _a.getItemKey, getItemGroupKey = _a.getItemGroupKey, getItemDisabled = _a.getItemDisabled, getGroupKey = _a.getGroupKey, getGroupLabel = _a.getGroupLabel, renderItem = _a.renderItem, renderValueProp = _a.renderValue, inputRefProp = _a.inputRef, style = _a.style, restProps = __rest(_a, ["placeholder", "onBlur", "onFocus", "items", "onChange", "value", "required", "disabled", "ariaLabel", "id", "dropdownRef", "form", "view", "size", "dropdownClassName", "name", "groups", "getItemLabel", "labelForEmptyItems", "getItemKey", "getItemGroupKey", "getItemDisabled", "getGroupKey", "getGroupLabel", "renderItem", "renderValue", "inputRef", "style"]);
19
+ var _h = useSelect({
20
20
  items: items,
21
21
  groups: groups,
22
22
  value: value,
@@ -32,7 +32,7 @@ function SelectRender(props, ref) {
32
32
  multiple: false,
33
33
  onBlur: onBlur,
34
34
  onFocus: onFocus
35
- }), getKeyProps = _g.getKeyProps, getOptionProps = _g.getOptionProps, isOpen = _g.isOpen, visibleItems = _g.visibleItems, isFocused = _g.isFocused, handleInputFocus = _g.handleInputFocus, handleInputBlur = _g.handleInputBlur, handleToggleDropdown = _g.handleToggleDropdown, inputRef = _g.inputRef, handleInputClick = _g.handleInputClick, notFound = _g.notFound;
35
+ }), getKeyProps = _h.getKeyProps, getOptionProps = _h.getOptionProps, isOpen = _h.isOpen, visibleItems = _h.visibleItems, isFocused = _h.isFocused, handleInputFocus = _h.handleInputFocus, handleInputBlur = _h.handleInputBlur, handleToggleDropdown = _h.handleToggleDropdown, inputRef = _h.inputRef, handleInputClick = _h.handleInputClick, notFound = _h.notFound, hasItems = _h.hasItems;
36
36
  var dropdownForm = getSelectDropdownForm(form);
37
37
  var renderItemDefault = function (props) {
38
38
  var item = props.item, active = props.active, hovered = props.hovered, onClick = props.onClick, onMouseEnter = props.onMouseEnter;
@@ -53,7 +53,7 @@ function SelectRender(props, ref) {
53
53
  React.createElement("span", { className: cnSelect('Indicators') },
54
54
  React.createElement("button", { type: "button", className: cnSelect('IndicatorsDropdown'), tabIndex: -1, onClick: handleToggleDropdown },
55
55
  React.createElement(IconSelect, { size: "xs", className: cnSelect('DropdownIndicatorIcon') })))),
56
- React.createElement(SelectDropdown, { isOpen: isOpen, size: size, controlRef: controlRef, getOptionProps: getOptionProps, dropdownRef: dropdownRef, form: dropdownForm, className: dropdownClassName, renderItem: renderItem || renderItemDefault, getGroupLabel: getGroupLabel, visibleItems: visibleItems, notFound: notFound, style: typeof (style === null || style === void 0 ? void 0 : style.zIndex) === 'number' ? { zIndex: style.zIndex + 1 } : undefined })));
56
+ React.createElement(SelectDropdown, { isOpen: isOpen, size: size, controlRef: controlRef, getOptionProps: getOptionProps, dropdownRef: dropdownRef, form: dropdownForm, className: dropdownClassName, renderItem: renderItem || renderItemDefault, getGroupLabel: getGroupLabel, visibleItems: visibleItems, notFound: notFound, labelForEmptyItems: labelForEmptyItems, hasItems: hasItems, style: typeof (style === null || style === void 0 ? void 0 : style.zIndex) === 'number' ? { zIndex: style.zIndex + 1 } : undefined })));
57
57
  }
58
58
  export var Select = forwardRef(SelectRender);
59
59
  export * from './helpers';
@@ -42,6 +42,7 @@ export declare type SelectProps<ITEM = DefaultItem, GROUP = DefaultGroup> = Prop
42
42
  dropdownRef?: React.RefObject<HTMLDivElement>;
43
43
  required?: boolean;
44
44
  name?: string;
45
+ labelForEmptyItems?: string;
45
46
  value?: PropValue<ITEM>;
46
47
  renderItem?: PropRenderItem<ITEM>;
47
48
  renderValue?: PropRenderValue<ITEM>;
@@ -101,6 +102,7 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM,
101
102
  dropdownRef?: React.RefObject<HTMLDivElement> | undefined;
102
103
  required?: boolean | undefined;
103
104
  name?: string | undefined;
105
+ labelForEmptyItems?: string | undefined;
104
106
  value?: PropValue<ITEM>;
105
107
  renderItem?: PropRenderItem<ITEM> | undefined;
106
108
  renderValue?: PropRenderValue<ITEM> | undefined;
@@ -104,7 +104,8 @@
104
104
  transform: translateY(var(--transition-spase));
105
105
  }
106
106
 
107
- .SelectDropdown-LabelForNotFound {
107
+ .SelectDropdown-LabelForNotFound,
108
+ .SelectDropdown-LabelForEmptyItems {
108
109
  padding: 0 var(--space-xs);
109
110
  }
110
111
 
@@ -23,7 +23,9 @@ declare type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
23
23
  getGroupLabel?: (group: GROUP) => string;
24
24
  labelForCreate?: string;
25
25
  labelForNotFound?: string;
26
+ labelForEmptyItems?: string;
26
27
  notFound?: boolean;
28
+ hasItems?: boolean;
27
29
  }>;
28
30
  declare type SelectDropdown = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
29
31
  export declare const SelectDropdown: SelectDropdown;
@@ -1,6 +1,6 @@
1
1
  import { __assign, __rest } from "tslib";
2
2
  import './SelectDropdown.css';
3
- import React, { Fragment } from 'react';
3
+ import React, { Fragment, useRef } from 'react';
4
4
  import { CSSTransition } from 'react-transition-group';
5
5
  import { isOptionForCreate, } from '../../../hooks/useSelect/useSelect';
6
6
  import { cn } from '../../../utils/bem';
@@ -15,11 +15,12 @@ export var defaultSelectDropdownPropForm = selectDropdownform[0];
15
15
  var cnSelectDropdown = cn('SelectDropdown');
16
16
  var cnSelectDropdownCssTransition = cnForCssTransition(cnSelectDropdown);
17
17
  export var SelectDropdown = function (props) {
18
- var controlRef = props.controlRef, size = props.size, getOptionProps = props.getOptionProps, dropdownRef = props.dropdownRef, labelForCreate = props.labelForCreate, className = props.className, labelForNotFound = props.labelForNotFound, form = props.form, isOpen = props.isOpen, renderItem = props.renderItem, visibleItems = props.visibleItems, getGroupLabel = props.getGroupLabel, notFound = props.notFound, ref = props.ref, otherProps = __rest(props, ["controlRef", "size", "getOptionProps", "dropdownRef", "labelForCreate", "className", "labelForNotFound", "form", "isOpen", "renderItem", "visibleItems", "getGroupLabel", "notFound", "ref"]);
18
+ var controlRef = props.controlRef, size = props.size, getOptionProps = props.getOptionProps, dropdownRef = props.dropdownRef, labelForCreate = props.labelForCreate, className = props.className, labelForNotFound = props.labelForNotFound, labelForEmptyItems = props.labelForEmptyItems, _a = props.hasItems, hasItems = _a === void 0 ? true : _a, form = props.form, isOpen = props.isOpen, renderItem = props.renderItem, visibleItems = props.visibleItems, getGroupLabel = props.getGroupLabel, notFound = props.notFound, otherProps = __rest(props, ["controlRef", "size", "getOptionProps", "dropdownRef", "labelForCreate", "className", "labelForNotFound", "labelForEmptyItems", "hasItems", "form", "isOpen", "renderItem", "visibleItems", "getGroupLabel", "notFound"]);
19
19
  var getIndex = fabricIndex(-1);
20
20
  var indent = form === 'round' ? 'increased' : 'normal';
21
- return (React.createElement(CSSTransition, { "in": isOpen, unmountOnExit: true, appear: true, classNames: cnSelectDropdownCssTransition, timeout: 200 },
22
- React.createElement(Popover, __assign({}, otherProps, { anchorRef: controlRef, direction: "downStartLeft", possibleDirections: ['downStartLeft', 'upStartLeft', 'downStartRight', 'upStartRight'], offset: 1, role: "listbox", className: cnSelectDropdown({ form: form, size: size }, [className]), equalAnchorWidth: true }),
21
+ var popoverRef = useRef(null);
22
+ return (React.createElement(CSSTransition, { "in": isOpen, unmountOnExit: true, appear: true, nodeRef: popoverRef, classNames: cnSelectDropdownCssTransition, timeout: 200 },
23
+ React.createElement(Popover, __assign({}, otherProps, { anchorRef: controlRef, direction: "downStartLeft", possibleDirections: ['downStartLeft', 'upStartLeft', 'downStartRight', 'upStartRight'], offset: 1, ref: popoverRef, role: "listbox", className: cnSelectDropdown({ form: form, size: size }, [className]), equalAnchorWidth: true }),
23
24
  React.createElement("div", { className: cnSelectDropdown('List', { size: size, form: form }), ref: dropdownRef },
24
25
  visibleItems.map(function (group) {
25
26
  if (isOptionForCreate(group)) {
@@ -31,5 +32,6 @@ export var SelectDropdown = function (props) {
31
32
  return (React.createElement(Fragment, { key: group.key + "-" + i }, renderItem(__assign({ item: item }, getOptionProps({ index: getIndex(), item: item })))));
32
33
  })));
33
34
  }),
34
- notFound && labelForNotFound && (React.createElement(Text, { className: cnSelectDropdown('LabelForNotFound') }, labelForNotFound))))));
35
+ notFound && labelForNotFound && (React.createElement(Text, { className: cnSelectDropdown('LabelForNotFound') }, labelForNotFound)),
36
+ !hasItems && labelForEmptyItems && (React.createElement(Text, { className: cnSelectDropdown('LabelForEmptyItems') }, labelForEmptyItems))))));
35
37
  };
@@ -3,4 +3,5 @@ import { PropForm } from './types';
3
3
  export declare function getSelectDropdownForm(form: PropForm): SelectDropdownPropForm;
4
4
  export declare const defaultlabelForNotFound = "\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E";
5
5
  export declare const defaultlabelForCreate = "+";
6
+ export declare const defaultLabelForEmptyItems = "\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u0443\u0441\u0442";
6
7
  export declare const getInputWidth: (controlInnerRef: React.RefObject<HTMLDivElement>, helperInputFakeElement: React.RefObject<HTMLDivElement>) => number;
@@ -18,6 +18,7 @@ export function getSelectDropdownForm(form) {
18
18
  }
19
19
  export var defaultlabelForNotFound = 'Не найдено';
20
20
  export var defaultlabelForCreate = '+';
21
+ export var defaultLabelForEmptyItems = 'Список пуст';
21
22
  export var getInputWidth = function (controlInnerRef, helperInputFakeElement) {
22
23
  if (!controlInnerRef.current || !helperInputFakeElement.current) {
23
24
  return 20;
@@ -1,6 +1,6 @@
1
1
  import { __assign } from "tslib";
2
2
  import './SelectDropdown.css';
3
- import React from 'react';
3
+ import React, { useRef } from 'react';
4
4
  import { CSSTransition } from 'react-transition-group';
5
5
  import { cn } from '../../../utils/bem';
6
6
  import { cnForCssTransition } from '../../../utils/cnForCssTransition';
@@ -14,8 +14,9 @@ var cnSelectDropdown = cn('SelectDropdownDeprecated');
14
14
  var cnSelectDropdownCssTransition = cnForCssTransition(cnSelectDropdown);
15
15
  export var SelectDropdown = function (props) {
16
16
  var controlRef = props.controlRef, visibleOptions = props.visibleOptions, highlightedIndex = props.highlightedIndex, size = props.size, getOptionProps = props.getOptionProps, inputValue = props.inputValue, dropdownRef = props.dropdownRef, id = props.id, _a = props.hasGroup, hasGroup = _a === void 0 ? false : _a, selectedValues = props.selectedValues, labelForCreate = props.labelForCreate, getOptionKey = props.getOptionKey, className = props.className, labelForNotFound = props.labelForNotFound, _b = props.form, form = _b === void 0 ? defaultSelectDropdownPropForm : _b, isOpen = props.isOpen, renderItem = props.renderItem;
17
- return (React.createElement(CSSTransition, { "in": isOpen, unmountOnExit: true, appear: true, classNames: cnSelectDropdownCssTransition, timeout: 200 },
18
- React.createElement(Popover, { anchorRef: controlRef, direction: "downStartLeft", possibleDirections: ['downStartLeft', 'upStartLeft', 'downStartRight', 'upStartRight'], offset: 1, role: "listbox", className: cnSelectDropdown({ form: form, size: size }, [className]), "aria-activedescendant": id + "-" + highlightedIndex, equalAnchorWidth: true },
17
+ var popoverRef = useRef(null);
18
+ return (React.createElement(CSSTransition, { "in": isOpen, unmountOnExit: true, appear: true, classNames: cnSelectDropdownCssTransition, timeout: 200, nodeRef: popoverRef },
19
+ React.createElement(Popover, { anchorRef: controlRef, direction: "downStartLeft", possibleDirections: ['downStartLeft', 'upStartLeft', 'downStartRight', 'upStartRight'], offset: 1, ref: popoverRef, role: "listbox", className: cnSelectDropdown({ form: form, size: size }, [className]), "aria-activedescendant": id + "-" + highlightedIndex, equalAnchorWidth: true },
19
20
  React.createElement("div", { className: cnSelectDropdown('List', { size: size, form: form }), ref: dropdownRef }, visibleOptions.length > 0 ? (visibleOptions.map(function (option, index) {
20
21
  var isOptionForCreate = 'optionForCreate' in option;
21
22
  var currentOption = visibleOptions[index];
@@ -34,6 +34,7 @@ var ContextConsumer = function (_a) {
34
34
  export var Sidebar = function (props) {
35
35
  var isOpen = props.isOpen, onClose = props.onClose, onOpen = props.onOpen, _a = props.hasOverlay, hasOverlay = _a === void 0 ? true : _a, onOverlayClick = props.onOverlayClick, onClickOutside = props.onClickOutside, onEsc = props.onEsc, _b = props.position, position = _b === void 0 ? sidebarPropPositionDefault : _b, _c = props.size, size = _c === void 0 ? sidebarPropSizeDefault : _c, className = props.className, children = props.children, _d = props.container, container = _d === void 0 ? window.document.body : _d, style = props.style, rootClassName = props.rootClassName, otherProps = __rest(props, ["isOpen", "onClose", "onOpen", "hasOverlay", "onOverlayClick", "onClickOutside", "onEsc", "position", "size", "className", "children", "container", "style", "rootClassName"]);
36
36
  var ref = useRef(null);
37
+ var portalRef = useRef(null);
37
38
  var theme = useTheme().theme;
38
39
  useEffect(function () {
39
40
  if (isOpen) {
@@ -46,8 +47,8 @@ export var Sidebar = function (props) {
46
47
  useGlobalKeys({
47
48
  Escape: function (e) { return isOpen && onEsc && onEsc(e); }
48
49
  });
49
- return (React.createElement(CSSTransition, { "in": isOpen, unmountOnExit: true, className: cnSidebar({ position: position }), classNames: cnForCssTransition(cnSidebar), timeout: 200 },
50
- React.createElement(PortalWithTheme, { preset: theme, container: container, className: rootClassName, style: typeof (style === null || style === void 0 ? void 0 : style.zIndex) === 'number' ? { zIndex: style.zIndex } : undefined },
50
+ return (React.createElement(CSSTransition, { "in": isOpen, unmountOnExit: true, className: cnSidebar({ position: position }), classNames: cnForCssTransition(cnSidebar), timeout: 200, nodeRef: portalRef },
51
+ React.createElement(PortalWithTheme, { preset: theme, ref: portalRef, container: container, className: rootClassName, style: typeof (style === null || style === void 0 ? void 0 : style.zIndex) === 'number' ? { zIndex: style.zIndex } : undefined },
51
52
  hasOverlay && React.createElement("div", { className: cnSidebar('Overlay'), "aria-label": "Overlay" }),
52
53
  React.createElement("div", __assign({}, otherProps, { style: __assign(__assign({}, style), (typeof (style === null || style === void 0 ? void 0 : style.zIndex) === 'number' && { zIndex: (style === null || style === void 0 ? void 0 : style.zIndex) + 1 })), className: cnSidebar('Window', { size: size, position: position }, [className]), ref: ref }),
53
54
  React.createElement(ContextConsumer, { onClickOutside: onClickOutside || onOverlayClick, ignoreClicksInsideRefs: [ref] }, children)))));
@@ -2,6 +2,7 @@ import { __assign, __read, __rest } from "tslib";
2
2
  import './Slider.css';
3
3
  import React, { forwardRef, useRef } from 'react';
4
4
  import { useFlag } from '../../hooks/useFlag/useFlag';
5
+ import { useSortSteps } from '../../hooks/useSortSteps/useSortSteps';
5
6
  import { cn } from '../../utils/bem';
6
7
  import { getByMap } from '../../utils/getByMap';
7
8
  import { FieldCaption } from '../FieldCaption/FieldCaption';
@@ -25,6 +26,7 @@ function SliderRender(props, ref) {
25
26
  var leftButtonRef = useRef(null);
26
27
  var rightButtonRef = useRef(null);
27
28
  var sliderRef = useRef(null);
29
+ var sortedSteps = useSortSteps({ step: step, min: min, max: max });
28
30
  var IconRight = rightSide;
29
31
  var IconLeft = isNotRangeParams && props.leftSide && props.leftSide !== 'input' ? props.leftSide : undefined;
30
32
  var iconSize = getByMap(sizeMap, size);
@@ -34,13 +36,13 @@ function SliderRender(props, ref) {
34
36
  value: value,
35
37
  min: min,
36
38
  max: max,
37
- step: step,
39
+ step: sortedSteps,
38
40
  onChange: onChange,
39
41
  onAfterChange: onAfterChange,
40
42
  sliderRef: sliderRef,
41
43
  buttonRefs: [leftButtonRef, rightButtonRef]
42
44
  }), onKeyPress = _l.onKeyPress, onFocus = _l.onFocus, handlePress = _l.handlePress, popoverPosition = _l.popoverPosition, activeButton = _l.activeButton, currentValue = _l.currentValue;
43
- var _m = useSliderStationing(currentValue.length === 1 ? currentValue[0] : currentValue, min, max, view, range, step, [leftButtonRef, rightButtonRef], sliderRef), lineSizes = _m.lineSizes, buttonPositions = _m.buttonPositions;
45
+ var _m = useSliderStationing(currentValue.length === 1 ? currentValue[0] : currentValue, min, max, view, range, sortedSteps, [leftButtonRef, rightButtonRef], sliderRef), lineSizes = _m.lineSizes, buttonPositions = _m.buttonPositions;
44
46
  var changeHovered = function (status) {
45
47
  if (status)
46
48
  on();
@@ -51,7 +53,7 @@ function SliderRender(props, ref) {
51
53
  label && (React.createElement(FieldLabel, { className: cnSlider('Label'), size: size }, label)),
52
54
  React.createElement("div", { className: cnSlider('Container') },
53
55
  leftSide === 'input' && isNotRangeParams(props) && (React.createElement("div", { className: cnSlider('Side', { position: 'left' }) },
54
- React.createElement(SliderInput, { value: props.value, onChange: function (params) { var _a; return isNotRangeParams(props) && ((_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, params)); }, size: size, min: min, max: max, status: status, step: step, disabled: disabled }))),
56
+ React.createElement(SliderInput, { value: props.value, onChange: function (params) { var _a; return isNotRangeParams(props) && ((_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, params)); }, size: size, min: min, max: max, status: status, step: sortedSteps, disabled: disabled }))),
55
57
  IconLeft && (React.createElement("div", { className: cnSlider('Side', { position: 'left' }) },
56
58
  React.createElement(IconLeft, { size: iconSize, view: "secondary" }))),
57
59
  React.createElement("div", { className: cnSlider('Control'), ref: sliderRef },
@@ -6,7 +6,7 @@ declare type Props = Omit<TextFieldProps<'number'>, 'value' | 'onChange' | 'min'
6
6
  min?: number;
7
7
  max?: number;
8
8
  onChange?: (props: {
9
- e?: React.ChangeEvent | React.MouseEvent;
9
+ e?: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;
10
10
  value: number;
11
11
  }) => void;
12
12
  };
@@ -18,5 +18,5 @@ export var SliderInput = function (props) {
18
18
  setCurrentValue(validatedValue.toString());
19
19
  };
20
20
  useEffect(function () { return setCurrentValue(value.toString()); }, [value]);
21
- return (React.createElement(TextField, __assign({ onBlur: commitChange, type: "number", min: min, max: max, step: Array.isArray(step) ? 1 : step, onChange: handleChange, value: currentValue }, otherProps)));
21
+ return (React.createElement(TextField, __assign({ onBlur: commitChange, type: "number", min: min, max: max, step: step, onChange: handleChange, value: currentValue }, otherProps)));
22
22
  };
@@ -1,4 +1,4 @@
1
- import { __read, __spread } from "tslib";
1
+ import { __read } from "tslib";
2
2
  import { getSteps } from '../useSliderStationing';
3
3
  export var isRangeParams = function (params) {
4
4
  return !!params.range;
@@ -53,25 +53,18 @@ export var getValidValue = function (value, min, max, step) {
53
53
  return (Math.ceil(Number(value.toFixed(division ? division.length : 0)) / stepValue) * stepValue);
54
54
  }
55
55
  var resultValue_1 = value;
56
- var stepsArr_1 = step;
57
- if (step[0] !== min) {
58
- stepsArr_1 = __spread([min], stepsArr_1);
59
- }
60
- else if (step[step.length - 1] !== max) {
61
- stepsArr_1 = __spread(stepsArr_1, [max]);
62
- }
63
- stepsArr_1.forEach(function (stepPoint, index) {
56
+ step.forEach(function (stepPoint, index) {
64
57
  var minValue = min;
65
58
  var maxValue = max;
66
59
  if (index === 0) {
67
- maxValue = stepsArr_1[index + 1];
60
+ maxValue = step[index + 1];
68
61
  }
69
- else if (index === stepsArr_1.length - 1) {
62
+ else if (index === step.length - 1) {
70
63
  minValue = stepPoint;
71
64
  maxValue = max;
72
65
  }
73
66
  else {
74
- maxValue = stepsArr_1[index + 1];
67
+ maxValue = step[index + 1];
75
68
  minValue = stepPoint;
76
69
  }
77
70
  if (value <= maxValue && value >= minValue) {
@@ -52,7 +52,7 @@ export function useSlider(props) {
52
52
  });
53
53
  }, [step]);
54
54
  useEffect(function () {
55
- if (typeof value !== 'undefined' && typeof step !== 'undefined') {
55
+ if (typeof value !== 'undefined') {
56
56
  var targetValue = isRangeParams(props)
57
57
  ? [
58
58
  getValidValue(props.value[0], min, max, step),
@@ -93,32 +93,24 @@ export function useSlider(props) {
93
93
  }
94
94
  if (validKeyCode) {
95
95
  if (Array.isArray(step)) {
96
- var stepsArr_1 = __spread(step);
97
- if (step[0] !== minValue) {
98
- stepsArr_1 = __spread([minValue], stepsArr_1);
99
- }
100
- if (step[step.length - 1] !== maxValue) {
101
- stepsArr_1 = __spread(stepsArr_1, [maxValue]);
102
- }
103
- stepsArr_1.forEach(function (stepPoint, index) {
96
+ step.forEach(function (stepPoint, index) {
104
97
  if (typeof typeButton === 'number' && changedValue_1 === stepPoint) {
105
98
  if (stepIncrement_1 >= 0) {
106
99
  if (index === 0) {
107
- stepIncrement_1 = stepsArr_1[1] - minValue;
100
+ stepIncrement_1 = step[1] - minValue;
108
101
  }
109
102
  else {
110
103
  stepIncrement_1 =
111
- (typeof stepsArr_1[index + 1] !== 'undefined'
112
- ? stepsArr_1[index + 1]
113
- : maxValue) - stepPoint;
104
+ (typeof step[index + 1] !== 'undefined' ? step[index + 1] : maxValue) -
105
+ stepPoint;
114
106
  }
115
107
  }
116
108
  else if (index === 0) {
117
- stepIncrement_1 = minValue - stepsArr_1[1];
109
+ stepIncrement_1 = minValue - step[1];
118
110
  }
119
111
  else {
120
112
  stepIncrement_1 =
121
- (typeof stepsArr_1[index - 1] !== 'undefined' ? stepsArr_1[index - 1] : minValue) -
113
+ (typeof step[index - 1] !== 'undefined' ? step[index - 1] : minValue) -
122
114
  stepPoint;
123
115
  }
124
116
  }
@@ -4,17 +4,10 @@ export var getSteps = function (step, min, max) {
4
4
  var stepsArray = [];
5
5
  var size = min;
6
6
  if (Array.isArray(step)) {
7
- step.forEach(function (stepSize) {
7
+ for (var i = 0; i < step.length - 1; i++) {
8
8
  stepsArray.push({
9
- min: size,
10
- max: stepSize
11
- });
12
- size += stepSize - size;
13
- });
14
- if (size !== max) {
15
- stepsArray.push({
16
- min: size,
17
- max: max
9
+ min: step[i],
10
+ max: step[i + 1]
18
11
  });
19
12
  }
20
13
  }
@@ -30,6 +23,7 @@ export var getSteps = function (step, min, max) {
30
23
  return stepsArray;
31
24
  };
32
25
  export var useSliderStationing = function (value, min, max, view, range, step, buttonRefs, sliderLineRef) {
26
+ if (step === void 0) { step = 1; }
33
27
  var _a = __read(useState([]), 2), lineSizes = _a[0], setLineSizes = _a[1];
34
28
  var _b = __read(useState([]), 2), buttonPositions = _b[0], setButtonPositions = _b[1];
35
29
  var calculateLines = function () {
@@ -1,5 +1,5 @@
1
1
  import './SnackBar.css';
2
- import React from 'react';
3
- import { SnackBarProps } from './helper';
2
+ import { SnackBarComponent } from './types';
4
3
  export declare const cnSnackBar: import("@bem-react/classname").ClassNameFormatter;
5
- export declare const SnackBar: React.FC<SnackBarProps>;
4
+ export declare const SnackBar: SnackBarComponent;
5
+ export * from './types';
@@ -1,24 +1,24 @@
1
1
  import { __assign, __rest } from "tslib";
2
2
  import './SnackBar.css';
3
- import React, { createRef, useMemo } from 'react';
3
+ import React, { forwardRef } from 'react';
4
4
  import { CSSTransition, TransitionGroup } from 'react-transition-group';
5
+ import { useRefs } from '../../hooks/useRefs/useRefs';
5
6
  import { cn } from '../../utils/bem';
6
7
  import { cnForCssTransition } from '../../utils/cnForCssTransition';
7
8
  import { usePropsHandler } from '../EventInterceptor/usePropsHandler';
8
9
  import { SnackBarItem } from './SnackBarItem/SnackBarItem';
10
+ import { getItem, withDefaultGetters } from './helper';
9
11
  export var cnSnackBar = cn('SnackBar');
10
12
  var cssTransitionClassNames = cnForCssTransition(cnSnackBar, 'Item');
11
- export var SnackBar = function (props) {
12
- var _a = usePropsHandler('SnackBar', props), items = _a.items, className = _a.className, otherProps = __rest(_a, ["items", "className"]);
13
- var refs = useMemo(function () {
14
- var refArray = [];
15
- for (var i = 0; i < items.length; i++) {
16
- refArray[i] = createRef();
17
- }
18
- return refArray;
19
- }, [items]);
20
- return (React.createElement(TransitionGroup, __assign({}, otherProps, { className: cnSnackBar(null, [className]), appear: true, enter: true, exit: true }), items.map(function (item, index) {
21
- return (React.createElement(CSSTransition, { nodeRef: refs[index], classNames: cssTransitionClassNames, key: item.key, timeout: 200 },
22
- React.createElement(SnackBarItem, { item: item, ref: refs[index], className: cnSnackBar('Item') })));
23
- })));
24
- };
13
+ function SnackBarRender(propsComponent, ref) {
14
+ var props = usePropsHandler('SnackBar', withDefaultGetters(propsComponent));
15
+ var items = props.items, className = props.className, getItemKey = props.getItemKey, getItemActions = props.getItemActions, getItemAutoClose = props.getItemAutoClose, getItemIcon = props.getItemIcon, getItemMessage = props.getItemMessage, getItemOnAutoClose = props.getItemOnAutoClose, getItemOnClose = props.getItemOnClose, getItemShowProgress = props.getItemShowProgress, getItemStatus = props.getItemStatus, onItemClose = props.onItemClose, onItemAutoClose = props.onItemAutoClose, otherProps = __rest(props, ["items", "className", "getItemKey", "getItemActions", "getItemAutoClose", "getItemIcon", "getItemMessage", "getItemOnAutoClose", "getItemOnClose", "getItemShowProgress", "getItemStatus", "onItemClose", "onItemAutoClose"]);
16
+ var refs = useRefs(items.length);
17
+ return (React.createElement("div", __assign({ className: cnSnackBar(null, [className]), ref: ref }, otherProps),
18
+ React.createElement(TransitionGroup, { component: null, appear: true, enter: true, exit: true }, items.map(function (item, index) {
19
+ return (React.createElement(CSSTransition, { nodeRef: refs[index], classNames: cssTransitionClassNames, key: cnSnackBar('Item', { key: getItemKey(item) }), timeout: 200 },
20
+ React.createElement(SnackBarItem, __assign({ ref: refs[index], className: cnSnackBar('Item') }, getItem(item, props)))));
21
+ }))));
22
+ }
23
+ export var SnackBar = forwardRef(SnackBarRender);
24
+ export * from './types';
@@ -1,4 +1,4 @@
1
1
  import './SnackBarActionButton.css';
2
2
  import React from 'react';
3
- import { SnackBarActionButtonProps } from '../helper';
3
+ import { SnackBarActionButtonProps } from '../types';
4
4
  export declare const SnackBarActionButton: React.FC<SnackBarActionButtonProps>;
@@ -1,9 +1,7 @@
1
1
  import '../../Theme/_color/Theme_color_gpnDark.css';
2
2
  import './SnackBarItem.css';
3
3
  import React from 'react';
4
- import { PropsWithHTMLAttributesAndRef } from '../../../utils/types/PropsWithHTMLAttributes';
5
- import { SnackBarItemProps } from '../helper';
6
- declare type SnackBarItemComponent = (props: PropsWithHTMLAttributesAndRef<SnackBarItemProps, HTMLDivElement>) => React.ReactElement | null;
4
+ import { SnackBarItemComponent, SnackBarItemProps } from '../types';
7
5
  export declare const cnSnackBarItem: import("@bem-react/classname").ClassNameFormatter;
6
+ export declare function SnackBarItemRender(props: SnackBarItemProps, ref: React.Ref<HTMLDivElement>): JSX.Element;
8
7
  export declare const SnackBarItem: SnackBarItemComponent;
9
- export {};