@consta/uikit 5.21.0 → 5.23.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 (279) hide show
  1. package/__internal__/src/components/AutoComplete/types.d.ts +1 -1
  2. package/__internal__/src/components/AutoComplete/types.js.map +1 -1
  3. package/__internal__/src/components/AutoCompleteCanary/types.d.ts +3 -3
  4. package/__internal__/src/components/AutoCompleteCanary/types.js.map +1 -1
  5. package/__internal__/src/components/AvatarGroup/helpers.d.ts +66 -56
  6. package/__internal__/src/components/AvatarGroup/types.d.ts +1 -1
  7. package/__internal__/src/components/AvatarGroup/types.js.map +1 -1
  8. package/__internal__/src/components/BadgeGroup/types.d.ts +1 -1
  9. package/__internal__/src/components/BadgeGroup/types.js.map +1 -1
  10. package/__internal__/src/components/BookmarkTabs/BookmarkTabs.js.map +1 -1
  11. package/__internal__/src/components/BookmarkTabs/BookmarkTabsTab/BookmarkTabsTab.css +1 -1
  12. package/__internal__/src/components/BookmarkTabs/helper.d.ts +66 -56
  13. package/__internal__/src/components/BookmarkTabs/types.d.ts +3 -3
  14. package/__internal__/src/components/BookmarkTabs/types.js.map +1 -1
  15. package/__internal__/src/components/Breadcrumbs/BreadcrumbsMore/BreadcrumbsMore.d.ts +1 -1
  16. package/__internal__/src/components/Breadcrumbs/helpers.d.ts +66 -56
  17. package/__internal__/src/components/Breadcrumbs/types.d.ts +7 -7
  18. package/__internal__/src/components/Breadcrumbs/types.js.map +1 -1
  19. package/__internal__/src/components/Card/Card.d.ts +3 -2
  20. package/__internal__/src/components/Card/Card.js.map +1 -1
  21. package/__internal__/src/components/CheckboxGroup/helper.d.ts +66 -56
  22. package/__internal__/src/components/CheckboxGroup/types.d.ts +1 -1
  23. package/__internal__/src/components/CheckboxGroup/types.js.map +1 -1
  24. package/__internal__/src/components/Chips/ChipsChoice/types.d.ts +1 -1
  25. package/__internal__/src/components/Chips/ChipsChoice/types.js.map +1 -1
  26. package/__internal__/src/components/Chips/types.d.ts +1 -1
  27. package/__internal__/src/components/Chips/types.js.map +1 -1
  28. package/__internal__/src/components/ChoiceGroup/helper.d.ts +66 -56
  29. package/__internal__/src/components/ChoiceGroup/types.d.ts +1 -1
  30. package/__internal__/src/components/ChoiceGroup/types.js.map +1 -1
  31. package/__internal__/src/components/Collapse/types.d.ts +1 -1
  32. package/__internal__/src/components/Collapse/types.js.map +1 -1
  33. package/__internal__/src/components/CollapseGroup/helpers.d.ts +2 -2
  34. package/__internal__/src/components/CollapseGroup/helpers.js.map +1 -1
  35. package/__internal__/src/components/Combobox/helpers.d.ts +4 -4
  36. package/__internal__/src/components/Combobox/helpers.js.map +1 -1
  37. package/__internal__/src/components/ComboboxDeprecated/helpers.d.ts +4 -4
  38. package/__internal__/src/components/ComboboxDeprecated/helpers.js.map +1 -1
  39. package/__internal__/src/components/ContextMenu/ContextMenuLevelWrapper/ContextMenuLevelWrapper.d.ts +1 -1
  40. package/__internal__/src/components/ContextMenu/ContextMenuWrapper/ContextMenuWrapper.d.ts +1 -1
  41. package/__internal__/src/components/ContextMenu/helpers.d.ts +2 -2
  42. package/__internal__/src/components/ContextMenu/types.d.ts +4 -4
  43. package/__internal__/src/components/ContextMenu/types.js.map +1 -1
  44. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.d.ts +1 -1
  45. package/__internal__/src/components/DatePicker/DatePickerDropdown/DatePickerDropdown.js.map +1 -1
  46. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDate/DatePickerFieldTypeDate.d.ts +1 -1
  47. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateRange/DatePickerFieldTypeDateRange.d.ts +1 -1
  48. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTime/DatePickerFieldTypeDateTime.d.ts +1 -1
  49. package/__internal__/src/components/DatePicker/DatePickerFieldTypeDateTimeRange/DatePickerFieldTypeDateTimeRange.d.ts +1 -1
  50. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonth/DatePickerFieldTypeMonth.d.ts +1 -1
  51. package/__internal__/src/components/DatePicker/DatePickerFieldTypeMonthRange/DatePickerFieldTypeMonthRange.d.ts +1 -1
  52. package/__internal__/src/components/DatePicker/DatePickerFieldTypeTime/DatePickerFieldTypeTime.d.ts +1 -1
  53. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYear/DatePickerFieldTypeYear.d.ts +1 -1
  54. package/__internal__/src/components/DatePicker/DatePickerFieldTypeYearRange/DatePickerFieldTypeYearRange.d.ts +1 -1
  55. package/__internal__/src/components/DatePicker/types.d.ts +2 -2
  56. package/__internal__/src/components/DatePicker/types.js.map +1 -1
  57. package/__internal__/src/components/DateTime/DateTimeCell/DateTimeCell.d.ts +1 -1
  58. package/__internal__/src/components/DateTime/DateTimeItem/DateTimeItem.d.ts +1 -1
  59. package/__internal__/src/components/DateTime/helpers/types.d.ts +2 -2
  60. package/__internal__/src/components/DateTime/helpers/types.js.map +1 -1
  61. package/__internal__/src/components/EventInterceptor/EventInterceptor.d.ts +1 -1
  62. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.d.ts +1 -1
  63. package/__internal__/src/components/FieldComponents/FieldArrayValueInlineControl/types.js.map +1 -1
  64. package/__internal__/src/components/FieldComponents/FieldButton/FieldButton.d.ts +1 -1
  65. package/__internal__/src/components/FieldComponents/FieldClearButton/FieldClearButton.d.ts +1 -1
  66. package/__internal__/src/components/FieldComponents/FieldControlLayout/FieldControlLayout.d.ts +1 -1
  67. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.d.ts +1 -1
  68. package/__internal__/src/components/FieldComponents/FieldControlLayout/helpers.js.map +1 -1
  69. package/__internal__/src/components/FieldComponents/FieldControlLayout/types.d.ts +2 -2
  70. package/__internal__/src/components/FieldComponents/FieldControlLayout/types.js.map +1 -1
  71. package/__internal__/src/components/FieldComponents/FieldCounter/FieldCounter.d.ts +1 -1
  72. package/__internal__/src/components/FieldComponents/FieldInput/FieldInput.d.ts +1 -1
  73. package/__internal__/src/components/FieldComponents/FieldToggleVisiblePasswordButton/FieldToggleVisiblePasswordButton.d.ts +1 -1
  74. package/__internal__/src/components/FieldComponents/renderSide.d.ts +1 -1
  75. package/__internal__/src/components/Grid/helpers.d.ts +1 -1
  76. package/__internal__/src/components/ListCanary/ListAddItem/ListAddItem.d.ts +1 -1
  77. package/__internal__/src/components/ListCanary/ListBox/ListBox.d.ts +1 -1
  78. package/__internal__/src/components/ListCanary/ListDivider/ListDivider.d.ts +1 -1
  79. package/__internal__/src/components/ListCanary/ListGroupLabel/ListGroupLabel.d.ts +1 -1
  80. package/__internal__/src/components/ListCanary/ListLoader/ListLoader.d.ts +1 -1
  81. package/__internal__/src/components/ListCanary/types.d.ts +3 -3
  82. package/__internal__/src/components/ListCanary/types.js.map +1 -1
  83. package/__internal__/src/components/Modal/Modal.js +1 -1
  84. package/__internal__/src/components/Modal/Modal.js.map +1 -1
  85. package/__internal__/src/components/Pagination/PaginationArrow/PaginationArrow.d.ts +1 -1
  86. package/__internal__/src/components/Pagination/types.d.ts +3 -3
  87. package/__internal__/src/components/Pagination/types.js.map +1 -1
  88. package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.d.ts +1 -1
  89. package/__internal__/src/components/PaginationDeprecated/PaginationDeprecated.js.map +1 -1
  90. package/__internal__/src/components/Picture/Picture.d.ts +1 -1
  91. package/__internal__/src/components/Popover/Popover.d.ts +1 -1
  92. package/__internal__/src/components/Popover/Popover.js +1 -1
  93. package/__internal__/src/components/Popover/Popover.js.map +1 -1
  94. package/__internal__/src/components/PortalWithTheme/PortalWithTheme.d.ts +1 -1
  95. package/__internal__/src/components/PortalWithTheme/PortalWithTheme.js +1 -1
  96. package/__internal__/src/components/PortalWithTheme/PortalWithTheme.js.map +1 -1
  97. package/__internal__/src/components/PortalWithTheme/PortalWithThemeConsumer/PortalWithThemeConsumer.d.ts +10 -0
  98. package/__internal__/src/components/PortalWithTheme/PortalWithThemeConsumer/PortalWithThemeConsumer.js +2 -0
  99. package/__internal__/src/components/PortalWithTheme/PortalWithThemeConsumer/PortalWithThemeConsumer.js.map +1 -0
  100. package/__internal__/src/components/PortalWithTheme/PortalWithThemeConsumer/index.d.ts +1 -0
  101. package/__internal__/src/components/PortalWithTheme/PortalWithThemeConsumer/index.js +2 -0
  102. package/__internal__/src/components/PortalWithTheme/PortalWithThemeConsumer/index.js.map +1 -0
  103. package/__internal__/src/components/PortalWithTheme/index.d.ts +1 -0
  104. package/__internal__/src/components/PortalWithTheme/index.js +1 -1
  105. package/__internal__/src/components/PortalWithTheme/index.js.map +1 -1
  106. package/__internal__/src/components/ProgressLine/helpers.d.ts +66 -56
  107. package/__internal__/src/components/ProgressLine/types.d.ts +1 -1
  108. package/__internal__/src/components/ProgressLine/types.js.map +1 -1
  109. package/__internal__/src/components/ProgressStepBar/ProgressStepBarLine/ProgressStepBarLine.d.ts +1 -1
  110. package/__internal__/src/components/ProgressStepBar/helpers.d.ts +3 -3
  111. package/__internal__/src/components/ProgressStepBar/helpers.js.map +1 -1
  112. package/__internal__/src/components/RadioGroup/helper.d.ts +66 -56
  113. package/__internal__/src/components/RadioGroup/types.d.ts +1 -1
  114. package/__internal__/src/components/RadioGroup/types.js.map +1 -1
  115. package/__internal__/src/components/Select/helpers.d.ts +4 -4
  116. package/__internal__/src/components/Select/helpers.js.map +1 -1
  117. package/__internal__/src/components/SelectCanary/SelectControlLayout/SelectControlLayout.d.ts +1 -1
  118. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.d.ts +1 -1
  119. package/__internal__/src/components/SelectCanary/SelectCreateButton/SelectCreateButton.js.map +1 -1
  120. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.d.ts +1 -1
  121. package/__internal__/src/components/SelectCanary/SelectDropdown/SelectDropdown.js.map +1 -1
  122. package/__internal__/src/components/SelectCanary/SelectInput/SelectInput.d.ts +1 -1
  123. package/__internal__/src/components/SelectCanary/SelectLoader/SelectLoader.d.ts +1 -1
  124. package/__internal__/src/components/SelectCanary/SelectMultipleValue/SelectMultipleValue.d.ts +2 -2
  125. package/__internal__/src/components/SelectCanary/SelectMultipleValue/SelectMultipleValue.js.map +1 -1
  126. package/__internal__/src/components/SelectCanary/SelectRenderItem/SelectRenderItem.d.ts +1 -1
  127. package/__internal__/src/components/SelectCanary/SelectRenderItem/SelectRenderItem.js.map +1 -1
  128. package/__internal__/src/components/SelectCanary/helpers.d.ts +1 -1
  129. package/__internal__/src/components/SelectCanary/types.d.ts +1 -1
  130. package/__internal__/src/components/SelectCanary/types.js.map +1 -1
  131. package/__internal__/src/components/SelectComponents/SelectContainer/SelectContainer.d.ts +1 -1
  132. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.d.ts +2 -2
  133. package/__internal__/src/components/SelectComponents/SelectDropdown/SelectDropdown.js.map +1 -1
  134. package/__internal__/src/components/SelectComponents/SelectLoader/SelectLoader.d.ts +1 -1
  135. package/__internal__/src/components/SelectComponentsDeprecated/SelectContainer/SelectContainer.d.ts +1 -1
  136. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.d.ts +2 -2
  137. package/__internal__/src/components/SelectComponentsDeprecated/SelectDropdown/SelectDropdown.js.map +1 -1
  138. package/__internal__/src/components/SelectComponentsDeprecated/SelectItemAll/SelectSelectAll.d.ts +1 -1
  139. package/__internal__/src/components/SelectComponentsDeprecated/SelectLoader/SelectLoader.d.ts +1 -1
  140. package/__internal__/src/components/SelectDeprecated/helpers.d.ts +4 -4
  141. package/__internal__/src/components/SelectDeprecated/helpers.js.map +1 -1
  142. package/__internal__/src/components/Sidebar/Sidebar.js +1 -1
  143. package/__internal__/src/components/Sidebar/Sidebar.js.map +1 -1
  144. package/__internal__/src/components/Skeleton/SkeletonBrick/SkeletonBrick.d.ts +1 -1
  145. package/__internal__/src/components/Skeleton/SkeletonCircle/SkeletonCircle.d.ts +1 -1
  146. package/__internal__/src/components/Slider/SliderInput/SliderInput.d.ts +1 -1
  147. package/__internal__/src/components/Slider/SliderLine/SliderLine.d.ts +1 -1
  148. package/__internal__/src/components/Slider/SliderPoint/SliderPoint.d.ts +1 -1
  149. package/__internal__/src/components/Slider/helper.d.ts +1 -1
  150. package/__internal__/src/components/Slider/helper.js.map +1 -1
  151. package/__internal__/src/components/SnackBar/SnackBarItem/SnackBarItem.d.ts +1 -1
  152. package/__internal__/src/components/SnackBar/helper.d.ts +67 -57
  153. package/__internal__/src/components/SnackBar/types.d.ts +2 -2
  154. package/__internal__/src/components/SnackBar/types.js.map +1 -1
  155. package/__internal__/src/components/Steps/helper.d.ts +66 -56
  156. package/__internal__/src/components/Steps/types.d.ts +1 -1
  157. package/__internal__/src/components/Steps/types.js.map +1 -1
  158. package/__internal__/src/components/StepsCanary/helper.d.ts +66 -56
  159. package/__internal__/src/components/StepsCanary/types.d.ts +1 -1
  160. package/__internal__/src/components/StepsCanary/types.js.map +1 -1
  161. package/__internal__/src/components/Switch/Switch.d.ts +2 -1
  162. package/__internal__/src/components/Switch/Switch.js +1 -1
  163. package/__internal__/src/components/Switch/Switch.js.map +1 -1
  164. package/__internal__/src/components/Switch/types.d.ts +1 -0
  165. package/__internal__/src/components/Switch/types.js.map +1 -1
  166. package/__internal__/src/components/SwitchGroup/helpers.d.ts +66 -56
  167. package/__internal__/src/components/SwitchGroup/types.d.ts +1 -1
  168. package/__internal__/src/components/SwitchGroup/types.js.map +1 -1
  169. package/__internal__/src/components/Table/Cell/TableCell.d.ts +1 -1
  170. package/__internal__/src/components/Table/Cell/TableCell.js.map +1 -1
  171. package/__internal__/src/components/Table/Header/TableHeader.d.ts +1 -1
  172. package/__internal__/src/components/Table/Header/TableHeader.js.map +1 -1
  173. package/__internal__/src/components/Table/Resizer/TableResizer.d.ts +1 -1
  174. package/__internal__/src/components/Table/Resizer/TableResizer.js.map +1 -1
  175. package/__internal__/src/components/Table/Table.d.ts +1 -1
  176. package/__internal__/src/components/Table/Table.js.map +1 -1
  177. package/__internal__/src/components/Table/__mock__/data.mock.d.ts +1 -1
  178. package/__internal__/src/components/Tabs/Tabs.js.map +1 -1
  179. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.d.ts +1 -1
  180. package/__internal__/src/components/Tabs/TabsFitModeDropdownWrapper/TabsFitModeDropdownWrapper.js.map +1 -1
  181. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.d.ts +1 -1
  182. package/__internal__/src/components/Tabs/TabsFitModeScrollWrapper/TabsFitModeScrollWrapper.js.map +1 -1
  183. package/__internal__/src/components/Tabs/TabsListWrapper/TabsListWrapper.d.ts +1 -1
  184. package/__internal__/src/components/Tabs/helpers.d.ts +199 -169
  185. package/__internal__/src/components/Tabs/types.d.ts +4 -4
  186. package/__internal__/src/components/Tabs/types.js.map +1 -1
  187. package/__internal__/src/components/Tag/Tag.d.ts +1 -1
  188. package/__internal__/src/components/Tag/Tag.js.map +1 -1
  189. package/__internal__/src/components/TagBase/TagBase.d.ts +1 -1
  190. package/__internal__/src/components/TextField/TextField.d.ts +1 -1
  191. package/__internal__/src/components/TextField/types.d.ts +1 -1
  192. package/__internal__/src/components/TextField/types.js.map +1 -1
  193. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js +1 -1
  194. package/__internal__/src/components/TextFieldCanary/TextFieldTypeTextArray/TextFieldTypeTextArray.js.map +1 -1
  195. package/__internal__/src/components/TextFieldCanary/types.d.ts +2 -2
  196. package/__internal__/src/components/TextFieldCanary/types.js.map +1 -1
  197. package/__internal__/src/components/ThemeToggler/helpers.d.ts +66 -56
  198. package/__internal__/src/components/ThemeToggler/types.d.ts +1 -1
  199. package/__internal__/src/components/ThemeToggler/types.js.map +1 -1
  200. package/__internal__/src/components/Timer/Timer.d.ts +1 -1
  201. package/__internal__/src/components/Tooltip/Tooltip.d.ts +1 -1
  202. package/__internal__/src/components/TooltipDeprecated/TooltipDeprecated.d.ts +1 -1
  203. package/__internal__/src/components/UserSelect/helpers.d.ts +4 -4
  204. package/__internal__/src/components/UserSelect/helpers.js.map +1 -1
  205. package/__internal__/src/components/UserSelectDeprecated/helpers.d.ts +4 -4
  206. package/__internal__/src/components/UserSelectDeprecated/helpers.js.map +1 -1
  207. package/__internal__/src/docs/start/start.stand.d.ts +1 -1
  208. package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi_size_m.d.ts +1 -1
  209. package/__internal__/src/fileIcons/FileIconAvi/FileIconAvi_size_s.d.ts +1 -1
  210. package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp_size_m.d.ts +1 -1
  211. package/__internal__/src/fileIcons/FileIconBmp/FileIconBmp_size_s.d.ts +1 -1
  212. package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv_size_m.d.ts +1 -1
  213. package/__internal__/src/fileIcons/FileIconCsv/FileIconCsv_size_s.d.ts +1 -1
  214. package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc_size_m.d.ts +1 -1
  215. package/__internal__/src/fileIcons/FileIconDoc/FileIconDoc_size_s.d.ts +1 -1
  216. package/__internal__/src/fileIcons/FileIconExe/FileIconExe_size_m.d.ts +1 -1
  217. package/__internal__/src/fileIcons/FileIconExe/FileIconExe_size_s.d.ts +1 -1
  218. package/__internal__/src/fileIcons/FileIconGif/FileIconGif_size_m.d.ts +1 -1
  219. package/__internal__/src/fileIcons/FileIconGif/FileIconGif_size_s.d.ts +1 -1
  220. package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg_size_m.d.ts +1 -1
  221. package/__internal__/src/fileIcons/FileIconJpg/FileIconJpg_size_s.d.ts +1 -1
  222. package/__internal__/src/fileIcons/FileIconJson/FileIconJson_size_m.d.ts +1 -1
  223. package/__internal__/src/fileIcons/FileIconJson/FileIconJson_size_s.d.ts +1 -1
  224. package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading_size_m.d.ts +1 -1
  225. package/__internal__/src/fileIcons/FileIconLoading/FileIconLoading_size_s.d.ts +1 -1
  226. package/__internal__/src/fileIcons/FileIconMov/FileIconMov_size_m.d.ts +1 -1
  227. package/__internal__/src/fileIcons/FileIconMov/FileIconMov_size_s.d.ts +1 -1
  228. package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3_size_m.d.ts +1 -1
  229. package/__internal__/src/fileIcons/FileIconMp3/FileIconMp3_size_s.d.ts +1 -1
  230. package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4_size_m.d.ts +1 -1
  231. package/__internal__/src/fileIcons/FileIconMp4/FileIconMp4_size_s.d.ts +1 -1
  232. package/__internal__/src/fileIcons/FileIconMsg/FileIconMsg_size_m.d.ts +1 -1
  233. package/__internal__/src/fileIcons/FileIconMsg/FileIconMsg_size_s.d.ts +1 -1
  234. package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf_size_m.d.ts +1 -1
  235. package/__internal__/src/fileIcons/FileIconPdf/FileIconPdf_size_s.d.ts +1 -1
  236. package/__internal__/src/fileIcons/FileIconPng/FileIconPng_size_m.d.ts +1 -1
  237. package/__internal__/src/fileIcons/FileIconPng/FileIconPng_size_s.d.ts +1 -1
  238. package/__internal__/src/fileIcons/FileIconPpt/FileIconPpt_size_m.d.ts +1 -1
  239. package/__internal__/src/fileIcons/FileIconPpt/FileIconPpt_size_s.d.ts +1 -1
  240. package/__internal__/src/fileIcons/FileIconRar/FileIconRar_size_m.d.ts +1 -1
  241. package/__internal__/src/fileIcons/FileIconRar/FileIconRar_size_s.d.ts +1 -1
  242. package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf_size_m.d.ts +1 -1
  243. package/__internal__/src/fileIcons/FileIconRtf/FileIconRtf_size_s.d.ts +1 -1
  244. package/__internal__/src/fileIcons/FileIconSvg/FileIconSvg_size_m.d.ts +1 -1
  245. package/__internal__/src/fileIcons/FileIconSvg/FileIconSvg_size_s.d.ts +1 -1
  246. package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff_size_m.d.ts +1 -1
  247. package/__internal__/src/fileIcons/FileIconTiff/FileIconTiff_size_s.d.ts +1 -1
  248. package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt_size_m.d.ts +1 -1
  249. package/__internal__/src/fileIcons/FileIconTxt/FileIconTxt_size_s.d.ts +1 -1
  250. package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined_size_m.d.ts +1 -1
  251. package/__internal__/src/fileIcons/FileIconUndefined/FileIconUndefined_size_s.d.ts +1 -1
  252. package/__internal__/src/fileIcons/FileIconVsd/FileIconVsd_size_m.d.ts +1 -1
  253. package/__internal__/src/fileIcons/FileIconVsd/FileIconVsd_size_s.d.ts +1 -1
  254. package/__internal__/src/fileIcons/FileIconWav/FileIconWav_size_m.d.ts +1 -1
  255. package/__internal__/src/fileIcons/FileIconWav/FileIconWav_size_s.d.ts +1 -1
  256. package/__internal__/src/fileIcons/FileIconXls/FileIconXls_size_m.d.ts +1 -1
  257. package/__internal__/src/fileIcons/FileIconXls/FileIconXls_size_s.d.ts +1 -1
  258. package/__internal__/src/fileIcons/FileIconZip/FileIconZip_size_m.d.ts +1 -1
  259. package/__internal__/src/fileIcons/FileIconZip/FileIconZip_size_s.d.ts +1 -1
  260. package/__internal__/src/hocs/withTooltip/withTooltip.d.ts +1 -1
  261. package/__internal__/src/hocs/withTooltip/withTooltip.js.map +1 -1
  262. package/__internal__/src/hooks/useForkRef/useForkRef.d.ts +1 -1
  263. package/__internal__/src/responsesImages/ResponsesImage403/ResponsesImage403Svg.d.ts +1 -1
  264. package/__internal__/src/responsesImages/ResponsesImage404/ResponsesImage404Svg.d.ts +1 -1
  265. package/__internal__/src/responsesImages/ResponsesImage500/ResponsesImage500Svg.d.ts +1 -1
  266. package/__internal__/src/responsesImages/ResponsesImage503/ResponsesImage503Svg.d.ts +1 -1
  267. package/__internal__/src/responsesImages/ResponsesImageConnectionError/ResponsesImageConnectionErrorSvg.d.ts +1 -1
  268. package/__internal__/src/responsesImages/ResponsesImageDeleted/ResponsesImageDeletedSvg.d.ts +1 -1
  269. package/__internal__/src/responsesImages/ResponsesImageEmptyBox/ResponsesImageEmptyBoxSvg.d.ts +1 -1
  270. package/__internal__/src/responsesImages/ResponsesImageEmptyPockets/ResponsesImageEmptyPocketsSvg.d.ts +1 -1
  271. package/__internal__/src/responsesImages/ResponsesImageExit/ResponsesImageExitSvg.d.ts +1 -1
  272. package/__internal__/src/responsesImages/ResponsesImageNothingFound/ResponsesImageNothingFoundSvg.d.ts +1 -1
  273. package/__internal__/src/responsesImages/ResponsesImageSuccess/ResponsesImageSuccessSvg.d.ts +1 -1
  274. package/__internal__/src/stand/standConfig.d.ts +1 -1
  275. package/__internal__/src/uiKit/components/Image/Image.d.ts +1 -1
  276. package/__internal__/src/utils/state/withCtx/withCtx.js.map +1 -1
  277. package/__internal__/src/utils/types/PropsWithAsAttributes.d.ts +2 -2
  278. package/__internal__/src/utils/types/PropsWithAsAttributes.js.map +1 -1
  279. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Popover.js","names":["React","forwardRef","useEffect","useLayoutEffect","useMemo","PortalWithTheme","usePortalContext","useTheme","useClickOutside","useComponentSize","useForkRef","cn","isRenderProp","isNumber","isString","getComputedPositionAndDirection","getPointPosition","getRenderPosition","usePopoverReposition","directionsStartCenter","directionsStartEdge","popoverPropOffset","directions","getOffset","ref","propOffset","current","cssVar","getComputedStyle","getPropertyValue","test","slice","length","fontSize","parseFloat","document","documentElement","rem","em","ContextConsumer","onClickOutside","children","ignoreClicksInsideRefs","refs","isActive","handler","cnPopover","Popover","props","componentRef","direction","passedDirection","offset","arrowOffset","possibleDirections","isInteractive","spareDirection","style","className","passedPosition","position","anchorRef","equalAnchorWidth","onSetDirection","viewportRef","container","window","body","otherProps","viewportElement","useRef","theme","useState","anchorClientRect","setAnchorClientRect","width","height","anchorSize","previousDirectionRef","bannedDirections","setBannedDirections","resetBannedDirections","state","updateAnchorClientRect","getBoundingClientRect","contentSize","viewportSize","clientWidth","clientHeight","x","left","y","top","scrollAnchorRef","onRequestReposition","includes","renderPosition","notVisible"],"sources":["../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import './Popover.css';\n\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo } from 'react';\n\nimport {\n PortalWithTheme,\n usePortalContext,\n} from '##/components/PortalWithTheme';\nimport { useTheme } from '##/components/Theme/Theme';\nimport { ClickOutsideHandler, useClickOutside } from '##/hooks/useClickOutside';\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cn } from '##/utils/bem';\nimport { isRenderProp } from '##/utils/isRenderProp';\nimport { isNumber, isString } from '##/utils/type-guards';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport {\n getComputedPositionAndDirection,\n getPointPosition,\n getRenderPosition,\n} from './helpers';\nimport { usePopoverReposition } from './usePopoverReposition';\n\n/**\n * Стороны упорядочены по приоритету:\n * Используется первая сторона, в которую смог вписаться поповер.\n */\nexport const directionsStartCenter = [\n 'downCenter',\n 'upCenter',\n\n 'downRight',\n 'downLeft',\n 'upRight',\n 'upLeft',\n\n 'leftUp',\n 'leftCenter',\n 'leftDown',\n\n 'rightUp',\n 'rightCenter',\n 'rightDown',\n] as const;\n\nexport const directionsStartEdge = [\n 'downStartLeft',\n 'upStartLeft',\n\n 'downStartRight',\n 'upStartRight',\n\n 'leftStartUp',\n 'leftStartDown',\n\n 'rightStartUp',\n 'rightStartDown',\n] as const;\n\nexport const popoverPropOffset = [\n '3xs',\n '2xs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type PopoverPropOffset = typeof popoverPropOffset[number] | number;\n\nexport const directions = [...directionsStartCenter, ...directionsStartEdge];\n\nexport type Direction = typeof directions[number];\n\nexport type Position = { x: number; y: number } | undefined;\n\nexport type PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n equalAnchorWidth?: boolean;\n position?: never;\n }\n | {\n anchorRef?: never;\n equalAnchorWidth?: never;\n position: Position;\n };\n\ntype ChildrenRenderProp = (direction: Direction) => React.ReactNode;\n\nexport type PopoverProps = PropsWithJsxAttributes<\n {\n direction?: Direction;\n spareDirection?: Direction;\n offset?: PopoverPropOffset;\n arrowOffset?: number;\n possibleDirections?: readonly Direction[];\n isInteractive?: boolean;\n children: React.ReactNode | ChildrenRenderProp;\n onClickOutside?: ClickOutsideHandler;\n onSetDirection?: (direction: Direction) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n } & PositioningProps\n>;\n\nexport type Props = PopoverProps; // удалить при мажоре\n\nconst getOffset = (\n ref: React.RefObject<HTMLDivElement>,\n propOffset: PopoverPropOffset,\n) => {\n if (isNumber(propOffset)) {\n return propOffset;\n }\n\n if (isString(propOffset) && ref.current) {\n const cssVar = getComputedStyle(ref.current).getPropertyValue(\n `--space-${propOffset}`,\n );\n\n if (cssVar && /px$/.test(cssVar)) {\n return Number(cssVar.slice(0, cssVar.length - 2));\n }\n\n if (cssVar && /rem$/.test(cssVar)) {\n const fontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize,\n );\n const rem = Number(cssVar.slice(0, cssVar.length - 3));\n\n return fontSize * rem;\n }\n\n if (cssVar && /em$/.test(cssVar)) {\n const fontSize = parseFloat(getComputedStyle(ref.current).fontSize);\n const em = Number(cssVar.slice(0, cssVar.length - 2));\n\n return fontSize * em;\n }\n\n return 0;\n }\n\n return 0;\n};\n\n/**\n * Подписчик на PortalWithThemeProvider\n * получает рефы всех вложенных порталов во всплывающем окне\n * для дальнейшего исключения их из useClickOutside\n */\nconst ContextConsumer: React.FC<{\n onClickOutside?: (event: MouseEvent) => void;\n ignoreClicksInsideRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n children: React.ReactNode;\n}> = ({ onClickOutside, children, ignoreClicksInsideRefs }) => {\n const { refs } = usePortalContext();\n\n useClickOutside({\n isActive: !!onClickOutside,\n ignoreClicksInsideRefs: [\n ...(ignoreClicksInsideRefs || []),\n ...(refs || []),\n ],\n handler: onClickOutside,\n });\n\n return children as React.ReactElement;\n};\n\nconst cnPopover = cn('Popover');\n\nexport const Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (props, componentRef) => {\n const {\n children,\n direction: passedDirection = 'upCenter',\n offset: propOffset = 0,\n arrowOffset,\n possibleDirections = directions,\n isInteractive = true,\n onClickOutside,\n spareDirection = 'downStartLeft',\n style,\n className,\n position: passedPosition,\n anchorRef,\n equalAnchorWidth,\n onSetDirection,\n viewportRef,\n container = window.document.body,\n ...otherProps\n } = props;\n\n const viewportElement = viewportRef?.current || document.documentElement;\n\n const ref = React.useRef<HTMLDivElement>(null);\n const { theme } = useTheme();\n\n const [anchorClientRect, setAnchorClientRect] = React.useState<\n DOMRect | undefined\n >();\n const { width, height } = useComponentSize(ref);\n const anchorSize = useComponentSize(anchorRef || { current: null });\n const previousDirectionRef = React.useRef<Direction | null>(null);\n const [bannedDirections, setBannedDirections] = React.useState<\n readonly Direction[]\n >([]);\n\n const resetBannedDirections = () => {\n setBannedDirections((state) => (state.length ? [] : state));\n previousDirectionRef.current = null;\n };\n\n const updateAnchorClientRect = () =>\n setAnchorClientRect(anchorRef?.current?.getBoundingClientRect());\n\n const offset = useMemo(\n () => getOffset(ref, propOffset),\n [propOffset, Boolean(ref.current)],\n );\n\n const { position, direction } = getComputedPositionAndDirection({\n contentSize: { width, height },\n viewportSize: {\n // Размер вьюпорта без скроллбаров\n width: viewportElement.clientWidth,\n height: viewportElement.clientHeight,\n },\n arrowOffset,\n offset,\n direction: passedDirection,\n possibleDirections,\n bannedDirections,\n position: getPointPosition(\n viewportElement,\n anchorClientRect\n ? { x: anchorClientRect.left, y: anchorClientRect.top }\n : passedPosition,\n !!viewportRef?.current,\n ),\n anchorSize,\n spareDirection,\n });\n\n useEffect(() => onSetDirection?.(direction), [direction]);\n\n useEffect(updateAnchorClientRect, [anchorSize]);\n\n usePopoverReposition({\n isActive: true,\n scrollAnchorRef: anchorRef || { current: null },\n onRequestReposition: () => {\n resetBannedDirections();\n updateAnchorClientRect();\n },\n });\n\n /**\n * Может возникнуть ситуация, когда перерасчет поповера всегда будет выдавать 2 направления\n * и бесконечно зацикливать себя. Для избежания таких кейсов мы запоминаем стороны,\n * которые не подошли, чтобы не возвращаться к ним и предотвратить бесконечный ререндер.\n * См. PopoverBannedPositionsStory\n */\n\n useLayoutEffect(() => {\n if (previousDirectionRef.current !== direction) {\n if (\n previousDirectionRef.current &&\n !bannedDirections.includes(previousDirectionRef.current) &&\n !bannedDirections.includes(direction) &&\n direction !== spareDirection\n ) {\n setBannedDirections((state) =>\n previousDirectionRef.current\n ? [...state, previousDirectionRef.current]\n : state,\n );\n }\n previousDirectionRef.current = direction;\n }\n }, [direction]);\n\n // Сбрасываем при любом изменении пропсов, чтобы заново начать перебор направлений\n // Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор\n\n useLayoutEffect(resetBannedDirections, [props]);\n\n const renderPosition = getRenderPosition(\n viewportElement,\n position,\n !!viewportRef?.current,\n width,\n height,\n );\n\n const notVisible = !renderPosition || !height || !width;\n\n return (\n <PortalWithTheme\n {...otherProps}\n preset={theme}\n className={cnPopover({ direction, notVisible }, [className])}\n container={container}\n ref={useForkRef([ref, componentRef])}\n style={{\n ...style,\n ...(notVisible\n ? {}\n : {\n ['--popover-left' as string]: `${renderPosition.x}px`,\n ['--popover-top' as string]: `${renderPosition.y}px`,\n [`--popover-width` as string]: equalAnchorWidth\n ? `${anchorSize.width}px`\n : undefined,\n [`--popover-pointer-events` as string]: isInteractive\n ? undefined\n : 'none',\n [`--popover-visibility` as string]: position\n ? undefined\n : 'hidden',\n }),\n }}\n >\n <ContextConsumer\n onClickOutside={onClickOutside}\n ignoreClicksInsideRefs={[ref, anchorRef || { current: null }]}\n >\n {isRenderProp(children) ? children(direction) : children}\n </ContextConsumer>\n </PortalWithTheme>\n );\n },\n);\n"],"mappings":"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"}
1
+ {"version":3,"file":"Popover.js","names":["React","forwardRef","useEffect","useLayoutEffect","useMemo","PortalWithTheme","PortalWithThemeConsumer","useTheme","useComponentSize","useForkRef","cn","isRenderProp","isNumber","isString","getComputedPositionAndDirection","getPointPosition","getRenderPosition","usePopoverReposition","directionsStartCenter","directionsStartEdge","popoverPropOffset","directions","getOffset","ref","propOffset","current","cssVar","getComputedStyle","getPropertyValue","test","slice","length","fontSize","parseFloat","document","documentElement","rem","em","cnPopover","Popover","props","componentRef","children","direction","passedDirection","offset","arrowOffset","possibleDirections","isInteractive","onClickOutside","spareDirection","style","className","passedPosition","position","anchorRef","equalAnchorWidth","onSetDirection","viewportRef","container","window","body","otherProps","viewportElement","useRef","theme","useState","anchorClientRect","setAnchorClientRect","width","height","anchorSize","previousDirectionRef","bannedDirections","setBannedDirections","resetBannedDirections","state","updateAnchorClientRect","getBoundingClientRect","contentSize","viewportSize","clientWidth","clientHeight","x","left","y","top","isActive","scrollAnchorRef","onRequestReposition","includes","renderPosition","notVisible"],"sources":["../../../../../src/components/Popover/Popover.tsx"],"sourcesContent":["import './Popover.css';\n\nimport React, { forwardRef, useEffect, useLayoutEffect, useMemo } from 'react';\n\nimport {\n PortalWithTheme,\n PortalWithThemeConsumer,\n} from '##/components/PortalWithTheme';\nimport { useTheme } from '##/components/Theme/Theme';\nimport { ClickOutsideHandler } from '##/hooks/useClickOutside';\nimport { useComponentSize } from '##/hooks/useComponentSize';\nimport { useForkRef } from '##/hooks/useForkRef';\nimport { cn } from '##/utils/bem';\nimport { isRenderProp } from '##/utils/isRenderProp';\nimport { isNumber, isString } from '##/utils/type-guards';\nimport { PropsWithJsxAttributes } from '##/utils/types/PropsWithJsxAttributes';\n\nimport {\n getComputedPositionAndDirection,\n getPointPosition,\n getRenderPosition,\n} from './helpers';\nimport { usePopoverReposition } from './usePopoverReposition';\n\n/**\n * Стороны упорядочены по приоритету:\n * Используется первая сторона, в которую смог вписаться поповер.\n */\nexport const directionsStartCenter = [\n 'downCenter',\n 'upCenter',\n\n 'downRight',\n 'downLeft',\n 'upRight',\n 'upLeft',\n\n 'leftUp',\n 'leftCenter',\n 'leftDown',\n\n 'rightUp',\n 'rightCenter',\n 'rightDown',\n] as const;\n\nexport const directionsStartEdge = [\n 'downStartLeft',\n 'upStartLeft',\n\n 'downStartRight',\n 'upStartRight',\n\n 'leftStartUp',\n 'leftStartDown',\n\n 'rightStartUp',\n 'rightStartDown',\n] as const;\n\nexport const popoverPropOffset = [\n '3xs',\n '2xs',\n 'xs',\n 's',\n 'm',\n 'l',\n 'xl',\n '2xl',\n '3xl',\n '4xl',\n '5xl',\n '6xl',\n] as const;\nexport type PopoverPropOffset = typeof popoverPropOffset[number] | number;\n\nexport const directions = [...directionsStartCenter, ...directionsStartEdge];\n\nexport type Direction = typeof directions[number];\n\nexport type Position = { x: number; y: number } | undefined;\n\nexport type PositioningProps =\n | {\n anchorRef: React.RefObject<HTMLElement>;\n equalAnchorWidth?: boolean;\n position?: never;\n }\n | {\n anchorRef?: never;\n equalAnchorWidth?: never;\n position: Position;\n };\n\ntype ChildrenRenderProp = (direction: Direction) => React.ReactNode;\n\nexport type PopoverProps = PropsWithJsxAttributes<\n {\n direction?: Direction;\n spareDirection?: Direction;\n offset?: PopoverPropOffset;\n arrowOffset?: number;\n possibleDirections?: readonly Direction[];\n isInteractive?: boolean;\n children: React.ReactNode | ChildrenRenderProp;\n onClickOutside?: ClickOutsideHandler;\n onSetDirection?: (direction: Direction) => void;\n viewportRef?: React.RefObject<HTMLElement>;\n container?: Element;\n } & PositioningProps\n>;\n\nexport type Props = PopoverProps; // удалить при мажоре\n\nconst getOffset = (\n ref: React.RefObject<HTMLDivElement>,\n propOffset: PopoverPropOffset,\n) => {\n if (isNumber(propOffset)) {\n return propOffset;\n }\n\n if (isString(propOffset) && ref.current) {\n const cssVar = getComputedStyle(ref.current).getPropertyValue(\n `--space-${propOffset}`,\n );\n\n if (cssVar && /px$/.test(cssVar)) {\n return Number(cssVar.slice(0, cssVar.length - 2));\n }\n\n if (cssVar && /rem$/.test(cssVar)) {\n const fontSize = parseFloat(\n getComputedStyle(document.documentElement).fontSize,\n );\n const rem = Number(cssVar.slice(0, cssVar.length - 3));\n\n return fontSize * rem;\n }\n\n if (cssVar && /em$/.test(cssVar)) {\n const fontSize = parseFloat(getComputedStyle(ref.current).fontSize);\n const em = Number(cssVar.slice(0, cssVar.length - 2));\n\n return fontSize * em;\n }\n\n return 0;\n }\n\n return 0;\n};\n\nconst cnPopover = cn('Popover');\n\nexport const Popover = forwardRef<HTMLDivElement, PopoverProps>(\n (props, componentRef) => {\n const {\n children,\n direction: passedDirection = 'upCenter',\n offset: propOffset = 0,\n arrowOffset,\n possibleDirections = directions,\n isInteractive = true,\n onClickOutside,\n spareDirection = 'downStartLeft',\n style,\n className,\n position: passedPosition,\n anchorRef,\n equalAnchorWidth,\n onSetDirection,\n viewportRef,\n container = window.document.body,\n ...otherProps\n } = props;\n\n const viewportElement = viewportRef?.current || document.documentElement;\n\n const ref = React.useRef<HTMLDivElement>(null);\n const { theme } = useTheme();\n\n const [anchorClientRect, setAnchorClientRect] = React.useState<\n DOMRect | undefined\n >();\n const { width, height } = useComponentSize(ref);\n const anchorSize = useComponentSize(anchorRef || { current: null });\n const previousDirectionRef = React.useRef<Direction | null>(null);\n const [bannedDirections, setBannedDirections] = React.useState<\n readonly Direction[]\n >([]);\n\n const resetBannedDirections = () => {\n setBannedDirections((state) => (state.length ? [] : state));\n previousDirectionRef.current = null;\n };\n\n const updateAnchorClientRect = () =>\n setAnchorClientRect(anchorRef?.current?.getBoundingClientRect());\n\n const offset = useMemo(\n () => getOffset(ref, propOffset),\n [propOffset, Boolean(ref.current)],\n );\n\n const { position, direction } = getComputedPositionAndDirection({\n contentSize: { width, height },\n viewportSize: {\n // Размер вьюпорта без скроллбаров\n width: viewportElement.clientWidth,\n height: viewportElement.clientHeight,\n },\n arrowOffset,\n offset,\n direction: passedDirection,\n possibleDirections,\n bannedDirections,\n position: getPointPosition(\n viewportElement,\n anchorClientRect\n ? { x: anchorClientRect.left, y: anchorClientRect.top }\n : passedPosition,\n !!viewportRef?.current,\n ),\n anchorSize,\n spareDirection,\n });\n\n useEffect(() => onSetDirection?.(direction), [direction]);\n\n useEffect(updateAnchorClientRect, [anchorSize]);\n\n usePopoverReposition({\n isActive: true,\n scrollAnchorRef: anchorRef || { current: null },\n onRequestReposition: () => {\n resetBannedDirections();\n updateAnchorClientRect();\n },\n });\n\n /**\n * Может возникнуть ситуация, когда перерасчет поповера всегда будет выдавать 2 направления\n * и бесконечно зацикливать себя. Для избежания таких кейсов мы запоминаем стороны,\n * которые не подошли, чтобы не возвращаться к ним и предотвратить бесконечный ререндер.\n * См. PopoverBannedPositionsStory\n */\n\n useLayoutEffect(() => {\n if (previousDirectionRef.current !== direction) {\n if (\n previousDirectionRef.current &&\n !bannedDirections.includes(previousDirectionRef.current) &&\n !bannedDirections.includes(direction) &&\n direction !== spareDirection\n ) {\n setBannedDirections((state) =>\n previousDirectionRef.current\n ? [...state, previousDirectionRef.current]\n : state,\n );\n }\n previousDirectionRef.current = direction;\n }\n }, [direction]);\n\n // Сбрасываем при любом изменении пропсов, чтобы заново начать перебор направлений\n // Главное не сбрасывать при изменении размеров поповера, т.к. именно оно может вызвать бесконечный перебор\n\n useLayoutEffect(resetBannedDirections, [props]);\n\n const renderPosition = getRenderPosition(\n viewportElement,\n position,\n !!viewportRef?.current,\n width,\n height,\n );\n\n const notVisible = !renderPosition || !height || !width;\n\n return (\n <PortalWithTheme\n {...otherProps}\n preset={theme}\n className={cnPopover({ direction, notVisible }, [className])}\n container={container}\n ref={useForkRef([ref, componentRef])}\n style={{\n ...style,\n ...(notVisible\n ? {}\n : {\n ['--popover-left' as string]: `${renderPosition.x}px`,\n ['--popover-top' as string]: `${renderPosition.y}px`,\n [`--popover-width` as string]: equalAnchorWidth\n ? `${anchorSize.width}px`\n : undefined,\n [`--popover-pointer-events` as string]: isInteractive\n ? undefined\n : 'none',\n [`--popover-visibility` as string]: position\n ? undefined\n : 'hidden',\n }),\n }}\n >\n <PortalWithThemeConsumer\n onClickOutside={onClickOutside}\n ignoreClicksInsideRefs={[ref, anchorRef || { current: null }]}\n >\n {isRenderProp(children) ? children(direction) : children}\n </PortalWithThemeConsumer>\n </PortalWithTheme>\n );\n },\n);\n"],"mappings":"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"}
@@ -2,7 +2,7 @@ import React from 'react';
2
2
  import { usePortalContext } from './PortalWithThemeContext/PortalWithThemeContext';
3
3
  export { usePortalContext };
4
4
  export declare const PortalWithTheme: React.ForwardRefExoticComponent<{
5
- container?: Element;
5
+ container?: Element | React.RefObject<HTMLElement>;
6
6
  } & {
7
7
  preset: import("../Theme/Theme").ThemePreset;
8
8
  } & Omit<React.HTMLAttributes<HTMLDivElement>, "css" | "preset"> & React.RefAttributes<HTMLDivElement>>;
@@ -1,2 +1,2 @@
1
- import _defineProperty from"@babel/runtime/helpers/defineProperty";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["children","container","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 React,{useEffect,useRef}from"react";import ReactDOM from"react-dom";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{Theme}from"../Theme/Theme";import{PortalWithThemeProvider,usePortalContext}from"./PortalWithThemeContext/PortalWithThemeContext";export{usePortalContext};var getZIndex=function(a,b){return"number"==typeof b?b:a?a+1:void 0};export var PortalWithTheme=React.forwardRef(function(a,b){var c=a.children,d=a.container,e=void 0===d?window.document.body:d,f=a.style,g=_objectWithoutProperties(a,_excluded),h=usePortalContext(),i=h.addRefs,j=h.zIndex,k=useRef(null),l=getZIndex(j,null===f||void 0===f?void 0:f.zIndex),m=_objectSpread(_objectSpread({},f),{},{zIndex:l});return useEffect(function(){i&&i([k])},[k]),ReactDOM.createPortal(React.createElement(PortalWithThemeProvider,{zIndex:l},React.createElement(Theme,Object.assign({},g,{ref:useForkRef([k,b]),style:m}),c)),e)});
1
+ import _defineProperty from"@babel/runtime/helpers/defineProperty";import _slicedToArray from"@babel/runtime/helpers/slicedToArray";import _objectWithoutProperties from"@babel/runtime/helpers/objectWithoutProperties";var _excluded=["children","container","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 React,{useEffect,useRef,useState}from"react";import ReactDOM from"react-dom";import{useForkRef}from"../../hooks/useForkRef/useForkRef";import{Theme}from"../Theme/Theme";import{PortalWithThemeProvider,usePortalContext}from"./PortalWithThemeContext/PortalWithThemeContext";export{usePortalContext};var getZIndex=function(a,b){return"number"==typeof b?b:a?a+1:void 0},isRef=function(a){return!!a&&"current"in a&&a.current instanceof HTMLElement},getElement=function(a){return isRef(a)?a.current:a};export var PortalWithTheme=React.forwardRef(function(a,b){var c=a.children,d=a.container,e=void 0===d?window.document.body:d,f=a.style,g=_objectWithoutProperties(a,_excluded),h=usePortalContext(),i=h.addRefs,j=h.zIndex,k=useState(getElement(e)),l=_slicedToArray(k,2),m=l[0],n=l[1],o=useRef(null),p=getZIndex(j,null===f||void 0===f?void 0:f.zIndex),q=useForkRef([o,b]);return useEffect(function(){i&&i([o])},[o]),useEffect(function(){n(getElement(e))},[getElement(e)]),m?ReactDOM.createPortal(React.createElement(PortalWithThemeProvider,{zIndex:p},React.createElement(Theme,Object.assign({},g,{ref:q,style:_objectSpread(_objectSpread({},f),{},{zIndex:p})}),c)),m):null});
2
2
  //# sourceMappingURL=PortalWithTheme.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PortalWithTheme.js","names":["React","useEffect","useRef","ReactDOM","useForkRef","Theme","PortalWithThemeProvider","usePortalContext","getZIndex","contextZIndex","propZIndex","PortalWithTheme","forwardRef","ref","children","container","window","document","body","styleProp","style","rest","addRefs","zIndexContext","zIndex","themeRef","createPortal"],"sources":["../../../../../src/components/PortalWithTheme/PortalWithTheme.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { Theme, ThemeProps } from '../Theme/Theme';\nimport {\n PortalWithThemeProvider,\n usePortalContext,\n} from './PortalWithThemeContext/PortalWithThemeContext';\n\nexport { usePortalContext };\n\ntype Props = {\n container?: Element;\n} & ThemeProps;\n\nconst getZIndex = (contextZIndex?: number, propZIndex?: number | string) => {\n if (typeof propZIndex === 'number') {\n return propZIndex;\n }\n\n if (contextZIndex) {\n return contextZIndex + 1;\n }\n\n return undefined;\n};\n\nexport const PortalWithTheme = React.forwardRef<HTMLDivElement, Props>(\n (\n { children, container = window.document.body, style: styleProp, ...rest },\n ref,\n ) => {\n const { addRefs, zIndex: zIndexContext } = usePortalContext();\n\n const themeRef = useRef(null);\n\n const zIndex = getZIndex(zIndexContext, styleProp?.zIndex);\n\n const style = {\n ...styleProp,\n zIndex,\n };\n\n useEffect(() => {\n addRefs && addRefs([themeRef]);\n }, [themeRef]);\n\n return ReactDOM.createPortal(\n <PortalWithThemeProvider zIndex={zIndex}>\n <Theme {...rest} ref={useForkRef([themeRef, ref])} style={style}>\n {children}\n </Theme>\n </PortalWithThemeProvider>,\n container,\n );\n },\n);\n"],"mappings":"yyBAAA,MAAOA,MAAP,EAAgBC,SAAhB,CAA2BC,MAA3B,KAAyC,OAAzC,CACA,MAAOC,SAAP,KAAqB,WAArB,CAEA,OAASC,UAAT,yCACA,OAASC,KAAT,sBACA,OACEC,uBADF,CAEEC,gBAFF,uDAKA,OAASA,gBAAT,EAMA,GAAMC,UAAS,CAAG,SAACC,CAAD,CAAyBC,CAAzB,CAA0D,OAChD,QAAtB,QAAOA,EAD+D,CAEjEA,CAFiE,CAKtED,CALsE,CAMjEA,CAAa,CAAG,CANiD,OAU3E,CAVD,CAYA,MAAO,IAAME,gBAAe,CAAGX,KAAK,CAACY,UAAN,CAC7B,WAEEC,CAFF,CAGK,IAFDC,EAEC,GAFDA,QAEC,KAFSC,SAET,CAFSA,CAET,YAFqBC,MAAM,CAACC,QAAP,CAAgBC,IAErC,GAFkDC,CAElD,GAF2CC,KAE3C,CAFgEC,CAEhE,yCACwCd,gBAAgB,EADxD,CACKe,CADL,GACKA,OADL,CACsBC,CADtB,GACcC,MADd,CAGGC,CAAQ,CAAGvB,MAAM,CAAC,IAAD,CAHpB,CAKGsB,CAAM,CAAGhB,SAAS,CAACe,CAAD,QAAgBJ,CAAhB,WAAgBA,CAAhB,QAAgBA,CAAS,CAAEK,MAA3B,CALrB,CAOGJ,CAAK,gCACND,CADM,MAETK,MAAM,CAANA,CAFS,EAPR,CAgBH,MAJAvB,UAAS,CAAC,UAAM,CACdqB,CAAO,EAAIA,CAAO,CAAC,CAACG,CAAD,CAAD,CACnB,CAFQ,CAEN,CAACA,CAAD,CAFM,CAIT,CAAOtB,QAAQ,CAACuB,YAAT,CACL,oBAAC,uBAAD,EAAyB,MAAM,CAAEF,CAAjC,EACE,oBAAC,KAAD,kBAAWH,CAAX,EAAiB,GAAG,CAAEjB,UAAU,CAAC,CAACqB,CAAD,CAAWZ,CAAX,CAAD,CAAhC,CAAmD,KAAK,CAAEO,CAA1D,GACGN,CADH,CADF,CADK,CAMLC,CANK,CAQR,CA5B4B,CAAxB"}
1
+ {"version":3,"file":"PortalWithTheme.js","names":["React","useEffect","useRef","useState","ReactDOM","useForkRef","Theme","PortalWithThemeProvider","usePortalContext","getZIndex","contextZIndex","propZIndex","isRef","ref","current","HTMLElement","getElement","PortalWithTheme","forwardRef","children","container","window","document","body","styleProp","style","rest","addRefs","zIndexContext","zIndex","portalContainer","setPortalContainer","themeRef","themeRefForked","createPortal"],"sources":["../../../../../src/components/PortalWithTheme/PortalWithTheme.tsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\n\nimport { useForkRef } from '../../hooks/useForkRef/useForkRef';\nimport { Theme, ThemeProps } from '../Theme/Theme';\nimport {\n PortalWithThemeProvider,\n usePortalContext,\n} from './PortalWithThemeContext/PortalWithThemeContext';\n\nexport { usePortalContext };\n\ntype Props = {\n container?: Element | React.RefObject<HTMLElement>;\n} & ThemeProps;\n\nconst getZIndex = (contextZIndex?: number, propZIndex?: number | string) => {\n if (typeof propZIndex === 'number') {\n return propZIndex;\n }\n\n if (contextZIndex) {\n return contextZIndex + 1;\n }\n\n return undefined;\n};\n\nconst isRef = (\n ref: React.RefObject<HTMLElement> | Element | undefined,\n): ref is React.RefObject<HTMLElement> =>\n !!ref && 'current' in ref && ref.current instanceof HTMLElement;\n\nconst getElement = (ref: React.RefObject<HTMLElement> | Element) =>\n isRef(ref) ? ref.current : ref;\n\nexport const PortalWithTheme = React.forwardRef<HTMLDivElement, Props>(\n (\n { children, container = window.document.body, style: styleProp, ...rest },\n ref,\n ) => {\n const { addRefs, zIndex: zIndexContext } = usePortalContext();\n const [portalContainer, setPortalContainer] = useState<Element | null>(\n getElement(container),\n );\n\n const themeRef = useRef(null);\n\n const zIndex = getZIndex(zIndexContext, styleProp?.zIndex);\n\n const themeRefForked = useForkRef([themeRef, ref]);\n\n useEffect(() => {\n addRefs && addRefs([themeRef]);\n }, [themeRef]);\n\n useEffect(() => {\n setPortalContainer(getElement(container));\n }, [getElement(container)]);\n\n if (!portalContainer) {\n return null;\n }\n\n return ReactDOM.createPortal(\n <PortalWithThemeProvider zIndex={zIndex}>\n <Theme\n {...rest}\n ref={themeRefForked}\n style={{\n ...styleProp,\n zIndex,\n }}\n >\n {children}\n </Theme>\n </PortalWithThemeProvider>,\n portalContainer,\n );\n },\n);\n"],"mappings":"02BAAA,MAAOA,MAAP,EAAgBC,SAAhB,CAA2BC,MAA3B,CAAmCC,QAAnC,KAAmD,OAAnD,CACA,MAAOC,SAAP,KAAqB,WAArB,CAEA,OAASC,UAAT,yCACA,OAASC,KAAT,sBACA,OACEC,uBADF,CAEEC,gBAFF,uDAKA,OAASA,gBAAT,E,GAMMC,UAAS,CAAG,SAACC,CAAD,CAAyBC,CAAzB,CAA0D,OAChD,QAAtB,QAAOA,EAD+D,CAEjEA,CAFiE,CAKtED,CALsE,CAMjEA,CAAa,CAAG,CANiD,OAU3E,C,CAEKE,KAAK,CAAG,SACZC,CADY,QAGZ,CAAC,CAACA,CAAF,EAAS,WAAaA,EAAtB,EAA6BA,CAAG,CAACC,OAAJ,WAAuBC,YAHxC,C,CAKRC,UAAU,CAAG,SAACH,CAAD,QACjBD,MAAK,CAACC,CAAD,CAAL,CAAaA,CAAG,CAACC,OAAjB,CAA2BD,CADV,C,CAGnB,MAAO,IAAMI,gBAAe,CAAGjB,KAAK,CAACkB,UAAN,CAC7B,WAEEL,CAFF,CAGK,IAFDM,EAEC,GAFDA,QAEC,KAFSC,SAET,CAFSA,CAET,YAFqBC,MAAM,CAACC,QAAP,CAAgBC,IAErC,GAFkDC,CAElD,GAF2CC,KAE3C,CAFgEC,CAEhE,yCACwClB,gBAAgB,EADxD,CACKmB,CADL,GACKA,OADL,CACsBC,CADtB,GACcC,MADd,GAE2C1B,QAAQ,CACpDa,UAAU,CAACI,CAAD,CAD0C,CAFnD,uBAEIU,CAFJ,MAEqBC,CAFrB,MAMGC,CAAQ,CAAG9B,MAAM,CAAC,IAAD,CANpB,CAQG2B,CAAM,CAAGpB,SAAS,CAACmB,CAAD,QAAgBJ,CAAhB,WAAgBA,CAAhB,QAAgBA,CAAS,CAAEK,MAA3B,CARrB,CAUGI,CAAc,CAAG5B,UAAU,CAAC,CAAC2B,CAAD,CAAWnB,CAAX,CAAD,CAV9B,OAYHZ,UAAS,CAAC,UAAM,CACd0B,CAAO,EAAIA,CAAO,CAAC,CAACK,CAAD,CAAD,CACnB,CAFQ,CAEN,CAACA,CAAD,CAFM,CAZN,CAgBH/B,SAAS,CAAC,UAAM,CACd8B,CAAkB,CAACf,UAAU,CAACI,CAAD,CAAX,CACnB,CAFQ,CAEN,CAACJ,UAAU,CAACI,CAAD,CAAX,CAFM,CAhBN,CAoBEU,CApBF,CAwBI1B,QAAQ,CAAC8B,YAAT,CACL,oBAAC,uBAAD,EAAyB,MAAM,CAAEL,CAAjC,EACE,oBAAC,KAAD,kBACMH,CADN,EAEE,GAAG,CAAEO,CAFP,CAGE,KAAK,gCACAT,CADA,MAEHK,MAAM,CAANA,CAFG,EAHP,GAQGV,CARH,CADF,CADK,CAaLW,CAbK,CAxBJ,CAqBM,IAkBV,CA3C4B,CAAxB"}
@@ -0,0 +1,10 @@
1
+ /**
2
+ * Подписчик на PortalWithThemeProvider
3
+ * получает рефы всех вложенных порталов во всплывающем окне
4
+ * для дальнейшего исключения их из useClickOutside
5
+ */
6
+ export declare const PortalWithThemeConsumer: React.FC<{
7
+ onClickOutside?: (event: MouseEvent) => void;
8
+ ignoreClicksInsideRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;
9
+ children: React.ReactNode;
10
+ }>;
@@ -0,0 +1,2 @@
1
+ import _toConsumableArray from"@babel/runtime/helpers/toConsumableArray";import{useClickOutside}from"../../../hooks/useClickOutside";import{usePortalContext}from"../PortalWithTheme";export var PortalWithThemeConsumer=function(a){var b=a.onClickOutside,c=a.children,d=a.ignoreClicksInsideRefs,e=usePortalContext(),f=e.refs;return useClickOutside({isActive:!!b,ignoreClicksInsideRefs:[].concat(_toConsumableArray(d||[]),_toConsumableArray(f||[])),handler:b}),c};
2
+ //# sourceMappingURL=PortalWithThemeConsumer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PortalWithThemeConsumer.js","names":["useClickOutside","usePortalContext","PortalWithThemeConsumer","onClickOutside","children","ignoreClicksInsideRefs","refs","isActive","handler"],"sources":["../../../../../../src/components/PortalWithTheme/PortalWithThemeConsumer/PortalWithThemeConsumer.tsx"],"sourcesContent":["import { useClickOutside } from '##/hooks/useClickOutside';\n\nimport { usePortalContext } from '../PortalWithTheme';\n\n/**\n * Подписчик на PortalWithThemeProvider\n * получает рефы всех вложенных порталов во всплывающем окне\n * для дальнейшего исключения их из useClickOutside\n */\nexport const PortalWithThemeConsumer: React.FC<{\n onClickOutside?: (event: MouseEvent) => void;\n ignoreClicksInsideRefs?: ReadonlyArray<React.RefObject<HTMLElement>>;\n children: React.ReactNode;\n}> = ({ onClickOutside, children, ignoreClicksInsideRefs }) => {\n const { refs } = usePortalContext();\n\n useClickOutside({\n isActive: !!onClickOutside,\n ignoreClicksInsideRefs: [\n ...(ignoreClicksInsideRefs || []),\n ...(refs || []),\n ],\n handler: onClickOutside,\n });\n\n return children as React.ReactNode;\n};\n"],"mappings":"yEAAA,OAASA,eAAT,sCAEA,OAASC,gBAAT,0BAOA,MAAO,IAAMC,wBAIX,CAAG,WAA0D,IAAvDC,EAAuD,GAAvDA,cAAuD,CAAvCC,CAAuC,GAAvCA,QAAuC,CAA7BC,CAA6B,GAA7BA,sBAA6B,GAC5CJ,gBAAgB,EAD4B,CACrDK,CADqD,GACrDA,IADqD,CAY7D,MATAN,gBAAe,CAAC,CACdO,QAAQ,CAAE,CAAC,CAACJ,CADE,CAEdE,sBAAsB,8BAChBA,CAAsB,EAAI,EADV,qBAEhBC,CAAI,EAAI,EAFQ,EAFR,CAMdE,OAAO,CAAEL,CANK,CAAD,CASf,CAAOC,CACR,CAjBM"}
@@ -0,0 +1 @@
1
+ export * from './PortalWithThemeConsumer';
@@ -0,0 +1,2 @@
1
+ export*from"./PortalWithThemeConsumer";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../../src/components/PortalWithTheme/PortalWithThemeConsumer/index.ts"],"sourcesContent":["export * from './PortalWithThemeConsumer';\n"],"mappings":"AAAA"}
@@ -1 +1,2 @@
1
1
  export * from './PortalWithTheme';
2
+ export * from './PortalWithThemeConsumer';
@@ -1,2 +1,2 @@
1
- export*from"./PortalWithTheme";
1
+ export*from"./PortalWithTheme";export*from"./PortalWithThemeConsumer";
2
2
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/PortalWithTheme/index.ts"],"sourcesContent":["export * from './PortalWithTheme';\n"],"mappings":"AAAA"}
1
+ {"version":3,"file":"index.js","names":[],"sources":["../../../../../src/components/PortalWithTheme/index.ts"],"sourcesContent":["export * from './PortalWithTheme';\nexport * from './PortalWithThemeConsumer';\n"],"mappings":"AAAA,+BACA"}
@@ -9,15 +9,18 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
9
9
  suppressContentEditableWarning?: boolean | undefined | undefined;
10
10
  suppressHydrationWarning?: boolean | undefined | undefined;
11
11
  accessKey?: string | undefined | undefined;
12
+ autoCapitalize?: "off" | "none" | "on" | "sentences" | "words" | "characters" | undefined | (string & {}) | undefined;
13
+ autoFocus?: boolean | undefined | undefined;
12
14
  className?: string | undefined | undefined;
13
- contentEditable?: (boolean | "true" | "false") | "inherit" | undefined;
15
+ contentEditable?: (boolean | "true" | "false") | "inherit" | "plaintext-only" | undefined;
14
16
  contextMenu?: string | undefined | undefined;
15
17
  dir?: string | undefined | undefined;
16
18
  draggable?: (boolean | "true" | "false") | undefined;
19
+ enterKeyHint?: "enter" | "done" | "go" | "next" | "previous" | "search" | "send" | undefined | undefined;
17
20
  hidden?: boolean | undefined | undefined;
18
21
  id?: string | undefined | undefined;
19
22
  lang?: string | undefined | undefined;
20
- placeholder?: string | undefined | undefined;
23
+ nonce?: string | undefined | undefined;
21
24
  slot?: string | undefined | undefined;
22
25
  spellCheck?: (boolean | "true" | "false") | undefined;
23
26
  style?: import("react").CSSProperties | undefined;
@@ -27,14 +30,16 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
27
30
  radioGroup?: string | undefined | undefined;
28
31
  role?: import("react").AriaRole | undefined;
29
32
  about?: string | undefined | undefined;
33
+ content?: string | undefined | undefined;
30
34
  datatype?: string | undefined | undefined;
31
35
  inlist?: any;
32
36
  prefix?: string | undefined | undefined;
33
37
  property?: string | undefined | undefined;
38
+ rel?: string | undefined | undefined;
34
39
  resource?: string | undefined | undefined;
40
+ rev?: string | undefined | undefined;
35
41
  typeof?: string | undefined | undefined;
36
42
  vocab?: string | undefined | undefined;
37
- autoCapitalize?: string | undefined | undefined;
38
43
  autoCorrect?: string | undefined | undefined;
39
44
  autoSave?: string | undefined | undefined;
40
45
  color?: string | undefined | undefined;
@@ -48,57 +53,64 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
48
53
  unselectable?: "on" | "off" | undefined | undefined;
49
54
  inputMode?: "none" | "text" | "tel" | "url" | "email" | "numeric" | "decimal" | "search" | undefined | undefined;
50
55
  is?: string | undefined | undefined;
51
- 'aria-activedescendant'?: string | undefined | undefined;
52
- 'aria-atomic'?: (boolean | "true" | "false") | undefined;
53
- 'aria-autocomplete'?: "none" | "inline" | "list" | "both" | undefined | undefined;
54
- 'aria-busy'?: (boolean | "true" | "false") | undefined;
55
- 'aria-checked'?: boolean | "false" | "mixed" | "true" | undefined | undefined;
56
- 'aria-colcount'?: number | undefined | undefined;
57
- 'aria-colindex'?: number | undefined | undefined;
58
- 'aria-colspan'?: number | undefined | undefined;
59
- 'aria-controls'?: string | undefined | undefined;
60
- 'aria-current'?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
61
- 'aria-describedby'?: string | undefined | undefined;
62
- 'aria-details'?: string | undefined | undefined;
63
- 'aria-disabled'?: (boolean | "true" | "false") | undefined;
64
- 'aria-dropeffect'?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
65
- 'aria-errormessage'?: string | undefined | undefined;
66
- 'aria-expanded'?: (boolean | "true" | "false") | undefined;
67
- 'aria-flowto'?: string | undefined | undefined;
68
- 'aria-grabbed'?: (boolean | "true" | "false") | undefined;
69
- 'aria-haspopup'?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
70
- 'aria-hidden'?: (boolean | "true" | "false") | undefined;
71
- 'aria-invalid'?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
72
- 'aria-keyshortcuts'?: string | undefined | undefined;
73
- 'aria-label'?: string | undefined | undefined;
74
- 'aria-labelledby'?: string | undefined | undefined;
75
- 'aria-level'?: number | undefined | undefined;
76
- 'aria-live'?: "off" | "assertive" | "polite" | undefined | undefined;
77
- 'aria-modal'?: (boolean | "true" | "false") | undefined;
78
- 'aria-multiline'?: (boolean | "true" | "false") | undefined;
79
- 'aria-multiselectable'?: (boolean | "true" | "false") | undefined;
80
- 'aria-orientation'?: "horizontal" | "vertical" | undefined | undefined;
81
- 'aria-owns'?: string | undefined | undefined;
82
- 'aria-placeholder'?: string | undefined | undefined;
83
- 'aria-posinset'?: number | undefined | undefined;
84
- 'aria-pressed'?: boolean | "false" | "mixed" | "true" | undefined | undefined;
85
- 'aria-readonly'?: (boolean | "true" | "false") | undefined;
86
- 'aria-relevant'?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
87
- 'aria-required'?: (boolean | "true" | "false") | undefined;
88
- 'aria-roledescription'?: string | undefined | undefined;
89
- 'aria-rowcount'?: number | undefined | undefined;
90
- 'aria-rowindex'?: number | undefined | undefined;
91
- 'aria-rowspan'?: number | undefined | undefined;
92
- 'aria-selected'?: (boolean | "true" | "false") | undefined;
93
- 'aria-setsize'?: number | undefined | undefined;
94
- 'aria-sort'?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
95
- 'aria-valuemax'?: number | undefined | undefined;
96
- 'aria-valuemin'?: number | undefined | undefined;
97
- 'aria-valuenow'?: number | undefined | undefined;
98
- 'aria-valuetext'?: string | undefined | undefined;
56
+ exportparts?: string | undefined | undefined;
57
+ part?: string | undefined | undefined;
58
+ "aria-activedescendant"?: string | undefined | undefined;
59
+ "aria-atomic"?: (boolean | "true" | "false") | undefined;
60
+ "aria-autocomplete"?: "none" | "inline" | "list" | "both" | undefined | undefined;
61
+ "aria-braillelabel"?: string | undefined | undefined;
62
+ "aria-brailleroledescription"?: string | undefined | undefined;
63
+ "aria-busy"?: (boolean | "true" | "false") | undefined;
64
+ "aria-checked"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
65
+ "aria-colcount"?: number | undefined | undefined;
66
+ "aria-colindex"?: number | undefined | undefined;
67
+ "aria-colindextext"?: string | undefined | undefined;
68
+ "aria-colspan"?: number | undefined | undefined;
69
+ "aria-controls"?: string | undefined | undefined;
70
+ "aria-current"?: boolean | "false" | "true" | "page" | "step" | "location" | "date" | "time" | undefined | undefined;
71
+ "aria-describedby"?: string | undefined | undefined;
72
+ "aria-description"?: string | undefined | undefined;
73
+ "aria-details"?: string | undefined | undefined;
74
+ "aria-disabled"?: (boolean | "true" | "false") | undefined;
75
+ "aria-dropeffect"?: "none" | "copy" | "execute" | "link" | "move" | "popup" | undefined | undefined;
76
+ "aria-errormessage"?: string | undefined | undefined;
77
+ "aria-expanded"?: (boolean | "true" | "false") | undefined;
78
+ "aria-flowto"?: string | undefined | undefined;
79
+ "aria-grabbed"?: (boolean | "true" | "false") | undefined;
80
+ "aria-haspopup"?: boolean | "false" | "true" | "menu" | "listbox" | "tree" | "grid" | "dialog" | undefined | undefined;
81
+ "aria-hidden"?: (boolean | "true" | "false") | undefined;
82
+ "aria-invalid"?: boolean | "false" | "true" | "grammar" | "spelling" | undefined | undefined;
83
+ "aria-keyshortcuts"?: string | undefined | undefined;
84
+ "aria-label"?: string | undefined | undefined;
85
+ "aria-labelledby"?: string | undefined | undefined;
86
+ "aria-level"?: number | undefined | undefined;
87
+ "aria-live"?: "off" | "assertive" | "polite" | undefined | undefined;
88
+ "aria-modal"?: (boolean | "true" | "false") | undefined;
89
+ "aria-multiline"?: (boolean | "true" | "false") | undefined;
90
+ "aria-multiselectable"?: (boolean | "true" | "false") | undefined;
91
+ "aria-orientation"?: "horizontal" | "vertical" | undefined | undefined;
92
+ "aria-owns"?: string | undefined | undefined;
93
+ "aria-placeholder"?: string | undefined | undefined;
94
+ "aria-posinset"?: number | undefined | undefined;
95
+ "aria-pressed"?: boolean | "false" | "mixed" | "true" | undefined | undefined;
96
+ "aria-readonly"?: (boolean | "true" | "false") | undefined;
97
+ "aria-relevant"?: "additions" | "additions removals" | "additions text" | "all" | "removals" | "removals additions" | "removals text" | "text" | "text additions" | "text removals" | undefined | undefined;
98
+ "aria-required"?: (boolean | "true" | "false") | undefined;
99
+ "aria-roledescription"?: string | undefined | undefined;
100
+ "aria-rowcount"?: number | undefined | undefined;
101
+ "aria-rowindex"?: number | undefined | undefined;
102
+ "aria-rowindextext"?: string | undefined | undefined;
103
+ "aria-rowspan"?: number | undefined | undefined;
104
+ "aria-selected"?: (boolean | "true" | "false") | undefined;
105
+ "aria-setsize"?: number | undefined | undefined;
106
+ "aria-sort"?: "none" | "ascending" | "descending" | "other" | undefined | undefined;
107
+ "aria-valuemax"?: number | undefined | undefined;
108
+ "aria-valuemin"?: number | undefined | undefined;
109
+ "aria-valuenow"?: number | undefined | undefined;
110
+ "aria-valuetext"?: string | undefined | undefined;
99
111
  children?: import("react").ReactNode;
100
112
  dangerouslySetInnerHTML?: {
101
- __html: string;
113
+ __html: string | TrustedHTML;
102
114
  } | undefined | undefined;
103
115
  onCopy?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
104
116
  onCopyCapture?: import("react").ClipboardEventHandler<HTMLDivElement> | undefined;
@@ -118,7 +130,7 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
118
130
  onBlurCapture?: import("react").FocusEventHandler<HTMLDivElement> | undefined;
119
131
  onChange?: import("react").FormEventHandler<HTMLDivElement> | undefined;
120
132
  onChangeCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
121
- onBeforeInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
133
+ onBeforeInput?: import("react").InputEventHandler<HTMLDivElement> | undefined;
122
134
  onBeforeInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
123
135
  onInput?: import("react").FormEventHandler<HTMLDivElement> | undefined;
124
136
  onInputCapture?: import("react").FormEventHandler<HTMLDivElement> | undefined;
@@ -237,9 +249,7 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
237
249
  onPointerCancel?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
238
250
  onPointerCancelCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
239
251
  onPointerEnter?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
240
- onPointerEnterCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
241
252
  onPointerLeave?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
242
- onPointerLeaveCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
243
253
  onPointerOver?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
244
254
  onPointerOverCapture?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
245
255
  onPointerOut?: import("react").PointerEventHandler<HTMLDivElement> | undefined;
@@ -260,7 +270,7 @@ export declare function withDefaultGetters<ITEM>(props: ProgressLineProps<ITEM>)
260
270
  onAnimationIterationCapture?: import("react").AnimationEventHandler<HTMLDivElement> | undefined;
261
271
  onTransitionEnd?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
262
272
  onTransitionEndCapture?: import("react").TransitionEventHandler<HTMLDivElement> | undefined;
263
- ref?: import("react").Ref<HTMLDivElement> | undefined;
273
+ ref?: import("react").LegacyRef<HTMLDivElement> | undefined;
264
274
  key?: import("react").Key | null | undefined;
265
275
  };
266
276
  export declare const getProgress: (progress: number) => number;
@@ -13,4 +13,4 @@ export type ProgressLineProps<ITEM = ProgressLineItemDefault> = PropsWithHTMLAtt
13
13
  steps?: ITEM[];
14
14
  getItemLabel?: ProgressLinePropGetItemLabel<ITEM>;
15
15
  }, HTMLDivElement>;
16
- export type ProgressLineComponent = <ITEM>(props: ProgressLineProps<ITEM>) => React.ReactElement | null;
16
+ export type ProgressLineComponent = <ITEM>(props: ProgressLineProps<ITEM>) => React.ReactNode | null;
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":["progressLinePropSize","defaultProgressLinePropSize"],"sources":["../../../../../src/components/ProgressLine/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressLinePropSize = ['m', 's'] as const;\nexport type ProgressLinePropSize = typeof progressLinePropSize[number];\nexport const defaultProgressLinePropSize = progressLinePropSize[0];\n\nexport type ProgressLineItemDefault = {\n label?: string;\n};\n\nexport type ProgressLinePropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\n\nexport type ProgressLineProps<ITEM = ProgressLineItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n size?: ProgressLinePropSize;\n value?: number;\n steps?: ITEM[];\n getItemLabel?: ProgressLinePropGetItemLabel<ITEM>;\n },\n HTMLDivElement\n >;\n\nexport type ProgressLineComponent = <ITEM>(\n props: ProgressLineProps<ITEM>,\n) => React.ReactElement | null;\n"],"mappings":"AAIA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA7B,CAEP,MAAO,IAAMC,4BAA2B,CAAGD,oBAAoB,CAAC,CAAD,CAAxD"}
1
+ {"version":3,"file":"types.js","names":["progressLinePropSize","defaultProgressLinePropSize"],"sources":["../../../../../src/components/ProgressLine/types.ts"],"sourcesContent":["import React from 'react';\n\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressLinePropSize = ['m', 's'] as const;\nexport type ProgressLinePropSize = typeof progressLinePropSize[number];\nexport const defaultProgressLinePropSize = progressLinePropSize[0];\n\nexport type ProgressLineItemDefault = {\n label?: string;\n};\n\nexport type ProgressLinePropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\n\nexport type ProgressLineProps<ITEM = ProgressLineItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n size?: ProgressLinePropSize;\n value?: number;\n steps?: ITEM[];\n getItemLabel?: ProgressLinePropGetItemLabel<ITEM>;\n },\n HTMLDivElement\n >;\n\nexport type ProgressLineComponent = <ITEM>(\n props: ProgressLineProps<ITEM>,\n) => React.ReactNode | null;\n"],"mappings":"AAIA,MAAO,IAAMA,qBAAoB,CAAG,CAAC,GAAD,CAAM,GAAN,CAA7B,CAEP,MAAO,IAAMC,4BAA2B,CAAGD,oBAAoB,CAAC,CAAD,CAAxD"}
@@ -6,5 +6,5 @@ type ProgressStepBarLineProps = {
6
6
  direction: ProgressStepBarPropDirection;
7
7
  activeStepIndex?: number;
8
8
  };
