@consta/uikit 5.13.0 → 5.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (403) hide show
  1. package/FieldComponents/index.d.ts +1 -0
  2. package/FieldComponents/index.js +1 -0
  3. package/TextFieldCanary/index.d.ts +1 -0
  4. package/TextFieldCanary/index.js +1 -0
  5. package/__internal__/src/components/AutoComplete/helpers.d.ts +1 -1
  6. package/__internal__/src/components/AutoComplete/types.d.ts +1 -1
  7. package/__internal__/src/components/AutoComplete/types.js.map +1 -1
  8. package/__internal__/src/components/AutoComplete/useAutoComplete.d.ts +1 -1
  9. package/__internal__/src/components/AutoComplete/useAutoComplete.js +1 -1
  10. package/__internal__/src/components/AutoComplete/useAutoComplete.js.map +1 -1
  11. package/__internal__/src/components/AutoCompleteCanary/helpers.d.ts +1 -1
  12. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +1 -1
  13. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
  14. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.d.ts +1 -1
  15. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js +1 -1
  16. package/__internal__/src/components/AutoCompleteCanary/useAutoComplete.js.map +1 -1
  17. package/__internal__/src/components/AvatarGroup/AvatarGroup.js.map +1 -1
  18. package/__internal__/src/components/Badge/Badge.css +1 -1
  19. package/__internal__/src/components/Badge/Badge.d.ts +2 -31
  20. package/__internal__/src/components/Badge/Badge.js +1 -1
  21. package/__internal__/src/components/Badge/Badge.js.map +1 -1
  22. package/__internal__/src/components/Badge/cn.d.ts +1 -0
  23. package/__internal__/src/components/Badge/cn.js +2 -0
  24. package/__internal__/src/components/Badge/cn.js.map +1 -0
  25. package/__internal__/src/components/Badge/guardStatus.d.ts +2 -0
  26. package/__internal__/src/components/Badge/guardStatus.js +2 -0
  27. package/__internal__/src/components/Badge/guardStatus.js.map +1 -0
  28. package/__internal__/src/components/Badge/index.d.ts +2 -0
  29. package/__internal__/src/components/Badge/index.js +1 -1
  30. package/__internal__/src/components/Badge/index.js.map +1 -1
  31. package/__internal__/src/components/Badge/maps.d.ts +9 -0
  32. package/__internal__/src/components/Badge/maps.js +2 -0
  33. package/__internal__/src/components/Badge/maps.js.map +1 -0
  34. package/__internal__/src/components/Badge/types.d.ts +31 -0
  35. package/__internal__/src/components/Badge/types.js +2 -0
  36. package/__internal__/src/components/Badge/types.js.map +1 -0
  37. package/__internal__/src/components/BadgeGroup/BadgeGroup.js +1 -1
  38. package/__internal__/src/components/BadgeGroup/BadgeGroup.js.map +1 -1
  39. package/__internal__/src/components/BadgeGroup/types.d.ts +4 -1
  40. package/__internal__/src/components/BadgeGroup/types.js.map +1 -1
  41. package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
  42. package/__internal__/src/components/Breadcrumbs/BreadcrumbsItem/BreadcrumbsItem.css +1 -1
  43. package/__internal__/src/components/Checkbox/Checkbox.css +1 -1
  44. package/__internal__/src/components/CheckboxDeprecated/Checkbox.css +2 -2
  45. package/__internal__/src/components/CheckboxGroup/CheckboxGroup.js.map +1 -1
  46. package/__internal__/src/components/Chips/types.d.ts +8 -2
  47. package/__internal__/src/components/Chips/types.js.map +1 -1
  48. package/__internal__/src/components/Collapse/types.d.ts +1 -1
  49. package/__internal__/src/components/Collapse/types.js.map +1 -1
  50. package/__internal__/src/components/Combobox/Combobox.js +1 -1
  51. package/__internal__/src/components/Combobox/Combobox.js.map +1 -1
  52. package/__internal__/src/components/Combobox/helpers.d.ts +2 -2
  53. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  54. package/__internal__/src/components/ComboboxDeprecated/ComboboxDeprecated.js +1 -1
  55. package/__internal__/src/components/ComboboxDeprecated/ComboboxDeprecated.js.map +1 -1
  56. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js +1 -1
  57. package/__internal__/src/components/ContextMenu/ContextMenuLevel/ContextMenuLevel.js.map +1 -1
  58. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js +1 -1
  59. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.js.map +1 -1
  60. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.css +1 -1
  61. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js +1 -1
  62. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.js.map +1 -1
  63. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.css +1 -1
  64. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js +1 -1
  65. package/__internal__/src/components/DatePicker/DatePickerTypeDateRange/DatePickerTypeDateRange.js.map +1 -1
  66. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js +1 -1
  67. package/__internal__/src/components/DatePicker/DatePickerTypeDateTimeRange/DatePickerTypeDateTimeRange.js.map +1 -1
  68. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js +1 -1
  69. package/__internal__/src/components/DatePicker/DatePickerTypeMonthRange/DatePickerTypeMonthRange.js.map +1 -1
  70. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js +1 -1
  71. package/__internal__/src/components/DatePicker/DatePickerTypeYearRange/DatePickerTypeYearRange.js.map +1 -1
  72. package/__internal__/src/components/DateTime/DateTime10Years/DateTime10Years.css +1 -1
  73. package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.css +1 -1
  74. package/__internal__/src/components/DateTime/DateTimeMonth/DateTimeMonth.css +1 -1
  75. package/__internal__/src/components/DateTime/DateTimeTimeColumn/DateTimeTimeColumn.css +1 -1
  76. package/__internal__/src/components/DateTime/DateTimeTimeColumn/DateTimeTimeColumn.js +1 -1
  77. package/__internal__/src/components/DateTime/DateTimeTimeColumn/DateTimeTimeColumn.js.map +1 -1
  78. package/__internal__/src/components/DateTime/DateTimeTimeColumn/useScrollToElement/useScrollToElement.js.map +1 -1
  79. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.css +1 -1
  80. package/__internal__/src/components/DateTime/DateTimeTypeTime/DateTimeTypeTime.js.map +1 -1
  81. package/__internal__/src/components/DateTime/DateTimeYear/DateTimeYear.css +1 -1
  82. package/__internal__/src/components/DateTime/helpers/getSliderValueRange.js +1 -1
  83. package/__internal__/src/components/DateTime/helpers/getSliderValueRange.js.map +1 -1
  84. package/__internal__/src/components/DragNDropField/DragNDropField.js +1 -1
  85. package/__internal__/src/components/DragNDropField/DragNDropField.js.map +1 -1
  86. package/__internal__/src/components/DragNDropField/formatAccept.js.map +1 -1
  87. package/__internal__/src/components/DragNDropField/locale.d.ts +1 -1
  88. package/__internal__/src/components/DragNDropField/locale.js +1 -1
  89. package/__internal__/src/components/DragNDropField/locale.js.map +1 -1
  90. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldCanary.js +1 -1
  91. package/__internal__/src/components/DragNDropFieldCanary/DragNDropFieldCanary.js.map +1 -1
  92. package/__internal__/src/components/DragNDropFieldCanary/renderChildren.d.ts +3 -0
  93. package/__internal__/src/components/DragNDropFieldCanary/renderChildren.js +2 -0
  94. package/__internal__/src/components/DragNDropFieldCanary/renderChildren.js.map +1 -0
  95. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js +1 -1
  96. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/FieldArrayValueInlineControl.js.map +1 -1
  97. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.d.ts +2 -1
  98. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.js.map +1 -1
  99. package/__internal__/src/components/FieldComponents/FieldComponents.d.ts +15 -0
  100. package/__internal__/src/components/FieldComponents/FieldComponents.js +2 -0
  101. package/__internal__/src/components/FieldComponents/FieldComponents.js.map +1 -0
  102. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.css +1 -1
  103. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js +1 -1
  104. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.js.map +1 -1
  105. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
  106. package/__internal__/src/components/FieldComponents/FieldWrapper/FieldWrapper.js +1 -1
  107. package/__internal__/src/components/FieldComponents/FieldWrapper/FieldWrapper.js.map +1 -1
  108. package/__internal__/src/components/FieldComponents/index.d.ts +1 -15
  109. package/__internal__/src/components/FieldComponents/index.js +1 -1
  110. package/__internal__/src/components/FieldComponents/index.js.map +1 -1
  111. package/__internal__/src/components/Grid/helpers.js.map +1 -1
  112. package/__internal__/src/components/Informer/Informer.css +1 -1
  113. package/__internal__/src/components/Informer/Informer.d.ts +1 -1
  114. package/__internal__/src/components/Informer/Informer.js +1 -1
  115. package/__internal__/src/components/Informer/Informer.js.map +1 -1
  116. package/__internal__/src/components/Layout/useFixed.js +1 -1
  117. package/__internal__/src/components/Layout/useFixed.js.map +1 -1
  118. package/__internal__/src/components/ListCanary/ListAddItem/ListAddItem.js +1 -1
  119. package/__internal__/src/components/ListCanary/ListAddItem/ListAddItem.js.map +1 -1
  120. package/__internal__/src/components/ListCanary/ListBox/ListBox.js +1 -1
  121. package/__internal__/src/components/ListCanary/ListBox/ListBox.js.map +1 -1
  122. package/__internal__/src/components/ListCanary/ListBox/index.d.ts +1 -1
  123. package/__internal__/src/components/ListCanary/ListBox/index.js +1 -1
  124. package/__internal__/src/components/ListCanary/ListBox/index.js.map +1 -1
  125. package/__internal__/src/components/ListCanary/ListBox/{mapVerticalSpase.d.ts → mapVerticalSpace.d.ts} +1 -1
  126. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpace.js +2 -0
  127. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpace.js.map +1 -0
  128. package/__internal__/src/components/ListCanary/ListCanary.js +1 -1
  129. package/__internal__/src/components/ListCanary/ListCanary.js.map +1 -1
  130. package/__internal__/src/components/ListCanary/ListDivider/ListDivider.js +1 -1
  131. package/__internal__/src/components/ListCanary/ListDivider/ListDivider.js.map +1 -1
  132. package/__internal__/src/components/ListCanary/ListGroupLabel/ListGroupLabel.js +1 -1
  133. package/__internal__/src/components/ListCanary/ListGroupLabel/ListGroupLabel.js.map +1 -1
  134. package/__internal__/src/components/ListCanary/ListItem/ListItem.js +1 -1
  135. package/__internal__/src/components/ListCanary/ListItem/ListItem.js.map +1 -1
  136. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.js +1 -1
  137. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.js.map +1 -1
  138. package/__internal__/src/components/ListCanary/helper.d.ts +3 -3
  139. package/__internal__/src/components/ListCanary/maps.d.ts +4 -4
  140. package/__internal__/src/components/ListCanary/maps.js +1 -1
  141. package/__internal__/src/components/ListCanary/maps.js.map +1 -1
  142. package/__internal__/src/components/ListCanary/renderHeader.d.ts +1 -1
  143. package/__internal__/src/components/ListCanary/renderHeader.js.map +1 -1
  144. package/__internal__/src/components/ListCanary/types.d.ts +3 -3
  145. package/__internal__/src/components/ListCanary/types.js.map +1 -1
  146. package/__internal__/src/components/Pagination/Pagination.js.map +1 -1
  147. package/__internal__/src/components/Pagination/PaginationList/PaginationList.css +1 -1
  148. package/__internal__/src/components/Pagination/PaginationList/PaginationList.js +1 -1
  149. package/__internal__/src/components/Pagination/PaginationList/PaginationList.js.map +1 -1
  150. package/__internal__/src/components/Pagination/helpers.js.map +1 -1
  151. package/__internal__/src/components/Pagination/usePaginationItems.js.map +1 -1
  152. package/__internal__/src/components/Popover/Popover.d.ts +2 -1
  153. package/__internal__/src/components/Popover/Popover.js +1 -1
  154. package/__internal__/src/components/Popover/Popover.js.map +1 -1
  155. package/__internal__/src/components/Popover/helpers.d.ts +1 -1
  156. package/__internal__/src/components/Popover/helpers.js +1 -1
  157. package/__internal__/src/components/Popover/helpers.js.map +1 -1
  158. package/__internal__/src/components/Popover/usePopoverReposition.d.ts +2 -2
  159. package/__internal__/src/components/Popover/usePopoverReposition.js.map +1 -1
  160. package/__internal__/src/components/PortalWithTheme/PortalWithTheme.js.map +1 -1
  161. package/__internal__/src/components/PortalWithTheme/PortalWithThemeContext/PortalWithThemeContext.d.ts +4 -4
  162. package/__internal__/src/components/PortalWithTheme/PortalWithThemeContext/PortalWithThemeContext.js.map +1 -1
  163. package/__internal__/src/components/ProgressLine/helpers.js.map +1 -1
  164. package/__internal__/src/components/ProgressLine/types.d.ts +2 -2
  165. package/__internal__/src/components/ProgressLine/types.js.map +1 -1
  166. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +3 -3
  167. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  168. package/__internal__/src/components/Select/helpers.d.ts +2 -2
  169. package/__internal__/src/components/Select/helpers.js.map +1 -1
  170. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +3 -3
  171. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js +1 -1
  172. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  173. package/__internal__/src/components/SelectComponents/helpers.d.ts +2 -2
  174. package/__internal__/src/components/SelectComponents/helpers.js +1 -1
  175. package/__internal__/src/components/SelectComponents/helpers.js.map +1 -1
  176. package/__internal__/src/components/SelectComponents/useSelect/useSelect.d.ts +1 -1
  177. package/__internal__/src/components/SelectComponents/useSelect/useSelect.js +1 -1
  178. package/__internal__/src/components/SelectComponents/useSelect/useSelect.js.map +1 -1
  179. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +2 -2
  180. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js +1 -1
  181. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map +1 -1
  182. package/__internal__/src/components/SelectComponentsDeprecated/helpers.d.ts +2 -2
  183. package/__internal__/src/components/SelectComponentsDeprecated/helpers.js +1 -1
  184. package/__internal__/src/components/SelectComponentsDeprecated/helpers.js.map +1 -1
  185. package/__internal__/src/components/Slider/Slider.js +1 -1
  186. package/__internal__/src/components/Slider/Slider.js.map +1 -1
  187. package/__internal__/src/components/Slider/helper.d.ts +6 -6
  188. package/__internal__/src/components/Slider/helper.js +1 -1
  189. package/__internal__/src/components/Slider/helper.js.map +1 -1
  190. package/__internal__/src/components/Slider/useSlider/helper.d.ts +2 -2
  191. package/__internal__/src/components/Slider/useSlider/helper.js +1 -1
  192. package/__internal__/src/components/Slider/useSlider/helper.js.map +1 -1
  193. package/__internal__/src/components/Slider/useSlider/useSlider.js +1 -1
  194. package/__internal__/src/components/Slider/useSlider/useSlider.js.map +1 -1
  195. package/__internal__/src/components/Slider/useSliderStationing.js.map +1 -1
  196. package/__internal__/src/components/SnackBar/SnackBar.js +1 -1
  197. package/__internal__/src/components/SnackBar/SnackBar.js.map +1 -1
  198. package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js +1 -1
  199. package/__internal__/src/components/SnackBar/SnackBarActionButton/SnackBarActionButton.js.map +1 -1
  200. package/__internal__/src/components/SnackBar/SnackBarActionButton/index.d.ts +1 -0
  201. package/__internal__/src/components/SnackBar/SnackBarActionButton/index.js +2 -0
  202. package/__internal__/src/components/SnackBar/SnackBarActionButton/index.js.map +1 -0
  203. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.css +1 -1
  204. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.d.ts +0 -1
  205. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js +1 -1
  206. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.js.map +1 -1
  207. package/__internal__/src/components/SnackBar/SnackBarItem/index.d.ts +1 -0
  208. package/__internal__/src/components/SnackBar/SnackBarItem/index.js +2 -0
  209. package/__internal__/src/components/SnackBar/SnackBarItem/index.js.map +1 -0
  210. package/__internal__/src/components/SnackBar/SnackBarLine/SnackBarLine.js.map +1 -1
  211. package/__internal__/src/components/SnackBar/SnackBarLine/index.d.ts +1 -0
  212. package/__internal__/src/components/SnackBar/SnackBarLine/index.js +2 -0
  213. package/__internal__/src/components/SnackBar/SnackBarLine/index.js.map +1 -0
  214. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.css +1 -0
  215. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.d.ts +4 -0
  216. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.js +2 -0
  217. package/__internal__/src/components/SnackBar/SnackBarProgress/SnackBarProgress.js.map +1 -0
  218. package/__internal__/src/components/SnackBar/SnackBarProgress/index.d.ts +1 -0
  219. package/__internal__/src/components/SnackBar/SnackBarProgress/index.js +2 -0
  220. package/__internal__/src/components/SnackBar/SnackBarProgress/index.js.map +1 -0
  221. package/__internal__/src/components/SnackBar/SnackBarTimer/SnackBarTimer.js +1 -1
  222. package/__internal__/src/components/SnackBar/SnackBarTimer/SnackBarTimer.js.map +1 -1
  223. package/__internal__/src/components/SnackBar/SnackBarTimer/index.d.ts +1 -0
  224. package/__internal__/src/components/SnackBar/SnackBarTimer/index.js +2 -0
  225. package/__internal__/src/components/SnackBar/SnackBarTimer/index.js.map +1 -0
  226. package/__internal__/src/components/SnackBar/helper.d.ts +4 -1
  227. package/__internal__/src/components/SnackBar/helper.js +1 -1
  228. package/__internal__/src/components/SnackBar/helper.js.map +1 -1
  229. package/__internal__/src/components/SnackBar/types.d.ts +15 -0
  230. package/__internal__/src/components/SnackBar/types.js +1 -1
  231. package/__internal__/src/components/SnackBar/types.js.map +1 -1
  232. package/__internal__/src/components/Spoiler/types.d.ts +4 -4
  233. package/__internal__/src/components/Spoiler/types.js +1 -1
  234. package/__internal__/src/components/Spoiler/types.js.map +1 -1
  235. package/__internal__/src/components/Steps/Steps.d.ts +2 -2
  236. package/__internal__/src/components/Steps/Steps.js.map +1 -1
  237. package/__internal__/src/components/Steps/StepsStep/StepsStep.js +1 -1
  238. package/__internal__/src/components/Steps/StepsStep/StepsStep.js.map +1 -1
  239. package/__internal__/src/components/Steps/types.d.ts +1 -1
  240. package/__internal__/src/components/Steps/types.js.map +1 -1
  241. package/__internal__/src/components/Table/Header/TableHeader.js +1 -1
  242. package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
  243. package/__internal__/src/components/Table/Resizer/TableResizer.js.map +1 -1
  244. package/__internal__/src/components/Table/Table.css +1 -1
  245. package/__internal__/src/components/Table/Table.js +1 -1
  246. package/__internal__/src/components/Table/Table.js.map +1 -1
  247. package/__internal__/src/components/Table/__mock__/data.mock.d.ts +1 -1
  248. package/__internal__/src/components/Table/__mock__/data.mock.js +1 -1
  249. package/__internal__/src/components/Table/__mock__/data.mock.js.map +1 -1
  250. package/__internal__/src/components/Table/helpers.d.ts +2 -2
  251. package/__internal__/src/components/Table/helpers.js +1 -1
  252. package/__internal__/src/components/Table/helpers.js.map +1 -1
  253. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js +1 -1
  254. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/__test__/helpers.test.js.map +1 -1
  255. package/__internal__/src/components/TagBase/TagBase.css +1 -1
  256. package/__internal__/src/components/TextField/TextField.js +1 -1
  257. package/__internal__/src/components/TextField/TextField.js.map +1 -1
  258. package/__internal__/src/components/TextField/helpers.d.ts +1 -1
  259. package/__internal__/src/components/TextField/helpers.js.map +1 -1
  260. package/__internal__/src/components/TextFieldCanary/{TextField.js → TextFieldCanary.js} +1 -1
  261. package/__internal__/src/components/TextFieldCanary/TextFieldCanary.js.map +1 -0
  262. package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js +1 -1
  263. package/__internal__/src/components/TextFieldCanary/TextFieldTypeNumber/TextFieldTypeNumber.js.map +1 -1
  264. package/__internal__/src/components/TextFieldCanary/TextFieldTypePassword/TextFieldTypePassword.js +1 -1
  265. package/__internal__/src/components/TextFieldCanary/TextFieldTypePassword/TextFieldTypePassword.js.map +1 -1
  266. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js +1 -1
  267. package/__internal__/src/components/TextFieldCanary/TextFieldTypeText/TextFieldTypeText.js.map +1 -1
  268. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.css +3 -3
  269. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js +1 -1
  270. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArea/TextFieldTypeTextArea.js.map +1 -1
  271. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.css +1 -1
  272. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js +1 -1
  273. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js.map +1 -1
  274. package/__internal__/src/components/TextFieldCanary/index.d.ts +1 -1
  275. package/__internal__/src/components/TextFieldCanary/index.js +1 -1
  276. package/__internal__/src/components/TextFieldCanary/index.js.map +1 -1
  277. package/__internal__/src/components/TextFieldCanary/types.d.ts +1 -0
  278. package/__internal__/src/components/TextFieldCanary/types.js.map +1 -1
  279. package/__internal__/src/components/UserSelect/UserSelect.js +1 -1
  280. package/__internal__/src/components/UserSelect/UserSelect.js.map +1 -1
  281. package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.js +1 -1
  282. package/__internal__/src/components/UserSelect/UserSelectItem/UserSelectItem.js.map +1 -1
  283. package/__internal__/src/components/UserSelect/helpers.d.ts +2 -2
  284. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  285. package/__internal__/src/components/UserSelectDeprecated/UserSelectDeprecated.js +1 -1
  286. package/__internal__/src/components/UserSelectDeprecated/UserSelectDeprecated.js.map +1 -1
  287. package/__internal__/src/components/UserSelectDeprecated/UserSelectItem/UserSelectItem.js +1 -1
  288. package/__internal__/src/components/UserSelectDeprecated/UserSelectItem/UserSelectItem.js.map +1 -1
  289. package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
  290. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/addPrefix.js.map +1 -1
  291. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/getLastPoint.js.map +1 -1
  292. package/__internal__/src/hooks/useBreakpointsDeprecated/index.d.ts +3 -0
  293. package/__internal__/src/hooks/useBreakpointsDeprecated/index.js +2 -0
  294. package/__internal__/src/hooks/useBreakpointsDeprecated/index.js.map +1 -0
  295. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/mapping.js.map +1 -1
  296. package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/types.js.map +1 -1
  297. package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.d.ts +2 -0
  298. package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.js +2 -0
  299. package/__internal__/src/hooks/useBreakpointsDeprecated/useBreakpointsDeprecated.js.map +1 -0
  300. package/__internal__/src/hooks/useBreakpointsDepricated/index.d.ts +0 -2
  301. package/__internal__/src/hooks/useBreakpointsDepricated/index.js +1 -1
  302. package/__internal__/src/hooks/useBreakpointsDepricated/index.js.map +1 -1
  303. package/__internal__/src/hooks/useBreakpointsDepricated/useBreakpointsDepricated.d.ts +1 -2
  304. package/__internal__/src/hooks/useBreakpointsDepricated/useBreakpointsDepricated.js +1 -1
  305. package/__internal__/src/hooks/useBreakpointsDepricated/useBreakpointsDepricated.js.map +1 -1
  306. package/__internal__/src/hooks/useChoiceGroup/useChoiceGroup.js.map +1 -1
  307. package/__internal__/src/hooks/useClickOutside/useClickOutside.js.map +1 -1
  308. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/index.d.ts +2 -0
  309. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/index.js +2 -0
  310. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/index.js.map +1 -0
  311. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/useComponentBreakpointsDeprecated.d.ts +2 -0
  312. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/useComponentBreakpointsDeprecated.js +2 -0
  313. package/__internal__/src/hooks/useComponentBreakpointsDeprecated/useComponentBreakpointsDeprecated.js.map +1 -0
  314. package/__internal__/src/hooks/useComponentBreakpointsDepricated/index.d.ts +0 -1
  315. package/__internal__/src/hooks/useComponentBreakpointsDepricated/index.js +1 -1
  316. package/__internal__/src/hooks/useComponentBreakpointsDepricated/index.js.map +1 -1
  317. package/__internal__/src/hooks/useComponentBreakpointsDepricated/useComponentBreakpointsDepricated.d.ts +1 -2
  318. package/__internal__/src/hooks/useComponentBreakpointsDepricated/useComponentBreakpointsDepricated.js +1 -1
  319. package/__internal__/src/hooks/useComponentBreakpointsDepricated/useComponentBreakpointsDepricated.js.map +1 -1
  320. package/__internal__/src/hooks/useHideElementsInLineDeprecated/index.d.ts +1 -0
  321. package/__internal__/src/hooks/useHideElementsInLineDeprecated/index.js +2 -0
  322. package/__internal__/src/hooks/useHideElementsInLineDeprecated/index.js.map +1 -0
  323. package/__internal__/src/hooks/useHideElementsInLineDeprecated/useHideElementsInLineDeprecated.d.ts +10 -0
  324. package/__internal__/src/hooks/useHideElementsInLineDeprecated/useHideElementsInLineDeprecated.js +2 -0
  325. package/__internal__/src/hooks/useHideElementsInLineDeprecated/useHideElementsInLineDeprecated.js.map +1 -0
  326. package/__internal__/src/hooks/useHideElementsInLineDepricated/index.js.map +1 -1
  327. package/__internal__/src/hooks/useHideElementsInLineDepricated/useHideElementsInLineDepricated.d.ts +1 -10
  328. package/__internal__/src/hooks/useHideElementsInLineDepricated/useHideElementsInLineDepricated.js +1 -1
  329. package/__internal__/src/hooks/useHideElementsInLineDepricated/useHideElementsInLineDepricated.js.map +1 -1
  330. package/__internal__/src/hooks/useKeysDeprecated/index.d.ts +1 -0
  331. package/__internal__/src/hooks/useKeysDeprecated/index.js +2 -0
  332. package/__internal__/src/hooks/useKeysDeprecated/index.js.map +1 -0
  333. package/__internal__/src/hooks/useKeysDeprecated/useKeysDeprecated.d.ts +18 -0
  334. package/__internal__/src/hooks/useKeysDeprecated/useKeysDeprecated.js +2 -0
  335. package/__internal__/src/hooks/useKeysDeprecated/useKeysDeprecated.js.map +1 -0
  336. package/__internal__/src/hooks/useKeysDepricated/index.js.map +1 -1
  337. package/__internal__/src/hooks/useKeysDepricated/useKeysDepricated.d.ts +1 -18
  338. package/__internal__/src/hooks/useKeysDepricated/useKeysDepricated.js +1 -1
  339. package/__internal__/src/hooks/useKeysDepricated/useKeysDepricated.js.map +1 -1
  340. package/__internal__/src/hooks/useResizableContent/helpers.d.ts +1 -1
  341. package/__internal__/src/hooks/useResizableContent/helpers.js +1 -1
  342. package/__internal__/src/hooks/useResizableContent/helpers.js.map +1 -1
  343. package/__internal__/src/hooks/useResizableContent/useResizableContent.js +1 -1
  344. package/__internal__/src/hooks/useResizableContent/useResizableContent.js.map +1 -1
  345. package/__internal__/src/hooks/useSelect/useSelect.d.ts +1 -1
  346. package/__internal__/src/hooks/useSelect/useSelect.js +1 -1
  347. package/__internal__/src/hooks/useSelect/useSelect.js.map +1 -1
  348. package/__internal__/src/hooks/useVirtualScroll/helpers.js +2 -0
  349. package/__internal__/src/hooks/useVirtualScroll/helpers.js.map +1 -0
  350. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.d.ts +1 -1
  351. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.js +1 -1
  352. package/__internal__/src/hooks/useVirtualScroll/useVirtualScroll.js.map +1 -1
  353. package/__internal__/src/mixs/MixPopoverAnimate/MixPopoverAnimate.css +1 -1
  354. package/__internal__/src/uiKit/components/ThemePreview/ThemePreview.js +1 -1
  355. package/__internal__/src/uiKit/components/ThemePreview/ThemePreview.js.map +1 -1
  356. package/__internal__/src/uiKit/components/ThemePreview/helpers.d.ts +4 -4
  357. package/__internal__/src/uiKit/components/ThemePreview/helpers.js +1 -1
  358. package/__internal__/src/uiKit/components/ThemePreview/helpers.js.map +1 -1
  359. package/__internal__/src/utils/date/index.d.ts +1 -1
  360. package/__internal__/src/utils/date/index.js +1 -1
  361. package/__internal__/src/utils/date/index.js.map +1 -1
  362. package/__internal__/src/utils/date/isDisableDate.js +1 -1
  363. package/__internal__/src/utils/date/isDisableDate.js.map +1 -1
  364. package/__internal__/src/utils/date/{isInMinMaxDade.js → isInMinMaxDate.js} +1 -1
  365. package/__internal__/src/utils/date/{isInMinMaxDade.js.map → isInMinMaxDate.js.map} +1 -1
  366. package/__internal__/src/utils/getGroups.d.ts +3 -3
  367. package/__internal__/src/utils/getGroups.js +1 -1
  368. package/__internal__/src/utils/getGroups.js.map +1 -1
  369. package/__internal__/src/utils/types/AutoComplete.js.map +1 -1
  370. package/__internal__/src/utils/types/KeyCode.d.ts +3 -3
  371. package/__internal__/src/utils/types/KeyCode.js.map +1 -1
  372. package/package.json +1 -1
  373. package/useBreakpointsDeprecated/index.d.ts +1 -0
  374. package/useBreakpointsDeprecated/index.js +1 -0
  375. package/useComponentBreakpointsDeprecated/index.d.ts +1 -0
  376. package/useComponentBreakpointsDeprecated/index.js +1 -0
  377. package/useHideElementsInLineDeprecated/index.d.ts +1 -0
  378. package/useHideElementsInLineDeprecated/index.js +1 -0
  379. package/useKeysDeprecated/index.d.ts +1 -0
  380. package/useKeysDeprecated/index.js +1 -0
  381. package/__internal__/src/components/DragNDropFieldCanary/renderCildren.d.ts +0 -3
  382. package/__internal__/src/components/DragNDropFieldCanary/renderCildren.js +0 -2
  383. package/__internal__/src/components/DragNDropFieldCanary/renderCildren.js.map +0 -1
  384. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpase.js +0 -2
  385. package/__internal__/src/components/ListCanary/ListBox/mapVerticalSpase.js.map +0 -1
  386. package/__internal__/src/components/TextFieldCanary/TextField.js.map +0 -1
  387. package/__internal__/src/hooks/useVirtualScroll/hellpers.js +0 -2
  388. package/__internal__/src/hooks/useVirtualScroll/hellpers.js.map +0 -1
  389. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.css +0 -1
  390. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.d.ts +0 -6
  391. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.js +0 -2
  392. package/__internal__/src/uiKit/components/StoryBookExample/StoryBookExample.js.map +0 -1
  393. /package/__internal__/src/components/TextFieldCanary/{TextField.d.ts → TextFieldCanary.d.ts} +0 -0
  394. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/addPrefix.d.ts +0 -0
  395. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/addPrefix.js +0 -0
  396. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/getLastPoint.d.ts +0 -0
  397. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/getLastPoint.js +0 -0
  398. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/mapping.d.ts +0 -0
  399. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/mapping.js +0 -0
  400. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/types.d.ts +0 -0
  401. /package/__internal__/src/hooks/{useBreakpointsDepricated → useBreakpointsDeprecated}/types.js +0 -0
  402. /package/__internal__/src/hooks/useVirtualScroll/{hellpers.d.ts → helpers.d.ts} +0 -0
  403. /package/__internal__/src/utils/date/{isInMinMaxDade.d.ts → isInMinMaxDate.d.ts} +0 -0
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/FieldComponents";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/FieldComponents";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/TextFieldCanary";
@@ -0,0 +1 @@
1
+ export * from "../__internal__/src/components/TextFieldCanary";
@@ -21,7 +21,7 @@ export declare function withDefaultGetters<TYPE extends string, ITEM = AutoCompl
21
21
  getGroupKey?: AutoCompletePropGetGroupId<GROUP> | undefined;
