@consta/uikit 5.20.2 → 5.22.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 (272) hide show
  1. package/__internal__/src/components/AutoComplete/types.d.ts +1 -1
  2. package/__internal__/src/components/AutoComplete/types.js.map +1 -1
  3. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +3 -3
  4. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
  5. package/__internal__/src/components/AvatarGroup/helpers.d.ts +66 -56
  6. package/__internal__/src/components/AvatarGroup/types.d.ts +1 -1
  7. package/__internal__/src/components/AvatarGroup/types.js.map +1 -1
  8. package/__internal__/src/components/BadgeGroup/BadgeGroup.js +1 -1
  9. package/__internal__/src/components/BadgeGroup/BadgeGroup.js.map +1 -1
  10. package/__internal__/src/components/BadgeGroup/types.d.ts +1 -1
  11. package/__internal__/src/components/BadgeGroup/types.js.map +1 -1
  12. package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
  13. package/__internal__/src/components/BookmarkTabs/BookmarkTabsTab/BookmarkTabsTab.css +1 -1
  14. package/__internal__/src/components/BookmarkTabs/helper.d.ts +66 -56
  15. package/__internal__/src/components/BookmarkTabs/types.d.ts +3 -3
  16. package/__internal__/src/components/BookmarkTabs/types.js.map +1 -1
  17. package/__internal__/src/components/Breadcrumbs/BreadcrumbsFitModeScroll/BreadcrumbsFitModeScroll.js +1 -1
  18. package/__internal__/src/components/Breadcrumbs/BreadcrumbsFitModeScroll/BreadcrumbsFitModeScroll.js.map +1 -1
  19. package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.js +1 -1
  20. package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.js.map +1 -1
  21. package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.d.ts +1 -1
  22. package/__internal__/src/components/Breadcrumbs/helpers.d.ts +74 -64
  23. package/__internal__/src/components/Breadcrumbs/helpers.js.map +1 -1
  24. package/__internal__/src/components/Breadcrumbs/types.d.ts +12 -11
  25. package/__internal__/src/components/Breadcrumbs/types.js.map +1 -1
  26. package/__internal__/src/components/Card/Card.d.ts +3 -2
  27. package/__internal__/src/components/Card/Card.js.map +1 -1
  28. package/__internal__/src/components/CheckboxGroup/helper.d.ts +66 -56
  29. package/__internal__/src/components/CheckboxGroup/types.d.ts +1 -1
  30. package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
  31. package/__internal__/src/components/Chips/ChipsChoice/types.d.ts +1 -1
  32. package/__internal__/src/components/Chips/ChipsChoice/types.js.map +1 -1
  33. package/__internal__/src/components/Chips/types.d.ts +1 -1
  34. package/__internal__/src/components/Chips/types.js.map +1 -1
  35. package/__internal__/src/components/ChoiceGroup/helper.d.ts +66 -56
  36. package/__internal__/src/components/ChoiceGroup/types.d.ts +1 -1
  37. package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
  38. package/__internal__/src/components/Collapse/types.d.ts +1 -1
  39. package/__internal__/src/components/Collapse/types.js.map +1 -1
  40. package/__internal__/src/components/CollapseGroup/helpers.d.ts +2 -2
  41. package/__internal__/src/components/CollapseGroup/helpers.js.map +1 -1
  42. package/__internal__/src/components/Combobox/helpers.d.ts +4 -4
  43. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  44. package/__internal__/src/components/ComboboxDeprecated/helpers.d.ts +4 -4
  45. package/__internal__/src/components/ComboboxDeprecated/helpers.js.map +1 -1
  46. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.d.ts +1 -1
  47. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.d.ts +1 -1
  48. package/__internal__/src/components/ContextMenu/types.d.ts +4 -4
  49. package/__internal__/src/components/ContextMenu/types.js.map +1 -1
  50. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +1 -1
  51. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  52. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +1 -1
  53. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +1 -1
  54. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +1 -1
  55. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +1 -1
  56. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +1 -1
  57. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +1 -1
  58. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +1 -1
  59. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +1 -1
  60. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +1 -1
  61. package/__internal__/src/components/DatePicker/types.d.ts +2 -2
  62. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  63. package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.d.ts +1 -1
  64. package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.d.ts +1 -1
  65. package/__internal__/src/components/DateTime/helpers/types.d.ts +2 -2
  66. package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
  67. package/__internal__/src/components/EventInterceptor/EventInterceptor.d.ts +1 -1
  68. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.d.ts +1 -1
  69. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.js.map +1 -1
  70. package/__internal__/src/components/FieldComponents/FieldButton/FieldButton.d.ts +1 -1
  71. package/__internal__/src/components/FieldComponents/FieldClearButton/FieldClearButton.d.ts +1 -1
  72. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.d.ts +1 -1
  73. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.d.ts +1 -1
  74. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
  75. package/__internal__/src/components/FieldComponents/FieldControlLayout/types.d.ts +2 -2
  76. package/__internal__/src/components/FieldComponents/FieldControlLayout/types.js.map +1 -1
  77. package/__internal__/src/components/FieldComponents/FieldCounter/FieldCounter.d.ts +1 -1
  78. package/__internal__/src/components/FieldComponents/FieldInput/FieldInput.d.ts +1 -1
  79. package/__internal__/src/components/FieldComponents/FieldToggleVisiblePasswordButton/FieldToggleVisiblePasswordButton.d.ts +1 -1
  80. package/__internal__/src/components/FieldComponents/FieldWrapper/helpers.js +1 -1
  81. package/__internal__/src/components/FieldComponents/FieldWrapper/helpers.js.map +1 -1
  82. package/__internal__/src/components/FieldComponents/renderSide.d.ts +1 -1
  83. package/__internal__/src/components/Grid/helpers.d.ts +1 -1
  84. package/__internal__/src/components/ListCanary/ListAddItem/ListAddItem.d.ts +1 -1
  85. package/__internal__/src/components/ListCanary/ListBox/ListBox.d.ts +1 -1
  86. package/__internal__/src/components/ListCanary/ListDivider/ListDivider.d.ts +1 -1
  87. package/__internal__/src/components/ListCanary/ListGroupLabel/ListGroupLabel.d.ts +1 -1
  88. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.d.ts +1 -1
  89. package/__internal__/src/components/ListCanary/types.d.ts +3 -3
  90. package/__internal__/src/components/ListCanary/types.js.map +1 -1
  91. package/__internal__/src/components/Modal/Modal.js.map +1 -1
  92. package/__internal__/src/components/Pagination/PaginationArrow/PaginationArrow.d.ts +1 -1
  93. package/__internal__/src/components/Pagination/types.d.ts +3 -3
  94. package/__internal__/src/components/Pagination/types.js.map +1 -1
  95. package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.d.ts +1 -1
  96. package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.js.map +1 -1
  97. package/__internal__/src/components/Picture/Picture.d.ts +1 -1
  98. package/__internal__/src/components/Popover/Popover.d.ts +1 -1
  99. package/__internal__/src/components/Popover/Popover.js.map +1 -1
  100. package/__internal__/src/components/ProgressLine/helpers.d.ts +66 -56
  101. package/__internal__/src/components/ProgressLine/types.d.ts +1 -1
  102. package/__internal__/src/components/ProgressLine/types.js.map +1 -1
  103. package/__internal__/src/components/ProgressStepBar/ProgressStepBarLine/ProgressStepBarLine.d.ts +1 -1
  104. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +3 -3
  105. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  106. package/__internal__/src/components/RadioGroup/helper.d.ts +66 -56
  107. package/__internal__/src/components/RadioGroup/types.d.ts +1 -1
  108. package/__internal__/src/components/RadioGroup/types.js.map +1 -1
  109. package/__internal__/src/components/Select/helpers.d.ts +4 -4
  110. package/__internal__/src/components/Select/helpers.js.map +1 -1
  111. package/__internal__/src/components/SelectCanary/SelectControlLayout/SelectControlLayout.d.ts +1 -1
  112. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.d.ts +1 -1
  113. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.js.map +1 -1
  114. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +1 -1
  115. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -1
  116. package/__internal__/src/components/SelectCanary/SelectInput/SelectInput.d.ts +1 -1
  117. package/__internal__/src/components/SelectCanary/SelectLoader/SelectLoader.d.ts +1 -1
  118. package/__internal__/src/components/SelectCanary/SelectMultipleValue/SelectMultipleValue.d.ts +2 -2
  119. package/__internal__/src/components/SelectCanary/SelectMultipleValue/SelectMultipleValue.js.map +1 -1
  120. package/__internal__/src/components/SelectCanary/SelectRenderItem/SelectRenderItem.d.ts +1 -1
  121. package/__internal__/src/components/SelectCanary/SelectRenderItem/SelectRenderItem.js.map +1 -1
  122. package/__internal__/src/components/SelectCanary/helpers.d.ts +1 -1
  123. package/__internal__/src/components/SelectCanary/types.d.ts +1 -1
  124. package/__internal__/src/components/SelectCanary/types.js.map +1 -1
  125. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.d.ts +1 -1
  126. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +2 -2
  127. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  128. package/__internal__/src/components/SelectComponents/SelectLoader/SelectLoader.d.ts +1 -1
  129. package/__internal__/src/components/SelectComponentsDeprecated/SelectContainer/SelectContainer.d.ts +1 -1
  130. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +2 -2
  131. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map +1 -1
  132. package/__internal__/src/components/SelectComponentsDeprecated/SelectItemAll/SelectSelectAll.d.ts +1 -1
  133. package/__internal__/src/components/SelectComponentsDeprecated/SelectLoader/SelectLoader.d.ts +1 -1
  134. package/__internal__/src/components/SelectDeprecated/helpers.d.ts +4 -4
  135. package/__internal__/src/components/SelectDeprecated/helpers.js.map +1 -1
  136. package/__internal__/src/components/Sidebar/Sidebar.js.map +1 -1
  137. package/__internal__/src/components/Skeleton/SkeletonBrick/SkeletonBrick.d.ts +1 -1
  138. package/__internal__/src/components/Skeleton/SkeletonCircle/SkeletonCircle.d.ts +1 -1
  139. package/__internal__/src/components/Slider/SliderInput/SliderInput.d.ts +1 -1
  140. package/__internal__/src/components/Slider/SliderLine/SliderLine.d.ts +1 -1
  141. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.d.ts +1 -1
  142. package/__internal__/src/components/Slider/helper.d.ts +1 -1
  143. package/__internal__/src/components/Slider/helper.js.map +1 -1
  144. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.d.ts +1 -1
  145. package/__internal__/src/components/SnackBar/helper.d.ts +67 -57
  146. package/__internal__/src/components/SnackBar/types.d.ts +2 -2
  147. package/__internal__/src/components/SnackBar/types.js.map +1 -1
  148. package/__internal__/src/components/Steps/helper.d.ts +66 -56
  149. package/__internal__/src/components/Steps/types.d.ts +1 -1
  150. package/__internal__/src/components/Steps/types.js.map +1 -1
  151. package/__internal__/src/components/StepsCanary/helper.d.ts +66 -56
  152. package/__internal__/src/components/StepsCanary/types.d.ts +1 -1
  153. package/__internal__/src/components/StepsCanary/types.js.map +1 -1
  154. package/__internal__/src/components/Switch/Switch.d.ts +2 -1
  155. package/__internal__/src/components/Switch/Switch.js +1 -1
  156. package/__internal__/src/components/Switch/Switch.js.map +1 -1
  157. package/__internal__/src/components/Switch/types.d.ts +1 -0
  158. package/__internal__/src/components/Switch/types.js.map +1 -1
  159. package/__internal__/src/components/SwitchGroup/helpers.d.ts +66 -56
  160. package/__internal__/src/components/SwitchGroup/types.d.ts +1 -1
  161. package/__internal__/src/components/SwitchGroup/types.js.map +1 -1
  162. package/__internal__/src/components/Table/Cell/TableCell.d.ts +1 -1
  163. package/__internal__/src/components/Table/Cell/TableCell.js.map +1 -1
  164. package/__internal__/src/components/Table/Header/TableHeader.d.ts +1 -1
  165. package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
  166. package/__internal__/src/components/Table/Resizer/TableResizer.d.ts +1 -1
  167. package/__internal__/src/components/Table/Resizer/TableResizer.js.map +1 -1
  168. package/__internal__/src/components/Table/Table.d.ts +1 -1
  169. package/__internal__/src/components/Table/Table.js.map +1 -1
  170. package/__internal__/src/components/Table/__mock__/data.mock.d.ts +1 -1
  171. package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
  172. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.d.ts +1 -1
  173. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -1
  174. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.d.ts +1 -1
  175. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
  176. package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.d.ts +1 -1
  177. package/__internal__/src/components/Tabs/helpers.d.ts +199 -169
  178. package/__internal__/src/components/Tabs/types.d.ts +4 -4
  179. package/__internal__/src/components/Tabs/types.js.map +1 -1
  180. package/__internal__/src/components/Tag/Tag.d.ts +1 -1
  181. package/__internal__/src/components/Tag/Tag.js.map +1 -1
  182. package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
  183. package/__internal__/src/components/TextField/TextField.d.ts +1 -1
  184. package/__internal__/src/components/TextField/types.d.ts +1 -1
  185. package/__internal__/src/components/TextField/types.js.map +1 -1
  186. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js +1 -1
  187. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js.map +1 -1
  188. package/__internal__/src/components/TextFieldCanary/types.d.ts +2 -2
  189. package/__internal__/src/components/TextFieldCanary/types.js.map +1 -1
  190. package/__internal__/src/components/ThemeToggler/ThemeToggler.js +1 -1
  191. package/__internal__/src/components/ThemeToggler/ThemeToggler.js.map +1 -1
  192. package/__internal__/src/components/ThemeToggler/helpers.d.ts +66 -56
  193. package/__internal__/src/components/ThemeToggler/types.d.ts +1 -1
  194. package/__internal__/src/components/ThemeToggler/types.js.map +1 -1
  195. package/__internal__/src/components/Timer/Timer.d.ts +1 -1
  196. package/__internal__/src/components/Tooltip/Tooltip.d.ts +1 -1
  197. package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.d.ts +1 -1
  198. package/__internal__/src/components/UserSelect/helpers.d.ts +4 -4
  199. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  200. package/__internal__/src/components/UserSelectDeprecated/helpers.d.ts +4 -4
  201. package/__internal__/src/components/UserSelectDeprecated/helpers.js.map +1 -1
  202. package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi_size_m.d.ts +1 -1
  203. package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi_size_s.d.ts +1 -1
  204. package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp_size_m.d.ts +1 -1
  205. package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp_size_s.d.ts +1 -1
  206. package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv_size_m.d.ts +1 -1
  207. package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv_size_s.d.ts +1 -1
  208. package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc_size_m.d.ts +1 -1
  209. package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc_size_s.d.ts +1 -1
  210. package/__internal__/src/fileIcons/FileIconExe/FileIconExe_size_m.d.ts +1 -1
  211. package/__internal__/src/fileIcons/FileIconExe/FileIconExe_size_s.d.ts +1 -1
  212. package/__internal__/src/fileIcons/FileIconGif/FileIconGif_size_m.d.ts +1 -1
  213. package/__internal__/src/fileIcons/FileIconGif/FileIconGif_size_s.d.ts +1 -1
  214. package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg_size_m.d.ts +1 -1
  215. package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg_size_s.d.ts +1 -1
  216. package/__internal__/src/fileIcons/FileIconJson/FileIconJson_size_m.d.ts +1 -1
  217. package/__internal__/src/fileIcons/FileIconJson/FileIconJson_size_s.d.ts +1 -1
  218. package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading_size_m.d.ts +1 -1
  219. package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading_size_s.d.ts +1 -1
  220. package/__internal__/src/fileIcons/FileIconMov/FileIconMov_size_m.d.ts +1 -1
  221. package/__internal__/src/fileIcons/FileIconMov/FileIconMov_size_s.d.ts +1 -1
  222. package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3_size_m.d.ts +1 -1
  223. package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3_size_s.d.ts +1 -1
  224. package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4_size_m.d.ts +1 -1
  225. package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4_size_s.d.ts +1 -1
  226. package/__internal__/src/fileIcons/FileIconMsg/FileIconMsg_size_m.d.ts +1 -1
  227. package/__internal__/src/fileIcons/FileIconMsg/FileIconMsg_size_s.d.ts +1 -1
  228. package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf_size_m.d.ts +1 -1
  229. package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf_size_s.d.ts +1 -1
  230. package/__internal__/src/fileIcons/FileIconPng/FileIconPng_size_m.d.ts +1 -1
  231. package/__internal__/src/fileIcons/FileIconPng/FileIconPng_size_s.d.ts +1 -1
  232. package/__internal__/src/fileIcons/FileIconPpt/FileIconPpt_size_m.d.ts +1 -1
  233. package/__internal__/src/fileIcons/FileIconPpt/FileIconPpt_size_s.d.ts +1 -1
  234. package/__internal__/src/fileIcons/FileIconRar/FileIconRar_size_m.d.ts +1 -1
  235. package/__internal__/src/fileIcons/FileIconRar/FileIconRar_size_s.d.ts +1 -1
  236. package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf_size_m.d.ts +1 -1
  237. package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf_size_s.d.ts +1 -1
  238. package/__internal__/src/fileIcons/FileIconSvg/FileIconSvg_size_m.d.ts +1 -1
  239. package/__internal__/src/fileIcons/FileIconSvg/FileIconSvg_size_s.d.ts +1 -1
  240. package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff_size_m.d.ts +1 -1
  241. package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff_size_s.d.ts +1 -1
  242. package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt_size_m.d.ts +1 -1
  243. package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt_size_s.d.ts +1 -1
  244. package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined_size_m.d.ts +1 -1
  245. package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined_size_s.d.ts +1 -1
  246. package/__internal__/src/fileIcons/FileIconVsd/FileIconVsd_size_m.d.ts +1 -1
  247. package/__internal__/src/fileIcons/FileIconVsd/FileIconVsd_size_s.d.ts +1 -1
  248. package/__internal__/src/fileIcons/FileIconWav/FileIconWav_size_m.d.ts +1 -1
  249. package/__internal__/src/fileIcons/FileIconWav/FileIconWav_size_s.d.ts +1 -1
  250. package/__internal__/src/fileIcons/FileIconXls/FileIconXls_size_m.d.ts +1 -1
  251. package/__internal__/src/fileIcons/FileIconXls/FileIconXls_size_s.d.ts +1 -1
  252. package/__internal__/src/fileIcons/FileIconZip/FileIconZip_size_m.d.ts +1 -1
  253. package/__internal__/src/fileIcons/FileIconZip/FileIconZip_size_s.d.ts +1 -1
  254. package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
  255. package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
  256. package/__internal__/src/hooks/useForkRef/useForkRef.d.ts +1 -1
  257. package/__internal__/src/responsesImages/ResponsesImage403/ResponsesImage403Svg.d.ts +1 -1
  258. package/__internal__/src/responsesImages/ResponsesImage404/ResponsesImage404Svg.d.ts +1 -1
  259. package/__internal__/src/responsesImages/ResponsesImage500/ResponsesImage500Svg.d.ts +1 -1
  260. package/__internal__/src/responsesImages/ResponsesImage503/ResponsesImage503Svg.d.ts +1 -1
  261. package/__internal__/src/responsesImages/ResponsesImageConnectionError/ResponsesImageConnectionErrorSvg.d.ts +1 -1
  262. package/__internal__/src/responsesImages/ResponsesImageDeleted/ResponsesImageDeletedSvg.d.ts +1 -1
  263. package/__internal__/src/responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBoxSvg.d.ts +1 -1
  264. package/__internal__/src/responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPocketsSvg.d.ts +1 -1
  265. package/__internal__/src/responsesImages/ResponsesImageExit/ResponsesImageExitSvg.d.ts +1 -1
  266. package/__internal__/src/responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFoundSvg.d.ts +1 -1
  267. package/__internal__/src/responsesImages/ResponsesImageSuccess/ResponsesImageSuccessSvg.d.ts +1 -1
  268. package/__internal__/src/uiKit/components/Image/Image.d.ts +1 -1
  269. package/__internal__/src/utils/state/withCtx/withCtx.js.map +1 -1
  270. package/__internal__/src/utils/types/PropsWithAsAttributes.d.ts +2 -2
  271. package/__internal__/src/utils/types/PropsWithAsAttributes.js.map +1 -1
  272. package/package.json +1 -1