9
- export declare const ProgressStepBarLine: (props: ProgressStepBarLineProps) => JSX.Element;
9
+ export declare const ProgressStepBarLine: (props: ProgressStepBarLineProps) => import("react/jsx-runtime").JSX.Element;
10
10
  export {};
@@ -85,8 +85,8 @@ export declare const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<
85
85
  export declare const defaultGetItemContent: ProgressStepBarPropGetItemContent<ProgressStepBarItemDefault>;
86
86
  export declare const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<ProgressStepBarItemDefault>;
87
87
  export declare const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<ProgressStepBarItemDefault>;
88
- export type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(props: ProgressStepBarProps<ITEM>) => React.ReactElement | null;
89
- export type ProgressStepBarItemComponent = (props: PropsWithHTMLAttributesAndRef<ProgressStepBarItemProps, HTMLDivElement>) => React.ReactElement | null;
88
+ export type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(props: ProgressStepBarProps<ITEM>) => React.ReactNode | null;
89
+ export type ProgressStepBarItemComponent = (props: PropsWithHTMLAttributesAndRef<ProgressStepBarItemProps, HTMLDivElement>) => React.ReactNode | null;
90
90
  export declare function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>): {
91
91
  steps: ITEM[];
92
92
  direction?: ProgressStepBarPropDirection;
@@ -115,7 +115,7 @@ export declare function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITE
115
115
  getItemLineStatus: ProgressStepBarPropGetItemLineStatus<ProgressStepBarItemDefault> | ProgressStepBarPropGetItemLineStatus<ITEM>;
116
116
  getItemOnClick: ProgressStepBarPropGetItemOnClick<ProgressStepBarItemDefault> | ProgressStepBarPropGetItemOnClick<ITEM>;
117
117
  };