22
22
  onChange?: import("./types").AutoCompletePropOnChange | undefined;
23
23
  virtualScroll?: boolean | undefined;
24
- onScrollToBottom?: ((lenght: number) => void) | undefined;
24
+ onScrollToBottom?: ((length: number) => void) | undefined;
25
25
  onDropdownOpen?: ((isOpen: boolean) => void) | undefined;
26
26
  dropdownOpen?: boolean | undefined;
27
27
  ignoreOutsideClicksRefs?: readonly import("react").RefObject<HTMLElement>[] | undefined;
@@ -38,7 +38,7 @@ export declare type AutoCompleteProps<TYPE extends string, ITEM = AutoCompleteIt
38
38
  getGroupKey?: AutoCompletePropGetGroupId<GROUP>;
39
39
  onChange?: AutoCompletePropOnChange;
40
40
  virtualScroll?: boolean;
41
- onScrollToBottom?: (lenght: number) => void;
41
+ onScrollToBottom?: (length: number) => void;
42
42
  onDropdownOpen?: (isOpen: boolean) => void;
43
43
  dropdownOpen?: boolean;
44
44
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoComplete/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextField';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange = (\n value: string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n id?: string;\n name?: string;\n },\n) => void;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = {\n items: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n onChange?: AutoCompletePropOnChange;\n virtualScroll?: boolean;\n onScrollToBottom?: (lenght: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & Omit<\n TextFieldProps<TYPE>,\n 'max' | 'min' | 'step' | 'incrementButtons' | 'onChange' | 'width'\n> &\n (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (ITEM extends { id: AutoCompleteItemDefault['id'] }\n ? {}\n : { getItemKey: AutoCompletePropGetItemKey<ITEM> }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactElement | null;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoComplete/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextField';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange = (\n value: string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n id?: string;\n name?: string;\n },\n) => void;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = {\n items: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n onChange?: AutoCompletePropOnChange;\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & Omit<\n TextFieldProps<TYPE>,\n 'max' | 'min' | 'step' | 'incrementButtons' | 'onChange' | 'width'\n> &\n (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (ITEM extends { id: AutoCompleteItemDefault['id'] }\n ? {}\n : { getItemKey: AutoCompletePropGetItemKey<ITEM> }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactElement | null;\n"],"mappings":""}
@@ -44,7 +44,7 @@ export declare function useAutoComplete<ITEM, GROUP>(params: UseAutoCompleteProp
44
44
  handleInputFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
45
45
  handleInputBlur: (e: React.FocusEvent<HTMLInputElement>) => void;
46
46
  inputRef: React.RefObject<HTMLInputElement>;
47
- getKeyProps: (rest?: import("../../hooks/useKeysDepricated").KeyProps | undefined) => import("../../hooks/useKeysDepricated").KeyProps;
47
+ getKeyProps: (rest?: import("../../hooks/useKeysDeprecated").KeyProps | undefined) => import("../../hooks/useKeysDeprecated").KeyProps;
48
48
  hasItems: boolean;
49
49
  optionsRefs: React.RefObject<HTMLDivElement>[];
50
50
  };
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{scrollToIndex}from"../SelectComponents/useSelect/helpers";import{useClickOutside}from"../../hooks/useClickOutside";import{useFlag}from"../../hooks/useFlag";import{useKeys}from"../../hooks/useKeysDepricated";import{useRefs}from"../../hooks/useRefs";import{getGroups}from"../../utils/getGroups";export function useAutoComplete(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.getItemLabel,h=a.getItemKey,i=a.searchFunction,j=a.getItemGroupKey,k=a.groups,l=a.getGroupKey,m=a.onFocus,n=a.onBlur,o=a.searchValue,p=a.isLoading,q=a.dropdownOpen,r=a.onDropdownOpen,s=a.ignoreOutsideClicksRefs,t=useRef(null),u=useFlag(),v=_slicedToArray(u,2),w=v[0],x=v[1],y=useState(0),z=_slicedToArray(y,2),A=z[0],B=z[1],C=function(a,b){return!!b&&-1!==g(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},D=useMemo(function(){return b.filter(function(a){return i?i(a,o||""):C(a,o||"")})},[o,b]),E=useMemo(function(){var a=getGroups(D,null!==k&&void 0!==k&&k.length?j:void 0,k,l,void 0);return a},[D,k,j,l]),F=useMemo(function(){return!!E.find(function(a){return 0<a.items.length})},[E]),G=useCallback(function(a){B(Math.min(Math.max(0,"function"==typeof a?a(A):a),D.length-1))},[D,A]),H=function(b,c){f||a.onChange({value:c,e:b})},I=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a-1}))},J=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a+1}))},K=useKeys({ArrowUp:I,ArrowDown:J,PageUp:I,PageDown:J,Home:I,End:J,Enter:function Enter(a,b){if(w){(o||D[A])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(E);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(e.items.length+c>a)return e.items[a-c];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}},d=c(A);d&&H(b,d)}else x.on()},Escape:function Escape(){x.off()},Tab:function Tab(a,b){x.off(),w&&F&&b.preventDefault()}}),L=useRefs(D.length,[w]);return useClickOutside({isActive:w,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(s||[])),handler:x.off}),useEffect(function(){if(f){var a;x.off(),null===(a=t.current)||void 0===a?void 0:a.blur()}},[f]),useEffect(function(){0<D.length&&scrollToIndex(A,c,L,function(){return G(0)}),x.on()},[A]),useEffect(function(){null===r||void 0===r?void 0:r(w)},[w]),useEffect(function(){x.set(q||!1)},[q]),{isOpen:!!(w&&(!!p||F)),visibleItems:E,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=h(c);return{onClick:function onClick(a){H(a,c)},onMouseEnter:function onMouseEnter(){G(b)},active:!1,hovered:b===A,key:d}},handleInputFocus:function handleInputFocus(a){f||(x.toggle(),"function"==typeof m&&m(a))},handleInputBlur:function handleInputBlur(a){if(w){var b;return void(null===(b=t.current)||void 0===b?void 0:b.focus())}"function"==typeof n&&n(a)},inputRef:t,getKeyProps:K,hasItems:F,optionsRefs:L}}
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{scrollToIndex}from"../SelectComponents/useSelect/helpers";import{useClickOutside}from"../../hooks/useClickOutside";import{useFlag}from"../../hooks/useFlag";import{useKeys}from"../../hooks/useKeysDeprecated";import{useRefs}from"../../hooks/useRefs";import{getGroups}from"../../utils/getGroups";export function useAutoComplete(a){var b=a.items,c=a.dropdownRef,d=a.controlRef,e=a.disabled,f=void 0!==e&&e,g=a.getItemLabel,h=a.getItemKey,i=a.searchFunction,j=a.getItemGroupKey,k=a.groups,l=a.getGroupKey,m=a.onFocus,n=a.onBlur,o=a.searchValue,p=a.isLoading,q=a.dropdownOpen,r=a.onDropdownOpen,s=a.ignoreOutsideClicksRefs,t=useRef(null),u=useFlag(),v=_slicedToArray(u,2),w=v[0],x=v[1],y=useState(0),z=_slicedToArray(y,2),A=z[0],B=z[1],C=function(a,b){return!!b&&-1!==g(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},D=useMemo(function(){return b.filter(function(a){return i?i(a,o||""):C(a,o||"")})},[o,b]),E=useMemo(function(){var a=getGroups(D,null!==k&&void 0!==k&&k.length?j:void 0,k,l,void 0);return a},[D,k,j,l]),F=useMemo(function(){return!!E.find(function(a){return 0<a.items.length})},[E]),G=useCallback(function(a){B(Math.min(Math.max(0,"function"==typeof a?a(A):a),D.length-1))},[D,A]),H=function(b,c){f||a.onChange({value:c,e:b})},I=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a-1}))},J=function(a,b){f||(b.preventDefault(),x.on(),G(function(a){return a+1}))},K=useKeys({ArrowUp:I,ArrowDown:J,PageUp:I,PageDown:J,Home:I,End:J,Enter:function Enter(a,b){if(w){(o||D[A])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(E);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(e.items.length+c>a)return e.items[a-c];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}},d=c(A);d&&H(b,d)}else x.on()},Escape:function Escape(){x.off()},Tab:function Tab(a,b){x.off(),w&&F&&b.preventDefault()}}),L=useRefs(D.length,[w]);return useClickOutside({isActive:w,ignoreClicksInsideRefs:[c,d].concat(_toConsumableArray(s||[])),handler:x.off}),useEffect(function(){if(f){var a;x.off(),null===(a=t.current)||void 0===a?void 0:a.blur()}},[f]),useEffect(function(){0<D.length&&scrollToIndex(A,c,L,function(){return G(0)}),x.on()},[A]),useEffect(function(){null===r||void 0===r?void 0:r(w)},[w]),useEffect(function(){x.set(q||!1)},[q]),{isOpen:!!(w&&(!!p||F)),visibleItems:E,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=h(c);return{onClick:function onClick(a){H(a,c)},onMouseEnter:function onMouseEnter(){G(b)},active:!1,hovered:b===A,key:d}},handleInputFocus:function handleInputFocus(a){f||(x.toggle(),"function"==typeof m&&m(a))},handleInputBlur:function handleInputBlur(a){if(w){var b;return void(null===(b=t.current)||void 0===b?void 0:b.focus())}"function"==typeof n&&n(a)},inputRef:t,getKeyProps:K,hasItems:F,optionsRefs:L}}
2
2
  //# sourceMappingURL=useAutoComplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoComplete.js","names":["useCallback","useEffect","useMemo","useRef","useState","scrollToIndex","useClickOutside","useFlag","useKeys","useRefs","getGroups","useAutoComplete","params","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","getGroupKey","onFocus","onBlur","searchValue","isLoading","dropdownOpen","onDropdownOpen","ignoreOutsideClicksRefs","inputRef","isOpen","setIsOpen","highlightedIndex","setHighlightedIndex","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","visibleItems","resultGroups","length","hasItems","find","group","highlightIndex","indexForHighlight","Math","min","max","onChange","e","value","ArrowUp","_","preventDefault","on","old","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getItem","index","couter","Escape","off","Tab","optionsRefs","isActive","ignoreClicksInsideRefs","handler","current","blur","set","getOptionProps","key","onClick","onMouseEnter","active","hovered","handleInputFocus","toggle","handleInputBlur","focus"],"sources":["../../../../../src/components/AutoComplete/useAutoComplete.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { scrollToIndex } from '##/components/SelectComponents/useSelect/helpers';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useFlag } from '##/hooks/useFlag';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDepricated';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups } from '##/utils/getGroups';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\n\ntype OnChangeProp<ITEM> = (props: {\n value: ITEM | null;\n e: React.SyntheticEvent;\n}) => void;\n\ntype UseAutoCompleteProps<ITEM, GROUP> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n searchValue?: string;\n onChange: OnChangeProp<ITEM>;\n isLoading?: boolean;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\ntype OptionProps<ITEM> = {\n index: number;\n item: ITEM;\n keyPrefix: number;\n};\n\ntype GetOptionPropsResult = {\n onClick: (e: React.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nexport function useAutoComplete<ITEM, GROUP>(\n params: UseAutoCompleteProps<ITEM, GROUP>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n getGroupKey,\n onFocus,\n onBlur,\n searchValue,\n isLoading,\n dropdownOpen,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [isOpen, setIsOpen] = useFlag();\n const [highlightedIndex, setHighlightedIndex] = useState<number>(0);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) => {\n if (!searchValue) {\n return false;\n }\n return (\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n };\n\n const filteredOptions = useMemo(\n () =>\n items.filter((item) =>\n searchFunction\n ? searchFunction(item, searchValue || '')\n : searchFunctionDefault(item, searchValue || ''),\n ),\n [searchValue, items],\n );\n\n const visibleItems = useMemo(() => {\n const resultGroups = getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n );\n\n return resultGroups;\n }, [filteredOptions, groups, getItemGroupKey, getGroupKey]);\n\n const hasItems = useMemo(() => {\n return !!visibleItems.find((group) => group.items.length > 0);\n }, [visibleItems]);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight) => {\n setHighlightedIndex(\n Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(highlightedIndex)\n : indexForHighlight,\n ),\n filteredOptions.length - 1,\n ),\n );\n },\n [filteredOptions, highlightedIndex],\n );\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (!disabled) {\n params.onChange({ value: item, e });\n }\n };\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old - 1);\n }\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old + 1);\n }\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getItem = (index: number) => {\n let couter = 0;\n for (const group of visibleItems) {\n if (group.items.length + couter > index) {\n return group.items[index - couter];\n }\n couter += group.items.length;\n }\n return undefined;\n };\n\n const item = getItem(highlightedIndex);\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setIsOpen.on();\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setIsOpen.off();\n };\n\n const Tab: KeyHandler = (_, e): void => {\n setIsOpen.off();\n if (isOpen && hasItems) {\n e.preventDefault();\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n });\n\n const getOptionProps = ({\n index,\n item,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index);\n },\n active: false,\n hovered: index === highlightedIndex,\n key,\n };\n };\n\n const optionsRefs = useRefs<HTMLDivElement>(filteredOptions.length, [isOpen]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n setIsOpen.toggle();\n\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: setIsOpen.off,\n });\n\n useEffect(() => {\n if (disabled) {\n setIsOpen.off();\n inputRef.current?.blur();\n }\n }, [disabled]);\n\n useEffect(() => {\n if (filteredOptions.length > 0) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0),\n );\n }\n setIsOpen.on();\n }, [highlightedIndex]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n setIsOpen.set(dropdownOpen || false);\n }, [dropdownOpen]);\n\n return {\n isOpen: Boolean(isOpen && (isLoading ? true : hasItems)),\n visibleItems,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n inputRef,\n getKeyProps,\n hasItems,\n optionsRefs,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useAutoComplete.js","names":["useCallback","useEffect","useMemo","useRef","useState","scrollToIndex","useClickOutside","useFlag","useKeys","useRefs","getGroups","useAutoComplete","params","items","dropdownRef","controlRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","getGroupKey","onFocus","onBlur","searchValue","isLoading","dropdownOpen","onDropdownOpen","ignoreOutsideClicksRefs","inputRef","isOpen","setIsOpen","highlightedIndex","setHighlightedIndex","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","visibleItems","resultGroups","length","hasItems","find","group","highlightIndex","indexForHighlight","Math","min","max","onChange","e","value","ArrowUp","_","preventDefault","on","old","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getItem","index","counter","Escape","off","Tab","optionsRefs","isActive","ignoreClicksInsideRefs","handler","current","blur","set","getOptionProps","key","onClick","onMouseEnter","active","hovered","handleInputFocus","toggle","handleInputBlur","focus"],"sources":["../../../../../src/components/AutoComplete/useAutoComplete.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { scrollToIndex } from '##/components/SelectComponents/useSelect/helpers';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useFlag } from '##/hooks/useFlag';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDeprecated';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups } from '##/utils/getGroups';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\n\ntype OnChangeProp<ITEM> = (props: {\n value: ITEM | null;\n e: React.SyntheticEvent;\n}) => void;\n\ntype UseAutoCompleteProps<ITEM, GROUP> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n controlRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n onBlur?: React.FocusEventHandler<HTMLInputElement>;\n searchValue?: string;\n onChange: OnChangeProp<ITEM>;\n isLoading?: boolean;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\ntype OptionProps<ITEM> = {\n index: number;\n item: ITEM;\n keyPrefix: number;\n};\n\ntype GetOptionPropsResult = {\n onClick: (e: React.SyntheticEvent) => void;\n onMouseEnter: (e: React.SyntheticEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nexport function useAutoComplete<ITEM, GROUP>(\n params: UseAutoCompleteProps<ITEM, GROUP>,\n) {\n const {\n items,\n dropdownRef,\n controlRef,\n disabled = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n getGroupKey,\n onFocus,\n onBlur,\n searchValue,\n isLoading,\n dropdownOpen,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [isOpen, setIsOpen] = useFlag();\n const [highlightedIndex, setHighlightedIndex] = useState<number>(0);\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) => {\n if (!searchValue) {\n return false;\n }\n return (\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n };\n\n const filteredOptions = useMemo(\n () =>\n items.filter((item) =>\n searchFunction\n ? searchFunction(item, searchValue || '')\n : searchFunctionDefault(item, searchValue || ''),\n ),\n [searchValue, items],\n );\n\n const visibleItems = useMemo(() => {\n const resultGroups = getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n );\n\n return resultGroups;\n }, [filteredOptions, groups, getItemGroupKey, getGroupKey]);\n\n const hasItems = useMemo(() => {\n return !!visibleItems.find((group) => group.items.length > 0);\n }, [visibleItems]);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight) => {\n setHighlightedIndex(\n Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(highlightedIndex)\n : indexForHighlight,\n ),\n filteredOptions.length - 1,\n ),\n );\n },\n [filteredOptions, highlightedIndex],\n );\n\n const onChange = (e: React.SyntheticEvent, item: ITEM) => {\n if (!disabled) {\n params.onChange({ value: item, e });\n }\n };\n\n // Prop Getters\n\n const ArrowUp: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old - 1);\n }\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old + 1);\n }\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getItem = (index: number) => {\n let counter = 0;\n for (const group of visibleItems) {\n if (group.items.length + counter > index) {\n return group.items[index - counter];\n }\n counter += group.items.length;\n }\n return undefined;\n };\n\n const item = getItem(highlightedIndex);\n\n if (item) {\n onChange(e, item);\n }\n } else {\n setIsOpen.on();\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setIsOpen.off();\n };\n\n const Tab: KeyHandler = (_, e): void => {\n setIsOpen.off();\n if (isOpen && hasItems) {\n e.preventDefault();\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n });\n\n const getOptionProps = ({\n index,\n item,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n const key = getItemKey(item);\n return {\n onClick: (e: React.SyntheticEvent) => {\n onChange(e, item);\n },\n onMouseEnter: () => {\n highlightIndex(index);\n },\n active: false,\n hovered: index === highlightedIndex,\n key,\n };\n };\n\n const optionsRefs = useRefs<HTMLDivElement>(filteredOptions.length, [isOpen]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n setIsOpen.toggle();\n\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n const handleInputBlur = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (isOpen) {\n inputRef.current?.focus();\n return;\n }\n\n if (typeof onBlur === 'function') {\n onBlur(e);\n }\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [\n dropdownRef,\n controlRef,\n ...(ignoreOutsideClicksRefs || []),\n ],\n handler: setIsOpen.off,\n });\n\n useEffect(() => {\n if (disabled) {\n setIsOpen.off();\n inputRef.current?.blur();\n }\n }, [disabled]);\n\n useEffect(() => {\n if (filteredOptions.length > 0) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0),\n );\n }\n setIsOpen.on();\n }, [highlightedIndex]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n }, [isOpen]);\n\n useEffect(() => {\n setIsOpen.set(dropdownOpen || false);\n }, [dropdownOpen]);\n\n return {\n isOpen: Boolean(isOpen && (isLoading ? true : hasItems)),\n visibleItems,\n getOptionProps,\n handleInputFocus,\n handleInputBlur,\n inputRef,\n getKeyProps,\n hasItems,\n optionsRefs,\n };\n}\n"],"mappings":"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"}