@@ -11,5 +11,5 @@ type FieldButtonProps = Omit<FieldControlLayoutProps, 'leftSide' | 'rightSide'>
11
11
  onDropdownButton?: (e: React.SyntheticEvent<Element, Event>) => void;
12
12
  iconClear?: IconComponent;
13
13
  };
14
- export declare const SelectControlLayout: React.ForwardRefExoticComponent<Pick<FieldButtonProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "view" | "form" | "separator" | "status" | "key" | "disabled" | "focused" | "onClear" | "leftSlotsRefs" | "rightSlotsRefs" | "alignSlots" | "iconClear" | "openAtom" | "focusAtom" | "onDropdownButton" | "clearButtonAtom"> & React.RefAttributes<HTMLDivElement>>;
14
+ export declare const SelectControlLayout: React.ForwardRefExoticComponent<Omit<FieldButtonProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
15
15
  export {};
@@ -14,6 +14,6 @@ type SelectCreateButtonProps = PropsWithHTMLAttributesAndRef<{
14
14
  highlightedIndexAtom: AtomMut<number>;
15
15
  }, HTMLDivElement>;
16
16
  export declare const cnSelectCreateButton: import("@bem-react/classname").ClassNameFormatter;
17
- type SelectCreateButtonComponent = (props: SelectCreateButtonProps) => JSX.Element | null;
17
+ type SelectCreateButtonComponent = (props: SelectCreateButtonProps) => React.ReactNode | null;
18
18
  export declare const SelectCreateButton: SelectCreateButtonComponent;
