@consta/uikit 5.18.0 → 5.19.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (602) hide show
  1. package/SelectCanary/index.d.ts +1 -0
  2. package/SelectCanary/index.js +1 -0
  3. package/__internal__/src/components/Attachment/Attachment.d.ts +1 -1
  4. package/__internal__/src/components/Attachment/Attachment.js +1 -1
  5. package/__internal__/src/components/Attachment/Attachment.js.map +1 -1
  6. package/__internal__/src/components/Attachment/types.d.ts +3 -3
  7. package/__internal__/src/components/AttachmentDeprecated/types.d.ts +2 -3
  8. package/__internal__/src/components/AutoComplete/AutoComplete.js +1 -1
  9. package/__internal__/src/components/AutoComplete/AutoComplete.js.map +1 -1
  10. package/__internal__/src/components/AutoComplete/helpers.d.ts +14 -15
  11. package/__internal__/src/components/AutoComplete/types.d.ts +14 -14
  12. package/__internal__/src/components/AutoComplete/useAutoComplete.d.ts +8 -8
  13. package/__internal__/src/components/AutoCompleteCanary/AutoCompleteTypeText/AutoCompleteTypeText.js.map +1 -1
  14. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +12 -13
  15. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +17 -17
  16. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.d.ts +7 -7
  17. package/__internal__/src/components/AutoCompleteCanary/useRenderItemDefault.d.ts +2 -2
  18. package/__internal__/src/components/Avatar/Avatar.d.ts +3 -3
  19. package/__internal__/src/components/AvatarGroup/helpers.d.ts +79 -80
  20. package/__internal__/src/components/AvatarGroup/types.d.ts +7 -7
  21. package/__internal__/src/components/Badge/Badge.d.ts +1 -1
  22. package/__internal__/src/components/Badge/types.d.ts +5 -5
  23. package/__internal__/src/components/BadgeGroup/helper.d.ts +6 -7
  24. package/__internal__/src/components/BadgeGroup/types.d.ts +15 -15
  25. package/__internal__/src/components/BookmarkTabs/helper.d.ts +80 -81
  26. package/__internal__/src/components/BookmarkTabs/types.d.ts +23 -23
  27. package/__internal__/src/components/BookmarkTabs/useBookmarkTabs.d.ts +2 -3
  28. package/__internal__/src/components/Breadcrumbs/helpers.d.ts +78 -79
  29. package/__internal__/src/components/Breadcrumbs/types.d.ts +21 -22
  30. package/__internal__/src/components/Breadcrumbs/useElements.d.ts +0 -1
  31. package/__internal__/src/components/Button/Button.d.ts +5 -5
  32. package/__internal__/src/components/Card/Card.d.ts +4 -4
  33. package/__internal__/src/components/Checkbox/Checkbox.d.ts +6 -6
  34. package/__internal__/src/components/CheckboxDeprecated/CheckboxDeprecated.d.ts +6 -6
  35. package/__internal__/src/components/CheckboxGroup/helper.d.ts +80 -81
  36. package/__internal__/src/components/CheckboxGroup/types.d.ts +15 -15
  37. package/__internal__/src/components/Chips/ChipsChoice/types.d.ts +8 -9
  38. package/__internal__/src/components/Chips/ChipsItem/ChipsItem.d.ts +1 -1
  39. package/__internal__/src/components/Chips/helpers.d.ts +4 -5
  40. package/__internal__/src/components/Chips/types.d.ts +21 -22
  41. package/__internal__/src/components/ChoiceGroup/Item/ChoiceGroup-Item.d.ts +6 -6
  42. package/__internal__/src/components/ChoiceGroup/helper.d.ts +83 -84
  43. package/__internal__/src/components/ChoiceGroup/types.d.ts +15 -15
  44. package/__internal__/src/components/Collapse/types.d.ts +11 -11
  45. package/__internal__/src/components/CollapseGroup/helpers.d.ts +41 -41
  46. package/__internal__/src/components/CollapseGroup/useChoice.d.ts +0 -1
  47. package/__internal__/src/components/Combobox/helpers.d.ts +58 -58
  48. package/__internal__/src/components/ComboboxDeprecated/helpers.d.ts +50 -50
  49. package/__internal__/src/components/ContextMenu/ContextMenuLevels/useSize.d.ts +1 -1
  50. package/__internal__/src/components/ContextMenu/helpers.d.ts +35 -36
  51. package/__internal__/src/components/ContextMenu/types.d.ts +43 -44
  52. package/__internal__/src/components/ContextMenu/useMenuNavigation.d.ts +1 -1
  53. package/__internal__/src/components/DatePicker/DatePickerAdditionalControls/DatePickerAdditionalControls.d.ts +2 -2
  54. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +7 -7
  55. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +35 -35
  56. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/helpers.d.ts +5 -6
  57. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +26 -26
  58. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/helpers.d.ts +3 -3
  59. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +38 -38
  60. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/helpers.d.ts +5 -5
  61. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +26 -26
  62. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/helpers.d.ts +2 -3
  63. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +35 -35
  64. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/helpers.d.ts +5 -6
  65. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +26 -26
  66. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/helpers.d.ts +2 -3
  67. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +38 -38
  68. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/helpers.d.ts +5 -5
  69. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +35 -35
  70. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/helpers.d.ts +5 -6
  71. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +26 -26
  72. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/helpers.d.ts +2 -3
  73. package/__internal__/src/components/DatePicker/getChangeFnRange.d.ts +1 -1
  74. package/__internal__/src/components/DatePicker/helpers.d.ts +9 -10
  75. package/__internal__/src/components/DatePicker/types.d.ts +17 -18
  76. package/__internal__/src/components/DatePicker/useCalendarVisible.d.ts +4 -4
  77. package/__internal__/src/components/DatePicker/useCurrentVisibleDate.d.ts +0 -1
  78. package/__internal__/src/components/DateTime/DateTime100YearSlider/DateTime100YearSlider.d.ts +1 -1
  79. package/__internal__/src/components/DateTime/DateTime10YearSlider/DateTime10YearSlider.d.ts +1 -1
  80. package/__internal__/src/components/DateTime/DateTime10Years/DateTime10Years.d.ts +1 -1
  81. package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.d.ts +2 -2
  82. package/__internal__/src/components/DateTime/DateTimeGrid/DateTimeGrid.d.ts +2 -2
  83. package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.d.ts +1 -1
  84. package/__internal__/src/components/DateTime/DateTimeLabel/DateTimeLabel.d.ts +1 -1
  85. package/__internal__/src/components/DateTime/DateTimeMonth/DateTimeMonth.d.ts +1 -1
  86. package/__internal__/src/components/DateTime/DateTimeSlider/DateTimeSlider.d.ts +2 -2
  87. package/__internal__/src/components/DateTime/DateTimeTimeColumn/DateTimeTimeColumn.d.ts +2 -2
  88. package/__internal__/src/components/DateTime/DateTimeTimeColumn/useScrollToElement/useScrollToElement.d.ts +0 -1
  89. package/__internal__/src/components/DateTime/DateTimeToggler/DateTimeToggler.d.ts +1 -1
  90. package/__internal__/src/components/DateTime/DateTimeTypeDateTime/useOnChange.d.ts +1 -6
  91. package/__internal__/src/components/DateTime/DateTimeTypeTime/helpers.d.ts +2 -3
  92. package/__internal__/src/components/DateTime/DateTimeYear/DateTimeYear.d.ts +1 -1
  93. package/__internal__/src/components/DateTime/DateTimeYearSlider/DateTimeYearSlider.d.ts +1 -1
  94. package/__internal__/src/components/DateTime/helpers/getDaysOfMonth.d.ts +0 -1
  95. package/__internal__/src/components/DateTime/helpers/getHandleSelectDate.d.ts +1 -1
  96. package/__internal__/src/components/DateTime/helpers/getMonthsOfYear.d.ts +0 -1
  97. package/__internal__/src/components/DateTime/helpers/getYearsOfDecade.d.ts +0 -1
  98. package/__internal__/src/components/DateTime/helpers/index.d.ts +4 -4
  99. package/__internal__/src/components/DateTime/helpers/isDateInRange.d.ts +2 -2
  100. package/__internal__/src/components/DateTime/helpers/types.d.ts +15 -16
  101. package/__internal__/src/components/DateTime/helpers/useCurrentVisibleDate.d.ts +3 -4
  102. package/__internal__/src/components/DragNDropField/DragNDropField.d.ts +6 -6
  103. package/__internal__/src/components/DragNDropField/DragNDropFieldContent/formatFileRequirements.d.ts +1 -1
  104. package/__internal__/src/components/DragNDropField/DragNDropFieldTooltip/DragNDropFieldTooltip.d.ts +1 -1
  105. package/__internal__/src/components/DragNDropField/locale.d.ts +3 -3
  106. package/__internal__/src/components/DragNDropField/types.d.ts +7 -8
  107. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldCanary.d.ts +11 -11
  108. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldContent/formatFileRequirements.d.ts +1 -1
  109. package/__internal__/src/components/DragNDropFieldCanary/locale.d.ts +1 -1
  110. package/__internal__/src/components/DragNDropFieldCanary/types.d.ts +10 -11
  111. package/__internal__/src/components/EventInterceptor/EventInterceptor.d.ts +3 -3
  112. package/__internal__/src/components/EventInterceptor/propsHandlers/useButtonEventHandler.d.ts +2 -2
  113. package/__internal__/src/components/EventInterceptor/propsHandlers/useCheckboxEventsHandler.d.ts +4 -43
  114. package/__internal__/src/components/EventInterceptor/propsHandlers/useSelectEventsHandler.d.ts +1 -1
  115. package/__internal__/src/components/EventInterceptor/propsHandlers/useTextFieldEventsHandler.d.ts +5 -3
  116. package/__internal__/src/components/EventInterceptor/types.d.ts +1 -1
  117. package/__internal__/src/components/FieldCaption/FieldCaption.d.ts +2 -2
  118. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.css +1 -1
  119. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js +1 -1
  120. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js.map +1 -1
  121. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.d.ts +5 -4
  122. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.js.map +1 -1
  123. package/__internal__/src/components/FieldComponents/FieldArrayValueItem/FieldArrayValueItem.css +1 -1
  124. package/__internal__/src/components/FieldComponents/FieldArrayValueItem/FieldArrayValueItem.d.ts +2 -2
  125. package/__internal__/src/components/FieldComponents/FieldArrayValueItem/FieldArrayValueItem.js +1 -1
  126. package/__internal__/src/components/FieldComponents/FieldArrayValueItem/FieldArrayValueItem.js.map +1 -1
  127. package/__internal__/src/components/FieldComponents/FieldButton/FieldButton.css +1 -1
  128. package/__internal__/src/components/FieldComponents/FieldButton/FieldButton.d.ts +2 -2
  129. package/__internal__/src/components/FieldComponents/FieldButtonStyleReset/FieldButtonStyleReset.css +1 -1
  130. package/__internal__/src/components/FieldComponents/FieldCaption/FieldCaption.d.ts +2 -2
  131. package/__internal__/src/components/FieldComponents/FieldClearButton/FieldClearButton.d.ts +6 -4
  132. package/__internal__/src/components/FieldComponents/FieldClearButton/FieldClearButton.js +1 -1
  133. package/__internal__/src/components/FieldComponents/FieldClearButton/FieldClearButton.js.map +1 -1
  134. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.css +1 -1
  135. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.d.ts +1 -1
  136. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js +1 -1
  137. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js.map +1 -1
  138. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.d.ts +3 -2
  139. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js +1 -1
  140. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
  141. package/__internal__/src/components/FieldComponents/FieldControlLayout/maps.d.ts +9 -9
  142. package/__internal__/src/components/FieldComponents/FieldControlLayout/types.d.ts +3 -2
  143. package/__internal__/src/components/FieldComponents/FieldControlLayout/types.js.map +1 -1
  144. package/__internal__/src/components/FieldComponents/FieldCounter/FieldCounter.d.ts +2 -2
  145. package/__internal__/src/components/FieldComponents/FieldInput/FieldInput.d.ts +2 -2
  146. package/__internal__/src/components/FieldComponents/FieldLabel/FieldLabel.d.ts +2 -2
  147. package/__internal__/src/components/FieldComponents/FieldLabel/helpers.d.ts +1 -1
  148. package/__internal__/src/components/FieldComponents/FieldToggleVisiblePasswordButton/FieldToggleVisiblePasswordButton.d.ts +7 -4
  149. package/__internal__/src/components/FieldComponents/FieldToggleVisiblePasswordButton/FieldToggleVisiblePasswordButton.js +1 -1
  150. package/__internal__/src/components/FieldComponents/FieldToggleVisiblePasswordButton/FieldToggleVisiblePasswordButton.js.map +1 -1
  151. package/__internal__/src/components/FieldComponents/FieldWrapper/FieldWrapper.d.ts +1 -1
  152. package/__internal__/src/components/FieldComponents/FieldWrapper/helpers.d.ts +2 -2
  153. package/__internal__/src/components/FieldComponents/FieldWrapper/types.d.ts +2 -2
  154. package/__internal__/src/components/FieldComponents/types.d.ts +4 -4
  155. package/__internal__/src/components/FieldGroup/FieldGroup.d.ts +2 -2
  156. package/__internal__/src/components/FieldGroup/getForm.d.ts +1 -1
  157. package/__internal__/src/components/FieldGroup/types.d.ts +4 -5
  158. package/__internal__/src/components/FieldLabel/FieldLabel.d.ts +2 -2
  159. package/__internal__/src/components/File/File.d.ts +3 -3
  160. package/__internal__/src/components/FileField/FileField.d.ts +4 -4
  161. package/__internal__/src/components/Grid/Grid.d.ts +1 -1
  162. package/__internal__/src/components/Grid/GridItem/GridItem.d.ts +1 -1
  163. package/__internal__/src/components/Grid/types.d.ts +10 -11
  164. package/__internal__/src/components/GridDeprecated/GridDeprecated.d.ts +10 -10
  165. package/__internal__/src/components/GridDeprecated/GridItem/GridItem.d.ts +3 -3
  166. package/__internal__/src/components/GridDeprecated/useBreakpoints.d.ts +2 -2
  167. package/__internal__/src/components/Informer/Informer.d.ts +5 -5
  168. package/__internal__/src/components/Layout/Layout.d.ts +4 -4
  169. package/__internal__/src/components/Layout/useFixed.d.ts +6 -6
  170. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpace.d.ts +1 -1
  171. package/__internal__/src/components/ListCanary/ListItemGrid/ListItemGrid.d.ts +1 -1
  172. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.d.ts +3 -2
  173. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.js +1 -1
  174. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.js.map +1 -1
  175. package/__internal__/src/components/ListCanary/helper.d.ts +8 -9
  176. package/__internal__/src/components/ListCanary/maps.d.ts +1 -1
  177. package/__internal__/src/components/ListCanary/renderHeader.d.ts +1 -1
  178. package/__internal__/src/components/ListCanary/types.d.ts +41 -41
  179. package/__internal__/src/components/Loader/Loader.d.ts +8 -8
  180. package/__internal__/src/components/Loader/types.d.ts +5 -5
  181. package/__internal__/src/components/LoaderDeprecated/LoaderDeprecated.d.ts +3 -3
  182. package/__internal__/src/components/Modal/Modal.d.ts +4 -4
  183. package/__internal__/src/components/Pagination/PaginationArrow/PaginationArrow.d.ts +7 -7
  184. package/__internal__/src/components/Pagination/PaginationNumberInput/PaginationNumberInput.d.ts +5 -5
  185. package/__internal__/src/components/Pagination/helpers.d.ts +2 -2
  186. package/__internal__/src/components/Pagination/types.d.ts +31 -31
  187. package/__internal__/src/components/Pagination/usePaginationItems.d.ts +1 -2
  188. package/__internal__/src/components/Pagination/usePaginationKeys.d.ts +1 -2
  189. package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.d.ts +8 -8
  190. package/__internal__/src/components/PaginationDeprecated/helpers.d.ts +1 -1
  191. package/__internal__/src/components/Picture/helper.d.ts +5 -5
  192. package/__internal__/src/components/Picture/types.d.ts +4 -4
  193. package/__internal__/src/components/Popover/Popover.d.ts +9 -9
  194. package/__internal__/src/components/Popover/helpers.d.ts +5 -5
  195. package/__internal__/src/components/PortalWithTheme/PortalWithTheme.d.ts +1 -1
  196. package/__internal__/src/components/PortalWithTheme/PortalWithThemeContext/PortalWithThemeContext.d.ts +2 -2
  197. package/__internal__/src/components/ProgressLine/helpers.d.ts +77 -78
  198. package/__internal__/src/components/ProgressLine/types.d.ts +5 -5
  199. package/__internal__/src/components/ProgressSpin/ProgressSpin.d.ts +3 -3
  200. package/__internal__/src/components/ProgressStepBar/ProgressStepBarLine/ProgressStepBarLine.d.ts +1 -1
  201. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +25 -25
  202. package/__internal__/src/components/Radio/Radio.d.ts +6 -6
  203. package/__internal__/src/components/RadioGroup/helper.d.ts +80 -81
  204. package/__internal__/src/components/RadioGroup/types.d.ts +11 -12
  205. package/__internal__/src/components/Responses/Responses.d.ts +6 -6
  206. package/__internal__/src/components/Responses/createResponses.d.ts +2 -2
  207. package/__internal__/src/components/Responses403/index.d.ts +1 -1
  208. package/__internal__/src/components/Responses404/index.d.ts +1 -1
  209. package/__internal__/src/components/Responses500/index.d.ts +1 -1
  210. package/__internal__/src/components/Responses503/index.d.ts +1 -1
  211. package/__internal__/src/components/ResponsesConnectionError/index.d.ts +1 -1
  212. package/__internal__/src/components/ResponsesDeleted/index.d.ts +1 -1
  213. package/__internal__/src/components/ResponsesEmptyBox/index.d.ts +1 -1
  214. package/__internal__/src/components/ResponsesEmptyPockets/index.d.ts +1 -1
  215. package/__internal__/src/components/ResponsesNothingFound/index.d.ts +1 -1
  216. package/__internal__/src/components/ResponsesSuccess/index.d.ts +1 -1
  217. package/__internal__/src/components/Select/helpers.d.ts +46 -46
  218. package/__internal__/src/components/SelectCanary/SelectCanary.d.ts +2 -0
  219. package/__internal__/src/components/SelectCanary/SelectCanary.js +2 -0
  220. package/__internal__/src/components/SelectCanary/SelectCanary.js.map +1 -0
  221. package/__internal__/src/components/SelectCanary/SelectControlLayout/SelectControlLayout.css +1 -0
  222. package/__internal__/src/components/SelectCanary/SelectControlLayout/SelectControlLayout.d.ts +15 -0
  223. package/__internal__/src/components/SelectCanary/SelectControlLayout/SelectControlLayout.js +2 -0
  224. package/__internal__/src/components/SelectCanary/SelectControlLayout/SelectControlLayout.js.map +1 -0
  225. package/__internal__/src/components/SelectCanary/SelectControlLayout/cnSelectControlLayout.d.ts +2 -0
  226. package/__internal__/src/components/SelectCanary/SelectControlLayout/cnSelectControlLayout.js +2 -0
  227. package/__internal__/src/components/SelectCanary/SelectControlLayout/cnSelectControlLayout.js.map +1 -0
  228. package/__internal__/src/components/SelectCanary/SelectControlLayout/index.d.ts +2 -0
  229. package/__internal__/src/components/SelectCanary/SelectControlLayout/index.js +2 -0
  230. package/__internal__/src/components/SelectCanary/SelectControlLayout/index.js.map +1 -0
  231. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.css +1 -0
  232. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.d.ts +19 -0
  233. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.js +2 -0
  234. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.js.map +1 -0
  235. package/__internal__/src/components/SelectCanary/SelectCreateButton/index.d.ts +1 -0
  236. package/__internal__/src/components/SelectCanary/SelectCreateButton/index.js +2 -0
  237. package/__internal__/src/components/SelectCanary/SelectCreateButton/index.js.map +1 -0
  238. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.css +1 -0
  239. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +54 -0
  240. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js +2 -0
  241. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -0
  242. package/__internal__/src/components/SelectCanary/SelectDropdown/index.d.ts +1 -0
  243. package/__internal__/src/components/SelectCanary/SelectDropdown/index.js +2 -0
  244. package/__internal__/src/components/SelectCanary/SelectDropdown/index.js.map +1 -0
  245. package/__internal__/src/components/SelectCanary/SelectGroupLabel/SelectGroupLabel.d.ts +10 -0
  246. package/__internal__/src/components/SelectCanary/SelectGroupLabel/SelectGroupLabel.js +2 -0
  247. package/__internal__/src/components/SelectCanary/SelectGroupLabel/SelectGroupLabel.js.map +1 -0
  248. package/__internal__/src/components/SelectCanary/SelectGroupLabel/index.d.ts +1 -0
  249. package/__internal__/src/components/SelectCanary/SelectGroupLabel/index.js +2 -0
  250. package/__internal__/src/components/SelectCanary/SelectGroupLabel/index.js.map +1 -0
  251. package/__internal__/src/components/SelectCanary/SelectInput/SelectInput.css +1 -0
  252. package/__internal__/src/components/SelectCanary/SelectInput/SelectInput.d.ts +7 -0
  253. package/__internal__/src/components/SelectCanary/SelectInput/SelectInput.js +2 -0
  254. package/__internal__/src/components/SelectCanary/SelectInput/SelectInput.js.map +1 -0
  255. package/__internal__/src/components/SelectCanary/SelectInput/cnSelectInput.d.ts +2 -0
  256. package/__internal__/src/components/SelectCanary/SelectInput/cnSelectInput.js +2 -0
  257. package/__internal__/src/components/SelectCanary/SelectInput/cnSelectInput.js.map +1 -0
  258. package/__internal__/src/components/SelectCanary/SelectInput/index.d.ts +2 -0
  259. package/__internal__/src/components/SelectCanary/SelectInput/index.js +2 -0
  260. package/__internal__/src/components/SelectCanary/SelectInput/index.js.map +1 -0
  261. package/__internal__/src/components/SelectCanary/SelectItem/SelectItem.css +1 -0
  262. package/__internal__/src/components/SelectCanary/SelectItem/SelectItem.d.ts +17 -0
  263. package/__internal__/src/components/SelectCanary/SelectItem/SelectItem.js +2 -0
  264. package/__internal__/src/components/SelectCanary/SelectItem/SelectItem.js.map +1 -0
  265. package/__internal__/src/components/SelectCanary/SelectItem/index.d.ts +1 -0
  266. package/__internal__/src/components/SelectCanary/SelectItem/index.js +2 -0
  267. package/__internal__/src/components/SelectCanary/SelectItem/index.js.map +1 -0
  268. package/__internal__/src/components/SelectCanary/SelectItemAll/SelectItemAll.css +1 -0
  269. package/__internal__/src/components/SelectCanary/SelectItemAll/SelectItemAll.d.ts +16 -0
  270. package/__internal__/src/components/SelectCanary/SelectItemAll/SelectItemAll.js +2 -0
  271. package/__internal__/src/components/SelectCanary/SelectItemAll/SelectItemAll.js.map +1 -0
  272. package/__internal__/src/components/SelectCanary/SelectItemAll/index.d.ts +1 -0
  273. package/__internal__/src/components/SelectCanary/SelectItemAll/index.js +2 -0
  274. package/__internal__/src/components/SelectCanary/SelectItemAll/index.js.map +1 -0
  275. package/__internal__/src/components/SelectCanary/SelectLoader/SelectLoader.css +1 -0
  276. package/__internal__/src/components/SelectCanary/SelectLoader/SelectLoader.d.ts +3 -0
  277. package/__internal__/src/components/SelectCanary/SelectLoader/SelectLoader.js +2 -0
  278. package/__internal__/src/components/SelectCanary/SelectLoader/SelectLoader.js.map +1 -0
  279. package/__internal__/src/components/SelectCanary/SelectLoader/index.d.ts +1 -0
  280. package/__internal__/src/components/SelectCanary/SelectLoader/index.js +2 -0
  281. package/__internal__/src/components/SelectCanary/SelectLoader/index.js.map +1 -0
  282. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.css +3 -0
  283. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.d.ts +3 -0
  284. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js +2 -0
  285. package/__internal__/src/components/SelectCanary/SelectMultiple/SelectMultiple.js.map +1 -0
  286. package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.d.ts +1 -0
  287. package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js +2 -0
  288. package/__internal__/src/components/SelectCanary/SelectMultiple/__test__/SelectMultiple.test.js.map +1 -0
  289. package/__internal__/src/components/SelectCanary/SelectMultiple/index.d.ts +1 -0
  290. package/__internal__/src/components/SelectCanary/SelectMultiple/index.js +2 -0
  291. package/__internal__/src/components/SelectCanary/SelectMultiple/index.js.map +1 -0
  292. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.d.ts +20 -0
  293. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js +2 -0
  294. package/__internal__/src/components/SelectCanary/SelectPopover/SelectPopover.js.map +1 -0
  295. package/__internal__/src/components/SelectCanary/SelectPopover/index.d.ts +1 -0
  296. package/__internal__/src/components/SelectCanary/SelectPopover/index.js +2 -0
  297. package/__internal__/src/components/SelectCanary/SelectPopover/index.js.map +1 -0
  298. package/__internal__/src/components/SelectCanary/SelectRenderItem/SelectRenderItem.d.ts +24 -0
  299. package/__internal__/src/components/SelectCanary/SelectRenderItem/SelectRenderItem.js +2 -0
  300. package/__internal__/src/components/SelectCanary/SelectRenderItem/SelectRenderItem.js.map +1 -0
  301. package/__internal__/src/components/SelectCanary/SelectRenderItem/index.d.ts +1 -0
  302. package/__internal__/src/components/SelectCanary/SelectRenderItem/index.js +2 -0
  303. package/__internal__/src/components/SelectCanary/SelectRenderItem/index.js.map +1 -0
  304. package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.d.ts +2 -0
  305. package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js +2 -0
  306. package/__internal__/src/components/SelectCanary/SelectSingle/SelectSingle.js.map +1 -0
  307. package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.d.ts +1 -0
  308. package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js +2 -0
  309. package/__internal__/src/components/SelectCanary/SelectSingle/__test__/SelectSingle.test.js.map +1 -0
  310. package/__internal__/src/components/SelectCanary/SelectSingle/index.d.ts +1 -0
  311. package/__internal__/src/components/SelectCanary/SelectSingle/index.js +2 -0
  312. package/__internal__/src/components/SelectCanary/SelectSingle/index.js.map +1 -0
  313. package/__internal__/src/components/SelectCanary/defaultProps.d.ts +23 -0
  314. package/__internal__/src/components/SelectCanary/defaultProps.js +2 -0
  315. package/__internal__/src/components/SelectCanary/defaultProps.js.map +1 -0
  316. package/__internal__/src/components/SelectCanary/helpers.d.ts +81 -0
  317. package/__internal__/src/components/SelectCanary/helpers.js +2 -0
  318. package/__internal__/src/components/SelectCanary/helpers.js.map +1 -0
  319. package/__internal__/src/components/SelectCanary/index.d.ts +5 -0
  320. package/__internal__/src/components/SelectCanary/index.js +2 -0
  321. package/__internal__/src/components/SelectCanary/index.js.map +1 -0
  322. package/__internal__/src/components/SelectCanary/sortValue.d.ts +2 -0
  323. package/__internal__/src/components/SelectCanary/sortValue.js +2 -0
  324. package/__internal__/src/components/SelectCanary/sortValue.js.map +1 -0
  325. package/__internal__/src/components/SelectCanary/types.d.ts +117 -0
  326. package/__internal__/src/components/SelectCanary/types.js +2 -0
  327. package/__internal__/src/components/SelectCanary/types.js.map +1 -0
  328. package/__internal__/src/components/SelectCanary/useSearch/index.d.ts +1 -0
  329. package/__internal__/src/components/SelectCanary/useSearch/index.js +2 -0
  330. package/__internal__/src/components/SelectCanary/useSearch/index.js.map +1 -0
  331. package/__internal__/src/components/SelectCanary/useSearch/useSearch.d.ts +22 -0
  332. package/__internal__/src/components/SelectCanary/useSearch/useSearch.js +2 -0
  333. package/__internal__/src/components/SelectCanary/useSearch/useSearch.js.map +1 -0
  334. package/__internal__/src/components/SelectCanary/useSelect/helpers.d.ts +4 -0
  335. package/__internal__/src/components/SelectCanary/useSelect/helpers.js +2 -0
  336. package/__internal__/src/components/SelectCanary/useSelect/helpers.js.map +1 -0
  337. package/__internal__/src/components/SelectCanary/useSelect/index.d.ts +1 -0
  338. package/__internal__/src/components/SelectCanary/useSelect/index.js +2 -0
  339. package/__internal__/src/components/SelectCanary/useSelect/index.js.map +1 -0
  340. package/__internal__/src/components/SelectCanary/useSelect/useSelect.d.ts +57 -0
  341. package/__internal__/src/components/SelectCanary/useSelect/useSelect.js +2 -0
  342. package/__internal__/src/components/SelectCanary/useSelect/useSelect.js.map +1 -0
  343. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.d.ts +2 -2
  344. package/__internal__/src/components/SelectComponents/SelectCreateButton/SelectCreateButton.d.ts +2 -2
  345. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +7 -7
  346. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  347. package/__internal__/src/components/SelectComponents/SelectGroupLabel/SelectGroupLabel.d.ts +2 -2
  348. package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.d.ts +4 -4
  349. package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.js +1 -1
  350. package/__internal__/src/components/SelectComponents/SelectItem/SelectItem.js.map +1 -1
  351. package/__internal__/src/components/SelectComponents/SelectItemAll/SelectItemAll.d.ts +2 -2
  352. package/__internal__/src/components/SelectComponents/SelectValueTag/SelectValueTag.d.ts +1 -1
  353. package/__internal__/src/components/SelectComponents/types.d.ts +6 -6
  354. package/__internal__/src/components/SelectComponents/useSelect/helpers.d.ts +4 -4
  355. package/__internal__/src/components/SelectComponents/useSelect/useSelect.d.ts +14 -14
  356. package/__internal__/src/components/SelectComponentsDeprecated/SelectContainer/SelectContainer.d.ts +1 -1
  357. package/__internal__/src/components/SelectComponentsDeprecated/SelectCreateButton/SelectCreateButton.d.ts +2 -2
  358. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +4 -4
  359. package/__internal__/src/components/SelectComponentsDeprecated/SelectGroupLabel/SelectGroupLabel.d.ts +1 -1
  360. package/__internal__/src/components/SelectComponentsDeprecated/SelectItem/SelectItem.d.ts +1 -1
  361. package/__internal__/src/components/SelectComponentsDeprecated/SelectItem/SelectItem.js +1 -1
  362. package/__internal__/src/components/SelectComponentsDeprecated/SelectItem/SelectItem.js.map +1 -1
  363. package/__internal__/src/components/SelectComponentsDeprecated/SelectItemAll/SelectSelectAll.d.ts +1 -1
  364. package/__internal__/src/components/SelectComponentsDeprecated/SelectLoader/SelectLoader.d.ts +1 -1
  365. package/__internal__/src/components/SelectComponentsDeprecated/SelectValueTag/SelectValueTag.d.ts +1 -1
  366. package/__internal__/src/components/SelectComponentsDeprecated/types.d.ts +6 -6
  367. package/__internal__/src/components/SelectDeprecated/helpers.d.ts +42 -42
  368. package/__internal__/src/components/Sidebar/Sidebar.d.ts +7 -7
  369. package/__internal__/src/components/Skeleton/SkeletonBrick/SkeletonBrick.d.ts +2 -2
  370. package/__internal__/src/components/Skeleton/SkeletonCircle/SkeletonCircle.d.ts +2 -2
  371. package/__internal__/src/components/Skeleton/SkeletonText/SkeletonText.d.ts +4 -4
  372. package/__internal__/src/components/Slider/SliderInput/SliderInput.d.ts +1 -1
  373. package/__internal__/src/components/Slider/helper.d.ts +16 -16
  374. package/__internal__/src/components/Slider/useSlider/helper.d.ts +4 -4
  375. package/__internal__/src/components/Slider/useSliderStationing.d.ts +1 -1
  376. package/__internal__/src/components/Slider/useSliderStationing.js.map +1 -1
  377. package/__internal__/src/components/SnackBar/helper.d.ts +80 -81
  378. package/__internal__/src/components/SnackBar/types.d.ts +26 -27
  379. package/__internal__/src/components/Spoiler/SpoilerButton/SpoilerButton.d.ts +1 -1
  380. package/__internal__/src/components/Spoiler/types.d.ts +8 -8
  381. package/__internal__/src/components/Steps/StepsStep/StepsStep.d.ts +1 -1
  382. package/__internal__/src/components/Steps/helper.d.ts +75 -76
  383. package/__internal__/src/components/Steps/types.d.ts +9 -10
  384. package/__internal__/src/components/StepsCanary/StepsItem/StepsItem.d.ts +1 -1
  385. package/__internal__/src/components/StepsCanary/helper.d.ts +78 -79
  386. package/__internal__/src/components/StepsCanary/types.d.ts +11 -12
  387. package/__internal__/src/components/Switch/Switch.d.ts +17 -17
  388. package/__internal__/src/components/Switch/types.d.ts +6 -7
  389. package/__internal__/src/components/SwitchGroup/helpers.d.ts +78 -79
  390. package/__internal__/src/components/SwitchGroup/types.d.ts +7 -8
  391. package/__internal__/src/components/Table/Cell/TableCell.d.ts +4 -4
  392. package/__internal__/src/components/Table/ChoiceGroupFilter/TableChoiceGroupFilter.d.ts +2 -2
  393. package/__internal__/src/components/Table/FilterContainer/TableFilterContainer.d.ts +1 -1
  394. package/__internal__/src/components/Table/FilterTooltip/TableFilterTooltip.d.ts +2 -2
  395. package/__internal__/src/components/Table/Header/TableHeader.d.ts +2 -2
  396. package/__internal__/src/components/Table/NumberFilter/TableNumberFilter.d.ts +1 -1
  397. package/__internal__/src/components/Table/Resizer/TableResizer.d.ts +1 -1
  398. package/__internal__/src/components/Table/RowsCollapse/TableRowsCollapse.d.ts +1 -1
  399. package/__internal__/src/components/Table/SelectedOptionsList/TableSelectedOptionsList.d.ts +2 -2
  400. package/__internal__/src/components/Table/Table.d.ts +25 -25
  401. package/__internal__/src/components/Table/TextFilter/TableTextFilter.d.ts +2 -2
  402. package/__internal__/src/components/Table/__mock__/data.mock.d.ts +9 -7
  403. package/__internal__/src/components/Table/filtering.d.ts +10 -10
  404. package/__internal__/src/components/Table/helpers.d.ts +9 -9
  405. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/useFittingItems.d.ts +1 -1
  406. package/__internal__/src/components/Tabs/helpers.d.ts +250 -251
  407. package/__internal__/src/components/Tabs/types.d.ts +29 -29
  408. package/__internal__/src/components/Tag/Tag.d.ts +11 -11
  409. package/__internal__/src/components/TagBase/TagBase.d.ts +5 -5
  410. package/__internal__/src/components/Text/Text.d.ts +14 -14
  411. package/__internal__/src/components/TextDeprecated/TextDeprecated.d.ts +14 -14
  412. package/__internal__/src/components/TextField/types.d.ts +13 -13
  413. package/__internal__/src/components/TextFieldCanary/TextFieldCanary.js.map +1 -1
  414. package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js +1 -1
  415. package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js.map +1 -1
  416. package/__internal__/src/components/TextFieldCanary/TextFieldTypePassword/TextFieldTypePassword.js +1 -1
  417. package/__internal__/src/components/TextFieldCanary/TextFieldTypePassword/TextFieldTypePassword.js.map +1 -1
  418. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js +1 -1
  419. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js.map +1 -1
  420. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js +1 -1
  421. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js.map +1 -1
  422. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.css +1 -1
  423. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js +1 -1
  424. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js.map +1 -1
  425. package/__internal__/src/components/TextFieldCanary/types.d.ts +22 -17
  426. package/__internal__/src/components/TextFieldCanary/types.js.map +1 -1
  427. package/__internal__/src/components/Theme/Theme.d.ts +3 -3
  428. package/__internal__/src/components/ThemeToggler/helpers.d.ts +79 -80
  429. package/__internal__/src/components/ThemeToggler/types.d.ts +11 -12
  430. package/__internal__/src/components/Timer/Timer.d.ts +2 -2
  431. package/__internal__/src/components/Tooltip/types.d.ts +5 -6
  432. package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.d.ts +3 -3
  433. package/__internal__/src/components/User/User.d.ts +5 -5
  434. package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.d.ts +6 -6
  435. package/__internal__/src/components/UserSelect/UserSelectValue/UserSelectValue.d.ts +1 -1
  436. package/__internal__/src/components/UserSelect/helpers.d.ts +55 -55
  437. package/__internal__/src/components/UserSelectDeprecated/UserSelectItem/UserSelectItem.d.ts +2 -2
  438. package/__internal__/src/components/UserSelectDeprecated/UserSelectValue/UserSelectValue.d.ts +1 -1
  439. package/__internal__/src/components/UserSelectDeprecated/helpers.d.ts +49 -49
  440. package/__internal__/src/docs/start/start.stand.d.ts +1 -1
  441. package/__internal__/src/fileIcons/FileIcon/FileIcon.d.ts +3 -3
  442. package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi.d.ts +0 -1
  443. package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp.d.ts +0 -1
  444. package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv.d.ts +0 -1
  445. package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc.d.ts +0 -1
  446. package/__internal__/src/fileIcons/FileIconExe/FileIconExe.d.ts +0 -1
  447. package/__internal__/src/fileIcons/FileIconGif/FileIconGif.d.ts +0 -1
  448. package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg.d.ts +0 -1
  449. package/__internal__/src/fileIcons/FileIconJson/FileIconJson.d.ts +0 -1
  450. package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading.d.ts +0 -1
  451. package/__internal__/src/fileIcons/FileIconMov/FileIconMov.d.ts +0 -1
  452. package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3.d.ts +0 -1
  453. package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4.d.ts +0 -1
  454. package/__internal__/src/fileIcons/FileIconMsg/FileIconMsg.d.ts +0 -1
  455. package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf.d.ts +0 -1
  456. package/__internal__/src/fileIcons/FileIconPng/FileIconPng.d.ts +0 -1
  457. package/__internal__/src/fileIcons/FileIconPpt/FileIconPpt.d.ts +0 -1
  458. package/__internal__/src/fileIcons/FileIconRar/FileIconRar.d.ts +0 -1
  459. package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf.d.ts +0 -1
  460. package/__internal__/src/fileIcons/FileIconSvg/FileIconSvg.d.ts +0 -1
  461. package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff.d.ts +0 -1
  462. package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt.d.ts +0 -1
  463. package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined.d.ts +0 -1
  464. package/__internal__/src/fileIcons/FileIconVsd/FileIconVsd.d.ts +0 -1
  465. package/__internal__/src/fileIcons/FileIconWav/FileIconWav.d.ts +0 -1
  466. package/__internal__/src/fileIcons/FileIconXls/FileIconXls.d.ts +0 -1
  467. package/__internal__/src/fileIcons/FileIconZip/FileIconZip.d.ts +0 -1
  468. package/__internal__/src/fileIcons/createFileIcon/createFileIcon.d.ts +2 -2
  469. package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +6 -6
  470. package/__internal__/src/hooks/useBreakpoints/types.d.ts +2 -2
  471. package/__internal__/src/hooks/useBreakpoints/useBreakpoints.d.ts +2 -3
  472. package/__internal__/src/hooks/useBreakpoints/useComponentBreakpoints.d.ts +2 -3
  473. package/__internal__/src/hooks/useBreakpoints/useWindowBreakpoints.d.ts +1 -1
  474. package/__internal__/src/hooks/useBreakpointsDeprecated/types.d.ts +2 -2
  475. package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.d.ts +4 -1
  476. package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.d.ts +10 -10
  477. package/__internal__/src/hooks/useChoiceGroupIndexed/useChoiceGroupIndexed.d.ts +3 -3
  478. package/__internal__/src/hooks/useClickOutside/useClickOutside.d.ts +3 -3
  479. package/__internal__/src/hooks/useClickOutside/useClickOutside.js +1 -1
  480. package/__internal__/src/hooks/useClickOutside/useClickOutside.js.map +1 -1
  481. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/index.d.ts +1 -1
  482. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/useComponentBreakpointsDeprecated.d.ts +1 -1
  483. package/__internal__/src/hooks/useComponentSize/getElementSize.d.ts +1 -1
  484. package/__internal__/src/hooks/useComponentSize/types.d.ts +1 -1
  485. package/__internal__/src/hooks/useFlag/useFlag.d.ts +1 -2
  486. package/__internal__/src/hooks/useForkRef/useForkRef.d.ts +2 -3
  487. package/__internal__/src/hooks/useForkRef/useForkRef.js +1 -1
  488. package/__internal__/src/hooks/useForkRef/useForkRef.js.map +1 -1
  489. package/__internal__/src/hooks/useGlobalKeys/useGlobalKeys.d.ts +3 -3
  490. package/__internal__/src/hooks/useHideElementsInLine/useHideElementsInLine.d.ts +0 -1
  491. package/__internal__/src/hooks/useHideElementsInLineDeprecated/useHideElementsInLineDeprecated.d.ts +0 -1
  492. package/__internal__/src/hooks/useKeys/useKeys.d.ts +4 -5
  493. package/__internal__/src/hooks/useKeysDeprecated/useKeysDeprecated.d.ts +3 -4
  494. package/__internal__/src/hooks/useKeysRef/useKeysRef.d.ts +4 -4
  495. package/__internal__/src/hooks/useKeysRef/useKeysRef.js +1 -1
  496. package/__internal__/src/hooks/useKeysRef/useKeysRef.js.map +1 -1
  497. package/__internal__/src/hooks/useMouseLeave/useMouseLeave.d.ts +1 -1
  498. package/__internal__/src/hooks/useMutableRef/useMutableRef.d.ts +0 -1
  499. package/__internal__/src/hooks/useOverflow/useOverflow.d.ts +1 -1
  500. package/__internal__/src/hooks/useRefs/useRefs.d.ts +2 -3
  501. package/__internal__/src/hooks/useResizableContent/types.d.ts +5 -5
  502. package/__internal__/src/hooks/useResizeObserved/getElementSize.d.ts +1 -1
  503. package/__internal__/src/hooks/useResizeObserved/useResizeObserved.d.ts +2 -2
  504. package/__internal__/src/hooks/useResizeObserved/useResizeObserved.js +1 -1
  505. package/__internal__/src/hooks/useResizeObserved/useResizeObserved.js.map +1 -1
  506. package/__internal__/src/hooks/useScrollElements/useScrollElements.d.ts +1 -1
  507. package/__internal__/src/hooks/useScrollPosition/useScrollPosition.d.ts +1 -1
  508. package/__internal__/src/hooks/useSelect/helpers.d.ts +4 -4
  509. package/__internal__/src/hooks/useSelect/useSelect.d.ts +14 -14
  510. package/__internal__/src/hooks/useSortSteps/useSortSteps.d.ts +1 -1
  511. package/__internal__/src/hooks/useStyleProps/getStyleProps.d.ts +1 -1
  512. package/__internal__/src/hooks/useStyleProps/helpers.d.ts +2 -2
  513. package/__internal__/src/hooks/useStyleProps/types.d.ts +1 -1
  514. package/__internal__/src/hooks/useStyleProps/useStyleProps.d.ts +1 -2
  515. package/__internal__/src/hooks/useThemeVars/useThemeVars.d.ts +4 -15
  516. package/__internal__/src/hooks/useTimer/useTimer.d.ts +3 -3
  517. package/__internal__/src/hooks/useVirtualScroll/helpers.d.ts +3 -3
  518. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.js +1 -1
  519. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.js.map +1 -1
  520. package/__internal__/src/mixs/MixCard/MixCard.d.ts +5 -5
  521. package/__internal__/src/mixs/MixFlex/MixFlex.d.ts +7 -7
  522. package/__internal__/src/mixs/MixHitSlop/MixHitSlop.d.ts +1 -1
  523. package/__internal__/src/mixs/MixPopoverAnimate/MixPopoverAnimate.d.ts +3 -3
  524. package/__internal__/src/mixs/MixPopoverArrow/MixPopoverArrow.d.ts +2 -2
  525. package/__internal__/src/mixs/MixScrollBar/MixScrollBar.d.ts +4 -4
  526. package/__internal__/src/mixs/MixSpace/MixSpace.d.ts +1 -1
  527. package/__internal__/src/mixs/MixSpace/types.d.ts +2 -2
  528. package/__internal__/src/responsesImages/ResponsesImage/ResponsesImage.d.ts +1 -1
  529. package/__internal__/src/responsesImages/ResponsesImage403/ResponsesImage403.d.ts +0 -1
  530. package/__internal__/src/responsesImages/ResponsesImage404/ResponsesImage404.d.ts +0 -1
  531. package/__internal__/src/responsesImages/ResponsesImage500/ResponsesImage500.d.ts +0 -1
  532. package/__internal__/src/responsesImages/ResponsesImage503/ResponsesImage503.d.ts +0 -1
  533. package/__internal__/src/responsesImages/ResponsesImageConnectionError/ResponsesImageConnectionError.d.ts +0 -1
  534. package/__internal__/src/responsesImages/ResponsesImageDeleted/ResponsesImageDeleted.d.ts +0 -1
  535. package/__internal__/src/responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBox.d.ts +0 -1
  536. package/__internal__/src/responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPockets.d.ts +0 -1
  537. package/__internal__/src/responsesImages/ResponsesImageExit/ResponsesImageExit.d.ts +0 -1
  538. package/__internal__/src/responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFound.d.ts +0 -1
  539. package/__internal__/src/responsesImages/ResponsesImageSuccess/ResponsesImageSuccess.d.ts +0 -1
  540. package/__internal__/src/responsesImages/createResponsesImage/createResponsesImage.d.ts +2 -2
  541. package/__internal__/src/stand/standConfig.d.ts +1 -1
  542. package/__internal__/src/uiKit/components/ColorPreview/ColorPreview.d.ts +1 -1
  543. package/__internal__/src/uiKit/components/Image/Image.d.ts +1 -1
  544. package/__internal__/src/utils/array.d.ts +2 -2
  545. package/__internal__/src/utils/cnForCssTransition.d.ts +1 -1
  546. package/__internal__/src/utils/date/isDisableDate.d.ts +5 -5
  547. package/__internal__/src/utils/date/isInMinMaxDate.d.ts +1 -1
  548. package/__internal__/src/utils/getGroups.d.ts +12 -9
  549. package/__internal__/src/utils/getGroups.js.map +1 -1
  550. package/__internal__/src/utils/isRenderProp.d.ts +1 -2
  551. package/__internal__/src/utils/object/index.d.ts +2 -0
  552. package/__internal__/src/utils/object/index.js +1 -1
  553. package/__internal__/src/utils/object/index.js.map +1 -1
  554. package/__internal__/src/utils/object/objectWithDefault.d.ts +4 -0
  555. package/__internal__/src/utils/object/objectWithDefault.js +2 -0
  556. package/__internal__/src/utils/object/objectWithDefault.js.map +1 -0
  557. package/__internal__/src/utils/object/pick.d.ts +4 -0
  558. package/__internal__/src/utils/object/pick.js +2 -0
  559. package/__internal__/src/utils/object/pick.js.map +1 -0
  560. package/__internal__/src/utils/setRef.d.ts +1 -1
  561. package/__internal__/src/utils/state/index.d.ts +3 -0
  562. package/__internal__/src/utils/state/index.js +2 -0
  563. package/__internal__/src/utils/state/index.js.map +1 -0
  564. package/__internal__/src/utils/state/useCreateAtom/index.d.ts +1 -0
  565. package/__internal__/src/utils/state/useCreateAtom/index.js +2 -0
  566. package/__internal__/src/utils/state/useCreateAtom/index.js.map +1 -0
  567. package/__internal__/src/utils/state/useCreateAtom/useCreateAtom.d.ts +2 -0
  568. package/__internal__/src/utils/state/useCreateAtom/useCreateAtom.js +2 -0
  569. package/__internal__/src/utils/state/useCreateAtom/useCreateAtom.js.map +1 -0
  570. package/__internal__/src/utils/state/usePickAtom/index.d.ts +1 -0
  571. package/__internal__/src/utils/state/usePickAtom/index.js +2 -0
  572. package/__internal__/src/utils/state/usePickAtom/index.js.map +1 -0
  573. package/__internal__/src/utils/state/usePickAtom/usePickAtom.d.ts +10 -0
  574. package/__internal__/src/utils/state/usePickAtom/usePickAtom.js +2 -0
  575. package/__internal__/src/utils/state/usePickAtom/usePickAtom.js.map +1 -0
  576. package/__internal__/src/utils/state/useRefAtom/index.d.ts +1 -0
  577. package/__internal__/src/utils/state/useRefAtom/index.js +2 -0
  578. package/__internal__/src/utils/state/useRefAtom/index.js.map +1 -0
  579. package/__internal__/src/utils/state/useRefAtom/useRefAtom.d.ts +2 -0
  580. package/__internal__/src/utils/state/useRefAtom/useRefAtom.js +2 -0
  581. package/__internal__/src/utils/state/useRefAtom/useRefAtom.js.map +1 -0
  582. package/__internal__/src/utils/state/useSendToAtom/index.d.ts +1 -0
  583. package/__internal__/src/utils/state/useSendToAtom/index.js +2 -0
  584. package/__internal__/src/utils/state/useSendToAtom/index.js.map +1 -0
  585. package/__internal__/src/utils/state/useSendToAtom/useSendToAtom.d.ts +1 -0
  586. package/__internal__/src/utils/state/useSendToAtom/useSendToAtom.js +2 -0
  587. package/__internal__/src/utils/state/useSendToAtom/useSendToAtom.js.map +1 -0
  588. package/__internal__/src/utils/state/withCtx/index.d.ts +1 -0
  589. package/__internal__/src/utils/state/withCtx/index.js +2 -0
  590. package/__internal__/src/utils/state/withCtx/index.js.map +1 -0
  591. package/__internal__/src/utils/state/withCtx/withCtx.d.ts +1 -0
  592. package/__internal__/src/utils/state/withCtx/withCtx.js +2 -0
  593. package/__internal__/src/utils/state/withCtx/withCtx.js.map +1 -0
  594. package/__internal__/src/utils/type-guards.d.ts +1 -1
  595. package/__internal__/src/utils/types/AsTags.d.ts +3 -3
  596. package/__internal__/src/utils/types/AutoComplete.d.ts +1 -1
  597. package/__internal__/src/utils/types/Date.d.ts +1 -1
  598. package/__internal__/src/utils/types/KeyCode.d.ts +2 -2
  599. package/__internal__/src/utils/types/PropsWithAsAttributes.d.ts +3 -3
  600. package/__internal__/src/utils/types/PropsWithHTMLAttributes.d.ts +2 -3
  601. package/__internal__/src/utils/types/PropsWithJsxAttributes.d.ts +1 -1
  602. package/package.json +3 -1