@@ -22,7 +22,7 @@ export declare function withDefaultGetters<TYPE extends string, ITEM = AutoCompl
22
22
  getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP> | undefined;
23
23
  getGroupKey?: AutoCompletePropGetGroupId<GROUP> | undefined;
24
24
  virtualScroll?: boolean | undefined;
25
- onScrollToBottom?: ((lenght: number) => void) | undefined;
25
+ onScrollToBottom?: ((length: number) => void) | undefined;
26
26
  onDropdownOpen?: ((isOpen: boolean) => void) | undefined;
27
27
  dropdownOpen?: boolean | undefined;
28
28
  ignoreOutsideClicksRefs?: readonly import("react").RefObject<HTMLElement>[] | undefined;
@@ -37,7 +37,7 @@ export declare type AutoCompleteProps<TYPE extends string, ITEM = AutoCompleteIt
37
37
  getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;
38
38
  getGroupKey?: AutoCompletePropGetGroupId<GROUP>;
39
39
  virtualScroll?: boolean;
40
- onScrollToBottom?: (lenght: number) => void;
40
+ onScrollToBottom?: (length: number) => void;
41
41
  onDropdownOpen?: (isOpen: boolean) => void;
42
42
  dropdownOpen?: boolean;
43
43
  ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoCompleteCanary/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextFieldCanary';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange<TYPE extends string> = (\n value: TYPE extends 'textarray' ? string[] | null : string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n },\n) => void;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (TYPE extends 'textarray'\n ? Omit<TextFieldProps<'textarray'>, 'onChange' | 'type'>\n : Omit<TextFieldProps<string>, 'onChange' | 'type'>) & {\n type?: TYPE;\n onChange?: AutoCompletePropOnChange<TYPE>;\n items?: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n virtualScroll?: boolean;\n onScrollToBottom?: (lenght: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport type AutoCompleteTypeComponent<\n TYPE extends string = string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (props: AutoCompleteProps<TYPE, ITEM, GROUP>) => React.ReactElement | null;\n"],"mappings":""}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../../../src/components/AutoCompleteCanary/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropRenderItem } from '##/components/Select';\nimport { TextFieldProps } from '##/components/TextFieldCanary';\n\nexport type AutoCompleteItemDefault = {\n id: string | number;\n label: string;\n groupId?: number;\n};\n\nexport type AutoCompleteGroupDefault = {\n label: string;\n id: number | string;\n};\n\nexport type AutoCompletePropDropdownForm = 'default' | 'brick' | 'round';\n\nexport type AutoCompletePropGetItemLabel<ITEM> = (item: ITEM) => string;\nexport type AutoCompletePropGetItemKey<ITEM> = (item: ITEM) => string | number;\nexport type AutoCompletePropGetItemGroupId<ITEM> = (\n item: ITEM,\n) => number | undefined;\nexport type AutoCompletePropGetGroupLabel<GROUP> = (group: GROUP) => string;\nexport type AutoCompletePropGetGroupId<GROUP> = (\n group: GROUP,\n) => number | string;\n\nexport type AutoCompletePropSearchFunction<ITEM> = (\n item: ITEM,\n searchValue: string,\n) => boolean;\n\nexport type AutoCompletePropOnChange<TYPE extends string> = (\n value: TYPE extends 'textarray' ? string[] | null : string | null,\n props: {\n e: React.ChangeEvent | React.MouseEvent | React.KeyboardEvent;\n },\n) => void;\n\nexport type AutoCompleteProps<\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (TYPE extends 'textarray'\n ? Omit<TextFieldProps<'textarray'>, 'onChange' | 'type'>\n : Omit<TextFieldProps<string>, 'onChange' | 'type'>) & {\n type?: TYPE;\n onChange?: AutoCompletePropOnChange<TYPE>;\n items?: ITEM[];\n groups?: GROUP[];\n renderItem?: PropRenderItem<ITEM>;\n dropdownClassName?: string;\n dropdownForm?: AutoCompletePropDropdownForm;\n isLoading?: boolean;\n searchFunction?: AutoCompletePropSearchFunction<ITEM>;\n dropdownRef?: React.RefObject<HTMLDivElement>;\n getItemLabel?: AutoCompletePropGetItemLabel<ITEM>;\n getItemKey?: AutoCompletePropGetItemKey<ITEM>;\n getItemGroupKey?: AutoCompletePropGetItemGroupId<ITEM>;\n getGroupLabel?: AutoCompletePropGetGroupLabel<GROUP>;\n getGroupKey?: AutoCompletePropGetGroupId<GROUP>;\n virtualScroll?: boolean;\n onScrollToBottom?: (length: number) => void;\n onDropdownOpen?: (isOpen: boolean) => void;\n dropdownOpen?: boolean;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n} & (ITEM extends { label: AutoCompleteItemDefault['label'] }\n ? {}\n : {\n getItemLabel: AutoCompletePropGetItemLabel<ITEM>;\n }) &\n (GROUP extends { label: AutoCompleteGroupDefault['label'] }\n ? {}\n : { getGroupLabel: AutoCompletePropGetGroupLabel<GROUP> }) &\n (GROUP extends { id: AutoCompleteGroupDefault['id'] }\n ? {}\n : { getGroupKey: AutoCompletePropGetGroupId<GROUP> });\n\nexport type AutoCompleteComponent = <\n TYPE extends string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n>(\n props: AutoCompleteProps<TYPE, ITEM, GROUP>,\n) => React.ReactElement | null;\n\nexport type AutoCompleteTypeComponent<\n TYPE extends string = string,\n ITEM = AutoCompleteItemDefault,\n GROUP = AutoCompleteGroupDefault,\n> = (props: AutoCompleteProps<TYPE, ITEM, GROUP>) => React.ReactElement | null;\n"],"mappings":""}