19
19
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SelectCreateButton.js","names":["useAtom","React","forwardRef","ListAddItem","cnCanary","cn","cnSelectCreateButton","labelForCreateDefault","label","SelectCreateButton","props","ref","className","labelForCreate","inputValueAtom","index","size","indent","highlightedIndexAtom","highlightIndex","otherProps","ctx","highlightedIndex","spy","hovered","inputValue"],"sources":["../../../../../../src/components/SelectCanary/SelectCreateButton/SelectCreateButton.tsx"],"sourcesContent":["import './SelectCreateButton.css';\n\nimport { AtomMut } from '@reatom/framework';\nimport { useAtom } from '@reatom/npm-react';\nimport React, { forwardRef } from 'react';\n\nimport { FieldPropSize } from '##/components/FieldComponents';\nimport { ListAddItem } from '##/components/ListCanary';\nimport { cnCanary as cn } from '##/utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\ntype LabelForCreate =\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n\ntype SelectCreateButtonProps = PropsWithHTMLAttributesAndRef<\n {\n labelForCreate?: LabelForCreate;\n inputValueAtom: AtomMut<string>;\n size: FieldPropSize;\n indent: 'normal' | 'increased';\n index: number;\n highlightIndex: (index: number) => void;\n highlightedIndexAtom: AtomMut<number>;\n },\n HTMLDivElement\n>;\n\nexport const cnSelectCreateButton = cn('SelectCreateButton');\n\nconst labelForCreateDefault: LabelForCreate = (label) => (\n <span className={cnSelectCreateButton('CreateLabel')}>\n {label ? (\n <>\n Добавить <b>«{label}»</b>\n </>\n ) : (\n 'Добавить элемент'\n )}\n </span>\n);\n\ntype SelectCreateButtonComponent = (\n props: SelectCreateButtonProps,\n) => JSX.Element | null;\n\nexport const SelectCreateButton: SelectCreateButtonComponent = forwardRef(\n (props, ref) => {\n const {\n className,\n labelForCreate = labelForCreateDefault,\n inputValueAtom,\n index,\n size,\n indent,\n highlightedIndexAtom,\n highlightIndex,\n ...otherProps\n } = props;\n\n const [hovered] = useAtom((ctx) => {\n const highlightedIndex = ctx.spy(highlightedIndexAtom);\n return index === highlightedIndex;\n });\n\n const [inputValue] = useAtom(inputValueAtom);\n\n return (\n <ListAddItem\n {...otherProps}\n ref={ref}\n className={cnSelectCreateButton(null, [className])}\n role=\"option\"\n active={hovered}\n size={size}\n innerOffset={indent}\n label={\n typeof labelForCreate === 'function'\n ? labelForCreate(inputValue)\n : labelForCreate\n }\n onMouseEnter={() => {\n highlightIndex(index);\n }}\n underLine\n />\n );\n },\n);\n"],"mappings":"oRAAA,iCAGA,OAASA,OAAT,KAAwB,mBAAxB,CACA,MAAOC,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAGA,OAASC,WAAT,wBACA,OAASC,QAAQ,GAAIC,GAArB,0BAoBA,MAAO,IAAMC,qBAAoB,CAAGD,EAAE,CAAC,oBAAD,CAA/B,CAEP,GAAME,sBAAqC,CAAG,SAACC,CAAD,QAC5C,6BAAM,SAAS,CAAEF,oBAAoB,CAAC,aAAD,CAArC,EACGE,CAAK,CACJ,4FACW,oCAAKA,CAAL,QADX,CADI,CAKJ,6FANJ,CAD4C,CAA9C,CAgBA,MAAO,IAAMC,mBAA+C,CAAGP,UAAU,CACvE,SAACQ,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAWVF,CAXU,CAEZE,SAFY,GAWVF,CAXU,CAGZG,cAHY,CAGZA,CAHY,YAGKN,qBAHL,GAIZO,CAJY,CAWVJ,CAXU,CAIZI,cAJY,CAKZC,CALY,CAWVL,CAXU,CAKZK,KALY,CAMZC,CANY,CAWVN,CAXU,CAMZM,IANY,CAOZC,CAPY,CAWVP,CAXU,CAOZO,MAPY,CAQZC,CARY,CAWVR,CAXU,CAQZQ,oBARY,CASZC,CATY,CAWVT,CAXU,CASZS,cATY,CAUTC,CAVS,0BAWVV,CAXU,cAaIV,OAAO,CAAC,SAACqB,CAAD,CAAS,CACjC,GAAMC,EAAgB,CAAGD,CAAG,CAACE,GAAJ,CAAQL,CAAR,CAAzB,CACA,MAAOH,EAAK,GAAKO,CAClB,CAHwB,CAbX,uBAaPE,CAbO,QAkBOxB,OAAO,CAACc,CAAD,CAlBd,uBAkBPW,CAlBO,MAoBd,MACE,qBAAC,WAAD,kBACML,CADN,EAEE,GAAG,CAAET,CAFP,CAGE,SAAS,CAAEL,oBAAoB,CAAC,IAAD,CAAO,CAACM,CAAD,CAAP,CAHjC,CAIE,IAAI,CAAC,QAJP,CAKE,MAAM,CAAEY,CALV,CAME,IAAI,CAAER,CANR,CAOE,WAAW,CAAEC,CAPf,CAQE,KAAK,CACuB,UAA1B,QAAOJ,EAAP,CACIA,CAAc,CAACY,CAAD,CADlB,CAEIZ,CAXR,CAaE,YAAY,CAAE,uBAAM,CAClBM,CAAc,CAACJ,CAAD,CACf,CAfH,CAgBE,SAAS,GAhBX,GAmBH,CAzCsE,CAAlE"}
1
+ {"version":3,"file":"SelectCreateButton.js","names":["useAtom","React","forwardRef","ListAddItem","cnCanary","cn","cnSelectCreateButton","labelForCreateDefault","label","SelectCreateButton","props","ref","className","labelForCreate","inputValueAtom","index","size","indent","highlightedIndexAtom","highlightIndex","otherProps","ctx","highlightedIndex","spy","hovered","inputValue"],"sources":["../../../../../../src/components/SelectCanary/SelectCreateButton/SelectCreateButton.tsx"],"sourcesContent":["import './SelectCreateButton.css';\n\nimport { AtomMut } from '@reatom/framework';\nimport { useAtom } from '@reatom/npm-react';\nimport React, { forwardRef } from 'react';\n\nimport { FieldPropSize } from '##/components/FieldComponents';\nimport { ListAddItem } from '##/components/ListCanary';\nimport { cnCanary as cn } from '##/utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\ntype LabelForCreate =\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n\ntype SelectCreateButtonProps = PropsWithHTMLAttributesAndRef<\n {\n labelForCreate?: LabelForCreate;\n inputValueAtom: AtomMut<string>;\n size: FieldPropSize;\n indent: 'normal' | 'increased';\n index: number;\n highlightIndex: (index: number) => void;\n highlightedIndexAtom: AtomMut<number>;\n },\n HTMLDivElement\n>;\n\nexport const cnSelectCreateButton = cn('SelectCreateButton');\n\nconst labelForCreateDefault: LabelForCreate = (label) => (\n <span className={cnSelectCreateButton('CreateLabel')}>\n {label ? (\n <>\n Добавить <b>«{label}»</b>\n </>\n ) : (\n 'Добавить элемент'\n )}\n </span>\n);\n\ntype SelectCreateButtonComponent = (\n props: SelectCreateButtonProps,\n) => React.ReactNode | null;\n\nexport const SelectCreateButton: SelectCreateButtonComponent = forwardRef(\n (props, ref) => {\n const {\n className,\n labelForCreate = labelForCreateDefault,\n inputValueAtom,\n index,\n size,\n indent,\n highlightedIndexAtom,\n highlightIndex,\n ...otherProps\n } = props;\n\n const [hovered] = useAtom((ctx) => {\n const highlightedIndex = ctx.spy(highlightedIndexAtom);\n return index === highlightedIndex;\n });\n\n const [inputValue] = useAtom(inputValueAtom);\n\n return (\n <ListAddItem\n {...otherProps}\n ref={ref}\n className={cnSelectCreateButton(null, [className])}\n role=\"option\"\n active={hovered}\n size={size}\n innerOffset={indent}\n label={\n typeof labelForCreate === 'function'\n ? labelForCreate(inputValue)\n : labelForCreate\n }\n onMouseEnter={() => {\n highlightIndex(index);\n }}\n underLine\n />\n );\n },\n);\n"],"mappings":"oRAAA,iCAGA,OAASA,OAAT,KAAwB,mBAAxB,CACA,MAAOC,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAGA,OAASC,WAAT,wBACA,OAASC,QAAQ,GAAIC,GAArB,0BAoBA,MAAO,IAAMC,qBAAoB,CAAGD,EAAE,CAAC,oBAAD,CAA/B,CAEP,GAAME,sBAAqC,CAAG,SAACC,CAAD,QAC5C,6BAAM,SAAS,CAAEF,oBAAoB,CAAC,aAAD,CAArC,EACGE,CAAK,CACJ,4FACW,oCAAKA,CAAL,QADX,CADI,CAKJ,6FANJ,CAD4C,CAA9C,CAgBA,MAAO,IAAMC,mBAA+C,CAAGP,UAAU,CACvE,SAACQ,CAAD,CAAQC,CAAR,CAAgB,IAEZC,EAFY,CAWVF,CAXU,CAEZE,SAFY,GAWVF,CAXU,CAGZG,cAHY,CAGZA,CAHY,YAGKN,qBAHL,GAIZO,CAJY,CAWVJ,CAXU,CAIZI,cAJY,CAKZC,CALY,CAWVL,CAXU,CAKZK,KALY,CAMZC,CANY,CAWVN,CAXU,CAMZM,IANY,CAOZC,CAPY,CAWVP,CAXU,CAOZO,MAPY,CAQZC,CARY,CAWVR,CAXU,CAQZQ,oBARY,CASZC,CATY,CAWVT,CAXU,CASZS,cATY,CAUTC,CAVS,0BAWVV,CAXU,cAaIV,OAAO,CAAC,SAACqB,CAAD,CAAS,CACjC,GAAMC,EAAgB,CAAGD,CAAG,CAACE,GAAJ,CAAQL,CAAR,CAAzB,CACA,MAAOH,EAAK,GAAKO,CAClB,CAHwB,CAbX,uBAaPE,CAbO,QAkBOxB,OAAO,CAACc,CAAD,CAlBd,uBAkBPW,CAlBO,MAoBd,MACE,qBAAC,WAAD,kBACML,CADN,EAEE,GAAG,CAAET,CAFP,CAGE,SAAS,CAAEL,oBAAoB,CAAC,IAAD,CAAO,CAACM,CAAD,CAAP,CAHjC,CAIE,IAAI,CAAC,QAJP,CAKE,MAAM,CAAEY,CALV,CAME,IAAI,CAAER,CANR,CAOE,WAAW,CAAEC,CAPf,CAQE,KAAK,CACuB,UAA1B,QAAOJ,EAAP,CACIA,CAAc,CAACY,CAAD,CADlB,CAEIZ,CAXR,CAaE,YAAY,CAAE,uBAAM,CAClBM,CAAc,CAACJ,CAAD,CACf,CAfH,CAgBE,SAAS,GAhBX,GAmBH,CAzCsE,CAAlE"}
@@ -49,6 +49,6 @@ type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
49
49
  dropdownZIndexAtom: AtomMut<number | undefined>;
