@consta/uikit 5.13.0 → 5.15.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 (403) hide show
  1. package/FieldComponents/index.d.ts +1 -0
  2. package/FieldComponents/index.js +1 -0
  3. package/TextFieldCanary/index.d.ts +1 -0
  4. package/TextFieldCanary/index.js +1 -0
  5. package/__internal__/src/components/AutoComplete/helpers.d.ts +1 -1
  6. package/__internal__/src/components/AutoComplete/types.d.ts +1 -1
  7. package/__internal__/src/components/AutoComplete/types.js.map +1 -1
  8. package/__internal__/src/components/AutoComplete/useAutoComplete.d.ts +1 -1
  9. package/__internal__/src/components/AutoComplete/useAutoComplete.js +1 -1
  10. package/__internal__/src/components/AutoComplete/useAutoComplete.js.map +1 -1
  11. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -1
  12. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +1 -1
  13. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
  14. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.d.ts +1 -1
  15. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
  16. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
  17. package/__internal__/src/components/AvatarGroup/AvatarGroup.js.map +1 -1
  18. package/__internal__/src/components/Badge/Badge.css +1 -1
  19. package/__internal__/src/components/Badge/Badge.d.ts +2 -31
  20. package/__internal__/src/components/Badge/Badge.js +1 -1
  21. package/__internal__/src/components/Badge/Badge.js.map +1 -1
  22. package/__internal__/src/components/Badge/cn.d.ts +1 -0
  23. package/__internal__/src/components/Badge/cn.js +2 -0
  24. package/__internal__/src/components/Badge/cn.js.map +1 -0
  25. package/__internal__/src/components/Badge/guardStatus.d.ts +2 -0
  26. package/__internal__/src/components/Badge/guardStatus.js +2 -0
  27. package/__internal__/src/components/Badge/guardStatus.js.map +1 -0
  28. package/__internal__/src/components/Badge/index.d.ts +2 -0
  29. package/__internal__/src/components/Badge/index.js +1 -1
  30. package/__internal__/src/components/Badge/index.js.map +1 -1
  31. package/__internal__/src/components/Badge/maps.d.ts +9 -0
  32. package/__internal__/src/components/Badge/maps.js +2 -0
  33. package/__internal__/src/components/Badge/maps.js.map +1 -0
  34. package/__internal__/src/components/Badge/types.d.ts +31 -0
  35. package/__internal__/src/components/Badge/types.js +2 -0
  36. package/__internal__/src/components/Badge/types.js.map +1 -0
  37. package/__internal__/src/components/BadgeGroup/BadgeGroup.js +1 -1
  38. package/__internal__/src/components/BadgeGroup/BadgeGroup.js.map +1 -1
  39. package/__internal__/src/components/BadgeGroup/types.d.ts +4 -1
  40. package/__internal__/src/components/BadgeGroup/types.js.map +1 -1
  41. package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
  42. package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.css +1 -1
  43. package/__internal__/src/components/Checkbox/Checkbox.css +1 -1
  44. package/__internal__/src/components/CheckboxDeprecated/Checkbox.css +2 -2
  45. package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  46. package/__internal__/src/components/Chips/types.d.ts +8 -2
  47. package/__internal__/src/components/Chips/types.js.map +1 -1
  48. package/__internal__/src/components/Collapse/types.d.ts +1 -1
  49. package/__internal__/src/components/Collapse/types.js.map +1 -1
  50. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  51. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  52. package/__internal__/src/components/Combobox/helpers.d.ts +2 -2
  53. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  54. package/__internal__/src/components/ComboboxDeprecated/ComboboxDeprecated.js +1 -1
  55. package/__internal__/src/components/ComboboxDeprecated/ComboboxDeprecated.js.map +1 -1
  56. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js +1 -1
  57. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
  58. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
  59. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
  60. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.css +1 -1
  61. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js +1 -1
  62. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js.map +1 -1
  63. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.css +1 -1
  64. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  65. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  66. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  67. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  68. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  69. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  70. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  71. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  72. package/__internal__/src/components/DateTime/DateTime10Years/DateTime10Years.css +1 -1
  73. package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.css +1 -1
  74. package/__internal__/src/components/DateTime/DateTimeMonth/DateTimeMonth.css +1 -1
  75. package/__internal__/src/components/DateTime/DateTimeTimeColumn/DateTimeTimeColumn.css +1 -1
  76. package/__internal__/src/components/DateTime/DateTimeTimeColumn/DateTimeTimeColumn.js +1 -1
  77. package/__internal__/src/components/DateTime/DateTimeTimeColumn/DateTimeTimeColumn.js.map +1 -1
  78. package/__internal__/src/components/DateTime/DateTimeTimeColumn/useScrollToElement/useScrollToElement.js.map +1 -1
  79. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.css +1 -1
  80. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js.map +1 -1
  81. package/__internal__/src/components/DateTime/DateTimeYear/DateTimeYear.css +1 -1
  82. package/__internal__/src/components/DateTime/helpers/getSliderValueRange.js +1 -1
  83. package/__internal__/src/components/DateTime/helpers/getSliderValueRange.js.map +1 -1
  84. package/__internal__/src/components/DragNDropField/DragNDropField.js +1 -1
  85. package/__internal__/src/components/DragNDropField/DragNDropField.js.map +1 -1
  86. package/__internal__/src/components/DragNDropField/formatAccept.js.map +1 -1
  87. package/__internal__/src/components/DragNDropField/locale.d.ts +1 -1
  88. package/__internal__/src/components/DragNDropField/locale.js +1 -1
  89. package/__internal__/src/components/DragNDropField/locale.js.map +1 -1
  90. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldCanary.js +1 -1
  91. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldCanary.js.map +1 -1
  92. package/__internal__/src/components/DragNDropFieldCanary/renderChildren.d.ts +3 -0
  93. package/__internal__/src/components/DragNDropFieldCanary/renderChildren.js +2 -0
  94. package/__internal__/src/components/DragNDropFieldCanary/renderChildren.js.map +1 -0
  95. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js +1 -1
  96. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js.map +1 -1
  97. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.d.ts +2 -1
  98. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.js.map +1 -1
  99. package/__internal__/src/components/FieldComponents/FieldComponents.d.ts +15 -0
  100. package/__internal__/src/components/FieldComponents/FieldComponents.js +2 -0
  101. package/__internal__/src/components/FieldComponents/FieldComponents.js.map +1 -0
  102. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.css +1 -1
  103. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js +1 -1
  104. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js.map +1 -1
  105. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
  106. package/__internal__/src/components/FieldComponents/FieldWrapper/FieldWrapper.js +1 -1
  107. package/__internal__/src/components/FieldComponents/FieldWrapper/FieldWrapper.js.map +1 -1
  108. package/__internal__/src/components/FieldComponents/index.d.ts +1 -15
  109. package/__internal__/src/components/FieldComponents/index.js +1 -1
  110. package/__internal__/src/components/FieldComponents/index.js.map +1 -1
  111. package/__internal__/src/components/Grid/helpers.js.map +1 -1
  112. package/__internal__/src/components/Informer/Informer.css +1 -1
  113. package/__internal__/src/components/Informer/Informer.d.ts +1 -1
  114. package/__internal__/src/components/Informer/Informer.js +1 -1
  115. package/__internal__/src/components/Informer/Informer.js.map +1 -1
  116. package/__internal__/src/components/Layout/useFixed.js +1 -1
  117. package/__internal__/src/components/Layout/useFixed.js.map +1 -1
  118. package/__internal__/src/components/ListCanary/ListAddItem/ListAddItem.js +1 -1
  119. package/__internal__/src/components/ListCanary/ListAddItem/ListAddItem.js.map +1 -1
  120. package/__internal__/src/components/ListCanary/ListBox/ListBox.js +1 -1
  121. package/__internal__/src/components/ListCanary/ListBox/ListBox.js.map +1 -1
  122. package/__internal__/src/components/ListCanary/ListBox/index.d.ts +1 -1
  123. package/__internal__/src/components/ListCanary/ListBox/index.js +1 -1
  124. package/__internal__/src/components/ListCanary/ListBox/index.js.map +1 -1
  125. package/__internal__/src/components/ListCanary/ListBox/{mapVerticalSpase.d.ts → mapVerticalSpace.d.ts} +1 -1
  126. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpace.js +2 -0
  127. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpace.js.map +1 -0
  128. package/__internal__/src/components/ListCanary/ListCanary.js +1 -1
  129. package/__internal__/src/components/ListCanary/ListCanary.js.map +1 -1
  130. package/__internal__/src/components/ListCanary/ListDivider/ListDivider.js +1 -1
  131. package/__internal__/src/components/ListCanary/ListDivider/ListDivider.js.map +1 -1
  132. package/__internal__/src/components/ListCanary/ListGroupLabel/ListGroupLabel.js +1 -1
  133. package/__internal__/src/components/ListCanary/ListGroupLabel/ListGroupLabel.js.map +1 -1
  134. package/__internal__/src/components/ListCanary/ListItem/ListItem.js +1 -1
  135. package/__internal__/src/components/ListCanary/ListItem/ListItem.js.map +1 -1
  136. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.js +1 -1
  137. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.js.map +1 -1
  138. package/__internal__/src/components/ListCanary/helper.d.ts +3 -3
  139. package/__internal__/src/components/ListCanary/maps.d.ts +4 -4
  140. package/__internal__/src/components/ListCanary/maps.js +1 -1
  141. package/__internal__/src/components/ListCanary/maps.js.map +1 -1
  142. package/__internal__/src/components/ListCanary/renderHeader.d.ts +1 -1
  143. package/__internal__/src/components/ListCanary/renderHeader.js.map +1 -1
  144. package/__internal__/src/components/ListCanary/types.d.ts +3 -3
  145. package/__internal__/src/components/ListCanary/types.js.map +1 -1
  146. package/__internal__/src/components/Pagination/Pagination.js.map +1 -1
  147. package/__internal__/src/components/Pagination/PaginationList/PaginationList.css +1 -1
  148. package/__internal__/src/components/Pagination/PaginationList/PaginationList.js +1 -1
  149. package/__internal__/src/components/Pagination/PaginationList/PaginationList.js.map +1 -1
  150. package/__internal__/src/components/Pagination/helpers.js.map +1 -1
  151. package/__internal__/src/components/Pagination/usePaginationItems.js.map +1 -1
  152. package/__internal__/src/components/Popover/Popover.d.ts +2 -1
  153. package/__internal__/src/components/Popover/Popover.js +1 -1
  154. package/__internal__/src/components/Popover/Popover.js.map +1 -1
  155. package/__internal__/src/components/Popover/helpers.d.ts +1 -1
  156. package/__internal__/src/components/Popover/helpers.js +1 -1
  157. package/__internal__/src/components/Popover/helpers.js.map +1 -1
  158. package/__internal__/src/components/Popover/usePopoverReposition.d.ts +2 -2
  159. package/__internal__/src/components/Popover/usePopoverReposition.js.map +1 -1
  160. package/__internal__/src/components/PortalWithTheme/PortalWithTheme.js.map +1 -1
  161. package/__internal__/src/components/PortalWithTheme/PortalWithThemeContext/PortalWithThemeContext.d.ts +4 -4
  162. package/__internal__/src/components/PortalWithTheme/PortalWithThemeContext/PortalWithThemeContext.js.map +1 -1
  163. package/__internal__/src/components/ProgressLine/helpers.js.map +1 -1
  164. package/__internal__/src/components/ProgressLine/types.d.ts +2 -2
  165. package/__internal__/src/components/ProgressLine/types.js.map +1 -1
  166. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +3 -3
  167. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  168. package/__internal__/src/components/Select/helpers.d.ts +2 -2
  169. package/__internal__/src/components/Select/helpers.js.map +1 -1
  170. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +3 -3
  171. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
  172. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  173. package/__internal__/src/components/SelectComponents/helpers.d.ts +2 -2
  174. package/__internal__/src/components/SelectComponents/helpers.js +1 -1
  175. package/__internal__/src/components/SelectComponents/helpers.js.map +1 -1
  176. package/__internal__/src/components/SelectComponents/useSelect/useSelect.d.ts +1 -1
  177. package/__internal__/src/components/SelectComponents/useSelect/useSelect.js +1 -1
  178. package/__internal__/src/components/SelectComponents/useSelect/useSelect.js.map +1 -1
  179. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +2 -2
  180. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js +1 -1
  181. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map +1 -1
  182. package/__internal__/src/components/SelectComponentsDeprecated/helpers.d.ts +2 -2
  183. package/__internal__/src/components/SelectComponentsDeprecated/helpers.js +1 -1
  184. package/__internal__/src/components/SelectComponentsDeprecated/helpers.js.map +1 -1
  185. package/__internal__/src/components/Slider/Slider.js +1 -1
  186. package/__internal__/src/components/Slider/Slider.js.map +1 -1
  187. package/__internal__/src/components/Slider/helper.d.ts +6 -6
  188. package/__internal__/src/components/Slider/helper.js +1 -1
  189. package/__internal__/src/components/Slider/helper.js.map +1 -1
  190. package/__internal__/src/components/Slider/useSlider/helper.d.ts +2 -2
  191. package/__internal__/src/components/Slider/useSlider/helper.js +1 -1
  192. package/__internal__/src/components/Slider/useSlider/helper.js.map +1 -1
  193. package/__internal__/src/components/Slider/useSlider/useSlider.js +1 -1
  194. package/__internal__/src/components/Slider/useSlider/useSlider.js.map +1 -1
  195. package/__internal__/src/components/Slider/useSliderStationing.js.map +1 -1
  196. package/__internal__/src/components/SnackBar/SnackBar.js +1 -1
  197. package/__internal__/src/components/SnackBar/SnackBar.js.map +1 -1
  198. package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js +1 -1
  199. package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js.map +1 -1
  200. package/__internal__/src/components/SnackBar/SnackBarActionButton/index.d.ts +1 -0
  201. package/__internal__/src/components/SnackBar/SnackBarActionButton/index.js +2 -0
  202. package/__internal__/src/components/SnackBar/SnackBarActionButton/index.js.map +1 -0
  203. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.css +1 -1
  204. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.d.ts +0 -1
  205. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js +1 -1
  206. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js.map +1 -1
  207. package/__internal__/src/components/SnackBar/SnackBarItem/index.d.ts +1 -0
  208. package/__internal__/src/components/SnackBar/SnackBarItem/index.js +2 -0
  209. package/__internal__/src/components/SnackBar/SnackBarItem/index.js.map +1 -0
  210. package/__internal__/src/components/SnackBar/SnackBarLine/SnackBarLine.js.map +1 -1
  211. package/__internal__/src/components/SnackBar/SnackBarLine/index.d.ts +1 -0
  212. package/__internal__/src/components/SnackBar/SnackBarLine/index.js +2 -0
  213. package/__internal__/src/components/SnackBar/SnackBarLine/index.js.map +1 -0
  214. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.css +1 -0
  215. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.d.ts +4 -0
  216. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.js +2 -0
  217. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.js.map +1 -0
  218. package/__internal__/src/components/SnackBar/SnackBarProgress/index.d.ts +1 -0
  219. package/__internal__/src/components/SnackBar/SnackBarProgress/index.js +2 -0
  220. package/__internal__/src/components/SnackBar/SnackBarProgress/index.js.map +1 -0
  221. package/__internal__/src/components/SnackBar/SnackBarTimer/SnackBarTimer.js +1 -1
  222. package/__internal__/src/components/SnackBar/SnackBarTimer/SnackBarTimer.js.map +1 -1
  223. package/__internal__/src/components/SnackBar/SnackBarTimer/index.d.ts +1 -0
  224. package/__internal__/src/components/SnackBar/SnackBarTimer/index.js +2 -0
  225. package/__internal__/src/components/SnackBar/SnackBarTimer/index.js.map +1 -0
  226. package/__internal__/src/components/SnackBar/helper.d.ts +4 -1
  227. package/__internal__/src/components/SnackBar/helper.js +1 -1
  228. package/__internal__/src/components/SnackBar/helper.js.map +1 -1
  229. package/__internal__/src/components/SnackBar/types.d.ts +15 -0
  230. package/__internal__/src/components/SnackBar/types.js +1 -1
  231. package/__internal__/src/components/SnackBar/types.js.map +1 -1
  232. package/__internal__/src/components/Spoiler/types.d.ts +4 -4
  233. package/__internal__/src/components/Spoiler/types.js +1 -1
  234. package/__internal__/src/components/Spoiler/types.js.map +1 -1
  235. package/__internal__/src/components/Steps/Steps.d.ts +2 -2
  236. package/__internal__/src/components/Steps/Steps.js.map +1 -1
  237. package/__internal__/src/components/Steps/StepsStep/StepsStep.js +1 -1
  238. package/__internal__/src/components/Steps/StepsStep/StepsStep.js.map +1 -1
  239. package/__internal__/src/components/Steps/types.d.ts +1 -1
  240. package/__internal__/src/components/Steps/types.js.map +1 -1
  241. package/__internal__/src/components/Table/Header/TableHeader.js +1 -1
  242. package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
  243. package/__internal__/src/components/Table/Resizer/TableResizer.js.map +1 -1
  244. package/__internal__/src/components/Table/Table.css +1 -1
  245. package/__internal__/src/components/Table/Table.js +1 -1
  246. package/__internal__/src/components/Table/Table.js.map +1 -1
  247. package/__internal__/src/components/Table/__mock__/data.mock.d.ts +1 -1
  248. package/__internal__/src/components/Table/__mock__/data.mock.js +1 -1
  249. package/__internal__/src/components/Table/__mock__/data.mock.js.map +1 -1
  250. package/__internal__/src/components/Table/helpers.d.ts +2 -2
  251. package/__internal__/src/components/Table/helpers.js +1 -1
  252. package/__internal__/src/components/Table/helpers.js.map +1 -1
  253. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js +1 -1
  254. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js.map +1 -1
  255. package/__internal__/src/components/TagBase/TagBase.css +1 -1
  256. package/__internal__/src/components/TextField/TextField.js +1 -1
  257. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  258. package/__internal__/src/components/TextField/helpers.d.ts +1 -1
  259. package/__internal__/src/components/TextField/helpers.js.map +1 -1
  260. package/__internal__/src/components/TextFieldCanary/{TextField.js → TextFieldCanary.js} +1 -1
  261. package/__internal__/src/components/TextFieldCanary/TextFieldCanary.js.map +1 -0
  262. package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js +1 -1
  263. package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js.map +1 -1
  264. package/__internal__/src/components/TextFieldCanary/TextFieldTypePassword/TextFieldTypePassword.js +1 -1
  265. package/__internal__/src/components/TextFieldCanary/TextFieldTypePassword/TextFieldTypePassword.js.map +1 -1
  266. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js +1 -1
  267. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js.map +1 -1
  268. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.css +3 -3
  269. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js +1 -1
  270. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js.map +1 -1
  271. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.css +1 -1
  272. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js +1 -1
  273. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js.map +1 -1
  274. package/__internal__/src/components/TextFieldCanary/index.d.ts +1 -1
  275. package/__internal__/src/components/TextFieldCanary/index.js +1 -1
  276. package/__internal__/src/components/TextFieldCanary/index.js.map +1 -1
  277. package/__internal__/src/components/TextFieldCanary/types.d.ts +1 -0
  278. package/__internal__/src/components/TextFieldCanary/types.js.map +1 -1
  279. package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
  280. package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
  281. package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.js +1 -1
  282. package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.js.map +1 -1
  283. package/__internal__/src/components/UserSelect/helpers.d.ts +2 -2
  284. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  285. package/__internal__/src/components/UserSelectDeprecated/UserSelectDeprecated.js +1 -1
  286. package/__internal__/src/components/UserSelectDeprecated/UserSelectDeprecated.js.map +1 -1
  287. package/__internal__/src/components/UserSelectDeprecated/UserSelectItem/UserSelectItem.js +1 -1
  288. package/__internal__/src/components/UserSelectDeprecated/UserSelectItem/UserSelectItem.js.map +1 -1
  289. package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
  290. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/addPrefix.js.map +1 -1
  291. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/getLastPoint.js.map +1 -1
  292. package/__internal__/src/hooks/useBreakpointsDeprecated/index.d.ts +3 -0
  293. package/__internal__/src/hooks/useBreakpointsDeprecated/index.js +2 -0
  294. package/__internal__/src/hooks/useBreakpointsDeprecated/index.js.map +1 -0
  295. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/mapping.js.map +1 -1
  296. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/types.js.map +1 -1
  297. package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.d.ts +2 -0
  298. package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.js +2 -0
  299. package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.js.map +1 -0
  300. package/__internal__/src/hooks/useBreakpointsDepricated/index.d.ts +0 -2
  301. package/__internal__/src/hooks/useBreakpointsDepricated/index.js +1 -1
  302. package/__internal__/src/hooks/useBreakpointsDepricated/index.js.map +1 -1
  303. package/__internal__/src/hooks/useBreakpointsDepricated/useBreakpointsDepricated.d.ts +1 -2
  304. package/__internal__/src/hooks/useBreakpointsDepricated/useBreakpointsDepricated.js +1 -1
  305. package/__internal__/src/hooks/useBreakpointsDepricated/useBreakpointsDepricated.js.map +1 -1
  306. package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.js.map +1 -1
  307. package/__internal__/src/hooks/useClickOutside/useClickOutside.js.map +1 -1
  308. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/index.d.ts +2 -0
  309. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/index.js +2 -0
  310. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/index.js.map +1 -0
  311. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/useComponentBreakpointsDeprecated.d.ts +2 -0
  312. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/useComponentBreakpointsDeprecated.js +2 -0
  313. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/useComponentBreakpointsDeprecated.js.map +1 -0
  314. package/__internal__/src/hooks/useComponentBreakpointsDepricated/index.d.ts +0 -1
  315. package/__internal__/src/hooks/useComponentBreakpointsDepricated/index.js +1 -1
  316. package/__internal__/src/hooks/useComponentBreakpointsDepricated/index.js.map +1 -1
  317. package/__internal__/src/hooks/useComponentBreakpointsDepricated/useComponentBreakpointsDepricated.d.ts +1 -2
  318. package/__internal__/src/hooks/useComponentBreakpointsDepricated/useComponentBreakpointsDepricated.js +1 -1
  319. package/__internal__/src/hooks/useComponentBreakpointsDepricated/useComponentBreakpointsDepricated.js.map +1 -1
  320. package/__internal__/src/hooks/useHideElementsInLineDeprecated/index.d.ts +1 -0
  321. package/__internal__/src/hooks/useHideElementsInLineDeprecated/index.js +2 -0
  322. package/__internal__/src/hooks/useHideElementsInLineDeprecated/index.js.map +1 -0
  323. package/__internal__/src/hooks/useHideElementsInLineDeprecated/useHideElementsInLineDeprecated.d.ts +10 -0
  324. package/__internal__/src/hooks/useHideElementsInLineDeprecated/useHideElementsInLineDeprecated.js +2 -0
  325. package/__internal__/src/hooks/useHideElementsInLineDeprecated/useHideElementsInLineDeprecated.js.map +1 -0
  326. package/__internal__/src/hooks/useHideElementsInLineDepricated/index.js.map +1 -1
  327. package/__internal__/src/hooks/useHideElementsInLineDepricated/useHideElementsInLineDepricated.d.ts +1 -10
  328. package/__internal__/src/hooks/useHideElementsInLineDepricated/useHideElementsInLineDepricated.js +1 -1
  329. package/__internal__/src/hooks/useHideElementsInLineDepricated/useHideElementsInLineDepricated.js.map +1 -1
  330. package/__internal__/src/hooks/useKeysDeprecated/index.d.ts +1 -0
  331. package/__internal__/src/hooks/useKeysDeprecated/index.js +2 -0
  332. package/__internal__/src/hooks/useKeysDeprecated/index.js.map +1 -0
  333. package/__internal__/src/hooks/useKeysDeprecated/useKeysDeprecated.d.ts +18 -0
  334. package/__internal__/src/hooks/useKeysDeprecated/useKeysDeprecated.js +2 -0
  335. package/__internal__/src/hooks/useKeysDeprecated/useKeysDeprecated.js.map +1 -0
  336. package/__internal__/src/hooks/useKeysDepricated/index.js.map +1 -1
  337. package/__internal__/src/hooks/useKeysDepricated/useKeysDepricated.d.ts +1 -18
  338. package/__internal__/src/hooks/useKeysDepricated/useKeysDepricated.js +1 -1
  339. package/__internal__/src/hooks/useKeysDepricated/useKeysDepricated.js.map +1 -1
  340. package/__internal__/src/hooks/useResizableContent/helpers.d.ts +1 -1
  341. package/__internal__/src/hooks/useResizableContent/helpers.js +1 -1
  342. package/__internal__/src/hooks/useResizableContent/helpers.js.map +1 -1
  343. package/__internal__/src/hooks/useResizableContent/useResizableContent.js +1 -1
  344. package/__internal__/src/hooks/useResizableContent/useResizableContent.js.map +1 -1
  345. package/__internal__/src/hooks/useSelect/useSelect.d.ts +1 -1
  346. package/__internal__/src/hooks/useSelect/useSelect.js +1 -1
  347. package/__internal__/src/hooks/useSelect/useSelect.js.map +1 -1
  348. package/__internal__/src/hooks/useVirtualScroll/helpers.js +2 -0
  349. package/__internal__/src/hooks/useVirtualScroll/helpers.js.map +1 -0
  350. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.d.ts +1 -1
  351. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.js +1 -1
  352. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.js.map +1 -1
  353. package/__internal__/src/mixs/MixPopoverAnimate/MixPopoverAnimate.css +1 -1
  354. package/__internal__/src/uiKit/components/ThemePreview/ThemePreview.js +1 -1
  355. package/__internal__/src/uiKit/components/ThemePreview/ThemePreview.js.map +1 -1
  356. package/__internal__/src/uiKit/components/ThemePreview/helpers.d.ts +4 -4
  357. package/__internal__/src/uiKit/components/ThemePreview/helpers.js +1 -1
  358. package/__internal__/src/uiKit/components/ThemePreview/helpers.js.map +1 -1
  359. package/__internal__/src/utils/date/index.d.ts +1 -1
  360. package/__internal__/src/utils/date/index.js +1 -1
  361. package/__internal__/src/utils/date/index.js.map +1 -1
  362. package/__internal__/src/utils/date/isDisableDate.js +1 -1
  363. package/__internal__/src/utils/date/isDisableDate.js.map +1 -1
  364. package/__internal__/src/utils/date/{isInMinMaxDade.js → isInMinMaxDate.js} +1 -1
  365. package/__internal__/src/utils/date/{isInMinMaxDade.js.map → isInMinMaxDate.js.map} +1 -1
  366. package/__internal__/src/utils/getGroups.d.ts +3 -3
  367. package/__internal__/src/utils/getGroups.js +1 -1
  368. package/__internal__/src/utils/getGroups.js.map +1 -1
  369. package/__internal__/src/utils/types/AutoComplete.js.map +1 -1
  370. package/__internal__/src/utils/types/KeyCode.d.ts +3 -3
  371. package/__internal__/src/utils/types/KeyCode.js.map +1 -1
  372. package/package.json +1 -1
  373. package/useBreakpointsDeprecated/index.d.ts +1 -0
  374. package/useBreakpointsDeprecated/index.js +1 -0
  375. package/useComponentBreakpointsDeprecated/index.d.ts +1 -0
  376. package/useComponentBreakpointsDeprecated/index.js +1 -0
  377. package/useHideElementsInLineDeprecated/index.d.ts +1 -0
  378. package/useHideElementsInLineDeprecated/index.js +1 -0
  379. package/useKeysDeprecated/index.d.ts +1 -0
  380. package/useKeysDeprecated/index.js +1 -0
  381. package/__internal__/src/components/DragNDropFieldCanary/renderCildren.d.ts +0 -3
  382. package/__internal__/src/components/DragNDropFieldCanary/renderCildren.js +0 -2
  383. package/__internal__/src/components/DragNDropFieldCanary/renderCildren.js.map +0 -1
  384. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpase.js +0 -2
  385. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpase.js.map +0 -1
  386. package/__internal__/src/components/TextFieldCanary/TextField.js.map +0 -1
  387. package/__internal__/src/hooks/useVirtualScroll/hellpers.js +0 -2
  388. package/__internal__/src/hooks/useVirtualScroll/hellpers.js.map +0 -1
  389. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.css +0 -1
  390. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.d.ts +0 -6
  391. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.js +0 -2
  392. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.js.map +0 -1
  393. /package/__internal__/src/components/TextFieldCanary/{TextField.d.ts → TextFieldCanary.d.ts} +0 -0
  394. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/addPrefix.d.ts +0 -0
  395. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/addPrefix.js +0 -0
  396. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/getLastPoint.d.ts +0 -0
  397. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/getLastPoint.js +0 -0
  398. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/mapping.d.ts +0 -0
  399. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/mapping.js +0 -0
  400. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/types.d.ts +0 -0
  401. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/types.js +0 -0
  402. /package/__internal__/src/hooks/useVirtualScroll/{hellpers.d.ts → helpers.d.ts} +0 -0
  403. /package/__internal__/src/utils/date/{isInMinMaxDade.d.ts → isInMinMaxDate.d.ts} +0 -0