@@ -38,7 +38,7 @@ export declare function useAutoComplete<ITEM, GROUP>(params: UseAutoCompleteProp
38
38
  getOptionProps: ({ index, item, }: OptionProps<ITEM>) => GetOptionPropsResult;
39
39
  handleInputFocus: (e: React.FocusEvent<HTMLInputElement>) => void;
40
40
  inputRef: React.RefObject<HTMLInputElement>;
41
- getKeyProps: (rest?: import("../../hooks/useKeysDepricated").KeyProps | undefined) => import("../../hooks/useKeysDepricated").KeyProps;
41
+ getKeyProps: (rest?: import("../../hooks/useKeysDeprecated").KeyProps | undefined) => import("../../hooks/useKeysDeprecated").KeyProps;
42
42
  hasItems: boolean;
43
43
  optionsRefs: React.RefObject<HTMLDivElement>[];
44
44
  handleChange: AutoCompletePropOnChange<"text">;
@@ -1,2 +1,2 @@
1
- import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{scrollToIndex}from"../SelectComponents/useSelect/helpers";import{useClickOutside}from"../../hooks/useClickOutside";import{useFlag}from"../../hooks/useFlag";import{useKeys}from"../../hooks/useKeysDepricated";import{useRefs}from"../../hooks/useRefs";import{getGroups}from"../../utils/getGroups";export function useAutoComplete(a){var b=a.items,c=a.dropdownRef,d=a.disabled,f=void 0!==d&&d,g=a.getItemLabel,h=a.getItemKey,i=a.searchFunction,j=a.getItemGroupKey,k=a.groups,l=a.getGroupKey,m=a.onFocus,n=a.isLoading,o=a.dropdownOpen,p=a.onDropdownOpen,q=a.ignoreOutsideClicksRefs,r=a.searchValue,s=void 0===r?"":r,t=a.onChange,u=useRef(null),v=useFlag(),w=_slicedToArray(v,2),x=w[0],y=w[1],z=useState(-1),A=_slicedToArray(z,2),B=A[0],C=A[1],D=function(a,b){var c;!f&&t&&t(a,b),null===(c=u.current)||void 0===c?void 0:c.focus(),C(-1)},E=function(a,b){return!!b&&-1!==g(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},F=useMemo(function(){return b.filter(function(a){return i?i(a,s||""):E(a,s||"")})},[s,b]),G=useMemo(function(){var a=getGroups(F,null!==k&&void 0!==k&&k.length?j:void 0,k,l,void 0);return a},[F,k,j,l]),H=useMemo(function(){return!!G.find(function(a){return 0<a.items.length})},[G]),I=useCallback(function(a){C(Math.min(Math.max(0,"function"==typeof a?a(B):a),F.length-1))},[F,B]),J=function(a,b){f||(b.preventDefault(),y.on(),I(function(a){return a-1}))},K=function(a,b){f||(b.preventDefault(),y.on(),I(function(a){return a+1}))},L=useKeys({ArrowUp:J,ArrowDown:K,PageUp:J,PageDown:K,Home:J,End:K,Enter:function Enter(a,b){if(x){(s||F[B])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(G);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(e.items.length+c>a)return e.items[a-c];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}},d=c(B);d&&D(g(d),{e:b})}else y.on()},Escape:function Escape(){y.off()},Tab:function Tab(a,b){y.off(),x&&H&&b.preventDefault()}}),M=useRefs(F.length,[x]);return useClickOutside({isActive:x,ignoreClicksInsideRefs:[c].concat(_toConsumableArray(q||[])),handler:y.off}),useEffect(function(){if(f){var a;y.off(),null===(a=u.current)||void 0===a?void 0:a.blur()}},[f]),useEffect(function(){0<F.length&&scrollToIndex(B,c,M,function(){return I(0)}),y.on()},[B]),useEffect(function(){null===p||void 0===p?void 0:p(x),x&&C(0)},[x]),useEffect(function(){y.set(o||!1)},[o]),useEffect(function(){u.current&&(u.current.value=s)},[s]),{isOpen:!!(x&&(!!n||H)),visibleItems:G,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=h(c)||g(c);return{onClick:function onClick(a){D(g(c),{e:a})},onMouseEnter:function onMouseEnter(){I(b)},active:!1,hovered:b===B,key:d}},handleInputFocus:function handleInputFocus(a){f||(y.on(),"function"==typeof m&&m(a))},inputRef:u,getKeyProps:L,hasItems:H,optionsRefs:M,handleChange:D,highlightedIndex:B}}
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";function _createForOfIteratorHelper(a,b){var c="undefined"!=typeof Symbol&&a[Symbol.iterator]||a["@@iterator"];if(!c){if(Array.isArray(a)||(c=_unsupportedIterableToArray(a))||b&&a&&"number"==typeof a.length){c&&(a=c);var d=0,e=function(){};return{s:e,n:function n(){return d>=a.length?{done:!0}:{done:!1,value:a[d++]}},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){throw a}),f:e}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var f,g=!0,h=!1;return{s:function s(){c=c.call(a)},n:function n(){var a=c.next();return g=a.done,a},e:function(a){function b(){return a.apply(this,arguments)}return b.toString=function(){return a.toString()},b}(function(a){h=!0,f=a}),f:function f(){try{g||null==c["return"]||c["return"]()}finally{if(h)throw f}}}}function _unsupportedIterableToArray(a,b){if(a){if("string"==typeof a)return _arrayLikeToArray(a,b);var c=Object.prototype.toString.call(a).slice(8,-1);return"Object"===c&&a.constructor&&(c=a.constructor.name),"Map"===c||"Set"===c?Array.from(a):"Arguments"===c||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(c)?_arrayLikeToArray(a,b):void 0}}function _arrayLikeToArray(a,b){(null==b||b>a.length)&&(b=a.length);for(var c=0,d=Array(b);c<b;c++)d[c]=a[c];return d}import{useCallback,useEffect,useMemo,useRef,useState}from"react";import{scrollToIndex}from"../SelectComponents/useSelect/helpers";import{useClickOutside}from"../../hooks/useClickOutside";import{useFlag}from"../../hooks/useFlag";import{useKeys}from"../../hooks/useKeysDeprecated";import{useRefs}from"../../hooks/useRefs";import{getGroups}from"../../utils/getGroups";export function useAutoComplete(a){var b=a.items,c=a.dropdownRef,d=a.disabled,f=void 0!==d&&d,g=a.getItemLabel,h=a.getItemKey,i=a.searchFunction,j=a.getItemGroupKey,k=a.groups,l=a.getGroupKey,m=a.onFocus,n=a.isLoading,o=a.dropdownOpen,p=a.onDropdownOpen,q=a.ignoreOutsideClicksRefs,r=a.searchValue,s=void 0===r?"":r,t=a.onChange,u=useRef(null),v=useFlag(),w=_slicedToArray(v,2),x=w[0],y=w[1],z=useState(-1),A=_slicedToArray(z,2),B=A[0],C=A[1],D=function(a,b){var c;!f&&t&&t(a,b),null===(c=u.current)||void 0===c?void 0:c.focus(),C(-1)},E=function(a,b){return!!b&&-1!==g(a).toLocaleLowerCase().indexOf(b.toLocaleLowerCase())},F=useMemo(function(){return b.filter(function(a){return i?i(a,s||""):E(a,s||"")})},[s,b]),G=useMemo(function(){var a=getGroups(F,null!==k&&void 0!==k&&k.length?j:void 0,k,l,void 0);return a},[F,k,j,l]),H=useMemo(function(){return!!G.find(function(a){return 0<a.items.length})},[G]),I=useCallback(function(a){C(Math.min(Math.max(0,"function"==typeof a?a(B):a),F.length-1))},[F,B]),J=function(a,b){f||(b.preventDefault(),y.on(),I(function(a){return a-1}))},K=function(a,b){f||(b.preventDefault(),y.on(),I(function(a){return a+1}))},L=useKeys({ArrowUp:J,ArrowDown:K,PageUp:J,PageDown:K,Home:J,End:K,Enter:function Enter(a,b){if(x){(s||F[B])&&b.preventDefault();var c=function(a){var b,c=0,d=_createForOfIteratorHelper(G);try{for(d.s();!(b=d.n()).done;){var e=b.value;if(e.items.length+c>a)return e.items[a-c];c+=e.items.length}}catch(a){d.e(a)}finally{d.f()}},d=c(B);d&&D(g(d),{e:b})}else y.on()},Escape:function Escape(){y.off()},Tab:function Tab(a,b){y.off(),x&&H&&b.preventDefault()}}),M=useRefs(F.length,[x]);return useClickOutside({isActive:x,ignoreClicksInsideRefs:[c].concat(_toConsumableArray(q||[])),handler:y.off}),useEffect(function(){if(f){var a;y.off(),null===(a=u.current)||void 0===a?void 0:a.blur()}},[f]),useEffect(function(){0<F.length&&scrollToIndex(B,c,M,function(){return I(0)}),y.on()},[B]),useEffect(function(){null===p||void 0===p?void 0:p(x),x&&C(0)},[x]),useEffect(function(){y.set(o||!1)},[o]),useEffect(function(){u.current&&(u.current.value=s)},[s]),{isOpen:!!(x&&(!!n||H)),visibleItems:G,getOptionProps:function getOptionProps(a){var b=a.index,c=a.item,d=h(c)||g(c);return{onClick:function onClick(a){D(g(c),{e:a})},onMouseEnter:function onMouseEnter(){I(b)},active:!1,hovered:b===B,key:d}},handleInputFocus:function handleInputFocus(a){f||(y.on(),"function"==typeof m&&m(a))},inputRef:u,getKeyProps:L,hasItems:H,optionsRefs:M,handleChange:D,highlightedIndex:B}}
2
2
  //# sourceMappingURL=useAutoComplete.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAutoComplete.js","names":["useCallback","useEffect","useMemo","useRef","useState","scrollToIndex","useClickOutside","useFlag","useKeys","useRefs","getGroups","useAutoComplete","params","items","dropdownRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","getGroupKey","onFocus","isLoading","dropdownOpen","onDropdownOpen","ignoreOutsideClicksRefs","searchValue","onChange","inputRef","isOpen","setIsOpen","highlightedIndex","setHighlightedIndex","handleChange","value","props","current","focus","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","visibleItems","resultGroups","length","hasItems","find","group","highlightIndex","indexForHighlight","Math","min","max","ArrowUp","_","e","preventDefault","on","old","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getItem","index","couter","Escape","off","Tab","optionsRefs","isActive","ignoreClicksInsideRefs","handler","blur","set","getOptionProps","key","onClick","onMouseEnter","active","hovered","handleInputFocus"],"sources":["../../../../../src/components/AutoCompleteCanary/useAutoComplete.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { scrollToIndex } from '##/components/SelectComponents/useSelect/helpers';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useFlag } from '##/hooks/useFlag';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDepricated';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups } from '##/utils/getGroups';\n\nimport { AutoCompletePropOnChange } from './types';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\n\ntype UseAutoCompleteProps<ITEM, GROUP> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n searchValue?: string;\n onChange?: AutoCompletePropOnChange<'text'>;\n isLoading?: boolean;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\ntype OptionProps<ITEM> = {\n index: number;\n item: ITEM;\n keyPrefix: number;\n};\n\ntype GetOptionPropsResult = {\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nexport function useAutoComplete<ITEM, GROUP>(\n params: UseAutoCompleteProps<ITEM, GROUP>,\n) {\n const {\n items,\n dropdownRef,\n disabled = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n getGroupKey,\n onFocus,\n isLoading,\n dropdownOpen,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n searchValue = '',\n onChange,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [isOpen, setIsOpen] = useFlag();\n const [highlightedIndex, setHighlightedIndex] = useState<number>(-1);\n\n const handleChange: AutoCompletePropOnChange<'text'> = (value, props) => {\n if (!disabled && onChange) {\n onChange(value, props);\n }\n inputRef.current?.focus();\n setHighlightedIndex(-1);\n };\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) => {\n if (!searchValue) {\n return false;\n }\n return (\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n };\n\n const filteredOptions = useMemo(\n () =>\n items.filter((item) =>\n searchFunction\n ? searchFunction(item, searchValue || '')\n : searchFunctionDefault(item, searchValue || ''),\n ),\n [searchValue, items],\n );\n\n const visibleItems = useMemo(() => {\n const resultGroups = getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n );\n\n return resultGroups;\n }, [filteredOptions, groups, getItemGroupKey, getGroupKey]);\n\n const hasItems = useMemo(() => {\n return !!visibleItems.find((group) => group.items.length > 0);\n }, [visibleItems]);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight) => {\n setHighlightedIndex(\n Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(highlightedIndex)\n : indexForHighlight,\n ),\n filteredOptions.length - 1,\n ),\n );\n },\n [filteredOptions, highlightedIndex],\n );\n\n const ArrowUp: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old - 1);\n }\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old + 1);\n }\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getItem = (index: number) => {\n let couter = 0;\n for (const group of visibleItems) {\n if (group.items.length + couter > index) {\n return group.items[index - couter];\n }\n couter += group.items.length;\n }\n return undefined;\n };\n\n const item = getItem(highlightedIndex);\n\n if (item) {\n handleChange(getItemLabel(item), { e });\n }\n } else {\n setIsOpen.on();\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setIsOpen.off();\n };\n\n const Tab: KeyHandler = (_, e): void => {\n setIsOpen.off();\n if (isOpen && hasItems) {\n e.preventDefault();\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n });\n\n const getOptionProps = ({\n index,\n item,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n const key = getItemKey(item) || getItemLabel(item);\n\n return {\n onClick: (e: React.MouseEvent) => {\n handleChange(getItemLabel(item), { e });\n },\n onMouseEnter: () => {\n highlightIndex(index);\n },\n active: false,\n hovered: index === highlightedIndex,\n key,\n };\n };\n\n const optionsRefs = useRefs<HTMLDivElement>(filteredOptions.length, [isOpen]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n setIsOpen.on();\n\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [dropdownRef, ...(ignoreOutsideClicksRefs || [])],\n handler: setIsOpen.off,\n });\n\n useEffect(() => {\n if (disabled) {\n setIsOpen.off();\n inputRef.current?.blur();\n }\n }, [disabled]);\n\n useEffect(() => {\n if (filteredOptions.length > 0) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0),\n );\n }\n setIsOpen.on();\n }, [highlightedIndex]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n if (isOpen) {\n setHighlightedIndex(0);\n }\n }, [isOpen]);\n\n useEffect(() => {\n setIsOpen.set(dropdownOpen || false);\n }, [dropdownOpen]);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.value = searchValue;\n }\n }, [searchValue]);\n\n return {\n isOpen: Boolean(isOpen && (isLoading ? true : hasItems)),\n visibleItems,\n getOptionProps,\n handleInputFocus,\n inputRef,\n getKeyProps,\n hasItems,\n optionsRefs,\n handleChange,\n highlightedIndex,\n };\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useAutoComplete.js","names":["useCallback","useEffect","useMemo","useRef","useState","scrollToIndex","useClickOutside","useFlag","useKeys","useRefs","getGroups","useAutoComplete","params","items","dropdownRef","disabled","getItemLabel","getItemKey","searchFunction","getItemGroupKey","groups","getGroupKey","onFocus","isLoading","dropdownOpen","onDropdownOpen","ignoreOutsideClicksRefs","searchValue","onChange","inputRef","isOpen","setIsOpen","highlightedIndex","setHighlightedIndex","handleChange","value","props","current","focus","searchFunctionDefault","item","toLocaleLowerCase","indexOf","filteredOptions","filter","visibleItems","resultGroups","length","hasItems","find","group","highlightIndex","indexForHighlight","Math","min","max","ArrowUp","_","e","preventDefault","on","old","ArrowDown","getKeyProps","PageUp","PageDown","Home","End","Enter","getItem","index","counter","Escape","off","Tab","optionsRefs","isActive","ignoreClicksInsideRefs","handler","blur","set","getOptionProps","key","onClick","onMouseEnter","active","hovered","handleInputFocus"],"sources":["../../../../../src/components/AutoCompleteCanary/useAutoComplete.ts"],"sourcesContent":["import React, {\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from 'react';\n\nimport { scrollToIndex } from '##/components/SelectComponents/useSelect/helpers';\nimport { useClickOutside } from '##/hooks/useClickOutside';\nimport { useFlag } from '##/hooks/useFlag';\nimport { KeyHandler, useKeys } from '##/hooks/useKeysDeprecated';\nimport { useRefs } from '##/hooks/useRefs';\nimport { getGroups } from '##/utils/getGroups';\n\nimport { AutoCompletePropOnChange } from './types';\n\ntype IndexForHighlight = number | ((oldIndex: number) => number);\n\ntype GetItemGroupKey<ITEM> = (item: ITEM) => string | number | undefined;\ntype GetGroupKey<GROUP> = (item: GROUP) => string | number | undefined;\n\ntype UseAutoCompleteProps<ITEM, GROUP> = {\n getItemGroupKey?: GetItemGroupKey<ITEM> | undefined;\n getGroupKey?: GetGroupKey<GROUP>;\n groups?: GROUP[];\n items: ITEM[];\n dropdownRef: React.MutableRefObject<HTMLDivElement | null>;\n disabled?: boolean;\n getItemLabel: (item: ITEM) => string;\n getItemKey: (item: ITEM) => string | number;\n searchFunction?: (item: ITEM, searchValue: string) => boolean;\n onFocus?: React.FocusEventHandler<HTMLInputElement>;\n searchValue?: string;\n onChange?: AutoCompletePropOnChange<'text'>;\n isLoading?: boolean;\n dropdownOpen?: boolean;\n onDropdownOpen?: (isOpen: boolean) => void;\n ignoreOutsideClicksRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n};\n\ntype OptionProps<ITEM> = {\n index: number;\n item: ITEM;\n keyPrefix: number;\n};\n\ntype GetOptionPropsResult = {\n onClick: (e: React.MouseEvent) => void;\n onMouseEnter: (e: React.MouseEvent) => void;\n active: boolean;\n hovered: boolean;\n key: string | number;\n};\n\nexport function useAutoComplete<ITEM, GROUP>(\n params: UseAutoCompleteProps<ITEM, GROUP>,\n) {\n const {\n items,\n dropdownRef,\n disabled = false,\n getItemLabel,\n getItemKey,\n searchFunction,\n getItemGroupKey,\n groups,\n getGroupKey,\n onFocus,\n isLoading,\n dropdownOpen,\n onDropdownOpen,\n ignoreOutsideClicksRefs,\n searchValue = '',\n onChange,\n } = params;\n\n const inputRef = useRef<HTMLInputElement>(null);\n\n const [isOpen, setIsOpen] = useFlag();\n const [highlightedIndex, setHighlightedIndex] = useState<number>(-1);\n\n const handleChange: AutoCompletePropOnChange<'text'> = (value, props) => {\n if (!disabled && onChange) {\n onChange(value, props);\n }\n inputRef.current?.focus();\n setHighlightedIndex(-1);\n };\n\n const searchFunctionDefault = (item: ITEM, searchValue: string) => {\n if (!searchValue) {\n return false;\n }\n return (\n getItemLabel(item)\n .toLocaleLowerCase()\n .indexOf(searchValue.toLocaleLowerCase()) !== -1\n );\n };\n\n const filteredOptions = useMemo(\n () =>\n items.filter((item) =>\n searchFunction\n ? searchFunction(item, searchValue || '')\n : searchFunctionDefault(item, searchValue || ''),\n ),\n [searchValue, items],\n );\n\n const visibleItems = useMemo(() => {\n const resultGroups = getGroups(\n filteredOptions,\n groups?.length ? getItemGroupKey : undefined,\n groups,\n getGroupKey,\n undefined,\n );\n\n return resultGroups;\n }, [filteredOptions, groups, getItemGroupKey, getGroupKey]);\n\n const hasItems = useMemo(() => {\n return !!visibleItems.find((group) => group.items.length > 0);\n }, [visibleItems]);\n\n const highlightIndex = useCallback(\n (indexForHighlight: IndexForHighlight) => {\n setHighlightedIndex(\n Math.min(\n Math.max(\n 0,\n typeof indexForHighlight === 'function'\n ? indexForHighlight(highlightedIndex)\n : indexForHighlight,\n ),\n filteredOptions.length - 1,\n ),\n );\n },\n [filteredOptions, highlightedIndex],\n );\n\n const ArrowUp: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old - 1);\n }\n };\n\n const ArrowDown: KeyHandler = (_, e): void => {\n if (!disabled) {\n e.preventDefault();\n setIsOpen.on();\n highlightIndex((old) => old + 1);\n }\n };\n\n const Enter: KeyHandler = (_, e): void => {\n if (isOpen) {\n if (searchValue || filteredOptions[highlightedIndex]) {\n e.preventDefault();\n }\n\n const getItem = (index: number) => {\n let counter = 0;\n for (const group of visibleItems) {\n if (group.items.length + counter > index) {\n return group.items[index - counter];\n }\n counter += group.items.length;\n }\n return undefined;\n };\n\n const item = getItem(highlightedIndex);\n\n if (item) {\n handleChange(getItemLabel(item), { e });\n }\n } else {\n setIsOpen.on();\n }\n };\n\n const Escape: KeyHandler = (): void => {\n setIsOpen.off();\n };\n\n const Tab: KeyHandler = (_, e): void => {\n setIsOpen.off();\n if (isOpen && hasItems) {\n e.preventDefault();\n }\n };\n\n const getKeyProps = useKeys({\n ArrowUp,\n ArrowDown,\n PageUp: ArrowUp,\n PageDown: ArrowDown,\n Home: ArrowUp,\n End: ArrowDown,\n Enter,\n Escape,\n Tab,\n });\n\n const getOptionProps = ({\n index,\n item,\n }: OptionProps<ITEM>): GetOptionPropsResult => {\n const key = getItemKey(item) || getItemLabel(item);\n\n return {\n onClick: (e: React.MouseEvent) => {\n handleChange(getItemLabel(item), { e });\n },\n onMouseEnter: () => {\n highlightIndex(index);\n },\n active: false,\n hovered: index === highlightedIndex,\n key,\n };\n };\n\n const optionsRefs = useRefs<HTMLDivElement>(filteredOptions.length, [isOpen]);\n\n const handleInputFocus = (e: React.FocusEvent<HTMLInputElement>): void => {\n if (!disabled) {\n setIsOpen.on();\n\n if (typeof onFocus === 'function') {\n onFocus(e);\n }\n }\n };\n\n useClickOutside({\n isActive: isOpen,\n ignoreClicksInsideRefs: [dropdownRef, ...(ignoreOutsideClicksRefs || [])],\n handler: setIsOpen.off,\n });\n\n useEffect(() => {\n if (disabled) {\n setIsOpen.off();\n inputRef.current?.blur();\n }\n }, [disabled]);\n\n useEffect(() => {\n if (filteredOptions.length > 0) {\n scrollToIndex(highlightedIndex, dropdownRef, optionsRefs, () =>\n highlightIndex(0),\n );\n }\n setIsOpen.on();\n }, [highlightedIndex]);\n\n useEffect(() => {\n onDropdownOpen?.(isOpen);\n if (isOpen) {\n setHighlightedIndex(0);\n }\n }, [isOpen]);\n\n useEffect(() => {\n setIsOpen.set(dropdownOpen || false);\n }, [dropdownOpen]);\n\n useEffect(() => {\n if (inputRef.current) {\n inputRef.current.value = searchValue;\n }\n }, [searchValue]);\n\n return {\n isOpen: Boolean(isOpen && (isLoading ? true : hasItems)),\n visibleItems,\n getOptionProps,\n handleInputFocus,\n inputRef,\n getKeyProps,\n hasItems,\n optionsRefs,\n handleChange,\n highlightedIndex,\n };\n}\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"AvatarGroup.js","names":["React","forwardRef","useForkRef","getHiddenCount","useHideElementsInLine","cn","Avatar","avatarPropFormDefault","cnAvatar","withDefaultGetters","avatarGroupPropSizeDefault","cnAvatarGroup","AvatarGroupRender","props","ref","items","form","size","visibleCount","getItemName","getItemUrl","monochrome","otherProps","itemLenght","length","elementsRefs","parentRef","visibleMap","autoMode","itemsForRender","reverse","slice","hidden","map","item","index","AvatarGroup"],"sources":["../../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import './AvatarGroup.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { useForkRef } from '##/hooks/useForkRef';\nimport {\n getHiddenCount,\n useHideElementsInLine,\n} from '##/hooks/useHideElementsInLine';\n\nimport { cn } from '../../utils/bem';\nimport { Avatar, avatarPropFormDefault, cnAvatar } from '../Avatar/Avatar';\nimport { withDefaultGetters } from './helpers';\nimport {\n AvatarGroupComponent,\n AvatarGroupProps,\n avatarGroupPropSizeDefault,\n} from './types';\n\nconst cnAvatarGroup = cn('AvatarGroup');\n\nconst AvatarGroupRender = (\n props: AvatarGroupProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items = [],\n form = avatarPropFormDefault,\n size = avatarGroupPropSizeDefault,\n visibleCount = 4,\n getItemName,\n getItemUrl,\n monochrome,\n ...otherProps\n } = withDefaultGetters(props);\n\n const itemLenght = items.length;\n const elementsLength = itemLenght + 1;\n\n const { elementsRefs, parentRef, visibleMap } = useHideElementsInLine(\n elementsLength,\n 0,\n 0,\n [visibleCount],\n );\n\n const autoMode = visibleCount === 'auto';\n\n const itemsForRender = autoMode\n ? [...items].reverse()\n : [...items].slice(0, visibleCount).reverse();\n\n return (\n <div\n className={cnAvatarGroup({ size })}\n ref={useForkRef([parentRef, ref])}\n {...otherProps}\n >\n {(autoMode || itemLenght > visibleCount) && (\n <div\n className={cnAvatar({ size, form }, [\n cnAvatarGroup('More', {\n hidden: !visibleMap[0] && autoMode,\n }),\n ])}\n ref={elementsRefs[0]}\n >\n {`+${\n autoMode ? getHiddenCount(visibleMap) : itemLenght - visibleCount\n }`}\n </div>\n )}\n {itemsForRender.map((item, index) => {\n return (\n <Avatar\n key={cnAvatarGroup({ index })}\n url={getItemUrl(item)}\n name={getItemName(item)}\n className={cnAvatarGroup('Avatar', {\n hidden: !visibleMap[index + 1] && autoMode,\n })}\n size={size}\n form={form}\n ref={elementsRefs[index + 1]}\n monochrome={monochrome}\n />\n );\n })}\n </div>\n );\n};\n\nexport const AvatarGroup = forwardRef(\n AvatarGroupRender,\n) as AvatarGroupComponent;\n\nexport * from './types';\n"],"mappings":"2PAAA,0BAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,UAAT,8BACA,OACEC,cADF,CAEEC,qBAFF,yCAKA,OAASC,EAAT,uBACA,OAASC,MAAT,CAAiBC,qBAAjB,CAAwCC,QAAxC,wBACA,OAASC,kBAAT,iBACA,OAGEC,0BAHF,e,GAMMC,cAAa,CAAGN,EAAE,CAAC,aAAD,C,CAElBO,iBAAiB,CAAG,SACxBC,CADwB,CAExBC,CAFwB,CAGrB,OAUCL,kBAAkB,CAACI,CAAD,CAVnB,KAEDE,KAFC,CAEDA,CAFC,YAEO,EAFP,OAGDC,IAHC,CAGDA,CAHC,YAGMT,qBAHN,OAIDU,IAJC,CAIDA,CAJC,YAIMP,0BAJN,OAKDQ,YALC,CAKDA,CALC,YAKc,CALd,GAMDC,CANC,GAMDA,WANC,CAODC,CAPC,GAODA,UAPC,CAQDC,CARC,GAQDA,UARC,CASEC,CATF,uCAYGC,CAAU,CAAGR,CAAK,CAACS,MAZtB,GAe6CpB,qBAAqB,CAF9CmB,CAAU,CAAG,CAEiC,CAEnE,CAFmE,CAGnE,CAHmE,CAInE,CAACL,CAAD,CAJmE,CAflE,CAeKO,CAfL,GAeKA,YAfL,CAemBC,CAfnB,GAemBA,SAfnB,CAe8BC,CAf9B,GAe8BA,UAf9B,CAsBGC,CAAQ,CAAoB,MAAjB,GAAAV,CAtBd,CAwBGW,CAAc,CAAGD,CAAQ,CAC3B,mBAAIb,CAAJ,EAAWe,OAAX,EAD2B,CAE3B,mBAAIf,CAAJ,EAAWgB,KAAX,CAAiB,CAAjB,CAAoBb,CAApB,EAAkCY,OAAlC,EA1BD,CA4BH,MACE,0CACE,SAAS,CAAEnB,aAAa,CAAC,CAAEM,IAAI,CAAJA,CAAF,CAAD,CAD1B,CAEE,GAAG,CAAEf,UAAU,CAAC,CAACwB,CAAD,CAAYZ,CAAZ,CAAD,CAFjB,EAGMQ,CAHN,EAKG,CAACM,CAAQ,EAAIL,CAAU,CAAGL,CAA1B,GACC,2BACE,SAAS,CAAEV,QAAQ,CAAC,CAAES,IAAI,CAAJA,CAAF,CAAQD,IAAI,CAAJA,CAAR,CAAD,CAAiB,CAClCL,aAAa,CAAC,MAAD,CAAS,CACpBqB,MAAM,CAAE,CAACL,CAAU,CAAC,CAAD,CAAX,EAAkBC,CADN,CAAT,CADqB,CAAjB,CADrB,CAME,GAAG,CAAEH,CAAY,CAAC,CAAD,CANnB,aASIG,CAAQ,CAAGzB,cAAc,CAACwB,CAAD,CAAjB,CAAgCJ,CAAU,CAAGL,CATzD,EANJ,CAmBGW,CAAc,CAACI,GAAf,CAAmB,SAACC,CAAD,CAAOC,CAAP,CAAiB,CACnC,MACE,qBAAC,MAAD,EACE,GAAG,CAAExB,aAAa,CAAC,CAAEwB,KAAK,CAALA,CAAF,CAAD,CADpB,CAEE,GAAG,CAAEf,CAAU,CAACc,CAAD,CAFjB,CAGE,IAAI,CAAEf,CAAW,CAACe,CAAD,CAHnB,CAIE,SAAS,CAAEvB,aAAa,CAAC,QAAD,CAAW,CACjCqB,MAAM,CAAE,CAACL,CAAU,CAACQ,CAAK,CAAG,CAAT,CAAX,EAA0BP,CADD,CAAX,CAJ1B,CAOE,IAAI,CAAEX,CAPR,CAQE,IAAI,CAAED,CARR,CASE,GAAG,CAAES,CAAY,CAACU,CAAK,CAAG,CAAT,CATnB,CAUE,UAAU,CAAEd,CAVd,EAaH,CAfA,CAnBH,CAqCH,C,CAED,MAAO,IAAMe,YAAW,CAAGnC,UAAU,CACnCW,iBADmC,CAA9B,CAIP"}