50
50
  selectAllLabel: string;
51
51
  }>;
52
- type SelectDropdownComponent = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
52
+ type SelectDropdownComponent = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactNode | null;
53
53
  export declare const SelectDropdown: SelectDropdownComponent;
54
54
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SelectDropdown.js","names":["useAtom","React","Fragment","memo","useMemo","ListItem","ListLoader","mapVerticalSpace","isNotOptionForCreate","isOptionForCreate","isOptionForSelectAll","forkRef","useForkRef","useVirtualScroll","cnMixScrollBar","cnMixSpace","cnCanary","cn","fabricIndex","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","SelectPopover","SelectRenderItem","selectDropdownForm","defaultSelectDropdownPropForm","cnSelectDropdown","getLengthElements","elements","length","index","element","items","isVisible","slice","SelectDropdown","props","controlRef","size","getOptionActions","dropdownRefProp","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItemsAtom","form","openAtom","offset","offsetProp","renderItem","visibleItemsAtom","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","highlightedIndexAtom","valueAtom","getItemKeyAtom","highlightIndex","onCreate","onChange","onChangeAll","inputValueAtom","groupsCounterAtom","dropdownZIndexAtom","selectAllLabel","otherProps","visibleItems","hasItems","isListMount","setIsListMount","getItemKey","indent","isListShowed","filter","group","Array","isArray","lengthForVirtualScroll","isActive","spaceTop","sliceHookProp","listRefs","scrollElementRef","scrollContainerRef","getIndex","getVirtualIndex","zIndex","pV","marginTop","map","key","virtualIndex","item"],"sources":["../../../../../../src/components/SelectCanary/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport { AtomMut } from '@reatom/framework';\nimport { useAtom } from '@reatom/npm-react';\nimport React, { Fragment, memo, useMemo } from 'react';\n\nimport { FieldPropSize } from '##/components/FieldComponents';\nimport {\n ListItem,\n ListLoader,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { PopoverPropOffset } from '##/components/Popover';\nimport {\n GetOptionPropsResult,\n isNotOptionForCreate,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '##/components/SelectCanary/useSelect';\nimport { forkRef, useForkRef } from '##/hooks/useForkRef';\nimport { useVirtualScroll } from '##/hooks/useVirtualScroll';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cnCanary as 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 { SelectPopover } from '../SelectPopover';\nimport { SelectRenderItem } from '../SelectRenderItem';\nimport { CountedGroup } from '../types';\n\nexport const selectDropdownForm = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownForm[number];\nexport const defaultSelectDropdownPropForm = selectDropdownForm[0];\n\ntype RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: FieldPropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionActions(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n openAtom: AtomMut<boolean>;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;\n highlightedIndexAtom: AtomMut<number>;\n visibleItemsAtom: AtomMut<(OptionForCreate | CountedGroup<ITEM, GROUP>)[]>;\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?:\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItemsAtom: AtomMut<boolean>;\n itemsRefs: React.RefObject<HTMLDivElement>[];\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n valueAtom: AtomMut<ITEM[]>;\n getItemKeyAtom: AtomMut<(item: ITEM) => string | number>;\n onChangeAll: (e: React.SyntheticEvent, items: ITEM[]) => void;\n highlightIndex: (index: number) => void;\n onCreate: (e: React.SyntheticEvent) => void;\n onChange: (e: React.SyntheticEvent, item: ITEM) => void;\n inputValueAtom: AtomMut<string>;\n groupsCounterAtom: AtomMut<Record<string, [number, number]>>;\n dropdownZIndexAtom: AtomMut<number | undefined>;\n selectAllLabel: string;\n}>;\n\ntype SelectDropdownComponent = <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 }\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: SelectDropdownComponent = memo((props) => {\n const {\n controlRef,\n size,\n getOptionActions,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItemsAtom,\n form,\n openAtom,\n offset: offsetProp = 'none',\n renderItem,\n visibleItemsAtom,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n highlightedIndexAtom,\n valueAtom,\n getItemKeyAtom,\n highlightIndex,\n onCreate,\n onChange,\n onChangeAll,\n inputValueAtom,\n groupsCounterAtom,\n dropdownZIndexAtom,\n selectAllLabel,\n ...otherProps\n } = props;\n\n const [visibleItems] = useAtom(visibleItemsAtom);\n\n const [hasItems] = useAtom(hasItemsAtom);\n const [isListMount, setIsListMount] = useAtom(false);\n const [getItemKey] = useAtom(getItemKeyAtom);\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 && isListMount,\n onScrollToBottom,\n });\n\n const scrollContainerRef = useForkRef([scrollElementRef, dropdownRefProp]);\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n const [zIndex] = useAtom(dropdownZIndexAtom);\n\n return (\n <SelectPopover\n {...otherProps}\n anchorRef={controlRef}\n offset={offset}\n role=\"listbox\"\n className={cnSelectDropdown()}\n size={size}\n controlRef={controlRef}\n openAtom={openAtom}\n form={form}\n onMount={setIsListMount}\n style={{ zIndex }}\n >\n {isListMount && (\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar({ size: 'xs' }),\n ])}\n ref={scrollContainerRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List')}\n key={cnSelectDropdown('List')}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n key={cnSelectDropdown('List', { key: 'CreateButton' })}\n labelForCreate={labelForCreate}\n indent={indent}\n ref={itemsRefs[index]}\n onClick={onCreate}\n highlightedIndexAtom={highlightedIndexAtom}\n inputValueAtom={inputValueAtom}\n highlightIndex={highlightIndex}\n index={index}\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}-Label`}\n />\n )}\n {group.items.map((item) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n label={selectAllLabel}\n groupId={group.key}\n highlightedIndexAtom={highlightedIndexAtom}\n groupsCounterAtom={groupsCounterAtom}\n key={cnSelectDropdown('SelectItemAll', {\n group: group.key,\n })}\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionActions({\n index,\n item,\n })}\n index={index}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectRenderItem\n key={cnSelectDropdown('SelectRenderItem', {\n group: group.key,\n item: getItemKey(item),\n })}\n getItemKeyAtom={getItemKeyAtom}\n highlightedIndexAtom={highlightedIndexAtom}\n rootRef={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n renderItem={renderItem}\n item={item}\n {...getOptionActions({\n index,\n item,\n })}\n index={index}\n valueAtom={valueAtom}\n />\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n )}\n </SelectPopover>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"SelectDropdown.js","names":["useAtom","React","Fragment","memo","useMemo","ListItem","ListLoader","mapVerticalSpace","isNotOptionForCreate","isOptionForCreate","isOptionForSelectAll","forkRef","useForkRef","useVirtualScroll","cnMixScrollBar","cnMixSpace","cnCanary","cn","fabricIndex","SelectCreateButton","SelectGroupLabel","SelectItemAll","SelectLoader","SelectPopover","SelectRenderItem","selectDropdownForm","defaultSelectDropdownPropForm","cnSelectDropdown","getLengthElements","elements","length","index","element","items","isVisible","slice","SelectDropdown","props","controlRef","size","getOptionActions","dropdownRefProp","dropdownRef","labelForCreate","className","labelForNotFound","labelForEmptyItems","hasItemsAtom","form","openAtom","offset","offsetProp","renderItem","visibleItemsAtom","isLoading","getGroupLabel","notFound","itemsRefs","virtualScroll","onScrollToBottom","highlightedIndexAtom","valueAtom","getItemKeyAtom","highlightIndex","onCreate","onChange","onChangeAll","inputValueAtom","groupsCounterAtom","dropdownZIndexAtom","selectAllLabel","otherProps","visibleItems","hasItems","isListMount","setIsListMount","getItemKey","indent","isListShowed","filter","group","Array","isArray","lengthForVirtualScroll","isActive","spaceTop","sliceHookProp","listRefs","scrollElementRef","scrollContainerRef","getIndex","getVirtualIndex","zIndex","pV","marginTop","map","key","virtualIndex","item"],"sources":["../../../../../../src/components/SelectCanary/SelectDropdown/SelectDropdown.tsx"],"sourcesContent":["import './SelectDropdown.css';\n\nimport { AtomMut } from '@reatom/framework';\nimport { useAtom } from '@reatom/npm-react';\nimport React, { Fragment, memo, useMemo } from 'react';\n\nimport { FieldPropSize } from '##/components/FieldComponents';\nimport {\n ListItem,\n ListLoader,\n mapVerticalSpace,\n} from '##/components/ListCanary';\nimport { PopoverPropOffset } from '##/components/Popover';\nimport {\n GetOptionPropsResult,\n isNotOptionForCreate,\n isOptionForCreate,\n isOptionForSelectAll,\n OptionForCreate,\n OptionProps,\n} from '##/components/SelectCanary/useSelect';\nimport { forkRef, useForkRef } from '##/hooks/useForkRef';\nimport { useVirtualScroll } from '##/hooks/useVirtualScroll';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnMixSpace } from '##/mixs/MixSpace';\nimport { cnCanary as 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 { SelectPopover } from '../SelectPopover';\nimport { SelectRenderItem } from '../SelectRenderItem';\nimport { CountedGroup } from '../types';\n\nexport const selectDropdownForm = ['default', 'brick', 'round'] as const;\nexport type SelectDropdownPropForm = typeof selectDropdownForm[number];\nexport const defaultSelectDropdownPropForm = selectDropdownForm[0];\n\ntype RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\ntype Props<ITEM, GROUP> = PropsWithJsxAttributes<{\n size: FieldPropSize;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n dropdownRef: React.Ref<HTMLDivElement>;\n getOptionActions(props: OptionProps<ITEM>): GetOptionPropsResult;\n form: SelectDropdownPropForm;\n openAtom: AtomMut<boolean>;\n offset?: PopoverPropOffset | 'none';\n isLoading?: boolean;\n renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;\n highlightedIndexAtom: AtomMut<number>;\n visibleItemsAtom: AtomMut<(OptionForCreate | CountedGroup<ITEM, GROUP>)[]>;\n getGroupLabel?: (group: GROUP) => string;\n labelForCreate?:\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n labelForNotFound?: string;\n labelForEmptyItems?: string;\n notFound?: boolean;\n hasItemsAtom: AtomMut<boolean>;\n itemsRefs: React.RefObject<HTMLDivElement>[];\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n valueAtom: AtomMut<ITEM[]>;\n getItemKeyAtom: AtomMut<(item: ITEM) => string | number>;\n onChangeAll: (e: React.SyntheticEvent, items: ITEM[]) => void;\n highlightIndex: (index: number) => void;\n onCreate: (e: React.SyntheticEvent) => void;\n onChange: (e: React.SyntheticEvent, item: ITEM) => void;\n inputValueAtom: AtomMut<string>;\n groupsCounterAtom: AtomMut<Record<string, [number, number]>>;\n dropdownZIndexAtom: AtomMut<number | undefined>;\n selectAllLabel: string;\n}>;\n\ntype SelectDropdownComponent = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactNode | 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 }\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: SelectDropdownComponent = memo((props) => {\n const {\n controlRef,\n size,\n getOptionActions,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItemsAtom,\n form,\n openAtom,\n offset: offsetProp = 'none',\n renderItem,\n visibleItemsAtom,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n highlightedIndexAtom,\n valueAtom,\n getItemKeyAtom,\n highlightIndex,\n onCreate,\n onChange,\n onChangeAll,\n inputValueAtom,\n groupsCounterAtom,\n dropdownZIndexAtom,\n selectAllLabel,\n ...otherProps\n } = props;\n\n const [visibleItems] = useAtom(visibleItemsAtom);\n\n const [hasItems] = useAtom(hasItemsAtom);\n const [isListMount, setIsListMount] = useAtom(false);\n const [getItemKey] = useAtom(getItemKeyAtom);\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 && isListMount,\n onScrollToBottom,\n });\n\n const scrollContainerRef = useForkRef([scrollElementRef, dropdownRefProp]);\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n const [zIndex] = useAtom(dropdownZIndexAtom);\n\n return (\n <SelectPopover\n {...otherProps}\n anchorRef={controlRef}\n offset={offset}\n role=\"listbox\"\n className={cnSelectDropdown()}\n size={size}\n controlRef={controlRef}\n openAtom={openAtom}\n form={form}\n onMount={setIsListMount}\n style={{ zIndex }}\n >\n {isListMount && (\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar({ size: 'xs' }),\n ])}\n ref={scrollContainerRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List')}\n key={cnSelectDropdown('List')}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n key={cnSelectDropdown('List', { key: 'CreateButton' })}\n labelForCreate={labelForCreate}\n indent={indent}\n ref={itemsRefs[index]}\n onClick={onCreate}\n highlightedIndexAtom={highlightedIndexAtom}\n inputValueAtom={inputValueAtom}\n highlightIndex={highlightIndex}\n index={index}\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}-Label`}\n />\n )}\n {group.items.map((item) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n label={selectAllLabel}\n groupId={group.key}\n highlightedIndexAtom={highlightedIndexAtom}\n groupsCounterAtom={groupsCounterAtom}\n key={cnSelectDropdown('SelectItemAll', {\n group: group.key,\n })}\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionActions({\n index,\n item,\n })}\n index={index}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectRenderItem\n key={cnSelectDropdown('SelectRenderItem', {\n group: group.key,\n item: getItemKey(item),\n })}\n getItemKeyAtom={getItemKeyAtom}\n highlightedIndexAtom={highlightedIndexAtom}\n rootRef={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n renderItem={renderItem}\n item={item}\n {...getOptionActions({\n index,\n item,\n })}\n index={index}\n valueAtom={valueAtom}\n />\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n )}\n </SelectPopover>\n );\n});\n"],"mappings":"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"}
@@ -3,5 +3,5 @@ import { PropsWithJsxAttributes } from '../../../utils/types/PropsWithJsxAttribu
3
3
  type FieldInputProps = PropsWithJsxAttributes<{
4
4
  children?: React.ReactNode;
5
5
  }, 'input'>;