@@ -101,7 +101,7 @@ export declare function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITE
101
101
  getItemContent?: ProgressStepBarPropGetItemContent<ITEM> | undefined;
102
102
  getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM> | undefined;
103
103
  getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM> | undefined;
104
- } & Omit<React.HTMLAttributes<HTMLDivElement>, "size" | "css" | "getItemLabel" | "getItemStatus" | "onItemClick" | "getItemOnClick" | "direction" | "getItemContent" | "steps" | "activeStepIndex" | "getItemLineStatus" | "getItemTooltipContent" | "getItemPoint" | "getItemProgress"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
104
+ } & Omit<React.HTMLAttributes<HTMLDivElement>, "size" | "css" | "getItemLabel" | "getItemStatus" | "getItemProgress" | "onItemClick" | "getItemOnClick" | "direction" | "getItemContent" | "steps" | "activeStepIndex" | "getItemLineStatus" | "getItemTooltipContent" | "getItemPoint"> & React.RefAttributes<HTMLDivElement> & (ITEM extends {
105
105
  label: string | undefined;
106
106
  } ? {} : {
107
107
  getItemLabel: ProgressStepBarPropGetItemLabel<ITEM>;
@@ -115,7 +115,7 @@ export declare function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITE
115
115
  getItemLineStatus: ProgressStepBarPropGetItemLineStatus<ProgressStepBarItemDefault> | ProgressStepBarPropGetItemLineStatus<ITEM>;
116
116
  getItemOnClick: ProgressStepBarPropGetItemOnClick<ProgressStepBarItemDefault> | ProgressStepBarPropGetItemOnClick<ITEM>;
117
117
  };
118
- export declare const getItemPosition: (index: number, lendth: number) => "start" | "center" | "end";
118
+ export declare const getItemPosition: (index: number, length: number) => "start" | "center" | "end";
119
119
  export declare const getLineSize: (container: React.RefObject<HTMLElement>, activeElement: React.RefObject<HTMLElement>, direction: ProgressStepBarPropDirection) => number;
120
120
  export declare const calculateLines: (refs: React.RefObject<HTMLElement>[], direction: ProgressStepBarPropDirection) => number[];
121
- export declare const validateVisibleIndex: (lenght: number, index: number | undefined) => number | undefined;
121
+ export declare const validateVisibleIndex: (length: number, index: number | undefined) => number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","lendth","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x","getRefSize","ref","width","calculateLines","refs","sizes","i","length","firstSize","secondSize","push","validateVisibleIndex","lenght","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, lendth: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === lendth - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: ProgressStepBarPropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n for (let i = 0; i < refs.length - 1; i++) {\n const ref = refs[i];\n const firstSize = getRefSize(ref);\n const secondSize = getRefSize(refs[i + 1]);\n let size = 0;\n if (i === 0) {\n size =\n direction === 'horizontal'\n ? firstSize[0] + secondSize[0] / 2\n : firstSize[1];\n } else if (i === refs.length - 2) {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0]\n : firstSize[1] + 2;\n } else {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0] / 2\n : firstSize[1];\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n lenght: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, lenght - 1);\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","length","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x","getRefSize","ref","width","calculateLines","refs","sizes","i","firstSize","secondSize","push","validateVisibleIndex","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, length: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === length - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: ProgressStepBarPropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n for (let i = 0; i < refs.length - 1; i++) {\n const ref = refs[i];\n const firstSize = getRefSize(ref);\n const secondSize = getRefSize(refs[i + 1]);\n let size = 0;\n if (i === 0) {\n size =\n direction === 'horizontal'\n ? firstSize[0] + secondSize[0] / 2\n : firstSize[1];\n } else if (i === refs.length - 2) {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0]\n : firstSize[1] + 2;\n } else {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0] / 2\n : firstSize[1];\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n length: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, length - 1);\n};\n"],"mappings":"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"}
@@ -63,7 +63,7 @@ export declare type SelectProps<ITEM = SelectItemDefault, GROUP = SelectGroupDef
63
63
  labelPosition?: 'top' | 'left';