1
+ {"version":3,"file":"AvatarGroup.js","names":["React","forwardRef","useForkRef","getHiddenCount","useHideElementsInLine","cn","Avatar","avatarPropFormDefault","cnAvatar","withDefaultGetters","avatarGroupPropSizeDefault","cnAvatarGroup","AvatarGroupRender","props","ref","items","form","size","visibleCount","getItemName","getItemUrl","monochrome","otherProps","itemLength","length","elementsRefs","parentRef","visibleMap","autoMode","itemsForRender","reverse","slice","hidden","map","item","index","AvatarGroup"],"sources":["../../../../../src/components/AvatarGroup/AvatarGroup.tsx"],"sourcesContent":["import './AvatarGroup.css';\n\nimport React, { forwardRef } from 'react';\n\nimport { useForkRef } from '##/hooks/useForkRef';\nimport {\n getHiddenCount,\n useHideElementsInLine,\n} from '##/hooks/useHideElementsInLine';\n\nimport { cn } from '../../utils/bem';\nimport { Avatar, avatarPropFormDefault, cnAvatar } from '../Avatar/Avatar';\nimport { withDefaultGetters } from './helpers';\nimport {\n AvatarGroupComponent,\n AvatarGroupProps,\n avatarGroupPropSizeDefault,\n} from './types';\n\nconst cnAvatarGroup = cn('AvatarGroup');\n\nconst AvatarGroupRender = (\n props: AvatarGroupProps,\n ref: React.Ref<HTMLDivElement>,\n) => {\n const {\n items = [],\n form = avatarPropFormDefault,\n size = avatarGroupPropSizeDefault,\n visibleCount = 4,\n getItemName,\n getItemUrl,\n monochrome,\n ...otherProps\n } = withDefaultGetters(props);\n\n const itemLength = items.length;\n const elementsLength = itemLength + 1;\n\n const { elementsRefs, parentRef, visibleMap } = useHideElementsInLine(\n elementsLength,\n 0,\n 0,\n [visibleCount],\n );\n\n const autoMode = visibleCount === 'auto';\n\n const itemsForRender = autoMode\n ? [...items].reverse()\n : [...items].slice(0, visibleCount).reverse();\n\n return (\n <div\n className={cnAvatarGroup({ size })}\n ref={useForkRef([parentRef, ref])}\n {...otherProps}\n >\n {(autoMode || itemLength > visibleCount) && (\n <div\n className={cnAvatar({ size, form }, [\n cnAvatarGroup('More', {\n hidden: !visibleMap[0] && autoMode,\n }),\n ])}\n ref={elementsRefs[0]}\n >\n {`+${\n autoMode ? getHiddenCount(visibleMap) : itemLength - visibleCount\n }`}\n </div>\n )}\n {itemsForRender.map((item, index) => {\n return (\n <Avatar\n key={cnAvatarGroup({ index })}\n url={getItemUrl(item)}\n name={getItemName(item)}\n className={cnAvatarGroup('Avatar', {\n hidden: !visibleMap[index + 1] && autoMode,\n })}\n size={size}\n form={form}\n ref={elementsRefs[index + 1]}\n monochrome={monochrome}\n />\n );\n })}\n </div>\n );\n};\n\nexport const AvatarGroup = forwardRef(\n AvatarGroupRender,\n) as AvatarGroupComponent;\n\nexport * from './types';\n"],"mappings":"2PAAA,0BAEA,MAAOA,MAAP,EAAgBC,UAAhB,KAAkC,OAAlC,CAEA,OAASC,UAAT,8BACA,OACEC,cADF,CAEEC,qBAFF,yCAKA,OAASC,EAAT,uBACA,OAASC,MAAT,CAAiBC,qBAAjB,CAAwCC,QAAxC,wBACA,OAASC,kBAAT,iBACA,OAGEC,0BAHF,e,GAMMC,cAAa,CAAGN,EAAE,CAAC,aAAD,C,CAElBO,iBAAiB,CAAG,SACxBC,CADwB,CAExBC,CAFwB,CAGrB,OAUCL,kBAAkB,CAACI,CAAD,CAVnB,KAEDE,KAFC,CAEDA,CAFC,YAEO,EAFP,OAGDC,IAHC,CAGDA,CAHC,YAGMT,qBAHN,OAIDU,IAJC,CAIDA,CAJC,YAIMP,0BAJN,OAKDQ,YALC,CAKDA,CALC,YAKc,CALd,GAMDC,CANC,GAMDA,WANC,CAODC,CAPC,GAODA,UAPC,CAQDC,CARC,GAQDA,UARC,CASEC,CATF,uCAYGC,CAAU,CAAGR,CAAK,CAACS,MAZtB,GAe6CpB,qBAAqB,CAF9CmB,CAAU,CAAG,CAEiC,CAEnE,CAFmE,CAGnE,CAHmE,CAInE,CAACL,CAAD,CAJmE,CAflE,CAeKO,CAfL,GAeKA,YAfL,CAemBC,CAfnB,GAemBA,SAfnB,CAe8BC,CAf9B,GAe8BA,UAf9B,CAsBGC,CAAQ,CAAoB,MAAjB,GAAAV,CAtBd,CAwBGW,CAAc,CAAGD,CAAQ,CAC3B,mBAAIb,CAAJ,EAAWe,OAAX,EAD2B,CAE3B,mBAAIf,CAAJ,EAAWgB,KAAX,CAAiB,CAAjB,CAAoBb,CAApB,EAAkCY,OAAlC,EA1BD,CA4BH,MACE,0CACE,SAAS,CAAEnB,aAAa,CAAC,CAAEM,IAAI,CAAJA,CAAF,CAAD,CAD1B,CAEE,GAAG,CAAEf,UAAU,CAAC,CAACwB,CAAD,CAAYZ,CAAZ,CAAD,CAFjB,EAGMQ,CAHN,EAKG,CAACM,CAAQ,EAAIL,CAAU,CAAGL,CAA1B,GACC,2BACE,SAAS,CAAEV,QAAQ,CAAC,CAAES,IAAI,CAAJA,CAAF,CAAQD,IAAI,CAAJA,CAAR,CAAD,CAAiB,CAClCL,aAAa,CAAC,MAAD,CAAS,CACpBqB,MAAM,CAAE,CAACL,CAAU,CAAC,CAAD,CAAX,EAAkBC,CADN,CAAT,CADqB,CAAjB,CADrB,CAME,GAAG,CAAEH,CAAY,CAAC,CAAD,CANnB,aASIG,CAAQ,CAAGzB,cAAc,CAACwB,CAAD,CAAjB,CAAgCJ,CAAU,CAAGL,CATzD,EANJ,CAmBGW,CAAc,CAACI,GAAf,CAAmB,SAACC,CAAD,CAAOC,CAAP,CAAiB,CACnC,MACE,qBAAC,MAAD,EACE,GAAG,CAAExB,aAAa,CAAC,CAAEwB,KAAK,CAALA,CAAF,CAAD,CADpB,CAEE,GAAG,CAAEf,CAAU,CAACc,CAAD,CAFjB,CAGE,IAAI,CAAEf,CAAW,CAACe,CAAD,CAHnB,CAIE,SAAS,CAAEvB,aAAa,CAAC,QAAD,CAAW,CACjCqB,MAAM,CAAE,CAACL,CAAU,CAACQ,CAAK,CAAG,CAAT,CAAX,EAA0BP,CADD,CAAX,CAJ1B,CAOE,IAAI,CAAEX,CAPR,CAQE,IAAI,CAAED,CARR,CASE,GAAG,CAAES,CAAY,CAACU,CAAK,CAAG,CAAT,CATnB,CAUE,UAAU,CAAEd,CAVd,EAaH,CAfA,CAnBH,CAqCH,C,CAED,MAAO,IAAMe,YAAW,CAAGnC,UAAU,CACnCW,iBADmC,CAA9B,CAIP"}
@@ -1 +1 @@
1
- .Badge{align-items:center;box-sizing:border-box;display:inline-flex;flex-wrap:nowrap;font-size:var(--badge-text-size);font-weight:var(--font-weight-text-semibold);gap:var(--space-2xs);height:var(--badge-size);letter-spacing:.05em;line-height:var(--badge-size);position:relative;text-decoration:none;text-transform:uppercase;white-space:nowrap}.Badge_size_xs{--badge-padding-round:var(--space-xs);--badge-padding-default:var(--space-2xs);--badge-size:var(--control-box-size-m);--badge-text-size:calc(var(--size-text-m)/2);--badge-border-size:2px;--badge-size-minified:10px}.Badge_size_s{--badge-padding-round:var(--space-xs);--badge-padding-default:var(--space-2xs);--badge-size:var(--control-box-size-l);--badge-text-size:var(--size-text-2xs);--badge-size-minified:16px;--badge-border-size:3px}.Badge_size_m{--badge-padding-round:var(--space-s);--badge-padding-default:var(--space-xs);--badge-size:var(--control-height-xs);--badge-text-size:var(--size-text-xs);--badge-size-minified:24px;--badge-border-size:4px}.Badge_size_l{--badge-padding-round:var(--space-m);--badge-padding-default:var(--space-xs);--badge-size:var(--control-height-s);--badge-text-size:var(--size-text-s);--badge-size-minified:32px;--badge-border-size:5px}.Badge:not(.Badge_counter.Badge_minified).Badge_form_round{padding:0 var(--badge-padding-round)}.Badge:not(.Badge_counter.Badge_minified).Badge_form_default{padding:0 var(--badge-padding-default)}.Badge_form_default{border-radius:var(--control-radius)}.Badge_form_round{border-radius:99em}.Badge_status_success{--badge-bg-color:var(--color-bg-success);--badge-text-color:var(--color-typo-success);--badge-border-color:var(--color-bg-success)}.Badge_status_error{--badge-bg-color:var(--color-bg-alert);--badge-text-color:var(--color-typo-alert);--badge-border-color:var(--color-bg-alert)}.Badge_status_warning{--badge-bg-color:var(--color-bg-warning);--badge-text-color:var(--color-typo-warning);--badge-border-color:var(--color-bg-warning)}.Badge_status_normal{--badge-bg-color:var(--color-bg-normal);--badge-text-color:var(--color-typo-normal);--badge-border-color:var(--color-bg-normal)}.Badge_status_system{--badge-bg-color:var(--color-bg-system);--badge-border-color:var(--color-bg-system)}.Badge_view_filled{background:var(--badge-bg-color);color:var(--color-typo-primary)}.Badge_view_filled.Badge_status_system{color:var(--color-typo-secondary)}.Badge_view_stroked{box-shadow:inset 0 0 0 1px var(--badge-border-color);color:var(--badge-text-color)}.Badge_view_stroked.Badge_status_system{--badge-text-color:var(--color-typo-system)}.Badge_counter{justify-content:center;padding:0;text-align:center;width:var(--badge-size)}.Badge_minified{background:transparent;border:var(--badge-border-size) solid transparent;border-radius:50%;box-shadow:inset 0 0 0 var(--badge-size) var(--badge-bg-color);height:var(--badge-size);line-height:var(--badge-size-minified);padding:0;width:var(--badge-size-minified)}.Badge-Icon{flex-shrink:0;font-size:0;line-height:1em}
1
+ .Badge{align-items:center;box-sizing:border-box;color:var(--badge-text-color);display:inline-flex;flex-wrap:nowrap;font-size:var(--badge-text-size);font-weight:var(--font-weight-text-semibold);gap:var(--space-2xs);height:var(--badge-size);letter-spacing:.05em;line-height:var(--badge-size);padding:0 var(--badge-horizontal-padding);text-decoration:none;text-transform:uppercase;white-space:nowrap}.Badge_form_default{border-radius:var(--control-radius)}.Badge_form_round{border-radius:99em}.Badge_view_filled{background:var(--badge-bg-color)}.Badge_view_stroked{box-shadow:inset 0 0 0 1px var(--badge-border-color)}.Badge_view_tinted{background:color-mix(in srgb,var(--badge-bg-color) var(--badge-degree-mixing),var(--color-bg-default))}.Badge_counter{justify-content:center;padding:0;text-align:center;width:var(--badge-size)}.Badge_minified{background:transparent;border:var(--badge-minified-border-size) solid transparent;border-radius:99em;box-shadow:inset 0 0 0 var(--badge-size) var(--badge-bg-color);width:var(--badge-size)}.Badge-Icon{flex:1}
@@ -1,32 +1,3 @@
1
1
  import './Badge.css';