6
- export declare const SelectInput: React.ForwardRefExoticComponent<Pick<FieldInputProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "type" | "form" | "pattern" | "list" | "step" | "key" | "height" | "name" | "width" | "crossOrigin" | "alt" | "src" | "autoFocus" | "disabled" | "formAction" | "formEncType" | "formMethod" | "formNoValidate" | "formTarget" | "value" | "autoComplete" | "accept" | "capture" | "checked" | "enterKeyHint" | "max" | "maxLength" | "min" | "minLength" | "multiple" | "readOnly" | "required"> & React.RefAttributes<HTMLInputElement>>;
6
+ export declare const SelectInput: React.ForwardRefExoticComponent<Omit<FieldInputProps, "ref"> & React.RefAttributes<HTMLInputElement>>;
7
7
  export {};
@@ -1,3 +1,3 @@
1
1
  import './SelectLoader.css';
2
2
  export declare const cnSelectLoader: import("@bem-react/classname").ClassNameFormatter;
3
- export declare const SelectLoader: () => JSX.Element;
3
+ export declare const SelectLoader: () => import("react/jsx-runtime").JSX.Element;
@@ -11,7 +11,7 @@ type SelectMultipleValueProps<ITEM, GROUP> = {
11
11
  inputRef?: React.Ref<HTMLInputElement>;
12
12
  onChange?: React.ChangeEventHandler<HTMLInputElement>;
13
13
  } & React.RefAttributes<HTMLDivElement>;
14
- export type SelectMultipleValueComponent = <ITEM = SelectItemDefault, GROUP = SelectGroupDefault>(props: SelectMultipleValueProps<ITEM, GROUP>) => React.ReactElement | null;
15
- export declare const SelectMultipleValueRender: <ITEM = SelectItemDefault, GROUP = SelectGroupDefault>({ propsAtom, onFocus, onBlur, onClick, renderValue, onChange, inputRef, }: SelectMultipleValueProps<ITEM, GROUP>, ref: React.Ref<HTMLDivElement>) => JSX.Element;
14
+ export type SelectMultipleValueComponent = <ITEM = SelectItemDefault, GROUP = SelectGroupDefault>(props: SelectMultipleValueProps<ITEM, GROUP>) => React.ReactNode | null;
15
+ export declare const SelectMultipleValueRender: <ITEM = SelectItemDefault, GROUP = SelectGroupDefault>({ propsAtom, onFocus, onBlur, onClick, renderValue, onChange, inputRef, }: SelectMultipleValueProps<ITEM, GROUP>, ref: React.Ref<HTMLDivElement>) => import("react/jsx-runtime").JSX.Element;
16
16
  export declare const SelectMultipleValue: SelectMultipleValueComponent;