@@ -0,0 +1,117 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
2
+ import React from 'react';
3
+ import { FieldPropForm, FieldPropSize, FieldPropStatus, FieldPropView } from '##/components/FieldComponents';
4
+ import { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';
5
+ export type RenderItemProps<ITEM> = {
6
+ item: ITEM;
7
+ active: boolean;
8
+ hovered: boolean;
9
+ onClick: (e: React.MouseEvent) => void;
10
+ onMouseEnter: (e: React.MouseEvent) => void;
11
+ ref: React.Ref<HTMLDivElement>;
12
+ };
13
+ export type SelectItemDefault = {
14
+ label: string;
15
+ id: string | number;
16
+ groupId?: string | number;
17
+ disabled?: boolean;
18
+ };
19
+ export type SelectGroupDefault = {
20
+ label: string;
21
+ id: string | number;
22
+ };
23
+ export type SelectPropGetItemLabel<ITEM> = (item: ITEM) => string;
24
+ export type SelectPropGetItemKey<ITEM> = (item: ITEM) => string | number;
25
+ export type SelectPropGetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;
26
+ export type SelectPropGetItemDisabled<ITEM> = (item: ITEM) => boolean | undefined;
27
+ export type SelectPropGetGroupKey<GROUP> = (group: GROUP) => string | number;
28
+ export type SelectPropGetGroupLabel<GROUP> = (group: GROUP) => string;
29
+ export type SelectPropOnChange<ITEM, MULTIPLE extends boolean> = (value: (MULTIPLE extends true ? ITEM[] : ITEM) | null, props: {
30
+ e: React.SyntheticEvent;
31
+ }) => void;
32
+ export type SelectPropValue<ITEM, MULTIPLE extends boolean> = (MULTIPLE extends true ? ITEM[] : ITEM) | null | undefined;
33
+ export type SelectPropRenderItem<ITEM> = (props: RenderItemProps<ITEM>) => React.ReactNode | null;
34
+ export type SelectPropRenderValue<ITEM, MULTIPLE> = MULTIPLE extends true ? (props: {
35
+ value: ITEM[];
36
+ getRemove: (item: ITEM) => (e: React.SyntheticEvent<Element, Event>) => void;
37
+ }) => React.ReactNode | null : (props: {
38
+ value: ITEM;
39
+ }) => React.ReactNode | null;
40
+ export type SelectPropOnCreate = (label: string, props: {
41
+ e: React.SyntheticEvent;
42
+ }) => void;
43
+ export type SelectAllItem = {
44
+ groupKey: string | number;
45
+ __optionSelectAll: true;
46
+ };
47
+ export type Group<ITEM, GROUP> = {
48
+ items: ITEM[];
49
+ key: string | number;
50
+ group?: GROUP;
51
+ };
52
+ export type CountedGroup<ITEM, GROUP> = Omit<Group<ITEM, GROUP>, 'items'> & {
53
+ items: Array<SelectAllItem | ITEM>;
54
+ };
55
+ export type SelectPropsInit<ITEM = SelectItemDefault, GROUP = SelectGroupDefault, MULTIPLE extends boolean = false> = PropsWithHTMLAttributesAndRef<{
56
+ 'items': ITEM[];
57
+ 'onChange': SelectPropOnChange<ITEM, MULTIPLE>;
58
+ 'disabled'?: boolean;
59
+ 'form'?: FieldPropForm;
60
+ 'dropdownForm'?: 'default' | 'brick' | 'round';
61
+ 'size'?: FieldPropSize;
62
+ 'view'?: FieldPropView;
63
+ 'placeholder'?: string;
64
+ 'aria-Label'?: string;
65
+ 'status'?: FieldPropStatus;
66
+ 'isLoading'?: boolean;
67
+ 'dropdownClassName'?: string;
68
+ 'dropdownRef'?: React.Ref<HTMLDivElement>;
69
+ 'renderItem'?: SelectPropRenderItem<ITEM>;
70
+ 'renderValue'?: SelectPropRenderValue<ITEM, MULTIPLE>;
71
+ 'onFocus'?: React.FocusEventHandler<HTMLInputElement>;
72
+ 'onBlur'?: React.FocusEventHandler<HTMLInputElement>;
73
+ 'onCreate'?: SelectPropOnCreate;
74
+ 'inputRef'?: React.Ref<HTMLInputElement>;
75
+ 'input'?: boolean;
76
+ 'inputValue'?: string;
77
+ 'inputDefaultValue'?: string;
78
+ 'onInput'?: (value: string) => void;
79
+ 'labelForCreate'?: ((label: string | undefined) => React.ReactNode) | React.ReactNode;
80
+ 'labelForEmptyItems'?: string;
81
+ 'multiple'?: MULTIPLE;
82
+ 'value'?: SelectPropValue<ITEM, MULTIPLE>;
83
+ 'groups'?: GROUP[];
84
+ 'getItemLabel'?: SelectPropGetItemLabel<ITEM>;
85
+ 'getItemKey'?: SelectPropGetItemKey<ITEM>;
86
+ 'getItemGroupKey'?: SelectPropGetItemGroupKey<ITEM>;
87
+ 'getItemDisabled'?: SelectPropGetItemDisabled<ITEM>;
88
+ 'getGroupLabel'?: SelectPropGetGroupLabel<GROUP>;
89
+ 'getGroupKey'?: SelectPropGetGroupKey<GROUP>;
90
+ 'virtualScroll'?: boolean;
91
+ 'onScrollToBottom'?: (length: number) => void;
92
+ 'onDropdownOpen'?: (isOpen: boolean) => void;
93
+ 'dropdownOpen'?: boolean;
94
+ 'ignoreOutsideClicksRefs'?: ReadonlyArray<React.RefObject<HTMLElement>>;
95
+ 'clearButton'?: boolean;
96
+ 'iconClear'?: IconComponent;
97
+ 'selectAll'?: MULTIPLE extends true ? boolean : never;
98
+ 'selectAllLabel'?: string;
99
+ }, HTMLDivElement>;
100
+ export type SelectProps<ITEM = SelectItemDefault, GROUP = SelectGroupDefault, MULTIPLE extends boolean = false> = SelectPropsInit<ITEM, GROUP, MULTIPLE> & (ITEM extends {
101
+ label: SelectItemDefault['label'];
102
+ } ? {} : {
103
+ getItemLabel: SelectPropGetItemLabel<ITEM>;
104
+ }) & (ITEM extends {
105
+ id: SelectItemDefault['id'];
106
+ } ? {} : {
107
+ getItemKey: SelectPropGetItemKey<ITEM>;
108
+ }) & (GROUP extends {
109
+ label: SelectGroupDefault['label'];
110
+ } ? {} : {
111
+ getGroupLabel: SelectPropGetGroupLabel<GROUP>;
112
+ }) & (GROUP extends {
113
+ id: SelectGroupDefault['id'];
114
+ } ? {} : {
115
+ getGroupKey: SelectPropGetGroupKey<GROUP>;
116
+ });
117
+ export type SelectComponent = <ITEM = SelectItemDefault, GROUP = SelectGroupDefault, MULTIPLE extends boolean = false>(props: SelectProps<ITEM, GROUP, MULTIPLE>) => React.ReactElement | null;
@@ -0,0 +1,2 @@
1
+ export{};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +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":""}
@@ -0,0 +1 @@
1
+ export * from './useSearch';
@@ -0,0 +1,2 @@
1
+ export*from"./useSearch";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectCanary/useSearch/index.ts"],"sourcesContent":["export * from './useSearch';\n"],"mappings":"AAAA"}
@@ -0,0 +1,22 @@
1
+ type SelectItemDefault = {
2
+ label: string;
3
+ };
4
+ export type UseSearchPropSearch<ITEM> = (item: ITEM, searchValue: string) => boolean;
5
+ type UseSearchProps<ITEM = SelectItemDefault> = {
6
+ items: ITEM[];
7
+ search?: UseSearchPropSearch<ITEM>;
8
+ labelForNotFound?: string;
9
+ debounceTimeOut?: number;
10
+ } & (ITEM extends {
11
+ label: SelectItemDefault['label'];
12
+ } ? {} : {
13
+ search: UseSearchPropSearch<ITEM>;
14
+ });
15
+ export declare const getSearchFunctionDefault: <ITEM>(comparison: (item: ITEM) => string) => (item: ITEM, searchValue: string) => boolean;
16
+ export declare const useSearch: <ITEM = SelectItemDefault>({ items, search, debounceTimeOut, labelForNotFound, }: UseSearchProps<ITEM>) => {
17
+ input: boolean;
18
+ onInput: import("react").Dispatch<import("react").SetStateAction<string>>;
19
+ items: ITEM[];
20
+ labelForEmptyItems: string | undefined;
21
+ };
22
+ export {};
@@ -0,0 +1,2 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import{useMemo,useState}from"react";import{defaultGetItemLabel}from"../helpers";import{useDebounce}from"../../../hooks/useDebounce";export var getSearchFunctionDefault=function(a){return function(b,c){return-1!==a(b).toLocaleLowerCase().indexOf(c.toLocaleLowerCase())}};var searchDefault=getSearchFunctionDefault(defaultGetItemLabel),defaultLabelForNotFound="\u041D\u0435 \u043D\u0430\u0439\u0434\u0435\u043D\u043E";export var useSearch=function(a){var b=a.items,c=a.search,d=void 0===c?searchDefault:c,e=a.debounceTimeOut,f=void 0===e?300:e,g=a.labelForNotFound,h=void 0===g?defaultLabelForNotFound:g,i=useState(""),j=_slicedToArray(i,2),k=j[0],l=j[1],m=useDebounce(l,f),n=useMemo(function(){return k?b.filter(function(a){return d(a,k)}):b},[k]);return{input:!0,onInput:m,items:n,labelForEmptyItems:k?h:void 0}};
2
+ //# sourceMappingURL=useSearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSearch.js","names":["useMemo","useState","defaultGetItemLabel","useDebounce","getSearchFunctionDefault","comparison","item","searchValue","toLocaleLowerCase","indexOf","searchDefault","defaultLabelForNotFound","useSearch","items","search","debounceTimeOut","labelForNotFound","inputState","setInputState","setInputStateDebounce","filteredItems","filter","input","onInput","labelForEmptyItems"],"sources":["../../../../../../src/components/SelectCanary/useSearch/useSearch.ts"],"sourcesContent":["import { useMemo, useState } from 'react';\n\nimport { defaultGetItemLabel } from '##/components/SelectCanary/helpers';\nimport { useDebounce } from '##/hooks/useDebounce';\n\ntype SelectItemDefault = {\n label: string;\n};\n\nexport type UseSearchPropSearch<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\ntype UseSearchProps<ITEM = SelectItemDefault> = {\n items: ITEM[];\n search?: UseSearchPropSearch<ITEM>;\n labelForNotFound?: string;\n debounceTimeOut?: number;\n} & (ITEM extends { label: SelectItemDefault['label'] }\n ? {}\n : { search: UseSearchPropSearch<ITEM> });\n\nexport const getSearchFunctionDefault = <ITEM>(\n comparison: (item: ITEM) => string,\n) => {\n return (item: ITEM, searchValue: string) =>\n comparison(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1;\n};\n\nconst searchDefault = getSearchFunctionDefault(defaultGetItemLabel);\n\nconst defaultLabelForNotFound = 'Не найдено';\n\nexport const useSearch = <ITEM = SelectItemDefault>({\n items,\n search = searchDefault as unknown as UseSearchPropSearch<ITEM>,\n debounceTimeOut = 300,\n labelForNotFound = defaultLabelForNotFound,\n}: UseSearchProps<ITEM>) => {\n const [inputState, setInputState] = useState('');\n const setInputStateDebounce = useDebounce(setInputState, debounceTimeOut);\n\n const filteredItems = useMemo(() => {\n if (!inputState) return items;\n return items.filter((item) => search(item, inputState));\n }, [inputState]);\n\n return {\n input: true,\n onInput: setInputStateDebounce,\n items: filteredItems,\n labelForEmptyItems: inputState ? labelForNotFound : undefined,\n };\n};\n"],"mappings":"iEAAA,OAASA,OAAT,CAAkBC,QAAlB,KAAkC,OAAlC,CAEA,OAASC,mBAAT,kBACA,OAASC,WAAT,kCAoBA,MAAO,IAAMC,yBAAwB,CAAG,SACtCC,CADsC,CAEnC,CACH,MAAO,UAACC,CAAD,CAAaC,CAAb,QAG2C,CAAC,CAFjD,GAAAF,CAAU,CAACC,CAAD,CAAV,CACGE,iBADH,GAEGC,OAFH,CAEWF,CAAW,CAACC,iBAAZ,EAFX,CADK,CAIR,CAPM,C,GASDE,cAAa,CAAGN,wBAAwB,CAACF,mBAAD,C,CAExCS,uBAAuB,CAAG,yD,CAEhC,MAAO,IAAMC,UAAS,CAAG,WAKG,IAJ1BC,EAI0B,GAJ1BA,KAI0B,KAH1BC,MAG0B,CAH1BA,CAG0B,YAHjBJ,aAGiB,OAF1BK,eAE0B,CAF1BA,CAE0B,YAFR,GAEQ,OAD1BC,gBAC0B,CAD1BA,CAC0B,YADPL,uBACO,KACUV,QAAQ,CAAC,EAAD,CADlB,uBACnBgB,CADmB,MACPC,CADO,MAEpBC,CAAqB,CAAGhB,WAAW,CAACe,CAAD,CAAgBH,CAAhB,CAFf,CAIpBK,CAAa,CAAGpB,OAAO,CAAC,UAAM,OAC7BiB,EAD6B,CAE3BJ,CAAK,CAACQ,MAAN,CAAa,SAACf,CAAD,QAAUQ,EAAM,CAACR,CAAD,CAAOW,CAAP,CAAhB,CAAb,CAF2B,CACVJ,CAEzB,CAH4B,CAG1B,CAACI,CAAD,CAH0B,CAJH,CAS1B,MAAO,CACLK,KAAK,GADA,CAELC,OAAO,CAAEJ,CAFJ,CAGLN,KAAK,CAAEO,CAHF,CAILI,kBAAkB,CAAEP,CAAU,CAAGD,CAAH,OAJzB,CAMR,CApBM"}
@@ -0,0 +1,4 @@
1
+ import React from 'react';
2
+ type ScrollToIndexFunctionType = (optionIndex: number, dropdownElement: HTMLDivElement | null, optionsRefs: React.RefObject<HTMLDivElement>[], onFailure?: () => void) => void;
3
+ export declare const scrollToIndex: ScrollToIndexFunctionType;
4
+ export {};
@@ -0,0 +1,2 @@
1
+ import{scrollIntoView}from"../../../utils/scrollIntoView";export var scrollToIndex=function(a,b,c,d){var e;if(b&&!(0>a)){var f=null===(e=c[a])||void 0===e?void 0:e.current;f?scrollIntoView(f,b):null===d||void 0===d?void 0:d()}};
2
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","names":["scrollIntoView","scrollToIndex","index","dropdownElement","optionsRefs","onFailure","element","current"],"sources":["../../../../../../src/components/SelectCanary/useSelect/helpers.ts"],"sourcesContent":["import React from 'react';\n\nimport { scrollIntoView } from '##/utils/scrollIntoView';\n\ntype ScrollToIndexFunctionType = (\n optionIndex: number,\n dropdownElement: HTMLDivElement | null,\n optionsRefs: React.RefObject<HTMLDivElement>[],\n onFailure?: () => void,\n) => void;\n\nexport const scrollToIndex: ScrollToIndexFunctionType = (\n index,\n dropdownElement,\n optionsRefs,\n onFailure,\n): void => {\n if (!dropdownElement || index < 0) {\n return;\n }\n\n const element = optionsRefs[index]?.current;\n\n if (element) {\n scrollIntoView(element, dropdownElement);\n } else {\n onFailure?.();\n }\n};\n"],"mappings":"AAEA,OAASA,cAAT,qCASA,MAAO,IAAMC,cAAwC,CAAG,SACtDC,CADsD,CAEtDC,CAFsD,CAGtDC,CAHsD,CAItDC,CAJsD,CAK7C,OACT,GAAKF,CAAD,IAA4B,CAAR,CAAAD,CAApB,CAAJ,EAIA,GAAMI,EAAO,WAAGF,CAAW,CAACF,CAAD,CAAd,qBAAG,EAAoBK,OAApC,CAEID,CANJ,CAOEN,cAAc,CAACM,CAAD,CAAUH,CAAV,CAPhB,QASEE,CATF,WASEA,CATF,QASEA,CAAS,EATX,CAWD,CAjBM"}
@@ -0,0 +1 @@
1
+ export * from './useSelect';
@@ -0,0 +1,2 @@
1
+ export*from"./useSelect";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/SelectCanary/useSelect/index.ts"],"sourcesContent":["export * from './useSelect';\n"],"mappings":"AAAA"}
@@ -0,0 +1,57 @@
1
+ import { AtomMut } from '@reatom/framework';
2
+ import React from 'react';
3
+ import { GetGroupsResult } from '##/utils/getGroups';
4
+ import { PropsWithDefault } from '../../SelectCanary/defaultProps';
5
+ import { SelectGroupDefault, SelectItemDefault } from '..';
6
+ import { CountedGroup, Group, SelectAllItem } from '../types';
7
+ type IndexForHighlight = number | ((oldIndex: number) => number);
8
+ export type OptionForCreate = {
9
+ label: string;
10
+ __optionForCreate: boolean;
11
+ };
12
+ export type UseSelectProps<ITEM = SelectItemDefault, GROUP = SelectGroupDefault, MULTIPLE extends boolean = false> = {
13
+ propsAtom: AtomMut<PropsWithDefault<ITEM, GROUP, MULTIPLE>>;
14
+ };
15
+ export type OptionProps<ITEM> = {
16
+ index: number;
17
+ item: ITEM | OptionForCreate | SelectAllItem;
18
+ };
19
+ export type GetOptionPropsResult = {
20
+ onClick: (e: React.MouseEvent) => void;
21
+ onMouseEnter: (e: React.MouseEvent) => void;
22
+ };
23
+ export declare const isOptionForCreate: <ITEM, GROUP>(params: OptionForCreate | Group<ITEM, GROUP> | ITEM) => params is OptionForCreate;
24
+ export declare const isNotOptionForCreate: <ITEM, GROUP>(params: OptionForCreate | Group<ITEM, GROUP>) => params is Group<ITEM, GROUP>;
25
+ export declare const isOptionForSelectAll: <ITEM>(params: SelectAllItem | ITEM) => params is SelectAllItem;
26
+ export declare function getCountedGroups<ITEM, GROUP>(groups: GetGroupsResult<ITEM, GROUP>, selectAll: boolean): CountedGroup<ITEM, GROUP>[];
27
+ export declare const useSelect: <ITEM = SelectItemDefault, GROUP = SelectItemDefault, MULTIPLE extends boolean = false>({ propsAtom, }: UseSelectProps<ITEM, GROUP, MULTIPLE>) => {
28
+ openAtom: AtomMut<boolean>;
29
+ focusAtom: AtomMut<boolean>;
30
+ inputValueAtom: AtomMut<string>;
31
+ clearButtonAtom: AtomMut<boolean>;
32
+ onInput: import("@reatom/framework").Fn<[value?: string | undefined], void>;
33
+ getOptionActions: import("@reatom/framework").Fn<[OptionProps<ITEM>], GetOptionPropsResult>;
34
+ handleInputBlur: import("@reatom/framework").Fn<[e: React.FocusEvent<HTMLInputElement, Element>], void>;
35
+ handleToggleDropdown: import("@reatom/framework").Fn<[], void>;
36
+ getHandleRemoveValue: import("@reatom/framework").Fn<[item: ITEM], (e: React.SyntheticEvent) => void>;
37
+ inputRef: React.RefObject<HTMLInputElement>;
38
+ dropdownRef: React.RefObject<HTMLDivElement>;
39
+ controlRef: React.RefObject<HTMLDivElement>;
40
+ handleInputChange: import("@reatom/framework").Fn<[e: React.ChangeEvent<HTMLInputElement>], void>;
41
+ handleInputClick: import("@reatom/framework").Fn<[], void>;
42
+ handleInputFocus: import("@reatom/framework").Fn<[e: React.FocusEvent<HTMLInputElement, Element>], void>;
43
+ visibleItemsAtom: AtomMut<(OptionForCreate | CountedGroup<ITEM, GROUP>)[]>;
44
+ clearValue: import("@reatom/framework").Fn<[e: React.SyntheticEvent<Element, Event>], void>;
45
+ optionsRefs: React.RefObject<HTMLDivElement>[];
46
+ highlightedIndexAtom: AtomMut<number>;
47
+ valueAtom: AtomMut<ITEM[]>;
48
+ getItemKeyAtom: AtomMut<import("..").SelectPropGetItemKey<ITEM>>;
49
+ onChangeAll: import("@reatom/framework").Fn<[e: React.SyntheticEvent<Element, Event>, items: ITEM[]], void>;
50
+ highlightIndex: import("@reatom/framework").Fn<[indexForHighlight: IndexForHighlight], void>;
51
+ onCreate: import("@reatom/framework").Fn<[e: React.SyntheticEvent<Element, Event>], void>;
52
+ onChange: import("@reatom/framework").Fn<[e: React.SyntheticEvent<Element, Event>, item: ITEM], void>;
53
+ hasItemsAtom: AtomMut<boolean>;
54
+ groupsCounterAtom: AtomMut<Record<string, [number, number]>>;
55
+ dropdownZIndexAtom: AtomMut<number | undefined>;
56
+ };
57
+ export {};
@@ -0,0 +1,2 @@
1
+ import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useAction,useAtom,useUpdate}from"@reatom/npm-react";import{useRef}from"react";import{useClickOutside}from"../../../hooks/useClickOutside";import{useKeysRef}from"../../../hooks/useKeysRef";import{useRefs}from"../../../hooks/useRefs";import{getGroups}from"../../../utils/getGroups";import{useCreateAtom}from"../../../utils/state/useCreateAtom";import{usePickAtom,usePropAtom}from"../../../utils/state/usePickAtom";import{scrollToIndex}from"./helpers";var isMultipleParams=function(a){return!!a.multiple};export var isOptionForCreate=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isNotOptionForCreate=function(a){return a&&!Object.prototype.hasOwnProperty.call(a,"__optionForCreate")};export var isOptionForSelectAll=function(a){return a&&Object.prototype.hasOwnProperty.call(a,"__optionSelectAll")};export function getCountedGroups(a,b){var c=_toConsumableArray(a);return b&&a.forEach(function(a,b){c[b].items=[{__optionSelectAll:!0,groupKey:a.key}].concat(_toConsumableArray(c[b].items))}),c}export var useSelect=function(a){var b=a.propsAtom,c=useRef(null),d=useRef(null),e=useRef(null),f=usePropAtom(b,"items"),g=usePropAtom(b,"selectAll"),h=usePropAtom(b,"value"),i=usePropAtom(b,"disabled"),j=usePropAtom(b,"inputValue"),k=usePropAtom(b,"dropdownOpen"),l=useCreateAtom(function(a){var c,d=null===(c=a.spy(b).style)||void 0===c?void 0:c.zIndex;return"number"==typeof d?d+1:void 0}),m=usePropAtom(b,"ignoreOutsideClicksRefs"),n=usePropAtom(b,"onCreate"),o=usePropAtom(b,"getItemKey"),p=useAtom(m),q=_slicedToArray(p,1),r=q[0],s=useCreateAtom(function(a){var b=a.spy(h);return b&&(Array.isArray(b)?b:[b])||[]}),t=useCreateAtom(!1),u=useCreateAtom(!1),v=useCreateAtom(0),w=useCreateAtom(""),x=useCreateAtom(function(a){var c=a.spy(b),d=c.clearButton,e=a.spy(w),f=a.spy(s);return!!(d&&(null!==f&&void 0!==f&&f.length||e))}),y=useAction(function(a){var d,e,f=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"";null===(d=(e=a.get(b)).onInput)||void 0===d?void 0:d.call(e,f),w(a,f),c.current&&(c.current.value=f)}),z=useCreateAtom(function(a){var b=a.spy(n);if(b){var c=a.spy(w);return{label:c,__optionForCreate:!0}}}),A=usePickAtom(b,["selectAll","groups","getItemGroupKey","getGroupKey","getItemDisabled","getItemKey","items"]),B=useCreateAtom(function(a){var b=a.spy(A),c=b.selectAll,d=b.groups,e=b.getItemGroupKey,f=b.getGroupKey,g=b.items,h=a.spy(z),i=getCountedGroups(getGroups(g,null!==d&&void 0!==d&&d.length?e:void 0,d,f,void 0),!!c);return h?[h].concat(_toConsumableArray(i)):i}),C=useCreateAtom(function(a){var b=a.spy(B),c=a.spy(g),d=a.spy(s),e=a.get(A),f=e.getItemDisabled,h={};return c&&function getSelectedCounter(){var a,c=_createForOfIteratorHelper(b);try{for(c.s();!(a=c.n()).done;){var j=a.value;if(!isOptionForCreate(j)){h[j.key]=[0,j.items.length-1];var e,g=_createForOfIteratorHelper(j.items);try{var i=function(){var a=e.value;isOptionForSelectAll(a)||f(a)||!d.some(function(b){return b===a})||(h[j.key][0]=(h[j.key][0]||0)+1)};for(g.s();!(e=g.n()).done;)i()}catch(a){g.e(a)}finally{g.f()}}}}catch(a){c.e(a)}finally{c.f()}}(),h}),D=useAtom(function(a){var b=a.spy(f),c=a.spy(z),d=a.spy(g),e=a.spy(B);return b.length+(c?1:0)+(d?e.length:0)}),E=_slicedToArray(D,3),F=E[0],G=E[1],H=E[2],I=useCreateAtom(function(a){var b=a.spy(f),c=a.spy(z);return!!c||!!b.length}),J=useRefs(F,void 0),K=useAction(function(a){var b=a.get(f),c=a.get(v),e=d.current;0<b.length&&e&&scrollToIndex(c,e,J)}),L=useAction(function(a,b){var c=a.get(H);v(a,function(a){var d=Math.min(Math.max(0,"function"==typeof b?b(a):b),c-1);return d})}),M=useAction(function(a,c,d){c.stopPropagation();var e=a.get(b);if(isMultipleParams(e)){var f=e.getItemDisabled,g=e.getItemKey,h=e.onChange,i=a.get(s).filter(function(a){return!!(null!==f&&void 0!==f&&f(a))||g(a)!==g(d)});h(null!==i&&void 0!==i&&i.length?i:null,{e:c})}}),N=useAction(function(a,c,d){var e=a.get(b),f=e.getItemDisabled,g=e.getItemKey,h=e.onChange,i=e.multiple,j=e.disabled;if(console.log("disabled",j),!(j||f&&f(d)))if(i){var k=a.get(s),l=k.some(function(a){return g(a)===g(d)})?k.filter(function(a){return g(a)!==g(d)}):[].concat(_toConsumableArray(k),[d]),m=null!==l&&void 0!==l&&l.length?l:null;h(m,{e:c})}else h(d,{e:c}),y(""),u(a,!1)}),O=useAction(function(a,c,d){var e=a.get(b),f=a.get(s),g=e.getItemDisabled,h=e.getItemKey,i=e.multiple,j=e.onChange;if(i){var k=g?d.filter(function(a){return!g(a)}):d,l=[],m=[];if(f.forEach(function(a){k.find(function(b){return h(a)===h(b)})?l.push(a):m.push(a)}),l.length===k.length)j(m,{e:c});else{var n=[].concat(m,_toConsumableArray(k));j(n,{e:c})}}}),P=useAction(function(a,c){var d=a.get(b),e=d.onCreate;null===e||void 0===e?void 0:e(a.get(w),{e:c}),u(a,!1),y("")}),Q=useAction(function(a,c){!a.get(i)&&a.get(b).input&&(null===y||void 0===y?void 0:y(c.target.value),u(a,!0))}),R=useAction(function(a){var b;a.get(i)||u(a,function(a){return!a}),null===(b=c.current)||void 0===b?void 0:b.focus()}),S=useAction(function(a,c){var d=a.get(b),e=d.getItemDisabled,f=d.multiple,g=d.onChange,h=d.disabled;if(console.log(""),!h){var i=a.get(s);if(f){var j=null===i||void 0===i?void 0:i.filter(function(a){return null===e||void 0===e?void 0:e(a)}),k=j&&0<j.length?j:null;g(k,{e:c})}else g(null,{e:c});y("")}}),T=useAction(function(a,b){return function(a){return M(a,b)}}),U=useAction(function(a,b){b.preventDefault(),a.get(i)||(u(a,!0),L(function(a){return a-1}),K())}),V=useAction(function(a,b){b.preventDefault(),a.get(i)||(u(a,!0),L(function(a){return a+1}),K())}),W=useAction(function(a,c){var d=a.get(b),e=d.items,f=a.get(v),g=a.get(w),h=a.get(B),i=a.get(u);if(i){(g||e[f])&&c.preventDefault();var j=function(a){var b,c=0,d=_createForOfIteratorHelper(h);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(isOptionForCreate(e)){if(c===a)return[void 0,e];c++;continue}if(e.items.length+c>a)return[e,e.items[a-c]];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}return[void 0,void 0]},k=j(f),l=_slicedToArray(k,2),m=l[0],n=l[1];if(isOptionForCreate(n))return void P(c);if(isOptionForSelectAll(n)){var o;return void O(c,null!==(o=null===m||void 0===m?void 0:m.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==o?o:[])}n&&N(c,n)}else u(a,!0)}),X=useAction(function(a){return u(a,!1)}),Y=useAction(function(a,b){a.get(u)&&(b.preventDefault(),u(a,!1))}),Z=useAction(function(a,c){var d=a.get(w),e=a.get(b),f=e.multiple,g=e.clearButton,h=a.get(s);d||(f?M(c,h[h.length-1]):g&&(null===S||void 0===S?void 0:S(c)))}),$=useAtom({ArrowUp:U,ArrowDown:V,PageUp:U,PageDown:V,Home:U,End:V,Enter:W,Escape:X,Tab:Y,Backspace:Z}),_=_slicedToArray($,1),aa=_[0],ba=useAction(function(a,b){var c=b.index,d=b.item,e=a.get(B);if(isOptionForCreate(d))return{onClick:P,onMouseEnter:function onMouseEnter(){return L(c)}};if(isOptionForSelectAll(d)){var f=function(){var a,b=_createForOfIteratorHelper(e);try{for(b.s();!(a=b.n()).done;){var f=a.value;if(!isOptionForCreate(f)&&f.key===d.groupKey){var c;return null!==(c=null===f||void 0===f?void 0:f.items.filter(function(a){return!isOptionForSelectAll(a)}))&&void 0!==c?c:[]}}}catch(a){b.e(a)}finally{b.f()}return[]};return{onClick:function onClick(a){return O(a,f())},onMouseEnter:function onMouseEnter(){return L(c)}}}return{onClick:function onClick(a){return N(a,d)},onMouseEnter:function onMouseEnter(){return L(c)}}}),ca=useAction(function(a,c){var d=a.get(b),e=d.disabled,f=d.onFocus,g=a.get(t);e||(!g&&t(a,!0),"function"==typeof f&&f(c))}),da=useAction(function(a,d){var e=a.get(b),f=e.onBlur;if(a.get(u)){var g;return void(null===(g=c.current)||void 0===g?void 0:g.focus())}a.get(t)&&t(a,!1),"function"==typeof f&&f(d)}),ea=useAction(function(a){var b=a.get(i);if(a.get(u))u(a,!1),t(a,!1);else if(!b){var d;u(a,!0),t(a,!0),null===(d=c.current)||void 0===d?void 0:d.focus()}});return useKeysRef({keys:aa,ref:c,isActive:useAction(function(a){return!a.get(i)})}),useClickOutside({isActive:useAction(function(a){return a.get(u)}),ignoreClicksInsideRefs:[d,e].concat(_toConsumableArray(r||[])),handler:useAction(function(a){return u(a,!1)})}),useUpdate(function(a,b){return b&&u(a,!1)},[i]),useUpdate(function(a){var c,d,e=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];null===(c=(d=a.get(b)).onDropdownOpen)||void 0===c?void 0:c.call(d,e),L(0)},[u]),useUpdate(function(a){var b=1<arguments.length&&void 0!==arguments[1]?arguments[1]:"",c=a.get(w);b!==c&&y(b)},[j]),useUpdate(function(a){var b=!!(1<arguments.length&&void 0!==arguments[1])&&arguments[1];return u(a,b)},[k]),{openAtom:u,focusAtom:t,inputValueAtom:w,clearButtonAtom:x,onInput:y,getOptionActions:ba,handleInputBlur:da,handleToggleDropdown:ea,getHandleRemoveValue:T,inputRef:c,dropdownRef:d,controlRef:e,handleInputChange:Q,handleInputClick:R,handleInputFocus:ca,visibleItemsAtom:B,clearValue:S,optionsRefs:J,highlightedIndexAtom:v,valueAtom:s,getItemKeyAtom:o,onChangeAll:O,highlightIndex:L,onCreate:P,onChange:N,hasItemsAtom:I,groupsCounterAtom:C,dropdownZIndexAtom:l}};
2
+ //# sourceMappingURL=useSelect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useSelect.js","names":["useAction","useAtom","useUpdate","useRef","useClickOutside","useKeysRef","useRefs","getGroups","useCreateAtom","usePickAtom","usePropAtom","scrollToIndex","isMultipleParams","params","multiple","isOptionForCreate","Object","prototype","hasOwnProperty","call","isNotOptionForCreate","isOptionForSelectAll","getCountedGroups","groups","selectAll","copyGroups","forEach","group","index","items","__optionSelectAll","groupKey","key","useSelect","propsAtom","inputRef","dropdownRef","controlRef","itemsAtom","selectAllAtom","valuePropAtom","disabledAtom","inputValuePropAtom","dropdownOpenPropAtom","dropdownZIndexAtom","ctx","zIndex","spy","style","ignoreOutsideClicksRefsAtom","onCreateAtom","getItemKeyAtom","ignoreOutsideClicksRefs","valueAtom","value","Array","isArray","focusAtom","openAtom","highlightedIndexAtom","inputValueAtom","clearButtonAtom","clearButton","inputValue","length","onInput","get","current","optionForCreateAtom","onCreate","label","__optionForCreate","propsForVisibleItemsAtom","visibleItemsAtom","getItemGroupKey","getGroupKey","optionForCreate","resultGroups","groupsCounterAtom","visibleItems","getItemDisabled","groupCounter","getSelectedCounter","groupItems","some","item","maxHighlightIndex","_","maxHighlightIndexAtom","hasItemsAtom","optionsRefs","scrollToHighlightedIndex","highlightedIndex","dropdownElement","highlightIndex","indexForHighlight","state","newIndex","Math","min","max","removeValue","e","valueItem","stopPropagation","props","getItemKey","onChange","newValue","filter","disabled","console","log","val","onChangeAll","nonDisabledItems","currentGroupValues","withoutGroupValues","el","find","push","handleInputChange","input","target","handleInputClick","focus","clearValue","results","getHandleRemoveValue","ArrowUp","preventDefault","old","ArrowDown","Enter","open","getData","counter","Escape","Tab","Backspace","PageUp","PageDown","Home","End","keys","getOptionActions","onClick","onMouseEnter","getItems","handleInputFocus","onFocus","focused","handleInputBlur","onBlur","handleToggleDropdown","ref","isActive","ignoreClicksInsideRefs","handler","disable","onDropdownOpen","inputValueProp","dropdownOpenProp"],"sources":["../../../../../../src/components/SelectCanary/useSelect/useSelect.ts"],"sourcesContent":["import { AtomMut } from '@reatom/framework';\nimport { useAction, useAtom, useUpdate } from '@reatom/npm-react';\nimport React, { useRef } from 'react';\n\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { KeyHandlers, useKeysRef } from '##/hooks/useKeysRef';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups, GetGroupsResult } from '##/utils/getGroups';\nimport { useCreateAtom } from '##/utils/state/useCreateAtom';\nimport { usePickAtom, usePropAtom } from '##/utils/state/usePickAtom';\n\nimport { PropsWithDefault } from '../../SelectCanary/defaultProps';\nimport { SelectGroupDefault, SelectItemDefault, SelectPropOnChange } from '..';\nimport { CountedGroup, Group, SelectAllItem } from '../types';\nimport { scrollToIndex } from './helpers';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\nexport type OptionForCreate = {\n label: string;\n __optionForCreate: boolean;\n};\n\nexport type UseSelectProps<\n ITEM = SelectItemDefault,\n GROUP = SelectGroupDefault,\n MULTIPLE extends boolean = false,\n> = {\n propsAtom: AtomMut<PropsWithDefault<ITEM, GROUP, MULTIPLE>>;\n};\n\nexport type OptionProps<ITEM> = {\n index: number;\n item: ITEM | OptionForCreate | SelectAllItem;\n};\n\nexport type GetOptionPropsResult = {\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n};\n\nconst isMultipleParams = <ITEM = SelectItemDefault, GROUP = SelectGroupDefault>(\n params: PropsWithDefault<ITEM, GROUP, boolean>,\n): params is PropsWithDefault<ITEM, GROUP, true> => {\n return !!params.multiple;\n};\n\nexport const isOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP> | ITEM,\n): params is OptionForCreate => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isNotOptionForCreate = <ITEM, GROUP>(\n params: OptionForCreate | Group<ITEM, GROUP>,\n): params is Group<ITEM, GROUP> => {\n return (\n params && !Object.prototype.hasOwnProperty.call(params, '__optionForCreate')\n );\n};\n\nexport const isOptionForSelectAll = <ITEM>(\n params: SelectAllItem | ITEM,\n): params is SelectAllItem => {\n return (\n params && Object.prototype.hasOwnProperty.call(params, '__optionSelectAll')\n );\n};\n\nexport function getCountedGroups<ITEM, GROUP>(\n groups: GetGroupsResult<ITEM, GROUP>,\n selectAll: boolean,\n): CountedGroup<ITEM, GROUP>[] {\n const copyGroups: CountedGroup<ITEM, GROUP>[] = [...groups];\n\n if (selectAll) {\n groups.forEach((group, index) => {\n copyGroups[index].items = [\n {\n __optionSelectAll: true,\n groupKey: group.key,\n },\n ...copyGroups[index].items,\n ];\n });\n }\n return copyGroups;\n}\n\nexport const useSelect = <\n ITEM = SelectItemDefault,\n GROUP = SelectItemDefault,\n MULTIPLE extends boolean = false,\n>({\n propsAtom,\n}: UseSelectProps<ITEM, GROUP, MULTIPLE>) => {\n const inputRef = useRef<HTMLInputElement>(null);\n const dropdownRef = useRef<HTMLDivElement>(null);\n const controlRef = useRef<HTMLDivElement>(null);\n\n const itemsAtom = usePropAtom(propsAtom, 'items');\n const selectAllAtom = usePropAtom(propsAtom, 'selectAll');\n const valuePropAtom = usePropAtom(propsAtom, 'value');\n const disabledAtom = usePropAtom(propsAtom, 'disabled');\n const inputValuePropAtom = usePropAtom(propsAtom, 'inputValue');\n const dropdownOpenPropAtom = usePropAtom(propsAtom, 'dropdownOpen');\n const dropdownZIndexAtom = useCreateAtom((ctx) => {\n const zIndex = ctx.spy(propsAtom).style?.zIndex;\n return typeof zIndex === 'number' ? zIndex + 1 : undefined;\n });\n const ignoreOutsideClicksRefsAtom = usePropAtom(\n propsAtom,\n 'ignoreOutsideClicksRefs',\n );\n const onCreateAtom = usePropAtom(propsAtom, 'onCreate');\n const getItemKeyAtom = usePropAtom(propsAtom, 'getItemKey');\n const [ignoreOutsideClicksRefs] = useAtom(ignoreOutsideClicksRefsAtom);\n\n const valueAtom = useCreateAtom((ctx) => {\n const value = ctx.spy(valuePropAtom);\n return (value && (Array.isArray(value) ? value : [value])) || [];\n }) as unknown as AtomMut<ITEM[]>;\n const focusAtom = useCreateAtom(false);\n const openAtom = useCreateAtom(false);\n const highlightedIndexAtom = useCreateAtom(0);\n const inputValueAtom = useCreateAtom('');\n\n const clearButtonAtom = useCreateAtom((ctx) => {\n const { clearButton } = ctx.spy(propsAtom);\n const inputValue = ctx.spy(inputValueAtom);\n const value = ctx.spy(valueAtom);\n return !!(clearButton && (value?.length || inputValue));\n });\n\n const onInput = useAction((ctx, value: string | undefined = '') => {\n ctx.get(propsAtom).onInput?.(value);\n inputValueAtom(ctx, value);\n\n if (inputRef.current) {\n inputRef.current.value = value;\n }\n });\n\n const optionForCreateAtom = useCreateAtom<OptionForCreate | undefined>(\n (ctx) => {\n const onCreate = ctx.spy(onCreateAtom);\n if (!onCreate) {\n return undefined;\n }\n const inputValue = ctx.spy(inputValueAtom);\n const optionForCreate: OptionForCreate = {\n label: inputValue,\n __optionForCreate: true,\n };\n return optionForCreate;\n },\n );\n\n const propsForVisibleItemsAtom = usePickAtom(\n propsAtom as AtomMut<PropsWithDefault<ITEM, GROUP, boolean>>,\n [\n 'selectAll',\n 'groups',\n 'getItemGroupKey',\n 'getGroupKey',\n 'getItemDisabled',\n 'getItemKey',\n 'items',\n ],\n );\n\n const visibleItemsAtom = useCreateAtom((ctx) => {\n const { selectAll, groups, getItemGroupKey, getGroupKey, items } = ctx.spy(\n propsForVisibleItemsAtom,\n );\n\n const optionForCreate = ctx.spy(optionForCreateAtom);\n\n const resultGroups = getCountedGroups(\n getGroups(\n items,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n ),\n !!selectAll,\n );\n\n return optionForCreate ? [optionForCreate, ...resultGroups] : resultGroups;\n });\n\n const groupsCounterAtom = useCreateAtom((ctx) => {\n const visibleItems = ctx.spy(visibleItemsAtom);\n const selectAll = ctx.spy(selectAllAtom);\n const value = ctx.spy(valueAtom);\n const { getItemDisabled } = ctx.get(propsForVisibleItemsAtom);\n\n const groupCounter: Record<string, [number, number]> = {};\n\n const getSelectedCounter = () => {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n continue;\n }\n groupCounter[group.key] = [0, group.items.length - 1];\n for (const groupItems of group.items) {\n if (\n !isOptionForSelectAll(groupItems) &&\n !getItemDisabled(groupItems) &&\n value.some((item) => item === groupItems)\n ) {\n groupCounter[group.key][0] = (groupCounter[group.key][0] || 0) + 1;\n }\n }\n }\n };\n\n if (selectAll) {\n getSelectedCounter();\n }\n\n return groupCounter;\n });\n\n // eslint-disable-next-line no-unused-vars\n const [maxHighlightIndex, _, maxHighlightIndexAtom] = useAtom((ctx) => {\n const items = ctx.spy(itemsAtom);\n const optionForCreate = ctx.spy(optionForCreateAtom);\n const selectAll = ctx.spy(selectAllAtom);\n const visibleItems = ctx.spy(visibleItemsAtom);\n\n return (\n items.length +\n // кнопка для создания\n (optionForCreate ? 1 : 0) +\n // кнопки выбрать все\n (selectAll ? visibleItems.length : 0)\n );\n });\n\n const hasItemsAtom = useCreateAtom((ctx) => {\n const items = ctx.spy(itemsAtom);\n const optionForCreate = ctx.spy(optionForCreateAtom);\n\n if (optionForCreate) {\n return true;\n }\n\n return !!items.length;\n });\n\n const optionsRefs = useRefs<HTMLDivElement>(maxHighlightIndex, undefined);\n\n const scrollToHighlightedIndex = useAction((ctx) => {\n const items = ctx.get(itemsAtom);\n const highlightedIndex = ctx.get(highlightedIndexAtom);\n const dropdownElement = dropdownRef.current;\n\n if (items.length > 0 && dropdownElement) {\n scrollToIndex(highlightedIndex, dropdownElement, optionsRefs);\n }\n });\n\n const highlightIndex = useAction(\n (ctx, indexForHighlight: IndexForHighlight) => {\n const maxHighlightIndex = ctx.get(maxHighlightIndexAtom);\n\n highlightedIndexAtom(ctx, (state) => {\n const newIndex = Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(state)\n : indexForHighlight,\n ),\n maxHighlightIndex - 1,\n );\n\n return newIndex;\n });\n },\n );\n\n const removeValue = useAction(\n (ctx, e: React.SyntheticEvent, valueItem: ITEM) => {\n e.stopPropagation();\n const props = ctx.get(propsAtom);\n\n if (isMultipleParams(props)) {\n const { getItemDisabled, getItemKey, onChange } = props;\n\n const newValue = ctx.get(valueAtom).filter((item) => {\n return getItemDisabled?.(item)\n ? true\n : getItemKey(item) !== getItemKey(valueItem);\n });\n\n onChange(newValue?.length ? newValue : null, {\n e,\n });\n }\n },\n );\n\n const onChange = useAction((ctx, e: React.SyntheticEvent, item: ITEM) => {\n const { getItemDisabled, getItemKey, onChange, multiple, disabled } =\n ctx.get(propsAtom);\n\n console.log('disabled', disabled);\n\n if (disabled || (getItemDisabled && getItemDisabled(item))) {\n return;\n }\n\n if (multiple) {\n const value = ctx.get(valueAtom);\n const newValue = value.some(\n (value) => getItemKey(value) === getItemKey(item),\n )\n ? value.filter((value) => getItemKey(value) !== getItemKey(item))\n : [...value, item];\n const val = newValue?.length ? newValue : null;\n (onChange as SelectPropOnChange<ITEM, true>)(val, { e });\n } else {\n (onChange as SelectPropOnChange<ITEM, false>)(item, { e });\n onInput('');\n openAtom(ctx, false);\n }\n });\n\n const onChangeAll = useAction(\n (ctx, e: React.SyntheticEvent, items: ITEM[]) => {\n const props = ctx.get(propsAtom);\n const value = ctx.get(valueAtom);\n const { getItemDisabled, getItemKey, multiple, onChange } = props;\n\n if (multiple) {\n const nonDisabledItems = getItemDisabled\n ? items.filter((item) => !getItemDisabled(item))\n : items;\n\n const currentGroupValues: ITEM[] = [];\n const withoutGroupValues: ITEM[] = [];\n value.forEach((el) => {\n if (\n nonDisabledItems.find((item) => getItemKey(el) === getItemKey(item))\n ) {\n currentGroupValues.push(el);\n } else {\n withoutGroupValues.push(el);\n }\n });\n if (currentGroupValues.length === nonDisabledItems.length) {\n (onChange as SelectPropOnChange<ITEM, true>)(withoutGroupValues, {\n e,\n });\n } else {\n const val = [...withoutGroupValues, ...nonDisabledItems];\n (onChange as SelectPropOnChange<ITEM, true>)(val, {\n e,\n });\n }\n }\n },\n );\n\n const onCreate = useAction((ctx, e: React.SyntheticEvent) => {\n const { onCreate } = ctx.get(propsAtom);\n onCreate?.(ctx.get(inputValueAtom), { e });\n openAtom(ctx, false);\n onInput('');\n });\n\n // Handlers\n\n const handleInputChange = useAction(\n (ctx, e: React.ChangeEvent<HTMLInputElement>): void => {\n if (!ctx.get(disabledAtom) && ctx.get(propsAtom).input) {\n onInput?.(e.target.value);\n openAtom(ctx, true);\n }\n },\n );\n\n const handleInputClick = useAction((ctx) => {\n !ctx.get(disabledAtom) && openAtom(ctx, (value) => !value);\n\n inputRef.current?.focus();\n });\n\n const clearValue = useAction((ctx, e: React.SyntheticEvent) => {\n const { getItemDisabled, multiple, onChange, disabled } =\n ctx.get(propsAtom);\n\n console.log('');\n\n if (disabled) {\n return;\n }\n\n const value = ctx.get(valueAtom);\n if (multiple) {\n const results = value?.filter((item) => getItemDisabled?.(item));\n const val = results && results.length > 0 ? results : null;\n (onChange as SelectPropOnChange<ITEM, true>)(val, {\n e,\n });\n } else {\n onChange(null, { e });\n }\n onInput('');\n });\n\n const getHandleRemoveValue = useAction(\n (_, item: ITEM) => (e: React.SyntheticEvent) => removeValue(e, item),\n );\n\n // Prop Getters\n\n const ArrowUp = useAction((ctx, e: KeyboardEvent) => {\n e.preventDefault();\n if (!ctx.get(disabledAtom)) {\n openAtom(ctx, true);\n highlightIndex((old) => old - 1);\n scrollToHighlightedIndex();\n }\n });\n\n const ArrowDown = useAction((ctx, e: KeyboardEvent) => {\n e.preventDefault();\n\n if (!ctx.get(disabledAtom)) {\n openAtom(ctx, true);\n highlightIndex((old) => old + 1);\n scrollToHighlightedIndex();\n }\n });\n\n const Enter = useAction((ctx, e: React.SyntheticEvent) => {\n const { items } = ctx.get(propsAtom);\n const highlightedIndex = ctx.get(highlightedIndexAtom);\n const inputValue = ctx.get(inputValueAtom);\n const visibleItems = ctx.get(visibleItemsAtom);\n const open = ctx.get(openAtom);\n\n if (open) {\n if (inputValue || items[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getData = (\n index: number,\n ): [\n CountedGroup<ITEM, GROUP> | undefined,\n SelectAllItem | OptionForCreate | ITEM | undefined,\n ] => {\n let counter = 0;\n\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n if (counter === index) {\n return [undefined, group];\n }\n counter++;\n continue;\n }\n if (group.items.length + counter > index) {\n return [group, group.items[index - counter]];\n }\n counter += group.items.length;\n }\n return [undefined, undefined];\n };\n\n const [group, item] = getData(highlightedIndex);\n\n if (isOptionForCreate(item)) {\n onCreate(e);\n return;\n }\n\n if (isOptionForSelectAll(item)) {\n onChangeAll(\n e,\n (group?.items.filter((el) => !isOptionForSelectAll(el)) as ITEM[]) ??\n [],\n );\n return;\n }\n\n if (item) {\n onChange(e, item);\n }\n } else {\n openAtom(ctx, true);\n }\n });\n\n const Escape = useAction((ctx) => openAtom(ctx, false));\n\n const Tab = useAction((ctx, e: KeyboardEvent) => {\n if (ctx.get(openAtom)) {\n e.preventDefault();\n openAtom(ctx, false);\n }\n });\n\n const Backspace = useAction((ctx, e: React.SyntheticEvent) => {\n const inputValue = ctx.get(inputValueAtom);\n const { multiple, clearButton } = ctx.get(propsAtom);\n const value = ctx.get(valueAtom);\n\n if (inputValue) {\n return;\n }\n\n if (multiple) {\n removeValue(e, value[value.length - 1]);\n } else {\n clearButton && clearValue?.(e);\n }\n });\n\n const [keys] = useAtom({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n Backspace,\n });\n\n const getOptionActions = useAction(\n (ctx, { index, item }: OptionProps<ITEM>): GetOptionPropsResult => {\n const visibleItems = ctx.get(visibleItemsAtom);\n\n if (isOptionForCreate(item)) {\n return {\n onClick: onCreate,\n onMouseEnter: () => highlightIndex(index),\n };\n }\n if (isOptionForSelectAll(item)) {\n const getItems = (): ITEM[] => {\n for (const group of visibleItems) {\n if (isOptionForCreate(group)) {\n continue;\n }\n if (group.key === item.groupKey) {\n return (\n (group?.items.filter(\n (el) => !isOptionForSelectAll(el),\n ) as ITEM[]) ?? []\n );\n }\n }\n return [];\n };\n return {\n onClick: (e: React.SyntheticEvent) => onChangeAll(e, getItems()),\n onMouseEnter: () => highlightIndex(index),\n };\n }\n\n return {\n onClick: (e: React.SyntheticEvent) => onChange(e, item),\n onMouseEnter: () => highlightIndex(index),\n };\n },\n );\n\n const handleInputFocus = useAction(\n (ctx, e: React.FocusEvent<HTMLInputElement>): void => {\n const { disabled, onFocus } = ctx.get(propsAtom);\n const focused = ctx.get(focusAtom);\n\n if (!disabled) {\n if (!focused) {\n focusAtom(ctx, true);\n }\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n },\n );\n\n const handleInputBlur = useAction(\n (ctx, e: React.FocusEvent<HTMLInputElement>): void => {\n const { onBlur } = ctx.get(propsAtom);\n if (ctx.get(openAtom)) {\n inputRef.current?.focus();\n return;\n }\n\n if (ctx.get(focusAtom)) {\n focusAtom(ctx, false);\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n },\n );\n\n const handleToggleDropdown = useAction((ctx) => {\n const disabled = ctx.get(disabledAtom);\n if (ctx.get(openAtom)) {\n openAtom(ctx, false);\n focusAtom(ctx, false);\n } else if (!disabled) {\n openAtom(ctx, true);\n focusAtom(ctx, true);\n inputRef.current?.focus();\n }\n });\n\n useKeysRef({\n keys: keys as unknown as KeyHandlers,\n ref: inputRef,\n isActive: useAction((ctx) => !ctx.get(disabledAtom)),\n });\n\n useClickOutside({\n isActive: useAction((ctx) => ctx.get(openAtom)),\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: useAction((ctx) => openAtom(ctx, false)),\n });\n\n useUpdate((ctx, disable) => disable && openAtom(ctx, false), [disabledAtom]);\n\n useUpdate(\n (ctx, open = false) => {\n ctx.get(propsAtom).onDropdownOpen?.(open);\n highlightIndex(0);\n },\n [openAtom],\n );\n\n useUpdate(\n (ctx, inputValueProp = '') => {\n const inputValue = ctx.get(inputValueAtom);\n\n if (inputValueProp !== inputValue) {\n onInput(inputValueProp);\n }\n },\n [inputValuePropAtom],\n );\n\n useUpdate(\n (ctx, dropdownOpenProp = false) => openAtom(ctx, dropdownOpenProp),\n [dropdownOpenPropAtom],\n );\n\n return {\n openAtom,\n focusAtom,\n inputValueAtom,\n clearButtonAtom,\n onInput,\n getOptionActions,\n handleInputBlur,\n handleToggleDropdown,\n getHandleRemoveValue,\n inputRef,\n dropdownRef,\n controlRef,\n handleInputChange,\n handleInputClick,\n handleInputFocus,\n visibleItemsAtom,\n clearValue,\n optionsRefs,\n highlightedIndexAtom,\n valueAtom,\n getItemKeyAtom,\n onChangeAll,\n highlightIndex,\n onCreate,\n onChange,\n hasItemsAtom,\n groupsCounterAtom,\n dropdownZIndexAtom,\n };\n};\n"],"mappings":"u/CACA,OAASA,SAAT,CAAoBC,OAApB,CAA6BC,SAA7B,KAA8C,mBAA9C,CACA,OAAgBC,MAAhB,KAA8B,OAA9B,CAEA,OAASC,eAAT,sCACA,OAAsBC,UAAtB,iCACA,OAASC,OAAT,8BACA,OAASC,SAAT,gCACA,OAASC,aAAT,0CACA,OAASC,WAAT,CAAsBC,WAAtB,wCAKA,OAASC,aAAT,iBA2BA,GAAMC,iBAAgB,CAAG,SACvBC,CADuB,CAE2B,CAClD,MAAO,CAAC,CAACA,CAAM,CAACC,QACjB,CAJD,CAMA,MAAO,IAAMC,kBAAiB,CAAG,SAC/BF,CAD+B,CAED,CAC9B,MACEA,EAAM,EAAIG,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCN,CAArC,CAA6C,mBAA7C,CAEb,CANM,CAQP,MAAO,IAAMO,qBAAoB,CAAG,SAClCP,CADkC,CAED,CACjC,MACEA,EAAM,EAAI,CAACG,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCN,CAArC,CAA6C,mBAA7C,CAEd,CANM,CAQP,MAAO,IAAMQ,qBAAoB,CAAG,SAClCR,CADkC,CAEN,CAC5B,MACEA,EAAM,EAAIG,MAAM,CAACC,SAAP,CAAiBC,cAAjB,CAAgCC,IAAhC,CAAqCN,CAArC,CAA6C,mBAA7C,CAEb,CANM,CAQP,MAAO,SAASS,iBAAT,CACLC,CADK,CAELC,CAFK,CAGwB,CAC7B,GAAMC,EAAuC,oBAAOF,CAAP,CAA7C,CAaA,MAXIC,EAWJ,EAVED,CAAM,CAACG,OAAP,CAAe,SAACC,CAAD,CAAQC,CAAR,CAAkB,CAC/BH,CAAU,CAACG,CAAD,CAAV,CAAkBC,KAAlB,EACE,CACEC,iBAAiB,GADnB,CAEEC,QAAQ,CAAEJ,CAAK,CAACK,GAFlB,CADF,4BAKKP,CAAU,CAACG,CAAD,CAAV,CAAkBC,KALvB,EAOD,CARD,CAUF,CAAOJ,CACR,CAED,MAAO,IAAMQ,UAAS,CAAG,WAMoB,IAD3CC,EAC2C,GAD3CA,SAC2C,CACrCC,CAAQ,CAAGhC,MAAM,CAAmB,IAAnB,CADoB,CAErCiC,CAAW,CAAGjC,MAAM,CAAiB,IAAjB,CAFiB,CAGrCkC,CAAU,CAAGlC,MAAM,CAAiB,IAAjB,CAHkB,CAKrCmC,CAAS,CAAG5B,WAAW,CAACwB,CAAD,CAAY,OAAZ,CALc,CAMrCK,CAAa,CAAG7B,WAAW,CAACwB,CAAD,CAAY,WAAZ,CANU,CAOrCM,CAAa,CAAG9B,WAAW,CAACwB,CAAD,CAAY,OAAZ,CAPU,CAQrCO,CAAY,CAAG/B,WAAW,CAACwB,CAAD,CAAY,UAAZ,CARW,CASrCQ,CAAkB,CAAGhC,WAAW,CAACwB,CAAD,CAAY,YAAZ,CATK,CAUrCS,CAAoB,CAAGjC,WAAW,CAACwB,CAAD,CAAY,cAAZ,CAVG,CAWrCU,CAAkB,CAAGpC,aAAa,CAAC,SAACqC,CAAD,CAAS,OAC1CC,CAAM,WAAGD,CAAG,CAACE,GAAJ,CAAQb,CAAR,EAAmBc,KAAtB,qBAAG,EAA0BF,MADO,CAEhD,MAAyB,QAAlB,QAAOA,EAAP,CAA6BA,CAAM,CAAG,CAAtC,OACR,CAHuC,CAXG,CAerCG,CAA2B,CAAGvC,WAAW,CAC7CwB,CAD6C,CAE7C,yBAF6C,CAfJ,CAmBrCgB,CAAY,CAAGxC,WAAW,CAACwB,CAAD,CAAY,UAAZ,CAnBW,CAoBrCiB,CAAc,CAAGzC,WAAW,CAACwB,CAAD,CAAY,YAAZ,CApBS,GAqBTjC,OAAO,CAACgD,CAAD,CArBE,uBAqBpCG,CArBoC,MAuBrCC,CAAS,CAAG7C,aAAa,CAAC,SAACqC,CAAD,CAAS,CACvC,GAAMS,EAAK,CAAGT,CAAG,CAACE,GAAJ,CAAQP,CAAR,CAAd,CACA,MAAQc,EAAK,GAAKC,KAAK,CAACC,OAAN,CAAcF,CAAd,EAAuBA,CAAvB,CAA+B,CAACA,CAAD,CAApC,CAAN,EAAuD,EAC/D,CAH8B,CAvBY,CA2BrCG,CAAS,CAAGjD,aAAa,IA3BY,CA4BrCkD,CAAQ,CAAGlD,aAAa,IA5Ba,CA6BrCmD,CAAoB,CAAGnD,aAAa,CAAC,CAAD,CA7BC,CA8BrCoD,CAAc,CAAGpD,aAAa,CAAC,EAAD,CA9BO,CAgCrCqD,CAAe,CAAGrD,aAAa,CAAC,SAACqC,CAAD,CAAS,OACrBA,CAAG,CAACE,GAAJ,CAAQb,CAAR,CADqB,CACrC4B,CADqC,GACrCA,WADqC,CAEvCC,CAAU,CAAGlB,CAAG,CAACE,GAAJ,CAAQa,CAAR,CAF0B,CAGvCN,CAAK,CAAGT,CAAG,CAACE,GAAJ,CAAQM,CAAR,CAH+B,CAI7C,MAAO,CAAC,EAAES,CAAW,GAAK,OAAAR,CAAK,WAALA,CAAA,EAAAA,CAAK,CAAEU,MAAP,EAAiBD,CAAtB,CAAb,CACT,CALoC,CAhCM,CAuCrCE,CAAO,CAAGjE,SAAS,CAAC,SAAC6C,CAAD,CAAyC,SAAnCS,CAAmC,wDAAP,EAAO,WACjE,GAAAT,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,GAAmB+B,OAD8C,qBACjE,SAA6BX,CAA7B,CADiE,CAEjEM,CAAc,CAACf,CAAD,CAAMS,CAAN,CAFmD,CAI7DnB,CAAQ,CAACgC,OAJoD,GAK/DhC,CAAQ,CAACgC,OAAT,CAAiBb,KAAjB,CAAyBA,CALsC,CAOlE,CAPwB,CAvCkB,CAgDrCc,CAAmB,CAAG5D,aAAa,CACvC,SAACqC,CAAD,CAAS,CACP,GAAMwB,EAAQ,CAAGxB,CAAG,CAACE,GAAJ,CAAQG,CAAR,CAAjB,CACA,GAAKmB,CAAL,KAGMN,EAAU,CAAGlB,CAAG,CAACE,GAAJ,CAAQa,CAAR,CAHnB,CAQA,MAJyC,CACvCU,KAAK,CAAEP,CADgC,CAEvCQ,iBAAiB,GAFsB,CAJzC,CASD,CAZsC,CAhDE,CA+DrCC,CAAwB,CAAG/D,WAAW,CAC1CyB,CAD0C,CAE1C,CACE,WADF,CAEE,QAFF,CAGE,iBAHF,CAIE,aAJF,CAKE,iBALF,CAME,YANF,CAOE,OAPF,CAF0C,CA/DD,CA4ErCuC,CAAgB,CAAGjE,aAAa,CAAC,SAACqC,CAAD,CAAS,OACqBA,CAAG,CAACE,GAAJ,CACjEyB,CADiE,CADrB,CACtChD,CADsC,GACtCA,SADsC,CAC3BD,CAD2B,GAC3BA,MAD2B,CACnBmD,CADmB,GACnBA,eADmB,CACFC,CADE,GACFA,WADE,CACW9C,CADX,GACWA,KADX,CAKxC+C,CAAe,CAAG/B,CAAG,CAACE,GAAJ,CAAQqB,CAAR,CALsB,CAOxCS,CAAY,CAAGvD,gBAAgB,CACnCf,SAAS,CACPsB,CADO,CAEP,OAAAN,CAAM,WAANA,CAAA,EAAAA,CAAM,CAAEyC,MAAR,CAAiBU,CAAjB,OAFO,CAGPnD,CAHO,CAIPoD,CAJO,QAD0B,CAQnC,CAAC,CAACnD,CARiC,CAPS,CAkB9C,MAAOoD,EAAe,EAAIA,CAAJ,4BAAwBC,CAAxB,GAAwCA,CAC/D,CAnBqC,CA5EK,CAiGrCC,CAAiB,CAAGtE,aAAa,CAAC,SAACqC,CAAD,CAAS,IACzCkC,EAAY,CAAGlC,CAAG,CAACE,GAAJ,CAAQ0B,CAAR,CAD0B,CAEzCjD,CAAS,CAAGqB,CAAG,CAACE,GAAJ,CAAQR,CAAR,CAF6B,CAGzCe,CAAK,CAAGT,CAAG,CAACE,GAAJ,CAAQM,CAAR,CAHiC,GAInBR,CAAG,CAACqB,GAAJ,CAAQM,CAAR,CAJmB,CAIvCQ,CAJuC,GAIvCA,eAJuC,CAMzCC,CAA8C,CAAG,EANR,CA8B/C,MAJIzD,EAIJ,EAtB2B,QAArB0D,mBAAqB,EAAM,oCACXH,CADW,MAC/B,2BAAkC,IAAvBpD,EAAuB,SAChC,IAAIZ,iBAAiB,CAACY,CAAD,CAArB,EAGAsD,CAAY,CAACtD,CAAK,CAACK,GAAP,CAAZ,CAA0B,CAAC,CAAD,CAAIL,CAAK,CAACE,KAAN,CAAYmC,MAAZ,CAAqB,CAAzB,CAH1B,oCAIyBrC,CAAK,CAACE,KAJ/B,0BAIWsD,EAJX,SAMK9D,oBAAoB,CAAC8D,CAAD,CAArB,EACCH,CAAe,CAACG,CAAD,CADhB,GAEA7B,CAAK,CAAC8B,IAAN,CAAW,SAACC,CAAD,QAAUA,EAAI,GAAKF,CAAnB,CAAX,CARJ,GAUIF,CAAY,CAACtD,CAAK,CAACK,GAAP,CAAZ,CAAwB,CAAxB,EAA6B,CAACiD,CAAY,CAACtD,CAAK,CAACK,GAAP,CAAZ,CAAwB,CAAxB,GAA8B,CAA/B,EAAoC,CAVrE,GAIA,8BAJA,gCAaD,CAf8B,+BAgBhC,CAGC,EAGF,CAAOiD,CACR,CA/BsC,CAjGI,GAmIWhF,OAAO,CAAC,SAAC4C,CAAD,CAAS,IAC/DhB,EAAK,CAAGgB,CAAG,CAACE,GAAJ,CAAQT,CAAR,CADuD,CAE/DsC,CAAe,CAAG/B,CAAG,CAACE,GAAJ,CAAQqB,CAAR,CAF6C,CAG/D5C,CAAS,CAAGqB,CAAG,CAACE,GAAJ,CAAQR,CAAR,CAHmD,CAI/DwC,CAAY,CAAGlC,CAAG,CAACE,GAAJ,CAAQ0B,CAAR,CAJgD,CAMrE,MACE5C,EAAK,CAACmC,MAAN,EAECY,CAAe,CAAG,CAAH,CAAO,CAFvB,GAICpD,CAAS,CAAGuD,CAAY,CAACf,MAAhB,CAAyB,CAJnC,CAMH,CAb4D,CAnIlB,uBAmIpCsB,CAnIoC,MAmIjBC,CAnIiB,MAmIdC,CAnIc,MAkJrCC,CAAY,CAAGjF,aAAa,CAAC,SAACqC,CAAD,CAAS,IACpChB,EAAK,CAAGgB,CAAG,CAACE,GAAJ,CAAQT,CAAR,CAD4B,CAEpCsC,CAAe,CAAG/B,CAAG,CAACE,GAAJ,CAAQqB,CAAR,CAFkB,SAItCQ,CAJsC,EAQnC,CAAC,CAAC/C,CAAK,CAACmC,MAChB,CATiC,CAlJS,CA6JrC0B,CAAW,CAAGpF,OAAO,CAAiBgF,CAAjB,QA7JgB,CA+JrCK,CAAwB,CAAG3F,SAAS,CAAC,SAAC6C,CAAD,CAAS,IAC5ChB,EAAK,CAAGgB,CAAG,CAACqB,GAAJ,CAAQ5B,CAAR,CADoC,CAE5CsD,CAAgB,CAAG/C,CAAG,CAACqB,GAAJ,CAAQP,CAAR,CAFyB,CAG5CkC,CAAe,CAAGzD,CAAW,CAAC+B,OAHc,CAK/B,CAAf,CAAAtC,CAAK,CAACmC,MAAN,EAAoB6B,CAL0B,EAMhDlF,aAAa,CAACiF,CAAD,CAAmBC,CAAnB,CAAoCH,CAApC,CAEhB,CARyC,CA/JC,CAyKrCI,CAAc,CAAG9F,SAAS,CAC9B,SAAC6C,CAAD,CAAMkD,CAAN,CAA+C,CAC7C,GAAMT,EAAiB,CAAGzC,CAAG,CAACqB,GAAJ,CAAQsB,CAAR,CAA1B,CAEA7B,CAAoB,CAACd,CAAD,CAAM,SAACmD,CAAD,CAAW,CACnC,GAAMC,EAAQ,CAAGC,IAAI,CAACC,GAAL,CACfD,IAAI,CAACE,GAAL,CACE,CADF,CAE+B,UAA7B,QAAOL,EAAP,CACIA,CAAiB,CAACC,CAAD,CADrB,CAEID,CAJN,CADe,CAOfT,CAAiB,CAAG,CAPL,CAAjB,CAUA,MAAOW,EACR,CAZmB,CAarB,CAjB6B,CAzKW,CA6LrCI,CAAW,CAAGrG,SAAS,CAC3B,SAAC6C,CAAD,CAAMyD,CAAN,CAA+BC,CAA/B,CAAmD,CACjDD,CAAC,CAACE,eAAF,EADiD,CAEjD,GAAMC,EAAK,CAAG5D,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CAAd,CAEA,GAAItB,gBAAgB,CAAC6F,CAAD,CAApB,CAA6B,IACnBzB,EADmB,CACuByB,CADvB,CACnBzB,eADmB,CACF0B,CADE,CACuBD,CADvB,CACFC,UADE,CACUC,CADV,CACuBF,CADvB,CACUE,QADV,CAGrBC,CAAQ,CAAG/D,CAAG,CAACqB,GAAJ,CAAQb,CAAR,EAAmBwD,MAAnB,CAA0B,SAACxB,CAAD,CAAU,CACnD,gBAAOL,CAAP,WAAOA,CAAP,EAAOA,CAAe,CAAGK,CAAH,CAAtB,GAEIqB,CAAU,CAACrB,CAAD,CAAV,GAAqBqB,CAAU,CAACH,CAAD,CACpC,CAJgB,CAHU,CAS3BI,CAAQ,CAAC,OAAAC,CAAQ,WAARA,CAAA,EAAAA,CAAQ,CAAE5C,MAAV,CAAmB4C,CAAnB,CAA8B,IAA/B,CAAqC,CAC3CN,CAAC,CAADA,CAD2C,CAArC,CAGT,CACF,CAlB0B,CA7Lc,CAkNrCK,CAAQ,CAAG3G,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAA+BjB,CAA/B,CAA8C,CACvE,MACExC,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CADF,CAAQ8C,CAAR,GAAQA,eAAR,CAAyB0B,CAAzB,GAAyBA,UAAzB,CAAqCC,CAArC,GAAqCA,QAArC,CAA+C7F,CAA/C,GAA+CA,QAA/C,CAAyDgG,CAAzD,GAAyDA,QAAzD,CAKA,GAFAC,OAAO,CAACC,GAAR,CAAY,UAAZ,CAAwBF,CAAxB,CAEA,GAAIA,CAAQ,EAAK9B,CAAe,EAAIA,CAAe,CAACK,CAAD,CAAnD,EAIA,GAAIvE,CAAJ,CAAc,IACNwC,EAAK,CAAGT,CAAG,CAACqB,GAAJ,CAAQb,CAAR,CADF,CAENuD,CAAQ,CAAGtD,CAAK,CAAC8B,IAAN,CACf,SAAC9B,CAAD,QAAWoD,EAAU,CAACpD,CAAD,CAAV,GAAsBoD,CAAU,CAACrB,CAAD,CAA3C,CADe,EAGb/B,CAAK,CAACuD,MAAN,CAAa,SAACvD,CAAD,QAAWoD,EAAU,CAACpD,CAAD,CAAV,GAAsBoD,CAAU,CAACrB,CAAD,CAA3C,CAAb,CAHa,8BAIT/B,CAJS,GAIF+B,CAJE,EAFL,CAON4B,CAAG,CAAG,OAAAL,CAAQ,WAARA,CAAA,EAAAA,CAAQ,CAAE5C,MAAV,CAAmB4C,CAAnB,CAA8B,IAP9B,CAQXD,CAAD,CAA6CM,CAA7C,CAAkD,CAAEX,CAAC,CAADA,CAAF,CAAlD,CACD,CATD,IAUGK,EAAD,CAA8CtB,CAA9C,CAAoD,CAAEiB,CAAC,CAADA,CAAF,CAApD,CAVF,CAWErC,CAAO,CAAC,EAAD,CAXT,CAYEP,CAAQ,CAACb,CAAD,IAEX,CAxByB,CAlNiB,CA4OrCqE,CAAW,CAAGlH,SAAS,CAC3B,SAAC6C,CAAD,CAAMyD,CAAN,CAA+BzE,CAA/B,CAAiD,IACzC4E,EAAK,CAAG5D,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CADiC,CAEzCoB,CAAK,CAAGT,CAAG,CAACqB,GAAJ,CAAQb,CAAR,CAFiC,CAGvC2B,CAHuC,CAGayB,CAHb,CAGvCzB,eAHuC,CAGtB0B,CAHsB,CAGaD,CAHb,CAGtBC,UAHsB,CAGV5F,CAHU,CAGa2F,CAHb,CAGV3F,QAHU,CAGA6F,CAHA,CAGaF,CAHb,CAGAE,QAHA,CAK/C,GAAI7F,CAAJ,CAAc,IACNqG,EAAgB,CAAGnC,CAAe,CACpCnD,CAAK,CAACgF,MAAN,CAAa,SAACxB,CAAD,QAAU,CAACL,CAAe,CAACK,CAAD,CAA1B,CAAb,CADoC,CAEpCxD,CAHQ,CAKNuF,CAA0B,CAAG,EALvB,CAMNC,CAA0B,CAAG,EANvB,CAgBZ,GATA/D,CAAK,CAAC5B,OAAN,CAAc,SAAC4F,CAAD,CAAQ,CAElBH,CAAgB,CAACI,IAAjB,CAAsB,SAAClC,CAAD,QAAUqB,EAAU,CAACY,CAAD,CAAV,GAAmBZ,CAAU,CAACrB,CAAD,CAAvC,CAAtB,CAFkB,CAIlB+B,CAAkB,CAACI,IAAnB,CAAwBF,CAAxB,CAJkB,CAMlBD,CAAkB,CAACG,IAAnB,CAAwBF,CAAxB,CAEH,CARD,CASA,CAAIF,CAAkB,CAACpD,MAAnB,GAA8BmD,CAAgB,CAACnD,MAAnD,CACG2C,CAAD,CAA6CU,CAA7C,CAAiE,CAC/Df,CAAC,CAADA,CAD+D,CAAjE,CADF,KAIO,CACL,GAAMW,EAAG,WAAOI,CAAP,oBAA8BF,CAA9B,EAAT,CACCR,CAAD,CAA6CM,CAA7C,CAAkD,CAChDX,CAAC,CAADA,CADgD,CAAlD,CAGD,CACF,CACF,CAjC0B,CA5Oc,CAgRrCjC,CAAQ,CAAGrE,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAAkC,CAC3D,MAAqBzD,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CAArB,CAAQmC,CAAR,GAAQA,QAAR,CAD2D,OAE3DA,CAF2D,WAE3DA,CAF2D,QAE3DA,CAAQ,CAAGxB,CAAG,CAACqB,GAAJ,CAAQN,CAAR,CAAH,CAA4B,CAAE0C,CAAC,CAADA,CAAF,CAA5B,CAFmD,CAG3D5C,CAAQ,CAACb,CAAD,IAHmD,CAI3DoB,CAAO,CAAC,EAAD,CACR,CALyB,CAhRiB,CAyRrCwD,CAAiB,CAAGzH,SAAS,CACjC,SAAC6C,CAAD,CAAMyD,CAAN,CAAuD,CACjD,CAACzD,CAAG,CAACqB,GAAJ,CAAQzB,CAAR,CAAD,EAA0BI,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,EAAmBwF,KADI,UAEnDzD,CAFmD,WAEnDA,CAFmD,QAEnDA,CAAO,CAAGqC,CAAC,CAACqB,MAAF,CAASrE,KAAZ,CAF4C,CAGnDI,CAAQ,CAACb,CAAD,IAH2C,CAKtD,CANgC,CAzRQ,CAkSrC+E,CAAgB,CAAG5H,SAAS,CAAC,SAAC6C,CAAD,CAAS,OACzCA,CAAG,CAACqB,GAAJ,CAAQzB,CAAR,CAAD,EAA0BiB,CAAQ,CAACb,CAAD,CAAM,SAACS,CAAD,QAAW,CAACA,CAAZ,CAAN,CADQ,WAG1CnB,CAAQ,CAACgC,OAHiC,qBAG1C,EAAkB0D,KAAlB,EACD,CAJiC,CAlSS,CAwSrCC,CAAU,CAAG9H,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAAkC,CAC7D,MACEzD,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CADF,CAAQ8C,CAAR,GAAQA,eAAR,CAAyBlE,CAAzB,GAAyBA,QAAzB,CAAmC6F,CAAnC,GAAmCA,QAAnC,CAA6CG,CAA7C,GAA6CA,QAA7C,CAKA,GAFAC,OAAO,CAACC,GAAR,CAAY,EAAZ,CAEA,EAAIF,CAAJ,EAIA,GAAMxD,EAAK,CAAGT,CAAG,CAACqB,GAAJ,CAAQb,CAAR,CAAd,CACA,GAAIvC,CAAJ,CAAc,IACNiH,EAAO,QAAGzE,CAAH,WAAGA,CAAH,QAAGA,CAAK,CAAEuD,MAAP,CAAc,SAACxB,CAAD,gBAAUL,CAAV,WAAUA,CAAV,QAAUA,CAAe,CAAGK,CAAH,CAAzB,CAAd,CADJ,CAEN4B,CAAG,CAAGc,CAAO,EAAqB,CAAjB,CAAAA,CAAO,CAAC/D,MAAnB,CAAgC+D,CAAhC,CAA0C,IAF1C,CAGXpB,CAAD,CAA6CM,CAA7C,CAAkD,CAChDX,CAAC,CAADA,CADgD,CAAlD,CAGD,CAND,IAOEK,EAAQ,CAAC,IAAD,CAAO,CAAEL,CAAC,CAADA,CAAF,CAAP,CAPV,CASArC,CAAO,CAAC,EAAD,CAdP,CAeD,CArB2B,CAxSe,CA+TrC+D,CAAoB,CAAGhI,SAAS,CACpC,SAACuF,CAAD,CAAIF,CAAJ,QAAmB,UAACiB,CAAD,QAA6BD,EAAW,CAACC,CAAD,CAAIjB,CAAJ,CAAxC,CAAnB,CADoC,CA/TK,CAqUrC4C,CAAO,CAAGjI,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAA2B,CACnDA,CAAC,CAAC4B,cAAF,EADmD,CAE9CrF,CAAG,CAACqB,GAAJ,CAAQzB,CAAR,CAF8C,GAGjDiB,CAAQ,CAACb,CAAD,IAHyC,CAIjDiD,CAAc,CAAC,SAACqC,CAAD,QAASA,EAAG,CAAG,CAAf,CAAD,CAJmC,CAKjDxC,CAAwB,EALyB,CAOpD,CAPwB,CArUkB,CA8UrCyC,CAAS,CAAGpI,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAA2B,CACrDA,CAAC,CAAC4B,cAAF,EADqD,CAGhDrF,CAAG,CAACqB,GAAJ,CAAQzB,CAAR,CAHgD,GAInDiB,CAAQ,CAACb,CAAD,IAJ2C,CAKnDiD,CAAc,CAAC,SAACqC,CAAD,QAASA,EAAG,CAAG,CAAf,CAAD,CALqC,CAMnDxC,CAAwB,EAN2B,CAQtD,CAR0B,CA9UgB,CAwVrC0C,CAAK,CAAGrI,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAAkC,OACtCzD,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CADsC,CAChDL,CADgD,GAChDA,KADgD,CAElD+D,CAAgB,CAAG/C,CAAG,CAACqB,GAAJ,CAAQP,CAAR,CAF+B,CAGlDI,CAAU,CAAGlB,CAAG,CAACqB,GAAJ,CAAQN,CAAR,CAHqC,CAIlDmB,CAAY,CAAGlC,CAAG,CAACqB,GAAJ,CAAQO,CAAR,CAJmC,CAKlD6D,CAAI,CAAGzF,CAAG,CAACqB,GAAJ,CAAQR,CAAR,CAL2C,CAOxD,GAAI4E,CAAJ,CAAU,EACJvE,CAAU,EAAIlC,CAAK,CAAC+D,CAAD,CADf,GAENU,CAAC,CAAC4B,cAAF,EAFM,IAKFK,EAAO,CAAG,SACd3G,CADc,CAKX,OACC4G,CAAO,CAAG,CADX,8BAGiBzD,CAHjB,MAGH,2BAAkC,IAAvBpD,EAAuB,SAChC,GAAIZ,iBAAiB,CAACY,CAAD,CAArB,CAA8B,CAC5B,GAAI6G,CAAO,GAAK5G,CAAhB,CACE,MAAO,QAAYD,CAAZ,CAAP,CAEF6G,CAAO,EAJqB,CAK5B,QACD,CACD,GAAI7G,CAAK,CAACE,KAAN,CAAYmC,MAAZ,CAAqBwE,CAArB,CAA+B5G,CAAnC,CACE,MAAO,CAACD,CAAD,CAAQA,CAAK,CAACE,KAAN,CAAYD,CAAK,CAAG4G,CAApB,CAAR,CAAP,CAEFA,CAAO,EAAI7G,CAAK,CAACE,KAAN,CAAYmC,MACxB,CAfE,+BAgBH,MAAO,eACR,CA3BO,GA6BcuE,CAAO,CAAC3C,CAAD,CA7BrB,uBA6BDjE,CA7BC,MA6BM0D,CA7BN,MA+BR,GAAItE,iBAAiB,CAACsE,CAAD,CAArB,CAEE,WADAhB,EAAQ,CAACiC,CAAD,CACR,CAGF,GAAIjF,oBAAoB,CAACgE,CAAD,CAAxB,CAAgC,OAM9B,WALA6B,EAAW,CACTZ,CADS,kBAER3E,CAFQ,WAERA,CAFQ,QAERA,CAAK,CAAEE,KAAP,CAAagF,MAAb,CAAoB,SAACS,CAAD,QAAQ,CAACjG,oBAAoB,CAACiG,CAAD,CAA7B,CAApB,CAFQ,gBAGP,EAHO,CAMZ,CAEGjC,CA7CI,EA8CNsB,CAAQ,CAACL,CAAD,CAAIjB,CAAJ,CAEX,CAhDD,IAiDE3B,EAAQ,CAACb,CAAD,IAEX,CA1DsB,CAxVoB,CAoZrC4F,CAAM,CAAGzI,SAAS,CAAC,SAAC6C,CAAD,QAASa,EAAQ,CAACb,CAAD,IAAjB,CAAD,CApZmB,CAsZrC6F,CAAG,CAAG1I,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAA2B,CAC3CzD,CAAG,CAACqB,GAAJ,CAAQR,CAAR,CAD2C,GAE7C4C,CAAC,CAAC4B,cAAF,EAF6C,CAG7CxE,CAAQ,CAACb,CAAD,IAHqC,CAKhD,CALoB,CAtZsB,CA6ZrC8F,CAAS,CAAG3I,SAAS,CAAC,SAAC6C,CAAD,CAAMyD,CAAN,CAAkC,IACtDvC,EAAU,CAAGlB,CAAG,CAACqB,GAAJ,CAAQN,CAAR,CADyC,GAE1Bf,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CAF0B,CAEpDpB,CAFoD,GAEpDA,QAFoD,CAE1CgD,CAF0C,GAE1CA,WAF0C,CAGtDR,CAAK,CAAGT,CAAG,CAACqB,GAAJ,CAAQb,CAAR,CAH8C,CAKxDU,CALwD,GASxDjD,CATwD,CAU1DuF,CAAW,CAACC,CAAD,CAAIhD,CAAK,CAACA,CAAK,CAACU,MAAN,CAAe,CAAhB,CAAT,CAV+C,CAY1DF,CAAW,UAAIgE,CAAJ,WAAIA,CAAJ,QAAIA,CAAU,CAAGxB,CAAH,CAAd,CAZ+C,CAc7D,CAd0B,CA7ZgB,GA6a5BrG,OAAO,CAAC,CACrBgI,OAAO,CAAPA,CADqB,CAErBG,SAAS,CAATA,CAFqB,CAGrBQ,MAAM,CAAEX,CAHa,CAIrBY,QAAQ,CAAET,CAJW,CAKrBU,IAAI,CAAEb,CALe,CAMrBc,GAAG,CAAEX,CANgB,CAOrBC,KAAK,CAALA,CAPqB,CAQrBI,MAAM,CAANA,CARqB,CASrBC,GAAG,CAAHA,CATqB,CAUrBC,SAAS,CAATA,CAVqB,CAAD,CA7aqB,uBA6apCK,EA7aoC,MA0brCC,EAAgB,CAAGjJ,SAAS,CAChC,SAAC6C,CAAD,GAAmE,IAA3DjB,EAA2D,GAA3DA,KAA2D,CAApDyD,CAAoD,GAApDA,IAAoD,CAC3DN,CAAY,CAAGlC,CAAG,CAACqB,GAAJ,CAAQO,CAAR,CAD4C,CAGjE,GAAI1D,iBAAiB,CAACsE,CAAD,CAArB,CACE,MAAO,CACL6D,OAAO,CAAE7E,CADJ,CAEL8E,YAAY,CAAE,8BAAMrD,EAAc,CAAClE,CAAD,CAApB,CAFT,CAAP,CAKF,GAAIP,oBAAoB,CAACgE,CAAD,CAAxB,CAAgC,CAC9B,GAAM+D,EAAQ,CAAG,UAAc,oCACTrE,CADS,MAC7B,2BAAkC,IAAvBpD,EAAuB,SAChC,IAAIZ,iBAAiB,CAACY,CAAD,CAArB,EAGIA,CAAK,CAACK,GAAN,GAAcqD,CAAI,CAACtD,QAHvB,CAGiC,OAC/B,wBACGJ,CADH,WACGA,CADH,QACGA,CAAK,CAAEE,KAAP,CAAagF,MAAb,CACC,SAACS,CAAD,QAAQ,CAACjG,oBAAoB,CAACiG,CAAD,CAA7B,CADD,CADH,gBAGkB,EAEnB,CACF,CAZ4B,+BAa7B,MAAO,EACR,CAdD,CAeA,MAAO,CACL4B,OAAO,CAAE,iBAAC5C,CAAD,QAA6BY,EAAW,CAACZ,CAAD,CAAI8C,CAAQ,EAAZ,CAAxC,CADJ,CAELD,YAAY,CAAE,8BAAMrD,EAAc,CAAClE,CAAD,CAApB,CAFT,CAIR,CAED,MAAO,CACLsH,OAAO,CAAE,iBAAC5C,CAAD,QAA6BK,EAAQ,CAACL,CAAD,CAAIjB,CAAJ,CAArC,CADJ,CAEL8D,YAAY,CAAE,8BAAMrD,EAAc,CAAClE,CAAD,CAApB,CAFT,CAIR,CApC+B,CA1bS,CAierCyH,EAAgB,CAAGrJ,SAAS,CAChC,SAAC6C,CAAD,CAAMyD,CAAN,CAAsD,OACtBzD,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CADsB,CAC5C4E,CAD4C,GAC5CA,QAD4C,CAClCwC,CADkC,GAClCA,OADkC,CAE9CC,CAAO,CAAG1G,CAAG,CAACqB,GAAJ,CAAQT,CAAR,CAFoC,CAI/CqD,CAJ+C,GAK9C,CAACyC,CAL6C,EAMhD9F,CAAS,CAACZ,CAAD,IANuC,CAQ3B,UAAnB,QAAOyG,EARuC,EAShDA,CAAO,CAAChD,CAAD,CATyC,CAYrD,CAb+B,CAjeS,CAifrCkD,EAAe,CAAGxJ,SAAS,CAC/B,SAAC6C,CAAD,CAAMyD,CAAN,CAAsD,CACpD,MAAmBzD,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,CAAnB,CAAQuH,CAAR,GAAQA,MAAR,CACA,GAAI5G,CAAG,CAACqB,GAAJ,CAAQR,CAAR,CAAJ,CAAuB,OAErB,sBADAvB,CAAQ,CAACgC,OACT,qBADA,EAAkB0D,KAAlB,EACA,CACD,CAEGhF,CAAG,CAACqB,GAAJ,CAAQT,CAAR,CAPgD,EAQlDA,CAAS,CAACZ,CAAD,IARyC,CAW9B,UAAlB,QAAO4G,EAXyC,EAYlDA,CAAM,CAACnD,CAAD,CAET,CAf8B,CAjfU,CAmgBrCoD,EAAoB,CAAG1J,SAAS,CAAC,SAAC6C,CAAD,CAAS,CAC9C,GAAMiE,EAAQ,CAAGjE,CAAG,CAACqB,GAAJ,CAAQzB,CAAR,CAAjB,CACA,GAAII,CAAG,CAACqB,GAAJ,CAAQR,CAAR,CAAJ,CACEA,CAAQ,CAACb,CAAD,IADV,CAEEY,CAAS,CAACZ,CAAD,IAFX,KAGO,IAAI,CAACiE,CAAL,CAAe,OACpBpD,CAAQ,CAACb,CAAD,IADY,CAEpBY,CAAS,CAACZ,CAAD,IAFW,WAGpBV,CAAQ,CAACgC,OAHW,qBAGpB,EAAkB0D,KAAlB,EACD,CACF,CAVqC,CAngBK,CAyjB3C,MA1CAxH,WAAU,CAAC,CACT2I,IAAI,CAAEA,EADG,CAETW,GAAG,CAAExH,CAFI,CAGTyH,QAAQ,CAAE5J,SAAS,CAAC,SAAC6C,CAAD,QAAS,CAACA,CAAG,CAACqB,GAAJ,CAAQzB,CAAR,CAAV,CAAD,CAHV,CAAD,CA0CV,CApCArC,eAAe,CAAC,CACdwJ,QAAQ,CAAE5J,SAAS,CAAC,SAAC6C,CAAD,QAASA,EAAG,CAACqB,GAAJ,CAAQR,CAAR,CAAT,CAAD,CADL,CAEdmG,sBAAsB,EACpBzH,CADoB,CAEpBC,CAFoB,4BAGhBe,CAAuB,EAAI,EAHX,EAFR,CAOd0G,OAAO,CAAE9J,SAAS,CAAC,SAAC6C,CAAD,QAASa,EAAQ,CAACb,CAAD,IAAjB,CAAD,CAPJ,CAAD,CAoCf,CA1BA3C,SAAS,CAAC,SAAC2C,CAAD,CAAMkH,CAAN,QAAkBA,EAAO,EAAIrG,CAAQ,CAACb,CAAD,IAArC,CAAD,CAAoD,CAACJ,CAAD,CAApD,CA0BT,CAxBAvC,SAAS,CACP,SAAC2C,CAAD,CAAuB,SAAjByF,CAAiB,uEACrB,GAAAzF,CAAG,CAACqB,GAAJ,CAAQhC,CAAR,GAAmB8H,cADE,qBACrB,SAAoC1B,CAApC,CADqB,CAErBxC,CAAc,CAAC,CAAD,CACf,CAJM,CAKP,CAACpC,CAAD,CALO,CAwBT,CAhBAxD,SAAS,CACP,SAAC2C,CAAD,CAA8B,IAAxBoH,EAAwB,wDAAP,EAAO,CACtBlG,CAAU,CAAGlB,CAAG,CAACqB,GAAJ,CAAQN,CAAR,CADS,CAGxBqG,CAAc,GAAKlG,CAHK,EAI1BE,CAAO,CAACgG,CAAD,CAEV,CAPM,CAQP,CAACvH,CAAD,CARO,CAgBT,CALAxC,SAAS,CACP,SAAC2C,CAAD,KAAMqH,EAAN,mEAAmCxG,EAAQ,CAACb,CAAD,CAAMqH,CAAN,CAA3C,CADO,CAEP,CAACvH,CAAD,CAFO,CAKT,CAAO,CACLe,QAAQ,CAARA,CADK,CAELD,SAAS,CAATA,CAFK,CAGLG,cAAc,CAAdA,CAHK,CAILC,eAAe,CAAfA,CAJK,CAKLI,OAAO,CAAPA,CALK,CAMLgF,gBAAgB,CAAhBA,EANK,CAOLO,eAAe,CAAfA,EAPK,CAQLE,oBAAoB,CAApBA,EARK,CASL1B,oBAAoB,CAApBA,CATK,CAUL7F,QAAQ,CAARA,CAVK,CAWLC,WAAW,CAAXA,CAXK,CAYLC,UAAU,CAAVA,CAZK,CAaLoF,iBAAiB,CAAjBA,CAbK,CAcLG,gBAAgB,CAAhBA,CAdK,CAeLyB,gBAAgB,CAAhBA,EAfK,CAgBL5E,gBAAgB,CAAhBA,CAhBK,CAiBLqD,UAAU,CAAVA,CAjBK,CAkBLpC,WAAW,CAAXA,CAlBK,CAmBL/B,oBAAoB,CAApBA,CAnBK,CAoBLN,SAAS,CAATA,CApBK,CAqBLF,cAAc,CAAdA,CArBK,CAsBL+D,WAAW,CAAXA,CAtBK,CAuBLpB,cAAc,CAAdA,CAvBK,CAwBLzB,QAAQ,CAARA,CAxBK,CAyBLsC,QAAQ,CAARA,CAzBK,CA0BLlB,YAAY,CAAZA,CA1BK,CA2BLX,iBAAiB,CAAjBA,CA3BK,CA4BLlC,kBAAkB,CAAlBA,CA5BK,CA8BR,CA7lBM"}
@@ -1,8 +1,8 @@
1
1
  import { IconComponent } from '@consta/icons/Icon';