2
- import { IconComponent } from '@consta/icons/Icon';
3
- export declare const badgePropSize: readonly ["xs", "s", "m", "l"];
4
- export declare type BadgePropSize = typeof badgePropSize[number];
5
- export declare const badgePropSizeDefault: BadgePropSize;
6
- export declare const badgePropView: readonly ["filled", "stroked"];
7
- export declare type BadgePropView = typeof badgePropView[number];
8
- export declare const badgePropViewDefault: BadgePropView;
9
- export declare const badgePropStatus: readonly ["normal", "success", "error", "warning", "system"];
10
- export declare type BadgePropStatus = typeof badgePropStatus[number];
11
- export declare const badgePropStatusDefault: BadgePropStatus;
12
- export declare const badgePropForm: readonly ["default", "round"];
13
- export declare type BadgePropForm = typeof badgePropForm[number];
14
- export declare const badgePropFormDefault: BadgePropForm;
15
- declare type Props = {
16
- size?: BadgePropSize;
17
- view?: BadgePropView;
18
- status?: BadgePropStatus;
19
- form?: BadgePropForm;
20
- minified?: boolean;
21
- /**
22
- * @deprecated since version 4.17.2 iconLeft
23
- */
24
- icon?: IconComponent;
25
- iconLeft?: IconComponent;
26
- iconRight?: IconComponent;
27
- label?: string;
28
- children?: never;
29
- };
30
- export declare const cnBadge: import("@bem-react/classname").ClassNameFormatter;
31
- export declare const Badge: import("../../utils/types/PropsWithAsAttributes").ComponentWithAs<Props, "div">;
32
- export {};
2
+ import { BadgeProps } from './types';
3
+ export declare const Badge: import("../../utils/types/PropsWithAsAttributes").ComponentWithAs<BadgeProps, "div">;
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","view","status","form","icon","iconLeft","iconRight","minified","label","as","title"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Badge.css";import{classnames}from"@bem-react/classnames";import React from"react";import{cn}from"../../utils/bem";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{useTheme}from"../Theme/Theme";export var badgePropSize=["xs","s","m","l"];export var badgePropSizeDefault="m";export var badgePropView=["filled","stroked"];export var badgePropViewDefault=badgePropView[0];export var badgePropStatus=["normal","success","error","warning","system"];export var badgePropStatusDefault=badgePropStatus[0];export var badgePropForm=["default","round"];export var badgePropFormDefault=badgePropForm[0];export var cnBadge=cn("Badge");var renderIcon=function(a){return a?React.createElement(a,{size:"xs",className:cnBadge("Icon")}):null};export var Badge=forwardRefWithAs(function(a,b){var c=a.size,d=void 0===c?badgePropSizeDefault:c,e=a.view,f=void 0===e?badgePropViewDefault:e,g=a.status,h=void 0===g?badgePropStatusDefault:g,i=a.form,j=void 0===i?badgePropFormDefault:i,k=a.icon,l=a.iconLeft,m=a.iconRight,n=a.minified,o=a.label,p=a.as,q=void 0===p?"div":p,r=a.title,s=_objectWithoutProperties(a,_excluded),t=useTheme(),u=t.themeClassNames,v="system"!==h&&"filled"===f?classnames(a.className,u.color.accent):a.className,w=null!==l&&void 0!==l?l:k,x=1===[k,l,m,o].filter(Boolean).length&&1>=((null===o||void 0===o?void 0:o.length)||0);return React.createElement(q,Object.assign({},s,{className:cnBadge(_objectSpread({size:d,status:h,minified:n},!n&&{view:f,form:j,counter:x}),[v]),ref:b,title:r||n&&o}),!n&&React.createElement(React.Fragment,null,renderIcon(w),o,renderIcon(m)))});
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["size","view","status","form","icon","iconLeft","iconRight","minified","label","as","title","style"];function ownKeys(a,b){var c=Object.keys(a);if(Object.getOwnPropertySymbols){var d=Object.getOwnPropertySymbols(a);b&&(d=d.filter(function(b){return Object.getOwnPropertyDescriptor(a,b).enumerable})),c.push.apply(c,d)}return c}function _objectSpread(a){for(var b,c=1;c<arguments.length;c++)b=null==arguments[c]?{}:arguments[c],c%2?ownKeys(Object(b),!0).forEach(function(c){_defineProperty(a,c,b[c])}):Object.getOwnPropertyDescriptors?Object.defineProperties(a,Object.getOwnPropertyDescriptors(b)):ownKeys(Object(b)).forEach(function(c){Object.defineProperty(a,c,Object.getOwnPropertyDescriptor(b,c))});return a}import"./Badge.css";import{classnames}from"@bem-react/classnames";import React from"react";import{useTheme}from"../Theme";import{forwardRefWithAs}from"../../utils/types/PropsWithAsAttributes";import{cnBadge}from"./cn";import{guardStatus}from"./guardStatus";import{getBgColor,getBorderColor,getDegreeMixing,getHorizontalPadding,getMinifiedBorderSize,getSize,getTextColor,getTextSize}from"./maps";import{badgePropFormDefault,badgePropSizeDefault,badgePropStatusDefault,badgePropViewDefault}from"./types";var renderIcon=function(a){return a?React.createElement(a,{size:"xs",className:cnBadge("Icon")}):null};export var Badge=forwardRefWithAs(function(a,b){var c=a.size,d=void 0===c?badgePropSizeDefault:c,e=a.view,f=void 0===e?badgePropViewDefault:e,g=a.status,h=void 0===g?badgePropStatusDefault:g,i=a.form,j=void 0===i?badgePropFormDefault:i,k=a.icon,l=a.iconLeft,m=a.iconRight,n=a.minified,o=void 0!==n&&n,p=a.label,q=a.as,r=void 0===q?"div":q,s=a.title,t=a.style,u=_objectWithoutProperties(a,_excluded),v=guardStatus(h),w=useTheme(),x=w.themeClassNames,y="system"!==v&&"disabled"!==v&&"filled"===f?classnames(a.className,x.color.accent):a.className,z=null!==l&&void 0!==l?l:k,A=1===[k,l,m,p].filter(Boolean).length&&1>=((null===p||void 0===p?void 0:p.length)||0);return React.createElement(r,Object.assign({},u,{className:cnBadge(_objectSpread({minified:o},!o&&{view:f,form:j,counter:A}),[y]),ref:b,title:s||o&&p,style:_objectSpread(_objectSpread({},t),{},{"--badge-bg-color":getBgColor(v),"--badge-border-color":getBorderColor(v,f),"--badge-horizontal-padding":getHorizontalPadding(d,j,o),"--badge-minified-border-size":getMinifiedBorderSize(d,o),"--badge-size":getSize(d,o),"--badge-text-color":getTextColor(v,f),"--badge-text-size":getTextSize(d),"--badge-degree-mixing":getDegreeMixing(v,f)})}),!o&&React.createElement(React.Fragment,null,renderIcon(z),p,renderIcon(m)))});
2
2
  //# sourceMappingURL=Badge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Badge.js","names":["classnames","React","cn","forwardRefWithAs","useTheme","badgePropSize","badgePropSizeDefault","badgePropView","badgePropViewDefault","badgePropStatus","badgePropStatusDefault","badgePropForm","badgePropFormDefault","cnBadge","renderIcon","Icon","Badge","props","ref","size","view","status","form","icon","iconLeft","IconRight","iconRight","minified","label","as","title","otherProps","themeClassNames","className","color","accent","IconLeft","counter","filter","Boolean","length"],"sources":["../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import './Badge.css';\n\nimport { classnames } from '@bem-react/classnames';\nimport { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { forwardRefWithAs } from '../../utils/types/PropsWithAsAttributes';\nimport { useTheme } from '../Theme/Theme';\n\nexport const badgePropSize = ['xs', 's', 'm', 'l'] as const;\nexport type BadgePropSize = typeof badgePropSize[number];\nexport const badgePropSizeDefault: BadgePropSize = 'm';\n\nexport const badgePropView = ['filled', 'stroked'] as const;\nexport type BadgePropView = typeof badgePropView[number];\nexport const badgePropViewDefault: BadgePropView = badgePropView[0];\n\nexport const badgePropStatus = [\n 'normal',\n 'success',\n 'error',\n 'warning',\n 'system',\n] as const;\nexport type BadgePropStatus = typeof badgePropStatus[number];\nexport const badgePropStatusDefault: BadgePropStatus = badgePropStatus[0];\n\nexport const badgePropForm = ['default', 'round'] as const;\nexport type BadgePropForm = typeof badgePropForm[number];\nexport const badgePropFormDefault: BadgePropForm = badgePropForm[0];\n\ntype Props = {\n size?: BadgePropSize;\n view?: BadgePropView;\n status?: BadgePropStatus;\n form?: BadgePropForm;\n minified?: boolean;\n /**\n * @deprecated since version 4.17.2 iconLeft\n */\n icon?: IconComponent;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n label?: string;\n children?: never;\n};\n\nexport const cnBadge = cn('Badge');\n\nconst renderIcon = (Icon: IconComponent | undefined) =>\n Icon ? <Icon size=\"xs\" className={cnBadge('Icon')} /> : null;\n\nexport const Badge = forwardRefWithAs<Props>((props, ref) => {\n const {\n size = badgePropSizeDefault,\n view = badgePropViewDefault,\n status = badgePropStatusDefault,\n form = badgePropFormDefault,\n icon,\n iconLeft,\n iconRight: IconRight,\n minified,\n label,\n as = 'div',\n title,\n ...otherProps\n } = props;\n\n const Tag = as as string;\n const { themeClassNames } = useTheme();\n\n const className =\n status !== 'system' && view === 'filled'\n ? classnames(props.className, themeClassNames.color.accent)\n : props.className;\n const IconLeft = iconLeft ?? icon;\n const counter =\n [icon, iconLeft, IconRight, label].filter(Boolean).length === 1 &&\n (label?.length || 0) <= 1;\n\n return (\n <Tag\n {...otherProps}\n className={cnBadge(\n {\n size,\n status,\n minified,\n ...(!minified && {\n view,\n form,\n counter,\n }),\n },\n [className],\n )}\n ref={ref}\n title={title || (minified && label)}\n >\n {!minified && (\n <>\n {renderIcon(IconLeft)}\n {label}\n {renderIcon(IconRight)}\n </>\n )}\n </Tag>\n );\n});\n"],"mappings":"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"}