17
17
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SelectMultipleValue.js","names":["useAtom","React","forwardRef","memo","FieldArrayValueInlineControl","cnMixScrollBar","cnCanary","cn","usePickAtom","cnSelectMultipleValue","SelectMultipleValueRender","ref","propsAtom","onFocus","onBlur","onClick","renderValue","onChange","inputRef","value","disabled","placeholder","size","input","inputDefaultValue","trackSize","SelectMultipleValue"],"sources":["../../../../../../src/components/SelectCanary/SelectMultipleValue/SelectMultipleValue.tsx"],"sourcesContent":["import { AtomMut } from '@reatom/core';\nimport { useAtom } from '@reatom/npm-react';\nimport React, { forwardRef, memo } from 'react';\n\nimport { FieldArrayValueInlineControl } from '##/components/FieldComponents';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnCanary as cn } from '##/utils/bem';\nimport { usePickAtom } from '##/utils/state';\n\nimport { PropsWithDefault } from '../defaultProps';\nimport { SelectGroupDefault, SelectItemDefault } from '../types';\n\nconst cnSelectMultipleValue = cn('SelectMultipleValue');\n\ntype SelectMultipleValueProps<ITEM, GROUP> = {\n propsAtom: AtomMut<PropsWithDefault<ITEM, GROUP, true>>;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n renderValue: (items: ITEM[]) => React.ReactNode;\n inputRef?: React.Ref<HTMLInputElement>;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n} & React.RefAttributes<HTMLDivElement>;\n\nexport type SelectMultipleValueComponent = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n props: SelectMultipleValueProps<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport const SelectMultipleValueRender = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n {\n propsAtom,\n onFocus,\n onBlur,\n onClick,\n renderValue,\n onChange,\n inputRef,\n }: SelectMultipleValueProps<ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const [{ value, disabled, placeholder, size, input, inputDefaultValue }] =\n useAtom(\n usePickAtom(propsAtom, [\n 'value',\n 'disabled',\n 'placeholder',\n 'size',\n 'input',\n 'inputDefaultValue',\n ]),\n );\n\n return (\n <FieldArrayValueInlineControl\n className={cnSelectMultipleValue(null, [\n cnMixScrollBar({ size: 'xs', trackSize: 'auto' }),\n ])}\n onFocus={onFocus}\n onBlur={onBlur}\n onClick={onClick}\n value={value || undefined}\n disabled={disabled}\n placeholder={placeholder}\n renderValue={renderValue}\n size={size}\n disableInput={input ? undefined : true}\n inputRef={inputRef}\n ref={ref}\n inputDefaultValue={input ? inputDefaultValue : undefined}\n onChange={onChange}\n />\n );\n};\n\nexport const SelectMultipleValue = memo(\n forwardRef(SelectMultipleValueRender),\n) as SelectMultipleValueComponent;\n"],"mappings":"iEACA,OAASA,OAAT,KAAwB,mBAAxB,CACA,MAAOC,MAAP,EAAgBC,UAAhB,CAA4BC,IAA5B,KAAwC,OAAxC,CAEA,OAASC,4BAAT,6BACA,OAASC,cAAT,kCACA,OAASC,QAAQ,GAAIC,GAArB,0BACA,OAASC,WAAT,4BAKA,GAAMC,sBAAqB,CAAGF,EAAE,CAAC,qBAAD,CAAhC,CAmBA,MAAO,IAAMG,0BAAyB,CAAG,WAavCC,CAbuC,CAcpC,IATDC,EASC,GATDA,SASC,CARDC,CAQC,GARDA,OAQC,CAPDC,CAOC,GAPDA,MAOC,CANDC,CAMC,GANDA,OAMC,CALDC,CAKC,GALDA,WAKC,CAJDC,CAIC,GAJDA,QAIC,CAHDC,CAGC,GAHDA,QAGC,GAEDlB,OAAO,CACLQ,WAAW,CAACI,CAAD,CAAY,CACrB,OADqB,CAErB,UAFqB,CAGrB,aAHqB,CAIrB,MAJqB,CAKrB,OALqB,CAMrB,mBANqB,CAAZ,CADN,CAFN,8BACMO,CADN,GACMA,KADN,CACaC,CADb,GACaA,QADb,CACuBC,CADvB,GACuBA,WADvB,CACoCC,CADpC,GACoCA,IADpC,CAC0CC,CAD1C,GAC0CA,KAD1C,CACiDC,CADjD,GACiDA,iBADjD,CAaH,MACE,qBAAC,4BAAD,EACE,SAAS,CAAEf,qBAAqB,CAAC,IAAD,CAAO,CACrCJ,cAAc,CAAC,CAAEiB,IAAI,CAAE,IAAR,CAAcG,SAAS,CAAE,MAAzB,CAAD,CADuB,CAAP,CADlC,CAIE,OAAO,CAAEZ,CAJX,CAKE,MAAM,CAAEC,CALV,CAME,OAAO,CAAEC,CANX,CAOE,KAAK,CAAEI,CAAK,QAPd,CAQE,QAAQ,CAAEC,CARZ,CASE,WAAW,CAAEC,CATf,CAUE,WAAW,CAAEL,CAVf,CAWE,IAAI,CAAEM,CAXR,CAYE,YAAY,EAAEC,CAAF,QAZd,CAaE,QAAQ,CAAEL,CAbZ,CAcE,GAAG,CAAEP,CAdP,CAeE,iBAAiB,CAAEY,CAAK,CAAGC,CAAH,OAf1B,CAgBE,QAAQ,CAAEP,CAhBZ,EAmBH,CA/CM,CAiDP,MAAO,IAAMS,oBAAmB,CAAGvB,IAAI,CACrCD,UAAU,CAACQ,yBAAD,CAD2B,CAAhC"}
1
+ {"version":3,"file":"SelectMultipleValue.js","names":["useAtom","React","forwardRef","memo","FieldArrayValueInlineControl","cnMixScrollBar","cnCanary","cn","usePickAtom","cnSelectMultipleValue","SelectMultipleValueRender","ref","propsAtom","onFocus","onBlur","onClick","renderValue","onChange","inputRef","value","disabled","placeholder","size","input","inputDefaultValue","trackSize","SelectMultipleValue"],"sources":["../../../../../../src/components/SelectCanary/SelectMultipleValue/SelectMultipleValue.tsx"],"sourcesContent":["import { AtomMut } from '@reatom/core';\nimport { useAtom } from '@reatom/npm-react';\nimport React, { forwardRef, memo } from 'react';\n\nimport { FieldArrayValueInlineControl } from '##/components/FieldComponents';\nimport { cnMixScrollBar } from '##/mixs/MixScrollBar';\nimport { cnCanary as cn } from '##/utils/bem';\nimport { usePickAtom } from '##/utils/state';\n\nimport { PropsWithDefault } from '../defaultProps';\nimport { SelectGroupDefault, SelectItemDefault } from '../types';\n\nconst cnSelectMultipleValue = cn('SelectMultipleValue');\n\ntype SelectMultipleValueProps<ITEM, GROUP> = {\n propsAtom: AtomMut<PropsWithDefault<ITEM, GROUP, true>>;\n onFocus?: React.FocusEventHandler<HTMLDivElement>;\n onBlur?: React.FocusEventHandler<HTMLDivElement>;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n renderValue: (items: ITEM[]) => React.ReactNode;\n inputRef?: React.Ref<HTMLInputElement>;\n onChange?: React.ChangeEventHandler<HTMLInputElement>;\n} & React.RefAttributes<HTMLDivElement>;\n\nexport type SelectMultipleValueComponent = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n props: SelectMultipleValueProps<ITEM, GROUP>,\n) => React.ReactNode | null;\n\nexport const SelectMultipleValueRender = <\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n>(\n {\n propsAtom,\n onFocus,\n onBlur,\n onClick,\n renderValue,\n onChange,\n inputRef,\n }: SelectMultipleValueProps<ITEM, GROUP>,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const [{ value, disabled, placeholder, size, input, inputDefaultValue }] =\n useAtom(\n usePickAtom(propsAtom, [\n 'value',\n 'disabled',\n 'placeholder',\n 'size',\n 'input',\n 'inputDefaultValue',\n ]),\n );\n\n return (\n <FieldArrayValueInlineControl\n className={cnSelectMultipleValue(null, [\n cnMixScrollBar({ size: 'xs', trackSize: 'auto' }),\n ])}\n onFocus={onFocus}\n onBlur={onBlur}\n onClick={onClick}\n value={value || undefined}\n disabled={disabled}\n placeholder={placeholder}\n renderValue={renderValue}\n size={size}\n disableInput={input ? undefined : true}\n inputRef={inputRef}\n ref={ref}\n inputDefaultValue={input ? inputDefaultValue : undefined}\n onChange={onChange}\n />\n );\n};\n\nexport const SelectMultipleValue = memo(\n forwardRef(SelectMultipleValueRender),\n) as SelectMultipleValueComponent;\n"],"mappings":"iEACA,OAASA,OAAT,KAAwB,mBAAxB,CACA,MAAOC,MAAP,EAAgBC,UAAhB,CAA4BC,IAA5B,KAAwC,OAAxC,CAEA,OAASC,4BAAT,6BACA,OAASC,cAAT,kCACA,OAASC,QAAQ,GAAIC,GAArB,0BACA,OAASC,WAAT,4BAKA,GAAMC,sBAAqB,CAAGF,EAAE,CAAC,qBAAD,CAAhC,CAmBA,MAAO,IAAMG,0BAAyB,CAAG,WAavCC,CAbuC,CAcpC,IATDC,EASC,GATDA,SASC,CARDC,CAQC,GARDA,OAQC,CAPDC,CAOC,GAPDA,MAOC,CANDC,CAMC,GANDA,OAMC,CALDC,CAKC,GALDA,WAKC,CAJDC,CAIC,GAJDA,QAIC,CAHDC,CAGC,GAHDA,QAGC,GAEDlB,OAAO,CACLQ,WAAW,CAACI,CAAD,CAAY,CACrB,OADqB,CAErB,UAFqB,CAGrB,aAHqB,CAIrB,MAJqB,CAKrB,OALqB,CAMrB,mBANqB,CAAZ,CADN,CAFN,8BACMO,CADN,GACMA,KADN,CACaC,CADb,GACaA,QADb,CACuBC,CADvB,GACuBA,WADvB,CACoCC,CADpC,GACoCA,IADpC,CAC0CC,CAD1C,GAC0CA,KAD1C,CACiDC,CADjD,GACiDA,iBADjD,CAaH,MACE,qBAAC,4BAAD,EACE,SAAS,CAAEf,qBAAqB,CAAC,IAAD,CAAO,CACrCJ,cAAc,CAAC,CAAEiB,IAAI,CAAE,IAAR,CAAcG,SAAS,CAAE,MAAzB,CAAD,CADuB,CAAP,CADlC,CAIE,OAAO,CAAEZ,CAJX,CAKE,MAAM,CAAEC,CALV,CAME,OAAO,CAAEC,CANX,CAOE,KAAK,CAAEI,CAAK,QAPd,CAQE,QAAQ,CAAEC,CARZ,CASE,WAAW,CAAEC,CATf,CAUE,WAAW,CAAEL,CAVf,CAWE,IAAI,CAAEM,CAXR,CAYE,YAAY,EAAEC,CAAF,QAZd,CAaE,QAAQ,CAAEL,CAbZ,CAcE,GAAG,CAAEP,CAdP,CAeE,iBAAiB,CAAEY,CAAK,CAAGC,CAAH,OAf1B,CAgBE,QAAQ,CAAEP,CAhBZ,EAmBH,CA/CM,CAiDP,MAAO,IAAMS,oBAAmB,CAAGvB,IAAI,CACrCD,UAAU,CAACQ,yBAAD,CAD2B,CAAhC"}
@@ -19,6 +19,6 @@ type SelectRenderItemProps<ITEM> = {
19
19
  valueAtom: AtomMut<ITEM[]>;
20
20
  getItemKeyAtom: AtomMut<(item: ITEM) => string | number>;
21
21
  };
22
- type SelectRenderItemComponent = <ITEM>(props: SelectRenderItemProps<ITEM>) => JSX.Element;
22
+ type SelectRenderItemComponent = <ITEM>(props: SelectRenderItemProps<ITEM>) => React.ReactNode;
23
23
  export declare const SelectRenderItem: SelectRenderItemComponent;