64
64
  caption?: string;
65
65
  virtualScroll?: boolean;
66
- onScrollToBottom?: (lenght: number) => void;
66
+ onScrollToBottom?: (length: number) => void;
67
67
  onDropdownOpen?: (isOpen: boolean) => void;
68
68
  dropdownOpen?: boolean;
69
69
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
@@ -127,7 +127,7 @@ export declare function withDefaultGetters<ITEM, GROUP>(props: SelectProps<ITEM,
127
127
  labelPosition?: "left" | "top" | undefined;
128
128
  caption?: string | undefined;
129
129
  virtualScroll?: boolean | undefined;
130
- onScrollToBottom?: ((lenght: number) => void) | undefined;
130
+ onScrollToBottom?: ((length: number) => void) | undefined;
131
131
  onDropdownOpen?: ((isOpen: boolean) => void) | undefined;
132
132
  dropdownOpen?: boolean | undefined;
133
133
  ignoreOutsideClicksRefs?: readonly React.RefObject<HTMLElement>[] | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","iconSizeMap","xs","s","m","l"],"sources":["../../../../../src/components/Select/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type SelectItemDefault = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type SelectGroupDefault = {\n label: string;\n id: string | number;\n};\n\ntype SelectPropValue<ITEM> = ITEM | null | undefined;\n\ntype SelectRenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type SelectPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type SelectPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type SelectPropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type SelectPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type SelectPropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type SelectPropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: SelectRenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectPropOnChange<ITEM> = (\n value: ITEM | null,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type SelectProps<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: SelectPropOnChange<ITEM>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: SelectPropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: SelectPropGetItemLabel<ITEM>;\n getItemKey?: SelectPropGetItemKey<ITEM>;\n getItemGroupKey?: SelectPropGetItemGroupKey<ITEM>;\n getItemDisabled?: SelectPropGetItemDisabled<ITEM>;\n getGroupLabel?: SelectPropGetGroupLabel<GROUP>;\n getGroupKey?: SelectPropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n labelPosition?: 'top' | 'left';\n caption?: string;\n virtualScroll?: boolean;\n onScrollToBottom?: (lenght: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: SelectItemDefault['label'] }\n ? {}\n : { getItemLabel: SelectPropGetItemLabel<ITEM> }) &\n (ITEM extends { id: SelectItemDefault['id'] }\n ? {}\n : { getItemKey: SelectPropGetItemKey<ITEM> }) &\n (GROUP extends { label: SelectGroupDefault['label'] }\n ? {}\n : { getGroupLabel: SelectPropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: SelectGroupDefault['id'] }\n ? {}\n : { getGroupKey: SelectPropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: SelectPropGetItemKey<SelectItemDefault> = (\n item,\n) => item.id;\nexport const defaultGetItemLabel: SelectPropGetItemLabel<SelectItemDefault> = (\n item,\n) => item.label;\nexport const defaultGetItemGroupKey: SelectPropGetItemGroupKey<\n SelectItemDefault\n> = (item) => item.groupId;\nexport const defaultGetItemDisabled: SelectPropGetItemDisabled<\n SelectItemDefault\n> = (item) => item.disabled;\n\nexport const defaultGetGroupKey: SelectPropGetGroupKey<SelectGroupDefault> = (\n group,\n) => group.id;\nexport const defaultGetGroupLabel: SelectPropGetGroupLabel<\n SelectGroupDefault\n> = (group) => group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n\nexport const iconSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n"],"mappings":"qqBAuHA,MAAO,IAAMA,kBAA0D,CAAG,SACxEC,CADwE,QAErEA,EAAI,CAACC,EAFgE,CAAnE,CAGP,MAAO,IAAMC,oBAA8D,CAAG,SAC5EF,CAD4E,QAEzEA,EAAI,CAACG,KAFoE,CAAvE,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,OAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,QAAf,CAFG,CAIP,MAAO,IAAMC,mBAA6D,CAAG,SAC3EC,CAD2E,QAExEA,EAAK,CAACR,EAFkE,CAAtE,CAGP,MAAO,IAAMS,qBAEZ,CAAG,SAACD,CAAD,QAAWA,EAAK,CAACN,KAAjB,CAFG,CAIP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD,CAED,MAAO,IAAMW,YAA2C,CAAG,CACzDC,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,GAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAApD"}
1
+ {"version":3,"file":"helpers.js","names":["defaultGetItemKey","item","id","defaultGetItemLabel","label","defaultGetItemGroupKey","groupId","defaultGetItemDisabled","disabled","defaultGetGroupKey","group","defaultGetGroupLabel","withDefaultGetters","props","getItemLabel","getItemKey","getItemGroupKey","getItemDisabled","getGroupLabel","getGroupKey","iconSizeMap","xs","s","m","l"],"sources":["../../../../../src/components/Select/helpers.ts"],"sourcesContent":["import { IconComponent, IconPropSize } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\nimport {\n PropForm,\n PropSize,\n PropStatus,\n PropView,\n RenderItemProps,\n} from '../SelectComponents/types';\n\nexport type SelectItemDefault = {\n label: string;\n id: string | number;\n groupId?: string | number;\n disabled?: boolean;\n};\n\nexport type SelectGroupDefault = {\n label: string;\n id: string | number;\n};\n\ntype SelectPropValue<ITEM> = ITEM | null | undefined;\n\ntype SelectRenderValueProps<ITEM> = {\n item: ITEM;\n};\n\nexport type SelectPropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type SelectPropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type SelectPropGetItemGroupKey<ITEM> = (\n item: ITEM,\n) => string | number | undefined;\nexport type SelectPropGetItemDisabled<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type SelectPropGetGroupKey<GROUP> = (group: GROUP) => string | number;\nexport type SelectPropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type PropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactElement | null;\nexport type PropRenderValue<ITEM> = (\n props: SelectRenderValueProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type SelectPropOnChange<ITEM> = (\n value: ITEM | null,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type SelectProps<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n> = PropsWithHTMLAttributesAndRef<\n {\n items: ITEM[];\n onChange: SelectPropOnChange<ITEM>;\n disabled?: boolean;\n form?: PropForm;\n dropdownForm?: 'default' | 'brick' | 'round';\n size?: PropSize;\n view?: PropView;\n status?: PropStatus;\n focused?: boolean;\n placeholder?: string;\n ariaLabel?: string;\n dropdownClassName?: string;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n required?: boolean;\n name?: string;\n isLoading?: boolean;\n labelForEmptyItems?: string;\n value?: SelectPropValue<ITEM>;\n renderItem?: PropRenderItem<ITEM>;\n renderValue?: PropRenderValue<ITEM>;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n inputRef?: React.RefObject<HTMLInputElement>;\n groups?: GROUP[];\n getItemLabel?: SelectPropGetItemLabel<ITEM>;\n getItemKey?: SelectPropGetItemKey<ITEM>;\n getItemGroupKey?: SelectPropGetItemGroupKey<ITEM>;\n getItemDisabled?: SelectPropGetItemDisabled<ITEM>;\n getGroupLabel?: SelectPropGetGroupLabel<GROUP>;\n getGroupKey?: SelectPropGetGroupKey<GROUP>;\n label?: string;\n labelIcon?: IconComponent;\n labelPosition?: 'top' | 'left';\n caption?: string;\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n },\n HTMLDivElement\n> &\n (ITEM extends { label: SelectItemDefault['label'] }\n ? {}\n : { getItemLabel: SelectPropGetItemLabel<ITEM> }) &\n (ITEM extends { id: SelectItemDefault['id'] }\n ? {}\n : { getItemKey: SelectPropGetItemKey<ITEM> }) &\n (GROUP extends { label: SelectGroupDefault['label'] }\n ? {}\n : { getGroupLabel: SelectPropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: SelectGroupDefault['id'] }\n ? {}\n : { getGroupKey: SelectPropGetGroupKey<GROUP> });\n\nexport type SelectComponent = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n props: SelectProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const defaultGetItemKey: SelectPropGetItemKey<SelectItemDefault> = (\n item,\n) => item.id;\nexport const defaultGetItemLabel: SelectPropGetItemLabel<SelectItemDefault> = (\n item,\n) => item.label;\nexport const defaultGetItemGroupKey: SelectPropGetItemGroupKey<\n SelectItemDefault\n> = (item) => item.groupId;\nexport const defaultGetItemDisabled: SelectPropGetItemDisabled<\n SelectItemDefault\n> = (item) => item.disabled;\n\nexport const defaultGetGroupKey: SelectPropGetGroupKey<SelectGroupDefault> = (\n group,\n) => group.id;\nexport const defaultGetGroupLabel: SelectPropGetGroupLabel<\n SelectGroupDefault\n> = (group) => group.label;\n\nexport function withDefaultGetters<ITEM, GROUP>(\n props: SelectProps<ITEM, GROUP>,\n) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemKey: props.getItemKey || defaultGetItemKey,\n getItemGroupKey: props.getItemGroupKey || defaultGetItemGroupKey,\n getItemDisabled: props.getItemDisabled || defaultGetItemDisabled,\n getGroupLabel: props.getGroupLabel || defaultGetGroupLabel,\n getGroupKey: props.getGroupKey || defaultGetGroupKey,\n };\n}\n\nexport const iconSizeMap: Record<PropSize, IconPropSize> = {\n xs: 'xs',\n s: 's',\n m: 'm',\n l: 'm',\n};\n"],"mappings":"qqBAuHA,MAAO,IAAMA,kBAA0D,CAAG,SACxEC,CADwE,QAErEA,EAAI,CAACC,EAFgE,CAAnE,CAGP,MAAO,IAAMC,oBAA8D,CAAG,SAC5EF,CAD4E,QAEzEA,EAAI,CAACG,KAFoE,CAAvE,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,OAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,QAAf,CAFG,CAIP,MAAO,IAAMC,mBAA6D,CAAG,SAC3EC,CAD2E,QAExEA,EAAK,CAACR,EAFkE,CAAtE,CAGP,MAAO,IAAMS,qBAEZ,CAAG,SAACD,CAAD,QAAWA,EAAK,CAACN,KAAjB,CAFG,CAIP,MAAO,SAASQ,mBAAT,CACLC,CADK,CAEL,CACA,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBX,mBAFtC,CAGEY,UAAU,CAAEF,CAAK,CAACE,UAAN,EAAoBf,iBAHlC,CAIEgB,eAAe,CAAEH,CAAK,CAACG,eAAN,EAAyBX,sBAJ5C,CAKEY,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBV,sBAL5C,CAMEW,aAAa,CAAEL,CAAK,CAACK,aAAN,EAAuBP,oBANxC,CAOEQ,WAAW,CAAEN,CAAK,CAACM,WAAN,EAAqBV,kBAPpC,EASD,CAED,MAAO,IAAMW,YAA2C,CAAG,CACzDC,EAAE,CAAE,IADqD,CAEzDC,CAAC,CAAE,GAFsD,CAGzDC,CAAC,CAAE,GAHsD,CAIzDC,CAAC,CAAE,GAJsD,CAApD"}
@@ -5,8 +5,8 @@ import { SelectAllItem } from "../../../utils/getGroups";
5
5
  import { PropsWithJsxAttributes } from "../../../utils/types/PropsWithJsxAttributes";
6
6
  import { PropSize, RenderItemProps } from '../types';
7
7
  import { GetOptionPropsResult, OptionForCreate, OptionProps } from '../useSelect';
8
- export declare const selectDropdownform: readonly ["default", "brick", "round"];
9
- export declare type SelectDropdownPropForm = typeof selectDropdownform[number];
8
+ export declare const selectDropdownForm: readonly ["default", "brick", "round"];
9
+ export declare type SelectDropdownPropForm = typeof selectDropdownForm[number];
10
10
  export declare const defaultSelectDropdownPropForm: "default";
11
11
  declare type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
12
12
  size: PropSize;
@@ -34,7 +34,7 @@ declare type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
34
34
  hasItems?: boolean;
35
35
  itemsRefs: React.RefObject<HTMLDivElement>[];
36
36
  virtualScroll?: boolean;
37
- onScrollToBottom?: (lenght: number) => void;
37
+ onScrollToBottom?: (length: number) => void;
38
38
  }>;
39
39
  declare type SelectDropdown = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
40
40
  export declare const SelectDropdown: SelectDropdown;
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useEffect,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,ListLoader,mapVerticalSpase}from"../../ListCanary";import{Popover}from"../../Popover";import{useDebounce}from"../../../hooks/useDebounce";import{useFlag}from"../../../hooks/useFlag";import{forkRef,useForkRef}from"../../../hooks/useForkRef";import{useVirtualScroll}from"../../../hooks/useVirtualScroll";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cnMixScrollBar}from"../../../mixs/MixScrollBar";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectItemAll";import{SelectLoader}from"../SelectLoader/SelectLoader";import{isNotOptionForCreate,isOptionForCreate,isOptionForSelectAll}from"../useSelect";export var selectDropdownform=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownform[0];var cnSelectDropdown=cn("SelectDropdown"),getLenghtElements=function(a){for(var b,c=1>=a.length?0:a.length,d=0;d<a.length;d++)b=a[d],isNotOptionForCreate(b)&&b.items.length&&(c+=b.items.length);return c},isVisible=function(a,b){return b>=a[0]&&b<a[1]};export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=void 0===j||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=a.itemsRefs,v=a.virtualScroll,w=a.onScrollToBottom,x=_objectWithoutProperties(a,_excluded),y="round"===l?"increased":"normal",z=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),A="none"===o?void 0:o,B=useMemo(function(){return getLenghtElements(q)},[q]),C=useVirtualScroll({length:B,isActive:v&&m,onScrollToBottom:w}),D=C.spaceTop,E=C.slice,F=C.listRefs,G=C.scrollElementRef,H=0===E[0]&&v?[0,50]:E,I=useRef(null),J=useForkRef([G,e]),K=useFlag(),L=_slicedToArray(K,2),M=L[0],N=L[1],O=useDebounce(N.off,100);return useEffect(function(){var a,b=function(){N.on(),O()};return null===(a=G.current)||void 0===a?void 0:a.addEventListener("scroll",b),function(){var a;null===(a=G.current)||void 0===a?void 0:a.removeEventListener("scroll",b)}},[G.current]),React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:I,timeout:animateTimeout},function(a){var e=fabricIndex(),j=fabricIndex();return React.createElement(Popover,Object.assign({},x,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:A,ref:I,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("ScrollContainer",[cnMixSpace({pV:mapVerticalSpase[c]}),cnMixScrollBar()]),ref:J},r&&!z&&React.createElement(SelectLoader,null),React.createElement("div",{className:cnSelectDropdown("List",{scrolled:M}),style:{marginTop:D}},q.map(function(a,b){if(isOptionForCreate(a)){var h=e();return React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:y,ref:u[h]},d({index:h,item:a,keyPrefix:b})))}var g=1<q.length?j():0;return React.createElement(Fragment,{key:a.key},a.group&&s&&isVisible(H,g)&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:y,ref:F[g],key:"group-".concat(a.key)}),a.items.map(function(b,f){if(isOptionForSelectAll(b)){var g=j(),h=e();if(isVisible(H,g))return React.createElement(SelectItemAll,Object.assign({ref:forkRef([F[g],u[h]]),indent:y,size:c},d({index:h,item:b,keyPrefix:f}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount}))}else{var i=j(),k=e();if(isVisible(H,i))return React.createElement(Fragment,{key:"".concat(a.key,"-").concat(f)},p(_objectSpread({ref:forkRef([F[i],u[k]]),item:b},d({index:k,item:b,keyPrefix:f}))))}}))}),r&&z&&React.createElement(ListLoader,{size:c,innerOffset:y})),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:y},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:i,innerOffset:y},i)))})};
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["controlRef","size","getOptionProps","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./SelectDropdown.css";import React,{Fragment,useEffect,useMemo,useRef}from"react";import{Transition}from"react-transition-group";import{cnListBox,ListItem,ListLoader,mapVerticalSpace}from"../../ListCanary";import{Popover}from"../../Popover";import{useDebounce}from"../../../hooks/useDebounce";import{useFlag}from"../../../hooks/useFlag";import{forkRef,useForkRef}from"../../../hooks/useForkRef";import{useVirtualScroll}from"../../../hooks/useVirtualScroll";import{animateTimeout,cnMixPopoverAnimate}from"../../../mixs/MixPopoverAnimate/MixPopoverAnimate";import{cnMixScrollBar}from"../../../mixs/MixScrollBar";import{cnMixSpace}from"../../../mixs/MixSpace";import{cn}from"../../../utils/bem";import{fabricIndex}from"../../../utils/fabricIndex";import{SelectCreateButton}from"../SelectCreateButton/SelectCreateButton";import{SelectGroupLabel}from"../SelectGroupLabel/SelectGroupLabel";import{SelectItemAll}from"../SelectItemAll/SelectItemAll";import{SelectLoader}from"../SelectLoader/SelectLoader";import{isNotOptionForCreate,isOptionForCreate,isOptionForSelectAll}from"../useSelect";export var selectDropdownForm=["default","brick","round"];export var defaultSelectDropdownPropForm=selectDropdownForm[0];var cnSelectDropdown=cn("SelectDropdown"),getLengthElements=function(a){for(var b,c=1>=a.length?0:a.length,d=0;d<a.length;d++)b=a[d],isNotOptionForCreate(b)&&b.items.length&&(c+=b.items.length);return c},isVisible=function(a,b){return b>=a[0]&&b<a[1]};export var SelectDropdown=function(a){var b=a.controlRef,c=a.size,d=a.getOptionProps,e=a.dropdownRef,f=a.labelForCreate,g=a.className,h=a.labelForNotFound,i=a.labelForEmptyItems,j=a.hasItems,k=void 0===j||j,l=a.form,m=a.isOpen,n=a.offset,o=void 0===n?"none":n,p=a.renderItem,q=a.visibleItems,r=a.isLoading,s=a.getGroupLabel,t=a.notFound,u=a.itemsRefs,v=a.virtualScroll,w=a.onScrollToBottom,x=_objectWithoutProperties(a,_excluded),y="round"===l?"increased":"normal",z=useMemo(function(){return 0<q.filter(function(a){return isOptionForCreate(a)||Array.isArray(a.items)&&0<a.items.length}).length},[q]),A="none"===o?void 0:o,B=useMemo(function(){return getLengthElements(q)},[q]),C=useVirtualScroll({length:B,isActive:v&&m,onScrollToBottom:w}),D=C.spaceTop,E=C.slice,F=C.listRefs,G=C.scrollElementRef,H=0===E[0]&&v?[0,50]:E,I=useRef(null),J=useForkRef([G,e]),K=useFlag(),L=_slicedToArray(K,2),M=L[0],N=L[1],O=useDebounce(N.off,100);return useEffect(function(){var a,b=function(){N.on(),O()};return null===(a=G.current)||void 0===a?void 0:a.addEventListener("scroll",b),function(){var a;null===(a=G.current)||void 0===a?void 0:a.removeEventListener("scroll",b)}},[G.current]),React.createElement(Transition,{in:m,unmountOnExit:!0,nodeRef:I,timeout:animateTimeout},function(a){var e=fabricIndex(),j=fabricIndex();return React.createElement(Popover,Object.assign({},x,{anchorRef:b,direction:"downStartLeft",possibleDirections:["downStartLeft","upStartLeft","downStartRight","upStartRight"],offset:A,ref:I,role:"listbox",className:cnSelectDropdown(null,[cnListBox({size:c,form:l,border:!0,shadow:!0}),cnMixPopoverAnimate({animate:a}),g]),equalAnchorWidth:!0}),React.createElement("div",{className:cnSelectDropdown("ScrollContainer",[cnMixSpace({pV:mapVerticalSpace[c]}),cnMixScrollBar()]),ref:J},r&&!z&&React.createElement(SelectLoader,null),React.createElement("div",{className:cnSelectDropdown("List",{scrolled:M}),style:{marginTop:D}},q.map(function(a,b){if(isOptionForCreate(a)){var h=e();return React.createElement(SelectCreateButton,Object.assign({size:c,labelForCreate:f,inputValue:a.label,indent:y,ref:u[h]},d({index:h,item:a,keyPrefix:b})))}var g=1<q.length?j():0;return React.createElement(Fragment,{key:a.key},a.group&&s&&isVisible(H,g)&&React.createElement(SelectGroupLabel,{label:s(a.group),size:c,indent:y,ref:F[g],key:"group-".concat(a.key)}),a.items.map(function(b,f){if(isOptionForSelectAll(b)){var g=j(),h=e();if(isVisible(H,g))return React.createElement(SelectItemAll,Object.assign({ref:forkRef([F[g],u[h]]),indent:y,size:c},d({index:h,item:b,keyPrefix:f}),{intermediate:!!(b.checkedCount&&b.totalCount)&&b.checkedCount!==b.totalCount,checked:b.checkedCount===b.totalCount,countItems:b.checkedCount,total:b.totalCount}))}else{var i=j(),k=e();if(isVisible(H,i))return React.createElement(Fragment,{key:"".concat(a.key,"-").concat(f)},p(_objectSpread({ref:forkRef([F[i],u[k]]),item:b},d({index:k,item:b,keyPrefix:f}))))}}))}),r&&z&&React.createElement(ListLoader,{size:c,innerOffset:y})),!r&&k&&t&&h&&React.createElement(ListItem,{size:c,label:h,innerOffset:y},h),!r&&!k&&i&&React.createElement(ListItem,{size:c,label:i,innerOffset:y},i)))})};
2
2
  //# sourceMappingURL=SelectDropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useEffect","useMemo","useRef","Transition","cnListBox","ListItem","ListLoader","mapVerticalSpase","Popover","useDebounce","useFlag","forkRef","useForkRef","useVirtualScroll","animateTimeout","cnMixPopoverAnimate","cnMixScrollBar","cnMixSpace","cn","fabricIndex","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","isNotOptionForCreate","isOptionForCreate","isOptionForSelectAll","selectDropdownform","defaultSelectDropdownPropForm","cnSelectDropdown","getLenghtElements","elements","element","lenght","length","index","items","isVisible","slise","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRefProp","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","otherProps","indent","isListShowed","filter","group","Array","isArray","lengthForVirtualScroll","isActive","spaceTop","sliceHookProp","slice","listRefs","scrollElementRef","popoverRef","scrolled","setScroled","setScroledOffDebouns","off","fn","on","current","addEventListener","removeEventListener","animate","getIndex","getVirtualIndex","border","shadow","pV","marginTop","map","groupIndex","label","item","keyPrefix","virtualIndex","key","i","checkedCount","totalCount","ref"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useEffect, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n ListLoader,\n mapVerticalSpase,\n} from '##/components/ListCanary';\nimport { Popover, PopoverPropOffset } from '##/components/Popover';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { useFlag } from '##/hooks/useFlag';\nimport { forkRef, useForkRef } from '##/hooks/useForkRef';\nimport { useVirtualScroll } from '##/hooks/useVirtualScroll';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '##/mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { fabricIndex } from '##/utils/fabricIndex';\nimport { SelectAllItem } from '##/utils/getGroups';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectItemAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\nimport {\n GetOptionPropsResult,\n isNotOptionForCreate,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../useSelect';\n\nexport const selectDropdownform = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownform[number];\nexport const defaultSelectDropdownPropForm = selectDropdownform[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n itemsRefs: React.RefObject<HTMLDivElement>[];\n virtualScroll?: boolean;\n onScrollToBottom?: (lenght: number) => void;\n}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nconst getLenghtElements = <ITEM, GROUP>(\n elements: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[],\n) => {\n let lenght = elements.length <= 1 ? 0 : elements.length;\n\n for (let index = 0; index < elements.length; index++) {\n const element = elements[index];\n\n if (isNotOptionForCreate(element) && element.items.length) {\n lenght += element.items.length;\n }\n }\n\n return lenght;\n};\n\nconst isVisible = (slise: [number, number], index: number) => {\n return index >= slise[0] && index < slise[1];\n};\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const lengthForVirtualScroll = useMemo(\n () => getLenghtElements(visibleItems),\n [visibleItems],\n );\n\n const {\n spaceTop,\n slice: sliceHookProp,\n listRefs,\n scrollElementRef,\n } = useVirtualScroll({\n length: lengthForVirtualScroll,\n isActive: virtualScroll && isOpen,\n onScrollToBottom,\n });\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useForkRef([scrollElementRef, dropdownRefProp]);\n const [scrolled, setScroled] = useFlag();\n const setScroledOffDebouns = useDebounce(setScroled.off, 100);\n\n useEffect(() => {\n const fn = () => {\n setScroled.on();\n setScroledOffDebouns();\n };\n\n scrollElementRef.current?.addEventListener('scroll', fn);\n\n return () => {\n scrollElementRef.current?.removeEventListener('scroll', fn);\n };\n }, [scrollElementRef.current]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpase[size],\n }),\n cnMixScrollBar(),\n ])}\n ref={dropdownRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List', { scrolled })}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group, groupIndex) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n ref={itemsRefs[index]}\n {...getOptionProps({\n index,\n item: group,\n keyPrefix: groupIndex,\n })}\n />\n );\n }\n\n const virtualIndex =\n visibleItems.length > 1 ? getVirtualIndex() : 0;\n\n return (\n <Fragment key={group.key}>\n {group.group &&\n getGroupLabel &&\n isVisible(slice, virtualIndex) && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n ref={listRefs[virtualIndex]}\n key={`group-${group.key}`}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionProps({\n index,\n item,\n keyPrefix: i,\n })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n ref: forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ]),\n item,\n ...getOptionProps({\n index,\n item,\n keyPrefix: i,\n }),\n })}\n </Fragment>\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDropdown.js","names":["React","Fragment","useEffect","useMemo","useRef","Transition","cnListBox","ListItem","ListLoader","mapVerticalSpace","Popover","useDebounce","useFlag","forkRef","useForkRef","useVirtualScroll","animateTimeout","cnMixPopoverAnimate","cnMixScrollBar","cnMixSpace","cn","fabricIndex","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","isNotOptionForCreate","isOptionForCreate","isOptionForSelectAll","selectDropdownForm","defaultSelectDropdownPropForm","cnSelectDropdown","getLengthElements","elements","element","length","index","items","isVisible","slice","SelectDropdown","props","controlRef","size","getOptionProps","dropdownRefProp","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItems","form","isOpen","offset","offsetProp","renderItem","visibleItems","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","otherProps","indent","isListShowed","filter","group","Array","isArray","lengthForVirtualScroll","isActive","spaceTop","sliceHookProp","listRefs","scrollElementRef","popoverRef","scrolled","setScrolled","setScrolledOffDebounce","off","fn","on","current","addEventListener","removeEventListener","animate","getIndex","getVirtualIndex","border","shadow","pV","marginTop","map","groupIndex","label","item","keyPrefix","virtualIndex","key","i","checkedCount","totalCount","ref"],"sources":["../../../../../../src/components/SelectComponents/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport React, { Fragment, useEffect, useMemo, useRef } from 'react';\nimport { Transition } from 'react-transition-group';\n\nimport {\n cnListBox,\n ListItem,\n ListLoader,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { Popover, PopoverPropOffset } from '##/components/Popover';\nimport { useDebounce } from '##/hooks/useDebounce';\nimport { useFlag } from '##/hooks/useFlag';\nimport { forkRef, useForkRef } from '##/hooks/useForkRef';\nimport { useVirtualScroll } from '##/hooks/useVirtualScroll';\nimport {\n animateTimeout,\n cnMixPopoverAnimate,\n} from '##/mixs/MixPopoverAnimate/MixPopoverAnimate';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cn } from '##/utils/bem';\nimport { fabricIndex } from '##/utils/fabricIndex';\nimport { SelectAllItem } from '##/utils/getGroups';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport { SelectCreateButton } from '../SelectCreateButton/SelectCreateButton';\nimport { SelectGroupLabel } from '../SelectGroupLabel/SelectGroupLabel';\nimport { SelectItemAll } from '../SelectItemAll/SelectItemAll';\nimport { SelectLoader } from '../SelectLoader/SelectLoader';\nimport { PropSize, RenderItemProps } from '../types';\nimport {\n GetOptionPropsResult,\n isNotOptionForCreate,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '../useSelect';\n\nexport const selectDropdownForm = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownForm[number];\nexport const defaultSelectDropdownPropForm = selectDropdownForm[0];\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: PropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionProps(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n isOpen: boolean;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;\n visibleItems: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[];\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?: string;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItems?: boolean;\n itemsRefs: React.RefObject<HTMLDivElement>[];\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n}>;\n\ntype SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nconst getLengthElements = <ITEM, GROUP>(\n elements: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[],\n) => {\n let length = elements.length <= 1 ? 0 : elements.length;\n\n for (let index = 0; index < elements.length; index++) {\n const element = elements[index];\n\n if (isNotOptionForCreate(element) && element.items.length) {\n length += element.items.length;\n }\n }\n\n return length;\n};\n\nconst isVisible = (slice: [number, number], index: number) => {\n return index >= slice[0] && index < slice[1];\n};\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const lengthForVirtualScroll = useMemo(\n () => getLengthElements(visibleItems),\n [visibleItems],\n );\n\n const {\n spaceTop,\n slice: sliceHookProp,\n listRefs,\n scrollElementRef,\n } = useVirtualScroll({\n length: lengthForVirtualScroll,\n isActive: virtualScroll && isOpen,\n onScrollToBottom,\n });\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useForkRef([scrollElementRef, dropdownRefProp]);\n const [scrolled, setScrolled] = useFlag();\n const setScrolledOffDebounce = useDebounce(setScrolled.off, 100);\n\n useEffect(() => {\n const fn = () => {\n setScrolled.on();\n setScrolledOffDebounce();\n };\n\n scrollElementRef.current?.addEventListener('scroll', fn);\n\n return () => {\n scrollElementRef.current?.removeEventListener('scroll', fn);\n };\n }, [scrollElementRef.current]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar(),\n ])}\n ref={dropdownRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List', { scrolled })}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group, groupIndex) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n ref={itemsRefs[index]}\n {...getOptionProps({\n index,\n item: group,\n keyPrefix: groupIndex,\n })}\n />\n );\n }\n\n const virtualIndex =\n visibleItems.length > 1 ? getVirtualIndex() : 0;\n\n return (\n <Fragment key={group.key}>\n {group.group &&\n getGroupLabel &&\n isVisible(slice, virtualIndex) && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n ref={listRefs[virtualIndex]}\n key={`group-${group.key}`}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionProps({\n index,\n item,\n keyPrefix: i,\n })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n ref: forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ]),\n item,\n ...getOptionProps({\n index,\n item,\n keyPrefix: i,\n }),\n })}\n </Fragment>\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const defaultlabelForNotFound = "\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E";
2
- export declare const defaultlabelForCreate = "";
1
+ export declare const defaultLabelForNotFound = "\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E";
2
+ export declare const defaultLabelForCreate = "";
3
3
  export declare const defaultLabelForEmptyItems = "\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u0443\u0441\u0442";
4
4
  export declare const getInputWidth: (controlInnerRef: React.RefObject<HTMLDivElement>, helperInputFakeElement: React.RefObject<HTMLDivElement>) => number;
@@ -1,2 +1,2 @@
1
- export var defaultlabelForNotFound="\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E";export var defaultlabelForCreate="";export var defaultLabelForEmptyItems="\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u0443\u0441\u0442";export var getInputWidth=function(a,b){if(!a.current||!b.current)return 20;var c=b.current.offsetWidth+20,d=a.current?a.current.offsetWidth-15:2,e=c>d?d:c;return e};
1
+ export var defaultLabelForNotFound="\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E";export var defaultLabelForCreate="";export var defaultLabelForEmptyItems="\u0421\u043F\u0438\u0441\u043E\u043A \u043F\u0443\u0441\u0442";export var getInputWidth=function(a,b){if(!a.current||!b.current)return 20;var c=b.current.offsetWidth+20,d=a.current?a.current.offsetWidth-15:2,e=c>d?d:c;return e};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["defaultlabelForNotFound","defaultlabelForCreate","defaultLabelForEmptyItems","getInputWidth","controlInnerRef","helperInputFakeElement","current","fakeElWidth","offsetWidth","maxWidth","width"],"sources":["../../../../../src/components/SelectComponents/helpers.ts"],"sourcesContent":["export const defaultlabelForNotFound = 'Не найдено';\nexport const defaultlabelForCreate = '';\nexport const defaultLabelForEmptyItems = 'Список пуст';\n\nexport const getInputWidth = (\n controlInnerRef: React.RefObject<HTMLDivElement>,\n helperInputFakeElement: React.RefObject<HTMLDivElement>,\n): number => {\n if (!controlInnerRef.current || !helperInputFakeElement.current) {\n return 20;\n }\n const fakeElWidth = helperInputFakeElement.current.offsetWidth + 20;\n const maxWidth = controlInnerRef.current\n ? controlInnerRef.current.offsetWidth - 15\n : 2;\n const width = fakeElWidth > maxWidth ? maxWidth : fakeElWidth;\n return width;\n};\n"],"mappings":"AAAA,MAAO,IAAMA,wBAAuB,CAAG,yDAAhC,CACP,MAAO,IAAMC,sBAAqB,CAAG,EAA9B,CACP,MAAO,IAAMC,0BAAyB,CAAG,+DAAlC,CAEP,MAAO,IAAMC,cAAa,CAAG,SAC3BC,CAD2B,CAE3BC,CAF2B,CAGhB,CACX,GAAI,CAACD,CAAe,CAACE,OAAjB,EAA4B,CAACD,CAAsB,CAACC,OAAxD,CACE,MAAO,GAAP,CAFS,GAILC,EAAW,CAAGF,CAAsB,CAACC,OAAvB,CAA+BE,WAA/B,CAA6C,EAJtD,CAKLC,CAAQ,CAAGL,CAAe,CAACE,OAAhB,CACbF,CAAe,CAACE,OAAhB,CAAwBE,WAAxB,CAAsC,EADzB,CAEb,CAPO,CAQLE,CAAK,CAAGH,CAAW,CAAGE,CAAd,CAAyBA,CAAzB,CAAoCF,CARvC,CASX,MAAOG,EACR,CAbM"}
1
+ {"version":3,"file":"helpers.js","names":["defaultLabelForNotFound","defaultLabelForCreate","defaultLabelForEmptyItems","getInputWidth","controlInnerRef","helperInputFakeElement","current","fakeElWidth","offsetWidth","maxWidth","width"],"sources":["../../../../../src/components/SelectComponents/helpers.ts"],"sourcesContent":["export const defaultLabelForNotFound = 'Не найдено';\nexport const defaultLabelForCreate = '';\nexport const defaultLabelForEmptyItems = 'Список пуст';\n\nexport const getInputWidth = (\n controlInnerRef: React.RefObject<HTMLDivElement>,\n helperInputFakeElement: React.RefObject<HTMLDivElement>,\n): number => {\n if (!controlInnerRef.current || !helperInputFakeElement.current) {\n return 20;\n }\n const fakeElWidth = helperInputFakeElement.current.offsetWidth + 20;\n const maxWidth = controlInnerRef.current\n ? controlInnerRef.current.offsetWidth - 15\n : 2;\n const width = fakeElWidth > maxWidth ? maxWidth : fakeElWidth;\n return width;\n};\n"],"mappings":"AAAA,MAAO,IAAMA,wBAAuB,CAAG,yDAAhC,CACP,MAAO,IAAMC,sBAAqB,CAAG,EAA9B,CACP,MAAO,IAAMC,0BAAyB,CAAG,+DAAlC,CAEP,MAAO,IAAMC,cAAa,CAAG,SAC3BC,CAD2B,CAE3BC,CAF2B,CAGhB,CACX,GAAI,CAACD,CAAe,CAACE,OAAjB,EAA4B,CAACD,CAAsB,CAACC,OAAxD,CACE,MAAO,GAAP,CAFS,GAILC,EAAW,CAAGF,CAAsB,CAACC,OAAvB,CAA+BE,WAA/B,CAA6C,EAJtD,CAKLC,CAAQ,CAAGL,CAAe,CAACE,OAAhB,CACbF,CAAe,CAACE,OAAhB,CAAwBE,WAAxB,CAAsC,EADzB,CAEb,CAPO,CAQLE,CAAK,CAAGH,CAAW,CAAGE,CAAd,CAAyBA,CAAzB,CAAoCF,CARvC,CASX,MAAOG,EACR,CAbM"}
@@ -73,7 +73,7 @@ export declare function useSelect<ITEM, GROUP, MULTIPLE extends boolean>(params:
73
73
  handleToggleDropdown: () => void;
74
74
  handleInputClick: () => void;
75
75
  inputRef: React.RefObject<HTMLInputElement>;
76
- getKeyProps: (rest?: import("../../../hooks/useKeysDepricated").KeyProps | undefined) => import("../../../hooks/useKeysDepricated").KeyProps;
76
+ getKeyProps: (rest?: import("../../../hooks/useKeysDeprecated").KeyProps | undefined) => import("../../../hooks/useKeysDeprecated").KeyProps;
77
77
  handleInputChange: (e: React.ChangeEvent<HTMLInputElement>) => void;
78
78
  searchValue: string;
79
79
  clearValue: (e: React.SyntheticEvent) => void;
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useDebounce}from"../../../hooks/useDebounce";import{useKeys}from"../../../hooks/useKeysDepricated";import{useMutableRef}from"../../../hooks/useMutableRef";import{usePrevious}from"../../../hooks/usePrevious";import{useRefs}from"../../../hooks/useRefs";import{getCountedGroups,getGroups}from"../../../utils/getGroups";import{scrollToIndex,useHoistedState}from"./helpers";var isMultipleParams=function(a){return a.multiple},isNotMultipleParams=function(a){return!a.multiple},actions={setOpen:"setOpen",setSearch:"setSearch",highlightIndex:"highlightIndex"},initialState={searchValue:"",resolvedSearchValue:"",isOpen:!1,highlightedIndex:0,scrollToHighlighted:!1};export var isOptionForCreate=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isNotOptionForCreate=function(a){return a&&!Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isOptionForSelectAll=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionSelctAll")};export function useSelect(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.multiple,h=void 0!==g&&g,i=a.getItemLabel,j=a.getItemKey,k=a.searchFunction,l=a.getItemGroupKey,m=a.groups,n=a.selectAll,o=void 0!==n&&n,p=a.getGroupKey,q=a.sortGroups,r=a.getItemDisabled,s=a.onFocus,t=a.onBlur,u=a.searchValue,v=a.onDropdownOpen,w=a.onSearchValueChange,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=useRef(null),A=useState(!1),B=_slicedToArray(A,2),C=B[0],D=B[1],E=useMemo(function(){return a.value&&(Array.isArray(a.value)?a.value:[a.value])||[]},[a.value]),F=useHoistedState(initialState),G=_slicedToArray(F,2),H=G[0],I=H.searchValue,J=H.isOpen,K=H.highlightedIndex,L=H.resolvedSearchValue,M=H.scrollToHighlighted,N=G[1],O=useMutableRef(w),P=function(a,b){return-1!==i(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},Q=useMemo(function(){if(L&&""!==L){var c=b.filter(function(a){return k?k(a,L):P(a,L)});return[c,a.onCreate&&!c.length?{label:I,__optionForCreate:!0}:void 0]}return[b,void 0]},[b,L,a.onCreate]),R=_slicedToArray(Q,2),S=R[0],T=R[1],U=useMemo(function(){var b=getCountedGroups(getGroups(S,null!==m&&void 0!==m&&m.length?l:void 0,m,p,q),isMultipleParams(a)?a.value:[],o,j,r);return T?[T].concat(_toConsumableArray(b)):b},[E,o,S,m,l,r,p,q,T]),V=S.length+(T?1:0)+(o?U.length:0),W=useRefs(V,[J]),X=useMemo(function(){var b=!1;return 0<I.length&&(b=0===U.filter(function(a){return isOptionForCreate(a)||0<a.items.length||a.group}).length&&!a.onCreate),b},[U]),Y=0!==b.length,Z=useMemo(function(){return!isNotMultipleParams(a)&&!!o&&b.filter(function(a){return E.find(function(b){return j(b)===j(a)})}).length===b.length},[o,h,E,b]),$=function(){var a=0;if(0<E.length){var b,c=_createForOfIteratorHelper(U);try{for(c.s();!(b=c.n()).done;){var f=b.value;if(isOptionForCreate(f)){a++;continue}var d,e=_createForOfIteratorHelper(f.items);try{for(e.s();!(d=e.n()).done;){var g=d.value;if(isOptionForSelectAll(g))return a;if(j(g)===j(E[0]))return a;a++}}catch(a){e.e(a)}finally{e.f()}}}catch(a){c.e(a)}finally{c.f()}}return 0},aa=useCallback(function(a){N(function(b){return _objectSpread(_objectSpread({},b),{},{isOpen:a})},actions.setOpen)},[N]),ba=useDebounce(function(a){N(function(b){return b.resolvedSearchValue===a?b:_objectSpread(_objectSpread({},b),{},{resolvedSearchValue:a})},actions.setSearch)},300),ca=useCallback(function(a){N(function(b){return b.searchValue===a?b:_objectSpread(_objectSpread({},b),{},{searchValue:a||""})},actions.setSearch),ba(a||"")},[N,ba]),da=usePrevious(J),ea=useCallback(function(a,b){N(function(c){var d=Math.min(Math.max(0,"function"==typeof a?a(c.highlightedIndex):a),V-1);return c.highlightedIndex===d?c:_objectSpread(_objectSpread({},c),{},{highlightedIndex:d,scrollToHighlighted:b})},actions.highlightIndex)},[S,N,T]);useLayoutEffect(function(){if(null!==E&&!da&&J){var a=$();0<S.length&&scrollToIndex(a,c,W,function(){return ea(0,!1)})}});var fa=function(b,c){if(b.stopPropagation(),isMultipleParams(a)){var d,e=null===(d=a.value)||void 0===d?void 0:d.filter(function(a){return j(a)!==j(c)}),f=null!==e&&void 0!==e&&e.length?e:null;a.onChange(f,{e:b})}},ga=function(b,c){if(!(r&&r(c))){if(isMultipleParams(a)){var d=E.some(function(a){return j(a)===j(c)})?E.filter(function(a){return j(a)!==j(c)}):[].concat(_toConsumableArray(E),[c]),e=null!==d&&void 0!==d&&d.length?d:null;a.onChange(e,{e:b})}isNotMultipleParams(a)&&(a.onChange(c,{e:b}),aa(!1),ca(""))}},ha=function(b){var c=b.e,d=b.items;if(isMultipleParams(a)){var e=r?d.filter(function(a){return!r(a)}):d,f=[],g=[];if(E.forEach(function(a){e.find(function(b){return j(a)===j(b)})?f.push(a):g.push(a)}),f.length===e.length)a.onChange(g,{e:c});else{var h=[].concat(g,_toConsumableArray(e));a.onChange(h,{e:c})}}},ia=function(b,c){a.onCreate&&a.onCreate(c,{e:b,label:c}),aa(!1),ca("")},ja=function(b){if(isMultipleParams(a)){var c=null===E||void 0===E?void 0:E.filter(function(a){return null===r||void 0===r?void 0:r(a)}),d=c&&0<c.length?c:null;a.onChange(d,{e:b})}isNotMultipleParams(a)&&a.onChange(null,{e:b}),ca("")},ka=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a-1},!0)},la=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a+1},!0)},ma=useKeys({ArrowUp:ka,ArrowDown:la,PageUp:ka,PageDown:la,Home:ka,End:la,Enter:function Enter(a,b){if(J){(I||S[K])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(U);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(isOptionForCreate(e))return c++,[void 0,e];if(e.items.length+c>a)return[e,e.items[a-c]];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}return[void 0,void 0]},d=c(K),e=_slicedToArray(d,2),f=e[0],g=e[1];if(isOptionForCreate(g))return void ia(b,g.label);if(isOptionForSelectAll(g)){var h;return void ha({e:b,items:null!==(h=null===f||void 0===f?void 0:f.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==h?h:[]})}g&&ga(b,g)}else aa(!0)},Escape:function Escape(){aa(!1)},Tab:function Tab(a,b){J&&(b.preventDefault(),aa(!1))},Backspace:function Backspace(a,b){I||(h?fa(b,E[E.length-1]):ja(b))}});useClickOutside({isActive:J,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(y||[])),handler:function handler(){aa(!1)}}),useEffect(function(){f&&aa(!1)},[f]),useEffect(function(){var a=$();ea(a,!0)},[ea]),useEffect(function(){0<S.length&&M&&scrollToIndex(K,c,W,function(){return ea(0,!1)})},[K]);return useEffect(function(){ca(u)},[u]),useEffect(function(){var a;null===(a=c.current)||void 0===a?void 0:a.scrollTo({top:0})},[L]),useEffect(function(){null===v||void 0===v?void 0:v(J)},[J]),useEffect(function(){var a;null===(a=O.current)||void 0===a?void 0:a.call(O,I)},[I]),useEffect(function(){aa(x||!1)},[x]),{isOpen:J,isFocused:C,highlightedIndex:K,visibleItems:U,highlightIndex:ea,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=a.keyPrefix;if(isOptionForCreate(c))return{onClick:function onClick(a){ia(a,c.label)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForCreate")};if(isOptionForSelectAll(c)){var f=function(){var a,b=_createForOfIteratorHelper(U);try{for(b.s();!(a=b.n()).done;){var e=a.value;if(isOptionForCreate(e))break;if(e.key===c.groupKey){var d;return null!==(d=null===e||void 0===e?void 0:e.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==d?d:[]}}}catch(a){b.e(a)}finally{b.f()}return[]};return{onClick:function onClick(a){ha({e:a,items:f()})},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForSelectAll")}}var e=j(c);return{onClick:function onClick(a){ga(a,c)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!!E.find(function(a){return j(a)===e}),hovered:b===K,key:"".concat(d).concat(e)}},handleInputFocus:function handleInputFocus(a){f||(!C&&D(!0),"function"==typeof s&&s(a))},handleInputBlur:function handleInputBlur(a){if(J){var b;return void(null===(b=z.current)||void 0===b?void 0:b.focus())}C&&D(!1),"function"==typeof t&&t(a)},handleToggleDropdown:function handleToggleDropdown(){if(J)aa(!1),D(!1);else{var a;aa(!0),D(!0),null===(a=z.current)||void 0===a?void 0:a.focus()}},handleInputClick:function handleInputClick(){if(f||aa(!J),h){var a;null===(a=z.current)||void 0===a?void 0:a.focus()}},inputRef:z,getKeyProps:ma,handleInputChange:function handleInputChange(a){f||!h&&0<E.length||(ca(a.target.value),aa(!0))},searchValue:I,clearValue:ja,getHandleRemoveValue:function getHandleRemoveValue(a){return function(b){return fa(b,a)}},notFound:X,hasItems:Y,allItemsSelected:Z,optionsRefs:W}}
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useLayoutEffect,useMemo,useRef,useState}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useDebounce}from"../../../hooks/useDebounce";import{useKeys}from"../../../hooks/useKeysDeprecated";import{useMutableRef}from"../../../hooks/useMutableRef";import{usePrevious}from"../../../hooks/usePrevious";import{useRefs}from"../../../hooks/useRefs";import{getCountedGroups,getGroups}from"../../../utils/getGroups";import{scrollToIndex,useHoistedState}from"./helpers";var isMultipleParams=function(a){return a.multiple},isNotMultipleParams=function(a){return!a.multiple},actions={setOpen:"setOpen",setSearch:"setSearch",highlightIndex:"highlightIndex"},initialState={searchValue:"",resolvedSearchValue:"",isOpen:!1,highlightedIndex:0,scrollToHighlighted:!1};export var isOptionForCreate=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isNotOptionForCreate=function(a){return a&&!Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isOptionForSelectAll=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionSelectAll")};export function useSelect(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.multiple,h=void 0!==g&&g,i=a.getItemLabel,j=a.getItemKey,k=a.searchFunction,l=a.getItemGroupKey,m=a.groups,n=a.selectAll,o=void 0!==n&&n,p=a.getGroupKey,q=a.sortGroups,r=a.getItemDisabled,s=a.onFocus,t=a.onBlur,u=a.searchValue,v=a.onDropdownOpen,w=a.onSearchValueChange,x=a.dropdownOpen,y=a.ignoreOutsideClicksRefs,z=useRef(null),A=useState(!1),B=_slicedToArray(A,2),C=B[0],D=B[1],E=useMemo(function(){return a.value&&(Array.isArray(a.value)?a.value:[a.value])||[]},[a.value]),F=useHoistedState(initialState),G=_slicedToArray(F,2),H=G[0],I=H.searchValue,J=H.isOpen,K=H.highlightedIndex,L=H.resolvedSearchValue,M=H.scrollToHighlighted,N=G[1],O=useMutableRef(w),P=function(a,b){return-1!==i(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},Q=useMemo(function(){if(L&&""!==L){var c=b.filter(function(a){return k?k(a,L):P(a,L)});return[c,a.onCreate&&!c.length?{label:I,__optionForCreate:!0}:void 0]}return[b,void 0]},[b,L,a.onCreate]),R=_slicedToArray(Q,2),S=R[0],T=R[1],U=useMemo(function(){var b=getCountedGroups(getGroups(S,null!==m&&void 0!==m&&m.length?l:void 0,m,p,q),isMultipleParams(a)?a.value:[],o,j,r);return T?[T].concat(_toConsumableArray(b)):b},[E,o,S,m,l,r,p,q,T]),V=S.length+(T?1:0)+(o?U.length:0),W=useRefs(V,[J]),X=useMemo(function(){var b=!1;return 0<I.length&&(b=0===U.filter(function(a){return isOptionForCreate(a)||0<a.items.length||a.group}).length&&!a.onCreate),b},[U]),Y=0!==b.length,Z=useMemo(function(){return!isNotMultipleParams(a)&&!!o&&b.filter(function(a){return E.find(function(b){return j(b)===j(a)})}).length===b.length},[o,h,E,b]),$=function(){var a=0;if(0<E.length){var b,c=_createForOfIteratorHelper(U);try{for(c.s();!(b=c.n()).done;){var f=b.value;if(isOptionForCreate(f)){a++;continue}var d,e=_createForOfIteratorHelper(f.items);try{for(e.s();!(d=e.n()).done;){var g=d.value;if(isOptionForSelectAll(g))return a;if(j(g)===j(E[0]))return a;a++}}catch(a){e.e(a)}finally{e.f()}}}catch(a){c.e(a)}finally{c.f()}}return 0},aa=useCallback(function(a){N(function(b){return _objectSpread(_objectSpread({},b),{},{isOpen:a})},actions.setOpen)},[N]),ba=useDebounce(function(a){N(function(b){return b.resolvedSearchValue===a?b:_objectSpread(_objectSpread({},b),{},{resolvedSearchValue:a})},actions.setSearch)},300),ca=useCallback(function(a){N(function(b){return b.searchValue===a?b:_objectSpread(_objectSpread({},b),{},{searchValue:a||""})},actions.setSearch),ba(a||"")},[N,ba]),da=usePrevious(J),ea=useCallback(function(a,b){N(function(c){var d=Math.min(Math.max(0,"function"==typeof a?a(c.highlightedIndex):a),V-1);return c.highlightedIndex===d?c:_objectSpread(_objectSpread({},c),{},{highlightedIndex:d,scrollToHighlighted:b})},actions.highlightIndex)},[S,N,T]);useLayoutEffect(function(){if(null!==E&&!da&&J){var a=$();0<S.length&&scrollToIndex(a,c,W,function(){return ea(0,!1)})}});var fa=function(b,c){if(b.stopPropagation(),isMultipleParams(a)){var d,e=null===(d=a.value)||void 0===d?void 0:d.filter(function(a){return j(a)!==j(c)}),f=null!==e&&void 0!==e&&e.length?e:null;a.onChange(f,{e:b})}},ga=function(b,c){if(!(r&&r(c))){if(isMultipleParams(a)){var d=E.some(function(a){return j(a)===j(c)})?E.filter(function(a){return j(a)!==j(c)}):[].concat(_toConsumableArray(E),[c]),e=null!==d&&void 0!==d&&d.length?d:null;a.onChange(e,{e:b})}isNotMultipleParams(a)&&(a.onChange(c,{e:b}),aa(!1),ca(""))}},ha=function(b){var c=b.e,d=b.items;if(isMultipleParams(a)){var e=r?d.filter(function(a){return!r(a)}):d,f=[],g=[];if(E.forEach(function(a){e.find(function(b){return j(a)===j(b)})?f.push(a):g.push(a)}),f.length===e.length)a.onChange(g,{e:c});else{var h=[].concat(g,_toConsumableArray(e));a.onChange(h,{e:c})}}},ia=function(b,c){a.onCreate&&a.onCreate(c,{e:b,label:c}),aa(!1),ca("")},ja=function(b){if(isMultipleParams(a)){var c=null===E||void 0===E?void 0:E.filter(function(a){return null===r||void 0===r?void 0:r(a)}),d=c&&0<c.length?c:null;a.onChange(d,{e:b})}isNotMultipleParams(a)&&a.onChange(null,{e:b}),ca("")},ka=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a-1},!0)},la=function(a,b){b.preventDefault(),f||aa(!0),ea(function(a){return a+1},!0)},ma=useKeys({ArrowUp:ka,ArrowDown:la,PageUp:ka,PageDown:la,Home:ka,End:la,Enter:function Enter(a,b){if(J){(I||S[K])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(U);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(isOptionForCreate(e))return c++,[void 0,e];if(e.items.length+c>a)return[e,e.items[a-c]];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}return[void 0,void 0]},d=c(K),e=_slicedToArray(d,2),f=e[0],g=e[1];if(isOptionForCreate(g))return void ia(b,g.label);if(isOptionForSelectAll(g)){var h;return void ha({e:b,items:null!==(h=null===f||void 0===f?void 0:f.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==h?h:[]})}g&&ga(b,g)}else aa(!0)},Escape:function Escape(){aa(!1)},Tab:function Tab(a,b){J&&(b.preventDefault(),aa(!1))},Backspace:function Backspace(a,b){I||(h?fa(b,E[E.length-1]):ja(b))}});useClickOutside({isActive:J,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(y||[])),handler:function handler(){aa(!1)}}),useEffect(function(){f&&aa(!1)},[f]),useEffect(function(){var a=$();ea(a,!0)},[ea]),useEffect(function(){0<S.length&&M&&scrollToIndex(K,c,W,function(){return ea(0,!1)})},[K]);return useEffect(function(){ca(u)},[u]),useEffect(function(){var a;null===(a=c.current)||void 0===a?void 0:a.scrollTo({top:0})},[L]),useEffect(function(){null===v||void 0===v?void 0:v(J)},[J]),useEffect(function(){var a;null===(a=O.current)||void 0===a?void 0:a.call(O,I)},[I]),useEffect(function(){aa(x||!1)},[x]),{isOpen:J,isFocused:C,highlightedIndex:K,visibleItems:U,highlightIndex:ea,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=a.keyPrefix;if(isOptionForCreate(c))return{onClick:function onClick(a){ia(a,c.label)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForCreate")};if(isOptionForSelectAll(c)){var f=function(){var a,b=_createForOfIteratorHelper(U);try{for(b.s();!(a=b.n()).done;){var e=a.value;if(isOptionForCreate(e))break;if(e.key===c.groupKey){var d;return null!==(d=null===e||void 0===e?void 0:e.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==d?d:[]}}}catch(a){b.e(a)}finally{b.f()}return[]};return{onClick:function onClick(a){ha({e:a,items:f()})},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!1,hovered:b===K,key:"".concat(d,"__optionForSelectAll")}}var e=j(c);return{onClick:function onClick(a){ga(a,c)},onMouseEnter:function onMouseEnter(){ea(b,!1)},active:!!E.find(function(a){return j(a)===e}),hovered:b===K,key:"".concat(d).concat(e)}},handleInputFocus:function handleInputFocus(a){f||(!C&&D(!0),"function"==typeof s&&s(a))},handleInputBlur:function handleInputBlur(a){if(J){var b;return void(null===(b=z.current)||void 0===b?void 0:b.focus())}C&&D(!1),"function"==typeof t&&t(a)},handleToggleDropdown:function handleToggleDropdown(){if(J)aa(!1),D(!1);else{var a;aa(!0),D(!0),null===(a=z.current)||void 0===a?void 0:a.focus()}},handleInputClick:function handleInputClick(){if(f||aa(!J),h){var a;null===(a=z.current)||void 0===a?void 0:a.focus()}},inputRef:z,getKeyProps:ma,handleInputChange:function handleInputChange(a){f||!h&&0<E.length||(ca(a.target.value),aa(!0))},searchValue:I,clearValue:ja,getHandleRemoveValue:function getHandleRemoveValue(a){return function(b){return fa(b,a)}},notFound:X,hasItems:Y,allItemsSelected:Z,optionsRefs:W}}
2
2
  //# sourceMappingURL=useSelect.js.map