1
+ {"version":3,"file":"Badge.js","names":["classnames","React","useTheme","forwardRefWithAs","cnBadge","guardStatus","getBgColor","getBorderColor","getDegreeMixing","getHorizontalPadding","getMinifiedBorderSize","getSize","getTextColor","getTextSize","badgePropFormDefault","badgePropSizeDefault","badgePropStatusDefault","badgePropViewDefault","renderIcon","Icon","Badge","props","ref","size","view","status","statusProp","form","icon","iconLeft","IconRight","iconRight","minified","label","as","title","style","otherProps","themeClassNames","className","color","accent","IconLeft","counter","filter","Boolean","length"],"sources":["../../../../../src/components/Badge/Badge.tsx"],"sourcesContent":["import './Badge.css';\n\nimport { classnames } from '@bem-react/classnames';\nimport { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { useTheme } from '##/components/Theme';\nimport { forwardRefWithAs } from '##/utils/types/PropsWithAsAttributes';\n\nimport { cnBadge } from './cn';\nimport { guardStatus } from './guardStatus';\nimport {\n getBgColor,\n getBorderColor,\n getDegreeMixing,\n getHorizontalPadding,\n getMinifiedBorderSize,\n getSize,\n getTextColor,\n getTextSize,\n} from './maps';\nimport {\n badgePropFormDefault,\n BadgeProps,\n badgePropSizeDefault,\n badgePropStatusDefault,\n badgePropViewDefault,\n} from './types';\n\nconst renderIcon = (Icon: IconComponent | undefined) =>\n Icon ? <Icon size=\"xs\" className={cnBadge('Icon')} /> : null;\n\nexport const Badge = forwardRefWithAs<BadgeProps>((props, ref) => {\n const {\n size = badgePropSizeDefault,\n view = badgePropViewDefault,\n status: statusProp = badgePropStatusDefault,\n form = badgePropFormDefault,\n icon,\n iconLeft,\n iconRight: IconRight,\n minified = false,\n label,\n as = 'div',\n title,\n style,\n ...otherProps\n } = props;\n\n const status = guardStatus(statusProp);\n const Tag = as as string;\n const { themeClassNames } = useTheme();\n\n const className =\n status !== 'system' && status !== 'disabled' && view === 'filled'\n ? classnames(props.className, themeClassNames.color.accent)\n : props.className;\n const IconLeft = iconLeft ?? icon;\n const counter =\n [icon, iconLeft, IconRight, label].filter(Boolean).length === 1 &&\n (label?.length || 0) <= 1;\n\n return (\n <Tag\n {...otherProps}\n className={cnBadge(\n {\n minified,\n ...(!minified && {\n view,\n form,\n counter,\n }),\n },\n [className],\n )}\n ref={ref}\n title={title || (minified && label)}\n style={{\n ...style,\n '--badge-bg-color': getBgColor(status),\n '--badge-border-color': getBorderColor(status, view),\n '--badge-horizontal-padding': getHorizontalPadding(\n size,\n form,\n minified,\n ),\n '--badge-minified-border-size': getMinifiedBorderSize(size, minified),\n '--badge-size': getSize(size, minified),\n '--badge-text-color': getTextColor(status, view),\n '--badge-text-size': getTextSize(size),\n '--badge-degree-mixing': getDegreeMixing(status, view),\n }}\n >\n {!minified && (\n <>\n {renderIcon(IconLeft)}\n {label}\n {renderIcon(IconRight)}\n </>\n )}\n </Tag>\n );\n});\n"],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare const cnBadge: import("@bem-react/classname").ClassNameFormatter;
@@ -0,0 +1,2 @@
1
+ import{cn}from"../../utils/bem";export var cnBadge=cn("Badge");
2
+ //# sourceMappingURL=cn.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cn.js","names":["cn","cnBadge"],"sources":["../../../../../src/components/Badge/cn.ts"],"sourcesContent":["import { cn } from '##/utils/bem';\n\nexport const cnBadge = cn('Badge');\n"],"mappings":"AAAA,OAASA,EAAT,uBAEA,MAAO,IAAMC,QAAO,CAAGD,EAAE,CAAC,OAAD,CAAlB"}
@@ -0,0 +1,2 @@
1
+ import { BadgePropStatus } from './types';
2
+ export declare const guardStatus: (status: BadgePropStatus) => BadgePropStatus;
@@ -0,0 +1,2 @@
1
+ export var guardStatus=function(a){return"error"===a?"alert":a};
2
+ //# sourceMappingURL=guardStatus.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guardStatus.js","names":["guardStatus","status"],"sources":["../../../../../src/components/Badge/guardStatus.ts"],"sourcesContent":["import { BadgePropStatus } from './types';\n\nexport const guardStatus = (status: BadgePropStatus): BadgePropStatus =>\n status === 'error' ? 'alert' : status;\n"],"mappings":"AAEA,MAAO,IAAMA,YAAW,CAAG,SAACC,CAAD,QACd,OAAX,GAAAA,CAAM,CAAe,OAAf,CAAyBA,CADN,CAApB"}
@@ -1 +1,3 @@
1
1
  export * from './Badge';
2
+ export * from './types';
3
+ export * from './cn';
@@ -1,2 +1,2 @@
1
- export*from"./Badge";
1
+ export*from"./Badge";export*from"./types";export*from"./cn";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Badge/index.ts"],"sourcesContent":["export * from './Badge';\n"],"mappings":"AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/Badge/index.ts"],"sourcesContent":["export * from './Badge';\nexport * from './types';\nexport * from './cn';\n"],"mappings":"AAAA,qBACA,qBACA"}
@@ -0,0 +1,9 @@
1
+ import { BadgePropForm, BadgePropSize, BadgePropStatus, BadgePropView } from './types';
2
+ export declare const getHorizontalPadding: (size: BadgePropSize, form: BadgePropForm, minified: boolean) => string | undefined;
3
+ export declare const getSize: (size: BadgePropSize, minified: boolean) => string;
4
+ export declare const getTextSize: (size: BadgePropSize) => string;
5
+ export declare const getMinifiedBorderSize: (size: BadgePropSize, minified: boolean) => string | undefined;
6
+ export declare const getBgColor: (status: BadgePropStatus) => string;
7
+ export declare const getTextColor: (status: BadgePropStatus, view: BadgePropView) => string;
8
+ export declare const getBorderColor: (status: BadgePropStatus, view: BadgePropView) => string | undefined;
9
+ export declare const getDegreeMixing: (status: BadgePropStatus, view: BadgePropView) => "30%" | "100%" | "10%" | undefined;
@@ -0,0 +1,2 @@
1
+ var horizontalPaddingRoundMap={xs:"xs",s:"xs",m:"s",l:"s"},horizontalPaddingDefaultMap={xs:"2xs",s:"2xs",m:"xs",l:"xs"};export var getHorizontalPadding=function(a,b,c){return c?void 0:"default"===b?"var(--space-".concat(horizontalPaddingDefaultMap[a],")"):"var(--space-".concat(horizontalPaddingRoundMap[a],")")};var sizeMap={xs:"m",s:"l",m:"xl",l:"2xl"},sizeMinifiedMap={xs:10,s:16,m:24,l:32};export var getSize=function(a,b){return b?"".concat(sizeMinifiedMap[a],"px"):"var(--space-".concat(sizeMap[a],")")};var textSizeMap={xs:"calc(var(--size-text-m) / 2)",s:"var(--size-text-2xs)",m:"var(--size-text-xs)",l:"var(--badge-text-size)"};export var getTextSize=function(a){return textSizeMap[a]};var minifiedBorderSizeMap={xs:2,s:3,m:4,l:5};export var getMinifiedBorderSize=function(a,b){return b?"".concat(minifiedBorderSizeMap[a],"px"):void 0};export var getBgColor=function(a){return"disabled"===a?"var(--color-control-bg-disable)":"var(--color-bg-".concat(a,")")};export var getTextColor=function(a,b){return"disabled"===a?"var(--color-control-typo-disable)":"system"===a?"var(--color-typo-secondary)":"filled"===b?"var(--color-typo-primary)":"var(--color-typo-".concat(a,")")};export var getBorderColor=function(a,b){return"stroked"===b&&"disabled"===a?"var(--color-control-bg-border-disable)":"stroked"===b?"var(--color-bg-".concat(a,")"):void 0};export var getDegreeMixing=function(a,b){return"tinted"===b&&"system"===a?"30%":"tinted"===b&&"disabled"===a?"100%":"tinted"===b?"10%":void 0};
2
+ //# sourceMappingURL=maps.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"maps.js","names":["horizontalPaddingRoundMap","xs","s","m","l","horizontalPaddingDefaultMap","getHorizontalPadding","size","form","minified","sizeMap","sizeMinifiedMap","getSize","textSizeMap","getTextSize","minifiedBorderSizeMap","getMinifiedBorderSize","getBgColor","status","getTextColor","view","getBorderColor","getDegreeMixing"],"sources":["../../../../../src/components/Badge/maps.ts"],"sourcesContent":["import { Space } from '##/mixs/MixSpace';\n\nimport {\n BadgePropForm,\n BadgePropSize,\n BadgePropStatus,\n BadgePropView,\n} from './types';\n\nconst horizontalPaddingRoundMap: Record<BadgePropSize, Space> = {\n xs: 'xs',\n s: 'xs',\n m: 's',\n l: 's',\n};\n\nconst horizontalPaddingDefaultMap: Record<BadgePropSize, Space> = {\n xs: '2xs',\n s: '2xs',\n m: 'xs',\n l: 'xs',\n};\n\nexport const getHorizontalPadding = (\n size: BadgePropSize,\n form: BadgePropForm,\n minified: boolean,\n) => {\n if (minified) {\n return undefined;\n }\n if (form === 'default') {\n return `var(--space-${horizontalPaddingDefaultMap[size]})`;\n }\n return `var(--space-${horizontalPaddingRoundMap[size]})`;\n};\n\nconst sizeMap: Record<BadgePropSize, Space> = {\n xs: 'm',\n s: 'l',\n m: 'xl',\n l: '2xl',\n};\n\nconst sizeMinifiedMap: Record<BadgePropSize, number> = {\n xs: 10,\n s: 16,\n m: 24,\n l: 32,\n};\n\nexport const getSize = (size: BadgePropSize, minified: boolean) => {\n if (minified) {\n return `${sizeMinifiedMap[size]}px`;\n }\n\n return `var(--space-${sizeMap[size]})`;\n};\n\nconst textSizeMap: Record<BadgePropSize, string> = {\n xs: 'calc(var(--size-text-m) / 2)',\n s: 'var(--size-text-2xs)',\n m: 'var(--size-text-xs)',\n l: 'var(--badge-text-size)',\n};\n\nexport const getTextSize = (size: BadgePropSize) => textSizeMap[size];\n\nconst minifiedBorderSizeMap: Record<BadgePropSize, number> = {\n xs: 2,\n s: 3,\n m: 4,\n l: 5,\n};\n\nexport const getMinifiedBorderSize = (size: BadgePropSize, minified: boolean) =>\n minified ? `${minifiedBorderSizeMap[size]}px` : undefined;\n\nexport const getBgColor = (status: BadgePropStatus) =>\n status === 'disabled'\n ? 'var(--color-control-bg-disable)'\n : `var(--color-bg-${status})`;\n\nexport const getTextColor = (status: BadgePropStatus, view: BadgePropView) => {\n if (status === 'disabled') {\n return 'var(--color-control-typo-disable)';\n }\n if (status === 'system') {\n return 'var(--color-typo-secondary)';\n }\n if (view === 'filled') {\n return 'var(--color-typo-primary)';\n }\n return `var(--color-typo-${status})`;\n};\n\nexport const getBorderColor = (\n status: BadgePropStatus,\n view: BadgePropView,\n) => {\n if (view === 'stroked' && status === 'disabled') {\n return 'var(--color-control-bg-border-disable)';\n }\n if (view === 'stroked') {\n return `var(--color-bg-${status})`;\n }\n return undefined;\n};\n\nexport const getDegreeMixing = (\n status: BadgePropStatus,\n view: BadgePropView,\n) => {\n if (view === 'tinted' && status === 'system') {\n return '30%';\n }\n if (view === 'tinted' && status === 'disabled') {\n return '100%';\n }\n if (view === 'tinted') {\n return '10%';\n }\n return undefined;\n};\n"],"mappings":"GASMA,0BAAuD,CAAG,CAC9DC,EAAE,CAAE,IAD0D,CAE9DC,CAAC,CAAE,IAF2D,CAG9DC,CAAC,CAAE,GAH2D,CAI9DC,CAAC,CAAE,GAJ2D,C,CAO1DC,2BAAyD,CAAG,CAChEJ,EAAE,CAAE,KAD4D,CAEhEC,CAAC,CAAE,KAF6D,CAGhEC,CAAC,CAAE,IAH6D,CAIhEC,CAAC,CAAE,IAJ6D,C,CAOlE,MAAO,IAAME,qBAAoB,CAAG,SAClCC,CADkC,CAElCC,CAFkC,CAGlCC,CAHkC,CAI/B,OACCA,EADD,QAIU,SAAT,GAAAD,CAJD,uBAKqBH,2BAA2B,CAACE,CAAD,CALhD,4BAOmBP,yBAAyB,CAACO,CAAD,CAP5C,KAQJ,CAZM,C,GAcDG,QAAqC,CAAG,CAC5CT,EAAE,CAAE,GADwC,CAE5CC,CAAC,CAAE,GAFyC,CAG5CC,CAAC,CAAE,IAHyC,CAI5CC,CAAC,CAAE,KAJyC,C,CAOxCO,eAA8C,CAAG,CACrDV,EAAE,CAAE,EADiD,CAErDC,CAAC,CAAE,EAFkD,CAGrDC,CAAC,CAAE,EAHkD,CAIrDC,CAAC,CAAE,EAJkD,C,CAOvD,MAAO,IAAMQ,QAAO,CAAG,SAACL,CAAD,CAAsBE,CAAtB,CAA4C,OAC7DA,EAD6D,WAErDE,eAAe,CAACJ,CAAD,CAFsC,6BAK3CG,OAAO,CAACH,CAAD,CALoC,KAMlE,CANM,CAQP,GAAMM,YAA0C,CAAG,CACjDZ,EAAE,CAAE,8BAD6C,CAEjDC,CAAC,CAAE,sBAF8C,CAGjDC,CAAC,CAAE,qBAH8C,CAIjDC,CAAC,CAAE,wBAJ8C,CAAnD,CAOA,MAAO,IAAMU,YAAW,CAAG,SAACP,CAAD,QAAyBM,YAAW,CAACN,CAAD,CAApC,CAApB,CAEP,GAAMQ,sBAAoD,CAAG,CAC3Dd,EAAE,CAAE,CADuD,CAE3DC,CAAC,CAAE,CAFwD,CAG3DC,CAAC,CAAE,CAHwD,CAI3DC,CAAC,CAAE,CAJwD,CAA7D,CAOA,MAAO,IAAMY,sBAAqB,CAAG,SAACT,CAAD,CAAsBE,CAAtB,QACnCA,EAAQ,WAAMM,qBAAqB,CAACR,CAAD,CAA3B,aAD2B,CAA9B,CAGP,MAAO,IAAMU,WAAU,CAAG,SAACC,CAAD,QACb,UAAX,GAAAA,CAAM,CACF,iCADE,0BAEgBA,CAFhB,KADkB,CAAnB,CAKP,MAAO,IAAMC,aAAY,CAAG,SAACD,CAAD,CAA0BE,CAA1B,CAAkD,OAC7D,UAAX,GAAAF,CADwE,CAEnE,mCAFmE,CAI7D,QAAX,GAAAA,CAJwE,CAKnE,6BALmE,CAO/D,QAAT,GAAAE,CAPwE,CAQnE,2BARmE,4BAUjDF,CAViD,KAW7E,CAXM,CAaP,MAAO,IAAMG,eAAc,CAAG,SAC5BH,CAD4B,CAE5BE,CAF4B,CAGzB,OACU,SAAT,GAAAA,CAAI,EAA6B,UAAX,GAAAF,CADvB,CAEM,wCAFN,CAIU,SAAT,GAAAE,CAJD,0BAKwBF,CALxB,YAQJ,CAXM,CAaP,MAAO,IAAMI,gBAAe,CAAG,SAC7BJ,CAD6B,CAE7BE,CAF6B,CAG1B,OACU,QAAT,GAAAA,CAAI,EAA4B,QAAX,GAAAF,CADtB,CAEM,KAFN,CAIU,QAAT,GAAAE,CAAI,EAA4B,UAAX,GAAAF,CAJtB,CAKM,MALN,CAOU,QAAT,GAAAE,CAPD,CAQM,KARN,OAWJ,CAdM"}
@@ -0,0 +1,31 @@
1
+ import { IconComponent } from '@consta/icons/Icon';
2
+ export declare const badgePropSize: readonly ["xs", "s", "m", "l"];
3
+ export declare type BadgePropSize = typeof badgePropSize[number];
4
+ export declare const badgePropSizeDefault: BadgePropSize;
5
+ export declare const badgePropView: readonly ["filled", "stroked", "tinted"];
6
+ export declare type BadgePropView = typeof badgePropView[number];
7
+ export declare const badgePropViewDefault: BadgePropView;
8
+ export declare const badgePropStatus: readonly ["normal", "success", "warning", "alert", "system", "disabled"];
9
+ export declare type BadgePropStatus = typeof badgePropStatus[number] | 'error';
10
+ export declare const badgePropStatusDefault: BadgePropStatus;
11
+ export declare const badgePropForm: readonly ["default", "round"];
12
+ export declare type BadgePropForm = typeof badgePropForm[number];
13
+ export declare const badgePropFormDefault: BadgePropForm;
14
+ export declare type BadgeProps = {
15
+ size?: BadgePropSize;
16
+ view?: BadgePropView;
17
+ /**
18
+ * "error" deprecated since version 5.13.0 use "alert"
19
+ */
20
+ status?: BadgePropStatus;
21
+ form?: BadgePropForm;
22
+ minified?: boolean;
23
+ /**
24
+ * @deprecated since version 4.17.2 use iconLeft
25
+ */
26
+ icon?: IconComponent;
27
+ iconLeft?: IconComponent;
28
+ iconRight?: IconComponent;
29
+ label?: string;
30
+ children?: never;
31
+ };
@@ -0,0 +1,2 @@
1
+ export var badgePropSize=["xs","s","m","l"];export var badgePropSizeDefault="m";export var badgePropView=["filled","stroked","tinted"];export var badgePropViewDefault=badgePropView[0];export var badgePropStatus=["normal","success","warning","alert","system","disabled"];export var badgePropStatusDefault=badgePropStatus[0];export var badgePropForm=["default","round"];export var badgePropFormDefault=badgePropForm[0];
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","names":["badgePropSize","badgePropSizeDefault","badgePropView","badgePropViewDefault","badgePropStatus","badgePropStatusDefault","badgePropForm","badgePropFormDefault"],"sources":["../../../../../src/components/Badge/types.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\n\nexport const badgePropSize = ['xs', 's', 'm', 'l'] as const;\nexport type BadgePropSize = typeof badgePropSize[number];\nexport const badgePropSizeDefault: BadgePropSize = 'm';\n\nexport const badgePropView = ['filled', 'stroked', 'tinted'] as const;\nexport type BadgePropView = typeof badgePropView[number];\nexport const badgePropViewDefault: BadgePropView = badgePropView[0];\n\nexport const badgePropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n 'system',\n 'disabled',\n] as const;\nexport type BadgePropStatus = typeof badgePropStatus[number] | 'error';\nexport const badgePropStatusDefault: BadgePropStatus = badgePropStatus[0];\n\nexport const badgePropForm = ['default', 'round'] as const;\nexport type BadgePropForm = typeof badgePropForm[number];\nexport const badgePropFormDefault: BadgePropForm = badgePropForm[0];\n\nexport type BadgeProps = {\n size?: BadgePropSize;\n view?: BadgePropView;\n /**\n * \"error\" deprecated since version 5.13.0 use \"alert\"\n */\n status?: BadgePropStatus;\n form?: BadgePropForm;\n minified?: boolean;\n /**\n * @deprecated since version 4.17.2 use iconLeft\n */\n icon?: IconComponent;\n iconLeft?: IconComponent;\n iconRight?: IconComponent;\n label?: string;\n children?: never;\n};\n"],"mappings":"AAEA,MAAO,IAAMA,cAAa,CAAG,CAAC,IAAD,CAAO,GAAP,CAAY,GAAZ,CAAiB,GAAjB,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAG,GAA5C,CAEP,MAAO,IAAMC,cAAa,CAAG,CAAC,QAAD,CAAW,SAAX,CAAsB,QAAtB,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAGD,aAAa,CAAC,CAAD,CAAzD,CAEP,MAAO,IAAME,gBAAe,CAAG,CAC7B,QAD6B,CAE7B,SAF6B,CAG7B,SAH6B,CAI7B,OAJ6B,CAK7B,QAL6B,CAM7B,UAN6B,CAAxB,CASP,MAAO,IAAMC,uBAAuC,CAAGD,eAAe,CAAC,CAAD,CAA/D,CAEP,MAAO,IAAME,cAAa,CAAG,CAAC,SAAD,CAAY,OAAZ,CAAtB,CAEP,MAAO,IAAMC,qBAAmC,CAAGD,aAAa,CAAC,CAAD,CAAzD"}