24
24
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SelectRenderItem.js","names":["useAtom","React","SelectRenderItem","props","renderItem","item","rootRef","onClick","onMouseEnter","highlightedIndexAtom","index","valueAtom","getItemKeyAtom","ctx","value","spy","getItemKey","get","find","valueItem","active","highlightedIndex","hovered","ref"],"sources":["../../../../../../src/components/SelectCanary/SelectRenderItem/SelectRenderItem.tsx"],"sourcesContent":["import { AtomMut } from '@reatom/framework';\nimport { useAtom } from '@reatom/npm-react';\nimport React from 'react';\n\ntype RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\ntype SelectRenderItemProps<ITEM> = {\n item: ITEM;\n rootRef: React.Ref<HTMLDivElement>;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;\n highlightedIndexAtom: AtomMut<number>;\n index: number;\n valueAtom: AtomMut<ITEM[]>;\n getItemKeyAtom: AtomMut<(item: ITEM) => string | number>;\n};\n\ntype SelectRenderItemComponent = <ITEM>(\n props: SelectRenderItemProps<ITEM>,\n) => JSX.Element;\n\nexport const SelectRenderItem: SelectRenderItemComponent = (props) => {\n const {\n renderItem,\n item,\n rootRef,\n onClick,\n onMouseEnter,\n highlightedIndexAtom,\n index,\n valueAtom,\n getItemKeyAtom,\n } = props;\n\n const [active] = useAtom((ctx) => {\n const value = ctx.spy(valueAtom);\n\n const getItemKey = ctx.get(getItemKeyAtom);\n\n return !!value.find(\n (valueItem) => getItemKey(valueItem) === getItemKey(item),\n );\n });\n\n const [hovered] = useAtom((ctx) => {\n const highlightedIndex = ctx.spy(highlightedIndexAtom);\n return index === highlightedIndex;\n });\n\n return (\n <>\n {renderItem({\n ref: rootRef,\n onClick,\n onMouseEnter,\n item,\n active,\n hovered,\n })}\n </>\n );\n};\n"],"mappings":"iEACA,OAASA,OAAT,KAAwB,mBAAxB,CACA,MAAOC,MAAP,KAAkB,OAAlB,CA2BA,MAAO,IAAMC,iBAA2C,CAAG,SAACC,CAAD,CAAW,IAElEC,EAFkE,CAWhED,CAXgE,CAElEC,UAFkE,CAGlEC,CAHkE,CAWhEF,CAXgE,CAGlEE,IAHkE,CAIlEC,CAJkE,CAWhEH,CAXgE,CAIlEG,OAJkE,CAKlEC,CALkE,CAWhEJ,CAXgE,CAKlEI,OALkE,CAMlEC,CANkE,CAWhEL,CAXgE,CAMlEK,YANkE,CAOlEC,CAPkE,CAWhEN,CAXgE,CAOlEM,oBAPkE,CAQlEC,CARkE,CAWhEP,CAXgE,CAQlEO,KARkE,CASlEC,CATkE,CAWhER,CAXgE,CASlEQ,SATkE,CAUlEC,CAVkE,CAWhET,CAXgE,CAUlES,cAVkE,GAanDZ,OAAO,CAAC,SAACa,CAAD,CAAS,IAC1BC,EAAK,CAAGD,CAAG,CAACE,GAAJ,CAAQJ,CAAR,CADkB,CAG1BK,CAAU,CAAGH,CAAG,CAACI,GAAJ,CAAQL,CAAR,CAHa,CAKhC,MAAO,CAAC,CAACE,CAAK,CAACI,IAAN,CACP,SAACC,CAAD,QAAeH,EAAU,CAACG,CAAD,CAAV,GAA0BH,CAAU,CAACX,CAAD,CAAnD,CADO,CAGV,CARuB,CAb4C,uBAa7De,CAb6D,QAuBlDpB,OAAO,CAAC,SAACa,CAAD,CAAS,CACjC,GAAMQ,EAAgB,CAAGR,CAAG,CAACE,GAAJ,CAAQN,CAAR,CAAzB,CACA,MAAOC,EAAK,GAAKW,CAClB,CAHwB,CAvB2C,uBAuB7DC,CAvB6D,MA4BpE,MACE,yCACGlB,CAAU,CAAC,CACVmB,GAAG,CAAEjB,CADK,CAEVC,OAAO,CAAPA,CAFU,CAGVC,YAAY,CAAZA,CAHU,CAIVH,IAAI,CAAJA,CAJU,CAKVe,MAAM,CAANA,CALU,CAMVE,OAAO,CAAPA,CANU,CAAD,CADb,CAWH,CAxCM"}
1
+ {"version":3,"file":"SelectRenderItem.js","names":["useAtom","React","SelectRenderItem","props","renderItem","item","rootRef","onClick","onMouseEnter","highlightedIndexAtom","index","valueAtom","getItemKeyAtom","ctx","value","spy","getItemKey","get","find","valueItem","active","highlightedIndex","hovered","ref"],"sources":["../../../../../../src/components/SelectCanary/SelectRenderItem/SelectRenderItem.tsx"],"sourcesContent":["import { AtomMut } from '@reatom/framework';\nimport { useAtom } from '@reatom/npm-react';\nimport React from 'react';\n\ntype RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\n\ntype SelectRenderItemProps<ITEM> = {\n item: ITEM;\n rootRef: React.Ref<HTMLDivElement>;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;\n highlightedIndexAtom: AtomMut<number>;\n index: number;\n valueAtom: AtomMut<ITEM[]>;\n getItemKeyAtom: AtomMut<(item: ITEM) => string | number>;\n};\n\ntype SelectRenderItemComponent = <ITEM>(\n props: SelectRenderItemProps<ITEM>,\n) => React.ReactNode;\n\nexport const SelectRenderItem: SelectRenderItemComponent = (props) => {\n const {\n renderItem,\n item,\n rootRef,\n onClick,\n onMouseEnter,\n highlightedIndexAtom,\n index,\n valueAtom,\n getItemKeyAtom,\n } = props;\n\n const [active] = useAtom((ctx) => {\n const value = ctx.spy(valueAtom);\n\n const getItemKey = ctx.get(getItemKeyAtom);\n\n return !!value.find(\n (valueItem) => getItemKey(valueItem) === getItemKey(item),\n );\n });\n\n const [hovered] = useAtom((ctx) => {\n const highlightedIndex = ctx.spy(highlightedIndexAtom);\n return index === highlightedIndex;\n });\n\n return (\n <>\n {renderItem({\n ref: rootRef,\n onClick,\n onMouseEnter,\n item,\n active,\n hovered,\n })}\n </>\n );\n};\n"],"mappings":"iEACA,OAASA,OAAT,KAAwB,mBAAxB,CACA,MAAOC,MAAP,KAAkB,OAAlB,CA2BA,MAAO,IAAMC,iBAA2C,CAAG,SAACC,CAAD,CAAW,IAElEC,EAFkE,CAWhED,CAXgE,CAElEC,UAFkE,CAGlEC,CAHkE,CAWhEF,CAXgE,CAGlEE,IAHkE,CAIlEC,CAJkE,CAWhEH,CAXgE,CAIlEG,OAJkE,CAKlEC,CALkE,CAWhEJ,CAXgE,CAKlEI,OALkE,CAMlEC,CANkE,CAWhEL,CAXgE,CAMlEK,YANkE,CAOlEC,CAPkE,CAWhEN,CAXgE,CAOlEM,oBAPkE,CAQlEC,CARkE,CAWhEP,CAXgE,CAQlEO,KARkE,CASlEC,CATkE,CAWhER,CAXgE,CASlEQ,SATkE,CAUlEC,CAVkE,CAWhET,CAXgE,CAUlES,cAVkE,GAanDZ,OAAO,CAAC,SAACa,CAAD,CAAS,IAC1BC,EAAK,CAAGD,CAAG,CAACE,GAAJ,CAAQJ,CAAR,CADkB,CAG1BK,CAAU,CAAGH,CAAG,CAACI,GAAJ,CAAQL,CAAR,CAHa,CAKhC,MAAO,CAAC,CAACE,CAAK,CAACI,IAAN,CACP,SAACC,CAAD,QAAeH,EAAU,CAACG,CAAD,CAAV,GAA0BH,CAAU,CAACX,CAAD,CAAnD,CADO,CAGV,CARuB,CAb4C,uBAa7De,CAb6D,QAuBlDpB,OAAO,CAAC,SAACa,CAAD,CAAS,CACjC,GAAMQ,EAAgB,CAAGR,CAAG,CAACE,GAAJ,CAAQN,CAAR,CAAzB,CACA,MAAOC,EAAK,GAAKW,CAClB,CAHwB,CAvB2C,uBAuB7DC,CAvB6D,MA4BpE,MACE,yCACGlB,CAAU,CAAC,CACVmB,GAAG,CAAEjB,CADK,CAEVC,OAAO,CAAPA,CAFU,CAGVC,YAAY,CAAZA,CAHU,CAIVH,IAAI,CAAJA,CAJU,CAKVe,MAAM,CAANA,CALU,CAMVE,OAAO,CAAPA,CANU,CAAD,CADb,CAWH,CAxCM"}
@@ -53,7 +53,7 @@ export declare function withDefaultGetters<ITEM = SelectItemDefault, GROUP = Sel
53
53
  iconClear?: import("@consta/icons/Icon").IconComponent;
54
54
  selectAll?: (MULTIPLE extends true ? boolean : never) | undefined;
55
55
  selectAllLabel?: string;
56
- } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "placeholder" | "onFocus" | "onBlur" | "onChange" | "onInput" | "size" | "view" | "form" | "input" | "status" | "disabled" | "value" | "multiple" | "inputRef" | "items" | "dropdownForm" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "onScrollToBottom" | "labelForCreate" | "inputValue" | "selectAll" | "onDropdownOpen" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "virtualScroll" | "inputDefaultValue" | "clearButton" | "iconClear" | "onCreate" | "aria-Label" | "selectAllLabel"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
56
+ } & Omit<import("react").HTMLAttributes<HTMLDivElement>, "css" | "onFocus" | "onBlur" | "onChange" | "onInput" | "size" | "view" | "form" | "status" | "input" | "disabled" | "value" | "multiple" | "placeholder" | "inputRef" | "items" | "dropdownForm" | "dropdownClassName" | "dropdownRef" | "isLoading" | "labelForEmptyItems" | "renderItem" | "renderValue" | "groups" | "getItemLabel" | "getItemKey" | "getItemGroupKey" | "getItemDisabled" | "getGroupLabel" | "getGroupKey" | "onScrollToBottom" | "labelForCreate" | "inputValue" | "selectAll" | "onDropdownOpen" | "dropdownOpen" | "ignoreOutsideClicksRefs" | "virtualScroll" | "inputDefaultValue" | "clearButton" | "iconClear" | "onCreate" | "aria-Label" | "selectAllLabel"> & import("react").RefAttributes<HTMLDivElement> & (ITEM extends {
57
57
  label: SelectItemDefault["label"];
58
58
  } ? {} : {
59
59
  getItemLabel: SelectPropGetItemLabel<ITEM>;
@@ -114,4 +114,4 @@ export type SelectProps<ITEM = SelectItemDefault, GROUP = SelectGroupDefault, MU
114
114
  } ? {} : {
115
115
  getGroupKey: SelectPropGetGroupKey<GROUP>;
116
116
  });