2
2
  import React from 'react';
3
- import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
3
+ import { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';
4
4
  import { PropForm, PropSize, PropStatus, PropView } from '../types';
5
- export declare type SelectContainerProps = PropsWithHTMLAttributesAndRef<{
5
+ export type SelectContainerProps = PropsWithHTMLAttributesAndRef<{
6
6
  disabled?: boolean;
7
7
  form?: PropForm;
8
8
  size?: PropSize;
@@ -1,8 +1,8 @@
1
1
  import './SelectCreateButton.css';
2
2
  import React from 'react';
3
- import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
3
+ import { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';
4
4
  import { PropSize } from '../types';
5
- declare type SelectCreateButtonProps = PropsWithHTMLAttributesAndRef<{
5
+ type SelectCreateButtonProps = PropsWithHTMLAttributesAndRef<{
6
6
  labelForCreate?: string;
7
7
  inputValue?: string;
8
8
  active: boolean;
@@ -1,14 +1,14 @@
1
1
  import './SelectDropdown.css';
2
2
  import React from 'react';
3
- import { PopoverPropOffset } from "../../Popover";
4
- import { SelectAllItem } from "../../../utils/getGroups";
5
- import { PropsWithJsxAttributes } from "../../../utils/types/PropsWithJsxAttributes";
3
+ import { PopoverPropOffset } from '##/components/Popover';
4
+ import { SelectAllItem } from '##/utils/getGroups';
5
+ import { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';
6
6
  import { PropSize, RenderItemProps } from '../types';
7
7
  import { GetOptionPropsResult, OptionForCreate, OptionProps } from '../useSelect';
8
8
  export declare const selectDropdownForm: readonly ["default", "brick", "round"];
9
- export declare type SelectDropdownPropForm = typeof selectDropdownForm[number];
9
+ export type SelectDropdownPropForm = typeof selectDropdownForm[number];
10
10
  export declare const defaultSelectDropdownPropForm: "default";
11
- declare type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
11
+ type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
12
12
  size: PropSize;
13
13
  controlRef: React.MutableRefObject<HTMLDivElement | null>;
14
14
  dropdownRef: React.Ref<HTMLDivElement>;
@@ -36,6 +36,6 @@ declare type Props<ITEM, GROUP> = PropsWithJsxAttributes<{
36
36
  virtualScroll?: boolean;
37
37
  onScrollToBottom?: (length: number) => void;
38
38
  }>;
39
- declare type SelectDropdown = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
40
- export declare const SelectDropdown: SelectDropdown;
39
+ type SelectDropdownComponent = <ITEM, GROUP>(props: Props<ITEM, GROUP>) => React.ReactElement | null;
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 SelectDropdown = <ITEM, GROUP>(\n props: Props<ITEM, GROUP>,\n) => React.ReactElement | null;\n\nconst cnSelectDropdown = cn('SelectDropdown');\n\nconst getLengthElements = <ITEM, GROUP>(\n elements: (\n | OptionForCreate\n | {\n items: Array<SelectAllItem | ITEM>;\n key: string | number;\n group?: GROUP;\n groupIndex: number;\n checkedCount?: number;\n totalCount?: number;\n }\n )[],\n) => {\n let length = elements.length <= 1 ? 0 : elements.length;\n\n for (let index = 0; index < elements.length; index++) {\n const element = elements[index];\n\n if (isNotOptionForCreate(element) && element.items.length) {\n length += element.items.length;\n }\n }\n\n return length;\n};\n\nconst isVisible = (slice: [number, number], index: number) => {\n return index >= slice[0] && index < slice[1];\n};\n\nexport const SelectDropdown: SelectDropdown = (props) => {\n const {\n controlRef,\n size,\n getOptionProps,\n dropdownRef: dropdownRefProp,\n labelForCreate,\n className,\n labelForNotFound,\n labelForEmptyItems,\n hasItems = true,\n form,\n isOpen,\n offset: offsetProp = 'none',\n renderItem,\n visibleItems,\n isLoading,\n getGroupLabel,\n notFound,\n itemsRefs,\n virtualScroll,\n onScrollToBottom,\n ...otherProps\n } = props;\n\n const indent = form === 'round' ? 'increased' : 'normal';\n\n const isListShowed = useMemo(() => {\n return (\n visibleItems.filter(\n (group) =>\n isOptionForCreate(group) ||\n (Array.isArray(group.items) && group.items.length > 0),\n ).length > 0\n );\n }, [visibleItems]);\n\n const offset = offsetProp === 'none' ? undefined : offsetProp;\n\n const lengthForVirtualScroll = useMemo(\n () => getLengthElements(visibleItems),\n [visibleItems],\n );\n\n const {\n spaceTop,\n slice: sliceHookProp,\n listRefs,\n scrollElementRef,\n } = useVirtualScroll({\n length: lengthForVirtualScroll,\n isActive: virtualScroll && isOpen,\n onScrollToBottom,\n });\n\n const slice: [number, number] =\n sliceHookProp[0] === 0 && virtualScroll ? [0, 50] : sliceHookProp;\n\n const popoverRef = useRef<HTMLDivElement>(null);\n const dropdownRef = useForkRef([scrollElementRef, dropdownRefProp]);\n const [scrolled, setScrolled] = useFlag();\n const setScrolledOffDebounce = useDebounce(setScrolled.off, 100);\n\n useEffect(() => {\n const fn = () => {\n setScrolled.on();\n setScrolledOffDebounce();\n };\n\n scrollElementRef.current?.addEventListener('scroll', fn);\n\n return () => {\n scrollElementRef.current?.removeEventListener('scroll', fn);\n };\n }, [scrollElementRef.current]);\n\n return (\n <Transition\n in={isOpen}\n unmountOnExit\n nodeRef={popoverRef}\n timeout={animateTimeout}\n >\n {(animate) => {\n const getIndex = fabricIndex();\n const getVirtualIndex = fabricIndex();\n\n return (\n <Popover\n {...otherProps}\n anchorRef={controlRef}\n direction=\"downStartLeft\"\n possibleDirections={[\n 'downStartLeft',\n 'upStartLeft',\n 'downStartRight',\n 'upStartRight',\n ]}\n offset={offset}\n ref={popoverRef}\n role=\"listbox\"\n className={cnSelectDropdown(null, [\n cnListBox({ size, form, border: true, shadow: true }),\n cnMixPopoverAnimate({ animate }),\n className,\n ])}\n equalAnchorWidth\n >\n <div\n className={cnSelectDropdown('ScrollContainer', [\n cnMixSpace({\n pV: mapVerticalSpace[size],\n }),\n cnMixScrollBar(),\n ])}\n ref={dropdownRef}\n >\n {isLoading && !isListShowed && <SelectLoader />}\n <div\n className={cnSelectDropdown('List', { scrolled })}\n style={{ marginTop: spaceTop }}\n >\n {visibleItems.map((group, groupIndex) => {\n if (isOptionForCreate(group)) {\n const index = getIndex();\n return (\n <SelectCreateButton\n size={size}\n labelForCreate={labelForCreate}\n inputValue={group.label}\n indent={indent}\n ref={itemsRefs[index]}\n {...getOptionProps({\n index,\n item: group,\n keyPrefix: groupIndex,\n })}\n />\n );\n }\n\n const virtualIndex =\n visibleItems.length > 1 ? getVirtualIndex() : 0;\n\n return (\n <Fragment key={group.key}>\n {group.group &&\n getGroupLabel &&\n isVisible(slice, virtualIndex) && (\n <SelectGroupLabel\n label={getGroupLabel(group.group)}\n size={size}\n indent={indent}\n ref={listRefs[virtualIndex]}\n key={`group-${group.key}`}\n />\n )}\n {group.items.map((item, i) => {\n if (isOptionForSelectAll(item)) {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n\n if (isVisible(slice, virtualIndex)) {\n return (\n <SelectItemAll\n ref={forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ])}\n indent={indent}\n size={size}\n {...getOptionProps({\n index,\n item,\n keyPrefix: i,\n })}\n intermediate={\n item.checkedCount && item.totalCount\n ? item.checkedCount !== item.totalCount\n : false\n }\n checked={item.checkedCount === item.totalCount}\n countItems={item.checkedCount}\n total={item.totalCount}\n />\n );\n }\n } else {\n const virtualIndex = getVirtualIndex();\n const index = getIndex();\n if (isVisible(slice, virtualIndex)) {\n return (\n <Fragment key={`${group.key}-${i}`}>\n {renderItem({\n ref: forkRef([\n listRefs[virtualIndex],\n itemsRefs[index],\n ]),\n item,\n ...getOptionProps({\n index,\n item,\n keyPrefix: i,\n }),\n })}\n </Fragment>\n );\n }\n }\n })}\n </Fragment>\n );\n })}\n {isLoading && isListShowed && (\n <ListLoader size={size} innerOffset={indent} />\n )}\n </div>\n {!isLoading && hasItems && notFound && labelForNotFound && (\n <ListItem\n size={size}\n label={labelForNotFound}\n innerOffset={indent}\n >\n {labelForNotFound}\n </ListItem>\n )}\n {!isLoading && !hasItems && labelForEmptyItems && (\n <ListItem\n size={size}\n label={labelForEmptyItems}\n innerOffset={indent}\n >\n {labelForEmptyItems}\n </ListItem>\n )}\n </div>\n </Popover>\n );\n }}\n </Transition>\n );\n};\n"],"mappings":"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"}
1
+ {"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,7 +1,7 @@
1
1
  import React from 'react';
2
- import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
2
+ import { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';
3
3
  import { PropSize } from '../types';
4
- declare type SelectGroupLabelProps = PropsWithHTMLAttributesAndRef<{
4
+ type SelectGroupLabelProps = PropsWithHTMLAttributesAndRef<{
5
5
  label: string;
6
6
  size: PropSize;
7
7
  indent: 'normal' | 'increased';
@@ -1,13 +1,13 @@
1
1
  import './SelectItem.css';
2
2
  import React from 'react';
3
- import { CheckboxPropSize } from "../../Checkbox";
4
- import { PropsWithHTMLAttributesAndRef } from "../../../utils/types/PropsWithHTMLAttributes";
3
+ import { CheckboxPropSize } from '##/components/Checkbox';
4
+ import { PropsWithHTMLAttributesAndRef } from '##/utils/types/PropsWithHTMLAttributes';
5
5
  import { PropSize } from '../types';
6
- export declare type SelectItemProps = PropsWithHTMLAttributesAndRef<{
6
+ export type SelectItemProps = PropsWithHTMLAttributesAndRef<{
7
7
  label: string;
8
8
  active: boolean;
9
9
  hovered: boolean;
10
- multiple: boolean;
10
+ multiple?: boolean;
11
11
  size: PropSize;
12
12
  indent: 'normal' | 'increased';
13
13
  disabled: boolean | undefined;
@@ -1,2 +1,2 @@
1
- import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","label","active","hovered","multiple","size","indent","disabled","onClick"];import"./SelectItem.css";import React,{forwardRef}from"react";import{Checkbox}from"../../Checkbox";import{ListItem}from"../../ListCanary";import{cn}from"../../../utils/bem";export var sizeCheckboxMap={xs:"m",s:"m",m:"l",l:"l"};export var cnSelectItem=cn("SelectItem");export var SelectItem=forwardRef(function(a,b){var c=a.className,d=a.label,e=a.active,f=a.hovered,g=a.multiple,h=a.size,i=a.indent,j=a.disabled,k=a.onClick,l=_objectWithoutProperties(a,_excluded);return React.createElement(ListItem,Object.assign({},l,{ref:b,className:cnSelectItem(null,[c]),"aria-selected":e,"aria-disabled":j,role:"option",label:d,innerOffset:i,size:h,active:f,checked:!g&&e,disabled:j,onClick:k,leftSide:g&&React.createElement(Checkbox,{checked:e,disabled:j,size:sizeCheckboxMap[h]})}),d)});
1
+ import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["className","label","active","hovered","multiple","size","indent","disabled","onClick"];import"./SelectItem.css";import React,{forwardRef}from"react";import{Checkbox}from"../../Checkbox";import{ListItem}from"../../ListCanary";import{cn}from"../../../utils/bem";export var sizeCheckboxMap={xs:"s",s:"s",m:"m",l:"l"};export var cnSelectItem=cn("SelectItem");export var SelectItem=forwardRef(function(a,b){var c=a.className,d=a.label,e=a.active,f=a.hovered,g=a.multiple,h=a.size,i=a.indent,j=a.disabled,k=a.onClick,l=_objectWithoutProperties(a,_excluded);return React.createElement(ListItem,Object.assign({},l,{ref:b,className:cnSelectItem(null,[c]),"aria-selected":e,"aria-disabled":j,role:"option",label:d,innerOffset:i,size:h,active:f,checked:!g&&e,disabled:j,onClick:k,leftSide:g&&React.createElement(Checkbox,{checked:e,disabled:j,size:sizeCheckboxMap[h]})}),d)});
2
2
  //# sourceMappingURL=SelectItem.js.map