118
- export declare const getItemPosition: (index: number, length: number) => "start" | "center" | "end";
118
+ export declare const getItemPosition: (index: number, length: number) => "center" | "start" | "end";
119
119
  export declare const getLineSize: (container: React.RefObject<HTMLElement>, activeElement: React.RefObject<HTMLElement>, direction: ProgressStepBarPropDirection) => number;
120
120
  export declare const calculateLines: (refs: React.RefObject<HTMLElement>[], direction: ProgressStepBarPropDirection) => number[];
121
121
  export declare const validateVisibleIndex: (length: number, index: number | undefined) => number | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","length","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x","getRefSize","ref","width","calculateLines","refs","sizes","i","firstSize","secondSize","push","validateVisibleIndex","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactElement | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactElement | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, length: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === length - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: ProgressStepBarPropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n for (let i = 0; i < refs.length - 1; i++) {\n const ref = refs[i];\n const firstSize = getRefSize(ref);\n const secondSize = getRefSize(refs[i + 1]);\n let size = 0;\n if (i === 0) {\n size =\n direction === 'horizontal'\n ? firstSize[0] + secondSize[0] / 2\n : firstSize[1];\n } else if (i === refs.length - 2) {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0]\n : firstSize[1] + 2;\n } else {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0] / 2\n : firstSize[1];\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n length: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, length - 1);\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","names":["cn","progressStepBarPropSize","progressStepBarPropSizeDefault","progressStepBarPropDirection","progressStepBarPropDirectionDefault","progressStepBarPropStatus","progressStepBarPropStatusDefault","progressStepBarPointNumbersMap","progressStepBarPropPosition","progressStepBarPropPositionDefault","cnProgressStepBar","defaultGetItemLabel","item","label","defaultGetItemTooltipContent","tooltipContent","defaultGetItemPoint","point","defaultGetItemLineStatus","lineStatus","defaultGetItemProgress","progress","defaultGetItemContent","content","defaultGetItemStatus","status","defaultGetItemOnClick","onClick","withDefaultGetters","props","getItemLabel","getItemTooltipContent","getItemPoint","getItemProgress","getItemContent","getItemStatus","getItemLineStatus","getItemOnClick","getItemPosition","index","length","position","getLineSize","container","activeElement","direction","size","current","containerPosition","getBoundingClientRect","activeElementPosition","y","height","x","getRefSize","ref","width","calculateLines","refs","sizes","i","firstSize","secondSize","push","validateVisibleIndex","Math","min"],"sources":["../../../../../src/components/ProgressStepBar/helpers.ts"],"sourcesContent":["import { IconComponent } from '@consta/icons/Icon';\nimport React from 'react';\n\nimport { cn } from '../../utils/bem';\nimport { PropsWithHTMLAttributesAndRef } from '../../utils/types/PropsWithHTMLAttributes';\n\nexport const progressStepBarPropSize = ['s', 'xs', 'm'] as const;\nexport type ProgressStepBarPropSize = typeof progressStepBarPropSize[number];\nexport const progressStepBarPropSizeDefault = progressStepBarPropSize[0];\n\nexport const progressStepBarPropDirection = ['horizontal', 'vertical'] as const;\nexport type ProgressStepBarPropDirection =\n typeof progressStepBarPropDirection[number];\nexport const progressStepBarPropDirectionDefault =\n progressStepBarPropDirection[0];\n\nexport const progressStepBarPropStatus = [\n 'normal',\n 'success',\n 'warning',\n 'alert',\n] as const;\nexport type ProgressStepBarPropStatus =\n typeof progressStepBarPropStatus[number];\nexport const progressStepBarPropStatusDefault = progressStepBarPropStatus[0];\n\nexport const progressStepBarPointNumbersMap = [\n 0, 1, 2, 3, 4, 5, 6, 7, 8, 9,\n] as const;\nexport type ProgressStepBarPointNumbersMap =\n typeof progressStepBarPointNumbersMap[number];\n\nexport const progressStepBarPropPosition = ['center', 'start', 'end'] as const;\nexport type ProgressStepBarPropPosition =\n typeof progressStepBarPropPosition[number];\nexport const progressStepBarPropPositionDefault: ProgressStepBarPropPosition =\n progressStepBarPropPosition[0];\n\nexport type ProgressStepBarPropGetItemLabel<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemKey<ITEM> = (\n item: ITEM,\n) => string | number;\nexport type ProgressStepBarPropGetItemTooltipContent<ITEM> = (\n item: ITEM,\n) => string | undefined;\nexport type ProgressStepBarPropGetItemLineStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemPoint<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPointNumbersMap | IconComponent | undefined;\nexport type ProgressStepBarPropGetItemProgress<ITEM> = (\n item: ITEM,\n) => boolean | undefined;\nexport type ProgressStepBarPropGetItemContent<ITEM> = (\n item: ITEM,\n) => React.ReactNode | undefined;\nexport type ProgressStepBarPropGetItemStatus<ITEM> = (\n item: ITEM,\n) => ProgressStepBarPropStatus | undefined;\nexport type ProgressStepBarPropGetItemOnClick<ITEM> = (\n item: ITEM,\n) => React.EventHandler<React.MouseEvent> | undefined;\n\nexport type ProgressStepBarItemDefault = {\n label?: string;\n tooltipContent?: string;\n lineStatus?: ProgressStepBarPropStatus;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n status?: ProgressStepBarPropStatus;\n progress?: boolean;\n content?: React.ReactNode;\n onClick?: React.EventHandler<React.MouseEvent>;\n};\n\nexport type Line = {\n status: ProgressStepBarPropStatus;\n size: number;\n};\n\nexport type ProgressStepBarPropOnItemClick<ITEM> = (\n item: ITEM,\n props: {\n e: React.MouseEvent;\n index: number;\n },\n) => void;\n\nexport type ProgressStepBarProps<ITEM = ProgressStepBarItemDefault> =\n PropsWithHTMLAttributesAndRef<\n {\n steps: ITEM[];\n direction?: ProgressStepBarPropDirection;\n size?: ProgressStepBarPropSize;\n activeStepIndex?: number;\n onItemClick?: ProgressStepBarPropOnItemClick<ITEM>;\n getItemLabel?: ProgressStepBarPropGetItemLabel<ITEM>;\n getItemLineStatus?: ProgressStepBarPropGetItemLineStatus<ITEM>;\n getItemTooltipContent?: ProgressStepBarPropGetItemTooltipContent<ITEM>;\n getItemPoint?: ProgressStepBarPropGetItemPoint<ITEM>;\n getItemProgress?: ProgressStepBarPropGetItemProgress<ITEM>;\n getItemContent?: ProgressStepBarPropGetItemContent<ITEM>;\n getItemStatus?: ProgressStepBarPropGetItemStatus<ITEM>;\n getItemOnClick?: ProgressStepBarPropGetItemOnClick<ITEM>;\n },\n HTMLDivElement\n > &\n (ITEM extends { label: ProgressStepBarItemDefault['label'] }\n ? {}\n : { getItemLabel: ProgressStepBarPropGetItemLabel<ITEM> });\n\nexport type ProgressStepBarItemProps = {\n content?: React.ReactNode;\n label?: string;\n point?: ProgressStepBarPointNumbersMap | IconComponent;\n progress?: boolean;\n status?: ProgressStepBarPropStatus | 'system';\n tooltipContent?: string;\n tooltipZIndex?: number;\n position?: ProgressStepBarPropPosition;\n direction: ProgressStepBarPropDirection;\n size: ProgressStepBarPropSize;\n onClick?: (e: React.MouseEvent) => void;\n pointRef?: React.RefObject<HTMLButtonElement>;\n className?: string;\n};\n\nexport const cnProgressStepBar = cn('ProgressStepBar');\n\nexport const defaultGetItemLabel: ProgressStepBarPropGetItemLabel<\n ProgressStepBarItemDefault\n> = (item) => item.label;\nexport const defaultGetItemTooltipContent: ProgressStepBarPropGetItemTooltipContent<\n ProgressStepBarItemDefault\n> = (item) => item.tooltipContent;\nexport const defaultGetItemPoint: ProgressStepBarPropGetItemPoint<\n ProgressStepBarItemDefault\n> = (item) => item.point;\nexport const defaultGetItemLineStatus: ProgressStepBarPropGetItemLineStatus<\n ProgressStepBarItemDefault\n> = (item) => item.lineStatus;\nexport const defaultGetItemProgress: ProgressStepBarPropGetItemProgress<\n ProgressStepBarItemDefault\n> = (item) => item.progress;\nexport const defaultGetItemContent: ProgressStepBarPropGetItemContent<\n ProgressStepBarItemDefault\n> = (item) => item.content;\nexport const defaultGetItemStatus: ProgressStepBarPropGetItemStatus<\n ProgressStepBarItemDefault\n> = (item) => item.status;\nexport const defaultGetItemOnClick: ProgressStepBarPropGetItemOnClick<\n ProgressStepBarItemDefault\n> = (item) => item.onClick;\n\nexport type ProgressStepBarComponent = <ITEM = ProgressStepBarItemDefault>(\n props: ProgressStepBarProps<ITEM>,\n) => React.ReactNode | null;\n\nexport type ProgressStepBarItemComponent = (\n props: PropsWithHTMLAttributesAndRef<\n ProgressStepBarItemProps,\n HTMLDivElement\n >,\n) => React.ReactNode | null;\n\nexport function withDefaultGetters<ITEM>(props: ProgressStepBarProps<ITEM>) {\n return {\n ...props,\n getItemLabel: props.getItemLabel || defaultGetItemLabel,\n getItemTooltipContent:\n props.getItemTooltipContent || defaultGetItemTooltipContent,\n getItemPoint: props.getItemPoint || defaultGetItemPoint,\n getItemProgress: props.getItemProgress || defaultGetItemProgress,\n getItemContent: props.getItemContent || defaultGetItemContent,\n getItemStatus: props.getItemStatus || defaultGetItemStatus,\n getItemLineStatus: props.getItemLineStatus || defaultGetItemLineStatus,\n getItemOnClick: props.getItemOnClick || defaultGetItemOnClick,\n };\n}\n\nexport const getItemPosition = (index: number, length: number) => {\n let position: ProgressStepBarPropPosition = 'center';\n if (index === length - 1) position = 'end';\n if (index === 0) position = 'start';\n\n return position;\n};\n\nexport const getLineSize: (\n container: React.RefObject<HTMLElement>,\n activeElement: React.RefObject<HTMLElement>,\n direction: ProgressStepBarPropDirection,\n) => number = (container, activeElement, direction) => {\n let size = 0;\n if (\n container &&\n container.current &&\n activeElement &&\n activeElement.current\n ) {\n const containerPosition = container.current.getBoundingClientRect();\n const activeElementPosition = activeElement.current.getBoundingClientRect();\n if (direction === 'vertical')\n size =\n activeElementPosition.y -\n containerPosition.y +\n activeElementPosition.height;\n else size = activeElementPosition.x - containerPosition.x;\n }\n return size;\n};\n\nconst getRefSize = (ref: React.RefObject<HTMLElement>) => {\n if (ref.current) {\n const { width, height } = ref.current.getBoundingClientRect();\n return [width, height];\n }\n return [0, 0];\n};\n\nexport const calculateLines = (\n refs: React.RefObject<HTMLElement>[],\n direction: ProgressStepBarPropDirection,\n) => {\n const sizes: number[] = [];\n for (let i = 0; i < refs.length - 1; i++) {\n const ref = refs[i];\n const firstSize = getRefSize(ref);\n const secondSize = getRefSize(refs[i + 1]);\n let size = 0;\n if (i === 0) {\n size =\n direction === 'horizontal'\n ? firstSize[0] + secondSize[0] / 2\n : firstSize[1];\n } else if (i === refs.length - 2) {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0]\n : firstSize[1] + 2;\n } else {\n size =\n direction === 'horizontal'\n ? firstSize[0] / 2 + secondSize[0] / 2\n : firstSize[1];\n }\n sizes.push(size);\n }\n\n return sizes;\n};\n\nexport const validateVisibleIndex = (\n length: number,\n index: number | undefined,\n) => {\n if (!index) {\n return index;\n }\n\n if (index < 0) {\n return undefined;\n }\n\n return Math.min(index, length - 1);\n};\n"],"mappings":"qqBAGA,OAASA,EAAT,uBAGA,MAAO,IAAMC,wBAAuB,CAAG,CAAC,GAAD,CAAM,IAAN,CAAY,GAAZ,CAAhC,CAEP,MAAO,IAAMC,+BAA8B,CAAGD,uBAAuB,CAAC,CAAD,CAA9D,CAEP,MAAO,IAAME,6BAA4B,CAAG,CAAC,YAAD,CAAe,UAAf,CAArC,CAGP,MAAO,IAAMC,oCAAmC,CAC9CD,4BAA4B,CAAC,CAAD,CADvB,CAGP,MAAO,IAAME,0BAAyB,CAAG,CACvC,QADuC,CAEvC,SAFuC,CAGvC,SAHuC,CAIvC,OAJuC,CAAlC,CAQP,MAAO,IAAMC,iCAAgC,CAAGD,yBAAyB,CAAC,CAAD,CAAlE,CAEP,MAAO,IAAME,+BAA8B,CAAG,CAC5C,CAD4C,CACzC,CADyC,CACtC,CADsC,CACnC,CADmC,CAChC,CADgC,CAC7B,CAD6B,CAC1B,CAD0B,CACvB,CADuB,CACpB,CADoB,CACjB,CADiB,CAAvC,CAMP,MAAO,IAAMC,4BAA2B,CAAG,CAAC,QAAD,CAAW,OAAX,CAAoB,KAApB,CAApC,CAGP,MAAO,IAAMC,mCAA+D,CAC1ED,2BAA2B,CAAC,CAAD,CADtB,CA8FP,MAAO,IAAME,kBAAiB,CAAGV,EAAE,CAAC,iBAAD,CAA5B,CAEP,MAAO,IAAMW,oBAEZ,CAAG,SAACC,CAAD,QAAUA,EAAI,CAACC,KAAf,CAFG,CAGP,MAAO,IAAMC,6BAEZ,CAAG,SAACF,CAAD,QAAUA,EAAI,CAACG,cAAf,CAFG,CAGP,MAAO,IAAMC,oBAEZ,CAAG,SAACJ,CAAD,QAAUA,EAAI,CAACK,KAAf,CAFG,CAGP,MAAO,IAAMC,yBAEZ,CAAG,SAACN,CAAD,QAAUA,EAAI,CAACO,UAAf,CAFG,CAGP,MAAO,IAAMC,uBAEZ,CAAG,SAACR,CAAD,QAAUA,EAAI,CAACS,QAAf,CAFG,CAGP,MAAO,IAAMC,sBAEZ,CAAG,SAACV,CAAD,QAAUA,EAAI,CAACW,OAAf,CAFG,CAGP,MAAO,IAAMC,qBAEZ,CAAG,SAACZ,CAAD,QAAUA,EAAI,CAACa,MAAf,CAFG,CAGP,MAAO,IAAMC,sBAEZ,CAAG,SAACd,CAAD,QAAUA,EAAI,CAACe,OAAf,CAFG,CAeP,MAAO,SAASC,mBAAT,CAAkCC,CAAlC,CAAqE,CAC1E,sCACKA,CADL,MAEEC,YAAY,CAAED,CAAK,CAACC,YAAN,EAAsBnB,mBAFtC,CAGEoB,qBAAqB,CACnBF,CAAK,CAACE,qBAAN,EAA+BjB,4BAJnC,CAKEkB,YAAY,CAAEH,CAAK,CAACG,YAAN,EAAsBhB,mBALtC,CAMEiB,eAAe,CAAEJ,CAAK,CAACI,eAAN,EAAyBb,sBAN5C,CAOEc,cAAc,CAAEL,CAAK,CAACK,cAAN,EAAwBZ,qBAP1C,CAQEa,aAAa,CAAEN,CAAK,CAACM,aAAN,EAAuBX,oBARxC,CASEY,iBAAiB,CAAEP,CAAK,CAACO,iBAAN,EAA2BlB,wBAThD,CAUEmB,cAAc,CAAER,CAAK,CAACQ,cAAN,EAAwBX,qBAV1C,EAYD,CAED,MAAO,IAAMY,gBAAe,CAAG,SAACC,CAAD,CAAgBC,CAAhB,CAAmC,CAChE,GAAIC,EAAqC,CAAG,QAA5C,CAIA,MAHIF,EAAK,GAAKC,CAAM,CAAG,CAGvB,GAH0BC,CAAQ,CAAG,KAGrC,EAFc,CAAV,GAAAF,CAEJ,GAFiBE,CAAQ,CAAG,OAE5B,EAAOA,CACR,CANM,CAQP,MAAO,IAAMC,YAIF,CAAG,SAACC,CAAD,CAAYC,CAAZ,CAA2BC,CAA3B,CAAyC,CACrD,GAAIC,EAAI,CAAG,CAAX,CACA,GACEH,CAAS,EACTA,CAAS,CAACI,OADV,EAEAH,CAFA,EAGAA,CAAa,CAACG,OAJhB,CAKE,IACMC,EAAiB,CAAGL,CAAS,CAACI,OAAV,CAAkBE,qBAAlB,EAD1B,CAEMC,CAAqB,CAAGN,CAAa,CAACG,OAAd,CAAsBE,qBAAtB,EAF9B,CAIEH,CAJF,CAGkB,UAAd,GAAAD,CAHJ,CAKIK,CAAqB,CAACC,CAAtB,CACAH,CAAiB,CAACG,CADlB,CAEAD,CAAqB,CAACE,MAP1B,CAQYF,CAAqB,CAACG,CAAtB,CAA0BL,CAAiB,CAACK,CACzD,CACD,MAAOP,EACR,CAtBM,CAwBP,GAAMQ,WAAU,CAAG,SAACC,CAAD,CAAuC,CACxD,GAAIA,CAAG,CAACR,OAAR,CAAiB,CACf,MAA0BQ,CAAG,CAACR,OAAJ,CAAYE,qBAAZ,EAA1B,CAAQO,CAAR,GAAQA,KAAR,CAAeJ,CAAf,GAAeA,MAAf,CACA,MAAO,CAACI,CAAD,CAAQJ,CAAR,CACR,CACD,MAAO,CAAC,CAAD,CAAI,CAAJ,CACR,CAND,CAQA,MAAO,IAAMK,eAAc,CAAG,SAC5BC,CAD4B,CAE5Bb,CAF4B,CAGzB,CAEH,OADMc,EAAe,CAAG,EACxB,CAASC,CAAC,CAAG,CAAb,CAAgBA,CAAC,CAAGF,CAAI,CAAClB,MAAL,CAAc,CAAlC,CAAqCoB,CAAC,EAAtC,CAA0C,IAClCL,EAAG,CAAGG,CAAI,CAACE,CAAD,CADwB,CAElCC,CAAS,CAAGP,UAAU,CAACC,CAAD,CAFY,CAGlCO,CAAU,CAAGR,UAAU,CAACI,CAAI,CAACE,CAAC,CAAG,CAAL,CAAL,CAHW,CAIpCd,CAAI,CAAG,CAJ6B,CAMtCA,CANsC,CAK9B,CAAN,EAAAc,CALoC,CAOtB,YAAd,GAAAf,CAAS,CACLgB,CAAS,CAAC,CAAD,CAAT,CAAeC,CAAU,CAAC,CAAD,CAAV,CAAgB,CAD1B,CAELD,CAAS,CAAC,CAAD,CATuB,CAU7BD,CAAC,GAAKF,CAAI,CAAClB,MAAL,CAAc,CAVS,CAYtB,YAAd,GAAAK,CAAS,CACLgB,CAAS,CAAC,CAAD,CAAT,CAAe,CAAf,CAAmBC,CAAU,CAAC,CAAD,CADxB,CAELD,CAAS,CAAC,CAAD,CAAT,CAAe,CAdiB,CAiBtB,YAAd,GAAAhB,CAAS,CACLgB,CAAS,CAAC,CAAD,CAAT,CAAe,CAAf,CAAmBC,CAAU,CAAC,CAAD,CAAV,CAAgB,CAD9B,CAELD,CAAS,CAAC,CAAD,CAnBuB,CAqBxCF,CAAK,CAACI,IAAN,CAAWjB,CAAX,CACD,CAED,MAAOa,EACR,CA9BM,CAgCP,MAAO,IAAMK,qBAAoB,CAAG,SAClCxB,CADkC,CAElCD,CAFkC,CAG/B,OACEA,EADF,CAKS,CAAR,CAAAA,CALD,QASI0B,IAAI,CAACC,GAAL,CAAS3B,CAAT,CAAgBC,CAAM,CAAG,CAAzB,CATJ,CAEMD,CAQV,CAbM"}