117
- export type SelectComponent = <ITEM = SelectItemDefault, GROUP = SelectGroupDefault, MULTIPLE extends boolean = false>(props: SelectProps<ITEM, GROUP, MULTIPLE>) => React.ReactElement | null;
117
+ export type SelectComponent = <ITEM = SelectItemDefault, GROUP = SelectGroupDefault, MULTIPLE extends boolean = false>(props: SelectProps<ITEM, GROUP, MULTIPLE>) => React.ReactNode | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/SelectCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n FieldPropForm,\n FieldPropSize,\n FieldPropStatus,\n FieldPropView,\n} from '##/components/FieldComponents';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\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\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;\n\nexport type SelectPropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\nexport type SelectPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type SelectPropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type SelectPropRenderValue<ITEM, MULTIPLE> = MULTIPLE extends true\n ? (props: {\n value: ITEM[];\n getRemove: (\n item: ITEM,\n ) => (e: React.SyntheticEvent<Element, Event>) => void;\n }) => React.ReactNode | null\n : (props: { value: ITEM }) => React.ReactNode | null;\n\nexport type SelectPropOnCreate = (\n label: string,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type SelectAllItem = {\n groupKey: string | number;\n __optionSelectAll: true;\n};\n\nexport type Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\n\nexport type CountedGroup<ITEM, GROUP> = Omit<Group<ITEM, GROUP>, 'items'> & {\n items: Array<SelectAllItem | ITEM>;\n};\n\nexport type SelectPropsInit<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n 'items': ITEM[];\n 'onChange': SelectPropOnChange<ITEM, MULTIPLE>;\n 'disabled'?: boolean;\n 'form'?: FieldPropForm;\n 'dropdownForm'?: 'default' | 'brick' | 'round';\n 'size'?: FieldPropSize;\n 'view'?: FieldPropView;\n 'placeholder'?: string;\n 'aria-Label'?: string;\n 'status'?: FieldPropStatus;\n 'isLoading'?: boolean;\n 'dropdownClassName'?: string;\n 'dropdownRef'?: React.Ref<HTMLDivElement>;\n 'renderItem'?: SelectPropRenderItem<ITEM>;\n 'renderValue'?: SelectPropRenderValue<ITEM, MULTIPLE>;\n 'onFocus'?: React.FocusEventHandler<HTMLInputElement>;\n 'onBlur'?: React.FocusEventHandler<HTMLInputElement>;\n 'onCreate'?: SelectPropOnCreate;\n 'inputRef'?: React.Ref<HTMLInputElement>;\n 'input'?: boolean;\n 'inputValue'?: string;\n 'inputDefaultValue'?: string;\n 'onInput'?: (value: string) => void;\n 'labelForCreate'?:\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n 'labelForEmptyItems'?: string;\n 'multiple'?: MULTIPLE;\n 'value'?: SelectPropValue<ITEM, MULTIPLE>;\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 'virtualScroll'?: boolean;\n 'onScrollToBottom'?: (length: number) => void;\n 'onDropdownOpen'?: (isOpen: boolean) => void;\n 'dropdownOpen'?: boolean;\n 'ignoreOutsideClicksRefs'?: ReadonlyArray<React.RefObject<HTMLElement>>;\n 'clearButton'?: boolean;\n 'iconClear'?: IconComponent;\n 'selectAll'?: MULTIPLE extends true ? boolean : never;\n 'selectAllLabel'?: string;\n },\n HTMLDivElement\n>;\n\nexport type SelectProps<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = SelectPropsInit<ITEM, GROUP, MULTIPLE> &\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 MULTIPLE extends boolean = false,\n>(\n props: SelectProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactElement | null;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/SelectCanary/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport {\n FieldPropForm,\n FieldPropSize,\n FieldPropStatus,\n FieldPropView,\n} from '##/components/FieldComponents';\nimport { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';\n\nexport type RenderItemProps<ITEM> = {\n item: ITEM;\n active: boolean;\n hovered: boolean;\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n ref: React.Ref<HTMLDivElement>;\n};\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\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;\n\nexport type SelectPropOnChange<ITEM, MULTIPLE extends boolean> = (\n value: (MULTIPLE extends true ? ITEM[] : ITEM) | null,\n props: {\n e: React.SyntheticEvent;\n },\n) => void;\nexport type SelectPropValue<ITEM, MULTIPLE extends boolean> =\n | (MULTIPLE extends true ? ITEM[] : ITEM)\n | null\n | undefined;\n\nexport type SelectPropRenderItem<ITEM> = (\n props: RenderItemProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type SelectPropRenderValue<ITEM, MULTIPLE> = MULTIPLE extends true\n ? (props: {\n value: ITEM[];\n getRemove: (\n item: ITEM,\n ) => (e: React.SyntheticEvent<Element, Event>) => void;\n }) => React.ReactNode | null\n : (props: { value: ITEM }) => React.ReactNode | null;\n\nexport type SelectPropOnCreate = (\n label: string,\n props: { e: React.SyntheticEvent },\n) => void;\n\nexport type SelectAllItem = {\n groupKey: string | number;\n __optionSelectAll: true;\n};\n\nexport type Group<ITEM, GROUP> = {\n items: ITEM[];\n key: string | number;\n group?: GROUP;\n};\n\nexport type CountedGroup<ITEM, GROUP> = Omit<Group<ITEM, GROUP>, 'items'> & {\n items: Array<SelectAllItem | ITEM>;\n};\n\nexport type SelectPropsInit<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = PropsWithHTMLAttributesAndRef<\n {\n 'items': ITEM[];\n 'onChange': SelectPropOnChange<ITEM, MULTIPLE>;\n 'disabled'?: boolean;\n 'form'?: FieldPropForm;\n 'dropdownForm'?: 'default' | 'brick' | 'round';\n 'size'?: FieldPropSize;\n 'view'?: FieldPropView;\n 'placeholder'?: string;\n 'aria-Label'?: string;\n 'status'?: FieldPropStatus;\n 'isLoading'?: boolean;\n 'dropdownClassName'?: string;\n 'dropdownRef'?: React.Ref<HTMLDivElement>;\n 'renderItem'?: SelectPropRenderItem<ITEM>;\n 'renderValue'?: SelectPropRenderValue<ITEM, MULTIPLE>;\n 'onFocus'?: React.FocusEventHandler<HTMLInputElement>;\n 'onBlur'?: React.FocusEventHandler<HTMLInputElement>;\n 'onCreate'?: SelectPropOnCreate;\n 'inputRef'?: React.Ref<HTMLInputElement>;\n 'input'?: boolean;\n 'inputValue'?: string;\n 'inputDefaultValue'?: string;\n 'onInput'?: (value: string) => void;\n 'labelForCreate'?:\n | ((label: string | undefined) => React.ReactNode)\n | React.ReactNode;\n 'labelForEmptyItems'?: string;\n 'multiple'?: MULTIPLE;\n 'value'?: SelectPropValue<ITEM, MULTIPLE>;\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 'virtualScroll'?: boolean;\n 'onScrollToBottom'?: (length: number) => void;\n 'onDropdownOpen'?: (isOpen: boolean) => void;\n 'dropdownOpen'?: boolean;\n 'ignoreOutsideClicksRefs'?: ReadonlyArray<React.RefObject<HTMLElement>>;\n 'clearButton'?: boolean;\n 'iconClear'?: IconComponent;\n 'selectAll'?: MULTIPLE extends true ? boolean : never;\n 'selectAllLabel'?: string;\n },\n HTMLDivElement\n>;\n\nexport type SelectProps<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = SelectPropsInit<ITEM, GROUP, MULTIPLE> &\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 MULTIPLE extends boolean = false,\n>(\n props: SelectProps<ITEM, GROUP, MULTIPLE>,\n) => React.ReactNode | null;\n"],"mappings":""}
@@ -17,4 +17,4 @@ export type SelectContainerProps = PropsWithHTMLAttributesAndRef<{
17
17
  labelPosition?: 'top' | 'left';
18
18
  caption?: string;
19
19
  }, HTMLDivElement>;
20
- export declare const SelectContainer: React.ForwardRefExoticComponent<Pick<SelectContainerProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "type" | "view" | "caption" | "form" | "label" | "status" | "key" | "disabled" | "multiple" | "required" | "focused" | "labelIcon" | "labelPosition"> & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const SelectContainer: React.ForwardRefExoticComponent<Omit<SelectContainerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -17,7 +17,7 @@ type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
17
17
  isOpen: boolean;
18
18
  offset?: PopoverPropOffset | 'none';
19
19
  isLoading?: boolean;
20
- renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;
20
+ renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;
21
21
  visibleItems: (OptionForCreate | {
22
22
  items: Array<SelectAllItem | ITEM>;
23
23
  key: string | number;
@@ -36,6 +36,6 @@ type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
36
36
  virtualScroll?: boolean;
37
37
  onScrollToBottom?: (length: number) => void;
38
38
  }>;
39
- type SelectDropdownComponent = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
39
+ type SelectDropdownComponent = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactNode | null;
40
40
  export declare const SelectDropdown: SelectDropdownComponent;
41
41
  export {};
@@ -1 +1 @@
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 SelectDropdownComponent = <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: SelectDropdownComponent = (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
+ {"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>) => React.ReactNode | 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 SelectDropdownComponent = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactNode | 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: SelectDropdownComponent = (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,3 +1,3 @@
1
1
  import './SelectLoader.css';
2
2
  export declare const cnSelectLoader: import("@bem-react/classname").ClassNameFormatter;
3
- export declare const SelectLoader: () => JSX.Element;
3
+ export declare const SelectLoader: () => import("react/jsx-runtime").JSX.Element;
@@ -17,4 +17,4 @@ export type SelectContainerProps = PropsWithHTMLAttributesAndRef<{
17
17
  labelPosition?: 'top' | 'left';
18
18
  caption?: string;
19
19
  }, HTMLDivElement>;
20
- export declare const SelectContainer: React.ForwardRefExoticComponent<Pick<SelectContainerProps, "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "slot" | "spellCheck" | "style" | "tabIndex" | "title" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "size" | "type" | "view" | "caption" | "form" | "label" | "status" | "key" | "disabled" | "multiple" | "required" | "focused" | "labelIcon" | "labelPosition"> & React.RefAttributes<HTMLDivElement>>;
20
+ export declare const SelectContainer: React.ForwardRefExoticComponent<Omit<SelectContainerProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -17,7 +17,7 @@ type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
17
17
  isOpen: boolean;
18
18
  offset?: PopoverPropOffset | 'none';
19
19
  isLoading?: boolean;
20
- renderItem: (props: RenderItemProps<ITEM>) => JSX.Element | null;
20
+ renderItem: (props: RenderItemProps<ITEM>) => React.ReactNode | null;
21
21
  visibleItems: (OptionForCreate | {
22
22
  items: Array<SelectAllItem | ITEM>;
23
23
  key: string | number;
@@ -33,6 +33,6 @@ type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
33
33
  notFound?: boolean;
34
34
  hasItems?: boolean;
35
35
  }>;
36
- type SelectDropdown = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
36
+ type SelectDropdown = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactNode | null;
37
37
  export declare const SelectDropdown: SelectDropdown;
38
38
  export {};